From 590388125adf0e63d7b3529662fa7d562f23aebd Mon Sep 17 00:00:00 2001 From: zhw2590582 Date: Fri, 22 Nov 2019 21:23:48 +0800 Subject: [PATCH] build all packages --- .size-snapshot.json | 12 +- dist/artplayer-plugin-backlight.js | 2 +- dist/artplayer-plugin-danmuku.js | 2 +- dist/artplayer-plugin-gif.js | 2 +- dist/artplayer-plugin-playlist.js | 2 +- dist/artplayer-react.js | 4 +- dist/artplayer-tool-github.js | 2 +- dist/artplayer-tool-thumbnail.js | 2 +- dist/artplayer-vue.js | 4 +- package.json | 138 +++++++++--------- .../dist/artplayer-plugin-backlight.js | 2 +- .../dist/artplayer-plugin-danmuku.js | 2 +- .../dist/artplayer-plugin-gif.js | 2 +- .../dist/artplayer-plugin-playlist.js | 2 +- .../artplayer-react/dist/artplayer-react.js | 4 +- .../dist/artplayer-tool-github.js | 2 +- .../dist/artplayer-tool-thumbnail.js | 2 +- packages/artplayer-vue/dist/artplayer-vue.js | 4 +- scripts/build.js | 1 + 19 files changed, 96 insertions(+), 95 deletions(-) diff --git a/.size-snapshot.json b/.size-snapshot.json index 16fbfaaaf..a4c8ec921 100644 --- a/.size-snapshot.json +++ b/.size-snapshot.json @@ -35,13 +35,13 @@ "gzipped": 4081 }, "packages/artplayer-vue/dist/artplayer-vue.js": { - "bundled": 164232, - "minified": 87396, - "gzipped": 21889 + "bundled": 164111, + "minified": 87278, + "gzipped": 21860 }, "packages/artplayer-react/dist/artplayer-react.js": { - "bundled": 247609, - "minified": 116516, - "gzipped": 30920 + "bundled": 247488, + "minified": 116398, + "gzipped": 30890 } } diff --git a/dist/artplayer-plugin-backlight.js b/dist/artplayer-plugin-backlight.js index 894c3e9be..f5003f615 100644 --- a/dist/artplayer-plugin-backlight.js +++ b/dist/artplayer-plugin-backlight.js @@ -1,5 +1,5 @@ /*! - * artplayer-plugin-backlight.js v3.1.20 + * artplayer-plugin-backlight.js v3.2.1 * Github: https://github.com/zhw2590582/ArtPlayer#readme * (c) 2017-2019 Harvey Zack * Released under the MIT License. diff --git a/dist/artplayer-plugin-danmuku.js b/dist/artplayer-plugin-danmuku.js index bcfca043f..842ba5fb8 100644 --- a/dist/artplayer-plugin-danmuku.js +++ b/dist/artplayer-plugin-danmuku.js @@ -1,5 +1,5 @@ /*! - * artplayer-plugin-danmuku.js v3.1.20 + * artplayer-plugin-danmuku.js v3.2.1 * Github: https://github.com/zhw2590582/ArtPlayer#readme * (c) 2017-2019 Harvey Zack * Released under the MIT License. diff --git a/dist/artplayer-plugin-gif.js b/dist/artplayer-plugin-gif.js index 15d2bcae1..3044341e9 100644 --- a/dist/artplayer-plugin-gif.js +++ b/dist/artplayer-plugin-gif.js @@ -1,5 +1,5 @@ /*! - * artplayer-plugin-gif.js v3.1.20 + * artplayer-plugin-gif.js v3.2.1 * Github: https://github.com/zhw2590582/ArtPlayer#readme * (c) 2017-2019 Harvey Zack * Released under the MIT License. diff --git a/dist/artplayer-plugin-playlist.js b/dist/artplayer-plugin-playlist.js index 56301fd59..dbcf6019a 100644 --- a/dist/artplayer-plugin-playlist.js +++ b/dist/artplayer-plugin-playlist.js @@ -1,5 +1,5 @@ /*! - * artplayer-plugin-playlist.js v3.1.20 + * artplayer-plugin-playlist.js v3.2.1 * Github: https://github.com/zhw2590582/ArtPlayer#readme * (c) 2017-2019 Harvey Zack * Released under the MIT License. diff --git a/dist/artplayer-react.js b/dist/artplayer-react.js index 92ae0d1d8..55cbf4f23 100644 --- a/dist/artplayer-react.js +++ b/dist/artplayer-react.js @@ -1,8 +1,8 @@ /*! - * artplayer-react.js v3.1.20 + * artplayer-react.js v3.2.1 * Github: https://github.com/zhw2590582/ArtPlayer#readme * (c) 2017-2019 Harvey Zack * Released under the MIT License. */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).ArtplayerReact=t()}(this,(function(){"use strict";var e=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o};var t=function(t,n){if(null==t)return{};var r,o,i=e(t,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i};var n=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e};"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function r(e,t){return e(t={exports:{}},t.exports),t.exports}var o=r((function(e){function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(r){return"function"==typeof Symbol&&"symbol"===t(Symbol.iterator)?e.exports=n=function(e){return t(e)}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":t(e)},n(r)}e.exports=n}));var i=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")};function a(e,t){for(var n=0;nY.length&&Y.push(e)}function J(e,t,n){return null==e?0:function e(t,n,r,o){var i=typeof t;"undefined"!==i&&"boolean"!==i||(t=null);var a=!1;if(null===t)a=!0;else switch(i){case"string":case"number":a=!0;break;case"object":switch(t.$$typeof){case b:case w:a=!0}}if(a)return r(o,t,""===n?"."+G(t,0):n),1;if(a=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c1?t-1:0),r=1;r2?n-2:0),o=2;o2?n-2:0),o=2;o8)throw new Error("warningWithoutStack() currently supports at most 8 arguments.");if(!e){if("undefined"!=typeof console){var i=r.map((function(e){return""+e}));i.unshift("Warning: "+t),Function.prototype.apply.call(console.error,console,i)}try{var a=0,c="Warning: "+t.replace(/%s/g,(function(){return r[a++]}));throw new Error(c)}catch(e){}}},E={};function R(e,t){var n=e.constructor,r=n&&(n.displayName||n.name)||"ReactClass",o=r+"."+t;E[o]||(S(!1,"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",t,r),E[o]=!0)}var C={isMounted:function(e){return!1},enqueueForceUpdate:function(e,t,n){R(e,"forceUpdate")},enqueueReplaceState:function(e,t,n,r){R(e,"replaceState")},enqueueSetState:function(e,t,n,r){R(e,"setState")}},$={};function D(e,t,n){this.props=e,this.context=t,this.refs=$,this.updater=n||C}Object.freeze($),D.prototype.isReactComponent={},D.prototype.setState=function(e,t){!function(){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw x(Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables."))}(),this.updater.enqueueSetState(this,e,t,"setState")},D.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};var T={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},_=function(e,t){Object.defineProperty(D.prototype,e,{get:function(){P(!1,"%s(...) is deprecated in plain JavaScript React classes. %s",t[0],t[1])}})};for(var A in T)T.hasOwnProperty(A)&&_(A,T[A]);function L(){}function M(e,t,n){this.props=e,this.context=t,this.refs=$,this.updater=n||C}L.prototype=D.prototype;var q=M.prototype=new L;q.constructor=M,t(q,D.prototype),q.isPureReactComponent=!0;var z={current:null},I={suspense:null},V={current:null},F=/^(.*)[\\\/]/,W=1;function N(e){if(null==e)return null;if("number"==typeof e.tag&&S(!1,"Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case a:return"Fragment";case i:return"Portal";case u:return"Profiler";case c:return"StrictMode";case d:return"Suspense";case h:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return"Context.Consumer";case s:return"Context.Provider";case p:return r=e,o=e.render,f="ForwardRef",m=o.displayName||o.name||"",r.displayName||(""!==m?f+"("+m+")":f);case y:return N(e.type);case v:var t=(n=e)._status===W?n._result:null;if(t)return N(t)}var n,r,o,f,m;return null}var H={},U=null;function B(e){U=e}H.getCurrentStack=null,H.getStackAddendum=function(){var e="";if(U){var t=N(U.type),n=U._owner;e+=function(e,t,n){var r="";if(t){var o=t.fileName,i=o.replace(F,"");if(/^index\./.test(i)){var a=o.match(F);if(a){var c=a[1];if(c)i=c.replace(F,"")+"/"+i}}r=" (at "+i+":"+t.lineNumber+")"}else n&&(r=" (created by "+n+")");return"\n in "+(e||"Unknown")+r}(t,U._source,n&&N(n.type))}var r=H.getCurrentStack;return r&&(e+=r()||""),e};var Y={ReactCurrentDispatcher:z,ReactCurrentBatchConfig:I,ReactCurrentOwner:V,IsSomeRendererActing:{current:!1},assign:t};t(Y,{ReactDebugCurrentFrame:H,ReactComponentTreeHook:{}});var X=function(e,t){if(!e){for(var n=Y.ReactDebugCurrentFrame,r=n.getStackAddendum(),o=arguments.length,i=Array(o>2?o-2:0),a=2;a1){for(var l=Array(s),f=0;f1){for(var d=Array(p),h=0;h.")}return t}(t);if(!je[n]){je[n]=!0;var r="";e&&e._owner&&e._owner!==V.current&&(r=" It was passed a child from "+N(e._owner.type)+"."),B(e),X(!1,'Each child in a list should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.',n,r),B(null)}}}function Se(e,t){if("object"==typeof e)if(Array.isArray(e))for(var n=0;n",u=" Did you accidentally export a JSX literal instead of a component?"):l=typeof e,X(!1,"React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",l,u)}var f=ne.apply(this,arguments);if(null==f)return f;if(c)for(var p=2;p is not supported and will be removed in a future major release. Did you mean to render instead?")),n.Provider},set:function(e){n.Provider=e}},_currentValue:{get:function(){return n._currentValue},set:function(e){n._currentValue=e}},_currentValue2:{get:function(){return n._currentValue2},set:function(e){n._currentValue2=e}},_threadCount:{get:function(){return n._threadCount},set:function(e){n._threadCount=e}},Consumer:{get:function(){return r||(r=!0,X(!1,"Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),n.Consumer}}}),n.Consumer=i,n._currentRenderer=null,n._currentRenderer2=null,n},forwardRef:function(e){return null!=e&&e.$$typeof===y?S(!1,"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):"function"!=typeof e?S(!1,"forwardRef requires a render function but was given %s.",null===e?"null":typeof e):0!==e.length&&2!==e.length&&S(!1,"forwardRef render functions accept exactly two parameters: props and ref. %s",1===e.length?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),null!=e&&(null!=e.defaultProps||null!=e.propTypes)&&S(!1,"forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"),{$$typeof:p,render:e}},lazy:function(e){var t={$$typeof:v,_ctor:e,_status:-1,_result:null},n=void 0,r=void 0;return Object.defineProperties(t,{defaultProps:{configurable:!0,get:function(){return n},set:function(e){X(!1,"React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),n=e,Object.defineProperty(t,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return r},set:function(e){X(!1,"React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),r=e,Object.defineProperty(t,"propTypes",{enumerable:!0})}}}),t},memo:function(e,t){return we(e)||S(!1,"memo: The first argument must be a component. Instead received: %s",null===e?"null":typeof e),{$$typeof:y,type:e,compare:void 0===t?null:t}},useCallback:function(e,t){return Oe().useCallback(e,t)},useContext:function(e,t){var n=Oe();if(void 0!==t&&X(!1,"useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s",t,"number"==typeof t&&Array.isArray(arguments[2])?"\n\nDid you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://fb.me/rules-of-hooks":""),void 0!==e._context){var r=e._context;r.Consumer===e?X(!1,"Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):r.Provider===e&&X(!1,"Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return n.useContext(e,t)},useEffect:function(e,t){return Oe().useEffect(e,t)},useImperativeHandle:function(e,t,n){return Oe().useImperativeHandle(e,t,n)},useDebugValue:function(e,t){return Oe().useDebugValue(e,t)},useLayoutEffect:function(e,t){return Oe().useLayoutEffect(e,t)},useMemo:function(e,t){return Oe().useMemo(e,t)},useReducer:function(e,t,n){return Oe().useReducer(e,t,n)},useRef:function(e){return Oe().useRef(e)},useState:function(e){return Oe().useState(e)},Fragment:a,Profiler:u,StrictMode:c,Suspense:d,unstable_SuspenseList:h,createElement:Re,cloneElement:function(e,t,n){for(var r=re.apply(this,arguments),o=2;o1?n-1:0),o=1;o1&&void 0!==arguments[1]?arguments[1]:document).querySelector(e)}function me(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return Array.from(t.querySelectorAll(e))}function ge(e,t){return e.classList.add(t)}function be(e,t){return e.classList.remove(t)}function we(e,t){return e.classList.contains(t)}function Oe(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML("beforeend",String(t)),e.lastElementChild||e.lastChild}function ke(e,t,n){return e.style[t]=n,e}function xe(e,t){return Object.keys(t).forEach((function(n){ke(e,n,t[n])})),e}function je(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=window.getComputedStyle(e,null).getPropertyValue(t);return n?parseFloat(r):r}function Pe(e){return Array.from(e.parentElement.children).filter((function(t){return t!==e}))}function Se(e,t){Pe(e).forEach((function(e){return be(e,t)})),ge(e,t)}function Ee(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"up";e.setAttribute("aria-label",t),e.setAttribute("data-balloon-pos",n)}var Re=function(e){return-1!==Function.toString.call(e).indexOf("[native code]")},Ce=r((function(e){function t(n,r,o){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(e){return!1}}()?e.exports=t=function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&f(o,n.prototype),o}:e.exports=t=Reflect.construct,t.apply(null,arguments)}e.exports=t})),$e=function(e){function t(e,n){var r;return i(this,t),r=s(this,l(t).call(this,e)),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(u(r),n||r.constructor),r.name="ArtPlayerError",r}return p(t,e),t}(r((function(e){function t(n){var r="function"==typeof Map?new Map:void 0;return e.exports=t=function(e){if(null===e||!Re(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,t)}function t(){return Ce(e,arguments,l(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),f(t,e)},t(n)}e.exports=t}))(Error));function De(e,t){if(!e)throw new $e(t);return e}function Te(e){return"WEBVTT \r\n\r\n".concat(e.replace(/{[\s\S]*?}/g,"").replace(/\{\\([ibu])\}/g,"").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").concat("\r\n\r\n"))}function _e(e){return URL.createObjectURL(new Blob([e],{type:"text/vtt"}))}function Ae(e){var t=new RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function n(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split(/[:.]/).map((function(e,t,n){if(t===n.length-1){if(1===e.length)return".".concat(e,"00");if(2===e.length)return".".concat(e,"0")}else if(1===e.length)return(0===t?"0":":0")+e;return 0===t?e:t===n.length-1?".".concat(e):":".concat(e)})).join("")}return"WEBVTT\n\n".concat(e.split(/\r?\n/).map((function(e){var r=e.match(t);return r?{start:n(r[1].trim()),end:n(r[2].trim()),text:r[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map((function(e){return e.trim()})).join("\n")}:null})).filter((function(e){return e})).map((function(e,t){return e?"".concat(t+1,"\n").concat(e.start," --\x3e ").concat(e.end,"\n").concat(e.text):""})).filter((function(e){return e.trim()})).join("\n\n"))}function Le(e){return e.includes("?")?Le(e.split("?")[0]):e.includes("#")?Le(e.split("#")[0]):e.trim().toLowerCase().split(".").pop()}function Me(e,t){var n=document.createElement("a");n.style.display="none",n.href=e,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n)}var qe=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t1?t-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((function(t){return setTimeout(t,e)}))}function Ye(e,t,n){var r;function o(){for(var o=arguments.length,i=new Array(o),a=0;a0?[t,n,r]:[n,r]).map((function(e){return e<10?"0".concat(e):String(e)})).join(":")}var Ge=Object.freeze({__proto__:null,query:ve,queryAll:me,addClass:ge,removeClass:be,hasClass:we,append:Oe,remove:function(e){return e.parentNode.removeChild(e)},setStyle:ke,setStyles:xe,getStyle:je,sublings:Pe,inverseClass:Se,tooltip:Ee,ArtPlayerError:$e,errorHandle:De,srtToVtt:Te,vttToBlob:_e,assToVtt:Ae,getExt:Le,downloadFile:Me,def:Fe,has:Ne,proxyPropertys:He,mergeDeep:Ue,sleep:Be,debounce:Ye,throttle:Xe,clamp:Ze,secondToTime:Je});function Qe(e,t,n){return De("string"===t||e instanceof Element,"".concat(n.join(".")," require 'string' or 'Element' type"))}var Ke={container:Qe,url:"string|function",poster:"string",title:"string",theme:"string",lang:"string",volume:"number",isLive:"boolean",muted:"boolean",autoplay:"boolean",autoSize:"boolean",loop:"boolean",flip:"boolean",playbackRate:"boolean",aspectRatio:"boolean",screenshot:"boolean",setting:"boolean",hotkey:"boolean",pip:"boolean",mutex:"boolean",fullscreen:"boolean",fullscreenWeb:"boolean",subtitleOffset:"boolean",miniProgressBar:"boolean",localVideo:"boolean",localSubtitle:"boolean",autoPip:"boolean",networkMonitor:"boolean",plugins:["function"],whitelist:["string|function|regexp"],layers:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Qe,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],contextmenu:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Qe,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],quality:[{default:"boolean|undefined",name:"string",url:"string"}],controls:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Qe,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined",position:function(e,t,n){var r=["top","left","right"];return De(r.includes(e),"".concat(n.join(".")," only accept ").concat(r.toString()," as parameters"))}}],highlight:[{time:"number",text:"string"}],thumbnails:{url:"string",number:"number",width:"number",height:"number",column:"number"},subtitle:{url:"string",style:"object"},moreVideoAttr:"object",icons:"object",customType:"object"},et={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"]}},tt=function e(t){var n=this;i(this,e);var r=t.constructor.kindOf,o=t.option.whitelist;this.userAgent=window.navigator.userAgent,this.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(this.userAgent),this.state=!this.isMobile||o.some((function(e){switch(r(e)){case"string":return n.userAgent.indexOf(e)>-1;case"function":return e(n.userAgent);case"regexp":return e.test(n.userAgent);default:return!1}}))},nt=function(){function e(t){var n=this;i(this,e),this.art=t,t.option.container instanceof Element?this.$container=t.option.container:(this.$container=ve(t.option.container),De(this.$container,"No container element found by ".concat(t.option.container))),De(t.constructor.instances.every((function(e){return e.template.$container!==n.$container})),"Cannot mount multiple instances on the same dom element"),De(this.$container.clientWidth&&this.$container.clientHeight,"The width and height of the container cannot be 0"),t.whitelist.state?this.initDesktop():this.initMobile()}return c(e,[{key:"query",value:function(e){return ve(e,this.$container)}},{key:"initDesktop",value:function(){this.$container.innerHTML='\n
Player version:
3.1.20
Video url:
Video volume:
Video time:
Video duration:
Video resolution:
x
[x]
×
\n
'),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query(".art-video track"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$settingInner=this.query(".art-setting-inner"),this.$settingBody=this.query(".art-setting-body"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$pipHeader=this.query(".art-pip-header"),this.$pipTitle=this.query(".art-pip-title"),this.$pipClose=this.query(".art-pip-close"),this.$contextmenu=this.query(".art-contextmenus")}},{key:"initMobile",value:function(){this.$container.innerHTML='\n
\n
',this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video")}},{key:"destroy",value:function(e){e?this.$container.innerHTML="":ge(this.$player,"art-destroy")}}]),e}(),rt={"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:"正常",Open:"打开","Switch video":"切换","Switch subtitle":"切换字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"网页全屏","Exit web fullscreen":"退出网页全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地视频","Subtitle offset time":"字幕偏移时间","No subtitles found":"未发现字幕"},ot={"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:"正常",Open:"打開","Switch video":"切換","Switch subtitle":"切換字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"網頁全屏","Exit web fullscreen":"退出網頁全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地視頻","Subtitle offset time":"字幕偏移時間","No subtitles found":"未發現字幕"},it=function(){function e(t){i(this,e),this.art=t,this.languages={"zh-cn":rt,"zh-tw":ot},this.init()}return c(e,[{key:"init",value:function(){var e=this.art.option.lang.toLowerCase();this.language=this.languages[e]||{}}},{key:"get",value:function(e){return this.language[e]||e}},{key:"update",value:function(e){this.languages=Ue(this.languages,e),this.init()}}]),e}();var at=r((function(e){!function(){var t="undefined"!=typeof window&&void 0!==window.document?window.document:{},n=e.exports,r=function(){for(var e,n=[["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"]],r=0,o=n.length,i={};rh){var y=h*l/s;ke(r,"width","".concat(100*y,"%")),ke(r,"height","100%"),ke(r,"padding","0 ".concat((f-f*y)/2,"px"))}else{var v=s/h/l;ke(r,"width","100%"),ke(r,"height","".concat(100*v,"%")),ke(r,"padding","".concat((p-p*v)/2,"px 0"))}}o.dataset.aspectRatio=n,a.show("".concat(i.get("Aspect ratio"),": ").concat("default"===n?i.get("Default"):n)),e.emit("aspectRatioChange",n)}else t.aspectRatio&&(ke(r,"width",null),ke(r,"height",null),ke(r,"padding",null),delete o.dataset.aspectRatio,e.emit("aspectRatioRemove"))}}),Fe(t,"aspectRatioReset",{set:function(n){if(n&&t.aspectRatio){var r=t.aspectRatio;t.aspectRatio=r,e.emit("aspectRatioReset")}}})}(t,this),function(e,t){var n=e.option,r=e.notice,o=e.template.$video;Fe(t,"getScreenshotDataURL",{value:function(){try{var e=document.createElement("canvas");return e.width=o.videoWidth,e.height=o.videoHeight,e.getContext("2d").drawImage(o,0,0),e.toDataURL("image/png")}catch(e){throw r.show(e),e}}}),Fe(t,"getScreenshotBlobUrl",{value:function(){return new Promise((function(e,t){try{var n=document.createElement("canvas");n.width=o.videoWidth,n.height=o.videoHeight,n.getContext("2d").drawImage(o,0,0),n.toBlob((function(t){e(URL.createObjectURL(t))}))}catch(e){r.show(e),t(e)}}))}}),Fe(t,"screenshot",{value:function(){var r=t.getScreenshotDataURL();r&&(Me(r,"".concat(n.title||"artplayer","_").concat(Je(o.currentTime),".png")),e.emit("screenshot",r))}})}(t,this),function(e,t){var n=e.i18n,r=e.notice,o=e.events.destroyEvents,i=e.template.$player,a=function(){e.emit("fullscreenChange",at.isFullscreen)},c=function(){r.show(n.get("Does not support fullscreen"))};t.fullscreenIsEnabled&&(at.on("change",a),at.on("error",c),o.push((function(){at.off("change",a),at.off("error",c)}))),Fe(t,"fullscreen",{get:function(){return at.isFullscreen},set:function(n){t.fullscreenIsEnabled?n?(t.fullscreenWeb&&(t.fullscreenWeb=!1),at.request(i).then((function(){ge(i,"art-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenEnabled")}))):(t.fullscreenWeb&&(t.fullscreenWeb=!1),at.exit().then((function(){be(i,"art-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenExit")}))):c()}}),Fe(t,"fullscreenToggle",{set:function(e){e&&(t.fullscreen=!t.fullscreen)}}),Fe(t,"fullscreenIsEnabled",{get:function(){return at.isEnabled}})}(t,this),function(e,t){var n=e.template.$player;Fe(t,"fullscreenWeb",{get:function(){return we(n,"art-web-fullscreen")},set:function(r){r?(t.fullscreen&&(t.fullscreen=!1),ge(n,"art-web-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenWebEnabled")):(t.fullscreen&&(t.fullscreen=!1),be(n,"art-web-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenWebExit"))}}),Fe(t,"fullscreenWebToggle",{set:function(e){e&&(t.fullscreenWeb=!t.fullscreenWeb)}})}(t,this),ct(t,this),function(e,t){var n=e.template.$video;Fe(t,"loaded",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1)/n.duration:0}}),Fe(t,"loadedTime",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1):0}})}(t,this),function(e,t){Fe(t,"played",{get:function(){return e.template.$video.currentTime/e.template.$video.duration}})}(t,this),function(e,t){var n=e.template.$video;Fe(t,"playing",{get:function(){return!!(n.currentTime>0&&!n.paused&&!n.ended&&n.readyState>2)}})}(t,this),function(e,t){var n=e.template,r=n.$container,o=n.$player,i=n.$video;Fe(t,"autoSize",{get:function(){return we(r,"art-auto-size")},set:function(n){if(n){var a=i.videoWidth,c=i.videoHeight,u=r.getBoundingClientRect(),s=u.width,l=u.height,f=a/c,p=s/l;if(ge(r,"art-auto-size"),p>f){ke(o,"width","".concat(l*f/s*100,"%")),ke(o,"height","100%")}else{var d=s/f/l*100;ke(o,"width","100%"),ke(o,"height","".concat(d,"%"))}e.emit("autoSizeChange",{width:t.width,height:t.height})}else be(r,"art-auto-size"),ke(o,"width",null),ke(o,"height",null),e.emit("autoSizeRemove")}})}(t,this),function(e,t){Fe(t,"rect",{get:function(){return e.template.$player.getBoundingClientRect()}}),["bottom","height","left","right","top","width"].forEach((function(e){Fe(t,e,{get:function(){return t.rect[e]}})})),Fe(t,"x",{get:function(){return t.left+window.pageXOffset}}),Fe(t,"y",{get:function(){return t.top+window.pageYOffset}})}(t,this),function(e,t){Fe(t,"flip",{get:function(){return e.template.$player.dataset.flip},set:function(t){if(t){var n=["normal","horizontal","vertical"];De(n.includes(t),"'flip' only accept ".concat(n.toString()," as parameters")),e.template.$player.dataset.flip=t,e.emit("flipChange",t)}else delete e.template.$player.dataset.flip,e.emit("flipRemove")}})}(t,this),He(t,this)};var st=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e},lt=r((function(e){function t(n,r,o){return"undefined"!=typeof Reflect&&Reflect.get?e.exports=t=Reflect.get:e.exports=t=function(e,t,n){var r=st(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(n):o.value}},t(n,r,o||n)}e.exports=t})),ft=function(){function e(t){i(this,e),this.id=0,this.art=t,this.add=this.add.bind(this),this.name=this.constructor.name.toLowerCase()}return c(e,[{key:"toggle",value:function(){this.show=!this.show}},{key:"add",value:function(e,t){var n=this,r="function"==typeof e?e(this.art):e;if(!this.$parent||r.disable)return{};this.id+=1;var o=r.name||"".concat(this.name).concat(this.id);De(!Ne(this,o),"Cannot add a component that already has the same name: ".concat(o));var i=document.createElement("div");i.classList.value="art-".concat(this.name," art-").concat(this.name,"-").concat(o),r.html&&Oe(i,r.html),r.style&&xe(i,r.style),r.tooltip&&Ee(i,r.tooltip);var a=Array.from(this.$parent.children);i.dataset.index=r.index||this.id;var c=a.find((function(e){return Number(e.dataset.index)>=Number(i.dataset.index)}));return c?c.insertAdjacentElement("beforebegin",i):Oe(this.$parent,i),r.click&&this.art.events.proxy(i,"click",(function(e){e.preventDefault(),r.click.call(n.art,n,e)})),r.mounted&&r.mounted(i,this,this.art),t&&t(i,this,this.art),Fe(this,o,{value:{get $ref(){return i},set show(e){ke(i,"display",e?"block":"none")}}}),this.art.emit("".concat(this.name,":add"),r),this[o]}},{key:"show",get:function(){return we(this.art.template.$player,"art-".concat(this.name,"-show"))},set:function(e){De(!1===e||!0===e,"The show attribute expects a boolean value");var t=this.art.template.$player,n="art-".concat(this.name,"-show");e?ge(t,n):be(t,n),this.art.emit("".concat(this.name,":toggle"),e)}}]),e}();function pt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function dt(e){return function(t){return function(e){for(var t=1;t
\n'),mounted:function(e){var n=!1,r=ve(".art-progress-loaded",e),i=ve(".art-progress-played",e),u=ve(".art-progress-highlight",e),s=ve(".art-progress-indicator",e),l=ve(".art-progress-tip",e);function f(e,t){"loaded"===e&&ke(r,"width","".concat(100*t,"%")),"played"===e&&(ke(i,"width","".concat(100*t,"%")),ke(s,"left","calc(".concat(100*t,"% - ").concat(je(s,"width")/2,"px)")))}o.forEach((function(e){var t=Ze(e.time,0,c.duration)/c.duration*100;Oe(u,''))})),f("loaded",c.loaded),t.on("video:progress",(function(){f("loaded",c.loaded)})),t.on("video:timeupdate",(function(){f("played",c.played)})),t.on("video:ended",(function(){f("played",1)})),a(e,"mousemove",(function(n){ke(l,"display","block"),n.composedPath().indexOf(u)>-1?function(n){var r=Ot(t,n).width,o=n.target.dataset.text;l.innerHTML=o;var i=l.clientWidth;r<=i/2?ke(l,"left",0):r>e.clientWidth-i/2?ke(l,"left","".concat(e.clientWidth-i,"px")):ke(l,"left","".concat(r-i/2,"px"))}(n):function(n){var r=Ot(t,n),o=r.width,i=r.time;l.innerHTML=i;var a=l.clientWidth;o<=a/2?ke(l,"left",0):o>e.clientWidth-a/2?ke(l,"left","".concat(e.clientWidth-a,"px")):ke(l,"left","".concat(o-a/2,"px"))}(n)})),a(e,"mouseout",(function(){ke(l,"display","none")})),a(e,"click",(function(e){if(e.target!==s){var n=Ot(t,e),r=n.second;f("played",n.percentage),c.seek=r}})),a(s,"mousedown",(function(){n=!0})),a(document,"mousemove",(function(e){if(n){var r=Ot(t,e),o=r.second,i=r.percentage;ge(s,"art-show-indicator"),f("played",i),c.seek=o}})),a(document,"mouseup",(function(){n&&(n=!1,be(s,"art-show-indicator"))}))}})}}function xt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function jt(e){return function(t){return function(e){for(var t=1;t'),l=Oe(s,'
');function f(e){var t=s.getBoundingClientRect(),n=t.left,r=t.width,o=l.getBoundingClientRect().width;return Ze(e.pageX-n-o/2,0,r-o/2)/(r-o)}function p(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.7;if(o.muted||0===e)ke(c,"display","none"),ke(u,"display","flex"),ke(l,"left","0");else{var t=((je(s,"width")||60)-je(l,"width"))*e;ke(c,"display","flex"),ke(u,"display","none"),ke(l,"left","".concat(t,"px"))}}Ee(c,i.get("Mute")),ke(u,"display","none"),p(o.volume),t.on("video:volumechange",(function(){p(o.volume)})),n(c,"click",(function(){o.muted=!0})),n(u,"click",(function(){o.muted=!1})),n(s,"click",(function(e){o.muted=!1,o.volume=f(e)})),n(l,"mousedown",(function(){a=!0})),n(document,"mousemove",(function(e){a&&(o.muted=!1,o.volume=f(e))})),n(document,"mouseup",(function(){a&&(a=!1)}))}})}}function Ct(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $t(e){return function(t){return function(e){for(var t=1;tr.clientWidth-u/2?ke(e,"left","".concat(r.clientWidth-u,"px")):ke(e,"left","".concat(i-u/2,"px"))}(o))})),i(r,"mouseout",(function(){ke(e,"display","none")}))}})}}function _t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function At(e){return function(t){return function(e){for(var t=1;t'.concat(u.name,"")),l=n.map((function(e,t){return'
').concat(e.name,"
")})).join(""),f=Oe(e,'
'.concat(l,"
"));i(e,(function(){f.style.left="-".concat(je(f,"width")/2-e.clientWidth/2,"px")})),o(f,"click",(function(e){var t=Number(e.target.dataset.index),r=n[t],o=r.url,i=r.name;o&&i&&c!==t&&(a.switchQuality(o,i),s.innerHTML=i,c=t)}))}})}}var qt=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.option;return e.on("ready",(function(){n.add(kt({name:"progress",disable:r.isLive,position:"top",index:10})),n.add(Tt({name:"thumbnails",disable:!r.thumbnails.url||r.isLive,position:"top",index:20})),n.add(bt({name:"playAndPause",disable:!1,position:"left",index:10})),n.add(Rt({name:"volume",disable:!1,position:"left",index:20})),n.add(St({name:"time",disable:r.isLive,position:"left",index:30})),n.add(Mt({name:"quality",disable:0===r.quality.length,position:"right",index:10})),n.add(At({name:"screenshot",disable:!r.screenshot,position:"right",index:20})),n.add(jt({name:"subtitle",disable:!r.subtitle.url,position:"right",index:30})),n.add($t({name:"setting",disable:!r.setting,position:"right",index:40})),n.add(mt({name:"pip",disable:!r.pip,position:"right",index:50})),n.add(yt({name:"fullscreenWeb",disable:!r.fullscreenWeb,position:"right",index:60})),n.add(dt({name:"fullscreen",disable:!r.fullscreen,position:"right",index:70})),r.controls.forEach((function(e){n.add(e)}))})),n}return p(t,e),c(t,[{key:"add",value:function(e,n){var r="function"==typeof e?e(this.art):e;De(r.position,"Controls option.position can not be empty");var o=this.art.template,i=o.$progress,a=o.$controlsLeft,c=o.$controlsRight;switch(r.position){case"top":this.$parent=i;break;case"left":this.$parent=a;break;case"right":this.$parent=c}var u=lt(l(t.prototype),"add",this).call(this,r,n);return r.disable||"top"===r.position||u.$ref.firstElementChild&&"I"===u.$ref.firstElementChild.tagName||ge(u.$ref,"art-control-onlyText"),u}}]),t}(ft);function zt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function It(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t0.5\n0.75\n').concat(r.get("Normal"),'\n1.25\n1.5\n2.0'),click:function(e,t){var n=t.target.dataset.rate;n&&(o.playbackRate=Number(n),e.show=!1)},mounted:function(e){t.on("playbackRateChange",(function(t){var n=me("span",e).find((function(e){return Number(e.dataset.rate)===t}));n&&Se(n,"art-current")}))}})}}function Vt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ft(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t').concat(r.get("Default"),'\n4:3\n16:9'),click:function(e,t){var n=t.target.dataset.ratio;n&&(o.aspectRatio=n,e.show=!1)},mounted:function(e){t.on("aspectRatioChange",(function(t){var n=me("span",e).find((function(e){return e.dataset.ratio===t}));n&&Se(n,"art-current")}))}})}}function Wt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Nt(e){return function(t){return function(e){for(var t=1;tArtPlayer 3.1.20'})}function Bt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Yt(e){return function(t){return function(e){for(var t=1;ts+u&&(h=u-d),r+p>l+i&&(y=i-p),ke(c,"left","".concat(h,"px")),ke(c,"top","".concat(y,"px"))})),u(a,"click",(function(e){e.composedPath().includes(c)||(n.show=!1)})),e.on("blur",(function(){n.show=!1}))})),n}return p(t,e),t}(ft),Zt=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.template,o=r.$infoPanel,a=r.$infoClose,c=r.$video;(0,e.events.proxy)(a,"click",(function(){n.show=!1}));var u=null,f=me("[data-video]",o);return e.on("destroy",(function(){clearTimeout(u)})),e.on("info:toggle",(function(e){clearTimeout(u),e&&function e(){f.forEach((function(e){var t=c[e.dataset.video];e.innerHTML="number"==typeof t?t.toFixed(2):t})),u=setTimeout((function(){e()}),1e3)}()})),n}return p(t,e),t}(ft),Jt=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.events.proxy,o=e.option.subtitle;return xe(e.template.$subtitle,o.style),r(n.textTrack,"cuechange",n.update.bind(u(n))),o.url&&n.init(o.url),n}return p(t,e),c(t,[{key:"update",value:function(){var e=this.art.template.$subtitle;e.innerHTML="",this.activeCue&&(e.innerHTML=this.activeCue.text.split(/\r?\n/).map((function(e){return"

".concat(e,"

")})).join(""),this.art.emit("subtitle:update",this.activeCue.text))}},{key:"switch",value:function(e,t){var n=this,r=this.art,o=r.i18n,i=r.notice;return this.init(e).then((function(e){return t&&i.show("".concat(o.get("Switch subtitle"),": ").concat(t)),n.art.emit("subtitle:switch",e),e}))}},{key:"init",value:function(e){var t=this,n=this.art,r=n.notice,o=n.template,i=o.$subtitle,a=o.$track;return fetch(e).then((function(e){return e.text()})).then((function(n){switch(t.art.emit("subtitle:load",e),Le(e)){case"srt":return _e(Te(n));case"ass":return _e(Ae(n));case"vtt":return _e(n);default:return e}})).then((function(e){return i.innerHTML="",t.url===e?e:(URL.revokeObjectURL(t.url),a.src=e,e)})).catch((function(e){throw r.show(e),t.art.emit("subtitle:err",e),e}))}},{key:"url",get:function(){return this.art.template.$track.src}},{key:"textTrack",get:function(){return this.art.template.$video.textTracks[0]}},{key:"activeCue",get:function(){return this.textTrack.activeCues[0]}}]),t}(ft);var Gt=function(){function e(t){var n=this;i(this,e),this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),t.whitelist.state&&t.once("video:canplay",(function(){!function(e,t){var n=e.template.$player;t.proxy(document,["click","contextmenu"],(function(t){t.composedPath().indexOf(n)>-1?(e.isFocus=!0,e.emit("focus")):(e.isFocus=!1,e.emit("blur"))}))}(t,n),function(e,t){var n=e.template.$player;t.hover(n,(function(){ge(n,"art-hover"),e.emit("hoverenter")}),(function(){be(n,"art-hover"),e.emit("hoverleave")}))}(t,n),function(e,t){var n=e.template,r=n.$player,o=n.$video,i=e.player,a=Ye((function(){ge(r,"art-hide-cursor"),be(r,"art-hover"),e.controls.show=!1}),3e3);e.on("hoverleave",(function(){i.playing&&a()})),t.proxy(r,"mousemove",(function(t){a.clearTimeout(),be(r,"art-hide-cursor"),e.controls.show=!0,!e.player.pip&&i.playing&&t.target===o&&a(),e.emit("mousemove")}))}(t,n),function(e,t){var n=e.option,r=e.player,o=e.template.$player,i=document.createElement("object");i.setAttribute("aria-hidden","true"),i.setAttribute("tabindex",-1),i.type="text/html",i.data="about:blank";var a=r.width,c=r.height,u=Xe((function(){r.width===a&&r.height===c||(a=r.width,c=r.height,n.autoSize&&(e.player.fullscreen||e.player.fullscreenWeb||e.player.pip?e.player.autoSize=!1:e.player.autoSize=!0),e.player.aspectRatioReset=!0,e.emit("resize",{width:r.width,height:r.height}))}),500);t.proxy(i,"load",(function(){t.proxy(i.contentDocument.defaultView,"resize",u)})),o.appendChild(i)}(t,n)}))}return c(e,[{key:"proxy",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};Array.isArray(t)?t.forEach((function(t){return r.proxy(e,t,n,o)})):(e.addEventListener(t,n,o),this.destroyEvents.push((function(){e.removeEventListener(t,n,o)})))}},{key:"hover",value:function(e,t,n){t&&this.proxy(e,"mouseenter",t),n&&this.proxy(e,"mouseleave",n)}},{key:"loadImg",value:function(e){var t=this;return new Promise((function(n,r){var o;if(e instanceof HTMLImageElement)o=e;else{if("string"!=typeof e)return r(e);(o=new Image).src=e}return o.complete?n(o):(t.proxy(o,"load",(function(){return n(o)})),t.proxy(o,"error",(function(){return r(o)})),e)}))}},{key:"destroy",value:function(){this.destroyEvents.forEach((function(e){return e()}))}}]),e}(),Qt=function(){function e(t){var n=this;i(this,e),this.keys={};var r=t.option,o=t.player,a=t.events.proxy;r.hotkey&&t.on("ready",(function(){n.add(27,(function(){o.fullscreenWeb&&(o.fullscreenWeb=!1)})),n.add(32,(function(){o.toggle=!0})),n.add(37,(function(){o.seek=o.currentTime-5})),n.add(38,(function(){o.volume+=.1})),n.add(39,(function(){o.seek=o.currentTime+5})),n.add(40,(function(){o.volume-=.1})),a(window,"keydown",(function(e){if(t.isFocus){var r=document.activeElement.tagName.toUpperCase(),o=document.activeElement.getAttribute("contenteditable");if("INPUT"!==r&&"TEXTAREA"!==r&&""!==o&&"true"!==o){var i=n.keys[e.keyCode];i&&(e.preventDefault(),i.forEach((function(e){return e()})),t.emit("hotkey",e))}}}))}))}return c(e,[{key:"add",value:function(e,t){this.keys[e]?this.keys[e].push(t):this.keys[e]=[t]}}]),e}(),Kt=function(e){function t(e){var n;return i(this,t),(n=s(this,l(t).call(this,e))).$parent=e.template.$layer,e.on("ready",(function(){e.option.layers.forEach((function(e){n.add(e)}))})),n}return p(t,e),t}(ft),en=function(e){function t(e){var n;return i(this,t),n=s(this,l(t).call(this,e)),Oe(e.template.$loading,e.icons.loading),n}return p(t,e),t}(ft),tn=function(){function e(t){i(this,e),this.art=t,this.timer=null}return c(e,[{key:"show",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3,o=this.art.template,i=o.$player,a=o.$noticeInner;a.innerHTML=e instanceof Error?e.message.trim():e,clearTimeout(this.timer),n&&(this.timer=setTimeout((function(){t.hide()}),r)),ge(i,"art-notice-show"),this.art.emit("notice:toggle",!0)}},{key:"hide",value:function(){var e=this.art.template,t=e.$player;e.$noticeInner.innerHTML="",be(t,"art-notice-show"),this.art.emit("notice:toggle",!0)}}]),e}(),nn=function(e){function t(e){var n;return i(this,t),n=s(this,l(t).call(this,e)),Oe(e.template.$state,e.icons.state),n}return p(t,e),t}(ft),rn=function e(t){var n=this;i(this,e);var r=Object.assign({loading:'\n',state:'\n',play:'\n',pause:'\n',volume:'\n',volumeClose:'\n',subtitle:'\n',screenshot:'\n\t\n\n',setting:'\n',fullscreen:'\n\t\n\t\n\t\n\t\n',fullscreenWeb:'\n\t\n',pip:'\n',prev:'\n',next:'\n'},t.option.icons);Object.keys(r).forEach((function(e){var t=document.createElement("i");t.classList.add("art-icon"),t.classList.add("art-icon-".concat(e)),Oe(t,r[e]),n[e]=t}))};function on(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function an(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t'.concat(r.get("Flip"),'\n
\n
"),click:function(e,t){var n=t.target.dataset.value;n&&(o.flip=n)},mounted:function(e){t.on("flipChange",(function(t){var n=me("button",e).find((function(e){return e.dataset.value===t}));n&&Se(n.parentElement,"current")}))}})}}function cn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function un(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t'.concat(r.get("Aspect ratio"),'\n
\n
'),click:function(e,t){var n=t.target.dataset.value;n&&(o.aspectRatio=n)},mounted:function(e){t.on("aspectRatioChange",(function(t){var n=me("button",e).find((function(e){return e.dataset.value===t}));n&&Se(n.parentElement,"current")}))}})}}function sn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ln(e){return function(t){var r=t.i18n,o=t.player,i=t.events.proxy;return function(e){for(var t=1;t'.concat(r.get("Play speed"),': 1.0x\n\n
\n
'),mounted:function(e){var n=ve(".art-setting-range input",e),r=ve(".art-subtitle-value",e);i(n,"change",(function(){var e=n.value;r.innerText=e,o.playbackRate=Number(e)})),t.on("playbackRateChange",(function(e){n.value!==e&&(n.value=e,r.innerText=e)}))}})}}var fn=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.option,o=e.template,a=o.$setting,c=o.$settingBody,u=e.events.proxy;return n.$parent=c,r.setting&&(e.on("ready",(function(){u(a,"click",(function(e){e.target===a&&(n.show=!1)})),n.add(an({disable:!r.flip,name:"flip"})),n.add(un({disable:!r.aspectRatio,name:"aspectRatio"})),n.add(ln({disable:!r.playbackRate,name:"playbackRate"}))})),e.on("blur",(function(){n.show=!1}))),n}return p(t,e),t}(ft),pn=function(){function e(t){i(this,e),this.art=t,this.name="artplayer_settings";var n=t.option,r=this.get("volume");r&&(n.volume=r)}return c(e,[{key:"get",value:function(e){var t=JSON.parse(window.localStorage.getItem(this.name))||{};return e?t[e]:{}}},{key:"set",value:function(e,t){var r=Object.assign({},this.get(),n({},e,t));window.localStorage.setItem(this.name,JSON.stringify(r))}},{key:"del",value:function(e){var t=this.get();delete t[e],window.localStorage.setItem(this.name,JSON.stringify(t))}},{key:"clean",value:function(){window.localStorage.removeItem(this.name)}}]),e}();function dn(e){var t=e.i18n,n=e.subtitle,r=e.events.proxy;return{title:"Subtitle",name:"subtitleOffset",index:20,html:'\n
'.concat(t.get("Subtitle offset time"),': 0s\n
\n
\n
'),mounted:function(t){var o=ve(".art-setting-range input",t),i=ve(".art-subtitle-value",t);r(o,"change",(function(){var t=o.value;i.innerText=t,e.plugins.subtitleOffset.offset(Number(t))})),e.on("subtitle:switch",(function(){o.value=0,i.innerText=0})),e.on("subtitleOffset",(function(e){n.update(),o.value!==e&&(o.value=e,i.innerText=e)}))}}}function hn(e){var t=e.constructor.utils.clamp,n=e.setting,r=e.notice,o=e.template,i=e.i18n,a=e.player;n.add(dn);var c=[];return e.on("subtitle:switch",(function(){c=[]})),{name:"subtitleOffset",offset:function(n){if(o.$track&&o.$track.track){var u=Array.from(o.$track.track.cues),s=t(n,-5,5);u.forEach((function(e,n){c[n]||(c[n]={startTime:e.startTime,endTime:e.endTime}),e.startTime=t(c[n].startTime+s,0,a.duration),e.endTime=t(c[n].endTime+s,0,a.duration)})),r.show("".concat(i.get("Subtitle offset time"),": ").concat(n,"s")),e.emit("subtitleOffset",n)}else r.show("".concat(i.get("No subtitles found"))),e.emit("subtitleOffset",0)}}}function yn(e){var t=e.events.proxy,n=e.template,r=e.player,o=e.option,i=e.setting,a=e.i18n;function c(t){if(t){var i=n.$video.canPlayType(t.type);if("maybe"===i||"probably"===i){var a=URL.createObjectURL(t);o.title=t.name,r.switchUrl(a,t.name),e.emit("localVideo",t)}else De(!1,"Playback of this file format is not supported")}}function u(e){var n=Oe(e,'');ke(e,"position","relative"),xe(n,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),t(n,"change",(function(){c(n.files[0])}))}return t(n.$player,"dragover",(function(e){e.preventDefault()})),t(n.$player,"drop",(function(e){e.preventDefault(),c(e.dataTransfer.files[0])})),e.on("ready",(function(){i.add({title:"Local Video",name:"localVideo",index:30,html:'\n
'.concat(a.get("Local Video"),'\n
\n
').concat(a.get("Open"),'
\n
'),mounted:function(t){var n=ve(".art-upload-btn",t),r=ve(".art-upload-value",t);e.on("localVideo",(function(e){r.textContent=e.name,r.title=e.name})),u(n)}})})),{name:"localVideo",attach:u}}function vn(e){var t=e.events.proxy,n=e.subtitle,r=e.setting,o=e.i18n;function i(r){var o=Oe(r,'');ke(r,"position","relative"),xe(o,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),t(o,"change",(function(){!function(r){if(r){var o=Le(r.name);if(["ass","vtt","srt"].includes(o)){var i=new FileReader;t(i,"load",(function(t){var i=t.target.result;switch(o){case"srt":var a=_e(Te(i));n.switch(a,r.name);break;case"ass":var c=_e(Ae(i));n.switch(c,r.name);break;case"vtt":var u=_e(i);n.switch(u,r.name)}e.emit("localSubtitle",r)})),i.readAsText(r)}else De(!1,"Only supports subtitle files in .ass, .vtt and .srt format")}}(o.files[0])}))}return e.on("ready",(function(){r.add({title:"Local Subtitle",name:"localSubtitle",index:40,html:'\n
'.concat(o.get("Local Subtitle"),'\n
\n
').concat(o.get("Open"),'
\n
'),mounted:function(t){var n=ve(".art-upload-btn",t),r=ve(".art-upload-value",t);e.on("localSubtitle",(function(e){r.textContent=e.name,r.title=e.name})),i(n)}})})),{name:"localSubtitle",attach:i}}function mn(e){var t=e.layers,n=e.player,r=e.option.theme;return t.add({name:"miniProgressBar",style:{display:"none",position:"absolute",left:0,right:0,bottom:0,height:"2px",background:r},mounted:function(t){e.on("control:toggle",(function(e){t.style.display=e?"none":"block"})),e.on("destroy",(function(){t.style.display="none"})),e.on("video:timeupdate",(function(){t.style.width="".concat(100*n.played,"%")}))}}),{name:"miniProgressBar"}}function gn(e){var t=1e4,n=0,r=0,o=0,i=null;function a(){n=0,r=0,o=0,cancelAnimationFrame(i),i=null}function c(){i||function a(){e.isDestroy||(i=requestAnimationFrame((function(){var i=Date.now();if(o){var c=i-o;r+=c,e.player.playing||(n+=c)}o=i,e.emit("networkMonitor",n/r),r>=t&&(n=0,r=0),a()})))}()}return e.on("play",c),e.on("pause",a),{name:"networkMonitor",reset:a,start:c,sample:function(e){t=e}}}function bn(e){var t=e.events,n=e.player,r=e.template,o=Ye((function(){var t=r.$player.getBoundingClientRect();t.top+t.height<=0&&!n.pip?(n.pip=!0,e.emit("autoPip",!0)):n.pip&&(n.pip=!1,e.emit("autoPip",!1))}),300);return t.proxy(window,"scroll",o),{name:"autoPip"}}var wn=function(){function e(t){var n=this;i(this,e),this.art=t,this.id=0;var r=t.option;r.subtitle.url&&r.subtitleOffset&&this.add(hn),!r.isLive&&r.miniProgressBar&&this.add(mn),r.localVideo&&this.add(yn),r.localSubtitle&&this.add(vn),r.networkMonitor&&this.add(gn),r.autoPip&&this.add(bn),t.option.plugins.forEach((function(e){n.add(e)}))}return c(e,[{key:"add",value:function(e){this.id+=1;var t=e.call(this,this.art),n="";return De(!Ne(this,n=t&&t.name?t.name:e.name?e.name:"plugin".concat(this.id)),"Cannot add a plugin that already has the same name: ".concat(n)),Object.defineProperty(this,n,{value:t}),this.art.emit("plugin:add",e),this}}]),e}(),On=function e(t){i(this,e);var n=t.option,r=t.events.proxy,o=t.template.$video;et.video.events.forEach((function(e){r(o,e,(function(e){t.emit("video:".concat(e.type),e)}))})),Object.keys(n.moreVideoAttr).forEach((function(e){o[e]=n.moreVideoAttr[e]})),n.muted&&(o.muted=n.muted),n.volume&&(o.volume=Ze(n.volume,0,1)),n.poster&&(o.poster=n.poster),n.autoplay&&(o.autoplay=n.autoplay),o.controls=!0;var a=n.type||Le(n.url),c=n.customType[a];a&&c?(t.emit("beforeCustomType",a),c(o,n.url,t),t.emit("afterCustomType",a)):(t.emit("beforeAttachUrl",n.url),o.src=n.url,t.emit("afterAttachUrl",o.src))},kn=0,xn=function(e){function t(e){var n;return i(this,t),(n=s(this,l(t).call(this))).option=he(Ue(t.option,e),Ke),n.isFocus=!1,n.isDestroy=!1,n.whitelist=new tt(u(n)),n.template=new nt(u(n)),n.events=new Gt(u(n)),n.whitelist.state?(n.storage=new pn(u(n)),n.icons=new rn(u(n)),n.i18n=new it(u(n)),n.notice=new tn(u(n)),n.player=new ut(u(n)),n.layers=new Kt(u(n)),n.controls=new qt(u(n)),n.contextmenu=new Xt(u(n)),n.subtitle=new Jt(u(n)),n.info=new Zt(u(n)),n.loading=new en(u(n)),n.hotkey=new Qt(u(n)),n.mask=new nn(u(n)),n.setting=new fn(u(n)),n.plugins=new wn(u(n))):n.mobile=new On(u(n)),kn+=1,n.id=kn,t.instances.push(u(n)),n}return p(t,e),c(t,[{key:"destroy",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.events.destroy(),this.template.destroy(e),t.instances.splice(t.instances.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}],[{key:"version",get:function(){return"3.1.20"}},{key:"env",get:function(){return'"production"'}},{key:"config",get:function(){return et}},{key:"utils",get:function(){return Ge}},{key:"scheme",get:function(){return Ke}},{key:"Emitter",get:function(){return ye}},{key:"validator",get:function(){return he}},{key:"kindOf",get:function(){return he.kindOf}},{key:"option",get:function(){return{container:"#artplayer",url:"",poster:"",title:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,localVideo:!1,localSubtitle:!1,autoPip:!1,networkMonitor:!1,layers:[],contextmenu:[],quality:[],controls:[],highlight:[],plugins:[],whitelist:[],thumbnails:{url:"",number:60,width:160,height:90,column:10},subtitle:{url:"",style:{}},moreVideoAttr:{controls:!1,preload:"metadata"},icons:{},customType:{},lang:navigator.language.toLowerCase()}}}]),t}(ye);function jn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pn(e){for(var t=1;t=0||(o[n]=e[n]);return o};var t=function(t,n){if(null==t)return{};var r,o,i=e(t,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i};var n=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e};"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function r(e,t){return e(t={exports:{}},t.exports),t.exports}var o=r((function(e){function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(r){return"function"==typeof Symbol&&"symbol"===t(Symbol.iterator)?e.exports=n=function(e){return t(e)}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":t(e)},n(r)}e.exports=n}));var i=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")};function a(e,t){for(var n=0;nY.length&&Y.push(e)}function J(e,t,n){return null==e?0:function e(t,n,r,o){var i=typeof t;"undefined"!==i&&"boolean"!==i||(t=null);var a=!1;if(null===t)a=!0;else switch(i){case"string":case"number":a=!0;break;case"object":switch(t.$$typeof){case b:case w:a=!0}}if(a)return r(o,t,""===n?"."+G(t,0):n),1;if(a=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c1?t-1:0),r=1;r2?n-2:0),o=2;o2?n-2:0),o=2;o8)throw new Error("warningWithoutStack() currently supports at most 8 arguments.");if(!e){if("undefined"!=typeof console){var i=r.map((function(e){return""+e}));i.unshift("Warning: "+t),Function.prototype.apply.call(console.error,console,i)}try{var a=0,c="Warning: "+t.replace(/%s/g,(function(){return r[a++]}));throw new Error(c)}catch(e){}}},E={};function R(e,t){var n=e.constructor,r=n&&(n.displayName||n.name)||"ReactClass",o=r+"."+t;E[o]||(S(!1,"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",t,r),E[o]=!0)}var C={isMounted:function(e){return!1},enqueueForceUpdate:function(e,t,n){R(e,"forceUpdate")},enqueueReplaceState:function(e,t,n,r){R(e,"replaceState")},enqueueSetState:function(e,t,n,r){R(e,"setState")}},$={};function D(e,t,n){this.props=e,this.context=t,this.refs=$,this.updater=n||C}Object.freeze($),D.prototype.isReactComponent={},D.prototype.setState=function(e,t){!function(){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw x(Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables."))}(),this.updater.enqueueSetState(this,e,t,"setState")},D.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};var T={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},_=function(e,t){Object.defineProperty(D.prototype,e,{get:function(){P(!1,"%s(...) is deprecated in plain JavaScript React classes. %s",t[0],t[1])}})};for(var A in T)T.hasOwnProperty(A)&&_(A,T[A]);function L(){}function M(e,t,n){this.props=e,this.context=t,this.refs=$,this.updater=n||C}L.prototype=D.prototype;var q=M.prototype=new L;q.constructor=M,t(q,D.prototype),q.isPureReactComponent=!0;var z={current:null},I={suspense:null},V={current:null},F=/^(.*)[\\\/]/,W=1;function N(e){if(null==e)return null;if("number"==typeof e.tag&&S(!1,"Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case a:return"Fragment";case i:return"Portal";case u:return"Profiler";case c:return"StrictMode";case d:return"Suspense";case h:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return"Context.Consumer";case s:return"Context.Provider";case p:return r=e,o=e.render,f="ForwardRef",m=o.displayName||o.name||"",r.displayName||(""!==m?f+"("+m+")":f);case y:return N(e.type);case v:var t=(n=e)._status===W?n._result:null;if(t)return N(t)}var n,r,o,f,m;return null}var H={},U=null;function B(e){U=e}H.getCurrentStack=null,H.getStackAddendum=function(){var e="";if(U){var t=N(U.type),n=U._owner;e+=function(e,t,n){var r="";if(t){var o=t.fileName,i=o.replace(F,"");if(/^index\./.test(i)){var a=o.match(F);if(a){var c=a[1];if(c)i=c.replace(F,"")+"/"+i}}r=" (at "+i+":"+t.lineNumber+")"}else n&&(r=" (created by "+n+")");return"\n in "+(e||"Unknown")+r}(t,U._source,n&&N(n.type))}var r=H.getCurrentStack;return r&&(e+=r()||""),e};var Y={ReactCurrentDispatcher:z,ReactCurrentBatchConfig:I,ReactCurrentOwner:V,IsSomeRendererActing:{current:!1},assign:t};t(Y,{ReactDebugCurrentFrame:H,ReactComponentTreeHook:{}});var X=function(e,t){if(!e){for(var n=Y.ReactDebugCurrentFrame,r=n.getStackAddendum(),o=arguments.length,i=Array(o>2?o-2:0),a=2;a1){for(var l=Array(s),f=0;f1){for(var d=Array(p),h=0;h.")}return t}(t);if(!je[n]){je[n]=!0;var r="";e&&e._owner&&e._owner!==V.current&&(r=" It was passed a child from "+N(e._owner.type)+"."),B(e),X(!1,'Each child in a list should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.',n,r),B(null)}}}function Se(e,t){if("object"==typeof e)if(Array.isArray(e))for(var n=0;n",u=" Did you accidentally export a JSX literal instead of a component?"):l=typeof e,X(!1,"React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",l,u)}var f=ne.apply(this,arguments);if(null==f)return f;if(c)for(var p=2;p is not supported and will be removed in a future major release. Did you mean to render instead?")),n.Provider},set:function(e){n.Provider=e}},_currentValue:{get:function(){return n._currentValue},set:function(e){n._currentValue=e}},_currentValue2:{get:function(){return n._currentValue2},set:function(e){n._currentValue2=e}},_threadCount:{get:function(){return n._threadCount},set:function(e){n._threadCount=e}},Consumer:{get:function(){return r||(r=!0,X(!1,"Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),n.Consumer}}}),n.Consumer=i,n._currentRenderer=null,n._currentRenderer2=null,n},forwardRef:function(e){return null!=e&&e.$$typeof===y?S(!1,"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):"function"!=typeof e?S(!1,"forwardRef requires a render function but was given %s.",null===e?"null":typeof e):0!==e.length&&2!==e.length&&S(!1,"forwardRef render functions accept exactly two parameters: props and ref. %s",1===e.length?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),null!=e&&(null!=e.defaultProps||null!=e.propTypes)&&S(!1,"forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"),{$$typeof:p,render:e}},lazy:function(e){var t={$$typeof:v,_ctor:e,_status:-1,_result:null},n=void 0,r=void 0;return Object.defineProperties(t,{defaultProps:{configurable:!0,get:function(){return n},set:function(e){X(!1,"React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),n=e,Object.defineProperty(t,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return r},set:function(e){X(!1,"React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),r=e,Object.defineProperty(t,"propTypes",{enumerable:!0})}}}),t},memo:function(e,t){return we(e)||S(!1,"memo: The first argument must be a component. Instead received: %s",null===e?"null":typeof e),{$$typeof:y,type:e,compare:void 0===t?null:t}},useCallback:function(e,t){return Oe().useCallback(e,t)},useContext:function(e,t){var n=Oe();if(void 0!==t&&X(!1,"useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s",t,"number"==typeof t&&Array.isArray(arguments[2])?"\n\nDid you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://fb.me/rules-of-hooks":""),void 0!==e._context){var r=e._context;r.Consumer===e?X(!1,"Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):r.Provider===e&&X(!1,"Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return n.useContext(e,t)},useEffect:function(e,t){return Oe().useEffect(e,t)},useImperativeHandle:function(e,t,n){return Oe().useImperativeHandle(e,t,n)},useDebugValue:function(e,t){return Oe().useDebugValue(e,t)},useLayoutEffect:function(e,t){return Oe().useLayoutEffect(e,t)},useMemo:function(e,t){return Oe().useMemo(e,t)},useReducer:function(e,t,n){return Oe().useReducer(e,t,n)},useRef:function(e){return Oe().useRef(e)},useState:function(e){return Oe().useState(e)},Fragment:a,Profiler:u,StrictMode:c,Suspense:d,unstable_SuspenseList:h,createElement:Re,cloneElement:function(e,t,n){for(var r=re.apply(this,arguments),o=2;o1?n-1:0),o=1;o1&&void 0!==arguments[1]?arguments[1]:document).querySelector(e)}function me(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return Array.from(t.querySelectorAll(e))}function ge(e,t){return e.classList.add(t)}function be(e,t){return e.classList.remove(t)}function we(e,t){return e.classList.contains(t)}function Oe(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML("beforeend",String(t)),e.lastElementChild||e.lastChild}function ke(e,t,n){return e.style[t]=n,e}function xe(e,t){return Object.keys(t).forEach((function(n){ke(e,n,t[n])})),e}function je(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=window.getComputedStyle(e,null).getPropertyValue(t);return n?parseFloat(r):r}function Pe(e){return Array.from(e.parentElement.children).filter((function(t){return t!==e}))}function Se(e,t){Pe(e).forEach((function(e){return be(e,t)})),ge(e,t)}function Ee(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"up";e.setAttribute("aria-label",t),e.setAttribute("data-balloon-pos",n)}var Re=function(e){return-1!==Function.toString.call(e).indexOf("[native code]")},Ce=r((function(e){function t(n,r,o){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(e){return!1}}()?e.exports=t=function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&f(o,n.prototype),o}:e.exports=t=Reflect.construct,t.apply(null,arguments)}e.exports=t})),$e=function(e){function t(e,n){var r;return i(this,t),r=s(this,l(t).call(this,e)),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(u(r),n||r.constructor),r.name="ArtPlayerError",r}return p(t,e),t}(r((function(e){function t(n){var r="function"==typeof Map?new Map:void 0;return e.exports=t=function(e){if(null===e||!Re(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,t)}function t(){return Ce(e,arguments,l(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),f(t,e)},t(n)}e.exports=t}))(Error));function De(e,t){if(!e)throw new $e(t);return e}function Te(e){return"WEBVTT \r\n\r\n".concat(e.replace(/{[\s\S]*?}/g,"").replace(/\{\\([ibu])\}/g,"").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").concat("\r\n\r\n"))}function _e(e){return URL.createObjectURL(new Blob([e],{type:"text/vtt"}))}function Ae(e){var t=new RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function n(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split(/[:.]/).map((function(e,t,n){if(t===n.length-1){if(1===e.length)return".".concat(e,"00");if(2===e.length)return".".concat(e,"0")}else if(1===e.length)return(0===t?"0":":0")+e;return 0===t?e:t===n.length-1?".".concat(e):":".concat(e)})).join("")}return"WEBVTT\n\n".concat(e.split(/\r?\n/).map((function(e){var r=e.match(t);return r?{start:n(r[1].trim()),end:n(r[2].trim()),text:r[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map((function(e){return e.trim()})).join("\n")}:null})).filter((function(e){return e})).map((function(e,t){return e?"".concat(t+1,"\n").concat(e.start," --\x3e ").concat(e.end,"\n").concat(e.text):""})).filter((function(e){return e.trim()})).join("\n\n"))}function Le(e){return e.includes("?")?Le(e.split("?")[0]):e.includes("#")?Le(e.split("#")[0]):e.trim().toLowerCase().split(".").pop()}function Me(e,t){var n=document.createElement("a");n.style.display="none",n.href=e,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n)}var qe=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t1?t-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((function(t){return setTimeout(t,e)}))}function Ye(e,t,n){var r;function o(){for(var o=arguments.length,i=new Array(o),a=0;a0?[t,n,r]:[n,r]).map((function(e){return e<10?"0".concat(e):String(e)})).join(":")}var Ge=Object.freeze({__proto__:null,query:ve,queryAll:me,addClass:ge,removeClass:be,hasClass:we,append:Oe,remove:function(e){return e.parentNode.removeChild(e)},setStyle:ke,setStyles:xe,getStyle:je,sublings:Pe,inverseClass:Se,tooltip:Ee,ArtPlayerError:$e,errorHandle:De,srtToVtt:Te,vttToBlob:_e,assToVtt:Ae,getExt:Le,downloadFile:Me,def:Fe,has:Ne,proxyPropertys:He,mergeDeep:Ue,sleep:Be,debounce:Ye,throttle:Xe,clamp:Ze,secondToTime:Je});function Qe(e,t,n){return De("string"===t||e instanceof Element,"".concat(n.join(".")," require 'string' or 'Element' type"))}var Ke={container:Qe,url:"string|function",poster:"string",title:"string",theme:"string",lang:"string",volume:"number",isLive:"boolean",muted:"boolean",autoplay:"boolean",autoSize:"boolean",loop:"boolean",flip:"boolean",playbackRate:"boolean",aspectRatio:"boolean",screenshot:"boolean",setting:"boolean",hotkey:"boolean",pip:"boolean",mutex:"boolean",fullscreen:"boolean",fullscreenWeb:"boolean",subtitleOffset:"boolean",miniProgressBar:"boolean",localVideo:"boolean",localSubtitle:"boolean",autoPip:"boolean",networkMonitor:"boolean",plugins:["function"],whitelist:["string|function|regexp"],layers:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Qe,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],contextmenu:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Qe,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],quality:[{default:"boolean|undefined",name:"string",url:"string"}],controls:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Qe,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined",position:function(e,t,n){var r=["top","left","right"];return De(r.includes(e),"".concat(n.join(".")," only accept ").concat(r.toString()," as parameters"))}}],highlight:[{time:"number",text:"string"}],thumbnails:{url:"string",number:"number",width:"number",height:"number",column:"number"},subtitle:{url:"string",style:"object"},moreVideoAttr:"object",icons:"object",customType:"object"},et={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"]}},tt=function e(t){var n=this;i(this,e);var r=t.constructor.kindOf,o=t.option.whitelist;this.userAgent=window.navigator.userAgent,this.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(this.userAgent),this.state=!this.isMobile||o.some((function(e){switch(r(e)){case"string":return n.userAgent.indexOf(e)>-1;case"function":return e(n.userAgent);case"regexp":return e.test(n.userAgent);default:return!1}}))},nt=function(){function e(t){var n=this;i(this,e),this.art=t,t.option.container instanceof Element?this.$container=t.option.container:(this.$container=ve(t.option.container),De(this.$container,"No container element found by ".concat(t.option.container))),De(t.constructor.instances.every((function(e){return e.template.$container!==n.$container})),"Cannot mount multiple instances on the same dom element"),De(this.$container.clientWidth&&this.$container.clientHeight,"The width and height of the container cannot be 0"),t.whitelist.state?this.initDesktop():this.initMobile()}return c(e,[{key:"query",value:function(e){return ve(e,this.$container)}},{key:"initDesktop",value:function(){this.$container.innerHTML='
Player version:
3.2.1
Video url:
Video volume:
Video time:
Video duration:
Video resolution:
x
[x]
xD7
'),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query(".art-video track"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$settingInner=this.query(".art-setting-inner"),this.$settingBody=this.query(".art-setting-body"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$pipHeader=this.query(".art-pip-header"),this.$pipTitle=this.query(".art-pip-title"),this.$pipClose=this.query(".art-pip-close"),this.$contextmenu=this.query(".art-contextmenus")}},{key:"initMobile",value:function(){this.$container.innerHTML='
',this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video")}},{key:"destroy",value:function(e){e?this.$container.innerHTML="":ge(this.$player,"art-destroy")}}]),e}(),rt={"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:"正常",Open:"打开","Switch video":"切换","Switch subtitle":"切换字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"网页全屏","Exit web fullscreen":"退出网页全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地视频","Subtitle offset time":"字幕偏移时间","No subtitles found":"未发现字幕"},ot={"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:"正常",Open:"打開","Switch video":"切換","Switch subtitle":"切換字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"網頁全屏","Exit web fullscreen":"退出網頁全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地視頻","Subtitle offset time":"字幕偏移時間","No subtitles found":"未發現字幕"},it=function(){function e(t){i(this,e),this.art=t,this.languages={"zh-cn":rt,"zh-tw":ot},this.init()}return c(e,[{key:"init",value:function(){var e=this.art.option.lang.toLowerCase();this.language=this.languages[e]||{}}},{key:"get",value:function(e){return this.language[e]||e}},{key:"update",value:function(e){this.languages=Ue(this.languages,e),this.init()}}]),e}();var at=r((function(e){!function(){var t="undefined"!=typeof window&&void 0!==window.document?window.document:{},n=e.exports,r=function(){for(var e,n=[["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"]],r=0,o=n.length,i={};rh){var y=h*l/s;ke(r,"width","".concat(100*y,"%")),ke(r,"height","100%"),ke(r,"padding","0 ".concat((f-f*y)/2,"px"))}else{var v=s/h/l;ke(r,"width","100%"),ke(r,"height","".concat(100*v,"%")),ke(r,"padding","".concat((p-p*v)/2,"px 0"))}}o.dataset.aspectRatio=n,a.show("".concat(i.get("Aspect ratio"),": ").concat("default"===n?i.get("Default"):n)),e.emit("aspectRatioChange",n)}else t.aspectRatio&&(ke(r,"width",null),ke(r,"height",null),ke(r,"padding",null),delete o.dataset.aspectRatio,e.emit("aspectRatioRemove"))}}),Fe(t,"aspectRatioReset",{set:function(n){if(n&&t.aspectRatio){var r=t.aspectRatio;t.aspectRatio=r,e.emit("aspectRatioReset")}}})}(t,this),function(e,t){var n=e.option,r=e.notice,o=e.template.$video;Fe(t,"getScreenshotDataURL",{value:function(){try{var e=document.createElement("canvas");return e.width=o.videoWidth,e.height=o.videoHeight,e.getContext("2d").drawImage(o,0,0),e.toDataURL("image/png")}catch(e){throw r.show(e),e}}}),Fe(t,"getScreenshotBlobUrl",{value:function(){return new Promise((function(e,t){try{var n=document.createElement("canvas");n.width=o.videoWidth,n.height=o.videoHeight,n.getContext("2d").drawImage(o,0,0),n.toBlob((function(t){e(URL.createObjectURL(t))}))}catch(e){r.show(e),t(e)}}))}}),Fe(t,"screenshot",{value:function(){var r=t.getScreenshotDataURL();r&&(Me(r,"".concat(n.title||"artplayer","_").concat(Je(o.currentTime),".png")),e.emit("screenshot",r))}})}(t,this),function(e,t){var n=e.i18n,r=e.notice,o=e.events.destroyEvents,i=e.template.$player,a=function(){e.emit("fullscreenChange",at.isFullscreen)},c=function(){r.show(n.get("Does not support fullscreen"))};t.fullscreenIsEnabled&&(at.on("change",a),at.on("error",c),o.push((function(){at.off("change",a),at.off("error",c)}))),Fe(t,"fullscreen",{get:function(){return at.isFullscreen},set:function(n){t.fullscreenIsEnabled?n?(t.fullscreenWeb&&(t.fullscreenWeb=!1),at.request(i).then((function(){ge(i,"art-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenEnabled")}))):(t.fullscreenWeb&&(t.fullscreenWeb=!1),at.exit().then((function(){be(i,"art-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenExit")}))):c()}}),Fe(t,"fullscreenToggle",{set:function(e){e&&(t.fullscreen=!t.fullscreen)}}),Fe(t,"fullscreenIsEnabled",{get:function(){return at.isEnabled}})}(t,this),function(e,t){var n=e.template.$player;Fe(t,"fullscreenWeb",{get:function(){return we(n,"art-web-fullscreen")},set:function(r){r?(t.fullscreen&&(t.fullscreen=!1),ge(n,"art-web-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenWebEnabled")):(t.fullscreen&&(t.fullscreen=!1),be(n,"art-web-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenWebExit"))}}),Fe(t,"fullscreenWebToggle",{set:function(e){e&&(t.fullscreenWeb=!t.fullscreenWeb)}})}(t,this),ct(t,this),function(e,t){var n=e.template.$video;Fe(t,"loaded",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1)/n.duration:0}}),Fe(t,"loadedTime",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1):0}})}(t,this),function(e,t){Fe(t,"played",{get:function(){return e.template.$video.currentTime/e.template.$video.duration}})}(t,this),function(e,t){var n=e.template.$video;Fe(t,"playing",{get:function(){return!!(n.currentTime>0&&!n.paused&&!n.ended&&n.readyState>2)}})}(t,this),function(e,t){var n=e.template,r=n.$container,o=n.$player,i=n.$video;Fe(t,"autoSize",{get:function(){return we(r,"art-auto-size")},set:function(n){if(n){var a=i.videoWidth,c=i.videoHeight,u=r.getBoundingClientRect(),s=u.width,l=u.height,f=a/c,p=s/l;if(ge(r,"art-auto-size"),p>f){ke(o,"width","".concat(l*f/s*100,"%")),ke(o,"height","100%")}else{var d=s/f/l*100;ke(o,"width","100%"),ke(o,"height","".concat(d,"%"))}e.emit("autoSizeChange",{width:t.width,height:t.height})}else be(r,"art-auto-size"),ke(o,"width",null),ke(o,"height",null),e.emit("autoSizeRemove")}})}(t,this),function(e,t){Fe(t,"rect",{get:function(){return e.template.$player.getBoundingClientRect()}}),["bottom","height","left","right","top","width"].forEach((function(e){Fe(t,e,{get:function(){return t.rect[e]}})})),Fe(t,"x",{get:function(){return t.left+window.pageXOffset}}),Fe(t,"y",{get:function(){return t.top+window.pageYOffset}})}(t,this),function(e,t){Fe(t,"flip",{get:function(){return e.template.$player.dataset.flip},set:function(t){if(t){var n=["normal","horizontal","vertical"];De(n.includes(t),"'flip' only accept ".concat(n.toString()," as parameters")),e.template.$player.dataset.flip=t,e.emit("flipChange",t)}else delete e.template.$player.dataset.flip,e.emit("flipRemove")}})}(t,this),He(t,this)};var st=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e},lt=r((function(e){function t(n,r,o){return"undefined"!=typeof Reflect&&Reflect.get?e.exports=t=Reflect.get:e.exports=t=function(e,t,n){var r=st(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(n):o.value}},t(n,r,o||n)}e.exports=t})),ft=function(){function e(t){i(this,e),this.id=0,this.art=t,this.add=this.add.bind(this),this.name=this.constructor.name.toLowerCase()}return c(e,[{key:"toggle",value:function(){this.show=!this.show}},{key:"add",value:function(e,t){var n=this,r="function"==typeof e?e(this.art):e;if(!this.$parent||r.disable)return{};this.id+=1;var o=r.name||"".concat(this.name).concat(this.id);De(!Ne(this,o),"Cannot add a component that already has the same name: ".concat(o));var i=document.createElement("div");i.classList.value="art-".concat(this.name," art-").concat(this.name,"-").concat(o),r.html&&Oe(i,r.html),r.style&&xe(i,r.style),r.tooltip&&Ee(i,r.tooltip);var a=Array.from(this.$parent.children);i.dataset.index=r.index||this.id;var c=a.find((function(e){return Number(e.dataset.index)>=Number(i.dataset.index)}));return c?c.insertAdjacentElement("beforebegin",i):Oe(this.$parent,i),r.click&&this.art.events.proxy(i,"click",(function(e){e.preventDefault(),r.click.call(n.art,n,e)})),r.mounted&&r.mounted(i,this,this.art),t&&t(i,this,this.art),Fe(this,o,{value:{get $ref(){return i},set show(e){ke(i,"display",e?"block":"none")}}}),this.art.emit("".concat(this.name,":add"),r),this[o]}},{key:"show",get:function(){return we(this.art.template.$player,"art-".concat(this.name,"-show"))},set:function(e){De(!1===e||!0===e,"The show attribute expects a boolean value");var t=this.art.template.$player,n="art-".concat(this.name,"-show");e?ge(t,n):be(t,n),this.art.emit("".concat(this.name,":toggle"),e)}}]),e}();function pt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function dt(e){return function(t){return function(e){for(var t=1;t
'),mounted:function(e){var n=!1,r=ve(".art-progress-loaded",e),i=ve(".art-progress-played",e),u=ve(".art-progress-highlight",e),s=ve(".art-progress-indicator",e),l=ve(".art-progress-tip",e);function f(e,t){"loaded"===e&&ke(r,"width","".concat(100*t,"%")),"played"===e&&(ke(i,"width","".concat(100*t,"%")),ke(s,"left","calc(".concat(100*t,"% - ").concat(je(s,"width")/2,"px)")))}o.forEach((function(e){var t=Ze(e.time,0,c.duration)/c.duration*100;Oe(u,''))})),f("loaded",c.loaded),t.on("video:progress",(function(){f("loaded",c.loaded)})),t.on("video:timeupdate",(function(){f("played",c.played)})),t.on("video:ended",(function(){f("played",1)})),a(e,"mousemove",(function(n){ke(l,"display","block"),n.composedPath().indexOf(u)>-1?function(n){var r=Ot(t,n).width,o=n.target.dataset.text;l.innerHTML=o;var i=l.clientWidth;r<=i/2?ke(l,"left",0):r>e.clientWidth-i/2?ke(l,"left","".concat(e.clientWidth-i,"px")):ke(l,"left","".concat(r-i/2,"px"))}(n):function(n){var r=Ot(t,n),o=r.width,i=r.time;l.innerHTML=i;var a=l.clientWidth;o<=a/2?ke(l,"left",0):o>e.clientWidth-a/2?ke(l,"left","".concat(e.clientWidth-a,"px")):ke(l,"left","".concat(o-a/2,"px"))}(n)})),a(e,"mouseout",(function(){ke(l,"display","none")})),a(e,"click",(function(e){if(e.target!==s){var n=Ot(t,e),r=n.second;f("played",n.percentage),c.seek=r}})),a(s,"mousedown",(function(){n=!0})),a(document,"mousemove",(function(e){if(n){var r=Ot(t,e),o=r.second,i=r.percentage;ge(s,"art-show-indicator"),f("played",i),c.seek=o}})),a(document,"mouseup",(function(){n&&(n=!1,be(s,"art-show-indicator"))}))}})}}function xt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function jt(e){return function(t){return function(e){for(var t=1;t'),l=Oe(s,'
');function f(e){var t=s.getBoundingClientRect(),n=t.left,r=t.width,o=l.getBoundingClientRect().width;return Ze(e.pageX-n-o/2,0,r-o/2)/(r-o)}function p(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.7;if(o.muted||0===e)ke(c,"display","none"),ke(u,"display","flex"),ke(l,"left","0");else{var t=((je(s,"width")||60)-je(l,"width"))*e;ke(c,"display","flex"),ke(u,"display","none"),ke(l,"left","".concat(t,"px"))}}Ee(c,i.get("Mute")),ke(u,"display","none"),p(o.volume),t.on("video:volumechange",(function(){p(o.volume)})),n(c,"click",(function(){o.muted=!0})),n(u,"click",(function(){o.muted=!1})),n(s,"click",(function(e){o.muted=!1,o.volume=f(e)})),n(l,"mousedown",(function(){a=!0})),n(document,"mousemove",(function(e){a&&(o.muted=!1,o.volume=f(e))})),n(document,"mouseup",(function(){a&&(a=!1)}))}})}}function Ct(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $t(e){return function(t){return function(e){for(var t=1;tr.clientWidth-u/2?ke(e,"left","".concat(r.clientWidth-u,"px")):ke(e,"left","".concat(i-u/2,"px"))}(o))})),i(r,"mouseout",(function(){ke(e,"display","none")}))}})}}function _t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function At(e){return function(t){return function(e){for(var t=1;t'.concat(u.name,"")),l=n.map((function(e,t){return'
').concat(e.name,"
")})).join(""),f=Oe(e,'
'.concat(l,"
"));i(e,(function(){f.style.left="-".concat(je(f,"width")/2-e.clientWidth/2,"px")})),o(f,"click",(function(e){var t=Number(e.target.dataset.index),r=n[t],o=r.url,i=r.name;o&&i&&c!==t&&(a.switchQuality(o,i),s.innerHTML=i,c=t)}))}})}}var qt=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.option;return e.on("ready",(function(){n.add(kt({name:"progress",disable:r.isLive,position:"top",index:10})),n.add(Tt({name:"thumbnails",disable:!r.thumbnails.url||r.isLive,position:"top",index:20})),n.add(bt({name:"playAndPause",disable:!1,position:"left",index:10})),n.add(Rt({name:"volume",disable:!1,position:"left",index:20})),n.add(St({name:"time",disable:r.isLive,position:"left",index:30})),n.add(Mt({name:"quality",disable:0===r.quality.length,position:"right",index:10})),n.add(At({name:"screenshot",disable:!r.screenshot,position:"right",index:20})),n.add(jt({name:"subtitle",disable:!r.subtitle.url,position:"right",index:30})),n.add($t({name:"setting",disable:!r.setting,position:"right",index:40})),n.add(mt({name:"pip",disable:!r.pip,position:"right",index:50})),n.add(yt({name:"fullscreenWeb",disable:!r.fullscreenWeb,position:"right",index:60})),n.add(dt({name:"fullscreen",disable:!r.fullscreen,position:"right",index:70})),r.controls.forEach((function(e){n.add(e)}))})),n}return p(t,e),c(t,[{key:"add",value:function(e,n){var r="function"==typeof e?e(this.art):e;De(r.position,"Controls option.position can not be empty");var o=this.art.template,i=o.$progress,a=o.$controlsLeft,c=o.$controlsRight;switch(r.position){case"top":this.$parent=i;break;case"left":this.$parent=a;break;case"right":this.$parent=c}var u=lt(l(t.prototype),"add",this).call(this,r,n);return r.disable||"top"===r.position||u.$ref.firstElementChild&&"I"===u.$ref.firstElementChild.tagName||ge(u.$ref,"art-control-onlyText"),u}}]),t}(ft);function zt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function It(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t0.50.75').concat(r.get("Normal"),'1.251.52.0'),click:function(e,t){var n=t.target.dataset.rate;n&&(o.playbackRate=Number(n),e.show=!1)},mounted:function(e){t.on("playbackRateChange",(function(t){var n=me("span",e).find((function(e){return Number(e.dataset.rate)===t}));n&&Se(n,"art-current")}))}})}}function Vt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ft(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t').concat(r.get("Default"),'4:316:9'),click:function(e,t){var n=t.target.dataset.ratio;n&&(o.aspectRatio=n,e.show=!1)},mounted:function(e){t.on("aspectRatioChange",(function(t){var n=me("span",e).find((function(e){return e.dataset.ratio===t}));n&&Se(n,"art-current")}))}})}}function Wt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Nt(e){return function(t){return function(e){for(var t=1;tArtPlayer 3.2.1'})}function Bt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Yt(e){return function(t){return function(e){for(var t=1;ts+u&&(h=u-d),r+p>l+i&&(y=i-p),ke(c,"left","".concat(h,"px")),ke(c,"top","".concat(y,"px"))})),u(a,"click",(function(e){e.composedPath().includes(c)||(n.show=!1)})),e.on("blur",(function(){n.show=!1}))})),n}return p(t,e),t}(ft),Zt=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.template,o=r.$infoPanel,a=r.$infoClose,c=r.$video;(0,e.events.proxy)(a,"click",(function(){n.show=!1}));var u=null,f=me("[data-video]",o);return e.on("destroy",(function(){clearTimeout(u)})),e.on("info:toggle",(function(e){clearTimeout(u),e&&function e(){f.forEach((function(e){var t=c[e.dataset.video];e.innerHTML="number"==typeof t?t.toFixed(2):t})),u=setTimeout((function(){e()}),1e3)}()})),n}return p(t,e),t}(ft),Jt=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.events.proxy,o=e.option.subtitle;return xe(e.template.$subtitle,o.style),r(n.textTrack,"cuechange",n.update.bind(u(n))),o.url&&n.init(o.url),n}return p(t,e),c(t,[{key:"update",value:function(){var e=this.art.template.$subtitle;e.innerHTML="",this.activeCue&&(e.innerHTML=this.activeCue.text.split(/\r?\n/).map((function(e){return"

".concat(e,"

")})).join(""),this.art.emit("subtitle:update",this.activeCue.text))}},{key:"switch",value:function(e,t){var n=this,r=this.art,o=r.i18n,i=r.notice;return this.init(e).then((function(e){return t&&i.show("".concat(o.get("Switch subtitle"),": ").concat(t)),n.art.emit("subtitle:switch",e),e}))}},{key:"init",value:function(e){var t=this,n=this.art,r=n.notice,o=n.template,i=o.$subtitle,a=o.$track;return fetch(e).then((function(e){return e.text()})).then((function(n){switch(t.art.emit("subtitle:load",e),Le(e)){case"srt":return _e(Te(n));case"ass":return _e(Ae(n));case"vtt":return _e(n);default:return e}})).then((function(e){return i.innerHTML="",t.url===e?e:(URL.revokeObjectURL(t.url),a.src=e,e)})).catch((function(e){throw r.show(e),t.art.emit("subtitle:err",e),e}))}},{key:"url",get:function(){return this.art.template.$track.src}},{key:"textTrack",get:function(){return this.art.template.$video.textTracks[0]}},{key:"activeCue",get:function(){return this.textTrack.activeCues[0]}}]),t}(ft);var Gt=function(){function e(t){var n=this;i(this,e),this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),t.whitelist.state&&t.once("video:canplay",(function(){!function(e,t){var n=e.template.$player;t.proxy(document,["click","contextmenu"],(function(t){t.composedPath().indexOf(n)>-1?(e.isFocus=!0,e.emit("focus")):(e.isFocus=!1,e.emit("blur"))}))}(t,n),function(e,t){var n=e.template.$player;t.hover(n,(function(){ge(n,"art-hover"),e.emit("hoverenter")}),(function(){be(n,"art-hover"),e.emit("hoverleave")}))}(t,n),function(e,t){var n=e.template,r=n.$player,o=n.$video,i=e.player,a=Ye((function(){ge(r,"art-hide-cursor"),be(r,"art-hover"),e.controls.show=!1}),3e3);e.on("hoverleave",(function(){i.playing&&a()})),t.proxy(r,"mousemove",(function(t){a.clearTimeout(),be(r,"art-hide-cursor"),e.controls.show=!0,!e.player.pip&&i.playing&&t.target===o&&a(),e.emit("mousemove")}))}(t,n),function(e,t){var n=e.option,r=e.player,o=e.template.$player,i=document.createElement("object");i.setAttribute("aria-hidden","true"),i.setAttribute("tabindex",-1),i.type="text/html",i.data="about:blank";var a=r.width,c=r.height,u=Xe((function(){r.width===a&&r.height===c||(a=r.width,c=r.height,n.autoSize&&(e.player.fullscreen||e.player.fullscreenWeb||e.player.pip?e.player.autoSize=!1:e.player.autoSize=!0),e.player.aspectRatioReset=!0,e.emit("resize",{width:r.width,height:r.height}))}),500);t.proxy(i,"load",(function(){t.proxy(i.contentDocument.defaultView,"resize",u)})),o.appendChild(i)}(t,n)}))}return c(e,[{key:"proxy",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};Array.isArray(t)?t.forEach((function(t){return r.proxy(e,t,n,o)})):(e.addEventListener(t,n,o),this.destroyEvents.push((function(){e.removeEventListener(t,n,o)})))}},{key:"hover",value:function(e,t,n){t&&this.proxy(e,"mouseenter",t),n&&this.proxy(e,"mouseleave",n)}},{key:"loadImg",value:function(e){var t=this;return new Promise((function(n,r){var o;if(e instanceof HTMLImageElement)o=e;else{if("string"!=typeof e)return r(e);(o=new Image).src=e}return o.complete?n(o):(t.proxy(o,"load",(function(){return n(o)})),t.proxy(o,"error",(function(){return r(o)})),e)}))}},{key:"destroy",value:function(){this.destroyEvents.forEach((function(e){return e()}))}}]),e}(),Qt=function(){function e(t){var n=this;i(this,e),this.keys={};var r=t.option,o=t.player,a=t.events.proxy;r.hotkey&&t.on("ready",(function(){n.add(27,(function(){o.fullscreenWeb&&(o.fullscreenWeb=!1)})),n.add(32,(function(){o.toggle=!0})),n.add(37,(function(){o.seek=o.currentTime-5})),n.add(38,(function(){o.volume+=.1})),n.add(39,(function(){o.seek=o.currentTime+5})),n.add(40,(function(){o.volume-=.1})),a(window,"keydown",(function(e){if(t.isFocus){var r=document.activeElement.tagName.toUpperCase(),o=document.activeElement.getAttribute("contenteditable");if("INPUT"!==r&&"TEXTAREA"!==r&&""!==o&&"true"!==o){var i=n.keys[e.keyCode];i&&(e.preventDefault(),i.forEach((function(e){return e()})),t.emit("hotkey",e))}}}))}))}return c(e,[{key:"add",value:function(e,t){this.keys[e]?this.keys[e].push(t):this.keys[e]=[t]}}]),e}(),Kt=function(e){function t(e){var n;return i(this,t),(n=s(this,l(t).call(this,e))).$parent=e.template.$layer,e.on("ready",(function(){e.option.layers.forEach((function(e){n.add(e)}))})),n}return p(t,e),t}(ft),en=function(e){function t(e){var n;return i(this,t),n=s(this,l(t).call(this,e)),Oe(e.template.$loading,e.icons.loading),n}return p(t,e),t}(ft),tn=function(){function e(t){i(this,e),this.art=t,this.timer=null}return c(e,[{key:"show",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3,o=this.art.template,i=o.$player,a=o.$noticeInner;a.innerHTML=e instanceof Error?e.message.trim():e,clearTimeout(this.timer),n&&(this.timer=setTimeout((function(){t.hide()}),r)),ge(i,"art-notice-show"),this.art.emit("notice:toggle",!0)}},{key:"hide",value:function(){var e=this.art.template,t=e.$player;e.$noticeInner.innerHTML="",be(t,"art-notice-show"),this.art.emit("notice:toggle",!0)}}]),e}(),nn=function(e){function t(e){var n;return i(this,t),n=s(this,l(t).call(this,e)),Oe(e.template.$state,e.icons.state),n}return p(t,e),t}(ft),rn=function e(t){var n=this;i(this,e);var r=Object.assign({loading:'',state:'',play:'',pause:'',volume:'',volumeClose:'',subtitle:'',screenshot:'\t',setting:'',fullscreen:'\t\t\t\t',fullscreenWeb:'\t',pip:'',prev:'',next:''},t.option.icons);Object.keys(r).forEach((function(e){var t=document.createElement("i");t.classList.add("art-icon"),t.classList.add("art-icon-".concat(e)),Oe(t,r[e]),n[e]=t}))};function on(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function an(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t'.concat(r.get("Flip"),'
"),click:function(e,t){var n=t.target.dataset.value;n&&(o.flip=n)},mounted:function(e){t.on("flipChange",(function(t){var n=me("button",e).find((function(e){return e.dataset.value===t}));n&&Se(n.parentElement,"current")}))}})}}function cn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function un(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t'.concat(r.get("Aspect ratio"),'
'),click:function(e,t){var n=t.target.dataset.value;n&&(o.aspectRatio=n)},mounted:function(e){t.on("aspectRatioChange",(function(t){var n=me("button",e).find((function(e){return e.dataset.value===t}));n&&Se(n.parentElement,"current")}))}})}}function sn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ln(e){return function(t){var r=t.i18n,o=t.player,i=t.events.proxy;return function(e){for(var t=1;t'.concat(r.get("Play speed"),': 1.0x
'),mounted:function(e){var n=ve(".art-setting-range input",e),r=ve(".art-subtitle-value",e);i(n,"change",(function(){var e=n.value;r.innerText=e,o.playbackRate=Number(e)})),t.on("playbackRateChange",(function(e){n.value!==e&&(n.value=e,r.innerText=e)}))}})}}var fn=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.option,o=e.template,a=o.$setting,c=o.$settingBody,u=e.events.proxy;return n.$parent=c,r.setting&&(e.on("ready",(function(){u(a,"click",(function(e){e.target===a&&(n.show=!1)})),n.add(an({disable:!r.flip,name:"flip"})),n.add(un({disable:!r.aspectRatio,name:"aspectRatio"})),n.add(ln({disable:!r.playbackRate,name:"playbackRate"}))})),e.on("blur",(function(){n.show=!1}))),n}return p(t,e),t}(ft),pn=function(){function e(t){i(this,e),this.art=t,this.name="artplayer_settings";var n=t.option,r=this.get("volume");r&&(n.volume=r)}return c(e,[{key:"get",value:function(e){var t=JSON.parse(window.localStorage.getItem(this.name))||{};return e?t[e]:{}}},{key:"set",value:function(e,t){var r=Object.assign({},this.get(),n({},e,t));window.localStorage.setItem(this.name,JSON.stringify(r))}},{key:"del",value:function(e){var t=this.get();delete t[e],window.localStorage.setItem(this.name,JSON.stringify(t))}},{key:"clean",value:function(){window.localStorage.removeItem(this.name)}}]),e}();function dn(e){var t=e.i18n,n=e.subtitle,r=e.events.proxy;return{title:"Subtitle",name:"subtitleOffset",index:20,html:'
'.concat(t.get("Subtitle offset time"),': 0s
'),mounted:function(t){var o=ve(".art-setting-range input",t),i=ve(".art-subtitle-value",t);r(o,"change",(function(){var t=o.value;i.innerText=t,e.plugins.subtitleOffset.offset(Number(t))})),e.on("subtitle:switch",(function(){o.value=0,i.innerText=0})),e.on("subtitleOffset",(function(e){n.update(),o.value!==e&&(o.value=e,i.innerText=e)}))}}}function hn(e){var t=e.constructor.utils.clamp,n=e.setting,r=e.notice,o=e.template,i=e.i18n,a=e.player;n.add(dn);var c=[];return e.on("subtitle:switch",(function(){c=[]})),{name:"subtitleOffset",offset:function(n){if(o.$track&&o.$track.track){var u=Array.from(o.$track.track.cues),s=t(n,-5,5);u.forEach((function(e,n){c[n]||(c[n]={startTime:e.startTime,endTime:e.endTime}),e.startTime=t(c[n].startTime+s,0,a.duration),e.endTime=t(c[n].endTime+s,0,a.duration)})),r.show("".concat(i.get("Subtitle offset time"),": ").concat(n,"s")),e.emit("subtitleOffset",n)}else r.show("".concat(i.get("No subtitles found"))),e.emit("subtitleOffset",0)}}}function yn(e){var t=e.events.proxy,n=e.template,r=e.player,o=e.option,i=e.setting,a=e.i18n;function c(t){if(t){var i=n.$video.canPlayType(t.type);if("maybe"===i||"probably"===i){var a=URL.createObjectURL(t);o.title=t.name,r.switchUrl(a,t.name),e.emit("localVideo",t)}else De(!1,"Playback of this file format is not supported")}}function u(e){var n=Oe(e,'');ke(e,"position","relative"),xe(n,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),t(n,"change",(function(){c(n.files[0])}))}return t(n.$player,"dragover",(function(e){e.preventDefault()})),t(n.$player,"drop",(function(e){e.preventDefault(),c(e.dataTransfer.files[0])})),e.on("ready",(function(){i.add({title:"Local Video",name:"localVideo",index:30,html:'
'.concat(a.get("Local Video"),'
').concat(a.get("Open"),'
'),mounted:function(t){var n=ve(".art-upload-btn",t),r=ve(".art-upload-value",t);e.on("localVideo",(function(e){r.textContent=e.name,r.title=e.name})),u(n)}})})),{name:"localVideo",attach:u}}function vn(e){var t=e.events.proxy,n=e.subtitle,r=e.setting,o=e.i18n;function i(r){var o=Oe(r,'');ke(r,"position","relative"),xe(o,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),t(o,"change",(function(){!function(r){if(r){var o=Le(r.name);if(["ass","vtt","srt"].includes(o)){var i=new FileReader;t(i,"load",(function(t){var i=t.target.result;switch(o){case"srt":var a=_e(Te(i));n.switch(a,r.name);break;case"ass":var c=_e(Ae(i));n.switch(c,r.name);break;case"vtt":var u=_e(i);n.switch(u,r.name)}e.emit("localSubtitle",r)})),i.readAsText(r)}else De(!1,"Only supports subtitle files in .ass, .vtt and .srt format")}}(o.files[0])}))}return e.on("ready",(function(){r.add({title:"Local Subtitle",name:"localSubtitle",index:40,html:'
'.concat(o.get("Local Subtitle"),'
').concat(o.get("Open"),'
'),mounted:function(t){var n=ve(".art-upload-btn",t),r=ve(".art-upload-value",t);e.on("localSubtitle",(function(e){r.textContent=e.name,r.title=e.name})),i(n)}})})),{name:"localSubtitle",attach:i}}function mn(e){var t=e.layers,n=e.player,r=e.option.theme;return t.add({name:"miniProgressBar",style:{display:"none",position:"absolute",left:0,right:0,bottom:0,height:"2px",background:r},mounted:function(t){e.on("control:toggle",(function(e){t.style.display=e?"none":"block"})),e.on("destroy",(function(){t.style.display="none"})),e.on("video:timeupdate",(function(){t.style.width="".concat(100*n.played,"%")}))}}),{name:"miniProgressBar"}}function gn(e){var t=1e4,n=0,r=0,o=0,i=null;function a(){n=0,r=0,o=0,cancelAnimationFrame(i),i=null}function c(){i||function a(){e.isDestroy||(i=requestAnimationFrame((function(){var i=Date.now();if(o){var c=i-o;r+=c,e.player.playing||(n+=c)}o=i,e.emit("networkMonitor",n/r),r>=t&&(n=0,r=0),a()})))}()}return e.on("play",c),e.on("pause",a),{name:"networkMonitor",reset:a,start:c,sample:function(e){t=e}}}function bn(e){var t=e.events,n=e.player,r=e.template,o=Ye((function(){var t=r.$player.getBoundingClientRect();t.top+t.height<=0&&!n.pip?(n.pip=!0,e.emit("autoPip",!0)):n.pip&&(n.pip=!1,e.emit("autoPip",!1))}),300);return t.proxy(window,"scroll",o),{name:"autoPip"}}var wn=function(){function e(t){var n=this;i(this,e),this.art=t,this.id=0;var r=t.option;r.subtitle.url&&r.subtitleOffset&&this.add(hn),!r.isLive&&r.miniProgressBar&&this.add(mn),r.localVideo&&this.add(yn),r.localSubtitle&&this.add(vn),r.networkMonitor&&this.add(gn),r.autoPip&&this.add(bn),t.option.plugins.forEach((function(e){n.add(e)}))}return c(e,[{key:"add",value:function(e){this.id+=1;var t=e.call(this,this.art),n="";return De(!Ne(this,n=t&&t.name?t.name:e.name?e.name:"plugin".concat(this.id)),"Cannot add a plugin that already has the same name: ".concat(n)),Object.defineProperty(this,n,{value:t}),this.art.emit("plugin:add",e),this}}]),e}(),On=function e(t){i(this,e);var n=t.option,r=t.events.proxy,o=t.template.$video;et.video.events.forEach((function(e){r(o,e,(function(e){t.emit("video:".concat(e.type),e)}))})),Object.keys(n.moreVideoAttr).forEach((function(e){o[e]=n.moreVideoAttr[e]})),n.muted&&(o.muted=n.muted),n.volume&&(o.volume=Ze(n.volume,0,1)),n.poster&&(o.poster=n.poster),n.autoplay&&(o.autoplay=n.autoplay),o.controls=!0;var a=n.type||Le(n.url),c=n.customType[a];a&&c?(t.emit("beforeCustomType",a),c(o,n.url,t),t.emit("afterCustomType",a)):(t.emit("beforeAttachUrl",n.url),o.src=n.url,t.emit("afterAttachUrl",o.src))},kn=0,xn=function(e){function t(e){var n;return i(this,t),(n=s(this,l(t).call(this))).option=he(Ue(t.option,e),Ke),n.isFocus=!1,n.isDestroy=!1,n.whitelist=new tt(u(n)),n.template=new nt(u(n)),n.events=new Gt(u(n)),n.whitelist.state?(n.storage=new pn(u(n)),n.icons=new rn(u(n)),n.i18n=new it(u(n)),n.notice=new tn(u(n)),n.player=new ut(u(n)),n.layers=new Kt(u(n)),n.controls=new qt(u(n)),n.contextmenu=new Xt(u(n)),n.subtitle=new Jt(u(n)),n.info=new Zt(u(n)),n.loading=new en(u(n)),n.hotkey=new Qt(u(n)),n.mask=new nn(u(n)),n.setting=new fn(u(n)),n.plugins=new wn(u(n))):n.mobile=new On(u(n)),kn+=1,n.id=kn,t.instances.push(u(n)),n}return p(t,e),c(t,[{key:"destroy",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.events.destroy(),this.template.destroy(e),t.instances.splice(t.instances.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}],[{key:"version",get:function(){return"3.2.1"}},{key:"env",get:function(){return'"production"'}},{key:"config",get:function(){return et}},{key:"utils",get:function(){return Ge}},{key:"scheme",get:function(){return Ke}},{key:"Emitter",get:function(){return ye}},{key:"validator",get:function(){return he}},{key:"kindOf",get:function(){return he.kindOf}},{key:"option",get:function(){return{container:"#artplayer",url:"",poster:"",title:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,localVideo:!1,localSubtitle:!1,autoPip:!1,networkMonitor:!1,layers:[],contextmenu:[],quality:[],controls:[],highlight:[],plugins:[],whitelist:[],thumbnails:{url:"",number:60,width:160,height:90,column:10},subtitle:{url:"",style:{}},moreVideoAttr:{controls:!1,preload:"metadata"},icons:{},customType:{},lang:navigator.language.toLowerCase()}}}]),t}(ye);function jn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pn(e){for(var t=1;t1?n-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:document).querySelector(t)}function h(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return Array.from(e.querySelectorAll(t))}function y(t,e){return t.classList.add(e)}function v(t,e){return t.classList.remove(e)}function m(t,e){return t.classList.contains(e)}function g(t,e){return e instanceof Element?t.appendChild(e):t.insertAdjacentHTML("beforeend",String(e)),t.lastElementChild||t.lastChild}function b(t,e,n){return t.style[e]=n,t}function w(t,e){return Object.keys(e).forEach((function(n){b(t,n,e[n])})),t}function O(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=window.getComputedStyle(t,null).getPropertyValue(e);return n?parseFloat(r):r}function x(t){return Array.from(t.parentElement.children).filter((function(e){return e!==t}))}function j(t,e){x(t).forEach((function(t){return v(t,e)})),y(t,e)}function k(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"up";t.setAttribute("aria-label",e),t.setAttribute("data-balloon-pos",n)}var P=function(t){return-1!==Function.toString.call(t).indexOf("[native code]")},E=i((function(t){function e(n,r,i){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}}()?t.exports=e=function(t,e,n){var r=[null];r.push.apply(r,e);var i=new(Function.bind.apply(t,r));return n&&u(i,n.prototype),i}:t.exports=e=Reflect.construct,e.apply(null,arguments)}t.exports=e})),S=function(t){function n(t,r){var i;return e(this,n),i=c(this,s(n).call(this,t)),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(i),r||i.constructor),i.name="ArtPlayerError",i}return l(n,t),n}(i((function(t){function e(n){var r="function"==typeof Map?new Map:void 0;return t.exports=e=function(t){if(null===t||!P(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(t))return r.get(t);r.set(t,e)}function e(){return E(t,arguments,s(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),u(e,t)},e(n)}t.exports=e}))(Error));function $(t,e){if(!t)throw new S(e);return t}function R(t){return"WEBVTT \r\n\r\n".concat(t.replace(/{[\s\S]*?}/g,"").replace(/\{\\([ibu])\}/g,"").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").concat("\r\n\r\n"))}function D(t){return URL.createObjectURL(new Blob([t],{type:"text/vtt"}))}function T(t){var e=new RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function n(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split(/[:.]/).map((function(t,e,n){if(e===n.length-1){if(1===t.length)return".".concat(t,"00");if(2===t.length)return".".concat(t,"0")}else if(1===t.length)return(0===e?"0":":0")+t;return 0===e?t:e===n.length-1?".".concat(t):":".concat(t)})).join("")}return"WEBVTT\n\n".concat(t.split(/\r?\n/).map((function(t){var r=t.match(e);return r?{start:n(r[1].trim()),end:n(r[2].trim()),text:r[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map((function(t){return t.trim()})).join("\n")}:null})).filter((function(t){return t})).map((function(t,e){return t?"".concat(e+1,"\n").concat(t.start," --\x3e ").concat(t.end,"\n").concat(t.text):""})).filter((function(t){return t.trim()})).join("\n\n"))}function C(t){return t.includes("?")?C(t.split("?")[0]):t.includes("#")?C(t.split("#")[0]):t.trim().toLowerCase().split(".").pop()}function L(t,e){var n=document.createElement("a");n.style.display="none",n.href=t,n.download=e,document.body.appendChild(n),n.click(),document.body.removeChild(n)}var A=function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e1?e-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((function(e){return setTimeout(e,t)}))}function N(t,e,n){var r;function i(){for(var i=arguments.length,o=new Array(i),a=0;a0?[e,n,r]:[n,r]).map((function(t){return t<10?"0".concat(t):String(t)})).join(":")}var Y=Object.freeze({__proto__:null,query:d,queryAll:h,addClass:y,removeClass:v,hasClass:m,append:g,remove:function(t){return t.parentNode.removeChild(t)},setStyle:b,setStyles:w,getStyle:O,sublings:x,inverseClass:j,tooltip:k,ArtPlayerError:S,errorHandle:$,srtToVtt:R,vttToBlob:D,assToVtt:T,getExt:C,downloadFile:L,def:V,has:F,proxyPropertys:H,mergeDeep:B,sleep:I,debounce:N,throttle:U,clamp:_,secondToTime:X});function Z(t,e,n){return $("string"===e||t instanceof Element,"".concat(n.join(".")," require 'string' or 'Element' type"))}var J={container:Z,url:"string|function",poster:"string",title:"string",theme:"string",lang:"string",volume:"number",isLive:"boolean",muted:"boolean",autoplay:"boolean",autoSize:"boolean",loop:"boolean",flip:"boolean",playbackRate:"boolean",aspectRatio:"boolean",screenshot:"boolean",setting:"boolean",hotkey:"boolean",pip:"boolean",mutex:"boolean",fullscreen:"boolean",fullscreenWeb:"boolean",subtitleOffset:"boolean",miniProgressBar:"boolean",localVideo:"boolean",localSubtitle:"boolean",autoPip:"boolean",networkMonitor:"boolean",plugins:["function"],whitelist:["string|function|regexp"],layers:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Z,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],contextmenu:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Z,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],quality:[{default:"boolean|undefined",name:"string",url:"string"}],controls:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Z,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined",position:function(t,e,n){var r=["top","left","right"];return $(r.includes(t),"".concat(n.join(".")," only accept ").concat(r.toString()," as parameters"))}}],highlight:[{time:"number",text:"string"}],thumbnails:{url:"string",number:"number",width:"number",height:"number",column:"number"},subtitle:{url:"string",style:"object"},moreVideoAttr:"object",icons:"object",customType:"object"},G={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"]}},Q=function t(n){var r=this;e(this,t);var i=n.constructor.kindOf,o=n.option.whitelist;this.userAgent=window.navigator.userAgent,this.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(this.userAgent),this.state=!this.isMobile||o.some((function(t){switch(i(t)){case"string":return r.userAgent.indexOf(t)>-1;case"function":return t(r.userAgent);case"regexp":return t.test(r.userAgent);default:return!1}}))},K=function(){function t(n){var r=this;e(this,t),this.art=n,n.option.container instanceof Element?this.$container=n.option.container:(this.$container=d(n.option.container),$(this.$container,"No container element found by ".concat(n.option.container))),$(n.constructor.instances.every((function(t){return t.template.$container!==r.$container})),"Cannot mount multiple instances on the same dom element"),$(this.$container.clientWidth&&this.$container.clientHeight,"The width and height of the container cannot be 0"),n.whitelist.state?this.initDesktop():this.initMobile()}return r(t,[{key:"query",value:function(t){return d(t,this.$container)}},{key:"initDesktop",value:function(){this.$container.innerHTML='\n
Player version:
3.1.20
Video url:
Video volume:
Video time:
Video duration:
Video resolution:
x
[x]
×
\n
'),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query(".art-video track"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$settingInner=this.query(".art-setting-inner"),this.$settingBody=this.query(".art-setting-body"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$pipHeader=this.query(".art-pip-header"),this.$pipTitle=this.query(".art-pip-title"),this.$pipClose=this.query(".art-pip-close"),this.$contextmenu=this.query(".art-contextmenus")}},{key:"initMobile",value:function(){this.$container.innerHTML='\n
\n
',this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video")}},{key:"destroy",value:function(t){t?this.$container.innerHTML="":y(this.$player,"art-destroy")}}]),t}(),tt={"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:"正常",Open:"打开","Switch video":"切换","Switch subtitle":"切换字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"网页全屏","Exit web fullscreen":"退出网页全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地视频","Subtitle offset time":"字幕偏移时间","No subtitles found":"未发现字幕"},et={"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:"正常",Open:"打開","Switch video":"切換","Switch subtitle":"切換字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"網頁全屏","Exit web fullscreen":"退出網頁全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地視頻","Subtitle offset time":"字幕偏移時間","No subtitles found":"未發現字幕"},nt=function(){function t(n){e(this,t),this.art=n,this.languages={"zh-cn":tt,"zh-tw":et},this.init()}return r(t,[{key:"init",value:function(){var t=this.art.option.lang.toLowerCase();this.language=this.languages[t]||{}}},{key:"get",value:function(t){return this.language[t]||t}},{key:"update",value:function(t){this.languages=B(this.languages,t),this.init()}}]),t}();var rt=i((function(t){!function(){var e="undefined"!=typeof window&&void 0!==window.document?window.document:{},n=t.exports,r=function(){for(var t,n=[["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"]],r=0,i=n.length,o={};rh){var y=h*l/u;b(r,"width","".concat(100*y,"%")),b(r,"height","100%"),b(r,"padding","0 ".concat((f-f*y)/2,"px"))}else{var v=u/h/l;b(r,"width","100%"),b(r,"height","".concat(100*v,"%")),b(r,"padding","".concat((p-p*v)/2,"px 0"))}}i.dataset.aspectRatio=n,a.show("".concat(o.get("Aspect ratio"),": ").concat("default"===n?o.get("Default"):n)),t.emit("aspectRatioChange",n)}else e.aspectRatio&&(b(r,"width",null),b(r,"height",null),b(r,"padding",null),delete i.dataset.aspectRatio,t.emit("aspectRatioRemove"))}}),V(e,"aspectRatioReset",{set:function(n){if(n&&e.aspectRatio){var r=e.aspectRatio;e.aspectRatio=r,t.emit("aspectRatioReset")}}})}(n,this),function(t,e){var n=t.option,r=t.notice,i=t.template.$video;V(e,"getScreenshotDataURL",{value:function(){try{var t=document.createElement("canvas");return t.width=i.videoWidth,t.height=i.videoHeight,t.getContext("2d").drawImage(i,0,0),t.toDataURL("image/png")}catch(t){throw r.show(t),t}}}),V(e,"getScreenshotBlobUrl",{value:function(){return new Promise((function(t,e){try{var n=document.createElement("canvas");n.width=i.videoWidth,n.height=i.videoHeight,n.getContext("2d").drawImage(i,0,0),n.toBlob((function(e){t(URL.createObjectURL(e))}))}catch(t){r.show(t),e(t)}}))}}),V(e,"screenshot",{value:function(){var r=e.getScreenshotDataURL();r&&(L(r,"".concat(n.title||"artplayer","_").concat(X(i.currentTime),".png")),t.emit("screenshot",r))}})}(n,this),function(t,e){var n=t.i18n,r=t.notice,i=t.events.destroyEvents,o=t.template.$player,a=function(){t.emit("fullscreenChange",rt.isFullscreen)},c=function(){r.show(n.get("Does not support fullscreen"))};e.fullscreenIsEnabled&&(rt.on("change",a),rt.on("error",c),i.push((function(){rt.off("change",a),rt.off("error",c)}))),V(e,"fullscreen",{get:function(){return rt.isFullscreen},set:function(n){e.fullscreenIsEnabled?n?(e.fullscreenWeb&&(e.fullscreenWeb=!1),rt.request(o).then((function(){y(o,"art-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenEnabled")}))):(e.fullscreenWeb&&(e.fullscreenWeb=!1),rt.exit().then((function(){v(o,"art-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenExit")}))):c()}}),V(e,"fullscreenToggle",{set:function(t){t&&(e.fullscreen=!e.fullscreen)}}),V(e,"fullscreenIsEnabled",{get:function(){return rt.isEnabled}})}(n,this),function(t,e){var n=t.template.$player;V(e,"fullscreenWeb",{get:function(){return m(n,"art-web-fullscreen")},set:function(r){r?(e.fullscreen&&(e.fullscreen=!1),y(n,"art-web-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenWebEnabled")):(e.fullscreen&&(e.fullscreen=!1),v(n,"art-web-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenWebExit"))}}),V(e,"fullscreenWebToggle",{set:function(t){t&&(e.fullscreenWeb=!e.fullscreenWeb)}})}(n,this),it(n,this),function(t,e){var n=t.template.$video;V(e,"loaded",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1)/n.duration:0}}),V(e,"loadedTime",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1):0}})}(n,this),function(t,e){V(e,"played",{get:function(){return t.template.$video.currentTime/t.template.$video.duration}})}(n,this),function(t,e){var n=t.template.$video;V(e,"playing",{get:function(){return!!(n.currentTime>0&&!n.paused&&!n.ended&&n.readyState>2)}})}(n,this),function(t,e){var n=t.template,r=n.$container,i=n.$player,o=n.$video;V(e,"autoSize",{get:function(){return m(r,"art-auto-size")},set:function(n){if(n){var a=o.videoWidth,c=o.videoHeight,s=r.getBoundingClientRect(),u=s.width,l=s.height,f=a/c,p=u/l;if(y(r,"art-auto-size"),p>f){b(i,"width","".concat(l*f/u*100,"%")),b(i,"height","100%")}else{var d=u/f/l*100;b(i,"width","100%"),b(i,"height","".concat(d,"%"))}t.emit("autoSizeChange",{width:e.width,height:e.height})}else v(r,"art-auto-size"),b(i,"width",null),b(i,"height",null),t.emit("autoSizeRemove")}})}(n,this),function(t,e){V(e,"rect",{get:function(){return t.template.$player.getBoundingClientRect()}}),["bottom","height","left","right","top","width"].forEach((function(t){V(e,t,{get:function(){return e.rect[t]}})})),V(e,"x",{get:function(){return e.left+window.pageXOffset}}),V(e,"y",{get:function(){return e.top+window.pageYOffset}})}(n,this),function(t,e){V(e,"flip",{get:function(){return t.template.$player.dataset.flip},set:function(e){if(e){var n=["normal","horizontal","vertical"];$(n.includes(e),"'flip' only accept ".concat(n.toString()," as parameters")),t.template.$player.dataset.flip=e,t.emit("flipChange",e)}else delete t.template.$player.dataset.flip,t.emit("flipRemove")}})}(n,this),H(n,this)};var at=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=s(t)););return t},ct=i((function(t){function e(n,r,i){return"undefined"!=typeof Reflect&&Reflect.get?t.exports=e=Reflect.get:t.exports=e=function(t,e,n){var r=at(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(n):i.value}},e(n,r,i||n)}t.exports=e})),st=function(){function t(n){e(this,t),this.id=0,this.art=n,this.add=this.add.bind(this),this.name=this.constructor.name.toLowerCase()}return r(t,[{key:"toggle",value:function(){this.show=!this.show}},{key:"add",value:function(t,e){var n=this,r="function"==typeof t?t(this.art):t;if(!this.$parent||r.disable)return{};this.id+=1;var i=r.name||"".concat(this.name).concat(this.id);$(!F(this,i),"Cannot add a component that already has the same name: ".concat(i));var o=document.createElement("div");o.classList.value="art-".concat(this.name," art-").concat(this.name,"-").concat(i),r.html&&g(o,r.html),r.style&&w(o,r.style),r.tooltip&&k(o,r.tooltip);var a=Array.from(this.$parent.children);o.dataset.index=r.index||this.id;var c=a.find((function(t){return Number(t.dataset.index)>=Number(o.dataset.index)}));return c?c.insertAdjacentElement("beforebegin",o):g(this.$parent,o),r.click&&this.art.events.proxy(o,"click",(function(t){t.preventDefault(),r.click.call(n.art,n,t)})),r.mounted&&r.mounted(o,this,this.art),e&&e(o,this,this.art),V(this,i,{value:{get $ref(){return o},set show(t){b(o,"display",t?"block":"none")}}}),this.art.emit("".concat(this.name,":add"),r),this[i]}},{key:"show",get:function(){return m(this.art.template.$player,"art-".concat(this.name,"-show"))},set:function(t){$(!1===t||!0===t,"The show attribute expects a boolean value");var e=this.art.template.$player,n="art-".concat(this.name,"-show");t?y(e,n):v(e,n),this.art.emit("".concat(this.name,":toggle"),t)}}]),t}();function ut(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function lt(e){return function(n){return function(e){for(var n=1;n
\n'),mounted:function(t){var e=!1,r=d(".art-progress-loaded",t),o=d(".art-progress-played",t),s=d(".art-progress-highlight",t),u=d(".art-progress-indicator",t),l=d(".art-progress-tip",t);function f(t,e){"loaded"===t&&b(r,"width","".concat(100*e,"%")),"played"===t&&(b(o,"width","".concat(100*e,"%")),b(u,"left","calc(".concat(100*e,"% - ").concat(O(u,"width")/2,"px)")))}i.forEach((function(t){var e=_(t.time,0,c.duration)/c.duration*100;g(s,''))})),f("loaded",c.loaded),n.on("video:progress",(function(){f("loaded",c.loaded)})),n.on("video:timeupdate",(function(){f("played",c.played)})),n.on("video:ended",(function(){f("played",1)})),a(t,"mousemove",(function(e){b(l,"display","block"),e.composedPath().indexOf(s)>-1?function(e){var r=gt(n,e).width,i=e.target.dataset.text;l.innerHTML=i;var o=l.clientWidth;r<=o/2?b(l,"left",0):r>t.clientWidth-o/2?b(l,"left","".concat(t.clientWidth-o,"px")):b(l,"left","".concat(r-o/2,"px"))}(e):function(e){var r=gt(n,e),i=r.width,o=r.time;l.innerHTML=o;var a=l.clientWidth;i<=a/2?b(l,"left",0):i>t.clientWidth-a/2?b(l,"left","".concat(t.clientWidth-a,"px")):b(l,"left","".concat(i-a/2,"px"))}(e)})),a(t,"mouseout",(function(){b(l,"display","none")})),a(t,"click",(function(t){if(t.target!==u){var e=gt(n,t),r=e.second;f("played",e.percentage),c.seek=r}})),a(u,"mousedown",(function(){e=!0})),a(document,"mousemove",(function(t){if(e){var r=gt(n,t),i=r.second,o=r.percentage;y(u,"art-show-indicator"),f("played",o),c.seek=i}})),a(document,"mouseup",(function(){e&&(e=!1,v(u,"art-show-indicator"))}))}})}}function wt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ot(e){return function(n){return function(e){for(var n=1;n'),l=g(u,'
');function f(t){var e=u.getBoundingClientRect(),n=e.left,r=e.width,i=l.getBoundingClientRect().width;return _(t.pageX-n-i/2,0,r-i/2)/(r-i)}function p(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.7;if(i.muted||0===t)b(c,"display","none"),b(s,"display","flex"),b(l,"left","0");else{var e=((O(u,"width")||60)-O(l,"width"))*t;b(c,"display","flex"),b(s,"display","none"),b(l,"left","".concat(e,"px"))}}k(c,o.get("Mute")),b(s,"display","none"),p(i.volume),n.on("video:volumechange",(function(){p(i.volume)})),e(c,"click",(function(){i.muted=!0})),e(s,"click",(function(){i.muted=!1})),e(u,"click",(function(t){i.muted=!1,i.volume=f(t)})),e(l,"mousedown",(function(){a=!0})),e(document,"mousemove",(function(t){a&&(i.muted=!1,i.volume=f(t))})),e(document,"mouseup",(function(){a&&(a=!1)}))}})}}function Et(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function St(e){return function(n){return function(e){for(var n=1;nr.clientWidth-s/2?b(t,"left","".concat(r.clientWidth-s,"px")):b(t,"left","".concat(o-s/2,"px"))}(i))})),o(r,"mouseout",(function(){b(t,"display","none")}))}})}}function Dt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Tt(e){return function(n){return function(e){for(var n=1;n'.concat(s.name,"")),l=e.map((function(t,e){return'
').concat(t.name,"
")})).join(""),f=g(t,'
'.concat(l,"
"));o(t,(function(){f.style.left="-".concat(O(f,"width")/2-t.clientWidth/2,"px")})),i(f,"click",(function(t){var n=Number(t.target.dataset.index),r=e[n],i=r.url,o=r.name;i&&o&&c!==n&&(a.switchQuality(i,o),u.innerHTML=o,c=n)}))}})}}var At=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.option;return t.on("ready",(function(){r.add(bt({name:"progress",disable:i.isLive,position:"top",index:10})),r.add(Rt({name:"thumbnails",disable:!i.thumbnails.url||i.isLive,position:"top",index:20})),r.add(vt({name:"playAndPause",disable:!1,position:"left",index:10})),r.add(Pt({name:"volume",disable:!1,position:"left",index:20})),r.add(jt({name:"time",disable:i.isLive,position:"left",index:30})),r.add(Lt({name:"quality",disable:0===i.quality.length,position:"right",index:10})),r.add(Tt({name:"screenshot",disable:!i.screenshot,position:"right",index:20})),r.add(Ot({name:"subtitle",disable:!i.subtitle.url,position:"right",index:30})),r.add(St({name:"setting",disable:!i.setting,position:"right",index:40})),r.add(ht({name:"pip",disable:!i.pip,position:"right",index:50})),r.add(pt({name:"fullscreenWeb",disable:!i.fullscreenWeb,position:"right",index:60})),r.add(lt({name:"fullscreen",disable:!i.fullscreen,position:"right",index:70})),i.controls.forEach((function(t){r.add(t)}))})),r}return l(n,t),r(n,[{key:"add",value:function(t,e){var r="function"==typeof t?t(this.art):t;$(r.position,"Controls option.position can not be empty");var i=this.art.template,o=i.$progress,a=i.$controlsLeft,c=i.$controlsRight;switch(r.position){case"top":this.$parent=o;break;case"left":this.$parent=a;break;case"right":this.$parent=c}var u=ct(s(n.prototype),"add",this).call(this,r,e);return r.disable||"top"===r.position||u.$ref.firstElementChild&&"I"===u.$ref.firstElementChild.tagName||y(u.$ref,"art-control-onlyText"),u}}]),n}(st);function Mt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function zt(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n0.5\n0.75\n').concat(r.get("Normal"),'\n1.25\n1.5\n2.0'),click:function(t,e){var n=e.target.dataset.rate;n&&(i.playbackRate=Number(n),t.show=!1)},mounted:function(t){n.on("playbackRateChange",(function(e){var n=h("span",t).find((function(t){return Number(t.dataset.rate)===e}));n&&j(n,"art-current")}))}})}}function qt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Vt(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n').concat(r.get("Default"),'\n4:3\n16:9'),click:function(t,e){var n=e.target.dataset.ratio;n&&(i.aspectRatio=n,t.show=!1)},mounted:function(t){n.on("aspectRatioChange",(function(e){var n=h("span",t).find((function(t){return t.dataset.ratio===e}));n&&j(n,"art-current")}))}})}}function Wt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ft(e){return function(n){return function(e){for(var n=1;nArtPlayer 3.1.20'})}function It(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Nt(e){return function(n){return function(e){for(var n=1;ns+c&&(h=c-d),n+p>l+o&&(y=o-p),b(u,"left","".concat(h,"px")),b(u,"top","".concat(y,"px"))})),l(a,"click",(function(t){t.composedPath().includes(u)||(r.show=!1)})),t.on("blur",(function(){r.show=!1}))})),r}return l(n,t),n}(st),_t=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.template,o=i.$infoPanel,a=i.$infoClose,u=i.$video;(0,t.events.proxy)(a,"click",(function(){r.show=!1}));var l=null,f=h("[data-video]",o);return t.on("destroy",(function(){clearTimeout(l)})),t.on("info:toggle",(function(t){clearTimeout(l),t&&function t(){f.forEach((function(t){var e=u[t.dataset.video];t.innerHTML="number"==typeof e?e.toFixed(2):e})),l=setTimeout((function(){t()}),1e3)}()})),r}return l(n,t),n}(st),Xt=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.events.proxy,o=t.option.subtitle;return w(t.template.$subtitle,o.style),i(r.textTrack,"cuechange",r.update.bind(a(r))),o.url&&r.init(o.url),r}return l(n,t),r(n,[{key:"update",value:function(){var t=this.art.template.$subtitle;t.innerHTML="",this.activeCue&&(t.innerHTML=this.activeCue.text.split(/\r?\n/).map((function(t){return"

".concat(t,"

")})).join(""),this.art.emit("subtitle:update",this.activeCue.text))}},{key:"switch",value:function(t,e){var n=this,r=this.art,i=r.i18n,o=r.notice;return this.init(t).then((function(t){return e&&o.show("".concat(i.get("Switch subtitle"),": ").concat(e)),n.art.emit("subtitle:switch",t),t}))}},{key:"init",value:function(t){var e=this,n=this.art,r=n.notice,i=n.template,o=i.$subtitle,a=i.$track;return fetch(t).then((function(t){return t.text()})).then((function(n){switch(e.art.emit("subtitle:load",t),C(t)){case"srt":return D(R(n));case"ass":return D(T(n));case"vtt":return D(n);default:return t}})).then((function(t){return o.innerHTML="",e.url===t?t:(URL.revokeObjectURL(e.url),a.src=t,t)})).catch((function(t){throw r.show(t),e.art.emit("subtitle:err",t),t}))}},{key:"url",get:function(){return this.art.template.$track.src}},{key:"textTrack",get:function(){return this.art.template.$video.textTracks[0]}},{key:"activeCue",get:function(){return this.textTrack.activeCues[0]}}]),n}(st);var Yt=function(){function t(n){var r=this;e(this,t),this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),n.whitelist.state&&n.once("video:canplay",(function(){!function(t,e){var n=t.template.$player;e.proxy(document,["click","contextmenu"],(function(e){e.composedPath().indexOf(n)>-1?(t.isFocus=!0,t.emit("focus")):(t.isFocus=!1,t.emit("blur"))}))}(n,r),function(t,e){var n=t.template.$player;e.hover(n,(function(){y(n,"art-hover"),t.emit("hoverenter")}),(function(){v(n,"art-hover"),t.emit("hoverleave")}))}(n,r),function(t,e){var n=t.template,r=n.$player,i=n.$video,o=t.player,a=N((function(){y(r,"art-hide-cursor"),v(r,"art-hover"),t.controls.show=!1}),3e3);t.on("hoverleave",(function(){o.playing&&a()})),e.proxy(r,"mousemove",(function(e){a.clearTimeout(),v(r,"art-hide-cursor"),t.controls.show=!0,!t.player.pip&&o.playing&&e.target===i&&a(),t.emit("mousemove")}))}(n,r),function(t,e){var n=t.option,r=t.player,i=t.template.$player,o=document.createElement("object");o.setAttribute("aria-hidden","true"),o.setAttribute("tabindex",-1),o.type="text/html",o.data="about:blank";var a=r.width,c=r.height,s=U((function(){r.width===a&&r.height===c||(a=r.width,c=r.height,n.autoSize&&(t.player.fullscreen||t.player.fullscreenWeb||t.player.pip?t.player.autoSize=!1:t.player.autoSize=!0),t.player.aspectRatioReset=!0,t.emit("resize",{width:r.width,height:r.height}))}),500);e.proxy(o,"load",(function(){e.proxy(o.contentDocument.defaultView,"resize",s)})),i.appendChild(o)}(n,r)}))}return r(t,[{key:"proxy",value:function(t,e,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};Array.isArray(e)?e.forEach((function(e){return r.proxy(t,e,n,i)})):(t.addEventListener(e,n,i),this.destroyEvents.push((function(){t.removeEventListener(e,n,i)})))}},{key:"hover",value:function(t,e,n){e&&this.proxy(t,"mouseenter",e),n&&this.proxy(t,"mouseleave",n)}},{key:"loadImg",value:function(t){var e=this;return new Promise((function(n,r){var i;if(t instanceof HTMLImageElement)i=t;else{if("string"!=typeof t)return r(t);(i=new Image).src=t}return i.complete?n(i):(e.proxy(i,"load",(function(){return n(i)})),e.proxy(i,"error",(function(){return r(i)})),t)}))}},{key:"destroy",value:function(){this.destroyEvents.forEach((function(t){return t()}))}}]),t}(),Zt=function(){function t(n){var r=this;e(this,t),this.keys={};var i=n.option,o=n.player,a=n.events.proxy;i.hotkey&&n.on("ready",(function(){r.add(27,(function(){o.fullscreenWeb&&(o.fullscreenWeb=!1)})),r.add(32,(function(){o.toggle=!0})),r.add(37,(function(){o.seek=o.currentTime-5})),r.add(38,(function(){o.volume+=.1})),r.add(39,(function(){o.seek=o.currentTime+5})),r.add(40,(function(){o.volume-=.1})),a(window,"keydown",(function(t){if(n.isFocus){var e=document.activeElement.tagName.toUpperCase(),i=document.activeElement.getAttribute("contenteditable");if("INPUT"!==e&&"TEXTAREA"!==e&&""!==i&&"true"!==i){var o=r.keys[t.keyCode];o&&(t.preventDefault(),o.forEach((function(t){return t()})),n.emit("hotkey",t))}}}))}))}return r(t,[{key:"add",value:function(t,e){this.keys[t]?this.keys[t].push(e):this.keys[t]=[e]}}]),t}(),Jt=function(t){function n(t){var r;return e(this,n),(r=c(this,s(n).call(this,t))).$parent=t.template.$layer,t.on("ready",(function(){t.option.layers.forEach((function(t){r.add(t)}))})),r}return l(n,t),n}(st),Gt=function(t){function n(t){var r;return e(this,n),r=c(this,s(n).call(this,t)),g(t.template.$loading,t.icons.loading),r}return l(n,t),n}(st),Qt=function(){function t(n){e(this,t),this.art=n,this.timer=null}return r(t,[{key:"show",value:function(t){var e=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3,i=this.art.template,o=i.$player,a=i.$noticeInner;a.innerHTML=t instanceof Error?t.message.trim():t,clearTimeout(this.timer),n&&(this.timer=setTimeout((function(){e.hide()}),r)),y(o,"art-notice-show"),this.art.emit("notice:toggle",!0)}},{key:"hide",value:function(){var t=this.art.template,e=t.$player;t.$noticeInner.innerHTML="",v(e,"art-notice-show"),this.art.emit("notice:toggle",!0)}}]),t}(),Kt=function(t){function n(t){var r;return e(this,n),r=c(this,s(n).call(this,t)),g(t.template.$state,t.icons.state),r}return l(n,t),n}(st),te=function t(n){var r=this;e(this,t);var i=Object.assign({loading:'\n',state:'\n',play:'\n',pause:'\n',volume:'\n',volumeClose:'\n',subtitle:'\n',screenshot:'\n\t\n\n',setting:'\n',fullscreen:'\n\t\n\t\n\t\n\t\n',fullscreenWeb:'\n\t\n',pip:'\n',prev:'\n',next:'\n'},n.option.icons);Object.keys(i).forEach((function(t){var e=document.createElement("i");e.classList.add("art-icon"),e.classList.add("art-icon-".concat(t)),g(e,i[t]),r[t]=e}))};function ee(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ne(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n'.concat(r.get("Flip"),'\n
\n
"),click:function(t,e){var n=e.target.dataset.value;n&&(i.flip=n)},mounted:function(t){n.on("flipChange",(function(e){var n=h("button",t).find((function(t){return t.dataset.value===e}));n&&j(n.parentElement,"current")}))}})}}function re(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ie(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n'.concat(r.get("Aspect ratio"),'\n
\n
'),click:function(t,e){var n=e.target.dataset.value;n&&(i.aspectRatio=n)},mounted:function(t){n.on("aspectRatioChange",(function(e){var n=h("button",t).find((function(t){return t.dataset.value===e}));n&&j(n.parentElement,"current")}))}})}}function oe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ae(e){return function(n){var r=n.i18n,i=n.player,o=n.events.proxy;return function(e){for(var n=1;n'.concat(r.get("Play speed"),': 1.0x\n\n
\n
'),mounted:function(t){var e=d(".art-setting-range input",t),r=d(".art-subtitle-value",t);o(e,"change",(function(){var t=e.value;r.innerText=t,i.playbackRate=Number(t)})),n.on("playbackRateChange",(function(t){e.value!==t&&(e.value=t,r.innerText=t)}))}})}}var ce=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.option,o=t.template,a=o.$setting,u=o.$settingBody,l=t.events.proxy;return r.$parent=u,i.setting&&(t.on("ready",(function(){l(a,"click",(function(t){t.target===a&&(r.show=!1)})),r.add(ne({disable:!i.flip,name:"flip"})),r.add(ie({disable:!i.aspectRatio,name:"aspectRatio"})),r.add(ae({disable:!i.playbackRate,name:"playbackRate"}))})),t.on("blur",(function(){r.show=!1}))),r}return l(n,t),n}(st),se=function(){function n(t){e(this,n),this.art=t,this.name="artplayer_settings";var r=t.option,i=this.get("volume");i&&(r.volume=i)}return r(n,[{key:"get",value:function(t){var e=JSON.parse(window.localStorage.getItem(this.name))||{};return t?e[t]:{}}},{key:"set",value:function(e,n){var r=Object.assign({},this.get(),t({},e,n));window.localStorage.setItem(this.name,JSON.stringify(r))}},{key:"del",value:function(t){var e=this.get();delete e[t],window.localStorage.setItem(this.name,JSON.stringify(e))}},{key:"clean",value:function(){window.localStorage.removeItem(this.name)}}]),n}();function ue(t){var e=t.i18n,n=t.subtitle,r=t.events.proxy;return{title:"Subtitle",name:"subtitleOffset",index:20,html:'\n
'.concat(e.get("Subtitle offset time"),': 0s\n
\n
\n
'),mounted:function(e){var i=d(".art-setting-range input",e),o=d(".art-subtitle-value",e);r(i,"change",(function(){var e=i.value;o.innerText=e,t.plugins.subtitleOffset.offset(Number(e))})),t.on("subtitle:switch",(function(){i.value=0,o.innerText=0})),t.on("subtitleOffset",(function(t){n.update(),i.value!==t&&(i.value=t,o.innerText=t)}))}}}function le(t){var e=t.constructor.utils.clamp,n=t.setting,r=t.notice,i=t.template,o=t.i18n,a=t.player;n.add(ue);var c=[];return t.on("subtitle:switch",(function(){c=[]})),{name:"subtitleOffset",offset:function(n){if(i.$track&&i.$track.track){var s=Array.from(i.$track.track.cues),u=e(n,-5,5);s.forEach((function(t,n){c[n]||(c[n]={startTime:t.startTime,endTime:t.endTime}),t.startTime=e(c[n].startTime+u,0,a.duration),t.endTime=e(c[n].endTime+u,0,a.duration)})),r.show("".concat(o.get("Subtitle offset time"),": ").concat(n,"s")),t.emit("subtitleOffset",n)}else r.show("".concat(o.get("No subtitles found"))),t.emit("subtitleOffset",0)}}}function fe(t){var e=t.events.proxy,n=t.template,r=t.player,i=t.option,o=t.setting,a=t.i18n;function c(e){if(e){var o=n.$video.canPlayType(e.type);if("maybe"===o||"probably"===o){var a=URL.createObjectURL(e);i.title=e.name,r.switchUrl(a,e.name),t.emit("localVideo",e)}else $(!1,"Playback of this file format is not supported")}}function s(t){var n=g(t,'');b(t,"position","relative"),w(n,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),e(n,"change",(function(){c(n.files[0])}))}return e(n.$player,"dragover",(function(t){t.preventDefault()})),e(n.$player,"drop",(function(t){t.preventDefault(),c(t.dataTransfer.files[0])})),t.on("ready",(function(){o.add({title:"Local Video",name:"localVideo",index:30,html:'\n
'.concat(a.get("Local Video"),'\n
\n
').concat(a.get("Open"),'
\n
'),mounted:function(e){var n=d(".art-upload-btn",e),r=d(".art-upload-value",e);t.on("localVideo",(function(t){r.textContent=t.name,r.title=t.name})),s(n)}})})),{name:"localVideo",attach:s}}function pe(t){var e=t.events.proxy,n=t.subtitle,r=t.setting,i=t.i18n;function o(r){var i=g(r,'');b(r,"position","relative"),w(i,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),e(i,"change",(function(){!function(r){if(r){var i=C(r.name);if(["ass","vtt","srt"].includes(i)){var o=new FileReader;e(o,"load",(function(e){var o=e.target.result;switch(i){case"srt":var a=D(R(o));n.switch(a,r.name);break;case"ass":var c=D(T(o));n.switch(c,r.name);break;case"vtt":var s=D(o);n.switch(s,r.name)}t.emit("localSubtitle",r)})),o.readAsText(r)}else $(!1,"Only supports subtitle files in .ass, .vtt and .srt format")}}(i.files[0])}))}return t.on("ready",(function(){r.add({title:"Local Subtitle",name:"localSubtitle",index:40,html:'\n
'.concat(i.get("Local Subtitle"),'\n
\n
').concat(i.get("Open"),'
\n
'),mounted:function(e){var n=d(".art-upload-btn",e),r=d(".art-upload-value",e);t.on("localSubtitle",(function(t){r.textContent=t.name,r.title=t.name})),o(n)}})})),{name:"localSubtitle",attach:o}}function de(t){var e=t.layers,n=t.player,r=t.option.theme;return e.add({name:"miniProgressBar",style:{display:"none",position:"absolute",left:0,right:0,bottom:0,height:"2px",background:r},mounted:function(e){t.on("control:toggle",(function(t){e.style.display=t?"none":"block"})),t.on("destroy",(function(){e.style.display="none"})),t.on("video:timeupdate",(function(){e.style.width="".concat(100*n.played,"%")}))}}),{name:"miniProgressBar"}}function he(t){var e=1e4,n=0,r=0,i=0,o=null;function a(){n=0,r=0,i=0,cancelAnimationFrame(o),o=null}function c(){o||function a(){t.isDestroy||(o=requestAnimationFrame((function(){var o=Date.now();if(i){var c=o-i;r+=c,t.player.playing||(n+=c)}i=o,t.emit("networkMonitor",n/r),r>=e&&(n=0,r=0),a()})))}()}return t.on("play",c),t.on("pause",a),{name:"networkMonitor",reset:a,start:c,sample:function(t){e=t}}}function ye(t){var e=t.events,n=t.player,r=t.template,i=N((function(){var e=r.$player.getBoundingClientRect();e.top+e.height<=0&&!n.pip?(n.pip=!0,t.emit("autoPip",!0)):n.pip&&(n.pip=!1,t.emit("autoPip",!1))}),300);return e.proxy(window,"scroll",i),{name:"autoPip"}}var ve=function(){function t(n){var r=this;e(this,t),this.art=n,this.id=0;var i=n.option;i.subtitle.url&&i.subtitleOffset&&this.add(le),!i.isLive&&i.miniProgressBar&&this.add(de),i.localVideo&&this.add(fe),i.localSubtitle&&this.add(pe),i.networkMonitor&&this.add(he),i.autoPip&&this.add(ye),n.option.plugins.forEach((function(t){r.add(t)}))}return r(t,[{key:"add",value:function(t){this.id+=1;var e=t.call(this,this.art),n="";return $(!F(this,n=e&&e.name?e.name:t.name?t.name:"plugin".concat(this.id)),"Cannot add a plugin that already has the same name: ".concat(n)),Object.defineProperty(this,n,{value:e}),this.art.emit("plugin:add",t),this}}]),t}(),me=function t(n){e(this,t);var r=n.option,i=n.events.proxy,o=n.template.$video;G.video.events.forEach((function(t){i(o,t,(function(t){n.emit("video:".concat(t.type),t)}))})),Object.keys(r.moreVideoAttr).forEach((function(t){o[t]=r.moreVideoAttr[t]})),r.muted&&(o.muted=r.muted),r.volume&&(o.volume=_(r.volume,0,1)),r.poster&&(o.poster=r.poster),r.autoplay&&(o.autoplay=r.autoplay),o.controls=!0;var a=r.type||C(r.url),c=r.customType[a];a&&c?(n.emit("beforeCustomType",a),c(o,r.url,n),n.emit("afterCustomType",a)):(n.emit("beforeAttachUrl",r.url),o.src=r.url,n.emit("afterAttachUrl",o.src))},ge=0,be=function(t){function n(t){var r;return e(this,n),(r=c(this,s(n).call(this))).option=f(B(n.option,t),J),r.isFocus=!1,r.isDestroy=!1,r.whitelist=new Q(a(r)),r.template=new K(a(r)),r.events=new Yt(a(r)),r.whitelist.state?(r.storage=new se(a(r)),r.icons=new te(a(r)),r.i18n=new nt(a(r)),r.notice=new Qt(a(r)),r.player=new ot(a(r)),r.layers=new Jt(a(r)),r.controls=new At(a(r)),r.contextmenu=new Ut(a(r)),r.subtitle=new Xt(a(r)),r.info=new _t(a(r)),r.loading=new Gt(a(r)),r.hotkey=new Zt(a(r)),r.mask=new Kt(a(r)),r.setting=new ce(a(r)),r.plugins=new ve(a(r))):r.mobile=new me(a(r)),ge+=1,r.id=ge,n.instances.push(a(r)),r}return l(n,t),r(n,[{key:"destroy",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.events.destroy(),this.template.destroy(t),n.instances.splice(n.instances.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}],[{key:"version",get:function(){return"3.1.20"}},{key:"env",get:function(){return'"production"'}},{key:"config",get:function(){return G}},{key:"utils",get:function(){return Y}},{key:"scheme",get:function(){return J}},{key:"Emitter",get:function(){return p}},{key:"validator",get:function(){return f}},{key:"kindOf",get:function(){return f.kindOf}},{key:"option",get:function(){return{container:"#artplayer",url:"",poster:"",title:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,localVideo:!1,localSubtitle:!1,autoPip:!1,networkMonitor:!1,layers:[],contextmenu:[],quality:[],controls:[],highlight:[],plugins:[],whitelist:[],thumbnails:{url:"",number:60,width:160,height:90,column:10},subtitle:{url:"",style:{}},moreVideoAttr:{controls:!1,preload:"metadata"},icons:{},customType:{},lang:navigator.language.toLowerCase()}}}]),n}(p);function we(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}return Object.defineProperty(be,"instances",{value:[]}),console.log("%c ArtPlayer %c 3.1.20 %c https://artplayer.org","color: #fff; background: #5f5f5f","color: #fff; background: #4bc729",""),{data:function(){return{instance:null}},props:{option:{type:Object,required:!0},getInstance:Function},mounted:function(){this.instance=new be(function(e){for(var n=1;n1?n-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:document).querySelector(t)}function h(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return Array.from(e.querySelectorAll(t))}function y(t,e){return t.classList.add(e)}function v(t,e){return t.classList.remove(e)}function m(t,e){return t.classList.contains(e)}function g(t,e){return e instanceof Element?t.appendChild(e):t.insertAdjacentHTML("beforeend",String(e)),t.lastElementChild||t.lastChild}function b(t,e,n){return t.style[e]=n,t}function w(t,e){return Object.keys(e).forEach((function(n){b(t,n,e[n])})),t}function O(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=window.getComputedStyle(t,null).getPropertyValue(e);return n?parseFloat(r):r}function x(t){return Array.from(t.parentElement.children).filter((function(e){return e!==t}))}function j(t,e){x(t).forEach((function(t){return v(t,e)})),y(t,e)}function k(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"up";t.setAttribute("aria-label",e),t.setAttribute("data-balloon-pos",n)}var P=function(t){return-1!==Function.toString.call(t).indexOf("[native code]")},E=i((function(t){function e(n,r,i){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}}()?t.exports=e=function(t,e,n){var r=[null];r.push.apply(r,e);var i=new(Function.bind.apply(t,r));return n&&u(i,n.prototype),i}:t.exports=e=Reflect.construct,e.apply(null,arguments)}t.exports=e})),S=function(t){function n(t,r){var i;return e(this,n),i=c(this,s(n).call(this,t)),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(i),r||i.constructor),i.name="ArtPlayerError",i}return l(n,t),n}(i((function(t){function e(n){var r="function"==typeof Map?new Map:void 0;return t.exports=e=function(t){if(null===t||!P(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(t))return r.get(t);r.set(t,e)}function e(){return E(t,arguments,s(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),u(e,t)},e(n)}t.exports=e}))(Error));function $(t,e){if(!t)throw new S(e);return t}function R(t){return"WEBVTT \r\n\r\n".concat(t.replace(/{[\s\S]*?}/g,"").replace(/\{\\([ibu])\}/g,"").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").concat("\r\n\r\n"))}function D(t){return URL.createObjectURL(new Blob([t],{type:"text/vtt"}))}function T(t){var e=new RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function n(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split(/[:.]/).map((function(t,e,n){if(e===n.length-1){if(1===t.length)return".".concat(t,"00");if(2===t.length)return".".concat(t,"0")}else if(1===t.length)return(0===e?"0":":0")+t;return 0===e?t:e===n.length-1?".".concat(t):":".concat(t)})).join("")}return"WEBVTT\n\n".concat(t.split(/\r?\n/).map((function(t){var r=t.match(e);return r?{start:n(r[1].trim()),end:n(r[2].trim()),text:r[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map((function(t){return t.trim()})).join("\n")}:null})).filter((function(t){return t})).map((function(t,e){return t?"".concat(e+1,"\n").concat(t.start," --\x3e ").concat(t.end,"\n").concat(t.text):""})).filter((function(t){return t.trim()})).join("\n\n"))}function C(t){return t.includes("?")?C(t.split("?")[0]):t.includes("#")?C(t.split("#")[0]):t.trim().toLowerCase().split(".").pop()}function L(t,e){var n=document.createElement("a");n.style.display="none",n.href=t,n.download=e,document.body.appendChild(n),n.click(),document.body.removeChild(n)}var A=function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e1?e-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((function(e){return setTimeout(e,t)}))}function N(t,e,n){var r;function i(){for(var i=arguments.length,o=new Array(i),a=0;a0?[e,n,r]:[n,r]).map((function(t){return t<10?"0".concat(t):String(t)})).join(":")}var Y=Object.freeze({__proto__:null,query:d,queryAll:h,addClass:y,removeClass:v,hasClass:m,append:g,remove:function(t){return t.parentNode.removeChild(t)},setStyle:b,setStyles:w,getStyle:O,sublings:x,inverseClass:j,tooltip:k,ArtPlayerError:S,errorHandle:$,srtToVtt:R,vttToBlob:D,assToVtt:T,getExt:C,downloadFile:L,def:V,has:F,proxyPropertys:H,mergeDeep:B,sleep:I,debounce:N,throttle:U,clamp:_,secondToTime:X});function Z(t,e,n){return $("string"===e||t instanceof Element,"".concat(n.join(".")," require 'string' or 'Element' type"))}var J={container:Z,url:"string|function",poster:"string",title:"string",theme:"string",lang:"string",volume:"number",isLive:"boolean",muted:"boolean",autoplay:"boolean",autoSize:"boolean",loop:"boolean",flip:"boolean",playbackRate:"boolean",aspectRatio:"boolean",screenshot:"boolean",setting:"boolean",hotkey:"boolean",pip:"boolean",mutex:"boolean",fullscreen:"boolean",fullscreenWeb:"boolean",subtitleOffset:"boolean",miniProgressBar:"boolean",localVideo:"boolean",localSubtitle:"boolean",autoPip:"boolean",networkMonitor:"boolean",plugins:["function"],whitelist:["string|function|regexp"],layers:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Z,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],contextmenu:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Z,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],quality:[{default:"boolean|undefined",name:"string",url:"string"}],controls:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Z,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined",position:function(t,e,n){var r=["top","left","right"];return $(r.includes(t),"".concat(n.join(".")," only accept ").concat(r.toString()," as parameters"))}}],highlight:[{time:"number",text:"string"}],thumbnails:{url:"string",number:"number",width:"number",height:"number",column:"number"},subtitle:{url:"string",style:"object"},moreVideoAttr:"object",icons:"object",customType:"object"},G={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"]}},Q=function t(n){var r=this;e(this,t);var i=n.constructor.kindOf,o=n.option.whitelist;this.userAgent=window.navigator.userAgent,this.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(this.userAgent),this.state=!this.isMobile||o.some((function(t){switch(i(t)){case"string":return r.userAgent.indexOf(t)>-1;case"function":return t(r.userAgent);case"regexp":return t.test(r.userAgent);default:return!1}}))},K=function(){function t(n){var r=this;e(this,t),this.art=n,n.option.container instanceof Element?this.$container=n.option.container:(this.$container=d(n.option.container),$(this.$container,"No container element found by ".concat(n.option.container))),$(n.constructor.instances.every((function(t){return t.template.$container!==r.$container})),"Cannot mount multiple instances on the same dom element"),$(this.$container.clientWidth&&this.$container.clientHeight,"The width and height of the container cannot be 0"),n.whitelist.state?this.initDesktop():this.initMobile()}return r(t,[{key:"query",value:function(t){return d(t,this.$container)}},{key:"initDesktop",value:function(){this.$container.innerHTML='
Player version:
3.2.1
Video url:
Video volume:
Video time:
Video duration:
Video resolution:
x
[x]
xD7
'),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query(".art-video track"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$settingInner=this.query(".art-setting-inner"),this.$settingBody=this.query(".art-setting-body"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$pipHeader=this.query(".art-pip-header"),this.$pipTitle=this.query(".art-pip-title"),this.$pipClose=this.query(".art-pip-close"),this.$contextmenu=this.query(".art-contextmenus")}},{key:"initMobile",value:function(){this.$container.innerHTML='
',this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video")}},{key:"destroy",value:function(t){t?this.$container.innerHTML="":y(this.$player,"art-destroy")}}]),t}(),tt={"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:"正常",Open:"打开","Switch video":"切换","Switch subtitle":"切换字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"网页全屏","Exit web fullscreen":"退出网页全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地视频","Subtitle offset time":"字幕偏移时间","No subtitles found":"未发现字幕"},et={"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:"正常",Open:"打開","Switch video":"切換","Switch subtitle":"切換字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"網頁全屏","Exit web fullscreen":"退出網頁全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地視頻","Subtitle offset time":"字幕偏移時間","No subtitles found":"未發現字幕"},nt=function(){function t(n){e(this,t),this.art=n,this.languages={"zh-cn":tt,"zh-tw":et},this.init()}return r(t,[{key:"init",value:function(){var t=this.art.option.lang.toLowerCase();this.language=this.languages[t]||{}}},{key:"get",value:function(t){return this.language[t]||t}},{key:"update",value:function(t){this.languages=B(this.languages,t),this.init()}}]),t}();var rt=i((function(t){!function(){var e="undefined"!=typeof window&&void 0!==window.document?window.document:{},n=t.exports,r=function(){for(var t,n=[["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"]],r=0,i=n.length,o={};rh){var y=h*l/u;b(r,"width","".concat(100*y,"%")),b(r,"height","100%"),b(r,"padding","0 ".concat((f-f*y)/2,"px"))}else{var v=u/h/l;b(r,"width","100%"),b(r,"height","".concat(100*v,"%")),b(r,"padding","".concat((p-p*v)/2,"px 0"))}}i.dataset.aspectRatio=n,a.show("".concat(o.get("Aspect ratio"),": ").concat("default"===n?o.get("Default"):n)),t.emit("aspectRatioChange",n)}else e.aspectRatio&&(b(r,"width",null),b(r,"height",null),b(r,"padding",null),delete i.dataset.aspectRatio,t.emit("aspectRatioRemove"))}}),V(e,"aspectRatioReset",{set:function(n){if(n&&e.aspectRatio){var r=e.aspectRatio;e.aspectRatio=r,t.emit("aspectRatioReset")}}})}(n,this),function(t,e){var n=t.option,r=t.notice,i=t.template.$video;V(e,"getScreenshotDataURL",{value:function(){try{var t=document.createElement("canvas");return t.width=i.videoWidth,t.height=i.videoHeight,t.getContext("2d").drawImage(i,0,0),t.toDataURL("image/png")}catch(t){throw r.show(t),t}}}),V(e,"getScreenshotBlobUrl",{value:function(){return new Promise((function(t,e){try{var n=document.createElement("canvas");n.width=i.videoWidth,n.height=i.videoHeight,n.getContext("2d").drawImage(i,0,0),n.toBlob((function(e){t(URL.createObjectURL(e))}))}catch(t){r.show(t),e(t)}}))}}),V(e,"screenshot",{value:function(){var r=e.getScreenshotDataURL();r&&(L(r,"".concat(n.title||"artplayer","_").concat(X(i.currentTime),".png")),t.emit("screenshot",r))}})}(n,this),function(t,e){var n=t.i18n,r=t.notice,i=t.events.destroyEvents,o=t.template.$player,a=function(){t.emit("fullscreenChange",rt.isFullscreen)},c=function(){r.show(n.get("Does not support fullscreen"))};e.fullscreenIsEnabled&&(rt.on("change",a),rt.on("error",c),i.push((function(){rt.off("change",a),rt.off("error",c)}))),V(e,"fullscreen",{get:function(){return rt.isFullscreen},set:function(n){e.fullscreenIsEnabled?n?(e.fullscreenWeb&&(e.fullscreenWeb=!1),rt.request(o).then((function(){y(o,"art-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenEnabled")}))):(e.fullscreenWeb&&(e.fullscreenWeb=!1),rt.exit().then((function(){v(o,"art-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenExit")}))):c()}}),V(e,"fullscreenToggle",{set:function(t){t&&(e.fullscreen=!e.fullscreen)}}),V(e,"fullscreenIsEnabled",{get:function(){return rt.isEnabled}})}(n,this),function(t,e){var n=t.template.$player;V(e,"fullscreenWeb",{get:function(){return m(n,"art-web-fullscreen")},set:function(r){r?(e.fullscreen&&(e.fullscreen=!1),y(n,"art-web-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenWebEnabled")):(e.fullscreen&&(e.fullscreen=!1),v(n,"art-web-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenWebExit"))}}),V(e,"fullscreenWebToggle",{set:function(t){t&&(e.fullscreenWeb=!e.fullscreenWeb)}})}(n,this),it(n,this),function(t,e){var n=t.template.$video;V(e,"loaded",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1)/n.duration:0}}),V(e,"loadedTime",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1):0}})}(n,this),function(t,e){V(e,"played",{get:function(){return t.template.$video.currentTime/t.template.$video.duration}})}(n,this),function(t,e){var n=t.template.$video;V(e,"playing",{get:function(){return!!(n.currentTime>0&&!n.paused&&!n.ended&&n.readyState>2)}})}(n,this),function(t,e){var n=t.template,r=n.$container,i=n.$player,o=n.$video;V(e,"autoSize",{get:function(){return m(r,"art-auto-size")},set:function(n){if(n){var a=o.videoWidth,c=o.videoHeight,s=r.getBoundingClientRect(),u=s.width,l=s.height,f=a/c,p=u/l;if(y(r,"art-auto-size"),p>f){b(i,"width","".concat(l*f/u*100,"%")),b(i,"height","100%")}else{var d=u/f/l*100;b(i,"width","100%"),b(i,"height","".concat(d,"%"))}t.emit("autoSizeChange",{width:e.width,height:e.height})}else v(r,"art-auto-size"),b(i,"width",null),b(i,"height",null),t.emit("autoSizeRemove")}})}(n,this),function(t,e){V(e,"rect",{get:function(){return t.template.$player.getBoundingClientRect()}}),["bottom","height","left","right","top","width"].forEach((function(t){V(e,t,{get:function(){return e.rect[t]}})})),V(e,"x",{get:function(){return e.left+window.pageXOffset}}),V(e,"y",{get:function(){return e.top+window.pageYOffset}})}(n,this),function(t,e){V(e,"flip",{get:function(){return t.template.$player.dataset.flip},set:function(e){if(e){var n=["normal","horizontal","vertical"];$(n.includes(e),"'flip' only accept ".concat(n.toString()," as parameters")),t.template.$player.dataset.flip=e,t.emit("flipChange",e)}else delete t.template.$player.dataset.flip,t.emit("flipRemove")}})}(n,this),H(n,this)};var at=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=s(t)););return t},ct=i((function(t){function e(n,r,i){return"undefined"!=typeof Reflect&&Reflect.get?t.exports=e=Reflect.get:t.exports=e=function(t,e,n){var r=at(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(n):i.value}},e(n,r,i||n)}t.exports=e})),st=function(){function t(n){e(this,t),this.id=0,this.art=n,this.add=this.add.bind(this),this.name=this.constructor.name.toLowerCase()}return r(t,[{key:"toggle",value:function(){this.show=!this.show}},{key:"add",value:function(t,e){var n=this,r="function"==typeof t?t(this.art):t;if(!this.$parent||r.disable)return{};this.id+=1;var i=r.name||"".concat(this.name).concat(this.id);$(!F(this,i),"Cannot add a component that already has the same name: ".concat(i));var o=document.createElement("div");o.classList.value="art-".concat(this.name," art-").concat(this.name,"-").concat(i),r.html&&g(o,r.html),r.style&&w(o,r.style),r.tooltip&&k(o,r.tooltip);var a=Array.from(this.$parent.children);o.dataset.index=r.index||this.id;var c=a.find((function(t){return Number(t.dataset.index)>=Number(o.dataset.index)}));return c?c.insertAdjacentElement("beforebegin",o):g(this.$parent,o),r.click&&this.art.events.proxy(o,"click",(function(t){t.preventDefault(),r.click.call(n.art,n,t)})),r.mounted&&r.mounted(o,this,this.art),e&&e(o,this,this.art),V(this,i,{value:{get $ref(){return o},set show(t){b(o,"display",t?"block":"none")}}}),this.art.emit("".concat(this.name,":add"),r),this[i]}},{key:"show",get:function(){return m(this.art.template.$player,"art-".concat(this.name,"-show"))},set:function(t){$(!1===t||!0===t,"The show attribute expects a boolean value");var e=this.art.template.$player,n="art-".concat(this.name,"-show");t?y(e,n):v(e,n),this.art.emit("".concat(this.name,":toggle"),t)}}]),t}();function ut(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function lt(e){return function(n){return function(e){for(var n=1;n
'),mounted:function(t){var e=!1,r=d(".art-progress-loaded",t),o=d(".art-progress-played",t),s=d(".art-progress-highlight",t),u=d(".art-progress-indicator",t),l=d(".art-progress-tip",t);function f(t,e){"loaded"===t&&b(r,"width","".concat(100*e,"%")),"played"===t&&(b(o,"width","".concat(100*e,"%")),b(u,"left","calc(".concat(100*e,"% - ").concat(O(u,"width")/2,"px)")))}i.forEach((function(t){var e=_(t.time,0,c.duration)/c.duration*100;g(s,''))})),f("loaded",c.loaded),n.on("video:progress",(function(){f("loaded",c.loaded)})),n.on("video:timeupdate",(function(){f("played",c.played)})),n.on("video:ended",(function(){f("played",1)})),a(t,"mousemove",(function(e){b(l,"display","block"),e.composedPath().indexOf(s)>-1?function(e){var r=gt(n,e).width,i=e.target.dataset.text;l.innerHTML=i;var o=l.clientWidth;r<=o/2?b(l,"left",0):r>t.clientWidth-o/2?b(l,"left","".concat(t.clientWidth-o,"px")):b(l,"left","".concat(r-o/2,"px"))}(e):function(e){var r=gt(n,e),i=r.width,o=r.time;l.innerHTML=o;var a=l.clientWidth;i<=a/2?b(l,"left",0):i>t.clientWidth-a/2?b(l,"left","".concat(t.clientWidth-a,"px")):b(l,"left","".concat(i-a/2,"px"))}(e)})),a(t,"mouseout",(function(){b(l,"display","none")})),a(t,"click",(function(t){if(t.target!==u){var e=gt(n,t),r=e.second;f("played",e.percentage),c.seek=r}})),a(u,"mousedown",(function(){e=!0})),a(document,"mousemove",(function(t){if(e){var r=gt(n,t),i=r.second,o=r.percentage;y(u,"art-show-indicator"),f("played",o),c.seek=i}})),a(document,"mouseup",(function(){e&&(e=!1,v(u,"art-show-indicator"))}))}})}}function wt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ot(e){return function(n){return function(e){for(var n=1;n'),l=g(u,'
');function f(t){var e=u.getBoundingClientRect(),n=e.left,r=e.width,i=l.getBoundingClientRect().width;return _(t.pageX-n-i/2,0,r-i/2)/(r-i)}function p(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.7;if(i.muted||0===t)b(c,"display","none"),b(s,"display","flex"),b(l,"left","0");else{var e=((O(u,"width")||60)-O(l,"width"))*t;b(c,"display","flex"),b(s,"display","none"),b(l,"left","".concat(e,"px"))}}k(c,o.get("Mute")),b(s,"display","none"),p(i.volume),n.on("video:volumechange",(function(){p(i.volume)})),e(c,"click",(function(){i.muted=!0})),e(s,"click",(function(){i.muted=!1})),e(u,"click",(function(t){i.muted=!1,i.volume=f(t)})),e(l,"mousedown",(function(){a=!0})),e(document,"mousemove",(function(t){a&&(i.muted=!1,i.volume=f(t))})),e(document,"mouseup",(function(){a&&(a=!1)}))}})}}function Et(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function St(e){return function(n){return function(e){for(var n=1;nr.clientWidth-s/2?b(t,"left","".concat(r.clientWidth-s,"px")):b(t,"left","".concat(o-s/2,"px"))}(i))})),o(r,"mouseout",(function(){b(t,"display","none")}))}})}}function Dt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Tt(e){return function(n){return function(e){for(var n=1;n'.concat(s.name,"")),l=e.map((function(t,e){return'
').concat(t.name,"
")})).join(""),f=g(t,'
'.concat(l,"
"));o(t,(function(){f.style.left="-".concat(O(f,"width")/2-t.clientWidth/2,"px")})),i(f,"click",(function(t){var n=Number(t.target.dataset.index),r=e[n],i=r.url,o=r.name;i&&o&&c!==n&&(a.switchQuality(i,o),u.innerHTML=o,c=n)}))}})}}var At=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.option;return t.on("ready",(function(){r.add(bt({name:"progress",disable:i.isLive,position:"top",index:10})),r.add(Rt({name:"thumbnails",disable:!i.thumbnails.url||i.isLive,position:"top",index:20})),r.add(vt({name:"playAndPause",disable:!1,position:"left",index:10})),r.add(Pt({name:"volume",disable:!1,position:"left",index:20})),r.add(jt({name:"time",disable:i.isLive,position:"left",index:30})),r.add(Lt({name:"quality",disable:0===i.quality.length,position:"right",index:10})),r.add(Tt({name:"screenshot",disable:!i.screenshot,position:"right",index:20})),r.add(Ot({name:"subtitle",disable:!i.subtitle.url,position:"right",index:30})),r.add(St({name:"setting",disable:!i.setting,position:"right",index:40})),r.add(ht({name:"pip",disable:!i.pip,position:"right",index:50})),r.add(pt({name:"fullscreenWeb",disable:!i.fullscreenWeb,position:"right",index:60})),r.add(lt({name:"fullscreen",disable:!i.fullscreen,position:"right",index:70})),i.controls.forEach((function(t){r.add(t)}))})),r}return l(n,t),r(n,[{key:"add",value:function(t,e){var r="function"==typeof t?t(this.art):t;$(r.position,"Controls option.position can not be empty");var i=this.art.template,o=i.$progress,a=i.$controlsLeft,c=i.$controlsRight;switch(r.position){case"top":this.$parent=o;break;case"left":this.$parent=a;break;case"right":this.$parent=c}var u=ct(s(n.prototype),"add",this).call(this,r,e);return r.disable||"top"===r.position||u.$ref.firstElementChild&&"I"===u.$ref.firstElementChild.tagName||y(u.$ref,"art-control-onlyText"),u}}]),n}(st);function Mt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function zt(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n0.50.75').concat(r.get("Normal"),'1.251.52.0'),click:function(t,e){var n=e.target.dataset.rate;n&&(i.playbackRate=Number(n),t.show=!1)},mounted:function(t){n.on("playbackRateChange",(function(e){var n=h("span",t).find((function(t){return Number(t.dataset.rate)===e}));n&&j(n,"art-current")}))}})}}function qt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Vt(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n').concat(r.get("Default"),'4:316:9'),click:function(t,e){var n=e.target.dataset.ratio;n&&(i.aspectRatio=n,t.show=!1)},mounted:function(t){n.on("aspectRatioChange",(function(e){var n=h("span",t).find((function(t){return t.dataset.ratio===e}));n&&j(n,"art-current")}))}})}}function Wt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ft(e){return function(n){return function(e){for(var n=1;nArtPlayer 3.2.1'})}function It(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Nt(e){return function(n){return function(e){for(var n=1;ns+c&&(h=c-d),n+p>l+o&&(y=o-p),b(u,"left","".concat(h,"px")),b(u,"top","".concat(y,"px"))})),l(a,"click",(function(t){t.composedPath().includes(u)||(r.show=!1)})),t.on("blur",(function(){r.show=!1}))})),r}return l(n,t),n}(st),_t=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.template,o=i.$infoPanel,a=i.$infoClose,u=i.$video;(0,t.events.proxy)(a,"click",(function(){r.show=!1}));var l=null,f=h("[data-video]",o);return t.on("destroy",(function(){clearTimeout(l)})),t.on("info:toggle",(function(t){clearTimeout(l),t&&function t(){f.forEach((function(t){var e=u[t.dataset.video];t.innerHTML="number"==typeof e?e.toFixed(2):e})),l=setTimeout((function(){t()}),1e3)}()})),r}return l(n,t),n}(st),Xt=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.events.proxy,o=t.option.subtitle;return w(t.template.$subtitle,o.style),i(r.textTrack,"cuechange",r.update.bind(a(r))),o.url&&r.init(o.url),r}return l(n,t),r(n,[{key:"update",value:function(){var t=this.art.template.$subtitle;t.innerHTML="",this.activeCue&&(t.innerHTML=this.activeCue.text.split(/\r?\n/).map((function(t){return"

".concat(t,"

")})).join(""),this.art.emit("subtitle:update",this.activeCue.text))}},{key:"switch",value:function(t,e){var n=this,r=this.art,i=r.i18n,o=r.notice;return this.init(t).then((function(t){return e&&o.show("".concat(i.get("Switch subtitle"),": ").concat(e)),n.art.emit("subtitle:switch",t),t}))}},{key:"init",value:function(t){var e=this,n=this.art,r=n.notice,i=n.template,o=i.$subtitle,a=i.$track;return fetch(t).then((function(t){return t.text()})).then((function(n){switch(e.art.emit("subtitle:load",t),C(t)){case"srt":return D(R(n));case"ass":return D(T(n));case"vtt":return D(n);default:return t}})).then((function(t){return o.innerHTML="",e.url===t?t:(URL.revokeObjectURL(e.url),a.src=t,t)})).catch((function(t){throw r.show(t),e.art.emit("subtitle:err",t),t}))}},{key:"url",get:function(){return this.art.template.$track.src}},{key:"textTrack",get:function(){return this.art.template.$video.textTracks[0]}},{key:"activeCue",get:function(){return this.textTrack.activeCues[0]}}]),n}(st);var Yt=function(){function t(n){var r=this;e(this,t),this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),n.whitelist.state&&n.once("video:canplay",(function(){!function(t,e){var n=t.template.$player;e.proxy(document,["click","contextmenu"],(function(e){e.composedPath().indexOf(n)>-1?(t.isFocus=!0,t.emit("focus")):(t.isFocus=!1,t.emit("blur"))}))}(n,r),function(t,e){var n=t.template.$player;e.hover(n,(function(){y(n,"art-hover"),t.emit("hoverenter")}),(function(){v(n,"art-hover"),t.emit("hoverleave")}))}(n,r),function(t,e){var n=t.template,r=n.$player,i=n.$video,o=t.player,a=N((function(){y(r,"art-hide-cursor"),v(r,"art-hover"),t.controls.show=!1}),3e3);t.on("hoverleave",(function(){o.playing&&a()})),e.proxy(r,"mousemove",(function(e){a.clearTimeout(),v(r,"art-hide-cursor"),t.controls.show=!0,!t.player.pip&&o.playing&&e.target===i&&a(),t.emit("mousemove")}))}(n,r),function(t,e){var n=t.option,r=t.player,i=t.template.$player,o=document.createElement("object");o.setAttribute("aria-hidden","true"),o.setAttribute("tabindex",-1),o.type="text/html",o.data="about:blank";var a=r.width,c=r.height,s=U((function(){r.width===a&&r.height===c||(a=r.width,c=r.height,n.autoSize&&(t.player.fullscreen||t.player.fullscreenWeb||t.player.pip?t.player.autoSize=!1:t.player.autoSize=!0),t.player.aspectRatioReset=!0,t.emit("resize",{width:r.width,height:r.height}))}),500);e.proxy(o,"load",(function(){e.proxy(o.contentDocument.defaultView,"resize",s)})),i.appendChild(o)}(n,r)}))}return r(t,[{key:"proxy",value:function(t,e,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};Array.isArray(e)?e.forEach((function(e){return r.proxy(t,e,n,i)})):(t.addEventListener(e,n,i),this.destroyEvents.push((function(){t.removeEventListener(e,n,i)})))}},{key:"hover",value:function(t,e,n){e&&this.proxy(t,"mouseenter",e),n&&this.proxy(t,"mouseleave",n)}},{key:"loadImg",value:function(t){var e=this;return new Promise((function(n,r){var i;if(t instanceof HTMLImageElement)i=t;else{if("string"!=typeof t)return r(t);(i=new Image).src=t}return i.complete?n(i):(e.proxy(i,"load",(function(){return n(i)})),e.proxy(i,"error",(function(){return r(i)})),t)}))}},{key:"destroy",value:function(){this.destroyEvents.forEach((function(t){return t()}))}}]),t}(),Zt=function(){function t(n){var r=this;e(this,t),this.keys={};var i=n.option,o=n.player,a=n.events.proxy;i.hotkey&&n.on("ready",(function(){r.add(27,(function(){o.fullscreenWeb&&(o.fullscreenWeb=!1)})),r.add(32,(function(){o.toggle=!0})),r.add(37,(function(){o.seek=o.currentTime-5})),r.add(38,(function(){o.volume+=.1})),r.add(39,(function(){o.seek=o.currentTime+5})),r.add(40,(function(){o.volume-=.1})),a(window,"keydown",(function(t){if(n.isFocus){var e=document.activeElement.tagName.toUpperCase(),i=document.activeElement.getAttribute("contenteditable");if("INPUT"!==e&&"TEXTAREA"!==e&&""!==i&&"true"!==i){var o=r.keys[t.keyCode];o&&(t.preventDefault(),o.forEach((function(t){return t()})),n.emit("hotkey",t))}}}))}))}return r(t,[{key:"add",value:function(t,e){this.keys[t]?this.keys[t].push(e):this.keys[t]=[e]}}]),t}(),Jt=function(t){function n(t){var r;return e(this,n),(r=c(this,s(n).call(this,t))).$parent=t.template.$layer,t.on("ready",(function(){t.option.layers.forEach((function(t){r.add(t)}))})),r}return l(n,t),n}(st),Gt=function(t){function n(t){var r;return e(this,n),r=c(this,s(n).call(this,t)),g(t.template.$loading,t.icons.loading),r}return l(n,t),n}(st),Qt=function(){function t(n){e(this,t),this.art=n,this.timer=null}return r(t,[{key:"show",value:function(t){var e=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3,i=this.art.template,o=i.$player,a=i.$noticeInner;a.innerHTML=t instanceof Error?t.message.trim():t,clearTimeout(this.timer),n&&(this.timer=setTimeout((function(){e.hide()}),r)),y(o,"art-notice-show"),this.art.emit("notice:toggle",!0)}},{key:"hide",value:function(){var t=this.art.template,e=t.$player;t.$noticeInner.innerHTML="",v(e,"art-notice-show"),this.art.emit("notice:toggle",!0)}}]),t}(),Kt=function(t){function n(t){var r;return e(this,n),r=c(this,s(n).call(this,t)),g(t.template.$state,t.icons.state),r}return l(n,t),n}(st),te=function t(n){var r=this;e(this,t);var i=Object.assign({loading:'',state:'',play:'',pause:'',volume:'',volumeClose:'',subtitle:'',screenshot:'\t',setting:'',fullscreen:'\t\t\t\t',fullscreenWeb:'\t',pip:'',prev:'',next:''},n.option.icons);Object.keys(i).forEach((function(t){var e=document.createElement("i");e.classList.add("art-icon"),e.classList.add("art-icon-".concat(t)),g(e,i[t]),r[t]=e}))};function ee(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ne(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n'.concat(r.get("Flip"),'
"),click:function(t,e){var n=e.target.dataset.value;n&&(i.flip=n)},mounted:function(t){n.on("flipChange",(function(e){var n=h("button",t).find((function(t){return t.dataset.value===e}));n&&j(n.parentElement,"current")}))}})}}function re(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ie(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n'.concat(r.get("Aspect ratio"),'
'),click:function(t,e){var n=e.target.dataset.value;n&&(i.aspectRatio=n)},mounted:function(t){n.on("aspectRatioChange",(function(e){var n=h("button",t).find((function(t){return t.dataset.value===e}));n&&j(n.parentElement,"current")}))}})}}function oe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ae(e){return function(n){var r=n.i18n,i=n.player,o=n.events.proxy;return function(e){for(var n=1;n'.concat(r.get("Play speed"),': 1.0x
'),mounted:function(t){var e=d(".art-setting-range input",t),r=d(".art-subtitle-value",t);o(e,"change",(function(){var t=e.value;r.innerText=t,i.playbackRate=Number(t)})),n.on("playbackRateChange",(function(t){e.value!==t&&(e.value=t,r.innerText=t)}))}})}}var ce=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.option,o=t.template,a=o.$setting,u=o.$settingBody,l=t.events.proxy;return r.$parent=u,i.setting&&(t.on("ready",(function(){l(a,"click",(function(t){t.target===a&&(r.show=!1)})),r.add(ne({disable:!i.flip,name:"flip"})),r.add(ie({disable:!i.aspectRatio,name:"aspectRatio"})),r.add(ae({disable:!i.playbackRate,name:"playbackRate"}))})),t.on("blur",(function(){r.show=!1}))),r}return l(n,t),n}(st),se=function(){function n(t){e(this,n),this.art=t,this.name="artplayer_settings";var r=t.option,i=this.get("volume");i&&(r.volume=i)}return r(n,[{key:"get",value:function(t){var e=JSON.parse(window.localStorage.getItem(this.name))||{};return t?e[t]:{}}},{key:"set",value:function(e,n){var r=Object.assign({},this.get(),t({},e,n));window.localStorage.setItem(this.name,JSON.stringify(r))}},{key:"del",value:function(t){var e=this.get();delete e[t],window.localStorage.setItem(this.name,JSON.stringify(e))}},{key:"clean",value:function(){window.localStorage.removeItem(this.name)}}]),n}();function ue(t){var e=t.i18n,n=t.subtitle,r=t.events.proxy;return{title:"Subtitle",name:"subtitleOffset",index:20,html:'
'.concat(e.get("Subtitle offset time"),': 0s
'),mounted:function(e){var i=d(".art-setting-range input",e),o=d(".art-subtitle-value",e);r(i,"change",(function(){var e=i.value;o.innerText=e,t.plugins.subtitleOffset.offset(Number(e))})),t.on("subtitle:switch",(function(){i.value=0,o.innerText=0})),t.on("subtitleOffset",(function(t){n.update(),i.value!==t&&(i.value=t,o.innerText=t)}))}}}function le(t){var e=t.constructor.utils.clamp,n=t.setting,r=t.notice,i=t.template,o=t.i18n,a=t.player;n.add(ue);var c=[];return t.on("subtitle:switch",(function(){c=[]})),{name:"subtitleOffset",offset:function(n){if(i.$track&&i.$track.track){var s=Array.from(i.$track.track.cues),u=e(n,-5,5);s.forEach((function(t,n){c[n]||(c[n]={startTime:t.startTime,endTime:t.endTime}),t.startTime=e(c[n].startTime+u,0,a.duration),t.endTime=e(c[n].endTime+u,0,a.duration)})),r.show("".concat(o.get("Subtitle offset time"),": ").concat(n,"s")),t.emit("subtitleOffset",n)}else r.show("".concat(o.get("No subtitles found"))),t.emit("subtitleOffset",0)}}}function fe(t){var e=t.events.proxy,n=t.template,r=t.player,i=t.option,o=t.setting,a=t.i18n;function c(e){if(e){var o=n.$video.canPlayType(e.type);if("maybe"===o||"probably"===o){var a=URL.createObjectURL(e);i.title=e.name,r.switchUrl(a,e.name),t.emit("localVideo",e)}else $(!1,"Playback of this file format is not supported")}}function s(t){var n=g(t,'');b(t,"position","relative"),w(n,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),e(n,"change",(function(){c(n.files[0])}))}return e(n.$player,"dragover",(function(t){t.preventDefault()})),e(n.$player,"drop",(function(t){t.preventDefault(),c(t.dataTransfer.files[0])})),t.on("ready",(function(){o.add({title:"Local Video",name:"localVideo",index:30,html:'
'.concat(a.get("Local Video"),'
').concat(a.get("Open"),'
'),mounted:function(e){var n=d(".art-upload-btn",e),r=d(".art-upload-value",e);t.on("localVideo",(function(t){r.textContent=t.name,r.title=t.name})),s(n)}})})),{name:"localVideo",attach:s}}function pe(t){var e=t.events.proxy,n=t.subtitle,r=t.setting,i=t.i18n;function o(r){var i=g(r,'');b(r,"position","relative"),w(i,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),e(i,"change",(function(){!function(r){if(r){var i=C(r.name);if(["ass","vtt","srt"].includes(i)){var o=new FileReader;e(o,"load",(function(e){var o=e.target.result;switch(i){case"srt":var a=D(R(o));n.switch(a,r.name);break;case"ass":var c=D(T(o));n.switch(c,r.name);break;case"vtt":var s=D(o);n.switch(s,r.name)}t.emit("localSubtitle",r)})),o.readAsText(r)}else $(!1,"Only supports subtitle files in .ass, .vtt and .srt format")}}(i.files[0])}))}return t.on("ready",(function(){r.add({title:"Local Subtitle",name:"localSubtitle",index:40,html:'
'.concat(i.get("Local Subtitle"),'
').concat(i.get("Open"),'
'),mounted:function(e){var n=d(".art-upload-btn",e),r=d(".art-upload-value",e);t.on("localSubtitle",(function(t){r.textContent=t.name,r.title=t.name})),o(n)}})})),{name:"localSubtitle",attach:o}}function de(t){var e=t.layers,n=t.player,r=t.option.theme;return e.add({name:"miniProgressBar",style:{display:"none",position:"absolute",left:0,right:0,bottom:0,height:"2px",background:r},mounted:function(e){t.on("control:toggle",(function(t){e.style.display=t?"none":"block"})),t.on("destroy",(function(){e.style.display="none"})),t.on("video:timeupdate",(function(){e.style.width="".concat(100*n.played,"%")}))}}),{name:"miniProgressBar"}}function he(t){var e=1e4,n=0,r=0,i=0,o=null;function a(){n=0,r=0,i=0,cancelAnimationFrame(o),o=null}function c(){o||function a(){t.isDestroy||(o=requestAnimationFrame((function(){var o=Date.now();if(i){var c=o-i;r+=c,t.player.playing||(n+=c)}i=o,t.emit("networkMonitor",n/r),r>=e&&(n=0,r=0),a()})))}()}return t.on("play",c),t.on("pause",a),{name:"networkMonitor",reset:a,start:c,sample:function(t){e=t}}}function ye(t){var e=t.events,n=t.player,r=t.template,i=N((function(){var e=r.$player.getBoundingClientRect();e.top+e.height<=0&&!n.pip?(n.pip=!0,t.emit("autoPip",!0)):n.pip&&(n.pip=!1,t.emit("autoPip",!1))}),300);return e.proxy(window,"scroll",i),{name:"autoPip"}}var ve=function(){function t(n){var r=this;e(this,t),this.art=n,this.id=0;var i=n.option;i.subtitle.url&&i.subtitleOffset&&this.add(le),!i.isLive&&i.miniProgressBar&&this.add(de),i.localVideo&&this.add(fe),i.localSubtitle&&this.add(pe),i.networkMonitor&&this.add(he),i.autoPip&&this.add(ye),n.option.plugins.forEach((function(t){r.add(t)}))}return r(t,[{key:"add",value:function(t){this.id+=1;var e=t.call(this,this.art),n="";return $(!F(this,n=e&&e.name?e.name:t.name?t.name:"plugin".concat(this.id)),"Cannot add a plugin that already has the same name: ".concat(n)),Object.defineProperty(this,n,{value:e}),this.art.emit("plugin:add",t),this}}]),t}(),me=function t(n){e(this,t);var r=n.option,i=n.events.proxy,o=n.template.$video;G.video.events.forEach((function(t){i(o,t,(function(t){n.emit("video:".concat(t.type),t)}))})),Object.keys(r.moreVideoAttr).forEach((function(t){o[t]=r.moreVideoAttr[t]})),r.muted&&(o.muted=r.muted),r.volume&&(o.volume=_(r.volume,0,1)),r.poster&&(o.poster=r.poster),r.autoplay&&(o.autoplay=r.autoplay),o.controls=!0;var a=r.type||C(r.url),c=r.customType[a];a&&c?(n.emit("beforeCustomType",a),c(o,r.url,n),n.emit("afterCustomType",a)):(n.emit("beforeAttachUrl",r.url),o.src=r.url,n.emit("afterAttachUrl",o.src))},ge=0,be=function(t){function n(t){var r;return e(this,n),(r=c(this,s(n).call(this))).option=f(B(n.option,t),J),r.isFocus=!1,r.isDestroy=!1,r.whitelist=new Q(a(r)),r.template=new K(a(r)),r.events=new Yt(a(r)),r.whitelist.state?(r.storage=new se(a(r)),r.icons=new te(a(r)),r.i18n=new nt(a(r)),r.notice=new Qt(a(r)),r.player=new ot(a(r)),r.layers=new Jt(a(r)),r.controls=new At(a(r)),r.contextmenu=new Ut(a(r)),r.subtitle=new Xt(a(r)),r.info=new _t(a(r)),r.loading=new Gt(a(r)),r.hotkey=new Zt(a(r)),r.mask=new Kt(a(r)),r.setting=new ce(a(r)),r.plugins=new ve(a(r))):r.mobile=new me(a(r)),ge+=1,r.id=ge,n.instances.push(a(r)),r}return l(n,t),r(n,[{key:"destroy",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.events.destroy(),this.template.destroy(t),n.instances.splice(n.instances.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}],[{key:"version",get:function(){return"3.2.1"}},{key:"env",get:function(){return'"production"'}},{key:"config",get:function(){return G}},{key:"utils",get:function(){return Y}},{key:"scheme",get:function(){return J}},{key:"Emitter",get:function(){return p}},{key:"validator",get:function(){return f}},{key:"kindOf",get:function(){return f.kindOf}},{key:"option",get:function(){return{container:"#artplayer",url:"",poster:"",title:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,localVideo:!1,localSubtitle:!1,autoPip:!1,networkMonitor:!1,layers:[],contextmenu:[],quality:[],controls:[],highlight:[],plugins:[],whitelist:[],thumbnails:{url:"",number:60,width:160,height:90,column:10},subtitle:{url:"",style:{}},moreVideoAttr:{controls:!1,preload:"metadata"},icons:{},customType:{},lang:navigator.language.toLowerCase()}}}]),n}(p);function we(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}return Object.defineProperty(be,"instances",{value:[]}),console.log("%c ArtPlayer %c 3.2.1 %c https://artplayer.org","color: #fff; background: #5f5f5f","color: #fff; background: #4bc729",""),{data:function(){return{instance:null}},props:{option:{type:Object,required:!0},getInstance:Function},mounted:function(){this.instance=new be(function(e){for(var n=1;n", - "license": "MIT", - "bugs": { - "url": "https://github.com/zhw2590582/ArtPlayer/issues" - }, - "homepage": "https://github.com/zhw2590582/ArtPlayer", - "dependencies": { - "@babel/core": "^7.7.2", - "@babel/plugin-external-helpers": "^7.2.0", - "@babel/plugin-transform-runtime": "^7.6.2", - "@babel/preset-env": "^7.7.1", - "@babel/runtime": "^7.7.2", - "autoprefixer": "^9.7.1", - "babel-eslint": "^10.0.3", - "browser-env": "^3.3.0", - "chai": "^4.2.0", - "chalk": "^3.0.0", - "cpy": "^7.3.0", - "cross-env": "^6.0.3", - "cssnano": "^4.1.10", - "del": "^5.1.0", - "eslint": "^6.6.0", - "eslint-config-airbnb-base": "^14.0.0", - "eslint-config-prettier": "^6.5.0", - "eslint-plugin-import": "^2.18.2", - "glob": "^7.1.6", - "inquirer": "^7.0.0", - "lerna": "^3.18.4", - "mocha": "^6.2.2", - "mocha-chrome": "^2.2.0", - "node-sass": "^4.13.0", - "rollup": "^1.27.0", - "rollup-plugin-babel": "^4.3.3", - "rollup-plugin-commonjs": "^10.1.0", - "rollup-plugin-eslint": "^7.0.0", - "rollup-plugin-json": "^4.0.0", - "rollup-plugin-node-resolve": "^5.2.0", - "rollup-plugin-postcss": "^2.0.3", - "rollup-plugin-replace": "^2.2.0", - "rollup-plugin-size-snapshot": "^0.10.0", - "rollup-plugin-svgo": "^1.1.0", - "rollup-plugin-terser": "^5.1.2", - "servor": "^2.2.1", - "travis-size-report": "^1.1.0" - } + "name": "artplayer-packages", + "version": "1.0.0", + "description": "ArtPlayer.js is a modern and full featured HTML5 video player", + "scripts": { + "bootstrap": "npx lerna bootstrap", + "version": "npx lerna version patch --yes --no-push", + "publish": "npx lerna publish from-package --yes", + "release": "npm run lint && npm run version && npm run build:all && npm test && npm run publish", + "dev": "npx cross-env NODE_ENV=development node ./scripts/dev.js", + "start": "npx cross-env NODE_ENV=development npx servor docs index.html 8080 5000", + "build": "npx cross-env NODE_ENV=production node ./scripts/build.js", + "build:all": "npm run build all && node ./scripts/creatTestFromDoc.js && git add . && git commit -m \"build all packages\" -n ", + "test": "npx cross-env NODE_ENV=test mocha-chrome ./test/index.html --mocha '{\"ui\":\"bdd\"}'", + "lint": "npx eslint packages/*/src", + "sizereport": "npx sizereport --config" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "keywords": [ + "video", + "player" + ], + "author": "Harvey Zack ", + "license": "MIT", + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "homepage": "https://github.com/zhw2590582/ArtPlayer", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/plugin-external-helpers": "^7.2.0", + "@babel/plugin-transform-runtime": "^7.6.2", + "@babel/preset-env": "^7.7.1", + "@babel/runtime": "^7.7.2", + "autoprefixer": "^9.7.1", + "babel-eslint": "^10.0.3", + "browser-env": "^3.3.0", + "chai": "^4.2.0", + "chalk": "^3.0.0", + "cpy": "^7.3.0", + "cross-env": "^6.0.3", + "cssnano": "^4.1.10", + "del": "^5.1.0", + "eslint": "^6.6.0", + "eslint-config-airbnb-base": "^14.0.0", + "eslint-config-prettier": "^6.5.0", + "eslint-plugin-import": "^2.18.2", + "glob": "^7.1.6", + "inquirer": "^7.0.0", + "lerna": "^3.18.4", + "mocha": "^6.2.2", + "mocha-chrome": "^2.2.0", + "node-sass": "^4.13.0", + "rollup": "^1.27.0", + "rollup-plugin-babel": "^4.3.3", + "rollup-plugin-commonjs": "^10.1.0", + "rollup-plugin-eslint": "^7.0.0", + "rollup-plugin-json": "^4.0.0", + "rollup-plugin-node-resolve": "^5.2.0", + "rollup-plugin-postcss": "^2.0.3", + "rollup-plugin-replace": "^2.2.0", + "rollup-plugin-size-snapshot": "^0.10.0", + "rollup-plugin-svgo": "^1.1.0", + "rollup-plugin-terser": "^5.1.2", + "servor": "^2.2.1", + "travis-size-report": "^1.1.0" + } } diff --git a/packages/artplayer-plugin-backlight/dist/artplayer-plugin-backlight.js b/packages/artplayer-plugin-backlight/dist/artplayer-plugin-backlight.js index 894c3e9be..f5003f615 100644 --- a/packages/artplayer-plugin-backlight/dist/artplayer-plugin-backlight.js +++ b/packages/artplayer-plugin-backlight/dist/artplayer-plugin-backlight.js @@ -1,5 +1,5 @@ /*! - * artplayer-plugin-backlight.js v3.1.20 + * artplayer-plugin-backlight.js v3.2.1 * Github: https://github.com/zhw2590582/ArtPlayer#readme * (c) 2017-2019 Harvey Zack * Released under the MIT License. diff --git a/packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js b/packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js index bcfca043f..842ba5fb8 100644 --- a/packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js +++ b/packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js @@ -1,5 +1,5 @@ /*! - * artplayer-plugin-danmuku.js v3.1.20 + * artplayer-plugin-danmuku.js v3.2.1 * Github: https://github.com/zhw2590582/ArtPlayer#readme * (c) 2017-2019 Harvey Zack * Released under the MIT License. diff --git a/packages/artplayer-plugin-gif/dist/artplayer-plugin-gif.js b/packages/artplayer-plugin-gif/dist/artplayer-plugin-gif.js index 15d2bcae1..3044341e9 100644 --- a/packages/artplayer-plugin-gif/dist/artplayer-plugin-gif.js +++ b/packages/artplayer-plugin-gif/dist/artplayer-plugin-gif.js @@ -1,5 +1,5 @@ /*! - * artplayer-plugin-gif.js v3.1.20 + * artplayer-plugin-gif.js v3.2.1 * Github: https://github.com/zhw2590582/ArtPlayer#readme * (c) 2017-2019 Harvey Zack * Released under the MIT License. diff --git a/packages/artplayer-plugin-playlist/dist/artplayer-plugin-playlist.js b/packages/artplayer-plugin-playlist/dist/artplayer-plugin-playlist.js index 56301fd59..dbcf6019a 100644 --- a/packages/artplayer-plugin-playlist/dist/artplayer-plugin-playlist.js +++ b/packages/artplayer-plugin-playlist/dist/artplayer-plugin-playlist.js @@ -1,5 +1,5 @@ /*! - * artplayer-plugin-playlist.js v3.1.20 + * artplayer-plugin-playlist.js v3.2.1 * Github: https://github.com/zhw2590582/ArtPlayer#readme * (c) 2017-2019 Harvey Zack * Released under the MIT License. diff --git a/packages/artplayer-react/dist/artplayer-react.js b/packages/artplayer-react/dist/artplayer-react.js index 92ae0d1d8..55cbf4f23 100644 --- a/packages/artplayer-react/dist/artplayer-react.js +++ b/packages/artplayer-react/dist/artplayer-react.js @@ -1,8 +1,8 @@ /*! - * artplayer-react.js v3.1.20 + * artplayer-react.js v3.2.1 * Github: https://github.com/zhw2590582/ArtPlayer#readme * (c) 2017-2019 Harvey Zack * Released under the MIT License. */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).ArtplayerReact=t()}(this,(function(){"use strict";var e=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o};var t=function(t,n){if(null==t)return{};var r,o,i=e(t,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i};var n=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e};"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function r(e,t){return e(t={exports:{}},t.exports),t.exports}var o=r((function(e){function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(r){return"function"==typeof Symbol&&"symbol"===t(Symbol.iterator)?e.exports=n=function(e){return t(e)}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":t(e)},n(r)}e.exports=n}));var i=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")};function a(e,t){for(var n=0;nY.length&&Y.push(e)}function J(e,t,n){return null==e?0:function e(t,n,r,o){var i=typeof t;"undefined"!==i&&"boolean"!==i||(t=null);var a=!1;if(null===t)a=!0;else switch(i){case"string":case"number":a=!0;break;case"object":switch(t.$$typeof){case b:case w:a=!0}}if(a)return r(o,t,""===n?"."+G(t,0):n),1;if(a=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c1?t-1:0),r=1;r2?n-2:0),o=2;o2?n-2:0),o=2;o8)throw new Error("warningWithoutStack() currently supports at most 8 arguments.");if(!e){if("undefined"!=typeof console){var i=r.map((function(e){return""+e}));i.unshift("Warning: "+t),Function.prototype.apply.call(console.error,console,i)}try{var a=0,c="Warning: "+t.replace(/%s/g,(function(){return r[a++]}));throw new Error(c)}catch(e){}}},E={};function R(e,t){var n=e.constructor,r=n&&(n.displayName||n.name)||"ReactClass",o=r+"."+t;E[o]||(S(!1,"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",t,r),E[o]=!0)}var C={isMounted:function(e){return!1},enqueueForceUpdate:function(e,t,n){R(e,"forceUpdate")},enqueueReplaceState:function(e,t,n,r){R(e,"replaceState")},enqueueSetState:function(e,t,n,r){R(e,"setState")}},$={};function D(e,t,n){this.props=e,this.context=t,this.refs=$,this.updater=n||C}Object.freeze($),D.prototype.isReactComponent={},D.prototype.setState=function(e,t){!function(){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw x(Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables."))}(),this.updater.enqueueSetState(this,e,t,"setState")},D.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};var T={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},_=function(e,t){Object.defineProperty(D.prototype,e,{get:function(){P(!1,"%s(...) is deprecated in plain JavaScript React classes. %s",t[0],t[1])}})};for(var A in T)T.hasOwnProperty(A)&&_(A,T[A]);function L(){}function M(e,t,n){this.props=e,this.context=t,this.refs=$,this.updater=n||C}L.prototype=D.prototype;var q=M.prototype=new L;q.constructor=M,t(q,D.prototype),q.isPureReactComponent=!0;var z={current:null},I={suspense:null},V={current:null},F=/^(.*)[\\\/]/,W=1;function N(e){if(null==e)return null;if("number"==typeof e.tag&&S(!1,"Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case a:return"Fragment";case i:return"Portal";case u:return"Profiler";case c:return"StrictMode";case d:return"Suspense";case h:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return"Context.Consumer";case s:return"Context.Provider";case p:return r=e,o=e.render,f="ForwardRef",m=o.displayName||o.name||"",r.displayName||(""!==m?f+"("+m+")":f);case y:return N(e.type);case v:var t=(n=e)._status===W?n._result:null;if(t)return N(t)}var n,r,o,f,m;return null}var H={},U=null;function B(e){U=e}H.getCurrentStack=null,H.getStackAddendum=function(){var e="";if(U){var t=N(U.type),n=U._owner;e+=function(e,t,n){var r="";if(t){var o=t.fileName,i=o.replace(F,"");if(/^index\./.test(i)){var a=o.match(F);if(a){var c=a[1];if(c)i=c.replace(F,"")+"/"+i}}r=" (at "+i+":"+t.lineNumber+")"}else n&&(r=" (created by "+n+")");return"\n in "+(e||"Unknown")+r}(t,U._source,n&&N(n.type))}var r=H.getCurrentStack;return r&&(e+=r()||""),e};var Y={ReactCurrentDispatcher:z,ReactCurrentBatchConfig:I,ReactCurrentOwner:V,IsSomeRendererActing:{current:!1},assign:t};t(Y,{ReactDebugCurrentFrame:H,ReactComponentTreeHook:{}});var X=function(e,t){if(!e){for(var n=Y.ReactDebugCurrentFrame,r=n.getStackAddendum(),o=arguments.length,i=Array(o>2?o-2:0),a=2;a1){for(var l=Array(s),f=0;f1){for(var d=Array(p),h=0;h.")}return t}(t);if(!je[n]){je[n]=!0;var r="";e&&e._owner&&e._owner!==V.current&&(r=" It was passed a child from "+N(e._owner.type)+"."),B(e),X(!1,'Each child in a list should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.',n,r),B(null)}}}function Se(e,t){if("object"==typeof e)if(Array.isArray(e))for(var n=0;n",u=" Did you accidentally export a JSX literal instead of a component?"):l=typeof e,X(!1,"React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",l,u)}var f=ne.apply(this,arguments);if(null==f)return f;if(c)for(var p=2;p is not supported and will be removed in a future major release. Did you mean to render instead?")),n.Provider},set:function(e){n.Provider=e}},_currentValue:{get:function(){return n._currentValue},set:function(e){n._currentValue=e}},_currentValue2:{get:function(){return n._currentValue2},set:function(e){n._currentValue2=e}},_threadCount:{get:function(){return n._threadCount},set:function(e){n._threadCount=e}},Consumer:{get:function(){return r||(r=!0,X(!1,"Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),n.Consumer}}}),n.Consumer=i,n._currentRenderer=null,n._currentRenderer2=null,n},forwardRef:function(e){return null!=e&&e.$$typeof===y?S(!1,"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):"function"!=typeof e?S(!1,"forwardRef requires a render function but was given %s.",null===e?"null":typeof e):0!==e.length&&2!==e.length&&S(!1,"forwardRef render functions accept exactly two parameters: props and ref. %s",1===e.length?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),null!=e&&(null!=e.defaultProps||null!=e.propTypes)&&S(!1,"forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"),{$$typeof:p,render:e}},lazy:function(e){var t={$$typeof:v,_ctor:e,_status:-1,_result:null},n=void 0,r=void 0;return Object.defineProperties(t,{defaultProps:{configurable:!0,get:function(){return n},set:function(e){X(!1,"React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),n=e,Object.defineProperty(t,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return r},set:function(e){X(!1,"React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),r=e,Object.defineProperty(t,"propTypes",{enumerable:!0})}}}),t},memo:function(e,t){return we(e)||S(!1,"memo: The first argument must be a component. Instead received: %s",null===e?"null":typeof e),{$$typeof:y,type:e,compare:void 0===t?null:t}},useCallback:function(e,t){return Oe().useCallback(e,t)},useContext:function(e,t){var n=Oe();if(void 0!==t&&X(!1,"useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s",t,"number"==typeof t&&Array.isArray(arguments[2])?"\n\nDid you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://fb.me/rules-of-hooks":""),void 0!==e._context){var r=e._context;r.Consumer===e?X(!1,"Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):r.Provider===e&&X(!1,"Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return n.useContext(e,t)},useEffect:function(e,t){return Oe().useEffect(e,t)},useImperativeHandle:function(e,t,n){return Oe().useImperativeHandle(e,t,n)},useDebugValue:function(e,t){return Oe().useDebugValue(e,t)},useLayoutEffect:function(e,t){return Oe().useLayoutEffect(e,t)},useMemo:function(e,t){return Oe().useMemo(e,t)},useReducer:function(e,t,n){return Oe().useReducer(e,t,n)},useRef:function(e){return Oe().useRef(e)},useState:function(e){return Oe().useState(e)},Fragment:a,Profiler:u,StrictMode:c,Suspense:d,unstable_SuspenseList:h,createElement:Re,cloneElement:function(e,t,n){for(var r=re.apply(this,arguments),o=2;o1?n-1:0),o=1;o1&&void 0!==arguments[1]?arguments[1]:document).querySelector(e)}function me(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return Array.from(t.querySelectorAll(e))}function ge(e,t){return e.classList.add(t)}function be(e,t){return e.classList.remove(t)}function we(e,t){return e.classList.contains(t)}function Oe(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML("beforeend",String(t)),e.lastElementChild||e.lastChild}function ke(e,t,n){return e.style[t]=n,e}function xe(e,t){return Object.keys(t).forEach((function(n){ke(e,n,t[n])})),e}function je(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=window.getComputedStyle(e,null).getPropertyValue(t);return n?parseFloat(r):r}function Pe(e){return Array.from(e.parentElement.children).filter((function(t){return t!==e}))}function Se(e,t){Pe(e).forEach((function(e){return be(e,t)})),ge(e,t)}function Ee(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"up";e.setAttribute("aria-label",t),e.setAttribute("data-balloon-pos",n)}var Re=function(e){return-1!==Function.toString.call(e).indexOf("[native code]")},Ce=r((function(e){function t(n,r,o){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(e){return!1}}()?e.exports=t=function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&f(o,n.prototype),o}:e.exports=t=Reflect.construct,t.apply(null,arguments)}e.exports=t})),$e=function(e){function t(e,n){var r;return i(this,t),r=s(this,l(t).call(this,e)),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(u(r),n||r.constructor),r.name="ArtPlayerError",r}return p(t,e),t}(r((function(e){function t(n){var r="function"==typeof Map?new Map:void 0;return e.exports=t=function(e){if(null===e||!Re(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,t)}function t(){return Ce(e,arguments,l(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),f(t,e)},t(n)}e.exports=t}))(Error));function De(e,t){if(!e)throw new $e(t);return e}function Te(e){return"WEBVTT \r\n\r\n".concat(e.replace(/{[\s\S]*?}/g,"").replace(/\{\\([ibu])\}/g,"").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").concat("\r\n\r\n"))}function _e(e){return URL.createObjectURL(new Blob([e],{type:"text/vtt"}))}function Ae(e){var t=new RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function n(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split(/[:.]/).map((function(e,t,n){if(t===n.length-1){if(1===e.length)return".".concat(e,"00");if(2===e.length)return".".concat(e,"0")}else if(1===e.length)return(0===t?"0":":0")+e;return 0===t?e:t===n.length-1?".".concat(e):":".concat(e)})).join("")}return"WEBVTT\n\n".concat(e.split(/\r?\n/).map((function(e){var r=e.match(t);return r?{start:n(r[1].trim()),end:n(r[2].trim()),text:r[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map((function(e){return e.trim()})).join("\n")}:null})).filter((function(e){return e})).map((function(e,t){return e?"".concat(t+1,"\n").concat(e.start," --\x3e ").concat(e.end,"\n").concat(e.text):""})).filter((function(e){return e.trim()})).join("\n\n"))}function Le(e){return e.includes("?")?Le(e.split("?")[0]):e.includes("#")?Le(e.split("#")[0]):e.trim().toLowerCase().split(".").pop()}function Me(e,t){var n=document.createElement("a");n.style.display="none",n.href=e,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n)}var qe=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t1?t-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((function(t){return setTimeout(t,e)}))}function Ye(e,t,n){var r;function o(){for(var o=arguments.length,i=new Array(o),a=0;a0?[t,n,r]:[n,r]).map((function(e){return e<10?"0".concat(e):String(e)})).join(":")}var Ge=Object.freeze({__proto__:null,query:ve,queryAll:me,addClass:ge,removeClass:be,hasClass:we,append:Oe,remove:function(e){return e.parentNode.removeChild(e)},setStyle:ke,setStyles:xe,getStyle:je,sublings:Pe,inverseClass:Se,tooltip:Ee,ArtPlayerError:$e,errorHandle:De,srtToVtt:Te,vttToBlob:_e,assToVtt:Ae,getExt:Le,downloadFile:Me,def:Fe,has:Ne,proxyPropertys:He,mergeDeep:Ue,sleep:Be,debounce:Ye,throttle:Xe,clamp:Ze,secondToTime:Je});function Qe(e,t,n){return De("string"===t||e instanceof Element,"".concat(n.join(".")," require 'string' or 'Element' type"))}var Ke={container:Qe,url:"string|function",poster:"string",title:"string",theme:"string",lang:"string",volume:"number",isLive:"boolean",muted:"boolean",autoplay:"boolean",autoSize:"boolean",loop:"boolean",flip:"boolean",playbackRate:"boolean",aspectRatio:"boolean",screenshot:"boolean",setting:"boolean",hotkey:"boolean",pip:"boolean",mutex:"boolean",fullscreen:"boolean",fullscreenWeb:"boolean",subtitleOffset:"boolean",miniProgressBar:"boolean",localVideo:"boolean",localSubtitle:"boolean",autoPip:"boolean",networkMonitor:"boolean",plugins:["function"],whitelist:["string|function|regexp"],layers:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Qe,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],contextmenu:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Qe,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],quality:[{default:"boolean|undefined",name:"string",url:"string"}],controls:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Qe,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined",position:function(e,t,n){var r=["top","left","right"];return De(r.includes(e),"".concat(n.join(".")," only accept ").concat(r.toString()," as parameters"))}}],highlight:[{time:"number",text:"string"}],thumbnails:{url:"string",number:"number",width:"number",height:"number",column:"number"},subtitle:{url:"string",style:"object"},moreVideoAttr:"object",icons:"object",customType:"object"},et={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"]}},tt=function e(t){var n=this;i(this,e);var r=t.constructor.kindOf,o=t.option.whitelist;this.userAgent=window.navigator.userAgent,this.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(this.userAgent),this.state=!this.isMobile||o.some((function(e){switch(r(e)){case"string":return n.userAgent.indexOf(e)>-1;case"function":return e(n.userAgent);case"regexp":return e.test(n.userAgent);default:return!1}}))},nt=function(){function e(t){var n=this;i(this,e),this.art=t,t.option.container instanceof Element?this.$container=t.option.container:(this.$container=ve(t.option.container),De(this.$container,"No container element found by ".concat(t.option.container))),De(t.constructor.instances.every((function(e){return e.template.$container!==n.$container})),"Cannot mount multiple instances on the same dom element"),De(this.$container.clientWidth&&this.$container.clientHeight,"The width and height of the container cannot be 0"),t.whitelist.state?this.initDesktop():this.initMobile()}return c(e,[{key:"query",value:function(e){return ve(e,this.$container)}},{key:"initDesktop",value:function(){this.$container.innerHTML='\n
Player version:
3.1.20
Video url:
Video volume:
Video time:
Video duration:
Video resolution:
x
[x]
×
\n
'),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query(".art-video track"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$settingInner=this.query(".art-setting-inner"),this.$settingBody=this.query(".art-setting-body"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$pipHeader=this.query(".art-pip-header"),this.$pipTitle=this.query(".art-pip-title"),this.$pipClose=this.query(".art-pip-close"),this.$contextmenu=this.query(".art-contextmenus")}},{key:"initMobile",value:function(){this.$container.innerHTML='\n
\n
',this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video")}},{key:"destroy",value:function(e){e?this.$container.innerHTML="":ge(this.$player,"art-destroy")}}]),e}(),rt={"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:"正常",Open:"打开","Switch video":"切换","Switch subtitle":"切换字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"网页全屏","Exit web fullscreen":"退出网页全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地视频","Subtitle offset time":"字幕偏移时间","No subtitles found":"未发现字幕"},ot={"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:"正常",Open:"打開","Switch video":"切換","Switch subtitle":"切換字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"網頁全屏","Exit web fullscreen":"退出網頁全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地視頻","Subtitle offset time":"字幕偏移時間","No subtitles found":"未發現字幕"},it=function(){function e(t){i(this,e),this.art=t,this.languages={"zh-cn":rt,"zh-tw":ot},this.init()}return c(e,[{key:"init",value:function(){var e=this.art.option.lang.toLowerCase();this.language=this.languages[e]||{}}},{key:"get",value:function(e){return this.language[e]||e}},{key:"update",value:function(e){this.languages=Ue(this.languages,e),this.init()}}]),e}();var at=r((function(e){!function(){var t="undefined"!=typeof window&&void 0!==window.document?window.document:{},n=e.exports,r=function(){for(var e,n=[["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"]],r=0,o=n.length,i={};rh){var y=h*l/s;ke(r,"width","".concat(100*y,"%")),ke(r,"height","100%"),ke(r,"padding","0 ".concat((f-f*y)/2,"px"))}else{var v=s/h/l;ke(r,"width","100%"),ke(r,"height","".concat(100*v,"%")),ke(r,"padding","".concat((p-p*v)/2,"px 0"))}}o.dataset.aspectRatio=n,a.show("".concat(i.get("Aspect ratio"),": ").concat("default"===n?i.get("Default"):n)),e.emit("aspectRatioChange",n)}else t.aspectRatio&&(ke(r,"width",null),ke(r,"height",null),ke(r,"padding",null),delete o.dataset.aspectRatio,e.emit("aspectRatioRemove"))}}),Fe(t,"aspectRatioReset",{set:function(n){if(n&&t.aspectRatio){var r=t.aspectRatio;t.aspectRatio=r,e.emit("aspectRatioReset")}}})}(t,this),function(e,t){var n=e.option,r=e.notice,o=e.template.$video;Fe(t,"getScreenshotDataURL",{value:function(){try{var e=document.createElement("canvas");return e.width=o.videoWidth,e.height=o.videoHeight,e.getContext("2d").drawImage(o,0,0),e.toDataURL("image/png")}catch(e){throw r.show(e),e}}}),Fe(t,"getScreenshotBlobUrl",{value:function(){return new Promise((function(e,t){try{var n=document.createElement("canvas");n.width=o.videoWidth,n.height=o.videoHeight,n.getContext("2d").drawImage(o,0,0),n.toBlob((function(t){e(URL.createObjectURL(t))}))}catch(e){r.show(e),t(e)}}))}}),Fe(t,"screenshot",{value:function(){var r=t.getScreenshotDataURL();r&&(Me(r,"".concat(n.title||"artplayer","_").concat(Je(o.currentTime),".png")),e.emit("screenshot",r))}})}(t,this),function(e,t){var n=e.i18n,r=e.notice,o=e.events.destroyEvents,i=e.template.$player,a=function(){e.emit("fullscreenChange",at.isFullscreen)},c=function(){r.show(n.get("Does not support fullscreen"))};t.fullscreenIsEnabled&&(at.on("change",a),at.on("error",c),o.push((function(){at.off("change",a),at.off("error",c)}))),Fe(t,"fullscreen",{get:function(){return at.isFullscreen},set:function(n){t.fullscreenIsEnabled?n?(t.fullscreenWeb&&(t.fullscreenWeb=!1),at.request(i).then((function(){ge(i,"art-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenEnabled")}))):(t.fullscreenWeb&&(t.fullscreenWeb=!1),at.exit().then((function(){be(i,"art-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenExit")}))):c()}}),Fe(t,"fullscreenToggle",{set:function(e){e&&(t.fullscreen=!t.fullscreen)}}),Fe(t,"fullscreenIsEnabled",{get:function(){return at.isEnabled}})}(t,this),function(e,t){var n=e.template.$player;Fe(t,"fullscreenWeb",{get:function(){return we(n,"art-web-fullscreen")},set:function(r){r?(t.fullscreen&&(t.fullscreen=!1),ge(n,"art-web-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenWebEnabled")):(t.fullscreen&&(t.fullscreen=!1),be(n,"art-web-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenWebExit"))}}),Fe(t,"fullscreenWebToggle",{set:function(e){e&&(t.fullscreenWeb=!t.fullscreenWeb)}})}(t,this),ct(t,this),function(e,t){var n=e.template.$video;Fe(t,"loaded",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1)/n.duration:0}}),Fe(t,"loadedTime",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1):0}})}(t,this),function(e,t){Fe(t,"played",{get:function(){return e.template.$video.currentTime/e.template.$video.duration}})}(t,this),function(e,t){var n=e.template.$video;Fe(t,"playing",{get:function(){return!!(n.currentTime>0&&!n.paused&&!n.ended&&n.readyState>2)}})}(t,this),function(e,t){var n=e.template,r=n.$container,o=n.$player,i=n.$video;Fe(t,"autoSize",{get:function(){return we(r,"art-auto-size")},set:function(n){if(n){var a=i.videoWidth,c=i.videoHeight,u=r.getBoundingClientRect(),s=u.width,l=u.height,f=a/c,p=s/l;if(ge(r,"art-auto-size"),p>f){ke(o,"width","".concat(l*f/s*100,"%")),ke(o,"height","100%")}else{var d=s/f/l*100;ke(o,"width","100%"),ke(o,"height","".concat(d,"%"))}e.emit("autoSizeChange",{width:t.width,height:t.height})}else be(r,"art-auto-size"),ke(o,"width",null),ke(o,"height",null),e.emit("autoSizeRemove")}})}(t,this),function(e,t){Fe(t,"rect",{get:function(){return e.template.$player.getBoundingClientRect()}}),["bottom","height","left","right","top","width"].forEach((function(e){Fe(t,e,{get:function(){return t.rect[e]}})})),Fe(t,"x",{get:function(){return t.left+window.pageXOffset}}),Fe(t,"y",{get:function(){return t.top+window.pageYOffset}})}(t,this),function(e,t){Fe(t,"flip",{get:function(){return e.template.$player.dataset.flip},set:function(t){if(t){var n=["normal","horizontal","vertical"];De(n.includes(t),"'flip' only accept ".concat(n.toString()," as parameters")),e.template.$player.dataset.flip=t,e.emit("flipChange",t)}else delete e.template.$player.dataset.flip,e.emit("flipRemove")}})}(t,this),He(t,this)};var st=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e},lt=r((function(e){function t(n,r,o){return"undefined"!=typeof Reflect&&Reflect.get?e.exports=t=Reflect.get:e.exports=t=function(e,t,n){var r=st(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(n):o.value}},t(n,r,o||n)}e.exports=t})),ft=function(){function e(t){i(this,e),this.id=0,this.art=t,this.add=this.add.bind(this),this.name=this.constructor.name.toLowerCase()}return c(e,[{key:"toggle",value:function(){this.show=!this.show}},{key:"add",value:function(e,t){var n=this,r="function"==typeof e?e(this.art):e;if(!this.$parent||r.disable)return{};this.id+=1;var o=r.name||"".concat(this.name).concat(this.id);De(!Ne(this,o),"Cannot add a component that already has the same name: ".concat(o));var i=document.createElement("div");i.classList.value="art-".concat(this.name," art-").concat(this.name,"-").concat(o),r.html&&Oe(i,r.html),r.style&&xe(i,r.style),r.tooltip&&Ee(i,r.tooltip);var a=Array.from(this.$parent.children);i.dataset.index=r.index||this.id;var c=a.find((function(e){return Number(e.dataset.index)>=Number(i.dataset.index)}));return c?c.insertAdjacentElement("beforebegin",i):Oe(this.$parent,i),r.click&&this.art.events.proxy(i,"click",(function(e){e.preventDefault(),r.click.call(n.art,n,e)})),r.mounted&&r.mounted(i,this,this.art),t&&t(i,this,this.art),Fe(this,o,{value:{get $ref(){return i},set show(e){ke(i,"display",e?"block":"none")}}}),this.art.emit("".concat(this.name,":add"),r),this[o]}},{key:"show",get:function(){return we(this.art.template.$player,"art-".concat(this.name,"-show"))},set:function(e){De(!1===e||!0===e,"The show attribute expects a boolean value");var t=this.art.template.$player,n="art-".concat(this.name,"-show");e?ge(t,n):be(t,n),this.art.emit("".concat(this.name,":toggle"),e)}}]),e}();function pt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function dt(e){return function(t){return function(e){for(var t=1;t
\n'),mounted:function(e){var n=!1,r=ve(".art-progress-loaded",e),i=ve(".art-progress-played",e),u=ve(".art-progress-highlight",e),s=ve(".art-progress-indicator",e),l=ve(".art-progress-tip",e);function f(e,t){"loaded"===e&&ke(r,"width","".concat(100*t,"%")),"played"===e&&(ke(i,"width","".concat(100*t,"%")),ke(s,"left","calc(".concat(100*t,"% - ").concat(je(s,"width")/2,"px)")))}o.forEach((function(e){var t=Ze(e.time,0,c.duration)/c.duration*100;Oe(u,''))})),f("loaded",c.loaded),t.on("video:progress",(function(){f("loaded",c.loaded)})),t.on("video:timeupdate",(function(){f("played",c.played)})),t.on("video:ended",(function(){f("played",1)})),a(e,"mousemove",(function(n){ke(l,"display","block"),n.composedPath().indexOf(u)>-1?function(n){var r=Ot(t,n).width,o=n.target.dataset.text;l.innerHTML=o;var i=l.clientWidth;r<=i/2?ke(l,"left",0):r>e.clientWidth-i/2?ke(l,"left","".concat(e.clientWidth-i,"px")):ke(l,"left","".concat(r-i/2,"px"))}(n):function(n){var r=Ot(t,n),o=r.width,i=r.time;l.innerHTML=i;var a=l.clientWidth;o<=a/2?ke(l,"left",0):o>e.clientWidth-a/2?ke(l,"left","".concat(e.clientWidth-a,"px")):ke(l,"left","".concat(o-a/2,"px"))}(n)})),a(e,"mouseout",(function(){ke(l,"display","none")})),a(e,"click",(function(e){if(e.target!==s){var n=Ot(t,e),r=n.second;f("played",n.percentage),c.seek=r}})),a(s,"mousedown",(function(){n=!0})),a(document,"mousemove",(function(e){if(n){var r=Ot(t,e),o=r.second,i=r.percentage;ge(s,"art-show-indicator"),f("played",i),c.seek=o}})),a(document,"mouseup",(function(){n&&(n=!1,be(s,"art-show-indicator"))}))}})}}function xt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function jt(e){return function(t){return function(e){for(var t=1;t'),l=Oe(s,'
');function f(e){var t=s.getBoundingClientRect(),n=t.left,r=t.width,o=l.getBoundingClientRect().width;return Ze(e.pageX-n-o/2,0,r-o/2)/(r-o)}function p(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.7;if(o.muted||0===e)ke(c,"display","none"),ke(u,"display","flex"),ke(l,"left","0");else{var t=((je(s,"width")||60)-je(l,"width"))*e;ke(c,"display","flex"),ke(u,"display","none"),ke(l,"left","".concat(t,"px"))}}Ee(c,i.get("Mute")),ke(u,"display","none"),p(o.volume),t.on("video:volumechange",(function(){p(o.volume)})),n(c,"click",(function(){o.muted=!0})),n(u,"click",(function(){o.muted=!1})),n(s,"click",(function(e){o.muted=!1,o.volume=f(e)})),n(l,"mousedown",(function(){a=!0})),n(document,"mousemove",(function(e){a&&(o.muted=!1,o.volume=f(e))})),n(document,"mouseup",(function(){a&&(a=!1)}))}})}}function Ct(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $t(e){return function(t){return function(e){for(var t=1;tr.clientWidth-u/2?ke(e,"left","".concat(r.clientWidth-u,"px")):ke(e,"left","".concat(i-u/2,"px"))}(o))})),i(r,"mouseout",(function(){ke(e,"display","none")}))}})}}function _t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function At(e){return function(t){return function(e){for(var t=1;t'.concat(u.name,"")),l=n.map((function(e,t){return'
').concat(e.name,"
")})).join(""),f=Oe(e,'
'.concat(l,"
"));i(e,(function(){f.style.left="-".concat(je(f,"width")/2-e.clientWidth/2,"px")})),o(f,"click",(function(e){var t=Number(e.target.dataset.index),r=n[t],o=r.url,i=r.name;o&&i&&c!==t&&(a.switchQuality(o,i),s.innerHTML=i,c=t)}))}})}}var qt=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.option;return e.on("ready",(function(){n.add(kt({name:"progress",disable:r.isLive,position:"top",index:10})),n.add(Tt({name:"thumbnails",disable:!r.thumbnails.url||r.isLive,position:"top",index:20})),n.add(bt({name:"playAndPause",disable:!1,position:"left",index:10})),n.add(Rt({name:"volume",disable:!1,position:"left",index:20})),n.add(St({name:"time",disable:r.isLive,position:"left",index:30})),n.add(Mt({name:"quality",disable:0===r.quality.length,position:"right",index:10})),n.add(At({name:"screenshot",disable:!r.screenshot,position:"right",index:20})),n.add(jt({name:"subtitle",disable:!r.subtitle.url,position:"right",index:30})),n.add($t({name:"setting",disable:!r.setting,position:"right",index:40})),n.add(mt({name:"pip",disable:!r.pip,position:"right",index:50})),n.add(yt({name:"fullscreenWeb",disable:!r.fullscreenWeb,position:"right",index:60})),n.add(dt({name:"fullscreen",disable:!r.fullscreen,position:"right",index:70})),r.controls.forEach((function(e){n.add(e)}))})),n}return p(t,e),c(t,[{key:"add",value:function(e,n){var r="function"==typeof e?e(this.art):e;De(r.position,"Controls option.position can not be empty");var o=this.art.template,i=o.$progress,a=o.$controlsLeft,c=o.$controlsRight;switch(r.position){case"top":this.$parent=i;break;case"left":this.$parent=a;break;case"right":this.$parent=c}var u=lt(l(t.prototype),"add",this).call(this,r,n);return r.disable||"top"===r.position||u.$ref.firstElementChild&&"I"===u.$ref.firstElementChild.tagName||ge(u.$ref,"art-control-onlyText"),u}}]),t}(ft);function zt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function It(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t0.5\n0.75\n').concat(r.get("Normal"),'\n1.25\n1.5\n2.0'),click:function(e,t){var n=t.target.dataset.rate;n&&(o.playbackRate=Number(n),e.show=!1)},mounted:function(e){t.on("playbackRateChange",(function(t){var n=me("span",e).find((function(e){return Number(e.dataset.rate)===t}));n&&Se(n,"art-current")}))}})}}function Vt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ft(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t').concat(r.get("Default"),'\n4:3\n16:9'),click:function(e,t){var n=t.target.dataset.ratio;n&&(o.aspectRatio=n,e.show=!1)},mounted:function(e){t.on("aspectRatioChange",(function(t){var n=me("span",e).find((function(e){return e.dataset.ratio===t}));n&&Se(n,"art-current")}))}})}}function Wt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Nt(e){return function(t){return function(e){for(var t=1;tArtPlayer 3.1.20'})}function Bt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Yt(e){return function(t){return function(e){for(var t=1;ts+u&&(h=u-d),r+p>l+i&&(y=i-p),ke(c,"left","".concat(h,"px")),ke(c,"top","".concat(y,"px"))})),u(a,"click",(function(e){e.composedPath().includes(c)||(n.show=!1)})),e.on("blur",(function(){n.show=!1}))})),n}return p(t,e),t}(ft),Zt=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.template,o=r.$infoPanel,a=r.$infoClose,c=r.$video;(0,e.events.proxy)(a,"click",(function(){n.show=!1}));var u=null,f=me("[data-video]",o);return e.on("destroy",(function(){clearTimeout(u)})),e.on("info:toggle",(function(e){clearTimeout(u),e&&function e(){f.forEach((function(e){var t=c[e.dataset.video];e.innerHTML="number"==typeof t?t.toFixed(2):t})),u=setTimeout((function(){e()}),1e3)}()})),n}return p(t,e),t}(ft),Jt=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.events.proxy,o=e.option.subtitle;return xe(e.template.$subtitle,o.style),r(n.textTrack,"cuechange",n.update.bind(u(n))),o.url&&n.init(o.url),n}return p(t,e),c(t,[{key:"update",value:function(){var e=this.art.template.$subtitle;e.innerHTML="",this.activeCue&&(e.innerHTML=this.activeCue.text.split(/\r?\n/).map((function(e){return"

".concat(e,"

")})).join(""),this.art.emit("subtitle:update",this.activeCue.text))}},{key:"switch",value:function(e,t){var n=this,r=this.art,o=r.i18n,i=r.notice;return this.init(e).then((function(e){return t&&i.show("".concat(o.get("Switch subtitle"),": ").concat(t)),n.art.emit("subtitle:switch",e),e}))}},{key:"init",value:function(e){var t=this,n=this.art,r=n.notice,o=n.template,i=o.$subtitle,a=o.$track;return fetch(e).then((function(e){return e.text()})).then((function(n){switch(t.art.emit("subtitle:load",e),Le(e)){case"srt":return _e(Te(n));case"ass":return _e(Ae(n));case"vtt":return _e(n);default:return e}})).then((function(e){return i.innerHTML="",t.url===e?e:(URL.revokeObjectURL(t.url),a.src=e,e)})).catch((function(e){throw r.show(e),t.art.emit("subtitle:err",e),e}))}},{key:"url",get:function(){return this.art.template.$track.src}},{key:"textTrack",get:function(){return this.art.template.$video.textTracks[0]}},{key:"activeCue",get:function(){return this.textTrack.activeCues[0]}}]),t}(ft);var Gt=function(){function e(t){var n=this;i(this,e),this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),t.whitelist.state&&t.once("video:canplay",(function(){!function(e,t){var n=e.template.$player;t.proxy(document,["click","contextmenu"],(function(t){t.composedPath().indexOf(n)>-1?(e.isFocus=!0,e.emit("focus")):(e.isFocus=!1,e.emit("blur"))}))}(t,n),function(e,t){var n=e.template.$player;t.hover(n,(function(){ge(n,"art-hover"),e.emit("hoverenter")}),(function(){be(n,"art-hover"),e.emit("hoverleave")}))}(t,n),function(e,t){var n=e.template,r=n.$player,o=n.$video,i=e.player,a=Ye((function(){ge(r,"art-hide-cursor"),be(r,"art-hover"),e.controls.show=!1}),3e3);e.on("hoverleave",(function(){i.playing&&a()})),t.proxy(r,"mousemove",(function(t){a.clearTimeout(),be(r,"art-hide-cursor"),e.controls.show=!0,!e.player.pip&&i.playing&&t.target===o&&a(),e.emit("mousemove")}))}(t,n),function(e,t){var n=e.option,r=e.player,o=e.template.$player,i=document.createElement("object");i.setAttribute("aria-hidden","true"),i.setAttribute("tabindex",-1),i.type="text/html",i.data="about:blank";var a=r.width,c=r.height,u=Xe((function(){r.width===a&&r.height===c||(a=r.width,c=r.height,n.autoSize&&(e.player.fullscreen||e.player.fullscreenWeb||e.player.pip?e.player.autoSize=!1:e.player.autoSize=!0),e.player.aspectRatioReset=!0,e.emit("resize",{width:r.width,height:r.height}))}),500);t.proxy(i,"load",(function(){t.proxy(i.contentDocument.defaultView,"resize",u)})),o.appendChild(i)}(t,n)}))}return c(e,[{key:"proxy",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};Array.isArray(t)?t.forEach((function(t){return r.proxy(e,t,n,o)})):(e.addEventListener(t,n,o),this.destroyEvents.push((function(){e.removeEventListener(t,n,o)})))}},{key:"hover",value:function(e,t,n){t&&this.proxy(e,"mouseenter",t),n&&this.proxy(e,"mouseleave",n)}},{key:"loadImg",value:function(e){var t=this;return new Promise((function(n,r){var o;if(e instanceof HTMLImageElement)o=e;else{if("string"!=typeof e)return r(e);(o=new Image).src=e}return o.complete?n(o):(t.proxy(o,"load",(function(){return n(o)})),t.proxy(o,"error",(function(){return r(o)})),e)}))}},{key:"destroy",value:function(){this.destroyEvents.forEach((function(e){return e()}))}}]),e}(),Qt=function(){function e(t){var n=this;i(this,e),this.keys={};var r=t.option,o=t.player,a=t.events.proxy;r.hotkey&&t.on("ready",(function(){n.add(27,(function(){o.fullscreenWeb&&(o.fullscreenWeb=!1)})),n.add(32,(function(){o.toggle=!0})),n.add(37,(function(){o.seek=o.currentTime-5})),n.add(38,(function(){o.volume+=.1})),n.add(39,(function(){o.seek=o.currentTime+5})),n.add(40,(function(){o.volume-=.1})),a(window,"keydown",(function(e){if(t.isFocus){var r=document.activeElement.tagName.toUpperCase(),o=document.activeElement.getAttribute("contenteditable");if("INPUT"!==r&&"TEXTAREA"!==r&&""!==o&&"true"!==o){var i=n.keys[e.keyCode];i&&(e.preventDefault(),i.forEach((function(e){return e()})),t.emit("hotkey",e))}}}))}))}return c(e,[{key:"add",value:function(e,t){this.keys[e]?this.keys[e].push(t):this.keys[e]=[t]}}]),e}(),Kt=function(e){function t(e){var n;return i(this,t),(n=s(this,l(t).call(this,e))).$parent=e.template.$layer,e.on("ready",(function(){e.option.layers.forEach((function(e){n.add(e)}))})),n}return p(t,e),t}(ft),en=function(e){function t(e){var n;return i(this,t),n=s(this,l(t).call(this,e)),Oe(e.template.$loading,e.icons.loading),n}return p(t,e),t}(ft),tn=function(){function e(t){i(this,e),this.art=t,this.timer=null}return c(e,[{key:"show",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3,o=this.art.template,i=o.$player,a=o.$noticeInner;a.innerHTML=e instanceof Error?e.message.trim():e,clearTimeout(this.timer),n&&(this.timer=setTimeout((function(){t.hide()}),r)),ge(i,"art-notice-show"),this.art.emit("notice:toggle",!0)}},{key:"hide",value:function(){var e=this.art.template,t=e.$player;e.$noticeInner.innerHTML="",be(t,"art-notice-show"),this.art.emit("notice:toggle",!0)}}]),e}(),nn=function(e){function t(e){var n;return i(this,t),n=s(this,l(t).call(this,e)),Oe(e.template.$state,e.icons.state),n}return p(t,e),t}(ft),rn=function e(t){var n=this;i(this,e);var r=Object.assign({loading:'\n',state:'\n',play:'\n',pause:'\n',volume:'\n',volumeClose:'\n',subtitle:'\n',screenshot:'\n\t\n\n',setting:'\n',fullscreen:'\n\t\n\t\n\t\n\t\n',fullscreenWeb:'\n\t\n',pip:'\n',prev:'\n',next:'\n'},t.option.icons);Object.keys(r).forEach((function(e){var t=document.createElement("i");t.classList.add("art-icon"),t.classList.add("art-icon-".concat(e)),Oe(t,r[e]),n[e]=t}))};function on(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function an(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t'.concat(r.get("Flip"),'\n
\n
"),click:function(e,t){var n=t.target.dataset.value;n&&(o.flip=n)},mounted:function(e){t.on("flipChange",(function(t){var n=me("button",e).find((function(e){return e.dataset.value===t}));n&&Se(n.parentElement,"current")}))}})}}function cn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function un(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t'.concat(r.get("Aspect ratio"),'\n
\n
'),click:function(e,t){var n=t.target.dataset.value;n&&(o.aspectRatio=n)},mounted:function(e){t.on("aspectRatioChange",(function(t){var n=me("button",e).find((function(e){return e.dataset.value===t}));n&&Se(n.parentElement,"current")}))}})}}function sn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ln(e){return function(t){var r=t.i18n,o=t.player,i=t.events.proxy;return function(e){for(var t=1;t'.concat(r.get("Play speed"),': 1.0x\n\n
\n
'),mounted:function(e){var n=ve(".art-setting-range input",e),r=ve(".art-subtitle-value",e);i(n,"change",(function(){var e=n.value;r.innerText=e,o.playbackRate=Number(e)})),t.on("playbackRateChange",(function(e){n.value!==e&&(n.value=e,r.innerText=e)}))}})}}var fn=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.option,o=e.template,a=o.$setting,c=o.$settingBody,u=e.events.proxy;return n.$parent=c,r.setting&&(e.on("ready",(function(){u(a,"click",(function(e){e.target===a&&(n.show=!1)})),n.add(an({disable:!r.flip,name:"flip"})),n.add(un({disable:!r.aspectRatio,name:"aspectRatio"})),n.add(ln({disable:!r.playbackRate,name:"playbackRate"}))})),e.on("blur",(function(){n.show=!1}))),n}return p(t,e),t}(ft),pn=function(){function e(t){i(this,e),this.art=t,this.name="artplayer_settings";var n=t.option,r=this.get("volume");r&&(n.volume=r)}return c(e,[{key:"get",value:function(e){var t=JSON.parse(window.localStorage.getItem(this.name))||{};return e?t[e]:{}}},{key:"set",value:function(e,t){var r=Object.assign({},this.get(),n({},e,t));window.localStorage.setItem(this.name,JSON.stringify(r))}},{key:"del",value:function(e){var t=this.get();delete t[e],window.localStorage.setItem(this.name,JSON.stringify(t))}},{key:"clean",value:function(){window.localStorage.removeItem(this.name)}}]),e}();function dn(e){var t=e.i18n,n=e.subtitle,r=e.events.proxy;return{title:"Subtitle",name:"subtitleOffset",index:20,html:'\n
'.concat(t.get("Subtitle offset time"),': 0s\n
\n
\n
'),mounted:function(t){var o=ve(".art-setting-range input",t),i=ve(".art-subtitle-value",t);r(o,"change",(function(){var t=o.value;i.innerText=t,e.plugins.subtitleOffset.offset(Number(t))})),e.on("subtitle:switch",(function(){o.value=0,i.innerText=0})),e.on("subtitleOffset",(function(e){n.update(),o.value!==e&&(o.value=e,i.innerText=e)}))}}}function hn(e){var t=e.constructor.utils.clamp,n=e.setting,r=e.notice,o=e.template,i=e.i18n,a=e.player;n.add(dn);var c=[];return e.on("subtitle:switch",(function(){c=[]})),{name:"subtitleOffset",offset:function(n){if(o.$track&&o.$track.track){var u=Array.from(o.$track.track.cues),s=t(n,-5,5);u.forEach((function(e,n){c[n]||(c[n]={startTime:e.startTime,endTime:e.endTime}),e.startTime=t(c[n].startTime+s,0,a.duration),e.endTime=t(c[n].endTime+s,0,a.duration)})),r.show("".concat(i.get("Subtitle offset time"),": ").concat(n,"s")),e.emit("subtitleOffset",n)}else r.show("".concat(i.get("No subtitles found"))),e.emit("subtitleOffset",0)}}}function yn(e){var t=e.events.proxy,n=e.template,r=e.player,o=e.option,i=e.setting,a=e.i18n;function c(t){if(t){var i=n.$video.canPlayType(t.type);if("maybe"===i||"probably"===i){var a=URL.createObjectURL(t);o.title=t.name,r.switchUrl(a,t.name),e.emit("localVideo",t)}else De(!1,"Playback of this file format is not supported")}}function u(e){var n=Oe(e,'');ke(e,"position","relative"),xe(n,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),t(n,"change",(function(){c(n.files[0])}))}return t(n.$player,"dragover",(function(e){e.preventDefault()})),t(n.$player,"drop",(function(e){e.preventDefault(),c(e.dataTransfer.files[0])})),e.on("ready",(function(){i.add({title:"Local Video",name:"localVideo",index:30,html:'\n
'.concat(a.get("Local Video"),'\n
\n
').concat(a.get("Open"),'
\n
'),mounted:function(t){var n=ve(".art-upload-btn",t),r=ve(".art-upload-value",t);e.on("localVideo",(function(e){r.textContent=e.name,r.title=e.name})),u(n)}})})),{name:"localVideo",attach:u}}function vn(e){var t=e.events.proxy,n=e.subtitle,r=e.setting,o=e.i18n;function i(r){var o=Oe(r,'');ke(r,"position","relative"),xe(o,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),t(o,"change",(function(){!function(r){if(r){var o=Le(r.name);if(["ass","vtt","srt"].includes(o)){var i=new FileReader;t(i,"load",(function(t){var i=t.target.result;switch(o){case"srt":var a=_e(Te(i));n.switch(a,r.name);break;case"ass":var c=_e(Ae(i));n.switch(c,r.name);break;case"vtt":var u=_e(i);n.switch(u,r.name)}e.emit("localSubtitle",r)})),i.readAsText(r)}else De(!1,"Only supports subtitle files in .ass, .vtt and .srt format")}}(o.files[0])}))}return e.on("ready",(function(){r.add({title:"Local Subtitle",name:"localSubtitle",index:40,html:'\n
'.concat(o.get("Local Subtitle"),'\n
\n
').concat(o.get("Open"),'
\n
'),mounted:function(t){var n=ve(".art-upload-btn",t),r=ve(".art-upload-value",t);e.on("localSubtitle",(function(e){r.textContent=e.name,r.title=e.name})),i(n)}})})),{name:"localSubtitle",attach:i}}function mn(e){var t=e.layers,n=e.player,r=e.option.theme;return t.add({name:"miniProgressBar",style:{display:"none",position:"absolute",left:0,right:0,bottom:0,height:"2px",background:r},mounted:function(t){e.on("control:toggle",(function(e){t.style.display=e?"none":"block"})),e.on("destroy",(function(){t.style.display="none"})),e.on("video:timeupdate",(function(){t.style.width="".concat(100*n.played,"%")}))}}),{name:"miniProgressBar"}}function gn(e){var t=1e4,n=0,r=0,o=0,i=null;function a(){n=0,r=0,o=0,cancelAnimationFrame(i),i=null}function c(){i||function a(){e.isDestroy||(i=requestAnimationFrame((function(){var i=Date.now();if(o){var c=i-o;r+=c,e.player.playing||(n+=c)}o=i,e.emit("networkMonitor",n/r),r>=t&&(n=0,r=0),a()})))}()}return e.on("play",c),e.on("pause",a),{name:"networkMonitor",reset:a,start:c,sample:function(e){t=e}}}function bn(e){var t=e.events,n=e.player,r=e.template,o=Ye((function(){var t=r.$player.getBoundingClientRect();t.top+t.height<=0&&!n.pip?(n.pip=!0,e.emit("autoPip",!0)):n.pip&&(n.pip=!1,e.emit("autoPip",!1))}),300);return t.proxy(window,"scroll",o),{name:"autoPip"}}var wn=function(){function e(t){var n=this;i(this,e),this.art=t,this.id=0;var r=t.option;r.subtitle.url&&r.subtitleOffset&&this.add(hn),!r.isLive&&r.miniProgressBar&&this.add(mn),r.localVideo&&this.add(yn),r.localSubtitle&&this.add(vn),r.networkMonitor&&this.add(gn),r.autoPip&&this.add(bn),t.option.plugins.forEach((function(e){n.add(e)}))}return c(e,[{key:"add",value:function(e){this.id+=1;var t=e.call(this,this.art),n="";return De(!Ne(this,n=t&&t.name?t.name:e.name?e.name:"plugin".concat(this.id)),"Cannot add a plugin that already has the same name: ".concat(n)),Object.defineProperty(this,n,{value:t}),this.art.emit("plugin:add",e),this}}]),e}(),On=function e(t){i(this,e);var n=t.option,r=t.events.proxy,o=t.template.$video;et.video.events.forEach((function(e){r(o,e,(function(e){t.emit("video:".concat(e.type),e)}))})),Object.keys(n.moreVideoAttr).forEach((function(e){o[e]=n.moreVideoAttr[e]})),n.muted&&(o.muted=n.muted),n.volume&&(o.volume=Ze(n.volume,0,1)),n.poster&&(o.poster=n.poster),n.autoplay&&(o.autoplay=n.autoplay),o.controls=!0;var a=n.type||Le(n.url),c=n.customType[a];a&&c?(t.emit("beforeCustomType",a),c(o,n.url,t),t.emit("afterCustomType",a)):(t.emit("beforeAttachUrl",n.url),o.src=n.url,t.emit("afterAttachUrl",o.src))},kn=0,xn=function(e){function t(e){var n;return i(this,t),(n=s(this,l(t).call(this))).option=he(Ue(t.option,e),Ke),n.isFocus=!1,n.isDestroy=!1,n.whitelist=new tt(u(n)),n.template=new nt(u(n)),n.events=new Gt(u(n)),n.whitelist.state?(n.storage=new pn(u(n)),n.icons=new rn(u(n)),n.i18n=new it(u(n)),n.notice=new tn(u(n)),n.player=new ut(u(n)),n.layers=new Kt(u(n)),n.controls=new qt(u(n)),n.contextmenu=new Xt(u(n)),n.subtitle=new Jt(u(n)),n.info=new Zt(u(n)),n.loading=new en(u(n)),n.hotkey=new Qt(u(n)),n.mask=new nn(u(n)),n.setting=new fn(u(n)),n.plugins=new wn(u(n))):n.mobile=new On(u(n)),kn+=1,n.id=kn,t.instances.push(u(n)),n}return p(t,e),c(t,[{key:"destroy",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.events.destroy(),this.template.destroy(e),t.instances.splice(t.instances.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}],[{key:"version",get:function(){return"3.1.20"}},{key:"env",get:function(){return'"production"'}},{key:"config",get:function(){return et}},{key:"utils",get:function(){return Ge}},{key:"scheme",get:function(){return Ke}},{key:"Emitter",get:function(){return ye}},{key:"validator",get:function(){return he}},{key:"kindOf",get:function(){return he.kindOf}},{key:"option",get:function(){return{container:"#artplayer",url:"",poster:"",title:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,localVideo:!1,localSubtitle:!1,autoPip:!1,networkMonitor:!1,layers:[],contextmenu:[],quality:[],controls:[],highlight:[],plugins:[],whitelist:[],thumbnails:{url:"",number:60,width:160,height:90,column:10},subtitle:{url:"",style:{}},moreVideoAttr:{controls:!1,preload:"metadata"},icons:{},customType:{},lang:navigator.language.toLowerCase()}}}]),t}(ye);function jn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pn(e){for(var t=1;t=0||(o[n]=e[n]);return o};var t=function(t,n){if(null==t)return{};var r,o,i=e(t,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i};var n=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e};"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function r(e,t){return e(t={exports:{}},t.exports),t.exports}var o=r((function(e){function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(r){return"function"==typeof Symbol&&"symbol"===t(Symbol.iterator)?e.exports=n=function(e){return t(e)}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":t(e)},n(r)}e.exports=n}));var i=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")};function a(e,t){for(var n=0;nY.length&&Y.push(e)}function J(e,t,n){return null==e?0:function e(t,n,r,o){var i=typeof t;"undefined"!==i&&"boolean"!==i||(t=null);var a=!1;if(null===t)a=!0;else switch(i){case"string":case"number":a=!0;break;case"object":switch(t.$$typeof){case b:case w:a=!0}}if(a)return r(o,t,""===n?"."+G(t,0):n),1;if(a=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c1?t-1:0),r=1;r2?n-2:0),o=2;o2?n-2:0),o=2;o8)throw new Error("warningWithoutStack() currently supports at most 8 arguments.");if(!e){if("undefined"!=typeof console){var i=r.map((function(e){return""+e}));i.unshift("Warning: "+t),Function.prototype.apply.call(console.error,console,i)}try{var a=0,c="Warning: "+t.replace(/%s/g,(function(){return r[a++]}));throw new Error(c)}catch(e){}}},E={};function R(e,t){var n=e.constructor,r=n&&(n.displayName||n.name)||"ReactClass",o=r+"."+t;E[o]||(S(!1,"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",t,r),E[o]=!0)}var C={isMounted:function(e){return!1},enqueueForceUpdate:function(e,t,n){R(e,"forceUpdate")},enqueueReplaceState:function(e,t,n,r){R(e,"replaceState")},enqueueSetState:function(e,t,n,r){R(e,"setState")}},$={};function D(e,t,n){this.props=e,this.context=t,this.refs=$,this.updater=n||C}Object.freeze($),D.prototype.isReactComponent={},D.prototype.setState=function(e,t){!function(){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw x(Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables."))}(),this.updater.enqueueSetState(this,e,t,"setState")},D.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};var T={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},_=function(e,t){Object.defineProperty(D.prototype,e,{get:function(){P(!1,"%s(...) is deprecated in plain JavaScript React classes. %s",t[0],t[1])}})};for(var A in T)T.hasOwnProperty(A)&&_(A,T[A]);function L(){}function M(e,t,n){this.props=e,this.context=t,this.refs=$,this.updater=n||C}L.prototype=D.prototype;var q=M.prototype=new L;q.constructor=M,t(q,D.prototype),q.isPureReactComponent=!0;var z={current:null},I={suspense:null},V={current:null},F=/^(.*)[\\\/]/,W=1;function N(e){if(null==e)return null;if("number"==typeof e.tag&&S(!1,"Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case a:return"Fragment";case i:return"Portal";case u:return"Profiler";case c:return"StrictMode";case d:return"Suspense";case h:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return"Context.Consumer";case s:return"Context.Provider";case p:return r=e,o=e.render,f="ForwardRef",m=o.displayName||o.name||"",r.displayName||(""!==m?f+"("+m+")":f);case y:return N(e.type);case v:var t=(n=e)._status===W?n._result:null;if(t)return N(t)}var n,r,o,f,m;return null}var H={},U=null;function B(e){U=e}H.getCurrentStack=null,H.getStackAddendum=function(){var e="";if(U){var t=N(U.type),n=U._owner;e+=function(e,t,n){var r="";if(t){var o=t.fileName,i=o.replace(F,"");if(/^index\./.test(i)){var a=o.match(F);if(a){var c=a[1];if(c)i=c.replace(F,"")+"/"+i}}r=" (at "+i+":"+t.lineNumber+")"}else n&&(r=" (created by "+n+")");return"\n in "+(e||"Unknown")+r}(t,U._source,n&&N(n.type))}var r=H.getCurrentStack;return r&&(e+=r()||""),e};var Y={ReactCurrentDispatcher:z,ReactCurrentBatchConfig:I,ReactCurrentOwner:V,IsSomeRendererActing:{current:!1},assign:t};t(Y,{ReactDebugCurrentFrame:H,ReactComponentTreeHook:{}});var X=function(e,t){if(!e){for(var n=Y.ReactDebugCurrentFrame,r=n.getStackAddendum(),o=arguments.length,i=Array(o>2?o-2:0),a=2;a1){for(var l=Array(s),f=0;f1){for(var d=Array(p),h=0;h.")}return t}(t);if(!je[n]){je[n]=!0;var r="";e&&e._owner&&e._owner!==V.current&&(r=" It was passed a child from "+N(e._owner.type)+"."),B(e),X(!1,'Each child in a list should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.',n,r),B(null)}}}function Se(e,t){if("object"==typeof e)if(Array.isArray(e))for(var n=0;n",u=" Did you accidentally export a JSX literal instead of a component?"):l=typeof e,X(!1,"React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",l,u)}var f=ne.apply(this,arguments);if(null==f)return f;if(c)for(var p=2;p is not supported and will be removed in a future major release. Did you mean to render instead?")),n.Provider},set:function(e){n.Provider=e}},_currentValue:{get:function(){return n._currentValue},set:function(e){n._currentValue=e}},_currentValue2:{get:function(){return n._currentValue2},set:function(e){n._currentValue2=e}},_threadCount:{get:function(){return n._threadCount},set:function(e){n._threadCount=e}},Consumer:{get:function(){return r||(r=!0,X(!1,"Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),n.Consumer}}}),n.Consumer=i,n._currentRenderer=null,n._currentRenderer2=null,n},forwardRef:function(e){return null!=e&&e.$$typeof===y?S(!1,"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):"function"!=typeof e?S(!1,"forwardRef requires a render function but was given %s.",null===e?"null":typeof e):0!==e.length&&2!==e.length&&S(!1,"forwardRef render functions accept exactly two parameters: props and ref. %s",1===e.length?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),null!=e&&(null!=e.defaultProps||null!=e.propTypes)&&S(!1,"forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"),{$$typeof:p,render:e}},lazy:function(e){var t={$$typeof:v,_ctor:e,_status:-1,_result:null},n=void 0,r=void 0;return Object.defineProperties(t,{defaultProps:{configurable:!0,get:function(){return n},set:function(e){X(!1,"React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),n=e,Object.defineProperty(t,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return r},set:function(e){X(!1,"React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),r=e,Object.defineProperty(t,"propTypes",{enumerable:!0})}}}),t},memo:function(e,t){return we(e)||S(!1,"memo: The first argument must be a component. Instead received: %s",null===e?"null":typeof e),{$$typeof:y,type:e,compare:void 0===t?null:t}},useCallback:function(e,t){return Oe().useCallback(e,t)},useContext:function(e,t){var n=Oe();if(void 0!==t&&X(!1,"useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s",t,"number"==typeof t&&Array.isArray(arguments[2])?"\n\nDid you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://fb.me/rules-of-hooks":""),void 0!==e._context){var r=e._context;r.Consumer===e?X(!1,"Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):r.Provider===e&&X(!1,"Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return n.useContext(e,t)},useEffect:function(e,t){return Oe().useEffect(e,t)},useImperativeHandle:function(e,t,n){return Oe().useImperativeHandle(e,t,n)},useDebugValue:function(e,t){return Oe().useDebugValue(e,t)},useLayoutEffect:function(e,t){return Oe().useLayoutEffect(e,t)},useMemo:function(e,t){return Oe().useMemo(e,t)},useReducer:function(e,t,n){return Oe().useReducer(e,t,n)},useRef:function(e){return Oe().useRef(e)},useState:function(e){return Oe().useState(e)},Fragment:a,Profiler:u,StrictMode:c,Suspense:d,unstable_SuspenseList:h,createElement:Re,cloneElement:function(e,t,n){for(var r=re.apply(this,arguments),o=2;o1?n-1:0),o=1;o1&&void 0!==arguments[1]?arguments[1]:document).querySelector(e)}function me(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return Array.from(t.querySelectorAll(e))}function ge(e,t){return e.classList.add(t)}function be(e,t){return e.classList.remove(t)}function we(e,t){return e.classList.contains(t)}function Oe(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML("beforeend",String(t)),e.lastElementChild||e.lastChild}function ke(e,t,n){return e.style[t]=n,e}function xe(e,t){return Object.keys(t).forEach((function(n){ke(e,n,t[n])})),e}function je(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=window.getComputedStyle(e,null).getPropertyValue(t);return n?parseFloat(r):r}function Pe(e){return Array.from(e.parentElement.children).filter((function(t){return t!==e}))}function Se(e,t){Pe(e).forEach((function(e){return be(e,t)})),ge(e,t)}function Ee(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"up";e.setAttribute("aria-label",t),e.setAttribute("data-balloon-pos",n)}var Re=function(e){return-1!==Function.toString.call(e).indexOf("[native code]")},Ce=r((function(e){function t(n,r,o){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(e){return!1}}()?e.exports=t=function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&f(o,n.prototype),o}:e.exports=t=Reflect.construct,t.apply(null,arguments)}e.exports=t})),$e=function(e){function t(e,n){var r;return i(this,t),r=s(this,l(t).call(this,e)),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(u(r),n||r.constructor),r.name="ArtPlayerError",r}return p(t,e),t}(r((function(e){function t(n){var r="function"==typeof Map?new Map:void 0;return e.exports=t=function(e){if(null===e||!Re(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,t)}function t(){return Ce(e,arguments,l(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),f(t,e)},t(n)}e.exports=t}))(Error));function De(e,t){if(!e)throw new $e(t);return e}function Te(e){return"WEBVTT \r\n\r\n".concat(e.replace(/{[\s\S]*?}/g,"").replace(/\{\\([ibu])\}/g,"").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").concat("\r\n\r\n"))}function _e(e){return URL.createObjectURL(new Blob([e],{type:"text/vtt"}))}function Ae(e){var t=new RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function n(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split(/[:.]/).map((function(e,t,n){if(t===n.length-1){if(1===e.length)return".".concat(e,"00");if(2===e.length)return".".concat(e,"0")}else if(1===e.length)return(0===t?"0":":0")+e;return 0===t?e:t===n.length-1?".".concat(e):":".concat(e)})).join("")}return"WEBVTT\n\n".concat(e.split(/\r?\n/).map((function(e){var r=e.match(t);return r?{start:n(r[1].trim()),end:n(r[2].trim()),text:r[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map((function(e){return e.trim()})).join("\n")}:null})).filter((function(e){return e})).map((function(e,t){return e?"".concat(t+1,"\n").concat(e.start," --\x3e ").concat(e.end,"\n").concat(e.text):""})).filter((function(e){return e.trim()})).join("\n\n"))}function Le(e){return e.includes("?")?Le(e.split("?")[0]):e.includes("#")?Le(e.split("#")[0]):e.trim().toLowerCase().split(".").pop()}function Me(e,t){var n=document.createElement("a");n.style.display="none",n.href=e,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n)}var qe=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t1?t-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((function(t){return setTimeout(t,e)}))}function Ye(e,t,n){var r;function o(){for(var o=arguments.length,i=new Array(o),a=0;a0?[t,n,r]:[n,r]).map((function(e){return e<10?"0".concat(e):String(e)})).join(":")}var Ge=Object.freeze({__proto__:null,query:ve,queryAll:me,addClass:ge,removeClass:be,hasClass:we,append:Oe,remove:function(e){return e.parentNode.removeChild(e)},setStyle:ke,setStyles:xe,getStyle:je,sublings:Pe,inverseClass:Se,tooltip:Ee,ArtPlayerError:$e,errorHandle:De,srtToVtt:Te,vttToBlob:_e,assToVtt:Ae,getExt:Le,downloadFile:Me,def:Fe,has:Ne,proxyPropertys:He,mergeDeep:Ue,sleep:Be,debounce:Ye,throttle:Xe,clamp:Ze,secondToTime:Je});function Qe(e,t,n){return De("string"===t||e instanceof Element,"".concat(n.join(".")," require 'string' or 'Element' type"))}var Ke={container:Qe,url:"string|function",poster:"string",title:"string",theme:"string",lang:"string",volume:"number",isLive:"boolean",muted:"boolean",autoplay:"boolean",autoSize:"boolean",loop:"boolean",flip:"boolean",playbackRate:"boolean",aspectRatio:"boolean",screenshot:"boolean",setting:"boolean",hotkey:"boolean",pip:"boolean",mutex:"boolean",fullscreen:"boolean",fullscreenWeb:"boolean",subtitleOffset:"boolean",miniProgressBar:"boolean",localVideo:"boolean",localSubtitle:"boolean",autoPip:"boolean",networkMonitor:"boolean",plugins:["function"],whitelist:["string|function|regexp"],layers:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Qe,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],contextmenu:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Qe,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],quality:[{default:"boolean|undefined",name:"string",url:"string"}],controls:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Qe,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined",position:function(e,t,n){var r=["top","left","right"];return De(r.includes(e),"".concat(n.join(".")," only accept ").concat(r.toString()," as parameters"))}}],highlight:[{time:"number",text:"string"}],thumbnails:{url:"string",number:"number",width:"number",height:"number",column:"number"},subtitle:{url:"string",style:"object"},moreVideoAttr:"object",icons:"object",customType:"object"},et={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"]}},tt=function e(t){var n=this;i(this,e);var r=t.constructor.kindOf,o=t.option.whitelist;this.userAgent=window.navigator.userAgent,this.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(this.userAgent),this.state=!this.isMobile||o.some((function(e){switch(r(e)){case"string":return n.userAgent.indexOf(e)>-1;case"function":return e(n.userAgent);case"regexp":return e.test(n.userAgent);default:return!1}}))},nt=function(){function e(t){var n=this;i(this,e),this.art=t,t.option.container instanceof Element?this.$container=t.option.container:(this.$container=ve(t.option.container),De(this.$container,"No container element found by ".concat(t.option.container))),De(t.constructor.instances.every((function(e){return e.template.$container!==n.$container})),"Cannot mount multiple instances on the same dom element"),De(this.$container.clientWidth&&this.$container.clientHeight,"The width and height of the container cannot be 0"),t.whitelist.state?this.initDesktop():this.initMobile()}return c(e,[{key:"query",value:function(e){return ve(e,this.$container)}},{key:"initDesktop",value:function(){this.$container.innerHTML='
Player version:
3.2.1
Video url:
Video volume:
Video time:
Video duration:
Video resolution:
x
[x]
xD7
'),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query(".art-video track"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$settingInner=this.query(".art-setting-inner"),this.$settingBody=this.query(".art-setting-body"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$pipHeader=this.query(".art-pip-header"),this.$pipTitle=this.query(".art-pip-title"),this.$pipClose=this.query(".art-pip-close"),this.$contextmenu=this.query(".art-contextmenus")}},{key:"initMobile",value:function(){this.$container.innerHTML='
',this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video")}},{key:"destroy",value:function(e){e?this.$container.innerHTML="":ge(this.$player,"art-destroy")}}]),e}(),rt={"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:"正常",Open:"打开","Switch video":"切换","Switch subtitle":"切换字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"网页全屏","Exit web fullscreen":"退出网页全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地视频","Subtitle offset time":"字幕偏移时间","No subtitles found":"未发现字幕"},ot={"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:"正常",Open:"打開","Switch video":"切換","Switch subtitle":"切換字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"網頁全屏","Exit web fullscreen":"退出網頁全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地視頻","Subtitle offset time":"字幕偏移時間","No subtitles found":"未發現字幕"},it=function(){function e(t){i(this,e),this.art=t,this.languages={"zh-cn":rt,"zh-tw":ot},this.init()}return c(e,[{key:"init",value:function(){var e=this.art.option.lang.toLowerCase();this.language=this.languages[e]||{}}},{key:"get",value:function(e){return this.language[e]||e}},{key:"update",value:function(e){this.languages=Ue(this.languages,e),this.init()}}]),e}();var at=r((function(e){!function(){var t="undefined"!=typeof window&&void 0!==window.document?window.document:{},n=e.exports,r=function(){for(var e,n=[["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"]],r=0,o=n.length,i={};rh){var y=h*l/s;ke(r,"width","".concat(100*y,"%")),ke(r,"height","100%"),ke(r,"padding","0 ".concat((f-f*y)/2,"px"))}else{var v=s/h/l;ke(r,"width","100%"),ke(r,"height","".concat(100*v,"%")),ke(r,"padding","".concat((p-p*v)/2,"px 0"))}}o.dataset.aspectRatio=n,a.show("".concat(i.get("Aspect ratio"),": ").concat("default"===n?i.get("Default"):n)),e.emit("aspectRatioChange",n)}else t.aspectRatio&&(ke(r,"width",null),ke(r,"height",null),ke(r,"padding",null),delete o.dataset.aspectRatio,e.emit("aspectRatioRemove"))}}),Fe(t,"aspectRatioReset",{set:function(n){if(n&&t.aspectRatio){var r=t.aspectRatio;t.aspectRatio=r,e.emit("aspectRatioReset")}}})}(t,this),function(e,t){var n=e.option,r=e.notice,o=e.template.$video;Fe(t,"getScreenshotDataURL",{value:function(){try{var e=document.createElement("canvas");return e.width=o.videoWidth,e.height=o.videoHeight,e.getContext("2d").drawImage(o,0,0),e.toDataURL("image/png")}catch(e){throw r.show(e),e}}}),Fe(t,"getScreenshotBlobUrl",{value:function(){return new Promise((function(e,t){try{var n=document.createElement("canvas");n.width=o.videoWidth,n.height=o.videoHeight,n.getContext("2d").drawImage(o,0,0),n.toBlob((function(t){e(URL.createObjectURL(t))}))}catch(e){r.show(e),t(e)}}))}}),Fe(t,"screenshot",{value:function(){var r=t.getScreenshotDataURL();r&&(Me(r,"".concat(n.title||"artplayer","_").concat(Je(o.currentTime),".png")),e.emit("screenshot",r))}})}(t,this),function(e,t){var n=e.i18n,r=e.notice,o=e.events.destroyEvents,i=e.template.$player,a=function(){e.emit("fullscreenChange",at.isFullscreen)},c=function(){r.show(n.get("Does not support fullscreen"))};t.fullscreenIsEnabled&&(at.on("change",a),at.on("error",c),o.push((function(){at.off("change",a),at.off("error",c)}))),Fe(t,"fullscreen",{get:function(){return at.isFullscreen},set:function(n){t.fullscreenIsEnabled?n?(t.fullscreenWeb&&(t.fullscreenWeb=!1),at.request(i).then((function(){ge(i,"art-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenEnabled")}))):(t.fullscreenWeb&&(t.fullscreenWeb=!1),at.exit().then((function(){be(i,"art-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenExit")}))):c()}}),Fe(t,"fullscreenToggle",{set:function(e){e&&(t.fullscreen=!t.fullscreen)}}),Fe(t,"fullscreenIsEnabled",{get:function(){return at.isEnabled}})}(t,this),function(e,t){var n=e.template.$player;Fe(t,"fullscreenWeb",{get:function(){return we(n,"art-web-fullscreen")},set:function(r){r?(t.fullscreen&&(t.fullscreen=!1),ge(n,"art-web-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenWebEnabled")):(t.fullscreen&&(t.fullscreen=!1),be(n,"art-web-fullscreen"),t.aspectRatioReset=!0,e.emit("fullscreenWebExit"))}}),Fe(t,"fullscreenWebToggle",{set:function(e){e&&(t.fullscreenWeb=!t.fullscreenWeb)}})}(t,this),ct(t,this),function(e,t){var n=e.template.$video;Fe(t,"loaded",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1)/n.duration:0}}),Fe(t,"loadedTime",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1):0}})}(t,this),function(e,t){Fe(t,"played",{get:function(){return e.template.$video.currentTime/e.template.$video.duration}})}(t,this),function(e,t){var n=e.template.$video;Fe(t,"playing",{get:function(){return!!(n.currentTime>0&&!n.paused&&!n.ended&&n.readyState>2)}})}(t,this),function(e,t){var n=e.template,r=n.$container,o=n.$player,i=n.$video;Fe(t,"autoSize",{get:function(){return we(r,"art-auto-size")},set:function(n){if(n){var a=i.videoWidth,c=i.videoHeight,u=r.getBoundingClientRect(),s=u.width,l=u.height,f=a/c,p=s/l;if(ge(r,"art-auto-size"),p>f){ke(o,"width","".concat(l*f/s*100,"%")),ke(o,"height","100%")}else{var d=s/f/l*100;ke(o,"width","100%"),ke(o,"height","".concat(d,"%"))}e.emit("autoSizeChange",{width:t.width,height:t.height})}else be(r,"art-auto-size"),ke(o,"width",null),ke(o,"height",null),e.emit("autoSizeRemove")}})}(t,this),function(e,t){Fe(t,"rect",{get:function(){return e.template.$player.getBoundingClientRect()}}),["bottom","height","left","right","top","width"].forEach((function(e){Fe(t,e,{get:function(){return t.rect[e]}})})),Fe(t,"x",{get:function(){return t.left+window.pageXOffset}}),Fe(t,"y",{get:function(){return t.top+window.pageYOffset}})}(t,this),function(e,t){Fe(t,"flip",{get:function(){return e.template.$player.dataset.flip},set:function(t){if(t){var n=["normal","horizontal","vertical"];De(n.includes(t),"'flip' only accept ".concat(n.toString()," as parameters")),e.template.$player.dataset.flip=t,e.emit("flipChange",t)}else delete e.template.$player.dataset.flip,e.emit("flipRemove")}})}(t,this),He(t,this)};var st=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e},lt=r((function(e){function t(n,r,o){return"undefined"!=typeof Reflect&&Reflect.get?e.exports=t=Reflect.get:e.exports=t=function(e,t,n){var r=st(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(n):o.value}},t(n,r,o||n)}e.exports=t})),ft=function(){function e(t){i(this,e),this.id=0,this.art=t,this.add=this.add.bind(this),this.name=this.constructor.name.toLowerCase()}return c(e,[{key:"toggle",value:function(){this.show=!this.show}},{key:"add",value:function(e,t){var n=this,r="function"==typeof e?e(this.art):e;if(!this.$parent||r.disable)return{};this.id+=1;var o=r.name||"".concat(this.name).concat(this.id);De(!Ne(this,o),"Cannot add a component that already has the same name: ".concat(o));var i=document.createElement("div");i.classList.value="art-".concat(this.name," art-").concat(this.name,"-").concat(o),r.html&&Oe(i,r.html),r.style&&xe(i,r.style),r.tooltip&&Ee(i,r.tooltip);var a=Array.from(this.$parent.children);i.dataset.index=r.index||this.id;var c=a.find((function(e){return Number(e.dataset.index)>=Number(i.dataset.index)}));return c?c.insertAdjacentElement("beforebegin",i):Oe(this.$parent,i),r.click&&this.art.events.proxy(i,"click",(function(e){e.preventDefault(),r.click.call(n.art,n,e)})),r.mounted&&r.mounted(i,this,this.art),t&&t(i,this,this.art),Fe(this,o,{value:{get $ref(){return i},set show(e){ke(i,"display",e?"block":"none")}}}),this.art.emit("".concat(this.name,":add"),r),this[o]}},{key:"show",get:function(){return we(this.art.template.$player,"art-".concat(this.name,"-show"))},set:function(e){De(!1===e||!0===e,"The show attribute expects a boolean value");var t=this.art.template.$player,n="art-".concat(this.name,"-show");e?ge(t,n):be(t,n),this.art.emit("".concat(this.name,":toggle"),e)}}]),e}();function pt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function dt(e){return function(t){return function(e){for(var t=1;t
'),mounted:function(e){var n=!1,r=ve(".art-progress-loaded",e),i=ve(".art-progress-played",e),u=ve(".art-progress-highlight",e),s=ve(".art-progress-indicator",e),l=ve(".art-progress-tip",e);function f(e,t){"loaded"===e&&ke(r,"width","".concat(100*t,"%")),"played"===e&&(ke(i,"width","".concat(100*t,"%")),ke(s,"left","calc(".concat(100*t,"% - ").concat(je(s,"width")/2,"px)")))}o.forEach((function(e){var t=Ze(e.time,0,c.duration)/c.duration*100;Oe(u,''))})),f("loaded",c.loaded),t.on("video:progress",(function(){f("loaded",c.loaded)})),t.on("video:timeupdate",(function(){f("played",c.played)})),t.on("video:ended",(function(){f("played",1)})),a(e,"mousemove",(function(n){ke(l,"display","block"),n.composedPath().indexOf(u)>-1?function(n){var r=Ot(t,n).width,o=n.target.dataset.text;l.innerHTML=o;var i=l.clientWidth;r<=i/2?ke(l,"left",0):r>e.clientWidth-i/2?ke(l,"left","".concat(e.clientWidth-i,"px")):ke(l,"left","".concat(r-i/2,"px"))}(n):function(n){var r=Ot(t,n),o=r.width,i=r.time;l.innerHTML=i;var a=l.clientWidth;o<=a/2?ke(l,"left",0):o>e.clientWidth-a/2?ke(l,"left","".concat(e.clientWidth-a,"px")):ke(l,"left","".concat(o-a/2,"px"))}(n)})),a(e,"mouseout",(function(){ke(l,"display","none")})),a(e,"click",(function(e){if(e.target!==s){var n=Ot(t,e),r=n.second;f("played",n.percentage),c.seek=r}})),a(s,"mousedown",(function(){n=!0})),a(document,"mousemove",(function(e){if(n){var r=Ot(t,e),o=r.second,i=r.percentage;ge(s,"art-show-indicator"),f("played",i),c.seek=o}})),a(document,"mouseup",(function(){n&&(n=!1,be(s,"art-show-indicator"))}))}})}}function xt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function jt(e){return function(t){return function(e){for(var t=1;t'),l=Oe(s,'
');function f(e){var t=s.getBoundingClientRect(),n=t.left,r=t.width,o=l.getBoundingClientRect().width;return Ze(e.pageX-n-o/2,0,r-o/2)/(r-o)}function p(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.7;if(o.muted||0===e)ke(c,"display","none"),ke(u,"display","flex"),ke(l,"left","0");else{var t=((je(s,"width")||60)-je(l,"width"))*e;ke(c,"display","flex"),ke(u,"display","none"),ke(l,"left","".concat(t,"px"))}}Ee(c,i.get("Mute")),ke(u,"display","none"),p(o.volume),t.on("video:volumechange",(function(){p(o.volume)})),n(c,"click",(function(){o.muted=!0})),n(u,"click",(function(){o.muted=!1})),n(s,"click",(function(e){o.muted=!1,o.volume=f(e)})),n(l,"mousedown",(function(){a=!0})),n(document,"mousemove",(function(e){a&&(o.muted=!1,o.volume=f(e))})),n(document,"mouseup",(function(){a&&(a=!1)}))}})}}function Ct(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $t(e){return function(t){return function(e){for(var t=1;tr.clientWidth-u/2?ke(e,"left","".concat(r.clientWidth-u,"px")):ke(e,"left","".concat(i-u/2,"px"))}(o))})),i(r,"mouseout",(function(){ke(e,"display","none")}))}})}}function _t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function At(e){return function(t){return function(e){for(var t=1;t'.concat(u.name,"")),l=n.map((function(e,t){return'
').concat(e.name,"
")})).join(""),f=Oe(e,'
'.concat(l,"
"));i(e,(function(){f.style.left="-".concat(je(f,"width")/2-e.clientWidth/2,"px")})),o(f,"click",(function(e){var t=Number(e.target.dataset.index),r=n[t],o=r.url,i=r.name;o&&i&&c!==t&&(a.switchQuality(o,i),s.innerHTML=i,c=t)}))}})}}var qt=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.option;return e.on("ready",(function(){n.add(kt({name:"progress",disable:r.isLive,position:"top",index:10})),n.add(Tt({name:"thumbnails",disable:!r.thumbnails.url||r.isLive,position:"top",index:20})),n.add(bt({name:"playAndPause",disable:!1,position:"left",index:10})),n.add(Rt({name:"volume",disable:!1,position:"left",index:20})),n.add(St({name:"time",disable:r.isLive,position:"left",index:30})),n.add(Mt({name:"quality",disable:0===r.quality.length,position:"right",index:10})),n.add(At({name:"screenshot",disable:!r.screenshot,position:"right",index:20})),n.add(jt({name:"subtitle",disable:!r.subtitle.url,position:"right",index:30})),n.add($t({name:"setting",disable:!r.setting,position:"right",index:40})),n.add(mt({name:"pip",disable:!r.pip,position:"right",index:50})),n.add(yt({name:"fullscreenWeb",disable:!r.fullscreenWeb,position:"right",index:60})),n.add(dt({name:"fullscreen",disable:!r.fullscreen,position:"right",index:70})),r.controls.forEach((function(e){n.add(e)}))})),n}return p(t,e),c(t,[{key:"add",value:function(e,n){var r="function"==typeof e?e(this.art):e;De(r.position,"Controls option.position can not be empty");var o=this.art.template,i=o.$progress,a=o.$controlsLeft,c=o.$controlsRight;switch(r.position){case"top":this.$parent=i;break;case"left":this.$parent=a;break;case"right":this.$parent=c}var u=lt(l(t.prototype),"add",this).call(this,r,n);return r.disable||"top"===r.position||u.$ref.firstElementChild&&"I"===u.$ref.firstElementChild.tagName||ge(u.$ref,"art-control-onlyText"),u}}]),t}(ft);function zt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function It(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t0.50.75').concat(r.get("Normal"),'1.251.52.0'),click:function(e,t){var n=t.target.dataset.rate;n&&(o.playbackRate=Number(n),e.show=!1)},mounted:function(e){t.on("playbackRateChange",(function(t){var n=me("span",e).find((function(e){return Number(e.dataset.rate)===t}));n&&Se(n,"art-current")}))}})}}function Vt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ft(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t').concat(r.get("Default"),'4:316:9'),click:function(e,t){var n=t.target.dataset.ratio;n&&(o.aspectRatio=n,e.show=!1)},mounted:function(e){t.on("aspectRatioChange",(function(t){var n=me("span",e).find((function(e){return e.dataset.ratio===t}));n&&Se(n,"art-current")}))}})}}function Wt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Nt(e){return function(t){return function(e){for(var t=1;tArtPlayer 3.2.1'})}function Bt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Yt(e){return function(t){return function(e){for(var t=1;ts+u&&(h=u-d),r+p>l+i&&(y=i-p),ke(c,"left","".concat(h,"px")),ke(c,"top","".concat(y,"px"))})),u(a,"click",(function(e){e.composedPath().includes(c)||(n.show=!1)})),e.on("blur",(function(){n.show=!1}))})),n}return p(t,e),t}(ft),Zt=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.template,o=r.$infoPanel,a=r.$infoClose,c=r.$video;(0,e.events.proxy)(a,"click",(function(){n.show=!1}));var u=null,f=me("[data-video]",o);return e.on("destroy",(function(){clearTimeout(u)})),e.on("info:toggle",(function(e){clearTimeout(u),e&&function e(){f.forEach((function(e){var t=c[e.dataset.video];e.innerHTML="number"==typeof t?t.toFixed(2):t})),u=setTimeout((function(){e()}),1e3)}()})),n}return p(t,e),t}(ft),Jt=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.events.proxy,o=e.option.subtitle;return xe(e.template.$subtitle,o.style),r(n.textTrack,"cuechange",n.update.bind(u(n))),o.url&&n.init(o.url),n}return p(t,e),c(t,[{key:"update",value:function(){var e=this.art.template.$subtitle;e.innerHTML="",this.activeCue&&(e.innerHTML=this.activeCue.text.split(/\r?\n/).map((function(e){return"

".concat(e,"

")})).join(""),this.art.emit("subtitle:update",this.activeCue.text))}},{key:"switch",value:function(e,t){var n=this,r=this.art,o=r.i18n,i=r.notice;return this.init(e).then((function(e){return t&&i.show("".concat(o.get("Switch subtitle"),": ").concat(t)),n.art.emit("subtitle:switch",e),e}))}},{key:"init",value:function(e){var t=this,n=this.art,r=n.notice,o=n.template,i=o.$subtitle,a=o.$track;return fetch(e).then((function(e){return e.text()})).then((function(n){switch(t.art.emit("subtitle:load",e),Le(e)){case"srt":return _e(Te(n));case"ass":return _e(Ae(n));case"vtt":return _e(n);default:return e}})).then((function(e){return i.innerHTML="",t.url===e?e:(URL.revokeObjectURL(t.url),a.src=e,e)})).catch((function(e){throw r.show(e),t.art.emit("subtitle:err",e),e}))}},{key:"url",get:function(){return this.art.template.$track.src}},{key:"textTrack",get:function(){return this.art.template.$video.textTracks[0]}},{key:"activeCue",get:function(){return this.textTrack.activeCues[0]}}]),t}(ft);var Gt=function(){function e(t){var n=this;i(this,e),this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),t.whitelist.state&&t.once("video:canplay",(function(){!function(e,t){var n=e.template.$player;t.proxy(document,["click","contextmenu"],(function(t){t.composedPath().indexOf(n)>-1?(e.isFocus=!0,e.emit("focus")):(e.isFocus=!1,e.emit("blur"))}))}(t,n),function(e,t){var n=e.template.$player;t.hover(n,(function(){ge(n,"art-hover"),e.emit("hoverenter")}),(function(){be(n,"art-hover"),e.emit("hoverleave")}))}(t,n),function(e,t){var n=e.template,r=n.$player,o=n.$video,i=e.player,a=Ye((function(){ge(r,"art-hide-cursor"),be(r,"art-hover"),e.controls.show=!1}),3e3);e.on("hoverleave",(function(){i.playing&&a()})),t.proxy(r,"mousemove",(function(t){a.clearTimeout(),be(r,"art-hide-cursor"),e.controls.show=!0,!e.player.pip&&i.playing&&t.target===o&&a(),e.emit("mousemove")}))}(t,n),function(e,t){var n=e.option,r=e.player,o=e.template.$player,i=document.createElement("object");i.setAttribute("aria-hidden","true"),i.setAttribute("tabindex",-1),i.type="text/html",i.data="about:blank";var a=r.width,c=r.height,u=Xe((function(){r.width===a&&r.height===c||(a=r.width,c=r.height,n.autoSize&&(e.player.fullscreen||e.player.fullscreenWeb||e.player.pip?e.player.autoSize=!1:e.player.autoSize=!0),e.player.aspectRatioReset=!0,e.emit("resize",{width:r.width,height:r.height}))}),500);t.proxy(i,"load",(function(){t.proxy(i.contentDocument.defaultView,"resize",u)})),o.appendChild(i)}(t,n)}))}return c(e,[{key:"proxy",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};Array.isArray(t)?t.forEach((function(t){return r.proxy(e,t,n,o)})):(e.addEventListener(t,n,o),this.destroyEvents.push((function(){e.removeEventListener(t,n,o)})))}},{key:"hover",value:function(e,t,n){t&&this.proxy(e,"mouseenter",t),n&&this.proxy(e,"mouseleave",n)}},{key:"loadImg",value:function(e){var t=this;return new Promise((function(n,r){var o;if(e instanceof HTMLImageElement)o=e;else{if("string"!=typeof e)return r(e);(o=new Image).src=e}return o.complete?n(o):(t.proxy(o,"load",(function(){return n(o)})),t.proxy(o,"error",(function(){return r(o)})),e)}))}},{key:"destroy",value:function(){this.destroyEvents.forEach((function(e){return e()}))}}]),e}(),Qt=function(){function e(t){var n=this;i(this,e),this.keys={};var r=t.option,o=t.player,a=t.events.proxy;r.hotkey&&t.on("ready",(function(){n.add(27,(function(){o.fullscreenWeb&&(o.fullscreenWeb=!1)})),n.add(32,(function(){o.toggle=!0})),n.add(37,(function(){o.seek=o.currentTime-5})),n.add(38,(function(){o.volume+=.1})),n.add(39,(function(){o.seek=o.currentTime+5})),n.add(40,(function(){o.volume-=.1})),a(window,"keydown",(function(e){if(t.isFocus){var r=document.activeElement.tagName.toUpperCase(),o=document.activeElement.getAttribute("contenteditable");if("INPUT"!==r&&"TEXTAREA"!==r&&""!==o&&"true"!==o){var i=n.keys[e.keyCode];i&&(e.preventDefault(),i.forEach((function(e){return e()})),t.emit("hotkey",e))}}}))}))}return c(e,[{key:"add",value:function(e,t){this.keys[e]?this.keys[e].push(t):this.keys[e]=[t]}}]),e}(),Kt=function(e){function t(e){var n;return i(this,t),(n=s(this,l(t).call(this,e))).$parent=e.template.$layer,e.on("ready",(function(){e.option.layers.forEach((function(e){n.add(e)}))})),n}return p(t,e),t}(ft),en=function(e){function t(e){var n;return i(this,t),n=s(this,l(t).call(this,e)),Oe(e.template.$loading,e.icons.loading),n}return p(t,e),t}(ft),tn=function(){function e(t){i(this,e),this.art=t,this.timer=null}return c(e,[{key:"show",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3,o=this.art.template,i=o.$player,a=o.$noticeInner;a.innerHTML=e instanceof Error?e.message.trim():e,clearTimeout(this.timer),n&&(this.timer=setTimeout((function(){t.hide()}),r)),ge(i,"art-notice-show"),this.art.emit("notice:toggle",!0)}},{key:"hide",value:function(){var e=this.art.template,t=e.$player;e.$noticeInner.innerHTML="",be(t,"art-notice-show"),this.art.emit("notice:toggle",!0)}}]),e}(),nn=function(e){function t(e){var n;return i(this,t),n=s(this,l(t).call(this,e)),Oe(e.template.$state,e.icons.state),n}return p(t,e),t}(ft),rn=function e(t){var n=this;i(this,e);var r=Object.assign({loading:'',state:'',play:'',pause:'',volume:'',volumeClose:'',subtitle:'',screenshot:'\t',setting:'',fullscreen:'\t\t\t\t',fullscreenWeb:'\t',pip:'',prev:'',next:''},t.option.icons);Object.keys(r).forEach((function(e){var t=document.createElement("i");t.classList.add("art-icon"),t.classList.add("art-icon-".concat(e)),Oe(t,r[e]),n[e]=t}))};function on(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function an(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t'.concat(r.get("Flip"),'
"),click:function(e,t){var n=t.target.dataset.value;n&&(o.flip=n)},mounted:function(e){t.on("flipChange",(function(t){var n=me("button",e).find((function(e){return e.dataset.value===t}));n&&Se(n.parentElement,"current")}))}})}}function cn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function un(e){return function(t){var r=t.i18n,o=t.player;return function(e){for(var t=1;t'.concat(r.get("Aspect ratio"),'
'),click:function(e,t){var n=t.target.dataset.value;n&&(o.aspectRatio=n)},mounted:function(e){t.on("aspectRatioChange",(function(t){var n=me("button",e).find((function(e){return e.dataset.value===t}));n&&Se(n.parentElement,"current")}))}})}}function sn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ln(e){return function(t){var r=t.i18n,o=t.player,i=t.events.proxy;return function(e){for(var t=1;t'.concat(r.get("Play speed"),': 1.0x
'),mounted:function(e){var n=ve(".art-setting-range input",e),r=ve(".art-subtitle-value",e);i(n,"change",(function(){var e=n.value;r.innerText=e,o.playbackRate=Number(e)})),t.on("playbackRateChange",(function(e){n.value!==e&&(n.value=e,r.innerText=e)}))}})}}var fn=function(e){function t(e){var n;i(this,t),n=s(this,l(t).call(this,e));var r=e.option,o=e.template,a=o.$setting,c=o.$settingBody,u=e.events.proxy;return n.$parent=c,r.setting&&(e.on("ready",(function(){u(a,"click",(function(e){e.target===a&&(n.show=!1)})),n.add(an({disable:!r.flip,name:"flip"})),n.add(un({disable:!r.aspectRatio,name:"aspectRatio"})),n.add(ln({disable:!r.playbackRate,name:"playbackRate"}))})),e.on("blur",(function(){n.show=!1}))),n}return p(t,e),t}(ft),pn=function(){function e(t){i(this,e),this.art=t,this.name="artplayer_settings";var n=t.option,r=this.get("volume");r&&(n.volume=r)}return c(e,[{key:"get",value:function(e){var t=JSON.parse(window.localStorage.getItem(this.name))||{};return e?t[e]:{}}},{key:"set",value:function(e,t){var r=Object.assign({},this.get(),n({},e,t));window.localStorage.setItem(this.name,JSON.stringify(r))}},{key:"del",value:function(e){var t=this.get();delete t[e],window.localStorage.setItem(this.name,JSON.stringify(t))}},{key:"clean",value:function(){window.localStorage.removeItem(this.name)}}]),e}();function dn(e){var t=e.i18n,n=e.subtitle,r=e.events.proxy;return{title:"Subtitle",name:"subtitleOffset",index:20,html:'
'.concat(t.get("Subtitle offset time"),': 0s
'),mounted:function(t){var o=ve(".art-setting-range input",t),i=ve(".art-subtitle-value",t);r(o,"change",(function(){var t=o.value;i.innerText=t,e.plugins.subtitleOffset.offset(Number(t))})),e.on("subtitle:switch",(function(){o.value=0,i.innerText=0})),e.on("subtitleOffset",(function(e){n.update(),o.value!==e&&(o.value=e,i.innerText=e)}))}}}function hn(e){var t=e.constructor.utils.clamp,n=e.setting,r=e.notice,o=e.template,i=e.i18n,a=e.player;n.add(dn);var c=[];return e.on("subtitle:switch",(function(){c=[]})),{name:"subtitleOffset",offset:function(n){if(o.$track&&o.$track.track){var u=Array.from(o.$track.track.cues),s=t(n,-5,5);u.forEach((function(e,n){c[n]||(c[n]={startTime:e.startTime,endTime:e.endTime}),e.startTime=t(c[n].startTime+s,0,a.duration),e.endTime=t(c[n].endTime+s,0,a.duration)})),r.show("".concat(i.get("Subtitle offset time"),": ").concat(n,"s")),e.emit("subtitleOffset",n)}else r.show("".concat(i.get("No subtitles found"))),e.emit("subtitleOffset",0)}}}function yn(e){var t=e.events.proxy,n=e.template,r=e.player,o=e.option,i=e.setting,a=e.i18n;function c(t){if(t){var i=n.$video.canPlayType(t.type);if("maybe"===i||"probably"===i){var a=URL.createObjectURL(t);o.title=t.name,r.switchUrl(a,t.name),e.emit("localVideo",t)}else De(!1,"Playback of this file format is not supported")}}function u(e){var n=Oe(e,'');ke(e,"position","relative"),xe(n,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),t(n,"change",(function(){c(n.files[0])}))}return t(n.$player,"dragover",(function(e){e.preventDefault()})),t(n.$player,"drop",(function(e){e.preventDefault(),c(e.dataTransfer.files[0])})),e.on("ready",(function(){i.add({title:"Local Video",name:"localVideo",index:30,html:'
'.concat(a.get("Local Video"),'
').concat(a.get("Open"),'
'),mounted:function(t){var n=ve(".art-upload-btn",t),r=ve(".art-upload-value",t);e.on("localVideo",(function(e){r.textContent=e.name,r.title=e.name})),u(n)}})})),{name:"localVideo",attach:u}}function vn(e){var t=e.events.proxy,n=e.subtitle,r=e.setting,o=e.i18n;function i(r){var o=Oe(r,'');ke(r,"position","relative"),xe(o,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),t(o,"change",(function(){!function(r){if(r){var o=Le(r.name);if(["ass","vtt","srt"].includes(o)){var i=new FileReader;t(i,"load",(function(t){var i=t.target.result;switch(o){case"srt":var a=_e(Te(i));n.switch(a,r.name);break;case"ass":var c=_e(Ae(i));n.switch(c,r.name);break;case"vtt":var u=_e(i);n.switch(u,r.name)}e.emit("localSubtitle",r)})),i.readAsText(r)}else De(!1,"Only supports subtitle files in .ass, .vtt and .srt format")}}(o.files[0])}))}return e.on("ready",(function(){r.add({title:"Local Subtitle",name:"localSubtitle",index:40,html:'
'.concat(o.get("Local Subtitle"),'
').concat(o.get("Open"),'
'),mounted:function(t){var n=ve(".art-upload-btn",t),r=ve(".art-upload-value",t);e.on("localSubtitle",(function(e){r.textContent=e.name,r.title=e.name})),i(n)}})})),{name:"localSubtitle",attach:i}}function mn(e){var t=e.layers,n=e.player,r=e.option.theme;return t.add({name:"miniProgressBar",style:{display:"none",position:"absolute",left:0,right:0,bottom:0,height:"2px",background:r},mounted:function(t){e.on("control:toggle",(function(e){t.style.display=e?"none":"block"})),e.on("destroy",(function(){t.style.display="none"})),e.on("video:timeupdate",(function(){t.style.width="".concat(100*n.played,"%")}))}}),{name:"miniProgressBar"}}function gn(e){var t=1e4,n=0,r=0,o=0,i=null;function a(){n=0,r=0,o=0,cancelAnimationFrame(i),i=null}function c(){i||function a(){e.isDestroy||(i=requestAnimationFrame((function(){var i=Date.now();if(o){var c=i-o;r+=c,e.player.playing||(n+=c)}o=i,e.emit("networkMonitor",n/r),r>=t&&(n=0,r=0),a()})))}()}return e.on("play",c),e.on("pause",a),{name:"networkMonitor",reset:a,start:c,sample:function(e){t=e}}}function bn(e){var t=e.events,n=e.player,r=e.template,o=Ye((function(){var t=r.$player.getBoundingClientRect();t.top+t.height<=0&&!n.pip?(n.pip=!0,e.emit("autoPip",!0)):n.pip&&(n.pip=!1,e.emit("autoPip",!1))}),300);return t.proxy(window,"scroll",o),{name:"autoPip"}}var wn=function(){function e(t){var n=this;i(this,e),this.art=t,this.id=0;var r=t.option;r.subtitle.url&&r.subtitleOffset&&this.add(hn),!r.isLive&&r.miniProgressBar&&this.add(mn),r.localVideo&&this.add(yn),r.localSubtitle&&this.add(vn),r.networkMonitor&&this.add(gn),r.autoPip&&this.add(bn),t.option.plugins.forEach((function(e){n.add(e)}))}return c(e,[{key:"add",value:function(e){this.id+=1;var t=e.call(this,this.art),n="";return De(!Ne(this,n=t&&t.name?t.name:e.name?e.name:"plugin".concat(this.id)),"Cannot add a plugin that already has the same name: ".concat(n)),Object.defineProperty(this,n,{value:t}),this.art.emit("plugin:add",e),this}}]),e}(),On=function e(t){i(this,e);var n=t.option,r=t.events.proxy,o=t.template.$video;et.video.events.forEach((function(e){r(o,e,(function(e){t.emit("video:".concat(e.type),e)}))})),Object.keys(n.moreVideoAttr).forEach((function(e){o[e]=n.moreVideoAttr[e]})),n.muted&&(o.muted=n.muted),n.volume&&(o.volume=Ze(n.volume,0,1)),n.poster&&(o.poster=n.poster),n.autoplay&&(o.autoplay=n.autoplay),o.controls=!0;var a=n.type||Le(n.url),c=n.customType[a];a&&c?(t.emit("beforeCustomType",a),c(o,n.url,t),t.emit("afterCustomType",a)):(t.emit("beforeAttachUrl",n.url),o.src=n.url,t.emit("afterAttachUrl",o.src))},kn=0,xn=function(e){function t(e){var n;return i(this,t),(n=s(this,l(t).call(this))).option=he(Ue(t.option,e),Ke),n.isFocus=!1,n.isDestroy=!1,n.whitelist=new tt(u(n)),n.template=new nt(u(n)),n.events=new Gt(u(n)),n.whitelist.state?(n.storage=new pn(u(n)),n.icons=new rn(u(n)),n.i18n=new it(u(n)),n.notice=new tn(u(n)),n.player=new ut(u(n)),n.layers=new Kt(u(n)),n.controls=new qt(u(n)),n.contextmenu=new Xt(u(n)),n.subtitle=new Jt(u(n)),n.info=new Zt(u(n)),n.loading=new en(u(n)),n.hotkey=new Qt(u(n)),n.mask=new nn(u(n)),n.setting=new fn(u(n)),n.plugins=new wn(u(n))):n.mobile=new On(u(n)),kn+=1,n.id=kn,t.instances.push(u(n)),n}return p(t,e),c(t,[{key:"destroy",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.events.destroy(),this.template.destroy(e),t.instances.splice(t.instances.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}],[{key:"version",get:function(){return"3.2.1"}},{key:"env",get:function(){return'"production"'}},{key:"config",get:function(){return et}},{key:"utils",get:function(){return Ge}},{key:"scheme",get:function(){return Ke}},{key:"Emitter",get:function(){return ye}},{key:"validator",get:function(){return he}},{key:"kindOf",get:function(){return he.kindOf}},{key:"option",get:function(){return{container:"#artplayer",url:"",poster:"",title:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,localVideo:!1,localSubtitle:!1,autoPip:!1,networkMonitor:!1,layers:[],contextmenu:[],quality:[],controls:[],highlight:[],plugins:[],whitelist:[],thumbnails:{url:"",number:60,width:160,height:90,column:10},subtitle:{url:"",style:{}},moreVideoAttr:{controls:!1,preload:"metadata"},icons:{},customType:{},lang:navigator.language.toLowerCase()}}}]),t}(ye);function jn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pn(e){for(var t=1;t1?n-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:document).querySelector(t)}function h(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return Array.from(e.querySelectorAll(t))}function y(t,e){return t.classList.add(e)}function v(t,e){return t.classList.remove(e)}function m(t,e){return t.classList.contains(e)}function g(t,e){return e instanceof Element?t.appendChild(e):t.insertAdjacentHTML("beforeend",String(e)),t.lastElementChild||t.lastChild}function b(t,e,n){return t.style[e]=n,t}function w(t,e){return Object.keys(e).forEach((function(n){b(t,n,e[n])})),t}function O(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=window.getComputedStyle(t,null).getPropertyValue(e);return n?parseFloat(r):r}function x(t){return Array.from(t.parentElement.children).filter((function(e){return e!==t}))}function j(t,e){x(t).forEach((function(t){return v(t,e)})),y(t,e)}function k(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"up";t.setAttribute("aria-label",e),t.setAttribute("data-balloon-pos",n)}var P=function(t){return-1!==Function.toString.call(t).indexOf("[native code]")},E=i((function(t){function e(n,r,i){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}}()?t.exports=e=function(t,e,n){var r=[null];r.push.apply(r,e);var i=new(Function.bind.apply(t,r));return n&&u(i,n.prototype),i}:t.exports=e=Reflect.construct,e.apply(null,arguments)}t.exports=e})),S=function(t){function n(t,r){var i;return e(this,n),i=c(this,s(n).call(this,t)),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(i),r||i.constructor),i.name="ArtPlayerError",i}return l(n,t),n}(i((function(t){function e(n){var r="function"==typeof Map?new Map:void 0;return t.exports=e=function(t){if(null===t||!P(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(t))return r.get(t);r.set(t,e)}function e(){return E(t,arguments,s(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),u(e,t)},e(n)}t.exports=e}))(Error));function $(t,e){if(!t)throw new S(e);return t}function R(t){return"WEBVTT \r\n\r\n".concat(t.replace(/{[\s\S]*?}/g,"").replace(/\{\\([ibu])\}/g,"").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").concat("\r\n\r\n"))}function D(t){return URL.createObjectURL(new Blob([t],{type:"text/vtt"}))}function T(t){var e=new RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function n(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split(/[:.]/).map((function(t,e,n){if(e===n.length-1){if(1===t.length)return".".concat(t,"00");if(2===t.length)return".".concat(t,"0")}else if(1===t.length)return(0===e?"0":":0")+t;return 0===e?t:e===n.length-1?".".concat(t):":".concat(t)})).join("")}return"WEBVTT\n\n".concat(t.split(/\r?\n/).map((function(t){var r=t.match(e);return r?{start:n(r[1].trim()),end:n(r[2].trim()),text:r[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map((function(t){return t.trim()})).join("\n")}:null})).filter((function(t){return t})).map((function(t,e){return t?"".concat(e+1,"\n").concat(t.start," --\x3e ").concat(t.end,"\n").concat(t.text):""})).filter((function(t){return t.trim()})).join("\n\n"))}function C(t){return t.includes("?")?C(t.split("?")[0]):t.includes("#")?C(t.split("#")[0]):t.trim().toLowerCase().split(".").pop()}function L(t,e){var n=document.createElement("a");n.style.display="none",n.href=t,n.download=e,document.body.appendChild(n),n.click(),document.body.removeChild(n)}var A=function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e1?e-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((function(e){return setTimeout(e,t)}))}function N(t,e,n){var r;function i(){for(var i=arguments.length,o=new Array(i),a=0;a0?[e,n,r]:[n,r]).map((function(t){return t<10?"0".concat(t):String(t)})).join(":")}var Y=Object.freeze({__proto__:null,query:d,queryAll:h,addClass:y,removeClass:v,hasClass:m,append:g,remove:function(t){return t.parentNode.removeChild(t)},setStyle:b,setStyles:w,getStyle:O,sublings:x,inverseClass:j,tooltip:k,ArtPlayerError:S,errorHandle:$,srtToVtt:R,vttToBlob:D,assToVtt:T,getExt:C,downloadFile:L,def:V,has:F,proxyPropertys:H,mergeDeep:B,sleep:I,debounce:N,throttle:U,clamp:_,secondToTime:X});function Z(t,e,n){return $("string"===e||t instanceof Element,"".concat(n.join(".")," require 'string' or 'Element' type"))}var J={container:Z,url:"string|function",poster:"string",title:"string",theme:"string",lang:"string",volume:"number",isLive:"boolean",muted:"boolean",autoplay:"boolean",autoSize:"boolean",loop:"boolean",flip:"boolean",playbackRate:"boolean",aspectRatio:"boolean",screenshot:"boolean",setting:"boolean",hotkey:"boolean",pip:"boolean",mutex:"boolean",fullscreen:"boolean",fullscreenWeb:"boolean",subtitleOffset:"boolean",miniProgressBar:"boolean",localVideo:"boolean",localSubtitle:"boolean",autoPip:"boolean",networkMonitor:"boolean",plugins:["function"],whitelist:["string|function|regexp"],layers:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Z,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],contextmenu:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Z,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],quality:[{default:"boolean|undefined",name:"string",url:"string"}],controls:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Z,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined",position:function(t,e,n){var r=["top","left","right"];return $(r.includes(t),"".concat(n.join(".")," only accept ").concat(r.toString()," as parameters"))}}],highlight:[{time:"number",text:"string"}],thumbnails:{url:"string",number:"number",width:"number",height:"number",column:"number"},subtitle:{url:"string",style:"object"},moreVideoAttr:"object",icons:"object",customType:"object"},G={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"]}},Q=function t(n){var r=this;e(this,t);var i=n.constructor.kindOf,o=n.option.whitelist;this.userAgent=window.navigator.userAgent,this.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(this.userAgent),this.state=!this.isMobile||o.some((function(t){switch(i(t)){case"string":return r.userAgent.indexOf(t)>-1;case"function":return t(r.userAgent);case"regexp":return t.test(r.userAgent);default:return!1}}))},K=function(){function t(n){var r=this;e(this,t),this.art=n,n.option.container instanceof Element?this.$container=n.option.container:(this.$container=d(n.option.container),$(this.$container,"No container element found by ".concat(n.option.container))),$(n.constructor.instances.every((function(t){return t.template.$container!==r.$container})),"Cannot mount multiple instances on the same dom element"),$(this.$container.clientWidth&&this.$container.clientHeight,"The width and height of the container cannot be 0"),n.whitelist.state?this.initDesktop():this.initMobile()}return r(t,[{key:"query",value:function(t){return d(t,this.$container)}},{key:"initDesktop",value:function(){this.$container.innerHTML='\n
Player version:
3.1.20
Video url:
Video volume:
Video time:
Video duration:
Video resolution:
x
[x]
×
\n
'),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query(".art-video track"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$settingInner=this.query(".art-setting-inner"),this.$settingBody=this.query(".art-setting-body"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$pipHeader=this.query(".art-pip-header"),this.$pipTitle=this.query(".art-pip-title"),this.$pipClose=this.query(".art-pip-close"),this.$contextmenu=this.query(".art-contextmenus")}},{key:"initMobile",value:function(){this.$container.innerHTML='\n
\n
',this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video")}},{key:"destroy",value:function(t){t?this.$container.innerHTML="":y(this.$player,"art-destroy")}}]),t}(),tt={"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:"正常",Open:"打开","Switch video":"切换","Switch subtitle":"切换字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"网页全屏","Exit web fullscreen":"退出网页全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地视频","Subtitle offset time":"字幕偏移时间","No subtitles found":"未发现字幕"},et={"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:"正常",Open:"打開","Switch video":"切換","Switch subtitle":"切換字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"網頁全屏","Exit web fullscreen":"退出網頁全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地視頻","Subtitle offset time":"字幕偏移時間","No subtitles found":"未發現字幕"},nt=function(){function t(n){e(this,t),this.art=n,this.languages={"zh-cn":tt,"zh-tw":et},this.init()}return r(t,[{key:"init",value:function(){var t=this.art.option.lang.toLowerCase();this.language=this.languages[t]||{}}},{key:"get",value:function(t){return this.language[t]||t}},{key:"update",value:function(t){this.languages=B(this.languages,t),this.init()}}]),t}();var rt=i((function(t){!function(){var e="undefined"!=typeof window&&void 0!==window.document?window.document:{},n=t.exports,r=function(){for(var t,n=[["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"]],r=0,i=n.length,o={};rh){var y=h*l/u;b(r,"width","".concat(100*y,"%")),b(r,"height","100%"),b(r,"padding","0 ".concat((f-f*y)/2,"px"))}else{var v=u/h/l;b(r,"width","100%"),b(r,"height","".concat(100*v,"%")),b(r,"padding","".concat((p-p*v)/2,"px 0"))}}i.dataset.aspectRatio=n,a.show("".concat(o.get("Aspect ratio"),": ").concat("default"===n?o.get("Default"):n)),t.emit("aspectRatioChange",n)}else e.aspectRatio&&(b(r,"width",null),b(r,"height",null),b(r,"padding",null),delete i.dataset.aspectRatio,t.emit("aspectRatioRemove"))}}),V(e,"aspectRatioReset",{set:function(n){if(n&&e.aspectRatio){var r=e.aspectRatio;e.aspectRatio=r,t.emit("aspectRatioReset")}}})}(n,this),function(t,e){var n=t.option,r=t.notice,i=t.template.$video;V(e,"getScreenshotDataURL",{value:function(){try{var t=document.createElement("canvas");return t.width=i.videoWidth,t.height=i.videoHeight,t.getContext("2d").drawImage(i,0,0),t.toDataURL("image/png")}catch(t){throw r.show(t),t}}}),V(e,"getScreenshotBlobUrl",{value:function(){return new Promise((function(t,e){try{var n=document.createElement("canvas");n.width=i.videoWidth,n.height=i.videoHeight,n.getContext("2d").drawImage(i,0,0),n.toBlob((function(e){t(URL.createObjectURL(e))}))}catch(t){r.show(t),e(t)}}))}}),V(e,"screenshot",{value:function(){var r=e.getScreenshotDataURL();r&&(L(r,"".concat(n.title||"artplayer","_").concat(X(i.currentTime),".png")),t.emit("screenshot",r))}})}(n,this),function(t,e){var n=t.i18n,r=t.notice,i=t.events.destroyEvents,o=t.template.$player,a=function(){t.emit("fullscreenChange",rt.isFullscreen)},c=function(){r.show(n.get("Does not support fullscreen"))};e.fullscreenIsEnabled&&(rt.on("change",a),rt.on("error",c),i.push((function(){rt.off("change",a),rt.off("error",c)}))),V(e,"fullscreen",{get:function(){return rt.isFullscreen},set:function(n){e.fullscreenIsEnabled?n?(e.fullscreenWeb&&(e.fullscreenWeb=!1),rt.request(o).then((function(){y(o,"art-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenEnabled")}))):(e.fullscreenWeb&&(e.fullscreenWeb=!1),rt.exit().then((function(){v(o,"art-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenExit")}))):c()}}),V(e,"fullscreenToggle",{set:function(t){t&&(e.fullscreen=!e.fullscreen)}}),V(e,"fullscreenIsEnabled",{get:function(){return rt.isEnabled}})}(n,this),function(t,e){var n=t.template.$player;V(e,"fullscreenWeb",{get:function(){return m(n,"art-web-fullscreen")},set:function(r){r?(e.fullscreen&&(e.fullscreen=!1),y(n,"art-web-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenWebEnabled")):(e.fullscreen&&(e.fullscreen=!1),v(n,"art-web-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenWebExit"))}}),V(e,"fullscreenWebToggle",{set:function(t){t&&(e.fullscreenWeb=!e.fullscreenWeb)}})}(n,this),it(n,this),function(t,e){var n=t.template.$video;V(e,"loaded",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1)/n.duration:0}}),V(e,"loadedTime",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1):0}})}(n,this),function(t,e){V(e,"played",{get:function(){return t.template.$video.currentTime/t.template.$video.duration}})}(n,this),function(t,e){var n=t.template.$video;V(e,"playing",{get:function(){return!!(n.currentTime>0&&!n.paused&&!n.ended&&n.readyState>2)}})}(n,this),function(t,e){var n=t.template,r=n.$container,i=n.$player,o=n.$video;V(e,"autoSize",{get:function(){return m(r,"art-auto-size")},set:function(n){if(n){var a=o.videoWidth,c=o.videoHeight,s=r.getBoundingClientRect(),u=s.width,l=s.height,f=a/c,p=u/l;if(y(r,"art-auto-size"),p>f){b(i,"width","".concat(l*f/u*100,"%")),b(i,"height","100%")}else{var d=u/f/l*100;b(i,"width","100%"),b(i,"height","".concat(d,"%"))}t.emit("autoSizeChange",{width:e.width,height:e.height})}else v(r,"art-auto-size"),b(i,"width",null),b(i,"height",null),t.emit("autoSizeRemove")}})}(n,this),function(t,e){V(e,"rect",{get:function(){return t.template.$player.getBoundingClientRect()}}),["bottom","height","left","right","top","width"].forEach((function(t){V(e,t,{get:function(){return e.rect[t]}})})),V(e,"x",{get:function(){return e.left+window.pageXOffset}}),V(e,"y",{get:function(){return e.top+window.pageYOffset}})}(n,this),function(t,e){V(e,"flip",{get:function(){return t.template.$player.dataset.flip},set:function(e){if(e){var n=["normal","horizontal","vertical"];$(n.includes(e),"'flip' only accept ".concat(n.toString()," as parameters")),t.template.$player.dataset.flip=e,t.emit("flipChange",e)}else delete t.template.$player.dataset.flip,t.emit("flipRemove")}})}(n,this),H(n,this)};var at=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=s(t)););return t},ct=i((function(t){function e(n,r,i){return"undefined"!=typeof Reflect&&Reflect.get?t.exports=e=Reflect.get:t.exports=e=function(t,e,n){var r=at(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(n):i.value}},e(n,r,i||n)}t.exports=e})),st=function(){function t(n){e(this,t),this.id=0,this.art=n,this.add=this.add.bind(this),this.name=this.constructor.name.toLowerCase()}return r(t,[{key:"toggle",value:function(){this.show=!this.show}},{key:"add",value:function(t,e){var n=this,r="function"==typeof t?t(this.art):t;if(!this.$parent||r.disable)return{};this.id+=1;var i=r.name||"".concat(this.name).concat(this.id);$(!F(this,i),"Cannot add a component that already has the same name: ".concat(i));var o=document.createElement("div");o.classList.value="art-".concat(this.name," art-").concat(this.name,"-").concat(i),r.html&&g(o,r.html),r.style&&w(o,r.style),r.tooltip&&k(o,r.tooltip);var a=Array.from(this.$parent.children);o.dataset.index=r.index||this.id;var c=a.find((function(t){return Number(t.dataset.index)>=Number(o.dataset.index)}));return c?c.insertAdjacentElement("beforebegin",o):g(this.$parent,o),r.click&&this.art.events.proxy(o,"click",(function(t){t.preventDefault(),r.click.call(n.art,n,t)})),r.mounted&&r.mounted(o,this,this.art),e&&e(o,this,this.art),V(this,i,{value:{get $ref(){return o},set show(t){b(o,"display",t?"block":"none")}}}),this.art.emit("".concat(this.name,":add"),r),this[i]}},{key:"show",get:function(){return m(this.art.template.$player,"art-".concat(this.name,"-show"))},set:function(t){$(!1===t||!0===t,"The show attribute expects a boolean value");var e=this.art.template.$player,n="art-".concat(this.name,"-show");t?y(e,n):v(e,n),this.art.emit("".concat(this.name,":toggle"),t)}}]),t}();function ut(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function lt(e){return function(n){return function(e){for(var n=1;n
\n'),mounted:function(t){var e=!1,r=d(".art-progress-loaded",t),o=d(".art-progress-played",t),s=d(".art-progress-highlight",t),u=d(".art-progress-indicator",t),l=d(".art-progress-tip",t);function f(t,e){"loaded"===t&&b(r,"width","".concat(100*e,"%")),"played"===t&&(b(o,"width","".concat(100*e,"%")),b(u,"left","calc(".concat(100*e,"% - ").concat(O(u,"width")/2,"px)")))}i.forEach((function(t){var e=_(t.time,0,c.duration)/c.duration*100;g(s,''))})),f("loaded",c.loaded),n.on("video:progress",(function(){f("loaded",c.loaded)})),n.on("video:timeupdate",(function(){f("played",c.played)})),n.on("video:ended",(function(){f("played",1)})),a(t,"mousemove",(function(e){b(l,"display","block"),e.composedPath().indexOf(s)>-1?function(e){var r=gt(n,e).width,i=e.target.dataset.text;l.innerHTML=i;var o=l.clientWidth;r<=o/2?b(l,"left",0):r>t.clientWidth-o/2?b(l,"left","".concat(t.clientWidth-o,"px")):b(l,"left","".concat(r-o/2,"px"))}(e):function(e){var r=gt(n,e),i=r.width,o=r.time;l.innerHTML=o;var a=l.clientWidth;i<=a/2?b(l,"left",0):i>t.clientWidth-a/2?b(l,"left","".concat(t.clientWidth-a,"px")):b(l,"left","".concat(i-a/2,"px"))}(e)})),a(t,"mouseout",(function(){b(l,"display","none")})),a(t,"click",(function(t){if(t.target!==u){var e=gt(n,t),r=e.second;f("played",e.percentage),c.seek=r}})),a(u,"mousedown",(function(){e=!0})),a(document,"mousemove",(function(t){if(e){var r=gt(n,t),i=r.second,o=r.percentage;y(u,"art-show-indicator"),f("played",o),c.seek=i}})),a(document,"mouseup",(function(){e&&(e=!1,v(u,"art-show-indicator"))}))}})}}function wt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ot(e){return function(n){return function(e){for(var n=1;n'),l=g(u,'
');function f(t){var e=u.getBoundingClientRect(),n=e.left,r=e.width,i=l.getBoundingClientRect().width;return _(t.pageX-n-i/2,0,r-i/2)/(r-i)}function p(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.7;if(i.muted||0===t)b(c,"display","none"),b(s,"display","flex"),b(l,"left","0");else{var e=((O(u,"width")||60)-O(l,"width"))*t;b(c,"display","flex"),b(s,"display","none"),b(l,"left","".concat(e,"px"))}}k(c,o.get("Mute")),b(s,"display","none"),p(i.volume),n.on("video:volumechange",(function(){p(i.volume)})),e(c,"click",(function(){i.muted=!0})),e(s,"click",(function(){i.muted=!1})),e(u,"click",(function(t){i.muted=!1,i.volume=f(t)})),e(l,"mousedown",(function(){a=!0})),e(document,"mousemove",(function(t){a&&(i.muted=!1,i.volume=f(t))})),e(document,"mouseup",(function(){a&&(a=!1)}))}})}}function Et(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function St(e){return function(n){return function(e){for(var n=1;nr.clientWidth-s/2?b(t,"left","".concat(r.clientWidth-s,"px")):b(t,"left","".concat(o-s/2,"px"))}(i))})),o(r,"mouseout",(function(){b(t,"display","none")}))}})}}function Dt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Tt(e){return function(n){return function(e){for(var n=1;n'.concat(s.name,"")),l=e.map((function(t,e){return'
').concat(t.name,"
")})).join(""),f=g(t,'
'.concat(l,"
"));o(t,(function(){f.style.left="-".concat(O(f,"width")/2-t.clientWidth/2,"px")})),i(f,"click",(function(t){var n=Number(t.target.dataset.index),r=e[n],i=r.url,o=r.name;i&&o&&c!==n&&(a.switchQuality(i,o),u.innerHTML=o,c=n)}))}})}}var At=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.option;return t.on("ready",(function(){r.add(bt({name:"progress",disable:i.isLive,position:"top",index:10})),r.add(Rt({name:"thumbnails",disable:!i.thumbnails.url||i.isLive,position:"top",index:20})),r.add(vt({name:"playAndPause",disable:!1,position:"left",index:10})),r.add(Pt({name:"volume",disable:!1,position:"left",index:20})),r.add(jt({name:"time",disable:i.isLive,position:"left",index:30})),r.add(Lt({name:"quality",disable:0===i.quality.length,position:"right",index:10})),r.add(Tt({name:"screenshot",disable:!i.screenshot,position:"right",index:20})),r.add(Ot({name:"subtitle",disable:!i.subtitle.url,position:"right",index:30})),r.add(St({name:"setting",disable:!i.setting,position:"right",index:40})),r.add(ht({name:"pip",disable:!i.pip,position:"right",index:50})),r.add(pt({name:"fullscreenWeb",disable:!i.fullscreenWeb,position:"right",index:60})),r.add(lt({name:"fullscreen",disable:!i.fullscreen,position:"right",index:70})),i.controls.forEach((function(t){r.add(t)}))})),r}return l(n,t),r(n,[{key:"add",value:function(t,e){var r="function"==typeof t?t(this.art):t;$(r.position,"Controls option.position can not be empty");var i=this.art.template,o=i.$progress,a=i.$controlsLeft,c=i.$controlsRight;switch(r.position){case"top":this.$parent=o;break;case"left":this.$parent=a;break;case"right":this.$parent=c}var u=ct(s(n.prototype),"add",this).call(this,r,e);return r.disable||"top"===r.position||u.$ref.firstElementChild&&"I"===u.$ref.firstElementChild.tagName||y(u.$ref,"art-control-onlyText"),u}}]),n}(st);function Mt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function zt(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n0.5\n0.75\n').concat(r.get("Normal"),'\n1.25\n1.5\n2.0'),click:function(t,e){var n=e.target.dataset.rate;n&&(i.playbackRate=Number(n),t.show=!1)},mounted:function(t){n.on("playbackRateChange",(function(e){var n=h("span",t).find((function(t){return Number(t.dataset.rate)===e}));n&&j(n,"art-current")}))}})}}function qt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Vt(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n').concat(r.get("Default"),'\n4:3\n16:9'),click:function(t,e){var n=e.target.dataset.ratio;n&&(i.aspectRatio=n,t.show=!1)},mounted:function(t){n.on("aspectRatioChange",(function(e){var n=h("span",t).find((function(t){return t.dataset.ratio===e}));n&&j(n,"art-current")}))}})}}function Wt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ft(e){return function(n){return function(e){for(var n=1;nArtPlayer 3.1.20'})}function It(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Nt(e){return function(n){return function(e){for(var n=1;ns+c&&(h=c-d),n+p>l+o&&(y=o-p),b(u,"left","".concat(h,"px")),b(u,"top","".concat(y,"px"))})),l(a,"click",(function(t){t.composedPath().includes(u)||(r.show=!1)})),t.on("blur",(function(){r.show=!1}))})),r}return l(n,t),n}(st),_t=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.template,o=i.$infoPanel,a=i.$infoClose,u=i.$video;(0,t.events.proxy)(a,"click",(function(){r.show=!1}));var l=null,f=h("[data-video]",o);return t.on("destroy",(function(){clearTimeout(l)})),t.on("info:toggle",(function(t){clearTimeout(l),t&&function t(){f.forEach((function(t){var e=u[t.dataset.video];t.innerHTML="number"==typeof e?e.toFixed(2):e})),l=setTimeout((function(){t()}),1e3)}()})),r}return l(n,t),n}(st),Xt=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.events.proxy,o=t.option.subtitle;return w(t.template.$subtitle,o.style),i(r.textTrack,"cuechange",r.update.bind(a(r))),o.url&&r.init(o.url),r}return l(n,t),r(n,[{key:"update",value:function(){var t=this.art.template.$subtitle;t.innerHTML="",this.activeCue&&(t.innerHTML=this.activeCue.text.split(/\r?\n/).map((function(t){return"

".concat(t,"

")})).join(""),this.art.emit("subtitle:update",this.activeCue.text))}},{key:"switch",value:function(t,e){var n=this,r=this.art,i=r.i18n,o=r.notice;return this.init(t).then((function(t){return e&&o.show("".concat(i.get("Switch subtitle"),": ").concat(e)),n.art.emit("subtitle:switch",t),t}))}},{key:"init",value:function(t){var e=this,n=this.art,r=n.notice,i=n.template,o=i.$subtitle,a=i.$track;return fetch(t).then((function(t){return t.text()})).then((function(n){switch(e.art.emit("subtitle:load",t),C(t)){case"srt":return D(R(n));case"ass":return D(T(n));case"vtt":return D(n);default:return t}})).then((function(t){return o.innerHTML="",e.url===t?t:(URL.revokeObjectURL(e.url),a.src=t,t)})).catch((function(t){throw r.show(t),e.art.emit("subtitle:err",t),t}))}},{key:"url",get:function(){return this.art.template.$track.src}},{key:"textTrack",get:function(){return this.art.template.$video.textTracks[0]}},{key:"activeCue",get:function(){return this.textTrack.activeCues[0]}}]),n}(st);var Yt=function(){function t(n){var r=this;e(this,t),this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),n.whitelist.state&&n.once("video:canplay",(function(){!function(t,e){var n=t.template.$player;e.proxy(document,["click","contextmenu"],(function(e){e.composedPath().indexOf(n)>-1?(t.isFocus=!0,t.emit("focus")):(t.isFocus=!1,t.emit("blur"))}))}(n,r),function(t,e){var n=t.template.$player;e.hover(n,(function(){y(n,"art-hover"),t.emit("hoverenter")}),(function(){v(n,"art-hover"),t.emit("hoverleave")}))}(n,r),function(t,e){var n=t.template,r=n.$player,i=n.$video,o=t.player,a=N((function(){y(r,"art-hide-cursor"),v(r,"art-hover"),t.controls.show=!1}),3e3);t.on("hoverleave",(function(){o.playing&&a()})),e.proxy(r,"mousemove",(function(e){a.clearTimeout(),v(r,"art-hide-cursor"),t.controls.show=!0,!t.player.pip&&o.playing&&e.target===i&&a(),t.emit("mousemove")}))}(n,r),function(t,e){var n=t.option,r=t.player,i=t.template.$player,o=document.createElement("object");o.setAttribute("aria-hidden","true"),o.setAttribute("tabindex",-1),o.type="text/html",o.data="about:blank";var a=r.width,c=r.height,s=U((function(){r.width===a&&r.height===c||(a=r.width,c=r.height,n.autoSize&&(t.player.fullscreen||t.player.fullscreenWeb||t.player.pip?t.player.autoSize=!1:t.player.autoSize=!0),t.player.aspectRatioReset=!0,t.emit("resize",{width:r.width,height:r.height}))}),500);e.proxy(o,"load",(function(){e.proxy(o.contentDocument.defaultView,"resize",s)})),i.appendChild(o)}(n,r)}))}return r(t,[{key:"proxy",value:function(t,e,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};Array.isArray(e)?e.forEach((function(e){return r.proxy(t,e,n,i)})):(t.addEventListener(e,n,i),this.destroyEvents.push((function(){t.removeEventListener(e,n,i)})))}},{key:"hover",value:function(t,e,n){e&&this.proxy(t,"mouseenter",e),n&&this.proxy(t,"mouseleave",n)}},{key:"loadImg",value:function(t){var e=this;return new Promise((function(n,r){var i;if(t instanceof HTMLImageElement)i=t;else{if("string"!=typeof t)return r(t);(i=new Image).src=t}return i.complete?n(i):(e.proxy(i,"load",(function(){return n(i)})),e.proxy(i,"error",(function(){return r(i)})),t)}))}},{key:"destroy",value:function(){this.destroyEvents.forEach((function(t){return t()}))}}]),t}(),Zt=function(){function t(n){var r=this;e(this,t),this.keys={};var i=n.option,o=n.player,a=n.events.proxy;i.hotkey&&n.on("ready",(function(){r.add(27,(function(){o.fullscreenWeb&&(o.fullscreenWeb=!1)})),r.add(32,(function(){o.toggle=!0})),r.add(37,(function(){o.seek=o.currentTime-5})),r.add(38,(function(){o.volume+=.1})),r.add(39,(function(){o.seek=o.currentTime+5})),r.add(40,(function(){o.volume-=.1})),a(window,"keydown",(function(t){if(n.isFocus){var e=document.activeElement.tagName.toUpperCase(),i=document.activeElement.getAttribute("contenteditable");if("INPUT"!==e&&"TEXTAREA"!==e&&""!==i&&"true"!==i){var o=r.keys[t.keyCode];o&&(t.preventDefault(),o.forEach((function(t){return t()})),n.emit("hotkey",t))}}}))}))}return r(t,[{key:"add",value:function(t,e){this.keys[t]?this.keys[t].push(e):this.keys[t]=[e]}}]),t}(),Jt=function(t){function n(t){var r;return e(this,n),(r=c(this,s(n).call(this,t))).$parent=t.template.$layer,t.on("ready",(function(){t.option.layers.forEach((function(t){r.add(t)}))})),r}return l(n,t),n}(st),Gt=function(t){function n(t){var r;return e(this,n),r=c(this,s(n).call(this,t)),g(t.template.$loading,t.icons.loading),r}return l(n,t),n}(st),Qt=function(){function t(n){e(this,t),this.art=n,this.timer=null}return r(t,[{key:"show",value:function(t){var e=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3,i=this.art.template,o=i.$player,a=i.$noticeInner;a.innerHTML=t instanceof Error?t.message.trim():t,clearTimeout(this.timer),n&&(this.timer=setTimeout((function(){e.hide()}),r)),y(o,"art-notice-show"),this.art.emit("notice:toggle",!0)}},{key:"hide",value:function(){var t=this.art.template,e=t.$player;t.$noticeInner.innerHTML="",v(e,"art-notice-show"),this.art.emit("notice:toggle",!0)}}]),t}(),Kt=function(t){function n(t){var r;return e(this,n),r=c(this,s(n).call(this,t)),g(t.template.$state,t.icons.state),r}return l(n,t),n}(st),te=function t(n){var r=this;e(this,t);var i=Object.assign({loading:'\n',state:'\n',play:'\n',pause:'\n',volume:'\n',volumeClose:'\n',subtitle:'\n',screenshot:'\n\t\n\n',setting:'\n',fullscreen:'\n\t\n\t\n\t\n\t\n',fullscreenWeb:'\n\t\n',pip:'\n',prev:'\n',next:'\n'},n.option.icons);Object.keys(i).forEach((function(t){var e=document.createElement("i");e.classList.add("art-icon"),e.classList.add("art-icon-".concat(t)),g(e,i[t]),r[t]=e}))};function ee(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ne(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n'.concat(r.get("Flip"),'\n
\n
"),click:function(t,e){var n=e.target.dataset.value;n&&(i.flip=n)},mounted:function(t){n.on("flipChange",(function(e){var n=h("button",t).find((function(t){return t.dataset.value===e}));n&&j(n.parentElement,"current")}))}})}}function re(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ie(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n'.concat(r.get("Aspect ratio"),'\n
\n
'),click:function(t,e){var n=e.target.dataset.value;n&&(i.aspectRatio=n)},mounted:function(t){n.on("aspectRatioChange",(function(e){var n=h("button",t).find((function(t){return t.dataset.value===e}));n&&j(n.parentElement,"current")}))}})}}function oe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ae(e){return function(n){var r=n.i18n,i=n.player,o=n.events.proxy;return function(e){for(var n=1;n'.concat(r.get("Play speed"),': 1.0x\n\n
\n
'),mounted:function(t){var e=d(".art-setting-range input",t),r=d(".art-subtitle-value",t);o(e,"change",(function(){var t=e.value;r.innerText=t,i.playbackRate=Number(t)})),n.on("playbackRateChange",(function(t){e.value!==t&&(e.value=t,r.innerText=t)}))}})}}var ce=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.option,o=t.template,a=o.$setting,u=o.$settingBody,l=t.events.proxy;return r.$parent=u,i.setting&&(t.on("ready",(function(){l(a,"click",(function(t){t.target===a&&(r.show=!1)})),r.add(ne({disable:!i.flip,name:"flip"})),r.add(ie({disable:!i.aspectRatio,name:"aspectRatio"})),r.add(ae({disable:!i.playbackRate,name:"playbackRate"}))})),t.on("blur",(function(){r.show=!1}))),r}return l(n,t),n}(st),se=function(){function n(t){e(this,n),this.art=t,this.name="artplayer_settings";var r=t.option,i=this.get("volume");i&&(r.volume=i)}return r(n,[{key:"get",value:function(t){var e=JSON.parse(window.localStorage.getItem(this.name))||{};return t?e[t]:{}}},{key:"set",value:function(e,n){var r=Object.assign({},this.get(),t({},e,n));window.localStorage.setItem(this.name,JSON.stringify(r))}},{key:"del",value:function(t){var e=this.get();delete e[t],window.localStorage.setItem(this.name,JSON.stringify(e))}},{key:"clean",value:function(){window.localStorage.removeItem(this.name)}}]),n}();function ue(t){var e=t.i18n,n=t.subtitle,r=t.events.proxy;return{title:"Subtitle",name:"subtitleOffset",index:20,html:'\n
'.concat(e.get("Subtitle offset time"),': 0s\n
\n
\n
'),mounted:function(e){var i=d(".art-setting-range input",e),o=d(".art-subtitle-value",e);r(i,"change",(function(){var e=i.value;o.innerText=e,t.plugins.subtitleOffset.offset(Number(e))})),t.on("subtitle:switch",(function(){i.value=0,o.innerText=0})),t.on("subtitleOffset",(function(t){n.update(),i.value!==t&&(i.value=t,o.innerText=t)}))}}}function le(t){var e=t.constructor.utils.clamp,n=t.setting,r=t.notice,i=t.template,o=t.i18n,a=t.player;n.add(ue);var c=[];return t.on("subtitle:switch",(function(){c=[]})),{name:"subtitleOffset",offset:function(n){if(i.$track&&i.$track.track){var s=Array.from(i.$track.track.cues),u=e(n,-5,5);s.forEach((function(t,n){c[n]||(c[n]={startTime:t.startTime,endTime:t.endTime}),t.startTime=e(c[n].startTime+u,0,a.duration),t.endTime=e(c[n].endTime+u,0,a.duration)})),r.show("".concat(o.get("Subtitle offset time"),": ").concat(n,"s")),t.emit("subtitleOffset",n)}else r.show("".concat(o.get("No subtitles found"))),t.emit("subtitleOffset",0)}}}function fe(t){var e=t.events.proxy,n=t.template,r=t.player,i=t.option,o=t.setting,a=t.i18n;function c(e){if(e){var o=n.$video.canPlayType(e.type);if("maybe"===o||"probably"===o){var a=URL.createObjectURL(e);i.title=e.name,r.switchUrl(a,e.name),t.emit("localVideo",e)}else $(!1,"Playback of this file format is not supported")}}function s(t){var n=g(t,'');b(t,"position","relative"),w(n,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),e(n,"change",(function(){c(n.files[0])}))}return e(n.$player,"dragover",(function(t){t.preventDefault()})),e(n.$player,"drop",(function(t){t.preventDefault(),c(t.dataTransfer.files[0])})),t.on("ready",(function(){o.add({title:"Local Video",name:"localVideo",index:30,html:'\n
'.concat(a.get("Local Video"),'\n
\n
').concat(a.get("Open"),'
\n
'),mounted:function(e){var n=d(".art-upload-btn",e),r=d(".art-upload-value",e);t.on("localVideo",(function(t){r.textContent=t.name,r.title=t.name})),s(n)}})})),{name:"localVideo",attach:s}}function pe(t){var e=t.events.proxy,n=t.subtitle,r=t.setting,i=t.i18n;function o(r){var i=g(r,'');b(r,"position","relative"),w(i,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),e(i,"change",(function(){!function(r){if(r){var i=C(r.name);if(["ass","vtt","srt"].includes(i)){var o=new FileReader;e(o,"load",(function(e){var o=e.target.result;switch(i){case"srt":var a=D(R(o));n.switch(a,r.name);break;case"ass":var c=D(T(o));n.switch(c,r.name);break;case"vtt":var s=D(o);n.switch(s,r.name)}t.emit("localSubtitle",r)})),o.readAsText(r)}else $(!1,"Only supports subtitle files in .ass, .vtt and .srt format")}}(i.files[0])}))}return t.on("ready",(function(){r.add({title:"Local Subtitle",name:"localSubtitle",index:40,html:'\n
'.concat(i.get("Local Subtitle"),'\n
\n
').concat(i.get("Open"),'
\n
'),mounted:function(e){var n=d(".art-upload-btn",e),r=d(".art-upload-value",e);t.on("localSubtitle",(function(t){r.textContent=t.name,r.title=t.name})),o(n)}})})),{name:"localSubtitle",attach:o}}function de(t){var e=t.layers,n=t.player,r=t.option.theme;return e.add({name:"miniProgressBar",style:{display:"none",position:"absolute",left:0,right:0,bottom:0,height:"2px",background:r},mounted:function(e){t.on("control:toggle",(function(t){e.style.display=t?"none":"block"})),t.on("destroy",(function(){e.style.display="none"})),t.on("video:timeupdate",(function(){e.style.width="".concat(100*n.played,"%")}))}}),{name:"miniProgressBar"}}function he(t){var e=1e4,n=0,r=0,i=0,o=null;function a(){n=0,r=0,i=0,cancelAnimationFrame(o),o=null}function c(){o||function a(){t.isDestroy||(o=requestAnimationFrame((function(){var o=Date.now();if(i){var c=o-i;r+=c,t.player.playing||(n+=c)}i=o,t.emit("networkMonitor",n/r),r>=e&&(n=0,r=0),a()})))}()}return t.on("play",c),t.on("pause",a),{name:"networkMonitor",reset:a,start:c,sample:function(t){e=t}}}function ye(t){var e=t.events,n=t.player,r=t.template,i=N((function(){var e=r.$player.getBoundingClientRect();e.top+e.height<=0&&!n.pip?(n.pip=!0,t.emit("autoPip",!0)):n.pip&&(n.pip=!1,t.emit("autoPip",!1))}),300);return e.proxy(window,"scroll",i),{name:"autoPip"}}var ve=function(){function t(n){var r=this;e(this,t),this.art=n,this.id=0;var i=n.option;i.subtitle.url&&i.subtitleOffset&&this.add(le),!i.isLive&&i.miniProgressBar&&this.add(de),i.localVideo&&this.add(fe),i.localSubtitle&&this.add(pe),i.networkMonitor&&this.add(he),i.autoPip&&this.add(ye),n.option.plugins.forEach((function(t){r.add(t)}))}return r(t,[{key:"add",value:function(t){this.id+=1;var e=t.call(this,this.art),n="";return $(!F(this,n=e&&e.name?e.name:t.name?t.name:"plugin".concat(this.id)),"Cannot add a plugin that already has the same name: ".concat(n)),Object.defineProperty(this,n,{value:e}),this.art.emit("plugin:add",t),this}}]),t}(),me=function t(n){e(this,t);var r=n.option,i=n.events.proxy,o=n.template.$video;G.video.events.forEach((function(t){i(o,t,(function(t){n.emit("video:".concat(t.type),t)}))})),Object.keys(r.moreVideoAttr).forEach((function(t){o[t]=r.moreVideoAttr[t]})),r.muted&&(o.muted=r.muted),r.volume&&(o.volume=_(r.volume,0,1)),r.poster&&(o.poster=r.poster),r.autoplay&&(o.autoplay=r.autoplay),o.controls=!0;var a=r.type||C(r.url),c=r.customType[a];a&&c?(n.emit("beforeCustomType",a),c(o,r.url,n),n.emit("afterCustomType",a)):(n.emit("beforeAttachUrl",r.url),o.src=r.url,n.emit("afterAttachUrl",o.src))},ge=0,be=function(t){function n(t){var r;return e(this,n),(r=c(this,s(n).call(this))).option=f(B(n.option,t),J),r.isFocus=!1,r.isDestroy=!1,r.whitelist=new Q(a(r)),r.template=new K(a(r)),r.events=new Yt(a(r)),r.whitelist.state?(r.storage=new se(a(r)),r.icons=new te(a(r)),r.i18n=new nt(a(r)),r.notice=new Qt(a(r)),r.player=new ot(a(r)),r.layers=new Jt(a(r)),r.controls=new At(a(r)),r.contextmenu=new Ut(a(r)),r.subtitle=new Xt(a(r)),r.info=new _t(a(r)),r.loading=new Gt(a(r)),r.hotkey=new Zt(a(r)),r.mask=new Kt(a(r)),r.setting=new ce(a(r)),r.plugins=new ve(a(r))):r.mobile=new me(a(r)),ge+=1,r.id=ge,n.instances.push(a(r)),r}return l(n,t),r(n,[{key:"destroy",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.events.destroy(),this.template.destroy(t),n.instances.splice(n.instances.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}],[{key:"version",get:function(){return"3.1.20"}},{key:"env",get:function(){return'"production"'}},{key:"config",get:function(){return G}},{key:"utils",get:function(){return Y}},{key:"scheme",get:function(){return J}},{key:"Emitter",get:function(){return p}},{key:"validator",get:function(){return f}},{key:"kindOf",get:function(){return f.kindOf}},{key:"option",get:function(){return{container:"#artplayer",url:"",poster:"",title:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,localVideo:!1,localSubtitle:!1,autoPip:!1,networkMonitor:!1,layers:[],contextmenu:[],quality:[],controls:[],highlight:[],plugins:[],whitelist:[],thumbnails:{url:"",number:60,width:160,height:90,column:10},subtitle:{url:"",style:{}},moreVideoAttr:{controls:!1,preload:"metadata"},icons:{},customType:{},lang:navigator.language.toLowerCase()}}}]),n}(p);function we(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}return Object.defineProperty(be,"instances",{value:[]}),console.log("%c ArtPlayer %c 3.1.20 %c https://artplayer.org","color: #fff; background: #5f5f5f","color: #fff; background: #4bc729",""),{data:function(){return{instance:null}},props:{option:{type:Object,required:!0},getInstance:Function},mounted:function(){this.instance=new be(function(e){for(var n=1;n1?n-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:document).querySelector(t)}function h(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return Array.from(e.querySelectorAll(t))}function y(t,e){return t.classList.add(e)}function v(t,e){return t.classList.remove(e)}function m(t,e){return t.classList.contains(e)}function g(t,e){return e instanceof Element?t.appendChild(e):t.insertAdjacentHTML("beforeend",String(e)),t.lastElementChild||t.lastChild}function b(t,e,n){return t.style[e]=n,t}function w(t,e){return Object.keys(e).forEach((function(n){b(t,n,e[n])})),t}function O(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=window.getComputedStyle(t,null).getPropertyValue(e);return n?parseFloat(r):r}function x(t){return Array.from(t.parentElement.children).filter((function(e){return e!==t}))}function j(t,e){x(t).forEach((function(t){return v(t,e)})),y(t,e)}function k(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"up";t.setAttribute("aria-label",e),t.setAttribute("data-balloon-pos",n)}var P=function(t){return-1!==Function.toString.call(t).indexOf("[native code]")},E=i((function(t){function e(n,r,i){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}}()?t.exports=e=function(t,e,n){var r=[null];r.push.apply(r,e);var i=new(Function.bind.apply(t,r));return n&&u(i,n.prototype),i}:t.exports=e=Reflect.construct,e.apply(null,arguments)}t.exports=e})),S=function(t){function n(t,r){var i;return e(this,n),i=c(this,s(n).call(this,t)),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(i),r||i.constructor),i.name="ArtPlayerError",i}return l(n,t),n}(i((function(t){function e(n){var r="function"==typeof Map?new Map:void 0;return t.exports=e=function(t){if(null===t||!P(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(t))return r.get(t);r.set(t,e)}function e(){return E(t,arguments,s(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),u(e,t)},e(n)}t.exports=e}))(Error));function $(t,e){if(!t)throw new S(e);return t}function R(t){return"WEBVTT \r\n\r\n".concat(t.replace(/{[\s\S]*?}/g,"").replace(/\{\\([ibu])\}/g,"").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").concat("\r\n\r\n"))}function D(t){return URL.createObjectURL(new Blob([t],{type:"text/vtt"}))}function T(t){var e=new RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function n(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split(/[:.]/).map((function(t,e,n){if(e===n.length-1){if(1===t.length)return".".concat(t,"00");if(2===t.length)return".".concat(t,"0")}else if(1===t.length)return(0===e?"0":":0")+t;return 0===e?t:e===n.length-1?".".concat(t):":".concat(t)})).join("")}return"WEBVTT\n\n".concat(t.split(/\r?\n/).map((function(t){var r=t.match(e);return r?{start:n(r[1].trim()),end:n(r[2].trim()),text:r[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map((function(t){return t.trim()})).join("\n")}:null})).filter((function(t){return t})).map((function(t,e){return t?"".concat(e+1,"\n").concat(t.start," --\x3e ").concat(t.end,"\n").concat(t.text):""})).filter((function(t){return t.trim()})).join("\n\n"))}function C(t){return t.includes("?")?C(t.split("?")[0]):t.includes("#")?C(t.split("#")[0]):t.trim().toLowerCase().split(".").pop()}function L(t,e){var n=document.createElement("a");n.style.display="none",n.href=t,n.download=e,document.body.appendChild(n),n.click(),document.body.removeChild(n)}var A=function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e1?e-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((function(e){return setTimeout(e,t)}))}function N(t,e,n){var r;function i(){for(var i=arguments.length,o=new Array(i),a=0;a0?[e,n,r]:[n,r]).map((function(t){return t<10?"0".concat(t):String(t)})).join(":")}var Y=Object.freeze({__proto__:null,query:d,queryAll:h,addClass:y,removeClass:v,hasClass:m,append:g,remove:function(t){return t.parentNode.removeChild(t)},setStyle:b,setStyles:w,getStyle:O,sublings:x,inverseClass:j,tooltip:k,ArtPlayerError:S,errorHandle:$,srtToVtt:R,vttToBlob:D,assToVtt:T,getExt:C,downloadFile:L,def:V,has:F,proxyPropertys:H,mergeDeep:B,sleep:I,debounce:N,throttle:U,clamp:_,secondToTime:X});function Z(t,e,n){return $("string"===e||t instanceof Element,"".concat(n.join(".")," require 'string' or 'Element' type"))}var J={container:Z,url:"string|function",poster:"string",title:"string",theme:"string",lang:"string",volume:"number",isLive:"boolean",muted:"boolean",autoplay:"boolean",autoSize:"boolean",loop:"boolean",flip:"boolean",playbackRate:"boolean",aspectRatio:"boolean",screenshot:"boolean",setting:"boolean",hotkey:"boolean",pip:"boolean",mutex:"boolean",fullscreen:"boolean",fullscreenWeb:"boolean",subtitleOffset:"boolean",miniProgressBar:"boolean",localVideo:"boolean",localSubtitle:"boolean",autoPip:"boolean",networkMonitor:"boolean",plugins:["function"],whitelist:["string|function|regexp"],layers:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Z,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],contextmenu:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Z,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined"}],quality:[{default:"boolean|undefined",name:"string",url:"string"}],controls:[{disable:"boolean|undefined",name:"string|undefined",index:"number|undefined",html:Z,style:"object|undefined",click:"function|undefined",mounted:"function|undefined",tooltip:"string|undefined",position:function(t,e,n){var r=["top","left","right"];return $(r.includes(t),"".concat(n.join(".")," only accept ").concat(r.toString()," as parameters"))}}],highlight:[{time:"number",text:"string"}],thumbnails:{url:"string",number:"number",width:"number",height:"number",column:"number"},subtitle:{url:"string",style:"object"},moreVideoAttr:"object",icons:"object",customType:"object"},G={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"]}},Q=function t(n){var r=this;e(this,t);var i=n.constructor.kindOf,o=n.option.whitelist;this.userAgent=window.navigator.userAgent,this.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(this.userAgent),this.state=!this.isMobile||o.some((function(t){switch(i(t)){case"string":return r.userAgent.indexOf(t)>-1;case"function":return t(r.userAgent);case"regexp":return t.test(r.userAgent);default:return!1}}))},K=function(){function t(n){var r=this;e(this,t),this.art=n,n.option.container instanceof Element?this.$container=n.option.container:(this.$container=d(n.option.container),$(this.$container,"No container element found by ".concat(n.option.container))),$(n.constructor.instances.every((function(t){return t.template.$container!==r.$container})),"Cannot mount multiple instances on the same dom element"),$(this.$container.clientWidth&&this.$container.clientHeight,"The width and height of the container cannot be 0"),n.whitelist.state?this.initDesktop():this.initMobile()}return r(t,[{key:"query",value:function(t){return d(t,this.$container)}},{key:"initDesktop",value:function(){this.$container.innerHTML='
Player version:
3.2.1
Video url:
Video volume:
Video time:
Video duration:
Video resolution:
x
[x]
xD7
'),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query(".art-video track"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$settingInner=this.query(".art-setting-inner"),this.$settingBody=this.query(".art-setting-body"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$pipHeader=this.query(".art-pip-header"),this.$pipTitle=this.query(".art-pip-title"),this.$pipClose=this.query(".art-pip-close"),this.$contextmenu=this.query(".art-contextmenus")}},{key:"initMobile",value:function(){this.$container.innerHTML='
',this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video")}},{key:"destroy",value:function(t){t?this.$container.innerHTML="":y(this.$player,"art-destroy")}}]),t}(),tt={"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:"正常",Open:"打开","Switch video":"切换","Switch subtitle":"切换字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"网页全屏","Exit web fullscreen":"退出网页全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地视频","Subtitle offset time":"字幕偏移时间","No subtitles found":"未发现字幕"},et={"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:"正常",Open:"打開","Switch video":"切換","Switch subtitle":"切換字幕",Fullscreen:"全屏","Exit fullscreen":"退出全屏","Web fullscreen":"網頁全屏","Exit web fullscreen":"退出網頁全屏","Mini player":"迷你播放器","Does not support fullscreen":"不支持全屏","Local Subtitle":"本地字幕","Local Video":"本地視頻","Subtitle offset time":"字幕偏移時間","No subtitles found":"未發現字幕"},nt=function(){function t(n){e(this,t),this.art=n,this.languages={"zh-cn":tt,"zh-tw":et},this.init()}return r(t,[{key:"init",value:function(){var t=this.art.option.lang.toLowerCase();this.language=this.languages[t]||{}}},{key:"get",value:function(t){return this.language[t]||t}},{key:"update",value:function(t){this.languages=B(this.languages,t),this.init()}}]),t}();var rt=i((function(t){!function(){var e="undefined"!=typeof window&&void 0!==window.document?window.document:{},n=t.exports,r=function(){for(var t,n=[["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"]],r=0,i=n.length,o={};rh){var y=h*l/u;b(r,"width","".concat(100*y,"%")),b(r,"height","100%"),b(r,"padding","0 ".concat((f-f*y)/2,"px"))}else{var v=u/h/l;b(r,"width","100%"),b(r,"height","".concat(100*v,"%")),b(r,"padding","".concat((p-p*v)/2,"px 0"))}}i.dataset.aspectRatio=n,a.show("".concat(o.get("Aspect ratio"),": ").concat("default"===n?o.get("Default"):n)),t.emit("aspectRatioChange",n)}else e.aspectRatio&&(b(r,"width",null),b(r,"height",null),b(r,"padding",null),delete i.dataset.aspectRatio,t.emit("aspectRatioRemove"))}}),V(e,"aspectRatioReset",{set:function(n){if(n&&e.aspectRatio){var r=e.aspectRatio;e.aspectRatio=r,t.emit("aspectRatioReset")}}})}(n,this),function(t,e){var n=t.option,r=t.notice,i=t.template.$video;V(e,"getScreenshotDataURL",{value:function(){try{var t=document.createElement("canvas");return t.width=i.videoWidth,t.height=i.videoHeight,t.getContext("2d").drawImage(i,0,0),t.toDataURL("image/png")}catch(t){throw r.show(t),t}}}),V(e,"getScreenshotBlobUrl",{value:function(){return new Promise((function(t,e){try{var n=document.createElement("canvas");n.width=i.videoWidth,n.height=i.videoHeight,n.getContext("2d").drawImage(i,0,0),n.toBlob((function(e){t(URL.createObjectURL(e))}))}catch(t){r.show(t),e(t)}}))}}),V(e,"screenshot",{value:function(){var r=e.getScreenshotDataURL();r&&(L(r,"".concat(n.title||"artplayer","_").concat(X(i.currentTime),".png")),t.emit("screenshot",r))}})}(n,this),function(t,e){var n=t.i18n,r=t.notice,i=t.events.destroyEvents,o=t.template.$player,a=function(){t.emit("fullscreenChange",rt.isFullscreen)},c=function(){r.show(n.get("Does not support fullscreen"))};e.fullscreenIsEnabled&&(rt.on("change",a),rt.on("error",c),i.push((function(){rt.off("change",a),rt.off("error",c)}))),V(e,"fullscreen",{get:function(){return rt.isFullscreen},set:function(n){e.fullscreenIsEnabled?n?(e.fullscreenWeb&&(e.fullscreenWeb=!1),rt.request(o).then((function(){y(o,"art-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenEnabled")}))):(e.fullscreenWeb&&(e.fullscreenWeb=!1),rt.exit().then((function(){v(o,"art-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenExit")}))):c()}}),V(e,"fullscreenToggle",{set:function(t){t&&(e.fullscreen=!e.fullscreen)}}),V(e,"fullscreenIsEnabled",{get:function(){return rt.isEnabled}})}(n,this),function(t,e){var n=t.template.$player;V(e,"fullscreenWeb",{get:function(){return m(n,"art-web-fullscreen")},set:function(r){r?(e.fullscreen&&(e.fullscreen=!1),y(n,"art-web-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenWebEnabled")):(e.fullscreen&&(e.fullscreen=!1),v(n,"art-web-fullscreen"),e.aspectRatioReset=!0,t.emit("fullscreenWebExit"))}}),V(e,"fullscreenWebToggle",{set:function(t){t&&(e.fullscreenWeb=!e.fullscreenWeb)}})}(n,this),it(n,this),function(t,e){var n=t.template.$video;V(e,"loaded",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1)/n.duration:0}}),V(e,"loadedTime",{get:function(){return n.buffered.length?n.buffered.end(n.buffered.length-1):0}})}(n,this),function(t,e){V(e,"played",{get:function(){return t.template.$video.currentTime/t.template.$video.duration}})}(n,this),function(t,e){var n=t.template.$video;V(e,"playing",{get:function(){return!!(n.currentTime>0&&!n.paused&&!n.ended&&n.readyState>2)}})}(n,this),function(t,e){var n=t.template,r=n.$container,i=n.$player,o=n.$video;V(e,"autoSize",{get:function(){return m(r,"art-auto-size")},set:function(n){if(n){var a=o.videoWidth,c=o.videoHeight,s=r.getBoundingClientRect(),u=s.width,l=s.height,f=a/c,p=u/l;if(y(r,"art-auto-size"),p>f){b(i,"width","".concat(l*f/u*100,"%")),b(i,"height","100%")}else{var d=u/f/l*100;b(i,"width","100%"),b(i,"height","".concat(d,"%"))}t.emit("autoSizeChange",{width:e.width,height:e.height})}else v(r,"art-auto-size"),b(i,"width",null),b(i,"height",null),t.emit("autoSizeRemove")}})}(n,this),function(t,e){V(e,"rect",{get:function(){return t.template.$player.getBoundingClientRect()}}),["bottom","height","left","right","top","width"].forEach((function(t){V(e,t,{get:function(){return e.rect[t]}})})),V(e,"x",{get:function(){return e.left+window.pageXOffset}}),V(e,"y",{get:function(){return e.top+window.pageYOffset}})}(n,this),function(t,e){V(e,"flip",{get:function(){return t.template.$player.dataset.flip},set:function(e){if(e){var n=["normal","horizontal","vertical"];$(n.includes(e),"'flip' only accept ".concat(n.toString()," as parameters")),t.template.$player.dataset.flip=e,t.emit("flipChange",e)}else delete t.template.$player.dataset.flip,t.emit("flipRemove")}})}(n,this),H(n,this)};var at=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=s(t)););return t},ct=i((function(t){function e(n,r,i){return"undefined"!=typeof Reflect&&Reflect.get?t.exports=e=Reflect.get:t.exports=e=function(t,e,n){var r=at(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(n):i.value}},e(n,r,i||n)}t.exports=e})),st=function(){function t(n){e(this,t),this.id=0,this.art=n,this.add=this.add.bind(this),this.name=this.constructor.name.toLowerCase()}return r(t,[{key:"toggle",value:function(){this.show=!this.show}},{key:"add",value:function(t,e){var n=this,r="function"==typeof t?t(this.art):t;if(!this.$parent||r.disable)return{};this.id+=1;var i=r.name||"".concat(this.name).concat(this.id);$(!F(this,i),"Cannot add a component that already has the same name: ".concat(i));var o=document.createElement("div");o.classList.value="art-".concat(this.name," art-").concat(this.name,"-").concat(i),r.html&&g(o,r.html),r.style&&w(o,r.style),r.tooltip&&k(o,r.tooltip);var a=Array.from(this.$parent.children);o.dataset.index=r.index||this.id;var c=a.find((function(t){return Number(t.dataset.index)>=Number(o.dataset.index)}));return c?c.insertAdjacentElement("beforebegin",o):g(this.$parent,o),r.click&&this.art.events.proxy(o,"click",(function(t){t.preventDefault(),r.click.call(n.art,n,t)})),r.mounted&&r.mounted(o,this,this.art),e&&e(o,this,this.art),V(this,i,{value:{get $ref(){return o},set show(t){b(o,"display",t?"block":"none")}}}),this.art.emit("".concat(this.name,":add"),r),this[i]}},{key:"show",get:function(){return m(this.art.template.$player,"art-".concat(this.name,"-show"))},set:function(t){$(!1===t||!0===t,"The show attribute expects a boolean value");var e=this.art.template.$player,n="art-".concat(this.name,"-show");t?y(e,n):v(e,n),this.art.emit("".concat(this.name,":toggle"),t)}}]),t}();function ut(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function lt(e){return function(n){return function(e){for(var n=1;n
'),mounted:function(t){var e=!1,r=d(".art-progress-loaded",t),o=d(".art-progress-played",t),s=d(".art-progress-highlight",t),u=d(".art-progress-indicator",t),l=d(".art-progress-tip",t);function f(t,e){"loaded"===t&&b(r,"width","".concat(100*e,"%")),"played"===t&&(b(o,"width","".concat(100*e,"%")),b(u,"left","calc(".concat(100*e,"% - ").concat(O(u,"width")/2,"px)")))}i.forEach((function(t){var e=_(t.time,0,c.duration)/c.duration*100;g(s,''))})),f("loaded",c.loaded),n.on("video:progress",(function(){f("loaded",c.loaded)})),n.on("video:timeupdate",(function(){f("played",c.played)})),n.on("video:ended",(function(){f("played",1)})),a(t,"mousemove",(function(e){b(l,"display","block"),e.composedPath().indexOf(s)>-1?function(e){var r=gt(n,e).width,i=e.target.dataset.text;l.innerHTML=i;var o=l.clientWidth;r<=o/2?b(l,"left",0):r>t.clientWidth-o/2?b(l,"left","".concat(t.clientWidth-o,"px")):b(l,"left","".concat(r-o/2,"px"))}(e):function(e){var r=gt(n,e),i=r.width,o=r.time;l.innerHTML=o;var a=l.clientWidth;i<=a/2?b(l,"left",0):i>t.clientWidth-a/2?b(l,"left","".concat(t.clientWidth-a,"px")):b(l,"left","".concat(i-a/2,"px"))}(e)})),a(t,"mouseout",(function(){b(l,"display","none")})),a(t,"click",(function(t){if(t.target!==u){var e=gt(n,t),r=e.second;f("played",e.percentage),c.seek=r}})),a(u,"mousedown",(function(){e=!0})),a(document,"mousemove",(function(t){if(e){var r=gt(n,t),i=r.second,o=r.percentage;y(u,"art-show-indicator"),f("played",o),c.seek=i}})),a(document,"mouseup",(function(){e&&(e=!1,v(u,"art-show-indicator"))}))}})}}function wt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ot(e){return function(n){return function(e){for(var n=1;n'),l=g(u,'
');function f(t){var e=u.getBoundingClientRect(),n=e.left,r=e.width,i=l.getBoundingClientRect().width;return _(t.pageX-n-i/2,0,r-i/2)/(r-i)}function p(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.7;if(i.muted||0===t)b(c,"display","none"),b(s,"display","flex"),b(l,"left","0");else{var e=((O(u,"width")||60)-O(l,"width"))*t;b(c,"display","flex"),b(s,"display","none"),b(l,"left","".concat(e,"px"))}}k(c,o.get("Mute")),b(s,"display","none"),p(i.volume),n.on("video:volumechange",(function(){p(i.volume)})),e(c,"click",(function(){i.muted=!0})),e(s,"click",(function(){i.muted=!1})),e(u,"click",(function(t){i.muted=!1,i.volume=f(t)})),e(l,"mousedown",(function(){a=!0})),e(document,"mousemove",(function(t){a&&(i.muted=!1,i.volume=f(t))})),e(document,"mouseup",(function(){a&&(a=!1)}))}})}}function Et(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function St(e){return function(n){return function(e){for(var n=1;nr.clientWidth-s/2?b(t,"left","".concat(r.clientWidth-s,"px")):b(t,"left","".concat(o-s/2,"px"))}(i))})),o(r,"mouseout",(function(){b(t,"display","none")}))}})}}function Dt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Tt(e){return function(n){return function(e){for(var n=1;n'.concat(s.name,"")),l=e.map((function(t,e){return'
').concat(t.name,"
")})).join(""),f=g(t,'
'.concat(l,"
"));o(t,(function(){f.style.left="-".concat(O(f,"width")/2-t.clientWidth/2,"px")})),i(f,"click",(function(t){var n=Number(t.target.dataset.index),r=e[n],i=r.url,o=r.name;i&&o&&c!==n&&(a.switchQuality(i,o),u.innerHTML=o,c=n)}))}})}}var At=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.option;return t.on("ready",(function(){r.add(bt({name:"progress",disable:i.isLive,position:"top",index:10})),r.add(Rt({name:"thumbnails",disable:!i.thumbnails.url||i.isLive,position:"top",index:20})),r.add(vt({name:"playAndPause",disable:!1,position:"left",index:10})),r.add(Pt({name:"volume",disable:!1,position:"left",index:20})),r.add(jt({name:"time",disable:i.isLive,position:"left",index:30})),r.add(Lt({name:"quality",disable:0===i.quality.length,position:"right",index:10})),r.add(Tt({name:"screenshot",disable:!i.screenshot,position:"right",index:20})),r.add(Ot({name:"subtitle",disable:!i.subtitle.url,position:"right",index:30})),r.add(St({name:"setting",disable:!i.setting,position:"right",index:40})),r.add(ht({name:"pip",disable:!i.pip,position:"right",index:50})),r.add(pt({name:"fullscreenWeb",disable:!i.fullscreenWeb,position:"right",index:60})),r.add(lt({name:"fullscreen",disable:!i.fullscreen,position:"right",index:70})),i.controls.forEach((function(t){r.add(t)}))})),r}return l(n,t),r(n,[{key:"add",value:function(t,e){var r="function"==typeof t?t(this.art):t;$(r.position,"Controls option.position can not be empty");var i=this.art.template,o=i.$progress,a=i.$controlsLeft,c=i.$controlsRight;switch(r.position){case"top":this.$parent=o;break;case"left":this.$parent=a;break;case"right":this.$parent=c}var u=ct(s(n.prototype),"add",this).call(this,r,e);return r.disable||"top"===r.position||u.$ref.firstElementChild&&"I"===u.$ref.firstElementChild.tagName||y(u.$ref,"art-control-onlyText"),u}}]),n}(st);function Mt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function zt(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n0.50.75').concat(r.get("Normal"),'1.251.52.0'),click:function(t,e){var n=e.target.dataset.rate;n&&(i.playbackRate=Number(n),t.show=!1)},mounted:function(t){n.on("playbackRateChange",(function(e){var n=h("span",t).find((function(t){return Number(t.dataset.rate)===e}));n&&j(n,"art-current")}))}})}}function qt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Vt(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n').concat(r.get("Default"),'4:316:9'),click:function(t,e){var n=e.target.dataset.ratio;n&&(i.aspectRatio=n,t.show=!1)},mounted:function(t){n.on("aspectRatioChange",(function(e){var n=h("span",t).find((function(t){return t.dataset.ratio===e}));n&&j(n,"art-current")}))}})}}function Wt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ft(e){return function(n){return function(e){for(var n=1;nArtPlayer 3.2.1'})}function It(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Nt(e){return function(n){return function(e){for(var n=1;ns+c&&(h=c-d),n+p>l+o&&(y=o-p),b(u,"left","".concat(h,"px")),b(u,"top","".concat(y,"px"))})),l(a,"click",(function(t){t.composedPath().includes(u)||(r.show=!1)})),t.on("blur",(function(){r.show=!1}))})),r}return l(n,t),n}(st),_t=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.template,o=i.$infoPanel,a=i.$infoClose,u=i.$video;(0,t.events.proxy)(a,"click",(function(){r.show=!1}));var l=null,f=h("[data-video]",o);return t.on("destroy",(function(){clearTimeout(l)})),t.on("info:toggle",(function(t){clearTimeout(l),t&&function t(){f.forEach((function(t){var e=u[t.dataset.video];t.innerHTML="number"==typeof e?e.toFixed(2):e})),l=setTimeout((function(){t()}),1e3)}()})),r}return l(n,t),n}(st),Xt=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.events.proxy,o=t.option.subtitle;return w(t.template.$subtitle,o.style),i(r.textTrack,"cuechange",r.update.bind(a(r))),o.url&&r.init(o.url),r}return l(n,t),r(n,[{key:"update",value:function(){var t=this.art.template.$subtitle;t.innerHTML="",this.activeCue&&(t.innerHTML=this.activeCue.text.split(/\r?\n/).map((function(t){return"

".concat(t,"

")})).join(""),this.art.emit("subtitle:update",this.activeCue.text))}},{key:"switch",value:function(t,e){var n=this,r=this.art,i=r.i18n,o=r.notice;return this.init(t).then((function(t){return e&&o.show("".concat(i.get("Switch subtitle"),": ").concat(e)),n.art.emit("subtitle:switch",t),t}))}},{key:"init",value:function(t){var e=this,n=this.art,r=n.notice,i=n.template,o=i.$subtitle,a=i.$track;return fetch(t).then((function(t){return t.text()})).then((function(n){switch(e.art.emit("subtitle:load",t),C(t)){case"srt":return D(R(n));case"ass":return D(T(n));case"vtt":return D(n);default:return t}})).then((function(t){return o.innerHTML="",e.url===t?t:(URL.revokeObjectURL(e.url),a.src=t,t)})).catch((function(t){throw r.show(t),e.art.emit("subtitle:err",t),t}))}},{key:"url",get:function(){return this.art.template.$track.src}},{key:"textTrack",get:function(){return this.art.template.$video.textTracks[0]}},{key:"activeCue",get:function(){return this.textTrack.activeCues[0]}}]),n}(st);var Yt=function(){function t(n){var r=this;e(this,t),this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),n.whitelist.state&&n.once("video:canplay",(function(){!function(t,e){var n=t.template.$player;e.proxy(document,["click","contextmenu"],(function(e){e.composedPath().indexOf(n)>-1?(t.isFocus=!0,t.emit("focus")):(t.isFocus=!1,t.emit("blur"))}))}(n,r),function(t,e){var n=t.template.$player;e.hover(n,(function(){y(n,"art-hover"),t.emit("hoverenter")}),(function(){v(n,"art-hover"),t.emit("hoverleave")}))}(n,r),function(t,e){var n=t.template,r=n.$player,i=n.$video,o=t.player,a=N((function(){y(r,"art-hide-cursor"),v(r,"art-hover"),t.controls.show=!1}),3e3);t.on("hoverleave",(function(){o.playing&&a()})),e.proxy(r,"mousemove",(function(e){a.clearTimeout(),v(r,"art-hide-cursor"),t.controls.show=!0,!t.player.pip&&o.playing&&e.target===i&&a(),t.emit("mousemove")}))}(n,r),function(t,e){var n=t.option,r=t.player,i=t.template.$player,o=document.createElement("object");o.setAttribute("aria-hidden","true"),o.setAttribute("tabindex",-1),o.type="text/html",o.data="about:blank";var a=r.width,c=r.height,s=U((function(){r.width===a&&r.height===c||(a=r.width,c=r.height,n.autoSize&&(t.player.fullscreen||t.player.fullscreenWeb||t.player.pip?t.player.autoSize=!1:t.player.autoSize=!0),t.player.aspectRatioReset=!0,t.emit("resize",{width:r.width,height:r.height}))}),500);e.proxy(o,"load",(function(){e.proxy(o.contentDocument.defaultView,"resize",s)})),i.appendChild(o)}(n,r)}))}return r(t,[{key:"proxy",value:function(t,e,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};Array.isArray(e)?e.forEach((function(e){return r.proxy(t,e,n,i)})):(t.addEventListener(e,n,i),this.destroyEvents.push((function(){t.removeEventListener(e,n,i)})))}},{key:"hover",value:function(t,e,n){e&&this.proxy(t,"mouseenter",e),n&&this.proxy(t,"mouseleave",n)}},{key:"loadImg",value:function(t){var e=this;return new Promise((function(n,r){var i;if(t instanceof HTMLImageElement)i=t;else{if("string"!=typeof t)return r(t);(i=new Image).src=t}return i.complete?n(i):(e.proxy(i,"load",(function(){return n(i)})),e.proxy(i,"error",(function(){return r(i)})),t)}))}},{key:"destroy",value:function(){this.destroyEvents.forEach((function(t){return t()}))}}]),t}(),Zt=function(){function t(n){var r=this;e(this,t),this.keys={};var i=n.option,o=n.player,a=n.events.proxy;i.hotkey&&n.on("ready",(function(){r.add(27,(function(){o.fullscreenWeb&&(o.fullscreenWeb=!1)})),r.add(32,(function(){o.toggle=!0})),r.add(37,(function(){o.seek=o.currentTime-5})),r.add(38,(function(){o.volume+=.1})),r.add(39,(function(){o.seek=o.currentTime+5})),r.add(40,(function(){o.volume-=.1})),a(window,"keydown",(function(t){if(n.isFocus){var e=document.activeElement.tagName.toUpperCase(),i=document.activeElement.getAttribute("contenteditable");if("INPUT"!==e&&"TEXTAREA"!==e&&""!==i&&"true"!==i){var o=r.keys[t.keyCode];o&&(t.preventDefault(),o.forEach((function(t){return t()})),n.emit("hotkey",t))}}}))}))}return r(t,[{key:"add",value:function(t,e){this.keys[t]?this.keys[t].push(e):this.keys[t]=[e]}}]),t}(),Jt=function(t){function n(t){var r;return e(this,n),(r=c(this,s(n).call(this,t))).$parent=t.template.$layer,t.on("ready",(function(){t.option.layers.forEach((function(t){r.add(t)}))})),r}return l(n,t),n}(st),Gt=function(t){function n(t){var r;return e(this,n),r=c(this,s(n).call(this,t)),g(t.template.$loading,t.icons.loading),r}return l(n,t),n}(st),Qt=function(){function t(n){e(this,t),this.art=n,this.timer=null}return r(t,[{key:"show",value:function(t){var e=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3,i=this.art.template,o=i.$player,a=i.$noticeInner;a.innerHTML=t instanceof Error?t.message.trim():t,clearTimeout(this.timer),n&&(this.timer=setTimeout((function(){e.hide()}),r)),y(o,"art-notice-show"),this.art.emit("notice:toggle",!0)}},{key:"hide",value:function(){var t=this.art.template,e=t.$player;t.$noticeInner.innerHTML="",v(e,"art-notice-show"),this.art.emit("notice:toggle",!0)}}]),t}(),Kt=function(t){function n(t){var r;return e(this,n),r=c(this,s(n).call(this,t)),g(t.template.$state,t.icons.state),r}return l(n,t),n}(st),te=function t(n){var r=this;e(this,t);var i=Object.assign({loading:'',state:'',play:'',pause:'',volume:'',volumeClose:'',subtitle:'',screenshot:'\t',setting:'',fullscreen:'\t\t\t\t',fullscreenWeb:'\t',pip:'',prev:'',next:''},n.option.icons);Object.keys(i).forEach((function(t){var e=document.createElement("i");e.classList.add("art-icon"),e.classList.add("art-icon-".concat(t)),g(e,i[t]),r[t]=e}))};function ee(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ne(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n'.concat(r.get("Flip"),'
"),click:function(t,e){var n=e.target.dataset.value;n&&(i.flip=n)},mounted:function(t){n.on("flipChange",(function(e){var n=h("button",t).find((function(t){return t.dataset.value===e}));n&&j(n.parentElement,"current")}))}})}}function re(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ie(e){return function(n){var r=n.i18n,i=n.player;return function(e){for(var n=1;n'.concat(r.get("Aspect ratio"),'
'),click:function(t,e){var n=e.target.dataset.value;n&&(i.aspectRatio=n)},mounted:function(t){n.on("aspectRatioChange",(function(e){var n=h("button",t).find((function(t){return t.dataset.value===e}));n&&j(n.parentElement,"current")}))}})}}function oe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ae(e){return function(n){var r=n.i18n,i=n.player,o=n.events.proxy;return function(e){for(var n=1;n'.concat(r.get("Play speed"),': 1.0x
'),mounted:function(t){var e=d(".art-setting-range input",t),r=d(".art-subtitle-value",t);o(e,"change",(function(){var t=e.value;r.innerText=t,i.playbackRate=Number(t)})),n.on("playbackRateChange",(function(t){e.value!==t&&(e.value=t,r.innerText=t)}))}})}}var ce=function(t){function n(t){var r;e(this,n),r=c(this,s(n).call(this,t));var i=t.option,o=t.template,a=o.$setting,u=o.$settingBody,l=t.events.proxy;return r.$parent=u,i.setting&&(t.on("ready",(function(){l(a,"click",(function(t){t.target===a&&(r.show=!1)})),r.add(ne({disable:!i.flip,name:"flip"})),r.add(ie({disable:!i.aspectRatio,name:"aspectRatio"})),r.add(ae({disable:!i.playbackRate,name:"playbackRate"}))})),t.on("blur",(function(){r.show=!1}))),r}return l(n,t),n}(st),se=function(){function n(t){e(this,n),this.art=t,this.name="artplayer_settings";var r=t.option,i=this.get("volume");i&&(r.volume=i)}return r(n,[{key:"get",value:function(t){var e=JSON.parse(window.localStorage.getItem(this.name))||{};return t?e[t]:{}}},{key:"set",value:function(e,n){var r=Object.assign({},this.get(),t({},e,n));window.localStorage.setItem(this.name,JSON.stringify(r))}},{key:"del",value:function(t){var e=this.get();delete e[t],window.localStorage.setItem(this.name,JSON.stringify(e))}},{key:"clean",value:function(){window.localStorage.removeItem(this.name)}}]),n}();function ue(t){var e=t.i18n,n=t.subtitle,r=t.events.proxy;return{title:"Subtitle",name:"subtitleOffset",index:20,html:'
'.concat(e.get("Subtitle offset time"),': 0s
'),mounted:function(e){var i=d(".art-setting-range input",e),o=d(".art-subtitle-value",e);r(i,"change",(function(){var e=i.value;o.innerText=e,t.plugins.subtitleOffset.offset(Number(e))})),t.on("subtitle:switch",(function(){i.value=0,o.innerText=0})),t.on("subtitleOffset",(function(t){n.update(),i.value!==t&&(i.value=t,o.innerText=t)}))}}}function le(t){var e=t.constructor.utils.clamp,n=t.setting,r=t.notice,i=t.template,o=t.i18n,a=t.player;n.add(ue);var c=[];return t.on("subtitle:switch",(function(){c=[]})),{name:"subtitleOffset",offset:function(n){if(i.$track&&i.$track.track){var s=Array.from(i.$track.track.cues),u=e(n,-5,5);s.forEach((function(t,n){c[n]||(c[n]={startTime:t.startTime,endTime:t.endTime}),t.startTime=e(c[n].startTime+u,0,a.duration),t.endTime=e(c[n].endTime+u,0,a.duration)})),r.show("".concat(o.get("Subtitle offset time"),": ").concat(n,"s")),t.emit("subtitleOffset",n)}else r.show("".concat(o.get("No subtitles found"))),t.emit("subtitleOffset",0)}}}function fe(t){var e=t.events.proxy,n=t.template,r=t.player,i=t.option,o=t.setting,a=t.i18n;function c(e){if(e){var o=n.$video.canPlayType(e.type);if("maybe"===o||"probably"===o){var a=URL.createObjectURL(e);i.title=e.name,r.switchUrl(a,e.name),t.emit("localVideo",e)}else $(!1,"Playback of this file format is not supported")}}function s(t){var n=g(t,'');b(t,"position","relative"),w(n,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),e(n,"change",(function(){c(n.files[0])}))}return e(n.$player,"dragover",(function(t){t.preventDefault()})),e(n.$player,"drop",(function(t){t.preventDefault(),c(t.dataTransfer.files[0])})),t.on("ready",(function(){o.add({title:"Local Video",name:"localVideo",index:30,html:'
'.concat(a.get("Local Video"),'
').concat(a.get("Open"),'
'),mounted:function(e){var n=d(".art-upload-btn",e),r=d(".art-upload-value",e);t.on("localVideo",(function(t){r.textContent=t.name,r.title=t.name})),s(n)}})})),{name:"localVideo",attach:s}}function pe(t){var e=t.events.proxy,n=t.subtitle,r=t.setting,i=t.i18n;function o(r){var i=g(r,'');b(r,"position","relative"),w(i,{position:"absolute",width:"100%",height:"100%",left:"0",top:"0",opacity:"0"}),e(i,"change",(function(){!function(r){if(r){var i=C(r.name);if(["ass","vtt","srt"].includes(i)){var o=new FileReader;e(o,"load",(function(e){var o=e.target.result;switch(i){case"srt":var a=D(R(o));n.switch(a,r.name);break;case"ass":var c=D(T(o));n.switch(c,r.name);break;case"vtt":var s=D(o);n.switch(s,r.name)}t.emit("localSubtitle",r)})),o.readAsText(r)}else $(!1,"Only supports subtitle files in .ass, .vtt and .srt format")}}(i.files[0])}))}return t.on("ready",(function(){r.add({title:"Local Subtitle",name:"localSubtitle",index:40,html:'
'.concat(i.get("Local Subtitle"),'
').concat(i.get("Open"),'
'),mounted:function(e){var n=d(".art-upload-btn",e),r=d(".art-upload-value",e);t.on("localSubtitle",(function(t){r.textContent=t.name,r.title=t.name})),o(n)}})})),{name:"localSubtitle",attach:o}}function de(t){var e=t.layers,n=t.player,r=t.option.theme;return e.add({name:"miniProgressBar",style:{display:"none",position:"absolute",left:0,right:0,bottom:0,height:"2px",background:r},mounted:function(e){t.on("control:toggle",(function(t){e.style.display=t?"none":"block"})),t.on("destroy",(function(){e.style.display="none"})),t.on("video:timeupdate",(function(){e.style.width="".concat(100*n.played,"%")}))}}),{name:"miniProgressBar"}}function he(t){var e=1e4,n=0,r=0,i=0,o=null;function a(){n=0,r=0,i=0,cancelAnimationFrame(o),o=null}function c(){o||function a(){t.isDestroy||(o=requestAnimationFrame((function(){var o=Date.now();if(i){var c=o-i;r+=c,t.player.playing||(n+=c)}i=o,t.emit("networkMonitor",n/r),r>=e&&(n=0,r=0),a()})))}()}return t.on("play",c),t.on("pause",a),{name:"networkMonitor",reset:a,start:c,sample:function(t){e=t}}}function ye(t){var e=t.events,n=t.player,r=t.template,i=N((function(){var e=r.$player.getBoundingClientRect();e.top+e.height<=0&&!n.pip?(n.pip=!0,t.emit("autoPip",!0)):n.pip&&(n.pip=!1,t.emit("autoPip",!1))}),300);return e.proxy(window,"scroll",i),{name:"autoPip"}}var ve=function(){function t(n){var r=this;e(this,t),this.art=n,this.id=0;var i=n.option;i.subtitle.url&&i.subtitleOffset&&this.add(le),!i.isLive&&i.miniProgressBar&&this.add(de),i.localVideo&&this.add(fe),i.localSubtitle&&this.add(pe),i.networkMonitor&&this.add(he),i.autoPip&&this.add(ye),n.option.plugins.forEach((function(t){r.add(t)}))}return r(t,[{key:"add",value:function(t){this.id+=1;var e=t.call(this,this.art),n="";return $(!F(this,n=e&&e.name?e.name:t.name?t.name:"plugin".concat(this.id)),"Cannot add a plugin that already has the same name: ".concat(n)),Object.defineProperty(this,n,{value:e}),this.art.emit("plugin:add",t),this}}]),t}(),me=function t(n){e(this,t);var r=n.option,i=n.events.proxy,o=n.template.$video;G.video.events.forEach((function(t){i(o,t,(function(t){n.emit("video:".concat(t.type),t)}))})),Object.keys(r.moreVideoAttr).forEach((function(t){o[t]=r.moreVideoAttr[t]})),r.muted&&(o.muted=r.muted),r.volume&&(o.volume=_(r.volume,0,1)),r.poster&&(o.poster=r.poster),r.autoplay&&(o.autoplay=r.autoplay),o.controls=!0;var a=r.type||C(r.url),c=r.customType[a];a&&c?(n.emit("beforeCustomType",a),c(o,r.url,n),n.emit("afterCustomType",a)):(n.emit("beforeAttachUrl",r.url),o.src=r.url,n.emit("afterAttachUrl",o.src))},ge=0,be=function(t){function n(t){var r;return e(this,n),(r=c(this,s(n).call(this))).option=f(B(n.option,t),J),r.isFocus=!1,r.isDestroy=!1,r.whitelist=new Q(a(r)),r.template=new K(a(r)),r.events=new Yt(a(r)),r.whitelist.state?(r.storage=new se(a(r)),r.icons=new te(a(r)),r.i18n=new nt(a(r)),r.notice=new Qt(a(r)),r.player=new ot(a(r)),r.layers=new Jt(a(r)),r.controls=new At(a(r)),r.contextmenu=new Ut(a(r)),r.subtitle=new Xt(a(r)),r.info=new _t(a(r)),r.loading=new Gt(a(r)),r.hotkey=new Zt(a(r)),r.mask=new Kt(a(r)),r.setting=new ce(a(r)),r.plugins=new ve(a(r))):r.mobile=new me(a(r)),ge+=1,r.id=ge,n.instances.push(a(r)),r}return l(n,t),r(n,[{key:"destroy",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.events.destroy(),this.template.destroy(t),n.instances.splice(n.instances.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}],[{key:"version",get:function(){return"3.2.1"}},{key:"env",get:function(){return'"production"'}},{key:"config",get:function(){return G}},{key:"utils",get:function(){return Y}},{key:"scheme",get:function(){return J}},{key:"Emitter",get:function(){return p}},{key:"validator",get:function(){return f}},{key:"kindOf",get:function(){return f.kindOf}},{key:"option",get:function(){return{container:"#artplayer",url:"",poster:"",title:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,localVideo:!1,localSubtitle:!1,autoPip:!1,networkMonitor:!1,layers:[],contextmenu:[],quality:[],controls:[],highlight:[],plugins:[],whitelist:[],thumbnails:{url:"",number:60,width:160,height:90,column:10},subtitle:{url:"",style:{}},moreVideoAttr:{controls:!1,preload:"metadata"},icons:{},customType:{},lang:navigator.language.toLowerCase()}}}]),n}(p);function we(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}return Object.defineProperty(be,"instances",{value:[]}),console.log("%c ArtPlayer %c 3.2.1 %c https://artplayer.org","color: #fff; background: #5f5f5f","color: #fff; background: #4bc729",""),{data:function(){return{instance:null}},props:{option:{type:Object,required:!0},getInstance:Function},mounted:function(){this.instance=new be(function(e){for(var n=1;n