diff -r 34716fd837a4 -r be944660c56a wp/wp-includes/js/dist/media-utils.js --- a/wp/wp-includes/js/dist/media-utils.js Tue Dec 15 15:52:01 2020 +0100 +++ b/wp/wp-includes/js/dist/media-utils.js Wed Sep 21 18:19:35 2022 +0200 @@ -82,357 +82,19 @@ /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 460); +/******/ return __webpack_require__(__webpack_require__.s = "Lb+8"); /******/ }) /************************************************************************/ /******/ ({ -/***/ 0: -/***/ (function(module, exports) { - -(function() { module.exports = this["wp"]["element"]; }()); - -/***/ }), - -/***/ 1: +/***/ "GRId": /***/ (function(module, exports) { -(function() { module.exports = this["wp"]["i18n"]; }()); - -/***/ }), - -/***/ 12: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _assertThisInitialized; }); -function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - - return self; -} - -/***/ }), - -/***/ 14: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _slicedToArray; }); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js -var arrayWithHoles = __webpack_require__(38); - -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js -function _iterableToArrayLimit(arr, i) { - if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; - var _arr = []; - var _n = true; - var _d = false; - var _e = undefined; - - try { - for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { - _arr.push(_s.value); - - if (i && _arr.length === i) break; - } - } catch (err) { - _d = true; - _e = err; - } finally { - try { - if (!_n && _i["return"] != null) _i["return"](); - } finally { - if (_d) throw _e; - } - } - - return _arr; -} -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js -var unsupportedIterableToArray = __webpack_require__(29); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js -var nonIterableRest = __webpack_require__(39); - -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js - - - - -function _slicedToArray(arr, i) { - return Object(arrayWithHoles["a" /* default */])(arr) || _iterableToArrayLimit(arr, i) || Object(unsupportedIterableToArray["a" /* default */])(arr, i) || Object(nonIterableRest["a" /* default */])(); -} - -/***/ }), - -/***/ 16: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _getPrototypeOf; }); -function _getPrototypeOf(o) { - _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { - return o.__proto__ || Object.getPrototypeOf(o); - }; - return _getPrototypeOf(o); -} - -/***/ }), - -/***/ 18: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _toConsumableArray; }); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js -var arrayLikeToArray = __webpack_require__(26); - -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js - -function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) return Object(arrayLikeToArray["a" /* default */])(arr); -} -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js -var iterableToArray = __webpack_require__(35); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js -var unsupportedIterableToArray = __webpack_require__(29); - -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js -function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js - - - - -function _toConsumableArray(arr) { - return _arrayWithoutHoles(arr) || Object(iterableToArray["a" /* default */])(arr) || Object(unsupportedIterableToArray["a" /* default */])(arr) || _nonIterableSpread(); -} - -/***/ }), - -/***/ 19: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _createClass; }); -function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } -} - -function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - return Constructor; -} - -/***/ }), - -/***/ 2: -/***/ (function(module, exports) { - -(function() { module.exports = this["lodash"]; }()); +(function() { module.exports = window["wp"]["element"]; }()); /***/ }), -/***/ 20: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _classCallCheck; }); -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -/***/ }), - -/***/ 22: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _inherits; }); - -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js -function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); -} -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function"); - } - - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - writable: true, - configurable: true - } - }); - if (superClass) _setPrototypeOf(subClass, superClass); -} - -/***/ }), - -/***/ 23: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _possibleConstructorReturn; }); -/* harmony import */ var _helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40); -/* harmony import */ var _assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12); - - -function _possibleConstructorReturn(self, call) { - if (call && (Object(_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(call) === "object" || typeof call === "function")) { - return call; - } - - return Object(_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(self); -} - -/***/ }), - -/***/ 24: -/***/ (function(module, exports) { - -(function() { module.exports = this["regeneratorRuntime"]; }()); - -/***/ }), - -/***/ 26: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _arrayLikeToArray; }); -function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) len = arr.length; - - for (var i = 0, arr2 = new Array(len); i < len; i++) { - arr2[i] = arr[i]; - } - - return arr2; -} - -/***/ }), - -/***/ 29: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _unsupportedIterableToArray; }); -/* harmony import */ var _arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26); - -function _unsupportedIterableToArray(o, minLen) { - if (!o) return; - if (typeof o === "string") return Object(_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) n = o.constructor.name; - if (n === "Map" || n === "Set") return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Object(_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(o, minLen); -} - -/***/ }), - -/***/ 35: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _iterableToArray; }); -function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); -} - -/***/ }), - -/***/ 38: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _arrayWithHoles; }); -function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; -} - -/***/ }), - -/***/ 39: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _nonIterableRest; }); -function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} - -/***/ }), - -/***/ 40: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _typeof; }); -function _typeof(obj) { - "@babel/helpers - typeof"; - - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof = function _typeof(obj) { - return typeof obj; - }; - } else { - _typeof = function _typeof(obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }; - } - - return _typeof(obj); -} - -/***/ }), - -/***/ 44: -/***/ (function(module, exports) { - -(function() { module.exports = this["wp"]["blob"]; }()); - -/***/ }), - -/***/ 45: -/***/ (function(module, exports) { - -(function() { module.exports = this["wp"]["apiFetch"]; }()); - -/***/ }), - -/***/ 460: +/***/ "Lb+8": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -443,45 +105,16 @@ __webpack_require__.d(__webpack_exports__, "MediaUpload", function() { return /* reexport */ media_upload; }); __webpack_require__.d(__webpack_exports__, "uploadMedia", function() { return /* reexport */ uploadMedia; }); -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js -var classCallCheck = __webpack_require__(20); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js -var createClass = __webpack_require__(19); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js -var assertThisInitialized = __webpack_require__(12); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js -var possibleConstructorReturn = __webpack_require__(23); +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js -var getPrototypeOf = __webpack_require__(16); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules -var inherits = __webpack_require__(22); +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); -// EXTERNAL MODULE: external {"this":"lodash"} -var external_this_lodash_ = __webpack_require__(2); - -// EXTERNAL MODULE: external {"this":["wp","element"]} -var external_this_wp_element_ = __webpack_require__(0); - -// EXTERNAL MODULE: external {"this":["wp","i18n"]} -var external_this_wp_i18n_ = __webpack_require__(1); +// 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 - - - - - - - -function _createSuper(Derived) { return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; } - -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } - /** * External dependencies */ @@ -492,16 +125,17 @@ -var _window = window, - wp = _window.wp; -var DEFAULT_EMPTY_GALLERY = []; +const { + wp +} = window; +const DEFAULT_EMPTY_GALLERY = []; /** * Prepares the Featured Image toolbars and frames. * * @return {wp.media.view.MediaFrame.Select} The default media workflow. */ -var getFeaturedImageMediaFrame = function getFeaturedImageMediaFrame() { +const getFeaturedImageMediaFrame = () => { return wp.media.view.MediaFrame.Select.extend({ /** * Enables the Set Featured Image Button. @@ -509,7 +143,7 @@ * @param {Object} toolbar toolbar for featured image state * @return {void} */ - featuredImageToolbar: function featuredImageToolbar(toolbar) { + featuredImageToolbar(toolbar) { this.createSelectToolbar(toolbar, { text: wp.media.view.l10n.setFeaturedImage, state: this.options.state @@ -521,9 +155,9 @@ * * @return {void} */ - editState: function editState() { - var selection = this.state('featured-image').get('selection'); - var view = new wp.media.view.EditImage({ + 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. @@ -554,7 +188,7 @@ */ -var media_upload_getGalleryDetailsMediaFrame = function getGalleryDetailsMediaFrame() { +const getGalleryDetailsMediaFrame = () => { /** * Custom gallery details frame. * @@ -568,8 +202,8 @@ * * @return {void} */ - galleryToolbar: function galleryToolbar() { - var editing = this.state().get('editing'); + galleryToolbar() { + const editing = this.state().get('editing'); this.toolbar.set(new wp.media.view.Toolbar({ controller: this, items: { @@ -584,15 +218,16 @@ /** * @fires wp.media.controller.State#update */ - click: function click() { - var controller = this.controller, - state = controller.state(); + 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(); } + } } })); @@ -603,9 +238,9 @@ * * @return {void} */ - editState: function editState() { - var selection = this.state('gallery').get('selection'); - var view = new wp.media.view.EditImage({ + 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. @@ -631,7 +266,7 @@ filterable: 'uploaded', multiple: 'add', editable: false, - library: wp.media.query(Object(external_this_lodash_["defaults"])({ + library: wp.media.query(Object(external_lodash_["defaults"])({ type: 'image' }, this.options.library)) }), new wp.media.controller.EditImage({ @@ -649,12 +284,12 @@ // we only need this set to display the image in the library -var media_upload_slimImageObject = function slimImageObject(img) { - var attrSet = ['sizes', 'mime', 'type', 'subtype', 'id', 'url', 'alt', 'link', 'caption']; - return Object(external_this_lodash_["pick"])(img, attrSet); +const slimImageObject = img => { + const attrSet = ['sizes', 'mime', 'type', 'subtype', 'id', 'url', 'alt', 'link', 'caption']; + return Object(external_lodash_["pick"])(img, attrSet); }; -var getAttachmentsCollection = function getAttachmentsCollection(ids) { +const getAttachmentsCollection = ids => { return wp.media.query({ order: 'ASC', orderby: 'post__in', @@ -665,40 +300,28 @@ }); }; -var media_upload_MediaUpload = /*#__PURE__*/function (_Component) { - Object(inherits["a" /* default */])(MediaUpload, _Component); - - var _super = _createSuper(MediaUpload); - - function MediaUpload(_ref) { - var _this; - - var allowedTypes = _ref.allowedTypes, - _ref$gallery = _ref.gallery, - gallery = _ref$gallery === void 0 ? false : _ref$gallery, - _ref$unstableFeatured = _ref.unstableFeaturedImageFlow, - unstableFeaturedImageFlow = _ref$unstableFeatured === void 0 ? false : _ref$unstableFeatured, - modalClass = _ref.modalClass, - _ref$multiple = _ref.multiple, - multiple = _ref$multiple === void 0 ? false : _ref$multiple, - _ref$title = _ref.title, - title = _ref$title === void 0 ? Object(external_this_wp_i18n_["__"])('Select or Upload Media') : _ref$title; - - Object(classCallCheck["a" /* default */])(this, MediaUpload); - - _this = _super.apply(this, arguments); - _this.openModal = _this.openModal.bind(Object(assertThisInitialized["a" /* default */])(_this)); - _this.onOpen = _this.onOpen.bind(Object(assertThisInitialized["a" /* default */])(_this)); - _this.onSelect = _this.onSelect.bind(Object(assertThisInitialized["a" /* default */])(_this)); - _this.onUpdate = _this.onUpdate.bind(Object(assertThisInitialized["a" /* default */])(_this)); - _this.onClose = _this.onClose.bind(Object(assertThisInitialized["a" /* default */])(_this)); +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') + }) { + 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); if (gallery) { - _this.buildAndSetGalleryFrame(); + this.buildAndSetGalleryFrame(); } else { - var frameConfig = { - title: title, - multiple: multiple + const frameConfig = { + title, + multiple }; if (!!allowedTypes) { @@ -707,260 +330,214 @@ }; } - _this.frame = wp.media(frameConfig); + this.frame = wp.media(frameConfig); } if (modalClass) { - _this.frame.$el.addClass(modalClass); + this.frame.$el.addClass(modalClass); } if (unstableFeaturedImageFlow) { - _this.buildAndSetFeatureImageFrame(); + this.buildAndSetFeatureImageFrame(); + } + + this.initializeListeners(); + } + + 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; + } + + this.lastGalleryValue = value; // If a frame already existed remove it. + + if (this.frame) { + this.frame.remove(); } - _this.initializeListeners(); + let currentState; + + if (addToGallery) { + currentState = 'gallery-library'; + } else { + currentState = value && value.length ? 'gallery-edit' : 'gallery'; + } + + if (!this.GalleryDetailsMediaFrame) { + this.GalleryDetailsMediaFrame = getGalleryDetailsMediaFrame(); + } - return _this; + 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 && value.length ? true : false + }); + wp.media.frame = this.frame; + this.initializeListeners(); + } + /** + * Initializes the Media Library requirements for the featured image flow. + * + * @return {void} + */ + + + buildAndSetFeatureImageFrame() { + const featuredImageFrame = getFeaturedImageMediaFrame(); + const attachments = getAttachmentsCollection(this.props.value); + const selection = new wp.media.model.Selection(attachments.models, { + props: attachments.props.toJSON() + }); + this.frame = new featuredImageFrame({ + mimeType: this.props.allowedTypes, + state: 'featured-image', + multiple: this.props.multiple, + selection, + editing: this.props.value ? true : false + }); + wp.media.frame = this.frame; } - Object(createClass["a" /* default */])(MediaUpload, [{ - key: "initializeListeners", - value: function 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} - */ - - }, { - key: "buildAndSetGalleryFrame", - value: function buildAndSetGalleryFrame() { - var _this$props = this.props, - _this$props$addToGall = _this$props.addToGallery, - addToGallery = _this$props$addToGall === void 0 ? false : _this$props$addToGall, - allowedTypes = _this$props.allowedTypes, - _this$props$multiple = _this$props.multiple, - multiple = _this$props$multiple === void 0 ? false : _this$props$multiple, - _this$props$value = _this$props.value, - value = _this$props$value === void 0 ? DEFAULT_EMPTY_GALLERY : _this$props$value; // 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; - } - - this.lastGalleryValue = value; // If a frame already existed remove it. + componentWillUnmount() { + this.frame.remove(); + } - if (this.frame) { - this.frame.remove(); - } - - var currentState; - - if (addToGallery) { - currentState = 'gallery-library'; - } else { - currentState = value && value.length ? 'gallery-edit' : 'gallery'; - } - - if (!this.GalleryDetailsMediaFrame) { - this.GalleryDetailsMediaFrame = media_upload_getGalleryDetailsMediaFrame(); - } + onUpdate(selections) { + const { + onSelect, + multiple = false + } = this.props; + const state = this.frame.state(); + const selectedImages = selections || state.get('selection'); - var attachments = getAttachmentsCollection(value); - var selection = new wp.media.model.Selection(attachments.models, { - props: attachments.props.toJSON(), - multiple: multiple - }); - this.frame = new this.GalleryDetailsMediaFrame({ - mimeType: allowedTypes, - state: currentState, - multiple: multiple, - selection: selection, - editing: value && value.length ? true : false - }); - wp.media.frame = this.frame; - this.initializeListeners(); + if (!selectedImages || !selectedImages.models.length) { + return; } - /** - * Initializes the Media Library requirements for the featured image flow. - * - * @return {void} - */ + + if (multiple) { + onSelect(selectedImages.models.map(model => slimImageObject(model.toJSON()))); + } else { + onSelect(slimImageObject(selectedImages.models[0].toJSON())); + } + } - }, { - key: "buildAndSetFeatureImageFrame", - value: function buildAndSetFeatureImageFrame() { - var featuredImageFrame = getFeaturedImageMediaFrame(); - var attachments = getAttachmentsCollection(this.props.value); - var selection = new wp.media.model.Selection(attachments.models, { - props: attachments.props.toJSON() - }); - this.frame = new featuredImageFrame({ - mimeType: this.props.allowedTypes, - state: 'featured-image', - multiple: this.props.multiple, - selection: selection, - editing: this.props.value ? true : false - }); - wp.media.frame = this.frame; - } - }, { - key: "componentWillUnmount", - value: function componentWillUnmount() { - this.frame.remove(); - } - }, { - key: "onUpdate", - value: function onUpdate(selections) { - var _this$props2 = this.props, - onSelect = _this$props2.onSelect, - _this$props2$multiple = _this$props2.multiple, - multiple = _this$props2$multiple === void 0 ? false : _this$props2$multiple; - var state = this.frame.state(); - var selectedImages = selections || state.get('selection'); + 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() { + var _this$props$value; - if (!selectedImages || !selectedImages.models.length) { - return; - } + this.updateCollection(); // Handle both this.props.value being either (number[]) multiple ids + // (for galleries) or a (number) singular id (e.g. image block). - if (multiple) { - onSelect(selectedImages.models.map(function (model) { - return media_upload_slimImageObject(model.toJSON()); - })); - } else { - onSelect(media_upload_slimImageObject(selectedImages.models[0].toJSON())); - } + const hasMedia = Array.isArray(this.props.value) ? !!((_this$props$value = this.props.value) !== null && _this$props$value !== void 0 && _this$props$value.length) : !!this.props.value; + + if (!hasMedia) { + return; } - }, { - key: "onSelect", - value: function onSelect() { - var _this$props3 = this.props, - onSelect = _this$props3.onSelect, - _this$props3$multiple = _this$props3.multiple, - multiple = _this$props3$multiple === void 0 ? false : _this$props3$multiple; // Get media attachment details from the frame state - var attachment = this.frame.state().get('selection').toJSON(); - onSelect(multiple ? attachment : attachment[0]); - } - }, { - key: "onOpen", - value: function onOpen() { - this.updateCollection(); - - if (!this.props.value) { - return; - } - - if (!this.props.gallery) { - var selection = this.frame.state().get('selection'); - Object(external_this_lodash_["castArray"])(this.props.value).forEach(function (id) { - selection.add(wp.media.attachment(id)); - }); - } // load the images so they are available in the media modal. + if (!this.props.gallery) { + const selection = this.frame.state().get('selection'); + Object(external_lodash_["castArray"])(this.props.value).forEach(id => { + selection.add(wp.media.attachment(id)); + }); + } // load the images so they are available in the media modal. - getAttachmentsCollection(Object(external_this_lodash_["castArray"])(this.props.value)).more(); - } - }, { - key: "onClose", - value: function onClose() { - var onClose = this.props.onClose; + getAttachmentsCollection(Object(external_lodash_["castArray"])(this.props.value)).more(); + } - if (onClose) { - onClose(); - } + onClose() { + const { + onClose + } = this.props; + + if (onClose) { + onClose(); } - }, { - key: "updateCollection", - value: function updateCollection() { - var frameContent = this.frame.content.get(); + } + + updateCollection() { + const frameContent = this.frame.content.get(); - if (frameContent && frameContent.collection) { - var collection = frameContent.collection; // clean all attachments we have in memory. + if (frameContent && frameContent.collection) { + const collection = frameContent.collection; // clean all attachments we have in memory. - collection.toArray().forEach(function (model) { - return 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(); - } + collection.more(); } - }, { - key: "openModal", - value: function openModal() { - if (this.props.gallery) { - this.buildAndSetGalleryFrame(); - } + } + + openModal() { + if (this.props.gallery) { + this.buildAndSetGalleryFrame(); + } - this.frame.open(); - } - }, { - key: "render", - value: function render() { - return this.props.render({ - open: this.openModal - }); - } - }]); + this.frame.open(); + } - return MediaUpload; -}(external_this_wp_element_["Component"]); + render() { + return this.props.render({ + open: this.openModal + }); + } + +} /* harmony default export */ var media_upload = (media_upload_MediaUpload); // CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/components/index.js -// EXTERNAL MODULE: external {"this":"regeneratorRuntime"} -var external_this_regeneratorRuntime_ = __webpack_require__(24); -var external_this_regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(external_this_regeneratorRuntime_); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js -var defineProperty = __webpack_require__(5); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js -var asyncToGenerator = __webpack_require__(50); +// 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: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules -var toConsumableArray = __webpack_require__(18); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules -var slicedToArray = __webpack_require__(14); - -// EXTERNAL MODULE: external {"this":["wp","apiFetch"]} -var external_this_wp_apiFetch_ = __webpack_require__(45); -var external_this_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_apiFetch_); - -// EXTERNAL MODULE: external {"this":["wp","blob"]} -var external_this_wp_blob_ = __webpack_require__(44); +// 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 - - - - - -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } - -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } - -function _createForOfIteratorHelper(o) { if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - /** * External dependencies */ @@ -991,15 +568,10 @@ return wpMimeTypesObject; } - return Object(external_this_lodash_["flatMap"])(wpMimeTypesObject, function (mime, extensionsString) { - var _mime$split = mime.split('/'), - _mime$split2 = Object(slicedToArray["a" /* default */])(_mime$split, 1), - type = _mime$split2[0]; - - var extensions = extensionsString.split('|'); - return [mime].concat(Object(toConsumableArray["a" /* default */])(Object(external_this_lodash_["map"])(extensions, function (extension) { - return "".concat(type, "/").concat(extension); - }))); + return Object(external_lodash_["flatMap"])(wpMimeTypesObject, (mime, extensionsString) => { + const [type] = mime.split('/'); + const extensions = extensionsString.split('|'); + return [mime, ...Object(external_lodash_["map"])(extensions, extension => `${type}/${extension}`)]; }); } /** @@ -1018,8 +590,142 @@ * @param {?Object} $0.wpAllowedMimeTypes List of allowed mime types and file extensions. */ -function uploadMedia(_x) { - return _uploadMedia.apply(this, arguments); +async function uploadMedia({ + allowedTypes, + additionalData = {}, + filesList, + maxUploadFileSize, + onError = external_lodash_["noop"], + onFileChange, + wpAllowedMimeTypes = null +}) { + // 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'])); + filesSet[idx] = value; + onFileChange(Object(external_lodash_["compact"])(filesSet)); + }; // Allowed type specified by consumer + + + const isAllowedType = fileType => { + if (!allowedTypes) { + return true; + } + + return Object(external_lodash_["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, '/')) { + 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}/`); + }); + }; // 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 + + + const triggerError = error => { + error.message = [Object(external_wp_element_["createElement"])("strong", { + key: "filename" + }, error.file.name), ': ', error.message]; + onError(error); + }; + + const validFiles = []; + + for (const mediaFile of files) { + // Verify if user is allowed to upload this mime type. + // Defer to the server when type not detected. + 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.'), + file: mediaFile + }); + continue; + } // Check if the block supports this mime type. + // Defer to the server when type not detected. + + + 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.'), + file: mediaFile + }); + continue; + } // 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.'), + file: mediaFile + }); + continue; + } // Don't allow empty files to be uploaded. + + + if (mediaFile.size <= 0) { + triggerError({ + code: 'EMPTY_FILE', + message: Object(external_wp_i18n_["__"])('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 + + filesSet.push({ + url: Object(external_wp_blob_["createBlobURL"])(mediaFile) + }); + onFileChange(filesSet); + } + + for (let idx = 0; idx < validFiles.length; ++idx) { + const mediaFile = validFiles[idx]; + + try { + const savedMedia = await createMediaFromFile(mediaFile, additionalData); + const mediaObject = { ...Object(external_lodash_["omit"])(savedMedia, ['alt_text', 'source_url']), + alt: savedMedia.alt_text, + caption: Object(external_lodash_["get"])(savedMedia, ['caption', 'raw'], ''), + title: savedMedia.title.raw, + url: savedMedia.source_url + }; + setAndUpdateFiles(idx, mediaObject); + } catch (error) { + // Reset to empty on failure. + setAndUpdateFiles(idx, null); + let message; + + if (Object(external_lodash_["has"])(error, ['message'])) { + message = Object(external_lodash_["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); + } + + onError({ + code: 'GENERAL', + message, + file: mediaFile + }); + } + } } /** * @param {File} file Media File to Save. @@ -1028,221 +734,12 @@ * @return {Promise} Media Object Promise. */ -function _uploadMedia() { - _uploadMedia = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/external_this_regeneratorRuntime_default.a.mark(function _callee(_ref) { - var allowedTypes, _ref$additionalData, additionalData, filesList, maxUploadFileSize, _ref$onError, onError, onFileChange, _ref$wpAllowedMimeTyp, wpAllowedMimeTypes, files, filesSet, setAndUpdateFiles, isAllowedType, allowedMimeTypesForUser, isAllowedMimeTypeForUser, triggerError, validFiles, _iterator, _step, _mediaFile, idx, mediaFile, savedMedia, mediaObject, message; - - return external_this_regeneratorRuntime_default.a.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - allowedTypes = _ref.allowedTypes, _ref$additionalData = _ref.additionalData, additionalData = _ref$additionalData === void 0 ? {} : _ref$additionalData, filesList = _ref.filesList, maxUploadFileSize = _ref.maxUploadFileSize, _ref$onError = _ref.onError, onError = _ref$onError === void 0 ? external_this_lodash_["noop"] : _ref$onError, onFileChange = _ref.onFileChange, _ref$wpAllowedMimeTyp = _ref.wpAllowedMimeTypes, wpAllowedMimeTypes = _ref$wpAllowedMimeTyp === void 0 ? null : _ref$wpAllowedMimeTyp; - // Cast filesList to array - files = Object(toConsumableArray["a" /* default */])(filesList); - filesSet = []; - - setAndUpdateFiles = function setAndUpdateFiles(idx, value) { - Object(external_this_wp_blob_["revokeBlobURL"])(Object(external_this_lodash_["get"])(filesSet, [idx, 'url'])); - filesSet[idx] = value; - onFileChange(Object(external_this_lodash_["compact"])(filesSet)); - }; // Allowed type specified by consumer - - - isAllowedType = function isAllowedType(fileType) { - if (!allowedTypes) { - return true; - } - - return Object(external_this_lodash_["some"])(allowedTypes, function (allowedType) { - // If a complete mimetype is specified verify if it matches exactly the mime type of the file. - if (Object(external_this_lodash_["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_this_lodash_["startsWith"])(fileType, "".concat(allowedType, "/")); - }); - }; // Allowed types for the current WP_User - - - allowedMimeTypesForUser = getMimeTypesArray(wpAllowedMimeTypes); - - isAllowedMimeTypeForUser = function isAllowedMimeTypeForUser(fileType) { - return Object(external_this_lodash_["includes"])(allowedMimeTypesForUser, fileType); - }; // Build the error message including the filename - - - triggerError = function triggerError(error) { - error.message = [Object(external_this_wp_element_["createElement"])("strong", { - key: "filename" - }, error.file.name), ': ', error.message]; - onError(error); - }; - - validFiles = []; - _iterator = _createForOfIteratorHelper(files); - _context.prev = 10; - - _iterator.s(); - - case 12: - if ((_step = _iterator.n()).done) { - _context.next = 31; - break; - } - - _mediaFile = _step.value; - - if (!(allowedMimeTypesForUser && _mediaFile.type && !isAllowedMimeTypeForUser(_mediaFile.type))) { - _context.next = 17; - break; - } - - triggerError({ - code: 'MIME_TYPE_NOT_ALLOWED_FOR_USER', - message: Object(external_this_wp_i18n_["__"])('Sorry, this file type is not permitted for security reasons.'), - file: _mediaFile - }); - return _context.abrupt("continue", 29); - - case 17: - if (!(_mediaFile.type && !isAllowedType(_mediaFile.type))) { - _context.next = 20; - break; - } - - triggerError({ - code: 'MIME_TYPE_NOT_SUPPORTED', - message: Object(external_this_wp_i18n_["__"])('Sorry, this file type is not supported here.'), - file: _mediaFile - }); - return _context.abrupt("continue", 29); - - case 20: - if (!(maxUploadFileSize && _mediaFile.size > maxUploadFileSize)) { - _context.next = 23; - break; - } - - triggerError({ - code: 'SIZE_ABOVE_LIMIT', - message: Object(external_this_wp_i18n_["__"])('This file exceeds the maximum upload size for this site.'), - file: _mediaFile - }); - return _context.abrupt("continue", 29); - - case 23: - if (!(_mediaFile.size <= 0)) { - _context.next = 26; - break; - } - - triggerError({ - code: 'EMPTY_FILE', - message: Object(external_this_wp_i18n_["__"])('This file is empty.'), - file: _mediaFile - }); - return _context.abrupt("continue", 29); - - case 26: - 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 - - filesSet.push({ - url: Object(external_this_wp_blob_["createBlobURL"])(_mediaFile) - }); - onFileChange(filesSet); - - case 29: - _context.next = 12; - break; - - case 31: - _context.next = 36; - break; - - case 33: - _context.prev = 33; - _context.t0 = _context["catch"](10); - - _iterator.e(_context.t0); - - case 36: - _context.prev = 36; - - _iterator.f(); - - return _context.finish(36); - - case 39: - idx = 0; - - case 40: - if (!(idx < validFiles.length)) { - _context.next = 59; - break; - } - - mediaFile = validFiles[idx]; - _context.prev = 42; - _context.next = 45; - return createMediaFromFile(mediaFile, additionalData); - - case 45: - savedMedia = _context.sent; - mediaObject = _objectSpread({}, Object(external_this_lodash_["omit"])(savedMedia, ['alt_text', 'source_url']), { - alt: savedMedia.alt_text, - caption: Object(external_this_lodash_["get"])(savedMedia, ['caption', 'raw'], ''), - title: savedMedia.title.raw, - url: savedMedia.source_url - }); - setAndUpdateFiles(idx, mediaObject); - _context.next = 56; - break; - - case 50: - _context.prev = 50; - _context.t1 = _context["catch"](42); - // Reset to empty on failure. - setAndUpdateFiles(idx, null); - message = void 0; - - if (Object(external_this_lodash_["has"])(_context.t1, ['message'])) { - message = Object(external_this_lodash_["get"])(_context.t1, ['message']); - } else { - message = Object(external_this_wp_i18n_["sprintf"])( // translators: %s: file name - Object(external_this_wp_i18n_["__"])('Error while uploading file %s to the media library.'), mediaFile.name); - } - - onError({ - code: 'GENERAL', - message: message, - file: mediaFile - }); - - case 56: - ++idx; - _context.next = 40; - break; - - case 59: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[10, 33, 36, 39], [42, 50]]); - })); - return _uploadMedia.apply(this, arguments); -} - function createMediaFromFile(file, additionalData) { // Create upload payload - var data = new window.FormData(); + const data = new window.FormData(); data.append('file', file, file.name || file.type.replace('/', '.')); - Object(external_this_lodash_["forEach"])(additionalData, function (value, key) { - return data.append(key, value); - }); - return external_this_wp_apiFetch_default()({ + Object(external_lodash_["forEach"])(additionalData, (value, key) => data.append(key, value)); + return external_wp_apiFetch_default()({ path: '/wp/v2/media', body: data, method: 'POST' @@ -1259,68 +756,31 @@ /***/ }), -/***/ 5: -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ "YLtl": +/***/ (function(module, exports) { -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _defineProperty; }); -function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; -} +(function() { module.exports = window["lodash"]; }()); /***/ }), -/***/ 50: -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ "l3Sj": +/***/ (function(module, exports) { -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _asyncToGenerator; }); -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } +(function() { module.exports = window["wp"]["i18n"]; }()); + +/***/ }), - if (info.done) { - resolve(value); - } else { - Promise.resolve(value).then(_next, _throw); - } -} +/***/ "xTGt": +/***/ (function(module, exports) { + +(function() { module.exports = window["wp"]["blob"]; }()); -function _asyncToGenerator(fn) { - return function () { - var self = this, - args = arguments; - return new Promise(function (resolve, reject) { - var gen = fn.apply(self, args); +/***/ }), - function _next(value) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); - } +/***/ "ywyh": +/***/ (function(module, exports) { - function _throw(err) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); - } - - _next(undefined); - }); - }; -} +(function() { module.exports = window["wp"]["apiFetch"]; }()); /***/ })