diff -r 3d4e9c994f10 -r a86126ab1dd4 wp/wp-includes/js/dist/format-library.js --- a/wp/wp-includes/js/dist/format-library.js Tue Oct 22 16:11:46 2019 +0200 +++ b/wp/wp-includes/js/dist/format-library.js Tue Dec 15 13:49:49 2020 +0100 @@ -82,7 +82,7 @@ /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 367); +/******/ return __webpack_require__(__webpack_require__.s = 446); /******/ }) /************************************************************************/ /******/ ({ @@ -101,39 +101,158 @@ /***/ }), -/***/ 10: +/***/ 12: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _assertThisInitialized; }); +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; +} + +/***/ }), + +/***/ 137: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _classCallCheck; }); -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } +/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5); +/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__); + + + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +/** + * WordPress dependencies + */ + // Disable reason: JSDoc linter doesn't seem to parse the union (`&`) correctly. + +/* eslint-disable jsdoc/valid-types */ + +/** @typedef {{icon: JSX.Element, size?: number} & import('react').ComponentPropsWithoutRef<'SVG'>} IconProps */ + +/* eslint-enable jsdoc/valid-types */ + +/** + * Return an SVG icon. + * + * @param {IconProps} props icon is the SVG component to render + * size is a number specifiying the icon size in pixels + * Other props will be passed to wrapped SVG component + * + * @return {JSX.Element} Icon component + */ + +function Icon(_ref) { + var icon = _ref.icon, + _ref$size = _ref.size, + size = _ref$size === void 0 ? 24 : _ref$size, + props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_ref, ["icon", "size"]); + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["cloneElement"])(icon, _objectSpread({ + width: size, + height: size + }, props)); } +/* harmony default export */ __webpack_exports__["a"] = (Icon); + + /***/ }), -/***/ 11: +/***/ 14: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _possibleConstructorReturn; }); -/* harmony import */ var _helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32); -/* harmony import */ var _assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3); - - -function _possibleConstructorReturn(self, call) { - if (call && (Object(_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(call) === "object" || typeof call === "function")) { - return call; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _slicedToArray; }); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +var arrayWithHoles = __webpack_require__(38); + +// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +function _iterableToArrayLimit(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; + 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 Object(_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(self); + return _arr; +} +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +var unsupportedIterableToArray = __webpack_require__(29); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +var nonIterableRest = __webpack_require__(39); + +// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + + + + +function _slicedToArray(arr, i) { + return Object(arrayWithHoles["a" /* default */])(arr) || _iterableToArrayLimit(arr, i) || Object(unsupportedIterableToArray["a" /* default */])(arr, i) || Object(nonIterableRest["a" /* default */])(); } /***/ }), -/***/ 12: +/***/ 15: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; }); +/* harmony import */ var _objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41); + +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + var target = Object(_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(source, excluded); + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; +} + +/***/ }), + +/***/ 16: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -147,10 +266,138 @@ /***/ }), -/***/ 13: +/***/ 180: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); +/* 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__(6); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +var 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); + + +/***/ }), + +/***/ 19: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _createClass; }); +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +(function() { module.exports = this["lodash"]; }()); + +/***/ }), + +/***/ 20: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _classCallCheck; }); +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +/***/ }), + +/***/ 203: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); +/* 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__(6); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +var keyboardReturn = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "-2 -2 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { + d: "M16 4h2v9H7v3l-5-4 5-4v3h9V4z" +})); +/* harmony default export */ __webpack_exports__["a"] = (keyboardReturn); + + +/***/ }), + +/***/ 205: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); +/* 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__(6); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +var linkOff = 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.3h-.7l1.6-3.5-.9-.4-3.9 8.5H9v1.5h2l-1.3 2.8H8.4c-2 0-3.7-1.7-3.7-3.7s1.7-3.7 3.7-3.7H10V7.3H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H9l-1.4 3.2.9.4 5.7-12.5h1.4c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.9 0 5.2-2.3 5.2-5.2 0-2.9-2.4-5.2-5.2-5.2z" +})); +/* harmony default export */ __webpack_exports__["a"] = (linkOff); + + +/***/ }), + +/***/ 21: +/***/ (function(module, exports) { + +(function() { module.exports = this["wp"]["keycodes"]; }()); + +/***/ }), + +/***/ 22: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _inherits; }); // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js function _setPrototypeOf(o, p) { @@ -162,7 +409,6 @@ return _setPrototypeOf(o, p); } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _inherits; }); function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { @@ -181,138 +427,170 @@ /***/ }), -/***/ 15: +/***/ 23: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _defineProperty; }); -function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _possibleConstructorReturn; }); +/* harmony import */ var _helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40); +/* harmony import */ var _assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12); + + +function _possibleConstructorReturn(self, call) { + if (call && (Object(_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(call) === "object" || typeof call === "function")) { + return call; } - return obj; + return Object(_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(self); } /***/ }), -/***/ 16: -/***/ (function(module, exports, __webpack_require__) { - -var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! - Copyright (c) 2017 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/ -/* global define */ - -(function () { - 'use strict'; - - var hasOwn = {}.hasOwnProperty; - - function classNames () { - var classes = []; - - for (var i = 0; i < arguments.length; i++) { - var arg = arguments[i]; - if (!arg) continue; - - var argType = typeof arg; - - if (argType === 'string' || argType === 'number') { - classes.push(arg); - } else if (Array.isArray(arg) && arg.length) { - var inner = classNames.apply(null, arg); - if (inner) { - classes.push(inner); - } - } else if (argType === 'object') { - for (var key in arg) { - if (hasOwn.call(arg, key) && arg[key]) { - classes.push(key); - } - } - } - } - - return classes.join(' '); - } - - if ( true && module.exports) { - classNames.default = classNames; - module.exports = classNames; - } else if (true) { - // register as 'classnames', consistent with npm package name - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { - return classNames; - }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else {} -}()); - - -/***/ }), - -/***/ 18: -/***/ (function(module, exports) { - -(function() { module.exports = this["wp"]["keycodes"]; }()); - -/***/ }), - -/***/ 19: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; }); -function _extends() { - _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; - }; - - return _extends.apply(this, arguments); -} - -/***/ }), - -/***/ 2: -/***/ (function(module, exports) { - -(function() { module.exports = this["lodash"]; }()); - -/***/ }), - -/***/ 20: +/***/ 25: /***/ (function(module, exports) { (function() { module.exports = this["wp"]["richText"]; }()); /***/ }), -/***/ 21: +/***/ 26: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _arrayLikeToArray; }); +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} + +/***/ }), + +/***/ 29: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _unsupportedIterableToArray; }); +/* harmony import */ var _arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26); + +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return Object(_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Object(_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(o, minLen); +} + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +(function() { module.exports = this["wp"]["components"]; }()); + +/***/ }), + +/***/ 30: +/***/ (function(module, exports) { + +(function() { module.exports = this["wp"]["dom"]; }()); + +/***/ }), + +/***/ 301: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); +/* 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__(6); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +var 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); + + +/***/ }), + +/***/ 31: +/***/ (function(module, exports) { + +(function() { module.exports = this["wp"]["url"]; }()); + +/***/ }), + +/***/ 38: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _arrayWithHoles; }); +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} + +/***/ }), + +/***/ 39: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _nonIterableRest; }); +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +(function() { module.exports = this["wp"]["data"]; }()); + +/***/ }), + +/***/ 40: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _typeof; }); +function _typeof(obj) { + "@babel/helpers - typeof"; + + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function _typeof(obj) { + return typeof obj; + }; + } else { + _typeof = function _typeof(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + + return _typeof(obj); +} + +/***/ }), + +/***/ 41: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutPropertiesLoose; }); function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; @@ -327,93 +605,46 @@ return target; } -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; }); - -function _objectWithoutProperties(source, excluded) { - if (source == null) return {}; - var target = _objectWithoutPropertiesLoose(source, excluded); - var key, i; - - if (Object.getOwnPropertySymbols) { - var sourceSymbolKeys = Object.getOwnPropertySymbols(source); - - for (i = 0; i < sourceSymbolKeys.length; i++) { - key = sourceSymbolKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; - target[key] = source[key]; - } - } - - return target; -} /***/ }), -/***/ 24: -/***/ (function(module, exports) { - -(function() { module.exports = this["wp"]["dom"]; }()); - -/***/ }), - -/***/ 25: -/***/ (function(module, exports) { - -(function() { module.exports = this["wp"]["url"]; }()); - -/***/ }), - -/***/ 3: +/***/ 410: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _assertThisInitialized; }); -function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - - return self; -} +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); +/* 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__(6); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +var textColor = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "-2 -2 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { + d: "M13.23 15h1.9L11 4H9L5 15h1.88l1.07-3h4.18zm-1.53-4.54H8.51L10 5.6z" +})); +/* harmony default export */ __webpack_exports__["a"] = (textColor); + /***/ }), -/***/ 32: +/***/ 446: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _typeof; }); -function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); } - -function _typeof(obj) { - if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { - _typeof = function _typeof(obj) { - return _typeof2(obj); - }; - } else { - _typeof = function _typeof(obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj); - }; - } - - return _typeof(obj); -} - -/***/ }), - -/***/ 367: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; +// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js + 1 modules -var objectWithoutProperties = __webpack_require__(21); +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +var objectWithoutProperties = __webpack_require__(15); // EXTERNAL MODULE: external {"this":["wp","richText"]} -var external_this_wp_richText_ = __webpack_require__(20); +var external_this_wp_richText_ = __webpack_require__(25); // EXTERNAL MODULE: external {"this":["wp","element"]} var external_this_wp_element_ = __webpack_require__(0); @@ -422,7 +653,25 @@ var external_this_wp_i18n_ = __webpack_require__(1); // EXTERNAL MODULE: external {"this":["wp","blockEditor"]} -var external_this_wp_blockEditor_ = __webpack_require__(8); +var external_this_wp_blockEditor_ = __webpack_require__(7); + +// EXTERNAL MODULE: external {"this":["wp","primitives"]} +var external_this_wp_primitives_ = __webpack_require__(6); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-bold.js + + +/** + * WordPress dependencies + */ + +var formatBold = Object(external_this_wp_element_["createElement"])(external_this_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_this_wp_element_["createElement"])(external_this_wp_primitives_["Path"], { + d: "M14.7 11.3c1-.6 1.5-1.6 1.5-3 0-2.3-1.3-3.4-4-3.4H7v14h5.8c1.4 0 2.5-.3 3.3-1 .8-.7 1.2-1.7 1.2-2.9.1-1.9-.8-3.1-2.6-3.7zm-5.1-4h2.3c.6 0 1.1.1 1.4.4.3.3.5.7.5 1.2s-.2 1-.5 1.2c-.3.3-.8.4-1.4.4H9.6V7.3zm4.6 9c-.4.3-1 .4-1.7.4H9.6v-3.9h2.9c.7 0 1.3.2 1.7.5.4.3.6.8.6 1.5s-.2 1.2-.6 1.5z" +})); +/* harmony default export */ var format_bold = (formatBold); // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/bold/index.js @@ -435,21 +684,30 @@ var bold_name = 'core/bold'; + +var title = Object(external_this_wp_i18n_["__"])('Bold'); + var bold = { name: bold_name, - title: Object(external_this_wp_i18n_["__"])('Bold'), + title: title, tagName: 'strong', className: null, edit: function edit(_ref) { var isActive = _ref.isActive, value = _ref.value, - onChange = _ref.onChange; - - var onToggle = function onToggle() { - return onChange(Object(external_this_wp_richText_["toggleFormat"])(value, { + onChange = _ref.onChange, + onFocus = _ref.onFocus; + + function onToggle() { + onChange(Object(external_this_wp_richText_["toggleFormat"])(value, { type: bold_name })); - }; + } + + function onClick() { + onToggle(); + onFocus(); + } return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextShortcut"], { type: "primary", @@ -457,19 +715,22 @@ onUse: onToggle }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], { name: "bold", - icon: "editor-bold", - title: Object(external_this_wp_i18n_["__"])('Bold'), - onClick: onToggle, + icon: format_bold, + title: title, + onClick: onClick, isActive: isActive, shortcutType: "primary", shortcutCharacter: "b" - }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["UnstableRichTextInputEvent"], { + }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["__unstableRichTextInputEvent"], { inputType: "formatBold", onInput: onToggle })); } }; +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/code.js +var code = __webpack_require__(301); + // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/code/index.js @@ -481,63 +742,97 @@ var code_name = 'core/code'; -var code = { + +var code_title = Object(external_this_wp_i18n_["__"])('Inline Code'); + +var code_code = { name: code_name, - title: Object(external_this_wp_i18n_["__"])('Code'), + title: code_title, tagName: 'code', className: null, + __unstableInputRule: function __unstableInputRule(value) { + var BACKTICK = '`'; + var _value = value, + start = _value.start, + text = _value.text; + var characterBefore = text.slice(start - 1, start); // Quick check the text for the necessary character. + + if (characterBefore !== BACKTICK) { + return value; + } + + var textBefore = text.slice(0, start - 1); + var indexBefore = textBefore.lastIndexOf(BACKTICK); + + if (indexBefore === -1) { + return value; + } + + var startIndex = indexBefore; + var endIndex = start - 2; + + if (startIndex === endIndex) { + return value; + } + + value = Object(external_this_wp_richText_["remove"])(value, startIndex, startIndex + 1); + value = Object(external_this_wp_richText_["remove"])(value, endIndex, endIndex + 1); + value = Object(external_this_wp_richText_["applyFormat"])(value, { + type: code_name + }, startIndex, endIndex); + return value; + }, edit: function edit(_ref) { var value = _ref.value, onChange = _ref.onChange, + onFocus = _ref.onFocus, isActive = _ref.isActive; - var onToggle = function onToggle() { - return onChange(Object(external_this_wp_richText_["toggleFormat"])(value, { + function onClick() { + onChange(Object(external_this_wp_richText_["toggleFormat"])(value, { type: code_name })); - }; - - return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextShortcut"], { - type: "access", - character: "x", - onUse: onToggle - }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], { - icon: "editor-code", - title: Object(external_this_wp_i18n_["__"])('Code'), - onClick: onToggle, - isActive: isActive, - shortcutType: "access", - shortcutCharacter: "x" - })); + onFocus(); + } + + return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], { + icon: code["a" /* default */], + title: code_title, + onClick: onClick, + isActive: isActive + }); } }; -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread.js -var objectSpread = __webpack_require__(7); +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js +var defineProperty = __webpack_require__(5); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js -var classCallCheck = __webpack_require__(10); +var classCallCheck = __webpack_require__(20); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js -var createClass = __webpack_require__(9); +var createClass = __webpack_require__(19); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +var assertThisInitialized = __webpack_require__(12); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js -var possibleConstructorReturn = __webpack_require__(11); +var possibleConstructorReturn = __webpack_require__(23); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js -var getPrototypeOf = __webpack_require__(12); +var getPrototypeOf = __webpack_require__(16); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules -var inherits = __webpack_require__(13); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js -var assertThisInitialized = __webpack_require__(3); +var inherits = __webpack_require__(22); // EXTERNAL MODULE: external {"this":["wp","components"]} -var external_this_wp_components_ = __webpack_require__(4); +var external_this_wp_components_ = __webpack_require__(3); // EXTERNAL MODULE: external {"this":["wp","keycodes"]} -var external_this_wp_keycodes_ = __webpack_require__(18); +var external_this_wp_keycodes_ = __webpack_require__(21); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/keyboard-return.js +var keyboard_return = __webpack_require__(203); // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/image/index.js @@ -549,6 +844,14 @@ +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _createSuper(Derived) { return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + /** * WordPress dependencies */ @@ -558,16 +861,24 @@ + var ALLOWED_MEDIA_TYPES = ['image']; var image_name = 'core/image'; +var image_title = Object(external_this_wp_i18n_["__"])('Inline image'); + var stopKeyPropagation = function stopKeyPropagation(event) { return event.stopPropagation(); }; +function getRange() { + var selection = window.getSelection(); + return selection.rangeCount ? selection.getRangeAt(0) : null; +} + var image_image = { name: image_name, - title: Object(external_this_wp_i18n_["__"])('Image'), + title: image_title, keywords: [Object(external_this_wp_i18n_["__"])('photo'), Object(external_this_wp_i18n_["__"])('media')], object: true, tagName: 'img', @@ -578,21 +889,22 @@ url: 'src', alt: 'alt' }, - edit: - /*#__PURE__*/ - function (_Component) { + edit: /*#__PURE__*/function (_Component) { Object(inherits["a" /* default */])(ImageEdit, _Component); + var _super = _createSuper(ImageEdit); + function ImageEdit() { var _this; Object(classCallCheck["a" /* default */])(this, ImageEdit); - _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(ImageEdit).apply(this, arguments)); - _this.onChange = _this.onChange.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this))); - _this.onKeyDown = _this.onKeyDown.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this))); - _this.openModal = _this.openModal.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this))); - _this.closeModal = _this.closeModal.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this))); + _this = _super.apply(this, arguments); + _this.onChange = _this.onChange.bind(Object(assertThisInitialized["a" /* default */])(_this)); + _this.onKeyDown = _this.onKeyDown.bind(Object(assertThisInitialized["a" /* default */])(_this)); + _this.openModal = _this.openModal.bind(Object(assertThisInitialized["a" /* default */])(_this)); + _this.closeModal = _this.closeModal.bind(Object(assertThisInitialized["a" /* default */])(_this)); + _this.anchorRef = null; _this.state = { modal: false }; @@ -629,6 +941,20 @@ }); } }, { + key: "componentDidMount", + value: function componentDidMount() { + this.anchorRef = getRange(); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + // When the popover is open or when the selected image changes, + // update the anchorRef. + if (!prevProps.isObjectActive && this.props.isObjectActive || prevProps.activeObjectAttributes.url !== this.props.activeObjectAttributes.url) { + this.anchorRef = getRange(); + } + } + }, { key: "render", value: function render() { var _this2 = this; @@ -636,20 +962,17 @@ var _this$props = this.props, value = _this$props.value, onChange = _this$props.onChange, + onFocus = _this$props.onFocus, isObjectActive = _this$props.isObjectActive, activeObjectAttributes = _this$props.activeObjectAttributes; - var style = activeObjectAttributes.style; // Rerender PositionedAtSelection when the selection changes or when - // the width changes. - - var key = value.start + style; return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaUploadCheck"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], { icon: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], { - d: "M4 16h10c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2zM4 5h10v9H4V5zm14 9v2h4v-2h-4zM2 20h20v-2H2v2zm6.4-8.8L7 9.4 5 12h8l-2.6-3.4-2 2.6z" + d: "M4 18.5h16V17H4v1.5zM16 13v1.5h4V13h-4zM5.1 15h7.8c.6 0 1.1-.5 1.1-1.1V6.1c0-.6-.5-1.1-1.1-1.1H5.1C4.5 5 4 5.5 4 6.1v7.8c0 .6.5 1.1 1.1 1.1zm.4-8.5h7V10l-1-1c-.3-.3-.8-.3-1 0l-1.6 1.5-1.2-.7c-.3-.2-.6-.2-.9 0l-1.3 1V6.5zm0 6.1l1.8-1.3 1.3.8c.3.2.7.2.9-.1l1.5-1.4 1.5 1.4v1.5h-7v-.9z" })), - title: Object(external_this_wp_i18n_["__"])('Inline Image'), + title: image_title, onClick: this.openModal, isActive: isObjectActive }), this.state.modal && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaUpload"], { @@ -671,6 +994,7 @@ alt: alt } })); + onFocus(); }, onClose: this.closeModal, render: function render(_ref2) { @@ -678,40 +1002,39 @@ open(); return null; } - }), isObjectActive && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["__unstablePositionedAtSelection"], { - key: key - }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Popover"], { + }), isObjectActive && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Popover"], { position: "bottom center", - focusOnMount: false + focusOnMount: false, + anchorRef: this.anchorRef }, Object(external_this_wp_element_["createElement"])("form", { - className: "editor-format-toolbar__image-container-content block-editor-format-toolbar__image-container-content", + className: "block-editor-format-toolbar__image-container-content", onKeyPress: stopKeyPropagation, onKeyDown: this.onKeyDown, onSubmit: function onSubmit(event) { var newReplacements = value.replacements.slice(); newReplacements[value.start] = { type: image_name, - attributes: Object(objectSpread["a" /* default */])({}, activeObjectAttributes, { + attributes: _objectSpread({}, activeObjectAttributes, { style: "width: ".concat(_this2.state.width, "px;") }) }; - onChange(Object(objectSpread["a" /* default */])({}, value, { + onChange(_objectSpread({}, value, { replacements: newReplacements })); event.preventDefault(); } }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["TextControl"], { - className: "editor-format-toolbar__image-container-value block-editor-format-toolbar__image-container-value", + className: "block-editor-format-toolbar__image-container-value", type: "number", label: Object(external_this_wp_i18n_["__"])('Width'), value: this.state.width, min: 1, onChange: this.onChange - }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], { - icon: "editor-break", + }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], { + icon: keyboard_return["a" /* default */], label: Object(external_this_wp_i18n_["__"])('Apply'), type: "submit" - }))))); + })))); } }], [{ key: "getDerivedStateFromProps", @@ -740,6 +1063,21 @@ }(external_this_wp_element_["Component"]) }; +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-italic.js + + +/** + * WordPress dependencies + */ + +var formatItalic = Object(external_this_wp_element_["createElement"])(external_this_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_this_wp_element_["createElement"])(external_this_wp_primitives_["Path"], { + d: "M12.5 5L10 19h1.9l2.5-14z" +})); +/* harmony default export */ var format_italic = (formatItalic); + // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/italic/index.js @@ -751,21 +1089,30 @@ var italic_name = 'core/italic'; + +var italic_title = Object(external_this_wp_i18n_["__"])('Italic'); + var italic = { name: italic_name, - title: Object(external_this_wp_i18n_["__"])('Italic'), + title: italic_title, tagName: 'em', className: null, edit: function edit(_ref) { var isActive = _ref.isActive, value = _ref.value, - onChange = _ref.onChange; - - var onToggle = function onToggle() { - return onChange(Object(external_this_wp_richText_["toggleFormat"])(value, { + onChange = _ref.onChange, + onFocus = _ref.onFocus; + + function onToggle() { + onChange(Object(external_this_wp_richText_["toggleFormat"])(value, { type: italic_name })); - }; + } + + function onClick() { + onToggle(); + onFocus(); + } return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextShortcut"], { type: "primary", @@ -773,13 +1120,13 @@ onUse: onToggle }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], { name: "italic", - icon: "editor-italic", - title: Object(external_this_wp_i18n_["__"])('Italic'), - onClick: onToggle, + icon: format_italic, + title: italic_title, + onClick: onClick, isActive: isActive, shortcutType: "primary", shortcutCharacter: "i" - }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["UnstableRichTextInputEvent"], { + }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["__unstableRichTextInputEvent"], { inputType: "formatItalic", onInput: onToggle })); @@ -787,20 +1134,22 @@ }; // EXTERNAL MODULE: external {"this":["wp","url"]} -var external_this_wp_url_ = __webpack_require__(25); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js -var esm_extends = __webpack_require__(19); - -// EXTERNAL MODULE: ./node_modules/classnames/index.js -var classnames = __webpack_require__(16); -var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); - -// EXTERNAL MODULE: external {"this":["wp","dom"]} -var external_this_wp_dom_ = __webpack_require__(24); - -// EXTERNAL MODULE: external "lodash" -var external_lodash_ = __webpack_require__(2); +var external_this_wp_url_ = __webpack_require__(31); + +// EXTERNAL MODULE: external {"this":["wp","htmlEntities"]} +var external_this_wp_htmlEntities_ = __webpack_require__(75); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/link-off.js +var link_off = __webpack_require__(205); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/link.js +var library_link = __webpack_require__(180); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules +var slicedToArray = __webpack_require__(14); + +// EXTERNAL MODULE: external {"this":"lodash"} +var external_this_lodash_ = __webpack_require__(2); // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/link/utils.js /** @@ -812,7 +1161,6 @@ */ - /** * Check for issues with the provided href. * @@ -842,7 +1190,7 @@ // This ensures URIs with an http protocol have exactly two forward slashes following the protocol. - if (Object(external_lodash_["startsWith"])(protocol, 'http') && !/^https?:\/\/[^\/\s]/i.test(trimmedHref)) { + if (Object(external_this_lodash_["startsWith"])(protocol, 'http') && !/^https?:\/\/[^\/\s]/i.test(trimmedHref)) { return false; } @@ -872,7 +1220,7 @@ } // Validate anchor links. - if (Object(external_lodash_["startsWith"])(trimmedHref, '#') && !Object(external_this_wp_url_["isValidFragment"])(trimmedHref)) { + if (Object(external_this_lodash_["startsWith"])(trimmedHref, '#') && !Object(external_this_wp_url_["isValidFragment"])(trimmedHref)) { return false; } @@ -881,30 +1229,32 @@ /** * Generates the format object that will be applied to the link text. * - * @param {string} url The href of the link. - * @param {boolean} opensInNewWindow Whether this link will open in a new window. - * @param {Object} text The text that is being hyperlinked. + * @param {Object} options + * @param {string} options.url The href of the link. + * @param {string} options.type The type of the link. + * @param {string} options.id The ID of the link. + * @param {boolean} options.opensInNewWindow Whether this link will open in a new window. * * @return {Object} The final format object. */ function createLinkFormat(_ref) { var url = _ref.url, - opensInNewWindow = _ref.opensInNewWindow, - text = _ref.text; + type = _ref.type, + id = _ref.id, + opensInNewWindow = _ref.opensInNewWindow; var format = { type: 'core/link', attributes: { url: url } }; + if (type) format.attributes.type = type; + if (id) format.attributes.id = id; if (opensInNewWindow) { - // translators: accessibility label for external links, where the argument is the link text - var label = Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%s (opens in a new tab)'), text); format.attributes.target = '_blank'; format.attributes.rel = 'noreferrer noopener'; - format.attributes['aria-label'] = label; } return format; @@ -915,11 +1265,9 @@ - - - - - +function inline_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function inline_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { inline_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { inline_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } /** * External dependencies @@ -935,85 +1283,61 @@ - - /** * Internal dependencies */ -var inline_stopKeyPropagation = function stopKeyPropagation(event) { - return event.stopPropagation(); -}; - -function isShowingInput(props, state) { - return props.addingLink || state.editLink; -} - -var inline_LinkEditor = function LinkEditor(_ref) { - var value = _ref.value, - onChangeInputValue = _ref.onChangeInputValue, - onKeyDown = _ref.onKeyDown, - submitLink = _ref.submitLink, - autocompleteRef = _ref.autocompleteRef; - return (// Disable reason: KeyPress must be suppressed so the block doesn't hide the toolbar - - /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */ - Object(external_this_wp_element_["createElement"])("form", { - className: "editor-format-toolbar__link-container-content block-editor-format-toolbar__link-container-content", - onKeyPress: inline_stopKeyPropagation, - onKeyDown: onKeyDown, - onSubmit: submitLink - }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["URLInput"], { - value: value, - onChange: onChangeInputValue, - autocompleteRef: autocompleteRef - }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], { - icon: "editor-break", - label: Object(external_this_wp_i18n_["__"])('Apply'), - type: "submit" - })) - /* eslint-enable jsx-a11y/no-noninteractive-element-interactions */ - - ); -}; - -var inline_LinkViewerUrl = function LinkViewerUrl(_ref2) { - var url = _ref2.url; - var prependedURL = Object(external_this_wp_url_["prependHTTP"])(url); - var linkClassName = classnames_default()('editor-format-toolbar__link-container-value block-editor-format-toolbar__link-container-value', { - 'has-invalid-link': !isValidHref(prependedURL) - }); - - if (!url) { - return Object(external_this_wp_element_["createElement"])("span", { - className: linkClassName - }); - } - - return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ExternalLink"], { - className: linkClassName, - href: url - }, Object(external_this_wp_url_["filterURLForDisplay"])(Object(external_this_wp_url_["safeDecodeURI"])(url))); -}; - -var inline_URLPopoverAtLink = function URLPopoverAtLink(_ref3) { - var isActive = _ref3.isActive, - addingLink = _ref3.addingLink, - value = _ref3.value, - props = Object(objectWithoutProperties["a" /* default */])(_ref3, ["isActive", "addingLink", "value"]); - - var anchorRect = Object(external_this_wp_element_["useMemo"])(function () { +function InlineLinkUI(_ref) { + var isActive = _ref.isActive, + activeAttributes = _ref.activeAttributes, + addingLink = _ref.addingLink, + value = _ref.value, + onChange = _ref.onChange, + speak = _ref.speak, + stopAddingLink = _ref.stopAddingLink; + + /** + * A unique key is generated when switching between editing and not editing + * a link, based on: + * + * - This component may be rendered _either_ when a link is active _or_ + * when adding or editing a link. + * - It's only desirable to shift focus into the Popover when explicitly + * adding or editing a link, not when in the inline boundary of a link. + * - Focus behavior can only be controlled on a Popover at the time it + * mounts, so a new instance of the component must be mounted to + * programmatically enact the focusOnMount behavior. + * + * @type {string} + */ + var mountingKey = Object(external_this_wp_element_["useMemo"])(external_this_lodash_["uniqueId"], [addingLink]); + /** + * Pending settings to be applied to the next link. When inserting a new + * link, toggle values cannot be applied immediately, because there is not + * yet a link for them to apply to. Thus, they are maintained in a state + * value until the time that the link can be inserted or edited. + * + * @type {[Object|undefined,Function]} + */ + + var _useState = Object(external_this_wp_element_["useState"])(), + _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2), + nextLinkValue = _useState2[0], + setNextLinkValue = _useState2[1]; + + var anchorRef = Object(external_this_wp_element_["useMemo"])(function () { var selection = window.getSelection(); - var range = selection.rangeCount > 0 ? selection.getRangeAt(0) : null; - - if (!range) { + + if (!selection.rangeCount) { return; } - if (addingLink) { - return Object(external_this_wp_dom_["getRectangleFromRange"])(range); + var range = selection.getRangeAt(0); + + if (addingLink && !isActive) { + return range; } var element = range.startContainer; // If the caret is right before the element, select the next element. @@ -1024,249 +1348,85 @@ element = element.parentNode; } - var closest = element.closest('a'); - - if (closest) { - return closest.getBoundingClientRect(); - } - }, [isActive, addingLink, value.start, value.end]); - - if (!anchorRect) { - return null; - } - - return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["URLPopover"], Object(esm_extends["a" /* default */])({ - anchorRect: anchorRect - }, props)); -}; - -var inline_LinkViewer = function LinkViewer(_ref4) { - var url = _ref4.url, - editLink = _ref4.editLink; - return (// Disable reason: KeyPress must be suppressed so the block doesn't hide the toolbar - - /* eslint-disable jsx-a11y/no-static-element-interactions */ - Object(external_this_wp_element_["createElement"])("div", { - className: "editor-format-toolbar__link-container-content block-editor-format-toolbar__link-container-content", - onKeyPress: inline_stopKeyPropagation - }, Object(external_this_wp_element_["createElement"])(inline_LinkViewerUrl, { - url: url - }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], { - icon: "edit", - label: Object(external_this_wp_i18n_["__"])('Edit'), - onClick: editLink - })) - /* eslint-enable jsx-a11y/no-static-element-interactions */ - - ); -}; - -var inline_InlineLinkUI = -/*#__PURE__*/ -function (_Component) { - Object(inherits["a" /* default */])(InlineLinkUI, _Component); - - function InlineLinkUI() { - var _this; - - Object(classCallCheck["a" /* default */])(this, InlineLinkUI); - - _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(InlineLinkUI).apply(this, arguments)); - _this.editLink = _this.editLink.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this))); - _this.submitLink = _this.submitLink.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this))); - _this.onKeyDown = _this.onKeyDown.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this))); - _this.onChangeInputValue = _this.onChangeInputValue.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this))); - _this.setLinkTarget = _this.setLinkTarget.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this))); - _this.onClickOutside = _this.onClickOutside.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this))); - _this.resetState = _this.resetState.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this))); - _this.autocompleteRef = Object(external_this_wp_element_["createRef"])(); - _this.state = { - opensInNewWindow: false, - inputValue: '' - }; - return _this; - } - - Object(createClass["a" /* default */])(InlineLinkUI, [{ - key: "onKeyDown", - value: function onKeyDown(event) { - if ([external_this_wp_keycodes_["LEFT"], external_this_wp_keycodes_["DOWN"], external_this_wp_keycodes_["RIGHT"], external_this_wp_keycodes_["UP"], external_this_wp_keycodes_["BACKSPACE"], external_this_wp_keycodes_["ENTER"]].indexOf(event.keyCode) > -1) { - // Stop the key event from propagating up to ObserveTyping.startTypingInTextField. - event.stopPropagation(); - } - } - }, { - key: "onChangeInputValue", - value: function onChangeInputValue(inputValue) { - this.setState({ - inputValue: inputValue - }); - } - }, { - key: "setLinkTarget", - value: function setLinkTarget(opensInNewWindow) { - var _this$props = this.props, - _this$props$activeAtt = _this$props.activeAttributes.url, - url = _this$props$activeAtt === void 0 ? '' : _this$props$activeAtt, - value = _this$props.value, - onChange = _this$props.onChange; - this.setState({ - opensInNewWindow: opensInNewWindow - }); // Apply now if URL is not being edited. - - if (!isShowingInput(this.props, this.state)) { - var selectedText = Object(external_this_wp_richText_["getTextContent"])(Object(external_this_wp_richText_["slice"])(value)); - onChange(Object(external_this_wp_richText_["applyFormat"])(value, createLinkFormat({ - url: url, - opensInNewWindow: opensInNewWindow, - text: selectedText - }))); - } - } - }, { - key: "editLink", - value: function editLink(event) { - this.setState({ - editLink: true - }); - event.preventDefault(); + return element.closest('a'); + }, [addingLink, value.start, value.end]); + + var linkValue = inline_objectSpread({ + url: activeAttributes.url, + type: activeAttributes.type, + id: activeAttributes.id, + opensInNewTab: activeAttributes.target === '_blank' + }, nextLinkValue); + + function onChangeLink(nextValue) { + // Merge with values from state, both for the purpose of assigning the + // next state value, and for use in constructing the new link format if + // the link is ready to be applied. + nextValue = inline_objectSpread({}, nextLinkValue, {}, nextValue); // LinkControl calls `onChange` immediately upon the toggling a setting. + + var didToggleSetting = linkValue.opensInNewTab !== nextValue.opensInNewTab && linkValue.url === nextValue.url; // If change handler was called as a result of a settings change during + // link insertion, it must be held in state until the link is ready to + // be applied. + + var didToggleSettingForNewLink = didToggleSetting && nextValue.url === undefined; // If link will be assigned, the state value can be considered flushed. + // Otherwise, persist the pending changes. + + setNextLinkValue(didToggleSettingForNewLink ? nextValue : undefined); + + if (didToggleSettingForNewLink) { + return; } - }, { - key: "submitLink", - value: function submitLink(event) { - var _this$props2 = this.props, - isActive = _this$props2.isActive, - value = _this$props2.value, - onChange = _this$props2.onChange, - speak = _this$props2.speak; - var _this$state = this.state, - inputValue = _this$state.inputValue, - opensInNewWindow = _this$state.opensInNewWindow; - var url = Object(external_this_wp_url_["prependHTTP"])(inputValue); - var selectedText = Object(external_this_wp_richText_["getTextContent"])(Object(external_this_wp_richText_["slice"])(value)); - var format = createLinkFormat({ - url: url, - opensInNewWindow: opensInNewWindow, - text: selectedText - }); - event.preventDefault(); - - if (Object(external_this_wp_richText_["isCollapsed"])(value) && !isActive) { - var toInsert = Object(external_this_wp_richText_["applyFormat"])(Object(external_this_wp_richText_["create"])({ - text: url - }), format, 0, url.length); - onChange(Object(external_this_wp_richText_["insert"])(value, toInsert)); - } else { - onChange(Object(external_this_wp_richText_["applyFormat"])(value, format)); - } - - this.resetState(); - - if (!isValidHref(url)) { - speak(Object(external_this_wp_i18n_["__"])('Warning: the link has been inserted but may have errors. Please test it.'), 'assertive'); - } else if (isActive) { - speak(Object(external_this_wp_i18n_["__"])('Link edited.'), 'assertive'); - } else { - speak(Object(external_this_wp_i18n_["__"])('Link inserted.'), 'assertive'); - } - } - }, { - key: "onClickOutside", - value: function onClickOutside(event) { - // The autocomplete suggestions list renders in a separate popover (in a portal), - // so onClickOutside fails to detect that a click on a suggestion occurred in the - // LinkContainer. Detect clicks on autocomplete suggestions using a ref here, and - // return to avoid the popover being closed. - var autocompleteElement = this.autocompleteRef.current; - - if (autocompleteElement && autocompleteElement.contains(event.target)) { - return; - } - - this.resetState(); - } - }, { - key: "resetState", - value: function resetState() { - this.props.stopAddingLink(); - this.setState({ - editLink: false - }); + + var newUrl = Object(external_this_wp_url_["prependHTTP"])(nextValue.url); + var format = createLinkFormat({ + url: newUrl, + type: nextValue.type, + id: nextValue.id !== undefined && nextValue.id !== null ? String(nextValue.id) : undefined, + opensInNewWindow: nextValue.opensInNewTab + }); + + if (Object(external_this_wp_richText_["isCollapsed"])(value) && !isActive) { + var newText = nextValue.title || newUrl; + var toInsert = Object(external_this_wp_richText_["applyFormat"])(Object(external_this_wp_richText_["create"])({ + text: newText + }), format, 0, newText.length); + onChange(Object(external_this_wp_richText_["insert"])(value, toInsert)); + } else { + var newValue = Object(external_this_wp_richText_["applyFormat"])(value, format); + newValue.start = newValue.end; + newValue.activeFormats = []; + onChange(newValue); + } // Focus should only be shifted back to the formatted segment when the + // URL is submitted. + + + if (!didToggleSetting) { + stopAddingLink(); } - }, { - key: "render", - value: function render() { - var _this2 = this; - - var _this$props3 = this.props, - isActive = _this$props3.isActive, - url = _this$props3.activeAttributes.url, - addingLink = _this$props3.addingLink, - value = _this$props3.value; - - if (!isActive && !addingLink) { - return null; - } - - var _this$state2 = this.state, - inputValue = _this$state2.inputValue, - opensInNewWindow = _this$state2.opensInNewWindow; - var showInput = isShowingInput(this.props, this.state); - return Object(external_this_wp_element_["createElement"])(inline_URLPopoverAtLink, { - value: value, - isActive: isActive, - addingLink: addingLink, - onClickOutside: this.onClickOutside, - onClose: this.resetState, - focusOnMount: showInput ? 'firstElement' : false, - renderSettings: function renderSettings() { - return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], { - label: Object(external_this_wp_i18n_["__"])('Open in New Tab'), - checked: opensInNewWindow, - onChange: _this2.setLinkTarget - }); - } - }, showInput ? Object(external_this_wp_element_["createElement"])(inline_LinkEditor, { - value: inputValue, - onChangeInputValue: this.onChangeInputValue, - onKeyDown: this.onKeyDown, - submitLink: this.submitLink, - autocompleteRef: this.autocompleteRef - }) : Object(external_this_wp_element_["createElement"])(inline_LinkViewer, { - url: url, - editLink: this.editLink - })); + + if (!isValidHref(newUrl)) { + speak(Object(external_this_wp_i18n_["__"])('Warning: the link has been inserted but may have errors. Please test it.'), 'assertive'); + } else if (isActive) { + speak(Object(external_this_wp_i18n_["__"])('Link edited.'), 'assertive'); + } else { + speak(Object(external_this_wp_i18n_["__"])('Link inserted.'), 'assertive'); } - }], [{ - key: "getDerivedStateFromProps", - value: function getDerivedStateFromProps(props, state) { - var _props$activeAttribut = props.activeAttributes, - url = _props$activeAttribut.url, - target = _props$activeAttribut.target; - var opensInNewWindow = target === '_blank'; - - if (!isShowingInput(props, state)) { - if (url !== state.inputValue) { - return { - inputValue: url - }; - } - - if (opensInNewWindow !== state.opensInNewWindow) { - return { - opensInNewWindow: opensInNewWindow - }; - } - } - - return null; - } - }]); - - return InlineLinkUI; -}(external_this_wp_element_["Component"]); - -/* harmony default export */ var inline = (Object(external_this_wp_components_["withSpokenMessages"])(inline_InlineLinkUI)); + } + + return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Popover"], { + key: mountingKey, + anchorRef: anchorRef, + focusOnMount: addingLink ? 'firstElement' : false, + onClose: stopAddingLink, + position: "bottom center" + }, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["__experimentalLinkControl"], { + value: linkValue, + onChange: onChangeLink, + forceIsEditingLink: addingLink + })); +} + +/* harmony default export */ var inline = (Object(external_this_wp_components_["withSpokenMessages"])(InlineLinkUI)); // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/link/index.js @@ -1277,6 +1437,10 @@ +function link_createSuper(Derived) { return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (link_isNativeReflectConstruct()) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; } + +function link_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + /** * WordPress dependencies */ @@ -1286,35 +1450,65 @@ + + /** * Internal dependencies */ var link_name = 'core/link'; + +var link_title = Object(external_this_wp_i18n_["__"])('Link'); + var link_link = { name: link_name, - title: Object(external_this_wp_i18n_["__"])('Link'), + title: link_title, tagName: 'a', className: null, attributes: { url: 'href', + type: 'data-type', + id: 'data-id', target: 'target' }, - edit: Object(external_this_wp_components_["withSpokenMessages"])( - /*#__PURE__*/ - function (_Component) { + __unstablePasteRule: function __unstablePasteRule(value, _ref) { + var html = _ref.html, + plainText = _ref.plainText; + + if (Object(external_this_wp_richText_["isCollapsed"])(value)) { + return value; + } + + var pastedText = (html || plainText).replace(/<[^>]+>/g, '').trim(); // A URL was pasted, turn the selection into a link + + if (!Object(external_this_wp_url_["isURL"])(pastedText)) { + return value; + } // Allows us to ask for this information when we get a report. + + + window.console.log('Created link:\n\n', pastedText); + return Object(external_this_wp_richText_["applyFormat"])(value, { + type: link_name, + attributes: { + url: Object(external_this_wp_htmlEntities_["decodeEntities"])(pastedText) + } + }); + }, + edit: Object(external_this_wp_components_["withSpokenMessages"])( /*#__PURE__*/function (_Component) { Object(inherits["a" /* default */])(LinkEdit, _Component); + var _super = link_createSuper(LinkEdit); + function LinkEdit() { var _this; Object(classCallCheck["a" /* default */])(this, LinkEdit); - _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(LinkEdit).apply(this, arguments)); - _this.addLink = _this.addLink.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this))); - _this.stopAddingLink = _this.stopAddingLink.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this))); - _this.onRemoveFormat = _this.onRemoveFormat.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this))); + _this = _super.apply(this, arguments); + _this.addLink = _this.addLink.bind(Object(assertThisInitialized["a" /* default */])(_this)); + _this.stopAddingLink = _this.stopAddingLink.bind(Object(assertThisInitialized["a" /* default */])(_this)); + _this.onRemoveFormat = _this.onRemoveFormat.bind(Object(assertThisInitialized["a" /* default */])(_this)); _this.state = { addingLink: false }; @@ -1336,6 +1530,13 @@ url: text } })); + } else if (text && Object(external_this_wp_url_["isEmail"])(text)) { + onChange(Object(external_this_wp_richText_["applyFormat"])(value, { + type: link_name, + attributes: { + url: "mailto:".concat(text) + } + })); } else { this.setState({ addingLink: true @@ -1348,6 +1549,7 @@ this.setState({ addingLink: false }); + this.props.onFocus(); } }, { key: "onRemoveFormat", @@ -1368,14 +1570,6 @@ value = _this$props3.value, onChange = _this$props3.onChange; return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextShortcut"], { - type: "access", - character: "a", - onUse: this.addLink - }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextShortcut"], { - type: "access", - character: "s", - onUse: this.onRemoveFormat - }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextShortcut"], { type: "primary", character: "k", onUse: this.addLink @@ -1385,7 +1579,7 @@ onUse: this.onRemoveFormat }), isActive && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], { name: "link", - icon: "editor-unlink", + icon: link_off["a" /* default */], title: Object(external_this_wp_i18n_["__"])('Unlink'), onClick: this.onRemoveFormat, isActive: isActive, @@ -1393,13 +1587,13 @@ shortcutCharacter: "k" }), !isActive && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], { name: "link", - icon: "admin-links", - title: Object(external_this_wp_i18n_["__"])('Link'), + icon: library_link["a" /* default */], + title: link_title, onClick: this.addLink, isActive: isActive, shortcutType: "primary", shortcutCharacter: "k" - }), Object(external_this_wp_element_["createElement"])(inline, { + }), (this.state.addingLink || isActive) && Object(external_this_wp_element_["createElement"])(inline, { addingLink: this.state.addingLink, stopAddingLink: this.stopAddingLink, isActive: isActive, @@ -1414,6 +1608,21 @@ }(external_this_wp_element_["Component"])) }; +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-strikethrough.js + + +/** + * WordPress dependencies + */ + +var formatStrikethrough = Object(external_this_wp_element_["createElement"])(external_this_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_this_wp_element_["createElement"])(external_this_wp_primitives_["Path"], { + d: "M9.1 9v-.5c0-.6.2-1.1.7-1.4.5-.3 1.2-.5 2-.5.7 0 1.4.1 2.1.3.7.2 1.4.5 2.1.9l.2-1.9c-.6-.3-1.2-.5-1.9-.7-.8-.1-1.6-.2-2.4-.2-1.5 0-2.7.3-3.6 1-.8.7-1.2 1.5-1.2 2.6V9h2zM20 12H4v1h8.3c.3.1.6.2.8.3.5.2.9.5 1.1.8.3.3.4.7.4 1.2 0 .7-.2 1.1-.8 1.5-.5.3-1.2.5-2.1.5-.8 0-1.6-.1-2.4-.3-.8-.2-1.5-.5-2.2-.8L7 18.1c.5.2 1.2.4 2 .6.8.2 1.6.3 2.4.3 1.7 0 3-.3 3.9-1 .9-.7 1.3-1.6 1.3-2.8 0-.9-.2-1.7-.7-2.2H20v-1z" +})); +/* harmony default export */ var format_strikethrough = (formatStrikethrough); + // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/strikethrough/index.js @@ -1425,34 +1634,33 @@ var strikethrough_name = 'core/strikethrough'; + +var strikethrough_title = Object(external_this_wp_i18n_["__"])('Strikethrough'); + var strikethrough = { name: strikethrough_name, - title: Object(external_this_wp_i18n_["__"])('Strikethrough'), + title: strikethrough_title, tagName: 's', className: null, edit: function edit(_ref) { var isActive = _ref.isActive, value = _ref.value, - onChange = _ref.onChange; - - var onToggle = function onToggle() { - return onChange(Object(external_this_wp_richText_["toggleFormat"])(value, { + onChange = _ref.onChange, + onFocus = _ref.onFocus; + + function onClick() { + onChange(Object(external_this_wp_richText_["toggleFormat"])(value, { type: strikethrough_name })); - }; - - return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextShortcut"], { - type: "access", - character: "d", - onUse: onToggle - }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], { - icon: "editor-strikethrough", - title: Object(external_this_wp_i18n_["__"])('Strikethrough'), - onClick: onToggle, - isActive: isActive, - shortcutType: "access", - shortcutCharacter: "d" - })); + onFocus(); + } + + return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], { + icon: format_strikethrough, + title: strikethrough_title, + onClick: onClick, + isActive: isActive + }); } }; @@ -1465,7 +1673,6 @@ - var underline_name = 'core/underline'; var underline = { name: underline_name, @@ -1492,13 +1699,406 @@ type: "primary", character: "u", onUse: onToggle - }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["UnstableRichTextInputEvent"], { + }), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["__unstableRichTextInputEvent"], { inputType: "formatUnderline", onInput: onToggle })); } }; +// EXTERNAL MODULE: external {"this":["wp","data"]} +var external_this_wp_data_ = __webpack_require__(4); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/icon/index.js +var icon = __webpack_require__(137); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/text-color.js +var text_color = __webpack_require__(410); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__(8); + +// EXTERNAL MODULE: external {"this":["wp","dom"]} +var external_this_wp_dom_ = __webpack_require__(30); + +// CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/text-color/inline.js + + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + + +function getActiveColor(formatName, formatValue, colors) { + var activeColorFormat = Object(external_this_wp_richText_["getActiveFormat"])(formatValue, formatName); + + if (!activeColorFormat) { + return; + } + + var styleColor = activeColorFormat.attributes.style; + + if (styleColor) { + return styleColor.replace(new RegExp("^color:\\s*"), ''); + } + + var currentClass = activeColorFormat.attributes.class; + + if (currentClass) { + var colorSlug = currentClass.replace(/.*has-(.*?)-color.*/, '$1'); + return Object(external_this_wp_blockEditor_["getColorObjectByAttributeValues"])(colors, colorSlug).color; + } +} + +var inline_ColorPopoverAtLink = function ColorPopoverAtLink(_ref) { + var addingColor = _ref.addingColor, + props = Object(objectWithoutProperties["a" /* default */])(_ref, ["addingColor"]); + + // There is no way to open a text formatter popover when another one is mounted. + // The first popover will always be dismounted when a click outside happens, so we can store the + // anchor Rect during the lifetime of the component. + var anchorRect = Object(external_this_wp_element_["useMemo"])(function () { + var selection = window.getSelection(); + var range = selection.rangeCount > 0 ? selection.getRangeAt(0) : null; + + if (!range) { + return; + } + + if (addingColor) { + return Object(external_this_wp_dom_["getRectangleFromRange"])(range); + } + + var element = range.startContainer; // If the caret is right before the element, select the next element. + + element = element.nextElementSibling || element; + + while (element.nodeType !== window.Node.ELEMENT_NODE) { + element = element.parentNode; + } + + var closest = element.closest('span'); + + if (closest) { + return closest.getBoundingClientRect(); + } + }, []); + + if (!anchorRect) { + return null; + } + + return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["URLPopover"], Object(esm_extends["a" /* default */])({ + anchorRect: anchorRect + }, props)); +}; + +var inline_ColorPicker = function ColorPicker(_ref2) { + var name = _ref2.name, + value = _ref2.value, + onChange = _ref2.onChange; + var colors = Object(external_this_wp_data_["useSelect"])(function (select) { + var _select = select('core/block-editor'), + getSettings = _select.getSettings; + + return Object(external_this_lodash_["get"])(getSettings(), ['colors'], []); + }); + var onColorChange = Object(external_this_wp_element_["useCallback"])(function (color) { + if (color) { + var colorObject = Object(external_this_wp_blockEditor_["getColorObjectByColorValue"])(colors, color); + onChange(Object(external_this_wp_richText_["applyFormat"])(value, { + type: name, + attributes: colorObject ? { + class: Object(external_this_wp_blockEditor_["getColorClassName"])('color', colorObject.slug) + } : { + style: "color:".concat(color) + } + })); + } else { + onChange(Object(external_this_wp_richText_["removeFormat"])(value, name)); + } + }, [colors, onChange]); + var activeColor = Object(external_this_wp_element_["useMemo"])(function () { + return getActiveColor(name, value, colors); + }, [name, value, colors]); + return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["ColorPalette"], { + value: activeColor, + onChange: onColorChange + }); +}; + +var inline_InlineColorUI = function InlineColorUI(_ref3) { + var name = _ref3.name, + value = _ref3.value, + onChange = _ref3.onChange, + onClose = _ref3.onClose, + isActive = _ref3.isActive, + addingColor = _ref3.addingColor; + return Object(external_this_wp_element_["createElement"])(inline_ColorPopoverAtLink, { + value: value, + isActive: isActive, + addingColor: addingColor, + onClose: onClose, + className: "components-inline-color-popover" + }, Object(external_this_wp_element_["createElement"])(inline_ColorPicker, { + name: name, + value: value, + onChange: onChange + })); +}; + +/* harmony default export */ var text_color_inline = (Object(external_this_wp_components_["withSpokenMessages"])(inline_InlineColorUI)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/text-color/index.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + + +/** + * Internal dependencies + */ + + +var text_color_name = 'core/text-color'; + +var text_color_title = Object(external_this_wp_i18n_["__"])('Text Color'); + +var EMPTY_ARRAY = []; + +function TextColorEdit(_ref) { + var value = _ref.value, + onChange = _ref.onChange, + isActive = _ref.isActive, + activeAttributes = _ref.activeAttributes; + + var _useSelect = Object(external_this_wp_data_["useSelect"])(function (select) { + var blockEditorSelect = select('core/block-editor'); + var settings; + + if (blockEditorSelect && blockEditorSelect.getSettings) { + settings = blockEditorSelect.getSettings(); + } else { + settings = {}; + } + + return { + colors: Object(external_this_lodash_["get"])(settings, ['colors'], EMPTY_ARRAY), + disableCustomColors: settings.disableCustomColors + }; + }), + colors = _useSelect.colors, + disableCustomColors = _useSelect.disableCustomColors; + + var _useState = Object(external_this_wp_element_["useState"])(false), + _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2), + isAddingColor = _useState2[0], + setIsAddingColor = _useState2[1]; + + var enableIsAddingColor = Object(external_this_wp_element_["useCallback"])(function () { + return setIsAddingColor(true); + }, [setIsAddingColor]); + var disableIsAddingColor = Object(external_this_wp_element_["useCallback"])(function () { + return setIsAddingColor(false); + }, [setIsAddingColor]); + var colorIndicatorStyle = Object(external_this_wp_element_["useMemo"])(function () { + var activeColor = getActiveColor(text_color_name, value, colors); + + if (!activeColor) { + return undefined; + } + + return { + backgroundColor: activeColor + }; + }, [value, colors]); + var hasColorsToChoose = !Object(external_this_lodash_["isEmpty"])(colors) || disableCustomColors !== true; + + if (!hasColorsToChoose && !isActive) { + return null; + } + + return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], { + key: isActive ? 'text-color' : 'text-color-not-active', + className: "format-library-text-color-button", + name: isActive ? 'text-color' : undefined, + icon: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(icon["a" /* default */], { + icon: text_color["a" /* default */] + }), isActive && Object(external_this_wp_element_["createElement"])("span", { + className: "format-library-text-color-button__indicator", + style: colorIndicatorStyle + })), + title: text_color_title // If has no colors to choose but a color is active remove the color onClick + , + onClick: hasColorsToChoose ? enableIsAddingColor : function () { + return onChange(Object(external_this_wp_richText_["removeFormat"])(value, text_color_name)); + } + }), isAddingColor && Object(external_this_wp_element_["createElement"])(text_color_inline, { + name: text_color_name, + addingColor: isAddingColor, + onClose: disableIsAddingColor, + isActive: isActive, + activeAttributes: activeAttributes, + value: value, + onChange: onChange + })); +} + +var textColor = { + name: text_color_name, + title: text_color_title, + tagName: 'span', + className: 'has-inline-color', + attributes: { + style: 'style', + class: 'class' + }, + edit: TextColorEdit +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/subscript.js + + +/** + * WordPress dependencies + */ + +var subscript = Object(external_this_wp_element_["createElement"])(external_this_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_this_wp_element_["createElement"])(external_this_wp_primitives_["Path"], { + d: "M16.9 18.3l.8-1.2c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.1-.3-.4-.5-.6-.7-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.2 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3L15 19.4h4.3v-1.2h-2.4zM14.1 7.2h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z" +})); +/* harmony default export */ var library_subscript = (subscript); + +// CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/subscript/index.js + + +/** + * WordPress dependencies + */ + + + + +var subscript_name = 'core/subscript'; + +var subscript_title = Object(external_this_wp_i18n_["__"])('Subscript'); + +var subscript_subscript = { + name: subscript_name, + title: subscript_title, + tagName: 'sub', + className: null, + edit: function edit(_ref) { + var isActive = _ref.isActive, + value = _ref.value, + onChange = _ref.onChange, + onFocus = _ref.onFocus; + + function onToggle() { + onChange(Object(external_this_wp_richText_["toggleFormat"])(value, { + type: subscript_name + })); + } + + function onClick() { + onToggle(); + onFocus(); + } + + return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], { + icon: library_subscript, + title: subscript_title, + onClick: onClick, + isActive: isActive + }); + } +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/superscript.js + + +/** + * WordPress dependencies + */ + +var superscript = Object(external_this_wp_element_["createElement"])(external_this_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_this_wp_element_["createElement"])(external_this_wp_primitives_["Path"], { + d: "M16.9 10.3l.8-1.3c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.2-.2-.4-.4-.7-.6-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.1 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3l-1.8 2.8h4.3v-1.2h-2.2zm-2.8-3.1h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z" +})); +/* harmony default export */ var library_superscript = (superscript); + +// CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/superscript/index.js + + +/** + * WordPress dependencies + */ + + + + +var superscript_name = 'core/superscript'; + +var superscript_title = Object(external_this_wp_i18n_["__"])('Superscript'); + +var superscript_superscript = { + name: superscript_name, + title: superscript_title, + tagName: 'sup', + className: null, + edit: function edit(_ref) { + var isActive = _ref.isActive, + value = _ref.value, + onChange = _ref.onChange, + onFocus = _ref.onFocus; + + function onToggle() { + onChange(Object(external_this_wp_richText_["toggleFormat"])(value, { + type: superscript_name + })); + } + + function onClick() { + onToggle(); + onFocus(); + } + + return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], { + icon: library_superscript, + title: superscript_title, + onClick: onClick, + isActive: isActive + }); + } +}; + // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/default-formats.js /** * Internal dependencies @@ -1510,7 +2110,10 @@ -/* harmony default export */ var default_formats = ([bold, code, image_image, italic, link_link, strikethrough, underline]); + + + +/* harmony default export */ var default_formats = ([bold, code_code, image_image, italic, link_link, strikethrough, underline, textColor, subscript_subscript, superscript_superscript]); // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/index.js @@ -1534,67 +2137,70 @@ /***/ }), -/***/ 4: +/***/ 5: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _defineProperty; }); +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +/***/ }), + +/***/ 6: /***/ (function(module, exports) { -(function() { module.exports = this["wp"]["components"]; }()); +(function() { module.exports = this["wp"]["primitives"]; }()); /***/ }), /***/ 7: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectSpread; }); -/* harmony import */ var _defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); - -function _objectSpread(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] != null ? arguments[i] : {}; - var ownKeys = Object.keys(source); - - if (typeof Object.getOwnPropertySymbols === 'function') { - ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { - return Object.getOwnPropertyDescriptor(source, sym).enumerable; - })); - } - - ownKeys.forEach(function (key) { - Object(_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(target, key, source[key]); - }); - } - - return target; -} - -/***/ }), - -/***/ 8: /***/ (function(module, exports) { (function() { module.exports = this["wp"]["blockEditor"]; }()); /***/ }), -/***/ 9: +/***/ 75: +/***/ (function(module, exports) { + +(function() { module.exports = this["wp"]["htmlEntities"]; }()); + +/***/ }), + +/***/ 8: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _createClass; }); -function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } -} - -function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - return Constructor; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; }); +function _extends() { + _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + return _extends.apply(this, arguments); } /***/ })