WordPress/wp-includes/js/dist/format-library.js
jorgefilipecosta 80ce372761 Block Editor: Update WordPress Packages.
Updated packages:
@wordpress/annotations: 1.7.2 -> 1.9.0
@wordpress/api-fetch: 3.6.4 -> 3.8.0
@wordpress/block-directory: 1.0.5 -> 1.2.0
@wordpress/block-editor: 3.2.5 -> 3.4.0
@wordpress/block-library: 2.9.6 -> 2.11.0
@wordpress/blocks: 6.7.2 -> 6.9.0
@wordpress/components: 8.3.2 -> 8.5.0
@wordpress/compose: 3.7.2 -> 3.9.0
@wordpress/core-data: 2.7.5 -> 2.9.0
@wordpress/data: 4.9.2 -> 4.11.0
@wordpress/data-controls: 1.3.4 -> 1.5.0
@wordpress/date: 3.5.0 -> 3.7.0
@wordpress/dom: 2.5.2 -> 2.6.0
@wordpress/e2e-test-utils: 3.0.0 -> 4.0.0
@wordpress/edit-post: 3.8.6 -> 3.10.0
@wordpress/editor: 9.7.6 -> 9.9.0
@wordpress/element: 2.8.2 -> 2.10.0
@wordpress/escape-html: 1.5.1 -> 1.6.0
@wordpress/format-library: 1.9.5 -> 1.11.0
@wordpress/i18n: 3.6.1 -> 3.7.0
@wordpress/keycodes: 2.6.2 -> 2.7.0
@wordpress/list-reusable-blocks: 1.8.4 -> 1.10.0
@wordpress/media-utils: 1.2.4 -> 1.4.0
@wordpress/notices: 1.8.2 -> 1.10.0
@wordpress/nux: 3.7.2 -> 3.9.0
@wordpress/plugins: 2.7.2 -> 2.9.0
@wordpress/rich-text: 3.7.2 -> 3.9.0
@wordpress/scripts: 6.0.0 -> 6.1.1
@wordpress/server-side-render: 1.3.4 -> 1.5.0
@wordpress/shortcode: 2.4.1 -> 2.5.0
@wordpress/token-list: 1.6.1 -> 1.8.0
@wordpress/url: 2.8.2 -> 2.9.0
@wordpress/viewport: 2.8.2 -> 2.10.0

Props gziolo, youknowriad.
Fixes #49142.
Built from https://develop.svn.wordpress.org/trunk@47051


git-svn-id: http://core.svn.wordpress.org/trunk@46851 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-08 11:57:23 +00:00

1528 lines
47 KiB
JavaScript

