diff -r 7b1b88e27a20 -r 48c4eec2b7e6 wp/wp-includes/js/dist/annotations.js --- a/wp/wp-includes/js/dist/annotations.js Thu Sep 29 08:06:27 2022 +0200 +++ b/wp/wp-includes/js/dist/annotations.js Fri Sep 05 18:40:08 2025 +0200 @@ -1,36 +1,36 @@ -/******/ (function() { // webpackBootstrap +/******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope /******/ var __webpack_require__ = {}; /******/ /************************************************************************/ /******/ /* webpack/runtime/define property getters */ -/******/ !function() { +/******/ (() => { /******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = function(exports, definition) { +/******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; -/******/ }(); +/******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ !function() { -/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } -/******/ }(); +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ -/******/ !function() { +/******/ (() => { /******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { +/******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; -/******/ }(); +/******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; @@ -39,33 +39,33 @@ // EXPORTS __webpack_require__.d(__webpack_exports__, { - "store": function() { return /* reexport */ store; } + store: () => (/* 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, { - "__experimentalGetAllAnnotationsForBlock": function() { return __experimentalGetAllAnnotationsForBlock; }, - "__experimentalGetAnnotations": function() { return __experimentalGetAnnotations; }, - "__experimentalGetAnnotationsForBlock": function() { return __experimentalGetAnnotationsForBlock; }, - "__experimentalGetAnnotationsForRichText": function() { return __experimentalGetAnnotationsForRichText; } + __experimentalGetAllAnnotationsForBlock: () => (__experimentalGetAllAnnotationsForBlock), + __experimentalGetAnnotations: () => (__experimentalGetAnnotations), + __experimentalGetAnnotationsForBlock: () => (__experimentalGetAnnotationsForBlock), + __experimentalGetAnnotationsForRichText: () => (__experimentalGetAnnotationsForRichText) }); // 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; }, - "__experimentalRemoveAnnotation": function() { return __experimentalRemoveAnnotation; }, - "__experimentalRemoveAnnotationsBySource": function() { return __experimentalRemoveAnnotationsBySource; }, - "__experimentalUpdateAnnotationRange": function() { return __experimentalUpdateAnnotationRange; } + __experimentalAddAnnotation: () => (__experimentalAddAnnotation), + __experimentalRemoveAnnotation: () => (__experimentalRemoveAnnotation), + __experimentalRemoveAnnotationsBySource: () => (__experimentalRemoveAnnotationsBySource), + __experimentalUpdateAnnotationRange: () => (__experimentalUpdateAnnotationRange) }); ;// CONCATENATED MODULE: external ["wp","richText"] -var external_wp_richText_namespaceObject = window["wp"]["richText"]; +const external_wp_richText_namespaceObject = window["wp"]["richText"]; ;// CONCATENATED MODULE: external ["wp","i18n"] -var external_wp_i18n_namespaceObject = window["wp"]["i18n"]; +const external_wp_i18n_namespaceObject = window["wp"]["i18n"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/constants.js /** * The identifier for the data store. @@ -94,23 +94,18 @@ * @param {Array} annotations The annotation to apply. * @return {Object} A record with the annotations applied. */ - -function applyAnnotations(record) { - let annotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; +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; } - const className = ANNOTATION_ATTRIBUTE_PREFIX + annotation.source; const id = ANNOTATION_ATTRIBUTE_PREFIX + annotation.id; record = (0,external_wp_richText_namespaceObject.applyFormat)(record, { @@ -123,23 +118,23 @@ }); 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 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) => { @@ -150,21 +145,21 @@ id } = format.attributes; id = id.replace(ANNOTATION_ATTRIBUTE_PREFIX, ''); - if (!positions.hasOwnProperty(id)) { positions[id] = { start: i }; - } // Annotations refer to positions between characters. + } + + // 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. * @@ -174,34 +169,28 @@ * @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) { - let { - removeAnnotation, - updateAnnotationRange - } = _ref; +function updateAnnotationsWithPositions(annotations, positions, { + removeAnnotation, + updateAnnotationRange +}) { annotations.forEach(currentAnnotation => { - const position = positions[currentAnnotation.id]; // If we cannot find an annotation, delete it. - + 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; } - const { start, end } = currentAnnotation; - if (start !== position.start || end !== position.end) { updateAnnotationRange(currentAnnotation.id, position.start, position.end); } }); } - const annotation = { name: FORMAT_NAME, title: (0,external_wp_i18n_namespaceObject.__)('Annotation'), @@ -211,30 +200,24 @@ className: 'class', id: 'id' }, - edit() { return null; }, - - __experimentalGetPropsForEditableTreePreparation(select, _ref2) { - let { - richTextIdentifier, - blockClientId - } = _ref2; + __experimentalGetPropsForEditableTreePreparation(select, { + richTextIdentifier, + blockClientId + }) { return { annotations: select(STORE_NAME).__experimentalGetAnnotationsForRichText(blockClientId, richTextIdentifier) }; }, - - __experimentalCreatePrepareEditableTree(_ref3) { - let { - annotations - } = _ref3; + __experimentalCreatePrepareEditableTree({ + annotations + }) { return (formats, text) => { if (annotations.length === 0) { return formats; } - let record = { formats, text @@ -243,14 +226,12 @@ return record.formats; }; }, - __experimentalGetPropsForEditableTreeChangeHandler(dispatch) { return { removeAnnotation: dispatch(STORE_NAME).__experimentalRemoveAnnotation, updateAnnotationRange: dispatch(STORE_NAME).__experimentalUpdateAnnotationRange }; }, - __experimentalCreateOnChangeEditableValue(props) { return formats => { const positions = retrieveAnnotationPositions(formats); @@ -265,7 +246,6 @@ }); }; } - }; ;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/format/index.js @@ -273,31 +253,31 @@ * WordPress dependencies */ -/** - * Internal dependencies - */ - - -const { - name: format_name, - ...settings -} = annotation; -(0,external_wp_richText_namespaceObject.registerFormatType)(format_name, settings); - -;// CONCATENATED MODULE: external ["wp","hooks"] -var external_wp_hooks_namespaceObject = window["wp"]["hooks"]; -;// CONCATENATED MODULE: external ["wp","data"] -var external_wp_data_namespaceObject = window["wp"]["data"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/block/index.js -/** - * WordPress dependencies - */ - /** * Internal dependencies */ +const { + name: format_name, + ...settings +} = annotation; +(0,external_wp_richText_namespaceObject.registerFormatType)(format_name, settings); + +;// CONCATENATED MODULE: external ["wp","hooks"] +const external_wp_hooks_namespaceObject = window["wp"]["hooks"]; +;// CONCATENATED MODULE: external ["wp","data"] +const external_wp_data_namespaceObject = window["wp"]["data"]; +;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/block/index.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ /** * Adds annotation className to the block-list-block component. @@ -305,16 +285,12 @@ * @param {Object} OriginalComponent The original BlockListBlock component. * @return {Object} The enhanced component. */ - const addAnnotationClassName = OriginalComponent => { - return (0,external_wp_data_namespaceObject.withSelect)((select, _ref) => { - let { - clientId, - className - } = _ref; - + return (0,external_wp_data_namespaceObject.withSelect)((select, { + clientId, + className + }) => { const annotations = select(STORE_NAME).__experimentalGetAnnotationsForBlock(clientId); - return { className: annotations.map(annotation => { return 'is-annotated-by-' + annotation.source; @@ -322,17 +298,10 @@ }; })(OriginalComponent); }; - (0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockListBlock', 'core/annotations', addAnnotationClassName); -;// CONCATENATED MODULE: external "lodash" -var external_lodash_namespaceObject = window["lodash"]; ;// 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. * @@ -341,22 +310,34 @@ * in the array. * @return {Array} Filtered array. */ - function filterWithReference(collection, predicate) { const filteredCollection = collection.filter(predicate); return collection.length === filteredCollection.length ? collection : filteredCollection; } + +/** + * Creates a new object with the same keys, but with `callback()` called as + * a transformer function on each of the values. + * + * @param {Object} obj The object to transform. + * @param {Function} callback The function to transform each object value. + * @return {Array} Transformed object. + */ +const mapValues = (obj, callback) => Object.entries(obj).reduce((acc, [key, value]) => ({ + ...acc, + [key]: callback(value) +}), {}); + /** * 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 typeof annotation.start === 'number' && typeof annotation.end === 'number' && annotation.start <= annotation.end; +} -function isValidAnnotationRange(annotation) { - return (0,external_lodash_namespaceObject.isNumber)(annotation.start) && (0,external_lodash_namespaceObject.isNumber)(annotation.end) && annotation.start <= annotation.end; -} /** * Reducer managing annotations. * @@ -365,14 +346,8 @@ * * @return {Array} Updated state. */ - - -function annotations() { +function annotations(state = {}, action) { var _state$blockClientId; - - let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - let action = arguments.length > 1 ? arguments[1] : undefined; - switch (action.type) { case 'ANNOTATION_ADD': const blockClientId = action.blockClientId; @@ -384,333 +359,52 @@ selector: action.selector, range: action.range }; - 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, + const previousAnnotationsForBlock = (_state$blockClientId = state?.[blockClientId]) !== null && _state$blockClientId !== void 0 ? _state$blockClientId : []; + return { + ...state, [blockClientId]: [...previousAnnotationsForBlock, newAnnotation] }; - case 'ANNOTATION_REMOVE': - return (0,external_lodash_namespaceObject.mapValues)(state, annotationsForBlock => { + return mapValues(state, annotationsForBlock => { return filterWithReference(annotationsForBlock, annotation => { return annotation.id !== action.annotationId; }); }); - case 'ANNOTATION_UPDATE_RANGE': - return (0,external_lodash_namespaceObject.mapValues)(state, annotationsForBlock => { + return mapValues(state, annotationsForBlock => { let hasChangedRange = false; const newAnnotations = annotationsForBlock.map(annotation => { if (annotation.id === action.annotationId) { hasChangedRange = true; - return { ...annotation, + return { + ...annotation, range: { start: action.start, end: action.end } }; } - return annotation; }); return hasChangedRange ? newAnnotations : annotationsForBlock; }); - case 'ANNOTATION_REMOVE_SOURCE': - return (0,external_lodash_namespaceObject.mapValues)(state, annotationsForBlock => { + return mapValues(state, annotationsForBlock => { return filterWithReference(annotationsForBlock, annotation => { return annotation.source !== action.source; }); }); } - return state; } -/* harmony default export */ var reducer = (annotations); - -;// CONCATENATED MODULE: ./node_modules/rememo/es/rememo.js - - -var LEAF_KEY, hasWeakMap; - -/** - * Arbitrary value used as key for referencing cache object in WeakMap tree. - * - * @type {Object} - */ -LEAF_KEY = {}; - -/** - * Whether environment supports WeakMap. - * - * @type {boolean} - */ -hasWeakMap = typeof WeakMap !== 'undefined'; - -/** - * Returns the first argument as the sole entry in an array. - * - * @param {*} value Value to return. - * - * @return {Array} Value returned as entry in array. - */ -function arrayOf( value ) { - return [ value ]; -} - -/** - * Returns true if the value passed is object-like, or false otherwise. A value - * is object-like if it can support property assignment, e.g. object or array. - * - * @param {*} value Value to test. - * - * @return {boolean} Whether value is object-like. - */ -function isObjectLike( value ) { - return !! value && 'object' === typeof value; -} - -/** - * Creates and returns a new cache object. - * - * @return {Object} Cache object. - */ -function createCache() { - var cache = { - clear: function() { - cache.head = null; - }, - }; - - return cache; -} - -/** - * Returns true if entries within the two arrays are strictly equal by - * reference from a starting index. - * - * @param {Array} a First array. - * @param {Array} b Second array. - * @param {number} fromIndex Index from which to start comparison. - * - * @return {boolean} Whether arrays are shallowly equal. - */ -function isShallowEqual( a, b, fromIndex ) { - var i; - - if ( a.length !== b.length ) { - return false; - } - - for ( i = fromIndex; i < a.length; i++ ) { - if ( a[ i ] !== b[ i ] ) { - return false; - } - } - - return true; -} - -/** - * Returns a memoized selector function. The getDependants function argument is - * called before the memoized selector and is expected to return an immutable - * reference or array of references on which the selector depends for computing - * its own return value. The memoize cache is preserved only as long as those - * dependant references remain the same. If getDependants returns a different - * reference(s), the cache is cleared and the selector value regenerated. - * - * @param {Function} selector Selector function. - * @param {Function} getDependants Dependant getter returning an immutable - * reference or array of reference used in - * cache bust consideration. - * - * @return {Function} Memoized selector. - */ -/* harmony default export */ function rememo(selector, getDependants ) { - var rootCache, getCache; - - // Use object source as dependant if getter not provided - if ( ! getDependants ) { - getDependants = arrayOf; - } - - /** - * Returns the root cache. If WeakMap is supported, this is assigned to the - * root WeakMap cache set, otherwise it is a shared instance of the default - * cache object. - * - * @return {(WeakMap|Object)} Root cache object. - */ - function getRootCache() { - return rootCache; - } - - /** - * Returns the cache for a given dependants array. When possible, a WeakMap - * will be used to create a unique cache for each set of dependants. This - * is feasible due to the nature of WeakMap in allowing garbage collection - * to occur on entries where the key object is no longer referenced. Since - * WeakMap requires the key to be an object, this is only possible when the - * dependant is object-like. The root cache is created as a hierarchy where - * each top-level key is the first entry in a dependants set, the value a - * WeakMap where each key is the next dependant, and so on. This continues - * so long as the dependants are object-like. If no dependants are object- - * like, then the cache is shared across all invocations. - * - * @see isObjectLike - * - * @param {Array} dependants Selector dependants. - * - * @return {Object} Cache object. - */ - function getWeakMapCache( dependants ) { - var caches = rootCache, - isUniqueByDependants = true, - i, dependant, map, cache; - - for ( i = 0; i < dependants.length; i++ ) { - dependant = dependants[ i ]; - - // Can only compose WeakMap from object-like key. - if ( ! isObjectLike( dependant ) ) { - isUniqueByDependants = false; - break; - } - - // Does current segment of cache already have a WeakMap? - if ( caches.has( dependant ) ) { - // Traverse into nested WeakMap. - caches = caches.get( dependant ); - } else { - // Create, set, and traverse into a new one. - map = new WeakMap(); - caches.set( dependant, map ); - caches = map; - } - } - - // We use an arbitrary (but consistent) object as key for the last item - // in the WeakMap to serve as our running cache. - if ( ! caches.has( LEAF_KEY ) ) { - cache = createCache(); - cache.isUniqueByDependants = isUniqueByDependants; - caches.set( LEAF_KEY, cache ); - } - - return caches.get( LEAF_KEY ); - } - - // Assign cache handler by availability of WeakMap - getCache = hasWeakMap ? getWeakMapCache : getRootCache; - - /** - * Resets root memoization cache. - */ - function clear() { - rootCache = hasWeakMap ? new WeakMap() : createCache(); - } - - // eslint-disable-next-line jsdoc/check-param-names - /** - * The augmented selector call, considering first whether dependants have - * changed before passing it to underlying memoize function. - * - * @param {Object} source Source object for derivation. - * @param {...*} extraArgs Additional arguments to pass to selector. - * - * @return {*} Selector result. - */ - function callSelector( /* source, ...extraArgs */ ) { - var len = arguments.length, - cache, node, i, args, dependants; - - // Create copy of arguments (avoid leaking deoptimization). - args = new Array( len ); - for ( i = 0; i < len; i++ ) { - args[ i ] = arguments[ i ]; - } - - dependants = getDependants.apply( null, args ); - cache = getCache( dependants ); - - // If not guaranteed uniqueness by dependants (primitive type or lack - // of WeakMap support), shallow compare against last dependants and, if - // references have changed, destroy cache to recalculate result. - if ( ! cache.isUniqueByDependants ) { - if ( cache.lastDependants && ! isShallowEqual( dependants, cache.lastDependants, 0 ) ) { - cache.clear(); - } - - cache.lastDependants = dependants; - } - - node = cache.head; - while ( node ) { - // Check whether node arguments match arguments - if ( ! isShallowEqual( node.args, args, 1 ) ) { - node = node.next; - continue; - } - - // At this point we can assume we've found a match - - // Surface matched node to head if not already - if ( node !== cache.head ) { - // Adjust siblings to point to each other. - node.prev.next = node.next; - if ( node.next ) { - node.next.prev = node.prev; - } - - node.next = cache.head; - node.prev = null; - cache.head.prev = node; - cache.head = node; - } - - // Return immediately - return node.val; - } - - // No cached value found. Continue to insertion phase: - - node = { - // Generate the result from original function - val: selector.apply( null, args ), - }; - - // Avoid including the source object in the cache. - args[ 0 ] = null; - node.args = args; - - // Don't need to check whether node is already head, since it would - // have been returned above already if it was - - // Shift existing head down list - if ( cache.head ) { - cache.head.prev = node; - node.next = cache.head; - } - - cache.head = node; - - return node.val; - } - - callSelector.getDependants = getDependants; - callSelector.clear = clear; - clear(); - - return callSelector; -} +/* harmony default export */ const reducer = (annotations); ;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/selectors.js /** - * External dependencies + * WordPress dependencies */ @@ -723,8 +417,8 @@ * * @type {Array} */ +const EMPTY_ARRAY = []; -const EMPTY_ARRAY = []; /** * Returns the annotations for a specific client ID. * @@ -733,23 +427,20 @@ * * @return {Array} The annotations applicable to this block. */ - -const __experimentalGetAnnotationsForBlock = rememo((state, blockClientId) => { +const __experimentalGetAnnotationsForBlock = (0,external_wp_data_namespaceObject.createSelector)((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 ((_state$blockClientId = 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]; + return [(_state$blockClientId2 = state?.[blockClientId]) !== null && _state$blockClientId2 !== void 0 ? _state$blockClientId2 : EMPTY_ARRAY]; }); function __experimentalGetAllAnnotationsForBlock(state, blockClientId) { var _state$blockClientId3; + return (_state$blockClientId3 = state?.[blockClientId]) !== null && _state$blockClientId3 !== void 0 ? _state$blockClientId3 : EMPTY_ARRAY; +} - 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. * @@ -762,51 +453,51 @@ * @param {string} richTextIdentifier Unique identifier that identifies the given RichText. * @return {Array} All the annotations relevant for the `RichText`. */ - -const __experimentalGetAnnotationsForRichText = rememo((state, blockClientId, richTextIdentifier) => { +const __experimentalGetAnnotationsForRichText = (0,external_wp_data_namespaceObject.createSelector)((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 ((_state$blockClientId4 = 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, + return { + ...range, ...other }; }); }, (state, blockClientId) => { var _state$blockClientId5; + return [(_state$blockClientId5 = state?.[blockClientId]) !== null && _state$blockClientId5 !== void 0 ? _state$blockClientId5 : EMPTY_ARRAY]; +}); - 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 (0,external_lodash_namespaceObject.flatMap)(state, annotations => { - return annotations; - }); + return Object.values(state).flat(); } +;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/native.js +const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto); +/* harmony default export */ const esm_browser_native = ({ + randomUUID +}); ;// 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); +let getRandomValues; +const 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); + // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. + getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto); if (!getRandomValues) { throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); @@ -815,16 +506,6 @@ 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 /** @@ -832,37 +513,45 @@ * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX */ -var byteToHex = []; +const byteToHex = []; -for (var i = 0; i < 256; ++i) { - byteToHex.push((i + 0x100).toString(16).substr(1)); +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).slice(1)); } -function stringify(arr) { - var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; +function unsafeStringify(arr, offset = 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 + return 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]]; +} + +function stringify(arr, offset = 0) { + const uuid = unsafeStringify(arr, offset); // 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)) { + if (!validate(uuid)) { throw TypeError('Stringified UUID is invalid'); } return uuid; } -/* harmony default export */ var esm_browser_stringify = (stringify); +/* harmony default export */ const esm_browser_stringify = ((/* unused pure expression or super */ null && (stringify))); ;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/v4.js + function v4(options, buf, offset) { + if (esm_browser_native.randomUUID && !buf && !options) { + return esm_browser_native.randomUUID(); + } + options = options || {}; - var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + const 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 @@ -870,22 +559,23 @@ if (buf) { offset = offset || 0; - for (var i = 0; i < 16; ++i) { + for (let i = 0; i < 16; ++i) { buf[offset + i] = rnds[i]; } return buf; } - return esm_browser_stringify(rnds); + return unsafeStringify(rnds); } -/* harmony default export */ var esm_browser_v4 = (v4); +/* harmony default export */ const esm_browser_v4 = (v4); ;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/actions.js /** * External dependencies */ + /** * @typedef WPAnnotationRange * @@ -913,16 +603,14 @@ * * @return {Object} Action object. */ - -function __experimentalAddAnnotation(_ref) { - let { - blockClientId, - richTextIdentifier = null, - range = null, - selector = 'range', - source = 'default', - id = esm_browser_v4() - } = _ref; +function __experimentalAddAnnotation({ + blockClientId, + richTextIdentifier = null, + range = null, + selector = 'range', + source = 'default', + id = esm_browser_v4() +}) { const action = { type: 'ANNOTATION_ADD', id, @@ -931,13 +619,12 @@ source, selector }; - if (selector === 'range') { action.range = range; } - return action; } + /** * Removes an annotation with a specific ID. * @@ -945,13 +632,13 @@ * * @return {Object} Action object. */ - function __experimentalRemoveAnnotation(annotationId) { return { type: 'ANNOTATION_REMOVE', annotationId }; } + /** * Updates the range of an annotation. * @@ -961,7 +648,6 @@ * * @return {Object} Action object. */ - function __experimentalUpdateAnnotationRange(annotationId, start, end) { return { type: 'ANNOTATION_UPDATE_RANGE', @@ -970,6 +656,7 @@ end }; } + /** * Removes all annotations of a specific source. * @@ -977,7 +664,6 @@ * * @return {Object} Action object. */ - function __experimentalRemoveAnnotationsBySource(source) { return { type: 'ANNOTATION_REMOVE_SOURCE', @@ -990,6 +676,7 @@ * WordPress dependencies */ + /** * Internal dependencies */ @@ -1009,7 +696,6 @@ * * @type {Object} */ - const store = (0,external_wp_data_namespaceObject.createReduxStore)(STORE_NAME, { reducer: reducer, selectors: selectors_namespaceObject,