@netless/app-slide 0.2.100-alpha.2 → 0.2.100
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.cjs.js +1 -1
- package/dist/main.cjs.js.map +1 -1
- package/dist/main.es.js +1 -1
- package/dist/main.es.js.map +1 -1
- package/dist/main.iife.js +1 -1
- package/dist/main.iife.js.map +1 -1
- package/package.json +3 -3
package/dist/main.iife.js
CHANGED
|
@@ -8070,5 +8070,5 @@ self.onmessage = function(e) {
|
|
|
8070
8070
|
box-shadow: 1px 0 2px rgba(0, 0, 0, 0.2);
|
|
8071
8071
|
cursor: grab;
|
|
8072
8072
|
`,this.addThumbDragListener(B,"vertical",D,P),M.appendChild(B),this.container.appendChild(M),this.verticalScrollBar=M}addThumbDragListener(T,m,M,E){let P=0,D=0;const B=(Tt,bt)=>{m==="horizontal"?this.isDraggingHorizontal=!0:this.isDraggingVertical=!0,P=m==="horizontal"?Tt:bt,D=m==="horizontal"?parseFloat(T.style.left)||0:parseFloat(T.style.top)||0,T.style.cursor="grabbing"},z=(Tt,bt)=>{var Q,G;if(!(m==="horizontal"?this.isDraggingHorizontal:this.isDraggingVertical))return;const F=(m==="horizontal"?Tt:bt)-P;let W=D+F;W=Math.max(1,Math.min(E-M-1,W)),m==="horizontal"?T.style.left=`${W}px`:T.style.top=`${W}px`;const O=E-M-2;let j=0;O>0&&(j=(W-1)/O,j=Math.max(0,Math.min(1,j))),m==="horizontal"?this.resizableContainer.handleNormalizeTranslate(j,(Q=this.resizableContainer.translateY)!=null?Q:.5,{triggerScrollBar:!1,triggerSync:!0}):this.resizableContainer.handleNormalizeTranslate((G=this.resizableContainer.translateX)!=null?G:.5,j,{triggerScrollBar:!1,triggerSync:!0})},X=()=>{m==="horizontal"?this.isDraggingHorizontal=!1:this.isDraggingVertical=!1,T.style.cursor="grab"},Z=Tt=>{B(Tt.clientX,Tt.clientY),Tt.preventDefault()},nt=Tt=>{z(Tt.clientX,Tt.clientY)},at=()=>{X()};this.addTrackedListener(T,"mousedown",Z),this.addTrackedListener(document,"mousemove",nt),this.addTrackedListener(document,"mouseup",at)}destroy(){this.clearScrollBars()}}class g_{constructor(T,m,M,E){this.onScaleChanged=null,this.whiteboardContainer=null,this.slide=null,this.scale=1,this.slideWidth=1,this.slideHeight=1,this.scrollBar=null,this.translateX=.5,this.translateY=.5,this.updateSlideSize=()=>{if(this.slide){let P=!1;(this.slideWidth!==this.slide.width||this.slideHeight!==this.slide.height)&&(this.slideWidth=this.slide.width,this.slideHeight=this.slide.height,P=!0),P&&this.updateResizableContainer()}},this.enableResize=M,this.parent=T,this.context=m,this.root=document.createElement("div"),this.root.style.width="100%",this.root.style.height="100%",this.root.style.overflow="hidden",this.parent.appendChild(this.root),this.scrollContainer=document.createElement("div"),this.scrollContainer.setAttribute("data-resizable-scroll","true"),this.scrollContainer.style.width="100%",this.scrollContainer.style.height="100%",this.scrollContainer.style.position="relative",this.scrollContainer.style.overflow="hidden",this.container=document.createElement("div"),this.container.style.position="relative",this.container.setAttribute("data-resizable-container","true"),this.scrollContainer.appendChild(this.container),this.root.appendChild(this.scrollContainer),this.enableResize&&(this.scrollBar=new m_(this.root,this))}getTranslate(){return{x:this.translateX,y:this.translateY}}getScale(){return this.scale}renderScrollBar(T,m,M,E){this.scrollBar&&this.scrollBar.render(T,M,m,E)}setSlideObject(T){this.slide=T,this.slide.on("renderEnd",this.updateSlideSize)}updateResizableContainer(){const T=this.scrollContainer.getBoundingClientRect();if(this.container.style.width=`${T.width*this.scale}px`,this.container.style.height=`${T.height*this.scale}px`,this.whiteboardContainer&&this.enableResize){const m=this.whiteboardContainer.getBoundingClientRect();if(m.width/m.height>this.slideWidth/this.slideHeight){const M=m.height*this.slideWidth/this.slideHeight,E=(m.width-M)/2;this.whiteboardContainer.style.clipPath=`inset(0px ${E}px 0px ${E}px)`}else if(m.width/m.height<this.slideWidth/this.slideHeight){const M=m.width*this.slideHeight/this.slideWidth,E=(m.height-M)/2;this.whiteboardContainer.style.clipPath=`inset(${E}px 0px ${E}px 0px)`}}this.translateX=.5,this.translateY=.5,this.renderScrollBar(T.width,T.width*this.scale,T.height,T.height*this.scale),this.handleNormalizeTranslate(this.translateX,this.translateY,{triggerScrollBar:!0,triggerSync:!0})}handleNormalizeTranslate(T,m,M){var z;if(Math.abs(T-this.translateX)<.001&&Math.abs(m-this.translateY)<.001&&!M.triggerSync)return;const E=this.scrollContainer.getBoundingClientRect(),P=this.container.getBoundingClientRect(),D=-T*(P.width-E.width),B=-m*(P.height-E.height);this.translateX=T,this.translateY=m,this.container.style.transform=`translate(${D}px, ${B}px)`,M.triggerScrollBar&&((z=this.scrollBar)==null||z.handleNormalizeTranslate(T,m)),M.triggerSync&&this.enableResize&&this.context.getIsWritable()&&this.context.storage.setState({translateX:this.translateX,translateY:this.translateY})}scaleContainer(T){Math.abs(this.scale-T)<.001||!this.enableResize||(T>1?(this.scrollContainer.style.width="calc(100% - 6px)",this.scrollContainer.style.height="calc(100% - 6px)"):(this.scrollContainer.style.width="100%",this.scrollContainer.style.height="100%"),T=this.enableResize?T:1,this.onScaleChanged&&this.enableResize&&this.onScaleChanged(T),this.scale=T,setTimeout(()=>{this.updateResizableContainer()}))}addSlideContainer(T){this.container.appendChild(T)}addWhiteboardContainer(T){this.container.appendChild(T),this.whiteboardContainer=T}getCurrentScale(){return this.scale}destroy(T){var m;(m=this.scrollBar)==null||m.destroy()}}var is=[],v_=function(){return is.some(function(_){return _.activeTargets.length>0})},y_=function(){return is.some(function(_){return _.skippedTargets.length>0})},dp="ResizeObserver loop completed with undelivered notifications.",__=function(){var _;typeof ErrorEvent=="function"?_=new ErrorEvent("error",{message:dp}):(_=document.createEvent("Event"),_.initEvent("error",!1,!1),_.message=dp),window.dispatchEvent(_)},_a;(function(_){_.BORDER_BOX="border-box",_.CONTENT_BOX="content-box",_.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"})(_a||(_a={}));var rs=function(_){return Object.freeze(_)},x_=function(){function _(T,m){this.inlineSize=T,this.blockSize=m,rs(this)}return _}(),pp=function(){function _(T,m,M,E){return this.x=T,this.y=m,this.width=M,this.height=E,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,rs(this)}return _.prototype.toJSON=function(){var T=this,m=T.x,M=T.y,E=T.top,P=T.right,D=T.bottom,B=T.left,z=T.width,X=T.height;return{x:m,y:M,top:E,right:P,bottom:D,left:B,width:z,height:X}},_.fromRect=function(T){return new _(T.x,T.y,T.width,T.height)},_}(),du=function(_){return _ instanceof SVGElement&&"getBBox"in _},fp=function(_){if(du(_)){var T=_.getBBox(),m=T.width,M=T.height;return!m&&!M}var E=_,P=E.offsetWidth,D=E.offsetHeight;return!(P||D||_.getClientRects().length)},mp=function(_){var T;if(_ instanceof Element)return!0;var m=(T=_==null?void 0:_.ownerDocument)===null||T===void 0?void 0:T.defaultView;return!!(m&&_ instanceof m.Element)},b_=function(_){switch(_.tagName){case"INPUT":if(_.type!=="image")break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1},xa=typeof window!="undefined"?window:{},Tl=new WeakMap,gp=/auto|scroll/,T_=/^tb|vertical/,S_=/msie|trident/i.test(xa.navigator&&xa.navigator.userAgent),Jr=function(_){return parseFloat(_||"0")},Is=function(_,T,m){return _===void 0&&(_=0),T===void 0&&(T=0),m===void 0&&(m=!1),new x_((m?T:_)||0,(m?_:T)||0)},vp=rs({devicePixelContentBoxSize:Is(),borderBoxSize:Is(),contentBoxSize:Is(),contentRect:new pp(0,0,0,0)}),yp=function(_,T){if(T===void 0&&(T=!1),Tl.has(_)&&!T)return Tl.get(_);if(fp(_))return Tl.set(_,vp),vp;var m=getComputedStyle(_),M=du(_)&&_.ownerSVGElement&&_.getBBox(),E=!S_&&m.boxSizing==="border-box",P=T_.test(m.writingMode||""),D=!M&&gp.test(m.overflowY||""),B=!M&&gp.test(m.overflowX||""),z=M?0:Jr(m.paddingTop),X=M?0:Jr(m.paddingRight),Z=M?0:Jr(m.paddingBottom),nt=M?0:Jr(m.paddingLeft),at=M?0:Jr(m.borderTopWidth),Tt=M?0:Jr(m.borderRightWidth),bt=M?0:Jr(m.borderBottomWidth),N=M?0:Jr(m.borderLeftWidth),R=nt+X,F=z+Z,W=N+Tt,O=at+bt,j=B?_.offsetHeight-O-_.clientHeight:0,Q=D?_.offsetWidth-W-_.clientWidth:0,G=E?R+W:0,It=E?F+O:0,Vt=M?M.width:Jr(m.width)-G-Q,ot=M?M.height:Jr(m.height)-It-j,V=Vt+R+Q+W,U=ot+F+j+O,ct=rs({devicePixelContentBoxSize:Is(Math.round(Vt*devicePixelRatio),Math.round(ot*devicePixelRatio),P),borderBoxSize:Is(V,U,P),contentBoxSize:Is(Vt,ot,P),contentRect:new pp(nt,z,Vt,ot)});return Tl.set(_,ct),ct},_p=function(_,T,m){var M=yp(_,m),E=M.borderBoxSize,P=M.contentBoxSize,D=M.devicePixelContentBoxSize;switch(T){case _a.DEVICE_PIXEL_CONTENT_BOX:return D;case _a.BORDER_BOX:return E;default:return P}},w_=function(){function _(T){var m=yp(T);this.target=T,this.contentRect=m.contentRect,this.borderBoxSize=rs([m.borderBoxSize]),this.contentBoxSize=rs([m.contentBoxSize]),this.devicePixelContentBoxSize=rs([m.devicePixelContentBoxSize])}return _}(),xp=function(_){if(fp(_))return 1/0;for(var T=0,m=_.parentNode;m;)T+=1,m=m.parentNode;return T},E_=function(){var _=1/0,T=[];is.forEach(function(D){if(D.activeTargets.length!==0){var B=[];D.activeTargets.forEach(function(X){var Z=new w_(X.target),nt=xp(X.target);B.push(Z),X.lastReportedSize=_p(X.target,X.observedBox),nt<_&&(_=nt)}),T.push(function(){D.callback.call(D.observer,B,D.observer)}),D.activeTargets.splice(0,D.activeTargets.length)}});for(var m=0,M=T;m<M.length;m++){var E=M[m];E()}return _},bp=function(_){is.forEach(function(m){m.activeTargets.splice(0,m.activeTargets.length),m.skippedTargets.splice(0,m.skippedTargets.length),m.observationTargets.forEach(function(E){E.isActive()&&(xp(E.target)>_?m.activeTargets.push(E):m.skippedTargets.push(E))})})},A_=function(){var _=0;for(bp(_);v_();)_=E_(),bp(_);return y_()&&__(),_>0},pu,Tp=[],C_=function(){return Tp.splice(0).forEach(function(_){return _()})},M_=function(_){if(!pu){var T=0,m=document.createTextNode(""),M={characterData:!0};new MutationObserver(function(){return C_()}).observe(m,M),pu=function(){m.textContent="".concat(T?T--:T++)}}Tp.push(_),pu()},R_=function(_){M_(function(){requestAnimationFrame(_)})},Sl=0,I_=function(){return!!Sl},P_=250,O_={attributes:!0,characterData:!0,childList:!0,subtree:!0},Sp=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],wp=function(_){return _===void 0&&(_=0),Date.now()+_},fu=!1,N_=function(){function _(){var T=this;this.stopped=!0,this.listener=function(){return T.schedule()}}return _.prototype.run=function(T){var m=this;if(T===void 0&&(T=P_),!fu){fu=!0;var M=wp(T);R_(function(){var E=!1;try{E=A_()}finally{if(fu=!1,T=M-wp(),!I_())return;E?m.run(1e3):T>0?m.run(T):m.start()}})}},_.prototype.schedule=function(){this.stop(),this.run()},_.prototype.observe=function(){var T=this,m=function(){return T.observer&&T.observer.observe(document.body,O_)};document.body?m():xa.addEventListener("DOMContentLoaded",m)},_.prototype.start=function(){var T=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),Sp.forEach(function(m){return xa.addEventListener(m,T.listener,!0)}))},_.prototype.stop=function(){var T=this;this.stopped||(this.observer&&this.observer.disconnect(),Sp.forEach(function(m){return xa.removeEventListener(m,T.listener,!0)}),this.stopped=!0)},_}(),mu=new N_,Ep=function(_){!Sl&&_>0&&mu.start(),Sl+=_,!Sl&&mu.stop()},L_=function(_){return!du(_)&&!b_(_)&&getComputedStyle(_).display==="inline"},D_=function(){function _(T,m){this.target=T,this.observedBox=m||_a.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return _.prototype.isActive=function(){var T=_p(this.target,this.observedBox,!0);return L_(this.target)&&(this.lastReportedSize=T),this.lastReportedSize.inlineSize!==T.inlineSize||this.lastReportedSize.blockSize!==T.blockSize},_}(),F_=function(){function _(T,m){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=T,this.callback=m}return _}(),wl=new WeakMap,Ap=function(_,T){for(var m=0;m<_.length;m+=1)if(_[m].target===T)return m;return-1},El=function(){function _(){}return _.connect=function(T,m){var M=new F_(T,m);wl.set(T,M)},_.observe=function(T,m,M){var E=wl.get(T),P=E.observationTargets.length===0;Ap(E.observationTargets,m)<0&&(P&&is.push(E),E.observationTargets.push(new D_(m,M&&M.box)),Ep(1),mu.schedule())},_.unobserve=function(T,m){var M=wl.get(T),E=Ap(M.observationTargets,m),P=M.observationTargets.length===1;E>=0&&(P&&is.splice(is.indexOf(M),1),M.observationTargets.splice(E,1),Ep(-1))},_.disconnect=function(T){var m=this,M=wl.get(T);M.observationTargets.slice().forEach(function(E){return m.unobserve(T,E.target)}),M.activeTargets.splice(0,M.activeTargets.length)},_}(),B_=function(){function _(T){if(arguments.length===0)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if(typeof T!="function")throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");El.connect(this,T)}return _.prototype.observe=function(T,m){if(arguments.length===0)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!mp(T))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");El.observe(this,T,m)},_.prototype.unobserve=function(T){if(arguments.length===0)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!mp(T))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");El.unobserve(this,T)},_.prototype.disconnect=function(){El.disconnect(this)},_.toString=function(){return"function ResizeObserver () { [polyfill code] }"},_}();const k_=window.ResizeObserver||B_,Cp=.5,gu=({width:_,height:T})=>`${_.toFixed(1)} x ${T.toFixed(1)} px`,vu=(_,T)=>Boolean(_&&T&&Math.abs(_.width-T.width)<=Cp&&Math.abs(_.height-T.height)<=Cp),U_=new Set(["clicker"]),G_=function(){};class Mp{constructor({context:T,box:m,view:M,mountSlideController:E,mountWhiteboard:P,baseScenePath:D,appId:B,urlInterrupter:z,enableScale:X,onPagesReady:Z,onNavigate:nt}){this.slideController=null,this.isViewMounted=!1,this.justSildeReadonly=!1,this.syncEventQueuePolicy="fifo",this.boxSizeEventCount=0,this._applyResize=(at,Tt)=>{var N,R,F;if(at.width<=0||at.height<=0||vu(this.lastAppliedSize,at))return;this.lastAppliedSize=at,this.lastAppliedSource=Tt,(N=this.resizableContainer)==null||N.updateResizableContainer(),(F=(R=this.slideController)==null?void 0:R.slide)==null||F.notifyFrameResize(),this.scaleDocsToFit();const bt=this._getContentSize();console.log("[app-slide] resize",{appId:this.appId,source:Tt,eventCount:this.boxSizeEventCount,event:gu(at),dom:gu(bt)})},this._applyCurrentBoxSize=at=>{const Tt=at!=null?at:this._getContentSize();this._applyResize(Tt,at?"event":"observer")},this._onObserverSize=at=>{at.width<=0||at.height<=0||(this.lastObserverSize=at,this._applyResize(at,"observer"))},this._onContextBoxSizeChange=at=>{if(at.appId===this.context.appId){if(this.boxSizeEventCount+=1,this.latestBoxSize={width:at.width,height:at.height},vu(this.lastObserverSize,this.latestBoxSize)||vu(this.lastAppliedSize,this.latestBoxSize)){console.log("[app-slide] boxSizeChange skipped, observer already applied",{appId:this.appId,eventCount:this.boxSizeEventCount,source:this.lastAppliedSource,size:gu(this.latestBoxSize)});return}this._applyResize(this.latestBoxSize,"event"),this._reconnectContentObserver()}},this.onError=({error:at,index:Tt})=>{var bt,N;this.viewer.setPaused(),(bt=this.slideController)!=null&&bt.showRenderError&&(this.$overlay.textContent=`Error on slide[page=${this.slideController.page}]: ${at.message}`,this.$overlay.style.opacity="1"),(N=this.slideController)!=null&&N.onRenderError&&this.slideController.onRenderError(at,Tt),Mr.warn("[Slide] render error",at)},this.onRenderStart=()=>{this.$whiteboardView.classList.add(this.wrapClassName("wb-view-hidden")),this.viewer.setPlaying()},this.onRenderEnd=()=>{},this.onPageChanged=()=>{clearTimeout(this._onPageChangedTimer),this._onPageChangedTimer=setTimeout(this._onPageChanged,200)},this._onPageChangedTimer=0,this._onPageChanged=()=>{this.$overlay.style.opacity="",this.$whiteboardView.classList.remove(this.wrapClassName("wb-view-hidden"))},this.refreshPages=()=>{this.slideController&&(this.viewer.pages=Id(this.slideController.slide,this.slideController.previewList),this.viewer.setPageIndex(this.getPageIndex(this.slideController.page)),this.scaleDocsToFit())},this.scaleDocsToFit=()=>{if(this.slideController){const{width:at,height:Tt}=this.slideController.slide;at&&Tt&&(this.whiteboardView.moveCameraToContain({originX:-at/2,originY:-Tt/2,width:at,height:Tt,animationMode:"immediately"}),this.whiteboardView.setCameraBound({damping:1,maxContentMode:()=>this.whiteboardView.camera.scale,minContentMode:()=>this.whiteboardView.camera.scale,centerX:0,centerY:0,width:at,height:Tt}),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=(at,Tt)=>{this.slideController&&this.slideController.jumpToPage(at+1,Tt)},this.sideEffect=new Cs,this.namespace="netless-app-slide",this.toPdf=async()=>{if(!this.slideController){this.reportProgress(100,null);return}const{slide:at}=this.slideController,Tt=1920,bt=document.createElement("canvas"),N=bt.getContext("2d"),{slideCount:R,width:F,height:W}=at;let O=Math.floor(F),j=Math.floor(W);O>Tt&&(O=Tt,j=Math.floor(W*O/F)),j>Tt&&(j=Tt,O=Math.floor(F*j/W)),bt.width=O,bt.height=j;const Q=document.createElement("canvas");Q.width=O,Q.height=j;const G=Q.getContext("2d");if(!G||!this.getWhiteSnapshot||!N)return this.reportProgress(100,null),null;const It=O>j?"l":"p",{jsPDF:Vt}=await import("jspdf"),ot=new Vt({format:[O,j],orientation:It,compress:!0});for(let ct=1;ct<=R;ct++){let tt=null;try{tt=await this.slideController.slide.snapshotWithTimingEnd(ct)}catch{}if(tt){const K=document.createElement("img");K.src=tt,await new Promise(dt=>K.onload=dt),N.drawImage(K,0,0,O,j)}G.clearRect(0,0,O,j),await this.getWhiteSnapshot(ct,Q,G,F,W);try{const K=Q.toDataURL("image/png"),dt=document.createElement("img");dt.src=K,await new Promise(rt=>dt.onload=rt),N.drawImage(dt,0,0,O,j)}catch{}const vt=bt.toDataURL("image/jpeg",.6);ct>1&&ot.addPage(),ot.addImage(vt,"JPEG",0,0,O,j,"","FAST"),N.clearRect(0,0,O,j),Math.ceil(ct/R*100)<100&&this.reportProgress(Math.ceil(ct/R*100),null)}const V=ot.output("arraybuffer"),U=this.box.title;this.reportProgress(100,{pdf:V,title:U})},this.context=T,this.box=m,this.whiteboardView=M,this.mountSlideController=E,this.mountWhiteboard=P,this.onNavigate=nt||G_,this.baseScenePath=D,this.enableScale=X!=null?X:!1,this.appId=B,this.viewer=new cu({readonly:m.readonly,onNewPageIndex:this.onNewPageIndex,onPlay:this.onPlay,urlInterrupter:z,onPagesReady:Z}),this.sideEffect.add(()=>{const at=Tt=>{this.setReadonly(Tt)};return m.events.on("readonly",at),()=>m.events.off("readonly",at)}),this.sideEffect.add(()=>{const at=Tt=>{Tt.data.type==="@netless/_request_save_pdf_"&&Tt.data.appId===this.appId&&this.toPdf().catch(()=>this.reportProgress(100,null))};return window.addEventListener("message",at),()=>{window.removeEventListener("message",at)}}),this.render(),this._registerBoxSizeChange(),this.sideEffect.add(()=>{const at=bt=>{this.resizableContainer&&this.resizableContainer.scaleContainer(bt)};console.log("[SlideDocsViewer] Initial storage state:",this.context.storage.state),console.log("[SlideDocsViewer] Initial slideScale:",this.context.storage.state.slideScale),this.context.storage.state.slideScale!==void 0?(console.log("[SlideDocsViewer] Applying initial slideScale:",this.context.storage.state.slideScale),at(this.context.storage.state.slideScale)):console.log("[SlideDocsViewer] No initial slideScale found");const Tt=bt=>{var N,R;if(bt.slideScale!==void 0){const F=bt.slideScale.newValue;at(F!=null?F:1)}if(bt.translateX!==void 0||bt.translateY!==void 0){const F=this.resizableContainer.getTranslate(),W=bt.translateX?(N=bt.translateX.newValue)!=null?N:.5:F.x,O=bt.translateY?(R=bt.translateY.newValue)!=null?R:.5:F.y;this.resizableContainer&&this.resizableContainer.handleNormalizeTranslate(W,O,{triggerScrollBar:!0,triggerSync:!1})}};return console.log("[SlideDocsViewer] Adding storage state listener"),this.context.storage.onStateChanged.addListener(Tt),()=>{console.log("[SlideDocsViewer] Removing storage state listener"),this.context.storage.onStateChanged.removeListener(Tt)}})}setJustSildeReadonly(T){this.justSildeReadonly=T,this.applyInteractionState()}setSyncEventQueuePolicy(T){this.syncEventQueuePolicy=T,this.applyInteractionState()}applyInteractionState(){var m;const T=(m=this.slideController)==null?void 0:m.slide;!T||(T.setInteractive(!this.justSildeReadonly),T.setSyncEventQueuePolicy(this.syncEventQueuePolicy))}render(){this.resizableContainer||(this.resizableContainer=new g_(this.viewer.$content,this.context,this.enableScale,this.box)),this.renderSlideContainer(),this.renderWhiteboardView(),this.renderOverlay(),this.resizableContainer.addSlideContainer(this.$slide),this.resizableContainer.addWhiteboardContainer(this.$whiteboardView),this.viewer.$content.appendChild(this.$overlay),this.sideEffect.addEventListener(window,"keydown",T=>{if(!this.justSildeReadonly&&this.box.focus&&this.slideController&&!Yv(T.target))switch(T.key){case"ArrowUp":case"ArrowLeft":{this.slideController.slide.prevStep(),this.onNavigate(this.slideController.page,"keydown");break}case"ArrowRight":case"ArrowDown":{this.slideController.slide.nextStep(),this.onNavigate(this.slideController.page,"keydown");break}}})}renderOverlay(){if(!this.$overlay){const T=document.createElement("div");T.className=this.wrapClassName("overlay"),this.$overlay=T}return this.$overlay}renderSlideContainer(){if(!this.$slide){const T=document.createElement("div");T.className=this.wrapClassName("slide"),T.dataset.appKind="Slide",this.$slide=T}return this.$slide}renderWhiteboardView(){return this.$whiteboardView||(this.$whiteboardView=document.createElement("div"),this.$whiteboardView.className=this.wrapClassName("wb-view")),this.$whiteboardView}mount(){var T,m,M,E;return this.box.mountContent(this.viewer.$content),this.box.mountFooter(this.viewer.$footer),this.slideController=this.mountSlideController({anchor:this.$slide,onRenderStart:this.onRenderStart,onRenderEnd:this.onRenderEnd,onTransitionStart:this.viewer.setPlaying,onTransitionEnd:this.viewer.setPaused,onReady:this.refreshPages,onNavigate:this.onNavigate,onError:this.onError}),this.applyInteractionState(),this.resizableContainer.setSlideObject(this.slideController.slide),this.scaleDocsToFit(),this.sideEffect.add(()=>(this.whiteboardView.callbacks.on("onSizeUpdated",this.scaleDocsToFit),()=>this.whiteboardView.callbacks.off("onSizeUpdated",this.scaleDocsToFit))),this._observeContentSize(),this._applyCurrentBoxSize(),(E=(M=(m=(T=this.context).getAppProxy)==null?void 0:m.call(T))==null?void 0:M.scheduleBoxSizeSync)==null||E.call(M),this}_getContentSize(){const T=(this.viewer.$content||this.box.$content).getBoundingClientRect();return{width:T.width,height:T.height}}_reconnectContentObserver(){const T=this.viewer.$content;!T||!this.contentResizeObserver||(this.contentResizeObserver.disconnect(),this.contentResizeObserver.observe(T))}_observeContentSize(){this.contentResizeObserver||(this.contentResizeObserver=new k_(T=>{const m=T[T.length-1],M=m!=null&&m.contentRect?{width:m.contentRect.width,height:m.contentRect.height}:this._getContentSize();this._onObserverSize(M)})),this._reconnectContentObserver()}_registerBoxSizeChange(){var T,m,M,E;this.offBoxSizeChange=this.context.emitter.on("boxSizeChange",this._onContextBoxSizeChange),this._observeContentSize(),this._applyCurrentBoxSize(),(E=(M=(m=(T=this.context).getAppProxy)==null?void 0:m.call(T))==null?void 0:M.scheduleBoxSizeSync)==null||E.call(M)}getPageIndex(T){return(T>0?T:1)-1}unmount(){var T,m;return(T=this.offBoxSizeChange)==null||T.call(this),this.offBoxSizeChange=void 0,(m=this.contentResizeObserver)==null||m.disconnect(),this.contentResizeObserver=void 0,this.slideController&&(this.slideController.destroy(),this.slideController=null),this.viewer.unmount(),this.resizableContainer.destroy(this.box),this}setReadonly(T){this.viewer.setReadonly(T)}destroy(){this.sideEffect.flushAll(),this.unmount(),this.viewer.destroy()}toggleClickThrough(T){this.$whiteboardView.style.pointerEvents=!T||U_.has(T)?"none":"auto"}wrapClassName(T){return`${this.namespace}-${T}`}async getWhiteSnapshot(T,m,M,E,P){const D={centerX:0,centerY:0,scale:Math.min(m.width/E,m.height/P)},B=`${this.baseScenePath}/${T}`,z=this.context.manager.windowManger;z._appliancePlugin?await z._appliancePlugin.screenshotToCanvasAsync(M,B,m.width,m.height,D):this.whiteboardView.screenshotToCanvas(M,B,m.width,m.height,D)}reportProgress(T,m){window.postMessage({type:"@netless/_result_save_pdf_",appId:this.appId,progress:T,result:m})}}Yn.useFreezer=!1,Yn.FreezerLength=2;function H_(){return Yn.FreezerLength}function j_(_){Yn.FreezerLength=_<1?1/0:_}const ba=_=>"["+_+"]",Al={map:new Map,boxes:new Map,queue:[],validateQueue(){for(this.queue.sort((_,T)=>{var E,P,D,B;const m=(P=(E=this.boxes.get(_))==null?void 0:E.zIndex)!=null?P:0,M=(B=(D=this.boxes.get(T))==null?void 0:D.zIndex)!=null?B:0;return-(m-M)}),ri("[Slide] freezer: validate",ba(this.queue));this.queue.length>Yn.FreezerLength;){const _=this.queue.pop(),T=this.map.get(_);T&&(ri("[Slide] freezer: validate-freeze",_,ba(this.queue)),T.freeze())}},set(_,T,m){ri("[Slide] freezer: add",_,ba(this.queue)),this.map.set(_,T),this.boxes.set(_,m),this.queue.includes(_)||this.queue.unshift(_),this.validateQueue()},delete(_){this.map.delete(_),this.boxes.delete(_),this.queue=this.queue.filter(T=>T!==_),ri("[Slide] freezer: delete",_,ba(this.queue))},focus(_){const T=this.map.get(_),m=this.queue.indexOf(_);m>-1&&this.queue.splice(m,1),this.queue.unshift(_),this.validateQueue(),ri("[Slide] freezer: focus",_,ba(this.queue)),T&&T.unfreeze()}},yu=new Set;function z_(_){return yu.add(_),()=>yu.delete(_)}const _u=new Set;function V_(_){return _u.add(_),()=>_u.delete(_)}const W_=_=>{Yn.useFreezer=!0,_.on("focus",({appId:T})=>{Al.focus(T)}),_.on("created",({appId:T})=>{yu.forEach(m=>m(T))}),_.on("destroy",({appId:T})=>{_u.forEach(m=>m(T))})};var Rp=`.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;-webkit-user-select:none;-webkit-touch-callout:none;-user-select:none;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;transition:opacity .2s}.netless-app-slide-wb-view-hidden{opacity:0}.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))}
|
|
8073
|
-
`;function X_({container:_,taskId:T,resourceList:m=[],url:M=Zh,debug:E=!1}){if(!T)throw new Error("[Slide] taskId is required");_.style.cssText+="display:flex;flex-direction:column";const P=new Ip({target:_});return P.debug=!!E,P.mount(T,M,m),P}class Ip{constructor(T){this.slide=null,this.debug=!1,this.previewList=[],this.sideEffect=new Cs,this.ready=!1,this.readyPromise=new Promise(m=>{this.resolveReady=()=>{this.ready=!0,m()}}),this.hotkeyListener=m=>{if(this.slide)switch(m.key){case"ArrowUp":case"ArrowLeft":{this.slide.prevStep();break}case"ArrowRight":case"ArrowDown":{this.slide.nextStep();break}}},this.onPageChanged=m=>{this.viewer.setPageIndex(m-1)},this.onTransitionStart=()=>{this.viewer.setPlaying()},this.onTransitionEnd=()=>{this.viewer.setPaused()},this.onError=({error:m})=>{this.viewer.setPaused(),console.warn("[Slide] render error",m)},this.destroyed=!1,this.refreshPages=()=>{this.slide&&(this.viewer.pages=Id(this.slide,this.previewList),this.viewer.setPageIndex(this.getPageIndex(this.slide.slideState.currentSlideIndex)))},this.onPlay=()=>{this.slide&&this.slide.nextStep()},this.onNewPageIndex=m=>{this.slide&&this.slide.slideCount>0&&this.slide.renderSlide(Td(m+1,1,this.slide.slideCount))},this.namespace="netless-app-slide",this.target=T.target,this.bgColor=Rd(this.target),this.viewer=new cu({readonly:!1,onNewPageIndex:this.onNewPageIndex,onPlay:this.onPlay}),this.render()}render(){this.viewer.$content.appendChild(this.renderSlideContainer()),this.registerHotKeys(window)}registerHotKeys(T){this.sideEffect.addEventListener(T,"keydown",this.hotkeyListener,void 0,"hotkey")}mount(T,m,M,E=[]){this.target.appendChild(this.renderStyle()),this.target.appendChild(this.viewer.$content),this.target.appendChild(this.viewer.$footer),this.slide=new ui.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(),M.length>0?this.slide.setResourceList(T,M):this.slide.setResource(T,m),this.slide.renderSlide(1),this.previewList=E}renderStyle(){const T=document.createElement("style");return T.appendChild(document.createTextNode(Rp)),T}registerEventListeners(){if(!this.slide)return;const{slide:T}=this;T.on(ui.SLIDE_EVENTS.slideChange,this.onPageChanged),T.on(ui.SLIDE_EVENTS.renderStart,this.onTransitionStart),T.on(ui.SLIDE_EVENTS.renderEnd,this.onTransitionEnd),T.on(ui.SLIDE_EVENTS.mainSeqStepStart,this.onTransitionStart),T.on(ui.SLIDE_EVENTS.mainSeqStepEnd,this.onTransitionEnd),T.on(ui.SLIDE_EVENTS.renderError,this.onError),T.on(ui.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(T){return(T>0?T:1)-1}renderSlideContainer(){if(!this.$slide){const T=document.createElement("div");T.className=this.wrapClassName("slide"),T.dataset.appKind="Slide",this.$slide=T}return this.$slide}wrapClassName(T){return`${this.namespace}-${T}`}}const Y_=ui.Slide.usePlugin.bind(ui.Slide),xu="0.2.100
|
|
8073
|
+
`;function X_({container:_,taskId:T,resourceList:m=[],url:M=Zh,debug:E=!1}){if(!T)throw new Error("[Slide] taskId is required");_.style.cssText+="display:flex;flex-direction:column";const P=new Ip({target:_});return P.debug=!!E,P.mount(T,M,m),P}class Ip{constructor(T){this.slide=null,this.debug=!1,this.previewList=[],this.sideEffect=new Cs,this.ready=!1,this.readyPromise=new Promise(m=>{this.resolveReady=()=>{this.ready=!0,m()}}),this.hotkeyListener=m=>{if(this.slide)switch(m.key){case"ArrowUp":case"ArrowLeft":{this.slide.prevStep();break}case"ArrowRight":case"ArrowDown":{this.slide.nextStep();break}}},this.onPageChanged=m=>{this.viewer.setPageIndex(m-1)},this.onTransitionStart=()=>{this.viewer.setPlaying()},this.onTransitionEnd=()=>{this.viewer.setPaused()},this.onError=({error:m})=>{this.viewer.setPaused(),console.warn("[Slide] render error",m)},this.destroyed=!1,this.refreshPages=()=>{this.slide&&(this.viewer.pages=Id(this.slide,this.previewList),this.viewer.setPageIndex(this.getPageIndex(this.slide.slideState.currentSlideIndex)))},this.onPlay=()=>{this.slide&&this.slide.nextStep()},this.onNewPageIndex=m=>{this.slide&&this.slide.slideCount>0&&this.slide.renderSlide(Td(m+1,1,this.slide.slideCount))},this.namespace="netless-app-slide",this.target=T.target,this.bgColor=Rd(this.target),this.viewer=new cu({readonly:!1,onNewPageIndex:this.onNewPageIndex,onPlay:this.onPlay}),this.render()}render(){this.viewer.$content.appendChild(this.renderSlideContainer()),this.registerHotKeys(window)}registerHotKeys(T){this.sideEffect.addEventListener(T,"keydown",this.hotkeyListener,void 0,"hotkey")}mount(T,m,M,E=[]){this.target.appendChild(this.renderStyle()),this.target.appendChild(this.viewer.$content),this.target.appendChild(this.viewer.$footer),this.slide=new ui.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(),M.length>0?this.slide.setResourceList(T,M):this.slide.setResource(T,m),this.slide.renderSlide(1),this.previewList=E}renderStyle(){const T=document.createElement("style");return T.appendChild(document.createTextNode(Rp)),T}registerEventListeners(){if(!this.slide)return;const{slide:T}=this;T.on(ui.SLIDE_EVENTS.slideChange,this.onPageChanged),T.on(ui.SLIDE_EVENTS.renderStart,this.onTransitionStart),T.on(ui.SLIDE_EVENTS.renderEnd,this.onTransitionEnd),T.on(ui.SLIDE_EVENTS.mainSeqStepStart,this.onTransitionStart),T.on(ui.SLIDE_EVENTS.mainSeqStepEnd,this.onTransitionEnd),T.on(ui.SLIDE_EVENTS.renderError,this.onError),T.on(ui.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(T){return(T>0?T:1)-1}renderSlideContainer(){if(!this.$slide){const T=document.createElement("div");T.className=this.wrapClassName("slide"),T.dataset.appKind="Slide",this.$slide=T}return this.$slide}wrapClassName(T){return`${this.namespace}-${T}`}}const Y_=ui.Slide.usePlugin.bind(ui.Slide),xu="0.2.100",q_={kind:"Slide",setup(_){var Z,nt,at,Tt,bt;if(console.log("[Slide] setup @ "+xu),_.getIsWritable()&&_.storage.ensureState($h),!_.storage.state.taskId)throw new Error("[Slide] no taskId");const T=_.getView();if(!T)throw new Error("[Slide] no view, please set scenePath on addApp()");T.disableCameraTransform=!0;const m=_.getBox();m.mountStyles(Rp);try{m.$content.dataset.appSlideVersion=xu}catch{}const M=_.getInitScenePath();let E=null;const P=N=>{const R=_.getRoom();if(E&&E.slideController){let F=!1;R&&_.getIsWritable()&&(Kh(R,_,E.slideController.slide,M),F=!0),ri("[Slide] page to",N,F?"(synced)":""),E.viewer.setPageIndex(N-1),E.viewer.setPaused(),E.onPageChanged();const W=E.viewer.pages.length;W>0&&_.dispatchAppEvent("pageStateChange",{index:N-1,length:W})}},D=N=>{const R=_.getAppOptions()||{},F=new Od({context:_,...N,onPageChanged:P,onNavigate:N.onNavigate,onRenderError:R.onRenderError,showRenderError:R.showRenderError,invisibleBehavior:R.invisibleBehavior});return Yn.useFreezer&&Al.set(_.appId,F,m),Mr.setAppController(_.appId,F),F.readyPromise.then(N.onReady).then(()=>{const W=_.getRoom();let O=!1;W&&_.getIsWritable()&&(Kh(W,_,F.slide,M),O=!0);const j=F.slide.slideState.currentSlideIndex;ri("[Slide] page to",j,O?"(synced)":"","(on ready)"),F.slide.on("renderEnd",N.onRenderEnd)}),F};E=new Mp({context:_,box:m,view:T,mountSlideController:D,mountWhiteboard:_.mountView.bind(_),baseScenePath:M,appId:_.appId,urlInterrupter:(Z=_.getAppOptions())==null?void 0:Z.urlInterrupter,enableScale:(at=(nt=_.getAppOptions())==null?void 0:nt.enableScale)!=null?at:!1,onPagesReady:({length:N})=>{const R=(E==null?void 0:E.viewer.pageIndex)||0;_.dispatchAppEvent("pageStateChange",{index:R,length:N})},onNavigate:(N,R)=>{ri("[Slide] user navigate to",N,R?`(${R})`:"")}});const B=_.getAppOptions();E.setSyncEventQueuePolicy((Tt=B==null?void 0:B.syncEventQueuePolicy)!=null?Tt:"fifo"),E.setJustSildeReadonly((bt=B==null?void 0:B.justSildeReadonly)!=null?bt:!1);const z=_.getRoom(),X=new Cs;return X.add(()=>{var N;return Mr.setAppContext(_.appId,_),Mr.enable=((N=_.getAppOptions())==null?void 0:N.debug)||!1,Mr.level="debug",()=>Mr.deleteApp(_.appId)}),z&&(E.toggleClickThrough(z.state.memberState.currentApplianceName),X.add(()=>{const N=R=>{R.memberState&&E&&E.toggleClickThrough(R.memberState.currentApplianceName)};return z.callbacks.on("onRoomStateChanged",N),()=>z.callbacks.off("onRoomStateChanged",N)})),_.emitter.on("destroy",()=>{ri("[Slide] destroy",_.appId),Yn.useFreezer&&Al.delete(_.appId),X.flushAll(),E&&(E.destroy(),E=null)}),E.mount(),{onScaleChanged:N=>{!E||(E.resizableContainer.onScaleChanged=N)},scaleView:N=>{let R=Number(N);Number.isNaN(R)&&(R=1),R<1&&(R=1),R>4&&(R=4),_.storage.setState({slideScale:R}),_.storage.setState({translateX:.5,translateY:.5}),E==null||E.resizableContainer.scaleContainer(R)},getViewScale:()=>E==null?void 0:E.resizableContainer.getScale(),translateView:(N,R)=>{var F,W;if(E!=null&&E.resizableContainer){const O=E.resizableContainer,j=_.getBox().$content.getBoundingClientRect(),Q=O.container.getBoundingClientRect(),G=Q.width-j.width,It=Q.height-j.height;if(G>0||It>0){const Vt=(F=O.translateX)!=null?F:.5,ot=(W=O.translateY)!=null?W:.5,V=G>0?N/G:0,U=It>0?R/It:0,ct=Math.max(0,Math.min(1,Vt+V)),tt=Math.max(0,Math.min(1,ot+U));_.storage.setState({translateX:ct,translateY:tt}),O.handleNormalizeTranslate(ct,tt,{triggerScrollBar:!0,triggerSync:!1})}}},setSildeReadonly:N=>{E==null||E.setJustSildeReadonly(N)},setSyncEventQueuePolicy:N=>{E==null||E.setSyncEventQueuePolicy(N)},viewer:()=>E,controller:()=>E==null?void 0:E.slideController,slide:()=>{var N;return(N=E==null?void 0:E.slideController)==null?void 0:N.slide},nextStep:()=>{var N;return E&&E.slideController?((N=E==null?void 0:E.slideController)==null||N.slide.nextStep(),!0):!1},prevStep:()=>{var N;return E&&E.slideController?((N=E==null?void 0:E.slideController)==null||N.slide.prevStep(),!0):!1},position:()=>{const N=E==null?void 0:E.slideController;if(N)return[N.page,N.pageCount]},nextPage:()=>{const N=E==null?void 0:E.slideController;if(N){const{page:R,pageCount:F}=N;if(F>0&&R<F)return N.jumpToPage(R+1),!0}return!1},prevPage:()=>{const N=E==null?void 0:E.slideController;if(N){const{page:R,pageCount:F}=N;if(F>0&&R>1)return N.jumpToPage(R-1),!0}return!1},jumpToPage:N=>{const R=E==null?void 0:E.slideController;if(R){const{page:F,pageCount:W}=R;if(W>0&&F>0&&F<=W)return R.jumpToPage(N),!0}return!1}}}};return Yn.DefaultUrl=Zh,Yn.DocsViewer=cu,Yn.SideEffectManager=Cs,Yn.Slide=ui.Slide,Yn.SlideController=Od,Yn.SlideControllerBase=Pd,Yn.SlideDocsViewer=Mp,Yn.SlidePreviewer=Ip,Yn.addHooks=W_,Yn.apps=Al,Yn.default=q_,Yn.getFreezerLength=H_,Yn.log=ri,Yn.logger=Mr,Yn.onCreated=z_,Yn.onDestroyed=V_,Yn.previewSlide=X_,Yn.setFreezerLength=j_,Yn.syncSceneWithSlide=Kh,Yn.usePlugin=Y_,Yn.version=xu,Object.defineProperties(Yn,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),Yn}({});
|
|
8074
8074
|
//# sourceMappingURL=main.iife.js.map
|