diff -r be944660c56a -r 3d72ae0968f4 wp/wp-includes/js/dist/media-utils.js --- a/wp/wp-includes/js/dist/media-utils.js Wed Sep 21 18:19:35 2022 +0200 +++ b/wp/wp-includes/js/dist/media-utils.js Tue Sep 27 16:37:53 2022 +0200 @@ -1,120 +1,67 @@ -this["wp"] = this["wp"] || {}; this["wp"]["mediaUtils"] = -/******/ (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/compat get default export */ +/******/ !function() { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function() { return module['default']; } : +/******/ function() { return module; }; +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; /******/ }; -/******/ -/******/ // 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 = "Lb+8"); -/******/ }) +/******/ }(); +/******/ +/******/ /* 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] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* 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 }); +/******/ }; +/******/ }(); +/******/ /************************************************************************/ -/******/ ({ - -/***/ "GRId": -/***/ (function(module, exports) { - -(function() { module.exports = window["wp"]["element"]; }()); - -/***/ }), - -/***/ "Lb+8": -/***/ (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__, "MediaUpload", function() { return /* reexport */ media_upload; }); -__webpack_require__.d(__webpack_exports__, "uploadMedia", function() { return /* reexport */ uploadMedia; }); - -// EXTERNAL MODULE: external "lodash" -var external_lodash_ = __webpack_require__("YLtl"); +__webpack_require__.d(__webpack_exports__, { + "MediaUpload": function() { return /* reexport */ media_upload; }, + "uploadMedia": function() { return /* reexport */ uploadMedia; } +}); -// EXTERNAL MODULE: external ["wp","element"] -var external_wp_element_ = __webpack_require__("GRId"); - -// EXTERNAL MODULE: external ["wp","i18n"] -var external_wp_i18n_ = __webpack_require__("l3Sj"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/components/media-upload/index.js +;// CONCATENATED MODULE: external "lodash" +var external_lodash_namespaceObject = window["lodash"]; +;// CONCATENATED MODULE: external ["wp","element"] +var external_wp_element_namespaceObject = window["wp"]["element"]; +;// CONCATENATED MODULE: external ["wp","i18n"] +var external_wp_i18n_namespaceObject = window["wp"]["i18n"]; +;// CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/components/media-upload/index.js /** * External dependencies */ @@ -266,7 +213,7 @@ filterable: 'uploaded', multiple: 'add', editable: false, - library: wp.media.query(Object(external_lodash_["defaults"])({ + library: wp.media.query((0,external_lodash_namespaceObject.defaults)({ type: 'image' }, this.options.library)) }), new wp.media.controller.EditImage({ @@ -280,13 +227,13 @@ }), new wp.media.controller.GalleryAdd()]); } }); -}; // the media library image object contains numerous attributes -// we only need this set to display the image in the library +}; // The media library image object contains numerous attributes +// we only need this set to display the image in the library. const slimImageObject = img => { const attrSet = ['sizes', 'mime', 'type', 'subtype', 'id', 'url', 'alt', 'link', 'caption']; - return Object(external_lodash_["pick"])(img, attrSet); + return (0,external_lodash_namespaceObject.pick)(img, attrSet); }; const getAttachmentsCollection = ids => { @@ -300,15 +247,16 @@ }); }; -class media_upload_MediaUpload extends external_wp_element_["Component"] { - constructor({ - allowedTypes, - gallery = false, - unstableFeaturedImageFlow = false, - modalClass, - multiple = false, - title = Object(external_wp_i18n_["__"])('Select or Upload Media') - }) { +class MediaUpload extends external_wp_element_namespaceObject.Component { + constructor(_ref) { + let { + allowedTypes, + gallery = false, + unstableFeaturedImageFlow = false, + modalClass, + multiple = false, + title = (0,external_wp_i18n_namespaceObject.__)('Select or Upload Media') + } = _ref; super(...arguments); this.openModal = this.openModal.bind(this); this.onOpen = this.onOpen.bind(this); @@ -454,7 +402,7 @@ const { onSelect, multiple = false - } = this.props; // Get media attachment details from the frame state + } = this.props; // Get media attachment details from the frame state. const attachment = this.frame.state().get('selection').toJSON(); onSelect(multiple ? attachment : attachment[0]); @@ -472,15 +420,25 @@ return; } - if (!this.props.gallery) { - const selection = this.frame.state().get('selection'); - Object(external_lodash_["castArray"])(this.props.value).forEach(id => { + const isGallery = this.props.gallery; + const selection = this.frame.state().get('selection'); + + if (!isGallery) { + (0,external_lodash_namespaceObject.castArray)(this.props.value).forEach(id => { selection.add(wp.media.attachment(id)); }); - } // load the images so they are available in the media modal. + } // Load the images so they are available in the media modal. - getAttachmentsCollection(Object(external_lodash_["castArray"])(this.props.value)).more(); + const attachments = getAttachmentsCollection((0,external_lodash_namespaceObject.castArray)(this.props.value)); // Once attachments are loaded, set the current selection. + + attachments.more().done(function () { + var _attachments$models; + + if (isGallery && attachments !== null && attachments !== void 0 && (_attachments$models = attachments.models) !== null && _attachments$models !== void 0 && _attachments$models.length) { + selection.add(attachments.models); + } + }); } onClose() { @@ -497,11 +455,11 @@ const frameContent = this.frame.content.get(); if (frameContent && frameContent.collection) { - const collection = frameContent.collection; // clean all attachments we have in memory. + const collection = frameContent.collection; // Clean all attachments we have in memory. - collection.toArray().forEach(model => model.trigger('destroy', model)); // reset has more flag, if library had small amount of items all items may have been loaded before. + collection.toArray().forEach(model => model.trigger('destroy', model)); // Reset has more flag, if library had small amount of items all items may have been loaded before. - collection.mirroring._hasMore = true; // request items + collection.mirroring._hasMore = true; // Request items. collection.more(); } @@ -523,19 +481,17 @@ } -/* harmony default export */ var media_upload = (media_upload_MediaUpload); +/* harmony default export */ var media_upload = (MediaUpload); -// CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/components/index.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/components/index.js -// EXTERNAL MODULE: external ["wp","apiFetch"] -var external_wp_apiFetch_ = __webpack_require__("ywyh"); -var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_); - -// EXTERNAL MODULE: external ["wp","blob"] -var external_wp_blob_ = __webpack_require__("xTGt"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/utils/upload-media.js +;// CONCATENATED MODULE: external ["wp","apiFetch"] +var external_wp_apiFetch_namespaceObject = window["wp"]["apiFetch"]; +var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_namespaceObject); +;// CONCATENATED MODULE: external ["wp","blob"] +var external_wp_blob_namespaceObject = window["wp"]["blob"]; +;// CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/utils/upload-media.js /** @@ -568,10 +524,10 @@ return wpMimeTypesObject; } - return Object(external_lodash_["flatMap"])(wpMimeTypesObject, (mime, extensionsString) => { + return (0,external_lodash_namespaceObject.flatMap)(wpMimeTypesObject, (mime, extensionsString) => { const [type] = mime.split('/'); const extensions = extensionsString.split('|'); - return [mime, ...Object(external_lodash_["map"])(extensions, extension => `${type}/${extension}`)]; + return [mime, ...(0,external_lodash_namespaceObject.map)(extensions, extension => `${type}/${extension}`)]; }); } /** @@ -580,34 +536,35 @@ * * TODO: future enhancement to add an upload indicator. * - * @param {Object} $0 Parameters object passed to the function. - * @param {?Array} $0.allowedTypes Array with the types of media that can be uploaded, if unset all types are allowed. - * @param {?Object} $0.additionalData Additional data to include in the request. - * @param {Array} $0.filesList List of files. - * @param {?number} $0.maxUploadFileSize Maximum upload size in bytes allowed for the site. - * @param {Function} $0.onError Function called when an error happens. - * @param {Function} $0.onFileChange Function called each time a file or a temporary representation of the file is available. - * @param {?Object} $0.wpAllowedMimeTypes List of allowed mime types and file extensions. + * @param {Object} $0 Parameters object passed to the function. + * @param {?Array} $0.allowedTypes Array with the types of media that can be uploaded, if unset all types are allowed. + * @param {?Object} $0.additionalData Additional data to include in the request. + * @param {Array} $0.filesList List of files. + * @param {?number} $0.maxUploadFileSize Maximum upload size in bytes allowed for the site. + * @param {Function} $0.onError Function called when an error happens. + * @param {Function} $0.onFileChange Function called each time a file or a temporary representation of the file is available. + * @param {?Object} $0.wpAllowedMimeTypes List of allowed mime types and file extensions. */ -async function uploadMedia({ - allowedTypes, - additionalData = {}, - filesList, - maxUploadFileSize, - onError = external_lodash_["noop"], - onFileChange, - wpAllowedMimeTypes = null -}) { - // Cast filesList to array +async function uploadMedia(_ref) { + let { + allowedTypes, + additionalData = {}, + filesList, + maxUploadFileSize, + onError = external_lodash_namespaceObject.noop, + onFileChange, + wpAllowedMimeTypes = null + } = _ref; + // Cast filesList to array. const files = [...filesList]; const filesSet = []; const setAndUpdateFiles = (idx, value) => { - Object(external_wp_blob_["revokeBlobURL"])(Object(external_lodash_["get"])(filesSet, [idx, 'url'])); + (0,external_wp_blob_namespaceObject.revokeBlobURL)((0,external_lodash_namespaceObject.get)(filesSet, [idx, 'url'])); filesSet[idx] = value; - onFileChange(Object(external_lodash_["compact"])(filesSet)); - }; // Allowed type specified by consumer + onFileChange((0,external_lodash_namespaceObject.compact)(filesSet)); + }; // Allowed type specified by consumer. const isAllowedType = fileType => { @@ -615,27 +572,27 @@ return true; } - return Object(external_lodash_["some"])(allowedTypes, allowedType => { + return (0,external_lodash_namespaceObject.some)(allowedTypes, allowedType => { // If a complete mimetype is specified verify if it matches exactly the mime type of the file. - if (Object(external_lodash_["includes"])(allowedType, '/')) { + if ((0,external_lodash_namespaceObject.includes)(allowedType, '/')) { return allowedType === fileType; } // Otherwise a general mime type is used and we should verify if the file mimetype starts with it. - return Object(external_lodash_["startsWith"])(fileType, `${allowedType}/`); + return (0,external_lodash_namespaceObject.startsWith)(fileType, `${allowedType}/`); }); - }; // Allowed types for the current WP_User + }; // Allowed types for the current WP_User. const allowedMimeTypesForUser = getMimeTypesArray(wpAllowedMimeTypes); const isAllowedMimeTypeForUser = fileType => { - return Object(external_lodash_["includes"])(allowedMimeTypesForUser, fileType); - }; // Build the error message including the filename + return (0,external_lodash_namespaceObject.includes)(allowedMimeTypesForUser, fileType); + }; // Build the error message including the filename. const triggerError = error => { - error.message = [Object(external_wp_element_["createElement"])("strong", { + error.message = [(0,external_wp_element_namespaceObject.createElement)("strong", { key: "filename" }, error.file.name), ': ', error.message]; onError(error); @@ -649,7 +606,7 @@ if (allowedMimeTypesForUser && mediaFile.type && !isAllowedMimeTypeForUser(mediaFile.type)) { triggerError({ code: 'MIME_TYPE_NOT_ALLOWED_FOR_USER', - message: Object(external_wp_i18n_["__"])('Sorry, this file type is not permitted for security reasons.'), + message: (0,external_wp_i18n_namespaceObject.__)('Sorry, you are not allowed to upload this file type.'), file: mediaFile }); continue; @@ -660,17 +617,17 @@ if (mediaFile.type && !isAllowedType(mediaFile.type)) { triggerError({ code: 'MIME_TYPE_NOT_SUPPORTED', - message: Object(external_wp_i18n_["__"])('Sorry, this file type is not supported here.'), + message: (0,external_wp_i18n_namespaceObject.__)('Sorry, this file type is not supported here.'), file: mediaFile }); continue; - } // verify if file is greater than the maximum file upload size allowed for the site. + } // Verify if file is greater than the maximum file upload size allowed for the site. if (maxUploadFileSize && mediaFile.size > maxUploadFileSize) { triggerError({ code: 'SIZE_ABOVE_LIMIT', - message: Object(external_wp_i18n_["__"])('This file exceeds the maximum upload size for this site.'), + message: (0,external_wp_i18n_namespaceObject.__)('This file exceeds the maximum upload size for this site.'), file: mediaFile }); continue; @@ -680,17 +637,17 @@ if (mediaFile.size <= 0) { triggerError({ code: 'EMPTY_FILE', - message: Object(external_wp_i18n_["__"])('This file is empty.'), + message: (0,external_wp_i18n_namespaceObject.__)('This file is empty.'), file: mediaFile }); continue; } validFiles.push(mediaFile); // Set temporary URL to create placeholder media file, this is replaced - // with final file from media gallery when upload is `done` below + // with final file from media gallery when upload is `done` below. filesSet.push({ - url: Object(external_wp_blob_["createBlobURL"])(mediaFile) + url: (0,external_wp_blob_namespaceObject.createBlobURL)(mediaFile) }); onFileChange(filesSet); } @@ -700,9 +657,9 @@ try { const savedMedia = await createMediaFromFile(mediaFile, additionalData); - const mediaObject = { ...Object(external_lodash_["omit"])(savedMedia, ['alt_text', 'source_url']), + const mediaObject = { ...(0,external_lodash_namespaceObject.omit)(savedMedia, ['alt_text', 'source_url']), alt: savedMedia.alt_text, - caption: Object(external_lodash_["get"])(savedMedia, ['caption', 'raw'], ''), + caption: (0,external_lodash_namespaceObject.get)(savedMedia, ['caption', 'raw'], ''), title: savedMedia.title.raw, url: savedMedia.source_url }; @@ -712,11 +669,11 @@ setAndUpdateFiles(idx, null); let message; - if (Object(external_lodash_["has"])(error, ['message'])) { - message = Object(external_lodash_["get"])(error, ['message']); + if ((0,external_lodash_namespaceObject.has)(error, ['message'])) { + message = (0,external_lodash_namespaceObject.get)(error, ['message']); } else { - message = Object(external_wp_i18n_["sprintf"])( // translators: %s: file name - Object(external_wp_i18n_["__"])('Error while uploading file %s to the media library.'), mediaFile.name); + message = (0,external_wp_i18n_namespaceObject.sprintf)( // translators: %s: file name + (0,external_wp_i18n_namespaceObject.__)('Error while uploading file %s to the media library.'), mediaFile.name); } onError({ @@ -735,10 +692,10 @@ */ function createMediaFromFile(file, additionalData) { - // Create upload payload + // Create upload payload. const data = new window.FormData(); data.append('file', file, file.name || file.type.replace('/', '.')); - Object(external_lodash_["forEach"])(additionalData, (value, key) => data.append(key, value)); + (0,external_lodash_namespaceObject.forEach)(additionalData, (value, key) => data.append(key, value)); return external_wp_apiFetch_default()({ path: '/wp/v2/media', body: data, @@ -746,42 +703,13 @@ }); } -// CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/utils/index.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/utils/index.js -// CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/index.js - +;// CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/index.js -/***/ }), - -/***/ "YLtl": -/***/ (function(module, exports) { - -(function() { module.exports = window["lodash"]; }()); - -/***/ }), - -/***/ "l3Sj": -/***/ (function(module, exports) { - -(function() { module.exports = window["wp"]["i18n"]; }()); - -/***/ }), - -/***/ "xTGt": -/***/ (function(module, exports) { - -(function() { module.exports = window["wp"]["blob"]; }()); - -/***/ }), - -/***/ "ywyh": -/***/ (function(module, exports) { - -(function() { module.exports = window["wp"]["apiFetch"]; }()); - -/***/ }) - -/******/ }); \ No newline at end of file +(window.wp = window.wp || {}).mediaUtils = __webpack_exports__; +/******/ })() +; \ No newline at end of file