wp/wp-includes/js/dist/annotations.js
changeset 18 be944660c56a
parent 16 a86126ab1dd4
child 19 3d72ae0968f4
--- a/wp/wp-includes/js/dist/annotations.js	Tue Dec 15 15:52:01 2020 +0100
+++ b/wp/wp-includes/js/dist/annotations.js	Wed Sep 21 18:19:35 2022 +0200
@@ -82,180 +82,765 @@
 /******/
 /******/
 /******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 448);
+/******/ 	return __webpack_require__(__webpack_require__.s = "23Y4");
 /******/ })
 /************************************************************************/
 /******/ ({
 
-/***/ 1:
+/***/ "1ZqX":
 /***/ (function(module, exports) {
 
-(function() { module.exports = this["wp"]["i18n"]; }());
+(function() { module.exports = window["wp"]["data"]; }());
 
 /***/ }),
 
-/***/ 15:
+/***/ "23Y4":
 /***/ (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);
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "store", function() { return /* reexport */ store; });
+
+// NAMESPACE OBJECT: ./node_modules/@wordpress/annotations/build-module/store/selectors.js
+var selectors_namespaceObject = {};
+__webpack_require__.r(selectors_namespaceObject);
+__webpack_require__.d(selectors_namespaceObject, "__experimentalGetAnnotationsForBlock", function() { return __experimentalGetAnnotationsForBlock; });
+__webpack_require__.d(selectors_namespaceObject, "__experimentalGetAllAnnotationsForBlock", function() { return __experimentalGetAllAnnotationsForBlock; });
+__webpack_require__.d(selectors_namespaceObject, "__experimentalGetAnnotationsForRichText", function() { return __experimentalGetAnnotationsForRichText; });
+__webpack_require__.d(selectors_namespaceObject, "__experimentalGetAnnotations", function() { return __experimentalGetAnnotations; });
+
+// NAMESPACE OBJECT: ./node_modules/@wordpress/annotations/build-module/store/actions.js
+var actions_namespaceObject = {};
+__webpack_require__.r(actions_namespaceObject);
+__webpack_require__.d(actions_namespaceObject, "__experimentalAddAnnotation", function() { return __experimentalAddAnnotation; });
+__webpack_require__.d(actions_namespaceObject, "__experimentalRemoveAnnotation", function() { return __experimentalRemoveAnnotation; });
+__webpack_require__.d(actions_namespaceObject, "__experimentalUpdateAnnotationRange", function() { return __experimentalUpdateAnnotationRange; });
+__webpack_require__.d(actions_namespaceObject, "__experimentalRemoveAnnotationsBySource", function() { return __experimentalRemoveAnnotationsBySource; });
+
+// EXTERNAL MODULE: external ["wp","richText"]
+var external_wp_richText_ = __webpack_require__("qRz9");
+
+// EXTERNAL MODULE: external ["wp","i18n"]
+var external_wp_i18n_ = __webpack_require__("l3Sj");
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/constants.js
+/**
+ * The identifier for the data store.
+ *
+ * @type {string}
+ */
+const STORE_NAME = 'core/annotations';
 
-function _objectWithoutProperties(source, excluded) {
-  if (source == null) return {};
-  var target = Object(_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(source, excluded);
-  var key, i;
+// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/format/annotation.js
+/**
+ * WordPress dependencies
+ */
+
+
+const FORMAT_NAME = 'core/annotation';
+const ANNOTATION_ATTRIBUTE_PREFIX = 'annotation-text-';
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * Applies given annotations to the given record.
+ *
+ * @param {Object} record The record to apply annotations to.
+ * @param {Array} annotations The annotation to apply.
+ * @return {Object} A record with the annotations applied.
+ */
+
+function applyAnnotations(record, annotations = []) {
+  annotations.forEach(annotation => {
+    let {
+      start,
+      end
+    } = annotation;
+
+    if (start > record.text.length) {
+      start = record.text.length;
+    }
+
+    if (end > record.text.length) {
+      end = record.text.length;
+    }
 
-  if (Object.getOwnPropertySymbols) {
-    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
+    const className = ANNOTATION_ATTRIBUTE_PREFIX + annotation.source;
+    const id = ANNOTATION_ATTRIBUTE_PREFIX + annotation.id;
+    record = Object(external_wp_richText_["applyFormat"])(record, {
+      type: FORMAT_NAME,
+      attributes: {
+        className,
+        id
+      }
+    }, start, end);
+  });
+  return record;
+}
+/**
+ * Removes annotations from the given record.
+ *
+ * @param {Object} record Record to remove annotations from.
+ * @return {Object} The cleaned record.
+ */
+
+function removeAnnotations(record) {
+  return Object(external_wp_richText_["removeFormat"])(record, 'core/annotation', 0, record.text.length);
+}
+/**
+ * Retrieves the positions of annotations inside an array of formats.
+ *
+ * @param {Array} formats Formats with annotations in there.
+ * @return {Object} ID keyed positions of annotations.
+ */
+
+function retrieveAnnotationPositions(formats) {
+  const positions = {};
+  formats.forEach((characterFormats, i) => {
+    characterFormats = characterFormats || [];
+    characterFormats = characterFormats.filter(format => format.type === FORMAT_NAME);
+    characterFormats.forEach(format => {
+      let {
+        id
+      } = format.attributes;
+      id = id.replace(ANNOTATION_ATTRIBUTE_PREFIX, '');
 
-    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];
+      if (!positions.hasOwnProperty(id)) {
+        positions[id] = {
+          start: i
+        };
+      } // Annotations refer to positions between characters.
+      // Formats refer to the character themselves.
+      // So we need to adjust for that here.
+
+
+      positions[id].end = i + 1;
+    });
+  });
+  return positions;
+}
+/**
+ * Updates annotations in the state based on positions retrieved from RichText.
+ *
+ * @param {Array}    annotations                   The annotations that are currently applied.
+ * @param {Array}    positions                     The current positions of the given annotations.
+ * @param {Object}   actions
+ * @param {Function} actions.removeAnnotation      Function to remove an annotation from the state.
+ * @param {Function} actions.updateAnnotationRange Function to update an annotation range in the state.
+ */
+
+
+function updateAnnotationsWithPositions(annotations, positions, {
+  removeAnnotation,
+  updateAnnotationRange
+}) {
+  annotations.forEach(currentAnnotation => {
+    const position = positions[currentAnnotation.id]; // If we cannot find an annotation, delete it.
+
+    if (!position) {
+      // Apparently the annotation has been removed, so remove it from the state:
+      // Remove...
+      removeAnnotation(currentAnnotation.id);
+      return;
     }
-  }
 
-  return target;
+    const {
+      start,
+      end
+    } = currentAnnotation;
+
+    if (start !== position.start || end !== position.end) {
+      updateAnnotationRange(currentAnnotation.id, position.start, position.end);
+    }
+  });
 }
 
-/***/ }),
+const annotation_annotation = {
+  name: FORMAT_NAME,
+  title: Object(external_wp_i18n_["__"])('Annotation'),
+  tagName: 'mark',
+  className: 'annotation-text',
+  attributes: {
+    className: 'class',
+    id: 'id'
+  },
+
+  edit() {
+    return null;
+  },
+
+  __experimentalGetPropsForEditableTreePreparation(select, {
+    richTextIdentifier,
+    blockClientId
+  }) {
+    return {
+      annotations: select(STORE_NAME).__experimentalGetAnnotationsForRichText(blockClientId, richTextIdentifier)
+    };
+  },
+
+  __experimentalCreatePrepareEditableTree({
+    annotations
+  }) {
+    return (formats, text) => {
+      if (annotations.length === 0) {
+        return formats;
+      }
+
+      let record = {
+        formats,
+        text
+      };
+      record = applyAnnotations(record, annotations);
+      return record.formats;
+    };
+  },
+
+  __experimentalGetPropsForEditableTreeChangeHandler(dispatch) {
+    return {
+      removeAnnotation: dispatch(STORE_NAME).__experimentalRemoveAnnotation,
+      updateAnnotationRange: dispatch(STORE_NAME).__experimentalUpdateAnnotationRange
+    };
+  },
 
-/***/ 18:
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
+  __experimentalCreateOnChangeEditableValue(props) {
+    return formats => {
+      const positions = retrieveAnnotationPositions(formats);
+      const {
+        removeAnnotation,
+        updateAnnotationRange,
+        annotations
+      } = props;
+      updateAnnotationsWithPositions(annotations, positions, {
+        removeAnnotation,
+        updateAnnotationRange
+      });
+    };
+  }
+
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/format/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
 
-"use strict";
+const {
+  name: format_name,
+  ...settings
+} = annotation_annotation;
+Object(external_wp_richText_["registerFormatType"])(format_name, settings);
+
+// EXTERNAL MODULE: external ["wp","hooks"]
+var external_wp_hooks_ = __webpack_require__("g56x");
+
+// EXTERNAL MODULE: external ["wp","data"]
+var external_wp_data_ = __webpack_require__("1ZqX");
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/block/index.js
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * Adds annotation className to the block-list-block component.
+ *
+ * @param {Object} OriginalComponent The original BlockListBlock component.
+ * @return {Object} The enhanced component.
+ */
 
-// EXPORTS
-__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _toConsumableArray; });
+const addAnnotationClassName = OriginalComponent => {
+  return Object(external_wp_data_["withSelect"])((select, {
+    clientId,
+    className
+  }) => {
+    const annotations = select(STORE_NAME).__experimentalGetAnnotationsForBlock(clientId);
+
+    return {
+      className: annotations.map(annotation => {
+        return 'is-annotated-by-' + annotation.source;
+      }).concat(className).filter(Boolean).join(' ')
+    };
+  })(OriginalComponent);
+};
+
+Object(external_wp_hooks_["addFilter"])('editor.BlockListBlock', 'core/annotations', addAnnotationClassName);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__("YLtl");
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/reducer.js
+/**
+ * External dependencies
+ */
+
+/**
+ * Filters an array based on the predicate, but keeps the reference the same if
+ * the array hasn't changed.
+ *
+ * @param {Array}    collection The collection to filter.
+ * @param {Function} predicate  Function that determines if the item should stay
+ *                              in the array.
+ * @return {Array} Filtered array.
+ */
+
+function filterWithReference(collection, predicate) {
+  const filteredCollection = collection.filter(predicate);
+  return collection.length === filteredCollection.length ? collection : filteredCollection;
+}
+/**
+ * Verifies whether the given annotations is a valid annotation.
+ *
+ * @param {Object} annotation The annotation to verify.
+ * @return {boolean} Whether the given annotation is valid.
+ */
+
 
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
-var arrayLikeToArray = __webpack_require__(26);
+function isValidAnnotationRange(annotation) {
+  return Object(external_lodash_["isNumber"])(annotation.start) && Object(external_lodash_["isNumber"])(annotation.end) && annotation.start <= annotation.end;
+}
+/**
+ * Reducer managing annotations.
+ *
+ * @param {Object} state  The annotations currently shown in the editor.
+ * @param {Object} action Dispatched action.
+ *
+ * @return {Array} Updated state.
+ */
+
+
+function reducer_annotations(state = {}, action) {
+  var _state$blockClientId;
+
+  switch (action.type) {
+    case 'ANNOTATION_ADD':
+      const blockClientId = action.blockClientId;
+      const newAnnotation = {
+        id: action.id,
+        blockClientId,
+        richTextIdentifier: action.richTextIdentifier,
+        source: action.source,
+        selector: action.selector,
+        range: action.range
+      };
 
-// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
+      if (newAnnotation.selector === 'range' && !isValidAnnotationRange(newAnnotation.range)) {
+        return state;
+      }
+
+      const previousAnnotationsForBlock = (_state$blockClientId = state === null || state === void 0 ? void 0 : state[blockClientId]) !== null && _state$blockClientId !== void 0 ? _state$blockClientId : [];
+      return { ...state,
+        [blockClientId]: [...previousAnnotationsForBlock, newAnnotation]
+      };
+
+    case 'ANNOTATION_REMOVE':
+      return Object(external_lodash_["mapValues"])(state, annotationsForBlock => {
+        return filterWithReference(annotationsForBlock, annotation => {
+          return annotation.id !== action.annotationId;
+        });
+      });
+
+    case 'ANNOTATION_UPDATE_RANGE':
+      return Object(external_lodash_["mapValues"])(state, annotationsForBlock => {
+        let hasChangedRange = false;
+        const newAnnotations = annotationsForBlock.map(annotation => {
+          if (annotation.id === action.annotationId) {
+            hasChangedRange = true;
+            return { ...annotation,
+              range: {
+                start: action.start,
+                end: action.end
+              }
+            };
+          }
+
+          return annotation;
+        });
+        return hasChangedRange ? newAnnotations : annotationsForBlock;
+      });
 
-function _arrayWithoutHoles(arr) {
-  if (Array.isArray(arr)) return Object(arrayLikeToArray["a" /* default */])(arr);
+    case 'ANNOTATION_REMOVE_SOURCE':
+      return Object(external_lodash_["mapValues"])(state, annotationsForBlock => {
+        return filterWithReference(annotationsForBlock, annotation => {
+          return annotation.source !== action.source;
+        });
+      });
+  }
+
+  return state;
 }
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
-var iterableToArray = __webpack_require__(35);
+/* harmony default export */ var reducer = (reducer_annotations);
+
+// EXTERNAL MODULE: ./node_modules/rememo/es/rememo.js
+var rememo = __webpack_require__("pPDe");
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/selectors.js
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Shared reference to an empty array for cases where it is important to avoid
+ * returning a new array reference on every invocation, as in a connected or
+ * other pure component which performs `shouldComponentUpdate` check on props.
+ * This should be used as a last resort, since the normalized data should be
+ * maintained by the reducer result in state.
+ *
+ * @type {Array}
+ */
+
+const EMPTY_ARRAY = [];
+/**
+ * Returns the annotations for a specific client ID.
+ *
+ * @param {Object} state Editor state.
+ * @param {string} clientId The ID of the block to get the annotations for.
+ *
+ * @return {Array} The annotations applicable to this block.
+ */
+
+const __experimentalGetAnnotationsForBlock = Object(rememo["a" /* default */])((state, blockClientId) => {
+  var _state$blockClientId;
+
+  return ((_state$blockClientId = state === null || state === void 0 ? void 0 : state[blockClientId]) !== null && _state$blockClientId !== void 0 ? _state$blockClientId : []).filter(annotation => {
+    return annotation.selector === 'block';
+  });
+}, (state, blockClientId) => {
+  var _state$blockClientId2;
+
+  return [(_state$blockClientId2 = state === null || state === void 0 ? void 0 : state[blockClientId]) !== null && _state$blockClientId2 !== void 0 ? _state$blockClientId2 : EMPTY_ARRAY];
+});
+function __experimentalGetAllAnnotationsForBlock(state, blockClientId) {
+  var _state$blockClientId3;
+
+  return (_state$blockClientId3 = state === null || state === void 0 ? void 0 : state[blockClientId]) !== null && _state$blockClientId3 !== void 0 ? _state$blockClientId3 : EMPTY_ARRAY;
+}
+/**
+ * Returns the annotations that apply to the given RichText instance.
+ *
+ * Both a blockClientId and a richTextIdentifier are required. This is because
+ * a block might have multiple `RichText` components. This does mean that every
+ * block needs to implement annotations itself.
+ *
+ * @param {Object} state              Editor state.
+ * @param {string} blockClientId      The client ID for the block.
+ * @param {string} richTextIdentifier Unique identifier that identifies the given RichText.
+ * @return {Array} All the annotations relevant for the `RichText`.
+ */
+
+const __experimentalGetAnnotationsForRichText = Object(rememo["a" /* default */])((state, blockClientId, richTextIdentifier) => {
+  var _state$blockClientId4;
+
+  return ((_state$blockClientId4 = state === null || state === void 0 ? void 0 : state[blockClientId]) !== null && _state$blockClientId4 !== void 0 ? _state$blockClientId4 : []).filter(annotation => {
+    return annotation.selector === 'range' && richTextIdentifier === annotation.richTextIdentifier;
+  }).map(annotation => {
+    const {
+      range,
+      ...other
+    } = annotation;
+    return { ...range,
+      ...other
+    };
+  });
+}, (state, blockClientId) => {
+  var _state$blockClientId5;
+
+  return [(_state$blockClientId5 = state === null || state === void 0 ? void 0 : state[blockClientId]) !== null && _state$blockClientId5 !== void 0 ? _state$blockClientId5 : EMPTY_ARRAY];
+});
+/**
+ * Returns all annotations in the editor state.
+ *
+ * @param {Object} state Editor state.
+ * @return {Array} All annotations currently applied.
+ */
+
+function __experimentalGetAnnotations(state) {
+  return Object(external_lodash_["flatMap"])(state, annotations => {
+    return annotations;
+  });
+}
+
+// EXTERNAL MODULE: ./node_modules/uuid/dist/esm-browser/v4.js + 4 modules
+var v4 = __webpack_require__("7Cbv");
 
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
-var unsupportedIterableToArray = __webpack_require__(29);
+// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/actions.js
+/**
+ * External dependencies
+ */
+
+/**
+ * @typedef WPAnnotationRange
+ *
+ * @property {number} start The offset where the annotation should start.
+ * @property {number} end   The offset where the annotation should end.
+ */
+
+/**
+ * Adds an annotation to a block.
+ *
+ * The `block` attribute refers to a block ID that needs to be annotated.
+ * `isBlockAnnotation` controls whether or not the annotation is a block
+ * annotation. The `source` is the source of the annotation, this will be used
+ * to identity groups of annotations.
+ *
+ * The `range` property is only relevant if the selector is 'range'.
+ *
+ * @param {Object}            annotation                    The annotation to add.
+ * @param {string}            annotation.blockClientId      The blockClientId to add the annotation to.
+ * @param {string}            annotation.richTextIdentifier Identifier for the RichText instance the annotation applies to.
+ * @param {WPAnnotationRange} annotation.range              The range at which to apply this annotation.
+ * @param {string}            [annotation.selector="range"] The way to apply this annotation.
+ * @param {string}            [annotation.source="default"] The source that added the annotation.
+ * @param {string}            [annotation.id]               The ID the annotation should have. Generates a UUID by default.
+ *
+ * @return {Object} Action object.
+ */
+
+function __experimentalAddAnnotation({
+  blockClientId,
+  richTextIdentifier = null,
+  range = null,
+  selector = 'range',
+  source = 'default',
+  id = Object(v4["a" /* default */])()
+}) {
+  const action = {
+    type: 'ANNOTATION_ADD',
+    id,
+    blockClientId,
+    richTextIdentifier,
+    source,
+    selector
+  };
+
+  if (selector === 'range') {
+    action.range = range;
+  }
 
-// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
-function _nonIterableSpread() {
-  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+  return action;
+}
+/**
+ * Removes an annotation with a specific ID.
+ *
+ * @param {string} annotationId The annotation to remove.
+ *
+ * @return {Object} Action object.
+ */
+
+function __experimentalRemoveAnnotation(annotationId) {
+  return {
+    type: 'ANNOTATION_REMOVE',
+    annotationId
+  };
 }
-// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
+/**
+ * Updates the range of an annotation.
+ *
+ * @param {string} annotationId ID of the annotation to update.
+ * @param {number} start The start of the new range.
+ * @param {number} end The end of the new range.
+ *
+ * @return {Object} Action object.
+ */
+
+function __experimentalUpdateAnnotationRange(annotationId, start, end) {
+  return {
+    type: 'ANNOTATION_UPDATE_RANGE',
+    annotationId,
+    start,
+    end
+  };
+}
+/**
+ * Removes all annotations of a specific source.
+ *
+ * @param {string} source The source to remove.
+ *
+ * @return {Object} Action object.
+ */
+
+function __experimentalRemoveAnnotationsBySource(source) {
+  return {
+    type: 'ANNOTATION_REMOVE_SOURCE',
+    source
+  };
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
 
 
 
 
-function _toConsumableArray(arr) {
-  return _arrayWithoutHoles(arr) || Object(iterableToArray["a" /* default */])(arr) || Object(unsupportedIterableToArray["a" /* default */])(arr) || _nonIterableSpread();
-}
+/**
+ * Module Constants
+ */
+
+
+/**
+ * Store definition for the annotations namespace.
+ *
+ * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore
+ *
+ * @type {Object}
+ */
 
-/***/ }),
+const store = Object(external_wp_data_["createReduxStore"])(STORE_NAME, {
+  reducer: reducer,
+  selectors: selectors_namespaceObject,
+  actions: actions_namespaceObject
+});
+Object(external_wp_data_["register"])(store);
 
-/***/ 2:
-/***/ (function(module, exports) {
+// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/index.js
+/**
+ * Internal dependencies
+ */
 
-(function() { module.exports = this["lodash"]; }());
+
+
+
 
 /***/ }),
 
-/***/ 25:
-/***/ (function(module, exports) {
-
-(function() { module.exports = this["wp"]["richText"]; }());
-
-/***/ }),
-
-/***/ 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:
+/***/ "7Cbv":
 /***/ (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);
+
+// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/rng.js
+// Unique ID creation requires a high quality random # generator. In the browser we therefore
+// require the crypto API and do not support built-in fallback to lower quality random number
+// generators (like Math.random()).
+var getRandomValues;
+var rnds8 = new Uint8Array(16);
+function rng() {
+  // lazy load so that environments that need to polyfill have a chance to do so
+  if (!getRandomValues) {
+    // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also,
+    // find the complete implementation of crypto (msCrypto) on IE11.
+    getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);
+
+    if (!getRandomValues) {
+      throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
+    }
+  }
 
-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);
+  return getRandomValues(rnds8);
+}
+// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/regex.js
+/* harmony default export */ var regex = (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i);
+// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/validate.js
+
+
+function validate(uuid) {
+  return typeof uuid === 'string' && regex.test(uuid);
+}
+
+/* harmony default export */ var esm_browser_validate = (validate);
+// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/stringify.js
+
+/**
+ * Convert array of 16 byte values to UUID string format of the form:
+ * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
+ */
+
+var byteToHex = [];
+
+for (var stringify_i = 0; stringify_i < 256; ++stringify_i) {
+  byteToHex.push((stringify_i + 0x100).toString(16).substr(1));
 }
 