this["wp"] = this["wp"] || {}; this["wp"]["formatLibrary"] =
/******/ (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 = 372);
/******/ })
/************************************************************************/
/******/ ({
/***/ 0:
/***/ (function(module, exports) {
(function() { module.exports = this["wp"]["element"]; }());
/***/ }),
/***/ 1:
/***/ (function(module, exports) {
(function() { module.exports = this["wp"]["i18n"]; }());
/***/ }),
/***/ 12:
/***/ (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;
}
/***/ }),
/***/ 13:
/***/ (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");
}
}
/***/ }),
/***/ 14:
/***/ (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);
}
/***/ }),
/***/ 15:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _possibleConstructorReturn; });
/* harmony import */ var _helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31);
/* harmony import */ var _assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6);
function _possibleConstructorReturn(self, call) {
if (call && (Object(_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(call) === "object" || typeof call === "function")) {
return call;
}
return Object(_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(self);
}
/***/ }),
/***/ 16:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _getPrototypeOf; });
function _getPrototypeOf(o) {
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
return o.__proto__ || Object.getPrototypeOf(o);
};
return _getPrototypeOf(o);
}
/***/ }),
/***/ 17:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _inherits; });
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function");
}
subClass.prototype = Object.create(superClass && superClass.prototype, {
constructor: {
value: subClass,
writable: true,
configurable: true
}
});
if (superClass) _setPrototypeOf(subClass, superClass);
}
/***/ }),
/***/ 19:
/***/ (function(module, exports) {
(function() { module.exports = this["wp"]["keycodes"]; }());
/***/ }),
/***/ 2:
/***/ (function(module, exports) {
(function() { module.exports = this["lodash"]; }());
/***/ }),
/***/ 21:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; });
/* harmony import */ var _objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40);
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;
}
/***/ }),
/***/ 24:
/***/ (function(module, exports) {
(function() { module.exports = this["wp"]["richText"]; }());
/***/ }),
/***/ 25:
/***/ (function(module, exports) {
(function() { module.exports = this["wp"]["url"]; }());
/***/ }),
/***/ 3:
/***/ (function(module, exports) {
(function() { module.exports = this["wp"]["components"]; }());
/***/ }),
/***/ 31:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _typeof; });
function _typeof(obj) {
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);
}
/***/ }),
/***/ 372:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(21);
// EXTERNAL MODULE: external {"this":["wp","richText"]}
var external_this_wp_richText_ = __webpack_require__(24);
// EXTERNAL MODULE: external {"this":["wp","element"]}
var external_this_wp_element_ = __webpack_require__(0);
// EXTERNAL MODULE: external {"this":["wp","i18n"]}
var external_this_wp_i18n_ = __webpack_require__(1);
// EXTERNAL MODULE: external {"this":["wp","blockEditor"]}
var external_this_wp_blockEditor_ = __webpack_require__(5);
// CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/bold/index.js
/**
* WordPress dependencies
*/
var bold_name = 'core/bold';
var title = Object(external_this_wp_i18n_["__"])('Bold');
var bold = {
name: bold_name,
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, {
type: bold_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: "primary",
character: "b",
onUse: onToggle
}), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], {
name: "bold",
icon: "editor-bold",
title: title,
onClick: onToggle,
isActive: isActive,
shortcutType: "primary",
shortcutCharacter: "b"
}), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["__unstableRichTextInputEvent"], {
inputType: "formatBold",
onInput: onToggle
}));
}
};
// CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/code/index.js
/**
* WordPress dependencies
*/
var code_name = 'core/code';
var code_title = Object(external_this_wp_i18n_["__"])('Inline Code');
var code = {
name: code_name,
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,
isActive = _ref.isActive;
var onToggle = function onToggle() {
return onChange(Object(external_this_wp_richText_["toggleFormat"])(value, {
type: code_name
}));
};
return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], {
icon: "editor-code",
title: code_title,
onClick: onToggle,
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/classCallCheck.js
var classCallCheck = __webpack_require__(13);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
var createClass = __webpack_require__(12);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
var possibleConstructorReturn = __webpack_require__(15);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
var getPrototypeOf = __webpack_require__(16);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
var assertThisInitialized = __webpack_require__(6);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
var inherits = __webpack_require__(17);
// EXTERNAL MODULE: external {"this":["wp","components"]}
var external_this_wp_components_ = __webpack_require__(3);
// EXTERNAL MODULE: external {"this":["wp","keycodes"]}
var external_this_wp_keycodes_ = __webpack_require__(19);
// CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/image/index.js
/**
* WordPress dependencies
*/
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: image_title,
keywords: [Object(external_this_wp_i18n_["__"])('photo'), Object(external_this_wp_i18n_["__"])('media')],
object: true,
tagName: 'img',
className: null,
attributes: {
className: 'class',
style: 'style',
url: 'src',
alt: 'alt'
},
edit:
/*#__PURE__*/
function (_Component) {
Object(inherits["a" /* default */])(ImageEdit, _Component);
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 */])(_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.state = {
modal: false
};
return _this;
}
Object(createClass["a" /* default */])(ImageEdit, [{
key: "onChange",
value: function onChange(width) {
this.setState({
width: width
});
}
}, {
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: "openModal",
value: function openModal() {
this.setState({
modal: true
});
}
}, {
key: "closeModal",
value: function closeModal() {
this.setState({
modal: false
});
}
}, {
key: "render",
value: function render() {
var _this2 = this;
var _this$props = this.props,
value = _this$props.value,
onChange = _this$props.onChange,
isObjectActive = _this$props.isObjectActive,
activeObjectAttributes = _this$props.activeObjectAttributes;
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"
})),
title: image_title,
onClick: this.openModal,
isActive: isObjectActive
}), this.state.modal && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["MediaUpload"], {
allowedTypes: ALLOWED_MEDIA_TYPES,
onSelect: function onSelect(_ref) {
var id = _ref.id,
url = _ref.url,
alt = _ref.alt,
width = _ref.width;
_this2.closeModal();
onChange(Object(external_this_wp_richText_["insertObject"])(value, {
type: image_name,
attributes: {
className: "wp-image-".concat(id),
style: "width: ".concat(Math.min(width, 150), "px;"),
url: url,
alt: alt
}
}));
},
onClose: this.closeModal,
render: function render(_ref2) {
var open = _ref2.open;
open();
return null;
}
}), isObjectActive && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Popover"], {
position: "bottom center",
focusOnMount: false,
anchorRef: getRange()
}, Object(external_this_wp_element_["createElement"])("form", {
className: "editor-format-toolbar__image-container-content 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, {
style: "width: ".concat(_this2.state.width, "px;")
})
};
onChange(Object(objectSpread["a" /* default */])({}, 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",
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",
label: Object(external_this_wp_i18n_["__"])('Apply'),
type: "submit"
}))));
}
}], [{
key: "getDerivedStateFromProps",
value: function getDerivedStateFromProps(props, state) {
var style = props.activeObjectAttributes.style;
if (style === state.previousStyle) {
return null;
}
if (!style) {
return {
width: undefined,
previousStyle: style
};
}
return {
width: style.replace(/\D/g, ''),
previousStyle: style
};
}
}]);
return ImageEdit;
}(external_this_wp_element_["Component"])
};
// CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/italic/index.js
/**
* WordPress dependencies
*/
var italic_name = 'core/italic';
var italic_title = Object(external_this_wp_i18n_["__"])('Italic');
var italic = {
name: italic_name,
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, {
type: italic_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: "primary",
character: "i",
onUse: onToggle
}), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], {
name: "italic",
icon: "editor-italic",
title: italic_title,
onClick: onToggle,
isActive: isActive,
shortcutType: "primary",
shortcutCharacter: "i"
}), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["__unstableRichTextInputEvent"], {
inputType: "formatItalic",
onInput: onToggle
}));
}
};
// EXTERNAL MODULE: external {"this":["wp","url"]}
var external_this_wp_url_ = __webpack_require__(25);
// EXTERNAL MODULE: external {"this":["wp","htmlEntities"]}
var external_this_wp_htmlEntities_ = __webpack_require__(53);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
var esm_extends = __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
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Check for issues with the provided href.
*
* @param {string} href The href.
*
* @return {boolean} Is the href invalid?
*/
function isValidHref(href) {
if (!href) {
return false;
}
var trimmedHref = href.trim();
if (!trimmedHref) {
return false;
} // Does the href start with something that looks like a URL protocol?
if (/^\S+:/.test(trimmedHref)) {
var protocol = Object(external_this_wp_url_["getProtocol"])(trimmedHref);
if (!Object(external_this_wp_url_["isValidProtocol"])(protocol)) {
return false;
} // Add some extra checks for http(s) URIs, since these are the most common use-case.
// This ensures URIs with an http protocol have exactly two forward slashes following the protocol.
if (Object(external_this_lodash_["startsWith"])(protocol, 'http') && !/^https?:\/\/[^\/\s]/i.test(trimmedHref)) {
return false;
}
var authority = Object(external_this_wp_url_["getAuthority"])(trimmedHref);
if (!Object(external_this_wp_url_["isValidAuthority"])(authority)) {
return false;
}
var path = Object(external_this_wp_url_["getPath"])(trimmedHref);
if (path && !Object(external_this_wp_url_["isValidPath"])(path)) {
return false;
}
var queryString = Object(external_this_wp_url_["getQueryString"])(trimmedHref);
if (queryString && !Object(external_this_wp_url_["isValidQueryString"])(queryString)) {
return false;
}
var fragment = Object(external_this_wp_url_["getFragment"])(trimmedHref);
if (fragment && !Object(external_this_wp_url_["isValidFragment"])(fragment)) {
return false;
}
} // Validate anchor links.
if (Object(external_this_lodash_["startsWith"])(trimmedHref, '#') && !Object(external_this_wp_url_["isValidFragment"])(trimmedHref)) {
return false;
}
return true;
}
/**
* Generates the format object that will be applied to the link text.
*
* @param {Object} options
* @param {string} options.url The href of the link.
* @param {boolean} options.opensInNewWindow Whether this link will open in a new window.
* @param {Object} options.text The text that is being hyperlinked.
*
* @return {Object} The final format object.
*/
function createLinkFormat(_ref) {
var url = _ref.url,
opensInNewWindow = _ref.opensInNewWindow,
text = _ref.text;
var format = {
type: 'core/link',
attributes: {
url: url
}
};
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;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/link/inline.js
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
var inline_stopKeyPropagation = function stopKeyPropagation(event) {
return event.stopPropagation();
};
function isShowingInput(props, state) {
return props.addingLink || state.editLink;
}
var inline_URLPopoverAtLink = function URLPopoverAtLink(_ref) {
var isActive = _ref.isActive,
addingLink = _ref.addingLink,
value = _ref.value,
props = Object(objectWithoutProperties["a" /* default */])(_ref, ["isActive", "addingLink", "value"]);
var anchorRef = Object(external_this_wp_element_["useMemo"])(function () {
var selection = window.getSelection();
if (!selection.rangeCount) {
return;
}
var range = selection.getRangeAt(0);
if (addingLink) {
return 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;
}
return element.closest('a');
}, [isActive, addingLink, value.start, value.end]);
if (!anchorRef) {
return null;
}
return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["URLPopover"], Object(esm_extends["a" /* default */])({
anchorRef: anchorRef
}, props));
};
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 */])(_this));
_this.submitLink = _this.submitLink.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.onKeyDown = _this.onKeyDown.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.onChangeInputValue = _this.onChangeInputValue.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.setLinkTarget = _this.setLinkTarget.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.onFocusOutside = _this.onFocusOutside.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.resetState = _this.resetState.bind(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();
}
}, {
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: "onFocusOutside",
value: function onFocusOutside() {
// The autocomplete suggestions list renders in a separate popover (in a portal),
// so onFocusOutside 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(document.activeElement)) {
return;
}
this.resetState();
}
}, {
key: "resetState",
value: function resetState() {
this.props.stopAddingLink();
this.setState({
editLink: false
});
}
}, {
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,
onFocusOutside: this.onFocusOutside,
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"])(external_this_wp_blockEditor_["URLPopover"].LinkEditor, {
className: "editor-format-toolbar__link-container-content block-editor-format-toolbar__link-container-content",
value: inputValue,
onChangeInputValue: this.onChangeInputValue,
onKeyDown: this.onKeyDown,
onKeyPress: inline_stopKeyPropagation,
onSubmit: this.submitLink,
autocompleteRef: this.autocompleteRef
}) : Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["URLPopover"].LinkViewer, {
className: "editor-format-toolbar__link-container-content block-editor-format-toolbar__link-container-content",
onKeyPress: inline_stopKeyPropagation,
url: url,
onEditLinkClick: this.editLink,
linkClassName: isValidHref(Object(external_this_wp_url_["prependHTTP"])(url)) ? undefined : 'has-invalid-link'
}));
}
}], [{
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)) {
var update = {};
if (url !== state.inputValue) {
update.inputValue = url;
}
if (opensInNewWindow !== state.opensInNewWindow) {
update.opensInNewWindow = opensInNewWindow;
}
return Object.keys(update).length ? update : null;
}
return null;
}
}]);
return InlineLinkUI;
}(external_this_wp_element_["Component"]);
/* harmony default export */ var inline = (Object(external_this_wp_components_["withSpokenMessages"])(inline_InlineLinkUI));
// CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/link/index.js
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
var link_name = 'core/link';
var link_title = Object(external_this_wp_i18n_["__"])('Link');
var link_link = {
name: link_name,
title: link_title,
tagName: 'a',
className: null,
attributes: {
url: 'href',
target: 'target'
},
__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);
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 */])(_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
};
return _this;
}
Object(createClass["a" /* default */])(LinkEdit, [{
key: "addLink",
value: function addLink() {
var _this$props = this.props,
value = _this$props.value,
onChange = _this$props.onChange;
var text = Object(external_this_wp_richText_["getTextContent"])(Object(external_this_wp_richText_["slice"])(value));
if (text && Object(external_this_wp_url_["isURL"])(text)) {
onChange(Object(external_this_wp_richText_["applyFormat"])(value, {
type: link_name,
attributes: {
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
});
}
}
}, {
key: "stopAddingLink",
value: function stopAddingLink() {
this.setState({
addingLink: false
});
}
}, {
key: "onRemoveFormat",
value: function onRemoveFormat() {
var _this$props2 = this.props,
value = _this$props2.value,
onChange = _this$props2.onChange,
speak = _this$props2.speak;
onChange(Object(external_this_wp_richText_["removeFormat"])(value, link_name));
speak(Object(external_this_wp_i18n_["__"])('Link removed.'), 'assertive');
}
}, {
key: "render",
value: function render() {
var _this$props3 = this.props,
isActive = _this$props3.isActive,
activeAttributes = _this$props3.activeAttributes,
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: "primary",
character: "k",
onUse: this.addLink
}), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextShortcut"], {
type: "primaryShift",
character: "k",
onUse: this.onRemoveFormat
}), isActive && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], {
name: "link",
icon: "editor-unlink",
title: Object(external_this_wp_i18n_["__"])('Unlink'),
onClick: this.onRemoveFormat,
isActive: isActive,
shortcutType: "primaryShift",
shortcutCharacter: "k"
}), !isActive && Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], {
name: "link",
icon: "admin-links",
title: link_title,
onClick: this.addLink,
isActive: isActive,
shortcutType: "primary",
shortcutCharacter: "k"
}), Object(external_this_wp_element_["createElement"])(inline, {
addingLink: this.state.addingLink,
stopAddingLink: this.stopAddingLink,
isActive: isActive,
activeAttributes: activeAttributes,
value: value,
onChange: onChange
}));
}
}]);
return LinkEdit;
}(external_this_wp_element_["Component"]))
};
// CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/strikethrough/index.js
/**
* WordPress dependencies
*/
var strikethrough_name = 'core/strikethrough';
var strikethrough_title = Object(external_this_wp_i18n_["__"])('Strikethrough');
var strikethrough = {
name: strikethrough_name,
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, {
type: strikethrough_name
}));
};
return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextToolbarButton"], {
icon: "editor-strikethrough",
title: strikethrough_title,
onClick: onToggle,
isActive: isActive
});
}
};
// CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/underline/index.js
/**
* WordPress dependencies
*/
var underline_name = 'core/underline';
var underline = {
name: underline_name,
title: Object(external_this_wp_i18n_["__"])('Underline'),
tagName: 'span',
className: null,
attributes: {
style: 'style'
},
edit: function edit(_ref) {
var value = _ref.value,
onChange = _ref.onChange;
var onToggle = function onToggle() {
onChange(Object(external_this_wp_richText_["toggleFormat"])(value, {
type: underline_name,
attributes: {
style: 'text-decoration: underline;'
}
}));
};
return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["RichTextShortcut"], {
type: "primary",
character: "u",
onUse: onToggle
}), Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["__unstableRichTextInputEvent"], {
inputType: "formatUnderline",
onInput: onToggle
}));
}
};
// CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/default-formats.js
/**
* Internal dependencies
*/
/* harmony default export */ var default_formats = ([bold, code, image_image, italic, link_link, strikethrough, underline]);
// CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/index.js
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
default_formats.forEach(function (_ref) {
var name = _ref.name,
settings = Object(objectWithoutProperties["a" /* default */])(_ref, ["name"]);
return Object(external_this_wp_richText_["registerFormatType"])(name, settings);
});
/***/ }),
/***/ 40:
/***/ (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 = {};
var sourceKeys = Object.keys(source);
var key, i;
for (i = 0; i < sourceKeys.length; i++) {
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0) continue;
target[key] = source[key];
}
return target;
}
/***/ }),
/***/ 5:
/***/ (function(module, exports) {
(function() { module.exports = this["wp"]["blockEditor"]; }());
/***/ }),
/***/ 53:
/***/ (function(module, exports) {
(function() { module.exports = this["wp"]["htmlEntities"]; }());
/***/ }),
/***/ 6:
/***/ (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;
}
/***/ }),
/***/ 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__(9);
function _objectSpread(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i] != null ? arguments[i] : {};
var ownKeys = Object.keys(Object(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;
}
/***/ }),
/***/ 9:
/***/ (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;
}
/***/ })
/******/ });