/******/ (function() { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ 3827: /***/ (function(module, exports) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! Copyright (c) 2018 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) { if (object.toString === Object.prototype.toString) { 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]; } } } else { resultSet[object.toString()] = true; } } 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 {} }()); /***/ }), /***/ 4403: /***/ (function(module, exports) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! Copyright (c) 2018 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)) { if (arg.length) { var inner = classNames.apply(null, arg); if (inner) { classes.push(inner); } } } else if (argType === 'object') { if (arg.toString === Object.prototype.toString) { for (var key in arg) { if (hasOwn.call(arg, key) && arg[key]) { classes.push(key); } } } else { classes.push(arg.toString()); } } } 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 {} }()); /***/ }), /***/ 5027: /***/ (function(module) { /*! Fast Average Color | © 2019 Denis Seleznev | MIT License | https://github.com/hcodes/fast-average-color/ */ (function (global, factory) { true ? module.exports = factory() : 0; }(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; }))); /***/ }), /***/ 9756: /***/ (function(module) { /** * Memize options object. * * @typedef MemizeOptions * * @property {number} [maxSize] Maximum size of the cache. */ /** * Internal cache entry. * * @typedef MemizeCacheNode * * @property {?MemizeCacheNode|undefined} [prev] Previous node. * @property {?MemizeCacheNode|undefined} [next] Next node. * @property {Array<*>} args Function arguments for cache * entry. * @property {*} val Function result. */ /** * Properties of the enhanced function for controlling cache. * * @typedef MemizeMemoizedFunction * * @property {()=>void} clear Clear the cache. */ /** * Accepts a function to be memoized, and returns a new memoized function, with * optional options. * * @template {Function} F * * @param {F} fn Function to memoize. * @param {MemizeOptions} [options] Options object. * * @return {F & MemizeMemoizedFunction} Memoized function. */ function memize( fn, options ) { var size = 0; /** @type {?MemizeCacheNode|undefined} */ var head; /** @type {?MemizeCacheNode|undefined} */ var tail; options = options || {}; 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. /** @type {MemizeCacheNode} */ ( node.prev ).next = node.next; if ( node.next ) { node.next.prev = node.prev; } node.next = head; node.prev = null; /** @type {MemizeCacheNode} */ ( 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 === /** @type {MemizeOptions} */ ( options ).maxSize ) { tail = /** @type {MemizeCacheNode} */ ( tail ).prev; /** @type {MemizeCacheNode} */ ( tail ).next = null; } else { size++; } head = node; return node.val; } memoized.clear = function() { head = null; tail = null; size = 0; }; if ( false ) {} // Ignore reason: There's not a clear solution to create an intersection of // the function with additional properties, where the goal is to retain the // function signature of the incoming argument and add control properties // on the return value. // @ts-ignore return memoized; } module.exports = memize; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ !function() { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function() { return module['default']; } : /******/ function() { return module; }; /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ }(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ !function() { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = function(exports, definition) { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ }(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ !function() { /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } /******/ }(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ !function() { /******/ // 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 }); /******/ }; /******/ }(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry need to be wrapped in an IIFE because it need to be in strict mode. !function() { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { "__experimentalGetCoreBlocks": function() { return /* binding */ __experimentalGetCoreBlocks; }, "__experimentalRegisterExperimentalCoreBlocks": function() { return /* binding */ __experimentalRegisterExperimentalCoreBlocks; }, "registerCoreBlocks": function() { return /* binding */ registerCoreBlocks; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/archives/index.js var archives_namespaceObject = {}; __webpack_require__.r(archives_namespaceObject); __webpack_require__.d(archives_namespaceObject, { "metadata": function() { return metadata; }, "name": function() { return archives_name; }, "settings": function() { return settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/avatar/index.js var avatar_namespaceObject = {}; __webpack_require__.r(avatar_namespaceObject); __webpack_require__.d(avatar_namespaceObject, { "metadata": function() { return avatar_metadata; }, "name": function() { return avatar_name; }, "settings": function() { return avatar_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/audio/index.js var build_module_audio_namespaceObject = {}; __webpack_require__.r(build_module_audio_namespaceObject); __webpack_require__.d(build_module_audio_namespaceObject, { "metadata": function() { return audio_metadata; }, "name": function() { return audio_name; }, "settings": function() { return audio_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/button/index.js var build_module_button_namespaceObject = {}; __webpack_require__.r(build_module_button_namespaceObject); __webpack_require__.d(build_module_button_namespaceObject, { "metadata": function() { return button_metadata; }, "name": function() { return button_name; }, "settings": function() { return button_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/buttons/index.js var build_module_buttons_namespaceObject = {}; __webpack_require__.r(build_module_buttons_namespaceObject); __webpack_require__.d(build_module_buttons_namespaceObject, { "metadata": function() { return buttons_metadata; }, "name": function() { return buttons_name; }, "settings": function() { return buttons_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/calendar/index.js var build_module_calendar_namespaceObject = {}; __webpack_require__.r(build_module_calendar_namespaceObject); __webpack_require__.d(build_module_calendar_namespaceObject, { "metadata": function() { return calendar_metadata; }, "name": function() { return calendar_name; }, "settings": function() { return calendar_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/categories/index.js var categories_namespaceObject = {}; __webpack_require__.r(categories_namespaceObject); __webpack_require__.d(categories_namespaceObject, { "metadata": function() { return categories_metadata; }, "name": function() { return categories_name; }, "settings": function() { return categories_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/freeform/index.js var freeform_namespaceObject = {}; __webpack_require__.r(freeform_namespaceObject); __webpack_require__.d(freeform_namespaceObject, { "metadata": function() { return freeform_metadata; }, "name": function() { return freeform_name; }, "settings": function() { return freeform_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/code/index.js var build_module_code_namespaceObject = {}; __webpack_require__.r(build_module_code_namespaceObject); __webpack_require__.d(build_module_code_namespaceObject, { "metadata": function() { return code_metadata; }, "name": function() { return code_name; }, "settings": function() { return code_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/column/index.js var build_module_column_namespaceObject = {}; __webpack_require__.r(build_module_column_namespaceObject); __webpack_require__.d(build_module_column_namespaceObject, { "metadata": function() { return column_metadata; }, "name": function() { return column_name; }, "settings": function() { return column_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/columns/index.js var build_module_columns_namespaceObject = {}; __webpack_require__.r(build_module_columns_namespaceObject); __webpack_require__.d(build_module_columns_namespaceObject, { "metadata": function() { return columns_metadata; }, "name": function() { return columns_name; }, "settings": function() { return columns_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-author-name/index.js var build_module_comment_author_name_namespaceObject = {}; __webpack_require__.r(build_module_comment_author_name_namespaceObject); __webpack_require__.d(build_module_comment_author_name_namespaceObject, { "metadata": function() { return comment_author_name_metadata; }, "name": function() { return comment_author_name_name; }, "settings": function() { return comment_author_name_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-content/index.js var build_module_comment_content_namespaceObject = {}; __webpack_require__.r(build_module_comment_content_namespaceObject); __webpack_require__.d(build_module_comment_content_namespaceObject, { "metadata": function() { return comment_content_metadata; }, "name": function() { return comment_content_name; }, "settings": function() { return comment_content_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-date/index.js var comment_date_namespaceObject = {}; __webpack_require__.r(comment_date_namespaceObject); __webpack_require__.d(comment_date_namespaceObject, { "metadata": function() { return comment_date_metadata; }, "name": function() { return comment_date_name; }, "settings": function() { return comment_date_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-edit-link/index.js var build_module_comment_edit_link_namespaceObject = {}; __webpack_require__.r(build_module_comment_edit_link_namespaceObject); __webpack_require__.d(build_module_comment_edit_link_namespaceObject, { "metadata": function() { return comment_edit_link_metadata; }, "name": function() { return comment_edit_link_name; }, "settings": function() { return comment_edit_link_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-reply-link/index.js var build_module_comment_reply_link_namespaceObject = {}; __webpack_require__.r(build_module_comment_reply_link_namespaceObject); __webpack_require__.d(build_module_comment_reply_link_namespaceObject, { "metadata": function() { return comment_reply_link_metadata; }, "name": function() { return comment_reply_link_name; }, "settings": function() { return comment_reply_link_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-template/index.js var comment_template_namespaceObject = {}; __webpack_require__.r(comment_template_namespaceObject); __webpack_require__.d(comment_template_namespaceObject, { "metadata": function() { return comment_template_metadata; }, "name": function() { return comment_template_name; }, "settings": function() { return comment_template_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-pagination-previous/index.js var comments_pagination_previous_namespaceObject = {}; __webpack_require__.r(comments_pagination_previous_namespaceObject); __webpack_require__.d(comments_pagination_previous_namespaceObject, { "metadata": function() { return comments_pagination_previous_metadata; }, "name": function() { return comments_pagination_previous_name; }, "settings": function() { return comments_pagination_previous_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-query-loop/index.js var comments_query_loop_namespaceObject = {}; __webpack_require__.r(comments_query_loop_namespaceObject); __webpack_require__.d(comments_query_loop_namespaceObject, { "metadata": function() { return comments_query_loop_metadata; }, "name": function() { return comments_query_loop_name; }, "settings": function() { return comments_query_loop_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-pagination/index.js var comments_pagination_namespaceObject = {}; __webpack_require__.r(comments_pagination_namespaceObject); __webpack_require__.d(comments_pagination_namespaceObject, { "metadata": function() { return comments_pagination_metadata; }, "name": function() { return comments_pagination_name; }, "settings": function() { return comments_pagination_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-pagination-next/index.js var comments_pagination_next_namespaceObject = {}; __webpack_require__.r(comments_pagination_next_namespaceObject); __webpack_require__.d(comments_pagination_next_namespaceObject, { "metadata": function() { return comments_pagination_next_metadata; }, "name": function() { return comments_pagination_next_name; }, "settings": function() { return comments_pagination_next_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-pagination-numbers/index.js var comments_pagination_numbers_namespaceObject = {}; __webpack_require__.r(comments_pagination_numbers_namespaceObject); __webpack_require__.d(comments_pagination_numbers_namespaceObject, { "metadata": function() { return comments_pagination_numbers_metadata; }, "name": function() { return comments_pagination_numbers_name; }, "settings": function() { return comments_pagination_numbers_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-title/index.js var comments_title_namespaceObject = {}; __webpack_require__.r(comments_title_namespaceObject); __webpack_require__.d(comments_title_namespaceObject, { "metadata": function() { return comments_title_metadata; }, "name": function() { return comments_title_name; }, "settings": function() { return comments_title_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/cover/index.js var build_module_cover_namespaceObject = {}; __webpack_require__.r(build_module_cover_namespaceObject); __webpack_require__.d(build_module_cover_namespaceObject, { "metadata": function() { return cover_metadata; }, "name": function() { return cover_name; }, "settings": function() { return cover_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/embed/index.js var embed_namespaceObject = {}; __webpack_require__.r(embed_namespaceObject); __webpack_require__.d(embed_namespaceObject, { "metadata": function() { return embed_metadata; }, "name": function() { return embed_name; }, "settings": function() { return embed_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/file/index.js var build_module_file_namespaceObject = {}; __webpack_require__.r(build_module_file_namespaceObject); __webpack_require__.d(build_module_file_namespaceObject, { "metadata": function() { return file_metadata; }, "name": function() { return file_name; }, "settings": function() { return file_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/gallery/index.js var build_module_gallery_namespaceObject = {}; __webpack_require__.r(build_module_gallery_namespaceObject); __webpack_require__.d(build_module_gallery_namespaceObject, { "metadata": function() { return gallery_metadata; }, "name": function() { return gallery_name; }, "settings": function() { return gallery_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/group/index.js var build_module_group_namespaceObject = {}; __webpack_require__.r(build_module_group_namespaceObject); __webpack_require__.d(build_module_group_namespaceObject, { "metadata": function() { return group_metadata; }, "name": function() { return group_name; }, "settings": function() { return group_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/heading/index.js var build_module_heading_namespaceObject = {}; __webpack_require__.r(build_module_heading_namespaceObject); __webpack_require__.d(build_module_heading_namespaceObject, { "metadata": function() { return heading_metadata; }, "name": function() { return heading_name; }, "settings": function() { return heading_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/home-link/index.js var home_link_namespaceObject = {}; __webpack_require__.r(home_link_namespaceObject); __webpack_require__.d(home_link_namespaceObject, { "metadata": function() { return home_link_metadata; }, "name": function() { return home_link_name; }, "settings": function() { return home_link_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/html/index.js var build_module_html_namespaceObject = {}; __webpack_require__.r(build_module_html_namespaceObject); __webpack_require__.d(build_module_html_namespaceObject, { "metadata": function() { return html_metadata; }, "name": function() { return html_name; }, "settings": function() { return html_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/image/index.js var build_module_image_namespaceObject = {}; __webpack_require__.r(build_module_image_namespaceObject); __webpack_require__.d(build_module_image_namespaceObject, { "metadata": function() { return image_metadata; }, "name": function() { return image_name; }, "settings": function() { return image_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/latest-comments/index.js var latest_comments_namespaceObject = {}; __webpack_require__.r(latest_comments_namespaceObject); __webpack_require__.d(latest_comments_namespaceObject, { "metadata": function() { return latest_comments_metadata; }, "name": function() { return latest_comments_name; }, "settings": function() { return latest_comments_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/latest-posts/index.js var latest_posts_namespaceObject = {}; __webpack_require__.r(latest_posts_namespaceObject); __webpack_require__.d(latest_posts_namespaceObject, { "metadata": function() { return latest_posts_metadata; }, "name": function() { return latest_posts_name; }, "settings": function() { return latest_posts_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/list/index.js var build_module_list_namespaceObject = {}; __webpack_require__.r(build_module_list_namespaceObject); __webpack_require__.d(build_module_list_namespaceObject, { "metadata": function() { return list_metadata; }, "name": function() { return list_name; }, "settings": function() { return list_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/loginout/index.js var loginout_namespaceObject = {}; __webpack_require__.r(loginout_namespaceObject); __webpack_require__.d(loginout_namespaceObject, { "metadata": function() { return loginout_metadata; }, "name": function() { return loginout_name; }, "settings": function() { return loginout_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/media-text/index.js var media_text_namespaceObject = {}; __webpack_require__.r(media_text_namespaceObject); __webpack_require__.d(media_text_namespaceObject, { "metadata": function() { return media_text_metadata; }, "name": function() { return media_text_name; }, "settings": function() { return media_text_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/missing/index.js var missing_namespaceObject = {}; __webpack_require__.r(missing_namespaceObject); __webpack_require__.d(missing_namespaceObject, { "metadata": function() { return missing_metadata; }, "name": function() { return missing_name; }, "settings": function() { return missing_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/more/index.js var build_module_more_namespaceObject = {}; __webpack_require__.r(build_module_more_namespaceObject); __webpack_require__.d(build_module_more_namespaceObject, { "metadata": function() { return more_metadata; }, "name": function() { return more_name; }, "settings": function() { return more_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/navigation/index.js var build_module_navigation_namespaceObject = {}; __webpack_require__.r(build_module_navigation_namespaceObject); __webpack_require__.d(build_module_navigation_namespaceObject, { "metadata": function() { return navigation_metadata; }, "name": function() { return navigation_name; }, "settings": function() { return navigation_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/navigation-link/index.js var navigation_link_namespaceObject = {}; __webpack_require__.r(navigation_link_namespaceObject); __webpack_require__.d(navigation_link_namespaceObject, { "metadata": function() { return navigation_link_metadata; }, "name": function() { return navigation_link_name; }, "settings": function() { return navigation_link_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/navigation-submenu/index.js var navigation_submenu_namespaceObject = {}; __webpack_require__.r(navigation_submenu_namespaceObject); __webpack_require__.d(navigation_submenu_namespaceObject, { "metadata": function() { return navigation_submenu_metadata; }, "name": function() { return navigation_submenu_name; }, "settings": function() { return navigation_submenu_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/nextpage/index.js var nextpage_namespaceObject = {}; __webpack_require__.r(nextpage_namespaceObject); __webpack_require__.d(nextpage_namespaceObject, { "metadata": function() { return nextpage_metadata; }, "name": function() { return nextpage_name; }, "settings": function() { return nextpage_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/pattern/index.js var pattern_namespaceObject = {}; __webpack_require__.r(pattern_namespaceObject); __webpack_require__.d(pattern_namespaceObject, { "metadata": function() { return pattern_metadata; }, "name": function() { return pattern_name; }, "settings": function() { return pattern_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/page-list/index.js var page_list_namespaceObject = {}; __webpack_require__.r(page_list_namespaceObject); __webpack_require__.d(page_list_namespaceObject, { "metadata": function() { return page_list_metadata; }, "name": function() { return page_list_name; }, "settings": function() { return page_list_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/paragraph/index.js var build_module_paragraph_namespaceObject = {}; __webpack_require__.r(build_module_paragraph_namespaceObject); __webpack_require__.d(build_module_paragraph_namespaceObject, { "metadata": function() { return paragraph_metadata; }, "name": function() { return paragraph_name; }, "settings": function() { return paragraph_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-author/index.js var build_module_post_author_namespaceObject = {}; __webpack_require__.r(build_module_post_author_namespaceObject); __webpack_require__.d(build_module_post_author_namespaceObject, { "metadata": function() { return post_author_metadata; }, "name": function() { return post_author_name; }, "settings": function() { return post_author_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-author-biography/index.js var post_author_biography_namespaceObject = {}; __webpack_require__.r(post_author_biography_namespaceObject); __webpack_require__.d(post_author_biography_namespaceObject, { "metadata": function() { return post_author_biography_metadata; }, "name": function() { return post_author_biography_name; }, "settings": function() { return post_author_biography_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-comments/index.js var build_module_post_comments_namespaceObject = {}; __webpack_require__.r(build_module_post_comments_namespaceObject); __webpack_require__.d(build_module_post_comments_namespaceObject, { "metadata": function() { return post_comments_metadata; }, "name": function() { return post_comments_name; }, "settings": function() { return post_comments_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-comments-form/index.js var build_module_post_comments_form_namespaceObject = {}; __webpack_require__.r(build_module_post_comments_form_namespaceObject); __webpack_require__.d(build_module_post_comments_form_namespaceObject, { "metadata": function() { return post_comments_form_metadata; }, "name": function() { return post_comments_form_name; }, "settings": function() { return post_comments_form_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-content/index.js var build_module_post_content_namespaceObject = {}; __webpack_require__.r(build_module_post_content_namespaceObject); __webpack_require__.d(build_module_post_content_namespaceObject, { "metadata": function() { return post_content_metadata; }, "name": function() { return post_content_name; }, "settings": function() { return post_content_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-date/index.js var build_module_post_date_namespaceObject = {}; __webpack_require__.r(build_module_post_date_namespaceObject); __webpack_require__.d(build_module_post_date_namespaceObject, { "metadata": function() { return post_date_metadata; }, "name": function() { return post_date_name; }, "settings": function() { return post_date_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-excerpt/index.js var build_module_post_excerpt_namespaceObject = {}; __webpack_require__.r(build_module_post_excerpt_namespaceObject); __webpack_require__.d(build_module_post_excerpt_namespaceObject, { "metadata": function() { return post_excerpt_metadata; }, "name": function() { return post_excerpt_name; }, "settings": function() { return post_excerpt_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-featured-image/index.js var build_module_post_featured_image_namespaceObject = {}; __webpack_require__.r(build_module_post_featured_image_namespaceObject); __webpack_require__.d(build_module_post_featured_image_namespaceObject, { "metadata": function() { return post_featured_image_metadata; }, "name": function() { return post_featured_image_name; }, "settings": function() { return post_featured_image_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-navigation-link/index.js var post_navigation_link_namespaceObject = {}; __webpack_require__.r(post_navigation_link_namespaceObject); __webpack_require__.d(post_navigation_link_namespaceObject, { "metadata": function() { return post_navigation_link_metadata; }, "name": function() { return post_navigation_link_name; }, "settings": function() { return post_navigation_link_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-template/index.js var post_template_namespaceObject = {}; __webpack_require__.r(post_template_namespaceObject); __webpack_require__.d(post_template_namespaceObject, { "metadata": function() { return post_template_metadata; }, "name": function() { return post_template_name; }, "settings": function() { return post_template_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-terms/index.js var build_module_post_terms_namespaceObject = {}; __webpack_require__.r(build_module_post_terms_namespaceObject); __webpack_require__.d(build_module_post_terms_namespaceObject, { "metadata": function() { return post_terms_metadata; }, "name": function() { return post_terms_name; }, "settings": function() { return post_terms_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-title/index.js var build_module_post_title_namespaceObject = {}; __webpack_require__.r(build_module_post_title_namespaceObject); __webpack_require__.d(build_module_post_title_namespaceObject, { "metadata": function() { return post_title_metadata; }, "name": function() { return post_title_name; }, "settings": function() { return post_title_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/preformatted/index.js var build_module_preformatted_namespaceObject = {}; __webpack_require__.r(build_module_preformatted_namespaceObject); __webpack_require__.d(build_module_preformatted_namespaceObject, { "metadata": function() { return preformatted_metadata; }, "name": function() { return preformatted_name; }, "settings": function() { return preformatted_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/pullquote/index.js var build_module_pullquote_namespaceObject = {}; __webpack_require__.r(build_module_pullquote_namespaceObject); __webpack_require__.d(build_module_pullquote_namespaceObject, { "metadata": function() { return pullquote_metadata; }, "name": function() { return pullquote_name; }, "settings": function() { return pullquote_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query/index.js var query_namespaceObject = {}; __webpack_require__.r(query_namespaceObject); __webpack_require__.d(query_namespaceObject, { "metadata": function() { return query_metadata; }, "name": function() { return query_name; }, "settings": function() { return query_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-no-results/index.js var query_no_results_namespaceObject = {}; __webpack_require__.r(query_no_results_namespaceObject); __webpack_require__.d(query_no_results_namespaceObject, { "metadata": function() { return query_no_results_metadata; }, "name": function() { return query_no_results_name; }, "settings": function() { return query_no_results_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination/index.js var build_module_query_pagination_namespaceObject = {}; __webpack_require__.r(build_module_query_pagination_namespaceObject); __webpack_require__.d(build_module_query_pagination_namespaceObject, { "metadata": function() { return query_pagination_metadata; }, "name": function() { return query_pagination_name; }, "settings": function() { return query_pagination_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-next/index.js var build_module_query_pagination_next_namespaceObject = {}; __webpack_require__.r(build_module_query_pagination_next_namespaceObject); __webpack_require__.d(build_module_query_pagination_next_namespaceObject, { "metadata": function() { return query_pagination_next_metadata; }, "name": function() { return query_pagination_next_name; }, "settings": function() { return query_pagination_next_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-numbers/index.js var build_module_query_pagination_numbers_namespaceObject = {}; __webpack_require__.r(build_module_query_pagination_numbers_namespaceObject); __webpack_require__.d(build_module_query_pagination_numbers_namespaceObject, { "metadata": function() { return query_pagination_numbers_metadata; }, "name": function() { return query_pagination_numbers_name; }, "settings": function() { return query_pagination_numbers_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-previous/index.js var build_module_query_pagination_previous_namespaceObject = {}; __webpack_require__.r(build_module_query_pagination_previous_namespaceObject); __webpack_require__.d(build_module_query_pagination_previous_namespaceObject, { "metadata": function() { return query_pagination_previous_metadata; }, "name": function() { return query_pagination_previous_name; }, "settings": function() { return query_pagination_previous_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-title/index.js var build_module_query_title_namespaceObject = {}; __webpack_require__.r(build_module_query_title_namespaceObject); __webpack_require__.d(build_module_query_title_namespaceObject, { "metadata": function() { return query_title_metadata; }, "name": function() { return query_title_name; }, "settings": function() { return query_title_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/quote/index.js var build_module_quote_namespaceObject = {}; __webpack_require__.r(build_module_quote_namespaceObject); __webpack_require__.d(build_module_quote_namespaceObject, { "metadata": function() { return quote_metadata; }, "name": function() { return quote_name; }, "settings": function() { return quote_settings; }, "settingsV1": function() { return quote_settingsV1; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/block/index.js var block_namespaceObject = {}; __webpack_require__.r(block_namespaceObject); __webpack_require__.d(block_namespaceObject, { "metadata": function() { return block_metadata; }, "name": function() { return block_name; }, "settings": function() { return block_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/read-more/index.js var read_more_namespaceObject = {}; __webpack_require__.r(read_more_namespaceObject); __webpack_require__.d(read_more_namespaceObject, { "metadata": function() { return read_more_metadata; }, "name": function() { return read_more_name; }, "settings": function() { return read_more_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/rss/index.js var build_module_rss_namespaceObject = {}; __webpack_require__.r(build_module_rss_namespaceObject); __webpack_require__.d(build_module_rss_namespaceObject, { "metadata": function() { return rss_metadata; }, "name": function() { return rss_name; }, "settings": function() { return rss_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/search/index.js var build_module_search_namespaceObject = {}; __webpack_require__.r(build_module_search_namespaceObject); __webpack_require__.d(build_module_search_namespaceObject, { "metadata": function() { return search_metadata; }, "name": function() { return search_name; }, "settings": function() { return search_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/separator/index.js var build_module_separator_namespaceObject = {}; __webpack_require__.r(build_module_separator_namespaceObject); __webpack_require__.d(build_module_separator_namespaceObject, { "metadata": function() { return separator_metadata; }, "name": function() { return separator_name; }, "settings": function() { return separator_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/shortcode/index.js var build_module_shortcode_namespaceObject = {}; __webpack_require__.r(build_module_shortcode_namespaceObject); __webpack_require__.d(build_module_shortcode_namespaceObject, { "metadata": function() { return shortcode_metadata; }, "name": function() { return shortcode_name; }, "settings": function() { return shortcode_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-logo/index.js var build_module_site_logo_namespaceObject = {}; __webpack_require__.r(build_module_site_logo_namespaceObject); __webpack_require__.d(build_module_site_logo_namespaceObject, { "metadata": function() { return site_logo_metadata; }, "name": function() { return site_logo_name; }, "settings": function() { return site_logo_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-tagline/index.js var site_tagline_namespaceObject = {}; __webpack_require__.r(site_tagline_namespaceObject); __webpack_require__.d(site_tagline_namespaceObject, { "metadata": function() { return site_tagline_metadata; }, "name": function() { return site_tagline_name; }, "settings": function() { return site_tagline_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-title/index.js var site_title_namespaceObject = {}; __webpack_require__.r(site_title_namespaceObject); __webpack_require__.d(site_title_namespaceObject, { "metadata": function() { return site_title_metadata; }, "name": function() { return site_title_name; }, "settings": function() { return site_title_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/social-link/index.js var social_link_namespaceObject = {}; __webpack_require__.r(social_link_namespaceObject); __webpack_require__.d(social_link_namespaceObject, { "metadata": function() { return social_link_metadata; }, "name": function() { return social_link_name; }, "settings": function() { return social_link_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/social-links/index.js var social_links_namespaceObject = {}; __webpack_require__.r(social_links_namespaceObject); __webpack_require__.d(social_links_namespaceObject, { "metadata": function() { return social_links_metadata; }, "name": function() { return social_links_name; }, "settings": function() { return social_links_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/spacer/index.js var spacer_namespaceObject = {}; __webpack_require__.r(spacer_namespaceObject); __webpack_require__.d(spacer_namespaceObject, { "metadata": function() { return spacer_metadata; }, "name": function() { return spacer_name; }, "settings": function() { return spacer_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/table/index.js var build_module_table_namespaceObject = {}; __webpack_require__.r(build_module_table_namespaceObject); __webpack_require__.d(build_module_table_namespaceObject, { "metadata": function() { return table_metadata; }, "name": function() { return table_name; }, "settings": function() { return table_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/tag-cloud/index.js var tag_cloud_namespaceObject = {}; __webpack_require__.r(tag_cloud_namespaceObject); __webpack_require__.d(tag_cloud_namespaceObject, { "metadata": function() { return tag_cloud_metadata; }, "name": function() { return tag_cloud_name; }, "settings": function() { return tag_cloud_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/template-part/index.js var template_part_namespaceObject = {}; __webpack_require__.r(template_part_namespaceObject); __webpack_require__.d(template_part_namespaceObject, { "metadata": function() { return template_part_metadata; }, "name": function() { return template_part_name; }, "settings": function() { return template_part_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/term-description/index.js var build_module_term_description_namespaceObject = {}; __webpack_require__.r(build_module_term_description_namespaceObject); __webpack_require__.d(build_module_term_description_namespaceObject, { "metadata": function() { return term_description_metadata; }, "name": function() { return term_description_name; }, "settings": function() { return term_description_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/text-columns/index.js var text_columns_namespaceObject = {}; __webpack_require__.r(text_columns_namespaceObject); __webpack_require__.d(text_columns_namespaceObject, { "metadata": function() { return text_columns_metadata; }, "name": function() { return text_columns_name; }, "settings": function() { return text_columns_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/verse/index.js var build_module_verse_namespaceObject = {}; __webpack_require__.r(build_module_verse_namespaceObject); __webpack_require__.d(build_module_verse_namespaceObject, { "metadata": function() { return verse_metadata; }, "name": function() { return verse_name; }, "settings": function() { return verse_settings; } }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/video/index.js var build_module_video_namespaceObject = {}; __webpack_require__.r(build_module_video_namespaceObject); __webpack_require__.d(build_module_video_namespaceObject, { "metadata": function() { return video_metadata; }, "name": function() { return video_name; }, "settings": function() { return video_settings; } }); ;// CONCATENATED MODULE: external ["wp","blocks"] var external_wp_blocks_namespaceObject = window["wp"]["blocks"]; ;// CONCATENATED MODULE: external ["wp","element"] var external_wp_element_namespaceObject = window["wp"]["element"]; ;// CONCATENATED MODULE: external ["wp","primitives"] var external_wp_primitives_namespaceObject = window["wp"]["primitives"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/archive.js /** * WordPress dependencies */ const archive = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M19 6.2h-5.9l-.6-1.1c-.3-.7-1-1.1-1.8-1.1H5c-1.1 0-2 .9-2 2v11.8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V8.2c0-1.1-.9-2-2-2zm.5 11.6c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h5.8c.2 0 .4.1.4.3l1 2H19c.3 0 .5.2.5.5v9.5zM8 12.8h8v-1.5H8v1.5zm0 3h8v-1.5H8v1.5z" })); /* harmony default export */ var library_archive = (archive); ;// CONCATENATED MODULE: external ["wp","components"] var external_wp_components_namespaceObject = window["wp"]["components"]; ;// CONCATENATED MODULE: external ["wp","i18n"] var external_wp_i18n_namespaceObject = window["wp"]["i18n"]; ;// CONCATENATED MODULE: external ["wp","blockEditor"] var external_wp_blockEditor_namespaceObject = window["wp"]["blockEditor"]; ;// CONCATENATED MODULE: external ["wp","serverSideRender"] var external_wp_serverSideRender_namespaceObject = window["wp"]["serverSideRender"]; var external_wp_serverSideRender_default = /*#__PURE__*/__webpack_require__.n(external_wp_serverSideRender_namespaceObject); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/edit.js /** * WordPress dependencies */ function ArchivesEdit(_ref) { let { attributes, setAttributes } = _ref; const { showPostCounts, displayAsDropdown, type } = attributes; return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InspectorControls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)('Archives settings') }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Display as dropdown'), checked: displayAsDropdown, onChange: () => setAttributes({ displayAsDropdown: !displayAsDropdown }) }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Show post counts'), checked: showPostCounts, onChange: () => setAttributes({ showPostCounts: !showPostCounts }) }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SelectControl, { label: (0,external_wp_i18n_namespaceObject.__)('Group by:'), options: [{ label: (0,external_wp_i18n_namespaceObject.__)('Year'), value: 'yearly' }, { label: (0,external_wp_i18n_namespaceObject.__)('Month'), value: 'monthly' }, { label: (0,external_wp_i18n_namespaceObject.__)('Week'), value: 'weekly' }, { label: (0,external_wp_i18n_namespaceObject.__)('Day'), value: 'daily' }], value: type, onChange: value => setAttributes({ type: value }) }))), (0,external_wp_element_namespaceObject.createElement)("div", (0,external_wp_blockEditor_namespaceObject.useBlockProps)(), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Disabled, null, (0,external_wp_element_namespaceObject.createElement)((external_wp_serverSideRender_default()), { block: "core/archives", attributes: attributes })))); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/archives", title: "Archives", category: "widgets", description: "Display a date archive of your posts.", textdomain: "default", attributes: { displayAsDropdown: { type: "boolean", "default": false }, showPostCounts: { type: "boolean", "default": false }, type: { type: "string", "default": "monthly" } }, supports: { align: true, html: false }, editorStyle: "wp-block-archives-editor" }; const { name: archives_name } = metadata; const settings = { icon: library_archive, example: {}, edit: ArchivesEdit }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/comment-author-avatar.js /** * WordPress dependencies */ const commentAuthorAvatar = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { fillRule: "evenodd", d: "M7.25 16.437a6.5 6.5 0 1 1 9.5 0V16A2.75 2.75 0 0 0 14 13.25h-4A2.75 2.75 0 0 0 7.25 16v.437Zm1.5 1.193a6.47 6.47 0 0 0 3.25.87 6.47 6.47 0 0 0 3.25-.87V16c0-.69-.56-1.25-1.25-1.25h-4c-.69 0-1.25.56-1.25 1.25v1.63ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm10-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z", clipRule: "evenodd" })); /* harmony default export */ var comment_author_avatar = (commentAuthorAvatar); ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js 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); } // EXTERNAL MODULE: ./node_modules/classnames/index.js var classnames = __webpack_require__(4403); var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); ;// CONCATENATED MODULE: external ["wp","url"] var external_wp_url_namespaceObject = window["wp"]["url"]; ;// CONCATENATED MODULE: external ["wp","coreData"] var external_wp_coreData_namespaceObject = window["wp"]["coreData"]; ;// CONCATENATED MODULE: external ["wp","data"] var external_wp_data_namespaceObject = window["wp"]["data"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/avatar/hooks.js /** * WordPress dependencies */ function getAvatarSizes(sizes) { const minSize = sizes ? sizes[0] : 24; const maxSize = sizes ? sizes[sizes.length - 1] : 96; const maxSizeBuffer = Math.floor(maxSize * 2.5); return { minSize, maxSize: maxSizeBuffer }; } function useDefaultAvatar() { const { avatarURL: defaultAvatarUrl } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { getSettings } = select(external_wp_blockEditor_namespaceObject.store); const { __experimentalDiscussionSettings } = getSettings(); return __experimentalDiscussionSettings; }); return defaultAvatarUrl; } function useCommentAvatar(_ref) { let { commentId } = _ref; const [avatars] = (0,external_wp_coreData_namespaceObject.useEntityProp)('root', 'comment', 'author_avatar_urls', commentId); const [authorName] = (0,external_wp_coreData_namespaceObject.useEntityProp)('root', 'comment', 'author_name', commentId); const avatarUrls = avatars ? Object.values(avatars) : null; const sizes = avatars ? Object.keys(avatars) : null; const { minSize, maxSize } = getAvatarSizes(sizes); const defaultAvatar = useDefaultAvatar(); return { src: avatarUrls ? avatarUrls[avatarUrls.length - 1] : defaultAvatar, minSize, maxSize, // translators: %s is the Author name. alt: authorName ? // translators: %s is the Author name. (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)('%s Avatar'), authorName) : (0,external_wp_i18n_namespaceObject.__)('Default Avatar') }; } function useUserAvatar(_ref2) { let { userId, postId, postType } = _ref2; const { authorDetails } = (0,external_wp_data_namespaceObject.useSelect)(select => { var _getEditedEntityRecor; const { getEditedEntityRecord, getUser } = select(external_wp_coreData_namespaceObject.store); if (userId) { return { authorDetails: getUser(userId) }; } const _authorId = (_getEditedEntityRecor = getEditedEntityRecord('postType', postType, postId)) === null || _getEditedEntityRecor === void 0 ? void 0 : _getEditedEntityRecor.author; return { authorDetails: _authorId ? getUser(_authorId) : null }; }, [postType, postId, userId]); const avatarUrls = authorDetails ? Object.values(authorDetails.avatar_urls) : null; const sizes = authorDetails ? Object.keys(authorDetails.avatar_urls) : null; const { minSize, maxSize } = getAvatarSizes(sizes); const defaultAvatar = useDefaultAvatar(); return { src: avatarUrls ? avatarUrls[avatarUrls.length - 1] : defaultAvatar, minSize, maxSize, alt: authorDetails ? // translators: %s is the Author name. (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)('%s Avatar'), authorDetails === null || authorDetails === void 0 ? void 0 : authorDetails.name) : (0,external_wp_i18n_namespaceObject.__)('Default Avatar') }; } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/avatar/user-control.js /** * WordPress dependencies */ const AUTHORS_QUERY = { who: 'authors', per_page: -1, _fields: 'id,name', context: 'view' }; function UserControl(_ref) { let { value, onChange } = _ref; const [filteredAuthorsList, setFilteredAuthorsList] = (0,external_wp_element_namespaceObject.useState)(); const authorsList = (0,external_wp_data_namespaceObject.useSelect)(select => { const { getUsers } = select(external_wp_coreData_namespaceObject.store); return getUsers(AUTHORS_QUERY); }, []); if (!authorsList) { return null; } const options = authorsList.map(author => { return { label: author.name, value: author.id }; }); return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ComboboxControl, { label: (0,external_wp_i18n_namespaceObject.__)('User'), help: (0,external_wp_i18n_namespaceObject.__)('Select the avatar user to display, if it is blank it will use the post/page author.'), value: value, onChange: onChange, options: filteredAuthorsList || options, onFilterValueChange: inputValue => setFilteredAuthorsList(options.filter(option => option.label.toLowerCase().startsWith(inputValue.toLowerCase()))) }); } /* harmony default export */ var user_control = (UserControl); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/avatar/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const AvatarInspectorControls = _ref => { let { setAttributes, avatar, attributes, selectUser } = _ref; return (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InspectorControls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)('Settings') }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.RangeControl, { label: (0,external_wp_i18n_namespaceObject.__)('Image size'), onChange: newSize => setAttributes({ size: newSize }), min: avatar.minSize, max: avatar.maxSize, initialPosition: attributes === null || attributes === void 0 ? void 0 : attributes.size, value: attributes === null || attributes === void 0 ? void 0 : attributes.size }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Link to user profile'), onChange: () => setAttributes({ isLink: !attributes.isLink }), checked: attributes.isLink }), attributes.isLink && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Open in new tab'), onChange: value => setAttributes({ linkTarget: value ? '_blank' : '_self' }), checked: attributes.linkTarget === '_blank' }), selectUser && (0,external_wp_element_namespaceObject.createElement)(user_control, { value: attributes === null || attributes === void 0 ? void 0 : attributes.userId, onChange: value => { setAttributes({ userId: value }); } }))); }; const ResizableAvatar = _ref2 => { let { setAttributes, attributes, avatar, blockProps, isSelected } = _ref2; const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBorderProps)(attributes); const doubledSizedSrc = (0,external_wp_url_namespaceObject.addQueryArgs)((0,external_wp_url_namespaceObject.removeQueryArgs)(avatar === null || avatar === void 0 ? void 0 : avatar.src, ['s']), { s: (attributes === null || attributes === void 0 ? void 0 : attributes.size) * 2 }); return (0,external_wp_element_namespaceObject.createElement)("div", blockProps, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ResizableBox, { size: { width: attributes.size, height: attributes.size }, showHandle: isSelected, onResizeStop: (event, direction, elt, delta) => { setAttributes({ size: parseInt(attributes.size + (delta.height || delta.width), 10) }); }, lockAspectRatio: true, enable: { top: false, right: !(0,external_wp_i18n_namespaceObject.isRTL)(), bottom: true, left: (0,external_wp_i18n_namespaceObject.isRTL)() }, minWidth: avatar.minSize, maxWidth: avatar.maxSize }, (0,external_wp_element_namespaceObject.createElement)("img", _extends({ src: doubledSizedSrc, alt: avatar.alt }, borderProps, { className: classnames_default()('avatar', 'avatar-' + attributes.size, 'photo', 'wp-block-avatar__image', borderProps.className), style: { ...borderProps.style // Border radius, width and style. } })))); }; const CommentEdit = _ref3 => { let { attributes, context, setAttributes, isSelected } = _ref3; const { commentId } = context; const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); const avatar = useCommentAvatar({ commentId }); return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(AvatarInspectorControls, { avatar: avatar, setAttributes: setAttributes, attributes: attributes, selectUser: false }), attributes.isLink ? (0,external_wp_element_namespaceObject.createElement)("a", { href: "#avatar-pseudo-link", className: "wp-block-avatar__link", onClick: event => event.preventDefault() }, (0,external_wp_element_namespaceObject.createElement)(ResizableAvatar, { attributes: attributes, avatar: avatar, blockProps: blockProps, isSelected: isSelected, setAttributes: setAttributes })) : (0,external_wp_element_namespaceObject.createElement)(ResizableAvatar, { attributes: attributes, avatar: avatar, blockProps: blockProps, isSelected: isSelected, setAttributes: setAttributes })); }; const UserEdit = _ref4 => { let { attributes, context, setAttributes, isSelected } = _ref4; const { postId, postType } = context; const avatar = useUserAvatar({ userId: attributes === null || attributes === void 0 ? void 0 : attributes.userId, postId, postType }); const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(AvatarInspectorControls, { selectUser: true, attributes: attributes, avatar: avatar, setAttributes: setAttributes }), (0,external_wp_element_namespaceObject.createElement)("div", null, attributes.isLink ? (0,external_wp_element_namespaceObject.createElement)("a", { href: "#avatar-pseudo-link", className: "wp-block-avatar__link", onClick: event => event.preventDefault() }, (0,external_wp_element_namespaceObject.createElement)(ResizableAvatar, { attributes: attributes, avatar: avatar, blockProps: blockProps, isSelected: isSelected, setAttributes: setAttributes })) : (0,external_wp_element_namespaceObject.createElement)(ResizableAvatar, { attributes: attributes, avatar: avatar, blockProps: blockProps, isSelected: isSelected, setAttributes: setAttributes }))); }; function Edit(props) { var _props$context, _props$context2; // Don't show the Comment Edit controls if we have a comment ID set, or if we're in the Site Editor (where it is `null`). if (props !== null && props !== void 0 && (_props$context = props.context) !== null && _props$context !== void 0 && _props$context.commentId || (props === null || props === void 0 ? void 0 : (_props$context2 = props.context) === null || _props$context2 === void 0 ? void 0 : _props$context2.commentId) === null) { return (0,external_wp_element_namespaceObject.createElement)(CommentEdit, props); } return (0,external_wp_element_namespaceObject.createElement)(UserEdit, props); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/avatar/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const avatar_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/avatar", title: "Avatar", category: "theme", description: "Add a user's avatar.", textdomain: "default", attributes: { userId: { type: "number" }, size: { type: "number", "default": 96 }, isLink: { type: "boolean", "default": false }, linkTarget: { type: "string", "default": "_self" } }, usesContext: ["postType", "postId", "commentId"], supports: { html: false, align: true, alignWide: false, spacing: { margin: true }, __experimentalBorder: { __experimentalSkipSerialization: true, radius: true, width: true, color: true, style: true, __experimentalDefaultControls: { radius: true } }, color: { text: false, background: false, __experimentalDuotone: "img" } }, editorStyle: "wp-block-avatar", style: "wp-block-avatar" }; const { name: avatar_name } = avatar_metadata; const avatar_settings = { icon: comment_author_avatar, edit: Edit }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/audio.js /** * WordPress dependencies */ const audio = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M17.7 4.3c-1.2 0-2.8 0-3.8 1-.6.6-.9 1.5-.9 2.6V14c-.6-.6-1.5-1-2.5-1C8.6 13 7 14.6 7 16.5S8.6 20 10.5 20c1.5 0 2.8-1 3.3-2.3.5-.8.7-1.8.7-2.5V7.9c0-.7.2-1.2.5-1.6.6-.6 1.8-.6 2.8-.6h.3V4.3h-.4z" })); /* harmony default export */ var library_audio = (audio); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/deprecated.js /** * WordPress dependencies */ /* harmony default export */ var deprecated = ([{ 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' } }, supports: { align: true }, save(_ref) { let { attributes } = _ref; const { autoplay, caption, loop, preload, src } = attributes; return (0,external_wp_element_namespaceObject.createElement)("figure", null, (0,external_wp_element_namespaceObject.createElement)("audio", { controls: "controls", src: src, autoPlay: autoplay, loop: loop, preload: preload }), !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "figcaption", value: caption })); } }]); ;// CONCATENATED MODULE: external ["wp","blob"] var external_wp_blob_namespaceObject = window["wp"]["blob"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/constants.js const 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' }]; const WP_EMBED_TYPE = 'wp-embed'; ;// CONCATENATED MODULE: external "lodash" var external_lodash_namespaceObject = window["lodash"]; // EXTERNAL MODULE: ./node_modules/classnames/dedupe.js var dedupe = __webpack_require__(3827); var dedupe_default = /*#__PURE__*/__webpack_require__.n(dedupe); // EXTERNAL MODULE: ./node_modules/memize/index.js var memize = __webpack_require__(9756); 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 */ /** * Internal dependencies */ const util_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/embed", title: "Embed", category: "embed", description: "Add a block that displays content pulled from other sites, like Twitter or YouTube.", textdomain: "default", attributes: { url: { type: "string" }, caption: { type: "string", source: "html", selector: "figcaption" }, type: { type: "string" }, providerNameSlug: { type: "string" }, allowResponsive: { type: "boolean", "default": true }, responsive: { type: "boolean", "default": false }, previewable: { type: "boolean", "default": true } }, supports: { align: true }, editorStyle: "wp-block-embed-editor", style: "wp-block-embed" }; const { name: DEFAULT_EMBED_BLOCK } = util_metadata; /** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */ /** * Returns the embed block's information by matching the provided service provider * * @param {string} provider The embed block's provider * @return {WPBlockVariation} The embed block's information */ const getEmbedInfoByProvider = provider => { var _getBlockVariations; return (_getBlockVariations = (0,external_wp_blocks_namespaceObject.getBlockVariations)(DEFAULT_EMBED_BLOCK)) === null || _getBlockVariations === void 0 ? void 0 : _getBlockVariations.find(_ref => { let { name } = _ref; return name === provider; }); }; /** * 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. */ const matchesPatterns = function (url) { let patterns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; return patterns.some(pattern => url.match(pattern)); }; /** * Finds the block variation that should be used for the URL, * based on the provided URL and the variation's patterns. * * @param {string} url The URL to test. * @return {WPBlockVariation} The block variation that should be used for this URL */ const findMoreSuitableBlock = url => { var _getBlockVariations2; return (_getBlockVariations2 = (0,external_wp_blocks_namespaceObject.getBlockVariations)(DEFAULT_EMBED_BLOCK)) === null || _getBlockVariations2 === void 0 ? void 0 : _getBlockVariations2.find(_ref2 => { let { patterns } = _ref2; return matchesPatterns(url, patterns); }); }; const isFromWordPress = html => html && html.includes('class="wp-embedded-content"'); const 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. const imageUrl = photo.thumbnail_url || photo.url; const photoPreview = (0,external_wp_element_namespaceObject.createElement)("p", null, (0,external_wp_element_namespaceObject.createElement)("img", { src: imageUrl, alt: photo.title, width: "100%" })); return (0,external_wp_element_namespaceObject.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. */ const createUpgradedEmbedBlock = function (props) { var _getBlockVariations3; let attributesFromPreview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; const { preview, attributes = {} } = props; const { url, providerNameSlug, type, ...restAttributes } = attributes; if (!url || !(0,external_wp_blocks_namespaceObject.getBlockType)(DEFAULT_EMBED_BLOCK)) return; const matchedBlock = findMoreSuitableBlock(url); // 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. const isCurrentBlockWP = providerNameSlug === 'wordpress' || type === WP_EMBED_TYPE; // If current block is not WordPress and a more suitable block found // that is different from the current one, create the new matched block. const shouldCreateNewBlock = !isCurrentBlockWP && matchedBlock && (matchedBlock.attributes.providerNameSlug !== providerNameSlug || !providerNameSlug); if (shouldCreateNewBlock) { return (0,external_wp_blocks_namespaceObject.createBlock)(DEFAULT_EMBED_BLOCK, { url, ...restAttributes, ...matchedBlock.attributes }); } const wpVariation = (_getBlockVariations3 = (0,external_wp_blocks_namespaceObject.getBlockVariations)(DEFAULT_EMBED_BLOCK)) === null || _getBlockVariations3 === void 0 ? void 0 : _getBlockVariations3.find(_ref3 => { let { name } = _ref3; return name === 'wordpress'; }); // We can't match the URL for WordPress embeds, we have to check the HTML instead. if (!wpVariation || !preview || !isFromWordPress(preview.html) || isCurrentBlockWP) { return; } // This is not the WordPress embed block so transform it into one. return (0,external_wp_blocks_namespaceObject.createBlock)(DEFAULT_EMBED_BLOCK, { url, ...wpVariation.attributes, // By now we have the preview, but when the new block first renders, it // won't have had all the attributes set, and so won't get the correct // type and it won't render correctly. So, we pass through the current attributes // here so that the initial render works when we switch to the WordPress // block. This only affects the WordPress block because it can't be // rendered in the usual Sandbox (it has a sandbox of its own) and it // relies on the preview to set the correct render type. ...attributesFromPreview }); }; /** * Removes all previously set aspect ratio related classes and return the rest * existing class names. * * @param {string} existingClassNames Any existing class names. * @return {string} The class names without any aspect ratio related class. */ const removeAspectRatioClasses = existingClassNames => { if (!existingClassNames) { // Avoids extraneous work and also, by returning the same value as // received, ensures the post is not dirtied by a change of the block // attribute from `undefined` to an emtpy string. return existingClassNames; } const aspectRatioClassNames = ASPECT_RATIOS.reduce((accumulator, _ref4) => { let { className } = _ref4; accumulator[className] = false; return accumulator; }, { 'wp-has-aspect-ratio': false }); return dedupe_default()(existingClassNames, aspectRatioClassNames); }; /** * 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, existingClassNames) { let allowResponsive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; if (!allowResponsive) { return removeAspectRatioClasses(existingClassNames); } const previewDocument = document.implementation.createHTMLDocument(''); previewDocument.body.innerHTML = html; const 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) { const aspectRatio = (iframe.width / iframe.height).toFixed(2); // Given the actual aspect ratio, find the widest ratio to support it. for (let ratioIndex = 0; ratioIndex < ASPECT_RATIOS.length; ratioIndex++) { const potentialRatio = ASPECT_RATIOS[ratioIndex]; if (aspectRatio >= potentialRatio.ratio) { // Evaluate the difference between actual aspect ratio and closest match. // If the difference is too big, do not scale the embed according to aspect ratio. const ratioDiff = aspectRatio - potentialRatio.ratio; if (ratioDiff > 0.1) { // No close aspect ratio match found. return removeAspectRatioClasses(existingClassNames); } // Close aspect ratio match found. return dedupe_default()(removeAspectRatioClasses(existingClassNames), potentialRatio.className, 'wp-has-aspect-ratio'); } } } 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 fallback(url, onReplace) { const link = (0,external_wp_element_namespaceObject.createElement)("a", { href: url }, url); onReplace((0,external_wp_blocks_namespaceObject.createBlock)('core/paragraph', { content: (0,external_wp_element_namespaceObject.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. */ const getAttributesFromPreview = memize_default()(function (preview, title, currentClassNames, isResponsive) { let allowResponsive = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; if (!preview) { return {}; } const attributes = {}; // Some plugins only return HTML with no type info, so default this to 'rich'. let { type = 'rich' } = preview; // 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. const { html, provider_name: providerName } = preview; const providerNameSlug = (0,external_lodash_namespaceObject.kebabCase)((providerName || title).toLowerCase()); if (isFromWordPress(html)) { type = WP_EMBED_TYPE; } 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/audio/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const ALLOWED_MEDIA_TYPES = ['audio']; function AudioEdit(_ref) { let { attributes, className, noticeOperations, setAttributes, onReplace, isSelected, noticeUI, insertBlocksAfter } = _ref; const { id, autoplay, caption, loop, preload, src } = attributes; const isTemporaryAudio = !id && (0,external_wp_blob_namespaceObject.isBlobURL)(src); const mediaUpload = (0,external_wp_data_namespaceObject.useSelect)(select => { const { getSettings } = select(external_wp_blockEditor_namespaceObject.store); return getSettings().mediaUpload; }, []); (0,external_wp_element_namespaceObject.useEffect)(() => { if (!id && (0,external_wp_blob_namespaceObject.isBlobURL)(src)) { const file = (0,external_wp_blob_namespaceObject.getBlobByURL)(src); if (file) { mediaUpload({ filesList: [file], onFileChange: _ref2 => { let [{ id: mediaId, url }] = _ref2; setAttributes({ id: mediaId, src: url }); }, onError: e => { setAttributes({ src: undefined, id: undefined }); noticeOperations.createErrorNotice(e); }, allowedTypes: ALLOWED_MEDIA_TYPES }); } } }, []); function toggleAttribute(attribute) { return newValue => { setAttributes({ [attribute]: newValue }); }; } function onSelectURL(newSrc) { // 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. const embedBlock = createUpgradedEmbedBlock({ attributes: { url: newSrc } }); if (undefined !== embedBlock && onReplace) { onReplace(embedBlock); return; } setAttributes({ src: newSrc, id: undefined }); } } function onUploadError(message) { noticeOperations.removeAllNotices(); noticeOperations.createErrorNotice(message); } function getAutoplayHelp(checked) { return checked ? (0,external_wp_i18n_namespaceObject.__)('Autoplay may cause usability issues for some users.') : null; } 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 }); 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 }); } const classes = classnames_default()(className, { 'is-transient': isTemporaryAudio }); const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ className: classes }); if (!src) { return (0,external_wp_element_namespaceObject.createElement)("div", blockProps, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.MediaPlaceholder, { icon: (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockIcon, { icon: library_audio }), onSelect: onSelectAudio, onSelectURL: onSelectURL, accept: "audio/*", allowedTypes: ALLOWED_MEDIA_TYPES, value: attributes, notices: noticeUI, onError: onUploadError })); } return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "other" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.MediaReplaceFlow, { mediaId: id, mediaURL: src, allowedTypes: ALLOWED_MEDIA_TYPES, accept: "audio/*", onSelect: onSelectAudio, onSelectURL: onSelectURL, onError: onUploadError })), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InspectorControls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)('Audio settings') }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Autoplay'), onChange: toggleAttribute('autoplay'), checked: autoplay, help: getAutoplayHelp }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Loop'), onChange: toggleAttribute('loop'), checked: loop }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SelectControl, { label: (0,external_wp_i18n_namespaceObject._x)('Preload', 'noun; Audio block parameter'), value: preload || '' // `undefined` is required for the preload attribute to be unset. , onChange: value => setAttributes({ preload: value || undefined }), options: [{ value: '', label: (0,external_wp_i18n_namespaceObject.__)('Browser default') }, { value: 'auto', label: (0,external_wp_i18n_namespaceObject.__)('Auto') }, { value: 'metadata', label: (0,external_wp_i18n_namespaceObject.__)('Metadata') }, { value: 'none', label: (0,external_wp_i18n_namespaceObject._x)('None', 'Preload value') }] }))), (0,external_wp_element_namespaceObject.createElement)("figure", blockProps, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Disabled, { isDisabled: !isSelected }, (0,external_wp_element_namespaceObject.createElement)("audio", { controls: "controls", src: src })), isTemporaryAudio && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Spinner, null), (!external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) || isSelected) && (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText, { tagName: "figcaption", "aria-label": (0,external_wp_i18n_namespaceObject.__)('Audio caption text'), placeholder: (0,external_wp_i18n_namespaceObject.__)('Add caption'), value: caption, onChange: value => setAttributes({ caption: value }), inlineToolbar: true, __unstableOnSplitAtEnd: () => insertBlocksAfter((0,external_wp_blocks_namespaceObject.createBlock)('core/paragraph')) }))); } /* harmony default export */ var edit = ((0,external_wp_components_namespaceObject.withNotices)(AudioEdit)); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/save.js /** * WordPress dependencies */ function save(_ref) { let { attributes } = _ref; const { autoplay, caption, loop, preload, src } = attributes; return src && (0,external_wp_element_namespaceObject.createElement)("figure", external_wp_blockEditor_namespaceObject.useBlockProps.save(), (0,external_wp_element_namespaceObject.createElement)("audio", { controls: "controls", src: src, autoPlay: autoplay, loop: loop, preload: preload }), !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "figcaption", value: caption })); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/transforms.js /** * WordPress dependencies */ const transforms = { from: [{ type: 'files', isMatch(files) { return files.length === 1 && files[0].type.indexOf('audio/') === 0; }, transform(files) { const 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. const block = (0,external_wp_blocks_namespaceObject.createBlock)('core/audio', { src: (0,external_wp_blob_namespaceObject.createBlobURL)(file) }); return block; } }, { type: 'shortcode', tag: 'audio', attributes: { src: { type: 'string', shortcode: _ref => { let { named: { src, mp3, m4a, ogg, wav, wma } } = _ref; return src || mp3 || m4a || ogg || wav || wma; } }, loop: { type: 'string', shortcode: _ref2 => { let { named: { loop } } = _ref2; return loop; } }, autoplay: { type: 'string', shortcode: _ref3 => { let { named: { autoplay } } = _ref3; return autoplay; } }, preload: { type: 'string', shortcode: _ref4 => { let { named: { preload } } = _ref4; return preload; } } } }] }; /* harmony default export */ var audio_transforms = (transforms); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const audio_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/audio", title: "Audio", category: "media", description: "Embed a simple audio player.", keywords: ["music", "sound", "podcast", "recording"], textdomain: "default", 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" } }, supports: { anchor: true, align: true }, editorStyle: "wp-block-audio-editor", style: "wp-block-audio" }; const { name: audio_name } = audio_metadata; const audio_settings = { icon: library_audio, example: { attributes: { src: 'https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg' } }, transforms: audio_transforms, deprecated: deprecated, edit: edit, save: save }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/button.js /** * WordPress dependencies */ const button_button = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M19 6.5H5c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7c0-1.1-.9-2-2-2zm.5 9c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v7zM8 12.8h8v-1.5H8v1.5z" })); /* harmony default export */ var library_button = (button_button); ;// CONCATENATED MODULE: external ["wp","compose"] var external_wp_compose_namespaceObject = window["wp"]["compose"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/utils/clean-empty-object.js /** * External dependencies */ /** * Removed empty nodes from nested objects. * * @param {Object} object * @return {Object} Object cleaned from empty nodes. */ const cleanEmptyObject = object => { if (!(0,external_lodash_namespaceObject.isObject)(object) || Array.isArray(object)) { return object; } const cleanedNestedObjects = (0,external_lodash_namespaceObject.pickBy)((0,external_lodash_namespaceObject.mapValues)(object, cleanEmptyObject), external_lodash_namespaceObject.identity); return (0,external_lodash_namespaceObject.isEmpty)(cleanedNestedObjects) ? undefined : cleanedNestedObjects; }; /* harmony default export */ var clean_empty_object = (cleanEmptyObject); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/utils/migrate-font-family.js /** * External dependencies */ /** * Internal dependencies */ /** * Migrates the current style.typography.fontFamily attribute, * whose value was "var:preset|font-family|helvetica-arial", * to the style.fontFamily attribute, whose value will be "helvetica-arial". * * @param {Object} attributes The current attributes * @return {Object} The updated attributes. */ /* harmony default export */ function migrate_font_family(attributes) { var _attributes$style, _attributes$style$typ; if (!(attributes !== null && attributes !== void 0 && (_attributes$style = attributes.style) !== null && _attributes$style !== void 0 && (_attributes$style$typ = _attributes$style.typography) !== null && _attributes$style$typ !== void 0 && _attributes$style$typ.fontFamily)) { return attributes; } // Clone first so when we delete the fontFamily // below we're not modifying the original // attributes. Because the deprecation may be discarded // we don't want to alter the original attributes. const atts = (0,external_lodash_namespaceObject.cloneDeep)(attributes); const fontFamily = atts.style.typography.fontFamily.split('|').pop(); delete atts.style.typography.fontFamily; atts.style = clean_empty_object(atts.style); return { ...atts, fontFamily }; } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/deprecated.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const migrateBorderRadius = attributes => { var _newAttributes$style, _newAttributes$style$, _newAttributes$style2; const { borderRadius, ...newAttributes } = attributes; // We have to check old property `borderRadius` and if // `styles.border.radius` is a `number` const oldBorderRadius = [borderRadius, (_newAttributes$style = newAttributes.style) === null || _newAttributes$style === void 0 ? void 0 : (_newAttributes$style$ = _newAttributes$style.border) === null || _newAttributes$style$ === void 0 ? void 0 : _newAttributes$style$.radius].find(possibleBorderRadius => { return typeof possibleBorderRadius === 'number' && possibleBorderRadius !== 0; }); if (!oldBorderRadius) { return newAttributes; } return { ...newAttributes, style: { ...newAttributes.style, border: { ...((_newAttributes$style2 = newAttributes.style) === null || _newAttributes$style2 === void 0 ? void 0 : _newAttributes$style2.border), radius: `${oldBorderRadius}px` } } }; }; const migrateCustomColorsAndGradients = attributes => { if (!attributes.customTextColor && !attributes.customBackgroundColor && !attributes.customGradient) { return attributes; } const style = { color: {} }; if (attributes.customTextColor) { style.color.text = attributes.customTextColor; } if (attributes.customBackgroundColor) { style.color.background = attributes.customBackgroundColor; } if (attributes.customGradient) { style.color.gradient = attributes.customGradient; } return { ...(0,external_lodash_namespaceObject.omit)(attributes, ['customTextColor', 'customBackgroundColor', 'customGradient']), style }; }; const oldColorsMigration = attributes => { return migrateCustomColorsAndGradients((0,external_lodash_namespaceObject.omit)({ ...attributes, customTextColor: attributes.textColor && '#' === attributes.textColor[0] ? attributes.textColor : undefined, customBackgroundColor: attributes.color && '#' === attributes.color[0] ? attributes.color : undefined }, ['color', 'textColor'])); }; const 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' } }; const v10 = { 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' }, linkTarget: { type: 'string', source: 'attribute', selector: 'a', attribute: 'target' }, rel: { type: 'string', source: 'attribute', selector: 'a', attribute: 'rel' }, placeholder: { type: 'string' }, backgroundColor: { type: 'string' }, textColor: { type: 'string' }, gradient: { type: 'string' }, width: { type: 'number' } }, supports: { anchor: true, align: true, alignWide: false, color: { __experimentalSkipSerialization: true, gradients: true }, typography: { fontSize: true, __experimentalFontFamily: true }, reusable: false, spacing: { __experimentalSkipSerialization: true, padding: ['horizontal', 'vertical'], __experimentalDefaultControls: { padding: true } }, __experimentalBorder: { radius: true, __experimentalSkipSerialization: true }, __experimentalSelector: '.wp-block-button__link' }, save(_ref) { var _style$border, _style$typography; let { attributes, className } = _ref; const { fontSize, linkTarget, rel, style, text, title, url, width } = attributes; if (!text) { return null; } const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, borderProps.className, { // For backwards compatibility add style that isn't provided via // block support. 'no-border-radius': (style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius) === 0 }); const buttonStyle = { ...borderProps.style, ...colorProps.style, ...spacingProps.style }; // The use of a `title` attribute here is soft-deprecated, but still applied // if it had already been assigned, for the sake of backward-compatibility. // A title will no longer be assigned for new or updated button block links. const wrapperClasses = classnames_default()(className, { [`has-custom-width wp-block-button__width-${width}`]: width, [`has-custom-font-size`]: fontSize || (style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.fontSize) }); return (0,external_wp_element_namespaceObject.createElement)("div", external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: wrapperClasses }), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "a", className: buttonClasses, href: url, title: title, style: buttonStyle, value: text, target: linkTarget, rel: rel })); }, migrate: migrate_font_family, isEligible(_ref2) { var _style$typography2; let { style } = _ref2; return style === null || style === void 0 ? void 0 : (_style$typography2 = style.typography) === null || _style$typography2 === void 0 ? void 0 : _style$typography2.fontFamily; } }; const deprecated_deprecated = [v10, { supports: { anchor: true, align: true, alignWide: false, color: { __experimentalSkipSerialization: true, gradients: true }, typography: { fontSize: true, __experimentalFontFamily: true }, reusable: false, __experimentalSelector: '.wp-block-button__link' }, attributes: { ...blockAttributes, linkTarget: { type: 'string', source: 'attribute', selector: 'a', attribute: 'target' }, rel: { type: 'string', source: 'attribute', selector: 'a', attribute: 'rel' }, placeholder: { type: 'string' }, backgroundColor: { type: 'string' }, textColor: { type: 'string' }, gradient: { type: 'string' }, width: { type: 'number' } }, isEligible(_ref3) { var _style$border2; let { style } = _ref3; return typeof (style === null || style === void 0 ? void 0 : (_style$border2 = style.border) === null || _style$border2 === void 0 ? void 0 : _style$border2.radius) === 'number'; }, save(_ref4) { var _style$border3, _style$border4, _style$typography3; let { attributes, className } = _ref4; const { fontSize, linkTarget, rel, style, text, title, url, width } = attributes; if (!text) { return null; } const borderRadius = style === null || style === void 0 ? void 0 : (_style$border3 = style.border) === null || _style$border3 === void 0 ? void 0 : _style$border3.radius; const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, { 'no-border-radius': (style === null || style === void 0 ? void 0 : (_style$border4 = style.border) === null || _style$border4 === void 0 ? void 0 : _style$border4.radius) === 0 }); const buttonStyle = { borderRadius: borderRadius ? borderRadius : undefined, ...colorProps.style }; // The use of a `title` attribute here is soft-deprecated, but still applied // if it had already been assigned, for the sake of backward-compatibility. // A title will no longer be assigned for new or updated button block links. const wrapperClasses = classnames_default()(className, { [`has-custom-width wp-block-button__width-${width}`]: width, [`has-custom-font-size`]: fontSize || (style === null || style === void 0 ? void 0 : (_style$typography3 = style.typography) === null || _style$typography3 === void 0 ? void 0 : _style$typography3.fontSize) }); return (0,external_wp_element_namespaceObject.createElement)("div", external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: wrapperClasses }), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "a", className: buttonClasses, href: url, title: title, style: buttonStyle, value: text, target: linkTarget, rel: rel })); }, migrate: (0,external_wp_compose_namespaceObject.compose)(migrate_font_family, migrateBorderRadius) }, { supports: { anchor: true, align: true, alignWide: false, color: { __experimentalSkipSerialization: true }, reusable: false, __experimentalSelector: '.wp-block-button__link' }, attributes: { ...blockAttributes, linkTarget: { type: 'string', source: 'attribute', selector: 'a', attribute: 'target' }, rel: { type: 'string', source: 'attribute', selector: 'a', attribute: 'rel' }, placeholder: { type: 'string' }, borderRadius: { type: 'number' }, backgroundColor: { type: 'string' }, textColor: { type: 'string' }, gradient: { type: 'string' }, style: { type: 'object' }, width: { type: 'number' } }, save(_ref5) { let { attributes, className } = _ref5; const { borderRadius, linkTarget, rel, text, title, url, width } = attributes; const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, { 'no-border-radius': borderRadius === 0 }); const buttonStyle = { borderRadius: borderRadius ? borderRadius + 'px' : undefined, ...colorProps.style }; // The use of a `title` attribute here is soft-deprecated, but still applied // if it had already been assigned, for the sake of backward-compatibility. // A title will no longer be assigned for new or updated button block links. const wrapperClasses = classnames_default()(className, { [`has-custom-width wp-block-button__width-${width}`]: width }); return (0,external_wp_element_namespaceObject.createElement)("div", external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: wrapperClasses }), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "a", className: buttonClasses, href: url, title: title, style: buttonStyle, value: text, target: linkTarget, rel: rel })); }, migrate: (0,external_wp_compose_namespaceObject.compose)(migrate_font_family, migrateBorderRadius) }, { supports: { anchor: true, align: true, alignWide: false, color: { __experimentalSkipSerialization: true }, reusable: false, __experimentalSelector: '.wp-block-button__link' }, attributes: { ...blockAttributes, linkTarget: { type: 'string', source: 'attribute', selector: 'a', attribute: 'target' }, rel: { type: 'string', source: 'attribute', selector: 'a', attribute: 'rel' }, placeholder: { type: 'string' }, borderRadius: { type: 'number' }, backgroundColor: { type: 'string' }, textColor: { type: 'string' }, gradient: { type: 'string' }, style: { type: 'object' }, width: { type: 'number' } }, save(_ref6) { let { attributes, className } = _ref6; const { borderRadius, linkTarget, rel, text, title, url, width } = attributes; const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, { 'no-border-radius': borderRadius === 0 }); const buttonStyle = { borderRadius: borderRadius ? borderRadius + 'px' : undefined, ...colorProps.style }; // The use of a `title` attribute here is soft-deprecated, but still applied // if it had already been assigned, for the sake of backward-compatibility. // A title will no longer be assigned for new or updated button block links. const wrapperClasses = classnames_default()(className, { [`has-custom-width wp-block-button__width-${width}`]: width }); return (0,external_wp_element_namespaceObject.createElement)("div", external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: wrapperClasses }), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "a", className: buttonClasses, href: url, title: title, style: buttonStyle, value: text, target: linkTarget, rel: rel })); }, migrate: (0,external_wp_compose_namespaceObject.compose)(migrate_font_family, migrateBorderRadius) }, { supports: { align: true, alignWide: false, color: { gradients: true } }, attributes: { ...blockAttributes, linkTarget: { type: 'string', source: 'attribute', selector: 'a', attribute: 'target' }, rel: { type: 'string', source: 'attribute', selector: 'a', attribute: 'rel' }, placeholder: { type: 'string' }, borderRadius: { type: 'number' }, backgroundColor: { type: 'string' }, textColor: { type: 'string' }, gradient: { type: 'string' }, style: { type: 'object' } }, save(_ref7) { let { attributes } = _ref7; const { borderRadius, linkTarget, rel, text, title, url } = attributes; const buttonClasses = classnames_default()('wp-block-button__link', { 'no-border-radius': borderRadius === 0 }); const buttonStyle = { borderRadius: borderRadius ? borderRadius + 'px' : undefined }; return (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "a", className: buttonClasses, href: url, title: title, style: buttonStyle, value: text, target: linkTarget, rel: rel }); }, migrate: migrateBorderRadius }, { supports: { align: true, alignWide: false }, attributes: { ...blockAttributes, linkTarget: { type: 'string', source: 'attribute', selector: 'a', attribute: 'target' }, rel: { type: 'string', source: 'attribute', selector: 'a', attribute: 'rel' }, placeholder: { type: 'string' }, borderRadius: { type: 'number' }, backgroundColor: { type: 'string' }, textColor: { type: 'string' }, customBackgroundColor: { type: 'string' }, customTextColor: { type: 'string' }, customGradient: { type: 'string' }, gradient: { type: 'string' } }, isEligible: attributes => !!attributes.customTextColor || !!attributes.customBackgroundColor || !!attributes.customGradient, migrate: (0,external_wp_compose_namespaceObject.compose)(migrateBorderRadius, migrateCustomColorsAndGradients), save(_ref8) { let { attributes } = _ref8; const { backgroundColor, borderRadius, customBackgroundColor, customTextColor, customGradient, linkTarget, gradient, rel, text, textColor, title, url } = attributes; const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)('color', textColor); const backgroundClass = !customGradient && (0,external_wp_blockEditor_namespaceObject.getColorClassName)('background-color', backgroundColor); const gradientClass = (0,external_wp_blockEditor_namespaceObject.__experimentalGetGradientClass)(gradient); const buttonClasses = classnames_default()('wp-block-button__link', { 'has-text-color': textColor || customTextColor, [textClass]: textClass, 'has-background': backgroundColor || customBackgroundColor || customGradient || gradient, [backgroundClass]: backgroundClass, 'no-border-radius': borderRadius === 0, [gradientClass]: gradientClass }); const buttonStyle = { background: customGradient ? customGradient : undefined, backgroundColor: backgroundClass || customGradient || gradient ? undefined : customBackgroundColor, color: textClass ? undefined : customTextColor, borderRadius: borderRadius ? borderRadius + 'px' : undefined }; // The use of a `title` attribute here is soft-deprecated, but still applied // if it had already been assigned, for the sake of backward-compatibility. // A title will no longer be assigned for new or updated button block links. return (0,external_wp_element_namespaceObject.createElement)("div", null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "a", className: buttonClasses, href: url, title: title, style: buttonStyle, value: text, target: linkTarget, rel: rel })); } }, { attributes: { ...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(attribute) { return attribute.className && attribute.className.includes('is-style-squared'); }, migrate(attributes) { let newClassName = attributes.className; if (newClassName) { newClassName = newClassName.replace(/is-style-squared[\s]?/, '').trim(); } return migrateBorderRadius(migrateCustomColorsAndGradients({ ...attributes, className: newClassName ? newClassName : undefined, borderRadius: 0 })); }, save(_ref9) { let { attributes } = _ref9; const { backgroundColor, customBackgroundColor, customTextColor, linkTarget, rel, text, textColor, title, url } = attributes; const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)('color', textColor); const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)('background-color', backgroundColor); const buttonClasses = classnames_default()('wp-block-button__link', { 'has-text-color': textColor || customTextColor, [textClass]: textClass, 'has-background': backgroundColor || customBackgroundColor, [backgroundClass]: backgroundClass }); const buttonStyle = { backgroundColor: backgroundClass ? undefined : customBackgroundColor, color: textClass ? undefined : customTextColor }; return (0,external_wp_element_namespaceObject.createElement)("div", null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "a", className: buttonClasses, href: url, title: title, style: buttonStyle, value: text, target: linkTarget, rel: rel })); } }, { attributes: { ...blockAttributes, align: { type: 'string', default: 'none' }, backgroundColor: { type: 'string' }, textColor: { type: 'string' }, customBackgroundColor: { type: 'string' }, customTextColor: { type: 'string' } }, migrate: oldColorsMigration, save(_ref10) { let { attributes } = _ref10; const { url, text, title, backgroundColor, textColor, customBackgroundColor, customTextColor } = attributes; const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)('color', textColor); const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)('background-color', backgroundColor); const buttonClasses = classnames_default()('wp-block-button__link', { 'has-text-color': textColor || customTextColor, [textClass]: textClass, 'has-background': backgroundColor || customBackgroundColor, [backgroundClass]: backgroundClass }); const buttonStyle = { backgroundColor: backgroundClass ? undefined : customBackgroundColor, color: textClass ? undefined : customTextColor }; return (0,external_wp_element_namespaceObject.createElement)("div", null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "a", className: buttonClasses, href: url, title: title, style: buttonStyle, value: text })); } }, { attributes: { ...blockAttributes, color: { type: 'string' }, textColor: { type: 'string' }, align: { type: 'string', default: 'none' } }, save(_ref11) { let { attributes } = _ref11; const { url, text, title, align, color, textColor } = attributes; const buttonStyle = { backgroundColor: color, color: textColor }; const linkClass = 'wp-block-button__link'; return (0,external_wp_element_namespaceObject.createElement)("div", { className: `align${align}` }, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "a", className: linkClass, href: url, title: title, style: buttonStyle, value: text })); }, migrate: oldColorsMigration }, { attributes: { ...blockAttributes, color: { type: 'string' }, textColor: { type: 'string' }, align: { type: 'string', default: 'none' } }, save(_ref12) { let { attributes } = _ref12; const { url, text, title, align, color, textColor } = attributes; return (0,external_wp_element_namespaceObject.createElement)("div", { className: `align${align}`, style: { backgroundColor: color } }, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "a", href: url, title: title, style: { color: textColor }, value: text })); }, migrate: oldColorsMigration }]; /* harmony default export */ var button_deprecated = (deprecated_deprecated); ;// CONCATENATED MODULE: external ["wp","keycodes"] var external_wp_keycodes_namespaceObject = window["wp"]["keycodes"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/link.js /** * WordPress dependencies */ const link_link = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M15.6 7.2H14v1.5h1.6c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.8 0 5.2-2.3 5.2-5.2 0-2.9-2.3-5.2-5.2-5.2zM4.7 12.4c0-2 1.7-3.7 3.7-3.7H10V7.2H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H10v-1.5H8.4c-2 0-3.7-1.7-3.7-3.7zm4.6.9h5.3v-1.5H9.3v1.5z" })); /* harmony default export */ var library_link = (link_link); ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/link-off.js /** * WordPress dependencies */ const linkOff = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M15.6 7.3h-.7l1.6-3.5-.9-.4-3.9 8.5H9v1.5h2l-1.3 2.8H8.4c-2 0-3.7-1.7-3.7-3.7s1.7-3.7 3.7-3.7H10V7.3H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H9l-1.4 3.2.9.4 5.7-12.5h1.4c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.9 0 5.2-2.3 5.2-5.2 0-2.9-2.4-5.2-5.2-5.2z" })); /* harmony default export */ var link_off = (linkOff); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/edit.js /** * External dependencies */ /** * WordPress dependencies */ const NEW_TAB_REL = 'noreferrer noopener'; function WidthPanel(_ref) { let { selectedWidth, setAttributes } = _ref; function handleChange(newWidth) { // Check if we are toggling the width off const width = selectedWidth === newWidth ? undefined : newWidth; // Update attributes. setAttributes({ width }); } return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)('Width settings') }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ButtonGroup, { "aria-label": (0,external_wp_i18n_namespaceObject.__)('Button width') }, [25, 50, 75, 100].map(widthValue => { return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { key: widthValue, isSmall: true, variant: widthValue === selectedWidth ? 'primary' : undefined, onClick: () => handleChange(widthValue) }, widthValue, "%"); }))); } function ButtonEdit(props) { var _style$border; const { attributes, setAttributes, className, isSelected, onReplace, mergeBlocks } = props; const { linkTarget, placeholder, rel, style, text, url, width } = attributes; const onSetLinkRel = (0,external_wp_element_namespaceObject.useCallback)(value => { setAttributes({ rel: value }); }, [setAttributes]); function onToggleOpenInNewTab(value) { const newLinkTarget = value ? '_blank' : undefined; let updatedRel = rel; if (newLinkTarget && !rel) { updatedRel = NEW_TAB_REL; } else if (!newLinkTarget && rel === NEW_TAB_REL) { updatedRel = undefined; } setAttributes({ linkTarget: newLinkTarget, rel: updatedRel }); } function setButtonText(newText) { // Remove anchor tags from button text content. setAttributes({ text: newText.replace(/<\/?a[^>]*>/g, '') }); } function onKeyDown(event) { if (external_wp_keycodes_namespaceObject.isKeyboardEvent.primary(event, 'k')) { startEditing(event); } else if (external_wp_keycodes_namespaceObject.isKeyboardEvent.primaryShift(event, 'k')) { var _richTextRef$current; unlink(); (_richTextRef$current = richTextRef.current) === null || _richTextRef$current === void 0 ? void 0 : _richTextRef$current.focus(); } } const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBorderProps)(attributes); const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseColorProps)(attributes); const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); const ref = (0,external_wp_element_namespaceObject.useRef)(); const richTextRef = (0,external_wp_element_namespaceObject.useRef)(); const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ ref, onKeyDown }); const [isEditingURL, setIsEditingURL] = (0,external_wp_element_namespaceObject.useState)(false); const isURLSet = !!url; const opensInNewTab = linkTarget === '_blank'; function startEditing(event) { event.preventDefault(); setIsEditingURL(true); } function unlink() { setAttributes({ url: undefined, linkTarget: undefined, rel: undefined }); setIsEditingURL(false); } (0,external_wp_element_namespaceObject.useEffect)(() => { if (!isSelected) { setIsEditingURL(false); } }, [isSelected]); return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)("div", _extends({}, blockProps, { className: classnames_default()(blockProps.className, { [`has-custom-width wp-block-button__width-${width}`]: width, [`has-custom-font-size`]: blockProps.style.fontSize }) }), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText, { ref: richTextRef, "aria-label": (0,external_wp_i18n_namespaceObject.__)('Button text'), placeholder: placeholder || (0,external_wp_i18n_namespaceObject.__)('Add text…'), value: text, onChange: value => setButtonText(value), withoutInteractiveFormatting: true, className: classnames_default()(className, 'wp-block-button__link', colorProps.className, borderProps.className, { // For backwards compatibility add style that isn't // provided via block support. 'no-border-radius': (style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius) === 0 }), style: { ...borderProps.style, ...colorProps.style, ...spacingProps.style }, onSplit: value => (0,external_wp_blocks_namespaceObject.createBlock)('core/button', { ...attributes, text: value }), onReplace: onReplace, onMerge: mergeBlocks, identifier: "text" })), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block" }, !isURLSet && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { name: "link", icon: library_link, title: (0,external_wp_i18n_namespaceObject.__)('Link'), shortcut: external_wp_keycodes_namespaceObject.displayShortcut.primary('k'), onClick: startEditing }), isURLSet && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { name: "link", icon: link_off, title: (0,external_wp_i18n_namespaceObject.__)('Unlink'), shortcut: external_wp_keycodes_namespaceObject.displayShortcut.primaryShift('k'), onClick: unlink, isActive: true })), isSelected && (isEditingURL || isURLSet) && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover, { position: "bottom center", onClose: () => { var _richTextRef$current2; setIsEditingURL(false); (_richTextRef$current2 = richTextRef.current) === null || _richTextRef$current2 === void 0 ? void 0 : _richTextRef$current2.focus(); }, anchorRef: ref === null || ref === void 0 ? void 0 : ref.current, focusOnMount: isEditingURL ? 'firstElement' : false, __unstableSlotName: '__unstable-block-tools-after' }, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.__experimentalLinkControl, { className: "wp-block-navigation-link__inline-link-input", value: { url, opensInNewTab }, onChange: _ref2 => { let { url: newURL = '', opensInNewTab: newOpensInNewTab } = _ref2; setAttributes({ url: newURL }); if (opensInNewTab !== newOpensInNewTab) { onToggleOpenInNewTab(newOpensInNewTab); } }, onRemove: () => { var _richTextRef$current3; unlink(); (_richTextRef$current3 = richTextRef.current) === null || _richTextRef$current3 === void 0 ? void 0 : _richTextRef$current3.focus(); }, forceIsEditingLink: isEditingURL })), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InspectorControls, null, (0,external_wp_element_namespaceObject.createElement)(WidthPanel, { selectedWidth: width, setAttributes: setAttributes })), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InspectorControls, { __experimentalGroup: "advanced" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TextControl, { label: (0,external_wp_i18n_namespaceObject.__)('Link rel'), value: rel || '', onChange: onSetLinkRel }))); } /* harmony default export */ var button_edit = (ButtonEdit); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/save.js /** * External dependencies */ /** * WordPress dependencies */ function save_save(_ref) { var _style$border, _style$typography; let { attributes, className } = _ref; const { fontSize, linkTarget, rel, style, text, title, url, width } = attributes; if (!text) { return null; } const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, borderProps.className, { // For backwards compatibility add style that isn't provided via // block support. 'no-border-radius': (style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius) === 0 }); const buttonStyle = { ...borderProps.style, ...colorProps.style, ...spacingProps.style }; // The use of a `title` attribute here is soft-deprecated, but still applied // if it had already been assigned, for the sake of backward-compatibility. // A title will no longer be assigned for new or updated button block links. const wrapperClasses = classnames_default()(className, { [`has-custom-width wp-block-button__width-${width}`]: width, [`has-custom-font-size`]: fontSize || (style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.fontSize) }); return (0,external_wp_element_namespaceObject.createElement)("div", external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: wrapperClasses }), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.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 */ const button_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/button", title: "Button", category: "design", parent: ["core/buttons"], description: "Prompt visitors to take action with a button-style link.", keywords: ["link"], textdomain: "default", attributes: { 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" }, linkTarget: { type: "string", source: "attribute", selector: "a", attribute: "target" }, rel: { type: "string", source: "attribute", selector: "a", attribute: "rel" }, placeholder: { type: "string" }, backgroundColor: { type: "string" }, textColor: { type: "string" }, gradient: { type: "string" }, width: { type: "number" } }, supports: { anchor: true, align: true, alignWide: false, color: { __experimentalSkipSerialization: true, gradients: true, __experimentalDefaultControls: { background: true, text: true } }, typography: { fontSize: true, __experimentalFontFamily: true, __experimentalDefaultControls: { fontSize: true } }, reusable: false, spacing: { __experimentalSkipSerialization: true, padding: ["horizontal", "vertical"], __experimentalDefaultControls: { padding: true } }, __experimentalBorder: { radius: true, __experimentalSkipSerialization: true, __experimentalDefaultControls: { radius: true } }, __experimentalSelector: ".wp-block-button__link" }, styles: [{ name: "fill", label: "Fill", isDefault: true }, { name: "outline", label: "Outline" }], editorStyle: "wp-block-button-editor", style: "wp-block-button" }; const { name: button_name } = button_metadata; const button_settings = { icon: library_button, example: { attributes: { className: 'is-style-fill', text: (0,external_wp_i18n_namespaceObject.__)('Call to Action') } }, edit: button_edit, save: save_save, deprecated: button_deprecated, merge: (a, _ref) => { let { text = '' } = _ref; return { ...a, text: (a.text || '') + text }; } }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/buttons.js /** * WordPress dependencies */ const buttons = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M17 3H7c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H7c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v4zm-8-1.2h5V6.2h-5v1.6zM17 13H7c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H7c-.3 0-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v4zm-8-1.2h5v-1.5h-5v1.5z" })); /* harmony default export */ var library_buttons = (buttons); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/deprecated.js /** * External dependencies */ /** * WordPress dependencies */ /** * @param {Object} attributes Block's attributes. */ const migrateWithLayout = attributes => { if (!!attributes.layout) { return attributes; } const { contentJustification, orientation, ...updatedAttributes } = attributes; if (contentJustification || orientation) { Object.assign(updatedAttributes, { layout: { type: 'flex', ...(contentJustification && { justifyContent: contentJustification }), ...(orientation && { orientation }) } }); } return updatedAttributes; }; const buttons_deprecated_deprecated = [{ attributes: { contentJustification: { type: 'string' }, orientation: { type: 'string', default: 'horizontal' } }, supports: { anchor: true, align: ['wide', 'full'], __experimentalExposeControlsToChildren: true, spacing: { blockGap: true, margin: ['top', 'bottom'], __experimentalDefaultControls: { blockGap: true } } }, isEligible: _ref => { let { contentJustification, orientation } = _ref; return !!contentJustification || !!orientation; }, migrate: migrateWithLayout, save(_ref2) { let { attributes: { contentJustification, orientation } } = _ref2; return (0,external_wp_element_namespaceObject.createElement)("div", external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classnames_default()({ [`is-content-justification-${contentJustification}`]: contentJustification, 'is-vertical': orientation === 'vertical' }) }), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, null)); } }, { supports: { align: ['center', 'left', 'right'], anchor: true }, save() { return (0,external_wp_element_namespaceObject.createElement)("div", null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, null)); }, isEligible(_ref3) { let { align } = _ref3; return align && ['center', 'left', 'right'].includes(align); }, migrate(attributes) { return migrateWithLayout({ ...attributes, align: undefined, // Floating Buttons blocks shouldn't have been supported in the // first place. Most users using them probably expected them to // act like content justification controls, so these blocks are // migrated to use content justification. // As for center-aligned Buttons blocks, the content justification // equivalent will create an identical end result in most cases. contentJustification: attributes.align }); } }]; /* harmony default export */ var buttons_deprecated = (buttons_deprecated_deprecated); ;// CONCATENATED MODULE: external ["wp","richText"] var external_wp_richText_namespaceObject = window["wp"]["richText"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/transforms.js /** * WordPress dependencies */ /** * Internal dependencies */ const { name: transforms_name } = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/buttons", title: "Buttons", category: "design", description: "Prompt visitors to take action with a group of button-style links.", keywords: ["link"], textdomain: "default", supports: { anchor: true, align: ["wide", "full"], __experimentalExposeControlsToChildren: true, spacing: { blockGap: true, margin: ["top", "bottom"], __experimentalDefaultControls: { blockGap: true } }, __experimentalLayout: { allowSwitching: false, allowInheriting: false, "default": { type: "flex" } } }, editorStyle: "wp-block-buttons-editor", style: "wp-block-buttons" }; const transforms_transforms = { from: [{ type: 'block', isMultiBlock: true, blocks: ['core/button'], transform: buttons => // Creates the buttons block. (0,external_wp_blocks_namespaceObject.createBlock)(transforms_name, {}, // Loop the selected buttons. buttons.map(attributes => // Create singular button in the buttons block. (0,external_wp_blocks_namespaceObject.createBlock)('core/button', attributes))) }, { type: 'block', isMultiBlock: true, blocks: ['core/paragraph'], transform: buttons => // Creates the buttons block. (0,external_wp_blocks_namespaceObject.createBlock)(transforms_name, {}, // Loop the selected buttons. buttons.map(attributes => { const element = (0,external_wp_richText_namespaceObject.__unstableCreateElement)(document, attributes.content); // Remove any HTML tags. const text = element.innerText || ''; // Get first url. const link = element.querySelector('a'); const url = link === null || link === void 0 ? void 0 : link.getAttribute('href'); // Create singular button in the buttons block. return (0,external_wp_blocks_namespaceObject.createBlock)('core/button', { text, url }); })), isMatch: paragraphs => { return paragraphs.every(attributes => { const element = (0,external_wp_richText_namespaceObject.__unstableCreateElement)(document, attributes.content); const text = element.innerText || ''; const links = element.querySelectorAll('a'); return text.length <= 30 && links.length <= 1; }); } }] }; /* harmony default export */ var buttons_transforms = (transforms_transforms); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/edit.js /** * WordPress dependencies */ /** * Internal dependencies */ const ALLOWED_BLOCKS = [button_name]; const DEFAULT_BLOCK = { name: button_name, attributesToCopy: ['backgroundColor', 'border', 'className', 'fontFamily', 'fontSize', 'gradient', 'style', 'textColor', 'width'] }; function ButtonsEdit(_ref) { let { attributes: { layout = {} } } = _ref; const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); const preferredStyle = (0,external_wp_data_namespaceObject.useSelect)(select => { var _preferredStyleVariat; const preferredStyleVariations = select(external_wp_blockEditor_namespaceObject.store).getSettings().__experimentalPreferredStyleVariations; return preferredStyleVariations === null || preferredStyleVariations === void 0 ? void 0 : (_preferredStyleVariat = preferredStyleVariations.value) === null || _preferredStyleVariat === void 0 ? void 0 : _preferredStyleVariat[button_name]; }, []); const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { allowedBlocks: ALLOWED_BLOCKS, __experimentalDefaultBlock: DEFAULT_BLOCK, __experimentalDirectInsert: true, template: [[button_name, { className: preferredStyle && `is-style-${preferredStyle}` }]], __experimentalLayout: layout, templateInsertUpdatesSelection: true }); return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)("div", innerBlocksProps)); } /* harmony default export */ var buttons_edit = (ButtonsEdit); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/save.js /** * WordPress dependencies */ function buttons_save_save() { const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(external_wp_blockEditor_namespaceObject.useBlockProps.save()); return (0,external_wp_element_namespaceObject.createElement)("div", innerBlocksProps); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const buttons_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/buttons", title: "Buttons", category: "design", description: "Prompt visitors to take action with a group of button-style links.", keywords: ["link"], textdomain: "default", supports: { anchor: true, align: ["wide", "full"], __experimentalExposeControlsToChildren: true, spacing: { blockGap: true, margin: ["top", "bottom"], __experimentalDefaultControls: { blockGap: true } }, __experimentalLayout: { allowSwitching: false, allowInheriting: false, "default": { type: "flex" } } }, editorStyle: "wp-block-buttons-editor", style: "wp-block-buttons" }; const { name: buttons_name } = buttons_metadata; const buttons_settings = { icon: library_buttons, example: { innerBlocks: [{ name: 'core/button', attributes: { text: (0,external_wp_i18n_namespaceObject.__)('Find out more') } }, { name: 'core/button', attributes: { text: (0,external_wp_i18n_namespaceObject.__)('Contact us') } }] }, deprecated: buttons_deprecated, transforms: buttons_transforms, edit: buttons_edit, save: buttons_save_save }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/calendar.js /** * WordPress dependencies */ const calendar = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V7h15v12zM9 10H7v2h2v-2zm0 4H7v2h2v-2zm4-4h-2v2h2v-2zm4 0h-2v2h2v-2zm-4 4h-2v2h2v-2zm4 0h-2v2h2v-2z" })); /* harmony default export */ var library_calendar = (calendar); ;// CONCATENATED MODULE: external "moment" var external_moment_namespaceObject = window["moment"]; var external_moment_default = /*#__PURE__*/__webpack_require__.n(external_moment_namespaceObject); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/edit.js /** * External dependencies */ /** * WordPress dependencies */ const getYearMonth = memize_default()(date => { if (!date) { return {}; } const momentDate = external_moment_default()(date); return { year: momentDate.year(), month: momentDate.month() + 1 }; }); function CalendarEdit(_ref) { let { attributes } = _ref; const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); const { date, hasPosts, hasPostsResolved } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { getEntityRecords, hasFinishedResolution } = select(external_wp_coreData_namespaceObject.store); const singlePublishedPostQuery = { status: 'publish', per_page: 1 }; const posts = getEntityRecords('postType', 'post', singlePublishedPostQuery); const postsResolved = hasFinishedResolution('getEntityRecords', ['postType', 'post', singlePublishedPostQuery]); let _date; // FIXME: @wordpress/block-library should not depend on @wordpress/editor. // Blocks can be loaded into a *non-post* block editor. // eslint-disable-next-line @wordpress/data-no-store-string-literals const editorSelectors = select('core/editor'); if (editorSelectors) { const postType = editorSelectors.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. if (postType === 'post') { _date = editorSelectors.getEditedPostAttribute('date'); } } return { date: _date, hasPostsResolved: postsResolved, hasPosts: postsResolved && (posts === null || posts === void 0 ? void 0 : posts.length) === 1 }; }, []); if (!hasPosts) { return (0,external_wp_element_namespaceObject.createElement)("div", blockProps, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Placeholder, { icon: library_calendar, label: (0,external_wp_i18n_namespaceObject.__)('Calendar') }, !hasPostsResolved ? (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Spinner, null) : (0,external_wp_i18n_namespaceObject.__)('No published posts found.'))); } return (0,external_wp_element_namespaceObject.createElement)("div", blockProps, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Disabled, null, (0,external_wp_element_namespaceObject.createElement)((external_wp_serverSideRender_default()), { block: "core/calendar", attributes: { ...attributes, ...getYearMonth(date) } }))); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/transforms.js /** * WordPress dependencies */ const calendar_transforms_transforms = { from: [{ type: 'block', blocks: ['core/archives'], transform: () => (0,external_wp_blocks_namespaceObject.createBlock)('core/calendar') }], to: [{ type: 'block', blocks: ['core/archives'], transform: () => (0,external_wp_blocks_namespaceObject.createBlock)('core/archives') }] }; /* harmony default export */ var calendar_transforms = (calendar_transforms_transforms); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const calendar_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/calendar", title: "Calendar", category: "widgets", description: "A calendar of your site\u2019s posts.", keywords: ["posts", "archive"], textdomain: "default", attributes: { month: { type: "integer" }, year: { type: "integer" } }, supports: { align: true }, style: "wp-block-calendar" }; const { name: calendar_name } = calendar_metadata; const calendar_settings = { icon: library_calendar, example: {}, edit: CalendarEdit, transforms: calendar_transforms }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/category.js /** * WordPress dependencies */ const category = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M6 5.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm11-.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM13 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V6zm5 8.5h-3a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h3a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5zM15 13a2 2 0 00-2 2v3a2 2 0 002 2h3a2 2 0 002-2v-3a2 2 0 00-2-2h-3zm-9 1.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5zM4 15a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2v-3z", fillRule: "evenodd", clipRule: "evenodd" })); /* harmony default export */ var library_category = (category); ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pin.js /** * WordPress dependencies */ const pin = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m21.5 9.1-6.6-6.6-4.2 5.6c-1.2-.1-2.4.1-3.6.7-.1 0-.1.1-.2.1-.5.3-.9.6-1.2.9l3.7 3.7-5.7 5.7v1.1h1.1l5.7-5.7 3.7 3.7c.4-.4.7-.8.9-1.2.1-.1.1-.2.2-.3.6-1.1.8-2.4.6-3.6l5.6-4.1zm-7.3 3.5.1.9c.1.9 0 1.8-.4 2.6l-6-6c.8-.4 1.7-.5 2.6-.4l.9.1L15 4.9 19.1 9l-4.9 3.6z" })); /* harmony default export */ var library_pin = (pin); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/categories/edit.js /** * External dependencies */ /** * WordPress dependencies */ function CategoriesEdit(_ref) { let { attributes: { displayAsDropdown, showHierarchy, showPostCounts, showOnlyTopLevel }, setAttributes } = _ref; const selectId = (0,external_wp_compose_namespaceObject.useInstanceId)(CategoriesEdit, 'blocks-category-select'); const query = { per_page: -1, hide_empty: true, context: 'view' }; if (showOnlyTopLevel) { query.parent = 0; } const { records: categories, isResolving } = (0,external_wp_coreData_namespaceObject.__experimentalUseEntityRecords)('taxonomy', 'category', query); const getCategoriesList = parentId => { if (!(categories !== null && categories !== void 0 && categories.length)) { return []; } if (parentId === null) { return categories; } return categories.filter(_ref2 => { let { parent } = _ref2; return parent === parentId; }); }; const getCategoryListClassName = level => { return `wp-block-categories__list wp-block-categories__list-level-${level}`; }; const toggleAttribute = attributeName => newValue => setAttributes({ [attributeName]: newValue }); const renderCategoryName = name => !name ? (0,external_wp_i18n_namespaceObject.__)('(Untitled)') : (0,external_lodash_namespaceObject.unescape)(name).trim(); const renderCategoryList = () => { const parentId = showHierarchy ? 0 : null; const categoriesList = getCategoriesList(parentId); return (0,external_wp_element_namespaceObject.createElement)("ul", { className: getCategoryListClassName(0) }, categoriesList.map(category => renderCategoryListItem(category, 0))); }; const renderCategoryListItem = (category, level) => { const childCategories = getCategoriesList(category.id); const { id, link, count, name } = category; return (0,external_wp_element_namespaceObject.createElement)("li", { key: id }, (0,external_wp_element_namespaceObject.createElement)("a", { href: link, target: "_blank", rel: "noreferrer noopener" }, renderCategoryName(name)), showPostCounts && (0,external_wp_element_namespaceObject.createElement)("span", { className: "wp-block-categories__post-count" }, ` (${count})`), showHierarchy && !!childCategories.length && (0,external_wp_element_namespaceObject.createElement)("ul", { className: getCategoryListClassName(level + 1) }, childCategories.map(childCategory => renderCategoryListItem(childCategory, level + 1)))); }; const renderCategoryDropdown = () => { const parentId = showHierarchy ? 0 : null; const categoriesList = getCategoriesList(parentId); return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { as: "label", htmlFor: selectId }, (0,external_wp_i18n_namespaceObject.__)('Categories')), (0,external_wp_element_namespaceObject.createElement)("select", { id: selectId, className: "wp-block-categories__dropdown" }, categoriesList.map(category => renderCategoryDropdownItem(category, 0)))); }; const renderCategoryDropdownItem = (category, level) => { const { id, count, name } = category; const childCategories = getCategoriesList(id); return [(0,external_wp_element_namespaceObject.createElement)("option", { key: id }, (0,external_lodash_namespaceObject.times)(level * 3, () => '\xa0'), renderCategoryName(name), showPostCounts && ` (${count})`), showHierarchy && !!childCategories.length && childCategories.map(childCategory => renderCategoryDropdownItem(childCategory, level + 1))]; }; return (0,external_wp_element_namespaceObject.createElement)("div", (0,external_wp_blockEditor_namespaceObject.useBlockProps)(), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InspectorControls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)('Categories settings') }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Display as dropdown'), checked: displayAsDropdown, onChange: toggleAttribute('displayAsDropdown') }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Show post counts'), checked: showPostCounts, onChange: toggleAttribute('showPostCounts') }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Show only top level categories'), checked: showOnlyTopLevel, onChange: toggleAttribute('showOnlyTopLevel') }), !showOnlyTopLevel && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Show hierarchy'), checked: showHierarchy, onChange: toggleAttribute('showHierarchy') }))), isResolving && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Placeholder, { icon: library_pin, label: (0,external_wp_i18n_namespaceObject.__)('Categories') }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Spinner, null)), !isResolving && (categories === null || categories === void 0 ? void 0 : categories.length) === 0 && (0,external_wp_element_namespaceObject.createElement)("p", null, (0,external_wp_i18n_namespaceObject.__)('Your site does not have any posts, so there is nothing to display here at the moment.')), !isResolving && (categories === null || categories === void 0 ? void 0 : categories.length) > 0 && (displayAsDropdown ? renderCategoryDropdown() : renderCategoryList())); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/categories/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const categories_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/categories", title: "Categories", category: "widgets", description: "Display a list of all categories.", textdomain: "default", attributes: { displayAsDropdown: { type: "boolean", "default": false }, showHierarchy: { type: "boolean", "default": false }, showPostCounts: { type: "boolean", "default": false }, showOnlyTopLevel: { type: "boolean", "default": false } }, supports: { align: true, html: false }, editorStyle: "wp-block-categories-editor", style: "wp-block-categories" }; const { name: categories_name } = categories_metadata; const categories_settings = { icon: library_category, example: {}, edit: CategoriesEdit }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/classic.js /** * WordPress dependencies */ const classic = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M20 6H4c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H4c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h16c.3 0 .5.2.5.5v9zM10 10H8v2h2v-2zm-5 2h2v-2H5v2zm8-2h-2v2h2v-2zm-5 6h8v-2H8v2zm6-4h2v-2h-2v2zm3 0h2v-2h-2v2zm0 4h2v-2h-2v2zM5 16h2v-2H5v2z" })); /* harmony default export */ var library_classic = (classic); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/convert-to-blocks-button.js /** * WordPress dependencies */ const ConvertToBlocksButton = _ref => { let { clientId } = _ref; const { replaceBlocks } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); const block = (0,external_wp_data_namespaceObject.useSelect)(select => { return select(external_wp_blockEditor_namespaceObject.store).getBlock(clientId); }, [clientId]); return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarButton, { onClick: () => replaceBlocks(block.clientId, (0,external_wp_blocks_namespaceObject.rawHandler)({ HTML: (0,external_wp_blocks_namespaceObject.serialize)(block) })) }, (0,external_wp_i18n_namespaceObject.__)('Convert to blocks')); }; /* harmony default export */ var convert_to_blocks_button = (ConvertToBlocksButton); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const { wp: edit_wp } = window; function isTmceEmpty(editor) { // When tinyMce is empty the content seems to be: //


// avoid expensive checks for large documents const 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); } function ClassicEdit(_ref) { let { clientId, attributes: { content }, setAttributes, onReplace } = _ref; const { getMultiSelectedBlockClientIds } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); const didMount = (0,external_wp_element_namespaceObject.useRef)(false); (0,external_wp_element_namespaceObject.useEffect)(() => { if (!didMount.current) { return; } const editor = window.tinymce.get(`editor-${clientId}`); const currentContent = editor === null || editor === void 0 ? void 0 : editor.getContent(); if (currentContent !== content) { editor.setContent(content || ''); } }, [content]); (0,external_wp_element_namespaceObject.useEffect)(() => { const { baseURL, suffix } = window.wpEditorL10n.tinymce; didMount.current = true; window.tinymce.EditorManager.overrideDefaults({ base_url: baseURL, suffix }); function onSetup(editor) { let bookmark; if (content) { editor.on('loadContent', () => editor.setContent(content)); } editor.on('blur', () => { var _getMultiSelectedBloc; bookmark = editor.selection.getBookmark(2, true); // There is an issue with Chrome and the editor.focus call in core at https://core.trac.wordpress.org/browser/trunk/src/js/_enqueues/lib/link.js#L451. // This causes a scroll to the top of editor content on return from some content updating dialogs so tracking // scroll position until this is fixed in core. const scrollContainer = document.querySelector('.interface-interface-skeleton__content'); const scrollPosition = scrollContainer.scrollTop; // Only update attributes if we aren't multi-selecting blocks. // Updating during multi-selection can overwrite attributes of other blocks. if (!((_getMultiSelectedBloc = getMultiSelectedBlockClientIds()) !== null && _getMultiSelectedBloc !== void 0 && _getMultiSelectedBloc.length)) { setAttributes({ content: editor.getContent() }); } editor.once('focus', () => { if (bookmark) { editor.selection.moveToBookmark(bookmark); if (scrollContainer.scrollTop !== scrollPosition) { scrollContainer.scrollTop = scrollPosition; } } }); return false; }); editor.on('mousedown touchstart', () => { bookmark = null; }); const debouncedOnChange = (0,external_lodash_namespaceObject.debounce)(() => { const value = editor.getContent(); if (value !== editor._lastChange) { editor._lastChange = value; setAttributes({ content: value }); } }, 250); editor.on('Paste Change input Undo Redo', debouncedOnChange); // We need to cancel the debounce call because when we remove // the editor (onUnmount) this callback is executed in // another tick. This results in setting the content to empty. editor.on('remove', debouncedOnChange.cancel); editor.on('keydown', event => { if (external_wp_keycodes_namespaceObject.isKeyboardEvent.primary(event, 'z')) { // Prevent the gutenberg undo kicking in so TinyMCE undo stack works as expected. event.stopPropagation(); } if ((event.keyCode === external_wp_keycodes_namespaceObject.BACKSPACE || event.keyCode === external_wp_keycodes_namespaceObject.DELETE) && isTmceEmpty(editor)) { // Delete the block. onReplace([]); event.preventDefault(); event.stopImmediatePropagation(); } const { altKey } = event; /* * Prevent Mousetrap from kicking in: TinyMCE already uses its own * `alt+f10` shortcut to focus its toolbar. */ if (altKey && event.keyCode === external_wp_keycodes_namespaceObject.F10) { event.stopPropagation(); } }); editor.on('init', () => { const rootNode = editor.getBody(); // Create the toolbar by refocussing the editor. if (rootNode.ownerDocument.activeElement === rootNode) { rootNode.blur(); editor.focus(); } }); } function initialize() { const { settings } = window.wpEditorL10n.tinymce; edit_wp.oldEditor.initialize(`editor-${clientId}`, { tinymce: { ...settings, inline: true, content_css: false, fixed_toolbar_container: `#toolbar-${clientId}`, setup: onSetup } }); } function onReadyStateChange() { if (document.readyState === 'complete') { initialize(); } } if (document.readyState === 'complete') { initialize(); } else { document.addEventListener('readystatechange', onReadyStateChange); } return () => { document.removeEventListener('readystatechange', onReadyStateChange); edit_wp.oldEditor.remove(`editor-${clientId}`); }; }, []); function focus() { const editor = window.tinymce.get(`editor-${clientId}`); if (editor) { editor.focus(); } } 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(); } // 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 (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockControls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToolbarGroup, null, (0,external_wp_element_namespaceObject.createElement)(convert_to_blocks_button, { clientId: clientId }))), (0,external_wp_element_namespaceObject.createElement)("div", (0,external_wp_blockEditor_namespaceObject.useBlockProps)(), (0,external_wp_element_namespaceObject.createElement)("div", { key: "toolbar", id: `toolbar-${clientId}`, className: "block-library-classic__toolbar", onClick: focus, "data-placeholder": (0,external_wp_i18n_namespaceObject.__)('Classic'), onKeyDown: onToolbarKeyDown }), (0,external_wp_element_namespaceObject.createElement)("div", { key: "editor", id: `editor-${clientId}`, className: "wp-block-freeform block-library-rich-text__tinymce" }))); /* eslint-enable jsx-a11y/no-static-element-interactions */ } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/save.js /** * WordPress dependencies */ function freeform_save_save(_ref) { let { attributes } = _ref; const { content } = attributes; return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.RawHTML, null, content); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const freeform_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/freeform", title: "Classic", category: "text", description: "Use the classic WordPress editor.", textdomain: "default", attributes: { content: { type: "string", source: "html" } }, supports: { className: false, customClassName: false, reusable: false }, editorStyle: "wp-block-freeform-editor" }; const { name: freeform_name } = freeform_metadata; const freeform_settings = { icon: library_classic, edit: ClassicEdit, save: freeform_save_save }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/code.js /** * WordPress dependencies */ const code = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M20.8 10.7l-4.3-4.3-1.1 1.1 4.3 4.3c.1.1.1.3 0 .4l-4.3 4.3 1.1 1.1 4.3-4.3c.7-.8.7-1.9 0-2.6zM4.2 11.8l4.3-4.3-1-1-4.3 4.3c-.7.7-.7 1.8 0 2.5l4.3 4.3 1.1-1.1-4.3-4.3c-.2-.1-.2-.3-.1-.4z" })); /* harmony default export */ var library_code = (code); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/edit.js /** * WordPress dependencies */ function CodeEdit(_ref) { let { attributes, setAttributes, onRemove } = _ref; const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); return (0,external_wp_element_namespaceObject.createElement)("pre", blockProps, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText, { tagName: "code", value: attributes.content, onChange: content => setAttributes({ content }), onRemove: onRemove, placeholder: (0,external_wp_i18n_namespaceObject.__)('Write code…'), "aria-label": (0,external_wp_i18n_namespaceObject.__)('Code'), preserveWhiteSpace: true, __unstablePastePlainText: true })); } ;// 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 (0,external_lodash_namespaceObject.flow)(escapeOpeningSquareBrackets, escapeProtocolInIsolatedUrls)(content || ''); } /** * Returns the given content with all opening shortcode characters converted * into their HTML entity counterpart (i.e. [ => [). For instance, a * shortcode like [embed] becomes [embed] * * This function replicates the escaping of HTML tags, where a tag like * becomes <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. [ => [) */ function escapeOpeningSquareBrackets(content) { return content.replace(/\[/g, '['); } /** * Converts the first two forward slashes of any isolated URL into their HTML * counterparts (i.e. // => //). For instance, https://youtube.com/watch?x * becomes https://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. & => &) */ function escapeProtocolInIsolatedUrls(content) { return content.replace(/^(\s*https?:)\/\/([^\s<>"]+\s*)$/m, '$1//$2'); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/save.js /** * WordPress dependencies */ /** * Internal dependencies */ function code_save_save(_ref) { let { attributes } = _ref; return (0,external_wp_element_namespaceObject.createElement)("pre", external_wp_blockEditor_namespaceObject.useBlockProps.save(), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "code", value: utils_escape(attributes.content) })); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/transforms.js /** * WordPress dependencies */ const code_transforms_transforms = { from: [{ type: 'enter', regExp: /^```$/, transform: () => (0,external_wp_blocks_namespaceObject.createBlock)('core/code') }, { type: 'block', blocks: ['core/html', 'core/paragraph'], transform: _ref => { let { content } = _ref; return (0,external_wp_blocks_namespaceObject.createBlock)('core/code', { content }); } }, { type: 'raw', isMatch: node => 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 */ const code_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/code", title: "Code", category: "text", description: "Display code snippets that respect your spacing and tabs.", textdomain: "default", attributes: { content: { type: "string", source: "html", selector: "code" } }, supports: { anchor: true, typography: { fontSize: true, lineHeight: true, __experimentalFontStyle: true, __experimentalFontWeight: true, __experimentalLetterSpacing: true, __experimentalTextTransform: true, __experimentalDefaultControls: { fontSize: true } }, spacing: { margin: ["top", "bottom"], padding: true }, __experimentalBorder: { radius: true, color: true, width: true, style: true, __experimentalDefaultControls: { width: true, color: true } }, color: { text: true, background: true, gradients: true, __experimentalDefaultControls: { background: true, text: true } } }, style: "wp-block-code" }; const { name: code_name } = code_metadata; const code_settings = { icon: library_code, example: { attributes: { /* eslint-disable @wordpress/i18n-no-collapsible-whitespace */ // translators: Preserve \n markers for line breaks content: (0,external_wp_i18n_namespaceObject.__)('// A "block" is the abstract term used\n// to describe units of markup that\n// when composed together, form the\n// content or layout of a page.\nregisterBlockType( name, settings );') /* eslint-enable @wordpress/i18n-no-collapsible-whitespace */ } }, transforms: code_transforms, edit: CodeEdit, save: code_save_save }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/column.js /** * WordPress dependencies */ const column = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M19 6H6c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zM6 17.5c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h3v10H6zm13.5-.5c0 .3-.2.5-.5.5h-3v-10h3c.3 0 .5.2.5.5v9z" })); /* harmony default export */ var library_column = (column); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/deprecated.js /** * External dependencies */ /** * WordPress dependencies */ const column_deprecated_deprecated = [{ attributes: { verticalAlignment: { type: 'string' }, width: { type: 'number', min: 0, max: 100 } }, isEligible(_ref) { let { width } = _ref; return isFinite(width); }, migrate(attributes) { return { ...attributes, width: `${attributes.width}%` }; }, save(_ref2) { let { attributes } = _ref2; const { verticalAlignment, width } = attributes; const wrapperClasses = classnames_default()({ [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment }); const style = { flexBasis: width + '%' }; return (0,external_wp_element_namespaceObject.createElement)("div", { className: wrapperClasses, style: style }, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, null)); } }]; /* harmony default export */ var column_deprecated = (column_deprecated_deprecated); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/edit.js /** * External dependencies */ /** * WordPress dependencies */ function ColumnEdit(_ref) { let { attributes: { verticalAlignment, width, templateLock = false, allowedBlocks }, setAttributes, clientId } = _ref; const classes = classnames_default()('block-core-columns', { [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment }); const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ availableUnits: (0,external_wp_blockEditor_namespaceObject.useSetting)('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'] }); const { columnsIds, hasChildBlocks, rootClientId } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { getBlockOrder, getBlockRootClientId } = select(external_wp_blockEditor_namespaceObject.store); const rootId = getBlockRootClientId(clientId); return { hasChildBlocks: getBlockOrder(clientId).length > 0, rootClientId: rootId, columnsIds: getBlockOrder(rootId) }; }, [clientId]); const { updateBlockAttributes } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); const updateAlignment = value => { // Update own alignment. setAttributes({ verticalAlignment: value }); // Reset parent Columns block. updateBlockAttributes(rootClientId, { verticalAlignment: null }); }; const widthWithUnit = Number.isFinite(width) ? width + '%' : width; const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ className: classes, style: widthWithUnit ? { flexBasis: widthWithUnit } : undefined }); const columnsCount = columnsIds.length; const currentColumnPosition = columnsIds.indexOf(clientId) + 1; const label = (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: 1: Block label (i.e. "Block: Column"), 2: Position of the selected block, 3: Total number of sibling blocks of the same type */ (0,external_wp_i18n_namespaceObject.__)('%1$s (%2$d of %3$d)'), blockProps['aria-label'], currentColumnPosition, columnsCount); const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)({ ...blockProps, 'aria-label': label }, { templateLock, allowedBlocks, renderAppender: hasChildBlocks ? undefined : external_wp_blockEditor_namespaceObject.InnerBlocks.ButtonBlockAppender }); return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockControls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockVerticalAlignmentToolbar, { onChange: updateAlignment, value: verticalAlignment })), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InspectorControls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)('Column settings') }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalUnitControl, { label: (0,external_wp_i18n_namespaceObject.__)('Width'), labelPosition: "edge", __unstableInputWidth: "80px", value: width || '', onChange: nextWidth => { nextWidth = 0 > parseFloat(nextWidth) ? '0' : nextWidth; setAttributes({ width: nextWidth }); }, units: units }))), (0,external_wp_element_namespaceObject.createElement)("div", innerBlocksProps)); } /* harmony default export */ var column_edit = (ColumnEdit); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/save.js /** * External dependencies */ /** * WordPress dependencies */ function column_save_save(_ref) { let { attributes } = _ref; const { verticalAlignment, width } = attributes; const wrapperClasses = classnames_default()({ [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment }); let style; if (width && /\d/.test(width)) { // Numbers are handled for backward compatibility as they can be still provided with templates. let flexBasis = Number.isFinite(width) ? width + '%' : width; // In some cases we need to round the width to a shorter float. if (!Number.isFinite(width) && width !== null && width !== void 0 && width.endsWith('%')) { const multiplier = 1000000000000; // Shrink the number back to a reasonable float. flexBasis = Math.round(Number.parseFloat(width) * multiplier) / multiplier + '%'; } style = { flexBasis }; } const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: wrapperClasses, style }); const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); return (0,external_wp_element_namespaceObject.createElement)("div", innerBlocksProps); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const column_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/column", title: "Column", category: "text", parent: ["core/columns"], description: "A single column within a columns block.", textdomain: "default", attributes: { verticalAlignment: { type: "string" }, width: { type: "string" }, allowedBlocks: { type: "array" }, templateLock: { type: ["string", "boolean"], "enum": ["all", "insert", false] } }, supports: { anchor: true, reusable: false, html: false, color: { gradients: true, link: true, __experimentalDefaultControls: { background: true, text: true } }, spacing: { blockGap: true, padding: true, __experimentalDefaultControls: { padding: true } }, __experimentalLayout: true } }; const { name: column_name } = column_metadata; const column_settings = { icon: library_column, edit: column_edit, save: column_save_save, deprecated: column_deprecated }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/columns.js /** * WordPress dependencies */ const columns = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M19 6H6c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-4.1 1.5v10H10v-10h4.9zM5.5 17V8c0-.3.2-.5.5-.5h2.5v10H6c-.3 0-.5-.2-.5-.5zm14 0c0 .3-.2.5-.5.5h-2.6v-10H19c.3 0 .5.2.5.5v9z" })); /* harmony default export */ var library_columns = (columns); ;// 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) { let { doc } = getDeprecatedLayoutColumn; if (!doc) { doc = document.implementation.createHTMLDocument(''); getDeprecatedLayoutColumn.doc = doc; } let columnMatch; doc.body.innerHTML = originalContent; for (const classListItem of doc.body.firstChild.classList) { if (columnMatch = classListItem.match(/^layout-column-(\d+)$/)) { return Number(columnMatch[1]) - 1; } } } const migrateCustomColors = attributes => { if (!attributes.customTextColor && !attributes.customBackgroundColor) { return attributes; } const style = { color: {} }; if (attributes.customTextColor) { style.color.text = attributes.customTextColor; } if (attributes.customBackgroundColor) { style.color.background = attributes.customBackgroundColor; } return { ...(0,external_lodash_namespaceObject.omit)(attributes, ['customTextColor', 'customBackgroundColor']), style, isStackedOnMobile: true }; }; /* harmony default export */ var columns_deprecated = ([{ attributes: { verticalAlignment: { type: 'string' }, backgroundColor: { type: 'string' }, customBackgroundColor: { type: 'string' }, customTextColor: { type: 'string' }, textColor: { type: 'string' } }, migrate: migrateCustomColors, save(_ref) { let { attributes } = _ref; const { verticalAlignment, backgroundColor, customBackgroundColor, textColor, customTextColor } = attributes; const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)('background-color', backgroundColor); const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)('color', textColor); const className = classnames_default()({ 'has-background': backgroundColor || customBackgroundColor, 'has-text-color': textColor || customTextColor, [backgroundClass]: backgroundClass, [textClass]: textClass, [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment }); const style = { backgroundColor: backgroundClass ? undefined : customBackgroundColor, color: textClass ? undefined : customTextColor }; return (0,external_wp_element_namespaceObject.createElement)("div", { className: className ? className : undefined, style: style }, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, null)); } }, { attributes: { columns: { type: 'number', default: 2 } }, 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. const isFastPassEligible = innerBlocks.some(innerBlock => /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(innerBlock => getDeprecatedLayoutColumn(innerBlock.originalContent) !== undefined); }, migrate(attributes, innerBlocks) { const columns = innerBlocks.reduce((accumulator, innerBlock) => { const { originalContent } = innerBlock; let columnIndex = getDeprecatedLayoutColumn(originalContent); if (columnIndex === undefined) { columnIndex = 0; } if (!accumulator[columnIndex]) { accumulator[columnIndex] = []; } accumulator[columnIndex].push(innerBlock); return accumulator; }, []); const migratedInnerBlocks = columns.map(columnBlocks => (0,external_wp_blocks_namespaceObject.createBlock)('core/column', {}, columnBlocks)); return [{ ...(0,external_lodash_namespaceObject.omit)(attributes, ['columns']), isStackedOnMobile: true }, migratedInnerBlocks]; }, save(_ref2) { let { attributes } = _ref2; const { columns } = attributes; return (0,external_wp_element_namespaceObject.createElement)("div", { className: `has-${columns}-columns` }, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, null)); } }, { attributes: { columns: { type: 'number', default: 2 } }, migrate(attributes, innerBlocks) { attributes = { ...(0,external_lodash_namespaceObject.omit)(attributes, ['columns']), isStackedOnMobile: true }; return [attributes, innerBlocks]; }, save(_ref3) { let { attributes } = _ref3; const { verticalAlignment, columns } = attributes; const wrapperClasses = classnames_default()(`has-${columns}-columns`, { [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment }); return (0,external_wp_element_namespaceObject.createElement)("div", { className: wrapperClasses }, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, null)); } }]); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/utils.js /** * External dependencies */ /** * 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. */ const toWidthPrecision = value => { const unitlessValue = parseFloat(value); return Number.isFinite(unitlessValue) ? parseFloat(unitlessValue.toFixed(2)) : undefined; }; /** * 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) { const { width = 100 / totalBlockCount } = block.attributes; 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) { let totalBlockCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : blocks.length; return (0,external_lodash_namespaceObject.sumBy)(blocks, block => 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} Column widths. */ function getColumnWidths(blocks) { let totalBlockCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : blocks.length; return blocks.reduce((accumulator, block) => { const width = getEffectiveColumnWidth(block, totalBlockCount); return Object.assign(accumulator, { [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} Redistributed column widths. */ function getRedistributedColumnWidths(blocks, availableWidth) { let totalBlockCount = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : blocks.length; const totalWidth = getTotalColumnsWidth(blocks, totalBlockCount); return (0,external_lodash_namespaceObject.mapValues)(getColumnWidths(blocks, totalBlockCount), width => { const newWidth = availableWidth * width / totalWidth; return toWidthPrecision(newWidth); }); } /** * 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 hasExplicitPercentColumnWidths(blocks) { return blocks.every(block => { var _blockWidth$endsWith; const blockWidth = block.attributes.width; return Number.isFinite(blockWidth !== null && blockWidth !== void 0 && (_blockWidth$endsWith = blockWidth.endsWith) !== null && _blockWidth$endsWith !== void 0 && _blockWidth$endsWith.call(blockWidth, '%') ? parseFloat(blockWidth) : blockWidth); }); } /** * 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} widths Redistributed column widths. * * @return {WPBlock[]} blocks Mapped block objects. */ function getMappedColumnWidths(blocks, widths) { return blocks.map(block => (0,external_lodash_namespaceObject.merge)({}, block, { attributes: { width: `${widths[block.clientId]}%` } })); } /** * Returns an array with columns widths values, parsed or no depends on `withParsing` flag. * * @param {WPBlock[]} blocks Block objects. * @param {?boolean} withParsing Whether value has to be parsed. * * @return {Array} Column widths. */ function getWidths(blocks) { let withParsing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; return blocks.map(innerColumn => { const innerColumnWidth = innerColumn.attributes.width || 100 / blocks.length; return withParsing ? parseFloat(innerColumnWidth) : innerColumnWidth; }); } /** * Returns a column width with unit. * * @param {string} width Column width. * @param {string} unit Column width unit. * * @return {string} Column width with unit. */ function getWidthWithUnit(width, unit) { width = 0 > parseFloat(width) ? '0' : width; if (isPercentageUnit(unit)) { width = Math.min(width, 100); } return `${width}${unit}`; } /** * Returns a boolean whether passed unit is percentage * * @param {string} unit Column width unit. * * @return {boolean} Whether unit is '%'. */ function isPercentageUnit(unit) { return unit === '%'; } ;// 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[]} */ const edit_ALLOWED_BLOCKS = ['core/column']; function ColumnsEditContainer(_ref) { let { attributes, setAttributes, updateAlignment, updateColumns, clientId } = _ref; const { isStackedOnMobile, verticalAlignment } = attributes; const { count } = (0,external_wp_data_namespaceObject.useSelect)(select => { return { count: select(external_wp_blockEditor_namespaceObject.store).getBlockCount(clientId) }; }, [clientId]); const classes = classnames_default()({ [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment, [`is-not-stacked-on-mobile`]: !isStackedOnMobile }); const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ className: classes }); const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { allowedBlocks: edit_ALLOWED_BLOCKS, orientation: 'horizontal', renderAppender: false }); return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockControls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockVerticalAlignmentToolbar, { onChange: updateAlignment, value: verticalAlignment })), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InspectorControls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.RangeControl, { label: (0,external_wp_i18n_namespaceObject.__)('Columns'), value: count, onChange: value => updateColumns(count, value), min: 1, max: Math.max(6, count) }), count > 6 && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Notice, { status: "warning", isDismissible: false }, (0,external_wp_i18n_namespaceObject.__)('This column count exceeds the recommended amount and may cause visual breakage.')), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Stack on mobile'), checked: isStackedOnMobile, onChange: () => setAttributes({ isStackedOnMobile: !isStackedOnMobile }) }))), (0,external_wp_element_namespaceObject.createElement)("div", innerBlocksProps)); } const ColumnsEditContainerWrapper = (0,external_wp_data_namespaceObject.withDispatch)((dispatch, ownProps, registry) => ({ /** * 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(verticalAlignment) { const { clientId, setAttributes } = ownProps; const { updateBlockAttributes } = dispatch(external_wp_blockEditor_namespaceObject.store); const { getBlockOrder } = registry.select(external_wp_blockEditor_namespaceObject.store); // Update own alignment. setAttributes({ verticalAlignment }); // Update all child Column Blocks to match. const innerBlockClientIds = getBlockOrder(clientId); innerBlockClientIds.forEach(innerBlockClientId => { updateBlockAttributes(innerBlockClientId, { 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(previousColumns, newColumns) { const { clientId } = ownProps; const { replaceInnerBlocks } = dispatch(external_wp_blockEditor_namespaceObject.store); const { getBlocks } = registry.select(external_wp_blockEditor_namespaceObject.store); let innerBlocks = getBlocks(clientId); const hasExplicitWidths = hasExplicitPercentColumnWidths(innerBlocks); // Redistribute available width for existing inner blocks. const 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. const newColumnWidth = toWidthPrecision(100 / newColumns); // Redistribute in consideration of pending block insertion as // constraining the available working width. const widths = getRedistributedColumnWidths(innerBlocks, 100 - newColumnWidth); innerBlocks = [...getMappedColumnWidths(innerBlocks, widths), ...(0,external_lodash_namespaceObject.times)(newColumns - previousColumns, () => { return (0,external_wp_blocks_namespaceObject.createBlock)('core/column', { width: `${newColumnWidth}%` }); })]; } else if (isAddingColumn) { innerBlocks = [...innerBlocks, ...(0,external_lodash_namespaceObject.times)(newColumns - previousColumns, () => { return (0,external_wp_blocks_namespaceObject.createBlock)('core/column'); })]; } else { // The removed column will be the last of the inner blocks. innerBlocks = (0,external_lodash_namespaceObject.dropRight)(innerBlocks, previousColumns - newColumns); if (hasExplicitWidths) { // Redistribute as if block is already removed. const widths = getRedistributedColumnWidths(innerBlocks, 100); innerBlocks = getMappedColumnWidths(innerBlocks, widths); } } replaceInnerBlocks(clientId, innerBlocks); } }))(ColumnsEditContainer); function Placeholder(_ref2) { let { clientId, name, setAttributes } = _ref2; const { blockType, defaultVariation, variations } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { getBlockVariations, getBlockType, getDefaultBlockVariation } = select(external_wp_blocks_namespaceObject.store); return { blockType: getBlockType(name), defaultVariation: getDefaultBlockVariation(name, 'block'), variations: getBlockVariations(name, 'block') }; }, [name]); const { replaceInnerBlocks } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); return (0,external_wp_element_namespaceObject.createElement)("div", blockProps, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.__experimentalBlockVariationPicker, { icon: (0,external_lodash_namespaceObject.get)(blockType, ['icon', 'src']), label: (0,external_lodash_namespaceObject.get)(blockType, ['title']), variations: variations, onSelect: function () { let nextVariation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultVariation; if (nextVariation.attributes) { setAttributes(nextVariation.attributes); } if (nextVariation.innerBlocks) { replaceInnerBlocks(clientId, (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)(nextVariation.innerBlocks), true); } }, allowSkip: true })); } const ColumnsEdit = props => { const { clientId } = props; const hasInnerBlocks = (0,external_wp_data_namespaceObject.useSelect)(select => select(external_wp_blockEditor_namespaceObject.store).getBlocks(clientId).length > 0, [clientId]); const Component = hasInnerBlocks ? ColumnsEditContainerWrapper : Placeholder; return (0,external_wp_element_namespaceObject.createElement)(Component, props); }; /* harmony default export */ var columns_edit = (ColumnsEdit); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/save.js /** * External dependencies */ /** * WordPress dependencies */ function columns_save_save(_ref) { let { attributes } = _ref; const { isStackedOnMobile, verticalAlignment } = attributes; const className = classnames_default()({ [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment, [`is-not-stacked-on-mobile`]: !isStackedOnMobile }); const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }); const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); return (0,external_wp_element_namespaceObject.createElement)("div", innerBlocksProps); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/variations.js /** * WordPress dependencies */ /** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */ /** * Template option choices for predefined columns layouts. * * @type {WPBlockVariation[]} */ const variations = [{ name: 'one-column-full', title: (0,external_wp_i18n_namespaceObject.__)('100'), description: (0,external_wp_i18n_namespaceObject.__)('One column'), icon: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { width: "48", height: "48", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "m39.0625 14h-30.0625v20.0938h30.0625zm-30.0625-2c-1.10457 0-2 .8954-2 2v20.0938c0 1.1045.89543 2 2 2h30.0625c1.1046 0 2-.8955 2-2v-20.0938c0-1.1046-.8954-2-2-2z" })), innerBlocks: [['core/column']], scope: ['block'] }, { name: 'two-columns-equal', title: (0,external_wp_i18n_namespaceObject.__)('50 / 50'), description: (0,external_wp_i18n_namespaceObject.__)('Two columns; equal split'), icon: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { width: "48", height: "48", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.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" })), isDefault: true, innerBlocks: [['core/column'], ['core/column']], scope: ['block'] }, { name: 'two-columns-one-third-two-thirds', title: (0,external_wp_i18n_namespaceObject.__)('30 / 70'), description: (0,external_wp_i18n_namespaceObject.__)('Two columns; one-third, two-thirds split'), icon: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { width: "48", height: "48", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.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" })), innerBlocks: [['core/column', { width: '33.33%' }], ['core/column', { width: '66.66%' }]], scope: ['block'] }, { name: 'two-columns-two-thirds-one-third', title: (0,external_wp_i18n_namespaceObject.__)('70 / 30'), description: (0,external_wp_i18n_namespaceObject.__)('Two columns; two-thirds, one-third split'), icon: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { width: "48", height: "48", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.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" })), innerBlocks: [['core/column', { width: '66.66%' }], ['core/column', { width: '33.33%' }]], scope: ['block'] }, { name: 'three-columns-equal', title: (0,external_wp_i18n_namespaceObject.__)('33 / 33 / 33'), description: (0,external_wp_i18n_namespaceObject.__)('Three columns; equal split'), icon: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { width: "48", height: "48", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.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" })), innerBlocks: [['core/column'], ['core/column'], ['core/column']], scope: ['block'] }, { name: 'three-columns-wider-center', title: (0,external_wp_i18n_namespaceObject.__)('25 / 50 / 25'), description: (0,external_wp_i18n_namespaceObject.__)('Three columns; wide center column'), icon: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { width: "48", height: "48", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.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" })), innerBlocks: [['core/column', { width: '25%' }], ['core/column', { width: '50%' }], ['core/column', { width: '25%' }]], scope: ['block'] }]; /* harmony default export */ var columns_variations = (variations); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/transforms.js /** * WordPress dependencies */ const MAXIMUM_SELECTED_BLOCKS = 6; const columns_transforms_transforms = { from: [{ type: 'block', isMultiBlock: true, blocks: ['*'], __experimentalConvert: blocks => { const columnWidth = +(100 / blocks.length).toFixed(2); const innerBlocksTemplate = blocks.map(_ref => { let { name, attributes, innerBlocks } = _ref; return ['core/column', { width: `${columnWidth}%` }, [[name, { ...attributes }, innerBlocks]]]; }); return (0,external_wp_blocks_namespaceObject.createBlock)('core/columns', {}, (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)(innerBlocksTemplate)); }, isMatch: _ref2 => { let { length: selectedBlocksLength } = _ref2; return selectedBlocksLength && selectedBlocksLength <= MAXIMUM_SELECTED_BLOCKS; } }, { type: 'block', blocks: ['core/media-text'], priority: 1, transform: (attributes, innerBlocks) => { const { align, backgroundColor, textColor, style, mediaAlt: alt, mediaId: id, mediaPosition, mediaSizeSlug: sizeSlug, mediaType, mediaUrl: url, mediaWidth, verticalAlignment } = attributes; let media; if (mediaType === 'image' || !mediaType) { const imageAttrs = { id, alt, url, sizeSlug }; const linkAttrs = { href: attributes.href, linkClass: attributes.linkClass, linkDestination: attributes.linkDestination, linkTarget: attributes.linkTarget, rel: attributes.rel }; media = ['core/image', { ...imageAttrs, ...linkAttrs }]; } else { media = ['core/video', { id, src: url }]; } const innerBlocksTemplate = [['core/column', { width: `${mediaWidth}%` }, [media]], ['core/column', { width: `${100 - mediaWidth}%` }, innerBlocks]]; if (mediaPosition === 'right') { innerBlocksTemplate.reverse(); } return (0,external_wp_blocks_namespaceObject.createBlock)('core/columns', { align, backgroundColor, textColor, style, verticalAlignment }, (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)(innerBlocksTemplate)); } }] }; /* harmony default export */ var columns_transforms = (columns_transforms_transforms); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const columns_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/columns", title: "Columns", category: "design", description: "Display content in multiple columns, with blocks added to each column.", textdomain: "default", attributes: { verticalAlignment: { type: "string" }, isStackedOnMobile: { type: "boolean", "default": true } }, supports: { anchor: true, align: ["wide", "full"], html: false, color: { gradients: true, link: true, __experimentalDefaultControls: { background: true, text: true } }, spacing: { blockGap: true, margin: ["top", "bottom"], padding: true, __experimentalDefaultControls: { padding: true } }, __experimentalLayout: { allowSwitching: false, allowInheriting: false, allowEditing: false, "default": { type: "flex", flexWrap: "nowrap" } }, __experimentalBorder: { color: true, radius: true, style: true, width: true, __experimentalDefaultControls: { color: true, radius: true, style: true, width: true } } }, editorStyle: "wp-block-columns-editor", style: "wp-block-columns" }; const { name: columns_name } = columns_metadata; const columns_settings = { icon: library_columns, variations: columns_variations, example: { viewportWidth: 600, // Columns collapse "@media (max-width: 599px)". innerBlocks: [{ name: 'core/column', innerBlocks: [{ name: 'core/paragraph', attributes: { /* translators: example text. */ content: (0,external_wp_i18n_namespaceObject.__)('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: { /* translators: example text. */ content: (0,external_wp_i18n_namespaceObject.__)('Suspendisse commodo neque lacus, a dictum orci interdum et.') } }] }, { name: 'core/column', innerBlocks: [{ name: 'core/paragraph', attributes: { /* translators: example text. */ content: (0,external_wp_i18n_namespaceObject.__)('Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.') } }, { name: 'core/paragraph', attributes: { /* translators: example text. */ content: (0,external_wp_i18n_namespaceObject.__)('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, transforms: columns_transforms }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/comment-author-name.js /** * WordPress dependencies */ const commentAuthorName = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z", fillRule: "evenodd", clipRule: "evenodd" }), (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M15 15V15C15 13.8954 14.1046 13 13 13L11 13C9.89543 13 9 13.8954 9 15V15", fillRule: "evenodd", clipRule: "evenodd" }), (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Circle, { cx: "12", cy: "9", r: "2", fillRule: "evenodd", clipRule: "evenodd" })); /* harmony default export */ var comment_author_name = (commentAuthorName); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-author-name/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Renders the `core/comment-author-name` block on the editor. * * @param {Object} props React props. * @param {Object} props.setAttributes Callback for updating block attributes. * @param {Object} props.attributes Block attributes. * @param {string} props.attributes.isLink Whether the author name should be linked. * @param {string} props.attributes.linkTarget Target of the link. * @param {string} props.attributes.textAlign Text alignment. * @param {Object} props.context Inherited context. * @param {string} props.context.commentId The comment ID. * * @return {JSX.Element} React element. */ function edit_Edit(_ref) { let { attributes: { isLink, linkTarget, textAlign }, context: { commentId }, setAttributes } = _ref; const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ className: classnames_default()({ [`has-text-align-${textAlign}`]: textAlign }) }); const displayName = (0,external_wp_data_namespaceObject.useSelect)(select => { const { getEntityRecord } = select(external_wp_coreData_namespaceObject.store); const comment = getEntityRecord('root', 'comment', commentId); const authorName = comment === null || comment === void 0 ? void 0 : comment.author_name; // eslint-disable-line camelcase if (comment && !authorName) { var _user$name; const user = getEntityRecord('root', 'user', comment.author); return (_user$name = user === null || user === void 0 ? void 0 : user.name) !== null && _user$name !== void 0 ? _user$name : (0,external_wp_i18n_namespaceObject.__)('Anonymous'); } return authorName !== null && authorName !== void 0 ? authorName : ''; }, [commentId]); const blockControls = (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.AlignmentControl, { value: textAlign, onChange: newAlign => setAttributes({ textAlign: newAlign }) })); const inspectorControls = (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InspectorControls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)('Link settings') }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Link to authors URL'), onChange: () => setAttributes({ isLink: !isLink }), checked: isLink }), isLink && (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Open in new tab'), onChange: value => setAttributes({ linkTarget: value ? '_blank' : '_self' }), checked: linkTarget === '_blank' }))); if (!commentId || !displayName) { return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, inspectorControls, blockControls, (0,external_wp_element_namespaceObject.createElement)("div", blockProps, (0,external_wp_element_namespaceObject.createElement)("p", null, (0,external_wp_i18n_namespaceObject._x)('Comment Author', 'block title')))); } const displayAuthor = isLink ? (0,external_wp_element_namespaceObject.createElement)("a", { href: "#comment-author-pseudo-link", onClick: event => event.preventDefault() }, displayName) : (0,external_wp_element_namespaceObject.createElement)("p", null, displayName); return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, inspectorControls, blockControls, (0,external_wp_element_namespaceObject.createElement)("div", blockProps, displayAuthor)); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-author-name/deprecated.js /** * Internal dependencies */ const v1 = { attributes: { isLink: { type: 'boolean', default: false }, linkTarget: { type: 'string', default: '_self' } }, supports: { html: false, color: { gradients: true, link: true }, typography: { fontSize: true, lineHeight: true, __experimentalFontFamily: true, __experimentalFontWeight: true, __experimentalFontStyle: true, __experimentalTextTransform: true, __experimentalLetterSpacing: true } }, save() { return null; }, migrate: migrate_font_family, isEligible(_ref) { var _style$typography; let { style } = _ref; return style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.fontFamily; } }; /** * New deprecations need to be placed first * for them to have higher priority. * * Old deprecations may need to be updated as well. * * See block-deprecation.md */ /* harmony default export */ var comment_author_name_deprecated = ([v1]); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-author-name/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const comment_author_name_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/comment-author-name", title: "Comment Author Name", category: "theme", ancestor: ["core/comment-template"], description: "Displays the name of the author of the comment.", textdomain: "default", attributes: { isLink: { type: "boolean", "default": true }, linkTarget: { type: "string", "default": "_self" }, textAlign: { type: "string" }, fontSize: { type: "string", "default": "small" } }, usesContext: ["commentId"], supports: { html: false, spacing: { margin: true, padding: true }, color: { gradients: true, link: true, __experimentalDefaultControls: { background: true, text: true, link: true } }, typography: { fontSize: true, lineHeight: true, __experimentalFontFamily: true, __experimentalFontWeight: true, __experimentalFontStyle: true, __experimentalTextTransform: true, __experimentalLetterSpacing: true } } }; const { name: comment_author_name_name } = comment_author_name_metadata; const comment_author_name_settings = { icon: comment_author_name, edit: edit_Edit, deprecated: comment_author_name_deprecated }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/comment-content.js /** * WordPress dependencies */ const commentContent = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M6.68822 16.625L5.5 17.8145L5.5 5.5L18.5 5.5L18.5 16.625L6.68822 16.625ZM7.31 18.125L19 18.125C19.5523 18.125 20 17.6773 20 17.125L20 5C20 4.44772 19.5523 4 19 4H5C4.44772 4 4 4.44772 4 5V19.5247C4 19.8173 4.16123 20.086 4.41935 20.2237C4.72711 20.3878 5.10601 20.3313 5.35252 20.0845L7.31 18.125ZM16 9.99997H8V8.49997H16V9.99997ZM8 14H13V12.5H8V14Z" })); /* harmony default export */ var comment_content = (commentContent); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-content/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Renders the `core/comment-content` block on the editor. * * @param {Object} props React props. * @param {Object} props.setAttributes Callback for updating block attributes. * @param {Object} props.attributes Block attributes. * @param {string} props.attributes.textAlign The `textAlign` attribute. * @param {Object} props.context Inherited context. * @param {string} props.context.commentId The comment ID. * * @return {JSX.Element} React element. */ function comment_content_edit_Edit(_ref) { let { setAttributes, attributes: { textAlign }, context: { commentId } } = _ref; const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ className: classnames_default()({ [`has-text-align-${textAlign}`]: textAlign }) }); const [content] = (0,external_wp_coreData_namespaceObject.useEntityProp)('root', 'comment', 'content', commentId); const blockControls = (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.AlignmentControl, { value: textAlign, onChange: newAlign => setAttributes({ textAlign: newAlign }) })); if (!commentId || !content) { return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, blockControls, (0,external_wp_element_namespaceObject.createElement)("div", blockProps, (0,external_wp_element_namespaceObject.createElement)("p", null, (0,external_wp_i18n_namespaceObject._x)('Comment Content', 'block title')))); } return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, blockControls, (0,external_wp_element_namespaceObject.createElement)("div", blockProps, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Disabled, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.RawHTML, { key: "html" }, content.rendered)))); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-content/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const comment_content_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/comment-content", title: "Comment Content", category: "theme", ancestor: ["core/comment-template"], description: "Displays the contents of a comment.", textdomain: "default", usesContext: ["commentId"], attributes: { textAlign: { type: "string" } }, supports: { color: { gradients: true, link: true, __experimentalDefaultControls: { background: true, text: true } }, typography: { fontSize: true, lineHeight: true, __experimentalFontFamily: true, __experimentalFontWeight: true, __experimentalFontStyle: true, __experimentalTextTransform: true, __experimentalLetterSpacing: true }, spacing: { padding: ["horizontal", "vertical"], __experimentalDefaultControls: { padding: true } }, html: false } }; const { name: comment_content_name } = comment_content_metadata; const comment_content_settings = { icon: comment_content, edit: comment_content_edit_Edit }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-date.js /** * WordPress dependencies */ const postDate = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M11.696 13.972c.356-.546.599-.958.728-1.235a1.79 1.79 0 00.203-.783c0-.264-.077-.47-.23-.618-.148-.153-.354-.23-.618-.23-.295 0-.569.07-.82.212a3.413 3.413 0 00-.738.571l-.147-1.188c.289-.234.59-.41.903-.526.313-.117.66-.175 1.041-.175.375 0 .695.08.959.24.264.153.46.362.59.626.135.265.203.556.203.876 0 .362-.08.734-.24 1.115-.154.381-.427.87-.82 1.466l-.756 1.152H14v1.106h-4l1.696-2.609z" }), (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M19.5 7h-15v12a.5.5 0 00.5.5h14a.5.5 0 00.5-.5V7zM3 7V5a2 2 0 012-2h14a2 2 0 012 2v14a2 2 0 01-2 2H5a2 2 0 01-2-2V7z" })); /* harmony default export */ var post_date = (postDate); ;// CONCATENATED MODULE: external ["wp","date"] var external_wp_date_namespaceObject = window["wp"]["date"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-date/edit.js /** * WordPress dependencies */ /** * Renders the `core/comment-date` block on the editor. * * @param {Object} props React props. * @param {Object} props.setAttributes Callback for updating block attributes. * @param {Object} props.attributes Block attributes. * @param {string} props.attributes.format Format of the date. * @param {string} props.attributes.isLink Whether the author name should be linked. * @param {Object} props.context Inherited context. * @param {string} props.context.commentId The comment ID. * * @return {JSX.Element} React element. */ function comment_date_edit_Edit(_ref) { let { attributes: { format, isLink }, context: { commentId }, setAttributes } = _ref; const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); const [date] = (0,external_wp_coreData_namespaceObject.useEntityProp)('root', 'comment', 'date', commentId); const [siteFormat = (0,external_wp_date_namespaceObject.__experimentalGetSettings)().formats.date] = (0,external_wp_coreData_namespaceObject.useEntityProp)('root', 'site', 'date_format'); const inspectorControls = (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InspectorControls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)('Settings') }, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.__experimentalDateFormatPicker, { format: format, defaultFormat: siteFormat, onChange: nextFormat => setAttributes({ format: nextFormat }) }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Link to comment'), onChange: () => setAttributes({ isLink: !isLink }), checked: isLink }))); if (!commentId || !date) { return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, inspectorControls, (0,external_wp_element_namespaceObject.createElement)("div", blockProps, (0,external_wp_element_namespaceObject.createElement)("p", null, (0,external_wp_i18n_namespaceObject._x)('Comment Date', 'block title')))); } let commentDate = (0,external_wp_element_namespaceObject.createElement)("time", { dateTime: (0,external_wp_date_namespaceObject.dateI18n)('c', date) }, (0,external_wp_date_namespaceObject.dateI18n)(format || siteFormat, date)); if (isLink) { commentDate = (0,external_wp_element_namespaceObject.createElement)("a", { href: "#comment-date-pseudo-link", onClick: event => event.preventDefault() }, commentDate); } return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, inspectorControls, (0,external_wp_element_namespaceObject.createElement)("div", blockProps, commentDate)); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-date/deprecated.js /** * Internal dependencies */ const deprecated_v1 = { attributes: { format: { type: 'string' }, isLink: { type: 'boolean', default: false } }, supports: { html: false, color: { gradients: true, link: true }, typography: { fontSize: true, lineHeight: true, __experimentalFontFamily: true, __experimentalFontWeight: true, __experimentalFontStyle: true, __experimentalTextTransform: true, __experimentalLetterSpacing: true } }, save() { return null; }, migrate: migrate_font_family, isEligible(_ref) { var _style$typography; let { style } = _ref; return style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.fontFamily; } }; /** * New deprecations need to be placed first * for them to have higher priority. * * Old deprecations may need to be updated as well. * * See block-deprecation.md */ /* harmony default export */ var comment_date_deprecated = ([deprecated_v1]); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-date/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const comment_date_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/comment-date", title: "Comment Date", category: "theme", ancestor: ["core/comment-template"], description: "Displays the date on which the comment was posted.", textdomain: "default", attributes: { format: { type: "string" }, isLink: { type: "boolean", "default": true }, fontSize: { type: "string", "default": "small" } }, usesContext: ["commentId"], supports: { html: false, color: { gradients: true, link: true, __experimentalDefaultControls: { background: true, text: true, link: true } }, typography: { fontSize: true, lineHeight: true, __experimentalFontFamily: true, __experimentalFontWeight: true, __experimentalFontStyle: true, __experimentalTextTransform: true, __experimentalLetterSpacing: true, __experimentalDefaultControls: { fontSize: true } } } }; const { name: comment_date_name } = comment_date_metadata; const comment_date_settings = { icon: post_date, edit: comment_date_edit_Edit, deprecated: comment_date_deprecated }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/comment-edit-link.js /** * WordPress dependencies */ const commentEditLink = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "m6.249 11.065.44-.44h3.186l-1.5 1.5H7.31l-1.957 1.96A.792.792 0 0 1 4 13.524V5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1.5L12.5 8V5.5h-7v6.315l.749-.75ZM20 19.75H7v-1.5h13v1.5Zm0-12.653-8.967 9.064L8 17l.867-2.935L17.833 5 20 7.097Z" })); /* harmony default export */ var comment_edit_link = (commentEditLink); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-edit-link/edit.js /** * External dependencies */ /** * WordPress dependencies */ function comment_edit_link_edit_Edit(_ref) { let { attributes: { linkTarget, textAlign }, setAttributes } = _ref; const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ className: classnames_default()({ [`has-text-align-${textAlign}`]: textAlign }) }); const blockControls = (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.AlignmentControl, { value: textAlign, onChange: newAlign => setAttributes({ textAlign: newAlign }) })); const inspectorControls = (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InspectorControls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)('Link settings') }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { label: (0,external_wp_i18n_namespaceObject.__)('Open in new tab'), onChange: value => setAttributes({ linkTarget: value ? '_blank' : '_self' }), checked: linkTarget === '_blank' }))); return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, blockControls, inspectorControls, (0,external_wp_element_namespaceObject.createElement)("div", blockProps, (0,external_wp_element_namespaceObject.createElement)("a", { href: "#edit-comment-pseudo-link", onClick: event => event.preventDefault() }, (0,external_wp_i18n_namespaceObject.__)('Edit')))); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-edit-link/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const comment_edit_link_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/comment-edit-link", title: "Comment Edit Link", category: "theme", ancestor: ["core/comment-template"], description: "Displays a link to edit the comment in the WordPress Dashboard. This link is only visible to users with the edit comment capability.", textdomain: "default", usesContext: ["commentId"], attributes: { linkTarget: { type: "string", "default": "_self" }, textAlign: { type: "string" }, fontSize: { type: "string", "default": "small" } }, supports: { html: false, color: { link: true, gradients: true, text: false, __experimentalDefaultControls: { background: true, link: true } }, typography: { fontSize: true, lineHeight: true, __experimentalFontFamily: true, __experimentalFontWeight: true, __experimentalFontStyle: true, __experimentalTextTransform: true, __experimentalLetterSpacing: true } } }; const { name: comment_edit_link_name } = comment_edit_link_metadata; const comment_edit_link_settings = { icon: comment_edit_link, edit: comment_edit_link_edit_Edit }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/comment-reply-link.js /** * WordPress dependencies */ const commentReplyLink = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M6.68822 10.625L6.24878 11.0649L5.5 11.8145L5.5 5.5L12.5 5.5V8L14 6.5V5C14 4.44772 13.5523 4 13 4H5C4.44772 4 4 4.44771 4 5V13.5247C4 13.8173 4.16123 14.086 4.41935 14.2237C4.72711 14.3878 5.10601 14.3313 5.35252 14.0845L7.31 12.125H8.375L9.875 10.625H7.31H6.68822ZM14.5605 10.4983L11.6701 13.75H16.9975C17.9963 13.75 18.7796 14.1104 19.3553 14.7048C19.9095 15.2771 20.2299 16.0224 20.4224 16.7443C20.7645 18.0276 20.7543 19.4618 20.7487 20.2544C20.7481 20.345 20.7475 20.4272 20.7475 20.4999L19.2475 20.5001C19.2475 20.4191 19.248 20.3319 19.2484 20.2394V20.2394C19.2526 19.4274 19.259 18.2035 18.973 17.1307C18.8156 16.5401 18.586 16.0666 18.2778 15.7483C17.9909 15.4521 17.5991 15.25 16.9975 15.25H11.8106L14.5303 17.9697L13.4696 19.0303L8.96956 14.5303L13.4394 9.50171L14.5605 10.4983Z" })); /* harmony default export */ var comment_reply_link = (commentReplyLink); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-reply-link/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Renders the `core/comment-reply-link` block on the editor. * * @param {Object} props React props. * @param {Object} props.setAttributes Callback for updating block attributes. * @param {Object} props.attributes Block attributes. * @param {string} props.attributes.textAlign The `textAlign` attribute. * * @return {JSX.Element} React element. */ function comment_reply_link_edit_Edit(_ref) { let { setAttributes, attributes: { textAlign } } = _ref; const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ className: classnames_default()({ [`has-text-align-${textAlign}`]: textAlign }) }); const blockControls = (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.AlignmentControl, { value: textAlign, onChange: newAlign => setAttributes({ textAlign: newAlign }) })); return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, blockControls, (0,external_wp_element_namespaceObject.createElement)("div", blockProps, (0,external_wp_element_namespaceObject.createElement)("a", { href: "#comment-reply-pseudo-link", onClick: event => event.preventDefault() }, (0,external_wp_i18n_namespaceObject.__)('Reply')))); } /* harmony default export */ var comment_reply_link_edit = (comment_reply_link_edit_Edit); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-reply-link/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const comment_reply_link_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/comment-reply-link", title: "Comment Reply Link", category: "theme", ancestor: ["core/comment-template"], description: "Displays a link to reply to a comment.", textdomain: "default", usesContext: ["commentId"], attributes: { textAlign: { type: "string" }, fontSize: { type: "string", "default": "small" } }, supports: { color: { gradients: true, link: true, text: false, __experimentalDefaultControls: { background: true, link: true } }, typography: { fontSize: true, lineHeight: true, __experimentalFontFamily: true, __experimentalFontWeight: true, __experimentalFontStyle: true, __experimentalTextTransform: true, __experimentalLetterSpacing: true }, html: false } }; const { name: comment_reply_link_name } = comment_reply_link_metadata; const comment_reply_link_settings = { edit: comment_reply_link_edit, icon: comment_reply_link }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/layout.js /** * WordPress dependencies */ const layout = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z" })); /* harmony default export */ var library_layout = (layout); ;// CONCATENATED MODULE: external ["wp","apiFetch"] var external_wp_apiFetch_namespaceObject = window["wp"]["apiFetch"]; var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_namespaceObject); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-template/hooks.js /** * WordPress dependencies */ // This is limited by WP REST API const MAX_COMMENTS_PER_PAGE = 100; /** * Return an object with the query args needed to fetch the default page of * comments. * * @param {Object} props Hook props. * @param {number} props.postId ID of the post that contains the comments. * discussion settings. * * @return {Object} Query args to retrieve the comments. */ const useCommentQueryArgs = _ref => { let { postId } = _ref; // Initialize the query args that are not going to change. const queryArgs = { status: 'approve', order: 'asc', context: 'embed', parent: 0, _embed: 'children' }; // Get the Discussion settings that may be needed to query the comments. const { pageComments, commentsPerPage, defaultCommentsPage: defaultPage } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { getSettings } = select(external_wp_blockEditor_namespaceObject.store); const { __experimentalDiscussionSettings } = getSettings(); return __experimentalDiscussionSettings; }); // WP REST API doesn't allow fetching more than max items limit set per single page of data. // As for the editor performance is more important than completeness of data and fetching only the // max allowed for single page should be enough for the purpose of design and laying out the page. // Fetching over the limit would return an error here but would work with backend query. const perPage = pageComments ? Math.min(commentsPerPage, MAX_COMMENTS_PER_PAGE) : MAX_COMMENTS_PER_PAGE; // Get the number of the default page. const page = useDefaultPageIndex({ defaultPage, postId, perPage, queryArgs }); // Merge, memoize and return all query arguments, unless the default page's // number is not known yet. return (0,external_wp_element_namespaceObject.useMemo)(() => { return page ? { ...queryArgs, post: postId, per_page: perPage, page } : null; }, [postId, perPage, page]); }; /** * Return the index of the default page, depending on whether `defaultPage` is * `newest` or `oldest`. In the first case, the only way to know the page's * index is by using the `X-WP-TotalPages` header, which forces to make an * additional request. * * @param {Object} props Hook props. * @param {string} props.defaultPage Page shown by default (newest/oldest). * @param {number} props.postId ID of the post that contains the comments. * @param {number} props.perPage The number of comments included per page. * @param {Object} props.queryArgs Other query args. * * @return {number} Index of the default comments page. */ const useDefaultPageIndex = _ref2 => { let { defaultPage, postId, perPage, queryArgs } = _ref2; // Store the default page indices. const [defaultPages, setDefaultPages] = (0,external_wp_element_namespaceObject.useState)({}); const key = `${postId}_${perPage}`; const page = defaultPages[key] || 0; (0,external_wp_element_namespaceObject.useEffect)(() => { // Do nothing if the page is already known or not the newest page. if (page || defaultPage !== 'newest') { return; } // We need to fetch comments to know the index. Use HEAD and limit // fields just to ID, to make this call as light as possible. external_wp_apiFetch_default()({ path: (0,external_wp_url_namespaceObject.addQueryArgs)('/wp/v2/comments', { ...queryArgs, post: postId, per_page: perPage, _fields: 'id' }), method: 'HEAD', parse: false }).then(res => { const pages = parseInt(res.headers.get('X-WP-TotalPages')); setDefaultPages({ ...defaultPages, [key]: pages <= 1 ? 1 : pages // If there are 0 pages, it means that there are no comments, but there is no 0th page. }); }); }, [defaultPage, postId, perPage, setDefaultPages]); // The oldest one is always the first one. return defaultPage === 'newest' ? page : 1; }; /** * Generate a tree structure of comment IDs from a list of comment entities. The * children of each comment are obtained from `_embedded`. * * @typedef {{ commentId: number, children: CommentNode }} CommentNode * * @param {Object[]} topLevelComments List of comment entities. * @return {{ commentTree: CommentNode[]}} Tree of comment IDs. */ const useCommentTree = topLevelComments => { const commentTree = (0,external_wp_element_namespaceObject.useMemo)(() => topLevelComments === null || topLevelComments === void 0 ? void 0 : topLevelComments.map(_ref3 => { let { id, _embedded } = _ref3; const [children] = (_embedded === null || _embedded === void 0 ? void 0 : _embedded.children) || [[]]; return { commentId: id, children: children.map(child => ({ commentId: child.id })) }; }), [topLevelComments]); return commentTree; }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-template/edit.js /** * WordPress dependencies */ /** * Internal dependencies */ const TEMPLATE = [['core/avatar'], ['core/comment-author-name'], ['core/comment-date'], ['core/comment-content'], ['core/comment-reply-link'], ['core/comment-edit-link']]; /** * Function that returns a comment structure that will be rendered with default placehoders. * * Each comment has a `commentId` property that is always a negative number in * case of the placeholders. This is to ensure that the comment does not * conflict with the actual (real) comments. * * @param {Object} settings Discussion Settings. * @param {number} [settings.perPage] - Comments per page setting or block attribute. * @param {boolean} [settings.threadComments] - Enable threaded (nested) comments setting. * @param {number} [settings.threadCommentsDepth] - Level deep of threaded comments. * * @typedef {{id: null, children: EmptyComment[]}} EmptyComment * @return {EmptyComment[]} Inner blocks of the Comment Template */ const getCommentsPlaceholder = _ref => { let { perPage, threadComments, threadCommentsDepth } = _ref; // In case that `threadCommentsDepth` is falsy, we default to a somewhat // arbitrary value of 3. // In case that the value is set but larger than 3 we truncate it to 3. const commentsDepth = Math.min(threadCommentsDepth || 3, 3); // We set a limit in order not to overload the editor of empty comments. const defaultCommentsToShow = perPage <= commentsDepth ? perPage : commentsDepth; if (!threadComments || defaultCommentsToShow === 1) { // If displaying threaded comments is disabled, we only show one comment // A commentId is negative in order to avoid conflicts with the actual comments. return [{ commentId: -1, children: [] }]; } else if (defaultCommentsToShow === 2) { return [{ commentId: -1, children: [{ commentId: -2, children: [] }] }]; } // In case that the value is set but larger than 3 we truncate it to 3. return [{ commentId: -1, children: [{ commentId: -2, children: [{ commentId: -3, children: [] }] }] }]; }; /** * Component which renders the inner blocks of the Comment Template. * * @param {Object} props Component props. * @param {Array} [props.comment] - A comment object. * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active. * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId. * @param {Array} [props.firstCommentId] - ID of the first comment in the array. * @param {Array} [props.blocks] - Array of blocks returned from * getBlocks() in parent . * @return {WPElement} Inner blocks of the Comment Template */ function CommentTemplateInnerBlocks(_ref2) { var _comment$children; let { comment, activeCommentId, setActiveCommentId, firstCommentId, blocks } = _ref2; const { children, ...innerBlocksProps } = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)({}, { template: TEMPLATE }); return (0,external_wp_element_namespaceObject.createElement)("li", innerBlocksProps, comment.commentId === (activeCommentId || firstCommentId) ? children : null, (0,external_wp_element_namespaceObject.createElement)(MemoizedCommentTemplatePreview, { blocks: blocks, commentId: comment.commentId, setActiveCommentId: setActiveCommentId, isHidden: comment.commentId === (activeCommentId || firstCommentId) }), (comment === null || comment === void 0 ? void 0 : (_comment$children = comment.children) === null || _comment$children === void 0 ? void 0 : _comment$children.length) > 0 ? (0,external_wp_element_namespaceObject.createElement)(CommentsList, { comments: comment.children, activeCommentId: activeCommentId, setActiveCommentId: setActiveCommentId, blocks: blocks, firstCommentId: firstCommentId }) : null); } const CommentTemplatePreview = _ref3 => { let { blocks, commentId, setActiveCommentId, isHidden } = _ref3; const blockPreviewProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBlockPreview)({ blocks }); const handleOnClick = () => { setActiveCommentId(commentId); }; // We have to hide the preview block if the `comment` props points to // the curently active block! // Or, to put it differently, every preview block is visible unless it is the // currently active block - in this case we render its inner blocks. const style = { display: isHidden ? 'none' : undefined }; return (0,external_wp_element_namespaceObject.createElement)("div", _extends({}, blockPreviewProps, { tabIndex: 0, role: "button", style: style // eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role , onClick: handleOnClick, onKeyPress: handleOnClick })); }; const MemoizedCommentTemplatePreview = (0,external_wp_element_namespaceObject.memo)(CommentTemplatePreview); /** * Component that renders a list of (nested) comments. It is called recursively. * * @param {Object} props Component props. * @param {Array} [props.comments] - Array of comment objects. * @param {Array} [props.blockProps] - Props from parent's `useBlockProps()`. * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active. * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId. * @param {Array} [props.blocks] - Array of blocks returned from getBlocks() in parent. * @param {Object} [props.firstCommentId] - The ID of the first comment in the array of * comment objects. * @return {WPElement} List of comments. */ const CommentsList = _ref4 => { let { comments, blockProps, activeCommentId, setActiveCommentId, blocks, firstCommentId } = _ref4; return (0,external_wp_element_namespaceObject.createElement)("ol", blockProps, comments && comments.map((_ref5, index) => { let { commentId, ...comment } = _ref5; return (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockContextProvider, { key: comment.commentId || index, value: { // If the commentId is negative it means that this comment is a // "placeholder" and that the block is most likely being used in the // site editor. In this case, we have to set the commentId to `null` // because otherwise the (non-existent) comment with a negative ID // would be reqested from the REST API. commentId: commentId < 0 ? null : commentId } }, (0,external_wp_element_namespaceObject.createElement)(CommentTemplateInnerBlocks, { comment: { commentId, ...comment }, activeCommentId: activeCommentId, setActiveCommentId: setActiveCommentId, blocks: blocks, firstCommentId: firstCommentId })); })); }; function CommentTemplateEdit(_ref6) { var _commentTree$; let { clientId, context: { postId } } = _ref6; const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); const [activeCommentId, setActiveCommentId] = (0,external_wp_element_namespaceObject.useState)(); const { commentOrder, threadCommentsDepth, threadComments, commentsPerPage } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { getSettings } = select(external_wp_blockEditor_namespaceObject.store); return getSettings().__experimentalDiscussionSettings; }); const commentQuery = useCommentQueryArgs({ postId }); const { topLevelComments, blocks } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { getEntityRecords } = select(external_wp_coreData_namespaceObject.store); const { getBlocks } = select(external_wp_blockEditor_namespaceObject.store); return { // Request only top-level comments. Replies are embedded. topLevelComments: commentQuery ? getEntityRecords('root', 'comment', commentQuery) : null, blocks: getBlocks(clientId) }; }, [clientId, commentQuery]); // Generate a tree structure of comment IDs. let commentTree = useCommentTree( // Reverse the order of top comments if needed. commentOrder === 'desc' && topLevelComments ? [...topLevelComments].reverse() : topLevelComments); if (!topLevelComments) { return (0,external_wp_element_namespaceObject.createElement)("p", blockProps, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Spinner, null)); } if (!postId) { commentTree = getCommentsPlaceholder({ perPage: commentsPerPage, threadComments, threadCommentsDepth }); } if (!commentTree.length) { return (0,external_wp_element_namespaceObject.createElement)("p", _extends({}, blockProps, { "data-testid": "noresults" }), (0,external_wp_i18n_namespaceObject.__)('No results found.')); } return (0,external_wp_element_namespaceObject.createElement)(CommentsList, { comments: commentTree, blockProps: blockProps, blocks: blocks, activeCommentId: activeCommentId, setActiveCommentId: setActiveCommentId, firstCommentId: (_commentTree$ = commentTree[0]) === null || _commentTree$ === void 0 ? void 0 : _commentTree$.commentId }); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-template/save.js /** * WordPress dependencies */ function CommentTemplateSave() { return (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, null); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-template/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const comment_template_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/comment-template", title: "Comment Template", category: "design", parent: ["core/comments-query-loop"], description: "Contains the block elements used to display a comment, like the title, date, author, avatar and more.", textdomain: "default", usesContext: ["postId"], supports: { reusable: false, html: false, align: true }, style: "wp-block-comment-template" }; const { name: comment_template_name } = comment_template_metadata; const comment_template_settings = { icon: library_layout, edit: CommentTemplateEdit, save: CommentTemplateSave }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/query-pagination-previous.js /** * WordPress dependencies */ const queryPaginationPrevious = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M16 10.5v3h3v-3h-3zm-5 3h3v-3h-3v3zM7 9l-3 3 3 3 1-1-2-2 2-2-1-1z" })); /* harmony default export */ var query_pagination_previous = (queryPaginationPrevious); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comments-pagination-previous/edit.js /** * WordPress dependencies */ const arrowMap = { none: '', arrow: '←', chevron: '«' }; function CommentsPaginationPreviousEdit(_ref) { let { attributes: { label }, setAttributes, context: { 'comments/paginationArrow': paginationArrow } } = _ref; const displayArrow = arrowMap[paginationArrow]; return (0,external_wp_element_namespaceObject.createElement)("a", _extends({ href: "#comments-pagination-previous-pseudo-link", onClick: event => event.preventDefault() }, (0,external_wp_blockEditor_namespaceObject.useBlockProps)()), displayArrow && (0,external_wp_element_namespaceObject.createElement)("span", { className: `wp-block-comments-pagination-previous-arrow is-arrow-${paginationArrow}` }, displayArrow), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.PlainText, { __experimentalVersion: 2, tagName: "span", "aria-label": (0,external_wp_i18n_namespaceObject.__)('Older comments page link'), placeholder: (0,external_wp_i18n_namespaceObject.__)('Older Comments'), value: label, onChange: newLabel => setAttributes({ label: newLabel }) })); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comments-pagination-previous/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const comments_pagination_previous_metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 2, name: "core/comments-pagination-previous", title: "Previous Page", category: "theme", parent: ["core/comments-pagination"], description: "Displays the previous comment's page link.", textdomain: "default", attributes: { label: { type: "string" } }, usesContext: ["postId", "comments/paginationArrow"], supports: { reusable: false, html: false, color: { gradients: true, text: false, __experimentalDefaultControls: { background: true } }, typography: { fontSize: true, lineHeight: true, __experimentalFontStyle: true, __experimentalFontWeight: true, __experimentalLetterSpacing: true, __experimentalTextTransform: true, __experimentalDefaultControls: { fontSize: true } } } }; const { name: comments_pagination_previous_name } = comments_pagination_previous_metadata; const comments_pagination_previous_settings = { icon: query_pagination_previous, edit: CommentsPaginationPreviousEdit }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-comments.js /** * WordPress dependencies */ const postComments = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { d: "M14 10.1V4c0-.6-.4-1-1-1H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1zm-1.5-.5H6.7l-1.2 1.2V4.5h7v5.1zM19 12h-8c-.6 0-1 .4-1 1v6.1c0 .6.4 1 1 1h5.7l1.8 1.8c.1.2.4.3.6.3.1 0 .2 0 .3-.1.4-.1.6-.5.6-.8V13c0-.6-.4-1-1-1zm-.5 7.8l-1.2-1.2h-5.8v-5.1h7v6.3z" })); /* harmony default export */ var post_comments = (postComments); ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comments-query-loop/edit/comments-inspector-controls.js /** * WordPress dependencies */ function CommentsInspectorControls(_ref) { let { attributes: { TagName }, setAttributes } = _ref; return (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InspectorControls, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.InspectorControls, { __experimentalGroup: "advanced" }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SelectControl, { label: (0,external_wp_i18n_namespaceObject.__)('HTML element'), options: [{ label: (0,external_wp_i18n_namespaceObject.__)('Default (
)'), value: 'div' }, { label: '
', value: 'section' }, { label: '