@univerjs/slides 0.1.13 → 0.1.15

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 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;
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"),x=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 V=N<40?.2:N<80?.4:.2;V*=O.deltaY>0?-1:1,S.scaleX<1&&(V/=2),S.scaleX+V>4?S.scale(4,4):S.scaleX+V<.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:V}=M,{width:K,height:k,marginBottom:Q,marginLeft:X,marginRight:q,marginTop:G}=A;V.save(),V.translate(O-.5,N-.5),l.Rect.drawWith(V,{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}),V.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:V,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:V,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:V-$-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.transScroll2ViewportScrollValue(R,0).x;n.scrollTo({x:j})}return this}};re=fe([we(0,x.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,x.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},Ve=(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([Ve(0,x.Inject(x.Injector))],ie);class xe{constructor(){f(this,"zIndex",6)}create(r){return r.createInstance(ie)}}W.add(new xe);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:_,viewportScrollX:u,viewportScrollY:v}=w;d.updateScroll({scrollX:p,viewportScrollX:u}),g.updateScroll({scrollY:_,viewportScrollY: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,x.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,x.Inject(x.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.transViewportScroll2ScrollValue(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,x.Inject(x.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,x.Inject(h.LocaleService)),te(3,x.Inject(x.Injector))],exports.UniverSlidesPlugin);exports.SLIDE_KEY=le;
package/lib/es/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  var Ee = Object.defineProperty;
2
2
  var xe = (s, e, r) => e in s ? Ee(s, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : s[e] = r;
3
3
  var u = (s, e, r) => (xe(s, typeof e != "symbol" ? e + "" : e, r), r);
4
- import { Registry as Ce, LocaleService as ne, PageElementType as F, DocumentDataModel as je, getColorStyle as te, BasicShapes as fe, SlideDataModel as Me, IContextService as Xe, ObjectMatrix as Le, Styles as Ve, Worksheet as ze, sortRules as Ne, OnLifecycle as Ae, LifecycleStages as Ye, RxDisposable as We, UniverInstanceType as X, debounce as Ue, IUniverInstanceService as be, Plugin as $e } from "@univerjs/core";
4
+ import { Registry as Ce, LocaleService as ne, PageElementType as F, DocumentDataModel as je, getColorStyle as te, BasicShapes as fe, SlideDataModel as Me, IContextService as Ve, ObjectMatrix as Xe, Styles as Le, Worksheet as ze, sortRules as Ne, OnLifecycle as Ae, LifecycleStages as Ye, RxDisposable as We, UniverInstanceType as V, debounce as Ue, IUniverInstanceService as be, Plugin as $e } from "@univerjs/core";
5
5
  import { Liquid as He, DocumentViewModel as Fe, DocumentSkeleton as Be, Documents as Ke, SceneViewer as me, Scene as ie, Viewport as N, EVENT_TYPE as ue, ScrollBar as pe, Rect as H, Image as Te, PageLayoutType as ve, RichText as ke, Slide as Oe, SpreadsheetSkeleton as qe, Spreadsheet as Ge, SpreadsheetRowHeader as Ze, SpreadsheetColumnHeader as Je, getColor as we, IRenderManagerService as Qe, IRenderingEngine as et } from "@univerjs/engine-render";
6
6
  import { Inject as A, Injector as ae } from "@wendellhu/redi";
7
7
  import { takeUntil as Se } from "rxjs";
@@ -107,10 +107,10 @@ let le = class extends B {
107
107
  zIndex: 3
108
108
  }), x.restore();
109
109
  });
110
- const { left: $, top: Y } = S, L = I.getSkeletonData();
111
- if (L == null)
110
+ const { left: $, top: Y } = S, X = I.getSkeletonData();
111
+ if (X == null)
112
112
  return;
113
- const { pages: C } = L, V = [], K = /* @__PURE__ */ new Map();
113
+ const { pages: C } = X, L = [], K = /* @__PURE__ */ new Map();
114
114
  this._recalculateSizeBySkeleton(S, v, I);
115
115
  for (let j = 0, W = C.length; j < W; j++) {
116
116
  const O = C[j], { skeDrawings: z, marginLeft: x, marginTop: q, pageWidth: G, pageHeight: se } = O;
@@ -126,7 +126,7 @@ let le = class extends B {
126
126
  K.set(M.drawingId, {
127
127
  marginLeft: this._liquid.x,
128
128
  marginTop: this._liquid.y
129
- }), V.push(ye);
129
+ }), L.push(ye);
130
130
  }), this._liquid.translatePage(
131
131
  O,
132
132
  S.pageLayoutType,
@@ -134,7 +134,7 @@ let le = class extends B {
134
134
  S.pageMarginTop
135
135
  );
136
136
  }
