diff -r be944660c56a -r 3d72ae0968f4 wp/wp-includes/js/dist/annotations.js --- a/wp/wp-includes/js/dist/annotations.js Wed Sep 21 18:19:35 2022 +0200 +++ b/wp/wp-includes/js/dist/annotations.js Tue Sep 27 16:37:53 2022 +0200 @@ -1,132 +1,72 @@ -this["wp"] = this["wp"] || {}; this["wp"]["annotations"] = -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} +/******/ (function() { // 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) { +/******/ 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] }); +/******/ } +/******/ } /******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "23Y4"); -/******/ }) +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ !function() { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ }(); +/******/ /************************************************************************/ -/******/ ({ - -/***/ "1ZqX": -/***/ (function(module, exports) { - -(function() { module.exports = window["wp"]["data"]; }()); - -/***/ }), - -/***/ "23Y4": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; +var __webpack_exports__ = {}; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS -__webpack_require__.d(__webpack_exports__, "store", function() { return /* reexport */ store; }); +__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; }); +__webpack_require__.d(selectors_namespaceObject, { + "__experimentalGetAllAnnotationsForBlock": function() { return __experimentalGetAllAnnotationsForBlock; }, + "__experimentalGetAnnotations": function() { return __experimentalGetAnnotations; }, + "__experimentalGetAnnotationsForBlock": function() { return __experimentalGetAnnotationsForBlock; }, + "__experimentalGetAnnotationsForRichText": function() { return __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; }); -__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; }); +__webpack_require__.d(actions_namespaceObject, { + "__experimentalAddAnnotation": function() { return __experimentalAddAnnotation; }, + "__experimentalRemoveAnnotation": function() { return __experimentalRemoveAnnotation; }, + "__experimentalRemoveAnnotationsBySource": function() { return __experimentalRemoveAnnotationsBySource; }, + "__experimentalUpdateAnnotationRange": function() { return __experimentalUpdateAnnotationRange; } +}); -// 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 +;// CONCATENATED MODULE: external ["wp","richText"] +var external_wp_richText_namespaceObject = window["wp"]["richText"]; +;// CONCATENATED MODULE: external ["wp","i18n"] +var external_wp_i18n_namespaceObject = window["wp"]["i18n"]; +;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/constants.js /** * The identifier for the data store. * @@ -134,7 +74,7 @@ */ const STORE_NAME = 'core/annotations'; -// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/format/annotation.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/format/annotation.js /** * WordPress dependencies */ @@ -150,12 +90,13 @@ /** * Applies given annotations to the given record. * - * @param {Object} record The record to apply annotations to. - * @param {Array} annotations The annotation to apply. + * @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 = []) { +function applyAnnotations(record) { + let annotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; annotations.forEach(annotation => { let { start, @@ -172,7 +113,7 @@ const className = ANNOTATION_ATTRIBUTE_PREFIX + annotation.source; const id = ANNOTATION_ATTRIBUTE_PREFIX + annotation.id; - record = Object(external_wp_richText_["applyFormat"])(record, { + record = (0,external_wp_richText_namespaceObject.applyFormat)(record, { type: FORMAT_NAME, attributes: { className, @@ -190,7 +131,7 @@ */ function removeAnnotations(record) { - return Object(external_wp_richText_["removeFormat"])(record, 'core/annotation', 0, record.text.length); + return removeFormat(record, 'core/annotation', 0, record.text.length); } /** * Retrieves the positions of annotations inside an array of formats. @@ -235,10 +176,11 @@ */ -function updateAnnotationsWithPositions(annotations, positions, { - removeAnnotation, - updateAnnotationRange -}) { +function updateAnnotationsWithPositions(annotations, positions, _ref) { + let { + removeAnnotation, + updateAnnotationRange + } = _ref; annotations.forEach(currentAnnotation => { const position = positions[currentAnnotation.id]; // If we cannot find an annotation, delete it. @@ -260,9 +202,9 @@ }); } -const annotation_annotation = { +const annotation = { name: FORMAT_NAME, - title: Object(external_wp_i18n_["__"])('Annotation'), + title: (0,external_wp_i18n_namespaceObject.__)('Annotation'), tagName: 'mark', className: 'annotation-text', attributes: { @@ -274,18 +216,20 @@ return null; }, - __experimentalGetPropsForEditableTreePreparation(select, { - richTextIdentifier, - blockClientId - }) { + __experimentalGetPropsForEditableTreePreparation(select, _ref2) { + let { + richTextIdentifier, + blockClientId + } = _ref2; return { annotations: select(STORE_NAME).__experimentalGetAnnotationsForRichText(blockClientId, richTextIdentifier) }; }, - __experimentalCreatePrepareEditableTree({ - annotations - }) { + __experimentalCreatePrepareEditableTree(_ref3) { + let { + annotations + } = _ref3; return (formats, text) => { if (annotations.length === 0) { return formats; @@ -324,7 +268,7 @@ }; -// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/format/index.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/format/index.js /** * WordPress dependencies */ @@ -337,16 +281,14 @@ const { name: format_name, ...settings -} = annotation_annotation; -Object(external_wp_richText_["registerFormatType"])(format_name, settings); +} = annotation; +(0,external_wp_richText_namespaceObject.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 +;// 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 */ @@ -365,10 +307,12 @@ */ const addAnnotationClassName = OriginalComponent => { - return Object(external_wp_data_["withSelect"])((select, { - clientId, - className - }) => { + return (0,external_wp_data_namespaceObject.withSelect)((select, _ref) => { + let { + clientId, + className + } = _ref; + const annotations = select(STORE_NAME).__experimentalGetAnnotationsForBlock(clientId); return { @@ -379,12 +323,11 @@ })(OriginalComponent); }; -Object(external_wp_hooks_["addFilter"])('editor.BlockListBlock', 'core/annotations', addAnnotationClassName); +(0,external_wp_hooks_namespaceObject.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 +;// CONCATENATED MODULE: external "lodash" +var external_lodash_namespaceObject = window["lodash"]; +;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/reducer.js /** * External dependencies */ @@ -412,7 +355,7 @@ function isValidAnnotationRange(annotation) { - return Object(external_lodash_["isNumber"])(annotation.start) && Object(external_lodash_["isNumber"])(annotation.end) && annotation.start <= annotation.end; + return (0,external_lodash_namespaceObject.isNumber)(annotation.start) && (0,external_lodash_namespaceObject.isNumber)(annotation.end) && annotation.start <= annotation.end; } /** * Reducer managing annotations. @@ -424,9 +367,12 @@ */ -function reducer_annotations(state = {}, action) { +function annotations() { 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; @@ -449,14 +395,14 @@ }; case 'ANNOTATION_REMOVE': - return Object(external_lodash_["mapValues"])(state, annotationsForBlock => { + return (0,external_lodash_namespaceObject.mapValues)(state, annotationsForBlock => { return filterWithReference(annotationsForBlock, annotation => { return annotation.id !== action.annotationId; }); }); case 'ANNOTATION_UPDATE_RANGE': - return Object(external_lodash_["mapValues"])(state, annotationsForBlock => { + return (0,external_lodash_namespaceObject.mapValues)(state, annotationsForBlock => { let hasChangedRange = false; const newAnnotations = annotationsForBlock.map(annotation => { if (annotation.id === action.annotationId) { @@ -475,7 +421,7 @@ }); case 'ANNOTATION_REMOVE_SOURCE': - return Object(external_lodash_["mapValues"])(state, annotationsForBlock => { + return (0,external_lodash_namespaceObject.mapValues)(state, annotationsForBlock => { return filterWithReference(annotationsForBlock, annotation => { return annotation.source !== action.source; }); @@ -484,366 +430,9 @@ return state; } -/* 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"); - -// 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; - } - - 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 - }; -} -/** - * 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. - */ +/* harmony default export */ var reducer = (annotations); -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 - */ - - - - -/** - * 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); - -// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/index.js -/** - * Internal dependencies - */ - - - - - -/***/ }), - -/***/ "7Cbv": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; - -// 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'); - } - } - - 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 - - - -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; - - 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); - -/***/ }), - -/***/ "YLtl": -/***/ (function(module, exports) { - -(function() { module.exports = window["lodash"]; }()); - -/***/ }), - -/***/ "g56x": -/***/ (function(module, exports) { - -(function() { module.exports = window["wp"]["hooks"]; }()); - -/***/ }), - -/***/ "l3Sj": -/***/ (function(module, exports) { - -(function() { module.exports = window["wp"]["i18n"]; }()); - -/***/ }), - -/***/ "pPDe": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; +;// CONCATENATED MODULE: ./node_modules/rememo/es/rememo.js var LEAF_KEY, hasWeakMap; @@ -941,7 +530,7 @@ * * @return {Function} Memoized selector. */ -/* harmony default export */ __webpack_exports__["a"] = (function( selector, getDependants ) { +/* harmony default export */ function rememo(selector, getDependants ) { var rootCache, getCache; // Use object source as dependant if getter not provided @@ -1117,16 +706,325 @@ clear(); return callSelector; +} + +;// 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 = rememo((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 = rememo((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 (0,external_lodash_namespaceObject.flatMap)(state, annotations => { + return annotations; + }); +} + +;// 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'); + } + } + + 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 i = 0; i < 256; ++i) { + byteToHex.push((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 + -/***/ }), +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; + + 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 = (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. + */ -/***/ "qRz9": -/***/ (function(module, exports) { +/** + * 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(_ref) { + let { + blockClientId, + richTextIdentifier = null, + range = null, + selector = 'range', + source = 'default', + id = esm_browser_v4() + } = _ref; + const action = { + type: 'ANNOTATION_ADD', + id, + blockClientId, + richTextIdentifier, + source, + selector + }; + + if (selector === 'range') { + action.range = range; + } -(function() { module.exports = window["wp"]["richText"]; }()); + 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 + }; +} +/** + * 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 + */ + + + + +/** + * Module Constants + */ + -/******/ }); \ No newline at end of file +/** + * Store definition for the annotations namespace. + * + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore + * + * @type {Object} + */ + +const store = (0,external_wp_data_namespaceObject.createReduxStore)(STORE_NAME, { + reducer: reducer, + selectors: selectors_namespaceObject, + actions: actions_namespaceObject +}); +(0,external_wp_data_namespaceObject.register)(store); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/index.js +/** + * Internal dependencies + */ + + + + +(window.wp = window.wp || {}).annotations = __webpack_exports__; +/******/ })() +; \ No newline at end of file