aboutsummaryrefslogtreecommitdiff
path: root/srcs/wordpress/wp-includes/js/dist/block-library.js
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/wordpress/wp-includes/js/dist/block-library.js')
-rw-r--r--srcs/wordpress/wp-includes/js/dist/block-library.js22784
1 files changed, 22784 insertions, 0 deletions
diff --git a/srcs/wordpress/wp-includes/js/dist/block-library.js b/srcs/wordpress/wp-includes/js/dist/block-library.js
new file mode 100644
index 0000000..b7e22fa
--- /dev/null
+++ b/srcs/wordpress/wp-includes/js/dist/block-library.js
@@ -0,0 +1,22784 @@
+this["wp"] = this["wp"] || {}; this["wp"]["blockLibrary"] =
+/******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ }
+/******/ };
+/******/
+/******/ // define __esModule on exports
+/******/ __webpack_require__.r = function(exports) {
+/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ }
+/******/ Object.defineProperty(exports, '__esModule', { value: true });
+/******/ };
+/******/
+/******/ // create a fake namespace object
+/******/ // mode & 1: value is a module id, require it
+/******/ // mode & 2: merge all properties of value into the ns
+/******/ // mode & 4: return value when already ns object
+/******/ // mode & 8|1: behave like require
+/******/ __webpack_require__.t = function(value, mode) {
+/******/ if(mode & 1) value = __webpack_require__(value);
+/******/ if(mode & 8) return value;
+/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ var ns = Object.create(null);
+/******/ __webpack_require__.r(ns);
+/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ return ns;
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = 341);
+/******/ })
+/************************************************************************/
+/******/ ({
+
+/***/ 0:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["element"]; }());
+
+/***/ }),
+
+/***/ 1:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["i18n"]; }());
+
+/***/ }),
+
+/***/ 10:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _defineProperty; });
+function _defineProperty(obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+
+ return obj;
+}
+
+/***/ }),
+
+/***/ 11:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _createClass; });
+function _defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
+}
+
+function _createClass(Constructor, protoProps, staticProps) {
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) _defineProperties(Constructor, staticProps);
+ return Constructor;
+}
+
+/***/ }),
+
+/***/ 12:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _classCallCheck; });
+function _classCallCheck(instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+}
+
+/***/ }),
+
+/***/ 123:
+/***/ (function(module, exports, __webpack_require__) {
+
+/* WEBPACK VAR INJECTION */(function(module, global) {var __WEBPACK_AMD_DEFINE_RESULT__;/*! https://mths.be/punycode v1.3.2 by @mathias */
+;(function(root) {
+
+ /** Detect free variables */
+ var freeExports = true && exports &&
+ !exports.nodeType && exports;
+ var freeModule = true && module &&
+ !module.nodeType && module;
+ var freeGlobal = typeof global == 'object' && global;
+ if (
+ freeGlobal.global === freeGlobal ||
+ freeGlobal.window === freeGlobal ||
+ freeGlobal.self === freeGlobal
+ ) {
+ root = freeGlobal;
+ }
+
+ /**
+ * The `punycode` object.
+ * @name punycode
+ * @type Object
+ */
+ var punycode,
+
+ /** Highest positive signed 32-bit float value */
+ maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1
+
+ /** Bootstring parameters */
+ base = 36,
+ tMin = 1,
+ tMax = 26,
+ skew = 38,
+ damp = 700,
+ initialBias = 72,
+ initialN = 128, // 0x80
+ delimiter = '-', // '\x2D'
+
+ /** Regular expressions */
+ regexPunycode = /^xn--/,
+ regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars
+ regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators
+
+ /** Error messages */
+ errors = {
+ 'overflow': 'Overflow: input needs wider integers to process',
+ 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
+ 'invalid-input': 'Invalid input'
+ },
+
+ /** Convenience shortcuts */
+ baseMinusTMin = base - tMin,
+ floor = Math.floor,
+ stringFromCharCode = String.fromCharCode,
+
+ /** Temporary variable */
+ key;
+
+ /*--------------------------------------------------------------------------*/
+
+ /**
+ * A generic error utility function.
+ * @private
+ * @param {String} type The error type.
+ * @returns {Error} Throws a `RangeError` with the applicable error message.
+ */
+ function error(type) {
+ throw RangeError(errors[type]);
+ }
+
+ /**
+ * A generic `Array#map` utility function.
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} callback The function that gets called for every array
+ * item.
+ * @returns {Array} A new array of values returned by the callback function.
+ */
+ function map(array, fn) {
+ var length = array.length;
+ var result = [];
+ while (length--) {
+ result[length] = fn(array[length]);
+ }
+ return result;
+ }
+
+ /**
+ * A simple `Array#map`-like wrapper to work with domain name strings or email
+ * addresses.
+ * @private
+ * @param {String} domain The domain name or email address.
+ * @param {Function} callback The function that gets called for every
+ * character.
+ * @returns {Array} A new string of characters returned by the callback
+ * function.
+ */
+ function mapDomain(string, fn) {
+ var parts = string.split('@');
+ var result = '';
+ if (parts.length > 1) {
+ // In email addresses, only the domain name should be punycoded. Leave
+ // the local part (i.e. everything up to `@`) intact.
+ result = parts[0] + '@';
+ string = parts[1];
+ }
+ // Avoid `split(regex)` for IE8 compatibility. See #17.
+ string = string.replace(regexSeparators, '\x2E');
+ var labels = string.split('.');
+ var encoded = map(labels, fn).join('.');
+ return result + encoded;
+ }
+
+ /**
+ * Creates an array containing the numeric code points of each Unicode
+ * character in the string. While JavaScript uses UCS-2 internally,
+ * this function will convert a pair of surrogate halves (each of which
+ * UCS-2 exposes as separate characters) into a single code point,
+ * matching UTF-16.
+ * @see `punycode.ucs2.encode`
+ * @see <https://mathiasbynens.be/notes/javascript-encoding>
+ * @memberOf punycode.ucs2
+ * @name decode
+ * @param {String} string The Unicode input string (UCS-2).
+ * @returns {Array} The new array of code points.
+ */
+ function ucs2decode(string) {
+ var output = [],
+ counter = 0,
+ length = string.length,
+ value,
+ extra;
+ while (counter < length) {
+ value = string.charCodeAt(counter++);
+ if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
+ // high surrogate, and there is a next character
+ extra = string.charCodeAt(counter++);
+ if ((extra & 0xFC00) == 0xDC00) { // low surrogate
+ output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
+ } else {
+ // unmatched surrogate; only append this code unit, in case the next
+ // code unit is the high surrogate of a surrogate pair
+ output.push(value);
+ counter--;
+ }
+ } else {
+ output.push(value);
+ }
+ }
+ return output;
+ }
+
+ /**
+ * Creates a string based on an array of numeric code points.
+ * @see `punycode.ucs2.decode`
+ * @memberOf punycode.ucs2
+ * @name encode
+ * @param {Array} codePoints The array of numeric code points.
+ * @returns {String} The new Unicode string (UCS-2).
+ */
+ function ucs2encode(array) {
+ return map(array, function(value) {
+ var output = '';
+ if (value > 0xFFFF) {
+ value -= 0x10000;
+ output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
+ value = 0xDC00 | value & 0x3FF;
+ }
+ output += stringFromCharCode(value);
+ return output;
+ }).join('');
+ }
+
+ /**
+ * Converts a basic code point into a digit/integer.
+ * @see `digitToBasic()`
+ * @private
+ * @param {Number} codePoint The basic numeric code point value.
+ * @returns {Number} The numeric value of a basic code point (for use in
+ * representing integers) in the range `0` to `base - 1`, or `base` if
+ * the code point does not represent a value.
+ */
+ function basicToDigit(codePoint) {
+ if (codePoint - 48 < 10) {
+ return codePoint - 22;
+ }
+ if (codePoint - 65 < 26) {
+ return codePoint - 65;
+ }
+ if (codePoint - 97 < 26) {
+ return codePoint - 97;
+ }
+ return base;
+ }
+
+ /**
+ * Converts a digit/integer into a basic code point.
+ * @see `basicToDigit()`
+ * @private
+ * @param {Number} digit The numeric value of a basic code point.
+ * @returns {Number} The basic code point whose value (when used for
+ * representing integers) is `digit`, which needs to be in the range
+ * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
+ * used; else, the lowercase form is used. The behavior is undefined
+ * if `flag` is non-zero and `digit` has no uppercase form.
+ */
+ function digitToBasic(digit, flag) {
+ // 0..25 map to ASCII a..z or A..Z
+ // 26..35 map to ASCII 0..9
+ return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
+ }
+
+ /**
+ * Bias adaptation function as per section 3.4 of RFC 3492.
+ * http://tools.ietf.org/html/rfc3492#section-3.4
+ * @private
+ */
+ function adapt(delta, numPoints, firstTime) {
+ var k = 0;
+ delta = firstTime ? floor(delta / damp) : delta >> 1;
+ delta += floor(delta / numPoints);
+ for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
+ delta = floor(delta / baseMinusTMin);
+ }
+ return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
+ }
+
+ /**
+ * Converts a Punycode string of ASCII-only symbols to a string of Unicode
+ * symbols.
+ * @memberOf punycode
+ * @param {String} input The Punycode string of ASCII-only symbols.
+ * @returns {String} The resulting string of Unicode symbols.
+ */
+ function decode(input) {
+ // Don't use UCS-2
+ var output = [],
+ inputLength = input.length,
+ out,
+ i = 0,
+ n = initialN,
+ bias = initialBias,
+ basic,
+ j,
+ index,
+ oldi,
+ w,
+ k,
+ digit,
+ t,
+ /** Cached calculation results */
+ baseMinusT;
+
+ // Handle the basic code points: let `basic` be the number of input code
+ // points before the last delimiter, or `0` if there is none, then copy
+ // the first basic code points to the output.
+
+ basic = input.lastIndexOf(delimiter);
+ if (basic < 0) {
+ basic = 0;
+ }
+
+ for (j = 0; j < basic; ++j) {
+ // if it's not a basic code point
+ if (input.charCodeAt(j) >= 0x80) {
+ error('not-basic');
+ }
+ output.push(input.charCodeAt(j));
+ }
+
+ // Main decoding loop: start just after the last delimiter if any basic code
+ // points were copied; start at the beginning otherwise.
+
+ for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
+
+ // `index` is the index of the next character to be consumed.
+ // Decode a generalized variable-length integer into `delta`,
+ // which gets added to `i`. The overflow checking is easier
+ // if we increase `i` as we go, then subtract off its starting
+ // value at the end to obtain `delta`.
+ for (oldi = i, w = 1, k = base; /* no condition */; k += base) {
+
+ if (index >= inputLength) {
+ error('invalid-input');
+ }
+
+ digit = basicToDigit(input.charCodeAt(index++));
+
+ if (digit >= base || digit > floor((maxInt - i) / w)) {
+ error('overflow');
+ }
+
+ i += digit * w;
+ t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
+
+ if (digit < t) {
+ break;
+ }
+
+ baseMinusT = base - t;
+ if (w > floor(maxInt / baseMinusT)) {
+ error('overflow');
+ }
+
+ w *= baseMinusT;
+
+ }
+
+ out = output.length + 1;
+ bias = adapt(i - oldi, out, oldi == 0);
+
+ // `i` was supposed to wrap around from `out` to `0`,
+ // incrementing `n` each time, so we'll fix that now:
+ if (floor(i / out) > maxInt - n) {
+ error('overflow');
+ }
+
+ n += floor(i / out);
+ i %= out;
+
+ // Insert `n` at position `i` of the output
+ output.splice(i++, 0, n);
+
+ }
+
+ return ucs2encode(output);
+ }
+
+ /**
+ * Converts a string of Unicode symbols (e.g. a domain name label) to a
+ * Punycode string of ASCII-only symbols.
+ * @memberOf punycode
+ * @param {String} input The string of Unicode symbols.
+ * @returns {String} The resulting Punycode string of ASCII-only symbols.
+ */
+ function encode(input) {
+ var n,
+ delta,
+ handledCPCount,
+ basicLength,
+ bias,
+ j,
+ m,
+ q,
+ k,
+ t,
+ currentValue,
+ output = [],
+ /** `inputLength` will hold the number of code points in `input`. */
+ inputLength,
+ /** Cached calculation results */
+ handledCPCountPlusOne,
+ baseMinusT,
+ qMinusT;
+
+ // Convert the input in UCS-2 to Unicode
+ input = ucs2decode(input);
+
+ // Cache the length
+ inputLength = input.length;
+
+ // Initialize the state
+ n = initialN;
+ delta = 0;
+ bias = initialBias;
+
+ // Handle the basic code points
+ for (j = 0; j < inputLength; ++j) {
+ currentValue = input[j];
+ if (currentValue < 0x80) {
+ output.push(stringFromCharCode(currentValue));
+ }
+ }
+
+ handledCPCount = basicLength = output.length;
+
+ // `handledCPCount` is the number of code points that have been handled;
+ // `basicLength` is the number of basic code points.
+
+ // Finish the basic string - if it is not empty - with a delimiter
+ if (basicLength) {
+ output.push(delimiter);
+ }
+
+ // Main encoding loop:
+ while (handledCPCount < inputLength) {
+
+ // All non-basic code points < n have been handled already. Find the next
+ // larger one:
+ for (m = maxInt, j = 0; j < inputLength; ++j) {
+ currentValue = input[j];
+ if (currentValue >= n && currentValue < m) {
+ m = currentValue;
+ }
+ }
+
+ // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
+ // but guard against overflow
+ handledCPCountPlusOne = handledCPCount + 1;
+ if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
+ error('overflow');
+ }
+
+ delta += (m - n) * handledCPCountPlusOne;
+ n = m;
+
+ for (j = 0; j < inputLength; ++j) {
+ currentValue = input[j];
+
+ if (currentValue < n && ++delta > maxInt) {
+ error('overflow');
+ }
+
+ if (currentValue == n) {
+ // Represent delta as a generalized variable-length integer
+ for (q = delta, k = base; /* no condition */; k += base) {
+ t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
+ if (q < t) {
+ break;
+ }
+ qMinusT = q - t;
+ baseMinusT = base - t;
+ output.push(
+ stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
+ );
+ q = floor(qMinusT / baseMinusT);
+ }
+
+ output.push(stringFromCharCode(digitToBasic(q, 0)));
+ bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
+ delta = 0;
+ ++handledCPCount;
+ }
+ }
+
+ ++delta;
+ ++n;
+
+ }
+ return output.join('');
+ }
+
+ /**
+ * Converts a Punycode string representing a domain name or an email address
+ * to Unicode. Only the Punycoded parts of the input will be converted, i.e.
+ * it doesn't matter if you call it on a string that has already been
+ * converted to Unicode.
+ * @memberOf punycode
+ * @param {String} input The Punycoded domain name or email address to
+ * convert to Unicode.
+ * @returns {String} The Unicode representation of the given Punycode
+ * string.
+ */
+ function toUnicode(input) {
+ return mapDomain(input, function(string) {
+ return regexPunycode.test(string)
+ ? decode(string.slice(4).toLowerCase())
+ : string;
+ });
+ }
+
+ /**
+ * Converts a Unicode string representing a domain name or an email address to
+ * Punycode. Only the non-ASCII parts of the domain name will be converted,
+ * i.e. it doesn't matter if you call it with a domain that's already in
+ * ASCII.
+ * @memberOf punycode
+ * @param {String} input The domain name or email address to convert, as a
+ * Unicode string.
+ * @returns {String} The Punycode representation of the given domain name or
+ * email address.
+ */
+ function toASCII(input) {
+ return mapDomain(input, function(string) {
+ return regexNonASCII.test(string)
+ ? 'xn--' + encode(string)
+ : string;
+ });
+ }
+
+ /*--------------------------------------------------------------------------*/
+
+ /** Define the public API */
+ punycode = {
+ /**
+ * A string representing the current Punycode.js version number.
+ * @memberOf punycode
+ * @type String
+ */
+ 'version': '1.3.2',
+ /**
+ * An object of methods to convert from JavaScript's internal character
+ * representation (UCS-2) to Unicode code points, and back.
+ * @see <https://mathiasbynens.be/notes/javascript-encoding>
+ * @memberOf punycode
+ * @type Object
+ */
+ 'ucs2': {
+ 'decode': ucs2decode,
+ 'encode': ucs2encode
+ },
+ 'decode': decode,
+ 'encode': encode,
+ 'toASCII': toASCII,
+ 'toUnicode': toUnicode
+ };
+
+ /** Expose `punycode` */
+ // Some AMD build optimizers, like r.js, check for specific condition patterns
+ // like the following:
+ if (
+ true
+ ) {
+ !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {
+ return punycode;
+ }).call(exports, __webpack_require__, exports, module),
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+ } else {}
+
+}(this));
+
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(124)(module), __webpack_require__(65)))
+
+/***/ }),
+
+/***/ 124:
+/***/ (function(module, exports) {
+
+module.exports = function(module) {
+ if (!module.webpackPolyfill) {
+ module.deprecate = function() {};
+ module.paths = [];
+ // module.parent = undefined by default
+ if (!module.children) module.children = [];
+ Object.defineProperty(module, "loaded", {
+ enumerable: true,
+ get: function() {
+ return module.l;
+ }
+ });
+ Object.defineProperty(module, "id", {
+ enumerable: true,
+ get: function() {
+ return module.i;
+ }
+ });
+ module.webpackPolyfill = 1;
+ }
+ return module;
+};
+
+
+/***/ }),
+
+/***/ 125:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+module.exports = {
+ isString: function(arg) {
+ return typeof(arg) === 'string';
+ },
+ isObject: function(arg) {
+ return typeof(arg) === 'object' && arg !== null;
+ },
+ isNull: function(arg) {
+ return arg === null;
+ },
+ isNullOrUndefined: function(arg) {
+ return arg == null;
+ }
+};
+
+
+/***/ }),
+
+/***/ 126:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+exports.decode = exports.parse = __webpack_require__(127);
+exports.encode = exports.stringify = __webpack_require__(128);
+
+
+/***/ }),
+
+/***/ 127:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+
+// If obj.hasOwnProperty has been overridden, then calling
+// obj.hasOwnProperty(prop) will break.
+// See: https://github.com/joyent/node/issues/1707
+function hasOwnProperty(obj, prop) {
+ return Object.prototype.hasOwnProperty.call(obj, prop);
+}
+
+module.exports = function(qs, sep, eq, options) {
+ sep = sep || '&';
+ eq = eq || '=';
+ var obj = {};
+
+ if (typeof qs !== 'string' || qs.length === 0) {
+ return obj;
+ }
+
+ var regexp = /\+/g;
+ qs = qs.split(sep);
+
+ var maxKeys = 1000;
+ if (options && typeof options.maxKeys === 'number') {
+ maxKeys = options.maxKeys;
+ }
+
+ var len = qs.length;
+ // maxKeys <= 0 means that we should not limit keys count
+ if (maxKeys > 0 && len > maxKeys) {
+ len = maxKeys;
+ }
+
+ for (var i = 0; i < len; ++i) {
+ var x = qs[i].replace(regexp, '%20'),
+ idx = x.indexOf(eq),
+ kstr, vstr, k, v;
+
+ if (idx >= 0) {
+ kstr = x.substr(0, idx);
+ vstr = x.substr(idx + 1);
+ } else {
+ kstr = x;
+ vstr = '';
+ }
+
+ k = decodeURIComponent(kstr);
+ v = decodeURIComponent(vstr);
+
+ if (!hasOwnProperty(obj, k)) {
+ obj[k] = v;
+ } else if (isArray(obj[k])) {
+ obj[k].push(v);
+ } else {
+ obj[k] = [obj[k], v];
+ }
+ }
+
+ return obj;
+};
+
+var isArray = Array.isArray || function (xs) {
+ return Object.prototype.toString.call(xs) === '[object Array]';
+};
+
+
+/***/ }),
+
+/***/ 128:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+
+var stringifyPrimitive = function(v) {
+ switch (typeof v) {
+ case 'string':
+ return v;
+
+ case 'boolean':
+ return v ? 'true' : 'false';
+
+ case 'number':
+ return isFinite(v) ? v : '';
+
+ default:
+ return '';
+ }
+};
+
+module.exports = function(obj, sep, eq, name) {
+ sep = sep || '&';
+ eq = eq || '=';
+ if (obj === null) {
+ obj = undefined;
+ }
+
+ if (typeof obj === 'object') {
+ return map(objectKeys(obj), function(k) {
+ var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;
+ if (isArray(obj[k])) {
+ return map(obj[k], function(v) {
+ return ks + encodeURIComponent(stringifyPrimitive(v));
+ }).join(sep);
+ } else {
+ return ks + encodeURIComponent(stringifyPrimitive(obj[k]));
+ }
+ }).join(sep);
+
+ }
+
+ if (!name) return '';
+ return encodeURIComponent(stringifyPrimitive(name)) + eq +
+ encodeURIComponent(stringifyPrimitive(obj));
+};
+
+var isArray = Array.isArray || function (xs) {
+ return Object.prototype.toString.call(xs) === '[object Array]';
+};
+
+function map (xs, f) {
+ if (xs.map) return xs.map(f);
+ var res = [];
+ for (var i = 0; i < xs.length; i++) {
+ res.push(f(xs[i], i));
+ }
+ return res;
+}
+
+var objectKeys = Object.keys || function (obj) {
+ var res = [];
+ for (var key in obj) {
+ if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);
+ }
+ return res;
+};
+
+
+/***/ }),
+
+/***/ 13:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _possibleConstructorReturn; });
+/* harmony import */ var _helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31);
+/* harmony import */ var _assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5);
+
+
+function _possibleConstructorReturn(self, call) {
+ if (call && (Object(_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(call) === "object" || typeof call === "function")) {
+ return call;
+ }
+
+ return Object(_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(self);
+}
+
+/***/ }),
+
+/***/ 14:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _getPrototypeOf; });
+function _getPrototypeOf(o) {
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
+ return o.__proto__ || Object.getPrototypeOf(o);
+ };
+ return _getPrototypeOf(o);
+}
+
+/***/ }),
+
+/***/ 15:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
+function _setPrototypeOf(o, p) {
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
+ o.__proto__ = p;
+ return o;
+ };
+
+ return _setPrototypeOf(o, p);
+}
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _inherits; });
+
+function _inherits(subClass, superClass) {
+ if (typeof superClass !== "function" && superClass !== null) {
+ throw new TypeError("Super expression must either be null or a function");
+ }
+
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
+ constructor: {
+ value: subClass,
+ writable: true,
+ configurable: true
+ }
+ });
+ if (superClass) _setPrototypeOf(subClass, superClass);
+}
+
+/***/ }),
+
+/***/ 16:
+/***/ (function(module, exports, __webpack_require__) {
+
+var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
+ Copyright (c) 2017 Jed Watson.
+ Licensed under the MIT License (MIT), see
+ http://jedwatson.github.io/classnames
+*/
+/* global define */
+
+(function () {
+ 'use strict';
+
+ var hasOwn = {}.hasOwnProperty;
+
+ function classNames () {
+ var classes = [];
+
+ for (var i = 0; i < arguments.length; i++) {
+ var arg = arguments[i];
+ if (!arg) continue;
+
+ var argType = typeof arg;
+
+ if (argType === 'string' || argType === 'number') {
+ classes.push(arg);
+ } else if (Array.isArray(arg) && arg.length) {
+ var inner = classNames.apply(null, arg);
+ if (inner) {
+ classes.push(inner);
+ }
+ } else if (argType === 'object') {
+ for (var key in arg) {
+ if (hasOwn.call(arg, key) && arg[key]) {
+ classes.push(key);
+ }
+ }
+ }
+ }
+
+ return classes.join(' ');
+ }
+
+ if ( true && module.exports) {
+ classNames.default = classNames;
+ module.exports = classNames;
+ } else if (true) {
+ // register as 'classnames', consistent with npm package name
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
+ return classNames;
+ }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+ } else {}
+}());
+
+
+/***/ }),
+
+/***/ 17:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
+function _arrayWithoutHoles(arr) {
+ if (Array.isArray(arr)) {
+ for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {
+ arr2[i] = arr[i];
+ }
+
+ return arr2;
+ }
+}
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
+var iterableToArray = __webpack_require__(30);
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
+function _nonIterableSpread() {
+ throw new TypeError("Invalid attempt to spread non-iterable instance");
+}
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _toConsumableArray; });
+
+
+
+function _toConsumableArray(arr) {
+ return _arrayWithoutHoles(arr) || Object(iterableToArray["a" /* default */])(arr) || _nonIterableSpread();
+}
+
+/***/ }),
+
+/***/ 18:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });
+function _extends() {
+ _extends = Object.assign || function (target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i];
+
+ for (var key in source) {
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+
+ return target;
+ };
+
+ return _extends.apply(this, arguments);
+}
+
+/***/ }),
+
+/***/ 19:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["keycodes"]; }());
+
+/***/ }),
+
+/***/ 2:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["lodash"]; }());
+
+/***/ }),
+
+/***/ 21:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
+function _objectWithoutPropertiesLoose(source, excluded) {
+ if (source == null) return {};
+ var target = {};
+ var sourceKeys = Object.keys(source);
+ var key, i;
+
+ for (i = 0; i < sourceKeys.length; i++) {
+ key = sourceKeys[i];
+ if (excluded.indexOf(key) >= 0) continue;
+ target[key] = source[key];
+ }
+
+ return target;
+}
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; });
+
+function _objectWithoutProperties(source, excluded) {
+ if (source == null) return {};
+ var target = _objectWithoutPropertiesLoose(source, excluded);
+ var key, i;
+
+ if (Object.getOwnPropertySymbols) {
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
+
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
+ key = sourceSymbolKeys[i];
+ if (excluded.indexOf(key) >= 0) continue;
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
+ target[key] = source[key];
+ }
+ }
+
+ return target;
+}
+
+/***/ }),
+
+/***/ 22:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["richText"]; }());
+
+/***/ }),
+
+/***/ 221:
+/***/ (function(module, exports, __webpack_require__) {
+
+/*! Fast Average Color | © 2019 Denis Seleznev | MIT License | https://github.com/hcodes/fast-average-color/ */
+(function (global, factory) {
+ true ? module.exports = factory() :
+ undefined;
+}(this, (function () { 'use strict';
+
+function _classCallCheck(instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+}
+
+function _defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
+}
+
+function _createClass(Constructor, protoProps, staticProps) {
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) _defineProperties(Constructor, staticProps);
+ return Constructor;
+}
+
+function _slicedToArray(arr, i) {
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
+}
+
+function _arrayWithHoles(arr) {
+ if (Array.isArray(arr)) return arr;
+}
+
+function _iterableToArrayLimit(arr, i) {
+ var _arr = [];
+ var _n = true;
+ var _d = false;
+ var _e = undefined;
+
+ try {
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
+ _arr.push(_s.value);
+
+ if (i && _arr.length === i) break;
+ }
+ } catch (err) {
+ _d = true;
+ _e = err;
+ } finally {
+ try {
+ if (!_n && _i["return"] != null) _i["return"]();
+ } finally {
+ if (_d) throw _e;
+ }
+ }
+
+ return _arr;
+}
+
+function _nonIterableRest() {
+ throw new TypeError("Invalid attempt to destructure non-iterable instance");
+}
+
+var FastAverageColor =
+/*#__PURE__*/
+function () {
+ function FastAverageColor() {
+ _classCallCheck(this, FastAverageColor);
+ }
+
+ _createClass(FastAverageColor, [{
+ key: "getColorAsync",
+
+ /**
+ * Get asynchronously the average color from not loaded image.
+ *
+ * @param {HTMLImageElement} resource
+ * @param {Function} callback
+ * @param {Object|null} [options]
+ * @param {Array} [options.defaultColor=[255, 255, 255, 255]]
+ * @param {*} [options.data]
+ * @param {string} [options.mode="speed"] "precision" or "speed"
+ * @param {string} [options.algorithm="sqrt"] "simple", "sqrt" or "dominant"
+ * @param {number} [options.step=1]
+ * @param {number} [options.left=0]
+ * @param {number} [options.top=0]
+ * @param {number} [options.width=width of resource]
+ * @param {number} [options.height=height of resource]
+ */
+ value: function getColorAsync(resource, callback, options) {
+ if (resource.complete) {
+ callback.call(resource, this.getColor(resource, options), options && options.data);
+ } else {
+ this._bindImageEvents(resource, callback, options);
+ }
+ }
+ /**
+ * Get the average color from images, videos and canvas.
+ *
+ * @param {HTMLImageElement|HTMLVideoElement|HTMLCanvasElement} resource
+ * @param {Object|null} [options]
+ * @param {Array} [options.defaultColor=[255, 255, 255, 255]]
+ * @param {*} [options.data]
+ * @param {string} [options.mode="speed"] "precision" or "speed"
+ * @param {string} [options.algorithm="sqrt"] "simple", "sqrt" or "dominant"
+ * @param {number} [options.step=1]
+ * @param {number} [options.left=0]
+ * @param {number} [options.top=0]
+ * @param {number} [options.width=width of resource]
+ * @param {number} [options.height=height of resource]
+ *
+ * @returns {Object}
+ */
+
+ }, {
+ key: "getColor",
+ value: function getColor(resource, options) {
+ options = options || {};
+
+ var defaultColor = this._getDefaultColor(options),
+ originalSize = this._getOriginalSize(resource),
+ size = this._prepareSizeAndPosition(originalSize, options);
+
+ var error = null,
+ value = defaultColor;
+
+ if (!size.srcWidth || !size.srcHeight || !size.destWidth || !size.destHeight) {
+ return this._prepareResult(defaultColor, new Error('FastAverageColor: Incorrect sizes.'));
+ }
+
+ if (!this._ctx) {
+ this._canvas = this._makeCanvas();
+ this._ctx = this._canvas.getContext && this._canvas.getContext('2d');
+
+ if (!this._ctx) {
+ return this._prepareResult(defaultColor, new Error('FastAverageColor: Canvas Context 2D is not supported in this browser.'));
+ }
+ }
+
+ this._canvas.width = size.destWidth;
+ this._canvas.height = size.destHeight;
+
+ try {
+ this._ctx.clearRect(0, 0, size.destWidth, size.destHeight);
+
+ this._ctx.drawImage(resource, size.srcLeft, size.srcTop, size.srcWidth, size.srcHeight, 0, 0, size.destWidth, size.destHeight);
+
+ var bitmapData = this._ctx.getImageData(0, 0, size.destWidth, size.destHeight).data;
+
+ value = this.getColorFromArray4(bitmapData, options);
+ } catch (e) {
+ // Security error, CORS
+ // https://developer.mozilla.org/en/docs/Web/HTML/CORS_enabled_image
+ error = e;
+ }
+
+ return this._prepareResult(value, error);
+ }
+ /**
+ * Get the average color from a array when 1 pixel is 4 bytes.
+ *
+ * @param {Array|Uint8Array} arr
+ * @param {Object} [options]
+ * @param {string} [options.algorithm="sqrt"] "simple", "sqrt" or "dominant"
+ * @param {Array} [options.defaultColor=[255, 255, 255, 255]]
+ * @param {number} [options.step=1]
+ *
+ * @returns {Array} [red (0-255), green (0-255), blue (0-255), alpha (0-255)]
+ */
+
+ }, {
+ key: "getColorFromArray4",
+ value: function getColorFromArray4(arr, options) {
+ options = options || {};
+ var bytesPerPixel = 4,
+ arrLength = arr.length;
+
+ if (arrLength < bytesPerPixel) {
+ return this._getDefaultColor(options);
+ }
+
+ var len = arrLength - arrLength % bytesPerPixel,
+ preparedStep = (options.step || 1) * bytesPerPixel,
+ algorithm = '_' + (options.algorithm || 'sqrt') + 'Algorithm';
+
+ if (typeof this[algorithm] !== 'function') {
+ throw new Error("FastAverageColor: ".concat(options.algorithm, " is unknown algorithm."));
+ }
+
+ return this[algorithm](arr, len, preparedStep);
+ }
+ /**
+ * Destroy the instance.
+ */
+
+ }, {
+ key: "destroy",
+ value: function destroy() {
+ delete this._canvas;
+ delete this._ctx;
+ }
+ }, {
+ key: "_getDefaultColor",
+ value: function _getDefaultColor(options) {
+ return this._getOption(options, 'defaultColor', [255, 255, 255, 255]);
+ }
+ }, {
+ key: "_getOption",
+ value: function _getOption(options, name, defaultValue) {
+ return typeof options[name] === 'undefined' ? defaultValue : options[name];
+ }
+ }, {
+ key: "_prepareSizeAndPosition",
+ value: function _prepareSizeAndPosition(originalSize, options) {
+ var srcLeft = this._getOption(options, 'left', 0),
+ srcTop = this._getOption(options, 'top', 0),
+ srcWidth = this._getOption(options, 'width', originalSize.width),
+ srcHeight = this._getOption(options, 'height', originalSize.height),
+ destWidth = srcWidth,
+ destHeight = srcHeight;
+
+ if (options.mode === 'precision') {
+ return {
+ srcLeft: srcLeft,
+ srcTop: srcTop,
+ srcWidth: srcWidth,
+ srcHeight: srcHeight,
+ destWidth: destWidth,
+ destHeight: destHeight
+ };
+ }
+
+ var maxSize = 100,
+ minSize = 10;
+ var factor;
+
+ if (srcWidth > srcHeight) {
+ factor = srcWidth / srcHeight;
+ destWidth = maxSize;
+ destHeight = Math.round(destWidth / factor);
+ } else {
+ factor = srcHeight / srcWidth;
+ destHeight = maxSize;
+ destWidth = Math.round(destHeight / factor);
+ }
+
+ if (destWidth > srcWidth || destHeight > srcHeight || destWidth < minSize || destHeight < minSize) {
+ destWidth = srcWidth;
+ destHeight = srcHeight;
+ }
+
+ return {
+ srcLeft: srcLeft,
+ srcTop: srcTop,
+ srcWidth: srcWidth,
+ srcHeight: srcHeight,
+ destWidth: destWidth,
+ destHeight: destHeight
+ };
+ }
+ }, {
+ key: "_simpleAlgorithm",
+ value: function _simpleAlgorithm(arr, len, preparedStep) {
+ var redTotal = 0,
+ greenTotal = 0,
+ blueTotal = 0,
+ alphaTotal = 0,
+ count = 0;
+
+ for (var i = 0; i < len; i += preparedStep) {
+ var alpha = arr[i + 3],
+ red = arr[i] * alpha,
+ green = arr[i + 1] * alpha,
+ blue = arr[i + 2] * alpha;
+ redTotal += red;
+ greenTotal += green;
+ blueTotal += blue;
+ alphaTotal += alpha;
+ count++;
+ }
+
+ return alphaTotal ? [Math.round(redTotal / alphaTotal), Math.round(greenTotal / alphaTotal), Math.round(blueTotal / alphaTotal), Math.round(alphaTotal / count)] : [0, 0, 0, 0];
+ }
+ }, {
+ key: "_sqrtAlgorithm",
+ value: function _sqrtAlgorithm(arr, len, preparedStep) {
+ var redTotal = 0,
+ greenTotal = 0,
+ blueTotal = 0,
+ alphaTotal = 0,
+ count = 0;
+
+ for (var i = 0; i < len; i += preparedStep) {
+ var red = arr[i],
+ green = arr[i + 1],
+ blue = arr[i + 2],
+ alpha = arr[i + 3];
+ redTotal += red * red * alpha;
+ greenTotal += green * green * alpha;
+ blueTotal += blue * blue * alpha;
+ alphaTotal += alpha;
+ count++;
+ }
+
+ 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];
+ }
+ }, {
+ key: "_dominantAlgorithm",
+ value: function _dominantAlgorithm(arr, len, preparedStep) {
+ var colorHash = {},
+ divider = 24;
+
+ for (var i = 0; i < len; i += preparedStep) {
+ var red = arr[i],
+ green = arr[i + 1],
+ blue = arr[i + 2],
+ alpha = arr[i + 3],
+ key = Math.round(red / divider) + ',' + Math.round(green / divider) + ',' + Math.round(blue / divider);
+
+ if (colorHash[key]) {
+ 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];
+ } else {
+ colorHash[key] = [red * alpha, green * alpha, blue * alpha, alpha, 1];
+ }
+ }
+
+ var buffer = Object.keys(colorHash).map(function (key) {
+ return colorHash[key];
+ }).sort(function (a, b) {
+ var countA = a[4],
+ countB = b[4];
+ return countA > countB ? -1 : countA === countB ? 0 : 1;
+ });
+
+ var _buffer$ = _slicedToArray(buffer[0], 5),
+ redTotal = _buffer$[0],
+ greenTotal = _buffer$[1],
+ blueTotal = _buffer$[2],
+ alphaTotal = _buffer$[3],
+ count = _buffer$[4];
+
+ return alphaTotal ? [Math.round(redTotal / alphaTotal), Math.round(greenTotal / alphaTotal), Math.round(blueTotal / alphaTotal), Math.round(alphaTotal / count)] : [0, 0, 0, 0];
+ }
+ }, {
+ key: "_bindImageEvents",
+ value: function _bindImageEvents(resource, callback, options) {
+ var _this = this;
+
+ options = options || {};
+
+ var data = options && options.data,
+ defaultColor = this._getDefaultColor(options),
+ onload = function onload() {
+ unbindEvents();
+ callback.call(resource, _this.getColor(resource, options), data);
+ },
+ onerror = function onerror() {
+ unbindEvents();
+ callback.call(resource, _this._prepareResult(defaultColor, new Error('Image error')), data);
+ },
+ onabort = function onabort() {
+ unbindEvents();
+ callback.call(resource, _this._prepareResult(defaultColor, new Error('Image abort')), data);
+ },
+ unbindEvents = function unbindEvents() {
+ resource.removeEventListener('load', onload);
+ resource.removeEventListener('error', onerror);
+ resource.removeEventListener('abort', onabort);
+ };
+
+ resource.addEventListener('load', onload);
+ resource.addEventListener('error', onerror);
+ resource.addEventListener('abort', onabort);
+ }
+ }, {
+ key: "_prepareResult",
+ value: function _prepareResult(value, error) {
+ var rgb = value.slice(0, 3),
+ rgba = [].concat(rgb, value[3] / 255),
+ isDark = this._isDark(value);
+
+ return {
+ error: error,
+ value: value,
+ rgb: 'rgb(' + rgb.join(',') + ')',
+ rgba: 'rgba(' + rgba.join(',') + ')',
+ hex: this._arrayToHex(rgb),
+ hexa: this._arrayToHex(value),
+ isDark: isDark,
+ isLight: !isDark
+ };
+ }
+ }, {
+ key: "_getOriginalSize",
+ value: function _getOriginalSize(resource) {
+ if (resource instanceof HTMLImageElement) {
+ return {
+ width: resource.naturalWidth,
+ height: resource.naturalHeight
+ };
+ }
+
+ if (resource instanceof HTMLVideoElement) {
+ return {
+ width: resource.videoWidth,
+ height: resource.videoHeight
+ };
+ }
+
+ return {
+ width: resource.width,
+ height: resource.height
+ };
+ }
+ }, {
+ key: "_toHex",
+ value: function _toHex(num) {
+ var str = num.toString(16);
+ return str.length === 1 ? '0' + str : str;
+ }
+ }, {
+ key: "_arrayToHex",
+ value: function _arrayToHex(arr) {
+ return '#' + arr.map(this._toHex).join('');
+ }
+ }, {
+ key: "_isDark",
+ value: function _isDark(color) {
+ // http://www.w3.org/TR/AERT#color-contrast
+ var result = (color[0] * 299 + color[1] * 587 + color[2] * 114) / 1000;
+ return result < 128;
+ }
+ }, {
+ key: "_makeCanvas",
+ value: function _makeCanvas() {
+ return typeof window === 'undefined' ? new OffscreenCanvas(1, 1) : document.createElement('canvas');
+ }
+ }]);
+
+ return FastAverageColor;
+}();
+
+return FastAverageColor;
+
+})));
+
+
+/***/ }),
+
+/***/ 23:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
+var arrayWithHoles = __webpack_require__(38);
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
+function _iterableToArrayLimit(arr, i) {
+ var _arr = [];
+ var _n = true;
+ var _d = false;
+ var _e = undefined;
+
+ try {
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
+ _arr.push(_s.value);
+
+ if (i && _arr.length === i) break;
+ }
+ } catch (err) {
+ _d = true;
+ _e = err;
+ } finally {
+ try {
+ if (!_n && _i["return"] != null) _i["return"]();
+ } finally {
+ if (_d) throw _e;
+ }
+ }
+
+ return _arr;
+}
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
+var nonIterableRest = __webpack_require__(39);
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _slicedToArray; });
+
+
+
+function _slicedToArray(arr, i) {
+ return Object(arrayWithHoles["a" /* default */])(arr) || _iterableToArrayLimit(arr, i) || Object(nonIterableRest["a" /* default */])();
+}
+
+/***/ }),
+
+/***/ 24:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["editor"]; }());
+
+/***/ }),
+
+/***/ 26:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["url"]; }());
+
+/***/ }),
+
+/***/ 29:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["moment"]; }());
+
+/***/ }),
+
+/***/ 3:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["components"]; }());
+
+/***/ }),
+
+/***/ 30:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _iterableToArray; });
+function _iterableToArray(iter) {
+ if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
+}
+
+/***/ }),
+
+/***/ 31:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _typeof; });
+function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
+
+function _typeof(obj) {
+ if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") {
+ _typeof = function _typeof(obj) {
+ return _typeof2(obj);
+ };
+ } else {
+ _typeof = function _typeof(obj) {
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj);
+ };
+ }
+
+ return _typeof(obj);
+}
+
+/***/ }),
+
+/***/ 34:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["apiFetch"]; }());
+
+/***/ }),
+
+/***/ 341:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+var paragraph_namespaceObject = {};
+__webpack_require__.r(paragraph_namespaceObject);
+__webpack_require__.d(paragraph_namespaceObject, "metadata", function() { return paragraph_metadata; });
+__webpack_require__.d(paragraph_namespaceObject, "name", function() { return paragraph_name; });
+__webpack_require__.d(paragraph_namespaceObject, "settings", function() { return paragraph_settings; });
+var image_namespaceObject = {};
+__webpack_require__.r(image_namespaceObject);
+__webpack_require__.d(image_namespaceObject, "metadata", function() { return image_metadata; });
+__webpack_require__.d(image_namespaceObject, "name", function() { return image_name; });
+__webpack_require__.d(image_namespaceObject, "settings", function() { return image_settings; });
+var heading_namespaceObject = {};
+__webpack_require__.r(heading_namespaceObject);
+__webpack_require__.d(heading_namespaceObject, "metadata", function() { return heading_metadata; });
+__webpack_require__.d(heading_namespaceObject, "name", function() { return heading_name; });
+__webpack_require__.d(heading_namespaceObject, "settings", function() { return heading_settings; });
+var quote_namespaceObject = {};
+__webpack_require__.r(quote_namespaceObject);
+__webpack_require__.d(quote_namespaceObject, "metadata", function() { return quote_metadata; });
+__webpack_require__.d(quote_namespaceObject, "name", function() { return quote_name; });
+__webpack_require__.d(quote_namespaceObject, "settings", function() { return quote_settings; });
+var gallery_namespaceObject = {};
+__webpack_require__.r(gallery_namespaceObject);
+__webpack_require__.d(gallery_namespaceObject, "metadata", function() { return gallery_metadata; });
+__webpack_require__.d(gallery_namespaceObject, "name", function() { return gallery_name; });
+__webpack_require__.d(gallery_namespaceObject, "settings", function() { return gallery_settings; });
+var archives_namespaceObject = {};
+__webpack_require__.r(archives_namespaceObject);
+__webpack_require__.d(archives_namespaceObject, "name", function() { return archives_name; });
+__webpack_require__.d(archives_namespaceObject, "settings", function() { return archives_settings; });
+var audio_namespaceObject = {};
+__webpack_require__.r(audio_namespaceObject);
+__webpack_require__.d(audio_namespaceObject, "metadata", function() { return audio_metadata; });
+__webpack_require__.d(audio_namespaceObject, "name", function() { return audio_name; });
+__webpack_require__.d(audio_namespaceObject, "settings", function() { return audio_settings; });
+var button_namespaceObject = {};
+__webpack_require__.r(button_namespaceObject);
+__webpack_require__.d(button_namespaceObject, "metadata", function() { return button_metadata; });
+__webpack_require__.d(button_namespaceObject, "name", function() { return button_name; });
+__webpack_require__.d(button_namespaceObject, "settings", function() { return button_settings; });
+var calendar_namespaceObject = {};
+__webpack_require__.r(calendar_namespaceObject);
+__webpack_require__.d(calendar_namespaceObject, "name", function() { return calendar_name; });
+__webpack_require__.d(calendar_namespaceObject, "settings", function() { return calendar_settings; });
+var categories_namespaceObject = {};
+__webpack_require__.r(categories_namespaceObject);
+__webpack_require__.d(categories_namespaceObject, "name", function() { return categories_name; });
+__webpack_require__.d(categories_namespaceObject, "settings", function() { return categories_settings; });
+var code_namespaceObject = {};
+__webpack_require__.r(code_namespaceObject);
+__webpack_require__.d(code_namespaceObject, "metadata", function() { return code_metadata; });
+__webpack_require__.d(code_namespaceObject, "name", function() { return code_name; });
+__webpack_require__.d(code_namespaceObject, "settings", function() { return code_settings; });
+var columns_namespaceObject = {};
+__webpack_require__.r(columns_namespaceObject);
+__webpack_require__.d(columns_namespaceObject, "metadata", function() { return columns_metadata; });
+__webpack_require__.d(columns_namespaceObject, "name", function() { return columns_name; });
+__webpack_require__.d(columns_namespaceObject, "settings", function() { return columns_settings; });
+var column_namespaceObject = {};
+__webpack_require__.r(column_namespaceObject);
+__webpack_require__.d(column_namespaceObject, "metadata", function() { return column_metadata; });
+__webpack_require__.d(column_namespaceObject, "name", function() { return column_name; });
+__webpack_require__.d(column_namespaceObject, "settings", function() { return column_settings; });
+var cover_namespaceObject = {};
+__webpack_require__.r(cover_namespaceObject);
+__webpack_require__.d(cover_namespaceObject, "metadata", function() { return cover_metadata; });
+__webpack_require__.d(cover_namespaceObject, "name", function() { return cover_name; });
+__webpack_require__.d(cover_namespaceObject, "settings", function() { return cover_settings; });
+var embed_namespaceObject = {};
+__webpack_require__.r(embed_namespaceObject);
+__webpack_require__.d(embed_namespaceObject, "name", function() { return embed_name; });
+__webpack_require__.d(embed_namespaceObject, "settings", function() { return embed_settings; });
+__webpack_require__.d(embed_namespaceObject, "common", function() { return embed_common; });
+__webpack_require__.d(embed_namespaceObject, "others", function() { return embed_others; });
+var file_namespaceObject = {};
+__webpack_require__.r(file_namespaceObject);
+__webpack_require__.d(file_namespaceObject, "metadata", function() { return file_metadata; });
+__webpack_require__.d(file_namespaceObject, "name", function() { return file_name; });
+__webpack_require__.d(file_namespaceObject, "settings", function() { return file_settings; });
+var html_namespaceObject = {};
+__webpack_require__.r(html_namespaceObject);
+__webpack_require__.d(html_namespaceObject, "metadata", function() { return html_metadata; });
+__webpack_require__.d(html_namespaceObject, "name", function() { return html_name; });
+__webpack_require__.d(html_namespaceObject, "settings", function() { return html_settings; });
+var media_text_namespaceObject = {};
+__webpack_require__.r(media_text_namespaceObject);
+__webpack_require__.d(media_text_namespaceObject, "metadata", function() { return media_text_metadata; });
+__webpack_require__.d(media_text_namespaceObject, "name", function() { return media_text_name; });
+__webpack_require__.d(media_text_namespaceObject, "settings", function() { return media_text_settings; });
+var latest_comments_namespaceObject = {};
+__webpack_require__.r(latest_comments_namespaceObject);
+__webpack_require__.d(latest_comments_namespaceObject, "name", function() { return latest_comments_name; });
+__webpack_require__.d(latest_comments_namespaceObject, "settings", function() { return latest_comments_settings; });
+var latest_posts_namespaceObject = {};
+__webpack_require__.r(latest_posts_namespaceObject);
+__webpack_require__.d(latest_posts_namespaceObject, "name", function() { return latest_posts_name; });
+__webpack_require__.d(latest_posts_namespaceObject, "settings", function() { return latest_posts_settings; });
+var list_namespaceObject = {};
+__webpack_require__.r(list_namespaceObject);
+__webpack_require__.d(list_namespaceObject, "metadata", function() { return list_metadata; });
+__webpack_require__.d(list_namespaceObject, "name", function() { return list_name; });
+__webpack_require__.d(list_namespaceObject, "settings", function() { return list_settings; });
+var missing_namespaceObject = {};
+__webpack_require__.r(missing_namespaceObject);
+__webpack_require__.d(missing_namespaceObject, "metadata", function() { return missing_metadata; });
+__webpack_require__.d(missing_namespaceObject, "name", function() { return missing_name; });
+__webpack_require__.d(missing_namespaceObject, "settings", function() { return missing_settings; });
+var more_namespaceObject = {};
+__webpack_require__.r(more_namespaceObject);
+__webpack_require__.d(more_namespaceObject, "metadata", function() { return more_metadata; });
+__webpack_require__.d(more_namespaceObject, "name", function() { return more_name; });
+__webpack_require__.d(more_namespaceObject, "settings", function() { return more_settings; });
+var nextpage_namespaceObject = {};
+__webpack_require__.r(nextpage_namespaceObject);
+__webpack_require__.d(nextpage_namespaceObject, "metadata", function() { return nextpage_metadata; });
+__webpack_require__.d(nextpage_namespaceObject, "name", function() { return nextpage_name; });
+__webpack_require__.d(nextpage_namespaceObject, "settings", function() { return nextpage_settings; });
+var preformatted_namespaceObject = {};
+__webpack_require__.r(preformatted_namespaceObject);
+__webpack_require__.d(preformatted_namespaceObject, "metadata", function() { return preformatted_metadata; });
+__webpack_require__.d(preformatted_namespaceObject, "name", function() { return preformatted_name; });
+__webpack_require__.d(preformatted_namespaceObject, "settings", function() { return preformatted_settings; });
+var pullquote_namespaceObject = {};
+__webpack_require__.r(pullquote_namespaceObject);
+__webpack_require__.d(pullquote_namespaceObject, "metadata", function() { return pullquote_metadata; });
+__webpack_require__.d(pullquote_namespaceObject, "name", function() { return pullquote_name; });
+__webpack_require__.d(pullquote_namespaceObject, "settings", function() { return pullquote_settings; });
+var block_namespaceObject = {};
+__webpack_require__.r(block_namespaceObject);
+__webpack_require__.d(block_namespaceObject, "name", function() { return block_name; });
+__webpack_require__.d(block_namespaceObject, "settings", function() { return block_settings; });
+var rss_namespaceObject = {};
+__webpack_require__.r(rss_namespaceObject);
+__webpack_require__.d(rss_namespaceObject, "name", function() { return rss_name; });
+__webpack_require__.d(rss_namespaceObject, "settings", function() { return rss_settings; });
+var search_namespaceObject = {};
+__webpack_require__.r(search_namespaceObject);
+__webpack_require__.d(search_namespaceObject, "name", function() { return search_name; });
+__webpack_require__.d(search_namespaceObject, "settings", function() { return search_settings; });
+var group_namespaceObject = {};
+__webpack_require__.r(group_namespaceObject);
+__webpack_require__.d(group_namespaceObject, "metadata", function() { return group_metadata; });
+__webpack_require__.d(group_namespaceObject, "name", function() { return group_name; });
+__webpack_require__.d(group_namespaceObject, "settings", function() { return group_settings; });
+var separator_namespaceObject = {};
+__webpack_require__.r(separator_namespaceObject);
+__webpack_require__.d(separator_namespaceObject, "metadata", function() { return separator_metadata; });
+__webpack_require__.d(separator_namespaceObject, "name", function() { return separator_name; });
+__webpack_require__.d(separator_namespaceObject, "settings", function() { return separator_settings; });
+var shortcode_namespaceObject = {};
+__webpack_require__.r(shortcode_namespaceObject);
+__webpack_require__.d(shortcode_namespaceObject, "name", function() { return shortcode_name; });
+__webpack_require__.d(shortcode_namespaceObject, "settings", function() { return shortcode_settings; });
+var spacer_namespaceObject = {};
+__webpack_require__.r(spacer_namespaceObject);
+__webpack_require__.d(spacer_namespaceObject, "metadata", function() { return spacer_metadata; });
+__webpack_require__.d(spacer_namespaceObject, "name", function() { return spacer_name; });
+__webpack_require__.d(spacer_namespaceObject, "settings", function() { return spacer_settings; });
+var subhead_namespaceObject = {};
+__webpack_require__.r(subhead_namespaceObject);
+__webpack_require__.d(subhead_namespaceObject, "metadata", function() { return subhead_metadata; });
+__webpack_require__.d(subhead_namespaceObject, "name", function() { return subhead_name; });
+__webpack_require__.d(subhead_namespaceObject, "settings", function() { return subhead_settings; });
+var table_namespaceObject = {};
+__webpack_require__.r(table_namespaceObject);
+__webpack_require__.d(table_namespaceObject, "metadata", function() { return table_metadata; });
+__webpack_require__.d(table_namespaceObject, "name", function() { return table_name; });
+__webpack_require__.d(table_namespaceObject, "settings", function() { return table_settings; });
+var text_columns_namespaceObject = {};
+__webpack_require__.r(text_columns_namespaceObject);
+__webpack_require__.d(text_columns_namespaceObject, "metadata", function() { return text_columns_metadata; });
+__webpack_require__.d(text_columns_namespaceObject, "name", function() { return text_columns_name; });
+__webpack_require__.d(text_columns_namespaceObject, "settings", function() { return text_columns_settings; });
+var verse_namespaceObject = {};
+__webpack_require__.r(verse_namespaceObject);
+__webpack_require__.d(verse_namespaceObject, "metadata", function() { return verse_metadata; });
+__webpack_require__.d(verse_namespaceObject, "name", function() { return verse_name; });
+__webpack_require__.d(verse_namespaceObject, "settings", function() { return verse_settings; });
+var video_namespaceObject = {};
+__webpack_require__.r(video_namespaceObject);
+__webpack_require__.d(video_namespaceObject, "metadata", function() { return video_metadata; });
+__webpack_require__.d(video_namespaceObject, "name", function() { return video_name; });
+__webpack_require__.d(video_namespaceObject, "settings", function() { return video_settings; });
+var tag_cloud_namespaceObject = {};
+__webpack_require__.r(tag_cloud_namespaceObject);
+__webpack_require__.d(tag_cloud_namespaceObject, "name", function() { return tag_cloud_name; });
+__webpack_require__.d(tag_cloud_namespaceObject, "settings", function() { return tag_cloud_settings; });
+var classic_namespaceObject = {};
+__webpack_require__.r(classic_namespaceObject);
+__webpack_require__.d(classic_namespaceObject, "metadata", function() { return classic_metadata; });
+__webpack_require__.d(classic_namespaceObject, "name", function() { return classic_name; });
+__webpack_require__.d(classic_namespaceObject, "settings", function() { return classic_settings; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules
+var toConsumableArray = __webpack_require__(17);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
+var defineProperty = __webpack_require__(10);
+
+// EXTERNAL MODULE: external {"this":["wp","coreData"]}
+var external_this_wp_coreData_ = __webpack_require__(89);
+
+// EXTERNAL MODULE: external {"this":["wp","blockEditor"]}
+var external_this_wp_blockEditor_ = __webpack_require__(6);
+
+// EXTERNAL MODULE: external {"this":["wp","editor"]}
+var external_this_wp_editor_ = __webpack_require__(24);
+
+// EXTERNAL MODULE: external {"this":["wp","blocks"]}
+var external_this_wp_blocks_ = __webpack_require__(9);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(1);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread.js
+var objectSpread = __webpack_require__(7);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(16);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/deprecated.js
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+var deprecated_supports = {
+ className: false
+};
+var deprecated_blockAttributes = {
+ align: {
+ type: 'string'
+ },
+ content: {
+ type: 'string',
+ source: 'html',
+ selector: 'p',
+ default: ''
+ },
+ dropCap: {
+ type: 'boolean',
+ default: false
+ },
+ placeholder: {
+ type: 'string'
+ },
+ textColor: {
+ type: 'string'
+ },
+ customTextColor: {
+ type: 'string'
+ },
+ backgroundColor: {
+ type: 'string'
+ },
+ customBackgroundColor: {
+ type: 'string'
+ },
+ fontSize: {
+ type: 'string'
+ },
+ customFontSize: {
+ type: 'number'
+ },
+ direction: {
+ type: 'string',
+ enum: ['ltr', 'rtl']
+ }
+};
+var deprecated = [{
+ supports: deprecated_supports,
+ attributes: deprecated_blockAttributes,
+ save: function save(_ref) {
+ var _classnames;
+
+ var attributes = _ref.attributes;
+ var align = attributes.align,
+ content = attributes.content,
+ dropCap = attributes.dropCap,
+ backgroundColor = attributes.backgroundColor,
+ textColor = attributes.textColor,
+ customBackgroundColor = attributes.customBackgroundColor,
+ customTextColor = attributes.customTextColor,
+ fontSize = attributes.fontSize,
+ customFontSize = attributes.customFontSize,
+ direction = attributes.direction;
+ var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
+ var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
+ var fontSizeClass = Object(external_this_wp_blockEditor_["getFontSizeClass"])(fontSize);
+ var className = classnames_default()((_classnames = {
+ 'has-text-color': textColor || customTextColor,
+ 'has-background': backgroundColor || customBackgroundColor,
+ 'has-drop-cap': dropCap
+ }, Object(defineProperty["a" /* default */])(_classnames, fontSizeClass, fontSizeClass), Object(defineProperty["a" /* default */])(_classnames, textClass, textClass), Object(defineProperty["a" /* default */])(_classnames, backgroundClass, backgroundClass), _classnames));
+ var styles = {
+ backgroundColor: backgroundClass ? undefined : customBackgroundColor,
+ color: textClass ? undefined : customTextColor,
+ fontSize: fontSizeClass ? undefined : customFontSize,
+ textAlign: align
+ };
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "p",
+ style: styles,
+ className: className ? className : undefined,
+ value: content,
+ dir: direction
+ });
+ }
+}, {
+ supports: deprecated_supports,
+ attributes: Object(objectSpread["a" /* default */])({}, deprecated_blockAttributes, {
+ width: {
+ type: 'string'
+ }
+ }),
+ save: function save(_ref2) {
+ var _classnames2;
+
+ var attributes = _ref2.attributes;
+ var width = attributes.width,
+ align = attributes.align,
+ content = attributes.content,
+ dropCap = attributes.dropCap,
+ backgroundColor = attributes.backgroundColor,
+ textColor = attributes.textColor,
+ customBackgroundColor = attributes.customBackgroundColor,
+ customTextColor = attributes.customTextColor,
+ fontSize = attributes.fontSize,
+ customFontSize = attributes.customFontSize;
+ var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
+ var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
+ var fontSizeClass = fontSize && "is-".concat(fontSize, "-text");
+ 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));
+ var styles = {
+ backgroundColor: backgroundClass ? undefined : customBackgroundColor,
+ color: textClass ? undefined : customTextColor,
+ fontSize: fontSizeClass ? undefined : customFontSize,
+ textAlign: align
+ };
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "p",
+ style: styles,
+ className: className ? className : undefined,
+ value: content
+ });
+ }
+}, {
+ supports: deprecated_supports,
+ attributes: Object(external_lodash_["omit"])(Object(objectSpread["a" /* default */])({}, deprecated_blockAttributes, {
+ fontSize: {
+ type: 'number'
+ }
+ }), 'customFontSize', 'customTextColor', 'customBackgroundColor'),
+ save: function save(_ref3) {
+ var _classnames3;
+
+ var attributes = _ref3.attributes;
+ var width = attributes.width,
+ align = attributes.align,
+ content = attributes.content,
+ dropCap = attributes.dropCap,
+ backgroundColor = attributes.backgroundColor,
+ textColor = attributes.textColor,
+ fontSize = attributes.fontSize;
+ 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));
+ var styles = {
+ backgroundColor: backgroundColor,
+ color: textColor,
+ fontSize: fontSize,
+ textAlign: align
+ };
+ return Object(external_this_wp_element_["createElement"])("p", {
+ style: styles,
+ className: className ? className : undefined
+ }, content);
+ },
+ migrate: function migrate(attributes) {
+ return Object(external_lodash_["omit"])(Object(objectSpread["a" /* default */])({}, attributes, {
+ customFontSize: Object(external_lodash_["isFinite"])(attributes.fontSize) ? attributes.fontSize : undefined,
+ customTextColor: attributes.textColor && '#' === attributes.textColor[0] ? attributes.textColor : undefined,
+ customBackgroundColor: attributes.backgroundColor && '#' === attributes.backgroundColor[0] ? attributes.backgroundColor : undefined
+ }), ['fontSize', 'textColor', 'backgroundColor']);
+ }
+}, {
+ supports: deprecated_supports,
+ attributes: Object(objectSpread["a" /* default */])({}, deprecated_blockAttributes, {
+ content: {
+ type: 'string',
+ source: 'html',
+ default: ''
+ }
+ }),
+ save: function save(_ref4) {
+ var attributes = _ref4.attributes;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["RawHTML"], null, attributes.content);
+ },
+ migrate: function migrate(attributes) {
+ return attributes;
+ }
+}];
+/* harmony default export */ var paragraph_deprecated = (deprecated);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
+var esm_extends = __webpack_require__(18);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
+var classCallCheck = __webpack_require__(12);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
+var createClass = __webpack_require__(11);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(13);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(14);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(5);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
+var inherits = __webpack_require__(15);
+
+// EXTERNAL MODULE: external {"this":["wp","components"]}
+var external_this_wp_components_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: external {"this":["wp","compose"]}
+var external_this_wp_compose_ = __webpack_require__(8);
+
+// EXTERNAL MODULE: external {"this":["wp","data"]}
+var external_this_wp_data_ = __webpack_require__(4);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/edit.js
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+
+var _window = window,
+ getComputedStyle = _window.getComputedStyle;
+var edit_name = 'core/paragraph';
+var applyFallbackStyles = Object(external_this_wp_components_["withFallbackStyles"])(function (node, ownProps) {
+ var _ownProps$attributes = ownProps.attributes,
+ textColor = _ownProps$attributes.textColor,
+ backgroundColor = _ownProps$attributes.backgroundColor,
+ fontSize = _ownProps$attributes.fontSize,
+ customFontSize = _ownProps$attributes.customFontSize;
+ var editableNode = node.querySelector('[contenteditable="true"]'); //verify if editableNode is available, before using getComputedStyle.
+
+ var computedStyles = editableNode ? getComputedStyle(editableNode) : null;
+ return {
+ fallbackBackgroundColor: backgroundColor || !computedStyles ? undefined : computedStyles.backgroundColor,
+ fallbackTextColor: textColor || !computedStyles ? undefined : computedStyles.color,
+ fallbackFontSize: fontSize || customFontSize || !computedStyles ? undefined : parseInt(computedStyles.fontSize) || undefined
+ };
+});
+
+var edit_ParagraphBlock =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(ParagraphBlock, _Component);
+
+ function ParagraphBlock() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, ParagraphBlock);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(ParagraphBlock).apply(this, arguments));
+ _this.toggleDropCap = _this.toggleDropCap.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(ParagraphBlock, [{
+ key: "toggleDropCap",
+ value: function toggleDropCap() {
+ var _this$props = this.props,
+ attributes = _this$props.attributes,
+ setAttributes = _this$props.setAttributes;
+ setAttributes({
+ dropCap: !attributes.dropCap
+ });
+ }
+ }, {
+ key: "getDropCapHelp",
+ value: function getDropCapHelp(checked) {
+ return checked ? Object(external_this_wp_i18n_["__"])('Showing large initial letter.') : Object(external_this_wp_i18n_["__"])('Toggle to show a large initial letter.');
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _classnames;
+
+ var _this$props2 = this.props,
+ attributes = _this$props2.attributes,
+ setAttributes = _this$props2.setAttributes,
+ mergeBlocks = _this$props2.mergeBlocks,
+ onReplace = _this$props2.onReplace,
+ className = _this$props2.className,
+ backgroundColor = _this$props2.backgroundColor,
+ textColor = _this$props2.textColor,
+ setBackgroundColor = _this$props2.setBackgroundColor,
+ setTextColor = _this$props2.setTextColor,
+ fallbackBackgroundColor = _this$props2.fallbackBackgroundColor,
+ fallbackTextColor = _this$props2.fallbackTextColor,
+ fallbackFontSize = _this$props2.fallbackFontSize,
+ fontSize = _this$props2.fontSize,
+ setFontSize = _this$props2.setFontSize,
+ isRTL = _this$props2.isRTL;
+ var align = attributes.align,
+ content = attributes.content,
+ dropCap = attributes.dropCap,
+ placeholder = attributes.placeholder,
+ direction = attributes.direction;
+ 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"], {
+ value: align,
+ onChange: function onChange(nextAlign) {
+ setAttributes({
+ align: nextAlign
+ });
+ }
+ }), isRTL && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Toolbar"], {
+ controls: [{
+ icon: 'editor-ltr',
+ title: Object(external_this_wp_i18n_["_x"])('Left to right', 'editor button'),
+ isActive: direction === 'ltr',
+ onClick: function onClick() {
+ var nextDirection = direction === 'ltr' ? undefined : 'ltr';
+ setAttributes({
+ direction: nextDirection
+ });
+ }
+ }]
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Text Settings'),
+ className: "blocks-font-size"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["FontSizePicker"], {
+ fallbackFontSize: fallbackFontSize,
+ value: fontSize.size,
+ onChange: setFontSize
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Drop Cap'),
+ checked: !!dropCap,
+ onChange: this.toggleDropCap,
+ help: this.getDropCapHelp
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["PanelColorSettings"], {
+ title: Object(external_this_wp_i18n_["__"])('Color Settings'),
+ initialOpen: false,
+ colorSettings: [{
+ value: backgroundColor.color,
+ onChange: setBackgroundColor,
+ label: Object(external_this_wp_i18n_["__"])('Background Color')
+ }, {
+ value: textColor.color,
+ onChange: setTextColor,
+ label: Object(external_this_wp_i18n_["__"])('Text Color')
+ }]
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["ContrastChecker"], Object(esm_extends["a" /* default */])({
+ textColor: textColor.color,
+ backgroundColor: backgroundColor.color,
+ fallbackTextColor: fallbackTextColor,
+ fallbackBackgroundColor: fallbackBackgroundColor
+ }, {
+ fontSize: fontSize.size
+ })))), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ identifier: "content",
+ tagName: "p",
+ className: classnames_default()('wp-block-paragraph', className, (_classnames = {
+ 'has-text-color': textColor.color,
+ 'has-background': backgroundColor.color,
+ 'has-drop-cap': dropCap
+ }, Object(defineProperty["a" /* default */])(_classnames, "has-text-align-".concat(align), align), Object(defineProperty["a" /* default */])(_classnames, backgroundColor.class, backgroundColor.class), Object(defineProperty["a" /* default */])(_classnames, textColor.class, textColor.class), Object(defineProperty["a" /* default */])(_classnames, fontSize.class, fontSize.class), _classnames)),
+ style: {
+ backgroundColor: backgroundColor.color,
+ color: textColor.color,
+ fontSize: fontSize.size ? fontSize.size + 'px' : undefined,
+ direction: direction
+ },
+ value: content,
+ onChange: function onChange(nextContent) {
+ setAttributes({
+ content: nextContent
+ });
+ },
+ onSplit: function onSplit(value) {
+ if (!value) {
+ return Object(external_this_wp_blocks_["createBlock"])(edit_name);
+ }
+
+ return Object(external_this_wp_blocks_["createBlock"])(edit_name, Object(objectSpread["a" /* default */])({}, attributes, {
+ content: value
+ }));
+ },
+ onMerge: mergeBlocks,
+ onReplace: onReplace,
+ onRemove: onReplace ? function () {
+ return onReplace([]);
+ } : undefined,
+ "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'),
+ placeholder: placeholder || Object(external_this_wp_i18n_["__"])('Start writing or type / to choose a block'),
+ __unstableEmbedURLOnPaste: true
+ }));
+ }
+ }]);
+
+ return ParagraphBlock;
+}(external_this_wp_element_["Component"]);
+
+var ParagraphEdit = Object(external_this_wp_compose_["compose"])([Object(external_this_wp_blockEditor_["withColors"])('backgroundColor', {
+ textColor: 'color'
+}), Object(external_this_wp_blockEditor_["withFontSizes"])('fontSize'), applyFallbackStyles, Object(external_this_wp_data_["withSelect"])(function (select) {
+ var _select = select('core/block-editor'),
+ getSettings = _select.getSettings;
+
+ return {
+ isRTL: getSettings().isRTL
+ };
+})])(edit_ParagraphBlock);
+/* harmony default export */ var paragraph_edit = (ParagraphEdit);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var paragraph_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ xmlns: "http://www.w3.org/2000/svg",
+ viewBox: "0 0 24 24"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ 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"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/save.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+function save_save(_ref) {
+ var _classnames;
+
+ var attributes = _ref.attributes;
+ var align = attributes.align,
+ content = attributes.content,
+ dropCap = attributes.dropCap,
+ backgroundColor = attributes.backgroundColor,
+ textColor = attributes.textColor,
+ customBackgroundColor = attributes.customBackgroundColor,
+ customTextColor = attributes.customTextColor,
+ fontSize = attributes.fontSize,
+ customFontSize = attributes.customFontSize,
+ direction = attributes.direction;
+ var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
+ var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
+ var fontSizeClass = Object(external_this_wp_blockEditor_["getFontSizeClass"])(fontSize);
+ var className = classnames_default()((_classnames = {
+ 'has-text-color': textColor || customTextColor,
+ 'has-background': backgroundColor || customBackgroundColor,
+ 'has-drop-cap': dropCap
+ }, 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));
+ var styles = {
+ backgroundColor: backgroundClass ? undefined : customBackgroundColor,
+ color: textClass ? undefined : customTextColor,
+ fontSize: fontSizeClass ? undefined : customFontSize
+ };
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "p",
+ style: styles,
+ className: className ? className : undefined,
+ value: content,
+ dir: direction
+ });
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/transforms.js
+/**
+ * WordPress dependencies
+ */
+
+var transforms_transforms = {
+ from: [{
+ type: 'raw',
+ // Paragraph is a fallback and should be matched last.
+ priority: 20,
+ selector: 'p',
+ schema: {
+ p: {
+ children: Object(external_this_wp_blocks_["getPhrasingContentSchema"])()
+ }
+ }
+ }]
+};
+/* harmony default export */ var paragraph_transforms = (transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var paragraph_metadata = {
+ name: "core/paragraph",
+ category: "common",
+ attributes: {
+ align: {
+ type: "string"
+ },
+ content: {
+ type: "string",
+ source: "html",
+ selector: "p",
+ "default": ""
+ },
+ dropCap: {
+ type: "boolean",
+ "default": false
+ },
+ placeholder: {
+ type: "string"
+ },
+ textColor: {
+ type: "string"
+ },
+ customTextColor: {
+ type: "string"
+ },
+ backgroundColor: {
+ type: "string"
+ },
+ customBackgroundColor: {
+ type: "string"
+ },
+ fontSize: {
+ type: "string"
+ },
+ customFontSize: {
+ type: "number"
+ },
+ direction: {
+ type: "string",
+ "enum": ["ltr", "rtl"]
+ }
+ }
+};
+
+
+var paragraph_name = paragraph_metadata.name;
+
+var paragraph_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Paragraph'),
+ description: Object(external_this_wp_i18n_["__"])('Start with the building block of all narrative.'),
+ icon: paragraph_icon,
+ keywords: [Object(external_this_wp_i18n_["__"])('text')],
+ example: {
+ attributes: {
+ 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.'),
+ customFontSize: 28,
+ dropCap: true
+ }
+ },
+ supports: {
+ className: false
+ },
+ transforms: paragraph_transforms,
+ deprecated: paragraph_deprecated,
+ merge: function merge(attributes, attributesToMerge) {
+ return {
+ content: (attributes.content || '') + (attributesToMerge.content || '')
+ };
+ },
+ getEditWrapperProps: function getEditWrapperProps(attributes) {
+ var width = attributes.width;
+
+ if (['wide', 'full', 'left', 'right'].indexOf(width) !== -1) {
+ return {
+ 'data-align': width
+ };
+ }
+ },
+ edit: paragraph_edit,
+ save: save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/deprecated.js
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+var image_deprecated_blockAttributes = {
+ align: {
+ type: 'string'
+ },
+ url: {
+ type: 'string',
+ source: 'attribute',
+ selector: 'img',
+ attribute: 'src'
+ },
+ alt: {
+ type: 'string',
+ source: 'attribute',
+ selector: 'img',
+ attribute: 'alt',
+ default: ''
+ },
+ caption: {
+ type: 'string',
+ source: 'html',
+ selector: 'figcaption'
+ },
+ href: {
+ type: 'string',
+ source: 'attribute',
+ selector: 'figure > a',
+ attribute: 'href'
+ },
+ rel: {
+ type: 'string',
+ source: 'attribute',
+ selector: 'figure > a',
+ attribute: 'rel'
+ },
+ linkClass: {
+ type: 'string',
+ source: 'attribute',
+ selector: 'figure > a',
+ attribute: 'class'
+ },
+ id: {
+ type: 'number'
+ },
+ width: {
+ type: 'number'
+ },
+ height: {
+ type: 'number'
+ },
+ linkDestination: {
+ type: 'string',
+ default: 'none'
+ },
+ linkTarget: {
+ type: 'string',
+ source: 'attribute',
+ selector: 'figure > a',
+ attribute: 'target'
+ }
+};
+var deprecated_deprecated = [{
+ attributes: image_deprecated_blockAttributes,
+ save: function save(_ref) {
+ var _classnames;
+
+ var attributes = _ref.attributes;
+ var url = attributes.url,
+ alt = attributes.alt,
+ caption = attributes.caption,
+ align = attributes.align,
+ href = attributes.href,
+ width = attributes.width,
+ height = attributes.height,
+ id = attributes.id;
+ var classes = classnames_default()((_classnames = {}, Object(defineProperty["a" /* default */])(_classnames, "align".concat(align), align), Object(defineProperty["a" /* default */])(_classnames, 'is-resized', width || height), _classnames));
+ var image = Object(external_this_wp_element_["createElement"])("img", {
+ src: url,
+ alt: alt,
+ className: id ? "wp-image-".concat(id) : null,
+ width: width,
+ height: height
+ });
+ return Object(external_this_wp_element_["createElement"])("figure", {
+ className: classes
+ }, href ? Object(external_this_wp_element_["createElement"])("a", {
+ href: href
+ }, image) : image, !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "figcaption",
+ value: caption
+ }));
+ }
+}, {
+ attributes: image_deprecated_blockAttributes,
+ save: function save(_ref2) {
+ var attributes = _ref2.attributes;
+ var url = attributes.url,
+ alt = attributes.alt,
+ caption = attributes.caption,
+ align = attributes.align,
+ href = attributes.href,
+ width = attributes.width,
+ height = attributes.height,
+ id = attributes.id;
+ var image = Object(external_this_wp_element_["createElement"])("img", {
+ src: url,
+ alt: alt,
+ className: id ? "wp-image-".concat(id) : null,
+ width: width,
+ height: height
+ });
+ return Object(external_this_wp_element_["createElement"])("figure", {
+ className: align ? "align".concat(align) : null
+ }, href ? Object(external_this_wp_element_["createElement"])("a", {
+ href: href
+ }, image) : image, !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "figcaption",
+ value: caption
+ }));
+ }
+}, {
+ attributes: image_deprecated_blockAttributes,
+ save: function save(_ref3) {
+ var attributes = _ref3.attributes;
+ var url = attributes.url,
+ alt = attributes.alt,
+ caption = attributes.caption,
+ align = attributes.align,
+ href = attributes.href,
+ width = attributes.width,
+ height = attributes.height;
+ var extraImageProps = width || height ? {
+ width: width,
+ height: height
+ } : {};
+ var image = Object(external_this_wp_element_["createElement"])("img", Object(esm_extends["a" /* default */])({
+ src: url,
+ alt: alt
+ }, extraImageProps));
+ var figureStyle = {};
+
+ if (width) {
+ figureStyle = {
+ width: width
+ };
+ } else if (align === 'left' || align === 'right') {
+ figureStyle = {
+ maxWidth: '50%'
+ };
+ }
+
+ return Object(external_this_wp_element_["createElement"])("figure", {
+ className: align ? "align".concat(align) : null,
+ style: figureStyle
+ }, href ? Object(external_this_wp_element_["createElement"])("a", {
+ href: href
+ }, image) : image, !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "figcaption",
+ value: caption
+ }));
+ }
+}];
+/* harmony default export */ var image_deprecated = (deprecated_deprecated);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
+var slicedToArray = __webpack_require__(23);
+
+// EXTERNAL MODULE: external {"this":["wp","blob"]}
+var external_this_wp_blob_ = __webpack_require__(35);
+
+// EXTERNAL MODULE: external {"this":["wp","keycodes"]}
+var external_this_wp_keycodes_ = __webpack_require__(19);
+
+// EXTERNAL MODULE: external {"this":["wp","url"]}
+var external_this_wp_url_ = __webpack_require__(26);
+
+// EXTERNAL MODULE: external {"this":["wp","viewport"]}
+var external_this_wp_viewport_ = __webpack_require__(42);
+
+// EXTERNAL MODULE: external {"this":["wp","a11y"]}
+var external_this_wp_a11y_ = __webpack_require__(45);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/icons.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+var embedContentIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M0,0h24v24H0V0z",
+ fill: "none"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ 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"
+}));
+var embedAudioIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fill: "none",
+ d: "M0 0h24v24H0V0z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ 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"
+}));
+var embedPhotoIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M0,0h24v24H0V0z",
+ fill: "none"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ 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"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Polygon"], {
+ points: "14.5 11 11 15.51 8.5 12.5 5 17 19 17"
+}));
+var embedVideoIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M0,0h24v24H0V0z",
+ fill: "none"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ 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"
+}));
+var embedTwitterIcon = {
+ foreground: '#1da1f2',
+ src: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ xmlns: "http://www.w3.org/2000/svg",
+ viewBox: "0 0 24 24"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M22.23 5.924c-.736.326-1.527.547-2.357.646.847-.508 1.498-1.312 1.804-2.27-.793.47-1.67.812-2.606.996C18.325 4.498 17.258 4 16.078 4c-2.266 0-4.103 1.837-4.103 4.103 0 .322.036.635.106.935-3.41-.17-6.433-1.804-8.457-4.287-.353.607-.556 1.312-.556 2.064 0 1.424.724 2.68 1.825 3.415-.673-.022-1.305-.207-1.86-.514v.052c0 1.988 1.415 3.647 3.293 4.023-.344.095-.707.145-1.08.145-.265 0-.522-.026-.773-.074.522 1.63 2.038 2.817 3.833 2.85-1.404 1.1-3.174 1.757-5.096 1.757-.332 0-.66-.02-.98-.057 1.816 1.164 3.973 1.843 6.29 1.843 7.547 0 11.675-6.252 11.675-11.675 0-.178-.004-.355-.012-.53.802-.578 1.497-1.3 2.047-2.124z"
+ })))
+};
+var embedYouTubeIcon = {
+ foreground: '#ff0000',
+ src: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M21.8 8s-.195-1.377-.795-1.984c-.76-.797-1.613-.8-2.004-.847-2.798-.203-6.996-.203-6.996-.203h-.01s-4.197 0-6.996.202c-.39.046-1.242.05-2.003.846C2.395 6.623 2.2 8 2.2 8S2 9.62 2 11.24v1.517c0 1.618.2 3.237.2 3.237s.195 1.378.795 1.985c.76.797 1.76.77 2.205.855 1.6.153 6.8.2 6.8.2s4.203-.005 7-.208c.392-.047 1.244-.05 2.005-.847.6-.607.795-1.985.795-1.985s.2-1.618.2-3.237v-1.517C22 9.62 21.8 8 21.8 8zM9.935 14.595v-5.62l5.403 2.82-5.403 2.8z"
+ }))
+};
+var embedFacebookIcon = {
+ foreground: '#3b5998',
+ src: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M20 3H4c-.6 0-1 .4-1 1v16c0 .5.4 1 1 1h8.6v-7h-2.3v-2.7h2.3v-2c0-2.3 1.4-3.6 3.5-3.6 1 0 1.8.1 2.1.1v2.4h-1.4c-1.1 0-1.3.5-1.3 1.3v1.7h2.7l-.4 2.8h-2.3v7H20c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1z"
+ }))
+};
+var embedInstagramIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M12 4.622c2.403 0 2.688.01 3.637.052.877.04 1.354.187 1.67.31.42.163.72.358 1.036.673.315.315.51.615.673 1.035.123.317.27.794.31 1.67.043.95.052 1.235.052 3.638s-.01 2.688-.052 3.637c-.04.877-.187 1.354-.31 1.67-.163.42-.358.72-.673 1.036-.315.315-.615.51-1.035.673-.317.123-.794.27-1.67.31-.95.043-1.234.052-3.638.052s-2.688-.01-3.637-.052c-.877-.04-1.354-.187-1.67-.31-.42-.163-.72-.358-1.036-.673-.315-.315-.51-.615-.673-1.035-.123-.317-.27-.794-.31-1.67-.043-.95-.052-1.235-.052-3.638s.01-2.688.052-3.637c.04-.877.187-1.354.31-1.67.163-.42.358-.72.673-1.036.315-.315.615-.51 1.035-.673.317-.123.794-.27 1.67-.31.95-.043 1.235-.052 3.638-.052M12 3c-2.444 0-2.75.01-3.71.054s-1.613.196-2.185.418c-.592.23-1.094.538-1.594 1.04-.5.5-.807 1-1.037 1.593-.223.572-.375 1.226-.42 2.184C3.01 9.25 3 9.555 3 12s.01 2.75.054 3.71.196 1.613.418 2.186c.23.592.538 1.094 1.038 1.594s1.002.808 1.594 1.038c.572.222 1.227.375 2.185.418.96.044 1.266.054 3.71.054s2.75-.01 3.71-.054 1.613-.196 2.186-.418c.592-.23 1.094-.538 1.594-1.038s.808-1.002 1.038-1.594c.222-.572.375-1.227.418-2.185.044-.96.054-1.266.054-3.71s-.01-2.75-.054-3.71-.196-1.613-.418-2.186c-.23-.592-.538-1.094-1.038-1.594s-1.002-.808-1.594-1.038c-.572-.222-1.227-.375-2.185-.418C14.75 3.01 14.445 3 12 3zm0 4.378c-2.552 0-4.622 2.07-4.622 4.622s2.07 4.622 4.622 4.622 4.622-2.07 4.622-4.622S14.552 7.378 12 7.378zM12 15c-1.657 0-3-1.343-3-3s1.343-3 3-3 3 1.343 3 3-1.343 3-3 3zm4.804-8.884c-.596 0-1.08.484-1.08 1.08s.484 1.08 1.08 1.08c.596 0 1.08-.484 1.08-1.08s-.483-1.08-1.08-1.08z"
+})));
+var embedWordPressIcon = {
+ foreground: '#0073AA',
+ src: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M12.158 12.786l-2.698 7.84c.806.236 1.657.365 2.54.365 1.047 0 2.05-.18 2.986-.51-.024-.037-.046-.078-.065-.123l-2.762-7.57zM3.008 12c0 3.56 2.07 6.634 5.068 8.092L3.788 8.342c-.5 1.117-.78 2.354-.78 3.658zm15.06-.454c0-1.112-.398-1.88-.74-2.48-.456-.74-.883-1.368-.883-2.11 0-.825.627-1.595 1.51-1.595.04 0 .078.006.116.008-1.598-1.464-3.73-2.36-6.07-2.36-3.14 0-5.904 1.613-7.512 4.053.21.008.41.012.58.012.94 0 2.395-.114 2.395-.114.484-.028.54.684.057.74 0 0-.487.058-1.03.086l3.275 9.74 1.968-5.902-1.4-3.838c-.485-.028-.944-.085-.944-.085-.486-.03-.43-.77.056-.742 0 0 1.484.114 2.368.114.94 0 2.397-.114 2.397-.114.486-.028.543.684.058.74 0 0-.488.058-1.03.086l3.25 9.665.897-2.997c.456-1.17.684-2.137.684-2.907zm1.82-3.86c.04.286.06.593.06.924 0 .912-.17 1.938-.683 3.22l-2.746 7.94c2.672-1.558 4.47-4.454 4.47-7.77 0-1.564-.4-3.033-1.1-4.314zM12 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10z"
+ })))
+};
+var embedSpotifyIcon = {
+ foreground: '#1db954',
+ src: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m4.586 14.424c-.18.295-.563.387-.857.207-2.35-1.434-5.305-1.76-8.786-.963-.335.077-.67-.133-.746-.47-.077-.334.132-.67.47-.745 3.808-.87 7.076-.496 9.712 1.115.293.18.386.563.206.857M17.81 13.7c-.226.367-.706.482-1.072.257-2.687-1.652-6.785-2.13-9.965-1.166-.413.127-.848-.106-.973-.517-.125-.413.108-.848.52-.973 3.632-1.102 8.147-.568 11.234 1.328.366.226.48.707.256 1.072m.105-2.835C14.692 8.95 9.375 8.775 6.297 9.71c-.493.15-1.016-.13-1.166-.624-.148-.495.13-1.017.625-1.167 3.532-1.073 9.404-.866 13.115 1.337.445.264.59.838.327 1.282-.264.443-.838.59-1.282.325"
+ }))
+};
+var embedFlickrIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "m6.5 7c-2.75 0-5 2.25-5 5s2.25 5 5 5 5-2.25 5-5-2.25-5-5-5zm11 0c-2.75 0-5 2.25-5 5s2.25 5 5 5 5-2.25 5-5-2.25-5-5-5z"
+}));
+var embedVimeoIcon = {
+ foreground: '#1ab7ea',
+ src: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ xmlns: "http://www.w3.org/2000/svg",
+ viewBox: "0 0 24 24"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M22.396 7.164c-.093 2.026-1.507 4.8-4.245 8.32C15.323 19.16 12.93 21 10.97 21c-1.214 0-2.24-1.12-3.08-3.36-.56-2.052-1.118-4.105-1.68-6.158-.622-2.24-1.29-3.36-2.004-3.36-.156 0-.7.328-1.634.98l-.978-1.26c1.027-.903 2.04-1.806 3.037-2.71C6 3.95 7.03 3.328 7.716 3.265c1.62-.156 2.616.95 2.99 3.32.404 2.558.685 4.148.84 4.77.468 2.12.982 3.18 1.543 3.18.435 0 1.09-.687 1.963-2.064.872-1.376 1.34-2.422 1.402-3.142.125-1.187-.343-1.782-1.4-1.782-.5 0-1.013.115-1.542.34 1.023-3.35 2.977-4.976 5.862-4.883 2.14.063 3.148 1.45 3.024 4.16z"
+ })))
+};
+var embedRedditIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ 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"
+}));
+var embedTumbrIcon = {
+ foreground: '#35465c',
+ src: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ 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"
+ }))
+};
+var embedAmazonIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M18.42 14.58c-.51-.66-1.05-1.23-1.05-2.5V7.87c0-1.8.15-3.45-1.2-4.68-1.05-1.02-2.79-1.35-4.14-1.35-2.6 0-5.52.96-6.12 4.14-.06.36.18.54.4.57l2.66.3c.24-.03.42-.27.48-.5.24-1.12 1.17-1.63 2.2-1.63.56 0 1.22.21 1.55.7.4.56.33 1.31.33 1.97v.36c-1.59.18-3.66.27-5.16.93a4.63 4.63 0 0 0-2.93 4.44c0 2.82 1.8 4.23 4.1 4.23 1.95 0 3.03-.45 4.53-1.98.51.72.66 1.08 1.59 1.83.18.09.45.09.63-.1v.04l2.1-1.8c.24-.21.2-.48.03-.75zm-5.4-1.2c-.45.75-1.14 1.23-1.92 1.23-1.05 0-1.65-.81-1.65-1.98 0-2.31 2.1-2.73 4.08-2.73v.6c0 1.05.03 1.92-.5 2.88z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M21.69 19.2a17.62 17.62 0 0 1-21.6-1.57c-.23-.2 0-.5.28-.33a23.88 23.88 0 0 0 20.93 1.3c.45-.19.84.3.39.6z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M22.8 17.96c-.36-.45-2.22-.2-3.1-.12-.23.03-.3-.18-.05-.36 1.5-1.05 3.96-.75 4.26-.39.3.36-.1 2.82-1.5 4.02-.21.18-.42.1-.3-.15.3-.8 1.02-2.58.69-3z"
+}));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/core-embeds.js
+/**
+ * Internal dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+var common = [{
+ name: 'core-embed/twitter',
+ settings: {
+ title: 'Twitter',
+ icon: embedTwitterIcon,
+ keywords: ['tweet'],
+ description: Object(external_this_wp_i18n_["__"])('Embed a tweet.')
+ },
+ patterns: [/^https?:\/\/(www\.)?twitter\.com\/.+/i]
+}, {
+ name: 'core-embed/youtube',
+ settings: {
+ title: 'YouTube',
+ icon: embedYouTubeIcon,
+ keywords: [Object(external_this_wp_i18n_["__"])('music'), Object(external_this_wp_i18n_["__"])('video')],
+ description: Object(external_this_wp_i18n_["__"])('Embed a YouTube video.')
+ },
+ patterns: [/^https?:\/\/((m|www)\.)?youtube\.com\/.+/i, /^https?:\/\/youtu\.be\/.+/i]
+}, {
+ name: 'core-embed/facebook',
+ settings: {
+ title: 'Facebook',
+ icon: embedFacebookIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed a Facebook post.')
+ },
+ patterns: [/^https?:\/\/www\.facebook.com\/.+/i]
+}, {
+ name: 'core-embed/instagram',
+ settings: {
+ title: 'Instagram',
+ icon: embedInstagramIcon,
+ keywords: [Object(external_this_wp_i18n_["__"])('image')],
+ description: Object(external_this_wp_i18n_["__"])('Embed an Instagram post.')
+ },
+ patterns: [/^https?:\/\/(www\.)?instagr(\.am|am\.com)\/.+/i]
+}, {
+ name: 'core-embed/wordpress',
+ settings: {
+ title: 'WordPress',
+ icon: embedWordPressIcon,
+ keywords: [Object(external_this_wp_i18n_["__"])('post'), Object(external_this_wp_i18n_["__"])('blog')],
+ responsive: false,
+ description: Object(external_this_wp_i18n_["__"])('Embed a WordPress post.')
+ }
+}, {
+ name: 'core-embed/soundcloud',
+ settings: {
+ title: 'SoundCloud',
+ icon: embedAudioIcon,
+ keywords: [Object(external_this_wp_i18n_["__"])('music'), Object(external_this_wp_i18n_["__"])('audio')],
+ description: Object(external_this_wp_i18n_["__"])('Embed SoundCloud content.')
+ },
+ patterns: [/^https?:\/\/(www\.)?soundcloud\.com\/.+/i]
+}, {
+ name: 'core-embed/spotify',
+ settings: {
+ title: 'Spotify',
+ icon: embedSpotifyIcon,
+ keywords: [Object(external_this_wp_i18n_["__"])('music'), Object(external_this_wp_i18n_["__"])('audio')],
+ description: Object(external_this_wp_i18n_["__"])('Embed Spotify content.')
+ },
+ patterns: [/^https?:\/\/(open|play)\.spotify\.com\/.+/i]
+}, {
+ name: 'core-embed/flickr',
+ settings: {
+ title: 'Flickr',
+ icon: embedFlickrIcon,
+ keywords: [Object(external_this_wp_i18n_["__"])('image')],
+ description: Object(external_this_wp_i18n_["__"])('Embed Flickr content.')
+ },
+ patterns: [/^https?:\/\/(www\.)?flickr\.com\/.+/i, /^https?:\/\/flic\.kr\/.+/i]
+}, {
+ name: 'core-embed/vimeo',
+ settings: {
+ title: 'Vimeo',
+ icon: embedVimeoIcon,
+ keywords: [Object(external_this_wp_i18n_["__"])('video')],
+ description: Object(external_this_wp_i18n_["__"])('Embed a Vimeo video.')
+ },
+ patterns: [/^https?:\/\/(www\.)?vimeo\.com\/.+/i]
+}];
+var others = [{
+ name: 'core-embed/animoto',
+ settings: {
+ title: 'Animoto',
+ icon: embedVideoIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed an Animoto video.')
+ },
+ patterns: [/^https?:\/\/(www\.)?(animoto|video214)\.com\/.+/i]
+}, {
+ name: 'core-embed/cloudup',
+ settings: {
+ title: 'Cloudup',
+ icon: embedContentIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed Cloudup content.')
+ },
+ patterns: [/^https?:\/\/cloudup\.com\/.+/i]
+}, {
+ // Deprecated since CollegeHumor content is now powered by YouTube
+ name: 'core-embed/collegehumor',
+ settings: {
+ title: 'CollegeHumor',
+ icon: embedVideoIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed CollegeHumor content.'),
+ supports: {
+ inserter: false
+ }
+ },
+ patterns: []
+}, {
+ name: 'core-embed/crowdsignal',
+ settings: {
+ title: 'Crowdsignal',
+ icon: embedContentIcon,
+ keywords: ['polldaddy'],
+ transform: [{
+ type: 'block',
+ blocks: ['core-embed/polldaddy'],
+ transform: function transform(content) {
+ return Object(external_this_wp_blocks_["createBlock"])('core-embed/crowdsignal', {
+ content: content
+ });
+ }
+ }],
+ description: Object(external_this_wp_i18n_["__"])('Embed Crowdsignal (formerly Polldaddy) content.')
+ },
+ patterns: [/^https?:\/\/((.+\.)?polldaddy\.com|poll\.fm|.+\.survey\.fm)\/.+/i]
+}, {
+ name: 'core-embed/dailymotion',
+ settings: {
+ title: 'Dailymotion',
+ icon: embedVideoIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed a Dailymotion video.')
+ },
+ patterns: [/^https?:\/\/(www\.)?dailymotion\.com\/.+/i]
+}, {
+ name: 'core-embed/hulu',
+ settings: {
+ title: 'Hulu',
+ icon: embedVideoIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed Hulu content.')
+ },
+ patterns: [/^https?:\/\/(www\.)?hulu\.com\/.+/i]
+}, {
+ name: 'core-embed/imgur',
+ settings: {
+ title: 'Imgur',
+ icon: embedPhotoIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed Imgur content.')
+ },
+ patterns: [/^https?:\/\/(.+\.)?imgur\.com\/.+/i]
+}, {
+ name: 'core-embed/issuu',
+ settings: {
+ title: 'Issuu',
+ icon: embedContentIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed Issuu content.')
+ },
+ patterns: [/^https?:\/\/(www\.)?issuu\.com\/.+/i]
+}, {
+ name: 'core-embed/kickstarter',
+ settings: {
+ title: 'Kickstarter',
+ icon: embedContentIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed Kickstarter content.')
+ },
+ patterns: [/^https?:\/\/(www\.)?kickstarter\.com\/.+/i, /^https?:\/\/kck\.st\/.+/i]
+}, {
+ name: 'core-embed/meetup-com',
+ settings: {
+ title: 'Meetup.com',
+ icon: embedContentIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed Meetup.com content.')
+ },
+ patterns: [/^https?:\/\/(www\.)?meetu(\.ps|p\.com)\/.+/i]
+}, {
+ name: 'core-embed/mixcloud',
+ settings: {
+ title: 'Mixcloud',
+ icon: embedAudioIcon,
+ keywords: [Object(external_this_wp_i18n_["__"])('music'), Object(external_this_wp_i18n_["__"])('audio')],
+ description: Object(external_this_wp_i18n_["__"])('Embed Mixcloud content.')
+ },
+ patterns: [/^https?:\/\/(www\.)?mixcloud\.com\/.+/i]
+}, {
+ // Deprecated in favour of the core-embed/crowdsignal block
+ name: 'core-embed/polldaddy',
+ settings: {
+ title: 'Polldaddy',
+ icon: embedContentIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed Polldaddy content.'),
+ supports: {
+ inserter: false
+ }
+ },
+ patterns: []
+}, {
+ name: 'core-embed/reddit',
+ settings: {
+ title: 'Reddit',
+ icon: embedRedditIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed a Reddit thread.')
+ },
+ patterns: [/^https?:\/\/(www\.)?reddit\.com\/.+/i]
+}, {
+ name: 'core-embed/reverbnation',
+ settings: {
+ title: 'ReverbNation',
+ icon: embedAudioIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed ReverbNation content.')
+ },
+ patterns: [/^https?:\/\/(www\.)?reverbnation\.com\/.+/i]
+}, {
+ name: 'core-embed/screencast',
+ settings: {
+ title: 'Screencast',
+ icon: embedVideoIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed Screencast content.')
+ },
+ patterns: [/^https?:\/\/(www\.)?screencast\.com\/.+/i]
+}, {
+ name: 'core-embed/scribd',
+ settings: {
+ title: 'Scribd',
+ icon: embedContentIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed Scribd content.')
+ },
+ patterns: [/^https?:\/\/(www\.)?scribd\.com\/.+/i]
+}, {
+ name: 'core-embed/slideshare',
+ settings: {
+ title: 'Slideshare',
+ icon: embedContentIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed Slideshare content.')
+ },
+ patterns: [/^https?:\/\/(.+?\.)?slideshare\.net\/.+/i]
+}, {
+ name: 'core-embed/smugmug',
+ settings: {
+ title: 'SmugMug',
+ icon: embedPhotoIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed SmugMug content.')
+ },
+ patterns: [/^https?:\/\/(www\.)?smugmug\.com\/.+/i]
+}, {
+ // Deprecated in favour of the core-embed/speaker-deck block.
+ name: 'core-embed/speaker',
+ settings: {
+ title: 'Speaker',
+ icon: embedAudioIcon,
+ supports: {
+ inserter: false
+ }
+ },
+ patterns: []
+}, {
+ name: 'core-embed/speaker-deck',
+ settings: {
+ title: 'Speaker Deck',
+ icon: embedContentIcon,
+ transform: [{
+ type: 'block',
+ blocks: ['core-embed/speaker'],
+ transform: function transform(content) {
+ return Object(external_this_wp_blocks_["createBlock"])('core-embed/speaker-deck', {
+ content: content
+ });
+ }
+ }],
+ description: Object(external_this_wp_i18n_["__"])('Embed Speaker Deck content.')
+ },
+ patterns: [/^https?:\/\/(www\.)?speakerdeck\.com\/.+/i]
+}, {
+ name: 'core-embed/ted',
+ settings: {
+ title: 'TED',
+ icon: embedVideoIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed a TED video.')
+ },
+ patterns: [/^https?:\/\/(www\.|embed\.)?ted\.com\/.+/i]
+}, {
+ name: 'core-embed/tumblr',
+ settings: {
+ title: 'Tumblr',
+ icon: embedTumbrIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed a Tumblr post.')
+ },
+ patterns: [/^https?:\/\/(www\.)?tumblr\.com\/.+/i]
+}, {
+ name: 'core-embed/videopress',
+ settings: {
+ title: 'VideoPress',
+ icon: embedVideoIcon,
+ keywords: [Object(external_this_wp_i18n_["__"])('video')],
+ description: Object(external_this_wp_i18n_["__"])('Embed a VideoPress video.')
+ },
+ patterns: [/^https?:\/\/videopress\.com\/.+/i]
+}, {
+ name: 'core-embed/wordpress-tv',
+ settings: {
+ title: 'WordPress.tv',
+ icon: embedVideoIcon,
+ description: Object(external_this_wp_i18n_["__"])('Embed a WordPress.tv video.')
+ },
+ patterns: [/^https?:\/\/wordpress\.tv\/.+/i]
+}, {
+ name: 'core-embed/amazon-kindle',
+ settings: {
+ title: 'Amazon Kindle',
+ icon: embedAmazonIcon,
+ keywords: [Object(external_this_wp_i18n_["__"])('ebook')],
+ responsive: false,
+ description: Object(external_this_wp_i18n_["__"])('Embed Amazon Kindle content.')
+ },
+ patterns: [/^https?:\/\/([a-z0-9-]+\.)?(amazon|amzn)(\.[a-z]{2,4})+\/.+/i, /^https?:\/\/(www\.)?(a\.co|z\.cn)\/.+/i]
+}];
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/constants.js
+// These embeds do not work in sandboxes due to the iframe's security restrictions.
+var HOSTS_NO_PREVIEWS = ['facebook.com', 'smugmug.com'];
+var ASPECT_RATIOS = [// Common video resolutions.
+{
+ ratio: '2.33',
+ className: 'wp-embed-aspect-21-9'
+}, {
+ ratio: '2.00',
+ className: 'wp-embed-aspect-18-9'
+}, {
+ ratio: '1.78',
+ className: 'wp-embed-aspect-16-9'
+}, {
+ ratio: '1.33',
+ className: 'wp-embed-aspect-4-3'
+}, // Vertical video and instagram square video support.
+{
+ ratio: '1.00',
+ className: 'wp-embed-aspect-1-1'
+}, {
+ ratio: '0.56',
+ className: 'wp-embed-aspect-9-16'
+}, {
+ ratio: '0.50',
+ className: 'wp-embed-aspect-1-2'
+}];
+var DEFAULT_EMBED_BLOCK = 'core/embed';
+var WORDPRESS_EMBED_BLOCK = 'core-embed/wordpress';
+
+// EXTERNAL MODULE: ./node_modules/classnames/dedupe.js
+var dedupe = __webpack_require__(70);
+var dedupe_default = /*#__PURE__*/__webpack_require__.n(dedupe);
+
+// EXTERNAL MODULE: ./node_modules/memize/index.js
+var memize = __webpack_require__(44);
+var memize_default = /*#__PURE__*/__webpack_require__.n(memize);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/util.js
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Returns true if any of the regular expressions match the URL.
+ *
+ * @param {string} url The URL to test.
+ * @param {Array} patterns The list of regular expressions to test agains.
+ * @return {boolean} True if any of the regular expressions match the URL.
+ */
+
+var matchesPatterns = function matchesPatterns(url) {
+ var patterns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
+ return patterns.some(function (pattern) {
+ return url.match(pattern);
+ });
+};
+/**
+ * Finds the block name that should be used for the URL, based on the
+ * structure of the URL.
+ *
+ * @param {string} url The URL to test.
+ * @return {string} The name of the block that should be used for this URL, e.g. core-embed/twitter
+ */
+
+var util_findBlock = function findBlock(url) {
+ for (var _i = 0, _arr = [].concat(Object(toConsumableArray["a" /* default */])(common), Object(toConsumableArray["a" /* default */])(others)); _i < _arr.length; _i++) {
+ var block = _arr[_i];
+
+ if (matchesPatterns(url, block.patterns)) {
+ return block.name;
+ }
+ }
+
+ return DEFAULT_EMBED_BLOCK;
+};
+var util_isFromWordPress = function isFromWordPress(html) {
+ return Object(external_lodash_["includes"])(html, 'class="wp-embedded-content"');
+};
+var util_getPhotoHtml = function getPhotoHtml(photo) {
+ // 100% width for the preview so it fits nicely into the document, some "thumbnails" are
+ // actually the full size photo. If thumbnails not found, use full image.
+ var imageUrl = photo.thumbnail_url ? photo.thumbnail_url : photo.url;
+ var photoPreview = Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_element_["createElement"])("img", {
+ src: imageUrl,
+ alt: photo.title,
+ width: "100%"
+ }));
+ return Object(external_this_wp_element_["renderToString"])(photoPreview);
+};
+/**
+ * Creates a more suitable embed block based on the passed in props
+ * and attributes generated from an embed block's preview.
+ *
+ * We require `attributesFromPreview` to be generated from the latest attributes
+ * and preview, and because of the way the react lifecycle operates, we can't
+ * guarantee that the attributes contained in the block's props are the latest
+ * versions, so we require that these are generated separately.
+ * See `getAttributesFromPreview` in the generated embed edit component.
+ *
+ * @param {Object} props The block's props.
+ * @param {Object} attributesFromPreview Attributes generated from the block's most up to date preview.
+ * @return {Object|undefined} A more suitable embed block if one exists.
+ */
+
+var util_createUpgradedEmbedBlock = function createUpgradedEmbedBlock(props, attributesFromPreview) {
+ var preview = props.preview,
+ name = props.name;
+ var url = props.attributes.url;
+
+ if (!url) {
+ return;
+ }
+
+ var matchingBlock = util_findBlock(url);
+
+ if (!Object(external_this_wp_blocks_["getBlockType"])(matchingBlock)) {
+ return;
+ } // WordPress blocks can work on multiple sites, and so don't have patterns,
+ // so if we're in a WordPress block, assume the user has chosen it for a WordPress URL.
+
+
+ if (WORDPRESS_EMBED_BLOCK !== name && DEFAULT_EMBED_BLOCK !== matchingBlock) {
+ // At this point, we have discovered a more suitable block for this url, so transform it.
+ if (name !== matchingBlock) {
+ return Object(external_this_wp_blocks_["createBlock"])(matchingBlock, {
+ url: url
+ });
+ }
+ }
+
+ if (preview) {
+ var html = preview.html; // We can't match the URL for WordPress embeds, we have to check the HTML instead.
+
+ if (util_isFromWordPress(html)) {
+ // If this is not the WordPress embed block, transform it into one.
+ if (WORDPRESS_EMBED_BLOCK !== name) {
+ return Object(external_this_wp_blocks_["createBlock"])(WORDPRESS_EMBED_BLOCK, Object(objectSpread["a" /* default */])({
+ url: url
+ }, attributesFromPreview));
+ }
+ }
+ }
+};
+/**
+ * Returns class names with any relevant responsive aspect ratio names.
+ *
+ * @param {string} html The preview HTML that possibly contains an iframe with width and height set.
+ * @param {string} existingClassNames Any existing class names.
+ * @param {boolean} allowResponsive If the responsive class names should be added, or removed.
+ * @return {string} Deduped class names.
+ */
+
+function getClassNames(html) {
+ var existingClassNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
+ var allowResponsive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
+
+ if (!allowResponsive) {
+ // Remove all of the aspect ratio related class names.
+ var aspectRatioClassNames = {
+ 'wp-has-aspect-ratio': false
+ };
+
+ for (var ratioIndex = 0; ratioIndex < ASPECT_RATIOS.length; ratioIndex++) {
+ var aspectRatioToRemove = ASPECT_RATIOS[ratioIndex];
+ aspectRatioClassNames[aspectRatioToRemove.className] = false;
+ }
+
+ return dedupe_default()(existingClassNames, aspectRatioClassNames);
+ }
+
+ var previewDocument = document.implementation.createHTMLDocument('');
+ previewDocument.body.innerHTML = html;
+ var iframe = previewDocument.body.querySelector('iframe'); // If we have a fixed aspect iframe, and it's a responsive embed block.
+
+ if (iframe && iframe.height && iframe.width) {
+ var aspectRatio = (iframe.width / iframe.height).toFixed(2); // Given the actual aspect ratio, find the widest ratio to support it.
+
+ for (var _ratioIndex = 0; _ratioIndex < ASPECT_RATIOS.length; _ratioIndex++) {
+ var potentialRatio = ASPECT_RATIOS[_ratioIndex];
+
+ if (aspectRatio >= potentialRatio.ratio) {
+ var _classnames;
+
+ return dedupe_default()(existingClassNames, (_classnames = {}, Object(defineProperty["a" /* default */])(_classnames, potentialRatio.className, allowResponsive), Object(defineProperty["a" /* default */])(_classnames, 'wp-has-aspect-ratio', allowResponsive), _classnames));
+ }
+ }
+ }
+
+ return existingClassNames;
+}
+/**
+ * Fallback behaviour for unembeddable URLs.
+ * Creates a paragraph block containing a link to the URL, and calls `onReplace`.
+ *
+ * @param {string} url The URL that could not be embedded.
+ * @param {Function} onReplace Function to call with the created fallback block.
+ */
+
+function util_fallback(url, onReplace) {
+ var link = Object(external_this_wp_element_["createElement"])("a", {
+ href: url
+ }, url);
+ onReplace(Object(external_this_wp_blocks_["createBlock"])('core/paragraph', {
+ content: Object(external_this_wp_element_["renderToString"])(link)
+ }));
+}
+/***
+ * Gets block attributes based on the preview and responsive state.
+ *
+ * @param {Object} preview The preview data.
+ * @param {string} title The block's title, e.g. Twitter.
+ * @param {Object} currentClassNames The block's current class names.
+ * @param {boolean} isResponsive Boolean indicating if the block supports responsive content.
+ * @param {boolean} allowResponsive Apply responsive classes to fixed size content.
+ * @return {Object} Attributes and values.
+ */
+
+var getAttributesFromPreview = memize_default()(function (preview, title, currentClassNames, isResponsive) {
+ var allowResponsive = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
+
+ if (!preview) {
+ return {};
+ }
+
+ var attributes = {}; // Some plugins only return HTML with no type info, so default this to 'rich'.
+
+ var _preview$type = preview.type,
+ 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,
+ // because not all embed code gives us a provider name.
+
+ var html = preview.html,
+ providerName = preview.provider_name;
+ var providerNameSlug = Object(external_lodash_["kebabCase"])(Object(external_lodash_["toLower"])('' !== providerName ? providerName : title));
+
+ if (util_isFromWordPress(html)) {
+ type = 'wp-embed';
+ }
+
+ if (html || 'photo' === type) {
+ attributes.type = type;
+ attributes.providerNameSlug = providerNameSlug;
+ }
+
+ attributes.className = getClassNames(html, currentClassNames, isResponsive && allowResponsive);
+ return attributes;
+});
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var image_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M0,0h24v24H0V0z",
+ fill: "none"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ 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"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "m14.14 11.86l-3 3.87-2.14-2.59-3 3.86h12l-3.86-5.14z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/utils.js
+function calculatePreferedImageSize(image, container) {
+ var maxWidth = container.clientWidth;
+ var exceedMaxWidth = image.width > maxWidth;
+ var ratio = image.height / image.width;
+ var width = exceedMaxWidth ? maxWidth : image.width;
+ var height = exceedMaxWidth ? maxWidth * ratio : image.height;
+ return {
+ width: width,
+ height: height
+ };
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-size.js
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var image_size_ImageSize =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(ImageSize, _Component);
+
+ function ImageSize() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, ImageSize);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(ImageSize).apply(this, arguments));
+ _this.state = {
+ width: undefined,
+ height: undefined
+ };
+ _this.bindContainer = _this.bindContainer.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.calculateSize = _this.calculateSize.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(ImageSize, [{
+ key: "bindContainer",
+ value: function bindContainer(ref) {
+ this.container = ref;
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ if (this.props.src !== prevProps.src) {
+ this.setState({
+ width: undefined,
+ height: undefined
+ });
+ this.fetchImageSize();
+ }
+
+ if (this.props.dirtynessTrigger !== prevProps.dirtynessTrigger) {
+ this.calculateSize();
+ }
+ }
+ }, {
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ this.fetchImageSize();
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ if (this.image) {
+ this.image.onload = external_lodash_["noop"];
+ }
+ }
+ }, {
+ key: "fetchImageSize",
+ value: function fetchImageSize() {
+ this.image = new window.Image();
+ this.image.onload = this.calculateSize;
+ this.image.src = this.props.src;
+ }
+ }, {
+ key: "calculateSize",
+ value: function calculateSize() {
+ var _calculatePreferedIma = calculatePreferedImageSize(this.image, this.container),
+ width = _calculatePreferedIma.width,
+ height = _calculatePreferedIma.height;
+
+ this.setState({
+ width: width,
+ height: height
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var sizes = {
+ imageWidth: this.image && this.image.width,
+ imageHeight: this.image && this.image.height,
+ containerWidth: this.container && this.container.clientWidth,
+ containerHeight: this.container && this.container.clientHeight,
+ imageWidthWithinContainer: this.state.width,
+ imageHeightWithinContainer: this.state.height
+ };
+ return Object(external_this_wp_element_["createElement"])("div", {
+ ref: this.bindContainer
+ }, this.props.children(sizes));
+ }
+ }]);
+
+ return ImageSize;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var image_size = (Object(external_this_wp_compose_["withGlobalEvents"])({
+ resize: 'calculateSize'
+})(image_size_ImageSize));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/edit.js
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+/**
+ * Module constants
+ */
+
+var MIN_SIZE = 20;
+var LINK_DESTINATION_NONE = 'none';
+var LINK_DESTINATION_MEDIA = 'media';
+var LINK_DESTINATION_ATTACHMENT = 'attachment';
+var LINK_DESTINATION_CUSTOM = 'custom';
+var NEW_TAB_REL = 'noreferrer noopener';
+var ALLOWED_MEDIA_TYPES = ['image'];
+var DEFAULT_SIZE_SLUG = 'large';
+var edit_pickRelevantMediaFiles = function pickRelevantMediaFiles(image) {
+ var imageProps = Object(external_lodash_["pick"])(image, ['alt', 'id', 'link', 'caption']);
+ imageProps.url = Object(external_lodash_["get"])(image, ['sizes', 'large', 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', 'large', 'source_url']) || image.url;
+ return imageProps;
+};
+/**
+ * Is the URL a temporary blob URL? A blob URL is one that is used temporarily
+ * while the image is being uploaded and will not have an id yet allocated.
+ *
+ * @param {number=} id The id of the image.
+ * @param {string=} url The url of the image.
+ *
+ * @return {boolean} Is the URL a Blob URL
+ */
+
+var edit_isTemporaryImage = function isTemporaryImage(id, url) {
+ return !id && Object(external_this_wp_blob_["isBlobURL"])(url);
+};
+/**
+ * Is the url for the image hosted externally. An externally hosted image has no id
+ * and is not a blob url.
+ *
+ * @param {number=} id The id of the image.
+ * @param {string=} url The url of the image.
+ *
+ * @return {boolean} Is the url an externally hosted url?
+ */
+
+
+var edit_isExternalImage = function isExternalImage(id, url) {
+ return url && !id && !Object(external_this_wp_blob_["isBlobURL"])(url);
+};
+
+var stopPropagation = function stopPropagation(event) {
+ event.stopPropagation();
+};
+
+var edit_stopPropagationRelevantKeys = function stopPropagationRelevantKeys(event) {
+ 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(event.keyCode) > -1) {
+ // Stop the key event from propagating up to ObserveTyping.startTypingInTextField.
+ event.stopPropagation();
+ }
+};
+
+var edit_ImageURLInputUI = function ImageURLInputUI(_ref) {
+ var advancedOptions = _ref.advancedOptions,
+ linkDestination = _ref.linkDestination,
+ mediaLinks = _ref.mediaLinks,
+ onChangeUrl = _ref.onChangeUrl,
+ url = _ref.url;
+
+ var _useState = Object(external_this_wp_element_["useState"])(false),
+ _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
+ isOpen = _useState2[0],
+ setIsOpen = _useState2[1];
+
+ var openLinkUI = Object(external_this_wp_element_["useCallback"])(function () {
+ setIsOpen(true);
+ });
+
+ var _useState3 = Object(external_this_wp_element_["useState"])(false),
+ _useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
+ isEditingLink = _useState4[0],
+ setIsEditingLink = _useState4[1];
+
+ var _useState5 = Object(external_this_wp_element_["useState"])(null),
+ _useState6 = Object(slicedToArray["a" /* default */])(_useState5, 2),
+ urlInput = _useState6[0],
+ setUrlInput = _useState6[1];
+
+ var startEditLink = Object(external_this_wp_element_["useCallback"])(function () {
+ if (linkDestination === LINK_DESTINATION_MEDIA || linkDestination === LINK_DESTINATION_ATTACHMENT) {
+ setUrlInput('');
+ }
+
+ setIsEditingLink(true);
+ });
+ var stopEditLink = Object(external_this_wp_element_["useCallback"])(function () {
+ setIsEditingLink(false);
+ });
+ var closeLinkUI = Object(external_this_wp_element_["useCallback"])(function () {
+ setUrlInput(null);
+ stopEditLink();
+ setIsOpen(false);
+ });
+ var autocompleteRef = Object(external_this_wp_element_["useRef"])(null);
+ var onClickOutside = Object(external_this_wp_element_["useCallback"])(function () {
+ return function (event) {
+ // The autocomplete suggestions list renders in a separate popover (in a portal),
+ // so onClickOutside fails to detect that a click on a suggestion occurred in the
+ // LinkContainer. Detect clicks on autocomplete suggestions using a ref here, and
+ // return to avoid the popover being closed.
+ var autocompleteElement = autocompleteRef.current;
+
+ if (autocompleteElement && autocompleteElement.contains(event.target)) {
+ return;
+ }
+
+ setIsOpen(false);
+ setUrlInput(null);
+ stopEditLink();
+ };
+ });
+ var onSubmitLinkChange = Object(external_this_wp_element_["useCallback"])(function () {
+ return function (event) {
+ if (urlInput) {
+ onChangeUrl(urlInput);
+ }
+
+ stopEditLink();
+ setUrlInput(null);
+ event.preventDefault();
+ };
+ });
+ var onLinkRemove = Object(external_this_wp_element_["useCallback"])(function () {
+ closeLinkUI();
+ onChangeUrl('');
+ });
+ var linkEditorValue = urlInput !== null ? urlInput : url;
+ var urlLabel = (Object(external_lodash_["find"])(mediaLinks, ['linkDestination', linkDestination]) || {}).title;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], {
+ icon: "admin-links",
+ className: "components-toolbar__control",
+ label: url ? Object(external_this_wp_i18n_["__"])('Edit link') : Object(external_this_wp_i18n_["__"])('Insert link'),
+ "aria-expanded": isOpen,
+ onClick: openLinkUI
+ }), isOpen && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["URLPopover"], {
+ onClickOutside: onClickOutside(),
+ onClose: closeLinkUI,
+ renderSettings: function renderSettings() {
+ return advancedOptions;
+ },
+ additionalControls: !linkEditorValue && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["NavigableMenu"], null, Object(external_lodash_["map"])(mediaLinks, function (link) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["MenuItem"], {
+ key: link.linkDestination,
+ icon: link.icon,
+ onClick: function onClick() {
+ setUrlInput(null);
+ onChangeUrl(link.url);
+ stopEditLink();
+ }
+ }, link.title);
+ }))
+ }, (!url || isEditingLink) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["URLPopover"].LinkEditor, {
+ className: "editor-format-toolbar__link-container-content block-editor-format-toolbar__link-container-content",
+ value: linkEditorValue,
+ onChangeInputValue: setUrlInput,
+ onKeyDown: edit_stopPropagationRelevantKeys,
+ onKeyPress: stopPropagation,
+ onSubmit: onSubmitLinkChange(),
+ autocompleteRef: autocompleteRef
+ }), url && !isEditingLink && Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["URLPopover"].LinkViewer, {
+ className: "editor-format-toolbar__link-container-content block-editor-format-toolbar__link-container-content",
+ onKeyPress: stopPropagation,
+ url: url,
+ onEditLinkClick: startEditLink,
+ urlLabel: urlLabel
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], {
+ icon: "no",
+ label: Object(external_this_wp_i18n_["__"])('Remove link'),
+ onClick: onLinkRemove
+ }))));
+};
+
+var edit_ImageEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(ImageEdit, _Component);
+
+ function ImageEdit(_ref2) {
+ var _this;
+
+ var attributes = _ref2.attributes;
+
+ Object(classCallCheck["a" /* default */])(this, ImageEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(ImageEdit).apply(this, arguments));
+ _this.updateAlt = _this.updateAlt.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.updateAlignment = _this.updateAlignment.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onFocusCaption = _this.onFocusCaption.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onImageClick = _this.onImageClick.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onSelectImage = _this.onSelectImage.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onSelectURL = _this.onSelectURL.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.updateImage = _this.updateImage.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.updateWidth = _this.updateWidth.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.updateHeight = _this.updateHeight.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.updateDimensions = _this.updateDimensions.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onSetHref = _this.onSetHref.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onSetLinkClass = _this.onSetLinkClass.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onSetLinkRel = _this.onSetLinkRel.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onSetNewTab = _this.onSetNewTab.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.getFilename = _this.getFilename.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.toggleIsEditing = _this.toggleIsEditing.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onUploadError = _this.onUploadError.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onImageError = _this.onImageError.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.getLinkDestinations = _this.getLinkDestinations.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.state = {
+ captionFocused: false,
+ isEditing: !attributes.url
+ };
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(ImageEdit, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var _this2 = this;
+
+ var _this$props = this.props,
+ attributes = _this$props.attributes,
+ mediaUpload = _this$props.mediaUpload,
+ noticeOperations = _this$props.noticeOperations;
+ var id = attributes.id,
+ _attributes$url = attributes.url,
+ url = _attributes$url === void 0 ? '' : _attributes$url;
+
+ if (edit_isTemporaryImage(id, url)) {
+ var file = Object(external_this_wp_blob_["getBlobByURL"])(url);
+
+ if (file) {
+ mediaUpload({
+ filesList: [file],
+ onFileChange: function onFileChange(_ref3) {
+ var _ref4 = Object(slicedToArray["a" /* default */])(_ref3, 1),
+ image = _ref4[0];
+
+ _this2.onSelectImage(image);
+ },
+ allowedTypes: ALLOWED_MEDIA_TYPES,
+ onError: function onError(message) {
+ noticeOperations.createErrorNotice(message);
+
+ _this2.setState({
+ isEditing: true
+ });
+ }
+ });
+ }
+ }
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var _prevProps$attributes = prevProps.attributes,
+ prevID = _prevProps$attributes.id,
+ _prevProps$attributes2 = _prevProps$attributes.url,
+ prevURL = _prevProps$attributes2 === void 0 ? '' : _prevProps$attributes2;
+ var _this$props$attribute = this.props.attributes,
+ id = _this$props$attribute.id,
+ _this$props$attribute2 = _this$props$attribute.url,
+ url = _this$props$attribute2 === void 0 ? '' : _this$props$attribute2;
+
+ if (edit_isTemporaryImage(prevID, prevURL) && !edit_isTemporaryImage(id, url)) {
+ Object(external_this_wp_blob_["revokeBlobURL"])(url);
+ }
+
+ if (!this.props.isSelected && prevProps.isSelected && this.state.captionFocused) {
+ this.setState({
+ captionFocused: false
+ });
+ }
+ }
+ }, {
+ key: "onUploadError",
+ value: function onUploadError(message) {
+ var noticeOperations = this.props.noticeOperations;
+ noticeOperations.removeAllNotices();
+ noticeOperations.createErrorNotice(message);
+ this.setState({
+ isEditing: true
+ });
+ }
+ }, {
+ key: "onSelectImage",
+ value: function onSelectImage(media) {
+ if (!media || !media.url) {
+ this.props.setAttributes({
+ url: undefined,
+ alt: undefined,
+ id: undefined,
+ caption: undefined
+ });
+ return;
+ }
+
+ this.setState({
+ isEditing: false
+ });
+ var _this$props$attribute3 = this.props.attributes,
+ id = _this$props$attribute3.id,
+ url = _this$props$attribute3.url,
+ alt = _this$props$attribute3.alt,
+ caption = _this$props$attribute3.caption;
+ var mediaAttributes = edit_pickRelevantMediaFiles(media); // If the current image is temporary but an alt or caption text was meanwhile written by the user,
+ // make sure the text is not overwritten.
+
+ if (edit_isTemporaryImage(id, url)) {
+ if (alt) {
+ mediaAttributes = Object(external_lodash_["omit"])(mediaAttributes, ['alt']);
+ }
+
+ if (caption) {
+ mediaAttributes = Object(external_lodash_["omit"])(mediaAttributes, ['caption']);
+ }
+ }
+
+ var additionalAttributes; // Reset the dimension attributes if changing to a different image.
+
+ if (!media.id || media.id !== id) {
+ additionalAttributes = {
+ width: undefined,
+ height: undefined,
+ sizeSlug: DEFAULT_SIZE_SLUG
+ };
+ } else {
+ // Keep the same url when selecting the same file, so "Image Size" option is not changed.
+ additionalAttributes = {
+ url: url
+ };
+ }
+
+ this.props.setAttributes(Object(objectSpread["a" /* default */])({}, mediaAttributes, additionalAttributes));
+ }
+ }, {
+ key: "onSelectURL",
+ value: function onSelectURL(newURL) {
+ var url = this.props.attributes.url;
+
+ if (newURL !== url) {
+ this.props.setAttributes({
+ url: newURL,
+ id: undefined,
+ sizeSlug: DEFAULT_SIZE_SLUG
+ });
+ }
+
+ this.setState({
+ isEditing: false
+ });
+ }
+ }, {
+ key: "onImageError",
+ value: function onImageError(url) {
+ // Check if there's an embed block that handles this URL.
+ var embedBlock = util_createUpgradedEmbedBlock({
+ attributes: {
+ url: url
+ }
+ });
+
+ if (undefined !== embedBlock) {
+ this.props.onReplace(embedBlock);
+ }
+ }
+ }, {
+ key: "onSetHref",
+ value: function onSetHref(value) {
+ var linkDestinations = this.getLinkDestinations();
+ var attributes = this.props.attributes;
+ var linkDestination = attributes.linkDestination;
+ var linkDestinationInput;
+
+ if (!value) {
+ linkDestinationInput = LINK_DESTINATION_NONE;
+ } else {
+ linkDestinationInput = (Object(external_lodash_["find"])(linkDestinations, function (destination) {
+ return destination.url === value;
+ }) || {
+ linkDestination: LINK_DESTINATION_CUSTOM
+ }).linkDestination;
+ }
+
+ if (linkDestination !== linkDestinationInput) {
+ this.props.setAttributes({
+ linkDestination: linkDestinationInput,
+ href: value
+ });
+ return;
+ }
+
+ this.props.setAttributes({
+ href: value
+ });
+ }
+ }, {
+ key: "onSetLinkClass",
+ value: function onSetLinkClass(value) {
+ this.props.setAttributes({
+ linkClass: value
+ });
+ }
+ }, {
+ key: "onSetLinkRel",
+ value: function onSetLinkRel(value) {
+ this.props.setAttributes({
+ rel: value
+ });
+ }
+ }, {
+ key: "onSetNewTab",
+ value: function onSetNewTab(value) {
+ var rel = this.props.attributes.rel;
+ var linkTarget = value ? '_blank' : undefined;
+ var updatedRel = rel;
+
+ if (linkTarget && !rel) {
+ updatedRel = NEW_TAB_REL;
+ } else if (!linkTarget && rel === NEW_TAB_REL) {
+ updatedRel = undefined;
+ }
+
+ this.props.setAttributes({
+ linkTarget: linkTarget,
+ rel: updatedRel
+ });
+ }
+ }, {
+ key: "onFocusCaption",
+ value: function onFocusCaption() {
+ if (!this.state.captionFocused) {
+ this.setState({
+ captionFocused: true
+ });
+ }
+ }
+ }, {
+ key: "onImageClick",
+ value: function onImageClick() {
+ if (this.state.captionFocused) {
+ this.setState({
+ captionFocused: false
+ });
+ }
+ }
+ }, {
+ key: "updateAlt",
+ value: function updateAlt(newAlt) {
+ this.props.setAttributes({
+ alt: newAlt
+ });
+ }
+ }, {
+ key: "updateAlignment",
+ value: function updateAlignment(nextAlign) {
+ var extraUpdatedAttributes = ['wide', 'full'].indexOf(nextAlign) !== -1 ? {
+ width: undefined,
+ height: undefined
+ } : {};
+ this.props.setAttributes(Object(objectSpread["a" /* default */])({}, extraUpdatedAttributes, {
+ align: nextAlign
+ }));
+ }
+ }, {
+ key: "updateImage",
+ value: function updateImage(sizeSlug) {
+ var image = this.props.image;
+ var url = Object(external_lodash_["get"])(image, ['media_details', 'sizes', sizeSlug, 'source_url']);
+
+ if (!url) {
+ return null;
+ }
+
+ this.props.setAttributes({
+ url: url,
+ width: undefined,
+ height: undefined,
+ sizeSlug: sizeSlug
+ });
+ }
+ }, {
+ key: "updateWidth",
+ value: function updateWidth(width) {
+ this.props.setAttributes({
+ width: parseInt(width, 10)
+ });
+ }
+ }, {
+ key: "updateHeight",
+ value: function updateHeight(height) {
+ this.props.setAttributes({
+ height: parseInt(height, 10)
+ });
+ }
+ }, {
+ key: "updateDimensions",
+ value: function updateDimensions() {
+ var _this3 = this;
+
+ var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
+ var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
+ return function () {
+ _this3.props.setAttributes({
+ width: width,
+ height: height
+ });
+ };
+ }
+ }, {
+ key: "getFilename",
+ value: function getFilename(url) {
+ var path = Object(external_this_wp_url_["getPath"])(url);
+
+ if (path) {
+ return Object(external_lodash_["last"])(path.split('/'));
+ }
+ }
+ }, {
+ key: "getLinkDestinations",
+ value: function getLinkDestinations() {
+ return [{
+ linkDestination: LINK_DESTINATION_MEDIA,
+ title: Object(external_this_wp_i18n_["__"])('Media File'),
+ url: this.props.image && this.props.image.source_url || this.props.attributes.url,
+ icon: image_icon
+ }, {
+ linkDestination: LINK_DESTINATION_ATTACHMENT,
+ title: Object(external_this_wp_i18n_["__"])('Attachment Page'),
+ url: this.props.image && this.props.image.link,
+ icon: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M0 0h24v24H0V0z",
+ fill: "none"
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
+ }))
+ }];
+ }
+ }, {
+ key: "toggleIsEditing",
+ value: function toggleIsEditing() {
+ this.setState({
+ isEditing: !this.state.isEditing
+ });
+
+ if (this.state.isEditing) {
+ Object(external_this_wp_a11y_["speak"])(Object(external_this_wp_i18n_["__"])('You are now viewing the image in the image block.'));
+ } else {
+ Object(external_this_wp_a11y_["speak"])(Object(external_this_wp_i18n_["__"])('You are now editing the image in the image block.'));
+ }
+ }
+ }, {
+ key: "getImageSizeOptions",
+ value: function getImageSizeOptions() {
+ var imageSizes = this.props.imageSizes;
+ return Object(external_lodash_["map"])(imageSizes, function (_ref5) {
+ var name = _ref5.name,
+ slug = _ref5.slug;
+ return {
+ value: slug,
+ label: name
+ };
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this4 = this;
+
+ var isEditing = this.state.isEditing;
+ var _this$props2 = this.props,
+ attributes = _this$props2.attributes,
+ setAttributes = _this$props2.setAttributes,
+ isLargeViewport = _this$props2.isLargeViewport,
+ isSelected = _this$props2.isSelected,
+ className = _this$props2.className,
+ maxWidth = _this$props2.maxWidth,
+ noticeUI = _this$props2.noticeUI,
+ isRTL = _this$props2.isRTL,
+ onResizeStart = _this$props2.onResizeStart,
+ _onResizeStop = _this$props2.onResizeStop;
+ var url = attributes.url,
+ alt = attributes.alt,
+ caption = attributes.caption,
+ align = attributes.align,
+ id = attributes.id,
+ href = attributes.href,
+ rel = attributes.rel,
+ linkClass = attributes.linkClass,
+ linkDestination = attributes.linkDestination,
+ width = attributes.width,
+ height = attributes.height,
+ linkTarget = attributes.linkTarget,
+ sizeSlug = attributes.sizeSlug;
+ var isExternal = edit_isExternalImage(id, url);
+ var editImageIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ width: 20,
+ height: 20,
+ viewBox: "0 0 20 20"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: 11,
+ y: 3,
+ width: 7,
+ height: 5,
+ rx: 1
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: 2,
+ y: 12,
+ width: 7,
+ height: 5,
+ rx: 1
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M13,12h1a3,3,0,0,1-3,3v2a5,5,0,0,0,5-5h1L15,9Z"
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M4,8H3l2,3L7,8H6A3,3,0,0,1,9,5V3A5,5,0,0,0,4,8Z"
+ }));
+ 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"], {
+ value: align,
+ onChange: this.updateAlignment
+ }), url && Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Toolbar"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], {
+ className: classnames_default()('components-icon-button components-toolbar__control', {
+ 'is-active': this.state.isEditing
+ }),
+ label: Object(external_this_wp_i18n_["__"])('Edit image'),
+ "aria-pressed": this.state.isEditing,
+ onClick: this.toggleIsEditing,
+ icon: editImageIcon
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Toolbar"], null, Object(external_this_wp_element_["createElement"])(edit_ImageURLInputUI, {
+ url: href || '',
+ onChangeUrl: this.onSetHref,
+ mediaLinks: this.getLinkDestinations(),
+ linkDestination: linkDestination,
+ advancedOptions: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Open in New Tab'),
+ onChange: this.onSetNewTab,
+ checked: linkTarget === '_blank'
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Link CSS Class'),
+ value: linkClass || '',
+ onKeyPress: stopPropagation,
+ onKeyDown: edit_stopPropagationRelevantKeys,
+ onChange: this.onSetLinkClass
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Link Rel'),
+ value: rel || '',
+ onChange: this.onSetLinkRel,
+ onKeyPress: stopPropagation,
+ onKeyDown: edit_stopPropagationRelevantKeys
+ }))
+ }))));
+ var src = isExternal ? url : undefined;
+ var labels = {
+ title: !url ? Object(external_this_wp_i18n_["__"])('Image') : Object(external_this_wp_i18n_["__"])('Edit image'),
+ instructions: Object(external_this_wp_i18n_["__"])('Upload an image file, pick one from your media library, or add one with a URL.')
+ };
+ var mediaPreview = !!url && Object(external_this_wp_element_["createElement"])("img", {
+ alt: Object(external_this_wp_i18n_["__"])('Edit image'),
+ title: Object(external_this_wp_i18n_["__"])('Edit image'),
+ className: 'edit-image-preview',
+ src: url
+ });
+ var mediaPlaceholder = Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaPlaceholder"], {
+ icon: Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockIcon"], {
+ icon: image_icon
+ }),
+ className: className,
+ labels: labels,
+ onSelect: this.onSelectImage,
+ onSelectURL: this.onSelectURL,
+ onDoubleClick: this.toggleIsEditing,
+ onCancel: !!url && this.toggleIsEditing,
+ notices: noticeUI,
+ onError: this.onUploadError,
+ accept: "image/*",
+ allowedTypes: ALLOWED_MEDIA_TYPES,
+ value: {
+ id: id,
+ src: src
+ },
+ mediaPreview: mediaPreview,
+ dropZoneUIOnly: !isEditing && url
+ });
+
+ if (isEditing || !url) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, controls, mediaPlaceholder);
+ }
+
+ var classes = classnames_default()(className, Object(defineProperty["a" /* default */])({
+ 'is-transient': Object(external_this_wp_blob_["isBlobURL"])(url),
+ 'is-resized': !!width || !!height,
+ 'is-focused': isSelected
+ }, "size-".concat(sizeSlug), sizeSlug));
+ var isResizable = ['wide', 'full'].indexOf(align) === -1 && isLargeViewport;
+ var imageSizeOptions = this.getImageSizeOptions();
+
+ var getInspectorControls = function getInspectorControls(imageWidth, imageHeight) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Image Settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextareaControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Alt Text (Alternative Text)'),
+ value: alt,
+ onChange: _this4.updateAlt,
+ help: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ExternalLink"], {
+ href: "https://www.w3.org/WAI/tutorials/images/decision-tree"
+ }, Object(external_this_wp_i18n_["__"])('Describe the purpose of the image')), Object(external_this_wp_i18n_["__"])('Leave empty if the image is purely decorative.'))
+ }), !Object(external_lodash_["isEmpty"])(imageSizeOptions) && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SelectControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Image Size'),
+ value: sizeSlug,
+ options: imageSizeOptions,
+ onChange: _this4.updateImage
+ }), isResizable && Object(external_this_wp_element_["createElement"])("div", {
+ className: "block-library-image__dimensions"
+ }, Object(external_this_wp_element_["createElement"])("p", {
+ className: "block-library-image__dimensions__row"
+ }, Object(external_this_wp_i18n_["__"])('Image Dimensions')), Object(external_this_wp_element_["createElement"])("div", {
+ className: "block-library-image__dimensions__row"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextControl"], {
+ type: "number",
+ className: "block-library-image__dimensions__width",
+ label: Object(external_this_wp_i18n_["__"])('Width'),
+ value: width || imageWidth || '',
+ min: 1,
+ onChange: _this4.updateWidth
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextControl"], {
+ type: "number",
+ className: "block-library-image__dimensions__height",
+ label: Object(external_this_wp_i18n_["__"])('Height'),
+ value: height || imageHeight || '',
+ min: 1,
+ onChange: _this4.updateHeight
+ })), Object(external_this_wp_element_["createElement"])("div", {
+ className: "block-library-image__dimensions__row"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ButtonGroup"], {
+ "aria-label": Object(external_this_wp_i18n_["__"])('Image Size')
+ }, [25, 50, 75, 100].map(function (scale) {
+ var scaledWidth = Math.round(imageWidth * (scale / 100));
+ var scaledHeight = Math.round(imageHeight * (scale / 100));
+ var isCurrent = width === scaledWidth && height === scaledHeight;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
+ key: scale,
+ isSmall: true,
+ isPrimary: isCurrent,
+ "aria-pressed": isCurrent,
+ onClick: _this4.updateDimensions(scaledWidth, scaledHeight)
+ }, scale, "%");
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
+ isSmall: true,
+ onClick: _this4.updateDimensions()
+ }, Object(external_this_wp_i18n_["__"])('Reset'))))));
+ }; // Disable reason: Each block can be selected by clicking on it
+
+ /* eslint-disable jsx-a11y/click-events-have-key-events */
+
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, controls, Object(external_this_wp_element_["createElement"])("figure", {
+ className: classes
+ }, Object(external_this_wp_element_["createElement"])(image_size, {
+ src: url,
+ dirtynessTrigger: align
+ }, function (sizes) {
+ var imageWidthWithinContainer = sizes.imageWidthWithinContainer,
+ imageHeightWithinContainer = sizes.imageHeightWithinContainer,
+ imageWidth = sizes.imageWidth,
+ imageHeight = sizes.imageHeight;
+
+ var filename = _this4.getFilename(url);
+
+ var defaultedAlt;
+
+ if (alt) {
+ defaultedAlt = alt;
+ } else if (filename) {
+ 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);
+ } else {
+ defaultedAlt = Object(external_this_wp_i18n_["__"])('This image has an empty alt attribute');
+ }
+
+ var img = // Disable reason: Image itself is not meant to be interactive, but
+ // should direct focus to block.
+
+ /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */
+ Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("img", {
+ src: url,
+ alt: defaultedAlt,
+ onDoubleClick: _this4.toggleIsEditing,
+ onClick: _this4.onImageClick,
+ onError: function onError() {
+ return _this4.onImageError(url);
+ }
+ }), Object(external_this_wp_blob_["isBlobURL"])(url) && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Spinner"], null))
+ /* eslint-enable jsx-a11y/no-noninteractive-element-interactions */
+ ;
+
+ if (!isResizable || !imageWidthWithinContainer) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, getInspectorControls(imageWidth, imageHeight), Object(external_this_wp_element_["createElement"])("div", {
+ style: {
+ width: width,
+ height: height
+ }
+ }, img));
+ }
+
+ var currentWidth = width || imageWidthWithinContainer;
+ var currentHeight = height || imageHeightWithinContainer;
+ var ratio = imageWidth / imageHeight;
+ var minWidth = imageWidth < imageHeight ? MIN_SIZE : MIN_SIZE * ratio;
+ 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.
+ // In absence of being able to set the content-width, this max-width is currently dictated by the vanilla editor style.
+ // The following variable adds a buffer to this vanilla style, so 3rd party themes have some wiggleroom.
+ // This does, in most cases, allow you to scale the image beyond the width of the main column, though not infinitely.
+ // @todo It would be good to revisit this once a content-width variable becomes available.
+
+ var maxWidthBuffer = maxWidth * 2.5;
+ var showRightHandle = false;
+ var showLeftHandle = false;
+ /* eslint-disable no-lonely-if */
+ // See https://github.com/WordPress/gutenberg/issues/7584.
+
+ if (align === 'center') {
+ // When the image is centered, show both handles.
+ showRightHandle = true;
+ showLeftHandle = true;
+ } else if (isRTL) {
+ // In RTL mode the image is on the right by default.
+ // Show the right handle and hide the left handle only when it is aligned left.
+ // Otherwise always show the left handle.
+ if (align === 'left') {
+ showRightHandle = true;
+ } else {
+ showLeftHandle = true;
+ }
+ } else {
+ // Show the left handle and hide the right handle only when the image is aligned right.
+ // Otherwise always show the right handle.
+ if (align === 'right') {
+ showLeftHandle = true;
+ } else {
+ showRightHandle = true;
+ }
+ }
+ /* eslint-enable no-lonely-if */
+
+
+ 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"], {
+ size: {
+ width: width,
+ height: height
+ },
+ minWidth: minWidth,
+ maxWidth: maxWidthBuffer,
+ minHeight: minHeight,
+ maxHeight: maxWidthBuffer / ratio,
+ lockAspectRatio: true,
+ enable: {
+ top: false,
+ right: showRightHandle,
+ bottom: true,
+ left: showLeftHandle
+ },
+ onResizeStart: onResizeStart,
+ onResizeStop: function onResizeStop(event, direction, elt, delta) {
+ _onResizeStop();
+
+ setAttributes({
+ width: parseInt(currentWidth + delta.width, 10),
+ height: parseInt(currentHeight + delta.height, 10)
+ });
+ }
+ }, img));
+ }), (!external_this_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ tagName: "figcaption",
+ placeholder: Object(external_this_wp_i18n_["__"])('Write caption…'),
+ value: caption,
+ unstableOnFocus: this.onFocusCaption,
+ onChange: function onChange(value) {
+ return setAttributes({
+ caption: value
+ });
+ },
+ isSelected: this.state.captionFocused,
+ inlineToolbar: true
+ })), mediaPlaceholder);
+ /* eslint-enable jsx-a11y/click-events-have-key-events */
+ }
+ }]);
+
+ return ImageEdit;
+}(external_this_wp_element_["Component"]);
+/* harmony default export */ var image_edit = (Object(external_this_wp_compose_["compose"])([Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/block-editor'),
+ toggleSelection = _dispatch.toggleSelection;
+
+ return {
+ onResizeStart: function onResizeStart() {
+ return toggleSelection(false);
+ },
+ onResizeStop: function onResizeStop() {
+ return toggleSelection(true);
+ }
+ };
+}), Object(external_this_wp_data_["withSelect"])(function (select, props) {
+ var _select = select('core'),
+ getMedia = _select.getMedia;
+
+ var _select2 = select('core/block-editor'),
+ getSettings = _select2.getSettings;
+
+ var id = props.attributes.id,
+ isSelected = props.isSelected;
+
+ var _getSettings = getSettings(),
+ __experimentalMediaUpload = _getSettings.__experimentalMediaUpload,
+ imageSizes = _getSettings.imageSizes,
+ isRTL = _getSettings.isRTL,
+ maxWidth = _getSettings.maxWidth;
+
+ return {
+ image: id && isSelected ? getMedia(id) : null,
+ maxWidth: maxWidth,
+ isRTL: isRTL,
+ imageSizes: imageSizes,
+ mediaUpload: __experimentalMediaUpload
+ };
+}), Object(external_this_wp_viewport_["withViewportMatch"])({
+ isLargeViewport: 'medium'
+}), external_this_wp_components_["withNotices"]])(edit_ImageEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/save.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+function image_save_save(_ref) {
+ var _classnames;
+
+ var attributes = _ref.attributes;
+ var url = attributes.url,
+ alt = attributes.alt,
+ caption = attributes.caption,
+ align = attributes.align,
+ href = attributes.href,
+ rel = attributes.rel,
+ linkClass = attributes.linkClass,
+ width = attributes.width,
+ height = attributes.height,
+ id = attributes.id,
+ linkTarget = attributes.linkTarget,
+ sizeSlug = attributes.sizeSlug;
+ 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));
+ var image = Object(external_this_wp_element_["createElement"])("img", {
+ src: url,
+ alt: alt,
+ className: id ? "wp-image-".concat(id) : null,
+ width: width,
+ height: height
+ });
+ var figure = Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, href ? Object(external_this_wp_element_["createElement"])("a", {
+ className: linkClass,
+ href: href,
+ target: linkTarget,
+ rel: rel
+ }, image) : image, !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "figcaption",
+ value: caption
+ }));
+
+ if ('left' === align || 'right' === align || 'center' === align) {
+ return Object(external_this_wp_element_["createElement"])("div", null, Object(external_this_wp_element_["createElement"])("figure", {
+ className: classes
+ }, figure));
+ }
+
+ return Object(external_this_wp_element_["createElement"])("figure", {
+ className: classes
+ }, figure);
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/transforms.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+function stripFirstImage(attributes, _ref) {
+ var shortcode = _ref.shortcode;
+
+ var _document$implementat = document.implementation.createHTMLDocument(''),
+ body = _document$implementat.body;
+
+ body.innerHTML = shortcode.content;
+ var nodeToRemove = body.querySelector('img'); // if an image has parents, find the topmost node to remove
+
+ while (nodeToRemove && nodeToRemove.parentNode && nodeToRemove.parentNode !== body) {
+ nodeToRemove = nodeToRemove.parentNode;
+ }
+
+ if (nodeToRemove) {
+ nodeToRemove.parentNode.removeChild(nodeToRemove);
+ }
+
+ return body.innerHTML.trim();
+}
+
+function getFirstAnchorAttributeFormHTML(html, attributeName) {
+ var _document$implementat2 = document.implementation.createHTMLDocument(''),
+ body = _document$implementat2.body;
+
+ body.innerHTML = html;
+ var firstElementChild = body.firstElementChild;
+
+ if (firstElementChild && firstElementChild.nodeName === 'A') {
+ return firstElementChild.getAttribute(attributeName) || undefined;
+ }
+}
+
+var imageSchema = {
+ img: {
+ attributes: ['src', 'alt'],
+ classes: ['alignleft', 'aligncenter', 'alignright', 'alignnone', /^wp-image-\d+$/]
+ }
+};
+var schema = {
+ figure: {
+ require: ['img'],
+ children: Object(objectSpread["a" /* default */])({}, imageSchema, {
+ a: {
+ attributes: ['href', 'rel', 'target'],
+ children: imageSchema
+ },
+ figcaption: {
+ children: Object(external_this_wp_blocks_["getPhrasingContentSchema"])()
+ }
+ })
+ }
+};
+var image_transforms_transforms = {
+ from: [{
+ type: 'raw',
+ isMatch: function isMatch(node) {
+ return node.nodeName === 'FIGURE' && !!node.querySelector('img');
+ },
+ schema: schema,
+ transform: function transform(node) {
+ // Search both figure and image classes. Alignment could be
+ // set on either. ID is set on the image.
+ var className = node.className + ' ' + node.querySelector('img').className;
+ var alignMatches = /(?:^|\s)align(left|center|right)(?:$|\s)/.exec(className);
+ var align = alignMatches ? alignMatches[1] : undefined;
+ var idMatches = /(?:^|\s)wp-image-(\d+)(?:$|\s)/.exec(className);
+ var id = idMatches ? Number(idMatches[1]) : undefined;
+ var anchorElement = node.querySelector('a');
+ var linkDestination = anchorElement && anchorElement.href ? 'custom' : undefined;
+ var href = anchorElement && anchorElement.href ? anchorElement.href : undefined;
+ var rel = anchorElement && anchorElement.rel ? anchorElement.rel : undefined;
+ var linkClass = anchorElement && anchorElement.className ? anchorElement.className : undefined;
+ var attributes = Object(external_this_wp_blocks_["getBlockAttributes"])('core/image', node.outerHTML, {
+ align: align,
+ id: id,
+ linkDestination: linkDestination,
+ href: href,
+ rel: rel,
+ linkClass: linkClass
+ });
+ return Object(external_this_wp_blocks_["createBlock"])('core/image', attributes);
+ }
+ }, {
+ type: 'files',
+ isMatch: function isMatch(files) {
+ return files.length === 1 && files[0].type.indexOf('image/') === 0;
+ },
+ transform: function transform(files) {
+ var file = files[0]; // We don't need to upload the media directly here
+ // It's already done as part of the `componentDidMount`
+ // int the image block
+
+ return Object(external_this_wp_blocks_["createBlock"])('core/image', {
+ url: Object(external_this_wp_blob_["createBlobURL"])(file)
+ });
+ }
+ }, {
+ type: 'shortcode',
+ tag: 'caption',
+ attributes: {
+ url: {
+ type: 'string',
+ source: 'attribute',
+ attribute: 'src',
+ selector: 'img'
+ },
+ alt: {
+ type: 'string',
+ source: 'attribute',
+ attribute: 'alt',
+ selector: 'img'
+ },
+ caption: {
+ shortcode: stripFirstImage
+ },
+ href: {
+ shortcode: function shortcode(attributes, _ref2) {
+ var _shortcode = _ref2.shortcode;
+ return getFirstAnchorAttributeFormHTML(_shortcode.content, 'href');
+ }
+ },
+ rel: {
+ shortcode: function shortcode(attributes, _ref3) {
+ var _shortcode2 = _ref3.shortcode;
+ return getFirstAnchorAttributeFormHTML(_shortcode2.content, 'rel');
+ }
+ },
+ linkClass: {
+ shortcode: function shortcode(attributes, _ref4) {
+ var _shortcode3 = _ref4.shortcode;
+ return getFirstAnchorAttributeFormHTML(_shortcode3.content, 'class');
+ }
+ },
+ id: {
+ type: 'number',
+ shortcode: function shortcode(_ref5) {
+ var id = _ref5.named.id;
+
+ if (!id) {
+ return;
+ }
+
+ return parseInt(id.replace('attachment_', ''), 10);
+ }
+ },
+ align: {
+ type: 'string',
+ shortcode: function shortcode(_ref6) {
+ var _ref6$named$align = _ref6.named.align,
+ align = _ref6$named$align === void 0 ? 'alignnone' : _ref6$named$align;
+ return align.replace('align', '');
+ }
+ }
+ }
+ }]
+};
+/* harmony default export */ var image_transforms = (image_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var image_metadata = {
+ name: "core/image",
+ category: "common",
+ attributes: {
+ align: {
+ type: "string"
+ },
+ url: {
+ type: "string",
+ source: "attribute",
+ selector: "img",
+ attribute: "src"
+ },
+ alt: {
+ type: "string",
+ source: "attribute",
+ selector: "img",
+ attribute: "alt",
+ "default": ""
+ },
+ caption: {
+ type: "string",
+ source: "html",
+ selector: "figcaption"
+ },
+ href: {
+ type: "string",
+ source: "attribute",
+ selector: "figure > a",
+ attribute: "href"
+ },
+ rel: {
+ type: "string",
+ source: "attribute",
+ selector: "figure > a",
+ attribute: "rel"
+ },
+ linkClass: {
+ type: "string",
+ source: "attribute",
+ selector: "figure > a",
+ attribute: "class"
+ },
+ id: {
+ type: "number"
+ },
+ width: {
+ type: "number"
+ },
+ height: {
+ type: "number"
+ },
+ sizeSlug: {
+ type: "string"
+ },
+ linkDestination: {
+ type: "string",
+ "default": "none"
+ },
+ linkTarget: {
+ type: "string",
+ source: "attribute",
+ selector: "figure > a",
+ attribute: "target"
+ }
+ }
+};
+
+
+var image_name = image_metadata.name;
+
+var image_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Image'),
+ description: Object(external_this_wp_i18n_["__"])('Insert an image to make a visual statement.'),
+ icon: image_icon,
+ keywords: ['img', // "img" is not translated as it is intended to reflect the HTML <img> tag.
+ Object(external_this_wp_i18n_["__"])('photo')],
+ example: {
+ attributes: {
+ sizeSlug: 'large',
+ url: 'https://s.w.org/images/core/5.3/MtBlanc1.jpg',
+ caption: Object(external_this_wp_i18n_["__"])('Mont Blanc appears—still, snowy, and serene.')
+ }
+ },
+ styles: [{
+ name: 'default',
+ label: Object(external_this_wp_i18n_["_x"])('Default', 'block style'),
+ isDefault: true
+ }, {
+ name: 'circle-mask',
+ label: Object(external_this_wp_i18n_["_x"])('Circle Mask', 'block style')
+ }],
+ transforms: image_transforms,
+ getEditWrapperProps: function getEditWrapperProps(attributes) {
+ var align = attributes.align,
+ width = attributes.width;
+
+ if ('left' === align || 'center' === align || 'right' === align || 'wide' === align || 'full' === align) {
+ return {
+ 'data-align': align,
+ 'data-resized': !!width
+ };
+ }
+ },
+ edit: image_edit,
+ save: image_save_save,
+ deprecated: image_deprecated
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/deprecated.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+var blockSupports = {
+ className: false,
+ anchor: true
+};
+var heading_deprecated_blockAttributes = {
+ align: {
+ type: 'string'
+ },
+ content: {
+ type: 'string',
+ source: 'html',
+ selector: 'h1,h2,h3,h4,h5,h6',
+ default: ''
+ },
+ level: {
+ type: 'number',
+ default: 2
+ },
+ placeholder: {
+ type: 'string'
+ },
+ textColor: {
+ type: 'string'
+ },
+ customTextColor: {
+ type: 'string'
+ }
+};
+var heading_deprecated_deprecated = [{
+ attributes: heading_deprecated_blockAttributes,
+ save: function save(_ref) {
+ var _classnames;
+
+ var attributes = _ref.attributes;
+ var align = attributes.align,
+ content = attributes.content,
+ customTextColor = attributes.customTextColor,
+ level = attributes.level,
+ textColor = attributes.textColor;
+ var tagName = 'h' + level;
+ var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
+ var className = classnames_default()((_classnames = {}, Object(defineProperty["a" /* default */])(_classnames, textClass, textClass), Object(defineProperty["a" /* default */])(_classnames, "has-text-align-".concat(align), align), _classnames));
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ className: className ? className : undefined,
+ tagName: tagName,
+ style: {
+ color: textClass ? undefined : customTextColor
+ },
+ value: content
+ });
+ },
+ supports: blockSupports
+}, {
+ supports: blockSupports,
+ attributes: heading_deprecated_blockAttributes,
+ save: function save(_ref2) {
+ var attributes = _ref2.attributes;
+ var align = attributes.align,
+ level = attributes.level,
+ content = attributes.content,
+ textColor = attributes.textColor,
+ customTextColor = attributes.customTextColor;
+ var tagName = 'h' + level;
+ var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
+ var className = classnames_default()(Object(defineProperty["a" /* default */])({}, textClass, textClass));
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ className: className ? className : undefined,
+ tagName: tagName,
+ style: {
+ textAlign: align,
+ color: textClass ? undefined : customTextColor
+ },
+ value: content
+ });
+ }
+}];
+/* harmony default export */ var heading_deprecated = (heading_deprecated_deprecated);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/heading-level-icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+function HeadingLevelIcon(_ref) {
+ var level = _ref.level;
+ var levelToPath = {
+ 1: 'M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z',
+ 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',
+ 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',
+ 4: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z',
+ 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',
+ 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'
+ };
+
+ if (!levelToPath.hasOwnProperty(level)) {
+ return null;
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ width: "20",
+ height: "20",
+ viewBox: "0 0 20 20",
+ xmlns: "http://www.w3.org/2000/svg"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: levelToPath[level]
+ }));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/heading-toolbar.js
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var heading_toolbar_HeadingToolbar =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(HeadingToolbar, _Component);
+
+ function HeadingToolbar() {
+ Object(classCallCheck["a" /* default */])(this, HeadingToolbar);
+
+ return Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(HeadingToolbar).apply(this, arguments));
+ }
+
+ Object(createClass["a" /* default */])(HeadingToolbar, [{
+ key: "createLevelControl",
+ value: function createLevelControl(targetLevel, selectedLevel, onChange) {
+ return {
+ icon: Object(external_this_wp_element_["createElement"])(HeadingLevelIcon, {
+ level: targetLevel
+ }),
+ // translators: %s: heading level e.g: "1", "2", "3"
+ title: Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Heading %d'), targetLevel),
+ isActive: targetLevel === selectedLevel,
+ onClick: function onClick() {
+ return onChange(targetLevel);
+ }
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this = this;
+
+ var _this$props = this.props,
+ _this$props$isCollaps = _this$props.isCollapsed,
+ isCollapsed = _this$props$isCollaps === void 0 ? true : _this$props$isCollaps,
+ minLevel = _this$props.minLevel,
+ maxLevel = _this$props.maxLevel,
+ selectedLevel = _this$props.selectedLevel,
+ onChange = _this$props.onChange;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Toolbar"], {
+ isCollapsed: isCollapsed,
+ icon: Object(external_this_wp_element_["createElement"])(HeadingLevelIcon, {
+ level: selectedLevel
+ }),
+ controls: Object(external_lodash_["range"])(minLevel, maxLevel).map(function (index) {
+ return _this.createLevelControl(index, selectedLevel, onChange);
+ })
+ });
+ }
+ }]);
+
+ return HeadingToolbar;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var heading_toolbar = (heading_toolbar_HeadingToolbar);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/edit.js
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+var HeadingColorUI = Object(external_this_wp_element_["memo"])(function (_ref) {
+ var textColorValue = _ref.textColorValue,
+ setTextColor = _ref.setTextColor;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["PanelColorSettings"], {
+ title: Object(external_this_wp_i18n_["__"])('Color Settings'),
+ initialOpen: false,
+ colorSettings: [{
+ value: textColorValue,
+ onChange: setTextColor,
+ label: Object(external_this_wp_i18n_["__"])('Text Color')
+ }]
+ });
+});
+
+function HeadingEdit(_ref2) {
+ var _classnames;
+
+ var attributes = _ref2.attributes,
+ setAttributes = _ref2.setAttributes,
+ mergeBlocks = _ref2.mergeBlocks,
+ onReplace = _ref2.onReplace,
+ className = _ref2.className,
+ textColor = _ref2.textColor,
+ setTextColor = _ref2.setTextColor;
+ var align = attributes.align,
+ content = attributes.content,
+ level = attributes.level,
+ placeholder = attributes.placeholder;
+ var tagName = 'h' + level;
+ 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, {
+ minLevel: 2,
+ maxLevel: 5,
+ selectedLevel: level,
+ onChange: function onChange(newLevel) {
+ return setAttributes({
+ level: newLevel
+ });
+ }
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["AlignmentToolbar"], {
+ value: align,
+ onChange: function onChange(nextAlign) {
+ setAttributes({
+ align: nextAlign
+ });
+ }
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Heading Settings')
+ }, Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_i18n_["__"])('Level')), Object(external_this_wp_element_["createElement"])(heading_toolbar, {
+ isCollapsed: false,
+ minLevel: 1,
+ maxLevel: 7,
+ selectedLevel: level,
+ onChange: function onChange(newLevel) {
+ return setAttributes({
+ level: newLevel
+ });
+ }
+ })), Object(external_this_wp_element_["createElement"])(HeadingColorUI, {
+ setTextColor: setTextColor,
+ textColorValue: textColor.color
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ identifier: "content",
+ wrapperClassName: "wp-block-heading",
+ tagName: tagName,
+ value: content,
+ onChange: function onChange(value) {
+ return setAttributes({
+ content: value
+ });
+ },
+ onMerge: mergeBlocks,
+ onSplit: function onSplit(value) {
+ if (!value) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/paragraph');
+ }
+
+ return Object(external_this_wp_blocks_["createBlock"])('core/heading', Object(objectSpread["a" /* default */])({}, attributes, {
+ content: value
+ }));
+ },
+ onReplace: onReplace,
+ onRemove: function onRemove() {
+ return onReplace([]);
+ },
+ className: classnames_default()(className, (_classnames = {}, Object(defineProperty["a" /* default */])(_classnames, "has-text-align-".concat(align), align), Object(defineProperty["a" /* default */])(_classnames, 'has-text-color', textColor.color), Object(defineProperty["a" /* default */])(_classnames, textColor.class, textColor.class), _classnames)),
+ placeholder: placeholder || Object(external_this_wp_i18n_["__"])('Write heading…'),
+ style: {
+ color: textColor.color
+ }
+ }));
+}
+
+/* harmony default export */ var heading_edit = (Object(external_this_wp_compose_["compose"])([Object(external_this_wp_blockEditor_["withColors"])('backgroundColor', {
+ textColor: 'color'
+})])(HeadingEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/save.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+function heading_save_save(_ref) {
+ var _classnames;
+
+ var attributes = _ref.attributes;
+ var align = attributes.align,
+ content = attributes.content,
+ customTextColor = attributes.customTextColor,
+ level = attributes.level,
+ textColor = attributes.textColor;
+ var tagName = 'h' + level;
+ var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
+ 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));
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ className: className ? className : undefined,
+ tagName: tagName,
+ style: {
+ color: textClass ? undefined : customTextColor
+ },
+ value: content
+ });
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/shared.js
+/**
+ * Given a node name string for a heading node, returns its numeric level.
+ *
+ * @param {string} nodeName Heading node name.
+ *
+ * @return {number} Heading level.
+ */
+function getLevelFromHeadingNodeName(nodeName) {
+ return Number(nodeName.substr(1));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/transforms.js
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+var heading_transforms_transforms = {
+ from: [{
+ type: 'block',
+ blocks: ['core/paragraph'],
+ transform: function transform(_ref) {
+ var content = _ref.content;
+ return Object(external_this_wp_blocks_["createBlock"])('core/heading', {
+ content: content
+ });
+ }
+ }, {
+ type: 'raw',
+ selector: 'h1,h2,h3,h4,h5,h6',
+ schema: {
+ h1: {
+ children: Object(external_this_wp_blocks_["getPhrasingContentSchema"])()
+ },
+ h2: {
+ children: Object(external_this_wp_blocks_["getPhrasingContentSchema"])()
+ },
+ h3: {
+ children: Object(external_this_wp_blocks_["getPhrasingContentSchema"])()
+ },
+ h4: {
+ children: Object(external_this_wp_blocks_["getPhrasingContentSchema"])()
+ },
+ h5: {
+ children: Object(external_this_wp_blocks_["getPhrasingContentSchema"])()
+ },
+ h6: {
+ children: Object(external_this_wp_blocks_["getPhrasingContentSchema"])()
+ }
+ },
+ transform: function transform(node) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/heading', Object(objectSpread["a" /* default */])({}, Object(external_this_wp_blocks_["getBlockAttributes"])('core/heading', node.outerHTML), {
+ level: getLevelFromHeadingNodeName(node.nodeName)
+ }));
+ }
+ }].concat(Object(toConsumableArray["a" /* default */])([2, 3, 4, 5, 6].map(function (level) {
+ return {
+ type: 'prefix',
+ prefix: Array(level + 1).join('#'),
+ transform: function transform(content) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/heading', {
+ level: level,
+ content: content
+ });
+ }
+ };
+ }))),
+ to: [{
+ type: 'block',
+ blocks: ['core/paragraph'],
+ transform: function transform(_ref2) {
+ var content = _ref2.content;
+ return Object(external_this_wp_blocks_["createBlock"])('core/paragraph', {
+ content: content
+ });
+ }
+ }]
+};
+/* harmony default export */ var heading_transforms = (heading_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var heading_metadata = {
+ name: "core/heading",
+ category: "common",
+ attributes: {
+ align: {
+ type: "string"
+ },
+ content: {
+ type: "string",
+ source: "html",
+ selector: "h1,h2,h3,h4,h5,h6",
+ "default": ""
+ },
+ level: {
+ type: "number",
+ "default": 2
+ },
+ placeholder: {
+ type: "string"
+ },
+ textColor: {
+ type: "string"
+ },
+ customTextColor: {
+ type: "string"
+ }
+ }
+};
+
+
+var heading_name = heading_metadata.name;
+
+var heading_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Heading'),
+ description: Object(external_this_wp_i18n_["__"])('Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.'),
+ icon: 'heading',
+ keywords: [Object(external_this_wp_i18n_["__"])('title'), Object(external_this_wp_i18n_["__"])('subtitle')],
+ supports: {
+ className: false,
+ anchor: true
+ },
+ example: {
+ attributes: {
+ content: Object(external_this_wp_i18n_["__"])('Code is Poetry'),
+ level: 2
+ }
+ },
+ transforms: heading_transforms,
+ deprecated: heading_deprecated,
+ merge: function merge(attributes, attributesToMerge) {
+ return {
+ content: (attributes.content || '') + (attributesToMerge.content || '')
+ };
+ },
+ edit: heading_edit,
+ save: heading_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/deprecated.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+var quote_deprecated_blockAttributes = {
+ value: {
+ type: 'string',
+ source: 'html',
+ selector: 'blockquote',
+ multiline: 'p',
+ default: ''
+ },
+ citation: {
+ type: 'string',
+ source: 'html',
+ selector: 'cite',
+ default: ''
+ },
+ align: {
+ type: 'string'
+ }
+};
+var quote_deprecated_deprecated = [{
+ attributes: quote_deprecated_blockAttributes,
+ save: function save(_ref) {
+ var attributes = _ref.attributes;
+ var align = attributes.align,
+ value = attributes.value,
+ citation = attributes.citation;
+ return Object(external_this_wp_element_["createElement"])("blockquote", {
+ style: {
+ textAlign: align ? align : null
+ }
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ multiline: true,
+ value: value
+ }), !external_this_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "cite",
+ value: citation
+ }));
+ }
+}, {
+ attributes: Object(objectSpread["a" /* default */])({}, quote_deprecated_blockAttributes, {
+ style: {
+ type: 'number',
+ default: 1
+ }
+ }),
+ migrate: function migrate(attributes) {
+ if (attributes.style === 2) {
+ return Object(objectSpread["a" /* default */])({}, Object(external_lodash_["omit"])(attributes, ['style']), {
+ className: attributes.className ? attributes.className + ' is-style-large' : 'is-style-large'
+ });
+ }
+
+ return attributes;
+ },
+ save: function save(_ref2) {
+ var attributes = _ref2.attributes;
+ var align = attributes.align,
+ value = attributes.value,
+ citation = attributes.citation,
+ style = attributes.style;
+ return Object(external_this_wp_element_["createElement"])("blockquote", {
+ className: style === 2 ? 'is-large' : '',
+ style: {
+ textAlign: align ? align : null
+ }
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ multiline: true,
+ value: value
+ }), !external_this_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "cite",
+ value: citation
+ }));
+ }
+}, {
+ attributes: Object(objectSpread["a" /* default */])({}, quote_deprecated_blockAttributes, {
+ citation: {
+ type: 'string',
+ source: 'html',
+ selector: 'footer',
+ default: ''
+ },
+ style: {
+ type: 'number',
+ default: 1
+ }
+ }),
+ save: function save(_ref3) {
+ var attributes = _ref3.attributes;
+ var align = attributes.align,
+ value = attributes.value,
+ citation = attributes.citation,
+ style = attributes.style;
+ return Object(external_this_wp_element_["createElement"])("blockquote", {
+ className: "blocks-quote-style-".concat(style),
+ style: {
+ textAlign: align ? align : null
+ }
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ multiline: true,
+ value: value
+ }), !external_this_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "footer",
+ value: citation
+ }));
+ }
+}];
+/* harmony default export */ var quote_deprecated = (quote_deprecated_deprecated);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/edit.js
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+function QuoteEdit(_ref) {
+ var attributes = _ref.attributes,
+ setAttributes = _ref.setAttributes,
+ isSelected = _ref.isSelected,
+ mergeBlocks = _ref.mergeBlocks,
+ onReplace = _ref.onReplace,
+ className = _ref.className;
+ var align = attributes.align,
+ value = attributes.value,
+ citation = attributes.citation;
+ 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"], {
+ value: align,
+ onChange: function onChange(nextAlign) {
+ setAttributes({
+ align: nextAlign
+ });
+ }
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["BlockQuotation"], {
+ className: classnames_default()(className, Object(defineProperty["a" /* default */])({}, "has-text-align-".concat(align), align))
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ identifier: "value",
+ multiline: true,
+ value: value,
+ onChange: function onChange(nextValue) {
+ return setAttributes({
+ value: nextValue
+ });
+ },
+ onMerge: mergeBlocks,
+ onRemove: function onRemove(forward) {
+ var hasEmptyCitation = !citation || citation.length === 0;
+
+ if (!forward && hasEmptyCitation) {
+ onReplace([]);
+ }
+ },
+ placeholder: // translators: placeholder text used for the quote
+ Object(external_this_wp_i18n_["__"])('Write quote…'),
+ onReplace: onReplace,
+ onSplit: function onSplit(piece) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/quote', Object(objectSpread["a" /* default */])({}, attributes, {
+ value: piece
+ }));
+ },
+ __unstableOnSplitMiddle: function __unstableOnSplitMiddle() {
+ return Object(external_this_wp_blocks_["createBlock"])('core/paragraph');
+ }
+ }), (!external_this_wp_blockEditor_["RichText"].isEmpty(citation) || isSelected) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ identifier: "citation",
+ value: citation,
+ onChange: function onChange(nextCitation) {
+ return setAttributes({
+ citation: nextCitation
+ });
+ },
+ __unstableMobileNoFocusOnMount: true,
+ placeholder: // translators: placeholder text used for the citation
+ Object(external_this_wp_i18n_["__"])('Write citation…'),
+ className: "wp-block-quote__citation"
+ })));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var quote_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fill: "none",
+ d: "M0 0h24v24H0V0z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ 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"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/save.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+function quote_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var align = attributes.align,
+ value = attributes.value,
+ citation = attributes.citation;
+ var className = classnames_default()(Object(defineProperty["a" /* default */])({}, "has-text-align-".concat(align), align));
+ return Object(external_this_wp_element_["createElement"])("blockquote", {
+ className: className
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ multiline: true,
+ value: value
+ }), !external_this_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "cite",
+ value: citation
+ }));
+}
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js + 1 modules
+var objectWithoutProperties = __webpack_require__(21);
+
+// EXTERNAL MODULE: external {"this":["wp","richText"]}
+var external_this_wp_richText_ = __webpack_require__(22);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/transforms.js
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+var quote_transforms_transforms = {
+ from: [{
+ type: 'block',
+ isMultiBlock: true,
+ blocks: ['core/paragraph'],
+ transform: function transform(attributes) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/quote', {
+ value: Object(external_this_wp_richText_["toHTMLString"])({
+ value: Object(external_this_wp_richText_["join"])(attributes.map(function (_ref) {
+ var content = _ref.content;
+ return Object(external_this_wp_richText_["create"])({
+ html: content
+ });
+ }), "\u2028"),
+ multilineTag: 'p'
+ })
+ });
+ }
+ }, {
+ type: 'block',
+ blocks: ['core/heading'],
+ transform: function transform(_ref2) {
+ var content = _ref2.content;
+ return Object(external_this_wp_blocks_["createBlock"])('core/quote', {
+ value: "<p>".concat(content, "</p>")
+ });
+ }
+ }, {
+ type: 'block',
+ blocks: ['core/pullquote'],
+ transform: function transform(_ref3) {
+ var value = _ref3.value,
+ citation = _ref3.citation;
+ return Object(external_this_wp_blocks_["createBlock"])('core/quote', {
+ value: value,
+ citation: citation
+ });
+ }
+ }, {
+ type: 'prefix',
+ prefix: '>',
+ transform: function transform(content) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/quote', {
+ value: "<p>".concat(content, "</p>")
+ });
+ }
+ }, {
+ type: 'raw',
+ isMatch: function isMatch(node) {
+ var isParagraphOrSingleCite = function () {
+ var hasCitation = false;
+ return function (child) {
+ // Child is a paragraph.
+ if (child.nodeName === 'P') {
+ return true;
+ } // Child is a cite and no other cite child exists before it.
+
+
+ if (!hasCitation && child.nodeName === 'CITE') {
+ hasCitation = true;
+ return true;
+ }
+ };
+ }();
+
+ return node.nodeName === 'BLOCKQUOTE' && // The quote block can only handle multiline paragraph
+ // content with an optional cite child.
+ Array.from(node.childNodes).every(isParagraphOrSingleCite);
+ },
+ schema: {
+ blockquote: {
+ children: {
+ p: {
+ children: Object(external_this_wp_blocks_["getPhrasingContentSchema"])()
+ },
+ cite: {
+ children: Object(external_this_wp_blocks_["getPhrasingContentSchema"])()
+ }
+ }
+ }
+ }
+ }],
+ to: [{
+ type: 'block',
+ blocks: ['core/paragraph'],
+ transform: function transform(_ref4) {
+ var value = _ref4.value,
+ citation = _ref4.citation;
+ var paragraphs = [];
+
+ if (value && value !== '<p></p>') {
+ paragraphs.push.apply(paragraphs, Object(toConsumableArray["a" /* default */])(Object(external_this_wp_richText_["split"])(Object(external_this_wp_richText_["create"])({
+ html: value,
+ multilineTag: 'p'
+ }), "\u2028").map(function (piece) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/paragraph', {
+ content: Object(external_this_wp_richText_["toHTMLString"])({
+ value: piece
+ })
+ });
+ })));
+ }
+
+ if (citation && citation !== '<p></p>') {
+ paragraphs.push(Object(external_this_wp_blocks_["createBlock"])('core/paragraph', {
+ content: citation
+ }));
+ }
+
+ if (paragraphs.length === 0) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/paragraph', {
+ content: ''
+ });
+ }
+
+ return paragraphs;
+ }
+ }, {
+ type: 'block',
+ blocks: ['core/heading'],
+ transform: function transform(_ref5) {
+ var value = _ref5.value,
+ citation = _ref5.citation,
+ attrs = Object(objectWithoutProperties["a" /* default */])(_ref5, ["value", "citation"]);
+
+ // If there is no quote content, use the citation as the
+ // content of the resulting heading. A nonexistent citation
+ // will result in an empty heading.
+ if (value === '<p></p>') {
+ return Object(external_this_wp_blocks_["createBlock"])('core/heading', {
+ content: citation
+ });
+ }
+
+ var pieces = Object(external_this_wp_richText_["split"])(Object(external_this_wp_richText_["create"])({
+ html: value,
+ multilineTag: 'p'
+ }), "\u2028");
+ var headingBlock = Object(external_this_wp_blocks_["createBlock"])('core/heading', {
+ content: Object(external_this_wp_richText_["toHTMLString"])({
+ value: pieces[0]
+ })
+ });
+
+ if (!citation && pieces.length === 1) {
+ return headingBlock;
+ }
+
+ var quotePieces = pieces.slice(1);
+ var quoteBlock = Object(external_this_wp_blocks_["createBlock"])('core/quote', Object(objectSpread["a" /* default */])({}, attrs, {
+ citation: citation,
+ value: Object(external_this_wp_richText_["toHTMLString"])({
+ value: quotePieces.length ? Object(external_this_wp_richText_["join"])(pieces.slice(1), "\u2028") : Object(external_this_wp_richText_["create"])(),
+ multilineTag: 'p'
+ })
+ }));
+ return [headingBlock, quoteBlock];
+ }
+ }, {
+ type: 'block',
+ blocks: ['core/pullquote'],
+ transform: function transform(_ref6) {
+ var value = _ref6.value,
+ citation = _ref6.citation;
+ return Object(external_this_wp_blocks_["createBlock"])('core/pullquote', {
+ value: value,
+ citation: citation
+ });
+ }
+ }]
+};
+/* harmony default export */ var quote_transforms = (quote_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/index.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var quote_metadata = {
+ name: "core/quote",
+ category: "common",
+ attributes: {
+ value: {
+ type: "string",
+ source: "html",
+ selector: "blockquote",
+ multiline: "p",
+ "default": ""
+ },
+ citation: {
+ type: "string",
+ source: "html",
+ selector: "cite",
+ "default": ""
+ },
+ align: {
+ type: "string"
+ }
+ }
+};
+
+
+var quote_name = quote_metadata.name;
+
+var quote_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Quote'),
+ description: Object(external_this_wp_i18n_["__"])('Give quoted text visual emphasis. "In quoting others, we cite ourselves." — Julio Cortázar'),
+ icon: quote_icon,
+ keywords: [Object(external_this_wp_i18n_["__"])('blockquote'), Object(external_this_wp_i18n_["__"])('cite')],
+ example: {
+ attributes: {
+ value: '<p>' + Object(external_this_wp_i18n_["__"])('In quoting others, we cite ourselves.') + '</p>',
+ citation: 'Julio Cortázar',
+ className: 'is-style-large'
+ }
+ },
+ styles: [{
+ name: 'default',
+ label: Object(external_this_wp_i18n_["_x"])('Default', 'block style'),
+ isDefault: true
+ }, {
+ name: 'large',
+ label: Object(external_this_wp_i18n_["_x"])('Large', 'block style')
+ }],
+ transforms: quote_transforms,
+ edit: QuoteEdit,
+ save: quote_save_save,
+ merge: function merge(attributes, _ref) {
+ var value = _ref.value,
+ citation = _ref.citation;
+
+ // Quote citations cannot be merged. Pick the second one unless it's
+ // empty.
+ if (!citation) {
+ citation = attributes.citation;
+ }
+
+ if (!value || value === '<p></p>') {
+ return Object(objectSpread["a" /* default */])({}, attributes, {
+ citation: citation
+ });
+ }
+
+ return Object(objectSpread["a" /* default */])({}, attributes, {
+ value: attributes.value + value,
+ citation: citation
+ });
+ },
+ deprecated: quote_deprecated
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/shared.js
+/**
+ * External dependencies
+ */
+
+function defaultColumnsNumber(attributes) {
+ return Math.min(3, attributes.images.length);
+}
+var shared_pickRelevantMediaFiles = function pickRelevantMediaFiles(image) {
+ var imageProps = Object(external_lodash_["pick"])(image, ['alt', 'id', 'link', 'caption']);
+ imageProps.url = Object(external_lodash_["get"])(image, ['sizes', 'large', 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', 'large', 'source_url']) || image.url;
+ var fullUrl = Object(external_lodash_["get"])(image, ['sizes', 'full', 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', 'full', 'source_url']);
+
+ if (fullUrl) {
+ imageProps.fullUrl = fullUrl;
+ }
+
+ return imageProps;
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/deprecated.js
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var gallery_deprecated_deprecated = [{
+ attributes: {
+ images: {
+ type: 'array',
+ default: [],
+ source: 'query',
+ selector: 'ul.wp-block-gallery .blocks-gallery-item',
+ query: {
+ url: {
+ source: 'attribute',
+ selector: 'img',
+ attribute: 'src'
+ },
+ fullUrl: {
+ source: 'attribute',
+ selector: 'img',
+ attribute: 'data-full-url'
+ },
+ alt: {
+ source: 'attribute',
+ selector: 'img',
+ attribute: 'alt',
+ default: ''
+ },
+ id: {
+ source: 'attribute',
+ selector: 'img',
+ attribute: 'data-id'
+ },
+ link: {
+ source: 'attribute',
+ selector: 'img',
+ attribute: 'data-link'
+ },
+ caption: {
+ type: 'array',
+ source: 'children',
+ selector: 'figcaption'
+ }
+ }
+ },
+ ids: {
+ type: 'array',
+ default: []
+ },
+ columns: {
+ type: 'number'
+ },
+ imageCrop: {
+ type: 'boolean',
+ default: true
+ },
+ linkTo: {
+ type: 'string',
+ default: 'none'
+ }
+ },
+ save: function save(_ref) {
+ var attributes = _ref.attributes;
+ var images = attributes.images,
+ _attributes$columns = attributes.columns,
+ columns = _attributes$columns === void 0 ? defaultColumnsNumber(attributes) : _attributes$columns,
+ imageCrop = attributes.imageCrop,
+ linkTo = attributes.linkTo;
+ return Object(external_this_wp_element_["createElement"])("ul", {
+ className: "columns-".concat(columns, " ").concat(imageCrop ? 'is-cropped' : '')
+ }, images.map(function (image) {
+ var href;
+
+ switch (linkTo) {
+ case 'media':
+ href = image.fullUrl || image.url;
+ break;
+
+ case 'attachment':
+ href = image.link;
+ break;
+ }
+
+ var img = Object(external_this_wp_element_["createElement"])("img", {
+ src: image.url,
+ alt: image.alt,
+ "data-id": image.id,
+ "data-full-url": image.fullUrl,
+ "data-link": image.link,
+ className: image.id ? "wp-image-".concat(image.id) : null
+ });
+ return Object(external_this_wp_element_["createElement"])("li", {
+ key: image.id || image.url,
+ className: "blocks-gallery-item"
+ }, Object(external_this_wp_element_["createElement"])("figure", null, href ? Object(external_this_wp_element_["createElement"])("a", {
+ href: href
+ }, img) : img, image.caption && image.caption.length > 0 && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "figcaption",
+ value: image.caption
+ })));
+ }));
+ }
+}, {
+ attributes: {
+ images: {
+ type: 'array',
+ default: [],
+ source: 'query',
+ selector: 'ul.wp-block-gallery .blocks-gallery-item',
+ query: {
+ url: {
+ source: 'attribute',
+ selector: 'img',
+ attribute: 'src'
+ },
+ alt: {
+ source: 'attribute',
+ selector: 'img',
+ attribute: 'alt',
+ default: ''
+ },
+ id: {
+ source: 'attribute',
+ selector: 'img',
+ attribute: 'data-id'
+ },
+ link: {
+ source: 'attribute',
+ selector: 'img',
+ attribute: 'data-link'
+ },
+ caption: {
+ type: 'array',
+ source: 'children',
+ selector: 'figcaption'
+ }
+ }
+ },
+ columns: {
+ type: 'number'
+ },
+ imageCrop: {
+ type: 'boolean',
+ default: true
+ },
+ linkTo: {
+ type: 'string',
+ default: 'none'
+ }
+ },
+ isEligible: function isEligible(_ref2) {
+ var images = _ref2.images,
+ ids = _ref2.ids;
+ return images && images.length > 0 && (!ids && images || ids && images && ids.length !== images.length || Object(external_lodash_["some"])(images, function (id, index) {
+ if (!id && ids[index] !== null) {
+ return true;
+ }
+
+ return parseInt(id, 10) !== ids[index];
+ }));
+ },
+ migrate: function migrate(attributes) {
+ return Object(objectSpread["a" /* default */])({}, attributes, {
+ ids: Object(external_lodash_["map"])(attributes.images, function (_ref3) {
+ var id = _ref3.id;
+
+ if (!id) {
+ return null;
+ }
+
+ return parseInt(id, 10);
+ })
+ });
+ },
+ save: function save(_ref4) {
+ var attributes = _ref4.attributes;
+ var images = attributes.images,
+ _attributes$columns2 = attributes.columns,
+ columns = _attributes$columns2 === void 0 ? defaultColumnsNumber(attributes) : _attributes$columns2,
+ imageCrop = attributes.imageCrop,
+ linkTo = attributes.linkTo;
+ return Object(external_this_wp_element_["createElement"])("ul", {
+ className: "columns-".concat(columns, " ").concat(imageCrop ? 'is-cropped' : '')
+ }, images.map(function (image) {
+ var href;
+
+ switch (linkTo) {
+ case 'media':
+ href = image.url;
+ break;
+
+ case 'attachment':
+ href = image.link;
+ break;
+ }
+
+ var img = Object(external_this_wp_element_["createElement"])("img", {
+ src: image.url,
+ alt: image.alt,
+ "data-id": image.id,
+ "data-link": image.link,
+ className: image.id ? "wp-image-".concat(image.id) : null
+ });
+ return Object(external_this_wp_element_["createElement"])("li", {
+ key: image.id || image.url,
+ className: "blocks-gallery-item"
+ }, Object(external_this_wp_element_["createElement"])("figure", null, href ? Object(external_this_wp_element_["createElement"])("a", {
+ href: href
+ }, img) : img, image.caption && image.caption.length > 0 && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "figcaption",
+ value: image.caption
+ })));
+ }));
+ }
+}, {
+ attributes: {
+ images: {
+ type: 'array',
+ default: [],
+ source: 'query',
+ selector: 'div.wp-block-gallery figure.blocks-gallery-image img',
+ query: {
+ url: {
+ source: 'attribute',
+ attribute: 'src'
+ },
+ alt: {
+ source: 'attribute',
+ attribute: 'alt',
+ default: ''
+ },
+ id: {
+ source: 'attribute',
+ attribute: 'data-id'
+ }
+ }
+ },
+ columns: {
+ type: 'number'
+ },
+ imageCrop: {
+ type: 'boolean',
+ default: true
+ },
+ linkTo: {
+ type: 'string',
+ default: 'none'
+ },
+ align: {
+ type: 'string',
+ default: 'none'
+ }
+ },
+ save: function save(_ref5) {
+ var attributes = _ref5.attributes;
+ var images = attributes.images,
+ _attributes$columns3 = attributes.columns,
+ columns = _attributes$columns3 === void 0 ? defaultColumnsNumber(attributes) : _attributes$columns3,
+ align = attributes.align,
+ imageCrop = attributes.imageCrop,
+ linkTo = attributes.linkTo;
+ var className = classnames_default()("columns-".concat(columns), {
+ alignnone: align === 'none',
+ 'is-cropped': imageCrop
+ });
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: className
+ }, images.map(function (image) {
+ var href;
+
+ switch (linkTo) {
+ case 'media':
+ href = image.url;
+ break;
+
+ case 'attachment':
+ href = image.link;
+ break;
+ }
+
+ var img = Object(external_this_wp_element_["createElement"])("img", {
+ src: image.url,
+ alt: image.alt,
+ "data-id": image.id
+ });
+ return Object(external_this_wp_element_["createElement"])("figure", {
+ key: image.id || image.url,
+ className: "blocks-gallery-image"
+ }, href ? Object(external_this_wp_element_["createElement"])("a", {
+ href: href
+ }, img) : img);
+ }));
+ }
+}];
+/* harmony default export */ var gallery_deprecated = (gallery_deprecated_deprecated);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/icons.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+var icons_icon = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fill: "none",
+ d: "M0 0h24v24H0V0z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ 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"
+})));
+var leftArrow = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ width: "18",
+ height: "18",
+ viewBox: "0 0 18 18",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M5 8.70002L10.6 14.4L12 12.9L7.8 8.70002L12 4.50002L10.6 3.00002L5 8.70002Z"
+}));
+var rightArrow = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ width: "18",
+ height: "18",
+ viewBox: "0 0 18 18",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M13 8.7L7.4 3L6 4.5L10.2 8.7L6 12.9L7.4 14.4L13 8.7Z"
+}));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/gallery-image.js
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var gallery_image_GalleryImage =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(GalleryImage, _Component);
+
+ function GalleryImage() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, GalleryImage);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(GalleryImage).apply(this, arguments));
+ _this.onSelectImage = _this.onSelectImage.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onSelectCaption = _this.onSelectCaption.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onRemoveImage = _this.onRemoveImage.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.bindContainer = _this.bindContainer.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.state = {
+ captionSelected: false
+ };
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(GalleryImage, [{
+ key: "bindContainer",
+ value: function bindContainer(ref) {
+ this.container = ref;
+ }
+ }, {
+ key: "onSelectCaption",
+ value: function onSelectCaption() {
+ if (!this.state.captionSelected) {
+ this.setState({
+ captionSelected: true
+ });
+ }
+
+ if (!this.props.isSelected) {
+ this.props.onSelect();
+ }
+ }
+ }, {
+ key: "onSelectImage",
+ value: function onSelectImage() {
+ if (!this.props.isSelected) {
+ this.props.onSelect();
+ }
+
+ if (this.state.captionSelected) {
+ this.setState({
+ captionSelected: false
+ });
+ }
+ }
+ }, {
+ key: "onRemoveImage",
+ value: function onRemoveImage(event) {
+ if (this.container === document.activeElement && this.props.isSelected && [external_this_wp_keycodes_["BACKSPACE"], external_this_wp_keycodes_["DELETE"]].indexOf(event.keyCode) !== -1) {
+ event.stopPropagation();
+ event.preventDefault();
+ this.props.onRemove();
+ }
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var _this$props = this.props,
+ isSelected = _this$props.isSelected,
+ image = _this$props.image,
+ url = _this$props.url;
+
+ if (image && !url) {
+ this.props.setAttributes({
+ url: image.source_url,
+ alt: image.alt_text
+ });
+ } // unselect the caption so when the user selects other image and comeback
+ // the caption is not immediately selected
+
+
+ if (this.state.captionSelected && !isSelected && prevProps.isSelected) {
+ this.setState({
+ captionSelected: false
+ });
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props2 = this.props,
+ url = _this$props2.url,
+ alt = _this$props2.alt,
+ id = _this$props2.id,
+ linkTo = _this$props2.linkTo,
+ link = _this$props2.link,
+ isFirstItem = _this$props2.isFirstItem,
+ isLastItem = _this$props2.isLastItem,
+ isSelected = _this$props2.isSelected,
+ caption = _this$props2.caption,
+ onRemove = _this$props2.onRemove,
+ onMoveForward = _this$props2.onMoveForward,
+ onMoveBackward = _this$props2.onMoveBackward,
+ setAttributes = _this$props2.setAttributes,
+ ariaLabel = _this$props2['aria-label'];
+ var href;
+
+ switch (linkTo) {
+ case 'media':
+ href = url;
+ break;
+
+ case 'attachment':
+ href = link;
+ break;
+ }
+
+ var img = // Disable reason: Image itself is not meant to be interactive, but should
+ // direct image selection and unfocus caption fields.
+
+ /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */
+ Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("img", {
+ src: url,
+ alt: alt,
+ "data-id": id,
+ onClick: this.onSelectImage,
+ onFocus: this.onSelectImage,
+ onKeyDown: this.onRemoveImage,
+ tabIndex: "0",
+ "aria-label": ariaLabel,
+ ref: this.bindContainer
+ }), Object(external_this_wp_blob_["isBlobURL"])(url) && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Spinner"], null))
+ /* eslint-enable jsx-a11y/no-noninteractive-element-interactions */
+ ;
+ var className = classnames_default()({
+ 'is-selected': isSelected,
+ 'is-transient': Object(external_this_wp_blob_["isBlobURL"])(url)
+ });
+ return Object(external_this_wp_element_["createElement"])("figure", {
+ className: className
+ }, href ? Object(external_this_wp_element_["createElement"])("a", {
+ href: href
+ }, img) : img, Object(external_this_wp_element_["createElement"])("div", {
+ className: "block-library-gallery-item__move-menu"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], {
+ icon: leftArrow,
+ onClick: isFirstItem ? undefined : onMoveBackward,
+ className: "blocks-gallery-item__move-backward",
+ label: Object(external_this_wp_i18n_["__"])('Move image backward'),
+ "aria-disabled": isFirstItem,
+ disabled: !isSelected
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], {
+ icon: rightArrow,
+ onClick: isLastItem ? undefined : onMoveForward,
+ className: "blocks-gallery-item__move-forward",
+ label: Object(external_this_wp_i18n_["__"])('Move image forward'),
+ "aria-disabled": isLastItem,
+ disabled: !isSelected
+ })), Object(external_this_wp_element_["createElement"])("div", {
+ className: "block-library-gallery-item__inline-menu"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], {
+ icon: "no-alt",
+ onClick: onRemove,
+ className: "blocks-gallery-item__remove",
+ label: Object(external_this_wp_i18n_["__"])('Remove image'),
+ disabled: !isSelected
+ })), (isSelected || caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ tagName: "figcaption",
+ placeholder: isSelected ? Object(external_this_wp_i18n_["__"])('Write caption…') : null,
+ value: caption,
+ isSelected: this.state.captionSelected,
+ onChange: function onChange(newCaption) {
+ return setAttributes({
+ caption: newCaption
+ });
+ },
+ unstableOnFocus: this.onSelectCaption,
+ inlineToolbar: true
+ }));
+ }
+ }]);
+
+ return GalleryImage;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var gallery_image = (Object(external_this_wp_data_["withSelect"])(function (select, ownProps) {
+ var _select = select('core'),
+ getMedia = _select.getMedia;
+
+ var id = ownProps.id;
+ return {
+ image: id ? getMedia(id) : null
+ };
+})(gallery_image_GalleryImage));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/edit.js
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var MAX_COLUMNS = 8;
+var linkOptions = [{
+ value: 'attachment',
+ label: Object(external_this_wp_i18n_["__"])('Attachment Page')
+}, {
+ value: 'media',
+ label: Object(external_this_wp_i18n_["__"])('Media File')
+}, {
+ value: 'none',
+ label: Object(external_this_wp_i18n_["__"])('None')
+}];
+var edit_ALLOWED_MEDIA_TYPES = ['image'];
+
+var edit_GalleryEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(GalleryEdit, _Component);
+
+ function GalleryEdit() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, GalleryEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(GalleryEdit).apply(this, arguments));
+ _this.onSelectImage = _this.onSelectImage.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onSelectImages = _this.onSelectImages.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.setLinkTo = _this.setLinkTo.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.setColumnsNumber = _this.setColumnsNumber.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.toggleImageCrop = _this.toggleImageCrop.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onMove = _this.onMove.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onMoveForward = _this.onMoveForward.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onMoveBackward = _this.onMoveBackward.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onRemoveImage = _this.onRemoveImage.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onUploadError = _this.onUploadError.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.setImageAttributes = _this.setImageAttributes.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.setAttributes = _this.setAttributes.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onFocusGalleryCaption = _this.onFocusGalleryCaption.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.state = {
+ selectedImage: null,
+ attachmentCaptions: null
+ };
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(GalleryEdit, [{
+ key: "setAttributes",
+ value: function setAttributes(attributes) {
+ if (attributes.ids) {
+ throw new Error('The "ids" attribute should not be changed directly. It is managed automatically when "images" attribute changes');
+ }
+
+ if (attributes.images) {
+ attributes = Object(objectSpread["a" /* default */])({}, attributes, {
+ ids: Object(external_lodash_["map"])(attributes.images, 'id')
+ });
+ }
+
+ this.props.setAttributes(attributes);
+ }
+ }, {
+ key: "onSelectImage",
+ value: function onSelectImage(index) {
+ var _this2 = this;
+
+ return function () {
+ if (_this2.state.selectedImage !== index) {
+ _this2.setState({
+ selectedImage: index
+ });
+ }
+ };
+ }
+ }, {
+ key: "onMove",
+ value: function onMove(oldIndex, newIndex) {
+ var images = Object(toConsumableArray["a" /* default */])(this.props.attributes.images);
+
+ images.splice(newIndex, 1, this.props.attributes.images[oldIndex]);
+ images.splice(oldIndex, 1, this.props.attributes.images[newIndex]);
+ this.setState({
+ selectedImage: newIndex
+ });
+ this.setAttributes({
+ images: images
+ });
+ }
+ }, {
+ key: "onMoveForward",
+ value: function onMoveForward(oldIndex) {
+ var _this3 = this;
+
+ return function () {
+ if (oldIndex === _this3.props.attributes.images.length - 1) {
+ return;
+ }
+
+ _this3.onMove(oldIndex, oldIndex + 1);
+ };
+ }
+ }, {
+ key: "onMoveBackward",
+ value: function onMoveBackward(oldIndex) {
+ var _this4 = this;
+
+ return function () {
+ if (oldIndex === 0) {
+ return;
+ }
+
+ _this4.onMove(oldIndex, oldIndex - 1);
+ };
+ }
+ }, {
+ key: "onRemoveImage",
+ value: function onRemoveImage(index) {
+ var _this5 = this;
+
+ return function () {
+ var images = Object(external_lodash_["filter"])(_this5.props.attributes.images, function (img, i) {
+ return index !== i;
+ });
+ var columns = _this5.props.attributes.columns;
+
+ _this5.setState({
+ selectedImage: null
+ });
+
+ _this5.setAttributes({
+ images: images,
+ columns: columns ? Math.min(images.length, columns) : columns
+ });
+ };
+ }
+ }, {
+ key: "selectCaption",
+ value: function selectCaption(newImage, images, attachmentCaptions) {
+ var currentImage = Object(external_lodash_["find"])(images, {
+ id: newImage.id
+ });
+ var currentImageCaption = currentImage ? currentImage.caption : newImage.caption;
+
+ if (!attachmentCaptions) {
+ return currentImageCaption;
+ }
+
+ var attachment = Object(external_lodash_["find"])(attachmentCaptions, {
+ id: newImage.id
+ }); // if the attachment caption is updated
+
+ if (attachment && attachment.caption !== newImage.caption) {
+ return newImage.caption;
+ }
+
+ return currentImageCaption;
+ }
+ }, {
+ key: "onSelectImages",
+ value: function onSelectImages(newImages) {
+ var _this6 = this;
+
+ var _this$props$attribute = this.props.attributes,
+ columns = _this$props$attribute.columns,
+ images = _this$props$attribute.images;
+ var attachmentCaptions = this.state.attachmentCaptions;
+ this.setState({
+ attachmentCaptions: newImages.map(function (newImage) {
+ return {
+ id: newImage.id,
+ caption: newImage.caption
+ };
+ })
+ });
+ this.setAttributes({
+ images: newImages.map(function (newImage) {
+ return Object(objectSpread["a" /* default */])({}, shared_pickRelevantMediaFiles(newImage), {
+ caption: _this6.selectCaption(newImage, images, attachmentCaptions)
+ });
+ }),
+ columns: columns ? Math.min(newImages.length, columns) : columns
+ });
+ }
+ }, {
+ key: "onUploadError",
+ value: function onUploadError(message) {
+ var noticeOperations = this.props.noticeOperations;
+ noticeOperations.removeAllNotices();
+ noticeOperations.createErrorNotice(message);
+ }
+ }, {
+ key: "setLinkTo",
+ value: function setLinkTo(value) {
+ this.setAttributes({
+ linkTo: value
+ });
+ }
+ }, {
+ key: "setColumnsNumber",
+ value: function setColumnsNumber(value) {
+ this.setAttributes({
+ columns: value
+ });
+ }
+ }, {
+ key: "toggleImageCrop",
+ value: function toggleImageCrop() {
+ this.setAttributes({
+ imageCrop: !this.props.attributes.imageCrop
+ });
+ }
+ }, {
+ key: "getImageCropHelp",
+ value: function getImageCropHelp(checked) {
+ return checked ? Object(external_this_wp_i18n_["__"])('Thumbnails are cropped to align.') : Object(external_this_wp_i18n_["__"])('Thumbnails are not cropped.');
+ }
+ }, {
+ key: "onFocusGalleryCaption",
+ value: function onFocusGalleryCaption() {
+ this.setState({
+ selectedImage: null
+ });
+ }
+ }, {
+ key: "setImageAttributes",
+ value: function setImageAttributes(index, attributes) {
+ var images = this.props.attributes.images;
+ var setAttributes = this.setAttributes;
+
+ if (!images[index]) {
+ return;
+ }
+
+ setAttributes({
+ 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)))
+ });
+ }
+ }, {
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var _this$props = this.props,
+ attributes = _this$props.attributes,
+ mediaUpload = _this$props.mediaUpload;
+ var images = attributes.images;
+
+ if (Object(external_lodash_["every"])(images, function (_ref) {
+ var url = _ref.url;
+ return Object(external_this_wp_blob_["isBlobURL"])(url);
+ })) {
+ var filesList = Object(external_lodash_["map"])(images, function (_ref2) {
+ var url = _ref2.url;
+ return Object(external_this_wp_blob_["getBlobByURL"])(url);
+ });
+ Object(external_lodash_["forEach"])(images, function (_ref3) {
+ var url = _ref3.url;
+ return Object(external_this_wp_blob_["revokeBlobURL"])(url);
+ });
+ mediaUpload({
+ filesList: filesList,
+ onFileChange: this.onSelectImages,
+ allowedTypes: ['image']
+ });
+ }
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ // Deselect images when deselecting the block
+ if (!this.props.isSelected && prevProps.isSelected) {
+ this.setState({
+ selectedImage: null,
+ captionSelected: false
+ });
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _classnames,
+ _this7 = this;
+
+ var _this$props2 = this.props,
+ attributes = _this$props2.attributes,
+ className = _this$props2.className,
+ isSelected = _this$props2.isSelected,
+ noticeUI = _this$props2.noticeUI,
+ setAttributes = _this$props2.setAttributes;
+ var align = attributes.align,
+ _attributes$columns = attributes.columns,
+ columns = _attributes$columns === void 0 ? defaultColumnsNumber(attributes) : _attributes$columns,
+ caption = attributes.caption,
+ imageCrop = attributes.imageCrop,
+ images = attributes.images,
+ linkTo = attributes.linkTo;
+ var hasImages = !!images.length;
+ var hasImagesWithId = hasImages && Object(external_lodash_["some"])(images, function (_ref4) {
+ var id = _ref4.id;
+ return id;
+ });
+ var mediaPlaceholder = Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaPlaceholder"], {
+ addToGallery: hasImagesWithId,
+ isAppender: hasImages,
+ className: className,
+ dropZoneUIOnly: hasImages && !isSelected,
+ icon: !hasImages && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockIcon"], {
+ icon: icons_icon
+ }),
+ labels: {
+ title: !hasImages && Object(external_this_wp_i18n_["__"])('Gallery'),
+ instructions: !hasImages && Object(external_this_wp_i18n_["__"])('Drag images, upload new ones or select files from your library.')
+ },
+ onSelect: this.onSelectImages,
+ accept: "image/*",
+ allowedTypes: edit_ALLOWED_MEDIA_TYPES,
+ multiple: true,
+ value: hasImagesWithId ? images : undefined,
+ onError: this.onUploadError,
+ notices: hasImages ? undefined : noticeUI
+ });
+
+ if (!hasImages) {
+ return mediaPlaceholder;
+ }
+
+ var captionClassNames = classnames_default()('blocks-gallery-caption', {
+ 'screen-reader-text': !isSelected && external_this_wp_blockEditor_["RichText"].isEmpty(caption)
+ });
+ 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"], {
+ title: Object(external_this_wp_i18n_["__"])('Gallery Settings')
+ }, images.length > 1 && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["RangeControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Columns'),
+ value: columns,
+ onChange: this.setColumnsNumber,
+ min: 1,
+ max: Math.min(MAX_COLUMNS, images.length),
+ required: true
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Crop Images'),
+ checked: !!imageCrop,
+ onChange: this.toggleImageCrop,
+ help: this.getImageCropHelp
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SelectControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Link To'),
+ value: linkTo,
+ onChange: this.setLinkTo,
+ options: linkOptions
+ }))), noticeUI, Object(external_this_wp_element_["createElement"])("figure", {
+ 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))
+ }, Object(external_this_wp_element_["createElement"])("ul", {
+ className: "blocks-gallery-grid"
+ }, images.map(function (img, index) {
+ /* translators: %1$d is the order number of the image, %2$d is the total number of images. */
+ 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);
+ return Object(external_this_wp_element_["createElement"])("li", {
+ className: "blocks-gallery-item",
+ key: img.id || img.url
+ }, Object(external_this_wp_element_["createElement"])(gallery_image, {
+ url: img.url,
+ alt: img.alt,
+ id: img.id,
+ isFirstItem: index === 0,
+ isLastItem: index + 1 === images.length,
+ isSelected: isSelected && _this7.state.selectedImage === index,
+ onMoveBackward: _this7.onMoveBackward(index),
+ onMoveForward: _this7.onMoveForward(index),
+ onRemove: _this7.onRemoveImage(index),
+ onSelect: _this7.onSelectImage(index),
+ setAttributes: function setAttributes(attrs) {
+ return _this7.setImageAttributes(index, attrs);
+ },
+ caption: img.caption,
+ "aria-label": ariaLabel
+ }));
+ })), mediaPlaceholder, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ tagName: "figcaption",
+ className: captionClassNames,
+ placeholder: Object(external_this_wp_i18n_["__"])('Write gallery caption…'),
+ value: caption,
+ unstableOnFocus: this.onFocusGalleryCaption,
+ onChange: function onChange(value) {
+ return setAttributes({
+ caption: value
+ });
+ },
+ inlineToolbar: true
+ })));
+ }
+ }]);
+
+ return GalleryEdit;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var gallery_edit = (Object(external_this_wp_compose_["compose"])([Object(external_this_wp_data_["withSelect"])(function (select) {
+ var _select = select('core/block-editor'),
+ getSettings = _select.getSettings;
+
+ var _getSettings = getSettings(),
+ __experimentalMediaUpload = _getSettings.__experimentalMediaUpload;
+
+ return {
+ mediaUpload: __experimentalMediaUpload
+ };
+}), external_this_wp_components_["withNotices"]])(edit_GalleryEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/save.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+function gallery_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var images = attributes.images,
+ _attributes$columns = attributes.columns,
+ columns = _attributes$columns === void 0 ? defaultColumnsNumber(attributes) : _attributes$columns,
+ imageCrop = attributes.imageCrop,
+ caption = attributes.caption,
+ linkTo = attributes.linkTo;
+ return Object(external_this_wp_element_["createElement"])("figure", {
+ className: "columns-".concat(columns, " ").concat(imageCrop ? 'is-cropped' : '')
+ }, Object(external_this_wp_element_["createElement"])("ul", {
+ className: "blocks-gallery-grid"
+ }, images.map(function (image) {
+ var href;
+
+ switch (linkTo) {
+ case 'media':
+ href = image.fullUrl || image.url;
+ break;
+
+ case 'attachment':
+ href = image.link;
+ break;
+ }
+
+ var img = Object(external_this_wp_element_["createElement"])("img", {
+ src: image.url,
+ alt: image.alt,
+ "data-id": image.id,
+ "data-full-url": image.fullUrl,
+ "data-link": image.link,
+ className: image.id ? "wp-image-".concat(image.id) : null
+ });
+ return Object(external_this_wp_element_["createElement"])("li", {
+ key: image.id || image.url,
+ className: "blocks-gallery-item"
+ }, Object(external_this_wp_element_["createElement"])("figure", null, href ? Object(external_this_wp_element_["createElement"])("a", {
+ href: href
+ }, img) : img, !external_this_wp_blockEditor_["RichText"].isEmpty(image.caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "figcaption",
+ className: "blocks-gallery-item__caption",
+ value: image.caption
+ })));
+ })), !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "figcaption",
+ className: "blocks-gallery-caption",
+ value: caption
+ }));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/transforms.js
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var parseShortcodeIds = function parseShortcodeIds(ids) {
+ if (!ids) {
+ return [];
+ }
+
+ return ids.split(',').map(function (id) {
+ return parseInt(id, 10);
+ });
+};
+
+var gallery_transforms_transforms = {
+ from: [{
+ type: 'block',
+ isMultiBlock: true,
+ blocks: ['core/image'],
+ transform: function transform(attributes) {
+ // Init the align attribute from the first item which may be either the placeholder or an image.
+ var align = attributes[0].align; // Loop through all the images and check if they have the same align.
+
+ align = Object(external_lodash_["every"])(attributes, ['align', align]) ? align : undefined;
+ var validImages = Object(external_lodash_["filter"])(attributes, function (_ref) {
+ var url = _ref.url;
+ return url;
+ });
+ return Object(external_this_wp_blocks_["createBlock"])('core/gallery', {
+ images: validImages.map(function (_ref2) {
+ var id = _ref2.id,
+ url = _ref2.url,
+ alt = _ref2.alt,
+ caption = _ref2.caption;
+ return {
+ id: id,
+ url: url,
+ alt: alt,
+ caption: caption
+ };
+ }),
+ ids: validImages.map(function (_ref3) {
+ var id = _ref3.id;
+ return id;
+ }),
+ align: align
+ });
+ }
+ }, {
+ type: 'shortcode',
+ tag: 'gallery',
+ attributes: {
+ images: {
+ type: 'array',
+ shortcode: function shortcode(_ref4) {
+ var ids = _ref4.named.ids;
+ return parseShortcodeIds(ids).map(function (id) {
+ return {
+ id: id
+ };
+ });
+ }
+ },
+ ids: {
+ type: 'array',
+ shortcode: function shortcode(_ref5) {
+ var ids = _ref5.named.ids;
+ return parseShortcodeIds(ids);
+ }
+ },
+ columns: {
+ type: 'number',
+ shortcode: function shortcode(_ref6) {
+ var _ref6$named$columns = _ref6.named.columns,
+ columns = _ref6$named$columns === void 0 ? '3' : _ref6$named$columns;
+ return parseInt(columns, 10);
+ }
+ },
+ linkTo: {
+ type: 'string',
+ shortcode: function shortcode(_ref7) {
+ var _ref7$named$link = _ref7.named.link,
+ link = _ref7$named$link === void 0 ? 'attachment' : _ref7$named$link;
+ return link === 'file' ? 'media' : link;
+ }
+ }
+ }
+ }, {
+ // When created by drag and dropping multiple files on an insertion point
+ type: 'files',
+ isMatch: function isMatch(files) {
+ return files.length !== 1 && Object(external_lodash_["every"])(files, function (file) {
+ return file.type.indexOf('image/') === 0;
+ });
+ },
+ transform: function transform(files) {
+ var block = Object(external_this_wp_blocks_["createBlock"])('core/gallery', {
+ images: files.map(function (file) {
+ return shared_pickRelevantMediaFiles({
+ url: Object(external_this_wp_blob_["createBlobURL"])(file)
+ });
+ })
+ });
+ return block;
+ }
+ }],
+ to: [{
+ type: 'block',
+ blocks: ['core/image'],
+ transform: function transform(_ref8) {
+ var images = _ref8.images,
+ align = _ref8.align;
+
+ if (images.length > 0) {
+ return images.map(function (_ref9) {
+ var id = _ref9.id,
+ url = _ref9.url,
+ alt = _ref9.alt,
+ caption = _ref9.caption;
+ return Object(external_this_wp_blocks_["createBlock"])('core/image', {
+ id: id,
+ url: url,
+ alt: alt,
+ caption: caption,
+ align: align
+ });
+ });
+ }
+
+ return Object(external_this_wp_blocks_["createBlock"])('core/image', {
+ align: align
+ });
+ }
+ }]
+};
+/* harmony default export */ var gallery_transforms = (gallery_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var gallery_metadata = {
+ name: "core/gallery",
+ category: "common",
+ attributes: {
+ images: {
+ type: "array",
+ "default": [],
+ source: "query",
+ selector: ".blocks-gallery-item",
+ query: {
+ url: {
+ source: "attribute",
+ selector: "img",
+ attribute: "src"
+ },
+ fullUrl: {
+ source: "attribute",
+ selector: "img",
+ attribute: "data-full-url"
+ },
+ link: {
+ source: "attribute",
+ selector: "img",
+ attribute: "data-link"
+ },
+ alt: {
+ source: "attribute",
+ selector: "img",
+ attribute: "alt",
+ "default": ""
+ },
+ id: {
+ source: "attribute",
+ selector: "img",
+ attribute: "data-id"
+ },
+ caption: {
+ type: "string",
+ source: "html",
+ selector: ".blocks-gallery-item__caption"
+ }
+ }
+ },
+ ids: {
+ type: "array",
+ "default": []
+ },
+ columns: {
+ type: "number"
+ },
+ caption: {
+ type: "string",
+ source: "html",
+ selector: ".blocks-gallery-caption"
+ },
+ imageCrop: {
+ type: "boolean",
+ "default": true
+ },
+ linkTo: {
+ type: "string",
+ "default": "none"
+ }
+ }
+};
+
+
+var gallery_name = gallery_metadata.name;
+
+var gallery_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Gallery'),
+ description: Object(external_this_wp_i18n_["__"])('Display multiple images in a rich gallery.'),
+ icon: icons_icon,
+ keywords: [Object(external_this_wp_i18n_["__"])('images'), Object(external_this_wp_i18n_["__"])('photos')],
+ example: {
+ attributes: {
+ columns: 2,
+ images: [{
+ url: 'https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg'
+ }, {
+ url: 'https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg'
+ }]
+ }
+ },
+ supports: {
+ align: true
+ },
+ transforms: gallery_transforms,
+ edit: gallery_edit,
+ save: gallery_save_save,
+ deprecated: gallery_deprecated
+};
+
+// EXTERNAL MODULE: external {"this":["wp","serverSideRender"]}
+var external_this_wp_serverSideRender_ = __webpack_require__(58);
+var external_this_wp_serverSideRender_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_serverSideRender_);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/edit.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+function ArchivesEdit(_ref) {
+ var attributes = _ref.attributes,
+ setAttributes = _ref.setAttributes;
+ var showPostCounts = attributes.showPostCounts,
+ displayAsDropdown = attributes.displayAsDropdown;
+ 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"], {
+ title: Object(external_this_wp_i18n_["__"])('Archives Settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Display as Dropdown'),
+ checked: displayAsDropdown,
+ onChange: function onChange() {
+ return setAttributes({
+ displayAsDropdown: !displayAsDropdown
+ });
+ }
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Show Post Counts'),
+ checked: showPostCounts,
+ onChange: function onChange() {
+ return setAttributes({
+ showPostCounts: !showPostCounts
+ });
+ }
+ }))), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Disabled"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_serverSideRender_default.a, {
+ block: "core/archives",
+ attributes: attributes
+ })));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var archives_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ 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"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var archives_name = 'core/archives';
+var archives_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Archives'),
+ description: Object(external_this_wp_i18n_["__"])('Display a monthly archive of your posts.'),
+ icon: archives_icon,
+ category: 'widgets',
+ supports: {
+ align: true,
+ html: false
+ },
+ edit: ArchivesEdit
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var audio_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M0,0h24v24H0V0z",
+ fill: "none"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ 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"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/edit.js
+
+
+
+
+
+
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var audio_edit_ALLOWED_MEDIA_TYPES = ['audio'];
+
+var edit_AudioEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(AudioEdit, _Component);
+
+ function AudioEdit() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, AudioEdit);
+
+ _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
+ // without setting the actual value outside of the edit UI
+
+ _this.state = {
+ editing: !_this.props.attributes.src
+ };
+ _this.toggleAttribute = _this.toggleAttribute.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onSelectURL = _this.onSelectURL.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onUploadError = _this.onUploadError.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(AudioEdit, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var _this2 = this;
+
+ var _this$props = this.props,
+ attributes = _this$props.attributes,
+ mediaUpload = _this$props.mediaUpload,
+ noticeOperations = _this$props.noticeOperations,
+ setAttributes = _this$props.setAttributes;
+ var id = attributes.id,
+ _attributes$src = attributes.src,
+ src = _attributes$src === void 0 ? '' : _attributes$src;
+
+ if (!id && Object(external_this_wp_blob_["isBlobURL"])(src)) {
+ var file = Object(external_this_wp_blob_["getBlobByURL"])(src);
+
+ if (file) {
+ mediaUpload({
+ filesList: [file],
+ onFileChange: function onFileChange(_ref) {
+ var _ref2 = Object(slicedToArray["a" /* default */])(_ref, 1),
+ _ref2$ = _ref2[0],
+ mediaId = _ref2$.id,
+ url = _ref2$.url;
+
+ setAttributes({
+ id: mediaId,
+ src: url
+ });
+ },
+ onError: function onError(e) {
+ setAttributes({
+ src: undefined,
+ id: undefined
+ });
+
+ _this2.setState({
+ editing: true
+ });
+
+ noticeOperations.createErrorNotice(e);
+ },
+ allowedTypes: audio_edit_ALLOWED_MEDIA_TYPES
+ });
+ }
+ }
+ }
+ }, {
+ key: "toggleAttribute",
+ value: function toggleAttribute(attribute) {
+ var _this3 = this;
+
+ return function (newValue) {
+ _this3.props.setAttributes(Object(defineProperty["a" /* default */])({}, attribute, newValue));
+ };
+ }
+ }, {
+ key: "onSelectURL",
+ value: function onSelectURL(newSrc) {
+ var _this$props2 = this.props,
+ attributes = _this$props2.attributes,
+ setAttributes = _this$props2.setAttributes;
+ var src = attributes.src; // Set the block's src from the edit component's state, and switch off
+ // the editing UI.
+
+ if (newSrc !== src) {
+ // Check if there's an embed block that handles this URL.
+ var embedBlock = util_createUpgradedEmbedBlock({
+ attributes: {
+ url: newSrc
+ }
+ });
+
+ if (undefined !== embedBlock) {
+ this.props.onReplace(embedBlock);
+ return;
+ }
+
+ setAttributes({
+ src: newSrc,
+ id: undefined
+ });
+ }
+
+ this.setState({
+ editing: false
+ });
+ }
+ }, {
+ key: "onUploadError",
+ value: function onUploadError(message) {
+ var noticeOperations = this.props.noticeOperations;
+ noticeOperations.removeAllNotices();
+ noticeOperations.createErrorNotice(message);
+ }
+ }, {
+ key: "getAutoplayHelp",
+ value: function getAutoplayHelp(checked) {
+ return checked ? Object(external_this_wp_i18n_["__"])('Note: Autoplaying audio may cause usability issues for some visitors.') : null;
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this4 = this;
+
+ var _this$props$attribute = this.props.attributes,
+ autoplay = _this$props$attribute.autoplay,
+ caption = _this$props$attribute.caption,
+ loop = _this$props$attribute.loop,
+ preload = _this$props$attribute.preload,
+ src = _this$props$attribute.src;
+ var _this$props3 = this.props,
+ setAttributes = _this$props3.setAttributes,
+ isSelected = _this$props3.isSelected,
+ className = _this$props3.className,
+ noticeUI = _this$props3.noticeUI;
+ var editing = this.state.editing;
+
+ var switchToEditing = function switchToEditing() {
+ _this4.setState({
+ editing: true
+ });
+ };
+
+ var onSelectAudio = function onSelectAudio(media) {
+ if (!media || !media.url) {
+ // in this case there was an error and we should continue in the editing state
+ // previous attributes should be removed because they may be temporary blob urls
+ setAttributes({
+ src: undefined,
+ id: undefined
+ });
+ switchToEditing();
+ return;
+ } // sets the block's attribute and updates the edit component from the
+ // selected media, then switches off the editing UI
+
+
+ setAttributes({
+ src: media.url,
+ id: media.id
+ });
+
+ _this4.setState({
+ src: media.url,
+ editing: false
+ });
+ };
+
+ if (editing) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaPlaceholder"], {
+ icon: Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockIcon"], {
+ icon: audio_icon
+ }),
+ className: className,
+ onSelect: onSelectAudio,
+ onSelectURL: this.onSelectURL,
+ accept: "audio/*",
+ allowedTypes: audio_edit_ALLOWED_MEDIA_TYPES,
+ value: this.props.attributes,
+ notices: noticeUI,
+ onError: this.onUploadError
+ });
+ }
+
+ 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_["Toolbar"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], {
+ className: "components-icon-button components-toolbar__control",
+ label: Object(external_this_wp_i18n_["__"])('Edit audio'),
+ onClick: switchToEditing,
+ icon: "edit"
+ }))), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Audio Settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Autoplay'),
+ onChange: this.toggleAttribute('autoplay'),
+ checked: autoplay,
+ help: this.getAutoplayHelp
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Loop'),
+ onChange: this.toggleAttribute('loop'),
+ checked: loop
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SelectControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Preload'),
+ value: undefined !== preload ? preload : 'none' // `undefined` is required for the preload attribute to be unset.
+ ,
+ onChange: function onChange(value) {
+ return setAttributes({
+ preload: 'none' !== value ? value : undefined
+ });
+ },
+ options: [{
+ value: 'auto',
+ label: Object(external_this_wp_i18n_["__"])('Auto')
+ }, {
+ value: 'metadata',
+ label: Object(external_this_wp_i18n_["__"])('Metadata')
+ }, {
+ value: 'none',
+ label: Object(external_this_wp_i18n_["__"])('None')
+ }]
+ }))), Object(external_this_wp_element_["createElement"])("figure", {
+ className: className
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Disabled"], null, Object(external_this_wp_element_["createElement"])("audio", {
+ controls: "controls",
+ src: src
+ })), (!external_this_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ tagName: "figcaption",
+ placeholder: Object(external_this_wp_i18n_["__"])('Write caption…'),
+ value: caption,
+ onChange: function onChange(value) {
+ return setAttributes({
+ caption: value
+ });
+ },
+ inlineToolbar: true
+ })));
+ }
+ }]);
+
+ return AudioEdit;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var audio_edit = (Object(external_this_wp_compose_["compose"])([Object(external_this_wp_data_["withSelect"])(function (select) {
+ var _select = select('core/block-editor'),
+ getSettings = _select.getSettings;
+
+ var _getSettings = getSettings(),
+ __experimentalMediaUpload = _getSettings.__experimentalMediaUpload;
+
+ return {
+ mediaUpload: __experimentalMediaUpload
+ };
+}), external_this_wp_components_["withNotices"]])(edit_AudioEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/save.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+function audio_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var autoplay = attributes.autoplay,
+ caption = attributes.caption,
+ loop = attributes.loop,
+ preload = attributes.preload,
+ src = attributes.src;
+ return Object(external_this_wp_element_["createElement"])("figure", null, Object(external_this_wp_element_["createElement"])("audio", {
+ controls: "controls",
+ src: src,
+ autoPlay: autoplay,
+ loop: loop,
+ preload: preload
+ }), !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "figcaption",
+ value: caption
+ }));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/transforms.js
+/**
+ * WordPress dependencies
+ */
+
+
+var audio_transforms_transforms = {
+ from: [{
+ type: 'files',
+ isMatch: function isMatch(files) {
+ return files.length === 1 && files[0].type.indexOf('audio/') === 0;
+ },
+ transform: function transform(files) {
+ var file = files[0]; // We don't need to upload the media directly here
+ // It's already done as part of the `componentDidMount`
+ // in the audio block
+
+ var block = Object(external_this_wp_blocks_["createBlock"])('core/audio', {
+ src: Object(external_this_wp_blob_["createBlobURL"])(file)
+ });
+ return block;
+ }
+ }, {
+ type: 'shortcode',
+ tag: 'audio',
+ attributes: {
+ src: {
+ type: 'string',
+ shortcode: function shortcode(_ref) {
+ var src = _ref.named.src;
+ return src;
+ }
+ },
+ loop: {
+ type: 'string',
+ shortcode: function shortcode(_ref2) {
+ var loop = _ref2.named.loop;
+ return loop;
+ }
+ },
+ autoplay: {
+ type: 'string',
+ shortcode: function shortcode(_ref3) {
+ var autoplay = _ref3.named.autoplay;
+ return autoplay;
+ }
+ },
+ preload: {
+ type: 'string',
+ shortcode: function shortcode(_ref4) {
+ var preload = _ref4.named.preload;
+ return preload;
+ }
+ }
+ }
+ }]
+};
+/* harmony default export */ var audio_transforms = (audio_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var audio_metadata = {
+ name: "core/audio",
+ category: "common",
+ attributes: {
+ src: {
+ type: "string",
+ source: "attribute",
+ selector: "audio",
+ attribute: "src"
+ },
+ caption: {
+ type: "string",
+ source: "html",
+ selector: "figcaption"
+ },
+ id: {
+ type: "number"
+ },
+ autoplay: {
+ type: "boolean",
+ source: "attribute",
+ selector: "audio",
+ attribute: "autoplay"
+ },
+ loop: {
+ type: "boolean",
+ source: "attribute",
+ selector: "audio",
+ attribute: "loop"
+ },
+ preload: {
+ type: "string",
+ source: "attribute",
+ selector: "audio",
+ attribute: "preload"
+ }
+ }
+};
+
+
+var audio_name = audio_metadata.name;
+
+var audio_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Audio'),
+ description: Object(external_this_wp_i18n_["__"])('Embed a simple audio player.'),
+ icon: audio_icon,
+ transforms: audio_transforms,
+ supports: {
+ align: true
+ },
+ edit: audio_edit,
+ save: audio_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/deprecated.js
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+var deprecated_colorsMigration = function colorsMigration(attributes) {
+ return Object(external_lodash_["omit"])(Object(objectSpread["a" /* default */])({}, attributes, {
+ customTextColor: attributes.textColor && '#' === attributes.textColor[0] ? attributes.textColor : undefined,
+ customBackgroundColor: attributes.color && '#' === attributes.color[0] ? attributes.color : undefined
+ }), ['color', 'textColor']);
+};
+
+var button_deprecated_blockAttributes = {
+ url: {
+ type: 'string',
+ source: 'attribute',
+ selector: 'a',
+ attribute: 'href'
+ },
+ title: {
+ type: 'string',
+ source: 'attribute',
+ selector: 'a',
+ attribute: 'title'
+ },
+ text: {
+ type: 'string',
+ source: 'html',
+ selector: 'a'
+ }
+};
+var button_deprecated_deprecated = [{
+ attributes: Object(objectSpread["a" /* default */])({}, button_deprecated_blockAttributes, {
+ align: {
+ type: 'string',
+ default: 'none'
+ },
+ backgroundColor: {
+ type: 'string'
+ },
+ textColor: {
+ type: 'string'
+ },
+ customBackgroundColor: {
+ type: 'string'
+ },
+ customTextColor: {
+ type: 'string'
+ },
+ linkTarget: {
+ type: 'string',
+ source: 'attribute',
+ selector: 'a',
+ attribute: 'target'
+ },
+ rel: {
+ type: 'string',
+ source: 'attribute',
+ selector: 'a',
+ attribute: 'rel'
+ },
+ placeholder: {
+ type: 'string'
+ }
+ }),
+ isEligible: function isEligible(attribute) {
+ return attribute.className && attribute.className.includes('is-style-squared');
+ },
+ migrate: function migrate(attributes) {
+ var newClassName = attributes.className;
+
+ if (newClassName) {
+ newClassName = newClassName.replace(/is-style-squared[\s]?/, '').trim();
+ }
+
+ return Object(objectSpread["a" /* default */])({}, attributes, {
+ className: newClassName ? newClassName : undefined,
+ borderRadius: 0
+ });
+ },
+ save: function save(_ref) {
+ var _classnames;
+
+ var attributes = _ref.attributes;
+ var backgroundColor = attributes.backgroundColor,
+ customBackgroundColor = attributes.customBackgroundColor,
+ customTextColor = attributes.customTextColor,
+ linkTarget = attributes.linkTarget,
+ rel = attributes.rel,
+ text = attributes.text,
+ textColor = attributes.textColor,
+ title = attributes.title,
+ url = attributes.url;
+ var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
+ var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
+ var buttonClasses = classnames_default()('wp-block-button__link', (_classnames = {
+ 'has-text-color': textColor || customTextColor
+ }, Object(defineProperty["a" /* default */])(_classnames, textClass, textClass), Object(defineProperty["a" /* default */])(_classnames, 'has-background', backgroundColor || customBackgroundColor), Object(defineProperty["a" /* default */])(_classnames, backgroundClass, backgroundClass), _classnames));
+ var buttonStyle = {
+ backgroundColor: backgroundClass ? undefined : customBackgroundColor,
+ color: textClass ? undefined : customTextColor
+ };
+ return Object(external_this_wp_element_["createElement"])("div", null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "a",
+ className: buttonClasses,
+ href: url,
+ title: title,
+ style: buttonStyle,
+ value: text,
+ target: linkTarget,
+ rel: rel
+ }));
+ }
+}, {
+ attributes: Object(objectSpread["a" /* default */])({}, button_deprecated_blockAttributes, {
+ align: {
+ type: 'string',
+ default: 'none'
+ },
+ backgroundColor: {
+ type: 'string'
+ },
+ textColor: {
+ type: 'string'
+ },
+ customBackgroundColor: {
+ type: 'string'
+ },
+ customTextColor: {
+ type: 'string'
+ }
+ }),
+ save: function save(_ref2) {
+ var _classnames2;
+
+ var attributes = _ref2.attributes;
+ var url = attributes.url,
+ text = attributes.text,
+ title = attributes.title,
+ backgroundColor = attributes.backgroundColor,
+ textColor = attributes.textColor,
+ customBackgroundColor = attributes.customBackgroundColor,
+ customTextColor = attributes.customTextColor;
+ var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
+ var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
+ var buttonClasses = classnames_default()('wp-block-button__link', (_classnames2 = {
+ 'has-text-color': textColor || customTextColor
+ }, Object(defineProperty["a" /* default */])(_classnames2, textClass, textClass), Object(defineProperty["a" /* default */])(_classnames2, 'has-background', backgroundColor || customBackgroundColor), Object(defineProperty["a" /* default */])(_classnames2, backgroundClass, backgroundClass), _classnames2));
+ var buttonStyle = {
+ backgroundColor: backgroundClass ? undefined : customBackgroundColor,
+ color: textClass ? undefined : customTextColor
+ };
+ return Object(external_this_wp_element_["createElement"])("div", null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "a",
+ className: buttonClasses,
+ href: url,
+ title: title,
+ style: buttonStyle,
+ value: text
+ }));
+ },
+ migrate: deprecated_colorsMigration
+}, {
+ attributes: Object(objectSpread["a" /* default */])({}, button_deprecated_blockAttributes, {
+ color: {
+ type: 'string'
+ },
+ textColor: {
+ type: 'string'
+ },
+ align: {
+ type: 'string',
+ default: 'none'
+ }
+ }),
+ save: function save(_ref3) {
+ var attributes = _ref3.attributes;
+ var url = attributes.url,
+ text = attributes.text,
+ title = attributes.title,
+ align = attributes.align,
+ color = attributes.color,
+ textColor = attributes.textColor;
+ var buttonStyle = {
+ backgroundColor: color,
+ color: textColor
+ };
+ var linkClass = 'wp-block-button__link';
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "align".concat(align)
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "a",
+ className: linkClass,
+ href: url,
+ title: title,
+ style: buttonStyle,
+ value: text
+ }));
+ },
+ migrate: deprecated_colorsMigration
+}, {
+ attributes: Object(objectSpread["a" /* default */])({}, button_deprecated_blockAttributes, {
+ color: {
+ type: 'string'
+ },
+ textColor: {
+ type: 'string'
+ },
+ align: {
+ type: 'string',
+ default: 'none'
+ }
+ }),
+ save: function save(_ref4) {
+ var attributes = _ref4.attributes;
+ var url = attributes.url,
+ text = attributes.text,
+ title = attributes.title,
+ align = attributes.align,
+ color = attributes.color,
+ textColor = attributes.textColor;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "align".concat(align),
+ style: {
+ backgroundColor: color
+ }
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "a",
+ href: url,
+ title: title,
+ style: {
+ color: textColor
+ },
+ value: text
+ }));
+ },
+ migrate: deprecated_colorsMigration
+}];
+/* harmony default export */ var button_deprecated = (button_deprecated_deprecated);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/edit.js
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+var edit_window = window,
+ edit_getComputedStyle = edit_window.getComputedStyle;
+var edit_applyFallbackStyles = Object(external_this_wp_components_["withFallbackStyles"])(function (node, ownProps) {
+ var textColor = ownProps.textColor,
+ backgroundColor = ownProps.backgroundColor;
+ var backgroundColorValue = backgroundColor && backgroundColor.color;
+ var textColorValue = textColor && textColor.color; //avoid the use of querySelector if textColor color is known and verify if node is available.
+
+ var textNode = !textColorValue && node ? node.querySelector('[contenteditable="true"]') : null;
+ return {
+ fallbackBackgroundColor: backgroundColorValue || !node ? undefined : edit_getComputedStyle(node).backgroundColor,
+ fallbackTextColor: textColorValue || !textNode ? undefined : edit_getComputedStyle(textNode).color
+ };
+});
+var edit_NEW_TAB_REL = 'noreferrer noopener';
+var MIN_BORDER_RADIUS_VALUE = 0;
+var MAX_BORDER_RADIUS_VALUE = 50;
+var INITIAL_BORDER_RADIUS_POSITION = 5;
+
+function BorderPanel(_ref) {
+ var _ref$borderRadius = _ref.borderRadius,
+ borderRadius = _ref$borderRadius === void 0 ? '' : _ref$borderRadius,
+ setAttributes = _ref.setAttributes;
+ var setBorderRadius = Object(external_this_wp_element_["useCallback"])(function (newBorderRadius) {
+ setAttributes({
+ borderRadius: newBorderRadius
+ });
+ }, [setAttributes]);
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Border Settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["RangeControl"], {
+ value: borderRadius,
+ label: Object(external_this_wp_i18n_["__"])('Border Radius'),
+ min: MIN_BORDER_RADIUS_VALUE,
+ max: MAX_BORDER_RADIUS_VALUE,
+ initialPosition: INITIAL_BORDER_RADIUS_POSITION,
+ allowReset: true,
+ onChange: setBorderRadius
+ }));
+}
+
+var edit_ButtonEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(ButtonEdit, _Component);
+
+ function ButtonEdit() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, ButtonEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(ButtonEdit).apply(this, arguments));
+ _this.nodeRef = null;
+ _this.bindRef = _this.bindRef.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onSetLinkRel = _this.onSetLinkRel.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onToggleOpenInNewTab = _this.onToggleOpenInNewTab.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(ButtonEdit, [{
+ key: "bindRef",
+ value: function bindRef(node) {
+ if (!node) {
+ return;
+ }
+
+ this.nodeRef = node;
+ }
+ }, {
+ key: "onSetLinkRel",
+ value: function onSetLinkRel(value) {
+ this.props.setAttributes({
+ rel: value
+ });
+ }
+ }, {
+ key: "onToggleOpenInNewTab",
+ value: function onToggleOpenInNewTab(value) {
+ var rel = this.props.attributes.rel;
+ var linkTarget = value ? '_blank' : undefined;
+ var updatedRel = rel;
+
+ if (linkTarget && !rel) {
+ updatedRel = edit_NEW_TAB_REL;
+ } else if (!linkTarget && rel === edit_NEW_TAB_REL) {
+ updatedRel = undefined;
+ }
+
+ this.props.setAttributes({
+ linkTarget: linkTarget,
+ rel: updatedRel
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _classnames;
+
+ var _this$props = this.props,
+ attributes = _this$props.attributes,
+ backgroundColor = _this$props.backgroundColor,
+ textColor = _this$props.textColor,
+ setBackgroundColor = _this$props.setBackgroundColor,
+ setTextColor = _this$props.setTextColor,
+ fallbackBackgroundColor = _this$props.fallbackBackgroundColor,
+ fallbackTextColor = _this$props.fallbackTextColor,
+ setAttributes = _this$props.setAttributes,
+ className = _this$props.className,
+ instanceId = _this$props.instanceId,
+ isSelected = _this$props.isSelected;
+ var borderRadius = attributes.borderRadius,
+ linkTarget = attributes.linkTarget,
+ placeholder = attributes.placeholder,
+ rel = attributes.rel,
+ text = attributes.text,
+ title = attributes.title,
+ url = attributes.url;
+ var linkId = "wp-block-button__inline-link-".concat(instanceId);
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: className,
+ title: title,
+ ref: this.bindRef
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ placeholder: placeholder || Object(external_this_wp_i18n_["__"])('Add text…'),
+ value: text,
+ onChange: function onChange(value) {
+ return setAttributes({
+ text: value
+ });
+ },
+ withoutInteractiveFormatting: true,
+ className: classnames_default()('wp-block-button__link', (_classnames = {
+ 'has-background': backgroundColor.color
+ }, Object(defineProperty["a" /* default */])(_classnames, backgroundColor.class, backgroundColor.class), Object(defineProperty["a" /* default */])(_classnames, 'has-text-color', textColor.color), Object(defineProperty["a" /* default */])(_classnames, textColor.class, textColor.class), Object(defineProperty["a" /* default */])(_classnames, 'no-border-radius', borderRadius === 0), _classnames)),
+ style: {
+ backgroundColor: backgroundColor.color,
+ color: textColor.color,
+ borderRadius: borderRadius ? borderRadius + 'px' : undefined
+ }
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["BaseControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Link'),
+ className: "wp-block-button__inline-link",
+ id: linkId
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["URLInput"], {
+ className: "wp-block-button__inline-link-input",
+ value: url
+ /* eslint-disable jsx-a11y/no-autofocus */
+ // Disable Reason: The rule is meant to prevent enabling auto-focus, not disabling it.
+ ,
+ autoFocus: false
+ /* eslint-enable jsx-a11y/no-autofocus */
+ ,
+ onChange: function onChange(value) {
+ return setAttributes({
+ url: value
+ });
+ },
+ disableSuggestions: !isSelected,
+ id: linkId,
+ isFullWidth: true,
+ hasBorder: true
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["PanelColorSettings"], {
+ title: Object(external_this_wp_i18n_["__"])('Color Settings'),
+ colorSettings: [{
+ value: backgroundColor.color,
+ onChange: setBackgroundColor,
+ label: Object(external_this_wp_i18n_["__"])('Background Color')
+ }, {
+ value: textColor.color,
+ onChange: setTextColor,
+ label: Object(external_this_wp_i18n_["__"])('Text Color')
+ }]
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["ContrastChecker"], {
+ // Text is considered large if font size is greater or equal to 18pt or 24px,
+ // currently that's not the case for button.
+ isLargeText: false,
+ textColor: textColor.color,
+ backgroundColor: backgroundColor.color,
+ fallbackBackgroundColor: fallbackBackgroundColor,
+ fallbackTextColor: fallbackTextColor
+ })), Object(external_this_wp_element_["createElement"])(BorderPanel, {
+ borderRadius: borderRadius,
+ setAttributes: setAttributes
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Link settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Open in new tab'),
+ onChange: this.onToggleOpenInNewTab,
+ checked: linkTarget === '_blank'
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Link rel'),
+ value: rel || '',
+ onChange: this.onSetLinkRel
+ }))));
+ }
+ }]);
+
+ return ButtonEdit;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var button_edit = (Object(external_this_wp_compose_["compose"])([external_this_wp_compose_["withInstanceId"], Object(external_this_wp_blockEditor_["withColors"])('backgroundColor', {
+ textColor: 'color'
+}), edit_applyFallbackStyles])(edit_ButtonEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var button_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fill: "none",
+ d: "M0 0h24v24H0V0z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M19 6H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 10H5V8h14v8z"
+}))));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/save.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+function button_save_save(_ref) {
+ var _classnames;
+
+ var attributes = _ref.attributes;
+ var backgroundColor = attributes.backgroundColor,
+ borderRadius = attributes.borderRadius,
+ customBackgroundColor = attributes.customBackgroundColor,
+ customTextColor = attributes.customTextColor,
+ linkTarget = attributes.linkTarget,
+ rel = attributes.rel,
+ text = attributes.text,
+ textColor = attributes.textColor,
+ title = attributes.title,
+ url = attributes.url;
+ var textClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
+ var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
+ var buttonClasses = classnames_default()('wp-block-button__link', (_classnames = {
+ 'has-text-color': textColor || customTextColor
+ }, Object(defineProperty["a" /* default */])(_classnames, textClass, textClass), Object(defineProperty["a" /* default */])(_classnames, 'has-background', backgroundColor || customBackgroundColor), Object(defineProperty["a" /* default */])(_classnames, backgroundClass, backgroundClass), Object(defineProperty["a" /* default */])(_classnames, 'no-border-radius', borderRadius === 0), _classnames));
+ var buttonStyle = {
+ backgroundColor: backgroundClass ? undefined : customBackgroundColor,
+ color: textClass ? undefined : customTextColor,
+ borderRadius: borderRadius ? borderRadius + 'px' : undefined
+ };
+ return Object(external_this_wp_element_["createElement"])("div", null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "a",
+ className: buttonClasses,
+ href: url,
+ title: title,
+ style: buttonStyle,
+ value: text,
+ target: linkTarget,
+ rel: rel
+ }));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var button_metadata = {
+ name: "core/button",
+ category: "layout",
+ attributes: {
+ url: {
+ type: "string",
+ source: "attribute",
+ selector: "a",
+ attribute: "href"
+ },
+ title: {
+ type: "string",
+ source: "attribute",
+ selector: "a",
+ attribute: "title"
+ },
+ text: {
+ type: "string",
+ source: "html",
+ selector: "a"
+ },
+ backgroundColor: {
+ type: "string"
+ },
+ textColor: {
+ type: "string"
+ },
+ customBackgroundColor: {
+ type: "string"
+ },
+ customTextColor: {
+ type: "string"
+ },
+ linkTarget: {
+ type: "string",
+ source: "attribute",
+ selector: "a",
+ attribute: "target"
+ },
+ rel: {
+ type: "string",
+ source: "attribute",
+ selector: "a",
+ attribute: "rel"
+ },
+ placeholder: {
+ type: "string"
+ },
+ borderRadius: {
+ type: "number"
+ }
+ }
+};
+
+var button_name = button_metadata.name;
+
+var button_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Button'),
+ description: Object(external_this_wp_i18n_["__"])('Prompt visitors to take action with a button-style link.'),
+ icon: button_icon,
+ keywords: [Object(external_this_wp_i18n_["__"])('link')],
+ example: {
+ attributes: {
+ className: 'is-style-fill',
+ backgroundColor: 'vivid-green-cyan',
+ text: Object(external_this_wp_i18n_["__"])('Call to Action')
+ }
+ },
+ supports: {
+ align: true,
+ alignWide: false
+ },
+ styles: [{
+ name: 'fill',
+ label: Object(external_this_wp_i18n_["__"])('Fill'),
+ isDefault: true
+ }, {
+ name: 'outline',
+ label: Object(external_this_wp_i18n_["__"])('Outline')
+ }],
+ edit: button_edit,
+ save: button_save_save,
+ deprecated: button_deprecated
+};
+
+// EXTERNAL MODULE: external "moment"
+var external_moment_ = __webpack_require__(29);
+var external_moment_default = /*#__PURE__*/__webpack_require__.n(external_moment_);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/edit.js
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+var edit_CalendarEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(CalendarEdit, _Component);
+
+ function CalendarEdit() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, CalendarEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(CalendarEdit).apply(this, arguments));
+ _this.getYearMonth = memize_default()(_this.getYearMonth.bind(Object(assertThisInitialized["a" /* default */])(_this)), {
+ maxSize: 1
+ });
+ _this.getServerSideAttributes = memize_default()(_this.getServerSideAttributes.bind(Object(assertThisInitialized["a" /* default */])(_this)), {
+ maxSize: 1
+ });
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(CalendarEdit, [{
+ key: "getYearMonth",
+ value: function getYearMonth(date) {
+ if (!date) {
+ return {};
+ }
+
+ var momentDate = external_moment_default()(date);
+ return {
+ year: momentDate.year(),
+ month: momentDate.month() + 1
+ };
+ }
+ }, {
+ key: "getServerSideAttributes",
+ value: function getServerSideAttributes(attributes, date) {
+ return Object(objectSpread["a" /* default */])({}, attributes, this.getYearMonth(date));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Disabled"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_serverSideRender_default.a, {
+ block: "core/calendar",
+ attributes: this.getServerSideAttributes(this.props.attributes, this.props.date)
+ }));
+ }
+ }]);
+
+ return CalendarEdit;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var calendar_edit = (Object(external_this_wp_data_["withSelect"])(function (select) {
+ var coreEditorSelect = select('core/editor');
+
+ if (!coreEditorSelect) {
+ return;
+ }
+
+ var getEditedPostAttribute = coreEditorSelect.getEditedPostAttribute;
+ var postType = getEditedPostAttribute('type'); // Dates are used to overwrite year and month used on the calendar.
+ // This overwrite should only happen for 'post' post types.
+ // For other post types the calendar always displays the current month.
+
+ return {
+ date: postType === 'post' ? getEditedPostAttribute('date') : undefined
+ };
+})(edit_CalendarEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var calendar_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fill: "none",
+ d: "M0 0h24v24H0V0z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M7 11h2v2H7v-2zm14-5v14c0 1.1-.9 2-2 2H5c-1.11 0-2-.9-2-2l.01-14c0-1.1.88-2 1.99-2h1V2h2v2h8V2h2v2h1c1.1 0 2 .9 2 2zM5 8h14V6H5v2zm14 12V10H5v10h14zm-4-7h2v-2h-2v2zm-4 0h2v-2h-2v2z"
+}))));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var calendar_name = 'core/calendar';
+var calendar_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Calendar'),
+ description: Object(external_this_wp_i18n_["__"])('A calendar of your site’s posts.'),
+ icon: calendar_icon,
+ category: 'widgets',
+ keywords: [Object(external_this_wp_i18n_["__"])('posts'), Object(external_this_wp_i18n_["__"])('archive')],
+ supports: {
+ align: true
+ },
+ example: {},
+ edit: calendar_edit
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/categories/edit.js
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+
+var edit_CategoriesEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(CategoriesEdit, _Component);
+
+ function CategoriesEdit() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, CategoriesEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(CategoriesEdit).apply(this, arguments));
+ _this.toggleDisplayAsDropdown = _this.toggleDisplayAsDropdown.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.toggleShowPostCounts = _this.toggleShowPostCounts.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.toggleShowHierarchy = _this.toggleShowHierarchy.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(CategoriesEdit, [{
+ key: "toggleDisplayAsDropdown",
+ value: function toggleDisplayAsDropdown() {
+ var _this$props = this.props,
+ attributes = _this$props.attributes,
+ setAttributes = _this$props.setAttributes;
+ var displayAsDropdown = attributes.displayAsDropdown;
+ setAttributes({
+ displayAsDropdown: !displayAsDropdown
+ });
+ }
+ }, {
+ key: "toggleShowPostCounts",
+ value: function toggleShowPostCounts() {
+ var _this$props2 = this.props,
+ attributes = _this$props2.attributes,
+ setAttributes = _this$props2.setAttributes;
+ var showPostCounts = attributes.showPostCounts;
+ setAttributes({
+ showPostCounts: !showPostCounts
+ });
+ }
+ }, {
+ key: "toggleShowHierarchy",
+ value: function toggleShowHierarchy() {
+ var _this$props3 = this.props,
+ attributes = _this$props3.attributes,
+ setAttributes = _this$props3.setAttributes;
+ var showHierarchy = attributes.showHierarchy;
+ setAttributes({
+ showHierarchy: !showHierarchy
+ });
+ }
+ }, {
+ key: "getCategories",
+ value: function getCategories() {
+ var parentId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
+ var categories = this.props.categories;
+
+ if (!categories || !categories.length) {
+ return [];
+ }
+
+ if (parentId === null) {
+ return categories;
+ }
+
+ return categories.filter(function (category) {
+ return category.parent === parentId;
+ });
+ }
+ }, {
+ key: "getCategoryListClassName",
+ value: function getCategoryListClassName(level) {
+ return "wp-block-categories__list wp-block-categories__list-level-".concat(level);
+ }
+ }, {
+ key: "renderCategoryName",
+ value: function renderCategoryName(category) {
+ if (!category.name) {
+ return Object(external_this_wp_i18n_["__"])('(Untitled)');
+ }
+
+ return Object(external_lodash_["unescape"])(category.name).trim();
+ }
+ }, {
+ key: "renderCategoryList",
+ value: function renderCategoryList() {
+ var _this2 = this;
+
+ var showHierarchy = this.props.attributes.showHierarchy;
+ var parentId = showHierarchy ? 0 : null;
+ var categories = this.getCategories(parentId);
+ return Object(external_this_wp_element_["createElement"])("ul", {
+ className: this.getCategoryListClassName(0)
+ }, categories.map(function (category) {
+ return _this2.renderCategoryListItem(category, 0);
+ }));
+ }
+ }, {
+ key: "renderCategoryListItem",
+ value: function renderCategoryListItem(category, level) {
+ var _this3 = this;
+
+ var _this$props$attribute = this.props.attributes,
+ showHierarchy = _this$props$attribute.showHierarchy,
+ showPostCounts = _this$props$attribute.showPostCounts;
+ var childCategories = this.getCategories(category.id);
+ return Object(external_this_wp_element_["createElement"])("li", {
+ key: category.id
+ }, Object(external_this_wp_element_["createElement"])("a", {
+ href: category.link,
+ target: "_blank",
+ rel: "noreferrer noopener"
+ }, this.renderCategoryName(category)), showPostCounts && Object(external_this_wp_element_["createElement"])("span", {
+ className: "wp-block-categories__post-count"
+ }, ' ', "(", category.count, ")"), showHierarchy && !!childCategories.length && Object(external_this_wp_element_["createElement"])("ul", {
+ className: this.getCategoryListClassName(level + 1)
+ }, childCategories.map(function (childCategory) {
+ return _this3.renderCategoryListItem(childCategory, level + 1);
+ })));
+ }
+ }, {
+ key: "renderCategoryDropdown",
+ value: function renderCategoryDropdown() {
+ var _this4 = this;
+
+ var instanceId = this.props.instanceId;
+ var showHierarchy = this.props.attributes.showHierarchy;
+ var parentId = showHierarchy ? 0 : null;
+ var categories = this.getCategories(parentId);
+ var selectId = "blocks-category-select-".concat(instanceId);
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("label", {
+ htmlFor: selectId,
+ className: "screen-reader-text"
+ }, Object(external_this_wp_i18n_["__"])('Categories')), Object(external_this_wp_element_["createElement"])("select", {
+ id: selectId,
+ className: "wp-block-categories__dropdown"
+ }, categories.map(function (category) {
+ return _this4.renderCategoryDropdownItem(category, 0);
+ })));
+ }
+ }, {
+ key: "renderCategoryDropdownItem",
+ value: function renderCategoryDropdownItem(category, level) {
+ var _this5 = this;
+
+ var _this$props$attribute2 = this.props.attributes,
+ showHierarchy = _this$props$attribute2.showHierarchy,
+ showPostCounts = _this$props$attribute2.showPostCounts;
+ var childCategories = this.getCategories(category.id);
+ return [Object(external_this_wp_element_["createElement"])("option", {
+ key: category.id
+ }, Object(external_lodash_["times"])(level * 3, function () {
+ return '\xa0';
+ }), this.renderCategoryName(category), !!showPostCounts ? " (".concat(category.count, ")") : ''), showHierarchy && !!childCategories.length && childCategories.map(function (childCategory) {
+ return _this5.renderCategoryDropdownItem(childCategory, level + 1);
+ })];
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props4 = this.props,
+ attributes = _this$props4.attributes,
+ isRequesting = _this$props4.isRequesting;
+ var displayAsDropdown = attributes.displayAsDropdown,
+ showHierarchy = attributes.showHierarchy,
+ showPostCounts = attributes.showPostCounts;
+ var inspectorControls = Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Categories Settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Display as Dropdown'),
+ checked: displayAsDropdown,
+ onChange: this.toggleDisplayAsDropdown
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Show Hierarchy'),
+ checked: showHierarchy,
+ onChange: this.toggleShowHierarchy
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Show Post Counts'),
+ checked: showPostCounts,
+ onChange: this.toggleShowPostCounts
+ })));
+
+ if (isRequesting) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, inspectorControls, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Placeholder"], {
+ icon: "admin-post",
+ label: Object(external_this_wp_i18n_["__"])('Categories')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Spinner"], null)));
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, inspectorControls, Object(external_this_wp_element_["createElement"])("div", {
+ className: this.props.className
+ }, displayAsDropdown ? this.renderCategoryDropdown() : this.renderCategoryList()));
+ }
+ }]);
+
+ return CategoriesEdit;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var categories_edit = (Object(external_this_wp_compose_["compose"])(Object(external_this_wp_data_["withSelect"])(function (select) {
+ var _select = select('core'),
+ getEntityRecords = _select.getEntityRecords;
+
+ var _select2 = select('core/data'),
+ isResolving = _select2.isResolving;
+
+ var query = {
+ per_page: -1,
+ hide_empty: true
+ };
+ return {
+ categories: getEntityRecords('taxonomy', 'category', query),
+ isRequesting: isResolving('core', 'getEntityRecords', ['taxonomy', 'category', query])
+ };
+}), external_this_wp_compose_["withInstanceId"])(edit_CategoriesEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/categories/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var categories_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M0,0h24v24H0V0z",
+ fill: "none"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M12,2l-5.5,9h11L12,2z M12,5.84L13.93,9h-3.87L12,5.84z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "m17.5 13c-2.49 0-4.5 2.01-4.5 4.5s2.01 4.5 4.5 4.5 4.5-2.01 4.5-4.5-2.01-4.5-4.5-4.5zm0 7c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "m3 21.5h8v-8h-8v8zm2-6h4v4h-4v-4z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/categories/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var categories_name = 'core/categories';
+var categories_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Categories'),
+ description: Object(external_this_wp_i18n_["__"])('Display a list of all categories.'),
+ icon: categories_icon,
+ category: 'widgets',
+ supports: {
+ align: true,
+ html: false
+ },
+ edit: categories_edit
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/utils.js
+/**
+ * External dependencies
+ */
+
+/**
+ * Escapes ampersands, shortcodes, and links.
+ *
+ * @param {string} content The content of a code block.
+ * @return {string} The given content with some characters escaped.
+ */
+
+function utils_escape(content) {
+ return Object(external_lodash_["flow"])(escapeAmpersands, escapeOpeningSquareBrackets, escapeProtocolInIsolatedUrls)(content || '');
+}
+/**
+ * Unescapes escaped ampersands, shortcodes, and links.
+ *
+ * @param {string} content Content with (maybe) escaped ampersands, shortcodes, and links.
+ * @return {string} The given content with escaped characters unescaped.
+ */
+
+function utils_unescape(content) {
+ return Object(external_lodash_["flow"])(unescapeProtocolInIsolatedUrls, unescapeOpeningSquareBrackets, unescapeAmpersands)(content || '');
+}
+/**
+ * Returns the given content with all its ampersand characters converted
+ * into their HTML entity counterpart (i.e. & => &amp;)
+ *
+ * @param {string} content The content of a code block.
+ * @return {string} The given content with its ampersands converted into
+ * their HTML entity counterpart (i.e. & => &amp;)
+ */
+
+function escapeAmpersands(content) {
+ return content.replace(/&/g, '&amp;');
+}
+/**
+ * Returns the given content with all &amp; HTML entities converted into &.
+ *
+ * @param {string} content The content of a code block.
+ * @return {string} The given content with all &amp; HTML entities
+ * converted into &.
+ */
+
+
+function unescapeAmpersands(content) {
+ return content.replace(/&amp;/g, '&');
+}
+/**
+ * Returns the given content with all opening shortcode characters converted
+ * into their HTML entity counterpart (i.e. [ => &#91;). For instance, a
+ * shortcode like [embed] becomes &#91;embed]
+ *
+ * This function replicates the escaping of HTML tags, where a tag like
+ * <strong> becomes &lt;strong>.
+ *
+ * @param {string} content The content of a code block.
+ * @return {string} The given content with its opening shortcode characters
+ * converted into their HTML entity counterpart
+ * (i.e. [ => &#91;)
+ */
+
+
+function escapeOpeningSquareBrackets(content) {
+ return content.replace(/\[/g, '&#91;');
+}
+/**
+ * Returns the given content translating all &#91; into [.
+ *
+ * @param {string} content The content of a code block.
+ * @return {string} The given content with all &#91; into [.
+ */
+
+
+function unescapeOpeningSquareBrackets(content) {
+ return content.replace(/&#91;/g, '[');
+}
+/**
+ * Converts the first two forward slashes of any isolated URL into their HTML
+ * counterparts (i.e. // => &#47;&#47;). For instance, https://youtube.com/watch?x
+ * becomes https:&#47;&#47;youtube.com/watch?x.
+ *
+ * An isolated URL is a URL that sits in its own line, surrounded only by spacing
+ * characters.
+ *
+ * See https://github.com/WordPress/wordpress-develop/blob/5.1.1/src/wp-includes/class-wp-embed.php#L403
+ *
+ * @param {string} content The content of a code block.
+ * @return {string} The given content with its ampersands converted into
+ * their HTML entity counterpart (i.e. & => &amp;)
+ */
+
+
+function escapeProtocolInIsolatedUrls(content) {
+ return content.replace(/^(\s*https?:)\/\/([^\s<>"]+\s*)$/m, '$1&#47;&#47;$2');
+}
+/**
+ * Converts the first two forward slashes of any isolated URL from the HTML entity
+ * &#73; into /.
+ *
+ * An isolated URL is a URL that sits in its own line, surrounded only by spacing
+ * characters.
+ *
+ * See https://github.com/WordPress/wordpress-develop/blob/5.1.1/src/wp-includes/class-wp-embed.php#L403
+ *
+ * @param {string} content The content of a code block.
+ * @return {string} The given content with the first two forward slashes of any
+ * isolated URL from the HTML entity &#73; into /.
+ */
+
+
+function unescapeProtocolInIsolatedUrls(content) {
+ return content.replace(/^(\s*https?:)&#47;&#47;([^\s<>"]+\s*)$/m, '$1//$2');
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/edit.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function CodeEdit(_ref) {
+ var attributes = _ref.attributes,
+ setAttributes = _ref.setAttributes,
+ className = _ref.className;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: className
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["PlainText"], {
+ value: utils_unescape(attributes.content),
+ onChange: function onChange(content) {
+ return setAttributes({
+ content: utils_escape(content)
+ });
+ },
+ placeholder: Object(external_this_wp_i18n_["__"])('Write code…'),
+ "aria-label": Object(external_this_wp_i18n_["__"])('Code')
+ }));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var code_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M0,0h24v24H0V0z",
+ fill: "none"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M9.4,16.6L4.8,12l4.6-4.6L8,6l-6,6l6,6L9.4,16.6z M14.6,16.6l4.6-4.6l-4.6-4.6L16,6l6,6l-6,6L14.6,16.6z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/save.js
+
+function code_save_save(_ref) {
+ var attributes = _ref.attributes;
+ return Object(external_this_wp_element_["createElement"])("pre", null, Object(external_this_wp_element_["createElement"])("code", null, attributes.content));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/transforms.js
+/**
+ * WordPress dependencies
+ */
+
+var code_transforms_transforms = {
+ from: [{
+ type: 'enter',
+ regExp: /^```$/,
+ transform: function transform() {
+ return Object(external_this_wp_blocks_["createBlock"])('core/code');
+ }
+ }, {
+ type: 'raw',
+ isMatch: function isMatch(node) {
+ return node.nodeName === 'PRE' && node.children.length === 1 && node.firstChild.nodeName === 'CODE';
+ },
+ schema: {
+ pre: {
+ children: {
+ code: {
+ children: {
+ '#text': {}
+ }
+ }
+ }
+ }
+ }
+ }]
+};
+/* harmony default export */ var code_transforms = (code_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var code_metadata = {
+ name: "core/code",
+ category: "formatting",
+ attributes: {
+ content: {
+ type: "string",
+ source: "text",
+ selector: "code"
+ }
+ }
+};
+
+
+var code_name = code_metadata.name;
+
+var code_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Code'),
+ description: Object(external_this_wp_i18n_["__"])('Display code snippets that respect your spacing and tabs.'),
+ icon: code_icon,
+ example: {
+ attributes: {
+ content: Object(external_this_wp_i18n_["__"])('// A "block" is the abstract term used') + '\n' + Object(external_this_wp_i18n_["__"])('// to describe units of markup that,') + '\n' + Object(external_this_wp_i18n_["__"])('// when composed together, form the') + '\n' + Object(external_this_wp_i18n_["__"])('// content or layout of a page.') + '\n' + Object(external_this_wp_i18n_["__"])('registerBlockType( name, settings );')
+ }
+ },
+ supports: {
+ html: false
+ },
+ transforms: code_transforms,
+ edit: CodeEdit,
+ save: code_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/deprecated.js
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Given an HTML string for a deprecated columns inner block, returns the
+ * column index to which the migrated inner block should be assigned. Returns
+ * undefined if the inner block was not assigned to a column.
+ *
+ * @param {string} originalContent Deprecated Columns inner block HTML.
+ *
+ * @return {?number} Column to which inner block is to be assigned.
+ */
+
+function getDeprecatedLayoutColumn(originalContent) {
+ var doc = getDeprecatedLayoutColumn.doc;
+
+ if (!doc) {
+ doc = document.implementation.createHTMLDocument('');
+ getDeprecatedLayoutColumn.doc = doc;
+ }
+
+ var columnMatch;
+ doc.body.innerHTML = originalContent;
+ var _iteratorNormalCompletion = true;
+ var _didIteratorError = false;
+ var _iteratorError = undefined;
+
+ try {
+ for (var _iterator = doc.body.firstChild.classList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+ var classListItem = _step.value;
+
+ if (columnMatch = classListItem.match(/^layout-column-(\d+)$/)) {
+ return Number(columnMatch[1]) - 1;
+ }
+ }
+ } catch (err) {
+ _didIteratorError = true;
+ _iteratorError = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
+ _iterator.return();
+ }
+ } finally {
+ if (_didIteratorError) {
+ throw _iteratorError;
+ }
+ }
+ }
+}
+
+/* harmony default export */ var columns_deprecated = ([{
+ attributes: {
+ columns: {
+ type: 'number',
+ default: 2
+ }
+ },
+ isEligible: function isEligible(attributes, innerBlocks) {
+ // Since isEligible is called on every valid instance of the
+ // Columns block and a deprecation is the unlikely case due to
+ // its subsequent migration, optimize for the `false` condition
+ // by performing a naive, inaccurate pass at inner blocks.
+ var isFastPassEligible = innerBlocks.some(function (innerBlock) {
+ return /layout-column-\d+/.test(innerBlock.originalContent);
+ });
+
+ if (!isFastPassEligible) {
+ return false;
+ } // Only if the fast pass is considered eligible is the more
+ // accurate, durable, slower condition performed.
+
+
+ return innerBlocks.some(function (innerBlock) {
+ return getDeprecatedLayoutColumn(innerBlock.originalContent) !== undefined;
+ });
+ },
+ migrate: function migrate(attributes, innerBlocks) {
+ var columns = innerBlocks.reduce(function (result, innerBlock) {
+ var originalContent = innerBlock.originalContent;
+ var columnIndex = getDeprecatedLayoutColumn(originalContent);
+
+ if (columnIndex === undefined) {
+ columnIndex = 0;
+ }
+
+ if (!result[columnIndex]) {
+ result[columnIndex] = [];
+ }
+
+ result[columnIndex].push(innerBlock);
+ return result;
+ }, []);
+ var migratedInnerBlocks = columns.map(function (columnBlocks) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/column', {}, columnBlocks);
+ });
+ return [Object(external_lodash_["omit"])(attributes, ['columns']), migratedInnerBlocks];
+ },
+ save: function save(_ref) {
+ var attributes = _ref.attributes;
+ var columns = attributes.columns;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "has-".concat(columns, "-columns")
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InnerBlocks"].Content, null));
+ }
+}, {
+ attributes: {
+ columns: {
+ type: 'number',
+ default: 2
+ }
+ },
+ migrate: function migrate(attributes, innerBlocks) {
+ attributes = Object(external_lodash_["omit"])(attributes, ['columns']);
+ return [attributes, innerBlocks];
+ },
+ save: function save(_ref2) {
+ var attributes = _ref2.attributes;
+ var verticalAlignment = attributes.verticalAlignment,
+ columns = attributes.columns;
+ var wrapperClasses = classnames_default()("has-".concat(columns, "-columns"), Object(defineProperty["a" /* default */])({}, "are-vertically-aligned-".concat(verticalAlignment), verticalAlignment));
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: wrapperClasses
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InnerBlocks"].Content, null));
+ }
+}]);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/utils.js
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Returns the layouts configuration for a given number of columns.
+ *
+ * @param {number} columns Number of columns.
+ *
+ * @return {Object[]} Columns layout configuration.
+ */
+
+var getColumnsTemplate = memize_default()(function (columns) {
+ if (columns === undefined) {
+ return null;
+ }
+
+ return Object(external_lodash_["times"])(columns, function () {
+ return ['core/column'];
+ });
+});
+/**
+ * Returns a column width attribute value rounded to standard precision.
+ * Returns `undefined` if the value is not a valid finite number.
+ *
+ * @param {?number} value Raw value.
+ *
+ * @return {number} Value rounded to standard precision.
+ */
+
+var toWidthPrecision = function toWidthPrecision(value) {
+ return Number.isFinite(value) ? parseFloat(value.toFixed(2)) : undefined;
+};
+/**
+ * Returns the considered adjacent to that of the specified `clientId` for
+ * resizing consideration. Adjacent blocks are those occurring after, except
+ * when the given block is the last block in the set. For the last block, the
+ * behavior is reversed.
+ *
+ * @param {WPBlock[]} blocks Block objects.
+ * @param {string} clientId Client ID to consider for adjacent blocks.
+ *
+ * @return {WPBlock[]} Adjacent block objects.
+ */
+
+function getAdjacentBlocks(blocks, clientId) {
+ var index = Object(external_lodash_["findIndex"])(blocks, {
+ clientId: clientId
+ });
+ var isLastBlock = index === blocks.length - 1;
+ return isLastBlock ? blocks.slice(0, index) : blocks.slice(index + 1);
+}
+/**
+ * Returns an effective width for a given block. An effective width is equal to
+ * its attribute value if set, or a computed value assuming equal distribution.
+ *
+ * @param {WPBlock} block Block object.
+ * @param {number} totalBlockCount Total number of blocks in Columns.
+ *
+ * @return {number} Effective column width.
+ */
+
+function getEffectiveColumnWidth(block, totalBlockCount) {
+ var _block$attributes$wid = block.attributes.width,
+ width = _block$attributes$wid === void 0 ? 100 / totalBlockCount : _block$attributes$wid;
+ return toWidthPrecision(width);
+}
+/**
+ * Returns the total width occupied by the given set of column blocks.
+ *
+ * @param {WPBlock[]} blocks Block objects.
+ * @param {?number} totalBlockCount Total number of blocks in Columns.
+ * Defaults to number of blocks passed.
+ *
+ * @return {number} Total width occupied by blocks.
+ */
+
+function getTotalColumnsWidth(blocks) {
+ var totalBlockCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : blocks.length;
+ return Object(external_lodash_["sumBy"])(blocks, function (block) {
+ return getEffectiveColumnWidth(block, totalBlockCount);
+ });
+}
+/**
+ * Returns an object of `clientId` → `width` of effective column widths.
+ *
+ * @param {WPBlock[]} blocks Block objects.
+ * @param {?number} totalBlockCount Total number of blocks in Columns.
+ * Defaults to number of blocks passed.
+ *
+ * @return {Object<string,number>} Column widths.
+ */
+
+function getColumnWidths(blocks) {
+ var totalBlockCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : blocks.length;
+ return blocks.reduce(function (result, block) {
+ var width = getEffectiveColumnWidth(block, totalBlockCount);
+ return Object.assign(result, Object(defineProperty["a" /* default */])({}, block.clientId, width));
+ }, {});
+}
+/**
+ * Returns an object of `clientId` → `width` of column widths as redistributed
+ * proportional to their current widths, constrained or expanded to fit within
+ * the given available width.
+ *
+ * @param {WPBlock[]} blocks Block objects.
+ * @param {number} availableWidth Maximum width to fit within.
+ * @param {?number} totalBlockCount Total number of blocks in Columns.
+ * Defaults to number of blocks passed.
+ *
+ * @return {Object<string,number>} Redistributed column widths.
+ */
+
+function getRedistributedColumnWidths(blocks, availableWidth) {
+ var totalBlockCount = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : blocks.length;
+ var totalWidth = getTotalColumnsWidth(blocks, totalBlockCount);
+ var difference = availableWidth - totalWidth;
+ var adjustment = difference / blocks.length;
+ return Object(external_lodash_["mapValues"])(getColumnWidths(blocks, totalBlockCount), function (width) {
+ return toWidthPrecision(width + adjustment);
+ });
+}
+/**
+ * Returns true if column blocks within the provided set are assigned with
+ * explicit widths, or false otherwise.
+ *
+ * @param {WPBlock[]} blocks Block objects.
+ *
+ * @return {boolean} Whether columns have explicit widths.
+ */
+
+function hasExplicitColumnWidths(blocks) {
+ return blocks.some(function (block) {
+ return Number.isFinite(block.attributes.width);
+ });
+}
+/**
+ * Returns a copy of the given set of blocks with new widths assigned from the
+ * provided object of redistributed column widths.
+ *
+ * @param {WPBlock[]} blocks Block objects.
+ * @param {Object<string,number>} widths Redistributed column widths.
+ *
+ * @return {WPBlock[]} blocks Mapped block objects.
+ */
+
+function getMappedColumnWidths(blocks, widths) {
+ return blocks.map(function (block) {
+ return Object(external_lodash_["merge"])({}, block, {
+ attributes: {
+ width: widths[block.clientId]
+ }
+ });
+ });
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/edit.js
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * Allowed blocks constant is passed to InnerBlocks precisely as specified here.
+ * The contents of the array should never change.
+ * The array should contain the name of each block that is allowed.
+ * In columns block, the only block we allow is 'core/column'.
+ *
+ * @constant
+ * @type {string[]}
+ */
+
+var ALLOWED_BLOCKS = ['core/column'];
+/**
+ * Template option choices for predefined columns layouts.
+ *
+ * @constant
+ * @type {Array}
+ */
+
+var TEMPLATE_OPTIONS = [{
+ title: Object(external_this_wp_i18n_["__"])('Two columns; equal split'),
+ icon: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ width: "48",
+ height: "48",
+ viewBox: "0 0 48 48",
+ xmlns: "http://www.w3.org/2000/svg"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fillRule: "evenodd",
+ clipRule: "evenodd",
+ d: "M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H25V34H39ZM23 34H9V14H23V34Z"
+ })),
+ template: [['core/column'], ['core/column']]
+}, {
+ title: Object(external_this_wp_i18n_["__"])('Two columns; one-third, two-thirds split'),
+ icon: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ width: "48",
+ height: "48",
+ viewBox: "0 0 48 48",
+ xmlns: "http://www.w3.org/2000/svg"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fillRule: "evenodd",
+ clipRule: "evenodd",
+ d: "M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H20V34H39ZM18 34H9V14H18V34Z"
+ })),
+ template: [['core/column', {
+ width: 33.33
+ }], ['core/column', {
+ width: 66.66
+ }]]
+}, {
+ title: Object(external_this_wp_i18n_["__"])('Two columns; two-thirds, one-third split'),
+ icon: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ width: "48",
+ height: "48",
+ viewBox: "0 0 48 48",
+ xmlns: "http://www.w3.org/2000/svg"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fillRule: "evenodd",
+ clipRule: "evenodd",
+ d: "M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H30V34H39ZM28 34H9V14H28V34Z"
+ })),
+ template: [['core/column', {
+ width: 66.66
+ }], ['core/column', {
+ width: 33.33
+ }]]
+}, {
+ title: Object(external_this_wp_i18n_["__"])('Three columns; equal split'),
+ icon: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ width: "48",
+ height: "48",
+ viewBox: "0 0 48 48",
+ xmlns: "http://www.w3.org/2000/svg"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fillRule: "evenodd",
+ d: "M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM28.5 34h-9V14h9v20zm2 0V14H39v20h-8.5zm-13 0H9V14h8.5v20z"
+ })),
+ template: [['core/column'], ['core/column'], ['core/column']]
+}, {
+ title: Object(external_this_wp_i18n_["__"])('Three columns; wide center column'),
+ icon: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ width: "48",
+ height: "48",
+ viewBox: "0 0 48 48",
+ xmlns: "http://www.w3.org/2000/svg"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fillRule: "evenodd",
+ d: "M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM31 34H17V14h14v20zm2 0V14h6v20h-6zm-18 0H9V14h6v20z"
+ })),
+ template: [['core/column', {
+ width: 25
+ }], ['core/column', {
+ width: 50
+ }], ['core/column', {
+ width: 25
+ }]]
+}];
+/**
+ * Number of columns to assume for template in case the user opts to skip
+ * template option selection.
+ *
+ * @type {number}
+ */
+
+var DEFAULT_COLUMNS = 2;
+function ColumnsEdit(_ref) {
+ var attributes = _ref.attributes,
+ className = _ref.className,
+ updateAlignment = _ref.updateAlignment,
+ updateColumns = _ref.updateColumns,
+ clientId = _ref.clientId;
+ var verticalAlignment = attributes.verticalAlignment;
+
+ var _useSelect = Object(external_this_wp_data_["useSelect"])(function (select) {
+ return {
+ count: select('core/block-editor').getBlockCount(clientId)
+ };
+ }),
+ count = _useSelect.count;
+
+ var _useState = Object(external_this_wp_element_["useState"])(getColumnsTemplate(count)),
+ _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
+ template = _useState2[0],
+ setTemplate = _useState2[1];
+
+ var _useState3 = Object(external_this_wp_element_["useState"])(false),
+ _useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
+ forceUseTemplate = _useState4[0],
+ setForceUseTemplate = _useState4[1]; // This is used to force the usage of the template even if the count doesn't match the template
+ // The count doesn't match the template once you use undo/redo (this is used to reset to the placeholder state).
+
+
+ Object(external_this_wp_element_["useEffect"])(function () {
+ // Once the template is applied, reset it.
+ if (forceUseTemplate) {
+ setForceUseTemplate(false);
+ }
+ }, [forceUseTemplate]);
+ var classes = classnames_default()(className, Object(defineProperty["a" /* default */])({}, "are-vertically-aligned-".concat(verticalAlignment), verticalAlignment)); // The template selector is shown when we first insert the columns block (count === 0).
+ // or if there's no template available.
+ // The count === 0 trick is useful when you use undo/redo.
+
+ var showTemplateSelector = count === 0 && !forceUseTemplate || !template;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, !showTemplateSelector && 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"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["RangeControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Columns'),
+ value: count,
+ onChange: function onChange(value) {
+ return updateColumns(count, value);
+ },
+ min: 2,
+ max: 6
+ }))), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockVerticalAlignmentToolbar"], {
+ onChange: updateAlignment,
+ value: verticalAlignment
+ }))), Object(external_this_wp_element_["createElement"])("div", {
+ className: classes
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InnerBlocks"], {
+ __experimentalTemplateOptions: TEMPLATE_OPTIONS,
+ __experimentalOnSelectTemplateOption: function __experimentalOnSelectTemplateOption(nextTemplate) {
+ if (nextTemplate === undefined) {
+ nextTemplate = getColumnsTemplate(DEFAULT_COLUMNS);
+ }
+
+ setTemplate(nextTemplate);
+ setForceUseTemplate(true);
+ },
+ __experimentalAllowTemplateOptionSkip: true,
+ template: showTemplateSelector ? null : template,
+ templateLock: "all",
+ allowedBlocks: ALLOWED_BLOCKS
+ })));
+}
+/* harmony default export */ var columns_edit = (Object(external_this_wp_data_["withDispatch"])(function (dispatch, ownProps, registry) {
+ return {
+ /**
+ * Update all child Column blocks with a new vertical alignment setting
+ * based on whatever alignment is passed in. This allows change to parent
+ * to overide anything set on a individual column basis.
+ *
+ * @param {string} verticalAlignment the vertical alignment setting
+ */
+ updateAlignment: function updateAlignment(verticalAlignment) {
+ var clientId = ownProps.clientId,
+ setAttributes = ownProps.setAttributes;
+
+ var _dispatch = dispatch('core/block-editor'),
+ updateBlockAttributes = _dispatch.updateBlockAttributes;
+
+ var _registry$select = registry.select('core/block-editor'),
+ getBlockOrder = _registry$select.getBlockOrder; // Update own alignment.
+
+
+ setAttributes({
+ verticalAlignment: verticalAlignment
+ }); // Update all child Column Blocks to match
+
+ var innerBlockClientIds = getBlockOrder(clientId);
+ innerBlockClientIds.forEach(function (innerBlockClientId) {
+ updateBlockAttributes(innerBlockClientId, {
+ verticalAlignment: verticalAlignment
+ });
+ });
+ },
+
+ /**
+ * Updates the column count, including necessary revisions to child Column
+ * blocks to grant required or redistribute available space.
+ *
+ * @param {number} previousColumns Previous column count.
+ * @param {number} newColumns New column count.
+ */
+ updateColumns: function updateColumns(previousColumns, newColumns) {
+ var clientId = ownProps.clientId;
+
+ var _dispatch2 = dispatch('core/block-editor'),
+ replaceInnerBlocks = _dispatch2.replaceInnerBlocks;
+
+ var _registry$select2 = registry.select('core/block-editor'),
+ getBlocks = _registry$select2.getBlocks;
+
+ var innerBlocks = getBlocks(clientId);
+ var hasExplicitWidths = hasExplicitColumnWidths(innerBlocks); // Redistribute available width for existing inner blocks.
+
+ var isAddingColumn = newColumns > previousColumns;
+
+ if (isAddingColumn && hasExplicitWidths) {
+ // If adding a new column, assign width to the new column equal to
+ // as if it were `1 / columns` of the total available space.
+ var newColumnWidth = toWidthPrecision(100 / newColumns); // Redistribute in consideration of pending block insertion as
+ // constraining the available working width.
+
+ var widths = getRedistributedColumnWidths(innerBlocks, 100 - newColumnWidth);
+ innerBlocks = [].concat(Object(toConsumableArray["a" /* default */])(getMappedColumnWidths(innerBlocks, widths)), Object(toConsumableArray["a" /* default */])(Object(external_lodash_["times"])(newColumns - previousColumns, function () {
+ return Object(external_this_wp_blocks_["createBlock"])('core/column', {
+ width: newColumnWidth
+ });
+ })));
+ } else if (isAddingColumn) {
+ innerBlocks = [].concat(Object(toConsumableArray["a" /* default */])(innerBlocks), Object(toConsumableArray["a" /* default */])(Object(external_lodash_["times"])(newColumns - previousColumns, function () {
+ return Object(external_this_wp_blocks_["createBlock"])('core/column');
+ })));
+ } else {
+ // The removed column will be the last of the inner blocks.
+ innerBlocks = Object(external_lodash_["dropRight"])(innerBlocks, previousColumns - newColumns);
+
+ if (hasExplicitWidths) {
+ // Redistribute as if block is already removed.
+ var _widths = getRedistributedColumnWidths(innerBlocks, 100);
+
+ innerBlocks = getMappedColumnWidths(innerBlocks, _widths);
+ }
+ }
+
+ replaceInnerBlocks(clientId, innerBlocks, false);
+ }
+ };
+})(ColumnsEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var columns_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fill: "none",
+ d: "M0 0h24v24H0V0z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M4,4H20a2,2,0,0,1,2,2V18a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2V6A2,2,0,0,1,4,4ZM4 6V18H8V6Zm6 0V18h4V6Zm6 0V18h4V6Z"
+}))));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/save.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+function columns_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var verticalAlignment = attributes.verticalAlignment;
+ var wrapperClasses = classnames_default()(Object(defineProperty["a" /* default */])({}, "are-vertically-aligned-".concat(verticalAlignment), verticalAlignment));
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: wrapperClasses
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InnerBlocks"].Content, null));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var columns_metadata = {
+ name: "core/columns",
+ category: "layout",
+ attributes: {
+ verticalAlignment: {
+ type: "string"
+ }
+ }
+};
+
+var columns_name = columns_metadata.name;
+
+var columns_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Columns'),
+ icon: columns_icon,
+ description: Object(external_this_wp_i18n_["__"])('Add a block that displays content in multiple columns, then add whatever content blocks you’d like.'),
+ supports: {
+ align: ['wide', 'full'],
+ html: false
+ },
+ example: {
+ innerBlocks: [{
+ name: 'core/column',
+ innerBlocks: [{
+ name: 'core/paragraph',
+ attributes: {
+ content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis.'
+ }
+ }, {
+ name: 'core/image',
+ attributes: {
+ url: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg'
+ }
+ }, {
+ name: 'core/paragraph',
+ attributes: {
+ content: 'Suspendisse commodo neque lacus, a dictum orci interdum et.'
+ }
+ }]
+ }, {
+ name: 'core/column',
+ innerBlocks: [{
+ name: 'core/paragraph',
+ attributes: {
+ content: Object(external_this_wp_i18n_["__"])('Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.')
+ }
+ }, {
+ name: 'core/paragraph',
+ attributes: {
+ content: Object(external_this_wp_i18n_["__"])('Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim.')
+ }
+ }]
+ }]
+ },
+ deprecated: columns_deprecated,
+ edit: columns_edit,
+ save: columns_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/edit.js
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function ColumnEdit(_ref) {
+ var attributes = _ref.attributes,
+ className = _ref.className,
+ updateAlignment = _ref.updateAlignment,
+ updateWidth = _ref.updateWidth,
+ hasChildBlocks = _ref.hasChildBlocks;
+ var verticalAlignment = attributes.verticalAlignment,
+ width = attributes.width;
+ var classes = classnames_default()(className, 'block-core-columns', Object(defineProperty["a" /* default */])({}, "is-vertically-aligned-".concat(verticalAlignment), verticalAlignment));
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: classes
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockVerticalAlignmentToolbar"], {
+ onChange: updateAlignment,
+ value: verticalAlignment
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Column Settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["RangeControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Percentage width'),
+ value: width || '',
+ onChange: updateWidth,
+ min: 0,
+ max: 100,
+ required: true,
+ allowReset: true
+ }))), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InnerBlocks"], {
+ templateLock: false,
+ renderAppender: hasChildBlocks ? undefined : function () {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InnerBlocks"].ButtonBlockAppender, null);
+ }
+ }));
+}
+
+/* harmony default export */ var column_edit = (Object(external_this_wp_compose_["compose"])(Object(external_this_wp_data_["withSelect"])(function (select, ownProps) {
+ var clientId = ownProps.clientId;
+
+ var _select = select('core/block-editor'),
+ getBlockOrder = _select.getBlockOrder;
+
+ return {
+ hasChildBlocks: getBlockOrder(clientId).length > 0
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch, ownProps, registry) {
+ return {
+ updateAlignment: function updateAlignment(verticalAlignment) {
+ var clientId = ownProps.clientId,
+ setAttributes = ownProps.setAttributes;
+
+ var _dispatch = dispatch('core/block-editor'),
+ updateBlockAttributes = _dispatch.updateBlockAttributes;
+
+ var _registry$select = registry.select('core/block-editor'),
+ getBlockRootClientId = _registry$select.getBlockRootClientId; // Update own alignment.
+
+
+ setAttributes({
+ verticalAlignment: verticalAlignment
+ }); // Reset Parent Columns Block
+
+ var rootClientId = getBlockRootClientId(clientId);
+ updateBlockAttributes(rootClientId, {
+ verticalAlignment: null
+ });
+ },
+ updateWidth: function updateWidth(width) {
+ var clientId = ownProps.clientId;
+
+ var _dispatch2 = dispatch('core/block-editor'),
+ updateBlockAttributes = _dispatch2.updateBlockAttributes;
+
+ var _registry$select2 = registry.select('core/block-editor'),
+ getBlockRootClientId = _registry$select2.getBlockRootClientId,
+ getBlocks = _registry$select2.getBlocks; // Constrain or expand siblings to account for gain or loss of
+ // total columns area.
+
+
+ var columns = getBlocks(getBlockRootClientId(clientId));
+ var adjacentColumns = getAdjacentBlocks(columns, clientId); // The occupied width is calculated as the sum of the new width
+ // and the total width of blocks _not_ in the adjacent set.
+
+ var occupiedWidth = width + getTotalColumnsWidth(Object(external_lodash_["difference"])(columns, [Object(external_lodash_["find"])(columns, {
+ clientId: clientId
+ })].concat(Object(toConsumableArray["a" /* default */])(adjacentColumns)))); // Compute _all_ next column widths, in case the updated column
+ // is in the middle of a set of columns which don't yet have
+ // any explicit widths assigned (include updates to those not
+ // part of the adjacent blocks).
+
+ var nextColumnWidths = Object(objectSpread["a" /* default */])({}, getColumnWidths(columns, columns.length), Object(defineProperty["a" /* default */])({}, clientId, toWidthPrecision(width)), getRedistributedColumnWidths(adjacentColumns, 100 - occupiedWidth, columns.length));
+
+ Object(external_lodash_["forEach"])(nextColumnWidths, function (nextColumnWidth, columnClientId) {
+ updateBlockAttributes(columnClientId, {
+ width: nextColumnWidth
+ });
+ });
+ }
+ };
+}))(ColumnEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var column_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ xmlns: "http://www.w3.org/2000/svg",
+ viewBox: "0 0 24 24"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fill: "none",
+ d: "M0 0h24v24H0V0z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M11.99 18.54l-7.37-5.73L3 14.07l9 7 9-7-1.63-1.27zM12 16l7.36-5.73L21 9l-9-7-9 7 1.63 1.27L12 16zm0-11.47L17.74 9 12 13.47 6.26 9 12 4.53z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/save.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+function column_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var verticalAlignment = attributes.verticalAlignment,
+ width = attributes.width;
+ var wrapperClasses = classnames_default()(Object(defineProperty["a" /* default */])({}, "is-vertically-aligned-".concat(verticalAlignment), verticalAlignment));
+ var style;
+
+ if (Number.isFinite(width)) {
+ style = {
+ flexBasis: width + '%'
+ };
+ }
+
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: wrapperClasses,
+ style: style
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InnerBlocks"].Content, null));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var column_metadata = {
+ name: "core/column",
+ category: "common",
+ attributes: {
+ verticalAlignment: {
+ type: "string"
+ },
+ width: {
+ type: "number",
+ min: 0,
+ max: 100
+ }
+ }
+};
+
+var column_name = column_metadata.name;
+
+var column_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Column'),
+ parent: ['core/columns'],
+ icon: column_icon,
+ description: Object(external_this_wp_i18n_["__"])('A single column within a columns block.'),
+ supports: {
+ inserter: false,
+ reusable: false,
+ html: false
+ },
+ getEditWrapperProps: function getEditWrapperProps(attributes) {
+ var width = attributes.width;
+
+ if (Number.isFinite(width)) {
+ return {
+ style: {
+ flexBasis: width + '%'
+ }
+ };
+ }
+ },
+ edit: column_edit,
+ save: column_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/shared.js
+var IMAGE_BACKGROUND_TYPE = 'image';
+var VIDEO_BACKGROUND_TYPE = 'video';
+var COVER_MIN_HEIGHT = 50;
+function backgroundImageStyles(url) {
+ return url ? {
+ backgroundImage: "url(".concat(url, ")")
+ } : {};
+}
+function dimRatioToClass(ratio) {
+ return ratio === 0 || ratio === 50 ? null : 'has-background-dim-' + 10 * Math.round(ratio / 10);
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/deprecated.js
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var cover_deprecated_blockAttributes = {
+ url: {
+ type: 'string'
+ },
+ id: {
+ type: 'number'
+ },
+ hasParallax: {
+ type: 'boolean',
+ default: false
+ },
+ dimRatio: {
+ type: 'number',
+ default: 50
+ },
+ overlayColor: {
+ type: 'string'
+ },
+ customOverlayColor: {
+ type: 'string'
+ },
+ backgroundType: {
+ type: 'string',
+ default: 'image'
+ },
+ focalPoint: {
+ type: 'object'
+ }
+};
+var cover_deprecated_deprecated = [{
+ attributes: Object(objectSpread["a" /* default */])({}, cover_deprecated_blockAttributes, {
+ title: {
+ type: 'string',
+ source: 'html',
+ selector: 'p'
+ },
+ contentAlign: {
+ type: 'string',
+ default: 'center'
+ }
+ }),
+ supports: {
+ align: true
+ },
+ save: function save(_ref) {
+ var attributes = _ref.attributes;
+ var backgroundType = attributes.backgroundType,
+ contentAlign = attributes.contentAlign,
+ customOverlayColor = attributes.customOverlayColor,
+ dimRatio = attributes.dimRatio,
+ focalPoint = attributes.focalPoint,
+ hasParallax = attributes.hasParallax,
+ overlayColor = attributes.overlayColor,
+ title = attributes.title,
+ url = attributes.url;
+ var overlayColorClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', overlayColor);
+ var style = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {};
+
+ if (!overlayColorClass) {
+ style.backgroundColor = customOverlayColor;
+ }
+
+ if (focalPoint && !hasParallax) {
+ style.backgroundPosition = "".concat(focalPoint.x * 100, "% ").concat(focalPoint.y * 100, "%");
+ }
+
+ var classes = classnames_default()(dimRatioToClass(dimRatio), overlayColorClass, Object(defineProperty["a" /* default */])({
+ 'has-background-dim': dimRatio !== 0,
+ 'has-parallax': hasParallax
+ }, "has-".concat(contentAlign, "-content"), contentAlign !== 'center'));
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: classes,
+ style: style
+ }, VIDEO_BACKGROUND_TYPE === backgroundType && url && Object(external_this_wp_element_["createElement"])("video", {
+ className: "wp-block-cover__video-background",
+ autoPlay: true,
+ muted: true,
+ loop: true,
+ src: url
+ }), !external_this_wp_blockEditor_["RichText"].isEmpty(title) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "p",
+ className: "wp-block-cover-text",
+ value: title
+ }));
+ },
+ migrate: function migrate(attributes) {
+ return [Object(external_lodash_["omit"])(attributes, ['title', 'contentAlign']), [Object(external_this_wp_blocks_["createBlock"])('core/paragraph', {
+ content: attributes.title,
+ align: attributes.contentAlign,
+ fontSize: 'large',
+ placeholder: Object(external_this_wp_i18n_["__"])('Write title…')
+ })]];
+ }
+}, {
+ attributes: Object(objectSpread["a" /* default */])({}, cover_deprecated_blockAttributes, {
+ title: {
+ type: 'string',
+ source: 'html',
+ selector: 'p'
+ },
+ contentAlign: {
+ type: 'string',
+ default: 'center'
+ },
+ align: {
+ type: 'string'
+ }
+ }),
+ supports: {
+ className: false
+ },
+ save: function save(_ref2) {
+ var attributes = _ref2.attributes;
+ var url = attributes.url,
+ title = attributes.title,
+ hasParallax = attributes.hasParallax,
+ dimRatio = attributes.dimRatio,
+ align = attributes.align,
+ contentAlign = attributes.contentAlign,
+ overlayColor = attributes.overlayColor,
+ customOverlayColor = attributes.customOverlayColor;
+ var overlayColorClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', overlayColor);
+ var style = backgroundImageStyles(url);
+
+ if (!overlayColorClass) {
+ style.backgroundColor = customOverlayColor;
+ }
+
+ var classes = classnames_default()('wp-block-cover-image', dimRatioToClass(dimRatio), overlayColorClass, Object(defineProperty["a" /* default */])({
+ 'has-background-dim': dimRatio !== 0,
+ 'has-parallax': hasParallax
+ }, "has-".concat(contentAlign, "-content"), contentAlign !== 'center'), align ? "align".concat(align) : null);
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: classes,
+ style: style
+ }, !external_this_wp_blockEditor_["RichText"].isEmpty(title) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "p",
+ className: "wp-block-cover-image-text",
+ value: title
+ }));
+ },
+ migrate: function migrate(attributes) {
+ return [Object(external_lodash_["omit"])(attributes, ['title', 'contentAlign', 'align']), [Object(external_this_wp_blocks_["createBlock"])('core/paragraph', {
+ content: attributes.title,
+ align: attributes.contentAlign,
+ fontSize: 'large',
+ placeholder: Object(external_this_wp_i18n_["__"])('Write title…')
+ })]];
+ }
+}, {
+ attributes: Object(objectSpread["a" /* default */])({}, cover_deprecated_blockAttributes, {
+ title: {
+ type: 'string',
+ source: 'html',
+ selector: 'h2'
+ },
+ align: {
+ type: 'string'
+ },
+ contentAlign: {
+ type: 'string',
+ default: 'center'
+ }
+ }),
+ supports: {
+ className: false
+ },
+ save: function save(_ref3) {
+ var attributes = _ref3.attributes;
+ var url = attributes.url,
+ title = attributes.title,
+ hasParallax = attributes.hasParallax,
+ dimRatio = attributes.dimRatio,
+ align = attributes.align;
+ var style = backgroundImageStyles(url);
+ var classes = classnames_default()('wp-block-cover-image', dimRatioToClass(dimRatio), {
+ 'has-background-dim': dimRatio !== 0,
+ 'has-parallax': hasParallax
+ }, align ? "align".concat(align) : null);
+ return Object(external_this_wp_element_["createElement"])("section", {
+ className: classes,
+ style: style
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "h2",
+ value: title
+ }));
+ },
+ migrate: function migrate(attributes) {
+ return [Object(external_lodash_["omit"])(attributes, ['title', 'contentAlign', 'align']), [Object(external_this_wp_blocks_["createBlock"])('core/paragraph', {
+ content: attributes.title,
+ align: attributes.contentAlign,
+ fontSize: 'large',
+ placeholder: Object(external_this_wp_i18n_["__"])('Write title…')
+ })]];
+ }
+}];
+/* harmony default export */ var cover_deprecated = (cover_deprecated_deprecated);
+
+// EXTERNAL MODULE: ./node_modules/fast-average-color/dist/index.js
+var dist = __webpack_require__(221);
+var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
+
+// EXTERNAL MODULE: ./node_modules/tinycolor2/tinycolor.js
+var tinycolor = __webpack_require__(48);
+var tinycolor_default = /*#__PURE__*/__webpack_require__.n(tinycolor);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var cover_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ xmlns: "http://www.w3.org/2000/svg",
+ viewBox: "0 0 24 24"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M4 4h7V2H4c-1.1 0-2 .9-2 2v7h2V4zm6 9l-4 5h12l-3-4-2.03 2.71L10 13zm7-4.5c0-.83-.67-1.5-1.5-1.5S14 7.67 14 8.5s.67 1.5 1.5 1.5S17 9.33 17 8.5zM20 2h-7v2h7v7h2V4c0-1.1-.9-2-2-2zm0 18h-7v2h7c1.1 0 2-.9 2-2v-7h-2v7zM4 13H2v7c0 1.1.9 2 2 2h7v-2H4v-7z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M0 0h24v24H0z",
+ fill: "none"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/edit.js
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+/**
+ * Module Constants
+ */
+
+var cover_edit_ALLOWED_MEDIA_TYPES = ['image', 'video'];
+var INNER_BLOCKS_TEMPLATE = [['core/paragraph', {
+ align: 'center',
+ fontSize: 'large',
+ placeholder: Object(external_this_wp_i18n_["__"])('Write title…')
+}]];
+
+function retrieveFastAverageColor() {
+ if (!retrieveFastAverageColor.fastAverageColor) {
+ retrieveFastAverageColor.fastAverageColor = new dist_default.a();
+ }
+
+ return retrieveFastAverageColor.fastAverageColor;
+}
+
+var CoverHeightInput = Object(external_this_wp_compose_["withInstanceId"])(function (_ref) {
+ var _ref$value = _ref.value,
+ value = _ref$value === void 0 ? '' : _ref$value,
+ instanceId = _ref.instanceId,
+ onChange = _ref.onChange;
+
+ var _useState = Object(external_this_wp_element_["useState"])(null),
+ _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
+ temporaryInput = _useState2[0],
+ setTemporaryInput = _useState2[1];
+
+ var onChangeEvent = Object(external_this_wp_element_["useCallback"])(function (event) {
+ var unprocessedValue = event.target.value;
+ var inputValue = unprocessedValue !== '' ? parseInt(event.target.value, 10) : undefined;
+
+ if ((isNaN(inputValue) || inputValue < COVER_MIN_HEIGHT) && inputValue !== undefined) {
+ setTemporaryInput(event.target.value);
+ return;
+ }
+
+ setTemporaryInput(null);
+ onChange(inputValue);
+ }, [onChange, setTemporaryInput]);
+ var onBlurEvent = Object(external_this_wp_element_["useCallback"])(function () {
+ if (temporaryInput !== null) {
+ setTemporaryInput(null);
+ }
+ }, [temporaryInput, setTemporaryInput]);
+ var inputId = "block-cover-height-input-".concat(instanceId);
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["BaseControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Minimum height in pixels'),
+ id: inputId
+ }, Object(external_this_wp_element_["createElement"])("input", {
+ type: "number",
+ id: inputId,
+ onChange: onChangeEvent,
+ onBlur: onBlurEvent,
+ value: temporaryInput !== null ? temporaryInput : value,
+ min: COVER_MIN_HEIGHT,
+ step: "10"
+ }));
+});
+var RESIZABLE_BOX_ENABLE_OPTION = {
+ top: false,
+ right: false,
+ bottom: true,
+ left: false,
+ topRight: false,
+ bottomRight: false,
+ bottomLeft: false,
+ topLeft: false
+};
+
+function ResizableCover(_ref2) {
+ var className = _ref2.className,
+ children = _ref2.children,
+ onResizeStart = _ref2.onResizeStart,
+ onResize = _ref2.onResize,
+ onResizeStop = _ref2.onResizeStop;
+
+ var _useState3 = Object(external_this_wp_element_["useState"])(false),
+ _useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
+ isResizing = _useState4[0],
+ setIsResizing = _useState4[1];
+
+ var onResizeEvent = Object(external_this_wp_element_["useCallback"])(function (event, direction, elt) {
+ onResize(elt.clientHeight);
+
+ if (!isResizing) {
+ setIsResizing(true);
+ }
+ }, [onResize, setIsResizing]);
+ var onResizeStartEvent = Object(external_this_wp_element_["useCallback"])(function (event, direction, elt) {
+ onResizeStart(elt.clientHeight);
+ onResize(elt.clientHeight);
+ }, [onResizeStart, onResize]);
+ var onResizeStopEvent = Object(external_this_wp_element_["useCallback"])(function (event, direction, elt) {
+ onResizeStop(elt.clientHeight);
+ setIsResizing(false);
+ }, [onResizeStop, setIsResizing]);
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ResizableBox"], {
+ className: classnames_default()(className, {
+ 'is-resizing': isResizing
+ }),
+ enable: RESIZABLE_BOX_ENABLE_OPTION,
+ onResizeStart: onResizeStartEvent,
+ onResize: onResizeEvent,
+ onResizeStop: onResizeStopEvent,
+ minHeight: COVER_MIN_HEIGHT
+ }, children);
+}
+
+var edit_CoverEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(CoverEdit, _Component);
+
+ function CoverEdit() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, CoverEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(CoverEdit).apply(this, arguments));
+ _this.state = {
+ isDark: false,
+ temporaryMinHeight: null
+ };
+ _this.imageRef = Object(external_this_wp_element_["createRef"])();
+ _this.videoRef = Object(external_this_wp_element_["createRef"])();
+ _this.changeIsDarkIfRequired = _this.changeIsDarkIfRequired.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onUploadError = _this.onUploadError.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(CoverEdit, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ this.handleBackgroundMode();
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ this.handleBackgroundMode(prevProps);
+ }
+ }, {
+ key: "onUploadError",
+ value: function onUploadError(message) {
+ var noticeOperations = this.props.noticeOperations;
+ noticeOperations.removeAllNotices();
+ noticeOperations.createErrorNotice(message);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this2 = this;
+
+ var _this$props = this.props,
+ attributes = _this$props.attributes,
+ setAttributes = _this$props.setAttributes,
+ isSelected = _this$props.isSelected,
+ className = _this$props.className,
+ noticeUI = _this$props.noticeUI,
+ overlayColor = _this$props.overlayColor,
+ setOverlayColor = _this$props.setOverlayColor,
+ toggleSelection = _this$props.toggleSelection;
+ var backgroundType = attributes.backgroundType,
+ dimRatio = attributes.dimRatio,
+ focalPoint = attributes.focalPoint,
+ hasParallax = attributes.hasParallax,
+ id = attributes.id,
+ url = attributes.url,
+ minHeight = attributes.minHeight;
+
+ var onSelectMedia = function onSelectMedia(media) {
+ if (!media || !media.url) {
+ setAttributes({
+ url: undefined,
+ id: undefined
+ });
+ return;
+ }
+
+ var mediaType; // for media selections originated from a file upload.
+
+ if (media.media_type) {
+ if (media.media_type === IMAGE_BACKGROUND_TYPE) {
+ mediaType = IMAGE_BACKGROUND_TYPE;
+ } else {
+ // only images and videos are accepted so if the media_type is not an image we can assume it is a video.
+ // Videos contain the media type of 'file' in the object returned from the rest api.
+ mediaType = VIDEO_BACKGROUND_TYPE;
+ }
+ } else {
+ // for media selections originated from existing files in the media library.
+ if (media.type !== IMAGE_BACKGROUND_TYPE && media.type !== VIDEO_BACKGROUND_TYPE) {
+ return;
+ }
+
+ mediaType = media.type;
+ }
+
+ setAttributes(Object(objectSpread["a" /* default */])({
+ url: media.url,
+ id: media.id,
+ backgroundType: mediaType
+ }, mediaType === VIDEO_BACKGROUND_TYPE ? {
+ focalPoint: undefined,
+ hasParallax: undefined
+ } : {}));
+ };
+
+ var toggleParallax = function toggleParallax() {
+ setAttributes(Object(objectSpread["a" /* default */])({
+ hasParallax: !hasParallax
+ }, !hasParallax ? {
+ focalPoint: undefined
+ } : {}));
+ };
+
+ var setDimRatio = function setDimRatio(ratio) {
+ return setAttributes({
+ dimRatio: ratio
+ });
+ };
+
+ var temporaryMinHeight = this.state.temporaryMinHeight;
+
+ var style = Object(objectSpread["a" /* default */])({}, backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {}, {
+ backgroundColor: overlayColor.color,
+ minHeight: temporaryMinHeight || minHeight
+ });
+
+ if (focalPoint) {
+ style.backgroundPosition = "".concat(focalPoint.x * 100, "% ").concat(focalPoint.y * 100, "%");
+ }
+
+ var controls = Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockControls"], null, !!(url || overlayColor.color) && Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaUploadCheck"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Toolbar"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaUpload"], {
+ onSelect: onSelectMedia,
+ allowedTypes: cover_edit_ALLOWED_MEDIA_TYPES,
+ value: id,
+ render: function render(_ref3) {
+ var open = _ref3.open;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], {
+ className: "components-toolbar__control",
+ label: Object(external_this_wp_i18n_["__"])('Edit media'),
+ icon: "edit",
+ onClick: open
+ });
+ }
+ }))))), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, !!url && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Media Settings')
+ }, IMAGE_BACKGROUND_TYPE === backgroundType && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Fixed Background'),
+ checked: hasParallax,
+ onChange: toggleParallax
+ }), IMAGE_BACKGROUND_TYPE === backgroundType && !hasParallax && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["FocalPointPicker"], {
+ label: Object(external_this_wp_i18n_["__"])('Focal Point Picker'),
+ url: url,
+ value: focalPoint,
+ onChange: function onChange(value) {
+ return setAttributes({
+ focalPoint: value
+ });
+ }
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelRow"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
+ isDefault: true,
+ isSmall: true,
+ className: "block-library-cover__reset-button",
+ onClick: function onClick() {
+ return setAttributes({
+ url: undefined,
+ id: undefined,
+ backgroundType: undefined,
+ dimRatio: undefined,
+ focalPoint: undefined,
+ hasParallax: undefined
+ });
+ }
+ }, Object(external_this_wp_i18n_["__"])('Clear Media')))), (url || overlayColor.color) && Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Dimensions')
+ }, Object(external_this_wp_element_["createElement"])(CoverHeightInput, {
+ value: temporaryMinHeight || minHeight,
+ onChange: function onChange(value) {
+ setAttributes({
+ minHeight: value
+ });
+ }
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["PanelColorSettings"], {
+ title: Object(external_this_wp_i18n_["__"])('Overlay'),
+ initialOpen: true,
+ colorSettings: [{
+ value: overlayColor.color,
+ onChange: setOverlayColor,
+ label: Object(external_this_wp_i18n_["__"])('Overlay Color')
+ }]
+ }, !!url && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["RangeControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Background Opacity'),
+ value: dimRatio,
+ onChange: setDimRatio,
+ min: 0,
+ max: 100,
+ step: 10,
+ required: true
+ })))));
+
+ if (!(url || overlayColor.color)) {
+ var placeholderIcon = Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockIcon"], {
+ icon: cover_icon
+ });
+
+ var label = Object(external_this_wp_i18n_["__"])('Cover');
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, controls, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaPlaceholder"], {
+ icon: placeholderIcon,
+ className: className,
+ labels: {
+ title: label,
+ instructions: Object(external_this_wp_i18n_["__"])('Upload an image or video file, or pick one from your media library.')
+ },
+ onSelect: onSelectMedia,
+ accept: "image/*,video/*",
+ allowedTypes: cover_edit_ALLOWED_MEDIA_TYPES,
+ notices: noticeUI,
+ onError: this.onUploadError
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["ColorPalette"], {
+ disableCustomColors: true,
+ value: overlayColor.color,
+ onChange: setOverlayColor,
+ clearable: false,
+ className: "wp-block-cover__placeholder-color-palette"
+ })));
+ }
+
+ var classes = classnames_default()(className, dimRatioToClass(dimRatio), Object(defineProperty["a" /* default */])({
+ 'is-dark-theme': this.state.isDark,
+ 'has-background-dim': dimRatio !== 0,
+ 'has-parallax': hasParallax
+ }, overlayColor.class, overlayColor.class));
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, controls, Object(external_this_wp_element_["createElement"])(ResizableCover, {
+ className: classnames_default()('block-library-cover__resize-container', {
+ 'is-selected': isSelected
+ }),
+ onResizeStart: function onResizeStart() {
+ return toggleSelection(false);
+ },
+ onResize: function onResize(newMinHeight) {
+ _this2.setState({
+ temporaryMinHeight: newMinHeight
+ });
+ },
+ onResizeStop: function onResizeStop(newMinHeight) {
+ toggleSelection(true);
+ setAttributes({
+ minHeight: newMinHeight
+ });
+
+ _this2.setState({
+ temporaryMinHeight: null
+ });
+ }
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ "data-url": url,
+ style: style,
+ className: classes
+ }, IMAGE_BACKGROUND_TYPE === backgroundType && // Used only to programmatically check if the image is dark or not
+ Object(external_this_wp_element_["createElement"])("img", {
+ ref: this.imageRef,
+ "aria-hidden": true,
+ alt: "",
+ style: {
+ display: 'none'
+ },
+ src: url
+ }), VIDEO_BACKGROUND_TYPE === backgroundType && Object(external_this_wp_element_["createElement"])("video", {
+ ref: this.videoRef,
+ className: "wp-block-cover__video-background",
+ autoPlay: true,
+ muted: true,
+ loop: true,
+ src: url
+ }), Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-cover__inner-container"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InnerBlocks"], {
+ template: INNER_BLOCKS_TEMPLATE
+ })))));
+ }
+ }, {
+ key: "handleBackgroundMode",
+ value: function handleBackgroundMode(prevProps) {
+ var _this3 = this;
+
+ var _this$props2 = this.props,
+ attributes = _this$props2.attributes,
+ overlayColor = _this$props2.overlayColor;
+ var dimRatio = attributes.dimRatio,
+ url = attributes.url; // If opacity is greater than 50 the dominant color is the overlay color,
+ // so use that color for the dark mode computation.
+
+ if (dimRatio > 50) {
+ if (prevProps && prevProps.attributes.dimRatio > 50 && prevProps.overlayColor.color === overlayColor.color) {
+ // No relevant prop changes happened there is no need to apply any change.
+ return;
+ }
+
+ if (!overlayColor.color) {
+ // If no overlay color exists the overlay color is black (isDark )
+ this.changeIsDarkIfRequired(true);
+ return;
+ }
+
+ this.changeIsDarkIfRequired(tinycolor_default()(overlayColor.color).isDark());
+ return;
+ } // If opacity is lower than 50 the dominant color is the image or video color,
+ // so use that color for the dark mode computation.
+
+
+ if (prevProps && prevProps.attributes.dimRatio <= 50 && prevProps.attributes.url === url) {
+ // No relevant prop changes happened there is no need to apply any change.
+ return;
+ }
+
+ var backgroundType = attributes.backgroundType;
+ var element;
+
+ switch (backgroundType) {
+ case IMAGE_BACKGROUND_TYPE:
+ element = this.imageRef.current;
+ break;
+
+ case VIDEO_BACKGROUND_TYPE:
+ element = this.videoRef.current;
+ break;
+ }
+
+ if (!element) {
+ return;
+ }
+
+ retrieveFastAverageColor().getColorAsync(element, function (color) {
+ _this3.changeIsDarkIfRequired(color.isDark);
+ });
+ }
+ }, {
+ key: "changeIsDarkIfRequired",
+ value: function changeIsDarkIfRequired(newIsDark) {
+ if (this.state.isDark !== newIsDark) {
+ this.setState({
+ isDark: newIsDark
+ });
+ }
+ }
+ }]);
+
+ return CoverEdit;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var cover_edit = (Object(external_this_wp_compose_["compose"])([Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/block-editor'),
+ toggleSelection = _dispatch.toggleSelection;
+
+ return {
+ toggleSelection: toggleSelection
+ };
+}), Object(external_this_wp_blockEditor_["withColors"])({
+ overlayColor: 'background-color'
+}), external_this_wp_components_["withNotices"], external_this_wp_compose_["withInstanceId"]])(edit_CoverEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/save.js
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+function cover_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var backgroundType = attributes.backgroundType,
+ customOverlayColor = attributes.customOverlayColor,
+ dimRatio = attributes.dimRatio,
+ focalPoint = attributes.focalPoint,
+ hasParallax = attributes.hasParallax,
+ overlayColor = attributes.overlayColor,
+ url = attributes.url,
+ minHeight = attributes.minHeight;
+ var overlayColorClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', overlayColor);
+ var style = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {};
+
+ if (!overlayColorClass) {
+ style.backgroundColor = customOverlayColor;
+ }
+
+ if (focalPoint && !hasParallax) {
+ style.backgroundPosition = "".concat(focalPoint.x * 100, "% ").concat(focalPoint.y * 100, "%");
+ }
+
+ style.minHeight = minHeight || undefined;
+ var classes = classnames_default()(dimRatioToClass(dimRatio), overlayColorClass, {
+ 'has-background-dim': dimRatio !== 0,
+ 'has-parallax': hasParallax
+ });
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: classes,
+ style: style
+ }, VIDEO_BACKGROUND_TYPE === backgroundType && url && Object(external_this_wp_element_["createElement"])("video", {
+ className: "wp-block-cover__video-background",
+ autoPlay: true,
+ muted: true,
+ loop: true,
+ src: url
+ }), Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-cover__inner-container"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InnerBlocks"].Content, null)));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/transforms.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+var cover_transforms_transforms = {
+ from: [{
+ type: 'block',
+ blocks: ['core/image'],
+ transform: function transform(_ref) {
+ var caption = _ref.caption,
+ url = _ref.url,
+ align = _ref.align,
+ id = _ref.id;
+ return Object(external_this_wp_blocks_["createBlock"])('core/cover', {
+ title: caption,
+ url: url,
+ align: align,
+ id: id
+ });
+ }
+ }, {
+ type: 'block',
+ blocks: ['core/video'],
+ transform: function transform(_ref2) {
+ var caption = _ref2.caption,
+ src = _ref2.src,
+ align = _ref2.align,
+ id = _ref2.id;
+ return Object(external_this_wp_blocks_["createBlock"])('core/cover', {
+ title: caption,
+ url: src,
+ align: align,
+ id: id,
+ backgroundType: VIDEO_BACKGROUND_TYPE
+ });
+ }
+ }],
+ to: [{
+ type: 'block',
+ blocks: ['core/image'],
+ isMatch: function isMatch(_ref3) {
+ var backgroundType = _ref3.backgroundType,
+ url = _ref3.url;
+ return !url || backgroundType === IMAGE_BACKGROUND_TYPE;
+ },
+ transform: function transform(_ref4) {
+ var title = _ref4.title,
+ url = _ref4.url,
+ align = _ref4.align,
+ id = _ref4.id;
+ return Object(external_this_wp_blocks_["createBlock"])('core/image', {
+ caption: title,
+ url: url,
+ align: align,
+ id: id
+ });
+ }
+ }, {
+ type: 'block',
+ blocks: ['core/video'],
+ isMatch: function isMatch(_ref5) {
+ var backgroundType = _ref5.backgroundType,
+ url = _ref5.url;
+ return !url || backgroundType === VIDEO_BACKGROUND_TYPE;
+ },
+ transform: function transform(_ref6) {
+ var title = _ref6.title,
+ url = _ref6.url,
+ align = _ref6.align,
+ id = _ref6.id;
+ return Object(external_this_wp_blocks_["createBlock"])('core/video', {
+ caption: title,
+ src: url,
+ id: id,
+ align: align
+ });
+ }
+ }]
+};
+/* harmony default export */ var cover_transforms = (cover_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var cover_metadata = {
+ name: "core/cover",
+ category: "common",
+ attributes: {
+ url: {
+ type: "string"
+ },
+ id: {
+ type: "number"
+ },
+ hasParallax: {
+ type: "boolean",
+ "default": false
+ },
+ dimRatio: {
+ type: "number",
+ "default": 50
+ },
+ overlayColor: {
+ type: "string"
+ },
+ customOverlayColor: {
+ type: "string"
+ },
+ backgroundType: {
+ type: "string",
+ "default": "image"
+ },
+ focalPoint: {
+ type: "object"
+ },
+ minHeight: {
+ type: "number"
+ }
+ }
+};
+
+
+var cover_name = cover_metadata.name;
+
+var cover_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Cover'),
+ description: Object(external_this_wp_i18n_["__"])('Add an image or video with a text overlay — great for headers.'),
+ icon: cover_icon,
+ supports: {
+ align: true
+ },
+ example: {
+ attributes: {
+ customOverlayColor: '#065174',
+ dimRatio: 40,
+ url: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg'
+ },
+ innerBlocks: [{
+ name: 'core/paragraph',
+ attributes: {
+ customFontSize: 48,
+ content: Object(external_this_wp_i18n_["__"])('<strong>Snow Patrol</strong>'),
+ align: 'center'
+ }
+ }]
+ },
+ transforms: cover_transforms,
+ save: cover_save_save,
+ edit: cover_edit,
+ deprecated: cover_deprecated
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-controls.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+var embed_controls_EmbedControls = function EmbedControls(props) {
+ var blockSupportsResponsive = props.blockSupportsResponsive,
+ showEditButton = props.showEditButton,
+ themeSupportsResponsive = props.themeSupportsResponsive,
+ allowResponsive = props.allowResponsive,
+ getResponsiveHelp = props.getResponsiveHelp,
+ toggleResponsive = props.toggleResponsive,
+ switchBackToURLInput = props.switchBackToURLInput;
+ 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_["Toolbar"], null, showEditButton && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], {
+ className: "components-toolbar__control",
+ label: Object(external_this_wp_i18n_["__"])('Edit URL'),
+ icon: "edit",
+ onClick: switchBackToURLInput
+ }))), themeSupportsResponsive && blockSupportsResponsive && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Media Settings'),
+ className: "blocks-responsive"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Resize for smaller devices'),
+ checked: allowResponsive,
+ help: getResponsiveHelp,
+ onChange: toggleResponsive
+ }))));
+};
+
+/* harmony default export */ var embed_controls = (embed_controls_EmbedControls);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-loading.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+var embed_loading_EmbedLoading = function EmbedLoading() {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-embed is-loading"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Spinner"], null), Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_i18n_["__"])('Embedding…')));
+};
+
+/* harmony default export */ var embed_loading = (embed_loading_EmbedLoading);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-placeholder.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+var embed_placeholder_EmbedPlaceholder = function EmbedPlaceholder(props) {
+ var icon = props.icon,
+ label = props.label,
+ value = props.value,
+ onSubmit = props.onSubmit,
+ onChange = props.onChange,
+ cannotEmbed = props.cannotEmbed,
+ fallback = props.fallback,
+ tryAgain = props.tryAgain;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Placeholder"], {
+ icon: Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockIcon"], {
+ icon: icon,
+ showColors: true
+ }),
+ label: label,
+ className: "wp-block-embed",
+ instructions: Object(external_this_wp_i18n_["__"])('Paste a link to the content you want to display on your site.')
+ }, Object(external_this_wp_element_["createElement"])("form", {
+ onSubmit: onSubmit
+ }, Object(external_this_wp_element_["createElement"])("input", {
+ type: "url",
+ value: value || '',
+ className: "components-placeholder__input",
+ "aria-label": label,
+ placeholder: Object(external_this_wp_i18n_["__"])('Enter URL to embed here…'),
+ onChange: onChange
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
+ isLarge: true,
+ type: "submit"
+ }, Object(external_this_wp_i18n_["_x"])('Embed', 'button label')), cannotEmbed && Object(external_this_wp_element_["createElement"])("p", {
+ className: "components-placeholder__error"
+ }, Object(external_this_wp_i18n_["__"])('Sorry, this content could not be embedded.'), Object(external_this_wp_element_["createElement"])("br", null), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
+ isLarge: true,
+ onClick: tryAgain
+ }, Object(external_this_wp_i18n_["_x"])('Try again', 'button label')), " ", Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
+ isLarge: true,
+ onClick: fallback
+ }, Object(external_this_wp_i18n_["_x"])('Convert to link', 'button label')))), Object(external_this_wp_element_["createElement"])("div", {
+ className: "components-placeholder__learn-more"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ExternalLink"], {
+ href: Object(external_this_wp_i18n_["__"])('https://wordpress.org/support/article/embeds/')
+ }, Object(external_this_wp_i18n_["__"])('Learn more about embeds'))));
+};
+
+/* harmony default export */ var embed_placeholder = (embed_placeholder_EmbedPlaceholder);
+
+// EXTERNAL MODULE: ./node_modules/url/url.js
+var url_url = __webpack_require__(82);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/wp-embed-preview.js
+
+
+
+
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Browser dependencies
+ */
+
+var wp_embed_preview_window = window,
+ FocusEvent = wp_embed_preview_window.FocusEvent;
+
+var wp_embed_preview_WpEmbedPreview =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(WpEmbedPreview, _Component);
+
+ function WpEmbedPreview() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, WpEmbedPreview);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(WpEmbedPreview).apply(this, arguments));
+ _this.checkFocus = _this.checkFocus.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.node = Object(external_this_wp_element_["createRef"])();
+ return _this;
+ }
+ /**
+ * Checks whether the wp embed iframe is the activeElement,
+ * if it is dispatch a focus event.
+ */
+
+
+ Object(createClass["a" /* default */])(WpEmbedPreview, [{
+ key: "checkFocus",
+ value: function checkFocus() {
+ var _document = document,
+ activeElement = _document.activeElement;
+
+ if (activeElement.tagName !== 'IFRAME' || activeElement.parentNode !== this.node.current) {
+ return;
+ }
+
+ var focusEvent = new FocusEvent('focus', {
+ bubbles: true
+ });
+ activeElement.dispatchEvent(focusEvent);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var html = this.props.html;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ ref: this.node,
+ className: "wp-block-embed__wrapper",
+ dangerouslySetInnerHTML: {
+ __html: html
+ }
+ });
+ }
+ }]);
+
+ return WpEmbedPreview;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var wp_embed_preview = (Object(external_this_wp_compose_["withGlobalEvents"])({
+ blur: 'checkFocus'
+})(wp_embed_preview_WpEmbedPreview));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-preview.js
+
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var embed_preview_EmbedPreview =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(EmbedPreview, _Component);
+
+ function EmbedPreview() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, EmbedPreview);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(EmbedPreview).apply(this, arguments));
+ _this.hideOverlay = _this.hideOverlay.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.state = {
+ interactive: false
+ };
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(EmbedPreview, [{
+ key: "hideOverlay",
+ value: function hideOverlay() {
+ // This is called onMouseUp on the overlay. We can't respond to the `isSelected` prop
+ // changing, because that happens on mouse down, and the overlay immediately disappears,
+ // and the mouse event can end up in the preview content. We can't use onClick on
+ // the overlay to hide it either, because then the editor misses the mouseup event, and
+ // thinks we're multi-selecting blocks.
+ this.setState({
+ interactive: true
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ preview = _this$props.preview,
+ url = _this$props.url,
+ type = _this$props.type,
+ caption = _this$props.caption,
+ onCaptionChange = _this$props.onCaptionChange,
+ isSelected = _this$props.isSelected,
+ className = _this$props.className,
+ icon = _this$props.icon,
+ label = _this$props.label;
+ var scripts = preview.scripts;
+ var interactive = this.state.interactive;
+ var html = 'photo' === type ? util_getPhotoHtml(preview) : preview.html;
+ var parsedHost = Object(url_url["parse"])(url).host.split('.');
+ var parsedHostBaseUrl = parsedHost.splice(parsedHost.length - 2, parsedHost.length - 1).join('.');
+ var cannotPreview = Object(external_lodash_["includes"])(HOSTS_NO_PREVIEWS, parsedHostBaseUrl); // translators: %s: host providing embed content e.g: www.youtube.com
+
+ var iframeTitle = Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Embedded content from %s'), parsedHostBaseUrl);
+ var sandboxClassnames = dedupe_default()(type, className, 'wp-block-embed__wrapper'); // Disabled because the overlay div doesn't actually have a role or functionality
+ // as far as the user is concerned. We're just catching the first click so that
+ // the block can be selected without interacting with the embed preview that the overlay covers.
+
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
+
+ var embedWrapper = 'wp-embed' === type ? Object(external_this_wp_element_["createElement"])(wp_embed_preview, {
+ html: html
+ }) : Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-embed__wrapper"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SandBox"], {
+ html: html,
+ scripts: scripts,
+ title: iframeTitle,
+ type: sandboxClassnames,
+ onFocus: this.hideOverlay
+ }), !interactive && Object(external_this_wp_element_["createElement"])("div", {
+ className: "block-library-embed__interactive-overlay",
+ onMouseUp: this.hideOverlay
+ }));
+ /* eslint-enable jsx-a11y/no-static-element-interactions */
+
+ return Object(external_this_wp_element_["createElement"])("figure", {
+ className: dedupe_default()(className, 'wp-block-embed', {
+ 'is-type-video': 'video' === type
+ })
+ }, cannotPreview ? Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Placeholder"], {
+ icon: Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockIcon"], {
+ icon: icon,
+ showColors: true
+ }),
+ label: label
+ }, Object(external_this_wp_element_["createElement"])("p", {
+ className: "components-placeholder__error"
+ }, Object(external_this_wp_element_["createElement"])("a", {
+ href: url
+ }, url)), Object(external_this_wp_element_["createElement"])("p", {
+ className: "components-placeholder__error"
+ },
+ /* translators: %s: host providing embed content e.g: www.youtube.com */
+ Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])("Embedded content from %s can't be previewed in the editor."), parsedHostBaseUrl))) : embedWrapper, (!external_this_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ tagName: "figcaption",
+ placeholder: Object(external_this_wp_i18n_["__"])('Write caption…'),
+ value: caption,
+ onChange: onCaptionChange,
+ inlineToolbar: true
+ }));
+ }
+ }], [{
+ key: "getDerivedStateFromProps",
+ value: function getDerivedStateFromProps(nextProps, state) {
+ if (!nextProps.isSelected && state.interactive) {
+ // We only want to change this when the block is not selected, because changing it when
+ // the block becomes selected makes the overlap disappear too early. Hiding the overlay
+ // happens on mouseup when the overlay is clicked.
+ return {
+ interactive: false
+ };
+ }
+
+ return null;
+ }
+ }]);
+
+ return EmbedPreview;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var embed_preview = (embed_preview_EmbedPreview);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/edit.js
+
+
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+function getEmbedEditComponent(title, icon) {
+ var responsive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
+ return (
+ /*#__PURE__*/
+ function (_Component) {
+ Object(inherits["a" /* default */])(_class, _Component);
+
+ function _class() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, _class);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(_class).apply(this, arguments));
+ _this.switchBackToURLInput = _this.switchBackToURLInput.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.setUrl = _this.setUrl.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.getMergedAttributes = _this.getMergedAttributes.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.setMergedAttributes = _this.setMergedAttributes.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.getResponsiveHelp = _this.getResponsiveHelp.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.toggleResponsive = _this.toggleResponsive.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.handleIncomingPreview = _this.handleIncomingPreview.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.state = {
+ editingURL: false,
+ url: _this.props.attributes.url
+ };
+
+ if (_this.props.preview) {
+ _this.handleIncomingPreview();
+ }
+
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(_class, [{
+ key: "handleIncomingPreview",
+ value: function handleIncomingPreview() {
+ this.setMergedAttributes();
+
+ if (this.props.onReplace) {
+ var upgradedBlock = util_createUpgradedEmbedBlock(this.props, this.getMergedAttributes());
+
+ if (upgradedBlock) {
+ this.props.onReplace(upgradedBlock);
+ }
+ }
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var hasPreview = undefined !== this.props.preview;
+ var hadPreview = undefined !== prevProps.preview;
+ var previewChanged = prevProps.preview && this.props.preview && this.props.preview.html !== prevProps.preview.html;
+ var switchedPreview = previewChanged || hasPreview && !hadPreview;
+ var switchedURL = this.props.attributes.url !== prevProps.attributes.url;
+
+ if (switchedPreview || switchedURL) {
+ if (this.props.cannotEmbed) {
+ // We either have a new preview or a new URL, but we can't embed it.
+ if (!this.props.fetching) {
+ // If we're not fetching the preview, then we know it can't be embedded, so try
+ // removing any trailing slash, and resubmit.
+ this.resubmitWithoutTrailingSlash();
+ }
+
+ return;
+ }
+
+ this.handleIncomingPreview();
+ }
+ }
+ }, {
+ key: "resubmitWithoutTrailingSlash",
+ value: function resubmitWithoutTrailingSlash() {
+ this.setState(function (prevState) {
+ return {
+ url: prevState.url.replace(/\/$/, '')
+ };
+ }, this.setUrl);
+ }
+ }, {
+ key: "setUrl",
+ value: function setUrl(event) {
+ if (event) {
+ event.preventDefault();
+ }
+
+ var url = this.state.url;
+ var setAttributes = this.props.setAttributes;
+ this.setState({
+ editingURL: false
+ });
+ setAttributes({
+ url: url
+ });
+ }
+ /***
+ * @return {Object} Attributes derived from the preview, merged with the current attributes.
+ */
+
+ }, {
+ key: "getMergedAttributes",
+ value: function getMergedAttributes() {
+ var preview = this.props.preview;
+ var _this$props$attribute = this.props.attributes,
+ className = _this$props$attribute.className,
+ allowResponsive = _this$props$attribute.allowResponsive;
+ return Object(objectSpread["a" /* default */])({}, this.props.attributes, getAttributesFromPreview(preview, title, className, responsive, allowResponsive));
+ }
+ /***
+ * Sets block attributes based on the current attributes and preview data.
+ */
+
+ }, {
+ key: "setMergedAttributes",
+ value: function setMergedAttributes() {
+ var setAttributes = this.props.setAttributes;
+ setAttributes(this.getMergedAttributes());
+ }
+ }, {
+ key: "switchBackToURLInput",
+ value: function switchBackToURLInput() {
+ this.setState({
+ editingURL: true
+ });
+ }
+ }, {
+ key: "getResponsiveHelp",
+ value: function getResponsiveHelp(checked) {
+ return checked ? Object(external_this_wp_i18n_["__"])('This embed will preserve its aspect ratio when the browser is resized.') : Object(external_this_wp_i18n_["__"])('This embed may not preserve its aspect ratio when the browser is resized.');
+ }
+ }, {
+ key: "toggleResponsive",
+ value: function toggleResponsive() {
+ var _this$props$attribute2 = this.props.attributes,
+ allowResponsive = _this$props$attribute2.allowResponsive,
+ className = _this$props$attribute2.className;
+ var html = this.props.preview.html;
+ var newAllowResponsive = !allowResponsive;
+ this.props.setAttributes({
+ allowResponsive: newAllowResponsive,
+ className: getClassNames(html, className, responsive && newAllowResponsive)
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this2 = this;
+
+ var _this$state = this.state,
+ url = _this$state.url,
+ editingURL = _this$state.editingURL;
+ var _this$props = this.props,
+ fetching = _this$props.fetching,
+ setAttributes = _this$props.setAttributes,
+ isSelected = _this$props.isSelected,
+ preview = _this$props.preview,
+ cannotEmbed = _this$props.cannotEmbed,
+ themeSupportsResponsive = _this$props.themeSupportsResponsive,
+ tryAgain = _this$props.tryAgain;
+
+ if (fetching) {
+ return Object(external_this_wp_element_["createElement"])(embed_loading, null);
+ } // translators: %s: type of embed e.g: "YouTube", "Twitter", etc. "Embed" is used when no specific type exists
+
+
+ var label = Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%s URL'), title); // No preview, or we can't embed the current URL, or we've clicked the edit button.
+
+ if (!preview || cannotEmbed || editingURL) {
+ return Object(external_this_wp_element_["createElement"])(embed_placeholder, {
+ icon: icon,
+ label: label,
+ onSubmit: this.setUrl,
+ value: url,
+ cannotEmbed: cannotEmbed,
+ onChange: function onChange(event) {
+ return _this2.setState({
+ url: event.target.value
+ });
+ },
+ fallback: function fallback() {
+ return util_fallback(url, _this2.props.onReplace);
+ },
+ tryAgain: tryAgain
+ });
+ } // Even though we set attributes that get derived from the preview,
+ // we don't access them directly because for the initial render,
+ // the `setAttributes` call will not have taken effect. If we're
+ // rendering responsive content, setting the responsive classes
+ // after the preview has been rendered can result in unwanted
+ // clipping or scrollbars. The `getAttributesFromPreview` function
+ // that `getMergedAttributes` uses is memoized so that we're not
+ // calculating them on every render.
+
+
+ var previewAttributes = this.getMergedAttributes();
+ var caption = previewAttributes.caption,
+ type = previewAttributes.type,
+ allowResponsive = previewAttributes.allowResponsive;
+ var className = classnames_default()(previewAttributes.className, this.props.className);
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(embed_controls, {
+ showEditButton: preview && !cannotEmbed,
+ themeSupportsResponsive: themeSupportsResponsive,
+ blockSupportsResponsive: responsive,
+ allowResponsive: allowResponsive,
+ getResponsiveHelp: this.getResponsiveHelp,
+ toggleResponsive: this.toggleResponsive,
+ switchBackToURLInput: this.switchBackToURLInput
+ }), Object(external_this_wp_element_["createElement"])(embed_preview, {
+ preview: preview,
+ className: className,
+ url: url,
+ type: type,
+ caption: caption,
+ onCaptionChange: function onCaptionChange(value) {
+ return setAttributes({
+ caption: value
+ });
+ },
+ isSelected: isSelected,
+ icon: icon,
+ label: label
+ }));
+ }
+ }]);
+
+ return _class;
+ }(external_this_wp_element_["Component"])
+ );
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/settings.js
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+var embedAttributes = {
+ url: {
+ type: 'string'
+ },
+ caption: {
+ type: 'string',
+ source: 'html',
+ selector: 'figcaption'
+ },
+ type: {
+ type: 'string'
+ },
+ providerNameSlug: {
+ type: 'string'
+ },
+ allowResponsive: {
+ type: 'boolean',
+ default: true
+ }
+};
+function getEmbedBlockSettings(_ref) {
+ var title = _ref.title,
+ description = _ref.description,
+ icon = _ref.icon,
+ _ref$category = _ref.category,
+ category = _ref$category === void 0 ? 'embed' : _ref$category,
+ transforms = _ref.transforms,
+ _ref$keywords = _ref.keywords,
+ keywords = _ref$keywords === void 0 ? [] : _ref$keywords,
+ _ref$supports = _ref.supports,
+ supports = _ref$supports === void 0 ? {} : _ref$supports,
+ _ref$responsive = _ref.responsive,
+ responsive = _ref$responsive === void 0 ? true : _ref$responsive;
+
+ var blockDescription = description || Object(external_this_wp_i18n_["__"])('Add a block that displays content pulled from other sites, like Twitter, Instagram or YouTube.');
+
+ var edit = getEmbedEditComponent(title, icon, responsive);
+ return {
+ title: title,
+ description: blockDescription,
+ icon: icon,
+ category: category,
+ keywords: keywords,
+ attributes: embedAttributes,
+ supports: Object(objectSpread["a" /* default */])({
+ align: true
+ }, supports),
+ transforms: transforms,
+ edit: Object(external_this_wp_compose_["compose"])(Object(external_this_wp_data_["withSelect"])(function (select, ownProps) {
+ var url = ownProps.attributes.url;
+ var core = select('core');
+ var getEmbedPreview = core.getEmbedPreview,
+ isPreviewEmbedFallback = core.isPreviewEmbedFallback,
+ isRequestingEmbedPreview = core.isRequestingEmbedPreview,
+ getThemeSupports = core.getThemeSupports;
+ var preview = undefined !== url && getEmbedPreview(url);
+ var previewIsFallback = undefined !== url && isPreviewEmbedFallback(url);
+ var fetching = undefined !== url && isRequestingEmbedPreview(url);
+ var themeSupports = getThemeSupports(); // The external oEmbed provider does not exist. We got no type info and no html.
+
+ var badEmbedProvider = !!preview && undefined === preview.type && false === preview.html; // Some WordPress URLs that can't be embedded will cause the API to return
+ // a valid JSON response with no HTML and `data.status` set to 404, rather
+ // than generating a fallback response as other embeds do.
+
+ var wordpressCantEmbed = !!preview && preview.data && preview.data.status === 404;
+ var validPreview = !!preview && !badEmbedProvider && !wordpressCantEmbed;
+ var cannotEmbed = undefined !== url && (!validPreview || previewIsFallback);
+ return {
+ preview: validPreview ? preview : undefined,
+ fetching: fetching,
+ themeSupportsResponsive: themeSupports['responsive-embeds'],
+ cannotEmbed: cannotEmbed
+ };
+ }), Object(external_this_wp_data_["withDispatch"])(function (dispatch, ownProps) {
+ var url = ownProps.attributes.url;
+ var coreData = dispatch('core/data');
+
+ var tryAgain = function tryAgain() {
+ coreData.invalidateResolution('core', 'getEmbedPreview', [url]);
+ };
+
+ return {
+ tryAgain: tryAgain
+ };
+ }))(edit),
+ save: function save(_ref2) {
+ var _classnames;
+
+ var attributes = _ref2.attributes;
+ var url = attributes.url,
+ caption = attributes.caption,
+ type = attributes.type,
+ providerNameSlug = attributes.providerNameSlug;
+
+ if (!url) {
+ return null;
+ }
+
+ var embedClassName = dedupe_default()('wp-block-embed', (_classnames = {}, Object(defineProperty["a" /* default */])(_classnames, "is-type-".concat(type), type), Object(defineProperty["a" /* default */])(_classnames, "is-provider-".concat(providerNameSlug), providerNameSlug), _classnames));
+ return Object(external_this_wp_element_["createElement"])("figure", {
+ className: embedClassName
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-embed__wrapper"
+ }, "\n".concat(url, "\n")
+ /* URL needs to be on its own line. */
+ ), !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "figcaption",
+ value: caption
+ }));
+ },
+ deprecated: [{
+ attributes: embedAttributes,
+ save: function save(_ref3) {
+ var _classnames2;
+
+ var attributes = _ref3.attributes;
+ var url = attributes.url,
+ caption = attributes.caption,
+ type = attributes.type,
+ providerNameSlug = attributes.providerNameSlug;
+
+ if (!url) {
+ return null;
+ }
+
+ var embedClassName = dedupe_default()('wp-block-embed', (_classnames2 = {}, Object(defineProperty["a" /* default */])(_classnames2, "is-type-".concat(type), type), Object(defineProperty["a" /* default */])(_classnames2, "is-provider-".concat(providerNameSlug), providerNameSlug), _classnames2));
+ return Object(external_this_wp_element_["createElement"])("figure", {
+ className: embedClassName
+ }, "\n".concat(url, "\n")
+ /* URL needs to be on its own line. */
+ , !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "figcaption",
+ value: caption
+ }));
+ }
+ }]
+ };
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/index.js
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+var embed_name = 'core/embed';
+var embed_settings = getEmbedBlockSettings({
+ title: Object(external_this_wp_i18n_["_x"])('Embed', 'block title'),
+ description: Object(external_this_wp_i18n_["__"])('Embed videos, images, tweets, audio, and other content from external sources.'),
+ icon: embedContentIcon,
+ // Unknown embeds should not be responsive by default.
+ responsive: false,
+ transforms: {
+ from: [{
+ type: 'raw',
+ isMatch: function isMatch(node) {
+ return node.nodeName === 'P' && /^\s*(https?:\/\/\S+)\s*$/i.test(node.textContent);
+ },
+ transform: function transform(node) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/embed', {
+ url: node.textContent.trim()
+ });
+ }
+ }]
+ }
+});
+var embed_common = common.map(function (embedDefinition) {
+ return Object(objectSpread["a" /* default */])({}, embedDefinition, {
+ settings: getEmbedBlockSettings(embedDefinition.settings)
+ });
+});
+var embed_others = others.map(function (embedDefinition) {
+ return Object(objectSpread["a" /* default */])({}, embedDefinition, {
+ settings: getEmbedBlockSettings(embedDefinition.settings)
+ });
+});
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var file_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fill: "none",
+ d: "M0 0h24v24H0V0z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M9.17 6l2 2H20v10H4V6h5.17M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/inspector.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+function FileBlockInspector(_ref) {
+ var hrefs = _ref.hrefs,
+ openInNewWindow = _ref.openInNewWindow,
+ showDownloadButton = _ref.showDownloadButton,
+ changeLinkDestinationOption = _ref.changeLinkDestinationOption,
+ changeOpenInNewWindow = _ref.changeOpenInNewWindow,
+ changeShowDownloadButton = _ref.changeShowDownloadButton;
+ var href = hrefs.href,
+ textLinkHref = hrefs.textLinkHref,
+ attachmentPage = hrefs.attachmentPage;
+ var linkDestinationOptions = [{
+ value: href,
+ label: Object(external_this_wp_i18n_["__"])('URL')
+ }];
+
+ if (attachmentPage) {
+ linkDestinationOptions = [{
+ value: href,
+ label: Object(external_this_wp_i18n_["__"])('Media File')
+ }, {
+ value: attachmentPage,
+ label: Object(external_this_wp_i18n_["__"])('Attachment page')
+ }];
+ }
+
+ 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"], {
+ title: Object(external_this_wp_i18n_["__"])('Text link settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SelectControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Link To'),
+ value: textLinkHref,
+ options: linkDestinationOptions,
+ onChange: changeLinkDestinationOption
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Open in new tab'),
+ checked: openInNewWindow,
+ onChange: changeOpenInNewWindow
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Download button settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Show download button'),
+ checked: showDownloadButton,
+ onChange: changeShowDownloadButton
+ }))));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/edit.js
+
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var edit_FileEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(FileEdit, _Component);
+
+ function FileEdit() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, FileEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(FileEdit).apply(this, arguments));
+ _this.onSelectFile = _this.onSelectFile.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.confirmCopyURL = _this.confirmCopyURL.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.resetCopyConfirmation = _this.resetCopyConfirmation.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.changeLinkDestinationOption = _this.changeLinkDestinationOption.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.changeOpenInNewWindow = _this.changeOpenInNewWindow.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.changeShowDownloadButton = _this.changeShowDownloadButton.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onUploadError = _this.onUploadError.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.state = {
+ hasError: false,
+ showCopyConfirmation: false
+ };
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(FileEdit, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var _this2 = this;
+
+ var _this$props = this.props,
+ attributes = _this$props.attributes,
+ mediaUpload = _this$props.mediaUpload,
+ noticeOperations = _this$props.noticeOperations,
+ setAttributes = _this$props.setAttributes;
+ var downloadButtonText = attributes.downloadButtonText,
+ href = attributes.href; // Upload a file drag-and-dropped into the editor
+
+ if (Object(external_this_wp_blob_["isBlobURL"])(href)) {
+ var file = Object(external_this_wp_blob_["getBlobByURL"])(href);
+ mediaUpload({
+ filesList: [file],
+ onFileChange: function onFileChange(_ref) {
+ var _ref2 = Object(slicedToArray["a" /* default */])(_ref, 1),
+ media = _ref2[0];
+
+ return _this2.onSelectFile(media);
+ },
+ onError: function onError(message) {
+ _this2.setState({
+ hasError: true
+ });
+
+ noticeOperations.createErrorNotice(message);
+ }
+ });
+ Object(external_this_wp_blob_["revokeBlobURL"])(href);
+ }
+
+ if (downloadButtonText === undefined) {
+ setAttributes({
+ downloadButtonText: Object(external_this_wp_i18n_["_x"])('Download', 'button label')
+ });
+ }
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ // Reset copy confirmation state when block is deselected
+ if (prevProps.isSelected && !this.props.isSelected) {
+ this.setState({
+ showCopyConfirmation: false
+ });
+ }
+ }
+ }, {
+ key: "onSelectFile",
+ value: function onSelectFile(media) {
+ if (media && media.url) {
+ this.setState({
+ hasError: false
+ });
+ this.props.setAttributes({
+ href: media.url,
+ fileName: media.title,
+ textLinkHref: media.url,
+ id: media.id
+ });
+ }
+ }
+ }, {
+ key: "onUploadError",
+ value: function onUploadError(message) {
+ var noticeOperations = this.props.noticeOperations;
+ noticeOperations.removeAllNotices();
+ noticeOperations.createErrorNotice(message);
+ }
+ }, {
+ key: "confirmCopyURL",
+ value: function confirmCopyURL() {
+ this.setState({
+ showCopyConfirmation: true
+ });
+ }
+ }, {
+ key: "resetCopyConfirmation",
+ value: function resetCopyConfirmation() {
+ this.setState({
+ showCopyConfirmation: false
+ });
+ }
+ }, {
+ key: "changeLinkDestinationOption",
+ value: function changeLinkDestinationOption(newHref) {
+ // Choose Media File or Attachment Page (when file is in Media Library)
+ this.props.setAttributes({
+ textLinkHref: newHref
+ });
+ }
+ }, {
+ key: "changeOpenInNewWindow",
+ value: function changeOpenInNewWindow(newValue) {
+ this.props.setAttributes({
+ textLinkTarget: newValue ? '_blank' : false
+ });
+ }
+ }, {
+ key: "changeShowDownloadButton",
+ value: function changeShowDownloadButton(newValue) {
+ this.props.setAttributes({
+ showDownloadButton: newValue
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this3 = this;
+
+ var _this$props2 = this.props,
+ className = _this$props2.className,
+ isSelected = _this$props2.isSelected,
+ attributes = _this$props2.attributes,
+ setAttributes = _this$props2.setAttributes,
+ noticeUI = _this$props2.noticeUI,
+ media = _this$props2.media;
+ var fileName = attributes.fileName,
+ href = attributes.href,
+ textLinkHref = attributes.textLinkHref,
+ textLinkTarget = attributes.textLinkTarget,
+ showDownloadButton = attributes.showDownloadButton,
+ downloadButtonText = attributes.downloadButtonText,
+ id = attributes.id;
+ var _this$state = this.state,
+ hasError = _this$state.hasError,
+ showCopyConfirmation = _this$state.showCopyConfirmation;
+ var attachmentPage = media && media.link;
+
+ if (!href || hasError) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaPlaceholder"], {
+ icon: Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockIcon"], {
+ icon: file_icon
+ }),
+ labels: {
+ title: Object(external_this_wp_i18n_["__"])('File'),
+ instructions: Object(external_this_wp_i18n_["__"])('Upload a file or pick one from your media library.')
+ },
+ onSelect: this.onSelectFile,
+ notices: noticeUI,
+ onError: this.onUploadError,
+ accept: "*"
+ });
+ }
+
+ var classes = classnames_default()(className, {
+ 'is-transient': Object(external_this_wp_blob_["isBlobURL"])(href)
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(FileBlockInspector, Object(esm_extends["a" /* default */])({
+ hrefs: {
+ href: href,
+ textLinkHref: textLinkHref,
+ attachmentPage: attachmentPage
+ }
+ }, {
+ openInNewWindow: !!textLinkTarget,
+ showDownloadButton: showDownloadButton,
+ changeLinkDestinationOption: this.changeLinkDestinationOption,
+ changeOpenInNewWindow: this.changeOpenInNewWindow,
+ changeShowDownloadButton: this.changeShowDownloadButton
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaUploadCheck"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Toolbar"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaUpload"], {
+ onSelect: this.onSelectFile,
+ value: id,
+ render: function render(_ref3) {
+ var open = _ref3.open;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], {
+ className: "components-toolbar__control",
+ label: Object(external_this_wp_i18n_["__"])('Edit file'),
+ onClick: open,
+ icon: "edit"
+ });
+ }
+ })))), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Animate"], {
+ type: Object(external_this_wp_blob_["isBlobURL"])(href) ? 'loading' : null
+ }, function (_ref4) {
+ var animateClassName = _ref4.className;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: classnames_default()(classes, animateClassName)
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: 'wp-block-file__content-wrapper'
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ wrapperClassName: 'wp-block-file__textlink',
+ tagName: "div" // must be block-level or else cursor disappears
+ ,
+ value: fileName,
+ placeholder: Object(external_this_wp_i18n_["__"])('Write file name…'),
+ withoutInteractiveFormatting: true,
+ onChange: function onChange(text) {
+ return setAttributes({
+ fileName: text
+ });
+ }
+ }), showDownloadButton && Object(external_this_wp_element_["createElement"])("div", {
+ className: 'wp-block-file__button-richtext-wrapper'
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ tagName: "div" // must be block-level or else cursor disappears
+ ,
+ className: 'wp-block-file__button',
+ value: downloadButtonText,
+ withoutInteractiveFormatting: true,
+ placeholder: Object(external_this_wp_i18n_["__"])('Add text…'),
+ onChange: function onChange(text) {
+ return setAttributes({
+ downloadButtonText: text
+ });
+ }
+ }))), isSelected && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ClipboardButton"], {
+ isDefault: true,
+ text: href,
+ className: 'wp-block-file__copy-url-button',
+ onCopy: _this3.confirmCopyURL,
+ onFinishCopy: _this3.resetCopyConfirmation,
+ disabled: Object(external_this_wp_blob_["isBlobURL"])(href)
+ }, showCopyConfirmation ? Object(external_this_wp_i18n_["__"])('Copied!') : Object(external_this_wp_i18n_["__"])('Copy URL')));
+ }));
+ }
+ }]);
+
+ return FileEdit;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var file_edit = (Object(external_this_wp_compose_["compose"])([Object(external_this_wp_data_["withSelect"])(function (select, props) {
+ var _select = select('core'),
+ getMedia = _select.getMedia;
+
+ var _select2 = select('core/block-editor'),
+ getSettings = _select2.getSettings;
+
+ var _getSettings = getSettings(),
+ __experimentalMediaUpload = _getSettings.__experimentalMediaUpload;
+
+ var id = props.attributes.id;
+ return {
+ media: id === undefined ? undefined : getMedia(id),
+ mediaUpload: __experimentalMediaUpload
+ };
+}), external_this_wp_components_["withNotices"]])(edit_FileEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/save.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+function file_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var href = attributes.href,
+ fileName = attributes.fileName,
+ textLinkHref = attributes.textLinkHref,
+ textLinkTarget = attributes.textLinkTarget,
+ showDownloadButton = attributes.showDownloadButton,
+ downloadButtonText = attributes.downloadButtonText;
+ return href && Object(external_this_wp_element_["createElement"])("div", null, !external_this_wp_blockEditor_["RichText"].isEmpty(fileName) && Object(external_this_wp_element_["createElement"])("a", {
+ href: textLinkHref,
+ target: textLinkTarget,
+ rel: textLinkTarget ? 'noreferrer noopener' : false
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ value: fileName
+ })), showDownloadButton && Object(external_this_wp_element_["createElement"])("a", {
+ href: href,
+ className: "wp-block-file__button",
+ download: true
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ value: downloadButtonText
+ })));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/transforms.js
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+var file_transforms_transforms = {
+ from: [{
+ type: 'files',
+ isMatch: function isMatch(files) {
+ return files.length > 0;
+ },
+ // We define a lower priorty (higher number) than the default of 10. This
+ // ensures that the File block is only created as a fallback.
+ priority: 15,
+ transform: function transform(files) {
+ var blocks = [];
+ files.forEach(function (file) {
+ var blobURL = Object(external_this_wp_blob_["createBlobURL"])(file); // File will be uploaded in componentDidMount()
+
+ blocks.push(Object(external_this_wp_blocks_["createBlock"])('core/file', {
+ href: blobURL,
+ fileName: file.name,
+ textLinkHref: blobURL
+ }));
+ });
+ return blocks;
+ }
+ }, {
+ type: 'block',
+ blocks: ['core/audio'],
+ transform: function transform(attributes) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/file', {
+ href: attributes.src,
+ fileName: attributes.caption,
+ textLinkHref: attributes.src,
+ id: attributes.id
+ });
+ }
+ }, {
+ type: 'block',
+ blocks: ['core/video'],
+ transform: function transform(attributes) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/file', {
+ href: attributes.src,
+ fileName: attributes.caption,
+ textLinkHref: attributes.src,
+ id: attributes.id
+ });
+ }
+ }, {
+ type: 'block',
+ blocks: ['core/image'],
+ transform: function transform(attributes) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/file', {
+ href: attributes.url,
+ fileName: attributes.caption,
+ textLinkHref: attributes.url,
+ id: attributes.id
+ });
+ }
+ }],
+ to: [{
+ type: 'block',
+ blocks: ['core/audio'],
+ isMatch: function isMatch(_ref) {
+ var id = _ref.id;
+
+ if (!id) {
+ return false;
+ }
+
+ var _select = Object(external_this_wp_data_["select"])('core'),
+ getMedia = _select.getMedia;
+
+ var media = getMedia(id);
+ return !!media && Object(external_lodash_["includes"])(media.mime_type, 'audio');
+ },
+ transform: function transform(attributes) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/audio', {
+ src: attributes.href,
+ caption: attributes.fileName,
+ id: attributes.id
+ });
+ }
+ }, {
+ type: 'block',
+ blocks: ['core/video'],
+ isMatch: function isMatch(_ref2) {
+ var id = _ref2.id;
+
+ if (!id) {
+ return false;
+ }
+
+ var _select2 = Object(external_this_wp_data_["select"])('core'),
+ getMedia = _select2.getMedia;
+
+ var media = getMedia(id);
+ return !!media && Object(external_lodash_["includes"])(media.mime_type, 'video');
+ },
+ transform: function transform(attributes) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/video', {
+ src: attributes.href,
+ caption: attributes.fileName,
+ id: attributes.id
+ });
+ }
+ }, {
+ type: 'block',
+ blocks: ['core/image'],
+ isMatch: function isMatch(_ref3) {
+ var id = _ref3.id;
+
+ if (!id) {
+ return false;
+ }
+
+ var _select3 = Object(external_this_wp_data_["select"])('core'),
+ getMedia = _select3.getMedia;
+
+ var media = getMedia(id);
+ return !!media && Object(external_lodash_["includes"])(media.mime_type, 'image');
+ },
+ transform: function transform(attributes) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/image', {
+ url: attributes.href,
+ caption: attributes.fileName,
+ id: attributes.id
+ });
+ }
+ }]
+};
+/* harmony default export */ var file_transforms = (file_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var file_metadata = {
+ name: "core/file",
+ category: "common",
+ attributes: {
+ id: {
+ type: "number"
+ },
+ href: {
+ type: "string"
+ },
+ fileName: {
+ type: "string",
+ source: "html",
+ selector: "a:not([download])"
+ },
+ textLinkHref: {
+ type: "string",
+ source: "attribute",
+ selector: "a:not([download])",
+ attribute: "href"
+ },
+ textLinkTarget: {
+ type: "string",
+ source: "attribute",
+ selector: "a:not([download])",
+ attribute: "target"
+ },
+ showDownloadButton: {
+ type: "boolean",
+ "default": true
+ },
+ downloadButtonText: {
+ type: "string",
+ source: "html",
+ selector: "a[download]"
+ }
+ }
+};
+
+
+var file_name = file_metadata.name;
+
+var file_settings = {
+ title: Object(external_this_wp_i18n_["__"])('File'),
+ description: Object(external_this_wp_i18n_["__"])('Add a link to a downloadable file.'),
+ icon: file_icon,
+ keywords: [Object(external_this_wp_i18n_["__"])('document'), Object(external_this_wp_i18n_["__"])('pdf')],
+ supports: {
+ align: true
+ },
+ transforms: file_transforms,
+ edit: file_edit,
+ save: file_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/html/edit.js
+
+
+
+
+
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+var edit_HTMLEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(HTMLEdit, _Component);
+
+ function HTMLEdit() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, HTMLEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(HTMLEdit).apply(this, arguments));
+ _this.state = {
+ isPreview: false,
+ styles: []
+ };
+ _this.switchToHTML = _this.switchToHTML.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.switchToPreview = _this.switchToPreview.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(HTMLEdit, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var styles = this.props.styles; // Default styles used to unset some of the styles
+ // that might be inherited from the editor style.
+
+ var defaultStyles = "\n\t\t\thtml,body,:root {\n\t\t\t\tmargin: 0 !important;\n\t\t\t\tpadding: 0 !important;\n\t\t\t\toverflow: visible !important;\n\t\t\t\tmin-height: auto !important;\n\t\t\t}\n\t\t";
+ this.setState({
+ styles: [defaultStyles].concat(Object(toConsumableArray["a" /* default */])(Object(external_this_wp_blockEditor_["transformStyles"])(styles)))
+ });
+ }
+ }, {
+ key: "switchToPreview",
+ value: function switchToPreview() {
+ this.setState({
+ isPreview: true
+ });
+ }
+ }, {
+ key: "switchToHTML",
+ value: function switchToHTML() {
+ this.setState({
+ isPreview: false
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ attributes = _this$props.attributes,
+ setAttributes = _this$props.setAttributes;
+ var _this$state = this.state,
+ isPreview = _this$state.isPreview,
+ styles = _this$state.styles;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-html"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockControls"], null, Object(external_this_wp_element_["createElement"])("div", {
+ className: "components-toolbar"
+ }, Object(external_this_wp_element_["createElement"])("button", {
+ className: "components-tab-button ".concat(!isPreview ? 'is-active' : ''),
+ onClick: this.switchToHTML
+ }, Object(external_this_wp_element_["createElement"])("span", null, "HTML")), Object(external_this_wp_element_["createElement"])("button", {
+ className: "components-tab-button ".concat(isPreview ? 'is-active' : ''),
+ onClick: this.switchToPreview
+ }, Object(external_this_wp_element_["createElement"])("span", null, Object(external_this_wp_i18n_["__"])('Preview'))))), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Disabled"].Consumer, null, function (isDisabled) {
+ return isPreview || isDisabled ? Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SandBox"], {
+ html: attributes.content,
+ styles: styles
+ }) : Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["PlainText"], {
+ value: attributes.content,
+ onChange: function onChange(content) {
+ return setAttributes({
+ content: content
+ });
+ },
+ placeholder: Object(external_this_wp_i18n_["__"])('Write HTML…'),
+ "aria-label": Object(external_this_wp_i18n_["__"])('HTML')
+ });
+ }));
+ }
+ }]);
+
+ return HTMLEdit;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var html_edit = (Object(external_this_wp_data_["withSelect"])(function (select) {
+ var _select = select('core/block-editor'),
+ getSettings = _select.getSettings;
+
+ return {
+ styles: getSettings().styles
+ };
+})(edit_HTMLEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/html/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var html_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M4.5,11h-2V9H1v6h1.5v-2.5h2V15H6V9H4.5V11z M7,10.5h1.5V15H10v-4.5h1.5V9H7V10.5z M14.5,10l-1-1H12v6h1.5v-3.9 l1,1l1-1V15H17V9h-1.5L14.5,10z M19.5,13.5V9H18v6h5v-1.5H19.5z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/html/save.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+function html_save_save(_ref) {
+ var attributes = _ref.attributes;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["RawHTML"], null, attributes.content);
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/html/transforms.js
+/**
+ * WordPress dependencies
+ */
+
+var html_transforms_transforms = {
+ from: [{
+ type: 'raw',
+ isMatch: function isMatch(node) {
+ return node.nodeName === 'FIGURE' && !!node.querySelector('iframe');
+ },
+ schema: {
+ figure: {
+ require: ['iframe'],
+ children: {
+ iframe: {
+ attributes: ['src', 'allowfullscreen', 'height', 'width']
+ },
+ figcaption: {
+ children: Object(external_this_wp_blocks_["getPhrasingContentSchema"])()
+ }
+ }
+ }
+ }
+ }]
+};
+/* harmony default export */ var html_transforms = (html_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/html/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var html_metadata = {
+ name: "core/html",
+ category: "formatting",
+ attributes: {
+ content: {
+ type: "string",
+ source: "html"
+ }
+ }
+};
+
+
+var html_name = html_metadata.name;
+
+var html_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Custom HTML'),
+ description: Object(external_this_wp_i18n_["__"])('Add custom HTML code and preview it as you edit.'),
+ icon: html_icon,
+ keywords: [Object(external_this_wp_i18n_["__"])('embed')],
+ example: {
+ attributes: {
+ content: '<marquee>' + Object(external_this_wp_i18n_["__"])('Welcome to the wonderful world of blocks…') + '</marquee>'
+ }
+ },
+ supports: {
+ customClassName: false,
+ className: false,
+ html: false
+ },
+ transforms: html_transforms,
+ edit: html_edit,
+ save: html_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/deprecated.js
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+var DEFAULT_MEDIA_WIDTH = 50;
+/* harmony default export */ var media_text_deprecated = ([{
+ attributes: {
+ align: {
+ type: 'string',
+ default: 'wide'
+ },
+ backgroundColor: {
+ type: 'string'
+ },
+ customBackgroundColor: {
+ type: 'string'
+ },
+ mediaAlt: {
+ type: 'string',
+ source: 'attribute',
+ selector: 'figure img',
+ attribute: 'alt',
+ default: ''
+ },
+ mediaPosition: {
+ type: 'string',
+ default: 'left'
+ },
+ mediaId: {
+ type: 'number'
+ },
+ mediaUrl: {
+ type: 'string',
+ source: 'attribute',
+ selector: 'figure video,figure img',
+ attribute: 'src'
+ },
+ mediaType: {
+ type: 'string'
+ },
+ mediaWidth: {
+ type: 'number',
+ default: 50
+ },
+ isStackedOnMobile: {
+ type: 'boolean',
+ default: false
+ }
+ },
+ save: function save(_ref) {
+ var _classnames;
+
+ var attributes = _ref.attributes;
+ var backgroundColor = attributes.backgroundColor,
+ customBackgroundColor = attributes.customBackgroundColor,
+ isStackedOnMobile = attributes.isStackedOnMobile,
+ mediaAlt = attributes.mediaAlt,
+ mediaPosition = attributes.mediaPosition,
+ mediaType = attributes.mediaType,
+ mediaUrl = attributes.mediaUrl,
+ mediaWidth = attributes.mediaWidth;
+ var mediaTypeRenders = {
+ image: function image() {
+ return Object(external_this_wp_element_["createElement"])("img", {
+ src: mediaUrl,
+ alt: mediaAlt
+ });
+ },
+ video: function video() {
+ return Object(external_this_wp_element_["createElement"])("video", {
+ controls: true,
+ src: mediaUrl
+ });
+ }
+ };
+ var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
+ var className = classnames_default()((_classnames = {
+ 'has-media-on-the-right': 'right' === mediaPosition
+ }, Object(defineProperty["a" /* default */])(_classnames, backgroundClass, backgroundClass), Object(defineProperty["a" /* default */])(_classnames, 'is-stacked-on-mobile', isStackedOnMobile), _classnames));
+ var gridTemplateColumns;
+
+ if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
+ gridTemplateColumns = 'right' === mediaPosition ? "auto ".concat(mediaWidth, "%") : "".concat(mediaWidth, "% auto");
+ }
+
+ var style = {
+ backgroundColor: backgroundClass ? undefined : customBackgroundColor,
+ gridTemplateColumns: gridTemplateColumns
+ };
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: className,
+ style: style
+ }, Object(external_this_wp_element_["createElement"])("figure", {
+ className: "wp-block-media-text__media"
+ }, (mediaTypeRenders[mediaType] || external_lodash_["noop"])()), Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-media-text__content"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InnerBlocks"].Content, null)));
+ }
+}]);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/media-container-icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var media_container_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ xmlns: "http://www.w3.org/2000/svg",
+ viewBox: "0 0 24 24"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M18 2l2 4h-2l-2-4h-3l2 4h-2l-2-4h-1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V2zm2 12H10V4.4L11.8 8H20z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M14 20H4V10h3V8H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3h-2z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M5 19h8l-1.59-2H9.24l-.84 1.1L7 16.3 5 19z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/media-container.js
+
+
+
+
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * Constants
+ */
+
+var media_container_ALLOWED_MEDIA_TYPES = ['image', 'video'];
+function imageFillStyles(url, focalPoint) {
+ return url ? {
+ backgroundImage: "url(".concat(url, ")"),
+ backgroundPosition: focalPoint ? "".concat(focalPoint.x * 100, "% ").concat(focalPoint.y * 100, "%") : "50% 50%"
+ } : {};
+}
+
+var media_container_MediaContainer =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(MediaContainer, _Component);
+
+ function MediaContainer() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, MediaContainer);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(MediaContainer).apply(this, arguments));
+ _this.onUploadError = _this.onUploadError.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(MediaContainer, [{
+ key: "onUploadError",
+ value: function onUploadError(message) {
+ var noticeOperations = this.props.noticeOperations;
+ noticeOperations.removeAllNotices();
+ noticeOperations.createErrorNotice(message);
+ }
+ }, {
+ key: "renderToolbarEditButton",
+ value: function renderToolbarEditButton() {
+ var _this$props = this.props,
+ mediaId = _this$props.mediaId,
+ onSelectMedia = _this$props.onSelectMedia;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Toolbar"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaUpload"], {
+ onSelect: onSelectMedia,
+ allowedTypes: media_container_ALLOWED_MEDIA_TYPES,
+ value: mediaId,
+ render: function render(_ref) {
+ var open = _ref.open;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], {
+ className: "components-toolbar__control",
+ label: Object(external_this_wp_i18n_["__"])('Edit media'),
+ icon: "edit",
+ onClick: open
+ });
+ }
+ })));
+ }
+ }, {
+ key: "renderImage",
+ value: function renderImage() {
+ var _this$props2 = this.props,
+ mediaAlt = _this$props2.mediaAlt,
+ mediaUrl = _this$props2.mediaUrl,
+ className = _this$props2.className,
+ imageFill = _this$props2.imageFill,
+ focalPoint = _this$props2.focalPoint;
+ var backgroundStyles = imageFill ? imageFillStyles(mediaUrl, focalPoint) : {};
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, this.renderToolbarEditButton(), Object(external_this_wp_element_["createElement"])("figure", {
+ className: className,
+ style: backgroundStyles
+ }, Object(external_this_wp_element_["createElement"])("img", {
+ src: mediaUrl,
+ alt: mediaAlt
+ })));
+ }
+ }, {
+ key: "renderVideo",
+ value: function renderVideo() {
+ var _this$props3 = this.props,
+ mediaUrl = _this$props3.mediaUrl,
+ className = _this$props3.className;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, this.renderToolbarEditButton(), Object(external_this_wp_element_["createElement"])("figure", {
+ className: className
+ }, Object(external_this_wp_element_["createElement"])("video", {
+ controls: true,
+ src: mediaUrl
+ })));
+ }
+ }, {
+ key: "renderPlaceholder",
+ value: function renderPlaceholder() {
+ var _this$props4 = this.props,
+ onSelectMedia = _this$props4.onSelectMedia,
+ className = _this$props4.className,
+ noticeUI = _this$props4.noticeUI;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaPlaceholder"], {
+ icon: Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockIcon"], {
+ icon: media_container_icon
+ }),
+ labels: {
+ title: Object(external_this_wp_i18n_["__"])('Media area')
+ },
+ className: className,
+ onSelect: onSelectMedia,
+ accept: "image/*,video/*",
+ allowedTypes: media_container_ALLOWED_MEDIA_TYPES,
+ notices: noticeUI,
+ onError: this.onUploadError
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props5 = this.props,
+ mediaPosition = _this$props5.mediaPosition,
+ mediaUrl = _this$props5.mediaUrl,
+ mediaType = _this$props5.mediaType,
+ mediaWidth = _this$props5.mediaWidth,
+ commitWidthChange = _this$props5.commitWidthChange,
+ onWidthChange = _this$props5.onWidthChange,
+ toggleSelection = _this$props5.toggleSelection;
+
+ if (mediaType && mediaUrl) {
+ var onResizeStart = function onResizeStart() {
+ toggleSelection(false);
+ };
+
+ var onResize = function onResize(event, direction, elt) {
+ onWidthChange(parseInt(elt.style.width));
+ };
+
+ var onResizeStop = function onResizeStop(event, direction, elt) {
+ toggleSelection(true);
+ commitWidthChange(parseInt(elt.style.width));
+ };
+
+ var enablePositions = {
+ right: mediaPosition === 'left',
+ left: mediaPosition === 'right'
+ };
+ var mediaElement = null;
+
+ switch (mediaType) {
+ case 'image':
+ mediaElement = this.renderImage();
+ break;
+
+ case 'video':
+ mediaElement = this.renderVideo();
+ break;
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ResizableBox"], {
+ className: "editor-media-container__resizer",
+ size: {
+ width: mediaWidth + '%'
+ },
+ minWidth: "10%",
+ maxWidth: "100%",
+ enable: enablePositions,
+ onResizeStart: onResizeStart,
+ onResize: onResize,
+ onResizeStop: onResizeStop,
+ axis: "x"
+ }, mediaElement);
+ }
+
+ return this.renderPlaceholder();
+ }
+ }]);
+
+ return MediaContainer;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var media_container = (Object(external_this_wp_compose_["compose"])([Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/block-editor'),
+ toggleSelection = _dispatch.toggleSelection;
+
+ return {
+ toggleSelection: toggleSelection
+ };
+}), external_this_wp_components_["withNotices"]])(media_container_MediaContainer));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/edit.js
+
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * Constants
+ */
+
+var TEMPLATE = [['core/paragraph', {
+ fontSize: 'large',
+ placeholder: Object(external_this_wp_i18n_["_x"])('Content…', 'content placeholder')
+}]]; // this limits the resize to a safe zone to avoid making broken layouts
+
+var WIDTH_CONSTRAINT_PERCENTAGE = 15;
+
+var applyWidthConstraints = function applyWidthConstraints(width) {
+ return Math.max(WIDTH_CONSTRAINT_PERCENTAGE, Math.min(width, 100 - WIDTH_CONSTRAINT_PERCENTAGE));
+};
+
+var edit_MediaTextEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(MediaTextEdit, _Component);
+
+ function MediaTextEdit() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, MediaTextEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(MediaTextEdit).apply(this, arguments));
+ _this.onSelectMedia = _this.onSelectMedia.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onWidthChange = _this.onWidthChange.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.commitWidthChange = _this.commitWidthChange.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.state = {
+ mediaWidth: null
+ };
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(MediaTextEdit, [{
+ key: "onSelectMedia",
+ value: function onSelectMedia(media) {
+ var setAttributes = this.props.setAttributes;
+ var mediaType;
+ var src; // for media selections originated from a file upload.
+
+ if (media.media_type) {
+ if (media.media_type === 'image') {
+ mediaType = 'image';
+ } else {
+ // only images and videos are accepted so if the media_type is not an image we can assume it is a video.
+ // video contain the media type of 'file' in the object returned from the rest api.
+ mediaType = 'video';
+ }
+ } else {
+ // for media selections originated from existing files in the media library.
+ mediaType = media.type;
+ }
+
+ if (mediaType === 'image') {
+ // Try the "large" size URL, falling back to the "full" size URL below.
+ src = Object(external_lodash_["get"])(media, ['sizes', 'large', 'url']) || Object(external_lodash_["get"])(media, ['media_details', 'sizes', 'large', 'source_url']);
+ }
+
+ setAttributes({
+ mediaAlt: media.alt,
+ mediaId: media.id,
+ mediaType: mediaType,
+ mediaUrl: src || media.url,
+ imageFill: undefined,
+ focalPoint: undefined
+ });
+ }
+ }, {
+ key: "onWidthChange",
+ value: function onWidthChange(width) {
+ this.setState({
+ mediaWidth: applyWidthConstraints(width)
+ });
+ }
+ }, {
+ key: "commitWidthChange",
+ value: function commitWidthChange(width) {
+ var setAttributes = this.props.setAttributes;
+ setAttributes({
+ mediaWidth: applyWidthConstraints(width)
+ });
+ this.setState({
+ mediaWidth: null
+ });
+ }
+ }, {
+ key: "renderMediaArea",
+ value: function renderMediaArea() {
+ var attributes = this.props.attributes;
+ var mediaAlt = attributes.mediaAlt,
+ mediaId = attributes.mediaId,
+ mediaPosition = attributes.mediaPosition,
+ mediaType = attributes.mediaType,
+ mediaUrl = attributes.mediaUrl,
+ mediaWidth = attributes.mediaWidth,
+ imageFill = attributes.imageFill,
+ focalPoint = attributes.focalPoint;
+ return Object(external_this_wp_element_["createElement"])(media_container, Object(esm_extends["a" /* default */])({
+ className: "block-library-media-text__media-container",
+ onSelectMedia: this.onSelectMedia,
+ onWidthChange: this.onWidthChange,
+ commitWidthChange: this.commitWidthChange
+ }, {
+ mediaAlt: mediaAlt,
+ mediaId: mediaId,
+ mediaType: mediaType,
+ mediaUrl: mediaUrl,
+ mediaPosition: mediaPosition,
+ mediaWidth: mediaWidth,
+ imageFill: imageFill,
+ focalPoint: focalPoint
+ }));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _classnames;
+
+ var _this$props = this.props,
+ attributes = _this$props.attributes,
+ className = _this$props.className,
+ backgroundColor = _this$props.backgroundColor,
+ isSelected = _this$props.isSelected,
+ setAttributes = _this$props.setAttributes,
+ setBackgroundColor = _this$props.setBackgroundColor;
+ var isStackedOnMobile = attributes.isStackedOnMobile,
+ mediaAlt = attributes.mediaAlt,
+ mediaPosition = attributes.mediaPosition,
+ mediaType = attributes.mediaType,
+ mediaWidth = attributes.mediaWidth,
+ verticalAlignment = attributes.verticalAlignment,
+ mediaUrl = attributes.mediaUrl,
+ imageFill = attributes.imageFill,
+ focalPoint = attributes.focalPoint;
+ var temporaryMediaWidth = this.state.mediaWidth;
+ var classNames = classnames_default()(className, (_classnames = {
+ 'has-media-on-the-right': 'right' === mediaPosition,
+ 'is-selected': isSelected,
+ 'has-background': backgroundColor.class || backgroundColor.color
+ }, Object(defineProperty["a" /* default */])(_classnames, backgroundColor.class, backgroundColor.class), Object(defineProperty["a" /* default */])(_classnames, 'is-stacked-on-mobile', isStackedOnMobile), Object(defineProperty["a" /* default */])(_classnames, "is-vertically-aligned-".concat(verticalAlignment), verticalAlignment), Object(defineProperty["a" /* default */])(_classnames, 'is-image-fill', imageFill), _classnames));
+ var widthString = "".concat(temporaryMediaWidth || mediaWidth, "%");
+ var gridTemplateColumns = 'right' === mediaPosition ? "1fr ".concat(widthString) : "".concat(widthString, " 1fr");
+ var style = {
+ gridTemplateColumns: gridTemplateColumns,
+ msGridColumns: gridTemplateColumns,
+ backgroundColor: backgroundColor.color
+ };
+ var colorSettings = [{
+ value: backgroundColor.color,
+ onChange: setBackgroundColor,
+ label: Object(external_this_wp_i18n_["__"])('Background Color')
+ }];
+ var toolbarControls = [{
+ icon: 'align-pull-left',
+ title: Object(external_this_wp_i18n_["__"])('Show media on left'),
+ isActive: mediaPosition === 'left',
+ onClick: function onClick() {
+ return setAttributes({
+ mediaPosition: 'left'
+ });
+ }
+ }, {
+ icon: 'align-pull-right',
+ title: Object(external_this_wp_i18n_["__"])('Show media on right'),
+ isActive: mediaPosition === 'right',
+ onClick: function onClick() {
+ return setAttributes({
+ mediaPosition: 'right'
+ });
+ }
+ }];
+
+ var onMediaAltChange = function onMediaAltChange(newMediaAlt) {
+ setAttributes({
+ mediaAlt: newMediaAlt
+ });
+ };
+
+ var onVerticalAlignmentChange = function onVerticalAlignmentChange(alignment) {
+ setAttributes({
+ verticalAlignment: alignment
+ });
+ };
+
+ var mediaTextGeneralSettings = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Media & Text Settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Stack on mobile'),
+ checked: isStackedOnMobile,
+ onChange: function onChange() {
+ return setAttributes({
+ isStackedOnMobile: !isStackedOnMobile
+ });
+ }
+ }), mediaType === 'image' && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Crop image to fill entire column'),
+ checked: imageFill,
+ onChange: function onChange() {
+ return setAttributes({
+ imageFill: !imageFill
+ });
+ }
+ }), imageFill && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["FocalPointPicker"], {
+ label: Object(external_this_wp_i18n_["__"])('Focal Point Picker'),
+ url: mediaUrl,
+ value: focalPoint,
+ onChange: function onChange(value) {
+ return setAttributes({
+ focalPoint: value
+ });
+ }
+ }), mediaType === 'image' && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextareaControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Alt Text (Alternative Text)'),
+ value: mediaAlt,
+ onChange: onMediaAltChange,
+ help: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ExternalLink"], {
+ href: "https://www.w3.org/WAI/tutorials/images/decision-tree"
+ }, Object(external_this_wp_i18n_["__"])('Describe the purpose of the image')), Object(external_this_wp_i18n_["__"])('Leave empty if the image is purely decorative.'))
+ }));
+ 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, mediaTextGeneralSettings, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["PanelColorSettings"], {
+ title: Object(external_this_wp_i18n_["__"])('Color Settings'),
+ initialOpen: false,
+ colorSettings: colorSettings
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Toolbar"], {
+ controls: toolbarControls
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockVerticalAlignmentToolbar"], {
+ onChange: onVerticalAlignmentChange,
+ value: verticalAlignment
+ })), Object(external_this_wp_element_["createElement"])("div", {
+ className: classNames,
+ style: style
+ }, this.renderMediaArea(), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InnerBlocks"], {
+ template: TEMPLATE,
+ templateInsertUpdatesSelection: false
+ })));
+ }
+ }]);
+
+ return MediaTextEdit;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var media_text_edit = (Object(external_this_wp_blockEditor_["withColors"])('backgroundColor')(edit_MediaTextEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var media_text_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ xmlns: "http://www.w3.org/2000/svg",
+ viewBox: "0 0 24 24"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M13 17h8v-2h-8v2zM3 19h8V5H3v14zM13 9h8V7h-8v2zm0 4h8v-2h-8v2z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/save.js
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var save_DEFAULT_MEDIA_WIDTH = 50;
+function media_text_save_save(_ref) {
+ var _classnames;
+
+ var attributes = _ref.attributes;
+ var backgroundColor = attributes.backgroundColor,
+ customBackgroundColor = attributes.customBackgroundColor,
+ isStackedOnMobile = attributes.isStackedOnMobile,
+ mediaAlt = attributes.mediaAlt,
+ mediaPosition = attributes.mediaPosition,
+ mediaType = attributes.mediaType,
+ mediaUrl = attributes.mediaUrl,
+ mediaWidth = attributes.mediaWidth,
+ mediaId = attributes.mediaId,
+ verticalAlignment = attributes.verticalAlignment,
+ imageFill = attributes.imageFill,
+ focalPoint = attributes.focalPoint;
+ var mediaTypeRenders = {
+ image: function image() {
+ return Object(external_this_wp_element_["createElement"])("img", {
+ src: mediaUrl,
+ alt: mediaAlt,
+ className: mediaId && mediaType === 'image' ? "wp-image-".concat(mediaId) : null
+ });
+ },
+ video: function video() {
+ return Object(external_this_wp_element_["createElement"])("video", {
+ controls: true,
+ src: mediaUrl
+ });
+ }
+ };
+ var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
+ var className = classnames_default()((_classnames = {
+ 'has-media-on-the-right': 'right' === mediaPosition,
+ 'has-background': backgroundClass || customBackgroundColor
+ }, Object(defineProperty["a" /* default */])(_classnames, backgroundClass, backgroundClass), Object(defineProperty["a" /* default */])(_classnames, 'is-stacked-on-mobile', isStackedOnMobile), Object(defineProperty["a" /* default */])(_classnames, "is-vertically-aligned-".concat(verticalAlignment), verticalAlignment), Object(defineProperty["a" /* default */])(_classnames, 'is-image-fill', imageFill), _classnames));
+ var backgroundStyles = imageFill ? imageFillStyles(mediaUrl, focalPoint) : {};
+ var gridTemplateColumns;
+
+ if (mediaWidth !== save_DEFAULT_MEDIA_WIDTH) {
+ gridTemplateColumns = 'right' === mediaPosition ? "auto ".concat(mediaWidth, "%") : "".concat(mediaWidth, "% auto");
+ }
+
+ var style = {
+ backgroundColor: backgroundClass ? undefined : customBackgroundColor,
+ gridTemplateColumns: gridTemplateColumns
+ };
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: className,
+ style: style
+ }, Object(external_this_wp_element_["createElement"])("figure", {
+ className: "wp-block-media-text__media",
+ style: backgroundStyles
+ }, (mediaTypeRenders[mediaType] || external_lodash_["noop"])()), Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-media-text__content"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InnerBlocks"].Content, null)));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/transforms.js
+/**
+ * WordPress dependencies
+ */
+
+var media_text_transforms_transforms = {
+ from: [{
+ type: 'block',
+ blocks: ['core/image'],
+ transform: function transform(_ref) {
+ var alt = _ref.alt,
+ url = _ref.url,
+ id = _ref.id;
+ return Object(external_this_wp_blocks_["createBlock"])('core/media-text', {
+ mediaAlt: alt,
+ mediaId: id,
+ mediaUrl: url,
+ mediaType: 'image'
+ });
+ }
+ }, {
+ type: 'block',
+ blocks: ['core/video'],
+ transform: function transform(_ref2) {
+ var src = _ref2.src,
+ id = _ref2.id;
+ return Object(external_this_wp_blocks_["createBlock"])('core/media-text', {
+ mediaId: id,
+ mediaUrl: src,
+ mediaType: 'video'
+ });
+ }
+ }],
+ to: [{
+ type: 'block',
+ blocks: ['core/image'],
+ isMatch: function isMatch(_ref3) {
+ var mediaType = _ref3.mediaType,
+ mediaUrl = _ref3.mediaUrl;
+ return !mediaUrl || mediaType === 'image';
+ },
+ transform: function transform(_ref4) {
+ var mediaAlt = _ref4.mediaAlt,
+ mediaId = _ref4.mediaId,
+ mediaUrl = _ref4.mediaUrl;
+ return Object(external_this_wp_blocks_["createBlock"])('core/image', {
+ alt: mediaAlt,
+ id: mediaId,
+ url: mediaUrl
+ });
+ }
+ }, {
+ type: 'block',
+ blocks: ['core/video'],
+ isMatch: function isMatch(_ref5) {
+ var mediaType = _ref5.mediaType,
+ mediaUrl = _ref5.mediaUrl;
+ return !mediaUrl || mediaType === 'video';
+ },
+ transform: function transform(_ref6) {
+ var mediaId = _ref6.mediaId,
+ mediaUrl = _ref6.mediaUrl;
+ return Object(external_this_wp_blocks_["createBlock"])('core/video', {
+ id: mediaId,
+ src: mediaUrl
+ });
+ }
+ }]
+};
+/* harmony default export */ var media_text_transforms = (media_text_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var media_text_metadata = {
+ name: "core/media-text",
+ category: "layout",
+ attributes: {
+ align: {
+ type: "string",
+ "default": "wide"
+ },
+ backgroundColor: {
+ type: "string"
+ },
+ customBackgroundColor: {
+ type: "string"
+ },
+ mediaAlt: {
+ type: "string",
+ source: "attribute",
+ selector: "figure img",
+ attribute: "alt",
+ "default": ""
+ },
+ mediaPosition: {
+ type: "string",
+ "default": "left"
+ },
+ mediaId: {
+ type: "number"
+ },
+ mediaUrl: {
+ type: "string",
+ source: "attribute",
+ selector: "figure video,figure img",
+ attribute: "src"
+ },
+ mediaType: {
+ type: "string"
+ },
+ mediaWidth: {
+ type: "number",
+ "default": 50
+ },
+ isStackedOnMobile: {
+ type: "boolean",
+ "default": false
+ },
+ verticalAlignment: {
+ type: "string"
+ },
+ imageFill: {
+ type: "boolean"
+ },
+ focalPoint: {
+ type: "object"
+ }
+ }
+};
+
+
+var media_text_name = media_text_metadata.name;
+
+var media_text_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Media & Text'),
+ description: Object(external_this_wp_i18n_["__"])('Set media and words side-by-side for a richer layout.'),
+ icon: media_text_icon,
+ keywords: [Object(external_this_wp_i18n_["__"])('image'), Object(external_this_wp_i18n_["__"])('video')],
+ supports: {
+ align: ['wide', 'full'],
+ html: false
+ },
+ example: {
+ attributes: {
+ mediaType: 'image',
+ mediaUrl: 'https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg'
+ },
+ innerBlocks: [{
+ name: 'core/paragraph',
+ attributes: {
+ content: Object(external_this_wp_i18n_["__"])('The wren<br>Earns his living<br>Noiselessly.')
+ }
+ }, {
+ name: 'core/paragraph',
+ attributes: {
+ content: Object(external_this_wp_i18n_["__"])('— Kobayashi Issa (一茶)')
+ }
+ }]
+ },
+ transforms: media_text_transforms,
+ edit: media_text_edit,
+ save: media_text_save_save,
+ deprecated: media_text_deprecated
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-comments/edit.js
+
+
+
+
+
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+/**
+ * Minimum number of comments a user can show using this block.
+ *
+ * @type {number}
+ */
+
+var MIN_COMMENTS = 1;
+/**
+ * Maximum number of comments a user can show using this block.
+ *
+ * @type {number}
+ */
+
+var MAX_COMMENTS = 100;
+
+var edit_LatestComments =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(LatestComments, _Component);
+
+ function LatestComments() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, LatestComments);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(LatestComments).apply(this, arguments));
+ _this.setCommentsToShow = _this.setCommentsToShow.bind(Object(assertThisInitialized["a" /* default */])(_this)); // Create toggles for each attribute; we create them here rather than
+ // passing `this.createToggleAttribute( 'displayAvatar' )` directly to
+ // `onChange` to avoid re-renders.
+
+ _this.toggleDisplayAvatar = _this.createToggleAttribute('displayAvatar');
+ _this.toggleDisplayDate = _this.createToggleAttribute('displayDate');
+ _this.toggleDisplayExcerpt = _this.createToggleAttribute('displayExcerpt');
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(LatestComments, [{
+ key: "createToggleAttribute",
+ value: function createToggleAttribute(propName) {
+ var _this2 = this;
+
+ return function () {
+ var value = _this2.props.attributes[propName];
+ var setAttributes = _this2.props.setAttributes;
+ setAttributes(Object(defineProperty["a" /* default */])({}, propName, !value));
+ };
+ }
+ }, {
+ key: "setCommentsToShow",
+ value: function setCommentsToShow(commentsToShow) {
+ this.props.setAttributes({
+ commentsToShow: commentsToShow
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props$attribute = this.props.attributes,
+ commentsToShow = _this$props$attribute.commentsToShow,
+ displayAvatar = _this$props$attribute.displayAvatar,
+ displayDate = _this$props$attribute.displayDate,
+ displayExcerpt = _this$props$attribute.displayExcerpt;
+ 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"], {
+ title: Object(external_this_wp_i18n_["__"])('Latest Comments Settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Display Avatar'),
+ checked: displayAvatar,
+ onChange: this.toggleDisplayAvatar
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Display Date'),
+ checked: displayDate,
+ onChange: this.toggleDisplayDate
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Display Excerpt'),
+ checked: displayExcerpt,
+ onChange: this.toggleDisplayExcerpt
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["RangeControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Number of Comments'),
+ value: commentsToShow,
+ onChange: this.setCommentsToShow,
+ min: MIN_COMMENTS,
+ max: MAX_COMMENTS,
+ required: true
+ }))), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Disabled"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_serverSideRender_default.a, {
+ block: "core/latest-comments",
+ attributes: this.props.attributes
+ })));
+ }
+ }]);
+
+ return LatestComments;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var latest_comments_edit = (edit_LatestComments);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-comments/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var latest_comments_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fill: "none",
+ d: "M0 0h24v24H0V0z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M21.99 4c0-1.1-.89-2-1.99-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4-.01-18zM20 4v13.17L18.83 16H4V4h16zM6 12h12v2H6zm0-3h12v2H6zm0-3h12v2H6z"
+}))));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-comments/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var latest_comments_name = 'core/latest-comments';
+var latest_comments_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Latest Comments'),
+ description: Object(external_this_wp_i18n_["__"])('Display a list of your most recent comments.'),
+ icon: latest_comments_icon,
+ category: 'widgets',
+ keywords: [Object(external_this_wp_i18n_["__"])('recent comments')],
+ supports: {
+ align: true,
+ html: false
+ },
+ edit: latest_comments_edit
+};
+
+// EXTERNAL MODULE: external {"this":["wp","apiFetch"]}
+var external_this_wp_apiFetch_ = __webpack_require__(34);
+var external_this_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_apiFetch_);
+
+// EXTERNAL MODULE: external {"this":["wp","date"]}
+var external_this_wp_date_ = __webpack_require__(53);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-posts/edit.js
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+
+
+/**
+ * Module Constants
+ */
+
+var CATEGORIES_LIST_QUERY = {
+ per_page: -1
+};
+var MAX_POSTS_COLUMNS = 6;
+
+var edit_LatestPostsEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(LatestPostsEdit, _Component);
+
+ function LatestPostsEdit() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, LatestPostsEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(LatestPostsEdit).apply(this, arguments));
+ _this.state = {
+ categoriesList: []
+ };
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(LatestPostsEdit, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var _this2 = this;
+
+ this.isStillMounted = true;
+ this.fetchRequest = external_this_wp_apiFetch_default()({
+ path: Object(external_this_wp_url_["addQueryArgs"])("/wp/v2/categories", CATEGORIES_LIST_QUERY)
+ }).then(function (categoriesList) {
+ if (_this2.isStillMounted) {
+ _this2.setState({
+ categoriesList: categoriesList
+ });
+ }
+ }).catch(function () {
+ if (_this2.isStillMounted) {
+ _this2.setState({
+ categoriesList: []
+ });
+ }
+ });
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ this.isStillMounted = false;
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ attributes = _this$props.attributes,
+ setAttributes = _this$props.setAttributes,
+ latestPosts = _this$props.latestPosts;
+ var categoriesList = this.state.categoriesList;
+ var displayPostContentRadio = attributes.displayPostContentRadio,
+ displayPostContent = attributes.displayPostContent,
+ displayPostDate = attributes.displayPostDate,
+ postLayout = attributes.postLayout,
+ columns = attributes.columns,
+ order = attributes.order,
+ orderBy = attributes.orderBy,
+ categories = attributes.categories,
+ postsToShow = attributes.postsToShow,
+ excerptLength = attributes.excerptLength;
+ var inspectorControls = Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Post Content Settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Post Content'),
+ checked: displayPostContent,
+ onChange: function onChange(value) {
+ return setAttributes({
+ displayPostContent: value
+ });
+ }
+ }), displayPostContent && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["RadioControl"], {
+ label: "Show:",
+ selected: displayPostContentRadio,
+ options: [{
+ label: 'Excerpt',
+ value: 'excerpt'
+ }, {
+ label: 'Full Post',
+ value: 'full_post'
+ }],
+ onChange: function onChange(value) {
+ return setAttributes({
+ displayPostContentRadio: value
+ });
+ }
+ }), displayPostContent && displayPostContentRadio === 'excerpt' && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["RangeControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Max number of words in excerpt'),
+ value: excerptLength,
+ onChange: function onChange(value) {
+ return setAttributes({
+ excerptLength: value
+ });
+ },
+ min: 10,
+ max: 100
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Post Meta Settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Display post date'),
+ checked: displayPostDate,
+ onChange: function onChange(value) {
+ return setAttributes({
+ displayPostDate: value
+ });
+ }
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Sorting and Filtering')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["QueryControls"], Object(esm_extends["a" /* default */])({
+ order: order,
+ orderBy: orderBy
+ }, {
+ numberOfItems: postsToShow,
+ categoriesList: categoriesList,
+ selectedCategoryId: categories,
+ onOrderChange: function onOrderChange(value) {
+ return setAttributes({
+ order: value
+ });
+ },
+ onOrderByChange: function onOrderByChange(value) {
+ return setAttributes({
+ orderBy: value
+ });
+ },
+ onCategoryChange: function onCategoryChange(value) {
+ return setAttributes({
+ categories: '' !== value ? value : undefined
+ });
+ },
+ onNumberOfItemsChange: function onNumberOfItemsChange(value) {
+ return setAttributes({
+ postsToShow: value
+ });
+ }
+ })), postLayout === 'grid' && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["RangeControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Columns'),
+ value: columns,
+ onChange: function onChange(value) {
+ return setAttributes({
+ columns: value
+ });
+ },
+ min: 2,
+ max: !hasPosts ? MAX_POSTS_COLUMNS : Math.min(MAX_POSTS_COLUMNS, latestPosts.length),
+ required: true
+ })));
+ var hasPosts = Array.isArray(latestPosts) && latestPosts.length;
+
+ if (!hasPosts) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, inspectorControls, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Placeholder"], {
+ icon: "admin-post",
+ label: Object(external_this_wp_i18n_["__"])('Latest Posts')
+ }, !Array.isArray(latestPosts) ? Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Spinner"], null) : Object(external_this_wp_i18n_["__"])('No posts found.')));
+ } // Removing posts from display should be instant.
+
+
+ var displayPosts = latestPosts.length > postsToShow ? latestPosts.slice(0, postsToShow) : latestPosts;
+ var layoutControls = [{
+ icon: 'list-view',
+ title: Object(external_this_wp_i18n_["__"])('List view'),
+ onClick: function onClick() {
+ return setAttributes({
+ postLayout: 'list'
+ });
+ },
+ isActive: postLayout === 'list'
+ }, {
+ icon: 'grid-view',
+ title: Object(external_this_wp_i18n_["__"])('Grid view'),
+ onClick: function onClick() {
+ return setAttributes({
+ postLayout: 'grid'
+ });
+ },
+ isActive: postLayout === 'grid'
+ }];
+
+ var dateFormat = Object(external_this_wp_date_["__experimentalGetSettings"])().formats.date;
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, inspectorControls, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Toolbar"], {
+ controls: layoutControls
+ })), Object(external_this_wp_element_["createElement"])("ul", {
+ className: classnames_default()(this.props.className, Object(defineProperty["a" /* default */])({
+ 'wp-block-latest-posts__list': true,
+ 'is-grid': postLayout === 'grid',
+ 'has-dates': displayPostDate
+ }, "columns-".concat(columns), postLayout === 'grid'))
+ }, displayPosts.map(function (post, i) {
+ var titleTrimmed = post.title.rendered.trim();
+ var excerpt = post.excerpt.rendered;
+
+ if (post.excerpt.raw === '') {
+ excerpt = post.content.raw;
+ }
+
+ var excerptElement = document.createElement('div');
+ excerptElement.innerHTML = excerpt;
+ excerpt = excerptElement.textContent || excerptElement.innerText || '';
+ return Object(external_this_wp_element_["createElement"])("li", {
+ key: i
+ }, Object(external_this_wp_element_["createElement"])("a", {
+ href: post.link,
+ target: "_blank",
+ rel: "noreferrer noopener"
+ }, titleTrimmed ? Object(external_this_wp_element_["createElement"])(external_this_wp_element_["RawHTML"], null, titleTrimmed) : Object(external_this_wp_i18n_["__"])('(no title)')), displayPostDate && post.date_gmt && Object(external_this_wp_element_["createElement"])("time", {
+ dateTime: Object(external_this_wp_date_["format"])('c', post.date_gmt),
+ className: "wp-block-latest-posts__post-date"
+ }, Object(external_this_wp_date_["dateI18n"])(dateFormat, post.date_gmt)), displayPostContent && displayPostContentRadio === 'excerpt' && Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-latest-posts__post-excerpt"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_element_["RawHTML"], {
+ key: "html"
+ }, excerptLength < excerpt.trim().split(' ').length ? excerpt.trim().split(' ', excerptLength).join(' ') + ' ... <a href=' + post.link + 'target="_blank" rel="noopener noreferrer">' + Object(external_this_wp_i18n_["__"])('Read more') + '</a>' : excerpt.trim().split(' ', excerptLength).join(' '))), displayPostContent && displayPostContentRadio === 'full_post' && Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-latest-posts__post-full-content"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_element_["RawHTML"], {
+ key: "html"
+ }, post.content.raw.trim())));
+ })));
+ }
+ }]);
+
+ return LatestPostsEdit;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var latest_posts_edit = (Object(external_this_wp_data_["withSelect"])(function (select, props) {
+ var _props$attributes = props.attributes,
+ postsToShow = _props$attributes.postsToShow,
+ order = _props$attributes.order,
+ orderBy = _props$attributes.orderBy,
+ categories = _props$attributes.categories;
+
+ var _select = select('core'),
+ getEntityRecords = _select.getEntityRecords;
+
+ var latestPostsQuery = Object(external_lodash_["pickBy"])({
+ categories: categories,
+ order: order,
+ orderby: orderBy,
+ per_page: postsToShow
+ }, function (value) {
+ return !Object(external_lodash_["isUndefined"])(value);
+ });
+ return {
+ latestPosts: getEntityRecords('postType', 'post', latestPostsQuery)
+ };
+})(edit_LatestPostsEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-posts/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var latest_posts_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M0,0h24v24H0V0z",
+ fill: "none"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "11",
+ y: "7",
+ width: "6",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "11",
+ y: "11",
+ width: "6",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "11",
+ y: "15",
+ width: "6",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "7",
+ y: "7",
+ width: "2",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "7",
+ y: "11",
+ width: "2",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "7",
+ y: "15",
+ width: "2",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M20.1,3H3.9C3.4,3,3,3.4,3,3.9v16.2C3,20.5,3.4,21,3.9,21h16.2c0.4,0,0.9-0.5,0.9-0.9V3.9C21,3.4,20.5,3,20.1,3z M19,19H5V5h14V19z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-posts/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var latest_posts_name = 'core/latest-posts';
+var latest_posts_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Latest Posts'),
+ description: Object(external_this_wp_i18n_["__"])('Display a list of your most recent posts.'),
+ icon: latest_posts_icon,
+ category: 'widgets',
+ keywords: [Object(external_this_wp_i18n_["__"])('recent posts')],
+ supports: {
+ align: true,
+ html: false
+ },
+ edit: latest_posts_edit
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/ordered-list-settings.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+var ordered_list_settings_OrderedListSettings = function OrderedListSettings(_ref) {
+ var setAttributes = _ref.setAttributes,
+ reversed = _ref.reversed,
+ start = _ref.start;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Ordered List Settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Start Value'),
+ type: "number",
+ onChange: function onChange(value) {
+ var int = parseInt(value, 10);
+ setAttributes({
+ // It should be possible to unset the value,
+ // e.g. with an empty string.
+ start: isNaN(int) ? undefined : int
+ });
+ },
+ value: Number.isInteger(start) ? start.toString(10) : '',
+ step: "1"
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Reverse List Numbering'),
+ checked: reversed || false,
+ onChange: function onChange(value) {
+ setAttributes({
+ // Unset the attribute if not reversed.
+ reversed: value || undefined
+ });
+ }
+ })));
+};
+
+/* harmony default export */ var ordered_list_settings = (ordered_list_settings_OrderedListSettings);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/edit.js
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function ListEdit(_ref) {
+ var attributes = _ref.attributes,
+ setAttributes = _ref.setAttributes,
+ mergeBlocks = _ref.mergeBlocks,
+ onReplace = _ref.onReplace,
+ className = _ref.className;
+ var ordered = attributes.ordered,
+ values = attributes.values,
+ reversed = attributes.reversed,
+ start = attributes.start;
+ var tagName = ordered ? 'ol' : 'ul';
+
+ var controls = function controls(_ref2) {
+ var value = _ref2.value,
+ onChange = _ref2.onChange;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextShortcut"], {
+ type: "primary",
+ character: "[",
+ onUse: function onUse() {
+ onChange(Object(external_this_wp_richText_["__unstableOutdentListItems"])(value));
+ }
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextShortcut"], {
+ type: "primary",
+ character: "]",
+ onUse: function onUse() {
+ onChange(Object(external_this_wp_richText_["__unstableIndentListItems"])(value, {
+ type: tagName
+ }));
+ }
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextShortcut"], {
+ type: "primary",
+ character: "m",
+ onUse: function onUse() {
+ onChange(Object(external_this_wp_richText_["__unstableIndentListItems"])(value, {
+ type: tagName
+ }));
+ }
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextShortcut"], {
+ type: "primaryShift",
+ character: "m",
+ onUse: function onUse() {
+ onChange(Object(external_this_wp_richText_["__unstableOutdentListItems"])(value));
+ }
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Toolbar"], {
+ controls: [{
+ icon: 'editor-ul',
+ title: Object(external_this_wp_i18n_["__"])('Convert to unordered list'),
+ isActive: Object(external_this_wp_richText_["__unstableIsActiveListType"])(value, 'ul', tagName),
+ onClick: function onClick() {
+ onChange(Object(external_this_wp_richText_["__unstableChangeListType"])(value, {
+ type: 'ul'
+ }));
+
+ if (Object(external_this_wp_richText_["__unstableIsListRootSelected"])(value)) {
+ setAttributes({
+ ordered: false
+ });
+ }
+ }
+ }, {
+ icon: 'editor-ol',
+ title: Object(external_this_wp_i18n_["__"])('Convert to ordered list'),
+ isActive: Object(external_this_wp_richText_["__unstableIsActiveListType"])(value, 'ol', tagName),
+ onClick: function onClick() {
+ onChange(Object(external_this_wp_richText_["__unstableChangeListType"])(value, {
+ type: 'ol'
+ }));
+
+ if (Object(external_this_wp_richText_["__unstableIsListRootSelected"])(value)) {
+ setAttributes({
+ ordered: true
+ });
+ }
+ }
+ }, {
+ icon: 'editor-outdent',
+ title: Object(external_this_wp_i18n_["__"])('Outdent list item'),
+ shortcut: Object(external_this_wp_i18n_["_x"])('Backspace', 'keyboard key'),
+ onClick: function onClick() {
+ onChange(Object(external_this_wp_richText_["__unstableOutdentListItems"])(value));
+ }
+ }, {
+ icon: 'editor-indent',
+ title: Object(external_this_wp_i18n_["__"])('Indent list item'),
+ shortcut: Object(external_this_wp_i18n_["_x"])('Space', 'keyboard key'),
+ onClick: function onClick() {
+ onChange(Object(external_this_wp_richText_["__unstableIndentListItems"])(value, {
+ type: tagName
+ }));
+ }
+ }]
+ })));
+ };
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ identifier: "values",
+ multiline: "li",
+ tagName: tagName,
+ onChange: function onChange(nextValues) {
+ return setAttributes({
+ values: nextValues
+ });
+ },
+ value: values,
+ wrapperClassName: "block-library-list",
+ className: className,
+ placeholder: Object(external_this_wp_i18n_["__"])('Write list…'),
+ onMerge: mergeBlocks,
+ onSplit: function onSplit(value) {
+ return Object(external_this_wp_blocks_["createBlock"])(list_name, Object(objectSpread["a" /* default */])({}, attributes, {
+ values: value
+ }));
+ },
+ __unstableOnSplitMiddle: function __unstableOnSplitMiddle() {
+ return Object(external_this_wp_blocks_["createBlock"])('core/paragraph');
+ },
+ onReplace: onReplace,
+ onRemove: function onRemove() {
+ return onReplace([]);
+ },
+ start: start,
+ reversed: reversed
+ }, controls), ordered && Object(external_this_wp_element_["createElement"])(ordered_list_settings, {
+ setAttributes: setAttributes,
+ ordered: ordered,
+ reversed: reversed,
+ start: start
+ }));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var list_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M9 19h12v-2H9v2zm0-6h12v-2H9v2zm0-8v2h12V5H9zm-4-.5c-.828 0-1.5.672-1.5 1.5S4.172 7.5 5 7.5 6.5 6.828 6.5 6 5.828 4.5 5 4.5zm0 6c-.828 0-1.5.672-1.5 1.5s.672 1.5 1.5 1.5 1.5-.672 1.5-1.5-.672-1.5-1.5-1.5zm0 6c-.828 0-1.5.672-1.5 1.5s.672 1.5 1.5 1.5 1.5-.672 1.5-1.5-.672-1.5-1.5-1.5z"
+}))));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/save.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+function list_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var ordered = attributes.ordered,
+ values = attributes.values,
+ reversed = attributes.reversed,
+ start = attributes.start;
+ var tagName = ordered ? 'ol' : 'ul';
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: tagName,
+ value: values,
+ reversed: reversed,
+ start: start,
+ multiline: "li"
+ });
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/transforms.js
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+var listContentSchema = Object(objectSpread["a" /* default */])({}, Object(external_this_wp_blocks_["getPhrasingContentSchema"])(), {
+ ul: {},
+ ol: {
+ attributes: ['type']
+ }
+}); // Recursion is needed.
+// Possible: ul > li > ul.
+// Impossible: ul > ul.
+
+
+['ul', 'ol'].forEach(function (tag) {
+ listContentSchema[tag].children = {
+ li: {
+ children: listContentSchema
+ }
+ };
+});
+var list_transforms_transforms = {
+ from: [{
+ type: 'block',
+ isMultiBlock: true,
+ blocks: ['core/paragraph'],
+ transform: function transform(blockAttributes) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/list', {
+ values: Object(external_this_wp_richText_["toHTMLString"])({
+ value: Object(external_this_wp_richText_["join"])(blockAttributes.map(function (_ref) {
+ var content = _ref.content;
+ var value = Object(external_this_wp_richText_["create"])({
+ html: content
+ });
+
+ if (blockAttributes.length > 1) {
+ return value;
+ } // When converting only one block, transform
+ // every line to a list item.
+
+
+ return Object(external_this_wp_richText_["replace"])(value, /\n/g, external_this_wp_richText_["__UNSTABLE_LINE_SEPARATOR"]);
+ }), external_this_wp_richText_["__UNSTABLE_LINE_SEPARATOR"]),
+ multilineTag: 'li'
+ })
+ });
+ }
+ }, {
+ type: 'block',
+ blocks: ['core/quote'],
+ transform: function transform(_ref2) {
+ var value = _ref2.value;
+ return Object(external_this_wp_blocks_["createBlock"])('core/list', {
+ values: Object(external_this_wp_richText_["toHTMLString"])({
+ value: Object(external_this_wp_richText_["create"])({
+ html: value,
+ multilineTag: 'p'
+ }),
+ multilineTag: 'li'
+ })
+ });
+ }
+ }, {
+ type: 'raw',
+ selector: 'ol,ul',
+ schema: {
+ ol: listContentSchema.ol,
+ ul: listContentSchema.ul
+ },
+ transform: function transform(node) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/list', Object(objectSpread["a" /* default */])({}, Object(external_this_wp_blocks_["getBlockAttributes"])('core/list', node.outerHTML), {
+ ordered: node.nodeName === 'OL'
+ }));
+ }
+ }].concat(Object(toConsumableArray["a" /* default */])(['*', '-'].map(function (prefix) {
+ return {
+ type: 'prefix',
+ prefix: prefix,
+ transform: function transform(content) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/list', {
+ values: "<li>".concat(content, "</li>")
+ });
+ }
+ };
+ })), Object(toConsumableArray["a" /* default */])(['1.', '1)'].map(function (prefix) {
+ return {
+ type: 'prefix',
+ prefix: prefix,
+ transform: function transform(content) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/list', {
+ ordered: true,
+ values: "<li>".concat(content, "</li>")
+ });
+ }
+ };
+ }))),
+ to: [{
+ type: 'block',
+ blocks: ['core/paragraph'],
+ transform: function transform(_ref3) {
+ var values = _ref3.values;
+ return Object(external_this_wp_richText_["split"])(Object(external_this_wp_richText_["create"])({
+ html: values,
+ multilineTag: 'li',
+ multilineWrapperTags: ['ul', 'ol']
+ }), external_this_wp_richText_["__UNSTABLE_LINE_SEPARATOR"]).map(function (piece) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/paragraph', {
+ content: Object(external_this_wp_richText_["toHTMLString"])({
+ value: piece
+ })
+ });
+ });
+ }
+ }, {
+ type: 'block',
+ blocks: ['core/quote'],
+ transform: function transform(_ref4) {
+ var values = _ref4.values;
+ return Object(external_this_wp_blocks_["createBlock"])('core/quote', {
+ value: Object(external_this_wp_richText_["toHTMLString"])({
+ value: Object(external_this_wp_richText_["create"])({
+ html: values,
+ multilineTag: 'li',
+ multilineWrapperTags: ['ul', 'ol']
+ }),
+ multilineTag: 'p'
+ })
+ });
+ }
+ }]
+};
+/* harmony default export */ var list_transforms = (list_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/index.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var list_metadata = {
+ name: "core/list",
+ category: "common",
+ attributes: {
+ ordered: {
+ type: "boolean",
+ "default": false
+ },
+ values: {
+ type: "string",
+ source: "html",
+ selector: "ol,ul",
+ multiline: "li",
+ __unstableMultilineWrapperTags: ["ol", "ul"],
+ "default": ""
+ },
+ start: {
+ type: "number"
+ },
+ reversed: {
+ type: "boolean"
+ }
+ }
+};
+
+
+var list_name = list_metadata.name;
+
+var list_settings = {
+ title: Object(external_this_wp_i18n_["__"])('List'),
+ description: Object(external_this_wp_i18n_["__"])('Create a bulleted or numbered list.'),
+ icon: list_icon,
+ keywords: [Object(external_this_wp_i18n_["__"])('bullet list'), Object(external_this_wp_i18n_["__"])('ordered list'), Object(external_this_wp_i18n_["__"])('numbered list')],
+ supports: {
+ className: false
+ },
+ example: {
+ attributes: {
+ values: '<li>Alice.</li><li>The White Rabbit.</li><li>The Cheshire Cat.</li><li>The Mad Hatter.</li><li>The Queen of Hearts.</li>'
+ }
+ },
+ transforms: list_transforms,
+ merge: function merge(attributes, attributesToMerge) {
+ var values = attributesToMerge.values;
+
+ if (!values || values === '<li></li>') {
+ return attributes;
+ }
+
+ return Object(objectSpread["a" /* default */])({}, attributes, {
+ values: attributes.values + values
+ });
+ },
+ edit: ListEdit,
+ save: list_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/missing/edit.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+function MissingBlockWarning(_ref) {
+ var attributes = _ref.attributes,
+ convertToHTML = _ref.convertToHTML;
+ var originalName = attributes.originalName,
+ originalUndelimitedContent = attributes.originalUndelimitedContent;
+ var hasContent = !!originalUndelimitedContent;
+ var hasHTMLBlock = Object(external_this_wp_blocks_["getBlockType"])('core/html');
+ var actions = [];
+ var messageHTML;
+
+ if (hasContent && hasHTMLBlock) {
+ messageHTML = Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Your site doesn’t include support for the "%s" block. You can leave this block intact, convert its content to a Custom HTML block, or remove it entirely.'), originalName);
+ actions.push(Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
+ key: "convert",
+ onClick: convertToHTML,
+ isLarge: true,
+ isPrimary: true
+ }, Object(external_this_wp_i18n_["__"])('Keep as HTML')));
+ } else {
+ messageHTML = Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Your site doesn’t include support for the "%s" block. You can leave this block intact or remove it entirely.'), originalName);
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["Warning"], {
+ actions: actions
+ }, messageHTML), Object(external_this_wp_element_["createElement"])(external_this_wp_element_["RawHTML"], null, originalUndelimitedContent));
+}
+
+var MissingEdit = Object(external_this_wp_data_["withDispatch"])(function (dispatch, _ref2) {
+ var clientId = _ref2.clientId,
+ attributes = _ref2.attributes;
+
+ var _dispatch = dispatch('core/block-editor'),
+ replaceBlock = _dispatch.replaceBlock;
+
+ return {
+ convertToHTML: function convertToHTML() {
+ replaceBlock(clientId, Object(external_this_wp_blocks_["createBlock"])('core/html', {
+ content: attributes.originalUndelimitedContent
+ }));
+ }
+ };
+})(MissingBlockWarning);
+/* harmony default export */ var missing_edit = (MissingEdit);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/missing/save.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+function missing_save_save(_ref) {
+ var attributes = _ref.attributes;
+ // Preserve the missing block's content.
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["RawHTML"], null, attributes.originalContent);
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/missing/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+var missing_metadata = {
+ name: "core/missing",
+ category: "common",
+ attributes: {
+ originalName: {
+ type: "string"
+ },
+ originalUndelimitedContent: {
+ type: "string"
+ },
+ originalContent: {
+ type: "string",
+ source: "html"
+ }
+ }
+};
+
+var missing_name = missing_metadata.name;
+
+var missing_settings = {
+ name: missing_name,
+ title: Object(external_this_wp_i18n_["__"])('Unrecognized Block'),
+ description: Object(external_this_wp_i18n_["__"])('Your site doesn’t include support for this block.'),
+ supports: {
+ className: false,
+ customClassName: false,
+ inserter: false,
+ html: false,
+ reusable: false
+ },
+ edit: missing_edit,
+ save: missing_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/more/edit.js
+
+
+
+
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+var edit_MoreEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(MoreEdit, _Component);
+
+ function MoreEdit() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, MoreEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(MoreEdit).apply(this, arguments));
+ _this.onChangeInput = _this.onChangeInput.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onKeyDown = _this.onKeyDown.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.state = {
+ defaultText: Object(external_this_wp_i18n_["__"])('Read more')
+ };
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(MoreEdit, [{
+ key: "onChangeInput",
+ value: function onChangeInput(event) {
+ // Set defaultText to an empty string, allowing the user to clear/replace the input field's text
+ this.setState({
+ defaultText: ''
+ });
+ var value = event.target.value.length === 0 ? undefined : event.target.value;
+ this.props.setAttributes({
+ customText: value
+ });
+ }
+ }, {
+ key: "onKeyDown",
+ value: function onKeyDown(event) {
+ var keyCode = event.keyCode;
+ var insertBlocksAfter = this.props.insertBlocksAfter;
+
+ if (keyCode === external_this_wp_keycodes_["ENTER"]) {
+ insertBlocksAfter([Object(external_this_wp_blocks_["createBlock"])(Object(external_this_wp_blocks_["getDefaultBlockName"])())]);
+ }
+ }
+ }, {
+ key: "getHideExcerptHelp",
+ value: function getHideExcerptHelp(checked) {
+ return checked ? Object(external_this_wp_i18n_["__"])('The excerpt is hidden.') : Object(external_this_wp_i18n_["__"])('The excerpt is visible.');
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props$attribute = this.props.attributes,
+ customText = _this$props$attribute.customText,
+ noTeaser = _this$props$attribute.noTeaser;
+ var setAttributes = this.props.setAttributes;
+
+ var toggleHideExcerpt = function toggleHideExcerpt() {
+ return setAttributes({
+ noTeaser: !noTeaser
+ });
+ };
+
+ var defaultText = this.state.defaultText;
+ var value = customText !== undefined ? customText : defaultText;
+ var inputLength = value.length + 1;
+ 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"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Hide the excerpt on the full content page'),
+ checked: !!noTeaser,
+ onChange: toggleHideExcerpt,
+ help: this.getHideExcerptHelp
+ }))), Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-more"
+ }, Object(external_this_wp_element_["createElement"])("input", {
+ type: "text",
+ value: value,
+ size: inputLength,
+ onChange: this.onChangeInput,
+ onKeyDown: this.onKeyDown
+ })));
+ }
+ }]);
+
+ return MoreEdit;
+}(external_this_wp_element_["Component"]);
+
+
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/more/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var more_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fill: "none",
+ d: "M0 0h24v24H0V0z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M2 9v2h19V9H2zm0 6h5v-2H2v2zm7 0h5v-2H9v2zm7 0h5v-2h-5v2z"
+}))));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/more/save.js
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+function more_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var customText = attributes.customText,
+ noTeaser = attributes.noTeaser;
+ var moreTag = customText ? "<!--more ".concat(customText, "-->") : '<!--more-->';
+ var noTeaserTag = noTeaser ? '<!--noteaser-->' : '';
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["RawHTML"], null, Object(external_lodash_["compact"])([moreTag, noTeaserTag]).join('\n'));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/more/transforms.js
+/**
+ * WordPress dependencies
+ */
+
+var more_transforms_transforms = {
+ from: [{
+ type: 'raw',
+ schema: {
+ 'wp-block': {
+ attributes: ['data-block']
+ }
+ },
+ isMatch: function isMatch(node) {
+ return node.dataset && node.dataset.block === 'core/more';
+ },
+ transform: function transform(node) {
+ var _node$dataset = node.dataset,
+ customText = _node$dataset.customText,
+ noTeaser = _node$dataset.noTeaser;
+ var attrs = {}; // Don't copy unless defined and not an empty string
+
+ if (customText) {
+ attrs.customText = customText;
+ } // Special handling for boolean
+
+
+ if (noTeaser === '') {
+ attrs.noTeaser = true;
+ }
+
+ return Object(external_this_wp_blocks_["createBlock"])('core/more', attrs);
+ }
+ }]
+};
+/* harmony default export */ var more_transforms = (more_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/more/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var more_metadata = {
+ name: "core/more",
+ category: "layout",
+ attributes: {
+ customText: {
+ type: "string"
+ },
+ noTeaser: {
+ type: "boolean",
+ "default": false
+ }
+ }
+};
+
+
+var more_name = more_metadata.name;
+
+var more_settings = {
+ title: Object(external_this_wp_i18n_["_x"])('More', 'block name'),
+ description: Object(external_this_wp_i18n_["__"])('Content before this block will be shown in the excerpt on your archives page.'),
+ icon: more_icon,
+ supports: {
+ customClassName: false,
+ className: false,
+ html: false,
+ multiple: false
+ },
+ example: {},
+ transforms: more_transforms,
+ edit: edit_MoreEdit,
+ save: more_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/nextpage/edit.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+function NextPageEdit() {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-nextpage"
+ }, Object(external_this_wp_element_["createElement"])("span", null, Object(external_this_wp_i18n_["__"])('Page break')));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/nextpage/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var nextpage_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ xmlns: "http://www.w3.org/2000/svg",
+ width: "24px",
+ height: "24px",
+ viewBox: "0 0 24 24"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M0 0h24v24H0z",
+ fill: "none"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M9 11h6v2H9zM2 11h5v2H2zM17 11h5v2h-5zM6 4h7v5h7V8l-6-6H6a2 2 0 0 0-2 2v5h2zM18 20H6v-5H4v5a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5h-2z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/nextpage/save.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+function nextpage_save_save() {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["RawHTML"], null, '<!--nextpage-->');
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/nextpage/transforms.js
+/**
+ * WordPress dependencies
+ */
+
+var nextpage_transforms_transforms = {
+ from: [{
+ type: 'raw',
+ schema: {
+ 'wp-block': {
+ attributes: ['data-block']
+ }
+ },
+ isMatch: function isMatch(node) {
+ return node.dataset && node.dataset.block === 'core/nextpage';
+ },
+ transform: function transform() {
+ return Object(external_this_wp_blocks_["createBlock"])('core/nextpage', {});
+ }
+ }]
+};
+/* harmony default export */ var nextpage_transforms = (nextpage_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/nextpage/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var nextpage_metadata = {
+ name: "core/nextpage",
+ category: "layout"
+};
+
+
+var nextpage_name = nextpage_metadata.name;
+
+var nextpage_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Page Break'),
+ description: Object(external_this_wp_i18n_["__"])('Separate your content into a multi-page experience.'),
+ icon: nextpage_icon,
+ keywords: [Object(external_this_wp_i18n_["__"])('next page'), Object(external_this_wp_i18n_["__"])('pagination')],
+ supports: {
+ customClassName: false,
+ className: false,
+ html: false
+ },
+ example: {},
+ transforms: nextpage_transforms,
+ edit: NextPageEdit,
+ save: nextpage_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/preformatted/edit.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+function PreformattedEdit(_ref) {
+ var attributes = _ref.attributes,
+ mergeBlocks = _ref.mergeBlocks,
+ setAttributes = _ref.setAttributes,
+ className = _ref.className;
+ var content = attributes.content;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ tagName: "pre" // Ensure line breaks are normalised to HTML.
+ ,
+ value: content.replace(/\n/g, '<br>'),
+ onChange: function onChange(nextContent) {
+ setAttributes({
+ // Ensure line breaks are normalised to characters. This
+ // saves space, is easier to read, and ensures display
+ // filters work correctly.
+ content: nextContent.replace(/<br ?\/?>/g, '\n')
+ });
+ },
+ placeholder: Object(external_this_wp_i18n_["__"])('Write preformatted text…'),
+ wrapperClassName: className,
+ onMerge: mergeBlocks
+ });
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/preformatted/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var preformatted_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M0,0h24v24H0V0z",
+ fill: "none"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M20,4H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V6C22,4.9,21.1,4,20,4z M20,18H4V6h16V18z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "6",
+ y: "10",
+ width: "2",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "6",
+ y: "14",
+ width: "8",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "16",
+ y: "14",
+ width: "2",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "10",
+ y: "10",
+ width: "8",
+ height: "2"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/preformatted/save.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+function preformatted_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var content = attributes.content;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "pre",
+ value: content
+ });
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/preformatted/transforms.js
+/**
+ * WordPress dependencies
+ */
+
+var preformatted_transforms_transforms = {
+ from: [{
+ type: 'block',
+ blocks: ['core/code', 'core/paragraph'],
+ transform: function transform(_ref) {
+ var content = _ref.content;
+ return Object(external_this_wp_blocks_["createBlock"])('core/preformatted', {
+ content: content
+ });
+ }
+ }, {
+ type: 'raw',
+ isMatch: function isMatch(node) {
+ return node.nodeName === 'PRE' && !(node.children.length === 1 && node.firstChild.nodeName === 'CODE');
+ },
+ schema: {
+ pre: {
+ children: Object(external_this_wp_blocks_["getPhrasingContentSchema"])()
+ }
+ }
+ }],
+ to: [{
+ type: 'block',
+ blocks: ['core/paragraph'],
+ transform: function transform(attributes) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/paragraph', attributes);
+ }
+ }]
+};
+/* harmony default export */ var preformatted_transforms = (preformatted_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/preformatted/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var preformatted_metadata = {
+ name: "core/preformatted",
+ category: "formatting",
+ attributes: {
+ content: {
+ type: "string",
+ source: "html",
+ selector: "pre",
+ "default": ""
+ }
+ }
+};
+
+
+var preformatted_name = preformatted_metadata.name;
+
+var preformatted_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Preformatted'),
+ description: Object(external_this_wp_i18n_["__"])('Add text that respects your spacing and tabs, and also allows styling.'),
+ icon: preformatted_icon,
+ example: {
+ attributes: {
+ content: Object(external_this_wp_i18n_["__"])('EXT. XANADU - FAINT DAWN - 1940 (MINIATURE)') + '\n' + Object(external_this_wp_i18n_["__"])('Window, very small in the distance, illuminated.') + '\n' + Object(external_this_wp_i18n_["__"])('All around this is an almost totally black screen. Now, as the camera moves slowly towards the window which is almost a postage stamp in the frame, other forms appear;')
+ }
+ },
+ transforms: preformatted_transforms,
+ edit: PreformattedEdit,
+ save: preformatted_save_save,
+ merge: function merge(attributes, attributesToMerge) {
+ return {
+ content: attributes.content + attributesToMerge.content
+ };
+ }
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/shared.js
+var SOLID_COLOR_STYLE_NAME = 'solid-color';
+var SOLID_COLOR_CLASS = "is-style-".concat(SOLID_COLOR_STYLE_NAME);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/deprecated.js
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var pullquote_deprecated_blockAttributes = {
+ value: {
+ type: 'string',
+ source: 'html',
+ selector: 'blockquote',
+ multiline: 'p'
+ },
+ citation: {
+ type: 'string',
+ source: 'html',
+ selector: 'cite',
+ default: ''
+ },
+ mainColor: {
+ type: 'string'
+ },
+ customMainColor: {
+ type: 'string'
+ },
+ textColor: {
+ type: 'string'
+ },
+ customTextColor: {
+ type: 'string'
+ }
+};
+
+function parseBorderColor(styleString) {
+ if (!styleString) {
+ return;
+ }
+
+ var matches = styleString.match(/border-color:([^;]+)[;]?/);
+
+ if (matches && matches[1]) {
+ return matches[1];
+ }
+}
+
+var pullquote_deprecated_deprecated = [{
+ attributes: Object(objectSpread["a" /* default */])({}, pullquote_deprecated_blockAttributes, {
+ // figureStyle is an attribute that never existed.
+ // We are using it as a way to access the styles previously applied to the figure.
+ figureStyle: {
+ source: 'attribute',
+ selector: 'figure',
+ attribute: 'style'
+ }
+ }),
+ save: function save(_ref) {
+ var attributes = _ref.attributes;
+ var mainColor = attributes.mainColor,
+ customMainColor = attributes.customMainColor,
+ textColor = attributes.textColor,
+ customTextColor = attributes.customTextColor,
+ value = attributes.value,
+ citation = attributes.citation,
+ className = attributes.className,
+ figureStyle = attributes.figureStyle;
+ var isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS);
+ var figureClasses, figureStyles; // Is solid color style
+
+ if (isSolidColorStyle) {
+ var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', mainColor);
+ figureClasses = classnames_default()(Object(defineProperty["a" /* default */])({
+ 'has-background': backgroundClass || customMainColor
+ }, backgroundClass, backgroundClass));
+ figureStyles = {
+ backgroundColor: backgroundClass ? undefined : customMainColor
+ }; // Is normal style and a custom color is being used ( we can set a style directly with its value)
+ } else if (customMainColor) {
+ figureStyles = {
+ borderColor: customMainColor
+ }; // If normal style and a named color are being used, we need to retrieve the color value to set the style,
+ // as there is no expectation that themes create classes that set border colors.
+ } else if (mainColor) {
+ // Previously here we queried the color settings to know the color value
+ // of a named color. This made the save function impure and the block was refactored,
+ // because meanwhile a change in the editor made it impossible to query color settings in the save function.
+ // Here instead of querying the color settings to know the color value, we retrieve the value
+ // directly from the style previously serialized.
+ var borderColor = parseBorderColor(figureStyle);
+ figureStyles = {
+ borderColor: borderColor
+ };
+ }
+
+ var blockquoteTextColorClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
+ var blockquoteClasses = (textColor || customTextColor) && classnames_default()('has-text-color', Object(defineProperty["a" /* default */])({}, blockquoteTextColorClass, blockquoteTextColorClass));
+ var blockquoteStyles = blockquoteTextColorClass ? undefined : {
+ color: customTextColor
+ };
+ return Object(external_this_wp_element_["createElement"])("figure", {
+ className: figureClasses,
+ style: figureStyles
+ }, Object(external_this_wp_element_["createElement"])("blockquote", {
+ className: blockquoteClasses,
+ style: blockquoteStyles
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ value: value,
+ multiline: true
+ }), !external_this_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "cite",
+ value: citation
+ })));
+ },
+ migrate: function migrate(_ref2) {
+ var className = _ref2.className,
+ figureStyle = _ref2.figureStyle,
+ mainColor = _ref2.mainColor,
+ attributes = Object(objectWithoutProperties["a" /* default */])(_ref2, ["className", "figureStyle", "mainColor"]);
+
+ var isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS); // If is the default style, and a main color is set,
+ // migrate the main color value into a custom color.
+ // The custom color value is retrived by parsing the figure styles.
+
+ if (!isSolidColorStyle && mainColor && figureStyle) {
+ var borderColor = parseBorderColor(figureStyle);
+
+ if (borderColor) {
+ return Object(objectSpread["a" /* default */])({}, attributes, {
+ className: className,
+ customMainColor: borderColor
+ });
+ }
+ }
+
+ return Object(objectSpread["a" /* default */])({
+ className: className,
+ mainColor: mainColor
+ }, attributes);
+ }
+}, {
+ attributes: pullquote_deprecated_blockAttributes,
+ save: function save(_ref3) {
+ var attributes = _ref3.attributes;
+ var mainColor = attributes.mainColor,
+ customMainColor = attributes.customMainColor,
+ textColor = attributes.textColor,
+ customTextColor = attributes.customTextColor,
+ value = attributes.value,
+ citation = attributes.citation,
+ className = attributes.className;
+ var isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS);
+ var figureClass, figureStyles; // Is solid color style
+
+ if (isSolidColorStyle) {
+ figureClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', mainColor);
+
+ if (!figureClass) {
+ figureStyles = {
+ backgroundColor: customMainColor
+ };
+ } // Is normal style and a custom color is being used ( we can set a style directly with its value)
+
+ } else if (customMainColor) {
+ figureStyles = {
+ borderColor: customMainColor
+ }; // Is normal style and a named color is being used, we need to retrieve the color value to set the style,
+ // as there is no expectation that themes create classes that set border colors.
+ } else if (mainColor) {
+ var colors = Object(external_lodash_["get"])(Object(external_this_wp_data_["select"])('core/block-editor').getSettings(), ['colors'], []);
+ var colorObject = Object(external_this_wp_blockEditor_["getColorObjectByAttributeValues"])(colors, mainColor);
+ figureStyles = {
+ borderColor: colorObject.color
+ };
+ }
+
+ var blockquoteTextColorClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
+ var blockquoteClasses = textColor || customTextColor ? classnames_default()('has-text-color', Object(defineProperty["a" /* default */])({}, blockquoteTextColorClass, blockquoteTextColorClass)) : undefined;
+ var blockquoteStyle = blockquoteTextColorClass ? undefined : {
+ color: customTextColor
+ };
+ return Object(external_this_wp_element_["createElement"])("figure", {
+ className: figureClass,
+ style: figureStyles
+ }, Object(external_this_wp_element_["createElement"])("blockquote", {
+ className: blockquoteClasses,
+ style: blockquoteStyle
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ value: value,
+ multiline: true
+ }), !external_this_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "cite",
+ value: citation
+ })));
+ }
+}, {
+ attributes: Object(objectSpread["a" /* default */])({}, pullquote_deprecated_blockAttributes),
+ save: function save(_ref4) {
+ var attributes = _ref4.attributes;
+ var value = attributes.value,
+ citation = attributes.citation;
+ return Object(external_this_wp_element_["createElement"])("blockquote", null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ value: value,
+ multiline: true
+ }), !external_this_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "cite",
+ value: citation
+ }));
+ }
+}, {
+ attributes: Object(objectSpread["a" /* default */])({}, pullquote_deprecated_blockAttributes, {
+ citation: {
+ type: 'string',
+ source: 'html',
+ selector: 'footer'
+ },
+ align: {
+ type: 'string',
+ default: 'none'
+ }
+ }),
+ save: function save(_ref5) {
+ var attributes = _ref5.attributes;
+ var value = attributes.value,
+ citation = attributes.citation,
+ align = attributes.align;
+ return Object(external_this_wp_element_["createElement"])("blockquote", {
+ className: "align".concat(align)
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ value: value,
+ multiline: true
+ }), !external_this_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "footer",
+ value: citation
+ }));
+ }
+}];
+/* harmony default export */ var pullquote_deprecated = (pullquote_deprecated_deprecated);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/edit.js
+
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var edit_PullQuoteEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(PullQuoteEdit, _Component);
+
+ function PullQuoteEdit(props) {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, PullQuoteEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(PullQuoteEdit).call(this, props));
+ _this.wasTextColorAutomaticallyComputed = false;
+ _this.pullQuoteMainColorSetter = _this.pullQuoteMainColorSetter.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.pullQuoteTextColorSetter = _this.pullQuoteTextColorSetter.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(PullQuoteEdit, [{
+ key: "pullQuoteMainColorSetter",
+ value: function pullQuoteMainColorSetter(colorValue) {
+ var _this$props = this.props,
+ colorUtils = _this$props.colorUtils,
+ textColor = _this$props.textColor,
+ setAttributes = _this$props.setAttributes,
+ setTextColor = _this$props.setTextColor,
+ setMainColor = _this$props.setMainColor,
+ className = _this$props.className;
+ var isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS);
+ var needTextColor = !textColor.color || this.wasTextColorAutomaticallyComputed;
+ var shouldSetTextColor = isSolidColorStyle && needTextColor && colorValue;
+
+ if (isSolidColorStyle) {
+ // If we use the solid color style, set the color using the normal mechanism.
+ setMainColor(colorValue);
+ } else {
+ // If we use the default style, set the color as a custom color to force the usage of an inline style.
+ // Default style uses a border color for which classes are not available.
+ setAttributes({
+ customMainColor: colorValue
+ });
+ }
+
+ if (shouldSetTextColor) {
+ this.wasTextColorAutomaticallyComputed = true;
+ setTextColor(colorUtils.getMostReadableColor(colorValue));
+ }
+ }
+ }, {
+ key: "pullQuoteTextColorSetter",
+ value: function pullQuoteTextColorSetter(colorValue) {
+ var setTextColor = this.props.setTextColor;
+ setTextColor(colorValue);
+ this.wasTextColorAutomaticallyComputed = false;
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var _this$props2 = this.props,
+ attributes = _this$props2.attributes,
+ className = _this$props2.className,
+ mainColor = _this$props2.mainColor,
+ setAttributes = _this$props2.setAttributes; // If the block includes a named color and we switched from the
+ // solid color style to the default style.
+
+ if (attributes.mainColor && !Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS) && Object(external_lodash_["includes"])(prevProps.className, SOLID_COLOR_CLASS)) {
+ // Remove the named color, and set the color as a custom color.
+ // This is done because named colors use classes, in the default style we use a border color,
+ // and themes don't set classes for border colors.
+ setAttributes({
+ mainColor: undefined,
+ customMainColor: mainColor.color
+ });
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props3 = this.props,
+ attributes = _this$props3.attributes,
+ mainColor = _this$props3.mainColor,
+ textColor = _this$props3.textColor,
+ setAttributes = _this$props3.setAttributes,
+ isSelected = _this$props3.isSelected,
+ className = _this$props3.className;
+ var value = attributes.value,
+ citation = attributes.citation;
+ var isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS);
+ var figureStyles = isSolidColorStyle ? {
+ backgroundColor: mainColor.color
+ } : {
+ borderColor: mainColor.color
+ };
+ var figureClasses = classnames_default()(className, Object(defineProperty["a" /* default */])({
+ 'has-background': isSolidColorStyle && mainColor.color
+ }, mainColor.class, isSolidColorStyle && mainColor.class));
+ var blockquoteStyles = {
+ color: textColor.color
+ };
+ var blockquoteClasses = textColor.color && classnames_default()('has-text-color', Object(defineProperty["a" /* default */])({}, textColor.class, textColor.class));
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("figure", {
+ style: figureStyles,
+ className: figureClasses
+ }, Object(external_this_wp_element_["createElement"])("blockquote", {
+ style: blockquoteStyles,
+ className: blockquoteClasses
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ multiline: true,
+ value: value,
+ onChange: function onChange(nextValue) {
+ return setAttributes({
+ value: nextValue
+ });
+ },
+ placeholder: // translators: placeholder text used for the quote
+ Object(external_this_wp_i18n_["__"])('Write quote…'),
+ wrapperClassName: "block-library-pullquote__content"
+ }), (!external_this_wp_blockEditor_["RichText"].isEmpty(citation) || isSelected) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ value: citation,
+ placeholder: // translators: placeholder text used for the citation
+ Object(external_this_wp_i18n_["__"])('Write citation…'),
+ onChange: function onChange(nextCitation) {
+ return setAttributes({
+ citation: nextCitation
+ });
+ },
+ className: "wp-block-pullquote__citation"
+ }))), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["PanelColorSettings"], {
+ title: Object(external_this_wp_i18n_["__"])('Color Settings'),
+ colorSettings: [{
+ value: mainColor.color,
+ onChange: this.pullQuoteMainColorSetter,
+ label: Object(external_this_wp_i18n_["__"])('Main Color')
+ }, {
+ value: textColor.color,
+ onChange: this.pullQuoteTextColorSetter,
+ label: Object(external_this_wp_i18n_["__"])('Text Color')
+ }]
+ }, isSolidColorStyle && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["ContrastChecker"], Object(esm_extends["a" /* default */])({
+ textColor: textColor.color,
+ backgroundColor: mainColor.color
+ }, {
+ isLargeText: false
+ })))));
+ }
+ }]);
+
+ return PullQuoteEdit;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var pullquote_edit = (Object(external_this_wp_blockEditor_["withColors"])({
+ mainColor: 'background-color',
+ textColor: 'color'
+})(edit_PullQuoteEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var pullquote_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M0,0h24v24H0V0z",
+ fill: "none"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Polygon"], {
+ points: "21 18 2 18 2 20 21 20"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "m19 10v4h-15v-4h15m1-2h-17c-0.55 0-1 0.45-1 1v6c0 0.55 0.45 1 1 1h17c0.55 0 1-0.45 1-1v-6c0-0.55-0.45-1-1-1z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Polygon"], {
+ points: "21 4 2 4 2 6 21 6"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/save.js
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+function pullquote_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var mainColor = attributes.mainColor,
+ customMainColor = attributes.customMainColor,
+ textColor = attributes.textColor,
+ customTextColor = attributes.customTextColor,
+ value = attributes.value,
+ citation = attributes.citation,
+ className = attributes.className;
+ var isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS);
+ var figureClasses, figureStyles; // Is solid color style
+
+ if (isSolidColorStyle) {
+ var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', mainColor);
+ figureClasses = classnames_default()(Object(defineProperty["a" /* default */])({
+ 'has-background': backgroundClass || customMainColor
+ }, backgroundClass, backgroundClass));
+ figureStyles = {
+ backgroundColor: backgroundClass ? undefined : customMainColor
+ }; // Is normal style and a custom color is being used ( we can set a style directly with its value)
+ } else if (customMainColor) {
+ figureStyles = {
+ borderColor: customMainColor
+ };
+ }
+
+ var blockquoteTextColorClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', textColor);
+ var blockquoteClasses = (textColor || customTextColor) && classnames_default()('has-text-color', Object(defineProperty["a" /* default */])({}, blockquoteTextColorClass, blockquoteTextColorClass));
+ var blockquoteStyles = blockquoteTextColorClass ? undefined : {
+ color: customTextColor
+ };
+ return Object(external_this_wp_element_["createElement"])("figure", {
+ className: figureClasses,
+ style: figureStyles
+ }, Object(external_this_wp_element_["createElement"])("blockquote", {
+ className: blockquoteClasses,
+ style: blockquoteStyles
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ value: value,
+ multiline: true
+ }), !external_this_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "cite",
+ value: citation
+ })));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+var pullquote_metadata = {
+ name: "core/pullquote",
+ category: "formatting",
+ attributes: {
+ value: {
+ type: "string",
+ source: "html",
+ selector: "blockquote",
+ multiline: "p"
+ },
+ citation: {
+ type: "string",
+ source: "html",
+ selector: "cite",
+ "default": ""
+ },
+ mainColor: {
+ type: "string"
+ },
+ customMainColor: {
+ type: "string"
+ },
+ textColor: {
+ type: "string"
+ },
+ customTextColor: {
+ type: "string"
+ }
+ }
+};
+
+var pullquote_name = pullquote_metadata.name;
+
+var pullquote_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Pullquote'),
+ description: Object(external_this_wp_i18n_["__"])('Give special visual emphasis to a quote from your text.'),
+ icon: pullquote_icon,
+ example: {
+ attributes: {
+ value: '<p>' + Object(external_this_wp_i18n_["__"])('One of the hardest things to do in technology is disrupt yourself.') + '</p>',
+ citation: 'Matt Mullenweg'
+ }
+ },
+ styles: [{
+ name: 'default',
+ label: Object(external_this_wp_i18n_["_x"])('Default', 'block style'),
+ isDefault: true
+ }, {
+ name: SOLID_COLOR_STYLE_NAME,
+ label: Object(external_this_wp_i18n_["__"])('Solid Color')
+ }],
+ supports: {
+ align: ['left', 'right', 'wide', 'full']
+ },
+ edit: pullquote_edit,
+ save: pullquote_save_save,
+ deprecated: pullquote_deprecated
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/block/edit-panel/index.js
+
+
+
+
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+var edit_panel_ReusableBlockEditPanel =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(ReusableBlockEditPanel, _Component);
+
+ function ReusableBlockEditPanel() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, ReusableBlockEditPanel);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(ReusableBlockEditPanel).apply(this, arguments));
+ _this.titleField = Object(external_this_wp_element_["createRef"])();
+ _this.editButton = Object(external_this_wp_element_["createRef"])();
+ _this.handleFormSubmit = _this.handleFormSubmit.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.handleTitleChange = _this.handleTitleChange.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.handleTitleKeyDown = _this.handleTitleKeyDown.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(ReusableBlockEditPanel, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ // Select the input text when the form opens.
+ if (this.props.isEditing && this.titleField.current) {
+ this.titleField.current.select();
+ }
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ // Select the input text only once when the form opens.
+ if (!prevProps.isEditing && this.props.isEditing) {
+ this.titleField.current.select();
+ } // Move focus back to the Edit button after pressing the Escape key or Save.
+
+
+ if ((prevProps.isEditing || prevProps.isSaving) && !this.props.isEditing && !this.props.isSaving) {
+ this.editButton.current.focus();
+ }
+ }
+ }, {
+ key: "handleFormSubmit",
+ value: function handleFormSubmit(event) {
+ event.preventDefault();
+ this.props.onSave();
+ }
+ }, {
+ key: "handleTitleChange",
+ value: function handleTitleChange(event) {
+ this.props.onChangeTitle(event.target.value);
+ }
+ }, {
+ key: "handleTitleKeyDown",
+ value: function handleTitleKeyDown(event) {
+ if (event.keyCode === external_this_wp_keycodes_["ESCAPE"]) {
+ event.stopPropagation();
+ this.props.onCancel();
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ isEditing = _this$props.isEditing,
+ title = _this$props.title,
+ isSaving = _this$props.isSaving,
+ isEditDisabled = _this$props.isEditDisabled,
+ onEdit = _this$props.onEdit,
+ instanceId = _this$props.instanceId;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, !isEditing && !isSaving && Object(external_this_wp_element_["createElement"])("div", {
+ className: "reusable-block-edit-panel"
+ }, Object(external_this_wp_element_["createElement"])("b", {
+ className: "reusable-block-edit-panel__info"
+ }, title), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
+ ref: this.editButton,
+ isLarge: true,
+ className: "reusable-block-edit-panel__button",
+ disabled: isEditDisabled,
+ onClick: onEdit
+ }, Object(external_this_wp_i18n_["__"])('Edit'))), (isEditing || isSaving) && Object(external_this_wp_element_["createElement"])("form", {
+ className: "reusable-block-edit-panel",
+ onSubmit: this.handleFormSubmit
+ }, Object(external_this_wp_element_["createElement"])("label", {
+ htmlFor: "reusable-block-edit-panel__title-".concat(instanceId),
+ className: "reusable-block-edit-panel__label"
+ }, Object(external_this_wp_i18n_["__"])('Name:')), Object(external_this_wp_element_["createElement"])("input", {
+ ref: this.titleField,
+ type: "text",
+ disabled: isSaving,
+ className: "reusable-block-edit-panel__title",
+ value: title,
+ onChange: this.handleTitleChange,
+ onKeyDown: this.handleTitleKeyDown,
+ id: "reusable-block-edit-panel__title-".concat(instanceId)
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
+ type: "submit",
+ isLarge: true,
+ isBusy: isSaving,
+ disabled: !title || isSaving,
+ className: "reusable-block-edit-panel__button"
+ }, Object(external_this_wp_i18n_["__"])('Save'))));
+ }
+ }]);
+
+ return ReusableBlockEditPanel;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var edit_panel = (Object(external_this_wp_compose_["withInstanceId"])(edit_panel_ReusableBlockEditPanel));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/block/indicator/index.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+function ReusableBlockIndicator(_ref) {
+ var title = _ref.title;
+ // translators: %s: title/name of the reusable block
+ var tooltipText = Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Reusable Block: %s'), title);
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Tooltip"], {
+ text: tooltipText
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "reusable-block-indicator"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Dashicon"], {
+ icon: "controls-repeat"
+ })));
+}
+
+/* harmony default export */ var indicator = (ReusableBlockIndicator);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/block/edit.js
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var edit_ReusableBlockEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(ReusableBlockEdit, _Component);
+
+ function ReusableBlockEdit(_ref) {
+ var _this;
+
+ var reusableBlock = _ref.reusableBlock;
+
+ Object(classCallCheck["a" /* default */])(this, ReusableBlockEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(ReusableBlockEdit).apply(this, arguments));
+ _this.startEditing = _this.startEditing.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.stopEditing = _this.stopEditing.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.setBlocks = _this.setBlocks.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.setTitle = _this.setTitle.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.save = _this.save.bind(Object(assertThisInitialized["a" /* default */])(_this));
+
+ if (reusableBlock) {
+ // Start in edit mode when we're working with a newly created reusable block
+ _this.state = {
+ isEditing: reusableBlock.isTemporary,
+ title: reusableBlock.title,
+ blocks: Object(external_this_wp_blocks_["parse"])(reusableBlock.content)
+ };
+ } else {
+ // Start in preview mode when we're working with an existing reusable block
+ _this.state = {
+ isEditing: false,
+ title: null,
+ blocks: []
+ };
+ }
+
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(ReusableBlockEdit, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ if (!this.props.reusableBlock) {
+ this.props.fetchReusableBlock();
+ }
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ if (prevProps.reusableBlock !== this.props.reusableBlock && this.state.title === null) {
+ this.setState({
+ title: this.props.reusableBlock.title,
+ blocks: Object(external_this_wp_blocks_["parse"])(this.props.reusableBlock.content)
+ });
+ }
+ }
+ }, {
+ key: "startEditing",
+ value: function startEditing() {
+ var reusableBlock = this.props.reusableBlock;
+ this.setState({
+ isEditing: true,
+ title: reusableBlock.title,
+ blocks: Object(external_this_wp_blocks_["parse"])(reusableBlock.content)
+ });
+ }
+ }, {
+ key: "stopEditing",
+ value: function stopEditing() {
+ this.setState({
+ isEditing: false,
+ title: null,
+ blocks: []
+ });
+ }
+ }, {
+ key: "setBlocks",
+ value: function setBlocks(blocks) {
+ this.setState({
+ blocks: blocks
+ });
+ }
+ }, {
+ key: "setTitle",
+ value: function setTitle(title) {
+ this.setState({
+ title: title
+ });
+ }
+ }, {
+ key: "save",
+ value: function save() {
+ var _this$props = this.props,
+ onChange = _this$props.onChange,
+ onSave = _this$props.onSave;
+ var _this$state = this.state,
+ blocks = _this$state.blocks,
+ title = _this$state.title;
+ var content = Object(external_this_wp_blocks_["serialize"])(blocks);
+ onChange({
+ title: title,
+ content: content
+ });
+ onSave();
+ this.stopEditing();
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props2 = this.props,
+ isSelected = _this$props2.isSelected,
+ reusableBlock = _this$props2.reusableBlock,
+ isFetching = _this$props2.isFetching,
+ isSaving = _this$props2.isSaving,
+ canUpdateBlock = _this$props2.canUpdateBlock,
+ settings = _this$props2.settings;
+ var _this$state2 = this.state,
+ isEditing = _this$state2.isEditing,
+ title = _this$state2.title,
+ blocks = _this$state2.blocks;
+
+ if (!reusableBlock && isFetching) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Placeholder"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Spinner"], null));
+ }
+
+ if (!reusableBlock) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Placeholder"], null, Object(external_this_wp_i18n_["__"])('Block has been deleted or is unavailable.'));
+ }
+
+ var element = Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockEditorProvider"], {
+ settings: settings,
+ value: blocks,
+ onChange: this.setBlocks,
+ onInput: this.setBlocks
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["WritingFlow"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockList"], null)));
+
+ if (!isEditing) {
+ element = Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Disabled"], null, element);
+ }
+
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "block-library-block__reusable-block-container"
+ }, (isSelected || isEditing) && Object(external_this_wp_element_["createElement"])(edit_panel, {
+ isEditing: isEditing,
+ title: title !== null ? title : reusableBlock.title,
+ isSaving: isSaving && !reusableBlock.isTemporary,
+ isEditDisabled: !canUpdateBlock,
+ onEdit: this.startEditing,
+ onChangeTitle: this.setTitle,
+ onSave: this.save,
+ onCancel: this.stopEditing
+ }), !isSelected && !isEditing && Object(external_this_wp_element_["createElement"])(indicator, {
+ title: reusableBlock.title
+ }), element);
+ }
+ }]);
+
+ return ReusableBlockEdit;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var block_edit = (Object(external_this_wp_compose_["compose"])([Object(external_this_wp_data_["withSelect"])(function (select, ownProps) {
+ var _select = select('core/editor'),
+ getReusableBlock = _select.__experimentalGetReusableBlock,
+ isFetchingReusableBlock = _select.__experimentalIsFetchingReusableBlock,
+ isSavingReusableBlock = _select.__experimentalIsSavingReusableBlock;
+
+ var _select2 = select('core'),
+ canUser = _select2.canUser;
+
+ var _select3 = select('core/block-editor'),
+ __experimentalGetParsedReusableBlock = _select3.__experimentalGetParsedReusableBlock,
+ getSettings = _select3.getSettings;
+
+ var ref = ownProps.attributes.ref;
+ var reusableBlock = getReusableBlock(ref);
+ return {
+ reusableBlock: reusableBlock,
+ isFetching: isFetchingReusableBlock(ref),
+ isSaving: isSavingReusableBlock(ref),
+ blocks: reusableBlock ? __experimentalGetParsedReusableBlock(reusableBlock.id) : null,
+ canUpdateBlock: !!reusableBlock && !reusableBlock.isTemporary && !!canUser('update', 'blocks', ref),
+ settings: getSettings()
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch, ownProps) {
+ var _dispatch = dispatch('core/editor'),
+ fetchReusableBlocks = _dispatch.__experimentalFetchReusableBlocks,
+ updateReusableBlock = _dispatch.__experimentalUpdateReusableBlock,
+ saveReusableBlock = _dispatch.__experimentalSaveReusableBlock;
+
+ var ref = ownProps.attributes.ref;
+ return {
+ fetchReusableBlock: Object(external_lodash_["partial"])(fetchReusableBlocks, ref),
+ onChange: Object(external_lodash_["partial"])(updateReusableBlock, ref),
+ onSave: Object(external_lodash_["partial"])(saveReusableBlock, ref)
+ };
+})])(edit_ReusableBlockEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/block/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+var block_name = 'core/block';
+var block_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Reusable Block'),
+ category: 'reusable',
+ description: Object(external_this_wp_i18n_["__"])('Create content, and save it for you and other contributors to reuse across your site. Update the block, and the changes apply everywhere it’s used.'),
+ supports: {
+ customClassName: false,
+ html: false,
+ inserter: false
+ },
+ edit: block_edit
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/rss/edit.js
+
+
+
+
+
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+var DEFAULT_MIN_ITEMS = 1;
+var DEFAULT_MAX_ITEMS = 10;
+
+var edit_RSSEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(RSSEdit, _Component);
+
+ function RSSEdit() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, RSSEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(RSSEdit).apply(this, arguments));
+ _this.state = {
+ editing: !_this.props.attributes.feedURL
+ };
+ _this.toggleAttribute = _this.toggleAttribute.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onSubmitURL = _this.onSubmitURL.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(RSSEdit, [{
+ key: "toggleAttribute",
+ value: function toggleAttribute(propName) {
+ var _this2 = this;
+
+ return function () {
+ var value = _this2.props.attributes[propName];
+ var setAttributes = _this2.props.setAttributes;
+ setAttributes(Object(defineProperty["a" /* default */])({}, propName, !value));
+ };
+ }
+ }, {
+ key: "onSubmitURL",
+ value: function onSubmitURL(event) {
+ event.preventDefault();
+ var feedURL = this.props.attributes.feedURL;
+
+ if (feedURL) {
+ this.setState({
+ editing: false
+ });
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this3 = this;
+
+ var _this$props$attribute = this.props.attributes,
+ blockLayout = _this$props$attribute.blockLayout,
+ columns = _this$props$attribute.columns,
+ displayAuthor = _this$props$attribute.displayAuthor,
+ displayExcerpt = _this$props$attribute.displayExcerpt,
+ displayDate = _this$props$attribute.displayDate,
+ excerptLength = _this$props$attribute.excerptLength,
+ feedURL = _this$props$attribute.feedURL,
+ itemsToShow = _this$props$attribute.itemsToShow;
+ var setAttributes = this.props.setAttributes;
+
+ if (this.state.editing) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Placeholder"], {
+ icon: "rss",
+ label: "RSS"
+ }, Object(external_this_wp_element_["createElement"])("form", {
+ onSubmit: this.onSubmitURL
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextControl"], {
+ placeholder: Object(external_this_wp_i18n_["__"])('Enter URL here…'),
+ value: feedURL,
+ onChange: function onChange(value) {
+ return setAttributes({
+ feedURL: value
+ });
+ },
+ className: 'components-placeholder__input'
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
+ isLarge: true,
+ type: "submit"
+ }, Object(external_this_wp_i18n_["__"])('Use URL'))));
+ }
+
+ var toolbarControls = [{
+ icon: 'edit',
+ title: Object(external_this_wp_i18n_["__"])('Edit RSS URL'),
+ onClick: function onClick() {
+ return _this3.setState({
+ editing: true
+ });
+ }
+ }, {
+ icon: 'list-view',
+ title: Object(external_this_wp_i18n_["__"])('List view'),
+ onClick: function onClick() {
+ return setAttributes({
+ blockLayout: 'list'
+ });
+ },
+ isActive: blockLayout === 'list'
+ }, {
+ icon: 'grid-view',
+ title: Object(external_this_wp_i18n_["__"])('Grid view'),
+ onClick: function onClick() {
+ return setAttributes({
+ blockLayout: 'grid'
+ });
+ },
+ isActive: blockLayout === 'grid'
+ }];
+ 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_["Toolbar"], {
+ controls: toolbarControls
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('RSS Settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["RangeControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Number of items'),
+ value: itemsToShow,
+ onChange: function onChange(value) {
+ return setAttributes({
+ itemsToShow: value
+ });
+ },
+ min: DEFAULT_MIN_ITEMS,
+ max: DEFAULT_MAX_ITEMS,
+ required: true
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Display author'),
+ checked: displayAuthor,
+ onChange: this.toggleAttribute('displayAuthor')
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Display date'),
+ checked: displayDate,
+ onChange: this.toggleAttribute('displayDate')
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Display excerpt'),
+ checked: displayExcerpt,
+ onChange: this.toggleAttribute('displayExcerpt')
+ }), displayExcerpt && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["RangeControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Max number of words in excerpt'),
+ value: excerptLength,
+ onChange: function onChange(value) {
+ return setAttributes({
+ excerptLength: value
+ });
+ },
+ min: 10,
+ max: 100,
+ required: true
+ }), blockLayout === 'grid' && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["RangeControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Columns'),
+ value: columns,
+ onChange: function onChange(value) {
+ return setAttributes({
+ columns: value
+ });
+ },
+ min: 2,
+ max: 6,
+ required: true
+ }))), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Disabled"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_serverSideRender_default.a, {
+ block: "core/rss",
+ attributes: this.props.attributes
+ })));
+ }
+ }]);
+
+ return RSSEdit;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var rss_edit = (edit_RSSEdit);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/rss/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+var rss_name = 'core/rss';
+var rss_settings = {
+ title: Object(external_this_wp_i18n_["__"])('RSS'),
+ description: Object(external_this_wp_i18n_["__"])('Display entries from any RSS or Atom feed.'),
+ icon: 'rss',
+ category: 'widgets',
+ keywords: [Object(external_this_wp_i18n_["__"])('atom'), Object(external_this_wp_i18n_["__"])('feed')],
+ supports: {
+ align: true,
+ html: false
+ },
+ example: {
+ attributes: {
+ feedURL: 'https://wordpress.org'
+ }
+ },
+ edit: rss_edit
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/search/edit.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+function SearchEdit(_ref) {
+ var className = _ref.className,
+ attributes = _ref.attributes,
+ setAttributes = _ref.setAttributes;
+ var label = attributes.label,
+ placeholder = attributes.placeholder,
+ buttonText = attributes.buttonText;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: className
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ wrapperClassName: "wp-block-search__label",
+ "aria-label": Object(external_this_wp_i18n_["__"])('Label text'),
+ placeholder: Object(external_this_wp_i18n_["__"])('Add label…'),
+ withoutInteractiveFormatting: true,
+ value: label,
+ onChange: function onChange(html) {
+ return setAttributes({
+ label: html
+ });
+ }
+ }), Object(external_this_wp_element_["createElement"])("input", {
+ className: "wp-block-search__input",
+ "aria-label": Object(external_this_wp_i18n_["__"])('Optional placeholder text') // We hide the placeholder field's placeholder when there is a value. This
+ // stops screen readers from reading the placeholder field's placeholder
+ // which is confusing.
+ ,
+ placeholder: placeholder ? undefined : Object(external_this_wp_i18n_["__"])('Optional placeholder…'),
+ value: placeholder,
+ onChange: function onChange(event) {
+ return setAttributes({
+ placeholder: event.target.value
+ });
+ }
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ wrapperClassName: "wp-block-search__button",
+ className: "wp-block-search__button-rich-text",
+ "aria-label": Object(external_this_wp_i18n_["__"])('Button text'),
+ placeholder: Object(external_this_wp_i18n_["__"])('Add button text…'),
+ withoutInteractiveFormatting: true,
+ value: buttonText,
+ onChange: function onChange(html) {
+ return setAttributes({
+ buttonText: html
+ });
+ }
+ }));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/search/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+var search_name = 'core/search';
+var search_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Search'),
+ description: Object(external_this_wp_i18n_["__"])('Help visitors find your content.'),
+ icon: 'search',
+ category: 'widgets',
+ keywords: [Object(external_this_wp_i18n_["__"])('find')],
+ supports: {
+ align: true
+ },
+ example: {},
+ edit: SearchEdit
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/group/deprecated.js
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+var group_deprecated_deprecated = [// v1 of group block. Deprecated to add an inner-container div around `InnerBlocks.Content`.
+{
+ attributes: {
+ backgroundColor: {
+ type: 'string'
+ },
+ customBackgroundColor: {
+ type: 'string'
+ }
+ },
+ supports: {
+ align: ['wide', 'full'],
+ anchor: true,
+ html: false
+ },
+ save: function save(_ref) {
+ var attributes = _ref.attributes;
+ var backgroundColor = attributes.backgroundColor,
+ customBackgroundColor = attributes.customBackgroundColor;
+ var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
+ var className = classnames_default()(backgroundClass, {
+ 'has-background': backgroundColor || customBackgroundColor
+ });
+ var styles = {
+ backgroundColor: backgroundClass ? undefined : customBackgroundColor
+ };
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: className,
+ style: styles
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InnerBlocks"].Content, null));
+ }
+}];
+/* harmony default export */ var group_deprecated = (group_deprecated_deprecated);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/group/edit.js
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+function GroupEdit(_ref) {
+ var className = _ref.className,
+ setBackgroundColor = _ref.setBackgroundColor,
+ backgroundColor = _ref.backgroundColor,
+ hasInnerBlocks = _ref.hasInnerBlocks;
+ var styles = {
+ backgroundColor: backgroundColor.color
+ };
+ var classes = classnames_default()(className, backgroundColor.class, {
+ 'has-background': !!backgroundColor.color
+ });
+ 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_blockEditor_["PanelColorSettings"], {
+ title: Object(external_this_wp_i18n_["__"])('Color Settings'),
+ colorSettings: [{
+ value: backgroundColor.color,
+ onChange: setBackgroundColor,
+ label: Object(external_this_wp_i18n_["__"])('Background Color')
+ }]
+ })), Object(external_this_wp_element_["createElement"])("div", {
+ className: classes,
+ style: styles
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-group__inner-container"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InnerBlocks"], {
+ renderAppender: !hasInnerBlocks && external_this_wp_blockEditor_["InnerBlocks"].ButtonBlockAppender
+ }))));
+}
+
+/* harmony default export */ var group_edit = (Object(external_this_wp_compose_["compose"])([Object(external_this_wp_blockEditor_["withColors"])('backgroundColor'), Object(external_this_wp_data_["withSelect"])(function (select, _ref2) {
+ var clientId = _ref2.clientId;
+
+ var _select = select('core/block-editor'),
+ getBlock = _select.getBlock;
+
+ var block = getBlock(clientId);
+ return {
+ hasInnerBlocks: !!(block && block.innerBlocks.length)
+ };
+})])(GroupEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/group/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var group_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ width: "24",
+ height: "24",
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fillRule: "evenodd",
+ clipRule: "evenodd",
+ d: "M9 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-1v3a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h1V8zm2 3h4V9h-4v2zm2 2H9v2h4v-2z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fillRule: "evenodd",
+ clipRule: "evenodd",
+ d: "M2 4.732A2 2 0 1 1 4.732 2h14.536A2 2 0 1 1 22 4.732v14.536A2 2 0 1 1 19.268 22H4.732A2 2 0 1 1 2 19.268V4.732zM4.732 4h14.536c.175.304.428.557.732.732v14.536a2.01 2.01 0 0 0-.732.732H4.732A2.01 2.01 0 0 0 4 19.268V4.732A2.01 2.01 0 0 0 4.732 4z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/group/save.js
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+function group_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var backgroundColor = attributes.backgroundColor,
+ customBackgroundColor = attributes.customBackgroundColor;
+ var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
+ var className = classnames_default()(backgroundClass, {
+ 'has-background': backgroundColor || customBackgroundColor
+ });
+ var styles = {
+ backgroundColor: backgroundClass ? undefined : customBackgroundColor
+ };
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: className,
+ style: styles
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-group__inner-container"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InnerBlocks"].Content, null)));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/group/index.js
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var group_metadata = {
+ name: "core/group",
+ category: "layout",
+ attributes: {
+ backgroundColor: {
+ type: "string"
+ },
+ customBackgroundColor: {
+ type: "string"
+ }
+ }
+};
+
+var group_name = group_metadata.name;
+
+var group_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Group'),
+ icon: group_icon,
+ description: Object(external_this_wp_i18n_["__"])('A block that groups other blocks.'),
+ keywords: [Object(external_this_wp_i18n_["__"])('container'), Object(external_this_wp_i18n_["__"])('wrapper'), Object(external_this_wp_i18n_["__"])('row'), Object(external_this_wp_i18n_["__"])('section')],
+ example: {
+ attributes: {
+ customBackgroundColor: '#ffffff'
+ },
+ innerBlocks: [{
+ name: 'core/paragraph',
+ attributes: {
+ customTextColor: '#cf2e2e',
+ fontSize: 'large',
+ content: Object(external_this_wp_i18n_["__"])('One.')
+ }
+ }, {
+ name: 'core/paragraph',
+ attributes: {
+ customTextColor: '#ff6900',
+ fontSize: 'large',
+ content: Object(external_this_wp_i18n_["__"])('Two.')
+ }
+ }, {
+ name: 'core/paragraph',
+ attributes: {
+ customTextColor: '#fcb900',
+ fontSize: 'large',
+ content: Object(external_this_wp_i18n_["__"])('Three.')
+ }
+ }, {
+ name: 'core/paragraph',
+ attributes: {
+ customTextColor: '#00d084',
+ fontSize: 'large',
+ content: Object(external_this_wp_i18n_["__"])('Four.')
+ }
+ }, {
+ name: 'core/paragraph',
+ attributes: {
+ customTextColor: '#0693e3',
+ fontSize: 'large',
+ content: Object(external_this_wp_i18n_["__"])('Five.')
+ }
+ }, {
+ name: 'core/paragraph',
+ attributes: {
+ customTextColor: '#9b51e0',
+ fontSize: 'large',
+ content: Object(external_this_wp_i18n_["__"])('Six.')
+ }
+ }]
+ },
+ supports: {
+ align: ['wide', 'full'],
+ anchor: true,
+ html: false
+ },
+ transforms: {
+ from: [{
+ type: 'block',
+ isMultiBlock: true,
+ blocks: ['*'],
+ __experimentalConvert: function __experimentalConvert(blocks) {
+ // Avoid transforming a single `core/group` Block
+ if (blocks.length === 1 && blocks[0].name === 'core/group') {
+ return;
+ }
+
+ var alignments = ['wide', 'full']; // Determine the widest setting of all the blocks to be grouped
+
+ var widestAlignment = blocks.reduce(function (result, block) {
+ var align = block.attributes.align;
+ return alignments.indexOf(align) > alignments.indexOf(result) ? align : result;
+ }, undefined); // Clone the Blocks to be Grouped
+ // Failing to create new block references causes the original blocks
+ // to be replaced in the switchToBlockType call thereby meaning they
+ // are removed both from their original location and within the
+ // new group block.
+
+ var groupInnerBlocks = blocks.map(function (block) {
+ return Object(external_this_wp_blocks_["createBlock"])(block.name, block.attributes, block.innerBlocks);
+ });
+ return Object(external_this_wp_blocks_["createBlock"])('core/group', {
+ align: widestAlignment
+ }, groupInnerBlocks);
+ }
+ }]
+ },
+ edit: group_edit,
+ save: group_save_save,
+ deprecated: group_deprecated
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/separator/edit.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+function SeparatorEdit(_ref) {
+ var color = _ref.color,
+ setColor = _ref.setColor,
+ className = _ref.className;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["HorizontalRule"], {
+ className: classnames_default()(className, Object(defineProperty["a" /* default */])({
+ 'has-background': color.color
+ }, color.class, color.class)),
+ style: {
+ backgroundColor: color.color,
+ color: color.color
+ }
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["PanelColorSettings"], {
+ title: Object(external_this_wp_i18n_["__"])('Color Settings'),
+ colorSettings: [{
+ value: color.color,
+ onChange: setColor,
+ label: Object(external_this_wp_i18n_["__"])('Color')
+ }]
+ })));
+}
+
+/* harmony default export */ var separator_edit = (Object(external_this_wp_blockEditor_["withColors"])('color', {
+ textColor: 'color'
+})(SeparatorEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/separator/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var separator_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fill: "none",
+ d: "M0 0h24v24H0V0z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M19 13H5v-2h14v2z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/separator/save.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+function separatorSave(_ref) {
+ var _classnames;
+
+ var attributes = _ref.attributes;
+ var color = attributes.color,
+ customColor = attributes.customColor; // the hr support changing color using border-color, since border-color
+ // is not yet supported in the color palette, we use background-color
+
+ var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', color); // the dots styles uses text for the dots, to change those dots color is
+ // using color, not backgroundColor
+
+ var colorClass = Object(external_this_wp_blockEditor_["getColorClassName"])('color', color);
+ var separatorClasses = classnames_default()((_classnames = {
+ 'has-text-color has-background': color || customColor
+ }, Object(defineProperty["a" /* default */])(_classnames, backgroundClass, backgroundClass), Object(defineProperty["a" /* default */])(_classnames, colorClass, colorClass), _classnames));
+ var separatorStyle = {
+ backgroundColor: backgroundClass ? undefined : customColor,
+ color: colorClass ? undefined : customColor
+ };
+ return Object(external_this_wp_element_["createElement"])("hr", {
+ className: separatorClasses,
+ style: separatorStyle
+ });
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/separator/transforms.js
+/**
+ * WordPress dependencies
+ */
+
+var separator_transforms_transforms = {
+ from: [{
+ type: 'enter',
+ regExp: /^-{3,}$/,
+ transform: function transform() {
+ return Object(external_this_wp_blocks_["createBlock"])('core/separator');
+ }
+ }, {
+ type: 'raw',
+ selector: 'hr',
+ schema: {
+ hr: {}
+ }
+ }]
+};
+/* harmony default export */ var separator_transforms = (separator_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/separator/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var separator_metadata = {
+ name: "core/separator",
+ category: "layout",
+ attributes: {
+ color: {
+ type: "string"
+ },
+ customColor: {
+ type: "string"
+ }
+ }
+};
+
+
+var separator_name = separator_metadata.name;
+
+var separator_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Separator'),
+ description: Object(external_this_wp_i18n_["__"])('Create a break between ideas or sections with a horizontal separator.'),
+ icon: separator_icon,
+ keywords: [Object(external_this_wp_i18n_["__"])('horizontal-line'), 'hr', Object(external_this_wp_i18n_["__"])('divider')],
+ example: {
+ attributes: {
+ customColor: '#065174',
+ className: 'is-style-wide'
+ }
+ },
+ styles: [{
+ name: 'default',
+ label: Object(external_this_wp_i18n_["__"])('Default'),
+ isDefault: true
+ }, {
+ name: 'wide',
+ label: Object(external_this_wp_i18n_["__"])('Wide Line')
+ }, {
+ name: 'dots',
+ label: Object(external_this_wp_i18n_["__"])('Dots')
+ }],
+ transforms: separator_transforms,
+ edit: separator_edit,
+ save: separatorSave
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/shortcode/edit.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+var edit_ShortcodeEdit = function ShortcodeEdit(_ref) {
+ var attributes = _ref.attributes,
+ setAttributes = _ref.setAttributes,
+ instanceId = _ref.instanceId;
+ var inputId = "blocks-shortcode-input-".concat(instanceId);
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-shortcode components-placeholder"
+ }, Object(external_this_wp_element_["createElement"])("label", {
+ htmlFor: inputId,
+ className: "components-placeholder__label"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Dashicon"], {
+ icon: "shortcode"
+ }), Object(external_this_wp_i18n_["__"])('Shortcode')), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["PlainText"], {
+ className: "input-control",
+ id: inputId,
+ value: attributes.text,
+ placeholder: Object(external_this_wp_i18n_["__"])('Write shortcode here…'),
+ onChange: function onChange(text) {
+ return setAttributes({
+ text: text
+ });
+ }
+ }));
+};
+
+/* harmony default export */ var shortcode_edit = (Object(external_this_wp_compose_["withInstanceId"])(edit_ShortcodeEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/shortcode/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var shortcode_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M8.5,21.4l1.9,0.5l5.2-19.3l-1.9-0.5L8.5,21.4z M3,19h4v-2H5V7h2V5H3V19z M17,5v2h2v10h-2v2h4V5H17z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/shortcode/save.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+function shortcode_save_save(_ref) {
+ var attributes = _ref.attributes;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["RawHTML"], null, attributes.text);
+}
+
+// EXTERNAL MODULE: external {"this":["wp","autop"]}
+var external_this_wp_autop_ = __webpack_require__(69);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/shortcode/transforms.js
+/**
+ * WordPress dependencies
+ */
+
+var shortcode_transforms_transforms = {
+ from: [{
+ type: 'shortcode',
+ // Per "Shortcode names should be all lowercase and use all
+ // letters, but numbers and underscores should work fine too.
+ // Be wary of using hyphens (dashes), you'll be better off not
+ // using them." in https://codex.wordpress.org/Shortcode_API
+ // Require that the first character be a letter. This notably
+ // prevents footnote markings ([1]) from being caught as
+ // shortcodes.
+ tag: '[a-z][a-z0-9_-]*',
+ attributes: {
+ text: {
+ type: 'string',
+ shortcode: function shortcode(attrs, _ref) {
+ var content = _ref.content;
+ return Object(external_this_wp_autop_["removep"])(Object(external_this_wp_autop_["autop"])(content));
+ }
+ }
+ },
+ priority: 20
+ }]
+};
+/* harmony default export */ var shortcode_transforms = (shortcode_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/shortcode/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+var shortcode_name = 'core/shortcode';
+var shortcode_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Shortcode'),
+ description: Object(external_this_wp_i18n_["__"])('Insert additional custom elements with a WordPress shortcode.'),
+ icon: shortcode_icon,
+ category: 'widgets',
+ transforms: shortcode_transforms,
+ supports: {
+ customClassName: false,
+ className: false,
+ html: false
+ },
+ edit: shortcode_edit,
+ save: shortcode_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/spacer/edit.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+
+var edit_SpacerEdit = function SpacerEdit(_ref) {
+ var attributes = _ref.attributes,
+ isSelected = _ref.isSelected,
+ setAttributes = _ref.setAttributes,
+ instanceId = _ref.instanceId,
+ onResizeStart = _ref.onResizeStart,
+ _onResizeStop = _ref.onResizeStop;
+ var height = attributes.height;
+ var id = "block-spacer-height-input-".concat(instanceId);
+
+ var _useState = Object(external_this_wp_element_["useState"])(height),
+ _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
+ inputHeightValue = _useState2[0],
+ setInputHeightValue = _useState2[1];
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ResizableBox"], {
+ className: classnames_default()('block-library-spacer__resize-container', {
+ 'is-selected': isSelected
+ }),
+ size: {
+ height: height
+ },
+ minHeight: "20",
+ enable: {
+ top: false,
+ right: false,
+ bottom: true,
+ left: false,
+ topRight: false,
+ bottomRight: false,
+ bottomLeft: false,
+ topLeft: false
+ },
+ onResizeStart: onResizeStart,
+ onResizeStop: function onResizeStop(event, direction, elt, delta) {
+ _onResizeStop();
+
+ var spacerHeight = parseInt(height + delta.height, 10);
+ setAttributes({
+ height: spacerHeight
+ });
+ setInputHeightValue(spacerHeight);
+ }
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Spacer Settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["BaseControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Height in pixels'),
+ id: id
+ }, Object(external_this_wp_element_["createElement"])("input", {
+ type: "number",
+ id: id,
+ onChange: function onChange(event) {
+ var spacerHeight = parseInt(event.target.value, 10);
+ setInputHeightValue(spacerHeight);
+
+ if (isNaN(spacerHeight)) {
+ // Set spacer height to default size and input box to empty string
+ setInputHeightValue('');
+ spacerHeight = 100;
+ } else if (spacerHeight < 20) {
+ // Set spacer height to minimum size
+ spacerHeight = 20;
+ }
+
+ setAttributes({
+ height: spacerHeight
+ });
+ },
+ value: inputHeightValue,
+ min: "20",
+ step: "10"
+ })))));
+};
+
+/* harmony default export */ var spacer_edit = (Object(external_this_wp_compose_["compose"])([Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/block-editor'),
+ toggleSelection = _dispatch.toggleSelection;
+
+ return {
+ onResizeStart: function onResizeStart() {
+ return toggleSelection(false);
+ },
+ onResizeStop: function onResizeStop() {
+ return toggleSelection(true);
+ }
+ };
+}), external_this_wp_compose_["withInstanceId"]])(edit_SpacerEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/spacer/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var spacer_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M13 4v2h3.59L6 16.59V13H4v7h7v-2H7.41L18 7.41V11h2V4h-7"
+}))));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/spacer/save.js
+
+function spacer_save_save(_ref) {
+ var attributes = _ref.attributes;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ style: {
+ height: attributes.height
+ },
+ "aria-hidden": true
+ });
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/spacer/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var spacer_metadata = {
+ name: "core/spacer",
+ category: "layout",
+ attributes: {
+ height: {
+ type: "number",
+ "default": 100
+ }
+ }
+};
+
+var spacer_name = spacer_metadata.name;
+
+var spacer_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Spacer'),
+ description: Object(external_this_wp_i18n_["__"])('Add white space between blocks and customize its height.'),
+ icon: spacer_icon,
+ edit: spacer_edit,
+ save: spacer_save_save
+};
+
+// EXTERNAL MODULE: external {"this":["wp","deprecated"]}
+var external_this_wp_deprecated_ = __webpack_require__(37);
+var external_this_wp_deprecated_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_deprecated_);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/subhead/edit.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+function SubheadEdit(_ref) {
+ var attributes = _ref.attributes,
+ setAttributes = _ref.setAttributes,
+ className = _ref.className;
+ var align = attributes.align,
+ content = attributes.content,
+ placeholder = attributes.placeholder;
+ external_this_wp_deprecated_default()('The Subheading block', {
+ alternative: 'the Paragraph block',
+ plugin: 'Gutenberg'
+ });
+ 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"], {
+ value: align,
+ onChange: function onChange(nextAlign) {
+ setAttributes({
+ align: nextAlign
+ });
+ }
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ tagName: "p",
+ value: content,
+ onChange: function onChange(nextContent) {
+ setAttributes({
+ content: nextContent
+ });
+ },
+ style: {
+ textAlign: align
+ },
+ className: className,
+ placeholder: placeholder || Object(external_this_wp_i18n_["__"])('Write subheading…')
+ }));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/subhead/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var subhead_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ xmlns: "http://www.w3.org/2000/svg",
+ viewBox: "0 0 24 24"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M7.1 6l-.5 3h4.5L9.4 19h3l1.8-10h4.5l.5-3H7.1z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/subhead/save.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+function subhead_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var align = attributes.align,
+ content = attributes.content;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "p",
+ style: {
+ textAlign: align
+ },
+ value: content
+ });
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/subhead/tranforms.js
+/**
+ * WordPress dependencies
+ */
+
+var tranforms_transforms = {
+ to: [{
+ type: 'block',
+ blocks: ['core/paragraph'],
+ transform: function transform(attributes) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/paragraph', attributes);
+ }
+ }]
+};
+/* harmony default export */ var tranforms = (tranforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/subhead/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var subhead_metadata = {
+ name: "core/subhead",
+ category: "common",
+ attributes: {
+ align: {
+ type: "string"
+ },
+ content: {
+ type: "string",
+ source: "html",
+ selector: "p"
+ }
+ }
+};
+
+
+var subhead_name = subhead_metadata.name;
+
+var subhead_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Subheading (deprecated)'),
+ description: Object(external_this_wp_i18n_["__"])('This block is deprecated. Please use the Paragraph block instead.'),
+ icon: subhead_icon,
+ supports: {
+ // Hide from inserter as this block is deprecated.
+ inserter: false,
+ multiple: false
+ },
+ transforms: tranforms,
+ edit: SubheadEdit,
+ save: subhead_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/table/deprecated.js
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+var deprecated_metadata = {
+ name: "core/table",
+ category: "formatting",
+ attributes: {
+ hasFixedLayout: {
+ type: "boolean",
+ "default": false
+ },
+ backgroundColor: {
+ type: "string"
+ },
+ head: {
+ type: "array",
+ "default": [],
+ source: "query",
+ selector: "thead tr",
+ query: {
+ cells: {
+ type: "array",
+ "default": [],
+ source: "query",
+ selector: "td,th",
+ query: {
+ content: {
+ type: "string",
+ source: "html"
+ },
+ tag: {
+ type: "string",
+ "default": "td",
+ source: "tag"
+ },
+ scope: {
+ type: "string",
+ source: "attribute",
+ attribute: "scope"
+ },
+ align: {
+ type: "string",
+ source: "attribute",
+ attribute: "data-align"
+ }
+ }
+ }
+ }
+ },
+ body: {
+ type: "array",
+ "default": [],
+ source: "query",
+ selector: "tbody tr",
+ query: {
+ cells: {
+ type: "array",
+ "default": [],
+ source: "query",
+ selector: "td,th",
+ query: {
+ content: {
+ type: "string",
+ source: "html"
+ },
+ tag: {
+ type: "string",
+ "default": "td",
+ source: "tag"
+ },
+ scope: {
+ type: "string",
+ source: "attribute",
+ attribute: "scope"
+ },
+ align: {
+ type: "string",
+ source: "attribute",
+ attribute: "data-align"
+ }
+ }
+ }
+ }
+ },
+ foot: {
+ type: "array",
+ "default": [],
+ source: "query",
+ selector: "tfoot tr",
+ query: {
+ cells: {
+ type: "array",
+ "default": [],
+ source: "query",
+ selector: "td,th",
+ query: {
+ content: {
+ type: "string",
+ source: "html"
+ },
+ tag: {
+ type: "string",
+ "default": "td",
+ source: "tag"
+ },
+ scope: {
+ type: "string",
+ source: "attribute",
+ attribute: "scope"
+ },
+ align: {
+ type: "string",
+ source: "attribute",
+ attribute: "data-align"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+var table_deprecated_supports = {
+ align: true
+};
+var table_deprecated_deprecated = [{
+ attributes: deprecated_metadata.attributes,
+ supports: table_deprecated_supports,
+ save: function save(_ref) {
+ var attributes = _ref.attributes;
+ var hasFixedLayout = attributes.hasFixedLayout,
+ head = attributes.head,
+ body = attributes.body,
+ foot = attributes.foot,
+ backgroundColor = attributes.backgroundColor;
+ var isEmpty = !head.length && !body.length && !foot.length;
+
+ if (isEmpty) {
+ return null;
+ }
+
+ var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
+ var classes = classnames_default()(backgroundClass, {
+ 'has-fixed-layout': hasFixedLayout,
+ 'has-background': !!backgroundClass
+ });
+
+ var Section = function Section(_ref2) {
+ var type = _ref2.type,
+ rows = _ref2.rows;
+
+ if (!rows.length) {
+ return null;
+ }
+
+ var Tag = "t".concat(type);
+ return Object(external_this_wp_element_["createElement"])(Tag, null, rows.map(function (_ref3, rowIndex) {
+ var cells = _ref3.cells;
+ return Object(external_this_wp_element_["createElement"])("tr", {
+ key: rowIndex
+ }, cells.map(function (_ref4, cellIndex) {
+ var content = _ref4.content,
+ tag = _ref4.tag,
+ scope = _ref4.scope;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: tag,
+ value: content,
+ key: cellIndex,
+ scope: tag === 'th' ? scope : undefined
+ });
+ }));
+ }));
+ };
+
+ return Object(external_this_wp_element_["createElement"])("table", {
+ className: classes
+ }, Object(external_this_wp_element_["createElement"])(Section, {
+ type: "head",
+ rows: head
+ }), Object(external_this_wp_element_["createElement"])(Section, {
+ type: "body",
+ rows: body
+ }), Object(external_this_wp_element_["createElement"])(Section, {
+ type: "foot",
+ rows: foot
+ }));
+ }
+}];
+/* harmony default export */ var table_deprecated = (table_deprecated_deprecated);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/table/state.js
+
+
+
+
+/**
+ * External dependencies
+ */
+
+var INHERITED_COLUMN_ATTRIBUTES = ['align'];
+/**
+ * Creates a table state.
+ *
+ * @param {Object} options
+ * @param {number} options.rowCount Row count for the table to create.
+ * @param {number} options.columnCount Column count for the table to create.
+ *
+ * @return {Object} New table state.
+ */
+
+function createTable(_ref) {
+ var rowCount = _ref.rowCount,
+ columnCount = _ref.columnCount;
+ return {
+ body: Object(external_lodash_["times"])(rowCount, function () {
+ return {
+ cells: Object(external_lodash_["times"])(columnCount, function () {
+ return {
+ content: '',
+ tag: 'td'
+ };
+ })
+ };
+ })
+ };
+}
+/**
+ * Returns the first row in the table.
+ *
+ * @param {Object} state Current table state.
+ *
+ * @return {Object} The first table row.
+ */
+
+function getFirstRow(state) {
+ if (!isEmptyTableSection(state.head)) {
+ return state.head[0];
+ }
+
+ if (!isEmptyTableSection(state.body)) {
+ return state.body[0];
+ }
+
+ if (!isEmptyTableSection(state.foot)) {
+ return state.foot[0];
+ }
+}
+/**
+ * Gets an attribute for a cell.
+ *
+ * @param {Object} state Current table state.
+ * @param {Object} cellLocation The location of the cell
+ * @param {string} attributeName The name of the attribute to get the value of.
+ *
+ * @return {*} The attribute value.
+ */
+
+function getCellAttribute(state, cellLocation, attributeName) {
+ var sectionName = cellLocation.sectionName,
+ rowIndex = cellLocation.rowIndex,
+ columnIndex = cellLocation.columnIndex;
+ return Object(external_lodash_["get"])(state, [sectionName, rowIndex, 'cells', columnIndex, attributeName]);
+}
+/**
+ * Returns updated cell attributes after applying the `updateCell` function to the selection.
+ *
+ * @param {Object} state The block attributes.
+ * @param {Object} selection The selection of cells to update.
+ * @param {Function} updateCell A function to update the selected cell attributes.
+ *
+ * @return {Object} New table state including the updated cells.
+ */
+
+function updateSelectedCell(state, selection, updateCell) {
+ if (!selection) {
+ return state;
+ }
+
+ var tableSections = Object(external_lodash_["pick"])(state, ['head', 'body', 'foot']);
+ var selectionSectionName = selection.sectionName,
+ selectionRowIndex = selection.rowIndex;
+ return Object(external_lodash_["mapValues"])(tableSections, function (section, sectionName) {
+ if (selectionSectionName && selectionSectionName !== sectionName) {
+ return section;
+ }
+
+ return section.map(function (row, rowIndex) {
+ if (selectionRowIndex && selectionRowIndex !== rowIndex) {
+ return row;
+ }
+
+ return {
+ cells: row.cells.map(function (cellAttributes, columnIndex) {
+ var cellLocation = {
+ sectionName: sectionName,
+ columnIndex: columnIndex,
+ rowIndex: rowIndex
+ };
+
+ if (!isCellSelected(cellLocation, selection)) {
+ return cellAttributes;
+ }
+
+ return updateCell(cellAttributes);
+ })
+ };
+ });
+ });
+}
+/**
+ * Returns whether the cell at `cellLocation` is included in the selection `selection`.
+ *
+ * @param {Object} cellLocation An object containing cell location properties.
+ * @param {Object} selection An object containing selection properties.
+ *
+ * @return {boolean} True if the cell is selected, false otherwise.
+ */
+
+function isCellSelected(cellLocation, selection) {
+ if (!cellLocation || !selection) {
+ return false;
+ }
+
+ switch (selection.type) {
+ case 'column':
+ return selection.type === 'column' && cellLocation.columnIndex === selection.columnIndex;
+
+ case 'cell':
+ return selection.type === 'cell' && cellLocation.sectionName === selection.sectionName && cellLocation.columnIndex === selection.columnIndex && cellLocation.rowIndex === selection.rowIndex;
+ }
+}
+/**
+ * Inserts a row in the table state.
+ *
+ * @param {Object} state Current table state.
+ * @param {Object} options
+ * @param {string} options.sectionName Section in which to insert the row.
+ * @param {number} options.rowIndex Row index at which to insert the row.
+ *
+ * @return {Object} New table state.
+ */
+
+function insertRow(state, _ref2) {
+ var sectionName = _ref2.sectionName,
+ rowIndex = _ref2.rowIndex,
+ columnCount = _ref2.columnCount;
+ var firstRow = getFirstRow(state);
+ var cellCount = columnCount === undefined ? Object(external_lodash_["get"])(firstRow, ['cells', 'length']) : columnCount; // Bail early if the function cannot determine how many cells to add.
+
+ if (!cellCount) {
+ return state;
+ }
+
+ return Object(defineProperty["a" /* default */])({}, sectionName, [].concat(Object(toConsumableArray["a" /* default */])(state[sectionName].slice(0, rowIndex)), [{
+ cells: Object(external_lodash_["times"])(cellCount, function (index) {
+ var firstCellInColumn = Object(external_lodash_["get"])(firstRow, ['cells', index], {});
+ var inheritedAttributes = Object(external_lodash_["pick"])(firstCellInColumn, INHERITED_COLUMN_ATTRIBUTES);
+ return Object(objectSpread["a" /* default */])({}, inheritedAttributes, {
+ content: '',
+ tag: sectionName === 'head' ? 'th' : 'td'
+ });
+ })
+ }], Object(toConsumableArray["a" /* default */])(state[sectionName].slice(rowIndex))));
+}
+/**
+ * Deletes a row from the table state.
+ *
+ * @param {Object} state Current table state.
+ * @param {Object} options
+ * @param {string} options.sectionName Section in which to delete the row.
+ * @param {number} options.rowIndex Row index to delete.
+ *
+ * @return {Object} New table state.
+ */
+
+function deleteRow(state, _ref4) {
+ var sectionName = _ref4.sectionName,
+ rowIndex = _ref4.rowIndex;
+ return Object(defineProperty["a" /* default */])({}, sectionName, state[sectionName].filter(function (row, index) {
+ return index !== rowIndex;
+ }));
+}
+/**
+ * Inserts a column in the table state.
+ *
+ * @param {Object} state Current table state.
+ * @param {Object} options
+ * @param {number} options.columnIndex Column index at which to insert the column.
+ *
+ * @return {Object} New table state.
+ */
+
+function insertColumn(state, _ref6) {
+ var columnIndex = _ref6.columnIndex;
+ var tableSections = Object(external_lodash_["pick"])(state, ['head', 'body', 'foot']);
+ return Object(external_lodash_["mapValues"])(tableSections, function (section, sectionName) {
+ // Bail early if the table section is empty.
+ if (isEmptyTableSection(section)) {
+ return section;
+ }
+
+ return section.map(function (row) {
+ // Bail early if the row is empty or it's an attempt to insert past
+ // the last possible index of the array.
+ if (isEmptyRow(row) || row.cells.length < columnIndex) {
+ return row;
+ }
+
+ return {
+ cells: [].concat(Object(toConsumableArray["a" /* default */])(row.cells.slice(0, columnIndex)), [{
+ content: '',
+ tag: sectionName === 'head' ? 'th' : 'td'
+ }], Object(toConsumableArray["a" /* default */])(row.cells.slice(columnIndex)))
+ };
+ });
+ });
+}
+/**
+ * Deletes a column from the table state.
+ *
+ * @param {Object} state Current table state.
+ * @param {Object} options
+ * @param {number} options.columnIndex Column index to delete.
+ *
+ * @return {Object} New table state.
+ */
+
+function deleteColumn(state, _ref7) {
+ var columnIndex = _ref7.columnIndex;
+ var tableSections = Object(external_lodash_["pick"])(state, ['head', 'body', 'foot']);
+ return Object(external_lodash_["mapValues"])(tableSections, function (section) {
+ // Bail early if the table section is empty.
+ if (isEmptyTableSection(section)) {
+ return section;
+ }
+
+ return section.map(function (row) {
+ return {
+ cells: row.cells.length >= columnIndex ? row.cells.filter(function (cell, index) {
+ return index !== columnIndex;
+ }) : row.cells
+ };
+ }).filter(function (row) {
+ return row.cells.length;
+ });
+ });
+}
+/**
+ * Toggles the existance of a section.
+ *
+ * @param {Object} state Current table state.
+ * @param {string} sectionName Name of the section to toggle.
+ *
+ * @return {Object} New table state.
+ */
+
+function toggleSection(state, sectionName) {
+ // Section exists, replace it with an empty row to remove it.
+ if (!isEmptyTableSection(state[sectionName])) {
+ return Object(defineProperty["a" /* default */])({}, sectionName, []);
+ } // Get the length of the first row of the body to use when creating the header.
+
+
+ var columnCount = Object(external_lodash_["get"])(state, ['body', 0, 'cells', 'length'], 1); // Section doesn't exist, insert an empty row to create the section.
+
+ return insertRow(state, {
+ sectionName: sectionName,
+ rowIndex: 0,
+ columnCount: columnCount
+ });
+}
+/**
+ * Determines whether a table section is empty.
+ *
+ * @param {Object} section Table section state.
+ *
+ * @return {boolean} True if the table section is empty, false otherwise.
+ */
+
+function isEmptyTableSection(section) {
+ return !section || !section.length || Object(external_lodash_["every"])(section, isEmptyRow);
+}
+/**
+ * Determines whether a table row is empty.
+ *
+ * @param {Object} row Table row state.
+ *
+ * @return {boolean} True if the table section is empty, false otherwise.
+ */
+
+function isEmptyRow(row) {
+ return !(row.cells && row.cells.length);
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/table/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var table_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fill: "none",
+ d: "M0 0h24v24H0V0z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["G"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M20 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 2v3H5V5h15zm-5 14h-5v-9h5v9zM5 10h3v9H5v-9zm12 9v-9h3v9h-3z"
+}))));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/table/edit.js
+
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var BACKGROUND_COLORS = [{
+ color: '#f3f4f5',
+ name: 'Subtle light gray',
+ slug: 'subtle-light-gray'
+}, {
+ color: '#e9fbe5',
+ name: 'Subtle pale green',
+ slug: 'subtle-pale-green'
+}, {
+ color: '#e7f5fe',
+ name: 'Subtle pale blue',
+ slug: 'subtle-pale-blue'
+}, {
+ color: '#fcf0ef',
+ name: 'Subtle pale pink',
+ slug: 'subtle-pale-pink'
+}];
+var ALIGNMENT_CONTROLS = [{
+ icon: 'editor-alignleft',
+ title: Object(external_this_wp_i18n_["__"])('Align Column Left'),
+ align: 'left'
+}, {
+ icon: 'editor-aligncenter',
+ title: Object(external_this_wp_i18n_["__"])('Align Column Center'),
+ align: 'center'
+}, {
+ icon: 'editor-alignright',
+ title: Object(external_this_wp_i18n_["__"])('Align Column Right'),
+ align: 'right'
+}];
+var withCustomBackgroundColors = Object(external_this_wp_blockEditor_["createCustomColorsHOC"])(BACKGROUND_COLORS);
+var edit_TableEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(TableEdit, _Component);
+
+ function TableEdit() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, TableEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(TableEdit).apply(this, arguments));
+ _this.onCreateTable = _this.onCreateTable.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onChangeFixedLayout = _this.onChangeFixedLayout.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onChange = _this.onChange.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onChangeInitialColumnCount = _this.onChangeInitialColumnCount.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onChangeInitialRowCount = _this.onChangeInitialRowCount.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.renderSection = _this.renderSection.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.getTableControls = _this.getTableControls.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onInsertRow = _this.onInsertRow.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onInsertRowBefore = _this.onInsertRowBefore.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onInsertRowAfter = _this.onInsertRowAfter.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onDeleteRow = _this.onDeleteRow.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onInsertColumn = _this.onInsertColumn.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onInsertColumnBefore = _this.onInsertColumnBefore.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onInsertColumnAfter = _this.onInsertColumnAfter.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onDeleteColumn = _this.onDeleteColumn.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onToggleHeaderSection = _this.onToggleHeaderSection.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onToggleFooterSection = _this.onToggleFooterSection.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onChangeColumnAlignment = _this.onChangeColumnAlignment.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.getCellAlignment = _this.getCellAlignment.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.state = {
+ initialRowCount: 2,
+ initialColumnCount: 2,
+ selectedCell: null
+ };
+ return _this;
+ }
+ /**
+ * Updates the initial column count used for table creation.
+ *
+ * @param {number} initialColumnCount New initial column count.
+ */
+
+
+ Object(createClass["a" /* default */])(TableEdit, [{
+ key: "onChangeInitialColumnCount",
+ value: function onChangeInitialColumnCount(initialColumnCount) {
+ this.setState({
+ initialColumnCount: initialColumnCount
+ });
+ }
+ /**
+ * Updates the initial row count used for table creation.
+ *
+ * @param {number} initialRowCount New initial row count.
+ */
+
+ }, {
+ key: "onChangeInitialRowCount",
+ value: function onChangeInitialRowCount(initialRowCount) {
+ this.setState({
+ initialRowCount: initialRowCount
+ });
+ }
+ /**
+ * Creates a table based on dimensions in local state.
+ *
+ * @param {Object} event Form submit event.
+ */
+
+ }, {
+ key: "onCreateTable",
+ value: function onCreateTable(event) {
+ event.preventDefault();
+ var setAttributes = this.props.setAttributes;
+ var _this$state = this.state,
+ initialRowCount = _this$state.initialRowCount,
+ initialColumnCount = _this$state.initialColumnCount;
+ initialRowCount = parseInt(initialRowCount, 10) || 2;
+ initialColumnCount = parseInt(initialColumnCount, 10) || 2;
+ setAttributes(createTable({
+ rowCount: initialRowCount,
+ columnCount: initialColumnCount
+ }));
+ }
+ /**
+ * Toggles whether the table has a fixed layout or not.
+ */
+
+ }, {
+ key: "onChangeFixedLayout",
+ value: function onChangeFixedLayout() {
+ var _this$props = this.props,
+ attributes = _this$props.attributes,
+ setAttributes = _this$props.setAttributes;
+ var hasFixedLayout = attributes.hasFixedLayout;
+ setAttributes({
+ hasFixedLayout: !hasFixedLayout
+ });
+ }
+ /**
+ * Changes the content of the currently selected cell.
+ *
+ * @param {Array} content A RichText content value.
+ */
+
+ }, {
+ key: "onChange",
+ value: function onChange(content) {
+ var selectedCell = this.state.selectedCell;
+
+ if (!selectedCell) {
+ return;
+ }
+
+ var _this$props2 = this.props,
+ attributes = _this$props2.attributes,
+ setAttributes = _this$props2.setAttributes;
+ setAttributes(updateSelectedCell(attributes, selectedCell, function (cellAttributes) {
+ return Object(objectSpread["a" /* default */])({}, cellAttributes, {
+ content: content
+ });
+ }));
+ }
+ /**
+ * Align text within the a column.
+ *
+ * @param {string} align The new alignment to apply to the column.
+ */
+
+ }, {
+ key: "onChangeColumnAlignment",
+ value: function onChangeColumnAlignment(align) {
+ var selectedCell = this.state.selectedCell;
+
+ if (!selectedCell) {
+ return;
+ } // Convert the cell selection to a column selection so that alignment
+ // is applied to the entire column.
+
+
+ var columnSelection = {
+ type: 'column',
+ columnIndex: selectedCell.columnIndex
+ };
+ var _this$props3 = this.props,
+ attributes = _this$props3.attributes,
+ setAttributes = _this$props3.setAttributes;
+ var newAttributes = updateSelectedCell(attributes, columnSelection, function (cellAttributes) {
+ return Object(objectSpread["a" /* default */])({}, cellAttributes, {
+ align: align
+ });
+ });
+ setAttributes(newAttributes);
+ }
+ /**
+ * Get the alignment of the currently selected cell.
+ *
+ * @return {string} The new alignment to apply to the column.
+ */
+
+ }, {
+ key: "getCellAlignment",
+ value: function getCellAlignment() {
+ var selectedCell = this.state.selectedCell;
+
+ if (!selectedCell) {
+ return;
+ }
+
+ var attributes = this.props.attributes;
+ return getCellAttribute(attributes, selectedCell, 'align');
+ }
+ /**
+ * Add or remove a `head` table section.
+ */
+
+ }, {
+ key: "onToggleHeaderSection",
+ value: function onToggleHeaderSection() {
+ var _this$props4 = this.props,
+ attributes = _this$props4.attributes,
+ setAttributes = _this$props4.setAttributes;
+ setAttributes(toggleSection(attributes, 'head'));
+ }
+ /**
+ * Add or remove a `foot` table section.
+ */
+
+ }, {
+ key: "onToggleFooterSection",
+ value: function onToggleFooterSection() {
+ var _this$props5 = this.props,
+ attributes = _this$props5.attributes,
+ setAttributes = _this$props5.setAttributes;
+ setAttributes(toggleSection(attributes, 'foot'));
+ }
+ /**
+ * Inserts a row at the currently selected row index, plus `delta`.
+ *
+ * @param {number} delta Offset for selected row index at which to insert.
+ */
+
+ }, {
+ key: "onInsertRow",
+ value: function onInsertRow(delta) {
+ var selectedCell = this.state.selectedCell;
+
+ if (!selectedCell) {
+ return;
+ }
+
+ var _this$props6 = this.props,
+ attributes = _this$props6.attributes,
+ setAttributes = _this$props6.setAttributes;
+ var sectionName = selectedCell.sectionName,
+ rowIndex = selectedCell.rowIndex;
+ this.setState({
+ selectedCell: null
+ });
+ setAttributes(insertRow(attributes, {
+ sectionName: sectionName,
+ rowIndex: rowIndex + delta
+ }));
+ }
+ /**
+ * Inserts a row before the currently selected row.
+ */
+
+ }, {
+ key: "onInsertRowBefore",
+ value: function onInsertRowBefore() {
+ this.onInsertRow(0);
+ }
+ /**
+ * Inserts a row after the currently selected row.
+ */
+
+ }, {
+ key: "onInsertRowAfter",
+ value: function onInsertRowAfter() {
+ this.onInsertRow(1);
+ }
+ /**
+ * Deletes the currently selected row.
+ */
+
+ }, {
+ key: "onDeleteRow",
+ value: function onDeleteRow() {
+ var selectedCell = this.state.selectedCell;
+
+ if (!selectedCell) {
+ return;
+ }
+
+ var _this$props7 = this.props,
+ attributes = _this$props7.attributes,
+ setAttributes = _this$props7.setAttributes;
+ var sectionName = selectedCell.sectionName,
+ rowIndex = selectedCell.rowIndex;
+ this.setState({
+ selectedCell: null
+ });
+ setAttributes(deleteRow(attributes, {
+ sectionName: sectionName,
+ rowIndex: rowIndex
+ }));
+ }
+ /**
+ * Inserts a column at the currently selected column index, plus `delta`.
+ *
+ * @param {number} delta Offset for selected column index at which to insert.
+ */
+
+ }, {
+ key: "onInsertColumn",
+ value: function onInsertColumn() {
+ var delta = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
+ var selectedCell = this.state.selectedCell;
+
+ if (!selectedCell) {
+ return;
+ }
+
+ var _this$props8 = this.props,
+ attributes = _this$props8.attributes,
+ setAttributes = _this$props8.setAttributes;
+ var columnIndex = selectedCell.columnIndex;
+ this.setState({
+ selectedCell: null
+ });
+ setAttributes(insertColumn(attributes, {
+ columnIndex: columnIndex + delta
+ }));
+ }
+ /**
+ * Inserts a column before the currently selected column.
+ */
+
+ }, {
+ key: "onInsertColumnBefore",
+ value: function onInsertColumnBefore() {
+ this.onInsertColumn(0);
+ }
+ /**
+ * Inserts a column after the currently selected column.
+ */
+
+ }, {
+ key: "onInsertColumnAfter",
+ value: function onInsertColumnAfter() {
+ this.onInsertColumn(1);
+ }
+ /**
+ * Deletes the currently selected column.
+ */
+
+ }, {
+ key: "onDeleteColumn",
+ value: function onDeleteColumn() {
+ var selectedCell = this.state.selectedCell;
+
+ if (!selectedCell) {
+ return;
+ }
+
+ var _this$props9 = this.props,
+ attributes = _this$props9.attributes,
+ setAttributes = _this$props9.setAttributes;
+ var sectionName = selectedCell.sectionName,
+ columnIndex = selectedCell.columnIndex;
+ this.setState({
+ selectedCell: null
+ });
+ setAttributes(deleteColumn(attributes, {
+ sectionName: sectionName,
+ columnIndex: columnIndex
+ }));
+ }
+ /**
+ * Creates an onFocus handler for a specified cell.
+ *
+ * @param {Object} cellLocation Object with `section`, `rowIndex`, and
+ * `columnIndex` properties.
+ *
+ * @return {Function} Function to call on focus.
+ */
+
+ }, {
+ key: "createOnFocus",
+ value: function createOnFocus(cellLocation) {
+ var _this2 = this;
+
+ return function () {
+ _this2.setState({
+ selectedCell: Object(objectSpread["a" /* default */])({}, cellLocation, {
+ type: 'cell'
+ })
+ });
+ };
+ }
+ /**
+ * Gets the table controls to display in the block toolbar.
+ *
+ * @return {Array} Table controls.
+ */
+
+ }, {
+ key: "getTableControls",
+ value: function getTableControls() {
+ var selectedCell = this.state.selectedCell;
+ return [{
+ icon: 'table-row-before',
+ title: Object(external_this_wp_i18n_["__"])('Add Row Before'),
+ isDisabled: !selectedCell,
+ onClick: this.onInsertRowBefore
+ }, {
+ icon: 'table-row-after',
+ title: Object(external_this_wp_i18n_["__"])('Add Row After'),
+ isDisabled: !selectedCell,
+ onClick: this.onInsertRowAfter
+ }, {
+ icon: 'table-row-delete',
+ title: Object(external_this_wp_i18n_["__"])('Delete Row'),
+ isDisabled: !selectedCell,
+ onClick: this.onDeleteRow
+ }, {
+ icon: 'table-col-before',
+ title: Object(external_this_wp_i18n_["__"])('Add Column Before'),
+ isDisabled: !selectedCell,
+ onClick: this.onInsertColumnBefore
+ }, {
+ icon: 'table-col-after',
+ title: Object(external_this_wp_i18n_["__"])('Add Column After'),
+ isDisabled: !selectedCell,
+ onClick: this.onInsertColumnAfter
+ }, {
+ icon: 'table-col-delete',
+ title: Object(external_this_wp_i18n_["__"])('Delete Column'),
+ isDisabled: !selectedCell,
+ onClick: this.onDeleteColumn
+ }];
+ }
+ /**
+ * Renders a table section.
+ *
+ * @param {Object} options
+ * @param {string} options.type Section type: head, body, or foot.
+ * @param {Array} options.rows The rows to render.
+ *
+ * @return {Object} React element for the section.
+ */
+
+ }, {
+ key: "renderSection",
+ value: function renderSection(_ref) {
+ var _this3 = this;
+
+ var name = _ref.name,
+ rows = _ref.rows;
+
+ if (isEmptyTableSection(rows)) {
+ return null;
+ }
+
+ var Tag = "t".concat(name);
+ var selectedCell = this.state.selectedCell;
+ return Object(external_this_wp_element_["createElement"])(Tag, null, rows.map(function (_ref2, rowIndex) {
+ var cells = _ref2.cells;
+ return Object(external_this_wp_element_["createElement"])("tr", {
+ key: rowIndex
+ }, cells.map(function (_ref3, columnIndex) {
+ var content = _ref3.content,
+ CellTag = _ref3.tag,
+ scope = _ref3.scope,
+ align = _ref3.align;
+ var cellLocation = {
+ sectionName: name,
+ rowIndex: rowIndex,
+ columnIndex: columnIndex
+ };
+ var isSelected = isCellSelected(cellLocation, selectedCell);
+ var cellClasses = classnames_default()(Object(defineProperty["a" /* default */])({
+ 'is-selected': isSelected
+ }, "has-text-align-".concat(align), align));
+ var richTextClassName = 'wp-block-table__cell-content';
+ return Object(external_this_wp_element_["createElement"])(CellTag, {
+ key: columnIndex,
+ className: cellClasses,
+ scope: CellTag === 'th' ? scope : undefined,
+ onClick: function onClick(event) {
+ // When a cell is selected, forward focus to the child RichText. This solves an issue where the
+ // user may click inside a cell, but outside of the RichText, resulting in nothing happening.
+ var richTextElement = event && event.target && event.target.querySelector(".".concat(richTextClassName));
+
+ if (richTextElement) {
+ richTextElement.focus();
+ }
+ }
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ className: richTextClassName,
+ value: content,
+ onChange: _this3.onChange,
+ unstableOnFocus: _this3.createOnFocus(cellLocation)
+ }));
+ }));
+ }));
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate() {
+ var isSelected = this.props.isSelected;
+ var selectedCell = this.state.selectedCell;
+
+ if (!isSelected && selectedCell) {
+ this.setState({
+ selectedCell: null
+ });
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this4 = this;
+
+ var _this$props10 = this.props,
+ attributes = _this$props10.attributes,
+ className = _this$props10.className,
+ backgroundColor = _this$props10.backgroundColor,
+ setBackgroundColor = _this$props10.setBackgroundColor;
+ var _this$state2 = this.state,
+ initialRowCount = _this$state2.initialRowCount,
+ initialColumnCount = _this$state2.initialColumnCount;
+ var hasFixedLayout = attributes.hasFixedLayout,
+ head = attributes.head,
+ body = attributes.body,
+ foot = attributes.foot;
+ var isEmpty = isEmptyTableSection(head) && isEmptyTableSection(body) && isEmptyTableSection(foot);
+ var Section = this.renderSection;
+
+ if (isEmpty) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Placeholder"], {
+ label: Object(external_this_wp_i18n_["__"])('Table'),
+ icon: Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockIcon"], {
+ icon: table_icon,
+ showColors: true
+ }),
+ instructions: Object(external_this_wp_i18n_["__"])('Insert a table for sharing data.'),
+ isColumnLayout: true
+ }, Object(external_this_wp_element_["createElement"])("form", {
+ className: "wp-block-table__placeholder-form",
+ onSubmit: this.onCreateTable
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextControl"], {
+ type: "number",
+ label: Object(external_this_wp_i18n_["__"])('Column Count'),
+ value: initialColumnCount,
+ onChange: this.onChangeInitialColumnCount,
+ min: "1",
+ className: "wp-block-table__placeholder-input"
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextControl"], {
+ type: "number",
+ label: Object(external_this_wp_i18n_["__"])('Row Count'),
+ value: initialRowCount,
+ onChange: this.onChangeInitialRowCount,
+ min: "1",
+ className: "wp-block-table__placeholder-input"
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
+ className: "wp-block-table__placeholder-button",
+ isDefault: true,
+ type: "submit"
+ }, Object(external_this_wp_i18n_["__"])('Create Table'))));
+ }
+
+ var tableClasses = classnames_default()(backgroundColor.class, {
+ 'has-fixed-layout': hasFixedLayout,
+ 'has-background': !!backgroundColor.color
+ });
+ 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_["Toolbar"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["DropdownMenu"], {
+ hasArrowIndicator: true,
+ icon: "editor-table",
+ label: Object(external_this_wp_i18n_["__"])('Edit table'),
+ controls: this.getTableControls()
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["AlignmentToolbar"], {
+ label: Object(external_this_wp_i18n_["__"])('Change column alignment'),
+ alignmentControls: ALIGNMENT_CONTROLS,
+ value: this.getCellAlignment(),
+ onChange: function onChange(nextAlign) {
+ return _this4.onChangeColumnAlignment(nextAlign);
+ },
+ onHover: this.onHoverAlignment
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Table Settings'),
+ className: "blocks-table-settings"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Fixed width table cells'),
+ checked: !!hasFixedLayout,
+ onChange: this.onChangeFixedLayout
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Header section'),
+ checked: !!(head && head.length),
+ onChange: this.onToggleHeaderSection
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Footer section'),
+ checked: !!(foot && foot.length),
+ onChange: this.onToggleFooterSection
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["PanelColorSettings"], {
+ title: Object(external_this_wp_i18n_["__"])('Color Settings'),
+ initialOpen: false,
+ colorSettings: [{
+ value: backgroundColor.color,
+ onChange: setBackgroundColor,
+ label: Object(external_this_wp_i18n_["__"])('Background Color'),
+ disableCustomColors: true,
+ colors: BACKGROUND_COLORS
+ }]
+ })), Object(external_this_wp_element_["createElement"])("figure", {
+ className: className
+ }, Object(external_this_wp_element_["createElement"])("table", {
+ className: tableClasses
+ }, Object(external_this_wp_element_["createElement"])(Section, {
+ name: "head",
+ rows: head
+ }), Object(external_this_wp_element_["createElement"])(Section, {
+ name: "body",
+ rows: body
+ }), Object(external_this_wp_element_["createElement"])(Section, {
+ name: "foot",
+ rows: foot
+ }))));
+ }
+ }]);
+
+ return TableEdit;
+}(external_this_wp_element_["Component"]);
+/* harmony default export */ var table_edit = (withCustomBackgroundColors('backgroundColor')(edit_TableEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/table/save.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+function table_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var hasFixedLayout = attributes.hasFixedLayout,
+ head = attributes.head,
+ body = attributes.body,
+ foot = attributes.foot,
+ backgroundColor = attributes.backgroundColor;
+ var isEmpty = !head.length && !body.length && !foot.length;
+
+ if (isEmpty) {
+ return null;
+ }
+
+ var backgroundClass = Object(external_this_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor);
+ var classes = classnames_default()(backgroundClass, {
+ 'has-fixed-layout': hasFixedLayout,
+ 'has-background': !!backgroundClass
+ });
+
+ var Section = function Section(_ref2) {
+ var type = _ref2.type,
+ rows = _ref2.rows;
+
+ if (!rows.length) {
+ return null;
+ }
+
+ var Tag = "t".concat(type);
+ return Object(external_this_wp_element_["createElement"])(Tag, null, rows.map(function (_ref3, rowIndex) {
+ var cells = _ref3.cells;
+ return Object(external_this_wp_element_["createElement"])("tr", {
+ key: rowIndex
+ }, cells.map(function (_ref4, cellIndex) {
+ var content = _ref4.content,
+ tag = _ref4.tag,
+ scope = _ref4.scope,
+ align = _ref4.align;
+ var cellClasses = classnames_default()(Object(defineProperty["a" /* default */])({}, "has-text-align-".concat(align), align));
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ className: cellClasses ? cellClasses : undefined,
+ "data-align": align,
+ tagName: tag,
+ value: content,
+ key: cellIndex,
+ scope: tag === 'th' ? scope : undefined
+ });
+ }));
+ }));
+ };
+
+ return Object(external_this_wp_element_["createElement"])("figure", null, Object(external_this_wp_element_["createElement"])("table", {
+ className: classes
+ }, Object(external_this_wp_element_["createElement"])(Section, {
+ type: "head",
+ rows: head
+ }), Object(external_this_wp_element_["createElement"])(Section, {
+ type: "body",
+ rows: body
+ }), Object(external_this_wp_element_["createElement"])(Section, {
+ type: "foot",
+ rows: foot
+ })));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/table/transforms.js
+/**
+ * WordPress dependencies
+ */
+
+var tableContentPasteSchema = {
+ tr: {
+ allowEmpty: true,
+ children: {
+ th: {
+ allowEmpty: true,
+ children: Object(external_this_wp_blocks_["getPhrasingContentSchema"])(),
+ attributes: ['scope']
+ },
+ td: {
+ allowEmpty: true,
+ children: Object(external_this_wp_blocks_["getPhrasingContentSchema"])()
+ }
+ }
+ }
+};
+var tablePasteSchema = {
+ table: {
+ children: {
+ thead: {
+ allowEmpty: true,
+ children: tableContentPasteSchema
+ },
+ tfoot: {
+ allowEmpty: true,
+ children: tableContentPasteSchema
+ },
+ tbody: {
+ allowEmpty: true,
+ children: tableContentPasteSchema
+ }
+ }
+ }
+};
+var table_transforms_transforms = {
+ from: [{
+ type: 'raw',
+ selector: 'table',
+ schema: tablePasteSchema
+ }]
+};
+/* harmony default export */ var table_transforms = (table_transforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/table/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var table_metadata = {
+ name: "core/table",
+ category: "formatting",
+ attributes: {
+ hasFixedLayout: {
+ type: "boolean",
+ "default": false
+ },
+ backgroundColor: {
+ type: "string"
+ },
+ head: {
+ type: "array",
+ "default": [],
+ source: "query",
+ selector: "thead tr",
+ query: {
+ cells: {
+ type: "array",
+ "default": [],
+ source: "query",
+ selector: "td,th",
+ query: {
+ content: {
+ type: "string",
+ source: "html"
+ },
+ tag: {
+ type: "string",
+ "default": "td",
+ source: "tag"
+ },
+ scope: {
+ type: "string",
+ source: "attribute",
+ attribute: "scope"
+ },
+ align: {
+ type: "string",
+ source: "attribute",
+ attribute: "data-align"
+ }
+ }
+ }
+ }
+ },
+ body: {
+ type: "array",
+ "default": [],
+ source: "query",
+ selector: "tbody tr",
+ query: {
+ cells: {
+ type: "array",
+ "default": [],
+ source: "query",
+ selector: "td,th",
+ query: {
+ content: {
+ type: "string",
+ source: "html"
+ },
+ tag: {
+ type: "string",
+ "default": "td",
+ source: "tag"
+ },
+ scope: {
+ type: "string",
+ source: "attribute",
+ attribute: "scope"
+ },
+ align: {
+ type: "string",
+ source: "attribute",
+ attribute: "data-align"
+ }
+ }
+ }
+ }
+ },
+ foot: {
+ type: "array",
+ "default": [],
+ source: "query",
+ selector: "tfoot tr",
+ query: {
+ cells: {
+ type: "array",
+ "default": [],
+ source: "query",
+ selector: "td,th",
+ query: {
+ content: {
+ type: "string",
+ source: "html"
+ },
+ tag: {
+ type: "string",
+ "default": "td",
+ source: "tag"
+ },
+ scope: {
+ type: "string",
+ source: "attribute",
+ attribute: "scope"
+ },
+ align: {
+ type: "string",
+ source: "attribute",
+ attribute: "data-align"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+
+var table_name = table_metadata.name;
+
+var table_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Table'),
+ description: Object(external_this_wp_i18n_["__"])('Insert a table — perfect for sharing charts and data.'),
+ icon: table_icon,
+ example: {
+ attributes: {
+ head: [{
+ cells: [{
+ content: Object(external_this_wp_i18n_["__"])('Version'),
+ tag: 'th'
+ }, {
+ content: Object(external_this_wp_i18n_["__"])('Jazz Musician'),
+ tag: 'th'
+ }, {
+ content: Object(external_this_wp_i18n_["__"])('Release Date'),
+ tag: 'th'
+ }]
+ }],
+ body: [{
+ cells: [{
+ content: '5.2',
+ tag: 'td'
+ }, {
+ content: 'Jaco Pastorius',
+ tag: 'td'
+ }, {
+ content: Object(external_this_wp_i18n_["__"])('May 7, 2019'),
+ tag: 'td'
+ }]
+ }, {
+ cells: [{
+ content: '5.1',
+ tag: 'td'
+ }, {
+ content: 'Betty Carter',
+ tag: 'td'
+ }, {
+ content: Object(external_this_wp_i18n_["__"])('February 21, 2019'),
+ tag: 'td'
+ }]
+ }, {
+ cells: [{
+ content: '5.0',
+ tag: 'td'
+ }, {
+ content: 'Bebo Valdés',
+ tag: 'td'
+ }, {
+ content: Object(external_this_wp_i18n_["__"])('December 6, 2018'),
+ tag: 'td'
+ }]
+ }]
+ }
+ },
+ styles: [{
+ name: 'regular',
+ label: Object(external_this_wp_i18n_["_x"])('Default', 'block style'),
+ isDefault: true
+ }, {
+ name: 'stripes',
+ label: Object(external_this_wp_i18n_["__"])('Stripes')
+ }],
+ supports: {
+ align: true
+ },
+ transforms: table_transforms,
+ edit: table_edit,
+ save: table_save_save,
+ deprecated: table_deprecated
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/text-columns/edit.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+function TextColumnsEdit(_ref) {
+ var attributes = _ref.attributes,
+ setAttributes = _ref.setAttributes,
+ className = _ref.className;
+ var width = attributes.width,
+ content = attributes.content,
+ columns = attributes.columns;
+ external_this_wp_deprecated_default()('The Text Columns block', {
+ alternative: 'the Columns block',
+ plugin: 'Gutenberg'
+ });
+ 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_["BlockAlignmentToolbar"], {
+ value: width,
+ onChange: function onChange(nextWidth) {
+ return setAttributes({
+ width: nextWidth
+ });
+ },
+ controls: ['center', 'wide', 'full']
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["RangeControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Columns'),
+ value: columns,
+ onChange: function onChange(value) {
+ return setAttributes({
+ columns: value
+ });
+ },
+ min: 2,
+ max: 4,
+ required: true
+ }))), Object(external_this_wp_element_["createElement"])("div", {
+ className: "".concat(className, " align").concat(width, " columns-").concat(columns)
+ }, Object(external_lodash_["times"])(columns, function (index) {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-column",
+ key: "column-".concat(index)
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ tagName: "p",
+ value: Object(external_lodash_["get"])(content, [index, 'children']),
+ onChange: function onChange(nextContent) {
+ setAttributes({
+ content: [].concat(Object(toConsumableArray["a" /* default */])(content.slice(0, index)), [{
+ children: nextContent
+ }], Object(toConsumableArray["a" /* default */])(content.slice(index + 1)))
+ });
+ },
+ placeholder: Object(external_this_wp_i18n_["__"])('New Column')
+ }));
+ })));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/text-columns/save.js
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+function text_columns_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var width = attributes.width,
+ content = attributes.content,
+ columns = attributes.columns;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "align".concat(width, " columns-").concat(columns)
+ }, Object(external_lodash_["times"])(columns, function (index) {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "wp-block-column",
+ key: "column-".concat(index)
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "p",
+ value: Object(external_lodash_["get"])(content, [index, 'children'])
+ }));
+ }));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/text-columns/tranforms.js
+/**
+ * WordPress dependencies
+ */
+
+var text_columns_tranforms_transforms = {
+ to: [{
+ type: 'block',
+ blocks: ['core/columns'],
+ transform: function transform(_ref) {
+ var className = _ref.className,
+ columns = _ref.columns,
+ content = _ref.content,
+ width = _ref.width;
+ return Object(external_this_wp_blocks_["createBlock"])('core/columns', {
+ align: 'wide' === width || 'full' === width ? width : undefined,
+ className: className,
+ columns: columns
+ }, content.map(function (_ref2) {
+ var children = _ref2.children;
+ return Object(external_this_wp_blocks_["createBlock"])('core/column', {}, [Object(external_this_wp_blocks_["createBlock"])('core/paragraph', {
+ content: children
+ })]);
+ }));
+ }
+ }]
+};
+/* harmony default export */ var text_columns_tranforms = (text_columns_tranforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/text-columns/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+var text_columns_metadata = {
+ name: "core/text-columns",
+ icon: "columns",
+ category: "layout",
+ attributes: {
+ content: {
+ type: "array",
+ source: "query",
+ selector: "p",
+ query: {
+ children: {
+ type: "string",
+ source: "html"
+ }
+ },
+ "default": [{}, {}]
+ },
+ columns: {
+ type: "number",
+ "default": 2
+ },
+ width: {
+ type: "string"
+ }
+ }
+};
+
+
+var text_columns_name = text_columns_metadata.name;
+
+var text_columns_settings = {
+ // Disable insertion as this block is deprecated and ultimately replaced by the Columns block.
+ supports: {
+ inserter: false
+ },
+ title: Object(external_this_wp_i18n_["__"])('Text Columns (deprecated)'),
+ description: Object(external_this_wp_i18n_["__"])('This block is deprecated. Please use the Columns block instead.'),
+ transforms: text_columns_tranforms,
+ getEditWrapperProps: function getEditWrapperProps(attributes) {
+ var width = attributes.width;
+
+ if ('wide' === width || 'full' === width) {
+ return {
+ 'data-align': width
+ };
+ }
+ },
+ edit: TextColumnsEdit,
+ save: text_columns_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/verse/deprecated.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+var verse_deprecated_blockAttributes = {
+ content: {
+ type: 'string',
+ source: 'html',
+ selector: 'pre',
+ default: ''
+ },
+ textAlign: {
+ type: 'string'
+ }
+};
+var verse_deprecated_deprecated = [{
+ attributes: verse_deprecated_blockAttributes,
+ save: function save(_ref) {
+ var attributes = _ref.attributes;
+ var textAlign = attributes.textAlign,
+ content = attributes.content;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "pre",
+ style: {
+ textAlign: textAlign
+ },
+ value: content
+ });
+ }
+}];
+/* harmony default export */ var verse_deprecated = (verse_deprecated_deprecated);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/verse/edit.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+function VerseEdit(_ref) {
+ var attributes = _ref.attributes,
+ setAttributes = _ref.setAttributes,
+ className = _ref.className,
+ mergeBlocks = _ref.mergeBlocks;
+ var textAlign = attributes.textAlign,
+ content = attributes.content;
+ 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"], {
+ value: textAlign,
+ onChange: function onChange(nextAlign) {
+ setAttributes({
+ textAlign: nextAlign
+ });
+ }
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ tagName: "pre",
+ value: content,
+ onChange: function onChange(nextContent) {
+ setAttributes({
+ content: nextContent
+ });
+ },
+ placeholder: Object(external_this_wp_i18n_["__"])('Write…'),
+ wrapperClassName: className,
+ className: classnames_default()(Object(defineProperty["a" /* default */])({}, "has-text-align-".concat(textAlign), textAlign)),
+ onMerge: mergeBlocks
+ }));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/verse/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var verse_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M21 11.01L3 11V13H21V11.01ZM3 16H17V18H3V16ZM15 6H3V8.01L15 8V6Z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/verse/save.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+function verse_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var textAlign = attributes.textAlign,
+ content = attributes.content;
+ var className = classnames_default()(Object(defineProperty["a" /* default */])({}, "has-text-align-".concat(textAlign), textAlign));
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "pre",
+ className: className,
+ value: content
+ });
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/verse/tranforms.js
+/**
+ * WordPress dependencies
+ */
+
+var verse_tranforms_transforms = {
+ from: [{
+ type: 'block',
+ blocks: ['core/paragraph'],
+ transform: function transform(attributes) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/verse', attributes);
+ }
+ }],
+ to: [{
+ type: 'block',
+ blocks: ['core/paragraph'],
+ transform: function transform(attributes) {
+ return Object(external_this_wp_blocks_["createBlock"])('core/paragraph', attributes);
+ }
+ }]
+};
+/* harmony default export */ var verse_tranforms = (verse_tranforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/verse/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var verse_metadata = {
+ name: "core/verse",
+ category: "formatting",
+ attributes: {
+ content: {
+ type: "string",
+ source: "html",
+ selector: "pre",
+ "default": ""
+ },
+ textAlign: {
+ type: "string"
+ }
+ }
+};
+
+
+var verse_name = verse_metadata.name;
+
+var verse_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Verse'),
+ description: Object(external_this_wp_i18n_["__"])('Insert poetry. Use special spacing formats. Or quote song lyrics.'),
+ icon: verse_icon,
+ example: {
+ attributes: {
+ content: Object(external_this_wp_i18n_["__"])('WHAT was he doing, the great god Pan,') + '<br>' + Object(external_this_wp_i18n_["__"])(' Down in the reeds by the river?') + '<br>' + Object(external_this_wp_i18n_["__"])('Spreading ruin and scattering ban,') + '<br>' + Object(external_this_wp_i18n_["__"])('Splashing and paddling with hoofs of a goat,') + '<br>' + Object(external_this_wp_i18n_["__"])('And breaking the golden lilies afloat') + '<br>' + Object(external_this_wp_i18n_["__"])(' With the dragon-fly on the river.')
+ }
+ },
+ keywords: [Object(external_this_wp_i18n_["__"])('poetry')],
+ transforms: verse_tranforms,
+ deprecated: verse_deprecated,
+ merge: function merge(attributes, attributesToMerge) {
+ return {
+ content: attributes.content + attributesToMerge.content
+ };
+ },
+ edit: VerseEdit,
+ save: verse_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/video/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var video_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ fill: "none",
+ d: "M0 0h24v24H0V0z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M4 6.47L5.76 10H20v8H4V6.47M22 4h-4l2 4h-3l-2-4h-2l2 4h-3l-2-4H8l2 4H7L5 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4z"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/video/edit.js
+
+
+
+
+
+
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var video_edit_ALLOWED_MEDIA_TYPES = ['video'];
+var VIDEO_POSTER_ALLOWED_MEDIA_TYPES = ['image'];
+
+var edit_VideoEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(VideoEdit, _Component);
+
+ function VideoEdit() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, VideoEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(VideoEdit).apply(this, arguments)); // edit component has its own src in the state so it can be edited
+ // without setting the actual value outside of the edit UI
+
+ _this.state = {
+ editing: !_this.props.attributes.src
+ };
+ _this.videoPlayer = Object(external_this_wp_element_["createRef"])();
+ _this.posterImageButton = Object(external_this_wp_element_["createRef"])();
+ _this.toggleAttribute = _this.toggleAttribute.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onSelectURL = _this.onSelectURL.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onSelectPoster = _this.onSelectPoster.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onRemovePoster = _this.onRemovePoster.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onUploadError = _this.onUploadError.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(VideoEdit, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var _this2 = this;
+
+ var _this$props = this.props,
+ attributes = _this$props.attributes,
+ mediaUpload = _this$props.mediaUpload,
+ noticeOperations = _this$props.noticeOperations,
+ setAttributes = _this$props.setAttributes;
+ var id = attributes.id,
+ _attributes$src = attributes.src,
+ src = _attributes$src === void 0 ? '' : _attributes$src;
+
+ if (!id && Object(external_this_wp_blob_["isBlobURL"])(src)) {
+ var file = Object(external_this_wp_blob_["getBlobByURL"])(src);
+
+ if (file) {
+ mediaUpload({
+ filesList: [file],
+ onFileChange: function onFileChange(_ref) {
+ var _ref2 = Object(slicedToArray["a" /* default */])(_ref, 1),
+ url = _ref2[0].url;
+
+ setAttributes({
+ src: url
+ });
+ },
+ onError: function onError(message) {
+ _this2.setState({
+ editing: true
+ });
+
+ noticeOperations.createErrorNotice(message);
+ },
+ allowedTypes: video_edit_ALLOWED_MEDIA_TYPES
+ });
+ }
+ }
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ if (this.props.attributes.poster !== prevProps.attributes.poster) {
+ this.videoPlayer.current.load();
+ }
+ }
+ }, {
+ key: "toggleAttribute",
+ value: function toggleAttribute(attribute) {
+ var _this3 = this;
+
+ return function (newValue) {
+ _this3.props.setAttributes(Object(defineProperty["a" /* default */])({}, attribute, newValue));
+ };
+ }
+ }, {
+ key: "onSelectURL",
+ value: function onSelectURL(newSrc) {
+ var _this$props2 = this.props,
+ attributes = _this$props2.attributes,
+ setAttributes = _this$props2.setAttributes;
+ var src = attributes.src; // Set the block's src from the edit component's state, and switch off
+ // the editing UI.
+
+ if (newSrc !== src) {
+ // Check if there's an embed block that handles this URL.
+ var embedBlock = util_createUpgradedEmbedBlock({
+ attributes: {
+ url: newSrc
+ }
+ });
+
+ if (undefined !== embedBlock) {
+ this.props.onReplace(embedBlock);
+ return;
+ }
+
+ setAttributes({
+ src: newSrc,
+ id: undefined
+ });
+ }
+
+ this.setState({
+ editing: false
+ });
+ }
+ }, {
+ key: "onSelectPoster",
+ value: function onSelectPoster(image) {
+ var setAttributes = this.props.setAttributes;
+ setAttributes({
+ poster: image.url
+ });
+ }
+ }, {
+ key: "onRemovePoster",
+ value: function onRemovePoster() {
+ var setAttributes = this.props.setAttributes;
+ setAttributes({
+ poster: ''
+ }); // Move focus back to the Media Upload button.
+
+ this.posterImageButton.current.focus();
+ }
+ }, {
+ key: "onUploadError",
+ value: function onUploadError(message) {
+ var noticeOperations = this.props.noticeOperations;
+ noticeOperations.removeAllNotices();
+ noticeOperations.createErrorNotice(message);
+ }
+ }, {
+ key: "getAutoplayHelp",
+ value: function getAutoplayHelp(checked) {
+ return checked ? Object(external_this_wp_i18n_["__"])('Note: Autoplaying videos may cause usability issues for some visitors.') : null;
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this4 = this;
+
+ var _this$props$attribute = this.props.attributes,
+ autoplay = _this$props$attribute.autoplay,
+ caption = _this$props$attribute.caption,
+ controls = _this$props$attribute.controls,
+ loop = _this$props$attribute.loop,
+ muted = _this$props$attribute.muted,
+ playsInline = _this$props$attribute.playsInline,
+ poster = _this$props$attribute.poster,
+ preload = _this$props$attribute.preload,
+ src = _this$props$attribute.src;
+ var _this$props3 = this.props,
+ className = _this$props3.className,
+ instanceId = _this$props3.instanceId,
+ isSelected = _this$props3.isSelected,
+ noticeUI = _this$props3.noticeUI,
+ setAttributes = _this$props3.setAttributes;
+ var editing = this.state.editing;
+
+ var switchToEditing = function switchToEditing() {
+ _this4.setState({
+ editing: true
+ });
+ };
+
+ var onSelectVideo = function onSelectVideo(media) {
+ if (!media || !media.url) {
+ // in this case there was an error and we should continue in the editing state
+ // previous attributes should be removed because they may be temporary blob urls
+ setAttributes({
+ src: undefined,
+ id: undefined
+ });
+ switchToEditing();
+ return;
+ } // sets the block's attribute and updates the edit component from the
+ // selected media, then switches off the editing UI
+
+
+ setAttributes({
+ src: media.url,
+ id: media.id
+ });
+
+ _this4.setState({
+ src: media.url,
+ editing: false
+ });
+ };
+
+ if (editing) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaPlaceholder"], {
+ icon: Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockIcon"], {
+ icon: video_icon
+ }),
+ className: className,
+ onSelect: onSelectVideo,
+ onSelectURL: this.onSelectURL,
+ accept: "video/*",
+ allowedTypes: video_edit_ALLOWED_MEDIA_TYPES,
+ value: this.props.attributes,
+ notices: noticeUI,
+ onError: this.onUploadError
+ });
+ }
+
+ var videoPosterDescription = "video-block__poster-image-description-".concat(instanceId);
+ 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_["Toolbar"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], {
+ className: "components-icon-button components-toolbar__control",
+ label: Object(external_this_wp_i18n_["__"])('Edit video'),
+ onClick: switchToEditing,
+ icon: "edit"
+ }))), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Video Settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Autoplay'),
+ onChange: this.toggleAttribute('autoplay'),
+ checked: autoplay,
+ help: this.getAutoplayHelp
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Loop'),
+ onChange: this.toggleAttribute('loop'),
+ checked: loop
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Muted'),
+ onChange: this.toggleAttribute('muted'),
+ checked: muted
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Playback Controls'),
+ onChange: this.toggleAttribute('controls'),
+ checked: controls
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Play inline'),
+ onChange: this.toggleAttribute('playsInline'),
+ checked: playsInline
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SelectControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Preload'),
+ value: preload,
+ onChange: function onChange(value) {
+ return setAttributes({
+ preload: value
+ });
+ },
+ options: [{
+ value: 'auto',
+ label: Object(external_this_wp_i18n_["__"])('Auto')
+ }, {
+ value: 'metadata',
+ label: Object(external_this_wp_i18n_["__"])('Metadata')
+ }, {
+ value: 'none',
+ label: Object(external_this_wp_i18n_["__"])('None')
+ }]
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaUploadCheck"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["BaseControl"], {
+ className: "editor-video-poster-control"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["BaseControl"].VisualLabel, null, Object(external_this_wp_i18n_["__"])('Poster Image')), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaUpload"], {
+ title: Object(external_this_wp_i18n_["__"])('Select Poster Image'),
+ onSelect: this.onSelectPoster,
+ allowedTypes: VIDEO_POSTER_ALLOWED_MEDIA_TYPES,
+ render: function render(_ref3) {
+ var open = _ref3.open;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
+ isDefault: true,
+ onClick: open,
+ ref: _this4.posterImageButton,
+ "aria-describedby": videoPosterDescription
+ }, !_this4.props.attributes.poster ? Object(external_this_wp_i18n_["__"])('Select Poster Image') : Object(external_this_wp_i18n_["__"])('Replace image'));
+ }
+ }), Object(external_this_wp_element_["createElement"])("p", {
+ id: videoPosterDescription,
+ hidden: true
+ }, this.props.attributes.poster ? Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('The current poster image url is %s'), this.props.attributes.poster) : Object(external_this_wp_i18n_["__"])('There is no poster image currently selected')), !!this.props.attributes.poster && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
+ onClick: this.onRemovePoster,
+ isLink: true,
+ isDestructive: true
+ }, Object(external_this_wp_i18n_["__"])('Remove Poster Image')))))), Object(external_this_wp_element_["createElement"])("figure", {
+ className: className
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Disabled"], null, Object(external_this_wp_element_["createElement"])("video", {
+ controls: controls,
+ poster: poster,
+ src: src,
+ ref: this.videoPlayer
+ })), (!external_this_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"], {
+ tagName: "figcaption",
+ placeholder: Object(external_this_wp_i18n_["__"])('Write caption…'),
+ value: caption,
+ onChange: function onChange(value) {
+ return setAttributes({
+ caption: value
+ });
+ },
+ inlineToolbar: true
+ })));
+ }
+ }]);
+
+ return VideoEdit;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var video_edit = (Object(external_this_wp_compose_["compose"])([Object(external_this_wp_data_["withSelect"])(function (select) {
+ var _select = select('core/block-editor'),
+ getSettings = _select.getSettings;
+
+ var _getSettings = getSettings(),
+ __experimentalMediaUpload = _getSettings.__experimentalMediaUpload;
+
+ return {
+ mediaUpload: __experimentalMediaUpload
+ };
+}), external_this_wp_components_["withNotices"], external_this_wp_compose_["withInstanceId"]])(edit_VideoEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/video/save.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+function video_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var autoplay = attributes.autoplay,
+ caption = attributes.caption,
+ controls = attributes.controls,
+ loop = attributes.loop,
+ muted = attributes.muted,
+ poster = attributes.poster,
+ preload = attributes.preload,
+ src = attributes.src,
+ playsInline = attributes.playsInline;
+ return Object(external_this_wp_element_["createElement"])("figure", null, src && Object(external_this_wp_element_["createElement"])("video", {
+ autoPlay: autoplay,
+ controls: controls,
+ loop: loop,
+ muted: muted,
+ poster: poster,
+ preload: preload !== 'metadata' ? preload : undefined,
+ src: src,
+ playsInline: playsInline
+ }), !external_this_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichText"].Content, {
+ tagName: "figcaption",
+ value: caption
+ }));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/video/tranforms.js
+/**
+ * WordPress dependencies
+ */
+
+
+var video_tranforms_transforms = {
+ from: [{
+ type: 'files',
+ isMatch: function isMatch(files) {
+ return files.length === 1 && files[0].type.indexOf('video/') === 0;
+ },
+ transform: function transform(files) {
+ var file = files[0]; // We don't need to upload the media directly here
+ // It's already done as part of the `componentDidMount`
+ // in the video block
+
+ var block = Object(external_this_wp_blocks_["createBlock"])('core/video', {
+ src: Object(external_this_wp_blob_["createBlobURL"])(file)
+ });
+ return block;
+ }
+ }, {
+ type: 'shortcode',
+ tag: 'video',
+ attributes: {
+ src: {
+ type: 'string',
+ shortcode: function shortcode(_ref) {
+ var _ref$named = _ref.named,
+ src = _ref$named.src,
+ mp4 = _ref$named.mp4,
+ m4v = _ref$named.m4v,
+ webm = _ref$named.webm,
+ ogv = _ref$named.ogv,
+ flv = _ref$named.flv;
+ return src || mp4 || m4v || webm || ogv || flv;
+ }
+ },
+ poster: {
+ type: 'string',
+ shortcode: function shortcode(_ref2) {
+ var poster = _ref2.named.poster;
+ return poster;
+ }
+ },
+ loop: {
+ type: 'string',
+ shortcode: function shortcode(_ref3) {
+ var loop = _ref3.named.loop;
+ return loop;
+ }
+ },
+ autoplay: {
+ type: 'string',
+ shortcode: function shortcode(_ref4) {
+ var autoplay = _ref4.named.autoplay;
+ return autoplay;
+ }
+ },
+ preload: {
+ type: 'string',
+ shortcode: function shortcode(_ref5) {
+ var preload = _ref5.named.preload;
+ return preload;
+ }
+ }
+ }
+ }]
+};
+/* harmony default export */ var video_tranforms = (video_tranforms_transforms);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/video/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var video_metadata = {
+ name: "core/video",
+ category: "common",
+ attributes: {
+ autoplay: {
+ type: "boolean",
+ source: "attribute",
+ selector: "video",
+ attribute: "autoplay"
+ },
+ caption: {
+ type: "string",
+ source: "html",
+ selector: "figcaption"
+ },
+ controls: {
+ type: "boolean",
+ source: "attribute",
+ selector: "video",
+ attribute: "controls",
+ "default": true
+ },
+ id: {
+ type: "number"
+ },
+ loop: {
+ type: "boolean",
+ source: "attribute",
+ selector: "video",
+ attribute: "loop"
+ },
+ muted: {
+ type: "boolean",
+ source: "attribute",
+ selector: "video",
+ attribute: "muted"
+ },
+ poster: {
+ type: "string",
+ source: "attribute",
+ selector: "video",
+ attribute: "poster"
+ },
+ preload: {
+ type: "string",
+ source: "attribute",
+ selector: "video",
+ attribute: "preload",
+ "default": "metadata"
+ },
+ src: {
+ type: "string",
+ source: "attribute",
+ selector: "video",
+ attribute: "src"
+ },
+ playsInline: {
+ type: "boolean",
+ source: "attribute",
+ selector: "video",
+ attribute: "playsinline"
+ }
+ }
+};
+
+
+var video_name = video_metadata.name;
+
+var video_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Video'),
+ description: Object(external_this_wp_i18n_["__"])('Embed a video from your media library or upload a new one.'),
+ icon: video_icon,
+ keywords: [Object(external_this_wp_i18n_["__"])('movie')],
+ transforms: video_tranforms,
+ supports: {
+ align: true
+ },
+ edit: video_edit,
+ save: video_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/tag-cloud/edit.js
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+
+var edit_TagCloudEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(TagCloudEdit, _Component);
+
+ function TagCloudEdit() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, TagCloudEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(TagCloudEdit).apply(this, arguments));
+ _this.state = {
+ editing: !_this.props.attributes.taxonomy
+ };
+ _this.setTaxonomy = _this.setTaxonomy.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.toggleShowTagCounts = _this.toggleShowTagCounts.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(TagCloudEdit, [{
+ key: "getTaxonomyOptions",
+ value: function getTaxonomyOptions() {
+ var taxonomies = Object(external_lodash_["filter"])(this.props.taxonomies, 'show_cloud');
+ var selectOption = {
+ label: Object(external_this_wp_i18n_["__"])('- Select -'),
+ value: '',
+ disabled: true
+ };
+ var taxonomyOptions = Object(external_lodash_["map"])(taxonomies, function (taxonomy) {
+ return {
+ value: taxonomy.slug,
+ label: taxonomy.name
+ };
+ });
+ return [selectOption].concat(Object(toConsumableArray["a" /* default */])(taxonomyOptions));
+ }
+ }, {
+ key: "setTaxonomy",
+ value: function setTaxonomy(taxonomy) {
+ var setAttributes = this.props.setAttributes;
+ setAttributes({
+ taxonomy: taxonomy
+ });
+ }
+ }, {
+ key: "toggleShowTagCounts",
+ value: function toggleShowTagCounts() {
+ var _this$props = this.props,
+ attributes = _this$props.attributes,
+ setAttributes = _this$props.setAttributes;
+ var showTagCounts = attributes.showTagCounts;
+ setAttributes({
+ showTagCounts: !showTagCounts
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var attributes = this.props.attributes;
+ var taxonomy = attributes.taxonomy,
+ showTagCounts = attributes.showTagCounts;
+ var taxonomyOptions = this.getTaxonomyOptions();
+ var inspectorControls = Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["InspectorControls"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["PanelBody"], {
+ title: Object(external_this_wp_i18n_["__"])('Tag Cloud Settings')
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SelectControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Taxonomy'),
+ options: taxonomyOptions,
+ value: taxonomy,
+ onChange: this.setTaxonomy
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Show post counts'),
+ checked: showTagCounts,
+ onChange: this.toggleShowTagCounts
+ })));
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, inspectorControls, Object(external_this_wp_element_["createElement"])(external_this_wp_serverSideRender_default.a, {
+ key: "tag-cloud",
+ block: "core/tag-cloud",
+ attributes: attributes
+ }));
+ }
+ }]);
+
+ return TagCloudEdit;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var tag_cloud_edit = (Object(external_this_wp_data_["withSelect"])(function (select) {
+ return {
+ taxonomies: select('core').getTaxonomies()
+ };
+})(edit_TagCloudEdit));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/tag-cloud/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+var tag_cloud_name = 'core/tag-cloud';
+var tag_cloud_settings = {
+ title: Object(external_this_wp_i18n_["__"])('Tag Cloud'),
+ description: Object(external_this_wp_i18n_["__"])('A cloud of your most used tags.'),
+ icon: 'tag',
+ category: 'widgets',
+ supports: {
+ html: false,
+ align: true
+ },
+ edit: tag_cloud_edit
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/classic/edit.js
+
+
+
+
+
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+var classic_edit_window = window,
+ wp = classic_edit_window.wp;
+
+function isTmceEmpty(editor) {
+ // When tinyMce is empty the content seems to be:
+ // <p><br data-mce-bogus="1"></p>
+ // avoid expensive checks for large documents
+ var body = editor.getBody();
+
+ if (body.childNodes.length > 1) {
+ return false;
+ } else if (body.childNodes.length === 0) {
+ return true;
+ }
+
+ if (body.childNodes[0].childNodes.length > 1) {
+ return false;
+ }
+
+ return /^\n?$/.test(body.innerText || body.textContent);
+}
+
+var edit_ClassicEdit =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(ClassicEdit, _Component);
+
+ function ClassicEdit(props) {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, ClassicEdit);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(ClassicEdit).call(this, props));
+ _this.initialize = _this.initialize.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onSetup = _this.onSetup.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.focus = _this.focus.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(ClassicEdit, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var _window$wpEditorL10n$ = window.wpEditorL10n.tinymce,
+ baseURL = _window$wpEditorL10n$.baseURL,
+ suffix = _window$wpEditorL10n$.suffix;
+ window.tinymce.EditorManager.overrideDefaults({
+ base_url: baseURL,
+ suffix: suffix
+ });
+
+ if (document.readyState === 'complete') {
+ this.initialize();
+ } else {
+ window.addEventListener('DOMContentLoaded', this.initialize);
+ }
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ window.addEventListener('DOMContentLoaded', this.initialize);
+ wp.oldEditor.remove("editor-".concat(this.props.clientId));
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var _this$props = this.props,
+ clientId = _this$props.clientId,
+ content = _this$props.attributes.content;
+ var editor = window.tinymce.get("editor-".concat(clientId));
+
+ if (prevProps.attributes.content !== content) {
+ editor.setContent(content || '');
+ }
+ }
+ }, {
+ key: "initialize",
+ value: function initialize() {
+ var clientId = this.props.clientId;
+ var settings = window.wpEditorL10n.tinymce.settings;
+ wp.oldEditor.initialize("editor-".concat(clientId), {
+ tinymce: Object(objectSpread["a" /* default */])({}, settings, {
+ inline: true,
+ content_css: false,
+ fixed_toolbar_container: "#toolbar-".concat(clientId),
+ setup: this.onSetup
+ })
+ });
+ }
+ }, {
+ key: "onSetup",
+ value: function onSetup(editor) {
+ var _this2 = this;
+
+ var _this$props2 = this.props,
+ content = _this$props2.attributes.content,
+ setAttributes = _this$props2.setAttributes;
+ var ref = this.ref;
+ var bookmark;
+ this.editor = editor;
+
+ if (content) {
+ editor.on('loadContent', function () {
+ return editor.setContent(content);
+ });
+ }
+
+ editor.on('blur', function () {
+ bookmark = editor.selection.getBookmark(2, true);
+ setAttributes({
+ content: editor.getContent()
+ });
+ editor.once('focus', function () {
+ if (bookmark) {
+ editor.selection.moveToBookmark(bookmark);
+ }
+ });
+ return false;
+ });
+ editor.on('mousedown touchstart', function () {
+ bookmark = null;
+ });
+ editor.on('keydown', function (event) {
+ if ((event.keyCode === external_this_wp_keycodes_["BACKSPACE"] || event.keyCode === external_this_wp_keycodes_["DELETE"]) && isTmceEmpty(editor)) {
+ // delete the block
+ _this2.props.onReplace([]);
+
+ event.preventDefault();
+ event.stopImmediatePropagation();
+ }
+
+ var altKey = event.altKey;
+ /*
+ * Prevent Mousetrap from kicking in: TinyMCE already uses its own
+ * `alt+f10` shortcut to focus its toolbar.
+ */
+
+ if (altKey && event.keyCode === external_this_wp_keycodes_["F10"]) {
+ event.stopPropagation();
+ }
+ }); // TODO: the following is for back-compat with WP 4.9, not needed in WP 5.0. Remove it after the release.
+
+ editor.addButton('kitchensink', {
+ tooltip: Object(external_this_wp_i18n_["_x"])('More', 'button to expand options'),
+ icon: 'dashicon dashicons-editor-kitchensink',
+ onClick: function onClick() {
+ var button = this;
+ var active = !button.active();
+ button.active(active);
+ editor.dom.toggleClass(ref, 'has-advanced-toolbar', active);
+ }
+ }); // Show the second, third, etc. toolbars when the `kitchensink` button is removed by a plugin.
+
+ editor.on('init', function () {
+ if (editor.settings.toolbar1 && editor.settings.toolbar1.indexOf('kitchensink') === -1) {
+ editor.dom.addClass(ref, 'has-advanced-toolbar');
+ }
+ });
+ editor.addButton('wp_add_media', {
+ tooltip: Object(external_this_wp_i18n_["__"])('Insert Media'),
+ icon: 'dashicon dashicons-admin-media',
+ cmd: 'WP_Medialib'
+ }); // End TODO.
+
+ editor.on('init', function () {
+ var rootNode = _this2.editor.getBody(); // Create the toolbar by refocussing the editor.
+
+
+ if (document.activeElement === rootNode) {
+ rootNode.blur();
+
+ _this2.editor.focus();
+ }
+ });
+ }
+ }, {
+ key: "focus",
+ value: function focus() {
+ if (this.editor) {
+ this.editor.focus();
+ }
+ }
+ }, {
+ key: "onToolbarKeyDown",
+ value: function onToolbarKeyDown(event) {
+ // Prevent WritingFlow from kicking in and allow arrows navigation on the toolbar.
+ event.stopPropagation(); // Prevent Mousetrap from moving focus to the top toolbar when pressing `alt+f10` on this block toolbar.
+
+ event.nativeEvent.stopImmediatePropagation();
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this3 = this;
+
+ var clientId = this.props.clientId; // Disable reasons:
+ //
+ // jsx-a11y/no-static-element-interactions
+ // - the toolbar itself is non-interactive, but must capture events
+ // from the KeyboardShortcuts component to stop their propagation.
+
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
+
+ return [Object(external_this_wp_element_["createElement"])("div", {
+ key: "toolbar",
+ id: "toolbar-".concat(clientId),
+ ref: function ref(_ref) {
+ return _this3.ref = _ref;
+ },
+ className: "block-library-classic__toolbar",
+ onClick: this.focus,
+ "data-placeholder": Object(external_this_wp_i18n_["__"])('Classic'),
+ onKeyDown: this.onToolbarKeyDown
+ }), Object(external_this_wp_element_["createElement"])("div", {
+ key: "editor",
+ id: "editor-".concat(clientId),
+ className: "wp-block-freeform block-library-rich-text__tinymce"
+ })];
+ /* eslint-enable jsx-a11y/no-static-element-interactions */
+ }
+ }]);
+
+ return ClassicEdit;
+}(external_this_wp_element_["Component"]);
+
+
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/classic/icon.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var classic_icon = (Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
+ viewBox: "0 0 24 24",
+ xmlns: "http://www.w3.org/2000/svg"
+}, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "M0,0h24v24H0V0z M0,0h24v24H0V0z",
+ fill: "none"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
+ d: "m20 7v10h-16v-10h16m0-2h-16c-1.1 0-1.99 0.9-1.99 2l-0.01 10c0 1.1 0.9 2 2 2h16c1.1 0 2-0.9 2-2v-10c0-1.1-0.9-2-2-2z"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "11",
+ y: "8",
+ width: "2",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "11",
+ y: "11",
+ width: "2",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "8",
+ y: "8",
+ width: "2",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "8",
+ y: "11",
+ width: "2",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "5",
+ y: "11",
+ width: "2",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "5",
+ y: "8",
+ width: "2",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "8",
+ y: "14",
+ width: "8",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "14",
+ y: "11",
+ width: "2",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "14",
+ y: "8",
+ width: "2",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "17",
+ y: "11",
+ width: "2",
+ height: "2"
+}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Rect"], {
+ x: "17",
+ y: "8",
+ width: "2",
+ height: "2"
+})));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/classic/save.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+function classic_save_save(_ref) {
+ var attributes = _ref.attributes;
+ var content = attributes.content;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["RawHTML"], null, content);
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/classic/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var classic_metadata = {
+ name: "core/freeform",
+ category: "formatting",
+ attributes: {
+ content: {
+ type: "string",
+ source: "html"
+ }
+ }
+};
+
+var classic_name = classic_metadata.name;
+
+var classic_settings = {
+ title: Object(external_this_wp_i18n_["_x"])('Classic', 'block title'),
+ description: Object(external_this_wp_i18n_["__"])('Use the classic WordPress editor.'),
+ icon: classic_icon,
+ supports: {
+ className: false,
+ customClassName: false,
+ // Hide 'Add to Reusable Blocks' on Classic blocks. Showing it causes a
+ // confusing UX, because of its similarity to the 'Convert to Blocks' button.
+ reusable: false
+ },
+ edit: edit_ClassicEdit,
+ save: classic_save_save
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/index.js
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "registerCoreBlocks", function() { return build_module_registerCoreBlocks; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__experimentalRegisterExperimentalCoreBlocks", function() { return __experimentalRegisterExperimentalCoreBlocks; });
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * Function to register an individual block.
+ *
+ * @param {Object} block The block to be registered.
+ *
+ */
+
+var build_module_registerBlock = function registerBlock(block) {
+ if (!block) {
+ return;
+ }
+
+ var metadata = block.metadata,
+ settings = block.settings,
+ name = block.name;
+
+ if (metadata) {
+ Object(external_this_wp_blocks_["unstable__bootstrapServerSideBlockDefinitions"])(Object(defineProperty["a" /* default */])({}, name, metadata));
+ }
+
+ Object(external_this_wp_blocks_["registerBlockType"])(name, settings);
+};
+/**
+ * Function to register core blocks provided by the block editor.
+ *
+ * @example
+ * ```js
+ * import { registerCoreBlocks } from '@wordpress/block-library';
+ *
+ * registerCoreBlocks();
+ * ```
+ */
+
+
+var build_module_registerCoreBlocks = function registerCoreBlocks() {
+ [// Common blocks are grouped at the top to prioritize their display
+ // in various contexts — like the inserter and auto-complete components.
+ paragraph_namespaceObject, image_namespaceObject, heading_namespaceObject, gallery_namespaceObject, list_namespaceObject, quote_namespaceObject, // Register all remaining core blocks.
+ shortcode_namespaceObject, archives_namespaceObject, audio_namespaceObject, button_namespaceObject, calendar_namespaceObject, categories_namespaceObject, code_namespaceObject, columns_namespaceObject, column_namespaceObject, cover_namespaceObject, embed_namespaceObject].concat(Object(toConsumableArray["a" /* default */])(embed_common), Object(toConsumableArray["a" /* default */])(embed_others), [file_namespaceObject, group_namespaceObject, window.wp && window.wp.oldEditor ? classic_namespaceObject : null, // Only add the classic block in WP Context
+ html_namespaceObject, media_text_namespaceObject, latest_comments_namespaceObject, latest_posts_namespaceObject, missing_namespaceObject, more_namespaceObject, nextpage_namespaceObject, preformatted_namespaceObject, pullquote_namespaceObject, rss_namespaceObject, search_namespaceObject, separator_namespaceObject, block_namespaceObject, spacer_namespaceObject, subhead_namespaceObject, table_namespaceObject, tag_cloud_namespaceObject, text_columns_namespaceObject, verse_namespaceObject, video_namespaceObject]).forEach(build_module_registerBlock);
+ Object(external_this_wp_blocks_["setDefaultBlockName"])(paragraph_name);
+
+ if (window.wp && window.wp.oldEditor) {
+ Object(external_this_wp_blocks_["setFreeformContentHandlerName"])(classic_name);
+ }
+
+ Object(external_this_wp_blocks_["setUnregisteredTypeHandlerName"])(missing_name);
+
+ if (group_namespaceObject) {
+ Object(external_this_wp_blocks_["setGroupingBlockName"])(group_name);
+ }
+};
+/**
+ * Function to register experimental core blocks depending on editor settings.
+ *
+ * @param {Object} settings Editor settings.
+ *
+ * @example
+ * ```js
+ * import { __experimentalRegisterExperimentalCoreBlocks } from '@wordpress/block-library';
+ *
+ * __experimentalRegisterExperimentalCoreBlocks( settings );
+ * ```
+ */
+
+var __experimentalRegisterExperimentalCoreBlocks = false ? undefined : undefined;
+
+
+/***/ }),
+
+/***/ 35:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["blob"]; }());
+
+/***/ }),
+
+/***/ 37:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["deprecated"]; }());
+
+/***/ }),
+
+/***/ 38:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _arrayWithHoles; });
+function _arrayWithHoles(arr) {
+ if (Array.isArray(arr)) return arr;
+}
+
+/***/ }),
+
+/***/ 39:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _nonIterableRest; });
+function _nonIterableRest() {
+ throw new TypeError("Invalid attempt to destructure non-iterable instance");
+}
+
+/***/ }),
+
+/***/ 4:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["data"]; }());
+
+/***/ }),
+
+/***/ 42:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["viewport"]; }());
+
+/***/ }),
+
+/***/ 44:
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = function memize( fn, options ) {
+ var size = 0,
+ maxSize, head, tail;
+
+ if ( options && options.maxSize ) {
+ maxSize = options.maxSize;
+ }
+
+ function memoized( /* ...args */ ) {
+ var node = head,
+ len = arguments.length,
+ args, i;
+
+ searchCache: while ( node ) {
+ // Perform a shallow equality test to confirm that whether the node
+ // under test is a candidate for the arguments passed. Two arrays
+ // are shallowly equal if their length matches and each entry is
+ // strictly equal between the two sets. Avoid abstracting to a
+ // function which could incur an arguments leaking deoptimization.
+
+ // Check whether node arguments match arguments length
+ if ( node.args.length !== arguments.length ) {
+ node = node.next;
+ continue;
+ }
+
+ // Check whether node arguments match arguments values
+ for ( i = 0; i < len; i++ ) {
+ if ( node.args[ i ] !== arguments[ i ] ) {
+ node = node.next;
+ continue searchCache;
+ }
+ }
+
+ // At this point we can assume we've found a match
+
+ // Surface matched node to head if not already
+ if ( node !== head ) {
+ // As tail, shift to previous. Must only shift if not also
+ // head, since if both head and tail, there is no previous.
+ if ( node === tail ) {
+ tail = node.prev;
+ }
+
+ // Adjust siblings to point to each other. If node was tail,
+ // this also handles new tail's empty `next` assignment.
+ node.prev.next = node.next;
+ if ( node.next ) {
+ node.next.prev = node.prev;
+ }
+
+ node.next = head;
+ node.prev = null;
+ head.prev = node;
+ head = node;
+ }
+
+ // Return immediately
+ return node.val;
+ }
+
+ // No cached value found. Continue to insertion phase:
+
+ // Create a copy of arguments (avoid leaking deoptimization)
+ args = new Array( len );
+ for ( i = 0; i < len; i++ ) {
+ args[ i ] = arguments[ i ];
+ }
+
+ node = {
+ args: args,
+
+ // Generate the result from original function
+ val: fn.apply( null, args )
+ };
+
+ // Don't need to check whether node is already head, since it would
+ // have been returned above already if it was
+
+ // Shift existing head down list
+ if ( head ) {
+ head.prev = node;
+ node.next = head;
+ } else {
+ // If no head, follows that there's no tail (at initial or reset)
+ tail = node;
+ }
+
+ // Trim tail if we're reached max size and are pending cache insertion
+ if ( size === maxSize ) {
+ tail = tail.prev;
+ tail.next = null;
+ } else {
+ size++;
+ }
+
+ head = node;
+
+ return node.val;
+ }
+
+ memoized.clear = function() {
+ head = null;
+ tail = null;
+ size = 0;
+ };
+
+ if ( false ) {}
+
+ return memoized;
+};
+
+
+/***/ }),
+
+/***/ 45:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["a11y"]; }());
+
+/***/ }),
+
+/***/ 48:
+/***/ (function(module, exports, __webpack_require__) {
+
+var __WEBPACK_AMD_DEFINE_RESULT__;// TinyColor v1.4.1
+// https://github.com/bgrins/TinyColor
+// Brian Grinstead, MIT License
+
+(function(Math) {
+
+var trimLeft = /^\s+/,
+ trimRight = /\s+$/,
+ tinyCounter = 0,
+ mathRound = Math.round,
+ mathMin = Math.min,
+ mathMax = Math.max,
+ mathRandom = Math.random;
+
+function tinycolor (color, opts) {
+
+ color = (color) ? color : '';
+ opts = opts || { };
+
+ // If input is already a tinycolor, return itself
+ if (color instanceof tinycolor) {
+ return color;
+ }
+ // If we are called as a function, call using new instead
+ if (!(this instanceof tinycolor)) {
+ return new tinycolor(color, opts);
+ }
+
+ var rgb = inputToRGB(color);
+ this._originalInput = color,
+ this._r = rgb.r,
+ this._g = rgb.g,
+ this._b = rgb.b,
+ this._a = rgb.a,
+ this._roundA = mathRound(100*this._a) / 100,
+ this._format = opts.format || rgb.format;
+ this._gradientType = opts.gradientType;
+
+ // Don't let the range of [0,255] come back in [0,1].
+ // Potentially lose a little bit of precision here, but will fix issues where
+ // .5 gets interpreted as half of the total, instead of half of 1
+ // If it was supposed to be 128, this was already taken care of by `inputToRgb`
+ if (this._r < 1) { this._r = mathRound(this._r); }
+ if (this._g < 1) { this._g = mathRound(this._g); }
+ if (this._b < 1) { this._b = mathRound(this._b); }
+
+ this._ok = rgb.ok;
+ this._tc_id = tinyCounter++;
+}
+
+tinycolor.prototype = {
+ isDark: function() {
+ return this.getBrightness() < 128;
+ },
+ isLight: function() {
+ return !this.isDark();
+ },
+ isValid: function() {
+ return this._ok;
+ },
+ getOriginalInput: function() {
+ return this._originalInput;
+ },
+ getFormat: function() {
+ return this._format;
+ },
+ getAlpha: function() {
+ return this._a;
+ },
+ getBrightness: function() {
+ //http://www.w3.org/TR/AERT#color-contrast
+ var rgb = this.toRgb();
+ return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;
+ },
+ getLuminance: function() {
+ //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef
+ var rgb = this.toRgb();
+ var RsRGB, GsRGB, BsRGB, R, G, B;
+ RsRGB = rgb.r/255;
+ GsRGB = rgb.g/255;
+ BsRGB = rgb.b/255;
+
+ if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}
+ if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}
+ if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}
+ return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);
+ },
+ setAlpha: function(value) {
+ this._a = boundAlpha(value);
+ this._roundA = mathRound(100*this._a) / 100;
+ return this;
+ },
+ toHsv: function() {
+ var hsv = rgbToHsv(this._r, this._g, this._b);
+ return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };
+ },
+ toHsvString: function() {
+ var hsv = rgbToHsv(this._r, this._g, this._b);
+ var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);
+ return (this._a == 1) ?
+ "hsv(" + h + ", " + s + "%, " + v + "%)" :
+ "hsva(" + h + ", " + s + "%, " + v + "%, "+ this._roundA + ")";
+ },
+ toHsl: function() {
+ var hsl = rgbToHsl(this._r, this._g, this._b);
+ return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };
+ },
+ toHslString: function() {
+ var hsl = rgbToHsl(this._r, this._g, this._b);
+ var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);
+ return (this._a == 1) ?
+ "hsl(" + h + ", " + s + "%, " + l + "%)" :
+ "hsla(" + h + ", " + s + "%, " + l + "%, "+ this._roundA + ")";
+ },
+ toHex: function(allow3Char) {
+ return rgbToHex(this._r, this._g, this._b, allow3Char);
+ },
+ toHexString: function(allow3Char) {
+ return '#' + this.toHex(allow3Char);
+ },
+ toHex8: function(allow4Char) {
+ return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);
+ },
+ toHex8String: function(allow4Char) {
+ return '#' + this.toHex8(allow4Char);
+ },
+ toRgb: function() {
+ return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };
+ },
+ toRgbString: function() {
+ return (this._a == 1) ?
+ "rgb(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" :
+ "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")";
+ },
+ toPercentageRgb: function() {
+ return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a };
+ },
+ toPercentageRgbString: function() {
+ return (this._a == 1) ?
+ "rgb(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" :
+ "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")";
+ },
+ toName: function() {
+ if (this._a === 0) {
+ return "transparent";
+ }
+
+ if (this._a < 1) {
+ return false;
+ }
+
+ return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;
+ },
+ toFilter: function(secondColor) {
+ var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);
+ var secondHex8String = hex8String;
+ var gradientType = this._gradientType ? "GradientType = 1, " : "";
+
+ if (secondColor) {
+ var s = tinycolor(secondColor);
+ secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);
+ }
+
+ return "progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")";
+ },
+ toString: function(format) {
+ var formatSet = !!format;
+ format = format || this._format;
+
+ var formattedString = false;
+ var hasAlpha = this._a < 1 && this._a >= 0;
+ var needsAlphaFormat = !formatSet && hasAlpha && (format === "hex" || format === "hex6" || format === "hex3" || format === "hex4" || format === "hex8" || format === "name");
+
+ if (needsAlphaFormat) {
+ // Special case for "transparent", all other non-alpha formats
+ // will return rgba when there is transparency.
+ if (format === "name" && this._a === 0) {
+ return this.toName();
+ }
+ return this.toRgbString();
+ }
+ if (format === "rgb") {
+ formattedString = this.toRgbString();
+ }
+ if (format === "prgb") {
+ formattedString = this.toPercentageRgbString();
+ }
+ if (format === "hex" || format === "hex6") {
+ formattedString = this.toHexString();
+ }
+ if (format === "hex3") {
+ formattedString = this.toHexString(true);
+ }
+ if (format === "hex4") {
+ formattedString = this.toHex8String(true);
+ }
+ if (format === "hex8") {
+ formattedString = this.toHex8String();
+ }
+ if (format === "name") {
+ formattedString = this.toName();
+ }
+ if (format === "hsl") {
+ formattedString = this.toHslString();
+ }
+ if (format === "hsv") {
+ formattedString = this.toHsvString();
+ }
+
+ return formattedString || this.toHexString();
+ },
+ clone: function() {
+ return tinycolor(this.toString());
+ },
+
+ _applyModification: function(fn, args) {
+ var color = fn.apply(null, [this].concat([].slice.call(args)));
+ this._r = color._r;
+ this._g = color._g;
+ this._b = color._b;
+ this.setAlpha(color._a);
+ return this;
+ },
+ lighten: function() {
+ return this._applyModification(lighten, arguments);
+ },
+ brighten: function() {
+ return this._applyModification(brighten, arguments);
+ },
+ darken: function() {
+ return this._applyModification(darken, arguments);
+ },
+ desaturate: function() {
+ return this._applyModification(desaturate, arguments);
+ },
+ saturate: function() {
+ return this._applyModification(saturate, arguments);
+ },
+ greyscale: function() {
+ return this._applyModification(greyscale, arguments);
+ },
+ spin: function() {
+ return this._applyModification(spin, arguments);
+ },
+
+ _applyCombination: function(fn, args) {
+ return fn.apply(null, [this].concat([].slice.call(args)));
+ },
+ analogous: function() {
+ return this._applyCombination(analogous, arguments);
+ },
+ complement: function() {
+ return this._applyCombination(complement, arguments);
+ },
+ monochromatic: function() {
+ return this._applyCombination(monochromatic, arguments);
+ },
+ splitcomplement: function() {
+ return this._applyCombination(splitcomplement, arguments);
+ },
+ triad: function() {
+ return this._applyCombination(triad, arguments);
+ },
+ tetrad: function() {
+ return this._applyCombination(tetrad, arguments);
+ }
+};
+
+// If input is an object, force 1 into "1.0" to handle ratios properly
+// String input requires "1.0" as input, so 1 will be treated as 1
+tinycolor.fromRatio = function(color, opts) {
+ if (typeof color == "object") {
+ var newColor = {};
+ for (var i in color) {
+ if (color.hasOwnProperty(i)) {
+ if (i === "a") {
+ newColor[i] = color[i];
+ }
+ else {
+ newColor[i] = convertToPercentage(color[i]);
+ }
+ }
+ }
+ color = newColor;
+ }
+
+ return tinycolor(color, opts);
+};
+
+// Given a string or object, convert that input to RGB
+// Possible string inputs:
+//
+// "red"
+// "#f00" or "f00"
+// "#ff0000" or "ff0000"
+// "#ff000000" or "ff000000"
+// "rgb 255 0 0" or "rgb (255, 0, 0)"
+// "rgb 1.0 0 0" or "rgb (1, 0, 0)"
+// "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1"
+// "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1"
+// "hsl(0, 100%, 50%)" or "hsl 0 100% 50%"
+// "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1"
+// "hsv(0, 100%, 100%)" or "hsv 0 100% 100%"
+//
+function inputToRGB(color) {
+
+ var rgb = { r: 0, g: 0, b: 0 };
+ var a = 1;
+ var s = null;
+ var v = null;
+ var l = null;
+ var ok = false;
+ var format = false;
+
+ if (typeof color == "string") {
+ color = stringInputToObject(color);
+ }
+
+ if (typeof color == "object") {
+ if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {
+ rgb = rgbToRgb(color.r, color.g, color.b);
+ ok = true;
+ format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb";
+ }
+ else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {
+ s = convertToPercentage(color.s);
+ v = convertToPercentage(color.v);
+ rgb = hsvToRgb(color.h, s, v);
+ ok = true;
+ format = "hsv";
+ }
+ else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {
+ s = convertToPercentage(color.s);
+ l = convertToPercentage(color.l);
+ rgb = hslToRgb(color.h, s, l);
+ ok = true;
+ format = "hsl";
+ }
+
+ if (color.hasOwnProperty("a")) {
+ a = color.a;
+ }
+ }
+
+ a = boundAlpha(a);
+
+ return {
+ ok: ok,
+ format: color.format || format,
+ r: mathMin(255, mathMax(rgb.r, 0)),
+ g: mathMin(255, mathMax(rgb.g, 0)),
+ b: mathMin(255, mathMax(rgb.b, 0)),
+ a: a
+ };
+}
+
+
+// Conversion Functions
+// --------------------
+
+// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:
+// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>
+
+// `rgbToRgb`
+// Handle bounds / percentage checking to conform to CSS color spec
+// <http://www.w3.org/TR/css3-color/>
+// *Assumes:* r, g, b in [0, 255] or [0, 1]
+// *Returns:* { r, g, b } in [0, 255]
+function rgbToRgb(r, g, b){
+ return {
+ r: bound01(r, 255) * 255,
+ g: bound01(g, 255) * 255,
+ b: bound01(b, 255) * 255
+ };
+}
+
+// `rgbToHsl`
+// Converts an RGB color value to HSL.
+// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]
+// *Returns:* { h, s, l } in [0,1]
+function rgbToHsl(r, g, b) {
+
+ r = bound01(r, 255);
+ g = bound01(g, 255);
+ b = bound01(b, 255);
+
+ var max = mathMax(r, g, b), min = mathMin(r, g, b);
+ var h, s, l = (max + min) / 2;
+
+ if(max == min) {
+ h = s = 0; // achromatic
+ }
+ else {
+ var d = max - min;
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
+ switch(max) {
+ case r: h = (g - b) / d + (g < b ? 6 : 0); break;
+ case g: h = (b - r) / d + 2; break;
+ case b: h = (r - g) / d + 4; break;
+ }
+
+ h /= 6;
+ }
+
+ return { h: h, s: s, l: l };
+}
+
+// `hslToRgb`
+// Converts an HSL color value to RGB.
+// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]
+// *Returns:* { r, g, b } in the set [0, 255]
+function hslToRgb(h, s, l) {
+ var r, g, b;
+
+ h = bound01(h, 360);
+ s = bound01(s, 100);
+ l = bound01(l, 100);
+
+ function hue2rgb(p, q, t) {
+ if(t < 0) t += 1;
+ if(t > 1) t -= 1;
+ if(t < 1/6) return p + (q - p) * 6 * t;
+ if(t < 1/2) return q;
+ if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;
+ return p;
+ }
+
+ if(s === 0) {
+ r = g = b = l; // achromatic
+ }
+ else {
+ var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
+ var p = 2 * l - q;
+ r = hue2rgb(p, q, h + 1/3);
+ g = hue2rgb(p, q, h);
+ b = hue2rgb(p, q, h - 1/3);
+ }
+
+ return { r: r * 255, g: g * 255, b: b * 255 };
+}
+
+// `rgbToHsv`
+// Converts an RGB color value to HSV
+// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]
+// *Returns:* { h, s, v } in [0,1]
+function rgbToHsv(r, g, b) {
+
+ r = bound01(r, 255);
+ g = bound01(g, 255);
+ b = bound01(b, 255);
+
+ var max = mathMax(r, g, b), min = mathMin(r, g, b);
+ var h, s, v = max;
+
+ var d = max - min;
+ s = max === 0 ? 0 : d / max;
+
+ if(max == min) {
+ h = 0; // achromatic
+ }
+ else {
+ switch(max) {
+ case r: h = (g - b) / d + (g < b ? 6 : 0); break;
+ case g: h = (b - r) / d + 2; break;
+ case b: h = (r - g) / d + 4; break;
+ }
+ h /= 6;
+ }
+ return { h: h, s: s, v: v };
+}
+
+// `hsvToRgb`
+// Converts an HSV color value to RGB.
+// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]
+// *Returns:* { r, g, b } in the set [0, 255]
+ function hsvToRgb(h, s, v) {
+
+ h = bound01(h, 360) * 6;
+ s = bound01(s, 100);
+ v = bound01(v, 100);
+
+ var i = Math.floor(h),
+ f = h - i,
+ p = v * (1 - s),
+ q = v * (1 - f * s),
+ t = v * (1 - (1 - f) * s),
+ mod = i % 6,
+ r = [v, q, p, p, t, v][mod],
+ g = [t, v, v, q, p, p][mod],
+ b = [p, p, t, v, v, q][mod];
+
+ return { r: r * 255, g: g * 255, b: b * 255 };
+}
+
+// `rgbToHex`
+// Converts an RGB color to hex
+// Assumes r, g, and b are contained in the set [0, 255]
+// Returns a 3 or 6 character hex
+function rgbToHex(r, g, b, allow3Char) {
+
+ var hex = [
+ pad2(mathRound(r).toString(16)),
+ pad2(mathRound(g).toString(16)),
+ pad2(mathRound(b).toString(16))
+ ];
+
+ // Return a 3 character hex if possible
+ if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {
+ return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);
+ }
+
+ return hex.join("");
+}
+
+// `rgbaToHex`
+// Converts an RGBA color plus alpha transparency to hex
+// Assumes r, g, b are contained in the set [0, 255] and
+// a in [0, 1]. Returns a 4 or 8 character rgba hex
+function rgbaToHex(r, g, b, a, allow4Char) {
+
+ var hex = [
+ pad2(mathRound(r).toString(16)),
+ pad2(mathRound(g).toString(16)),
+ pad2(mathRound(b).toString(16)),
+ pad2(convertDecimalToHex(a))
+ ];
+
+ // Return a 4 character hex if possible
+ if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {
+ return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);
+ }
+
+ return hex.join("");
+}
+
+// `rgbaToArgbHex`
+// Converts an RGBA color to an ARGB Hex8 string
+// Rarely used, but required for "toFilter()"
+function rgbaToArgbHex(r, g, b, a) {
+
+ var hex = [
+ pad2(convertDecimalToHex(a)),
+ pad2(mathRound(r).toString(16)),
+ pad2(mathRound(g).toString(16)),
+ pad2(mathRound(b).toString(16))
+ ];
+
+ return hex.join("");
+}
+
+// `equals`
+// Can be called with any tinycolor input
+tinycolor.equals = function (color1, color2) {
+ if (!color1 || !color2) { return false; }
+ return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();
+};
+
+tinycolor.random = function() {
+ return tinycolor.fromRatio({
+ r: mathRandom(),
+ g: mathRandom(),
+ b: mathRandom()
+ });
+};
+
+
+// Modification Functions
+// ----------------------
+// Thanks to less.js for some of the basics here
+// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>
+
+function desaturate(color, amount) {
+ amount = (amount === 0) ? 0 : (amount || 10);
+ var hsl = tinycolor(color).toHsl();
+ hsl.s -= amount / 100;
+ hsl.s = clamp01(hsl.s);
+ return tinycolor(hsl);
+}
+
+function saturate(color, amount) {
+ amount = (amount === 0) ? 0 : (amount || 10);
+ var hsl = tinycolor(color).toHsl();
+ hsl.s += amount / 100;
+ hsl.s = clamp01(hsl.s);
+ return tinycolor(hsl);
+}
+
+function greyscale(color) {
+ return tinycolor(color).desaturate(100);
+}
+
+function lighten (color, amount) {
+ amount = (amount === 0) ? 0 : (amount || 10);
+ var hsl = tinycolor(color).toHsl();
+ hsl.l += amount / 100;
+ hsl.l = clamp01(hsl.l);
+ return tinycolor(hsl);
+}
+
+function brighten(color, amount) {
+ amount = (amount === 0) ? 0 : (amount || 10);
+ var rgb = tinycolor(color).toRgb();
+ rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));
+ rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));
+ rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));
+ return tinycolor(rgb);
+}
+
+function darken (color, amount) {
+ amount = (amount === 0) ? 0 : (amount || 10);
+ var hsl = tinycolor(color).toHsl();
+ hsl.l -= amount / 100;
+ hsl.l = clamp01(hsl.l);
+ return tinycolor(hsl);
+}
+
+// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.
+// Values outside of this range will be wrapped into this range.
+function spin(color, amount) {
+ var hsl = tinycolor(color).toHsl();
+ var hue = (hsl.h + amount) % 360;
+ hsl.h = hue < 0 ? 360 + hue : hue;
+ return tinycolor(hsl);
+}
+
+// Combination Functions
+// ---------------------
+// Thanks to jQuery xColor for some of the ideas behind these
+// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>
+
+function complement(color) {
+ var hsl = tinycolor(color).toHsl();
+ hsl.h = (hsl.h + 180) % 360;
+ return tinycolor(hsl);
+}
+
+function triad(color) {
+ var hsl = tinycolor(color).toHsl();
+ var h = hsl.h;
+ return [
+ tinycolor(color),
+ tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),
+ tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })
+ ];
+}
+
+function tetrad(color) {
+ var hsl = tinycolor(color).toHsl();
+ var h = hsl.h;
+ return [
+ tinycolor(color),
+ tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),
+ tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),
+ tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })
+ ];
+}
+
+function splitcomplement(color) {
+ var hsl = tinycolor(color).toHsl();
+ var h = hsl.h;
+ return [
+ tinycolor(color),
+ tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),
+ tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})
+ ];
+}
+
+function analogous(color, results, slices) {
+ results = results || 6;
+ slices = slices || 30;
+
+ var hsl = tinycolor(color).toHsl();
+ var part = 360 / slices;
+ var ret = [tinycolor(color)];
+
+ for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {
+ hsl.h = (hsl.h + part) % 360;
+ ret.push(tinycolor(hsl));
+ }
+ return ret;
+}
+
+function monochromatic(color, results) {
+ results = results || 6;
+ var hsv = tinycolor(color).toHsv();
+ var h = hsv.h, s = hsv.s, v = hsv.v;
+ var ret = [];
+ var modification = 1 / results;
+
+ while (results--) {
+ ret.push(tinycolor({ h: h, s: s, v: v}));
+ v = (v + modification) % 1;
+ }
+
+ return ret;
+}
+
+// Utility Functions
+// ---------------------
+
+tinycolor.mix = function(color1, color2, amount) {
+ amount = (amount === 0) ? 0 : (amount || 50);
+
+ var rgb1 = tinycolor(color1).toRgb();
+ var rgb2 = tinycolor(color2).toRgb();
+
+ var p = amount / 100;
+
+ var rgba = {
+ r: ((rgb2.r - rgb1.r) * p) + rgb1.r,
+ g: ((rgb2.g - rgb1.g) * p) + rgb1.g,
+ b: ((rgb2.b - rgb1.b) * p) + rgb1.b,
+ a: ((rgb2.a - rgb1.a) * p) + rgb1.a
+ };
+
+ return tinycolor(rgba);
+};
+
+
+// Readability Functions
+// ---------------------
+// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)
+
+// `contrast`
+// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)
+tinycolor.readability = function(color1, color2) {
+ var c1 = tinycolor(color1);
+ var c2 = tinycolor(color2);
+ return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);
+};
+
+// `isReadable`
+// Ensure that foreground and background color combinations meet WCAG2 guidelines.
+// The third argument is an optional Object.
+// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';
+// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.
+// If the entire object is absent, isReadable defaults to {level:"AA",size:"small"}.
+
+// *Example*
+// tinycolor.isReadable("#000", "#111") => false
+// tinycolor.isReadable("#000", "#111",{level:"AA",size:"large"}) => false
+tinycolor.isReadable = function(color1, color2, wcag2) {
+ var readability = tinycolor.readability(color1, color2);
+ var wcag2Parms, out;
+
+ out = false;
+
+ wcag2Parms = validateWCAG2Parms(wcag2);
+ switch (wcag2Parms.level + wcag2Parms.size) {
+ case "AAsmall":
+ case "AAAlarge":
+ out = readability >= 4.5;
+ break;
+ case "AAlarge":
+ out = readability >= 3;
+ break;
+ case "AAAsmall":
+ out = readability >= 7;
+ break;
+ }
+ return out;
+
+};
+
+// `mostReadable`
+// Given a base color and a list of possible foreground or background
+// colors for that base, returns the most readable color.
+// Optionally returns Black or White if the most readable color is unreadable.
+// *Example*
+// tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:false}).toHexString(); // "#112255"
+// tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:true}).toHexString(); // "#ffffff"
+// tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"large"}).toHexString(); // "#faf3f3"
+// tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"small"}).toHexString(); // "#ffffff"
+tinycolor.mostReadable = function(baseColor, colorList, args) {
+ var bestColor = null;
+ var bestScore = 0;
+ var readability;
+ var includeFallbackColors, level, size ;
+ args = args || {};
+ includeFallbackColors = args.includeFallbackColors ;
+ level = args.level;
+ size = args.size;
+
+ for (var i= 0; i < colorList.length ; i++) {
+ readability = tinycolor.readability(baseColor, colorList[i]);
+ if (readability > bestScore) {
+ bestScore = readability;
+ bestColor = tinycolor(colorList[i]);
+ }
+ }
+
+ if (tinycolor.isReadable(baseColor, bestColor, {"level":level,"size":size}) || !includeFallbackColors) {
+ return bestColor;
+ }
+ else {
+ args.includeFallbackColors=false;
+ return tinycolor.mostReadable(baseColor,["#fff", "#000"],args);
+ }
+};
+
+
+// Big List of Colors
+// ------------------
+// <http://www.w3.org/TR/css3-color/#svg-color>
+var names = tinycolor.names = {
+ aliceblue: "f0f8ff",
+ antiquewhite: "faebd7",
+ aqua: "0ff",
+ aquamarine: "7fffd4",
+ azure: "f0ffff",
+ beige: "f5f5dc",
+ bisque: "ffe4c4",
+ black: "000",
+ blanchedalmond: "ffebcd",
+ blue: "00f",
+ blueviolet: "8a2be2",
+ brown: "a52a2a",
+ burlywood: "deb887",
+ burntsienna: "ea7e5d",
+ cadetblue: "5f9ea0",
+ chartreuse: "7fff00",
+ chocolate: "d2691e",
+ coral: "ff7f50",
+ cornflowerblue: "6495ed",
+ cornsilk: "fff8dc",
+ crimson: "dc143c",
+ cyan: "0ff",
+ darkblue: "00008b",
+ darkcyan: "008b8b",
+ darkgoldenrod: "b8860b",
+ darkgray: "a9a9a9",
+ darkgreen: "006400",
+ darkgrey: "a9a9a9",
+ darkkhaki: "bdb76b",
+ darkmagenta: "8b008b",
+ darkolivegreen: "556b2f",
+ darkorange: "ff8c00",
+ darkorchid: "9932cc",
+ darkred: "8b0000",
+ darksalmon: "e9967a",
+ darkseagreen: "8fbc8f",
+ darkslateblue: "483d8b",
+ darkslategray: "2f4f4f",
+ darkslategrey: "2f4f4f",
+ darkturquoise: "00ced1",
+ darkviolet: "9400d3",
+ deeppink: "ff1493",
+ deepskyblue: "00bfff",
+ dimgray: "696969",
+ dimgrey: "696969",
+ dodgerblue: "1e90ff",
+ firebrick: "b22222",
+ floralwhite: "fffaf0",
+ forestgreen: "228b22",
+ fuchsia: "f0f",
+ gainsboro: "dcdcdc",
+ ghostwhite: "f8f8ff",
+ gold: "ffd700",
+ goldenrod: "daa520",
+ gray: "808080",
+ green: "008000",
+ greenyellow: "adff2f",
+ grey: "808080",
+ honeydew: "f0fff0",
+ hotpink: "ff69b4",
+ indianred: "cd5c5c",
+ indigo: "4b0082",
+ ivory: "fffff0",
+ khaki: "f0e68c",
+ lavender: "e6e6fa",
+ lavenderblush: "fff0f5",
+ lawngreen: "7cfc00",
+ lemonchiffon: "fffacd",
+ lightblue: "add8e6",
+ lightcoral: "f08080",
+ lightcyan: "e0ffff",
+ lightgoldenrodyellow: "fafad2",
+ lightgray: "d3d3d3",
+ lightgreen: "90ee90",
+ lightgrey: "d3d3d3",
+ lightpink: "ffb6c1",
+ lightsalmon: "ffa07a",
+ lightseagreen: "20b2aa",
+ lightskyblue: "87cefa",
+ lightslategray: "789",
+ lightslategrey: "789",
+ lightsteelblue: "b0c4de",
+ lightyellow: "ffffe0",
+ lime: "0f0",
+ limegreen: "32cd32",
+ linen: "faf0e6",
+ magenta: "f0f",
+ maroon: "800000",
+ mediumaquamarine: "66cdaa",
+ mediumblue: "0000cd",
+ mediumorchid: "ba55d3",
+ mediumpurple: "9370db",
+ mediumseagreen: "3cb371",
+ mediumslateblue: "7b68ee",
+ mediumspringgreen: "00fa9a",
+ mediumturquoise: "48d1cc",
+ mediumvioletred: "c71585",
+ midnightblue: "191970",
+ mintcream: "f5fffa",
+ mistyrose: "ffe4e1",
+ moccasin: "ffe4b5",
+ navajowhite: "ffdead",
+ navy: "000080",
+ oldlace: "fdf5e6",
+ olive: "808000",
+ olivedrab: "6b8e23",
+ orange: "ffa500",
+ orangered: "ff4500",
+ orchid: "da70d6",
+ palegoldenrod: "eee8aa",
+ palegreen: "98fb98",
+ paleturquoise: "afeeee",
+ palevioletred: "db7093",
+ papayawhip: "ffefd5",
+ peachpuff: "ffdab9",
+ peru: "cd853f",
+ pink: "ffc0cb",
+ plum: "dda0dd",
+ powderblue: "b0e0e6",
+ purple: "800080",
+ rebeccapurple: "663399",
+ red: "f00",
+ rosybrown: "bc8f8f",
+ royalblue: "4169e1",
+ saddlebrown: "8b4513",
+ salmon: "fa8072",
+ sandybrown: "f4a460",
+ seagreen: "2e8b57",
+ seashell: "fff5ee",
+ sienna: "a0522d",
+ silver: "c0c0c0",
+ skyblue: "87ceeb",
+ slateblue: "6a5acd",
+ slategray: "708090",
+ slategrey: "708090",
+ snow: "fffafa",
+ springgreen: "00ff7f",
+ steelblue: "4682b4",
+ tan: "d2b48c",
+ teal: "008080",
+ thistle: "d8bfd8",
+ tomato: "ff6347",
+ turquoise: "40e0d0",
+ violet: "ee82ee",
+ wheat: "f5deb3",
+ white: "fff",
+ whitesmoke: "f5f5f5",
+ yellow: "ff0",
+ yellowgreen: "9acd32"
+};
+
+// Make it easy to access colors via `hexNames[hex]`
+var hexNames = tinycolor.hexNames = flip(names);
+
+
+// Utilities
+// ---------
+
+// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`
+function flip(o) {
+ var flipped = { };
+ for (var i in o) {
+ if (o.hasOwnProperty(i)) {
+ flipped[o[i]] = i;
+ }
+ }
+ return flipped;
+}
+
+// Return a valid alpha value [0,1] with all invalid values being set to 1
+function boundAlpha(a) {
+ a = parseFloat(a);
+
+ if (isNaN(a) || a < 0 || a > 1) {
+ a = 1;
+ }
+
+ return a;
+}
+
+// Take input from [0, n] and return it as [0, 1]
+function bound01(n, max) {
+ if (isOnePointZero(n)) { n = "100%"; }
+
+ var processPercent = isPercentage(n);
+ n = mathMin(max, mathMax(0, parseFloat(n)));
+
+ // Automatically convert percentage into number
+ if (processPercent) {
+ n = parseInt(n * max, 10) / 100;
+ }
+
+ // Handle floating point rounding errors
+ if ((Math.abs(n - max) < 0.000001)) {
+ return 1;
+ }
+
+ // Convert into [0, 1] range if it isn't already
+ return (n % max) / parseFloat(max);
+}
+
+// Force a number between 0 and 1
+function clamp01(val) {
+ return mathMin(1, mathMax(0, val));
+}
+
+// Parse a base-16 hex value into a base-10 integer
+function parseIntFromHex(val) {
+ return parseInt(val, 16);
+}
+
+// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1
+// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>
+function isOnePointZero(n) {
+ return typeof n == "string" && n.indexOf('.') != -1 && parseFloat(n) === 1;
+}
+
+// Check to see if string passed in is a percentage
+function isPercentage(n) {
+ return typeof n === "string" && n.indexOf('%') != -1;
+}
+
+// Force a hex value to have 2 characters
+function pad2(c) {
+ return c.length == 1 ? '0' + c : '' + c;
+}
+
+// Replace a decimal with it's percentage value
+function convertToPercentage(n) {
+ if (n <= 1) {
+ n = (n * 100) + "%";
+ }
+
+ return n;
+}
+
+// Converts a decimal to a hex value
+function convertDecimalToHex(d) {
+ return Math.round(parseFloat(d) * 255).toString(16);
+}
+// Converts a hex value to a decimal
+function convertHexToDecimal(h) {
+ return (parseIntFromHex(h) / 255);
+}
+
+var matchers = (function() {
+
+ // <http://www.w3.org/TR/css3-values/#integers>
+ var CSS_INTEGER = "[-\\+]?\\d+%?";
+
+ // <http://www.w3.org/TR/css3-values/#number-value>
+ var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?";
+
+ // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.
+ var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")";
+
+ // Actual matching.
+ // Parentheses and commas are optional, but not required.
+ // Whitespace can take the place of commas or opening paren
+ var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";
+ var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";
+
+ return {
+ CSS_UNIT: new RegExp(CSS_UNIT),
+ rgb: new RegExp("rgb" + PERMISSIVE_MATCH3),
+ rgba: new RegExp("rgba" + PERMISSIVE_MATCH4),
+ hsl: new RegExp("hsl" + PERMISSIVE_MATCH3),
+ hsla: new RegExp("hsla" + PERMISSIVE_MATCH4),
+ hsv: new RegExp("hsv" + PERMISSIVE_MATCH3),
+ hsva: new RegExp("hsva" + PERMISSIVE_MATCH4),
+ hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
+ hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
+ hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
+ hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
+ };
+})();
+
+// `isValidCSSUnit`
+// Take in a single string / number and check to see if it looks like a CSS unit
+// (see `matchers` above for definition).
+function isValidCSSUnit(color) {
+ return !!matchers.CSS_UNIT.exec(color);
+}
+
+// `stringInputToObject`
+// Permissive string parsing. Take in a number of formats, and output an object
+// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`
+function stringInputToObject(color) {
+
+ color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();
+ var named = false;
+ if (names[color]) {
+ color = names[color];
+ named = true;
+ }
+ else if (color == 'transparent') {
+ return { r: 0, g: 0, b: 0, a: 0, format: "name" };
+ }
+
+ // Try to match string input using regular expressions.
+ // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]
+ // Just return an object and let the conversion functions handle that.
+ // This way the result will be the same whether the tinycolor is initialized with string or object.
+ var match;
+ if ((match = matchers.rgb.exec(color))) {
+ return { r: match[1], g: match[2], b: match[3] };
+ }
+ if ((match = matchers.rgba.exec(color))) {
+ return { r: match[1], g: match[2], b: match[3], a: match[4] };
+ }
+ if ((match = matchers.hsl.exec(color))) {
+ return { h: match[1], s: match[2], l: match[3] };
+ }
+ if ((match = matchers.hsla.exec(color))) {
+ return { h: match[1], s: match[2], l: match[3], a: match[4] };
+ }
+ if ((match = matchers.hsv.exec(color))) {
+ return { h: match[1], s: match[2], v: match[3] };
+ }
+ if ((match = matchers.hsva.exec(color))) {
+ return { h: match[1], s: match[2], v: match[3], a: match[4] };
+ }
+ if ((match = matchers.hex8.exec(color))) {
+ return {
+ r: parseIntFromHex(match[1]),
+ g: parseIntFromHex(match[2]),
+ b: parseIntFromHex(match[3]),
+ a: convertHexToDecimal(match[4]),
+ format: named ? "name" : "hex8"
+ };
+ }
+ if ((match = matchers.hex6.exec(color))) {
+ return {
+ r: parseIntFromHex(match[1]),
+ g: parseIntFromHex(match[2]),
+ b: parseIntFromHex(match[3]),
+ format: named ? "name" : "hex"
+ };
+ }
+ if ((match = matchers.hex4.exec(color))) {
+ return {
+ r: parseIntFromHex(match[1] + '' + match[1]),
+ g: parseIntFromHex(match[2] + '' + match[2]),
+ b: parseIntFromHex(match[3] + '' + match[3]),
+ a: convertHexToDecimal(match[4] + '' + match[4]),
+ format: named ? "name" : "hex8"
+ };
+ }
+ if ((match = matchers.hex3.exec(color))) {
+ return {
+ r: parseIntFromHex(match[1] + '' + match[1]),
+ g: parseIntFromHex(match[2] + '' + match[2]),
+ b: parseIntFromHex(match[3] + '' + match[3]),
+ format: named ? "name" : "hex"
+ };
+ }
+
+ return false;
+}
+
+function validateWCAG2Parms(parms) {
+ // return valid WCAG2 parms for isReadable.
+ // If input parms are invalid, return {"level":"AA", "size":"small"}
+ var level, size;
+ parms = parms || {"level":"AA", "size":"small"};
+ level = (parms.level || "AA").toUpperCase();
+ size = (parms.size || "small").toLowerCase();
+ if (level !== "AA" && level !== "AAA") {
+ level = "AA";
+ }
+ if (size !== "small" && size !== "large") {
+ size = "small";
+ }
+ return {"level":level, "size":size};
+}
+
+// Node: Export function
+if ( true && module.exports) {
+ module.exports = tinycolor;
+}
+// AMD/requirejs: Define the module
+else if (true) {
+ !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {return tinycolor;}).call(exports, __webpack_require__, exports, module),
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+}
+// Browser: Expose to window
+else {}
+
+})(Math);
+
+
+/***/ }),
+
+/***/ 5:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _assertThisInitialized; });
+function _assertThisInitialized(self) {
+ if (self === void 0) {
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ }
+
+ return self;
+}
+
+/***/ }),
+
+/***/ 53:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["date"]; }());
+
+/***/ }),
+
+/***/ 58:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["serverSideRender"]; }());
+
+/***/ }),
+
+/***/ 6:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["blockEditor"]; }());
+
+/***/ }),
+
+/***/ 65:
+/***/ (function(module, exports) {
+
+var g;
+
+// This works in non-strict mode
+g = (function() {
+ return this;
+})();
+
+try {
+ // This works if eval is allowed (see CSP)
+ g = g || new Function("return this")();
+} catch (e) {
+ // This works if the window reference is available
+ if (typeof window === "object") g = window;
+}
+
+// g can still be undefined, but nothing to do about it...
+// We return undefined, instead of nothing here, so it's
+// easier to handle this case. if(!global) { ...}
+
+module.exports = g;
+
+
+/***/ }),
+
+/***/ 69:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["autop"]; }());
+
+/***/ }),
+
+/***/ 7:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectSpread; });
+/* harmony import */ var _defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10);
+
+function _objectSpread(target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i] != null ? arguments[i] : {};
+ var ownKeys = Object.keys(source);
+
+ if (typeof Object.getOwnPropertySymbols === 'function') {
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
+ }));
+ }
+
+ ownKeys.forEach(function (key) {
+ Object(_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(target, key, source[key]);
+ });
+ }
+
+ return target;
+}
+
+/***/ }),
+
+/***/ 70:
+/***/ (function(module, exports, __webpack_require__) {
+
+var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
+ Copyright (c) 2017 Jed Watson.
+ Licensed under the MIT License (MIT), see
+ http://jedwatson.github.io/classnames
+*/
+/* global define */
+
+(function () {
+ 'use strict';
+
+ var classNames = (function () {
+ // don't inherit from Object so we can skip hasOwnProperty check later
+ // http://stackoverflow.com/questions/15518328/creating-js-object-with-object-createnull#answer-21079232
+ function StorageObject() {}
+ StorageObject.prototype = Object.create(null);
+
+ function _parseArray (resultSet, array) {
+ var length = array.length;
+
+ for (var i = 0; i < length; ++i) {
+ _parse(resultSet, array[i]);
+ }
+ }
+
+ var hasOwn = {}.hasOwnProperty;
+
+ function _parseNumber (resultSet, num) {
+ resultSet[num] = true;
+ }
+
+ function _parseObject (resultSet, object) {
+ for (var k in object) {
+ if (hasOwn.call(object, k)) {
+ // set value to false instead of deleting it to avoid changing object structure
+ // https://www.smashingmagazine.com/2012/11/writing-fast-memory-efficient-javascript/#de-referencing-misconceptions
+ resultSet[k] = !!object[k];
+ }
+ }
+ }
+
+ var SPACE = /\s+/;
+ function _parseString (resultSet, str) {
+ var array = str.split(SPACE);
+ var length = array.length;
+
+ for (var i = 0; i < length; ++i) {
+ resultSet[array[i]] = true;
+ }
+ }
+
+ function _parse (resultSet, arg) {
+ if (!arg) return;
+ var argType = typeof arg;
+
+ // 'foo bar'
+ if (argType === 'string') {
+ _parseString(resultSet, arg);
+
+ // ['foo', 'bar', ...]
+ } else if (Array.isArray(arg)) {
+ _parseArray(resultSet, arg);
+
+ // { 'foo': true, ... }
+ } else if (argType === 'object') {
+ _parseObject(resultSet, arg);
+
+ // '130'
+ } else if (argType === 'number') {
+ _parseNumber(resultSet, arg);
+ }
+ }
+
+ function _classNames () {
+ // don't leak arguments
+ // https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments
+ var len = arguments.length;
+ var args = Array(len);
+ for (var i = 0; i < len; i++) {
+ args[i] = arguments[i];
+ }
+
+ var classSet = new StorageObject();
+ _parseArray(classSet, args);
+
+ var list = [];
+
+ for (var k in classSet) {
+ if (classSet[k]) {
+ list.push(k)
+ }
+ }
+
+ return list.join(' ');
+ }
+
+ return _classNames;
+ })();
+
+ if ( true && module.exports) {
+ classNames.default = classNames;
+ module.exports = classNames;
+ } else if (true) {
+ // register as 'classnames', consistent with npm package name
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
+ return classNames;
+ }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+ } else {}
+}());
+
+
+/***/ }),
+
+/***/ 8:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["compose"]; }());
+
+/***/ }),
+
+/***/ 82:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+
+var punycode = __webpack_require__(123);
+var util = __webpack_require__(125);
+
+exports.parse = urlParse;
+exports.resolve = urlResolve;
+exports.resolveObject = urlResolveObject;
+exports.format = urlFormat;
+
+exports.Url = Url;
+
+function Url() {
+ this.protocol = null;
+ this.slashes = null;
+ this.auth = null;
+ this.host = null;
+ this.port = null;
+ this.hostname = null;
+ this.hash = null;
+ this.search = null;
+ this.query = null;
+ this.pathname = null;
+ this.path = null;
+ this.href = null;
+}
+
+// Reference: RFC 3986, RFC 1808, RFC 2396
+
+// define these here so at least they only have to be
+// compiled once on the first module load.
+var protocolPattern = /^([a-z0-9.+-]+:)/i,
+ portPattern = /:[0-9]*$/,
+
+ // Special case for a simple path URL
+ simplePathPattern = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,
+
+ // RFC 2396: characters reserved for delimiting URLs.
+ // We actually just auto-escape these.
+ delims = ['<', '>', '"', '`', ' ', '\r', '\n', '\t'],
+
+ // RFC 2396: characters not allowed for various reasons.
+ unwise = ['{', '}', '|', '\\', '^', '`'].concat(delims),
+
+ // Allowed by RFCs, but cause of XSS attacks. Always escape these.
+ autoEscape = ['\''].concat(unwise),
+ // Characters that are never ever allowed in a hostname.
+ // Note that any invalid chars are also handled, but these
+ // are the ones that are *expected* to be seen, so we fast-path
+ // them.
+ nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),
+ hostEndingChars = ['/', '?', '#'],
+ hostnameMaxLen = 255,
+ hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,
+ hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
+ // protocols that can allow "unsafe" and "unwise" chars.
+ unsafeProtocol = {
+ 'javascript': true,
+ 'javascript:': true
+ },
+ // protocols that never have a hostname.
+ hostlessProtocol = {
+ 'javascript': true,
+ 'javascript:': true
+ },
+ // protocols that always contain a // bit.
+ slashedProtocol = {
+ 'http': true,
+ 'https': true,
+ 'ftp': true,
+ 'gopher': true,
+ 'file': true,
+ 'http:': true,
+ 'https:': true,
+ 'ftp:': true,
+ 'gopher:': true,
+ 'file:': true
+ },
+ querystring = __webpack_require__(126);
+
+function urlParse(url, parseQueryString, slashesDenoteHost) {
+ if (url && util.isObject(url) && url instanceof Url) return url;
+
+ var u = new Url;
+ u.parse(url, parseQueryString, slashesDenoteHost);
+ return u;
+}
+
+Url.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {
+ if (!util.isString(url)) {
+ throw new TypeError("Parameter 'url' must be a string, not " + typeof url);
+ }
+
+ // Copy chrome, IE, opera backslash-handling behavior.
+ // Back slashes before the query string get converted to forward slashes
+ // See: https://code.google.com/p/chromium/issues/detail?id=25916
+ var queryIndex = url.indexOf('?'),
+ splitter =
+ (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',
+ uSplit = url.split(splitter),
+ slashRegex = /\\/g;
+ uSplit[0] = uSplit[0].replace(slashRegex, '/');
+ url = uSplit.join(splitter);
+
+ var rest = url;
+
+ // trim before proceeding.
+ // This is to support parse stuff like " http://foo.com \n"
+ rest = rest.trim();
+
+ if (!slashesDenoteHost && url.split('#').length === 1) {
+ // Try fast path regexp
+ var simplePath = simplePathPattern.exec(rest);
+ if (simplePath) {
+ this.path = rest;
+ this.href = rest;
+ this.pathname = simplePath[1];
+ if (simplePath[2]) {
+ this.search = simplePath[2];
+ if (parseQueryString) {
+ this.query = querystring.parse(this.search.substr(1));
+ } else {
+ this.query = this.search.substr(1);
+ }
+ } else if (parseQueryString) {
+ this.search = '';
+ this.query = {};
+ }
+ return this;
+ }
+ }
+
+ var proto = protocolPattern.exec(rest);
+ if (proto) {
+ proto = proto[0];
+ var lowerProto = proto.toLowerCase();
+ this.protocol = lowerProto;
+ rest = rest.substr(proto.length);
+ }
+
+ // figure out if it's got a host
+ // user@server is *always* interpreted as a hostname, and url
+ // resolution will treat //foo/bar as host=foo,path=bar because that's
+ // how the browser resolves relative URLs.
+ if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) {
+ var slashes = rest.substr(0, 2) === '//';
+ if (slashes && !(proto && hostlessProtocol[proto])) {
+ rest = rest.substr(2);
+ this.slashes = true;
+ }
+ }
+
+ if (!hostlessProtocol[proto] &&
+ (slashes || (proto && !slashedProtocol[proto]))) {
+
+ // there's a hostname.
+ // the first instance of /, ?, ;, or # ends the host.
+ //
+ // If there is an @ in the hostname, then non-host chars *are* allowed
+ // to the left of the last @ sign, unless some host-ending character
+ // comes *before* the @-sign.
+ // URLs are obnoxious.
+ //
+ // ex:
+ // http://a@b@c/ => user:a@b host:c
+ // http://a@b?@c => user:a host:c path:/?@c
+
+ // v0.12 TODO(isaacs): This is not quite how Chrome does things.
+ // Review our test case against browsers more comprehensively.
+
+ // find the first instance of any hostEndingChars
+ var hostEnd = -1;
+ for (var i = 0; i < hostEndingChars.length; i++) {
+ var hec = rest.indexOf(hostEndingChars[i]);
+ if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))
+ hostEnd = hec;
+ }
+
+ // at this point, either we have an explicit point where the
+ // auth portion cannot go past, or the last @ char is the decider.
+ var auth, atSign;
+ if (hostEnd === -1) {
+ // atSign can be anywhere.
+ atSign = rest.lastIndexOf('@');
+ } else {
+ // atSign must be in auth portion.
+ // http://a@b/c@d => host:b auth:a path:/c@d
+ atSign = rest.lastIndexOf('@', hostEnd);
+ }
+
+ // Now we have a portion which is definitely the auth.
+ // Pull that off.
+ if (atSign !== -1) {
+ auth = rest.slice(0, atSign);
+ rest = rest.slice(atSign + 1);
+ this.auth = decodeURIComponent(auth);
+ }
+
+ // the host is the remaining to the left of the first non-host char
+ hostEnd = -1;
+ for (var i = 0; i < nonHostChars.length; i++) {
+ var hec = rest.indexOf(nonHostChars[i]);
+ if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))
+ hostEnd = hec;
+ }
+ // if we still have not hit it, then the entire thing is a host.
+ if (hostEnd === -1)
+ hostEnd = rest.length;
+
+ this.host = rest.slice(0, hostEnd);
+ rest = rest.slice(hostEnd);
+
+ // pull out port.
+ this.parseHost();
+
+ // we've indicated that there is a hostname,
+ // so even if it's empty, it has to be present.
+ this.hostname = this.hostname || '';
+
+ // if hostname begins with [ and ends with ]
+ // assume that it's an IPv6 address.
+ var ipv6Hostname = this.hostname[0] === '[' &&
+ this.hostname[this.hostname.length - 1] === ']';
+
+ // validate a little.
+ if (!ipv6Hostname) {
+ var hostparts = this.hostname.split(/\./);
+ for (var i = 0, l = hostparts.length; i < l; i++) {
+ var part = hostparts[i];
+ if (!part) continue;
+ if (!part.match(hostnamePartPattern)) {
+ var newpart = '';
+ for (var j = 0, k = part.length; j < k; j++) {
+ if (part.charCodeAt(j) > 127) {
+ // we replace non-ASCII char with a temporary placeholder
+ // we need this to make sure size of hostname is not
+ // broken by replacing non-ASCII by nothing
+ newpart += 'x';
+ } else {
+ newpart += part[j];
+ }
+ }
+ // we test again with ASCII char only
+ if (!newpart.match(hostnamePartPattern)) {
+ var validParts = hostparts.slice(0, i);
+ var notHost = hostparts.slice(i + 1);
+ var bit = part.match(hostnamePartStart);
+ if (bit) {
+ validParts.push(bit[1]);
+ notHost.unshift(bit[2]);
+ }
+ if (notHost.length) {
+ rest = '/' + notHost.join('.') + rest;
+ }
+ this.hostname = validParts.join('.');
+ break;
+ }
+ }
+ }
+ }
+
+ if (this.hostname.length > hostnameMaxLen) {
+ this.hostname = '';
+ } else {
+ // hostnames are always lower case.
+ this.hostname = this.hostname.toLowerCase();
+ }
+
+ if (!ipv6Hostname) {
+ // IDNA Support: Returns a punycoded representation of "domain".
+ // It only converts parts of the domain name that
+ // have non-ASCII characters, i.e. it doesn't matter if
+ // you call it with a domain that already is ASCII-only.
+ this.hostname = punycode.toASCII(this.hostname);
+ }
+
+ var p = this.port ? ':' + this.port : '';
+ var h = this.hostname || '';
+ this.host = h + p;
+ this.href += this.host;
+
+ // strip [ and ] from the hostname
+ // the host field still retains them, though
+ if (ipv6Hostname) {
+ this.hostname = this.hostname.substr(1, this.hostname.length - 2);
+ if (rest[0] !== '/') {
+ rest = '/' + rest;
+ }
+ }
+ }
+
+ // now rest is set to the post-host stuff.
+ // chop off any delim chars.
+ if (!unsafeProtocol[lowerProto]) {
+
+ // First, make 100% sure that any "autoEscape" chars get
+ // escaped, even if encodeURIComponent doesn't think they
+ // need to be.
+ for (var i = 0, l = autoEscape.length; i < l; i++) {
+ var ae = autoEscape[i];
+ if (rest.indexOf(ae) === -1)
+ continue;
+ var esc = encodeURIComponent(ae);
+ if (esc === ae) {
+ esc = escape(ae);
+ }
+ rest = rest.split(ae).join(esc);
+ }
+ }
+
+
+ // chop off from the tail first.
+ var hash = rest.indexOf('#');
+ if (hash !== -1) {
+ // got a fragment string.
+ this.hash = rest.substr(hash);
+ rest = rest.slice(0, hash);
+ }
+ var qm = rest.indexOf('?');
+ if (qm !== -1) {
+ this.search = rest.substr(qm);
+ this.query = rest.substr(qm + 1);
+ if (parseQueryString) {
+ this.query = querystring.parse(this.query);
+ }
+ rest = rest.slice(0, qm);
+ } else if (parseQueryString) {
+ // no query string, but parseQueryString still requested
+ this.search = '';
+ this.query = {};
+ }
+ if (rest) this.pathname = rest;
+ if (slashedProtocol[lowerProto] &&
+ this.hostname && !this.pathname) {
+ this.pathname = '/';
+ }
+
+ //to support http.request
+ if (this.pathname || this.search) {
+ var p = this.pathname || '';
+ var s = this.search || '';
+ this.path = p + s;
+ }
+
+ // finally, reconstruct the href based on what has been validated.
+ this.href = this.format();
+ return this;
+};
+
+// format a parsed object into a url string
+function urlFormat(obj) {
+ // ensure it's an object, and not a string url.
+ // If it's an obj, this is a no-op.
+ // this way, you can call url_format() on strings
+ // to clean up potentially wonky urls.
+ if (util.isString(obj)) obj = urlParse(obj);
+ if (!(obj instanceof Url)) return Url.prototype.format.call(obj);
+ return obj.format();
+}
+
+Url.prototype.format = function() {
+ var auth = this.auth || '';
+ if (auth) {
+ auth = encodeURIComponent(auth);
+ auth = auth.replace(/%3A/i, ':');
+ auth += '@';
+ }
+
+ var protocol = this.protocol || '',
+ pathname = this.pathname || '',
+ hash = this.hash || '',
+ host = false,
+ query = '';
+
+ if (this.host) {
+ host = auth + this.host;
+ } else if (this.hostname) {
+ host = auth + (this.hostname.indexOf(':') === -1 ?
+ this.hostname :
+ '[' + this.hostname + ']');
+ if (this.port) {
+ host += ':' + this.port;
+ }
+ }
+
+ if (this.query &&
+ util.isObject(this.query) &&
+ Object.keys(this.query).length) {
+ query = querystring.stringify(this.query);
+ }
+
+ var search = this.search || (query && ('?' + query)) || '';
+
+ if (protocol && protocol.substr(-1) !== ':') protocol += ':';
+
+ // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.
+ // unless they had them to begin with.
+ if (this.slashes ||
+ (!protocol || slashedProtocol[protocol]) && host !== false) {
+ host = '//' + (host || '');
+ if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;
+ } else if (!host) {
+ host = '';
+ }
+
+ if (hash && hash.charAt(0) !== '#') hash = '#' + hash;
+ if (search && search.charAt(0) !== '?') search = '?' + search;
+
+ pathname = pathname.replace(/[?#]/g, function(match) {
+ return encodeURIComponent(match);
+ });
+ search = search.replace('#', '%23');
+
+ return protocol + host + pathname + search + hash;
+};
+
+function urlResolve(source, relative) {
+ return urlParse(source, false, true).resolve(relative);
+}
+
+Url.prototype.resolve = function(relative) {
+ return this.resolveObject(urlParse(relative, false, true)).format();
+};
+
+function urlResolveObject(source, relative) {
+ if (!source) return relative;
+ return urlParse(source, false, true).resolveObject(relative);
+}
+
+Url.prototype.resolveObject = function(relative) {
+ if (util.isString(relative)) {
+ var rel = new Url();
+ rel.parse(relative, false, true);
+ relative = rel;
+ }
+
+ var result = new Url();
+ var tkeys = Object.keys(this);
+ for (var tk = 0; tk < tkeys.length; tk++) {
+ var tkey = tkeys[tk];
+ result[tkey] = this[tkey];
+ }
+
+ // hash is always overridden, no matter what.
+ // even href="" will remove it.
+ result.hash = relative.hash;
+
+ // if the relative url is empty, then there's nothing left to do here.
+ if (relative.href === '') {
+ result.href = result.format();
+ return result;
+ }
+
+ // hrefs like //foo/bar always cut to the protocol.
+ if (relative.slashes && !relative.protocol) {
+ // take everything except the protocol from relative
+ var rkeys = Object.keys(relative);
+ for (var rk = 0; rk < rkeys.length; rk++) {
+ var rkey = rkeys[rk];
+ if (rkey !== 'protocol')
+ result[rkey] = relative[rkey];
+ }
+
+ //urlParse appends trailing / to urls like http://www.example.com
+ if (slashedProtocol[result.protocol] &&
+ result.hostname && !result.pathname) {
+ result.path = result.pathname = '/';
+ }
+
+ result.href = result.format();
+ return result;
+ }
+
+ if (relative.protocol && relative.protocol !== result.protocol) {
+ // if it's a known url protocol, then changing
+ // the protocol does weird things
+ // first, if it's not file:, then we MUST have a host,
+ // and if there was a path
+ // to begin with, then we MUST have a path.
+ // if it is file:, then the host is dropped,
+ // because that's known to be hostless.
+ // anything else is assumed to be absolute.
+ if (!slashedProtocol[relative.protocol]) {
+ var keys = Object.keys(relative);
+ for (var v = 0; v < keys.length; v++) {
+ var k = keys[v];
+ result[k] = relative[k];
+ }
+ result.href = result.format();
+ return result;
+ }
+
+ result.protocol = relative.protocol;
+ if (!relative.host && !hostlessProtocol[relative.protocol]) {
+ var relPath = (relative.pathname || '').split('/');
+ while (relPath.length && !(relative.host = relPath.shift()));
+ if (!relative.host) relative.host = '';
+ if (!relative.hostname) relative.hostname = '';
+ if (relPath[0] !== '') relPath.unshift('');
+ if (relPath.length < 2) relPath.unshift('');
+ result.pathname = relPath.join('/');
+ } else {
+ result.pathname = relative.pathname;
+ }
+ result.search = relative.search;
+ result.query = relative.query;
+ result.host = relative.host || '';
+ result.auth = relative.auth;
+ result.hostname = relative.hostname || relative.host;
+ result.port = relative.port;
+ // to support http.request
+ if (result.pathname || result.search) {
+ var p = result.pathname || '';
+ var s = result.search || '';
+ result.path = p + s;
+ }
+ result.slashes = result.slashes || relative.slashes;
+ result.href = result.format();
+ return result;
+ }
+
+ var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),
+ isRelAbs = (
+ relative.host ||
+ relative.pathname && relative.pathname.charAt(0) === '/'
+ ),
+ mustEndAbs = (isRelAbs || isSourceAbs ||
+ (result.host && relative.pathname)),
+ removeAllDots = mustEndAbs,
+ srcPath = result.pathname && result.pathname.split('/') || [],
+ relPath = relative.pathname && relative.pathname.split('/') || [],
+ psychotic = result.protocol && !slashedProtocol[result.protocol];
+
+ // if the url is a non-slashed url, then relative
+ // links like ../.. should be able
+ // to crawl up to the hostname, as well. This is strange.
+ // result.protocol has already been set by now.
+ // Later on, put the first path part into the host field.
+ if (psychotic) {
+ result.hostname = '';
+ result.port = null;
+ if (result.host) {
+ if (srcPath[0] === '') srcPath[0] = result.host;
+ else srcPath.unshift(result.host);
+ }
+ result.host = '';
+ if (relative.protocol) {
+ relative.hostname = null;
+ relative.port = null;
+ if (relative.host) {
+ if (relPath[0] === '') relPath[0] = relative.host;
+ else relPath.unshift(relative.host);
+ }
+ relative.host = null;
+ }
+ mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');
+ }
+
+ if (isRelAbs) {
+ // it's absolute.
+ result.host = (relative.host || relative.host === '') ?
+ relative.host : result.host;
+ result.hostname = (relative.hostname || relative.hostname === '') ?
+ relative.hostname : result.hostname;
+ result.search = relative.search;
+ result.query = relative.query;
+ srcPath = relPath;
+ // fall through to the dot-handling below.
+ } else if (relPath.length) {
+ // it's relative
+ // throw away the existing file, and take the new path instead.
+ if (!srcPath) srcPath = [];
+ srcPath.pop();
+ srcPath = srcPath.concat(relPath);
+ result.search = relative.search;
+ result.query = relative.query;
+ } else if (!util.isNullOrUndefined(relative.search)) {
+ // just pull out the search.
+ // like href='?foo'.
+ // Put this after the other two cases because it simplifies the booleans
+ if (psychotic) {
+ result.hostname = result.host = srcPath.shift();
+ //occationaly the auth can get stuck only in host
+ //this especially happens in cases like
+ //url.resolveObject('mailto:local1@domain1', 'local2@domain2')
+ var authInHost = result.host && result.host.indexOf('@') > 0 ?
+ result.host.split('@') : false;
+ if (authInHost) {
+ result.auth = authInHost.shift();
+ result.host = result.hostname = authInHost.shift();
+ }
+ }
+ result.search = relative.search;
+ result.query = relative.query;
+ //to support http.request
+ if (!util.isNull(result.pathname) || !util.isNull(result.search)) {
+ result.path = (result.pathname ? result.pathname : '') +
+ (result.search ? result.search : '');
+ }
+ result.href = result.format();
+ return result;
+ }
+
+ if (!srcPath.length) {
+ // no path at all. easy.
+ // we've already handled the other stuff above.
+ result.pathname = null;
+ //to support http.request
+ if (result.search) {
+ result.path = '/' + result.search;
+ } else {
+ result.path = null;
+ }
+ result.href = result.format();
+ return result;
+ }
+
+ // if a url ENDs in . or .., then it must get a trailing slash.
+ // however, if it ends in anything else non-slashy,
+ // then it must NOT get a trailing slash.
+ var last = srcPath.slice(-1)[0];
+ var hasTrailingSlash = (
+ (result.host || relative.host || srcPath.length > 1) &&
+ (last === '.' || last === '..') || last === '');
+
+ // strip single dots, resolve double dots to parent dir
+ // if the path tries to go above the root, `up` ends up > 0
+ var up = 0;
+ for (var i = srcPath.length; i >= 0; i--) {
+ last = srcPath[i];
+ if (last === '.') {
+ srcPath.splice(i, 1);
+ } else if (last === '..') {
+ srcPath.splice(i, 1);
+ up++;
+ } else if (up) {
+ srcPath.splice(i, 1);
+ up--;
+ }
+ }
+
+ // if the path is allowed to go above the root, restore leading ..s
+ if (!mustEndAbs && !removeAllDots) {
+ for (; up--; up) {
+ srcPath.unshift('..');
+ }
+ }
+
+ if (mustEndAbs && srcPath[0] !== '' &&
+ (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {
+ srcPath.unshift('');
+ }
+
+ if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {
+ srcPath.push('');
+ }
+
+ var isAbsolute = srcPath[0] === '' ||
+ (srcPath[0] && srcPath[0].charAt(0) === '/');
+
+ // put the host back
+ if (psychotic) {
+ result.hostname = result.host = isAbsolute ? '' :
+ srcPath.length ? srcPath.shift() : '';
+ //occationaly the auth can get stuck only in host
+ //this especially happens in cases like
+ //url.resolveObject('mailto:local1@domain1', 'local2@domain2')
+ var authInHost = result.host && result.host.indexOf('@') > 0 ?
+ result.host.split('@') : false;
+ if (authInHost) {
+ result.auth = authInHost.shift();
+ result.host = result.hostname = authInHost.shift();
+ }
+ }
+
+ mustEndAbs = mustEndAbs || (result.host && srcPath.length);
+
+ if (mustEndAbs && !isAbsolute) {
+ srcPath.unshift('');
+ }
+
+ if (!srcPath.length) {
+ result.pathname = null;
+ result.path = null;
+ } else {
+ result.pathname = srcPath.join('/');
+ }
+
+ //to support request.http
+ if (!util.isNull(result.pathname) || !util.isNull(result.search)) {
+ result.path = (result.pathname ? result.pathname : '') +
+ (result.search ? result.search : '');
+ }
+ result.auth = relative.auth || result.auth;
+ result.slashes = result.slashes || relative.slashes;
+ result.href = result.format();
+ return result;
+};
+
+Url.prototype.parseHost = function() {
+ var host = this.host;
+ var port = portPattern.exec(host);
+ if (port) {
+ port = port[0];
+ if (port !== ':') {
+ this.port = port.substr(1);
+ }
+ host = host.substr(0, host.length - port.length);
+ }
+ if (host) this.hostname = host;
+};
+
+
+/***/ }),
+
+/***/ 89:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["coreData"]; }());
+
+/***/ }),
+
+/***/ 9:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["blocks"]; }());
+
+/***/ })
+
+/******/ }); \ No newline at end of file