@yuuichi/openlist-assets 4.2.6-ym.13 → 4.2.6-ym.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -140,7 +140,7 @@ ${e.text}`:``).filter(e=>e.trim()).join(`
140
140
  </svg>`,Qt=`<svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewBox="0 0 22 22">
141
141
  <path d="M10.188 4.65L6 8H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h1l4.188 3.35a.5.5 0 0 0 .812-.39V5.04a.498.498 0 0 0-.812-.39zM14.446 3.778a1 1 0 0 0-.862 1.804 6.002 6.002 0 0 1-.007 10.838 1 1 0 0 0 .86 1.806A8.001 8.001 0 0 0 19 11a8.001 8.001 0 0 0-4.554-7.222z"></path>
142
142
  <path d="M15 11a3.998 3.998 0 0 0-2-3.465v6.93A3.998 3.998 0 0 0 15 11z"></path>
143
- </svg>`,$t=class{constructor(e){let t={loading:zt,state:qt,play:Ut,pause:Vt,check:At,volume:Qt,volumeClose:Zt,screenshot:Gt,setting:Kt,pip:Ht,arrowLeft:Dt,arrowRight:Ot,playbackRate:Wt,aspectRatio:kt,config:Mt,lock:Bt,flip:Pt,unlock:Xt,fullscreenOff:Ft,fullscreenOn:It,fullscreenWebOff:Lt,fullscreenWebOn:Rt,switchOn:Yt,switchOff:Jt,error:Nt,close:jt,airplay:Et,...e.option.icons};for(let e in t)B(this,e,{get:()=>we(e,t[e])})}},en=class extends Y{constructor(e){super(e),this.name=`info`,S||this.init()}init(){let{proxy:e,constructor:t,template:{$infoPanel:n,$infoClose:r,$video:i}}=this.art;e(r,`click`,()=>{this.show=!1});let a=null,o=T(`[data-video]`,n)||[];this.art.on(`destroy`,()=>clearTimeout(a));function s(){for(let e=0;e<o.length;e++){let t=o[e],n=i[t.dataset.video],r=typeof n==`number`?n.toFixed(2):n;t.textContent!==r&&(t.textContent=r)}a=setTimeout(s,t.INFO_LOOP_TIME)}s()}},tn=class extends Y{constructor(e){super(e);let{option:t,template:{$layer:n}}=e;this.name=`layer`,this.$parent=n;for(let e=0;e<t.layers.length;e++)this.add(t.layers[e])}},nn=class extends Y{constructor(e){super(e),this.name=`loading`,k(e.template.$loading,e.icons.loading)}},rn=class extends Y{constructor(e){super(e),this.name=`mask`;let{template:t,icons:n,events:r}=e,i=k(t.$state,n.state),a=k(t.$state,n.error);A(a,`display`,`none`),e.on(`destroy`,()=>{A(i,`display`,`none`),A(a,`display`,null)}),r.proxy(t.$state,`click`,()=>e.play())}},an=class{constructor(e){this.art=e,this.timer=null,e.on(`destroy`,()=>this.destroy())}destroy(){this.timer&&(clearTimeout(this.timer),this.timer=null)}set show(e){let{constructor:t,template:{$player:n,$noticeInner:r}}=this.art;e?(r.textContent=e instanceof Error?e.message.trim():e,E(n,`art-notice-show`),clearTimeout(this.timer),this.timer=setTimeout(()=>{r.textContent=``,D(n,`art-notice-show`)},t.NOTICE_TIME)):D(n,`art-notice-show`)}get show(){let{template:{$player:e}}=this.art;return e.classList.contains(`art-notice-show`)}};function on(e){let{i18n:t,notice:n,proxy:r,template:{$video:i}}=e,a=!0;window.WebKitPlaybackTargetAvailabilityEvent&&i.webkitShowPlaybackTargetPicker?r(i,`webkitplaybacktargetavailabilitychanged`,e=>{switch(e.availability){case`available`:a=!0;break;case`not-available`:a=!1}}):a=!1,B(e,`airplay`,{value(){a?(i.webkitShowPlaybackTargetPicker(),e.emit(`airplay`)):n.show=t.get(`AirPlay Not Available`)}})}function sn(e){let{i18n:t,notice:n,template:{$video:r,$player:i}}=e;B(e,`aspectRatio`,{get(){return i.dataset.aspectRatio||`default`},set(a){if(a||(a=`default`),a==="default")A(r,`width`,null),A(r,`height`,null),A(r,`margin`,null),delete i.dataset.aspectRatio;else{let e=a.split(`:`).map(Number),{clientWidth:t,clientHeight:n}=i,o=t/n,s=e[0]/e[1];o>s?(A(r,`width`,`${s*n}px`),A(r,`height`,`100%`),A(r,`margin`,`0 auto`)):(A(r,`width`,`100%`),A(r,`height`,`${t/s}px`),A(r,`margin`,`auto 0`)),i.dataset.aspectRatio=a}n.show=`${t.get(`Aspect Ratio`)}: ${a==="default"?t.get(`Default`):a}`,e.emit(`aspectRatio`,a)}})}function cn(e){let{template:{$video:t}}=e;B(e,`attr`,{value(e,n){if(n===void 0)return t[e];t[e]=n}})}function ln(e){let{template:{$container:t,$video:n}}=e;B(e,`autoHeight`,{value(){let{clientWidth:r}=t,{videoHeight:i,videoWidth:a}=n,o=r/a*i;A(t,`height`,`${o}px`),e.emit(`autoHeight`,o)}})}function un(e){let{$container:t,$player:n,$video:r}=e.template;B(e,`autoSize`,{value(){let{videoWidth:i,videoHeight:a}=r,{width:o,height:s}=F(t),c=i/a;if(o/s>c){let e=s*c/o*100;A(n,`width`,`${e}%`),A(n,`height`,`100%`)}else{let e=o/c/s*100;A(n,`width`,`100%`),A(n,`height`,`${e}%`)}e.emit(`autoSize`,{width:e.width,height:e.height})}})}function dn(e){let{$player:t}=e.template;B(e,`cssVar`,{value(e,n){return n?t.style.setProperty(e,n):getComputedStyle(t).getPropertyValue(e)}})}function fn(e){let{$video:t}=e.template;B(e,`currentTime`,{get:()=>t.currentTime||0,set:n=>{n=Number.parseFloat(n),!Number.isNaN(n)&&(t.currentTime=R(n,0,e.duration))}})}function pn(e){B(e,`duration`,{get:()=>{let{duration:t}=e.template.$video;return t===1/0?0:t||0}})}function mn(e){let{i18n:t,notice:n,option:r,constructor:i,proxy:a,template:{$player:o,$video:s,$poster:c}}=e,l=0;for(let t=0;t<v.events.length;t++)a(s,v.events[t],t=>{e.emit(`video:${t.type}`,t)});e.on(`video:canplay`,()=>{l=0,e.loading.show=!1}),e.once(`video:canplay`,()=>{e.loading.show=!1,e.controls.show=!0,e.mask.show=!0,e.isReady=!0,e.emit(`ready`)}),e.on(`video:ended`,()=>{r.loop?(e.seek=0,e.play(),e.controls.show=!1,e.mask.show=!1):(e.controls.show=!0,e.mask.show=!0)}),e.on(`video:error`,async a=>{l<i.RECONNECT_TIME_MAX?(await H(i.RECONNECT_SLEEP_TIME),l+=1,e.url=r.url,n.show=`${t.get(`Reconnect`)}: ${l}`,e.emit(`error`,a,l)):(e.mask.show=!0,e.loading.show=!1,e.controls.show=!0,E(o,`art-error`),await H(i.RECONNECT_SLEEP_TIME),n.show=t.get(`Video Load Failed`))}),e.on(`video:loadedmetadata`,()=>{e.emit(`resize`),S&&(e.loading.show=!1,e.controls.show=!0,e.mask.show=!0)}),e.on(`video:loadstart`,()=>{e.loading.show=!0,e.mask.show=!1,e.controls.show=!0}),e.on(`video:pause`,()=>{e.controls.show=!0,e.mask.show=!0}),e.on(`video:play`,()=>{e.mask.show=!1,A(c,`display`,`none`)}),e.on(`video:playing`,()=>{e.mask.show=!1}),e.on(`video:progress`,()=>{e.playing&&(e.loading.show=!1)}),e.on(`video:seeked`,()=>{e.loading.show=!1,e.mask.show=!0}),e.on(`video:seeking`,()=>{e.loading.show=!0,e.mask.show=!1}),e.on(`video:timeupdate`,()=>{e.mask.show=!1}),e.on(`video:waiting`,()=>{e.loading.show=!0,e.mask.show=!1})}function hn(e){let{template:{$player:t},i18n:n,notice:r}=e;B(e,`flip`,{get(){return t.dataset.flip||`normal`},set(i){i||(i=`normal`),i===`normal`?delete t.dataset.flip:t.dataset.flip=i,r.show=`${n.get(`Video Flip`)}: ${n.get(je(i))}`,e.emit(`flip`,i)}})}var gn=[[`requestFullscreen`,`exitFullscreen`,`fullscreenElement`,`fullscreenEnabled`,`fullscreenchange`,`fullscreenerror`],[`webkitRequestFullscreen`,`webkitExitFullscreen`,`webkitFullscreenElement`,`webkitFullscreenEnabled`,`webkitfullscreenchange`,`webkitfullscreenerror`],[`webkitRequestFullScreen`,`webkitCancelFullScreen`,`webkitCurrentFullScreenElement`,`webkitCancelFullScreen`,`webkitfullscreenchange`,`webkitfullscreenerror`],[`mozRequestFullScreen`,`mozCancelFullScreen`,`mozFullScreenElement`,`mozFullScreenEnabled`,`mozfullscreenchange`,`mozfullscreenerror`],[`msRequestFullscreen`,`msExitFullscreen`,`msFullscreenElement`,`msFullscreenEnabled`,`MSFullscreenChange`,`MSFullscreenError`]],Z=(()=>{if(typeof document>`u`)return!1;let e=gn[0],t={};for(let n of gn)if(n[1]in document){for(let[r,i]of n.entries())t[e[r]]=i;return t}return!1})(),_n={change:Z.fullscreenchange,error:Z.fullscreenerror},Q={request(e=document.documentElement,t){return new Promise((n,r)=>{let i=()=>{Q.off(`change`,i),n()};Q.on(`change`,i);let a=e[Z.requestFullscreen](t);a instanceof Promise&&a.then(i).catch(r)})},exit(){return new Promise((e,t)=>{if(!Q.isFullscreen){e();return}let n=()=>{Q.off(`change`,n),e()};Q.on(`change`,n);let r=document[Z.exitFullscreen]();r instanceof Promise&&r.then(n).catch(t)})},toggle(e,t){return Q.isFullscreen?Q.exit():Q.request(e,t)},onchange(e){Q.on(`change`,e)},onerror(e){Q.on(`error`,e)},on(e,t){let n=_n[e];n&&document.addEventListener(n,t,!1)},off(e,t){let n=_n[e];n&&document.removeEventListener(n,t,!1)},raw:Z};Object.defineProperties(Q,{isFullscreen:{get:()=>!!document[Z.fullscreenElement]},element:{enumerable:!0,get:()=>document[Z.fullscreenElement]},isEnabled:{enumerable:!0,get:()=>!!document[Z.fullscreenEnabled]}});function vn(e){let{i18n:t,notice:n,template:{$video:r,$player:i}}=e,a=e=>{Q.on(`change`,()=>{e.emit(`fullscreen`,Q.isFullscreen),Q.isFullscreen?(e.state=`fullscreen`,E(i,`art-fullscreen`)):D(i,`art-fullscreen`),e.emit(`resize`)}),Q.on(`error`,t=>{e.emit(`fullscreenError`,t)}),B(e,`fullscreen`,{get(){return Q.isFullscreen},async set(e){e?await Q.request(i):await Q.exit()}})},o=e=>{e.on(`document:webkitfullscreenchange`,()=>{e.emit(`fullscreen`,e.fullscreen),e.emit(`resize`)}),B(e,`fullscreen`,{get(){return document.fullscreenElement===r},set(t){t?(e.state=`fullscreen`,r.webkitEnterFullscreen()):r.webkitExitFullscreen()}})};e.once(`video:loadedmetadata`,()=>{Q.isEnabled?a(e):r.webkitSupportsFullscreen?o(e):B(e,`fullscreen`,{get(){return!1},set(){n.show=t.get(`Fullscreen Not Supported`)}}),B(e,`fullscreen`,Fe(e,`fullscreen`))})}function yn(e){let{constructor:t,template:{$container:n,$player:r}}=e,i=``;B(e,`fullscreenWeb`,{get(){return O(r,`art-fullscreen-web`)},set(a){a?(i=r.style.cssText,t.FULLSCREEN_WEB_IN_BODY&&k(document.body,r),e.state=`fullscreenWeb`,A(r,`width`,`100%`),A(r,`height`,`100%`),E(r,`art-fullscreen-web`),e.emit(`fullscreenWeb`,!0)):(t.FULLSCREEN_WEB_IN_BODY&&k(n,r),i&&(r.style.cssText=i,i=``),D(r,`art-fullscreen-web`),e.emit(`fullscreenWeb`,!1)),e.emit(`resize`)}})}function bn(e){let{$video:t}=e.template;B(e,`loaded`,{get:()=>e.loadedTime/t.duration}),B(e,`loadedTime`,{get:()=>t.buffered.length?t.buffered.end(t.buffered.length-1):0})}function xn(e){let{icons:t,proxy:n,storage:r,template:{$player:i,$video:a}}=e,o=!1,s=0,c=0;function l(){let{$mini:t}=e.template;t&&(D(i,`art-mini`),A(t,`display`,`none`),i.prepend(a),e.emit(`mini`,!1))}function u(t,n){e.playing?(A(t,`display`,`none`),A(n,`display`,`flex`)):(A(t,`display`,`flex`),A(n,`display`,`none`))}function d(){let{$mini:i}=e.template;if(i)return k(i,a),A(i,`display`,`flex`);{let i=P(`div`);E(i,`art-mini-popup`),k(document.body,i),e.template.$mini=i,k(i,a);let d=k(i,`<div class="art-mini-close"></div>`);k(d,t.close),n(d,`click`,l);let f=k(i,`<div class="art-mini-state"></div>`),p=k(f,t.play),m=k(f,t.pause);return n(p,`click`,()=>e.play()),n(m,`click`,()=>e.pause()),u(p,m),e.on(`video:playing`,()=>u(p,m)),e.on(`video:pause`,()=>u(p,m)),e.on(`video:timeupdate`,()=>u(p,m)),n(i,`mousedown`,e=>{o=e.button===0,s=e.pageX,c=e.pageY}),e.on(`document:mousemove`,e=>{if(o){E(i,`art-mini-dragging`);let t=e.pageX-s,n=e.pageY-c;A(i,`transform`,`translate(${t}px, ${n}px)`)}}),e.on(`document:mouseup`,()=>{if(o){o=!1,D(i,`art-mini-dragging`);let e=F(i);r.set(`left`,e.left),r.set(`top`,e.top),A(i,`left`,`${e.left}px`),A(i,`top`,`${e.top}px`),A(i,`transform`,null)}}),i}}function f(){let{$mini:t}=e.template,n=F(t),i=window.innerHeight-n.height-50,a=window.innerWidth-n.width-50;r.set(`top`,i),r.set(`left`,a),A(t,`top`,`${i}px`),A(t,`left`,`${a}px`)}B(e,`mini`,{get(){return O(i,`art-mini`)},set(t){if(t){e.state=`mini`,E(i,`art-mini`);let t=d(),n=r.get(`top`),a=r.get(`left`);typeof n==`number`&&typeof a==`number`?(A(t,`top`,`${n}px`),A(t,`left`,`${a}px`),Se(t)||f()):f(),e.emit(`mini`,!0)}else l()}})}function Sn(e){let{option:t,storage:n,template:{$video:r,$poster:i}}=e;for(let n in t.moreVideoAttr)e.attr(n,t.moreVideoAttr[n]);t.muted&&(e.muted=t.muted),t.volume&&(r.volume=R(t.volume,0,1));let a=n.get(`volume`);typeof a==`number`&&(r.volume=R(a,0,1)),t.poster&&A(i,`backgroundImage`,`url(${t.poster})`),t.autoplay&&(r.autoplay=t.autoplay),t.playsInline&&(r.playsInline=!0,r[`webkit-playsinline`]=!0),t.theme&&(t.cssVar[`--art-theme`]=t.theme);for(let n in t.cssVar)e.cssVar(n,t.cssVar[n]);e.url=t.url}function Cn(e){let{template:{$video:t},i18n:n,notice:r}=e;B(e,`pause`,{value(){let i=t.pause();return r.show=n.get(`Pause`),e.emit(`pause`),i}})}function wn(e){let{template:{$video:t},proxy:n,notice:r}=e;t.disablePictureInPicture=!1,B(e,`pip`,{get(){return document.pictureInPictureElement},set(n){n?(e.state=`pip`,t.requestPictureInPicture().catch(e=>{throw r.show=e,e})):document.exitPictureInPicture().catch(e=>{throw r.show=e,e})}}),n(t,`enterpictureinpicture`,()=>{e.emit(`pip`,!0)}),n(t,`leavepictureinpicture`,()=>{e.emit(`pip`,!1)})}function Tn(e){let{$video:t}=e.template;t.webkitSetPresentationMode(`inline`),B(e,`pip`,{get(){return t.webkitPresentationMode===`picture-in-picture`},set(n){n?(e.state=`pip`,t.webkitSetPresentationMode(`picture-in-picture`),e.emit(`pip`,!0)):(t.webkitSetPresentationMode(`inline`),e.emit(`pip`,!1))}})}function En(e){let{i18n:t,notice:n,template:{$video:r}}=e;document.pictureInPictureEnabled?wn(e):r.webkitSupportsPresentationMode?Tn(e):B(e,`pip`,{get(){return!1},set(){n.show=t.get(`PIP Not Supported`)}})}function Dn(e){let{template:{$video:t},i18n:n,notice:r}=e;B(e,`playbackRate`,{get(){return t.playbackRate},set(i){if(i){if(i===t.playbackRate)return;t.playbackRate=i,r.show=`${n.get(`Rate`)}: ${i===1?n.get(`Normal`):`${i}x`}`}else e.playbackRate=1}})}function On(e){B(e,`played`,{get:()=>e.currentTime/e.duration})}function kn(e){let{$video:t}=e.template;B(e,`playing`,{get:()=>typeof t.playing==`boolean`?t.playing:t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2})}function An(e){let{i18n:t,notice:n,option:r,constructor:{instances:i},template:{$video:a}}=e;B(e,`play`,{async value(){let o=await a.play();if(n.show=t.get(`Play`),e.emit(`play`),r.mutex)for(let t=0;t<i.length;t++){let n=i[t];n!==e&&n.pause()}return o}})}function jn(e){let{template:{$poster:t}}=e;B(e,`poster`,{get:()=>{try{return t.style.backgroundImage.match(/"(.*)"/)[1]}catch{return``}},set(e){A(t,`backgroundImage`,`url(${e})`)}})}function Mn(e){B(e,`quality`,{set(t){let{controls:n,notice:r,i18n:i}=e,a=t.find(e=>e.default)||t[0];n.update({name:`quality`,position:`right`,index:10,style:{marginRight:`10px`},html:a?.html||``,selector:t,async onSelect(t){return await e.switchQuality(t.url),r.show=`${i.get(`Switch Video`)}: ${t.html}`,t.html}})}})}function Nn(e){B(e,`rect`,{get:()=>F(e.template.$player)});let t=[`bottom`,`height`,`left`,`right`,`top`,`width`];for(let n=0;n<t.length;n++){let r=t[n];B(e,r,{get:()=>e.rect[r]})}B(e,`x`,{get:()=>e.left+window.pageXOffset}),B(e,`y`,{get:()=>e.top+window.pageYOffset})}function Pn(e){let{notice:t,template:{$video:n}}=e,r=P(`canvas`);B(e,`getDataURL`,{value:()=>new Promise((e,i)=>{try{r.width=n.videoWidth,r.height=n.videoHeight,r.getContext(`2d`).drawImage(n,0,0),e(r.toDataURL(`image/png`))}catch(e){t.show=e,i(e)}})}),B(e,`getBlobUrl`,{value:()=>new Promise((e,i)=>{try{r.width=n.videoWidth,r.height=n.videoHeight,r.getContext(`2d`).drawImage(n,0,0),r.toBlob(t=>{e(URL.createObjectURL(t))})}catch(e){t.show=e,i(e)}})}),B(e,`screenshot`,{value:async t=>{let r=await e.getDataURL();return Ae(r,`${t||`artplayer_${z(n.currentTime)}`}.png`),e.emit(`screenshot`,r),r}})}function Fn(e){let{notice:t}=e;B(e,`seek`,{set(n){e.currentTime=n,e.duration&&(t.show=`${z(e.currentTime)} / ${z(e.duration)}`),e.emit(`seek`,e.currentTime,n)}}),B(e,`forward`,{set(t){e.seek=e.currentTime+t}}),B(e,`backward`,{set(t){e.seek=e.currentTime-t}})}function In(e){let t=[`mini`,`pip`,`fullscreen`,`fullscreenWeb`];B(e,`state`,{get:()=>t.find(t=>e[t])||`standard`,set(n){for(let r=0;r<t.length;r++){let i=t[r];i!==n&&e[i]&&(e[i]=!1)}}})}function Ln(e){let{notice:t,i18n:n,template:r}=e;B(e,`subtitleOffset`,{get(){return r.$track?.offset||0},set(i){let{cues:a}=e.subtitle;if(!r.$track||a.length===0)return;let o=R(i,-10,10);r.$track.offset=o;for(let t=0;t<a.length;t++){let n=a[t];n.originalStartTime=n.originalStartTime??n.startTime,n.originalEndTime=n.originalEndTime??n.endTime,n.startTime=R(n.originalStartTime+o,0,e.duration),n.endTime=R(n.originalEndTime+o,0,e.duration)}e.subtitle.update(),t.show=`${n.get(`Subtitle Offset`)}: ${i}s`,e.emit(`subtitleOffset`,i)}})}function Rn(e){function t(t,n){return new Promise((r,i)=>{if(t===e.url){r();return}let{playing:a,aspectRatio:o,playbackRate:s}=e;e.pause(),e.url=t,e.notice.show=``;let c={};c.error=t=>{e.off(`video:canplay`,c.canplay),e.off(`video:loadedmetadata`,c.metadata),i(t)},c.metadata=()=>{e.currentTime=n},c.canplay=async()=>{e.off(`video:error`,c.error),e.playbackRate=s,e.aspectRatio=o,a&&await e.play(),e.notice.show=``,r()},e.once(`video:error`,c.error),e.once(`video:loadedmetadata`,c.metadata),e.once(`video:canplay`,c.canplay)})}B(e,`switchQuality`,{value:n=>t(n,e.currentTime)}),B(e,`switchUrl`,{value:e=>t(e,0)}),B(e,`switch`,{set:e.switchUrl})}function zn(e){B(e,`theme`,{get(){return e.cssVar(`--art-theme`)},set(t){e.cssVar(`--art-theme`,t)}})}function Bn(e){let{option:t,template:{$progress:n,$video:r}}=e,i=null,a=!1,o=null;function s(){clearTimeout(i),i=null,a=!1,o=null}function c(i){let a=e.controls?.thumbnails;if(!a)return;let{number:s,column:c,width:l,height:u,scale:d}=t.thumbnails,f=l*d||o.naturalWidth/c,p=u*d||f/(r.videoWidth/r.videoHeight),m=n.clientWidth/s,ee=Math.floor(i/m),te=Math.ceil(ee/c)-1,ne=ee%c||c-1;A(a,`backgroundImage`,`url(${o.src})`),A(a,`height`,`${p}px`),A(a,`width`,`${f}px`),A(a,`backgroundPosition`,`-${ne*f}px -${te*p}px`),i<=f/2?A(a,`left`,0):i>n.clientWidth-f/2?A(a,`left`,`${n.clientWidth-f}px`):A(a,`left`,`${i-f/2}px`)}e.on(`setBar`,async(r,i,s)=>{let l=e.controls?.thumbnails,{url:u,scale:d}=t.thumbnails;if(l&&u&&(r===`hover`||r===`played`&&s&&S)){if(!o&&!a&&(a=!0,o=await De(u,d),a=!1),!o)return;let e=n.clientWidth*i;e>0&&e<n.clientWidth&&c(e)}}),B(e,`thumbnails`,{get(){return e.option.thumbnails},set(t){t.url&&!e.option.isLive&&(e.option.thumbnails=t,s())}})}function Vn(e){B(e,`toggle`,{value(){return e.playing?e.pause():e.play()}})}function Hn(e){B(e,`type`,{get(){return e.option.type},set(t){e.option.type=t}})}function Un(e){let{option:t,template:{$video:n}}=e;B(e,`url`,{get(){return n.src},async set(r){if(r){let i=e.url,a=t.type||L(r),o=t.customType[a];a&&o?(await H(),e.loading.show=!0,o.call(e,n,r,e)):(URL.revokeObjectURL(i),n.src=r),i!==e.url&&(e.option.url=r,e.isReady&&i&&e.once(`video:canplay`,()=>{e.emit(`restart`,r)}))}else await H(),e.loading.show=!0}})}function Wn(e){let{template:{$video:t},i18n:n,notice:r,storage:i}=e;B(e,`volume`,{get:()=>t.volume||0,set:e=>{t.volume=R(e,0,1),r.show=`${n.get(`Volume`)}: ${Number.parseInt(t.volume*100,10)}`,t.volume!==0&&i.set(`volume`,t.volume)}}),B(e,`muted`,{get:()=>t.muted,set:n=>{t.muted=n,e.emit(`muted`,n)}})}var Gn=class{constructor(e){Un(e),cn(e),An(e),Cn(e),Vn(e),Fn(e),Wn(e),fn(e),pn(e),Rn(e),Dn(e),sn(e),Pn(e),vn(e),yn(e),En(e),bn(e),On(e),kn(e),un(e),Nn(e),hn(e),xn(e),jn(e),ln(e),dn(e),zn(e),Hn(e),In(e),Ln(e),on(e),Mn(e),Bn(e),mn(e),Sn(e)}};function Kn(e){let{notice:t,constructor:n,template:{$player:r,$video:i}}=e,a=`art-auto-orientation`,o=`art-auto-orientation-fullscreen`,s=!1;function c(){let t=document.documentElement.clientWidth,n=document.documentElement.clientHeight;A(r,`width`,`${n}px`),A(r,`height`,`${t}px`),A(r,`transform-origin`,`0 0`),A(r,`transform`,`rotate(90deg) translate(0, -${t}px)`),E(r,a),e.isRotate=!0,e.emit(`resize`)}function l(){A(r,`width`,``),A(r,`height`,``),A(r,`transform-origin`,``),A(r,`transform`,``),D(r,a),e.isRotate=!1,e.emit(`resize`)}function u(){let{videoWidth:e,videoHeight:t}=i,n=document.documentElement.clientWidth,r=document.documentElement.clientHeight;return e>t&&n<r||e<t&&n>r}return e.on(`fullscreenWeb`,t=>{if(t){if(u()){let t=Number(n.AUTO_ORIENTATION_TIME??0);setTimeout(()=>{e.fullscreenWeb&&!O(r,a)&&c()},t)}}else O(r,a)&&l()}),e.on(`fullscreen`,async e=>{let n=!!screen?.orientation?.lock;if(e){if(n&&u())try{let e=screen.orientation.type.startsWith(`portrait`)?`landscape`:`portrait`;await screen.orientation.lock(e),s=!0,E(r,o)}catch(e){s=!1,t.show=e}}else if(O(r,o)&&D(r,o),n&&s){try{screen.orientation.unlock()}catch{}s=!1}}),{name:`autoOrientation`,get state(){return O(r,a)}}}function qn(e){let{i18n:t,icons:n,storage:r,constructor:i,proxy:a,template:{$poster:o}}=e,s=e.layers.add({name:`auto-playback`,html:`
143
+ </svg>`,$t=class{constructor(e){let t={loading:zt,state:qt,play:Ut,pause:Vt,check:At,volume:Qt,volumeClose:Zt,screenshot:Gt,setting:Kt,pip:Ht,arrowLeft:Dt,arrowRight:Ot,playbackRate:Wt,aspectRatio:kt,config:Mt,lock:Bt,flip:Pt,unlock:Xt,fullscreenOff:Ft,fullscreenOn:It,fullscreenWebOff:Lt,fullscreenWebOn:Rt,switchOn:Yt,switchOff:Jt,error:Nt,close:jt,airplay:Et,...e.option.icons};for(let e in t)B(this,e,{get:()=>we(e,t[e])})}},en=class extends Y{constructor(e){super(e),this.name=`info`,S||this.init()}init(){let{proxy:e,constructor:t,template:{$infoPanel:n,$infoClose:r,$video:i}}=this.art;e(r,`click`,()=>{this.show=!1});let a=null,o=T(`[data-video]`,n)||[];this.art.on(`destroy`,()=>clearTimeout(a));function s(){for(let e=0;e<o.length;e++){let t=o[e],n=i[t.dataset.video],r=typeof n==`number`?n.toFixed(2):n;t.textContent!==r&&(t.textContent=r)}a=setTimeout(s,t.INFO_LOOP_TIME)}s()}},tn=class extends Y{constructor(e){super(e);let{option:t,template:{$layer:n}}=e;this.name=`layer`,this.$parent=n;for(let e=0;e<t.layers.length;e++)this.add(t.layers[e])}},nn=class extends Y{constructor(e){super(e),this.name=`loading`,k(e.template.$loading,e.icons.loading)}},rn=class extends Y{constructor(e){super(e),this.name=`mask`;let{template:t,icons:n,events:r}=e,i=k(t.$state,n.state),a=k(t.$state,n.error);A(a,`display`,`none`),e.on(`destroy`,()=>{A(i,`display`,`none`),A(a,`display`,null)}),r.proxy(t.$state,`click`,()=>e.play())}},an=class{constructor(e){this.art=e,this.timer=null,e.on(`destroy`,()=>this.destroy())}destroy(){this.timer&&(clearTimeout(this.timer),this.timer=null)}set show(e){let{constructor:t,template:{$player:n,$noticeInner:r}}=this.art;e?(r.textContent=e instanceof Error?e.message.trim():e,E(n,`art-notice-show`),clearTimeout(this.timer),this.timer=setTimeout(()=>{r.textContent=``,D(n,`art-notice-show`)},t.NOTICE_TIME)):D(n,`art-notice-show`)}get show(){let{template:{$player:e}}=this.art;return e.classList.contains(`art-notice-show`)}};function on(e){let{i18n:t,notice:n,proxy:r,template:{$video:i}}=e,a=!0;window.WebKitPlaybackTargetAvailabilityEvent&&i.webkitShowPlaybackTargetPicker?r(i,`webkitplaybacktargetavailabilitychanged`,e=>{switch(e.availability){case`available`:a=!0;break;case`not-available`:a=!1}}):a=!1,B(e,`airplay`,{value(){a?(i.webkitShowPlaybackTargetPicker(),e.emit(`airplay`)):n.show=t.get(`AirPlay Not Available`)}})}function sn(e){let{i18n:t,notice:n,template:{$video:r,$player:i}}=e;B(e,`aspectRatio`,{get(){return i.dataset.aspectRatio||`default`},set(a){if(a||(a=`default`),a==="default")A(r,`width`,null),A(r,`height`,null),A(r,`margin`,null),delete i.dataset.aspectRatio;else{let e=a.split(`:`).map(Number),{clientWidth:t,clientHeight:n}=i,o=t/n,s=e[0]/e[1];o>s?(A(r,`width`,`${s*n}px`),A(r,`height`,`100%`),A(r,`margin`,`0 auto`)):(A(r,`width`,`100%`),A(r,`height`,`${t/s}px`),A(r,`margin`,`auto 0`)),i.dataset.aspectRatio=a}n.show=`${t.get(`Aspect Ratio`)}: ${a==="default"?t.get(`Default`):a}`,e.emit(`aspectRatio`,a)}})}function cn(e){let{template:{$video:t}}=e;B(e,`attr`,{value(e,n){if(n===void 0)return t[e];t[e]=n}})}function ln(e){let{template:{$container:t,$video:n}}=e;B(e,`autoHeight`,{value(){let{clientWidth:r}=t,{videoHeight:i,videoWidth:a}=n,o=r/a*i;A(t,`height`,`${o}px`),e.emit(`autoHeight`,o)}})}function un(e){let{$container:t,$player:n,$video:r}=e.template;B(e,`autoSize`,{value(){let{videoWidth:i,videoHeight:a}=r,{width:o,height:s}=F(t),c=i/a;if(o/s>c){let e=s*c/o*100;A(n,`width`,`${e}%`),A(n,`height`,`100%`)}else{let e=o/c/s*100;A(n,`width`,`100%`),A(n,`height`,`${e}%`)}e.emit(`autoSize`,{width:e.width,height:e.height})}})}function dn(e){let{$player:t}=e.template;B(e,`cssVar`,{value(e,n){return n?t.style.setProperty(e,n):getComputedStyle(t).getPropertyValue(e)}})}function fn(e){let{$video:t}=e.template;B(e,`currentTime`,{get:()=>t.currentTime||0,set:n=>{n=Number.parseFloat(n),!Number.isNaN(n)&&(t.currentTime=R(n,0,e.duration))}})}function pn(e){B(e,`duration`,{get:()=>{let{duration:t}=e.template.$video;return t===1/0?0:t||0}})}function mn(e){let{i18n:t,notice:n,option:r,constructor:i,proxy:a,template:{$player:o,$video:s,$poster:c}}=e,l=0;for(let t=0;t<v.events.length;t++)a(s,v.events[t],t=>{e.emit(`video:${t.type}`,t)});e.on(`video:canplay`,()=>{l=0,e.loading.show=!1}),e.once(`video:canplay`,()=>{e.loading.show=!1,e.controls.show=!0,e.mask.show=!0,e.isReady=!0,e.emit(`ready`)}),e.on(`video:ended`,()=>{r.loop?(e.seek=0,e.play(),e.controls.show=!1,e.mask.show=!1):(e.controls.show=!0,e.mask.show=!0)}),e.on(`video:error`,async a=>{l<i.RECONNECT_TIME_MAX?(await H(i.RECONNECT_SLEEP_TIME),l+=1,e.url=r.url,n.show=`${t.get(`Reconnect`)}: ${l}`,e.emit(`error`,a,l)):(e.mask.show=!0,e.loading.show=!1,e.controls.show=!0,E(o,`art-error`),await H(i.RECONNECT_SLEEP_TIME),n.show=t.get(`Video Load Failed`))}),e.on(`video:loadedmetadata`,()=>{e.emit(`resize`),S&&(e.loading.show=!1,e.controls.show=!0,e.mask.show=!0)}),e.on(`video:loadstart`,()=>{e.loading.show=!0,e.mask.show=!1,e.controls.show=!0}),e.on(`video:pause`,()=>{e.controls.show=!0,e.mask.show=!0}),e.on(`video:play`,()=>{e.mask.show=!1,A(c,`display`,`none`)}),e.on(`video:playing`,()=>{e.mask.show=!1}),e.on(`video:progress`,()=>{e.playing&&(e.loading.show=!1)}),e.on(`video:seeked`,()=>{e.loading.show=!1,e.mask.show=!0}),e.on(`video:seeking`,()=>{e.loading.show=!0,e.mask.show=!1}),e.on(`video:timeupdate`,()=>{e.mask.show=!1}),e.on(`video:waiting`,()=>{e.loading.show=!0,e.mask.show=!1})}function hn(e){let{template:{$player:t},i18n:n,notice:r}=e;B(e,`flip`,{get(){return t.dataset.flip||`normal`},set(i){i||(i=`normal`),i===`normal`?delete t.dataset.flip:t.dataset.flip=i,r.show=`${n.get(`Video Flip`)}: ${n.get(je(i))}`,e.emit(`flip`,i)}})}var gn=[[`requestFullscreen`,`exitFullscreen`,`fullscreenElement`,`fullscreenEnabled`,`fullscreenchange`,`fullscreenerror`],[`webkitRequestFullscreen`,`webkitExitFullscreen`,`webkitFullscreenElement`,`webkitFullscreenEnabled`,`webkitfullscreenchange`,`webkitfullscreenerror`],[`webkitRequestFullScreen`,`webkitCancelFullScreen`,`webkitCurrentFullScreenElement`,`webkitCancelFullScreen`,`webkitfullscreenchange`,`webkitfullscreenerror`],[`mozRequestFullScreen`,`mozCancelFullScreen`,`mozFullScreenElement`,`mozFullScreenEnabled`,`mozfullscreenchange`,`mozfullscreenerror`],[`msRequestFullscreen`,`msExitFullscreen`,`msFullscreenElement`,`msFullscreenEnabled`,`MSFullscreenChange`,`MSFullscreenError`]],Z=(()=>{if(typeof document>`u`)return!1;let e=gn[0],t={};for(let n of gn)if(n[1]in document){for(let[r,i]of n.entries())t[e[r]]=i;return t}return!1})(),_n={change:Z.fullscreenchange,error:Z.fullscreenerror},Q={request(e=document.documentElement,t){return new Promise((n,r)=>{let i=()=>{Q.off(`change`,i),n()};Q.on(`change`,i);let a=e[Z.requestFullscreen](t);a instanceof Promise&&a.then(i).catch(r)})},exit(){return new Promise((e,t)=>{if(!Q.isFullscreen){e();return}let n=()=>{Q.off(`change`,n),e()};Q.on(`change`,n);let r=document[Z.exitFullscreen]();r instanceof Promise&&r.then(n).catch(t)})},toggle(e,t){return Q.isFullscreen?Q.exit():Q.request(e,t)},onchange(e){Q.on(`change`,e)},onerror(e){Q.on(`error`,e)},on(e,t){let n=_n[e];n&&document.addEventListener(n,t,!1)},off(e,t){let n=_n[e];n&&document.removeEventListener(n,t,!1)},raw:Z};Object.defineProperties(Q,{isFullscreen:{get:()=>!!document[Z.fullscreenElement]},element:{enumerable:!0,get:()=>document[Z.fullscreenElement]},isEnabled:{enumerable:!0,get:()=>!!document[Z.fullscreenEnabled]}});function vn(e){let{i18n:t,notice:n,template:{$video:r,$player:i}}=e,a=e=>{Q.on(`change`,()=>{e.emit(`fullscreen`,Q.isFullscreen),Q.isFullscreen?(e.state=`fullscreen`,E(i,`art-fullscreen`)):D(i,`art-fullscreen`),e.emit(`resize`)}),Q.on(`error`,t=>{e.emit(`fullscreenError`,t)}),B(e,`fullscreen`,{get(){return Q.isFullscreen},async set(e){e?await Q.request(i):await Q.exit()}})},o=e=>{e.on(`document:webkitfullscreenchange`,()=>{e.emit(`fullscreen`,e.fullscreen),e.emit(`resize`)}),B(e,`fullscreen`,{get(){return document.fullscreenElement===r},set(t){t?(e.state=`fullscreen`,r.webkitEnterFullscreen()):r.webkitExitFullscreen()}})};e.once(`video:loadedmetadata`,()=>{Q.isEnabled?a(e):r.webkitSupportsFullscreen?o(e):B(e,`fullscreen`,{get(){return!1},set(){n.show=t.get(`Fullscreen Not Supported`)}}),B(e,`fullscreen`,Fe(e,`fullscreen`))})}function yn(e){let{constructor:t,template:{$container:n,$player:r}}=e,i=``;B(e,`fullscreenWeb`,{get(){return O(r,`art-fullscreen-web`)},set(a){a?(i=r.style.cssText,t.FULLSCREEN_WEB_IN_BODY&&k(document.body,r),e.state=`fullscreenWeb`,A(r,`width`,`100%`),A(r,`height`,`100%`),E(r,`art-fullscreen-web`),e.emit(`fullscreenWeb`,!0)):(t.FULLSCREEN_WEB_IN_BODY&&k(n,r),i&&(r.style.cssText=i,i=``),D(r,`art-fullscreen-web`),e.emit(`fullscreenWeb`,!1)),e.emit(`resize`)}})}function bn(e){let{$video:t}=e.template;B(e,`loaded`,{get:()=>e.loadedTime/t.duration}),B(e,`loadedTime`,{get:()=>t.buffered.length?t.buffered.end(t.buffered.length-1):0})}function xn(e){let{icons:t,proxy:n,storage:r,template:{$player:i,$video:a}}=e,o=!1,s=0,c=0;function l(){let{$mini:t}=e.template;t&&(D(i,`art-mini`),A(t,`display`,`none`),i.prepend(a),e.emit(`mini`,!1))}function u(t,n){e.playing?(A(t,`display`,`none`),A(n,`display`,`flex`)):(A(t,`display`,`flex`),A(n,`display`,`none`))}function d(){let{$mini:i}=e.template;if(i)return k(i,a),A(i,`display`,`flex`);{let i=P(`div`);E(i,`art-mini-popup`),k(document.body,i),e.template.$mini=i,k(i,a);let d=k(i,`<div class="art-mini-close"></div>`);k(d,t.close),n(d,`click`,l);let f=k(i,`<div class="art-mini-state"></div>`),p=k(f,t.play),m=k(f,t.pause);return n(p,`click`,()=>e.play()),n(m,`click`,()=>e.pause()),u(p,m),e.on(`video:playing`,()=>u(p,m)),e.on(`video:pause`,()=>u(p,m)),e.on(`video:timeupdate`,()=>u(p,m)),n(i,`mousedown`,e=>{o=e.button===0,s=e.pageX,c=e.pageY}),e.on(`document:mousemove`,e=>{if(o){E(i,`art-mini-dragging`);let t=e.pageX-s,n=e.pageY-c;A(i,`transform`,`translate(${t}px, ${n}px)`)}}),e.on(`document:mouseup`,()=>{if(o){o=!1,D(i,`art-mini-dragging`);let e=F(i);r.set(`left`,e.left),r.set(`top`,e.top),A(i,`left`,`${e.left}px`),A(i,`top`,`${e.top}px`),A(i,`transform`,null)}}),i}}function f(){let{$mini:t}=e.template,n=F(t),i=window.innerHeight-n.height-50,a=window.innerWidth-n.width-50;r.set(`top`,i),r.set(`left`,a),A(t,`top`,`${i}px`),A(t,`left`,`${a}px`)}B(e,`mini`,{get(){return O(i,`art-mini`)},set(t){if(t){e.state=`mini`,E(i,`art-mini`);let t=d(),n=r.get(`top`),a=r.get(`left`);typeof n==`number`&&typeof a==`number`?(A(t,`top`,`${n}px`),A(t,`left`,`${a}px`),Se(t)||f()):f(),e.emit(`mini`,!0)}else l()}})}function Sn(e){let{option:t,storage:n,template:{$video:r,$poster:i}}=e;for(let n in t.moreVideoAttr)e.attr(n,t.moreVideoAttr[n]);t.muted&&(e.muted=t.muted),t.volume&&(r.volume=R(t.volume,0,1));let a=n.get(`volume`);typeof a==`number`&&(r.volume=R(a,0,1)),t.poster&&A(i,`backgroundImage`,`url(${t.poster})`),t.autoplay&&(r.autoplay=t.autoplay),t.playsInline&&(r.playsInline=!0,r[`webkit-playsinline`]=!0),t.theme&&(t.cssVar[`--art-theme`]=t.theme);for(let n in t.cssVar)e.cssVar(n,t.cssVar[n]);e.url=t.url}function Cn(e){let{template:{$video:t},i18n:n,notice:r}=e;B(e,`pause`,{value(){let i=t.pause();return r.show=n.get(`Pause`),e.emit(`pause`),i}})}function wn(e){let{template:{$video:t},proxy:n,notice:r}=e;t.disablePictureInPicture=!1,B(e,`pip`,{get(){return document.pictureInPictureElement},set(n){n?(e.state=`pip`,t.requestPictureInPicture().catch(e=>{r.show=e})):document.exitPictureInPicture().catch(e=>{r.show=e})}}),n(t,`enterpictureinpicture`,()=>{e.emit(`pip`,!0)}),n(t,`leavepictureinpicture`,()=>{e.emit(`pip`,!1)})}function Tn(e){let{$video:t}=e.template;t.webkitSetPresentationMode(`inline`),B(e,`pip`,{get(){return t.webkitPresentationMode===`picture-in-picture`},set(n){n?(e.state=`pip`,t.webkitSetPresentationMode(`picture-in-picture`),e.emit(`pip`,!0)):(t.webkitSetPresentationMode(`inline`),e.emit(`pip`,!1))}})}function En(e){let{i18n:t,notice:n,template:{$video:r}}=e;document.pictureInPictureEnabled?wn(e):r.webkitSupportsPresentationMode?Tn(e):B(e,`pip`,{get(){return!1},set(){n.show=t.get(`PIP Not Supported`)}})}function Dn(e){let{template:{$video:t},i18n:n,notice:r}=e;B(e,`playbackRate`,{get(){return t.playbackRate},set(i){if(i){if(i===t.playbackRate)return;t.playbackRate=i,r.show=`${n.get(`Rate`)}: ${i===1?n.get(`Normal`):`${i}x`}`}else e.playbackRate=1}})}function On(e){B(e,`played`,{get:()=>e.currentTime/e.duration})}function kn(e){let{$video:t}=e.template;B(e,`playing`,{get:()=>typeof t.playing==`boolean`?t.playing:t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2})}function An(e){let{i18n:t,notice:n,option:r,constructor:{instances:i},template:{$video:a}}=e;B(e,`play`,{async value(){let o=await a.play();if(n.show=t.get(`Play`),e.emit(`play`),r.mutex)for(let t=0;t<i.length;t++){let n=i[t];n!==e&&n.pause()}return o}})}function jn(e){let{template:{$poster:t}}=e;B(e,`poster`,{get:()=>{try{return t.style.backgroundImage.match(/"(.*)"/)[1]}catch{return``}},set(e){A(t,`backgroundImage`,`url(${e})`)}})}function Mn(e){B(e,`quality`,{set(t){let{controls:n,notice:r,i18n:i}=e,a=t.find(e=>e.default)||t[0];n.update({name:`quality`,position:`right`,index:10,style:{marginRight:`10px`},html:a?.html||``,selector:t,async onSelect(t){return await e.switchQuality(t.url),r.show=`${i.get(`Switch Video`)}: ${t.html}`,t.html}})}})}function Nn(e){B(e,`rect`,{get:()=>F(e.template.$player)});let t=[`bottom`,`height`,`left`,`right`,`top`,`width`];for(let n=0;n<t.length;n++){let r=t[n];B(e,r,{get:()=>e.rect[r]})}B(e,`x`,{get:()=>e.left+window.pageXOffset}),B(e,`y`,{get:()=>e.top+window.pageYOffset})}function Pn(e){let{notice:t,template:{$video:n}}=e,r=P(`canvas`);B(e,`getDataURL`,{value:()=>new Promise((e,i)=>{try{r.width=n.videoWidth,r.height=n.videoHeight,r.getContext(`2d`).drawImage(n,0,0),e(r.toDataURL(`image/png`))}catch(e){t.show=e,i(e)}})}),B(e,`getBlobUrl`,{value:()=>new Promise((e,i)=>{try{r.width=n.videoWidth,r.height=n.videoHeight,r.getContext(`2d`).drawImage(n,0,0),r.toBlob(t=>{e(URL.createObjectURL(t))})}catch(e){t.show=e,i(e)}})}),B(e,`screenshot`,{value:async t=>{let r=await e.getDataURL();return Ae(r,`${t||`artplayer_${z(n.currentTime)}`}.png`),e.emit(`screenshot`,r),r}})}function Fn(e){let{notice:t}=e;B(e,`seek`,{set(n){e.currentTime=n,e.duration&&(t.show=`${z(e.currentTime)} / ${z(e.duration)}`),e.emit(`seek`,e.currentTime,n)}}),B(e,`forward`,{set(t){e.seek=e.currentTime+t}}),B(e,`backward`,{set(t){e.seek=e.currentTime-t}})}function In(e){let t=[`mini`,`pip`,`fullscreen`,`fullscreenWeb`];B(e,`state`,{get:()=>t.find(t=>e[t])||`standard`,set(n){for(let r=0;r<t.length;r++){let i=t[r];i!==n&&e[i]&&(e[i]=!1)}}})}function Ln(e){let{notice:t,i18n:n,template:r}=e;B(e,`subtitleOffset`,{get(){return r.$track?.offset||0},set(i){let{cues:a}=e.subtitle;if(!r.$track||a.length===0)return;let o=R(i,-10,10);r.$track.offset=o;for(let t=0;t<a.length;t++){let n=a[t];n.originalStartTime=n.originalStartTime??n.startTime,n.originalEndTime=n.originalEndTime??n.endTime,n.startTime=R(n.originalStartTime+o,0,e.duration),n.endTime=R(n.originalEndTime+o,0,e.duration)}e.subtitle.update(),t.show=`${n.get(`Subtitle Offset`)}: ${i}s`,e.emit(`subtitleOffset`,i)}})}function Rn(e){function t(t,n){return new Promise((r,i)=>{if(t===e.url){r();return}let{playing:a,aspectRatio:o,playbackRate:s}=e;e.pause(),e.url=t,e.notice.show=``;let c={};c.error=t=>{e.off(`video:canplay`,c.canplay),e.off(`video:loadedmetadata`,c.metadata),i(t)},c.metadata=()=>{e.currentTime=n},c.canplay=async()=>{e.off(`video:error`,c.error),e.playbackRate=s,e.aspectRatio=o,a&&await e.play(),e.notice.show=``,r()},e.once(`video:error`,c.error),e.once(`video:loadedmetadata`,c.metadata),e.once(`video:canplay`,c.canplay)})}B(e,`switchQuality`,{value:n=>t(n,e.currentTime)}),B(e,`switchUrl`,{value:e=>t(e,0)}),B(e,`switch`,{set:e.switchUrl})}function zn(e){B(e,`theme`,{get(){return e.cssVar(`--art-theme`)},set(t){e.cssVar(`--art-theme`,t)}})}function Bn(e){let{option:t,template:{$progress:n,$video:r}}=e,i=null,a=!1,o=null;function s(){clearTimeout(i),i=null,a=!1,o=null}function c(i){let a=e.controls?.thumbnails;if(!a)return;let{number:s,column:c,width:l,height:u,scale:d}=t.thumbnails,f=l*d||o.naturalWidth/c,p=u*d||f/(r.videoWidth/r.videoHeight),m=n.clientWidth/s,ee=Math.floor(i/m),te=Math.ceil(ee/c)-1,ne=ee%c||c-1;A(a,`backgroundImage`,`url(${o.src})`),A(a,`height`,`${p}px`),A(a,`width`,`${f}px`),A(a,`backgroundPosition`,`-${ne*f}px -${te*p}px`),i<=f/2?A(a,`left`,0):i>n.clientWidth-f/2?A(a,`left`,`${n.clientWidth-f}px`):A(a,`left`,`${i-f/2}px`)}e.on(`setBar`,async(r,i,s)=>{let l=e.controls?.thumbnails,{url:u,scale:d}=t.thumbnails;if(l&&u&&(r===`hover`||r===`played`&&s&&S)){if(!o&&!a&&(a=!0,o=await De(u,d),a=!1),!o)return;let e=n.clientWidth*i;e>0&&e<n.clientWidth&&c(e)}}),B(e,`thumbnails`,{get(){return e.option.thumbnails},set(t){t.url&&!e.option.isLive&&(e.option.thumbnails=t,s())}})}function Vn(e){B(e,`toggle`,{value(){return e.playing?e.pause():e.play()}})}function Hn(e){B(e,`type`,{get(){return e.option.type},set(t){e.option.type=t}})}function Un(e){let{option:t,template:{$video:n}}=e;B(e,`url`,{get(){return n.src},async set(r){if(r){let i=e.url,a=t.type||L(r),o=t.customType[a];a&&o?(await H(),e.loading.show=!0,o.call(e,n,r,e)):(URL.revokeObjectURL(i),n.src=r),i!==e.url&&(e.option.url=r,e.isReady&&i&&e.once(`video:canplay`,()=>{e.emit(`restart`,r)}))}else await H(),e.loading.show=!0}})}function Wn(e){let{template:{$video:t},i18n:n,notice:r,storage:i}=e;B(e,`volume`,{get:()=>t.volume||0,set:e=>{t.volume=R(e,0,1),r.show=`${n.get(`Volume`)}: ${Number.parseInt(t.volume*100,10)}`,t.volume!==0&&i.set(`volume`,t.volume)}}),B(e,`muted`,{get:()=>t.muted,set:n=>{t.muted=n,e.emit(`muted`,n)}})}var Gn=class{constructor(e){Un(e),cn(e),An(e),Cn(e),Vn(e),Fn(e),Wn(e),fn(e),pn(e),Rn(e),Dn(e),sn(e),Pn(e),vn(e),yn(e),En(e),bn(e),On(e),kn(e),un(e),Nn(e),hn(e),xn(e),jn(e),ln(e),dn(e),zn(e),Hn(e),In(e),Ln(e),on(e),Mn(e),Bn(e),mn(e),Sn(e)}};function Kn(e){let{notice:t,constructor:n,template:{$player:r,$video:i}}=e,a=`art-auto-orientation`,o=`art-auto-orientation-fullscreen`,s=!1;function c(){let t=document.documentElement.clientWidth,n=document.documentElement.clientHeight;A(r,`width`,`${n}px`),A(r,`height`,`${t}px`),A(r,`transform-origin`,`0 0`),A(r,`transform`,`rotate(90deg) translate(0, -${t}px)`),E(r,a),e.isRotate=!0,e.emit(`resize`)}function l(){A(r,`width`,``),A(r,`height`,``),A(r,`transform-origin`,``),A(r,`transform`,``),D(r,a),e.isRotate=!1,e.emit(`resize`)}function u(){let{videoWidth:e,videoHeight:t}=i,n=document.documentElement.clientWidth,r=document.documentElement.clientHeight;return e>t&&n<r||e<t&&n>r}return e.on(`fullscreenWeb`,t=>{if(t){if(u()){let t=Number(n.AUTO_ORIENTATION_TIME??0);setTimeout(()=>{e.fullscreenWeb&&!O(r,a)&&c()},t)}}else O(r,a)&&l()}),e.on(`fullscreen`,async e=>{let n=!!screen?.orientation?.lock;if(e){if(n&&u())try{let e=screen.orientation.type.startsWith(`portrait`)?`landscape`:`portrait`;await screen.orientation.lock(e),s=!0,E(r,o)}catch(e){s=!1,t.show=e}}else if(O(r,o)&&D(r,o),n&&s){try{screen.orientation.unlock()}catch{}s=!1}}),{name:`autoOrientation`,get state(){return O(r,a)}}}function qn(e){let{i18n:t,icons:n,storage:r,constructor:i,proxy:a,template:{$poster:o}}=e,s=e.layers.add({name:`auto-playback`,html:`
144
144
  <div class="art-auto-playback-close"></div>
