wp/wp-includes/js/dist/format-library.js
changeset 16 a86126ab1dd4
parent 9 177826044cd9
child 18 be944660c56a
--- 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);
 }
 
 /***/ })