@netless/app-slide 0.2.26-beta.2 → 0.2.27

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.es.js CHANGED
@@ -39028,7 +39028,7 @@ class SlidePreviewer {
39028
39028
  }
39029
39029
  }
39030
39030
  const usePlugin = /* @__PURE__ */ Slide.Slide.usePlugin.bind(Slide.Slide);
39031
- const version = "0.2.26-beta.2";
39031
+ const version = "0.2.27";
39032
39032
  const SlideApp = {
39033
39033
  kind: "Slide",
39034
39034
  setup(context) {
package/dist/main.iife.js CHANGED
@@ -7852,5 +7852,5 @@ self.onmessage = function(e) {
7852
7852
  `)},warn:function(o){t.appendLogString("WARN - "+new Date().toISOString()+" - "+o+`
7853
7853
  `)},error:function(o){t.appendLogString("ERROR - "+new Date().toISOString()+" - "+o+`
7854
7854
  `)}}}),function(o){var s=Fc.get(o.hookPoint)||[];s.push(o),Fc.set(o.hookPoint,s)}(n)},t.handleFrozenAllSlide=function(){t.instances.forEach(function(n){n.player&&(t._tempFrozenIds.push(n.randomId),n.frozen())})},t.handleReleaseAllSlide=function(){t._tempFrozenIds.forEach(function(n){var o=t.instances.find(function(s){return s.randomId===n});o&&o.release()}),t._tempFrozenIds=[]},t.handleLogReport=function(n){return Yr(void 0,void 0,void 0,function(){var o,s,a,h,l,u;return qr(e,function(f){switch(f.label){case 0:return[4,t.flushLog(!0)];case 1:if(f.sent(),!dn)return[3,12];o=[],f.label=2;case 2:return f.trys.push([2,4,,5]),[4,dn.keys()];case 3:return o=(f.sent()||[]).sort(function(_,x){return parseInt(_.replace("run_time_log_",""))-parseInt(x.replace("run_time_log_",""))}),[3,5];case 4:return f.sent(),[3,5];case 5:if(o.length===0)return window.postMessage({type:"@slide/_report_log_",log:"",index:1,total:1,customMessage:"@slide/_report_log_",sessionId:n},"*"),[2];s=0,a=o,f.label=6;case 6:if(!(s<a.length))return[3,12];h=a[s],l=h.replace("run_time_log_",""),u="",f.label=7;case 7:return f.trys.push([7,9,,10]),[4,dn.getItem(h)];case 8:return u=f.sent()||"",[3,10];case 9:return f.sent(),[3,10];case 10:window.postMessage({type:"@slide/_report_log_",log:u,index:parseInt(l,10),total:o.length,customMessage:"@slide/_report_log_",sessionId:n},"*"),f.label=11;case 11:return s++,[3,6];case 12:return[2]}})})},t.handleLogDownload=function(){return Yr(void 0,void 0,void 0,function(){var n,o,s,a,h,l,u;return qr(e,function(f){switch(f.label){case 0:return f.trys.push([0,7,,8]),[4,t.flushLog(!0)];case 1:return f.sent(),n="",dn?[4,dn.keys()]:[3,6];case 2:o=(f.sent()||[]).sort(function(_,x){return parseInt(_.replace("run_time_log_",""))-parseInt(x.replace("run_time_log_",""))}),s=0,a=o,f.label=3;case 3:return s<a.length?(h=a[s],l=n,[4,dn.getItem(h)]):[3,6];case 4:n=l+(f.sent()||""),f.label=5;case 5:return s++,[3,3];case 6:return(u=document.createElement("a")).setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(n)),u.setAttribute("download","slide_log"),u.style.display="none",document.body.appendChild(u),u.click(),document.body.removeChild(u),[3,8];case 7:return f.sent(),[3,8];case 8:return[2]}})})},Tw([(i="Slide.initConfig",function(n,o,s){var a=s.value;s.value=function(){for(var h=[],l=0;l<arguments.length;l++)h[l]=arguments[l];for(var u=Fc.get(i)||[],f=h,_=0,x=u;_<x.length;_++){var S=x[_];try{f=S.before(f)}catch{}if(!Array.isArray(f)||f.length!==h.length)throw new Error("plugin before hook return invalid args")}for(var C=a.bind(this).apply(void 0,f),R=0,X=u.reverse();R<X.length;R++){S=X[R];try{C=S.after(C)}catch{}if(!C)throw new Error("plugin after hook return undefined result")}return C}})],t.prototype,"initSlideConfig",null),t}(fr.a);dn==null||dn.clear().catch(function(){}),window.addEventListener("__slide_log__",ws.handleLogDownload),window.addEventListener("message",function(r){r.data.type==="@slide/_request_log_"&&ws.handleLogReport(r.data.sessionId).catch(function(){})}),window.addEventListener("message",function(r){r.data.type==="@slide/_request_frozen_"&&ws.handleFrozenAllSlide()}),window.addEventListener("message",function(r){r.data.type==="@slide/_request_release_"&&ws.handleReleaseAllSlide()}),window.setInterval(function(){ws.flushLog().catch(function(){})},2e3)}]);const wn="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",x0=87,b0=20,rd=[],T0=()=>{for(let T=0;T<b0;T++)rd[T]=wn.charAt(Math.random()*x0);return rd.join("")};function nd(T){try{return T()}catch(w){console.error(w)}}class da{constructor(){this.push=this.addDisposer,this.disposers=new Map}addDisposer(w,p=this.genUID()){return this.flush(p),this.disposers.set(p,Array.isArray(w)?E0(w):w),p}add(w,p=this.genUID()){const E=w();return E?this.addDisposer(E,p):p}addEventListener(w,p,E,M,I=this.genUID()){return w.addEventListener(p,E,M),this.addDisposer(()=>w.removeEventListener(p,E,M),I),I}setTimeout(w,p,E=this.genUID()){const M=window.setTimeout(()=>{this.remove(E),w()},p);return this.addDisposer(()=>window.clearTimeout(M),E)}setInterval(w,p,E=this.genUID()){const M=window.setInterval(w,p);return this.addDisposer(()=>window.clearInterval(M),E)}remove(w){const p=this.disposers.get(w);return this.disposers.delete(w),p}flush(w){const p=this.remove(w);p&&p()}flushAll(){this.disposers.forEach(nd),this.disposers.clear()}genUID(){let w;do w=T0();while(this.disposers.has(w));return w}}function E0(T){return()=>T.forEach(nd)}function od(T,w,p){return Math.min(Math.max(T,w),p)}function S0(T){return typeof T=="object"&&T!==null}var sd={exports:{}},w0={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]},ad={exports:{}},A0=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")},M0=A0,C0=Array.prototype.concat,R0=Array.prototype.slice,ld=ad.exports=function(w){for(var p=[],E=0,M=w.length;E<M;E++){var I=w[E];M0(I)?p=C0.call(p,R0.call(I)):p.push(I)}return p};ld.wrap=function(T){return function(){return T(ld(arguments))}};var pa=w0,fa=ad.exports,hd=Object.hasOwnProperty,ud=Object.create(null);for(var Dh in pa)hd.call(pa,Dh)&&(ud[pa[Dh]]=Dh);var mn=sd.exports={to:{},get:{}};mn.get=function(T){var w=T.substring(0,3).toLowerCase(),p,E;switch(w){case"hsl":p=mn.get.hsl(T),E="hsl";break;case"hwb":p=mn.get.hwb(T),E="hwb";break;default:p=mn.get.rgb(T),E="rgb";break}return p?{model:E,value:p}:null},mn.get.rgb=function(T){if(!T)return null;var w=/^#([a-f0-9]{3,4})$/i,p=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,E=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,M=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,I=/^(\w+)$/,F=[0,0,0,1],U,j,H;if(U=T.match(p)){for(H=U[2],U=U[1],j=0;j<3;j++){var J=j*2;F[j]=parseInt(U.slice(J,J+2),16)}H&&(F[3]=parseInt(H,16)/255)}else if(U=T.match(w)){for(U=U[1],H=U[3],j=0;j<3;j++)F[j]=parseInt(U[j]+U[j],16);H&&(F[3]=parseInt(H+H,16)/255)}else if(U=T.match(E)){for(j=0;j<3;j++)F[j]=parseInt(U[j+1],0);U[4]&&(U[5]?F[3]=parseFloat(U[4])*.01:F[3]=parseFloat(U[4]))}else if(U=T.match(M)){for(j=0;j<3;j++)F[j]=Math.round(parseFloat(U[j+1])*2.55);U[4]&&(U[5]?F[3]=parseFloat(U[4])*.01:F[3]=parseFloat(U[4]))}else return(U=T.match(I))?U[1]==="transparent"?[0,0,0,0]:hd.call(pa,U[1])?(F=pa[U[1]],F[3]=1,F):null:null;for(j=0;j<3;j++)F[j]=Po(F[j],0,255);return F[3]=Po(F[3],0,1),F},mn.get.hsl=function(T){if(!T)return null;var w=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,p=T.match(w);if(p){var E=parseFloat(p[4]),M=(parseFloat(p[1])%360+360)%360,I=Po(parseFloat(p[2]),0,100),F=Po(parseFloat(p[3]),0,100),U=Po(isNaN(E)?1:E,0,1);return[M,I,F,U]}return null},mn.get.hwb=function(T){if(!T)return null;var w=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,p=T.match(w);if(p){var E=parseFloat(p[4]),M=(parseFloat(p[1])%360+360)%360,I=Po(parseFloat(p[2]),0,100),F=Po(parseFloat(p[3]),0,100),U=Po(isNaN(E)?1:E,0,1);return[M,I,F,U]}return null},mn.to.hex=function(){var T=fa(arguments);return"#"+pl(T[0])+pl(T[1])+pl(T[2])+(T[3]<1?pl(Math.round(T[3]*255)):"")},mn.to.rgb=function(){var T=fa(arguments);return T.length<4||T[3]===1?"rgb("+Math.round(T[0])+", "+Math.round(T[1])+", "+Math.round(T[2])+")":"rgba("+Math.round(T[0])+", "+Math.round(T[1])+", "+Math.round(T[2])+", "+T[3]+")"},mn.to.rgb.percent=function(){var T=fa(arguments),w=Math.round(T[0]/255*100),p=Math.round(T[1]/255*100),E=Math.round(T[2]/255*100);return T.length<4||T[3]===1?"rgb("+w+"%, "+p+"%, "+E+"%)":"rgba("+w+"%, "+p+"%, "+E+"%, "+T[3]+")"},mn.to.hsl=function(){var T=fa(arguments);return T.length<4||T[3]===1?"hsl("+T[0]+", "+T[1]+"%, "+T[2]+"%)":"hsla("+T[0]+", "+T[1]+"%, "+T[2]+"%, "+T[3]+")"},mn.to.hwb=function(){var T=fa(arguments),w="";return T.length>=4&&T[3]!==1&&(w=", "+T[3]),"hwb("+T[0]+", "+T[1]+"%, "+T[2]+"%"+w+")"},mn.to.keyword=function(T){return ud[T.slice(0,3)]};function Po(T,w,p){return Math.min(Math.max(w,T),p)}function pl(T){var w=Math.round(T).toString(16).toUpperCase();return w.length<2?"0"+w:w}var I0=sd.exports;class P0{constructor(w){this.enable=w,this.apps={},this.level="debug",this.roomLogger=null,this._onMessage=p=>{let E;p instanceof CustomEvent?E=p.detail:S0(p.data)&&(E=p.data),E&&(typeof E.slide=="boolean"?this.enable=E.slide:E.slide==="__instance"?console.log(this):E.slide==="__debug"&&Object.values(this.apps).forEach(M=>{var I,F;(F=(I=M.controller)==null?void 0:I.slide)==null||F.createController()}))},this.initialize()}setAppContext(w,p){var E;((E=this.apps)[w]||(E[w]={})).context=p,this.log(`[Slide] new ${w}`)}setAppController(w,p){var E;((E=this.apps)[w]||(E[w]={})).controller=p}deleteApp(w){delete this.apps[w],this.log(`[Slide] delete ${w}`)}initialize(){window.addEventListener("message",this._onMessage)}dispose(){window.removeEventListener("message",this._onMessage)}log(...w){this.roomLogger?this.roomLogger.info(...w):this.enable&&console.log(...w)}verbose(...w){this.roomLogger?this.roomLogger.debug(...w):this.enable&&this.level==="verbose"&&console.log(...w)}warn(...w){this.roomLogger?this.roomLogger.warn(...w):console.warn(...w)}}const An=new P0(!1),Cr=An.log.bind(An),Fh=An.verbose.bind(An),O0=T=>{An.roomLogger=T.logger};function cd(T){try{const w=window.getComputedStyle(T).backgroundColor;if(w!=="rgba(0, 0, 0, 0)"&&w!=="transparent")return w;if(T.parentElement)return cd(T.parentElement)}catch{}return"#ffffff"}function N0(T){const w=I0.get(T);if(w&&w.model==="rgb"){const p=w.value,M=(((Math.round(p[0])&255)<<16)+((Math.round(p[1])&255)<<8)+(Math.round(p[2])&255)).toString(16);return"#"+"000000".substring(M.length)+M}else return T}let fl="";function dd(T){return fl||(fl=N0(cd(T)),Cr("[Slide] guess bg color",fl)),fl}function pd(T){const{width:w,height:p,slideCount:E,slideState:M}=T,{taskId:I,url:F}=M,U=[];for(let j=1;j<=E;++j)U.push({width:w,height:p,thumbnail:`${F}/${I}/preview/${j}.png`,src:"ppt"});return U}function fd(T,w,p,E){var U;const M=p.slideState.currentSlideIndex;if(!(M>0)||!w.getIsWritable())return;const I=[E,M].join("/");if(T.scenePathType(I)!=="page"){T.removeScenes(E);const j=p.slideCount,H=[];for(let J=1;J<=j;++J)H.push({name:`${J}`});T.putScenes(E,H)}let F;w.getBox().focus?F=T.state.sceneState.scenePath:F=((U=w.getView())==null?void 0:U.focusScenePath)||"",F!==I&&w.setScenePath(I)}const Bh="https://convertcdn.netless.link/dynamicConvert",L0=40,Uh={taskId:"",url:"",state:null};class D0{constructor({context:w,anchor:p,onPageChanged:E,onTransitionStart:M,onTransitionEnd:I,onError:F,onRenderError:U,showRenderError:j}){this.sideEffect=new da,this.ready=!1,this.readyPromise=new Promise(H=>{this.resolveReady=()=>{this.ready?Cr("[Slide] render end"):setTimeout(()=>{this.ready=!0,H()},1e3)}}),this.onSyncDispatch=H=>{if(this.context.getIsWritable()&&this.room){const J={type:Pi.SLIDE_EVENTS.syncDispatch,payload:H};Fh("[Slide] dispatch",JSON.stringify(H)),this.context.dispatchMagixEvent(Pi.SLIDE_EVENTS.syncDispatch,J)}},this.magixEventListener=H=>{const{type:J,payload:it}=H.payload;J===Pi.SLIDE_EVENTS.syncDispatch&&(this.syncStateOnce(),Fh("[Slide] receive",JSON.stringify(it)),this.slide.emit(Pi.SLIDE_EVENTS.syncReceive,it))},this.onStateChange=H=>{this.context.getIsWritable()&&(Fh("[Slide] state change",JSON.stringify(H,null,2)),this.context.storage.setState({state:H}))},this.pollCount=0,this.pollReadyState=()=>{this.ready?this._toFreeze===1?this.freeze():this._toFreeze===-1&&this.unfreeze():this.pollCount<L0?(this.pollCount++,setTimeout(this.pollReadyState,500)):(this.pollCount=0,Cr("[Slide] renderSlide 1 (retry after timeout)"),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.freeze=()=>{this.isFrozen=!0,this.ready?(Cr("[Slide] freeze",this.context.appId),this.slide.frozen()):this._toFreeze=1},this.unfreeze=async()=>{!this.visible||(this.isFrozen=!1,this.ready?(Cr("[Slide] unfreeze",this.context.appId),this.slide.release()):this._toFreeze=-1)},this.onVisibilityChange=async()=>{(this.visible=document.visibilityState==="visible")?(Cr("[Slide] unfreeze because tab becomes visible",{savedIsFrozen:this.savedIsFrozen}),this.savedIsFrozen||this.unfreeze()):(this.savedIsFrozen=this.isFrozen,Cr("[Slide] freeze because tab becomes invisible"),this.freeze())},this.onPageChanged=E,this.onTransitionStart=M,this.onTransitionEnd=I,this.onError=F,this.onRenderError=U,this.showRenderError=j!=null?j:!0,this.context=w,this.room=w.getRoom(),this.player=this.room?void 0:w.getDisplayer(),O0(this.room||this.player),this.slide=this.createSlide(p),this.syncStateOnceFlag=!this.context.isAddApp,this.visible=document.visibilityState==="visible",this.savedIsFrozen=!1,this.initialize()}jumpToPage(w){this.ready&&(w=od(w,1,this.pageCount),this.slide.renderSlide(w))}initialize(){this.registerEventListeners(),this.kickStart()}kickStart(){const{context:w,slide:p}=this;w.getIsWritable()&&w.storage.ensureState(Uh);const{taskId:E,url:M,state:I}=w.storage.state;p.setResource(E,M||Bh),I?(Cr("[Slide] init with state",JSON.stringify(I)),this.syncStateOnceFlag=!1,p.setSlideState(I)):w.isAddApp&&(Cr("[Slide] init by renderSlide",1),p.renderSlide(1)),this.pollReadyState()}registerEventListeners(){const{context:w,slide:p}=this,E=this.sideEffect.addDisposer(w.storage.addStateChangedListener(()=>{w.storage.state.state&&(this.syncStateOnce(),this.sideEffect.flush(E))}));this.sideEffect.add(()=>w.addMagixEventListener(Pi.SLIDE_EVENTS.syncDispatch,this.magixEventListener,{fireSelfEventAfterCommit:!0})),p.on(Pi.SLIDE_EVENTS.slideChange,this.onPageChanged),p.on(Pi.SLIDE_EVENTS.renderStart,this.onTransitionStart),p.on(Pi.SLIDE_EVENTS.renderEnd,this.onTransitionEnd),p.on(Pi.SLIDE_EVENTS.mainSeqStepStart,this.onTransitionStart),p.on(Pi.SLIDE_EVENTS.mainSeqStepEnd,this.onTransitionEnd),p.on(Pi.SLIDE_EVENTS.renderError,this.onError),p.on(Pi.SLIDE_EVENTS.stateChange,this.onStateChange),p.on(Pi.SLIDE_EVENTS.syncDispatch,this.onSyncDispatch),p.on(Pi.SLIDE_EVENTS.renderEnd,this.resolveReady),this.sideEffect.add(()=>(document.addEventListener("visibilitychange",this.onVisibilityChange),()=>document.removeEventListener("visibilitychange",this.onVisibilityChange)))}syncStateOnce(){if(this.syncStateOnceFlag){this.context.getIsWritable()&&this.context.storage.ensureState(Uh);const{state:w}=this.context.storage.state;w&&(Cr("[Slide] sync with state (once)",JSON.stringify(w)),this.slide.setSlideState(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 M,I;const p=this.context.getAppOptions()||{};return new Pi.Slide({anchor:w,interactive:!0,mode:"interactive",controller:An.enable,enableGlobalClick:!0,renderOptions:{minFPS:p.minFPS||25,maxFPS:p.maxFPS||30,autoFPS:(M=p.autoFPS)!=null?M:!0,autoResolution:(I=p.autoResolution)!=null?I:!0,resolution:p.resolution,transactionBgColor:p.bgColor||dd(w),maxResolutionLevel:p.maxResolutionLevel,forceCanvas:p.forceCanvas,enableNvidiaDetect:p.enableNvidiaDetect},fixedFrameSize:p.fixedFrameSize,loaderDelegate:p.loaderDelegate,navigatorDelegate:p.navigatorDelegate,resourceTimeout:p.resourceTimeout,rtcAudio:p.rtcAudio,useLocalCache:p.useLocalCache,logger:p.logger,timestamp:this.timestamp})}destroy(){this.sideEffect.flushAll(),this.destroyed||(Cr("[Slide] destroy slide (once)"),this.slide.destroy(),this.destroyed=!0)}}function F0(T){const w="http://www.w3.org/2000/svg",p=document.createElementNS(w,"svg");p.setAttribute("class",`${T}-footer-icon-sidebar`),p.setAttribute("viewBox","0 0 64 64");const E=document.createElementNS(w,"path");return E.setAttribute("fill","currentColor"),E.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"),p.appendChild(E),p}function B0(T){const w="http://www.w3.org/2000/svg",p=document.createElementNS(w,"svg");p.setAttribute("class",`${T}-footer-icon-arrow-left`),p.setAttribute("viewBox","0 0 500 500");const E=document.createElementNS(w,"path");return E.setAttribute("fill","currentColor"),E.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"),p.appendChild(E),p}function U0(T){const w="http://www.w3.org/2000/svg",p=document.createElementNS(w,"svg");p.setAttribute("class",`${T}-footer-icon-arrow-right`),p.setAttribute("viewBox","0 0 500 500");const E=document.createElementNS(w,"path");return E.setAttribute("fill","currentColor"),E.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"),p.appendChild(E),p}function k0(T){const w="http://www.w3.org/2000/svg",p=document.createElementNS(w,"svg");p.setAttribute("class",`${T}-footer-icon-play`),p.setAttribute("viewBox","0 0 500 500");const E=document.createElementNS(w,"path");return E.setAttribute("fill","currentColor"),E.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"),p.appendChild(E),p}function G0(T){const w="http://www.w3.org/2000/svg",p=document.createElementNS(w,"svg");p.setAttribute("class",`${T}-footer-icon-pause`),p.setAttribute("viewBox","0 0 500 500");const E=document.createElementNS(w,"path");return E.setAttribute("fill","currentColor"),E.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"),p.appendChild(E),p}const Oo=typeof window!="undefined",md=Oo&&!("onscroll"in window)||typeof navigator!="undefined"&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),gd=Oo&&"IntersectionObserver"in window,vd=Oo&&"classList"in document.createElement("p"),_d=Oo&&window.devicePixelRatio>1,H0={elements_selector:".lazy",container:md||Oo?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_bg_set:"bg-set",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,restore_on_error:!1},yd=T=>Object.assign({},H0,T),xd=function(T,w){let p;const E="LazyLoad::Initialized",M=new T(w);try{p=new CustomEvent(E,{detail:{instance:M}})}catch{p=document.createEvent("CustomEvent"),p.initCustomEvent(E,!1,!1,{instance:M})}window.dispatchEvent(p)},j0=(T,w)=>{if(!!w)if(!w.length)xd(T,w);else for(let p=0,E;E=w[p];p+=1)xd(T,E)},go="src",kh="srcset",Gh="sizes",bd="poster",ma="llOriginalAttrs",Td="data",Hh="loading",Ed="loaded",Sd="applied",z0="entered",jh="error",wd="native",Ad="data-",Md="ll-status",sn=(T,w)=>T.getAttribute(Ad+w),V0=(T,w,p)=>{var E=Ad+w;if(p===null){T.removeAttribute(E);return}T.setAttribute(E,p)},ga=T=>sn(T,Md),is=(T,w)=>V0(T,Md,w),ml=T=>is(T,null),zh=T=>ga(T)===null,W0=T=>ga(T)===Hh,X0=T=>ga(T)===jh,Vh=T=>ga(T)===wd,Y0=[Hh,Ed,Sd,jh],q0=T=>Y0.indexOf(ga(T))>=0,No=(T,w,p,E)=>{if(!!T){if(E!==void 0){T(w,p,E);return}if(p!==void 0){T(w,p);return}T(w)}},Ms=(T,w)=>{if(vd){T.classList.add(w);return}T.className+=(T.className?" ":"")+w},Zn=(T,w)=>{if(vd){T.classList.remove(w);return}T.className=T.className.replace(new RegExp("(^|\\s+)"+w+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},J0=T=>{T.llTempImage=document.createElement("IMG")},K0=T=>{delete T.llTempImage},Cd=T=>T.llTempImage,gl=(T,w)=>{if(!w)return;const p=w._observer;!p||p.unobserve(T)},Z0=T=>{T.disconnect()},Q0=(T,w,p)=>{w.unobserve_entered&&gl(T,p)},Wh=(T,w)=>{!T||(T.loadingCount+=w)},$0=T=>{!T||(T.toLoadCount-=1)},Rd=(T,w)=>{!T||(T.toLoadCount=w)},t_=T=>T.loadingCount>0,e_=T=>T.toLoadCount>0,Id=T=>{let w=[];for(let p=0,E;E=T.children[p];p+=1)E.tagName==="SOURCE"&&w.push(E);return w},Xh=(T,w)=>{const p=T.parentNode;if(!p||p.tagName!=="PICTURE")return;Id(p).forEach(w)},Pd=(T,w)=>{Id(T).forEach(w)},vl=[go],Od=[go,bd],va=[go,kh,Gh],Nd=[Td],_l=T=>!!T[ma],Ld=T=>T[ma],Dd=T=>delete T[ma],Cs=(T,w)=>{if(_l(T))return;const p={};w.forEach(E=>{p[E]=T.getAttribute(E)}),T[ma]=p},i_=T=>{_l(T)||(T[ma]={backgroundImage:T.style.backgroundImage})},r_=(T,w,p)=>{if(!p){T.removeAttribute(w);return}T.setAttribute(w,p)},rs=(T,w)=>{if(!_l(T))return;const p=Ld(T);w.forEach(E=>{r_(T,E,p[E])})},n_=T=>{if(!_l(T))return;const w=Ld(T);T.style.backgroundImage=w.backgroundImage},Fd=(T,w,p)=>{Ms(T,w.class_applied),is(T,Sd),p&&(w.unobserve_completed&&gl(T,w),No(w.callback_applied,T,p))},Bd=(T,w,p)=>{Ms(T,w.class_loading),is(T,Hh),p&&(Wh(p,1),No(w.callback_loading,T,p))},Lo=(T,w,p)=>{!p||T.setAttribute(w,p)},Ud=(T,w)=>{Lo(T,Gh,sn(T,w.data_sizes)),Lo(T,kh,sn(T,w.data_srcset)),Lo(T,go,sn(T,w.data_src))},o_=(T,w)=>{Xh(T,p=>{Cs(p,va),Ud(p,w)}),Cs(T,va),Ud(T,w)},s_=(T,w)=>{Cs(T,vl),Lo(T,go,sn(T,w.data_src))},a_=(T,w)=>{Pd(T,p=>{Cs(p,vl),Lo(p,go,sn(p,w.data_src))}),Cs(T,Od),Lo(T,bd,sn(T,w.data_poster)),Lo(T,go,sn(T,w.data_src)),T.load()},l_=(T,w)=>{Cs(T,Nd),Lo(T,Td,sn(T,w.data_src))},h_=(T,w,p)=>{const E=sn(T,w.data_bg),M=sn(T,w.data_bg_hidpi),I=_d&&M?M:E;!I||(T.style.backgroundImage=`url("${I}")`,Cd(T).setAttribute(go,I),Bd(T,w,p))},u_=(T,w,p)=>{const E=sn(T,w.data_bg_multi),M=sn(T,w.data_bg_multi_hidpi),I=_d&&M?M:E;!I||(T.style.backgroundImage=I,Fd(T,w,p))},c_=(T,w,p)=>{const E=sn(T,w.data_bg_set);if(!E)return;const M=E.split("|");let I=M.map(F=>`image-set(${F})`);T.style.backgroundImage=I.join(),T.style.backgroundImage===""&&(I=M.map(F=>`-webkit-image-set(${F})`),T.style.backgroundImage=I.join()),Fd(T,w,p)},kd={IMG:o_,IFRAME:s_,VIDEO:a_,OBJECT:l_},d_=(T,w)=>{const p=kd[T.tagName];!p||p(T,w)},p_=(T,w,p)=>{const E=kd[T.tagName];!E||(E(T,w),Bd(T,w,p))},f_=["IMG","IFRAME","VIDEO","OBJECT"],m_=T=>f_.indexOf(T.tagName)>-1,Gd=(T,w)=>{w&&!t_(w)&&!e_(w)&&No(T.callback_finish,w)},Hd=(T,w,p)=>{T.addEventListener(w,p),T.llEvLisnrs[w]=p},g_=(T,w,p)=>{T.removeEventListener(w,p)},Yh=T=>!!T.llEvLisnrs,v_=(T,w,p)=>{Yh(T)||(T.llEvLisnrs={});const E=T.tagName==="VIDEO"?"loadeddata":"load";Hd(T,E,w),Hd(T,"error",p)},qh=T=>{if(!Yh(T))return;const w=T.llEvLisnrs;for(let p in w){const E=w[p];g_(T,p,E)}delete T.llEvLisnrs},jd=(T,w,p)=>{K0(T),Wh(p,-1),$0(p),Zn(T,w.class_loading),w.unobserve_completed&&gl(T,p)},__=(T,w,p,E)=>{const M=Vh(w);jd(w,p,E),Ms(w,p.class_loaded),is(w,Ed),No(p.callback_loaded,w,E),M||Gd(p,E)},y_=(T,w,p,E)=>{const M=Vh(w);jd(w,p,E),Ms(w,p.class_error),is(w,jh),No(p.callback_error,w,E),p.restore_on_error&&rs(w,va),M||Gd(p,E)},Jh=(T,w,p)=>{const E=Cd(T)||T;if(Yh(E))return;v_(E,F=>{__(F,T,w,p),qh(E)},F=>{y_(F,T,w,p),qh(E)})},x_=(T,w,p)=>{J0(T),Jh(T,w,p),i_(T),h_(T,w,p),u_(T,w,p),c_(T,w,p)},b_=(T,w,p)=>{Jh(T,w,p),p_(T,w,p)},Kh=(T,w,p)=>{m_(T)?b_(T,w,p):x_(T,w,p)},T_=(T,w,p)=>{T.setAttribute("loading","lazy"),Jh(T,w,p),d_(T,w),is(T,wd)},zd=T=>{T.removeAttribute(go),T.removeAttribute(kh),T.removeAttribute(Gh)},E_=T=>{Xh(T,w=>{zd(w)}),zd(T)},Vd=T=>{Xh(T,w=>{rs(w,va)}),rs(T,va)},S_={IMG:Vd,IFRAME:T=>{rs(T,vl)},VIDEO:T=>{Pd(T,w=>{rs(w,vl)}),rs(T,Od),T.load()},OBJECT:T=>{rs(T,Nd)}},w_=T=>{const w=S_[T.tagName];if(!w){n_(T);return}w(T)},A_=(T,w)=>{zh(T)||Vh(T)||(Zn(T,w.class_entered),Zn(T,w.class_exited),Zn(T,w.class_applied),Zn(T,w.class_loading),Zn(T,w.class_loaded),Zn(T,w.class_error))},M_=(T,w)=>{w_(T),A_(T,w),ml(T),Dd(T)},C_=(T,w,p,E)=>{!p.cancel_on_exit||!W0(T)||T.tagName==="IMG"&&(qh(T),E_(T),Vd(T),Zn(T,p.class_loading),Wh(E,-1),ml(T),No(p.callback_cancel,T,w,E))},R_=(T,w,p,E)=>{const M=q0(T);is(T,z0),Ms(T,p.class_entered),Zn(T,p.class_exited),Q0(T,p,E),No(p.callback_enter,T,w,E),!M&&Kh(T,p,E)},I_=(T,w,p,E)=>{zh(T)||(Ms(T,p.class_exited),C_(T,w,p,E),No(p.callback_exit,T,w,E))},P_=["IMG","IFRAME","VIDEO"],Wd=T=>T.use_native&&"loading"in HTMLImageElement.prototype,O_=(T,w,p)=>{T.forEach(E=>{P_.indexOf(E.tagName)!==-1&&T_(E,w,p)}),Rd(p,0)},N_=T=>T.isIntersecting||T.intersectionRatio>0,L_=T=>({root:T.container===document?null:T.container,rootMargin:T.thresholds||T.threshold+"px"}),D_=(T,w,p)=>{T.forEach(E=>N_(E)?R_(E.target,E,w,p):I_(E.target,E,w,p))},F_=(T,w)=>{w.forEach(p=>{T.observe(p)})},B_=(T,w)=>{Z0(T),F_(T,w)},U_=(T,w)=>{!gd||Wd(T)||(w._observer=new IntersectionObserver(p=>{D_(p,T,w)},L_(T)))},Xd=T=>Array.prototype.slice.call(T),yl=T=>T.container.querySelectorAll(T.elements_selector),k_=T=>Xd(T).filter(zh),G_=T=>X0(T),H_=T=>Xd(T).filter(G_),Yd=(T,w)=>k_(T||yl(w)),j_=(T,w)=>{H_(yl(T)).forEach(E=>{Zn(E,T.class_error),ml(E)}),w.update()},z_=(T,w)=>{!Oo||(w._onlineHandler=()=>{j_(T,w)},window.addEventListener("online",w._onlineHandler))},V_=T=>{!Oo||window.removeEventListener("online",T._onlineHandler)},_a=function(T,w){const p=yd(T);this._settings=p,this.loadingCount=0,U_(p,this),z_(p,this),this.update(w)};_a.prototype={update:function(T){const w=this._settings,p=Yd(T,w);if(Rd(this,p.length),md||!gd){this.loadAll(p);return}if(Wd(w)){O_(p,w,this);return}B_(this._observer,p)},destroy:function(){this._observer&&this._observer.disconnect(),V_(this),yl(this._settings).forEach(T=>{Dd(T)}),delete this._observer,delete this._settings,delete this._onlineHandler,delete this.loadingCount,delete this.toLoadCount},loadAll:function(T){const w=this._settings;Yd(T,w).forEach(E=>{gl(E,this),Kh(E,w,this)})},restoreAll:function(){const T=this._settings;yl(T).forEach(w=>{M_(w,T)})}},_a.load=(T,w)=>{const p=yd(w);Kh(T,p)},_a.resetStatus=T=>{ml(T)},Oo&&j0(_a,window.lazyLoadOptions);class qd{constructor({readonly:w,onNewPageIndex:p,onPlay:E}){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 da,this.readonly=w,this.onNewPageIndex=p,this.onPlay=E,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(){var w;(w=this.previewLazyLoad)==null||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.refreshPreview(),this.sideEffect.addEventListener(w,"click",p=>{var M;if(this.readonly)return;const E=(M=p.target.dataset)==null?void 0:M.pageIndex;E&&(p.preventDefault(),p.stopPropagation(),p.stopImmediatePropagation(),this.onNewPageIndex(Number(E)),this.togglePreview(!1))})}return this.$preview}refreshPreview(){var M;const{$preview:w}=this,p=this.wrapClassName("preview-page"),E=this.wrapClassName("preview-page-name");for(;w.firstChild;)w.firstChild.remove();this.pages.forEach((I,F)=>{var mt;const U=(mt=I.thumbnail)!=null?mt:I.src.startsWith("ppt")?void 0:I.src;if(!U)return;const j=String(F),H=document.createElement("a");H.className=p+" "+this.wrapClassName(`preview-page-${F}`),H.setAttribute("href","#"),H.dataset.pageIndex=j;const J=document.createElement("span");J.className=E,J.textContent=String(F+1),J.dataset.pageIndex=j;const it=document.createElement("img");it.width=I.width,it.height=I.height,it.dataset.src=U,it.dataset.pageIndex=j,H.appendChild(it),H.appendChild(J),w.appendChild(H)}),(M=this.previewLazyLoad)==null||M.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 p=this.renderFooterBtn("btn-sidebar",F0(this.namespace));this.sideEffect.addEventListener(p,"click",()=>{this.readonly||this.togglePreview()}),this.$btnSidebar=p,this.$btnSidebar.style.display="none",this.$footer.appendChild(p);const E=document.createElement("div");E.className=this.wrapClassName("page-jumps");const M=this.renderFooterBtn("btn-page-back",B0(this.namespace));if(this.sideEffect.addEventListener(M,"click",()=>{this.readonly||this.onNewPageIndex(this.pageIndex-1)}),E.appendChild(M),this.onPlay){const H=this.renderFooterBtn("btn-page-play",k0(this.namespace),G0(this.namespace));this.$btnPlay=H,this.sideEffect.addEventListener(H,"click",()=>{this.readonly||(this.setPlaying(),this.onPlay&&this.onPlay())}),E.appendChild(H)}const I=this.renderFooterBtn("btn-page-next",U0(this.namespace));this.sideEffect.addEventListener(I,"click",()=>{this.readonly||this.onNewPageIndex(this.pageIndex+1)}),E.appendChild(I);const F=document.createElement("div");F.className=this.wrapClassName("page-number");const U=document.createElement("input");U.className=this.wrapClassName("page-number-input"),U.value=String(this.pageIndex+1),this.readonly&&(U.disabled=!0),this.$pageNumberInput=U,this.sideEffect.addEventListener(U,"focus",()=>{U.select()}),this.sideEffect.addEventListener(U,"change",()=>{this.readonly||U.value&&this.onNewPageIndex(Number(U.value)-1)});const j=document.createElement("span");this.$totalPage=j,F.appendChild(U),F.appendChild(j),this.$footer.appendChild(E),this.$footer.appendChild(F)}return this.$footer}renderFooterBtn(w,p,E){const M=document.createElement("button");return M.className=this.wrapClassName("footer-btn")+" "+this.wrapClassName(w),M.appendChild(p),E&&M.appendChild(E),M}togglePreview(w){if(this.isShowPreview=w!=null?w:!this.isShowPreview,this.$content.classList.toggle(this.wrapClassName("preview-active"),this.isShowPreview),this.isShowPreview){const p=this.$preview.querySelector("."+this.wrapClassName(`preview-page-${this.pageIndex}`));p&&(this.previewLazyLoad||(this.previewLazyLoad=new _a({container:this.$preview,elements_selector:`.${this.wrapClassName("preview-page>img")}`})),this.$preview.scrollTo({top:p.offsetTop-16}))}}wrapClassName(w){return`${this.namespace}-${w}`}}const W_=new Set(["clicker"]);class X_{constructor({box:w,view:p,mountSlideController:E,mountWhiteboard:M,baseScenePath:I,appId:F}){this.slideController=null,this.isViewMounted=!1,this.onError=({error:U,index:j})=>{var H,J;this.viewer.setPaused(),(H=this.slideController)!=null&&H.showRenderError&&(this.$overlay.textContent=`Error on slide[page=${this.slideController.page}]: ${U.message}`,this.$overlay.style.opacity="1"),(J=this.slideController)!=null&&J.onRenderError&&this.slideController.onRenderError(U,j),An.warn("[Slide] render error",U)},this.onRenderEnd=()=>{this.$overlay.style.opacity=""},this.refreshPages=()=>{this.slideController&&(this.viewer.pages=pd(this.slideController.slide),this.viewer.setPageIndex(this.getPageIndex(this.slideController.page)),this.scaleDocsToFit())},this.scaleDocsToFit=()=>{if(this.slideController){const{width:U,height:j}=this.slideController.slide;U&&j&&(this.whiteboardView.moveCameraToContain({originX:-U/2,originY:-j/2,width:U,height:j,animationMode:"immediately"}),this.whiteboardView.setCameraBound({damping:1,maxContentMode:()=>this.whiteboardView.camera.scale,minContentMode:()=>this.whiteboardView.camera.scale,centerX:0,centerY:0,width:U,height:j}),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=U=>{this.slideController&&this.slideController.jumpToPage(U+1)},this.sideEffect=new da,this.namespace="netless-app-slide",this.toPdf=async()=>{if(!this.slideController){this.reportProgress(100,null);return}const{slide:U}=this.slideController,j=1920,H=document.createElement("canvas"),J=H.getContext("2d"),{slideCount:it,width:mt,height:Ut}=U;let Et=Math.floor(mt),D=Math.floor(Ut);Et>j&&(Et=j,D=Math.floor(Ut*Et/mt)),D>j&&(D=j,Et=Math.floor(mt*D/Ut)),H.width=Et,H.height=D;const N=document.createElement("canvas");N.width=mt,N.height=Ut;const L=N.getContext("2d");if(!L||!this.getWhiteSnapshot||!J)return this.reportProgress(100,null),null;const W=Et>D?"l":"p",{jsPDF:P}=await import("jspdf"),G=new P({format:[Et,D],orientation:W,compress:!0});for(let Dt=1;Dt<=it;Dt++){let Gt=null;try{Gt=await this.slideController.slide.snapshotWithTimingEnd(Dt)}catch{}if(Gt){const et=document.createElement("img");et.src=Gt,await new Promise(Y=>et.onload=Y),J.drawImage(et,0,0,Et,D)}L.clearRect(0,0,mt,Ut),this.getWhiteSnapshot(Dt,N,L);try{const et=N.toDataURL("image/png"),Y=document.createElement("img");Y.src=et,await new Promise($=>Y.onload=$),J.drawImage(Y,0,0,Et,D)}catch{}const ot=H.toDataURL("image/jpeg",.6);Dt>1&&G.addPage(),G.addImage(ot,"JPEG",0,0,Et,D,"","FAST"),J.clearRect(0,0,Et,D),Math.ceil(Dt/it*100)<100&&this.reportProgress(Math.ceil(Dt/it*100),null)}const tt=G.output("arraybuffer"),k=this.box.title;this.reportProgress(100,{pdf:tt,title:k})},this.box=w,this.whiteboardView=p,this.mountSlideController=E,this.mountWhiteboard=M,this.baseScenePath=I,this.appId=F,this.viewer=new qd({readonly:w.readonly,onNewPageIndex:this.onNewPageIndex,onPlay:this.onPlay}),this.sideEffect.add(()=>{const U=j=>{this.setReadonly(j)};return w.events.on("readonly",U),()=>w.events.off("readonly",U)}),this.sideEffect.add(()=>{const U=j=>{j.data.type==="@netless/_request_save_pdf_"&&j.data.appId===this.appId&&this.toPdf().catch(()=>this.reportProgress(100,null))};return window.addEventListener("message",U),()=>{window.removeEventListener("message",U)}}),this.render()}render(){this.viewer.$content.appendChild(this.renderSlideContainer()),this.viewer.$content.appendChild(this.renderWhiteboardView()),this.viewer.$content.appendChild(this.renderOverlay()),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}}})}renderOverlay(){if(!this.$overlay){const w=document.createElement("div");w.className=this.wrapClassName("overlay"),this.$overlay=w}return this.$overlay}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,onRenderEnd:this.onRenderEnd,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||W_.has(w)?"none":"auto"}wrapClassName(w){return`${this.namespace}-${w}`}getWhiteSnapshot(w,p,E){const{width:M,height:I}=this.whiteboardView.size;p.width=M,p.height=I,this.whiteboardView.screenshotToCanvas(E,`${this.baseScenePath}/${w}`,M,I,{centerX:0,centerY:0,scale:this.whiteboardView.camera.scale})}reportProgress(w,p){window.postMessage({type:"@netless/_result_save_pdf_",appId:this.appId,progress:w,result:p})}}let Zh=!1;Ki.FreezerLength=2;function Y_(){return Ki.FreezerLength}function q_(T){Ki.FreezerLength=T<1?1/0:T}const ya=T=>"["+T+"]",xl={map:new Map,boxes:new Map,queue:[],validateQueue(){for(this.queue.sort((T,w)=>{var M,I,F,U;const p=(I=(M=this.boxes.get(T))==null?void 0:M.zIndex)!=null?I:0,E=(U=(F=this.boxes.get(w))==null?void 0:F.zIndex)!=null?U:0;return-(p-E)}),Cr("[Slide] freezer: validate",ya(this.queue));this.queue.length>Ki.FreezerLength;){const T=this.queue.pop(),w=this.map.get(T);w&&(Cr("[Slide] freezer: validate-freeze",T,ya(this.queue)),w.freeze())}},set(T,w,p){Cr("[Slide] freezer: add",T,ya(this.queue)),this.map.set(T,w),this.boxes.set(T,p),this.queue.includes(T)||this.queue.unshift(T),this.validateQueue()},delete(T){this.map.delete(T),this.boxes.delete(T),this.queue=this.queue.filter(w=>w!==T),Cr("[Slide] freezer: delete",T,ya(this.queue))},focus(T){const w=this.map.get(T),p=this.queue.indexOf(T);p>-1&&this.queue.splice(p,1),this.queue.unshift(T),this.validateQueue(),Cr("[Slide] freezer: focus",T,ya(this.queue)),w&&w.unfreeze()}},Qh=new Set;function J_(T){return Qh.add(T),()=>Qh.delete(T)}const $h=new Set;function K_(T){return $h.add(T),()=>$h.delete(T)}const Z_=T=>{Zh=!0,T.on("focus",({appId:w})=>{xl.focus(w)}),T.on("created",({appId:w})=>{Qh.forEach(p=>p(w))}),T.on("destroy",({appId:w})=>{$h.forEach(p=>p(w))})};var Jd=(()=>`.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;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-slide-footer-btn:hover{background:rgba(237,237,240,.9)}@media (hover: none){.netless-app-slide-footer-btn:hover{background:transparent!important}}.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:3em;margin:0;padding:0 2px;text-align:right;font-size:13px;line-height:1;font-weight:400;font-family:inherit;border-radius:2px;color:currentColor;background:transparent;transition:background .4s;user-select:text;-webkit-tap-highlight-color:rgba(0,0,0,0)}.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{display:none}.telebox-color-scheme-dark .netless-app-slide-page-number-input{color:#a6a6a8}.telebox-color-scheme-dark .netless-app-slide-page-number-input:active,.telebox-color-scheme-dark .netless-app-slide-page-number-input:focus,.telebox-color-scheme-dark .netless-app-slide-page-number-input:hover{color:#222}.telebox-color-scheme-dark .netless-app-slide-footer{color:#a6a6a8;background:#2d2d33;border-top:none}.telebox-color-scheme-dark .netless-app-slide-footer-btn:hover{background:#212126}.telebox-color-scheme-dark .netless-app-slide-preview{background:rgba(50,50,50,.9)}.netless-app-slide-wb-view{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;overflow:hidden}.netless-app-slide-overlay{display:flex;align-items:center;justify-content:center;position:absolute;z-index:200;top:0;left:0;width:100%;height:100%;padding:8px;background:rgba(255,0,0,.25);transition:opacity .3s;opacity:0;pointer-events:none}.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))}
7855
- `)();function Q_({container:T,taskId:w,url:p=Bh,debug:E=!1}){if(!w)throw new Error("[Slide] taskId is required");T.style.cssText+="display:flex;flex-direction:column";const M=new Kd({target:T});return M.debug=!!E,M.mount(w,p),M}class Kd{constructor(w){this.slide=null,this.debug=!1,this.sideEffect=new da,this.ready=!1,this.readyPromise=new Promise(p=>{this.resolveReady=()=>{this.ready=!0,p()}}),this.hotkeyListener=p=>{if(this.slide)switch(p.key){case"ArrowUp":case"ArrowLeft":{this.slide.prevStep();break}case"ArrowRight":case"ArrowDown":{this.slide.nextStep();break}}},this.onPageChanged=p=>{this.viewer.setPageIndex(p-1)},this.onTransitionStart=()=>{this.viewer.setPlaying()},this.onTransitionEnd=()=>{this.viewer.setPaused()},this.onError=({error:p})=>{this.viewer.setPaused(),console.warn("[Slide] render error",p)},this.destroyed=!1,this.refreshPages=()=>{this.slide&&(this.viewer.pages=pd(this.slide),this.viewer.setPageIndex(this.getPageIndex(this.slide.slideState.currentSlideIndex)))},this.onPlay=()=>{this.slide&&this.slide.nextStep()},this.onNewPageIndex=p=>{this.slide&&this.slide.slideCount>0&&this.slide.renderSlide(od(p+1,1,this.slide.slideCount))},this.namespace="netless-app-slide",this.target=w.target,this.bgColor=dd(this.target),this.viewer=new qd({readonly:!1,onNewPageIndex:this.onNewPageIndex,onPlay:this.onPlay}),this.render()}render(){this.viewer.$content.appendChild(this.renderSlideContainer()),this.registerHotKeys(window)}registerHotKeys(w){this.sideEffect.addEventListener(w,"keydown",this.hotkeyListener,void 0,"hotkey")}mount(w,p){this.target.appendChild(this.renderStyle()),this.target.appendChild(this.viewer.$content),this.target.appendChild(this.viewer.$footer),this.slide=new Pi.Slide({anchor:this.$slide,interactive:!0,mode:"local",controller:this.debug,enableGlobalClick:!0,renderOptions:{minFPS:25,maxFPS:30,autoFPS:!0,autoResolution:!0,transactionBgColor:this.bgColor}}),this.registerEventListeners(),this.slide.setResource(w,p),this.slide.renderSlide(1)}renderStyle(){const w=document.createElement("style");return w.appendChild(document.createTextNode(Jd)),w}registerEventListeners(){if(!this.slide)return;const{slide:w}=this;w.on(Pi.SLIDE_EVENTS.slideChange,this.onPageChanged),w.on(Pi.SLIDE_EVENTS.renderStart,this.onTransitionStart),w.on(Pi.SLIDE_EVENTS.renderEnd,this.onTransitionEnd),w.on(Pi.SLIDE_EVENTS.mainSeqStepStart,this.onTransitionStart),w.on(Pi.SLIDE_EVENTS.mainSeqStepEnd,this.onTransitionEnd),w.on(Pi.SLIDE_EVENTS.renderError,this.onError),w.on(Pi.SLIDE_EVENTS.renderEnd,this.resolveReady),this.readyPromise.then(this.refreshPages)}destroy(){this.sideEffect.flushAll(),this.slide&&!this.destroyed&&(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 $_=Pi.Slide.usePlugin.bind(Pi.Slide),tu="0.2.26-beta.2",ty={kind:"Slide",setup(T){if(console.log("[Slide] setup @ "+tu),T.getIsWritable()&&T.storage.ensureState(Uh),!T.storage.state.taskId)throw new Error("[Slide] no taskId");const w=T.getView();if(!w)throw new Error("[Slide] no view, please set scenePath on addApp()");w.disableCameraTransform=!0;const p=T.getBox();p.mountStyles(Jd);try{p.$content.dataset.appSlideVersion=tu}catch{}const E=T.getInitScenePath();let M=null;const I=H=>{const J=T.getRoom();if(M&&M.slideController){let it=!1;J&&T.getIsWritable()&&(fd(J,T,M.slideController.slide,E),it=!0),Cr("[Slide] page to",H,it?"(synced)":""),M.viewer.setPageIndex(H-1)}},F=H=>{const J=T.getAppOptions()||{},it=new D0(y0(id({context:T},H),{onPageChanged:I,onRenderError:J.onRenderError,showRenderError:J.showRenderError}));return Zh&&xl.set(T.appId,it,p),An.setAppController(T.appId,it),it.readyPromise.then(H.onReady).then(()=>{const mt=T.getRoom();let Ut=!1;mt&&T.getIsWritable()&&(fd(mt,T,it.slide,E),Ut=!0);const Et=it.slide.slideState.currentSlideIndex;Cr("[Slide] page to",Et,Ut?"(synced)":"","(on ready)"),it.slide.on("renderEnd",H.onRenderEnd)}),it};M=new X_({box:p,view:w,mountSlideController:F,mountWhiteboard:T.mountView.bind(T),baseScenePath:E,appId:T.appId});const U=T.getRoom(),j=new da;return j.add(()=>{var H;return An.setAppContext(T.appId,T),An.enable=((H=T.getAppOptions())==null?void 0:H.debug)||!1,An.level="debug",()=>An.deleteApp(T.appId)}),U&&(M.toggleClickThrough(U.state.memberState.currentApplianceName),j.add(()=>{const H=J=>{J.memberState&&M&&M.toggleClickThrough(J.memberState.currentApplianceName)};return U.callbacks.on("onRoomStateChanged",H),()=>U.callbacks.off("onRoomStateChanged",H)})),T.emitter.on("destroy",()=>{Cr("[Slide] destroy",T.appId),Zh&&xl.delete(T.appId),j.flushAll(),M&&(M.destroy(),M=null)}),M.mount(),{viewer:()=>M,controller:()=>M==null?void 0:M.slideController,slide:()=>{var H;return(H=M==null?void 0:M.slideController)==null?void 0:H.slide},nextStep:()=>{var H;return M&&M.slideController?((H=M==null?void 0:M.slideController)==null||H.slide.nextStep(),!0):!1},prevStep:()=>{var H;return M&&M.slideController?((H=M==null?void 0:M.slideController)==null||H.slide.prevStep(),!0):!1},position:()=>{const H=M==null?void 0:M.slideController;if(H)return[H.page,H.pageCount]},nextPage:()=>{const H=M==null?void 0:M.slideController;if(H){const{page:J,pageCount:it}=H;if(it>0&&J<it)return H.jumpToPage(J+1),!0}return!1},prevPage:()=>{const H=M==null?void 0:M.slideController;if(H){const{page:J,pageCount:it}=H;if(it>0&&J>1)return H.jumpToPage(J-1),!0}return!1},jumpToPage:H=>{const J=M==null?void 0:M.slideController;if(J){const{page:it,pageCount:mt}=J;if(mt>0&&it>0&&it<=mt)return J.jumpToPage(H),!0}return!1}}}};return Ki.DefaultUrl=Bh,Ki.Slide=Pi.Slide,Ki.SlidePreviewer=Kd,Ki.addHooks=Z_,Ki.apps=xl,Ki.default=ty,Ki.getFreezerLength=Y_,Ki.onCreated=J_,Ki.onDestroyed=K_,Ki.previewSlide=Q_,Ki.setFreezerLength=q_,Ki.usePlugin=$_,Ki.version=tu,Object.defineProperties(Ki,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),Ki}({});
7855
+ `)();function Q_({container:T,taskId:w,url:p=Bh,debug:E=!1}){if(!w)throw new Error("[Slide] taskId is required");T.style.cssText+="display:flex;flex-direction:column";const M=new Kd({target:T});return M.debug=!!E,M.mount(w,p),M}class Kd{constructor(w){this.slide=null,this.debug=!1,this.sideEffect=new da,this.ready=!1,this.readyPromise=new Promise(p=>{this.resolveReady=()=>{this.ready=!0,p()}}),this.hotkeyListener=p=>{if(this.slide)switch(p.key){case"ArrowUp":case"ArrowLeft":{this.slide.prevStep();break}case"ArrowRight":case"ArrowDown":{this.slide.nextStep();break}}},this.onPageChanged=p=>{this.viewer.setPageIndex(p-1)},this.onTransitionStart=()=>{this.viewer.setPlaying()},this.onTransitionEnd=()=>{this.viewer.setPaused()},this.onError=({error:p})=>{this.viewer.setPaused(),console.warn("[Slide] render error",p)},this.destroyed=!1,this.refreshPages=()=>{this.slide&&(this.viewer.pages=pd(this.slide),this.viewer.setPageIndex(this.getPageIndex(this.slide.slideState.currentSlideIndex)))},this.onPlay=()=>{this.slide&&this.slide.nextStep()},this.onNewPageIndex=p=>{this.slide&&this.slide.slideCount>0&&this.slide.renderSlide(od(p+1,1,this.slide.slideCount))},this.namespace="netless-app-slide",this.target=w.target,this.bgColor=dd(this.target),this.viewer=new qd({readonly:!1,onNewPageIndex:this.onNewPageIndex,onPlay:this.onPlay}),this.render()}render(){this.viewer.$content.appendChild(this.renderSlideContainer()),this.registerHotKeys(window)}registerHotKeys(w){this.sideEffect.addEventListener(w,"keydown",this.hotkeyListener,void 0,"hotkey")}mount(w,p){this.target.appendChild(this.renderStyle()),this.target.appendChild(this.viewer.$content),this.target.appendChild(this.viewer.$footer),this.slide=new Pi.Slide({anchor:this.$slide,interactive:!0,mode:"local",controller:this.debug,enableGlobalClick:!0,renderOptions:{minFPS:25,maxFPS:30,autoFPS:!0,autoResolution:!0,transactionBgColor:this.bgColor}}),this.registerEventListeners(),this.slide.setResource(w,p),this.slide.renderSlide(1)}renderStyle(){const w=document.createElement("style");return w.appendChild(document.createTextNode(Jd)),w}registerEventListeners(){if(!this.slide)return;const{slide:w}=this;w.on(Pi.SLIDE_EVENTS.slideChange,this.onPageChanged),w.on(Pi.SLIDE_EVENTS.renderStart,this.onTransitionStart),w.on(Pi.SLIDE_EVENTS.renderEnd,this.onTransitionEnd),w.on(Pi.SLIDE_EVENTS.mainSeqStepStart,this.onTransitionStart),w.on(Pi.SLIDE_EVENTS.mainSeqStepEnd,this.onTransitionEnd),w.on(Pi.SLIDE_EVENTS.renderError,this.onError),w.on(Pi.SLIDE_EVENTS.renderEnd,this.resolveReady),this.readyPromise.then(this.refreshPages)}destroy(){this.sideEffect.flushAll(),this.slide&&!this.destroyed&&(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 $_=Pi.Slide.usePlugin.bind(Pi.Slide),tu="0.2.27",ty={kind:"Slide",setup(T){if(console.log("[Slide] setup @ "+tu),T.getIsWritable()&&T.storage.ensureState(Uh),!T.storage.state.taskId)throw new Error("[Slide] no taskId");const w=T.getView();if(!w)throw new Error("[Slide] no view, please set scenePath on addApp()");w.disableCameraTransform=!0;const p=T.getBox();p.mountStyles(Jd);try{p.$content.dataset.appSlideVersion=tu}catch{}const E=T.getInitScenePath();let M=null;const I=H=>{const J=T.getRoom();if(M&&M.slideController){let it=!1;J&&T.getIsWritable()&&(fd(J,T,M.slideController.slide,E),it=!0),Cr("[Slide] page to",H,it?"(synced)":""),M.viewer.setPageIndex(H-1)}},F=H=>{const J=T.getAppOptions()||{},it=new D0(y0(id({context:T},H),{onPageChanged:I,onRenderError:J.onRenderError,showRenderError:J.showRenderError}));return Zh&&xl.set(T.appId,it,p),An.setAppController(T.appId,it),it.readyPromise.then(H.onReady).then(()=>{const mt=T.getRoom();let Ut=!1;mt&&T.getIsWritable()&&(fd(mt,T,it.slide,E),Ut=!0);const Et=it.slide.slideState.currentSlideIndex;Cr("[Slide] page to",Et,Ut?"(synced)":"","(on ready)"),it.slide.on("renderEnd",H.onRenderEnd)}),it};M=new X_({box:p,view:w,mountSlideController:F,mountWhiteboard:T.mountView.bind(T),baseScenePath:E,appId:T.appId});const U=T.getRoom(),j=new da;return j.add(()=>{var H;return An.setAppContext(T.appId,T),An.enable=((H=T.getAppOptions())==null?void 0:H.debug)||!1,An.level="debug",()=>An.deleteApp(T.appId)}),U&&(M.toggleClickThrough(U.state.memberState.currentApplianceName),j.add(()=>{const H=J=>{J.memberState&&M&&M.toggleClickThrough(J.memberState.currentApplianceName)};return U.callbacks.on("onRoomStateChanged",H),()=>U.callbacks.off("onRoomStateChanged",H)})),T.emitter.on("destroy",()=>{Cr("[Slide] destroy",T.appId),Zh&&xl.delete(T.appId),j.flushAll(),M&&(M.destroy(),M=null)}),M.mount(),{viewer:()=>M,controller:()=>M==null?void 0:M.slideController,slide:()=>{var H;return(H=M==null?void 0:M.slideController)==null?void 0:H.slide},nextStep:()=>{var H;return M&&M.slideController?((H=M==null?void 0:M.slideController)==null||H.slide.nextStep(),!0):!1},prevStep:()=>{var H;return M&&M.slideController?((H=M==null?void 0:M.slideController)==null||H.slide.prevStep(),!0):!1},position:()=>{const H=M==null?void 0:M.slideController;if(H)return[H.page,H.pageCount]},nextPage:()=>{const H=M==null?void 0:M.slideController;if(H){const{page:J,pageCount:it}=H;if(it>0&&J<it)return H.jumpToPage(J+1),!0}return!1},prevPage:()=>{const H=M==null?void 0:M.slideController;if(H){const{page:J,pageCount:it}=H;if(it>0&&J>1)return H.jumpToPage(J-1),!0}return!1},jumpToPage:H=>{const J=M==null?void 0:M.slideController;if(J){const{page:it,pageCount:mt}=J;if(mt>0&&it>0&&it<=mt)return J.jumpToPage(H),!0}return!1}}}};return Ki.DefaultUrl=Bh,Ki.Slide=Pi.Slide,Ki.SlidePreviewer=Kd,Ki.addHooks=Z_,Ki.apps=xl,Ki.default=ty,Ki.getFreezerLength=Y_,Ki.onCreated=J_,Ki.onDestroyed=K_,Ki.previewSlide=Q_,Ki.setFreezerLength=q_,Ki.usePlugin=$_,Ki.version=tu,Object.defineProperties(Ki,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),Ki}({});
7856
7856
  //# sourceMappingURL=main.iife.js.map