[ Index ]

PHP Cross Reference of WordPress

title

Body

[close]

/wp-includes/js/dist/ -> block-library.js (source)

   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 = 361);
  86  /******/ })
  87  /************************************************************************/
  88  /******/ ({
  89  
  90  /***/ 0:
  91  /***/ (function(module, exports) {
  92  
  93  (function() { module.exports = this["wp"]["element"]; }());
  94  
  95  /***/ }),
  96  
  97  /***/ 1:
  98  /***/ (function(module, exports) {
  99  
 100  (function() { module.exports = this["wp"]["i18n"]; }());
 101  
 102  /***/ }),
 103  
 104  /***/ 10:
 105  /***/ (function(module, exports, __webpack_require__) {
 106  
 107  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
 108    Copyright (c) 2017 Jed Watson.
 109    Licensed under the MIT License (MIT), see
 110    http://jedwatson.github.io/classnames
 111  */
 112  /* global define */
 113  
 114  (function () {
 115      'use strict';
 116  
 117      var hasOwn = {}.hasOwnProperty;
 118  
 119  	function classNames () {
 120          var classes = [];
 121  
 122          for (var i = 0; i < arguments.length; i++) {
 123              var arg = arguments[i];
 124              if (!arg) continue;
 125  
 126              var argType = typeof arg;
 127  
 128              if (argType === 'string' || argType === 'number') {
 129                  classes.push(arg);
 130              } else if (Array.isArray(arg) && arg.length) {
 131                  var inner = classNames.apply(null, arg);
 132                  if (inner) {
 133                      classes.push(inner);
 134                  }
 135              } else if (argType === 'object') {
 136                  for (var key in arg) {
 137                      if (hasOwn.call(arg, key) && arg[key]) {
 138                          classes.push(key);
 139                      }
 140                  }
 141              }
 142          }
 143  
 144          return classes.join(' ');
 145      }
 146  
 147      if ( true && module.exports) {
 148          classNames.default = classNames;
 149          module.exports = classNames;
 150      } else if (true) {
 151          // register as 'classnames', consistent with npm package name
 152          !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
 153              return classNames;
 154          }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
 155                  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
 156      } else {}
 157  }());
 158  
 159  
 160  /***/ }),
 161  
 162  /***/ 11:
 163  /***/ (function(module, exports) {
 164  
 165  (function() { module.exports = this["wp"]["blocks"]; }());
 166  
 167  /***/ }),
 168  
 169  /***/ 12:
 170  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 171  
 172  "use strict";
 173  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });
 174  function _extends() {
 175    _extends = Object.assign || function (target) {
 176      for (var i = 1; i < arguments.length; i++) {
 177        var source = arguments[i];
 178  
 179        for (var key in source) {
 180          if (Object.prototype.hasOwnProperty.call(source, key)) {
 181            target[key] = source[key];
 182          }
 183        }
 184      }
 185  
 186      return target;
 187    };
 188  
 189    return _extends.apply(this, arguments);
 190  }
 191  
 192  /***/ }),
 193  
 194  /***/ 121:
 195  /***/ (function(module, exports, __webpack_require__) {
 196  
 197  /* WEBPACK VAR INJECTION */(function(module, global) {var __WEBPACK_AMD_DEFINE_RESULT__;/*! https://mths.be/punycode v1.3.2 by @mathias */
 198  ;(function(root) {
 199  
 200      /** Detect free variables */
 201      var freeExports =  true && exports &&
 202          !exports.nodeType && exports;
 203      var freeModule =  true && module &&
 204          !module.nodeType && module;
 205      var freeGlobal = typeof global == 'object' && global;
 206      if (
 207          freeGlobal.global === freeGlobal ||
 208          freeGlobal.window === freeGlobal ||
 209          freeGlobal.self === freeGlobal
 210      ) {
 211          root = freeGlobal;
 212      }
 213  
 214      /**
 215       * The `punycode` object.
 216       * @name punycode
 217       * @type Object
 218       */
 219      var punycode,
 220  
 221      /** Highest positive signed 32-bit float value */
 222      maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1
 223  
 224      /** Bootstring parameters */
 225      base = 36,
 226      tMin = 1,
 227      tMax = 26,
 228      skew = 38,
 229      damp = 700,
 230      initialBias = 72,
 231      initialN = 128, // 0x80
 232      delimiter = '-', // '\x2D'
 233  
 234      /** Regular expressions */
 235      regexPunycode = /^xn--/,
 236      regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars
 237      regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators
 238  
 239      /** Error messages */
 240      errors = {
 241          'overflow': 'Overflow: input needs wider integers to process',
 242          'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
 243          'invalid-input': 'Invalid input'
 244      },
 245  
 246      /** Convenience shortcuts */
 247      baseMinusTMin = base - tMin,
 248      floor = Math.floor,
 249      stringFromCharCode = String.fromCharCode,
 250  
 251      /** Temporary variable */
 252      key;
 253  
 254      /*--------------------------------------------------------------------------*/
 255  
 256      /**
 257       * A generic error utility function.
 258       * @private
 259       * @param {String} type The error type.
 260       * @returns {Error} Throws a `RangeError` with the applicable error message.
 261       */
 262  	function error(type) {
 263          throw RangeError(errors[type]);
 264      }
 265  
 266      /**
 267       * A generic `Array#map` utility function.
 268       * @private
 269       * @param {Array} array The array to iterate over.
 270       * @param {Function} callback The function that gets called for every array
 271       * item.
 272       * @returns {Array} A new array of values returned by the callback function.
 273       */
 274  	function map(array, fn) {
 275          var length = array.length;
 276          var result = [];
 277          while (length--) {
 278              result[length] = fn(array[length]);
 279          }
 280          return result;
 281      }
 282  
 283      /**
 284       * A simple `Array#map`-like wrapper to work with domain name strings or email
 285       * addresses.
 286       * @private
 287       * @param {String} domain The domain name or email address.
 288       * @param {Function} callback The function that gets called for every
 289       * character.
 290       * @returns {Array} A new string of characters returned by the callback
 291       * function.
 292       */
 293  	function mapDomain(string, fn) {
 294          var parts = string.split('@');
 295          var result = '';
 296          if (parts.length > 1) {
 297              // In email addresses, only the domain name should be punycoded. Leave
 298              // the local part (i.e. everything up to `@`) intact.
 299              result = parts[0] + '@';
 300              string = parts[1];
 301          }
 302          // Avoid `split(regex)` for IE8 compatibility. See #17.
 303          string = string.replace(regexSeparators, '\x2E');
 304          var labels = string.split('.');
 305          var encoded = map(labels, fn).join('.');
 306          return result + encoded;
 307      }
 308  
 309      /**
 310       * Creates an array containing the numeric code points of each Unicode
 311       * character in the string. While JavaScript uses UCS-2 internally,
 312       * this function will convert a pair of surrogate halves (each of which
 313       * UCS-2 exposes as separate characters) into a single code point,
 314       * matching UTF-16.
 315       * @see `punycode.ucs2.encode`
 316       * @see <https://mathiasbynens.be/notes/javascript-encoding>
 317       * @memberOf punycode.ucs2
 318       * @name decode
 319       * @param {String} string The Unicode input string (UCS-2).
 320       * @returns {Array} The new array of code points.
 321       */
 322  	function ucs2decode(string) {
 323          var output = [],
 324              counter = 0,
 325              length = string.length,
 326              value,
 327              extra;
 328          while (counter < length) {
 329              value = string.charCodeAt(counter++);
 330              if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
 331                  // high surrogate, and there is a next character
 332                  extra = string.charCodeAt(counter++);
 333                  if ((extra & 0xFC00) == 0xDC00) { // low surrogate
 334                      output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
 335                  } else {
 336                      // unmatched surrogate; only append this code unit, in case the next
 337                      // code unit is the high surrogate of a surrogate pair
 338                      output.push(value);
 339                      counter--;
 340                  }
 341              } else {
 342                  output.push(value);
 343              }
 344          }
 345          return output;
 346      }
 347  
 348      /**
 349       * Creates a string based on an array of numeric code points.
 350       * @see `punycode.ucs2.decode`
 351       * @memberOf punycode.ucs2
 352       * @name encode
 353       * @param {Array} codePoints The array of numeric code points.
 354       * @returns {String} The new Unicode string (UCS-2).
 355       */
 356  	function ucs2encode(array) {
 357          return map(array, function(value) {
 358              var output = '';
 359              if (value > 0xFFFF) {
 360                  value -= 0x10000;
 361                  output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
 362                  value = 0xDC00 | value & 0x3FF;
 363              }
 364              output += stringFromCharCode(value);
 365              return output;
 366          }).join('');
 367      }
 368  
 369      /**
 370       * Converts a basic code point into a digit/integer.
 371       * @see `digitToBasic()`
 372       * @private
 373       * @param {Number} codePoint The basic numeric code point value.
 374       * @returns {Number} The numeric value of a basic code point (for use in
 375       * representing integers) in the range `0` to `base - 1`, or `base` if
 376       * the code point does not represent a value.
 377       */
 378  	function basicToDigit(codePoint) {
 379          if (codePoint - 48 < 10) {
 380              return codePoint - 22;
 381          }
 382          if (codePoint - 65 < 26) {
 383              return codePoint - 65;
 384          }
 385          if (codePoint - 97 < 26) {
 386              return codePoint - 97;
 387          }
 388          return base;
 389      }
 390  
 391      /**
 392       * Converts a digit/integer into a basic code point.
 393       * @see `basicToDigit()`
 394       * @private
 395       * @param {Number} digit The numeric value of a basic code point.
 396       * @returns {Number} The basic code point whose value (when used for
 397       * representing integers) is `digit`, which needs to be in the range
 398       * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
 399       * used; else, the lowercase form is used. The behavior is undefined
 400       * if `flag` is non-zero and `digit` has no uppercase form.
 401       */
 402  	function digitToBasic(digit, flag) {
 403          //  0..25 map to ASCII a..z or A..Z
 404          // 26..35 map to ASCII 0..9
 405          return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
 406      }
 407  
 408      /**
 409       * Bias adaptation function as per section 3.4 of RFC 3492.
 410       * http://tools.ietf.org/html/rfc3492#section-3.4
 411       * @private
 412       */
 413  	function adapt(delta, numPoints, firstTime) {
 414          var k = 0;
 415          delta = firstTime ? floor(delta / damp) : delta >> 1;
 416          delta += floor(delta / numPoints);
 417          for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
 418              delta = floor(delta / baseMinusTMin);
 419          }
 420          return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
 421      }
 422  
 423      /**
 424       * Converts a Punycode string of ASCII-only symbols to a string of Unicode
 425       * symbols.
 426       * @memberOf punycode
 427       * @param {String} input The Punycode string of ASCII-only symbols.
 428       * @returns {String} The resulting string of Unicode symbols.
 429       */
 430  	function decode(input) {
 431          // Don't use UCS-2
 432          var output = [],
 433              inputLength = input.length,
 434              out,
 435              i = 0,
 436              n = initialN,
 437              bias = initialBias,
 438              basic,
 439              j,
 440              index,
 441              oldi,
 442              w,
 443              k,
 444              digit,
 445              t,
 446              /** Cached calculation results */
 447              baseMinusT;
 448  
 449          // Handle the basic code points: let `basic` be the number of input code
 450          // points before the last delimiter, or `0` if there is none, then copy
 451          // the first basic code points to the output.
 452  
 453          basic = input.lastIndexOf(delimiter);
 454          if (basic < 0) {
 455              basic = 0;
 456          }
 457  
 458          for (j = 0; j < basic; ++j) {
 459              // if it's not a basic code point
 460              if (input.charCodeAt(j) >= 0x80) {
 461                  error('not-basic');
 462              }
 463              output.push(input.charCodeAt(j));
 464          }
 465  
 466          // Main decoding loop: start just after the last delimiter if any basic code
 467          // points were copied; start at the beginning otherwise.
 468  
 469          for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
 470  
 471              // `index` is the index of the next character to be consumed.
 472              // Decode a generalized variable-length integer into `delta`,
 473              // which gets added to `i`. The overflow checking is easier
 474              // if we increase `i` as we go, then subtract off its starting
 475              // value at the end to obtain `delta`.
 476              for (oldi = i, w = 1, k = base; /* no condition */; k += base) {
 477  
 478                  if (index >= inputLength) {
 479                      error('invalid-input');
 480                  }
 481  
 482                  digit = basicToDigit(input.charCodeAt(index++));
 483  
 484                  if (digit >= base || digit > floor((maxInt - i) / w)) {
 485                      error('overflow');
 486                  }
 487  
 488                  i += digit * w;
 489                  t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
 490  
 491                  if (digit < t) {
 492                      break;
 493                  }
 494  
 495                  baseMinusT = base - t;
 496                  if (w > floor(maxInt / baseMinusT)) {
 497                      error('overflow');
 498                  }
 499  
 500                  w *= baseMinusT;
 501  
 502              }
 503  
 504              out = output.length + 1;
 505              bias = adapt(i - oldi, out, oldi == 0);
 506  
 507              // `i` was supposed to wrap around from `out` to `0`,
 508              // incrementing `n` each time, so we'll fix that now:
 509              if (floor(i / out) > maxInt - n) {
 510                  error('overflow');
 511              }
 512  
 513              n += floor(i / out);
 514              i %= out;
 515  
 516              // Insert `n` at position `i` of the output
 517              output.splice(i++, 0, n);
 518  
 519          }
 520  
 521          return ucs2encode(output);
 522      }
 523  
 524      /**
 525       * Converts a string of Unicode symbols (e.g. a domain name label) to a
 526       * Punycode string of ASCII-only symbols.
 527       * @memberOf punycode
 528       * @param {String} input The string of Unicode symbols.
 529       * @returns {String} The resulting Punycode string of ASCII-only symbols.
 530       */
 531  	function encode(input) {
 532          var n,
 533              delta,
 534              handledCPCount,
 535              basicLength,
 536              bias,
 537              j,
 538              m,
 539              q,
 540              k,
 541              t,
 542              currentValue,
 543              output = [],
 544              /** `inputLength` will hold the number of code points in `input`. */
 545              inputLength,
 546              /** Cached calculation results */
 547              handledCPCountPlusOne,
 548              baseMinusT,
 549              qMinusT;
 550  
 551          // Convert the input in UCS-2 to Unicode
 552          input = ucs2decode(input);
 553  
 554          // Cache the length
 555          inputLength = input.length;
 556  
 557          // Initialize the state
 558          n = initialN;
 559          delta = 0;
 560          bias = initialBias;
 561  
 562          // Handle the basic code points
 563          for (j = 0; j < inputLength; ++j) {
 564              currentValue = input[j];
 565              if (currentValue < 0x80) {
 566                  output.push(stringFromCharCode(currentValue));
 567              }
 568          }
 569  
 570          handledCPCount = basicLength = output.length;
 571  
 572          // `handledCPCount` is the number of code points that have been handled;
 573          // `basicLength` is the number of basic code points.
 574  
 575          // Finish the basic string - if it is not empty - with a delimiter
 576          if (basicLength) {
 577              output.push(delimiter);
 578          }
 579  
 580          // Main encoding loop:
 581          while (handledCPCount < inputLength) {
 582  
 583              // All non-basic code points < n have been handled already. Find the next
 584              // larger one:
 585              for (m = maxInt, j = 0; j < inputLength; ++j) {
 586                  currentValue = input[j];
 587                  if (currentValue >= n && currentValue < m) {
 588                      m = currentValue;
 589                  }
 590              }
 591  
 592              // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
 593              // but guard against overflow
 594              handledCPCountPlusOne = handledCPCount + 1;
 595              if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
 596                  error('overflow');
 597              }
 598  
 599              delta += (m - n) * handledCPCountPlusOne;
 600              n = m;
 601  
 602              for (j = 0; j < inputLength; ++j) {
 603                  currentValue = input[j];
 604  
 605                  if (currentValue < n && ++delta > maxInt) {
 606                      error('overflow');
 607                  }
 608  
 609                  if (currentValue == n) {
 610                      // Represent delta as a generalized variable-length integer
 611                      for (q = delta, k = base; /* no condition */; k += base) {
 612                          t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
 613                          if (q < t) {
 614                              break;
 615                          }
 616                          qMinusT = q - t;
 617                          baseMinusT = base - t;
 618                          output.push(
 619                              stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
 620                          );
 621                          q = floor(qMinusT / baseMinusT);
 622                      }
 623  
 624                      output.push(stringFromCharCode(digitToBasic(q, 0)));
 625                      bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
 626                      delta = 0;
 627                      ++handledCPCount;
 628                  }
 629              }
 630  
 631              ++delta;
 632              ++n;
 633  
 634          }
 635          return output.join('');
 636      }
 637  
 638      /**
 639       * Converts a Punycode string representing a domain name or an email address
 640       * to Unicode. Only the Punycoded parts of the input will be converted, i.e.
 641       * it doesn't matter if you call it on a string that has already been
 642       * converted to Unicode.
 643       * @memberOf punycode
 644       * @param {String} input The Punycoded domain name or email address to
 645       * convert to Unicode.
 646       * @returns {String} The Unicode representation of the given Punycode
 647       * string.
 648       */
 649  	function toUnicode(input) {
 650          return mapDomain(input, function(string) {
 651              return regexPunycode.test(string)
 652                  ? decode(string.slice(4).toLowerCase())
 653                  : string;
 654          });
 655      }
 656  
 657      /**
 658       * Converts a Unicode string representing a domain name or an email address to
 659       * Punycode. Only the non-ASCII parts of the domain name will be converted,
 660       * i.e. it doesn't matter if you call it with a domain that's already in
 661       * ASCII.
 662       * @memberOf punycode
 663       * @param {String} input The domain name or email address to convert, as a
 664       * Unicode string.
 665       * @returns {String} The Punycode representation of the given domain name or
 666       * email address.
 667       */
 668  	function toASCII(input) {
 669          return mapDomain(input, function(string) {
 670              return regexNonASCII.test(string)
 671                  ? 'xn--' + encode(string)
 672                  : string;
 673          });
 674      }
 675  
 676      /*--------------------------------------------------------------------------*/
 677  
 678      /** Define the public API */
 679      punycode = {
 680          /**
 681           * A string representing the current Punycode.js version number.
 682           * @memberOf punycode
 683           * @type String
 684           */
 685          'version': '1.3.2',
 686          /**
 687           * An object of methods to convert from JavaScript's internal character
 688           * representation (UCS-2) to Unicode code points, and back.
 689           * @see <https://mathiasbynens.be/notes/javascript-encoding>
 690           * @memberOf punycode
 691           * @type Object
 692           */
 693          'ucs2': {
 694              'decode': ucs2decode,
 695              'encode': ucs2encode
 696          },
 697          'decode': decode,
 698          'encode': encode,
 699          'toASCII': toASCII,
 700          'toUnicode': toUnicode
 701      };
 702  
 703      /** Expose `punycode` */
 704      // Some AMD build optimizers, like r.js, check for specific condition patterns
 705      // like the following:
 706      if (
 707          true
 708      ) {
 709          !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {
 710              return punycode;
 711          }).call(exports, __webpack_require__, exports, module),
 712                  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
 713      } else {}
 714  
 715  }(this));
 716  
 717  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(122)(module), __webpack_require__(63)))
 718  
 719  /***/ }),
 720  
 721  /***/ 122:
 722  /***/ (function(module, exports) {
 723  
 724  module.exports = function(module) {
 725      if (!module.webpackPolyfill) {
 726          module.deprecate = function() {};
 727          module.paths = [];
 728          // module.parent = undefined by default
 729          if (!module.children) module.children = [];
 730          Object.defineProperty(module, "loaded", {
 731              enumerable: true,
 732              get: function() {
 733                  return module.l;
 734              }
 735          });
 736          Object.defineProperty(module, "id", {
 737              enumerable: true,
 738              get: function() {
 739                  return module.i;
 740              }
 741          });
 742          module.webpackPolyfill = 1;
 743      }
 744      return module;
 745  };
 746  
 747  
 748  /***/ }),
 749  
 750  /***/ 123:
 751  /***/ (function(module, exports, __webpack_require__) {
 752  
 753  "use strict";
 754  
 755  
 756  module.exports = {
 757    isString: function(arg) {
 758      return typeof(arg) === 'string';
 759    },
 760    isObject: function(arg) {
 761      return typeof(arg) === 'object' && arg !== null;
 762    },
 763    isNull: function(arg) {
 764      return arg === null;
 765    },
 766    isNullOrUndefined: function(arg) {
 767      return arg == null;
 768    }
 769  };
 770  
 771  
 772  /***/ }),
 773  
 774  /***/ 124:
 775  /***/ (function(module, exports, __webpack_require__) {
 776  
 777  "use strict";
 778  
 779  
 780  exports.decode = exports.parse = __webpack_require__(125);
 781  exports.encode = exports.stringify = __webpack_require__(126);
 782  
 783  
 784  /***/ }),
 785  
 786  /***/ 125:
 787  /***/ (function(module, exports, __webpack_require__) {
 788  
 789  "use strict";
 790  // Copyright Joyent, Inc. and other Node contributors.
 791  //
 792  // Permission is hereby granted, free of charge, to any person obtaining a
 793  // copy of this software and associated documentation files (the
 794  // "Software"), to deal in the Software without restriction, including
 795  // without limitation the rights to use, copy, modify, merge, publish,
 796  // distribute, sublicense, and/or sell copies of the Software, and to permit
 797  // persons to whom the Software is furnished to do so, subject to the
 798  // following conditions:
 799  //
 800  // The above copyright notice and this permission notice shall be included
 801  // in all copies or substantial portions of the Software.
 802  //
 803  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 804  // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 805  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
 806  // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
 807  // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 808  // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 809  // USE OR OTHER DEALINGS IN THE SOFTWARE.
 810  
 811  
 812  
 813  // If obj.hasOwnProperty has been overridden, then calling
 814  // obj.hasOwnProperty(prop) will break.
 815  // See: https://github.com/joyent/node/issues/1707
 816  function hasOwnProperty(obj, prop) {
 817    return Object.prototype.hasOwnProperty.call(obj, prop);
 818  }
 819  
 820  module.exports = function(qs, sep, eq, options) {
 821    sep = sep || '&';
 822    eq = eq || '=';
 823    var obj = {};
 824  
 825    if (typeof qs !== 'string' || qs.length === 0) {
 826      return obj;
 827    }
 828  
 829    var regexp = /\+/g;
 830    qs = qs.split(sep);
 831  
 832    var maxKeys = 1000;
 833    if (options && typeof options.maxKeys === 'number') {
 834      maxKeys = options.maxKeys;
 835    }
 836  
 837    var len = qs.length;
 838    // maxKeys <= 0 means that we should not limit keys count
 839    if (maxKeys > 0 && len > maxKeys) {
 840      len = maxKeys;
 841    }
 842  
 843    for (var i = 0; i < len; ++i) {
 844      var x = qs[i].replace(regexp, '%20'),
 845          idx = x.indexOf(eq),
 846          kstr, vstr, k, v;
 847  
 848      if (idx >= 0) {
 849        kstr = x.substr(0, idx);
 850        vstr = x.substr(idx + 1);
 851      } else {
 852        kstr = x;
 853        vstr = '';
 854      }
 855  
 856      k = decodeURIComponent(kstr);
 857      v = decodeURIComponent(vstr);
 858  
 859      if (!hasOwnProperty(obj, k)) {
 860        obj[k] = v;
 861      } else if (isArray(obj[k])) {
 862        obj[k].push(v);
 863      } else {
 864        obj[k] = [obj[k], v];
 865      }
 866    }
 867  
 868    return obj;
 869  };
 870  
 871  var isArray = Array.isArray || function (xs) {
 872    return Object.prototype.toString.call(xs) === '[object Array]';
 873  };
 874  
 875  
 876  /***/ }),
 877  
 878  /***/ 126:
 879  /***/ (function(module, exports, __webpack_require__) {
 880  
 881  "use strict";
 882  // Copyright Joyent, Inc. and other Node contributors.
 883  //
 884  // Permission is hereby granted, free of charge, to any person obtaining a
 885  // copy of this software and associated documentation files (the
 886  // "Software"), to deal in the Software without restriction, including
 887  // without limitation the rights to use, copy, modify, merge, publish,
 888  // distribute, sublicense, and/or sell copies of the Software, and to permit
 889  // persons to whom the Software is furnished to do so, subject to the
 890  // following conditions:
 891  //
 892  // The above copyright notice and this permission notice shall be included
 893  // in all copies or substantial portions of the Software.
 894  //
 895  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 896  // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 897  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
 898  // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
 899  // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 900  // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 901  // USE OR OTHER DEALINGS IN THE SOFTWARE.
 902  
 903  
 904  
 905  var stringifyPrimitive = function(v) {
 906    switch (typeof v) {
 907      case 'string':
 908        return v;
 909  
 910      case 'boolean':
 911        return v ? 'true' : 'false';
 912  
 913      case 'number':
 914        return isFinite(v) ? v : '';
 915  
 916      default:
 917        return '';
 918    }
 919  };
 920  
 921  module.exports = function(obj, sep, eq, name) {
 922    sep = sep || '&';
 923    eq = eq || '=';
 924    if (obj === null) {
 925      obj = undefined;
 926    }
 927  
 928    if (typeof obj === 'object') {
 929      return map(objectKeys(obj), function(k) {
 930        var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;
 931        if (isArray(obj[k])) {
 932          return map(obj[k], function(v) {
 933            return ks + encodeURIComponent(stringifyPrimitive(v));
 934          }).join(sep);
 935        } else {
 936          return ks + encodeURIComponent(stringifyPrimitive(obj[k]));
 937        }
 938      }).join(sep);
 939  
 940    }
 941  
 942    if (!name) return '';
 943    return encodeURIComponent(stringifyPrimitive(name)) + eq +
 944           encodeURIComponent(stringifyPrimitive(obj));
 945  };
 946  
 947  var isArray = Array.isArray || function (xs) {
 948    return Object.prototype.toString.call(xs) === '[object Array]';
 949  };
 950  
 951  function map (xs, f) {
 952    if (xs.map) return xs.map(f);
 953    var res = [];
 954    for (var i = 0; i < xs.length; i++) {
 955      res.push(f(xs[i], i));
 956    }
 957    return res;
 958  }
 959  
 960  var objectKeys = Object.keys || function (obj) {
 961    var res = [];
 962    for (var key in obj) {
 963      if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);
 964    }
 965    return res;
 966  };
 967  
 968  
 969  /***/ }),
 970  
 971  /***/ 13:
 972  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 973  
 974  "use strict";
 975  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _createClass; });
 976  function _defineProperties(target, props) {
 977    for (var i = 0; i < props.length; i++) {
 978      var descriptor = props[i];
 979      descriptor.enumerable = descriptor.enumerable || false;
 980      descriptor.configurable = true;
 981      if ("value" in descriptor) descriptor.writable = true;
 982      Object.defineProperty(target, descriptor.key, descriptor);
 983    }
 984  }
 985  
 986  function _createClass(Constructor, protoProps, staticProps) {
 987    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
 988    if (staticProps) _defineProperties(Constructor, staticProps);
 989    return Constructor;
 990  }
 991  
 992  /***/ }),
 993  
 994  /***/ 14:
 995  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 996  
 997  "use strict";
 998  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _classCallCheck; });
 999  function _classCallCheck(instance, Constructor) {
1000    if (!(instance instanceof Constructor)) {
1001      throw new TypeError("Cannot call a class as a function");
1002    }
1003  }
1004  
1005  /***/ }),
1006  
1007  /***/ 15:
1008  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1009  
1010  "use strict";
1011  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _possibleConstructorReturn; });
1012  /* harmony import */ var _helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32);
1013  /* harmony import */ var _assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
1014  
1015  
1016  function _possibleConstructorReturn(self, call) {
1017    if (call && (Object(_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(call) === "object" || typeof call === "function")) {
1018      return call;
1019    }
1020  
1021    return Object(_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(self);
1022  }
1023  
1024  /***/ }),
1025  
1026  /***/ 16:
1027  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1028  
1029  "use strict";
1030  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _getPrototypeOf; });
1031  function _getPrototypeOf(o) {
1032    _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
1033      return o.__proto__ || Object.getPrototypeOf(o);
1034    };
1035    return _getPrototypeOf(o);
1036  }
1037  
1038  /***/ }),
1039  
1040  /***/ 17:
1041  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1042  
1043  "use strict";
1044  
1045  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
1046  function _setPrototypeOf(o, p) {
1047    _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
1048      o.__proto__ = p;
1049      return o;
1050    };
1051  
1052    return _setPrototypeOf(o, p);
1053  }
1054  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
1055  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _inherits; });
1056  
1057  function _inherits(subClass, superClass) {
1058    if (typeof superClass !== "function" && superClass !== null) {
1059      throw new TypeError("Super expression must either be null or a function");
1060    }
1061  
1062    subClass.prototype = Object.create(superClass && superClass.prototype, {
1063      constructor: {
1064        value: subClass,
1065        writable: true,
1066        configurable: true
1067      }
1068    });
1069    if (superClass) _setPrototypeOf(subClass, superClass);
1070  }
1071  
1072  /***/ }),
1073  
1074  /***/ 18:
1075  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1076  
1077  "use strict";
1078  
1079  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
1080  function _arrayWithoutHoles(arr) {
1081    if (Array.isArray(arr)) {
1082      for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {
1083        arr2[i] = arr[i];
1084      }
1085  
1086      return arr2;
1087    }
1088  }
1089  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
1090  var iterableToArray = __webpack_require__(31);
1091  
1092  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
1093  function _nonIterableSpread() {
1094    throw new TypeError("Invalid attempt to spread non-iterable instance");
1095  }
1096  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
1097  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _toConsumableArray; });
1098  
1099  
1100  
1101  function _toConsumableArray(arr) {
1102    return _arrayWithoutHoles(arr) || Object(iterableToArray["a" /* default */])(arr) || _nonIterableSpread();
1103  }
1104  
1105  /***/ }),
1106  
1107  /***/ 19:
1108  /***/ (function(module, exports) {
1109  
1110  (function() { module.exports = this["wp"]["keycodes"]; }());
1111  
1112  /***/ }),
1113  
1114  /***/ 2:
1115  /***/ (function(module, exports) {
1116  
1117  (function() { module.exports = this["lodash"]; }());
1118  
1119  /***/ }),
1120  
1121  /***/ 20:
1122  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1123  
1124  "use strict";
1125  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; });
1126  /* harmony import */ var _objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40);
1127  
1128  function _objectWithoutProperties(source, excluded) {
1129    if (source == null) return {};
1130    var target = Object(_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(source, excluded);
1131    var key, i;
1132  
1133    if (Object.getOwnPropertySymbols) {
1134      var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
1135  
1136      for (i = 0; i < sourceSymbolKeys.length; i++) {
1137        key = sourceSymbolKeys[i];
1138        if (excluded.indexOf(key) >= 0) continue;
1139        if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
1140        target[key] = source[key];
1141      }
1142    }
1143  
1144    return target;
1145  }
1146  
1147  /***/ }),
1148  
1149  /***/ 219:
1150  /***/ (function(module, exports, __webpack_require__) {
1151  
1152  /*! Fast Average Color | © 2019 Denis Seleznev | MIT License | https://github.com/hcodes/fast-average-color/ */
1153  (function (global, factory) {
1154       true ? module.exports = factory() :
1155      undefined;
1156  }(this, (function () { 'use strict';
1157  
1158  function _classCallCheck(instance, Constructor) {
1159    if (!(instance instanceof Constructor)) {
1160      throw new TypeError("Cannot call a class as a function");
1161    }
1162  }
1163  
1164  function _defineProperties(target, props) {
1165    for (var i = 0; i < props.length; i++) {
1166      var descriptor = props[i];
1167      descriptor.enumerable = descriptor.enumerable || false;
1168      descriptor.configurable = true;
1169      if ("value" in descriptor) descriptor.writable = true;
1170      Object.defineProperty(target, descriptor.key, descriptor);
1171    }
1172  }
1173  
1174  function _createClass(Constructor, protoProps, staticProps) {
1175    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
1176    if (staticProps) _defineProperties(Constructor, staticProps);
1177    return Constructor;
1178  }
1179  
1180  function _slicedToArray(arr, i) {
1181    return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
1182  }
1183  
1184  function _arrayWithHoles(arr) {
1185    if (Array.isArray(arr)) return arr;
1186  }
1187  
1188  function _iterableToArrayLimit(arr, i) {
1189    var _arr = [];
1190    var _n = true;
1191    var _d = false;
1192    var _e = undefined;
1193  
1194    try {
1195      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
1196        _arr.push(_s.value);
1197  
1198        if (i && _arr.length === i) break;
1199      }
1200    } catch (err) {
1201      _d = true;
1202      _e = err;
1203    } finally {
1204      try {
1205        if (!_n && _i["return"] != null) _i["return"]();
1206      } finally {
1207        if (_d) throw _e;
1208      }
1209    }
1210  
1211    return _arr;
1212  }
1213  
1214  function _nonIterableRest() {
1215    throw new TypeError("Invalid attempt to destructure non-iterable instance");
1216  }
1217  
1218  var FastAverageColor =
1219  /*#__PURE__*/
1220  function () {
1221    function FastAverageColor() {
1222      _classCallCheck(this, FastAverageColor);
1223    }
1224  
1225    _createClass(FastAverageColor, [{
1226      key: "getColorAsync",
1227  
1228      /**
1229       * Get asynchronously the average color from not loaded image.
1230       *
1231       * @param {HTMLImageElement} resource
1232       * @param {Function} callback
1233       * @param {Object|null} [options]
1234       * @param {Array}  [options.defaultColor=[255, 255, 255, 255]]
1235       * @param {*}      [options.data]
1236       * @param {string} [options.mode="speed"] "precision" or "speed"
1237       * @param {string} [options.algorithm="sqrt"] "simple", "sqrt" or "dominant"
1238       * @param {number} [options.step=1]
1239       * @param {number} [options.left=0]
1240       * @param {number} [options.top=0]
1241       * @param {number} [options.width=width of resource]
1242       * @param {number} [options.height=height of resource]
1243       */
1244      value: function getColorAsync(resource, callback, options) {
1245        if (resource.complete) {
1246          callback.call(resource, this.getColor(resource, options), options && options.data);
1247        } else {
1248          this._bindImageEvents(resource, callback, options);
1249        }
1250      }
1251      /**
1252       * Get the average color from images, videos and canvas.
1253       *
1254       * @param {HTMLImageElement|HTMLVideoElement|HTMLCanvasElement} resource
1255       * @param {Object|null} [options]
1256       * @param {Array}  [options.defaultColor=[255, 255, 255, 255]]
1257       * @param {*}      [options.data]
1258       * @param {string} [options.mode="speed"] "precision" or "speed"
1259       * @param {string} [options.algorithm="sqrt"] "simple", "sqrt" or "dominant"
1260       * @param {number} [options.step=1]
1261       * @param {number} [options.left=0]
1262       * @param {number} [options.top=0]
1263       * @param {number} [options.width=width of resource]
1264       * @param {number} [options.height=height of resource]
1265       *
1266       * @returns {Object}
1267       */
1268  
1269    }, {
1270      key: "getColor",
1271      value: function getColor(resource, options) {
1272        options = options || {};
1273  
1274        var defaultColor = this._getDefaultColor(options),
1275            originalSize = this._getOriginalSize(resource),
1276            size = this._prepareSizeAndPosition(originalSize, options);
1277  
1278        var error = null,
1279            value = defaultColor;
1280  
1281        if (!size.srcWidth || !size.srcHeight || !size.destWidth || !size.destHeight) {
1282          return this._prepareResult(defaultColor, new Error('FastAverageColor: Incorrect sizes.'));
1283        }
1284  
1285        if (!this._ctx) {
1286          this._canvas = this._makeCanvas();
1287          this._ctx = this._canvas.getContext && this._canvas.getContext('2d');
1288  
1289          if (!this._ctx) {
1290            return this._prepareResult(defaultColor, new Error('FastAverageColor: Canvas Context 2D is not supported in this browser.'));
1291          }
1292        }
1293  
1294        this._canvas.width = size.destWidth;
1295        this._canvas.height = size.destHeight;
1296  
1297        try {
1298          this._ctx.clearRect(0, 0, size.destWidth, size.destHeight);
1299  
1300          this._ctx.drawImage(resource, size.srcLeft, size.srcTop, size.srcWidth, size.srcHeight, 0, 0, size.destWidth, size.destHeight);
1301  
1302          var bitmapData = this._ctx.getImageData(0, 0, size.destWidth, size.destHeight).data;
1303  
1304          value = this.getColorFromArray4(bitmapData, options);
1305        } catch (e) {
1306          // Security error, CORS
1307          // https://developer.mozilla.org/en/docs/Web/HTML/CORS_enabled_image
1308          error = e;
1309        }
1310  
1311        return this._prepareResult(value, error);
1312      }
1313      /**
1314       * Get the average color from a array when 1 pixel is 4 bytes.
1315       *
1316       * @param {Array|Uint8Array} arr
1317       * @param {Object} [options]
1318       * @param {string} [options.algorithm="sqrt"] "simple", "sqrt" or "dominant"
1319       * @param {Array}  [options.defaultColor=[255, 255, 255, 255]]
1320       * @param {number} [options.step=1]
1321       *
1322       * @returns {Array} [red (0-255), green (0-255), blue (0-255), alpha (0-255)]
1323       */
1324  
1325    }, {
1326      key: "getColorFromArray4",
1327      value: function getColorFromArray4(arr, options) {
1328        options = options || {};
1329        var bytesPerPixel = 4,
1330            arrLength = arr.length;
1331  
1332        if (arrLength < bytesPerPixel) {
1333          return this._getDefaultColor(options);
1334        }
1335  
1336        var len = arrLength - arrLength % bytesPerPixel,
1337            preparedStep = (options.step || 1) * bytesPerPixel,
1338            algorithm = '_' + (options.algorithm || 'sqrt') + 'Algorithm';
1339  
1340        if (typeof this[algorithm] !== 'function') {
1341          throw new Error("FastAverageColor: ".concat(options.algorithm, " is unknown algorithm."));
1342        }
1343  
1344        return this[algorithm](arr, len, preparedStep);
1345      }
1346      /**
1347       * Destroy the instance.
1348       */
1349  
1350    }, {
1351      key: "destroy",
1352      value: function destroy() {
1353        delete this._canvas;
1354        delete this._ctx;
1355      }
1356    }, {
1357      key: "_getDefaultColor",
1358      value: function _getDefaultColor(options) {
1359        return this._getOption(options, 'defaultColor', [255, 255, 255, 255]);
1360      }
1361    }, {
1362      key: "_getOption",
1363      value: function _getOption(options, name, defaultValue) {
1364        return typeof options[name] === 'undefined' ? defaultValue : options[name];
1365      }
1366    }, {
1367      key: "_prepareSizeAndPosition",
1368      value: function _prepareSizeAndPosition(originalSize, options) {
1369        var srcLeft = this._getOption(options, 'left', 0),
1370            srcTop = this._getOption(options, 'top', 0),
1371            srcWidth = this._getOption(options, 'width', originalSize.width),
1372            srcHeight = this._getOption(options, 'height', originalSize.height),
1373            destWidth = srcWidth,
1374            destHeight = srcHeight;
1375  
1376        if (options.mode === 'precision') {
1377          return {
1378            srcLeft: srcLeft,
1379            srcTop: srcTop,
1380            srcWidth: srcWidth,
1381            srcHeight: srcHeight,
1382            destWidth: destWidth,
1383            destHeight: destHeight
1384          };
1385        }
1386  
1387        var maxSize = 100,
1388            minSize = 10;
1389        var factor;
1390  
1391        if (srcWidth > srcHeight) {
1392          factor = srcWidth / srcHeight;
1393          destWidth = maxSize;
1394          destHeight = Math.round(destWidth / factor);
1395        } else {
1396          factor = srcHeight / srcWidth;
1397          destHeight = maxSize;
1398          destWidth = Math.round(destHeight / factor);
1399        }
1400  
1401        if (destWidth > srcWidth || destHeight > srcHeight || destWidth < minSize || destHeight < minSize) {
1402          destWidth = srcWidth;
1403          destHeight = srcHeight;
1404        }
1405  
1406        return {
1407          srcLeft: srcLeft,
1408          srcTop: srcTop,
1409          srcWidth: srcWidth,
1410          srcHeight: srcHeight,
1411          destWidth: destWidth,
1412          destHeight: destHeight
1413        };
1414      }
1415    }, {
1416      key: "_simpleAlgorithm",
1417      value: function _simpleAlgorithm(arr, len, preparedStep) {
1418        var redTotal = 0,
1419            greenTotal = 0,
1420            blueTotal = 0,
1421            alphaTotal = 0,
1422            count = 0;
1423  
1424        for (var i = 0; i < len; i += preparedStep) {
1425          var alpha = arr[i + 3],
1426              red = arr[i] * alpha,
1427              green = arr[i + 1] * alpha,
1428              blue = arr[i + 2] * alpha;
1429          redTotal += red;
1430          greenTotal += green;
1431          blueTotal += blue;
1432          alphaTotal += alpha;
1433          count++;
1434        }
1435  
1436        return alphaTotal ? [Math.round(redTotal / alphaTotal), Math.round(greenTotal / alphaTotal), Math.round(blueTotal / alphaTotal), Math.round(alphaTotal / count)] : [0, 0, 0, 0];
1437      }
1438    }, {
1439      key: "_sqrtAlgorithm",
1440      value: function _sqrtAlgorithm(arr, len, preparedStep) {
1441        var redTotal = 0,
1442            greenTotal = 0,
1443            blueTotal = 0,
1444            alphaTotal = 0,
1445            count = 0;
1446  
1447        for (var i = 0; i < len; i += preparedStep) {
1448          var red = arr[i],
1449              green = arr[i + 1],
1450              blue = arr[i + 2],
1451              alpha = arr[i + 3];
1452          redTotal += red * red * alpha;
1453          greenTotal += green * green * alpha;
1454          blueTotal += blue * blue * alpha;
1455          alphaTotal += alpha;
1456          count++;
1457        }
1458  
1459        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];
1460      }
1461    }, {
1462      key: "_dominantAlgorithm",
1463      value: function _dominantAlgorithm(arr, len, preparedStep) {
1464        var colorHash = {},
1465            divider = 24;
1466  
1467        for (var i = 0; i < len; i += preparedStep) {
1468          var red = arr[i],
1469              green = arr[i + 1],
1470              blue = arr[i + 2],
1471              alpha = arr[i + 3],
1472              key = Math.round(red / divider) + ',' + Math.round(green / divider) + ',' + Math.round(blue / divider);
1473  
1474          if (colorHash[key]) {
1475            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];
1476          } else {
1477            colorHash[key] = [red * alpha, green * alpha, blue * alpha, alpha, 1];
1478          }
1479        }
1480  
1481        var buffer = Object.keys(colorHash).map(function (key) {
1482          return colorHash[key];
1483        }).sort(function (a, b) {
1484          var countA = a[4],
1485              countB = b[4];
1486          return countA > countB ? -1 : countA === countB ? 0 : 1;
1487        });
1488  
1489        var _buffer$ = _slicedToArray(buffer[0], 5),
1490            redTotal = _buffer$[0],
1491            greenTotal = _buffer$[1],
1492            blueTotal = _buffer$[2],
1493            alphaTotal = _buffer$[3],
1494            count = _buffer$[4];
1495  
1496        return alphaTotal ? [Math.round(redTotal / alphaTotal), Math.round(greenTotal / alphaTotal), Math.round(blueTotal / alphaTotal), Math.round(alphaTotal / count)] : [0, 0, 0, 0];
1497      }
1498    }, {
1499      key: "_bindImageEvents",
1500      value: function _bindImageEvents(resource, callback, options) {
1501        var _this = this;
1502  
1503        options = options || {};
1504  
1505        var data = options && options.data,
1506            defaultColor = this._getDefaultColor(options),
1507            onload = function onload() {
1508          unbindEvents();
1509          callback.call(resource, _this.getColor(resource, options), data);
1510        },
1511            onerror = function onerror() {
1512          unbindEvents();
1513          callback.call(resource, _this._prepareResult(defaultColor, new Error('Image error')), data);
1514        },
1515            onabort = function onabort() {
1516          unbindEvents();
1517          callback.call(resource, _this._prepareResult(defaultColor, new Error('Image abort')), data);
1518        },
1519            unbindEvents = function unbindEvents() {
1520          resource.removeEventListener('load', onload);
1521          resource.removeEventListener('error', onerror);
1522          resource.removeEventListener('abort', onabort);
1523        };
1524  
1525        resource.addEventListener('load', onload);
1526        resource.addEventListener('error', onerror);
1527        resource.addEventListener('abort', onabort);
1528      }
1529    }, {
1530      key: "_prepareResult",
1531      value: function _prepareResult(value, error) {
1532        var rgb = value.slice(0, 3),
1533            rgba = [].concat(rgb, value[3] / 255),
1534            isDark = this._isDark(value);
1535  
1536        return {
1537          error: error,
1538          value: value,
1539          rgb: 'rgb(' + rgb.join(',') + ')',
1540          rgba: 'rgba(' + rgba.join(',') + ')',
1541          hex: this._arrayToHex(rgb),
1542          hexa: this._arrayToHex(value),
1543          isDark: isDark,
1544          isLight: !isDark
1545        };
1546      }
1547    }, {
1548      key: "_getOriginalSize",
1549      value: function _getOriginalSize(resource) {
1550        if (resource instanceof HTMLImageElement) {
1551          return {
1552            width: resource.naturalWidth,
1553            height: resource.naturalHeight
1554          };
1555        }
1556  
1557        if (resource instanceof HTMLVideoElement) {
1558          return {
1559            width: resource.videoWidth,
1560            height: resource.videoHeight
1561          };
1562        }
1563  
1564        return {
1565          width: resource.width,
1566          height: resource.height
1567        };
1568      }
1569    }, {
1570      key: "_toHex",
1571      value: function _toHex(num) {
1572        var str = num.toString(16);
1573        return str.length === 1 ? '0' + str : str;
1574      }
1575    }, {
1576      key: "_arrayToHex",
1577      value: function _arrayToHex(arr) {
1578        return '#' + arr.map(this._toHex).join('');
1579      }
1580    }, {
1581      key: "_isDark",
1582      value: function _isDark(color) {
1583        // http://www.w3.org/TR/AERT#color-contrast
1584        var result = (color[0] * 299 + color[1] * 587 + color[2] * 114) / 1000;
1585        return result < 128;
1586      }
1587    }, {
1588      key: "_makeCanvas",
1589      value: function _makeCanvas() {
1590        return typeof window === 'undefined' ? new OffscreenCanvas(1, 1) : document.createElement('canvas');
1591      }
1592    }]);
1593  
1594    return FastAverageColor;
1595  }();
1596  
1597  return FastAverageColor;
1598  
1599  })));
1600  
1601  
1602  /***/ }),
1603  
1604  /***/ 22:
1605  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1606  
1607  "use strict";
1608  
1609  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
1610  var arrayWithHoles = __webpack_require__(35);
1611  
1612  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
1613  function _iterableToArrayLimit(arr, i) {
1614    if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
1615      return;
1616    }
1617  
1618    var _arr = [];
1619    var _n = true;
1620    var _d = false;
1621    var _e = undefined;
1622  
1623    try {
1624      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
1625        _arr.push(_s.value);
1626  
1627        if (i && _arr.length === i) break;
1628      }
1629    } catch (err) {
1630      _d = true;
1631      _e = err;
1632    } finally {
1633      try {
1634        if (!_n && _i["return"] != null) _i["return"]();
1635      } finally {
1636        if (_d) throw _e;
1637      }
1638    }
1639  
1640    return _arr;
1641  }
1642  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
1643  var nonIterableRest = __webpack_require__(36);
1644  
1645  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
1646  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _slicedToArray; });
1647  
1648  
1649  
1650  function _slicedToArray(arr, i) {
1651    return Object(arrayWithHoles["a" /* default */])(arr) || _iterableToArrayLimit(arr, i) || Object(nonIterableRest["a" /* default */])();
1652  }
1653  
1654  /***/ }),
1655  
1656  /***/ 24:
1657  /***/ (function(module, exports) {
1658  
1659  (function() { module.exports = this["wp"]["richText"]; }());
1660  
1661  /***/ }),
1662  
1663  /***/ 25:
1664  /***/ (function(module, exports) {
1665  
1666  (function() { module.exports = this["wp"]["url"]; }());
1667  
1668  /***/ }),
1669  
1670  /***/ 26:
1671  /***/ (function(module, exports) {
1672  
1673  (function() { module.exports = this["wp"]["editor"]; }());
1674  
1675  /***/ }),
1676  
1677  /***/ 3:
1678  /***/ (function(module, exports) {
1679  
1680  (function() { module.exports = this["wp"]["components"]; }());
1681  
1682  /***/ }),
1683  
1684  /***/ 30:
1685  /***/ (function(module, exports) {
1686  
1687  (function() { module.exports = this["moment"]; }());
1688  
1689  /***/ }),
1690  
1691  /***/ 31:
1692  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1693  
1694  "use strict";
1695  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _iterableToArray; });
1696  function _iterableToArray(iter) {
1697    if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
1698  }
1699  
1700  /***/ }),
1701  
1702  /***/ 32:
1703  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1704  
1705  "use strict";
1706  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _typeof; });
1707  function _typeof(obj) {
1708    if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
1709      _typeof = function _typeof(obj) {
1710        return typeof obj;
1711      };
1712    } else {
1713      _typeof = function _typeof(obj) {
1714        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
1715      };
1716    }
1717  
1718    return _typeof(obj);
1719  }
1720  
1721  /***/ }),
1722  
1723  /***/ 33:
1724  /***/ (function(module, exports) {
1725  
1726  (function() { module.exports = this["wp"]["deprecated"]; }());
1727  
1728  /***/ }),
1729  
1730  /***/ 35:
1731  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1732  
1733  "use strict";
1734  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _arrayWithHoles; });
1735  function _arrayWithHoles(arr) {
1736    if (Array.isArray(arr)) return arr;
1737  }
1738  
1739  /***/ }),
1740  
1741  /***/ 36:
1742  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1743  
1744  "use strict";
1745  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _nonIterableRest; });
1746  function _nonIterableRest() {
1747    throw new TypeError("Invalid attempt to destructure non-iterable instance");
1748  }
1749  
1750  /***/ }),
1751  
1752  /***/ 361:
1753  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1754  
1755  "use strict";
1756  __webpack_require__.r(__webpack_exports__);
1757  var paragraph_namespaceObject = {};
1758  __webpack_require__.r(paragraph_namespaceObject);
1759  __webpack_require__.d(paragraph_namespaceObject, "metadata", function() { return paragraph_metadata; });
1760  __webpack_require__.d(paragraph_namespaceObject, "name", function() { return paragraph_name; });
1761  __webpack_require__.d(paragraph_namespaceObject, "settings", function() { return paragraph_settings; });
1762  var image_namespaceObject = {};
1763  __webpack_require__.r(image_namespaceObject);
1764  __webpack_require__.d(image_namespaceObject, "metadata", function() { return image_metadata; });
1765  __webpack_require__.d(image_namespaceObject, "name", function() { return image_name; });
1766  __webpack_require__.d(image_namespaceObject, "settings", function() { return image_settings; });
1767  var heading_namespaceObject = {};
1768  __webpack_require__.r(heading_namespaceObject);
1769  __webpack_require__.d(heading_namespaceObject, "metadata", function() { return heading_metadata; });
1770  __webpack_require__.d(heading_namespaceObject, "name", function() { return heading_name; });
1771  __webpack_require__.d(heading_namespaceObject, "settings", function() { return heading_settings; });
1772  var quote_namespaceObject = {};
1773  __webpack_require__.r(quote_namespaceObject);
1774  __webpack_require__.d(quote_namespaceObject, "metadata", function() { return quote_metadata; });
1775  __webpack_require__.d(quote_namespaceObject, "name", function() { return quote_name; });
1776  __webpack_require__.d(quote_namespaceObject, "settings", function() { return quote_settings; });
1777  var build_module_gallery_namespaceObject = {};
1778  __webpack_require__.r(build_module_gallery_namespaceObject);
1779  __webpack_require__.d(build_module_gallery_namespaceObject, "metadata", function() { return gallery_metadata; });
1780  __webpack_require__.d(build_module_gallery_namespaceObject, "name", function() { return gallery_name; });
1781  __webpack_require__.d(build_module_gallery_namespaceObject, "settings", function() { return gallery_settings; });
1782  var archives_namespaceObject = {};
1783  __webpack_require__.r(archives_namespaceObject);
1784  __webpack_require__.d(archives_namespaceObject, "name", function() { return archives_name; });
1785  __webpack_require__.d(archives_namespaceObject, "settings", function() { return archives_settings; });
1786  var audio_namespaceObject = {};
1787  __webpack_require__.r(audio_namespaceObject);
1788  __webpack_require__.d(audio_namespaceObject, "metadata", function() { return audio_metadata; });
1789  __webpack_require__.d(audio_namespaceObject, "name", function() { return audio_name; });
1790  __webpack_require__.d(audio_namespaceObject, "settings", function() { return audio_settings; });
1791  var button_namespaceObject = {};
1792  __webpack_require__.r(button_namespaceObject);
1793  __webpack_require__.d(button_namespaceObject, "metadata", function() { return button_metadata; });
1794  __webpack_require__.d(button_namespaceObject, "name", function() { return button_name; });
1795  __webpack_require__.d(button_namespaceObject, "settings", function() { return button_settings; });
1796  var buttons_namespaceObject = {};
1797  __webpack_require__.r(buttons_namespaceObject);
1798  __webpack_require__.d(buttons_namespaceObject, "metadata", function() { return buttons_metadata; });
1799  __webpack_require__.d(buttons_namespaceObject, "name", function() { return buttons_name; });
1800  __webpack_require__.d(buttons_namespaceObject, "settings", function() { return buttons_settings; });
1801  var calendar_namespaceObject = {};
1802  __webpack_require__.r(calendar_namespaceObject);
1803  __webpack_require__.d(calendar_namespaceObject, "name", function() { return calendar_name; });
1804  __webpack_require__.d(calendar_namespaceObject, "settings", function() { return calendar_settings; });
1805  var categories_namespaceObject = {};
1806  __webpack_require__.r(categories_namespaceObject);
1807  __webpack_require__.d(categories_namespaceObject, "name", function() { return categories_name; });
1808  __webpack_require__.d(categories_namespaceObject, "settings", function() { return categories_settings; });
1809  var code_namespaceObject = {};
1810  __webpack_require__.r(code_namespaceObject);
1811  __webpack_require__.d(code_namespaceObject, "metadata", function() { return code_metadata; });
1812  __webpack_require__.d(code_namespaceObject, "name", function() { return code_name; });
1813  __webpack_require__.d(code_namespaceObject, "settings", function() { return code_settings; });
1814  var columns_namespaceObject = {};
1815  __webpack_require__.r(columns_namespaceObject);
1816  __webpack_require__.d(columns_namespaceObject, "metadata", function() { return columns_metadata; });
1817  __webpack_require__.d(columns_namespaceObject, "name", function() { return columns_name; });
1818  __webpack_require__.d(columns_namespaceObject, "settings", function() { return columns_settings; });
1819  var column_namespaceObject = {};
1820  __webpack_require__.r(column_namespaceObject);
1821  __webpack_require__.d(column_namespaceObject, "metadata", function() { return column_metadata; });
1822  __webpack_require__.d(column_namespaceObject, "name", function() { return column_name; });
1823  __webpack_require__.d(column_namespaceObject, "settings", function() { return column_settings; });
1824  var cover_namespaceObject = {};
1825  __webpack_require__.r(cover_namespaceObject);
1826  __webpack_require__.d(cover_namespaceObject, "metadata", function() { return cover_metadata; });
1827  __webpack_require__.d(cover_namespaceObject, "name", function() { return cover_name; });
1828  __webpack_require__.d(cover_namespaceObject, "settings", function() { return cover_settings; });
1829  var embed_namespaceObject = {};
1830  __webpack_require__.r(embed_namespaceObject);
1831  __webpack_require__.d(embed_namespaceObject, "name", function() { return embed_name; });
1832  __webpack_require__.d(embed_namespaceObject, "settings", function() { return embed_settings; });
1833  __webpack_require__.d(embed_namespaceObject, "common", function() { return embed_common; });
1834  __webpack_require__.d(embed_namespaceObject, "others", function() { return embed_others; });
1835  var file_namespaceObject = {};
1836  __webpack_require__.r(file_namespaceObject);
1837  __webpack_require__.d(file_namespaceObject, "metadata", function() { return file_metadata; });
1838  __webpack_require__.d(file_namespaceObject, "name", function() { return file_name; });
1839  __webpack_require__.d(file_namespaceObject, "settings", function() { return file_settings; });
1840  var html_namespaceObject = {};
1841  __webpack_require__.r(html_namespaceObject);
1842  __webpack_require__.d(html_namespaceObject, "metadata", function() { return html_metadata; });
1843  __webpack_require__.d(html_namespaceObject, "name", function() { return html_name; });
1844  __webpack_require__.d(html_namespaceObject, "settings", function() { return html_settings; });
1845  var media_text_namespaceObject = {};
1846  __webpack_require__.r(media_text_namespaceObject);
1847  __webpack_require__.d(media_text_namespaceObject, "metadata", function() { return media_text_metadata; });
1848  __webpack_require__.d(media_text_namespaceObject, "name", function() { return media_text_name; });
1849  __webpack_require__.d(media_text_namespaceObject, "settings", function() { return media_text_settings; });
1850  var navigation_icons_namespaceObject = {};
1851  __webpack_require__.r(navigation_icons_namespaceObject);
1852  __webpack_require__.d(navigation_icons_namespaceObject, "justifyLeftIcon", function() { return justifyLeftIcon; });
1853  __webpack_require__.d(navigation_icons_namespaceObject, "justifyCenterIcon", function() { return justifyCenterIcon; });
1854  __webpack_require__.d(navigation_icons_namespaceObject, "justifyRightIcon", function() { return justifyRightIcon; });
1855  var navigation_namespaceObject = {};
1856  __webpack_require__.r(navigation_namespaceObject);
1857  __webpack_require__.d(navigation_namespaceObject, "name", function() { return navigation_name; });
1858  __webpack_require__.d(navigation_namespaceObject, "settings", function() { return navigation_settings; });
1859  var navigation_link_namespaceObject = {};
1860  __webpack_require__.r(navigation_link_namespaceObject);
1861  __webpack_require__.d(navigation_link_namespaceObject, "metadata", function() { return navigation_link_metadata; });
1862  __webpack_require__.d(navigation_link_namespaceObject, "name", function() { return navigation_link_name; });
1863  __webpack_require__.d(navigation_link_namespaceObject, "settings", function() { return navigation_link_settings; });
1864  var latest_comments_namespaceObject = {};
1865  __webpack_require__.r(latest_comments_namespaceObject);
1866  __webpack_require__.d(latest_comments_namespaceObject, "name", function() { return latest_comments_name; });
1867  __webpack_require__.d(latest_comments_namespaceObject, "settings", function() { return latest_comments_settings; });
1868  var latest_posts_namespaceObject = {};
1869  __webpack_require__.r(latest_posts_namespaceObject);
1870  __webpack_require__.d(latest_posts_namespaceObject, "name", function() { return latest_posts_name; });
1871  __webpack_require__.d(latest_posts_namespaceObject, "settings", function() { return latest_posts_settings; });
1872  var list_namespaceObject = {};
1873  __webpack_require__.r(list_namespaceObject);
1874  __webpack_require__.d(list_namespaceObject, "metadata", function() { return list_metadata; });
1875  __webpack_require__.d(list_namespaceObject, "name", function() { return list_name; });
1876  __webpack_require__.d(list_namespaceObject, "settings", function() { return list_settings; });
1877  var missing_namespaceObject = {};
1878  __webpack_require__.r(missing_namespaceObject);
1879  __webpack_require__.d(missing_namespaceObject, "metadata", function() { return missing_metadata; });
1880  __webpack_require__.d(missing_namespaceObject, "name", function() { return missing_name; });
1881  __webpack_require__.d(missing_namespaceObject, "settings", function() { return missing_settings; });
1882  var more_namespaceObject = {};
1883  __webpack_require__.r(more_namespaceObject);
1884  __webpack_require__.d(more_namespaceObject, "metadata", function() { return more_metadata; });
1885  __webpack_require__.d(more_namespaceObject, "name", function() { return more_name; });
1886  __webpack_require__.d(more_namespaceObject, "settings", function() { return more_settings; });
1887  var nextpage_namespaceObject = {};
1888  __webpack_require__.r(nextpage_namespaceObject);
1889  __webpack_require__.d(nextpage_namespaceObject, "metadata", function() { return nextpage_metadata; });
1890  __webpack_require__.d(nextpage_namespaceObject, "name", function() { return nextpage_name; });
1891  __webpack_require__.d(nextpage_namespaceObject, "settings", function() { return nextpage_settings; });
1892  var preformatted_namespaceObject = {};
1893  __webpack_require__.r(preformatted_namespaceObject);
1894  __webpack_require__.d(preformatted_namespaceObject, "metadata", function() { return preformatted_metadata; });
1895  __webpack_require__.d(preformatted_namespaceObject, "name", function() { return preformatted_name; });
1896  __webpack_require__.d(preformatted_namespaceObject, "settings", function() { return preformatted_settings; });
1897  var pullquote_namespaceObject = {};
1898  __webpack_require__.r(pullquote_namespaceObject);
1899  __webpack_require__.d(pullquote_namespaceObject, "metadata", function() { return pullquote_metadata; });
1900  __webpack_require__.d(pullquote_namespaceObject, "name", function() { return pullquote_name; });
1901  __webpack_require__.d(pullquote_namespaceObject, "settings", function() { return pullquote_settings; });
1902  var block_namespaceObject = {};
1903  __webpack_require__.r(block_namespaceObject);
1904  __webpack_require__.d(block_namespaceObject, "name", function() { return block_name; });
1905  __webpack_require__.d(block_namespaceObject, "settings", function() { return block_settings; });
1906  var rss_namespaceObject = {};
1907  __webpack_require__.r(rss_namespaceObject);
1908  __webpack_require__.d(rss_namespaceObject, "name", function() { return rss_name; });
1909  __webpack_require__.d(rss_namespaceObject, "settings", function() { return rss_settings; });
1910  var search_namespaceObject = {};
1911  __webpack_require__.r(search_namespaceObject);
1912  __webpack_require__.d(search_namespaceObject, "name", function() { return search_name; });
1913  __webpack_require__.d(search_namespaceObject, "settings", function() { return search_settings; });
1914  var group_namespaceObject = {};
1915  __webpack_require__.r(group_namespaceObject);
1916  __webpack_require__.d(group_namespaceObject, "metadata", function() { return group_metadata; });
1917  __webpack_require__.d(group_namespaceObject, "name", function() { return group_name; });
1918  __webpack_require__.d(group_namespaceObject, "settings", function() { return group_settings; });
1919  var separator_namespaceObject = {};
1920  __webpack_require__.r(separator_namespaceObject);
1921  __webpack_require__.d(separator_namespaceObject, "metadata", function() { return separator_metadata; });
1922  __webpack_require__.d(separator_namespaceObject, "name", function() { return separator_name; });
1923  __webpack_require__.d(separator_namespaceObject, "settings", function() { return build_module_separator_settings; });
1924  var shortcode_namespaceObject = {};
1925  __webpack_require__.r(shortcode_namespaceObject);
1926  __webpack_require__.d(shortcode_namespaceObject, "name", function() { return shortcode_name; });
1927  __webpack_require__.d(shortcode_namespaceObject, "settings", function() { return shortcode_settings; });
1928  var spacer_namespaceObject = {};
1929  __webpack_require__.r(spacer_namespaceObject);
1930  __webpack_require__.d(spacer_namespaceObject, "metadata", function() { return spacer_metadata; });
1931  __webpack_require__.d(spacer_namespaceObject, "name", function() { return spacer_name; });
1932  __webpack_require__.d(spacer_namespaceObject, "settings", function() { return spacer_settings; });
1933  var subhead_namespaceObject = {};
1934  __webpack_require__.r(subhead_namespaceObject);
1935  __webpack_require__.d(subhead_namespaceObject, "metadata", function() { return subhead_metadata; });
1936  __webpack_require__.d(subhead_namespaceObject, "name", function() { return subhead_name; });
1937  __webpack_require__.d(subhead_namespaceObject, "settings", function() { return subhead_settings; });
1938  var table_namespaceObject = {};
1939  __webpack_require__.r(table_namespaceObject);
1940  __webpack_require__.d(table_namespaceObject, "metadata", function() { return table_metadata; });
1941  __webpack_require__.d(table_namespaceObject, "name", function() { return table_name; });
1942  __webpack_require__.d(table_namespaceObject, "settings", function() { return table_settings; });
1943  var text_columns_namespaceObject = {};
1944  __webpack_require__.r(text_columns_namespaceObject);
1945  __webpack_require__.d(text_columns_namespaceObject, "metadata", function() { return text_columns_metadata; });
1946  __webpack_require__.d(text_columns_namespaceObject, "name", function() { return text_columns_name; });
1947  __webpack_require__.d(text_columns_namespaceObject, "settings", function() { return text_columns_settings; });
1948  var verse_namespaceObject = {};
1949  __webpack_require__.r(verse_namespaceObject);
1950  __webpack_require__.d(verse_namespaceObject, "metadata", function() { return verse_metadata; });
1951  __webpack_require__.d(verse_namespaceObject, "name", function() { return verse_name; });
1952  __webpack_require__.d(verse_namespaceObject, "settings", function() { return verse_settings; });
1953  var video_namespaceObject = {};
1954  __webpack_require__.r(video_namespaceObject);
1955  __webpack_require__.d(video_namespaceObject, "metadata", function() { return video_metadata; });
1956  __webpack_require__.d(video_namespaceObject, "name", function() { return video_name; });
1957  __webpack_require__.d(video_namespaceObject, "settings", function() { return video_settings; });
1958  var tag_cloud_namespaceObject = {};
1959  __webpack_require__.r(tag_cloud_namespaceObject);
1960  __webpack_require__.d(tag_cloud_namespaceObject, "name", function() { return tag_cloud_name; });
1961  __webpack_require__.d(tag_cloud_namespaceObject, "settings", function() { return tag_cloud_settings; });
1962  var classic_namespaceObject = {};
1963  __webpack_require__.r(classic_namespaceObject);
1964  __webpack_require__.d(classic_namespaceObject, "metadata", function() { return classic_metadata; });
1965  __webpack_require__.d(classic_namespaceObject, "name", function() { return classic_name; });
1966  __webpack_require__.d(classic_namespaceObject, "settings", function() { return classic_settings; });
1967  
1968  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules
1969  var toConsumableArray = __webpack_require__(18);
1970  
1971  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
1972  var defineProperty = __webpack_require__(9);
1973  
1974  // EXTERNAL MODULE: external {"this":["wp","coreData"]}
1975  var external_this_wp_coreData_ = __webpack_require__(64);
1976  
1977  // EXTERNAL MODULE: external {"this":["wp","blockEditor"]}
1978  var external_this_wp_blockEditor_ = __webpack_require__(5);
1979  
1980  // EXTERNAL MODULE: external {"this":["wp","editor"]}
1981  var external_this_wp_editor_ = __webpack_require__(26);
1982  
1983  // EXTERNAL MODULE: external {"this":["wp","blocks"]}
1984  var external_this_wp_blocks_ = __webpack_require__(11);
1985  
1986  // EXTERNAL MODULE: external {"this":["wp","i18n"]}
1987  var external_this_wp_i18n_ = __webpack_require__(1);
1988  
1989  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread.js
1990  var objectSpread = __webpack_require__(6);
1991  
1992  // EXTERNAL MODULE: external {"this":["wp","element"]}
1993  var external_this_wp_element_ = __webpack_require__(0);
1994  
1995  // EXTERNAL MODULE: ./node_modules/classnames/index.js
1996  var classnames = __webpack_require__(10);
1997  var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
1998  
1999  // EXTERNAL MODULE: external {"this":"lodash"}
2000  var external_this_lodash_ = __webpack_require__(2);
2001  
2002  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/deprecated.js
2003  
2004  
2005  
2006  
2007  /**
2008   * External dependencies
2009   */
2010  
2011  
2012  /**
2013   * WordPress dependencies
2014   */
2015  
2016  
2017  
2018  var deprecated_supports = {
2019    className: false
2020  };
2021  var deprecated_blockAttributes = {
2022    align: {
2023      type: 'string'
2024    },
2025    content: {
2026      type: 'string',
2027      source: 'html',
2028      selector: 'p',
2029      default: ''
2030    },
2031    dropCap: {
2032      type: 'boolean',
2033      default: false
2034    },
2035    placeholder: {
2036      type: 'string'
2037    },
2038    textColor: {
2039      type: 'string'
2040    },
2041    customTextColor: {
2042      type: 'string'
2043    },
2044    backgroundColor: {
2045      type: 'string'
2046    },
2047    customBackgroundColor: {
2048      type: 'string'
2049    },
2050    fontSize: {
2051      type: 'string'
2052    },
2053    customFontSize: {
2054      type: 'number'
2055    },
2056    direction: {
2057      type: 'string',
2058      enum: ['ltr', 'rtl']
2059    }
2060  };
2061  var deprecated = [{
2062    supports: deprecated_supports,
2063    attributes: deprecated_blockAttributes,
2064    save: function save(_ref) {
2065      var _classnames;
2066  
2067      var attributes = _ref.attributes;
2068      var align = attributes.align,
2069          content = attributes.content,
2070          dropCap = attributes.dropCap,
2071          backgroundColor = attributes.backgroundColor,
2072          textColor = attributes.textColor,
2073          customBackgroundColor = attributes.customBackgroundColor,
2074          customTextColor = attributes.customTextColor,
2075          fontSize = attributes.fontSize,
2076          customFontSize = attributes.customFontSize,
2077          direction = attributes.direction;
2078      var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
2079      var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
2080      var fontSizeClass = Object(external_this_wp_blockEditor_["getFontSizeClass"])(fontSize);
2081      var className = classnames_default()((_classnames = {
2082        'has-text-color': textColor || customTextColor,
2083        'has-background': backgroundColor || customBackgroundColor,
2084        'has-drop-cap': dropCap
2085      }, Object(defineProperty["a" /* default */])(_classnames, fontSizeClass, fontSizeClass), Object(defineProperty["a" /* default */])(_classnames, textClass, textClass), Object(defineProperty["a" /* default */])(_classnames, backgroundClass, backgroundClass), _classnames));
2086      var styles = {
2087        backgroundColor: backgroundClass ? undefined : customBackgroundColor,
2088        color: textClass ? undefined : customTextColor,
2089        fontSize: fontSizeClass ? undefined : customFontSize,
2090        textAlign: align
2091      };
2092      return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
2093        tagName: "p",
2094        style: styles,
2095        className: className ? className : undefined,
2096        value: content,
2097        dir: direction
2098      });
2099    }
2100  }, {
2101    supports: deprecated_supports,
2102    attributes: Object(objectSpread["a" /* default */])({}, deprecated_blockAttributes, {
2103      width: {
2104        type: 'string'
2105      }
2106    }),
2107    save: function save(_ref2) {
2108      var _classnames2;
2109  
2110      var attributes = _ref2.attributes;
2111      var width = attributes.width,
2112          align = attributes.align,
2113          content = attributes.content,
2114          dropCap = attributes.dropCap,
2115          backgroundColor = attributes.backgroundColor,
2116          textColor = attributes.textColor,
2117          customBackgroundColor = attributes.customBackgroundColor,
2118          customTextColor = attributes.customTextColor,
2119          fontSize = attributes.fontSize,
2120          customFontSize = attributes.customFontSize;
2121      var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
2122      var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
2123      var fontSizeClass = fontSize && "is-".concat(fontSize, "-text");
2124      var className = classnames_default()((_classnames2 = {}, Object(defineProperty["a" /* default */])(_classnames2, "align".concat(width), width), Object(defineProperty["a" /* default */])(_classnames2, 'has-background', backgroundColor || customBackgroundColor), Object(defineProperty["a" /* default */])(_classnames2, 'has-drop-cap', dropCap), Object(defineProperty["a" /* default */])(_classnames2, fontSizeClass, fontSizeClass), Object(defineProperty["a" /* default */])(_classnames2, textClass, textClass), Object(defineProperty["a" /* default */])(_classnames2, backgroundClass, backgroundClass), _classnames2));
2125      var styles = {
2126        backgroundColor: backgroundClass ? undefined : customBackgroundColor,
2127        color: textClass ? undefined : customTextColor,
2128        fontSize: fontSizeClass ? undefined : customFontSize,
2129        textAlign: align
2130      };
2131      return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
2132        tagName: "p",
2133        style: styles,
2134        className: className ? className : undefined,
2135        value: content
2136      });
2137    }
2138  }, {
2139    supports: deprecated_supports,
2140    attributes: Object(external_this_lodash_["omit"])(Object(objectSpread["a" /* default */])({}, deprecated_blockAttributes, {
2141      fontSize: {
2142        type: 'number'
2143      }
2144    }), 'customFontSize', 'customTextColor', 'customBackgroundColor'),
2145    save: function save(_ref3) {
2146      var _classnames3;
2147  
2148      var attributes = _ref3.attributes;
2149      var width = attributes.width,
2150          align = attributes.align,
2151          content = attributes.content,
2152          dropCap = attributes.dropCap,
2153          backgroundColor = attributes.backgroundColor,
2154          textColor = attributes.textColor,
2155          fontSize = attributes.fontSize;
2156      var className = classnames_default()((_classnames3 = {}, Object(defineProperty["a" /* default */])(_classnames3, "align".concat(width), width), Object(defineProperty["a" /* default */])(_classnames3, 'has-background', backgroundColor), Object(defineProperty["a" /* default */])(_classnames3, 'has-drop-cap', dropCap), _classnames3));
2157      var styles = {
2158        backgroundColor: backgroundColor,
2159        color: textColor,
2160        fontSize: fontSize,
2161        textAlign: align
2162      };
2163      return Object(external_this_wp_element_["createElement"])("p", {
2164        style: styles,
2165        className: className ? className : undefined
2166      }, content);
2167    },
2168    migrate: function migrate(attributes) {
2169      return Object(external_this_lodash_["omit"])(Object(objectSpread["a" /* default */])({}, attributes, {
2170        customFontSize: Object(external_this_lodash_["isFinite"])(attributes.fontSize) ? attributes.fontSize : undefined,
2171        customTextColor: attributes.textColor && '#' === attributes.textColor[0] ? attributes.textColor : undefined,
2172        customBackgroundColor: attributes.backgroundColor && '#' === attributes.backgroundColor[0] ? attributes.backgroundColor : undefined
2173      }), ['fontSize', 'textColor', 'backgroundColor']);
2174    }
2175  }, {
2176    supports: deprecated_supports,
2177    attributes: Object(objectSpread["a" /* default */])({}, deprecated_blockAttributes, {
2178      content: {
2179        type: 'string',
2180        source: 'html',
2181        default: ''
2182      }
2183    }),
2184    save: function save(_ref4) {
2185      var attributes = _ref4.attributes;
2186      return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["RawHTML"], null, attributes.content);
2187    },
2188    migrate: function migrate(attributes) {
2189      return attributes;
2190    }
2191  }];
2192  /* harmony default export */ var paragraph_deprecated = (deprecated);
2193  
2194  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
2195  var slicedToArray = __webpack_require__(22);
2196  
2197  // EXTERNAL MODULE: external {"this":["wp","components"]}
2198  var external_this_wp_components_ = __webpack_require__(3);
2199  
2200  // EXTERNAL MODULE: external {"this":["wp","compose"]}
2201  var external_this_wp_compose_ = __webpack_require__(8);
2202  
2203  // EXTERNAL MODULE: external {"this":["wp","data"]}
2204  var external_this_wp_data_ = __webpack_require__(4);
2205  
2206  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/edit.js
2207  
2208  
2209  
2210  
2211  
2212  
2213  /**
2214   * External dependencies
2215   */
2216  
2217  /**
2218   * WordPress dependencies
2219   */
2220  
2221  
2222  
2223  
2224  
2225  
2226  
2227  
2228  /**
2229   * Browser dependencies
2230   */
2231  
2232  var _window = window,
2233      getComputedStyle = _window.getComputedStyle;
2234  var querySelector = window.document.querySelector.bind(document);
2235  var edit_name = 'core/paragraph';
2236  var PARAGRAPH_DROP_CAP_SELECTOR = 'p.has-drop-cap';
2237  
2238  function ParagraphRTLToolbar(_ref) {
2239    var direction = _ref.direction,
2240        setDirection = _ref.setDirection;
2241    var isRTL = Object(external_this_wp_data_["useSelect"])(function (select) {
2242      return !!select('core/block-editor').getSettings().isRTL;
2243    }, []);
2244    return isRTL && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToolbarGroup"], {
2245      controls: [{
2246        icon: 'editor-ltr',
2247        title: Object(external_this_wp_i18n_["_x"])('Left to right', 'editor button'),
2248        isActive: direction === 'ltr',
2249        onClick: function onClick() {
2250          setDirection(direction === 'ltr' ? undefined : 'ltr');
2251        }
2252      }]
2253    });
2254  }
2255  
2256  function useDropCapMinimumHeight(isDropCap, deps) {
2257    var _useState = Object(external_this_wp_element_["useState"])(),
2258        _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
2259        minimumHeight = _useState2[0],
2260        setMinimumHeight = _useState2[1];
2261  
2262    Object(external_this_wp_element_["useEffect"])(function () {
2263      var element = querySelector(PARAGRAPH_DROP_CAP_SELECTOR);
2264  
2265      if (isDropCap && element) {
2266        setMinimumHeight(getComputedStyle(element, 'first-letter').height);
2267      } else if (minimumHeight) {
2268        setMinimumHeight(undefined);
2269      }
2270    }, [isDropCap, minimumHeight, setMinimumHeight].concat(Object(toConsumableArray["a" /* default */])(deps)));
2271    return minimumHeight;
2272  }
2273  
2274  function ParagraphBlock(_ref2) {
2275    var _classnames;
2276  
2277    var attributes = _ref2.attributes,
2278        className = _ref2.className,
2279        fontSize = _ref2.fontSize,
2280        mergeBlocks = _ref2.mergeBlocks,
2281        onReplace = _ref2.onReplace,
2282        setAttributes = _ref2.setAttributes,
2283        setFontSize = _ref2.setFontSize;
2284    var align = attributes.align,
2285        content = attributes.content,
2286        dropCap = attributes.dropCap,
2287        placeholder = attributes.placeholder,
2288        direction = attributes.direction;
2289    var dropCapMinimumHeight = useDropCapMinimumHeight(dropCap, [fontSize.size]);
2290  
2291    var _experimentalUseColo = Object(external_this_wp_blockEditor_["__experimentalUseColors"])([{
2292      name: 'textColor',
2293      property: 'color'
2294    }, {
2295      name: 'backgroundColor',
2296      className: 'has-background'
2297    }], {
2298      contrastCheckers: [{
2299        backgroundColor: true,
2300        textColor: true,
2301        fontSize: fontSize.size
2302      }]
2303    }, [fontSize.size]),
2304        TextColor = _experimentalUseColo.TextColor,
2305        BackgroundColor = _experimentalUseColo.BackgroundColor,
2306        InspectorControlsColorPanel = _experimentalUseColo.InspectorControlsColorPanel,
2307        ColorDetector = _experimentalUseColo.ColorDetector;
2308  
2309    return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["AlignmentToolbar"], {
2310      value: align,
2311      onChange: function onChange(newAlign) {
2312        return setAttributes({
2313          align: newAlign
2314        });
2315      }
2316    }), Object(external_this_wp_element_["createElement"])(ParagraphRTLToolbar, {
2317      direction: direction,
2318      setDirection: function setDirection(newDirection) {
2319        return setAttributes({
2320          direction: newDirection
2321        });
2322      }
2323    })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
2324      title: Object(external_this_wp_i18n_["__"])('Text Settings')
2325    }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["FontSizePicker"], {
2326      value: fontSize.size,
2327      onChange: setFontSize
2328    }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
2329      label: Object(external_this_wp_i18n_["__"])('Drop Cap'),
2330      checked: !!dropCap,
2331      onChange: function onChange() {
2332        return setAttributes({
2333          dropCap: !dropCap
2334        });
2335      },
2336      help: dropCap ? Object(external_this_wp_i18n_["__"])('Showing large initial letter.') : Object(external_this_wp_i18n_["__"])('Toggle to show a large initial letter.')
2337    }))), InspectorControlsColorPanel, Object(external_this_wp_element_["createElement"])(BackgroundColor, null, Object(external_this_wp_element_["createElement"])(TextColor, null, Object(external_this_wp_element_["createElement"])(ColorDetector, {
2338      querySelector: "[contenteditable=\"true\"]"
2339    }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
2340      identifier: "content",
2341      tagName: "p",
2342      className: classnames_default()('wp-block-paragraph', className, (_classnames = {
2343        'has-drop-cap': dropCap
2344      }, Object(defineProperty["a" /* default */])(_classnames, "has-text-align-".concat(align), align), Object(defineProperty["a" /* default */])(_classnames, fontSize.class, fontSize.class), _classnames)),
2345      style: {
2346        fontSize: fontSize.size ? fontSize.size + 'px' : undefined,
2347        direction: direction,
2348        minHeight: dropCapMinimumHeight
2349      },
2350      value: content,
2351      onChange: function onChange(newContent) {
2352        return setAttributes({
2353          content: newContent
2354        });
2355      },
2356      onSplit: function onSplit(value) {
2357        if (!value) {
2358          return Object(external_this_wp_blocks_["createBlock"])(edit_name);
2359        }
2360  
2361        return Object(external_this_wp_blocks_["createBlock"])(edit_name, Object(objectSpread["a" /* default */])({}, attributes, {
2362          content: value
2363        }));
2364      },
2365      onMerge: mergeBlocks,
2366      onReplace: onReplace,
2367      onRemove: onReplace ? function () {
2368        return onReplace([]);
2369      } : undefined,
2370      "aria-label": content ? Object(external_this_wp_i18n_["__"])('Paragraph block') : Object(external_this_wp_i18n_["__"])('Empty block; start writing or type forward slash to choose a block'),
2371      placeholder: placeholder || Object(external_this_wp_i18n_["__"])('Start writing or type / to choose a block'),
2372      __unstableEmbedURLOnPaste: true
2373    }))));
2374  }
2375  
2376  var ParagraphEdit = Object(external_this_wp_compose_["compose"])([Object(external_this_wp_blockEditor_["withFontSizes"])('fontSize')])(ParagraphBlock);
2377  /* harmony default export */ var paragraph_edit = (ParagraphEdit);
2378  
2379  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/icon.js
2380  
2381  
2382  /**
2383   * WordPress dependencies
2384   */
2385  
2386  /* harmony default export */ var paragraph_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2387    xmlns: "http://www.w3.org/2000/svg",
2388    viewBox: "0 0 24 24"
2389  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2390    d: "M11 5v7H9.5C7.6 12 6 10.4 6 8.5S7.6 5 9.5 5H11m8-2H9.5C6.5 3 4 5.5 4 8.5S6.5 14 9.5 14H11v7h2V5h2v16h2V5h2V3z"
2391  })));
2392  
2393  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/save.js
2394  
2395  
2396  
2397  /**
2398   * External dependencies
2399   */
2400  
2401  /**
2402   * WordPress dependencies
2403   */
2404  
2405  
2406  function save_save(_ref) {
2407    var _classnames;
2408  
2409    var attributes = _ref.attributes;
2410    var align = attributes.align,
2411        content = attributes.content,
2412        dropCap = attributes.dropCap,
2413        backgroundColor = attributes.backgroundColor,
2414        textColor = attributes.textColor,
2415        customBackgroundColor = attributes.customBackgroundColor,
2416        customTextColor = attributes.customTextColor,
2417        fontSize = attributes.fontSize,
2418        customFontSize = attributes.customFontSize,
2419        direction = attributes.direction;
2420    var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
2421    var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
2422    var fontSizeClass = Object(external_this_wp_blockEditor_["getFontSizeClass"])(fontSize);
2423    var className = classnames_default()((_classnames = {
2424      'has-text-color': textColor || customTextColor,
2425      'has-background': backgroundColor || customBackgroundColor,
2426      'has-drop-cap': dropCap
2427    }, Object(defineProperty["a" /* default */])(_classnames, "has-text-align-".concat(align), align), Object(defineProperty["a" /* default */])(_classnames, fontSizeClass, fontSizeClass), Object(defineProperty["a" /* default */])(_classnames, textClass, textClass), Object(defineProperty["a" /* default */])(_classnames, backgroundClass, backgroundClass), _classnames));
2428    var styles = {
2429      backgroundColor: backgroundClass ? undefined : customBackgroundColor,
2430      color: textClass ? undefined : customTextColor,
2431      fontSize: fontSizeClass ? undefined : customFontSize
2432    };
2433    return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
2434      tagName: "p",
2435      style: styles,
2436      className: className ? className : undefined,
2437      value: content,
2438      dir: direction
2439    });
2440  }
2441  
2442  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/transforms.js
2443  /**
2444   * WordPress dependencies
2445   */
2446  
2447  /**
2448   * Internal dependencies
2449   */
2450  
2451  var _name$category$attrib = {
2452    name: "core/paragraph",
2453    category: "common",
2454    attributes: {
2455      align: {
2456        type: "string"
2457      },
2458      content: {
2459        type: "string",
2460        source: "html",
2461        selector: "p",
2462        "default": ""
2463      },
2464      dropCap: {
2465        type: "boolean",
2466        "default": false
2467      },
2468      placeholder: {
2469        type: "string"
2470      },
2471      textColor: {
2472        type: "string"
2473      },
2474      customTextColor: {
2475        type: "string"
2476      },
2477      backgroundColor: {
2478        type: "string"
2479      },
2480      customBackgroundColor: {
2481        type: "string"
2482      },
2483      fontSize: {
2484        type: "string"
2485      },
2486      customFontSize: {
2487        type: "number"
2488      },
2489      direction: {
2490        type: "string",
2491        "enum": ["ltr", "rtl"]
2492      }
2493    }
2494  },
2495      transforms_name = _name$category$attrib.name;
2496  var transforms_transforms = {
2497    from: [{
2498      type: 'raw',
2499      // Paragraph is a fallback and should be matched last.
2500      priority: 20,
2501      selector: 'p',
2502      schema: function schema(_ref) {
2503        var phrasingContentSchema = _ref.phrasingContentSchema,
2504            isPaste = _ref.isPaste;
2505        return {
2506          p: {
2507            children: phrasingContentSchema,
2508            attributes: isPaste ? [] : ['style']
2509          }
2510        };
2511      },
2512      transform: function transform(node) {
2513        var attributes = Object(external_this_wp_blocks_["getBlockAttributes"])(transforms_name, node.outerHTML);
2514  
2515        var _ref2 = node.style || {},
2516            textAlign = _ref2.textAlign;
2517  
2518        if (textAlign === 'left' || textAlign === 'center' || textAlign === 'right') {
2519          attributes.align = textAlign;
2520        }
2521  
2522        return Object(external_this_wp_blocks_["createBlock"])(transforms_name, attributes);
2523      }
2524    }]
2525  };
2526  /* harmony default export */ var paragraph_transforms = (transforms_transforms);
2527  
2528  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/index.js
2529  /**
2530   * WordPress dependencies
2531   */
2532  
2533  /**
2534   * Internal dependencies
2535   */
2536  
2537  
2538  
2539  
2540  var paragraph_metadata = {
2541    name: "core/paragraph",
2542    category: "common",
2543    attributes: {
2544      align: {
2545        type: "string"
2546      },
2547      content: {
2548        type: "string",
2549        source: "html",
2550        selector: "p",
2551        "default": ""
2552      },
2553      dropCap: {
2554        type: "boolean",
2555        "default": false
2556      },
2557      placeholder: {
2558        type: "string"
2559      },
2560      textColor: {
2561        type: "string"
2562      },
2563      customTextColor: {
2564        type: "string"
2565      },
2566      backgroundColor: {
2567        type: "string"
2568      },
2569      customBackgroundColor: {
2570        type: "string"
2571      },
2572      fontSize: {
2573        type: "string"
2574      },
2575      customFontSize: {
2576        type: "number"
2577      },
2578      direction: {
2579        type: "string",
2580        "enum": ["ltr", "rtl"]
2581      }
2582    }
2583  };
2584  
2585  
2586  var paragraph_name = paragraph_metadata.name;
2587  
2588  var paragraph_settings = {
2589    title: Object(external_this_wp_i18n_["__"])('Paragraph'),
2590    description: Object(external_this_wp_i18n_["__"])('Start with the building block of all narrative.'),
2591    icon: paragraph_icon,
2592    keywords: [Object(external_this_wp_i18n_["__"])('text')],
2593    example: {
2594      attributes: {
2595        content: Object(external_this_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.'),
2596        customFontSize: 28,
2597        dropCap: true
2598      }
2599    },
2600    supports: {
2601      className: false,
2602      __unstablePasteTextInline: true
2603    },
2604    transforms: paragraph_transforms,
2605    deprecated: paragraph_deprecated,
2606    merge: function merge(attributes, attributesToMerge) {
2607      return {
2608        content: (attributes.content || '') + (attributesToMerge.content || '')
2609      };
2610    },
2611    getEditWrapperProps: function getEditWrapperProps(attributes) {
2612      var width = attributes.width;
2613  
2614      if (['wide', 'full', 'left', 'right'].indexOf(width) !== -1) {
2615        return {
2616          'data-align': width
2617        };
2618      }
2619    },
2620    edit: paragraph_edit,
2621    save: save_save
2622  };
2623  
2624  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
2625  var esm_extends = __webpack_require__(12);
2626  
2627  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/deprecated.js
2628  
2629  
2630  
2631  
2632  /**
2633   * External dependencies
2634   */
2635  
2636  /**
2637   * WordPress dependencies
2638   */
2639  
2640  
2641  var image_deprecated_blockAttributes = {
2642    align: {
2643      type: 'string'
2644    },
2645    url: {
2646      type: 'string',
2647      source: 'attribute',
2648      selector: 'img',
2649      attribute: 'src'
2650    },
2651    alt: {
2652      type: 'string',
2653      source: 'attribute',
2654      selector: 'img',
2655      attribute: 'alt',
2656      default: ''
2657    },
2658    caption: {
2659      type: 'string',
2660      source: 'html',
2661      selector: 'figcaption'
2662    },
2663    href: {
2664      type: 'string',
2665      source: 'attribute',
2666      selector: 'figure > a',
2667      attribute: 'href'
2668    },
2669    rel: {
2670      type: 'string',
2671      source: 'attribute',
2672      selector: 'figure > a',
2673      attribute: 'rel'
2674    },
2675    linkClass: {
2676      type: 'string',
2677      source: 'attribute',
2678      selector: 'figure > a',
2679      attribute: 'class'
2680    },
2681    id: {
2682      type: 'number'
2683    },
2684    width: {
2685      type: 'number'
2686    },
2687    height: {
2688      type: 'number'
2689    },
2690    linkDestination: {
2691      type: 'string',
2692      default: 'none'
2693    },
2694    linkTarget: {
2695      type: 'string',
2696      source: 'attribute',
2697      selector: 'figure > a',
2698      attribute: 'target'
2699    }
2700  };
2701  var deprecated_deprecated = [{
2702    attributes: image_deprecated_blockAttributes,
2703    save: function save(_ref) {
2704      var _classnames;
2705  
2706      var attributes = _ref.attributes;
2707      var url = attributes.url,
2708          alt = attributes.alt,
2709          caption = attributes.caption,
2710          align = attributes.align,
2711          href = attributes.href,
2712          width = attributes.width,
2713          height = attributes.height,
2714          id = attributes.id;
2715      var classes = classnames_default()((_classnames = {}, Object(defineProperty["a" /* default */])(_classnames, "align".concat(align), align), Object(defineProperty["a" /* default */])(_classnames, 'is-resized', width || height), _classnames));
2716      var image = Object(external_this_wp_element_["createElement"])("img", {
2717        src: url,
2718        alt: alt,
2719        className: id ? "wp-image-".concat(id) : null,
2720        width: width,
2721        height: height
2722      });
2723      return Object(external_this_wp_element_["createElement"])("figure", {
2724        className: classes
2725      }, href ? Object(external_this_wp_element_["createElement"])("a", {
2726        href: href
2727      }, image) : image, !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
2728        tagName: "figcaption",
2729        value: caption
2730      }));
2731    }
2732  }, {
2733    attributes: image_deprecated_blockAttributes,
2734    save: function save(_ref2) {
2735      var attributes = _ref2.attributes;
2736      var url = attributes.url,
2737          alt = attributes.alt,
2738          caption = attributes.caption,
2739          align = attributes.align,
2740          href = attributes.href,
2741          width = attributes.width,
2742          height = attributes.height,
2743          id = attributes.id;
2744      var image = Object(external_this_wp_element_["createElement"])("img", {
2745        src: url,
2746        alt: alt,
2747        className: id ? "wp-image-".concat(id) : null,
2748        width: width,
2749        height: height
2750      });
2751      return Object(external_this_wp_element_["createElement"])("figure", {
2752        className: align ? "align".concat(align) : null
2753      }, href ? Object(external_this_wp_element_["createElement"])("a", {
2754        href: href
2755      }, image) : image, !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
2756        tagName: "figcaption",
2757        value: caption
2758      }));
2759    }
2760  }, {
2761    attributes: image_deprecated_blockAttributes,
2762    save: function save(_ref3) {
2763      var attributes = _ref3.attributes;
2764      var url = attributes.url,
2765          alt = attributes.alt,
2766          caption = attributes.caption,
2767          align = attributes.align,
2768          href = attributes.href,
2769          width = attributes.width,
2770          height = attributes.height;
2771      var extraImageProps = width || height ? {
2772        width: width,
2773        height: height
2774      } : {};
2775      var image = Object(external_this_wp_element_["createElement"])("img", Object(esm_extends["a" /* default */])({
2776        src: url,
2777        alt: alt
2778      }, extraImageProps));
2779      var figureStyle = {};
2780  
2781      if (width) {
2782        figureStyle = {
2783          width: width
2784        };
2785      } else if (align === 'left' || align === 'right') {
2786        figureStyle = {
2787          maxWidth: '50%'
2788        };
2789      }
2790  
2791      return Object(external_this_wp_element_["createElement"])("figure", {
2792        className: align ? "align".concat(align) : null,
2793        style: figureStyle
2794      }, href ? Object(external_this_wp_element_["createElement"])("a", {
2795        href: href
2796      }, image) : image, !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
2797        tagName: "figcaption",
2798        value: caption
2799      }));
2800    }
2801  }];
2802  /* harmony default export */ var image_deprecated = (deprecated_deprecated);
2803  
2804  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
2805  var classCallCheck = __webpack_require__(14);
2806  
2807  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
2808  var createClass = __webpack_require__(13);
2809  
2810  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
2811  var possibleConstructorReturn = __webpack_require__(15);
2812  
2813  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
2814  var getPrototypeOf = __webpack_require__(16);
2815  
2816  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
2817  var assertThisInitialized = __webpack_require__(7);
2818  
2819  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
2820  var inherits = __webpack_require__(17);
2821  
2822  // EXTERNAL MODULE: external {"this":["wp","blob"]}
2823  var external_this_wp_blob_ = __webpack_require__(37);
2824  
2825  // EXTERNAL MODULE: external {"this":["wp","url"]}
2826  var external_this_wp_url_ = __webpack_require__(25);
2827  
2828  // EXTERNAL MODULE: external {"this":["wp","viewport"]}
2829  var external_this_wp_viewport_ = __webpack_require__(51);
2830  
2831  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/icons.js
2832  
2833  
2834  /**
2835   * WordPress dependencies
2836   */
2837  
2838  var embedContentIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2839    viewBox: "0 0 24 24",
2840    xmlns: "http://www.w3.org/2000/svg"
2841  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2842    d: "M0,0h24v24H0V0z",
2843    fill: "none"
2844  }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2845    d: "M19,4H5C3.89,4,3,4.9,3,6v12c0,1.1,0.89,2,2,2h14c1.1,0,2-0.9,2-2V6C21,4.9,20.11,4,19,4z M19,18H5V8h14V18z"
2846  }));
2847  var embedAudioIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2848    viewBox: "0 0 24 24",
2849    xmlns: "http://www.w3.org/2000/svg"
2850  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2851    fill: "none",
2852    d: "M0 0h24v24H0V0z"
2853  }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2854    d: "M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3V5h18v14zM8 15c0-1.66 1.34-3 3-3 .35 0 .69.07 1 .18V6h5v2h-3v7.03c-.02 1.64-1.35 2.97-3 2.97-1.66 0-3-1.34-3-3z"
2855  }));
2856  var embedPhotoIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2857    viewBox: "0 0 24 24",
2858    xmlns: "http://www.w3.org/2000/svg"
2859  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2860    d: "M0,0h24v24H0V0z",
2861    fill: "none"
2862  }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2863    d: "M21,4H3C1.9,4,1,4.9,1,6v12c0,1.1,0.9,2,2,2h18c1.1,0,2-0.9,2-2V6C23,4.9,22.1,4,21,4z M21,18H3V6h18V18z"
2864  }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Polygon"], {
2865    points: "14.5 11 11 15.51 8.5 12.5 5 17 19 17"
2866  }));
2867  var embedVideoIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2868    viewBox: "0 0 24 24",
2869    xmlns: "http://www.w3.org/2000/svg"
2870  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2871    d: "M0,0h24v24H0V0z",
2872    fill: "none"
2873  }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2874    d: "m10 8v8l5-4-5-4zm9-5h-14c-1.1 0-2 0.9-2 2v14c0 1.1 0.9 2 2 2h14c1.1 0 2-0.9 2-2v-14c0-1.1-0.9-2-2-2zm0 16h-14v-14h14v14z"
2875  }));
2876  var embedTwitterIcon = {
2877    foreground: '#1da1f2',
2878    src: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2879      xmlns: "http://www.w3.org/2000/svg",
2880      viewBox: "0 0 24 24"
2881    }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2882      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"
2883    })))
2884  };
2885  var embedYouTubeIcon = {
2886    foreground: '#ff0000',
2887    src: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2888      viewBox: "0 0 24 24"
2889    }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2890      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"
2891    }))
2892  };
2893  var embedFacebookIcon = {
2894    foreground: '#3b5998',
2895    src: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2896      viewBox: "0 0 24 24"
2897    }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2898      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"
2899    }))
2900  };
2901  var embedInstagramIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2902    viewBox: "0 0 24 24"
2903  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2904    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"
2905  })));
2906  var embedWordPressIcon = {
2907    foreground: '#0073AA',
2908    src: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2909      viewBox: "0 0 24 24"
2910    }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2911      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"
2912    })))
2913  };
2914  var embedSpotifyIcon = {
2915    foreground: '#1db954',
2916    src: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2917      viewBox: "0 0 24 24"
2918    }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2919      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"
2920    }))
2921  };
2922  var embedFlickrIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2923    viewBox: "0 0 24 24"
2924  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2925    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"
2926  }));
2927  var embedVimeoIcon = {
2928    foreground: '#1ab7ea',
2929    src: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2930      xmlns: "http://www.w3.org/2000/svg",
2931      viewBox: "0 0 24 24"
2932    }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2933      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"
2934    })))
2935  };
2936  var embedRedditIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2937    viewBox: "0 0 24 24"
2938  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2939    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"
2940  }));
2941  var embedTumblrIcon = {
2942    foreground: '#35465c',
2943    src: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2944      viewBox: "0 0 24 24"
2945    }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2946      d: "M19 3H5c-1.105 0-2 .895-2 2v14c0 1.105.895 2 2 2h14c1.105 0 2-.895 2-2V5c0-1.105-.895-2-2-2zm-5.57 14.265c-2.445.042-3.37-1.742-3.37-2.998V10.6H8.922V9.15c1.703-.615 2.113-2.15 2.21-3.026.006-.06.053-.084.08-.084h1.645V8.9h2.246v1.7H12.85v3.495c.008.476.182 1.13 1.08 1.107.3-.008.698-.094.907-.194l.54 1.6c-.205.297-1.12.642-1.946.657z"
2947    }))
2948  };
2949  var embedAmazonIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
2950    viewBox: "0 0 24 24"
2951  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2952    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"
2953  }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2954    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"
2955  }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
2956    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"
2957  }));
2958  
2959  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/core-embeds.js
2960  /**
2961   * Internal dependencies
2962   */
2963  
2964  /**
2965   * WordPress dependencies
2966   */
2967  
2968  
2969  
2970  var common = [{
2971    name: 'core-embed/twitter',
2972    settings: {
2973      title: 'Twitter',
2974      icon: embedTwitterIcon,
2975      keywords: ['tweet'],
2976      description: Object(external_this_wp_i18n_["__"])('Embed a tweet.')
2977    },
2978    patterns: [/^https?:\/\/(www\.)?twitter\.com\/.+/i]
2979  }, {
2980    name: 'core-embed/youtube',
2981    settings: {
2982      title: 'YouTube',
2983      icon: embedYouTubeIcon,
2984      keywords: [Object(external_this_wp_i18n_["__"])('music'), Object(external_this_wp_i18n_["__"])('video')],
2985      description: Object(external_this_wp_i18n_["__"])('Embed a YouTube video.')
2986    },
2987    patterns: [/^https?:\/\/((m|www)\.)?youtube\.com\/.+/i, /^https?:\/\/youtu\.be\/.+/i]
2988  }, {
2989    name: 'core-embed/facebook',
2990    settings: {
2991      title: 'Facebook',
2992      icon: embedFacebookIcon,
2993      description: Object(external_this_wp_i18n_["__"])('Embed a Facebook post.')
2994    },
2995    patterns: [/^https?:\/\/www\.facebook.com\/.+/i]
2996  }, {
2997    name: 'core-embed/instagram',
2998    settings: {
2999      title: 'Instagram',
3000      icon: embedInstagramIcon,
3001      keywords: [Object(external_this_wp_i18n_["__"])('image')],
3002      description: Object(external_this_wp_i18n_["__"])('Embed an Instagram post.')
3003    },
3004    patterns: [/^https?:\/\/(www\.)?instagr(\.am|am\.com)\/.+/i]
3005  }, {
3006    name: 'core-embed/wordpress',
3007    settings: {
3008      title: 'WordPress',
3009      icon: embedWordPressIcon,
3010      keywords: [Object(external_this_wp_i18n_["__"])('post'), Object(external_this_wp_i18n_["__"])('blog')],
3011      responsive: false,
3012      description: Object(external_this_wp_i18n_["__"])('Embed a WordPress post.')
3013    }
3014  }, {
3015    name: 'core-embed/soundcloud',
3016    settings: {
3017      title: 'SoundCloud',
3018      icon: embedAudioIcon,
3019      keywords: [Object(external_this_wp_i18n_["__"])('music'), Object(external_this_wp_i18n_["__"])('audio')],
3020      description: Object(external_this_wp_i18n_["__"])('Embed SoundCloud content.')
3021    },
3022    patterns: [/^https?:\/\/(www\.)?soundcloud\.com\/.+/i]
3023  }, {
3024    name: 'core-embed/spotify',
3025    settings: {
3026      title: 'Spotify',
3027      icon: embedSpotifyIcon,
3028      keywords: [Object(external_this_wp_i18n_["__"])('music'), Object(external_this_wp_i18n_["__"])('audio')],
3029      description: Object(external_this_wp_i18n_["__"])('Embed Spotify content.')
3030    },
3031    patterns: [/^https?:\/\/(open|play)\.spotify\.com\/.+/i]
3032  }, {
3033    name: 'core-embed/flickr',
3034    settings: {
3035      title: 'Flickr',
3036      icon: embedFlickrIcon,
3037      keywords: [Object(external_this_wp_i18n_["__"])('image')],
3038      description: Object(external_this_wp_i18n_["__"])('Embed Flickr content.')
3039    },
3040    patterns: [/^https?:\/\/(www\.)?flickr\.com\/.+/i, /^https?:\/\/flic\.kr\/.+/i]
3041  }, {
3042    name: 'core-embed/vimeo',
3043    settings: {
3044      title: 'Vimeo',
3045      icon: embedVimeoIcon,
3046      keywords: [Object(external_this_wp_i18n_["__"])('video')],
3047      description: Object(external_this_wp_i18n_["__"])('Embed a Vimeo video.')
3048    },
3049    patterns: [/^https?:\/\/(www\.)?vimeo\.com\/.+/i]
3050  }];
3051  var others = [{
3052    name: 'core-embed/animoto',
3053    settings: {
3054      title: 'Animoto',
3055      icon: embedVideoIcon,
3056      description: Object(external_this_wp_i18n_["__"])('Embed an Animoto video.')
3057    },
3058    patterns: [/^https?:\/\/(www\.)?(animoto|video214)\.com\/.+/i]
3059  }, {
3060    name: 'core-embed/cloudup',
3061    settings: {
3062      title: 'Cloudup',
3063      icon: embedContentIcon,
3064      description: Object(external_this_wp_i18n_["__"])('Embed Cloudup content.')
3065    },
3066    patterns: [/^https?:\/\/cloudup\.com\/.+/i]
3067  }, {
3068    // Deprecated since CollegeHumor content is now powered by YouTube
3069    name: 'core-embed/collegehumor',
3070    settings: {
3071      title: 'CollegeHumor',
3072      icon: embedVideoIcon,
3073      description: Object(external_this_wp_i18n_["__"])('Embed CollegeHumor content.'),
3074      supports: {
3075        inserter: false
3076      }
3077    },
3078    patterns: []
3079  }, {
3080    name: 'core-embed/crowdsignal',
3081    settings: {
3082      title: 'Crowdsignal',
3083      icon: embedContentIcon,
3084      keywords: ['polldaddy'],
3085      transform: [{
3086        type: 'block',
3087        blocks: ['core-embed/polldaddy'],
3088        transform: function transform(content) {
3089          return Object(external_this_wp_blocks_["createBlock"])('core-embed/crowdsignal', {
3090            content: content
3091          });
3092        }
3093      }],
3094      description: Object(external_this_wp_i18n_["__"])('Embed Crowdsignal (formerly Polldaddy) content.')
3095    },
3096    patterns: [/^https?:\/\/((.+\.)?polldaddy\.com|poll\.fm|.+\.survey\.fm)\/.+/i]
3097  }, {
3098    name: 'core-embed/dailymotion',
3099    settings: {
3100      title: 'Dailymotion',
3101      icon: embedVideoIcon,
3102      description: Object(external_this_wp_i18n_["__"])('Embed a Dailymotion video.')
3103    },
3104    patterns: [/^https?:\/\/(www\.)?dailymotion\.com\/.+/i]
3105  }, {
3106    name: 'core-embed/hulu',
3107    settings: {
3108      title: 'Hulu',
3109      icon: embedVideoIcon,
3110      description: Object(external_this_wp_i18n_["__"])('Embed Hulu content.')
3111    },
3112    patterns: [/^https?:\/\/(www\.)?hulu\.com\/.+/i]
3113  }, {
3114    name: 'core-embed/imgur',
3115    settings: {
3116      title: 'Imgur',
3117      icon: embedPhotoIcon,
3118      description: Object(external_this_wp_i18n_["__"])('Embed Imgur content.')
3119    },
3120    patterns: [/^https?:\/\/(.+\.)?imgur\.com\/.+/i]
3121  }, {
3122    name: 'core-embed/issuu',
3123    settings: {
3124      title: 'Issuu',
3125      icon: embedContentIcon,
3126      description: Object(external_this_wp_i18n_["__"])('Embed Issuu content.')
3127    },
3128    patterns: [/^https?:\/\/(www\.)?issuu\.com\/.+/i]
3129  }, {
3130    name: 'core-embed/kickstarter',
3131    settings: {
3132      title: 'Kickstarter',
3133      icon: embedContentIcon,
3134      description: Object(external_this_wp_i18n_["__"])('Embed Kickstarter content.')
3135    },
3136    patterns: [/^https?:\/\/(www\.)?kickstarter\.com\/.+/i, /^https?:\/\/kck\.st\/.+/i]
3137  }, {
3138    name: 'core-embed/meetup-com',
3139    settings: {
3140      title: 'Meetup.com',
3141      icon: embedContentIcon,
3142      description: Object(external_this_wp_i18n_["__"])('Embed Meetup.com content.')
3143    },
3144    patterns: [/^https?:\/\/(www\.)?meetu(\.ps|p\.com)\/.+/i]
3145  }, {
3146    name: 'core-embed/mixcloud',
3147    settings: {
3148      title: 'Mixcloud',
3149      icon: embedAudioIcon,
3150      keywords: [Object(external_this_wp_i18n_["__"])('music'), Object(external_this_wp_i18n_["__"])('audio')],
3151      description: Object(external_this_wp_i18n_["__"])('Embed Mixcloud content.')
3152    },
3153    patterns: [/^https?:\/\/(www\.)?mixcloud\.com\/.+/i]
3154  }, {
3155    // Deprecated in favour of the core-embed/crowdsignal block
3156    name: 'core-embed/polldaddy',
3157    settings: {
3158      title: 'Polldaddy',
3159      icon: embedContentIcon,
3160      description: Object(external_this_wp_i18n_["__"])('Embed Polldaddy content.'),
3161      supports: {
3162        inserter: false
3163      }
3164    },
3165    patterns: []
3166  }, {
3167    name: 'core-embed/reddit',
3168    settings: {
3169      title: 'Reddit',
3170      icon: embedRedditIcon,
3171      description: Object(external_this_wp_i18n_["__"])('Embed a Reddit thread.')
3172    },
3173    patterns: [/^https?:\/\/(www\.)?reddit\.com\/.+/i]
3174  }, {
3175    name: 'core-embed/reverbnation',
3176    settings: {
3177      title: 'ReverbNation',
3178      icon: embedAudioIcon,
3179      description: Object(external_this_wp_i18n_["__"])('Embed ReverbNation content.')
3180    },
3181    patterns: [/^https?:\/\/(www\.)?reverbnation\.com\/.+/i]
3182  }, {
3183    name: 'core-embed/screencast',
3184    settings: {
3185      title: 'Screencast',
3186      icon: embedVideoIcon,
3187      description: Object(external_this_wp_i18n_["__"])('Embed Screencast content.')
3188    },
3189    patterns: [/^https?:\/\/(www\.)?screencast\.com\/.+/i]
3190  }, {
3191    name: 'core-embed/scribd',
3192    settings: {
3193      title: 'Scribd',
3194      icon: embedContentIcon,
3195      description: Object(external_this_wp_i18n_["__"])('Embed Scribd content.')
3196    },
3197    patterns: [/^https?:\/\/(www\.)?scribd\.com\/.+/i]
3198  }, {
3199    name: 'core-embed/slideshare',
3200    settings: {
3201      title: 'Slideshare',
3202      icon: embedContentIcon,
3203      description: Object(external_this_wp_i18n_["__"])('Embed Slideshare content.')
3204    },
3205    patterns: [/^https?:\/\/(.+?\.)?slideshare\.net\/.+/i]
3206  }, {
3207    name: 'core-embed/smugmug',
3208    settings: {
3209      title: 'SmugMug',
3210      icon: embedPhotoIcon,
3211      description: Object(external_this_wp_i18n_["__"])('Embed SmugMug content.')
3212    },
3213    patterns: [/^https?:\/\/(www\.)?smugmug\.com\/.+/i]
3214  }, {
3215    // Deprecated in favour of the core-embed/speaker-deck block.
3216    name: 'core-embed/speaker',
3217    settings: {
3218      title: 'Speaker',
3219      icon: embedAudioIcon,
3220      supports: {
3221        inserter: false
3222      }
3223    },
3224    patterns: []
3225  }, {
3226    name: 'core-embed/speaker-deck',
3227    settings: {
3228      title: 'Speaker Deck',
3229      icon: embedContentIcon,
3230      transform: [{
3231        type: 'block',
3232        blocks: ['core-embed/speaker'],
3233        transform: function transform(content) {
3234          return Object(external_this_wp_blocks_["createBlock"])('core-embed/speaker-deck', {
3235            content: content
3236          });
3237        }
3238      }],
3239      description: Object(external_this_wp_i18n_["__"])('Embed Speaker Deck content.')
3240    },
3241    patterns: [/^https?:\/\/(www\.)?speakerdeck\.com\/.+/i]
3242  }, {
3243    name: 'core-embed/ted',
3244    settings: {
3245      title: 'TED',
3246      icon: embedVideoIcon,
3247      description: Object(external_this_wp_i18n_["__"])('Embed a TED video.')
3248    },
3249    patterns: [/^https?:\/\/(www\.|embed\.)?ted\.com\/.+/i]
3250  }, {
3251    name: 'core-embed/tumblr',
3252    settings: {
3253      title: 'Tumblr',
3254      icon: embedTumblrIcon,
3255      description: Object(external_this_wp_i18n_["__"])('Embed a Tumblr post.')
3256    },
3257    patterns: [/^https?:\/\/(www\.)?tumblr\.com\/.+/i]
3258  }, {
3259    name: 'core-embed/videopress',
3260    settings: {
3261      title: 'VideoPress',
3262      icon: embedVideoIcon,
3263      keywords: [Object(external_this_wp_i18n_["__"])('video')],
3264      description: Object(external_this_wp_i18n_["__"])('Embed a VideoPress video.')
3265    },
3266    patterns: [/^https?:\/\/videopress\.com\/.+/i]
3267  }, {
3268    name: 'core-embed/wordpress-tv',
3269    settings: {
3270      title: 'WordPress.tv',
3271      icon: embedVideoIcon,
3272      description: Object(external_this_wp_i18n_["__"])('Embed a WordPress.tv video.')
3273    },
3274    patterns: [/^https?:\/\/wordpress\.tv\/.+/i]
3275  }, {
3276    name: 'core-embed/amazon-kindle',
3277    settings: {
3278      title: 'Amazon Kindle',
3279      icon: embedAmazonIcon,
3280      keywords: [Object(external_this_wp_i18n_["__"])('ebook')],
3281      responsive: false,
3282      description: Object(external_this_wp_i18n_["__"])('Embed Amazon Kindle content.')
3283    },
3284    patterns: [/^https?:\/\/([a-z0-9-]+\.)?(amazon|amzn)(\.[a-z]{2,4})+\/.+/i, /^https?:\/\/(www\.)?(a\.co|z\.cn)\/.+/i]
3285  }];
3286  
3287  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/constants.js
3288  // These embeds do not work in sandboxes due to the iframe's security restrictions.
3289  var HOSTS_NO_PREVIEWS = ['facebook.com', 'smugmug.com'];
3290  var ASPECT_RATIOS = [// Common video resolutions.
3291  {
3292    ratio: '2.33',
3293    className: 'wp-embed-aspect-21-9'
3294  }, {
3295    ratio: '2.00',
3296    className: 'wp-embed-aspect-18-9'
3297  }, {
3298    ratio: '1.78',
3299    className: 'wp-embed-aspect-16-9'
3300  }, {
3301    ratio: '1.33',
3302    className: 'wp-embed-aspect-4-3'
3303  }, // Vertical video and instagram square video support.
3304  {
3305    ratio: '1.00',
3306    className: 'wp-embed-aspect-1-1'
3307  }, {
3308    ratio: '0.56',
3309    className: 'wp-embed-aspect-9-16'
3310  }, {
3311    ratio: '0.50',
3312    className: 'wp-embed-aspect-1-2'
3313  }];
3314  var DEFAULT_EMBED_BLOCK = 'core/embed';
3315  var WORDPRESS_EMBED_BLOCK = 'core-embed/wordpress';
3316  
3317  // EXTERNAL MODULE: ./node_modules/classnames/dedupe.js
3318  var dedupe = __webpack_require__(71);
3319  var dedupe_default = /*#__PURE__*/__webpack_require__.n(dedupe);
3320  
3321  // EXTERNAL MODULE: ./node_modules/memize/index.js
3322  var memize = __webpack_require__(42);
3323  var memize_default = /*#__PURE__*/__webpack_require__.n(memize);
3324  
3325  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/util.js
3326  
3327  
3328  
3329  
3330  
3331  /**
3332   * Internal dependencies
3333   */
3334  
3335  
3336  /**
3337   * External dependencies
3338   */
3339  
3340  
3341  
3342  
3343  /**
3344   * WordPress dependencies
3345   */
3346  
3347  
3348  
3349  /**
3350   * Returns true if any of the regular expressions match the URL.
3351   *
3352   * @param {string}   url      The URL to test.
3353   * @param {Array}    patterns The list of regular expressions to test agains.
3354   * @return {boolean} True if any of the regular expressions match the URL.
3355   */
3356  
3357  var matchesPatterns = function matchesPatterns(url) {
3358    var patterns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
3359    return patterns.some(function (pattern) {
3360      return url.match(pattern);
3361    });
3362  };
3363  /**
3364   * Finds the block name that should be used for the URL, based on the
3365   * structure of the URL.
3366   *
3367   * @param {string}  url The URL to test.
3368   * @return {string} The name of the block that should be used for this URL, e.g. core-embed/twitter
3369   */
3370  
3371  var util_findBlock = function findBlock(url) {
3372    for (var _i = 0, _arr = [].concat(Object(toConsumableArray["a" /* default */])(common), Object(toConsumableArray["a" /* default */])(others)); _i < _arr.length; _i++) {
3373      var block = _arr[_i];
3374  
3375      if (matchesPatterns(url, block.patterns)) {
3376        return block.name;
3377      }
3378    }
3379  
3380    return DEFAULT_EMBED_BLOCK;
3381  };
3382  var util_isFromWordPress = function isFromWordPress(html) {
3383    return Object(external_this_lodash_["includes"])(html, 'class="wp-embedded-content"');
3384  };
3385  var util_getPhotoHtml = function getPhotoHtml(photo) {
3386    // 100% width for the preview so it fits nicely into the document, some "thumbnails" are
3387    // actually the full size photo. If thumbnails not found, use full image.
3388    var imageUrl = photo.thumbnail_url ? photo.thumbnail_url : photo.url;
3389    var photoPreview = Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_element_["createElement"])("img", {
3390      src: imageUrl,
3391      alt: photo.title,
3392      width: "100%"
3393    }));
3394    return Object(external_this_wp_element_["renderToString"])(photoPreview);
3395  };
3396  /**
3397   * Creates a more suitable embed block based on the passed in props
3398   * and attributes generated from an embed block's preview.
3399   *
3400   * We require `attributesFromPreview` to be generated from the latest attributes
3401   * and preview, and because of the way the react lifecycle operates, we can't
3402   * guarantee that the attributes contained in the block's props are the latest
3403   * versions, so we require that these are generated separately.
3404   * See `getAttributesFromPreview` in the generated embed edit component.
3405   *
3406   * @param {Object} props                  The block's props.
3407   * @param {Object} attributesFromPreview  Attributes generated from the block's most up to date preview.
3408   * @return {Object|undefined} A more suitable embed block if one exists.
3409   */
3410  
3411  var util_createUpgradedEmbedBlock = function createUpgradedEmbedBlock(props, attributesFromPreview) {
3412    var preview = props.preview,
3413        name = props.name;
3414    var url = props.attributes.url;
3415  
3416    if (!url) {
3417      return;
3418    }
3419  
3420    var matchingBlock = util_findBlock(url);
3421  
3422    if (!Object(external_this_wp_blocks_["getBlockType"])(matchingBlock)) {
3423      return;
3424    } // WordPress blocks can work on multiple sites, and so don't have patterns,
3425    // so if we're in a WordPress block, assume the user has chosen it for a WordPress URL.
3426  
3427  
3428    if (WORDPRESS_EMBED_BLOCK !== name && DEFAULT_EMBED_BLOCK !== matchingBlock) {
3429      // At this point, we have discovered a more suitable block for this url, so transform it.
3430      if (name !== matchingBlock) {
3431        return Object(external_this_wp_blocks_["createBlock"])(matchingBlock, {
3432          url: url
3433        });
3434      }
3435    }
3436  
3437    if (preview) {
3438      var html = preview.html; // We can't match the URL for WordPress embeds, we have to check the HTML instead.
3439  
3440      if (util_isFromWordPress(html)) {
3441        // If this is not the WordPress embed block, transform it into one.
3442        if (WORDPRESS_EMBED_BLOCK !== name) {
3443          return Object(external_this_wp_blocks_["createBlock"])(WORDPRESS_EMBED_BLOCK, Object(objectSpread["a" /* default */])({
3444            url: url
3445          }, attributesFromPreview));
3446        }
3447      }
3448    }
3449  };
3450  /**
3451   * Returns class names with any relevant responsive aspect ratio names.
3452   *
3453   * @param {string}  html               The preview HTML that possibly contains an iframe with width and height set.
3454   * @param {string}  existingClassNames Any existing class names.
3455   * @param {boolean} allowResponsive    If the responsive class names should be added, or removed.
3456   * @return {string} Deduped class names.
3457   */
3458  
3459  function getClassNames(html) {
3460    var existingClassNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
3461    var allowResponsive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
3462  
3463    if (!allowResponsive) {
3464      // Remove all of the aspect ratio related class names.
3465      var aspectRatioClassNames = {
3466        'wp-has-aspect-ratio': false
3467      };
3468  
3469      for (var ratioIndex = 0; ratioIndex < ASPECT_RATIOS.length; ratioIndex++) {
3470        var aspectRatioToRemove = ASPECT_RATIOS[ratioIndex];
3471        aspectRatioClassNames[aspectRatioToRemove.className] = false;
3472      }
3473  
3474      return dedupe_default()(existingClassNames, aspectRatioClassNames);
3475    }
3476  
3477    var previewDocument = document.implementation.createHTMLDocument('');
3478    previewDocument.body.innerHTML = html;
3479    var iframe = previewDocument.body.querySelector('iframe'); // If we have a fixed aspect iframe, and it's a responsive embed block.
3480  
3481    if (iframe && iframe.height && iframe.width) {
3482      var aspectRatio = (iframe.width / iframe.height).toFixed(2); // Given the actual aspect ratio, find the widest ratio to support it.
3483  
3484      for (var _ratioIndex = 0; _ratioIndex < ASPECT_RATIOS.length; _ratioIndex++) {
3485        var potentialRatio = ASPECT_RATIOS[_ratioIndex];
3486  
3487        if (aspectRatio >= potentialRatio.ratio) {
3488          var _classnames;
3489  
3490          return dedupe_default()(existingClassNames, (_classnames = {}, Object(defineProperty["a" /* default */])(_classnames, potentialRatio.className, allowResponsive), Object(defineProperty["a" /* default */])(_classnames, 'wp-has-aspect-ratio', allowResponsive), _classnames));
3491        }
3492      }
3493    }
3494  
3495    return existingClassNames;
3496  }
3497  /**
3498   * Fallback behaviour for unembeddable URLs.
3499   * Creates a paragraph block containing a link to the URL, and calls `onReplace`.
3500   *
3501   * @param {string}   url       The URL that could not be embedded.
3502   * @param {Function} onReplace Function to call with the created fallback block.
3503   */
3504  
3505  function util_fallback(url, onReplace) {
3506    var link = Object(external_this_wp_element_["createElement"])("a", {
3507      href: url
3508    }, url);
3509    onReplace(Object(external_this_wp_blocks_["createBlock"])('core/paragraph', {
3510      content: Object(external_this_wp_element_["renderToString"])(link)
3511    }));
3512  }
3513  /***
3514   * Gets block attributes based on the preview and responsive state.
3515   *
3516   * @param {Object} preview The preview data.
3517   * @param {string} title The block's title, e.g. Twitter.
3518   * @param {Object} currentClassNames The block's current class names.
3519   * @param {boolean} isResponsive Boolean indicating if the block supports responsive content.
3520   * @param {boolean} allowResponsive Apply responsive classes to fixed size content.
3521   * @return {Object} Attributes and values.
3522   */
3523  
3524  var getAttributesFromPreview = memize_default()(function (preview, title, currentClassNames, isResponsive) {
3525    var allowResponsive = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
3526  
3527    if (!preview) {
3528      return {};
3529    }
3530  
3531    var attributes = {}; // Some plugins only return HTML with no type info, so default this to 'rich'.
3532  
3533    var _preview$type = preview.type,
3534        type = _preview$type === void 0 ? 'rich' : _preview$type; // If we got a provider name from the API, use it for the slug, otherwise we use the title,
3535    // because not all embed code gives us a provider name.
3536  
3537    var html = preview.html,
3538        providerName = preview.provider_name;
3539    var providerNameSlug = Object(external_this_lodash_["kebabCase"])(Object(external_this_lodash_["toLower"])('' !== providerName ? providerName : title));
3540  
3541    if (util_isFromWordPress(html)) {
3542      type = 'wp-embed';
3543    }
3544  
3545    if (html || 'photo' === type) {
3546      attributes.type = type;
3547      attributes.providerNameSlug = providerNameSlug;
3548    }
3549  
3550    attributes.className = getClassNames(html, currentClassNames, isResponsive && allowResponsive);
3551    return attributes;
3552  });
3553  
3554  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/icon.js
3555  
3556  
3557  /**
3558   * WordPress dependencies
3559   */
3560  
3561  /* harmony default export */ var image_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
3562    viewBox: "0 0 24 24",
3563    xmlns: "http://www.w3.org/2000/svg"
3564  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
3565    d: "M0,0h24v24H0V0z",
3566    fill: "none"
3567  }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
3568    d: "m19 5v14h-14v-14h14m0-2h-14c-1.1 0-2 0.9-2 2v14c0 1.1 0.9 2 2 2h14c1.1 0 2-0.9 2-2v-14c0-1.1-0.9-2-2-2z"
3569  }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
3570    d: "m14.14 11.86l-3 3.87-2.14-2.59-3 3.86h12l-3.86-5.14z"
3571  })));
3572  var editImageIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
3573    width: 20,
3574    height: 20,
3575    viewBox: "0 0 20 20"
3576  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
3577    x: 11,
3578    y: 3,
3579    width: 7,
3580    height: 5,
3581    rx: 1
3582  }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
3583    x: 2,
3584    y: 12,
3585    width: 7,
3586    height: 5,
3587    rx: 1
3588  }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
3589    d: "M13,12h1a3,3,0,0,1-3,3v2a5,5,0,0,0,5-5h1L15,9Z"
3590  }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
3591    d: "M4,8H3l2,3L7,8H6A3,3,0,0,1,9,5V3A5,5,0,0,0,4,8Z"
3592  }));
3593  
3594  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/constants.js
3595  var MIN_SIZE = 20;
3596  var LINK_DESTINATION_NONE = 'none';
3597  var LINK_DESTINATION_MEDIA = 'media';
3598  var LINK_DESTINATION_ATTACHMENT = 'attachment';
3599  var LINK_DESTINATION_CUSTOM = 'custom';
3600  var NEW_TAB_REL = ['noreferrer', 'noopener'];
3601  var ALLOWED_MEDIA_TYPES = ['image'];
3602  var DEFAULT_SIZE_SLUG = 'large';
3603  
3604  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/utils.js
3605  /**
3606   * External dependencies
3607   */
3608  
3609  /**
3610   * Internal dependencies
3611   */
3612  
3613  
3614  function calculatePreferedImageSize(image, container) {
3615    var maxWidth = container.clientWidth;
3616    var exceedMaxWidth = image.width > maxWidth;
3617    var ratio = image.height / image.width;
3618    var width = exceedMaxWidth ? maxWidth : image.width;
3619    var height = exceedMaxWidth ? maxWidth * ratio : image.height;
3620    return {
3621      width: width,
3622      height: height
3623    };
3624  }
3625  function removeNewTabRel(currentRel) {
3626    var newRel = currentRel;
3627  
3628    if (currentRel !== undefined && !Object(external_this_lodash_["isEmpty"])(newRel)) {
3629      if (!Object(external_this_lodash_["isEmpty"])(newRel)) {
3630        Object(external_this_lodash_["each"])(NEW_TAB_REL, function (relVal) {
3631          var regExp = new RegExp('\\b' + relVal + '\\b', 'gi');
3632          newRel = newRel.replace(regExp, '');
3633        }); // Only trim if NEW_TAB_REL values was replaced.
3634  
3635        if (newRel !== currentRel) {
3636          newRel = newRel.trim();
3637        }
3638  
3639        if (Object(external_this_lodash_["isEmpty"])(newRel)) {
3640          newRel = undefined;
3641        }
3642      }
3643    }
3644  
3645    return newRel;
3646  }
3647  /**
3648   * Helper to get the link target settings to be stored.
3649   *
3650   * @param {boolean} value         The new link target value.
3651   * @param {Object} attributes     Block attributes.
3652   * @param {Object} attributes.rel Image block's rel attribute.
3653   *
3654   * @return {Object} Updated link target settings.
3655   */
3656  
3657  function getUpdatedLinkTargetSettings(value, _ref) {
3658    var rel = _ref.rel;
3659    var linkTarget = value ? '_blank' : undefined;
3660    var updatedRel;
3661  
3662    if (!linkTarget && !rel) {
3663      updatedRel = undefined;
3664    } else {
3665      updatedRel = removeNewTabRel(rel);
3666    }
3667  
3668    return {
3669      linkTarget: linkTarget,
3670      rel: updatedRel
3671    };
3672  }
3673  
3674  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-size.js
3675  
3676  
3677  
3678  
3679  
3680  
3681  
3682  
3683  /**
3684   * External dependencies
3685   */
3686  
3687  /**
3688   * WordPress dependencies
3689   */
3690  
3691  
3692  
3693  /**
3694   * Internal dependencies
3695   */
3696  
3697  
3698  
3699  var image_size_ImageSize =
3700  /*#__PURE__*/
3701  function (_Component) {
3702    Object(inherits["a" /* default */])(ImageSize, _Component);
3703  
3704    function ImageSize() {
3705      var _this;
3706  
3707      Object(classCallCheck["a" /* default */])(this, ImageSize);
3708  
3709      _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(ImageSize).apply(this, arguments));
3710      _this.state = {
3711        width: undefined,
3712        height: undefined
3713      };
3714      _this.bindContainer = _this.bindContainer.bind(Object(assertThisInitialized["a" /* default */])(_this));
3715      _this.calculateSize = _this.calculateSize.bind(Object(assertThisInitialized["a" /* default */])(_this));
3716      return _this;
3717    }
3718  
3719    Object(createClass["a" /* default */])(ImageSize, [{
3720      key: "bindContainer",
3721      value: function bindContainer(ref) {
3722        this.container = ref;
3723      }
3724    }, {
3725      key: "componentDidUpdate",
3726      value: function componentDidUpdate(prevProps) {
3727        if (this.props.src !== prevProps.src) {
3728          this.setState({
3729            width: undefined,
3730            height: undefined
3731          });
3732          this.fetchImageSize();
3733        }
3734  
3735        if (this.props.dirtynessTrigger !== prevProps.dirtynessTrigger) {
3736          this.calculateSize();
3737        }
3738      }
3739    }, {
3740      key: "componentDidMount",
3741      value: function componentDidMount() {
3742        this.fetchImageSize();
3743      }
3744    }, {
3745      key: "componentWillUnmount",
3746      value: function componentWillUnmount() {
3747        if (this.image) {
3748          this.image.onload = external_this_lodash_["noop"];
3749        }
3750      }
3751    }, {
3752      key: "fetchImageSize",
3753      value: function fetchImageSize() {
3754        this.image = new window.Image();
3755        this.image.onload = this.calculateSize;
3756        this.image.src = this.props.src;
3757      }
3758    }, {
3759      key: "calculateSize",
3760      value: function calculateSize() {
3761        var _calculatePreferedIma = calculatePreferedImageSize(this.image, this.container),
3762            width = _calculatePreferedIma.width,
3763            height = _calculatePreferedIma.height;
3764  
3765        this.setState({
3766          width: width,
3767          height: height
3768        });
3769      }
3770    }, {
3771      key: "render",
3772      value: function render() {
3773        var sizes = {
3774          imageWidth: this.image && this.image.width,
3775          imageHeight: this.image && this.image.height,
3776          containerWidth: this.container && this.container.clientWidth,
3777          containerHeight: this.container && this.container.clientHeight,
3778          imageWidthWithinContainer: this.state.width,
3779          imageHeightWithinContainer: this.state.height
3780        };
3781        return Object(external_this_wp_element_["createElement"])("div", {
3782          ref: this.bindContainer
3783        }, this.props.children(sizes));
3784      }
3785    }]);
3786  
3787    return ImageSize;
3788  }(external_this_wp_element_["Component"]);
3789  
3790  /* harmony default export */ var image_size = (Object(external_this_wp_compose_["withGlobalEvents"])({
3791    resize: 'calculateSize'
3792  })(image_size_ImageSize));
3793  
3794  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/edit.js
3795  
3796  
3797  
3798  
3799  
3800  
3801  
3802  
3803  
3804  
3805  
3806  /**
3807   * External dependencies
3808   */
3809  
3810  
3811  /**
3812   * WordPress dependencies
3813   */
3814  
3815  
3816  
3817  
3818  
3819  
3820  
3821  
3822  
3823  
3824  /**
3825   * Internal dependencies
3826   */
3827  
3828  
3829  
3830  
3831  /**
3832   * Module constants
3833   */
3834  
3835  
3836  var edit_pickRelevantMediaFiles = function pickRelevantMediaFiles(image) {
3837    var imageProps = Object(external_this_lodash_["pick"])(image, ['alt', 'id', 'link', 'caption']);
3838    imageProps.url = Object(external_this_lodash_["get"])(image, ['sizes', 'large', 'url']) || Object(external_this_lodash_["get"])(image, ['media_details', 'sizes', 'large', 'source_url']) || image.url;
3839    return imageProps;
3840  };
3841  /**
3842   * Is the URL a temporary blob URL? A blob URL is one that is used temporarily
3843   * while the image is being uploaded and will not have an id yet allocated.
3844   *
3845   * @param {number=} id The id of the image.
3846   * @param {string=} url The url of the image.
3847   *
3848   * @return {boolean} Is the URL a Blob URL
3849   */
3850  
3851  var edit_isTemporaryImage = function isTemporaryImage(id, url) {
3852    return !id && Object(external_this_wp_blob_["isBlobURL"])(url);
3853  };
3854  /**
3855   * Is the url for the image hosted externally. An externally hosted image has no id
3856   * and is not a blob url.
3857   *
3858   * @param {number=} id  The id of the image.
3859   * @param {string=} url The url of the image.
3860   *
3861   * @return {boolean} Is the url an externally hosted url?
3862   */
3863  
3864  
3865  var edit_isExternalImage = function isExternalImage(id, url) {
3866    return url && !id && !Object(external_this_wp_blob_["isBlobURL"])(url);
3867  };
3868  
3869  var edit_ImageEdit =
3870  /*#__PURE__*/
3871  function (_Component) {
3872    Object(inherits["a" /* default */])(ImageEdit, _Component);
3873  
3874    function ImageEdit() {
3875      var _this;
3876  
3877      Object(classCallCheck["a" /* default */])(this, ImageEdit);
3878  
3879      _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(ImageEdit).apply(this, arguments));
3880      _this.updateAlt = _this.updateAlt.bind(Object(assertThisInitialized["a" /* default */])(_this));
3881      _this.updateAlignment = _this.updateAlignment.bind(Object(assertThisInitialized["a" /* default */])(_this));
3882      _this.onFocusCaption = _this.onFocusCaption.bind(Object(assertThisInitialized["a" /* default */])(_this));
3883      _this.onImageClick = _this.onImageClick.bind(Object(assertThisInitialized["a" /* default */])(_this));
3884      _this.onSelectImage = _this.onSelectImage.bind(Object(assertThisInitialized["a" /* default */])(_this));
3885      _this.onSelectURL = _this.onSelectURL.bind(Object(assertThisInitialized["a" /* default */])(_this));
3886      _this.updateImage = _this.updateImage.bind(Object(assertThisInitialized["a" /* default */])(_this));
3887      _this.updateWidth = _this.updateWidth.bind(Object(assertThisInitialized["a" /* default */])(_this));
3888      _this.updateHeight = _this.updateHeight.bind(Object(assertThisInitialized["a" /* default */])(_this));
3889      _this.updateDimensions = _this.updateDimensions.bind(Object(assertThisInitialized["a" /* default */])(_this));
3890      _this.onSetHref = _this.onSetHref.bind(Object(assertThisInitialized["a" /* default */])(_this));
3891      _this.onSetTitle = _this.onSetTitle.bind(Object(assertThisInitialized["a" /* default */])(_this));
3892      _this.getFilename = _this.getFilename.bind(Object(assertThisInitialized["a" /* default */])(_this));
3893      _this.onUploadError = _this.onUploadError.bind(Object(assertThisInitialized["a" /* default */])(_this));
3894      _this.onImageError = _this.onImageError.bind(Object(assertThisInitialized["a" /* default */])(_this));
3895      _this.state = {
3896        captionFocused: false
3897      };
3898      return _this;
3899    }
3900  
3901    Object(createClass["a" /* default */])(ImageEdit, [{
3902      key: "componentDidMount",
3903      value: function componentDidMount() {
3904        var _this2 = this;
3905  
3906        var _this$props = this.props,
3907            attributes = _this$props.attributes,
3908            mediaUpload = _this$props.mediaUpload,
3909            noticeOperations = _this$props.noticeOperations;
3910        var id = attributes.id,
3911            _attributes$url = attributes.url,
3912            url = _attributes$url === void 0 ? '' : _attributes$url;
3913  
3914        if (edit_isTemporaryImage(id, url)) {
3915          var file = Object(external_this_wp_blob_["getBlobByURL"])(url);
3916  
3917          if (file) {
3918            mediaUpload({
3919              filesList: [file],
3920              onFileChange: function onFileChange(_ref) {
3921                var _ref2 = Object(slicedToArray["a" /* default */])(_ref, 1),
3922                    image = _ref2[0];
3923  
3924                _this2.onSelectImage(image);
3925              },
3926              allowedTypes: ALLOWED_MEDIA_TYPES,
3927              onError: function onError(message) {
3928                noticeOperations.createErrorNotice(message);
3929              }
3930            });
3931          }
3932        }
3933      }
3934    }, {
3935      key: "componentDidUpdate",
3936      value: function componentDidUpdate(prevProps) {
3937        var _prevProps$attributes = prevProps.attributes,
3938            prevID = _prevProps$attributes.id,
3939            _prevProps$attributes2 = _prevProps$attributes.url,
3940            prevURL = _prevProps$attributes2 === void 0 ? '' : _prevProps$attributes2;
3941        var _this$props$attribute = this.props.attributes,
3942            id = _this$props$attribute.id,
3943            _this$props$attribute2 = _this$props$attribute.url,
3944            url = _this$props$attribute2 === void 0 ? '' : _this$props$attribute2;
3945  
3946        if (edit_isTemporaryImage(prevID, prevURL) && !edit_isTemporaryImage(id, url)) {
3947          Object(external_this_wp_blob_["revokeBlobURL"])(url);
3948        }
3949  
3950        if (!this.props.isSelected && prevProps.isSelected && this.state.captionFocused) {
3951          this.setState({
3952            captionFocused: false
3953          });
3954        }
3955      }
3956    }, {
3957      key: "onUploadError",
3958      value: function onUploadError(message) {
3959        var noticeOperations = this.props.noticeOperations;
3960        noticeOperations.removeAllNotices();
3961        noticeOperations.createErrorNotice(message);
3962      }
3963    }, {
3964      key: "onSelectImage",
3965      value: function onSelectImage(media) {
3966        if (!media || !media.url) {
3967          this.props.setAttributes({
3968            url: undefined,
3969            alt: undefined,
3970            id: undefined,
3971            title: undefined,
3972            caption: undefined
3973          });
3974          return;
3975        }
3976  
3977        var _this$props$attribute3 = this.props.attributes,
3978            id = _this$props$attribute3.id,
3979            url = _this$props$attribute3.url,
3980            alt = _this$props$attribute3.alt,
3981            caption = _this$props$attribute3.caption,
3982            linkDestination = _this$props$attribute3.linkDestination;
3983        var mediaAttributes = edit_pickRelevantMediaFiles(media); // If the current image is temporary but an alt or caption text was meanwhile written by the user,
3984        // make sure the text is not overwritten.
3985  
3986        if (edit_isTemporaryImage(id, url)) {
3987          if (alt) {
3988            mediaAttributes = Object(external_this_lodash_["omit"])(mediaAttributes, ['alt']);
3989          }
3990  
3991          if (caption) {
3992            mediaAttributes = Object(external_this_lodash_["omit"])(mediaAttributes, ['caption']);
3993          }
3994        }
3995  
3996        var additionalAttributes; // Reset the dimension attributes if changing to a different image.
3997  
3998        if (!media.id || media.id !== id) {
3999          additionalAttributes = {
4000            width: undefined,
4001            height: undefined,
4002            sizeSlug: DEFAULT_SIZE_SLUG
4003          };
4004        } else {
4005          // Keep the same url when selecting the same file, so "Image Size" option is not changed.
4006          additionalAttributes = {
4007            url: url
4008          };
4009        } // Check if the image is linked to it's media.
4010  
4011  
4012        if (linkDestination === LINK_DESTINATION_MEDIA) {
4013          // Update the media link.
4014          mediaAttributes.href = media.url;
4015        } // Check if the image is linked to the attachment page.
4016  
4017  
4018        if (linkDestination === LINK_DESTINATION_ATTACHMENT) {
4019          // Update the media link.
4020          mediaAttributes.href = media.link;
4021        }
4022  
4023        this.props.setAttributes(Object(objectSpread["a" /* default */])({}, mediaAttributes, additionalAttributes));
4024      }
4025    }, {
4026      key: "onSelectURL",
4027      value: function onSelectURL(newURL) {
4028        var url = this.props.attributes.url;
4029  
4030        if (newURL !== url) {
4031          this.props.setAttributes({
4032            url: newURL,
4033            id: undefined,
4034            sizeSlug: DEFAULT_SIZE_SLUG
4035          });
4036        }
4037      }
4038    }, {
4039      key: "onImageError",
4040      value: function onImageError(url) {
4041        // Check if there's an embed block that handles this URL.
4042        var embedBlock = util_createUpgradedEmbedBlock({
4043          attributes: {
4044            url: url
4045          }
4046        });
4047  
4048        if (undefined !== embedBlock) {
4049          this.props.onReplace(embedBlock);
4050        }
4051      }
4052    }, {
4053      key: "onSetHref",
4054      value: function onSetHref(props) {
4055        this.props.setAttributes(props);
4056      }
4057    }, {
4058      key: "onSetTitle",
4059      value: function onSetTitle(value) {
4060        // This is the HTML title attribute, separate from the media object title
4061        this.props.setAttributes({
4062          title: value
4063        });
4064      }
4065    }, {
4066      key: "onFocusCaption",
4067      value: function onFocusCaption() {
4068        if (!this.state.captionFocused) {
4069          this.setState({
4070            captionFocused: true
4071          });
4072        }
4073      }
4074    }, {
4075      key: "onImageClick",
4076      value: function onImageClick() {
4077        if (this.state.captionFocused) {
4078          this.setState({
4079            captionFocused: false
4080          });
4081        }
4082      }
4083    }, {
4084      key: "updateAlt",
4085      value: function updateAlt(newAlt) {
4086        this.props.setAttributes({
4087          alt: newAlt
4088        });
4089      }
4090    }, {
4091      key: "updateAlignment",
4092      value: function updateAlignment(nextAlign) {
4093        var extraUpdatedAttributes = ['wide', 'full'].indexOf(nextAlign) !== -1 ? {
4094          width: undefined,
4095          height: undefined
4096        } : {};
4097        this.props.setAttributes(Object(objectSpread["a" /* default */])({}, extraUpdatedAttributes, {
4098          align: nextAlign
4099        }));
4100      }
4101    }, {
4102      key: "updateImage",
4103      value: function updateImage(sizeSlug) {
4104        var image = this.props.image;
4105        var url = Object(external_this_lodash_["get"])(image, ['media_details', 'sizes', sizeSlug, 'source_url']);
4106  
4107        if (!url) {
4108          return null;
4109        }
4110  
4111        this.props.setAttributes({
4112          url: url,
4113          width: undefined,
4114          height: undefined,
4115          sizeSlug: sizeSlug
4116        });
4117      }
4118    }, {
4119      key: "updateWidth",
4120      value: function updateWidth(width) {
4121        this.props.setAttributes({
4122          width: parseInt(width, 10)
4123        });
4124      }
4125    }, {
4126      key: "updateHeight",
4127      value: function updateHeight(height) {
4128        this.props.setAttributes({
4129          height: parseInt(height, 10)
4130        });
4131      }
4132    }, {
4133      key: "updateDimensions",
4134      value: function updateDimensions() {
4135        var _this3 = this;
4136  
4137        var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
4138        var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
4139        return function () {
4140          _this3.props.setAttributes({
4141            width: width,
4142            height: height
4143          });
4144        };
4145      }
4146    }, {
4147      key: "getFilename",
4148      value: function getFilename(url) {
4149        var path = Object(external_this_wp_url_["getPath"])(url);
4150  
4151        if (path) {
4152          return Object(external_this_lodash_["last"])(path.split('/'));
4153        }
4154      }
4155    }, {
4156      key: "getImageSizeOptions",
4157      value: function getImageSizeOptions() {
4158        var _this$props2 = this.props,
4159            imageSizes = _this$props2.imageSizes,
4160            image = _this$props2.image;
4161        return Object(external_this_lodash_["map"])(Object(external_this_lodash_["filter"])(imageSizes, function (_ref3) {
4162          var slug = _ref3.slug;
4163          return Object(external_this_lodash_["get"])(image, ['media_details', 'sizes', slug, 'source_url']);
4164        }), function (_ref4) {
4165          var name = _ref4.name,
4166              slug = _ref4.slug;
4167          return {
4168            value: slug,
4169            label: name
4170          };
4171        });
4172      }
4173    }, {
4174      key: "render",
4175      value: function render() {
4176        var _this4 = this;
4177  
4178        var _this$props3 = this.props,
4179            attributes = _this$props3.attributes,
4180            setAttributes = _this$props3.setAttributes,
4181            isLargeViewport = _this$props3.isLargeViewport,
4182            isSelected = _this$props3.isSelected,
4183            className = _this$props3.className,
4184            maxWidth = _this$props3.maxWidth,
4185            noticeUI = _this$props3.noticeUI,
4186            isRTL = _this$props3.isRTL,
4187            onResizeStart = _this$props3.onResizeStart,
4188            _onResizeStop = _this$props3.onResizeStop;
4189        var url = attributes.url,
4190            alt = attributes.alt,
4191            caption = attributes.caption,
4192            align = attributes.align,
4193            id = attributes.id,
4194            href = attributes.href,
4195            rel = attributes.rel,
4196            linkClass = attributes.linkClass,
4197            linkDestination = attributes.linkDestination,
4198            title = attributes.title,
4199            width = attributes.width,
4200            height = attributes.height,
4201            linkTarget = attributes.linkTarget,
4202            sizeSlug = attributes.sizeSlug;
4203        var isExternal = edit_isExternalImage(id, url);
4204        var controls = Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockAlignmentToolbar"], {
4205          value: align,
4206          onChange: this.updateAlignment
4207        }), url && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaReplaceFlow"], {
4208          mediaURL: url,
4209          allowedTypes: ALLOWED_MEDIA_TYPES,
4210          accept: "image/*",
4211          onSelect: this.onSelectImage,
4212          onSelectURL: this.onSelectURL,
4213          onError: this.onUploadError
4214        }), url && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToolbarGroup"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["__experimentalImageURLInputUI"], {
4215          url: href || '',
4216          onChangeUrl: this.onSetHref,
4217          linkDestination: linkDestination,
4218          mediaUrl: this.props.image && this.props.image.source_url,
4219          mediaLink: this.props.image && this.props.image.link,
4220          linkTarget: linkTarget,
4221          linkClass: linkClass,
4222          rel: rel
4223        })));
4224        var src = isExternal ? url : undefined;
4225        var labels = {
4226          title: !url ? Object(external_this_wp_i18n_["__"])('Image') : Object(external_this_wp_i18n_["__"])('Edit image'),
4227          instructions: Object(external_this_wp_i18n_["__"])('Upload an image file, pick one from your media library, or add one with a URL.')
4228        };
4229        var mediaPreview = !!url && Object(external_this_wp_element_["createElement"])("img", {
4230          alt: Object(external_this_wp_i18n_["__"])('Edit image'),
4231          title: Object(external_this_wp_i18n_["__"])('Edit image'),
4232          className: 'edit-image-preview',
4233          src: url
4234        });
4235        var mediaPlaceholder = Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaPlaceholder"], {
4236          icon: Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockIcon"], {
4237            icon: image_icon
4238          }),
4239          className: className,
4240          labels: labels,
4241          onSelect: this.onSelectImage,
4242          onSelectURL: this.onSelectURL,
4243          notices: noticeUI,
4244          onError: this.onUploadError,
4245          accept: "image/*",
4246          allowedTypes: ALLOWED_MEDIA_TYPES,
4247          value: {
4248            id: id,
4249            src: src
4250          },
4251          mediaPreview: mediaPreview,
4252          disableMediaButtons: url
4253        });
4254  
4255        if (!url) {
4256          return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, controls, mediaPlaceholder);
4257        }
4258  
4259        var classes = classnames_default()(className, Object(defineProperty["a" /* default */])({
4260          'is-transient': Object(external_this_wp_blob_["isBlobURL"])(url),
4261          'is-resized': !!width || !!height,
4262          'is-focused': isSelected
4263        }, "size-".concat(sizeSlug), sizeSlug));
4264        var isResizable = ['wide', 'full'].indexOf(align) === -1 && isLargeViewport;
4265        var imageSizeOptions = this.getImageSizeOptions();
4266  
4267        var getInspectorControls = function getInspectorControls(imageWidth, imageHeight) {
4268          return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
4269            title: Object(external_this_wp_i18n_["__"])('Image Settings')
4270          }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextareaControl"], {
4271            label: Object(external_this_wp_i18n_["__"])('Alt Text (Alternative Text)'),
4272            value: alt,
4273            onChange: _this4.updateAlt,
4274            help: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ExternalLink"], {
4275              href: "https://www.w3.org/WAI/tutorials/images/decision-tree"
4276            }, Object(external_this_wp_i18n_["__"])('Describe the purpose of the image')), Object(external_this_wp_i18n_["__"])('Leave empty if the image is purely decorative.'))
4277          }), !Object(external_this_lodash_["isEmpty"])(imageSizeOptions) && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SelectControl"], {
4278            label: Object(external_this_wp_i18n_["__"])('Image Size'),
4279            value: sizeSlug,
4280            options: imageSizeOptions,
4281            onChange: _this4.updateImage
4282          }), isResizable && Object(external_this_wp_element_["createElement"])("div", {
4283            className: "block-library-image__dimensions"
4284          }, Object(external_this_wp_element_["createElement"])("p", {
4285            className: "block-library-image__dimensions__row"
4286          }, Object(external_this_wp_i18n_["__"])('Image Dimensions')), Object(external_this_wp_element_["createElement"])("div", {
4287            className: "block-library-image__dimensions__row"
4288          }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextControl"], {
4289            type: "number",
4290            className: "block-library-image__dimensions__width",
4291            label: Object(external_this_wp_i18n_["__"])('Width'),
4292            value: width || imageWidth || '',
4293            min: 1,
4294            onChange: _this4.updateWidth
4295          }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextControl"], {
4296            type: "number",
4297            className: "block-library-image__dimensions__height",
4298            label: Object(external_this_wp_i18n_["__"])('Height'),
4299            value: height || imageHeight || '',
4300            min: 1,
4301            onChange: _this4.updateHeight
4302          })), Object(external_this_wp_element_["createElement"])("div", {
4303            className: "block-library-image__dimensions__row"
4304          }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ButtonGroup"], {
4305            "aria-label": Object(external_this_wp_i18n_["__"])('Image Size')
4306          }, [25, 50, 75, 100].map(function (scale) {
4307            var scaledWidth = Math.round(imageWidth * (scale / 100));
4308            var scaledHeight = Math.round(imageHeight * (scale / 100));
4309            var isCurrent = width === scaledWidth && height === scaledHeight;
4310            return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
4311              key: scale,
4312              isSmall: true,
4313              isPrimary: isCurrent,
4314              isPressed: isCurrent,
4315              onClick: _this4.updateDimensions(scaledWidth, scaledHeight)
4316            }, scale, "%");
4317          })), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
4318            isSmall: true,
4319            onClick: _this4.updateDimensions()
4320          }, Object(external_this_wp_i18n_["__"])('Reset')))))), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorAdvancedControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextControl"], {
4321            label: Object(external_this_wp_i18n_["__"])('Title Attribute'),
4322            value: title || '',
4323            onChange: _this4.onSetTitle,
4324            help: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_i18n_["__"])('Describe the role of this image on the page.'), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ExternalLink"], {
4325              href: "https://www.w3.org/TR/html52/dom.html#the-title-attribute"
4326            }, Object(external_this_wp_i18n_["__"])('(Note: many devices and browsers do not display this text.)')))
4327          })));
4328        }; // Disable reason: Each block can be selected by clicking on it
4329  
4330        /* eslint-disable jsx-a11y/click-events-have-key-events */
4331  
4332  
4333        return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, controls, Object(external_this_wp_element_["createElement"])("figure", {
4334          className: classes
4335        }, Object(external_this_wp_element_["createElement"])(image_size, {
4336          src: url,
4337          dirtynessTrigger: align
4338        }, function (sizes) {
4339          var imageWidthWithinContainer = sizes.imageWidthWithinContainer,
4340              imageHeightWithinContainer = sizes.imageHeightWithinContainer,
4341              imageWidth = sizes.imageWidth,
4342              imageHeight = sizes.imageHeight;
4343  
4344          var filename = _this4.getFilename(url);
4345  
4346          var defaultedAlt;
4347  
4348          if (alt) {
4349            defaultedAlt = alt;
4350          } else if (filename) {
4351            defaultedAlt = Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('This image has an empty alt attribute; its file name is %s'), filename);
4352          } else {
4353            defaultedAlt = Object(external_this_wp_i18n_["__"])('This image has an empty alt attribute');
4354          }
4355  
4356          var img = // Disable reason: Image itself is not meant to be interactive, but
4357          // should direct focus to block.
4358  
4359          /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */
4360          Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("img", {
4361            src: url,
4362            alt: defaultedAlt,
4363            onClick: _this4.onImageClick,
4364            onError: function onError() {
4365              return _this4.onImageError(url);
4366            }
4367          }), Object(external_this_wp_blob_["isBlobURL"])(url) && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Spinner"], null))
4368          /* eslint-enable jsx-a11y/no-noninteractive-element-interactions */
4369          ;
4370  
4371          if (!isResizable || !imageWidthWithinContainer) {
4372            return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, getInspectorControls(imageWidth, imageHeight), Object(external_this_wp_element_["createElement"])("div", {
4373              style: {
4374                width: width,
4375                height: height
4376              }
4377            }, img));
4378          }
4379  
4380          var currentWidth = width || imageWidthWithinContainer;
4381          var currentHeight = height || imageHeightWithinContainer;
4382          var ratio = imageWidth / imageHeight;
4383          var minWidth = imageWidth < imageHeight ? MIN_SIZE : MIN_SIZE * ratio;
4384          var minHeight = imageHeight < imageWidth ? MIN_SIZE : MIN_SIZE / ratio; // With the current implementation of ResizableBox, an image needs an explicit pixel value for the max-width.
4385          // In absence of being able to set the content-width, this max-width is currently dictated by the vanilla editor style.
4386          // The following variable adds a buffer to this vanilla style, so 3rd party themes have some wiggleroom.
4387          // This does, in most cases, allow you to scale the image beyond the width of the main column, though not infinitely.
4388          // @todo It would be good to revisit this once a content-width variable becomes available.
4389  
4390          var maxWidthBuffer = maxWidth * 2.5;
4391          var showRightHandle = false;
4392          var showLeftHandle = false;
4393          /* eslint-disable no-lonely-if */
4394          // See https://github.com/WordPress/gutenberg/issues/7584.
4395  
4396          if (align === 'center') {
4397            // When the image is centered, show both handles.
4398            showRightHandle = true;
4399            showLeftHandle = true;
4400          } else if (isRTL) {
4401            // In RTL mode the image is on the right by default.
4402            // Show the right handle and hide the left handle only when it is aligned left.
4403            // Otherwise always show the left handle.
4404            if (align === 'left') {
4405              showRightHandle = true;
4406            } else {
4407              showLeftHandle = true;
4408            }
4409          } else {
4410            // Show the left handle and hide the right handle only when the image is aligned right.
4411            // Otherwise always show the right handle.
4412            if (align === 'right') {
4413              showLeftHandle = true;
4414            } else {
4415              showRightHandle = true;
4416            }
4417          }
4418          /* eslint-enable no-lonely-if */
4419  
4420  
4421          return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, getInspectorControls(imageWidth, imageHeight), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ResizableBox"], {
4422            size: {
4423              width: width,
4424              height: height
4425            },
4426            minWidth: minWidth,
4427            maxWidth: maxWidthBuffer,
4428            minHeight: minHeight,
4429            maxHeight: maxWidthBuffer / ratio,
4430            lockAspectRatio: true,
4431            enable: {
4432              top: false,
4433              right: showRightHandle,
4434              bottom: true,
4435              left: showLeftHandle
4436            },
4437            onResizeStart: onResizeStart,
4438            onResizeStop: function onResizeStop(event, direction, elt, delta) {
4439              _onResizeStop();
4440  
4441              setAttributes({
4442                width: parseInt(currentWidth + delta.width, 10),
4443                height: parseInt(currentHeight + delta.height, 10)
4444              });
4445            }
4446          }, img));
4447        }), (!external_this_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
4448          tagName: "figcaption",
4449          placeholder: Object(external_this_wp_i18n_["__"])('Write caption…'),
4450          value: caption,
4451          unstableOnFocus: this.onFocusCaption,
4452          onChange: function onChange(value) {
4453            return setAttributes({
4454              caption: value
4455            });
4456          },
4457          isSelected: this.state.captionFocused,
4458          inlineToolbar: true
4459        })), mediaPlaceholder);
4460        /* eslint-enable jsx-a11y/click-events-have-key-events */
4461      }
4462    }]);
4463  
4464    return ImageEdit;
4465  }(external_this_wp_element_["Component"]);
4466  /* harmony default export */ var image_edit = (Object(external_this_wp_compose_["compose"])([Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
4467    var _dispatch = dispatch('core/block-editor'),
4468        toggleSelection = _dispatch.toggleSelection;
4469  
4470    return {
4471      onResizeStart: function onResizeStart() {
4472        return toggleSelection(false);
4473      },
4474      onResizeStop: function onResizeStop() {
4475        return toggleSelection(true);
4476      }
4477    };
4478  }), Object(external_this_wp_data_["withSelect"])(function (select, props) {
4479    var _select = select('core'),
4480        getMedia = _select.getMedia;
4481  
4482    var _select2 = select('core/block-editor'),
4483        getSettings = _select2.getSettings;
4484  
4485    var id = props.attributes.id,
4486        isSelected = props.isSelected;
4487  
4488    var _getSettings = getSettings(),
4489        mediaUpload = _getSettings.mediaUpload,
4490        imageSizes = _getSettings.imageSizes,
4491        isRTL = _getSettings.isRTL,
4492        maxWidth = _getSettings.maxWidth;
4493  
4494    return {
4495      image: id && isSelected ? getMedia(id) : null,
4496      maxWidth: maxWidth,
4497      isRTL: isRTL,
4498      imageSizes: imageSizes,
4499      mediaUpload: mediaUpload
4500    };
4501  }), Object(external_this_wp_viewport_["withViewportMatch"])({
4502    isLargeViewport: 'medium'
4503  }), external_this_wp_components_["withNotices"]])(edit_ImageEdit));
4504  
4505  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/save.js
4506  
4507  
4508  
4509  /**
4510   * External dependencies
4511   */
4512  
4513  
4514  /**
4515   * WordPress dependencies
4516   */
4517  
4518  
4519  function image_save_save(_ref) {
4520    var _classnames;
4521  
4522    var attributes = _ref.attributes;
4523    var url = attributes.url,
4524        alt = attributes.alt,
4525        caption = attributes.caption,
4526        align = attributes.align,
4527        href = attributes.href,
4528        rel = attributes.rel,
4529        linkClass = attributes.linkClass,
4530        width = attributes.width,
4531        height = attributes.height,
4532        id = attributes.id,
4533        linkTarget = attributes.linkTarget,
4534        sizeSlug = attributes.sizeSlug,
4535        title = attributes.title;
4536    var newRel = Object(external_this_lodash_["isEmpty"])(rel) ? undefined : rel;
4537    var classes = classnames_default()((_classnames = {}, Object(defineProperty["a" /* default */])(_classnames, "align".concat(align), align), Object(defineProperty["a" /* default */])(_classnames, "size-".concat(sizeSlug), sizeSlug), Object(defineProperty["a" /* default */])(_classnames, 'is-resized', width || height), _classnames));
4538    var image = Object(external_this_wp_element_["createElement"])("img", {
4539      src: url,
4540      alt: alt,
4541      className: id ? "wp-image-".concat(id) : null,
4542      width: width,
4543      height: height,
4544      title: title
4545    });
4546    var figure = Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, href ? Object(external_this_wp_element_["createElement"])("a", {
4547      className: linkClass,
4548      href: href,
4549      target: linkTarget,
4550      rel: newRel
4551    }, image) : image, !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
4552      tagName: "figcaption",
4553      value: caption
4554    }));
4555  
4556    if ('left' === align || 'right' === align || 'center' === align) {
4557      return Object(external_this_wp_element_["createElement"])("div", null, Object(external_this_wp_element_["createElement"])("figure", {
4558        className: classes
4559      }, figure));
4560    }
4561  
4562    return Object(external_this_wp_element_["createElement"])("figure", {
4563      className: classes
4564    }, figure);
4565  }
4566  
4567  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/transforms.js
4568  
4569  
4570  /**
4571   * WordPress dependencies
4572   */
4573  
4574  
4575  function stripFirstImage(attributes, _ref) {
4576    var shortcode = _ref.shortcode;
4577  
4578    var _document$implementat = document.implementation.createHTMLDocument(''),
4579        body = _document$implementat.body;
4580  
4581    body.innerHTML = shortcode.content;
4582    var nodeToRemove = body.querySelector('img'); // if an image has parents, find the topmost node to remove
4583  
4584    while (nodeToRemove && nodeToRemove.parentNode && nodeToRemove.parentNode !== body) {
4585      nodeToRemove = nodeToRemove.parentNode;
4586    }
4587  
4588    if (nodeToRemove) {
4589      nodeToRemove.parentNode.removeChild(nodeToRemove);
4590    }
4591  
4592    return body.innerHTML.trim();
4593  }
4594  
4595  function getFirstAnchorAttributeFormHTML(html, attributeName) {
4596    var _document$implementat2 = document.implementation.createHTMLDocument(''),
4597        body = _document$implementat2.body;
4598  
4599    body.innerHTML = html;
4600    var firstElementChild = body.firstElementChild;
4601  
4602    if (firstElementChild && firstElementChild.nodeName === 'A') {
4603      return firstElementChild.getAttribute(attributeName) || undefined;
4604    }
4605  }
4606  
4607  var imageSchema = {
4608    img: {
4609      attributes: ['src', 'alt', 'title'],
4610      classes: ['alignleft', 'aligncenter', 'alignright', 'alignnone', /^wp-image-\d+$/]
4611    }
4612  };
4613  
4614  var transforms_schema = function schema(_ref2) {
4615    var phrasingContentSchema = _ref2.phrasingContentSchema;
4616    return {
4617      figure: {
4618        require: ['img'],
4619        children: Object(objectSpread["a" /* default */])({}, imageSchema, {
4620          a: {
4621            attributes: ['href', 'rel', 'target'],
4622            children: imageSchema
4623          },
4624          figcaption: {
4625            children: phrasingContentSchema
4626          }
4627        })
4628      }
4629    };
4630  };
4631  
4632  var image_transforms_transforms = {
4633    from: [{
4634      type: 'raw',
4635      isMatch: function isMatch(node) {
4636        return node.nodeName === 'FIGURE' && !!node.querySelector('img');
4637      },
4638      schema: transforms_schema,
4639      transform: function transform(node) {
4640        // Search both figure and image classes. Alignment could be
4641        // set on either. ID is set on the image.
4642        var className = node.className + ' ' + node.querySelector('img').className;
4643        var alignMatches = /(?:^|\s)align(left|center|right)(?:$|\s)/.exec(className);
4644        var align = alignMatches ? alignMatches[1] : undefined;
4645        var idMatches = /(?:^|\s)wp-image-(\d+)(?:$|\s)/.exec(className);
4646        var id = idMatches ? Number(idMatches[1]) : undefined;
4647        var anchorElement = node.querySelector('a');
4648        var linkDestination = anchorElement && anchorElement.href ? 'custom' : undefined;
4649        var href = anchorElement && anchorElement.href ? anchorElement.href : undefined;
4650        var rel = anchorElement && anchorElement.rel ? anchorElement.rel : undefined;
4651        var linkClass = anchorElement && anchorElement.className ? anchorElement.className : undefined;
4652        var attributes = Object(external_this_wp_blocks_["getBlockAttributes"])('core/image', node.outerHTML, {
4653          align: align,
4654          id: id,
4655          linkDestination: linkDestination,
4656          href: href,
4657          rel: rel,
4658          linkClass: linkClass
4659        });
4660        return Object(external_this_wp_blocks_["createBlock"])('core/image', attributes);
4661      }
4662    }, {
4663      type: 'files',
4664      isMatch: function isMatch(files) {
4665        return files.length === 1 && files[0].type.indexOf('image/') === 0;
4666      },
4667      transform: function transform(files) {
4668        var file = files[0]; // We don't need to upload the media directly here
4669        // It's already done as part of the `componentDidMount`
4670        // int the image block
4671  
4672        return Object(external_this_wp_blocks_["createBlock"])('core/image', {
4673          url: Object(external_this_wp_blob_["createBlobURL"])(file)
4674        });
4675      }
4676    }, {
4677      type: 'shortcode',
4678      tag: 'caption',
4679      attributes: {
4680        url: {
4681          type: 'string',
4682          source: 'attribute',
4683          attribute: 'src',
4684          selector: 'img'
4685        },
4686        alt: {
4687          type: 'string',
4688          source: 'attribute',
4689          attribute: 'alt',
4690          selector: 'img'
4691        },
4692        caption: {
4693          shortcode: stripFirstImage
4694        },
4695        href: {
4696          shortcode: function shortcode(attributes, _ref3) {
4697            var _shortcode = _ref3.shortcode;
4698            return getFirstAnchorAttributeFormHTML(_shortcode.content, 'href');
4699          }
4700        },
4701        rel: {
4702          shortcode: function shortcode(attributes, _ref4) {
4703            var _shortcode2 = _ref4.shortcode;
4704            return getFirstAnchorAttributeFormHTML(_shortcode2.content, 'rel');
4705          }
4706        },
4707        linkClass: {
4708          shortcode: function shortcode(attributes, _ref5) {
4709            var _shortcode3 = _ref5.shortcode;
4710            return getFirstAnchorAttributeFormHTML(_shortcode3.content, 'class');
4711          }
4712        },
4713        id: {
4714          type: 'number',
4715          shortcode: function shortcode(_ref6) {
4716            var id = _ref6.named.id;
4717  
4718            if (!id) {
4719              return;
4720            }
4721  
4722            return parseInt(id.replace('attachment_', ''), 10);
4723          }
4724        },
4725        align: {
4726          type: 'string',
4727          shortcode: function shortcode(_ref7) {
4728            var _ref7$named$align = _ref7.named.align,
4729                align = _ref7$named$align === void 0 ? 'alignnone' : _ref7$named$align;
4730            return align.replace('align', '');
4731          }
4732        }
4733      }
4734    }]
4735  };
4736  /* harmony default export */ var image_transforms = (image_transforms_transforms);
4737  
4738  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/index.js
4739  /**
4740   * WordPress dependencies
4741   */
4742  
4743  /**
4744   * Internal dependencies
4745   */
4746  
4747  
4748  
4749  
4750  var image_metadata = {
4751    name: "core/image",
4752    category: "common",
4753    attributes: {
4754      align: {
4755        type: "string"
4756      },
4757      url: {
4758        type: "string",
4759        source: "attribute",
4760        selector: "img",
4761        attribute: "src"
4762      },
4763      alt: {
4764        type: "string",
4765        source: "attribute",
4766        selector: "img",
4767        attribute: "alt",
4768        "default": ""
4769      },
4770      caption: {
4771        type: "string",
4772        source: "html",
4773        selector: "figcaption"
4774      },
4775      title: {
4776        type: "string",
4777        source: "attribute",
4778        selector: "img",
4779        attribute: "title"
4780      },
4781      href: {
4782        type: "string",
4783        source: "attribute",
4784        selector: "figure > a",
4785        attribute: "href"
4786      },
4787      rel: {
4788        type: "string",
4789        source: "attribute",
4790        selector: "figure > a",
4791        attribute: "rel"
4792      },
4793      linkClass: {
4794        type: "string",
4795        source: "attribute",
4796        selector: "figure > a",
4797        attribute: "class"
4798      },
4799      id: {
4800        type: "number"
4801      },
4802      width: {
4803        type: "number"
4804      },
4805      height: {
4806        type: "number"
4807      },
4808      sizeSlug: {
4809        type: "string"
4810      },
4811      linkDestination: {
4812        type: "string",
4813        "default": "none"
4814      },
4815      linkTarget: {
4816        type: "string",
4817        source: "attribute",
4818        selector: "figure > a",
4819        attribute: "target"
4820      }
4821    }
4822  };
4823  
4824  
4825  var image_name = image_metadata.name;
4826  
4827  var image_settings = {
4828    title: Object(external_this_wp_i18n_["__"])('Image'),
4829    description: Object(external_this_wp_i18n_["__"])('Insert an image to make a visual statement.'),
4830    icon: image_icon,
4831    keywords: ['img', // "img" is not translated as it is intended to reflect the HTML <img> tag.
4832    Object(external_this_wp_i18n_["__"])('photo')],
4833    example: {
4834      attributes: {
4835        sizeSlug: 'large',
4836        url: 'https://s.w.org/images/core/5.3/MtBlanc1.jpg',
4837        // translators: Caption accompanying an image of the Mont Blanc, which serves as an example for the Image block.
4838        caption: Object(external_this_wp_i18n_["__"])('Mont Blanc appears—still, snowy, and serene.')
4839      }
4840    },
4841    styles: [{
4842      name: 'default',
4843      label: Object(external_this_wp_i18n_["_x"])('Default', 'block style'),
4844      isDefault: true
4845    }, {
4846      name: 'rounded',
4847      label: Object(external_this_wp_i18n_["_x"])('Rounded', 'block style')
4848    }],
4849    transforms: image_transforms,
4850    getEditWrapperProps: function getEditWrapperProps(attributes) {
4851      var align = attributes.align,
4852          width = attributes.width;
4853  
4854      if ('left' === align || 'center' === align || 'right' === align || 'wide' === align || 'full' === align) {
4855        return {
4856          'data-align': align,
4857          'data-resized': !!width
4858        };
4859      }
4860    },
4861    edit: image_edit,
4862    save: image_save_save,
4863    deprecated: image_deprecated
4864  };
4865  
4866  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/deprecated.js
4867  
4868  
4869  
4870  /**
4871   * External dependencies
4872   */
4873  
4874  /**
4875   * WordPress dependencies
4876   */
4877  
4878  
4879  var blockSupports = {
4880    className: false,
4881    anchor: true
4882  };
4883  var heading_deprecated_blockAttributes = {
4884    align: {
4885      type: 'string'
4886    },
4887    content: {
4888      type: 'string',
4889      source: 'html',
4890      selector: 'h1,h2,h3,h4,h5,h6',
4891      default: ''
4892    },
4893    level: {
4894      type: 'number',
4895      default: 2
4896    },
4897    placeholder: {
4898      type: 'string'
4899    },
4900    textColor: {
4901      type: 'string'
4902    },
4903    customTextColor: {
4904      type: 'string'
4905    }
4906  };
4907  var heading_deprecated_deprecated = [{
4908    attributes: heading_deprecated_blockAttributes,
4909    save: function save(_ref) {
4910      var _classnames;
4911  
4912      var attributes = _ref.attributes;
4913      var align = attributes.align,
4914          content = attributes.content,
4915          customTextColor = attributes.customTextColor,
4916          level = attributes.level,
4917          textColor = attributes.textColor;
4918      var tagName = 'h' + level;
4919      var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
4920      var className = classnames_default()((_classnames = {}, Object(defineProperty["a" /* default */])(_classnames, textClass, textClass), Object(defineProperty["a" /* default */])(_classnames, "has-text-align-".concat(align), align), _classnames));
4921      return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
4922        className: className ? className : undefined,
4923        tagName: tagName,
4924        style: {
4925          color: textClass ? undefined : customTextColor
4926        },
4927        value: content
4928      });
4929    },
4930    supports: blockSupports
4931  }, {
4932    supports: blockSupports,
4933    attributes: heading_deprecated_blockAttributes,
4934    save: function save(_ref2) {
4935      var attributes = _ref2.attributes;
4936      var align = attributes.align,
4937          level = attributes.level,
4938          content = attributes.content,
4939          textColor = attributes.textColor,
4940          customTextColor = attributes.customTextColor;
4941      var tagName = 'h' + level;
4942      var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
4943      var className = classnames_default()(Object(defineProperty["a" /* default */])({}, textClass, textClass));
4944      return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
4945        className: className ? className : undefined,
4946        tagName: tagName,
4947        style: {
4948          textAlign: align,
4949          color: textClass ? undefined : customTextColor
4950        },
4951        value: content
4952      });
4953    }
4954  }];
4955  /* harmony default export */ var heading_deprecated = (heading_deprecated_deprecated);
4956  
4957  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/heading-level-icon.js
4958  
4959  
4960  /**
4961   * WordPress dependencies
4962   */
4963  
4964  function HeadingLevelIcon(_ref) {
4965    var level = _ref.level,
4966        _ref$isPressed = _ref.isPressed,
4967        isPressed = _ref$isPressed === void 0 ? false : _ref$isPressed;
4968    var levelToPath = {
4969      1: 'M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z',
4970      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',
4971      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',
4972      4: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z',
4973      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',
4974      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'
4975    };
4976  
4977    if (!levelToPath.hasOwnProperty(level)) {
4978      return null;
4979    }
4980  
4981    return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
4982      width: "20",
4983      height: "20",
4984      viewBox: "0 0 20 20",
4985      xmlns: "http://www.w3.org/2000/svg",
4986      isPressed: isPressed
4987    }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
4988      d: levelToPath[level]
4989    }));
4990  }
4991  
4992  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/heading-toolbar.js
4993  
4994  
4995  
4996  
4997  
4998  
4999  
5000  /**
5001   * External dependencies
5002   */
5003  
5004  /**
5005   * WordPress dependencies
5006   */
5007  
5008  
5009  
5010  
5011  /**
5012   * Internal dependencies
5013   */
5014  
5015  
5016  
5017  var heading_toolbar_HeadingToolbar =
5018  /*#__PURE__*/
5019  function (_Component) {
5020    Object(inherits["a" /* default */])(HeadingToolbar, _Component);
5021  
5022    function HeadingToolbar() {
5023      Object(classCallCheck["a" /* default */])(this, HeadingToolbar);
5024  
5025      return Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(HeadingToolbar).apply(this, arguments));
5026    }
5027  
5028    Object(createClass["a" /* default */])(HeadingToolbar, [{
5029      key: "createLevelControl",
5030      value: function createLevelControl(targetLevel, selectedLevel, onChange) {
5031        var isActive = targetLevel === selectedLevel;
5032        return {
5033          icon: Object(external_this_wp_element_["createElement"])(HeadingLevelIcon, {
5034            level: targetLevel,
5035            isPressed: isActive
5036          }),
5037          // translators: %s: heading level e.g: "1", "2", "3"
5038          title: Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Heading %d'), targetLevel),
5039          isActive: isActive,
5040          onClick: function onClick() {
5041            return onChange(targetLevel);
5042          }
5043        };
5044      }
5045    }, {
5046      key: "render",
5047      value: function render() {
5048        var _this = this;
5049  
5050        var _this$props = this.props,
5051            _this$props$isCollaps = _this$props.isCollapsed,
5052            isCollapsed = _this$props$isCollaps === void 0 ? true : _this$props$isCollaps,
5053            minLevel = _this$props.minLevel,
5054            maxLevel = _this$props.maxLevel,
5055            selectedLevel = _this$props.selectedLevel,
5056            onChange = _this$props.onChange;
5057        return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToolbarGroup"], {
5058          isCollapsed: isCollapsed,
5059          icon: Object(external_this_wp_element_["createElement"])(HeadingLevelIcon, {
5060            level: selectedLevel
5061          }),
5062          controls: Object(external_this_lodash_["range"])(minLevel, maxLevel).map(function (index) {
5063            return _this.createLevelControl(index, selectedLevel, onChange);
5064          })
5065        });
5066      }
5067    }]);
5068  
5069    return HeadingToolbar;
5070  }(external_this_wp_element_["Component"]);
5071  
5072  /* harmony default export */ var heading_toolbar = (heading_toolbar_HeadingToolbar);
5073  
5074  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/edit.js
5075  
5076  
5077  
5078  
5079  /**
5080   * External dependencies
5081   */
5082  
5083  /**
5084   * Internal dependencies
5085   */
5086  
5087  
5088  /**
5089   * WordPress dependencies
5090   */
5091  
5092  
5093  
5094  
5095  
5096  
5097  function HeadingEdit(_ref) {
5098    var attributes = _ref.attributes,
5099        setAttributes = _ref.setAttributes,
5100        mergeBlocks = _ref.mergeBlocks,
5101        onReplace = _ref.onReplace,
5102        className = _ref.className;
5103  
5104    var _experimentalUseColo = Object(external_this_wp_blockEditor_["__experimentalUseColors"])([{
5105      name: 'textColor',
5106      property: 'color'
5107    }], {
5108      contrastCheckers: {
5109        backgroundColor: true,
5110        textColor: true
5111      }
5112    }, []),
5113        TextColor = _experimentalUseColo.TextColor,
5114        InspectorControlsColorPanel = _experimentalUseColo.InspectorControlsColorPanel,
5115        ColorDetector = _experimentalUseColo.ColorDetector;
5116  
5117    var align = attributes.align,
5118        content = attributes.content,
5119        level = attributes.level,
5120        placeholder = attributes.placeholder;
5121    var tagName = 'h' + level;
5122    return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockControls"], null, Object(external_this_wp_element_["createElement"])(heading_toolbar, {
5123      minLevel: 2,
5124      maxLevel: 5,
5125      selectedLevel: level,
5126      onChange: function onChange(newLevel) {
5127        return setAttributes({
5128          level: newLevel
5129        });
5130      }
5131    }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["AlignmentToolbar"], {
5132      value: align,
5133      onChange: function onChange(nextAlign) {
5134        setAttributes({
5135          align: nextAlign
5136        });
5137      }
5138    })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
5139      title: Object(external_this_wp_i18n_["__"])('Heading Settings')
5140    }, Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_i18n_["__"])('Level')), Object(external_this_wp_element_["createElement"])(heading_toolbar, {
5141      isCollapsed: false,
5142      minLevel: 1,
5143      maxLevel: 7,
5144      selectedLevel: level,
5145      onChange: function onChange(newLevel) {
5146        return setAttributes({
5147          level: newLevel
5148        });
5149      }
5150    }))), InspectorControlsColorPanel, Object(external_this_wp_element_["createElement"])(TextColor, null, Object(external_this_wp_element_["createElement"])(ColorDetector, {
5151      querySelector: "[contenteditable=\"true\"]"
5152    }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
5153      identifier: "content",
5154      tagName: tagName,
5155      value: content,
5156      onChange: function onChange(value) {
5157        return setAttributes({
5158          content: value
5159        });
5160      },
5161      onMerge: mergeBlocks,
5162      onSplit: function onSplit(value) {
5163        if (!value) {
5164          return Object(external_this_wp_blocks_["createBlock"])('core/paragraph');
5165        }
5166  
5167        return Object(external_this_wp_blocks_["createBlock"])('core/heading', Object(objectSpread["a" /* default */])({}, attributes, {
5168          content: value
5169        }));
5170      },
5171      onReplace: onReplace,
5172      onRemove: function onRemove() {
5173        return onReplace([]);
5174      },
5175      className: classnames_default()(className, Object(defineProperty["a" /* default */])({}, "has-text-align-".concat(align), align)),
5176      placeholder: placeholder || Object(external_this_wp_i18n_["__"])('Write heading…')
5177    })));
5178  }
5179  
5180  /* harmony default export */ var heading_edit = (HeadingEdit);
5181  
5182  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/save.js
5183  
5184  
5185  
5186  /**
5187   * External dependencies
5188   */
5189  
5190  /**
5191   * WordPress dependencies
5192   */
5193  
5194  
5195  function heading_save_save(_ref) {
5196    var _classnames;
5197  
5198    var attributes = _ref.attributes;
5199    var align = attributes.align,
5200        content = attributes.content,
5201        customTextColor = attributes.customTextColor,
5202        level = attributes.level,
5203        textColor = attributes.textColor;
5204    var tagName = 'h' + level;
5205    var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
5206    var className = classnames_default()((_classnames = {}, Object(defineProperty["a" /* default */])(_classnames, textClass, textClass), Object(defineProperty["a" /* default */])(_classnames, 'has-text-color', textColor || customTextColor), Object(defineProperty["a" /* default */])(_classnames, "has-text-align-".concat(align), align), _classnames));
5207    return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
5208      className: className ? className : undefined,
5209      tagName: tagName,
5210      style: {
5211        color: textClass ? undefined : customTextColor
5212      },
5213      value: content
5214    });
5215  }
5216  
5217  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/shared.js
5218  /**
5219   * Given a node name string for a heading node, returns its numeric level.
5220   *
5221   * @param {string} nodeName Heading node name.
5222   *
5223   * @return {number} Heading level.
5224   */
5225  function getLevelFromHeadingNodeName(nodeName) {
5226    return Number(nodeName.substr(1));
5227  }
5228  
5229  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/transforms.js
5230  
5231  
5232  /**
5233   * WordPress dependencies
5234   */
5235  
5236  /**
5237   * Internal dependencies
5238   */
5239  
5240  
5241  var transforms_name$category$attrib = {
5242    name: "core/heading",
5243    category: "common",
5244    attributes: {
5245      align: {
5246        type: "string"
5247      },
5248      content: {
5249        type: "string",
5250        source: "html",
5251        selector: "h1,h2,h3,h4,h5,h6",
5252        "default": ""
5253      },
5254      level: {
5255        type: "number",
5256        "default": 2
5257      },
5258      placeholder: {
5259        type: "string"
5260      },
5261      textColor: {
5262        type: "string"
5263      },
5264      customTextColor: {
5265        type: "string"
5266      }
5267    }
5268  },
5269      heading_transforms_name = transforms_name$category$attrib.name;
5270  var heading_transforms_transforms = {
5271    from: [{
5272      type: 'block',
5273      blocks: ['core/paragraph'],
5274      transform: function transform(_ref) {
5275        var content = _ref.content;
5276        return Object(external_this_wp_blocks_["createBlock"])(heading_transforms_name, {
5277          content: content
5278        });
5279      }
5280    }, {
5281      type: 'raw',
5282      selector: 'h1,h2,h3,h4,h5,h6',
5283      schema: function schema(_ref2) {
5284        var phrasingContentSchema = _ref2.phrasingContentSchema,
5285            isPaste = _ref2.isPaste;
5286        var schema = {
5287          children: phrasingContentSchema,
5288          attributes: isPaste ? [] : ['style']
5289        };
5290        return {
5291          h1: schema,
5292          h2: schema,
5293          h3: schema,
5294          h4: schema,
5295          h5: schema,
5296          h6: schema
5297        };
5298      },
5299      transform: function transform(node) {
5300        var attributes = Object(external_this_wp_blocks_["getBlockAttributes"])(heading_transforms_name, node.outerHTML);
5301  
5302        var _ref3 = node.style || {},
5303            textAlign = _ref3.textAlign;
5304  
5305        attributes.level = getLevelFromHeadingNodeName(node.nodeName);
5306  
5307        if (textAlign === 'left' || textAlign === 'center' || textAlign === 'right') {
5308          attributes.align = textAlign;
5309        }
5310  
5311        return Object(external_this_wp_blocks_["createBlock"])(heading_transforms_name, attributes);
5312      }
5313    }].concat(Object(toConsumableArray["a" /* default */])([2, 3, 4, 5, 6].map(function (level) {
5314      return {
5315        type: 'prefix',
5316        prefix: Array(level + 1).join('#'),
5317        transform: function transform(content) {
5318          return Object(external_this_wp_blocks_["createBlock"])(heading_transforms_name, {
5319            level: level,
5320            content: content
5321          });
5322        }
5323      };
5324    }))),
5325    to: [{
5326      type: 'block',
5327      blocks: ['core/paragraph'],
5328      transform: function transform(_ref4) {
5329        var content = _ref4.content;
5330        return Object(external_this_wp_blocks_["createBlock"])('core/paragraph', {
5331          content: content
5332        });
5333      }
5334    }]
5335  };
5336  /* harmony default export */ var heading_transforms = (heading_transforms_transforms);
5337  
5338  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/index.js
5339  /**
5340   * WordPress dependencies
5341   */
5342  
5343  /**
5344   * Internal dependencies
5345   */
5346  
5347  
5348  
5349  var heading_metadata = {
5350    name: "core/heading",
5351    category: "common",
5352    attributes: {
5353      align: {
5354        type: "string"
5355      },
5356      content: {
5357        type: "string",
5358        source: "html",
5359        selector: "h1,h2,h3,h4,h5,h6",
5360        "default": ""
5361      },
5362      level: {
5363        type: "number",
5364        "default": 2
5365      },
5366      placeholder: {
5367        type: "string"
5368      },
5369      textColor: {
5370        type: "string"
5371      },
5372      customTextColor: {
5373        type: "string"
5374      }
5375    }
5376  };
5377  
5378  
5379  var heading_name = heading_metadata.name;
5380  
5381  var heading_settings = {
5382    title: Object(external_this_wp_i18n_["__"])('Heading'),
5383    description: Object(external_this_wp_i18n_["__"])('Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.'),
5384    icon: 'heading',
5385    keywords: [Object(external_this_wp_i18n_["__"])('title'), Object(external_this_wp_i18n_["__"])('subtitle')],
5386    supports: {
5387      className: false,
5388      anchor: true,
5389      __unstablePasteTextInline: true
5390    },
5391    example: {
5392      attributes: {
5393        content: Object(external_this_wp_i18n_["__"])('Code is Poetry'),
5394        level: 2
5395      }
5396    },
5397    transforms: heading_transforms,
5398    deprecated: heading_deprecated,
5399    merge: function merge(attributes, attributesToMerge) {
5400      return {
5401        content: (attributes.content || '') + (attributesToMerge.content || '')
5402      };
5403    },
5404    edit: heading_edit,
5405    save: heading_save_save
5406  };
5407  
5408  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/deprecated.js
5409  
5410  
5411  
5412  /**
5413   * External dependencies
5414   */
5415  
5416  /**
5417   * WordPress dependencies
5418   */
5419  
5420  
5421  var quote_deprecated_blockAttributes = {
5422    value: {
5423      type: 'string',
5424      source: 'html',
5425      selector: 'blockquote',
5426      multiline: 'p',
5427      default: ''
5428    },
5429    citation: {
5430      type: 'string',
5431      source: 'html',
5432      selector: 'cite',
5433      default: ''
5434    },
5435    align: {
5436      type: 'string'
5437    }
5438  };
5439  var quote_deprecated_deprecated = [{
5440    attributes: quote_deprecated_blockAttributes,
5441    save: function save(_ref) {
5442      var attributes = _ref.attributes;
5443      var align = attributes.align,
5444          value = attributes.value,
5445          citation = attributes.citation;
5446      return Object(external_this_wp_element_["createElement"])("blockquote", {
5447        style: {
5448          textAlign: align ? align : null
5449        }
5450      }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
5451        multiline: true,
5452        value: value
5453      }), !external_this_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
5454        tagName: "cite",
5455        value: citation
5456      }));
5457    }
5458  }, {
5459    attributes: Object(objectSpread["a" /* default */])({}, quote_deprecated_blockAttributes, {
5460      style: {
5461        type: 'number',
5462        default: 1
5463      }
5464    }),
5465    migrate: function migrate(attributes) {
5466      if (attributes.style === 2) {
5467        return Object(objectSpread["a" /* default */])({}, Object(external_this_lodash_["omit"])(attributes, ['style']), {
5468          className: attributes.className ? attributes.className + ' is-style-large' : 'is-style-large'
5469        });
5470      }
5471  
5472      return attributes;
5473    },
5474    save: function save(_ref2) {
5475      var attributes = _ref2.attributes;
5476      var align = attributes.align,
5477          value = attributes.value,
5478          citation = attributes.citation,
5479          style = attributes.style;
5480      return Object(external_this_wp_element_["createElement"])("blockquote", {
5481        className: style === 2 ? 'is-large' : '',
5482        style: {
5483          textAlign: align ? align : null
5484        }
5485      }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
5486        multiline: true,
5487        value: value
5488      }), !external_this_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
5489        tagName: "cite",
5490        value: citation
5491      }));
5492    }
5493  }, {
5494    attributes: Object(objectSpread["a" /* default */])({}, quote_deprecated_blockAttributes, {
5495      citation: {
5496        type: 'string',
5497        source: 'html',
5498        selector: 'footer',
5499        default: ''
5500      },
5501      style: {
5502        type: 'number',
5503        default: 1
5504      }
5505    }),
5506    save: function save(_ref3) {
5507      var attributes = _ref3.attributes;
5508      var align = attributes.align,
5509          value = attributes.value,
5510          citation = attributes.citation,
5511          style = attributes.style;
5512      return Object(external_this_wp_element_["createElement"])("blockquote", {
5513        className: "blocks-quote-style-".concat(style),
5514        style: {
5515          textAlign: align ? align : null
5516        }
5517      }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
5518        multiline: true,
5519        value: value
5520      }), !external_this_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
5521        tagName: "footer",
5522        value: citation
5523      }));
5524    }
5525  }];
5526  /* harmony default export */ var quote_deprecated = (quote_deprecated_deprecated);
5527  
5528  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/edit.js
5529  
5530  
5531  
5532  
5533  /**
5534   * External dependencies
5535   */
5536  
5537  /**
5538   * WordPress dependencies
5539   */
5540  
5541  
5542  
5543  
5544  
5545  function QuoteEdit(_ref) {
5546    var attributes = _ref.attributes,
5547        setAttributes = _ref.setAttributes,
5548        isSelected = _ref.isSelected,
5549        mergeBlocks = _ref.mergeBlocks,
5550        onReplace = _ref.onReplace,
5551        className = _ref.className;
5552    var align = attributes.align,
5553        value = attributes.value,
5554        citation = attributes.citation;
5555    return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["AlignmentToolbar"], {
5556      value: align,
5557      onChange: function onChange(nextAlign) {
5558        setAttributes({
5559          align: nextAlign
5560        });
5561      }
5562    })), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["BlockQuotation"], {
5563      className: classnames_default()(className, Object(defineProperty["a" /* default */])({}, "has-text-align-".concat(align), align))
5564    }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
5565      identifier: "value",
5566      multiline: true,
5567      value: value,
5568      onChange: function onChange(nextValue) {
5569        return setAttributes({
5570          value: nextValue
5571        });
5572      },
5573      onMerge: mergeBlocks,
5574      onRemove: function onRemove(forward) {
5575        var hasEmptyCitation = !citation || citation.length === 0;
5576  
5577        if (!forward && hasEmptyCitation) {
5578          onReplace([]);
5579        }
5580      },
5581      placeholder: // translators: placeholder text used for the quote
5582      Object(external_this_wp_i18n_["__"])('Write quote…'),
5583      onReplace: onReplace,
5584      onSplit: function onSplit(piece) {
5585        return Object(external_this_wp_blocks_["createBlock"])('core/quote', Object(objectSpread["a" /* default */])({}, attributes, {
5586          value: piece
5587        }));
5588      },
5589      __unstableOnSplitMiddle: function __unstableOnSplitMiddle() {
5590        return Object(external_this_wp_blocks_["createBlock"])('core/paragraph');
5591      }
5592    }), (!external_this_wp_blockEditor_["RichText"].isEmpty(citation) || isSelected) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
5593      identifier: "citation",
5594      value: citation,
5595      onChange: function onChange(nextCitation) {
5596        return setAttributes({
5597          citation: nextCitation
5598        });
5599      },
5600      __unstableMobileNoFocusOnMount: true,
5601      placeholder: // translators: placeholder text used for the citation
5602      Object(external_this_wp_i18n_["__"])('Write citation…'),
5603      className: "wp-block-quote__citation"
5604    })));
5605  }
5606  
5607  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/icon.js
5608  
5609  
5610  /**
5611   * WordPress dependencies
5612   */
5613  
5614  /* harmony default export */ var quote_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
5615    viewBox: "0 0 24 24",
5616    xmlns: "http://www.w3.org/2000/svg"
5617  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
5618    fill: "none",
5619    d: "M0 0h24v24H0V0z"
5620  }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
5621    d: "M18.62 18h-5.24l2-4H13V6h8v7.24L18.62 18zm-2-2h.76L19 12.76V8h-4v4h3.62l-2 4zm-8 2H3.38l2-4H3V6h8v7.24L8.62 18zm-2-2h.76L9 12.76V8H5v4h3.62l-2 4z"
5622  })));
5623  
5624  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/save.js
5625  
5626  
5627  
5628  /**
5629   * External dependencies
5630   */
5631  
5632  /**
5633   * WordPress dependencies
5634   */
5635  
5636  
5637  function quote_save_save(_ref) {
5638    var attributes = _ref.attributes;
5639    var align = attributes.align,
5640        value = attributes.value,
5641        citation = attributes.citation;
5642    var className = classnames_default()(Object(defineProperty["a" /* default */])({}, "has-text-align-".concat(align), align));
5643    return Object(external_this_wp_element_["createElement"])("blockquote", {
5644      className: className
5645    }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
5646      multiline: true,
5647      value: value
5648    }), !external_this_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
5649      tagName: "cite",
5650      value: citation
5651    }));
5652  }
5653  
5654  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
5655  var objectWithoutProperties = __webpack_require__(20);
5656  
5657  // EXTERNAL MODULE: external {"this":["wp","richText"]}
5658  var external_this_wp_richText_ = __webpack_require__(24);
5659  
5660  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/transforms.js
5661  
5662  
5663  
5664  
5665  /**
5666   * WordPress dependencies
5667   */
5668  
5669  
5670  var quote_transforms_transforms = {
5671    from: [{
5672      type: 'block',
5673      isMultiBlock: true,
5674      blocks: ['core/paragraph'],
5675      transform: function transform(attributes) {
5676        return Object(external_this_wp_blocks_["createBlock"])('core/quote', {
5677          value: Object(external_this_wp_richText_["toHTMLString"])({
5678            value: Object(external_this_wp_richText_["join"])(attributes.map(function (_ref) {
5679              var content = _ref.content;
5680              return Object(external_this_wp_richText_["create"])({
5681                html: content
5682              });
5683            }), "\u2028"),
5684            multilineTag: 'p'
5685          })
5686        });
5687      }
5688    }, {
5689      type: 'block',
5690      blocks: ['core/heading'],
5691      transform: function transform(_ref2) {
5692        var content = _ref2.content;
5693        return Object(external_this_wp_blocks_["createBlock"])('core/quote', {
5694          value: "<p>".concat(content, "</p>")
5695        });
5696      }
5697    }, {
5698      type: 'block',
5699      blocks: ['core/pullquote'],
5700      transform: function transform(_ref3) {
5701        var value = _ref3.value,
5702            citation = _ref3.citation;
5703        return Object(external_this_wp_blocks_["createBlock"])('core/quote', {
5704          value: value,
5705          citation: citation
5706        });
5707      }
5708    }, {
5709      type: 'prefix',
5710      prefix: '>',
5711      transform: function transform(content) {
5712        return Object(external_this_wp_blocks_["createBlock"])('core/quote', {
5713          value: "<p>".concat(content, "</p>")
5714        });
5715      }
5716    }, {
5717      type: 'raw',
5718      isMatch: function isMatch(node) {
5719        var isParagraphOrSingleCite = function () {
5720          var hasCitation = false;
5721          return function (child) {
5722            // Child is a paragraph.
5723            if (child.nodeName === 'P') {
5724              return true;
5725            } // Child is a cite and no other cite child exists before it.
5726  
5727  
5728            if (!hasCitation && child.nodeName === 'CITE') {
5729              hasCitation = true;
5730              return true;
5731            }
5732          };
5733        }();
5734  
5735        return node.nodeName === 'BLOCKQUOTE' && // The quote block can only handle multiline paragraph
5736        // content with an optional cite child.
5737        Array.from(node.childNodes).every(isParagraphOrSingleCite);
5738      },
5739      schema: function schema(_ref4) {
5740        var phrasingContentSchema = _ref4.phrasingContentSchema;
5741        return {
5742          blockquote: {
5743            children: {
5744              p: {
5745                children: phrasingContentSchema
5746              },
5747              cite: {
5748                children: phrasingContentSchema
5749              }
5750            }
5751          }
5752        };
5753      }
5754    }],
5755    to: [{
5756      type: 'block',
5757      blocks: ['core/paragraph'],
5758      transform: function transform(_ref5) {
5759        var value = _ref5.value,
5760            citation = _ref5.citation;
5761        var paragraphs = [];
5762  
5763        if (value && value !== '<p></p>') {
5764          paragraphs.push.apply(paragraphs, Object(toConsumableArray["a" /* default */])(Object(external_this_wp_richText_["split"])(Object(external_this_wp_richText_["create"])({
5765            html: value,
5766            multilineTag: 'p'
5767          }), "\u2028").map(function (piece) {
5768            return Object(external_this_wp_blocks_["createBlock"])('core/paragraph', {
5769              content: Object(external_this_wp_richText_["toHTMLString"])({
5770                value: piece
5771              })
5772            });
5773          })));
5774        }
5775  
5776        if (citation && citation !== '<p></p>') {
5777          paragraphs.push(Object(external_this_wp_blocks_["createBlock"])('core/paragraph', {
5778            content: citation
5779          }));
5780        }
5781  
5782        if (paragraphs.length === 0) {
5783          return Object(external_this_wp_blocks_["createBlock"])('core/paragraph', {
5784            content: ''
5785          });
5786        }
5787  
5788        return paragraphs;
5789      }
5790    }, {
5791      type: 'block',
5792      blocks: ['core/heading'],
5793      transform: function transform(_ref6) {
5794        var value = _ref6.value,
5795            citation = _ref6.citation,
5796            attrs = Object(objectWithoutProperties["a" /* default */])(_ref6, ["value", "citation"]);
5797  
5798        // If there is no quote content, use the citation as the
5799        // content of the resulting heading. A nonexistent citation
5800        // will result in an empty heading.
5801        if (value === '<p></p>') {
5802          return Object(external_this_wp_blocks_["createBlock"])('core/heading', {
5803            content: citation
5804          });
5805        }
5806  
5807        var pieces = Object(external_this_wp_richText_["split"])(Object(external_this_wp_richText_["create"])({
5808          html: value,
5809          multilineTag: 'p'
5810        }), "\u2028");
5811        var headingBlock = Object(external_this_wp_blocks_["createBlock"])('core/heading', {
5812          content: Object(external_this_wp_richText_["toHTMLString"])({
5813            value: pieces[0]
5814          })
5815        });
5816  
5817        if (!citation && pieces.length === 1) {
5818          return headingBlock;
5819        }
5820  
5821        var quotePieces = pieces.slice(1);
5822        var quoteBlock = Object(external_this_wp_blocks_["createBlock"])('core/quote', Object(objectSpread["a" /* default */])({}, attrs, {
5823          citation: citation,
5824          value: Object(external_this_wp_richText_["toHTMLString"])({
5825            value: quotePieces.length ? Object(external_this_wp_richText_["join"])(pieces.slice(1), "\u2028") : Object(external_this_wp_richText_["create"])(),
5826            multilineTag: 'p'
5827          })
5828        }));
5829        return [headingBlock, quoteBlock];
5830      }
5831    }, {
5832      type: 'block',
5833      blocks: ['core/pullquote'],
5834      transform: function transform(_ref7) {
5835        var value = _ref7.value,
5836            citation = _ref7.citation;
5837        return Object(external_this_wp_blocks_["createBlock"])('core/pullquote', {
5838          value: value,
5839          citation: citation
5840        });
5841      }
5842    }]
5843  };
5844  /* harmony default export */ var quote_transforms = (quote_transforms_transforms);
5845  
5846  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/index.js
5847  
5848  
5849  /**
5850   * WordPress dependencies
5851   */
5852  
5853  /**
5854   * Internal dependencies
5855   */
5856  
5857  
5858  
5859  
5860  var quote_metadata = {
5861    name: "core/quote",
5862    category: "common",
5863    attributes: {
5864      value: {
5865        type: "string",
5866        source: "html",
5867        selector: "blockquote",
5868        multiline: "p",
5869        "default": ""
5870      },
5871      citation: {
5872        type: "string",
5873        source: "html",
5874        selector: "cite",
5875        "default": ""
5876      },
5877      align: {
5878        type: "string"
5879      }
5880    }
5881  };
5882  
5883  
5884  var quote_name = quote_metadata.name;
5885  
5886  var quote_settings = {
5887    title: Object(external_this_wp_i18n_["__"])('Quote'),
5888    description: Object(external_this_wp_i18n_["__"])('Give quoted text visual emphasis. "In quoting others, we cite ourselves." — Julio Cortázar'),
5889    icon: quote_icon,
5890    keywords: [Object(external_this_wp_i18n_["__"])('blockquote'), Object(external_this_wp_i18n_["__"])('cite')],
5891    example: {
5892      attributes: {
5893        value: '<p>' + Object(external_this_wp_i18n_["__"])('In quoting others, we cite ourselves.') + '</p>',
5894        citation: 'Julio Cortázar',
5895        className: 'is-style-large'
5896      }
5897    },
5898    styles: [{
5899      name: 'default',
5900      label: Object(external_this_wp_i18n_["_x"])('Default', 'block style'),
5901      isDefault: true
5902    }, {
5903      name: 'large',
5904      label: Object(external_this_wp_i18n_["_x"])('Large', 'block style')
5905    }],
5906    transforms: quote_transforms,
5907    edit: QuoteEdit,
5908    save: quote_save_save,
5909    merge: function merge(attributes, _ref) {
5910      var value = _ref.value,
5911          citation = _ref.citation;
5912  
5913      // Quote citations cannot be merged. Pick the second one unless it's
5914      // empty.
5915      if (!citation) {
5916        citation = attributes.citation;
5917      }
5918  
5919      if (!value || value === '<p></p>') {
5920        return Object(objectSpread["a" /* default */])({}, attributes, {
5921          citation: citation
5922        });
5923      }
5924  
5925      return Object(objectSpread["a" /* default */])({}, attributes, {
5926        value: attributes.value + value,
5927        citation: citation
5928      });
5929    },
5930    deprecated: quote_deprecated
5931  };
5932  
5933  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/shared.js
5934  /**
5935   * External dependencies
5936   */
5937  
5938  function defaultColumnsNumber(attributes) {
5939    return Math.min(3, attributes.images.length);
5940  }
5941  var shared_pickRelevantMediaFiles = function pickRelevantMediaFiles(image) {
5942    var sizeSlug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'large';
5943    var imageProps = Object(external_this_lodash_["pick"])(image, ['alt', 'id', 'link', 'caption']);
5944    imageProps.url = Object(external_this_lodash_["get"])(image, ['sizes', sizeSlug, 'url']) || Object(external_this_lodash_["get"])(image, ['media_details', 'sizes', sizeSlug, 'source_url']) || image.url;
5945    var fullUrl = Object(external_this_lodash_["get"])(image, ['sizes', 'full', 'url']) || Object(external_this_lodash_["get"])(image, ['media_details', 'sizes', 'full', 'source_url']);
5946  
5947    if (fullUrl) {
5948      imageProps.fullUrl = fullUrl;
5949    }
5950  
5951    return imageProps;
5952  };
5953  
5954  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/deprecated.js
5955  
5956  
5957  
5958  /**
5959   * External dependencies
5960   */
5961  
5962  
5963  /**
5964   * WordPress dependencies
5965   */
5966  
5967  
5968  /**
5969   * Internal dependencies
5970   */
5971  
5972  
5973  var gallery_deprecated_deprecated = [{
5974    attributes: {
5975      images: {
5976        type: 'array',
5977        default: [],
5978        source: 'query',
5979        selector: 'ul.wp-block-gallery .blocks-gallery-item',
5980        query: {
5981          url: {
5982            source: 'attribute',
5983            selector: 'img',
5984            attribute: 'src'
5985          },
5986          fullUrl: {
5987            source: 'attribute',
5988            selector: 'img',
5989            attribute: 'data-full-url'
5990          },
5991          alt: {
5992            source: 'attribute',
5993            selector: 'img',
5994            attribute: 'alt',
5995            default: ''
5996          },
5997          id: {
5998            source: 'attribute',
5999            selector: 'img',
6000            attribute: 'data-id'
6001          },
6002          link: {
6003            source: 'attribute',
6004            selector: 'img',
6005            attribute: 'data-link'
6006          },
6007          caption: {
6008            type: 'array',
6009            source: 'children',
6010            selector: 'figcaption'
6011          }
6012        }
6013      },
6014      ids: {
6015        type: 'array',
6016        default: []
6017      },
6018      columns: {
6019        type: 'number'
6020      },
6021      imageCrop: {
6022        type: 'boolean',
6023        default: true
6024      },
6025      linkTo: {
6026        type: 'string',
6027        default: 'none'
6028      }
6029    },
6030    save: function save(_ref) {
6031      var attributes = _ref.attributes;
6032      var images = attributes.images,
6033          _attributes$columns = attributes.columns,
6034          columns = _attributes$columns === void 0 ? defaultColumnsNumber(attributes) : _attributes$columns,
6035          imageCrop = attributes.imageCrop,
6036          linkTo = attributes.linkTo;
6037      return Object(external_this_wp_element_["createElement"])("ul", {
6038        className: "columns-".concat(columns, " ").concat(imageCrop ? 'is-cropped' : '')
6039      }, images.map(function (image) {
6040        var href;
6041  
6042        switch (linkTo) {
6043          case 'media':
6044            href = image.fullUrl || image.url;
6045            break;
6046  
6047          case 'attachment':
6048            href = image.link;
6049            break;
6050        }
6051  
6052        var img = Object(external_this_wp_element_["createElement"])("img", {
6053          src: image.url,
6054          alt: image.alt,
6055          "data-id": image.id,
6056          "data-full-url": image.fullUrl,
6057          "data-link": image.link,
6058          className: image.id ? "wp-image-".concat(image.id) : null
6059        });
6060        return Object(external_this_wp_element_["createElement"])("li", {
6061          key: image.id || image.url,
6062          className: "blocks-gallery-item"
6063        }, Object(external_this_wp_element_["createElement"])("figure", null, href ? Object(external_this_wp_element_["createElement"])("a", {
6064          href: href
6065        }, img) : img, image.caption && image.caption.length > 0 && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
6066          tagName: "figcaption",
6067          value: image.caption
6068        })));
6069      }));
6070    }
6071  }, {
6072    attributes: {
6073      images: {
6074        type: 'array',
6075        default: [],
6076        source: 'query',
6077        selector: 'ul.wp-block-gallery .blocks-gallery-item',
6078        query: {
6079          url: {
6080            source: 'attribute',
6081            selector: 'img',
6082            attribute: 'src'
6083          },
6084          alt: {
6085            source: 'attribute',
6086            selector: 'img',
6087            attribute: 'alt',
6088            default: ''
6089          },
6090          id: {
6091            source: 'attribute',
6092            selector: 'img',
6093            attribute: 'data-id'
6094          },
6095          link: {
6096            source: 'attribute',
6097            selector: 'img',
6098            attribute: 'data-link'
6099          },
6100          caption: {
6101            type: 'array',
6102            source: 'children',
6103            selector: 'figcaption'
6104          }
6105        }
6106      },
6107      columns: {
6108        type: 'number'
6109      },
6110      imageCrop: {
6111        type: 'boolean',
6112        default: true
6113      },
6114      linkTo: {
6115        type: 'string',
6116        default: 'none'
6117      }
6118    },
6119    isEligible: function isEligible(_ref2) {
6120      var images = _ref2.images,
6121          ids = _ref2.ids;
6122      return images && images.length > 0 && (!ids && images || ids && images && ids.length !== images.length || Object(external_this_lodash_["some"])(images, function (id, index) {
6123        if (!id && ids[index] !== null) {
6124          return true;
6125        }
6126  
6127        return parseInt(id, 10) !== ids[index];
6128      }));
6129    },
6130    migrate: function migrate(attributes) {
6131      return Object(objectSpread["a" /* default */])({}, attributes, {
6132        ids: Object(external_this_lodash_["map"])(attributes.images, function (_ref3) {
6133          var id = _ref3.id;
6134  
6135          if (!id) {
6136            return null;
6137          }
6138  
6139          return parseInt(id, 10);
6140        })
6141      });
6142    },
6143    save: function save(_ref4) {
6144      var attributes = _ref4.attributes;
6145      var images = attributes.images,
6146          _attributes$columns2 = attributes.columns,
6147          columns = _attributes$columns2 === void 0 ? defaultColumnsNumber(attributes) : _attributes$columns2,
6148          imageCrop = attributes.imageCrop,
6149          linkTo = attributes.linkTo;
6150      return Object(external_this_wp_element_["createElement"])("ul", {
6151        className: "columns-".concat(columns, " ").concat(imageCrop ? 'is-cropped' : '')
6152      }, images.map(function (image) {
6153        var href;
6154  
6155        switch (linkTo) {
6156          case 'media':
6157            href = image.url;
6158            break;
6159  
6160          case 'attachment':
6161            href = image.link;
6162            break;
6163        }
6164  
6165        var img = Object(external_this_wp_element_["createElement"])("img", {
6166          src: image.url,
6167          alt: image.alt,
6168          "data-id": image.id,
6169          "data-link": image.link,
6170          className: image.id ? "wp-image-".concat(image.id) : null
6171        });
6172        return Object(external_this_wp_element_["createElement"])("li", {
6173          key: image.id || image.url,
6174          className: "blocks-gallery-item"
6175        }, Object(external_this_wp_element_["createElement"])("figure", null, href ? Object(external_this_wp_element_["createElement"])("a", {
6176          href: href
6177        }, img) : img, image.caption && image.caption.length > 0 && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
6178          tagName: "figcaption",
6179          value: image.caption
6180        })));
6181      }));
6182    }
6183  }, {
6184    attributes: {
6185      images: {
6186        type: 'array',
6187        default: [],
6188        source: 'query',
6189        selector: 'div.wp-block-gallery figure.blocks-gallery-image img',
6190        query: {
6191          url: {
6192            source: 'attribute',
6193            attribute: 'src'
6194          },
6195          alt: {
6196            source: 'attribute',
6197            attribute: 'alt',
6198            default: ''
6199          },
6200          id: {
6201            source: 'attribute',
6202            attribute: 'data-id'
6203          }
6204        }
6205      },
6206      columns: {
6207        type: 'number'
6208      },
6209      imageCrop: {
6210        type: 'boolean',
6211        default: true
6212      },
6213      linkTo: {
6214        type: 'string',
6215        default: 'none'
6216      },
6217      align: {
6218        type: 'string',
6219        default: 'none'
6220      }
6221    },
6222    save: function save(_ref5) {
6223      var attributes = _ref5.attributes;
6224      var images = attributes.images,
6225          _attributes$columns3 = attributes.columns,
6226          columns = _attributes$columns3 === void 0 ? defaultColumnsNumber(attributes) : _attributes$columns3,
6227          align = attributes.align,
6228          imageCrop = attributes.imageCrop,
6229          linkTo = attributes.linkTo;
6230      var className = classnames_default()("columns-".concat(columns), {
6231        alignnone: align === 'none',
6232        'is-cropped': imageCrop
6233      });
6234      return Object(external_this_wp_element_["createElement"])("div", {
6235        className: className
6236      }, images.map(function (image) {
6237        var href;
6238  
6239        switch (linkTo) {
6240          case 'media':
6241            href = image.url;
6242            break;
6243  
6244          case 'attachment':
6245            href = image.link;
6246            break;
6247        }
6248  
6249        var img = Object(external_this_wp_element_["createElement"])("img", {
6250          src: image.url,
6251          alt: image.alt,
6252          "data-id": image.id
6253        });
6254        return Object(external_this_wp_element_["createElement"])("figure", {
6255          key: image.id || image.url,
6256          className: "blocks-gallery-image"
6257        }, href ? Object(external_this_wp_element_["createElement"])("a", {
6258          href: href
6259        }, img) : img);
6260      }));
6261    }
6262  }];
6263  /* harmony default export */ var gallery_deprecated = (gallery_deprecated_deprecated);
6264  
6265  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/icons.js
6266  
6267  
6268  /**
6269   * WordPress dependencies
6270   */
6271  
6272  var icons_icon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
6273    viewBox: "0 0 24 24",
6274    xmlns: "http://www.w3.org/2000/svg"
6275  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
6276    fill: "none",
6277    d: "M0 0h24v24H0V0z"
6278  }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
6279    d: "M20 4v12H8V4h12m0-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-8.5 9.67l1.69 2.26 2.48-3.1L19 15H9zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"
6280  })));
6281  var leftArrow = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
6282    width: "18",
6283    height: "18",
6284    viewBox: "0 0 18 18",
6285    xmlns: "http://www.w3.org/2000/svg"
6286  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
6287    d: "M5 8.70002L10.6 14.4L12 12.9L7.8 8.70002L12 4.50002L10.6 3.00002L5 8.70002Z"
6288  }));
6289  var rightArrow = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
6290    width: "18",
6291    height: "18",
6292    viewBox: "0 0 18 18",
6293    xmlns: "http://www.w3.org/2000/svg"
6294  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
6295    d: "M13 8.7L7.4 3L6 4.5L10.2 8.7L6 12.9L7.4 14.4L13 8.7Z"
6296  }));
6297  
6298  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/shared-icon.js
6299  
6300  
6301  /**
6302   * WordPress dependencies
6303   */
6304  
6305  /**
6306   * Internal dependencies
6307   */
6308  
6309  
6310  var sharedIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockIcon"], {
6311    icon: icons_icon
6312  });
6313  
6314  // EXTERNAL MODULE: external {"this":["wp","keycodes"]}
6315  var external_this_wp_keycodes_ = __webpack_require__(19);
6316  
6317  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/gallery-image.js
6318  
6319  
6320  
6321  
6322  
6323  
6324  
6325  
6326  /**
6327   * External dependencies
6328   */
6329  
6330  /**
6331   * WordPress dependencies
6332   */
6333  
6334  
6335  
6336  
6337  
6338  
6339  
6340  
6341  /**
6342   * Internal dependencies
6343   */
6344  
6345  
6346  
6347  var gallery_image_GalleryImage =
6348  /*#__PURE__*/
6349  function (_Component) {
6350    Object(inherits["a" /* default */])(GalleryImage, _Component);
6351  
6352    function GalleryImage() {
6353      var _this;
6354  
6355      Object(classCallCheck["a" /* default */])(this, GalleryImage);
6356  
6357      _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(GalleryImage).apply(this, arguments));
6358      _this.onSelectImage = _this.onSelectImage.bind(Object(assertThisInitialized["a" /* default */])(_this));
6359      _this.onSelectCaption = _this.onSelectCaption.bind(Object(assertThisInitialized["a" /* default */])(_this));
6360      _this.onRemoveImage = _this.onRemoveImage.bind(Object(assertThisInitialized["a" /* default */])(_this));
6361      _this.bindContainer = _this.bindContainer.bind(Object(assertThisInitialized["a" /* default */])(_this));
6362      _this.state = {
6363        captionSelected: false
6364      };
6365      return _this;
6366    }
6367  
6368    Object(createClass["a" /* default */])(GalleryImage, [{
6369      key: "bindContainer",
6370      value: function bindContainer(ref) {
6371        this.container = ref;
6372      }
6373    }, {
6374      key: "onSelectCaption",
6375      value: function onSelectCaption() {
6376        if (!this.state.captionSelected) {
6377          this.setState({
6378            captionSelected: true
6379          });
6380        }
6381  
6382        if (!this.props.isSelected) {
6383          this.props.onSelect();
6384        }
6385      }
6386    }, {
6387      key: "onSelectImage",
6388      value: function onSelectImage() {
6389        if (!this.props.isSelected) {
6390          this.props.onSelect();
6391        }
6392  
6393        if (this.state.captionSelected) {
6394          this.setState({
6395            captionSelected: false
6396          });
6397        }
6398      }
6399    }, {
6400      key: "onRemoveImage",
6401      value: function onRemoveImage(event) {
6402        if (this.container === document.activeElement && this.props.isSelected && [external_this_wp_keycodes_["BACKSPACE"], external_this_wp_keycodes_["DELETE"]].indexOf(event.keyCode) !== -1) {
6403          event.stopPropagation();
6404          event.preventDefault();
6405          this.props.onRemove();
6406        }
6407      }
6408    }, {
6409      key: "componentDidUpdate",
6410      value: function componentDidUpdate(prevProps) {
6411        var _this$props = this.props,
6412            isSelected = _this$props.isSelected,
6413            image = _this$props.image,
6414            url = _this$props.url;
6415  
6416        if (image && !url) {
6417          this.props.setAttributes({
6418            url: image.source_url,
6419            alt: image.alt_text
6420          });
6421        } // unselect the caption so when the user selects other image and comeback
6422        // the caption is not immediately selected
6423  
6424  
6425        if (this.state.captionSelected && !isSelected && prevProps.isSelected) {
6426          this.setState({
6427            captionSelected: false
6428          });
6429        }
6430      }
6431    }, {
6432      key: "render",
6433      value: function render() {
6434        var _this$props2 = this.props,
6435            url = _this$props2.url,
6436            alt = _this$props2.alt,
6437            id = _this$props2.id,
6438            linkTo = _this$props2.linkTo,
6439            link = _this$props2.link,
6440            isFirstItem = _this$props2.isFirstItem,
6441            isLastItem = _this$props2.isLastItem,
6442            isSelected = _this$props2.isSelected,
6443            caption = _this$props2.caption,
6444            onRemove = _this$props2.onRemove,
6445            onMoveForward = _this$props2.onMoveForward,
6446            onMoveBackward = _this$props2.onMoveBackward,
6447            setAttributes = _this$props2.setAttributes,
6448            ariaLabel = _this$props2['aria-label'];
6449        var href;
6450  
6451        switch (linkTo) {
6452          case 'media':
6453            href = url;
6454            break;
6455  
6456          case 'attachment':
6457            href = link;
6458            break;
6459        }
6460  
6461        var img = // Disable reason: Image itself is not meant to be interactive, but should
6462        // direct image selection and unfocus caption fields.
6463  
6464        /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */
6465        Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("img", {
6466          src: url,
6467          alt: alt,
6468          "data-id": id,
6469          onClick: this.onSelectImage,
6470          onFocus: this.onSelectImage,
6471          onKeyDown: this.onRemoveImage,
6472          tabIndex: "0",
6473          "aria-label": ariaLabel,
6474          ref: this.bindContainer
6475        }), Object(external_this_wp_blob_["isBlobURL"])(url) && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Spinner"], null))
6476        /* eslint-enable jsx-a11y/no-noninteractive-element-interactions */
6477        ;
6478        var className = classnames_default()({
6479          'is-selected': isSelected,
6480          'is-transient': Object(external_this_wp_blob_["isBlobURL"])(url)
6481        });
6482        return Object(external_this_wp_element_["createElement"])("figure", {
6483          className: className
6484        }, href ? Object(external_this_wp_element_["createElement"])("a", {
6485          href: href
6486        }, img) : img, Object(external_this_wp_element_["createElement"])("div", {
6487          className: "block-library-gallery-item__move-menu"
6488        }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
6489          icon: leftArrow,
6490          onClick: isFirstItem ? undefined : onMoveBackward,
6491          className: "blocks-gallery-item__move-backward",
6492          label: Object(external_this_wp_i18n_["__"])('Move image backward'),
6493          "aria-disabled": isFirstItem,
6494          disabled: !isSelected
6495        }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
6496          icon: rightArrow,
6497          onClick: isLastItem ? undefined : onMoveForward,
6498          className: "blocks-gallery-item__move-forward",
6499          label: Object(external_this_wp_i18n_["__"])('Move image forward'),
6500          "aria-disabled": isLastItem,
6501          disabled: !isSelected
6502        })), Object(external_this_wp_element_["createElement"])("div", {
6503          className: "block-library-gallery-item__inline-menu"
6504        }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
6505          icon: "no-alt",
6506          onClick: onRemove,
6507          className: "blocks-gallery-item__remove",
6508          label: Object(external_this_wp_i18n_["__"])('Remove image'),
6509          disabled: !isSelected
6510        })), (isSelected || caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
6511          tagName: "figcaption",
6512          placeholder: isSelected ? Object(external_this_wp_i18n_["__"])('Write caption…') : null,
6513          value: caption,
6514          isSelected: this.state.captionSelected,
6515          onChange: function onChange(newCaption) {
6516            return setAttributes({
6517              caption: newCaption
6518            });
6519          },
6520          unstableOnFocus: this.onSelectCaption,
6521          inlineToolbar: true
6522        }));
6523      }
6524    }]);
6525  
6526    return GalleryImage;
6527  }(external_this_wp_element_["Component"]);
6528  
6529  /* harmony default export */ var gallery_image = (Object(external_this_wp_data_["withSelect"])(function (select, ownProps) {
6530    var _select = select('core'),
6531        getMedia = _select.getMedia;
6532  
6533    var id = ownProps.id;
6534    return {
6535      image: id ? getMedia(id) : null
6536    };
6537  })(gallery_image_GalleryImage));
6538  
6539  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/gallery.js
6540  
6541  
6542  
6543  /**
6544   * External dependencies
6545   */
6546  
6547  /**
6548   * WordPress dependencies
6549   */
6550  
6551  
6552  
6553  /**
6554   * Internal dependencies
6555   */
6556  
6557  
6558  
6559  var gallery_Gallery = function Gallery(props) {
6560    var _classnames;
6561  
6562    var attributes = props.attributes,
6563        className = props.className,
6564        isSelected = props.isSelected,
6565        setAttributes = props.setAttributes,
6566        selectedImage = props.selectedImage,
6567        mediaPlaceholder = props.mediaPlaceholder,
6568        onMoveBackward = props.onMoveBackward,
6569        onMoveForward = props.onMoveForward,
6570        onRemoveImage = props.onRemoveImage,
6571        onSelectImage = props.onSelectImage,
6572        onSetImageAttributes = props.onSetImageAttributes,
6573        onFocusGalleryCaption = props.onFocusGalleryCaption;
6574    var align = attributes.align,
6575        _attributes$columns = attributes.columns,
6576        columns = _attributes$columns === void 0 ? defaultColumnsNumber(attributes) : _attributes$columns,
6577        caption = attributes.caption,
6578        imageCrop = attributes.imageCrop,
6579        images = attributes.images;
6580    var captionClassNames = classnames_default()('blocks-gallery-caption', {
6581      'screen-reader-text': !isSelected && external_this_wp_blockEditor_["RichText"].isEmpty(caption)
6582    });
6583    return Object(external_this_wp_element_["createElement"])("figure", {
6584      className: classnames_default()(className, (_classnames = {}, Object(defineProperty["a" /* default */])(_classnames, "align".concat(align), align), Object(defineProperty["a" /* default */])(_classnames, "columns-".concat(columns), columns), Object(defineProperty["a" /* default */])(_classnames, 'is-cropped', imageCrop), _classnames))
6585    }, Object(external_this_wp_element_["createElement"])("ul", {
6586      className: "blocks-gallery-grid"
6587    }, images.map(function (img, index) {
6588      /* translators: %1$d is the order number of the image, %2$d is the total number of images. */
6589      var ariaLabel = Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('image %1$d of %2$d in gallery'), index + 1, images.length);
6590      return Object(external_this_wp_element_["createElement"])("li", {
6591        className: "blocks-gallery-item",
6592        key: img.id || img.url
6593      }, Object(external_this_wp_element_["createElement"])(gallery_image, {
6594        url: img.url,
6595        alt: img.alt,
6596        id: img.id,
6597        isFirstItem: index === 0,
6598        isLastItem: index + 1 === images.length,
6599        isSelected: isSelected && selectedImage === index,
6600        onMoveBackward: onMoveBackward(index),
6601        onMoveForward: onMoveForward(index),
6602        onRemove: onRemoveImage(index),
6603        onSelect: onSelectImage(index),
6604        setAttributes: function setAttributes(attrs) {
6605          return onSetImageAttributes(index, attrs);
6606        },
6607        caption: img.caption,
6608        "aria-label": ariaLabel
6609      }));
6610    })), mediaPlaceholder, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
6611      tagName: "figcaption",
6612      className: captionClassNames,
6613      placeholder: Object(external_this_wp_i18n_["__"])('Write gallery caption…'),
6614      value: caption,
6615      unstableOnFocus: onFocusGalleryCaption,
6616      onChange: function onChange(value) {
6617        return setAttributes({
6618          caption: value
6619        });
6620      },
6621      inlineToolbar: true
6622    }));
6623  };
6624  /* harmony default export */ var gallery = (gallery_Gallery);
6625  
6626  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/edit.js
6627  
6628  
6629  
6630  
6631  
6632  
6633  
6634  
6635  
6636  
6637  
6638  
6639  /**
6640   * External dependencies
6641   */
6642  
6643  /**
6644   * WordPress dependencies
6645   */
6646  
6647  
6648  
6649  
6650  
6651  
6652  
6653  
6654  
6655  /**
6656   * Internal dependencies
6657   */
6658  
6659  
6660  
6661  
6662  var MAX_COLUMNS = 8;
6663  var linkOptions = [{
6664    value: 'attachment',
6665    label: Object(external_this_wp_i18n_["__"])('Attachment Page')
6666  }, {
6667    value: 'media',
6668    label: Object(external_this_wp_i18n_["__"])('Media File')
6669  }, {
6670    value: 'none',
6671    label: Object(external_this_wp_i18n_["__"])('None')
6672  }];
6673  var edit_ALLOWED_MEDIA_TYPES = ['image'];
6674  var PLACEHOLDER_TEXT = external_this_wp_element_["Platform"].select({
6675    web: Object(external_this_wp_i18n_["__"])('Drag images, upload new ones or select files from your library.'),
6676    native: Object(external_this_wp_i18n_["__"])('ADD MEDIA')
6677  }); // currently this is needed for consistent controls UI on mobile
6678  // this can be removed after control components settle on consistent defaults
6679  
6680  var MOBILE_CONTROL_PROPS = external_this_wp_element_["Platform"].select({
6681    web: {},
6682    native: {
6683      separatorType: 'fullWidth'
6684    }
6685  });
6686  
6687  var edit_GalleryEdit =
6688  /*#__PURE__*/
6689  function (_Component) {
6690    Object(inherits["a" /* default */])(GalleryEdit, _Component);
6691  
6692    function GalleryEdit() {
6693      var _this;
6694  
6695      Object(classCallCheck["a" /* default */])(this, GalleryEdit);
6696  
6697      _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(GalleryEdit).apply(this, arguments));
6698      _this.onSelectImage = _this.onSelectImage.bind(Object(assertThisInitialized["a" /* default */])(_this));
6699      _this.onSelectImages = _this.onSelectImages.bind(Object(assertThisInitialized["a" /* default */])(_this));
6700      _this.setLinkTo = _this.setLinkTo.bind(Object(assertThisInitialized["a" /* default */])(_this));
6701      _this.setColumnsNumber = _this.setColumnsNumber.bind(Object(assertThisInitialized["a" /* default */])(_this));
6702      _this.toggleImageCrop = _this.toggleImageCrop.bind(Object(assertThisInitialized["a" /* default */])(_this));
6703      _this.onMove = _this.onMove.bind(Object(assertThisInitialized["a" /* default */])(_this));
6704      _this.onMoveForward = _this.onMoveForward.bind(Object(assertThisInitialized["a" /* default */])(_this));
6705      _this.onMoveBackward = _this.onMoveBackward.bind(Object(assertThisInitialized["a" /* default */])(_this));
6706      _this.onRemoveImage = _this.onRemoveImage.bind(Object(assertThisInitialized["a" /* default */])(_this));
6707      _this.onUploadError = _this.onUploadError.bind(Object(assertThisInitialized["a" /* default */])(_this));
6708      _this.setImageAttributes = _this.setImageAttributes.bind(Object(assertThisInitialized["a" /* default */])(_this));
6709      _this.setAttributes = _this.setAttributes.bind(Object(assertThisInitialized["a" /* default */])(_this));
6710      _this.onFocusGalleryCaption = _this.onFocusGalleryCaption.bind(Object(assertThisInitialized["a" /* default */])(_this));
6711      _this.getImagesSizeOptions = _this.getImagesSizeOptions.bind(Object(assertThisInitialized["a" /* default */])(_this));
6712      _this.updateImagesSize = _this.updateImagesSize.bind(Object(assertThisInitialized["a" /* default */])(_this));
6713      _this.state = {
6714        selectedImage: null,
6715        attachmentCaptions: null
6716      };
6717      return _this;
6718    }
6719  
6720    Object(createClass["a" /* default */])(GalleryEdit, [{
6721      key: "setAttributes",
6722      value: function setAttributes(attributes) {
6723        if (attributes.ids) {
6724          throw new Error('The "ids" attribute should not be changed directly. It is managed automatically when "images" attribute changes');
6725        }
6726  
6727        if (attributes.images) {
6728          attributes = Object(objectSpread["a" /* default */])({}, attributes, {
6729            ids: Object(external_this_lodash_["map"])(attributes.images, 'id')
6730          });
6731        }
6732  
6733        this.props.setAttributes(attributes);
6734      }
6735    }, {
6736      key: "onSelectImage",
6737      value: function onSelectImage(index) {
6738        var _this2 = this;
6739  
6740        return function () {
6741          if (_this2.state.selectedImage !== index) {
6742            _this2.setState({
6743              selectedImage: index
6744            });
6745          }
6746        };
6747      }
6748    }, {
6749      key: "onMove",
6750      value: function onMove(oldIndex, newIndex) {
6751        var images = Object(toConsumableArray["a" /* default */])(this.props.attributes.images);
6752  
6753        images.splice(newIndex, 1, this.props.attributes.images[oldIndex]);
6754        images.splice(oldIndex, 1, this.props.attributes.images[newIndex]);
6755        this.setState({
6756          selectedImage: newIndex
6757        });
6758        this.setAttributes({
6759          images: images
6760        });
6761      }
6762    }, {
6763      key: "onMoveForward",
6764      value: function onMoveForward(oldIndex) {
6765        var _this3 = this;
6766  
6767        return function () {
6768          if (oldIndex === _this3.props.attributes.images.length - 1) {
6769            return;
6770          }
6771  
6772          _this3.onMove(oldIndex, oldIndex + 1);
6773        };
6774      }
6775    }, {
6776      key: "onMoveBackward",
6777      value: function onMoveBackward(oldIndex) {
6778        var _this4 = this;
6779  
6780        return function () {
6781          if (oldIndex === 0) {
6782            return;
6783          }
6784  
6785          _this4.onMove(oldIndex, oldIndex - 1);
6786        };
6787      }
6788    }, {
6789      key: "onRemoveImage",
6790      value: function onRemoveImage(index) {
6791        var _this5 = this;
6792  
6793        return function () {
6794          var images = Object(external_this_lodash_["filter"])(_this5.props.attributes.images, function (img, i) {
6795            return index !== i;
6796          });
6797          var columns = _this5.props.attributes.columns;
6798  
6799          _this5.setState({
6800            selectedImage: null
6801          });
6802  
6803          _this5.setAttributes({
6804            images: images,
6805            columns: columns ? Math.min(images.length, columns) : columns
6806          });
6807        };
6808      }
6809    }, {
6810      key: "selectCaption",
6811      value: function selectCaption(newImage, images, attachmentCaptions) {
6812        var currentImage = Object(external_this_lodash_["find"])(images, {
6813          id: newImage.id
6814        });
6815        var currentImageCaption = currentImage ? currentImage.caption : newImage.caption;
6816  
6817        if (!attachmentCaptions) {
6818          return currentImageCaption;
6819        }
6820  
6821        var attachment = Object(external_this_lodash_["find"])(attachmentCaptions, {
6822          id: newImage.id
6823        }); // if the attachment caption is updated
6824  
6825        if (attachment && attachment.caption !== newImage.caption) {
6826          return newImage.caption;
6827        }
6828  
6829        return currentImageCaption;
6830      }
6831    }, {
6832      key: "onSelectImages",
6833      value: function onSelectImages(newImages) {
6834        var _this6 = this;
6835  
6836        var _this$props$attribute = this.props.attributes,
6837            columns = _this$props$attribute.columns,
6838            images = _this$props$attribute.images,
6839            sizeSlug = _this$props$attribute.sizeSlug;
6840        var attachmentCaptions = this.state.attachmentCaptions;
6841        this.setState({
6842          attachmentCaptions: newImages.map(function (newImage) {
6843            return {
6844              id: newImage.id,
6845              caption: newImage.caption
6846            };
6847          })
6848        });
6849        this.setAttributes({
6850          images: newImages.map(function (newImage) {
6851            return Object(objectSpread["a" /* default */])({}, shared_pickRelevantMediaFiles(newImage, sizeSlug), {
6852              caption: _this6.selectCaption(newImage, images, attachmentCaptions)
6853            });
6854          }),
6855          columns: columns ? Math.min(newImages.length, columns) : columns
6856        });
6857      }
6858    }, {
6859      key: "onUploadError",
6860      value: function onUploadError(message) {
6861        var noticeOperations = this.props.noticeOperations;
6862        noticeOperations.removeAllNotices();
6863        noticeOperations.createErrorNotice(message);
6864      }
6865    }, {
6866      key: "setLinkTo",
6867      value: function setLinkTo(value) {
6868        this.setAttributes({
6869          linkTo: value
6870        });
6871      }
6872    }, {
6873      key: "setColumnsNumber",
6874      value: function setColumnsNumber(value) {
6875        this.setAttributes({
6876          columns: value
6877        });
6878      }
6879    }, {
6880      key: "toggleImageCrop",
6881      value: function toggleImageCrop() {
6882        this.setAttributes({
6883          imageCrop: !this.props.attributes.imageCrop
6884        });
6885      }
6886    }, {
6887      key: "getImageCropHelp",
6888      value: function getImageCropHelp(checked) {
6889        return checked ? Object(external_this_wp_i18n_["__"])('Thumbnails are cropped to align.') : Object(external_this_wp_i18n_["__"])('Thumbnails are not cropped.');
6890      }
6891    }, {
6892      key: "onFocusGalleryCaption",
6893      value: function onFocusGalleryCaption() {
6894        this.setState({
6895          selectedImage: null
6896        });
6897      }
6898    }, {
6899      key: "setImageAttributes",
6900      value: function setImageAttributes(index, attributes) {
6901        var images = this.props.attributes.images;
6902        var setAttributes = this.setAttributes;
6903  
6904        if (!images[index]) {
6905          return;
6906        }
6907  
6908        setAttributes({
6909          images: [].concat(Object(toConsumableArray["a" /* default */])(images.slice(0, index)), [Object(objectSpread["a" /* default */])({}, images[index], attributes)], Object(toConsumableArray["a" /* default */])(images.slice(index + 1)))
6910        });
6911      }
6912    }, {
6913      key: "getImagesSizeOptions",
6914      value: function getImagesSizeOptions() {
6915        var _this$props = this.props,
6916            imageSizes = _this$props.imageSizes,
6917            resizedImages = _this$props.resizedImages;
6918        return Object(external_this_lodash_["map"])(Object(external_this_lodash_["filter"])(imageSizes, function (_ref) {
6919          var slug = _ref.slug;
6920          return Object(external_this_lodash_["some"])(resizedImages, function (sizes) {
6921            return sizes[slug];
6922          });
6923        }), function (_ref2) {
6924          var name = _ref2.name,
6925              slug = _ref2.slug;
6926          return {
6927            value: slug,
6928            label: name
6929          };
6930        });
6931      }
6932    }, {
6933      key: "updateImagesSize",
6934      value: function updateImagesSize(sizeSlug) {
6935        var _this$props2 = this.props,
6936            images = _this$props2.attributes.images,
6937            resizedImages = _this$props2.resizedImages;
6938        var updatedImages = Object(external_this_lodash_["map"])(images, function (image) {
6939          if (!image.id) {
6940            return image;
6941          }
6942  
6943          var url = Object(external_this_lodash_["get"])(resizedImages, [parseInt(image.id, 10), sizeSlug]);
6944          return Object(objectSpread["a" /* default */])({}, image, url && {
6945            url: url
6946          });
6947        });
6948        this.setAttributes({
6949          images: updatedImages,
6950          sizeSlug: sizeSlug
6951        });
6952      }
6953    }, {
6954      key: "componentDidMount",
6955      value: function componentDidMount() {
6956        var _this$props3 = this.props,
6957            attributes = _this$props3.attributes,
6958            mediaUpload = _this$props3.mediaUpload;
6959        var images = attributes.images;
6960  
6961        if (external_this_wp_element_["Platform"].OS === 'web' && images && images.length > 0 && Object(external_this_lodash_["every"])(images, function (_ref3) {
6962          var url = _ref3.url;
6963          return Object(external_this_wp_blob_["isBlobURL"])(url);
6964        })) {
6965          var filesList = Object(external_this_lodash_["map"])(images, function (_ref4) {
6966            var url = _ref4.url;
6967            return Object(external_this_wp_blob_["getBlobByURL"])(url);
6968          });
6969          Object(external_this_lodash_["forEach"])(images, function (_ref5) {
6970            var url = _ref5.url;
6971            return Object(external_this_wp_blob_["revokeBlobURL"])(url);
6972          });
6973          mediaUpload({
6974            filesList: filesList,
6975            onFileChange: this.onSelectImages,
6976            allowedTypes: ['image']
6977          });
6978        }
6979      }
6980    }, {
6981      key: "componentDidUpdate",
6982      value: function componentDidUpdate(prevProps) {
6983        // Deselect images when deselecting the block
6984        if (!this.props.isSelected && prevProps.isSelected) {
6985          this.setState({
6986            selectedImage: null,
6987            captionSelected: false
6988          });
6989        }
6990      }
6991    }, {
6992      key: "render",
6993      value: function render() {
6994        var _this$props4 = this.props,
6995            attributes = _this$props4.attributes,
6996            className = _this$props4.className,
6997            isSelected = _this$props4.isSelected,
6998            noticeUI = _this$props4.noticeUI;
6999        var _attributes$columns = attributes.columns,
7000            columns = _attributes$columns === void 0 ? defaultColumnsNumber(attributes) : _attributes$columns,
7001            imageCrop = attributes.imageCrop,
7002            images = attributes.images,
7003            linkTo = attributes.linkTo,
7004            sizeSlug = attributes.sizeSlug;
7005        var hasImages = !!images.length;
7006        var hasImagesWithId = hasImages && Object(external_this_lodash_["some"])(images, function (_ref6) {
7007          var id = _ref6.id;
7008          return id;
7009        });
7010        var mediaPlaceholder = Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaPlaceholder"], {
7011          addToGallery: hasImagesWithId,
7012          isAppender: hasImages,
7013          className: className,
7014          disableMediaButtons: hasImages && !isSelected,
7015          icon: !hasImages && sharedIcon,
7016          labels: {
7017            title: !hasImages && Object(external_this_wp_i18n_["__"])('Gallery'),
7018            instructions: !hasImages && PLACEHOLDER_TEXT
7019          },
7020          onSelect: this.onSelectImages,
7021          accept: "image/*",
7022          allowedTypes: edit_ALLOWED_MEDIA_TYPES,
7023          multiple: true,
7024          value: hasImagesWithId ? images : undefined,
7025          onError: this.onUploadError,
7026          notices: hasImages ? undefined : noticeUI,
7027          onFocus: this.props.onFocus
7028        });
7029  
7030        if (!hasImages) {
7031          return mediaPlaceholder;
7032        }
7033  
7034        var imageSizeOptions = this.getImagesSizeOptions();
7035        return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
7036          title: Object(external_this_wp_i18n_["__"])('Gallery Settings')
7037        }, images.length > 1 && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["RangeControl"], Object(esm_extends["a" /* default */])({
7038          label: Object(external_this_wp_i18n_["__"])('Columns')
7039        }, MOBILE_CONTROL_PROPS, {
7040          value: columns,
7041          onChange: this.setColumnsNumber,
7042          min: 1,
7043          max: Math.min(MAX_COLUMNS, images.length),
7044          required: true
7045        })), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], Object(esm_extends["a" /* default */])({
7046          label: Object(external_this_wp_i18n_["__"])('Crop Images')
7047        }, MOBILE_CONTROL_PROPS, {
7048          checked: !!imageCrop,
7049          onChange: this.toggleImageCrop,
7050          help: this.getImageCropHelp
7051        })), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SelectControl"], Object(esm_extends["a" /* default */])({
7052          label: Object(external_this_wp_i18n_["__"])('Link To')
7053        }, MOBILE_CONTROL_PROPS, {
7054          value: linkTo,
7055          onChange: this.setLinkTo,
7056          options: linkOptions
7057        })), hasImages && !Object(external_this_lodash_["isEmpty"])(imageSizeOptions) && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SelectControl"], {
7058          label: Object(external_this_wp_i18n_["__"])('Images Size'),
7059          value: sizeSlug,
7060          options: imageSizeOptions,
7061          onChange: this.updateImagesSize
7062        }))), noticeUI, Object(external_this_wp_element_["createElement"])(gallery, Object(esm_extends["a" /* default */])({}, this.props, {
7063          selectedImage: this.state.selectedImage,
7064          mediaPlaceholder: mediaPlaceholder,
7065          onMoveBackward: this.onMoveBackward,
7066          onMoveForward: this.onMoveForward,
7067          onRemoveImage: this.onRemoveImage,
7068          onSelectImage: this.onSelectImage,
7069          onSetImageAttributes: this.setImageAttributes,
7070          onFocusGalleryCaption: this.onFocusGalleryCaption
7071        })));
7072      }
7073    }]);
7074  
7075    return GalleryEdit;
7076  }(external_this_wp_element_["Component"]);
7077  
7078  /* harmony default export */ var gallery_edit = (Object(external_this_wp_compose_["compose"])([Object(external_this_wp_data_["withSelect"])(function (select, _ref7) {
7079    var ids = _ref7.attributes.ids,
7080        isSelected = _ref7.isSelected;
7081  
7082    var _select = select('core'),
7083        getMedia = _select.getMedia;
7084  
7085    var _select2 = select('core/block-editor'),
7086        getSettings = _select2.getSettings;
7087  
7088    var _getSettings = getSettings(),
7089        imageSizes = _getSettings.imageSizes,
7090        mediaUpload = _getSettings.mediaUpload;
7091  
7092    var resizedImages = {};
7093  
7094    if (isSelected) {
7095      resizedImages = Object(external_this_lodash_["reduce"])(ids, function (currentResizedImages, id) {
7096        if (!id) {
7097          return currentResizedImages;
7098        }
7099  
7100        var image = getMedia(id);
7101        var sizes = Object(external_this_lodash_["reduce"])(imageSizes, function (currentSizes, size) {
7102          var defaultUrl = Object(external_this_lodash_["get"])(image, ['sizes', size.slug, 'url']);
7103          var mediaDetailsUrl = Object(external_this_lodash_["get"])(image, ['media_details', 'sizes', size.slug, 'source_url']);
7104          return Object(objectSpread["a" /* default */])({}, currentSizes, Object(defineProperty["a" /* default */])({}, size.slug, defaultUrl || mediaDetailsUrl));
7105        }, {});
7106        return Object(objectSpread["a" /* default */])({}, currentResizedImages, Object(defineProperty["a" /* default */])({}, parseInt(id, 10), sizes));
7107      }, {});
7108    }
7109  
7110    return {
7111      imageSizes: imageSizes,
7112      mediaUpload: mediaUpload,
7113      resizedImages: resizedImages
7114    };
7115  }), external_this_wp_components_["withNotices"], Object(external_this_wp_viewport_["withViewportMatch"])({
7116    isNarrow: '< small'
7117  })])(edit_GalleryEdit));
7118  
7119  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/save.js
7120  
7121  
7122  /**
7123   * WordPress dependencies
7124   */
7125  
7126  /**
7127   * Internal dependencies
7128   */
7129  
7130  
7131  function gallery_save_save(_ref) {
7132    var attributes = _ref.attributes;
7133    var images = attributes.images,
7134        _attributes$columns = attributes.columns,
7135        columns = _attributes$columns === void 0 ? defaultColumnsNumber(attributes) : _attributes$columns,
7136        imageCrop = attributes.imageCrop,
7137        caption = attributes.caption,
7138        linkTo = attributes.linkTo;
7139    return Object(external_this_wp_element_["createElement"])("figure", {
7140      className: "columns-".concat(columns, " ").concat(imageCrop ? 'is-cropped' : '')
7141    }, Object(external_this_wp_element_["createElement"])("ul", {
7142      className: "blocks-gallery-grid"
7143    }, images.map(function (image) {
7144      var href;
7145  
7146      switch (linkTo) {
7147        case 'media':
7148          href = image.fullUrl || image.url;
7149          break;
7150  
7151        case 'attachment':
7152          href = image.link;
7153          break;
7154      }
7155  
7156      var img = Object(external_this_wp_element_["createElement"])("img", {
7157        src: image.url,
7158        alt: image.alt,
7159        "data-id": image.id,
7160        "data-full-url": image.fullUrl,
7161        "data-link": image.link,
7162        className: image.id ? "wp-image-".concat(image.id) : null
7163      });
7164      return Object(external_this_wp_element_["createElement"])("li", {
7165        key: image.id || image.url,
7166        className: "blocks-gallery-item"
7167      }, Object(external_this_wp_element_["createElement"])("figure", null, href ? Object(external_this_wp_element_["createElement"])("a", {
7168        href: href
7169      }, img) : img, !external_this_wp_blockEditor_["RichText"].isEmpty(image.caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
7170        tagName: "figcaption",
7171        className: "blocks-gallery-item__caption",
7172        value: image.caption
7173      })));
7174    })), !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
7175      tagName: "figcaption",
7176      className: "blocks-gallery-caption",
7177      value: caption
7178    }));
7179  }
7180  
7181  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/transforms.js
7182  /**
7183   * External dependencies
7184   */
7185  
7186  /**
7187   * WordPress dependencies
7188   */
7189  
7190  
7191  
7192  /**
7193   * Internal dependencies
7194   */
7195  
7196  
7197  
7198  var parseShortcodeIds = function parseShortcodeIds(ids) {
7199    if (!ids) {
7200      return [];
7201    }
7202  
7203    return ids.split(',').map(function (id) {
7204      return parseInt(id, 10);
7205    });
7206  };
7207  
7208  var gallery_transforms_transforms = {
7209    from: [{
7210      type: 'block',
7211      isMultiBlock: true,
7212      blocks: ['core/image'],
7213      transform: function transform(attributes) {
7214        // Init the align and size from the first item which may be either the placeholder or an image.
7215        var _attributes$ = attributes[0],
7216            align = _attributes$.align,
7217            sizeSlug = _attributes$.sizeSlug; // Loop through all the images and check if they have the same align and size.
7218  
7219        align = Object(external_this_lodash_["every"])(attributes, ['align', align]) ? align : undefined;
7220        sizeSlug = Object(external_this_lodash_["every"])(attributes, ['sizeSlug', sizeSlug]) ? sizeSlug : undefined;
7221        var validImages = Object(external_this_lodash_["filter"])(attributes, function (_ref) {
7222          var url = _ref.url;
7223          return url;
7224        });
7225        return Object(external_this_wp_blocks_["createBlock"])('core/gallery', {
7226          images: validImages.map(function (_ref2) {
7227            var id = _ref2.id,
7228                url = _ref2.url,
7229                alt = _ref2.alt,
7230                caption = _ref2.caption;
7231            return {
7232              id: id,
7233              url: url,
7234              alt: alt,
7235              caption: caption
7236            };
7237          }),
7238          ids: validImages.map(function (_ref3) {
7239            var id = _ref3.id;
7240            return id;
7241          }),
7242          align: align,
7243          sizeSlug: sizeSlug
7244        });
7245      }
7246    }, {
7247      type: 'shortcode',
7248      tag: 'gallery',
7249      attributes: {
7250        images: {
7251          type: 'array',
7252          shortcode: function shortcode(_ref4) {
7253            var ids = _ref4.named.ids;
7254            return parseShortcodeIds(ids).map(function (id) {
7255              return {
7256                id: id
7257              };
7258            });
7259          }
7260        },
7261        ids: {
7262          type: 'array',
7263          shortcode: function shortcode(_ref5) {
7264            var ids = _ref5.named.ids;
7265            return parseShortcodeIds(ids);
7266          }
7267        },
7268        columns: {
7269          type: 'number',
7270          shortcode: function shortcode(_ref6) {
7271            var _ref6$named$columns = _ref6.named.columns,
7272                columns = _ref6$named$columns === void 0 ? '3' : _ref6$named$columns;
7273            return parseInt(columns, 10);
7274          }
7275        },
7276        linkTo: {
7277          type: 'string',
7278          shortcode: function shortcode(_ref7) {
7279            var _ref7$named$link = _ref7.named.link,
7280                link = _ref7$named$link === void 0 ? 'attachment' : _ref7$named$link;
7281            return link === 'file' ? 'media' : link;
7282          }
7283        }
7284      }
7285    }, {
7286      // When created by drag and dropping multiple files on an insertion point
7287      type: 'files',
7288      isMatch: function isMatch(files) {
7289        return files.length !== 1 && Object(external_this_lodash_["every"])(files, function (file) {
7290          return file.type.indexOf('image/') === 0;
7291        });
7292      },
7293      transform: function transform(files) {
7294        var block = Object(external_this_wp_blocks_["createBlock"])('core/gallery', {
7295          images: files.map(function (file) {
7296            return shared_pickRelevantMediaFiles({
7297              url: Object(external_this_wp_blob_["createBlobURL"])(file)
7298            });
7299          })
7300        });
7301        return block;
7302      }
7303    }],
7304    to: [{
7305      type: 'block',
7306      blocks: ['core/image'],
7307      transform: function transform(_ref8) {
7308        var images = _ref8.images,
7309            align = _ref8.align,
7310            sizeSlug = _ref8.sizeSlug;
7311  
7312        if (images.length > 0) {
7313          return images.map(function (_ref9) {
7314            var id = _ref9.id,
7315                url = _ref9.url,
7316                alt = _ref9.alt,
7317                caption = _ref9.caption;
7318            return Object(external_this_wp_blocks_["createBlock"])('core/image', {
7319              id: id,
7320              url: url,
7321              alt: alt,
7322              caption: caption,
7323              align: align,
7324              sizeSlug: sizeSlug
7325            });
7326          });
7327        }
7328  
7329        return Object(external_this_wp_blocks_["createBlock"])('core/image', {
7330          align: align
7331        });
7332      }
7333    }]
7334  };
7335  /* harmony default export */ var gallery_transforms = (gallery_transforms_transforms);
7336  
7337  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/index.js
7338  /**
7339   * WordPress dependencies
7340   */
7341  
7342  /**
7343   * Internal dependencies
7344   */
7345  
7346  
7347  
7348  
7349  var gallery_metadata = {
7350    name: "core/gallery",
7351    category: "common",
7352    attributes: {
7353      images: {
7354        type: "array",
7355        "default": [],
7356        source: "query",
7357        selector: ".blocks-gallery-item",
7358        query: {
7359          url: {
7360            source: "attribute",
7361            selector: "img",
7362            attribute: "src"
7363          },
7364          fullUrl: {
7365            source: "attribute",
7366            selector: "img",
7367            attribute: "data-full-url"
7368          },
7369          link: {
7370            source: "attribute",
7371            selector: "img",
7372            attribute: "data-link"
7373          },
7374          alt: {
7375            source: "attribute",
7376            selector: "img",
7377            attribute: "alt",
7378            "default": ""
7379          },
7380          id: {
7381            source: "attribute",
7382            selector: "img",
7383            attribute: "data-id"
7384          },
7385          caption: {
7386            type: "string",
7387            source: "html",
7388            selector: ".blocks-gallery-item__caption"
7389          }
7390        }
7391      },
7392      ids: {
7393        type: "array",
7394        "default": []
7395      },
7396      columns: {
7397        type: "number",
7398        minimum: 1,
7399        maximum: 8
7400      },
7401      caption: {
7402        type: "string",
7403        source: "html",
7404        selector: ".blocks-gallery-caption"
7405      },
7406      imageCrop: {
7407        type: "boolean",
7408        "default": true
7409      },
7410      linkTo: {
7411        type: "string",
7412        "default": "none"
7413      },
7414      sizeSlug: {
7415        type: "string",
7416        "default": "large"
7417      }
7418    }
7419  };
7420  
7421  
7422  var gallery_name = gallery_metadata.name;
7423  
7424  var gallery_settings = {
7425    title: Object(external_this_wp_i18n_["__"])('Gallery'),
7426    description: Object(external_this_wp_i18n_["__"])('Display multiple images in a rich gallery.'),
7427    icon: icons_icon,
7428    keywords: [Object(external_this_wp_i18n_["__"])('images'), Object(external_this_wp_i18n_["__"])('photos')],
7429    example: {
7430      attributes: {
7431        columns: 2,
7432        images: [{
7433          url: 'https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg'
7434        }, {
7435          url: 'https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg'
7436        }]
7437      }
7438    },
7439    supports: {
7440      align: true
7441    },
7442    transforms: gallery_transforms,
7443    edit: gallery_edit,
7444    save: gallery_save_save,
7445    deprecated: gallery_deprecated
7446  };
7447  
7448  // EXTERNAL MODULE: external {"this":["wp","serverSideRender"]}
7449  var external_this_wp_serverSideRender_ = __webpack_require__(60);
7450  var external_this_wp_serverSideRender_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_serverSideRender_);
7451  
7452  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/edit.js
7453  
7454  
7455  /**
7456   * WordPress dependencies
7457   */
7458  
7459  
7460  
7461  
7462  function ArchivesEdit(_ref) {
7463    var attributes = _ref.attributes,
7464        setAttributes = _ref.setAttributes;
7465    var showPostCounts = attributes.showPostCounts,
7466        displayAsDropdown = attributes.displayAsDropdown;
7467    return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
7468      title: Object(external_this_wp_i18n_["__"])('Archives Settings')
7469    }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
7470      label: Object(external_this_wp_i18n_["__"])('Display as Dropdown'),
7471      checked: displayAsDropdown,
7472      onChange: function onChange() {
7473        return setAttributes({
7474          displayAsDropdown: !displayAsDropdown
7475        });
7476      }
7477    }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
7478      label: Object(external_this_wp_i18n_["__"])('Show Post Counts'),
7479      checked: showPostCounts,
7480      onChange: function onChange() {
7481        return setAttributes({
7482          showPostCounts: !showPostCounts
7483        });
7484      }
7485    }))), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Disabled"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_serverSideRender_default.a, {
7486      block: "core/archives",
7487      attributes: attributes
7488    })));
7489  }
7490  
7491  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/icon.js
7492  
7493  
7494  /**
7495   * WordPress dependencies
7496   */
7497  
7498  /* harmony default export */ var archives_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
7499    viewBox: "0 0 24 24",
7500    xmlns: "http://www.w3.org/2000/svg"
7501  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
7502    d: "M21 6V20C21 21.1 20.1 22 19 22H5C3.89 22 3 21.1 3 20L3.01 6C3.01 4.9 3.89 4 5 4H6V2H8V4H16V2H18V4H19C20.1 4 21 4.9 21 6ZM5 8H19V6H5V8ZM19 20V10H5V20H19ZM11 12H17V14H11V12ZM17 16H11V18H17V16ZM7 12H9V14H7V12ZM9 18V16H7V18H9Z"
7503  })));
7504  
7505  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/index.js
7506  /**
7507   * WordPress dependencies
7508   */
7509  
7510  /**
7511   * Internal dependencies
7512   */
7513  
7514  
7515  
7516  var archives_name = 'core/archives';
7517  var archives_settings = {
7518    title: Object(external_this_wp_i18n_["__"])('Archives'),
7519    description: Object(external_this_wp_i18n_["__"])('Display a monthly archive of your posts.'),
7520    icon: archives_icon,
7521    category: 'widgets',
7522    supports: {
7523      align: true,
7524      html: false
7525    },
7526    edit: ArchivesEdit
7527  };
7528  
7529  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/deprecated.js
7530  
7531  
7532  /**
7533   * WordPress dependencies
7534   */
7535  
7536  /* harmony default export */ var audio_deprecated = ([{
7537    attributes: {
7538      src: {
7539        type: 'string',
7540        source: 'attribute',
7541        selector: 'audio',
7542        attribute: 'src'
7543      },
7544      caption: {
7545        type: 'string',
7546        source: 'html',
7547        selector: 'figcaption'
7548      },
7549      id: {
7550        type: 'number'
7551      },
7552      autoplay: {
7553        type: 'boolean',
7554        source: 'attribute',
7555        selector: 'audio',
7556        attribute: 'autoplay'
7557      },
7558      loop: {
7559        type: 'boolean',
7560        source: 'attribute',
7561        selector: 'audio',
7562        attribute: 'loop'
7563      },
7564      preload: {
7565        type: 'string',
7566        source: 'attribute',
7567        selector: 'audio',
7568        attribute: 'preload'
7569      }
7570    },
7571    supports: {
7572      align: true
7573    },
7574    save: function save(_ref) {
7575      var attributes = _ref.attributes;
7576      var autoplay = attributes.autoplay,
7577          caption = attributes.caption,
7578          loop = attributes.loop,
7579          preload = attributes.preload,
7580          src = attributes.src;
7581      return Object(external_this_wp_element_["createElement"])("figure", null, Object(external_this_wp_element_["createElement"])("audio", {
7582        controls: "controls",
7583        src: src,
7584        autoPlay: autoplay,
7585        loop: loop,
7586        preload: preload
7587      }), !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
7588        tagName: "figcaption",
7589        value: caption
7590      }));
7591    }
7592  }]);
7593  
7594  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/icon.js
7595  
7596  
7597  /**
7598   * WordPress dependencies
7599   */
7600  
7601  /* harmony default export */ var audio_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
7602    viewBox: "0 0 24 24",
7603    xmlns: "http://www.w3.org/2000/svg"
7604  }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
7605    d: "M0,0h24v24H0V0z",
7606    fill: "none"
7607  }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
7608    d: "m12 3l0.01 10.55c-0.59-0.34-1.27-0.55-2-0.55-2.22 0-4.01 1.79-4.01 4s1.79 4 4.01 4 3.99-1.79 3.99-4v-10h4v-4h-6zm-1.99 16c-1.1 0-2-0.9-2-2s0.9-2 2-2 2 0.9 2 2-0.9 2-2 2z"
7609  })));
7610  
7611  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/edit.js
7612  
7613  
7614  
7615  
7616  
7617  
7618  
7619  
7620  
7621  
7622  /**
7623   * WordPress dependencies
7624   */
7625  
7626  
7627  
7628  
7629  
7630  
7631  
7632  /**
7633   * Internal dependencies
7634   */
7635  
7636  
7637  /**
7638   * Internal dependencies
7639   */
7640  
7641  
7642  var audio_edit_ALLOWED_MEDIA_TYPES = ['audio'];
7643  
7644  var edit_AudioEdit =
7645  /*#__PURE__*/
7646  function (_Component) {
7647    Object(inherits["a" /* default */])(AudioEdit, _Component);
7648  
7649    function AudioEdit() {
7650      var _this;
7651  
7652      Object(classCallCheck["a" /* default */])(this, AudioEdit);
7653  
7654      _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(AudioEdit).apply(this, arguments)); // edit component has its own src in the state so it can be edited
7655      // without setting the actual value outside of the edit UI
7656  
7657      _this.state = {
7658        editing: !_this.props.attributes.src
7659      };
7660      _this.toggleAttribute = _this.toggleAttribute.bind(Object(assertThisInitialized["a" /* default */])(_this));
7661      _this.onSelectURL = _this.onSelectURL.bind(Object(assertThisInitialized["a" /* default */])(_this));
7662      _this.onUploadError = _this.onUploadError.bind(Object(assertThisInitialized["a" /* default */])(_this));
7663      return _this;
7664    }
7665  
7666    Object(createClass["a" /* default */])(AudioEdit, [{
7667      key: "componentDidMount",
7668      value: function componentDidMount() {
7669        var _this2 = this;
7670  
7671        var _this$props = this.props,
7672            attributes = _this$props.attributes,
7673            mediaUpload = _this$props.mediaUpload,
7674            noticeOperations = _this$props.noticeOperations,
7675            setAttributes = _this$props.setAttributes;
7676        var id = attributes.id,
7677            _attributes$src = attributes.src,
7678            src = _attributes$src === void 0 ? '' : _attributes$src;
7679  
7680        if (!id && Object(external_this_wp_blob_["isBlobURL"])(src)) {
7681          var file = Object(external_this_wp_blob_["getBlobByURL"])(src);
7682  
7683          if (file) {
7684            mediaUpload({
7685              filesList: [file],
7686              onFileChange: function onFileChange(_ref) {
7687                var _ref2 = Object(slicedToArray["a" /* default */])(_ref, 1),
7688                    _ref2$ = _ref2[0],
7689                    mediaId = _ref2$.id,
7690                    url = _ref2$.url;
7691  
7692                setAttributes({
7693                  id: mediaId,
7694                  src: url
7695                });
7696              },
7697              onError: function onError(e) {
7698                setAttributes({
7699                  src: undefined,
7700                  id: undefined
7701                });
7702  
7703                _this2.setState({
7704                  editing: true
7705                });
7706  
7707                noticeOperations.createErrorNotice(e);
7708              },
7709              allowedTypes: audio_edit_ALLOWED_MEDIA_TYPES
7710            });
7711          }
7712        }
7713      }
7714    }, {
7715      key: "toggleAttribute",
7716      value: function toggleAttribute(attribute) {
7717        var _this3 = this;
7718  
7719        return function (newValue) {
7720          _this3.props.setAttributes(Object(defineProperty["a" /* default */])({}, attribute, newValue));
7721        };
7722      }
7723    }, {
7724      key: "onSelectURL",
7725      value: function onSelectURL(newSrc) {
7726        var _this$props2 = this.props,
7727            attributes = _this$props2.attributes,
7728            setAttributes = _this$props2.setAttributes;
7729        var src = attributes.src; // Set the block's src from the edit component's state, and switch off
7730        // the editing UI.
7731  
7732        if (newSrc !== src) {
7733          // Check if there's an embed block that handles this URL.
7734          var embedBlock = util_createUpgradedEmbedBlock({
7735            attributes: {
7736              url: newSrc
7737            }
7738          });
7739  
7740          if (undefined !== embedBlock) {
7741            this.props.onReplace(embedBlock);
7742            return;
7743          }
7744  
7745          setAttributes({
7746            src: newSrc,
7747            id: undefined
7748          });
7749        }
7750  
7751        this.setState({
7752          editing: false
7753        });
7754      }
7755    }, {
7756      key: "onUploadError",
7757      value: function onUploadError(message) {
7758        var noticeOperations = this.props.noticeOperations;
7759        noticeOperations.removeAllNotices();
7760        noticeOperations.createErrorNotice(message);
7761      }
7762    }, {
7763      key: "getAutoplayHelp",
7764      value: function getAutoplayHelp(checked) {
7765        return checked ? Object(external_this_wp_i18n_["__"])('Note: Autoplaying audio may cause usability issues for some visitors.') : null;
7766      }
7767    }, {
7768      key: "render",
7769      value: function render() {
7770        var _this4 = this;
7771  
7772        var _this$props$attribute = this.props.attributes,
7773            autoplay = _this$props$attribute.autoplay,
7774            caption = _this$props$attribute.caption,
7775            loop = _this$props$attribute.loop,
7776            preload = _this$props$attribute.preload,
7777            src = _this$props$attribute.src;
7778        var _this$props3 = this.props,
7779            setAttributes = _this$props3.setAttributes,
7780            isSelected = _this$props3.isSelected,
7781            className = _this$props3.className,
7782            noticeUI = _this$props3.noticeUI;
7783        var editing = this.state.editing;
7784  
7785        var switchToEditing = function switchToEditing() {
7786          _this4.setState({
7787            editing: true
7788          });
7789        };
7790  
7791        var onSelectAudio = function onSelectAudio(media) {
7792          if (!media || !media.url) {
7793            // in this case there was an error and we should continue in the editing state
7794            // previous attributes should be removed because they may be temporary blob urls
7795            setAttributes({
7796              src: undefined,
7797              id: undefined
7798            });
7799            switchToEditing();
7800            return;
7801          } // sets the block's attribute and updates the edit component from the
7802          // selected media, then switches off the editing UI
7803  
7804  
7805          setAttributes({
7806            src: media.url,
7807            id: media.id
7808          });
7809  
7810          _this4.setState({
7811            src: media.url,
7812            editing: false
7813          });
7814        };
7815  
7816        if (editing) {
7817          return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaPlaceholder"], {
7818            icon: Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockIcon"], {
7819              icon: audio_icon
7820            }),
7821            className: className,
7822            onSelect: onSelectAudio,
7823            onSelectURL: this.onSelectURL,
7824            accept: "audio/*",
7825            allowedTypes: audio_edit_ALLOWED_MEDIA_TYPES,
7826            value: this.props.attributes,
7827            notices: noticeUI,
7828            onError: this.onUploadError
7829          });
7830        }
7831  
7832        return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToolbarGroup"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
7833          className: "components-toolbar__control",
7834          label: Object(external_this_wp_i18n_["__"])('Edit audio'),
7835          onClick: switchToEditing,
7836          icon: "edit"
7837        }))), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
7838          title: Object(external_this_wp_i18n_["__"])('Audio Settings')
7839        }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
7840          label: Object(external_this_wp_i18n_["__"])('Autoplay'),
7841          onChange: this.toggleAttribute('autoplay'),
7842          checked: autoplay,
7843          help: this.getAutoplayHelp
7844        }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
7845          label: Object(external_this_wp_i18n_["__"])('Loop'),
7846          onChange: this.toggleAttribute('loop'),
7847          checked: loop
7848        }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SelectControl"], {
7849          label: Object(external_this_wp_i18n_["__"])('Preload'),
7850          value: undefined !== preload ? preload : 'none' // `undefined` is required for the preload attribute to be unset.
7851          ,
7852          onChange: function onChange(value) {
7853            return setAttributes({
7854              preload: 'none' !== value ? value : undefined
7855            });
7856          },
7857          options: [{
7858            value: 'auto',
7859            label: Object(external_this_wp_i18n_["__"])('Auto')
7860          }, {
7861            value: 'metadata',
7862            label: Object(external_this_wp_i18n_["__"])('Metadata')
7863          }, {
7864            value: 'none',
7865            label: Object(external_this_wp_i18n_["__"])('None')
7866          }]
7867        }))), Object(external_this_wp_element_["createElement"])("figure", {
7868          className: className
7869        }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Disabled"], null, Object(external_this_wp_element_["createElement"])("audio", {
7870          controls: "controls",
7871          src: src
7872        })), (!external_this_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
7873          tagName: "figcaption",
7874          placeholder: Object(external_this_wp_i18n_["__"])('Write caption…'),
7875          value: caption,
7876          onChange: function onChange(value) {
7877            return setAttributes({
7878              caption: value
7879            });
7880          },
7881          inlineToolbar: true
7882        })));
7883      }
7884    }]);
7885  
7886    return AudioEdit;
7887  }(external_this_wp_element_["Component"]);
7888  
7889  /* harmony default export */ var audio_edit = (Object(external_this_wp_compose_["compose"])([Object(external_this_wp_data_["withSelect"])(function (select) {
7890    var _select = select('core/block-editor'),
7891        getSettings = _select.getSettings;
7892  
7893    var _getSettings = getSettings(),
7894        mediaUpload = _getSettings.mediaUpload;
7895  
7896    return {
7897      mediaUpload: mediaUpload
7898    };
7899  }), external_this_wp_components_["withNotices"]])(edit_AudioEdit));
7900  
7901  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/save.js
7902  
7903  
7904  /**
7905   * WordPress dependencies
7906   */
7907  
7908  function audio_save_save(_ref) {
7909    var attributes = _ref.attributes;
7910    var autoplay = attributes.autoplay,
7911        caption = attributes.caption,
7912        loop = attributes.loop,
7913        preload = attributes.preload,
7914        src = attributes.src;
7915    return src && Object(external_this_wp_element_["createElement"])("figure", null, Object(external_this_wp_element_["createElement"])("audio", {
7916      controls: "controls",
7917      src: src,
7918      autoPlay: autoplay,
7919      loop: loop,
7920      preload: preload
7921    }), !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
7922      tagName: "figcaption",
7923      value: caption
7924    }));
7925  }
7926  
7927  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/transforms.js
7928  /**
7929   * WordPress dependencies
7930   */
7931  
7932  
7933  var audio_transforms_transforms = {
7934    from: [{
7935      type: 'files',
7936      isMatch: function isMatch(files) {
7937        return files.length === 1 && files[0].type.indexOf('audio/') === 0;
7938      },
7939      transform: function transform(files) {
7940        var file = files[0]; // We don't need to upload the media directly here
7941        // It's already done as part of the `componentDidMount`
7942        // in the audio block
7943  
7944        var block = Object(external_this_wp_blocks_["createBlock"])('core/audio', {
7945          src: Object(external_this_wp_blob_["createBlobURL"])(file)
7946        });
7947        return block;
7948      }
7949    }, {
7950      type: 'shortcode',
7951      tag: 'audio',
7952      attributes: {
7953        src: {
7954          type: 'string',
7955          shortcode: function shortcode(_ref) {
7956            var src = _ref.named.src;
7957            return src;
7958          }
7959        },
7960        loop: {
7961          type: 'string',
7962          shortcode: function shortcode(_ref2) {
7963            var loop = _ref2.named.loop;
7964            return loop;
7965          }
7966        },
7967        autoplay: {
7968          type: 'string',
7969          shortcode: function shortcode(_ref3) {
7970            var autoplay = _ref3.named.autoplay;
7971            return autoplay;
7972          }
7973        },
7974        preload: {
7975          type: 'string',
7976          shortcode: function shortcode(_ref4) {
7977            var preload = _ref4.named.preload;
7978            return preload;
7979          }
7980        }
7981      }
7982    }]
7983  };
7984  /* harmony default export */ var audio_transforms = (audio_transforms_transforms);
7985  
7986  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/index.js
7987  /**
7988   * WordPress dependencies
7989   */
7990  
7991  /**
7992   * Internal dependencies
7993   */
7994  
7995  
7996  
7997  
7998  var audio_metadata = {
7999    name: "core/audio",
8000    category: "common",
8001    attributes: {
8002      src: {
8003        type: "string",
8004        source: "attribute",
8005        selector: "audio",
8006        attribute: "src"
8007      },
8008      caption: {
8009        type: "string",
8010        source: "html",
8011        selector: "figcaption"
8012      },
8013      id: {
8014        type: "number"
8015      },
8016      autoplay: {
8017        type: "boolean",
8018        source: "attribute",
8019        selector: "audio",
8020        attribute: "autoplay"
8021      },
8022      loop: {
8023        type: "boolean",
8024        source: "attribute",
8025        selector: "audio",
8026        attribute: "loop"
8027      },
8028      preload: {
8029        type: "string",
8030        source: "attribute",
8031        selector: "audio",
8032        attribute: "preload"
8033      }
8034    }
8035  };
8036  
8037  
8038  var audio_name = audio_metadata.name;
8039  
8040  var audio_settings = {
8041    title: Object(external_this_wp_i18n_["__"])('Audio'),
8042    description: Object(external_this_wp_i18n_["__"])('Embed a simple audio player.'),
8043    keywords: [Object(external_this_wp_i18n_["__"])('music'), Object(external_this_wp_i18n_["__"])('sound'), Object(external_this_wp_i18n_["__"])('podcast'), Object(external_this_wp_i18n_["__"])('recording')],
8044    icon: audio_icon,
8045    transforms: audio_transforms,
8046    deprecated: audio_deprecated,
8047    supports: {
8048      align: true
8049    },
8050    edit: audio_edit,
8051    save: audio_save_save
8052  };
8053  
8054  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/deprecated.js
8055  
8056  
8057  
8058  
8059  /**
8060   * External dependencies
8061   */
8062  
8063  
8064  /**
8065   * WordPress dependencies
8066   */
8067  
8068  
8069  
8070  var deprecated_colorsMigration = function colorsMigration(attributes) {
8071    return Object(external_this_lodash_["omit"])(Object(objectSpread["a" /* default */])({}, attributes, {
8072      customTextColor: attributes.textColor && '#' === attributes.textColor[0] ? attributes.textColor : undefined,
8073      customBackgroundColor: attributes.color && '#' === attributes.color[0] ? attributes.color : undefined
8074    }), ['color', 'textColor']);
8075  };
8076  
8077  var button_deprecated_blockAttributes = {
8078    url: {
8079      type: 'string',
8080      source: 'attribute',
8081      selector: 'a',
8082      attribute: 'href'
8083    },
8084    title: {
8085      type: 'string',
8086      source: 'attribute',
8087      selector: 'a',
8088      attribute: 'title'
8089    },
8090    text: {
8091      type: 'string',
8092      source: 'html',
8093      selector: 'a'
8094    }
8095  };
8096  var button_deprecated_deprecated = [{
8097    attributes: Object(objectSpread["a" /* default */])({}, button_deprecated_blockAttributes, {
8098      align: {
8099        type: 'string',
8100        default: 'none'
8101      },
8102      backgroundColor: {
8103        type: 'string'
8104      },
8105      textColor: {
8106        type: 'string'
8107      },
8108      customBackgroundColor: {
8109        type: 'string'
8110      },
8111      customTextColor: {
8112        type: 'string'
8113      },
8114      linkTarget: {
8115        type: 'string',
8116        source: 'attribute',
8117        selector: 'a',
8118        attribute: 'target'
8119      },
8120      rel: {
8121        type: 'string',
8122        source: 'attribute',
8123        selector: 'a',
8124        attribute: 'rel'
8125      },
8126      placeholder: {
8127        type: 'string'
8128      }
8129    }),
8130    isEligible: function isEligible(attribute) {
8131      return attribute.className && attribute.className.includes('is-style-squared');
8132    },
8133    migrate: function migrate(attributes) {
8134      var newClassName = attributes.className;
8135  
8136      if (newClassName) {
8137        newClassName = newClassName.replace(/is-style-squared[\s]?/, '').trim();
8138      }
8139  
8140      return Object(objectSpread["a" /* default */])({}, attributes, {
8141        className: newClassName ? newClassName : undefined,
8142        borderRadius: 0
8143      });
8144    },
8145    save: function save(_ref) {
8146      var _classnames;
8147  
8148      var attributes = _ref.attributes;
8149      var backgroundColor = attributes.backgroundColor,
8150          customBackgroundColor = attributes.customBackgroundColor,
8151          customTextColor = attributes.customTextColor,
8152          linkTarget = attributes.linkTarget,
8153          rel = attributes.rel,
8154          text = attributes.text,
8155          textColor = attributes.textColor,
8156          title = attributes.title,
8157          url = attributes.url;
8158      var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
8159      var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
8160      var buttonClasses = classnames_default()('wp-block-button__link', (_classnames = {
8161        'has-text-color': textColor || customTextColor
8162      }, Object(defineProperty["a" /* default */])(_classnames, textClass, textClass), Object(defineProperty["a" /* default */])(_classnames, 'has-background', backgroundColor || customBackgroundColor), Object(defineProperty["a" /* default */])(_classnames, backgroundClass, backgroundClass), _classnames));
8163      var buttonStyle = {
8164        backgroundColor: backgroundClass ? undefined : customBackgroundColor,
8165        color: textClass ? undefined : customTextColor
8166      };
8167      return Object(external_this_wp_element_["createElement"])("div", null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
8168        tagName: "a",
8169        className: buttonClasses,
8170        href: url,
8171        title: title,
8172        style: buttonStyle,
8173        value: text,
8174        target: linkTarget,
8175        rel: rel
8176      }));
8177    }
8178  }, {
8179    attributes: Object(objectSpread["a" /* default */])({}, button_deprecated_blockAttributes, {
8180      align: {
8181        type: 'string',
8182        default: 'none'
8183      },
8184      backgroundColor: {
8185        type: 'string'
8186      },
8187      textColor: {
8188        type: 'string'
8189      },
8190      customBackgroundColor: {
8191        type: 'string'
8192      },
8193      customTextColor: {
8194        type: 'string'
8195      }
8196    }),
8197    save: function save(_ref2) {
8198      var _classnames2;
8199  
8200      var attributes = _ref2.attributes;
8201      var url = attributes.url,
8202          text = attributes.text,
8203          title = attributes.title,
8204          backgroundColor = attributes.backgroundColor,
8205          textColor = attributes.textColor,
8206          customBackgroundColor = attributes.customBackgroundColor,
8207          customTextColor = attributes.customTextColor;
8208      var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
8209      var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
8210      var buttonClasses = classnames_default()('wp-block-button__link', (_classnames2 = {
8211        'has-text-color': textColor || customTextColor
8212      }, Object(defineProperty["a" /* default */])(_classnames2, textClass, textClass), Object(defineProperty["a" /* default */])(_classnames2, 'has-background', backgroundColor || customBackgroundColor), Object(defineProperty["a" /* default */])(_classnames2, backgroundClass, backgroundClass), _classnames2));
8213      var buttonStyle = {
8214        backgroundColor: backgroundClass ? undefined : customBackgroundColor,
8215        color: textClass ? undefined : customTextColor
8216      };
8217      return Object(external_this_wp_element_["createElement"])("div", null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
8218        tagName: "a",
8219        className: buttonClasses,
8220        href: url,
8221        title: title,
8222        style: buttonStyle,
8223        value: text
8224      }));
8225    },
8226    migrate: deprecated_colorsMigration
8227  }, {
8228    attributes: Object(objectSpread["a" /* default */])({}, button_deprecated_blockAttributes, {
8229      color: {
8230        type: 'string'
8231      },
8232      textColor: {
8233        type: 'string'
8234      },
8235      align: {
8236        type: 'string',
8237        default: 'none'
8238      }
8239    }),
8240    save: function save(_ref3) {
8241      var attributes = _ref3.attributes;
8242      var url = attributes.url,
8243          text = attributes.text,
8244          title = attributes.title,
8245          align = attributes.align,
8246          color = attributes.color,
8247          textColor = attributes.textColor;
8248      var buttonStyle = {
8249        backgroundColor: color,
8250        color: textColor
8251      };
8252      var linkClass = 'wp-block-button__link';
8253      return Object(external_this_wp_element_["createElement"])("div", {
8254        className: "align".concat(align)
8255      }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
8256        tagName: "a",
8257        className: linkClass,
8258        href: url,
8259        title: title,
8260        style: buttonStyle,
8261        value: text
8262      }));
8263    },
8264    migrate: deprecated_colorsMigration
8265  }, {
8266    attributes: Object(objectSpread["a" /* default */])({}, button_deprecated_blockAttributes, {
8267      color: {
8268        type: 'string'
8269      },
8270      textColor: {
8271        type: 'string'
8272      },
8273      align: {
8274        type: 'string',
8275        default: 'none'
8276      }
8277    }),
8278    save: function save(_ref4) {
8279      var attributes = _ref4.attributes;
8280      var url = attributes.url,
8281          text = attributes.text,
8282          title = attributes.title,
8283          align = attributes.align,
8284          color = attributes.color,
8285          textColor = attributes.textColor;
8286      return Object(external_this_wp_element_["createElement"])("div", {
8287        className: "align".concat(align),
8288        style: {
8289          backgroundColor: color
8290        }
8291      }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
8292        tagName: "a",
8293        href: url,
8294        title: title,
8295        style: {
8296          color: textColor
8297        },
8298        value: text
8299      }));
8300    },
8301    migrate: deprecated_colorsMigration
8302  }];
8303  /* harmony default export */ var button_deprecated = (button_deprecated_deprecated);
8304  
8305  // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/edit.js
8306  
8307  
8308  
8309  
8310  
8311  /**
8312   * External dependencies
8313   */
8314  
8315  
8316  /**
8317   * WordPress dependencies
8318   */
8319  
8320  
8321  
8322  
8323  
8324  
8325  
8326  var edit_window = window,
8327      edit_getComputedStyle = edit_window.getComputedStyle;
8328  var applyFallbackStyles = Object(external_this_wp_components_["withFallbackStyles"])(function (node, ownProps) {
8329    var textColor = ownProps.textColor,
8330        backgroundColor = ownProps.backgroundColor;
8331    var backgroundColorValue = backgroundColor && backgroundColor.color;
8332    var textColorValue = textColor && textColor.color; //avoid the use of querySelector if textColor color is known and verify if node is available.
8333  
8334    var textNode = !textColorValue && node ? node.querySelector('[contenteditable="true"]') : null;
8335    return {
8336      fallbackBackgroundColor: backgroundColorValue || !node ? undefined : edit_getComputedStyle(node).backgroundColor,
8337      fallbackTextColor: textColorValue || !textNode ? undefined : edit_getComputedStyle(textNode).color
8338    };
8339  });
8340  var edit_NEW_TAB_REL = 'noreferrer noopener';
8341  var MIN_BORDER_RADIUS_VALUE = 0;
8342  var MAX_BORDER_RADIUS_VALUE = 50;
8343  var INITIAL_BORDER_RADIUS_POSITION = 5;
8344  
8345  function BorderPanel(_ref) {
8346    var _ref$borderRadius = _ref.borderRadius,
8347        borderRadius = _ref$borderRadius === void 0 ? '' : _ref$borderRadius,
8348        setAttributes = _ref.setAttributes;
8349    var setBorderRadius = Object(external_this_wp_element_["useCallback"])(function (newBorderRadius) {
8350      setAttributes({
8351        borderRadius: newBorderRadius
8352      });
8353    }, [setAttributes]);
8354    return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
8355      title: Object(external_this_wp_i18n_["__"])('Border Settings')
8356    }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["RangeControl"], {
8357      value: borderRadius,
8358      label: Object(external_this_wp_i18n_["__"])('Border Radius'),
8359      min: MIN_BORDER_RADIUS_VALUE,
8360      max: MAX_BORDER_RADIUS_VALUE,
8361      initialPosition: INITIAL_BORDER_RADIUS_POSITION,
8362      allowReset: true,
8363      onChange: setBorderRadius
8364    }));
8365  }
8366  
8367  var edit_handleLinkControlOnKeyDown = function handleLinkControlOnKeyDown(event) {
8368    var keyCode = event.keyCode;
8369  
8370    if ([external_this_wp_keycodes_["LEFT"], external_this_wp_keycodes_["DOWN"], external_this_wp_keycodes_["RIGHT"], external_this_wp_keycodes_["UP"], external_this_wp_keycodes_["BACKSPACE"], external_this_wp_keycodes_["ENTER"]].indexOf(keyCode) > -1) {
8371      // Stop the key event from propagating up to ObserveTyping.startTypingInTextField.
8372      event.stopPropagation();
8373    }
8374  };
8375  
8376  var handleLinkControlOnKeyPress = function handleLinkControlOnKeyPress(event) {
8377    event.stopPropagation();
8378  };
8379  
8380  function URLPicker(_ref2) {
8381    var isSelected = _ref2.isSelected,
8382        url = _ref2.url,
8383        title = _ref2.title,
8384        setAttributes = _ref2.setAttributes,
8385        opensInNewTab = _ref2.opensInNewTab,
8386        onToggleOpenInNewTab = _ref2.onToggleOpenInNewTab;
8387  
8388    var _useState = Object(external_this_wp_element_["useState"])(false),
8389        _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
8390        isURLPickerOpen = _useState2[0],
8391        setIsURLPickerOpen = _useState2[1];
8392  
8393    Object(external_this_wp_element_["useEffect"])(function () {
8394      if (!isSelected) {
8395        setIsURLPickerOpen(false);
8396      }
8397    }, [isSelected]);
8398  
8399    var openLinkControl = function openLinkControl() {
8400      setIsURLPickerOpen(true);
8401    };
8402  
8403    var linkControl = isURLPickerOpen && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["__experimentalLinkControl"], {
8404      className: "wp-block-navigation-link__inline-link-input",
8405      onKeyDown: edit_handleLinkControlOnKeyDown,
8406      onKeyPress: handleLinkControlOnKeyPress,
8407      currentLink: !url && !title ? null : {
8408        url: url,
8409        title: title
8410      },
8411      onLinkChange: function onLinkChange(_ref3) {
8412        var _ref3$title = _ref3.title,
8413            newTitle = _ref3$title === void 0 ? '' : _ref3$title,
8414            _ref3$url = _ref3.url,
8415            newURL = _ref3$url === void 0 ? '' : _ref3$url;
8416        setAttributes({
8417          title: Object(external_this_lodash_["escape"])(newTitle),
8418          url: newURL
8419        });
8420      },
8421      currentSettings: [{
8422        id: 'opensInNewTab',
8423        title: Object(external_this_wp_i18n_["__"])('Open in new tab'),
8424        checked: opensInNewTab
8425      }],
8426      onSettingsChange: function onSettingsChange(setting, value) {
8427        if (setting === 'opensInNewTab') {
8428          onToggleOpenInNewTab(value);
8429        }
8430      },
8431      onClose: function onClose() {
8432        setIsURLPickerOpen(false);
8433      }
8434    });
8435    return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToolbarGroup"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToolbarButton"], {
8436      name: "link",
8437      icon: "admin-links",
8438      title: Object(external_this_wp_i18n_["__"])('Link'),
8439      shortcut: external_this_wp_keycodes_["displayShortcut"].primary('k'),
8440      onClick: openLinkControl
8441    }))), isSelected && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["KeyboardShortcuts"], {
8442      bindGlobal: true,
8443      shortcuts: Object(defineProperty["a" /* default */])({}, external_this_wp_keycodes_["rawShortcut"].primary('k'), openLinkControl)
8444    }), linkControl);
8445  }
8446  
8447  function ButtonEdit(_ref5) {
8448    var _classnames;
8449  
8450    var attributes = _ref5.attributes,
8451        backgroundColor = _ref5.backgroundColor,
8452        textColor = _ref5.textColor,
8453        setBackgroundColor = _ref5.setBackgroundColor,
8454        setTextColor = _ref5.setTextColor,
8455        fallbackBackgroundColor = _ref5.fallbackBackgroundColor,
8456        fallbackTextColor = _ref5.fallbackTextColor,
8457        setAttributes = _ref5.setAttributes,
8458        className = _ref5.className,
8459        isSelected = _ref5.isSelected;
8460    var borderRadius = attributes.borderRadius,
8461        linkTarget = attributes.linkTarget,
8462        placeholder = attributes.placeholder,
8463        rel = attributes.rel,
8464        text = attributes.text,
8465        title = attributes.title,
8466        url = attributes.url;
8467    var onSetLinkRel = Object(external_this_wp_element_["useCallback"])(function (value) {
8468      setAttributes({
8469        rel: value
8470      });
8471    }, [setAttributes]);
8472    var onToggleOpenInNewTab = Object(external_this_wp_element_["useCallback"])(function (value) {
8473      var newLinkTarget = value ? '_blank' : undefined;
8474      var updatedRel = rel;
8475  
8476      if (newLinkTarget && !rel) {
8477        updatedRel = edit_NEW_TAB_REL;
8478      } else if (!newLinkTarget && rel === edit_NEW_TAB_REL) {
8479        updatedRel = undefined;
8480      }
8481  
8482      setAttributes({
8483        linkTarget: newLinkTarget,
8484        rel: updatedRel
8485      });
8486    }, [rel, setAttributes]);
8487  
8488    var _experimentalUseGrad = Object(external_this_wp_blockEditor_["__experimentalUseGradient"])(),
8489        gradientClass = _experimentalUseGrad.gradientClass,
8490        gradientValue = _experimentalUseGrad.gradientValue,
8491        setGradient = _experimentalUseGrad.setGradient;
8492  
8493    return Object(external_this_wp_element_["createElement"])("div", {
8494      className: className,
8495      title: title
8496    }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
8497      placeholder: placeholder || Object(external_this_wp_i18n_["__"])('Add text…'),
8498      value: text,
8499      onChange: function onChange(value) {
8500        return setAttributes({
8501          text: value
8502        });
8503      },
8504      withoutInteractiveFormatting: true,