137
- return v.addObjects(V), V.forEach((j) => {
137
+ return v.addObjects(L), L.forEach((j) => {
138
138
  v.attachTransformerTo(j);
139
139
  }), (_e = v.getTransformer()) == null || _e.onChangingObservable.add((j) => {
140
140
  const { objects: W } = j;
@@ -168,7 +168,7 @@ let le = class extends B {
168
168
  const { width: f, height: h } = a;
169
169
  let g = 0, d = 0, p = 0, _ = 0, D = Number.POSITIVE_INFINITY;
170
170
  if (f > (i + c * 2) * t ? (g = f / 2 - i * t / 2, g /= t, p = (f - c * 2) / t, D = 0) : (g = c, p = i + c * 2, D = (p - f / t) / 2), h > o ? (d = h / 2 - o / 2, _ = (h - l * 2) / t) : (d = l, _ = o + l * 2), r.resize(p, _ + 200), e.translate(g, d), D !== Number.POSITIVE_INFINITY && n != null) {
171
- const y = n.getBarScroll(D, 0).x;
171
+ const y = n.transScroll2ViewportScrollValue(D, 0).x;
172
172
  n.scrollTo({
173
173
  x: y
174
174
  });
@@ -278,7 +278,7 @@ let de = class extends B {
278
278
  title: D,
279
279
  description: y,
280
280
  richText: T = {}
281
- } = e, { text: b, ff: w, fs: I, it: S, bl: R, ul: v, st: P, ol: m, bg: E, bd: $, cl: Y, rich: L } = T;
281
+ } = e, { text: b, ff: w, fs: I, it: S, bl: R, ul: v, st: P, ol: m, bg: E, bd: $, cl: Y, rich: X } = T;
282
282
  let C = {
283
283
  top: i,
284
284
  left: a,
@@ -293,8 +293,8 @@ let de = class extends B {
293
293
  flipX: p,
294
294
  flipY: _,
295
295
  forceRender: !0
296
- }, V = !1;
297
- if (b != null ? (C = { ...C, text: b, ff: w, fs: I, it: S, bl: R, ul: v, st: P, ol: m, bg: E, bd: $, cl: Y }, V = !0) : L != null && (C = { ...C, richText: L }, V = !0), V !== !1)
296
+ }, L = !1;
297
+ if (b != null ? (C = { ...C, text: b, ff: w, fs: I, it: S, bl: R, ul: v, st: P, ol: m, bg: E, bd: $, cl: Y }, L = !0) : X != null && (C = { ...C, richText: X }, L = !0), L !== !1)
298
298
  return new ke(this._localeService, n, C);
299
299
  }
300
300
  };
@@ -538,7 +538,7 @@ let ge = class extends B {
538
538
  } = e;
539
539
  if (D == null)
540
540
  return;
541
- const { worksheet: y, styles: T } = D, { cellData: b } = y, w = new Le(b), I = new Ve(T), S = new qe(
541
+ const { worksheet: y, styles: T } = D, { cellData: b } = y, w = new Xe(b), I = new Le(T), S = new qe(
542
542
  new ze(n, y, I),
543
543
  // FIXME: worksheet in slide doesn't has a Worksheet object
544
544
  y,
@@ -560,12 +560,12 @@ let ge = class extends B {
560
560
  flipX: p,
561
561
  flipY: _,
562
562
  forceRender: !0
563
- }), L = new ie("spreadInSlideScene" + n, Y, {
563
+ }), X = new ie("spreadInSlideScene" + n, Y, {
564
564
  width: E,
565
565
  height: $
566
566
  });
567
- this._updateViewport(n, P, m, L, r);
568
- const C = new Ge("testSheetViewer", S, !1), V = new Ze("spreadInSlideRow", S), K = new Je("spreadInSlideColumn", S), k = new H("spreadInSlideLeftTop", {
567
+ this._updateViewport(n, P, m, X, r);
568
+ const C = new Ge("testSheetViewer", S, !1), L = new Ze("spreadInSlideRow", S), K = new Je("spreadInSlideColumn", S), k = new H("spreadInSlideLeftTop", {
569
569
  zIndex: 2,
570
570
  left: -1,
571
571
  top: -1,
@@ -575,7 +575,7 @@ let ge = class extends B {
575
575
  stroke: we([217, 217, 217]),
576
576
  strokeWidth: 1
577
577
  });
578
- return C.zIndex = 10, L.addObjects([C], 1), L.addObjects([V, K, k], 2), Y;
578
+ return C.zIndex = 10, X.addObjects([C], 1), X.addObjects([L, K, k], 2), Y;
579
579
  }
580
580
  // eslint-disable-next-line max-lines-per-function
581
581
  _updateViewport(e, r, n, t, a) {
@@ -611,13 +611,13 @@ let ge = class extends B {
611
611
  height: o,
612
612
  isWheelPreventDefaultX: !0
613
613
  }), c.onScrollAfterObserver.add((h) => {
614
- const { scrollX: g, scrollY: d, actualScrollX: p, actualScrollY: _ } = h;
614
+ const { scrollX: g, scrollY: d, viewportScrollX: p, viewportScrollY: _ } = h;
615
615
  l.updateScroll({
616
616
  scrollX: g,
617
- actualScrollX: p
617
+ viewportScrollX: p
618
618
  }), f.updateScroll({
619
619
  scrollY: d,
620
- actualScrollY: _
620
+ viewportScrollY: _
621
621
  });
622
622
  }), t.attachControl(), new pe(c, {
623
623
  mainScene: a
@@ -634,7 +634,7 @@ let ge = class extends B {
634
634
  };
635
635
  ge = bt([
636
636
  Ie(0, A(ne)),
637
- Ie(1, Xe)
637
+ Ie(1, Ve)
638
638
  ], ge);
639
639
  class mt {
640
640
  constructor() {
@@ -698,14 +698,14 @@ let ee = class extends We {
698
698
  _initialize() {
699
699
  this._renderManagerService.createRender$.pipe(Se(this.dispose$)).subscribe((e) => {
700
700
  this._create(e);
701
- }), this._univerInstanceService.getCurrentTypeOfUnit$(X.UNIVER_SLIDE).pipe(Se(this.dispose$)).subscribe((e) => {
701
+ }), this._univerInstanceService.getCurrentTypeOfUnit$(V.UNIVER_SLIDE).pipe(Se(this.dispose$)).subscribe((e) => {
702
702
  this._create(e == null ? void 0 : e.getUnitId());
703
- }), this._univerInstanceService.getAllUnitsForType(X.UNIVER_SLIDE).forEach((e) => {
703
+ }), this._univerInstanceService.getAllUnitsForType(V.UNIVER_SLIDE).forEach((e) => {
704
704
  this._create(e.getUnitId());
705
705
  });
706
706
  }
707
707
  activePage(e) {
708
- const r = this._univerInstanceService.getCurrentUnitForType(X.UNIVER_SLIDE);
708
+ const r = this._univerInstanceService.getCurrentUnitForType(V.UNIVER_SLIDE);
709
709
  let n;
710
710
  if (e)
711
711
  n = r.getPage(e);
@@ -730,22 +730,22 @@ let ee = class extends We {
730
730
  const e = (c = this._currentRender()) == null ? void 0 : c.scene, r = e == null ? void 0 : e.getViewport("__mainView__"), n = this._getCenterPositionViewPort(e);
731
731
  if (!r || !n)
732
732
  return;
733
- const { left: t, top: a } = n, { x: i, y: o } = r.getBarScroll(t, a);
733
+ const { left: t, top: a } = n, { x: i, y: o } = r.transViewportScroll2ScrollValue(t, a);
734
734
  r.scrollTo({
735
735
  x: i,
736
736
  y: o
737
737
  });
738
738
  }
739
739
  _create(e) {
740
- e == null || this._univerInstanceService.getUnit(e, X.UNIVER_SLIDE) == null || this._renderManagerService.has(e) || this._addNewRender(e);
740
+ e == null || this._univerInstanceService.getUnit(e, V.UNIVER_SLIDE) == null || this._renderManagerService.has(e) || this._addNewRender(e);
741
741
  }
742
742
  _currentRender() {
743
- const e = this._univerInstanceService.getCurrentUnitForType(X.UNIVER_SLIDE);
743
+ const e = this._univerInstanceService.getCurrentUnitForType(V.UNIVER_SLIDE);
744
744
  return this._renderManagerService.getRenderById(e.getUnitId());
745
745
  }
746
746
  // eslint-disable-next-line max-lines-per-function
747
747
  _addNewRender(e) {
748
- const r = this._univerInstanceService.getUnit(e, X.UNIVER_SLIDE);
748
+ const r = this._univerInstanceService.getUnit(e, V.UNIVER_SLIDE);
749
749
  if (r == null)
750
750
  return;
751
751
  this._renderManagerService.createRender(e);
@@ -788,7 +788,7 @@ let ee = class extends We {
788
788
  });
789
789
  }
790
790
  _createSlide(e) {
791
- const r = this._univerInstanceService.getCurrentUnitForType(X.UNIVER_SLIDE), { width: n, height: t } = e, a = r.getPageSize(), { width: i = 100, height: o = 100 } = a, c = new Oe("__slideRender__", {
791
+ const r = this._univerInstanceService.getCurrentUnitForType(V.UNIVER_SLIDE), { width: n, height: t } = e, a = r.getPageSize(), { width: i = 100, height: o = 100 } = a, c = new Oe("__slideRender__", {
792
792
  left: (n - i) / 2,
793
793
  top: (t - o) / 2,
794
794
  width: i,
@@ -798,7 +798,7 @@ let ee = class extends We {
798
798
  return c.enableNav(), c.enableSelectedClipElement(), e.addObject(c), c;
799
799
  }
800
800
  _addBackgroundRect(e, r) {
801
- const t = this._univerInstanceService.getCurrentUnitForType(X.UNIVER_SLIDE).getPageSize(), { width: a = 0, height: i = 0 } = t, o = new H("canvas", {
801
+ const t = this._univerInstanceService.getCurrentUnitForType(V.UNIVER_SLIDE).getPageSize(), { width: a = 0, height: i = 0 } = t, o = new H("canvas", {
802
802
  left: 0,
803
803
  top: 0,
804
804
  width: a,
@@ -841,7 +841,7 @@ let ee = class extends We {
841
841
  }
842
842
  }
843
843
  createThumbs() {
844
- const r = this._univerInstanceService.getCurrentUnitForType(X.UNIVER_SLIDE).getPageOrder(), n = this._currentRender();
844
+ const r = this._univerInstanceService.getCurrentUnitForType(V.UNIVER_SLIDE).getPageOrder(), n = this._currentRender();
845
845
  if (!(!r || !n) && r.length !== 0)
846
846
  for (let t = 0, a = r.length; t < a; t++) {
847
847
  const i = r[t];
@@ -890,12 +890,12 @@ ee = xt([
890
890
  ce(1, A(ae)),
891
891
  ce(2, Qe)
892
892
  ], ee);
893
- var jt = Object.defineProperty, Mt = Object.getOwnPropertyDescriptor, Xt = (s, e, r, n) => {
893
+ var jt = Object.defineProperty, Mt = Object.getOwnPropertyDescriptor, Vt = (s, e, r, n) => {
894
894
  for (var t = n > 1 ? void 0 : n ? Mt(e, r) : e, a = s.length - 1, i; a >= 0; a--)
895
895
  (i = s[a]) && (t = (n ? i(e, r, t) : i(t)) || t);
896
896
  return n && t && jt(e, r, t), t;
897
897
  }, oe = (s, e) => (r, n) => e(r, n, s);
898
- const Lt = {}, Vt = "slides";
898
+ const Xt = {}, Lt = "slides";
899
899
  var Q;
900
900
  let Pe = (Q = class extends $e {
901
901
  constructor(e = {}, r, n, t) {
@@ -903,7 +903,7 @@ let Pe = (Q = class extends $e {
903
903
  u(this, "_config");
904
904
  u(this, "_canvasEngine", null);
905
905
  u(this, "_canvasView", null);
906
- this._univerInstanceService = r, this._localeService = n, this._injector = t, this._config = Object.assign(Lt, e), this._initializeDependencies(this._injector);
906
+ this._univerInstanceService = r, this._localeService = n, this._injector = t, this._config = Object.assign(Xt, e), this._initializeDependencies(this._injector);
907
907
  }
908
908
  initialize() {
909
909
  this.initCanvasEngine();
@@ -928,8 +928,8 @@ let Pe = (Q = class extends $e {
928
928
  e.add(n);
929
929
  });
930
930
  }
931
- }, u(Q, "pluginName", Vt), u(Q, "type", X.UNIVER_SLIDE), Q);
932
- Pe = Xt([
931
+ }, u(Q, "pluginName", Lt), u(Q, "type", V.UNIVER_SLIDE), Q);
932
+ Pe = Vt([
933
933
  oe(1, be),
934
934
  oe(2, A(ne)),
935
935
  oe(3, A(ae))
package/lib/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(S,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("@wendellhu/redi"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","@wendellhu/redi","rxjs"],o):(S=typeof globalThis<"u"?globalThis:S||self,o(S.UniverSlides={},S.UniverCore,S.UniverEngineRender,S["@wendellhu/redi"],S.rxjs))})(this,function(S,o,h,V,ce){"use strict";var qe=Object.defineProperty;var Ge=(S,o,h)=>o in S?qe(S,o,{enumerable:!0,configurable:!0,writable:!0,value:h}):S[o]=h;var f=(S,o,h)=>(Ge(S,typeof o!="symbol"?o+"":o,h),h);var K;class H{constructor(){f(this,"zIndex",0);f(this,"viewKey",null)}check(n){if(n===this.viewKey)return this}create(n){}}const A=o.Registry.create();var de=Object.defineProperty,ue=Object.getOwnPropertyDescriptor,pe=(s,n,e,r)=>{for(var t=r>1?void 0:r?ue(n,e):n,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(r?a(n,e,t):a(t))||t);return r&&t&&de(n,e,t),t},ge=(s,n)=>(e,r)=>n(e,r,s);let ee=class extends H{constructor(n){super();f(this,"zIndex",5);f(this,"viewKey",o.PageElementType.DOCUMENT);f(this,"_liquid",new h.Liquid);this._localeService=n}check(n){if(n===this.viewKey)return this}convert(n,e){var q,he;const{id:r,zIndex:t,left:i=0,top:a=0,width:c,height:l,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:O,description:x,document:j}=n;if(j==null)return;const y=new o.DocumentDataModel(j),P=new h.DocumentViewModel(y),b=h.DocumentSkeleton.create(P,this._localeService),T=new h.Documents("__DocsRender__",b);b.calculate();const C=new h.SceneViewer("__DocsViewer__"+r,{top:a,left:i,width:c,height:l,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v}),I=new h.Scene("__DocsScene__"+r,C),m=new h.Viewport("__DocsViewPort_"+r,I,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});I.attachControl(),I.on(h.EVENT_TYPE.wheel,(X,$)=>{const D=X;if(D.ctrlKey){const Y=Math.abs(D.deltaX);let M=Y<40?.2:Y<80?.4:.2;M*=D.deltaY>0?-1:1,I.scaleX<1&&(M/=2),I.scaleX+M>4?I.scale(4,4):I.scaleX+M<.1?I.scale(.1,.1):(D.deltaY>0,D.preventDefault())}else m.onMouseWheel(D,$)}),new h.ScrollBar(m,{mainScene:e}),I.addObject(T);const E=b.getActualSize();T.resize(E.actualWidth,E.actualHeight),I.resize(E.actualWidth,E.actualHeight+200);const L=(q=T.getSkeleton())==null?void 0:q.getPageSize();T.onPageRenderObservable.add(X=>{const{page:$,pageLeft:D,pageTop:Y,ctx:M}=X,{width:G,height:Z,marginBottom:se,marginLeft:z,marginRight:J,marginTop:Q}=$;M.save(),M.translate(D-.5,Y-.5),h.Rect.drawWith(M,{width:(L==null?void 0:L.width)||G,height:(L==null?void 0:L.height)||Z,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:"rgba(255,255,255, 1)",zIndex:3}),M.restore()});const{left:F,top:W}=T,N=b.getSkeletonData();if(N==null)return;const{pages:U}=N,R=[],k=new Map;this._recalculateSizeBySkeleton(T,I,b);for(let X=0,$=U.length;X<$;X++){const D=U[X],{skeDrawings:Y,marginLeft:M,marginTop:G,pageWidth:Z,pageHeight:se}=D;this._liquid.translatePagePadding(D),Y.forEach(z=>{const{aLeft:J,aTop:Q,height:Be,width:Ke,drawingOrigin:Ze}=z,ke=new h.Image(z.drawingId,{left:J+F+this._liquid.x,top:Q+W+this._liquid.y,width:Ke,height:Be,zIndex:11});k.set(z.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),R.push(ke)}),this._liquid.translatePage(D,T.pageLayoutType,T.pageMarginLeft,T.pageMarginTop)}return I.addObjects(R),R.forEach(X=>{I.attachTransformerTo(X)}),(he=I.getTransformer())==null||he.onChangingObservable.add(X=>{const{objects:$}=X;$.forEach(D=>{const{oKey:Y,left:M,top:G,height:Z,width:se}=D,z=k.get(Y),J=(z==null?void 0:z.marginLeft)||0,Q=(z==null?void 0:z.marginTop)||0;b==null||b.getViewModel().getDataModel().updateDrawing(Y,{left:M-F-J,top:G-W-Q,height:Z,width:se})}),b==null||b.calculate()}),this._calculatePagePosition(T,I,m),C}_recalculateSizeBySkeleton(n,e,r){var c;const t=(c=r.getSkeletonData())==null?void 0:c.pages;if(t==null)return;let i=0,a=0;for(let l=0,d=t.length;l<d;l++){const u=t[l],{pageWidth:w,pageHeight:p}=u;n.pageLayoutType===h.PageLayoutType.VERTICAL?(a+=p,a+=n.pageMarginTop,l===d-1&&(a+=n.pageMarginTop),i=Math.max(i,w)):n.pageLayoutType===h.PageLayoutType.HORIZONTAL&&(i+=w,l!==d-1&&(i+=n.pageMarginLeft),a=Math.max(a,p))}n.resize(i,a),e.resize(i,a)}_calculatePagePosition(n,e,r,t=1){const i=e==null?void 0:e.getParent(),{width:a,height:c,pageMarginLeft:l,pageMarginTop:d}=n;if(i==null||a===Number.POSITIVE_INFINITY||c===Number.POSITIVE_INFINITY)return;const{width:u,height:w}=i;let p=0,_=0,g=0,v=0,O=Number.POSITIVE_INFINITY;if(u>(a+l*2)*t?(p=u/2-a*t/2,p/=t,g=(u-l*2)/t,O=0):(p=l,g=a+l*2,O=(g-u/t)/2),w>c?(_=w/2-c/2,v=(w-d*2)/t):(_=d,v=c+d*2),e.resize(g,v+200),n.translate(p,_),O!==Number.POSITIVE_INFINITY&&r!=null){const x=r.getBarScroll(O,0).x;r.scrollTo({x})}return this}};ee=pe([ge(0,V.Inject(o.LocaleService))],ee);class _e{constructor(){f(this,"zIndex",5)}create(n){return n.createInstance(ee)}}A.add(new _e);class ve extends H{constructor(){super(...arguments);f(this,"zIndex",1);f(this,"viewKey",o.PageElementType.IMAGE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:r,zIndex:t,left:i=0,top:a=0,width:c,height:l,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:O,description:x,image:j={}}=e,{imageProperties:y,placeholder:P,link:b}=j,T=(y==null?void 0:y.contentUrl)||"";return new h.Image(r,{url:T,top:a,left:i,width:c,height:l,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0})}}class fe{constructor(){f(this,"zIndex",4)}create(n){return n.createInstance(ve)}}A.add(new fe);var we=Object.defineProperty,Se=Object.getOwnPropertyDescriptor,Ie=(s,n,e,r)=>{for(var t=r>1?void 0:r?Se(n,e):n,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(r?a(n,e,t):a(t))||t);return r&&t&&we(n,e,t),t},Pe=(s,n)=>(e,r)=>n(e,r,s);let te=class extends H{constructor(n){super();f(this,"zIndex",2);f(this,"viewKey",o.PageElementType.TEXT);this._localeService=n}check(n){if(n===this.viewKey)return this}convert(n,e){const{id:r,zIndex:t,left:i=0,top:a=0,width:c,height:l,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:O,description:x,richText:j={}}=n,{text:y,ff:P,fs:b,it:T,bl:C,ul:I,st:m,ol:E,bg:L,bd:F,cl:W,rich:N}=j;let U={top:a,left:i,width:c,height:l,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0},R=!1;if(y!=null?(U={...U,text:y,ff:P,fs:b,it:T,bl:C,ul:I,st:m,ol:E,bg:L,bd:F,cl:W},R=!0):N!=null&&(U={...U,richText:N},R=!0),R!==!1)return new h.RichText(this._localeService,r,U)}};te=Ie([Pe(0,V.Inject(o.LocaleService))],te);class Te{constructor(){f(this,"zIndex",0)}create(n){return n.createInstance(te)}}A.add(new Te);class be extends H{constructor(){super(...arguments);f(this,"zIndex",2);f(this,"viewKey",o.PageElementType.SHAPE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:r,zIndex:t,left:i=0,top:a=0,width:c,height:l,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:O,description:x}=e,{shapeType:j,text:y,shapeProperties:P,placeholder:b,link:T}=e.shape||{},C=P==null?"":o.getColorStyle(P.shapeBackgroundFill)||"rgba(255,255,255,1)",I=P==null?void 0:P.outline,m={};if(I){const{outlineFill:E,weight:L}=I;m.strokeWidth=L,m.stroke=o.getColorStyle(E)||"rgba(0,0,0,1)"}if(j===o.BasicShapes.Rect)return new h.Rect(r,{fill:C,top:a,left:i,width:c,height:l,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0,...m});if(j===o.BasicShapes.RoundRect){const E=(P==null?void 0:P.radius)||0;return new h.Rect(r,{fill:C,top:a,left:i,width:c,height:l,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0,radius:E,...m})}}}class me{constructor(){f(this,"zIndex",2)}create(n){return n.createInstance(be)}}A.add(new me);var ye=Object.defineProperty,Ee=Object.getOwnPropertyDescriptor,Oe=(s,n,e,r)=>{for(var t=r>1?void 0:r?Ee(n,e):n,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(r?a(n,e,t):a(t))||t);return r&&t&&ye(n,e,t),t},je=(s,n)=>(e,r)=>n(e,r,s);let re=class extends H{constructor(n){super();f(this,"zIndex",6);f(this,"viewKey",o.PageElementType.SLIDE);f(this,"_ObjectProvider",null);this._injector=n}check(n){if(n===this.viewKey)return this}convert(n,e){const{id:r,zIndex:t,left:i=0,top:a=0,width:c,height:l,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:O,description:x,slide:j}=n;if(j==null)return;const y=new o.SlideDataModel(j),P=new h.Slide("__SLIDERender__"+r,{top:a,left:i,width:c,height:l,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0});P.enableNav(),P.enableSelectedClipElement();const b=y.getPageOrder(),T=y.getPages();if(!b||!T)return P;this._ObjectProvider=new B(this._injector);for(let C=0,I=b.length;C<I;C++){const m=T[b[C]],{id:E}=m;P.addPage(this._createScene(E,P,m,e,y))}return P.activeFirstPage(),P}_createScene(n,e,r,t,i){var _;const{width:a,height:c}=e,l=new h.Scene(n,e,{width:a,height:c});new h.Viewport(`PageViewer_${n}`,l,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:u,pageBackgroundFill:w}=r,p=(_=this._ObjectProvider)==null?void 0:_.convertToRenderObjects(u,t);return this._addBackgroundRect(l,w,i),l.addObjects(p),p==null||p.forEach(g=>{l.attachTransformerTo(g)}),l}_addBackgroundRect(n,e,r){const t=r.getPageSize(),{width:i=0,height:a=0}=t,c=new h.Rect("canvas",{left:0,top:0,width:i,height:a,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:o.getColorStyle(e)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});n.addObject(c,0)}};re=Oe([je(0,V.Inject(V.Injector))],re);class De{constructor(){f(this,"zIndex",6)}create(n){return n.createInstance(re)}}A.add(new De);var Ce=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor,xe=(s,n,e,r)=>{for(var t=r>1?void 0:r?Ve(n,e):n,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(r?a(n,e,t):a(t))||t);return r&&t&&Ce(n,e,t),t},le=(s,n)=>(e,r)=>n(e,r,s);let ne=class extends H{constructor(n,e){super();f(this,"zIndex",4);f(this,"viewKey",o.PageElementType.SPREADSHEET);this._localeService=n,this._contextService=e}check(n){if(n===this.viewKey)return this}convert(n,e){const{id:r,zIndex:t,left:i=0,top:a=0,width:c,height:l,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,spreadsheet:O}=n;if(O==null)return;const{worksheet:x,styles:j}=O,{cellData:y}=x,P=new o.ObjectMatrix(y),b=new o.Styles(j),T=new h.SpreadsheetSkeleton(new o.Worksheet(r,x,b),x,P,b,this._localeService,this._contextService),{rowTotalHeight:C,columnTotalWidth:I,rowHeaderWidth:m,columnHeaderHeight:E}=T,L=I+x.rowHeader.width||0,F=C+x.columnHeader.height||0,W=new h.SceneViewer("spreadInSlideSceneViewer"+r,{top:a,left:i,width:c,height:l,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0}),N=new h.Scene("spreadInSlideScene"+r,W,{width:L,height:F});this._updateViewport(r,m,E,N,e);const U=new h.Spreadsheet("testSheetViewer",T,!1),R=new h.SpreadsheetRowHeader("spreadInSlideRow",T),k=new h.SpreadsheetColumnHeader("spreadInSlideColumn",T),q=new h.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:m,height:E,fill:h.getColor([248,249,250]),stroke:h.getColor([217,217,217]),strokeWidth:1});return U.zIndex=10,N.addObjects([U],1),N.addObjects([R,k,q],2),W}_updateViewport(n,e,r,t,i){if(i==null)return;const a=e*t.scaleX,c=r*t.scaleY,l=new h.Viewport("spreadInSlideViewMain"+n,t,{left:a,top:c,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),d=new h.Viewport("spreadInSlideViewTop"+n,t,{left:a,height:c,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),u=new h.Viewport("spreadInSlideViewLeft"+n,t,{left:0,bottom:0,top:c,width:a,isRelativeY:!0,isWheelPreventDefaultX:!0});new h.Viewport("spreadInSlideViewLeftTop"+n,t,{left:0,top:0,width:a,height:c,isWheelPreventDefaultX:!0}),l.onScrollAfterObserver.add(w=>{const{scrollX:p,scrollY:_,actualScrollX:g,actualScrollY:v}=w;d.updateScroll({scrollX:p,actualScrollX:g}),u.updateScroll({scrollY:_,actualScrollY:v})}),t.attachControl(),new h.ScrollBar(l,{mainScene:i}),t.on(h.EVENT_TYPE.wheel,(w,p)=>{const _=w;if(_.ctrlKey){const g=Math.abs(_.deltaX);let v=g<40?.05:g<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 l.onMouseWheel(_,p)})}};ne=xe([le(0,V.Inject(o.LocaleService)),le(1,o.IContextService)],ne);class Le{constructor(){f(this,"zIndex",4)}create(n){return n.createInstance(ne)}}A.add(new Le);var Me=Object.defineProperty,Ue=Object.getOwnPropertyDescriptor,Xe=(s,n,e,r)=>{for(var t=r>1?void 0:r?Ue(n,e):n,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(r?a(n,e,t):a(t))||t);return r&&t&&Me(n,e,t),t},ze=(s,n)=>(e,r)=>n(e,r,s);let B=class{constructor(s){f(this,"_adaptors",[]);this._injector=s,this._adaptorLoader()}convertToRenderObjects(s,n){const e=Object.keys(s),r=[];return e.forEach(t=>{const i=s[t],a=this._executor(i,n);a!=null&&r.push(a)}),r}_executor(s,n){var t;const{id:e,type:r}=s;for(const i of this._adaptors){const a=(t=i.check(r))==null?void 0:t.convert(s,n);if(a!=null)return a}}_adaptorLoader(){A.getData().sort(o.sortRules).forEach(s=>{this._adaptors.push(s.create(this._injector))})}};B=Xe([ze(0,V.Inject(V.Injector))],B);var Ne=Object.defineProperty,Re=Object.getOwnPropertyDescriptor,Ye=(s,n,e,r)=>{for(var t=r>1?void 0:r?Re(n,e):n,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(r?a(n,e,t):a(t))||t);return r&&t&&Ne(n,e,t),t},ie=(s,n)=>(e,r)=>n(e,r,s),oe=(s=>(s.COMPONENT="__slideRender__",s.SCENE="__mainScene__",s.VIEW="__mainView__",s))(oe||{});S.CanvasView=class extends o.RxDisposable{constructor(e,r,t){super();f(this,"_objectProvider",null);f(this,"_activePageId","");f(this,"_refreshThumb",o.debounce(()=>{this.createThumbs()},300));this._univerInstanceService=e,this._injector=r,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$(o.UniverInstanceType.UNIVER_SLIDE).pipe(ce.takeUntil(this.dispose$)).subscribe(e=>{this._create(e==null?void 0:e.getUnitId())}),this._univerInstanceService.getAllUnitsForType(o.UniverInstanceType.UNIVER_SLIDE).forEach(e=>{this._create(e.getUnitId())})}activePage(e){const r=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SLIDE);let t;if(e)t=r.getPage(e);else{const l=r.getPages(),d=r.getPageOrder();if(d==null||l==null)return;t=l[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,r=e==null?void 0:e.getViewport("__mainView__"),t=this._getCenterPositionViewPort(e);if(!r||!t)return;const{left:i,top:a}=t,{x:c,y:l}=r.getBarScroll(i,a);r.scrollTo({x:c,y:l})}_create(e){e==null||this._univerInstanceService.getUnit(e,o.UniverInstanceType.UNIVER_SLIDE)==null||this._renderManagerService.has(e)||this._addNewRender(e)}_currentRender(){const e=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SLIDE);return this._renderManagerService.getRenderById(e.getUnitId())}_addNewRender(e){const r=this._univerInstanceService.getUnit(e,o.UniverInstanceType.UNIVER_SLIDE);if(r==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 l=new h.Viewport("__mainView__",i,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});i.attachControl(),i.on(h.EVENT_TYPE.wheel,(u,w)=>{const p=u;if(p.ctrlKey){const _=Math.abs(p.deltaX);let g=_<40?.2:_<80?.4:.2;g*=p.deltaY>0?-1:1,i.scaleX<1&&(g/=2),i.scaleX+g>4?i.scale(4,4):i.scaleX+g<.1?i.scale(.1,.1):(p.deltaY>0,p.preventDefault())}else l.onMouseWheel(p,w)}),i.onFileLoadedObservable.add(()=>{this._refreshThumb()}),h.ScrollBar.attachTo(l),this._renderManagerService.setCurrent(e);const d=this._createSlide(i);t.mainComponent=d,t.components.set("__slideRender__",d),this._createSlidePages(r,d),a.runRenderLoop(()=>{i.render();const u=document.getElementById("app");u&&(u.innerText=`fps:${Math.round(a.getFps()).toString()}`)})}_createSlide(e){const r=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SLIDE),{width:t,height:i}=e,a=r.getPageSize(),{width:c=100,height:l=100}=a,d=new h.Slide("__slideRender__",{left:(t-c)/2,top:(i-l)/2,width:c,height:l,zIndex:10});return d.enableNav(),d.enableSelectedClipElement(),e.addObject(d),d}_addBackgroundRect(e,r){const i=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:a=0,height:c=0}=i,l=new h.Rect("canvas",{left:0,top:0,width:a,height:c,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:o.getColorStyle(r)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});e.addObject(l,0)}_getCenterPositionViewPort(e){if(!e)return{left:0,top:0};const{width:r,height:t}=e,i=e.getEngine(),a=(i==null?void 0:i.width)||0,c=(i==null?void 0:i.height)||0;return{left:(r-a)/2,top:(t-c)/2}}_thumbSceneRender(e,r){const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{engine:i}=t;if(i==null)return;const{width:a,height:c}=r,{width:l=a,height:d=c}=i,u=i.getCanvas().getContext();r.renderToThumb(u,e,l/a,d/c)}_createSlidePages(e,r){const t=e.getPages(),i=e.getPageOrder();if(!(!t||!i)&&i.length!==0){for(let a=0,c=i.length;a<c;a++){const l=i[a];this._createScene(l,t[l]),this._createThumb(l)}this._activePageId=i[0],r.activeFirstPage()}}createThumbs(){const r=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SLIDE).getPageOrder(),t=this._currentRender();if(!(!r||!t)&&r.length!==0)for(let i=0,a=r.length;i<a;i++){const c=r[i];this._thumbSceneRender(c,t.mainComponent)}}_createThumb(e){this._renderManagerService.createRender(e)}_createScene(e,r){const t=this._currentRender();if(!t||!this._objectProvider)return;const{scene:i,mainComponent:a}=t,c=a,{width:l,height:d}=c,u=new h.Scene(e,c,{width:l,height:d});new h.Viewport(`PageViewer_${e}`,u,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:p,pageBackgroundFill:_}=r,g=this._objectProvider.convertToRenderObjects(p,i);if(!g||!c)return;this._addBackgroundRect(u,_),u.addObjects(g),g.forEach(O=>{u.attachTransformerTo(O)});const v=u.getTransformer();return v==null||v.onChangeEndObservable.add(()=>{this._thumbSceneRender(this._activePageId,c)}),v==null||v.onClearControlObservable.add(()=>{this._thumbSceneRender(this._activePageId,c)}),c.addPage(u),u}_initializeDependencies(e){this._objectProvider=e.createInstance(B)}},S.CanvasView=Ye([o.OnLifecycle(o.LifecycleStages.Ready,S.CanvasView),ie(0,o.IUniverInstanceService),ie(1,V.Inject(V.Injector)),ie(2,h.IRenderManagerService)],S.CanvasView);var Ae=Object.defineProperty,We=Object.getOwnPropertyDescriptor,$e=(s,n,e,r)=>{for(var t=r>1?void 0:r?We(n,e):n,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(r?a(n,e,t):a(t))||t);return r&&t&&Ae(n,e,t),t},ae=(s,n)=>(e,r)=>n(e,r,s);const He={},Fe="slides";S.UniverSlidesPlugin=(K=class extends o.Plugin{constructor(e={},r,t,i){super();f(this,"_config");f(this,"_canvasEngine",null);f(this,"_canvasView",null);this._univerInstanceService=r,this._localeService=t,this._injector=i,this._config=Object.assign(He,e),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(h.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}getCanvasView(){return this._canvasView}_initializeDependencies(e){[[S.CanvasView]].forEach(t=>{e.add(t)})}},f(K,"pluginName",Fe),f(K,"type",o.UniverInstanceType.UNIVER_SLIDE),K),S.UniverSlidesPlugin=$e([ae(1,o.IUniverInstanceService),ae(2,V.Inject(o.LocaleService)),ae(3,V.Inject(V.Injector))],S.UniverSlidesPlugin),S.SLIDE_KEY=oe,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
1
+ (function(S,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("@wendellhu/redi"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","@wendellhu/redi","rxjs"],o):(S=typeof globalThis<"u"?globalThis:S||self,o(S.UniverSlides={},S.UniverCore,S.UniverEngineRender,S["@wendellhu/redi"],S.rxjs))})(this,function(S,o,h,V,ce){"use strict";var qe=Object.defineProperty;var Ge=(S,o,h)=>o in S?qe(S,o,{enumerable:!0,configurable:!0,writable:!0,value:h}):S[o]=h;var f=(S,o,h)=>(Ge(S,typeof o!="symbol"?o+"":o,h),h);var K;class H{constructor(){f(this,"zIndex",0);f(this,"viewKey",null)}check(n){if(n===this.viewKey)return this}create(n){}}const A=o.Registry.create();var de=Object.defineProperty,ue=Object.getOwnPropertyDescriptor,pe=(s,n,e,r)=>{for(var t=r>1?void 0:r?ue(n,e):n,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(r?a(n,e,t):a(t))||t);return r&&t&&de(n,e,t),t},ge=(s,n)=>(e,r)=>n(e,r,s);let ee=class extends H{constructor(n){super();f(this,"zIndex",5);f(this,"viewKey",o.PageElementType.DOCUMENT);f(this,"_liquid",new h.Liquid);this._localeService=n}check(n){if(n===this.viewKey)return this}convert(n,e){var q,he;const{id:r,zIndex:t,left:i=0,top:a=0,width:c,height:l,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:O,description:x,document:j}=n;if(j==null)return;const y=new o.DocumentDataModel(j),P=new h.DocumentViewModel(y),b=h.DocumentSkeleton.create(P,this._localeService),T=new h.Documents("__DocsRender__",b);b.calculate();const C=new h.SceneViewer("__DocsViewer__"+r,{top:a,left:i,width:c,height:l,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v}),I=new h.Scene("__DocsScene__"+r,C),m=new h.Viewport("__DocsViewPort_"+r,I,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});I.attachControl(),I.on(h.EVENT_TYPE.wheel,(X,$)=>{const D=X;if(D.ctrlKey){const Y=Math.abs(D.deltaX);let M=Y<40?.2:Y<80?.4:.2;M*=D.deltaY>0?-1:1,I.scaleX<1&&(M/=2),I.scaleX+M>4?I.scale(4,4):I.scaleX+M<.1?I.scale(.1,.1):(D.deltaY>0,D.preventDefault())}else m.onMouseWheel(D,$)}),new h.ScrollBar(m,{mainScene:e}),I.addObject(T);const E=b.getActualSize();T.resize(E.actualWidth,E.actualHeight),I.resize(E.actualWidth,E.actualHeight+200);const L=(q=T.getSkeleton())==null?void 0:q.getPageSize();T.onPageRenderObservable.add(X=>{const{page:$,pageLeft:D,pageTop:Y,ctx:M}=X,{width:G,height:Z,marginBottom:se,marginLeft:z,marginRight:J,marginTop:Q}=$;M.save(),M.translate(D-.5,Y-.5),h.Rect.drawWith(M,{width:(L==null?void 0:L.width)||G,height:(L==null?void 0:L.height)||Z,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:"rgba(255,255,255, 1)",zIndex:3}),M.restore()});const{left:F,top:W}=T,N=b.getSkeletonData();if(N==null)return;const{pages:U}=N,R=[],k=new Map;this._recalculateSizeBySkeleton(T,I,b);for(let X=0,$=U.length;X<$;X++){const D=U[X],{skeDrawings:Y,marginLeft:M,marginTop:G,pageWidth:Z,pageHeight:se}=D;this._liquid.translatePagePadding(D),Y.forEach(z=>{const{aLeft:J,aTop:Q,height:Be,width:Ke,drawingOrigin:Ze}=z,ke=new h.Image(z.drawingId,{left:J+F+this._liquid.x,top:Q+W+this._liquid.y,width:Ke,height:Be,zIndex:11});k.set(z.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),R.push(ke)}),this._liquid.translatePage(D,T.pageLayoutType,T.pageMarginLeft,T.pageMarginTop)}return I.addObjects(R),R.forEach(X=>{I.attachTransformerTo(X)}),(he=I.getTransformer())==null||he.onChangingObservable.add(X=>{const{objects:$}=X;$.forEach(D=>{const{oKey:Y,left:M,top:G,height:Z,width:se}=D,z=k.get(Y),J=(z==null?void 0:z.marginLeft)||0,Q=(z==null?void 0:z.marginTop)||0;b==null||b.getViewModel().getDataModel().updateDrawing(Y,{left:M-F-J,top:G-W-Q,height:Z,width:se})}),b==null||b.calculate()}),this._calculatePagePosition(T,I,m),C}_recalculateSizeBySkeleton(n,e,r){var c;const t=(c=r.getSkeletonData())==null?void 0:c.pages;if(t==null)return;let i=0,a=0;for(let l=0,d=t.length;l<d;l++){const u=t[l],{pageWidth:w,pageHeight:p}=u;n.pageLayoutType===h.PageLayoutType.VERTICAL?(a+=p,a+=n.pageMarginTop,l===d-1&&(a+=n.pageMarginTop),i=Math.max(i,w)):n.pageLayoutType===h.PageLayoutType.HORIZONTAL&&(i+=w,l!==d-1&&(i+=n.pageMarginLeft),a=Math.max(a,p))}n.resize(i,a),e.resize(i,a)}_calculatePagePosition(n,e,r,t=1){const i=e==null?void 0:e.getParent(),{width:a,height:c,pageMarginLeft:l,pageMarginTop:d}=n;if(i==null||a===Number.POSITIVE_INFINITY||c===Number.POSITIVE_INFINITY)return;const{width:u,height:w}=i;let p=0,_=0,g=0,v=0,O=Number.POSITIVE_INFINITY;if(u>(a+l*2)*t?(p=u/2-a*t/2,p/=t,g=(u-l*2)/t,O=0):(p=l,g=a+l*2,O=(g-u/t)/2),w>c?(_=w/2-c/2,v=(w-d*2)/t):(_=d,v=c+d*2),e.resize(g,v+200),n.translate(p,_),O!==Number.POSITIVE_INFINITY&&r!=null){const x=r.transScroll2ViewportScrollValue(O,0).x;r.scrollTo({x})}return this}};ee=pe([ge(0,V.Inject(o.LocaleService))],ee);class _e{constructor(){f(this,"zIndex",5)}create(n){return n.createInstance(ee)}}A.add(new _e);class ve extends H{constructor(){super(...arguments);f(this,"zIndex",1);f(this,"viewKey",o.PageElementType.IMAGE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:r,zIndex:t,left:i=0,top:a=0,width:c,height:l,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:O,description:x,image:j={}}=e,{imageProperties:y,placeholder:P,link:b}=j,T=(y==null?void 0:y.contentUrl)||"";return new h.Image(r,{url:T,top:a,left:i,width:c,height:l,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0})}}class fe{constructor(){f(this,"zIndex",4)}create(n){return n.createInstance(ve)}}A.add(new fe);var we=Object.defineProperty,Se=Object.getOwnPropertyDescriptor,Ie=(s,n,e,r)=>{for(var t=r>1?void 0:r?Se(n,e):n,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(r?a(n,e,t):a(t))||t);return r&&t&&we(n,e,t),t},Pe=(s,n)=>(e,r)=>n(e,r,s);let te=class extends H{constructor(n){super();f(this,"zIndex",2);f(this,"viewKey",o.PageElementType.TEXT);this._localeService=n}check(n){if(n===this.viewKey)return this}convert(n,e){const{id:r,zIndex:t,left:i=0,top:a=0,width:c,height:l,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:O,description:x,richText:j={}}=n,{text:y,ff:P,fs:b,it:T,bl:C,ul:I,st:m,ol:E,bg:L,bd:F,cl:W,rich:N}=j;let U={top:a,left:i,width:c,height:l,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0},R=!1;if(y!=null?(U={...U,text:y,ff:P,fs:b,it:T,bl:C,ul:I,st:m,ol:E,bg:L,bd:F,cl:W},R=!0):N!=null&&(U={...U,richText:N},R=!0),R!==!1)return new h.RichText(this._localeService,r,U)}};te=Ie([Pe(0,V.Inject(o.LocaleService))],te);class Te{constructor(){f(this,"zIndex",0)}create(n){return n.createInstance(te)}}A.add(new Te);class be extends H{constructor(){super(...arguments);f(this,"zIndex",2);f(this,"viewKey",o.PageElementType.SHAPE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:r,zIndex:t,left:i=0,top:a=0,width:c,height:l,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:O,description:x}=e,{shapeType:j,text:y,shapeProperties:P,placeholder:b,link:T}=e.shape||{},C=P==null?"":o.getColorStyle(P.shapeBackgroundFill)||"rgba(255,255,255,1)",I=P==null?void 0:P.outline,m={};if(I){const{outlineFill:E,weight:L}=I;m.strokeWidth=L,m.stroke=o.getColorStyle(E)||"rgba(0,0,0,1)"}if(j===o.BasicShapes.Rect)return new h.Rect(r,{fill:C,top:a,left:i,width:c,height:l,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0,...m});if(j===o.BasicShapes.RoundRect){const E=(P==null?void 0:P.radius)||0;return new h.Rect(r,{fill:C,top:a,left:i,width:c,height:l,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0,radius:E,...m})}}}class me{constructor(){f(this,"zIndex",2)}create(n){return n.createInstance(be)}}A.add(new me);var ye=Object.defineProperty,Ee=Object.getOwnPropertyDescriptor,Oe=(s,n,e,r)=>{for(var t=r>1?void 0:r?Ee(n,e):n,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(r?a(n,e,t):a(t))||t);return r&&t&&ye(n,e,t),t},je=(s,n)=>(e,r)=>n(e,r,s);let re=class extends H{constructor(n){super();f(this,"zIndex",6);f(this,"viewKey",o.PageElementType.SLIDE);f(this,"_ObjectProvider",null);this._injector=n}check(n){if(n===this.viewKey)return this}convert(n,e){const{id:r,zIndex:t,left:i=0,top:a=0,width:c,height:l,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:O,description:x,slide:j}=n;if(j==null)return;const y=new o.SlideDataModel(j),P=new h.Slide("__SLIDERender__"+r,{top:a,left:i,width:c,height:l,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0});P.enableNav(),P.enableSelectedClipElement();const b=y.getPageOrder(),T=y.getPages();if(!b||!T)return P;this._ObjectProvider=new B(this._injector);for(let C=0,I=b.length;C<I;C++){const m=T[b[C]],{id:E}=m;P.addPage(this._createScene(E,P,m,e,y))}return P.activeFirstPage(),P}_createScene(n,e,r,t,i){var _;const{width:a,height:c}=e,l=new h.Scene(n,e,{width:a,height:c});new h.Viewport(`PageViewer_${n}`,l,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:u,pageBackgroundFill:w}=r,p=(_=this._ObjectProvider)==null?void 0:_.convertToRenderObjects(u,t);return this._addBackgroundRect(l,w,i),l.addObjects(p),p==null||p.forEach(g=>{l.attachTransformerTo(g)}),l}_addBackgroundRect(n,e,r){const t=r.getPageSize(),{width:i=0,height:a=0}=t,c=new h.Rect("canvas",{left:0,top:0,width:i,height:a,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:o.getColorStyle(e)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});n.addObject(c,0)}};re=Oe([je(0,V.Inject(V.Injector))],re);class De{constructor(){f(this,"zIndex",6)}create(n){return n.createInstance(re)}}A.add(new De);var Ce=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor,xe=(s,n,e,r)=>{for(var t=r>1?void 0:r?Ve(n,e):n,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(r?a(n,e,t):a(t))||t);return r&&t&&Ce(n,e,t),t},le=(s,n)=>(e,r)=>n(e,r,s);let ne=class extends H{constructor(n,e){super();f(this,"zIndex",4);f(this,"viewKey",o.PageElementType.SPREADSHEET);this._localeService=n,this._contextService=e}check(n){if(n===this.viewKey)return this}convert(n,e){const{id:r,zIndex:t,left:i=0,top:a=0,width:c,height:l,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,spreadsheet:O}=n;if(O==null)return;const{worksheet:x,styles:j}=O,{cellData:y}=x,P=new o.ObjectMatrix(y),b=new o.Styles(j),T=new h.SpreadsheetSkeleton(new o.Worksheet(r,x,b),x,P,b,this._localeService,this._contextService),{rowTotalHeight:C,columnTotalWidth:I,rowHeaderWidth:m,columnHeaderHeight:E}=T,L=I+x.rowHeader.width||0,F=C+x.columnHeader.height||0,W=new h.SceneViewer("spreadInSlideSceneViewer"+r,{top:a,left:i,width:c,height:l,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0}),N=new h.Scene("spreadInSlideScene"+r,W,{width:L,height:F});this._updateViewport(r,m,E,N,e);const U=new h.Spreadsheet("testSheetViewer",T,!1),R=new h.SpreadsheetRowHeader("spreadInSlideRow",T),k=new h.SpreadsheetColumnHeader("spreadInSlideColumn",T),q=new h.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:m,height:E,fill:h.getColor([248,249,250]),stroke:h.getColor([217,217,217]),strokeWidth:1});return U.zIndex=10,N.addObjects([U],1),N.addObjects([R,k,q],2),W}_updateViewport(n,e,r,t,i){if(i==null)return;const a=e*t.scaleX,c=r*t.scaleY,l=new h.Viewport("spreadInSlideViewMain"+n,t,{left:a,top:c,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),d=new h.Viewport("spreadInSlideViewTop"+n,t,{left:a,height:c,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),u=new h.Viewport("spreadInSlideViewLeft"+n,t,{left:0,bottom:0,top:c,width:a,isRelativeY:!0,isWheelPreventDefaultX:!0});new h.Viewport("spreadInSlideViewLeftTop"+n,t,{left:0,top:0,width:a,height:c,isWheelPreventDefaultX:!0}),l.onScrollAfterObserver.add(w=>{const{scrollX:p,scrollY:_,viewportScrollX:g,viewportScrollY:v}=w;d.updateScroll({scrollX:p,viewportScrollX:g}),u.updateScroll({scrollY:_,viewportScrollY:v})}),t.attachControl(),new h.ScrollBar(l,{mainScene:i}),t.on(h.EVENT_TYPE.wheel,(w,p)=>{const _=w;if(_.ctrlKey){const g=Math.abs(_.deltaX);let v=g<40?.05:g<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 l.onMouseWheel(_,p)})}};ne=xe([le(0,V.Inject(o.LocaleService)),le(1,o.IContextService)],ne);class Le{constructor(){f(this,"zIndex",4)}create(n){return n.createInstance(ne)}}A.add(new Le);var Me=Object.defineProperty,Ue=Object.getOwnPropertyDescriptor,Xe=(s,n,e,r)=>{for(var t=r>1?void 0:r?Ue(n,e):n,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(r?a(n,e,t):a(t))||t);return r&&t&&Me(n,e,t),t},ze=(s,n)=>(e,r)=>n(e,r,s);let B=class{constructor(s){f(this,"_adaptors",[]);this._injector=s,this._adaptorLoader()}convertToRenderObjects(s,n){const e=Object.keys(s),r=[];return e.forEach(t=>{const i=s[t],a=this._executor(i,n);a!=null&&r.push(a)}),r}_executor(s,n){var t;const{id:e,type:r}=s;for(const i of this._adaptors){const a=(t=i.check(r))==null?void 0:t.convert(s,n);if(a!=null)return a}}_adaptorLoader(){A.getData().sort(o.sortRules).forEach(s=>{this._adaptors.push(s.create(this._injector))})}};B=Xe([ze(0,V.Inject(V.Injector))],B);var Ne=Object.defineProperty,Re=Object.getOwnPropertyDescriptor,Ye=(s,n,e,r)=>{for(var t=r>1?void 0:r?Re(n,e):n,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(r?a(n,e,t):a(t))||t);return r&&t&&Ne(n,e,t),t},ie=(s,n)=>(e,r)=>n(e,r,s),oe=(s=>(s.COMPONENT="__slideRender__",s.SCENE="__mainScene__",s.VIEW="__mainView__",s))(oe||{});S.CanvasView=class extends o.RxDisposable{constructor(e,r,t){super();f(this,"_objectProvider",null);f(this,"_activePageId","");f(this,"_refreshThumb",o.debounce(()=>{this.createThumbs()},300));this._univerInstanceService=e,this._injector=r,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$(o.UniverInstanceType.UNIVER_SLIDE).pipe(ce.takeUntil(this.dispose$)).subscribe(e=>{this._create(e==null?void 0:e.getUnitId())}),this._univerInstanceService.getAllUnitsForType(o.UniverInstanceType.UNIVER_SLIDE).forEach(e=>{this._create(e.getUnitId())})}activePage(e){const r=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SLIDE);let t;if(e)t=r.getPage(e);else{const l=r.getPages(),d=r.getPageOrder();if(d==null||l==null)return;t=l[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,r=e==null?void 0:e.getViewport("__mainView__"),t=this._getCenterPositionViewPort(e);if(!r||!t)return;const{left:i,top:a}=t,{x:c,y:l}=r.transViewportScroll2ScrollValue(i,a);r.scrollTo({x:c,y:l})}_create(e){e==null||this._univerInstanceService.getUnit(e,o.UniverInstanceType.UNIVER_SLIDE)==null||this._renderManagerService.has(e)||this._addNewRender(e)}_currentRender(){const e=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SLIDE);return this._renderManagerService.getRenderById(e.getUnitId())}_addNewRender(e){const r=this._univerInstanceService.getUnit(e,o.UniverInstanceType.UNIVER_SLIDE);if(r==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 l=new h.Viewport("__mainView__",i,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});i.attachControl(),i.on(h.EVENT_TYPE.wheel,(u,w)=>{const p=u;if(p.ctrlKey){const _=Math.abs(p.deltaX);let g=_<40?.2:_<80?.4:.2;g*=p.deltaY>0?-1:1,i.scaleX<1&&(g/=2),i.scaleX+g>4?i.scale(4,4):i.scaleX+g<.1?i.scale(.1,.1):(p.deltaY>0,p.preventDefault())}else l.onMouseWheel(p,w)}),i.onFileLoadedObservable.add(()=>{this._refreshThumb()}),h.ScrollBar.attachTo(l),this._renderManagerService.setCurrent(e);const d=this._createSlide(i);t.mainComponent=d,t.components.set("__slideRender__",d),this._createSlidePages(r,d),a.runRenderLoop(()=>{i.render();const u=document.getElementById("app");u&&(u.innerText=`fps:${Math.round(a.getFps()).toString()}`)})}_createSlide(e){const r=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SLIDE),{width:t,height:i}=e,a=r.getPageSize(),{width:c=100,height:l=100}=a,d=new h.Slide("__slideRender__",{left:(t-c)/2,top:(i-l)/2,width:c,height:l,zIndex:10});return d.enableNav(),d.enableSelectedClipElement(),e.addObject(d),d}_addBackgroundRect(e,r){const i=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:a=0,height:c=0}=i,l=new h.Rect("canvas",{left:0,top:0,width:a,height:c,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:o.getColorStyle(r)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});e.addObject(l,0)}_getCenterPositionViewPort(e){if(!e)return{left:0,top:0};const{width:r,height:t}=e,i=e.getEngine(),a=(i==null?void 0:i.width)||0,c=(i==null?void 0:i.height)||0;return{left:(r-a)/2,top:(t-c)/2}}_thumbSceneRender(e,r){const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{engine:i}=t;if(i==null)return;const{width:a,height:c}=r,{width:l=a,height:d=c}=i,u=i.getCanvas().getContext();r.renderToThumb(u,e,l/a,d/c)}_createSlidePages(e,r){const t=e.getPages(),i=e.getPageOrder();if(!(!t||!i)&&i.length!==0){for(let a=0,c=i.length;a<c;a++){const l=i[a];this._createScene(l,t[l]),this._createThumb(l)}this._activePageId=i[0],r.activeFirstPage()}}createThumbs(){const r=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SLIDE).getPageOrder(),t=this._currentRender();if(!(!r||!t)&&r.length!==0)for(let i=0,a=r.length;i<a;i++){const c=r[i];this._thumbSceneRender(c,t.mainComponent)}}_createThumb(e){this._renderManagerService.createRender(e)}_createScene(e,r){const t=this._currentRender();if(!t||!this._objectProvider)return;const{scene:i,mainComponent:a}=t,c=a,{width:l,height:d}=c,u=new h.Scene(e,c,{width:l,height:d});new h.Viewport(`PageViewer_${e}`,u,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:p,pageBackgroundFill:_}=r,g=this._objectProvider.convertToRenderObjects(p,i);if(!g||!c)return;this._addBackgroundRect(u,_),u.addObjects(g),g.forEach(O=>{u.attachTransformerTo(O)});const v=u.getTransformer();return v==null||v.onChangeEndObservable.add(()=>{this._thumbSceneRender(this._activePageId,c)}),v==null||v.onClearControlObservable.add(()=>{this._thumbSceneRender(this._activePageId,c)}),c.addPage(u),u}_initializeDependencies(e){this._objectProvider=e.createInstance(B)}},S.CanvasView=Ye([o.OnLifecycle(o.LifecycleStages.Ready,S.CanvasView),ie(0,o.IUniverInstanceService),ie(1,V.Inject(V.Injector)),ie(2,h.IRenderManagerService)],S.CanvasView);var Ae=Object.defineProperty,We=Object.getOwnPropertyDescriptor,$e=(s,n,e,r)=>{for(var t=r>1?void 0:r?We(n,e):n,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(r?a(n,e,t):a(t))||t);return r&&t&&Ae(n,e,t),t},ae=(s,n)=>(e,r)=>n(e,r,s);const He={},Fe="slides";S.UniverSlidesPlugin=(K=class extends o.Plugin{constructor(e={},r,t,i){super();f(this,"_config");f(this,"_canvasEngine",null);f(this,"_canvasView",null);this._univerInstanceService=r,this._localeService=t,this._injector=i,this._config=Object.assign(He,e),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(h.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}getCanvasView(){return this._canvasView}_initializeDependencies(e){[[S.CanvasView]].forEach(t=>{e.add(t)})}},f(K,"pluginName",Fe),f(K,"type",o.UniverInstanceType.UNIVER_SLIDE),K),S.UniverSlidesPlugin=$e([ae(1,o.IUniverInstanceService),ae(2,V.Inject(o.LocaleService)),ae(3,V.Inject(V.Injector))],S.UniverSlidesPlugin),S.SLIDE_KEY=oe,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/slides",
3
- "version": "0.1.13",
3
+ "version": "0.1.15",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -17,6 +17,9 @@
17
17
  "bugs": {
18
18
  "url": "https://github.com/dream-num/univer/issues"
19
19
  },
20
+ "keywords": [
21
+ "univer"
22
+ ],
20
23
  "exports": {
21
24
  ".": {
22
25
  "import": "./lib/es/index.js",
@@ -28,8 +31,8 @@
28
31
  "require": "./lib/cjs/*",
29
32
  "types": "./lib/types/index.d.ts"
30
33
  },
31
- "./locale/*": "./lib/locale/*.json",
32
- "./lib/*": "./lib/*"
34
+ "./lib/*": "./lib/*",
35
+ "./locale/*": "./lib/locale/*.json"
33
36
  },
34
37
  "main": "./lib/cjs/index.js",
35
38
  "module": "./lib/es/index.js",
@@ -43,31 +46,42 @@
43
46
  "files": [
44
47
  "lib"
45
48
  ],
46
- "engines": {
47
- "node": ">=16.0.0",
48
- "npm": ">=8.0.0"
49
- },
50
49
  "peerDependencies": {
51
- "@wendellhu/redi": "0.15.2",
50
+ "@wendellhu/redi": "0.15.4",
52
51
  "rxjs": ">=7.0.0",
53
- "@univerjs/engine-render": "0.1.13",
54
- "@univerjs/core": "0.1.13"
52
+ "@univerjs/core": "0.1.15",
53
+ "@univerjs/engine-render": "0.1.15"
55
54
  },
56
55
  "devDependencies": {
57
- "@wendellhu/redi": "0.15.2",
56
+ "@wendellhu/redi": "0.15.4",
58
57
  "rxjs": "^7.8.1",
59
58
  "typescript": "^5.4.5",
60
- "vite": "^5.2.12",
59
+ "vite": "^5.2.13",
61
60
  "vitest": "^1.6.0",
62
- "@univerjs/engine-render": "0.1.13",
63
- "@univerjs/shared": "0.1.13",
64
- "@univerjs/core": "0.1.13"
61
+ "@univerjs/core": "0.1.15",
62
+ "@univerjs/shared": "0.1.15",
63
+ "@univerjs/engine-render": "0.1.15"
64
+ },
65
+ "univerSpace": {
66
+ ".": {
67
+ "import": "./lib/es/index.js",
68
+ "require": "./lib/cjs/index.js",
69
+ "types": "./lib/types/index.d.ts"
70
+ },
71
+ "./*": {
72
+ "import": "./lib/es/*",
73
+ "require": "./lib/cjs/*",
74
+ "types": "./lib/types/index.d.ts"
75
+ },
76
+ "./lib/*": "./lib/*",
77
+ "./locale/*": "./lib/locale/*.json"
65
78
  },
66
79
  "scripts": {
67
80
  "test": "vitest run",
68
81
  "test:watch": "vitest",
69
82
  "coverage": "vitest run --coverage",
70
83
  "lint:types": "tsc --noEmit",
71
- "build": "tsc && vite build"
84
+ "build": "tsc && vite build",
85
+ "sync:cnpm": "cnpm sync"
72
86
  }
73
87
  }