Files
ArtPlayer/packages/artplayer/dist/artplayer.js
T
2018-11-21 18:37:25 +08:00

9 lines
86 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*!
* artplayer.js v1.0.2
* Github: https://github.com/zhw2590582/ArtPlayer#readme
* (c) 2017-2018 Harvey Zack
* Released under the MIT License.
*/
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.artplayer={})}(this,function(t){"use strict";var jt=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}var r=function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t},o="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function n(t,e){return t(e={exports:{}},e.exports),e.exports}var l=n(function(e){function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?e.exports=i=function(t){return n(t)}:e.exports=i=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":n(t)},i(t)}e.exports=i});var a=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t};var s=function(t,e){return!e||"object"!==l(e)&&"function"!=typeof e?a(t):e},c=n(function(e){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},n(t)}e.exports=n}),u=n(function(n){function i(t,e){return n.exports=i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},i(t,e)}n.exports=i});var d=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&u(t,e)};var h=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t};var f=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),i.forEach(function(t){h(e,t,n[t])})}return e};var p=function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}};var v=function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)};var y=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")};var g=function(t){return p(t)||v(t)||y()};var m=function(t){return-1!==Function.toString.call(t).indexOf("[native code]")},b=n(function(i){function r(t,e,n){return!function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}()?i.exports=r=function(t,e,n){var i=[null];i.push.apply(i,e);var r=new(Function.bind.apply(t,i));return n&&u(r,n.prototype),r}:i.exports=r=Reflect.construct,r.apply(null,arguments)}i.exports=r}),w=function(t){function i(t,e){var n;return jt(this,i),n=s(this,c(i).call(this,t)),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(a(n)),e||n.constructor),n.name="ArtPlayerError",n}return d(i,t),i}(n(function(e){function i(t){var n="function"==typeof Map?new Map:void 0;return e.exports=i=function(t){if(null===t||!m(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(t))return n.get(t);n.set(t,e)}function e(){return b(t,arguments,c(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),u(e,t)},i(t)}e.exports=i})(Error));function Mt(t,e){var n="function"==typeof t;if(n?!n():!t)throw new w(e)}function At(t,e,n){return Math.max(Math.min(t,Math.max(e,n)),Math.min(e,n))}function x(t){return t.includes("?")?x(t.split("?")[0]):t.includes("#")?x(t.split("#")[0]):t.trim().toLowerCase().split(".").pop()}function $(t,e){return e instanceof Element?t.appendChild(e):t.insertAdjacentHTML("beforeend",e),t.lastElementChild}function k(t,e,n){var i=Array.from(t.children);e.dataset.index=n;var r=i.find(function(t){return Number(t.dataset.index)>=Number(n)});return r?r.insertAdjacentElement("beforebegin",e):$(t,e),e}function zt(t,e,n){return t.style[e]=n,t}function E(e,n){return Object.keys(n).forEach(function(t){zt(e,t,n[t])}),e}function S(t,e){var n=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],i=window.getComputedStyle(t,null).getPropertyValue(e);return n?parseFloat(i):i}function Dt(t){var e=Math.floor(t/3600),n=Math.floor((t-3600*e)/60),i=Math.floor(t-3600*e-60*n);return(0<e?[e,n,i]:[n,i]).map(function(t){return t<10?"0".concat(t):String(t)}).join(":")}function P(){for(var t=function(t){return null!==t&&"object"===l(t)},e={},n=arguments.length,i=new Array(n),r=0;r<n;r++)i[r]=arguments[r];for(var o=0;o<i.length;o++){var a=i[o];if(Array.isArray(a))Array.isArray(e)||(e=[]),e=g(e).concat(g(a));else if(t(a)){if(a instanceof Element)return a;for(var s in a)if(a.hasOwnProperty(s)){var c=a[s];t(c)&&s in e&&(c=P(e[s],c)),e=f({},e,h({},s,c))}}}return e}function T(t,e){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"up";t.setAttribute("data-balloon",e),t.setAttribute("data-balloon-pos",n)}function Ht(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0;return new Promise(function(t){return setTimeout(t,e)})}function C(e){return Array.from(e.parentElement.children).filter(function(t){return t!==e})}function R(t,e){C(t).forEach(function(t){return t.classList.remove(e)}),t.classList.add(e)}function _(e,n,i){var r;function t(){var t=arguments;clearTimeout(r),r=setTimeout(function(){r=null,e.apply(i,t)},n)}return t.clearTimeout=function(){clearTimeout(r)},t}var L=Object.freeze({instances:[],ArtPlayerError:w,errorHandle:Mt,clamp:At,getExt:x,append:$,insertByIndex:k,setStyle:zt,setStyles:E,getStyle:S,secondToTime:Dt,deepMerge:P,tooltip:T,sleep:Ht,sublings:C,inverseClass:R,debounce:_}),O=n(function(t,e){t.exports=function(){function c(t){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var l=Object.prototype.toString,a=function(t){if(void 0===t)return"undefined";if(null===t)return"null";var e,n,i,r,o,a,s=c(t);if("boolean"===s)return"boolean";if("string"===s)return"string";if("number"===s)return"number";if("symbol"===s)return"symbol";if("function"===s)return"GeneratorFunction"===u(t)?"generatorfunction":"function";if(e=t,Array.isArray?Array.isArray(e):e instanceof Array)return"array";if((a=t).constructor&&"function"==typeof a.constructor.isBuffer&&a.constructor.isBuffer(a))return"buffer";if(function(t){try{if("number"==typeof t.length&&"function"==typeof t.callee)return!0}catch(t){if(-1!==t.message.indexOf("callee"))return!0}return!1}(t))return"arguments";if((n=t)instanceof Date||"function"==typeof n.toDateString&&"function"==typeof n.getDate&&"function"==typeof n.setDate)return"date";if((i=t)instanceof Error||"string"==typeof i.message&&i.constructor&&"number"==typeof i.constructor.stackTraceLimit)return"error";if((r=t)instanceof RegExp||"string"==typeof r.flags&&"boolean"==typeof r.ignoreCase&&"boolean"==typeof r.multiline&&"boolean"==typeof r.global)return"regexp";switch(u(t)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if("function"==typeof(o=t).throw&&"function"==typeof o.return&&"function"==typeof o.next)return"generator";switch(s=l.call(t)){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return s.slice(8,-1).toLowerCase().replace(/\s/g,"")};function u(t){return t.constructor?t.constructor.name:null}function o(t,e){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:["option"];for(var i in d(t,e,n),h(t,e,n),f(t,e,n),e)if(e.hasOwnProperty(i)){var r=t[i],o=e[i],a=n.concat(i);if(s(t,i,o,a))continue;d(r,o,a),h(r,o,a),f(r,o,a)}}function s(t,e,n,i){if(!Object.prototype.hasOwnProperty.call(t,e)){if(!0===n.__required__||!0===n.required)throw new TypeError("'".concat(i.join("."),"' is required"));return!0}}function d(t,e,n){var i;if("string"===a(e)?i=e:"function"===a(e)?e.___validator__=e:e.__type__?i=e.__type__:e.type&&(i=e.type),i&&"string"===a(i)){i=i.trim().toLowerCase();var r=a(t),o=r===i;if(-1<i.indexOf("|")&&(o=i.split("|").filter(Boolean).some(function(t){return r===t.trim()})),!o)throw new TypeError("'".concat(n.join("."),"' require '").concat(i,"' type, but got '").concat(r,"'"))}}function h(t,e,n){var i;if(e.___validator__?i=e.___validator__:e.validator&&(i=e.validator),"function"===a(i)){var r=i(n,t,a(t));if(!0!==r)throw new TypeError("The scheme for '".concat(n.join("."),"' validator function require return true, but got '").concat(r,"'"))}}function f(t,e,n){var i;if(e.___child__?i=e.___child__:e.child&&(i=e.child),"object"===a(i)){var r=a(t);"object"===r?o(t,i,n):"array"===r&&t.forEach(function(t,e){o(t,i,n.concat(e))})}}return o.kindOf=a,window.optionValidator=o}()});function j(t,e,n){if("string"===n){if(""===e.trim())throw new w("".concat(t.join(".")," can not be empty"));return!0}if(e instanceof Element)return!0;throw new w("".concat(t.join(".")," require 'string' or 'Element' type, but got '").concat(n,"'"))}var M={container:{validator:j,required:!0},url:{type:"string",required:!0,validator:function(t,e,n){if("string"!==n)throw new w("".concat(t.join(".")," required 'string' type."));if(""===e.trim())throw new w("".concat(t.join(".")," can not be empty"));return!0}},poster:"string",title:"string",type:{type:"string"},mimeCodec:"string",theme:"string",volume:"number",autoplay:"boolean",autoSize:"boolean",loop:"boolean",playbackRate:"boolean",aspectRatio:"boolean",screenshot:"boolean",setting:"boolean",hotkey:"boolean",pip:"boolean",mutex:"boolean",fullscreen:"boolean",fullscreenWeb:"boolean",layers:{type:"array",child:{disable:"boolean",type:"object|function",name:"string",index:"number",html:j,style:"object",click:"function"}},contextmenu:{type:"array",child:{disable:"boolean",type:"object|function",name:"string",index:"number",html:j,style:"object",click:"function"}},quality:{type:"array",child:{default:"boolean",name:"string",url:"string"}},controls:{type:"array",child:{type:"object",option:{type:"object",child:{disable:"boolean",name:"string",index:"number",position:"string"}}}},highlight:{type:"array",child:{type:"object",time:"number",text:"string"}},thumbnails:{type:"object",child:{type:"object",url:"string",number:"number",width:"number",height:"number",column:"number"}},subtitle:{type:"object",child:{type:"object",url:"string",style:"object"}},moreVideoAttr:"object",lang:"string"},Wt={mimeCodec:{mp4:'video/mp4; codecs="avc1.42E01E, mp4a.40.2"',webm:'video/webm; codecs="vorbis, vp8"',ts:'video/mp2t; codecs="avc1.42E01E, mp4a.40.2"'},mse:{mediaSource:{propertys:["activeSourceBuffers","duration","readyState","sourceBuffers"],methods:["addSourceBuffer","endOfStream","removeSourceBuffer","clearLiveSeekableRange","setLiveSeekableRange"],events:["sourceclose","sourceended","sourceopen"]},sourceBuffer:{propertys:["mode","updating","buffered","timestampOffset","audioTracks","videoTracks","textTracks","appendWindowStart","appendWindowEnd","trackDefaults"],methods:["appendBuffer","appendStream","abort","remove"],events:["abort","error","update","updateend","updatestart"]},sourceBufferList:{propertys:["length"],events:["addsourcebuffer","removesourcebuffer"]}},video:{propertys:["audioTracks","autoplay","buffered","controller","controls","crossOrigin","currentSrc","currentTime","defaultMuted","defaultPlaybackRate","duration","ended","error","loop","mediaGroup","muted","networkState","paused","playbackRate","played","preload","readyState","seekable","seeking","src","startDate","textTracks","videoTracks","volume"],methods:["addTextTrack","canPlayType","load","play","pause"],events:["abort","canplay","canplaythrough","durationchange","emptied","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting"]}};function A(){}A.prototype={on:function(t,e,n){var i=this.e||(this.e={});return(i[t]||(i[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var i=this;function r(){i.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),i=0,r=n.length;i<r;i++)n[i].fn.apply(n[i].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),i=n[t],r=[];if(i&&e)for(var o=0,a=i.length;o<a;o++)i[o].fn!==e&&i[o].fn._!==e&&r.push(i[o]);return r.length?n[t]=r:delete n[t],this}};var z=A,D=function t(e){jt(this,t);var n=e.refs;n.$container.innerHTML='\n <div class="artplayer-video-player">\n <video data-index="10" class="artplayer-video"></video>\n <div data-index="20" class="artplayer-subtitle"></div>\n <div data-index="30" class="artplayer-layers"></div>\n <div data-index="40" class="artplayer-mask"></div>\n <div data-index="50" class="artplayer-bottom">\n <div class="artplayer-progress"></div>\n <div class="artplayer-controls">\n <div class="artplayer-controls-left"></div>\n <div class="artplayer-controls-right"></div>\n </div>\n </div>\n <div data-index="60" class="artplayer-loading"></div>\n <div data-index="70" class="artplayer-notice">\n <div class="artplayer-notice-inner"></div>\n </div>\n <div data-index="80" class="artplayer-setting">\n <div class="artplayer-setting-inner">\n <div class="artplayer-setting-body"></div>\n <div class="artplayer-setting-close">×</div>\n </div>\n </div>\n <div data-index="90" class="artplayer-info">\n <div class="artplayer-info-panel"></div>\n <div class="artplayer-info-close">[x]</div>\n </div>\n <div data-index="100" class="artplayer-pip-header">\n <div class="artplayer-pip-title"></div>\n <div class="artplayer-pip-close">×</div>\n </div>\n <div data-index="110" class="artplayer-contextmenu"></div>\n </div>\n ',n.$player=n.$container.querySelector(".artplayer-video-player"),n.$video=n.$container.querySelector(".artplayer-video"),n.$subtitle=n.$container.querySelector(".artplayer-subtitle"),n.$bottom=n.$container.querySelector(".artplayer-bottom"),n.$progress=n.$container.querySelector(".artplayer-progress"),n.$controls=n.$container.querySelector(".artplayer-controls"),n.$controlsLeft=n.$container.querySelector(".artplayer-controls-left"),n.$controlsRight=n.$container.querySelector(".artplayer-controls-right"),n.$layers=n.$container.querySelector(".artplayer-layers"),n.$loading=n.$container.querySelector(".artplayer-loading"),n.$notice=n.$container.querySelector(".artplayer-notice"),n.$noticeInner=n.$container.querySelector(".artplayer-notice-inner"),n.$mask=n.$container.querySelector(".artplayer-mask"),n.$setting=n.$container.querySelector(".artplayer-setting"),n.$settingInner=n.$container.querySelector(".artplayer-setting-inner"),n.$settingBody=n.$container.querySelector(".artplayer-setting-body"),n.$settingClose=n.$container.querySelector(".artplayer-setting-close"),n.$info=n.$container.querySelector(".artplayer-info"),n.$infoPanel=n.$container.querySelector(".artplayer-info-panel"),n.$infoClose=n.$container.querySelector(".artplayer-info-close"),n.$pipHeader=n.$container.querySelector(".artplayer-pip-header"),n.$pipTitle=n.$container.querySelector(".artplayer-pip-title"),n.$pipClose=n.$container.querySelector(".artplayer-pip-close"),n.$contextmenu=n.$container.querySelector(".artplayer-contextmenu")},H={"zh-cn":{"About author":"关于作者","Video info":"视频统计信息",Close:"关闭","Video load failed":"视频加载失败",Volume:"音量",Play:"播放",Pause:"暂停",Rate:"速度",Mute:"静音",Flip:"视频翻转",Horizontal:"水平",Vertical:"垂直",Reconnect:"重新连接","Hide subtitle":"隐藏字幕","Show subtitle":"显示字幕","Hide danmu":"隐藏弹幕","Show danmu":"显示弹幕","Show setting":"显示设置","Hide setting":"隐藏设置",Screenshot:"截图","Play speed":"播放速度","Aspect ratio":"画面比例",Default:"默认",Normal:"正常","Switch video":"切换","Switch subtitle":"切换字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"网页全屏","Exit web fullscreen":"退出网页全屏","Mini player":"迷你播放器"},"zh-tw":{"About author":"關於作者","Video info":"影片統計訊息",Close:"關閉","Video load failed":"影片載入失敗",Volume:"音量",Play:"播放",Pause:"暫停",Rate:"速度",Mute:"靜音",Flip:"影片翻轉",Horizontal:"水平",Vertical:"垂直",Reconnect:"重新連接","Hide subtitle":"隱藏字幕","Show subtitle":"顯示字幕","Show setting":"顯示设置","Hide setting":"隱藏设置","Hide danmu":"隱藏彈幕","Show danmu":"顯示彈幕",Screenshot:"截圖","Play speed":"播放速度","Aspect ratio":"畫面比例",Default:"默認",Normal:"正常","Switch video":"切換","Switch subtitle":"切換字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"網頁全屏","Exit web fullscreen":"退出網頁全屏","Mini player":"迷你播放器"}},W=function(){function n(t){var e=t.option;jt(this,n),this.option=e,this.init()}return r(n,[{key:"init",value:function(){this.language=H[this.option.lang.toLowerCase()]||{}}},{key:"get",value:function(t){return this.language[t]||t}},{key:"update",value:function(t){H=t(H),this.init()}}]),n}();function qt(n,t){var i=n.option,r=n.notice,o=n.refs.$video;Object.defineProperty(t,"screenshot",{value:function(){var t=o.crossOrigin;try{o.crossOrigin="anonymous";var e=function(){var t=document.createElement("canvas");t.width=o.videoWidth,t.height=o.videoHeight,t.getContext("2d").drawImage(o,0,0);var e=t.toDataURL("image/png"),n=document.createElement("a");return zt(n,"display","none"),n.href=e,n.download="".concat(i.title||"artplayer","_").concat(Dt(o.currentTime),".png"),document.body.appendChild(n),n.click(),document.body.removeChild(n),e}();n.emit("screenshot",e)}catch(t){r.show(t),console.warn(t)}finally{o.crossOrigin=t}}})}var Ft=n(function(t){var o,e,n,i,r,a;o="undefined"!=typeof window&&void 0!==window.document?window.document:{},e=t.exports,n="undefined"!=typeof Element&&"ALLOW_KEYBOARD_INPUT"in Element,i=function(){for(var t,e=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],n=0,i=e.length,r={};n<i;n++)if((t=e[n])&&t[1]in o){for(n=0;n<t.length;n++)r[e[0][n]]=t[n];return r}return!1}(),r={change:i.fullscreenchange,error:i.fullscreenerror},a={request:function(t){var e=i.requestFullscreen;t=t||o.documentElement,/ Version\/5\.1(?:\.\d+)? Safari\//.test(navigator.userAgent)?t[e]():t[e](n?Element.ALLOW_KEYBOARD_INPUT:{})},exit:function(){o[i.exitFullscreen]()},toggle:function(t){this.isFullscreen?this.exit():this.request(t)},onchange:function(t){this.on("change",t)},onerror:function(t){this.on("error",t)},on:function(t,e){var n=r[t];n&&o.addEventListener(n,e,!1)},off:function(t,e){var n=r[t];n&&o.removeEventListener(n,e,!1)},raw:i},i?(Object.defineProperties(a,{isFullscreen:{get:function(){return Boolean(o[i.fullscreenElement])}},element:{enumerable:!0,get:function(){return o[i.fullscreenElement]}},enabled:{enumerable:!0,get:function(){return Boolean(o[i.fullscreenEnabled])}}}),e?t.exports=a:window.screenfull=a):e?t.exports=!1:window.screenfull=!1});var q=n(function(t){var e,n;e=window,n=function(){function g(t){var e=parseFloat(t);return-1==t.indexOf("%")&&!isNaN(e)&&e}var n="undefined"==typeof console?function(){}:function(t){console.error(t)},m=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],b=m.length;function w(t){var e=getComputedStyle(t);return e||n("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}var x,$=!1;function k(t){if(function(){if(!$){$=!0;var t=document.createElement("div");t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style.boxSizing="border-box";var e=document.body||document.documentElement;e.appendChild(t);var n=w(t);x=200==Math.round(g(n.width)),k.isBoxSizeOuter=x,e.removeChild(t)}}(),"string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var e=w(t);if("none"==e.display)return function(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;e<b;e++)t[m[e]]=0;return t}();var n={};n.width=t.offsetWidth,n.height=t.offsetHeight;for(var i=n.isBorderBox="border-box"==e.boxSizing,r=0;r<b;r++){var o=m[r],a=e[o],s=parseFloat(a);n[o]=isNaN(s)?0:s}var c=n.paddingLeft+n.paddingRight,l=n.paddingTop+n.paddingBottom,u=n.marginLeft+n.marginRight,d=n.marginTop+n.marginBottom,h=n.borderLeftWidth+n.borderRightWidth,f=n.borderTopWidth+n.borderBottomWidth,p=i&&x,v=g(e.width);!1!==v&&(n.width=v+(p?0:c+h));var y=g(e.height);return!1!==y&&(n.height=y+(p?0:l+f)),n.innerWidth=n.width-(c+h),n.innerHeight=n.height-(l+f),n.outerWidth=n.width+u,n.outerHeight=n.height+d,n}}return k},t.exports?t.exports=n():e.getSize=n()}),F=n(function(t){var e,n;e="undefined"!=typeof window?window:o,n=function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var n=this._events=this._events||{},i=n[t]=n[t]||[];return-1==i.indexOf(e)&&i.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var n=this._onceEvents=this._onceEvents||{};return(n[t]=n[t]||{})[e]=!0,this}},e.off=function(t,e){var n=this._events&&this._events[t];if(n&&n.length){var i=n.indexOf(e);return-1!=i&&n.splice(i,1),this}},e.emitEvent=function(t,e){var n=this._events&&this._events[t];if(n&&n.length){n=n.slice(0),e=e||[];for(var i=this._onceEvents&&this._onceEvents[t],r=0;r<n.length;r++){var o=n[r];i&&i[o]&&(this.off(t,o),delete i[o]),o.apply(this,e)}return this}},e.allOff=function(){delete this._events,delete this._onceEvents},t},t.exports?t.exports=n():e.EvEmitter=n()}),B=n(function(t){var e,n;e=window,n=function(r,t){function e(){}var n=e.prototype=Object.create(t.prototype);n.bindStartEvent=function(t){this._bindStartEvent(t,!0)},n.unbindStartEvent=function(t){this._bindStartEvent(t,!1)},n._bindStartEvent=function(t,e){var n=(e=void 0===e||e)?"addEventListener":"removeEventListener",i="mousedown";r.PointerEvent?i="pointerdown":"ontouchstart"in r&&(i="touchstart"),t[n](i,this)},n.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},n.getTouch=function(t){for(var e=0;e<t.length;e++){var n=t[e];if(n.identifier==this.pointerIdentifier)return n}},n.onmousedown=function(t){var e=t.button;e&&0!==e&&1!==e||this._pointerDown(t,t)},n.ontouchstart=function(t){this._pointerDown(t,t.changedTouches[0])},n.onpointerdown=function(t){this._pointerDown(t,t)},n._pointerDown=function(t,e){t.button||this.isPointerDown||(this.isPointerDown=!0,this.pointerIdentifier=void 0!==e.pointerId?e.pointerId:e.identifier,this.pointerDown(t,e))},n.pointerDown=function(t,e){this._bindPostStartEvents(t),this.emitEvent("pointerDown",[t,e])};var i={mousedown:["mousemove","mouseup"],touchstart:["touchmove","touchend","touchcancel"],pointerdown:["pointermove","pointerup","pointercancel"]};return n._bindPostStartEvents=function(t){if(t){var e=i[t.type];e.forEach(function(t){r.addEventListener(t,this)},this),this._boundPointerEvents=e}},n._unbindPostStartEvents=function(){this._boundPointerEvents&&(this._boundPointerEvents.forEach(function(t){r.removeEventListener(t,this)},this),delete this._boundPointerEvents)},n.onmousemove=function(t){this._pointerMove(t,t)},n.onpointermove=function(t){t.pointerId==this.pointerIdentifier&&this._pointerMove(t,t)},n.ontouchmove=function(t){var e=this.getTouch(t.changedTouches);e&&this._pointerMove(t,e)},n._pointerMove=function(t,e){this.pointerMove(t,e)},n.pointerMove=function(t,e){this.emitEvent("pointerMove",[t,e])},n.onmouseup=function(t){this._pointerUp(t,t)},n.onpointerup=function(t){t.pointerId==this.pointerIdentifier&&this._pointerUp(t,t)},n.ontouchend=function(t){var e=this.getTouch(t.changedTouches);e&&this._pointerUp(t,e)},n._pointerUp=function(t,e){this._pointerDone(),this.pointerUp(t,e)},n.pointerUp=function(t,e){this.emitEvent("pointerUp",[t,e])},n._pointerDone=function(){this._pointerReset(),this._unbindPostStartEvents(),this.pointerDone()},n._pointerReset=function(){this.isPointerDown=!1,delete this.pointerIdentifier},n.pointerDone=function(){},n.onpointercancel=function(t){t.pointerId==this.pointerIdentifier&&this._pointerCancel(t,t)},n.ontouchcancel=function(t){var e=this.getTouch(t.changedTouches);e&&this._pointerCancel(t,e)},n._pointerCancel=function(t,e){this._pointerDone(),this.pointerCancel(t,e)},n.pointerCancel=function(t,e){this.emitEvent("pointerCancel",[t,e])},e.getPointerPoint=function(t){return{x:t.pageX,y:t.pageY}},e},t.exports?t.exports=n(e,F):e.Unipointer=n(e,e.EvEmitter)}),I=n(function(t){var e,n;e=window,n=function(o,t){function e(){}var n=e.prototype=Object.create(t.prototype);n.bindHandles=function(){this._bindHandles(!0)},n.unbindHandles=function(){this._bindHandles(!1)},n._bindHandles=function(t){for(var e=(t=void 0===t||t)?"addEventListener":"removeEventListener",n=t?this._touchActionValue:"",i=0;i<this.handles.length;i++){var r=this.handles[i];this._bindStartEvent(r,t),r[e]("click",this),o.PointerEvent&&(r.style.touchAction=n)}},n._touchActionValue="none",n.pointerDown=function(t,e){this.okayPointerDown(t)&&(this.pointerDownPointer=e,t.preventDefault(),this.pointerDownBlur(),this._bindPostStartEvents(t),this.emitEvent("pointerDown",[t,e]))};var r={TEXTAREA:!0,INPUT:!0,SELECT:!0,OPTION:!0},a={radio:!0,checkbox:!0,button:!0,submit:!0,image:!0,file:!0};return n.okayPointerDown=function(t){var e=r[t.target.nodeName],n=a[t.target.type],i=!e||n;return i||this._pointerReset(),i},n.pointerDownBlur=function(){var t=document.activeElement;t&&t.blur&&t!=document.body&&t.blur()},n.pointerMove=function(t,e){var n=this._dragPointerMove(t,e);this.emitEvent("pointerMove",[t,e,n]),this._dragMove(t,e,n)},n._dragPointerMove=function(t,e){var n={x:e.pageX-this.pointerDownPointer.pageX,y:e.pageY-this.pointerDownPointer.pageY};return!this.isDragging&&this.hasDragStarted(n)&&this._dragStart(t,e),n},n.hasDragStarted=function(t){return 3<Math.abs(t.x)||3<Math.abs(t.y)},n.pointerUp=function(t,e){this.emitEvent("pointerUp",[t,e]),this._dragPointerUp(t,e)},n._dragPointerUp=function(t,e){this.isDragging?this._dragEnd(t,e):this._staticClick(t,e)},n._dragStart=function(t,e){this.isDragging=!0,this.isPreventingClicks=!0,this.dragStart(t,e)},n.dragStart=function(t,e){this.emitEvent("dragStart",[t,e])},n._dragMove=function(t,e,n){this.isDragging&&this.dragMove(t,e,n)},n.dragMove=function(t,e,n){t.preventDefault(),this.emitEvent("dragMove",[t,e,n])},n._dragEnd=function(t,e){this.isDragging=!1,setTimeout(function(){delete this.isPreventingClicks}.bind(this)),this.dragEnd(t,e)},n.dragEnd=function(t,e){this.emitEvent("dragEnd",[t,e])},n.onclick=function(t){this.isPreventingClicks&&t.preventDefault()},n._staticClick=function(t,e){this.isIgnoringMouseUp&&"mouseup"==t.type||(this.staticClick(t,e),"mouseup"!=t.type&&(this.isIgnoringMouseUp=!0,setTimeout(function(){delete this.isIgnoringMouseUp}.bind(this),400)))},n.staticClick=function(t,e){this.emitEvent("staticClick",[t,e])},e.getPointerPoint=t.getPointerPoint,e},t.exports?t.exports=n(e,B):e.Unidragger=n(e,e.Unipointer)}),N=n(function(t){var e,n;e=window,n=function(o,c,t){function n(t,e){for(var n in e)t[n]=e[n];return t}var i=o.jQuery;function e(t,e){this.element="string"==typeof t?document.querySelector(t):t,i&&(this.$element=i(this.element)),this.options=n({},this.constructor.defaults),this.option(e),this._create()}var r=e.prototype=Object.create(t.prototype);e.defaults={},r.option=function(t){n(this.options,t)};var a={relative:!0,absolute:!0,fixed:!0};function l(t,e,n){return n=n||"round",e?Math[n](t/e)*e:t}return r._create=function(){this.position={},this._getPosition(),this.startPoint={x:0,y:0},this.dragPoint={x:0,y:0},this.startPosition=n({},this.position);var t=getComputedStyle(this.element);a[t.position]||(this.element.style.position="relative"),this.on("pointerDown",this.onPointerDown),this.on("pointerMove",this.onPointerMove),this.on("pointerUp",this.onPointerUp),this.enable(),this.setHandles()},r.setHandles=function(){this.handles=this.options.handle?this.element.querySelectorAll(this.options.handle):[this.element],this.bindHandles()},r.dispatchEvent=function(t,e,n){var i=[e].concat(n);this.emitEvent(t,i),this.dispatchJQueryEvent(t,e,n)},r.dispatchJQueryEvent=function(t,e,n){var i=o.jQuery;if(i&&this.$element){var r=i.Event(e);r.type=t,this.$element.trigger(r,n)}},r._getPosition=function(){var t=getComputedStyle(this.element),e=this._getPositionCoord(t.left,"width"),n=this._getPositionCoord(t.top,"height");this.position.x=isNaN(e)?0:e,this.position.y=isNaN(n)?0:n,this._addTransformPosition(t)},r._getPositionCoord=function(t,e){if(-1==t.indexOf("%"))return parseInt(t,10);var n=c(this.element.parentNode);return n?parseFloat(t)/100*n[e]:0},r._addTransformPosition=function(t){var e=t.transform;if(0===e.indexOf("matrix")){var n=e.split(","),i=0===e.indexOf("matrix3d")?12:4,r=parseInt(n[i],10),o=parseInt(n[i+1],10);this.position.x+=r,this.position.y+=o}},r.onPointerDown=function(t,e){this.element.classList.add("is-pointer-down"),this.dispatchJQueryEvent("pointerDown",t,[e])},r.dragStart=function(t,e){this.isEnabled&&(this._getPosition(),this.measureContainment(),this.startPosition.x=this.position.x,this.startPosition.y=this.position.y,this.setLeftTop(),this.dragPoint.x=0,this.dragPoint.y=0,this.element.classList.add("is-dragging"),this.dispatchEvent("dragStart",t,[e]),this.animate())},r.measureContainment=function(){var t=this.getContainer();if(t){var e=c(this.element),n=c(t),i=this.element.getBoundingClientRect(),r=t.getBoundingClientRect(),o=n.borderLeftWidth+n.borderRightWidth,a=n.borderTopWidth+n.borderBottomWidth,s=this.relativeStartPosition={x:i.left-(r.left+n.borderLeftWidth),y:i.top-(r.top+n.borderTopWidth)};this.containSize={width:n.width-o-s.x-e.width,height:n.height-a-s.y-e.height}}},r.getContainer=function(){var t=this.options.containment;if(t)return t instanceof HTMLElement?t:"string"==typeof t?document.querySelector(t):this.element.parentNode},r.onPointerMove=function(t,e,n){this.dispatchJQueryEvent("pointerMove",t,[e,n])},r.dragMove=function(t,e,n){if(this.isEnabled){var i=n.x,r=n.y,o=this.options.grid,a=o&&o[0],s=o&&o[1];i=l(i,a),r=l(r,s),i=this.containDrag("x",i,a),r=this.containDrag("y",r,s),i="y"==this.options.axis?0:i,r="x"==this.options.axis?0:r,this.position.x=this.startPosition.x+i,this.position.y=this.startPosition.y+r,this.dragPoint.x=i,this.dragPoint.y=r,this.dispatchEvent("dragMove",t,[e,n])}},r.containDrag=function(t,e,n){if(!this.options.containment)return e;var i="x"==t?"width":"height",r=l(-this.relativeStartPosition[t],n,"ceil"),o=this.containSize[i];return o=l(o,n,"floor"),Math.max(r,Math.min(o,e))},r.onPointerUp=function(t,e){this.element.classList.remove("is-pointer-down"),this.dispatchJQueryEvent("pointerUp",t,[e])},r.dragEnd=function(t,e){this.isEnabled&&(this.element.style.transform="",this.setLeftTop(),this.element.classList.remove("is-dragging"),this.dispatchEvent("dragEnd",t,[e]))},r.animate=function(){if(this.isDragging){this.positionDrag();var t=this;requestAnimationFrame(function(){t.animate()})}},r.setLeftTop=function(){this.element.style.left=this.position.x+"px",this.element.style.top=this.position.y+"px"},r.positionDrag=function(){this.element.style.transform="translate3d( "+this.dragPoint.x+"px, "+this.dragPoint.y+"px, 0)"},r.staticClick=function(t,e){this.dispatchEvent("staticClick",t,[e])},r.setPosition=function(t,e){this.position.x=t,this.position.y=e,this.setLeftTop()},r.enable=function(){this.isEnabled=!0},r.disable=function(){this.isEnabled=!1,this.isDragging&&this.dragEnd()},r.destroy=function(){this.disable(),this.element.style.transform="",this.element.style.left="",this.element.style.top="",this.element.style.position="",this.unbindHandles(),this.$element&&this.$element.removeData("draggabilly")},r._init=function(){},i&&i.bridget&&i.bridget("draggabilly",e),e},t.exports?t.exports=n(e,q,I):e.Draggabilly=n(e,e.getSize,e.Unidragger)});function Bt(t,e){var n,i,r,o,a,s,c,l,u,d,h,f,p,v,y,g,m,b;document.pictureInPictureEnabled?(y=e,g=(v=t).notice,m=v.refs.$video,b=v.events.proxy,m.disablePictureInPicture=!1,Object.defineProperty(y,"pipState",{get:function(){return document.pictureInPictureElement}}),Object.defineProperty(y,"pipEnabled",{value:function(){m.requestPictureInPicture().catch(function(t){g.show(t,!0,3e3),console.warn(t)})}}),Object.defineProperty(y,"pipExit",{value:function(){document.exitPictureInPicture().catch(function(t){g.show(t,!0,3e3),console.warn(t)})}}),Object.defineProperty(y,"pipToggle",{value:function(){y.pipState?y.pipExit():y.pipEnabled()}}),b(m,"enterpictureinpicture",function(){v.emit("pipEnabled")}),b(m,"leavepictureinpicture",function(){v.emit("pipExit"),v.isPlaying&&y.play()})):(i=e,r=(n=t).option,o=n.i18n,a=n.refs,s=a.$player,c=a.$pipClose,l=a.$pipTitle,u=n.events,d=u.destroyEvents,h=u.proxy,p=f=null,Object.defineProperty(i,"pipState",{get:function(){return s.classList.contains("artplayer-pip")}}),Object.defineProperty(i,"pipEnabled",{value:function(){i.autoSizeState&&i.autoSizeRemove(),p?(zt(s,"left","".concat(f.x,"px")),zt(s,"top","".concat(f.y,"px"))):(p=new N(s,{handle:".artplayer-pip-header"}),$(l,r.title||o.get("Mini player")),h(c,"click",function(){i.pipExit()}),d.push(function(){p.destroy()})),s.classList.add("artplayer-pip"),i.fullscreenExit(),i.fullscreenWebExit(),i.aspectRatioRemove(),i.playbackRateRemove(),n.emit("pipEnabled")}}),Object.defineProperty(i,"pipExit",{value:function(){i.pipState&&(s.classList.remove("artplayer-pip"),f=p.position,zt(s,"left",null),zt(s,"top",null),i.fullscreenExit(),i.fullscreenWebExit(),i.aspectRatioRemove(),i.playbackRateRemove(),n.emit("pipExit"))}}),Object.defineProperty(i,"pipToggle",{value:function(){i.pipState?i.pipExit():i.pipEnabled()}}))}var V=function t(e){var n,i,r,o,a,s,c,l,u,d,h,f,p,v,y,g,m,b,w,x,$,k,E,S,P,T,C,R,_,L,O,j,M,A,z,D,H,W,q,F,B,I,N,V,U,Y,J,Q,X,Z,G,K,tt,et,nt,it,rt,ot,at,st,ct,lt,ut,dt,ht,ft,pt,vt,yt,gt,mt,bt,wt,xt,$t,kt,Et,St,Pt,Tt,Ct,Rt,_t,Lt,Ot;jt(this,t),n=this,Object.defineProperty(n,"mountUrl",{writable:!0,value:function(t){return t}}),r=this,o=(i=e).option,a=i.events.proxy,s=i.refs,c=s.$player,l=s.$video,u=i.i18n,d=i.notice,h=!1,f=0,a(l,"click",function(){r.toggle()}),i.on("video:loadstart",function(){i.loading.show()}),i.on("video:loadedmetadata",function(){o.autoSize&&r.autoSize()}),i.on("video:loadeddata",function(){i.loading.hide()}),i.on("video:waiting",function(){i.loading.show()}),i.on("video:seeking",function(){i.loading.show()}),i.on("video:canplay",function(){f=0,h||(h=!0,i.emit("firstCanplay")),i.controls.show(),i.mask.show(),i.loading.hide(),o.autoplay&&r.play()}),i.on("video:playing",function(){i.isPlaying=!0,i.controls.hide(),i.mask.hide()}),i.on("video:pause",function(){i.isPlaying=!1,i.controls.show(),i.mask.show()}),i.on("video:ended",function(){i.isPlaying=!1,i.controls.show(),i.mask.show(),o.loop&&(r.seek(0),r.play())}),i.on("video:error",function(){f<5?Ht(1e3).then(function(){f++,i.emit("beforeMountUrl",o.url),l.src=r.mountUrl(o.url),d.show("".concat(u.get("Reconnect"),": ").concat(f))}):(i.isPlaying=!1,i.loading.hide(),i.controls.hide(),c.classList.add("artplayer-error"),Ht(1e3).then(function(){d.show(u.get("Video load failed"),!1),i.destroy()}))}),Wt.video.events.forEach(function(t){a(l,t,function(t){i.emit("video:".concat(t.type),t)})}),v=this,y=(p=e).option,g=p.refs.$video,Object.keys(y.moreVideoAttr).forEach(function(t){g[t]=y.moreVideoAttr[t]}),y.volume&&(g.volume=At(y.volume,0,1)),y.poster&&(g.poster=y.poster),y.autoplay&&(g.autoplay=y.autoplay),Ht().then(function(){p.emit("beforeMountUrl",y.url),g.src=v.mountUrl(y.url)}),b=this,w=(m=e).refs.$video,x=m.i18n,$=m.notice,k=m.option.mutex,Object.defineProperty(b,"play",{value:function(){var t=w.play();void 0!==t&&t.then().catch(function(t){$.show(t,!0,3e3),console.warn(t)}),k&&m.constructor.instances.filter(function(t){return t!==m}).forEach(function(t){return t.player.pause()}),$.show(x.get("Play")),m.emit("play")}}),S=this,P=(E=e).refs.$video,T=E.i18n,C=E.notice,Object.defineProperty(S,"pause",{value:function(){P.pause(),C.show(T.get("Pause")),E.emit("pause")}}),R=e,_=this,Object.defineProperty(_,"toggle",{value:function(){R.isPlaying?_.pause():_.play()}}),O=this,j=(L=e).notice,Object.defineProperty(O,"seek",{value:function(t){var e=Math.max(t,0);O.duration&&(e=Math.min(e,O.duration)),O.currentTime=e,j.show("".concat(Dt(e)," / ").concat(Dt(O.duration))),L.emit("seek",e)}}),A=this,z=(M=e).refs.$video,D=M.i18n,H=M.notice,W=M.storage,Object.defineProperty(A,"volume",{get:function(){return z.volume||0},set:function(t){void 0!==t&&(z.volume=At(t,0,1),H.show("".concat(D.get("Volume"),": ").concat(parseInt(100*z.volume))),0!==z.volume&&W.set("volume",z.volume),M.emit("volumeChange",z.volume))}}),Object.defineProperty(A,"mute",{value:function(){A.volume=0}}),q=e,F=this,Object.defineProperty(F,"currentTime",{get:function(){return q.refs.$video.currentTime||0},set:function(t){q.refs.$video.currentTime=t}}),B=e,I=this,Object.defineProperty(I,"duration",{get:function(){return B.refs.$video.duration||0}}),V=this,U=(N=e).refs.$video,Y=N.i18n,J=N.notice,Q=N.isPlaying,X=N.option,Object.defineProperty(V,"switch",{value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"unknown";if(t!==X.url){var n=V.currentTime;N.emit("beforeMountUrl",t),U.src=V.mountUrl(t),X.url=t,V.playbackRateRemove(),V.aspectRatioRemove(),V.seek(n),Q&&V.play(),J.show("".concat(Y.get("Switch video"),": ").concat(e)),N.emit("switch",t)}}}),G=this,K=(Z=e).refs,tt=K.$video,et=K.$player,nt=Z.i18n,it=Z.notice,Object.defineProperty(G,"playbackRateState",{get:function(){return et.dataset.playbackRate}}),Object.defineProperty(G,"playbackRate",{value:function(t){var e=At(t,.1,10);tt.playbackRate=e,et.dataset.playbackRate=e,it.show("".concat(nt.get("Rate"),": ").concat(1===e?nt.get("Normal"):"".concat(e,"x"))),Z.emit("playbackRateChange",e)}}),Object.defineProperty(G,"playbackRateRemove",{value:function(){G.$playbackRateState&&(G.playbackRate(1),delete et.dataset.playbackRate,Z.emit("playbackRateRemove"))}}),Object.defineProperty(G,"playbackRateReset",{value:function(){var t=et.dataset.playbackRate;t&&(G.playbackRate(Number(t)),Z.emit("playbackRateReset"))}}),ot=this,at=(rt=e).refs,st=at.$video,ct=at.$player,lt=rt.i18n,ut=rt.notice,Object.defineProperty(ot,"aspectRatioState",{get:function(){return ct.dataset.aspectRatio}}),Object.defineProperty(ot,"aspectRatio",{value:function(t){var e=2===t.length?"".concat(t[0],":").concat(t[1]):lt.get("Default");if(2===t.length){var n=st.videoWidth,i=st.videoHeight,r=ct.clientWidth,o=ct.clientHeight,a=n/i,s=Number(t[0])/Number(t[1]);if(s<a){var c=s*i/n;zt(st,"width","".concat(100*c,"%")),zt(st,"height","100%"),zt(st,"padding","0 ".concat((r-r*c)/2,"px"))}else{var l=n/s/i;zt(st,"width","100%"),zt(st,"height","".concat(100*l,"%")),zt(st,"padding","".concat((o-o*l)/2,"px 0"))}ct.dataset.aspectRatio=e}else ot.aspectRatioRemove();ut.show("".concat(lt.get("Aspect ratio"),": ").concat(e)),rt.emit("aspectRatioChange",t)}}),Object.defineProperty(ot,"aspectRatioRemove",{value:function(){ot.aspectRatioState&&(zt(st,"width",null),zt(st,"height",null),zt(st,"padding",null),delete ct.dataset.aspectRatio,rt.emit("aspectRatioRemove"))}}),Object.defineProperty(ot,"aspectRatioReset",{value:function(){var t=ct.dataset.aspectRatio;t&&(ot.aspectRatio(t.split(":")),rt.emit("aspectRatioReset"))}}),qt(e,this),ht=this,ft=(dt=e).notice,pt=dt.events.destroyEvents,vt=dt.refs.$player,yt=function(){dt.emit("fullscreen",Ft.isFullscreen)},gt=function(){ft.show("Your browser does not seem to support full screen functionality.")},Ft.on("change",yt),Ft.on("error",gt),pt.push(function(){Ft.off("change",yt),Ft.off("error",gt)}),Object.defineProperty(ht,"fullscreenState",{get:function(){return Ft.isFullscreen}}),Object.defineProperty(ht,"fullscreenEnabled",{value:function(){ht.fullscreenWebState&&ht.fullscreenWebExit(),vt.classList.add("artplayer-fullscreen"),Ft.request(vt),dt.emit("fullscreen:enabled")}}),Object.defineProperty(ht,"fullscreenExit",{value:function(){ht.fullscreenState&&(ht.fullscreenWebExit(),vt.classList.remove("artplayer-fullscreen"),Ft.exit(),dt.emit("fullscreen:exit"))}}),Object.defineProperty(ht,"fullscreenToggle",{value:function(){ht.fullscreenState?ht.fullscreenExit():ht.fullscreenEnabled()}}),bt=this,wt=(mt=e).refs.$player,Object.defineProperty(bt,"fullscreenWebState",{get:function(){return wt.classList.contains("artplayer-web-fullscreen")}}),Object.defineProperty(bt,"fullscreenWebEnabled",{value:function(){bt.fullscreenState&&bt.fullscreenExit(),wt.classList.add("artplayer-web-fullscreen"),mt.emit("fullscreenWeb:enabled")}}),Object.defineProperty(bt,"fullscreenWebExit",{value:function(){bt.fullscreenWebState&&(bt.fullscreenExit(),wt.classList.remove("artplayer-web-fullscreen"),mt.emit("fullscreenWeb:exit"))}}),Object.defineProperty(bt,"fullscreenWebToggle",{value:function(){bt.fullscreenWebState?bt.fullscreenWebExit():bt.fullscreenWebEnabled()}}),Bt(e,this),xt=e,$t=this,Object.defineProperty($t,"loaded",{get:function(){return xt.refs.$video.buffered.length?xt.refs.$video.buffered.end(xt.refs.$video.buffered.length-1)/xt.refs.$video.duration:0}}),kt=e,Et=this,Object.defineProperty(Et,"played",{get:function(){return kt.refs.$video.currentTime/kt.refs.$video.duration}}),Pt=this,Tt=(St=e).refs,Ct=Tt.$container,Rt=Tt.$player,_t=Tt.$video,Object.defineProperty(Pt,"autoSizeState",{get:function(){return Ct.classList.contains("artplayer-auto-size")}}),Object.defineProperty(Pt,"autoSize",{value:function(){var t=_t.videoWidth,e=_t.videoHeight,n=Ct.getBoundingClientRect(),i=n.width,r=n.height,o=t/e,a=i/r;if(Ct.classList.add("artplayer-auto-size"),o<a)zt(Rt,"width","".concat(r*o/i*100,"%")),zt(Rt,"height","100%");else{var s=i/o/r*100;zt(Rt,"width","100%"),zt(Rt,"height","".concat(s,"%"))}St.emit("autoSizeChange")}}),Object.defineProperty(Pt,"autoSizeRemove",{value:function(){Ct.classList.remove("artplayer-auto-size"),zt(Rt,"width",null),zt(Rt,"height",null),St.emit("autoSizeRemove")}}),Lt=e,Ot=this,Object.defineProperty(Ot,"flipState",{get:function(){return Lt.refs.$player.dataset.flip}}),Object.defineProperty(Ot,"flip",{value:function(t){Mt(["normal","horizontal","vertical"].includes(t),"The 'angle' need to be one of '[normal, horizontal, vertical]', but got ".concat(t)),Lt.refs.$player.dataset.flip=t,Lt.emit("flipChange",t)}}),Object.defineProperty(Ot,"flipRemove",{value:function(){delete Lt.refs.$player.dataset.flip,Lt.emit("flipRemove")}})};var U=function(t){if(Array.isArray(t))return t};var Y=function(t,e){var n=[],i=!0,r=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(i=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);i=!0);}catch(t){r=!0,o=t}finally{try{i||null==s.return||s.return()}finally{if(r)throw o}}return n};var J=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")};var Q=function(t,e){return U(t)||Y(t,e)||J()};var X,Z,G=(X={loading:'<svg xmlns="http://www.w3.org/2000/svg" width="50px" height="50px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" class="uil-default">\n <rect x="0" y="0" width="100" height="100" fill="none" class="bk"/>\n <rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#ffffff" transform="rotate(0 50 50) translate(0 -30)">\n <animate attributeName="opacity" from="1" to="0" dur="1s" begin="-1s" repeatCount="indefinite"/>\n </rect>\n <rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#ffffff" transform="rotate(30 50 50) translate(0 -30)">\n <animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.9166666666666666s" repeatCount="indefinite"/>\n </rect>\n <rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#ffffff" transform="rotate(60 50 50) translate(0 -30)">\n <animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.8333333333333334s" repeatCount="indefinite"/>\n </rect>\n <rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#ffffff" transform="rotate(90 50 50) translate(0 -30)">\n <animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.75s" repeatCount="indefinite"/></rect>\n <rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#ffffff" transform="rotate(120 50 50) translate(0 -30)">\n <animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.6666666666666666s" repeatCount="indefinite"/>\n </rect>\n <rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#ffffff" transform="rotate(150 50 50) translate(0 -30)">\n <animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.5833333333333334s" repeatCount="indefinite"/>\n </rect>\n <rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#ffffff" transform="rotate(180 50 50) translate(0 -30)">\n <animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.5s" repeatCount="indefinite"/></rect>\n <rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#ffffff" transform="rotate(210 50 50) translate(0 -30)">\n <animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.4166666666666667s" repeatCount="indefinite"/>\n </rect>\n <rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#ffffff" transform="rotate(240 50 50) translate(0 -30)">\n <animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.3333333333333333s" repeatCount="indefinite"/>\n </rect>\n <rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#ffffff" transform="rotate(270 50 50) translate(0 -30)">\n <animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.25s" repeatCount="indefinite"/></rect>\n <rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#ffffff" transform="rotate(300 50 50) translate(0 -30)">\n <animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.16666666666666666s" repeatCount="indefinite"/>\n </rect>\n <rect x="47" y="40" width="6" height="20" rx="5" ry="5" fill="#ffffff" transform="rotate(330 50 50) translate(0 -30)">\n <animate attributeName="opacity" from="1" to="0" dur="1s" begin="-0.08333333333333333s" repeatCount="indefinite"/>\n </rect>\n</svg>',playBig:'<svg xmlns="http://www.w3.org/2000/svg" height="60" width="60" style="filter: drop-shadow(0px 1px 1px black);" viewBox="0 0 24 24">\n <path d="M20,2H4C1.8,2,0,3.8,0,6v12c0,2.2,1.8,4,4,4h16c2.2,0,4-1.8,4-4V6C24,3.8,22.2,2,20,2z M15.6,12.8L10.5,16 C9.9,16.5,9,16,9,15.2V8.8C9,8,9.9,7.5,10.5,8l5.1,3.2C16.3,11.5,16.3,12.5,15.6,12.8z"/>\n</svg>',play:'<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewBox="0 0 22 22">\n <path d="M17.982 9.275L8.06 3.27A2.013 2.013 0 0 0 5 4.994v12.011a2.017 2.017 0 0 0 3.06 1.725l9.922-6.005a2.017 2.017 0 0 0 0-3.45z"></path>\n</svg>',pause:'<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewBox="0 0 22 22">\n <path d="M7 3a2 2 0 0 0-2 2v12a2 2 0 1 0 4 0V5a2 2 0 0 0-2-2zM15 3a2 2 0 0 0-2 2v12a2 2 0 1 0 4 0V5a2 2 0 0 0-2-2z"></path>\n</svg>',volume:'<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewBox="0 0 22 22">\n <path d="M10.188 4.65L6 8H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h1l4.188 3.35a.5.5 0 0 0 .812-.39V5.04a.498.498 0 0 0-.812-.39zM14.446 3.778a1 1 0 0 0-.862 1.804 6.002 6.002 0 0 1-.007 10.838 1 1 0 0 0 .86 1.806A8.001 8.001 0 0 0 19 11a8.001 8.001 0 0 0-4.554-7.222z"></path>\n <path d="M15 11a3.998 3.998 0 0 0-2-3.465v6.93A3.998 3.998 0 0 0 15 11z"></path>\n</svg>',volumeClose:'<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewBox="0 0 22 22">\n <path d="M15 11a3.998 3.998 0 0 0-2-3.465v2.636l1.865 1.865A4.02 4.02 0 0 0 15 11z"></path>\n <path d="M13.583 5.583A5.998 5.998 0 0 1 17 11a6 6 0 0 1-.585 2.587l1.477 1.477a8.001 8.001 0 0 0-3.446-11.286 1 1 0 0 0-.863 1.805zM18.778 18.778l-2.121-2.121-1.414-1.414-1.415-1.415L13 13l-2-2-3.889-3.889-3.889-3.889a.999.999 0 1 0-1.414 1.414L5.172 8H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h1l4.188 3.35a.5.5 0 0 0 .812-.39v-3.131l2.587 2.587-.01.005a1 1 0 0 0 .86 1.806c.215-.102.424-.214.627-.333l2.3 2.3a1.001 1.001 0 0 0 1.414-1.416zM11 5.04a.5.5 0 0 0-.813-.39L8.682 5.854 11 8.172V5.04z"></path>\n</svg>',subtitle:'<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewBox="0 0 48 48">\n <path d="M0 0h48v48H0z" fill="none"/>\n <path d="M40 8H8c-2.21 0-4 1.79-4 4v24c0 2.21 1.79 4 4 4h32c2.21 0 4-1.79 4-4V12c0-2.21-1.79-4-4-4zM8 24h8v4H8v-4zm20 12H8v-4h20v4zm12 0h-8v-4h8v4zm0-8H20v-4h20v4z"/>\n</svg>',screenshot:'<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewBox="0 0 50 50">\n\t<path d="M 19.402344 6 C 17.019531 6 14.96875 7.679688 14.5 10.011719 L 14.097656 12 L 9 12 C 6.238281 12 4 14.238281 4 17 L 4 38 C 4 40.761719 6.238281 43 9 43 L 41 43 C 43.761719 43 46 40.761719 46 38 L 46 17 C 46 14.238281 43.761719 12 41 12 L 35.902344 12 L 35.5 10.011719 C 35.03125 7.679688 32.980469 6 30.597656 6 Z M 25 17 C 30.519531 17 35 21.480469 35 27 C 35 32.519531 30.519531 37 25 37 C 19.480469 37 15 32.519531 15 27 C 15 21.480469 19.480469 17 25 17 Z M 25 19 C 20.589844 19 17 22.589844 17 27 C 17 31.410156 20.589844 35 25 35 C 29.410156 35 33 31.410156 33 27 C 33 22.589844 29.410156 19 25 19 Z "/>\n</svg>\n',setting:'<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewBox="0 0 22 22">\n <circle cx="11" cy="11" r="2"></circle>\n <path d="M19.164 8.861L17.6 8.6a6.978 6.978 0 0 0-1.186-2.099l.574-1.533a1 1 0 0 0-.436-1.217l-1.997-1.153a1.001 1.001 0 0 0-1.272.23l-1.008 1.225a7.04 7.04 0 0 0-2.55.001L8.716 2.829a1 1 0 0 0-1.272-.23L5.447 3.751a1 1 0 0 0-.436 1.217l.574 1.533A6.997 6.997 0 0 0 4.4 8.6l-1.564.261A.999.999 0 0 0 2 9.847v2.306c0 .489.353.906.836.986l1.613.269a7 7 0 0 0 1.228 2.075l-.558 1.487a1 1 0 0 0 .436 1.217l1.997 1.153c.423.244.961.147 1.272-.23l1.04-1.263a7.089 7.089 0 0 0 2.272 0l1.04 1.263a1 1 0 0 0 1.272.23l1.997-1.153a1 1 0 0 0 .436-1.217l-.557-1.487c.521-.61.94-1.31 1.228-2.075l1.613-.269a.999.999 0 0 0 .835-.986V9.847a.999.999 0 0 0-.836-.986zM11 15a4 4 0 1 1 0-8 4 4 0 0 1 0 8z"></path>\n</svg>',fullscreen:'<svg xmlns="http://www.w3.org/2000/svg" height="36" width="36" viewBox="0 0 36 36">\r\n\t<path d="m 10,16 2,0 0,-4 4,0 0,-2 L 10,10 l 0,6 0,0 z"></path>\r\n\t<path d="m 20,10 0,2 4,0 0,4 2,0 L 26,10 l -6,0 0,0 z"></path>\r\n\t<path d="m 24,24 -4,0 0,2 L 26,26 l 0,-6 -2,0 0,4 0,0 z"></path>\r\n\t<path d="M 12,20 10,20 10,26 l 6,0 0,-2 -4,0 0,-4 0,0 z"></path>\r\n</svg>',fullscreenWeb:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" height="36" width="36">\r\n\t<path d="m 28,11 0,14 -20,0 0,-14 z m -18,2 16,0 0,10 -16,0 0,-10 z" fill-rule="evenodd"></path>\r\n</svg>',pip:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" height="32" width="32">\n <path d="M25,17 L17,17 L17,23 L25,23 L25,17 L25,17 Z M29,25 L29,10.98 C29,9.88 28.1,9 27,9 L9,9 C7.9,9 7,9.88 7,10.98 L7,25 C7,26.1 7.9,27 9,27 L27,27 C28.1,27 29,26.1 29,25 L29,25 Z M27,25.02 L9,25.02 L9,10.97 L27,10.97 L27,25.02 L27,25.02 Z"></path>\n</svg>',prev:'<svg xmlns="http://www.w3.org/2000/svg" height="36" width="36" viewBox="0 0 36 36">\n <path d="m 12,12 h 2 v 12 h -2 z m 3.5,6 8.5,6 V 12 z"></path>\n</svg>',next:'<svg xmlns="http://www.w3.org/2000/svg" height="36" width="36" viewBox="0 0 36 36">\n <path d="M 12,24 20.5,18 12,12 V 24 z M 22,12 v 12 h 2 V 12 h -2 z"></path>\n</svg>'},Z={},Object.keys(X).forEach(function(t){var e=document.createElement("div");e.innerHTML='<i class="art-icon art-icon-'.concat(t,'">').concat(X[t],"</i>");var n=Q(e.childNodes,1);Z[t]=n[0]}),Z),K=function(){function e(t){jt(this,e),this.option=t}return r(e,[{key:"apply",value:function(t,e){var n=this,i=t.events.proxy,r=t.i18n,o=t.player;this.$fullscreen=$(e,G.fullscreen),T(this.$fullscreen,r.get("Fullscreen")),i(e,"click",function(){o.fullscreenToggle()}),t.on("fullscreen:enabled",function(){zt(n.$fullscreen,"opacity","0.8"),T(n.$fullscreen,r.get("Exit fullscreen"))}),t.on("fullscreen:exit",function(){zt(n.$fullscreen,"opacity","1"),T(n.$fullscreen,r.get("Fullscreen"))})}}]),e}(),tt=function(){function e(t){jt(this,e),this.option=t}return r(e,[{key:"apply",value:function(t,e){var n=this,i=t.events.proxy,r=t.i18n,o=t.player;this.$fullscreenWeb=$(e,G.fullscreenWeb),T(this.$fullscreenWeb,r.get("Web fullscreen")),i(e,"click",function(){o.fullscreenWebToggle()}),t.on("fullscreenWeb:enabled",function(){zt(n.$fullscreenWeb,"opacity","0.8"),T(n.$fullscreenWeb,r.get("Exit web fullscreen"))}),t.on("fullscreenWeb:exit",function(){zt(n.$fullscreenWeb,"opacity","1"),T(n.$fullscreenWeb,r.get("Web fullscreen"))})}}]),e}(),et=function(){function e(t){jt(this,e),this.option=t}return r(e,[{key:"apply",value:function(t,e){var n=t.events.proxy,i=t.i18n,r=t.player;this.$pip=$(e,G.pip),T(this.$pip,i.get("Mini player")),n(e,"click",function(){r.pipEnabled()})}}]),e}(),nt=function(){function e(t){jt(this,e),this.option=t}return r(e,[{key:"apply",value:function(t,e){var n=this,i=t.events.proxy,r=t.player,o=t.i18n;this.$play=$(e,G.play),this.$pause=$(e,G.pause),T(this.$play,o.get("Play")),T(this.$pause,o.get("Pause")),zt(this.$pause,"display","none"),i(this.$play,"click",function(){r.play()}),i(this.$pause,"click",function(){r.pause()}),t.on("video:playing",function(){zt(n.$play,"display","none"),zt(n.$pause,"display","flex")}),t.on("video:pause",function(){zt(n.$play,"display","flex"),zt(n.$pause,"display","none")})}}]),e}(),it=function(){function e(t){jt(this,e),this.option=t,this.isDroging=!1,this.set=this.set.bind(this)}return r(e,[{key:"apply",value:function(t,e){var r=this;this.art=t,this.$control=e;var n=t.option,i=n.highlight,o=n.theme,a=t.events.proxy,s=t.player;$(e,'\n <div class="art-control-progress-inner">\n <div class="art-progress-loaded"></div>\n <div class="art-progress-played" style="background: '.concat(o,'"></div>\n <div class="art-progress-highlight"></div>\n <div class="art-progress-indicator" style="background: ').concat(o,'"></div>\n <div class="art-progress-tip art-tip"></div>\n </div>\n ')),this.$loaded=e.querySelector(".art-progress-loaded"),this.$played=e.querySelector(".art-progress-played"),this.$highlight=e.querySelector(".art-progress-highlight"),this.$indicator=e.querySelector(".art-progress-indicator"),this.$tip=e.querySelector(".art-progress-tip"),i.forEach(function(t){var e=At(t.time,0,s.duration)/s.duration*100;$(r.$highlight,'<span data-text="'.concat(t.text,'" data-time="').concat(t.time,'" style="left: ').concat(e,'%"></span>'))}),this.set("loaded",s.loaded),this.art.on("video:progress",function(){r.set("loaded",s.loaded)}),this.art.on("video:timeupdate",function(){r.set("played",s.played)}),this.art.on("video:ended",function(){r.set("played",1)}),a(e,"mousemove",function(t){zt(r.$tip,"display","block"),-1<t.composedPath().indexOf(r.$highlight)?r.showHighlight(t):r.showTime(t)}),a(e,"mouseout",function(){zt(r.$tip,"display","none")}),a(e,"click",function(t){if(t.target!==r.$indicator){var e=r.getPosFromEvent(t),n=e.second,i=e.percentage;r.set("played",i),s.seek(n)}}),a(this.$indicator,"mousedown",function(){r.isDroging=!0}),a(document,"mousemove",function(t){if(r.isDroging){var e=r.getPosFromEvent(t),n=e.second,i=e.percentage;r.$indicator.classList.add("art-show-indicator"),r.set("played",i),s.seek(n)}}),a(document,"mouseup",function(){r.isDroging&&(r.isDroging=!1,r.$indicator.classList.remove("art-show-indicator"))})}},{key:"showHighlight",value:function(t){var e=t.target.dataset,n=e.text,i=e.time;this.$tip.innerHTML=n;var r=Number(i)/this.art.player.duration*this.$control.clientWidth+t.target.clientWidth/2-this.$tip.clientWidth/2;zt(this.$tip,"left","".concat(r,"px"))}},{key:"showTime",value:function(t){var e=this.getPosFromEvent(t),n=e.width,i=e.time,r=this.$tip.clientWidth;this.$tip.innerHTML=i,n<=r/2?zt(this.$tip,"left",0):n>this.$control.clientWidth-r/2?zt(this.$tip,"left","".concat(this.$control.clientWidth-r,"px")):zt(this.$tip,"left","".concat(n-r/2,"px"))}},{key:"getPosFromEvent",value:function(t){var e=this.art,n=e.player,i=e.refs.$progress,r=i.getBoundingClientRect().left,o=At(t.x-r,0,i.clientWidth),a=o/i.clientWidth*n.duration;return{second:a,time:Dt(a),width:o,percentage:At(o/i.clientWidth,0,1)}}},{key:"set",value:function(t,e){zt(this["$".concat(t)],"width","".concat(100*e,"%")),"played"===t&&zt(this.$indicator,"left","calc(".concat(100*e,"% - ").concat(S(this.$indicator,"width")/2,"px)"))}}]),e}(),rt=function(){function e(t){jt(this,e),this.option=t}return r(e,[{key:"apply",value:function(t,e){var n=this,i=t.events.proxy,r=t.i18n,o=t.subtitle;this.$subtitle=$(e,G.subtitle),T(this.$subtitle,r.get("Hide subtitle")),i(e,"click",function(){o.toggle()}),t.on("subtitle:show",function(){zt(n.$subtitle,"opacity","1"),T(n.$subtitle,r.get("Hide subtitle"))}),t.on("subtitle:hide",function(){zt(n.$subtitle,"opacity","0.8"),T(n.$subtitle,r.get("Show subtitle"))})}}]),e}(),ot=function(){function e(t){jt(this,e),this.option=t}return r(e,[{key:"apply",value:function(e,n){function i(){var t="".concat(Dt(e.player.currentTime)," / ").concat(Dt(e.player.duration));t!==n.innerHTML&&(n.innerHTML=t)}i(),["video:loadedmetadata","video:timeupdate","video:progress"].forEach(function(t){e.on(t,i)})}}]),e}(),at=function(){function e(t){jt(this,e),this.option=t,this.isDroging=!1}return r(e,[{key:"apply",value:function(t,e){var n=this,i=t.events,r=i.proxy,o=i.hover,a=t.player,s=t.i18n,c=t.storage;this.$volume=$(e,G.volume),this.$volumeClose=$(e,G.volumeClose),this.$volumePanel=$(e,'<div class="art-volume-panel"></div>'),this.$volumeHandle=$(this.$volumePanel,'<div class="art-volume-slider-handle"></div>'),T(this.$volume,s.get("Mute")),zt(this.$volumeClose,"display","none"),t.on("volumeChange",function(t){0===t?(zt(n.$volume,"display","none"),zt(n.$volumeClose,"display","flex")):(zt(n.$volume,"display","flex"),zt(n.$volumeClose,"display","none"))}),t.on("video:volumechange",function(){n.setVolumeHandle(a.volume)}),r(this.$volume,"click",function(){a.volume=0}),r(this.$volumeClose,"click",function(){a.volume=c.get("volume")}),o(e,function(){n.$volumePanel.classList.add("art-volume-panel-hover"),Ht(200).then(function(){n.setVolumeHandle(a.volume)})},function(){n.$volumePanel.classList.remove("art-volume-panel-hover")}),r(this.$volumePanel,"click",function(t){a.volume=n.volumeChangeFromEvent(t)}),r(this.$volumeHandle,"mousedown",function(){n.isDroging=!0}),r(this.$volumeHandle,"mousemove",function(t){n.isDroging&&(a.volume=n.volumeChangeFromEvent(t))}),r(document,"mouseup",function(){n.isDroging&&(n.isDroging=!1)})}},{key:"volumeChangeFromEvent",value:function(t){var e=this.$volumePanel.getBoundingClientRect(),n=e.left,i=e.width,r=this.$volumeHandle.getBoundingClientRect().width;return At(t.x-n-r/2,0,i-r/2)/(i-r)}},{key:"setVolumeHandle",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:.7,e=S(this.$volumePanel,"width"),n=S(this.$volumeHandle,"width"),i=n/2+(e-n)*t-n/2;zt(this.$volumeHandle,"left","".concat(i,"px"))}}]),e}(),st=function(){function e(t){jt(this,e),this.option=t}return r(e,[{key:"apply",value:function(t,e){var n=this,i=t.events.proxy,r=t.i18n,o=t.setting;this.$setting=$(e,G.setting),T(this.$setting,r.get("Show setting")),i(e,"click",function(){o.toggle()}),t.on("setting:show",function(){zt(n.$setting,"opacity","0.8"),T(n.$setting,r.get("Hide setting"))}),t.on("setting:hide",function(){zt(n.$setting,"opacity","1"),T(n.$setting,r.get("Show setting"))})}}]),e}(),ct=function(){function e(t){jt(this,e),this.option=t,this.loading=!1,this.isLoad=!1}return r(e,[{key:"apply",value:function(t,e){var n=this;Mt((this.art=t).controls.progress,"'thumbnails' control dependent on 'progress' control");var i=t.refs.$progress,r=t.events,o=r.proxy,a=r.loadImg;this.$control=e,o(i,"mousemove",function(t){n.loading||(n.loading=!0,a(n.art.option.thumbnails.url).then(function(){n.isLoad=!0})),n.isLoad&&(zt(e,"display","block"),n.showThumbnails(t))}),o(i,"mouseout",function(){zt(e,"display","none")})}},{key:"showThumbnails",value:function(t){var e=this.art,n=e.refs.$progress,i=e.controls.progress.getPosFromEvent(t).width,r=this.art.option.thumbnails,o=r.url,a=r.height,s=r.width,c=r.number,l=r.column,u=n.clientWidth/c,d=Math.ceil(i/u),h=Math.ceil(d/l),f=d%l||l;zt(this.$control,"backgroundImage","url(".concat(o,")")),zt(this.$control,"height","".concat(a,"px")),zt(this.$control,"width","".concat(s,"px")),zt(this.$control,"backgroundPosition","-".concat(--f*s,"px -").concat(--h*a,"px")),i<=s/2?zt(this.$control,"left",0):i>n.clientWidth-s/2?zt(this.$control,"left","".concat(n.clientWidth-s,"px")):zt(this.$control,"left","".concat(i-s/2,"px"))}}]),e}(),lt=function(){function e(t){jt(this,e),this.option=t}return r(e,[{key:"apply",value:function(t,e){var n=t.events.proxy,i=t.i18n,r=t.player;this.$screenshot=$(e,G.screenshot),T(this.$screenshot,i.get("Screenshot")),n(this.$screenshot,"click",function(){r.screenshot()})}}]),e}(),ut=function(){function e(t){jt(this,e),this.option=t,this.playIndex=-1}return r(e,[{key:"apply",value:function(t,e){var o=this,a=t.option,n=t.events,i=n.proxy,r=n.hover,s=t.player,c=a.quality.find(function(t){return t.default})||a.quality[0];this.playIndex=a.quality.indexOf(c);var l=$(e,'<div class="art-quality-name">'.concat(c.name,"</div>")),u=a.quality.map(function(t,e){return'<div class="art-quality-item" data-index="'.concat(e,'">').concat(t.name,"</div>")}).join(""),d=$(e,'<div class="art-qualitys">'.concat(u,"</div>"));r(e,function(){e.classList.add("art-quality-hover")},function(){e.classList.remove("art-quality-hover")}),i(d,"click",function(t){var e=Number(t.target.dataset.index),n=a.quality[e],i=n.url,r=n.name;i&&r&&o.playIndex!==e&&(s.switch(i,r),l.innerHTML=r,o.playIndex=e)})}}]),e}(),dt=0,ht=function(){function n(t){var e=this;jt(this,n),dt=0,this.art=t,this.art.on("firstCanplay",function(){e.init()})}return r(n,[{key:"init",value:function(){var e=this;this.add(new it({name:"progress",disable:!1,position:"top",index:10})),this.add(new ct({name:"thumbnails",disable:!this.art.option.thumbnails.url,position:"top",index:20})),this.add(new nt({name:"playAndPause",disable:!1,position:"left",index:10})),this.add(new at({name:"volume",disable:!1,position:"left",index:20})),this.add(new ot({name:"time",disable:!1,position:"left",index:30})),this.add(new ut({name:"quality",disable:0===this.art.option.quality.length,position:"right",index:10})),this.add(new lt({name:"screenshot",disable:!this.art.option.screenshot,position:"right",index:20})),this.add(new rt({name:"subtitle",disable:!this.art.option.subtitle.url,position:"right",index:30})),this.add(new st({name:"setting",disable:!this.art.option.setting,position:"right",index:40})),this.add(new et({name:"pip",disable:!this.art.option.pip,position:"right",index:50})),this.add(new tt({name:"fullscreenWeb",disable:!this.art.option.fullscreenWeb,position:"right",index:60})),this.add(new K({name:"fullscreen",disable:!this.art.option.fullscreen,position:"right",index:70})),this.art.option.controls.forEach(function(t){e.add(t)})}},{key:"add",value:function(t,e){var n=t.option;if(n&&!n.disable){dt++;var i=n.name||"control".concat(dt),r=document.createElement("div");r.classList.value="art-control art-control-".concat(i),this.mount(n.position,r,n.index||dt),this.commonMethod(t,r),t.apply&&t.apply(this.art,r),e&&e(r),this[i]=t}}},{key:"mount",value:function(t,e,n){var i=this.art.refs,r=i.$progress,o=i.$controlsLeft,a=i.$controlsRight;switch(t){case"top":k(r,e,n);break;case"left":k(o,e,n);break;case"right":k(a,e,n)}}},{key:"commonMethod",value:function(t,e){var n=this;Object.defineProperty(t,"hide",{value:function(){zt(e,"display","none"),n.art.emit("control:hide",e)}}),Object.defineProperty(t,"show",{value:function(){zt(e,"display","block"),n.art.emit("control:show",e)}})}},{key:"show",value:function(){this.art.refs.$player.classList.add("artplayer-controls-show")}},{key:"hide",value:function(){this.art.refs.$player.classList.remove("artplayer-controls-show")}}]),n}();function ft(n){var t=n.option,e=n.i18n,i=n.player;return{disable:!t.playbackRate,name:"playbackRate",index:10,html:"\n ".concat(e.get("Play speed"),':\n <span data-rate="0.5">0.5</span>\n <span data-rate="0.75">0.75</span>\n <span data-rate="1" class="normal current">').concat(e.get("Normal"),'</span>\n <span data-rate="1.25">1.25</span>\n <span data-rate="1.5">1.5</span>\n <span data-rate="2.0">2.0</span>\n '),click:function(t){var e=t.target.dataset.rate;e&&(i.playbackRate(Number(e)),n.contextmenu.hide())},callback:function(t){n.on("playbackRateChange",function(e){R(Array.from(t.querySelectorAll("span")).find(function(t){return Number(t.dataset.rate)===e}),"current")})}}}function pt(n){var t=n.option,e=n.i18n,i=n.player;return{disable:!t.aspectRatio,name:"aspectRatio",index:20,html:"\n ".concat(e.get("Aspect ratio"),':\n <span data-ratio="default" class="default current">').concat(e.get("Default"),'</span>\n <span data-ratio="4:3">4:3</span>\n <span data-ratio="16:9">16:9</span>\n '),click:function(t){var e=t.target.dataset.ratio;e&&(i.aspectRatio(e.split(":")),n.contextmenu.hide())},callback:function(t){n.on("aspectRatioChange",function(e){R(Array.from(t.querySelectorAll("span")).find(function(t){return t.dataset.ratio===e.join(":")}),"current")})}}}function vt(t){return{disable:!1,name:"info",index:30,html:t.i18n.get("Video info"),click:function(){t.info.show(),t.contextmenu.hide()}}}var yt={disable:!1,name:"version",index:40,html:'<a href="https://github.com/zhw2590582/artplayer" target="_blank">ArtPlayer 1.0.2</a>'};function gt(t){return{disable:!1,name:"close",index:50,html:t.i18n.get("Close"),click:function(){t.contextmenu.hide()}}}var mt=0,bt=function(){function n(t){var e=this;jt(this,n),mt=0,this.art=t,this.art.on("firstCanplay",function(){e.init()})}return r(n,[{key:"init",value:function(){var e=this,t=this.art,n=t.option,i=t.refs,r=i.$player,o=i.$contextmenu,a=t.events.proxy;n.contextmenu.push(ft,pt,vt,yt,gt),n.contextmenu.forEach(function(t){e.add(t)}),a(r,"contextmenu",function(t){t.preventDefault(),e.show(),e.setPos(t)}),a(r,"click",function(t){t.composedPath().includes(o)||e.hide()})}},{key:"add",value:function(t,e){var n=this,i="function"==typeof t?t(this.art):t;if(!i.disable){mt++;var r=this.art,o=r.refs.$contextmenu,a=r.events.proxy,s=i.name||"contextmenu".concat(mt),c=document.createElement("div");c.classList.value="art-contextmenu art-contextmenu-".concat(s),E(c,i.style||{}),$(c,i.html),i.click&&a(c,"click",function(t){t.preventDefault(),i.click.call(n,t),n.art.emit("contextmenu:click",c)}),k(o,c,i.index||mt),this[s]=c,i.callback&&i.callback(c),e&&e(c),this.art.emit("contextmenu:add",c)}}},{key:"setPos",value:function(t){var e=this.art.refs,n=e.$player,i=e.$contextmenu,r=t.clientX,o=t.clientY,a=n.getBoundingClientRect(),s=a.height,c=a.width,l=a.left,u=a.top,d=i.getBoundingClientRect(),h=d.height,f=d.width,p=r-l,v=o-u;l+c<r+f&&(p=c-f),u+s<o+h&&(v=s-h),zt(i,"left","".concat(p,"px")),zt(i,"top","".concat(v,"px"))}},{key:"hide",value:function(){var t=this.art.refs.$contextmenu;zt(t,"display","none"),this.art.emit("contextmenu:hide",t)}},{key:"show",value:function(){var t=this.art.refs.$contextmenu;zt(t,"display","block"),this.art.emit("contextmenu:show",t)}}]),n}(),wt=function(){function e(t){jt(this,e),this.art=t,this.init()}return r(e,[{key:"init",value:function(){var t=this,e=this.art,n=e.refs,i=n.$infoClose,r=n.$infoPanel;(0,e.events.proxy)(i,"click",function(){t.hide()}),this.art.on("switch",function(){r.innerHTML&&t.getHeader()})}},{key:"show",value:function(){var t=this.art.refs,e=t.$info,n=t.$infoPanel;zt(e,"display","block"),n.innerHTML||($(n,this.creatInfo()),this.getHeader()),clearTimeout(this.timer),this.loop(),this.art.emit("info:show",e)}},{key:"creatInfo",value:function(){var t=[];return t.push('\n <div class="art-info-item ">\n <div class="art-info-title">Player version:</div>\n <div class="art-info-content">1.0.2</div>\n </div>\n '),t.push('\n <div class="art-info-item">\n <div class="art-info-title">Video url:</div>\n <div class="art-info-content" data-video="currentSrc"></div>\n </div>\n '),t.push('\n <div class="art-info-item">\n <div class="art-info-title">Video type:</div>\n <div class="art-info-content" data-head="Content-Type"></div>\n </div>\n '),t.push('\n <div class="art-info-item">\n <div class="art-info-title">Video size:</div>\n <div class="art-info-content" data-head="Content-length"></div>\n </div>\n '),t.push('\n <div class="art-info-item">\n <div class="art-info-title">Video volume:</div>\n <div class="art-info-content" data-video="volume"></div>\n </div>\n '),t.push('\n <div class="art-info-item">\n <div class="art-info-title">Video time:</div>\n <div class="art-info-content" data-video="currentTime"></div>\n </div>\n '),t.push('\n <div class="art-info-item">\n <div class="art-info-title">Video duration:</div>\n <div class="art-info-content" data-video="duration"></div>\n </div>\n '),t.push('\n <div class="art-info-item">\n <div class="art-info-title">Video resolution:</div>\n <div class="art-info-content">\n <span data-video="videoWidth"></span> x <span data-video="videoHeight"></span>\n </div>\n </div>\n '),t.join("")}},{key:"getHeader",value:function(){var t=this.art.refs,e=t.$infoPanel,n=t.$video.src,i=Array.from(e.querySelectorAll("[data-head]"));i.forEach(function(t){t.innerHTML="loading..."}),fetch(n,{method:"HEAD"}).then(function(n){i.forEach(function(t){var e=n.headers.get(t.dataset.head);t.innerHTML=void 0!==e?e:"unknown"})}).catch(function(){i.forEach(function(t){t.innerHTML="unknown"})})}},{key:"readInfo",value:function(){var t=this.art.refs,e=t.$infoPanel,n=t.$video;Array.from(e.querySelectorAll("[data-video]")).forEach(function(t){var e=n[t.dataset.video];t.innerHTML=void 0!==e?e:"unknown"})}},{key:"loop",value:function(){var t=this;this.readInfo(),this.timer=setTimeout(function(){t.readInfo(),t.loop()},1e3)}},{key:"hide",value:function(){var t=this.art.refs.$info;zt(t,"display","none"),clearTimeout(this.timer),this.art.emit("info:hide",t)}}]),e}(),xt=function(){function n(t){jt(this,n),this.art=t,this.state=!0,this.vttText="";var e=this.art.option.subtitle.url;e&&(this.checkExt(e),this.init())}return r(n,[{key:"init",value:function(){var i=this,t=this.art,e=t.events.proxy,n=t.option.subtitle,r=t.refs,o=r.$video,a=r.$subtitle;E(a,n.style||{});var s=document.createElement("track");s.default=!0,s.kind="metadata",this.load(n.url).then(function(t){if(s.src=t,o.appendChild(s),i.art.refs.$track=s,o.textTracks&&o.textTracks[0]){var n=Q(o.textTracks,1)[0];e(n,"cuechange",function(){var t=Q(n.activeCues,1)[0];if(a.innerHTML="",t){var e=document.createElement("div");e.appendChild(t.getCueAsHTML()),a.innerHTML=e.innerHTML.split(/\r?\n/).map(function(t){return"<p>".concat(t,"</p>")}).join("")}i.art.emit("subtitle:update",a)})}})}},{key:"load",value:function(t){var e,n=this,i=this.art.notice;return fetch(t).then(function(t){return e=t.headers.get("Content-Type"),t.text()}).then(function(t){return/x-subrip/gi.test(e)?n.vttText=n.srtToVtt(t):n.vttText=t,n.vttToBlob(n.vttText)}).catch(function(t){throw i.show(t),console.warn(t),t})}},{key:"srtToVtt",value:function(t){return"WEBVTT \r\n\r\n".concat(t.replace(/\{\\([ibu])\}/g,"</$1>").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"</$1>").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").concat("\r\n\r\n"))}},{key:"vttToBlob",value:function(t){return URL.createObjectURL(new Blob([t],{type:"text/vtt"}))}},{key:"checkExt",value:function(t){var e=x(t);Mt("vtt"===e||"srt"===e,"'subtitle.url' option require 'vtt' or 'srt' format, but got '".concat(e,"'."))}},{key:"show",value:function(){var t=this.art,e=t.refs.$subtitle,n=t.i18n,i=t.notice;zt(e,"display","block"),this.state=!0,i.show(n.get("Show subtitle")),this.art.emit("subtitle:show",e)}},{key:"hide",value:function(){var t=this.art,e=t.refs.$subtitle,n=t.i18n,i=t.notice;zt(e,"display","none"),this.state=!1,i.show(n.get("Hide subtitle")),this.art.emit("subtitle:hide",e)}},{key:"toggle",value:function(){this.state?this.hide():this.show()}},{key:"switch",value:function(e){var n=this,i=this.art.refs.$track;this.checkExt(e),Mt(i,"You need to initialize the subtitle option first."),this.load(e).then(function(t){i.src=t,n.art.emit("subtitle:switch",e)})}}]),n}();var $t=n(function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.ContentRect=function(t){if("getBBox"in t){var e=t.getBBox();return Object.freeze({height:e.height,left:0,top:0,width:e.width})}var n=window.getComputedStyle(t);return Object.freeze({height:parseFloat(n.height||"0"),left:parseFloat(n.paddingLeft||"0"),top:parseFloat(n.paddingTop||"0"),width:parseFloat(n.width||"0")})}});e($t);$t.ContentRect;var kt=n(function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.target=t,this.$$broadcastWidth=this.$$broadcastHeight=0}return Object.defineProperty(t.prototype,"broadcastWidth",{get:function(){return this.$$broadcastWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"broadcastHeight",{get:function(){return this.$$broadcastHeight},enumerable:!0,configurable:!0}),t.prototype.isActive=function(){var t=$t.ContentRect(this.target);return!!t&&(t.width!==this.broadcastWidth||t.height!==this.broadcastHeight)},t}();e.ResizeObservation=n});e(kt);kt.ResizeObservation;var Et=n(function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){this.target=t,this.contentRect=$t.ContentRect(t)};e.ResizeObserverEntry=n});e(Et);Et.ResizeObserverEntry;var St=n(function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var n=[],i=function(){function t(t){this.$$observationTargets=[],this.$$activeTargets=[],this.$$skippedTargets=[];var e=function(t){if(void 0===t)return"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.";if("function"!=typeof t)return"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function."}(t);if(e)throw TypeError(e);this.$$callback=t,n.push(this)}return t.prototype.observe=function(t){var e=r("observe",t);if(e)throw TypeError(e);0<o(this.$$observationTargets,t)||(this.$$observationTargets.push(new kt.ResizeObservation(t)),d())},t.prototype.unobserve=function(t){var e=r("unobserve",t);if(e)throw TypeError(e);var n=o(this.$$observationTargets,t);n<0||(this.$$observationTargets.splice(n,1),f())},t.prototype.disconnect=function(){this.$$observationTargets=[],this.$$activeTargets=[]},t}();function r(t,e){return void 0===e?"Failed to execute '"+t+"' on 'ResizeObserver': 1 argument required, but only 0 present.":e instanceof window.Element?void 0:"Failed to execute '"+t+"' on 'ResizeObserver': parameter 1 is not of type 'Element'."}function o(t,e){for(var n=0;n<t.length;n+=1)if(t[n].target===e)return n;return-1}e.ResizeObserver=i;var a,s=function(i){n.forEach(function(n){n.$$activeTargets=[],n.$$skippedTargets=[],n.$$observationTargets.forEach(function(t){if(t.isActive()){var e=l(t.target);i<e?n.$$activeTargets.push(t):n.$$skippedTargets.push(t)}})})},c=function(){var r=1/0;return n.forEach(function(t){if(t.$$activeTargets.length){var i=[];t.$$activeTargets.forEach(function(t){var e=new Et.ResizeObserverEntry(t.target);i.push(e),t.$$broadcastWidth=e.contentRect.width,t.$$broadcastHeight=e.contentRect.height;var n=l(t.target);n<r&&(r=n)}),t.$$callback(i,t),t.$$activeTargets=[]}}),r},l=function(t){for(var e=0;t.parentNode;)t=t.parentNode,e+=1;return e},u=function(){var t,e=0;for(s(e);n.some(function(t){return!!t.$$activeTargets.length});)e=c(),s(e);n.some(function(t){return!!t.$$skippedTargets.length})&&(t=new window.ErrorEvent("ResizeLoopError",{message:"ResizeObserver loop completed with undelivered notifications."}),window.dispatchEvent(t))},d=function(){a||h()},h=function(){a=window.requestAnimationFrame(function(){u(),h()})},f=function(){a&&!n.some(function(t){return!!t.$$observationTargets.length})&&(window.cancelAnimationFrame(a),a=void 0)};e.install=function(){return window.ResizeObserver=i}});e(St);var Pt=St.ResizeObserver;St.install;var Tt=function(){function b(t){var e,n,i,r,o,a,s,c,l,u,d,h,f,p,v,y,g,m;jt(this,b),this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),n=this,i=(e=t).refs.$player,n.proxy(document,["click","contextmenu"],function(t){-1<t.composedPath().indexOf(i)?e.isFocus=!0:(e.isFocus=!1,e.contextmenu.hide())}),o=this,a=(r=t).refs.$player,o.hover(a,function(){a.classList.add("artplayer-hover"),r.emit("hoverenter")},function(){a.classList.remove("artplayer-hover"),r.emit("hoverleave")}),c=this,l=(s=t).refs.$player,u=_(function(){l.classList.add("artplayer-hide-cursor"),l.classList.remove("artplayer-hover"),s.controls.hide()},5e3),s.on("hoverleave",function(){s.isPlaying&&u()}),c.proxy(l,"mousemove",function(){u.clearTimeout(),l.classList.remove("artplayer-hide-cursor"),s.controls.show(),!s.player.pipState&&s.isPlaying&&u()}),h=this,f=(d=t).option,p=d.refs.$player,(v=new Pt(function(){Ht().then(function(){f.autoSize&&(d.player.fullscreenState||d.player.fullscreenWebState||d.player.pipState?d.player.autoSizeRemove():d.player.autoSize()),d.player.aspectRatioReset(),d.emit("resize",p)})})).observe(p),h.destroyEvents.push(function(){v.unobserve(p)}),g=this,m=(y=t).refs.$video,g.proxy(m,"dblclick",function(){y.player.fullscreenToggle(),y.emit("dblclick")})}return r(b,[{key:"proxy",value:function(e,t,n){var i=this,r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};Array.isArray(t)?t.forEach(function(t){return i.proxy(e,t,n,r)}):(e.addEventListener(t,n,r),this.destroyEvents.push(function(){e.removeEventListener(t,n,r)}))}},{key:"hover",value:function(t,e,n){this.proxy(t,"mouseenter",e),this.proxy(t,"mouseleave",n)}},{key:"loadImg",value:function(i){var r=this;return new Promise(function(t,e){var n;if(i instanceof HTMLImageElement)n=i;else{if("string"!=typeof i)return e(i);(n=new Image).src=i}if(n.complete)return t(n);r.proxy(n,"load",function(){return t(n)}),r.proxy(n,"error",function(){return e(n)})})}},{key:"destroy",value:function(){this.destroyEvents.forEach(function(t){return t()})}}]),b}(),Ct=function(){function n(t){var e=this;jt(this,n),this.art=t,this.art.option.hotkey&&this.art.on("firstCanplay",function(){e.init()})}return r(n,[{key:"init",value:function(){var i=this,t=this.art,r=t.player;(0,t.events.proxy)(window,"keydown",function(t){if(i.art.isFocus){var e=document.activeElement.tagName.toUpperCase(),n=document.activeElement.getAttribute("contenteditable");if("INPUT"!==e&&"TEXTAREA"!==e&&""!==n&&"true"!==n)switch(i.art.emit("hotkey",t),t.keyCode){case 39:t.preventDefault(),r.seek(r.currentTime+10);break;case 37:t.preventDefault(),r.seek(r.currentTime-10);break;case 38:t.preventDefault(),r.volume+=.05;break;case 40:t.preventDefault(),r.volume-=.05;break;case 32:t.preventDefault(),r.toggle()}}})}}]),n}(),Rt=0,_t=function(){function n(t){var e=this;jt(this,n),Rt=0,this.art=t,this.add=this.add.bind(this),this.art.option.layers.forEach(function(t){e.add(t)})}return r(n,[{key:"add",value:function(t,e){var n=this,i="function"==typeof t?t(this.art):t;if(!i.disable){Rt++;var r=this.art,o=r.refs.$layers,a=r.events.proxy,s=i.name||"layer".concat(Rt),c=document.createElement("div");c.classList.value="art-layer art-layer-".concat(s),E(c,i.style||{}),$(c,i.html),i.click&&a(c,"click",function(t){t.preventDefault(),i.click.call(n,t),n.art.emit("layers:click",c)}),k(o,c,i.index||Rt),this[s]=c,t.callback&&t.callback(c),e&&e(c),this.art.emit("layers:add",c)}}},{key:"show",value:function(){var t=this.art.refs.$layers;zt(t,"display","block"),this.art.emit("layers:show",t)}},{key:"hide",value:function(){var t=this.art.refs.$layers;zt(t,"display","none"),this.art.emit("layers:hide",t)}}]),n}(),Lt=function(){function e(t){jt(this,e),$((this.art=t).refs.$loading,G.loading)}return r(e,[{key:"hide",value:function(){var t=this.art.refs.$loading;zt(t,"display","none"),this.art.emit("loading:hide",t)}},{key:"show",value:function(){var t=this.art.refs.$loading;zt(t,"display","flex"),this.art.emit("loading:show",t)}}]),e}(),Ot=function(){function e(t){jt(this,e),this.art=t,this.timer=null}return r(e,[{key:"show",value:function(t){var e=this,n=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:1e3,r=this.art.refs,o=r.$notice,a=r.$noticeInner;zt(o,"display","block"),a.innerHTML=t instanceof Error?t.message.trim():t,n&&(clearTimeout(this.timer),this.timer=setTimeout(function(){e.hide()},i)),this.art.emit("notice:show",o)}},{key:"hide",value:function(){var t=this.art.refs.$notice;zt(t,"display","none"),this.art.emit("notice:hide",t)}}]),e}(),It=function(){function e(t){jt(this,e),$((this.art=t).refs.$mask,G.playBig)}return r(e,[{key:"show",value:function(){var t=this.art.refs.$mask;zt(t,"display","flex"),this.art.emit("mask:show",t)}},{key:"hide",value:function(){var t=this.art.refs.$mask;zt(t,"display","none"),this.art.emit("mask:show",t)}}]),e}(),Nt=function(){function e(t){jt(this,e),this.option=t}return r(e,[{key:"apply",value:function(t,e){var n=this,i=t.i18n,r=t.events.proxy,o=t.player;this.$header=e.querySelector(".art-setting-header"),this.$body=e.querySelector(".art-setting-body"),this.$btns=$(this.$body,'\n <div class="art-setting-btns">\n <div class="art-setting-btn current">\n <span data-flip="normal">'.concat(i.get("Normal"),'</span>\n </div>\n <div class="art-setting-btn">\n <span data-flip="horizontal">').concat(i.get("Horizontal"),'</span>\n </div>\n <div class="art-setting-btn">\n <span data-flip="vertical">').concat(i.get("Vertical"),"</span>\n </div>\n </div>\n ")),r(this.$btns,"click",function(t){var e=t.target.dataset.flip;e&&o.flip(e)}),t.on("flipChange",function(e){R(Array.from(n.$btns.querySelectorAll("span")).find(function(t){return t.dataset.flip===e}).parentElement,"current")})}}]),e}(),Vt=0,Ut=function(){function n(t){var e=this;jt(this,n),Vt=0,this.art=t,this.state=!1,t.option.setting&&this.art.on("firstCanplay",function(){e.init()})}return r(n,[{key:"init",value:function(){var t=this,e=this.art,n=e.refs.$settingClose;(0,e.events.proxy)(n,"click",function(){t.hide()}),this.add(new Nt({name:"flip",title:"Flip",disable:!1,index:10}))}},{key:"add",value:function(t,e){var n=t.option;if(n&&!n.disable){Vt++;var i=this.art,r=i.refs,o=i.i18n,a=n.name||"setting".concat(Vt),s=n.title||a,c=document.createElement("div");c.setAttribute("class","art-setting art-setting-".concat(a)),$(c,'<div class="art-setting-header">'.concat(o.get(s),"</div>")),$(c,'<div class="art-setting-body"></div>'),t.apply&&t.apply(this.art,c),k(r.$settingBody,c,n.index||Vt),this[a]=c,e&&e(c),this.art.emit("setting:add",c)}}},{key:"show",value:function(){var t=this.art.refs.$setting;zt(t,"display","flex"),this.state=!0,this.art.emit("setting:show",t)}},{key:"hide",value:function(){var t=this.art.refs.$setting;zt(t,"display","none"),this.state=!1,this.art.emit("setting:hide",t)}},{key:"toggle",value:function(){this.state?this.hide():this.show()}}]),n}(),Yt=function(){function n(t){var e=this;jt(this,n),this.art=t,this.storageName="artplayer_settings",Ht().then(function(){e.initVolume()})}return r(n,[{key:"get",value:function(t){var e=JSON.parse(localStorage.getItem(this.storageName))||{};return t?e[t]:{}}},{key:"set",value:function(t,e){var n=Object.assign({},this.get(),h({},t,e));localStorage.setItem(this.storageName,JSON.stringify(n))}},{key:"initVolume",value:function(){var t=this.art.player,e=this.get("volume");e&&(t.volume=e)}}]),n}(),Jt=0,Qt=function(t){function n(t){var e;return jt(this,n),(e=s(this,c(n).call(this))).option=P({},n.DEFAULTS,t),O(e.option,M),e.init(),e}return d(n,z),r(n,[{key:"init",value:function(){var e=this;this.isFocus=!1,this.isPlaying=!1,this.refs={},this.option.container instanceof Element?this.refs.$container=this.option.container:this.refs.$container=document.querySelector(this.option.container),n.instances.some(function(t){return t.refs.$container===e.refs.$container})&&Mt(!1,"Cannot mount multiple instances on the same dom element"),this.template=new D(this),this.storage=new Yt(this),this.i18n=new W(this),this.notice=new Ot(this),this.events=new Tt(this),this.player=new V(this),this.layers=new _t(this),this.controls=new ht(this),this.contextmenu=new bt(this),this.subtitle=new xt(this),this.info=new wt(this),this.loading=new Lt(this),this.hotkey=new Ct(this),this.mask=new It(this),this.setting=new Ut(this),this.id=Jt++,n.instances.push(this)}},{key:"destroy",value:function(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0];this.events.destroy(),n.instances.splice(n.instances.indexOf(this),1),t?this.refs.$container.innerHTML="":this.refs.$player.classList.add("artplayer-destroy"),this.emit("destroy")}}],[{key:"use",value:function(t){var e=this.plugins||(this.plugins=[]);if(-1===e.indexOf){e.push(t);var n=Array.from(arguments).slice(1);n.unshift(this),t.apply(null,n),this.prototype.emit("use",t)}return this}},{key:"version",get:function(){return"1.0.2"}},{key:"config",get:function(){return Wt}},{key:"utils",get:function(){return L}},{key:"DEFAULTS",get:function(){return{container:"#artplayer",url:"",poster:"",title:"",type:"",mimeCodec:"",theme:"#f00",volume:.7,autoplay:!1,autoSize:!1,loop:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,fullscreen:!1,fullscreenWeb:!1,layers:[],contextmenu:[],quality:[],controls:[],highlight:[],thumbnails:{url:"",number:60,width:160,height:90,column:10},subtitle:{url:"",style:{}},moreVideoAttr:{controls:!1,preload:"auto"},lang:navigator.language.toLowerCase()}}}]),n}();Object.defineProperty(Qt,"instances",{value:[]}),window.Artplayer=Qt,t.default=Qt,Object.defineProperty(t,"__esModule",{value:!0})});