this["wp"] = this["wp"] || {}; this["wp"]["blockLibrary"] = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "K51g"); /******/ }) /************************************************************************/ /******/ ({ /***/ "1CF3": /***/ (function(module, exports) { (function() { module.exports = window["wp"]["dom"]; }()); /***/ }), /***/ "1K8p": /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * Copyright (c) 2015, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule normalizeWheel * @typechecks */ var UserAgent_DEPRECATED = __webpack_require__("jrfk"); var isEventSupported = __webpack_require__("ez49"); // Reasonable defaults var PIXEL_STEP = 10; var LINE_HEIGHT = 40; var PAGE_HEIGHT = 800; /** * Mouse wheel (and 2-finger trackpad) support on the web sucks. It is * complicated, thus this doc is long and (hopefully) detailed enough to answer * your questions. * * If you need to react to the mouse wheel in a predictable way, this code is * like your bestest friend. * hugs * * * As of today, there are 4 DOM event types you can listen to: * * 'wheel' -- Chrome(31+), FF(17+), IE(9+) * 'mousewheel' -- Chrome, IE(6+), Opera, Safari * 'MozMousePixelScroll' -- FF(3.5 only!) (2010-2013) -- don't bother! * 'DOMMouseScroll' -- FF(0.9.7+) since 2003 * * So what to do? The is the best: * * normalizeWheel.getEventType(); * * In your event callback, use this code to get sane interpretation of the * deltas. This code will return an object with properties: * * spinX -- normalized spin speed (use for zoom) - x plane * spinY -- " - y plane * pixelX -- normalized distance (to pixels) - x plane * pixelY -- " - y plane * * Wheel values are provided by the browser assuming you are using the wheel to * scroll a web page by a number of lines or pixels (or pages). Values can vary * significantly on different platforms and browsers, forgetting that you can * scroll at different speeds. Some devices (like trackpads) emit more events * at smaller increments with fine granularity, and some emit massive jumps with * linear speed or acceleration. * * This code does its best to normalize the deltas for you: * * - spin is trying to normalize how far the wheel was spun (or trackpad * dragged). This is super useful for zoom support where you want to * throw away the chunky scroll steps on the PC and make those equal to * the slow and smooth tiny steps on the Mac. Key data: This code tries to * resolve a single slow step on a wheel to 1. * * - pixel is normalizing the desired scroll delta in pixel units. You'll * get the crazy differences between browsers, but at least it'll be in * pixels! * * - positive value indicates scrolling DOWN/RIGHT, negative UP/LEFT. This * should translate to positive value zooming IN, negative zooming OUT. * This matches the newer 'wheel' event. * * Why are there spinX, spinY (or pixels)? * * - spinX is a 2-finger side drag on the trackpad, and a shift + wheel turn * with a mouse. It results in side-scrolling in the browser by default. * * - spinY is what you expect -- it's the classic axis of a mouse wheel. * * - I dropped spinZ/pixelZ. It is supported by the DOM 3 'wheel' event and * probably is by browsers in conjunction with fancy 3D controllers .. but * you know. * * Implementation info: * * Examples of 'wheel' event if you scroll slowly (down) by one step with an * average mouse: * * OS X + Chrome (mouse) - 4 pixel delta (wheelDelta -120) * OS X + Safari (mouse) - N/A pixel delta (wheelDelta -12) * OS X + Firefox (mouse) - 0.1 line delta (wheelDelta N/A) * Win8 + Chrome (mouse) - 100 pixel delta (wheelDelta -120) * Win8 + Firefox (mouse) - 3 line delta (wheelDelta -120) * * On the trackpad: * * OS X + Chrome (trackpad) - 2 pixel delta (wheelDelta -6) * OS X + Firefox (trackpad) - 1 pixel delta (wheelDelta N/A) * * On other/older browsers.. it's more complicated as there can be multiple and * also missing delta values. * * The 'wheel' event is more standard: * * http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents * * The basics is that it includes a unit, deltaMode (pixels, lines, pages), and * deltaX, deltaY and deltaZ. Some browsers provide other values to maintain * backward compatibility with older events. Those other values help us * better normalize spin speed. Example of what the browsers provide: * * | event.wheelDelta | event.detail * ------------------+------------------+-------------- * Safari v5/OS X | -120 | 0 * Safari v5/Win7 | -120 | 0 * Chrome v17/OS X | -120 | 0 * Chrome v17/Win7 | -120 | 0 * IE9/Win7 | -120 | undefined * Firefox v4/OS X | undefined | 1 * Firefox v4/Win7 | undefined | 3 * */ function normalizeWheel(/*object*/ event) /*object*/ { var sX = 0, sY = 0, // spinX, spinY pX = 0, pY = 0; // pixelX, pixelY // Legacy if ('detail' in event) { sY = event.detail; } if ('wheelDelta' in event) { sY = -event.wheelDelta / 120; } if ('wheelDeltaY' in event) { sY = -event.wheelDeltaY / 120; } if ('wheelDeltaX' in event) { sX = -event.wheelDeltaX / 120; } // side scrolling on FF with DOMMouseScroll if ( 'axis' in event && event.axis === event.HORIZONTAL_AXIS ) { sX = sY; sY = 0; } pX = sX * PIXEL_STEP; pY = sY * PIXEL_STEP; if ('deltaY' in event) { pY = event.deltaY; } if ('deltaX' in event) { pX = event.deltaX; } if ((pX || pY) && event.deltaMode) { if (event.deltaMode == 1) { // delta in LINE units pX *= LINE_HEIGHT; pY *= LINE_HEIGHT; } else { // delta in PAGE units pX *= PAGE_HEIGHT; pY *= PAGE_HEIGHT; } } // Fall-back if spin cannot be determined if (pX && !sX) { sX = (pX < 1) ? -1 : 1; } if (pY && !sY) { sY = (pY < 1) ? -1 : 1; } return { spinX : sX, spinY : sY, pixelX : pX, pixelY : pY }; } /** * The best combination if you prefer spinX + spinY normalization. It favors * the older DOMMouseScroll for Firefox, as FF does not include wheelDelta with * 'wheel' event, making spin speed determination impossible. */ normalizeWheel.getEventType = function() /*string*/ { return (UserAgent_DEPRECATED.firefox()) ? 'DOMMouseScroll' : (isEventSupported('wheel')) ? 'wheel' : 'mousewheel'; }; module.exports = normalizeWheel; /***/ }), /***/ "1Yn1": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); /** * WordPress dependencies */ const code = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["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 */ __webpack_exports__["a"] = (code); /***/ }), /***/ "1ZqX": /***/ (function(module, exports) { (function() { module.exports = window["wp"]["data"]; }()); /***/ }), /***/ "1iEr": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); /** * WordPress dependencies */ const chevronRight = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { d: "M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z" })); /* harmony default export */ __webpack_exports__["a"] = (chevronRight); /***/ }), /***/ "2gm7": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); /** * WordPress dependencies */ const chevronLeft = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { d: "M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z" })); /* harmony default export */ __webpack_exports__["a"] = (chevronLeft); /***/ }), /***/ "4eJC": /***/ (function(module, exports, __webpack_require__) { /** * 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; /***/ }), /***/ "A/WM": /***/ (function(module, exports, __webpack_require__) { 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 {} }()); /***/ }), /***/ "B9Az": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // EXTERNAL MODULE: external ["wp","element"] var external_wp_element_ = __webpack_require__("GRId"); // EXTERNAL MODULE: external ["wp","primitives"] var external_wp_primitives_ = __webpack_require__("Tqx9"); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pencil.js /** * WordPress dependencies */ const pencil = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M20.1 5.1L16.9 2 6.2 12.7l-1.3 4.4 4.5-1.3L20.1 5.1zM4 20.8h8v-1.5H4v1.5z" })); /* harmony default export */ var library_pencil = (pencil); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/edit.js /** * Internal dependencies */ /* harmony default export */ var edit = __webpack_exports__["a"] = (library_pencil); /***/ }), /***/ "Bpkj": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); /** * WordPress dependencies */ const link = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["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 */ __webpack_exports__["a"] = (link); /***/ }), /***/ "FEKF": /***/ (function(module, exports, __webpack_require__) { /*! Fast Average Color | © 2019 Denis Seleznev | MIT License | https://github.com/hcodes/fast-average-color/ */ (function (global, factory) { true ? module.exports = factory() : undefined; }(this, (function () { 'use strict'; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } var FastAverageColor = /*#__PURE__*/ function () { function FastAverageColor() { _classCallCheck(this, FastAverageColor); } _createClass(FastAverageColor, [{ key: "getColorAsync", /** * Get asynchronously the average color from not loaded image. * * @param {HTMLImageElement} resource * @param {Function} callback * @param {Object|null} [options] * @param {Array} [options.defaultColor=[255, 255, 255, 255]] * @param {*} [options.data] * @param {string} [options.mode="speed"] "precision" or "speed" * @param {string} [options.algorithm="sqrt"] "simple", "sqrt" or "dominant" * @param {number} [options.step=1] * @param {number} [options.left=0] * @param {number} [options.top=0] * @param {number} [options.width=width of resource] * @param {number} [options.height=height of resource] */ value: function getColorAsync(resource, callback, options) { if (resource.complete) { callback.call(resource, this.getColor(resource, options), options && options.data); } else { this._bindImageEvents(resource, callback, options); } } /** * Get the average color from images, videos and canvas. * * @param {HTMLImageElement|HTMLVideoElement|HTMLCanvasElement} resource * @param {Object|null} [options] * @param {Array} [options.defaultColor=[255, 255, 255, 255]] * @param {*} [options.data] * @param {string} [options.mode="speed"] "precision" or "speed" * @param {string} [options.algorithm="sqrt"] "simple", "sqrt" or "dominant" * @param {number} [options.step=1] * @param {number} [options.left=0] * @param {number} [options.top=0] * @param {number} [options.width=width of resource] * @param {number} [options.height=height of resource] * * @returns {Object} */ }, { key: "getColor", value: function getColor(resource, options) { options = options || {}; var defaultColor = this._getDefaultColor(options), originalSize = this._getOriginalSize(resource), size = this._prepareSizeAndPosition(originalSize, options); var error = null, value = defaultColor; if (!size.srcWidth || !size.srcHeight || !size.destWidth || !size.destHeight) { return this._prepareResult(defaultColor, new Error('FastAverageColor: Incorrect sizes.')); } if (!this._ctx) { this._canvas = this._makeCanvas(); this._ctx = this._canvas.getContext && this._canvas.getContext('2d'); if (!this._ctx) { return this._prepareResult(defaultColor, new Error('FastAverageColor: Canvas Context 2D is not supported in this browser.')); } } this._canvas.width = size.destWidth; this._canvas.height = size.destHeight; try { this._ctx.clearRect(0, 0, size.destWidth, size.destHeight); this._ctx.drawImage(resource, size.srcLeft, size.srcTop, size.srcWidth, size.srcHeight, 0, 0, size.destWidth, size.destHeight); var bitmapData = this._ctx.getImageData(0, 0, size.destWidth, size.destHeight).data; value = this.getColorFromArray4(bitmapData, options); } catch (e) { // Security error, CORS // https://developer.mozilla.org/en/docs/Web/HTML/CORS_enabled_image error = e; } return this._prepareResult(value, error); } /** * Get the average color from a array when 1 pixel is 4 bytes. * * @param {Array|Uint8Array} arr * @param {Object} [options] * @param {string} [options.algorithm="sqrt"] "simple", "sqrt" or "dominant" * @param {Array} [options.defaultColor=[255, 255, 255, 255]] * @param {number} [options.step=1] * * @returns {Array} [red (0-255), green (0-255), blue (0-255), alpha (0-255)] */ }, { key: "getColorFromArray4", value: function getColorFromArray4(arr, options) { options = options || {}; var bytesPerPixel = 4, arrLength = arr.length; if (arrLength < bytesPerPixel) { return this._getDefaultColor(options); } var len = arrLength - arrLength % bytesPerPixel, preparedStep = (options.step || 1) * bytesPerPixel, algorithm = '_' + (options.algorithm || 'sqrt') + 'Algorithm'; if (typeof this[algorithm] !== 'function') { throw new Error("FastAverageColor: ".concat(options.algorithm, " is unknown algorithm.")); } return this[algorithm](arr, len, preparedStep); } /** * Destroy the instance. */ }, { key: "destroy", value: function destroy() { delete this._canvas; delete this._ctx; } }, { key: "_getDefaultColor", value: function _getDefaultColor(options) { return this._getOption(options, 'defaultColor', [255, 255, 255, 255]); } }, { key: "_getOption", value: function _getOption(options, name, defaultValue) { return typeof options[name] === 'undefined' ? defaultValue : options[name]; } }, { key: "_prepareSizeAndPosition", value: function _prepareSizeAndPosition(originalSize, options) { var srcLeft = this._getOption(options, 'left', 0), srcTop = this._getOption(options, 'top', 0), srcWidth = this._getOption(options, 'width', originalSize.width), srcHeight = this._getOption(options, 'height', originalSize.height), destWidth = srcWidth, destHeight = srcHeight; if (options.mode === 'precision') { return { srcLeft: srcLeft, srcTop: srcTop, srcWidth: srcWidth, srcHeight: srcHeight, destWidth: destWidth, destHeight: destHeight }; } var maxSize = 100, minSize = 10; var factor; if (srcWidth > srcHeight) { factor = srcWidth / srcHeight; destWidth = maxSize; destHeight = Math.round(destWidth / factor); } else { factor = srcHeight / srcWidth; destHeight = maxSize; destWidth = Math.round(destHeight / factor); } if (destWidth > srcWidth || destHeight > srcHeight || destWidth < minSize || destHeight < minSize) { destWidth = srcWidth; destHeight = srcHeight; } return { srcLeft: srcLeft, srcTop: srcTop, srcWidth: srcWidth, srcHeight: srcHeight, destWidth: destWidth, destHeight: destHeight }; } }, { key: "_simpleAlgorithm", value: function _simpleAlgorithm(arr, len, preparedStep) { var redTotal = 0, greenTotal = 0, blueTotal = 0, alphaTotal = 0, count = 0; for (var i = 0; i < len; i += preparedStep) { var alpha = arr[i + 3], red = arr[i] * alpha, green = arr[i + 1] * alpha, blue = arr[i + 2] * alpha; redTotal += red; greenTotal += green; blueTotal += blue; alphaTotal += alpha; count++; } return alphaTotal ? [Math.round(redTotal / alphaTotal), Math.round(greenTotal / alphaTotal), Math.round(blueTotal / alphaTotal), Math.round(alphaTotal / count)] : [0, 0, 0, 0]; } }, { key: "_sqrtAlgorithm", value: function _sqrtAlgorithm(arr, len, preparedStep) { var redTotal = 0, greenTotal = 0, blueTotal = 0, alphaTotal = 0, count = 0; for (var i = 0; i < len; i += preparedStep) { var red = arr[i], green = arr[i + 1], blue = arr[i + 2], alpha = arr[i + 3]; redTotal += red * red * alpha; greenTotal += green * green * alpha; blueTotal += blue * blue * alpha; alphaTotal += alpha; count++; } return alphaTotal ? [Math.round(Math.sqrt(redTotal / alphaTotal)), Math.round(Math.sqrt(greenTotal / alphaTotal)), Math.round(Math.sqrt(blueTotal / alphaTotal)), Math.round(alphaTotal / count)] : [0, 0, 0, 0]; } }, { key: "_dominantAlgorithm", value: function _dominantAlgorithm(arr, len, preparedStep) { var colorHash = {}, divider = 24; for (var i = 0; i < len; i += preparedStep) { var red = arr[i], green = arr[i + 1], blue = arr[i + 2], alpha = arr[i + 3], key = Math.round(red / divider) + ',' + Math.round(green / divider) + ',' + Math.round(blue / divider); if (colorHash[key]) { colorHash[key] = [colorHash[key][0] + red * alpha, colorHash[key][1] + green * alpha, colorHash[key][2] + blue * alpha, colorHash[key][3] + alpha, colorHash[key][4] + 1]; } else { colorHash[key] = [red * alpha, green * alpha, blue * alpha, alpha, 1]; } } var buffer = Object.keys(colorHash).map(function (key) { return colorHash[key]; }).sort(function (a, b) { var countA = a[4], countB = b[4]; return countA > countB ? -1 : countA === countB ? 0 : 1; }); var _buffer$ = _slicedToArray(buffer[0], 5), redTotal = _buffer$[0], greenTotal = _buffer$[1], blueTotal = _buffer$[2], alphaTotal = _buffer$[3], count = _buffer$[4]; return alphaTotal ? [Math.round(redTotal / alphaTotal), Math.round(greenTotal / alphaTotal), Math.round(blueTotal / alphaTotal), Math.round(alphaTotal / count)] : [0, 0, 0, 0]; } }, { key: "_bindImageEvents", value: function _bindImageEvents(resource, callback, options) { var _this = this; options = options || {}; var data = options && options.data, defaultColor = this._getDefaultColor(options), onload = function onload() { unbindEvents(); callback.call(resource, _this.getColor(resource, options), data); }, onerror = function onerror() { unbindEvents(); callback.call(resource, _this._prepareResult(defaultColor, new Error('Image error')), data); }, onabort = function onabort() { unbindEvents(); callback.call(resource, _this._prepareResult(defaultColor, new Error('Image abort')), data); }, unbindEvents = function unbindEvents() { resource.removeEventListener('load', onload); resource.removeEventListener('error', onerror); resource.removeEventListener('abort', onabort); }; resource.addEventListener('load', onload); resource.addEventListener('error', onerror); resource.addEventListener('abort', onabort); } }, { key: "_prepareResult", value: function _prepareResult(value, error) { var rgb = value.slice(0, 3), rgba = [].concat(rgb, value[3] / 255), isDark = this._isDark(value); return { error: error, value: value, rgb: 'rgb(' + rgb.join(',') + ')', rgba: 'rgba(' + rgba.join(',') + ')', hex: this._arrayToHex(rgb), hexa: this._arrayToHex(value), isDark: isDark, isLight: !isDark }; } }, { key: "_getOriginalSize", value: function _getOriginalSize(resource) { if (resource instanceof HTMLImageElement) { return { width: resource.naturalWidth, height: resource.naturalHeight }; } if (resource instanceof HTMLVideoElement) { return { width: resource.videoWidth, height: resource.videoHeight }; } return { width: resource.width, height: resource.height }; } }, { key: "_toHex", value: function _toHex(num) { var str = num.toString(16); return str.length === 1 ? '0' + str : str; } }, { key: "_arrayToHex", value: function _arrayToHex(arr) { return '#' + arr.map(this._toHex).join(''); } }, { key: "_isDark", value: function _isDark(color) { // http://www.w3.org/TR/AERT#color-contrast var result = (color[0] * 299 + color[1] * 587 + color[2] * 114) / 1000; return result < 128; } }, { key: "_makeCanvas", value: function _makeCanvas() { return typeof window === 'undefined' ? new OffscreenCanvas(1, 1) : document.createElement('canvas'); } }]); return FastAverageColor; }(); return FastAverageColor; }))); /***/ }), /***/ "FqII": /***/ (function(module, exports) { (function() { module.exports = window["wp"]["date"]; }()); /***/ }), /***/ "GRId": /***/ (function(module, exports) { (function() { module.exports = window["wp"]["element"]; }()); /***/ }), /***/ "HSyU": /***/ (function(module, exports) { (function() { module.exports = window["wp"]["blocks"]; }()); /***/ }), /***/ "JREk": /***/ (function(module, exports) { (function() { module.exports = window["wp"]["serverSideRender"]; }()); /***/ }), /***/ "K51g": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, "__experimentalGetCoreBlocks", function() { return /* binding */ __experimentalGetCoreBlocks; }); __webpack_require__.d(__webpack_exports__, "registerCoreBlocks", function() { return /* binding */ registerCoreBlocks; }); __webpack_require__.d(__webpack_exports__, "__experimentalRegisterExperimentalCoreBlocks", function() { return /* binding */ __experimentalRegisterExperimentalCoreBlocks; }); // 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; }); __webpack_require__.d(build_module_paragraph_namespaceObject, "name", function() { return paragraph_name; }); __webpack_require__.d(build_module_paragraph_namespaceObject, "settings", function() { return paragraph_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; }); __webpack_require__.d(build_module_image_namespaceObject, "name", function() { return image_name; }); __webpack_require__.d(build_module_image_namespaceObject, "settings", function() { return image_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; }); __webpack_require__.d(build_module_heading_namespaceObject, "name", function() { return heading_name; }); __webpack_require__.d(build_module_heading_namespaceObject, "settings", function() { return heading_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; }); __webpack_require__.d(build_module_quote_namespaceObject, "name", function() { return quote_name; }); __webpack_require__.d(build_module_quote_namespaceObject, "settings", function() { return quote_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; }); __webpack_require__.d(build_module_gallery_namespaceObject, "name", function() { return gallery_name; }); __webpack_require__.d(build_module_gallery_namespaceObject, "settings", function() { return gallery_settings; }); // 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 archives_metadata; }); __webpack_require__.d(archives_namespaceObject, "name", function() { return archives_name; }); __webpack_require__.d(archives_namespaceObject, "settings", function() { return archives_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; }); __webpack_require__.d(build_module_audio_namespaceObject, "name", function() { return audio_name; }); __webpack_require__.d(build_module_audio_namespaceObject, "settings", function() { return audio_settings; }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/button/index.js var button_namespaceObject = {}; __webpack_require__.r(button_namespaceObject); __webpack_require__.d(button_namespaceObject, "metadata", function() { return button_metadata; }); __webpack_require__.d(button_namespaceObject, "name", function() { return button_name; }); __webpack_require__.d(button_namespaceObject, "settings", function() { return button_settings; }); // 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; }); __webpack_require__.d(build_module_buttons_namespaceObject, "name", function() { return buttons_name; }); __webpack_require__.d(build_module_buttons_namespaceObject, "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; }); __webpack_require__.d(build_module_calendar_namespaceObject, "name", function() { return calendar_name; }); __webpack_require__.d(build_module_calendar_namespaceObject, "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; }); __webpack_require__.d(categories_namespaceObject, "name", function() { return categories_name; }); __webpack_require__.d(categories_namespaceObject, "settings", function() { return categories_settings; }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/code/index.js var code_namespaceObject = {}; __webpack_require__.r(code_namespaceObject); __webpack_require__.d(code_namespaceObject, "metadata", function() { return code_metadata; }); __webpack_require__.d(code_namespaceObject, "name", function() { return code_name; }); __webpack_require__.d(code_namespaceObject, "settings", function() { return code_settings; }); // 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; }); __webpack_require__.d(build_module_columns_namespaceObject, "name", function() { return columns_name; }); __webpack_require__.d(build_module_columns_namespaceObject, "settings", function() { return columns_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; }); __webpack_require__.d(build_module_column_namespaceObject, "name", function() { return column_name; }); __webpack_require__.d(build_module_column_namespaceObject, "settings", function() { return column_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; }); __webpack_require__.d(build_module_cover_namespaceObject, "name", function() { return cover_name; }); __webpack_require__.d(build_module_cover_namespaceObject, "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; }); __webpack_require__.d(embed_namespaceObject, "name", function() { return embed_name; }); __webpack_require__.d(embed_namespaceObject, "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; }); __webpack_require__.d(build_module_file_namespaceObject, "name", function() { return file_name; }); __webpack_require__.d(build_module_file_namespaceObject, "settings", function() { return file_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; }); __webpack_require__.d(build_module_html_namespaceObject, "name", function() { return html_name; }); __webpack_require__.d(build_module_html_namespaceObject, "settings", function() { return html_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; }); __webpack_require__.d(media_text_namespaceObject, "name", function() { return media_text_name; }); __webpack_require__.d(media_text_namespaceObject, "settings", function() { return media_text_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; }); __webpack_require__.d(latest_comments_namespaceObject, "name", function() { return latest_comments_name; }); __webpack_require__.d(latest_comments_namespaceObject, "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; }); __webpack_require__.d(latest_posts_namespaceObject, "name", function() { return latest_posts_name; }); __webpack_require__.d(latest_posts_namespaceObject, "settings", function() { return latest_posts_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; }); __webpack_require__.d(loginout_namespaceObject, "name", function() { return loginout_name; }); __webpack_require__.d(loginout_namespaceObject, "settings", function() { return loginout_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; }); __webpack_require__.d(build_module_list_namespaceObject, "name", function() { return list_name; }); __webpack_require__.d(build_module_list_namespaceObject, "settings", function() { return list_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; }); __webpack_require__.d(missing_namespaceObject, "name", function() { return missing_name; }); __webpack_require__.d(missing_namespaceObject, "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; }); __webpack_require__.d(build_module_more_namespaceObject, "name", function() { return more_name; }); __webpack_require__.d(build_module_more_namespaceObject, "settings", function() { return more_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; }); __webpack_require__.d(nextpage_namespaceObject, "name", function() { return nextpage_name; }); __webpack_require__.d(nextpage_namespaceObject, "settings", function() { return nextpage_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; }); __webpack_require__.d(page_list_namespaceObject, "name", function() { return page_list_name; }); __webpack_require__.d(page_list_namespaceObject, "settings", function() { return page_list_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; }); __webpack_require__.d(build_module_preformatted_namespaceObject, "name", function() { return preformatted_name; }); __webpack_require__.d(build_module_preformatted_namespaceObject, "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; }); __webpack_require__.d(build_module_pullquote_namespaceObject, "name", function() { return pullquote_name; }); __webpack_require__.d(build_module_pullquote_namespaceObject, "settings", function() { return pullquote_settings; }); // 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; }); __webpack_require__.d(block_namespaceObject, "name", function() { return block_name; }); __webpack_require__.d(block_namespaceObject, "settings", function() { return block_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; }); __webpack_require__.d(build_module_rss_namespaceObject, "name", function() { return rss_name; }); __webpack_require__.d(build_module_rss_namespaceObject, "settings", function() { return rss_settings; }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/search/index.js var search_namespaceObject = {}; __webpack_require__.r(search_namespaceObject); __webpack_require__.d(search_namespaceObject, "metadata", function() { return search_metadata; }); __webpack_require__.d(search_namespaceObject, "name", function() { return search_name; }); __webpack_require__.d(search_namespaceObject, "settings", function() { return search_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; }); __webpack_require__.d(build_module_group_namespaceObject, "name", function() { return group_name; }); __webpack_require__.d(build_module_group_namespaceObject, "settings", function() { return group_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; }); __webpack_require__.d(build_module_separator_namespaceObject, "name", function() { return separator_name; }); __webpack_require__.d(build_module_separator_namespaceObject, "settings", function() { return build_module_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; }); __webpack_require__.d(build_module_shortcode_namespaceObject, "name", function() { return shortcode_name; }); __webpack_require__.d(build_module_shortcode_namespaceObject, "settings", function() { return shortcode_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; }); __webpack_require__.d(spacer_namespaceObject, "name", function() { return spacer_name; }); __webpack_require__.d(spacer_namespaceObject, "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; }); __webpack_require__.d(build_module_table_namespaceObject, "name", function() { return table_name; }); __webpack_require__.d(build_module_table_namespaceObject, "settings", function() { return table_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; }); __webpack_require__.d(text_columns_namespaceObject, "name", function() { return text_columns_name; }); __webpack_require__.d(text_columns_namespaceObject, "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; }); __webpack_require__.d(build_module_verse_namespaceObject, "name", function() { return verse_name; }); __webpack_require__.d(build_module_verse_namespaceObject, "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; }); __webpack_require__.d(build_module_video_namespaceObject, "name", function() { return video_name; }); __webpack_require__.d(build_module_video_namespaceObject, "settings", function() { return video_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; }); __webpack_require__.d(tag_cloud_namespaceObject, "name", function() { return tag_cloud_name; }); __webpack_require__.d(tag_cloud_namespaceObject, "settings", function() { return tag_cloud_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; }); __webpack_require__.d(freeform_namespaceObject, "name", function() { return freeform_name; }); __webpack_require__.d(freeform_namespaceObject, "settings", function() { return freeform_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; }); __webpack_require__.d(social_links_namespaceObject, "name", function() { return social_links_name; }); __webpack_require__.d(social_links_namespaceObject, "settings", function() { return social_links_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; }); __webpack_require__.d(social_link_namespaceObject, "name", function() { return social_link_name; }); __webpack_require__.d(social_link_namespaceObject, "settings", function() { return social_link_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; }); __webpack_require__.d(build_module_site_logo_namespaceObject, "name", function() { return site_logo_name; }); __webpack_require__.d(build_module_site_logo_namespaceObject, "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; }); __webpack_require__.d(site_tagline_namespaceObject, "name", function() { return site_tagline_name; }); __webpack_require__.d(site_tagline_namespaceObject, "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; }); __webpack_require__.d(site_title_namespaceObject, "name", function() { return site_title_name; }); __webpack_require__.d(site_title_namespaceObject, "settings", function() { return site_title_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; }); __webpack_require__.d(query_namespaceObject, "name", function() { return query_name; }); __webpack_require__.d(query_namespaceObject, "settings", function() { return query_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; }); __webpack_require__.d(post_template_namespaceObject, "name", function() { return post_template_name; }); __webpack_require__.d(post_template_namespaceObject, "settings", function() { return post_template_settings; }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-title/index.js var query_title_namespaceObject = {}; __webpack_require__.r(query_title_namespaceObject); __webpack_require__.d(query_title_namespaceObject, "metadata", function() { return query_title_metadata; }); __webpack_require__.d(query_title_namespaceObject, "name", function() { return query_title_name; }); __webpack_require__.d(query_title_namespaceObject, "settings", function() { return query_title_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; }); __webpack_require__.d(build_module_query_pagination_namespaceObject, "name", function() { return query_pagination_name; }); __webpack_require__.d(build_module_query_pagination_namespaceObject, "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; }); __webpack_require__.d(build_module_query_pagination_next_namespaceObject, "name", function() { return query_pagination_next_name; }); __webpack_require__.d(build_module_query_pagination_next_namespaceObject, "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; }); __webpack_require__.d(build_module_query_pagination_numbers_namespaceObject, "name", function() { return query_pagination_numbers_name; }); __webpack_require__.d(build_module_query_pagination_numbers_namespaceObject, "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; }); __webpack_require__.d(build_module_query_pagination_previous_namespaceObject, "name", function() { return query_pagination_previous_name; }); __webpack_require__.d(build_module_query_pagination_previous_namespaceObject, "settings", function() { return query_pagination_previous_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; }); __webpack_require__.d(build_module_post_title_namespaceObject, "name", function() { return post_title_name; }); __webpack_require__.d(build_module_post_title_namespaceObject, "settings", function() { return post_title_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; }); __webpack_require__.d(build_module_post_content_namespaceObject, "name", function() { return post_content_name; }); __webpack_require__.d(build_module_post_content_namespaceObject, "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; }); __webpack_require__.d(build_module_post_date_namespaceObject, "name", function() { return post_date_name; }); __webpack_require__.d(build_module_post_date_namespaceObject, "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; }); __webpack_require__.d(build_module_post_excerpt_namespaceObject, "name", function() { return post_excerpt_name; }); __webpack_require__.d(build_module_post_excerpt_namespaceObject, "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; }); __webpack_require__.d(build_module_post_featured_image_namespaceObject, "name", function() { return post_featured_image_name; }); __webpack_require__.d(build_module_post_featured_image_namespaceObject, "settings", function() { return post_featured_image_settings; }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-terms/index.js var post_terms_namespaceObject = {}; __webpack_require__.r(post_terms_namespaceObject); __webpack_require__.d(post_terms_namespaceObject, "metadata", function() { return post_terms_metadata; }); __webpack_require__.d(post_terms_namespaceObject, "name", function() { return post_terms_name; }); __webpack_require__.d(post_terms_namespaceObject, "settings", function() { return post_terms_settings; }); // EXTERNAL MODULE: external ["wp","coreData"] var external_wp_coreData_ = __webpack_require__("jZUy"); // EXTERNAL MODULE: external ["wp","blockEditor"] var external_wp_blockEditor_ = __webpack_require__("axFQ"); // EXTERNAL MODULE: external ["wp","blocks"] var external_wp_blocks_ = __webpack_require__("HSyU"); // EXTERNAL MODULE: external "lodash" var external_lodash_ = __webpack_require__("YLtl"); // EXTERNAL MODULE: external ["wp","i18n"] var external_wp_i18n_ = __webpack_require__("l3Sj"); // EXTERNAL MODULE: external ["wp","element"] var external_wp_element_ = __webpack_require__("GRId"); // EXTERNAL MODULE: external ["wp","primitives"] var external_wp_primitives_ = __webpack_require__("Tqx9"); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/paragraph.js /** * WordPress dependencies */ const paragraph = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M18.3 4H9.9v-.1l-.9.2c-2.3.4-4 2.4-4 4.8s1.7 4.4 4 4.8l.7.1V20h1.5V5.5h2.9V20h1.5V5.5h2.7V4z" })); /* harmony default export */ var library_paragraph = (paragraph); // EXTERNAL MODULE: ./node_modules/classnames/index.js var classnames = __webpack_require__("TSYQ"); var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/deprecated.js /** * External dependencies */ /** * WordPress dependencies */ const supports = { className: false }; const deprecated_blockAttributes = { align: { type: 'string' }, content: { type: 'string', source: 'html', selector: 'p', default: '' }, dropCap: { type: 'boolean', default: false }, placeholder: { type: 'string' }, textColor: { type: 'string' }, backgroundColor: { type: 'string' }, fontSize: { type: 'string' }, direction: { type: 'string', enum: ['ltr', 'rtl'] }, style: { type: 'object' } }; const migrateCustomColorsAndFontSizes = attributes => { if (!attributes.customTextColor && !attributes.customBackgroundColor && !attributes.customFontSize) { return attributes; } const style = {}; if (attributes.customTextColor || attributes.customBackgroundColor) { style.color = {}; } if (attributes.customTextColor) { style.color.text = attributes.customTextColor; } if (attributes.customBackgroundColor) { style.color.background = attributes.customBackgroundColor; } if (attributes.customFontSize) { style.typography = { fontSize: attributes.customFontSize }; } return { ...Object(external_lodash_["omit"])(attributes, ['customTextColor', 'customBackgroundColor', 'customFontSize']), style }; }; const deprecated = [{ supports, attributes: { ...Object(external_lodash_["omit"])(deprecated_blockAttributes, ['style']), customTextColor: { type: 'string' }, customBackgroundColor: { type: 'string' }, customFontSize: { type: 'number' } }, migrate: migrateCustomColorsAndFontSizes, save({ attributes }) { const { align, content, dropCap, backgroundColor, textColor, customBackgroundColor, customTextColor, fontSize, customFontSize, direction } = attributes; const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); const fontSizeClass = Object(external_wp_blockEditor_["getFontSizeClass"])(fontSize); const className = classnames_default()({ 'has-text-color': textColor || customTextColor, 'has-background': backgroundColor || customBackgroundColor, 'has-drop-cap': dropCap, [`has-text-align-${align}`]: align, [fontSizeClass]: fontSizeClass, [textClass]: textClass, [backgroundClass]: backgroundClass }); const styles = { backgroundColor: backgroundClass ? undefined : customBackgroundColor, color: textClass ? undefined : customTextColor, fontSize: fontSizeClass ? undefined : customFontSize }; return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "p", style: styles, className: className ? className : undefined, value: content, dir: direction }); } }, { supports, attributes: { ...Object(external_lodash_["omit"])(deprecated_blockAttributes, ['style']), customTextColor: { type: 'string' }, customBackgroundColor: { type: 'string' }, customFontSize: { type: 'number' } }, migrate: migrateCustomColorsAndFontSizes, save({ attributes }) { const { align, content, dropCap, backgroundColor, textColor, customBackgroundColor, customTextColor, fontSize, customFontSize, direction } = attributes; const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); const fontSizeClass = Object(external_wp_blockEditor_["getFontSizeClass"])(fontSize); const className = classnames_default()({ 'has-text-color': textColor || customTextColor, 'has-background': backgroundColor || customBackgroundColor, 'has-drop-cap': dropCap, [fontSizeClass]: fontSizeClass, [textClass]: textClass, [backgroundClass]: backgroundClass }); const styles = { backgroundColor: backgroundClass ? undefined : customBackgroundColor, color: textClass ? undefined : customTextColor, fontSize: fontSizeClass ? undefined : customFontSize, textAlign: align }; return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "p", style: styles, className: className ? className : undefined, value: content, dir: direction }); } }, { supports, attributes: { ...Object(external_lodash_["omit"])(deprecated_blockAttributes, ['style']), customTextColor: { type: 'string' }, customBackgroundColor: { type: 'string' }, customFontSize: { type: 'number' }, width: { type: 'string' } }, migrate: migrateCustomColorsAndFontSizes, save({ attributes }) { const { width, align, content, dropCap, backgroundColor, textColor, customBackgroundColor, customTextColor, fontSize, customFontSize } = attributes; const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); const fontSizeClass = fontSize && `is-${fontSize}-text`; const className = classnames_default()({ [`align${width}`]: width, 'has-background': backgroundColor || customBackgroundColor, 'has-drop-cap': dropCap, [fontSizeClass]: fontSizeClass, [textClass]: textClass, [backgroundClass]: backgroundClass }); const styles = { backgroundColor: backgroundClass ? undefined : customBackgroundColor, color: textClass ? undefined : customTextColor, fontSize: fontSizeClass ? undefined : customFontSize, textAlign: align }; return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "p", style: styles, className: className ? className : undefined, value: content }); } }, { supports, attributes: Object(external_lodash_["omit"])({ ...deprecated_blockAttributes, fontSize: { type: 'number' } }, ['style']), save({ attributes }) { const { width, align, content, dropCap, backgroundColor, textColor, fontSize } = attributes; const className = classnames_default()({ [`align${width}`]: width, 'has-background': backgroundColor, 'has-drop-cap': dropCap }); const styles = { backgroundColor, color: textColor, fontSize, textAlign: align }; return Object(external_wp_element_["createElement"])("p", { style: styles, className: className ? className : undefined }, content); }, migrate(attributes) { return migrateCustomColorsAndFontSizes(Object(external_lodash_["omit"])({ ...attributes, customFontSize: Object(external_lodash_["isFinite"])(attributes.fontSize) ? attributes.fontSize : undefined, customTextColor: attributes.textColor && '#' === attributes.textColor[0] ? attributes.textColor : undefined, customBackgroundColor: attributes.backgroundColor && '#' === attributes.backgroundColor[0] ? attributes.backgroundColor : undefined }), ['fontSize', 'textColor', 'backgroundColor', 'style']); } }, { supports, attributes: { ...deprecated_blockAttributes, content: { type: 'string', source: 'html', default: '' } }, save({ attributes }) { return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, attributes.content); }, migrate(attributes) { return attributes; } }]; /* harmony default export */ var paragraph_deprecated = (deprecated); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js var esm_extends = __webpack_require__("wx14"); // EXTERNAL MODULE: external ["wp","components"] var external_wp_components_ = __webpack_require__("tI+e"); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-ltr.js /** * WordPress dependencies */ const formatLtr = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "-2 -2 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM14 14l5-4-5-4v8z" })); /* harmony default export */ var format_ltr = (formatLtr); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/edit.js /** * External dependencies */ /** * WordPress dependencies */ const edit_name = 'core/paragraph'; function ParagraphRTLControl({ direction, setDirection }) { return Object(external_wp_i18n_["isRTL"])() && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarDropdownMenu"], { controls: [{ icon: format_ltr, title: Object(external_wp_i18n_["_x"])('Left to right', 'editor button'), isActive: direction === 'ltr', onClick() { setDirection(direction === 'ltr' ? undefined : 'ltr'); } }] }); } function ParagraphBlock({ attributes, mergeBlocks, onReplace, onRemove, setAttributes, clientId }) { const { align, content, direction, dropCap, placeholder } = attributes; const isDropCapFeatureEnabled = Object(external_wp_blockEditor_["useSetting"])('typography.dropCap'); const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ className: classnames_default()({ 'has-drop-cap': dropCap, [`has-text-align-${align}`]: align }), style: { direction } }); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "block" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentControl"], { value: align, onChange: newAlign => setAttributes({ align: newAlign }) }), Object(external_wp_element_["createElement"])(ParagraphRTLControl, { direction: direction, setDirection: newDirection => setAttributes({ direction: newDirection }) })), isDropCapFeatureEnabled && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Text settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Drop cap'), checked: !!dropCap, onChange: () => setAttributes({ dropCap: !dropCap }), help: dropCap ? Object(external_wp_i18n_["__"])('Showing large initial letter.') : Object(external_wp_i18n_["__"])('Toggle to show a large initial letter.') }))), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], Object(esm_extends["a" /* default */])({ identifier: "content", tagName: "p" }, blockProps, { value: content, onChange: newContent => setAttributes({ content: newContent }), onSplit: (value, isOriginal) => { let newAttributes; if (isOriginal || value) { newAttributes = { ...attributes, content: value }; } const block = Object(external_wp_blocks_["createBlock"])(edit_name, newAttributes); if (isOriginal) { block.clientId = clientId; } return block; }, onMerge: mergeBlocks, onReplace: onReplace, onRemove: onRemove, "aria-label": content ? Object(external_wp_i18n_["__"])('Paragraph block') : Object(external_wp_i18n_["__"])('Empty block; start writing or type forward slash to choose a block'), "data-empty": content ? false : true, placeholder: placeholder || Object(external_wp_i18n_["__"])('Type / to choose a block'), __unstableEmbedURLOnPaste: true, __unstableAllowPrefixTransformations: true }))); } /* harmony default export */ var edit = (ParagraphBlock); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/save.js /** * External dependencies */ /** * WordPress dependencies */ function save({ attributes }) { const { align, content, dropCap, direction } = attributes; const className = classnames_default()({ 'has-drop-cap': dropCap, [`has-text-align-${align}`]: align }); return Object(external_wp_element_["createElement"])("p", external_wp_blockEditor_["useBlockProps"].save({ className, dir: direction }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { value: content })); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/transforms.js /** * WordPress dependencies */ /** * Internal dependencies */ const { name: transforms_name } = { apiVersion: 2, name: "core/paragraph", title: "Paragraph", category: "text", description: "Start with the building block of all narrative.", keywords: ["text"], textdomain: "default", attributes: { align: { type: "string" }, content: { type: "string", source: "html", selector: "p", "default": "", __experimentalRole: "content" }, dropCap: { type: "boolean", "default": false }, placeholder: { type: "string" }, direction: { type: "string", "enum": ["ltr", "rtl"] } }, supports: { anchor: true, className: false, color: { link: true }, typography: { fontSize: true, lineHeight: true }, __experimentalSelector: "p", __unstablePasteTextInline: true }, editorStyle: "wp-block-paragraph-editor", style: "wp-block-paragraph" }; const transforms = { from: [{ type: 'raw', // Paragraph is a fallback and should be matched last. priority: 20, selector: 'p', schema: ({ phrasingContentSchema, isPaste }) => ({ p: { children: phrasingContentSchema, attributes: isPaste ? [] : ['style', 'id'] } }), transform(node) { const attributes = Object(external_wp_blocks_["getBlockAttributes"])(transforms_name, node.outerHTML); const { textAlign } = node.style || {}; if (textAlign === 'left' || textAlign === 'center' || textAlign === 'right') { attributes.align = textAlign; } return Object(external_wp_blocks_["createBlock"])(transforms_name, attributes); } }] }; /* harmony default export */ var paragraph_transforms = (transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/index.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const paragraph_metadata = { apiVersion: 2, name: "core/paragraph", title: "Paragraph", category: "text", description: "Start with the building block of all narrative.", keywords: ["text"], textdomain: "default", attributes: { align: { type: "string" }, content: { type: "string", source: "html", selector: "p", "default": "", __experimentalRole: "content" }, dropCap: { type: "boolean", "default": false }, placeholder: { type: "string" }, direction: { type: "string", "enum": ["ltr", "rtl"] } }, supports: { anchor: true, className: false, color: { link: true }, typography: { fontSize: true, lineHeight: true }, __experimentalSelector: "p", __unstablePasteTextInline: true }, editorStyle: "wp-block-paragraph-editor", style: "wp-block-paragraph" }; const { name: paragraph_name } = paragraph_metadata; const paragraph_settings = { icon: library_paragraph, example: { attributes: { content: Object(external_wp_i18n_["__"])('In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'), style: { typography: { fontSize: 28 } }, dropCap: true } }, __experimentalLabel(attributes, { context }) { if (context === 'accessibility') { const { content } = attributes; return Object(external_lodash_["isEmpty"])(content) ? Object(external_wp_i18n_["__"])('Empty') : content; } }, transforms: paragraph_transforms, deprecated: paragraph_deprecated, merge(attributes, attributesToMerge) { return { content: (attributes.content || '') + (attributesToMerge.content || '') }; }, edit: edit, save: save }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/image.js /** * WordPress dependencies */ const image_image = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["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-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z" })); /* harmony default export */ var library_image = (image_image); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/deprecated.js /** * External dependencies */ /** * WordPress dependencies */ const image_deprecated_blockAttributes = { align: { type: 'string' }, url: { type: 'string', source: 'attribute', selector: 'img', attribute: 'src' }, alt: { type: 'string', source: 'attribute', selector: 'img', attribute: 'alt', default: '' }, caption: { type: 'string', source: 'html', selector: 'figcaption' }, href: { type: 'string', source: 'attribute', selector: 'figure > a', attribute: 'href' }, rel: { type: 'string', source: 'attribute', selector: 'figure > a', attribute: 'rel' }, linkClass: { type: 'string', source: 'attribute', selector: 'figure > a', attribute: 'class' }, id: { type: 'number' }, width: { type: 'number' }, height: { type: 'number' }, linkDestination: { type: 'string' }, linkTarget: { type: 'string', source: 'attribute', selector: 'figure > a', attribute: 'target' } }; const deprecated_deprecated = [{ attributes: image_deprecated_blockAttributes, save({ attributes }) { const { url, alt, caption, align, href, width, height, id } = attributes; const classes = classnames_default()({ [`align${align}`]: align, 'is-resized': width || height }); const image = Object(external_wp_element_["createElement"])("img", { src: url, alt: alt, className: id ? `wp-image-${id}` : null, width: width, height: height }); return Object(external_wp_element_["createElement"])("figure", { className: classes }, href ? Object(external_wp_element_["createElement"])("a", { href: href }, image) : image, !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", value: caption })); } }, { attributes: image_deprecated_blockAttributes, save({ attributes }) { const { url, alt, caption, align, href, width, height, id } = attributes; const image = Object(external_wp_element_["createElement"])("img", { src: url, alt: alt, className: id ? `wp-image-${id}` : null, width: width, height: height }); return Object(external_wp_element_["createElement"])("figure", { className: align ? `align${align}` : null }, href ? Object(external_wp_element_["createElement"])("a", { href: href }, image) : image, !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", value: caption })); } }, { attributes: image_deprecated_blockAttributes, save({ attributes }) { const { url, alt, caption, align, href, width, height } = attributes; const extraImageProps = width || height ? { width, height } : {}; const image = Object(external_wp_element_["createElement"])("img", Object(esm_extends["a" /* default */])({ src: url, alt: alt }, extraImageProps)); let figureStyle = {}; if (width) { figureStyle = { width }; } else if (align === 'left' || align === 'right') { figureStyle = { maxWidth: '50%' }; } return Object(external_wp_element_["createElement"])("figure", { className: align ? `align${align}` : null, style: figureStyle }, href ? Object(external_wp_element_["createElement"])("a", { href: href }, image) : image, !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", value: caption })); } }]; /* harmony default export */ var image_deprecated = (deprecated_deprecated); // EXTERNAL MODULE: external ["wp","blob"] var external_wp_blob_ = __webpack_require__("xTGt"); // EXTERNAL MODULE: external ["wp","data"] var external_wp_data_ = __webpack_require__("1ZqX"); // EXTERNAL MODULE: external ["wp","compose"] var external_wp_compose_ = __webpack_require__("K9lf"); // EXTERNAL MODULE: external ["wp","url"] var external_wp_url_ = __webpack_require__("Mmq9"); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/crop.js /** * WordPress dependencies */ const crop_crop = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M16.5 7.8v7H18v-7c0-1-.8-1.8-1.8-1.8h-7v1.5h7c.2 0 .3.1.3.3zm-8.7 8.7c-.1 0-.2-.1-.2-.2V2H6v4H2v1.5h4v8.8c0 1 .8 1.8 1.8 1.8h8.8v4H18v-4h4v-1.5H7.8z" })); /* harmony default export */ var library_crop = (crop_crop); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/upload.js var upload = __webpack_require__("NTP4"); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/overlay-text.js /** * WordPress dependencies */ const overlayText = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12-9.8c.4 0 .8-.3.9-.7l1.1-3h3.6l.5 1.7h1.9L13 9h-2.2l-3.4 9.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12H20V6c0-1.1-.9-2-2-2zm-6 7l1.4 3.9h-2.7L12 11z" })); /* harmony default export */ var overlay_text = (overlayText); // EXTERNAL MODULE: external ["wp","notices"] var external_wp_notices_ = __webpack_require__("onLe"); // 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'; // EXTERNAL MODULE: ./node_modules/classnames/dedupe.js var dedupe = __webpack_require__("A/WM"); var dedupe_default = /*#__PURE__*/__webpack_require__.n(dedupe); // EXTERNAL MODULE: ./node_modules/memize/index.js var memize = __webpack_require__("4eJC"); 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 = { apiVersion: 2, name: "core/embed", title: "Embed", category: "embed", description: "Add a block that displays content pulled from other sites, like Twitter, Instagram 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 = Object(external_wp_blocks_["getBlockVariations"])(DEFAULT_EMBED_BLOCK)) === null || _getBlockVariations === void 0 ? void 0 : _getBlockVariations.find(({ name }) => 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 = (url, patterns = []) => 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 = Object(external_wp_blocks_["getBlockVariations"])(DEFAULT_EMBED_BLOCK)) === null || _getBlockVariations2 === void 0 ? void 0 : _getBlockVariations2.find(({ patterns }) => 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 = Object(external_wp_element_["createElement"])("p", null, Object(external_wp_element_["createElement"])("img", { src: imageUrl, alt: photo.title, width: "100%" })); return Object(external_wp_element_["renderToString"])(photoPreview); }; /** * Creates a more suitable embed block based on the passed in props * and attributes generated from an embed block's preview. * * We require `attributesFromPreview` to be generated from the latest attributes * and preview, and because of the way the react lifecycle operates, we can't * guarantee that the attributes contained in the block's props are the latest * versions, so we require that these are generated separately. * See `getAttributesFromPreview` in the generated embed edit component. * * @param {Object} props The block's props. * @param {Object} [attributesFromPreview] Attributes generated from the block's most up to date preview. * @return {Object|undefined} A more suitable embed block if one exists. */ const createUpgradedEmbedBlock = (props, attributesFromPreview = {}) => { var _getBlockVariations3; const { preview, attributes: { url, providerNameSlug, type } = {} } = props; if (!url || !Object(external_wp_blocks_["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 Object(external_wp_blocks_["createBlock"])(DEFAULT_EMBED_BLOCK, { url, ...matchedBlock.attributes }); } const wpVariation = (_getBlockVariations3 = Object(external_wp_blocks_["getBlockVariations"])(DEFAULT_EMBED_BLOCK)) === null || _getBlockVariations3 === void 0 ? void 0 : _getBlockVariations3.find(({ name }) => 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 Object(external_wp_blocks_["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, { className }) => { 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, allowResponsive = 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 util_fallback(url, onReplace) { const link = Object(external_wp_element_["createElement"])("a", { href: url }, url); onReplace(Object(external_wp_blocks_["createBlock"])('core/paragraph', { content: Object(external_wp_element_["renderToString"])(link) })); } /*** * Gets block attributes based on the preview and responsive state. * * @param {Object} preview The preview data. * @param {string} title The block's title, e.g. Twitter. * @param {Object} currentClassNames The block's current class names. * @param {boolean} isResponsive Boolean indicating if the block supports responsive content. * @param {boolean} allowResponsive Apply responsive classes to fixed size content. * @return {Object} Attributes and values. */ const getAttributesFromPreview = memize_default()((preview, title, currentClassNames, isResponsive, allowResponsive = 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 = Object(external_lodash_["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/image/use-client-width.js /** * WordPress dependencies */ function useClientWidth(ref, dependencies) { const [clientWidth, setClientWidth] = Object(external_wp_element_["useState"])(); function calculateClientWidth() { setClientWidth(ref.current.clientWidth); } Object(external_wp_element_["useEffect"])(calculateClientWidth, dependencies); Object(external_wp_element_["useEffect"])(() => { const { defaultView } = ref.current.ownerDocument; defaultView.addEventListener('resize', calculateClientWidth); return () => { defaultView.removeEventListener('resize', calculateClientWidth); }; }, []); return clientWidth; } // CONCATENATED MODULE: ./node_modules/react-easy-crop/node_modules/tslib/tslib.es6.js /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; function __extends(d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } var __assign = function() { __assign = Object.assign || function __assign(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; } return __assign.apply(this, arguments); } function __rest(s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; } function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; } function __param(paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } } function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } function __awaiter(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } function __generator(thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } } var __createBinding = Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; }); function __exportStar(m, o) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); } function __values(o) { var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); if (o && typeof o.length === "number") return { next: function () { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); } function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; } function __spread() { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; } function __spreadArrays() { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; function __await(v) { return this instanceof __await ? (this.v = v, this) : new __await(v); } function __asyncGenerator(thisArg, _arguments, generator) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var g = generator.apply(thisArg, _arguments || []), i, q = []; return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } } function __asyncDelegator(o) { var i, p; return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } } function __asyncValues(o) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var m = o[Symbol.asyncIterator], i; return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } } function __makeTemplateObject(cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; var __setModuleDefault = Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }; function __importStar(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; } function __importDefault(mod) { return (mod && mod.__esModule) ? mod : { default: mod }; } function __classPrivateFieldGet(receiver, privateMap) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return privateMap.get(receiver); } function __classPrivateFieldSet(receiver, privateMap, value) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to set private field on non-instance"); } privateMap.set(receiver, value); return value; } // EXTERNAL MODULE: external "React" var external_React_ = __webpack_require__("cDcd"); var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_); // EXTERNAL MODULE: ./node_modules/normalize-wheel/index.js var normalize_wheel = __webpack_require__("wJiJ"); var normalize_wheel_default = /*#__PURE__*/__webpack_require__.n(normalize_wheel); // CONCATENATED MODULE: ./node_modules/react-easy-crop/index.module.js /** * Compute the dimension of the crop area based on media size, * aspect ratio and optionally rotation */ function getCropSize(mediaWidth, mediaHeight, containerWidth, containerHeight, aspect, rotation) { if (rotation === void 0) { rotation = 0; } var _a = translateSize(mediaWidth, mediaHeight, rotation), width = _a.width, height = _a.height; var fittingWidth = Math.min(width, containerWidth); var fittingHeight = Math.min(height, containerHeight); if (fittingWidth > fittingHeight * aspect) { return { width: fittingHeight * aspect, height: fittingHeight }; } return { width: fittingWidth, height: fittingWidth / aspect }; } /** * Ensure a new media position stays in the crop area. */ function index_module_restrictPosition(position, mediaSize, cropSize, zoom, rotation) { if (rotation === void 0) { rotation = 0; } var _a = translateSize(mediaSize.width, mediaSize.height, rotation), width = _a.width, height = _a.height; return { x: restrictPositionCoord(position.x, width, cropSize.width, zoom), y: restrictPositionCoord(position.y, height, cropSize.height, zoom) }; } function restrictPositionCoord(position, mediaSize, cropSize, zoom) { var maxPosition = mediaSize * zoom / 2 - cropSize / 2; return Math.min(maxPosition, Math.max(position, -maxPosition)); } function getDistanceBetweenPoints(pointA, pointB) { return Math.sqrt(Math.pow(pointA.y - pointB.y, 2) + Math.pow(pointA.x - pointB.x, 2)); } function getRotationBetweenPoints(pointA, pointB) { return Math.atan2(pointB.y - pointA.y, pointB.x - pointA.x) * 180 / Math.PI; } /** * Compute the output cropped area of the media in percentages and pixels. * x/y are the top-left coordinates on the src media */ function computeCroppedArea(crop, mediaSize, cropSize, aspect, zoom, rotation, restrictPosition) { if (rotation === void 0) { rotation = 0; } if (restrictPosition === void 0) { restrictPosition = true; } // if the media is rotated by the user, we cannot limit the position anymore // as it might need to be negative. var limitAreaFn = restrictPosition && rotation === 0 ? limitArea : noOp; var croppedAreaPercentages = { x: limitAreaFn(100, ((mediaSize.width - cropSize.width / zoom) / 2 - crop.x / zoom) / mediaSize.width * 100), y: limitAreaFn(100, ((mediaSize.height - cropSize.height / zoom) / 2 - crop.y / zoom) / mediaSize.height * 100), width: limitAreaFn(100, cropSize.width / mediaSize.width * 100 / zoom), height: limitAreaFn(100, cropSize.height / mediaSize.height * 100 / zoom) }; // we compute the pixels size naively var widthInPixels = Math.round(limitAreaFn(mediaSize.naturalWidth, croppedAreaPercentages.width * mediaSize.naturalWidth / 100)); var heightInPixels = Math.round(limitAreaFn(mediaSize.naturalHeight, croppedAreaPercentages.height * mediaSize.naturalHeight / 100)); var isImgWiderThanHigh = mediaSize.naturalWidth >= mediaSize.naturalHeight * aspect; // then we ensure the width and height exactly match the aspect (to avoid rounding approximations) // if the media is wider than high, when zoom is 0, the crop height will be equals to iamge height // thus we want to compute the width from the height and aspect for accuracy. // Otherwise, we compute the height from width and aspect. var sizePixels = isImgWiderThanHigh ? { width: Math.round(heightInPixels * aspect), height: heightInPixels } : { width: widthInPixels, height: Math.round(widthInPixels / aspect) }; var croppedAreaPixels = __assign(__assign({}, sizePixels), { x: Math.round(limitAreaFn(mediaSize.naturalWidth - sizePixels.width, croppedAreaPercentages.x * mediaSize.naturalWidth / 100)), y: Math.round(limitAreaFn(mediaSize.naturalHeight - sizePixels.height, croppedAreaPercentages.y * mediaSize.naturalHeight / 100)) }); return { croppedAreaPercentages: croppedAreaPercentages, croppedAreaPixels: croppedAreaPixels }; } /** * Ensure the returned value is between 0 and max */ function limitArea(max, value) { return Math.min(max, Math.max(0, value)); } function noOp(_max, value) { return value; } /** * Compute the crop and zoom from the croppedAreaPixels */ function getZoomFromCroppedAreaPixels(croppedAreaPixels, mediaSize, cropSize) { var mediaZoom = mediaSize.width / mediaSize.naturalWidth; if (cropSize) { var isHeightMaxSize_1 = cropSize.height > cropSize.width; return isHeightMaxSize_1 ? cropSize.height / mediaZoom / croppedAreaPixels.height : cropSize.width / mediaZoom / croppedAreaPixels.width; } var aspect = croppedAreaPixels.width / croppedAreaPixels.height; var isHeightMaxSize = mediaSize.naturalWidth >= mediaSize.naturalHeight * aspect; return isHeightMaxSize ? mediaSize.naturalHeight / croppedAreaPixels.height : mediaSize.naturalWidth / croppedAreaPixels.width; } /** * Compute the crop and zoom from the croppedAreaPixels */ function getInitialCropFromCroppedAreaPixels(croppedAreaPixels, mediaSize, cropSize) { var mediaZoom = mediaSize.width / mediaSize.naturalWidth; var zoom = getZoomFromCroppedAreaPixels(croppedAreaPixels, mediaSize, cropSize); var cropZoom = mediaZoom * zoom; var crop = { x: ((mediaSize.naturalWidth - croppedAreaPixels.width) / 2 - croppedAreaPixels.x) * cropZoom, y: ((mediaSize.naturalHeight - croppedAreaPixels.height) / 2 - croppedAreaPixels.y) * cropZoom }; return { crop: crop, zoom: zoom }; } /** * Return the point that is the center of point a and b */ function getCenter(a, b) { return { x: (b.x + a.x) / 2, y: (b.y + a.y) / 2 }; } /** * * Returns an x,y point once rotated around xMid,yMid */ function rotateAroundMidPoint(x, y, xMid, yMid, degrees) { var cos = Math.cos; var sin = Math.sin; var radian = degrees * Math.PI / 180; // Convert to radians // Subtract midpoints, so that midpoint is translated to origin // and add it in the end again var xr = (x - xMid) * cos(radian) - (y - yMid) * sin(radian) + xMid; var yr = (x - xMid) * sin(radian) + (y - yMid) * cos(radian) + yMid; return [xr, yr]; } /** * Returns the new bounding area of a rotated rectangle. */ function translateSize(width, height, rotation) { var centerX = width / 2; var centerY = height / 2; var outerBounds = [rotateAroundMidPoint(0, 0, centerX, centerY, rotation), rotateAroundMidPoint(width, 0, centerX, centerY, rotation), rotateAroundMidPoint(width, height, centerX, centerY, rotation), rotateAroundMidPoint(0, height, centerX, centerY, rotation)]; var minX = Math.min.apply(Math, outerBounds.map(function (p) { return p[0]; })); var maxX = Math.max.apply(Math, outerBounds.map(function (p) { return p[0]; })); var minY = Math.min.apply(Math, outerBounds.map(function (p) { return p[1]; })); var maxY = Math.max.apply(Math, outerBounds.map(function (p) { return p[1]; })); return { width: maxX - minX, height: maxY - minY }; } /** * Combine multiple class names into a single string. */ function index_module_classNames() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return args.filter(function (value) { if (typeof value === 'string' && value.length > 0) { return true; } return false; }).join(' ').trim(); } var css_248z = ".reactEasyCrop_Container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n user-select: none;\n touch-action: none;\n cursor: move;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.reactEasyCrop_Image,\n.reactEasyCrop_Video {\n will-change: transform; /* this improves performances and prevent painting issues on iOS Chrome */\n}\n\n.reactEasyCrop_Contain {\n max-width: 100%;\n max-height: 100%;\n margin: auto;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n.reactEasyCrop_Cover_Horizontal {\n width: 100%;\n height: auto;\n}\n.reactEasyCrop_Cover_Vertical {\n width: auto;\n height: 100%;\n}\n\n.reactEasyCrop_CropArea {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n border: 1px solid rgba(255, 255, 255, 0.5);\n box-sizing: border-box;\n box-shadow: 0 0 0 9999em;\n color: rgba(0, 0, 0, 0.5);\n overflow: hidden;\n}\n\n.reactEasyCrop_CropAreaRound {\n border-radius: 50%;\n}\n\n.reactEasyCrop_CropAreaGrid::before {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 0;\n bottom: 0;\n left: 33.33%;\n right: 33.33%;\n border-top: 0;\n border-bottom: 0;\n}\n\n.reactEasyCrop_CropAreaGrid::after {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 33.33%;\n bottom: 33.33%;\n left: 0;\n right: 0;\n border-left: 0;\n border-right: 0;\n}\n"; var MIN_ZOOM = 1; var MAX_ZOOM = 3; var index_module_Cropper = /** @class */ function (_super) { __extends(Cropper, _super); function Cropper() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.imageRef = null; _this.videoRef = null; _this.containerRef = null; _this.styleRef = null; _this.containerRect = null; _this.mediaSize = { width: 0, height: 0, naturalWidth: 0, naturalHeight: 0 }; _this.dragStartPosition = { x: 0, y: 0 }; _this.dragStartCrop = { x: 0, y: 0 }; _this.lastPinchDistance = 0; _this.lastPinchRotation = 0; _this.rafDragTimeout = null; _this.rafPinchTimeout = null; _this.wheelTimer = null; _this.state = { cropSize: null, hasWheelJustStarted: false }; // this is to prevent Safari on iOS >= 10 to zoom the page _this.preventZoomSafari = function (e) { return e.preventDefault(); }; _this.cleanEvents = function () { document.removeEventListener('mousemove', _this.onMouseMove); document.removeEventListener('mouseup', _this.onDragStopped); document.removeEventListener('touchmove', _this.onTouchMove); document.removeEventListener('touchend', _this.onDragStopped); }; _this.clearScrollEvent = function () { if (_this.containerRef) _this.containerRef.removeEventListener('wheel', _this.onWheel); if (_this.wheelTimer) { clearTimeout(_this.wheelTimer); } }; _this.onMediaLoad = function () { _this.computeSizes(); _this.emitCropData(); _this.setInitialCrop(); if (_this.props.onMediaLoaded) { _this.props.onMediaLoaded(_this.mediaSize); } }; _this.setInitialCrop = function () { var _a = _this.props, initialCroppedAreaPixels = _a.initialCroppedAreaPixels, cropSize = _a.cropSize; if (!initialCroppedAreaPixels) { return; } var _b = getInitialCropFromCroppedAreaPixels(initialCroppedAreaPixels, _this.mediaSize, cropSize), crop = _b.crop, zoom = _b.zoom; _this.props.onCropChange(crop); _this.props.onZoomChange && _this.props.onZoomChange(zoom); }; _this.computeSizes = function () { var _a, _b, _c, _d, _e, _f; var mediaRef = _this.imageRef || _this.videoRef; if (mediaRef && _this.containerRef) { _this.containerRect = _this.containerRef.getBoundingClientRect(); _this.mediaSize = { width: mediaRef.offsetWidth, height: mediaRef.offsetHeight, naturalWidth: ((_a = _this.imageRef) === null || _a === void 0 ? void 0 : _a.naturalWidth) || ((_b = _this.videoRef) === null || _b === void 0 ? void 0 : _b.videoWidth) || 0, naturalHeight: ((_c = _this.imageRef) === null || _c === void 0 ? void 0 : _c.naturalHeight) || ((_d = _this.videoRef) === null || _d === void 0 ? void 0 : _d.videoHeight) || 0 }; var cropSize = _this.props.cropSize ? _this.props.cropSize : getCropSize(mediaRef.offsetWidth, mediaRef.offsetHeight, _this.containerRect.width, _this.containerRect.height, _this.props.aspect, _this.props.rotation); if (((_e = _this.state.cropSize) === null || _e === void 0 ? void 0 : _e.height) !== cropSize.height || ((_f = _this.state.cropSize) === null || _f === void 0 ? void 0 : _f.width) !== cropSize.width) { _this.props.onCropSizeChange && _this.props.onCropSizeChange(cropSize); } _this.setState({ cropSize: cropSize }, _this.recomputeCropPosition); } }; _this.onMouseDown = function (e) { e.preventDefault(); document.addEventListener('mousemove', _this.onMouseMove); document.addEventListener('mouseup', _this.onDragStopped); _this.onDragStart(Cropper.getMousePoint(e)); }; _this.onMouseMove = function (e) { return _this.onDrag(Cropper.getMousePoint(e)); }; _this.onTouchStart = function (e) { document.addEventListener('touchmove', _this.onTouchMove, { passive: false }); // iOS 11 now defaults to passive: true document.addEventListener('touchend', _this.onDragStopped); if (e.touches.length === 2) { _this.onPinchStart(e); } else if (e.touches.length === 1) { _this.onDragStart(Cropper.getTouchPoint(e.touches[0])); } }; _this.onTouchMove = function (e) { // Prevent whole page from scrolling on iOS. e.preventDefault(); if (e.touches.length === 2) { _this.onPinchMove(e); } else if (e.touches.length === 1) { _this.onDrag(Cropper.getTouchPoint(e.touches[0])); } }; _this.onDragStart = function (_a) { var _b, _c; var x = _a.x, y = _a.y; _this.dragStartPosition = { x: x, y: y }; _this.dragStartCrop = __assign({}, _this.props.crop); (_c = (_b = _this.props).onInteractionStart) === null || _c === void 0 ? void 0 : _c.call(_b); }; _this.onDrag = function (_a) { var x = _a.x, y = _a.y; if (_this.rafDragTimeout) window.cancelAnimationFrame(_this.rafDragTimeout); _this.rafDragTimeout = window.requestAnimationFrame(function () { if (!_this.state.cropSize) return; if (x === undefined || y === undefined) return; var offsetX = x - _this.dragStartPosition.x; var offsetY = y - _this.dragStartPosition.y; var requestedPosition = { x: _this.dragStartCrop.x + offsetX, y: _this.dragStartCrop.y + offsetY }; var newPosition = _this.props.restrictPosition ? index_module_restrictPosition(requestedPosition, _this.mediaSize, _this.state.cropSize, _this.props.zoom, _this.props.rotation) : requestedPosition; _this.props.onCropChange(newPosition); }); }; _this.onDragStopped = function () { var _a, _b; _this.cleanEvents(); _this.emitCropData(); (_b = (_a = _this.props).onInteractionEnd) === null || _b === void 0 ? void 0 : _b.call(_a); }; _this.onWheel = function (e) { e.preventDefault(); var point = Cropper.getMousePoint(e); var pixelY = normalize_wheel_default()(e).pixelY; var newZoom = _this.props.zoom - pixelY * _this.props.zoomSpeed / 200; _this.setNewZoom(newZoom, point); if (!_this.state.hasWheelJustStarted) { _this.setState({ hasWheelJustStarted: true }, function () { var _a, _b; return (_b = (_a = _this.props).onInteractionStart) === null || _b === void 0 ? void 0 : _b.call(_a); }); } if (_this.wheelTimer) { clearTimeout(_this.wheelTimer); } _this.wheelTimer = window.setTimeout(function () { return _this.setState({ hasWheelJustStarted: false }, function () { var _a, _b; return (_b = (_a = _this.props).onInteractionEnd) === null || _b === void 0 ? void 0 : _b.call(_a); }); }, 250); }; _this.getPointOnContainer = function (_a) { var x = _a.x, y = _a.y; if (!_this.containerRect) { throw new Error('The Cropper is not mounted'); } return { x: _this.containerRect.width / 2 - (x - _this.containerRect.left), y: _this.containerRect.height / 2 - (y - _this.containerRect.top) }; }; _this.getPointOnMedia = function (_a) { var x = _a.x, y = _a.y; var _b = _this.props, crop = _b.crop, zoom = _b.zoom; return { x: (x + crop.x) / zoom, y: (y + crop.y) / zoom }; }; _this.setNewZoom = function (zoom, point) { if (!_this.state.cropSize || !_this.props.onZoomChange) return; var zoomPoint = _this.getPointOnContainer(point); var zoomTarget = _this.getPointOnMedia(zoomPoint); var newZoom = Math.min(_this.props.maxZoom, Math.max(zoom, _this.props.minZoom)); var requestedPosition = { x: zoomTarget.x * newZoom - zoomPoint.x, y: zoomTarget.y * newZoom - zoomPoint.y }; var newPosition = _this.props.restrictPosition ? index_module_restrictPosition(requestedPosition, _this.mediaSize, _this.state.cropSize, newZoom, _this.props.rotation) : requestedPosition; _this.props.onCropChange(newPosition); _this.props.onZoomChange(newZoom); }; _this.getCropData = function () { if (!_this.state.cropSize) { return null; } // this is to ensure the crop is correctly restricted after a zoom back (https://github.com/ricardo-ch/react-easy-crop/issues/6) var restrictedPosition = _this.props.restrictPosition ? index_module_restrictPosition(_this.props.crop, _this.mediaSize, _this.state.cropSize, _this.props.zoom, _this.props.rotation) : _this.props.crop; return computeCroppedArea(restrictedPosition, _this.mediaSize, _this.state.cropSize, _this.getAspect(), _this.props.zoom, _this.props.rotation, _this.props.restrictPosition); }; _this.emitCropData = function () { var cropData = _this.getCropData(); if (!cropData) return; var croppedAreaPercentages = cropData.croppedAreaPercentages, croppedAreaPixels = cropData.croppedAreaPixels; if (_this.props.onCropComplete) { _this.props.onCropComplete(croppedAreaPercentages, croppedAreaPixels); } if (_this.props.onCropAreaChange) { _this.props.onCropAreaChange(croppedAreaPercentages, croppedAreaPixels); } }; _this.emitCropAreaChange = function () { var cropData = _this.getCropData(); if (!cropData) return; var croppedAreaPercentages = cropData.croppedAreaPercentages, croppedAreaPixels = cropData.croppedAreaPixels; if (_this.props.onCropAreaChange) { _this.props.onCropAreaChange(croppedAreaPercentages, croppedAreaPixels); } }; _this.recomputeCropPosition = function () { if (!_this.state.cropSize) return; var newPosition = _this.props.restrictPosition ? index_module_restrictPosition(_this.props.crop, _this.mediaSize, _this.state.cropSize, _this.props.zoom, _this.props.rotation) : _this.props.crop; _this.props.onCropChange(newPosition); _this.emitCropData(); }; return _this; } Cropper.prototype.componentDidMount = function () { window.addEventListener('resize', this.computeSizes); if (this.containerRef) { this.props.zoomWithScroll && this.containerRef.addEventListener('wheel', this.onWheel, { passive: false }); this.containerRef.addEventListener('gesturestart', this.preventZoomSafari); this.containerRef.addEventListener('gesturechange', this.preventZoomSafari); } if (!this.props.disableAutomaticStylesInjection) { this.styleRef = document.createElement('style'); this.styleRef.setAttribute('type', 'text/css'); this.styleRef.innerHTML = css_248z; document.head.appendChild(this.styleRef); } // when rendered via SSR, the image can already be loaded and its onLoad callback will never be called if (this.imageRef && this.imageRef.complete) { this.onMediaLoad(); } }; Cropper.prototype.componentWillUnmount = function () { var _a; window.removeEventListener('resize', this.computeSizes); if (this.containerRef) { this.containerRef.removeEventListener('gesturestart', this.preventZoomSafari); this.containerRef.removeEventListener('gesturechange', this.preventZoomSafari); } if (this.styleRef) { (_a = this.styleRef.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(this.styleRef); } this.cleanEvents(); this.props.zoomWithScroll && this.clearScrollEvent(); }; Cropper.prototype.componentDidUpdate = function (prevProps) { var _a, _b, _c, _d, _e, _f, _g, _h, _j; if (prevProps.rotation !== this.props.rotation) { this.computeSizes(); this.recomputeCropPosition(); } else if (prevProps.aspect !== this.props.aspect) { this.computeSizes(); } else if (prevProps.zoom !== this.props.zoom) { this.recomputeCropPosition(); } else if (((_a = prevProps.cropSize) === null || _a === void 0 ? void 0 : _a.height) !== ((_b = this.props.cropSize) === null || _b === void 0 ? void 0 : _b.height) || ((_c = prevProps.cropSize) === null || _c === void 0 ? void 0 : _c.width) !== ((_d = this.props.cropSize) === null || _d === void 0 ? void 0 : _d.width)) { this.computeSizes(); } else if (((_e = prevProps.crop) === null || _e === void 0 ? void 0 : _e.x) !== ((_f = this.props.crop) === null || _f === void 0 ? void 0 : _f.x) || ((_g = prevProps.crop) === null || _g === void 0 ? void 0 : _g.y) !== ((_h = this.props.crop) === null || _h === void 0 ? void 0 : _h.y)) { this.emitCropAreaChange(); } if (prevProps.zoomWithScroll !== this.props.zoomWithScroll && this.containerRef) { this.props.zoomWithScroll ? this.containerRef.addEventListener('wheel', this.onWheel, { passive: false }) : this.clearScrollEvent(); } if (prevProps.video !== this.props.video) { (_j = this.videoRef) === null || _j === void 0 ? void 0 : _j.load(); } }; Cropper.prototype.getAspect = function () { var _a = this.props, cropSize = _a.cropSize, aspect = _a.aspect; if (cropSize) { return cropSize.width / cropSize.height; } return aspect; }; Cropper.prototype.onPinchStart = function (e) { var pointA = Cropper.getTouchPoint(e.touches[0]); var pointB = Cropper.getTouchPoint(e.touches[1]); this.lastPinchDistance = getDistanceBetweenPoints(pointA, pointB); this.lastPinchRotation = getRotationBetweenPoints(pointA, pointB); this.onDragStart(getCenter(pointA, pointB)); }; Cropper.prototype.onPinchMove = function (e) { var _this = this; var pointA = Cropper.getTouchPoint(e.touches[0]); var pointB = Cropper.getTouchPoint(e.touches[1]); var center = getCenter(pointA, pointB); this.onDrag(center); if (this.rafPinchTimeout) window.cancelAnimationFrame(this.rafPinchTimeout); this.rafPinchTimeout = window.requestAnimationFrame(function () { var distance = getDistanceBetweenPoints(pointA, pointB); var newZoom = _this.props.zoom * (distance / _this.lastPinchDistance); _this.setNewZoom(newZoom, center); _this.lastPinchDistance = distance; var rotation = getRotationBetweenPoints(pointA, pointB); var newRotation = _this.props.rotation + (rotation - _this.lastPinchRotation); _this.props.onRotationChange && _this.props.onRotationChange(newRotation); _this.lastPinchRotation = rotation; }); }; Cropper.prototype.render = function () { var _this = this; var _a = this.props, image = _a.image, video = _a.video, mediaProps = _a.mediaProps, transform = _a.transform, _b = _a.crop, x = _b.x, y = _b.y, rotation = _a.rotation, zoom = _a.zoom, cropShape = _a.cropShape, showGrid = _a.showGrid, _c = _a.style, containerStyle = _c.containerStyle, cropAreaStyle = _c.cropAreaStyle, mediaStyle = _c.mediaStyle, _d = _a.classes, containerClassName = _d.containerClassName, cropAreaClassName = _d.cropAreaClassName, mediaClassName = _d.mediaClassName, objectFit = _a.objectFit; return /*#__PURE__*/external_React_default.a.createElement("div", { onMouseDown: this.onMouseDown, onTouchStart: this.onTouchStart, ref: function ref(el) { return _this.containerRef = el; }, "data-testid": "container", style: containerStyle, className: index_module_classNames('reactEasyCrop_Container', containerClassName) }, image ? /*#__PURE__*/external_React_default.a.createElement("img", __assign({ alt: "", className: index_module_classNames('reactEasyCrop_Image', objectFit === 'contain' && 'reactEasyCrop_Contain', objectFit === 'horizontal-cover' && 'reactEasyCrop_Cover_Horizontal', objectFit === 'vertical-cover' && 'reactEasyCrop_Cover_Vertical', mediaClassName) }, mediaProps, { src: image, ref: function ref(el) { return _this.imageRef = el; }, style: __assign(__assign({}, mediaStyle), { transform: transform || "translate(" + x + "px, " + y + "px) rotate(" + rotation + "deg) scale(" + zoom + ")" }), onLoad: this.onMediaLoad })) : video && /*#__PURE__*/external_React_default.a.createElement("video", __assign({ autoPlay: true, loop: true, muted: true, className: index_module_classNames('reactEasyCrop_Video', objectFit === 'contain' && 'reactEasyCrop_Contain', objectFit === 'horizontal-cover' && 'reactEasyCrop_Cover_Horizontal', objectFit === 'vertical-cover' && 'reactEasyCrop_Cover_Vertical', mediaClassName) }, mediaProps, { ref: function ref(el) { return _this.videoRef = el; }, onLoadedMetadata: this.onMediaLoad, style: __assign(__assign({}, mediaStyle), { transform: transform || "translate(" + x + "px, " + y + "px) rotate(" + rotation + "deg) scale(" + zoom + ")" }), controls: false }), (Array.isArray(video) ? video : [{ src: video }]).map(function (item) { return /*#__PURE__*/external_React_default.a.createElement("source", __assign({ key: item.src }, item)); })), this.state.cropSize && /*#__PURE__*/external_React_default.a.createElement("div", { style: __assign(__assign({}, cropAreaStyle), { width: this.state.cropSize.width, height: this.state.cropSize.height }), "data-testid": "cropper", className: index_module_classNames('reactEasyCrop_CropArea', cropShape === 'round' && 'reactEasyCrop_CropAreaRound', showGrid && 'reactEasyCrop_CropAreaGrid', cropAreaClassName) })); }; Cropper.defaultProps = { zoom: 1, rotation: 0, aspect: 4 / 3, maxZoom: MAX_ZOOM, minZoom: MIN_ZOOM, cropShape: 'rect', objectFit: 'contain', showGrid: true, style: {}, classes: {}, mediaProps: {}, zoomSpeed: 1, restrictPosition: true, zoomWithScroll: true }; Cropper.getMousePoint = function (e) { return { x: Number(e.clientX), y: Number(e.clientY) }; }; Cropper.getTouchPoint = function (touch) { return { x: Number(touch.clientX), y: Number(touch.clientY) }; }; return Cropper; }(external_React_default.a.Component); /* harmony default export */ var index_module = (index_module_Cropper); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/constants.js const constants_MIN_ZOOM = 100; const constants_MAX_ZOOM = 300; const constants_POPOVER_PROPS = { position: 'bottom right', isAlternate: true }; // EXTERNAL MODULE: external ["wp","apiFetch"] var external_wp_apiFetch_ = __webpack_require__("ywyh"); var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/use-save-image.js /** * WordPress dependencies */ function useSaveImage({ crop, rotation, height, width, aspect, url, id, onSaveImage, onFinishEditing }) { const { createErrorNotice } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); const [isInProgress, setIsInProgress] = Object(external_wp_element_["useState"])(false); const cancel = Object(external_wp_element_["useCallback"])(() => { setIsInProgress(false); onFinishEditing(); }, [setIsInProgress, onFinishEditing]); const apply = Object(external_wp_element_["useCallback"])(() => { setIsInProgress(true); let attrs = {}; // The crop script may return some very small, sub-pixel values when the image was not cropped. // Crop only when the new size has changed by more than 0.1%. if (crop.width < 99.9 || crop.height < 99.9) { attrs = crop; } if (rotation > 0) { attrs.rotation = rotation; } attrs.src = url; external_wp_apiFetch_default()({ path: `/wp/v2/media/${id}/edit`, method: 'POST', data: attrs }).then(response => { onSaveImage({ id: response.id, url: response.source_url, height: height && width ? width / aspect : undefined }); }).catch(error => { createErrorNotice(Object(external_wp_i18n_["sprintf"])( /* translators: 1. Error message */ Object(external_wp_i18n_["__"])('Could not edit image. %s'), error.message), { id: 'image-editing-error', type: 'snackbar' }); }).finally(() => { setIsInProgress(false); onFinishEditing(); }); }, [setIsInProgress, crop, rotation, height, width, aspect, url, onSaveImage, createErrorNotice, setIsInProgress, onFinishEditing]); return Object(external_wp_element_["useMemo"])(() => ({ isInProgress, apply, cancel }), [isInProgress, apply, cancel]); } // EXTERNAL MODULE: external ["wp","hooks"] var external_wp_hooks_ = __webpack_require__("g56x"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/use-transform-image.js /** * WordPress dependencies */ function useTransformState({ url, naturalWidth, naturalHeight }) { const [editedUrl, setEditedUrl] = Object(external_wp_element_["useState"])(); const [crop, setCrop] = Object(external_wp_element_["useState"])(); const [position, setPosition] = Object(external_wp_element_["useState"])({ x: 0, y: 0 }); const [zoom, setZoom] = Object(external_wp_element_["useState"])(); const [rotation, setRotation] = Object(external_wp_element_["useState"])(); const [aspect, setAspect] = Object(external_wp_element_["useState"])(); const [defaultAspect, setDefaultAspect] = Object(external_wp_element_["useState"])(); const initializeTransformValues = Object(external_wp_element_["useCallback"])(() => { setPosition({ x: 0, y: 0 }); setZoom(100); setRotation(0); setAspect(naturalWidth / naturalHeight); setDefaultAspect(naturalWidth / naturalHeight); }, [naturalWidth, naturalHeight, setPosition, setZoom, setRotation, setAspect, setDefaultAspect]); const rotateClockwise = Object(external_wp_element_["useCallback"])(() => { const angle = (rotation + 90) % 360; let naturalAspectRatio = naturalWidth / naturalHeight; if (rotation % 180 === 90) { naturalAspectRatio = naturalHeight / naturalWidth; } if (angle === 0) { setEditedUrl(); setRotation(angle); setAspect(1 / aspect); setPosition({ x: -(position.y * naturalAspectRatio), y: position.x * naturalAspectRatio }); return; } function editImage(event) { const canvas = document.createElement('canvas'); let translateX = 0; let translateY = 0; if (angle % 180) { canvas.width = event.target.height; canvas.height = event.target.width; } else { canvas.width = event.target.width; canvas.height = event.target.height; } if (angle === 90 || angle === 180) { translateX = canvas.width; } if (angle === 270 || angle === 180) { translateY = canvas.height; } const context = canvas.getContext('2d'); context.translate(translateX, translateY); context.rotate(angle * Math.PI / 180); context.drawImage(event.target, 0, 0); canvas.toBlob(blob => { setEditedUrl(URL.createObjectURL(blob)); setRotation(angle); setAspect(1 / aspect); setPosition({ x: -(position.y * naturalAspectRatio), y: position.x * naturalAspectRatio }); }); } const el = new window.Image(); el.src = url; el.onload = editImage; const imgCrossOrigin = Object(external_wp_hooks_["applyFilters"])('media.crossOrigin', undefined, url); if (typeof imgCrossOrigin === 'string') { el.crossOrigin = imgCrossOrigin; } }, [rotation, naturalWidth, naturalHeight, setEditedUrl, setRotation, setAspect, setPosition]); return Object(external_wp_element_["useMemo"])(() => ({ editedUrl, setEditedUrl, crop, setCrop, position, setPosition, zoom, setZoom, rotation, setRotation, rotateClockwise, aspect, setAspect, defaultAspect, initializeTransformValues }), [editedUrl, setEditedUrl, crop, setCrop, position, setPosition, zoom, setZoom, rotation, setRotation, rotateClockwise, aspect, setAspect, defaultAspect, initializeTransformValues]); } function useTransformImage(imageProperties, isEditing) { const transformState = useTransformState(imageProperties); const { initializeTransformValues } = transformState; Object(external_wp_element_["useEffect"])(() => { if (isEditing) { initializeTransformValues(); } }, [isEditing, initializeTransformValues]); return transformState; } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/context.js /** * WordPress dependencies */ /** * Internal dependencies */ const ImageEditingContext = Object(external_wp_element_["createContext"])({}); const useImageEditingContext = () => Object(external_wp_element_["useContext"])(ImageEditingContext); function ImageEditingProvider({ id, url, naturalWidth, naturalHeight, isEditing, onFinishEditing, onSaveImage, children }) { const transformImage = useTransformImage({ url, naturalWidth, naturalHeight }, isEditing); const saveImage = useSaveImage({ id, url, onSaveImage, onFinishEditing, ...transformImage }); const providerValue = Object(external_wp_element_["useMemo"])(() => ({ ...transformImage, ...saveImage }), [transformImage, saveImage]); return Object(external_wp_element_["createElement"])(ImageEditingContext.Provider, { value: providerValue }, children); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/cropper.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ function ImageCropper({ url, width, height, clientWidth, naturalHeight, naturalWidth }) { const { isInProgress, editedUrl, position, zoom, aspect, setPosition, setCrop, setZoom, rotation } = useImageEditingContext(); let editedHeight = height || clientWidth * naturalHeight / naturalWidth; if (rotation % 180 === 90) { editedHeight = clientWidth * naturalWidth / naturalHeight; } return Object(external_wp_element_["createElement"])("div", { className: classnames_default()('wp-block-image__crop-area', { 'is-applying': isInProgress }), style: { width: width || clientWidth, height: editedHeight } }, Object(external_wp_element_["createElement"])(index_module, { image: editedUrl || url, disabled: isInProgress, minZoom: constants_MIN_ZOOM / 100, maxZoom: constants_MAX_ZOOM / 100, crop: position, zoom: zoom / 100, aspect: aspect, onCropChange: setPosition, onCropComplete: newCropPercent => { setCrop(newCropPercent); }, onZoomChange: newZoom => { setZoom(newZoom * 100); } }), isInProgress && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)); } // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/search.js var library_search = __webpack_require__("cGtP"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/zoom-dropdown.js /** * WordPress dependencies */ /** * Internal dependencies */ function ZoomDropdown() { const { isInProgress, zoom, setZoom } = useImageEditingContext(); return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { contentClassName: "wp-block-image__zoom", popoverProps: constants_POPOVER_PROPS, renderToggle: ({ isOpen, onToggle }) => Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { icon: library_search["a" /* default */], label: Object(external_wp_i18n_["__"])('Zoom'), onClick: onToggle, "aria-expanded": isOpen, disabled: isInProgress }), renderContent: () => Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { label: Object(external_wp_i18n_["__"])('Zoom'), min: constants_MIN_ZOOM, max: constants_MAX_ZOOM, value: Math.round(zoom), onChange: setZoom }) }); } // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/check.js var check = __webpack_require__("RMJe"); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/aspect-ratio.js /** * WordPress dependencies */ const aspect_ratio_aspectRatio = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M18.5 5.5h-13c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2v-9c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5h-13c-.3 0-.5-.2-.5-.5v-9c0-.3.2-.5.5-.5h13c.3 0 .5.2.5.5v9zM6.5 12H8v-2h2V8.5H6.5V12zm9.5 2h-2v1.5h3.5V12H16v2z" })); /* harmony default export */ var aspect_ratio = (aspect_ratio_aspectRatio); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/aspect-ratio-dropdown.js /** * WordPress dependencies */ /** * Internal dependencies */ function AspectGroup({ aspectRatios, isDisabled, label, onClick, value }) { return Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { label: label }, aspectRatios.map(({ title, aspect }) => Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { key: aspect, disabled: isDisabled, onClick: () => { onClick(aspect); }, role: "menuitemradio", isSelected: aspect === value, icon: aspect === value ? check["a" /* default */] : undefined }, title))); } function AspectRatioDropdown({ toggleProps }) { const { isInProgress, aspect, setAspect, defaultAspect } = useImageEditingContext(); return Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { icon: aspect_ratio, label: Object(external_wp_i18n_["__"])('Aspect Ratio'), popoverProps: constants_POPOVER_PROPS, toggleProps: toggleProps, className: "wp-block-image__aspect-ratio" }, ({ onClose }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(AspectGroup, { isDisabled: isInProgress, onClick: newAspect => { setAspect(newAspect); onClose(); }, value: aspect, aspectRatios: [{ title: Object(external_wp_i18n_["__"])('Original'), aspect: defaultAspect }, { title: Object(external_wp_i18n_["__"])('Square'), aspect: 1 }] }), Object(external_wp_element_["createElement"])(AspectGroup, { label: Object(external_wp_i18n_["__"])('Landscape'), isDisabled: isInProgress, onClick: newAspect => { setAspect(newAspect); onClose(); }, value: aspect, aspectRatios: [{ title: Object(external_wp_i18n_["__"])('16:10'), aspect: 16 / 10 }, { title: Object(external_wp_i18n_["__"])('16:9'), aspect: 16 / 9 }, { title: Object(external_wp_i18n_["__"])('4:3'), aspect: 4 / 3 }, { title: Object(external_wp_i18n_["__"])('3:2'), aspect: 3 / 2 }] }), Object(external_wp_element_["createElement"])(AspectGroup, { label: Object(external_wp_i18n_["__"])('Portrait'), isDisabled: isInProgress, onClick: newAspect => { setAspect(newAspect); onClose(); }, value: aspect, aspectRatios: [{ title: Object(external_wp_i18n_["__"])('10:16'), aspect: 10 / 16 }, { title: Object(external_wp_i18n_["__"])('9:16'), aspect: 9 / 16 }, { title: Object(external_wp_i18n_["__"])('3:4'), aspect: 3 / 4 }, { title: Object(external_wp_i18n_["__"])('2:3'), aspect: 2 / 3 }] }))); } // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/rotate-right.js /** * WordPress dependencies */ const rotateRight = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M15.1 4.8l-3-2.5V4c-4.4 0-8 3.6-8 8 0 3.7 2.5 6.9 6 7.7.3.1.6.1 1 .2l.2-1.5c-.4 0-.7-.1-1.1-.2l-.1.2v-.2c-2.6-.8-4.5-3.3-4.5-6.2 0-3.6 2.9-6.5 6.5-6.5v1.8l3-2.5zM20 11c-.2-1.4-.7-2.7-1.6-3.8l-1.2.8c.7.9 1.1 2 1.3 3.1L20 11zm-1.5 1.8c-.1.5-.2 1.1-.4 1.6s-.5 1-.8 1.5l1.2.9c.4-.5.8-1.1 1-1.8s.5-1.3.5-2l-1.5-.2zm-5.6 5.6l.2 1.5c1.4-.2 2.7-.7 3.8-1.6l-.9-1.1c-.9.7-2 1.1-3.1 1.2z" })); /* harmony default export */ var rotate_right = (rotateRight); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/rotation-button.js /** * WordPress dependencies */ /** * Internal dependencies */ function RotationButton() { const { isInProgress, rotateClockwise } = useImageEditingContext(); return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { icon: rotate_right, label: Object(external_wp_i18n_["__"])('Rotate'), onClick: rotateClockwise, disabled: isInProgress }); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/form-controls.js /** * WordPress dependencies */ /** * Internal dependencies */ function FormControls() { const { isInProgress, apply, cancel } = useImageEditingContext(); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { onClick: apply, disabled: isInProgress }, Object(external_wp_i18n_["__"])('Apply')), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { onClick: cancel }, Object(external_wp_i18n_["__"])('Cancel'))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/index.js /** * WordPress dependencies */ /** * Internal dependencies */ function ImageEditor({ url, width, height, clientWidth, naturalHeight, naturalWidth }) { return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(ImageCropper, { url: url, width: width, height: height, clientWidth: clientWidth, naturalHeight: naturalHeight, naturalWidth: naturalWidth }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(ZoomDropdown, null), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarItem"], null, toggleProps => Object(external_wp_element_["createElement"])(AspectRatioDropdown, { toggleProps: toggleProps })), Object(external_wp_element_["createElement"])(RotationButton, null)), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(FormControls, null)))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/constants.js const MIN_SIZE = 20; const LINK_DESTINATION_NONE = 'none'; const LINK_DESTINATION_MEDIA = 'media'; const LINK_DESTINATION_ATTACHMENT = 'attachment'; const LINK_DESTINATION_CUSTOM = 'custom'; const NEW_TAB_REL = ['noreferrer', 'noopener']; const ALLOWED_MEDIA_TYPES = ['image']; // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ /** * Module constants */ function getFilename(url) { const path = Object(external_wp_url_["getPath"])(url); if (path) { return Object(external_lodash_["last"])(path.split('/')); } } function Image({ temporaryURL, attributes: { url = '', alt, caption, align, id, href, rel, linkClass, linkDestination, title, width, height, linkTarget, sizeSlug }, setAttributes, isSelected, insertBlocksAfter, onReplace, onSelectImage, onSelectURL, onUploadError, containerRef, clientId }) { const captionRef = Object(external_wp_element_["useRef"])(); const prevUrl = Object(external_wp_compose_["usePrevious"])(url); const { getBlock } = Object(external_wp_data_["useSelect"])(external_wp_blockEditor_["store"]); const { image, multiImageSelection } = Object(external_wp_data_["useSelect"])(select => { const { getMedia } = select(external_wp_coreData_["store"]); const { getMultiSelectedBlockClientIds, getBlockName } = select(external_wp_blockEditor_["store"]); const multiSelectedClientIds = getMultiSelectedBlockClientIds(); return { image: id && isSelected ? getMedia(id) : null, multiImageSelection: multiSelectedClientIds.length && multiSelectedClientIds.every(_clientId => getBlockName(_clientId) === 'core/image') }; }, [id, isSelected]); const { imageEditing, imageSizes, maxWidth, mediaUpload } = Object(external_wp_data_["useSelect"])(select => { const { getSettings } = select(external_wp_blockEditor_["store"]); return Object(external_lodash_["pick"])(getSettings(), ['imageEditing', 'imageSizes', 'maxWidth', 'mediaUpload']); }); const { replaceBlocks, toggleSelection } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); const { createErrorNotice, createSuccessNotice } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); const isLargeViewport = Object(external_wp_compose_["useViewportMatch"])('medium'); const isWideAligned = Object(external_lodash_["includes"])(['wide', 'full'], align); const [{ naturalWidth, naturalHeight }, setNaturalSize] = Object(external_wp_element_["useState"])({}); const [isEditingImage, setIsEditingImage] = Object(external_wp_element_["useState"])(false); const [externalBlob, setExternalBlob] = Object(external_wp_element_["useState"])(); const clientWidth = useClientWidth(containerRef, [align]); const isResizable = !isWideAligned && isLargeViewport; const imageSizeOptions = Object(external_lodash_["map"])(Object(external_lodash_["filter"])(imageSizes, ({ slug }) => Object(external_lodash_["get"])(image, ['media_details', 'sizes', slug, 'source_url'])), ({ name, slug }) => ({ value: slug, label: name })); // Check if the cover block is registered. const coverBlockExists = !!Object(external_wp_blocks_["getBlockType"])('core/cover'); // If an image is externally hosted, try to fetch the image data. This may // fail if the image host doesn't allow CORS with the domain. If it works, // we can enable a button in the toolbar to upload the image. Object(external_wp_element_["useEffect"])(() => { if (!isExternalImage(id, url) || !isSelected || externalBlob) { return; } window.fetch(url).then(response => response.blob()).then(blob => setExternalBlob(blob)); }, [id, url, isSelected, externalBlob]); // Focus the caption after inserting an image from the placeholder. This is // done to preserve the behaviour of focussing the first tabbable element // when a block is mounted. Previously, the image block would remount when // the placeholder is removed. Maybe this behaviour could be removed. Object(external_wp_element_["useEffect"])(() => { if (url && !prevUrl && isSelected) { captionRef.current.focus(); } }, [url, prevUrl]); function onResizeStart() { toggleSelection(false); } function onResizeStop() { toggleSelection(true); } function onImageError() { // Check if there's an embed block that handles this URL. const embedBlock = createUpgradedEmbedBlock({ attributes: { url } }); if (undefined !== embedBlock) { onReplace(embedBlock); } } function onSetHref(props) { setAttributes(props); } function onSetTitle(value) { // This is the HTML title attribute, separate from the media object // title. setAttributes({ title: value }); } function updateAlt(newAlt) { setAttributes({ alt: newAlt }); } function updateImage(newSizeSlug) { const newUrl = Object(external_lodash_["get"])(image, ['media_details', 'sizes', newSizeSlug, 'source_url']); if (!newUrl) { return null; } setAttributes({ url: newUrl, width: undefined, height: undefined, sizeSlug: newSizeSlug }); } function uploadExternal() { mediaUpload({ filesList: [externalBlob], onFileChange([img]) { onSelectImage(img); if (Object(external_wp_blob_["isBlobURL"])(img.url)) { return; } setExternalBlob(); createSuccessNotice(Object(external_wp_i18n_["__"])('Image uploaded.'), { type: 'snackbar' }); }, allowedTypes: ALLOWED_MEDIA_TYPES, onError(message) { createErrorNotice(message, { type: 'snackbar' }); } }); } function updateAlignment(nextAlign) { const extraUpdatedAttributes = ['wide', 'full'].includes(nextAlign) ? { width: undefined, height: undefined } : {}; setAttributes({ ...extraUpdatedAttributes, align: nextAlign }); } Object(external_wp_element_["useEffect"])(() => { if (!isSelected) { setIsEditingImage(false); } }, [isSelected]); const canEditImage = id && naturalWidth && naturalHeight && imageEditing; const allowCrop = !multiImageSelection && canEditImage && !isEditingImage; function switchToCover() { replaceBlocks(clientId, Object(external_wp_blocks_["switchToBlockType"])(getBlock(clientId), 'core/cover')); } const controls = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "block" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockAlignmentControl"], { value: align, onChange: updateAlignment }), !multiImageSelection && !isEditingImage && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalImageURLInputUI"], { url: href || '', onChangeUrl: onSetHref, linkDestination: linkDestination, mediaUrl: image && image.source_url || url, mediaLink: image && image.link, linkTarget: linkTarget, linkClass: linkClass, rel: rel }), allowCrop && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { onClick: () => setIsEditingImage(true), icon: library_crop, label: Object(external_wp_i18n_["__"])('Crop') }), externalBlob && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { onClick: uploadExternal, icon: upload["a" /* default */], label: Object(external_wp_i18n_["__"])('Upload external image') }), !multiImageSelection && coverBlockExists && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { icon: overlay_text, label: Object(external_wp_i18n_["__"])('Add text over image'), onClick: switchToCover })), !multiImageSelection && !isEditingImage && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "other" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { mediaId: id, mediaURL: url, allowedTypes: ALLOWED_MEDIA_TYPES, accept: "image/*", onSelect: onSelectImage, onSelectURL: onSelectURL, onError: onUploadError })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Image settings') }, !multiImageSelection && Object(external_wp_element_["createElement"])(external_wp_components_["TextareaControl"], { label: Object(external_wp_i18n_["__"])('Alt text (alternative text)'), value: alt, onChange: updateAlt, help: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { href: "https://www.w3.org/WAI/tutorials/images/decision-tree" }, Object(external_wp_i18n_["__"])('Describe the purpose of the image')), Object(external_wp_i18n_["__"])('Leave empty if the image is purely decorative.')) }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalImageSizeControl"], { onChangeImage: updateImage, onChange: value => setAttributes(value), slug: sizeSlug, width: width, height: height, imageSizeOptions: imageSizeOptions, isResizable: isResizable, imageWidth: naturalWidth, imageHeight: naturalHeight }))), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorAdvancedControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { label: Object(external_wp_i18n_["__"])('Title attribute'), value: title || '', onChange: onSetTitle, help: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_i18n_["__"])('Describe the role of this image on the page.'), Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { href: "https://www.w3.org/TR/html52/dom.html#the-title-attribute" }, Object(external_wp_i18n_["__"])('(Note: many devices and browsers do not display this text.)'))) }))); const filename = getFilename(url); let defaultedAlt; if (alt) { defaultedAlt = alt; } else if (filename) { defaultedAlt = Object(external_wp_i18n_["sprintf"])( /* translators: %s: file name */ Object(external_wp_i18n_["__"])('This image has an empty alt attribute; its file name is %s'), filename); } else { defaultedAlt = Object(external_wp_i18n_["__"])('This image has an empty alt attribute'); } let img = // Disable reason: Image itself is not meant to be interactive, but // should direct focus to block. /* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */ Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("img", { src: temporaryURL || url, alt: defaultedAlt, onError: () => onImageError(), onLoad: event => { setNaturalSize(Object(external_lodash_["pick"])(event.target, ['naturalWidth', 'naturalHeight'])); } }), temporaryURL && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)) /* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */ ; let imageWidthWithinContainer; let imageHeightWithinContainer; if (clientWidth && naturalWidth && naturalHeight) { const exceedMaxWidth = naturalWidth > clientWidth; const ratio = naturalHeight / naturalWidth; imageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth; imageHeightWithinContainer = exceedMaxWidth ? clientWidth * ratio : naturalHeight; } if (canEditImage && isEditingImage) { img = Object(external_wp_element_["createElement"])(ImageEditor, { url: url, width: width, height: height, clientWidth: clientWidth, naturalHeight: naturalHeight, naturalWidth: naturalWidth }); } else if (!isResizable || !imageWidthWithinContainer) { img = Object(external_wp_element_["createElement"])("div", { style: { width, height } }, img); } else { const currentWidth = width || imageWidthWithinContainer; const currentHeight = height || imageHeightWithinContainer; const ratio = naturalWidth / naturalHeight; const minWidth = naturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio; const minHeight = naturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio; // With the current implementation of ResizableBox, an image needs an // explicit pixel value for the max-width. In absence of being able to // set the content-width, this max-width is currently dictated by the // vanilla editor style. The following variable adds a buffer to this // vanilla style, so 3rd party themes have some wiggleroom. This does, // in most cases, allow you to scale the image beyond the width of the // main column, though not infinitely. // @todo It would be good to revisit this once a content-width variable // becomes available. const maxWidthBuffer = maxWidth * 2.5; let showRightHandle = false; let showLeftHandle = false; /* eslint-disable no-lonely-if */ // See https://github.com/WordPress/gutenberg/issues/7584. if (align === 'center') { // When the image is centered, show both handles. showRightHandle = true; showLeftHandle = true; } else if (Object(external_wp_i18n_["isRTL"])()) { // In RTL mode the image is on the right by default. // Show the right handle and hide the left handle only when it is // aligned left. Otherwise always show the left handle. if (align === 'left') { showRightHandle = true; } else { showLeftHandle = true; } } else { // Show the left handle and hide the right handle only when the // image is aligned right. Otherwise always show the right handle. if (align === 'right') { showLeftHandle = true; } else { showRightHandle = true; } } /* eslint-enable no-lonely-if */ img = Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], { size: { width: width !== null && width !== void 0 ? width : 'auto', height: height !== null && height !== void 0 ? height : 'auto' }, showHandle: isSelected, minWidth: minWidth, maxWidth: maxWidthBuffer, minHeight: minHeight, maxHeight: maxWidthBuffer / ratio, lockAspectRatio: true, enable: { top: false, right: showRightHandle, bottom: true, left: showLeftHandle }, onResizeStart: onResizeStart, onResizeStop: (event, direction, elt, delta) => { onResizeStop(); setAttributes({ width: parseInt(currentWidth + delta.width, 10), height: parseInt(currentHeight + delta.height, 10) }); } }, img); } return Object(external_wp_element_["createElement"])(ImageEditingProvider, { id: id, url: url, naturalWidth: naturalWidth, naturalHeight: naturalHeight, clientWidth: clientWidth, onSaveImage: imageAttributes => setAttributes(imageAttributes), isEditing: isEditingImage, onFinishEditing: () => setIsEditingImage(false) }, !temporaryURL && controls, img, (!external_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { ref: captionRef, tagName: "figcaption", "aria-label": Object(external_wp_i18n_["__"])('Image caption text'), placeholder: Object(external_wp_i18n_["__"])('Add caption'), value: caption, onChange: value => setAttributes({ caption: value }), inlineToolbar: true, __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) })); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/edit.js /** * External dependencies */ /** * WordPress dependencies */ /* global wp */ /** * Internal dependencies */ /** * Module constants */ const pickRelevantMediaFiles = (image, size) => { const imageProps = Object(external_lodash_["pick"])(image, ['alt', 'id', 'link', 'caption']); imageProps.url = Object(external_lodash_["get"])(image, ['sizes', size, 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', size, 'source_url']) || image.url; return imageProps; }; /** * Is the URL a temporary blob URL? A blob URL is one that is used temporarily * while the image is being uploaded and will not have an id yet allocated. * * @param {number=} id The id of the image. * @param {string=} url The url of the image. * * @return {boolean} Is the URL a Blob URL */ const isTemporaryImage = (id, url) => !id && Object(external_wp_blob_["isBlobURL"])(url); /** * Is the url for the image hosted externally. An externally hosted image has no * id and is not a blob url. * * @param {number=} id The id of the image. * @param {string=} url The url of the image. * * @return {boolean} Is the url an externally hosted url? */ const isExternalImage = (id, url) => url && !id && !Object(external_wp_blob_["isBlobURL"])(url); /** * Checks if WP generated default image size. Size generation is skipped * when the image is smaller than the said size. * * @param {Object} image * @param {string} defaultSize * * @return {boolean} Whether or not it has default image size. */ function hasDefaultSize(image, defaultSize) { return Object(external_lodash_["has"])(image, ['sizes', defaultSize, 'url']) || Object(external_lodash_["has"])(image, ['media_details', 'sizes', defaultSize, 'source_url']); } function ImageEdit({ attributes, setAttributes, isSelected, className, noticeUI, insertBlocksAfter, noticeOperations, onReplace, clientId }) { const { url = '', alt, caption, align, id, width, height, sizeSlug } = attributes; const [temporaryURL, setTemporaryURL] = Object(external_wp_element_["useState"])(); const altRef = Object(external_wp_element_["useRef"])(); Object(external_wp_element_["useEffect"])(() => { altRef.current = alt; }, [alt]); const captionRef = Object(external_wp_element_["useRef"])(); Object(external_wp_element_["useEffect"])(() => { captionRef.current = caption; }, [caption]); const ref = Object(external_wp_element_["useRef"])(); const { imageDefaultSize, mediaUpload } = Object(external_wp_data_["useSelect"])(select => { const { getSettings } = select(external_wp_blockEditor_["store"]); return Object(external_lodash_["pick"])(getSettings(), ['imageDefaultSize', 'mediaUpload']); }, []); function onUploadError(message) { noticeOperations.removeAllNotices(); noticeOperations.createErrorNotice(message); } function onSelectImage(media) { var _wp, _wp$media, _wp$media$view, _wp$media$view$settin, _wp$media$view$settin2; if (!media || !media.url) { setAttributes({ url: undefined, alt: undefined, id: undefined, title: undefined, caption: undefined }); return; } if (Object(external_wp_blob_["isBlobURL"])(media.url)) { setTemporaryURL(media.url); return; } setTemporaryURL(); let mediaAttributes = pickRelevantMediaFiles(media, imageDefaultSize); // If a caption text was meanwhile written by the user, // make sure the text is not overwritten by empty captions. if (captionRef.current && !Object(external_lodash_["get"])(mediaAttributes, ['caption'])) { mediaAttributes = Object(external_lodash_["omit"])(mediaAttributes, ['caption']); } let additionalAttributes; // Reset the dimension attributes if changing to a different image. if (!media.id || media.id !== id) { additionalAttributes = { width: undefined, height: undefined, // Fallback to size "full" if there's no default image size. // It means the image is smaller, and the block will use a full-size URL. sizeSlug: hasDefaultSize(media, imageDefaultSize) ? imageDefaultSize : 'full' }; } else { // Keep the same url when selecting the same file, so "Image Size" // option is not changed. additionalAttributes = { url }; } // Check if default link setting should be used. let linkDestination = attributes.linkDestination; if (!linkDestination) { // Use the WordPress option to determine the proper default. // The constants used in Gutenberg do not match WP options so a little more complicated than ideal. // TODO: fix this in a follow up PR, requires updating media-text and ui component. switch (((_wp = wp) === null || _wp === void 0 ? void 0 : (_wp$media = _wp.media) === null || _wp$media === void 0 ? void 0 : (_wp$media$view = _wp$media.view) === null || _wp$media$view === void 0 ? void 0 : (_wp$media$view$settin = _wp$media$view.settings) === null || _wp$media$view$settin === void 0 ? void 0 : (_wp$media$view$settin2 = _wp$media$view$settin.defaultProps) === null || _wp$media$view$settin2 === void 0 ? void 0 : _wp$media$view$settin2.link) || LINK_DESTINATION_NONE) { case 'file': case LINK_DESTINATION_MEDIA: linkDestination = LINK_DESTINATION_MEDIA; break; case 'post': case LINK_DESTINATION_ATTACHMENT: linkDestination = LINK_DESTINATION_ATTACHMENT; break; case LINK_DESTINATION_CUSTOM: linkDestination = LINK_DESTINATION_CUSTOM; break; case LINK_DESTINATION_NONE: linkDestination = LINK_DESTINATION_NONE; break; } } // Check if the image is linked to it's media. let href; switch (linkDestination) { case LINK_DESTINATION_MEDIA: href = media.url; break; case LINK_DESTINATION_ATTACHMENT: href = media.link; break; } mediaAttributes.href = href; setAttributes({ ...mediaAttributes, ...additionalAttributes, linkDestination }); } function onSelectURL(newURL) { if (newURL !== url) { setAttributes({ url: newURL, id: undefined, width: undefined, height: undefined, sizeSlug: imageDefaultSize }); } } function updateAlignment(nextAlign) { const extraUpdatedAttributes = ['wide', 'full'].includes(nextAlign) ? { width: undefined, height: undefined } : {}; setAttributes({ ...extraUpdatedAttributes, align: nextAlign }); } const isTemp = isTemporaryImage(id, url); // Upload a temporary image on mount. Object(external_wp_element_["useEffect"])(() => { if (!isTemp) { return; } const file = Object(external_wp_blob_["getBlobByURL"])(url); if (file) { mediaUpload({ filesList: [file], onFileChange: ([img]) => { onSelectImage(img); }, allowedTypes: ALLOWED_MEDIA_TYPES, onError: message => { noticeOperations.createErrorNotice(message); setAttributes({ src: undefined, id: undefined, url: undefined }); } }); } }, []); // If an image is temporary, revoke the Blob url when it is uploaded (and is // no longer temporary). Object(external_wp_element_["useEffect"])(() => { if (!temporaryURL) { return; } return () => { Object(external_wp_blob_["revokeBlobURL"])(temporaryURL); }; }, [temporaryURL]); const isExternal = isExternalImage(id, url); const src = isExternal ? url : undefined; const mediaPreview = !!url && Object(external_wp_element_["createElement"])("img", { alt: Object(external_wp_i18n_["__"])('Edit image'), title: Object(external_wp_i18n_["__"])('Edit image'), className: 'edit-image-preview', src: url }); const classes = classnames_default()(className, { 'is-transient': temporaryURL, 'is-resized': !!width || !!height, [`size-${sizeSlug}`]: sizeSlug }); const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ ref, className: classes }); return Object(external_wp_element_["createElement"])("figure", blockProps, (temporaryURL || url) && Object(external_wp_element_["createElement"])(Image, { temporaryURL: temporaryURL, attributes: attributes, setAttributes: setAttributes, isSelected: isSelected, insertBlocksAfter: insertBlocksAfter, onReplace: onReplace, onSelectImage: onSelectImage, onSelectURL: onSelectURL, onUploadError: onUploadError, containerRef: ref, clientId: clientId }), !url && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "block" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockAlignmentControl"], { value: align, onChange: updateAlignment })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { icon: library_image }), onSelect: onSelectImage, onSelectURL: onSelectURL, notices: noticeUI, onError: onUploadError, accept: "image/*", allowedTypes: ALLOWED_MEDIA_TYPES, value: { id, src }, mediaPreview: mediaPreview, disableMediaButtons: temporaryURL || url })); } /* harmony default export */ var image_edit = (Object(external_wp_components_["withNotices"])(ImageEdit)); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/save.js /** * External dependencies */ /** * WordPress dependencies */ function save_save({ attributes }) { const { url, alt, caption, align, href, rel, linkClass, width, height, id, linkTarget, sizeSlug, title } = attributes; const newRel = Object(external_lodash_["isEmpty"])(rel) ? undefined : rel; const classes = classnames_default()({ [`align${align}`]: align, [`size-${sizeSlug}`]: sizeSlug, 'is-resized': width || height }); const image = Object(external_wp_element_["createElement"])("img", { src: url, alt: alt, className: id ? `wp-image-${id}` : null, width: width, height: height, title: title }); const figure = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, href ? Object(external_wp_element_["createElement"])("a", { className: linkClass, href: href, target: linkTarget, rel: newRel }, image) : image, !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", value: caption })); if ('left' === align || 'right' === align || 'center' === align) { return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])("figure", { className: classes }, figure)); } return Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save({ className: classes }), figure); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/transforms.js /** * WordPress dependencies */ function stripFirstImage(attributes, { shortcode }) { const { body } = document.implementation.createHTMLDocument(''); body.innerHTML = shortcode.content; let nodeToRemove = body.querySelector('img'); // if an image has parents, find the topmost node to remove while (nodeToRemove && nodeToRemove.parentNode && nodeToRemove.parentNode !== body) { nodeToRemove = nodeToRemove.parentNode; } if (nodeToRemove) { nodeToRemove.parentNode.removeChild(nodeToRemove); } return body.innerHTML.trim(); } function getFirstAnchorAttributeFormHTML(html, attributeName) { const { body } = document.implementation.createHTMLDocument(''); body.innerHTML = html; const { firstElementChild } = body; if (firstElementChild && firstElementChild.nodeName === 'A') { return firstElementChild.getAttribute(attributeName) || undefined; } } const imageSchema = { img: { attributes: ['src', 'alt', 'title'], classes: ['alignleft', 'aligncenter', 'alignright', 'alignnone', /^wp-image-\d+$/] } }; const schema = ({ phrasingContentSchema }) => ({ figure: { require: ['img'], children: { ...imageSchema, a: { attributes: ['href', 'rel', 'target'], children: imageSchema }, figcaption: { children: phrasingContentSchema } } } }); const transforms_transforms = { from: [{ type: 'raw', isMatch: node => node.nodeName === 'FIGURE' && !!node.querySelector('img'), schema, transform: node => { // Search both figure and image classes. Alignment could be // set on either. ID is set on the image. const className = node.className + ' ' + node.querySelector('img').className; const alignMatches = /(?:^|\s)align(left|center|right)(?:$|\s)/.exec(className); const anchor = node.id === '' ? undefined : node.id; const align = alignMatches ? alignMatches[1] : undefined; const idMatches = /(?:^|\s)wp-image-(\d+)(?:$|\s)/.exec(className); const id = idMatches ? Number(idMatches[1]) : undefined; const anchorElement = node.querySelector('a'); const linkDestination = anchorElement && anchorElement.href ? 'custom' : undefined; const href = anchorElement && anchorElement.href ? anchorElement.href : undefined; const rel = anchorElement && anchorElement.rel ? anchorElement.rel : undefined; const linkClass = anchorElement && anchorElement.className ? anchorElement.className : undefined; const attributes = Object(external_wp_blocks_["getBlockAttributes"])('core/image', node.outerHTML, { align, id, linkDestination, href, rel, linkClass, anchor }); return Object(external_wp_blocks_["createBlock"])('core/image', attributes); } }, { type: 'files', isMatch(files) { return files.length === 1 && files[0].type.indexOf('image/') === 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` // int the image block return Object(external_wp_blocks_["createBlock"])('core/image', { url: Object(external_wp_blob_["createBlobURL"])(file) }); } }, { type: 'shortcode', tag: 'caption', attributes: { url: { type: 'string', source: 'attribute', attribute: 'src', selector: 'img' }, alt: { type: 'string', source: 'attribute', attribute: 'alt', selector: 'img' }, caption: { shortcode: stripFirstImage }, href: { shortcode: (attributes, { shortcode }) => { return getFirstAnchorAttributeFormHTML(shortcode.content, 'href'); } }, rel: { shortcode: (attributes, { shortcode }) => { return getFirstAnchorAttributeFormHTML(shortcode.content, 'rel'); } }, linkClass: { shortcode: (attributes, { shortcode }) => { return getFirstAnchorAttributeFormHTML(shortcode.content, 'class'); } }, id: { type: 'number', shortcode: ({ named: { id } }) => { if (!id) { return; } return parseInt(id.replace('attachment_', ''), 10); } }, align: { type: 'string', shortcode: ({ named: { align = 'alignnone' } }) => { return align.replace('align', ''); } } } }] }; /* harmony default export */ var image_transforms = (transforms_transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const image_metadata = { apiVersion: 2, name: "core/image", title: "Image", category: "media", description: "Insert an image to make a visual statement.", keywords: ["img", "photo", "picture"], textdomain: "default", attributes: { align: { type: "string" }, url: { type: "string", source: "attribute", selector: "img", attribute: "src" }, alt: { type: "string", source: "attribute", selector: "img", attribute: "alt", "default": "" }, caption: { type: "string", source: "html", selector: "figcaption" }, title: { type: "string", source: "attribute", selector: "img", attribute: "title" }, href: { type: "string", source: "attribute", selector: "figure > a", attribute: "href" }, rel: { type: "string", source: "attribute", selector: "figure > a", attribute: "rel" }, linkClass: { type: "string", source: "attribute", selector: "figure > a", attribute: "class" }, id: { type: "number" }, width: { type: "number" }, height: { type: "number" }, sizeSlug: { type: "string" }, linkDestination: { type: "string" }, linkTarget: { type: "string", source: "attribute", selector: "figure > a", attribute: "target" } }, supports: { anchor: true, color: { __experimentalDuotone: "img", text: false, background: false }, __experimentalBorder: { radius: true } }, styles: [{ name: "default", label: "Default", isDefault: true }, { name: "rounded", label: "Rounded" }], editorStyle: "wp-block-image-editor", style: "wp-block-image" }; const { name: image_name } = image_metadata; const image_settings = { icon: library_image, example: { attributes: { sizeSlug: 'large', url: 'https://s.w.org/images/core/5.3/MtBlanc1.jpg', // translators: Caption accompanying an image of the Mont Blanc, which serves as an example for the Image block. caption: Object(external_wp_i18n_["__"])('Mont Blanc appears—still, snowy, and serene.') } }, __experimentalLabel(attributes, { context }) { if (context === 'accessibility') { const { caption, alt, url } = attributes; if (!url) { return Object(external_wp_i18n_["__"])('Empty'); } if (!alt) { return caption || ''; } // This is intended to be read by a screen reader. // A period simply means a pause, no need to translate it. return alt + (caption ? '. ' + caption : ''); } }, getEditWrapperProps(attributes) { return { 'data-align': attributes.align }; }, transforms: image_transforms, edit: image_edit, save: save_save, deprecated: image_deprecated }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/heading.js /** * WordPress dependencies */ const heading = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M6.2 5.2v13.4l5.8-4.8 5.8 4.8V5.2z" })); /* harmony default export */ var library_heading = (heading); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/deprecated.js /** * External dependencies */ /** * WordPress dependencies */ const blockSupports = { className: false, anchor: true }; const heading_deprecated_blockAttributes = { align: { type: 'string' }, content: { type: 'string', source: 'html', selector: 'h1,h2,h3,h4,h5,h6', default: '' }, level: { type: 'number', default: 2 }, placeholder: { type: 'string' } }; const migrateCustomColors = attributes => { if (!attributes.customTextColor) { return attributes; } const style = { color: { text: attributes.customTextColor } }; return { ...Object(external_lodash_["omit"])(attributes, ['customTextColor']), style }; }; const TEXT_ALIGN_OPTIONS = ['left', 'right', 'center']; const migrateTextAlign = attributes => { const { align, ...rest } = attributes; return TEXT_ALIGN_OPTIONS.includes(align) ? { ...rest, textAlign: align } : attributes; }; const heading_deprecated_deprecated = [{ supports: { align: ['wide', 'full'], anchor: true, className: false, color: { link: true }, fontSize: true, lineHeight: true, __experimentalSelector: { 'core/heading/h1': 'h1', 'core/heading/h2': 'h2', 'core/heading/h3': 'h3', 'core/heading/h4': 'h4', 'core/heading/h5': 'h5', 'core/heading/h6': 'h6' }, __unstablePasteTextInline: true }, attributes: heading_deprecated_blockAttributes, isEligible: ({ align }) => TEXT_ALIGN_OPTIONS.includes(align), migrate: migrateTextAlign, save({ attributes }) { const { align, content, level } = attributes; const TagName = 'h' + level; const className = classnames_default()({ [`has-text-align-${align}`]: align }); return Object(external_wp_element_["createElement"])(TagName, external_wp_blockEditor_["useBlockProps"].save({ className }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { value: content })); } }, { supports: blockSupports, attributes: { ...heading_deprecated_blockAttributes, customTextColor: { type: 'string' }, textColor: { type: 'string' } }, migrate: attributes => migrateCustomColors(migrateTextAlign(attributes)), save({ attributes }) { const { align, content, customTextColor, level, textColor } = attributes; const tagName = 'h' + level; const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); const className = classnames_default()({ [textClass]: textClass, 'has-text-color': textColor || customTextColor, [`has-text-align-${align}`]: align }); return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { className: className ? className : undefined, tagName: tagName, style: { color: textClass ? undefined : customTextColor }, value: content }); } }, { attributes: { ...heading_deprecated_blockAttributes, customTextColor: { type: 'string' }, textColor: { type: 'string' } }, migrate: attributes => migrateCustomColors(migrateTextAlign(attributes)), save({ attributes }) { const { align, content, customTextColor, level, textColor } = attributes; const tagName = 'h' + level; const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); const className = classnames_default()({ [textClass]: textClass, [`has-text-align-${align}`]: align }); return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { className: className ? className : undefined, tagName: tagName, style: { color: textClass ? undefined : customTextColor }, value: content }); }, supports: blockSupports }, { supports: blockSupports, attributes: { ...heading_deprecated_blockAttributes, customTextColor: { type: 'string' }, textColor: { type: 'string' } }, migrate: attributes => migrateCustomColors(migrateTextAlign(attributes)), save({ attributes }) { const { align, level, content, textColor, customTextColor } = attributes; const tagName = 'h' + level; const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); const className = classnames_default()({ [textClass]: textClass }); return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { className: className ? className : undefined, tagName: tagName, style: { textAlign: align, color: textClass ? undefined : customTextColor }, value: content }); } }]; /* harmony default export */ var heading_deprecated = (heading_deprecated_deprecated); // EXTERNAL MODULE: external ["wp","keycodes"] var external_wp_keycodes_ = __webpack_require__("RxS6"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/heading-level-icon.js /** * WordPress dependencies */ /** @typedef {import('@wordpress/element').WPComponent} WPComponent */ /** * HeadingLevelIcon props. * * @typedef WPHeadingLevelIconProps * * @property {number} level The heading level to show an icon for. * @property {?boolean} isPressed Whether or not the icon should appear pressed; default: false. */ /** * Heading level icon. * * @param {WPHeadingLevelIconProps} props Component props. * * @return {?WPComponent} The icon. */ function HeadingLevelIcon({ level, isPressed = false }) { const levelToPath = { 1: 'M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z', 2: 'M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z', 3: 'M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z', 4: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z', 5: 'M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z', 6: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z' }; if (!levelToPath.hasOwnProperty(level)) { return null; } return Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { width: "24", height: "24", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg", isPressed: isPressed }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: levelToPath[level] })); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/heading-level-dropdown.js /** * WordPress dependencies */ /** * Internal dependencies */ const HEADING_LEVELS = [1, 2, 3, 4, 5, 6]; const heading_level_dropdown_POPOVER_PROPS = { className: 'block-library-heading-level-dropdown', isAlternate: true }; /** @typedef {import('@wordpress/element').WPComponent} WPComponent */ /** * HeadingLevelDropdown props. * * @typedef WPHeadingLevelDropdownProps * * @property {number} selectedLevel The chosen heading level. * @property {(newValue:number)=>any} onChange Callback to run when * toolbar value is changed. */ /** * Dropdown for selecting a heading level (1 through 6). * * @param {WPHeadingLevelDropdownProps} props Component props. * * @return {WPComponent} The toolbar. */ function HeadingLevelDropdown({ selectedLevel, onChange }) { return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { popoverProps: heading_level_dropdown_POPOVER_PROPS, renderToggle: ({ onToggle, isOpen }) => { const openOnArrowDown = event => { if (!isOpen && event.keyCode === external_wp_keycodes_["DOWN"]) { event.preventDefault(); event.stopPropagation(); onToggle(); } }; return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { "aria-expanded": isOpen, "aria-haspopup": "true", icon: Object(external_wp_element_["createElement"])(HeadingLevelIcon, { level: selectedLevel }), label: Object(external_wp_i18n_["__"])('Change heading level'), onClick: onToggle, onKeyDown: openOnArrowDown, showTooltip: true }); }, renderContent: () => Object(external_wp_element_["createElement"])(external_wp_components_["Toolbar"], { className: "block-library-heading-level-toolbar", label: Object(external_wp_i18n_["__"])('Change heading level') }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], { isCollapsed: false, controls: HEADING_LEVELS.map(targetLevel => { const isActive = targetLevel === selectedLevel; return { icon: Object(external_wp_element_["createElement"])(HeadingLevelIcon, { level: targetLevel, isPressed: isActive }), title: Object(external_wp_i18n_["sprintf"])( // translators: %s: heading level e.g: "1", "2", "3" Object(external_wp_i18n_["__"])('Heading %d'), targetLevel), isActive, onClick() { onChange(targetLevel); } }; }) })) }); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ function HeadingEdit({ attributes, setAttributes, mergeBlocks, onReplace, mergedStyle, clientId }) { const { textAlign, content, level, placeholder } = attributes; const tagName = 'h' + level; const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ className: classnames_default()({ [`has-text-align-${textAlign}`]: textAlign }), style: mergedStyle }); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "block" }, Object(external_wp_element_["createElement"])(HeadingLevelDropdown, { selectedLevel: level, onChange: newLevel => setAttributes({ level: newLevel }) }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentControl"], { value: textAlign, onChange: nextAlign => { setAttributes({ textAlign: nextAlign }); } })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], Object(esm_extends["a" /* default */])({ identifier: "content", tagName: tagName, value: content, onChange: value => setAttributes({ content: value }), onMerge: mergeBlocks, onSplit: (value, isOriginal) => { let block; if (isOriginal || value) { block = Object(external_wp_blocks_["createBlock"])('core/heading', { ...attributes, content: value }); } else { block = Object(external_wp_blocks_["createBlock"])('core/paragraph'); } if (isOriginal) { block.clientId = clientId; } return block; }, onReplace: onReplace, onRemove: () => onReplace([]), "aria-label": Object(external_wp_i18n_["__"])('Heading text'), placeholder: placeholder || Object(external_wp_i18n_["__"])('Heading'), textAlign: textAlign }, blockProps))); } /* harmony default export */ var heading_edit = (HeadingEdit); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/save.js /** * External dependencies */ /** * WordPress dependencies */ function heading_save_save({ attributes }) { const { textAlign, content, level } = attributes; const TagName = 'h' + level; const className = classnames_default()({ [`has-text-align-${textAlign}`]: textAlign }); return Object(external_wp_element_["createElement"])(TagName, external_wp_blockEditor_["useBlockProps"].save({ className }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { value: content })); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/shared.js /** * Given a node name string for a heading node, returns its numeric level. * * @param {string} nodeName Heading node name. * * @return {number} Heading level. */ function getLevelFromHeadingNodeName(nodeName) { return Number(nodeName.substr(1)); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/transforms.js /** * WordPress dependencies */ /** * Internal dependencies */ const { name: heading_transforms_name } = { apiVersion: 2, name: "core/heading", title: "Heading", category: "text", description: "Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.", keywords: ["title", "subtitle"], textdomain: "default", attributes: { textAlign: { type: "string" }, content: { type: "string", source: "html", selector: "h1,h2,h3,h4,h5,h6", "default": "", __experimentalRole: "content" }, level: { type: "number", "default": 2 }, placeholder: { type: "string" } }, supports: { align: ["wide", "full"], anchor: true, className: false, color: { link: true }, typography: { fontSize: true, lineHeight: true, __experimentalFontWeight: true }, __experimentalSelector: "h1,h2,h3,h4,h5,h6", __unstablePasteTextInline: true }, editorStyle: "wp-block-heading-editor", style: "wp-block-heading" }; const heading_transforms_transforms = { from: [{ type: 'block', isMultiBlock: true, blocks: ['core/paragraph'], transform: attributes => attributes.map(({ content, anchor }) => Object(external_wp_blocks_["createBlock"])(heading_transforms_name, { content, anchor })) }, { type: 'raw', selector: 'h1,h2,h3,h4,h5,h6', schema: ({ phrasingContentSchema, isPaste }) => { const schema = { children: phrasingContentSchema, attributes: isPaste ? [] : ['style', 'id'] }; return { h1: schema, h2: schema, h3: schema, h4: schema, h5: schema, h6: schema }; }, transform(node) { const attributes = Object(external_wp_blocks_["getBlockAttributes"])(heading_transforms_name, node.outerHTML); const { textAlign } = node.style || {}; attributes.level = getLevelFromHeadingNodeName(node.nodeName); if (textAlign === 'left' || textAlign === 'center' || textAlign === 'right') { attributes.align = textAlign; } return Object(external_wp_blocks_["createBlock"])(heading_transforms_name, attributes); } }, ...[1, 2, 3, 4, 5, 6].map(level => ({ type: 'prefix', prefix: Array(level + 1).join('#'), transform(content) { return Object(external_wp_blocks_["createBlock"])(heading_transforms_name, { level, content }); } })), ...[1, 2, 3, 4, 5, 6].map(level => ({ type: 'enter', regExp: new RegExp(`^/(h|H)${level}$`), transform(content) { return Object(external_wp_blocks_["createBlock"])(heading_transforms_name, { level, content }); } }))], to: [{ type: 'block', isMultiBlock: true, blocks: ['core/paragraph'], transform: attributes => attributes.map(({ content, anchor }) => Object(external_wp_blocks_["createBlock"])('core/paragraph', { content, anchor })) }] }; /* harmony default export */ var heading_transforms = (heading_transforms_transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/index.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const heading_metadata = { apiVersion: 2, name: "core/heading", title: "Heading", category: "text", description: "Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.", keywords: ["title", "subtitle"], textdomain: "default", attributes: { textAlign: { type: "string" }, content: { type: "string", source: "html", selector: "h1,h2,h3,h4,h5,h6", "default": "", __experimentalRole: "content" }, level: { type: "number", "default": 2 }, placeholder: { type: "string" } }, supports: { align: ["wide", "full"], anchor: true, className: false, color: { link: true }, typography: { fontSize: true, lineHeight: true, __experimentalFontWeight: true }, __experimentalSelector: "h1,h2,h3,h4,h5,h6", __unstablePasteTextInline: true }, editorStyle: "wp-block-heading-editor", style: "wp-block-heading" }; const { name: heading_name } = heading_metadata; const heading_settings = { icon: library_heading, example: { attributes: { content: Object(external_wp_i18n_["__"])('Code is Poetry'), level: 2 } }, __experimentalLabel(attributes, { context }) { if (context === 'accessibility') { const { content, level } = attributes; return Object(external_lodash_["isEmpty"])(content) ? Object(external_wp_i18n_["sprintf"])( /* translators: accessibility text. %s: heading level. */ Object(external_wp_i18n_["__"])('Level %s. Empty.'), level) : Object(external_wp_i18n_["sprintf"])( /* translators: accessibility text. 1: heading level. 2: heading content. */ Object(external_wp_i18n_["__"])('Level %1$s. %2$s'), level, content); } }, transforms: heading_transforms, deprecated: heading_deprecated, merge(attributes, attributesToMerge) { return { content: (attributes.content || '') + (attributesToMerge.content || '') }; }, edit: heading_edit, save: heading_save_save }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/quote.js /** * WordPress dependencies */ const quote = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M13 6v6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H13zm-9 6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H4v6z" })); /* harmony default export */ var library_quote = (quote); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/deprecated.js /** * External dependencies */ /** * WordPress dependencies */ const quote_deprecated_blockAttributes = { value: { type: 'string', source: 'html', selector: 'blockquote', multiline: 'p', default: '' }, citation: { type: 'string', source: 'html', selector: 'cite', default: '' }, align: { type: 'string' } }; const quote_deprecated_deprecated = [{ attributes: quote_deprecated_blockAttributes, save({ attributes }) { const { align, value, citation } = attributes; return Object(external_wp_element_["createElement"])("blockquote", { style: { textAlign: align ? align : null } }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { multiline: true, value: value }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "cite", value: citation })); } }, { attributes: { ...quote_deprecated_blockAttributes, style: { type: 'number', default: 1 } }, migrate(attributes) { if (attributes.style === 2) { return { ...Object(external_lodash_["omit"])(attributes, ['style']), className: attributes.className ? attributes.className + ' is-style-large' : 'is-style-large' }; } return attributes; }, save({ attributes }) { const { align, value, citation, style } = attributes; return Object(external_wp_element_["createElement"])("blockquote", { className: style === 2 ? 'is-large' : '', style: { textAlign: align ? align : null } }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { multiline: true, value: value }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "cite", value: citation })); } }, { attributes: { ...quote_deprecated_blockAttributes, citation: { type: 'string', source: 'html', selector: 'footer', default: '' }, style: { type: 'number', default: 1 } }, save({ attributes }) { const { align, value, citation, style } = attributes; return Object(external_wp_element_["createElement"])("blockquote", { className: `blocks-quote-style-${style}`, style: { textAlign: align ? align : null } }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { multiline: true, value: value }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "footer", value: citation })); } }]; /* harmony default export */ var quote_deprecated = (quote_deprecated_deprecated); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/edit.js /** * External dependencies */ /** * WordPress dependencies */ const isWebPlatform = external_wp_element_["Platform"].OS === 'web'; function QuoteEdit({ attributes, setAttributes, isSelected, mergeBlocks, onReplace, className, insertBlocksAfter, mergedStyle }) { const { align, value, citation } = attributes; const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ className: classnames_default()(className, { [`has-text-align-${align}`]: align }), style: mergedStyle }); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "block" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentControl"], { value: align, onChange: nextAlign => { setAttributes({ align: nextAlign }); } })), Object(external_wp_element_["createElement"])(external_wp_components_["BlockQuotation"], blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { identifier: "value", multiline: true, value: value, onChange: nextValue => setAttributes({ value: nextValue }), onMerge: mergeBlocks, onRemove: forward => { const hasEmptyCitation = !citation || citation.length === 0; if (!forward && hasEmptyCitation) { onReplace([]); } }, "aria-label": Object(external_wp_i18n_["__"])('Quote text'), placeholder: // translators: placeholder text used for the quote Object(external_wp_i18n_["__"])('Add quote'), onReplace: onReplace, onSplit: piece => Object(external_wp_blocks_["createBlock"])('core/quote', { ...attributes, value: piece }), __unstableOnSplitMiddle: () => Object(external_wp_blocks_["createBlock"])('core/paragraph'), textAlign: align }), (!external_wp_blockEditor_["RichText"].isEmpty(citation) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { identifier: "citation", tagName: isWebPlatform ? 'cite' : undefined, style: { display: 'block' }, value: citation, onChange: nextCitation => setAttributes({ citation: nextCitation }), __unstableMobileNoFocusOnMount: true, "aria-label": Object(external_wp_i18n_["__"])('Quote citation text'), placeholder: // translators: placeholder text used for the citation Object(external_wp_i18n_["__"])('Add citation'), className: "wp-block-quote__citation", textAlign: align, __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) }))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/save.js /** * External dependencies */ /** * WordPress dependencies */ function quote_save_save({ attributes }) { const { align, value, citation } = attributes; const className = classnames_default()({ [`has-text-align-${align}`]: align }); return Object(external_wp_element_["createElement"])("blockquote", external_wp_blockEditor_["useBlockProps"].save({ className }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { multiline: true, value: value }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "cite", value: citation })); } // EXTERNAL MODULE: external ["wp","richText"] var external_wp_richText_ = __webpack_require__("qRz9"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/transforms.js /** * WordPress dependencies */ const quote_transforms_transforms = { from: [{ type: 'block', isMultiBlock: true, blocks: ['core/paragraph'], transform: attributes => { return Object(external_wp_blocks_["createBlock"])('core/quote', { value: Object(external_wp_richText_["toHTMLString"])({ value: Object(external_wp_richText_["join"])(attributes.map(({ content }) => Object(external_wp_richText_["create"])({ html: content })), '\u2028'), multilineTag: 'p' }), anchor: attributes.anchor }); } }, { type: 'block', blocks: ['core/heading'], transform: ({ content, anchor }) => { return Object(external_wp_blocks_["createBlock"])('core/quote', { value: `

${content}

`, anchor }); } }, { type: 'block', blocks: ['core/pullquote'], transform: ({ value, citation, anchor }) => Object(external_wp_blocks_["createBlock"])('core/quote', { value, citation, anchor }) }, { type: 'prefix', prefix: '>', transform: content => { return Object(external_wp_blocks_["createBlock"])('core/quote', { value: `

${content}

` }); } }, { type: 'raw', isMatch: node => { const isParagraphOrSingleCite = (() => { let hasCitation = false; return child => { // Child is a paragraph. if (child.nodeName === 'P') { return true; } // Child is a cite and no other cite child exists before it. if (!hasCitation && child.nodeName === 'CITE') { hasCitation = true; return true; } }; })(); return node.nodeName === 'BLOCKQUOTE' && // The quote block can only handle multiline paragraph // content with an optional cite child. Array.from(node.childNodes).every(isParagraphOrSingleCite); }, schema: ({ phrasingContentSchema }) => ({ blockquote: { children: { p: { children: phrasingContentSchema }, cite: { children: phrasingContentSchema } } } }) }], to: [{ type: 'block', blocks: ['core/paragraph'], transform: ({ value, citation }) => { const paragraphs = []; if (value && value !== '

') { paragraphs.push(...Object(external_wp_richText_["split"])(Object(external_wp_richText_["create"])({ html: value, multilineTag: 'p' }), '\u2028').map(piece => Object(external_wp_blocks_["createBlock"])('core/paragraph', { content: Object(external_wp_richText_["toHTMLString"])({ value: piece }) }))); } if (citation && citation !== '

') { paragraphs.push(Object(external_wp_blocks_["createBlock"])('core/paragraph', { content: citation })); } if (paragraphs.length === 0) { return Object(external_wp_blocks_["createBlock"])('core/paragraph', { content: '' }); } return paragraphs; } }, { type: 'block', blocks: ['core/heading'], transform: ({ value, citation, ...attrs }) => { // If there is no quote content, use the citation as the // content of the resulting heading. A nonexistent citation // will result in an empty heading. if (value === '

') { return Object(external_wp_blocks_["createBlock"])('core/heading', { content: citation }); } const pieces = Object(external_wp_richText_["split"])(Object(external_wp_richText_["create"])({ html: value, multilineTag: 'p' }), '\u2028'); const headingBlock = Object(external_wp_blocks_["createBlock"])('core/heading', { content: Object(external_wp_richText_["toHTMLString"])({ value: pieces[0] }) }); if (!citation && pieces.length === 1) { return headingBlock; } const quotePieces = pieces.slice(1); const quoteBlock = Object(external_wp_blocks_["createBlock"])('core/quote', { ...attrs, citation, value: Object(external_wp_richText_["toHTMLString"])({ value: quotePieces.length ? Object(external_wp_richText_["join"])(pieces.slice(1), '\u2028') : Object(external_wp_richText_["create"])(), multilineTag: 'p' }) }); return [headingBlock, quoteBlock]; } }, { type: 'block', blocks: ['core/pullquote'], transform: ({ value, citation, anchor }) => { return Object(external_wp_blocks_["createBlock"])('core/pullquote', { value, citation, anchor }); } }] }; /* harmony default export */ var quote_transforms = (quote_transforms_transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const quote_metadata = { apiVersion: 2, name: "core/quote", title: "Quote", category: "text", description: "Give quoted text visual emphasis. \"In quoting others, we cite ourselves.\" \u2014 Julio Cort\xE1zar", keywords: ["blockquote", "cite"], textdomain: "default", attributes: { value: { type: "string", source: "html", selector: "blockquote", multiline: "p", "default": "", __experimentalRole: "content" }, citation: { type: "string", source: "html", selector: "cite", "default": "", __experimentalRole: "content" }, align: { type: "string" } }, supports: { anchor: true }, styles: [{ name: "default", label: "Default", isDefault: true }, { name: "large", label: "Large" }], editorStyle: "wp-block-quote-editor", style: "wp-block-quote" }; const { name: quote_name } = quote_metadata; const quote_settings = { icon: library_quote, example: { attributes: { value: '

' + Object(external_wp_i18n_["__"])('In quoting others, we cite ourselves.') + '

', citation: 'Julio Cortázar', className: 'is-style-large' } }, transforms: quote_transforms, edit: QuoteEdit, save: quote_save_save, merge(attributes, { value, citation }) { // Quote citations cannot be merged. Pick the second one unless it's // empty. if (!citation) { citation = attributes.citation; } if (!value || value === '

') { return { ...attributes, citation }; } return { ...attributes, value: attributes.value + value, citation }; }, deprecated: quote_deprecated }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/gallery.js /** * WordPress dependencies */ const gallery = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M20.2 8v11c0 .7-.6 1.2-1.2 1.2H6v1.5h13c1.5 0 2.7-1.2 2.7-2.8V8h-1.5zM18 16.4V4.6c0-.9-.7-1.6-1.6-1.6H4.6C3.7 3 3 3.7 3 4.6v11.8c0 .9.7 1.6 1.6 1.6h11.8c.9 0 1.6-.7 1.6-1.6zM4.5 4.6c0-.1.1-.1.1-.1h11.8c.1 0 .1.1.1.1V12l-2.3-1.7c-.3-.2-.6-.2-.9 0l-2.9 2.1L8 11.3c-.2-.1-.5-.1-.7 0l-2.9 1.5V4.6zm0 11.8v-1.8l3.2-1.7 2.4 1.2c.2.1.5.1.8-.1l2.8-2 2.8 2v2.5c0 .1-.1.1-.1.1H4.6c0-.1-.1-.2-.1-.2z" })); /* harmony default export */ var library_gallery = (gallery); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/shared.js /** * External dependencies */ function defaultColumnsNumber(attributes) { return Math.min(3, attributes.images.length); } const shared_pickRelevantMediaFiles = (image, sizeSlug = 'large') => { const imageProps = Object(external_lodash_["pick"])(image, ['alt', 'id', 'link', 'caption']); imageProps.url = Object(external_lodash_["get"])(image, ['sizes', sizeSlug, 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', sizeSlug, 'source_url']) || image.url; const fullUrl = Object(external_lodash_["get"])(image, ['sizes', 'full', 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', 'full', 'source_url']); if (fullUrl) { imageProps.fullUrl = fullUrl; } return imageProps; }; // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/deprecated.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const gallery_deprecated_deprecated = [{ attributes: { images: { type: 'array', default: [], source: 'query', selector: '.blocks-gallery-item', query: { url: { type: 'string', source: 'attribute', selector: 'img', attribute: 'src' }, fullUrl: { type: 'string', source: 'attribute', selector: 'img', attribute: 'data-full-url' }, link: { type: 'string', source: 'attribute', selector: 'img', attribute: 'data-link' }, alt: { type: 'string', source: 'attribute', selector: 'img', attribute: 'alt', default: '' }, id: { type: 'string', source: 'attribute', selector: 'img', attribute: 'data-id' }, caption: { type: 'string', source: 'html', selector: '.blocks-gallery-item__caption' } } }, ids: { type: 'array', items: { type: 'number' }, default: [] }, columns: { type: 'number', minimum: 1, maximum: 8 }, caption: { type: 'string', source: 'html', selector: '.blocks-gallery-caption' }, imageCrop: { type: 'boolean', default: true }, linkTo: { type: 'string', default: 'none' }, sizeSlug: { type: 'string', default: 'large' } }, supports: { align: true }, isEligible({ linkTo }) { return !linkTo || linkTo === 'attachment' || linkTo === 'media'; }, migrate(attributes) { let linkTo = attributes.linkTo; if (!attributes.linkTo) { linkTo = 'none'; } else if (attributes.linkTo === 'attachment') { linkTo = 'post'; } else if (attributes.linkTo === 'media') { linkTo = 'file'; } return { ...attributes, linkTo }; }, save({ attributes }) { const { images, columns = defaultColumnsNumber(attributes), imageCrop, caption, linkTo } = attributes; return Object(external_wp_element_["createElement"])("figure", { className: `columns-${columns} ${imageCrop ? 'is-cropped' : ''}` }, Object(external_wp_element_["createElement"])("ul", { className: "blocks-gallery-grid" }, images.map(image => { let href; switch (linkTo) { case 'media': href = image.fullUrl || image.url; break; case 'attachment': href = image.link; break; } const img = Object(external_wp_element_["createElement"])("img", { src: image.url, alt: image.alt, "data-id": image.id, "data-full-url": image.fullUrl, "data-link": image.link, className: image.id ? `wp-image-${image.id}` : null }); return Object(external_wp_element_["createElement"])("li", { key: image.id || image.url, className: "blocks-gallery-item" }, Object(external_wp_element_["createElement"])("figure", null, href ? Object(external_wp_element_["createElement"])("a", { href: href }, img) : img, !external_wp_blockEditor_["RichText"].isEmpty(image.caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", className: "blocks-gallery-item__caption", value: image.caption }))); })), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", className: "blocks-gallery-caption", value: caption })); } }, { attributes: { images: { type: 'array', default: [], source: 'query', selector: '.blocks-gallery-item', query: { url: { source: 'attribute', selector: 'img', attribute: 'src' }, fullUrl: { source: 'attribute', selector: 'img', attribute: 'data-full-url' }, link: { source: 'attribute', selector: 'img', attribute: 'data-link' }, alt: { source: 'attribute', selector: 'img', attribute: 'alt', default: '' }, id: { source: 'attribute', selector: 'img', attribute: 'data-id' }, caption: { type: 'string', source: 'html', selector: '.blocks-gallery-item__caption' } } }, ids: { type: 'array', default: [] }, columns: { type: 'number' }, caption: { type: 'string', source: 'html', selector: '.blocks-gallery-caption' }, imageCrop: { type: 'boolean', default: true }, linkTo: { type: 'string', default: 'none' } }, supports: { align: true }, isEligible({ ids }) { return ids && ids.some(id => typeof id === 'string'); }, migrate(attributes) { return { ...attributes, ids: Object(external_lodash_["map"])(attributes.ids, id => { const parsedId = parseInt(id, 10); return Number.isInteger(parsedId) ? parsedId : null; }) }; }, save({ attributes }) { const { images, columns = defaultColumnsNumber(attributes), imageCrop, caption, linkTo } = attributes; return Object(external_wp_element_["createElement"])("figure", { className: `columns-${columns} ${imageCrop ? 'is-cropped' : ''}` }, Object(external_wp_element_["createElement"])("ul", { className: "blocks-gallery-grid" }, images.map(image => { let href; switch (linkTo) { case 'media': href = image.fullUrl || image.url; break; case 'attachment': href = image.link; break; } const img = Object(external_wp_element_["createElement"])("img", { src: image.url, alt: image.alt, "data-id": image.id, "data-full-url": image.fullUrl, "data-link": image.link, className: image.id ? `wp-image-${image.id}` : null }); return Object(external_wp_element_["createElement"])("li", { key: image.id || image.url, className: "blocks-gallery-item" }, Object(external_wp_element_["createElement"])("figure", null, href ? Object(external_wp_element_["createElement"])("a", { href: href }, img) : img, !external_wp_blockEditor_["RichText"].isEmpty(image.caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", className: "blocks-gallery-item__caption", value: image.caption }))); })), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", className: "blocks-gallery-caption", value: caption })); } }, { attributes: { images: { type: 'array', default: [], source: 'query', selector: 'ul.wp-block-gallery .blocks-gallery-item', query: { url: { source: 'attribute', selector: 'img', attribute: 'src' }, fullUrl: { source: 'attribute', selector: 'img', attribute: 'data-full-url' }, alt: { source: 'attribute', selector: 'img', attribute: 'alt', default: '' }, id: { source: 'attribute', selector: 'img', attribute: 'data-id' }, link: { source: 'attribute', selector: 'img', attribute: 'data-link' }, caption: { type: 'array', source: 'children', selector: 'figcaption' } } }, ids: { type: 'array', default: [] }, columns: { type: 'number' }, imageCrop: { type: 'boolean', default: true }, linkTo: { type: 'string', default: 'none' } }, supports: { align: true }, save({ attributes }) { const { images, columns = defaultColumnsNumber(attributes), imageCrop, linkTo } = attributes; return Object(external_wp_element_["createElement"])("ul", { className: `columns-${columns} ${imageCrop ? 'is-cropped' : ''}` }, images.map(image => { let href; switch (linkTo) { case 'media': href = image.fullUrl || image.url; break; case 'attachment': href = image.link; break; } const img = Object(external_wp_element_["createElement"])("img", { src: image.url, alt: image.alt, "data-id": image.id, "data-full-url": image.fullUrl, "data-link": image.link, className: image.id ? `wp-image-${image.id}` : null }); return Object(external_wp_element_["createElement"])("li", { key: image.id || image.url, className: "blocks-gallery-item" }, Object(external_wp_element_["createElement"])("figure", null, href ? Object(external_wp_element_["createElement"])("a", { href: href }, img) : img, image.caption && image.caption.length > 0 && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", value: image.caption }))); })); } }, { attributes: { images: { type: 'array', default: [], source: 'query', selector: 'ul.wp-block-gallery .blocks-gallery-item', query: { url: { source: 'attribute', selector: 'img', attribute: 'src' }, alt: { source: 'attribute', selector: 'img', attribute: 'alt', default: '' }, id: { source: 'attribute', selector: 'img', attribute: 'data-id' }, link: { source: 'attribute', selector: 'img', attribute: 'data-link' }, caption: { type: 'array', source: 'children', selector: 'figcaption' } } }, columns: { type: 'number' }, imageCrop: { type: 'boolean', default: true }, linkTo: { type: 'string', default: 'none' } }, isEligible({ images, ids }) { return images && images.length > 0 && (!ids && images || ids && images && ids.length !== images.length || Object(external_lodash_["some"])(images, (id, index) => { if (!id && ids[index] !== null) { return true; } return parseInt(id, 10) !== ids[index]; })); }, migrate(attributes) { return { ...attributes, ids: Object(external_lodash_["map"])(attributes.images, ({ id }) => { if (!id) { return null; } return parseInt(id, 10); }) }; }, supports: { align: true }, save({ attributes }) { const { images, columns = defaultColumnsNumber(attributes), imageCrop, linkTo } = attributes; return Object(external_wp_element_["createElement"])("ul", { className: `columns-${columns} ${imageCrop ? 'is-cropped' : ''}` }, images.map(image => { let href; switch (linkTo) { case 'media': href = image.url; break; case 'attachment': href = image.link; break; } const img = Object(external_wp_element_["createElement"])("img", { src: image.url, alt: image.alt, "data-id": image.id, "data-link": image.link, className: image.id ? `wp-image-${image.id}` : null }); return Object(external_wp_element_["createElement"])("li", { key: image.id || image.url, className: "blocks-gallery-item" }, Object(external_wp_element_["createElement"])("figure", null, href ? Object(external_wp_element_["createElement"])("a", { href: href }, img) : img, image.caption && image.caption.length > 0 && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", value: image.caption }))); })); } }, { attributes: { images: { type: 'array', default: [], source: 'query', selector: 'div.wp-block-gallery figure.blocks-gallery-image img', query: { url: { source: 'attribute', attribute: 'src' }, alt: { source: 'attribute', attribute: 'alt', default: '' }, id: { source: 'attribute', attribute: 'data-id' } } }, columns: { type: 'number' }, imageCrop: { type: 'boolean', default: true }, linkTo: { type: 'string', default: 'none' }, align: { type: 'string', default: 'none' } }, supports: { align: true }, save({ attributes }) { const { images, columns = defaultColumnsNumber(attributes), align, imageCrop, linkTo } = attributes; const className = classnames_default()(`columns-${columns}`, { alignnone: align === 'none', 'is-cropped': imageCrop }); return Object(external_wp_element_["createElement"])("div", { className: className }, images.map(image => { let href; switch (linkTo) { case 'media': href = image.url; break; case 'attachment': href = image.link; break; } const img = Object(external_wp_element_["createElement"])("img", { src: image.url, alt: image.alt, "data-id": image.id }); return Object(external_wp_element_["createElement"])("figure", { key: image.id || image.url, className: "blocks-gallery-image" }, href ? Object(external_wp_element_["createElement"])("a", { href: href }, img) : img); })); } }]; /* harmony default export */ var gallery_deprecated = (gallery_deprecated_deprecated); // EXTERNAL MODULE: external ["wp","viewport"] var external_wp_viewport_ = __webpack_require__("KEfo"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/shared-icon.js /** * WordPress dependencies */ const sharedIcon = Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { icon: library_gallery }); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-left.js var chevron_left = __webpack_require__("2gm7"); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-right.js var chevron_right = __webpack_require__("1iEr"); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/edit.js + 1 modules var library_edit = __webpack_require__("B9Az"); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close-small.js var close_small = __webpack_require__("bWcr"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/constants.js const constants_LINK_DESTINATION_NONE = 'none'; const constants_LINK_DESTINATION_MEDIA = 'file'; const constants_LINK_DESTINATION_ATTACHMENT = 'post'; // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/gallery-image.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const gallery_image_isTemporaryImage = (id, url) => !id && Object(external_wp_blob_["isBlobURL"])(url); class gallery_image_GalleryImage extends external_wp_element_["Component"] { constructor() { super(...arguments); this.onSelectImage = this.onSelectImage.bind(this); this.onRemoveImage = this.onRemoveImage.bind(this); this.bindContainer = this.bindContainer.bind(this); this.onEdit = this.onEdit.bind(this); this.onSelectImageFromLibrary = this.onSelectImageFromLibrary.bind(this); this.onSelectCustomURL = this.onSelectCustomURL.bind(this); this.state = { isEditing: false }; } bindContainer(ref) { this.container = ref; } onSelectImage() { if (!this.props.isSelected) { this.props.onSelect(); } } onRemoveImage(event) { if (this.container === this.container.ownerDocument.activeElement && this.props.isSelected && [external_wp_keycodes_["BACKSPACE"], external_wp_keycodes_["DELETE"]].indexOf(event.keyCode) !== -1) { event.stopPropagation(); event.preventDefault(); this.props.onRemove(); } } onEdit() { this.setState({ isEditing: true }); } componentDidUpdate() { const { image, url, __unstableMarkNextChangeAsNotPersistent } = this.props; if (image && !url) { __unstableMarkNextChangeAsNotPersistent(); this.props.setAttributes({ url: image.source_url, alt: image.alt_text }); } } deselectOnBlur() { this.props.onDeselect(); } onSelectImageFromLibrary(media) { const { setAttributes, id, url, alt, caption, sizeSlug } = this.props; if (!media || !media.url) { return; } let mediaAttributes = shared_pickRelevantMediaFiles(media, sizeSlug); // If the current image is temporary but an alt text was meanwhile // written by the user, make sure the text is not overwritten. if (gallery_image_isTemporaryImage(id, url)) { if (alt) { mediaAttributes = Object(external_lodash_["omit"])(mediaAttributes, ['alt']); } } // If a caption text was meanwhile written by the user, // make sure the text is not overwritten by empty captions. if (caption && !Object(external_lodash_["get"])(mediaAttributes, ['caption'])) { mediaAttributes = Object(external_lodash_["omit"])(mediaAttributes, ['caption']); } setAttributes(mediaAttributes); this.setState({ isEditing: false }); } onSelectCustomURL(newURL) { const { setAttributes, url } = this.props; if (newURL !== url) { setAttributes({ url: newURL, id: undefined }); this.setState({ isEditing: false }); } } render() { const { url, alt, id, linkTo, link, isFirstItem, isLastItem, isSelected, caption, onRemove, onMoveForward, onMoveBackward, setAttributes, 'aria-label': ariaLabel } = this.props; const { isEditing } = this.state; let href; switch (linkTo) { case constants_LINK_DESTINATION_MEDIA: href = url; break; case constants_LINK_DESTINATION_ATTACHMENT: href = link; break; } const img = // Disable reason: Image itself is not meant to be interactive, but should // direct image selection and unfocus caption fields. /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */ Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("img", { src: url, alt: alt, "data-id": id, onKeyDown: this.onRemoveImage, tabIndex: "0", "aria-label": ariaLabel, ref: this.bindContainer }), Object(external_wp_blob_["isBlobURL"])(url) && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)) /* eslint-enable jsx-a11y/no-noninteractive-element-interactions */ ; const className = classnames_default()({ 'is-selected': isSelected, 'is-transient': Object(external_wp_blob_["isBlobURL"])(url) }); return (// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions Object(external_wp_element_["createElement"])("figure", { className: className, onClick: this.onSelectImage, onFocus: this.onSelectImage }, !isEditing && (href ? Object(external_wp_element_["createElement"])("a", { href: href }, img) : img), isEditing && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { labels: { title: Object(external_wp_i18n_["__"])('Edit gallery image') }, icon: library_image, onSelect: this.onSelectImageFromLibrary, onSelectURL: this.onSelectCustomURL, accept: "image/*", allowedTypes: ['image'], value: { id, src: url } }), Object(external_wp_element_["createElement"])(external_wp_components_["ButtonGroup"], { className: "block-library-gallery-item__inline-menu is-left" }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { icon: chevron_left["a" /* default */], onClick: isFirstItem ? undefined : onMoveBackward, label: Object(external_wp_i18n_["__"])('Move image backward'), "aria-disabled": isFirstItem, disabled: !isSelected }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { icon: chevron_right["a" /* default */], onClick: isLastItem ? undefined : onMoveForward, label: Object(external_wp_i18n_["__"])('Move image forward'), "aria-disabled": isLastItem, disabled: !isSelected })), Object(external_wp_element_["createElement"])(external_wp_components_["ButtonGroup"], { className: "block-library-gallery-item__inline-menu is-right" }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { icon: library_edit["a" /* default */], onClick: this.onEdit, label: Object(external_wp_i18n_["__"])('Replace image'), disabled: !isSelected }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { icon: close_small["a" /* default */], onClick: onRemove, label: Object(external_wp_i18n_["__"])('Remove image'), disabled: !isSelected })), !isEditing && (isSelected || caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { tagName: "figcaption", "aria-label": Object(external_wp_i18n_["__"])('Image caption text'), placeholder: isSelected ? Object(external_wp_i18n_["__"])('Add caption') : null, value: caption, onChange: newCaption => setAttributes({ caption: newCaption }), inlineToolbar: true })) ); } } /* harmony default export */ var gallery_image = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withSelect"])((select, ownProps) => { const { getMedia } = select(external_wp_coreData_["store"]); const { id } = ownProps; return { image: id ? getMedia(parseInt(id, 10)) : null }; }), Object(external_wp_data_["withDispatch"])(dispatch => { const { __unstableMarkNextChangeAsNotPersistent } = dispatch(external_wp_blockEditor_["store"]); return { __unstableMarkNextChangeAsNotPersistent }; })])(gallery_image_GalleryImage)); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/gallery.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const Gallery = props => { const { attributes, isSelected, setAttributes, selectedImage, mediaPlaceholder, onMoveBackward, onMoveForward, onRemoveImage, onSelectImage, onDeselectImage, onSetImageAttributes, insertBlocksAfter, blockProps } = props; const { align, columns = defaultColumnsNumber(attributes), caption, imageCrop, images } = attributes; return Object(external_wp_element_["createElement"])("figure", Object(esm_extends["a" /* default */])({}, blockProps, { className: classnames_default()(blockProps.className, { [`align${align}`]: align, [`columns-${columns}`]: columns, 'is-cropped': imageCrop }) }), Object(external_wp_element_["createElement"])("ul", { className: "blocks-gallery-grid" }, images.map((img, index) => { const ariaLabel = Object(external_wp_i18n_["sprintf"])( /* translators: 1: the order number of the image. 2: the total number of images. */ Object(external_wp_i18n_["__"])('image %1$d of %2$d in gallery'), index + 1, images.length); return Object(external_wp_element_["createElement"])("li", { className: "blocks-gallery-item", key: img.id ? `${img.id}-${index}` : img.url }, Object(external_wp_element_["createElement"])(gallery_image, { url: img.url, alt: img.alt, id: img.id, isFirstItem: index === 0, isLastItem: index + 1 === images.length, isSelected: isSelected && selectedImage === index, onMoveBackward: onMoveBackward(index), onMoveForward: onMoveForward(index), onRemove: onRemoveImage(index), onSelect: onSelectImage(index), onDeselect: onDeselectImage(index), setAttributes: attrs => onSetImageAttributes(index, attrs), caption: img.caption, "aria-label": ariaLabel, sizeSlug: attributes.sizeSlug })); })), mediaPlaceholder, Object(external_wp_element_["createElement"])(RichTextVisibilityHelper, { isHidden: !isSelected && external_wp_blockEditor_["RichText"].isEmpty(caption), tagName: "figcaption", className: "blocks-gallery-caption", "aria-label": Object(external_wp_i18n_["__"])('Gallery caption text'), placeholder: Object(external_wp_i18n_["__"])('Write gallery caption…'), value: caption, onChange: value => setAttributes({ caption: value }), inlineToolbar: true, __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) })); }; function RichTextVisibilityHelper({ isHidden, ...richTextProps }) { return isHidden ? Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], Object(esm_extends["a" /* default */])({ as: external_wp_blockEditor_["RichText"] }, richTextProps)) : Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], richTextProps); } /* harmony default export */ var gallery_gallery = (Gallery); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const MAX_COLUMNS = 8; const linkOptions = [{ value: constants_LINK_DESTINATION_ATTACHMENT, label: Object(external_wp_i18n_["__"])('Attachment Page') }, { value: constants_LINK_DESTINATION_MEDIA, label: Object(external_wp_i18n_["__"])('Media File') }, { value: constants_LINK_DESTINATION_NONE, label: Object(external_wp_i18n_["__"])('None') }]; const edit_ALLOWED_MEDIA_TYPES = ['image']; const PLACEHOLDER_TEXT = external_wp_element_["Platform"].select({ web: Object(external_wp_i18n_["__"])('Drag images, upload new ones or select files from your library.'), native: Object(external_wp_i18n_["__"])('ADD MEDIA') }); const MOBILE_CONTROL_PROPS_RANGE_CONTROL = external_wp_element_["Platform"].select({ web: {}, native: { type: 'stepper' } }); function GalleryEdit(props) { const { attributes, clientId, isSelected, noticeUI, noticeOperations, onFocus } = props; const { columns = defaultColumnsNumber(attributes), imageCrop, images, linkTo, sizeSlug } = attributes; const [selectedImage, setSelectedImage] = Object(external_wp_element_["useState"])(); const [attachmentCaptions, setAttachmentCaptions] = Object(external_wp_element_["useState"])(); const { __unstableMarkNextChangeAsNotPersistent } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); const { imageSizes, mediaUpload, getMedia, wasBlockJustInserted } = Object(external_wp_data_["useSelect"])(select => { const settings = select(external_wp_blockEditor_["store"]).getSettings(); return { imageSizes: settings.imageSizes, mediaUpload: settings.mediaUpload, getMedia: select(external_wp_coreData_["store"]).getMedia, wasBlockJustInserted: select(external_wp_blockEditor_["store"]).wasBlockJustInserted(clientId, 'inserter_menu') }; }); const resizedImages = Object(external_wp_element_["useMemo"])(() => { if (isSelected) { return Object(external_lodash_["reduce"])(attributes.ids, (currentResizedImages, id) => { if (!id) { return currentResizedImages; } const image = getMedia(id); const sizes = Object(external_lodash_["reduce"])(imageSizes, (currentSizes, size) => { const defaultUrl = Object(external_lodash_["get"])(image, ['sizes', size.slug, 'url']); const mediaDetailsUrl = Object(external_lodash_["get"])(image, ['media_details', 'sizes', size.slug, 'source_url']); return { ...currentSizes, [size.slug]: defaultUrl || mediaDetailsUrl }; }, {}); return { ...currentResizedImages, [parseInt(id, 10)]: sizes }; }, {}); } return {}; }, [isSelected, attributes.ids, imageSizes]); function onFocusGalleryCaption() { setSelectedImage(); } function setAttributes(newAttrs) { if (newAttrs.ids) { throw new Error('The "ids" attribute should not be changed directly. It is managed automatically when "images" attribute changes'); } if (newAttrs.images) { newAttrs = { ...newAttrs, // Unlike images[ n ].id which is a string, always ensure the // ids array contains numbers as per its attribute type. ids: Object(external_lodash_["map"])(newAttrs.images, ({ id }) => parseInt(id, 10)) }; } props.setAttributes(newAttrs); } function onSelectImage(index) { return () => { setSelectedImage(index); }; } function onDeselectImage() { return () => { setSelectedImage(); }; } function onMove(oldIndex, newIndex) { const newImages = [...images]; newImages.splice(newIndex, 1, images[oldIndex]); newImages.splice(oldIndex, 1, images[newIndex]); setSelectedImage(newIndex); setAttributes({ images: newImages }); } function onMoveForward(oldIndex) { return () => { if (oldIndex === images.length - 1) { return; } onMove(oldIndex, oldIndex + 1); }; } function onMoveBackward(oldIndex) { return () => { if (oldIndex === 0) { return; } onMove(oldIndex, oldIndex - 1); }; } function onRemoveImage(index) { return () => { const newImages = Object(external_lodash_["filter"])(images, (img, i) => index !== i); setSelectedImage(); setAttributes({ images: newImages, columns: attributes.columns ? Math.min(newImages.length, attributes.columns) : attributes.columns }); }; } function selectCaption(newImage) { // The image id in both the images and attachmentCaptions arrays is a // string, so ensure comparison works correctly by converting the // newImage.id to a string. const newImageId = Object(external_lodash_["toString"])(newImage.id); const currentImage = Object(external_lodash_["find"])(images, { id: newImageId }); const currentImageCaption = currentImage ? currentImage.caption : newImage.caption; if (!attachmentCaptions) { return currentImageCaption; } const attachment = Object(external_lodash_["find"])(attachmentCaptions, { id: newImageId }); // if the attachment caption is updated if (attachment && attachment.caption !== newImage.caption) { return newImage.caption; } return currentImageCaption; } function onSelectImages(newImages) { setAttachmentCaptions(newImages.map(newImage => ({ // Store the attachmentCaption id as a string for consistency // with the type of the id in the images attribute. id: Object(external_lodash_["toString"])(newImage.id), caption: newImage.caption }))); setAttributes({ images: newImages.map(newImage => ({ ...shared_pickRelevantMediaFiles(newImage, sizeSlug), caption: selectCaption(newImage, images, attachmentCaptions), // The id value is stored in a data attribute, so when the // block is parsed it's converted to a string. Converting // to a string here ensures it's type is consistent. id: Object(external_lodash_["toString"])(newImage.id) })), columns: attributes.columns ? Math.min(newImages.length, attributes.columns) : attributes.columns }); } function onUploadError(message) { noticeOperations.removeAllNotices(); noticeOperations.createErrorNotice(message); } function setLinkTo(value) { setAttributes({ linkTo: value }); } function setColumnsNumber(value) { setAttributes({ columns: value }); } function toggleImageCrop() { setAttributes({ imageCrop: !imageCrop }); } function getImageCropHelp(checked) { return checked ? Object(external_wp_i18n_["__"])('Thumbnails are cropped to align.') : Object(external_wp_i18n_["__"])('Thumbnails are not cropped.'); } function setImageAttributes(index, newAttributes) { if (!images[index]) { return; } setAttributes({ images: [...images.slice(0, index), { ...images[index], ...newAttributes }, ...images.slice(index + 1)] }); } function getImagesSizeOptions() { return Object(external_lodash_["map"])(Object(external_lodash_["filter"])(imageSizes, ({ slug }) => Object(external_lodash_["some"])(resizedImages, sizes => sizes[slug])), ({ name, slug }) => ({ value: slug, label: name })); } function updateImagesSize(newSizeSlug) { const updatedImages = Object(external_lodash_["map"])(images, image => { if (!image.id) { return image; } const url = Object(external_lodash_["get"])(resizedImages, [parseInt(image.id, 10), newSizeSlug]); return { ...image, ...(url && { url }) }; }); setAttributes({ images: updatedImages, sizeSlug: newSizeSlug }); } Object(external_wp_element_["useEffect"])(() => { if (external_wp_element_["Platform"].OS === 'web' && images && images.length > 0 && Object(external_lodash_["every"])(images, ({ url }) => Object(external_wp_blob_["isBlobURL"])(url))) { const filesList = Object(external_lodash_["map"])(images, ({ url }) => Object(external_wp_blob_["getBlobByURL"])(url)); Object(external_lodash_["forEach"])(images, ({ url }) => Object(external_wp_blob_["revokeBlobURL"])(url)); mediaUpload({ filesList, onFileChange: onSelectImages, allowedTypes: ['image'] }); } }, []); Object(external_wp_element_["useEffect"])(() => { // Deselect images when deselecting the block if (!isSelected) { setSelectedImage(); } }, [isSelected]); Object(external_wp_element_["useEffect"])(() => { // linkTo attribute must be saved so blocks don't break when changing // image_default_link_type in options.php if (!linkTo) { var _window, _window$wp, _window$wp$media, _window$wp$media$view, _window$wp$media$view2, _window$wp$media$view3; __unstableMarkNextChangeAsNotPersistent(); setAttributes({ linkTo: ((_window = window) === null || _window === void 0 ? void 0 : (_window$wp = _window.wp) === null || _window$wp === void 0 ? void 0 : (_window$wp$media = _window$wp.media) === null || _window$wp$media === void 0 ? void 0 : (_window$wp$media$view = _window$wp$media.view) === null || _window$wp$media$view === void 0 ? void 0 : (_window$wp$media$view2 = _window$wp$media$view.settings) === null || _window$wp$media$view2 === void 0 ? void 0 : (_window$wp$media$view3 = _window$wp$media$view2.defaultProps) === null || _window$wp$media$view3 === void 0 ? void 0 : _window$wp$media$view3.link) || constants_LINK_DESTINATION_NONE }); } }, [linkTo]); const hasImages = !!images.length; const hasImageIds = hasImages && images.some(image => !!image.id); const mediaPlaceholder = Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { addToGallery: hasImageIds, isAppender: hasImages, disableMediaButtons: hasImages && !isSelected, icon: !hasImages && sharedIcon, labels: { title: !hasImages && Object(external_wp_i18n_["__"])('Gallery'), instructions: !hasImages && PLACEHOLDER_TEXT }, onSelect: onSelectImages, accept: "image/*", allowedTypes: edit_ALLOWED_MEDIA_TYPES, multiple: true, value: hasImageIds ? images : {}, onError: onUploadError, notices: hasImages ? undefined : noticeUI, onFocus: onFocus, autoOpenMediaUpload: !hasImages && isSelected && wasBlockJustInserted }); const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); if (!hasImages) { return Object(external_wp_element_["createElement"])(external_wp_primitives_["View"], blockProps, mediaPlaceholder); } const imageSizeOptions = getImagesSizeOptions(); const shouldShowSizeOptions = hasImages && !Object(external_lodash_["isEmpty"])(imageSizeOptions); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Gallery settings') }, images.length > 1 && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], Object(esm_extends["a" /* default */])({ label: Object(external_wp_i18n_["__"])('Columns'), value: columns, onChange: setColumnsNumber, min: 1, max: Math.min(MAX_COLUMNS, images.length) }, MOBILE_CONTROL_PROPS_RANGE_CONTROL, { required: true })), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Crop images'), checked: !!imageCrop, onChange: toggleImageCrop, help: getImageCropHelp }), Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { label: Object(external_wp_i18n_["__"])('Link to'), value: linkTo, onChange: setLinkTo, options: linkOptions, hideCancelButton: true }), shouldShowSizeOptions && Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { label: Object(external_wp_i18n_["__"])('Image size'), value: sizeSlug, options: imageSizeOptions, onChange: updateImagesSize, hideCancelButton: true }))), noticeUI, Object(external_wp_element_["createElement"])(gallery_gallery, Object(esm_extends["a" /* default */])({}, props, { selectedImage: selectedImage, mediaPlaceholder: mediaPlaceholder, onMoveBackward: onMoveBackward, onMoveForward: onMoveForward, onRemoveImage: onRemoveImage, onSelectImage: onSelectImage, onDeselectImage: onDeselectImage, onSetImageAttributes: setImageAttributes, blockProps: blockProps // This prop is used by gallery.native.js. , onFocusGalleryCaption: onFocusGalleryCaption }))); } /* harmony default export */ var gallery_edit = (Object(external_wp_compose_["compose"])([external_wp_components_["withNotices"], Object(external_wp_viewport_["withViewportMatch"])({ isNarrow: '< small' })])(GalleryEdit)); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/save.js /** * WordPress dependencies */ /** * Internal dependencies */ function gallery_save_save({ attributes }) { const { images, columns = defaultColumnsNumber(attributes), imageCrop, caption, linkTo } = attributes; const className = `columns-${columns} ${imageCrop ? 'is-cropped' : ''}`; return Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save({ className }), Object(external_wp_element_["createElement"])("ul", { className: "blocks-gallery-grid" }, images.map(image => { let href; switch (linkTo) { case constants_LINK_DESTINATION_MEDIA: href = image.fullUrl || image.url; break; case constants_LINK_DESTINATION_ATTACHMENT: href = image.link; break; } const img = Object(external_wp_element_["createElement"])("img", { src: image.url, alt: image.alt, "data-id": image.id, "data-full-url": image.fullUrl, "data-link": image.link, className: image.id ? `wp-image-${image.id}` : null }); return Object(external_wp_element_["createElement"])("li", { key: image.id || image.url, className: "blocks-gallery-item" }, Object(external_wp_element_["createElement"])("figure", null, href ? Object(external_wp_element_["createElement"])("a", { href: href }, img) : img, !external_wp_blockEditor_["RichText"].isEmpty(image.caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", className: "blocks-gallery-item__caption", value: image.caption }))); })), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", className: "blocks-gallery-caption", value: caption })); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/transforms.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const parseShortcodeIds = ids => { if (!ids) { return []; } return ids.split(',').map(id => parseInt(id, 10)); }; const gallery_transforms_transforms = { from: [{ type: 'block', isMultiBlock: true, blocks: ['core/image'], transform: attributes => { // Init the align and size from the first item which may be either the placeholder or an image. let { align, sizeSlug } = attributes[0]; // Loop through all the images and check if they have the same align and size. align = Object(external_lodash_["every"])(attributes, ['align', align]) ? align : undefined; sizeSlug = Object(external_lodash_["every"])(attributes, ['sizeSlug', sizeSlug]) ? sizeSlug : undefined; const validImages = Object(external_lodash_["filter"])(attributes, ({ url }) => url); return Object(external_wp_blocks_["createBlock"])('core/gallery', { images: validImages.map(({ id, url, alt, caption }) => ({ id: Object(external_lodash_["toString"])(id), url, alt, caption })), ids: validImages.map(({ id }) => parseInt(id, 10)), align, sizeSlug }); } }, { type: 'shortcode', tag: 'gallery', attributes: { images: { type: 'array', shortcode: ({ named: { ids } }) => { return parseShortcodeIds(ids).map(id => ({ id: Object(external_lodash_["toString"])(id) })); } }, ids: { type: 'array', shortcode: ({ named: { ids } }) => { return parseShortcodeIds(ids); } }, columns: { type: 'number', shortcode: ({ named: { columns = '3' } }) => { return parseInt(columns, 10); } }, linkTo: { type: 'string', shortcode: ({ named: { link = constants_LINK_DESTINATION_ATTACHMENT } }) => { return link; } } }, isMatch({ named }) { return undefined !== named.ids; } }, { // When created by drag and dropping multiple files on an insertion point type: 'files', isMatch(files) { return files.length !== 1 && Object(external_lodash_["every"])(files, file => file.type.indexOf('image/') === 0); }, transform(files) { const block = Object(external_wp_blocks_["createBlock"])('core/gallery', { images: files.map(file => shared_pickRelevantMediaFiles({ url: Object(external_wp_blob_["createBlobURL"])(file) })) }); return block; } }], to: [{ type: 'block', blocks: ['core/image'], transform: ({ images, align, sizeSlug, ids }) => { if (images.length > 0) { return images.map(({ url, alt, caption }, index) => Object(external_wp_blocks_["createBlock"])('core/image', { id: ids[index], url, alt, caption, align, sizeSlug })); } return Object(external_wp_blocks_["createBlock"])('core/image', { align }); } }] }; /* harmony default export */ var gallery_transforms = (gallery_transforms_transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const gallery_metadata = { apiVersion: 2, name: "core/gallery", title: "Gallery", category: "media", description: "Display multiple images in a rich gallery.", keywords: ["images", "photos"], textdomain: "default", attributes: { images: { type: "array", "default": [], source: "query", selector: ".blocks-gallery-item", query: { url: { type: "string", source: "attribute", selector: "img", attribute: "src" }, fullUrl: { type: "string", source: "attribute", selector: "img", attribute: "data-full-url" }, link: { type: "string", source: "attribute", selector: "img", attribute: "data-link" }, alt: { type: "string", source: "attribute", selector: "img", attribute: "alt", "default": "" }, id: { type: "string", source: "attribute", selector: "img", attribute: "data-id" }, caption: { type: "string", source: "html", selector: ".blocks-gallery-item__caption" } } }, ids: { type: "array", items: { type: "number" }, "default": [] }, columns: { type: "number", minimum: 1, maximum: 8 }, caption: { type: "string", source: "html", selector: ".blocks-gallery-caption" }, imageCrop: { type: "boolean", "default": true }, linkTo: { type: "string" }, sizeSlug: { type: "string", "default": "large" } }, supports: { anchor: true, align: true }, editorStyle: "wp-block-gallery-editor", style: "wp-block-gallery" }; const { name: gallery_name } = gallery_metadata; const gallery_settings = { icon: library_gallery, example: { attributes: { columns: 2, images: [{ url: 'https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg' }, { url: 'https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg' }] } }, transforms: gallery_transforms, edit: gallery_edit, save: gallery_save_save, deprecated: gallery_deprecated }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/archive.js /** * WordPress dependencies */ const archive = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["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); // EXTERNAL MODULE: external ["wp","serverSideRender"] var external_wp_serverSideRender_ = __webpack_require__("JREk"); var external_wp_serverSideRender_default = /*#__PURE__*/__webpack_require__.n(external_wp_serverSideRender_); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/edit.js /** * WordPress dependencies */ function ArchivesEdit({ attributes, setAttributes }) { const { showPostCounts, displayAsDropdown } = attributes; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Archives settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Display as dropdown'), checked: displayAsDropdown, onChange: () => setAttributes({ displayAsDropdown: !displayAsDropdown }) }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Show post counts'), checked: showPostCounts, onChange: () => setAttributes({ showPostCounts: !showPostCounts }) }))), Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], null, Object(external_wp_element_["createElement"])(external_wp_serverSideRender_default.a, { block: "core/archives", attributes: attributes })))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const archives_metadata = { apiVersion: 2, name: "core/archives", title: "Archives", category: "widgets", description: "Display a monthly archive of your posts.", textdomain: "default", attributes: { displayAsDropdown: { type: "boolean", "default": false }, showPostCounts: { type: "boolean", "default": false } }, supports: { align: true, html: false }, editorStyle: "wp-block-archives-editor" }; const { name: archives_name } = archives_metadata; const archives_settings = { icon: library_archive, example: {}, edit: ArchivesEdit }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/audio.js /** * WordPress dependencies */ const audio = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["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 audio_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({ attributes }) { const { autoplay, caption, loop, preload, src } = attributes; return Object(external_wp_element_["createElement"])("figure", null, Object(external_wp_element_["createElement"])("audio", { controls: "controls", src: src, autoPlay: autoplay, loop: loop, preload: preload }), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", value: caption })); } }]); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/edit.js /** * WordPress dependencies */ /** * Internal dependencies */ const audio_edit_ALLOWED_MEDIA_TYPES = ['audio']; function AudioEdit({ attributes, noticeOperations, setAttributes, onReplace, isSelected, noticeUI, insertBlocksAfter }) { const { id, autoplay, caption, loop, preload, src } = attributes; const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); const mediaUpload = Object(external_wp_data_["useSelect"])(select => { const { getSettings } = select(external_wp_blockEditor_["store"]); return getSettings().mediaUpload; }, []); Object(external_wp_element_["useEffect"])(() => { if (!id && Object(external_wp_blob_["isBlobURL"])(src)) { const file = Object(external_wp_blob_["getBlobByURL"])(src); if (file) { mediaUpload({ filesList: [file], onFileChange: ([{ id: mediaId, url }]) => { setAttributes({ id: mediaId, src: url }); }, onError: e => { setAttributes({ src: undefined, id: undefined }); noticeOperations.createErrorNotice(e); }, allowedTypes: audio_edit_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(embedBlock); return; } setAttributes({ src: newSrc, id: undefined }); } } function onUploadError(message) { noticeOperations.removeAllNotices(); noticeOperations.createErrorNotice(message); } function getAutoplayHelp(checked) { return checked ? Object(external_wp_i18n_["__"])('Autoplay may cause usability issues for some users.') : null; } // const { setAttributes, isSelected, noticeUI } = this.props; 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 }); } if (!src) { return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { icon: library_audio }), onSelect: onSelectAudio, onSelectURL: onSelectURL, accept: "audio/*", allowedTypes: audio_edit_ALLOWED_MEDIA_TYPES, value: attributes, notices: noticeUI, onError: onUploadError })); } return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "other" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { mediaId: id, mediaURL: src, allowedTypes: audio_edit_ALLOWED_MEDIA_TYPES, accept: "audio/*", onSelect: onSelectAudio, onSelectURL: onSelectURL, onError: onUploadError })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Audio settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Autoplay'), onChange: toggleAttribute('autoplay'), checked: autoplay, help: getAutoplayHelp }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Loop'), onChange: toggleAttribute('loop'), checked: loop }), Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { label: Object(external_wp_i18n_["__"])('Preload'), value: preload || '' // `undefined` is required for the preload attribute to be unset. , onChange: value => setAttributes({ preload: value || undefined }), options: [{ value: '', label: Object(external_wp_i18n_["__"])('Browser default') }, { value: 'auto', label: Object(external_wp_i18n_["__"])('Auto') }, { value: 'metadata', label: Object(external_wp_i18n_["__"])('Metadata') }, { value: 'none', label: Object(external_wp_i18n_["__"])('None') }] }))), Object(external_wp_element_["createElement"])("figure", blockProps, Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], { isDisabled: !isSelected }, Object(external_wp_element_["createElement"])("audio", { controls: "controls", src: src })), (!external_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { tagName: "figcaption", "aria-label": Object(external_wp_i18n_["__"])('Audio caption text'), placeholder: Object(external_wp_i18n_["__"])('Add caption'), value: caption, onChange: value => setAttributes({ caption: value }), inlineToolbar: true, __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) }))); } /* harmony default export */ var audio_edit = (Object(external_wp_components_["withNotices"])(AudioEdit)); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/save.js /** * WordPress dependencies */ function audio_save_save({ attributes }) { const { autoplay, caption, loop, preload, src } = attributes; return src && Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])("audio", { controls: "controls", src: src, autoPlay: autoplay, loop: loop, preload: preload }), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", value: caption })); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/transforms.js /** * WordPress dependencies */ const audio_transforms_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 = Object(external_wp_blocks_["createBlock"])('core/audio', { src: Object(external_wp_blob_["createBlobURL"])(file) }); return block; } }, { type: 'shortcode', tag: 'audio', attributes: { src: { type: 'string', shortcode: ({ named: { src, mp3, m4a, ogg, wav, wma } }) => { return src || mp3 || m4a || ogg || wav || wma; } }, loop: { type: 'string', shortcode: ({ named: { loop } }) => { return loop; } }, autoplay: { type: 'string', shortcode: ({ named: { autoplay } }) => { return autoplay; } }, preload: { type: 'string', shortcode: ({ named: { preload } }) => { return preload; } } } }] }; /* harmony default export */ var audio_transforms = (audio_transforms_transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const audio_metadata = { 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, transforms: audio_transforms, deprecated: audio_deprecated, edit: audio_edit, save: audio_save_save }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/buttons.js /** * WordPress dependencies */ const buttons_buttons = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["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_buttons); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/deprecated.js /** * WordPress dependencies */ const buttons_deprecated_deprecated = [{ supports: { align: ['center', 'left', 'right'], anchor: true }, save() { return Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); }, isEligible({ align }) { return align && ['center', 'left', 'right'].includes(align); }, migrate(attributes) { return { ...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: ./node_modules/@wordpress/block-library/build-module/buttons/transforms.js /** * WordPress dependencies */ /** * Internal dependencies */ const { name: buttons_transforms_name } = { 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", attributes: { contentJustification: { type: "string" }, orientation: { type: "string", "default": "horizontal" } }, supports: { anchor: true, align: ["wide", "full"] }, editorStyle: "wp-block-buttons-editor", style: "wp-block-buttons" }; const buttons_transforms_transforms = { from: [{ type: 'block', isMultiBlock: true, blocks: ['core/button'], transform: buttons => // Creates the buttons block Object(external_wp_blocks_["createBlock"])(buttons_transforms_name, {}, // Loop the selected buttons buttons.map(attributes => // Create singular button in the buttons block Object(external_wp_blocks_["createBlock"])('core/button', attributes))) }, { type: 'block', isMultiBlock: true, blocks: ['core/paragraph'], transform: buttons => // Creates the buttons block Object(external_wp_blocks_["createBlock"])(buttons_transforms_name, {}, // Loop the selected buttons buttons.map(attributes => { const element = Object(external_wp_richText_["__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 Object(external_wp_blocks_["createBlock"])('core/button', { text, url }); })), isMatch: paragraphs => { return paragraphs.every(attributes => { const element = Object(external_wp_richText_["__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 = (buttons_transforms_transforms); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/button.js var library_button = __webpack_require__("oMoS"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/deprecated.js /** * External dependencies */ /** * WordPress dependencies */ const migrateBorderRadius = attributes => { const { borderRadius, ...newAttributes } = attributes; if (!borderRadius && borderRadius !== 0) { return newAttributes; } return { ...newAttributes, style: { ...newAttributes.style, border: { radius: borderRadius } } }; }; 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 { ...Object(external_lodash_["omit"])(attributes, ['customTextColor', 'customBackgroundColor', 'customGradient']), style }; }; const oldColorsMigration = attributes => { return migrateCustomColorsAndGradients(Object(external_lodash_["omit"])({ ...attributes, customTextColor: attributes.textColor && '#' === attributes.textColor[0] ? attributes.textColor : undefined, customBackgroundColor: attributes.color && '#' === attributes.color[0] ? attributes.color : undefined }, ['color', 'textColor'])); }; const button_deprecated_blockAttributes = { url: { type: 'string', source: 'attribute', selector: 'a', attribute: 'href' }, title: { type: 'string', source: 'attribute', selector: 'a', attribute: 'title' }, text: { type: 'string', source: 'html', selector: 'a' } }; const button_deprecated_deprecated = [{ supports: { anchor: true, align: true, alignWide: false, color: { __experimentalSkipSerialization: true }, reusable: false, __experimentalSelector: '.wp-block-button__link' }, attributes: { ...button_deprecated_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({ attributes, className }) { const { borderRadius, linkTarget, rel, text, title, url, width } = attributes; const colorProps = Object(external_wp_blockEditor_["__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 Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ className: wrapperClasses }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "a", className: buttonClasses, href: url, title: title, style: buttonStyle, value: text, target: linkTarget, rel: rel })); }, migrate: migrateBorderRadius }, { supports: { anchor: true, align: true, alignWide: false, color: { __experimentalSkipSerialization: true }, reusable: false, __experimentalSelector: '.wp-block-button__link' }, attributes: { ...button_deprecated_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({ attributes, className }) { const { borderRadius, linkTarget, rel, text, title, url, width } = attributes; const colorProps = Object(external_wp_blockEditor_["__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 Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ className: wrapperClasses }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["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, color: { gradients: true } }, attributes: { ...button_deprecated_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({ attributes }) { 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 Object(external_wp_element_["createElement"])(external_wp_blockEditor_["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: { ...button_deprecated_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: Object(external_wp_compose_["compose"])(migrateBorderRadius, migrateCustomColorsAndGradients), save({ attributes }) { const { backgroundColor, borderRadius, customBackgroundColor, customTextColor, customGradient, linkTarget, gradient, rel, text, textColor, title, url } = attributes; const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); const backgroundClass = !customGradient && Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); const gradientClass = Object(external_wp_blockEditor_["__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 Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "a", className: buttonClasses, href: url, title: title, style: buttonStyle, value: text, target: linkTarget, rel: rel })); } }, { attributes: { ...button_deprecated_blockAttributes, align: { type: 'string', default: 'none' }, backgroundColor: { type: 'string' }, textColor: { type: 'string' }, customBackgroundColor: { type: 'string' }, customTextColor: { type: 'string' }, linkTarget: { type: 'string', source: 'attribute', selector: 'a', attribute: 'target' }, rel: { type: 'string', source: 'attribute', selector: 'a', attribute: 'rel' }, placeholder: { type: 'string' } }, isEligible(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({ attributes }) { const { backgroundColor, customBackgroundColor, customTextColor, linkTarget, rel, text, textColor, title, url } = attributes; const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); const backgroundClass = Object(external_wp_blockEditor_["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 Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "a", className: buttonClasses, href: url, title: title, style: buttonStyle, value: text, target: linkTarget, rel: rel })); } }, { attributes: { ...button_deprecated_blockAttributes, align: { type: 'string', default: 'none' }, backgroundColor: { type: 'string' }, textColor: { type: 'string' }, customBackgroundColor: { type: 'string' }, customTextColor: { type: 'string' } }, migrate: oldColorsMigration, save({ attributes }) { const { url, text, title, backgroundColor, textColor, customBackgroundColor, customTextColor } = attributes; const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); const backgroundClass = Object(external_wp_blockEditor_["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 Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "a", className: buttonClasses, href: url, title: title, style: buttonStyle, value: text })); } }, { attributes: { ...button_deprecated_blockAttributes, color: { type: 'string' }, textColor: { type: 'string' }, align: { type: 'string', default: 'none' } }, save({ attributes }) { const { url, text, title, align, color, textColor } = attributes; const buttonStyle = { backgroundColor: color, color: textColor }; const linkClass = 'wp-block-button__link'; return Object(external_wp_element_["createElement"])("div", { className: `align${align}` }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "a", className: linkClass, href: url, title: title, style: buttonStyle, value: text })); }, migrate: oldColorsMigration }, { attributes: { ...button_deprecated_blockAttributes, color: { type: 'string' }, textColor: { type: 'string' }, align: { type: 'string', default: 'none' } }, save({ attributes }) { const { url, text, title, align, color, textColor } = attributes; return Object(external_wp_element_["createElement"])("div", { className: `align${align}`, style: { backgroundColor: color } }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "a", href: url, title: title, style: { color: textColor }, value: text })); }, migrate: oldColorsMigration }]; /* harmony default export */ var button_deprecated = (button_deprecated_deprecated); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/link.js var library_link = __webpack_require__("Bpkj"); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/link-off.js var link_off = __webpack_require__("Mp0b"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/edit.js /** * External dependencies */ /** * WordPress dependencies */ const edit_NEW_TAB_REL = 'noreferrer noopener'; function WidthPanel({ selectedWidth, setAttributes }) { function handleChange(newWidth) { // Check if we are toggling the width off const width = selectedWidth === newWidth ? undefined : newWidth; // Update attributes setAttributes({ width }); } return Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Width settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["ButtonGroup"], { "aria-label": Object(external_wp_i18n_["__"])('Button width') }, [25, 50, 75, 100].map(widthValue => { return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { key: widthValue, isSmall: true, isPrimary: widthValue === selectedWidth, onClick: () => handleChange(widthValue) }, widthValue, "%"); }))); } function URLPicker({ isSelected, url, setAttributes, opensInNewTab, onToggleOpenInNewTab, anchorRef, richTextRef }) { const [isEditingURL, setIsEditingURL] = Object(external_wp_element_["useState"])(false); const isURLSet = !!url; const startEditing = event => { event.preventDefault(); setIsEditingURL(true); }; const unlink = () => { setAttributes({ url: undefined, linkTarget: undefined, rel: undefined }); setIsEditingURL(false); }; Object(external_wp_element_["useEffect"])(() => { if (!isSelected) { setIsEditingURL(false); } }, [isSelected]); const isLinkControlVisible = isSelected && (isEditingURL || isURLSet); const linkControl = isLinkControlVisible && Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { position: "bottom center", onClose: () => { var _richTextRef$current; setIsEditingURL(false); (_richTextRef$current = richTextRef.current) === null || _richTextRef$current === void 0 ? void 0 : _richTextRef$current.focus(); }, anchorRef: anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current, focusOnMount: isEditingURL ? 'firstElement' : false }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalLinkControl"], { className: "wp-block-navigation-link__inline-link-input", value: { url, opensInNewTab }, onChange: ({ url: newURL = '', opensInNewTab: newOpensInNewTab }) => { setAttributes({ url: newURL }); if (opensInNewTab !== newOpensInNewTab) { onToggleOpenInNewTab(newOpensInNewTab); } }, onRemove: () => { var _richTextRef$current2; unlink(); (_richTextRef$current2 = richTextRef.current) === null || _richTextRef$current2 === void 0 ? void 0 : _richTextRef$current2.focus(); }, forceIsEditingLink: isEditingURL })); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "block" }, !isURLSet && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { name: "link", icon: library_link["a" /* default */], title: Object(external_wp_i18n_["__"])('Link'), shortcut: external_wp_keycodes_["displayShortcut"].primary('k'), onClick: startEditing }), isURLSet && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { name: "link", icon: link_off["a" /* default */], title: Object(external_wp_i18n_["__"])('Unlink'), shortcut: external_wp_keycodes_["displayShortcut"].primaryShift('k'), onClick: unlink, isActive: true })), isSelected && Object(external_wp_element_["createElement"])(external_wp_components_["KeyboardShortcuts"], { bindGlobal: true, shortcuts: { [external_wp_keycodes_["rawShortcut"].primary('k')]: startEditing, [external_wp_keycodes_["rawShortcut"].primaryShift('k')]: () => { var _richTextRef$current3; unlink(); (_richTextRef$current3 = richTextRef.current) === null || _richTextRef$current3 === void 0 ? void 0 : _richTextRef$current3.focus(); } } }), linkControl); } 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 = Object(external_wp_element_["useCallback"])(value => { setAttributes({ rel: value }); }, [setAttributes]); const onToggleOpenInNewTab = Object(external_wp_element_["useCallback"])(value => { const newLinkTarget = value ? '_blank' : undefined; let updatedRel = rel; if (newLinkTarget && !rel) { updatedRel = edit_NEW_TAB_REL; } else if (!newLinkTarget && rel === edit_NEW_TAB_REL) { updatedRel = undefined; } setAttributes({ linkTarget: newLinkTarget, rel: updatedRel }); }, [rel, setAttributes]); const setButtonText = newText => { // Remove anchor tags from button text content. setAttributes({ text: newText.replace(/<\/?a[^>]*>/g, '') }); }; const borderRadius = style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius; const colorProps = Object(external_wp_blockEditor_["__experimentalUseColorProps"])(attributes); const ref = Object(external_wp_element_["useRef"])(); const richTextRef = Object(external_wp_element_["useRef"])(); const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ ref }); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, blockProps, { className: classnames_default()(blockProps.className, { [`has-custom-width wp-block-button__width-${width}`]: width, [`has-custom-font-size`]: blockProps.style.fontSize }) }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { ref: richTextRef, "aria-label": Object(external_wp_i18n_["__"])('Button text'), placeholder: placeholder || Object(external_wp_i18n_["__"])('Add text…'), value: text, onChange: value => setButtonText(value), withoutInteractiveFormatting: true, className: classnames_default()(className, 'wp-block-button__link', colorProps.className, { 'no-border-radius': borderRadius === 0 }), style: { borderRadius: borderRadius ? borderRadius + 'px' : undefined, ...colorProps.style }, onSplit: value => Object(external_wp_blocks_["createBlock"])('core/button', { ...attributes, text: value }), onReplace: onReplace, onMerge: mergeBlocks, identifier: "text" })), Object(external_wp_element_["createElement"])(URLPicker, { url: url, setAttributes: setAttributes, isSelected: isSelected, opensInNewTab: linkTarget === '_blank', onToggleOpenInNewTab: onToggleOpenInNewTab, anchorRef: ref, richTextRef: richTextRef }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(WidthPanel, { selectedWidth: width, setAttributes: setAttributes })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorAdvancedControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { label: Object(external_wp_i18n_["__"])('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 button_save_save({ attributes, className }) { var _style$border, _style$typography; const { fontSize, linkTarget, rel, style, text, title, url, width } = attributes; if (!text) { return null; } const borderRadius = style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius; const colorProps = Object(external_wp_blockEditor_["__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, [`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 Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ className: wrapperClasses }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "a", className: buttonClasses, href: url, title: title, style: buttonStyle, value: text, target: linkTarget, rel: rel })); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const button_metadata = { 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 }, typography: { fontSize: true, __experimentalFontFamily: true }, reusable: false, __experimentalBorder: { radius: true, __experimentalSkipSerialization: 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["a" /* default */], example: { attributes: { className: 'is-style-fill', backgroundColor: 'vivid-green-cyan', text: Object(external_wp_i18n_["__"])('Call to Action') } }, edit: button_edit, save: button_save_save, deprecated: button_deprecated, merge: (a, { text = '' }) => ({ ...a, text: (a.text || '') + text }) }; // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const ALLOWED_BLOCKS = [button_name]; const BUTTONS_TEMPLATE = [['core/button']]; const LAYOUT = { type: 'default', alignments: [] }; const VERTICAL_JUSTIFY_CONTROLS = ['left', 'center', 'right']; const HORIZONTAL_JUSTIFY_CONTROLS = ['left', 'center', 'right', 'space-between']; function ButtonsEdit({ attributes: { contentJustification, orientation }, setAttributes }) { const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ className: classnames_default()({ [`is-content-justification-${contentJustification}`]: contentJustification, 'is-vertical': orientation === 'vertical' }) }); const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])(blockProps, { allowedBlocks: ALLOWED_BLOCKS, template: BUTTONS_TEMPLATE, orientation, __experimentalLayout: LAYOUT, templateInsertUpdatesSelection: true }); const justifyControls = orientation === 'vertical' ? VERTICAL_JUSTIFY_CONTROLS : HORIZONTAL_JUSTIFY_CONTROLS; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "block" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["JustifyContentControl"], { allowedControls: justifyControls, value: contentJustification, onChange: value => setAttributes({ contentJustification: value }), popoverProps: { position: 'bottom right', isAlternate: true } })), Object(external_wp_element_["createElement"])("div", innerBlocksProps)); } /* harmony default export */ var buttons_edit = (ButtonsEdit); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/save.js /** * External dependencies */ /** * WordPress dependencies */ function buttons_save_save({ attributes: { contentJustification, orientation } }) { return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ className: classnames_default()({ [`is-content-justification-${contentJustification}`]: contentJustification, 'is-vertical': orientation === 'vertical' }) }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/variations.js /** * WordPress dependencies */ const variations_variations = [{ name: 'buttons-horizontal', isDefault: true, title: Object(external_wp_i18n_["__"])('Horizontal'), description: Object(external_wp_i18n_["__"])('Buttons shown in a row.'), attributes: { orientation: 'horizontal' }, scope: ['transform'] }, { name: 'buttons-vertical', title: Object(external_wp_i18n_["__"])('Vertical'), description: Object(external_wp_i18n_["__"])('Buttons shown in a column.'), attributes: { orientation: 'vertical' }, scope: ['transform'] }]; /* harmony default export */ var buttons_variations = (variations_variations); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const buttons_metadata = { 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", attributes: { contentJustification: { type: "string" }, orientation: { type: "string", "default": "horizontal" } }, supports: { anchor: true, align: ["wide", "full"] }, 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: Object(external_wp_i18n_["__"])('Find out more') } }, { name: 'core/button', attributes: { text: Object(external_wp_i18n_["__"])('Contact us') } }] }, deprecated: buttons_deprecated, transforms: buttons_transforms, edit: buttons_edit, save: buttons_save_save, variations: buttons_variations }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/calendar.js /** * WordPress dependencies */ const calendar = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["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); // EXTERNAL MODULE: external "moment" var external_moment_ = __webpack_require__("wy2R"); var external_moment_default = /*#__PURE__*/__webpack_require__.n(external_moment_); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/edit.js /** * External dependencies */ /** * WordPress dependencies */ const getYearMonth = memize_default()(date => { if (!date) { return {}; } const momentDate = external_moment_default()(date); return { year: momentDate.year(), month: momentDate.month() + 1 }; }); function CalendarEdit({ attributes }) { const date = Object(external_wp_data_["useSelect"])(select => { // 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'); let _date; 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; }, []); return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], null, Object(external_wp_element_["createElement"])(external_wp_serverSideRender_default.a, { block: "core/calendar", attributes: { ...attributes, ...getYearMonth(date) } }))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const calendar_metadata = { 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 }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/category.js /** * WordPress dependencies */ const category_category = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["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_category); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pin.js /** * WordPress dependencies */ const pin = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "-2 -2 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z" })); /* 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({ attributes: { displayAsDropdown, showHierarchy, showPostCounts }, setAttributes }) { const selectId = Object(external_wp_compose_["useInstanceId"])(CategoriesEdit, 'blocks-category-select'); const { categories, isRequesting } = Object(external_wp_data_["useSelect"])(select => { const { getEntityRecords } = select(external_wp_coreData_["store"]); const { isResolving } = select('core/data'); const query = { per_page: -1, hide_empty: true, context: 'view' }; return { categories: getEntityRecords('taxonomy', 'category', query), isRequesting: isResolving('core', 'getEntityRecords', ['taxonomy', 'category', query]) }; }, []); const getCategoriesList = parentId => { if (!(categories !== null && categories !== void 0 && categories.length)) { return []; } if (parentId === null) { return categories; } return categories.filter(({ parent }) => 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 ? Object(external_wp_i18n_["__"])('(Untitled)') : Object(external_lodash_["unescape"])(name).trim(); const renderCategoryList = () => { const parentId = showHierarchy ? 0 : null; const categoriesList = getCategoriesList(parentId); return Object(external_wp_element_["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 Object(external_wp_element_["createElement"])("li", { key: id }, Object(external_wp_element_["createElement"])("a", { href: link, target: "_blank", rel: "noreferrer noopener" }, renderCategoryName(name)), showPostCounts && Object(external_wp_element_["createElement"])("span", { className: "wp-block-categories__post-count" }, ` (${count})`), showHierarchy && !!childCategories.length && Object(external_wp_element_["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 Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { as: "label", htmlFor: selectId }, Object(external_wp_i18n_["__"])('Categories')), Object(external_wp_element_["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 [Object(external_wp_element_["createElement"])("option", { key: id }, Object(external_lodash_["times"])(level * 3, () => '\xa0'), renderCategoryName(name), showPostCounts && ` (${count})`), showHierarchy && !!childCategories.length && childCategories.map(childCategory => renderCategoryDropdownItem(childCategory, level + 1))]; }; return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Categories settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Display as dropdown'), checked: displayAsDropdown, onChange: toggleAttribute('displayAsDropdown') }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Show hierarchy'), checked: showHierarchy, onChange: toggleAttribute('showHierarchy') }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Show post counts'), checked: showPostCounts, onChange: toggleAttribute('showPostCounts') }))), isRequesting && Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { icon: library_pin, label: Object(external_wp_i18n_["__"])('Categories') }, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)), !isRequesting && (categories === null || categories === void 0 ? void 0 : categories.length) === 0 && Object(external_wp_element_["createElement"])("p", null, Object(external_wp_i18n_["__"])('Your site does not have any posts, so there is nothing to display here at the moment.')), !isRequesting && (categories === null || categories === void 0 ? void 0 : categories.length) > 0 && (displayAsDropdown ? renderCategoryDropdown() : renderCategoryList())); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/categories/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const categories_metadata = { 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 } }, 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 }; // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/code.js var code = __webpack_require__("1Yn1"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/edit.js /** * WordPress dependencies */ function CodeEdit({ attributes, setAttributes, onRemove }) { const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); return Object(external_wp_element_["createElement"])("pre", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { tagName: "code", value: attributes.content, onChange: content => setAttributes({ content }), onRemove: onRemove, placeholder: Object(external_wp_i18n_["__"])('Write code…'), "aria-label": Object(external_wp_i18n_["__"])('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 Object(external_lodash_["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({ attributes }) { return Object(external_wp_element_["createElement"])("pre", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["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: () => Object(external_wp_blocks_["createBlock"])('core/code') }, { type: 'block', blocks: ['core/html'], transform: ({ content }) => { return Object(external_wp_blocks_["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 = { 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 } }, style: "wp-block-code" }; const { name: code_name } = code_metadata; const code_settings = { icon: code["a" /* default */], example: { attributes: { /* eslint-disable @wordpress/i18n-no-collapsible-whitespace */ // translators: Preserve \n markers for line breaks content: Object(external_wp_i18n_["__"])('// A "block" is the abstract term used\n// to describe units of markup that\n// when composed together, form the\n// content or layout of a page.\nregisterBlockType( name, settings );') /* 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/columns.js /** * WordPress dependencies */ const columns_columns = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["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_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 deprecated_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 { ...Object(external_lodash_["omit"])(attributes, ['customTextColor', 'customBackgroundColor']), style }; }; /* harmony default export */ var columns_deprecated = ([{ attributes: { verticalAlignment: { type: 'string' }, backgroundColor: { type: 'string' }, customBackgroundColor: { type: 'string' }, customTextColor: { type: 'string' }, textColor: { type: 'string' } }, migrate: deprecated_migrateCustomColors, save({ attributes }) { const { verticalAlignment, backgroundColor, customBackgroundColor, textColor, customTextColor } = attributes; const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); const textClass = Object(external_wp_blockEditor_["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 Object(external_wp_element_["createElement"])("div", { className: className ? className : undefined, style: style }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["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 => Object(external_wp_blocks_["createBlock"])('core/column', {}, columnBlocks)); return [Object(external_lodash_["omit"])(attributes, ['columns']), migratedInnerBlocks]; }, save({ attributes }) { const { columns } = attributes; return Object(external_wp_element_["createElement"])("div", { className: `has-${columns}-columns` }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); } }, { attributes: { columns: { type: 'number', default: 2 } }, migrate(attributes, innerBlocks) { attributes = Object(external_lodash_["omit"])(attributes, ['columns']); return [attributes, innerBlocks]; }, save({ attributes }) { const { verticalAlignment, columns } = attributes; const wrapperClasses = classnames_default()(`has-${columns}-columns`, { [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment }); return Object(external_wp_element_["createElement"])("div", { className: wrapperClasses }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["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, totalBlockCount = blocks.length) { return Object(external_lodash_["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, totalBlockCount = 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, totalBlockCount = blocks.length) { const totalWidth = getTotalColumnsWidth(blocks, totalBlockCount); return Object(external_lodash_["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 => Object(external_lodash_["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, withParsing = 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({ attributes, updateAlignment, updateColumns, clientId }) { const { verticalAlignment } = attributes; const { count } = Object(external_wp_data_["useSelect"])(select => { return { count: select(external_wp_blockEditor_["store"]).getBlockCount(clientId) }; }, [clientId]); const classes = classnames_default()({ [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment }); const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ className: classes }); const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])(blockProps, { allowedBlocks: edit_ALLOWED_BLOCKS, orientation: 'horizontal', renderAppender: false }); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockVerticalAlignmentToolbar"], { onChange: updateAlignment, value: verticalAlignment })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], null, Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { label: Object(external_wp_i18n_["__"])('Columns'), value: count, onChange: value => updateColumns(count, value), min: 1, max: Math.max(6, count) }), count > 6 && Object(external_wp_element_["createElement"])(external_wp_components_["Notice"], { status: "warning", isDismissible: false }, Object(external_wp_i18n_["__"])('This column count exceeds the recommended amount and may cause visual breakage.')))), Object(external_wp_element_["createElement"])("div", innerBlocksProps)); } const ColumnsEditContainerWrapper = Object(external_wp_data_["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_["store"]); const { getBlockOrder } = registry.select(external_wp_blockEditor_["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_["store"]); const { getBlocks } = registry.select(external_wp_blockEditor_["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), ...Object(external_lodash_["times"])(newColumns - previousColumns, () => { return Object(external_wp_blocks_["createBlock"])('core/column', { width: newColumnWidth }); })]; } else if (isAddingColumn) { innerBlocks = [...innerBlocks, ...Object(external_lodash_["times"])(newColumns - previousColumns, () => { return Object(external_wp_blocks_["createBlock"])('core/column'); })]; } else { // The removed column will be the last of the inner blocks. innerBlocks = Object(external_lodash_["dropRight"])(innerBlocks, previousColumns - newColumns); if (hasExplicitWidths) { // Redistribute as if block is already removed. const widths = getRedistributedColumnWidths(innerBlocks, 100); innerBlocks = getMappedColumnWidths(innerBlocks, widths); } } replaceInnerBlocks(clientId, innerBlocks); } }))(ColumnsEditContainer); function Placeholder({ clientId, name, setAttributes }) { const { blockType, defaultVariation, variations } = Object(external_wp_data_["useSelect"])(select => { const { getBlockVariations, getBlockType, getDefaultBlockVariation } = select(external_wp_blocks_["store"]); return { blockType: getBlockType(name), defaultVariation: getDefaultBlockVariation(name, 'block'), variations: getBlockVariations(name, 'block') }; }, [name]); const { replaceInnerBlocks } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalBlockVariationPicker"], { icon: Object(external_lodash_["get"])(blockType, ['icon', 'src']), label: Object(external_lodash_["get"])(blockType, ['title']), variations: variations, onSelect: (nextVariation = defaultVariation) => { if (nextVariation.attributes) { setAttributes(nextVariation.attributes); } if (nextVariation.innerBlocks) { replaceInnerBlocks(clientId, Object(external_wp_blocks_["createBlocksFromInnerBlocksTemplate"])(nextVariation.innerBlocks), true); } }, allowSkip: true })); } const ColumnsEdit = props => { const { clientId } = props; const hasInnerBlocks = Object(external_wp_data_["useSelect"])(select => select(external_wp_blockEditor_["store"]).getBlocks(clientId).length > 0, [clientId]); const Component = hasInnerBlocks ? ColumnsEditContainerWrapper : Placeholder; return Object(external_wp_element_["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({ attributes }) { const { verticalAlignment } = attributes; const className = classnames_default()({ [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment }); return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ className }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); } // 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 columns_variations_variations = [{ name: 'one-column-full', title: Object(external_wp_i18n_["__"])('100'), description: Object(external_wp_i18n_["__"])('One column'), icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { width: "48", height: "48", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_components_["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: Object(external_wp_i18n_["__"])('50 / 50'), description: Object(external_wp_i18n_["__"])('Two columns; equal split'), icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { width: "48", height: "48", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { fillRule: "evenodd", clipRule: "evenodd", d: "M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H25V34H39ZM23 34H9V14H23V34Z" })), isDefault: true, innerBlocks: [['core/column'], ['core/column']], scope: ['block'] }, { name: 'two-columns-one-third-two-thirds', title: Object(external_wp_i18n_["__"])('30 / 70'), description: Object(external_wp_i18n_["__"])('Two columns; one-third, two-thirds split'), icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { width: "48", height: "48", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { fillRule: "evenodd", clipRule: "evenodd", d: "M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H20V34H39ZM18 34H9V14H18V34Z" })), innerBlocks: [['core/column', { width: '33.33%' }], ['core/column', { width: '66.66%' }]], scope: ['block'] }, { name: 'two-columns-two-thirds-one-third', title: Object(external_wp_i18n_["__"])('70 / 30'), description: Object(external_wp_i18n_["__"])('Two columns; two-thirds, one-third split'), icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { width: "48", height: "48", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { fillRule: "evenodd", clipRule: "evenodd", d: "M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H30V34H39ZM28 34H9V14H28V34Z" })), innerBlocks: [['core/column', { width: '66.66%' }], ['core/column', { width: '33.33%' }]], scope: ['block'] }, { name: 'three-columns-equal', title: Object(external_wp_i18n_["__"])('33 / 33 / 33'), description: Object(external_wp_i18n_["__"])('Three columns; equal split'), icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { width: "48", height: "48", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { fillRule: "evenodd", d: "M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM28.5 34h-9V14h9v20zm2 0V14H39v20h-8.5zm-13 0H9V14h8.5v20z" })), innerBlocks: [['core/column'], ['core/column'], ['core/column']], scope: ['block'] }, { name: 'three-columns-wider-center', title: Object(external_wp_i18n_["__"])('25 / 50 / 25'), description: Object(external_wp_i18n_["__"])('Three columns; wide center column'), icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { width: "48", height: "48", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { fillRule: "evenodd", d: "M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM31 34H17V14h14v20zm2 0V14h6v20h-6zm-18 0H9V14h6v20z" })), innerBlocks: [['core/column', { width: '25%' }], ['core/column', { width: '50%' }], ['core/column', { width: '25%' }]], scope: ['block'] }]; /* harmony default export */ var columns_variations = (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(({ name, attributes, innerBlocks }) => ['core/column', { width: `${columnWidth}%` }, [[name, { ...attributes }, innerBlocks]]]); return Object(external_wp_blocks_["createBlock"])('core/columns', {}, Object(external_wp_blocks_["createBlocksFromInnerBlocksTemplate"])(innerBlocksTemplate)); }, isMatch: ({ length: selectedBlocksLength }) => 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 Object(external_wp_blocks_["createBlock"])('core/columns', { align, backgroundColor, textColor, style, verticalAlignment }, Object(external_wp_blocks_["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 = { apiVersion: 2, name: "core/columns", title: "Columns", category: "design", description: "Add a block that displays content in multiple columns, then add whatever content blocks you\u2019d like.", textdomain: "default", attributes: { verticalAlignment: { type: "string" } }, supports: { anchor: true, align: ["wide", "full"], html: false, color: { gradients: true, link: 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: { innerBlocks: [{ name: 'core/column', innerBlocks: [{ name: 'core/paragraph', attributes: { /* translators: example text. */ content: Object(external_wp_i18n_["__"])('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: Object(external_wp_i18n_["__"])('Suspendisse commodo neque lacus, a dictum orci interdum et.') } }] }, { name: 'core/column', innerBlocks: [{ name: 'core/paragraph', attributes: { /* translators: example text. */ content: Object(external_wp_i18n_["__"])('Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.') } }, { name: 'core/paragraph', attributes: { /* translators: example text. */ content: Object(external_wp_i18n_["__"])('Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim.') } }] }] }, deprecated: columns_deprecated, edit: columns_edit, save: columns_save_save, transforms: columns_transforms }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/column.js /** * WordPress dependencies */ const column = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["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({ width }) { return isFinite(width); }, migrate(attributes) { return { ...attributes, width: `${attributes.width}%` }; }, save({ attributes }) { const { verticalAlignment, width } = attributes; const wrapperClasses = classnames_default()({ [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment }); const style = { flexBasis: width + '%' }; return Object(external_wp_element_["createElement"])("div", { className: wrapperClasses, style: style }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["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({ attributes: { verticalAlignment, width, templateLock = false }, setAttributes, clientId }) { const classes = classnames_default()('block-core-columns', { [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment }); const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ availableUnits: Object(external_wp_blockEditor_["useSetting"])('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'] }); const { columnsIds, hasChildBlocks, rootClientId } = Object(external_wp_data_["useSelect"])(select => { const { getBlockOrder, getBlockRootClientId } = select(external_wp_blockEditor_["store"]); const rootId = getBlockRootClientId(clientId); return { hasChildBlocks: getBlockOrder(clientId).length > 0, rootClientId: rootId, columnsIds: getBlockOrder(rootId) }; }, [clientId]); const { updateBlockAttributes } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["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 = Object(external_wp_blockEditor_["useBlockProps"])({ className: classes, style: widthWithUnit ? { flexBasis: widthWithUnit } : undefined }); const columnsCount = columnsIds.length; const currentColumnPosition = columnsIds.indexOf(clientId) + 1; const label = Object(external_wp_i18n_["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 */ Object(external_wp_i18n_["__"])('%1$s (%2$d of %3$d)'), blockProps['aria-label'], currentColumnPosition, columnsCount); const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])({ ...blockProps, 'aria-label': label }, { templateLock, renderAppender: hasChildBlocks ? undefined : external_wp_blockEditor_["InnerBlocks"].ButtonBlockAppender }); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockVerticalAlignmentToolbar"], { onChange: updateAlignment, value: verticalAlignment })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Column settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalUnitControl"], { label: Object(external_wp_i18n_["__"])('Width'), labelPosition: "edge", __unstableInputWidth: "80px", value: width || '', onChange: nextWidth => { nextWidth = 0 > parseFloat(nextWidth) ? '0' : nextWidth; setAttributes({ width: nextWidth }); }, units: units }))), Object(external_wp_element_["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({ attributes }) { const { verticalAlignment, width } = attributes; const wrapperClasses = classnames_default()({ [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment }); let style; if (width) { // Numbers are handled for backward compatibility as they can be still provided with templates. style = { flexBasis: Number.isFinite(width) ? width + '%' : width }; } return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ className: wrapperClasses, style }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const column_metadata = { 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" }, templateLock: { "enum": ["all", "insert", false] } }, supports: { anchor: true, reusable: false, html: false, color: { gradients: true, link: true }, spacing: { padding: 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/cover.js /** * WordPress dependencies */ const cover = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h6.2v8.9l2.5-3.1 2.5 3.1V4.5h2.2c.4 0 .8.4.8.8v13.4z" })); /* harmony default export */ var library_cover = (cover); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/shared.js /** * WordPress dependencies */ const POSITION_CLASSNAMES = { 'top left': 'is-position-top-left', 'top center': 'is-position-top-center', 'top right': 'is-position-top-right', 'center left': 'is-position-center-left', 'center center': 'is-position-center-center', center: 'is-position-center-center', 'center right': 'is-position-center-right', 'bottom left': 'is-position-bottom-left', 'bottom center': 'is-position-bottom-center', 'bottom right': 'is-position-bottom-right' }; const IMAGE_BACKGROUND_TYPE = 'image'; const VIDEO_BACKGROUND_TYPE = 'video'; const COVER_MIN_HEIGHT = 50; const COVER_MAX_HEIGHT = 1000; const COVER_DEFAULT_HEIGHT = 300; function backgroundImageStyles(url) { return url ? { backgroundImage: `url(${url})` } : {}; } const shared_ALLOWED_MEDIA_TYPES = ['image', 'video']; function dimRatioToClass(ratio) { return ratio === 0 || ratio === 50 || !ratio ? null : 'has-background-dim-' + 10 * Math.round(ratio / 10); } function attributesFromMedia(setAttributes) { return media => { if (!media || !media.url) { setAttributes({ url: undefined, id: undefined }); return; } if (Object(external_wp_blob_["isBlobURL"])(media.url)) { media.type = Object(external_wp_blob_["getBlobTypeByURL"])(media.url); } let mediaType; // for media selections originated from a file upload. if (media.media_type) { if (media.media_type === IMAGE_BACKGROUND_TYPE) { mediaType = IMAGE_BACKGROUND_TYPE; } else { // only images and videos are accepted so if the media_type is not an image we can assume it is a video. // Videos contain the media type of 'file' in the object returned from the rest api. mediaType = VIDEO_BACKGROUND_TYPE; } } else { // for media selections originated from existing files in the media library. if (media.type !== IMAGE_BACKGROUND_TYPE && media.type !== VIDEO_BACKGROUND_TYPE) { return; } mediaType = media.type; } setAttributes({ url: media.url, id: media.id, backgroundType: mediaType, ...(mediaType === VIDEO_BACKGROUND_TYPE ? { focalPoint: undefined, hasParallax: undefined } : {}) }); }; } /** * Checks of the contentPosition is the center (default) position. * * @param {string} contentPosition The current content position. * @return {boolean} Whether the contentPosition is center. */ function isContentPositionCenter(contentPosition) { return !contentPosition || contentPosition === 'center center' || contentPosition === 'center'; } /** * Retrieves the className for the current contentPosition. * The default position (center) will not have a className. * * @param {string} contentPosition The current content position. * @return {string} The className assigned to the contentPosition. */ function getPositionClassName(contentPosition) { /* * Only render a className if the contentPosition is not center (the default). */ if (isContentPositionCenter(contentPosition)) return ''; return POSITION_CLASSNAMES[contentPosition]; } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/deprecated.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const cover_deprecated_blockAttributes = { url: { type: 'string' }, id: { type: 'number' }, hasParallax: { type: 'boolean', default: false }, dimRatio: { type: 'number', default: 50 }, overlayColor: { type: 'string' }, customOverlayColor: { type: 'string' }, backgroundType: { type: 'string', default: 'image' }, focalPoint: { type: 'object' } }; const cover_deprecated_deprecated = [{ attributes: { ...cover_deprecated_blockAttributes, title: { type: 'string', source: 'html', selector: 'p' }, contentAlign: { type: 'string', default: 'center' }, isRepeated: { type: 'boolean', default: false }, minHeight: { type: 'number' }, minHeightUnit: { type: 'string' }, gradient: { type: 'string' }, customGradient: { type: 'string' }, contentPosition: { type: 'string' } }, supports: { align: true }, save({ attributes }) { const { backgroundType, gradient, contentPosition, customGradient, customOverlayColor, dimRatio, focalPoint, hasParallax, isRepeated, overlayColor, url, minHeight: minHeightProp, minHeightUnit } = attributes; const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); const minHeight = minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp; const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; const style = isImageBackground ? backgroundImageStyles(url) : {}; const videoStyle = {}; if (!overlayColorClass) { style.backgroundColor = customOverlayColor; } if (customGradient && !url) { style.background = customGradient; } style.minHeight = minHeight || undefined; let positionValue; if (focalPoint) { positionValue = `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%`; if (isImageBackground && !hasParallax) { style.backgroundPosition = positionValue; } if (isVideoBackground) { videoStyle.objectPosition = positionValue; } } const classes = classnames_default()(dimRatioToClass(dimRatio), overlayColorClass, { 'has-background-dim': dimRatio !== 0, 'has-parallax': hasParallax, 'is-repeated': isRepeated, 'has-background-gradient': gradient || customGradient, [gradientClass]: !url && gradientClass, 'has-custom-content-position': !isContentPositionCenter(contentPosition) }, getPositionClassName(contentPosition)); return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ className: classes, style }), url && (gradient || customGradient) && dimRatio !== 0 && Object(external_wp_element_["createElement"])("span", { "aria-hidden": "true", className: classnames_default()('wp-block-cover__gradient-background', gradientClass), style: customGradient ? { background: customGradient } : undefined }), isVideoBackground && url && Object(external_wp_element_["createElement"])("video", { className: "wp-block-cover__video-background", autoPlay: true, muted: true, loop: true, playsInline: true, src: url, style: videoStyle }), Object(external_wp_element_["createElement"])("div", { className: "wp-block-cover__inner-container" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); } }, { attributes: { ...cover_deprecated_blockAttributes, title: { type: 'string', source: 'html', selector: 'p' }, contentAlign: { type: 'string', default: 'center' }, minHeight: { type: 'number' }, gradient: { type: 'string' }, customGradient: { type: 'string' } }, supports: { align: true }, save({ attributes }) { const { backgroundType, gradient, customGradient, customOverlayColor, dimRatio, focalPoint, hasParallax, overlayColor, url, minHeight } = attributes; const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); const style = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {}; if (!overlayColorClass) { style.backgroundColor = customOverlayColor; } if (focalPoint && !hasParallax) { style.backgroundPosition = `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%`; } if (customGradient && !url) { style.background = customGradient; } style.minHeight = minHeight || undefined; const classes = classnames_default()(dimRatioToClass(dimRatio), overlayColorClass, { 'has-background-dim': dimRatio !== 0, 'has-parallax': hasParallax, 'has-background-gradient': customGradient, [gradientClass]: !url && gradientClass }); return Object(external_wp_element_["createElement"])("div", { className: classes, style: style }, url && (gradient || customGradient) && dimRatio !== 0 && Object(external_wp_element_["createElement"])("span", { "aria-hidden": "true", className: classnames_default()('wp-block-cover__gradient-background', gradientClass), style: customGradient ? { background: customGradient } : undefined }), VIDEO_BACKGROUND_TYPE === backgroundType && url && Object(external_wp_element_["createElement"])("video", { className: "wp-block-cover__video-background", autoPlay: true, muted: true, loop: true, src: url }), Object(external_wp_element_["createElement"])("div", { className: "wp-block-cover__inner-container" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); } }, { attributes: { ...cover_deprecated_blockAttributes, title: { type: 'string', source: 'html', selector: 'p' }, contentAlign: { type: 'string', default: 'center' }, minHeight: { type: 'number' }, gradient: { type: 'string' }, customGradient: { type: 'string' } }, supports: { align: true }, save({ attributes }) { const { backgroundType, gradient, customGradient, customOverlayColor, dimRatio, focalPoint, hasParallax, overlayColor, url, minHeight } = attributes; const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); const style = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {}; if (!overlayColorClass) { style.backgroundColor = customOverlayColor; } if (focalPoint && !hasParallax) { style.backgroundPosition = `${focalPoint.x * 100}% ${focalPoint.y * 100}%`; } if (customGradient && !url) { style.background = customGradient; } style.minHeight = minHeight || undefined; const classes = classnames_default()(dimRatioToClass(dimRatio), overlayColorClass, { 'has-background-dim': dimRatio !== 0, 'has-parallax': hasParallax, 'has-background-gradient': customGradient, [gradientClass]: !url && gradientClass }); return Object(external_wp_element_["createElement"])("div", { className: classes, style: style }, url && (gradient || customGradient) && dimRatio !== 0 && Object(external_wp_element_["createElement"])("span", { "aria-hidden": "true", className: classnames_default()('wp-block-cover__gradient-background', gradientClass), style: customGradient ? { background: customGradient } : undefined }), VIDEO_BACKGROUND_TYPE === backgroundType && url && Object(external_wp_element_["createElement"])("video", { className: "wp-block-cover__video-background", autoPlay: true, muted: true, loop: true, src: url }), Object(external_wp_element_["createElement"])("div", { className: "wp-block-cover__inner-container" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); } }, { attributes: { ...cover_deprecated_blockAttributes, title: { type: 'string', source: 'html', selector: 'p' }, contentAlign: { type: 'string', default: 'center' } }, supports: { align: true }, save({ attributes }) { const { backgroundType, contentAlign, customOverlayColor, dimRatio, focalPoint, hasParallax, overlayColor, title, url } = attributes; const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); const style = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {}; if (!overlayColorClass) { style.backgroundColor = customOverlayColor; } if (focalPoint && !hasParallax) { style.backgroundPosition = `${focalPoint.x * 100}% ${focalPoint.y * 100}%`; } const classes = classnames_default()(dimRatioToClass(dimRatio), overlayColorClass, { 'has-background-dim': dimRatio !== 0, 'has-parallax': hasParallax, [`has-${contentAlign}-content`]: contentAlign !== 'center' }); return Object(external_wp_element_["createElement"])("div", { className: classes, style: style }, VIDEO_BACKGROUND_TYPE === backgroundType && url && Object(external_wp_element_["createElement"])("video", { className: "wp-block-cover__video-background", autoPlay: true, muted: true, loop: true, src: url }), !external_wp_blockEditor_["RichText"].isEmpty(title) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "p", className: "wp-block-cover-text", value: title })); }, migrate(attributes) { return [Object(external_lodash_["omit"])(attributes, ['title', 'contentAlign']), [Object(external_wp_blocks_["createBlock"])('core/paragraph', { content: attributes.title, align: attributes.contentAlign, fontSize: 'large', placeholder: Object(external_wp_i18n_["__"])('Write title…') })]]; } }, { attributes: { ...cover_deprecated_blockAttributes, title: { type: 'string', source: 'html', selector: 'p' }, contentAlign: { type: 'string', default: 'center' }, align: { type: 'string' } }, supports: { className: false }, save({ attributes }) { const { url, title, hasParallax, dimRatio, align, contentAlign, overlayColor, customOverlayColor } = attributes; const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); const style = backgroundImageStyles(url); if (!overlayColorClass) { style.backgroundColor = customOverlayColor; } const classes = classnames_default()('wp-block-cover-image', dimRatioToClass(dimRatio), overlayColorClass, { 'has-background-dim': dimRatio !== 0, 'has-parallax': hasParallax, [`has-${contentAlign}-content`]: contentAlign !== 'center' }, align ? `align${align}` : null); return Object(external_wp_element_["createElement"])("div", { className: classes, style: style }, !external_wp_blockEditor_["RichText"].isEmpty(title) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "p", className: "wp-block-cover-image-text", value: title })); }, migrate(attributes) { return [Object(external_lodash_["omit"])(attributes, ['title', 'contentAlign', 'align']), [Object(external_wp_blocks_["createBlock"])('core/paragraph', { content: attributes.title, align: attributes.contentAlign, fontSize: 'large', placeholder: Object(external_wp_i18n_["__"])('Write title…') })]]; } }, { attributes: { ...cover_deprecated_blockAttributes, title: { type: 'string', source: 'html', selector: 'h2' }, align: { type: 'string' }, contentAlign: { type: 'string', default: 'center' } }, supports: { className: false }, save({ attributes }) { const { url, title, hasParallax, dimRatio, align } = attributes; const style = backgroundImageStyles(url); const classes = classnames_default()('wp-block-cover-image', dimRatioToClass(dimRatio), { 'has-background-dim': dimRatio !== 0, 'has-parallax': hasParallax }, align ? `align${align}` : null); return Object(external_wp_element_["createElement"])("section", { className: classes, style: style }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "h2", value: title })); }, migrate(attributes) { return [Object(external_lodash_["omit"])(attributes, ['title', 'contentAlign', 'align']), [Object(external_wp_blocks_["createBlock"])('core/paragraph', { content: attributes.title, align: attributes.contentAlign, fontSize: 'large', placeholder: Object(external_wp_i18n_["__"])('Write title…') })]]; } }]; /* harmony default export */ var cover_deprecated = (cover_deprecated_deprecated); // EXTERNAL MODULE: ./node_modules/fast-average-color/dist/index.js var dist = __webpack_require__("FEKF"); var dist_default = /*#__PURE__*/__webpack_require__.n(dist); // EXTERNAL MODULE: ./node_modules/tinycolor2/tinycolor.js var tinycolor = __webpack_require__("Zss7"); var tinycolor_default = /*#__PURE__*/__webpack_require__.n(tinycolor); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ /** * Module Constants */ const INNER_BLOCKS_TEMPLATE = [['core/paragraph', { align: 'center', fontSize: 'large', placeholder: Object(external_wp_i18n_["__"])('Write title…') }]]; const { __Visualizer: BoxControlVisualizer } = external_wp_components_["__experimentalBoxControl"]; function retrieveFastAverageColor() { if (!retrieveFastAverageColor.fastAverageColor) { retrieveFastAverageColor.fastAverageColor = new dist_default.a(); } return retrieveFastAverageColor.fastAverageColor; } function CoverHeightInput({ onChange, onUnitChange, unit = 'px', value = '' }) { const [temporaryInput, setTemporaryInput] = Object(external_wp_element_["useState"])(null); const instanceId = Object(external_wp_compose_["useInstanceId"])(external_wp_blockEditor_["__experimentalUnitControl"]); const inputId = `block-cover-height-input-${instanceId}`; const isPx = unit === 'px'; const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ availableUnits: Object(external_wp_blockEditor_["useSetting"])('spacing.units') || ['px', 'em', 'rem', 'vw', 'vh'], defaultValues: { px: '430', em: '20', rem: '20', vw: '20', vh: '50' } }); const handleOnChange = unprocessedValue => { const inputValue = unprocessedValue !== '' ? parseInt(unprocessedValue, 10) : undefined; if (isNaN(inputValue) && inputValue !== undefined) { setTemporaryInput(unprocessedValue); return; } setTemporaryInput(null); onChange(inputValue); if (inputValue === undefined) { onUnitChange(); } }; const handleOnBlur = () => { if (temporaryInput !== null) { setTemporaryInput(null); } }; const inputValue = temporaryInput !== null ? temporaryInput : value; const min = isPx ? COVER_MIN_HEIGHT : 0; return Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], { label: Object(external_wp_i18n_["__"])('Minimum height of cover'), id: inputId }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalUnitControl"], { id: inputId, isResetValueOnUnitChange: true, min: min, onBlur: handleOnBlur, onChange: handleOnChange, onUnitChange: onUnitChange, step: "1", style: { maxWidth: 80 }, unit: unit, units: units, value: inputValue })); } const RESIZABLE_BOX_ENABLE_OPTION = { top: false, right: false, bottom: true, left: false, topRight: false, bottomRight: false, bottomLeft: false, topLeft: false }; function ResizableCover({ className, onResizeStart, onResize, onResizeStop, ...props }) { const [isResizing, setIsResizing] = Object(external_wp_element_["useState"])(false); return Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], Object(esm_extends["a" /* default */])({ className: classnames_default()(className, { 'is-resizing': isResizing }), enable: RESIZABLE_BOX_ENABLE_OPTION, onResizeStart: (_event, _direction, elt) => { onResizeStart(elt.clientHeight); onResize(elt.clientHeight); }, onResize: (_event, _direction, elt) => { onResize(elt.clientHeight); if (!isResizing) { setIsResizing(true); } }, onResizeStop: (_event, _direction, elt) => { onResizeStop(elt.clientHeight); setIsResizing(false); }, minHeight: COVER_MIN_HEIGHT }, props)); } /** * useCoverIsDark is a hook that returns a boolean variable specifying if the cover * background is dark or not. * * @param {?string} url Url of the media background. * @param {?number} dimRatio Transparency of the overlay color. If an image and * color are set, dimRatio is used to decide what is used * for background darkness checking purposes. * @param {?string} overlayColor String containing the overlay color value if one exists. * @param {?Object} elementRef If a media background is set, elementRef should contain a reference to a * dom element that renders that media. * * @return {boolean} True if the cover background is considered "dark" and false otherwise. */ function useCoverIsDark(url, dimRatio = 50, overlayColor, elementRef) { const [isDark, setIsDark] = Object(external_wp_element_["useState"])(false); Object(external_wp_element_["useEffect"])(() => { // If opacity is lower than 50 the dominant color is the image or video color, // so use that color for the dark mode computation. if (url && dimRatio <= 50 && elementRef.current) { retrieveFastAverageColor().getColorAsync(elementRef.current, color => { setIsDark(color.isDark); }); } }, [url, url && dimRatio <= 50 && elementRef.current, setIsDark]); Object(external_wp_element_["useEffect"])(() => { // If opacity is greater than 50 the dominant color is the overlay color, // so use that color for the dark mode computation. if (dimRatio > 50 || !url) { if (!overlayColor) { // If no overlay color exists the overlay color is black (isDark ) setIsDark(true); return; } setIsDark(tinycolor_default()(overlayColor).isDark()); } }, [overlayColor, dimRatio > 50 || !url, setIsDark]); Object(external_wp_element_["useEffect"])(() => { if (!url && !overlayColor) { // Reset isDark setIsDark(false); } }, [!url && !overlayColor, setIsDark]); return isDark; } function edit_mediaPosition({ x, y }) { return `${Math.round(x * 100)}% ${Math.round(y * 100)}%`; } /** * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while * the media (image or video) is being uploaded and will not have an id allocated yet. * * @param {number} id The id of the media. * @param {string} url The url of the media. * * @return {boolean} Is the URL a Blob URL. */ const isTemporaryMedia = (id, url) => !id && Object(external_wp_blob_["isBlobURL"])(url); function CoverPlaceholder({ disableMediaButtons = false, children, noticeUI, noticeOperations, onSelectMedia }) { const { removeAllNotices, createErrorNotice } = noticeOperations; return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { icon: library_cover }), labels: { title: Object(external_wp_i18n_["__"])('Cover'), instructions: Object(external_wp_i18n_["__"])('Upload an image or video file, or pick one from your media library.') }, onSelect: onSelectMedia, accept: "image/*,video/*", allowedTypes: shared_ALLOWED_MEDIA_TYPES, notices: noticeUI, disableMediaButtons: disableMediaButtons, onError: message => { removeAllNotices(); createErrorNotice(message); } }, children); } function CoverEdit({ attributes, clientId, isSelected, noticeUI, noticeOperations, overlayColor, setAttributes, setOverlayColor, toggleSelection }) { var _styleAttribute$spaci, _styleAttribute$visua; const { contentPosition, id, backgroundType, dimRatio, focalPoint, hasParallax, isRepeated, minHeight, minHeightUnit, style: styleAttribute, url } = attributes; const { gradientClass, gradientValue, setGradient } = Object(external_wp_blockEditor_["__experimentalUseGradient"])(); const onSelectMedia = attributesFromMedia(setAttributes); const isUploadingMedia = isTemporaryMedia(id, url); const [prevMinHeightValue, setPrevMinHeightValue] = Object(external_wp_element_["useState"])(minHeight); const [prevMinHeightUnit, setPrevMinHeightUnit] = Object(external_wp_element_["useState"])(minHeightUnit); const isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100; const toggleMinFullHeight = () => { if (isMinFullHeight) { // If there aren't previous values, take the default ones. if (prevMinHeightUnit === 'vh' && prevMinHeightValue === 100) { return setAttributes({ minHeight: undefined, minHeightUnit: undefined }); } // Set the previous values of height. return setAttributes({ minHeight: prevMinHeightValue, minHeightUnit: prevMinHeightUnit }); } setPrevMinHeightValue(minHeight); setPrevMinHeightUnit(minHeightUnit); // Set full height. return setAttributes({ minHeight: 100, minHeightUnit: 'vh' }); }; const toggleParallax = () => { setAttributes({ hasParallax: !hasParallax, ...(!hasParallax ? { focalPoint: undefined } : {}) }); }; const toggleIsRepeated = () => { setAttributes({ isRepeated: !isRepeated }); }; const isDarkElement = Object(external_wp_element_["useRef"])(); const isDark = useCoverIsDark(url, dimRatio, overlayColor.color, isDarkElement); const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; const [temporaryMinHeight, setTemporaryMinHeight] = Object(external_wp_element_["useState"])(null); const minHeightWithUnit = minHeightUnit ? `${minHeight}${minHeightUnit}` : minHeight; const isImgElement = !(hasParallax || isRepeated); const style = { ...(isImageBackground && !isImgElement ? backgroundImageStyles(url) : { backgroundImage: gradientValue ? gradientValue : undefined }), backgroundColor: overlayColor.color, minHeight: temporaryMinHeight || minHeightWithUnit || undefined }; const mediaStyle = { objectPosition: focalPoint && isImgElement ? edit_mediaPosition(focalPoint) : undefined }; const hasBackground = !!(url || overlayColor.color || gradientValue); const showFocalPointPicker = isVideoBackground || isImageBackground && (!hasParallax || isRepeated); const imperativeFocalPointPreview = value => { const [styleOfRef, property] = isDarkElement.current ? [isDarkElement.current.style, 'objectPosition'] : [ref.current.style, 'backgroundPosition']; styleOfRef[property] = edit_mediaPosition(value); }; const hasInnerBlocks = Object(external_wp_data_["useSelect"])(select => select(external_wp_blockEditor_["store"]).getBlock(clientId).innerBlocks.length > 0, [clientId]); const controls = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "block" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalBlockAlignmentMatrixControl"], { label: Object(external_wp_i18n_["__"])('Change content position'), value: contentPosition, onChange: nextPosition => setAttributes({ contentPosition: nextPosition }), isDisabled: !hasInnerBlocks }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalBlockFullHeightAligmentControl"], { isActive: isMinFullHeight, onToggle: toggleMinFullHeight, isDisabled: !hasInnerBlocks })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "other" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { mediaId: id, mediaURL: url, allowedTypes: shared_ALLOWED_MEDIA_TYPES, accept: "image/*,video/*", onSelect: onSelectMedia, name: !url ? Object(external_wp_i18n_["__"])('Add Media') : Object(external_wp_i18n_["__"])('Replace') })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, !!url && Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Media settings') }, isImageBackground && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Fixed background'), checked: hasParallax, onChange: toggleParallax }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Repeated background'), checked: isRepeated, onChange: toggleIsRepeated })), showFocalPointPicker && Object(external_wp_element_["createElement"])(external_wp_components_["FocalPointPicker"], { label: Object(external_wp_i18n_["__"])('Focal point picker'), url: url, value: focalPoint, onDragStart: imperativeFocalPointPreview, onDrag: imperativeFocalPointPreview, onChange: newFocalPoint => setAttributes({ focalPoint: newFocalPoint }) }), Object(external_wp_element_["createElement"])(external_wp_components_["PanelRow"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { isSecondary: true, isSmall: true, className: "block-library-cover__reset-button", onClick: () => setAttributes({ url: undefined, id: undefined, backgroundType: undefined, dimRatio: undefined, focalPoint: undefined, hasParallax: undefined, isRepeated: undefined }) }, Object(external_wp_i18n_["__"])('Clear Media')))), Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Dimensions') }, Object(external_wp_element_["createElement"])(CoverHeightInput, { value: temporaryMinHeight || minHeight, unit: minHeightUnit, onChange: newMinHeight => setAttributes({ minHeight: newMinHeight }), onUnitChange: nextUnit => setAttributes({ minHeightUnit: nextUnit }) })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalPanelColorGradientSettings"], { title: Object(external_wp_i18n_["__"])('Overlay'), initialOpen: true, settings: [{ colorValue: overlayColor.color, gradientValue, onColorChange: setOverlayColor, onGradientChange: setGradient, label: Object(external_wp_i18n_["__"])('Color') }] }, !!url && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { label: Object(external_wp_i18n_["__"])('Opacity'), value: dimRatio, onChange: newDimRation => setAttributes({ dimRatio: newDimRation }), min: 0, max: 100, step: 10, required: true })))); const ref = Object(external_wp_element_["useRef"])(); const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ ref }); const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])({ className: 'wp-block-cover__inner-container' }, { template: INNER_BLOCKS_TEMPLATE, templateInsertUpdatesSelection: true }); if (!hasInnerBlocks && !hasBackground) { return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, controls, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, blockProps, { className: classnames_default()('is-placeholder', blockProps.className) }), Object(external_wp_element_["createElement"])(CoverPlaceholder, { noticeUI: noticeUI, onSelectMedia: onSelectMedia, noticeOperations: noticeOperations }, Object(external_wp_element_["createElement"])("div", { className: "wp-block-cover__placeholder-background-options" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["ColorPalette"], { disableCustomColors: true, value: overlayColor.color, onChange: setOverlayColor, clearable: false }))))); } const classes = classnames_default()(dimRatioToClass(dimRatio), { 'is-dark-theme': isDark, 'has-background-dim': dimRatio !== 0, 'is-transient': isUploadingMedia, 'has-parallax': hasParallax, 'is-repeated': isRepeated, [overlayColor.class]: overlayColor.class, 'has-background-gradient': gradientValue, [gradientClass]: !url && gradientClass, 'has-custom-content-position': !isContentPositionCenter(contentPosition) }, getPositionClassName(contentPosition)); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, controls, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, blockProps, { className: classnames_default()(classes, blockProps.className), style: { ...style, ...blockProps.style }, "data-url": url }), Object(external_wp_element_["createElement"])(BoxControlVisualizer, { values: styleAttribute === null || styleAttribute === void 0 ? void 0 : (_styleAttribute$spaci = styleAttribute.spacing) === null || _styleAttribute$spaci === void 0 ? void 0 : _styleAttribute$spaci.padding, showValues: styleAttribute === null || styleAttribute === void 0 ? void 0 : (_styleAttribute$visua = styleAttribute.visualizers) === null || _styleAttribute$visua === void 0 ? void 0 : _styleAttribute$visua.padding }), Object(external_wp_element_["createElement"])(ResizableCover, { className: "block-library-cover__resize-container", onResizeStart: () => { setAttributes({ minHeightUnit: 'px' }); toggleSelection(false); }, onResize: setTemporaryMinHeight, onResizeStop: newMinHeight => { toggleSelection(true); setAttributes({ minHeight: newMinHeight }); setTemporaryMinHeight(null); }, showHandle: isSelected }), url && gradientValue && dimRatio !== 0 && Object(external_wp_element_["createElement"])("span", { "aria-hidden": "true", className: classnames_default()('wp-block-cover__gradient-background', gradientClass), style: { backgroundImage: gradientValue } }), url && isImageBackground && isImgElement && Object(external_wp_element_["createElement"])("img", { ref: isDarkElement, className: "wp-block-cover__image-background", alt: "", src: url, style: mediaStyle }), url && isVideoBackground && Object(external_wp_element_["createElement"])("video", { ref: isDarkElement, className: "wp-block-cover__video-background", autoPlay: true, muted: true, loop: true, src: url, style: mediaStyle }), isUploadingMedia && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null), Object(external_wp_element_["createElement"])(CoverPlaceholder, { disableMediaButtons: true, noticeUI: noticeUI, onSelectMedia: onSelectMedia, noticeOperations: noticeOperations }), Object(external_wp_element_["createElement"])("div", innerBlocksProps))); } /* harmony default export */ var cover_edit = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withDispatch"])(dispatch => { const { toggleSelection } = dispatch(external_wp_blockEditor_["store"]); return { toggleSelection }; }), Object(external_wp_blockEditor_["withColors"])({ overlayColor: 'background-color' }), external_wp_components_["withNotices"], external_wp_compose_["withInstanceId"]])(CoverEdit)); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/save.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ function cover_save_save({ attributes }) { const { backgroundType, gradient, contentPosition, customGradient, customOverlayColor, dimRatio, focalPoint, hasParallax, isRepeated, overlayColor, url, id, minHeight: minHeightProp, minHeightUnit } = attributes; const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); const minHeight = minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp; const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; const isImgElement = !(hasParallax || isRepeated); const style = { ...(isImageBackground && !isImgElement ? backgroundImageStyles(url) : {}), backgroundColor: !overlayColorClass ? customOverlayColor : undefined, background: customGradient && !url ? customGradient : undefined, minHeight: minHeight || undefined }; const objectPosition = // prettier-ignore focalPoint && isImgElement ? `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%` : undefined; const classes = classnames_default()(dimRatioToClass(dimRatio), overlayColorClass, { 'has-background-dim': dimRatio !== 0, 'has-parallax': hasParallax, 'is-repeated': isRepeated, 'has-background-gradient': gradient || customGradient, [gradientClass]: !url && gradientClass, 'has-custom-content-position': !isContentPositionCenter(contentPosition) }, getPositionClassName(contentPosition)); return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ className: classes, style }), url && (gradient || customGradient) && dimRatio !== 0 && Object(external_wp_element_["createElement"])("span", { "aria-hidden": "true", className: classnames_default()('wp-block-cover__gradient-background', gradientClass), style: customGradient ? { background: customGradient } : undefined }), isImageBackground && isImgElement && url && Object(external_wp_element_["createElement"])("img", { className: classnames_default()('wp-block-cover__image-background', id ? `wp-image-${id}` : null), alt: "", src: url, style: { objectPosition }, "data-object-fit": "cover", "data-object-position": objectPosition }), isVideoBackground && url && Object(external_wp_element_["createElement"])("video", { className: classnames_default()('wp-block-cover__video-background', 'intrinsic-ignore'), autoPlay: true, muted: true, loop: true, playsInline: true, src: url, style: { objectPosition }, "data-object-fit": "cover", "data-object-position": objectPosition }), Object(external_wp_element_["createElement"])("div", { className: "wp-block-cover__inner-container" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/transforms.js /** * WordPress dependencies */ /** * Internal dependencies */ const cover_transforms_transforms = { from: [{ type: 'block', blocks: ['core/image'], transform: ({ caption, url, align, id, anchor, style }) => { var _style$color; return Object(external_wp_blocks_["createBlock"])('core/cover', { url, align, id, anchor, style: { color: { duotone: style === null || style === void 0 ? void 0 : (_style$color = style.color) === null || _style$color === void 0 ? void 0 : _style$color.duotone } } }, [Object(external_wp_blocks_["createBlock"])('core/paragraph', { content: caption, fontSize: 'large' })]); } }, { type: 'block', blocks: ['core/video'], transform: ({ caption, src, align, id, anchor }) => Object(external_wp_blocks_["createBlock"])('core/cover', { url: src, align, id, backgroundType: VIDEO_BACKGROUND_TYPE, anchor }, [Object(external_wp_blocks_["createBlock"])('core/paragraph', { content: caption, fontSize: 'large' })]) }, { type: 'block', blocks: ['core/group'], isMatch: ({ backgroundColor, gradient, style }) => { var _style$color2, _style$color3; /* * Make this transformation available only if the Group has background * or gradient set, because otherwise `Cover` block displays a Placeholder. * * This helps avoid arbitrary decisions about the Cover block's background * and user confusion about the existence of previous content. */ return backgroundColor || (style === null || style === void 0 ? void 0 : (_style$color2 = style.color) === null || _style$color2 === void 0 ? void 0 : _style$color2.background) || (style === null || style === void 0 ? void 0 : (_style$color3 = style.color) === null || _style$color3 === void 0 ? void 0 : _style$color3.gradient) || gradient; }, transform: ({ align, anchor, backgroundColor, gradient, style }, innerBlocks) => { var _style$color4, _style$color5; return Object(external_wp_blocks_["createBlock"])('core/cover', { align, anchor, overlayColor: backgroundColor, customOverlayColor: style === null || style === void 0 ? void 0 : (_style$color4 = style.color) === null || _style$color4 === void 0 ? void 0 : _style$color4.background, gradient, customGradient: style === null || style === void 0 ? void 0 : (_style$color5 = style.color) === null || _style$color5 === void 0 ? void 0 : _style$color5.gradient }, innerBlocks); } }], to: [{ type: 'block', blocks: ['core/image'], isMatch: ({ backgroundType, url, overlayColor, customOverlayColor, gradient, customGradient }) => { if (url) { // If a url exists the transform could happen if that URL represents an image background. return backgroundType === IMAGE_BACKGROUND_TYPE; } // If a url is not set the transform could happen if the cover has no background color or gradient; return !overlayColor && !customOverlayColor && !gradient && !customGradient; }, transform: ({ title, url, align, id, anchor, style }) => { var _style$color6; return Object(external_wp_blocks_["createBlock"])('core/image', { caption: title, url, align, id, anchor, style: { color: { duotone: style === null || style === void 0 ? void 0 : (_style$color6 = style.color) === null || _style$color6 === void 0 ? void 0 : _style$color6.duotone } } }); } }, { type: 'block', blocks: ['core/video'], isMatch: ({ backgroundType, url, overlayColor, customOverlayColor, gradient, customGradient }) => { if (url) { // If a url exists the transform could happen if that URL represents a video background. return backgroundType === VIDEO_BACKGROUND_TYPE; } // If a url is not set the transform could happen if the cover has no background color or gradient; return !overlayColor && !customOverlayColor && !gradient && !customGradient; }, transform: ({ title, url, align, id, anchor }) => Object(external_wp_blocks_["createBlock"])('core/video', { caption: title, src: url, id, align, anchor }) }] }; /* harmony default export */ var cover_transforms = (cover_transforms_transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const cover_metadata = { apiVersion: 2, name: "core/cover", title: "Cover", category: "media", description: "Add an image or video with a text overlay \u2014 great for headers.", textdomain: "default", attributes: { url: { type: "string" }, id: { type: "number" }, hasParallax: { type: "boolean", "default": false }, isRepeated: { type: "boolean", "default": false }, dimRatio: { type: "number", "default": 50 }, overlayColor: { type: "string" }, customOverlayColor: { type: "string" }, backgroundType: { type: "string", "default": "image" }, focalPoint: { type: "object" }, minHeight: { type: "number" }, minHeightUnit: { type: "string" }, gradient: { type: "string" }, customGradient: { type: "string" }, contentPosition: { type: "string" } }, supports: { anchor: true, align: true, html: false, spacing: { padding: true }, color: { __experimentalDuotone: "> .wp-block-cover__image-background, > .wp-block-cover__video-background", text: false, background: false } }, editorStyle: "wp-block-cover-editor", style: "wp-block-cover" }; const { name: cover_name } = cover_metadata; const cover_settings = { icon: library_cover, example: { attributes: { customOverlayColor: '#065174', dimRatio: 40, url: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg' }, innerBlocks: [{ name: 'core/paragraph', attributes: { customFontSize: 48, content: Object(external_wp_i18n_["__"])('Snow Patrol'), align: 'center' } }] }, transforms: cover_transforms, save: cover_save_save, edit: cover_edit, deprecated: cover_deprecated }; // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-controls.js /** * WordPress dependencies */ const EmbedControls = ({ blockSupportsResponsive, showEditButton, themeSupportsResponsive, allowResponsive, getResponsiveHelp, toggleResponsive, switchBackToURLInput }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, showEditButton && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { className: "components-toolbar__control", label: Object(external_wp_i18n_["__"])('Edit URL'), icon: library_edit["a" /* default */], onClick: switchBackToURLInput }))), themeSupportsResponsive && blockSupportsResponsive && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Media settings'), className: "blocks-responsive" }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Resize for smaller devices'), checked: allowResponsive, help: getResponsiveHelp, onChange: toggleResponsive })))); /* harmony default export */ var embed_controls = (EmbedControls); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/icons.js /** * WordPress dependencies */ const embedContentIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_components_["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-.5V9.8l4.7-5.3H19c.3 0 .5.2.5.5v14zm-6-9.5L16 12l-2.5 2.8 1.1 1L18 12l-3.5-3.5-1 1zm-3 0l-1-1L6 12l3.5 3.8 1.1-1L8 12l2.5-2.5z" })); const embedAudioIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_components_["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-.5V9.8l4.7-5.3H19c.3 0 .5.2.5.5v14zM13.2 7.7c-.4.4-.7 1.1-.7 1.9v3.7c-.4-.3-.8-.4-1.3-.4-1.2 0-2.2 1-2.2 2.2 0 1.2 1 2.2 2.2 2.2.5 0 1-.2 1.4-.5.9-.6 1.4-1.6 1.4-2.6V9.6c0-.4.1-.6.2-.8.3-.3 1-.3 1.6-.3h.2V7h-.2c-.7 0-1.8 0-2.6.7z" })); const embedPhotoIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_components_["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-2zM9.2 4.5H19c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V9.8l4.6-5.3zm9.8 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z" })); const embedVideoIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_components_["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-.5V9.8l4.7-5.3H19c.3 0 .5.2.5.5v14zM10 15l5-3-5-3v6z" })); const embedTwitterIcon = { foreground: '#1da1f2', src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["G"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "M22.23 5.924c-.736.326-1.527.547-2.357.646.847-.508 1.498-1.312 1.804-2.27-.793.47-1.67.812-2.606.996C18.325 4.498 17.258 4 16.078 4c-2.266 0-4.103 1.837-4.103 4.103 0 .322.036.635.106.935-3.41-.17-6.433-1.804-8.457-4.287-.353.607-.556 1.312-.556 2.064 0 1.424.724 2.68 1.825 3.415-.673-.022-1.305-.207-1.86-.514v.052c0 1.988 1.415 3.647 3.293 4.023-.344.095-.707.145-1.08.145-.265 0-.522-.026-.773-.074.522 1.63 2.038 2.817 3.833 2.85-1.404 1.1-3.174 1.757-5.096 1.757-.332 0-.66-.02-.98-.057 1.816 1.164 3.973 1.843 6.29 1.843 7.547 0 11.675-6.252 11.675-11.675 0-.178-.004-.355-.012-.53.802-.578 1.497-1.3 2.047-2.124z" }))) }; const embedYouTubeIcon = { foreground: '#ff0000', src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "M21.8 8s-.195-1.377-.795-1.984c-.76-.797-1.613-.8-2.004-.847-2.798-.203-6.996-.203-6.996-.203h-.01s-4.197 0-6.996.202c-.39.046-1.242.05-2.003.846C2.395 6.623 2.2 8 2.2 8S2 9.62 2 11.24v1.517c0 1.618.2 3.237.2 3.237s.195 1.378.795 1.985c.76.797 1.76.77 2.205.855 1.6.153 6.8.2 6.8.2s4.203-.005 7-.208c.392-.047 1.244-.05 2.005-.847.6-.607.795-1.985.795-1.985s.2-1.618.2-3.237v-1.517C22 9.62 21.8 8 21.8 8zM9.935 14.595v-5.62l5.403 2.82-5.403 2.8z" })) }; const embedFacebookIcon = { foreground: '#3b5998', src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "M20 3H4c-.6 0-1 .4-1 1v16c0 .5.4 1 1 1h8.6v-7h-2.3v-2.7h2.3v-2c0-2.3 1.4-3.6 3.5-3.6 1 0 1.8.1 2.1.1v2.4h-1.4c-1.1 0-1.3.5-1.3 1.3v1.7h2.7l-.4 2.8h-2.3v7H20c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1z" })) }; const embedInstagramIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["G"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "M12 4.622c2.403 0 2.688.01 3.637.052.877.04 1.354.187 1.67.31.42.163.72.358 1.036.673.315.315.51.615.673 1.035.123.317.27.794.31 1.67.043.95.052 1.235.052 3.638s-.01 2.688-.052 3.637c-.04.877-.187 1.354-.31 1.67-.163.42-.358.72-.673 1.036-.315.315-.615.51-1.035.673-.317.123-.794.27-1.67.31-.95.043-1.234.052-3.638.052s-2.688-.01-3.637-.052c-.877-.04-1.354-.187-1.67-.31-.42-.163-.72-.358-1.036-.673-.315-.315-.51-.615-.673-1.035-.123-.317-.27-.794-.31-1.67-.043-.95-.052-1.235-.052-3.638s.01-2.688.052-3.637c.04-.877.187-1.354.31-1.67.163-.42.358-.72.673-1.036.315-.315.615-.51 1.035-.673.317-.123.794-.27 1.67-.31.95-.043 1.235-.052 3.638-.052M12 3c-2.444 0-2.75.01-3.71.054s-1.613.196-2.185.418c-.592.23-1.094.538-1.594 1.04-.5.5-.807 1-1.037 1.593-.223.572-.375 1.226-.42 2.184C3.01 9.25 3 9.555 3 12s.01 2.75.054 3.71.196 1.613.418 2.186c.23.592.538 1.094 1.038 1.594s1.002.808 1.594 1.038c.572.222 1.227.375 2.185.418.96.044 1.266.054 3.71.054s2.75-.01 3.71-.054 1.613-.196 2.186-.418c.592-.23 1.094-.538 1.594-1.038s.808-1.002 1.038-1.594c.222-.572.375-1.227.418-2.185.044-.96.054-1.266.054-3.71s-.01-2.75-.054-3.71-.196-1.613-.418-2.186c-.23-.592-.538-1.094-1.038-1.594s-1.002-.808-1.594-1.038c-.572-.222-1.227-.375-2.185-.418C14.75 3.01 14.445 3 12 3zm0 4.378c-2.552 0-4.622 2.07-4.622 4.622s2.07 4.622 4.622 4.622 4.622-2.07 4.622-4.622S14.552 7.378 12 7.378zM12 15c-1.657 0-3-1.343-3-3s1.343-3 3-3 3 1.343 3 3-1.343 3-3 3zm4.804-8.884c-.596 0-1.08.484-1.08 1.08s.484 1.08 1.08 1.08c.596 0 1.08-.484 1.08-1.08s-.483-1.08-1.08-1.08z" }))); const embedWordPressIcon = { foreground: '#0073AA', src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["G"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "M12.158 12.786l-2.698 7.84c.806.236 1.657.365 2.54.365 1.047 0 2.05-.18 2.986-.51-.024-.037-.046-.078-.065-.123l-2.762-7.57zM3.008 12c0 3.56 2.07 6.634 5.068 8.092L3.788 8.342c-.5 1.117-.78 2.354-.78 3.658zm15.06-.454c0-1.112-.398-1.88-.74-2.48-.456-.74-.883-1.368-.883-2.11 0-.825.627-1.595 1.51-1.595.04 0 .078.006.116.008-1.598-1.464-3.73-2.36-6.07-2.36-3.14 0-5.904 1.613-7.512 4.053.21.008.41.012.58.012.94 0 2.395-.114 2.395-.114.484-.028.54.684.057.74 0 0-.487.058-1.03.086l3.275 9.74 1.968-5.902-1.4-3.838c-.485-.028-.944-.085-.944-.085-.486-.03-.43-.77.056-.742 0 0 1.484.114 2.368.114.94 0 2.397-.114 2.397-.114.486-.028.543.684.058.74 0 0-.488.058-1.03.086l3.25 9.665.897-2.997c.456-1.17.684-2.137.684-2.907zm1.82-3.86c.04.286.06.593.06.924 0 .912-.17 1.938-.683 3.22l-2.746 7.94c2.672-1.558 4.47-4.454 4.47-7.77 0-1.564-.4-3.033-1.1-4.314zM12 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10z" }))) }; const embedSpotifyIcon = { foreground: '#1db954', src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m4.586 14.424c-.18.295-.563.387-.857.207-2.35-1.434-5.305-1.76-8.786-.963-.335.077-.67-.133-.746-.47-.077-.334.132-.67.47-.745 3.808-.87 7.076-.496 9.712 1.115.293.18.386.563.206.857M17.81 13.7c-.226.367-.706.482-1.072.257-2.687-1.652-6.785-2.13-9.965-1.166-.413.127-.848-.106-.973-.517-.125-.413.108-.848.52-.973 3.632-1.102 8.147-.568 11.234 1.328.366.226.48.707.256 1.072m.105-2.835C14.692 8.95 9.375 8.775 6.297 9.71c-.493.15-1.016-.13-1.166-.624-.148-.495.13-1.017.625-1.167 3.532-1.073 9.404-.866 13.115 1.337.445.264.59.838.327 1.282-.264.443-.838.59-1.282.325" })) }; const embedFlickrIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "m6.5 7c-2.75 0-5 2.25-5 5s2.25 5 5 5 5-2.25 5-5-2.25-5-5-5zm11 0c-2.75 0-5 2.25-5 5s2.25 5 5 5 5-2.25 5-5-2.25-5-5-5z" })); const embedVimeoIcon = { foreground: '#1ab7ea', src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["G"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "M22.396 7.164c-.093 2.026-1.507 4.8-4.245 8.32C15.323 19.16 12.93 21 10.97 21c-1.214 0-2.24-1.12-3.08-3.36-.56-2.052-1.118-4.105-1.68-6.158-.622-2.24-1.29-3.36-2.004-3.36-.156 0-.7.328-1.634.98l-.978-1.26c1.027-.903 2.04-1.806 3.037-2.71C6 3.95 7.03 3.328 7.716 3.265c1.62-.156 2.616.95 2.99 3.32.404 2.558.685 4.148.84 4.77.468 2.12.982 3.18 1.543 3.18.435 0 1.09-.687 1.963-2.064.872-1.376 1.34-2.422 1.402-3.142.125-1.187-.343-1.782-1.4-1.782-.5 0-1.013.115-1.542.34 1.023-3.35 2.977-4.976 5.862-4.883 2.14.063 3.148 1.45 3.024 4.16z" }))) }; const embedRedditIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "M22 11.816c0-1.256-1.02-2.277-2.277-2.277-.593 0-1.122.24-1.526.613-1.48-.965-3.455-1.594-5.647-1.69l1.17-3.702 3.18.75c.01 1.027.847 1.86 1.877 1.86 1.035 0 1.877-.84 1.877-1.877 0-1.035-.842-1.877-1.877-1.877-.77 0-1.43.466-1.72 1.13L13.55 3.92c-.204-.047-.4.067-.46.26l-1.35 4.27c-2.317.037-4.412.67-5.97 1.67-.402-.355-.917-.58-1.493-.58C3.02 9.54 2 10.56 2 11.815c0 .814.433 1.523 1.078 1.925-.037.222-.06.445-.06.673 0 3.292 4.01 5.97 8.94 5.97s8.94-2.678 8.94-5.97c0-.214-.02-.424-.052-.632.687-.39 1.154-1.12 1.154-1.964zm-3.224-7.422c.606 0 1.1.493 1.1 1.1s-.493 1.1-1.1 1.1-1.1-.494-1.1-1.1.493-1.1 1.1-1.1zm-16 7.422c0-.827.673-1.5 1.5-1.5.313 0 .598.103.838.27-.85.675-1.477 1.478-1.812 2.36-.32-.274-.525-.676-.525-1.13zm9.183 7.79c-4.502 0-8.165-2.33-8.165-5.193S7.457 9.22 11.96 9.22s8.163 2.33 8.163 5.193-3.663 5.193-8.164 5.193zM20.635 13c-.326-.89-.948-1.7-1.797-2.383.247-.186.55-.3.882-.3.827 0 1.5.672 1.5 1.5 0 .482-.23.91-.586 1.184zm-11.64 1.704c-.76 0-1.397-.616-1.397-1.376 0-.76.636-1.397 1.396-1.397.76 0 1.376.638 1.376 1.398 0 .76-.616 1.376-1.376 1.376zm7.405-1.376c0 .76-.615 1.376-1.375 1.376s-1.4-.616-1.4-1.376c0-.76.64-1.397 1.4-1.397.76 0 1.376.638 1.376 1.398zm-1.17 3.38c.15.152.15.398 0 .55-.675.674-1.728 1.002-3.22 1.002l-.01-.002-.012.002c-1.492 0-2.544-.328-3.218-1.002-.152-.152-.152-.398 0-.55.152-.152.4-.15.55 0 .52.52 1.394.775 2.67.775l.01.002.01-.002c1.276 0 2.15-.253 2.67-.775.15-.152.398-.152.55 0z" })); const embedTumblrIcon = { foreground: '#35465c', src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "M19 3H5a2 2 0 00-2 2v14c0 1.1.9 2 2 2h14a2 2 0 002-2V5a2 2 0 00-2-2zm-5.69 14.66c-2.72 0-3.1-1.9-3.1-3.16v-3.56H8.49V8.99c1.7-.62 2.54-1.99 2.64-2.87 0-.06.06-.41.06-.58h1.9v3.1h2.17v2.3h-2.18v3.1c0 .47.13 1.3 1.2 1.26h1.1v2.36c-1.01.02-2.07 0-2.07 0z" })) }; const embedAmazonIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "M18.42 14.58c-.51-.66-1.05-1.23-1.05-2.5V7.87c0-1.8.15-3.45-1.2-4.68-1.05-1.02-2.79-1.35-4.14-1.35-2.6 0-5.52.96-6.12 4.14-.06.36.18.54.4.57l2.66.3c.24-.03.42-.27.48-.5.24-1.12 1.17-1.63 2.2-1.63.56 0 1.22.21 1.55.7.4.56.33 1.31.33 1.97v.36c-1.59.18-3.66.27-5.16.93a4.63 4.63 0 0 0-2.93 4.44c0 2.82 1.8 4.23 4.1 4.23 1.95 0 3.03-.45 4.53-1.98.51.72.66 1.08 1.59 1.83.18.09.45.09.63-.1v.04l2.1-1.8c.24-.21.2-.48.03-.75zm-5.4-1.2c-.45.75-1.14 1.23-1.92 1.23-1.05 0-1.65-.81-1.65-1.98 0-2.31 2.1-2.73 4.08-2.73v.6c0 1.05.03 1.92-.5 2.88z" }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "M21.69 19.2a17.62 17.62 0 0 1-21.6-1.57c-.23-.2 0-.5.28-.33a23.88 23.88 0 0 0 20.93 1.3c.45-.19.84.3.39.6z" }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "M22.8 17.96c-.36-.45-2.22-.2-3.1-.12-.23.03-.3-.18-.05-.36 1.5-1.05 3.96-.75 4.26-.39.3.36-.1 2.82-1.5 4.02-.21.18-.42.1-.3-.15.3-.8 1.02-2.58.69-3z" })); const embedAnimotoIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "m.0206909 21 19.8160091-13.07806 3.5831 6.20826z", fill: "#4bc7ee" }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "m23.7254 19.0205-10.1074-17.18468c-.6421-1.114428-1.7087-1.114428-2.3249 0l-11.2931 19.16418h22.5655c1.279 0 1.8019-.8905 1.1599-1.9795z", fill: "#d4cdcb" }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "m.0206909 21 15.2439091-16.38571 4.3029 7.32271z", fill: "#c3d82e" }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "m13.618 1.83582c-.6421-1.114428-1.7087-1.114428-2.3249 0l-11.2931 19.16418 15.2646-16.38573z", fill: "#e4ecb0" }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "m.0206909 21 19.5468091-9.063 1.6621 2.8344z", fill: "#209dbd" }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "m.0206909 21 17.9209091-11.82623 1.6259 2.76323z", fill: "#7cb3c9" })); const embedDailymotionIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "m12.1479 18.5957c-2.4949 0-4.28131-1.7558-4.28131-4.0658 0-2.2176 1.78641-4.0965 4.09651-4.0965 2.2793 0 4.0349 1.7864 4.0349 4.1581 0 2.2794-1.7556 4.0042-3.8501 4.0042zm8.3521-18.5957-4.5329 1v7c-1.1088-1.41691-2.8028-1.8787-4.8049-1.8787-2.09443 0-3.97329.76993-5.5133 2.27917-1.72483 1.66323-2.6489 3.78863-2.6489 6.16033 0 2.5873.98562 4.8049 2.89526 6.499 1.44763 1.2936 3.17251 1.9402 5.17454 1.9402 1.9713 0 3.4498-.5236 4.8973-1.9402v1.9402h4.5329c0-7.6359 0-15.3641 0-23z", fill: "#333436" })); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-loading.js /** * WordPress dependencies */ const EmbedLoading = () => Object(external_wp_element_["createElement"])("div", { className: "wp-block-embed is-loading" }, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null), Object(external_wp_element_["createElement"])("p", null, Object(external_wp_i18n_["__"])('Embedding…'))); /* harmony default export */ var embed_loading = (EmbedLoading); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-placeholder.js /** * WordPress dependencies */ const EmbedPlaceholder = ({ icon, label, value, onSubmit, onChange, cannotEmbed, fallback, tryAgain }) => { return Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { icon: icon, showColors: true }), label: label, className: "wp-block-embed", instructions: Object(external_wp_i18n_["__"])('Paste a link to the content you want to display on your site.') }, Object(external_wp_element_["createElement"])("form", { onSubmit: onSubmit }, Object(external_wp_element_["createElement"])("input", { type: "url", value: value || '', className: "components-placeholder__input", "aria-label": label, placeholder: Object(external_wp_i18n_["__"])('Enter URL to embed here…'), onChange: onChange }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { isPrimary: true, type: "submit" }, Object(external_wp_i18n_["_x"])('Embed', 'button label'))), Object(external_wp_element_["createElement"])("div", { className: "components-placeholder__learn-more" }, Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { href: Object(external_wp_i18n_["__"])('https://wordpress.org/support/article/embeds/') }, Object(external_wp_i18n_["__"])('Learn more about embeds'))), cannotEmbed && Object(external_wp_element_["createElement"])("div", { className: "components-placeholder__error" }, Object(external_wp_element_["createElement"])("div", { className: "components-placeholder__instructions" }, Object(external_wp_i18n_["__"])('Sorry, this content could not be embedded.')), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { isSecondary: true, onClick: tryAgain }, Object(external_wp_i18n_["_x"])('Try again', 'button label')), ' ', Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { isSecondary: true, onClick: fallback }, Object(external_wp_i18n_["_x"])('Convert to link', 'button label')))); }; /* harmony default export */ var embed_placeholder = (EmbedPlaceholder); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/wp-embed-preview.js /** * WordPress dependencies */ /** @typedef {import('@wordpress/element').WPSyntheticEvent} WPSyntheticEvent */ function WpEmbedPreview({ html }) { const ref = Object(external_wp_element_["useRef"])(); Object(external_wp_element_["useEffect"])(() => { const { ownerDocument } = ref.current; const { defaultView } = ownerDocument; /** * Checks for WordPress embed events signaling the height change when iframe * content loads or iframe's window is resized. The event is sent from * WordPress core via the window.postMessage API. * * References: * window.postMessage: https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage * WordPress core embed-template on load: https://github.com/WordPress/WordPress/blob/HEAD/wp-includes/js/wp-embed-template.js#L143 * WordPress core embed-template on resize: https://github.com/WordPress/WordPress/blob/HEAD/wp-includes/js/wp-embed-template.js#L187 * * @param {WPSyntheticEvent} event Message event. */ function resizeWPembeds({ data: { secret, message, value } = {} }) { if ([secret, message, value].some(attribute => !attribute) || message !== 'height') { return; } ownerDocument.querySelectorAll(`iframe[data-secret="${secret}"`).forEach(iframe => { if (+iframe.height !== value) { iframe.height = value; } }); } /** * Checks whether the wp embed iframe is the activeElement, * if it is dispatch a focus event. */ function checkFocus() { const { activeElement } = ownerDocument; if (activeElement.tagName !== 'IFRAME' || activeElement.parentNode !== ref.current) { return; } activeElement.focus(); } defaultView.addEventListener('message', resizeWPembeds); defaultView.addEventListener('blur', checkFocus); return () => { defaultView.removeEventListener('message', resizeWPembeds); defaultView.removeEventListener('blur', checkFocus); }; }, []); const __html = Object(external_wp_element_["useMemo"])(() => { const doc = new window.DOMParser().parseFromString(html, 'text/html'); const iframe = doc.querySelector('iframe'); if (iframe) { iframe.removeAttribute('style'); } const blockQuote = doc.querySelector('blockquote'); if (blockQuote) { blockQuote.style.display = 'none'; } return doc.body.innerHTML; }, [html]); return Object(external_wp_element_["createElement"])("div", { ref: ref, className: "wp-block-embed__wrapper", dangerouslySetInnerHTML: { __html } }); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-preview.js /** * Internal dependencies */ /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ class embed_preview_EmbedPreview extends external_wp_element_["Component"] { constructor() { super(...arguments); this.hideOverlay = this.hideOverlay.bind(this); this.state = { interactive: false }; } static getDerivedStateFromProps(nextProps, state) { if (!nextProps.isSelected && state.interactive) { // We only want to change this when the block is not selected, because changing it when // the block becomes selected makes the overlap disappear too early. Hiding the overlay // happens on mouseup when the overlay is clicked. return { interactive: false }; } return null; } hideOverlay() { // This is called onMouseUp on the overlay. We can't respond to the `isSelected` prop // changing, because that happens on mouse down, and the overlay immediately disappears, // and the mouse event can end up in the preview content. We can't use onClick on // the overlay to hide it either, because then the editor misses the mouseup event, and // thinks we're multi-selecting blocks. this.setState({ interactive: true }); } render() { const { preview, previewable, url, type, caption, onCaptionChange, isSelected, className, icon, label, insertBlocksAfter } = this.props; const { scripts } = preview; const { interactive } = this.state; const html = 'photo' === type ? getPhotoHtml(preview) : preview.html; const parsedHost = new URL(url).host.split('.'); const parsedHostBaseUrl = parsedHost.splice(parsedHost.length - 2, parsedHost.length - 1).join('.'); const iframeTitle = Object(external_wp_i18n_["sprintf"])( // translators: %s: host providing embed content e.g: www.youtube.com Object(external_wp_i18n_["__"])('Embedded content from %s'), parsedHostBaseUrl); const sandboxClassnames = dedupe_default()(type, className, 'wp-block-embed__wrapper'); // Disabled because the overlay div doesn't actually have a role or functionality // as far as the user is concerned. We're just catching the first click so that // the block can be selected without interacting with the embed preview that the overlay covers. /* eslint-disable jsx-a11y/no-static-element-interactions */ const embedWrapper = 'wp-embed' === type ? Object(external_wp_element_["createElement"])(WpEmbedPreview, { html: html }) : Object(external_wp_element_["createElement"])("div", { className: "wp-block-embed__wrapper" }, Object(external_wp_element_["createElement"])(external_wp_components_["SandBox"], { html: html, scripts: scripts, title: iframeTitle, type: sandboxClassnames, onFocus: this.hideOverlay }), !interactive && Object(external_wp_element_["createElement"])("div", { className: "block-library-embed__interactive-overlay", onMouseUp: this.hideOverlay })); /* eslint-enable jsx-a11y/no-static-element-interactions */ return Object(external_wp_element_["createElement"])("figure", { className: dedupe_default()(className, 'wp-block-embed', { 'is-type-video': 'video' === type }) }, previewable ? embedWrapper : Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { icon: icon, showColors: true }), label: label }, Object(external_wp_element_["createElement"])("p", { className: "components-placeholder__error" }, Object(external_wp_element_["createElement"])("a", { href: url }, url)), Object(external_wp_element_["createElement"])("p", { className: "components-placeholder__error" }, Object(external_wp_i18n_["sprintf"])( /* translators: %s: host providing embed content e.g: www.youtube.com */ Object(external_wp_i18n_["__"])("Embedded content from %s can't be previewed in the editor."), parsedHostBaseUrl))), (!external_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { tagName: "figcaption", placeholder: Object(external_wp_i18n_["__"])('Add caption'), value: caption, onChange: onCaptionChange, inlineToolbar: true, __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) })); } } /* harmony default export */ var embed_preview = (embed_preview_EmbedPreview); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/edit.js /** * Internal dependencies */ /** * External dependencies */ /** * WordPress dependencies */ function edit_getResponsiveHelp(checked) { return checked ? Object(external_wp_i18n_["__"])('This embed will preserve its aspect ratio when the browser is resized.') : Object(external_wp_i18n_["__"])('This embed may not preserve its aspect ratio when the browser is resized.'); } const EmbedEdit = props => { const { attributes: { providerNameSlug, previewable, responsive, url: attributesUrl }, attributes, isSelected, onReplace, setAttributes, insertBlocksAfter, onFocus } = props; const defaultEmbedInfo = { title: Object(external_wp_i18n_["_x"])('Embed', 'block title'), icon: embedContentIcon }; const { icon, title } = getEmbedInfoByProvider(providerNameSlug) || defaultEmbedInfo; const [url, setURL] = Object(external_wp_element_["useState"])(attributesUrl); const [isEditingURL, setIsEditingURL] = Object(external_wp_element_["useState"])(false); const { invalidateResolution } = Object(external_wp_data_["useDispatch"])('core/data'); const { preview, fetching, themeSupportsResponsive, cannotEmbed } = Object(external_wp_data_["useSelect"])(select => { var _embedPreview$data; const { getEmbedPreview, isPreviewEmbedFallback, isRequestingEmbedPreview, getThemeSupports } = select(external_wp_coreData_["store"]); if (!attributesUrl) { return { fetching: false, cannotEmbed: false }; } const embedPreview = getEmbedPreview(attributesUrl); const previewIsFallback = isPreviewEmbedFallback(attributesUrl); // The external oEmbed provider does not exist. We got no type info and no html. const badEmbedProvider = (embedPreview === null || embedPreview === void 0 ? void 0 : embedPreview.html) === false && (embedPreview === null || embedPreview === void 0 ? void 0 : embedPreview.type) === undefined; // Some WordPress URLs that can't be embedded will cause the API to return // a valid JSON response with no HTML and `data.status` set to 404, rather // than generating a fallback response as other embeds do. const wordpressCantEmbed = (embedPreview === null || embedPreview === void 0 ? void 0 : (_embedPreview$data = embedPreview.data) === null || _embedPreview$data === void 0 ? void 0 : _embedPreview$data.status) === 404; const validPreview = !!embedPreview && !badEmbedProvider && !wordpressCantEmbed; return { preview: validPreview ? embedPreview : undefined, fetching: isRequestingEmbedPreview(attributesUrl), themeSupportsResponsive: getThemeSupports()['responsive-embeds'], cannotEmbed: !validPreview || previewIsFallback }; }, [attributesUrl]); /** * @return {Object} Attributes derived from the preview, merged with the current attributes. */ const getMergedAttributes = () => { const { allowResponsive, className } = attributes; return { ...attributes, ...getAttributesFromPreview(preview, title, className, responsive, allowResponsive) }; }; const toggleResponsive = () => { const { allowResponsive, className } = attributes; const { html } = preview; const newAllowResponsive = !allowResponsive; setAttributes({ allowResponsive: newAllowResponsive, className: getClassNames(html, className, responsive && newAllowResponsive) }); }; Object(external_wp_element_["useEffect"])(() => { if (!(preview !== null && preview !== void 0 && preview.html) || !cannotEmbed || fetching) { return; } // At this stage, we're not fetching the preview and know it can't be embedded, // so try removing any trailing slash, and resubmit. const newURL = attributesUrl.replace(/\/$/, ''); setURL(newURL); setIsEditingURL(false); setAttributes({ url: newURL }); }, [preview === null || preview === void 0 ? void 0 : preview.html, attributesUrl]); // Handle incoming preview Object(external_wp_element_["useEffect"])(() => { if (preview && !isEditingURL) { // Even though we set attributes that get derived from the preview, // we don't access them directly because for the initial render, // the `setAttributes` call will not have taken effect. If we're // rendering responsive content, setting the responsive classes // after the preview has been rendered can result in unwanted // clipping or scrollbars. The `getAttributesFromPreview` function // that `getMergedAttributes` uses is memoized so that we're not // calculating them on every render. setAttributes(getMergedAttributes()); if (onReplace) { const upgradedBlock = createUpgradedEmbedBlock(props, getMergedAttributes()); if (upgradedBlock) { onReplace(upgradedBlock); } } } }, [preview, isEditingURL]); const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); if (fetching) { return Object(external_wp_element_["createElement"])(external_wp_primitives_["View"], blockProps, Object(external_wp_element_["createElement"])(embed_loading, null)); } const label = external_wp_element_["Platform"].select({ // translators: %s: type of embed e.g: "YouTube", "Twitter", etc. "Embed" is used when no specific type exists web: Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('%s URL'), title), native: title }); // No preview, or we can't embed the current URL, or we've clicked the edit button. const showEmbedPlaceholder = !preview || cannotEmbed || isEditingURL; if (showEmbedPlaceholder) { return Object(external_wp_element_["createElement"])(external_wp_primitives_["View"], blockProps, Object(external_wp_element_["createElement"])(embed_placeholder, { icon: icon, label: label, onFocus: onFocus, onSubmit: event => { if (event) { event.preventDefault(); } setIsEditingURL(false); setAttributes({ url }); }, value: url, cannotEmbed: cannotEmbed, onChange: event => setURL(event.target.value), fallback: () => util_fallback(url, onReplace), tryAgain: () => { invalidateResolution('core', 'getEmbedPreview', [url]); } })); } // Even though we set attributes that get derived from the preview, // we don't access them directly because for the initial render, // the `setAttributes` call will not have taken effect. If we're // rendering responsive content, setting the responsive classes // after the preview has been rendered can result in unwanted // clipping or scrollbars. The `getAttributesFromPreview` function // that `getMergedAttributes` uses is memoized so that we're not const { caption, type, allowResponsive, className: classFromPreview } = getMergedAttributes(); const className = classnames_default()(classFromPreview, props.className); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(embed_controls, { showEditButton: preview && !cannotEmbed, themeSupportsResponsive: themeSupportsResponsive, blockSupportsResponsive: responsive, allowResponsive: allowResponsive, getResponsiveHelp: edit_getResponsiveHelp, toggleResponsive: toggleResponsive, switchBackToURLInput: () => setIsEditingURL(true) }), Object(external_wp_element_["createElement"])(external_wp_primitives_["View"], blockProps, Object(external_wp_element_["createElement"])(embed_preview, { preview: preview, previewable: previewable, className: className, url: url, type: type, caption: caption, onCaptionChange: value => setAttributes({ caption: value }), isSelected: isSelected, icon: icon, label: label, insertBlocksAfter: insertBlocksAfter }))); }; /* harmony default export */ var embed_edit = (EmbedEdit); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/save.js /** * External dependencies */ /** * WordPress dependencies */ function embed_save_save({ attributes }) { const { url, caption, type, providerNameSlug } = attributes; if (!url) { return null; } const className = dedupe_default()('wp-block-embed', { [`is-type-${type}`]: type, [`is-provider-${providerNameSlug}`]: providerNameSlug, [`wp-block-embed-${providerNameSlug}`]: providerNameSlug }); return Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save({ className }), Object(external_wp_element_["createElement"])("div", { className: "wp-block-embed__wrapper" }, `\n${url}\n` /* URL needs to be on its own line. */ ), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", value: caption })); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/transforms.js /** * WordPress dependencies */ /** * Internal dependencies */ const transforms_metadata = { apiVersion: 2, name: "core/embed", title: "Embed", category: "embed", description: "Add a block that displays content pulled from other sites, like Twitter, Instagram 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: EMBED_BLOCK } = transforms_metadata; /** * Default transforms for generic embeds. */ const embed_transforms_transforms = { from: [{ type: 'raw', isMatch: node => { var _node$textContent, _node$textContent$mat; return node.nodeName === 'P' && /^\s*(https?:\/\/\S+)\s*$/i.test(node.textContent) && ((_node$textContent = node.textContent) === null || _node$textContent === void 0 ? void 0 : (_node$textContent$mat = _node$textContent.match(/https/gi)) === null || _node$textContent$mat === void 0 ? void 0 : _node$textContent$mat.length) === 1; }, transform: node => { return Object(external_wp_blocks_["createBlock"])(EMBED_BLOCK, { url: node.textContent.trim() }); } }], to: [{ type: 'block', blocks: ['core/paragraph'], transform: ({ url, caption }) => { const link = Object(external_wp_element_["createElement"])("a", { href: url }, caption || url); return Object(external_wp_blocks_["createBlock"])('core/paragraph', { content: Object(external_wp_element_["renderToString"])(link) }); } }] }; /* harmony default export */ var embed_transforms = (embed_transforms_transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/variations.js /** * WordPress dependencies */ /** * Internal dependencies */ /** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */ /** * Template option choices for predefined columns layouts. * * @type {WPBlockVariation[]} */ const embed_variations_variations = [{ name: 'twitter', title: 'Twitter', icon: embedTwitterIcon, keywords: ['tweet', Object(external_wp_i18n_["__"])('social')], description: Object(external_wp_i18n_["__"])('Embed a tweet.'), patterns: [/^https?:\/\/(www\.)?twitter\.com\/.+/i], attributes: { providerNameSlug: 'twitter', responsive: true } }, { name: 'youtube', title: 'YouTube', icon: embedYouTubeIcon, keywords: [Object(external_wp_i18n_["__"])('music'), Object(external_wp_i18n_["__"])('video')], description: Object(external_wp_i18n_["__"])('Embed a YouTube video.'), patterns: [/^https?:\/\/((m|www)\.)?youtube\.com\/.+/i, /^https?:\/\/youtu\.be\/.+/i], attributes: { providerNameSlug: 'youtube', responsive: true } }, { // Deprecate Facebook Embed per FB policy // See: https://developers.facebook.com/docs/plugins/oembed-legacy name: 'facebook', title: 'Facebook', icon: embedFacebookIcon, keywords: [Object(external_wp_i18n_["__"])('social')], description: Object(external_wp_i18n_["__"])('Embed a Facebook post.'), scope: ['block'], patterns: [], attributes: { providerNameSlug: 'facebook', previewable: false, responsive: true } }, { // Deprecate Instagram per FB policy // See: https://developers.facebook.com/docs/instagram/oembed-legacy name: 'instagram', title: 'Instagram', icon: embedInstagramIcon, keywords: [Object(external_wp_i18n_["__"])('image'), Object(external_wp_i18n_["__"])('social')], description: Object(external_wp_i18n_["__"])('Embed an Instagram post.'), scope: ['block'], patterns: [], attributes: { providerNameSlug: 'instagram', responsive: true } }, { name: 'wordpress', title: 'WordPress', icon: embedWordPressIcon, keywords: [Object(external_wp_i18n_["__"])('post'), Object(external_wp_i18n_["__"])('blog')], description: Object(external_wp_i18n_["__"])('Embed a WordPress post.'), attributes: { providerNameSlug: 'wordpress' } }, { name: 'soundcloud', title: 'SoundCloud', icon: embedAudioIcon, keywords: [Object(external_wp_i18n_["__"])('music'), Object(external_wp_i18n_["__"])('audio')], description: Object(external_wp_i18n_["__"])('Embed SoundCloud content.'), patterns: [/^https?:\/\/(www\.)?soundcloud\.com\/.+/i], attributes: { providerNameSlug: 'soundcloud', responsive: true } }, { name: 'spotify', title: 'Spotify', icon: embedSpotifyIcon, keywords: [Object(external_wp_i18n_["__"])('music'), Object(external_wp_i18n_["__"])('audio')], description: Object(external_wp_i18n_["__"])('Embed Spotify content.'), patterns: [/^https?:\/\/(open|play)\.spotify\.com\/.+/i], attributes: { providerNameSlug: 'spotify', responsive: true } }, { name: 'flickr', title: 'Flickr', icon: embedFlickrIcon, keywords: [Object(external_wp_i18n_["__"])('image')], description: Object(external_wp_i18n_["__"])('Embed Flickr content.'), patterns: [/^https?:\/\/(www\.)?flickr\.com\/.+/i, /^https?:\/\/flic\.kr\/.+/i], attributes: { providerNameSlug: 'flickr', responsive: true } }, { name: 'vimeo', title: 'Vimeo', icon: embedVimeoIcon, keywords: [Object(external_wp_i18n_["__"])('video')], description: Object(external_wp_i18n_["__"])('Embed a Vimeo video.'), patterns: [/^https?:\/\/(www\.)?vimeo\.com\/.+/i], attributes: { providerNameSlug: 'vimeo', responsive: true } }, { name: 'animoto', title: 'Animoto', icon: embedAnimotoIcon, description: Object(external_wp_i18n_["__"])('Embed an Animoto video.'), patterns: [/^https?:\/\/(www\.)?(animoto|video214)\.com\/.+/i], attributes: { providerNameSlug: 'animoto', responsive: true } }, { name: 'cloudup', title: 'Cloudup', icon: embedContentIcon, description: Object(external_wp_i18n_["__"])('Embed Cloudup content.'), patterns: [/^https?:\/\/cloudup\.com\/.+/i], attributes: { providerNameSlug: 'cloudup', responsive: true } }, { // Deprecated since CollegeHumor content is now powered by YouTube name: 'collegehumor', title: 'CollegeHumor', icon: embedVideoIcon, description: Object(external_wp_i18n_["__"])('Embed CollegeHumor content.'), scope: ['block'], patterns: [], attributes: { providerNameSlug: 'collegehumor', responsive: true } }, { name: 'crowdsignal', title: 'Crowdsignal', icon: embedContentIcon, keywords: ['polldaddy', Object(external_wp_i18n_["__"])('survey')], description: Object(external_wp_i18n_["__"])('Embed Crowdsignal (formerly Polldaddy) content.'), patterns: [/^https?:\/\/((.+\.)?polldaddy\.com|poll\.fm|.+\.survey\.fm)\/.+/i], attributes: { providerNameSlug: 'crowdsignal', responsive: true } }, { name: 'dailymotion', title: 'Dailymotion', icon: embedDailymotionIcon, keywords: [Object(external_wp_i18n_["__"])('video')], description: Object(external_wp_i18n_["__"])('Embed a Dailymotion video.'), patterns: [/^https?:\/\/(www\.)?dailymotion\.com\/.+/i], attributes: { providerNameSlug: 'dailymotion', responsive: true } }, { name: 'imgur', title: 'Imgur', icon: embedPhotoIcon, description: Object(external_wp_i18n_["__"])('Embed Imgur content.'), patterns: [/^https?:\/\/(.+\.)?imgur\.com\/.+/i], attributes: { providerNameSlug: 'imgur', responsive: true } }, { name: 'issuu', title: 'Issuu', icon: embedContentIcon, description: Object(external_wp_i18n_["__"])('Embed Issuu content.'), patterns: [/^https?:\/\/(www\.)?issuu\.com\/.+/i], attributes: { providerNameSlug: 'issuu', responsive: true } }, { name: 'kickstarter', title: 'Kickstarter', icon: embedContentIcon, description: Object(external_wp_i18n_["__"])('Embed Kickstarter content.'), patterns: [/^https?:\/\/(www\.)?kickstarter\.com\/.+/i, /^https?:\/\/kck\.st\/.+/i], attributes: { providerNameSlug: 'kickstarter', responsive: true } }, { name: 'meetup-com', title: 'Meetup.com', icon: embedContentIcon, description: Object(external_wp_i18n_["__"])('Embed Meetup.com content.'), patterns: [/^https?:\/\/(www\.)?meetu(\.ps|p\.com)\/.+/i], attributes: { providerNameSlug: 'meetup-com', responsive: true } }, { name: 'mixcloud', title: 'Mixcloud', icon: embedAudioIcon, keywords: [Object(external_wp_i18n_["__"])('music'), Object(external_wp_i18n_["__"])('audio')], description: Object(external_wp_i18n_["__"])('Embed Mixcloud content.'), patterns: [/^https?:\/\/(www\.)?mixcloud\.com\/.+/i], attributes: { providerNameSlug: 'mixcloud', responsive: true } }, { name: 'reddit', title: 'Reddit', icon: embedRedditIcon, description: Object(external_wp_i18n_["__"])('Embed a Reddit thread.'), patterns: [/^https?:\/\/(www\.)?reddit\.com\/.+/i], attributes: { providerNameSlug: 'reddit', responsive: true } }, { name: 'reverbnation', title: 'ReverbNation', icon: embedAudioIcon, description: Object(external_wp_i18n_["__"])('Embed ReverbNation content.'), patterns: [/^https?:\/\/(www\.)?reverbnation\.com\/.+/i], attributes: { providerNameSlug: 'reverbnation', responsive: true } }, { name: 'screencast', title: 'Screencast', icon: embedVideoIcon, description: Object(external_wp_i18n_["__"])('Embed Screencast content.'), patterns: [/^https?:\/\/(www\.)?screencast\.com\/.+/i], attributes: { providerNameSlug: 'screencast', responsive: true } }, { name: 'scribd', title: 'Scribd', icon: embedContentIcon, description: Object(external_wp_i18n_["__"])('Embed Scribd content.'), patterns: [/^https?:\/\/(www\.)?scribd\.com\/.+/i], attributes: { providerNameSlug: 'scribd', responsive: true } }, { name: 'slideshare', title: 'Slideshare', icon: embedContentIcon, description: Object(external_wp_i18n_["__"])('Embed Slideshare content.'), patterns: [/^https?:\/\/(.+?\.)?slideshare\.net\/.+/i], attributes: { providerNameSlug: 'slideshare', responsive: true } }, { name: 'smugmug', title: 'SmugMug', icon: embedPhotoIcon, description: Object(external_wp_i18n_["__"])('Embed SmugMug content.'), patterns: [/^https?:\/\/(.+\.)?smugmug\.com\/.*/i], attributes: { providerNameSlug: 'smugmug', previewable: false, responsive: true } }, { name: 'speaker-deck', title: 'Speaker Deck', icon: embedContentIcon, description: Object(external_wp_i18n_["__"])('Embed Speaker Deck content.'), patterns: [/^https?:\/\/(www\.)?speakerdeck\.com\/.+/i], attributes: { providerNameSlug: 'speaker-deck', responsive: true } }, { name: 'tiktok', title: 'TikTok', icon: embedVideoIcon, keywords: [Object(external_wp_i18n_["__"])('video')], description: Object(external_wp_i18n_["__"])('Embed a TikTok video.'), patterns: [/^https?:\/\/(www\.)?tiktok\.com\/.+/i], attributes: { providerNameSlug: 'tiktok', responsive: true } }, { name: 'ted', title: 'TED', icon: embedVideoIcon, description: Object(external_wp_i18n_["__"])('Embed a TED video.'), patterns: [/^https?:\/\/(www\.|embed\.)?ted\.com\/.+/i], attributes: { providerNameSlug: 'ted', responsive: true } }, { name: 'tumblr', title: 'Tumblr', icon: embedTumblrIcon, keywords: [Object(external_wp_i18n_["__"])('social')], description: Object(external_wp_i18n_["__"])('Embed a Tumblr post.'), patterns: [/^https?:\/\/(www\.)?tumblr\.com\/.+/i], attributes: { providerNameSlug: 'tumblr', responsive: true } }, { name: 'videopress', title: 'VideoPress', icon: embedVideoIcon, keywords: [Object(external_wp_i18n_["__"])('video')], description: Object(external_wp_i18n_["__"])('Embed a VideoPress video.'), patterns: [/^https?:\/\/videopress\.com\/.+/i], attributes: { providerNameSlug: 'videopress', responsive: true } }, { name: 'wordpress-tv', title: 'WordPress.tv', icon: embedVideoIcon, description: Object(external_wp_i18n_["__"])('Embed a WordPress.tv video.'), patterns: [/^https?:\/\/wordpress\.tv\/.+/i], attributes: { providerNameSlug: 'wordpress-tv', responsive: true } }, { name: 'amazon-kindle', title: 'Amazon Kindle', icon: embedAmazonIcon, keywords: [Object(external_wp_i18n_["__"])('ebook')], description: Object(external_wp_i18n_["__"])('Embed Amazon Kindle content.'), patterns: [/^https?:\/\/([a-z0-9-]+\.)?(amazon|amzn)(\.[a-z]{2,4})+\/.+/i, /^https?:\/\/(www\.)?(a\.co|z\.cn)\/.+/i], attributes: { providerNameSlug: 'amazon-kindle' } }]; /** * Add `isActive` function to all `embed` variations, if not defined. * `isActive` function is used to find a variation match from a created * Block by providing its attributes. */ embed_variations_variations.forEach(variation => { if (variation.isActive) return; variation.isActive = (blockAttributes, variationAttributes) => blockAttributes.providerNameSlug === variationAttributes.providerNameSlug; }); /* harmony default export */ var embed_variations = (embed_variations_variations); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/deprecated.js /** * External dependencies */ /** * Internal dependencies */ const deprecated_metadata = { apiVersion: 2, name: "core/embed", title: "Embed", category: "embed", description: "Add a block that displays content pulled from other sites, like Twitter, Instagram 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" }; /** * WordPress dependencies */ const { attributes: embed_deprecated_blockAttributes } = deprecated_metadata; const embed_deprecated_deprecated = [{ attributes: embed_deprecated_blockAttributes, save({ attributes: { url, caption, type, providerNameSlug } }) { if (!url) { return null; } const embedClassName = classnames_default()('wp-block-embed', { [`is-type-${type}`]: type, [`is-provider-${providerNameSlug}`]: providerNameSlug }); return Object(external_wp_element_["createElement"])("figure", { className: embedClassName }, `\n${url}\n` /* URL needs to be on its own line. */ , !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", value: caption })); } }]; /* harmony default export */ var embed_deprecated = (embed_deprecated_deprecated); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/index.js /** * Internal dependencies */ const embed_metadata = { apiVersion: 2, name: "core/embed", title: "Embed", category: "embed", description: "Add a block that displays content pulled from other sites, like Twitter, Instagram 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: embed_name } = embed_metadata; const embed_settings = { icon: embedContentIcon, edit: embed_edit, save: embed_save_save, transforms: embed_transforms, variations: embed_variations, deprecated: embed_deprecated }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/file.js /** * WordPress dependencies */ const file_file = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["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.5z" })); /* harmony default export */ var library_file = (file_file); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/inspector.js /** * WordPress dependencies */ /** * Internal dependencies */ function FileBlockInspector({ hrefs, openInNewWindow, showDownloadButton, changeLinkDestinationOption, changeOpenInNewWindow, changeShowDownloadButton, displayPreview, changeDisplayPreview, previewHeight, changePreviewHeight }) { const { href, textLinkHref, attachmentPage } = hrefs; let linkDestinationOptions = [{ value: href, label: Object(external_wp_i18n_["__"])('URL') }]; if (attachmentPage) { linkDestinationOptions = [{ value: href, label: Object(external_wp_i18n_["__"])('Media file') }, { value: attachmentPage, label: Object(external_wp_i18n_["__"])('Attachment page') }]; } return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, href.endsWith('.pdf') && Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('PDF settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Show inline embed'), help: displayPreview ? Object(external_wp_i18n_["__"])("Note: Most phone and tablet browsers won't display embedded PDFs.") : null, checked: !!displayPreview, onChange: changeDisplayPreview }), Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { label: Object(external_wp_i18n_["__"])('Height in pixels'), min: MIN_PREVIEW_HEIGHT, max: Math.max(MAX_PREVIEW_HEIGHT, previewHeight), value: previewHeight, onChange: changePreviewHeight })), Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Text link settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { label: Object(external_wp_i18n_["__"])('Link to'), value: textLinkHref, options: linkDestinationOptions, onChange: changeLinkDestinationOption }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Open in new tab'), checked: openInNewWindow, onChange: changeOpenInNewWindow })), Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Download button settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Show download button'), checked: showDownloadButton, onChange: changeShowDownloadButton })))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/utils.js /** * Uses a combination of user agent matching and feature detection to determine whether * the current browser supports rendering PDFs inline. * * @return {boolean} Whether or not the browser supports inline PDFs. */ const browserSupportsPdfs = () => { // Most mobile devices include "Mobi" in their UA. if (window.navigator.userAgent.indexOf('Mobi') > -1) { return false; } // Android tablets are the noteable exception. if (window.navigator.userAgent.indexOf('Android') > -1) { return false; } // iPad pretends to be a Mac. if (window.navigator.userAgent.indexOf('Macintosh') > -1 && window.navigator.maxTouchPoints && window.navigator.maxTouchPoints > 2) { return false; } // IE only supports PDFs when there's an ActiveX object available for it. if (!!(window.ActiveXObject || 'ActiveXObject' in window) && !(createActiveXObject('AcroPDF.PDF') || createActiveXObject('PDF.PdfCtrl'))) { return false; } return true; }; /** * Helper function for creating ActiveX objects, catching any errors that are thrown * when it's generated. * * @param {string} type The name of the ActiveX object to create. * @return {window.ActiveXObject|undefined} The generated ActiveXObject, or null if it failed. */ const createActiveXObject = type => { let ax; try { ax = new window.ActiveXObject(type); } catch (e) { ax = undefined; } return ax; }; /** * Hides all .wp-block-file__embed elements on the document. This function is only intended * to be run on the front-end, it may have weird side effects running in the block editor. */ const hidePdfEmbedsOnUnsupportedBrowsers = () => { if (!browserSupportsPdfs()) { const embeds = document.getElementsByClassName('wp-block-file__embed'); Array.from(embeds).forEach(embed => { embed.style.display = 'none'; }); } }; // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const MIN_PREVIEW_HEIGHT = 200; const MAX_PREVIEW_HEIGHT = 2000; function ClipboardToolbarButton({ text, disabled }) { const { createNotice } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); const ref = Object(external_wp_compose_["useCopyToClipboard"])(text, () => { createNotice('info', Object(external_wp_i18n_["__"])('Copied URL to clipboard.'), { isDismissible: true, type: 'snackbar' }); }); return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { className: "components-clipboard-toolbar-button", ref: ref, disabled: disabled }, Object(external_wp_i18n_["__"])('Copy URL')); } function FileEdit({ attributes, isSelected, setAttributes, noticeUI, noticeOperations }) { const { id, fileName, href, textLinkHref, textLinkTarget, showDownloadButton, downloadButtonText, displayPreview, previewHeight } = attributes; const [hasError, setHasError] = Object(external_wp_element_["useState"])(false); const { media, mediaUpload } = Object(external_wp_data_["useSelect"])(select => ({ media: id === undefined ? undefined : select(external_wp_coreData_["store"]).getMedia(id), mediaUpload: select(external_wp_blockEditor_["store"]).getSettings().mediaUpload }), [id]); const { toggleSelection } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); Object(external_wp_element_["useEffect"])(() => { // Upload a file drag-and-dropped into the editor if (Object(external_wp_blob_["isBlobURL"])(href)) { const file = Object(external_wp_blob_["getBlobByURL"])(href); mediaUpload({ filesList: [file], onFileChange: ([newMedia]) => onSelectFile(newMedia), onError: message => { setHasError(true); noticeOperations.createErrorNotice(message); } }); Object(external_wp_blob_["revokeBlobURL"])(href); } if (downloadButtonText === undefined) { changeDownloadButtonText(Object(external_wp_i18n_["_x"])('Download', 'button label')); } }, []); function onSelectFile(newMedia) { if (newMedia && newMedia.url) { setHasError(false); const isPdf = newMedia.url.endsWith('.pdf'); setAttributes({ href: newMedia.url, fileName: newMedia.title, textLinkHref: newMedia.url, id: newMedia.id, displayPreview: isPdf ? true : undefined, previewHeight: isPdf ? 600 : undefined }); } } function onUploadError(message) { setHasError(true); noticeOperations.removeAllNotices(); noticeOperations.createErrorNotice(message); } function changeLinkDestinationOption(newHref) { // Choose Media File or Attachment Page (when file is in Media Library) setAttributes({ textLinkHref: newHref }); } function changeOpenInNewWindow(newValue) { setAttributes({ textLinkTarget: newValue ? '_blank' : false }); } function changeShowDownloadButton(newValue) { setAttributes({ showDownloadButton: newValue }); } function changeDownloadButtonText(newValue) { // Remove anchor tags from button text content. setAttributes({ downloadButtonText: newValue.replace(/<\/?a[^>]*>/g, '') }); } function changeDisplayPreview(newValue) { setAttributes({ displayPreview: newValue }); } function handleOnResizeStop(event, direction, elt, delta) { toggleSelection(true); const newHeight = parseInt(previewHeight + delta.height, 10); setAttributes({ previewHeight: newHeight }); } function changePreviewHeight(newValue) { const newHeight = Math.max(parseInt(newValue, 10), MIN_PREVIEW_HEIGHT); setAttributes({ previewHeight: newHeight }); } const attachmentPage = media && media.link; const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ className: classnames_default()(Object(external_wp_blob_["isBlobURL"])(href) && Object(external_wp_components_["__unstableGetAnimateClassName"])({ type: 'loading' }), { 'is-transient': Object(external_wp_blob_["isBlobURL"])(href) }) }); const displayPreviewInEditor = browserSupportsPdfs() && displayPreview; if (!href || hasError) { return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { icon: library_file }), labels: { title: Object(external_wp_i18n_["__"])('File'), instructions: Object(external_wp_i18n_["__"])('Upload a file or pick one from your media library.') }, onSelect: onSelectFile, notices: noticeUI, onError: onUploadError, accept: "*" })); } return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(FileBlockInspector, { hrefs: { href, textLinkHref, attachmentPage }, openInNewWindow: !!textLinkTarget, showDownloadButton, changeLinkDestinationOption, changeOpenInNewWindow, changeShowDownloadButton, displayPreview, changeDisplayPreview, previewHeight, changePreviewHeight }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "other" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { mediaId: id, mediaURL: href, accept: "*", onSelect: onSelectFile, onError: onUploadError }), Object(external_wp_element_["createElement"])(ClipboardToolbarButton, { text: href, disabled: Object(external_wp_blob_["isBlobURL"])(href) })), Object(external_wp_element_["createElement"])("div", blockProps, displayPreviewInEditor && Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], { size: { height: previewHeight }, minHeight: MIN_PREVIEW_HEIGHT, maxHeight: MAX_PREVIEW_HEIGHT, minWidth: "100%", grid: [10, 10], enable: { top: false, right: false, bottom: true, left: false, topRight: false, bottomRight: false, bottomLeft: false, topLeft: false }, onResizeStart: () => toggleSelection(false), onResizeStop: handleOnResizeStop, showHandle: isSelected }, Object(external_wp_element_["createElement"])("object", { className: "wp-block-file__preview", data: href, type: "application/pdf", "aria-label": Object(external_wp_i18n_["__"])('Embed of the selected PDF file.') }), !isSelected && Object(external_wp_element_["createElement"])("div", { className: "wp-block-file__preview-overlay" })), Object(external_wp_element_["createElement"])("div", { className: 'wp-block-file__content-wrapper' }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { style: { display: 'inline-block' }, tagName: "a" // must be block-level or else cursor disappears , value: fileName, placeholder: Object(external_wp_i18n_["__"])('Write file name…'), withoutInteractiveFormatting: true, onChange: text => setAttributes({ fileName: text }), href: textLinkHref }), showDownloadButton && Object(external_wp_element_["createElement"])("div", { className: 'wp-block-file__button-richtext-wrapper' }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { tagName: "div" // must be block-level or else cursor disappears , "aria-label": Object(external_wp_i18n_["__"])('Download button text'), className: 'wp-block-file__button', value: downloadButtonText, withoutInteractiveFormatting: true, placeholder: Object(external_wp_i18n_["__"])('Add text…'), onChange: text => changeDownloadButtonText(text) }))))); } /* harmony default export */ var file_edit = (Object(external_wp_components_["withNotices"])(FileEdit)); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/save.js /** * WordPress dependencies */ function file_save_save({ attributes }) { const { href, fileName, textLinkHref, textLinkTarget, showDownloadButton, downloadButtonText, displayPreview, previewHeight } = attributes; const pdfEmbedLabel = external_wp_blockEditor_["RichText"].isEmpty(fileName) ? Object(external_wp_i18n_["__"])('PDF embed') : Object(external_wp_i18n_["sprintf"])( /* translators: %s: filename. */ Object(external_wp_i18n_["__"])('Embed of %s.'), fileName); return href && Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save(), displayPreview && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("object", { className: "wp-block-file__embed", data: href, type: "application/pdf", style: { width: '100%', height: `${previewHeight}px` }, "aria-label": pdfEmbedLabel })), !external_wp_blockEditor_["RichText"].isEmpty(fileName) && Object(external_wp_element_["createElement"])("a", { href: textLinkHref, target: textLinkTarget, rel: textLinkTarget ? 'noreferrer noopener' : undefined }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { value: fileName })), showDownloadButton && Object(external_wp_element_["createElement"])("a", { href: href, className: "wp-block-file__button", download: true }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { value: downloadButtonText }))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/transforms.js /** * External dependencies */ /** * WordPress dependencies */ const file_transforms_transforms = { from: [{ type: 'files', isMatch(files) { return files.length > 0; }, // We define a lower priorty (higher number) than the default of 10. This // ensures that the File block is only created as a fallback. priority: 15, transform: files => { const blocks = []; files.forEach(file => { const blobURL = Object(external_wp_blob_["createBlobURL"])(file); // File will be uploaded in componentDidMount() blocks.push(Object(external_wp_blocks_["createBlock"])('core/file', { href: blobURL, fileName: file.name, textLinkHref: blobURL })); }); return blocks; } }, { type: 'block', blocks: ['core/audio'], transform: attributes => { return Object(external_wp_blocks_["createBlock"])('core/file', { href: attributes.src, fileName: attributes.caption, textLinkHref: attributes.src, id: attributes.id, anchor: attributes.anchor }); } }, { type: 'block', blocks: ['core/video'], transform: attributes => { return Object(external_wp_blocks_["createBlock"])('core/file', { href: attributes.src, fileName: attributes.caption, textLinkHref: attributes.src, id: attributes.id, anchor: attributes.anchor }); } }, { type: 'block', blocks: ['core/image'], transform: attributes => { return Object(external_wp_blocks_["createBlock"])('core/file', { href: attributes.url, fileName: attributes.caption, textLinkHref: attributes.url, id: attributes.id, anchor: attributes.anchor }); } }], to: [{ type: 'block', blocks: ['core/audio'], isMatch: ({ id }) => { if (!id) { return false; } const { getMedia } = Object(external_wp_data_["select"])(external_wp_coreData_["store"]); const media = getMedia(id); return !!media && Object(external_lodash_["includes"])(media.mime_type, 'audio'); }, transform: attributes => { return Object(external_wp_blocks_["createBlock"])('core/audio', { src: attributes.href, caption: attributes.fileName, id: attributes.id, anchor: attributes.anchor }); } }, { type: 'block', blocks: ['core/video'], isMatch: ({ id }) => { if (!id) { return false; } const { getMedia } = Object(external_wp_data_["select"])(external_wp_coreData_["store"]); const media = getMedia(id); return !!media && Object(external_lodash_["includes"])(media.mime_type, 'video'); }, transform: attributes => { return Object(external_wp_blocks_["createBlock"])('core/video', { src: attributes.href, caption: attributes.fileName, id: attributes.id, anchor: attributes.anchor }); } }, { type: 'block', blocks: ['core/image'], isMatch: ({ id }) => { if (!id) { return false; } const { getMedia } = Object(external_wp_data_["select"])(external_wp_coreData_["store"]); const media = getMedia(id); return !!media && Object(external_lodash_["includes"])(media.mime_type, 'image'); }, transform: attributes => { return Object(external_wp_blocks_["createBlock"])('core/image', { url: attributes.href, caption: attributes.fileName, id: attributes.id, anchor: attributes.anchor }); } }] }; /* harmony default export */ var file_transforms = (file_transforms_transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const file_metadata = { apiVersion: 2, name: "core/file", title: "File", category: "media", description: "Add a link to a downloadable file.", keywords: ["document", "pdf", "download"], textdomain: "default", attributes: { id: { type: "number" }, href: { type: "string" }, fileName: { type: "string", source: "html", selector: "a:not([download])" }, textLinkHref: { type: "string", source: "attribute", selector: "a:not([download])", attribute: "href" }, textLinkTarget: { type: "string", source: "attribute", selector: "a:not([download])", attribute: "target" }, showDownloadButton: { type: "boolean", "default": true }, downloadButtonText: { type: "string", source: "html", selector: "a[download]" }, displayPreview: { type: "boolean" }, previewHeight: { type: "number", "default": 600 } }, supports: { anchor: true, align: true }, viewScript: "file:./view.min.js", editorStyle: "wp-block-file-editor", style: "wp-block-file" }; const { name: file_name } = file_metadata; const file_settings = { icon: library_file, transforms: file_transforms, edit: file_edit, save: file_save_save }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/html.js /** * WordPress dependencies */ const html_html = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M4.8 11.4H2.1V9H1v6h1.1v-2.6h2.7V15h1.1V9H4.8v2.4zm1.9-1.3h1.7V15h1.1v-4.9h1.7V9H6.7v1.1zM16.2 9l-1.5 2.7L13.3 9h-.9l-.8 6h1.1l.5-4 1.5 2.8 1.5-2.8.5 4h1.1L17 9h-.8zm3.8 5V9h-1.1v6h3.6v-1H20z" })); /* harmony default export */ var library_html = (html_html); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/html/edit.js /** * WordPress dependencies */ function HTMLEdit({ attributes, setAttributes, isSelected }) { const [isPreview, setIsPreview] = Object(external_wp_element_["useState"])(); const styles = Object(external_wp_data_["useSelect"])(select => { // Default styles used to unset some of the styles // that might be inherited from the editor style. const defaultStyles = ` html,body,:root { margin: 0 !important; padding: 0 !important; overflow: visible !important; min-height: auto !important; } `; return [defaultStyles, ...Object(external_wp_blockEditor_["transformStyles"])(select(external_wp_blockEditor_["store"]).getSettings().styles)]; }, []); function switchToPreview() { setIsPreview(true); } function switchToHTML() { setIsPreview(false); } return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])({ className: 'block-library-html__edit' }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { className: "components-tab-button", isPressed: !isPreview, onClick: switchToHTML }, Object(external_wp_element_["createElement"])("span", null, "HTML")), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { className: "components-tab-button", isPressed: isPreview, onClick: switchToPreview }, Object(external_wp_element_["createElement"])("span", null, Object(external_wp_i18n_["__"])('Preview'))))), Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"].Consumer, null, isDisabled => isPreview || isDisabled ? Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["SandBox"], { html: attributes.content, styles: styles }), !isSelected && Object(external_wp_element_["createElement"])("div", { className: "block-library-html__preview-overlay" })) : Object(external_wp_element_["createElement"])(external_wp_blockEditor_["PlainText"], { value: attributes.content, onChange: content => setAttributes({ content }), placeholder: Object(external_wp_i18n_["__"])('Write HTML…'), "aria-label": Object(external_wp_i18n_["__"])('HTML') }))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/html/save.js /** * WordPress dependencies */ function html_save_save({ attributes }) { return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, attributes.content); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/html/transforms.js /** * WordPress dependencies */ const html_transforms_transforms = { from: [{ type: 'block', blocks: ['core/code'], transform: ({ content }) => { return Object(external_wp_blocks_["createBlock"])('core/html', { content }); } }] }; /* harmony default export */ var html_transforms = (html_transforms_transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/html/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const html_metadata = { apiVersion: 2, name: "core/html", title: "Custom HTML", category: "widgets", description: "Add custom HTML code and preview it as you edit.", keywords: ["embed"], textdomain: "default", attributes: { content: { type: "string", source: "html" } }, supports: { customClassName: false, className: false, html: false }, editorStyle: "wp-block-html-editor" }; const { name: html_name } = html_metadata; const html_settings = { icon: library_html, example: { attributes: { content: '' + Object(external_wp_i18n_["__"])('Welcome to the wonderful world of blocks…') + '' } }, edit: HTMLEdit, save: html_save_save, transforms: html_transforms }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/media-and-text.js /** * WordPress dependencies */ const mediaAndText = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M3 18h8V6H3v12zM14 7.5V9h7V7.5h-7zm0 5.3h7v-1.5h-7v1.5zm0 3.7h7V15h-7v1.5z" })); /* harmony default export */ var media_and_text = (mediaAndText); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/media-container-icon.js /** * WordPress dependencies */ /* harmony default export */ var media_container_icon = (Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "M18 2l2 4h-2l-2-4h-3l2 4h-2l-2-4h-1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V2zm2 12H10V4.4L11.8 8H20z" }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "M14 20H4V10h3V8H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3h-2z" }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { d: "M5 19h8l-1.59-2H9.24l-.84 1.1L7 16.3 5 19z" }))); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/media-container.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ /** * Constants */ const media_container_ALLOWED_MEDIA_TYPES = ['image', 'video']; function imageFillStyles(url, focalPoint) { return url ? { backgroundImage: `url(${url})`, backgroundPosition: focalPoint ? `${focalPoint.x * 100}% ${focalPoint.y * 100}%` : `50% 50%` } : {}; } const ResizableBoxContainer = Object(external_wp_element_["forwardRef"])(({ isSelected, isStackedOnMobile, ...props }, ref) => { const isMobile = Object(external_wp_compose_["useViewportMatch"])('small', '<'); return Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], Object(esm_extends["a" /* default */])({ ref: ref, showHandle: isSelected && (!isMobile || !isStackedOnMobile) }, props)); }); function ToolbarEditButton({ mediaId, mediaUrl, onSelectMedia }) { return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "other" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { mediaId: mediaId, mediaURL: mediaUrl, allowedTypes: media_container_ALLOWED_MEDIA_TYPES, accept: "image/*,video/*", onSelect: onSelectMedia })); } function PlaceholderContainer({ className, noticeOperations, noticeUI, onSelectMedia }) { const onUploadError = message => { noticeOperations.removeAllNotices(); noticeOperations.createErrorNotice(message); }; return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { icon: media_container_icon }), labels: { title: Object(external_wp_i18n_["__"])('Media area') }, className: className, onSelect: onSelectMedia, accept: "image/*,video/*", allowedTypes: media_container_ALLOWED_MEDIA_TYPES, notices: noticeUI, onError: onUploadError }); } function MediaContainer(props, ref) { const { className, commitWidthChange, focalPoint, imageFill, isSelected, isStackedOnMobile, mediaAlt, mediaId, mediaPosition, mediaType, mediaUrl, mediaWidth, onSelectMedia, onWidthChange } = props; const { toggleSelection } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); if (mediaType && mediaUrl) { const onResizeStart = () => { toggleSelection(false); }; const onResize = (event, direction, elt) => { onWidthChange(parseInt(elt.style.width)); }; const onResizeStop = (event, direction, elt) => { toggleSelection(true); commitWidthChange(parseInt(elt.style.width)); }; const enablePositions = { right: mediaPosition === 'left', left: mediaPosition === 'right' }; const backgroundStyles = mediaType === 'image' && imageFill ? imageFillStyles(mediaUrl, focalPoint) : {}; const mediaTypeRenderers = { image: () => Object(external_wp_element_["createElement"])("img", { src: mediaUrl, alt: mediaAlt }), video: () => Object(external_wp_element_["createElement"])("video", { controls: true, src: mediaUrl }) }; return Object(external_wp_element_["createElement"])(ResizableBoxContainer, { as: "figure", className: classnames_default()(className, 'editor-media-container__resizer'), style: backgroundStyles, size: { width: mediaWidth + '%' }, minWidth: "10%", maxWidth: "100%", enable: enablePositions, onResizeStart: onResizeStart, onResize: onResize, onResizeStop: onResizeStop, axis: "x", isSelected: isSelected, isStackedOnMobile: isStackedOnMobile, ref: ref }, Object(external_wp_element_["createElement"])(ToolbarEditButton, { onSelectMedia: onSelectMedia, mediaUrl: mediaUrl, mediaId: mediaId }), (mediaTypeRenderers[mediaType] || external_lodash_["noop"])()); } return Object(external_wp_element_["createElement"])(PlaceholderContainer, props); } /* harmony default export */ var media_container = (Object(external_wp_components_["withNotices"])(Object(external_wp_element_["forwardRef"])(MediaContainer))); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/deprecated.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const DEFAULT_MEDIA_WIDTH = 50; const media_text_deprecated_migrateCustomColors = attributes => { if (!attributes.customBackgroundColor) { return attributes; } const style = { color: { background: attributes.customBackgroundColor } }; return { ...Object(external_lodash_["omit"])(attributes, ['customBackgroundColor']), style }; }; const baseAttributes = { align: { type: 'string', default: 'wide' }, backgroundColor: { type: 'string' }, mediaAlt: { type: 'string', source: 'attribute', selector: 'figure img', attribute: 'alt', default: '' }, mediaPosition: { type: 'string', default: 'left' }, mediaId: { type: 'number' }, mediaType: { type: 'string' }, mediaWidth: { type: 'number', default: 50 }, isStackedOnMobile: { type: 'boolean', default: true } }; /* harmony default export */ var media_text_deprecated = ([{ attributes: { ...baseAttributes, customBackgroundColor: { type: 'string' }, mediaLink: { type: 'string' }, linkDestination: { type: 'string' }, linkTarget: { type: 'string', source: 'attribute', selector: 'figure a', attribute: 'target' }, href: { type: 'string', source: 'attribute', selector: 'figure a', attribute: 'href' }, rel: { type: 'string', source: 'attribute', selector: 'figure a', attribute: 'rel' }, linkClass: { type: 'string', source: 'attribute', selector: 'figure a', attribute: 'class' }, verticalAlignment: { type: 'string' }, imageFill: { type: 'boolean' }, focalPoint: { type: 'object' } }, migrate: media_text_deprecated_migrateCustomColors, save({ attributes }) { const { backgroundColor, customBackgroundColor, isStackedOnMobile, mediaAlt, mediaPosition, mediaType, mediaUrl, mediaWidth, mediaId, verticalAlignment, imageFill, focalPoint, linkClass, href, linkTarget, rel } = attributes; const newRel = Object(external_lodash_["isEmpty"])(rel) ? undefined : rel; let image = Object(external_wp_element_["createElement"])("img", { src: mediaUrl, alt: mediaAlt, className: mediaId && mediaType === 'image' ? `wp-image-${mediaId}` : null }); if (href) { image = Object(external_wp_element_["createElement"])("a", { className: linkClass, href: href, target: linkTarget, rel: newRel }, image); } const mediaTypeRenders = { image: () => image, video: () => Object(external_wp_element_["createElement"])("video", { controls: true, src: mediaUrl }) }; const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); const className = classnames_default()({ 'has-media-on-the-right': 'right' === mediaPosition, 'has-background': backgroundClass || customBackgroundColor, [backgroundClass]: backgroundClass, 'is-stacked-on-mobile': isStackedOnMobile, [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment, 'is-image-fill': imageFill }); const backgroundStyles = imageFill ? imageFillStyles(mediaUrl, focalPoint) : {}; let gridTemplateColumns; if (mediaWidth !== DEFAULT_MEDIA_WIDTH) { gridTemplateColumns = 'right' === mediaPosition ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`; } const style = { backgroundColor: backgroundClass ? undefined : customBackgroundColor, gridTemplateColumns }; return Object(external_wp_element_["createElement"])("div", { className: className, style: style }, Object(external_wp_element_["createElement"])("figure", { className: "wp-block-media-text__media", style: backgroundStyles }, (mediaTypeRenders[mediaType] || external_lodash_["noop"])()), Object(external_wp_element_["createElement"])("div", { className: "wp-block-media-text__content" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); } }, { attributes: { ...baseAttributes, customBackgroundColor: { type: 'string' }, mediaUrl: { type: 'string', source: 'attribute', selector: 'figure video,figure img', attribute: 'src' }, verticalAlignment: { type: 'string' }, imageFill: { type: 'boolean' }, focalPoint: { type: 'object' } }, migrate: media_text_deprecated_migrateCustomColors, save({ attributes }) { const { backgroundColor, customBackgroundColor, isStackedOnMobile, mediaAlt, mediaPosition, mediaType, mediaUrl, mediaWidth, mediaId, verticalAlignment, imageFill, focalPoint } = attributes; const mediaTypeRenders = { image: () => Object(external_wp_element_["createElement"])("img", { src: mediaUrl, alt: mediaAlt, className: mediaId && mediaType === 'image' ? `wp-image-${mediaId}` : null }), video: () => Object(external_wp_element_["createElement"])("video", { controls: true, src: mediaUrl }) }; const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); const className = classnames_default()({ 'has-media-on-the-right': 'right' === mediaPosition, [backgroundClass]: backgroundClass, 'is-stacked-on-mobile': isStackedOnMobile, [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment, 'is-image-fill': imageFill }); const backgroundStyles = imageFill ? imageFillStyles(mediaUrl, focalPoint) : {}; let gridTemplateColumns; if (mediaWidth !== DEFAULT_MEDIA_WIDTH) { gridTemplateColumns = 'right' === mediaPosition ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`; } const style = { backgroundColor: backgroundClass ? undefined : customBackgroundColor, gridTemplateColumns }; return Object(external_wp_element_["createElement"])("div", { className: className, style: style }, Object(external_wp_element_["createElement"])("figure", { className: "wp-block-media-text__media", style: backgroundStyles }, (mediaTypeRenders[mediaType] || external_lodash_["noop"])()), Object(external_wp_element_["createElement"])("div", { className: "wp-block-media-text__content" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); } }, { attributes: { ...baseAttributes, customBackgroundColor: { type: 'string' }, mediaUrl: { type: 'string', source: 'attribute', selector: 'figure video,figure img', attribute: 'src' } }, save({ attributes }) { const { backgroundColor, customBackgroundColor, isStackedOnMobile, mediaAlt, mediaPosition, mediaType, mediaUrl, mediaWidth } = attributes; const mediaTypeRenders = { image: () => Object(external_wp_element_["createElement"])("img", { src: mediaUrl, alt: mediaAlt }), video: () => Object(external_wp_element_["createElement"])("video", { controls: true, src: mediaUrl }) }; const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); const className = classnames_default()({ 'has-media-on-the-right': 'right' === mediaPosition, [backgroundClass]: backgroundClass, 'is-stacked-on-mobile': isStackedOnMobile }); let gridTemplateColumns; if (mediaWidth !== DEFAULT_MEDIA_WIDTH) { gridTemplateColumns = 'right' === mediaPosition ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`; } const style = { backgroundColor: backgroundClass ? undefined : customBackgroundColor, gridTemplateColumns }; return Object(external_wp_element_["createElement"])("div", { className: className, style: style }, Object(external_wp_element_["createElement"])("figure", { className: "wp-block-media-text__media" }, (mediaTypeRenders[mediaType] || external_lodash_["noop"])()), Object(external_wp_element_["createElement"])("div", { className: "wp-block-media-text__content" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); } }]); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pull-left.js /** * WordPress dependencies */ const pullLeft = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M4 18h6V6H4v12zm9-9.5V10h7V8.5h-7zm0 7h7V14h-7v1.5z" })); /* harmony default export */ var pull_left = (pullLeft); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pull-right.js /** * WordPress dependencies */ const pullRight = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M14 6v12h6V6h-6zM4 10h7V8.5H4V10zm0 5.5h7V14H4v1.5z" })); /* harmony default export */ var pull_right = (pullRight); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/constants.js const DEFAULT_MEDIA_SIZE_SLUG = 'full'; // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ /** * Constants */ const TEMPLATE = [['core/paragraph', { fontSize: 'large', placeholder: Object(external_wp_i18n_["_x"])('Content…', 'content placeholder') }]]; // this limits the resize to a safe zone to avoid making broken layouts const WIDTH_CONSTRAINT_PERCENTAGE = 15; const applyWidthConstraints = width => Math.max(WIDTH_CONSTRAINT_PERCENTAGE, Math.min(width, 100 - WIDTH_CONSTRAINT_PERCENTAGE)); const edit_LINK_DESTINATION_MEDIA = 'media'; const edit_LINK_DESTINATION_ATTACHMENT = 'attachment'; function getImageSourceUrlBySizeSlug(image, slug) { var _image$media_details, _image$media_details$, _image$media_details$2; // eslint-disable-next-line camelcase return image === null || image === void 0 ? void 0 : (_image$media_details = image.media_details) === null || _image$media_details === void 0 ? void 0 : (_image$media_details$ = _image$media_details.sizes) === null || _image$media_details$ === void 0 ? void 0 : (_image$media_details$2 = _image$media_details$[slug]) === null || _image$media_details$2 === void 0 ? void 0 : _image$media_details$2.source_url; } function edit_attributesFromMedia({ attributes: { linkDestination, href }, setAttributes }) { return media => { let mediaType; let src; // for media selections originated from a file upload. if (media.media_type) { if (media.media_type === 'image') { mediaType = 'image'; } else { // only images and videos are accepted so if the media_type is not an image we can assume it is a video. // video contain the media type of 'file' in the object returned from the rest api. mediaType = 'video'; } } else { // for media selections originated from existing files in the media library. mediaType = media.type; } if (mediaType === 'image') { var _media$sizes, _media$sizes$large, _media$media_details, _media$media_details$, _media$media_details$2; // Try the "large" size URL, falling back to the "full" size URL below. src = ((_media$sizes = media.sizes) === null || _media$sizes === void 0 ? void 0 : (_media$sizes$large = _media$sizes.large) === null || _media$sizes$large === void 0 ? void 0 : _media$sizes$large.url) || ( // eslint-disable-next-line camelcase (_media$media_details = media.media_details) === null || _media$media_details === void 0 ? void 0 : (_media$media_details$ = _media$media_details.sizes) === null || _media$media_details$ === void 0 ? void 0 : (_media$media_details$2 = _media$media_details$.large) === null || _media$media_details$2 === void 0 ? void 0 : _media$media_details$2.source_url); } let newHref = href; if (linkDestination === edit_LINK_DESTINATION_MEDIA) { // Update the media link. newHref = media.url; } // Check if the image is linked to the attachment page. if (linkDestination === edit_LINK_DESTINATION_ATTACHMENT) { // Update the media link. newHref = media.link; } setAttributes({ mediaAlt: media.alt, mediaId: media.id, mediaType, mediaUrl: src || media.url, mediaLink: media.link || undefined, href: newHref, focalPoint: undefined }); }; } function MediaTextEdit({ attributes, isSelected, setAttributes }) { const { focalPoint, href, imageFill, isStackedOnMobile, linkClass, linkDestination, linkTarget, mediaAlt, mediaId, mediaPosition, mediaType, mediaUrl, mediaWidth, rel, verticalAlignment } = attributes; const mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG; const image = Object(external_wp_data_["useSelect"])(select => mediaId && isSelected ? select(external_wp_coreData_["store"]).getMedia(mediaId) : null, [isSelected, mediaId]); const refMediaContainer = Object(external_wp_element_["useRef"])(); const imperativeFocalPointPreview = value => { const { style } = refMediaContainer.current.resizable; const { x, y } = value; style.backgroundPosition = `${x * 100}% ${y * 100}%`; }; const [temporaryMediaWidth, setTemporaryMediaWidth] = Object(external_wp_element_["useState"])(null); const onSelectMedia = edit_attributesFromMedia({ attributes, setAttributes }); const onSetHref = props => { setAttributes(props); }; const onWidthChange = width => { setTemporaryMediaWidth(applyWidthConstraints(width)); }; const commitWidthChange = width => { setAttributes({ mediaWidth: applyWidthConstraints(width) }); setTemporaryMediaWidth(applyWidthConstraints(width)); }; const classNames = classnames_default()({ 'has-media-on-the-right': 'right' === mediaPosition, 'is-selected': isSelected, 'is-stacked-on-mobile': isStackedOnMobile, [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment, 'is-image-fill': imageFill }); const widthString = `${temporaryMediaWidth || mediaWidth}%`; const gridTemplateColumns = 'right' === mediaPosition ? `1fr ${widthString}` : `${widthString} 1fr`; const style = { gridTemplateColumns, msGridColumns: gridTemplateColumns }; const onMediaAltChange = newMediaAlt => { setAttributes({ mediaAlt: newMediaAlt }); }; const onVerticalAlignmentChange = alignment => { setAttributes({ verticalAlignment: alignment }); }; const imageSizes = Object(external_wp_data_["useSelect"])(select => { const settings = select(external_wp_blockEditor_["store"]).getSettings(); return settings === null || settings === void 0 ? void 0 : settings.imageSizes; }); const imageSizeOptions = Object(external_lodash_["map"])(Object(external_lodash_["filter"])(imageSizes, ({ slug }) => getImageSourceUrlBySizeSlug(image, slug)), ({ name, slug }) => ({ value: slug, label: name })); const updateImage = newMediaSizeSlug => { const newUrl = getImageSourceUrlBySizeSlug(image, newMediaSizeSlug); if (!newUrl) { return null; } setAttributes({ mediaUrl: newUrl, mediaSizeSlug: newMediaSizeSlug }); }; const mediaTextGeneralSettings = Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Media & Text settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Stack on mobile'), checked: isStackedOnMobile, onChange: () => setAttributes({ isStackedOnMobile: !isStackedOnMobile }) }), mediaType === 'image' && Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Crop image to fill entire column'), checked: imageFill, onChange: () => setAttributes({ imageFill: !imageFill }) }), imageFill && mediaUrl && mediaType === 'image' && Object(external_wp_element_["createElement"])(external_wp_components_["FocalPointPicker"], { label: Object(external_wp_i18n_["__"])('Focal point picker'), url: mediaUrl, value: focalPoint, onChange: value => setAttributes({ focalPoint: value }), onDragStart: imperativeFocalPointPreview, onDrag: imperativeFocalPointPreview }), mediaType === 'image' && Object(external_wp_element_["createElement"])(external_wp_components_["TextareaControl"], { label: Object(external_wp_i18n_["__"])('Alt text (alternative text)'), value: mediaAlt, onChange: onMediaAltChange, help: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { href: "https://www.w3.org/WAI/tutorials/images/decision-tree" }, Object(external_wp_i18n_["__"])('Describe the purpose of the image')), Object(external_wp_i18n_["__"])('Leave empty if the image is purely decorative.')) }), mediaType === 'image' && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalImageSizeControl"], { onChangeImage: updateImage, slug: mediaSizeSlug, imageSizeOptions: imageSizeOptions, isResizable: false }), mediaUrl && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { label: Object(external_wp_i18n_["__"])('Media width'), value: temporaryMediaWidth || mediaWidth, onChange: commitWidthChange, min: WIDTH_CONSTRAINT_PERCENTAGE, max: 100 - WIDTH_CONSTRAINT_PERCENTAGE })); const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ className: classNames, style }); const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])({ className: 'wp-block-media-text__content' }, { template: TEMPLATE }); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, mediaTextGeneralSettings), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "block" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockVerticalAlignmentControl"], { onChange: onVerticalAlignmentChange, value: verticalAlignment }), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { icon: pull_left, title: Object(external_wp_i18n_["__"])('Show media on left'), isActive: mediaPosition === 'left', onClick: () => setAttributes({ mediaPosition: 'left' }) }), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { icon: pull_right, title: Object(external_wp_i18n_["__"])('Show media on right'), isActive: mediaPosition === 'right', onClick: () => setAttributes({ mediaPosition: 'right' }) }), mediaType === 'image' && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalImageURLInputUI"], { url: href || '', onChangeUrl: onSetHref, linkDestination: linkDestination, mediaType: mediaType, mediaUrl: image && image.source_url, mediaLink: image && image.link, linkTarget: linkTarget, linkClass: linkClass, rel: rel })), Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(media_container, { className: "wp-block-media-text__media", onSelectMedia: onSelectMedia, onWidthChange: onWidthChange, commitWidthChange: commitWidthChange, ref: refMediaContainer, focalPoint, imageFill, isSelected, isStackedOnMobile, mediaAlt, mediaId, mediaPosition, mediaType, mediaUrl, mediaWidth }), Object(external_wp_element_["createElement"])("div", innerBlocksProps))); } /* harmony default export */ var media_text_edit = (MediaTextEdit); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/save.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const save_DEFAULT_MEDIA_WIDTH = 50; function media_text_save_save({ attributes }) { const { isStackedOnMobile, mediaAlt, mediaPosition, mediaType, mediaUrl, mediaWidth, mediaId, verticalAlignment, imageFill, focalPoint, linkClass, href, linkTarget, rel } = attributes; const mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG; const newRel = Object(external_lodash_["isEmpty"])(rel) ? undefined : rel; const imageClasses = classnames_default()({ [`wp-image-${mediaId}`]: mediaId && mediaType === 'image', [`size-${mediaSizeSlug}`]: mediaId && mediaType === 'image' }); let image = Object(external_wp_element_["createElement"])("img", { src: mediaUrl, alt: mediaAlt, className: imageClasses || null }); if (href) { image = Object(external_wp_element_["createElement"])("a", { className: linkClass, href: href, target: linkTarget, rel: newRel }, image); } const mediaTypeRenders = { image: () => image, video: () => Object(external_wp_element_["createElement"])("video", { controls: true, src: mediaUrl }) }; const className = classnames_default()({ 'has-media-on-the-right': 'right' === mediaPosition, 'is-stacked-on-mobile': isStackedOnMobile, [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment, 'is-image-fill': imageFill }); const backgroundStyles = imageFill ? imageFillStyles(mediaUrl, focalPoint) : {}; let gridTemplateColumns; if (mediaWidth !== save_DEFAULT_MEDIA_WIDTH) { gridTemplateColumns = 'right' === mediaPosition ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`; } const style = { gridTemplateColumns }; return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ className, style }), Object(external_wp_element_["createElement"])("figure", { className: "wp-block-media-text__media", style: backgroundStyles }, (mediaTypeRenders[mediaType] || external_lodash_["noop"])()), Object(external_wp_element_["createElement"])("div", { className: "wp-block-media-text__content" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/transforms.js /** * WordPress dependencies */ const media_text_transforms_transforms = { from: [{ type: 'block', blocks: ['core/image'], transform: ({ alt, url, id, anchor }) => Object(external_wp_blocks_["createBlock"])('core/media-text', { mediaAlt: alt, mediaId: id, mediaUrl: url, mediaType: 'image', anchor }) }, { type: 'block', blocks: ['core/video'], transform: ({ src, id, anchor }) => Object(external_wp_blocks_["createBlock"])('core/media-text', { mediaId: id, mediaUrl: src, mediaType: 'video', anchor }) }], to: [{ type: 'block', blocks: ['core/image'], isMatch: ({ mediaType, mediaUrl }) => { return !mediaUrl || mediaType === 'image'; }, transform: ({ mediaAlt, mediaId, mediaUrl, anchor }) => { return Object(external_wp_blocks_["createBlock"])('core/image', { alt: mediaAlt, id: mediaId, url: mediaUrl, anchor }); } }, { type: 'block', blocks: ['core/video'], isMatch: ({ mediaType, mediaUrl }) => { return !mediaUrl || mediaType === 'video'; }, transform: ({ mediaId, mediaUrl, anchor }) => { return Object(external_wp_blocks_["createBlock"])('core/video', { id: mediaId, src: mediaUrl, anchor }); } }] }; /* harmony default export */ var media_text_transforms = (media_text_transforms_transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const media_text_metadata = { apiVersion: 2, name: "core/media-text", title: "Media & Text", category: "media", description: "Set media and words side-by-side for a richer layout.", keywords: ["image", "video"], textdomain: "default", attributes: { align: { type: "string", "default": "wide" }, mediaAlt: { type: "string", source: "attribute", selector: "figure img", attribute: "alt", "default": "" }, mediaPosition: { type: "string", "default": "left" }, mediaId: { type: "number" }, mediaUrl: { type: "string", source: "attribute", selector: "figure video,figure img", attribute: "src" }, mediaLink: { type: "string" }, linkDestination: { type: "string" }, linkTarget: { type: "string", source: "attribute", selector: "figure a", attribute: "target" }, href: { type: "string", source: "attribute", selector: "figure a", attribute: "href" }, rel: { type: "string", source: "attribute", selector: "figure a", attribute: "rel" }, linkClass: { type: "string", source: "attribute", selector: "figure a", attribute: "class" }, mediaType: { type: "string" }, mediaWidth: { type: "number", "default": 50 }, mediaSizeSlug: { type: "string" }, isStackedOnMobile: { type: "boolean", "default": true }, verticalAlignment: { type: "string" }, imageFill: { type: "boolean" }, focalPoint: { type: "object" } }, supports: { anchor: true, align: ["wide", "full"], html: false, color: { gradients: true, link: true } }, editorStyle: "wp-block-media-text-editor", style: "wp-block-media-text" }; const { name: media_text_name } = media_text_metadata; const media_text_settings = { icon: media_and_text, example: { attributes: { mediaType: 'image', mediaUrl: 'https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg' }, innerBlocks: [{ name: 'core/paragraph', attributes: { content: Object(external_wp_i18n_["__"])('The wren
Earns his living
Noiselessly.') } }, { name: 'core/paragraph', attributes: { content: Object(external_wp_i18n_["__"])('— Kobayashi Issa (一茶)') } }] }, transforms: media_text_transforms, edit: media_text_edit, save: media_text_save_save, deprecated: media_text_deprecated }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/comment.js /** * WordPress dependencies */ const comment = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["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" })); /* harmony default export */ var library_comment = (comment); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-comments/edit.js /** * WordPress dependencies */ /** * Minimum number of comments a user can show using this block. * * @type {number} */ const MIN_COMMENTS = 1; /** * Maximum number of comments a user can show using this block. * * @type {number} */ const MAX_COMMENTS = 100; function LatestComments({ attributes, setAttributes }) { const { commentsToShow, displayAvatar, displayDate, displayExcerpt } = attributes; return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Latest comments settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Display avatar'), checked: displayAvatar, onChange: () => setAttributes({ displayAvatar: !displayAvatar }) }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Display date'), checked: displayDate, onChange: () => setAttributes({ displayDate: !displayDate }) }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Display excerpt'), checked: displayExcerpt, onChange: () => setAttributes({ displayExcerpt: !displayExcerpt }) }), Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { label: Object(external_wp_i18n_["__"])('Number of comments'), value: commentsToShow, onChange: value => setAttributes({ commentsToShow: value }), min: MIN_COMMENTS, max: MAX_COMMENTS, required: true }))), Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], null, Object(external_wp_element_["createElement"])(external_wp_serverSideRender_default.a, { block: "core/latest-comments", attributes: attributes }))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-comments/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const latest_comments_metadata = { apiVersion: 2, name: "core/latest-comments", title: "Latest Comments", category: "widgets", description: "Display a list of your most recent comments.", keywords: ["recent comments"], textdomain: "default", attributes: { commentsToShow: { type: "number", "default": 5, minimum: 1, maximum: 100 }, displayAvatar: { type: "boolean", "default": true }, displayDate: { type: "boolean", "default": true }, displayExcerpt: { type: "boolean", "default": true } }, supports: { align: true, html: false }, editorStyle: "wp-block-latest-comments-editor", style: "wp-block-latest-comments" }; const { name: latest_comments_name } = latest_comments_metadata; const latest_comments_settings = { icon: library_comment, example: {}, edit: LatestComments }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-list.js /** * WordPress dependencies */ const postList = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12zM7 11h2V9H7v2zm0 4h2v-2H7v2zm3-4h7V9h-7v2zm0 4h7v-2h-7v2z" })); /* harmony default export */ var post_list = (postList); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-posts/deprecated.js /** * Internal dependencies */ const latest_posts_deprecated_metadata = { apiVersion: 2, name: "core/latest-posts", title: "Latest Posts", category: "widgets", description: "Display a list of your most recent posts.", keywords: ["recent posts"], textdomain: "default", attributes: { categories: { type: "array", items: { type: "object" } }, selectedAuthor: { type: "number" }, postsToShow: { type: "number", "default": 5 }, displayPostContent: { type: "boolean", "default": false }, displayPostContentRadio: { type: "string", "default": "excerpt" }, excerptLength: { type: "number", "default": 55 }, displayAuthor: { type: "boolean", "default": false }, displayPostDate: { type: "boolean", "default": false }, postLayout: { type: "string", "default": "list" }, columns: { type: "number", "default": 3 }, order: { type: "string", "default": "desc" }, orderBy: { type: "string", "default": "date" }, displayFeaturedImage: { type: "boolean", "default": false }, featuredImageAlign: { type: "string", "enum": ["left", "center", "right"] }, featuredImageSizeSlug: { type: "string", "default": "thumbnail" }, featuredImageSizeWidth: { type: "number", "default": null }, featuredImageSizeHeight: { type: "number", "default": null }, addLinkToFeaturedImage: { type: "boolean", "default": false } }, supports: { align: true, html: false }, editorStyle: "wp-block-latest-posts-editor", style: "wp-block-latest-posts" }; const { attributes: deprecated_attributes } = latest_posts_deprecated_metadata; /* harmony default export */ var latest_posts_deprecated = ([{ attributes: { ...deprecated_attributes, categories: { type: 'string' } }, supports: { align: true, html: false }, migrate: oldAttributes => { // This needs the full category object, not just the ID. return { ...oldAttributes, categories: [{ id: Number(oldAttributes.categories) }] }; }, isEligible: ({ categories }) => categories && 'string' === typeof categories, save: () => null }]); // EXTERNAL MODULE: external ["wp","date"] var external_wp_date_ = __webpack_require__("FqII"); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/list.js /** * WordPress dependencies */ const list = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M4 4v1.5h16V4H4zm8 8.5h8V11h-8v1.5zM4 20h16v-1.5H4V20zm4-8c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2z" })); /* harmony default export */ var library_list = (list); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/grid.js var grid = __webpack_require__("b2RC"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-posts/constants.js const MIN_EXCERPT_LENGTH = 10; const MAX_EXCERPT_LENGTH = 100; const MAX_POSTS_COLUMNS = 6; // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-posts/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ /** * Module Constants */ const CATEGORIES_LIST_QUERY = { per_page: -1 }; const USERS_LIST_QUERY = { per_page: -1 }; function LatestPostsEdit({ attributes, setAttributes }) { const { postsToShow, order, orderBy, categories, selectedAuthor, displayFeaturedImage, displayPostContentRadio, displayPostContent, displayPostDate, displayAuthor, postLayout, columns, excerptLength, featuredImageAlign, featuredImageSizeSlug, featuredImageSizeWidth, featuredImageSizeHeight, addLinkToFeaturedImage } = attributes; const { imageSizeOptions, latestPosts, defaultImageWidth, defaultImageHeight } = Object(external_wp_data_["useSelect"])(select => { const { getEntityRecords, getMedia } = select(external_wp_coreData_["store"]); const { getSettings } = select(external_wp_blockEditor_["store"]); const { imageSizes, imageDimensions } = getSettings(); const catIds = categories && categories.length > 0 ? categories.map(cat => cat.id) : []; const latestPostsQuery = Object(external_lodash_["pickBy"])({ categories: catIds, author: selectedAuthor, order, orderby: orderBy, per_page: postsToShow }, value => !Object(external_lodash_["isUndefined"])(value)); const posts = getEntityRecords('postType', 'post', latestPostsQuery); return { defaultImageWidth: Object(external_lodash_["get"])(imageDimensions, [featuredImageSizeSlug, 'width'], 0), defaultImageHeight: Object(external_lodash_["get"])(imageDimensions, [featuredImageSizeSlug, 'height'], 0), imageSizeOptions: imageSizes.filter(({ slug }) => slug !== 'full').map(({ name, slug }) => ({ value: slug, label: name })), latestPosts: !Array.isArray(posts) ? posts : posts.map(post => { if (!post.featured_media) return post; const image = getMedia(post.featured_media); let url = Object(external_lodash_["get"])(image, ['media_details', 'sizes', featuredImageSizeSlug, 'source_url'], null); if (!url) { url = Object(external_lodash_["get"])(image, 'source_url', null); } const featuredImageInfo = { url, // eslint-disable-next-line camelcase alt: image === null || image === void 0 ? void 0 : image.alt_text }; return { ...post, featuredImageInfo }; }) }; }, [featuredImageSizeSlug, postsToShow, order, orderBy, categories, selectedAuthor]); const [categoriesList, setCategoriesList] = Object(external_wp_element_["useState"])([]); const [authorList, setAuthorList] = Object(external_wp_element_["useState"])([]); const categorySuggestions = categoriesList.reduce((accumulator, category) => ({ ...accumulator, [category.name]: category }), {}); const selectCategories = tokens => { const hasNoSuggestion = tokens.some(token => typeof token === 'string' && !categorySuggestions[token]); if (hasNoSuggestion) { return; } // Categories that are already will be objects, while new additions will be strings (the name). // allCategories nomalizes the array so that they are all objects. const allCategories = tokens.map(token => { return typeof token === 'string' ? categorySuggestions[token] : token; }); // We do nothing if the category is not selected // from suggestions. if (Object(external_lodash_["includes"])(allCategories, null)) { return false; } setAttributes({ categories: allCategories }); }; const isStillMounted = Object(external_wp_element_["useRef"])(); Object(external_wp_element_["useEffect"])(() => { isStillMounted.current = true; external_wp_apiFetch_default()({ path: Object(external_wp_url_["addQueryArgs"])(`/wp/v2/categories`, CATEGORIES_LIST_QUERY) }).then(data => { if (isStillMounted.current) { setCategoriesList(data); } }).catch(() => { if (isStillMounted.current) { setCategoriesList([]); } }); external_wp_apiFetch_default()({ path: Object(external_wp_url_["addQueryArgs"])(`/wp/v2/users`, USERS_LIST_QUERY) }).then(data => { if (isStillMounted.current) { setAuthorList(data); } }).catch(() => { if (isStillMounted.current) { setAuthorList([]); } }); return () => { isStillMounted.current = false; }; }, []); const hasPosts = !!(latestPosts !== null && latestPosts !== void 0 && latestPosts.length); const inspectorControls = Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Post content settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Post content'), checked: displayPostContent, onChange: value => setAttributes({ displayPostContent: value }) }), displayPostContent && Object(external_wp_element_["createElement"])(external_wp_components_["RadioControl"], { label: Object(external_wp_i18n_["__"])('Show:'), selected: displayPostContentRadio, options: [{ label: Object(external_wp_i18n_["__"])('Excerpt'), value: 'excerpt' }, { label: Object(external_wp_i18n_["__"])('Full post'), value: 'full_post' }], onChange: value => setAttributes({ displayPostContentRadio: value }) }), displayPostContent && displayPostContentRadio === 'excerpt' && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { label: Object(external_wp_i18n_["__"])('Max number of words in excerpt'), value: excerptLength, onChange: value => setAttributes({ excerptLength: value }), min: MIN_EXCERPT_LENGTH, max: MAX_EXCERPT_LENGTH })), Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Post meta settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Display author name'), checked: displayAuthor, onChange: value => setAttributes({ displayAuthor: value }) }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Display post date'), checked: displayPostDate, onChange: value => setAttributes({ displayPostDate: value }) })), Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Featured image settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Display featured image'), checked: displayFeaturedImage, onChange: value => setAttributes({ displayFeaturedImage: value }) }), displayFeaturedImage && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalImageSizeControl"], { onChange: value => { const newAttrs = {}; if (value.hasOwnProperty('width')) { newAttrs.featuredImageSizeWidth = value.width; } if (value.hasOwnProperty('height')) { newAttrs.featuredImageSizeHeight = value.height; } setAttributes(newAttrs); }, slug: featuredImageSizeSlug, width: featuredImageSizeWidth, height: featuredImageSizeHeight, imageWidth: defaultImageWidth, imageHeight: defaultImageHeight, imageSizeOptions: imageSizeOptions, onChangeImage: value => setAttributes({ featuredImageSizeSlug: value, featuredImageSizeWidth: undefined, featuredImageSizeHeight: undefined }) }), Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], { className: "block-editor-image-alignment-control__row" }, Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"].VisualLabel, null, Object(external_wp_i18n_["__"])('Image alignment')), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockAlignmentToolbar"], { value: featuredImageAlign, onChange: value => setAttributes({ featuredImageAlign: value }), controls: ['left', 'center', 'right'], isCollapsed: false })), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Add link to featured image'), checked: addLinkToFeaturedImage, onChange: value => setAttributes({ addLinkToFeaturedImage: value }) }))), Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Sorting and filtering') }, Object(external_wp_element_["createElement"])(external_wp_components_["QueryControls"], { order, orderBy, numberOfItems: postsToShow, onOrderChange: value => setAttributes({ order: value }), onOrderByChange: value => setAttributes({ orderBy: value }), onNumberOfItemsChange: value => setAttributes({ postsToShow: value }), categorySuggestions: categorySuggestions, onCategoryChange: selectCategories, selectedCategories: categories, onAuthorChange: value => setAttributes({ selectedAuthor: '' !== value ? Number(value) : undefined }), authorList: authorList, selectedAuthorId: selectedAuthor }), postLayout === 'grid' && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { label: Object(external_wp_i18n_["__"])('Columns'), value: columns, onChange: value => setAttributes({ columns: value }), min: 2, max: !hasPosts ? MAX_POSTS_COLUMNS : Math.min(MAX_POSTS_COLUMNS, latestPosts.length), required: true }))); const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ className: classnames_default()({ 'wp-block-latest-posts__list': true, 'is-grid': postLayout === 'grid', 'has-dates': displayPostDate, 'has-author': displayAuthor, [`columns-${columns}`]: postLayout === 'grid' }) }); if (!hasPosts) { return Object(external_wp_element_["createElement"])("div", blockProps, inspectorControls, Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { icon: library_pin, label: Object(external_wp_i18n_["__"])('Latest Posts') }, !Array.isArray(latestPosts) ? Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null) : Object(external_wp_i18n_["__"])('No posts found.'))); } // Removing posts from display should be instant. const displayPosts = latestPosts.length > postsToShow ? latestPosts.slice(0, postsToShow) : latestPosts; const layoutControls = [{ icon: library_list, title: Object(external_wp_i18n_["__"])('List view'), onClick: () => setAttributes({ postLayout: 'list' }), isActive: postLayout === 'list' }, { icon: grid["a" /* default */], title: Object(external_wp_i18n_["__"])('Grid view'), onClick: () => setAttributes({ postLayout: 'grid' }), isActive: postLayout === 'grid' }]; const dateFormat = Object(external_wp_date_["__experimentalGetSettings"])().formats.date; return Object(external_wp_element_["createElement"])("div", null, inspectorControls, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], { controls: layoutControls })), Object(external_wp_element_["createElement"])("ul", blockProps, displayPosts.map((post, i) => { const titleTrimmed = Object(external_lodash_["invoke"])(post, ['title', 'rendered', 'trim']); let excerpt = post.excerpt.rendered; const currentAuthor = authorList.find(author => author.id === post.author); const excerptElement = document.createElement('div'); excerptElement.innerHTML = excerpt; excerpt = excerptElement.textContent || excerptElement.innerText || ''; const { featuredImageInfo: { url: imageSourceUrl, alt: featuredImageAlt } = {} } = post; const imageClasses = classnames_default()({ 'wp-block-latest-posts__featured-image': true, [`align${featuredImageAlign}`]: !!featuredImageAlign }); const renderFeaturedImage = displayFeaturedImage && imageSourceUrl; const featuredImage = renderFeaturedImage && Object(external_wp_element_["createElement"])("img", { src: imageSourceUrl, alt: featuredImageAlt, style: { maxWidth: featuredImageSizeWidth, maxHeight: featuredImageSizeHeight } }); const needsReadMore = excerptLength < excerpt.trim().split(' ').length && post.excerpt.raw === ''; const postExcerpt = needsReadMore ? Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, excerpt.trim().split(' ', excerptLength).join(' '), Object(external_wp_i18n_["__"])(' … '), Object(external_wp_element_["createElement"])("a", { href: post.link, rel: "noopener noreferrer" }, Object(external_wp_i18n_["__"])('Read more'))) : excerpt; return Object(external_wp_element_["createElement"])("li", { key: i }, renderFeaturedImage && Object(external_wp_element_["createElement"])("div", { className: imageClasses }, addLinkToFeaturedImage ? Object(external_wp_element_["createElement"])("a", { href: post.link, rel: "noreferrer noopener" }, featuredImage) : featuredImage), Object(external_wp_element_["createElement"])("a", { href: post.link, rel: "noreferrer noopener" }, titleTrimmed ? Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, titleTrimmed) : Object(external_wp_i18n_["__"])('(no title)')), displayAuthor && currentAuthor && Object(external_wp_element_["createElement"])("div", { className: "wp-block-latest-posts__post-author" }, Object(external_wp_i18n_["sprintf"])( /* translators: byline. %s: current author. */ Object(external_wp_i18n_["__"])('by %s'), currentAuthor.name)), displayPostDate && post.date_gmt && Object(external_wp_element_["createElement"])("time", { dateTime: Object(external_wp_date_["format"])('c', post.date_gmt), className: "wp-block-latest-posts__post-date" }, Object(external_wp_date_["dateI18n"])(dateFormat, post.date_gmt)), displayPostContent && displayPostContentRadio === 'excerpt' && Object(external_wp_element_["createElement"])("div", { className: "wp-block-latest-posts__post-excerpt" }, postExcerpt), displayPostContent && displayPostContentRadio === 'full_post' && Object(external_wp_element_["createElement"])("div", { className: "wp-block-latest-posts__post-full-content" }, Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], { key: "html" }, post.content.raw.trim()))); }))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-posts/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const latest_posts_metadata = { apiVersion: 2, name: "core/latest-posts", title: "Latest Posts", category: "widgets", description: "Display a list of your most recent posts.", keywords: ["recent posts"], textdomain: "default", attributes: { categories: { type: "array", items: { type: "object" } }, selectedAuthor: { type: "number" }, postsToShow: { type: "number", "default": 5 }, displayPostContent: { type: "boolean", "default": false }, displayPostContentRadio: { type: "string", "default": "excerpt" }, excerptLength: { type: "number", "default": 55 }, displayAuthor: { type: "boolean", "default": false }, displayPostDate: { type: "boolean", "default": false }, postLayout: { type: "string", "default": "list" }, columns: { type: "number", "default": 3 }, order: { type: "string", "default": "desc" }, orderBy: { type: "string", "default": "date" }, displayFeaturedImage: { type: "boolean", "default": false }, featuredImageAlign: { type: "string", "enum": ["left", "center", "right"] }, featuredImageSizeSlug: { type: "string", "default": "thumbnail" }, featuredImageSizeWidth: { type: "number", "default": null }, featuredImageSizeHeight: { type: "number", "default": null }, addLinkToFeaturedImage: { type: "boolean", "default": false } }, supports: { align: true, html: false }, editorStyle: "wp-block-latest-posts-editor", style: "wp-block-latest-posts" }; const { name: latest_posts_name } = latest_posts_metadata; const latest_posts_settings = { icon: post_list, example: {}, edit: LatestPostsEdit, deprecated: latest_posts_deprecated }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/login.js /** * WordPress dependencies */ const login = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M11 14.5l1.1 1.1 3-3 .5-.5-.6-.6-3-3-1 1 1.7 1.7H5v1.5h7.7L11 14.5zM16.8 5h-7c-1.1 0-2 .9-2 2v1.5h1.5V7c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5v-1.5H7.8V17c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2z" })); /* harmony default export */ var library_login = (login); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/loginout/edit.js /** * WordPress dependencies */ function LoginOutEdit({ attributes, setAttributes }) { const { displayLoginAsForm, redirectToCurrent } = attributes; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Login/out settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Display login as form'), checked: displayLoginAsForm, onChange: () => setAttributes({ displayLoginAsForm: !displayLoginAsForm }) }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Redirect to current URL'), checked: redirectToCurrent, onChange: () => setAttributes({ redirectToCurrent: !redirectToCurrent }) }))), Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])({ className: 'logged-in' }), Object(external_wp_element_["createElement"])("a", { href: "#login-pseudo-link" }, Object(external_wp_i18n_["__"])('Log out')))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/loginout/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const loginout_metadata = { apiVersion: 2, name: "core/loginout", title: "Login/out", category: "theme", description: "Show login & logout links.", keywords: ["login", "logout", "form"], textdomain: "default", attributes: { displayLoginAsForm: { type: "boolean", "default": false }, redirectToCurrent: { type: "boolean", "default": true } }, supports: { className: true, typography: { fontSize: false } } }; const { name: loginout_name } = loginout_metadata; const loginout_settings = { icon: library_login, edit: LoginOutEdit }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-list-bullets-rtl.js /** * WordPress dependencies */ const formatListBulletsRTL = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M4 8.8h8.9V7.2H4v1.6zm0 7h8.9v-1.5H4v1.5zM18 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z" })); /* harmony default export */ var format_list_bullets_rtl = (formatListBulletsRTL); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-list-bullets.js /** * WordPress dependencies */ const formatListBullets = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM6 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-7c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" })); /* harmony default export */ var format_list_bullets = (formatListBullets); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-list-numbered-rtl.js /** * WordPress dependencies */ const formatListNumberedRTL = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M3.8 15.8h8.9v-1.5H3.8v1.5zm0-7h8.9V7.2H3.8v1.6zm14.7-2.1V10h1V5.3l-2.2.7.3 1 .9-.3zm1.2 6.1c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5H20v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3 0-.8-.3-1.1z" })); /* harmony default export */ var format_list_numbered_rtl = (formatListNumberedRTL); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-list-numbered.js /** * WordPress dependencies */ const formatListNumbered = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM5 6.7V10h1V5.3L3.8 6l.4 1 .8-.3zm-.4 5.7c-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-1c.3-.6.8-1.4.9-2.1.1-.3 0-.8-.2-1.1-.5-.6-1.3-.5-1.7-.4z" })); /* harmony default export */ var format_list_numbered = (formatListNumbered); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-outdent-rtl.js /** * WordPress dependencies */ const formatOutdentRTL = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM15.4697 14.9697L18.4393 12L15.4697 9.03033L16.5303 7.96967L20.0303 11.4697L20.5607 12L20.0303 12.5303L16.5303 16.0303L15.4697 14.9697Z" })); /* harmony default export */ var format_outdent_rtl = (formatOutdentRTL); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-outdent.js /** * WordPress dependencies */ const formatOutdent = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-4-4.6l-4 4 4 4 1-1-3-3 3-3-1-1z" })); /* harmony default export */ var format_outdent = (formatOutdent); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-indent-rtl.js /** * WordPress dependencies */ const formatIndentRTL = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM20.0303 9.03033L17.0607 12L20.0303 14.9697L18.9697 16.0303L15.4697 12.5303L14.9393 12L15.4697 11.4697L18.9697 7.96967L20.0303 9.03033Z" })); /* harmony default export */ var format_indent_rtl = (formatIndentRTL); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-indent.js /** * WordPress dependencies */ const formatIndent = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-8-3.5l3 3-3 3 1 1 4-4-4-4-1 1z" })); /* harmony default export */ var format_indent = (formatIndent); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/ordered-list-settings.js /** * WordPress dependencies */ const OrderedListSettings = ({ setAttributes, reversed, start }) => Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Ordered list settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { label: Object(external_wp_i18n_["__"])('Start value'), type: "number", onChange: value => { const int = parseInt(value, 10); setAttributes({ // It should be possible to unset the value, // e.g. with an empty string. start: isNaN(int) ? undefined : int }); }, value: Number.isInteger(start) ? start.toString(10) : '', step: "1" }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Reverse list numbering'), checked: reversed || false, onChange: value => { setAttributes({ // Unset the attribute if not reversed. reversed: value || undefined }); } }))); /* harmony default export */ var ordered_list_settings = (OrderedListSettings); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/edit.js /** * WordPress dependencies */ /** * Internal dependencies */ function ListEdit({ attributes, setAttributes, mergeBlocks, onReplace }) { const { ordered, values, type, reversed, start, placeholder } = attributes; const tagName = ordered ? 'ol' : 'ul'; const controls = ({ value, onChange, onFocus }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichTextShortcut"], { type: "primary", character: "[", onUse: () => { onChange(Object(external_wp_richText_["__unstableOutdentListItems"])(value)); } }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichTextShortcut"], { type: "primary", character: "]", onUse: () => { onChange(Object(external_wp_richText_["__unstableIndentListItems"])(value, { type: tagName })); } }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichTextShortcut"], { type: "primary", character: "m", onUse: () => { onChange(Object(external_wp_richText_["__unstableIndentListItems"])(value, { type: tagName })); } }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichTextShortcut"], { type: "primaryShift", character: "m", onUse: () => { onChange(Object(external_wp_richText_["__unstableOutdentListItems"])(value)); } }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "block" }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { icon: Object(external_wp_i18n_["isRTL"])() ? format_list_bullets_rtl : format_list_bullets, title: Object(external_wp_i18n_["__"])('Unordered'), describedBy: Object(external_wp_i18n_["__"])('Convert to unordered list'), isActive: Object(external_wp_richText_["__unstableIsActiveListType"])(value, 'ul', tagName), onClick: () => { onChange(Object(external_wp_richText_["__unstableChangeListType"])(value, { type: 'ul' })); onFocus(); if (Object(external_wp_richText_["__unstableIsListRootSelected"])(value)) { setAttributes({ ordered: false }); } } }), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { icon: Object(external_wp_i18n_["isRTL"])() ? format_list_numbered_rtl : format_list_numbered, title: Object(external_wp_i18n_["__"])('Ordered'), describedBy: Object(external_wp_i18n_["__"])('Convert to ordered list'), isActive: Object(external_wp_richText_["__unstableIsActiveListType"])(value, 'ol', tagName), onClick: () => { onChange(Object(external_wp_richText_["__unstableChangeListType"])(value, { type: 'ol' })); onFocus(); if (Object(external_wp_richText_["__unstableIsListRootSelected"])(value)) { setAttributes({ ordered: true }); } } }), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { icon: Object(external_wp_i18n_["isRTL"])() ? format_outdent_rtl : format_outdent, title: Object(external_wp_i18n_["__"])('Outdent'), describedBy: Object(external_wp_i18n_["__"])('Outdent list item'), shortcut: Object(external_wp_i18n_["_x"])('Backspace', 'keyboard key'), isDisabled: !Object(external_wp_richText_["__unstableCanOutdentListItems"])(value), onClick: () => { onChange(Object(external_wp_richText_["__unstableOutdentListItems"])(value)); onFocus(); } }), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { icon: Object(external_wp_i18n_["isRTL"])() ? format_indent_rtl : format_indent, title: Object(external_wp_i18n_["__"])('Indent'), describedBy: Object(external_wp_i18n_["__"])('Indent list item'), shortcut: Object(external_wp_i18n_["_x"])('Space', 'keyboard key'), isDisabled: !Object(external_wp_richText_["__unstableCanIndentListItems"])(value), onClick: () => { onChange(Object(external_wp_richText_["__unstableIndentListItems"])(value, { type: tagName })); onFocus(); } }))); const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], Object(esm_extends["a" /* default */])({ identifier: "values", multiline: "li", tagName: tagName, onChange: nextValues => setAttributes({ values: nextValues }), value: values, "aria-label": Object(external_wp_i18n_["__"])('List text'), placeholder: placeholder || Object(external_wp_i18n_["__"])('List'), onMerge: mergeBlocks, onSplit: value => Object(external_wp_blocks_["createBlock"])(list_name, { ...attributes, values: value }), __unstableOnSplitMiddle: () => Object(external_wp_blocks_["createBlock"])('core/paragraph'), onReplace: onReplace, onRemove: () => onReplace([]), start: start, reversed: reversed, type: type }, blockProps), controls), ordered && Object(external_wp_element_["createElement"])(ordered_list_settings, { setAttributes: setAttributes, ordered: ordered, reversed: reversed, start: start, placeholder: placeholder })); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/save.js /** * WordPress dependencies */ function list_save_save({ attributes }) { const { ordered, values, type, reversed, start } = attributes; const TagName = ordered ? 'ol' : 'ul'; return Object(external_wp_element_["createElement"])(TagName, external_wp_blockEditor_["useBlockProps"].save({ type, reversed, start }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { value: values, multiline: "li" })); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/transforms.js /** * WordPress dependencies */ function getListContentSchema({ phrasingContentSchema }) { const listContentSchema = { ...phrasingContentSchema, ul: {}, ol: { attributes: ['type', 'start', 'reversed'] } }; // Recursion is needed. // Possible: ul > li > ul. // Impossible: ul > ul. ['ul', 'ol'].forEach(tag => { listContentSchema[tag].children = { li: { children: listContentSchema } }; }); return listContentSchema; } const list_transforms_transforms = { from: [{ type: 'block', isMultiBlock: true, blocks: ['core/paragraph', 'core/heading'], transform: blockAttributes => { return Object(external_wp_blocks_["createBlock"])('core/list', { values: Object(external_wp_richText_["toHTMLString"])({ value: Object(external_wp_richText_["join"])(blockAttributes.map(({ content }) => { const value = Object(external_wp_richText_["create"])({ html: content }); if (blockAttributes.length > 1) { return value; } // When converting only one block, transform // every line to a list item. return Object(external_wp_richText_["replace"])(value, /\n/g, external_wp_richText_["__UNSTABLE_LINE_SEPARATOR"]); }), external_wp_richText_["__UNSTABLE_LINE_SEPARATOR"]), multilineTag: 'li' }), anchor: blockAttributes.anchor }); } }, { type: 'block', blocks: ['core/quote', 'core/pullquote'], transform: ({ value, anchor }) => { return Object(external_wp_blocks_["createBlock"])('core/list', { values: Object(external_wp_richText_["toHTMLString"])({ value: Object(external_wp_richText_["create"])({ html: value, multilineTag: 'p' }), multilineTag: 'li' }), anchor }); } }, { type: 'raw', selector: 'ol,ul', schema: args => ({ ol: getListContentSchema(args).ol, ul: getListContentSchema(args).ul }), transform(node) { const attributes = { ordered: node.nodeName === 'OL', anchor: node.id === '' ? undefined : node.id }; if (attributes.ordered) { const type = node.getAttribute('type'); if (type) { attributes.type = type; } if (node.getAttribute('reversed') !== null) { attributes.reversed = true; } const start = parseInt(node.getAttribute('start'), 10); if (!isNaN(start) && ( // start=1 only makes sense if the list is reversed. start !== 1 || attributes.reversed)) { attributes.start = start; } } return Object(external_wp_blocks_["createBlock"])('core/list', { ...Object(external_wp_blocks_["getBlockAttributes"])('core/list', node.outerHTML), ...attributes }); } }, ...['*', '-'].map(prefix => ({ type: 'prefix', prefix, transform(content) { return Object(external_wp_blocks_["createBlock"])('core/list', { values: `
  • ${content}
  • ` }); } })), ...['1.', '1)'].map(prefix => ({ type: 'prefix', prefix, transform(content) { return Object(external_wp_blocks_["createBlock"])('core/list', { ordered: true, values: `
  • ${content}
  • ` }); } }))], to: [{ type: 'block', blocks: ['core/paragraph'], transform: ({ values }) => Object(external_wp_richText_["split"])(Object(external_wp_richText_["create"])({ html: values, multilineTag: 'li', multilineWrapperTags: ['ul', 'ol'] }), external_wp_richText_["__UNSTABLE_LINE_SEPARATOR"]).map(piece => Object(external_wp_blocks_["createBlock"])('core/paragraph', { content: Object(external_wp_richText_["toHTMLString"])({ value: piece }) })) }, { type: 'block', blocks: ['core/heading'], transform: ({ values }) => Object(external_wp_richText_["split"])(Object(external_wp_richText_["create"])({ html: values, multilineTag: 'li', multilineWrapperTags: ['ul', 'ol'] }), external_wp_richText_["__UNSTABLE_LINE_SEPARATOR"]).map(piece => Object(external_wp_blocks_["createBlock"])('core/heading', { content: Object(external_wp_richText_["toHTMLString"])({ value: piece }) })) }, { type: 'block', blocks: ['core/quote'], transform: ({ values, anchor }) => { return Object(external_wp_blocks_["createBlock"])('core/quote', { value: Object(external_wp_richText_["toHTMLString"])({ value: Object(external_wp_richText_["create"])({ html: values, multilineTag: 'li', multilineWrapperTags: ['ul', 'ol'] }), multilineTag: 'p' }), anchor }); } }, { type: 'block', blocks: ['core/pullquote'], transform: ({ values, anchor }) => { return Object(external_wp_blocks_["createBlock"])('core/pullquote', { value: Object(external_wp_richText_["toHTMLString"])({ value: Object(external_wp_richText_["create"])({ html: values, multilineTag: 'li', multilineWrapperTags: ['ul', 'ol'] }), multilineTag: 'p' }), anchor }); } }] }; /* harmony default export */ var list_transforms = (list_transforms_transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const list_metadata = { apiVersion: 2, name: "core/list", title: "List", category: "text", description: "Create a bulleted or numbered list.", keywords: ["bullet list", "ordered list", "numbered list"], textdomain: "default", attributes: { ordered: { type: "boolean", "default": false, __experimentalRole: "content" }, values: { type: "string", source: "html", selector: "ol,ul", multiline: "li", __unstableMultilineWrapperTags: ["ol", "ul"], "default": "", __experimentalRole: "content" }, type: { type: "string" }, start: { type: "number" }, reversed: { type: "boolean" }, placeholder: { type: "string" } }, supports: { anchor: true, className: false, typography: { fontSize: true, __experimentalFontFamily: true }, color: { gradients: true }, __unstablePasteTextInline: true, __experimentalSelector: "ol,ul" }, editorStyle: "wp-block-list-editor", style: "wp-block-list" }; const { name: list_name } = list_metadata; const list_settings = { icon: library_list, example: { attributes: { values: '
  • Alice.
  • The White Rabbit.
  • The Cheshire Cat.
  • The Mad Hatter.
  • The Queen of Hearts.
  • ' } }, transforms: list_transforms, merge(attributes, attributesToMerge) { const { values } = attributesToMerge; if (!values || values === '
  • ') { return attributes; } return { ...attributes, values: attributes.values + values }; }, edit: ListEdit, save: list_save_save }; // EXTERNAL MODULE: external ["wp","dom"] var external_wp_dom_ = __webpack_require__("1CF3"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/missing/edit.js /** * WordPress dependencies */ function MissingBlockWarning({ attributes, convertToHTML }) { const { originalName, originalUndelimitedContent } = attributes; const hasContent = !!originalUndelimitedContent; const hasHTMLBlock = Object(external_wp_blocks_["getBlockType"])('core/html'); const actions = []; let messageHTML; if (hasContent && hasHTMLBlock) { messageHTML = Object(external_wp_i18n_["sprintf"])( /* translators: %s: block name */ Object(external_wp_i18n_["__"])('Your site doesn’t include support for the "%s" block. You can leave this block intact, convert its content to a Custom HTML block, or remove it entirely.'), originalName); actions.push(Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { key: "convert", onClick: convertToHTML, isPrimary: true }, Object(external_wp_i18n_["__"])('Keep as HTML'))); } else { messageHTML = Object(external_wp_i18n_["sprintf"])( /* translators: %s: block name */ Object(external_wp_i18n_["__"])('Your site doesn’t include support for the "%s" block. You can leave this block intact or remove it entirely.'), originalName); } return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])({ className: 'has-warning' }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["Warning"], { actions: actions }, messageHTML), Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, Object(external_wp_dom_["safeHTML"])(originalUndelimitedContent))); } const MissingEdit = Object(external_wp_data_["withDispatch"])((dispatch, { clientId, attributes }) => { const { replaceBlock } = dispatch(external_wp_blockEditor_["store"]); return { convertToHTML() { replaceBlock(clientId, Object(external_wp_blocks_["createBlock"])('core/html', { content: attributes.originalUndelimitedContent })); } }; })(MissingBlockWarning); /* harmony default export */ var missing_edit = (MissingEdit); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/missing/save.js /** * WordPress dependencies */ function missing_save_save({ attributes }) { // Preserve the missing block's content. return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, attributes.originalContent); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/missing/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const missing_metadata = { apiVersion: 2, name: "core/missing", title: "Unsupported", category: "text", description: "Your site doesn\u2019t include support for this block.", textdomain: "default", attributes: { originalName: { type: "string" }, originalUndelimitedContent: { type: "string" }, originalContent: { type: "string", source: "html" } }, supports: { className: false, customClassName: false, inserter: false, html: false, reusable: false } }; const { name: missing_name } = missing_metadata; const missing_settings = { name: missing_name, __experimentalLabel(attributes, { context }) { if (context === 'accessibility') { const { originalName } = attributes; const originalBlockType = originalName ? Object(external_wp_blocks_["getBlockType"])(originalName) : undefined; if (originalBlockType) { return originalBlockType.settings.title || originalName; } return ''; } }, edit: missing_edit, save: missing_save_save }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/more.js /** * WordPress dependencies */ const more = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M4 9v1.5h16V9H4zm12 5.5h4V13h-4v1.5zm-6 0h4V13h-4v1.5zm-6 0h4V13H4v1.5z" })); /* harmony default export */ var library_more = (more); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/more/edit.js /** * WordPress dependencies */ const DEFAULT_TEXT = Object(external_wp_i18n_["__"])('Read more'); function MoreEdit({ attributes: { customText, noTeaser }, insertBlocksAfter, setAttributes }) { const onChangeInput = event => { setAttributes({ customText: event.target.value !== '' ? event.target.value : undefined }); }; const onKeyDown = ({ keyCode }) => { if (keyCode === external_wp_keycodes_["ENTER"]) { insertBlocksAfter([Object(external_wp_blocks_["createBlock"])(Object(external_wp_blocks_["getDefaultBlockName"])())]); } }; const getHideExcerptHelp = checked => checked ? Object(external_wp_i18n_["__"])('The excerpt is hidden.') : Object(external_wp_i18n_["__"])('The excerpt is visible.'); const toggleHideExcerpt = () => setAttributes({ noTeaser: !noTeaser }); const style = { width: `${(customText ? customText : DEFAULT_TEXT).length + 1.2}em` }; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Hide the excerpt on the full content page'), checked: !!noTeaser, onChange: toggleHideExcerpt, help: getHideExcerptHelp }))), Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])("div", { className: "wp-block-more" }, Object(external_wp_element_["createElement"])("input", { "aria-label": Object(external_wp_i18n_["__"])('Read more link text'), type: "text", value: customText, placeholder: DEFAULT_TEXT, onChange: onChangeInput, onKeyDown: onKeyDown, style: style })))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/more/save.js /** * External dependencies */ /** * WordPress dependencies */ function more_save_save({ attributes: { customText, noTeaser } }) { const moreTag = customText ? `` : ''; const noTeaserTag = noTeaser ? '' : ''; return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, Object(external_lodash_["compact"])([moreTag, noTeaserTag]).join('\n')); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/more/transforms.js /** * WordPress dependencies */ const more_transforms_transforms = { from: [{ type: 'raw', schema: { 'wp-block': { attributes: ['data-block'] } }, isMatch: node => node.dataset && node.dataset.block === 'core/more', transform(node) { const { customText, noTeaser } = node.dataset; const attrs = {}; // Don't copy unless defined and not an empty string if (customText) { attrs.customText = customText; } // Special handling for boolean if (noTeaser === '') { attrs.noTeaser = true; } return Object(external_wp_blocks_["createBlock"])('core/more', attrs); } }] }; /* harmony default export */ var more_transforms = (more_transforms_transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/more/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const more_metadata = { apiVersion: 2, name: "core/more", title: "More", category: "design", description: "Content before this block will be shown in the excerpt on your archives page.", keywords: ["read more"], textdomain: "default", attributes: { customText: { type: "string" }, noTeaser: { type: "boolean", "default": false } }, supports: { customClassName: false, className: false, html: false, multiple: false }, editorStyle: "wp-block-more-editor" }; const { name: more_name } = more_metadata; const more_settings = { icon: library_more, example: {}, __experimentalLabel(attributes, { context }) { if (context === 'accessibility') { return attributes.customText; } }, transforms: more_transforms, edit: MoreEdit, save: more_save_save }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/page-break.js /** * WordPress dependencies */ const pageBreak = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M7.8 6c0-.7.6-1.2 1.2-1.2h6c.7 0 1.2.6 1.2 1.2v3h1.5V6c0-1.5-1.2-2.8-2.8-2.8H9C7.5 3.2 6.2 4.5 6.2 6v3h1.5V6zm8.4 11c0 .7-.6 1.2-1.2 1.2H9c-.7 0-1.2-.6-1.2-1.2v-3H6.2v3c0 1.5 1.2 2.8 2.8 2.8h6c1.5 0 2.8-1.2 2.8-2.8v-3h-1.5v3zM4 11v1h16v-1H4z" })); /* harmony default export */ var page_break = (pageBreak); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/nextpage/edit.js /** * WordPress dependencies */ function NextPageEdit() { return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])("div", { className: "wp-block-nextpage" }, Object(external_wp_element_["createElement"])("span", null, Object(external_wp_i18n_["__"])('Page break')))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/nextpage/save.js /** * WordPress dependencies */ function nextpage_save_save() { return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, ''); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/nextpage/transforms.js /** * WordPress dependencies */ const nextpage_transforms_transforms = { from: [{ type: 'raw', schema: { 'wp-block': { attributes: ['data-block'] } }, isMatch: node => node.dataset && node.dataset.block === 'core/nextpage', transform() { return Object(external_wp_blocks_["createBlock"])('core/nextpage', {}); } }] }; /* harmony default export */ var nextpage_transforms = (nextpage_transforms_transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/nextpage/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const nextpage_metadata = { apiVersion: 2, name: "core/nextpage", title: "Page Break", category: "design", description: "Separate your content into a multi-page experience.", keywords: ["next page", "pagination"], parent: ["core/post-content"], textdomain: "default", supports: { customClassName: false, className: false, html: false }, editorStyle: "wp-block-nextpage-editor" }; const { name: nextpage_name } = nextpage_metadata; const nextpage_settings = { icon: page_break, example: {}, transforms: nextpage_transforms, edit: NextPageEdit, save: nextpage_save_save }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pages.js /** * WordPress dependencies */ const pages_pages = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M7 13.8h6v-1.5H7v1.5zM18 16V4c0-1.1-.9-2-2-2H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2zM5.5 16V4c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v12c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5zM7 10.5h8V9H7v1.5zm0-3.3h8V5.8H7v1.4zM20.2 6v13c0 .7-.6 1.2-1.2 1.2H8v1.5h11c1.5 0 2.7-1.2 2.7-2.8V6h-1.5z" })); /* harmony default export */ var library_pages = (pages_pages); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/page-list/convert-to-links-modal.js /** * WordPress dependencies */ const PAGE_FIELDS = ['id', 'title', 'link', 'type', 'parent']; const MAX_PAGE_COUNT = 100; const convertSelectedBlockToNavigationLinks = ({ pages, clientId, replaceBlock, createBlock }) => () => { if (!pages) { return; } const linkMap = {}; const navigationLinks = []; pages.forEach(({ id, title, link: url, type, parent }) => { var _linkMap$id$innerBloc, _linkMap$id; // See if a placeholder exists. This is created if children appear before parents in list const innerBlocks = (_linkMap$id$innerBloc = (_linkMap$id = linkMap[id]) === null || _linkMap$id === void 0 ? void 0 : _linkMap$id.innerBlocks) !== null && _linkMap$id$innerBloc !== void 0 ? _linkMap$id$innerBloc : []; linkMap[id] = createBlock('core/navigation-link', { id, label: title.rendered, url, type, kind: 'post-type' }, innerBlocks); if (!parent) { navigationLinks.push(linkMap[id]); } else { if (!linkMap[parent]) { // Use a placeholder if the child appears before parent in list linkMap[parent] = { innerBlocks: [] }; } const parentLinkInnerBlocks = linkMap[parent].innerBlocks; parentLinkInnerBlocks.push(linkMap[id]); } }); replaceBlock(clientId, navigationLinks); }; function ConvertToLinksModal({ onClose, clientId }) { const { pages, pagesFinished } = Object(external_wp_data_["useSelect"])(select => { const { getEntityRecords, hasFinishedResolution } = select(external_wp_coreData_["store"]); const query = ['postType', 'page', { per_page: MAX_PAGE_COUNT, _fields: PAGE_FIELDS, // TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby // values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent // sort. orderby: 'menu_order', order: 'asc' }]; return { pages: getEntityRecords(...query), pagesFinished: hasFinishedResolution('getEntityRecords', query) }; }, [clientId]); const { replaceBlock } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); return Object(external_wp_element_["createElement"])(external_wp_components_["Modal"], { closeLabel: Object(external_wp_i18n_["__"])('Close'), onRequestClose: onClose, title: Object(external_wp_i18n_["__"])('Convert to links'), className: 'wp-block-page-list-modal', aria: { describedby: 'wp-block-page-list-modal__description' } }, Object(external_wp_element_["createElement"])("p", { id: 'wp-block-page-list-modal__description' }, Object(external_wp_i18n_["__"])('To edit this navigation menu, convert it to single page links. This allows you to add, re-order, remove items, or edit their labels.')), Object(external_wp_element_["createElement"])("p", null, Object(external_wp_i18n_["__"])("Note: if you add new pages to your site, you'll need to add them to your navigation menu.")), Object(external_wp_element_["createElement"])("div", { className: "wp-block-page-list-modal-buttons" }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { isTertiary: true, onClick: onClose }, Object(external_wp_i18n_["__"])('Cancel')), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { isPrimary: true, disabled: !pagesFinished, onClick: convertSelectedBlockToNavigationLinks({ pages, replaceBlock, clientId, createBlock: external_wp_blocks_["createBlock"] }) }, Object(external_wp_i18n_["__"])('Convert')))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/page-list/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ // We only show the edit option when page count is <= MAX_PAGE_COUNT // Performance of Navigation Links is not good past this value. const edit_MAX_PAGE_COUNT = 100; function PageListEdit({ context, clientId }) { const { textColor, backgroundColor, showSubmenuIcon, style } = context || {}; const [allowConvertToLinks, setAllowConvertToLinks] = Object(external_wp_element_["useState"])(false); const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ className: classnames_default()({ 'has-text-color': !!textColor, [`has-${textColor}-color`]: !!textColor, 'has-background': !!backgroundColor, [`has-${backgroundColor}-background-color`]: !!backgroundColor, 'show-submenu-icons': !!showSubmenuIcon }), style: { ...(style === null || style === void 0 ? void 0 : style.color) } }); const isParentNavigation = Object(external_wp_data_["useSelect"])(select => { const { getBlockParentsByBlockName } = select(external_wp_blockEditor_["store"]); return getBlockParentsByBlockName(clientId, 'core/navigation').length > 0; }, [clientId]); Object(external_wp_element_["useEffect"])(() => { if (isParentNavigation) { external_wp_apiFetch_default()({ path: Object(external_wp_url_["addQueryArgs"])('/wp/v2/pages', { per_page: 1, _fields: ['id'] }), parse: false }).then(res => { setAllowConvertToLinks(res.headers.get('X-WP-Total') <= edit_MAX_PAGE_COUNT); }); } else { setAllowConvertToLinks(false); } }, [isParentNavigation]); const [isOpen, setOpen] = Object(external_wp_element_["useState"])(false); const openModal = () => setOpen(true); const closeModal = () => setOpen(false); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, allowConvertToLinks && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "other" }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { title: Object(external_wp_i18n_["__"])('Edit'), onClick: openModal }, Object(external_wp_i18n_["__"])('Edit'))), allowConvertToLinks && isOpen && Object(external_wp_element_["createElement"])(ConvertToLinksModal, { onClose: closeModal, clientId: clientId }), Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_serverSideRender_default.a, { block: "core/page-list" }))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/page-list/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const page_list_metadata = { apiVersion: 2, name: "core/page-list", title: "Page List", category: "widgets", description: "Display a list of all pages.", keywords: ["menu", "navigation"], textdomain: "default", usesContext: ["textColor", "customTextColor", "backgroundColor", "customBackgroundColor", "fontSize", "customFontSize", "showSubmenuIcon", "style"], supports: { reusable: false, html: false }, editorStyle: "wp-block-page-list-editor", style: "wp-block-page-list" }; const { name: page_list_name } = page_list_metadata; const page_list_settings = { icon: library_pages, example: {}, edit: PageListEdit }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/preformatted.js /** * WordPress dependencies */ const preformatted = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12zM7 16.5h6V15H7v1.5zm4-4h6V11h-6v1.5zM9 11H7v1.5h2V11zm6 5.5h2V15h-2v1.5z" })); /* harmony default export */ var library_preformatted = (preformatted); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/preformatted/edit.js /** * WordPress dependencies */ function PreformattedEdit({ attributes, mergeBlocks, setAttributes, onRemove }) { const { content } = attributes; const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], Object(esm_extends["a" /* default */])({ tagName: "pre", identifier: "content", preserveWhiteSpace: true, value: content, onChange: nextContent => { setAttributes({ content: nextContent }); }, onRemove: onRemove, "aria-label": Object(external_wp_i18n_["__"])('Preformatted text'), placeholder: Object(external_wp_i18n_["__"])('Write preformatted text…'), onMerge: mergeBlocks }, blockProps, { __unstablePastePlainText: true })); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/preformatted/save.js /** * WordPress dependencies */ function preformatted_save_save({ attributes }) { const { content } = attributes; return Object(external_wp_element_["createElement"])("pre", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { value: content })); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/preformatted/transforms.js /** * WordPress dependencies */ const preformatted_transforms_transforms = { from: [{ type: 'block', blocks: ['core/code', 'core/paragraph'], transform: ({ content, anchor }) => Object(external_wp_blocks_["createBlock"])('core/preformatted', { content, anchor }) }, { type: 'raw', isMatch: node => node.nodeName === 'PRE' && !(node.children.length === 1 && node.firstChild.nodeName === 'CODE'), schema: ({ phrasingContentSchema }) => ({ pre: { children: phrasingContentSchema } }) }], to: [{ type: 'block', blocks: ['core/paragraph'], transform: attributes => Object(external_wp_blocks_["createBlock"])('core/paragraph', attributes) }, { type: 'block', blocks: ['core/code'], transform: attributes => Object(external_wp_blocks_["createBlock"])('core/code', attributes) }] }; /* harmony default export */ var preformatted_transforms = (preformatted_transforms_transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/preformatted/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const preformatted_metadata = { apiVersion: 2, name: "core/preformatted", title: "Preformatted", category: "text", description: "Add text that respects your spacing and tabs, and also allows styling.", textdomain: "default", attributes: { content: { type: "string", source: "html", selector: "pre", "default": "", __unstablePreserveWhiteSpace: true, __experimentalRole: "content" } }, supports: { anchor: true, color: { gradients: true }, typography: { fontSize: true } }, style: "wp-block-preformatted" }; const { name: preformatted_name } = preformatted_metadata; const preformatted_settings = { icon: library_preformatted, example: { attributes: { /* eslint-disable @wordpress/i18n-no-collapsible-whitespace */ // translators: Sample content for the Preformatted block. Can be replaced with a more locale-adequate work. content: Object(external_wp_i18n_["__"])('EXT. XANADU - FAINT DAWN - 1940 (MINIATURE)\nWindow, very small in the distance, illuminated.\nAll around this is an almost totally black screen. Now, as the camera moves slowly towards the window which is almost a postage stamp in the frame, other forms appear;') /* eslint-enable @wordpress/i18n-no-collapsible-whitespace */ } }, transforms: preformatted_transforms, edit: PreformattedEdit, save: preformatted_save_save, merge(attributes, attributesToMerge) { return { content: attributes.content + attributesToMerge.content }; } }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pullquote.js /** * WordPress dependencies */ const pullquote = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M18 8H6c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v4zM4 4v1.5h16V4H4zm0 16h16v-1.5H4V20z" })); /* harmony default export */ var library_pullquote = (pullquote); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/shared.js const SOLID_COLOR_CLASS = `is-style-solid-color`; // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/deprecated.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const pullquote_deprecated_blockAttributes = { value: { type: 'string', source: 'html', selector: 'blockquote', multiline: 'p' }, citation: { type: 'string', source: 'html', selector: 'cite', default: '' }, mainColor: { type: 'string' }, customMainColor: { type: 'string' }, textColor: { type: 'string' }, customTextColor: { type: 'string' } }; function parseBorderColor(styleString) { if (!styleString) { return; } const matches = styleString.match(/border-color:([^;]+)[;]?/); if (matches && matches[1]) { return matches[1]; } } const pullquote_deprecated_deprecated = [{ attributes: { ...pullquote_deprecated_blockAttributes, // figureStyle is an attribute that never existed. // We are using it as a way to access the styles previously applied to the figure. figureStyle: { source: 'attribute', selector: 'figure', attribute: 'style' } }, save({ attributes }) { const { mainColor, customMainColor, textColor, customTextColor, value, citation, className, figureStyle } = attributes; const isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS); let figureClasses, figureStyles; // Is solid color style if (isSolidColorStyle) { const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', mainColor); figureClasses = classnames_default()({ 'has-background': backgroundClass || customMainColor, [backgroundClass]: backgroundClass }); figureStyles = { backgroundColor: backgroundClass ? undefined : customMainColor }; // Is normal style and a custom color is being used ( we can set a style directly with its value) } else if (customMainColor) { figureStyles = { borderColor: customMainColor }; // If normal style and a named color are being used, we need to retrieve the color value to set the style, // as there is no expectation that themes create classes that set border colors. } else if (mainColor) { // Previously here we queried the color settings to know the color value // of a named color. This made the save function impure and the block was refactored, // because meanwhile a change in the editor made it impossible to query color settings in the save function. // Here instead of querying the color settings to know the color value, we retrieve the value // directly from the style previously serialized. const borderColor = parseBorderColor(figureStyle); figureStyles = { borderColor }; } const blockquoteTextColorClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); const blockquoteClasses = (textColor || customTextColor) && classnames_default()('has-text-color', { [blockquoteTextColorClass]: blockquoteTextColorClass }); const blockquoteStyles = blockquoteTextColorClass ? undefined : { color: customTextColor }; return Object(external_wp_element_["createElement"])("figure", { className: figureClasses, style: figureStyles }, Object(external_wp_element_["createElement"])("blockquote", { className: blockquoteClasses, style: blockquoteStyles }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { value: value, multiline: true }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "cite", value: citation }))); }, migrate({ className, figureStyle, mainColor, ...attributes }) { const isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS); // If is the default style, and a main color is set, // migrate the main color value into a custom color. // The custom color value is retrived by parsing the figure styles. if (!isSolidColorStyle && mainColor && figureStyle) { const borderColor = parseBorderColor(figureStyle); if (borderColor) { return { ...attributes, className, customMainColor: borderColor }; } } return { className, mainColor, ...attributes }; } }, { attributes: pullquote_deprecated_blockAttributes, save({ attributes }) { const { mainColor, customMainColor, textColor, customTextColor, value, citation, className } = attributes; const isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS); let figureClass, figureStyles; // Is solid color style if (isSolidColorStyle) { figureClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', mainColor); if (!figureClass) { figureStyles = { backgroundColor: customMainColor }; } // Is normal style and a custom color is being used ( we can set a style directly with its value) } else if (customMainColor) { figureStyles = { borderColor: customMainColor }; // Is normal style and a named color is being used, we need to retrieve the color value to set the style, // as there is no expectation that themes create classes that set border colors. } else if (mainColor) { const colors = Object(external_lodash_["get"])(Object(external_wp_data_["select"])(external_wp_blockEditor_["store"]).getSettings(), ['colors'], []); const colorObject = Object(external_wp_blockEditor_["getColorObjectByAttributeValues"])(colors, mainColor); figureStyles = { borderColor: colorObject.color }; } const blockquoteTextColorClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); const blockquoteClasses = textColor || customTextColor ? classnames_default()('has-text-color', { [blockquoteTextColorClass]: blockquoteTextColorClass }) : undefined; const blockquoteStyle = blockquoteTextColorClass ? undefined : { color: customTextColor }; return Object(external_wp_element_["createElement"])("figure", { className: figureClass, style: figureStyles }, Object(external_wp_element_["createElement"])("blockquote", { className: blockquoteClasses, style: blockquoteStyle }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { value: value, multiline: true }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "cite", value: citation }))); } }, { attributes: { ...pullquote_deprecated_blockAttributes }, save({ attributes }) { const { value, citation } = attributes; return Object(external_wp_element_["createElement"])("blockquote", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { value: value, multiline: true }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "cite", value: citation })); } }, { attributes: { ...pullquote_deprecated_blockAttributes, citation: { type: 'string', source: 'html', selector: 'footer' }, align: { type: 'string', default: 'none' } }, save({ attributes }) { const { value, citation, align } = attributes; return Object(external_wp_element_["createElement"])("blockquote", { className: `align${align}` }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { value: value, multiline: true }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "footer", value: citation })); } }]; /* harmony default export */ var pullquote_deprecated = (pullquote_deprecated_deprecated); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/figure.js const Figure = 'figure'; // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/blockquote.js const BlockQuote = 'blockquote'; // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ /** * Internal dependencies */ function PullQuoteEdit({ colorUtils, textColor, attributes: { value, citation }, setAttributes, setTextColor, setMainColor, mainColor, isSelected, insertBlocksAfter }) { const wasTextColorAutomaticallyComputed = Object(external_wp_element_["useRef"])(false); const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); const { style = {}, className } = blockProps; const isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS); const newBlockProps = { ...blockProps, className: classnames_default()(className, { 'has-background': isSolidColorStyle && mainColor.color, [mainColor.class]: isSolidColorStyle && mainColor.class }), style: isSolidColorStyle ? { ...style, backgroundColor: mainColor.color } : { ...style, borderColor: mainColor.color } }; function pullQuoteMainColorSetter(colorValue) { const needTextColor = !textColor.color || wasTextColorAutomaticallyComputed.current; const shouldSetTextColor = isSolidColorStyle && needTextColor; if (isSolidColorStyle) { // If we use the solid color style, set the color using the normal mechanism. setMainColor(colorValue); } else { // If we use the default style, set the color as a custom color to force the usage of an inline style. // Default style uses a border color for which classes are not available. setAttributes({ customMainColor: colorValue }); } if (shouldSetTextColor) { if (colorValue) { wasTextColorAutomaticallyComputed.current = true; setTextColor(colorUtils.getMostReadableColor(colorValue)); } else if (wasTextColorAutomaticallyComputed.current) { // We have to unset our previously computed text color on unsetting the main color. wasTextColorAutomaticallyComputed.current = false; setTextColor(); } } } function pullQuoteTextColorSetter(colorValue) { setTextColor(colorValue); wasTextColorAutomaticallyComputed.current = false; } Object(external_wp_element_["useEffect"])(() => { // If the block includes a named color and we switched from the // solid color style to the default style. if (mainColor && !isSolidColorStyle) { // Remove the named color, and set the color as a custom color. // This is done because named colors use classes, in the default style we use a border color, // and themes don't set classes for border colors. setAttributes({ mainColor: undefined, customMainColor: mainColor.color }); } }, [isSolidColorStyle, mainColor]); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(Figure, newBlockProps, Object(external_wp_element_["createElement"])(BlockQuote, { style: { color: textColor.color }, className: textColor.color && classnames_default()('has-text-color', { [textColor.class]: textColor.class }) }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { identifier: "value", multiline: true, value: value, onChange: nextValue => setAttributes({ value: nextValue }), "aria-label": Object(external_wp_i18n_["__"])('Pullquote text'), placeholder: // translators: placeholder text used for the quote Object(external_wp_i18n_["__"])('Add quote'), textAlign: "center" }), (!external_wp_blockEditor_["RichText"].isEmpty(citation) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { identifier: "citation", value: citation, "aria-label": Object(external_wp_i18n_["__"])('Pullquote citation text'), placeholder: // translators: placeholder text used for the citation Object(external_wp_i18n_["__"])('Add citation'), onChange: nextCitation => setAttributes({ citation: nextCitation }), className: "wp-block-pullquote__citation", __unstableMobileNoFocusOnMount: true, textAlign: "center", __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) }))), external_wp_element_["Platform"].OS === 'web' && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["PanelColorSettings"], { title: Object(external_wp_i18n_["__"])('Color'), colorSettings: [{ value: mainColor.color, onChange: pullQuoteMainColorSetter, label: Object(external_wp_i18n_["__"])('Main color') }, { value: textColor.color, onChange: pullQuoteTextColorSetter, label: Object(external_wp_i18n_["__"])('Text color') }] }, isSolidColorStyle && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["ContrastChecker"], { textColor: textColor.color, backgroundColor: mainColor.color, isLargeText: false })))); } /* harmony default export */ var pullquote_edit = (Object(external_wp_blockEditor_["withColors"])({ mainColor: 'background-color', textColor: 'color' })(PullQuoteEdit)); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/save.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ function pullquote_save_save({ attributes }) { const { mainColor, customMainColor, textColor, customTextColor, value, citation, className } = attributes; const isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS); let figureClasses, figureStyles; // Is solid color style if (isSolidColorStyle) { const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', mainColor); figureClasses = classnames_default()({ 'has-background': backgroundClass || customMainColor, [backgroundClass]: backgroundClass }); figureStyles = { backgroundColor: backgroundClass ? undefined : customMainColor }; // Is normal style and a custom color is being used ( we can set a style directly with its value) } else if (customMainColor) { figureStyles = { borderColor: customMainColor }; } const blockquoteTextColorClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); const blockquoteClasses = (textColor || customTextColor) && classnames_default()('has-text-color', { [blockquoteTextColorClass]: blockquoteTextColorClass }); const blockquoteStyles = blockquoteTextColorClass ? undefined : { color: customTextColor }; return Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save({ className: figureClasses, style: figureStyles }), Object(external_wp_element_["createElement"])("blockquote", { className: blockquoteClasses, style: blockquoteStyles }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { value: value, multiline: true }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "cite", value: citation }))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/transforms.js /** * WordPress dependencies */ const pullquote_transforms_transforms = { from: [{ type: 'block', isMultiBlock: true, blocks: ['core/paragraph'], transform: attributes => { return Object(external_wp_blocks_["createBlock"])('core/pullquote', { value: Object(external_wp_richText_["toHTMLString"])({ value: Object(external_wp_richText_["join"])(attributes.map(({ content }) => Object(external_wp_richText_["create"])({ html: content })), '\u2028'), multilineTag: 'p' }), anchor: attributes.anchor }); } }, { type: 'block', blocks: ['core/heading'], transform: ({ content, anchor }) => { return Object(external_wp_blocks_["createBlock"])('core/pullquote', { value: `

    ${content}

    `, anchor }); } }], to: [{ type: 'block', blocks: ['core/paragraph'], transform: ({ value, citation }) => { const paragraphs = []; if (value && value !== '

    ') { paragraphs.push(...Object(external_wp_richText_["split"])(Object(external_wp_richText_["create"])({ html: value, multilineTag: 'p' }), '\u2028').map(piece => Object(external_wp_blocks_["createBlock"])('core/paragraph', { content: Object(external_wp_richText_["toHTMLString"])({ value: piece }) }))); } if (citation && citation !== '

    ') { paragraphs.push(Object(external_wp_blocks_["createBlock"])('core/paragraph', { content: citation })); } if (paragraphs.length === 0) { return Object(external_wp_blocks_["createBlock"])('core/paragraph', { content: '' }); } return paragraphs; } }, { type: 'block', blocks: ['core/heading'], transform: ({ value, citation, ...attrs }) => { // If there is no pullquote content, use the citation as the // content of the resulting heading. A nonexistent citation // will result in an empty heading. if (value === '

    ') { return Object(external_wp_blocks_["createBlock"])('core/heading', { content: citation }); } const pieces = Object(external_wp_richText_["split"])(Object(external_wp_richText_["create"])({ html: value, multilineTag: 'p' }), '\u2028'); const headingBlock = Object(external_wp_blocks_["createBlock"])('core/heading', { content: Object(external_wp_richText_["toHTMLString"])({ value: pieces[0] }) }); if (!citation && pieces.length === 1) { return headingBlock; } const quotePieces = pieces.slice(1); const pullquoteBlock = Object(external_wp_blocks_["createBlock"])('core/pullquote', { ...attrs, citation, value: Object(external_wp_richText_["toHTMLString"])({ value: quotePieces.length ? Object(external_wp_richText_["join"])(pieces.slice(1), '\u2028') : Object(external_wp_richText_["create"])(), multilineTag: 'p' }) }); return [headingBlock, pullquoteBlock]; } }] }; /* harmony default export */ var pullquote_transforms = (pullquote_transforms_transforms); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const pullquote_metadata = { apiVersion: 2, name: "core/pullquote", title: "Pullquote", category: "text", description: "Give special visual emphasis to a quote from your text.", textdomain: "default", attributes: { value: { type: "string", source: "html", selector: "blockquote", multiline: "p", __experimentalRole: "content" }, citation: { type: "string", source: "html", selector: "cite", "default": "", __experimentalRole: "content" }, mainColor: { type: "string" }, customMainColor: { type: "string" }, textColor: { type: "string" }, customTextColor: { type: "string" } }, supports: { anchor: true, align: ["left", "right", "wide", "full"] }, styles: [{ name: "default", label: "Default", isDefault: true }, { name: "solid-color", label: "Solid color" }], editorStyle: "wp-block-pullquote-editor", style: "wp-block-pullquote" }; const { name: pullquote_name } = pullquote_metadata; const pullquote_settings = { icon: library_pullquote, example: { attributes: { value: '

    ' + // translators: Quote serving as example for the Pullquote block. Attributed to Matt Mullenweg. Object(external_wp_i18n_["__"])('One of the hardest things to do in technology is disrupt yourself.') + '

    ', citation: Object(external_wp_i18n_["__"])('Matt Mullenweg') } }, transforms: pullquote_transforms, edit: pullquote_edit, save: pullquote_save_save, deprecated: pullquote_deprecated }; // EXTERNAL MODULE: external ["wp","reusableBlocks"] var external_wp_reusableBlocks_ = __webpack_require__("diJD"); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/ungroup.js /** * WordPress dependencies */ const ungroup = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M18 4h-7c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 9c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7zm-5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h1V9H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-1h-1.5v1z" })); /* harmony default export */ var library_ungroup = (ungroup); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/block/edit.js /** * WordPress dependencies */ function ReusableBlockEdit({ attributes: { ref }, clientId }) { const [hasAlreadyRendered, RecursionProvider] = Object(external_wp_blockEditor_["__experimentalUseNoRecursiveRenders"])(ref); const { isMissing, hasResolved } = Object(external_wp_data_["useSelect"])(select => { const persistedBlock = select(external_wp_coreData_["store"]).getEntityRecord('postType', 'wp_block', ref); const hasResolvedBlock = select(external_wp_coreData_["store"]).hasFinishedResolution('getEntityRecord', ['postType', 'wp_block', ref]); return { hasResolved: hasResolvedBlock, isMissing: hasResolvedBlock && !persistedBlock }; }, [ref, clientId]); const { __experimentalConvertBlockToStatic: convertBlockToStatic } = Object(external_wp_data_["useDispatch"])(external_wp_reusableBlocks_["store"]); const [blocks, onInput, onChange] = Object(external_wp_coreData_["useEntityBlockEditor"])('postType', 'wp_block', { id: ref }); const [title, setTitle] = Object(external_wp_coreData_["useEntityProp"])('postType', 'wp_block', 'title', ref); const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])({}, { value: blocks, onInput, onChange, renderAppender: blocks !== null && blocks !== void 0 && blocks.length ? undefined : external_wp_blockEditor_["InnerBlocks"].ButtonBlockAppender }); const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); if (hasAlreadyRendered) { return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["Warning"], null, Object(external_wp_i18n_["__"])('Block cannot be rendered inside itself.'))); } if (isMissing) { return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["Warning"], null, Object(external_wp_i18n_["__"])('Block has been deleted or is unavailable.'))); } if (!hasResolved) { return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null))); } return Object(external_wp_element_["createElement"])(RecursionProvider, null, Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { onClick: () => convertBlockToStatic(clientId), label: Object(external_wp_i18n_["__"])('Convert to regular blocks'), icon: library_ungroup, showTooltip: true }))), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], null, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { label: Object(external_wp_i18n_["__"])('Name'), value: title, onChange: setTitle }))), Object(external_wp_element_["createElement"])("div", { className: "block-library-block__reusable-block-container" }, Object(external_wp_element_["createElement"])("div", innerBlocksProps)))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/block/index.js /** * Internal dependencies */ const block_metadata = { apiVersion: 2, name: "core/block", title: "Reusable block", category: "reusable", description: "Create and save content to reuse across your site. Update the block, and the changes apply everywhere it\u2019s used.", textdomain: "default", attributes: { ref: { type: "number" } }, supports: { customClassName: false, html: false, inserter: false }, editorStyle: "wp-block-editor" }; const { name: block_name } = block_metadata; const block_settings = { edit: ReusableBlockEdit }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/rss.js /** * WordPress dependencies */ const rss = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M5 10.2h-.8v1.5H5c1.9 0 3.8.8 5.1 2.1 1.4 1.4 2.1 3.2 2.1 5.1v.8h1.5V19c0-2.3-.9-4.5-2.6-6.2-1.6-1.6-3.8-2.6-6.1-2.6zm10.4-1.6C12.6 5.8 8.9 4.2 5 4.2h-.8v1.5H5c3.5 0 6.9 1.4 9.4 3.9s3.9 5.8 3.9 9.4v.8h1.5V19c0-3.9-1.6-7.6-4.4-10.4zM4 20h3v-3H4v3z" })); /* harmony default export */ var library_rss = (rss); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/rss/edit.js /** * WordPress dependencies */ const DEFAULT_MIN_ITEMS = 1; const DEFAULT_MAX_ITEMS = 10; function RSSEdit({ attributes, setAttributes }) { const [isEditing, setIsEditing] = Object(external_wp_element_["useState"])(!attributes.feedURL); const { blockLayout, columns, displayAuthor, displayDate, displayExcerpt, excerptLength, feedURL, itemsToShow } = attributes; function toggleAttribute(propName) { return () => { const value = attributes[propName]; setAttributes({ [propName]: !value }); }; } function onSubmitURL(event) { event.preventDefault(); if (feedURL) { setIsEditing(false); } } const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); if (isEditing) { return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { icon: library_rss, label: "RSS" }, Object(external_wp_element_["createElement"])("form", { onSubmit: onSubmitURL, className: "wp-block-rss__placeholder-form" }, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { placeholder: Object(external_wp_i18n_["__"])('Enter URL here…'), value: feedURL, onChange: value => setAttributes({ feedURL: value }), className: "wp-block-rss__placeholder-input" }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { isPrimary: true, type: "submit" }, Object(external_wp_i18n_["__"])('Use URL'))))); } const toolbarControls = [{ icon: library_edit["a" /* default */], title: Object(external_wp_i18n_["__"])('Edit RSS URL'), onClick: () => setIsEditing(true) }, { icon: library_list, title: Object(external_wp_i18n_["__"])('List view'), onClick: () => setAttributes({ blockLayout: 'list' }), isActive: blockLayout === 'list' }, { icon: grid["a" /* default */], title: Object(external_wp_i18n_["__"])('Grid view'), onClick: () => setAttributes({ blockLayout: 'grid' }), isActive: blockLayout === 'grid' }]; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], { controls: toolbarControls })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('RSS settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { label: Object(external_wp_i18n_["__"])('Number of items'), value: itemsToShow, onChange: value => setAttributes({ itemsToShow: value }), min: DEFAULT_MIN_ITEMS, max: DEFAULT_MAX_ITEMS, required: true }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Display author'), checked: displayAuthor, onChange: toggleAttribute('displayAuthor') }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Display date'), checked: displayDate, onChange: toggleAttribute('displayDate') }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Display excerpt'), checked: displayExcerpt, onChange: toggleAttribute('displayExcerpt') }), displayExcerpt && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { label: Object(external_wp_i18n_["__"])('Max number of words in excerpt'), value: excerptLength, onChange: value => setAttributes({ excerptLength: value }), min: 10, max: 100, required: true }), blockLayout === 'grid' && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { label: Object(external_wp_i18n_["__"])('Columns'), value: columns, onChange: value => setAttributes({ columns: value }), min: 2, max: 6, required: true }))), Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], null, Object(external_wp_element_["createElement"])(external_wp_serverSideRender_default.a, { block: "core/rss", attributes: attributes })))); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/rss/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const rss_metadata = { apiVersion: 2, name: "core/rss", title: "RSS", category: "widgets", description: "Display entries from any RSS or Atom feed.", keywords: ["atom", "feed"], textdomain: "default", attributes: { columns: { type: "number", "default": 2 }, blockLayout: { type: "string", "default": "list" }, feedURL: { type: "string", "default": "" }, itemsToShow: { type: "number", "default": 5 }, displayExcerpt: { type: "boolean", "default": false }, displayAuthor: { type: "boolean", "default": false }, displayDate: { type: "boolean", "default": false }, excerptLength: { type: "number", "default": 55 } }, supports: { align: true, html: false }, editorStyle: "wp-block-rss-editor", style: "wp-block-rss" }; const { name: rss_name } = rss_metadata; const rss_settings = { icon: library_rss, example: { attributes: { feedURL: 'https://wordpress.org' } }, edit: RSSEdit }; // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/search/icons.js /** * WordPress dependencies */ const buttonOnly = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { x: "7", y: "10", width: "10", height: "4", rx: "1", fill: "currentColor" })); const buttonOutside = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { x: "4.75", y: "15.25", width: "6.5", height: "9.5", transform: "rotate(-90 4.75 15.25)", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { x: "16", y: "10", width: "4", height: "4", rx: "1", fill: "currentColor" })); const buttonInside = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { x: "4.75", y: "15.25", width: "6.5", height: "14.5", transform: "rotate(-90 4.75 15.25)", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { x: "14", y: "10", width: "4", height: "4", rx: "1", fill: "currentColor" })); const noButton = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { x: "4.75", y: "15.25", width: "6.5", height: "14.5", transform: "rotate(-90 4.75 15.25)", stroke: "currentColor", fill: "none", strokeWidth: "1.5" })); const buttonWithIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { x: "4.75", y: "7.75", width: "14.5", height: "8.5", rx: "1.25", stroke: "currentColor", fill: "none", strokeWidth: "1.5" }), Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { x: "8", y: "11", width: "8", height: "2", fill: "currentColor" })); const toggleLabel = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { x: "4.75", y: "17.25", width: "5.5", height: "14.5", transform: "rotate(-90 4.75 17.25)", stroke: "currentColor", fill: "none", strokeWidth: "1.5" }), Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { x: "4", y: "7", width: "10", height: "2", fill: "currentColor" })); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/search/utils.js /** * Constants */ const PC_WIDTH_DEFAULT = 50; const PX_WIDTH_DEFAULT = 350; const MIN_WIDTH = 220; const MIN_WIDTH_UNIT = 'px'; /** * Returns a boolean whether passed unit is percentage * * @param {string} unit Block width unit. * * @return {boolean} Whether unit is '%'. */ function utils_isPercentageUnit(unit) { return unit === '%'; } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/search/edit.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ // Used to calculate border radius adjustment to avoid "fat" corners when // button is placed inside wrapper. const DEFAULT_INNER_PADDING = 4; function SearchEdit({ className, attributes, setAttributes, toggleSelection, isSelected }) { var _style$border; const { label, showLabel, placeholder, width, widthUnit, align, buttonText, buttonPosition, buttonUseIcon, style } = attributes; const borderRadius = style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius; const unitControlInstanceId = Object(external_wp_compose_["useInstanceId"])(external_wp_blockEditor_["__experimentalUnitControl"]); const unitControlInputId = `wp-block-search__width-${unitControlInstanceId}`; const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ availableUnits: ['%', 'px'], defaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT } }); const getBlockClassNames = () => { return classnames_default()(className, 'button-inside' === buttonPosition ? 'wp-block-search__button-inside' : undefined, 'button-outside' === buttonPosition ? 'wp-block-search__button-outside' : undefined, 'no-button' === buttonPosition ? 'wp-block-search__no-button' : undefined, 'button-only' === buttonPosition ? 'wp-block-search__button-only' : undefined, !buttonUseIcon && 'no-button' !== buttonPosition ? 'wp-block-search__text-button' : undefined, buttonUseIcon && 'no-button' !== buttonPosition ? 'wp-block-search__icon-button' : undefined); }; const getButtonPositionIcon = () => { switch (buttonPosition) { case 'button-inside': return buttonInside; case 'button-outside': return buttonOutside; case 'no-button': return noButton; case 'button-only': return buttonOnly; } }; const getResizableSides = () => { if ('button-only' === buttonPosition) { return {}; } return { right: align === 'right' ? false : true, left: align === 'right' ? true : false }; }; const renderTextField = () => { return Object(external_wp_element_["createElement"])("input", { className: "wp-block-search__input", style: { borderRadius }, "aria-label": Object(external_wp_i18n_["__"])('Optional placeholder text') // We hide the placeholder field's placeholder when there is a value. This // stops screen readers from reading the placeholder field's placeholder // which is confusing. , placeholder: placeholder ? undefined : Object(external_wp_i18n_["__"])('Optional placeholder…'), value: placeholder, onChange: event => setAttributes({ placeholder: event.target.value }) }); }; const renderButton = () => { return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, buttonUseIcon && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { icon: library_search["a" /* default */], className: "wp-block-search__button", style: { borderRadius } }), !buttonUseIcon && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { className: "wp-block-search__button", style: { borderRadius }, "aria-label": Object(external_wp_i18n_["__"])('Button text'), placeholder: Object(external_wp_i18n_["__"])('Add button text…'), withoutInteractiveFormatting: true, value: buttonText, onChange: html => setAttributes({ buttonText: html }) })); }; const controls = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { title: Object(external_wp_i18n_["__"])('Toggle search label'), icon: toggleLabel, onClick: () => { setAttributes({ showLabel: !showLabel }); }, className: showLabel ? 'is-pressed' : undefined }), Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { icon: getButtonPositionIcon(), label: Object(external_wp_i18n_["__"])('Change button position') }, ({ onClose }) => Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { className: "wp-block-search__button-position-menu" }, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { icon: noButton, onClick: () => { setAttributes({ buttonPosition: 'no-button' }); onClose(); } }, Object(external_wp_i18n_["__"])('No Button')), Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { icon: buttonOutside, onClick: () => { setAttributes({ buttonPosition: 'button-outside' }); onClose(); } }, Object(external_wp_i18n_["__"])('Button Outside')), Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { icon: buttonInside, onClick: () => { setAttributes({ buttonPosition: 'button-inside' }); onClose(); } }, Object(external_wp_i18n_["__"])('Button Inside')))), 'no-button' !== buttonPosition && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { title: Object(external_wp_i18n_["__"])('Use button with icon'), icon: buttonWithIcon, onClick: () => { setAttributes({ buttonUseIcon: !buttonUseIcon }); }, className: buttonUseIcon ? 'is-pressed' : undefined }))), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Display Settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], { label: Object(external_wp_i18n_["__"])('Width'), id: unitControlInputId }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalUnitControl"], { id: unitControlInputId, min: `${MIN_WIDTH}${MIN_WIDTH_UNIT}`, onChange: newWidth => { const filteredWidth = widthUnit === '%' && parseInt(newWidth, 10) > 100 ? 100 : newWidth; setAttributes({ width: parseInt(filteredWidth, 10) }); }, onUnitChange: newUnit => { setAttributes({ width: '%' === newUnit ? PC_WIDTH_DEFAULT : PX_WIDTH_DEFAULT, widthUnit: newUnit }); }, style: { maxWidth: 80 }, value: `${width}${widthUnit}`, unit: widthUnit, units: units }), Object(external_wp_element_["createElement"])(external_wp_components_["ButtonGroup"], { className: "wp-block-search__components-button-group", "aria-label": Object(external_wp_i18n_["__"])('Percentage Width') }, [25, 50, 75, 100].map(widthValue => { return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { key: widthValue, isSmall: true, isPrimary: `${widthValue}%` === `${width}${widthUnit}`, onClick: () => setAttributes({ width: widthValue, widthUnit: '%' }) }, widthValue, "%"); })))))); const getWrapperStyles = () => { var _style$border2; if ('button-inside' === buttonPosition && style !== null && style !== void 0 && (_style$border2 = style.border) !== null && _style$border2 !== void 0 && _style$border2.radius) { var _style$border3; // We have button inside wrapper and a border radius value to apply. // Add default padding so we don't get "fat" corners. const outerRadius = parseInt(style === null || style === void 0 ? void 0 : (_style$border3 = style.border) === null || _style$border3 === void 0 ? void 0 : _style$border3.radius, 10) + DEFAULT_INNER_PADDING; return { borderRadius: `${outerRadius}px` }; } return undefined; }; const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ className: getBlockClassNames() }); return Object(external_wp_element_["createElement"])("div", blockProps, controls, showLabel && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { className: "wp-block-search__label", "aria-label": Object(external_wp_i18n_["__"])('Label text'), placeholder: Object(external_wp_i18n_["__"])('Add label…'), withoutInteractiveFormatting: true, value: label, onChange: html => setAttributes({ label: html }) }), Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], { size: { width: `${width}${widthUnit}` }, className: "wp-block-search__inside-wrapper", style: getWrapperStyles(), minWidth: MIN_WIDTH, enable: getResizableSides(), onResizeStart: (event, direction, elt) => { setAttributes({ width: parseInt(elt.offsetWidth, 10), widthUnit: 'px' }); toggleSelection(false); }, onResizeStop: (event, direction, elt, delta) => { setAttributes({ width: parseInt(width + delta.width, 10) }); toggleSelection(true); }, showHandle: isSelected }, ('button-inside' === buttonPosition || 'button-outside' === buttonPosition) && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, renderTextField(), renderButton()), 'button-only' === buttonPosition && renderButton(), 'no-button' === buttonPosition && renderTextField())); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/search/variations.js /** * WordPress dependencies */ const search_variations_variations = [{ name: 'default', isDefault: true, attributes: { buttonText: Object(external_wp_i18n_["__"])('Search'), label: Object(external_wp_i18n_["__"])('Search') } }]; /* harmony default export */ var search_variations = (search_variations_variations); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/search/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const search_metadata = { apiVersion: 2, name: "core/search", title: "Search", category: "widgets", description: "Help visitors find your content.", keywords: ["find"], textdomain: "default", attributes: { label: { type: "string", __experimentalRole: "content" }, showLabel: { type: "boolean", "default": true }, placeholder: { type: "string", "default": "", __experimentalRole: "content" }, width: { type: "number" }, widthUnit: { type: "string" }, buttonText: { type: "string", __experimentalRole: "content" }, buttonPosition: { type: "string", "default": "button-outside" }, buttonUseIcon: { type: "boolean", "default": false } }, supports: { align: ["left", "center", "right"], __experimentalBorder: { radius: true, __experimentalSkipSerialization: true }, html: false }, editorStyle: "wp-block-search-editor", style: "wp-block-search" }; const { name: search_name } = search_metadata; const search_settings = { icon: library_search["a" /* default */], example: {}, variations: search_variations, edit: SearchEdit }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/group.js /** * WordPress dependencies */ const group = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M18 4h-7c-1.1 0-2 .9-2 2v3H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h3V13c0 1.1.9 2 2 2h2.5v3zm0-4.5H11c-.3 0-.5-.2-.5-.5v-2.5H13c.3 0 .5.2.5.5v2.5zm5-.5c0 .3-.2.5-.5.5h-3V11c0-1.1-.9-2-2-2h-2.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7z" })); /* harmony default export */ var library_group = (group); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/group/deprecated.js /** * External dependencies */ /** * WordPress dependencies */ const migrateAttributes = attributes => { if (!attributes.tagName) { attributes = { ...attributes, tagName: 'div' }; } 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 { ...Object(external_lodash_["omit"])(attributes, ['customTextColor', 'customBackgroundColor']), style }; }; const group_deprecated_deprecated = [// Version of the block with the double div. { attributes: { tagName: { type: 'string', default: 'div' }, templateLock: { type: 'string' } }, supports: { align: ['wide', 'full'], anchor: true, color: { gradients: true, link: true }, spacing: { padding: true }, __experimentalBorder: { radius: true } }, save({ attributes }) { const { tagName: Tag } = attributes; return Object(external_wp_element_["createElement"])(Tag, external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])("div", { className: "wp-block-group__inner-container" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); } }, // Version of the block without global styles support { attributes: { backgroundColor: { type: 'string' }, customBackgroundColor: { type: 'string' }, textColor: { type: 'string' }, customTextColor: { type: 'string' } }, supports: { align: ['wide', 'full'], anchor: true, html: false }, migrate: migrateAttributes, save({ attributes }) { const { backgroundColor, customBackgroundColor, textColor, customTextColor } = attributes; const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); const className = classnames_default()(backgroundClass, textClass, { 'has-text-color': textColor || customTextColor, 'has-background': backgroundColor || customBackgroundColor }); const styles = { backgroundColor: backgroundClass ? undefined : customBackgroundColor, color: textClass ? undefined : customTextColor }; return Object(external_wp_element_["createElement"])("div", { className: className, style: styles }, Object(external_wp_element_["createElement"])("div", { className: "wp-block-group__inner-container" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); } }, // Version of the group block with a bug that made text color class not applied. { attributes: { backgroundColor: { type: 'string' }, customBackgroundColor: { type: 'string' }, textColor: { type: 'string' }, customTextColor: { type: 'string' } }, migrate: migrateAttributes, supports: { align: ['wide', 'full'], anchor: true, html: false }, save({ attributes }) { const { backgroundColor, customBackgroundColor, textColor, customTextColor } = attributes; const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); const className = classnames_default()(backgroundClass, { 'has-text-color': textColor || customTextColor, 'has-background': backgroundColor || customBackgroundColor }); const styles = { backgroundColor: backgroundClass ? undefined : customBackgroundColor, color: textClass ? undefined : customTextColor }; return Object(external_wp_element_["createElement"])("div", { className: className, style: styles }, Object(external_wp_element_["createElement"])("div", { className: "wp-block-group__inner-container" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); } }, // v1 of group block. Deprecated to add an inner-container div around `InnerBlocks.Content`. { attributes: { backgroundColor: { type: 'string' }, customBackgroundColor: { type: 'string' } }, supports: { align: ['wide', 'full'], anchor: true, html: false }, migrate: migrateAttributes, save({ attributes }) { const { backgroundColor, customBackgroundColor } = attributes; const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); const className = classnames_default()(backgroundClass, { 'has-background': backgroundColor || customBackgroundColor }); const styles = { backgroundColor: backgroundClass ? undefined : customBackgroundColor }; return Object(external_wp_element_["createElement"])("div", { className: className, style: styles }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); } }]; /* harmony default export */ var group_deprecated = (group_deprecated_deprecated); // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/group/edit.js /** * WordPress dependencies */ function GroupEdit({ attributes, setAttributes, clientId }) { const { hasInnerBlocks, themeSupportsLayout } = Object(external_wp_data_["useSelect"])(select => { var _getSettings; const { getBlock, getSettings } = select(external_wp_blockEditor_["store"]); const block = getBlock(clientId); return { hasInnerBlocks: !!(block && block.innerBlocks.length), themeSupportsLayout: (_getSettings = getSettings()) === null || _getSettings === void 0 ? void 0 : _getSettings.supportsLayout }; }, [clientId]); const defaultLayout = Object(external_wp_blockEditor_["useSetting"])('layout') || {}; const { tagName: TagName = 'div', templateLock, layout = {} } = attributes; const usedLayout = !!layout && layout.inherit ? defaultLayout : layout; const { contentSize, wideSize } = usedLayout; const _layout = Object(external_wp_element_["useMemo"])(() => { if (themeSupportsLayout) { const alignments = contentSize || wideSize ? ['wide', 'full', 'left', 'center', 'right'] : ['left', 'center', 'right']; return { type: 'default', // Find a way to inject this in the support flag code (hooks). alignments }; } return undefined; }, [themeSupportsLayout, contentSize, wideSize]); const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])(themeSupportsLayout ? blockProps : { className: 'wp-block-group__inner-container' }, { templateLock, renderAppender: hasInnerBlocks ? undefined : external_wp_blockEditor_["InnerBlocks"].ButtonBlockAppender, __experimentalLayout: _layout }); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorAdvancedControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { label: Object(external_wp_i18n_["__"])('HTML element'), options: [{ label: Object(external_wp_i18n_["__"])('Default (
    )'), value: 'div' }, { label: '
    ', value: 'header' }, { label: '
    ', value: 'main' }, { label: '
    ', value: 'section' }, { label: '
    ', value: 'article' }, { label: '