/******/ (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] = {
/******/ // 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));
/******/ // 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);
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 0);
/************************************************************************/
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(1);
/***/ (function(module, exports, __webpack_require__) {
* @output wp-includes/js/media-audiovideo.js
baseSettings = window._wpmejsSettings || {},
l10n = window._wpMediaViewsL10n || {};
* Defines the wp.media.mixin object.
mejsSettings: baseSettings,
* Pauses and removes all players.
removeAllPlayers: function() {
if ( window.mejs && window.mejs.players ) {
for ( p in window.mejs.players ) {
window.mejs.players[p].pause();
this.removePlayer( window.mejs.players[p] );
* Override the MediaElement method for removing a player.
* MediaElement tries to pull the audio/video tag out of
* its container and re-add it to the DOM.
removePlayer: function(t) {
var featureIndex, feature;
// Invoke features cleanup.
for ( featureIndex in t.options.features ) {
feature = t.options.features[featureIndex];
if ( t['clean' + feature] ) {
if ( 'html5' !== t.media.rendererName ) {
delete window.mejs.players[t.id];
t.globalUnbind('resize', t.globalResizeCallback);
t.globalUnbind('keydown', t.globalKeydownCallback);
t.globalUnbind('click', t.globalClickCallback);
* Removes and resets all players.
* Allows any class that has set 'player' to a MediaElementPlayer
* instance to remove the player when listening to events.
* Examples: modal closes, shortcode properties are removed, etc.
unsetPlayers : function() {
if ( this.players && this.players.length ) {
_.each( this.players, function (player) {
wp.media.mixin.removePlayer( player );
* Shortcode modeling for playlists.
wp.media.playlist = new wp.media.collection({
editTitle : l10n.editPlaylistTitle,
id: wp.media.view.settings.post.id,
* Shortcode modeling for audio.
* `edit()` prepares the shortcode for the media modal.
* `shortcode()` builds the new shortcode after an update.
coerce : wp.media.coerce,
id : wp.media.view.settings.post.id,
* Instantiates a new media object with the next matching shortcode.
* @param {string} data The text to apply the shortcode on.
* @return {wp.media} The media object.
edit : function( data ) {
var frame, shortcode = wp.shortcode.next( 'audio', data ).shortcode;
metadata: _.defaults( shortcode.attrs.named, this.defaults )
* Generates an audio shortcode.
* @param {Array} model Array with attributes for the shortcode.
* @return {wp.shortcode} The audio shortcode object.
shortcode : function( model ) {
_.each( this.defaults, function( value, key ) {
model[ key ] = this.coerce( model, key );
if ( value === model[ key ] ) {
return new wp.shortcode({
* Shortcode modeling for video.
* `edit()` prepares the shortcode for the media modal.
* `shortcode()` builds the new shortcode after update.
coerce : wp.media.coerce,
id : wp.media.view.settings.post.id,
* Instantiates a new media object with the next matching shortcode.
* @param {string} data The text to apply the shortcode on.
* @return {wp.media} The media object.
edit : function( data ) {
shortcode = wp.shortcode.next( 'video', data ).shortcode,
attrs = shortcode.attrs.named;
attrs.content = shortcode.content;
metadata: _.defaults( attrs, this.defaults )
* Generates an video shortcode.
* @param {Array} model Array with attributes for the shortcode.
* @return {wp.shortcode} The video shortcode object.
shortcode : function( model ) {
_.each( this.defaults, function( value, key ) {
model[ key ] = this.coerce( model, key );
if ( value === model[ key ] ) {
return new wp.shortcode({
media.model.PostMedia = __webpack_require__( 2 );
media.controller.AudioDetails = __webpack_require__( 3 );
media.controller.VideoDetails = __webpack_require__( 4 );
media.view.MediaFrame.MediaDetails = __webpack_require__( 5 );
media.view.MediaFrame.AudioDetails = __webpack_require__( 6 );
media.view.MediaFrame.VideoDetails = __webpack_require__( 7 );
media.view.MediaDetails = __webpack_require__( 8 );
media.view.AudioDetails = __webpack_require__( 9 );
media.view.VideoDetails = __webpack_require__( 10 );
/***/ (function(module, exports) {
* wp.media.model.PostMedia
* Shared model class for audio and video. Updates the model after
* "Add Audio|Video Source" and "Replace Audio|Video" states return
* @memberOf wp.media.model
* @augments Backbone.Model
var PostMedia = Backbone.Model.extend(/** @lends wp.media.model.PostMedia.prototype */{
setSource: function( attachment ) {
this.attachment = attachment;
this.extension = attachment.get( 'filename' ).split('.').pop();
if ( this.get( 'src' ) && this.extension === this.get( 'src' ).split('.').pop() ) {
if ( _.contains( wp.media.view.settings.embedExts, this.extension ) ) {
this.set( this.extension, this.attachment.get( 'url' ) );
this.unset( this.extension );
changeAttachment: function( attachment ) {
this.setSource( attachment );
_.each( _.without( wp.media.view.settings.embedExts, this.extension ), function( ext ) {
module.exports = PostMedia;
/***/ (function(module, exports) {
var State = wp.media.controller.State,
l10n = wp.media.view.l10n,
* wp.media.controller.AudioDetails
* The controller for the Audio Details state
* @memberOf wp.media.controller
* @augments wp.media.controller.State
* @augments Backbone.Model
AudioDetails = State.extend(/** @lends wp.media.controller.AudioDetails.prototype */{
toolbar: 'audio-details',
title: l10n.audioDetailsTitle,
content: 'audio-details',
initialize: function( options ) {
this.media = options.media;
State.prototype.initialize.apply( this, arguments );
module.exports = AudioDetails;
/***/ (function(module, exports) {
* wp.media.controller.VideoDetails
* The controller for the Video Details state
* @memberOf wp.media.controller
* @augments wp.media.controller.State
* @augments Backbone.Model
var State = wp.media.controller.State,
l10n = wp.media.view.l10n,
VideoDetails = State.extend(/** @lends wp.media.controller.VideoDetails.prototype */{
toolbar: 'video-details',
title: l10n.videoDetailsTitle,
content: 'video-details',