2019-09-19 17:19:18 +02:00
this [ "wp" ] = this [ "wp" ] || { } ; this [ "wp" ] [ "mediaUtils" ] =
/******/ ( function ( modules ) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = { } ;
/******/
/******/ // The require function
/******/ function _ _webpack _require _ _ ( moduleId ) {
/******/
/******/ // Check if module is in cache
/******/ if ( installedModules [ moduleId ] ) {
/******/ return installedModules [ moduleId ] . exports ;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules [ moduleId ] = {
/******/ i : moduleId ,
/******/ l : false ,
/******/ exports : { }
/******/ } ;
/******/
/******/ // Execute the module function
/******/ modules [ moduleId ] . call ( module . exports , module , module . exports , _ _webpack _require _ _ ) ;
/******/
/******/ // Flag the module as loaded
/******/ module . l = true ;
/******/
/******/ // Return the exports of the module
/******/ return module . exports ;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ _ _webpack _require _ _ . m = modules ;
/******/
/******/ // expose the module cache
/******/ _ _webpack _require _ _ . c = installedModules ;
/******/
/******/ // define getter function for harmony exports
/******/ _ _webpack _require _ _ . d = function ( exports , name , getter ) {
/******/ if ( ! _ _webpack _require _ _ . o ( exports , name ) ) {
/******/ Object . defineProperty ( exports , name , { enumerable : true , get : getter } ) ;
/******/ }
/******/ } ;
/******/
/******/ // define __esModule on exports
/******/ _ _webpack _require _ _ . r = function ( exports ) {
/******/ if ( typeof Symbol !== 'undefined' && Symbol . toStringTag ) {
/******/ Object . defineProperty ( exports , Symbol . toStringTag , { value : 'Module' } ) ;
/******/ }
/******/ Object . defineProperty ( exports , '__esModule' , { value : true } ) ;
/******/ } ;
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ _ _webpack _require _ _ . t = function ( value , mode ) {
/******/ if ( mode & 1 ) value = _ _webpack _require _ _ ( value ) ;
/******/ if ( mode & 8 ) return value ;
/******/ if ( ( mode & 4 ) && typeof value === 'object' && value && value . _ _esModule ) return value ;
/******/ var ns = Object . create ( null ) ;
/******/ _ _webpack _require _ _ . r ( ns ) ;
/******/ Object . defineProperty ( ns , 'default' , { enumerable : true , value : value } ) ;
/******/ if ( mode & 2 && typeof value != 'string' ) for ( var key in value ) _ _webpack _require _ _ . d ( ns , key , function ( key ) { return value [ key ] ; } . bind ( null , key ) ) ;
/******/ return ns ;
/******/ } ;
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ _ _webpack _require _ _ . n = function ( module ) {
/******/ var getter = module && module . _ _esModule ?
/******/ function getDefault ( ) { return module [ 'default' ] ; } :
/******/ function getModuleExports ( ) { return module ; } ;
/******/ _ _webpack _require _ _ . d ( getter , 'a' , getter ) ;
/******/ return getter ;
/******/ } ;
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ _ _webpack _require _ _ . o = function ( object , property ) { return Object . prototype . hasOwnProperty . call ( object , property ) ; } ;
/******/
/******/ // __webpack_public_path__
/******/ _ _webpack _require _ _ . p = "" ;
/******/
/******/
/******/ // Load entry module and return exports
2020-06-26 15:33:47 +02:00
/******/ return _ _webpack _require _ _ ( _ _webpack _require _ _ . s = 456 ) ;
2019-09-19 17:19:18 +02:00
/******/ } )
/************************************************************************/
/******/ ( {
/***/ 0 :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = this [ "wp" ] [ "element" ] ; } ( ) ) ;
/***/ } ) ,
/***/ 1 :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = this [ "wp" ] [ "i18n" ] ; } ( ) ) ;
/***/ } ) ,
2020-06-26 15:33:47 +02:00
/***/ 10 :
2019-09-19 17:19:18 +02:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
2020-06-26 15:33:47 +02:00
/* 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" ) ;
2019-09-19 17:19:18 +02:00
}
2020-06-26 15:33:47 +02:00
return self ;
2019-09-19 17:19:18 +02:00
}
/***/ } ) ,
2020-06-26 15:33:47 +02:00
/***/ 13 :
2019-09-19 17:19:18 +02:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
2020-06-26 15:33:47 +02:00
/* 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 ) ;
2019-09-19 17:19:18 +02:00
}
/***/ } ) ,
2020-02-10 23:33:27 +01:00
/***/ 15 :
2019-09-19 17:19:18 +02:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
2020-06-26 15:33:47 +02:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
var arrayWithHoles = _ _webpack _require _ _ ( 38 ) ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
// 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 ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
try {
for ( var _i = arr [ Symbol . iterator ] ( ) , _s ; ! ( _n = ( _s = _i . next ( ) ) . done ) ; _n = true ) {
_arr . push ( _s . value ) ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
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 ;
}
}
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
return _arr ;
2019-09-19 17:19:18 +02:00
}
2020-06-26 15:33:47 +02:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
var unsupportedIterableToArray = _ _webpack _require _ _ ( 28 ) ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
var nonIterableRest = _ _webpack _require _ _ ( 39 ) ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _slicedToArray ; } ) ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
function _slicedToArray ( arr , i ) {
return Object ( arrayWithHoles [ "a" /* default */ ] ) ( arr ) || _iterableToArrayLimit ( arr , i ) || Object ( unsupportedIterableToArray [ "a" /* default */ ] ) ( arr , i ) || Object ( nonIterableRest [ "a" /* default */ ] ) ( ) ;
2019-09-19 17:19:18 +02:00
}
/***/ } ) ,
2020-06-26 15:33:47 +02:00
/***/ 16 :
2019-09-19 17:19:18 +02:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
2020-03-24 00:40:19 +01:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
2020-06-26 15:33:47 +02:00
var arrayLikeToArray = _ _webpack _require _ _ ( 26 ) ;
2020-03-24 00:40:19 +01:00
2019-09-19 17:19:18 +02:00
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
2020-03-24 00:40:19 +01:00
function _arrayWithoutHoles ( arr ) {
if ( Array . isArray ( arr ) ) return Object ( arrayLikeToArray [ "a" /* default */ ] ) ( arr ) ;
2019-09-19 17:19:18 +02:00
}
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
2020-03-24 00:40:19 +01:00
var iterableToArray = _ _webpack _require _ _ ( 35 ) ;
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
2020-06-26 15:33:47 +02:00
var unsupportedIterableToArray = _ _webpack _require _ _ ( 28 ) ;
2019-09-19 17:19:18 +02:00
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
function _nonIterableSpread ( ) {
2020-03-24 00:40:19 +01:00
throw new TypeError ( "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
2019-09-19 17:19:18 +02:00
}
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _toConsumableArray ; } ) ;
2020-03-24 00:40:19 +01:00
2019-09-19 17:19:18 +02:00
function _toConsumableArray ( arr ) {
2020-03-24 00:40:19 +01:00
return _arrayWithoutHoles ( arr ) || Object ( iterableToArray [ "a" /* default */ ] ) ( arr ) || Object ( unsupportedIterableToArray [ "a" /* default */ ] ) ( arr ) || _nonIterableSpread ( ) ;
2019-09-19 17:19:18 +02:00
}
/***/ } ) ,
2020-06-26 15:33:47 +02:00
/***/ 18 :
/***/ ( 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 ;
}
/***/ } ) ,
/***/ 19 :
/***/ ( 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" ) ;
}
}
/***/ } ) ,
2019-09-19 17:19:18 +02:00
/***/ 2 :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = this [ "lodash" ] ; } ( ) ) ;
/***/ } ) ,
2020-03-16 23:07:16 +01:00
/***/ 20 :
2019-09-19 17:19:18 +02:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
2020-06-26 15:33:47 +02:00
// 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 ;
} ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
return _setPrototypeOf ( o , p ) ;
}
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _inherits ; } ) ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
function _inherits ( subClass , superClass ) {
if ( typeof superClass !== "function" && superClass !== null ) {
throw new TypeError ( "Super expression must either be null or a function" ) ;
2019-09-19 17:19:18 +02:00
}
2020-06-26 15:33:47 +02:00
subClass . prototype = Object . create ( superClass && superClass . prototype , {
constructor : {
value : subClass ,
writable : true ,
configurable : true
}
} ) ;
if ( superClass ) _setPrototypeOf ( subClass , superClass ) ;
2019-09-19 17:19:18 +02:00
}
2020-03-24 00:40:19 +01:00
2020-06-26 15:33:47 +02:00
/***/ } ) ,
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
/***/ 21 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
"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 _ _ ( 10 ) ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
function _possibleConstructorReturn ( self , call ) {
if ( call && ( Object ( _helpers _esm _typeof _ _WEBPACK _IMPORTED _MODULE _0 _ _ [ /* default */ "a" ] ) ( call ) === "object" || typeof call === "function" ) ) {
return call ;
}
2020-03-24 00:40:19 +01:00
2020-06-26 15:33:47 +02:00
return Object ( _assertThisInitialized _ _WEBPACK _IMPORTED _MODULE _1 _ _ [ /* default */ "a" ] ) ( self ) ;
2019-09-19 17:19:18 +02:00
}
/***/ } ) ,
2020-01-08 12:57:23 +01:00
/***/ 23 :
/***/ ( function ( module , exports ) {
2019-09-19 17:19:18 +02:00
2020-01-08 12:57:23 +01:00
( function ( ) { module . exports = this [ "regeneratorRuntime" ] ; } ( ) ) ;
2019-09-19 17:19:18 +02:00
/***/ } ) ,
2020-06-26 15:33:47 +02:00
/***/ 26 :
2020-03-24 00:40:19 +01:00
/***/ ( 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 ;
}
/***/ } ) ,
2020-06-26 15:33:47 +02:00
/***/ 28 :
2020-03-24 00:40:19 +01:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _unsupportedIterableToArray ; } ) ;
2020-06-26 15:33:47 +02:00
/* harmony import */ var _arrayLikeToArray _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( 26 ) ;
2020-03-24 00:40:19 +01:00
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 ;
2020-06-26 15:33:47 +02:00
if ( n === "Map" || n === "Set" ) return Array . from ( o ) ;
2020-03-24 00:40:19 +01:00
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 :
2020-03-16 23:07:16 +01:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _iterableToArray ; } ) ;
function _iterableToArray ( iter ) {
2020-03-24 00:40:19 +01:00
if ( typeof Symbol !== "undefined" && Symbol . iterator in Object ( iter ) ) return Array . from ( iter ) ;
2020-03-16 23:07:16 +01:00
}
/***/ } ) ,
2020-03-24 00:40:19 +01:00
/***/ 38 :
2020-01-08 12:57:23 +01:00
/***/ ( 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 ;
}
/***/ } ) ,
2020-03-24 00:40:19 +01:00
/***/ 39 :
2020-01-08 12:57:23 +01:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
2019-09-19 17:19:18 +02:00
2020-01-08 12:57:23 +01:00
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _nonIterableRest ; } ) ;
function _nonIterableRest ( ) {
2020-03-24 00:40:19 +01:00
throw new TypeError ( "Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
2020-01-08 12:57:23 +01:00
}
2019-09-19 17:19:18 +02:00
/***/ } ) ,
2020-06-26 15:33:47 +02:00
/***/ 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 :
2019-10-15 18:17:12 +02:00
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = this [ "wp" ] [ "blob" ] ; } ( ) ) ;
/***/ } ) ,
2020-06-26 15:33:47 +02:00
/***/ 45 :
2020-01-08 12:57:23 +01:00
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = this [ "wp" ] [ "apiFetch" ] ; } ( ) ) ;
/***/ } ) ,
2020-06-26 15:33:47 +02:00
/***/ 456 :
2019-09-19 17:19:18 +02:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
2020-06-26 15:33:47 +02:00
var classCallCheck = _ _webpack _require _ _ ( 19 ) ;
2019-09-19 17:19:18 +02:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
2020-06-26 15:33:47 +02:00
var createClass = _ _webpack _require _ _ ( 18 ) ;
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
var assertThisInitialized = _ _webpack _require _ _ ( 10 ) ;
2019-09-19 17:19:18 +02:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
2020-06-26 15:33:47 +02:00
var possibleConstructorReturn = _ _webpack _require _ _ ( 21 ) ;
2019-09-19 17:19:18 +02:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
2020-06-26 15:33:47 +02:00
var getPrototypeOf = _ _webpack _require _ _ ( 13 ) ;
2019-09-19 17:19:18 +02:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
2020-06-26 15:33:47 +02:00
var inherits = _ _webpack _require _ _ ( 20 ) ;
2019-09-19 17:19:18 +02:00
2020-01-03 14:17:24 +01:00
// EXTERNAL MODULE: external {"this":"lodash"}
var external _this _lodash _ = _ _webpack _require _ _ ( 2 ) ;
2019-09-19 17:19:18 +02:00
// 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 ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/components/media-upload/index.js
2020-06-26 15:33:47 +02:00
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 ; } }
2019-09-19 17:19:18 +02:00
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
var _window = window ,
wp = _window . wp ;
2020-06-26 15:33:47 +02:00
var DEFAULT _EMPTY _GALLERY = [ ] ;
2020-02-18 00:02:14 +01:00
/ * *
* Prepares the Featured Image toolbars and frames .
*
* @ return { wp . media . view . MediaFrame . Select } The default media workflow .
* /
2019-09-19 17:19:18 +02:00
var getFeaturedImageMediaFrame = function getFeaturedImageMediaFrame ( ) {
return wp . media . view . MediaFrame . Select . extend ( {
/ * *
* Enables the Set Featured Image Button .
*
* @ param { Object } toolbar toolbar for featured image state
* @ return { void }
* /
featuredImageToolbar : function featuredImageToolbar ( toolbar ) {
this . createSelectToolbar ( toolbar , {
text : wp . media . view . l10n . setFeaturedImage ,
state : this . options . state
} ) ;
} ,
2020-02-18 00:02:14 +01:00
/ * *
* Handle the edit state requirements of selected media item .
*
* @ return { void }
* /
editState : function editState ( ) {
var selection = this . state ( 'featured-image' ) . get ( 'selection' ) ;
var 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 ( ) ;
} ,
2019-09-19 17:19:18 +02:00
/ * *
* Create the default states .
*
* @ return { void }
* /
createStates : function createStates ( ) {
this . on ( 'toolbar:create:featured-image' , this . featuredImageToolbar , this ) ;
2020-02-18 00:02:14 +01:00
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
} ) ] ) ;
2019-09-19 17:19:18 +02:00
}
} ) ;
2020-02-18 00:02:14 +01:00
} ;
/ * *
* Prepares the Gallery toolbars and frames .
*
2020-02-25 01:18:15 +01:00
* @ return { wp . media . view . MediaFrame . Post } The default media workflow .
2020-02-18 00:02:14 +01:00
* /
2019-09-19 17:19:18 +02:00
var media _upload _getGalleryDetailsMediaFrame = function getGalleryDetailsMediaFrame ( ) {
/ * *
* 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
* /
2020-02-25 01:18:15 +01:00
return wp . media . view . MediaFrame . Post . extend ( {
2020-02-18 00:02:14 +01:00
/ * *
* Set up gallery toolbar .
*
* @ return { void }
* /
galleryToolbar : function galleryToolbar ( ) {
var 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 : function click ( ) {
var 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 : function editState ( ) {
var selection = this . state ( 'gallery' ) . get ( 'selection' ) ;
var 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 ( ) ;
} ,
2019-09-19 17:19:18 +02:00
/ * *
* Create the default states .
*
* @ return { void }
* /
createStates : function createStates ( ) {
2020-02-18 00:02:14 +01:00
this . on ( 'toolbar:create:main-gallery' , this . galleryToolbar , this ) ;
this . on ( 'content:render:edit-image' , this . editState , this ) ;
2019-09-19 17:19:18 +02:00
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 ,
2020-01-03 14:17:24 +01:00
library : wp . media . query ( Object ( external _this _lodash _ [ "defaults" ] ) ( {
2019-09-19 17:19:18 +02:00
type : 'image'
} , this . options . library ) )
2020-02-18 00:02:14 +01:00
} ) , new wp . media . controller . EditImage ( {
model : this . options . editImage
2019-09-19 17:19:18 +02:00
} ) , 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
var media _upload _slimImageObject = function slimImageObject ( img ) {
var attrSet = [ 'sizes' , 'mime' , 'type' , 'subtype' , 'id' , 'url' , 'alt' , 'link' , 'caption' ] ;
2020-01-03 14:17:24 +01:00
return Object ( external _this _lodash _ [ "pick" ] ) ( img , attrSet ) ;
2019-09-19 17:19:18 +02:00
} ;
var getAttachmentsCollection = function getAttachmentsCollection ( ids ) {
return wp . media . query ( {
order : 'ASC' ,
orderby : 'post__in' ,
post _ _in : ids ,
posts _per _page : - 1 ,
query : true ,
type : 'image'
} ) ;
} ;
2020-06-26 15:33:47 +02:00
var media _upload _MediaUpload = /*#__PURE__*/ function ( _Component ) {
2019-09-19 17:19:18 +02:00
Object ( inherits [ "a" /* default */ ] ) ( MediaUpload , _Component ) ;
2020-06-26 15:33:47 +02:00
var _super = _createSuper ( MediaUpload ) ;
2019-09-19 17:19:18 +02:00
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 ) ;
2020-06-26 15:33:47 +02:00
_this = _super . apply ( this , arguments ) ;
2019-09-19 17:19:18 +02:00
_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 ) ) ;
if ( gallery ) {
_this . buildAndSetGalleryFrame ( ) ;
} else {
var frameConfig = {
title : title ,
multiple : multiple
} ;
if ( ! ! allowedTypes ) {
frameConfig . library = {
type : allowedTypes
} ;
}
_this . frame = wp . media ( frameConfig ) ;
}
if ( modalClass ) {
_this . frame . $el . addClass ( modalClass ) ;
}
if ( unstableFeaturedImageFlow ) {
_this . buildAndSetFeatureImageFrame ( ) ;
}
_this . initializeListeners ( ) ;
return _this ;
}
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 ) ;
}
2020-02-18 00:02:14 +01:00
/ * *
* Sets the Gallery frame and initializes listeners .
*
* @ return { void }
* /
2019-09-19 17:19:18 +02:00
} , {
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 ,
2020-06-26 15:33:47 +02:00
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,
2019-09-19 17:19:18 +02:00
// 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 ( ) ;
}
var currentState ;
if ( addToGallery ) {
currentState = 'gallery-library' ;
} else {
2020-06-26 15:33:47 +02:00
currentState = value && value . length ? 'gallery-edit' : 'gallery' ;
2019-09-19 17:19:18 +02:00
}
if ( ! this . GalleryDetailsMediaFrame ) {
this . GalleryDetailsMediaFrame = media _upload _getGalleryDetailsMediaFrame ( ) ;
}
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 ,
2020-06-26 15:33:47 +02:00
editing : value && value . length ? true : false
2019-09-19 17:19:18 +02:00
} ) ;
wp . media . frame = this . frame ;
this . initializeListeners ( ) ;
}
2020-02-18 00:02:14 +01:00
/ * *
* Initializes the Media Library requirements for the featured image flow .
*
* @ return { void }
* /
2019-09-19 17:19:18 +02:00
} , {
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' ) ;
if ( ! selectedImages || ! selectedImages . models . length ) {
return ;
}
if ( multiple ) {
onSelect ( selectedImages . models . map ( function ( model ) {
return media _upload _slimImageObject ( model . toJSON ( ) ) ;
} ) ) ;
} else {
onSelect ( media _upload _slimImageObject ( selectedImages . models [ 0 ] . toJSON ( ) ) ) ;
}
}
} , {
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' ) ;
2020-01-03 14:17:24 +01:00
Object ( external _this _lodash _ [ "castArray" ] ) ( this . props . value ) . forEach ( function ( id ) {
2019-09-19 17:19:18 +02:00
selection . add ( wp . media . attachment ( id ) ) ;
} ) ;
} // load the images so they are available in the media modal.
2020-01-03 14:17:24 +01:00
getAttachmentsCollection ( Object ( external _this _lodash _ [ "castArray" ] ) ( this . props . value ) ) . more ( ) ;
2019-09-19 17:19:18 +02:00
}
} , {
key : "onClose" ,
value : function onClose ( ) {
var onClose = this . props . onClose ;
if ( onClose ) {
onClose ( ) ;
}
}
} , {
key : "updateCollection" ,
value : function updateCollection ( ) {
var frameContent = this . frame . content . get ( ) ;
if ( frameContent && frameContent . collection ) {
var 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 . mirroring . _hasMore = true ; // request items
collection . more ( ) ;
}
}
} , {
key : "openModal" ,
value : function openModal ( ) {
2020-06-26 15:33:47 +02:00
if ( this . props . gallery ) {
2019-09-19 17:19:18 +02:00
this . buildAndSetGalleryFrame ( ) ;
}
this . frame . open ( ) ;
}
} , {
key : "render" ,
value : function render ( ) {
return this . props . render ( {
open : this . openModal
} ) ;
}
} ] ) ;
return MediaUpload ;
} ( external _this _wp _element _ [ "Component" ] ) ;
/* harmony default export */ var media _upload = ( media _upload _MediaUpload ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/components/index.js
2020-01-03 14:17:24 +01:00
// EXTERNAL MODULE: external {"this":"regeneratorRuntime"}
2020-01-08 12:57:23 +01:00
var external _this _regeneratorRuntime _ = _ _webpack _require _ _ ( 23 ) ;
2020-01-03 14:17:24 +01:00
var external _this _regeneratorRuntime _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( external _this _regeneratorRuntime _ ) ;
2019-09-19 17:19:18 +02:00
2020-02-06 22:03:31 +01:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
var defineProperty = _ _webpack _require _ _ ( 5 ) ;
2019-09-19 17:19:18 +02:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
2020-06-26 15:33:47 +02:00
var asyncToGenerator = _ _webpack _require _ _ ( 46 ) ;
2019-09-19 17:19:18 +02:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules
2020-06-26 15:33:47 +02:00
var toConsumableArray = _ _webpack _require _ _ ( 16 ) ;
2019-09-19 17:19:18 +02:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
2020-06-26 15:33:47 +02:00
var slicedToArray = _ _webpack _require _ _ ( 15 ) ;
2019-09-19 17:19:18 +02:00
// EXTERNAL MODULE: external {"this":["wp","apiFetch"]}
2020-06-26 15:33:47 +02:00
var external _this _wp _apiFetch _ = _ _webpack _require _ _ ( 45 ) ;
2019-09-19 17:19:18 +02:00
var external _this _wp _apiFetch _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( external _this _wp _apiFetch _ ) ;
// EXTERNAL MODULE: external {"this":["wp","blob"]}
2020-06-26 15:33:47 +02:00
var external _this _wp _blob _ = _ _webpack _require _ _ ( 44 ) ;
2019-09-19 17:19:18 +02:00
// CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/utils/upload-media.js
2020-02-06 22:03:31 +01:00
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 ; }
2020-06-26 15:33:47 +02:00
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 ; }
2019-09-19 17:19:18 +02:00
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
/ * *
* 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" ]
* The computation of this array instead of directly using the object ,
* solves the problem in chrome where mp3 files have audio / mp3 as mime type instead of audio / mpeg .
* https : //bugs.chromium.org/p/chromium/issues/detail?id=227004
*
* @ 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 { ? Array } An array of mime types or the parameter passed if it was "falsy" .
* /
function getMimeTypesArray ( wpMimeTypesObject ) {
if ( ! wpMimeTypesObject ) {
return wpMimeTypesObject ;
}
2020-01-03 14:17:24 +01:00
return Object ( external _this _lodash _ [ "flatMap" ] ) ( wpMimeTypesObject , function ( mime , extensionsString ) {
2019-09-19 17:19:18 +02:00
var _mime$split = mime . split ( '/' ) ,
_mime$split2 = Object ( slicedToArray [ "a" /* default */ ] ) ( _mime$split , 1 ) ,
type = _mime$split2 [ 0 ] ;
var extensions = extensionsString . split ( '|' ) ;
2020-01-03 14:17:24 +01:00
return [ mime ] . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( Object ( external _this _lodash _ [ "map" ] ) ( extensions , function ( extension ) {
2019-09-19 17:19:18 +02:00
return "" . concat ( type , "/" ) . concat ( extension ) ;
} ) ) ) ;
} ) ;
}
/ * *
* Media Upload is used by audio , image , gallery , video , and file blocks to
* handle uploading a media file when a file upload button is activated .
*
* TODO : future enhancement to add an upload indicator .
*
* @ param { Object } $0 Parameters object passed to the function .
* @ param { ? Array } $0 . allowedTypes Array with the types of media that can be uploaded , if unset all types are allowed .
* @ param { ? Object } $0 . additionalData Additional data to include in the request .
* @ param { Array } $0 . filesList List of files .
* @ param { ? number } $0 . maxUploadFileSize Maximum upload size in bytes allowed for the site .
* @ param { Function } $0 . onError Function called when an error happens .
* @ param { Function } $0 . onFileChange Function called each time a file or a temporary representation of the file is available .
* @ param { ? Object } $0 . wpAllowedMimeTypes List of allowed mime types and file extensions .
* /
function uploadMedia ( _x ) {
return _uploadMedia . apply ( this , arguments ) ;
}
/ * *
* @ param { File } file Media File to Save .
* @ param { ? Object } additionalData Additional data to include in the request .
*
* @ return { Promise } Media Object Promise .
* /
function _uploadMedia ( ) {
2020-06-26 15:33:47 +02:00
_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 ;
2019-09-19 17:19:18 +02:00
2020-01-03 14:17:24 +01:00
return external _this _regeneratorRuntime _default . a . wrap ( function _callee$ ( _context ) {
2019-09-19 17:19:18 +02:00
while ( 1 ) {
switch ( _context . prev = _context . next ) {
case 0 :
2020-01-03 14:17:24 +01:00
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 ;
2019-09-19 17:19:18 +02:00
// Cast filesList to array
files = Object ( toConsumableArray [ "a" /* default */ ] ) ( filesList ) ;
filesSet = [ ] ;
setAndUpdateFiles = function setAndUpdateFiles ( idx , value ) {
2020-01-03 14:17:24 +01:00
Object ( external _this _wp _blob _ [ "revokeBlobURL" ] ) ( Object ( external _this _lodash _ [ "get" ] ) ( filesSet , [ idx , 'url' ] ) ) ;
2019-09-19 17:19:18 +02:00
filesSet [ idx ] = value ;
2020-01-03 14:17:24 +01:00
onFileChange ( Object ( external _this _lodash _ [ "compact" ] ) ( filesSet ) ) ;
2019-09-19 17:19:18 +02:00
} ; // Allowed type specified by consumer
isAllowedType = function isAllowedType ( fileType ) {
if ( ! allowedTypes ) {
return true ;
}
2020-01-03 14:17:24 +01:00
return Object ( external _this _lodash _ [ "some" ] ) ( allowedTypes , function ( allowedType ) {
2019-09-19 17:19:18 +02:00
// If a complete mimetype is specified verify if it matches exactly the mime type of the file.
2020-01-03 14:17:24 +01:00
if ( Object ( external _this _lodash _ [ "includes" ] ) ( allowedType , '/' ) ) {
2019-09-19 17:19:18 +02:00
return allowedType === fileType ;
} // Otherwise a general mime type is used and we should verify if the file mimetype starts with it.
2020-01-03 14:17:24 +01:00
return Object ( external _this _lodash _ [ "startsWith" ] ) ( fileType , "" . concat ( allowedType , "/" ) ) ;
2019-09-19 17:19:18 +02:00
} ) ;
} ; // Allowed types for the current WP_User
allowedMimeTypesForUser = getMimeTypesArray ( wpAllowedMimeTypes ) ;
isAllowedMimeTypeForUser = function isAllowedMimeTypeForUser ( fileType ) {
2020-01-03 14:17:24 +01:00
return Object ( external _this _lodash _ [ "includes" ] ) ( allowedMimeTypesForUser , fileType ) ;
2019-09-19 17:19:18 +02:00
} ; // 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 = [ ] ;
2020-06-26 15:33:47 +02:00
_iterator = _createForOfIteratorHelper ( files ) ;
_context . prev = 10 ;
_iterator . s ( ) ;
case 12 :
if ( ( _step = _iterator . n ( ) ) . done ) {
_context . next = 31 ;
2019-09-19 17:19:18 +02:00
break ;
}
_mediaFile = _step . value ;
2020-06-26 15:33:47 +02:00
if ( ! ( allowedMimeTypesForUser && _mediaFile . type && ! isAllowedMimeTypeForUser ( _mediaFile . type ) ) ) {
_context . next = 17 ;
2019-09-19 17:19:18 +02:00
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
} ) ;
2020-06-26 15:33:47 +02:00
return _context . abrupt ( "continue" , 29 ) ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
case 17 :
if ( ! ( _mediaFile . type && ! isAllowedType ( _mediaFile . type ) ) ) {
_context . next = 20 ;
2019-09-19 17:19:18 +02:00
break ;
}
triggerError ( {
code : 'MIME_TYPE_NOT_SUPPORTED' ,
message : Object ( external _this _wp _i18n _ [ "__" ] ) ( 'Sorry, this file type is not supported here.' ) ,
file : _mediaFile
} ) ;
2020-06-26 15:33:47 +02:00
return _context . abrupt ( "continue" , 29 ) ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
case 20 :
2019-09-19 17:19:18 +02:00
if ( ! ( maxUploadFileSize && _mediaFile . size > maxUploadFileSize ) ) {
2020-06-26 15:33:47 +02:00
_context . next = 23 ;
2019-09-19 17:19:18 +02:00
break ;
}
triggerError ( {
code : 'SIZE_ABOVE_LIMIT' ,
message : Object ( external _this _wp _i18n _ [ "__" ] ) ( 'This file exceeds the maximum upload size for this site.' ) ,
file : _mediaFile
} ) ;
2020-06-26 15:33:47 +02:00
return _context . abrupt ( "continue" , 29 ) ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
case 23 :
2019-09-19 17:19:18 +02:00
if ( ! ( _mediaFile . size <= 0 ) ) {
2020-06-26 15:33:47 +02:00
_context . next = 26 ;
2019-09-19 17:19:18 +02:00
break ;
}
triggerError ( {
code : 'EMPTY_FILE' ,
message : Object ( external _this _wp _i18n _ [ "__" ] ) ( 'This file is empty.' ) ,
file : _mediaFile
} ) ;
2020-06-26 15:33:47 +02:00
return _context . abrupt ( "continue" , 29 ) ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
case 26 :
2019-09-19 17:19:18 +02:00
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 ) ;
2020-06-26 15:33:47 +02:00
case 29 :
_context . next = 12 ;
2019-09-19 17:19:18 +02:00
break ;
2020-06-26 15:33:47 +02:00
case 31 :
_context . next = 36 ;
2019-09-19 17:19:18 +02:00
break ;
2020-06-26 15:33:47 +02:00
case 33 :
_context . prev = 33 ;
_context . t0 = _context [ "catch" ] ( 10 ) ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
_iterator . e ( _context . t0 ) ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
case 36 :
_context . prev = 36 ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
_iterator . f ( ) ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
return _context . finish ( 36 ) ;
2019-09-19 17:19:18 +02:00
2020-06-26 15:33:47 +02:00
case 39 :
2019-09-19 17:19:18 +02:00
idx = 0 ;
2020-06-26 15:33:47 +02:00
case 40 :
2019-09-19 17:19:18 +02:00
if ( ! ( idx < validFiles . length ) ) {
2020-06-26 15:33:47 +02:00
_context . next = 59 ;
2019-09-19 17:19:18 +02:00
break ;
}
mediaFile = validFiles [ idx ] ;
2020-06-26 15:33:47 +02:00
_context . prev = 42 ;
_context . next = 45 ;
2019-09-19 17:19:18 +02:00
return createMediaFromFile ( mediaFile , additionalData ) ;
2020-06-26 15:33:47 +02:00
case 45 :
2019-09-19 17:19:18 +02:00
savedMedia = _context . sent ;
2020-02-06 22:03:31 +01:00
mediaObject = _objectSpread ( { } , Object ( external _this _lodash _ [ "omit" ] ) ( savedMedia , [ 'alt_text' , 'source_url' ] ) , {
2019-09-19 17:19:18 +02:00
alt : savedMedia . alt _text ,
2020-01-03 14:17:24 +01:00
caption : Object ( external _this _lodash _ [ "get" ] ) ( savedMedia , [ 'caption' , 'raw' ] , '' ) ,
2019-09-19 17:19:18 +02:00
title : savedMedia . title . raw ,
url : savedMedia . source _url
} ) ;
setAndUpdateFiles ( idx , mediaObject ) ;
2020-06-26 15:33:47 +02:00
_context . next = 56 ;
2019-09-19 17:19:18 +02:00
break ;
2020-06-26 15:33:47 +02:00
case 50 :
_context . prev = 50 ;
_context . t1 = _context [ "catch" ] ( 42 ) ;
2019-09-19 17:19:18 +02:00
// Reset to empty on failure.
setAndUpdateFiles ( idx , null ) ;
message = void 0 ;
2020-01-03 14:17:24 +01:00
if ( Object ( external _this _lodash _ [ "has" ] ) ( _context . t1 , [ 'message' ] ) ) {
message = Object ( external _this _lodash _ [ "get" ] ) ( _context . t1 , [ 'message' ] ) ;
2019-09-19 17:19:18 +02:00
} 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
} ) ;
2020-06-26 15:33:47 +02:00
case 56 :
2019-09-19 17:19:18 +02:00
++ idx ;
2020-06-26 15:33:47 +02:00
_context . next = 40 ;
2019-09-19 17:19:18 +02:00
break ;
2020-06-26 15:33:47 +02:00
case 59 :
2019-09-19 17:19:18 +02:00
case "end" :
return _context . stop ( ) ;
}
}
2020-06-26 15:33:47 +02:00
} , _callee , null , [ [ 10 , 33 , 36 , 39 ] , [ 42 , 50 ] ] ) ;
2019-09-19 17:19:18 +02:00
} ) ) ;
return _uploadMedia . apply ( this , arguments ) ;
}
function createMediaFromFile ( file , additionalData ) {
// Create upload payload
var data = new window . FormData ( ) ;
data . append ( 'file' , file , file . name || file . type . replace ( '/' , '.' ) ) ;
2020-01-03 14:17:24 +01:00
Object ( external _this _lodash _ [ "forEach" ] ) ( additionalData , function ( value , key ) {
2019-09-19 17:19:18 +02:00
return data . append ( key , value ) ;
} ) ;
return external _this _wp _apiFetch _default ( ) ( {
path : '/wp/v2/media' ,
body : data ,
method : 'POST'
} ) ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/utils/index.js
// CONCATENATED MODULE: ./node_modules/@wordpress/media-utils/build-module/index.js
/* concated harmony reexport MediaUpload */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "MediaUpload" , function ( ) { return media _upload ; } ) ;
/* concated harmony reexport uploadMedia */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "uploadMedia" , function ( ) { return uploadMedia ; } ) ;
2019-10-15 17:37:08 +02:00
/***/ } ) ,
2020-06-26 15:33:47 +02:00
/***/ 46 :
2019-09-19 17:19:18 +02:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"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 ;
}
if ( info . done ) {
resolve ( value ) ;
} else {
Promise . resolve ( value ) . then ( _next , _throw ) ;
}
}
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 ) ;
}
function _throw ( err ) {
asyncGeneratorStep ( gen , resolve , reject , _next , _throw , "throw" , err ) ;
}
_next ( undefined ) ;
} ) ;
} ;
}
/***/ } ) ,
2020-02-06 22:03:31 +01:00
/***/ 5 :
2019-09-19 17:19:18 +02:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
2020-02-06 22:03:31 +01:00
/* 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
2019-09-19 17:19:18 +02:00
} ) ;
2020-02-06 22:03:31 +01:00
} else {
obj [ key ] = value ;
2019-09-19 17:19:18 +02:00
}
2020-02-06 22:03:31 +01:00
return obj ;
2019-09-19 17:19:18 +02:00
}
/***/ } )
/******/ } ) ;