@vimeo/player
Advanced tools
Comparing version 2.10.0 to 2.11.0
@@ -1,2 +0,2 @@ | ||
/*! @vimeo/player v2.10.0 | (c) 2019 Vimeo | MIT License | https://github.com/vimeo/player.js */ | ||
/*! @vimeo/player v2.11.0 | (c) 2020 Vimeo | MIT License | https://github.com/vimeo/player.js */ | ||
function _classCallCheck(instance, Constructor) { | ||
@@ -123,3 +123,3 @@ if (!(instance instanceof Constructor)) { | ||
var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; | ||
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; | ||
@@ -131,5 +131,5 @@ function createCommonjsModule(fn, module) { | ||
/*! | ||
* weakmap-polyfill v2.0.0 - ECMAScript6 WeakMap polyfill | ||
* weakmap-polyfill v2.0.1 - ECMAScript6 WeakMap polyfill | ||
* https://github.com/polygonplanet/weakmap-polyfill | ||
* Copyright (c) 2015-2016 polygon planet <polygon.planet.aqua@gmail.com> | ||
* Copyright (c) 2015-2020 Polygon Planet <polygon.planet.aqua@gmail.com> | ||
* @license MIT | ||
@@ -272,3 +272,3 @@ */ | ||
if (module.exports) { | ||
if ( module.exports) { | ||
module.exports = context[name]; | ||
@@ -908,7 +908,3 @@ } | ||
if (window.addEventListener) { | ||
window.addEventListener('message', onMessage, false); | ||
} else if (window.attachEvent) { | ||
window.attachEvent('onmessage', onMessage); | ||
} | ||
window.addEventListener('message', onMessage); | ||
} | ||
@@ -1056,5 +1052,4 @@ | ||
throw new TypeError('You must pass either a valid element or a valid id.'); | ||
} | ||
} // Already initialized an embed in this div, so grab the iframe | ||
var win = element.ownerDocument.defaultView; // Already initialized an embed in this div, so grab the iframe | ||
@@ -1079,6 +1074,7 @@ if (element.nodeName !== 'IFRAME') { | ||
this._window = element.ownerDocument.defaultView; | ||
this.element = element; | ||
this.origin = '*'; | ||
var readyPromise = new npo_src(function (resolve, reject) { | ||
var onMessage = function onMessage(event) { | ||
_this._onMessage = function (event) { | ||
if (!isVimeoUrl(event.origin) || _this.element.contentWindow !== event.source) { | ||
@@ -1116,7 +1112,3 @@ return; | ||
if (win.addEventListener) { | ||
win.addEventListener('message', onMessage, false); | ||
} else if (win.attachEvent) { | ||
win.attachEvent('onmessage', onMessage); | ||
} | ||
_this._window.addEventListener('message', _this._onMessage); | ||
@@ -1543,2 +1535,4 @@ if (_this.element.nodeName !== 'IFRAME') { | ||
_this5._window.removeEventListener('message', _this5._onMessage); | ||
resolve(); | ||
@@ -1612,2 +1606,47 @@ }); | ||
/** | ||
* A representation of a chapter. | ||
* | ||
* @typedef {Object} VimeoChapter | ||
* @property {number} startTime The start time of the chapter. | ||
* @property {object} title The title of the chapter. | ||
* @property {number} index The place in the order of Chapters. Starts at 1. | ||
*/ | ||
/** | ||
* A promise to get chapters for the video. | ||
* | ||
* @promise GetChaptersPromise | ||
* @fulfill {VimeoChapter[]} The chapters for the video. | ||
*/ | ||
/** | ||
* Get an array of all the chapters for the video. | ||
* | ||
* @return {GetChaptersPromise} | ||
*/ | ||
}, { | ||
key: "getChapters", | ||
value: function getChapters() { | ||
return this.get('chapters'); | ||
} | ||
/** | ||
* A promise to get the currently active chapter. | ||
* | ||
* @promise GetCurrentChaptersPromise | ||
* @fulfill {VimeoChapter|undefined} The current chapter for the video. | ||
*/ | ||
/** | ||
* Get the currently active chapter for the video. | ||
* | ||
* @return {GetCurrentChaptersPromise} | ||
*/ | ||
}, { | ||
key: "getCurrentChapter", | ||
value: function getCurrentChapter() { | ||
return this.get('currentChapter'); | ||
} | ||
/** | ||
* A promise to get the color of the player. | ||
@@ -1614,0 +1653,0 @@ * |
@@ -1,2 +0,2 @@ | ||
/*! @vimeo/player v2.10.0 | (c) 2019 Vimeo | MIT License | https://github.com/vimeo/player.js */ | ||
/*! @vimeo/player v2.11.0 | (c) 2020 Vimeo | MIT License | https://github.com/vimeo/player.js */ | ||
(function (global, factory) { | ||
@@ -6,3 +6,3 @@ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : | ||
(global = global || self, (global.Vimeo = global.Vimeo || {}, global.Vimeo.Player = factory())); | ||
}(this, function () { 'use strict'; | ||
}(this, (function () { 'use strict'; | ||
@@ -130,3 +130,3 @@ function _classCallCheck(instance, Constructor) { | ||
var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; | ||
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; | ||
@@ -138,5 +138,5 @@ function createCommonjsModule(fn, module) { | ||
/*! | ||
* weakmap-polyfill v2.0.0 - ECMAScript6 WeakMap polyfill | ||
* weakmap-polyfill v2.0.1 - ECMAScript6 WeakMap polyfill | ||
* https://github.com/polygonplanet/weakmap-polyfill | ||
* Copyright (c) 2015-2016 polygon planet <polygon.planet.aqua@gmail.com> | ||
* Copyright (c) 2015-2020 Polygon Planet <polygon.planet.aqua@gmail.com> | ||
* @license MIT | ||
@@ -279,3 +279,3 @@ */ | ||
if (module.exports) { | ||
if ( module.exports) { | ||
module.exports = context[name]; | ||
@@ -915,7 +915,3 @@ } | ||
if (window.addEventListener) { | ||
window.addEventListener('message', onMessage, false); | ||
} else if (window.attachEvent) { | ||
window.attachEvent('onmessage', onMessage); | ||
} | ||
window.addEventListener('message', onMessage); | ||
} | ||
@@ -1063,5 +1059,4 @@ | ||
throw new TypeError('You must pass either a valid element or a valid id.'); | ||
} | ||
} // Already initialized an embed in this div, so grab the iframe | ||
var win = element.ownerDocument.defaultView; // Already initialized an embed in this div, so grab the iframe | ||
@@ -1086,6 +1081,7 @@ if (element.nodeName !== 'IFRAME') { | ||
this._window = element.ownerDocument.defaultView; | ||
this.element = element; | ||
this.origin = '*'; | ||
var readyPromise = new npo_src(function (resolve, reject) { | ||
var onMessage = function onMessage(event) { | ||
_this._onMessage = function (event) { | ||
if (!isVimeoUrl(event.origin) || _this.element.contentWindow !== event.source) { | ||
@@ -1123,7 +1119,3 @@ return; | ||
if (win.addEventListener) { | ||
win.addEventListener('message', onMessage, false); | ||
} else if (win.attachEvent) { | ||
win.attachEvent('onmessage', onMessage); | ||
} | ||
_this._window.addEventListener('message', _this._onMessage); | ||
@@ -1550,2 +1542,4 @@ if (_this.element.nodeName !== 'IFRAME') { | ||
_this5._window.removeEventListener('message', _this5._onMessage); | ||
resolve(); | ||
@@ -1619,2 +1613,47 @@ }); | ||
/** | ||
* A representation of a chapter. | ||
* | ||
* @typedef {Object} VimeoChapter | ||
* @property {number} startTime The start time of the chapter. | ||
* @property {object} title The title of the chapter. | ||
* @property {number} index The place in the order of Chapters. Starts at 1. | ||
*/ | ||
/** | ||
* A promise to get chapters for the video. | ||
* | ||
* @promise GetChaptersPromise | ||
* @fulfill {VimeoChapter[]} The chapters for the video. | ||
*/ | ||
/** | ||
* Get an array of all the chapters for the video. | ||
* | ||
* @return {GetChaptersPromise} | ||
*/ | ||
}, { | ||
key: "getChapters", | ||
value: function getChapters() { | ||
return this.get('chapters'); | ||
} | ||
/** | ||
* A promise to get the currently active chapter. | ||
* | ||
* @promise GetCurrentChaptersPromise | ||
* @fulfill {VimeoChapter|undefined} The current chapter for the video. | ||
*/ | ||
/** | ||
* Get the currently active chapter for the video. | ||
* | ||
* @return {GetCurrentChaptersPromise} | ||
*/ | ||
}, { | ||
key: "getCurrentChapter", | ||
value: function getCurrentChapter() { | ||
return this.get('currentChapter'); | ||
} | ||
/** | ||
* A promise to get the color of the player. | ||
@@ -2152,4 +2191,4 @@ * | ||
})); | ||
}))); | ||
//# sourceMappingURL=player.js.map |
@@ -1,2 +0,2 @@ | ||
/*! @vimeo/player v2.10.0 | (c) 2019 Vimeo | MIT License | https://github.com/vimeo/player.js */ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((e=e||self).Vimeo=e.Vimeo||{},e.Vimeo.Player=t())}(this,function(){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var e="undefined"!=typeof global&&"[object global]"==={}.toString.call(global);function i(e,t){return 0===e.indexOf(t.toLowerCase())?e:"".concat(t.toLowerCase()).concat(e.substr(0,1).toUpperCase()).concat(e.substr(1))}function s(e){return/^(https?:)?\/\/((player|www)\.)?vimeo\.com(?=$|\/)/.test(e)}function l(){var e,t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},n=t.id,r=t.url,o=n||r;if(!o)throw new Error("An id or url must be passed, either in an options object or as a data-vimeo-id or data-vimeo-url attribute.");if(e=o,!isNaN(parseFloat(e))&&isFinite(e)&&Math.floor(e)==e)return"https://vimeo.com/".concat(o);if(s(o))return o.replace("http:","https:");if(n)throw new TypeError("“".concat(n,"” is not a valid video id."));throw new TypeError("“".concat(o,"” is not a vimeo.com url."))}var t=void 0!==Array.prototype.indexOf,n="undefined"!=typeof window&&void 0!==window.postMessage;if(!(e||t&&n))throw new Error("Sorry, the Vimeo Player API is not available in this browser.");var o="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};!function(e){if(!e.WeakMap){var n=Object.prototype.hasOwnProperty,o=function(e,t,n){Object.defineProperty?Object.defineProperty(e,t,{configurable:!0,writable:!0,value:n}):e[t]=n};e.WeakMap=function(){function e(){if(void 0===this)throw new TypeError("Constructor WeakMap requires 'new'");if(o(this,"_id","_WeakMap"+"_"+t()+"."+t()),0<arguments.length)throw new TypeError("WeakMap iterable is not supported")}function r(e,t){if(!i(e)||!n.call(e,"_id"))throw new TypeError(t+" method called on incompatible receiver "+typeof e)}function t(){return Math.random().toString().substring(2)}return o(e.prototype,"delete",function(e){if(r(this,"delete"),!i(e))return!1;var t=e[this._id];return!(!t||t[0]!==e)&&(delete e[this._id],!0)}),o(e.prototype,"get",function(e){if(r(this,"get"),i(e)){var t=e[this._id];return t&&t[0]===e?t[1]:void 0}}),o(e.prototype,"has",function(e){if(r(this,"has"),!i(e))return!1;var t=e[this._id];return!(!t||t[0]!==e)}),o(e.prototype,"set",function(e,t){if(r(this,"set"),!i(e))throw new TypeError("Invalid value used as weak map key");var n=e[this._id];return n&&n[0]===e?n[1]=t:o(e,this._id,[e,t]),this}),o(e,"_polyfill",!0),e}()}function i(e){return Object(e)===e}}("undefined"!=typeof self?self:"undefined"!=typeof window?window:o);var a,f=(function(e){var t,n,r;r=function(){var t,a,n,e=Object.prototype.toString,r="undefined"!=typeof setImmediate?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),t=function(e,t,n,r){return Object.defineProperty(e,t,{value:n,writable:!0,configurable:!1!==r})}}catch(e){t=function(e,t,n){return e[t]=n,e}}function i(e,t){n.add(e,t),a||(a=r(n.drain))}function u(e){var t,n=typeof e;return null==e||"object"!=n&&"function"!=n||(t=e.then),"function"==typeof t&&t}function c(){for(var e=0;e<this.chain.length;e++)o(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function o(e,t,n){var r,o;try{!1===t?n.reject(e.msg):(r=!0===t?e.msg:t.call(void 0,e.msg))===n.promise?n.reject(TypeError("Promise-chain cycle")):(o=u(r))?o.call(r,n.resolve,n.reject):n.resolve(r)}catch(e){n.reject(e)}}function s(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,0<t.chain.length&&i(c,t))}function l(e,n,r,o){for(var t=0;t<n.length;t++)!function(t){e.resolve(n[t]).then(function(e){r(t,e)},o)}(t)}function f(e){this.def=e,this.triggered=!1}function d(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function h(e){if("function"!=typeof e)throw TypeError("Not a function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var r=new d(this);this.then=function(e,t){var n={success:"function"!=typeof e||e,failure:"function"==typeof t&&t};return n.promise=new this.constructor(function(e,t){if("function"!=typeof e||"function"!=typeof t)throw TypeError("Not a function");n.resolve=e,n.reject=t}),r.chain.push(n),0!==r.state&&i(c,r),n.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,function(e){(function e(n){var r,o=this;if(!o.triggered){o.triggered=!0,o.def&&(o=o.def);try{(r=u(n))?i(function(){var t=new f(o);try{r.call(n,function(){e.apply(t,arguments)},function(){s.apply(t,arguments)})}catch(e){s.call(t,e)}}):(o.msg=n,o.state=1,0<o.chain.length&&i(c,o))}catch(e){s.call(new f(o),e)}}}).call(r,e)},function(e){s.call(r,e)})}catch(e){s.call(r,e)}}n=function(){var n,r,o;function i(e,t){this.fn=e,this.self=t,this.next=void 0}return{add:function(e,t){o=new i(e,t),r?r.next=o:n=o,r=o,o=void 0},drain:function(){var e=n;for(n=r=a=void 0;e;)e.fn.call(e.self),e=e.next}}}();var v=t({},"constructor",h,!1);return t(h.prototype=v,"__NPO__",0,!1),t(h,"resolve",function(n){return n&&"object"==typeof n&&1===n.__NPO__?n:new this(function(e,t){if("function"!=typeof e||"function"!=typeof t)throw TypeError("Not a function");e(n)})}),t(h,"reject",function(n){return new this(function(e,t){if("function"!=typeof e||"function"!=typeof t)throw TypeError("Not a function");t(n)})}),t(h,"all",function(t){var a=this;return"[object Array]"!=e.call(t)?a.reject(TypeError("Not an array")):0===t.length?a.resolve([]):new a(function(n,e){if("function"!=typeof n||"function"!=typeof e)throw TypeError("Not a function");var r=t.length,o=Array(r),i=0;l(a,t,function(e,t){o[e]=t,++i===r&&n(o)},e)})}),t(h,"race",function(t){var r=this;return"[object Array]"!=e.call(t)?r.reject(TypeError("Not an array")):new r(function(n,e){if("function"!=typeof n||"function"!=typeof e)throw TypeError("Not a function");l(r,t,function(e,t){n(t)},e)})}),h},(n=o)[t="Promise"]=n[t]||r(),e.exports&&(e.exports=n[t])}(a={exports:{}},a.exports),a.exports),d=new WeakMap;function u(e,t,n){var r=d.get(e.element)||{};t in r||(r[t]=[]),r[t].push(n),d.set(e.element,r)}function c(e,t){return(d.get(e.element)||{})[t]||[]}function h(e,t,n){var r=d.get(e.element)||{};if(!r[t])return!0;if(!n)return r[t]=[],d.set(e.element,r),!0;var o=r[t].indexOf(n);return-1!==o&&r[t].splice(o,1),d.set(e.element,r),r[t]&&0===r[t].length}var v=["autopause","autoplay","background","byline","color","controls","dnt","height","id","loop","maxheight","maxwidth","muted","playsinline","portrait","responsive","speed","texttrack","title","transparent","url","width"];function p(r){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return v.reduce(function(e,t){var n=r.getAttribute("data-vimeo-".concat(t));return(n||""===n)&&(e[t]=""===n?1:n),e},e)}function y(e,t){var n=e.html;if(!t)throw new TypeError("An element must be provided");if(null!==t.getAttribute("data-vimeo-initialized"))return t.querySelector("iframe");var r=document.createElement("div");return r.innerHTML=n,t.appendChild(r.firstChild),t.setAttribute("data-vimeo-initialized","true"),t.querySelector("iframe")}function m(i){var a=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},u=2<arguments.length?arguments[2]:void 0;return new Promise(function(t,n){if(!s(i))throw new TypeError("“".concat(i,"” is not a vimeo.com url."));var e="https://vimeo.com/api/oembed.json?url=".concat(encodeURIComponent(i));for(var r in a)a.hasOwnProperty(r)&&(e+="&".concat(r,"=").concat(encodeURIComponent(a[r])));var o="XDomainRequest"in window?new XDomainRequest:new XMLHttpRequest;o.open("GET",e,!0),o.onload=function(){if(404!==o.status)if(403!==o.status)try{var e=JSON.parse(o.responseText);if(403===e.domain_status_code)return y(e,u),void n(new Error("“".concat(i,"” is not embeddable.")));t(e)}catch(e){n(e)}else n(new Error("“".concat(i,"” is not embeddable.")));else n(new Error("“".concat(i,"” was not found.")))},o.onerror=function(){var e=o.status?" (".concat(o.status,")"):"";n(new Error("There was an error fetching the embed code from Vimeo".concat(e,".")))},o.send()})}function g(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){return console.warn(e),{}}return e}function w(e,t,n){if(e.element.contentWindow&&e.element.contentWindow.postMessage){var r={method:t};void 0!==n&&(r.value=n);var o=parseFloat(navigator.userAgent.toLowerCase().replace(/^.*msie (\d+).*$/,"$1"));8<=o&&o<10&&(r=JSON.stringify(r)),e.element.contentWindow.postMessage(r,e.origin)}}function b(n,r){var t,e=[];if((r=g(r)).event){if("error"===r.event)c(n,r.data.method).forEach(function(e){var t=new Error(r.data.message);t.name=r.data.name,e.reject(t),h(n,r.data.method,e)});e=c(n,"event:".concat(r.event)),t=r.data}else if(r.method){var o=function(e,t){var n=c(e,t);if(n.length<1)return!1;var r=n.shift();return h(e,t,r),r}(n,r.method);o&&(e.push(o),t=r.value)}e.forEach(function(e){try{if("function"==typeof e)return void e.call(n,t);e.resolve(t)}catch(e){}})}var k=new WeakMap,E=new WeakMap,Player=function(){function Player(u){var e,c=this,n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,Player),window.jQuery&&u instanceof jQuery&&(1<u.length&&window.console&&console.warn&&console.warn("A jQuery object with multiple elements was passed, using the first element."),u=u[0]),"undefined"!=typeof document&&"string"==typeof u&&(u=document.getElementById(u)),e=u,!Boolean(e&&1===e.nodeType&&"nodeName"in e&&e.ownerDocument&&e.ownerDocument.defaultView))throw new TypeError("You must pass either a valid element or a valid id.");var r=u.ownerDocument.defaultView;if("IFRAME"!==u.nodeName){var t=u.querySelector("iframe");t&&(u=t)}if("IFRAME"===u.nodeName&&!s(u.getAttribute("src")||""))throw new Error("The player element passed isn’t a Vimeo embed.");if(k.has(u))return k.get(u);this.element=u,this.origin="*";var o=new f(function(i,a){var e=function(e){if(s(e.origin)&&c.element.contentWindow===e.source){"*"===c.origin&&(c.origin=e.origin);var t=g(e.data);if(t&&"error"===t.event&&t.data&&"ready"===t.data.method){var n=new Error(t.data.message);return n.name=t.data.name,void a(n)}var r=t&&"ready"===t.event,o=t&&"ping"===t.method;if(r||o)return c.element.setAttribute("data-ready","true"),void i();b(c,t)}};if(r.addEventListener?r.addEventListener("message",e,!1):r.attachEvent&&r.attachEvent("onmessage",e),"IFRAME"!==c.element.nodeName){var t=p(u,n);m(l(t),t,u).then(function(e){var t,n,r,o=y(e,u);return c.element=o,c._originalElement=u,t=u,n=o,r=d.get(t),d.set(n,r),d.delete(t),k.set(c.element,c),e}).catch(a)}});return E.set(this,o),k.set(this.element,this),"IFRAME"===this.element.nodeName&&w(this,"ping"),this}var e,t,n;return e=Player,(t=[{key:"callMethod",value:function(n){var r=this,o=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return new f(function(e,t){return r.ready().then(function(){u(r,n,{resolve:e,reject:t}),w(r,n,o)}).catch(t)})}},{key:"get",value:function(n){var r=this;return new f(function(e,t){return n=i(n,"get"),r.ready().then(function(){u(r,n,{resolve:e,reject:t}),w(r,n)}).catch(t)})}},{key:"set",value:function(n,r){var o=this;return new f(function(e,t){if(n=i(n,"set"),null==r)throw new TypeError("There must be a value to set.");return o.ready().then(function(){u(o,n,{resolve:e,reject:t}),w(o,n,r)}).catch(t)})}},{key:"on",value:function(e,t){if(!e)throw new TypeError("You must pass an event name.");if(!t)throw new TypeError("You must pass a callback function.");if("function"!=typeof t)throw new TypeError("The callback must be a function.");0===c(this,"event:".concat(e)).length&&this.callMethod("addEventListener",e).catch(function(){}),u(this,"event:".concat(e),t)}},{key:"off",value:function(e,t){if(!e)throw new TypeError("You must pass an event name.");if(t&&"function"!=typeof t)throw new TypeError("The callback must be a function.");h(this,"event:".concat(e),t)&&this.callMethod("removeEventListener",e).catch(function(e){})}},{key:"loadVideo",value:function(e){return this.callMethod("loadVideo",e)}},{key:"ready",value:function(){var e=E.get(this)||new f(function(e,t){t(new Error("Unknown player. Probably unloaded."))});return f.resolve(e)}},{key:"addCuePoint",value:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return this.callMethod("addCuePoint",{time:e,data:t})}},{key:"removeCuePoint",value:function(e){return this.callMethod("removeCuePoint",e)}},{key:"enableTextTrack",value:function(e,t){if(!e)throw new TypeError("You must pass a language.");return this.callMethod("enableTextTrack",{language:e,kind:t})}},{key:"disableTextTrack",value:function(){return this.callMethod("disableTextTrack")}},{key:"pause",value:function(){return this.callMethod("pause")}},{key:"play",value:function(){return this.callMethod("play")}},{key:"unload",value:function(){return this.callMethod("unload")}},{key:"destroy",value:function(){var t=this;return new f(function(e){E.delete(t),k.delete(t.element),t._originalElement&&(k.delete(t._originalElement),t._originalElement.removeAttribute("data-vimeo-initialized")),t.element&&"IFRAME"===t.element.nodeName&&t.element.parentNode&&t.element.parentNode.removeChild(t.element),e()})}},{key:"getAutopause",value:function(){return this.get("autopause")}},{key:"setAutopause",value:function(e){return this.set("autopause",e)}},{key:"getBuffered",value:function(){return this.get("buffered")}},{key:"getColor",value:function(){return this.get("color")}},{key:"setColor",value:function(e){return this.set("color",e)}},{key:"getCuePoints",value:function(){return this.get("cuePoints")}},{key:"getCurrentTime",value:function(){return this.get("currentTime")}},{key:"setCurrentTime",value:function(e){return this.set("currentTime",e)}},{key:"getDuration",value:function(){return this.get("duration")}},{key:"getEnded",value:function(){return this.get("ended")}},{key:"getLoop",value:function(){return this.get("loop")}},{key:"setLoop",value:function(e){return this.set("loop",e)}},{key:"setMuted",value:function(e){return this.set("muted",e)}},{key:"getMuted",value:function(){return this.get("muted")}},{key:"getPaused",value:function(){return this.get("paused")}},{key:"getPlaybackRate",value:function(){return this.get("playbackRate")}},{key:"setPlaybackRate",value:function(e){return this.set("playbackRate",e)}},{key:"getPlayed",value:function(){return this.get("played")}},{key:"getSeekable",value:function(){return this.get("seekable")}},{key:"getSeeking",value:function(){return this.get("seeking")}},{key:"getTextTracks",value:function(){return this.get("textTracks")}},{key:"getVideoEmbedCode",value:function(){return this.get("videoEmbedCode")}},{key:"getVideoId",value:function(){return this.get("videoId")}},{key:"getVideoTitle",value:function(){return this.get("videoTitle")}},{key:"getVideoWidth",value:function(){return this.get("videoWidth")}},{key:"getVideoHeight",value:function(){return this.get("videoHeight")}},{key:"getVideoUrl",value:function(){return this.get("videoUrl")}},{key:"getVolume",value:function(){return this.get("volume")}},{key:"setVolume",value:function(e){return this.set("volume",e)}}])&&r(e.prototype,t),n&&r(e,n),Player}();return e||(function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:document,t=[].slice.call(e.querySelectorAll("[data-vimeo-id], [data-vimeo-url]")),n=function(e){"console"in window&&console.error&&console.error("There was an error creating an embed: ".concat(e))};t.forEach(function(t){try{if(null!==t.getAttribute("data-vimeo-defer"))return;var e=p(t);m(l(e),e,t).then(function(e){return y(e,t)}).catch(n)}catch(e){n(e)}})}(),function(){var r=0<arguments.length&&void 0!==arguments[0]?arguments[0]:document;if(!window.VimeoPlayerResizeEmbeds_){window.VimeoPlayerResizeEmbeds_=!0;var e=function(e){if(s(e.origin)&&e.data&&"spacechange"===e.data.event)for(var t=r.querySelectorAll("iframe"),n=0;n<t.length;n++)if(t[n].contentWindow===e.source){t[n].parentElement.style.paddingBottom="".concat(e.data.data[0].bottom,"px");break}};window.addEventListener?window.addEventListener("message",e,!1):window.attachEvent&&window.attachEvent("onmessage",e)}}()),Player}); | ||
/*! @vimeo/player v2.11.0 | (c) 2020 Vimeo | MIT License | https://github.com/vimeo/player.js */ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((e=e||self).Vimeo=e.Vimeo||{},e.Vimeo.Player=t())}(this,function(){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var e="undefined"!=typeof global&&"[object global]"==={}.toString.call(global);function i(e,t){return 0===e.indexOf(t.toLowerCase())?e:"".concat(t.toLowerCase()).concat(e.substr(0,1).toUpperCase()).concat(e.substr(1))}function s(e){return/^(https?:)?\/\/((player|www)\.)?vimeo\.com(?=$|\/)/.test(e)}function o(e){var t,n=0<arguments.length&&void 0!==e?e:{},r=n.id,o=n.url,i=r||o;if(!i)throw new Error("An id or url must be passed, either in an options object or as a data-vimeo-id or data-vimeo-url attribute.");if(t=i,!isNaN(parseFloat(t))&&isFinite(t)&&Math.floor(t)==t)return"https://vimeo.com/".concat(i);if(s(i))return i.replace("http:","https:");if(r)throw new TypeError("“".concat(r,"” is not a valid video id."));throw new TypeError("“".concat(i,"” is not a vimeo.com url."))}var t=void 0!==Array.prototype.indexOf,n="undefined"!=typeof window&&void 0!==window.postMessage;if(!(e||t&&n))throw new Error("Sorry, the Vimeo Player API is not available in this browser.");var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};!function(e){if(!e.WeakMap){var n=Object.prototype.hasOwnProperty,r=function(e,t,n){Object.defineProperty?Object.defineProperty(e,t,{configurable:!0,writable:!0,value:n}):e[t]=n};e.WeakMap=(r(t.prototype,"delete",function(e){if(o(this,"delete"),!a(e))return!1;var t=e[this._id];return!(!t||t[0]!==e||(delete e[this._id],0))}),r(t.prototype,"get",function(e){if(o(this,"get"),a(e)){var t=e[this._id];return t&&t[0]===e?t[1]:void 0}}),r(t.prototype,"has",function(e){if(o(this,"has"),!a(e))return!1;var t=e[this._id];return!(!t||t[0]!==e)}),r(t.prototype,"set",function(e,t){if(o(this,"set"),!a(e))throw new TypeError("Invalid value used as weak map key");var n=e[this._id];return n&&n[0]===e?n[1]=t:r(e,this._id,[e,t]),this}),r(t,"_polyfill",!0),t)}function t(){if(void 0===this)throw new TypeError("Constructor WeakMap requires 'new'");if(r(this,"_id","_WeakMap"+"_"+i()+"."+i()),0<arguments.length)throw new TypeError("WeakMap iterable is not supported")}function o(e,t){if(!a(e)||!n.call(e,"_id"))throw new TypeError(t+" method called on incompatible receiver "+typeof e)}function i(){return Math.random().toString().substring(2)}function a(e){return Object(e)===e}}("undefined"!=typeof self?self:"undefined"!=typeof window?window:a);var u,l=(function(e){var t,n,r;r=function(){var t,n,r,o,i,a,e=Object.prototype.toString,u="undefined"!=typeof setImmediate?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),t=function(e,t,n,r){return Object.defineProperty(e,t,{value:n,writable:!0,configurable:!1!==r})}}catch(e){t=function(e,t,n){return e[t]=n,e}}function c(e,t){this.fn=e,this.self=t,this.next=void 0}function s(e,t){r.add(e,t),n=n||u(r.drain)}function l(e){var t,n=typeof e;return null==e||"object"!=n&&"function"!=n||(t=e.then),"function"==typeof t&&t}function f(){for(var e=0;e<this.chain.length;e++)d(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function d(e,t,n){var r,o;try{!1===t?n.reject(e.msg):(r=!0===t?e.msg:t.call(void 0,e.msg))===n.promise?n.reject(TypeError("Promise-chain cycle")):(o=l(r))?o.call(r,n.resolve,n.reject):n.resolve(r)}catch(e){n.reject(e)}}function h(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,0<t.chain.length&&s(f,t))}function v(e,n,r,o){for(var t=0;t<n.length;t++)!function(t){e.resolve(n[t]).then(function(e){r(t,e)},o)}(t)}function p(e){this.def=e,this.triggered=!1}function y(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function m(e){if("function"!=typeof e)throw TypeError("Not a function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var r=new y(this);this.then=function(e,t){var n={success:"function"!=typeof e||e,failure:"function"==typeof t&&t};return n.promise=new this.constructor(function(e,t){if("function"!=typeof e||"function"!=typeof t)throw TypeError("Not a function");n.resolve=e,n.reject=t}),r.chain.push(n),0!==r.state&&s(f,r),n.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,function(e){(function e(n){var r,o=this;if(!o.triggered){o.triggered=!0,o.def&&(o=o.def);try{(r=l(n))?s(function(){var t=new p(o);try{r.call(n,function(){e.apply(t,arguments)},function(){h.apply(t,arguments)})}catch(e){h.call(t,e)}}):(o.msg=n,o.state=1,0<o.chain.length&&s(f,o))}catch(e){h.call(new p(o),e)}}}).call(r,e)},function(e){h.call(r,e)})}catch(e){h.call(r,e)}}var g=t({},"constructor",m,!(r={add:function(e,t){a=new c(e,t),i?i.next=a:o=a,i=a,a=void 0},drain:function(){var e=o;for(o=i=n=void 0;e;)e.fn.call(e.self),e=e.next}}));return t(m.prototype=g,"__NPO__",0,!1),t(m,"resolve",function(n){return n&&"object"==typeof n&&1===n.__NPO__?n:new this(function(e,t){if("function"!=typeof e||"function"!=typeof t)throw TypeError("Not a function");e(n)})}),t(m,"reject",function(n){return new this(function(e,t){if("function"!=typeof e||"function"!=typeof t)throw TypeError("Not a function");t(n)})}),t(m,"all",function(t){var a=this;return"[object Array]"!=e.call(t)?a.reject(TypeError("Not an array")):0===t.length?a.resolve([]):new a(function(n,e){if("function"!=typeof n||"function"!=typeof e)throw TypeError("Not a function");var r=t.length,o=Array(r),i=0;v(a,t,function(e,t){o[e]=t,++i===r&&n(o)},e)})}),t(m,"race",function(t){var r=this;return"[object Array]"!=e.call(t)?r.reject(TypeError("Not an array")):new r(function(n,e){if("function"!=typeof n||"function"!=typeof e)throw TypeError("Not a function");v(r,t,function(e,t){n(t)},e)})}),m},(n=a)[t="Promise"]=n[t]||r(),e.exports&&(e.exports=n[t])}(u={exports:{}},u.exports),u.exports),f=new WeakMap;function c(e,t,n){var r=f.get(e.element)||{};t in r||(r[t]=[]),r[t].push(n),f.set(e.element,r)}function d(e,t){return(f.get(e.element)||{})[t]||[]}function h(e,t,n){var r=f.get(e.element)||{};if(!r[t])return!0;if(!n)return r[t]=[],f.set(e.element,r),!0;var o=r[t].indexOf(n);return-1!==o&&r[t].splice(o,1),f.set(e.element,r),r[t]&&0===r[t].length}var v=["autopause","autoplay","background","byline","color","controls","dnt","height","id","loop","maxheight","maxwidth","muted","playsinline","portrait","responsive","speed","texttrack","title","transparent","url","width"];function p(r,e){var t=1<arguments.length&&void 0!==e?e:{};return v.reduce(function(e,t){var n=r.getAttribute("data-vimeo-".concat(t));return!n&&""!==n||(e[t]=""===n?1:n),e},t)}function y(e,t){var n=e.html;if(!t)throw new TypeError("An element must be provided");if(null!==t.getAttribute("data-vimeo-initialized"))return t.querySelector("iframe");var r=document.createElement("div");return r.innerHTML=n,t.appendChild(r.firstChild),t.setAttribute("data-vimeo-initialized","true"),t.querySelector("iframe")}function m(i,e,t){var a=1<arguments.length&&void 0!==e?e:{},u=2<arguments.length?t:void 0;return new Promise(function(t,n){if(!s(i))throw new TypeError("“".concat(i,"” is not a vimeo.com url."));var e="https://vimeo.com/api/oembed.json?url=".concat(encodeURIComponent(i));for(var r in a)a.hasOwnProperty(r)&&(e+="&".concat(r,"=").concat(encodeURIComponent(a[r])));var o=new("XDomainRequest"in window?XDomainRequest:XMLHttpRequest);o.open("GET",e,!0),o.onload=function(){if(404!==o.status)if(403!==o.status)try{var e=JSON.parse(o.responseText);if(403===e.domain_status_code)return y(e,u),void n(new Error("“".concat(i,"” is not embeddable.")));t(e)}catch(e){n(e)}else n(new Error("“".concat(i,"” is not embeddable.")));else n(new Error("“".concat(i,"” was not found.")))},o.onerror=function(){var e=o.status?" (".concat(o.status,")"):"";n(new Error("There was an error fetching the embed code from Vimeo".concat(e,".")))},o.send()})}function g(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){return console.warn(e),{}}return e}function w(e,t,n){if(e.element.contentWindow&&e.element.contentWindow.postMessage){var r={method:t};void 0!==n&&(r.value=n);var o=parseFloat(navigator.userAgent.toLowerCase().replace(/^.*msie (\d+).*$/,"$1"));8<=o&&o<10&&(r=JSON.stringify(r)),e.element.contentWindow.postMessage(r,e.origin)}}function b(n,r){var t,e=[];if((r=g(r)).event){if("error"===r.event)d(n,r.data.method).forEach(function(e){var t=new Error(r.data.message);t.name=r.data.name,e.reject(t),h(n,r.data.method,e)});e=d(n,"event:".concat(r.event)),t=r.data}else if(r.method){var o=function(e,t){var n=d(e,t);if(n.length<1)return!1;var r=n.shift();return h(e,t,r),r}(n,r.method);o&&(e.push(o),t=r.value)}e.forEach(function(e){try{if("function"==typeof e)return void e.call(n,t);e.resolve(t)}catch(e){}})}var k=new WeakMap,E=new WeakMap,Player=function(){function Player(u){var e,c=this,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,Player),window.jQuery&&u instanceof jQuery&&(1<u.length&&window.console&&console.warn&&console.warn("A jQuery object with multiple elements was passed, using the first element."),u=u[0]),"undefined"!=typeof document&&"string"==typeof u&&(u=document.getElementById(u)),e=u,!Boolean(e&&1===e.nodeType&&"nodeName"in e&&e.ownerDocument&&e.ownerDocument.defaultView))throw new TypeError("You must pass either a valid element or a valid id.");if("IFRAME"!==u.nodeName){var n=u.querySelector("iframe");n&&(u=n)}if("IFRAME"===u.nodeName&&!s(u.getAttribute("src")||""))throw new Error("The player element passed isn’t a Vimeo embed.");if(k.has(u))return k.get(u);this._window=u.ownerDocument.defaultView,this.element=u,this.origin="*";var r=new l(function(i,a){if(c._onMessage=function(e){if(s(e.origin)&&c.element.contentWindow===e.source){"*"===c.origin&&(c.origin=e.origin);var t=g(e.data);if(t&&"error"===t.event&&t.data&&"ready"===t.data.method){var n=new Error(t.data.message);return n.name=t.data.name,void a(n)}var r=t&&"ready"===t.event,o=t&&"ping"===t.method;if(r||o)return c.element.setAttribute("data-ready","true"),void i();b(c,t)}},c._window.addEventListener("message",c._onMessage),"IFRAME"!==c.element.nodeName){var e=p(u,t);m(o(e),e,u).then(function(e){var t,n,r,o=y(e,u);return c.element=o,c._originalElement=u,t=u,n=o,r=f.get(t),f.set(n,r),f.delete(t),k.set(c.element,c),e}).catch(a)}});return E.set(this,r),k.set(this.element,this),"IFRAME"===this.element.nodeName&&w(this,"ping"),this}var e,t,n;return e=Player,(t=[{key:"callMethod",value:function(n,e){var r=this,o=1<arguments.length&&void 0!==e?e:{};return new l(function(e,t){return r.ready().then(function(){c(r,n,{resolve:e,reject:t}),w(r,n,o)}).catch(t)})}},{key:"get",value:function(n){var r=this;return new l(function(e,t){return n=i(n,"get"),r.ready().then(function(){c(r,n,{resolve:e,reject:t}),w(r,n)}).catch(t)})}},{key:"set",value:function(n,r){var o=this;return new l(function(e,t){if(n=i(n,"set"),null==r)throw new TypeError("There must be a value to set.");return o.ready().then(function(){c(o,n,{resolve:e,reject:t}),w(o,n,r)}).catch(t)})}},{key:"on",value:function(e,t){if(!e)throw new TypeError("You must pass an event name.");if(!t)throw new TypeError("You must pass a callback function.");if("function"!=typeof t)throw new TypeError("The callback must be a function.");0===d(this,"event:".concat(e)).length&&this.callMethod("addEventListener",e).catch(function(){}),c(this,"event:".concat(e),t)}},{key:"off",value:function(e,t){if(!e)throw new TypeError("You must pass an event name.");if(t&&"function"!=typeof t)throw new TypeError("The callback must be a function.");h(this,"event:".concat(e),t)&&this.callMethod("removeEventListener",e).catch(function(e){})}},{key:"loadVideo",value:function(e){return this.callMethod("loadVideo",e)}},{key:"ready",value:function(){var e=E.get(this)||new l(function(e,t){t(new Error("Unknown player. Probably unloaded."))});return l.resolve(e)}},{key:"addCuePoint",value:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};return this.callMethod("addCuePoint",{time:e,data:n})}},{key:"removeCuePoint",value:function(e){return this.callMethod("removeCuePoint",e)}},{key:"enableTextTrack",value:function(e,t){if(!e)throw new TypeError("You must pass a language.");return this.callMethod("enableTextTrack",{language:e,kind:t})}},{key:"disableTextTrack",value:function(){return this.callMethod("disableTextTrack")}},{key:"pause",value:function(){return this.callMethod("pause")}},{key:"play",value:function(){return this.callMethod("play")}},{key:"unload",value:function(){return this.callMethod("unload")}},{key:"destroy",value:function(){var t=this;return new l(function(e){E.delete(t),k.delete(t.element),t._originalElement&&(k.delete(t._originalElement),t._originalElement.removeAttribute("data-vimeo-initialized")),t.element&&"IFRAME"===t.element.nodeName&&t.element.parentNode&&t.element.parentNode.removeChild(t.element),t._window.removeEventListener("message",t._onMessage),e()})}},{key:"getAutopause",value:function(){return this.get("autopause")}},{key:"setAutopause",value:function(e){return this.set("autopause",e)}},{key:"getBuffered",value:function(){return this.get("buffered")}},{key:"getChapters",value:function(){return this.get("chapters")}},{key:"getCurrentChapter",value:function(){return this.get("currentChapter")}},{key:"getColor",value:function(){return this.get("color")}},{key:"setColor",value:function(e){return this.set("color",e)}},{key:"getCuePoints",value:function(){return this.get("cuePoints")}},{key:"getCurrentTime",value:function(){return this.get("currentTime")}},{key:"setCurrentTime",value:function(e){return this.set("currentTime",e)}},{key:"getDuration",value:function(){return this.get("duration")}},{key:"getEnded",value:function(){return this.get("ended")}},{key:"getLoop",value:function(){return this.get("loop")}},{key:"setLoop",value:function(e){return this.set("loop",e)}},{key:"setMuted",value:function(e){return this.set("muted",e)}},{key:"getMuted",value:function(){return this.get("muted")}},{key:"getPaused",value:function(){return this.get("paused")}},{key:"getPlaybackRate",value:function(){return this.get("playbackRate")}},{key:"setPlaybackRate",value:function(e){return this.set("playbackRate",e)}},{key:"getPlayed",value:function(){return this.get("played")}},{key:"getSeekable",value:function(){return this.get("seekable")}},{key:"getSeeking",value:function(){return this.get("seeking")}},{key:"getTextTracks",value:function(){return this.get("textTracks")}},{key:"getVideoEmbedCode",value:function(){return this.get("videoEmbedCode")}},{key:"getVideoId",value:function(){return this.get("videoId")}},{key:"getVideoTitle",value:function(){return this.get("videoTitle")}},{key:"getVideoWidth",value:function(){return this.get("videoWidth")}},{key:"getVideoHeight",value:function(){return this.get("videoHeight")}},{key:"getVideoUrl",value:function(){return this.get("videoUrl")}},{key:"getVolume",value:function(){return this.get("volume")}},{key:"setVolume",value:function(e){return this.set("volume",e)}}])&&r(e.prototype,t),n&&r(e,n),Player}();return e||(function(e){function n(e){"console"in window&&console.error&&console.error("There was an error creating an embed: ".concat(e))}var t=0<arguments.length&&void 0!==e?e:document;[].slice.call(t.querySelectorAll("[data-vimeo-id], [data-vimeo-url]")).forEach(function(t){try{if(null!==t.getAttribute("data-vimeo-defer"))return;var e=p(t);m(o(e),e,t).then(function(e){return y(e,t)}).catch(n)}catch(e){n(e)}})}(),function(e){var r=0<arguments.length&&void 0!==e?e:document;if(!window.VimeoPlayerResizeEmbeds_){window.VimeoPlayerResizeEmbeds_=!0;window.addEventListener("message",function(e){if(s(e.origin)&&e.data&&"spacechange"===e.data.event)for(var t=r.querySelectorAll("iframe"),n=0;n<t.length;n++)if(t[n].contentWindow===e.source){t[n].parentElement.style.paddingBottom="".concat(e.data.data[0].bottom,"px");break}})}}()),Player}); |
{ | ||
"name": "@vimeo/player", | ||
"version": "2.10.0", | ||
"version": "2.11.0", | ||
"description": "Interact with and control an embedded Vimeo Player.", | ||
@@ -47,38 +47,38 @@ "license": "MIT", | ||
"native-promise-only": "0.8.1", | ||
"weakmap-polyfill": "2.0.0" | ||
"weakmap-polyfill": "2.0.1" | ||
}, | ||
"devDependencies": { | ||
"@babel/core": "^7.3.3", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.3.2", | ||
"@babel/plugin-syntax-export-default-from": "^7.2.0", | ||
"@babel/plugin-transform-classes": "^7.3.3", | ||
"@babel/plugin-transform-object-assign": "^7.2.0", | ||
"@babel/plugin-transform-runtime": "^7.2.0", | ||
"@babel/preset-env": "^7.3.1", | ||
"@babel/register": "^7.0.0", | ||
"@babel/core": "^7.8.4", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.8.3", | ||
"@babel/plugin-syntax-export-default-from": "^7.8.3", | ||
"@babel/plugin-transform-classes": "^7.8.3", | ||
"@babel/plugin-transform-object-assign": "^7.8.3", | ||
"@babel/plugin-transform-runtime": "^7.8.3", | ||
"@babel/preset-env": "^7.8.4", | ||
"@babel/register": "^7.8.3", | ||
"@vimeo/eslint-config-player": "^5.0.1", | ||
"ava": "1.2.1", | ||
"chalk": "^2.4.2", | ||
"chokidar": "^2.1.2", | ||
"chokidar-cli": "^1.2.2", | ||
"codecov": "^3.2.0", | ||
"cross-env": "^5.2.0", | ||
"eslint": "^5.14.1", | ||
"eslint-plugin-ava": "^5.0.0", | ||
"eslint-plugin-compat": "^2.7.0", | ||
"esm": "^3.2.5", | ||
"ava": "1.3.0", | ||
"chalk": "^3.0.0", | ||
"chokidar": "^3.3.1", | ||
"chokidar-cli": "^2.1.0", | ||
"codecov": "^3.6.5", | ||
"cross-env": "^7.0.0", | ||
"eslint": "^6.8.0", | ||
"eslint-plugin-ava": "^6.0.0", | ||
"eslint-plugin-compat": "^3.5.1", | ||
"esm": "^3.2.25", | ||
"greenkeeper-postpublish": "^2.0.0", | ||
"jquery": "^3.3.1", | ||
"jsdom": "^13.2.0", | ||
"jquery": "^3.4.1", | ||
"jsdom": "^15.2.1", | ||
"maxmin": "^2.1.0", | ||
"npm-run-all": "^4.1.5", | ||
"nyc": "^13.3.0", | ||
"rimraf": "^2.6.3", | ||
"rollup": "^1.2.2", | ||
"rollup-plugin-babel": "^4.3.2", | ||
"rollup-plugin-commonjs": "^9.2.0", | ||
"rollup-plugin-node-resolve": "^4.0.0", | ||
"nyc": "^14.0.0", | ||
"rimraf": "^3.0.2", | ||
"rollup": "^1.31.0", | ||
"rollup-plugin-babel": "^4.3.3", | ||
"rollup-plugin-commonjs": "^10.1.0", | ||
"rollup-plugin-node-resolve": "^5.0.0", | ||
"sinon": "^7.2.4", | ||
"uglify-js": "^3.4.9", | ||
"xhr2": "0.1.4" | ||
"uglify-js": "^3.7.7", | ||
"xhr2": "0.2.0" | ||
}, | ||
@@ -85,0 +85,0 @@ "babel": { |
@@ -170,2 +170,4 @@ # Vimeo Player API [![Build Status](https://travis-ci.org/vimeo/player.js.svg?branch=master)](https://travis-ci.org/vimeo/player.js) [![Coverage](https://img.shields.io/codecov/c/github/vimeo/player.js.svg?maxAge=2592000)](https://codecov.io/gh/vimeo/player.js) [![npm](https://img.shields.io/npm/v/@vimeo/player.svg?maxAge=2592000)](https://www.npmjs.com/package/@vimeo/player) | ||
+ [getBuffered](#getbuffered-promisearray-error) | ||
+ [getChapters](#getchapters-promisearray-error) | ||
+ [getCurrentChapter](#getcurrentchapter-promiseobject-error) | ||
+ [getColor](#getcolor-promisestring-error) | ||
@@ -201,2 +203,3 @@ + [setColor](#setcolorcolor-string-promisestring-contrasterrortypeerrorerror) | ||
+ [play](#play) | ||
+ [playing](#playing) | ||
+ [pause](#pause) | ||
@@ -209,2 +212,3 @@ + [ended](#ended) | ||
+ [texttrackchange](#texttrackchange) | ||
+ [chapterchange](#chapterchange) | ||
+ [cuechange](#cuechange) | ||
@@ -218,2 +222,4 @@ + [cuepoint](#cuepoint) | ||
+ [loaded](#loaded) | ||
+ [durationchange](#durationchange) | ||
+ [fullscreenchange](#fullscreenchange) | ||
* [Embed Options](#embed-options) | ||
@@ -593,2 +599,35 @@ | ||
### getChapters(): Promise<array, Error> | ||
Get an array of the chapters that are on the video. | ||
```js | ||
player.getChapters().then(function(chapters) { | ||
// chapters = an array of chapters objects | ||
}).catch(function(error) { | ||
// an error occurred | ||
}); | ||
``` | ||
Each chapters object looks like this: | ||
```js | ||
{ | ||
"startTime": 15, | ||
"title": "Chapter Title", | ||
"index": 1 | ||
} | ||
``` | ||
### getCurrentChapter(): Promise<object, Error> | ||
Get the current chapter. A chapter is "current" when the `currentTime` of the video is equal to or after its `startTime` and before the `startTime` of the next chapter or the end of the video. | ||
```js | ||
player.getCurrentChapter().then(function(chapter) { | ||
// chapter = a chapter object | ||
}).catch(function(error) { | ||
// an error occurred | ||
}); | ||
``` | ||
### getColor(): Promise<string, Error> | ||
@@ -1104,3 +1143,3 @@ | ||
Triggered when the video plays. | ||
Triggered when video playback is initiated. | ||
@@ -1115,2 +1154,14 @@ ```js | ||
### playing | ||
Triggered when the video starts playing. | ||
```js | ||
{ | ||
duration: 61.857 | ||
percent: 0 | ||
seconds: 0 | ||
} | ||
``` | ||
### pause | ||
@@ -1206,2 +1257,16 @@ | ||
### chapterchange | ||
Triggered when the current chapter changes. | ||
```js | ||
{ | ||
startTime: 15, | ||
title: "Chapter 1", | ||
index: 1 | ||
} | ||
``` | ||
The `index` property of each chapter is the place it holds in the order of all the chapters. It starts at 1. | ||
### cuechange | ||
@@ -1307,2 +1372,22 @@ | ||
### durationchange | ||
Triggered when the duration attribute has been updated. | ||
```js | ||
{ | ||
duration: 60 | ||
} | ||
``` | ||
### fullscreenchange | ||
Triggered when the player enters or exits fullscreen. | ||
```js | ||
{ | ||
fullscreen: true | ||
} | ||
``` | ||
## Embed Options | ||
@@ -1309,0 +1394,0 @@ |
@@ -212,8 +212,3 @@ /** | ||
if (window.addEventListener) { | ||
window.addEventListener('message', onMessage, false); | ||
} | ||
else if (window.attachEvent) { | ||
window.attachEvent('onmessage', onMessage); | ||
} | ||
window.addEventListener('message', onMessage); | ||
} |
@@ -43,4 +43,2 @@ import './lib/compatibility-check'; | ||
const win = element.ownerDocument.defaultView; | ||
// Already initialized an embed in this div, so grab the iframe | ||
@@ -65,2 +63,3 @@ if (element.nodeName !== 'IFRAME') { | ||
this._window = element.ownerDocument.defaultView; | ||
this.element = element; | ||
@@ -70,3 +69,3 @@ this.origin = '*'; | ||
const readyPromise = new Promise((resolve, reject) => { | ||
const onMessage = (event) => { | ||
this._onMessage = (event) => { | ||
if (!isVimeoUrl(event.origin) || this.element.contentWindow !== event.source) { | ||
@@ -103,8 +102,3 @@ return; | ||
if (win.addEventListener) { | ||
win.addEventListener('message', onMessage, false); | ||
} | ||
else if (win.attachEvent) { | ||
win.attachEvent('onmessage', onMessage); | ||
} | ||
this._window.addEventListener('message', this._onMessage); | ||
@@ -477,2 +471,3 @@ if (this.element.nodeName !== 'IFRAME') { | ||
playerMap.delete(this.element); | ||
if (this._originalElement) { | ||
@@ -482,5 +477,9 @@ playerMap.delete(this._originalElement); | ||
} | ||
if (this.element && this.element.nodeName === 'IFRAME' && this.element.parentNode) { | ||
this.element.parentNode.removeChild(this.element); | ||
} | ||
this._window.removeEventListener('message', this._onMessage); | ||
resolve(); | ||
@@ -546,2 +545,40 @@ }); | ||
/** | ||
* A representation of a chapter. | ||
* | ||
* @typedef {Object} VimeoChapter | ||
* @property {number} startTime The start time of the chapter. | ||
* @property {object} title The title of the chapter. | ||
* @property {number} index The place in the order of Chapters. Starts at 1. | ||
*/ | ||
/** | ||
* A promise to get chapters for the video. | ||
* | ||
* @promise GetChaptersPromise | ||
* @fulfill {VimeoChapter[]} The chapters for the video. | ||
*/ | ||
/** | ||
* Get an array of all the chapters for the video. | ||
* | ||
* @return {GetChaptersPromise} | ||
*/ | ||
getChapters() { | ||
return this.get('chapters'); | ||
} | ||
/** | ||
* A promise to get the currently active chapter. | ||
* | ||
* @promise GetCurrentChaptersPromise | ||
* @fulfill {VimeoChapter|undefined} The current chapter for the video. | ||
*/ | ||
/** | ||
* Get the currently active chapter for the video. | ||
* | ||
* @return {GetCurrentChaptersPromise} | ||
*/ | ||
getCurrentChapter() { | ||
return this.get('currentChapter'); | ||
} | ||
/** | ||
* A promise to get the color of the player. | ||
@@ -548,0 +585,0 @@ * |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
339846
5125
1414
+ Addedweakmap-polyfill@2.0.1(transitive)
- Removedweakmap-polyfill@2.0.0(transitive)
Updatedweakmap-polyfill@2.0.1