-/***/ }),
+function stringify(arr) {
+  var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
+  // Note: Be careful editing this code!  It's been tuned for performance
+  // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
+  var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID.  If this throws, it's likely due to one
+  // of the following:
+  // - One or more input array values don't map to a hex octet (leading to
+  // "undefined" in the uuid)
+  // - Invalid input values for the RFC `version` or `variant` fields
+
+  if (!esm_browser_validate(uuid)) {
+    throw TypeError('Stringified UUID is invalid');
+  }
+
+  return uuid;
+}
+
+/* harmony default export */ var esm_browser_stringify = (stringify);
+// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/v4.js
+
+
 
-/***/ 32:
-/***/ (function(module, exports) {
+function v4(options, buf, offset) {
+  options = options || {};
+  var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
+
+  rnds[6] = rnds[6] & 0x0f | 0x40;
+  rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
+
+  if (buf) {
+    offset = offset || 0;
 
-(function() { module.exports = this["wp"]["hooks"]; }());
+    for (var i = 0; i < 16; ++i) {
+      buf[offset + i] = rnds[i];
+    }
+
+    return buf;
+  }
+
+  return esm_browser_stringify(rnds);
+}
+
+/* harmony default export */ var esm_browser_v4 = __webpack_exports__["a"] = (v4);
 
 /***/ }),
 
