import{W as Et,c as zi,d as Ki,m as Yi,a0 as Xi,b as $i,w as Me,e as Ft,f as qi,g as mt,h as it,i as Bt,u as Ht,C as Zi,D as Ji,_ as Qi}from"./index-DvR-FJVF.js";import{u as en}from"./hooks-BVDgDRYB.js";const tn={width:1024,height:1024,body:''};function Ut(o,a){var r=Object.keys(o);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(o);a&&(t=t.filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable})),r.push.apply(r,t)}return r}function U(o){for(var a=1;ao.length)&&(a=o.length);for(var r=0,t=new Array(a);r-1,nt={info:"color: #525252; background-color: #90ee90;",error:"color: #525252; background-color: red;",warn:"color: #525252; background-color: yellow; "},rt="%c[xgplayer]",D={config:{debug:cn?3:0},logInfo:function(a){for(var r,t=arguments.length,e=new Array(t>1?t-1:0),i=1;i=3&&(r=console).log.apply(r,[rt,nt.info,a].concat(e))},logWarn:function(a){for(var r,t=arguments.length,e=new Array(t>1?t-1:0),i=1;i=1&&(r=console).warn.apply(r,[rt,nt.warn,a].concat(e))},logError:function(a){var r;if(!(this.config.debug<1)){for(var t=this.config.debug>=2?"trace":"error",e=arguments.length,i=new Array(e>1?e-1:0),n=1;n0&&arguments[0]!==void 0?arguments[0]:"div",a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",e=document.createElement(o);return e.className=t,e.innerHTML=a,Object.keys(r).forEach(function(i){var n=i,s=r[i];o==="video"||o==="audio"||o==="live-video"?s&&e.setAttribute(n,s):e.setAttribute(n,s)}),e};c.createDomFromHtml=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"";try{var t=document.createElement("div");t.innerHTML=o;var e=t.children;return t=null,e.length>0?(e=e[0],r&&c.addClass(e,r),a&&Object.keys(a).forEach(function(i){e.setAttribute(i,a[i])}),e):null}catch(i){return D.logError("util.createDomFromHtml",i),null}};c.hasClass=function(o,a){if(!o||!a)return!1;try{return Array.prototype.some.call(o.classList,function(t){return t===a})}catch(t){var r=o.className&&W(o.className)==="object"?o.getAttribute("class"):o.className;return r&&!!r.match(new RegExp("(\\s|^)"+a+"(\\s|$)"))}};c.addClass=function(o,a){if(!(!o||!a))try{a.replace(/(^\s+|\s+$)/g,"").split(/\s+/g).forEach(function(r){r&&o.classList.add(r)})}catch(r){c.hasClass(o,a)||(o.className&&W(o.className)==="object"?o.setAttribute("class",o.getAttribute("class")+" "+a):o.className+=" "+a)}};c.removeClass=function(o,a){if(!(!o||!a))try{a.replace(/(^\s+|\s+$)/g,"").split(/\s+/g).forEach(function(r){r&&o.classList.remove(r)})}catch(r){c.hasClass(o,a)&&a.split(/\s+/g).forEach(function(t){var e=new RegExp("(\\s|^)"+t+"(\\s|$)");o.className&&W(o.className)==="object"?o.setAttribute("class",o.getAttribute("class").replace(e," ")):o.className=o.className.replace(e," ")})}};c.toggleClass=function(o,a){o&&a.split(/\s+/g).forEach(function(r){c.hasClass(o,r)?c.removeClass(o,r):c.addClass(o,r)})};c.classNames=function(){for(var o=arguments,a=[],r=function(i){c.typeOf(o[i])==="String"?a.push(o[i]):c.typeOf(o[i])==="Object"&&Object.keys(o[i]).map(function(n){o[i][n]&&a.push(n)})},t=0;t0&&arguments[0]!==void 0?arguments[0]:document,a=arguments.length>1?arguments[1]:void 0,r;try{r=o.querySelector(a)}catch(t){D.logError("util.findDom",t),a.indexOf("#")===0&&(r=o.getElementById(a.slice(1)))}return r};c.getCss=function(o,a){return o.currentStyle?o.currentStyle[a]:document.defaultView.getComputedStyle(o,!1)[a]};c.padStart=function(o,a,r){for(var t=String(r),e=a>>0,i=Math.ceil(e/t.length),n=[],s=String(o);i--;)n.push(t);return n.join("").substring(0,e-s.length)+s};c.format=function(o){if(window.isNaN(o))return"";o=Math.round(o);var a=c.padStart(Math.floor(o/3600),2,0),r=c.padStart(Math.floor((o-a*3600)/60),2,0),t=c.padStart(Math.floor(o-a*3600-r*60),2,0);return(a==="00"?[r,t]:[a,r,t]).join(":")};c.event=function(o){if(o.touches){var a=o.touches[0]||o.changedTouches[0];o.clientX=a.clientX||0,o.clientY=a.clientY||0,o.offsetX=a.pageX-a.target.offsetLeft,o.offsetY=a.pageY-a.target.offsetTop}o._target=o.target||o.srcElement};c.typeOf=function(o){return Object.prototype.toString.call(o).match(/([^\s.*]+)(?=]$)/g)[0]};c.deepCopy=function(o,a){if(c.typeOf(a)==="Object"&&c.typeOf(o)==="Object")return Object.keys(a).forEach(function(r){c.typeOf(a[r])==="Object"&&!(a[r]instanceof Node)?o[r]===void 0||o[r]===void 0?o[r]=a[r]:c.deepCopy(o[r],a[r]):c.typeOf(a[r])==="Array"?o[r]=c.typeOf(o[r])==="Array"?o[r].concat(a[r]):a[r]:o[r]=a[r]}),o};c.deepMerge=function(o,a){return Object.keys(a).map(function(r){if(c.typeOf(a[r])==="Array"&&c.typeOf(o[r])==="Array"){if(c.typeOf(o[r])==="Array"){var t;(t=o[r]).push.apply(t,Q(a[r]))}}else c.typeOf(o[r])===c.typeOf(a[r])&&o[r]!==null&&c.typeOf(o[r])==="Object"&&!(a[r]instanceof window.Node)?c.deepMerge(o[r],a[r]):a[r]!==null&&(o[r]=a[r])}),o};c.getBgImage=function(o){var a=(o.currentStyle||window.getComputedStyle(o,null)).backgroundImage;if(!a||a==="none")return"";var r=document.createElement("a");return r.href=a.replace(/url\("|"\)/g,""),r.href};c.copyDom=function(o){if(o&&o.nodeType===1){var a=document.createElement(o.tagName);return Array.prototype.forEach.call(o.attributes,function(r){a.setAttribute(r.name,r.value)}),o.innerHTML&&(a.innerHTML=o.innerHTML),a}else return""};c.setInterval=function(o,a,r,t){o._interval[a]||(o._interval[a]=window.setInterval(r.bind(o),t))};c.clearInterval=function(o,a){clearInterval(o._interval[a]),o._interval[a]=null};c.setTimeout=function(o,a,r){o._timers||(o._timers=[]);var t=setTimeout(function(){a(),c.clearTimeout(o,t)},r);return o._timers.push(t),t};c.clearTimeout=function(o,a){var r=o._timers;if(c.typeOf(r)==="Array"){for(var t=0;t-1&&t.indexOf(u)>-1?(i=parseFloat(r.slice(0,r.indexOf(u)).trim()),n=parseFloat(t.slice(0,t.indexOf(u)).trim()),s=u,!1):!0}),e.style.width="".concat(i).concat(s),e.style.height="".concat(n).concat(s),e.style.backgroundSize="".concat(i).concat(s," ").concat(n).concat(s),o==="start"?e.style.margin="-".concat(n/2).concat(s," auto auto -").concat(i/2).concat(s):e.style.margin="auto 5px auto 5px"}return e};c.Hex2RGBA=function(o,a){var r=[];if(/^\#[0-9A-F]{3}$/i.test(o)){var t="#";o.replace(/[0-9A-F]/ig,function(e){t+=e+e}),o=t}return/^#[0-9A-F]{6}$/i.test(o)?(o.replace(/[0-9A-F]{2}/ig,function(e){r.push(parseInt(e,16))}),"rgba(".concat(r.join(","),", ").concat(a,")")):"rgba(255, 255, 255, 0.1)"};c.getFullScreenEl=function(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement};c.checkIsFunction=function(o){return o&&typeof o=="function"};c.checkIsObject=function(o){return o!==null&&W(o)==="object"};c.hide=function(o){o.style.display="none"};c.show=function(o,a){o.style.display=a||"block"};c.isUndefined=function(o){if(typeof o=="undefined"||o===null)return!0};c.isNotNull=function(o){return o!=null};c.setStyleFromCsstext=function(o,a){if(a)if(c.typeOf(a)==="String"){var r=a.replace(/\s+/g,"").split(";");r.map(function(t){if(t){var e=t.split(":");e.length>1&&(o.style[e[0]]=e[1])}})}else Object.keys(a).map(function(t){o.style[t]=a[t]})};function dn(o,a){for(var r=0,t=a.length;r-1)return!0;return!1}c.filterStyleFromText=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["width","height","top","left","bottom","right","position","z-index","padding","margin","transform"],r=o.style.cssText;if(!r)return{};var t=r.replace(/\s+/g,"").split(";"),e={},i={};return t.map(function(n){if(n){var s=n.split(":");s.length>1&&(dn(s[0],a)?e[s[0]]=s[1]:i[s[0]]=s[1])}}),o.setAttribute("style",""),Object.keys(i).map(function(n){o.style[n]=i[n]}),e};c.getStyleFromCsstext=function(o){var a=o.style.cssText;if(!a)return{};var r=a.replace(/\s+/g,"").split(";"),t={};return r.map(function(e){if(e){var i=e.split(":");i.length>1&&(t[i[0]]=i[1])}}),t};c.preloadImg=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){};if(o){var t=new window.Image;t.onload=function(e){t=null,a&&a(e)},t.onerror=function(e){t=null,r&&r(e)},t.src=o}};c.stopPropagation=function(o){o&&o.stopPropagation()};c.scrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0};c.scrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0};c.checkTouchSupport=function(){return"ontouchstart"in window};c.getBuffered2=function(o){for(var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:.5,r=[],t=0;ts&&(e[n-1].end=r[i].end):e.push(r[i])}else e.push(r[i])}else e=r;return new hn(e)};c.getEventPos=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return o.touches&&o.touches.length>0&&(o=o.touches[0]),{x:o.x/a,y:o.y/a,clientX:o.clientX/a,clientY:o.clientY/a,offsetX:o.offsetX/a,offsetY:o.offsetY/a,pageX:o.pageX/a,pageY:o.pageY/a}};c.requestAnimationFrame=function(o){var a=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame;if(a)return a(o)};c.getHostFromUrl=function(o){if(c.typeOf(o)!=="String")return"";var a=o.split("/"),r="";return a.length>3&&a[2]&&(r=a[2]),r};c.cancelAnimationFrame=function(o){var a=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.cancelRequestAnimationFrame;a&&a(o)};c.isMSE=function(o){return o.media&&(o=o.media),!o||!(o instanceof HTMLMediaElement)?!1:/^blob/.test(o.currentSrc)||/^blob/.test(o.src)};c.isBlob=function(o){return typeof o=="string"&&/^blob/.test(o)};c.generateSessionId=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,a=new Date().getTime();try{o=parseInt(o)}catch(t){o=0}a+=o,window.performance&&typeof window.performance.now=="function"&&(a+=parseInt(window.performance.now()));var r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var e=(a+Math.random()*16)%16|0;return a=Math.floor(a/16),(t==="x"?e:e&3|8).toString(16)});return r};c.createEvent=function(o){var a;return typeof window.Event=="function"?a=new Event(o):(a=document.createEvent("Event"),a.initEvent(o,!0,!0)),a};c.adjustTimeByDuration=function(o,a,r){return!a||!o?o:o>a||r&&o0&&arguments[0]!==void 0?arguments[0]:{x:0,y:0,scale:1,rotate:0},a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",r={scale:"".concat(o.scale||1),translate:"".concat(o.x||0,"%, ").concat(o.y||0,"%"),rotate:"".concat(o.rotate||0,"deg")},t=Object.keys(r);return t.forEach(function(e){var i=new RegExp("".concat(e,"\\([^\\(]+\\)"),"g"),n="".concat(e,"(").concat(r[e],")");i.test(a)?(i.lastIndex=-1,a=a.replace(i,n)):a+="".concat(n," ")}),a};c.convertDeg=function(o){return Math.abs(o)<=1?o*360:o%360};c.getIndexByTime=function(o,a){var r=a.length,t=-1;if(r<1)return t;if(o<=a[0].end||r<2)t=0;else if(o>a[r-1].end)t=r-1;else for(var e=1;ea[e-1].end&&o<=a[e].end){t=e;break}return t};c.getOffsetCurrentTime=function(o,a){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:-1,t=-1;if(r>=0&&r=n&&o<=s?o-l:o>s&&t>=e-1?s:-1};c.getCurrentTimeByOffset=function(o,a){var r=-1;if(!a||a.length<0)return o;for(var t=0;t=a||Y<0||h&&Z>=i}function F(){var M=Date.now();if(k(M))return R(M);s=m(F,T(M))}function R(M){return s=void 0,d&&t?p(M):(t=e=void 0,n)}function H(){s!==void 0&&_(s),l=0,t=u=e=s=void 0}function L(){return s===void 0?n:R(Date.now())}function z(){return s!==void 0}function V(){for(var M=Date.now(),Y=k(M),Z=arguments.length,J=new Array(Z),pe=0;pe1,n=i||t&&!/(?:Mobile)/.test(o)||e&&/(?:Tablet)/.test(o),s=/(?:iPhone)/.test(o)&&!n,u=!s&&!t&&!r&&!n;return{isTablet:n,isPhone:s,isIpad:i,isIos:s||i,isAndroid:t,isPc:u,isSymbian:r,isWindowsPhone:a,isFireFox:e}},get osVersion(){if(typeof navigator=="undefined")return 0;var o=navigator.userAgent,a="";/(?:iPhone)|(?:iPad|PlayBook)/.test(o)?a=jt.ios:a=jt.android;var r=a?a.exec(o):[];if(r&&r.length>=3){var t=r[2].split(".");return t.length>0?parseInt(t[0]):0}return 0},get isWeixin(){if(typeof navigator=="undefined")return!1;var o=/(micromessenger)\/([\d.]+)/,a=o.exec(navigator.userAgent.toLocaleLowerCase());return!!a},isSupportMP4:function(){var a={isSupport:!1,mime:""};if(typeof document=="undefined")return a;if(this.supportResult)return this.supportResult;var r=document.createElement("video");return typeof r.canPlayType=="function"&&yn.map(function(t){r.canPlayType('video/mp4; codecs="'.concat(t,'"'))==="probably"&&(a.isSupport=!0,a.mime+="||".concat(t))}),this.supportResult=a,r=null,a},isMSESupport:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:'video/mp4; codecs="avc1.42E01E,mp4a.40.2"';if(typeof MediaSource=="undefined"||!MediaSource)return!1;try{return MediaSource.isTypeSupported(a)}catch(r){return this._logger.error(a,r),!1}},isHevcSupported:function(){return typeof MediaSource=="undefined"||!MediaSource.isTypeSupported?!1:MediaSource.isTypeSupported('video/mp4;codecs="hev1.1.6.L120.90"')||MediaSource.isTypeSupported('video/mp4;codecs="hev1.2.4.L120.90"')||MediaSource.isTypeSupported('video/mp4;codecs="hev1.3.E.L120.90"')||MediaSource.isTypeSupported('video/mp4;codecs="hev1.4.10.L120.90"')},probeConfigSupported:function(a){var r={supported:!1,smooth:!1,powerEfficient:!1};if(!a||typeof navigator=="undefined")return Promise.resolve(r);if(navigator.mediaCapabilities&&navigator.mediaCapabilities.decodingInfo)return navigator.mediaCapabilities.decodingInfo(a);var t=a.video||{},e=a.audio||{};try{var i=MediaSource.isTypeSupported(t.contentType),n=MediaSource.isTypeSupported(e.contentType);return Promise.resolve({supported:i&&n,smooth:!1,powerEfficient:!1})}catch(s){return Promise.resolve(r)}}},Ct="3.0.17",Gt={1:"media",2:"media",3:"media",4:"media",5:"media",6:"media"},Wt={1:5101,2:5102,3:5103,4:5104,5:5105,6:5106},Ve=S(function o(a){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{errorType:"",errorCode:0,errorMessage:"",originError:"",ext:{},mediaError:null};E(this,o);var t=a&&a.i18n?a.i18n.ERROR_TYPES:null;if(a.media){var e=r.mediaError?r.mediaError:a.media.error||{},i=a.duration,n=a.currentTime,s=a.ended,u=a.src,l=a.currentSrc,f=a.media,h=f.readyState,d=f.networkState,g=r.errorCode||e.code;Wt[g]&&(g=Wt[g]);var p={playerVersion:Ct,currentTime:n,duration:i,ended:s,readyState:h,networkState:d,src:u||l,errorType:r.errorType,errorCode:g,message:r.errorMessage||e.message,mediaError:e,originError:r.originError?r.originError.stack:"",host:c.getHostFromUrl(u||l)};return r.ext&&Object.keys(r.ext).map(function(T){p[T]=r.ext[T]}),p}else if(arguments.length>1){for(var m={playerVersion:Ct,domain:document.domain},_=["errorType","currentTime","duration","networkState","readyState","src","currentSrc","ended","errd","errorCode","mediaError"],b=0;b0&&arguments[0]!==void 0?arguments[0]:this.media;this._evHandlers||(this._evHandlers=Oi.map(function(n){var s="on".concat(n.charAt(0).toUpperCase()).concat(n.slice(1));return typeof e[s]=="function"&&e.on(n,e[s]),y({},n,Ln(n,e))})),this._evHandlers.forEach(function(n){var s=Object.keys(n)[0];i.addEventListener(s,n[s],!1)})}},{key:"detachVideoEvents",value:function(){var e=this,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.media;this._evHandlers.forEach(function(n){var s=Object.keys(n)[0];i.removeEventListener(s,n[s],!1)}),this._evHandlers.forEach(function(n){var s=Object.keys(n)[0],u="on".concat(s.charAt(0).toUpperCase()).concat(s.slice(1));typeof e[u]=="function"&&e.off(s,e[u])}),this._evHandlers=null}},{key:"_attachSourceEvents",value:function(e,i){var n=this;e.removeAttribute("src"),e.load(),i.forEach(function(h,d){n.media.appendChild(c.createDom("source","",{src:"".concat(h.src),type:"".concat(h.type||""),"data-index":d+1}))});var s=e.children;if(s){this._videoSourceCount=s.length,this._videoSourceIndex=s.length,this._vLoadeddata=function(h){n.emit(Ri,{src:h.target.currentSrc,host:c.getHostFromUrl(h.target.currentSrc)})};for(var u=null,l=0;l=n._videoSourceCount){var g={code:4,message:"sources_load_error"};u?u.error(h,g):n.errorHandler("error",g)}var p=Gt[4];n.emit(Di,new Ve(n,{errorType:p,errorCode:4,errorMessage:"sources_load_error",mediaError:{code:4,message:"sources_load_error"},src:h.target.src}))});for(var f=0;f0;)e.removeChild(i[0]);this._vLoadeddata&&e.removeEventListener("loadeddata",this._vLoadeddata)}}},{key:"errorHandler",value:function(e){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(this.media&&(this.media.error||i)){var n=this.media.error||i,s=n.code?Gt[n.code]:"other",u=n.message;this.media.currentSrc||(u="empty_src",n={code:6,message:u}),this.emit(e,new Ve(this,{errorType:s,errorCode:n.code,errorMessage:n.message||"",mediaError:n}))}}},{key:"destroy",value:function(){this.media&&(this.media.pause&&(this.media.pause(),this.media.muted=!0),this.media.removeAttribute("src"),this.media.load()),this._currentTime=0,this._duration=0,this.mediaConfig=null;for(var e in this._interval)Object.prototype.hasOwnProperty.call(this._interval,e)&&(clearInterval(this._interval[e]),this._interval[e]=null);this.detachVideoEvents(),this.media=null,this.mediaEventMiddleware={},this.removeAllListeners()}},{key:"video",get:function(){return this.media},set:function(e){this.media=e}},{key:"play",value:function(){var e=this.media?this.media.play():null;return e}},{key:"pause",value:function(){this.media&&this.media.pause()}},{key:"load",value:function(){this.media&&this.media.load()}},{key:"canPlayType",value:function(e){return this.media?this.media.canPlayType(e):!1}},{key:"getBufferedRange",value:function(e){var i=[0,0];if(!this.media)return i;e||(e=this.media.buffered);var n=this.media.currentTime;if(e)for(var s=0,u=e.length;s=this.currentTime)return{start:i.start(n),end:i.end(n)};return e}},{key:"crossOrigin",get:function(){return this.media?this.media.crossOrigin:""},set:function(e){this.media&&(this.media.crossOrigin=e)}},{key:"currentSrc",get:function(){return this.media?this.media.currentSrc:""},set:function(e){this.media&&(this.media.currentSrc=e)}},{key:"currentTime",get:function(){return this.media?this.media.currentTime!==void 0?this.media.currentTime:this._currentTime:0},set:function(e){this.media&&(this.media.currentTime=e)}},{key:"defaultMuted",get:function(){return this.media?this.media.defaultMuted:!1},set:function(e){this.media&&(this.media.defaultMuted=e)}},{key:"duration",get:function(){return this._duration}},{key:"ended",get:function(){return this.media?this.media.ended:!1}},{key:"error",get:function(){return this.media.error}},{key:"errorNote",get:function(){var e=this.media.error;if(!e)return"";var i=["MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED"];return i[this.media.error.code-1]}},{key:"loop",get:function(){return this.media?this.media.loop:!1},set:function(e){this.media&&(this.media.loop=e)}},{key:"muted",get:function(){return this.media?this.media.muted:!1},set:function(e){!this.media||this.media.muted===e||(this._lastMuted=this.media.muted,this.media.muted=e)}},{key:"networkState",get:function(){return this.media.networkState}},{key:"paused",get:function(){return this.media?this.media.paused:!0}},{key:"playbackRate",get:function(){return this.media?this.media.playbackRate:0},set:function(e){!this.media||e===1/0||(this.media.defaultPlaybackRate=e,this.media.playbackRate=e)}},{key:"played",get:function(){return this.media?this.media.played:null}},{key:"preload",get:function(){return this.media?this.media.preload:!1},set:function(e){this.media&&(this.media.preload=e)}},{key:"readyState",get:function(){return this.media.readyState}},{key:"seekable",get:function(){return this.media?this.media.seekable:!1}},{key:"seeking",get:function(){return this.media?this.media.seeking:!1}},{key:"src",get:function(){return this.media?this.media.src:""},set:function(e){if(this.media){if(this.emit(Qe,e),this.emit(Oe),this._currentTime=0,this._duration=0,c.isMSE(this.media)){this.onWaiting();return}this._detachSourceEvents(this.media),c.typeOf(e)==="Array"?this._attachSourceEvents(this.media,e):e?this.media.src=e:this.media.removeAttribute("src"),this.load()}}},{key:"volume",get:function(){return this.media?this.media.volume:0},set:function(e){e===1/0||!this.media||(this.media.volume=e)}},{key:"aspectRatio",get:function(){return this.media?this.media.videoWidth/this.media.videoHeight:0}},{key:"addInnerOP",value:function(e){this._internalOp[e]=!0}},{key:"removeInnerOP",value:function(e){delete this._internalOp[e]}},{key:"emit",value:function(e,i){for(var n,s=arguments.length,u=new Array(s>2?s-2:0),l=2;l2?s-2:0),l=2;l2?s-2:0),l=2;l2?s-2:0),l=2;l0&&arguments[0]!==void 0?arguments[0]:{name:"xgplayer",version:1,db:null,ojstore:{name:"xg-m4a",keypath:"vid"}};E(this,o),this.indexedDB=window.indexedDB||window.webkitindexedDB,this.IDBKeyRange=window.IDBKeyRange||window.webkitIDBKeyRange,this.myDB=a}return S(o,[{key:"openDB",value:function(r){var t=this,e=this,i=this.myDB.version||1,n=e.indexedDB.open(e.myDB.name,i);n.onerror=function(s){},n.onsuccess=function(s){t.myDB.db=s.target.result,r.call(e)},n.onupgradeneeded=function(s){var u=s.target.result;s.target.transaction,u.objectStoreNames.contains(e.myDB.ojstore.name)||u.createObjectStore(e.myDB.ojstore.name,{keyPath:e.myDB.ojstore.keypath})}}},{key:"deletedb",value:function(){var r=this;r.indexedDB.deleteDatabase(this.myDB.name)}},{key:"closeDB",value:function(){this.myDB.db.close()}},{key:"addData",value:function(r,t){for(var e=this.myDB.db.transaction(r,"readwrite").objectStore(r),i,n=0;n3?t-3:0),i=3;i2&&arguments[2]!==void 0?arguments[2]:{pre:null,next:null};return this.__hooks||(this.__hooks={}),!this.__hooks[o]&&(this.__hooks[o]=null),function(){var t=arguments,e=this;if(r.pre)try{var i;(i=r.pre).call.apply(i,[this].concat(Array.prototype.slice.call(arguments)))}catch(u){throw u.message="[pluginName: ".concat(this.pluginName,":").concat(o,":pre error] >> ").concat(u.message),u}if(this.__hooks&&this.__hooks[o])try{var n,s=(n=this.__hooks[o]).call.apply(n,[this,this].concat(Array.prototype.slice.call(arguments)));s?s.then?s.then(function(u){u!==!1&&Ne.apply(void 0,[e,a,r.next].concat(Q(t)))}).catch(function(u){throw u}):Ne.apply(void 0,[this,a,r.next].concat(Array.prototype.slice.call(arguments))):s===void 0&&Ne.apply(void 0,[this,a,r.next].concat(Array.prototype.slice.call(arguments)))}catch(u){throw u.message="[pluginName: ".concat(this.pluginName,":").concat(o,"] >> ").concat(u.message),u}else Ne.apply(void 0,[this,a,r.next].concat(Array.prototype.slice.call(arguments)))}.bind(this)}function Xe(o,a){var r=this.__hooks;if(r)return r.hasOwnProperty(o)?(r&&(r[o]=a),!0):(console.warn("has no supported hook which name [".concat(o,"]")),!1)}function $e(o,a){var r=this.__hooks;r&&delete r[o]}function Xt(o){if(!(!this.plugins||!this.plugins[o.toLowerCase()])){for(var a=this.plugins[o.toLowerCase()],r=arguments.length,t=new Array(r>1?r-1:0),e=1;e1?r-1:0),e=1;e1&&arguments[1]!==void 0?arguments[1]:[];o.__hooks={},a&&a.map(function(r){o.__hooks[r]=null}),Object.defineProperty(o,"hooks",{get:function(){return o.__hooks&&Object.keys(o.__hooks).map(function(t){if(o.__hooks[t])return t})}})}function Bi(o){o.__hooks=null}function re(o,a,r){for(var t=arguments.length,e=new Array(t>3?t-3:0),i=3;i1?e-1:0),n=1;n2&&arguments[2]!==void 0?arguments[2]:{};if(this.player){var i=U(U({},e),{},{pluginName:this.pluginName});this.player.emitUserAction(r,t,i)}}},{key:"hook",value:function(r,t){return Ye.call.apply(Ye,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"useHooks",value:function(r,t){for(var e=arguments.length,i=new Array(e>2?e-2:0),n=2;n2?e-2:0),n=2;n1&&arguments[1]!==void 0?arguments[1]:{},e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"";if(this.player)return e&&(t.pluginName=e),this.player.registerPlugin({plugin:r,options:t})}},{key:"getPlugin",value:function(r){return this.player?this.player.getPlugin(r):null}},{key:"__destroy",value:function(){var r=this,t=this.player,e=this.pluginName;this.offAll(),c.clearAllTimers(this),c.checkIsFunction(this.destroy)&&this.destroy(),["player","playerConfig","pluginName","logger","__args","__hooks"].map(function(i){r[i]=null}),t.unRegisterPlugin(e),Bi(this)}}],[{key:"defineGetterOrSetter",value:function(r,t){for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&Object.defineProperty(r,e,t[e])}},{key:"defaultConfig",get:function(){return{}}},{key:"pluginName",get:function(){return"pluginName"}}]),o}(),Rn=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var ke=Element.prototype;ke.matches=ke.matchesSelector||ke.mozMatchesSelector||ke.msMatchesSelector||ke.oMatchesSelector||ke.webkitMatchesSelector}function On(o,a){for(;o&&o.nodeType!==Rn;){if(typeof o.matches=="function"&&o.matches(a))return o;o=o.parentNode}}var Mn=On,Nn=Mn;function ot(o,a,r,t,e){var i=Bn.apply(this,arguments);return o.addEventListener(r,i,e),{destroy:function(){o.removeEventListener(r,i,e)}}}function Fn(o,a,r,t,e){return typeof o.addEventListener=="function"?ot.apply(null,arguments):typeof r=="function"?ot.bind(null,document).apply(null,arguments):(typeof o=="string"&&(o=document.querySelectorAll(o)),Array.prototype.map.call(o,function(i){return ot(i,a,r,t,e)}))}function Bn(o,a,r,t){return function(e){e.delegateTarget=Nn(e.target,a),e.delegateTarget&&t.call(o,e)}}var Hn=Fn;const qt=Et(Hn);var Un={CONTROLS:"controls",ROOT:"root"},B={ROOT:"root",ROOT_LEFT:"rootLeft",ROOT_RIGHT:"rootRight",ROOT_TOP:"rootTop",CONTROLS_LEFT:"controlsLeft",CONTROLS_RIGTH:"controlsRight",CONTROLS_RIGHT:"controlsRight",CONTROLS_CENTER:"controlsCenter",CONTROLS:"controls"},Zt={ICON_DISABLE:"xg-icon-disable",ICON_HIDE:"xg-icon-hide"};function ut(o){return o?o.indexOf&&/^(?:http|data:|\/)/.test(o):!1}function Vn(o,a){return W(o)==="object"&&o.class&&typeof o.class=="string"?"".concat(a," ").concat(o.class):a}function jn(o,a){return W(o)==="object"&&o.attr&&W(o.attr)==="object"&&Object.keys(o.attr).map(function(r){a[r]=o.attr[r]}),a}function Jt(o,a){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},e=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"",i=null;if(o instanceof window.Element)return c.addClass(o,r),Object.keys(t).map(function(n){o.setAttribute(n,t[n])}),o;if(ut(o)||ut(o.url))return t.src=ut(o)?o:o.url||"",i=c.createDom(o.tag||"img","",t,"xg-img ".concat(r)),i;if(typeof o=="function")try{return i=o(),i instanceof window.Element?(c.addClass(i,r),Object.keys(t).map(function(n){i.setAttribute(n,t[n])}),i):(D.logWarn("warn>>icons.".concat(a," in config of plugin named [").concat(e,"] is a function mast return an Element Object")),null)}catch(n){return D.logError("Plugin named [".concat(e,"]:createIcon"),n),null}return typeof o=="string"?c.createDomFromHtml(o,t,r):(D.logWarn("warn>>icons.".concat(a," in config of plugin named [").concat(e,"] is invalid")),null)}function Gn(o,a){var r=a.config.icons||a.playerConfig.icons;Object.keys(o).map(function(t){var e=o[t],i=e&&e.class?e.class:"",n=e&&e.attr?e.attr:{},s=null;r&&r[t]&&(i=Vn(r[t],i),n=jn(r[t],n),s=Jt(r[t],t,i,n,a.pluginName)),!s&&e&&(s=Jt(e.icon?e.icon:e,n,i,{},a.pluginName)),a.icons[t]=s})}function Wn(o,a){Object.keys(o).map(function(r){Object.defineProperty(a.langText,r,{get:function(){var e=a.lang,i=a.i18n;return i[r]?i[r]:o[r]&&o[r][e]||""}})})}var N=function(o){w(r,o);var a=x(r);function r(){var t,e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return E(this,r),t=a.call(this,e),t.__delegates=[],t}return S(r,[{key:"__init",value:function(e){if(I(P(r.prototype),"__init",this).call(this,e),!!e.root){var i=e.root,n=null;this.icons={},this.root=null,this.parent=null;var s=this.registerIcons()||{};Gn(s,this),this.langText={};var u=this.registerLanguageTexts()||{};Wn(u,this);var l="";try{l=this.render()}catch(d){throw D.logError("Plugin:".concat(this.pluginName,":render"),d),new Error("Plugin:".concat(this.pluginName,":render:").concat(d.message))}if(l)n=r.insert(l,i,e.index),n.setAttribute("data-index",e.index);else if(e.tag)n=c.createDom(e.tag,"",e.attr,e.name),n.setAttribute("data-index",e.index),i.appendChild(n);else return;this.root=n,this.parent=i;var f=this.config.attr||{},h=this.config.style||{};this.setAttr(f),this.setStyle(h),this.config.index&&this.root.setAttribute("data-index",this.config.index),this.__registerChildren()}}},{key:"__registerChildren",value:function(){var e=this;if(this.root){this._children=[];var i=this.children();i&&W(i)==="object"&&Object.keys(i).length>0&&Object.keys(i).map(function(n){var s=n,u=i[s],l={root:e.root},f,h;typeof u=="function"?(f=e.config[s]||{},h=u):W(u)==="object"&&typeof u.plugin=="function"&&(f=u.options?c.deepCopy(e.config[s]||{},u.options):e.config[s]||{},h=u.plugin),l.config=f,f.index!==void 0&&(l.index=f.index),f.root&&(l.root=f.root),e.registerPlugin(h,l,s)})}}},{key:"updateLang",value:function(e){e||(e=this.lang);function i(l,f){for(var h=0;h0?i(l.children[h],f):f(l.children[h])}var n=this.root,s=this.i18n,u=this.langText;n&&i(n,function(l){var f=l.getAttribute&&l.getAttribute("lang-key");if(f){var h=s[f.toUpperCase()]||u[f];h&&(l.innerHTML=typeof h=="function"?h(e):h)}})}},{key:"lang",get:function(){return this.player.lang}},{key:"changeLangTextKey",value:function(e){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",n=this.i18n||{},s=this.langText;e.setAttribute&&e.setAttribute("lang-key",i);var u=n[i]||s[i]||"";u&&(e.innerHTML=u)}},{key:"plugins",value:function(){return this._children}},{key:"disable",value:function(){this.config.disable=!0,c.addClass(this.find(".xgplayer-icon"),Zt.ICON_DISABLE)}},{key:"enable",value:function(){this.config.disable=!1,c.removeClass(this.find(".xgplayer-icon"),Zt.ICON_DISABLE)}},{key:"children",value:function(){return{}}},{key:"registerPlugin",value:function(e){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"";i.root=i.root||this.root;var s=I(P(r.prototype),"registerPlugin",this).call(this,e,i,n);return this._children.push(s),s}},{key:"registerIcons",value:function(){return{}}},{key:"registerLanguageTexts",value:function(){return{}}},{key:"find",value:function(e){if(this.root)return this.root.querySelector(e)}},{key:"bind",value:function(e,i,n){var s=this;if(arguments.length<3&&typeof i=="function")Array.isArray(e)?e.forEach(function(l){s.bindEL(l,i)}):this.bindEL(e,i);else{var u=r.delegate.call(this,this.root,e,i,n);this.__delegates=this.__delegates.concat(u)}}},{key:"unbind",value:function(e,i){var n=this;if(arguments.length<3&&typeof i=="function")Array.isArray(e)?e.forEach(function(l){n.unbindEL(l,i)}):this.unbindEL(e,i);else for(var s="".concat(e,"_").concat(i),u=0;u2&&arguments[2]!==void 0?arguments[2]:!1;this.root&&"on".concat(e)in this.root&&typeof i=="function"&&this.root.addEventListener(e,i,n)}},{key:"unbindEL",value:function(e,i){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.root&&"on".concat(e)in this.root&&typeof i=="function"&&this.root.removeEventListener(e,i,n)}},{key:"show",value:function(e){if(this.root){this.root.style.display=e!==void 0?e:"block";var i=window.getComputedStyle(this.root,null),n=i.getPropertyValue("display");if(n==="none")return this.root.style.display="block"}}},{key:"hide",value:function(){this.root&&(this.root.style.display="none")}},{key:"appendChild",value:function(e,i){if(!this.root)return null;if(arguments.length<2&&arguments[0]instanceof window.Element)return this.root.appendChild(arguments[0]);if(!i||!(i instanceof window.Element))return null;try{return typeof e=="string"?this.find(e).appendChild(i):e.appendChild(i)}catch(n){return D.logError("Plugin:appendChild",n),null}}},{key:"render",value:function(){return""}},{key:"destroy",value:function(){}},{key:"__destroy",value:function(){var e=this,i=this.player;this.__delegates.map(function(n){n.destroy()}),this.__delegates=[],this._children instanceof Array&&(this._children.map(function(n){i.unRegisterPlugin(n.pluginName)}),this._children=null),this.root&&(this.root.hasOwnProperty("remove")?this.root.remove():this.root.parentNode&&this.root.parentNode.removeChild(this.root)),I(P(r.prototype),"__destroy",this).call(this),this.icons={},["root","parent"].map(function(n){e[n]=null})}}],[{key:"insert",value:function(e,i){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=i.children.length,u=Number(n),l=e instanceof window.Node;if(s){for(var f=0,h=null,d="";f=u){d="beforebegin";break}else g4&&arguments[4]!==void 0?arguments[4]:!1,l=[];if(e instanceof window.Node&&typeof s=="function")if(Array.isArray(n))n.forEach(function(h){var d=qt(e,i,h,s,u);d.key="".concat(i,"_").concat(h),l.push(d)});else{var f=qt(e,i,n,s,u);f.key="".concat(i,"_").concat(n),l.push(f)}return l}},{key:"ROOT_TYPES",get:function(){return Un}},{key:"POSITIONS",get:function(){return B}}]),r}(he),zn=function(){function o(){var a=this;if(E(this,o),y(this,"__trigger",function(r){var t=new Date().getTime();a.timeStamp=t;for(var e=0;e-1?this.__handlers[n].handler=t:this.__handlers.push({target:r,handler:t,playerId:e})}}},{key:"unObserver",value:function(r){var t=-1;this.__handlers.map(function(e,i){r===e.target&&(t=i)});try{this.observer&&this.observer.unobserve(r)}catch(e){}this.observer&&this.observer.unobserve(r),t>-1&&this.__handlers.splice(t,1)}},{key:"destroyObserver",value:function(){this.observer&&this.observer.disconnect(),this.observer=null,this.__handlers=null}},{key:"__runHandler",value:function(r){for(var t=this.__handlers,e=0;e2&&arguments[2]!==void 0?arguments[2]:{};if(!(!a||!r||typeof r!="function"||r.prototype===void 0)){var e=a._pluginInfoId;if(!(!e||!this.pluginGroup[e])){this.pluginGroup[e]._plugins||(this.pluginGroup[e]._plugins={});var i=this.pluginGroup[e]._plugins,n=this.pluginGroup[e]._originalOptions;t.player=a;var s=t.pluginName||r.pluginName;if(!s)throw new Error("The property pluginName is necessary");if(r.isSupported&&!r.isSupported(a.config.mediaType,a.config.codecType)){console.warn("not supported plugin [".concat(s,"]"));return}t.config||(t.config={});for(var u=Object.keys(n),l=0;l1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;if(this.root){var s=e.defaultConfig||{};if(!i.root){var u=i.position?i.position:i.config&&i.config.position?i.config.position:s.position;switch(u){case B.CONTROLS_LEFT:i.root=this.left;break;case B.CONTROLS_RIGHT:i.root=this.right;break;case B.CONTROLS_CENTER:i.root=this.center;break;case B.CONTROLS:i.root=this.root;break;default:i.root=this.left}return I(P(r.prototype),"registerPlugin",this).call(this,e,i,n)}}}},{key:"destroy",value:function(){A.device!=="mobile"&&(this.unbind("mouseenter",this.onMouseEnter),this.unbind("mouseleave",this.onMouseLeave))}},{key:"render",value:function(){var e=this.config,i=e.mode,n=e.autoHide,s=e.initShow,u=e.disable;if(!u){var l=c.classNames({"xgplayer-controls":!0},{"flex-controls":i==="flex"},{"bottom-controls":i==="bottom"},y({},C.CONTROLS_AUTOHIDE,n),{"xgplayer-controls-initshow":s||!n});return' `)}}}],[{key:"pluginName",get:function(){return"controls"}},{key:"defaultConfig",get:function(){return{disable:!1,autoHide:!0,mode:"",initShow:!1}}}]),r}(N),qn={LANG:"en",TEXT:{ERROR_TYPES:{network:{code:1,msg:"video download error"},mse:{code:2,msg:"stream append error"},parse:{code:3,msg:"parsing error"},format:{code:4,msg:"wrong format"},decoder:{code:5,msg:"decoding error"},runtime:{code:6,msg:"grammatical errors"},timeout:{code:7,msg:"play timeout"},other:{code:8,msg:"other errors"}},HAVE_NOTHING:"There is no information on whether audio/video is ready",HAVE_METADATA:"Audio/video metadata is ready ",HAVE_CURRENT_DATA:"Data about the current play location is available, but there is not enough data to play the next frame/millisecond",HAVE_FUTURE_DATA:"Current and at least one frame of data is available",HAVE_ENOUGH_DATA:"The available data is sufficient to start playing",NETWORK_EMPTY:"Audio/video has not been initialized",NETWORK_IDLE:"Audio/video is active and has been selected for resources, but no network is used",NETWORK_LOADING:"The browser is downloading the data",NETWORK_NO_SOURCE:"No audio/video source was found",MEDIA_ERR_ABORTED:"The fetch process is aborted by the user",MEDIA_ERR_NETWORK:"An error occurred while downloading",MEDIA_ERR_DECODE:"An error occurred while decoding",MEDIA_ERR_SRC_NOT_SUPPORTED:"Audio/video is not supported",REPLAY:"Replay",ERROR:"Network is offline",PLAY_TIPS:"Play",PAUSE_TIPS:"Pause",PLAYNEXT_TIPS:"Play next",DOWNLOAD_TIPS:"Download",ROTATE_TIPS:"Rotate",RELOAD_TIPS:"Reload",FULLSCREEN_TIPS:"Fullscreen",EXITFULLSCREEN_TIPS:"Exit fullscreen",CSSFULLSCREEN_TIPS:"Cssfullscreen",EXITCSSFULLSCREEN_TIPS:"Exit cssfullscreen",TEXTTRACK:"Caption",PIP:"PIP",SCREENSHOT:"Screenshot",LIVE:"LIVE",OFF:"Off",OPEN:"Open",MINI_DRAG:"Click and hold to drag",MINISCREEN:"Miniscreen",REFRESH_TIPS:"Please Try",REFRESH:"Refresh",FORWARD:"forward",LIVE_TIP:"Live"}},X={lang:{},langKeys:[],textKeys:[]};function De(o,a){return Object.keys(a).forEach(function(r){var t=c.typeOf(a[r]),e=c.typeOf(o[r]);if(t==="Array"){var i;e!=="Array"&&(o[r]=[]),(i=o[r]).push.apply(i,Q(a[r]))}else t==="Object"?(e!=="Object"&&(o[r]={}),De(o[r],a[r])):o[r]=a[r]}),o}function Hi(){Object.keys(X.lang.en).map(function(o){X.textKeys[o]=o})}function Zn(o,a){var r=[];if(a||(a=X),!!a.lang){c.typeOf(o)!=="Array"?r=Object.keys(o).map(function(i){var n=i==="zh"?"zh-cn":i;return{LANG:n,TEXT:o[i]}}):r=o;var t=a,e=t.lang;r.map(function(i){i.LANG==="zh"&&(i.LANG="zh-cn"),e[i.LANG]?De(e[i.LANG]||{},i.TEXT||{}):Rt(i,a)}),Hi()}}function Rt(o,a){var r=o.LANG;if(a||(a=X),!!a.lang){var t=o.TEXT||{};r==="zh"&&(r="zh-cn"),a.lang[r]?De(a.lang[r],t):(a.langKeys.push(r),a.lang[r]=t),Hi()}}function Jn(o){var a,r={lang:{},langKeys:[],textKeys:{},pId:o};return De(r.lang,X.lang),(a=r.langKeys).push.apply(a,Q(X.langKeys)),De(r.textKeys,X.textKeys),r}Rt(qn);var Pe={get textKeys(){return X.textKeys},get langKeys(){return X.langKeys},get lang(){var o={};return X.langKeys.map(function(a){o[a]=X.lang[a]}),X.lang["zh-cn"]&&(o.zh=X.lang["zh-cn"]||{}),o},extend:Zn,use:Rt,init:Jn},O={INITIAL:1,READY:2,ATTACHING:3,ATTACHED:4,NOTALLOW:5,RUNNING:6,ENDED:7,DESTROYED:8},ei=["ERROR","INITIAL","READY","ATTACHING","ATTACHED","NOTALLOW","RUNNING","ENDED","DESTROYED"],K={},lt=null,Ui=function(o){w(r,o);var a=x(r);function r(){return E(this,r),a.apply(this,arguments)}return S(r,[{key:"add",value:function(e){e&&(K[e.playerId]=e,Object.keys(K).length===1&&this.setActive(e.playerId,!0))}},{key:"remove",value:function(e){e&&(e.isUserActive,delete K[e.playerId])}},{key:"_iterate",value:function(e){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;for(var n in K)if(Object.prototype.hasOwnProperty.call(K,n)){var s=K[n];if(i){if(e(s))break}else e(s)}}},{key:"forEach",value:function(e){this._iterate(e)}},{key:"find",value:function(e){var i=null;return this._iterate(function(n){var s=e(n);return s&&(i=n),s},!0),i}},{key:"findAll",value:function(e){var i=[];return this._iterate(function(n){e(n)&&i.push(n)}),i}},{key:"setActive",value:function(e){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(K[e])return i?this.forEach(function(n){e===n.playerId?(n.isUserActive=!0,n.isInstNext=!1):n.isUserActive=!1}):K[e].isUserActive=i,e}},{key:"getActiveId",value:function(){for(var e=Object.keys(K),i=0;i1&&arguments[1]!==void 0?arguments[1]:!0;if(K[e])return i?this.forEach(function(n){e===n.playerId?(n.isUserActive=!1,n.isInstNext=!0):n.isInstNext=!1}):K[e].isInstNext=i,e}}],[{key:"getInstance",value:function(){return lt||(lt=new r),lt}}]),r}(mi.EventEmitter);function Qn(o){for(var a=Object.keys(K),r=0;r0&&e.duration>0&&(e.currentTime=e.__startTime>e.duration?e.duration:e.__startTime,e.__startTime=-1),e.playbackRate=_,(m||e._useAutoplay)&&e.mediaPlay(),e.off(se,e.canPlayFunc),e.removeClass(C.ENTER)}}),y(v(e),"onFullscreenChange",function(p,m){var _=function(){c.setTimeout(v(e),function(){e.resize()},100)},b=c.getFullScreenEl();e._fullActionFrom?e._fullActionFrom="":e.emit(Ke,{eventType:"system",action:"switch_fullscreen",pluginName:"player",currentTime:e.currentTime,duration:e.duration,props:[{prop:"fullscreen",from:!0,to:!1}]});var T=mn(b,e.playerId,ve);if(m||b&&(b===e._fullscreenEl||T))_(),!e.config.closeFocusVideoFocus&&e.media.focus(),e.fullscreen=!0,e.changeFullStyle(e.root,b,C.FULLSCREEN),e.emit(ne,!0,e._fullScreenOffset),e.cssfullscreen&&e.exitCssFullscreen();else if(e.fullscreen){_();var k=v(e),F=k._fullScreenOffset,R=k.config;R.needFullscreenScroll?(window.scrollTo(F.left,F.top),c.setTimeout(v(e),function(){e.fullscreen=!1,e._fullScreenOffset=null},100)):(!e.config.closeFocusVideoFocus&&e.media.focus(),e.fullscreen=!1,e._fullScreenOffset=null),e.cssfullscreen?e.removeClass(C.FULLSCREEN):e.recoverFullStyle(e.root,e._fullscreenEl,C.FULLSCREEN),e._fullscreenEl=null,e.emit(ne,!1)}}),y(v(e),"_onWebkitbeginfullscreen",function(p){e._fullscreenEl=e.media,e.onFullscreenChange(p,!0)}),y(v(e),"_onWebkitendfullscreen",function(p){e.onFullscreenChange(p,!1)}),Fi(v(e),er),e.config=i,e._pluginInfoId=c.generateSessionId(),fn(v(e));var n=e.constructor.defaultPreset;if(e.config.presets.length){var s=e.config.presets.indexOf("default");s>=0&&n&&(e.config.presets[s]=n)}else n&&e.config.presets.push(n);e.userTimer=null,e.waitTimer=null,e.handleSource=!0,e._state=O.INITIAL,e.isError=!1,e._hasStart=!1,e.isSeeking=!1,e.isCanplay=!1,e._useAutoplay=!1,e.__startTime=-1,e.rotateDeg=0,e.isActive=!1,e.fullscreen=!1,e.cssfullscreen=!1,e.isRotateFullscreen=!1,e._fullscreenEl=null,e.timeSegments=[],e._cssfullscreenEl=null,e.curDefinition=null,e._orgCss="",e._fullScreenOffset=null,e._videoHeight=0,e._videoWidth=0,e.videoPos={pi:1,scale:0,rotate:-1,x:0,y:0,h:-1,w:-1,vy:0,vx:0},e.sizeInfo={width:0,height:0,left:0,top:0},e._accPlayed={t:0,acc:0,loopAcc:0},e._offsetInfo={currentTime:-1,duration:0},e.innerContainer=null,e.controls=null,e.topBar=null,e.root=null,e.__i18n=Pe.init(e._pluginInfoId),A.os.isAndroid&&A.osVersion>0&&A.osVersion<6&&(e.config.autoplay=!1),e.database=new Dn,e.isUserActive=!1,e._onceSeekCanplay=null,e._isPauseBeforeSeek=0,e.innerStates={isActiveLocked:!1},e.instManager=ue;var u=e._initDOM();if(!u)return console.error(new Error("can't find the dom which id is ".concat(e.config.id," or this.config.el does not exist"))),St(e);var l=e.config,f=l.definition,h=f===void 0?{}:f,d=l.url;if(!d&&h.list&&h.list.length>0){var g=h.list.find(function(p){return p.definition&&p.definition===h.defaultDefinition});g||(h.defaultDefinition=h.list[0].definition,g=h.list[0]),e.config.url=g.url,e.curDefinition=g}return e._bindEvents(),e._registerPresets(),e._registerPlugins(),j.onPluginsReady(v(e)),e.getInitDefinition(),e.setState(O.READY),c.setTimeout(v(e),function(){e.emit(It)},0),e.onReady&&e.onReady(),(e.config.videoInit||e.config.autoplay)&&(!e.hasStart||e.state0?this._attachSourceEvents(this.media,e):!this.media.src||this.media.src!==e?this.media.src=e:e||this.media.removeAttribute("src")),c.typeOf(this.config.volume)==="Number"&&(this.volume=this.config.volume);var n=this.innerContainer?this.innerContainer:this.root;this.media instanceof window.Element&&!n.contains(this.media)&&n.insertBefore(this.media,n.firstChild);var s=this.media.readyState;D.logInfo("_startInit readyState",s),this.config.autoplay&&(!c.isMSE(this.media)&&this.load(),(A.os.isIpad||A.os.isPhone)&&this.mediaPlay());var u=this.config.startTime;this.__startTime=u>0?u:-1,this.config.startTime=0,s>=2&&this.duration>0?this.canPlayFunc():this.on(se,this.canPlayFunc),(!this.hasStart||this.state0&&arguments[0]!==void 0?arguments[0]:!0;this._loadingPlugins=[];var n=this.config.ignores||[],s=this.config.plugins||[],u=this.config.i18n||[];i&&Pe.extend(u,this.__i18n);var l=n.join("||").toLowerCase().split("||"),f=this.plugins;s.forEach(function(h){try{var d=h.plugin?h.plugin.pluginName:h.pluginName;if(d&&l.indexOf(d.toLowerCase())>-1)return null;if(!i&&f[d.toLowerCase()])return;if(h.lazy&&h.loader){var g=j.lazyRegister(e,h);h.forceBeforeInit&&(g.then(function(){e._loadingPlugins.splice(e._loadingPlugins.indexOf(g),1)}).catch(function(p){D.logError("_registerPlugins:loadingPlugin",p),e._loadingPlugins.splice(e._loadingPlugins.indexOf(g),1)}),e._loadingPlugins.push(g));return}return e.registerPlugin(h)}catch(p){D.logError("_registerPlugins:",p)}})}},{key:"_registerPresets",value:function(){var e=this;this.config.presets.forEach(function(i){Xn(e,i)})}},{key:"_getRootByPosition",value:function(e){var i=null;switch(e){case B.ROOT_RIGHT:this.rightBar||(this.rightBar=c.createPositionBar("xg-right-bar",this.root)),i=this.rightBar;break;case B.ROOT_LEFT:this.leftBar||(this.leftBar=c.createPositionBar("xg-left-bar",this.root)),i=this.leftBar;break;case B.ROOT_TOP:this.topBar||(this.topBar=c.createPositionBar("xg-top-bar",this.root),this.config.topBarAutoHide&&c.addClass(this.topBar,C.TOP_BAR_AUTOHIDE)),i=this.topBar;break;default:i=this.innerContainer||this.root;break}return i}},{key:"registerPlugin",value:function(e,i){var n=j.formatPluginInfo(e,i),s=n.PLUFGIN,u=n.options,l=this.config.plugins,f=j.checkPluginIfExits(s.pluginName,l);!f&&l.push(s);var h=j.getRootByConfig(s.pluginName,this.config);h.root&&(u.root=h.root),h.position&&(u.position=h.position);var d=u.position?u.position:u.config&&u.config.position||s.defaultConfig&&s.defaultConfig.position;return!u.root&&typeof d=="string"&&d.indexOf("controls")>-1?this.controls&&this.controls.registerPlugin(s,u,s.pluginName):(u.root||(u.root=this._getRootByPosition(d)),j.register(this,s,u))}},{key:"deregister",value:function(e){typeof e=="string"?j.unRegister(this,e):e instanceof he&&j.unRegister(this,e.pluginName)}},{key:"unRegisterPlugin",value:function(e){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.deregister(e),i&&this.removePluginFromConfig(e)}},{key:"removePluginFromConfig",value:function(e){var i;if(typeof e=="string"?i=e:e instanceof he&&(i=e.pluginName),!!i)for(var n=this.config.plugins.length-1;n>-1;n--){var s=this.config.plugins[n];if(s.pluginName.toLowerCase()===i.toLowerCase()){this.config.plugins.splice(n,1);break}}}},{key:"plugins",get:function(){return j.getPlugins(this)}},{key:"getPlugin",value:function(e){var i=j.findPlugin(this,e);return i&&i.pluginName?i:null}},{key:"addClass",value:function(e){this.root&&(c.hasClass(this.root,e)||c.addClass(this.root,e))}},{key:"removeClass",value:function(e){this.root&&c.removeClass(this.root,e)}},{key:"hasClass",value:function(e){if(this.root)return c.hasClass(this.root,e)}},{key:"setAttribute",value:function(e,i){this.root&&this.root.setAttribute(e,i)}},{key:"removeAttribute",value:function(e,i){this.root&&this.root.removeAttribute(e,i)}},{key:"start",value:function(e){var i=this;if(!(this.state>O.ATTACHING))return!e&&!this.config.url&&this.getInitDefinition(),this.hasStart=!0,this.setState(O.ATTACHING),this._registerPlugins(!1),j.beforeInit(this).then(function(){if(i.config){e||(e=i.url||i.config.url);var n=i._preProcessUrl(e),s=i._startInit(n.url);return s}}).catch(function(n){throw n.fileName="player",n.lineNumber="236",D.logError("start:beforeInit:",n),n})}},{key:"switchURL",value:function(e,i){var n=this,s=e;c.typeOf(e)==="Object"&&(s=e.url),s=this._preProcessUrl(s).url;var u=this.currentTime;this.__startTime=u;var l=this.paused&&!this.isError;return this.src=s,new Promise(function(f,h){var d=function(m){n.off("timeupdate",g),n.off("canplay",g),h(m)},g=function(){n.duration>0&&n.__startTime>0&&(n.currentTime=n.__startTime,n.__startTime=-1),l&&n.pause(),n.off("error",d),f(!0)};if(n.once("error",d),!s){n.errorHandler("error",{code:6,message:"empty_src"});return}A.os.isAndroid?n.once("timeupdate",g):n.once("canplay",g),n.play()})}},{key:"videoPlay",value:function(){this.mediaPlay()}},{key:"mediaPlay",value:function(){var e=this;if(!this.hasStart&&this.state>>>playPromise.then"),e.setState(O.RUNNING),e.emit(me))}).catch(function(n){if(D.logWarn(">>>>playPromise.catch",n.name),e.media&&e.media.error){e.onError(),e.removeClass(C.ENTER);return}n.name==="NotAllowedError"&&(e._errorTimer=c.setTimeout(e,function(){e._errorTimer=null,e.emit(Lt),e.addClass(C.NOT_ALLOW_AUTOPLAY),e.removeClass(C.ENTER),e.pause(),e.setState(O.NOTALLOW)},0))}):(D.logWarn("video.play not return promise"),this.statethis.duration?parseInt(this.duration,10):e,!this._isPauseBeforeSeek&&(this._isPauseBeforeSeek=this.paused?2:1),this._onceSeekCanplay&&this.off(ae,this._onceSeekCanplay),this._onceSeekCanplay=function(){switch(n.removeClass(C.ENTER),n.isSeeking=!1,f){case"play":n.play();break;case"pause":n.pause();break;default:n._isPauseBeforeSeek>1||n.paused?n.pause():n.play()}n._isPauseBeforeSeek=0,n._onceSeekCanplay=null},this.once(ae,this._onceSeekCanplay),this.state0&&n.defaultDefinition&&n.list.map(function(u){u.definition===n.defaultDefinition&&(e.config.url=u.url,e.curDefinition=u)})}},{key:"changeDefinition",value:function(e,i){var n=this,s=this.config.definition;if(Array.isArray(s==null?void 0:s.list)&&s.list.forEach(function(l){(e==null?void 0:e.definition)===l.definition&&(n.curDefinition=l)}),e!=null&&e.bitrate&&typeof e.bitrate!="number"&&(e.bitrate=parseInt(e.bitrate,10)||0),this.emit(Dt,{from:i,to:e}),!this.hasStart){this.config.url=e.url;return}var u=this.switchURL(e.url,U({seamless:s.seamless!==!1&&typeof MediaSource!="undefined"&&typeof MediaSource.isTypeSupported=="function"},e));u&&u.then?u.then(function(){n.emit(Tt,{from:i,to:e})}):this.emit(Tt,{from:i,to:e})}},{key:"reload",value:function(){this.load(),this.reloadFunc=function(){this.play()},this.once(oe,this.reloadFunc)}},{key:"resetState",value:function(){var e=this,i=C.NOT_ALLOW_AUTOPLAY,n=C.PLAYING,s=C.NO_START,u=C.PAUSED,l=C.REPLAY,f=C.ENTER,h=C.ENDED,d=C.ERROR,g=C.LOADING,p=[i,n,s,u,l,f,h,d,g];this.hasStart=!1,this.isError=!1,this._useAutoplay=!1,this.mediaPause(),this._accPlayed.acc=0,this._accPlayed.t=0,this._accPlayed.loopAcc=0,p.forEach(function(m){e.removeClass(m)}),this.addClass(C.NO_START),this.emit(et)}},{key:"reset",value:function(){var e=this,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0;this.resetState();var s=this.plugins;if(s&&(i.map(function(l){e.deregister(l)}),n)){var u=Qt();Object.keys(this.config).keys(function(l){e.config[l]!=="undefined"&&(l==="plugins"||l==="presets"||l==="el"||l==="id")&&(e.config[l]=u[l])})}}},{key:"destroy",value:function(){var e,i=this,n=this.innerContainer,s=this.root,u=this.media;if(!(!s||!u)){if(this.hasStart=!1,this._useAutoplay=!1,s.removeAttribute(ve),this.updateAcc("destroy"),this._unbindEvents(),this._detachSourceEvents(this.media),c.clearAllTimers(this),this.emit(At),(e=ue)===null||e===void 0||e.remove(this),j.destroy(this),Bi(this),I(P(r.prototype),"destroy",this).call(this),this.fullscreen&&this._fullscreenEl===this.root&&this.exitFullscreen(),n)for(var l=n.children,f=0;f0?s.className=h.filter(function(d){return d.indexOf("xgplayer")<0}).join(" "):s.className="",this.removeAttribute("data-xgfill"),["isSeeking","isCanplay","isActive","cssfullscreen","fullscreen"].forEach(function(d){i[d]=!1})}}},{key:"replay",value:function(){var e=this;this.removeClass(C.ENDED),this.currentTime=0,this.isSeeking=!1,re(this,"replay",function(){e.once(ae,function(){var i=e.mediaPlay();i&&i.catch&&i.catch(function(n){console.log(n)})}),e.emit(je),e.onPlay()})}},{key:"retry",value:function(){var e=this;this.removeClass(C.ERROR),this.addClass(C.LOADING),re(this,"retry",function(){var i=e.currentTime,n=e.config.url,s=c.isMSE(e.media)?{url:n}:e._preProcessUrl(n);e.src=s.url,!e.config.isLive&&(e.currentTime=i),e.once(se,function(){e.mediaPlay()})})}},{key:"changeFullStyle",value:function(e,i,n,s){e&&(s||(s=C.PARENT_FULLSCREEN),this._orgCss||(this._orgCss=c.filterStyleFromText(e)),c.addClass(e,n),i&&i!==e&&!this._orgPCss&&(this._orgPCss=c.filterStyleFromText(i),c.addClass(i,s),i.setAttribute(ve,this.playerId)))}},{key:"recoverFullStyle",value:function(e,i,n,s){s||(s=C.PARENT_FULLSCREEN),this._orgCss&&(c.setStyleFromCsstext(e,this._orgCss),this._orgCss=""),c.removeClass(e,n),i&&i!==e&&this._orgPCss&&(c.setStyleFromCsstext(i,this._orgPCss),this._orgPCss="",c.removeClass(i,s),i.removeAttribute(ve))}},{key:"getFullscreen",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.config.fullscreenTarget,i=this.root,n=this.media;e||(e=i),this._fullScreenOffset={top:c.scrollTop(),left:c.scrollLeft()},this._fullscreenEl=e,this._fullActionFrom="get";var s=c.getFullScreenEl();if(s===this._fullscreenEl)return this.onFullscreenChange(),Promise.resolve();try{for(var u=0;u0&&arguments[0]!==void 0?arguments[0]:this.config.fullscreenTarget;this.isRotateFullscreen?this.exitRotateFullscreen():this.fullscreen&&this.exitFullscreen();var i=e?"".concat(C.INNER_FULLSCREEN," ").concat(C.CSS_FULLSCREEN):C.CSS_FULLSCREEN;this.changeFullStyle(this.root,e,i);var n=this.config.fullscreen,s=n===void 0?{}:n,u=s.useCssFullscreen===!0||typeof s.useCssFullscreen=="function"&&s.useCssFullscreen();u&&(this.fullscreen=!0,this.emit(ne,!0)),this._cssfullscreenEl=e,this.cssfullscreen=!0,this.emit(Ge,!0)}},{key:"exitCssFullscreen",value:function(){var e=this._cssfullscreenEl?"".concat(C.INNER_FULLSCREEN," ").concat(C.CSS_FULLSCREEN):C.CSS_FULLSCREEN;if(!this.fullscreen)this.recoverFullStyle(this.root,this._cssfullscreenEl,e);else{var i=this.config.fullscreen,n=i===void 0?{}:i,s=n.useCssFullscreen===!0||typeof n.useCssFullscreen=="function"&&n.useCssFullscreen();s?(this.recoverFullStyle(this.root,this._cssfullscreenEl,e),this.fullscreen=!1,this.emit(ne,!1)):this.removeClass(e)}this._cssfullscreenEl=null,this.cssfullscreen=!1,this.emit(Ge,!1)}},{key:"getRotateFullscreen",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.config.fullscreenTarget;this.cssfullscreen&&this.exitCssFullscreen(e);var i=e?"".concat(C.INNER_FULLSCREEN," ").concat(C.ROTATE_FULLSCREEN):C.ROTATE_FULLSCREEN;this._fullscreenEl=e||this.root,this.changeFullStyle(this.root,e,i,C.PARENT_ROTATE_FULLSCREEN),this.isRotateFullscreen=!0,this.fullscreen=!0,this.setRotateDeg(90),this._rootStyle=this.root.getAttribute("style"),this.root.style.width="".concat(window.innerHeight,"px"),this.emit(ne,!0)}},{key:"exitRotateFullscreen",value:function(e){var i=this._fullscreenEl!==this.root?"".concat(C.INNER_FULLSCREEN," ").concat(C.ROTATE_FULLSCREEN):C.ROTATE_FULLSCREEN;this.recoverFullStyle(this.root,this._fullscreenEl,i,C.PARENT_ROTATE_FULLSCREEN),this.isRotateFullscreen=!1,this.fullscreen=!1,this.setRotateDeg(0),this.emit(ne,!1),this._rootStyle&&(this.root.style.style=this._rootStyle,this._rootStyle=!1)}},{key:"setRotateDeg",value:function(e){window.orientation===90||window.orientation===-90?this.rotateDeg=0:this.rotateDeg=e}},{key:"focus",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{autoHide:!this.config.closeDelayBlur,delay:this.config.inactive};if(this.isActive){this.onFocus(e);return}this.emit(Pt,U({paused:this.paused,ended:this.ended},e))}},{key:"blur",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{ignorePaused:!1};if(!this.isActive){this.onBlur(e);return}this._clearUserTimer(),this.emit(bi,U({paused:this.paused,ended:this.ended},e))}},{key:"onFocus",value:function(){var e=this,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{autoHide:!0,delay:3e3},n=this.innerStates;if(this.isActive=!0,this.removeClass(C.INACTIVE),this._clearUserTimer(),i.isLock!==void 0&&(n.isActiveLocked=i.isLock),i.autoHide===!1||i.isLock===!0||n.isActiveLocked){this._clearUserTimer();return}var s=i&&i.delay?i.delay:this.config.inactive;this.userTimer=c.setTimeout(this,function(){e.userTimer=null,e.blur()},s)}},{key:"onBlur",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=e.ignorePaused,n=i===void 0?!1:i;if(!this.innerStates.isActiveLocked){var s=this.config.closePauseVideoFocus;this.isActive=!1,(n||s||!this.paused&&!this.ended)&&this.addClass(C.INACTIVE)}}},{key:"onEmptied",value:function(){this.updateAcc("emptied")}},{key:"onCanplay",value:function(){this.removeClass(C.ENTER),this.removeClass(C.ERROR),this.removeClass(C.LOADING),this.isCanplay=!0,this.waitTimer&&c.clearTimeout(this,this.waitTimer)}},{key:"onDurationchange",value:function(){this.__startTime>0&&this.duration>0&&(this.currentTime=this.__startTime,this.__startTime=-1)}},{key:"onLoadeddata",value:function(){this.isError=!1,this.isSeeking=!1}},{key:"onLoadstart",value:function(){this.removeClass(C.ERROR),this.isCanplay=!1}},{key:"onPlay",value:function(){this.state===O.ENDED&&this.setState(O.RUNNING),this.removeClass(C.PAUSED),this.ended&&this.removeClass(C.ENDED),!this.config.closePlayVideoFocus&&this.focus()}},{key:"onPause",value:function(){this.addClass(C.PAUSED),this.updateAcc("pause"),this.config.closePauseVideoFocus||(this._clearUserTimer(),this.focus())}},{key:"onEnded",value:function(){this.updateAcc("ended"),this.addClass(C.ENDED),this.setState(O.ENDED)}},{key:"onError",value:function(){this.isError=!0,this.updateAcc("error"),this.removeClass(C.NOT_ALLOW_AUTOPLAY),this.removeClass(C.NO_START),this.removeClass(C.ENTER),this.removeClass(C.LOADING),this.addClass(C.ERROR)}},{key:"onSeeking",value:function(){this.isSeeking||this.updateAcc("seeking"),this.isSeeking=!0,this.addClass(C.SEEKING)}},{key:"onSeeked",value:function(){this.isSeeking=!1,this.waitTimer&&c.clearTimeout(this,this.waitTimer),this.removeClass(C.LOADING),this.removeClass(C.SEEKING)}},{key:"onWaiting",value:function(){var e=this;this.waitTimer&&c.clearTimeout(this,this.waitTimer),this.updateAcc("waiting"),this.waitTimer=c.setTimeout(this,function(){e.addClass(C.LOADING),e.emit(xi),c.clearTimeout(e,e.waitTimer),e.waitTimer=null},this.config.minWaitDelay)}},{key:"onPlaying",value:function(){var e=this;this.isError=!1;var i=C.NO_START,n=C.PAUSED,s=C.ENDED,u=C.ERROR,l=C.REPLAY,f=C.LOADING,h=[i,n,s,u,l,f];h.forEach(function(d){e.removeClass(d)}),!this._accPlayed.t&&!this.paused&&!this.ended&&(this._accPlayed.t=new Date().getTime())}},{key:"onTimeupdate",value:function(){!this._videoHeight&&this.media.videoHeight&&this.resize(),(this.waitTimer||this.hasClass(C.LOADING))&&this.media.readyState>2&&(this.removeClass(C.LOADING),c.clearTimeout(this,this.waitTimer),this.waitTimer=null),!this.paused&&this.state1&&arguments[1]!==void 0?arguments[1]:{startDiff:0,endDiff:0},n=i||{},s=n.startDiff,u=s===void 0?0:s,l=n.endDiff,f=l===void 0?0:l,h=this.media.buffered;if(!h||h.length===0||!this.duration)return!0;for(var d=e||this.media.currentTime||.2,g=h.length,p=0;pd)return!0;return!1}},{key:"resizePosition",value:function(){var e=this.videoPos,i=e.vy,n=e.vx,s=e.h,u=e.w,l=this.videoPos.rotate;if(!(l<0&&s<0&&u<0)){var f=this.videoPos._pi;if(!f&&this.media.videoHeight&&(f=this.media.videoWidth/this.media.videoHeight*100),!!f){this.videoPos.pi=f,l=l<0?0:l;var h={rotate:l},d=0,g=0,p=1,m=Math.abs(l/90),_=this.root,b=this.innerContainer,T=_.offsetWidth,k=b?b.offsetHeight:_.offsetHeight,F=k,R=T;if(m%2===0)p=s>0?100/s:u>0?100/u:1,h.scale=p,d=i>0?(100-s)/2-i:0,h.y=m===2?0-d:d,g=n>0?(100-u)/2-n:0,h.x=m===2?0-g:g,this.media.style.width="".concat(R,"px"),this.media.style.height="".concat(F,"px");else if(m%2===1){R=k,F=T;var H=k-T;g=-H/2/R*100,h.x=m===3?g+i/2:g-i/2,d=H/2/F*100,h.y=m===3?d+n/2:d-n/2,h.scale=p,this.media.style.width="".concat(R,"px"),this.media.style.height="".concat(F,"px")}var L=c.getTransformStyle(h,this.media.style.transform||this.media.style.webkitTransform);this.media.style.transform=L,this.media.style.webkitTransform=L}}}},{key:"position",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{h:0,y:0,x:0,w:0};if(!(!this.media||!e||!e.h)){var i=this.videoPos;i.h=e.h*100||0,i.w=e.w*100||0,i.vx=e.x*100||0,i.vy=e.y*100||0,this.resizePosition()}}},{key:"setConfig",value:function(e){var i=this;e&&Object.keys(e).map(function(n){if(n!=="plugins"){i.config[n]=e[n];var s=i.plugins[n.toLowerCase()];s&&c.typeOf(s.setConfig)==="Function"&&s.setConfig(e[n])}})}},{key:"playNext",value:function(e){var i=this;this.resetState(),this.setConfig(e),this._currentTime=0,this._duration=0,re(this,"playnext",function(){i.start(),i.emit(ze,e)})}},{key:"resize",value:function(){var e=this;if(this.media){var i=this.root.getBoundingClientRect();this.sizeInfo.width=i.width,this.sizeInfo.height=i.height,this.sizeInfo.left=i.left,this.sizeInfo.top=i.top;var n=this.media,s=n.videoWidth,u=n.videoHeight,l=this.config,f=l.fitVideoSize,h=l.videoFillMode;if((h==="fill"||h==="cover"||h==="contain")&&this.setAttribute("data-xgfill",h),!(!u||!s)){this._videoHeight=u,this._videoWidth=s;var d=this.controls&&this.innerContainer?this.controls.root.getBoundingClientRect().height:0,g=i.width,p=i.height-d,m=parseInt(s/u*1e3,10),_=parseInt(g/p*1e3,10),b=g,T=p,k={};f==="auto"&&_>m||f==="fixWidth"?(T=g/m*1e3,this.config.fluid?k.paddingTop="".concat(T*100/b,"%"):k.height="".concat(T+d,"px")):(f==="auto"&&_m)&&this.setAttribute("data-xgfill","cover");var F={videoScale:m,vWidth:b,vHeight:T,cWidth:b,cHeight:T+d};this.resizePosition(),this.emit(fe,F)}}}},{key:"updateObjectPosition",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(this.media.updateObjectPosition){this.media.updateObjectPosition(e,i);return}this.media.style.objectPosition="".concat(e*100,"% ").concat(i*100,"%")}},{key:"setState",value:function(e){D.logInfo("setState","state from:".concat(ei[this.state]," to:").concat(ei[e])),this._state=e}},{key:"_preProcessUrl",value:function(e,i){var n=this.config.preProcessUrl;return!c.isBlob(e)&&typeof n=="function"?n(e,i):{url:e}}},{key:"state",get:function(){return this._state}},{key:"isFullscreen",get:function(){return this.fullscreen}},{key:"isCssfullScreen",get:function(){return this.cssfullscreen}},{key:"hasStart",get:function(){return this._hasStart},set:function(e){typeof e=="boolean"&&(this._hasStart=e,e===!1&&this.setState(O.READY),this.emit("hasstart"))}},{key:"isPlaying",get:function(){return this._state===O.RUNNING||this._state===O.ENDED},set:function(e){e?this.setState(O.RUNNING):this._state>=O.RUNNING&&this.setState(O.ATTACHED)}},{key:"definitionList",get:function(){return!this.config||!this.config.definition?[]:this.config.definition.list||[]},set:function(e){var i=this,n=this.config.definition,s=null,u=null;n.list=e,this.emit("resourceReady",e),e.forEach(function(l){var f;((f=i.curDefinition)===null||f===void 0?void 0:f.definition)===l.definition&&(s=l),n.defaultDefinition===l.definition&&(u=l)}),!u&&e.length>0&&(u=e[0]),s?this.changeDefinition(s):u&&this.changeDefinition(u)}},{key:"videoFrameInfo",get:function(){var e={total:0,dropped:0,corrupted:0,droppedRate:0,droppedDuration:0};if(!this.media||!this.media.getVideoPlaybackQuality)return e;var i=this.media.getVideoPlaybackQuality();return e.dropped=i.droppedVideoFrames||0,e.total=i.totalVideoFrames||0,e.corrupted=i.corruptedVideoFrames||0,e.total>0&&(e.droppedRate=e.dropped/e.total*100,e.droppedDuration=parseInt(this.cumulateTime/e.total*e.dropped,0)),e}},{key:"lang",get:function(){return this.config.lang},set:function(e){var i=Pe.langKeys.filter(function(n){return n===e});if(i.length===0&&e!=="zh"){console.error("Sorry, set lang fail, because the language [".concat(e,"] is not supported now, list of all supported languages is [").concat(Pe.langKeys.join(),"] "));return}this.config.lang=e,j.setLang(e,this)}},{key:"i18n",get:function(){var e=this.config.lang;return e==="zh"&&(e="zh-cn"),this.__i18n.lang[e]||this.__i18n.lang.en}},{key:"i18nKeys",get:function(){return this.__i18n.textKeys||{}}},{key:"version",get:function(){return Ct}},{key:"playerId",get:function(){return this._pluginInfoId}},{key:"url",get:function(){return this.__url||this.config.url},set:function(e){this.__url=e}},{key:"poster",get:function(){return this.plugins.poster?this.plugins.poster.config.poster:this.config.poster},set:function(e){this.plugins.poster&&this.plugins.poster.update(e)}},{key:"readyState",get:function(){return I(P(r.prototype),"readyState",this)}},{key:"error",get:function(){var e=I(P(r.prototype),"error",this);return this.i18n[e]||e}},{key:"networkState",get:function(){return I(P(r.prototype),"networkState",this)}},{key:"fullscreenChanging",get:function(){return this._fullScreenOffset!==null}},{key:"cumulateTime",get:function(){var e=this._accPlayed,i=e.acc,n=e.t;return n?new Date().getTime()-n+i:i}},{key:"zoom",get:function(){return this.config.zoom},set:function(e){this.config.zoom=e}},{key:"videoRotateDeg",get:function(){return this.videoPos.rotate},set:function(e){e=c.convertDeg(e),!(e%90!==0||e===this.videoPos.rotate)&&(this.videoPos.rotate=e,this.resizePosition())}},{key:"avgSpeed",get:function(){return ii},set:function(e){ii=e}},{key:"realTimeSpeed",get:function(){return ti},set:function(e){ti=e}},{key:"offsetCurrentTime",get:function(){return this._offsetInfo.currentTime||0},set:function(e){this._offsetInfo.currentTime=e}},{key:"offsetDuration",get:function(){return this._offsetInfo.duration||0},set:function(e){this._offsetInfo.duration=e||0}},{key:"hook",value:function(e,i){return Ye.call.apply(Ye,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"useHooks",value:function(e,i){return Xe.call.apply(Xe,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"removeHooks",value:function(e,i){return $e.call.apply($e,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"usePluginHooks",value:function(e,i,n){for(var s=arguments.length,u=new Array(s>3?s-3:0),l=3;l3?s-3:0),l=3;l0&&n&&!s&&(D.logInfo("[xgLogger]".concat(this.player.playerId," emitLog_firstFrame"),e),this._state.isFFLoading=!1,this._state.isFFSend=!0,this.emitLog(le.FIRST_FRAME,{fvt:this.fvt,costTime:this.fvt,vt:this.vt,startCostTime:this.startCostTime,loadedCostTime:this.loadedCostTime}))}},{key:"_startWaitTimeout",value:function(){var e=this;this._waittTimer&&c.clearTimeout(this,this._waittTimer),this._waittTimer=c.setTimeout(this,function(){e.suspendWaitingStatus("timeout"),c.clearTimeout(e,e._waittTimer),e._waittTimer=null},this.config.waitTimeout)}},{key:"endState",value:function(e){this.suspendWaitingStatus(e),this.suspendSeekingStatus(e)}},{key:"suspendSeekingStatus",value:function(e){if(this.seekingStart){var i=G(),n=i-this.seekingStart;this.seekingStart=0,this.emitLog(le.SEEK_END,{end:i,costTime:n,endType:e})}}},{key:"suspendWaitingStatus",value:function(e){if(this._waitTimer&&(c.clearTimeout(this,this._waitTimer),this._waitTimer=null),this._waittTimer&&(c.clearTimeout(this,this._waittTimer),this._waittTimer=null),this._isWaiting=!1,!!this.waitingStart){var i=G(),n=i-this.waitingStart,s=i-this.fixedWaitingStart,u=this.config.waitTimeout;this._isWaiting=!1,this.waitingStart=0,this.fixedWaitingStart=0,this.emitLog(le.WAIT_END,{fixedCostTime:s>u?u:s,costTime:n>u?u:n,type:e==="loadeddata"?1:this._waitType,endType:this._waitType===2?"seek":e})}}},{key:"emitLog",value:function(e,i){var n=this.player;this.emit(Ai,U({t:G(),host:c.getHostFromUrl(n.currentSrc),vtype:n.vtype,eventType:e,currentTime:this.player.currentTime,readyState:n.video.readyState,networkState:n.video.networkState},i))}}],[{key:"pluginName",get:function(){return"xgLogger"}},{key:"defaultConfig",get:function(){return{waitTimeout:1e4}}}]),r}(N);function ir(){return new DOMParser().parseFromString(` `,"image/svg+xml").firstChild}var nr=function(o){w(r,o);var a=x(r);function r(){return E(this,r),a.apply(this,arguments)}return S(r,[{key:"registerIcons",value:function(){return{replay:ir}}},{key:"afterCreate",value:function(){var e=this;N.insert(this.icons.replay,this.root,0),this.__handleReplay=this.hook("replayClick",function(){e.player.replay()},{pre:function(n){n.preventDefault(),n.stopPropagation()}}),this.bind(".xgplayer-replay",["click","touchend"],this.__handleReplay),this.on(ye,function(){if(e.playerConfig.loop||c.addClass(e.player.root,"replay"),!e.config.disable){e.show();var i=e.root.querySelector("path");if(i){var n=window.getComputedStyle(i).getPropertyValue("transform");if(typeof n=="string"&&n.indexOf("none")>-1)return null;i.setAttribute("transform",n)}}}),this.on(q,function(){e.hide()})}},{key:"handleReplay",value:function(e){e.preventDefault(),e.stopPropagation(),this.player.replay(),c.removeClass(this.player.root,"replay")}},{key:"show",value:function(e){this.config.disable||(this.root.style.display="flex")}},{key:"enable",value:function(){this.config.disable=!1}},{key:"disable",value:function(){this.config.disable=!0,this.hide()}},{key:"destroy",value:function(){this.unbind(".xgplayer-replay",["click","touchend"],this.__handleReplay)}},{key:"render",value:function(){return` ').concat(this.i18n.REPLAY,` `)}}],[{key:"pluginName",get:function(){return"replay"}},{key:"defaultConfig",get:function(){return{disable:!1}}}]),r}(N),rr=function(o){w(r,o);var a=x(r);function r(){return E(this,r),a.apply(this,arguments)}return S(r,[{key:"isEndedShow",get:function(){return this.config.isEndedShow},set:function(e){this.config.isEndedShow=e}},{key:"hide",value:function(){c.addClass(this.root,"hide")}},{key:"show",value:function(e){c.removeClass(this.root,"hide")}},{key:"beforeCreate",value:function(e){typeof e.player.config.poster=="string"&&(e.config.poster=e.player.config.poster)}},{key:"afterCreate",value:function(){var e=this;this.on(ye,function(){e.isEndedShow&&c.removeClass(e.root,"hide")}),this.config.hideCanplay?(this.once($,function(){e.onTimeUpdate()}),this.on(Qe,function(){c.removeClass(e.root,"hide"),c.addClass(e.root,"xg-showplay"),e.once($,function(){e.onTimeUpdate()})})):this.on(q,function(){c.addClass(e.root,"hide")})}},{key:"onTimeUpdate",value:function(){var e=this;this.player.currentTime?c.removeClass(this.root,"xg-showplay"):this.once($,function(){e.onTimeUpdate()})}},{key:"update",value:function(e){e&&(this.config.poster=e,this.root.style.backgroundImage="url(".concat(e,")"))}},{key:"getBgSize",value:function(e){var i="";switch(e){case"cover":i="cover";break;case"contain":i="contain";break;case"fixHeight":i="auto 100%";break;default:i=""}return i?"background-size: ".concat(i,";"):""}},{key:"render",value:function(){var e=this.config,i=e.poster,n=e.hideCanplay,s=e.fillMode,u=e.notHidden,l=this.getBgSize(s),f=i?"background-image:url(".concat(i,");").concat(l):l,h=u?"xg-not-hidden":n?"xg-showplay":"";return' `)}}],[{key:"pluginName",get:function(){return"poster"}},{key:"defaultConfig",get:function(){return{isEndedShow:!0,hideCanplay:!1,notHidden:!1,poster:"",fillMode:"fixWidth"}}}]),r}(N);function Ot(){return new DOMParser().parseFromString(` `,"image/svg+xml").firstChild}function Mt(){return new DOMParser().parseFromString(` `,"image/svg+xml").firstChild}var ie={};function sr(o,a){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{start:null,end:null};return ie[o]&&window.clearTimeout(ie[o].id),ie[o]={},r.start&&r.start(),ie[o].id=window.setTimeout(function(){r.end&&r.end(),window.clearTimeout(ie[o].id),delete ie[o]},a),ie[o].id}function ni(o){if(o){window.clearTimeout(o);return}Object.keys(ie).map(function(a){window.clearTimeout(ie[a].id),delete ie[a]})}var ar=function(o){w(r,o);var a=x(r);function r(t){var e;return E(this,r),e=a.call(this,t),y(v(e),"onPlayerReset",function(){e.autoPlayStart=!1;var i=e.config.mode==="auto"?"auto-hide":"hide";e.setAttr("data-state","play"),c.removeClass(e.root,i),e.show()}),y(v(e),"onAutoplayStart",function(){if(!e.autoPlayStart){var i=e.config.mode==="auto"?"auto-hide":"hide";c.addClass(e.root,i),e.autoPlayStart=!0,e.onPlayPause("play")}}),e.autoPlayStart=!1,e}return S(r,[{key:"afterCreate",value:function(){var e=this,i=this.player,n=this.playerConfig;this.initIcons(),this.once(It,function(){n&&(n.lang&&n.lang==="en"?c.addClass(i.root,"lang-is-en"):n.lang==="jp"&&c.addClass(i.root,"lang-is-jp"))}),this.on(me,this.onAutoplayStart),n.autoplay||this.show(),this.on(Lt,function(){var s=e.config.mode==="auto"?"auto-hide":"hide";e.setAttr("data-state","play"),c.removeClass(e.root,s),e.show()}),this.on(q,function(){e.onPlayPause("play")}),this.on(Ie,function(){e.onPlayPause("pause")}),this.on(et,function(){e.onPlayerReset()}),this.clickHandler=this.hook("startClick",this.switchPausePlay,{pre:function(u){u.cancelable&&u.preventDefault(),u.stopPropagation();var l=e.player.paused;e.emitUserAction(u,"switch_play_pause",{props:"paused",from:l,to:!l})}}),this.bind(["click","touchend"],this.clickHandler)}},{key:"registerIcons",value:function(){return{startPlay:{icon:Ot,class:"xg-icon-play"},startPause:{icon:Mt,class:"xg-icon-pause"}}}},{key:"initIcons",value:function(){var e=this.icons;this.appendChild("xg-start-inner",e.startPlay),this.appendChild("xg-start-inner",e.startPause)}},{key:"hide",value:function(){c.addClass(this.root,"hide")}},{key:"show",value:function(e){c.removeClass(this.root,"hide")}},{key:"focusHide",value:function(){c.addClass(this.root,"focus-hide")}},{key:"recover",value:function(){c.removeClass(this.root,"focus-hide")}},{key:"switchStatus",value:function(e){e?this.setAttr("data-state",this.player.paused?"pause":"play"):this.setAttr("data-state",this.player.paused?"play":"pause")}},{key:"animate",value:function(e){var i=this;this._animateId=sr("pauseplay",400,{start:function(){c.addClass(i.root,"interact"),i.show(),i.switchStatus(!0)},end:function(){c.removeClass(i.root,"interact"),!e&&i.hide(),i._animateId=null}})}},{key:"endAnimate",value:function(){c.removeClass(this.root,"interact"),ni(this._animateId),this._animateId=null}},{key:"switchPausePlay",value:function(e){var i=this.player;if(e.cancelable&&e.preventDefault(),e.stopPropagation(),!(i.state `)}}],[{key:"pluginName",get:function(){return"start"}},{key:"defaultConfig",get:function(){return{isShowPause:!1,isShowEnd:!1,disableAnimate:!1,mode:"hide"}}}]),r}(N),or=function(o){w(r,o);var a=x(r);function r(){return E(this,r),a.apply(this,arguments)}return S(r,[{key:"render",value:function(){var e=this.config.innerHtml,i=c.createDom("xg-enter","",{},"xgplayer-enter");if(e&&e instanceof window.HTMLElement)i.appendChild(e);else if(e&&typeof e=="string")i.innerHTML=e;else{for(var n="",s=1;s<=12;s++)n+='
');i.innerHTML='
'.concat(n,"
")}return i}}],[{key:"pluginName",get:function(){return"enter"}},{key:"defaultConfig",get:function(){return{innerHtml:"",logo:""}}}]),r}(N);function ge(o,a,r){try{return'
`).concat(o.i18n[a],`
`)}catch(t){return'
'}}var ri=function(o){w(r,o);var a=x(r);function r(){return E(this,r),a.apply(this,arguments)}return S(r,[{key:"afterCreate",value:function(){this.getMini=this.getMini.bind(this),this.exitMini=this.exitMini.bind(this),this.bind("click",this.getMini)}},{key:"getMini",value:function(){this.config.onClick&&this.config.onClick()}},{key:"exitMini",value:function(){this.config.onClick&&this.config.onClick()}},{key:"destroy",value:function(){this.unbind(["click","touchend"],this.getMini)}},{key:"render",value:function(){var e="MINISCREEN";return`
').concat(this.i18n[e],`
`)}}],[{key:"pluginName",get:function(){return"miniscreenIcon"}},{key:"defaultConfig",get:function(){return{position:B.CONTROLS_RIGHT,index:10}}}]),r}(N);function si(o){var a=parseFloat(o),r=o.indexOf("%")===-1&&!Number.isNaN(a);return r&&a}var Nt=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],Vi=Nt.length;function ur(){for(var o={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},a=0;a1&&arguments[1]!==void 0?arguments[1]:{};return E(this,r),e=a.call(this),e.isEnabled=!0,e.isDragging=!1,e.isDown=!1,e.position={},e.downPoint={},e.dragPoint={x:0,y:0},e.startPos={x:0,y:0},e._root=t instanceof Element?t:document.querySelector(t),e._handlerDom=i.handle instanceof Element?i.handle:document.querySelector(i.handle),!e._root||!e._handlerDom?St(e):(e._bindStartEvent(),e)}return S(r,[{key:"_bindStartEvent",value:function(){var e=this;"ontouchstart"in window?this._startKey="touchstart":this._startKey="mousedown",this["on".concat(this._startKey)]=this["on".concat(this._startKey)].bind(this),this._handlerDom.addEventListener(this._startKey,this["on".concat(this._startKey)]),oi[this._startKey].map(function(i){e["on".concat(i)]=e["on".concat(i)].bind(e)})}},{key:"_unbindStartEvent",value:function(){this._handlerDom.removeEventListener(this._startKey,this["on".concat(this._startKey)])}},{key:"_bindPostStartEvents",value:function(e){var i=this;if(e){var n=oi[this._startKey];n.map(function(s){window.addEventListener(s,i["on".concat(s)])}),this._boundPointerEvents=n}}},{key:"_unbindPostStartEvents",value:function(){var e=this;this._boundPointerEvents&&(this._boundPointerEvents.map(function(i){window.removeEventListener(i,e["on".concat(i)])}),delete this._boundPointerEvents)}},{key:"enable",value:function(){this.isEnabled=!0}},{key:"disable",value:function(){this.isEnabled=!1,this.isDragging&&this.onUp()}},{key:"onDocUp",value:function(e){this.onUp()}},{key:"animate",value:function(){var e=this;this.isDragging&&(this.positionDrag(),window.requestAnimationFrame(function(){e.animate()}))}},{key:"positionDrag",value:function(){var e="translate3d(".concat(this.dragPoint.x,"px, ").concat(this.dragPoint.y,"px, 0)");this._root.style.transform=e,this._root.style.webKitTransform=e}},{key:"setLeftTop",value:function(){this._root.style.left=this.position.x+"px",this._root.style.top=this.position.y+"px"}},{key:"onmousedown",value:function(e){this.dragStart(e,e)}},{key:"onmousemove",value:function(e){this.dragMove(e,e)}},{key:"onmouseup",value:function(e){this.dragEnd(e,e)}},{key:"ontouchstart",value:function(e){var i=e.changedTouches[0];this.dragStart(e,i),this.touchIdentifier=i.pointerId!==void 0?i.pointerId:i.identifier,e.preventDefault()}},{key:"ontouchmove",value:function(e){var i=ct(e.changedTouches,this.touchIdentifier);i&&this.dragMove(e,i)}},{key:"ontouchend",value:function(e){var i=ct(e.changedTouches,this.touchIdentifier);i&&this.dragEnd(e,i),e.preventDefault()}},{key:"ontouchcancel",value:function(e){var i=ct(e.changedTouches,this.touchIdentifier);i&&this.dragCancel(e,i)}},{key:"dragStart",value:function(e,i){if(!(!this._root||this.isDown||!this.isEnabled)){this.downPoint=i,this.dragPoint.x=0,this.dragPoint.y=0,this._getPosition();var n=ai(this._root);this.startPos.x=this.position.x,this.startPos.y=this.position.y,this.startPos.maxY=window.innerHeight-n.height,this.startPos.maxX=window.innerWidth-n.width,this.setLeftTop(),this.isDown=!0,this._bindPostStartEvents(e)}}},{key:"dragRealStart",value:function(e,i){this.isDragging=!0,this.animate(),this.emit(ft.START,this.startPos)}},{key:"dragEnd",value:function(e,i){this._root&&(this._unbindPostStartEvents(),this.isDragging&&(this._root.style.transform="",this.setLeftTop(),this.emit(ft.ENDED)),this.presetInfo())}},{key:"_dragPointerMove",value:function(e,i){var n={x:i.pageX-this.downPoint.pageX,y:i.pageY-this.downPoint.pageY};return!this.isDragging&&this.hasDragStarted(n)&&this.dragRealStart(e,i),n}},{key:"dragMove",value:function(e,i){if(e=e||window.event,!!this.isDown){var n=this.startPos,s=n.x,u=n.y,l=this._dragPointerMove(e,i),f=l.x,h=l.y;f=this.checkContain("x",f,s),h=this.checkContain("y",h,u),this.position.x=s+f,this.position.y=u+h,this.dragPoint.x=f,this.dragPoint.y=h,this.emit(ft.MOVE,this.position)}}},{key:"dragCancel",value:function(e,i){this.dragEnd(e,i)}},{key:"presetInfo",value:function(){this.isDragging=!1,this.startPos={x:0,y:0},this.dragPoint={x:0,y:0},this.isDown=!1}},{key:"destroy",value:function(){this._unbindStartEvent(),this._unbindPostStartEvents(),this.isDragging&&this.dragEnd(),this.removeAllListeners(),this._handlerDom=null}},{key:"hasDragStarted",value:function(e){return Math.abs(e.x)>3||Math.abs(e.y)>3}},{key:"checkContain",value:function(e,i,n){return i+n<0?0-n:e==="x"&&i+n>this.startPos.maxX?this.startPos.maxX-n:e==="y"&&i+n>this.startPos.maxY?this.startPos.maxY-n:i}},{key:"_getPosition",value:function(){var e=window.getComputedStyle(this._root),i=this._getPositionCoord(e.left,"width"),n=this._getPositionCoord(e.top,"height");this.position.x=Number.isNaN(i)?0:i,this.position.y=Number.isNaN(n)?0:n,this._addTransformPosition(e)}},{key:"_addTransformPosition",value:function(e){var i=e.transform;if(i.indexOf("matrix")===0){var n=i.split(","),s=i.indexOf("matrix3d")===0?12:4,u=parseInt(n[s],10),l=parseInt(n[s+1],10);this.position.x+=u,this.position.y+=l}}},{key:"_getPositionCoord",value:function(e,i){if(e.indexOf("%")!==-1){var n=ai(this._root.parentNode);return n?parseFloat(e)/100*n[i]:0}return parseInt(e,10)}}]),r}(yi),fr=function(o){w(r,o);var a=x(r);function r(t){var e;E(this,r),e=a.call(this,t),y(v(e),"onCancelClick",function(s){e.exitMini(),e.isClose=!0}),y(v(e),"onCenterClick",function(s){var u=v(e),l=u.player;l.paused?l.play():l.pause()}),y(v(e),"onScroll",function(s){if(!(!window.scrollY&&window.scrollY!==0||Math.abs(window.scrollY-e.pos.scrollY)<50)){var u=parseInt(c.getCss(e.player.root,"height"));u+=e.config.scrollTop,e.pos.scrollY=window.scrollY,window.scrollY>u+5?!e.isMini&&!e.isClose&&e.getMini():window.scrollY<=u&&(e.isMini&&e.exitMini(),e.isClose=!1)}}),e.isMini=!1,e.isClose=!1;var i=v(e),n=i.config;return e.pos={left:n.left<0?window.innerWidth-n.width-20:n.left,top:n.top<0?window.innerHeight-n.height-20:n.top,height:e.config.height,width:e.config.width,scrollY:window.scrollY||0},e.lastStyle=null,e}return S(r,[{key:"beforeCreate",value:function(e){typeof e.player.config.mini=="boolean"&&(e.config.isShowIcon=e.player.config.mini)}},{key:"afterCreate",value:function(){var e=this;this.initIcons(),this.on(Ie,function(){e.setAttr("data-state","pause")}),this.on(q,function(){e.setAttr("data-state","play")})}},{key:"onPluginsReady",value:function(){var e=this,i=this.player,n=this.config;if(!n.disable){if(this.config.isShowIcon){var s={config:{onClick:function(){e.getMini()}}};i.controls.registerPlugin(ri,s,ri.pluginName)}var u=c.checkTouchSupport()?"touchend":"click";this.bind(".mini-cancel-btn",u,this.onCancelClick),this.bind(".play-icon",u,this.onCenterClick),this.config.disableDrag||(this._draggabilly=new cr(this.player.root,{handle:this.root})),this.config.isScrollSwitch&&window.addEventListener("scroll",this.onScroll)}}},{key:"registerIcons",value:function(){return{play:{icon:Ot,class:"xg-icon-play"},pause:{icon:Mt,class:"xg-icon-pause"}}}},{key:"initIcons",value:function(){var e=this.icons;this.appendChild(".play-icon",e.play),this.appendChild(".play-icon",e.pause)}},{key:"getMini",value:function(){var e=this;if(!this.isMini){var i=this.player,n=this.playerConfig,s=this.config.target||this.player.root;this.lastStyle={},c.addClass(i.root,"xgplayer-mini"),["width","height","top","left"].map(function(u){e.lastStyle[u]=s.style[u],s.style[u]="".concat(e.pos[u],"px")}),n.fluid&&(s.style["padding-top"]=""),this.emit(We,!0),i.isMini=this.isMini=!0}}},{key:"exitMini",value:function(){var e=this;if(!this.isMini)return!1;var i=this.player,n=this.playerConfig,s=this.config.target||this.player.root;c.removeClass(i.root,"xgplayer-mini"),this.lastStyle&&Object.keys(this.lastStyle).map(function(u){s.style[u]=e.lastStyle[u]}),this.lastStyle=null,n.fluid&&(i.root.style.width="100%",i.root.style.height="0",i.root.style["padding-top"]="".concat(n.height*100/n.width,"%")),this.emit(We,!1),this.isMini=i.isMini=!1}},{key:"destroy",value:function(){window.removeEventListener("scroll",this.onScroll);var e=c.checkTouchSupport()?"touchend":"click";this.unbind(".mini-cancel-btn",e,this.onCancelClick),this.unbind(".play-icon",e,this.onCenterClick),this._draggabilly&&this._draggabilly.destroy(),this._draggabilly=null,this.exitMini()}},{key:"render",value:function(){if(!this.config.disable)return` `.concat(ge(this,"MINI_DRAG",this.playerConfig.isHideTips),`
`)}}],[{key:"pluginName",get:function(){return"miniscreen"}},{key:"defaultConfig",get:function(){return{index:10,disable:!1,width:320,height:180,left:-1,top:-1,isShowIcon:!1,isScrollSwitch:!1,scrollTop:0,disableDrag:!1}}}]),r}(N),Fe={mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",mousemove:"onMouseMove"},ht=["videoClick","videoDbClick"],dt=function(o){w(r,o);var a=x(r);function r(){var t;E(this,r);for(var e=arguments.length,i=new Array(e),n=0;n0&&i.replay():i.paused?i.play():i.pause()}},{key:"onContextmenu",value:function(e){e=e||window.event,e.preventDefault&&e.preventDefault(),e.stopPropagation?e.stopPropagation():(e.returnValue=!1,e.cancelBubble=!0)}},{key:"destroy",value:function(){var e=this,i=this.player,n=i.video,s=i.root;this.clickTimer&&clearTimeout(this.clickTimer),s.removeEventListener("click",this.onVideoClick,!1),s.removeEventListener("dblclick",this.onVideoDblClick,!1),n.removeEventListener("contextmenu",this.onContextmenu,!1),Object.keys(Fe).map(function(u){s.removeEventListener(u,e[Fe[u]],!1)})}}],[{key:"pluginName",get:function(){return"pc"}},{key:"defaultConfig",get:function(){return{}}}]),r}(he),ce={PRESS:"press",PRESS_END:"pressend",DOUBlE_CLICK:"doubleclick",CLICK:"click",TOUCH_MOVE:"touchmove",TOUCH_START:"touchstart",TOUCH_END:"touchend"},hr={start:"touchstart",end:"touchend",move:"touchmove",cancel:"touchcancel"},dr={start:"mousedown",end:"mouseup",move:"mousemove",cancel:"mouseleave"};function ui(o){return o&&o.length>0?o[o.length-1]:null}function gr(){return{pressDelay:600,dbClickDelay:200,disablePress:!1,disableDbClick:!1,miniStep:2,needPreventDefault:!0}}var pr=function(){function o(a){var r=this,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{eventType:"touch"};E(this,o),y(this,"onTouchStart",function(e){var i=r._pos,n=r.root,s=ui(e.touches);i.x=s?parseInt(s.pageX,10):e.pageX,i.y=s?parseInt(s.pageX,10):e.pageX,i.start=!0,r.__setPress(e),n.addEventListener(r.events.end,r.onTouchEnd),n.addEventListener(r.events.cancel,r.onTouchCancel),n.addEventListener(r.events.move,r.onTouchMove),r.trigger(ce.TOUCH_START,e)}),y(this,"onTouchCancel",function(e){r.onTouchEnd(e)}),y(this,"onTouchEnd",function(e){var i=r._pos,n=r.root;r.__clearPress(),n.removeEventListener(r.events.cancel,r.onTouchCancel),n.removeEventListener(r.events.end,r.onTouchEnd),n.removeEventListener(r.events.move,r.onTouchMove),e.moving=i.moving,e.press=i.press,i.press&&r.trigger(ce.PRESS_END,e),r.trigger(ce.TOUCH_END,e),!i.press&&!i.moving&&r.__setDb(e),i.press=!1,i.start=!1,i.moving=!1}),y(this,"onTouchMove",function(e){var i=r._pos,n=r.config,s=ui(e.touches),u=s?parseInt(s.pageX,10):e.pageX,l=s?parseInt(s.pageY,10):e.pageX,f=u-i.x,h=l-i.y;Math.abs(h)=0&&this.__handlers[r].splice(i,1)}}},{key:"trigger",value:function(r,t){this.__handlers[r]&&this.__handlers[r].map(function(e){try{e(t)}catch(i){console.error("trigger>>:".concat(r),i)}})}},{key:"destroy",value:function(){var r=this,t={touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"};Object.keys(t).forEach(function(e){r.root.removeEventListener(e,r[t[e]])})}}]),o}();function vr(){return new DOMParser().parseFromString(` `,"image/svg+xml").firstChild}var Te={AUTO:"auto",SEEKING:"seeking",PLAYBACK:"playbackrate",LIGHT:""},gt=["videoClick","videoDbClick"],mr=function(o){w(r,o);var a=x(r);function r(t){var e;return E(this,r),e=a.call(this,t),y(v(e),"onTouchStart",function(i){var n=v(e),s=n.player,u=n.config,l=n.pos,f=n.playerConfig,h=e.getTouche(i);if(h&&!u.disableGesture&&e.duration>0&&!s.ended){l.isStart=!0,e.timer&&clearTimeout(e.timer),c.checkIsFunction(f.disableSwipeHandler)&&f.disableSwipeHandler(),e.find(".xg-dur").innerHTML=c.format(e.duration);var d=e.root.getBoundingClientRect();s.rotateDeg===90?(l.top=d.left,l.left=d.top,l.width=d.height,l.height=d.width):(l.top=d.top,l.left=d.left,l.width=d.width,l.height=d.height);var g=parseInt(h.pageX-l.left,10),p=parseInt(h.pageY-l.top,10);l.x=s.rotateDeg===90?p:g,l.y=s.rotateDeg===90?g:p,l.scopeL=u.scopeL*l.width,l.scopeR=(1-u.scopeR)*l.width,l.scopeM1=l.width*(1-u.scopeM)/2,l.scopeM2=l.width-l.scopeM1}}),y(v(e),"onTouchMove",function(i){var n=e.getTouche(i),s=v(e),u=s.pos,l=s.config,f=s.player;if(!(!n||l.disableGesture||!e.duration||!u.isStart)){var h=l.miniMoveStep,d=l.hideControlsActive,g=parseInt(n.pageX-u.left,10),p=parseInt(n.pageY-u.top,10),m=f.rotateDeg===90?p:g,_=f.rotateDeg===90?g:p;if(Math.abs(m-u.x)>h||Math.abs(_-u.y)>h){var b=m-u.x,T=_-u.y,k=u.scope;if(k===-1&&(k=e.checkScope(m,_,b,T,u),k===0&&(d?f.blur():f.focus({autoHide:!1}),!u.time&&(u.time=parseInt(f.currentTime*1e3,10)+e.timeOffset*1e3)),u.scope=k),k===-1||k>0&&!l.gestureY||k===0&&!l.gestureX)return;i.cancelable&&i.preventDefault(),e.executeMove(b,T,k,u.width,u.height),u.x=m,u.y=_}}}),y(v(e),"onTouchEnd",function(i){var n=v(e),s=n.player,u=n.pos,l=n.playerConfig;if(setTimeout(function(){s.getPlugin("progress")&&s.getPlugin("progress").resetSeekState()},10),!!u.isStart){u.scope>-1&&i.cancelable&&i.preventDefault();var f=e.config,h=f.disableGesture,d=f.gestureX;!h&&d?e.endLastMove(u.scope):u.time=0,u.scope=-1,e.resetPos(),c.checkIsFunction(l.enableSwipeHandler)&&l.enableSwipeHandler(),e.changeAction(Te.AUTO)}}),y(v(e),"onRootTouchMove",function(i){e.config.disableGesture||!e.config.gestureX||e.checkIsRootTarget(i)&&(i.stopPropagation(),e.pos.isStart?e.onTouchMove(i):e.onTouchStart(i))}),y(v(e),"onRootTouchEnd",function(i){e.pos.isStart&&e.checkIsRootTarget(i)&&(i.stopPropagation(),e.onTouchEnd(i))}),e.pos={isStart:!1,x:0,y:0,time:0,volume:0,rate:1,light:0,width:0,height:0,scopeL:0,scopeR:0,scopeM1:0,scopeM2:0,scope:-1},e.timer=null,e}return S(r,[{key:"duration",get:function(){return this.playerConfig.customDuration||this.player.duration}},{key:"timeOffset",get:function(){return this.playerConfig.timeOffset||0}},{key:"registerIcons",value:function(){return{seekTipIcon:{icon:vr,class:"xg-seek-pre"}}}},{key:"afterCreate",value:function(){var e=this;gt.map(function(h){e.__hooks[h]=null});var i=this.playerConfig,n=this.config,s=this.player;i.closeVideoDblclick===!0&&(n.closedbClick=!0),this.resetPos(),c.isUndefined(i.disableGesture)||(n.disableGesture=!!i.disableGesture),this.appendChild(".xg-seek-icon",this.icons.seekTipIcon),this.xgMask=c.createDom("xg-mask","",{},"xgmask"),s.root.appendChild(this.xgMask),this.initCustomStyle(),this.registerThumbnail();var u=this.domEventType==="mouse"?"mouse":"touch";this.touch=new pr(this.root,{eventType:u,needPreventDefault:!this.config.disableGesture}),this.root.addEventListener("contextmenu",function(h){h.preventDefault()}),s.root.addEventListener("touchmove",this.onRootTouchMove,!0),s.root.addEventListener("touchend",this.onRootTouchEnd,!0),this.on(de,function(){var h=e.player,d=e.config;h.duration*1e30&&(e.pos.time=0)});var l={touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onTouchEnd",press:"onPress",pressend:"onPressEnd",click:"onClick",doubleclick:"onDbClick"};if(Object.keys(l).map(function(h){e.touch.on(h,function(d){e[l[h]](d)})}),!n.disableActive){var f=s.plugins.progress;f&&(f.addCallBack("dragmove",function(h){e.activeSeekNote(h.currentTime,h.forward)}),["dragend","click"].forEach(function(h){f.addCallBack(h,function(){e.changeAction(Te.AUTO)})}))}}},{key:"registerThumbnail",value:function(){var e=this.player,i=e.plugins.thumbnail;if(i&&i.usable){this.thumbnail=i.createThumbnail(null,"mobile-thumbnail");var n=this.find(".time-preview");n.insertBefore(this.thumbnail,n.children[0])}}},{key:"initCustomStyle",value:function(){var e=this.playerConfig||{},i=e.commonStyle,n=i.playedColor,s=i.progressColor,u=i.timePreviewStyle,l=i.curTimeColor,f=i.durationColor;if(n&&(this.find(".xg-curbar").style.backgroundColor=n),s&&(this.find(".xg-bar").style.backgroundColor=s),u){var h=this.find(".time-preview");Object.keys(u).forEach(function(p){h.style[p]=u[p]})}var d=l||n,g=f;d&&(this.find(".xg-cur").style.color=d),g&&(this.find(".xg-dur").style.color=g),this.config.disableTimeProgress&&c.addClass(this.find(".xg-timebar"),"hide")}},{key:"resetPos",value:function(){var e=this;this.pos?(this.pos.isStart=!1,this.pos.scope=-1,["x","y","width","height","scopeL","scopeR","scopeM1","scopeM2"].map(function(i){e.pos[i]=0})):this.pos={isStart:!1,x:0,y:0,volume:0,rate:1,light:0,width:0,height:0,scopeL:0,scopeR:0,scopeM1:0,scopeM2:0,scope:-1,time:0}}},{key:"changeAction",value:function(e){var i=this.player,n=this.root;n.setAttribute("data-xg-action",e);var s=i.plugins.start;s&&s.recover()}},{key:"getTouche",value:function(e){var i=this.player.rotateDeg,n=e.touches&&e.touches.length>0?e.touches[e.touches.length-1]:e;return i===0?{pageX:n.pageX,pageY:n.pageY}:{pageX:n.pageX,pageY:n.pageY}}},{key:"checkScope",value:function(e,i,n,s,u){var l=u.width,f=-1;if(e<0||e>l)return f;var h=Math.abs(s===0?n:n/s);return Math.abs(n)>0&&h>=1.73&&e>u.scopeM1&&eu.scopeR?2:3),f}},{key:"executeMove",value:function(e,i,n,s,u){switch(n){case 0:this.updateTime(e/s*this.config.scopeM);break;case 1:this.updateBrightness(i/u);break;case 2:A.os.isIos||this.updateVolume(i/u);break}}},{key:"endLastMove",value:function(e){var i=this,n=this.pos,s=this.player,u=this.config,l=(n.time-this.timeOffset)/1e3;switch(e){case 0:s.seek(Number(l).toFixed(1)),u.hideControlsEnd?s.blur():s.focus(),this.timer=setTimeout(function(){i.pos.time=0},500);break}this.changeAction(Te.AUTO)}},{key:"checkIsRootTarget",value:function(e){var i=this.player.plugins||{};return i.progress&&i.progress.root.contains(e.target)?!1:i.start&&i.start.root.contains(e.target)||i.controls&&i.controls.root.contains(e.target)}},{key:"sendUseAction",value:function(e){var i=this.player.paused;this.emitUserAction(e,"switch_play_pause",{prop:"paused",from:i,to:!i})}},{key:"clickHandler",value:function(e){var i=this.player,n=this.config,s=this.playerConfig;if(i.state=O.RUNNING&&(this.sendUseAction(c.createEvent("dblclick")),this.switchPlayPause())}},{key:"onClick",value:function(e){var i=this,n=this.player;re(this,gt[0],function(s,u){i.clickHandler(u.e)},{e,paused:n.paused})}},{key:"onDbClick",value:function(e){var i=this,n=this.player;re(this,gt[1],function(s,u){i.dbClickHandler(u.e)},{e,paused:n.paused})}},{key:"onPress",value:function(e){var i=this.pos,n=this.config,s=this.player;n.disablePress||(i.rate=this.player.playbackRate,this.emitUserAction("press","change_rate",{prop:"playbackRate",from:s.playbackRate,to:n.pressRate}),s.playbackRate=n.pressRate,this.changeAction(Te.PLAYBACK))}},{key:"onPressEnd",value:function(e){var i=this.pos,n=this.config,s=this.player;n.disablePress||(this.emitUserAction("pressend","change_rate",{prop:"playbackRate",from:s.playbackRate,to:i.rate}),s.playbackRate=i.rate,i.rate=1,this.changeAction(Te.AUTO))}},{key:"updateTime",value:function(e){var i=this.player,n=this.config,s=this.player.duration;e=Number(e.toFixed(4));var u=parseInt(e*n.moveDuration,10)+this.timeOffset;u+=this.pos.time,u=u<0?0:u>s*1e3?s*1e3-200:u,i.getPlugin("time")&&i.getPlugin("time").updateTime(u/1e3),i.getPlugin("progress")&&i.getPlugin("progress").updatePercent(u/1e3/this.duration,!0),this.activeSeekNote(u/1e3,e>0),n.isTouchingSeek&&i.seek(Number((u-this.timeOffset)/1e3).toFixed(1)),this.pos.time=u}},{key:"updateVolume",value:function(e){this.player.rotateDeg&&(e=-e);var i=this.player,n=this.pos;if(e=parseInt(e*100,10),n.volume+=e,!(Math.abs(n.volume)<10)){var s=parseInt(i.volume*10,10)-parseInt(n.volume/10,10);s=s>10?10:s<1?0:s,i.volume=s/10,n.volume=0}}},{key:"updateBrightness",value:function(e){this.player.rotateDeg&&(e=-e);var i=this.pos,n=this.config,s=this.xgMask,u=i.light+.8*e;u=u>n.maxDarkness?n.maxDarkness:u<0?0:u,s&&(s.style.backgroundColor="rgba(0,0,0,".concat(u,")")),i.light=u}},{key:"activeSeekNote",value:function(e){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this.player,s=this.config,u=!(this.duration!==1/0&&this.duration>0);if(!(!e||typeof e!="number"||u||s.disableActive)){e<0?e=0:e>n.duration&&(e=n.duration-.2),this.changeAction(Te.SEEKING);var l=n.plugins.start;l&&l.focusHide(),this.find(".xg-dur").innerHTML=c.format(this.duration),this.find(".xg-cur").innerHTML=c.format(e),this.find(".xg-curbar").style.width="".concat(e/this.duration*100,"%"),i?c.removeClass(this.find(".xg-seek-show"),"xg-back"):c.addClass(this.find(".xg-seek-show"),"xg-back"),this.updateThumbnails(e)}}},{key:"updateThumbnails",value:function(e){var i=this.player,n=i.plugins.thumbnail;n&&n.usable&&this.thumbnail&&n.update(this.thumbnail,e,160,90)}},{key:"switchPlayPause",value:function(){var e=this.player;if(e.state
00:00 / 00:00
`).concat(this.config.pressRate,"X").concat(this.i18n.FORWARD,`
`)}}],[{key:"pluginName",get:function(){return"mobile"}},{key:"defaultConfig",get:function(){return{index:0,disableGesture:!1,gestureX:!0,gestureY:!0,gradient:"normal",isTouchingSeek:!1,miniMoveStep:5,miniYPer:5,scopeL:.25,scopeR:.25,scopeM:.9,pressRate:2,darkness:!0,maxDarkness:.8,disableActive:!1,disableTimeProgress:!1,hideControlsActive:!1,hideControlsEnd:!1,moveDuration:60*6*1e3,closedbClick:!1,disablePress:!0,disableSeekIcon:!1,focusVideoClick:!1}}}]),r}(N);function yr(o){o.preventDefault(),o.returnValue=!1}function li(o){var a=o.tagName;return!!(a==="INPUT"||a==="TEXTAREA"||o.isContentEditable)}var ci=function(o){w(r,o);var a=x(r);function r(){var t;E(this,r);for(var e=arguments.length,i=new Array(e),n=0;n0&&s-u>i*.9)}},{key:"checkCode",value:function(e,i){var n=this,s=!1;return Object.keys(this.keyCodeMap).map(function(u){n.keyCodeMap[u]&&e===n.keyCodeMap[u].keyCode&&!n.keyCodeMap[u].disable&&(s=!i||i&&!n.keyCodeMap[u].noBodyTarget)}),s}},{key:"downVolume",value:function(e){var i=this.player;if(!(i.volume<=0)){var n=parseFloat((i.volume-.1).toFixed(1)),s={volume:{from:i.volume,to:n}};this.emitUserAction(e,"change_volume",{props:s}),n>=0?i.volume=n:i.volume=0}}},{key:"upVolume",value:function(e){var i=this.player;if(!(i.volume>=1)){var n=parseFloat((i.volume+.1).toFixed(1)),s={volume:{from:i.volume,to:n}};this.emitUserAction(e,"change_volume",{props:s}),n<=1?i.volume=n:i.volume=1}}},{key:"seek",value:function(e){var i=this.player,n=i.currentTime,s=i.offsetCurrentTime,u=i.duration,l=i.offsetDuration,f=i.timeSegments,h=s>-1?s:n,d=l||u,g=e.repeat&&this.seekStep>=4?parseInt(this.seekStep/2,10):this.seekStep;h+g<=d?h=h+g:h=d;var p=c.getCurrentTimeByOffset(h,f),m={currentTime:{from:n,to:p}};this.emitUserAction(e,"seek",{props:m}),this.player.currentTime=p}},{key:"seekBack",value:function(e){var i=this.player,n=i.currentTime,s=i.offsetCurrentTime,u=i.timeSegments,l=e.repeat?parseInt(this.seekStep/2,10):this.seekStep,f=s>-1?s:n,h=f-l;h<0&&(h=0),h=c.getCurrentTimeByOffset(h,u);var d={currentTime:{from:n,to:h}};this.emitUserAction(e,"seek",{props:d}),this.player.currentTime=h}},{key:"changePlaybackRate",value:function(e){var i=this._keyState,n=this.config,s=this.player;i.playbackRate===0&&(i.playbackRate=s.playbackRate,s.playbackRate=n.playbackRate)}},{key:"playPause",value:function(e){var i=this.player;i&&(this.emitUserAction(e,"switch_play_pause"),i.paused?i.play():i.pause())}},{key:"exitFullscreen",value:function(e){var i=this.player,n=i.fullscreen,s=i.cssfullscreen;n&&(this.emitUserAction("keyup","switch_fullscreen",{prop:"fullscreen",from:n,to:!n}),i.exitFullscreen()),s&&(this.emitUserAction("keyup","switch_css_fullscreen",{prop:"cssfullscreen",from:s,to:!s}),i.exitCssFullscreen())}},{key:"handleKeyDown",value:function(e){var i=this._keyState;if(e.repeat){i.isPress=!0;var n=Date.now();if(n-i.tt<200)return;i.tt=n}this.handleKeyCode(e.keyCode,e,i.isPress)}},{key:"handleKeyUp",value:function(e){var i=this._keyState;i.playbackRate>0&&(this.player.playbackRate=i.playbackRate,i.playbackRate=0),i.isKeyDown=!1,i.isPress=!1,i.tt=0}},{key:"handleKeyCode",value:function(e,i,n){for(var s=Object.keys(this.keyCodeMap),u=0;u `,"image/svg+xml").firstChild}var Cr=function(o){w(r,o);var a=x(r);function r(){return E(this,r),a.apply(this,arguments)}return S(r,[{key:"registerIcons",value:function(){return{loadingIcon:_r}}},{key:"afterCreate",value:function(){this.appendChild("xg-loading-inner",this.icons.loadingIcon)}},{key:"render",value:function(){return` `}}],[{key:"pluginName",get:function(){return"loading"}},{key:"defaultConfig",get:function(){return{position:B.ROOT}}}]),r}(N),kr=[{tag:"xg-cache",className:"xgplayer-progress-cache",styleKey:"cachedColor"},{tag:"xg-played",className:"xgplayer-progress-played",styleKey:"playedColor"}],Tr=function(){function o(a){E(this,o),this.fragments=a.fragments||[],this.fragments.length===0&&this.fragments.push({percent:1}),this._callBack=a.actionCallback,this.fragConfig={fragFocusClass:a.fragFocusClass||"inner-focus-point",fragAutoFocus:!!a.fragAutoFocus,fragClass:a.fragClass||""},this.style=a.style||{playedColor:"",cachedColor:"",progressColor:""},this.duration=0,this.cachedIndex=0,this.playedIndex=0,this.focusIndex=-1}return S(o,[{key:"updateDuration",value:function(r){var t=this;this.duration=r;var e=0,i=this.fragments;this.fragments=i.map(function(n){return n.start=parseInt(e,10),n.end=parseInt(e+n.percent*t.duration,10),n.duration=parseInt(n.percent*t.duration,10),e+=n.percent*t.duration,n})}},{key:"updateProgress",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"played",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{newIndex:0,curIndex:0,millisecond:0},e=this.progressList,i=this.fragments;if(!(e.length<1)){var n=t.newIndex,s=t.curIndex,u=t.millisecond;n!==s&&e.map(function(h,d){dn&&(h[r].style.width=0)});var l=i[n],f=u===0?0:(u-l.start)/l.duration;e[n][r].style.width=f<0?0:"".concat(f*100,"%")}}},{key:"updateFocus",value:function(r){if(!(!this.fragConfig.fragAutoFocus||this.fragments.length<2)){if(!r){if(this.focusIndex>-1){this.unHightLight(this.focusIndex);var t={index:-1,preIndex:this.focusIndex,fragment:null};this._callBack&&this._callBack(t),this.focusIndex=-1}return}var e=this.findIndex(r.currentTime*1e3,this.focusIndex);if(e>=0&&e!==this.focusIndex){this.focusIndex>-1&&this.unHightLight(this.focusIndex),this.setHightLight(e);var i={index:e,preIndex:this.focusIndex,fragment:this.fragments[this.focusIndex]};this.focusIndex=e,this._callBack&&this._callBack(i)}}}},{key:"update",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{cached:0,played:0},t=arguments.length>1?arguments[1]:void 0;if(!this.duration||parseInt(t*1e3,10)!==this.duration){if(!t&&t!==0)return;this.updateDuration(parseInt(t*1e3,10))}var e=this.playedIndex,i=this.cachedIndex;if(c.typeOf(r.played)!=="Undefined"){var n=this.findIndex(r.played*1e3,e);if(n<0)return;this.updateProgress("played",{newIndex:n,curIndex:e,millisecond:parseInt(r.played*1e3,10)}),this.playedIndex=n}if(c.typeOf(r.cached)!=="Undefined"){var s=this.findIndex(r.cached*1e3,i);if(s<0)return;this.updateProgress("cached",{newIndex:s,curIndex:i,millisecond:parseInt(r.cached*1e3,10)}),this.cachedIndex=s}}},{key:"findIndex",value:function(r,t){var e=this.fragments;if(!e||e.length===0)return-1;if(e.length===1)return 0;if(t>-1&&te[t].start&&re[e.length-1].start)return e.length-1;for(var i=0;ie[i].start&&r<=e[i].end){t=i;break}return t}},{key:"findHightLight",value:function(){for(var r=this.root.children,t=0;t=t.length?null:{dom:t[r],pos:t[r].getBoundingClientRect()}}},{key:"unHightLight",value:function(){for(var r=this.root.children,t=0;t0;)this.root.removeChild(e[0]);this.render()}}},{key:"render",value:function(){var r=this,t=this.style.progressColor;if(this.root||(this.root=c.createDom("xg-inners","",{},"progress-list")),this.fragments){var e=this.fragConfig,i=e.fragClass,n=e.fragFocusClass;this.progressList=this.fragments.map(function(s){var u=c.createDom("xg-inner","",{style:t?"background:".concat(t,"; flex: ").concat(s.percent):"flex: ".concat(s.percent)},"".concat(s.isFocus?n:""," xgplayer-progress-inner ").concat(i));return r.root.appendChild(u),kr.forEach(function(l){u.appendChild(c.createDom(l.tag,"",{style:l.styleKey?"background: ".concat(r.style[l.styleKey],"; width:0;"):"width:0;"},l.className))}),{cached:u.children[0],played:u.children[1]}})}return this.root}}]),o}(),fi={POINT:"inner-focus-point",HIGHLIGHT:"inner-focus-highlight"},br=function(o){w(r,o);var a=x(r);function r(t){var e;return E(this,r),e=a.call(this,t),y(v(e),"onMoveOnly",function(i,n){var s=v(e),u=s.pos,l=s.config,f=s.player,h=n;if(i){c.event(i);var d=c.getEventPos(i,f.zoom),g=f.rotateDeg===90?d.clientY:d.clientX;if(u.moving&&Math.abs(u.x-g)=0?i:n+this.timeOffset}},{key:"changeState",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.useable=e}},{key:"show",value:function(e){this.root&&(this.root.style.display="flex")}},{key:"_initInner",value:function(){var e=this,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};(!i||i.length===0)&&(i=[{percent:1}]);var s=U(U({fragments:i},n),{},{actionCallback:function(l){e.emitUserAction("fragment_focus","fragment_focus",l)}});this.innerList?this.innerList.reset(s):(this.innerList=new Tr(s),this.outer.insertBefore(this.innerList.render(),this.outer.children[0]),["findHightLight","unHightLight","setHightLight","findFragment"].map(function(u){e[u]=e.innerList[u].bind(e.innerList)}))}},{key:"_updateInnerFocus",value:function(e){this.innerList&&this.innerList.updateFocus(e)}},{key:"afterCreate",value:function(){var e=this;if(!(this.config.disable||this.playerConfig.isLive)){this.pos={x:0,y:0,moving:!1,isDown:!1,isEnter:!1,isLocked:!1},this.outer=this.find("xg-outer");var i=this.config,n=i.fragFocusClass,s=i.fragAutoFocus,u=i.fragClass;this._initInner(this.config.fragments,{fragFocusClass:n,fragAutoFocus:s,fragClass:u,style:this.playerConfig.commonStyle||{}}),A.device==="mobile"&&(this.config.isDragingSeek=!1,this.isMobile=!0),this.progressBtn=this.find(".xgplayer-progress-btn"),this.on(de,function(){e.onMouseLeave()}),this.on($,function(){e.onTimeupdate()}),this.on(ae,function(){e.onTimeupdate(),e.onCacheUpdate()}),this.on(Ti,function(){e.onCacheUpdate()}),this.on(ye,function(){e.onCacheUpdate(!0),e.onTimeupdate(!0),e._state.now=0}),this.on(_e,function(){e.onReset()}),this.on(fe,function(){e.onVideoResize()}),this.bindDomEvents(),this.initCustomStyle()}}},{key:"setConfig",value:function(e){var i=this,n=null;Object.keys(e).forEach(function(s){i.config[s]=e[s],s==="fragments"&&(n=e[s])}),n&&this._initInner(n,e)}},{key:"initCustomStyle",value:function(){var e=this.playerConfig||{},i=e.commonStyle,n=i.sliderBtnStyle,s=this.progressBtn;n&&(typeof n=="string"?s.style.boxShadow=n:W(n)==="object"&&Object.keys(n).map(function(u){s.style[u]=n[u]}))}},{key:"triggerCallbacks",value:function(e,i,n){this.__dragCallBacks.length>0&&this.__dragCallBacks.map(function(s){if(s&&s.handler&&s.type===e)try{s.handler(i,n)}catch(u){console.error("[XGPLAYER][triggerCallbacks] ".concat(s," error"),u)}})}},{key:"addCallBack",value:function(e,i){i&&typeof i=="function"&&this.__dragCallBacks.push({type:e,handler:i})}},{key:"removeCallBack",value:function(e,i){var n=this.__dragCallBacks,s=-1;n.map(function(u,l){u&&u.type===e&&u.handler===i&&(s=l)}),s>-1&&n.splice(s,1)}},{key:"unlock",value:function(){var e=this.player,i=this.pos;if(i.isEnter=!1,i.isLocked=!1,!e.isMini){if(this.unbind("mousemove",this.onMoveOnly),i.isDown){this.unbind("mouseleave",this.onMouseLeave);return}this.blur()}}},{key:"bindDomEvents",value:function(){var e=this.player,i=e.controls,n=e.config;this._mouseDownHandlerHook=this.hook("dragstart",this._mouseDownHandler),this._mouseUpHandlerHook=this.hook("dragend",this._mouseUpHandler),this._mouseMoveHandlerHook=this.hook("drag",this._mouseMoveHandler),(this.domEventType==="touch"||this.domEventType==="compatible")&&(this.root.addEventListener("touchstart",this.onMouseDown),i&&(i.root&&i.root.addEventListener("touchmove",c.stopPropagation),i.center&&i.center.addEventListener("touchend",c.stopPropagation))),(this.domEventType==="mouse"||this.domEventType==="compatible")&&(this.bind("mousedown",this.onMouseDown),n.isMobileSimulateMode!=="mobile"&&this.bind("mouseenter",this.onMouseEnter),this.bind("mouseover",this.onMouseOver),this.bind("mouseout",this.onMouseOut),this.player.root.addEventListener("click",this.onBodyClick,!0))}},{key:"focus",value:function(){this.player.controls.pauseAutoHide(),c.addClass(this.root,"active")}},{key:"blur",value:function(){this._disableBlur||(this.player.controls.recoverAutoHide(),c.removeClass(this.root,"active"))}},{key:"disableBlur",value:function(){this._disableBlur=!0}},{key:"enableBlur",value:function(){this._disableBlur=!1}},{key:"updateWidth",value:function(e,i,n,s){var u=this.config,l=this.player;if(!(u.isCloseClickSeek&&s===0)){var f=i=i>=l.duration?l.duration-u.endedDiff:Number(i).toFixed(1);this.updatePercent(n),this.updateTime(e),!(s===1&&(!u.isDragingSeek||l.config.mediaType==="audio"))&&(this._state.now=f,this._state.direc=f>l.currentTime?0:1,l.seek(f))}}},{key:"computeTime",value:function(e,i){var n=this.player,s=this.root.getBoundingClientRect(),u=s.width,l=s.height,f=s.top,h=s.left,d,g,p=i;n.rotateDeg===90?(d=l,g=f):(d=u,g=h);var m=p-g;m=m>d?d:m<0?0:m;var _=m/d;_=_<0?0:_>1?1:_;var b=parseInt(_*this.offsetDuration*1e3,10)/1e3,T=c.getCurrentTimeByOffset(b,n.timeSegments);return{percent:_,currentTime:b,seekTime:T,offset:m,width:d,left:g,e}}},{key:"updateTime",value:function(e){var i=this.player,n=this.duration;e>n?e=n:e<0&&(e=0);var s=i.plugins.time;s&&s.updateTime(e)}},{key:"resetSeekState",value:function(){this.isProgressMoving=!1;var e=this.player.plugins.time;e&&e.resetActive()}},{key:"updatePercent",value:function(e,i){if(this.isProgressMoving=!0,!this.config.disable){e=e>1?1:e<0?0:e,this.progressBtn.style.left="".concat(e*100,"%"),this.innerList.update({played:e*this.offsetDuration},this.offsetDuration);var n=this.player.plugins.miniprogress;n&&n.update({played:e*this.offsetDuration},this.offsetDuration)}}},{key:"onTimeupdate",value:function(e){var i=this.player,n=this._state,s=this.offsetDuration;if(!(i.isSeeking&&i.media.seeking||this.isProgressMoving||!i.hasStart)){if(n.now>-1){var u=parseInt(n.now*1e3,10)-parseInt(i.currentTime*1e3,10);if(n.direc===0&&u>300||n.direc===1&&u>-300){n.now=-1;return}else n.now=-1}var l=this.currentTime;l=c.adjustTimeByDuration(l,s,e),this.innerList.update({played:l},s),this.progressBtn.style.left="".concat(l/s*100,"%")}}},{key:"onCacheUpdate",value:function(e){var i=this.player,n=this.duration;if(i){var s=i.bufferedPoint.end;s=c.adjustTimeByDuration(s,n,e),this.innerList.update({cached:s},n)}}},{key:"onReset",value:function(){this.innerList.update({played:0,cached:0},0),this.progressBtn.style.left="0%"}},{key:"destroy",value:function(){var e=this.player,i=e.controls;this.thumbnailPlugin=null,this.innerList.destroy(),this.innerList=null;var n=this.domEventType;(n==="touch"||n==="compatible")&&(this.root.removeEventListener("touchstart",this.onMouseDown),this.root.removeEventListener("touchmove",this.onMouseMove),this.root.removeEventListener("touchend",this.onMouseUp),this.root.removeEventListener("touchcancel",this.onMouseUp),i&&(i.root&&i.root.removeEventListener("touchmove",c.stopPropagation),i.center&&i.center.removeEventListener("touchend",c.stopPropagation))),(n==="mouse"||n==="compatible")&&(this.unbind("mousedown",this.onMouseDown),this.unbind("mouseenter",this.onMouseEnter),this.unbind("mousemove",this.onMoveOnly),this.unbind("mouseleave",this.onMouseLeave),document.removeEventListener("mousemove",this.onMouseMove,!1),document.removeEventListener("mouseup",this.onMouseUp,!1),e.root.removeEventListener("click",this.onBodyClick,!0))}},{key:"render",value:function(){if(!(this.config.disable||this.playerConfig.isLive)){var e=this.player.controls?this.player.controls.config.mode:"",i=e==="bottom"?"xgplayer-progress-bottom":"";return` `)}}}],[{key:"pluginName",get:function(){return"progress"}},{key:"defaultConfig",get:function(){return{position:B.CONTROLS_CENTER,index:0,disable:!1,isDragingSeek:!0,closeMoveSeek:!1,isPauseMoving:!1,isCloseClickSeek:!1,fragments:[{percent:1}],fragFocusClass:fi.POINT,fragClass:"",fragAutoFocus:!1,miniMoveStep:5,miniStartStep:2,onMoveStart:function(){},onMoveEnd:function(){},endedDiff:.2}}},{key:"FRAGMENT_FOCUS_CLASS",get:function(){return fi}}]),r}(N),Ce=function(o){w(r,o);var a=x(r);function r(){var t;E(this,r);for(var e=arguments.length,i=new Array(e),n=0;n
`.concat(ge(this,"PLAY_TIPS",this.playerConfig.isHideTips),` `)}}],[{key:"pluginName",get:function(){return"play"}},{key:"defaultConfig",get:function(){return{position:B.CONTROLS_LEFT,index:0,disable:!1}}}]),r}(Ce);function Sr(){return new DOMParser().parseFromString(` `,"image/svg+xml").firstChild}var wr=function(o){w(r,o);var a=x(r);function r(){return E(this,r),a.apply(this,arguments)}return S(r,[{key:"afterCreate",value:function(){var e=this;this.initIcons(),this.onClick=function(i){i.preventDefault(),i.stopPropagation(),e.config.onClick(i)},this.bind(["click","touchend"],this.onClick)}},{key:"registerIcons",value:function(){return{screenBack:{icon:Sr,class:"xg-fullscreen-back"}}}},{key:"initIcons",value:function(){var e=this.icons;this.appendChild(this.root,e.screenBack)}},{key:"show",value:function(){c.addClass(this.root,"show")}},{key:"hide",value:function(){c.removeClass(this.root,"show")}},{key:"render",value:function(){return` `}}],[{key:"pluginName",get:function(){return"topbackicon"}},{key:"defaultConfig",get:function(){return{position:B.ROOT_TOP,index:0}}}]),r}(N);function xr(){return new DOMParser().parseFromString(` `,"image/svg+xml").firstChild}function Pr(){return new DOMParser().parseFromString(` `,"image/svg+xml").firstChild}var Ir=function(o){w(r,o);var a=x(r);function r(){var t;E(this,r);for(var e=arguments.length,i=new Array(e),n=0;n1&&this.lockScreen(n.lockOrientationType))}},{key:"animate",value:function(e){e?this.setAttr("data-state","full"):this.setAttr("data-state","normal"),this.topBackIcon&&(e?(this.topBackIcon.show(),this.hide()):(this.topBackIcon.hide(),this.show()))}},{key:"render",value:function(){if(!this.config.disable){var e="FULLSCREEN_TIPS";return`
`.concat(ge(this,e,this.playerConfig.isHideTips),`
`)}}},{key:"lockScreen",value:function(e){try{screen.orientation.lock(e).catch(function(i){})}catch(i){}}},{key:"unlockScreen",value:function(){try{screen.orientation.unlock().catch(function(e){})}catch(e){}}}],[{key:"pluginName",get:function(){return"fullscreen"}},{key:"defaultConfig",get:function(){return{position:B.CONTROLS_RIGHT,index:0,useCssFullscreen:!1,rotateFullscreen:!1,useScreenOrientation:!1,lockOrientationType:"landscape",switchCallback:null,target:null,disable:!1,needBackIcon:!1}}}]),r}(Ce),Lr=function(o){w(r,o);var a=x(r);function r(t){var e;return E(this,r),e=a.call(this,t),e.isActiving=!1,e}return S(r,[{key:"duration",get:function(){var e=this.player,i=e.offsetDuration,n=e.duration;return this.playerConfig.customDuration||i||n}},{key:"currentTime",get:function(){var e=this.player,i=e.offsetCurrentTime,n=e.currentTime;return i>=0?i:n}},{key:"timeOffset",get:function(){return this.playerConfig.timeOffset||0}},{key:"afterCreate",value:function(){var e=this,i=this.player.controls.config.mode;this.mode=i==="flex"?"flex":"normal",!this.config.disable&&(this.mode==="flex"&&(this.createCenterTime(),this.root.style.display="none"),this.durationDom=this.find(".time-duration"),this.timeDom=this.find(".time-current"),this.on([de,ae,$],function(n){n.eventName==="durationchange"&&(e.isActiving=!1),e.onTimeUpdate()}),this.on(ye,function(){e.onTimeUpdate(!0)}),this.on(_e,function(){e.onReset()}))}},{key:"show",value:function(e){if(this.mode==="flex"){this.centerCurDom&&(this.centerCurDom.style.display="block"),this.centerDurDom&&(this.centerDurDom.style.display="block");return}this.root.style.display="block"}},{key:"hide",value:function(){if(this.mode==="flex"){this.centerCurDom&&(this.centerCurDom.style.display="none"),this.centerDurDom&&(this.centerDurDom.style.display="none");return}this.root.style.display="none"}},{key:"onTimeUpdate",value:function(e){var i=this.player,n=this.config,s=this.duration;if(!(n.disable||this.isActiving||!i.hasStart)){var u=this.currentTime+this.timeOffset;u=c.adjustTimeByDuration(u,s,e),this.mode==="flex"?(this.centerCurDom.innerHTML=this.minWidthTime(c.format(u)),s!==1/0&&s>0&&(this.centerDurDom.innerHTML=c.format(s))):(this.timeDom.innerHTML=this.minWidthTime(c.format(u)),s!==1/0&&s>0&&(this.durationDom.innerHTML=c.format(s)))}}},{key:"onReset",value:function(){this.mode==="flex"?(this.centerCurDom.innerHTML=this.minWidthTime(c.format(0)),this.centerDurDom.innerHTML=c.format(0)):(this.timeDom.innerHTML=this.minWidthTime(c.format(0)),this.durationDom.innerHTML=c.format(0))}},{key:"createCenterTime",value:function(){var e=this.player;if(!(!e.controls||!e.controls.center)){var i=e.controls.center;this.centerCurDom=c.createDom("xg-icon","00:00",{},"xgplayer-time xg-time-left"),this.centerDurDom=c.createDom("xg-icon","00:00",{},"xgplayer-time xg-time-right"),i.children.length>0?i.insertBefore(this.centerCurDom,i.children[0]):i.appendChild(this.centerCurDom),i.appendChild(this.centerDurDom)}}},{key:"afterPlayerInit",value:function(){var e=this.config;if(this.duration===1/0||this.playerConfig.isLive?(c.hide(this.durationDom),c.hide(this.timeDom),c.hide(this.find(".time-separator")),c.show(this.find(".time-live-tag"))):c.hide(this.find(".time-live-tag")),e.hide){this.hide();return}this.show()}},{key:"changeLiveState",value:function(e){e?(c.hide(this.durationDom),c.hide(this.timeDom),c.hide(this.find(".time-separator")),c.show(this.find(".time-live-tag"))):(c.hide(this.find(".time-live-tag")),c.show(this.find(".time-separator")),c.show(this.durationDom),c.show(this.timeDom))}},{key:"updateTime",value:function(e){if(this.isActiving=!0,!(!e&&e!==0||e>this.duration)){if(this.mode==="flex"){this.centerCurDom.innerHTML=this.minWidthTime(c.format(e));return}this.timeDom.innerHTML=this.minWidthTime(c.format(e))}}},{key:"minWidthTime",value:function(e){return e.split(":").map(function(i){return''.concat(i,"")}).join(":")}},{key:"resetActive",value:function(){var e=this,i=this.player,n=function(){e.isActiving=!1};this.off(ae,n),i.isSeeking&&i.media.seeking?this.once(ae,n):this.isActiving=!1}},{key:"destroy",value:function(){var e=this.player.controls.center;this.centerCurDom&&e.removeChild(this.centerCurDom),this.centerCurDom=null,this.centerDurDom&&e.removeChild(this.centerDurDom),this.centerDurDom=null}},{key:"render",value:function(){if(!this.config.disable)return` 00:00 / 00:00 `.concat(this.i18n.LIVE_TIP,` `)}}],[{key:"pluginName",get:function(){return"time"}},{key:"defaultConfig",get:function(){return{position:B.CONTROLS_LEFT,index:2,disable:!1}}}]),r}(N),Ar=function(o){w(r,o);var a=x(r);function r(){var t;E(this,r);for(var e=arguments.length,i=new Array(e),n=0;n0&&(t.player.currentTime=t.curPos.start)}}),y(v(t),"_onTimeupdate",function(){var s=t.player,u=s.currentTime,l=s.timeSegments;if(t._checkIfEnabled(l)){var f=l.length;t.lastCurrentTime=u;var h=c.getIndexByTime(u,l);h!==t.curIndex&&t.changeIndex(h,l);var d=c.getOffsetCurrentTime(u,l,h);if(t.player.offsetCurrentTime=d,!!t.curPos){var g=t.curPos,p=g.start,m=g.end;um&&h>=f-1&&t.player.pause()}}}),y(v(t),"_onSeeking",function(){var s=t.player,u=s.currentTime,l=s.timeSegments;if(t._checkIfEnabled(l))if(ul[l.length-1].end)t.player.currentTime=l[l.length-1].end;else{var f=c.getIndexByTime(u,l);if(f>=0){var h=t.getSeekTime(u,t.lastCurrentTime,f,l);h>=0&&(t.player.currentTime=h)}}}),y(v(t),"_onPlay",function(){var s=t.player,u=s.currentTime,l=s.timeSegments;t._checkIfEnabled(l)&&u>=l[l.length-1].end&&(t.player.currentTime=l[0].start)}),t}return S(r,[{key:"afterCreate",value:function(){this.curIndex=-1,this.curPos=null,this.lastCurrentTime=0,this.updateSegments(),this.on(de,this._onDurationChange),this.on(oe,this._onLoadedData),this.on($,this._onTimeupdate),this.on(Ze,this._onSeeking),this.on(q,this._onPlay)}},{key:"setConfig",value:function(e){var i=this;if(e){var n=Object.keys(e);n.length<1||(n.forEach(function(s){i.config[s]=e[s]}),this.updateSegments())}}},{key:"updateSegments",value:function(){var e=this.config,i=e.disable,n=e.segments,s=this.player;if(i||!n||n.length===0)s.timeSegments=[],s.offsetDuration=0,s.offsetCurrentTime=-1;else{var u=this.formatTimeSegments(n,s.duration);s.timeSegments=u,s.offsetDuration=u.length>0?u[u.length-1].duration:0}}},{key:"formatTimeSegments",value:function(e,i){var n=[];return e?(e.sort(function(s,u){return s.start-u.start}),e.forEach(function(s,u){var l={};if(l.start=s.start<0?0:s.start,l.end=i>0&&s.end>i?i:s.end,!(i>0&&l.start>i)){n.push(l);var f=l.end-l.start;if(u===0)l.offset=s.start,l.cTime=0,l.segDuration=f,l.duration=f;else{var h=n[u-1];l.offset=h.offset+(l.start-h.end),l.cTime=h.duration+h.cTime,l.segDuration=f,l.duration=h.duration+f}}}),n):[]}},{key:"getSeekTime",value:function(e,i,n,s){var u=-1,l=s[n],f=l.start,h=l.end;if(e>=f&&e<=h)return u;var d=e-i;if(d<0&&ef?i-f:0;return u=n-1>=0?s[n-1].end+d+g:0,u}return-1}},{key:"_checkIfEnabled",value:function(e){return!(!e||e.length<1)}},{key:"changeIndex",value:function(e,i){this.curIndex=e,e>=0&&i.length>0?this.curPos=i[e]:this.curPos=null}}],[{key:"pluginName",get:function(){return"TimeSegmentsControls"}},{key:"defaultConfig",get:function(){return{disable:!0,segments:[]}}}]),r}(he);function Dr(){return new DOMParser().parseFromString(` `,"image/svg+xml").firstChild}function Rr(){return new DOMParser().parseFromString(` `,"image/svg+xml").firstChild}function Or(){return new DOMParser().parseFromString(` `,"image/svg+xml").firstChild}var Mr=function(o){w(r,o);var a=x(r);function r(){var t;E(this,r);for(var e=arguments.length,i=new Array(e),n=0;nh.barH||t.updateVolumePos(p,s)}}),y(v(t),"onBarMouseUp",function(s){c.event(s),document.removeEventListener("mouseup",t.onBarMouseUp);var u=v(t),l=u._d;l.isStart=!1,l.isMoving=!1}),y(v(t),"onMouseenter",function(s){t._d.isActive=!0,t.focus(),t.emit("icon_mouseenter",{pluginName:t.pluginName})}),y(v(t),"onMouseleave",function(s){t._d.isActive=!1,t.unFocus(100,!1,s),t.emit("icon_mouseleave",{pluginName:t.pluginName})}),y(v(t),"onVolumeChange",function(s){if(t.player){var u=t.player,l=u.muted,f=u.volume;t._d.isMoving||(t.find(".xgplayer-drag").style.height=l||f===0?"4px":"".concat(f*100,"%"),t.config.showValueLabel&&t.updateVolumeValue()),t.animate(l,f)}}),t}return S(r,[{key:"registerIcons",value:function(){return{volumeSmall:{icon:Rr,class:"xg-volume-small"},volumeLarge:{icon:Dr,class:"xg-volume"},volumeMuted:{icon:Or,class:"xg-volume-mute"}}}},{key:"afterCreate",value:function(){var e=this;if(this._timerId=null,this._d={isStart:!1,isMoving:!1,isActive:!1},!this.config.disable){this.initIcons();var i=this.playerConfig,n=i.commonStyle,s=i.volume;n.volumeColor&&(this.find(".xgplayer-drag").style.backgroundColor=n.volumeColor),this.changeMutedHandler=this.hook("mutedChange",function(u){e.changeMuted(u)},{pre:function(l){l.preventDefault(),l.stopPropagation()}}),this._onMouseenterHandler=this.hook("mouseenter",this.onMouseenter),this._onMouseleaveHandler=this.hook("mouseleave",this.onMouseleave),A.device!=="mobile"&&this.playerConfig.isMobileSimulateMode!=="mobile"&&(this.bind("mouseenter",this._onMouseenterHandler),this.bind(["blur","mouseleave"],this._onMouseleaveHandler),this.bind(".xgplayer-slider","mousedown",this.onBarMousedown),this.bind(".xgplayer-slider","mousemove",this.onBarMouseMove),this.bind(".xgplayer-slider","mouseup",this.onBarMouseUp)),this.bind(".xgplayer-icon",["touchend","click"],this.changeMutedHandler),this.on(Ci,this.onVolumeChange),this.once(oe,this.onVolumeChange),c.typeOf(s)!=="Number"&&(this.player.volume=this.config.default),this.onVolumeChange()}}},{key:"updateVolumePos",value:function(e,i){var n=this.player,s=this.find(".xgplayer-drag"),u=this.find(".xgplayer-bar");if(!(!u||!s)){var l=parseInt(e/u.getBoundingClientRect().height*1e3,10);s.style.height="".concat(e,"px");var f=Math.max(Math.min(l/1e3,1),0),h={volume:{from:n.volume,to:f}};n.muted&&(h.muted={from:!0,to:!1}),this.emitUserAction(i,"change_volume",{muted:n.muted,volume:n.volume,props:h}),n.volume=Math.max(Math.min(l/1e3,1),0),n.muted&&(n.muted=!1),this.config.showValueLabel&&this.updateVolumeValue()}}},{key:"updateVolumeValue",value:function(){var e=this.player,i=e.volume,n=e.muted,s=this.find(".xgplayer-value-label"),u=Math.max(Math.min(i,1),0);s.innerText=n?0:Math.ceil(u*100)}},{key:"focus",value:function(){var e=this.player;e.focus({autoHide:!1}),this._timerId&&(c.clearTimeout(this,this._timerId),this._timerId=null),c.addClass(this.root,"slide-show")}},{key:"unFocus",value:function(){var e=this,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:100,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,s=arguments.length>2?arguments[2]:void 0,u=this._d,l=this.player;u.isActive||(this._timerId&&(c.clearTimeout(this,this._timerId),this._timerId=null),this._timerId=c.setTimeout(this,function(){u.isActive||(n?l.blur():l.focus(),c.removeClass(e.root,"slide-show"),u.isStart&&e.onBarMouseUp(s)),e._timerId=null},i))}},{key:"changeMuted",value:function(e){e&&e.stopPropagation();var i=this.player,n=this._d;n.isStart&&this.onBarMouseUp(e),this.emitUserAction(e,"change_muted",{muted:i.muted,volume:i.volume,props:{muted:{from:i.muted,to:!i.muted}}}),i.volume>0&&(i.muted=!i.muted),i.volume<.01&&(i.volume=this.config.miniVolume)}},{key:"animate",value:function(e,i){e||i===0?this.setAttr("data-state","mute"):i<.5&&this.icons.volumeSmall?this.setAttr("data-state","small"):this.setAttr("data-state","normal")}},{key:"initIcons",value:function(){var e=this.icons;this.appendChild(".xgplayer-icon",e.volumeSmall),this.appendChild(".xgplayer-icon",e.volumeLarge),this.appendChild(".xgplayer-icon",e.volumeMuted)}},{key:"destroy",value:function(){this._timerId&&(c.clearTimeout(this,this._timerId),this._timerId=null),this.unbind("mouseenter",this.onMouseenter),this.unbind(["blur","mouseleave"],this.onMouseleave),this.unbind(".xgplayer-slider","mousedown",this.onBarMousedown),this.unbind(".xgplayer-slider","mousemove",this.onBarMouseMove),this.unbind(".xgplayer-slider","mouseup",this.onBarMouseUp),document.removeEventListener("mouseup",this.onBarMouseUp),this.unbind(".xgplayer-icon",A.device==="mobile"?"touchend":"click",this.changeMutedHandler)}},{key:"render",value:function(){if(!this.config.disable){var e=this.config.default||this.player.volume,i=this.config.showValueLabel;return`
`.concat(i?'
'.concat(e*100,"
"):"",`
`)}}}],[{key:"pluginName",get:function(){return"volume"}},{key:"defaultConfig",get:function(){return{position:B.CONTROLS_RIGHT,index:1,disable:!1,showValueLabel:!1,default:.6,miniVolume:.2}}}]),r}(N);function Nr(){return new DOMParser().parseFromString(` `,"image/svg+xml").firstChild}var Fr=function(o){w(r,o);var a=x(r);function r(t){var e;return E(this,r),e=a.call(this,t),e.rotateDeg=e.config.rotateDeg||0,e}return S(r,[{key:"afterCreate",value:function(){var e=this;if(!this.config.disable){I(P(r.prototype),"afterCreate",this).call(this),this.appendChild(".xgplayer-icon",this.icons.rotate),this.onBtnClick=this.onBtnClick.bind(this),this.bind(".xgplayer-icon",["click","touchend"],this.onBtnClick),this.on(fe,function(){e.rotateDeg&&e.config.innerRotate&&c.setTimeout(e,function(){e.updateRotateDeg(e.rotateDeg,e.config.innerRotate)},100)});var i=this.player.root;this.rootWidth=i.style.width||i.offsetWidth||i.clientWidth,this.rootHeight=i.style.height||i.offsetHeight||i.clientHeight,this.rotateDeg&&this.updateRotateDeg(this.rotateDeg,this.config.innerRotate)}}},{key:"destroy",value:function(){I(P(r.prototype),"destroy",this).call(this),this.unbind(".xgplayer-icon",["click","touchend"],this.onBtnClick)}},{key:"onBtnClick",value:function(e){e.preventDefault(),e.stopPropagation(),this.emitUserAction(e,"rotate"),this.rotate(this.config.clockwise,this.config.innerRotate,1)}},{key:"updateRotateDeg",value:function(e,i){if(e||(e=0),i){this.player.videoRotateDeg=e;return}var n=this.player,s=this.rootWidth,u=this.rootHeight,l=n.root,f=n.innerContainer,h=n.media,d=l.offsetWidth,g=f&&i?f.offsetHeight:l.offsetHeight,p=s,m=u,_=0,b=0;(e===.75||e===.25)&&(p="".concat(g,"px"),m="".concat(d,"px"),_=-(g-d)/2,b=-(d-g)/2);var T="translate(".concat(_,"px,").concat(b,"px) rotate(").concat(e,"turn)"),k={transformOrigin:"center center",transform:T,webKitTransform:T,height:m,width:p},F=i?h:l,R=i?n.getPlugin("poster"):null;Object.keys(k).map(function(H){F.style[H]=k[H],R&&R.root&&(R.root.style[H]=k[H])})}},{key:"rotate",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=this.player;this.rotateDeg||(this.rotateDeg=0);var u=e?1:-1;this.rotateDeg=(this.rotateDeg+1+u*.25*n)%1,this.updateRotateDeg(this.rotateDeg,i),s.emit(Pi,this.rotateDeg*360)}},{key:"registerIcons",value:function(){return{rotate:Nr}}},{key:"render",value:function(){if(!this.config.disable)return`
`.concat(ge(this,"ROTATE_TIPS",this.playerConfig.isHideTips),`
`)}}],[{key:"pluginName",get:function(){return"rotate"}},{key:"defaultConfig",get:function(){return{position:B.CONTROLS_RIGHT,index:6,innerRotate:!0,clockwise:!1,rotateDeg:0,disable:!1}}}]),r}(Ce);function Br(){return new DOMParser().parseFromString(` `,"image/svg+xml").firstChild}function Hr(){return new DOMParser().parseFromString(` `,"image/svg+xml").firstChild}var be={PIP:"picture-in-picture",INLINE:"inline",FULLSCREEN:"fullscreen"},Ur=function(o){w(r,o);var a=x(r);function r(){var t;E(this,r);for(var e=arguments.length,i=new Array(e),n=0;n
`.concat(ge(this,"PIP",this.playerConfig.isHideTips),` `)}}],[{key:"pluginName",get:function(){return"pip"}},{key:"defaultConfig",get:function(){return{position:B.CONTROLS_RIGHT,index:6,showIcon:!1,preferDocument:!1,width:void 0,height:void 0,docPiPNode:void 0,docPiPStyle:void 0}}},{key:"checkWebkitSetPresentationMode",value:function(e){return typeof e.webkitSetPresentationMode=="function"}}]),r}(Ce);function Vr(){return new DOMParser().parseFromString(` `,"image/svg+xml").firstChild}var jr=function(o){w(r,o);var a=x(r);function r(t){var e;return E(this,r),e=a.call(this,t),y(v(e),"playNext",function(i){var n=v(e),s=n.player;i.preventDefault(),i.stopPropagation(),e.idx+1
`.concat(ge(this,"PLAYNEXT_TIPS",this.playerConfig.isHideTips),` `)}}],[{key:"pluginName",get:function(){return"playNext"}},{key:"defaultConfig",get:function(){return{position:B.CONTROLS_LEFT,index:1,url:null,urlList:[]}}}]),r}(N),ji={exports:{}};(function(o,a){(function(r,t){o.exports=t()})(zi,function(){return function r(t,e,i){var n=window,s="application/octet-stream",u=i||s,l=t,f=!e&&!i&&l,h=document.createElement("a"),d=function(L){return String(L)},g=n.Blob||n.MozBlob||n.WebKitBlob||d,p=e||"download",m,_;if(g=g.call?g.bind(n):Blob,String(this)==="true"&&(l=[l,u],u=l[0],l=l[1]),f&&f.length<2048&&(p=f.split("/").pop().split("?")[0],h.href=f,h.href.indexOf(f)!==-1)){var b=new XMLHttpRequest;return b.open("GET",f,!0),b.responseType="blob",b.onload=function(L){r(L.target.response,p,s)},setTimeout(function(){b.send()},0),b}if(/^data:([\w+-]+\/[\w+.-]+)?[,;]/.test(l))if(l.length>1024*1024*1.999&&g!==d)l=R(l),u=l.type||s;else return navigator.msSaveBlob?navigator.msSaveBlob(R(l),p):H(l);else if(/([\x80-\xff])/.test(l)){var T=0,k=new Uint8Array(l.length),F=k.length;for(T;T `,"image/svg+xml").firstChild}var Kr=function(o){w(r,o);var a=x(r);function r(t){var e;return E(this,r),e=a.call(this,t),y(v(e),"download",function(i){if(!e.isLock){e.emitUserAction(i,"download");var n=e.playerConfig.url,s="";c.typeOf(n)==="String"?s=n:c.typeOf(n)==="Array"&&n.length>0&&(s=n[0].src);var u=e.getAbsoluteURL(s);Wr(u),e.isLock=!0,e.timer=window.setTimeout(function(){e.isLock=!1,window.clearTimeout(e.timer),e.timer=null},300)}}),e.timer=null,e.isLock=!1,e}return S(r,[{key:"afterCreate",value:function(){I(P(r.prototype),"afterCreate",this).call(this),!this.config.disable&&(this.appendChild(".xgplayer-icon",this.icons.download),this._handler=this.hook("click",this.download,{pre:function(i){i.preventDefault(),i.stopPropagation()}}),this.bind(["click","touchend"],this._handler))}},{key:"registerIcons",value:function(){return{download:zr}}},{key:"getAbsoluteURL",value:function(e){if(!e.match(/^https?:\/\//)){var i=document.createElement("div");i.innerHTML='x'),e=i.firstChild.href}return e}},{key:"destroy",value:function(){I(P(r.prototype),"destroy",this).call(this),this.unbind(["click","touchend"],this.download),window.clearTimeout(this.timer),this.timer=null}},{key:"render",value:function(){if(!this.config.disable)return`
`.concat(ge(this,"DOWNLOAD_TIPS",this.playerConfig.isHideTips),`
`)}}],[{key:"pluginName",get:function(){return"download"}},{key:"defaultConfig",get:function(){return{position:B.CONTROLS_RIGHT,index:3,disable:!0}}}]),r}(Ce),Yr=function(o){w(r,o);var a=x(r);function r(){return E(this,r),a.apply(this,arguments)}return S(r,[{key:"beforeCreate",value:function(e){typeof e.player.config.screenShot=="boolean"&&(e.config.disable=!e.player.config.screenShot)}},{key:"afterCreate",value:function(){I(P(r.prototype),"afterCreate",this).call(this),this.appendChild(".xgplayer-icon",this.icons.screenshotIcon);var e=this.config;this.initSize=function(i){e.fitVideo&&(e.width=i.vWidth,e.height=i.vHeight)},this.once(fe,this.initSize)}},{key:"onPluginsReady",value:function(){this.show(),this.onClickBtn=this.onClickBtn.bind(this),this.bind(["click","touchend"],this.onClickBtn)}},{key:"saveScreenShot",value:function(e,i){var n=document.createElement("a");n.href=e,n.download=i;var s=document.createEvent("MouseEvents");s.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),n.dispatchEvent(s)}},{key:"createCanvas",value:function(e,i){var n=document.createElement("canvas"),s=n.getContext("2d");this.canvasCtx=s,this.canvas=n,n.width=e||this.config.width,n.height=i||this.config.height,s.imageSmoothingEnabled=!0,s.imageSmoothingEnabled&&(s.imageSmoothingQuality="high")}},{key:"onClickBtn",value:function(e){var i=this;e.preventDefault(),e.stopPropagation(),this.emitUserAction(e,"shot");var n=this.config;this.shot(n.width,n.height).then(function(s){i.emit(Ii,s),n.saveImg&&i.saveScreenShot(s,n.name+n.format)})}},{key:"shot",value:function(e,i){var n=this,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{quality:.92,type:"image/png"},u=this.config,l=this.player,f=s.quality||u.quality,h=s.type||u.type;return new Promise(function(d,g){var p=null,m;if(l.media.canvas)p=l.media.canvas;else{n.canvas?(n.canvas.width=e||u.width,n.canvas.height=i||u.height):n.createCanvas(e,i),p=n.canvas,m=n.canvasCtx;var _=l.media.videoWidth/l.media.videoHeight,b=p.width/p.height,T=0,k=0,F=l.media.videoWidth,R=l.media.videoHeight,H,L,z,V;_>b?(z=p.width,V=p.width/_,H=0,L=Math.round((p.height-V)/2)):_===b?(z=p.width,V=p.height,H=0,L=0):_
`).concat(this.icons.screenshotIcon?"":'').concat(this.i18n[i],""),`
`)}}}],[{key:"pluginName",get:function(){return"screenShot"}},{key:"defaultConfig",get:function(){return{position:B.CONTROLS_RIGHT,index:5,quality:.92,type:"image/png",format:".png",width:600,height:337,saveImg:!0,fitVideo:!0,disable:!1,name:"screenshot"}}}]),r}(Ce),Xr=function(){function o(a){E(this,o),this.config=a.config,this.parent=a.root,this.root=c.createDom("ul","",{},"xg-options-list xg-list-slide-scroll ".concat(this.config.className)),a.root.appendChild(this.root);var r=this.config.maxHeight;r&&this.setStyle({maxHeight:r}),this.onItemClick=this.onItemClick.bind(this),this.renderItemList();var t=A.device==="mobile"?"touchend":"click";this._delegates=N.delegate.call(this,this.root,"li",t,this.onItemClick)}return S(o,[{key:"renderItemList",value:function(r){var t=this,e=this.config,i=this.root;r?e.data=r:r=e.data,e.style&&Object.keys(e.style).map(function(n){i.style[n]=e[n]}),r.length>0&&(this.attrKeys=Object.keys(r[0])),this.root.innerHTML="",r.map(function(n,s){var u=n.selected?"option-item selected":"option-item";n["data-index"]=s,t.root.appendChild(c.createDom("li","".concat(n.showText,""),n,u))})}},{key:"onItemClick",value:function(r){r.delegateTarget||(r.delegateTarget=r.target);var t=r.delegateTarget;if(t&&c.hasClass(t,"selected"))return!1;var e=typeof this.config.onItemClick=="function"?this.config.onItemClick:null,i=this.root.querySelector(".selected");c.addClass(t,"selected"),i&&c.removeClass(i,"selected"),e(r,{from:i?this.getAttrObj(i,this.attrKeys):null,to:this.getAttrObj(t,this.attrKeys)})}},{key:"getAttrObj",value:function(r,t){if(!r||!t)return{};var e={};t.map(function(n){e[n]=r.getAttribute(n)});var i=r.getAttribute("data-index");return i&&(e.index=Number(i)),e}},{key:"show",value:function(){c.removeClass(this.root,"hide"),c.addClass(this.root,"active")}},{key:"hide",value:function(){c.removeClass(this.root,"active"),c.addClass(this.root,"hide")}},{key:"setStyle",value:function(r){var t=this;Object.keys(r).forEach(function(e){t.root.style[e]=r[e]})}},{key:"destroy",value:function(){this._delegates&&(this._delegates.map(function(r){r.destroy&&r.destroy()}),this._delegates=null),this.root.innerHTML=null,this.parent.removeChild(this.root),this.root=null}}]),o}(),te={SIDE:"side",MIDDLE:"middle"},Ee={CLICK:"click",HOVER:"hover"};function $r(o,a){return o===te.SIDE?a===B.CONTROLS_LEFT?"xg-side-list xg-left-side":"xg-side-list xg-right-side":""}var Be=A.device==="mobile",qe=function(o){w(r,o);var a=x(r);function r(t){var e;return E(this,r),e=a.call(this,t),y(v(e),"onEnter",function(i){i.stopPropagation(),e.emit("icon_mouseenter",{pluginName:e.pluginName}),e.switchActiveState(i)}),y(v(e),"switchActiveState",function(i){i.stopPropagation();var n=e.config.toggleMode;n===Ee.CLICK?e.toggle(!e.isActive):e.toggle(!0)}),y(v(e),"onLeave",function(i){i.stopPropagation(),e.emit("icon_mouseleave",{pluginName:e.pluginName}),e.config.listType!==te.SIDE&&e.isActive&&e.toggle(!1)}),y(v(e),"onListEnter",function(i){e.enterType=2}),y(v(e),"onListLeave",function(i){e.enterType=0,e.isActive&&e.toggle(!1)}),e.isIcons=!1,e.isActive=!1,e.curValue=null,e.curIndex=0,e}return S(r,[{key:"updateLang",value:function(e){this.renderItemList(this.config.list,this.curIndex)}},{key:"afterCreate",value:function(){var e=this,i=this.config;this.initIcons(),Be&&i.listType!==te.MIDDLE&&(i.listType=te.SIDE),i.hidePortrait&&c.addClass(this.root,"portrait"),this.on([fe,ne],function(){e._resizeList()}),this.once(se,function(){i.list&&i.list.length>0&&(e.renderItemList(i.list),e.show())}),Be&&this.on(Pt,function(){e.isActive&&(e.optionsList&&e.optionsList.hide(),e.isActive=!1)}),Be?(i.toggleMode=Ee.CLICK,this.activeEvent="touchend"):this.activeEvent=i.toggleMode===Ee.CLICK?"click":"mouseenter",i.toggleMode===Ee.CLICK?this.bind(this.activeEvent,this.switchActiveState):(this.bind(this.activeEvent,this.onEnter),this.bind("mouseleave",this.onLeave)),this.isIcons&&this.bind("click",this.onIconClick)}},{key:"initIcons",value:function(){var e=this,i=this.icons,n=Object.keys(i),s=!1;n.length>0&&(n.forEach(function(u){e.appendChild(".xgplayer-icon",i[u]),!s&&(s=i[u])}),this.isIcons=s),!s&&(this.appendChild(".xgplayer-icon",c.createDom("span","",{},"icon-text")),c.addClass(this.find(".xgplayer-icon"),"btn-text"))}},{key:"show",value:function(e){!this.config.list||this.config.list.length<2||c.addClass(this.root,"show")}},{key:"hide",value:function(){c.removeClass(this.root,"show")}},{key:"getTextByLang",value:function(e,i,n){if(e===void 0)return"";var s=this.config.list;!n&&(n=this.player.lang),i=!i||c.isUndefined(e[i])?"text":i,typeof e=="number"&&(e=s[e]);try{return W(e[i])==="object"?e[i][n]||e[i].en:e[i]}catch(u){return console.warn(u),""}}},{key:"toggle",value:function(e){if(e!==this.isActive){var i=this.player.controls,n=this.config.listType;e?(n===te.SIDE?i.blur():i.focus(),this.optionsList&&this.optionsList.show()):(n===te.SIDE?i.focus():i.focusAwhile(),this.optionsList&&this.optionsList.hide()),this.isActive=e}}},{key:"onItemClick",value:function(e,i){e.stopPropagation();var n=this.config,s=n.listType,u=n.list;this.curIndex=i.to.index,this.curItem=u[this.curIndex],this.changeCurrentText();var l=this.config.isItemClickHide;(l||Be||s===te.SIDE)&&this.toggle(!1)}},{key:"onIconClick",value:function(e){}},{key:"changeCurrentText",value:function(){if(!this.isIcons){var e=this.config.list,i=this.curIndex
`)}}],[{key:"pluginName",get:function(){return"optionsIcon"}},{key:"defaultConfig",get:function(){return{position:B.CONTROLS_RIGHT,index:100,list:[],listType:"middle",listStyle:{},hidePortrait:!0,isShowIcon:!1,isItemClickHide:!0,toggleMode:Ee.HOVER,heightLimit:!0}}}]),r}(N),qr=function(o){w(r,o);var a=x(r);function r(t){var e;return E(this,r),e=a.call(this,t),e.curTime=0,e.isPaused=!0,e}return S(r,[{key:"beforeCreate",value:function(e){var i=e.config.list;Array.isArray(i)&&i.length>0&&(e.config.list=i.map(function(n){return!n.text&&n.name&&(n.text=n.name),n.text||(n.text=n.definition),n}))}},{key:"afterCreate",value:function(){var e=this;I(P(r.prototype),"afterCreate",this).call(this),this.on("resourceReady",function(i){e.changeDefinitionList(i)}),this.on(Dt,function(i){e.renderItemList(e.config.list,i.to)}),this.player.definitionList.length<2&&this.hide()}},{key:"show",value:function(e){!this.config.list||this.config.list.length<2||c.addClass(this.root,"show")}},{key:"initDefinition",value:function(){var e=this.config,i=e.list,n=e.defaultDefinition;if(i.length>0){var s=null;i.map(function(u){u.definition===n&&(s=u)}),s||(s=i[0]),this.changeDefinition(s)}}},{key:"renderItemList",value:function(){var e=this,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.config.list||[],n=arguments.length>1?arguments[1]:void 0,s=n&&n.definition?n.definition:this.config.defaultDefinition;n&&i.forEach(function(f){f.selected=!1});var u=0,l=i.map(function(f,h){var d=U(U({},f),{},{showText:e.getTextByLang(f)||f.definition,selected:!1});return(f.selected||f.definition&&f.definition==s)&&(d.selected=!0,u=h),d});I(P(r.prototype),"renderItemList",this).call(this,l,u)}},{key:"changeDefinitionList",value:function(e){Array.isArray(e)&&(this.config.list=e.map(function(i){return!i.text&&i.name&&(i.text=i.name),i.text||(i.text=i.definition),i}),this.renderItemList(),this.config.list.length<2?this.hide():this.show())}},{key:"changeDefinition",value:function(e,i){this.player.changeDefinition(e,i)}},{key:"onItemClick",value:function(e,i){var n=this.player.definitionList;I(P(r.prototype),"onItemClick",this).apply(this,arguments),this.emitUserAction(e,"change_definition",{from:i.from,to:i.to});for(var s=0;s `,"image/svg+xml").firstChild}function Qr(){return new DOMParser().parseFromString(` `,"image/svg+xml").firstChild}var hi=function(o){w(r,o);var a=x(r);function r(){return E(this,r),a.apply(this,arguments)}return S(r,[{key:"beforeCreate",value:function(e){typeof e.player.config.cssFullscreen=="boolean"&&(e.config.disable=!e.player.config.cssFullscreen)}},{key:"afterCreate",value:function(){var e=this;I(P(r.prototype),"afterCreate",this).call(this),!this.config.disable&&(this.config.target&&(this.playerConfig.fullscreenTarget=this.config.target),this.initIcons(),this.on(Ge,function(i){e.animate(i)}),this.btnClick=this.btnClick.bind(this),this.handleCssFullscreen=this.hook("cssFullscreen_change",this.btnClick,{pre:function(n){n.preventDefault(),n.stopPropagation()}}),this.bind(["click","touchend"],this.handleCssFullscreen))}},{key:"initIcons",value:function(){var e=this.icons,i=this.find(".xgplayer-icon");i.appendChild(e.cssFullscreen),i.appendChild(e.exitCssFullscreen)}},{key:"btnClick",value:function(e){e.preventDefault(),e.stopPropagation();var i=this.player.isCssfullScreen;this.emitUserAction(e,"switch_cssfullscreen",{cssfullscreen:i}),i?this.player.exitCssFullscreen():this.player.getCssFullscreen()}},{key:"animate",value:function(e){this.root&&(e?this.setAttr("data-state","full"):this.setAttr("data-state","normal"),this.switchTips(e))}},{key:"switchTips",value:function(e){var i=this.i18nKeys,n=this.find(".xg-tips");n&&this.changeLangTextKey(n,e?i.EXITCSSFULLSCREEN_TIPS:i.CSSFULLSCREEN_TIPS)}},{key:"registerIcons",value:function(){return{cssFullscreen:{icon:Jr,class:"xg-get-cssfull"},exitCssFullscreen:{icon:Qr,class:"xg-exit-cssfull"}}}},{key:"destroy",value:function(){I(P(r.prototype),"destroy",this).call(this),this.unbind(["click","touchend"],this.btnClick)}},{key:"render",value:function(){if(!this.config.disable)return`
`.concat(ge(this,"CSSFULLSCREEN_TIPS",this.playerConfig.isHideTips),`
`)}}],[{key:"pluginName",get:function(){return"cssFullscreen"}},{key:"defaultConfig",get:function(){return{position:B.CONTROLS_RIGHT,index:1,disable:!1,target:null}}}]),r}(Ce),es=function(o){w(r,o);var a=x(r);function r(){return E(this,r),a.apply(this,arguments)}return S(r,[{key:"afterCreate",value:function(){var e=this;this.clickHandler=this.hook("errorRetry",this.errorRetry,{pre:function(n){n.preventDefault(),n.stopPropagation()}}),this.onError=this.hook("showError",this.handleError),this.bind(".xgplayer-error-refresh","click",this.clickHandler),this.on(Re,function(i){e.onError(i)})}},{key:"errorRetry",value:function(e){this.emitUserAction(e,"error_retry",{}),this.player.retry()}},{key:"handleError",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=this.player,n=e.errorType,s=i.errorNote?this.i18n[i.errorNote]:"";if(!s)switch(n){case"decoder":s=this.i18n.MEDIA_ERR_DECODE;break;case"network":s=this.i18n.MEDIA_ERR_NETWORK;break;default:s=this.i18n.MEDIA_ERR_SRC_NOT_SUPPORTED}this.find(".xgplayer-error-text").innerHTML=s,this.find(".xgplayer-error-tips").innerHTML="".concat(this.i18n.REFRESH_TIPS,'').concat(this.i18n.REFRESH,"")}},{key:"destroy",value:function(){this.unbind(".xgplayer-error-refresh","click",this.clickHandler)}},{key:"render",value:function(){return`
`}}],[{key:"pluginName",get:function(){return"error"}}]),r}(N),ts=function(o){w(r,o);var a=x(r);function r(){return E(this,r),a.apply(this,arguments)}return S(r,[{key:"afterCreate",value:function(){var e=this;this.intervalId=0,this.customConfig=null,this.bind(".highlight",["click","touchend"],function(i){(e.config.onClick||e.customOnClick)&&(i.preventDefault(),i.stopPropagation(),e.customOnClick?e.customOnClick(i):e.config.onClick(i))}),this.player.showPrompt=function(){e.showPrompt.apply(e,arguments)},this.player.hidePrompt=function(){e.hide()}}},{key:"setStyle",value:function(e){var i=this;Object.keys(e).map(function(n){i.root.style[n]=e[n]})}},{key:"showPrompt",value:function(e){var i=this,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){};if(e){this.customOnClick=s;var u=this.config.interval;this.intervalId&&(clearTimeout(this.intervalId),this.intervalId=null),c.addClass(this.root,"show"),n.mode==="arrow"&&c.addClass(this.root,"arrow"),typeof e=="string"?this.find(".xgplayer-prompt-detail").innerHTML=e:this.find(".xgplayer-prompt-detail").innerHTML="".concat(e.text||"")+"".concat(e.highlight?''.concat(e.highlight,""):""),n.style&&this.setStyle(n.style);var l=typeof n.autoHide=="boolean"?n.autoHide:this.config.autoHide;if(l){var f=n.interval||u;this.intervalId=setTimeout(function(){i.hide()},f)}}}},{key:"hide",value:function(){c.removeClass(this.root,"show"),c.removeClass(this.root,"arrow"),this.root.removeAttribute("style"),this.customOnClick=null}},{key:"render",value:function(){return' `)}}],[{key:"pluginName",get:function(){return"prompt"}},{key:"defaultConfig",get:function(){return{interval:3e3,style:{},mode:"arrow",autoHide:!0,detail:{text:"",highlight:""},onClick:function(){}}}}]),r}(N),di={time:0,text:"",id:1,duration:1,color:"#fff",style:{},width:6,height:6};function Gi(o){Object.keys(di).map(function(a){o[a]===void 0&&(o[a]=di[a])})}var gi={_updateDotDom:function(a,r){if(r){var t=this.calcuPosition(a.time,a.duration),e=a.style||{};e.left="".concat(t.left,"%"),e.width="".concat(t.width,"%"),r.setAttribute("data-text",a.text),r.setAttribute("data-time",a.time),t.isMini?c.addClass(r,"mini"):c.removeClass(r,"mini"),Object.keys(e).map(function(i){r.style[i]=e[i]})}},initDots:function(){var a=this;this._ispots.map(function(r){a.createDot(r,!1)}),this.ispotsInit=!0},createDot:function(a){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,t=this.player.plugins.progress;if(t&&(r&&(Gi(a),this._ispots.push(a)),!(!this.ispotsInit&&r))){var e=this.calcuPosition(a.time,a.duration),i=a.style||{};i.left="".concat(e.left,"%"),i.width="".concat(e.width,"%");var n="xgspot_".concat(a.id," xgplayer-spot");e.isMini&&(n+=" mini");var s=a.template?'
'.concat(a.template,"
"):"",u=c.createDom("xg-spot",s,{"data-text":a.text,"data-time":a.time,"data-id":a.id},n);Object.keys(i).map(function(l){u.style[l]=i[l]}),t.outer&&t.outer.appendChild(u),this.positionDot(u,a.id)}},findDot:function(a){if(this.player.plugins.progress){var r=this._ispots.filter(function(t,e){return t.id===a});return r.length>0?r[0]:null}},updateDot:function(a){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,t=this.player.plugins.progress;if(t){var e=this.findDot(a.id);if(e&&Object.keys(a).map(function(n){e[n]=a[n]}),!!this.ispotsInit){var i=t.find('xg-spot[data-id="'.concat(a.id,'"]'));i&&(this._updateDotDom(a,i),r&&this.showDot(a.id))}}},deleteDot:function(a){var r=this._ispots,t=this.player.plugins.progress;if(t){for(var e=[],i=0;i=0;s--)if(r.splice(e[s],1),this.ispotsInit){var u=t.find('xg-spot[data-id="'.concat(a,'"]'));u&&u.parentElement.removeChild(u)}}},deleteAllDots:function(){var a=this.player.plugins.progress;if(a){if(!this.ispotsInit){this._ispots=[];return}for(var r=a.root.getElementsByTagName("xg-spot"),t=r.length-1;t>=0;t--)a.outer.removeChild(r[t]);this._ispots=[]}},updateAllDots:function(){var a=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=this.player.plugins.progress;if(t){if(!this.ispotsInit){this._ispots=r;return}this._ispots=[];var e=t.root.getElementsByTagName("xg-spot"),i=e.length;if(i>r.length)for(var n=i-1;n>r.length-1;n--)t.outer.removeChild(e[n]);r.forEach(function(s,u){u0&&e.hide();var s=e.player.plugins.progress;s&&s.disableBlur(),e._curDot.addEventListener("mouseleave",e.onDotMouseLeave)}}),e._ispots=[],e.videoPreview=null,e.videothumbnail=null,e.thumbnail=null,e.timeStr="",e._state={now:0,f:!1},e}return S(r,[{key:"beforeCreate",value:function(e){var i=e.player.plugins.progress;i&&(e.root=i.root)}},{key:"afterCreate",value:function(){var e=this;this._curDot=null,this.handlerSpotClick=this.hook("spotClick",function(i,n){n.seekTime&&e.player.seek(n.seekTime)}),this.transformTimeHook=this.hook("transformTime",function(i){e.setTimeContent(c.format(i))}),is(this),this.on(de,function(){e.show()}),this.config.disable&&this.disable(),this.extTextRoot=this.find(".xg-spot-ext-text")}},{key:"setConfig",value:function(e){var i=this;e&&Object.keys(e).map(function(n){i.config[n]=e[n]})}},{key:"onPluginsReady",value:function(){var e=this.player;e.plugins.progress&&(this.previewLine=this.find(".xg-spot-line"),this.timePoint=this.find(".xgplayer-progress-point"),this.timeText=this.find(".xg-spot-time"),this.tipText=this.find(".spot-inner-text"),this._hasThumnail=!1,this.registerThumbnail(),this.bindEvents())}},{key:"bindEvents",value:function(){var e=this,i=this.player.plugins.progress;if(i&&(Object.keys(Se).map(function(s){e[Se[s]]=e[Se[s]].bind(e),i.addCallBack(s,e[Se[s]])}),A.device!=="mobile")){this.bind(".xg-spot-info","mousemove",this.onMousemove),this.bind(".xg-spot-info","mousedown",this.onMousedown),this.bind(".xg-spot-info","mouseup",this.onMouseup);var n=this.hook("previewClick",function(){});this.handlerPreviewClick=function(s){s.stopPropagation(),n(parseInt(e._state.now*1e3,10)/1e3,s)},this.bind(".xg-spot-content","mouseup",this.handlerPreviewClick)}}},{key:"onProgressMove",value:function(e,i){this.config.disable||!this.player.duration||this.updatePosition(e.offset,e.width,e.currentTime,e.e)}},{key:"onProgressDragStart",value:function(e){this.config.disable||!this.player.duration||(this.isDrag=!0,this.videoPreview&&c.addClass(this.videoPreview,"show"))}},{key:"onProgressDragEnd",value:function(e){this.config.disable||!this.player.duration||(this.isDrag=!1,this.videoPreview&&c.removeClass(this.videoPreview,"show"))}},{key:"onProgressClick",value:function(e,i){this.config.disable||c.hasClass(i.target,"xgplayer-spot")&&(i.stopPropagation(),i.preventDefault(),["time","id","text"].map(function(n){e[n]=i.target.getAttribute("data-".concat(n))}),e.time&&(e.time=Number(e.time)),this.handlerSpotClick(i,e))}},{key:"updateLinePos",value:function(e,i){var n=this.root,s=this.previewLine,u=this.player,l=this.config,f=u.controls.mode,h=f==="flex",d=n.getBoundingClientRect().width;if(!(!d&&this._hasThumnail)){d=this._hasThumnail&&di-d&&!h?(p=g-(i-d),g=i-d):p=0,p!==void 0&&(s.style.transform="translateX(".concat(p.toFixed(2),"px)")),n.style.transform="translateX(".concat(g.toFixed(2),"px) translateZ(0)")}}},{key:"updateTimeText",value:function(e){var i=this.timeText,n=this.timePoint;i.innerHTML=e,!this.thumbnail&&(n.innerHTML=e)}},{key:"updatePosition",value:function(e,i,n,s){var u=this.root,l=this.config,f=this._state;if(u){f.now=n,this.transformTimeHook(n);var h=this.timeStr;s&&s.target&&c.hasClass(s.target,"xgplayer-spot")?(this.showTips(s.target.getAttribute("data-text"),!1,h),this.focusDot(s.target),f.f=!0,l.isFocusDots&&f.f&&(f.now=parseInt(s.target.getAttribute("data-time"),10))):l.defaultText?(f.f=!1,this.showTips(l.defaultText,!0,h)):(f.f=!1,this.hideTips("")),this.updateTimeText(h),this.updateThumbnails(f.now),this.updateLinePos(e,i)}}},{key:"setTimeContent",value:function(e){this.timeStr=e}},{key:"updateThumbnails",value:function(e){var i=this.player,n=this.videoPreview,s=this.config,u=i.plugins.thumbnail;if(u&&u.usable){this.thumbnail&&u.update(this.thumbnail,e,s.width,s.height);var l=n&&n.getBoundingClientRect();this.videothumbnail&&u.update(this.videothumbnail,e,l.width,l.height)}}},{key:"registerThumbnail",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(A.device!=="mobile"){var i=this.player,n=this.config,s=i.getPlugin("thumbnail");if(s&&s.setConfig(e),!s||!s.usable||!n.isShowThumbnail){c.addClass(this.root,"short-line no-thumbnail");return}else c.removeClass(this.root,"short-line no-thumbnail");n.mode==="short"&&c.addClass(this.root,"short-line"),this._hasThumnail=!0;var u=this.find(".xg-spot-thumbnail");this.thumbnail=s.createThumbnail(u,"progress-thumbnail"),n.isShowCoverPreview&&(this.videoPreview=c.createDom("xg-video-preview","",{},"xgvideo-preview"),i.root.appendChild(this.videoPreview),this.videothumbnail=s.createThumbnail(this.videoPreview,"xgvideo-thumbnail")),this.updateThumbnails(0)}}},{key:"calcuPosition",value:function(e,i){var n=this.player.plugins.progress,s=this.player,u=n.root.getBoundingClientRect().width,l=s.duration/u*6;return e+i>s.duration&&(i=s.duration-e),e/s.duration*100,i/s.duration,{left:e/s.duration*100,width:i/s.duration*100,isMini:i2&&arguments[2]!==void 0?arguments[2]:"";c.addClass(this.root,"no-timepoint"),e&&(c.addClass(this.find(".xg-spot-content"),"show-text"),i&&this.config.mode==="production"?(c.addClass(this.root,"product"),this.tipText.textContent=e):(c.removeClass(this.root,"product"),this.tipText.textContent=this._hasThumnail?e:"".concat(n," ").concat(e)))}},{key:"hideTips",value:function(){c.removeClass(this.root,"no-timepoint"),this.tipText.textContent="",c.removeClass(this.find(".xg-spot-content"),"show-text"),c.removeClass(this.root,"product")}},{key:"hide",value:function(){c.addClass(this.root,"hide")}},{key:"show",value:function(e){c.removeClass(this.root,"hide")}},{key:"enable",value:function(){var e=this.config,i=this.playerConfig;this.config.disable=!1,this.show(),!this.thumbnail&&e.isShowThumbnail&&this.registerThumbnail(i.thumbnail||{})}},{key:"disable",value:function(){this.config.disable=!0,this.hide()}},{key:"destroy",value:function(){var e=this,i=this.player.plugins.progress;i&&Object.keys(Se).map(function(n){i.removeCallBack(n,e[Se[n]])}),this.videothumbnail=null,this.thumbnail=null,this.videoPreview&&this.player.root.removeChild(this.videoPreview),this.unbind(".xg-spot-info","mousemove",this.onMousemove),this.unbind(".xg-spot-info","mousedown",this.onMousedown),this.unbind(".xg-spot-info","mouseup",this.onMouseup),this.unbind(".xg-spot-content","mouseup",this.handlerPreviewClick)}},{key:"render",value:function(){return A.device==="mobile"||this.playerConfig.isMobileSimulateMode==="mobile"?"":'
00:00
`)}}],[{key:"pluginName",get:function(){return"progresspreview"}},{key:"defaultConfig",get:function(){return{index:1,miniWidth:6,ispots:[],defaultText:"",isFocusDots:!0,isHideThumbnailHover:!0,isShowThumbnail:!0,isShowCoverPreview:!1,mode:"",disable:!1,width:160,height:90}}}]),r}(N),rs=function(o){w(r,o);var a=x(r);function r(t){var e;return E(this,r),e=a.call(this,t),e.ratio=1,e.interval=null,e._preloadMark={},e}return S(r,[{key:"afterCreate",value:function(){var e=this;this.usable&&this.initThumbnail(),this.on([de],function(){var i=e.config,n=i.pic_num,s=i.interval;e.usable&&(e.interval=s>0?s:Math.round(e.player.duration*1e3/n)/1e3)})}},{key:"setConfig",value:function(e){var i=this;if(e){var n=Object.keys(e);n.length<1||(n.forEach(function(s){i.config[s]=e[s]}),this.usable&&this.initThumbnail())}}},{key:"usable",get:function(){var e=this.config,i=e.urls,n=e.pic_num;return i&&i.length>0&&n>0}},{key:"initThumbnail",value:function(){var e=this.config,i=e.width,n=e.height,s=e.pic_num,u=e.interval;this.ratio=i/n*100,this.interval=u||Math.round(this.player.duration/s),this._preloadMark={}}},{key:"getUrlByIndex",value:function(e){return e>=0&&e0&&u.push(e-1),u.push(e),e>0&&e=0&&l1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=this.config,u=s.pic_num,l=s.row,f=s.col,h=s.width,d=s.height;this.interval=Math.round(this.player.duration/u);var g=Math.ceil(e/this.interval);g=g>u?u:g;var p=g0?Math.ceil(m/f)-1:0,b=m>0?m-_*f-1:0,T=0,k=0;if(i&&n){var F=i/n;F2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,u=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"",l=this.config,f=l.pic_num,h=l.urls;if(!(f<=0||!h||h.length===0)){var d=this.getPosition(i,n,s);this.preload(d.urlIndex),Object.keys(d.style).map(function(g){e.style[g]=d.style[g]}),Object.keys(u).map(function(g){e.style[g]=u[g]})}}},{key:"changeConfig",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.setConfig(e)}},{key:"createThumbnail",value:function(e,i){var n=c.createDom("xg-thumbnail","",{},"thumbnail ".concat(i));return e&&e.appendChild(n),n}}],[{key:"pluginName",get:function(){return"thumbnail"}},{key:"defaultConfig",get:function(){return{isShow:!1,urls:[],pic_num:0,col:0,row:0,height:90,width:160,scale:1,className:"",hidePortrait:!1}}}]),r}(N);function pt(o){return o?"background:".concat(o,";"):""}var ss=function(o){w(r,o);var a=x(r);function r(){var t;E(this,r);for(var e=arguments.length,i=new Array(e),n=0;n=0?i:n}},{key:"afterCreate",value:function(){var e=this;this.root&&(this.on($,this.onTimeupdate),this.on(_e,function(){e.reset()}))}},{key:"reset",value:function(){this.update({played:0,cached:0},0)}},{key:"update",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{cached:0,played:0},i=arguments.length>1?arguments[1]:void 0;!i||!this.root||(e.cached&&(this.find("xg-mini-progress-cache").style.width="".concat(e.cached/i*100,"%")),e.played&&(this.find("xg-mini-progress-played").style.width="".concat(e.played/i*100,"%")))}},{key:"render",value:function(){var e=this.playerConfig,i=e.commonStyle,n=e.miniprogress;if(n){var s=this.config,u=s.mode,l=s.height,f={cached:pt(i.cachedColor),played:pt(i.playedColor),progress:pt(i.progressColor),height:l>0&&l!==2?"height: ".concat(l,"px;"):""},h=u==="show"?"xg-mini-progress-show":"";return' `)}}}],[{key:"pluginName",get:function(){return"MiniProgress"}},{key:"defaultConfig",get:function(){return{mode:"auto",height:2}}}]),r}(N),we={REAL_TIME:"realtime",FIRST_FRAME:"firstframe",FRAME_RATE:"framerate",POSTER:"poster"};function as(){try{return parseInt(window.performance.now(),10)}catch(o){return new Date().getTime()}}function os(){try{var o=document.createElement("canvas").getContext;return!!o}catch(a){return!1}}var He=null,us=function(o){w(r,o);var a=x(r);function r(){var t;E(this,r);for(var e=arguments.length,i=new Array(e),n=0;n0)t.renderOnce(),t._frameCount--;else{t._isLoaded=!0,t.off($,t.renderOnTimeupdate);var u=t.config.startInterval;!t.player.paused&&t._checkIfCanStart()&&t.start(0,u)}}),y(v(t),"start",function(s,u){var l=t.player.video,f=as(),h=t.checkVideoIsSupport(l);!h||!t.canvasCtx||(u||(u=t.interval),t.stop(),l.videoWidth&&l.videoHeight&&(t.videoPI=l.videoHeight>0?parseInt(l.videoWidth/l.videoHeight*100,10):0,(t.config.mode===we.REAL_TIME||f-t.preTime>=u)&&(l&&l.videoWidth&&t.update(h,t.videoPI),t.preTime=f)),t.frameId=t._loopType==="timer"?c.setTimeout(v(t),t.start,u):c.requestAnimationFrame(t.start))}),y(v(t),"stop",function(){t.frameId&&(t._loopType==="timer"?c.clearTimeout(v(t),t.frameId):c.cancelAnimationFrame(t.frameId),t.frameId=null)}),t}return S(r,[{key:"afterCreate",value:function(){var e=this;this.playerConfig.dynamicBg===!0&&(this.config.disable=!1),r.isSupport||(this.config.disable=!0);var i=this.config,n=i.disable,s=i.mode,u=i.frameRate;n||(this._pos={width:0,height:0,rwidth:0,rheight:0,x:0,y:0,pi:0},this.isStart=!1,this._isLoaded=!1,this.videoPI=0,this.preTime=0,this.interval=parseInt(1e3/u,10),this.canvas=null,this.canvasCtx=null,this._frameCount=0,this._loopType=this.config.mode!==we.REAL_TIME&&this.interval>=1e3?"timer":"animation",this.once(Je,function(){e.player&&(e.init(),e.renderByPoster(),e.player.paused||e.start())}),s!==we.POSTER&&(s!==we.FIRST_FRAME&&(this.on(_e,function(){e.stop()}),this.on(q,function(){var l=e.config.startInterval;e._checkIfCanStart()&&e.start(0,l)}),this.on(Ie,function(){e.stop()})),this.on(oe,this.onLoadedData),this.on(xt,function(){e._isLoaded=!1,e.stop()}),document.addEventListener("visibilitychange",this.onVisibilitychange)))}},{key:"setConfig",value:function(e){var i=this;Object.keys(e).forEach(function(n){n==="root"&&e[n]!==i.config[n]?i.reRender(e[n]):n==="frameRate"?i.interval=parseInt(1e3/e[n],10):n==="disable"&&e[n]&&i.stop(),i.config[n]=e[n]})}},{key:"init",value:function(e){var i=this.player,n=this.config;this.canvasFilter=r.supportCanvasFilter();try{var s=e||n.root;s||(s=n.isInnerRender&&i.innerContainer||i.root),s.insertAdjacentHTML("afterbegin",'
`)),this.root=s.children[0],this.canvas=this.find("canvas"),this.canvasFilter||(this.canvas.style.filter=n.filter,this.canvas.style.webkitFilter=n.filter),this.mask=this.find("xgmask"),n.addMask&&(this.mask.style.background=n.maskBg),this.canvasCtx=this.canvas.getContext("2d")}catch(u){D.logError("plugin:DynamicBg",u)}}},{key:"reRender",value:function(e){var i=this.config.disable;if(!(!i&&!this.root)){this.stop();var n=this.root?this.root.parentElement:null;if(n!==e&&n.removeChild(this.root),!e){this.root=null;return}this.init(e),this.renderOnce();var s=this.config.startInterval;this._checkIfCanStart()&&this.start(0,s)}}},{key:"checkVideoIsSupport",value:function(e){if(!e)return null;var i=e&&e instanceof window.HTMLVideoElement?e:e.canvas?e.canvas:e.flyVideo?e.flyVideo:null;if(i&&!(A.browser==="safari"&&c.isMSE(i)))return i;var n=i?i.tagName.toLowerCase():"";return n==="canvas"||n==="img"?i:null}},{key:"renderByPoster",value:function(){var e=this.playerConfig.poster;if(e){var i=c.typeOf(e)==="String"?e:c.typeOf(e.poster)==="String"?e.poster:null;this.updateImg(i)}}},{key:"_checkIfCanStart",value:function(){var e=this.config.mode;return this._isLoaded&&!this.player.paused&&e!==we.FIRST_FRAME&&e!==we.POSTER}},{key:"renderOnce",value:function(){var e=this.player.video;if(!(!e.videoWidth||!e.videoHeight)){this.videoPI=parseInt(e.videoWidth/e.videoHeight*100,10);var i=this.checkVideoIsSupport(e);i&&this.update(i,this.videoPI)}}},{key:"updateImg",value:function(e){var i=this;if(e){var n=this.canvas.getBoundingClientRect(),s=n.width,u=n.height,l=new window.Image;l.onload=function(){if(!(!i.canvas||i.frameId||i.isStart)){i.canvas.height=u,i.canvas.width=s;var f=parseInt(s/u*100,10);i.update(l,f),l=null}},l.src=e}}},{key:"update",value:function(e,i){if(!(!this.canvas||!this.canvasCtx||!i))try{var n=this._pos,s=this.config,u=this.canvas.getBoundingClientRect(),l=u.width,f=u.height;if(l!==n.width||f!==n.height||n.pi!==i){var h=parseInt(l/f*100,10);n.pi=i,n.width!==l&&(n.width=this.canvas.width=l),n.height!==f&&(n.height=this.canvas.height=f);var d=f,g=l;hi&&(d=parseInt(l*100/i,10)),n.rwidth=g*s.multiple,n.rheight=d*s.multiple,n.x=(l-n.rwidth)/2,n.y=(f-n.rheight)/2}this.canvasFilter&&(this.canvasCtx.filter=s.filter),this.canvasCtx.drawImage(e,n.x,n.y,n.rwidth,n.rheight)}catch(p){D.logError("plugin:DynamicBg",p)}}},{key:"destroy",value:function(){this.stop(),document.removeEventListener("visibilitychange",this.onVisibilitychange),this.canvasCtx=null,this.canvas=null}},{key:"render",value:function(){return""}}],[{key:"pluginName",get:function(){return"dynamicBg"}},{key:"defaultConfig",get:function(){return{isInnerRender:!1,disable:!0,index:-1,mode:"framerate",frameRate:10,filter:"blur(50px)",startFrameCount:2,startInterval:0,addMask:!0,multiple:1.2,maskBg:"rgba(0,0,0,0.7)"}}},{key:"isSupport",get:function(){return typeof He=="boolean"||(He=os()),He}},{key:"supportCanvasFilter",value:function(){return!(A.browser==="safari"||A.browser==="firefox")}}]),r}(N),ls={LANG:"zh-cn",TEXT:{ERROR_TYPES:{network:{code:1,msg:"视频下载错误"},mse:{code:2,msg:"流追加错误"},parse:{code:3,msg:"解析错误"},format:{code:4,msg:"格式错误"},decoder:{code:5,msg:"解码错误"},runtime:{code:6,msg:"语法错误"},timeout:{code:7,msg:"播放超时"},other:{code:8,msg:"其他错误"}},HAVE_NOTHING:"没有关于音频/视频是否就绪的信息",HAVE_METADATA:"音频/视频的元数据已就绪",HAVE_CURRENT_DATA:"关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒",HAVE_FUTURE_DATA:"当前及至少下一帧的数据是可用的",HAVE_ENOUGH_DATA:"可用数据足以开始播放",NETWORK_EMPTY:"音频/视频尚未初始化",NETWORK_IDLE:"音频/视频是活动的且已选取资源,但并未使用网络",NETWORK_LOADING:"浏览器正在下载数据",NETWORK_NO_SOURCE:"未找到音频/视频来源",MEDIA_ERR_ABORTED:"取回过程被用户中止",MEDIA_ERR_NETWORK:"网络错误",MEDIA_ERR_DECODE:"解码错误",MEDIA_ERR_SRC_NOT_SUPPORTED:"不支持的音频/视频格式",REPLAY:"重播",ERROR:"网络连接似乎出现了问题",PLAY_TIPS:"播放",PAUSE_TIPS:"暂停",PLAYNEXT_TIPS:"下一集",DOWNLOAD_TIPS:"下载",ROTATE_TIPS:"旋转",RELOAD_TIPS:"重新载入",FULLSCREEN_TIPS:"进入全屏",EXITFULLSCREEN_TIPS:"退出全屏",CSSFULLSCREEN_TIPS:"进入样式全屏",EXITCSSFULLSCREEN_TIPS:"退出样式全屏",TEXTTRACK:"字幕",PIP:"画中画",SCREENSHOT:"截图",LIVE:"正在直播",OFF:"关闭",OPEN:"开启",MINI_DRAG:"点击按住可拖动视频",MINISCREEN:"小屏幕",REFRESH_TIPS:"请试试",REFRESH:"刷新",FORWARD:"快进中",LIVE_TIP:"直播"}},Le="info",vt=Mi,cs=function(o){w(r,o);var a=x(r);function r(){var t;E(this,r);for(var e=arguments.length,i=new Array(e),n=0;n_)){var b=m-g,T=b<=h;bi&&(l===0||s[l-1].end-i<=n)){u=l;break}}return u}},{key:"_getBuffered",value:function(e){if(!e)return[];for(var i=[],n=0;nu.jumpCntMax||t.timer||u.useWaitingTimeoutJump===!1||(t.timer=setTimeout(t.onJump,u.waitingTime*1e3))}),y(v(t),"onJump",function(){var s=v(t),u=s.player,l=s.config;if(clearTimeout(t.timer),t.timer=null,!(t.jumpCnt>l.jumpCntMax||l.useWaitingTimeoutJump===!1)&&!(u.media.paused&&u.media.currentTime!==0&&t.hasPlayed)){t.jumpSize=l.jumpSize*(t.jumpCnt+1),t.jumpCnt===l.jumpSize&&t.jumpSize<6&&(t.jumpSize=6);var f=u.currentTime+t.jumpSize,h=u.media.duration;f>h||(console.log("waitintTimeout, currentTime:",u.currentTime,", jumpTo:",f),t.jumpCnt++,u.currentTime=f)}}),t}return S(r,[{key:"afterCreate",value:function(){var e=this,i=this.config,n=i.useWaitingTimeoutJump,s=i.jumpSize;n!==!1&&(this.hasPlayed=!1,this.jumpCnt=0,this.timer=null,this.jumpSize=s,this.on(Oe,this.onWaiting),this.on([wt,se],function(){clearTimeout(e.timer),e.timer=null,e.jumpSize=e.config.jumpSize}),this.on(q,function(){e.hasPlayed=!0}))}}],[{key:"pluginName",get:function(){return"waitingTimeoutJump"}},{key:"defaultConfig",get:function(){return{useWaitingTimeoutJump:!1,waitingTime:15,jumpSize:2,jumpCntMax:4}}}]),r}(N),xe="cdn",Ue=["cdn"],hs=function(o){w(r,o);var a=x(r);function r(){var t;E(this,r);for(var e=arguments.length,i=new Array(e),n=0;n0&&arguments[0]!==void 0?arguments[0]:xe;if(!t.speedListCache||!t.speedListCache[s]||t.speedListCache[s].length<=0)return 0;var u=0;return t.speedListCache[s].map(function(l){u+=l}),Math.floor(u/t.speedListCache[s].length)}),y(v(t),"startTimer",function(){c.isMSE(t.player.video)||(t.initSpeedList(),t.cnt=0,t.timer=setTimeout(t.testSpeed,t.config.testTimeStep))}),y(v(t),"initSpeedList",function(){t.speedListCache={},Ue.forEach(function(s){t.speedListCache[s]=[]})}),y(v(t),"_onRealSpeedChange",function(s){s.speed&&t.appendList(s.speed,s.type||xe)}),y(v(t),"testSpeed",function(){if(clearTimeout(t.timer),t.timer=null,!(!t.player||!t.config.openSpeed)){var s=t.config,u=s.url,l=s.loadSize,f=s.testCnt,h=s.testTimeStep,d=u+(u.indexOf("?")<0?"?testst=":"&testst=")+Date.now();if(!(t.cnt>=f)){t.cnt++;try{var g=new Date().getTime(),p=null,m=new XMLHttpRequest;t.xhr=m,m.open("GET",d);var _={},b=Math.floor(Math.random()*10);_.Range="bytes="+b+"-"+(l+b),_&&Object.keys(_).forEach(function(T){m.setRequestHeader(T,_[T])}),m.onreadystatechange=function(){if(m.readyState===4){t.xhr=null,p=new Date().getTime();var T=m.getResponseHeader("Content-Length")/1024*8,k=Math.round(T*1e3/(p-g));t.appendList(k),t.timer=setTimeout(t.testSpeed,h)}},m.send()}catch(T){console.error(T)}}}}),y(v(t),"appendList",function(s){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xe;if(!(!t.speedListCache||!t.speedListCache[u])){var l=t.config.saveSpeedMax;t.speedListCache[u].length>=l&&t.speedListCache[u].shift(),t.speedListCache[u].push(s);var f=v(t),h=f.player;h&&(u===xe?h.realTimeSpeed=s:h[t.getSpeedName("realTime",u)]=s),t.updateSpeed(u)}}),y(v(t),"updateSpeed",function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:xe,u=t.getSpeed(s),l=v(t),f=l.player;if(f)if(s===xe)(!f.avgSpeed||u!==f.avgSpeed)&&(f.avgSpeed=u,f.emit(kt,{speed:u,realTimeSpeed:f.realTimeSpeed}));else{var h=t.getSpeedName("avg",s);(!f[h]||u!==f[h])&&(f[h]=u,f.emit(kt,{speed:u,realTimeSpeed:f.realTimeSpeed}))}}),t}return S(r,[{key:"afterCreate",value:function(){var e=this.config,i=e.openSpeed,n=e.addSpeedTypeList;(n==null?void 0:n.length)>0&&Ue.push.apply(Ue,Q(n)),this.initSpeedList(),this.on("real_time_speed",this._onRealSpeedChange),this.timer=null,this.cnt=0,this.xhr=null,i&&this.on([oe,je],this.startTimer)}},{key:"getSpeedName",value:function(e,i){return e+"Speed"+i.toUpperCase()}},{key:"openSpeed",get:function(){return this.config.openSpeed},set:function(e){if(this.config.openSpeed=e,!e&&this.timer){clearTimeout(this.timer),this.timer=null;return}if(this.config.openSpeed){if(this.timer)return;this.timer=setTimeout(this.testSpeed,this.config.testTimeStep)}}},{key:"destroy",value:function(){var e=this;this.off("real_time_speed",this._onRealSpeedChange),this.off([oe,je],this.startTimer),Ue.forEach(function(i){e.speedListCache&&e.speedListCache[i]&&(e.speedListCache[i]=[])}),this.speedListCache&&(this.speedListCache={}),clearTimeout(this.timer),this.timer=null,this.xhr&&this.xhr.readyState!==4&&(this.xhr.cancel&&this.xhr.cancel(),this.xhr=null)}}],[{key:"pluginName",get:function(){return"testspeed"}},{key:"defaultConfig",get:function(){return{openSpeed:!1,testCnt:3,loadSize:200*1024,testTimeStep:3e3,url:"",saveSpeedMax:5,addSpeedTypeList:[]}}}]),r}(N),ds=function(o){w(r,o);var a=x(r);function r(){return E(this,r),a.apply(this,arguments)}return S(r,[{key:"afterCreate",value:function(){var e=this,i=this.player,n=this.config,s=i.media||i.video;if(this.timer=null,this._lastDecodedFrames=0,this._currentStuckCount=0,this._lastCheckPoint=null,this._payload=[],!n.disabled){var u=s.getVideoPlaybackQuality;u&&(this.on(q,function(){e._startTick()}),this.on(Ie,function(){e._stopTick()}),this.on(ye,function(){e._stopTick()}),this.on(_e,function(){e._stopTick()}))}}},{key:"_startTick",value:function(){var e=this;this._stopTick(),this._timer=setTimeout(function(){e._checkDecodeFPS(),e._startTick()},this.config.tick)}},{key:"_stopTick",value:function(){clearTimeout(this._timer),this._timer=null}},{key:"_checkBuffer",value:function(e,i){for(var n=!1,s=[],u=0;u=this.config.stuckCount&&(this.emit(Ni,this._payload),this._reset())):this._reset())}}},{key:"_reset",value:function(){this._payload=[],this._currentStuckCount=0}},{key:"_checkDecodeFPS",value:function(){var e=this.player.media||this.player.video;if(e){var i=e.getVideoPlaybackQuality(),n=i.totalVideoFrames,s=i.droppedVideoFrames,u=performance.now();if(n&&this._lastCheckPoint){var l=n-this._lastDecodedFrames,f=u-this._lastCheckPoint;this._checkStuck(l,n,s,f)}this._lastDecodedFrames=n,this._lastCheckPoint=u}}},{key:"destroy",value:function(){this._stopTick()}}],[{key:"pluginName",get:function(){return"FpsDetect"}},{key:"defaultConfig",get:function(){return{disabled:!1,tick:1e3,stuckCount:3,reportFrame:0}}}]),r}(N);Pe.use(ls);var gs=S(function o(a,r){var t,e,i;E(this,o);var n=r&&r.isMobileSimulateMode==="mobile",s=r.isLive,u=s?[]:[Ar,br,ss,ns,Lr],l=[].concat(u,[Er,Ir,Fr,jr,qr,Zr,Kr,Yr,Mr,Ur]),f=[nr,rr,ar,Cr,or,es,ts,rs,fr];this.plugins=[cs,tr].concat(Q(l),f,[Wi,fs]);var h=n?"mobile":A.device;switch(h){case"pc":(t=this.plugins).push.apply(t,[ci,dt,hi,hs,ds]);break;case"mobile":(e=this.plugins).push.apply(e,[mr]);break;default:(i=this.plugins).push.apply(i,[ci,dt,hi])}(A.os.isIpad||h==="pc")&&this.plugins.push(us),A.os.isIpad&&this.plugins.push(dt),this.ignores=[],this.i18n=[]}),ee=function(o){w(r,o);var a=x(r);function r(){return E(this,r),a.apply(this,arguments)}return S(r)}(tt);y(ee,"defaultPreset",gs);y(ee,"Util",c);y(ee,"Sniffer",A);y(ee,"Errors",Ve);y(ee,"Events",In);y(ee,"Plugin",N);y(ee,"BasePlugin",he);y(ee,"I18N",Pe);y(ee,"STATE_CLASS",C);y(ee,"InstManager",Ui);const ps=o=>(Zi("data-v-fc6b85f6"),o=o(),Ji(),o),vs={class:"card-header"},ms={class:"font-medium"},ys=ps(()=>mt("div",{id:"mse"},null,-1)),_s=Ki({name:"VideoPage",__name:"video",setup(o){return Yi(()=>{new ee({id:"mse",lang:"zh",volume:0,autoplay:!1,screenShot:!0,videoAttributes:{crossOrigin:"anonymous"},url:"//lf3-static.bytednsdoc.com/obj/eden-cn/nupenuvpxnuvo/xgplayer_doc/xgplayer-demo.mp4",poster:"//lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/byted-player-videos/1.0.0/poster.jpg",fluid:Xi(),playbackRate:[.5,.75,1,1.5,2]})}),(a,r)=>{const t=Ft("el-link"),e=Ft("el-card");return qi(),$i(e,{shadow:"never"},{header:Me(()=>[mt("div",vs,[mt("span",ms,[it(" 视频组件,采用开源的 "),Bt(t,{href:"https://v3.h5player.bytedance.com/",target:"_blank",icon:Ht(en)(Ht(tn)),style:{margin:"0 4px 5px","font-size":"16px"}},{default:Me(()=>[it(" 西瓜播放器 ")]),_:1},8,["icon"])])]),Bt(t,{class:"mt-2",href:"https://github.com/pure-admin/vue-pure-admin/blob/main/src/views/able/video.vue",target:"_blank"},{default:Me(()=>[it(" 代码位置 src/views/able/video.vue ")]),_:1})]),default:Me(()=>[ys]),_:1})}}}),Ts=Qi(_s,[["__scopeId","data-v-fc6b85f6"]]);export{Ts as default};