@netless/app-slide 0.0.34 → 0.0.35

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.
package/dist/main.iife.js CHANGED
@@ -6076,5 +6076,5 @@ void main(void){
6076
6076
  `,this.log+=JSON.stringify(e,null,2),this.log+=`
6077
6077
 
6078
6078
  `}},n.prototype.setMainSeqStep=function(e,r){var s;(s=this.player)===null||s===void 0||s.setMainSeqStep(e,r)},n.prototype.setInteractive=function(e){var r;this.interactive=e,(r=this.player)===null||r===void 0||r.setInteractive(e)},n.prototype.pause=function(){var e;(e=this.player)===null||e===void 0||e.pause()},n.prototype.resume=function(){var e;(e=this.player)===null||e===void 0||e.resume()},n.prototype.getPreviewImage=function(e){var r;return Ma(this,void 0,void 0,function(){return Aa(this,function(s){return[2,((r=this.player)===null||r===void 0?void 0:r.getPreviewImage(e))||null]})})},n.prototype.frozen=function(){var e;return Ma(this,void 0,void 0,function(){var r,s,u,h=this;return Aa(this,function(f){switch(f.label){case 0:return this.isFrowning?[2,yd(function(){return!h.isFrowning},6e4)]:this.view&&this.player?(this.isFrowning=!0,[4,this.player.clock.waitUntil(function(){return!h.isLoading},6e4)]):[3,2];case 1:for(s in f.sent(),r=this.player.getSnapshot()||"",this.cacheImage.src=r,this.cacheImage.style.position="absolute",this.cacheImage.style.zIndex="100",this.frame.appendChild(this.cacheImage),this.player.destroy(),(e=this.playerController)===null||e===void 0||e.destroy(),this.player=void 0,this.__slideState.mediaState)u=this.__slideState.mediaState[s],this.__slideState.mediaState[s]=Qu(Qu({},u),{frozenTime:this.timestamp()});this.isFrowning=!1,f.label=2;case 2:return[2]}})})},n.prototype.release=function(){var e;return Ma(this,void 0,void 0,function(){var r,s,u,h,f=this;return Aa(this,function(y){switch(y.label){case 0:if(this.isReleasing)return[2,yd(function(){return!f.isReleasing},6e4)];for(s in this.isReleasing=!0,this.initPlayer(this.config),this.player.view&&(this.player.view.style.visibility="hidden"),r=this.__slideState,this.__slideState=Object(X.cloneDeep)(vm),r.mediaState)(u=r.mediaState[s]).type==="play"&&(h=Math.max((e=u.frozenTime)!==null&&e!==void 0?e:0,u.time),u.time=this.timestamp()-(h-u.time),u.frozenTime=void 0);return[4,this.setSlideState(r)];case 1:return y.sent(),[4,this.player.clock.delay(333)];case 2:y.sent(),this.player.view&&(this.player.view.style.visibility="visible");try{this.frame.removeChild(this.cacheImage)}catch{}return this.isReleasing=!1,[2]}})})},n.prototype.destroy=function(){var e,r,s,u;this.playerController&&this.playerController.destroy(),this.frameResizeObserver.disconnect(),(e=this.player)===null||e===void 0||e.removeAllListeners(),(r=this.player)===null||r===void 0||r.destroy(),(s=this.player)===null||s===void 0||s.removeAllListeners(),window.removeEventListener("__slide_log__",this.handleLogDownload),window.removeEventListener("__slide_state__",this.handleSlideStateLog),window.removeEventListener("__slide_ref__",this.handleSlideRef),window.clearInterval(this.persistLogId),th&&th.removeItem(this.logId).catch(function(){});try{((u=this.player)===null||u===void 0?void 0:u.view)&&this.anchor.removeChild(this.player.view)}catch{}},n}(J.a)}]);function kg(F,w,S){return Math.min(Math.max(F,w),S)}function Ug(F){return typeof F=="object"&&F!==null}function xf(F){return JSON.parse(JSON.stringify(F))}var Gg={exports:{}},jv={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Hg={exports:{}},Vv=function(w){return!w||typeof w=="string"?!1:w instanceof Array||Array.isArray(w)||w.length>=0&&(w.splice instanceof Function||Object.getOwnPropertyDescriptor(w,w.length-1)&&w.constructor.name!=="String")},Wv=Vv,Xv=Array.prototype.concat,qv=Array.prototype.slice,zg=Hg.exports=function(w){for(var S=[],W=0,pt=w.length;W<pt;W++){var lt=w[W];Wv(lt)?S=Xv.call(S,qv.call(lt)):S.push(lt)}return S};zg.wrap=function(F){return function(){return F(zg(arguments))}};var bf=jv,wf=Hg.exports,jg=Object.hasOwnProperty,Vg={};for(var og in bf)jg.call(bf,og)&&(Vg[bf[og]]=og);var Pa=Gg.exports={to:{},get:{}};Pa.get=function(F){var w=F.substring(0,3).toLowerCase(),S,W;switch(w){case"hsl":S=Pa.get.hsl(F),W="hsl";break;case"hwb":S=Pa.get.hwb(F),W="hwb";break;default:S=Pa.get.rgb(F),W="rgb";break}return S?{model:W,value:S}:null},Pa.get.rgb=function(F){if(!F)return null;var w=/^#([a-f0-9]{3,4})$/i,S=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,W=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,pt=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,lt=/^(\w+)$/,J=[0,0,0,1],X,ct,tt;if(X=F.match(S)){for(tt=X[2],X=X[1],ct=0;ct<3;ct++){var $=ct*2;J[ct]=parseInt(X.slice($,$+2),16)}tt&&(J[3]=parseInt(tt,16)/255)}else if(X=F.match(w)){for(X=X[1],tt=X[3],ct=0;ct<3;ct++)J[ct]=parseInt(X[ct]+X[ct],16);tt&&(J[3]=parseInt(tt+tt,16)/255)}else if(X=F.match(W)){for(ct=0;ct<3;ct++)J[ct]=parseInt(X[ct+1],0);X[4]&&(X[5]?J[3]=parseFloat(X[4])*.01:J[3]=parseFloat(X[4]))}else if(X=F.match(pt)){for(ct=0;ct<3;ct++)J[ct]=Math.round(parseFloat(X[ct+1])*2.55);X[4]&&(X[5]?J[3]=parseFloat(X[4])*.01:J[3]=parseFloat(X[4]))}else return(X=F.match(lt))?X[1]==="transparent"?[0,0,0,0]:jg.call(bf,X[1])?(J=bf[X[1]],J[3]=1,J):null:null;for(ct=0;ct<3;ct++)J[ct]=pc(J[ct],0,255);return J[3]=pc(J[3],0,1),J},Pa.get.hsl=function(F){if(!F)return null;var w=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?[\d\.]+)\s*)?\)$/,S=F.match(w);if(S){var W=parseFloat(S[4]),pt=(parseFloat(S[1])%360+360)%360,lt=pc(parseFloat(S[2]),0,100),J=pc(parseFloat(S[3]),0,100),X=pc(isNaN(W)?1:W,0,1);return[pt,lt,J,X]}return null},Pa.get.hwb=function(F){if(!F)return null;var w=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/,S=F.match(w);if(S){var W=parseFloat(S[4]),pt=(parseFloat(S[1])%360+360)%360,lt=pc(parseFloat(S[2]),0,100),J=pc(parseFloat(S[3]),0,100),X=pc(isNaN(W)?1:W,0,1);return[pt,lt,J,X]}return null},Pa.to.hex=function(){var F=wf(arguments);return"#"+Sm(F[0])+Sm(F[1])+Sm(F[2])+(F[3]<1?Sm(Math.round(F[3]*255)):"")},Pa.to.rgb=function(){var F=wf(arguments);return F.length<4||F[3]===1?"rgb("+Math.round(F[0])+", "+Math.round(F[1])+", "+Math.round(F[2])+")":"rgba("+Math.round(F[0])+", "+Math.round(F[1])+", "+Math.round(F[2])+", "+F[3]+")"},Pa.to.rgb.percent=function(){var F=wf(arguments),w=Math.round(F[0]/255*100),S=Math.round(F[1]/255*100),W=Math.round(F[2]/255*100);return F.length<4||F[3]===1?"rgb("+w+"%, "+S+"%, "+W+"%)":"rgba("+w+"%, "+S+"%, "+W+"%, "+F[3]+")"},Pa.to.hsl=function(){var F=wf(arguments);return F.length<4||F[3]===1?"hsl("+F[0]+", "+F[1]+"%, "+F[2]+"%)":"hsla("+F[0]+", "+F[1]+"%, "+F[2]+"%, "+F[3]+")"},Pa.to.hwb=function(){var F=wf(arguments),w="";return F.length>=4&&F[3]!==1&&(w=", "+F[3]),"hwb("+F[0]+", "+F[1]+"%, "+F[2]+"%"+w+")"},Pa.to.keyword=function(F){return Vg[F.slice(0,3)]};function pc(F,w,S){return Math.min(Math.max(w,F),S)}function Sm(F){var w=Math.round(F).toString(16).toUpperCase();return w.length<2?"0"+w:w}var Yv=Gg.exports;class Zv{constructor(w){this.enable=w,this.apps={},this.level="debug",this._onMessage=S=>{Ug(S.data)&&(typeof S.data.slide=="boolean"?this.enable=S.data.slide:S.data.slide==="__instance"&&console.log(this))},window.addEventListener("message",this._onMessage)}log(...w){this.enable&&console.log(...w)}verbose(...w){this.enable&&this.level==="verbose"&&console.log(...w)}dispose(w){this.enable=!1,delete this.apps[w],window.removeEventListener("message",this._onMessage)}}const fu=new Zv(!1),Zo=fu.log.bind(fu),Jv=fu.verbose.bind(fu);function Wg(F){try{const w=window.getComputedStyle(F).backgroundColor;if(w!=="rgba(0, 0, 0, 0)"&&w!=="transparent")return w;if(F.parentElement)return Wg(F.parentElement)}catch{}return"#ffffff"}function $v(F){const w=Yv.get(F);if(w&&w.model==="rgb"){const S=w.value,pt=(((Math.round(S[0])&255)<<16)+((Math.round(S[1])&255)<<8)+(Math.round(S[2])&255)).toString(16);return"#"+"000000".substring(pt.length)+pt}else return F}let Tm="";function Xg(F){return Tm||(Tm=$v(Wg(F)),Zo("[Slide] guess bg color",Tm)),Tm}function qg(F){const{width:w,height:S,slideCount:W,slideState:pt}=F,{taskId:lt,url:J}=pt,X=[];for(let ct=1;ct<=W;++ct)X.push({width:w,height:S,thumbnail:`${J}/${lt}/preview/${ct}.png`,src:"ppt"});return X}function Kv(F,w,S,W){var X;const pt=S.slideState.currentSlideIndex;if(!(pt>0)||!w.getIsWritable())return;const lt=[W,pt].join("/");if(F.scenePathType(lt)!=="page"){F.removeScenes(W);const ct=S.slideCount,tt=[];for(let $=1;$<=ct;++$)tt.push({name:`${$}`});F.putScenes(W,tt)}let J;w.getBox().focus?J=F.state.sceneState.scenePath:J=((X=w.getView())==null?void 0:X.focusScenePath)||"",J!==lt&&w.setScenePath(lt)}const sg="https://convertcdn.netless.link/dynamicConvert",Qv=40,ag={taskId:"",url:"",state:null};class t0{constructor({context:w,anchor:S,onPageChanged:W,onTransitionStart:pt,onTransitionEnd:lt,onError:J}){this.sideEffect=new wm,this.ready=!1,this.readyPromise=new Promise(X=>{this.resolveReady=()=>setTimeout(()=>{this.ready=!0,X()},1e3)}),this.onSyncDispatch=X=>{if(this.context.getIsWritable()&&this.room){const ct={type:ao.SLIDE_EVENTS.syncDispatch,payload:X};Zo("[Slide] dispatch",X),this.room.dispatchMagixEvent(this.channel,ct)}},this.magixEventListener=X=>{if(X.event===this.channel&&Ug(X.payload)){const{type:ct,payload:tt}=X.payload;ct===ao.SLIDE_EVENTS.syncDispatch&&(this.syncStateOnce(),Zo("[Slide] receive",tt),this.syncStateOnceFlag||this.slide.emit(ao.SLIDE_EVENTS.syncReceive,tt))}},this.onStateChange=X=>{this.context.getIsWritable()&&(Jv("[Slide] state change",JSON.stringify(X,null,2)),this.context.updateAttributes(["state"],X))},this.onSeeked=()=>{const X=this.context.getAttributes().state;X&&this.slide.setSlideState(xf(X))},this.pollCount=0,this.pollReadyState=()=>{this.ready?this._toFreeze===1?this.freeze():this._toFreeze===-1&&this.unfreeze():this.pollCount<Qv?(this.pollCount++,setTimeout(this.pollReadyState,500)):(this.pollCount=0,Zo("[Slide] renderSlide (retry after timeout)",1),this.slide.renderSlide(1))},this._pageCount=0,this.destroyed=!1,this.timestamp=()=>this.room&&this.room.calibrationTimestamp?this.room.calibrationTimestamp:this.player?this.player.beginTimestamp+this.player.progressTime:Date.now(),this.isFrozen=!1,this._toFreeze=0,this.freezePromise=null,this.freeze=()=>{this.ready?(Zo("[Slide] freeze",this.context.appId),this.freezePromise?this._toFreeze=1:this.isFrozen||(this._toFreeze=0,this.freezePromise=this.slide.frozen().then(this.afterFreeze.bind(this,1)))):this._toFreeze=1},this.unfreeze=async()=>{this.ready?(Zo("[Slide] unfreeze",this.context.appId),this.freezePromise?this._toFreeze=-1:this.isFrozen&&(this._toFreeze=0,this.freezePromise=this.slide.release().then(this.afterFreeze.bind(this,-1)))):this._toFreeze=-1},this.onPageChanged=W,this.onTransitionStart=pt,this.onTransitionEnd=lt,this.onError=J,this.context=w,this.channel=`channel-${w.appId}`,this.room=w.getRoom(),this.player=this.room?void 0:w.getDisplayer(),this.slide=this.createSlide(S),this.syncStateOnceFlag=!this.context.isAddApp,this.initialize()}jumpToPage(w){this.ready&&(w=kg(w,1,this.pageCount),this.slide.renderSlide(w))}initialize(){this.registerEventListeners(),this.kickStart()}kickStart(){const{context:w,slide:S}=this,{taskId:W,url:pt,state:lt}=_p(_p({},ag),this.context.getAttributes());S.setResource(W,pt||sg),lt?(Zo("[Slide] init with state",xf(lt)),this.syncStateOnceFlag=!1,S.setSlideState(xf(lt))):w.isAddApp&&(Zo("[Slide] init by renderSlide",1),S.renderSlide(1)),this.pollReadyState()}registerEventListeners(){const{context:w,slide:S}=this;this.sideEffect.add(()=>{const W=w.mobxUtils.reaction(()=>w.getAttributes().state,()=>{this.syncStateOnce(),W()});return W}),this.sideEffect.add(()=>(w.emitter.on("seek",this.onSeeked),()=>w.emitter.off("seek",this.onSeeked))),this.sideEffect.add(()=>{const W=w.getDisplayer();return W.addMagixEventListener(this.channel,this.magixEventListener,{fireSelfEventAfterCommit:!0}),()=>W.removeMagixEventListener(this.channel)}),S.on(ao.SLIDE_EVENTS.slideChange,this.onPageChanged),S.on(ao.SLIDE_EVENTS.renderStart,this.onTransitionStart),S.on(ao.SLIDE_EVENTS.renderEnd,this.onTransitionEnd),S.on(ao.SLIDE_EVENTS.mainSeqStepStart,this.onTransitionStart),S.on(ao.SLIDE_EVENTS.mainSeqStepEnd,this.onTransitionEnd),S.on(ao.SLIDE_EVENTS.renderError,this.onError),S.on(ao.SLIDE_EVENTS.stateChange,this.onStateChange),S.on(ao.SLIDE_EVENTS.syncDispatch,this.onSyncDispatch),S.on(ao.SLIDE_EVENTS.renderEnd,this.resolveReady)}syncStateOnce(){if(this.syncStateOnceFlag){const{state:w}=_p(_p({},ag),this.context.getAttributes());w&&(Zo("[Slide] sync with state (once)",xf(w)),this.slide.setSlideState(xf(w)),this.syncStateOnceFlag=!1)}}get pageCount(){return this._pageCount>0?this._pageCount:(this._pageCount=this.slide.slideCount,this._pageCount)}get page(){return this.slide.slideState.currentSlideIndex}createSlide(w){var W,pt;return new ao.Slide({anchor:w,interactive:!0,mode:"interactive",resize:!0,controller:fu.enable,renderOptions:{minFPS:25,maxFPS:30,autoFPS:!0,autoResolution:!0,resolution:(W=this.context.getAppOptions())==null?void 0:W.resolution,transactionBgColor:((pt=this.context.getAppOptions())==null?void 0:pt.bgColor)||Xg(w)},timestamp:this.timestamp})}destroy(){this.sideEffect.flushAll(),this.destroyed||(Zo("[Slide] destroy slide (once)"),this.slide.destroy(),this.destroyed=!0)}afterFreeze(w){w===1?(this.isFrozen=!0,this.freezePromise=null,this._toFreeze===-1&&this.unfreeze()):w===-1&&(this.isFrozen=!1,this.freezePromise=null,this._toFreeze===1&&this.freeze())}}function e0(F){const w="http://www.w3.org/2000/svg",S=document.createElementNS(w,"svg");S.setAttribute("class",`${F}-footer-icon-sidebar`),S.setAttribute("viewBox","0 0 64 64");const W=document.createElementNS(w,"path");return W.setAttribute("fill","currentColor"),W.setAttribute("d","M50 8H14c-3.309 0-6 2.691-6 6v36c0 3.309 2.691 6 6 6h36c3.309 0 6-2.691 6-6V14c0-3.309-2.691-6-6-6zM12 50V14c0-1.103.897-2 2-2h8v40h-8c-1.103 0-2-.897-2-2zm40 0c0 1.103-.897 2-2 2H26V12h24c1.103 0 2 .897 2 2z"),S.appendChild(W),S}function n0(F){const w="http://www.w3.org/2000/svg",S=document.createElementNS(w,"svg");S.setAttribute("class",`${F}-footer-icon-arrow-left`),S.setAttribute("viewBox","0 0 500 500");const W=document.createElementNS(w,"path");return W.setAttribute("fill","currentColor"),W.setAttribute("d","M177.81 249.959L337.473 90.295c2.722-2.865 2.651-7.378-.143-10.1-2.793-2.65-7.163-2.65-9.956 0l-164.75 164.75c-2.793 2.793-2.793 7.306 0 10.1l164.75 164.75c2.865 2.722 7.378 2.65 10.099-.143 2.651-2.794 2.651-7.163 0-9.957L177.809 249.959z"),S.appendChild(W),S}function r0(F){const w="http://www.w3.org/2000/svg",S=document.createElementNS(w,"svg");S.setAttribute("class",`${F}-footer-icon-arrow-right`),S.setAttribute("viewBox","0 0 500 500");const W=document.createElementNS(w,"path");return W.setAttribute("fill","currentColor"),W.setAttribute("d","M322.19 250.041L162.527 409.705c-2.722 2.865-2.651 7.378.143 10.1 2.793 2.65 7.163 2.65 9.956 0l164.75-164.75c2.793-2.793 2.793-7.306 0-10.1l-164.75-164.75c-2.865-2.722-7.378-2.65-10.099.143-2.651 2.794-2.651 7.163 0 9.957l159.664 159.736z"),S.appendChild(W),S}function i0(F){const w="http://www.w3.org/2000/svg",S=document.createElementNS(w,"svg");S.setAttribute("class",`${F}-footer-icon-play`),S.setAttribute("viewBox","0 0 500 500");const W=document.createElementNS(w,"path");return W.setAttribute("fill","currentColor"),W.setAttribute("d","M418.158 257.419L174.663 413.33c-6.017 3.919-15.708 3.772-21.291-.29-2.791-2.018-4.295-4.483-4.295-7.084V94.109c0-5.65 6.883-10.289 15.271-10.289 4.298 0 8.391 1.307 11.181 3.332l242.629 155.484c6.016 3.917 6.451 10.292.649 14.491-.216.154-.432.154-.649.292zM170.621 391.288l223.116-141.301L170.71 107.753l-.089 283.535z"),S.appendChild(W),S}function o0(F){const w="http://www.w3.org/2000/svg",S=document.createElementNS(w,"svg");S.setAttribute("class",`${F}-footer-icon-pause`),S.setAttribute("viewBox","0 0 500 500");const W=document.createElementNS(w,"path");return W.setAttribute("fill","currentColor"),W.setAttribute("d","M312.491 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261zM165.257 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261z"),S.appendChild(W),S}const bd=typeof window!="undefined",Yg=bd&&!("onscroll"in window)||typeof navigator!="undefined"&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),Zg=bd&&"IntersectionObserver"in window,Jg=bd&&"classList"in document.createElement("p"),$g=bd&&window.devicePixelRatio>1,s0={elements_selector:".lazy",container:Yg||bd?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_poster:"poster",class_applied:"applied",class_loading:"loading",class_loaded:"loaded",class_error:"error",class_entered:"entered",class_exited:"exited",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1},Kg=F=>Object.assign({},s0,F),Qg=function(F,w){let S;const W="LazyLoad::Initialized",pt=new F(w);try{S=new CustomEvent(W,{detail:{instance:pt}})}catch{S=document.createEvent("CustomEvent"),S.initCustomEvent(W,!1,!1,{instance:pt})}window.dispatchEvent(S)},a0=(F,w)=>{if(!!w)if(!w.length)Qg(F,w);else for(let S=0,W;W=w[S];S+=1)Qg(F,W)},nh="src",lg="srcset",ug="sizes",tv="poster",Sf="llOriginalAttrs",hg="loading",ev="loaded",nv="applied",l0="entered",cg="error",rv="native",iv="data-",ov="ll-status",ll=(F,w)=>F.getAttribute(iv+w),u0=(F,w,S)=>{var W=iv+w;if(S===null){F.removeAttribute(W);return}F.setAttribute(W,S)},Tf=F=>ll(F,ov),wd=(F,w)=>u0(F,ov,w),Em=F=>wd(F,null),dg=F=>Tf(F)===null,h0=F=>Tf(F)===hg,c0=F=>Tf(F)===cg,pg=F=>Tf(F)===rv,d0=[hg,ev,nv,cg],p0=F=>d0.indexOf(Tf(F))>=0,fc=(F,w,S,W)=>{if(!!F){if(W!==void 0){F(w,S,W);return}if(S!==void 0){F(w,S);return}F(w)}},yp=(F,w)=>{if(Jg){F.classList.add(w);return}F.className+=(F.className?" ":"")+w},mu=(F,w)=>{if(Jg){F.classList.remove(w);return}F.className=F.className.replace(new RegExp("(^|\\s+)"+w+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},f0=F=>{F.llTempImage=document.createElement("IMG")},m0=F=>{delete F.llTempImage},sv=F=>F.llTempImage,Mm=(F,w)=>{if(!w)return;const S=w._observer;!S||S.unobserve(F)},g0=F=>{F.disconnect()},v0=(F,w,S)=>{w.unobserve_entered&&Mm(F,S)},fg=(F,w)=>{!F||(F.loadingCount+=w)},_0=F=>{!F||(F.toLoadCount-=1)},av=(F,w)=>{!F||(F.toLoadCount=w)},y0=F=>F.loadingCount>0,x0=F=>F.toLoadCount>0,lv=F=>{let w=[];for(let S=0,W;W=F.children[S];S+=1)W.tagName==="SOURCE"&&w.push(W);return w},mg=(F,w)=>{const S=F.parentNode;if(!S||S.tagName!=="PICTURE")return;lv(S).forEach(w)},uv=(F,w)=>{lv(F).forEach(w)},Am=[nh],hv=[nh,tv],Cm=[nh,lg,ug],Pm=F=>!!F[Sf],cv=F=>F[Sf],dv=F=>delete F[Sf],Ef=(F,w)=>{if(Pm(F))return;const S={};w.forEach(W=>{S[W]=F.getAttribute(W)}),F[Sf]=S},b0=F=>{Pm(F)||(F[Sf]={backgroundImage:F.style.backgroundImage})},w0=(F,w,S)=>{if(!S){F.removeAttribute(w);return}F.setAttribute(w,S)},Mf=(F,w)=>{if(!Pm(F))return;const S=cv(F);w.forEach(W=>{w0(F,W,S[W])})},S0=F=>{if(!Pm(F))return;const w=cv(F);F.style.backgroundImage=w.backgroundImage},T0=(F,w,S)=>{yp(F,w.class_applied),wd(F,nv),!!S&&(w.unobserve_completed&&Mm(F,w),fc(w.callback_applied,F,S))},pv=(F,w,S)=>{yp(F,w.class_loading),wd(F,hg),!!S&&(fg(S,1),fc(w.callback_loading,F,S))},Sd=(F,w,S)=>{!S||F.setAttribute(w,S)},fv=(F,w)=>{Sd(F,ug,ll(F,w.data_sizes)),Sd(F,lg,ll(F,w.data_srcset)),Sd(F,nh,ll(F,w.data_src))},E0=(F,w)=>{mg(F,S=>{Ef(S,Cm),fv(S,w)}),Ef(F,Cm),fv(F,w)},M0=(F,w)=>{Ef(F,Am),Sd(F,nh,ll(F,w.data_src))},A0=(F,w)=>{uv(F,S=>{Ef(S,Am),Sd(S,nh,ll(S,w.data_src))}),Ef(F,hv),Sd(F,tv,ll(F,w.data_poster)),Sd(F,nh,ll(F,w.data_src)),F.load()},C0=(F,w,S)=>{const W=ll(F,w.data_bg),pt=ll(F,w.data_bg_hidpi),lt=$g&&pt?pt:W;!lt||(F.style.backgroundImage=`url("${lt}")`,sv(F).setAttribute(nh,lt),pv(F,w,S))},P0=(F,w,S)=>{const W=ll(F,w.data_bg_multi),pt=ll(F,w.data_bg_multi_hidpi),lt=$g&&pt?pt:W;!lt||(F.style.backgroundImage=lt,T0(F,w,S))},mv={IMG:E0,IFRAME:M0,VIDEO:A0},R0=(F,w)=>{const S=mv[F.tagName];!S||S(F,w)},I0=(F,w,S)=>{const W=mv[F.tagName];!W||(W(F,w),pv(F,w,S))},L0=["IMG","IFRAME","VIDEO"],O0=F=>L0.indexOf(F.tagName)>-1,gv=(F,w)=>{w&&!y0(w)&&!x0(w)&&fc(F.callback_finish,w)},vv=(F,w,S)=>{F.addEventListener(w,S),F.llEvLisnrs[w]=S},D0=(F,w,S)=>{F.removeEventListener(w,S)},gg=F=>!!F.llEvLisnrs,N0=(F,w,S)=>{gg(F)||(F.llEvLisnrs={});const W=F.tagName==="VIDEO"?"loadeddata":"load";vv(F,W,w),vv(F,"error",S)},vg=F=>{if(!gg(F))return;const w=F.llEvLisnrs;for(let S in w){const W=w[S];D0(F,S,W)}delete F.llEvLisnrs},_v=(F,w,S)=>{m0(F),fg(S,-1),_0(S),mu(F,w.class_loading),w.unobserve_completed&&Mm(F,S)},F0=(F,w,S,W)=>{const pt=pg(w);_v(w,S,W),yp(w,S.class_loaded),wd(w,ev),fc(S.callback_loaded,w,W),pt||gv(S,W)},B0=(F,w,S,W)=>{const pt=pg(w);_v(w,S,W),yp(w,S.class_error),wd(w,cg),fc(S.callback_error,w,W),pt||gv(S,W)},_g=(F,w,S)=>{const W=sv(F)||F;if(gg(W))return;N0(W,J=>{F0(J,F,w,S),vg(W)},J=>{B0(J,F,w,S),vg(W)})},k0=(F,w,S)=>{f0(F),_g(F,w,S),b0(F),C0(F,w,S),P0(F,w,S)},U0=(F,w,S)=>{_g(F,w,S),I0(F,w,S)},yg=(F,w,S)=>{O0(F)?U0(F,w,S):k0(F,w,S)},G0=(F,w,S)=>{F.setAttribute("loading","lazy"),_g(F,w,S),R0(F,w),wd(F,rv)},yv=F=>{F.removeAttribute(nh),F.removeAttribute(lg),F.removeAttribute(ug)},H0=F=>{mg(F,w=>{yv(w)}),yv(F)},xv=F=>{mg(F,w=>{Mf(w,Cm)}),Mf(F,Cm)},z0={IMG:xv,IFRAME:F=>{Mf(F,Am)},VIDEO:F=>{uv(F,w=>{Mf(w,Am)}),Mf(F,hv),F.load()}},j0=F=>{const w=z0[F.tagName];if(!w){S0(F);return}w(F)},V0=(F,w)=>{dg(F)||pg(F)||(mu(F,w.class_entered),mu(F,w.class_exited),mu(F,w.class_applied),mu(F,w.class_loading),mu(F,w.class_loaded),mu(F,w.class_error))},W0=(F,w)=>{j0(F),V0(F,w),Em(F),dv(F)},X0=(F,w,S,W)=>{!S.cancel_on_exit||!h0(F)||F.tagName==="IMG"&&(vg(F),H0(F),xv(F),mu(F,S.class_loading),fg(W,-1),Em(F),fc(S.callback_cancel,F,w,W))},q0=(F,w,S,W)=>{const pt=p0(F);wd(F,l0),yp(F,S.class_entered),mu(F,S.class_exited),v0(F,S,W),fc(S.callback_enter,F,w,W),!pt&&yg(F,S,W)},Y0=(F,w,S,W)=>{dg(F)||(yp(F,S.class_exited),X0(F,w,S,W),fc(S.callback_exit,F,w,W))},Z0=["IMG","IFRAME","VIDEO"],bv=F=>F.use_native&&"loading"in HTMLImageElement.prototype,J0=(F,w,S)=>{F.forEach(W=>{Z0.indexOf(W.tagName)!==-1&&G0(W,w,S)}),av(S,0)},$0=F=>F.isIntersecting||F.intersectionRatio>0,K0=F=>({root:F.container===document?null:F.container,rootMargin:F.thresholds||F.threshold+"px"}),Q0=(F,w,S)=>{F.forEach(W=>$0(W)?q0(W.target,W,w,S):Y0(W.target,W,w,S))},t_=(F,w)=>{w.forEach(S=>{F.observe(S)})},e_=(F,w)=>{g0(F),t_(F,w)},n_=(F,w)=>{!Zg||bv(F)||(w._observer=new IntersectionObserver(S=>{Q0(S,F,w)},K0(F)))},wv=F=>Array.prototype.slice.call(F),Rm=F=>F.container.querySelectorAll(F.elements_selector),r_=F=>wv(F).filter(dg),i_=F=>c0(F),o_=F=>wv(F).filter(i_),Sv=(F,w)=>r_(F||Rm(w)),s_=(F,w)=>{o_(Rm(F)).forEach(W=>{mu(W,F.class_error),Em(W)}),w.update()},a_=(F,w)=>{!bd||window.addEventListener("online",()=>{s_(F,w)})},Af=function(F,w){const S=Kg(F);this._settings=S,this.loadingCount=0,n_(S,this),a_(S,this),this.update(w)};Af.prototype={update:function(F){const w=this._settings,S=Sv(F,w);if(av(this,S.length),Yg||!Zg){this.loadAll(S);return}if(bv(w)){J0(S,w,this);return}e_(this._observer,S)},destroy:function(){this._observer&&this._observer.disconnect(),Rm(this._settings).forEach(F=>{dv(F)}),delete this._observer,delete this._settings,delete this.loadingCount,delete this.toLoadCount},loadAll:function(F){const w=this._settings;Sv(F,w).forEach(W=>{Mm(W,this),yg(W,w,this)})},restoreAll:function(){const F=this._settings;Rm(F).forEach(w=>{W0(w,F)})}},Af.load=(F,w)=>{const S=Kg(w);yg(F,S)},Af.resetStatus=F=>{Em(F)},bd&&a0(Af,window.lazyLoadOptions);class Tv{constructor({readonly:w,onNewPageIndex:S,onPlay:W}){this._pages=[],this.pageIndex=0,this.setPaused=()=>{this.$btnPlay.classList.toggle(this.wrapClassName("footer-btn-playing"),!1)},this.setPlaying=()=>{this.$btnPlay.classList.toggle(this.wrapClassName("footer-btn-playing"),!0)},this.namespace="netless-app-slide",this.isShowPreview=!1,this.isSmallBox=!1,this.sideEffect=new wm,this.readonly=w,this.onNewPageIndex=S,this.onPlay=W,this.render()}set pages(w){this._pages=w,this.refreshPreview(),this.refreshTotalPage(),this.refreshBtnSidebar()}get pages(){return this._pages}unmount(){this.$content.remove(),this.$footer.remove()}setReadonly(w){this.readonly=w,this.$content.classList.toggle(this.wrapClassName("readonly"),w),this.$footer.classList.toggle(this.wrapClassName("readonly"),w),this.$pageNumberInput.disabled=w}destroy(){this.sideEffect.flushAll(),this.unmount()}setPageIndex(w){Number.isNaN(w)||(this.pageIndex=w,this.$pageNumberInput.value=String(w+1))}refreshTotalPage(){this.pages.length?this.$totalPage.textContent=" / "+this.pages.length:this.$totalPage.textContent=""}setSmallBox(w){this.isSmallBox!==w&&(this.isSmallBox=w,this.$footer.classList.toggle(this.wrapClassName("float-footer"),w))}render(){return this.renderContent(),this.renderFooter(),this.$content}renderContent(){if(!this.$content){const w=document.createElement("div");w.className=this.wrapClassName("content"),this.$content=w,this.readonly&&w.classList.add(this.wrapClassName("readonly")),w.appendChild(this.renderPreviewMask()),w.appendChild(this.renderPreview())}return this.$content}renderPreview(){if(!this.$preview){const w=document.createElement("div");w.className=this.wrapClassName("preview")+" tele-fancy-scrollbar",this.$preview=w,this.sideEffect.add(()=>(this.previewLazyLoad=new Af({container:this.$preview,elements_selector:`.${this.wrapClassName("preview-page>img")}`}),()=>{var S;return(S=this.previewLazyLoad)==null?void 0:S.destroy()})),this.refreshPreview(),this.sideEffect.addEventListener(w,"click",S=>{var pt;if(this.readonly)return;const W=(pt=S.target.dataset)==null?void 0:pt.pageIndex;W&&(S.preventDefault(),S.stopPropagation(),S.stopImmediatePropagation(),this.onNewPageIndex(Number(W)),this.togglePreview(!1))})}return this.$preview}refreshPreview(){var pt;const{$preview:w}=this,S=this.wrapClassName("preview-page"),W=this.wrapClassName("preview-page-name");for(;w.firstChild;)w.firstChild.remove();this.pages.forEach((lt,J)=>{var kt;const X=(kt=lt.thumbnail)!=null?kt:lt.src.startsWith("ppt")?void 0:lt.src;if(!X)return;const ct=String(J),tt=document.createElement("a");tt.className=S+" "+this.wrapClassName(`preview-page-${J}`),tt.setAttribute("href","#"),tt.dataset.pageIndex=ct;const $=document.createElement("span");$.className=W,$.textContent=String(J+1),$.dataset.pageIndex=ct;const ut=document.createElement("img");ut.width=lt.width,ut.height=lt.height,ut.dataset.src=X,ut.dataset.pageIndex=ct,tt.appendChild(ut),tt.appendChild($),w.appendChild(tt)}),(pt=this.previewLazyLoad)==null||pt.update()}renderPreviewMask(){return this.$previewMask||(this.$previewMask=document.createElement("div"),this.$previewMask.className=this.wrapClassName("preview-mask"),this.sideEffect.addEventListener(this.$previewMask,"click",w=>{this.readonly||w.target===this.$previewMask&&this.togglePreview(!1)})),this.$previewMask}refreshBtnSidebar(){this.$btnSidebar.style.display=this.pages.length>0?"":"none"}renderFooter(){if(!this.$footer){const w=document.createElement("div");w.className=this.wrapClassName("footer"),this.$footer=w,this.readonly&&w.classList.add(this.wrapClassName("readonly")),this.isSmallBox&&w.classList.add(this.wrapClassName("float-footer"));const S=this.renderFooterBtn("btn-sidebar",e0(this.namespace));this.sideEffect.addEventListener(S,"click",()=>{this.readonly||this.togglePreview()}),this.$btnSidebar=S,this.$btnSidebar.style.display="none",this.$footer.appendChild(S);const W=document.createElement("div");W.className=this.wrapClassName("page-jumps");const pt=this.renderFooterBtn("btn-page-back",n0(this.namespace));if(this.sideEffect.addEventListener(pt,"click",()=>{this.readonly||this.onNewPageIndex(this.pageIndex-1)}),W.appendChild(pt),this.onPlay){const tt=this.renderFooterBtn("btn-page-play",i0(this.namespace),o0(this.namespace));this.$btnPlay=tt,this.sideEffect.addEventListener(tt,"click",()=>{this.readonly||(this.setPlaying(),this.onPlay&&this.onPlay())}),W.appendChild(tt)}const lt=this.renderFooterBtn("btn-page-next",r0(this.namespace));this.sideEffect.addEventListener(lt,"click",()=>{this.readonly||this.onNewPageIndex(this.pageIndex+1)}),W.appendChild(lt);const J=document.createElement("div");J.className=this.wrapClassName("page-number");const X=document.createElement("input");X.className=this.wrapClassName("page-number-input"),X.value=String(this.pageIndex+1),this.readonly&&(X.disabled=!0),this.$pageNumberInput=X,this.sideEffect.addEventListener(X,"change",()=>{this.readonly||X.value&&this.onNewPageIndex(Number(X.value)-1)});const ct=document.createElement("span");this.$totalPage=ct,J.appendChild(X),J.appendChild(ct),this.$footer.appendChild(W),this.$footer.appendChild(J)}return this.$footer}renderFooterBtn(w,S,W){const pt=document.createElement("button");return pt.className=this.wrapClassName("footer-btn")+" "+this.wrapClassName(w),pt.appendChild(S),W&&pt.appendChild(W),pt}togglePreview(w){if(this.isShowPreview=w!=null?w:!this.isShowPreview,this.$content.classList.toggle(this.wrapClassName("preview-active"),this.isShowPreview),this.isShowPreview){const S=this.$preview.querySelector("."+this.wrapClassName(`preview-page-${this.pageIndex}`));S&&this.$preview.scrollTo({top:S.offsetTop-16})}}wrapClassName(w){return`${this.namespace}-${w}`}}const l_=new Set(["clicker"]);class u_{constructor({box:w,view:S,mountSlideController:W,mountWhiteboard:pt}){this.slideController=null,this.isViewMounted=!1,this.onError=({error:lt})=>{this.viewer.setPaused(),console.warn("[Slide] render error",lt)},this.refreshPages=()=>{this.slideController&&(this.viewer.pages=qg(this.slideController.slide),this.viewer.setPageIndex(this.getPageIndex(this.slideController.page)),this.scaleDocsToFit())},this.scaleDocsToFit=()=>{if(this.slideController){const{width:lt,height:J}=this.slideController.slide;lt&&J&&(this.whiteboardView.moveCameraToContain({originX:-lt/2,originY:-J/2,width:lt,height:J,animationMode:"immediately"}),this.isViewMounted||(this.isViewMounted=!0,console.log("[Slide] mount whiteboard view"),this.mountWhiteboard(this.$whiteboardView)))}},this.onPlay=()=>{this.slideController&&this.slideController.slide.nextStep()},this.onNewPageIndex=lt=>{this.slideController&&this.slideController.jumpToPage(lt+1)},this.sideEffect=new wm,this.namespace="netless-app-slide",this.box=w,this.whiteboardView=S,this.mountSlideController=W,this.mountWhiteboard=pt,this.viewer=new Tv({readonly:w.readonly,onNewPageIndex:this.onNewPageIndex,onPlay:this.onPlay}),this.sideEffect.add(()=>{const lt=J=>{this.setReadonly(J)};return w.events.on("readonly",lt),()=>w.events.off("readonly",lt)}),this.render()}render(){this.viewer.$content.appendChild(this.renderSlideContainer()),this.viewer.$content.appendChild(this.renderWhiteboardView()),this.sideEffect.addEventListener(window,"keydown",w=>{if(this.box.focus&&this.slideController)switch(w.key){case"ArrowUp":case"ArrowLeft":{this.slideController.slide.prevStep();break}case"ArrowRight":case"ArrowDown":{this.slideController.slide.nextStep();break}}})}renderSlideContainer(){if(!this.$slide){const w=document.createElement("div");w.className=this.wrapClassName("slide"),w.dataset.appKind="Slide",this.$slide=w}return this.$slide}renderWhiteboardView(){return this.$whiteboardView||(this.$whiteboardView=document.createElement("div"),this.$whiteboardView.className=this.wrapClassName("wb-view")),this.$whiteboardView}mount(){return this.box.mountContent(this.viewer.$content),this.box.mountFooter(this.viewer.$footer),this.slideController=this.mountSlideController({anchor:this.$slide,onTransitionStart:this.viewer.setPlaying,onTransitionEnd:this.viewer.setPaused,onReady:this.refreshPages,onError:this.onError}),this.scaleDocsToFit(),this.sideEffect.add(()=>(this.whiteboardView.callbacks.on("onSizeUpdated",this.scaleDocsToFit),()=>this.whiteboardView.callbacks.off("onSizeUpdated",this.scaleDocsToFit))),this}getPageIndex(w){return(w>0?w:1)-1}unmount(){return this.slideController&&(this.slideController.destroy(),this.slideController=null),this.viewer.unmount(),this}setReadonly(w){this.viewer.setReadonly(w)}destroy(){this.sideEffect.flushAll(),this.unmount(),this.viewer.destroy()}toggleClickThrough(w){this.$whiteboardView.style.pointerEvents=!w||l_.has(w)?"none":"auto"}wrapClassName(w){return`${this.namespace}-${w}`}}const Ev=2,Im={map:new Map,queue:[],validateQueue(){for(Zo("[Slide] freezer: validate",this.queue);this.queue.length>Ev;){const F=this.queue.pop(),w=this.map.get(F);w&&(Zo("[Slide] freezer: validate-freeze",F,this.queue),w.freeze())}},set(F,w){Zo("[Slide] freezer: add",F,this.queue),this.map.set(F,w),this.queue.includes(F)||this.queue.unshift(F),this.validateQueue()},delete(F){Zo("[Slide] freezer: delete",F,this.queue),this.map.delete(F),this.queue=this.queue.filter(w=>w!==F)},focus(F){const w=this.map.get(F),S=this.queue.indexOf(F);S>-1&&this.queue.splice(S,1),this.queue.unshift(F),this.validateQueue(),Zo("[Slide] freezer: focus",F,this.queue),w&&w.unfreeze()}},h_=F=>{F.on("focus",({appId:w})=>{Im.focus(w)})};var Mv=`.netless-app-slide-content{position:relative;height:100%;overflow:hidden}.netless-app-slide-preview-mask{display:none;position:absolute;z-index:200;top:0;left:0;width:100%;height:100%}.netless-app-slide-preview{display:flex;flex-direction:column;align-items:center;position:absolute;z-index:300;top:0;left:0;width:33%;max-width:200px;height:100%;padding-top:10px;transform:translate(-100%);background:rgba(237,237,240,.9);box-shadow:inset -1px 0 #0000001c;transition:transform .4s}.netless-app-slide-preview-active .netless-app-slide-preview-mask{display:block}.netless-app-slide-preview-active .netless-app-slide-preview{transform:translate(0)}.netless-app-slide-preview-page{position:relative;display:block;width:55%;margin-bottom:10px;font-size:0;color:transparent;outline:none;border:7px solid transparent;border-radius:4px;transition:border-color .3s;user-select:none}.netless-app-slide-preview-page:hover,.netless-app-slide-preview-page.netless-app-slide-preview-page-active{border-color:#444e601a}.netless-app-slide-preview-page>img{width:100%;height:auto;box-sizing:border-box;border:1px solid rgba(0,0,0,.5);border-radius:1px;background-color:#fff;box-shadow:0 2px 8px #0000004d}.netless-app-slide-preview-page-name{position:absolute;top:1px;left:-10px;transform:translate(-100%);text-align:right;font-size:12px;color:#5f5f5f;user-select:none}.netless-app-slide-footer{box-sizing:border-box;height:26px;display:flex;align-items:center;padding:0 16px;border-top:1px solid #eeeef7;color:#191919}.netless-app-slide-float-footer{width:100%;min-height:26px;position:absolute;left:0;bottom:0;z-index:2000;background:rgba(249,249,252,.9);transition:opacity .4s}.netless-app-slide-footer-btn{box-sizing:border-box;width:26px;height:26px;font-size:0;margin:0;padding:3px;border:none;border-radius:1px;outline:none;color:currentColor;background:transparent;transition:background .4s;cursor:pointer;user-select:none}.netless-app-slide-footer-btn:hover{background:rgba(237,237,240,.9)}.netless-app-slide-footer-btn>svg{width:100%;height:100%}.netless-app-slide-footer-btn>svg:nth-of-type(2){display:none}.netless-app-slide-footer-btn.netless-app-slide-footer-btn-playing>svg:nth-of-type(1){display:none}.netless-app-slide-footer-btn.netless-app-slide-footer-btn-playing>svg:nth-of-type(2){display:initial}.netless-app-slide-footer-btn~.netless-app-slide-footer-btn{margin-left:15px}.netless-app-slide-page-jumps{flex:1;display:flex;justify-content:center;align-items:center}.netless-app-slide-page-number{margin-left:auto;font-size:13px;user-select:none;white-space:nowrap;word-break:keep-all}.netless-app-slide-page-number-input{border:none;outline:none;width:1.5em;text-align:right;border-radius:2px;color:currentColor;background:transparent;transition:background .4s;user-select:text}.netless-app-slide-page-number-input:hover,.netless-app-slide-page-number-input:focus,.netless-app-slide-page-number-input:active{background:#fff;box-shadow:#63636333 0 2px 8px}.netless-app-slide-readonly .netless-app-slide-footer-btn{cursor:not-allowed}.netless-app-slide-readonly .netless-app-slide-footer-btn:hover{background:transparent}.netless-app-slide-readonly .netless-app-slide-page-number-input{cursor:not-allowed}.netless-app-slide-readonly .netless-app-slide-page-number-input:hover,.netless-app-slide-readonly .netless-app-slide-page-number-input:focus,.netless-app-slide-readonly .netless-app-slide-page-number-input:active{background:transparent;box-shadow:none}.netless-app-slide-readonly .netless-app-slide-page-number-input:disabled{color:inherit}.netless-app-slide-readonly.netless-app-slide-float-footer{display:none}.netless-app-slide-wb-view{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;overflow:hidden}.netless-app-slide-slide{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.netless-app-slide-slide canvas{transform:scale(var(--netless-app-slide-scale, 1))}
6079
- `;function c_({container:F,taskId:w,url:S=sg,debug:W=!1}){if(!w)throw new Error("[Slide] taskId is required");F.style.cssText+="display:flex;flex-direction:column";const pt=new Av({target:F});return pt.debug=!!W,pt.mount(w,S),pt}class Av{constructor(w){this.slide=null,this.debug=!1,this.ready=!1,this.readyPromise=new Promise(S=>{this.resolveReady=()=>{this.ready=!0,S()}}),this.onPageChanged=S=>{this.viewer.setPageIndex(S-1)},this.onTransitionStart=()=>{this.viewer.setPlaying()},this.onTransitionEnd=()=>{this.viewer.setPaused()},this.onError=({error:S})=>{this.viewer.setPaused(),console.warn("[Slide] render error",S)},this.destroyed=!1,this.refreshPages=()=>{this.slide&&(this.viewer.pages=qg(this.slide),this.viewer.setPageIndex(this.getPageIndex(this.slide.slideCount)))},this.onPlay=()=>{this.slide&&this.slide.nextStep()},this.onNewPageIndex=S=>{this.slide&&this.slide.slideCount>0&&this.slide.renderSlide(kg(S+1,1,this.slide.slideCount))},this.namespace="netless-app-slide",this.target=w.target,this.bgColor=Xg(this.target),this.viewer=new Tv({readonly:!1,onNewPageIndex:this.onNewPageIndex,onPlay:this.onPlay}),this.render()}render(){this.viewer.$content.appendChild(this.renderSlideContainer())}mount(w,S){this.target.appendChild(this.renderStyle()),this.target.appendChild(this.viewer.$content),this.target.appendChild(this.viewer.$footer),this.slide=new ao.Slide({anchor:this.$slide,interactive:!1,mode:"local",resize:!0,controller:this.debug,renderOptions:{minFPS:25,maxFPS:30,autoFPS:!0,autoResolution:!0,transactionBgColor:this.bgColor}}),this.registerEventListeners(),this.slide.setResource(w,S),this.slide.renderSlide(1)}renderStyle(){const w=document.createElement("style");return w.appendChild(document.createTextNode(Mv)),w}registerEventListeners(){if(!this.slide)return;const{slide:w}=this;w.on(ao.SLIDE_EVENTS.slideChange,this.onPageChanged),w.on(ao.SLIDE_EVENTS.renderStart,this.onTransitionStart),w.on(ao.SLIDE_EVENTS.renderEnd,this.onTransitionEnd),w.on(ao.SLIDE_EVENTS.mainSeqStepStart,this.onTransitionStart),w.on(ao.SLIDE_EVENTS.mainSeqStepEnd,this.onTransitionEnd),w.on(ao.SLIDE_EVENTS.renderError,this.onError),w.on(ao.SLIDE_EVENTS.renderEnd,this.resolveReady),this.readyPromise.then(this.refreshPages)}destroy(){this.slide&&!this.destroyed&&(Zo("[Slide] destroy slide (once)"),this.slide.destroy(),this.destroyed=!0),this.viewer.destroy()}getPageIndex(w){return(w>0?w:1)-1}renderSlideContainer(){if(!this.$slide){const w=document.createElement("div");w.className=this.wrapClassName("slide"),w.dataset.appKind="Slide",this.$slide=w}return this.$slide}wrapClassName(w){return`${this.namespace}-${w}`}}const d_={kind:"Slide",setup(F){F.getIsWritable()&&zv(F,ag);const w=F.getAttributes();if(!(w==null?void 0:w.taskId))throw new Error("[Slide] no taskId");const S=F.getView();if(!S)throw new Error("[Slide] no view, please set scenePath on addApp()");S.disableCameraTransform=!0;const W=F.getBox();W.mountStyles(Mv);const pt=F.getInitScenePath();let lt=null;const J=$=>{const ut=F.getRoom();if(lt&&lt.slideController){let kt=!1;ut&&F.getIsWritable()&&(Kv(ut,F,lt.slideController.slide,pt),kt=!0),Zo("[Slide] page to",$,kt),lt.viewer.setPageIndex($-1)}},X=$=>{var kt,Gt;const ut=new t0(Gv(_p({context:F},$),{onPageChanged:J}));return Im.set(F.appId,ut),((kt=fu.apps)[Gt=F.appId]||(kt[Gt]={})).controller=ut,ut.readyPromise.then($.onReady),ut};lt=new u_({box:W,view:S,mountSlideController:X,mountWhiteboard:F.mountView.bind(F)});const ct=F.getRoom(),tt=new wm;tt.add(()=>{var $,ut,kt;return(($=fu.apps)[ut=F.appId]||($[ut]={})).context=F,fu.enable=((kt=F.getAppOptions())==null?void 0:kt.debug)||!1,fu.level="debug",()=>fu.dispose(F.appId)}),ct&&(lt.toggleClickThrough(ct.state.memberState.currentApplianceName),tt.add(()=>{const $=ut=>{ut.memberState&&lt&&lt.toggleClickThrough(ut.memberState.currentApplianceName)};return ct.callbacks.on("onRoomStateChanged",$),()=>ct.callbacks.off("onRoomStateChanged",$)})),F.emitter.on("destroy",()=>{Zo("[Slide]: destroy"),Im.delete(F.appId),tt.flushAll(),lt&&(lt.destroy(),lt=null)}),lt.mount()}};return wo.DefaultUrl=sg,wo.FreezerLength=Ev,wo.SlidePreviewer=Av,wo.addHooks=h_,wo.apps=Im,wo.default=d_,wo.previewSlide=c_,Object.defineProperty(wo,"__esModule",{value:!0}),wo[Symbol.toStringTag]="Module",wo}({});})();
6079
+ `;function c_({container:F,taskId:w,url:S=sg,debug:W=!1}){if(!w)throw new Error("[Slide] taskId is required");F.style.cssText+="display:flex;flex-direction:column";const pt=new Av({target:F});return pt.debug=!!W,pt.mount(w,S),pt}class Av{constructor(w){this.slide=null,this.debug=!1,this.ready=!1,this.readyPromise=new Promise(S=>{this.resolveReady=()=>{this.ready=!0,S()}}),this.onPageChanged=S=>{this.viewer.setPageIndex(S-1)},this.onTransitionStart=()=>{this.viewer.setPlaying()},this.onTransitionEnd=()=>{this.viewer.setPaused()},this.onError=({error:S})=>{this.viewer.setPaused(),console.warn("[Slide] render error",S)},this.destroyed=!1,this.refreshPages=()=>{this.slide&&(this.viewer.pages=qg(this.slide),this.viewer.setPageIndex(this.getPageIndex(this.slide.slideState.currentSlideIndex)))},this.onPlay=()=>{this.slide&&this.slide.nextStep()},this.onNewPageIndex=S=>{this.slide&&this.slide.slideCount>0&&this.slide.renderSlide(kg(S+1,1,this.slide.slideCount))},this.namespace="netless-app-slide",this.target=w.target,this.bgColor=Xg(this.target),this.viewer=new Tv({readonly:!1,onNewPageIndex:this.onNewPageIndex,onPlay:this.onPlay}),this.render()}render(){this.viewer.$content.appendChild(this.renderSlideContainer())}mount(w,S){this.target.appendChild(this.renderStyle()),this.target.appendChild(this.viewer.$content),this.target.appendChild(this.viewer.$footer),this.slide=new ao.Slide({anchor:this.$slide,interactive:!1,mode:"local",resize:!0,controller:this.debug,renderOptions:{minFPS:25,maxFPS:30,autoFPS:!0,autoResolution:!0,transactionBgColor:this.bgColor}}),this.registerEventListeners(),this.slide.setResource(w,S),this.slide.renderSlide(1)}renderStyle(){const w=document.createElement("style");return w.appendChild(document.createTextNode(Mv)),w}registerEventListeners(){if(!this.slide)return;const{slide:w}=this;w.on(ao.SLIDE_EVENTS.slideChange,this.onPageChanged),w.on(ao.SLIDE_EVENTS.renderStart,this.onTransitionStart),w.on(ao.SLIDE_EVENTS.renderEnd,this.onTransitionEnd),w.on(ao.SLIDE_EVENTS.mainSeqStepStart,this.onTransitionStart),w.on(ao.SLIDE_EVENTS.mainSeqStepEnd,this.onTransitionEnd),w.on(ao.SLIDE_EVENTS.renderError,this.onError),w.on(ao.SLIDE_EVENTS.renderEnd,this.resolveReady),this.readyPromise.then(this.refreshPages)}destroy(){this.slide&&!this.destroyed&&(Zo("[Slide] destroy slide (once)"),this.slide.destroy(),this.destroyed=!0),this.viewer.destroy()}getPageIndex(w){return(w>0?w:1)-1}renderSlideContainer(){if(!this.$slide){const w=document.createElement("div");w.className=this.wrapClassName("slide"),w.dataset.appKind="Slide",this.$slide=w}return this.$slide}wrapClassName(w){return`${this.namespace}-${w}`}}const d_={kind:"Slide",setup(F){F.getIsWritable()&&zv(F,ag);const w=F.getAttributes();if(!(w==null?void 0:w.taskId))throw new Error("[Slide] no taskId");const S=F.getView();if(!S)throw new Error("[Slide] no view, please set scenePath on addApp()");S.disableCameraTransform=!0;const W=F.getBox();W.mountStyles(Mv);const pt=F.getInitScenePath();let lt=null;const J=$=>{const ut=F.getRoom();if(lt&&lt.slideController){let kt=!1;ut&&F.getIsWritable()&&(Kv(ut,F,lt.slideController.slide,pt),kt=!0),Zo("[Slide] page to",$,kt),lt.viewer.setPageIndex($-1)}},X=$=>{var kt,Gt;const ut=new t0(Gv(_p({context:F},$),{onPageChanged:J}));return Im.set(F.appId,ut),((kt=fu.apps)[Gt=F.appId]||(kt[Gt]={})).controller=ut,ut.readyPromise.then($.onReady),ut};lt=new u_({box:W,view:S,mountSlideController:X,mountWhiteboard:F.mountView.bind(F)});const ct=F.getRoom(),tt=new wm;tt.add(()=>{var $,ut,kt;return(($=fu.apps)[ut=F.appId]||($[ut]={})).context=F,fu.enable=((kt=F.getAppOptions())==null?void 0:kt.debug)||!1,fu.level="debug",()=>fu.dispose(F.appId)}),ct&&(lt.toggleClickThrough(ct.state.memberState.currentApplianceName),tt.add(()=>{const $=ut=>{ut.memberState&&lt&&lt.toggleClickThrough(ut.memberState.currentApplianceName)};return ct.callbacks.on("onRoomStateChanged",$),()=>ct.callbacks.off("onRoomStateChanged",$)})),F.emitter.on("destroy",()=>{Zo("[Slide]: destroy"),Im.delete(F.appId),tt.flushAll(),lt&&(lt.destroy(),lt=null)}),lt.mount()}};return wo.DefaultUrl=sg,wo.FreezerLength=Ev,wo.SlidePreviewer=Av,wo.addHooks=h_,wo.apps=Im,wo.default=d_,wo.previewSlide=c_,Object.defineProperty(wo,"__esModule",{value:!0}),wo[Symbol.toStringTag]="Module",wo}({});})();
6080
6080
  //# sourceMappingURL=main.iife.js.map