-/***/ 35:
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _iterableToArray; });
-function _iterableToArray(iter) {
-  if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
-}
-
-/***/ }),
-
-/***/ 4:
+/***/ "YLtl":
 /***/ (function(module, exports) {
 
-(function() { module.exports = this["wp"]["data"]; }());
+(function() { module.exports = window["lodash"]; }());
 
 /***/ }),
 
-/***/ 41:
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
+/***/ "g56x":
+/***/ (function(module, exports) {
 
-"use strict";
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutPropertiesLoose; });
-function _objectWithoutPropertiesLoose(source, excluded) {
-  if (source == null) return {};
-  var target = {};
-  var sourceKeys = Object.keys(source);
-  var key, i;
-
-  for (i = 0; i < sourceKeys.length; i++) {
-    key = sourceKeys[i];
-    if (excluded.indexOf(key) >= 0) continue;
-    target[key] = source[key];
-  }
-
-  return target;
-}
+(function() { module.exports = window["wp"]["hooks"]; }());
 
 /***/ }),
 
-/***/ 42:
+/***/ "l3Sj":
+/***/ (function(module, exports) {
+
+(function() { module.exports = window["wp"]["i18n"]; }());
+
+/***/ }),
+
+/***/ "pPDe":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -537,701 +1122,10 @@
 
 /***/ }),
 
