@univerjs/slides 0.1.12 → 0.1.13

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/lib/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var ue=Object.defineProperty;var _e=(a,r,e)=>r in a?ue(a,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[r]=e;var f=(a,r,e)=>(_e(a,typeof r!="symbol"?r+"":r,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("@univerjs/core"),l=require("@univerjs/engine-render"),V=require("@wendellhu/redi"),ce=require("rxjs"),fe={},le={},ve={};class H{constructor(){f(this,"zIndex",0);f(this,"viewKey",null)}check(r){if(r===this.viewKey)return this}create(r){}}const $=h.Registry.create();var we=Object.defineProperty,Se=Object.getOwnPropertyDescriptor,Ie=(a,r,e,n)=>{for(var t=n>1?void 0:n?Se(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&we(r,e,t),t},Pe=(a,r)=>(e,n)=>r(e,n,a);let re=class extends H{constructor(r){super();f(this,"zIndex",5);f(this,"viewKey",h.PageElementType.DOCUMENT);f(this,"_liquid",new l.Liquid);this._localeService=r}check(r){if(r===this.viewKey)return this}convert(r,e){var B,ae;const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:g,scaleY:u,skewX:v,skewY:p,flipX:w,flipY:_,title:R,description:j,document:O}=r;if(O==null)return;const m=new h.DocumentDataModel(O),I=new l.DocumentViewModel(m),T=l.DocumentSkeleton.create(I,this._localeService),P=new l.Documents("__DocsRender__",T);T.calculate();const D=new l.SceneViewer("__DocsViewer__"+n,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:u,skewX:v,skewY:p,flipX:w,flipY:_,isTransformer:!0}),S=new l.Scene("__DocsScene__"+n,D),b=new l.Viewport("__DocsViewPort_"+n,S,{left:0,top:0,bottom:0,right:0,isWheelPreventDefaultX:!0});S.attachControl(),S.on(l.EVENT_TYPE.wheel,(N,W)=>{const E=N;if(E.ctrlKey){const z=Math.abs(E.deltaX);let x=z<40?.2:z<80?.4:.2;x*=E.deltaY>0?-1:1,S.scaleX<1&&(x/=2),S.scaleX+x>4?S.scale(4,4):S.scaleX+x<.1?S.scale(.1,.1):(E.deltaY>0,E.preventDefault())}else b.onMouseWheel(E,W)}),new l.ScrollBar(b,{mainScene:e}),S.addObject(P);const y=T.getActualSize();P.resize(y.actualWidth,y.actualHeight),S.resize(y.actualWidth,y.actualHeight+200);const C=(B=P.getSkeleton())==null?void 0:B.getPageSize();P.onPageRenderObservable.add(N=>{const{page:W,pageLeft:E,pageTop:z,ctx:x}=N,{width:K,height:k,marginBottom:Q,marginLeft:M,marginRight:q,marginTop:G}=W;x.save(),x.translate(E-.5,z-.5),l.Rect.drawWith(x,{width:(C==null?void 0:C.width)||K,height:(C==null?void 0:C.height)||k,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:"rgba(255,255,255, 1)",zIndex:3}),x.restore()});const{left:Y,top:A}=P,U=T.getSkeletonData();if(U==null)return;const{pages:L}=U,X=[],F=new Map;this._recalculateSizeBySkeleton(P,S,T);for(let N=0,W=L.length;N<W;N++){const E=L[N],{skeDrawings:z,marginLeft:x,marginTop:K,pageWidth:k,pageHeight:Q}=E;this._liquid.translatePagePadding(E),z.forEach(M=>{const{aLeft:q,aTop:G,height:he,width:ge,drawingOrigin:Qe}=M,pe=new l.Picture(M.objectId,{left:q+Y+this._liquid.x,top:G+A+this._liquid.y,width:ge,height:he,zIndex:11,isTransformer:!0});F.set(M.objectId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),X.push(pe)}),this._liquid.translatePage(E,P.pageLayoutType,P.pageMarginLeft,P.pageMarginTop)}return S.openTransformer(),S.addObjects(X),(ae=S.getTransformer())==null||ae.onChangingObservable.add(N=>{const{objects:W}=N;W.forEach(E=>{const{oKey:z,left:x,top:K,height:k,width:Q}=E,M=F.get(z),q=(M==null?void 0:M.marginLeft)||0,G=(M==null?void 0:M.marginTop)||0;T==null||T.getViewModel().getDataModel().updateDrawing(z,{left:x-Y-q,top:K-A-G,height:k,width:Q})}),T==null||T.calculate()}),S.closeTransformer(),this._calculatePagePosition(P,S,b),D}_recalculateSizeBySkeleton(r,e,n){var c;const t=(c=n.getSkeletonData())==null?void 0:c.pages;if(t==null)return;let i=0,s=0;for(let o=0,d=t.length;o<d;o++){const g=t[o],{pageWidth:u,pageHeight:v}=g;r.pageLayoutType===l.PageLayoutType.VERTICAL?(s+=v,s+=r.pageMarginTop,o===d-1&&(s+=r.pageMarginTop),i=Math.max(i,u)):r.pageLayoutType===l.PageLayoutType.HORIZONTAL&&(i+=u,o!==d-1&&(i+=r.pageMarginLeft),s=Math.max(s,v))}r.resize(i,s),e.resize(i,s)}_calculatePagePosition(r,e,n,t=1){const i=e==null?void 0:e.getParent(),{width:s,height:c,pageMarginLeft:o,pageMarginTop:d}=r;if(i==null||s===Number.POSITIVE_INFINITY||c===Number.POSITIVE_INFINITY)return;const{width:g,height:u}=i;let v=0,p=0,w=0,_=0,R=Number.POSITIVE_INFINITY;if(g>(s+o*2)*t?(v=g/2-s*t/2,v/=t,w=(g-o*2)/t,R=0):(v=o,w=s+o*2,R=(w-g/t)/2),u>c?(p=u/2-c/2,_=(u-d*2)/t):(p=d,_=c+d*2),e.resize(w,_+200),r.translate(v,p),R!==Number.POSITIVE_INFINITY&&n!=null){const j=n.getBarScroll(R,0).x;n.scrollTo({x:j})}return this}};re=Ie([Pe(0,V.Inject(h.LocaleService))],re);class Te{constructor(){f(this,"zIndex",5)}create(r){return r.createInstance(re)}}$.add(new Te);class be extends H{constructor(){super(...arguments);f(this,"zIndex",1);f(this,"viewKey",h.PageElementType.IMAGE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:g,scaleY:u,skewX:v,skewY:p,flipX:w,flipY:_,title:R,description:j,image:O={}}=e,{imageProperties:m,placeholder:I,link:T}=O,P=(m==null?void 0:m.contentUrl)||"";return new l.Picture(n,{url:P,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:u,skewX:v,skewY:p,flipX:w,flipY:_,isTransformer:!0,forceRender:!0})}}class me{constructor(){f(this,"zIndex",4)}create(r){return r.createInstance(be)}}$.add(new me);var ye=Object.defineProperty,Oe=Object.getOwnPropertyDescriptor,Ee=(a,r,e,n)=>{for(var t=n>1?void 0:n?Oe(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&ye(r,e,t),t},De=(a,r)=>(e,n)=>r(e,n,a);let ne=class extends H{constructor(r){super();f(this,"zIndex",2);f(this,"viewKey",h.PageElementType.TEXT);this._localeService=r}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:g,scaleY:u,skewX:v,skewY:p,flipX:w,flipY:_,title:R,description:j,richText:O={}}=r,{text:m,ff:I,fs:T,it:P,bl:D,ul:S,st:b,ol:y,bg:C,bd:Y,cl:A,rich:U}=O;let L={top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:u,skewX:v,skewY:p,flipX:w,flipY:_,isTransformer:!0,forceRender:!0},X=!1;if(m!=null?(L={...L,text:m,ff:I,fs:T,it:P,bl:D,ul:S,st:b,ol:y,bg:C,bd:Y,cl:A},X=!0):U!=null&&(L={...L,richText:U},X=!0),X!==!1)return new l.RichText(this._localeService,n,L)}};ne=Ee([De(0,V.Inject(h.LocaleService))],ne);class Re{constructor(){f(this,"zIndex",0)}create(r){return r.createInstance(ne)}}$.add(new Re);class je extends H{constructor(){super(...arguments);f(this,"zIndex",2);f(this,"viewKey",h.PageElementType.SHAPE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:g,scaleY:u,skewX:v,skewY:p,flipX:w,flipY:_,title:R,description:j}=e,{shapeType:O,text:m,shapeProperties:I,placeholder:T,link:P}=e.shape||{},D=I==null?"":h.getColorStyle(I.shapeBackgroundFill)||"rgba(255,255,255,1)",S=I==null?void 0:I.outline,b={};if(S){const{outlineFill:y,weight:C}=S;b.strokeWidth=C,b.stroke=h.getColorStyle(y)||"rgba(0,0,0,1)"}if(O===h.ShapeType.RECTANGLE)return new l.Rect(n,{fill:D,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:u,skewX:v,skewY:p,flipX:w,flipY:_,isTransformer:!0,forceRender:!0,...b});if(O===h.ShapeType.ROUND_RECTANGLE){const y=(I==null?void 0:I.radius)||0;return new l.Rect(n,{fill:D,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:u,skewX:v,skewY:p,flipX:w,flipY:_,isTransformer:!0,forceRender:!0,radius:y,...b})}}}class Ce{constructor(){f(this,"zIndex",2)}create(r){return r.createInstance(je)}}$.add(new Ce);var xe=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor,Le=(a,r,e,n)=>{for(var t=n>1?void 0:n?Ve(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&xe(r,e,t),t},Me=(a,r)=>(e,n)=>r(e,n,a);let ie=class extends H{constructor(r){super();f(this,"zIndex",6);f(this,"viewKey",h.PageElementType.SLIDE);f(this,"_ObjectProvider",null);this._injector=r}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:g,scaleY:u,skewX:v,skewY:p,flipX:w,flipY:_,title:R,description:j,slide:O}=r;if(O==null)return;const m=new h.SlideDataModel(O),I=new l.Slide("__SLIDERender__"+n,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:u,skewX:v,skewY:p,flipX:w,flipY:_,isTransformer:!1,forceRender:!0});I.enableNav(),I.enableSelectedClipElement();const T=m.getPageOrder(),P=m.getPages();if(!T||!P)return I;this._ObjectProvider=new J(this._injector);for(let D=0,S=T.length;D<S;D++){const b=P[T[D]],{id:y}=b;I.addPage(this._createScene(y,I,b,e,m))}return I.activeFirstPage(),I}_createScene(r,e,n,t,i){var p;const{width:s,height:c}=e,o=new l.Scene(r,e,{width:s,height:c});new l.Viewport(`PageViewer_${r}`,o,{left:0,top:0,bottom:0,right:0}).closeClip();const{pageElements:g,pageBackgroundFill:u}=n,v=(p=this._ObjectProvider)==null?void 0:p.convertToRenderObjects(g,t);return o.openTransformer(),this._addBackgroundRect(o,u,i),o.addObjects(v),o}_addBackgroundRect(r,e,n){const t=n.getPageSize(),{width:i=0,height:s=0}=t,c=new l.Rect("canvas",{left:0,top:0,width:i,height:s,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:h.getColorStyle(e)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});r.addObject(c,0)}};ie=Le([Me(0,V.Inject(V.Injector))],ie);class Ue{constructor(){f(this,"zIndex",6)}create(r){return r.createInstance(ie)}}$.add(new Ue);var Ne=Object.defineProperty,ze=Object.getOwnPropertyDescriptor,Xe=(a,r,e,n)=>{for(var t=n>1?void 0:n?ze(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Ne(r,e,t),t},oe=(a,r)=>(e,n)=>r(e,n,a);let se=class extends H{constructor(r,e){super();f(this,"zIndex",4);f(this,"viewKey",h.PageElementType.SPREADSHEET);this._localeService=r,this._contextService=e}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:g,scaleY:u,skewX:v,skewY:p,flipX:w,flipY:_,spreadsheet:R}=r;if(R==null)return;const{worksheet:j,styles:O}=R,{cellData:m}=j,I=new h.ObjectMatrix(m),T=new h.Styles(O),P=new l.SpreadsheetSkeleton(new h.Worksheet(n,j,T),j,I,T,this._localeService,this._contextService),{rowTotalHeight:D,columnTotalWidth:S,rowHeaderWidth:b,columnHeaderHeight:y}=P,C=S+j.rowHeader.width||0,Y=D+j.columnHeader.height||0,A=new l.SceneViewer("spreadInSlideSceneViewer"+n,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:u,skewX:v,skewY:p,flipX:w,flipY:_,isTransformer:!0,forceRender:!0}),U=new l.Scene("spreadInSlideScene"+n,A,{width:C,height:Y});this._updateViewport(n,b,y,U,e);const L=new l.Spreadsheet("testSheetViewer",P,!1),X=new l.SpreadsheetRowHeader("spreadInSlideRow",P),F=new l.SpreadsheetColumnHeader("spreadInSlideColumn",P),B=new l.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:b,height:y,fill:l.getColor([248,249,250]),stroke:l.getColor([217,217,217]),strokeWidth:1});return L.zIndex=10,U.addObjects([L],1),U.addObjects([X,F,B],2),A}_updateViewport(r,e,n,t,i){if(i==null)return;const s=e*t.scaleX,c=n*t.scaleY,o=new l.Viewport("spreadInSlideViewMain"+r,t,{left:s,top:c,bottom:0,right:0,isWheelPreventDefaultX:!0}),d=new l.Viewport("spreadInSlideViewTop"+r,t,{left:s,height:c,top:0,right:0,isWheelPreventDefaultX:!0}),g=new l.Viewport("spreadInSlideViewLeft"+r,t,{left:0,bottom:0,top:c,width:s,isWheelPreventDefaultX:!0});new l.Viewport("spreadInSlideViewLeftTop"+r,t,{left:0,top:0,width:s,height:c,isWheelPreventDefaultX:!0}),o.onScrollAfterObserver.add(u=>{const{scrollX:v,scrollY:p,actualScrollX:w,actualScrollY:_}=u;d.updateScroll({scrollX:v,actualScrollX:w}),g.updateScroll({scrollY:p,actualScrollY:_})}),t.attachControl(),new l.ScrollBar(o,{mainScene:i}),t.on(l.EVENT_TYPE.wheel,(u,v)=>{const p=u;if(p.ctrlKey){const w=Math.abs(p.deltaX);let _=w<40?.05:w<80?.02:.01;_*=p.deltaY>0?-1:1,t.scaleX<1&&(_/=2),t.scaleX+_>4?t.scale(4,4):t.scaleX+_<.1?t.scale(.1,.1):(t.scaleBy(_,_),p.preventDefault())}else o.onMouseWheel(p,v)})}};se=Xe([oe(0,V.Inject(h.LocaleService)),oe(1,h.IContextService)],se);class Ae{constructor(){f(this,"zIndex",4)}create(r){return r.createInstance(se)}}$.add(new Ae);var We=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,Ye=(a,r,e,n)=>{for(var t=n>1?void 0:n?$e(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&We(r,e,t),t},He=(a,r)=>(e,n)=>r(e,n,a);let J=class{constructor(a){f(this,"_adaptors",[]);this._injector=a,this._adaptorLoader()}convertToRenderObjects(a,r){const e=Object.keys(a),n=[];return e.forEach(t=>{const i=a[t],s=this._executor(i,r);s!=null&&n.push(s)}),n}_executor(a,r){var t;const{id:e,type:n}=a;for(const i of this._adaptors){const s=(t=i.check(n))==null?void 0:t.convert(a,r);if(s!=null)return s}}_adaptorLoader(){$.getData().sort(h.sortRules).forEach(a=>{this._adaptors.push(a.create(this._injector))})}};J=Ye([He(0,V.Inject(V.Injector))],J);var Fe=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,Ke=(a,r,e,n)=>{for(var t=n>1?void 0:n?Be(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Fe(r,e,t),t},ee=(a,r)=>(e,n)=>r(e,n,a),de=(a=>(a.COMPONENT="__slideRender__",a.SCENE="__mainScene__",a.VIEW="__mainView__",a))(de||{});exports.CanvasView=class extends h.RxDisposable{constructor(e,n,t){super();f(this,"_objectProvider",null);f(this,"_activePageId","");f(this,"_refreshThumb",h.debounce(()=>{this.createThumbs()},300));this._univerInstanceService=e,this._injector=n,this._renderManagerService=t,this._initializeDependencies(this._injector),this._initialize()}_initialize(){this._renderManagerService.createRender$.pipe(ce.takeUntil(this.dispose$)).subscribe(e=>{this._create(e)}),this._univerInstanceService.getCurrentTypeOfUnit$(h.UniverInstanceType.UNIVER_SLIDE).pipe(ce.takeUntil(this.dispose$)).subscribe(e=>{this._create(e==null?void 0:e.getUnitId())}),this._univerInstanceService.getAllUnitsForType(h.UniverInstanceType.UNIVER_SLIDE).forEach(e=>{this._create(e.getUnitId())})}activePage(e){const n=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE);let t;if(e)t=n.getPage(e);else{const o=n.getPages(),d=n.getPageOrder();if(d==null||o==null)return;t=o[d[0]],e=t.id}const i=this._currentRender();if(t==null||i==null||i.mainComponent==null)return;const{id:s}=t,c=i.mainComponent;if(this._activePageId=e,c!=null&&c.hasPage(s)){c.changePage(s);return}this._createScene(s,t)}_scrollToCenter(){var d;const e=(d=this._currentRender())==null?void 0:d.scene,n=e==null?void 0:e.getViewport("__mainView__"),t=this._getCenterPositionViewPort(e);if(!n||!t)return;const{left:i,top:s}=t,{x:c,y:o}=n.getBarScroll(i,s);n.scrollTo({x:c,y:o})}_create(e){e==null||this._univerInstanceService.getUnit(e,h.UniverInstanceType.UNIVER_SLIDE)==null||this._renderManagerService.has(e)||this._addNewRender(e)}_currentRender(){const e=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE);return this._renderManagerService.getRenderById(e.getUnitId())}_addNewRender(e){const n=this._univerInstanceService.getUnit(e,h.UniverInstanceType.UNIVER_SLIDE);if(n==null)return;this._renderManagerService.createRender(e);const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{scene:i,engine:s}=t;s.onTransformChangeObservable.addOnce(()=>{this._scrollToCenter()}),s.onTransformChangeObservable.add(()=>{setTimeout(()=>{this.createThumbs()},300)}),i.resize(2400,1800);const c=new l.Viewport("__mainView__",i,{left:0,top:0,bottom:0,right:0,isWheelPreventDefaultX:!0});i.attachControl(),i.on(l.EVENT_TYPE.wheel,(d,g)=>{const u=d;if(u.ctrlKey){const v=Math.abs(u.deltaX);let p=v<40?.2:v<80?.4:.2;p*=u.deltaY>0?-1:1,i.scaleX<1&&(p/=2),i.scaleX+p>4?i.scale(4,4):i.scaleX+p<.1?i.scale(.1,.1):(u.deltaY>0,u.preventDefault())}else c.onMouseWheel(u,g)}),i.onFileLoadedObservable.add(()=>{this._refreshThumb()}),l.ScrollBar.attachTo(c),this._renderManagerService.setCurrent(e);const o=this._createSlide(i);t.mainComponent=o,t.components.set("__slideRender__",o),this._createSlidePages(n,o),s.runRenderLoop(()=>{i.render();const d=document.getElementById("app");d&&(d.innerText=`fps:${Math.round(s.getFps()).toString()}`)})}_createSlide(e){const n=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE),{width:t,height:i}=e,s=n.getPageSize(),{width:c=100,height:o=100}=s,d=new l.Slide("__slideRender__",{left:(t-c)/2,top:(i-o)/2,width:c,height:o,zIndex:10});return d.enableNav(),d.enableSelectedClipElement(),e.addObject(d),d}_addBackgroundRect(e,n){const i=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:s=0,height:c=0}=i,o=new l.Rect("canvas",{left:0,top:0,width:s,height:c,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:h.getColorStyle(n)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});e.addObject(o,0)}_getCenterPositionViewPort(e){if(!e)return{left:0,top:0};const{width:n,height:t}=e,i=e.getEngine(),s=(i==null?void 0:i.width)||0,c=(i==null?void 0:i.height)||0;return{left:(n-s)/2,top:(t-c)/2}}_thumbSceneRender(e,n){const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{engine:i}=t;if(i==null)return;const{width:s,height:c}=n,{width:o=s,height:d=c}=i,g=i.getCanvas().getContext();n.renderToThumb(g,e,o/s,d/c)}_createSlidePages(e,n){const t=e.getPages(),i=e.getPageOrder();if(!(!t||!i)&&i.length!==0){for(let s=0,c=i.length;s<c;s++){const o=i[s];this._createScene(o,t[o]),this._createThumb(o)}this._activePageId=i[0],n.activeFirstPage()}}createThumbs(){const n=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE).getPageOrder(),t=this._currentRender();if(!(!n||!t)&&n.length!==0)for(let i=0,s=n.length;i<s;i++){const c=n[i];this._thumbSceneRender(c,t.mainComponent)}}_createThumb(e){this._renderManagerService.createRender(e)}_createScene(e,n){const t=this._currentRender();if(!t||!this._objectProvider)return;const{scene:i,mainComponent:s}=t,c=s,{width:o,height:d}=c,g=new l.Scene(e,c,{width:o,height:d});new l.Viewport(`PageViewer_${e}`,g,{left:0,top:0,bottom:0,right:0}).closeClip();const{pageElements:v,pageBackgroundFill:p}=n,w=this._objectProvider.convertToRenderObjects(v,i);if(!w||!c)return;g.openTransformer(),this._addBackgroundRect(g,p),g.addObjects(w);const _=g.getTransformer();return _==null||_.onChangeEndObservable.add(()=>{this._thumbSceneRender(this._activePageId,c)}),_==null||_.onClearControlObservable.add(()=>{this._thumbSceneRender(this._activePageId,c)}),c.addPage(g),g}_initializeDependencies(e){this._objectProvider=e.createInstance(J)}};exports.CanvasView=Ke([h.OnLifecycle(h.LifecycleStages.Ready,exports.CanvasView),ee(0,h.IUniverInstanceService),ee(1,V.Inject(V.Injector)),ee(2,l.IRenderManagerService)],exports.CanvasView);var ke=Object.defineProperty,qe=Object.getOwnPropertyDescriptor,Ge=(a,r,e,n)=>{for(var t=n>1?void 0:n?qe(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&ke(r,e,t),t},te=(a,r)=>(e,n)=>r(e,n,a);const Ze={},Je="slides";var Z;exports.UniverSlidesPlugin=(Z=class extends h.Plugin{constructor(e={},n,t,i){super();f(this,"_config");f(this,"_canvasEngine",null);f(this,"_canvasView",null);this._univerInstanceService=n,this._localeService=t,this._injector=i,this._config=Object.assign(Ze,e),this._initializeDependencies(this._injector)}initialize(){this._localeService.load({zhCN:le}),this.initCanvasEngine()}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(l.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}getCanvasView(){return this._canvasView}_initializeDependencies(e){[[exports.CanvasView]].forEach(t=>{e.add(t)})}},f(Z,"pluginName",Je),f(Z,"type",h.UniverInstanceType.UNIVER_SLIDE),Z);exports.UniverSlidesPlugin=Ge([te(1,h.IUniverInstanceService),te(2,V.Inject(h.LocaleService)),te(3,V.Inject(V.Injector))],exports.UniverSlidesPlugin);exports.SLIDE_KEY=de;exports.enUS=fe;exports.ruRU=ve;exports.zhCN=le;
1
+ "use strict";var pe=Object.defineProperty;var ue=(s,r,e)=>r in s?pe(s,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[r]=e;var f=(s,r,e)=>(ue(s,typeof r!="symbol"?r+"":r,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("@univerjs/core"),l=require("@univerjs/engine-render"),V=require("@wendellhu/redi"),ce=require("rxjs");class H{constructor(){f(this,"zIndex",0);f(this,"viewKey",null)}check(r){if(r===this.viewKey)return this}create(r){}}const W=h.Registry.create();var _e=Object.defineProperty,ve=Object.getOwnPropertyDescriptor,fe=(s,r,e,n)=>{for(var t=n>1?void 0:n?ve(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&_e(r,e,t),t},we=(s,r)=>(e,n)=>r(e,n,s);let re=class extends H{constructor(r){super();f(this,"zIndex",5);f(this,"viewKey",h.PageElementType.DOCUMENT);f(this,"_liquid",new l.Liquid);this._localeService=r}check(r){if(r===this.viewKey)return this}convert(r,e){var B,se;const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:g,scaleY:w,skewX:p,skewY:_,flipX:u,flipY:v,title:R,description:j,document:E}=r;if(E==null)return;const m=new h.DocumentDataModel(E),I=new l.DocumentViewModel(m),T=l.DocumentSkeleton.create(I,this._localeService),P=new l.Documents("__DocsRender__",T);T.calculate();const D=new l.SceneViewer("__DocsViewer__"+n,{top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:w,skewX:p,skewY:_,flipX:u,flipY:v}),S=new l.Scene("__DocsScene__"+n,D),b=new l.Viewport("__DocsViewPort_"+n,S,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});S.attachControl(),S.on(l.EVENT_TYPE.wheel,(M,A)=>{const O=M;if(O.ctrlKey){const N=Math.abs(O.deltaX);let x=N<40?.2:N<80?.4:.2;x*=O.deltaY>0?-1:1,S.scaleX<1&&(x/=2),S.scaleX+x>4?S.scale(4,4):S.scaleX+x<.1?S.scale(.1,.1):(O.deltaY>0,O.preventDefault())}else b.onMouseWheel(O,A)}),new l.ScrollBar(b,{mainScene:e}),S.addObject(P);const y=T.getActualSize();P.resize(y.actualWidth,y.actualHeight),S.resize(y.actualWidth,y.actualHeight+200);const C=(B=P.getSkeleton())==null?void 0:B.getPageSize();P.onPageRenderObservable.add(M=>{const{page:A,pageLeft:O,pageTop:N,ctx:x}=M,{width:K,height:k,marginBottom:Q,marginLeft:X,marginRight:q,marginTop:G}=A;x.save(),x.translate(O-.5,N-.5),l.Rect.drawWith(x,{width:(C==null?void 0:C.width)||K,height:(C==null?void 0:C.height)||k,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:"rgba(255,255,255, 1)",zIndex:3}),x.restore()});const{left:$,top:Y}=P,U=T.getSkeletonData();if(U==null)return;const{pages:L}=U,z=[],F=new Map;this._recalculateSizeBySkeleton(P,S,T);for(let M=0,A=L.length;M<A;M++){const O=L[M],{skeDrawings:N,marginLeft:x,marginTop:K,pageWidth:k,pageHeight:Q}=O;this._liquid.translatePagePadding(O),N.forEach(X=>{const{aLeft:q,aTop:G,height:de,width:he,drawingOrigin:Ge}=X,ge=new l.Image(X.drawingId,{left:q+$+this._liquid.x,top:G+Y+this._liquid.y,width:he,height:de,zIndex:11});F.set(X.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),z.push(ge)}),this._liquid.translatePage(O,P.pageLayoutType,P.pageMarginLeft,P.pageMarginTop)}return S.addObjects(z),z.forEach(M=>{S.attachTransformerTo(M)}),(se=S.getTransformer())==null||se.onChangingObservable.add(M=>{const{objects:A}=M;A.forEach(O=>{const{oKey:N,left:x,top:K,height:k,width:Q}=O,X=F.get(N),q=(X==null?void 0:X.marginLeft)||0,G=(X==null?void 0:X.marginTop)||0;T==null||T.getViewModel().getDataModel().updateDrawing(N,{left:x-$-q,top:K-Y-G,height:k,width:Q})}),T==null||T.calculate()}),this._calculatePagePosition(P,S,b),D}_recalculateSizeBySkeleton(r,e,n){var c;const t=(c=n.getSkeletonData())==null?void 0:c.pages;if(t==null)return;let i=0,a=0;for(let o=0,d=t.length;o<d;o++){const g=t[o],{pageWidth:w,pageHeight:p}=g;r.pageLayoutType===l.PageLayoutType.VERTICAL?(a+=p,a+=r.pageMarginTop,o===d-1&&(a+=r.pageMarginTop),i=Math.max(i,w)):r.pageLayoutType===l.PageLayoutType.HORIZONTAL&&(i+=w,o!==d-1&&(i+=r.pageMarginLeft),a=Math.max(a,p))}r.resize(i,a),e.resize(i,a)}_calculatePagePosition(r,e,n,t=1){const i=e==null?void 0:e.getParent(),{width:a,height:c,pageMarginLeft:o,pageMarginTop:d}=r;if(i==null||a===Number.POSITIVE_INFINITY||c===Number.POSITIVE_INFINITY)return;const{width:g,height:w}=i;let p=0,_=0,u=0,v=0,R=Number.POSITIVE_INFINITY;if(g>(a+o*2)*t?(p=g/2-a*t/2,p/=t,u=(g-o*2)/t,R=0):(p=o,u=a+o*2,R=(u-g/t)/2),w>c?(_=w/2-c/2,v=(w-d*2)/t):(_=d,v=c+d*2),e.resize(u,v+200),r.translate(p,_),R!==Number.POSITIVE_INFINITY&&n!=null){const j=n.getBarScroll(R,0).x;n.scrollTo({x:j})}return this}};re=fe([we(0,V.Inject(h.LocaleService))],re);class Se{constructor(){f(this,"zIndex",5)}create(r){return r.createInstance(re)}}W.add(new Se);class Ie extends H{constructor(){super(...arguments);f(this,"zIndex",1);f(this,"viewKey",h.PageElementType.IMAGE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:g,scaleY:w,skewX:p,skewY:_,flipX:u,flipY:v,title:R,description:j,image:E={}}=e,{imageProperties:m,placeholder:I,link:T}=E,P=(m==null?void 0:m.contentUrl)||"";return new l.Image(n,{url:P,top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:w,skewX:p,skewY:_,flipX:u,flipY:v,forceRender:!0})}}class Pe{constructor(){f(this,"zIndex",4)}create(r){return r.createInstance(Ie)}}W.add(new Pe);var Te=Object.defineProperty,be=Object.getOwnPropertyDescriptor,me=(s,r,e,n)=>{for(var t=n>1?void 0:n?be(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&Te(r,e,t),t},ye=(s,r)=>(e,n)=>r(e,n,s);let ne=class extends H{constructor(r){super();f(this,"zIndex",2);f(this,"viewKey",h.PageElementType.TEXT);this._localeService=r}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:g,scaleY:w,skewX:p,skewY:_,flipX:u,flipY:v,title:R,description:j,richText:E={}}=r,{text:m,ff:I,fs:T,it:P,bl:D,ul:S,st:b,ol:y,bg:C,bd:$,cl:Y,rich:U}=E;let L={top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:w,skewX:p,skewY:_,flipX:u,flipY:v,forceRender:!0},z=!1;if(m!=null?(L={...L,text:m,ff:I,fs:T,it:P,bl:D,ul:S,st:b,ol:y,bg:C,bd:$,cl:Y},z=!0):U!=null&&(L={...L,richText:U},z=!0),z!==!1)return new l.RichText(this._localeService,n,L)}};ne=me([ye(0,V.Inject(h.LocaleService))],ne);class Re{constructor(){f(this,"zIndex",0)}create(r){return r.createInstance(ne)}}W.add(new Re);class Ee extends H{constructor(){super(...arguments);f(this,"zIndex",2);f(this,"viewKey",h.PageElementType.SHAPE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:g,scaleY:w,skewX:p,skewY:_,flipX:u,flipY:v,title:R,description:j}=e,{shapeType:E,text:m,shapeProperties:I,placeholder:T,link:P}=e.shape||{},D=I==null?"":h.getColorStyle(I.shapeBackgroundFill)||"rgba(255,255,255,1)",S=I==null?void 0:I.outline,b={};if(S){const{outlineFill:y,weight:C}=S;b.strokeWidth=C,b.stroke=h.getColorStyle(y)||"rgba(0,0,0,1)"}if(E===h.BasicShapes.Rect)return new l.Rect(n,{fill:D,top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:w,skewX:p,skewY:_,flipX:u,flipY:v,forceRender:!0,...b});if(E===h.BasicShapes.RoundRect){const y=(I==null?void 0:I.radius)||0;return new l.Rect(n,{fill:D,top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:w,skewX:p,skewY:_,flipX:u,flipY:v,forceRender:!0,radius:y,...b})}}}class Oe{constructor(){f(this,"zIndex",2)}create(r){return r.createInstance(Ee)}}W.add(new Oe);var De=Object.defineProperty,je=Object.getOwnPropertyDescriptor,Ce=(s,r,e,n)=>{for(var t=n>1?void 0:n?je(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&De(r,e,t),t},xe=(s,r)=>(e,n)=>r(e,n,s);let ie=class extends H{constructor(r){super();f(this,"zIndex",6);f(this,"viewKey",h.PageElementType.SLIDE);f(this,"_ObjectProvider",null);this._injector=r}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:g,scaleY:w,skewX:p,skewY:_,flipX:u,flipY:v,title:R,description:j,slide:E}=r;if(E==null)return;const m=new h.SlideDataModel(E),I=new l.Slide("__SLIDERender__"+n,{top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:w,skewX:p,skewY:_,flipX:u,flipY:v,forceRender:!0});I.enableNav(),I.enableSelectedClipElement();const T=m.getPageOrder(),P=m.getPages();if(!T||!P)return I;this._ObjectProvider=new J(this._injector);for(let D=0,S=T.length;D<S;D++){const b=P[T[D]],{id:y}=b;I.addPage(this._createScene(y,I,b,e,m))}return I.activeFirstPage(),I}_createScene(r,e,n,t,i){var _;const{width:a,height:c}=e,o=new l.Scene(r,e,{width:a,height:c});new l.Viewport(`PageViewer_${r}`,o,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:g,pageBackgroundFill:w}=n,p=(_=this._ObjectProvider)==null?void 0:_.convertToRenderObjects(g,t);return this._addBackgroundRect(o,w,i),o.addObjects(p),p==null||p.forEach(u=>{o.attachTransformerTo(u)}),o}_addBackgroundRect(r,e,n){const t=n.getPageSize(),{width:i=0,height:a=0}=t,c=new l.Rect("canvas",{left:0,top:0,width:i,height:a,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:h.getColorStyle(e)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});r.addObject(c,0)}};ie=Ce([xe(0,V.Inject(V.Injector))],ie);class Ve{constructor(){f(this,"zIndex",6)}create(r){return r.createInstance(ie)}}W.add(new Ve);var Le=Object.defineProperty,Me=Object.getOwnPropertyDescriptor,Xe=(s,r,e,n)=>{for(var t=n>1?void 0:n?Me(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&Le(r,e,t),t},oe=(s,r)=>(e,n)=>r(e,n,s);let ae=class extends H{constructor(r,e){super();f(this,"zIndex",4);f(this,"viewKey",h.PageElementType.SPREADSHEET);this._localeService=r,this._contextService=e}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:a=0,width:c,height:o,angle:d,scaleX:g,scaleY:w,skewX:p,skewY:_,flipX:u,flipY:v,spreadsheet:R}=r;if(R==null)return;const{worksheet:j,styles:E}=R,{cellData:m}=j,I=new h.ObjectMatrix(m),T=new h.Styles(E),P=new l.SpreadsheetSkeleton(new h.Worksheet(n,j,T),j,I,T,this._localeService,this._contextService),{rowTotalHeight:D,columnTotalWidth:S,rowHeaderWidth:b,columnHeaderHeight:y}=P,C=S+j.rowHeader.width||0,$=D+j.columnHeader.height||0,Y=new l.SceneViewer("spreadInSlideSceneViewer"+n,{top:a,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:g,scaleY:w,skewX:p,skewY:_,flipX:u,flipY:v,forceRender:!0}),U=new l.Scene("spreadInSlideScene"+n,Y,{width:C,height:$});this._updateViewport(n,b,y,U,e);const L=new l.Spreadsheet("testSheetViewer",P,!1),z=new l.SpreadsheetRowHeader("spreadInSlideRow",P),F=new l.SpreadsheetColumnHeader("spreadInSlideColumn",P),B=new l.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:b,height:y,fill:l.getColor([248,249,250]),stroke:l.getColor([217,217,217]),strokeWidth:1});return L.zIndex=10,U.addObjects([L],1),U.addObjects([z,F,B],2),Y}_updateViewport(r,e,n,t,i){if(i==null)return;const a=e*t.scaleX,c=n*t.scaleY,o=new l.Viewport("spreadInSlideViewMain"+r,t,{left:a,top:c,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),d=new l.Viewport("spreadInSlideViewTop"+r,t,{left:a,height:c,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),g=new l.Viewport("spreadInSlideViewLeft"+r,t,{left:0,bottom:0,top:c,width:a,isRelativeY:!0,isWheelPreventDefaultX:!0});new l.Viewport("spreadInSlideViewLeftTop"+r,t,{left:0,top:0,width:a,height:c,isWheelPreventDefaultX:!0}),o.onScrollAfterObserver.add(w=>{const{scrollX:p,scrollY:_,actualScrollX:u,actualScrollY:v}=w;d.updateScroll({scrollX:p,actualScrollX:u}),g.updateScroll({scrollY:_,actualScrollY:v})}),t.attachControl(),new l.ScrollBar(o,{mainScene:i}),t.on(l.EVENT_TYPE.wheel,(w,p)=>{const _=w;if(_.ctrlKey){const u=Math.abs(_.deltaX);let v=u<40?.05:u<80?.02:.01;v*=_.deltaY>0?-1:1,t.scaleX<1&&(v/=2),t.scaleX+v>4?t.scale(4,4):t.scaleX+v<.1?t.scale(.1,.1):(t.scaleBy(v,v),_.preventDefault())}else o.onMouseWheel(_,p)})}};ae=Xe([oe(0,V.Inject(h.LocaleService)),oe(1,h.IContextService)],ae);class Ue{constructor(){f(this,"zIndex",4)}create(r){return r.createInstance(ae)}}W.add(new Ue);var ze=Object.defineProperty,Ne=Object.getOwnPropertyDescriptor,Ye=(s,r,e,n)=>{for(var t=n>1?void 0:n?Ne(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&ze(r,e,t),t},Ae=(s,r)=>(e,n)=>r(e,n,s);let J=class{constructor(s){f(this,"_adaptors",[]);this._injector=s,this._adaptorLoader()}convertToRenderObjects(s,r){const e=Object.keys(s),n=[];return e.forEach(t=>{const i=s[t],a=this._executor(i,r);a!=null&&n.push(a)}),n}_executor(s,r){var t;const{id:e,type:n}=s;for(const i of this._adaptors){const a=(t=i.check(n))==null?void 0:t.convert(s,r);if(a!=null)return a}}_adaptorLoader(){W.getData().sort(h.sortRules).forEach(s=>{this._adaptors.push(s.create(this._injector))})}};J=Ye([Ae(0,V.Inject(V.Injector))],J);var We=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,He=(s,r,e,n)=>{for(var t=n>1?void 0:n?$e(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&We(r,e,t),t},ee=(s,r)=>(e,n)=>r(e,n,s),le=(s=>(s.COMPONENT="__slideRender__",s.SCENE="__mainScene__",s.VIEW="__mainView__",s))(le||{});exports.CanvasView=class extends h.RxDisposable{constructor(e,n,t){super();f(this,"_objectProvider",null);f(this,"_activePageId","");f(this,"_refreshThumb",h.debounce(()=>{this.createThumbs()},300));this._univerInstanceService=e,this._injector=n,this._renderManagerService=t,this._initializeDependencies(this._injector),this._initialize()}_initialize(){this._renderManagerService.createRender$.pipe(ce.takeUntil(this.dispose$)).subscribe(e=>{this._create(e)}),this._univerInstanceService.getCurrentTypeOfUnit$(h.UniverInstanceType.UNIVER_SLIDE).pipe(ce.takeUntil(this.dispose$)).subscribe(e=>{this._create(e==null?void 0:e.getUnitId())}),this._univerInstanceService.getAllUnitsForType(h.UniverInstanceType.UNIVER_SLIDE).forEach(e=>{this._create(e.getUnitId())})}activePage(e){const n=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE);let t;if(e)t=n.getPage(e);else{const o=n.getPages(),d=n.getPageOrder();if(d==null||o==null)return;t=o[d[0]],e=t.id}const i=this._currentRender();if(t==null||i==null||i.mainComponent==null)return;const{id:a}=t,c=i.mainComponent;if(this._activePageId=e,c!=null&&c.hasPage(a)){c.changePage(a);return}this._createScene(a,t)}_scrollToCenter(){var d;const e=(d=this._currentRender())==null?void 0:d.scene,n=e==null?void 0:e.getViewport("__mainView__"),t=this._getCenterPositionViewPort(e);if(!n||!t)return;const{left:i,top:a}=t,{x:c,y:o}=n.getBarScroll(i,a);n.scrollTo({x:c,y:o})}_create(e){e==null||this._univerInstanceService.getUnit(e,h.UniverInstanceType.UNIVER_SLIDE)==null||this._renderManagerService.has(e)||this._addNewRender(e)}_currentRender(){const e=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE);return this._renderManagerService.getRenderById(e.getUnitId())}_addNewRender(e){const n=this._univerInstanceService.getUnit(e,h.UniverInstanceType.UNIVER_SLIDE);if(n==null)return;this._renderManagerService.createRender(e);const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{scene:i,engine:a}=t,c=a.onTransformChangeObservable.add(()=>{this._scrollToCenter(),c==null||c.dispose()});a.onTransformChangeObservable.add(()=>{setTimeout(()=>{this.createThumbs()},300)}),i.resize(2400,1800);const o=new l.Viewport("__mainView__",i,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});i.attachControl(),i.on(l.EVENT_TYPE.wheel,(g,w)=>{const p=g;if(p.ctrlKey){const _=Math.abs(p.deltaX);let u=_<40?.2:_<80?.4:.2;u*=p.deltaY>0?-1:1,i.scaleX<1&&(u/=2),i.scaleX+u>4?i.scale(4,4):i.scaleX+u<.1?i.scale(.1,.1):(p.deltaY>0,p.preventDefault())}else o.onMouseWheel(p,w)}),i.onFileLoadedObservable.add(()=>{this._refreshThumb()}),l.ScrollBar.attachTo(o),this._renderManagerService.setCurrent(e);const d=this._createSlide(i);t.mainComponent=d,t.components.set("__slideRender__",d),this._createSlidePages(n,d),a.runRenderLoop(()=>{i.render();const g=document.getElementById("app");g&&(g.innerText=`fps:${Math.round(a.getFps()).toString()}`)})}_createSlide(e){const n=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE),{width:t,height:i}=e,a=n.getPageSize(),{width:c=100,height:o=100}=a,d=new l.Slide("__slideRender__",{left:(t-c)/2,top:(i-o)/2,width:c,height:o,zIndex:10});return d.enableNav(),d.enableSelectedClipElement(),e.addObject(d),d}_addBackgroundRect(e,n){const i=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:a=0,height:c=0}=i,o=new l.Rect("canvas",{left:0,top:0,width:a,height:c,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:h.getColorStyle(n)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});e.addObject(o,0)}_getCenterPositionViewPort(e){if(!e)return{left:0,top:0};const{width:n,height:t}=e,i=e.getEngine(),a=(i==null?void 0:i.width)||0,c=(i==null?void 0:i.height)||0;return{left:(n-a)/2,top:(t-c)/2}}_thumbSceneRender(e,n){const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{engine:i}=t;if(i==null)return;const{width:a,height:c}=n,{width:o=a,height:d=c}=i,g=i.getCanvas().getContext();n.renderToThumb(g,e,o/a,d/c)}_createSlidePages(e,n){const t=e.getPages(),i=e.getPageOrder();if(!(!t||!i)&&i.length!==0){for(let a=0,c=i.length;a<c;a++){const o=i[a];this._createScene(o,t[o]),this._createThumb(o)}this._activePageId=i[0],n.activeFirstPage()}}createThumbs(){const n=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE).getPageOrder(),t=this._currentRender();if(!(!n||!t)&&n.length!==0)for(let i=0,a=n.length;i<a;i++){const c=n[i];this._thumbSceneRender(c,t.mainComponent)}}_createThumb(e){this._renderManagerService.createRender(e)}_createScene(e,n){const t=this._currentRender();if(!t||!this._objectProvider)return;const{scene:i,mainComponent:a}=t,c=a,{width:o,height:d}=c,g=new l.Scene(e,c,{width:o,height:d});new l.Viewport(`PageViewer_${e}`,g,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:p,pageBackgroundFill:_}=n,u=this._objectProvider.convertToRenderObjects(p,i);if(!u||!c)return;this._addBackgroundRect(g,_),g.addObjects(u),u.forEach(R=>{g.attachTransformerTo(R)});const v=g.getTransformer();return v==null||v.onChangeEndObservable.add(()=>{this._thumbSceneRender(this._activePageId,c)}),v==null||v.onClearControlObservable.add(()=>{this._thumbSceneRender(this._activePageId,c)}),c.addPage(g),g}_initializeDependencies(e){this._objectProvider=e.createInstance(J)}};exports.CanvasView=He([h.OnLifecycle(h.LifecycleStages.Ready,exports.CanvasView),ee(0,h.IUniverInstanceService),ee(1,V.Inject(V.Injector)),ee(2,l.IRenderManagerService)],exports.CanvasView);var Fe=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,Ke=(s,r,e,n)=>{for(var t=n>1?void 0:n?Be(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&Fe(r,e,t),t},te=(s,r)=>(e,n)=>r(e,n,s);const ke={},qe="slides";var Z;exports.UniverSlidesPlugin=(Z=class extends h.Plugin{constructor(e={},n,t,i){super();f(this,"_config");f(this,"_canvasEngine",null);f(this,"_canvasView",null);this._univerInstanceService=n,this._localeService=t,this._injector=i,this._config=Object.assign(ke,e),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(l.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}getCanvasView(){return this._canvasView}_initializeDependencies(e){[[exports.CanvasView]].forEach(t=>{e.add(t)})}},f(Z,"pluginName",qe),f(Z,"type",h.UniverInstanceType.UNIVER_SLIDE),Z);exports.UniverSlidesPlugin=Ke([te(1,h.IUniverInstanceService),te(2,V.Inject(h.LocaleService)),te(3,V.Inject(V.Injector))],exports.UniverSlidesPlugin);exports.SLIDE_KEY=le;