145
145
  <div class="art-auto-playback-last"></div>
146
146
  <div class="art-auto-playback-jump"></div>
@@ -19,7 +19,7 @@ ${e.text}`:``).filter(e=>e.trim()).join(`
19
19
  <div class="art-progress-indicator"></div>
20
20
  <div class="art-progress-tip">00:00</div>
21
21
  </div>
22
- `,mounted:e=>{let s=null,c=!1,l=R(`.art-progress-hover`,e),u=R(`.art-progress-loaded`,e),d=R(`.art-progress-played`,e),f=R(`.art-progress-highlight`,e),p=R(`.art-progress-indicator`,e),m=R(`.art-progress-tip`,e);n.indicator?U(p,n.indicator):W(p,`backgroundColor`,`var(--art-theme)`);function h(n){let{width:r}=rn(t,n),{text:i}=n.target.dataset;m.textContent=i;let a=m.clientWidth;r<=a/2?W(m,`left`,0):r>e.clientWidth-a/2?W(m,`left`,`${e.clientWidth-a}px`):W(m,`left`,`${r-a/2}px`)}function g(n,r){let{width:i,time:a}=r||rn(t,n);m.textContent=a||`00:00`;let o=m.clientWidth;i<=o/2?W(m,`left`,0):i>e.clientWidth-o/2?W(m,`left`,`${e.clientWidth-o}px`):W(m,`left`,`${i-o/2}px`)}function ee(){f.textContent=``;for(let e=0;e<r.highlight.length;e++){let n=r.highlight[e],i=Z(n.time,0,t.duration)/t.duration*100,a=`<span data-text="${n.text}" data-time="${n.time}" style="left: ${i}%"></span>`;U(f,a)}}function te(n,r,i){let o=n===`played`&&i&&w;n===`loaded`&&W(u,`width`,`${r*100}%`),n===`hover`&&(W(l,`width`,`${r*100}%`),q(i,f)?h(i):g(i),r===0?V(a,`art-progress-hover`):B(a,`art-progress-hover`)),n===`played`&&(W(d,`width`,`${r*100}%`),W(p,`left`,`${r*100}%`)),o&&(B(a,`art-progress-hover`),g(i,{width:e.clientWidth*r,time:Q(r*t.duration)}),clearTimeout(s),s=setTimeout(()=>{V(a,`art-progress-hover`)},500))}t.on(`setBar`,te),t.on(`video:loadedmetadata`,ee),t.constructor.USE_RAF?t.on(`raf`,()=>{t.emit(`setBar`,`played`,t.played),t.emit(`setBar`,`loaded`,t.loaded)}):(t.on(`video:timeupdate`,()=>{t.emit(`setBar`,`played`,t.played)}),t.on(`video:progress`,()=>{t.emit(`setBar`,`loaded`,t.loaded)}),t.on(`video:ended`,()=>{t.emit(`setBar`,`played`,1)})),t.emit(`setBar`,`loaded`,t.loaded||0),w||(i(o,`click`,e=>{e.target!==p&&an(t,e)}),i(o,`mousemove`,e=>{let{percentage:n}=rn(t,e);t.emit(`setBar`,`hover`,n,e)}),i(o,`mouseleave`,e=>{t.emit(`setBar`,`hover`,0,e)}),i(o,`mousedown`,e=>{c=e.button===0}),t.on(`document:mousemove`,e=>{if(c){let{second:n,percentage:r}=rn(t,e);t.emit(`setBar`,`played`,r,e),t.seek=n}}),t.on(`document:mouseup`,()=>{c&&(c=!1)}))}}}}function sn(e){return t=>({...e,tooltip:t.i18n.get(`Screenshot`),mounted:e=>{let{proxy:n,icons:r}=t;U(e,r.screenshot),n(e,`click`,()=>{t.screenshot()})}})}function cn(e){return t=>({...e,tooltip:t.i18n.get(`Show Setting`),mounted:e=>{let{proxy:n,icons:r,i18n:i}=t;U(e,r.setting),n(e,`click`,()=>{t.setting.toggle(),t.setting.resize()}),t.on(`setting`,t=>{K(e,i.get(t?`Hide Setting`:`Show Setting`))})}})}function ln(e){return t=>({...e,style:w?{fontSize:`12px`,padding:`0 5px`}:{cursor:`auto`,padding:`0 10px`},mounted:e=>{function n(){let n=`${Q(t.currentTime)} / ${Q(t.duration)}`;n!==e.textContent&&(e.textContent=n)}n();let r=[`video:loadedmetadata`,`video:timeupdate`,`video:progress`];for(let e=0;e<r.length;e++)t.on(r[e],n)}})}function un(e){return t=>({...e,mounted:e=>{let{proxy:n,icons:r}=t,i=U(e,r.volume),a=U(e,r.volumeClose),o=U(e,`<div class="art-volume-panel"></div>`),s=U(o,`<div class="art-volume-inner"></div>`),c=U(s,`<div class="art-volume-val"></div>`),l=U(s,`<div class="art-volume-slider"></div>`),u=U(U(l,`<div class="art-volume-handle"></div>`),`<div class="art-volume-loaded"></div>`),d=U(l,`<div class="art-volume-indicator"></div>`);function f(e){let{top:t,height:n}=Y(l);return 1-(e.clientY-t)/n}function p(){if(t.muted||t.volume===0)W(i,`display`,`none`),W(a,`display`,`flex`),W(d,`top`,`100%`),W(u,`top`,`100%`),c.textContent=0;else{let e=t.volume*100;W(i,`display`,`flex`),W(a,`display`,`none`),W(d,`top`,`${100-e}%`),W(u,`top`,`${100-e}%`),c.textContent=Math.floor(e)}}if(p(),t.on(`video:volumechange`,p),n(i,`click`,()=>{t.muted=!0}),n(a,`click`,()=>{t.muted=!1}),w)W(o,`display`,`none`);else{let e=!1;n(l,`mousedown`,n=>{e=n.button===0,t.volume=f(n)}),t.on(`document:mousemove`,n=>{e&&(t.muted=!1,t.volume=f(n))}),t.on(`document:mouseup`,()=>{e&&(e=!1)})}}})}function dn(e,t){let{constructor:n,template:{$player:r,$video:i}}=e;function a(t){q(t,r)?(e.isInput=t.target.tagName===`INPUT`,e.isFocus=!0,e.emit(`focus`,t)):(e.isInput=!1,e.isFocus=!1,e.emit(`blur`,t))}e.on(`document:click`,a),e.on(`document:contextmenu`,a);let o=[];t.proxy(i,`click`,t=>{let r=Date.now();o.push(r);let{MOBILE_CLICK_PLAY:i,DBCLICK_TIME:a,MOBILE_DBCLICK_PLAY:s,DBCLICK_FULLSCREEN:c}=n,l=o.filter(e=>r-e<=a);switch(l.length){case 1:e.emit(`click`,t),w?!e.isLock&&i&&e.toggle():e.toggle(),o=l;break;case 2:e.emit(`dblclick`,t),w?!e.isLock&&s&&e.toggle():c&&(e.fullscreen=!e.fullscreen),o=[];break;default:o=[]}})}function fn(e,t){return Math.atan2(t,e)*180/Math.PI}function pn(e,t,n,r){let i=t-r,a=n-e,o=0;if(Math.abs(a)<2&&Math.abs(i)<2)return o;let s=fn(a,i);return s>=-45&&s<45?o=4:s>=45&&s<135?o=1:s>=-135&&s<-45?o=2:(s>=135&&s<=180||s>=-180&&s<-135)&&(o=3),o}function mn(e,t){if(w&&!e.option.isLive){let{$video:n,$progress:r}=e.template,i=null,a=!1,o=0,s=0,c=0,l=t=>{if(t.touches.length===1&&!e.isLock){i===r&&an(e,t),a=!0;let{pageX:n,pageY:l}=t.touches[0];o=n,s=l,c=e.currentTime}},u=t=>{if(t.touches.length===1&&a&&e.duration){let{pageX:r,pageY:a}=t.touches[0],l=pn(o,s,r,a),u=[3,4].includes(l),d=[1,2].includes(l);if(u&&!e.isRotate||d&&e.isRotate){let l=Z((r-o)/e.width,-1,1),u=Z((a-s)/e.height,-1,1),d=e.isRotate?u:l,f=i===n?e.constructor.TOUCH_MOVE_RATIO:1,p=Z(c+e.duration*d*f,0,e.duration);e.seek=p,e.emit(`setBar`,`played`,Z(p/e.duration,0,1),t),e.notice.show=`${Q(p)} / ${Q(e.duration)}`}}};e.option.gesture&&(t.proxy(n,`touchstart`,e=>{i=n,l(e)}),t.proxy(n,`touchmove`,u)),t.proxy(r,`touchstart`,e=>{i=r,l(e)}),t.proxy(r,`touchmove`,u),e.on(`document:touchend`,()=>{a&&(o=0,s=0,c=0,a=!1,i=null)})}}function hn(e,t){let n=[`click`,`mouseup`,`keydown`,`touchend`,`touchmove`,`mousemove`,`pointerup`,`contextmenu`,`pointermove`,`visibilitychange`,`webkitfullscreenchange`],r=[`resize`,`scroll`,`orientationchange`],i=[];function a(a={}){for(let e=0;e<i.length;e++)t.remove(i[e]);i.length=0;let{$player:o}=e.template;n.forEach(n=>{let r=a.document||o.ownerDocument||document,s=t.proxy(r,n,t=>{e.emit(`document:${n}`,t)});i.push(s)}),r.forEach(n=>{let r=a.window||o.ownerDocument?.defaultView||window,s=t.proxy(r,n,t=>{e.emit(`window:${n}`,t)});i.push(s)})}a(),t.bindGlobalEvents=a}function gn(e,t){let{$player:n}=e.template;t.hover(n,t=>{B(n,`art-hover`),e.emit(`hover`,!0,t)},t=>{V(n,`art-hover`),e.emit(`hover`,!1,t)})}function _n(e,t){let{$player:n}=e.template;t.proxy(n,`mousemove`,t=>{e.emit(`mousemove`,t)})}function vn(e,t){let{option:n,constructor:r}=e;e.on(`resize`,()=>{let{aspectRatio:t,notice:r}=e;e.state===`standard`&&n.autoSize&&e.autoSize(),e.aspectRatio=t,r.show=``});let i=Ut(()=>e.emit(`resize`),r.RESIZE_TIME);e.on(`window:orientationchange`,()=>i()),e.on(`window:resize`,()=>i()),screen&&screen.orientation&&screen.orientation.onchange&&t.proxy(screen.orientation,`change`,()=>i())}function yn(e){if(e.constructor.USE_RAF){let t=null;(function n(){e.playing&&e.emit(`raf`),e.isDestroy||(t=requestAnimationFrame(n))})(),e.on(`destroy`,()=>{cancelAnimationFrame(t)})}}function bn(e){let{option:t,constructor:n,template:{$container:r}}=e,i=Wt(()=>{e.emit(`view`,wt(r,n.SCROLL_GAP))},n.SCROLL_TIME);e.on(`window:scroll`,()=>i()),e.on(`view`,n=>{t.autoMini&&(e.mini=!n)})}function xn(e){let{i18n:t,notice:n,proxy:r,template:{$video:i}}=e,a=!0;window.WebKitPlaybackTargetAvailabilityEvent&&i.webkitShowPlaybackTargetPicker?r(i,`webkitplaybacktargetavailabilitychanged`,e=>{switch(e.availability){case`available`:a=!0;break;case`not-available`:a=!1}}):a=!1,E(e,`airplay`,{value(){a?(i.webkitShowPlaybackTargetPicker(),e.emit(`airplay`)):n.show=t.get(`AirPlay Not Available`)}})}function Sn(e){let{i18n:t,notice:n,template:{$video:r,$player:i}}=e;E(e,`aspectRatio`,{get(){return i.dataset.aspectRatio||`default`},set(a){if(a||(a=`default`),a==="default")W(r,`width`,null),W(r,`height`,null),W(r,`margin`,null),delete i.dataset.aspectRatio;else{let e=a.split(`:`).map(Number),{clientWidth:t,clientHeight:n}=i,o=t/n,s=e[0]/e[1];o>s?(W(r,`width`,`${s*n}px`),W(r,`height`,`100%`),W(r,`margin`,`0 auto`)):(W(r,`width`,`100%`),W(r,`height`,`${t/s}px`),W(r,`margin`,`auto 0`)),i.dataset.aspectRatio=a}n.show=`${t.get(`Aspect Ratio`)}: ${a==="default"?t.get(`Default`):a}`,e.emit(`aspectRatio`,a)}})}function Cn(e){let{template:{$video:t}}=e;E(e,`attr`,{value(e,n){if(n===void 0)return t[e];t[e]=n}})}function wn(e){let{template:{$container:t,$video:n}}=e;E(e,`autoHeight`,{value(){let{clientWidth:r}=t,{videoHeight:i,videoWidth:a}=n,o=r/a*i;W(t,`height`,`${o}px`),e.emit(`autoHeight`,o)}})}function Tn(e){let{$container:t,$player:n,$video:r}=e.template;E(e,`autoSize`,{value(){let{videoWidth:i,videoHeight:a}=r,{width:o,height:s}=Y(t),c=i/a;if(o/s>c){let e=s*c/o*100;W(n,`width`,`${e}%`),W(n,`height`,`100%`)}else{let e=o/c/s*100;W(n,`width`,`100%`),W(n,`height`,`${e}%`)}e.emit(`autoSize`,{width:e.width,height:e.height})}})}function En(e){let{$player:t}=e.template;E(e,`cssVar`,{value(e,n){return n?t.style.setProperty(e,n):getComputedStyle(t).getPropertyValue(e)}})}function Dn(e){let{$video:t}=e.template;E(e,`currentTime`,{get:()=>t.currentTime||0,set:n=>{n=Number.parseFloat(n),!Number.isNaN(n)&&(t.currentTime=Z(n,0,e.duration))}})}function On(e){E(e,`duration`,{get:()=>{let{duration:t}=e.template.$video;return t===1/0?0:t||0}})}function kn(e){let{i18n:t,notice:n,option:r,constructor:i,proxy:a,template:{$player:o,$video:s,$poster:c}}=e,l=0;for(let t=0;t<b.events.length;t++)a(s,b.events[t],t=>{e.emit(`video:${t.type}`,t)});e.on(`video:canplay`,()=>{l=0,e.loading.show=!1}),e.once(`video:canplay`,()=>{e.loading.show=!1,e.controls.show=!0,e.mask.show=!0,e.isReady=!0,e.emit(`ready`)}),e.on(`video:ended`,()=>{r.loop?(e.seek=0,e.play(),e.controls.show=!1,e.mask.show=!1):(e.controls.show=!0,e.mask.show=!0)}),e.on(`video:error`,async a=>{l<i.RECONNECT_TIME_MAX?(await $(i.RECONNECT_SLEEP_TIME),l+=1,e.url=r.url,n.show=`${t.get(`Reconnect`)}: ${l}`,e.emit(`error`,a,l)):(e.mask.show=!0,e.loading.show=!1,e.controls.show=!0,B(o,`art-error`),await $(i.RECONNECT_SLEEP_TIME),n.show=t.get(`Video Load Failed`))}),e.on(`video:loadedmetadata`,()=>{e.emit(`resize`),w&&(e.loading.show=!1,e.controls.show=!0,e.mask.show=!0)}),e.on(`video:loadstart`,()=>{e.loading.show=!0,e.mask.show=!1,e.controls.show=!0}),e.on(`video:pause`,()=>{e.controls.show=!0,e.mask.show=!0}),e.on(`video:play`,()=>{e.mask.show=!1,W(c,`display`,`none`)}),e.on(`video:playing`,()=>{e.mask.show=!1}),e.on(`video:progress`,()=>{e.playing&&(e.loading.show=!1)}),e.on(`video:seeked`,()=>{e.loading.show=!1,e.mask.show=!0}),e.on(`video:seeking`,()=>{e.loading.show=!0,e.mask.show=!1}),e.on(`video:timeupdate`,()=>{e.mask.show=!1}),e.on(`video:waiting`,()=>{e.loading.show=!0,e.mask.show=!1})}function An(e){let{template:{$player:t},i18n:n,notice:r}=e;E(e,`flip`,{get(){return t.dataset.flip||`normal`},set(i){i||(i=`normal`),i===`normal`?delete t.dataset.flip:t.dataset.flip=i,r.show=`${n.get(`Video Flip`)}: ${n.get(Nt(i))}`,e.emit(`flip`,i)}})}function jn(e){let{i18n:t,notice:n,template:{$video:r,$player:i}}=e,a=e=>{F.on(`change`,()=>{e.emit(`fullscreen`,F.isFullscreen),F.isFullscreen?(e.state=`fullscreen`,B(i,`art-fullscreen`)):V(i,`art-fullscreen`),e.emit(`resize`)}),F.on(`error`,t=>{e.emit(`fullscreenError`,t)}),E(e,`fullscreen`,{get(){return F.isFullscreen},async set(e){e?await F.request(i):await F.exit()}})},o=e=>{e.on(`document:webkitfullscreenchange`,()=>{e.emit(`fullscreen`,e.fullscreen),e.emit(`resize`)}),E(e,`fullscreen`,{get(){return document.fullscreenElement===r},set(t){t?(e.state=`fullscreen`,r.webkitEnterFullscreen()):r.webkitExitFullscreen()}})};e.once(`video:loadedmetadata`,()=>{F.isEnabled?a(e):r.webkitSupportsFullscreen?o(e):E(e,`fullscreen`,{get(){return!1},set(){n.show=t.get(`Fullscreen Not Supported`)}}),E(e,`fullscreen`,Lt(e,`fullscreen`))})}function Mn(e){let{constructor:t,template:{$container:n,$player:r}}=e,i=``;E(e,`fullscreenWeb`,{get(){return H(r,`art-fullscreen-web`)},set(a){a?(i=r.style.cssText,t.FULLSCREEN_WEB_IN_BODY&&U(document.body,r),e.state=`fullscreenWeb`,W(r,`width`,`100%`),W(r,`height`,`100%`),B(r,`art-fullscreen-web`),e.emit(`fullscreenWeb`,!0)):(t.FULLSCREEN_WEB_IN_BODY&&U(n,r),i&&(r.style.cssText=i,i=``),V(r,`art-fullscreen-web`),e.emit(`fullscreenWeb`,!1)),e.emit(`resize`)}})}function Nn(e){let{$video:t}=e.template;E(e,`loaded`,{get:()=>e.loadedTime/t.duration}),E(e,`loadedTime`,{get:()=>t.buffered.length?t.buffered.end(t.buffered.length-1):0})}function Pn(e){let{icons:t,proxy:n,storage:r,template:{$player:i,$video:a}}=e,o=!1,s=0,c=0;function l(){let{$mini:t}=e.template;t&&(V(i,`art-mini`),W(t,`display`,`none`),i.prepend(a),e.emit(`mini`,!1))}function u(t,n){e.playing?(W(t,`display`,`none`),W(n,`display`,`flex`)):(W(t,`display`,`flex`),W(n,`display`,`none`))}function d(){let{$mini:i}=e.template;if(i)return U(i,a),W(i,`display`,`flex`);{let i=J(`div`);B(i,`art-mini-popup`),U(document.body,i),e.template.$mini=i,U(i,a);let d=U(i,`<div class="art-mini-close"></div>`);U(d,t.close),n(d,`click`,l);let f=U(i,`<div class="art-mini-state"></div>`),p=U(f,t.play),m=U(f,t.pause);return n(p,`click`,()=>e.play()),n(m,`click`,()=>e.pause()),u(p,m),e.on(`video:playing`,()=>u(p,m)),e.on(`video:pause`,()=>u(p,m)),e.on(`video:timeupdate`,()=>u(p,m)),n(i,`mousedown`,e=>{o=e.button===0,s=e.pageX,c=e.pageY}),e.on(`document:mousemove`,e=>{if(o){B(i,`art-mini-dragging`);let t=e.pageX-s,n=e.pageY-c;W(i,`transform`,`translate(${t}px, ${n}px)`)}}),e.on(`document:mouseup`,()=>{if(o){o=!1,V(i,`art-mini-dragging`);let e=Y(i);r.set(`left`,e.left),r.set(`top`,e.top),W(i,`left`,`${e.left}px`),W(i,`top`,`${e.top}px`),W(i,`transform`,null)}}),i}}function f(){let{$mini:t}=e.template,n=Y(t),i=window.innerHeight-n.height-50,a=window.innerWidth-n.width-50;r.set(`top`,i),r.set(`left`,a),W(t,`top`,`${i}px`),W(t,`left`,`${a}px`)}E(e,`mini`,{get(){return H(i,`art-mini`)},set(t){if(t){e.state=`mini`,B(i,`art-mini`);let t=d(),n=r.get(`top`),a=r.get(`left`);typeof n==`number`&&typeof a==`number`?(W(t,`top`,`${n}px`),W(t,`left`,`${a}px`),wt(t)||f()):f(),e.emit(`mini`,!0)}else l()}})}function Fn(e){let{option:t,storage:n,template:{$video:r,$poster:i}}=e;for(let n in t.moreVideoAttr)e.attr(n,t.moreVideoAttr[n]);t.muted&&(e.muted=t.muted),t.volume&&(r.volume=Z(t.volume,0,1));let a=n.get(`volume`);typeof a==`number`&&(r.volume=Z(a,0,1)),t.poster&&W(i,`backgroundImage`,`url(${t.poster})`),t.autoplay&&(r.autoplay=t.autoplay),t.playsInline&&(r.playsInline=!0,r[`webkit-playsinline`]=!0),t.theme&&(t.cssVar[`--art-theme`]=t.theme);for(let n in t.cssVar)e.cssVar(n,t.cssVar[n]);e.url=t.url}function In(e){let{template:{$video:t},i18n:n,notice:r}=e;E(e,`pause`,{value(){let i=t.pause();return r.show=n.get(`Pause`),e.emit(`pause`),i}})}function Ln(e){let{template:{$video:t},proxy:n,notice:r}=e;t.disablePictureInPicture=!1,E(e,`pip`,{get(){return document.pictureInPictureElement},set(n){n?(e.state=`pip`,t.requestPictureInPicture().catch(e=>{throw r.show=e,e})):document.exitPictureInPicture().catch(e=>{throw r.show=e,e})}}),n(t,`enterpictureinpicture`,()=>{e.emit(`pip`,!0)}),n(t,`leavepictureinpicture`,()=>{e.emit(`pip`,!1)})}function Rn(e){let{$video:t}=e.template;t.webkitSetPresentationMode(`inline`),E(e,`pip`,{get(){return t.webkitPresentationMode===`picture-in-picture`},set(n){n?(e.state=`pip`,t.webkitSetPresentationMode(`picture-in-picture`),e.emit(`pip`,!0)):(t.webkitSetPresentationMode(`inline`),e.emit(`pip`,!1))}})}function zn(e){let{i18n:t,notice:n,template:{$video:r}}=e;document.pictureInPictureEnabled?Ln(e):r.webkitSupportsPresentationMode?Rn(e):E(e,`pip`,{get(){return!1},set(){n.show=t.get(`PIP Not Supported`)}})}function Bn(e){let{template:{$video:t},i18n:n,notice:r}=e;E(e,`playbackRate`,{get(){return t.playbackRate},set(i){if(i){if(i===t.playbackRate)return;t.playbackRate=i,r.show=`${n.get(`Rate`)}: ${i===1?n.get(`Normal`):`${i}x`}`}else e.playbackRate=1}})}function Vn(e){E(e,`played`,{get:()=>e.currentTime/e.duration})}function Hn(e){let{$video:t}=e.template;E(e,`playing`,{get:()=>typeof t.playing==`boolean`?t.playing:t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2})}function Un(e){let{i18n:t,notice:n,option:r,constructor:{instances:i},template:{$video:a}}=e;E(e,`play`,{async value(){let o=await a.play();if(n.show=t.get(`Play`),e.emit(`play`),r.mutex)for(let t=0;t<i.length;t++){let n=i[t];n!==e&&n.pause()}return o}})}function Wn(e){let{template:{$poster:t}}=e;E(e,`poster`,{get:()=>{try{return t.style.backgroundImage.match(/"(.*)"/)[1]}catch{return``}},set(e){W(t,`backgroundImage`,`url(${e})`)}})}function Gn(e){E(e,`quality`,{set(t){let{controls:n,notice:r,i18n:i}=e,a=t.find(e=>e.default)||t[0];n.update({name:`quality`,position:`right`,index:10,style:{marginRight:`10px`},html:a?.html||``,selector:t,async onSelect(t){return await e.switchQuality(t.url),r.show=`${i.get(`Switch Video`)}: ${t.html}`,t.html}})}})}function Kn(e){E(e,`rect`,{get:()=>Y(e.template.$player)});let t=[`bottom`,`height`,`left`,`right`,`top`,`width`];for(let n=0;n<t.length;n++){let r=t[n];E(e,r,{get:()=>e.rect[r]})}E(e,`x`,{get:()=>e.left+window.pageXOffset}),E(e,`y`,{get:()=>e.top+window.pageYOffset})}function qn(e){let{notice:t,template:{$video:n}}=e,r=J(`canvas`);E(e,`getDataURL`,{value:()=>new Promise((e,i)=>{try{r.width=n.videoWidth,r.height=n.videoHeight,r.getContext(`2d`).drawImage(n,0,0),e(r.toDataURL(`image/png`))}catch(e){t.show=e,i(e)}})}),E(e,`getBlobUrl`,{value:()=>new Promise((e,i)=>{try{r.width=n.videoWidth,r.height=n.videoHeight,r.getContext(`2d`).drawImage(n,0,0),r.toBlob(t=>{e(URL.createObjectURL(t))})}catch(e){t.show=e,i(e)}})}),E(e,`screenshot`,{value:async t=>{let r=await e.getDataURL();return Mt(r,`${t||`artplayer_${Q(n.currentTime)}`}.png`),e.emit(`screenshot`,r),r}})}function Jn(e){let{notice:t}=e;E(e,`seek`,{set(n){e.currentTime=n,e.duration&&(t.show=`${Q(e.currentTime)} / ${Q(e.duration)}`),e.emit(`seek`,e.currentTime,n)}}),E(e,`forward`,{set(t){e.seek=e.currentTime+t}}),E(e,`backward`,{set(t){e.seek=e.currentTime-t}})}function Yn(e){let t=[`mini`,`pip`,`fullscreen`,`fullscreenWeb`];E(e,`state`,{get:()=>t.find(t=>e[t])||`standard`,set(n){for(let r=0;r<t.length;r++){let i=t[r];i!==n&&e[i]&&(e[i]=!1)}}})}function Xn(e){let{notice:t,i18n:n,template:r}=e;E(e,`subtitleOffset`,{get(){return r.$track?.offset||0},set(i){let{cues:a}=e.subtitle;if(!r.$track||a.length===0)return;let o=Z(i,-10,10);r.$track.offset=o;for(let t=0;t<a.length;t++){let n=a[t];n.originalStartTime=n.originalStartTime??n.startTime,n.originalEndTime=n.originalEndTime??n.endTime,n.startTime=Z(n.originalStartTime+o,0,e.duration),n.endTime=Z(n.originalEndTime+o,0,e.duration)}e.subtitle.update(),t.show=`${n.get(`Subtitle Offset`)}: ${i}s`,e.emit(`subtitleOffset`,i)}})}function Zn(e){function t(t,n){return new Promise((r,i)=>{if(t===e.url){r();return}let{playing:a,aspectRatio:o,playbackRate:s}=e;e.pause(),e.url=t,e.notice.show=``;let c={};c.error=t=>{e.off(`video:canplay`,c.canplay),e.off(`video:loadedmetadata`,c.metadata),i(t)},c.metadata=()=>{e.currentTime=n},c.canplay=async()=>{e.off(`video:error`,c.error),e.playbackRate=s,e.aspectRatio=o,a&&await e.play(),e.notice.show=``,r()},e.once(`video:error`,c.error),e.once(`video:loadedmetadata`,c.metadata),e.once(`video:canplay`,c.canplay)})}E(e,`switchQuality`,{value:n=>t(n,e.currentTime)}),E(e,`switchUrl`,{value:e=>t(e,0)}),E(e,`switch`,{set:e.switchUrl})}function Qn(e){E(e,`theme`,{get(){return e.cssVar(`--art-theme`)},set(t){e.cssVar(`--art-theme`,t)}})}function $n(e){let{option:t,template:{$progress:n,$video:r}}=e,i=null,a=!1,o=null;function s(){clearTimeout(i),i=null,a=!1,o=null}function c(i){let a=e.controls?.thumbnails;if(!a)return;let{number:s,column:c,width:l,height:u,scale:d}=t.thumbnails,f=l*d||o.naturalWidth/c,p=u*d||f/(r.videoWidth/r.videoHeight),m=n.clientWidth/s,h=Math.floor(i/m),g=Math.ceil(h/c)-1,ee=h%c||c-1;W(a,`backgroundImage`,`url(${o.src})`),W(a,`height`,`${p}px`),W(a,`width`,`${f}px`),W(a,`backgroundPosition`,`-${ee*f}px -${g*p}px`),i<=f/2?W(a,`left`,0):i>n.clientWidth-f/2?W(a,`left`,`${n.clientWidth-f}px`):W(a,`left`,`${i-f/2}px`)}e.on(`setBar`,async(r,i,s)=>{let l=e.controls?.thumbnails,{url:u,scale:d}=t.thumbnails;if(l&&u&&(r===`hover`||r===`played`&&s&&w)){if(!o&&!a&&(a=!0,o=await kt(u,d),a=!1),!o)return;let e=n.clientWidth*i;e>0&&e<n.clientWidth&&c(e)}}),E(e,`thumbnails`,{get(){return e.option.thumbnails},set(t){t.url&&!e.option.isLive&&(e.option.thumbnails=t,s())}})}function er(e){E(e,`toggle`,{value(){return e.playing?e.pause():e.play()}})}function tr(e){E(e,`type`,{get(){return e.option.type},set(t){e.option.type=t}})}function nr(e){let{option:t,template:{$video:n}}=e;E(e,`url`,{get(){return n.src},async set(r){if(r){let i=e.url,a=t.type||jt(r),o=t.customType[a];a&&o?(await $(),e.loading.show=!0,o.call(e,n,r,e)):(URL.revokeObjectURL(i),n.src=r),i!==e.url&&(e.option.url=r,e.isReady&&i&&e.once(`video:canplay`,()=>{e.emit(`restart`,r)}))}else await $(),e.loading.show=!0}})}function rr(e){let{template:{$video:t},i18n:n,notice:r,storage:i}=e;E(e,`volume`,{get:()=>t.volume||0,set:e=>{t.volume=Z(e,0,1),r.show=`${n.get(`Volume`)}: ${Number.parseInt(t.volume*100,10)}`,t.volume!==0&&i.set(`volume`,t.volume)}}),E(e,`muted`,{get:()=>t.muted,set:n=>{t.muted=n,e.emit(`muted`,n)}})}function ir(e){let{notice:t,constructor:n,template:{$player:r,$video:i}}=e,a=`art-auto-orientation`,o=`art-auto-orientation-fullscreen`,s=!1;function c(){let t=document.documentElement.clientWidth,n=document.documentElement.clientHeight;W(r,`width`,`${n}px`),W(r,`height`,`${t}px`),W(r,`transform-origin`,`0 0`),W(r,`transform`,`rotate(90deg) translate(0, -${t}px)`),B(r,a),e.isRotate=!0,e.emit(`resize`)}function l(){W(r,`width`,``),W(r,`height`,``),W(r,`transform-origin`,``),W(r,`transform`,``),V(r,a),e.isRotate=!1,e.emit(`resize`)}function u(){let{videoWidth:e,videoHeight:t}=i,n=document.documentElement.clientWidth,r=document.documentElement.clientHeight;return e>t&&n<r||e<t&&n>r}return e.on(`fullscreenWeb`,t=>{if(t){if(u()){let t=Number(n.AUTO_ORIENTATION_TIME??0);setTimeout(()=>{e.fullscreenWeb&&!H(r,a)&&c()},t)}}else H(r,a)&&l()}),e.on(`fullscreen`,async e=>{let n=!!screen?.orientation?.lock;if(e){if(n&&u())try{let e=screen.orientation.type.startsWith(`portrait`)?`landscape`:`portrait`;await screen.orientation.lock(e),s=!0,B(r,o)}catch(e){s=!1,t.show=e}}else if(H(r,o)&&V(r,o),n&&s){try{screen.orientation.unlock()}catch{}s=!1}}),{name:`autoOrientation`,get state(){return H(r,a)}}}function ar(e){let{i18n:t,icons:n,storage:r,constructor:i,proxy:a,template:{$poster:o}}=e,s=e.layers.add({name:`auto-playback`,html:`
22
+ `,mounted:e=>{let s=null,c=!1,l=R(`.art-progress-hover`,e),u=R(`.art-progress-loaded`,e),d=R(`.art-progress-played`,e),f=R(`.art-progress-highlight`,e),p=R(`.art-progress-indicator`,e),m=R(`.art-progress-tip`,e);n.indicator?U(p,n.indicator):W(p,`backgroundColor`,`var(--art-theme)`);function h(n){let{width:r}=rn(t,n),{text:i}=n.target.dataset;m.textContent=i;let a=m.clientWidth;r<=a/2?W(m,`left`,0):r>e.clientWidth-a/2?W(m,`left`,`${e.clientWidth-a}px`):W(m,`left`,`${r-a/2}px`)}function g(n,r){let{width:i,time:a}=r||rn(t,n);m.textContent=a||`00:00`;let o=m.clientWidth;i<=o/2?W(m,`left`,0):i>e.clientWidth-o/2?W(m,`left`,`${e.clientWidth-o}px`):W(m,`left`,`${i-o/2}px`)}function ee(){f.textContent=``;for(let e=0;e<r.highlight.length;e++){let n=r.highlight[e],i=Z(n.time,0,t.duration)/t.duration*100,a=`<span data-text="${n.text}" data-time="${n.time}" style="left: ${i}%"></span>`;U(f,a)}}function te(n,r,i){let o=n===`played`&&i&&w;n===`loaded`&&W(u,`width`,`${r*100}%`),n===`hover`&&(W(l,`width`,`${r*100}%`),q(i,f)?h(i):g(i),r===0?V(a,`art-progress-hover`):B(a,`art-progress-hover`)),n===`played`&&(W(d,`width`,`${r*100}%`),W(p,`left`,`${r*100}%`)),o&&(B(a,`art-progress-hover`),g(i,{width:e.clientWidth*r,time:Q(r*t.duration)}),clearTimeout(s),s=setTimeout(()=>{V(a,`art-progress-hover`)},500))}t.on(`setBar`,te),t.on(`video:loadedmetadata`,ee),t.constructor.USE_RAF?t.on(`raf`,()=>{t.emit(`setBar`,`played`,t.played),t.emit(`setBar`,`loaded`,t.loaded)}):(t.on(`video:timeupdate`,()=>{t.emit(`setBar`,`played`,t.played)}),t.on(`video:progress`,()=>{t.emit(`setBar`,`loaded`,t.loaded)}),t.on(`video:ended`,()=>{t.emit(`setBar`,`played`,1)})),t.emit(`setBar`,`loaded`,t.loaded||0),w||(i(o,`click`,e=>{e.target!==p&&an(t,e)}),i(o,`mousemove`,e=>{let{percentage:n}=rn(t,e);t.emit(`setBar`,`hover`,n,e)}),i(o,`mouseleave`,e=>{t.emit(`setBar`,`hover`,0,e)}),i(o,`mousedown`,e=>{c=e.button===0}),t.on(`document:mousemove`,e=>{if(c){let{second:n,percentage:r}=rn(t,e);t.emit(`setBar`,`played`,r,e),t.seek=n}}),t.on(`document:mouseup`,()=>{c&&(c=!1)}))}}}}function sn(e){return t=>({...e,tooltip:t.i18n.get(`Screenshot`),mounted:e=>{let{proxy:n,icons:r}=t;U(e,r.screenshot),n(e,`click`,()=>{t.screenshot()})}})}function cn(e){return t=>({...e,tooltip:t.i18n.get(`Show Setting`),mounted:e=>{let{proxy:n,icons:r,i18n:i}=t;U(e,r.setting),n(e,`click`,()=>{t.setting.toggle(),t.setting.resize()}),t.on(`setting`,t=>{K(e,i.get(t?`Hide Setting`:`Show Setting`))})}})}function ln(e){return t=>({...e,style:w?{fontSize:`12px`,padding:`0 5px`}:{cursor:`auto`,padding:`0 10px`},mounted:e=>{function n(){let n=`${Q(t.currentTime)} / ${Q(t.duration)}`;n!==e.textContent&&(e.textContent=n)}n();let r=[`video:loadedmetadata`,`video:timeupdate`,`video:progress`];for(let e=0;e<r.length;e++)t.on(r[e],n)}})}function un(e){return t=>({...e,mounted:e=>{let{proxy:n,icons:r}=t,i=U(e,r.volume),a=U(e,r.volumeClose),o=U(e,`<div class="art-volume-panel"></div>`),s=U(o,`<div class="art-volume-inner"></div>`),c=U(s,`<div class="art-volume-val"></div>`),l=U(s,`<div class="art-volume-slider"></div>`),u=U(U(l,`<div class="art-volume-handle"></div>`),`<div class="art-volume-loaded"></div>`),d=U(l,`<div class="art-volume-indicator"></div>`);function f(e){let{top:t,height:n}=Y(l);return 1-(e.clientY-t)/n}function p(){if(t.muted||t.volume===0)W(i,`display`,`none`),W(a,`display`,`flex`),W(d,`top`,`100%`),W(u,`top`,`100%`),c.textContent=0;else{let e=t.volume*100;W(i,`display`,`flex`),W(a,`display`,`none`),W(d,`top`,`${100-e}%`),W(u,`top`,`${100-e}%`),c.textContent=Math.floor(e)}}if(p(),t.on(`video:volumechange`,p),n(i,`click`,()=>{t.muted=!0}),n(a,`click`,()=>{t.muted=!1}),w)W(o,`display`,`none`);else{let e=!1;n(l,`mousedown`,n=>{e=n.button===0,t.volume=f(n)}),t.on(`document:mousemove`,n=>{e&&(t.muted=!1,t.volume=f(n))}),t.on(`document:mouseup`,()=>{e&&(e=!1)})}}})}function dn(e,t){let{constructor:n,template:{$player:r,$video:i}}=e;function a(t){q(t,r)?(e.isInput=t.target.tagName===`INPUT`,e.isFocus=!0,e.emit(`focus`,t)):(e.isInput=!1,e.isFocus=!1,e.emit(`blur`,t))}e.on(`document:click`,a),e.on(`document:contextmenu`,a);let o=[];t.proxy(i,`click`,t=>{let r=Date.now();o.push(r);let{MOBILE_CLICK_PLAY:i,DBCLICK_TIME:a,MOBILE_DBCLICK_PLAY:s,DBCLICK_FULLSCREEN:c}=n,l=o.filter(e=>r-e<=a);switch(l.length){case 1:e.emit(`click`,t),w?!e.isLock&&i&&e.toggle():e.toggle(),o=l;break;case 2:e.emit(`dblclick`,t),w?!e.isLock&&s&&e.toggle():c&&(e.fullscreen=!e.fullscreen),o=[];break;default:o=[]}})}function fn(e,t){return Math.atan2(t,e)*180/Math.PI}function pn(e,t,n,r){let i=t-r,a=n-e,o=0;if(Math.abs(a)<2&&Math.abs(i)<2)return o;let s=fn(a,i);return s>=-45&&s<45?o=4:s>=45&&s<135?o=1:s>=-135&&s<-45?o=2:(s>=135&&s<=180||s>=-180&&s<-135)&&(o=3),o}function mn(e,t){if(w&&!e.option.isLive){let{$video:n,$progress:r}=e.template,i=null,a=!1,o=0,s=0,c=0,l=t=>{if(t.touches.length===1&&!e.isLock){i===r&&an(e,t),a=!0;let{pageX:n,pageY:l}=t.touches[0];o=n,s=l,c=e.currentTime}},u=t=>{if(t.touches.length===1&&a&&e.duration){let{pageX:r,pageY:a}=t.touches[0],l=pn(o,s,r,a),u=[3,4].includes(l),d=[1,2].includes(l);if(u&&!e.isRotate||d&&e.isRotate){let l=Z((r-o)/e.width,-1,1),u=Z((a-s)/e.height,-1,1),d=e.isRotate?u:l,f=i===n?e.constructor.TOUCH_MOVE_RATIO:1,p=Z(c+e.duration*d*f,0,e.duration);e.seek=p,e.emit(`setBar`,`played`,Z(p/e.duration,0,1),t),e.notice.show=`${Q(p)} / ${Q(e.duration)}`}}};e.option.gesture&&(t.proxy(n,`touchstart`,e=>{i=n,l(e)}),t.proxy(n,`touchmove`,u)),t.proxy(r,`touchstart`,e=>{i=r,l(e)}),t.proxy(r,`touchmove`,u),e.on(`document:touchend`,()=>{a&&(o=0,s=0,c=0,a=!1,i=null)})}}function hn(e,t){let n=[`click`,`mouseup`,`keydown`,`touchend`,`touchmove`,`mousemove`,`pointerup`,`contextmenu`,`pointermove`,`visibilitychange`,`webkitfullscreenchange`],r=[`resize`,`scroll`,`orientationchange`],i=[];function a(a={}){for(let e=0;e<i.length;e++)t.remove(i[e]);i.length=0;let{$player:o}=e.template;n.forEach(n=>{let r=a.document||o.ownerDocument||document,s=t.proxy(r,n,t=>{e.emit(`document:${n}`,t)});i.push(s)}),r.forEach(n=>{let r=a.window||o.ownerDocument?.defaultView||window,s=t.proxy(r,n,t=>{e.emit(`window:${n}`,t)});i.push(s)})}a(),t.bindGlobalEvents=a}function gn(e,t){let{$player:n}=e.template;t.hover(n,t=>{B(n,`art-hover`),e.emit(`hover`,!0,t)},t=>{V(n,`art-hover`),e.emit(`hover`,!1,t)})}function _n(e,t){let{$player:n}=e.template;t.proxy(n,`mousemove`,t=>{e.emit(`mousemove`,t)})}function vn(e,t){let{option:n,constructor:r}=e;e.on(`resize`,()=>{let{aspectRatio:t,notice:r}=e;e.state===`standard`&&n.autoSize&&e.autoSize(),e.aspectRatio=t,r.show=``});let i=Ut(()=>e.emit(`resize`),r.RESIZE_TIME);e.on(`window:orientationchange`,()=>i()),e.on(`window:resize`,()=>i()),screen&&screen.orientation&&screen.orientation.onchange&&t.proxy(screen.orientation,`change`,()=>i())}function yn(e){if(e.constructor.USE_RAF){let t=null;(function n(){e.playing&&e.emit(`raf`),e.isDestroy||(t=requestAnimationFrame(n))})(),e.on(`destroy`,()=>{cancelAnimationFrame(t)})}}function bn(e){let{option:t,constructor:n,template:{$container:r}}=e,i=Wt(()=>{e.emit(`view`,wt(r,n.SCROLL_GAP))},n.SCROLL_TIME);e.on(`window:scroll`,()=>i()),e.on(`view`,n=>{t.autoMini&&(e.mini=!n)})}function xn(e){let{i18n:t,notice:n,proxy:r,template:{$video:i}}=e,a=!0;window.WebKitPlaybackTargetAvailabilityEvent&&i.webkitShowPlaybackTargetPicker?r(i,`webkitplaybacktargetavailabilitychanged`,e=>{switch(e.availability){case`available`:a=!0;break;case`not-available`:a=!1}}):a=!1,E(e,`airplay`,{value(){a?(i.webkitShowPlaybackTargetPicker(),e.emit(`airplay`)):n.show=t.get(`AirPlay Not Available`)}})}function Sn(e){let{i18n:t,notice:n,template:{$video:r,$player:i}}=e;E(e,`aspectRatio`,{get(){return i.dataset.aspectRatio||`default`},set(a){if(a||(a=`default`),a==="default")W(r,`width`,null),W(r,`height`,null),W(r,`margin`,null),delete i.dataset.aspectRatio;else{let e=a.split(`:`).map(Number),{clientWidth:t,clientHeight:n}=i,o=t/n,s=e[0]/e[1];o>s?(W(r,`width`,`${s*n}px`),W(r,`height`,`100%`),W(r,`margin`,`0 auto`)):(W(r,`width`,`100%`),W(r,`height`,`${t/s}px`),W(r,`margin`,`auto 0`)),i.dataset.aspectRatio=a}n.show=`${t.get(`Aspect Ratio`)}: ${a==="default"?t.get(`Default`):a}`,e.emit(`aspectRatio`,a)}})}function Cn(e){let{template:{$video:t}}=e;E(e,`attr`,{value(e,n){if(n===void 0)return t[e];t[e]=n}})}function wn(e){let{template:{$container:t,$video:n}}=e;E(e,`autoHeight`,{value(){let{clientWidth:r}=t,{videoHeight:i,videoWidth:a}=n,o=r/a*i;W(t,`height`,`${o}px`),e.emit(`autoHeight`,o)}})}function Tn(e){let{$container:t,$player:n,$video:r}=e.template;E(e,`autoSize`,{value(){let{videoWidth:i,videoHeight:a}=r,{width:o,height:s}=Y(t),c=i/a;if(o/s>c){let e=s*c/o*100;W(n,`width`,`${e}%`),W(n,`height`,`100%`)}else{let e=o/c/s*100;W(n,`width`,`100%`),W(n,`height`,`${e}%`)}e.emit(`autoSize`,{width:e.width,height:e.height})}})}function En(e){let{$player:t}=e.template;E(e,`cssVar`,{value(e,n){return n?t.style.setProperty(e,n):getComputedStyle(t).getPropertyValue(e)}})}function Dn(e){let{$video:t}=e.template;E(e,`currentTime`,{get:()=>t.currentTime||0,set:n=>{n=Number.parseFloat(n),!Number.isNaN(n)&&(t.currentTime=Z(n,0,e.duration))}})}function On(e){E(e,`duration`,{get:()=>{let{duration:t}=e.template.$video;return t===1/0?0:t||0}})}function kn(e){let{i18n:t,notice:n,option:r,constructor:i,proxy:a,template:{$player:o,$video:s,$poster:c}}=e,l=0;for(let t=0;t<b.events.length;t++)a(s,b.events[t],t=>{e.emit(`video:${t.type}`,t)});e.on(`video:canplay`,()=>{l=0,e.loading.show=!1}),e.once(`video:canplay`,()=>{e.loading.show=!1,e.controls.show=!0,e.mask.show=!0,e.isReady=!0,e.emit(`ready`)}),e.on(`video:ended`,()=>{r.loop?(e.seek=0,e.play(),e.controls.show=!1,e.mask.show=!1):(e.controls.show=!0,e.mask.show=!0)}),e.on(`video:error`,async a=>{l<i.RECONNECT_TIME_MAX?(await $(i.RECONNECT_SLEEP_TIME),l+=1,e.url=r.url,n.show=`${t.get(`Reconnect`)}: ${l}`,e.emit(`error`,a,l)):(e.mask.show=!0,e.loading.show=!1,e.controls.show=!0,B(o,`art-error`),await $(i.RECONNECT_SLEEP_TIME),n.show=t.get(`Video Load Failed`))}),e.on(`video:loadedmetadata`,()=>{e.emit(`resize`),w&&(e.loading.show=!1,e.controls.show=!0,e.mask.show=!0)}),e.on(`video:loadstart`,()=>{e.loading.show=!0,e.mask.show=!1,e.controls.show=!0}),e.on(`video:pause`,()=>{e.controls.show=!0,e.mask.show=!0}),e.on(`video:play`,()=>{e.mask.show=!1,W(c,`display`,`none`)}),e.on(`video:playing`,()=>{e.mask.show=!1}),e.on(`video:progress`,()=>{e.playing&&(e.loading.show=!1)}),e.on(`video:seeked`,()=>{e.loading.show=!1,e.mask.show=!0}),e.on(`video:seeking`,()=>{e.loading.show=!0,e.mask.show=!1}),e.on(`video:timeupdate`,()=>{e.mask.show=!1}),e.on(`video:waiting`,()=>{e.loading.show=!0,e.mask.show=!1})}function An(e){let{template:{$player:t},i18n:n,notice:r}=e;E(e,`flip`,{get(){return t.dataset.flip||`normal`},set(i){i||(i=`normal`),i===`normal`?delete t.dataset.flip:t.dataset.flip=i,r.show=`${n.get(`Video Flip`)}: ${n.get(Nt(i))}`,e.emit(`flip`,i)}})}function jn(e){let{i18n:t,notice:n,template:{$video:r,$player:i}}=e,a=e=>{F.on(`change`,()=>{e.emit(`fullscreen`,F.isFullscreen),F.isFullscreen?(e.state=`fullscreen`,B(i,`art-fullscreen`)):V(i,`art-fullscreen`),e.emit(`resize`)}),F.on(`error`,t=>{e.emit(`fullscreenError`,t)}),E(e,`fullscreen`,{get(){return F.isFullscreen},async set(e){e?await F.request(i):await F.exit()}})},o=e=>{e.on(`document:webkitfullscreenchange`,()=>{e.emit(`fullscreen`,e.fullscreen),e.emit(`resize`)}),E(e,`fullscreen`,{get(){return document.fullscreenElement===r},set(t){t?(e.state=`fullscreen`,r.webkitEnterFullscreen()):r.webkitExitFullscreen()}})};e.once(`video:loadedmetadata`,()=>{F.isEnabled?a(e):r.webkitSupportsFullscreen?o(e):E(e,`fullscreen`,{get(){return!1},set(){n.show=t.get(`Fullscreen Not Supported`)}}),E(e,`fullscreen`,Lt(e,`fullscreen`))})}function Mn(e){let{constructor:t,template:{$container:n,$player:r}}=e,i=``;E(e,`fullscreenWeb`,{get(){return H(r,`art-fullscreen-web`)},set(a){a?(i=r.style.cssText,t.FULLSCREEN_WEB_IN_BODY&&U(document.body,r),e.state=`fullscreenWeb`,W(r,`width`,`100%`),W(r,`height`,`100%`),B(r,`art-fullscreen-web`),e.emit(`fullscreenWeb`,!0)):(t.FULLSCREEN_WEB_IN_BODY&&U(n,r),i&&(r.style.cssText=i,i=``),V(r,`art-fullscreen-web`),e.emit(`fullscreenWeb`,!1)),e.emit(`resize`)}})}function Nn(e){let{$video:t}=e.template;E(e,`loaded`,{get:()=>e.loadedTime/t.duration}),E(e,`loadedTime`,{get:()=>t.buffered.length?t.buffered.end(t.buffered.length-1):0})}function Pn(e){let{icons:t,proxy:n,storage:r,template:{$player:i,$video:a}}=e,o=!1,s=0,c=0;function l(){let{$mini:t}=e.template;t&&(V(i,`art-mini`),W(t,`display`,`none`),i.prepend(a),e.emit(`mini`,!1))}function u(t,n){e.playing?(W(t,`display`,`none`),W(n,`display`,`flex`)):(W(t,`display`,`flex`),W(n,`display`,`none`))}function d(){let{$mini:i}=e.template;if(i)return U(i,a),W(i,`display`,`flex`);{let i=J(`div`);B(i,`art-mini-popup`),U(document.body,i),e.template.$mini=i,U(i,a);let d=U(i,`<div class="art-mini-close"></div>`);U(d,t.close),n(d,`click`,l);let f=U(i,`<div class="art-mini-state"></div>`),p=U(f,t.play),m=U(f,t.pause);return n(p,`click`,()=>e.play()),n(m,`click`,()=>e.pause()),u(p,m),e.on(`video:playing`,()=>u(p,m)),e.on(`video:pause`,()=>u(p,m)),e.on(`video:timeupdate`,()=>u(p,m)),n(i,`mousedown`,e=>{o=e.button===0,s=e.pageX,c=e.pageY}),e.on(`document:mousemove`,e=>{if(o){B(i,`art-mini-dragging`);let t=e.pageX-s,n=e.pageY-c;W(i,`transform`,`translate(${t}px, ${n}px)`)}}),e.on(`document:mouseup`,()=>{if(o){o=!1,V(i,`art-mini-dragging`);let e=Y(i);r.set(`left`,e.left),r.set(`top`,e.top),W(i,`left`,`${e.left}px`),W(i,`top`,`${e.top}px`),W(i,`transform`,null)}}),i}}function f(){let{$mini:t}=e.template,n=Y(t),i=window.innerHeight-n.height-50,a=window.innerWidth-n.width-50;r.set(`top`,i),r.set(`left`,a),W(t,`top`,`${i}px`),W(t,`left`,`${a}px`)}E(e,`mini`,{get(){return H(i,`art-mini`)},set(t){if(t){e.state=`mini`,B(i,`art-mini`);let t=d(),n=r.get(`top`),a=r.get(`left`);typeof n==`number`&&typeof a==`number`?(W(t,`top`,`${n}px`),W(t,`left`,`${a}px`),wt(t)||f()):f(),e.emit(`mini`,!0)}else l()}})}function Fn(e){let{option:t,storage:n,template:{$video:r,$poster:i}}=e;for(let n in t.moreVideoAttr)e.attr(n,t.moreVideoAttr[n]);t.muted&&(e.muted=t.muted),t.volume&&(r.volume=Z(t.volume,0,1));let a=n.get(`volume`);typeof a==`number`&&(r.volume=Z(a,0,1)),t.poster&&W(i,`backgroundImage`,`url(${t.poster})`),t.autoplay&&(r.autoplay=t.autoplay),t.playsInline&&(r.playsInline=!0,r[`webkit-playsinline`]=!0),t.theme&&(t.cssVar[`--art-theme`]=t.theme);for(let n in t.cssVar)e.cssVar(n,t.cssVar[n]);e.url=t.url}function In(e){let{template:{$video:t},i18n:n,notice:r}=e;E(e,`pause`,{value(){let i=t.pause();return r.show=n.get(`Pause`),e.emit(`pause`),i}})}function Ln(e){let{template:{$video:t},proxy:n,notice:r}=e;t.disablePictureInPicture=!1,E(e,`pip`,{get(){return document.pictureInPictureElement},set(n){n?(e.state=`pip`,t.requestPictureInPicture().catch(e=>{r.show=e})):document.exitPictureInPicture().catch(e=>{r.show=e})}}),n(t,`enterpictureinpicture`,()=>{e.emit(`pip`,!0)}),n(t,`leavepictureinpicture`,()=>{e.emit(`pip`,!1)})}function Rn(e){let{$video:t}=e.template;t.webkitSetPresentationMode(`inline`),E(e,`pip`,{get(){return t.webkitPresentationMode===`picture-in-picture`},set(n){n?(e.state=`pip`,t.webkitSetPresentationMode(`picture-in-picture`),e.emit(`pip`,!0)):(t.webkitSetPresentationMode(`inline`),e.emit(`pip`,!1))}})}function zn(e){let{i18n:t,notice:n,template:{$video:r}}=e;document.pictureInPictureEnabled?Ln(e):r.webkitSupportsPresentationMode?Rn(e):E(e,`pip`,{get(){return!1},set(){n.show=t.get(`PIP Not Supported`)}})}function Bn(e){let{template:{$video:t},i18n:n,notice:r}=e;E(e,`playbackRate`,{get(){return t.playbackRate},set(i){if(i){if(i===t.playbackRate)return;t.playbackRate=i,r.show=`${n.get(`Rate`)}: ${i===1?n.get(`Normal`):`${i}x`}`}else e.playbackRate=1}})}function Vn(e){E(e,`played`,{get:()=>e.currentTime/e.duration})}function Hn(e){let{$video:t}=e.template;E(e,`playing`,{get:()=>typeof t.playing==`boolean`?t.playing:t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2})}function Un(e){let{i18n:t,notice:n,option:r,constructor:{instances:i},template:{$video:a}}=e;E(e,`play`,{async value(){let o=await a.play();if(n.show=t.get(`Play`),e.emit(`play`),r.mutex)for(let t=0;t<i.length;t++){let n=i[t];n!==e&&n.pause()}return o}})}function Wn(e){let{template:{$poster:t}}=e;E(e,`poster`,{get:()=>{try{return t.style.backgroundImage.match(/"(.*)"/)[1]}catch{return``}},set(e){W(t,`backgroundImage`,`url(${e})`)}})}function Gn(e){E(e,`quality`,{set(t){let{controls:n,notice:r,i18n:i}=e,a=t.find(e=>e.default)||t[0];n.update({name:`quality`,position:`right`,index:10,style:{marginRight:`10px`},html:a?.html||``,selector:t,async onSelect(t){return await e.switchQuality(t.url),r.show=`${i.get(`Switch Video`)}: ${t.html}`,t.html}})}})}function Kn(e){E(e,`rect`,{get:()=>Y(e.template.$player)});let t=[`bottom`,`height`,`left`,`right`,`top`,`width`];for(let n=0;n<t.length;n++){let r=t[n];E(e,r,{get:()=>e.rect[r]})}E(e,`x`,{get:()=>e.left+window.pageXOffset}),E(e,`y`,{get:()=>e.top+window.pageYOffset})}function qn(e){let{notice:t,template:{$video:n}}=e,r=J(`canvas`);E(e,`getDataURL`,{value:()=>new Promise((e,i)=>{try{r.width=n.videoWidth,r.height=n.videoHeight,r.getContext(`2d`).drawImage(n,0,0),e(r.toDataURL(`image/png`))}catch(e){t.show=e,i(e)}})}),E(e,`getBlobUrl`,{value:()=>new Promise((e,i)=>{try{r.width=n.videoWidth,r.height=n.videoHeight,r.getContext(`2d`).drawImage(n,0,0),r.toBlob(t=>{e(URL.createObjectURL(t))})}catch(e){t.show=e,i(e)}})}),E(e,`screenshot`,{value:async t=>{let r=await e.getDataURL();return Mt(r,`${t||`artplayer_${Q(n.currentTime)}`}.png`),e.emit(`screenshot`,r),r}})}function Jn(e){let{notice:t}=e;E(e,`seek`,{set(n){e.currentTime=n,e.duration&&(t.show=`${Q(e.currentTime)} / ${Q(e.duration)}`),e.emit(`seek`,e.currentTime,n)}}),E(e,`forward`,{set(t){e.seek=e.currentTime+t}}),E(e,`backward`,{set(t){e.seek=e.currentTime-t}})}function Yn(e){let t=[`mini`,`pip`,`fullscreen`,`fullscreenWeb`];E(e,`state`,{get:()=>t.find(t=>e[t])||`standard`,set(n){for(let r=0;r<t.length;r++){let i=t[r];i!==n&&e[i]&&(e[i]=!1)}}})}function Xn(e){let{notice:t,i18n:n,template:r}=e;E(e,`subtitleOffset`,{get(){return r.$track?.offset||0},set(i){let{cues:a}=e.subtitle;if(!r.$track||a.length===0)return;let o=Z(i,-10,10);r.$track.offset=o;for(let t=0;t<a.length;t++){let n=a[t];n.originalStartTime=n.originalStartTime??n.startTime,n.originalEndTime=n.originalEndTime??n.endTime,n.startTime=Z(n.originalStartTime+o,0,e.duration),n.endTime=Z(n.originalEndTime+o,0,e.duration)}e.subtitle.update(),t.show=`${n.get(`Subtitle Offset`)}: ${i}s`,e.emit(`subtitleOffset`,i)}})}function Zn(e){function t(t,n){return new Promise((r,i)=>{if(t===e.url){r();return}let{playing:a,aspectRatio:o,playbackRate:s}=e;e.pause(),e.url=t,e.notice.show=``;let c={};c.error=t=>{e.off(`video:canplay`,c.canplay),e.off(`video:loadedmetadata`,c.metadata),i(t)},c.metadata=()=>{e.currentTime=n},c.canplay=async()=>{e.off(`video:error`,c.error),e.playbackRate=s,e.aspectRatio=o,a&&await e.play(),e.notice.show=``,r()},e.once(`video:error`,c.error),e.once(`video:loadedmetadata`,c.metadata),e.once(`video:canplay`,c.canplay)})}E(e,`switchQuality`,{value:n=>t(n,e.currentTime)}),E(e,`switchUrl`,{value:e=>t(e,0)}),E(e,`switch`,{set:e.switchUrl})}function Qn(e){E(e,`theme`,{get(){return e.cssVar(`--art-theme`)},set(t){e.cssVar(`--art-theme`,t)}})}function $n(e){let{option:t,template:{$progress:n,$video:r}}=e,i=null,a=!1,o=null;function s(){clearTimeout(i),i=null,a=!1,o=null}function c(i){let a=e.controls?.thumbnails;if(!a)return;let{number:s,column:c,width:l,height:u,scale:d}=t.thumbnails,f=l*d||o.naturalWidth/c,p=u*d||f/(r.videoWidth/r.videoHeight),m=n.clientWidth/s,h=Math.floor(i/m),g=Math.ceil(h/c)-1,ee=h%c||c-1;W(a,`backgroundImage`,`url(${o.src})`),W(a,`height`,`${p}px`),W(a,`width`,`${f}px`),W(a,`backgroundPosition`,`-${ee*f}px -${g*p}px`),i<=f/2?W(a,`left`,0):i>n.clientWidth-f/2?W(a,`left`,`${n.clientWidth-f}px`):W(a,`left`,`${i-f/2}px`)}e.on(`setBar`,async(r,i,s)=>{let l=e.controls?.thumbnails,{url:u,scale:d}=t.thumbnails;if(l&&u&&(r===`hover`||r===`played`&&s&&w)){if(!o&&!a&&(a=!0,o=await kt(u,d),a=!1),!o)return;let e=n.clientWidth*i;e>0&&e<n.clientWidth&&c(e)}}),E(e,`thumbnails`,{get(){return e.option.thumbnails},set(t){t.url&&!e.option.isLive&&(e.option.thumbnails=t,s())}})}function er(e){E(e,`toggle`,{value(){return e.playing?e.pause():e.play()}})}function tr(e){E(e,`type`,{get(){return e.option.type},set(t){e.option.type=t}})}function nr(e){let{option:t,template:{$video:n}}=e;E(e,`url`,{get(){return n.src},async set(r){if(r){let i=e.url,a=t.type||jt(r),o=t.customType[a];a&&o?(await $(),e.loading.show=!0,o.call(e,n,r,e)):(URL.revokeObjectURL(i),n.src=r),i!==e.url&&(e.option.url=r,e.isReady&&i&&e.once(`video:canplay`,()=>{e.emit(`restart`,r)}))}else await $(),e.loading.show=!0}})}function rr(e){let{template:{$video:t},i18n:n,notice:r,storage:i}=e;E(e,`volume`,{get:()=>t.volume||0,set:e=>{t.volume=Z(e,0,1),r.show=`${n.get(`Volume`)}: ${Number.parseInt(t.volume*100,10)}`,t.volume!==0&&i.set(`volume`,t.volume)}}),E(e,`muted`,{get:()=>t.muted,set:n=>{t.muted=n,e.emit(`muted`,n)}})}function ir(e){let{notice:t,constructor:n,template:{$player:r,$video:i}}=e,a=`art-auto-orientation`,o=`art-auto-orientation-fullscreen`,s=!1;function c(){let t=document.documentElement.clientWidth,n=document.documentElement.clientHeight;W(r,`width`,`${n}px`),W(r,`height`,`${t}px`),W(r,`transform-origin`,`0 0`),W(r,`transform`,`rotate(90deg) translate(0, -${t}px)`),B(r,a),e.isRotate=!0,e.emit(`resize`)}function l(){W(r,`width`,``),W(r,`height`,``),W(r,`transform-origin`,``),W(r,`transform`,``),V(r,a),e.isRotate=!1,e.emit(`resize`)}function u(){let{videoWidth:e,videoHeight:t}=i,n=document.documentElement.clientWidth,r=document.documentElement.clientHeight;return e>t&&n<r||e<t&&n>r}return e.on(`fullscreenWeb`,t=>{if(t){if(u()){let t=Number(n.AUTO_ORIENTATION_TIME??0);setTimeout(()=>{e.fullscreenWeb&&!H(r,a)&&c()},t)}}else H(r,a)&&l()}),e.on(`fullscreen`,async e=>{let n=!!screen?.orientation?.lock;if(e){if(n&&u())try{let e=screen.orientation.type.startsWith(`portrait`)?`landscape`:`portrait`;await screen.orientation.lock(e),s=!0,B(r,o)}catch(e){s=!1,t.show=e}}else if(H(r,o)&&V(r,o),n&&s){try{screen.orientation.unlock()}catch{}s=!1}}),{name:`autoOrientation`,get state(){return H(r,a)}}}function ar(e){let{i18n:t,icons:n,storage:r,constructor:i,proxy:a,template:{$poster:o}}=e,s=e.layers.add({name:`auto-playback`,html:`
23
23
  <div class="art-auto-playback-close"></div>
24
24
  <div class="art-auto-playback-last"></div>
25
25
  <div class="art-auto-playback-jump"></div>