-/***/ 448:
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-// ESM COMPAT FLAG
-__webpack_require__.r(__webpack_exports__);
-
-// NAMESPACE OBJECT: ./node_modules/@wordpress/annotations/build-module/store/selectors.js
-var selectors_namespaceObject = {};
-__webpack_require__.r(selectors_namespaceObject);
-__webpack_require__.d(selectors_namespaceObject, "__experimentalGetAnnotationsForBlock", function() { return __experimentalGetAnnotationsForBlock; });
-__webpack_require__.d(selectors_namespaceObject, "__experimentalGetAllAnnotationsForBlock", function() { return __experimentalGetAllAnnotationsForBlock; });
-__webpack_require__.d(selectors_namespaceObject, "__experimentalGetAnnotationsForRichText", function() { return __experimentalGetAnnotationsForRichText; });
-__webpack_require__.d(selectors_namespaceObject, "__experimentalGetAnnotations", function() { return __experimentalGetAnnotations; });
-
-// NAMESPACE OBJECT: ./node_modules/@wordpress/annotations/build-module/store/actions.js
-var actions_namespaceObject = {};
-__webpack_require__.r(actions_namespaceObject);
-__webpack_require__.d(actions_namespaceObject, "__experimentalAddAnnotation", function() { return __experimentalAddAnnotation; });
-__webpack_require__.d(actions_namespaceObject, "__experimentalRemoveAnnotation", function() { return __experimentalRemoveAnnotation; });
-__webpack_require__.d(actions_namespaceObject, "__experimentalUpdateAnnotationRange", function() { return __experimentalUpdateAnnotationRange; });
-__webpack_require__.d(actions_namespaceObject, "__experimentalRemoveAnnotationsBySource", function() { return __experimentalRemoveAnnotationsBySource; });
-
-// EXTERNAL MODULE: external {"this":["wp","data"]}
-var external_this_wp_data_ = __webpack_require__(4);
-
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules
-var toConsumableArray = __webpack_require__(18);
-
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
-var defineProperty = __webpack_require__(5);
-
-// EXTERNAL MODULE: external {"this":"lodash"}
-var external_this_lodash_ = __webpack_require__(2);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/reducer.js
-
-
-
-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; }
-
-/**
- * External dependencies
- */
-
-/**
- * Filters an array based on the predicate, but keeps the reference the same if
- * the array hasn't changed.
- *
- * @param {Array}    collection The collection to filter.
- * @param {Function} predicate  Function that determines if the item should stay
- *                              in the array.
- * @return {Array} Filtered array.
- */
-
-function filterWithReference(collection, predicate) {
-  var filteredCollection = collection.filter(predicate);
-  return collection.length === filteredCollection.length ? collection : filteredCollection;
-}
-/**
- * Verifies whether the given annotations is a valid annotation.
- *
- * @param {Object} annotation The annotation to verify.
- * @return {boolean} Whether the given annotation is valid.
- */
-
-
-function isValidAnnotationRange(annotation) {
-  return Object(external_this_lodash_["isNumber"])(annotation.start) && Object(external_this_lodash_["isNumber"])(annotation.end) && annotation.start <= annotation.end;
-}
-/**
- * Reducer managing annotations.
- *
- * @param {Object} state  The annotations currently shown in the editor.
- * @param {Object} action Dispatched action.
- *
- * @return {Array} Updated state.
- */
-
-
-function reducer_annotations() {
-  var _state$blockClientId;
-
-  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-  var action = arguments.length > 1 ? arguments[1] : undefined;
-
-  switch (action.type) {
-    case 'ANNOTATION_ADD':
-      var blockClientId = action.blockClientId;
-      var newAnnotation = {
-        id: action.id,
-        blockClientId: blockClientId,
-        richTextIdentifier: action.richTextIdentifier,
-        source: action.source,
-        selector: action.selector,
-        range: action.range
-      };
-
-      if (newAnnotation.selector === 'range' && !isValidAnnotationRange(newAnnotation.range)) {
-        return state;
-      }
-
-      var previousAnnotationsForBlock = (_state$blockClientId = state === null || state === void 0 ? void 0 : state[blockClientId]) !== null && _state$blockClientId !== void 0 ? _state$blockClientId : [];
-      return _objectSpread({}, state, Object(defineProperty["a" /* default */])({}, blockClientId, [].concat(Object(toConsumableArray["a" /* default */])(previousAnnotationsForBlock), [newAnnotation])));
-
-    case 'ANNOTATION_REMOVE':
-      return Object(external_this_lodash_["mapValues"])(state, function (annotationsForBlock) {
-        return filterWithReference(annotationsForBlock, function (annotation) {
-          return annotation.id !== action.annotationId;
-        });
-      });
-
-    case 'ANNOTATION_UPDATE_RANGE':
-      return Object(external_this_lodash_["mapValues"])(state, function (annotationsForBlock) {
-        var hasChangedRange = false;
-        var newAnnotations = annotationsForBlock.map(function (annotation) {
-          if (annotation.id === action.annotationId) {
-            hasChangedRange = true;
-            return _objectSpread({}, annotation, {
-              range: {
-                start: action.start,
-                end: action.end
-              }
-            });
-          }
-
-          return annotation;
-        });
-        return hasChangedRange ? newAnnotations : annotationsForBlock;
-      });
-
-    case 'ANNOTATION_REMOVE_SOURCE':
-      return Object(external_this_lodash_["mapValues"])(state, function (annotationsForBlock) {
-        return filterWithReference(annotationsForBlock, function (annotation) {
-          return annotation.source !== action.source;
-        });
-      });
-  }
-
-  return state;
-}
-/* harmony default export */ var reducer = (reducer_annotations);
-
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
-var objectWithoutProperties = __webpack_require__(15);
-
-// EXTERNAL MODULE: ./node_modules/rememo/es/rememo.js
-var rememo = __webpack_require__(42);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/selectors.js
-
-
-
-function selectors_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 selectors_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { selectors_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 { selectors_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
-
-/**
- * External dependencies
- */
-
-
-/**
- * Shared reference to an empty array for cases where it is important to avoid
- * returning a new array reference on every invocation, as in a connected or
- * other pure component which performs `shouldComponentUpdate` check on props.
- * This should be used as a last resort, since the normalized data should be
- * maintained by the reducer result in state.
- *
- * @type {Array}
- */
-
-var EMPTY_ARRAY = [];
-/**
- * Returns the annotations for a specific client ID.
- *
- * @param {Object} state Editor state.
- * @param {string} clientId The ID of the block to get the annotations for.
- *
- * @return {Array} The annotations applicable to this block.
- */
-
-var __experimentalGetAnnotationsForBlock = Object(rememo["a" /* default */])(function (state, blockClientId) {
-  var _state$blockClientId;
-
-  return ((_state$blockClientId = state === null || state === void 0 ? void 0 : state[blockClientId]) !== null && _state$blockClientId !== void 0 ? _state$blockClientId : []).filter(function (annotation) {
-    return annotation.selector === 'block';
-  });
-}, function (state, blockClientId) {
-  var _state$blockClientId2;
-
-  return [(_state$blockClientId2 = state === null || state === void 0 ? void 0 : state[blockClientId]) !== null && _state$blockClientId2 !== void 0 ? _state$blockClientId2 : EMPTY_ARRAY];
-});
-function __experimentalGetAllAnnotationsForBlock(state, blockClientId) {
-  var _state$blockClientId3;
-
-  return (_state$blockClientId3 = state === null || state === void 0 ? void 0 : state[blockClientId]) !== null && _state$blockClientId3 !== void 0 ? _state$blockClientId3 : EMPTY_ARRAY;
-}
-/**
- * Returns the annotations that apply to the given RichText instance.
- *
- * Both a blockClientId and a richTextIdentifier are required. This is because
- * a block might have multiple `RichText` components. This does mean that every
- * block needs to implement annotations itself.
- *
- * @param {Object} state              Editor state.
- * @param {string} blockClientId      The client ID for the block.
- * @param {string} richTextIdentifier Unique identifier that identifies the given RichText.
- * @return {Array} All the annotations relevant for the `RichText`.
- */
-
-var __experimentalGetAnnotationsForRichText = Object(rememo["a" /* default */])(function (state, blockClientId, richTextIdentifier) {
-  var _state$blockClientId4;
-
-  return ((_state$blockClientId4 = state === null || state === void 0 ? void 0 : state[blockClientId]) !== null && _state$blockClientId4 !== void 0 ? _state$blockClientId4 : []).filter(function (annotation) {
-    return annotation.selector === 'range' && richTextIdentifier === annotation.richTextIdentifier;
-  }).map(function (annotation) {
-    var range = annotation.range,
-        other = Object(objectWithoutProperties["a" /* default */])(annotation, ["range"]);
-
-    return selectors_objectSpread({}, range, {}, other);
-  });
-}, function (state, blockClientId) {
-  var _state$blockClientId5;
-
-  return [(_state$blockClientId5 = state === null || state === void 0 ? void 0 : state[blockClientId]) !== null && _state$blockClientId5 !== void 0 ? _state$blockClientId5 : EMPTY_ARRAY];
-});
-/**
- * Returns all annotations in the editor state.
- *
- * @param {Object} state Editor state.
- * @return {Array} All annotations currently applied.
- */
-
-function __experimentalGetAnnotations(state) {
-  return Object(external_this_lodash_["flatMap"])(state, function (annotations) {
-    return annotations;
-  });
-}
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/node_modules/uuid/dist/esm-browser/rng.js
-// Unique ID creation requires a high quality random # generator. In the browser we therefore
-// require the crypto API and do not support built-in fallback to lower quality random number
-// generators (like Math.random()).
-// getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also,
-// find the complete implementation of crypto (msCrypto) on IE11.
-var getRandomValues = typeof crypto != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != 'undefined' && typeof msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto);
-var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef
-
-function rng() {
-  if (!getRandomValues) {
-    throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
-  }
-
-  return getRandomValues(rnds8);
-}
-// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/node_modules/uuid/dist/esm-browser/bytesToUuid.js
-/**
- * Convert array of 16 byte values to UUID string format of the form:
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
- */
-var byteToHex = [];
-
-for (var bytesToUuid_i = 0; bytesToUuid_i < 256; ++bytesToUuid_i) {
-  byteToHex[bytesToUuid_i] = (bytesToUuid_i + 0x100).toString(16).substr(1);
-}
-
-function bytesToUuid(buf, offset) {
-  var i = offset || 0;
-  var bth = byteToHex; // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4
-
-  return [bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]]].join('');
-}
-
-/* harmony default export */ var esm_browser_bytesToUuid = (bytesToUuid);
-// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/node_modules/uuid/dist/esm-browser/v4.js
-
-
-
-function v4(options, buf, offset) {
-  var i = buf && offset || 0;
-
-  if (typeof options == 'string') {
-    buf = options === 'binary' ? new Array(16) : null;
-    options = null;
-  }
-
-  options = options || {};
-  var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
-
-  rnds[6] = rnds[6] & 0x0f | 0x40;
-  rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
-
-  if (buf) {
-    for (var ii = 0; ii < 16; ++ii) {
-      buf[i + ii] = rnds[ii];
-    }
-  }
-
-  return buf || esm_browser_bytesToUuid(rnds);
-}
-
-/* harmony default export */ var esm_browser_v4 = (v4);
-// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/actions.js
-/**
- * External dependencies
- */
-
-/**
- * @typedef WPAnnotationRange
- *
- * @property {number} start The offset where the annotation should start.
- * @property {number} end   The offset where the annotation should end.
- */
-
-/**
- * Adds an annotation to a block.
- *
- * The `block` attribute refers to a block ID that needs to be annotated.
- * `isBlockAnnotation` controls whether or not the annotation is a block
- * annotation. The `source` is the source of the annotation, this will be used
- * to identity groups of annotations.
- *
- * The `range` property is only relevant if the selector is 'range'.
- *
- * @param {Object}            annotation                    The annotation to add.
- * @param {string}            annotation.blockClientId      The blockClientId to add the annotation to.
- * @param {string}            annotation.richTextIdentifier Identifier for the RichText instance the annotation applies to.
- * @param {WPAnnotationRange} annotation.range              The range at which to apply this annotation.
- * @param {string}            [annotation.selector="range"] The way to apply this annotation.
- * @param {string}            [annotation.source="default"] The source that added the annotation.
- * @param {string}            [annotation.id]               The ID the annotation should have. Generates a UUID by default.
- *
- * @return {Object} Action object.
- */
+/***/ "qRz9":
+/***/ (function(module, exports) {
 
-function __experimentalAddAnnotation(_ref) {
-  var blockClientId = _ref.blockClientId,
-      _ref$richTextIdentifi = _ref.richTextIdentifier,
-      richTextIdentifier = _ref$richTextIdentifi === void 0 ? null : _ref$richTextIdentifi,
-      _ref$range = _ref.range,
-      range = _ref$range === void 0 ? null : _ref$range,
-      _ref$selector = _ref.selector,
-      selector = _ref$selector === void 0 ? 'range' : _ref$selector,
-      _ref$source = _ref.source,
-      source = _ref$source === void 0 ? 'default' : _ref$source,
-      _ref$id = _ref.id,
-      id = _ref$id === void 0 ? esm_browser_v4() : _ref$id;
-  var action = {
-    type: 'ANNOTATION_ADD',
-    id: id,
-    blockClientId: blockClientId,
-    richTextIdentifier: richTextIdentifier,
-    source: source,
-    selector: selector
-  };
-
-  if (selector === 'range') {
-    action.range = range;
-  }
-
-  return action;
-}
-/**
- * Removes an annotation with a specific ID.
- *
- * @param {string} annotationId The annotation to remove.
- *
- * @return {Object} Action object.
- */
-
-function __experimentalRemoveAnnotation(annotationId) {
-  return {
-    type: 'ANNOTATION_REMOVE',
-    annotationId: annotationId
-  };
-}
-/**
- * Updates the range of an annotation.
- *
- * @param {string} annotationId ID of the annotation to update.
- * @param {number} start The start of the new range.
- * @param {number} end The end of the new range.
- *
- * @return {Object} Action object.
- */
-
-function __experimentalUpdateAnnotationRange(annotationId, start, end) {
-  return {
-    type: 'ANNOTATION_UPDATE_RANGE',
-    annotationId: annotationId,
-    start: start,
-    end: end
-  };
-}
-/**
- * Removes all annotations of a specific source.
- *
- * @param {string} source The source to remove.
- *
- * @return {Object} Action object.
- */
-
-function __experimentalRemoveAnnotationsBySource(source) {
-  return {
-    type: 'ANNOTATION_REMOVE_SOURCE',
-    source: source
-  };
-}
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/index.js
-/**
- * WordPress dependencies
- */
-
-/**
- * Internal dependencies
- */
-
-
-
-
-/**
- * Module Constants
- */
-
-var MODULE_KEY = 'core/annotations';
-var store = Object(external_this_wp_data_["registerStore"])(MODULE_KEY, {
-  reducer: reducer,
-  selectors: selectors_namespaceObject,
-  actions: actions_namespaceObject
-});
-/* harmony default export */ var build_module_store = (store);
-
-// EXTERNAL MODULE: external {"this":["wp","richText"]}
-var external_this_wp_richText_ = __webpack_require__(25);
-
-// EXTERNAL MODULE: external {"this":["wp","i18n"]}
-var external_this_wp_i18n_ = __webpack_require__(1);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/format/annotation.js
-/**
- * WordPress dependencies
- */
-
-
-var FORMAT_NAME = 'core/annotation';
-var ANNOTATION_ATTRIBUTE_PREFIX = 'annotation-text-';
-var STORE_KEY = 'core/annotations';
-/**
- * Applies given annotations to the given record.
- *
- * @param {Object} record The record to apply annotations to.
- * @param {Array} annotations The annotation to apply.
- * @return {Object} A record with the annotations applied.
- */
-
-function applyAnnotations(record) {
-  var annotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
-  annotations.forEach(function (annotation) {
-    var start = annotation.start,
-        end = annotation.end;
-
-    if (start > record.text.length) {
-      start = record.text.length;
-    }
-
-    if (end > record.text.length) {
-      end = record.text.length;
-    }
-
-    var className = ANNOTATION_ATTRIBUTE_PREFIX + annotation.source;
-    var id = ANNOTATION_ATTRIBUTE_PREFIX + annotation.id;
-    record = Object(external_this_wp_richText_["applyFormat"])(record, {
-      type: FORMAT_NAME,
-      attributes: {
-        className: className,
-        id: id
-      }
-    }, start, end);
-  });
-  return record;
-}
-/**
- * Removes annotations from the given record.
- *
- * @param {Object} record Record to remove annotations from.
- * @return {Object} The cleaned record.
- */
-
-function removeAnnotations(record) {
-  return Object(external_this_wp_richText_["removeFormat"])(record, 'core/annotation', 0, record.text.length);
-}
-/**
- * Retrieves the positions of annotations inside an array of formats.
- *
- * @param {Array} formats Formats with annotations in there.
- * @return {Object} ID keyed positions of annotations.
- */
-
-function retrieveAnnotationPositions(formats) {
-  var positions = {};
-  formats.forEach(function (characterFormats, i) {
-    characterFormats = characterFormats || [];
-    characterFormats = characterFormats.filter(function (format) {
-      return format.type === FORMAT_NAME;
-    });
-    characterFormats.forEach(function (format) {
-      var id = format.attributes.id;
-      id = id.replace(ANNOTATION_ATTRIBUTE_PREFIX, '');
-
-      if (!positions.hasOwnProperty(id)) {
-        positions[id] = {
-          start: i
-        };
-      } // Annotations refer to positions between characters.
-      // Formats refer to the character themselves.
-      // So we need to adjust for that here.
-
-
-      positions[id].end = i + 1;
-    });
-  });
-  return positions;
-}
-/**
- * Updates annotations in the state based on positions retrieved from RichText.
- *
- * @param {Array}    annotations                   The annotations that are currently applied.
- * @param {Array}    positions                     The current positions of the given annotations.
- * @param {Object}   actions
- * @param {Function} actions.removeAnnotation      Function to remove an annotation from the state.
- * @param {Function} actions.updateAnnotationRange Function to update an annotation range in the state.
- */
-
-
-function updateAnnotationsWithPositions(annotations, positions, _ref) {
-  var removeAnnotation = _ref.removeAnnotation,
-      updateAnnotationRange = _ref.updateAnnotationRange;
-  annotations.forEach(function (currentAnnotation) {
-    var position = positions[currentAnnotation.id]; // If we cannot find an annotation, delete it.
-
-    if (!position) {
-      // Apparently the annotation has been removed, so remove it from the state:
-      // Remove...
-      removeAnnotation(currentAnnotation.id);
-      return;
-    }
-
-    var start = currentAnnotation.start,
-        end = currentAnnotation.end;
-
-    if (start !== position.start || end !== position.end) {
-      updateAnnotationRange(currentAnnotation.id, position.start, position.end);
-    }
-  });
-}
-
-var annotation_annotation = {
-  name: FORMAT_NAME,
-  title: Object(external_this_wp_i18n_["__"])('Annotation'),
-  tagName: 'mark',
-  className: 'annotation-text',
-  attributes: {
-    className: 'class',
-    id: 'id'
-  },
-  edit: function edit() {
-    return null;
-  },
-  __experimentalGetPropsForEditableTreePreparation: function __experimentalGetPropsForEditableTreePreparation(select, _ref2) {
-    var richTextIdentifier = _ref2.richTextIdentifier,
-        blockClientId = _ref2.blockClientId;
-    return {
-      annotations: select(STORE_KEY).__experimentalGetAnnotationsForRichText(blockClientId, richTextIdentifier)
-    };
-  },
-  __experimentalCreatePrepareEditableTree: function __experimentalCreatePrepareEditableTree(_ref3) {
-    var annotations = _ref3.annotations;
-    return function (formats, text) {
-      if (annotations.length === 0) {
-        return formats;
-      }
-
-      var record = {
-        formats: formats,
-        text: text
-      };
-      record = applyAnnotations(record, annotations);
-      return record.formats;
-    };
-  },
-  __experimentalGetPropsForEditableTreeChangeHandler: function __experimentalGetPropsForEditableTreeChangeHandler(dispatch) {
-    return {
-      removeAnnotation: dispatch(STORE_KEY).__experimentalRemoveAnnotation,
-      updateAnnotationRange: dispatch(STORE_KEY).__experimentalUpdateAnnotationRange
-    };
-  },
-  __experimentalCreateOnChangeEditableValue: function __experimentalCreateOnChangeEditableValue(props) {
-    return function (formats) {
-      var positions = retrieveAnnotationPositions(formats);
-      var removeAnnotation = props.removeAnnotation,
-          updateAnnotationRange = props.updateAnnotationRange,
-          annotations = props.annotations;
-      updateAnnotationsWithPositions(annotations, positions, {
-        removeAnnotation: removeAnnotation,
-        updateAnnotationRange: updateAnnotationRange
-      });
-    };
-  }
-};
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/format/index.js
-
-
-/**
- * WordPress dependencies
- */
-
-/**
- * Internal dependencies
- */
-
-
-
-var format_name = annotation_annotation.name,
-    settings = Object(objectWithoutProperties["a" /* default */])(annotation_annotation, ["name"]);
-
-Object(external_this_wp_richText_["registerFormatType"])(format_name, settings);
-
-// EXTERNAL MODULE: external {"this":["wp","hooks"]}
-var external_this_wp_hooks_ = __webpack_require__(32);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/block/index.js
-/**
- * WordPress dependencies
- */
-
-
-/**
- * Adds annotation className to the block-list-block component.
- *
- * @param {Object} OriginalComponent The original BlockListBlock component.
- * @return {Object} The enhanced component.
- */
-
-var block_addAnnotationClassName = function addAnnotationClassName(OriginalComponent) {
-  return Object(external_this_wp_data_["withSelect"])(function (select, _ref) {
-    var clientId = _ref.clientId,
-        className = _ref.className;
-
-    var annotations = select('core/annotations').__experimentalGetAnnotationsForBlock(clientId);
-
-    return {
-      className: annotations.map(function (annotation) {
-        return 'is-annotated-by-' + annotation.source;
-      }).concat(className).filter(Boolean).join(' ')
-    };
-  })(OriginalComponent);
-};
-
-Object(external_this_wp_hooks_["addFilter"])('editor.BlockListBlock', 'core/annotations', block_addAnnotationClassName);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/index.js
-/**
- * Internal dependencies
- */
-
-
-
-
-
-/***/ }),
-
-/***/ 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;
-}
+(function() { module.exports = window["wp"]["richText"]; }());
 
 /***/ })