0&&(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(ue,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}(de);function Lr(){return new DOMParser().parseFromString(`
`,"image/svg+xml").firstChild}function Dr(){return new DOMParser().parseFromString(`
`,"image/svg+xml").firstChild}function Rr(){return new DOMParser().parseFromString(`
`,"image/svg+xml").firstChild}var Or=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:Dr,class:"xg-volume-small"},volumeLarge:{icon:Lr,class:"xg-volume"},volumeMuted:{icon:Rr,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),L.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(Si,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.round(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",L.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:H.CONTROLS_RIGHT,index:1,disable:!1,showValueLabel:!1,default:.6,miniVolume:.2}}}]),r}(N);function Mr(){return new DOMParser().parseFromString(`
`,"image/svg+xml").firstChild}var Nr=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(he,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 k="translate(".concat(_,"px,").concat(b,"px) rotate(").concat(e,"turn)"),T={transformOrigin:"center center",transform:k,webKitTransform:k,height:m,width:p},F=i?h:l,R=i?n.getPlugin("poster"):null;Object.keys(T).map(function(B){F.style[B]=T[B],R&&R.root&&(R.root.style[B]=T[B])})}},{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(Ri,this.rotateDeg*360)}},{key:"registerIcons",value:function(){return{rotate:Mr}}},{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:H.CONTROLS_RIGHT,index:6,innerRotate:!0,clockwise:!1,rotateDeg:0,disable:!1}}}]),r}(ke);function Fr(){return new DOMParser().parseFromString(``,"image/svg+xml").firstChild}function Br(){return new DOMParser().parseFromString(``,"image/svg+xml").firstChild}var be={PIP:"picture-in-picture",INLINE:"inline",FULLSCREEN:"fullscreen"},Hr=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:H.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}(ke);function Ur(){return new DOMParser().parseFromString(`
`,"image/svg+xml").firstChild}var Vr=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:H.CONTROLS_LEFT,index:1,url:null,urlList:[]}}}]),r}(N),Ue={exports:{}},jr=Ue.exports,mi;function Wr(){return mi||(mi=1,function(o,a){(function(r,t){o.exports=t()})(jr,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(A){return String(A)},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(A){r(A.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):B(l);else if(/([\x80-\xff])/.test(l)){var k=0,T=new Uint8Array(l.length),F=T.length;for(k;k
`,"image/svg+xml").firstChild}var Yr=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);zr(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:Kr}}},{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:H.CONTROLS_RIGHT,index:3,disable:!0}}}]),r}(ke),Xr=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(he,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;try{typeof MouseEvent!="undefined"?s=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window}):(s=document.createEvent("MouseEvents"),s.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null))}catch(u){console.error("MouseEvent unsupported",u)}s&&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(Oi,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,k=0,T=0,F=l.media.videoWidth,R=l.media.videoHeight,B,A,z,V;_>b?(z=p.width,V=p.width/_,B=0,A=Math.round((p.height-V)/2)):_===b?(z=p.width,V=p.height,B=0,A=0):_
`).concat(this.icons.screenshotIcon?"":'').concat(this.i18n[i],""),`
`)}}}],[{key:"pluginName",get:function(){return"screenShot"}},{key:"defaultConfig",get:function(){return{position:H.CONTROLS_RIGHT,index:5,quality:.92,type:"image/png",format:".png",width:600,height:337,saveImg:!0,fitVideo:!0,disable:!1,name:"screenshot"}}}]),r}(ke),$r=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=this.config.domEventType==="touch"?"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",DEFAULT:"default"},Ee={CLICK:"click",HOVER:"hover"};function qr(o,a){return o===te.SIDE?a===H.CONTROLS_LEFT?"xg-side-list xg-left-side":"xg-side-list xg-right-side":""}var ve=L.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(),ve=ve||this.domEventType==="touch",ve&&L.device==="mobile"&&i.listType===te.DEFAULT&&(i.listType=te.SIDE),i.hidePortrait&&c.addClass(this.root,"portrait"),this.on([he,re],function(){e._resizeList()}),this.once(se,function(){i.list&&i.list.length>0&&(e.renderItemList(i.list),e.show())}),ve&&this.on(At,function(){e.isActive&&(e.optionsList&&e.optionsList.hide(),e.isActive=!1)}),ve?(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 G(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||this.config.disable)){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||ve||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:H.CONTROLS_RIGHT,index:100,list:[],listType:"default",listStyle:{},hidePortrait:!0,isShowIcon:!1,isItemClickHide:!0,toggleMode:Ee.HOVER,heightLimit:!0}}}]),r}(N),Zr=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(Ot,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 es(){return new DOMParser().parseFromString(`
`,"image/svg+xml").firstChild}var yi=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(We,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:Qr,class:"xg-get-cssfull"},exitCssFullscreen:{icon:es,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:H.CONTROLS_RIGHT,index:1,disable:!1,target:null}}}]),r}(ke),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.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),is=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),_i={time:0,text:"",id:1,duration:1,color:"#fff",style:{},width:6,height:6};function Xi(o){Object.keys(_i).map(function(a){o[a]===void 0&&(o[a]=_i[a])})}var Ci={_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&&(Xi(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))}),ns(this),this.on(ue,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]])}),L.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(L.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 L.device==="mobile"||this.playerConfig.isMobileSimulateMode==="mobile"?"":'`)}}],[{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),ss=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([ue],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,k=0,T=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 yt(o){return o?"background:".concat(o,";"):""}var as=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(Ce,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:yt(i.cachedColor),played:yt(i.playedColor),progress:yt(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",POSTER:"poster"};function os(){try{return parseInt(window.performance.now(),10)}catch(o){return new Date().getTime()}}function us(){try{var o=document.createElement("canvas").getContext;return!!o}catch(a){return!1}}var Be=null,ls=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=os(),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(Ce,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(It,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&&!(L.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 Be=="boolean"||(Be=us()),Be}},{key:"supportCanvasFilter",value:function(){return!(L.browser==="safari"||L.browser==="firefox")}}]),r}(N),cs={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:"直播"}},Ae="info",_t=Ui,fs=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,k=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||(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([Pt,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",He=["cdn"],ds=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={},He.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(k){m.setRequestHeader(k,_[k])}),m.onreadystatechange=function(){if(m.readyState===4){t.xhr=null,p=new Date().getTime();var k=m.getResponseHeader("Content-Length")/1024*8,T=Math.round(k*1e3/(p-g));t.appendList(T),t.timer=setTimeout(t.testSpeed,h)}},m.send()}catch(k){console.error(k)}}}}),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(bt,{speed:u,realTimeSpeed:f.realTimeSpeed}));else{var h=t.getSpeedName("avg",s);(!f[h]||u!==f[h])&&(f[h]=u,f.emit(bt,{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&&He.push.apply(He,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),He.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),gs=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(_e,function(){e._stopTick()}),this.on(Ce,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(Vi,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(cs);var ps=S(function o(a,r){var t,e,i;E(this,o);var n=r&&r.isMobileSimulateMode==="mobile",s=r.isLive,u=s?[]:[Ar,Tr,as,rs,Ir],l=[].concat(u,[br,Pr,Nr,Vr,Zr,Jr,Yr,Xr,Or,Hr]),f=[ir,nr,sr,_r,ar,ts,is,ss,cr];this.plugins=[fs,er].concat(Q(l),f,[$i,hs]);var h=n?"mobile":L.device;switch(h){case"pc":(t=this.plugins).push.apply(t,[pi,vt,yi,ds,gs]);break;case"mobile":(e=this.plugins).push.apply(e,[vr]);break;default:(i=this.plugins).push.apply(i,[pi,vt,yi])}(L.os.isIpad||h==="pc")&&this.plugins.push(ls),L.os.isIpad&&this.plugins.push(vt),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",ps);y(ee,"Util",c);y(ee,"Sniffer",L);y(ee,"Errors",Ve);y(ee,"Events",Dn);y(ee,"Plugin",N);y(ee,"BasePlugin",de);y(ee,"I18N",Pe);y(ee,"STATE_CLASS",C);y(ee,"InstManager",Ki);const vs={class:"card-header"},ms={class:"font-medium"},ys=qi({name:"VideoPage",__name:"video",setup(o){return Zi(()=>{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:Ji(),playbackRate:[.5,.75,1,1.5,2]})}),(a,r)=>{const t=Vt("el-link"),e=Vt("el-card");return en(),Qi(e,{shadow:"never"},{header:Me(()=>[it("div",vs,[it("span",ms,[r[1]||(r[1]=nt(" 视频组件,采用开源的 ")),Ht(t,{href:"https://v3.h5player.bytedance.com/",target:"_blank",icon:Ut(nn)(Ut(rn)),style:{margin:"0 4px 5px","font-size":"16px"}},{default:Me(()=>r[0]||(r[0]=[nt(" 西瓜播放器 ")])),_:1},8,["icon"])])]),Ht(t,{class:"mt-2",href:"https://github.com/pure-admin/vue-pure-admin/blob/main/src/views/able/video.vue",target:"_blank"},{default:Me(()=>r[2]||(r[2]=[nt(" 代码位置 src/views/able/video.vue ")])),_:1})]),default:Me(()=>[r[3]||(r[3]=it("div",{id:"mse"},null,-1))]),_:1})}}}),ks=tn(ys,[["__scopeId","data-v-fc6b85f6"]]);export{ks as default};