@univerjs/slides 0.1.17 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var ue=Object.defineProperty;var pe=(a,r,e)=>r in a?ue(a,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[r]=e;var f=(a,r,e)=>pe(a,typeof r!="symbol"?r+"":r,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("@univerjs/core"),d=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=(a,r,e,n)=>{for(var t=n>1?void 0:n?ve(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&_e(r,e,t),t},we=(a,r)=>(e,n)=>r(e,n,a);let re=class extends H{constructor(r){super();f(this,"zIndex",5);f(this,"viewKey",h.PageElementType.DOCUMENT);f(this,"_liquid",new d.Liquid);this._localeService=r}check(r){if(r===this.viewKey)return this}convert(r,e){var B,ae;const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,title:R,description:j,document:E}=r;if(E==null)return;const m=new h.DocumentDataModel(E),I=new d.DocumentViewModel(m),P=d.DocumentSkeleton.create(I,this._localeService),b=new d.Documents("__DocsRender__",P);P.calculate();const O=new d.SceneViewer("__DocsViewer__"+n,{top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v}),S=new d.Scene("__DocsScene__"+n,O),T=new d.Viewport("__DocsViewPort_"+n,S,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});S.attachControl(),S.onMouseWheel$.subscribeEvent((L,A)=>{const D=L;if(D.ctrlKey){const $=Math.abs(D.deltaX);let C=$<40?.2:$<80?.4:.2;C*=D.deltaY>0?-1:1,S.scaleX<1&&(C/=2),S.scaleX+C>4?S.scale(4,4):S.scaleX+C<.1?S.scale(.1,.1):(D.deltaY>0,D.preventDefault())}else T.onMouseWheel(D,A)}),new d.ScrollBar(T,{mainScene:e}),S.addObject(b);const y=P.getActualSize();b.resize(y.actualWidth,y.actualHeight),S.resize(y.actualWidth,y.actualHeight+200);const x=(B=b.getSkeleton())==null?void 0:B.getPageSize();b.pageRender$.subscribe(L=>{const{page:A,pageLeft:D,pageTop:$,ctx:C}=L,{width:K,height:k,marginBottom:Q,marginLeft:X,marginRight:q,marginTop:G}=A;C.save(),C.translate(D-.5,$-.5),d.Rect.drawWith(C,{width:(x==null?void 0:x.width)||K,height:(x==null?void 0:x.height)||k,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:"rgba(255,255,255, 1)",zIndex:3}),C.restore()});const{left:Y,top:N}=b,U=P.getSkeletonData();if(U==null)return;const{pages:M}=U,z=[],F=new Map;this._recalculateSizeBySkeleton(b,S,P);for(let L=0,A=M.length;L<A;L++){const D=M[L],{skeDrawings:$,marginLeft:C,marginTop:K,pageWidth:k,pageHeight:Q}=D;this._liquid.translatePagePadding(D),$.forEach(X=>{const{aLeft:q,aTop:G,height:de,width:he,drawingOrigin:Ge}=X,ge=new d.Image(X.drawingId,{left:q+Y+this._liquid.x,top:G+N+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(D,b.pageLayoutType,b.pageMarginLeft,b.pageMarginTop)}return S.addObjects(z),z.forEach(L=>{S.attachTransformerTo(L)}),(ae=S.getTransformer())==null||ae.changing$.subscribe(L=>{const{objects:A}=L;A.forEach(D=>{const{oKey:$,left:C,top:K,height:k,width:Q}=D,X=F.get($),q=(X==null?void 0:X.marginLeft)||0,G=(X==null?void 0:X.marginTop)||0;P==null||P.getViewModel().getDataModel().updateDrawing($,{left:C-Y-q,top:K-N-G,height:k,width:Q})}),P==null||P.calculate()}),this._calculatePagePosition(b,S,T),O}_recalculateSizeBySkeleton(r,e,n){var c;const t=(c=n.getSkeletonData())==null?void 0:c.pages;if(t==null)return;let i=0,s=0;for(let o=0,l=t.length;o<l;o++){const g=t[o],{pageWidth:w,pageHeight:u}=g;r.pageLayoutType===d.PageLayoutType.VERTICAL?(s+=u,s+=r.pageMarginTop,o===l-1&&(s+=r.pageMarginTop),i=Math.max(i,w)):r.pageLayoutType===d.PageLayoutType.HORIZONTAL&&(i+=w,o!==l-1&&(i+=r.pageMarginLeft),s=Math.max(s,u))}r.resize(i,s),e.resize(i,s)}_calculatePagePosition(r,e,n,t=1){const i=e==null?void 0:e.getParent(),{width:s,height:c,pageMarginLeft:o,pageMarginTop:l}=r;if(i==null||s===Number.POSITIVE_INFINITY||c===Number.POSITIVE_INFINITY)return;const{width:g,height:w}=i;let u=0,_=0,p=0,v=0,R=Number.POSITIVE_INFINITY;if(g>(s+o*2)*t?(u=g/2-s*t/2,u/=t,p=(g-o*2)/t,R=0):(u=o,p=s+o*2,R=(p-g/t)/2),w>c?(_=w/2-c/2,v=(w-l*2)/t):(_=l,v=c+l*2),e.resize(p,v+200),r.translate(u,_),R!==Number.POSITIVE_INFINITY&&n!=null){const j=n.transScroll2ViewportScrollValue(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:s=0,width:c,height:o,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,title:R,description:j,image:E={}}=e,{imageProperties:m,placeholder:I,link:P}=E,b=(m==null?void 0:m.contentUrl)||"";return new d.Image(n,{url:b,top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,forceRender:!0})}}class be{constructor(){f(this,"zIndex",4)}create(r){return r.createInstance(Ie)}}W.add(new be);var Pe=Object.defineProperty,Te=Object.getOwnPropertyDescriptor,me=(a,r,e,n)=>{for(var t=n>1?void 0:n?Te(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Pe(r,e,t),t},ye=(a,r)=>(e,n)=>r(e,n,a);let ne=class extends H{constructor(r){super();f(this,"zIndex",2);f(this,"viewKey",h.PageElementType.TEXT);this._localeService=r}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,title:R,description:j,richText:E={}}=r,{text:m,ff:I,fs:P,it:b,bl:O,ul:S,st:T,ol:y,bg:x,bd:Y,cl:N,rich:U}=E;let M={top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,forceRender:!0},z=!1;if(m!=null?(M={...M,text:m,ff:I,fs:P,it:b,bl:O,ul:S,st:T,ol:y,bg:x,bd:Y,cl:N},z=!0):U!=null&&(M={...M,richText:U},z=!0),z!==!1)return new d.RichText(this._localeService,n,M)}};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:s=0,width:c,height:o,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,title:R,description:j}=e,{shapeType:E,text:m,shapeProperties:I,placeholder:P,link:b}=e.shape||{},O=I==null?"":h.getColorStyle(I.shapeBackgroundFill)||"rgba(255,255,255,1)",S=I==null?void 0:I.outline,T={};if(S){const{outlineFill:y,weight:x}=S;T.strokeWidth=x,T.stroke=h.getColorStyle(y)||"rgba(0,0,0,1)"}if(E===h.BasicShapes.Rect)return new d.Rect(n,{fill:O,top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,forceRender:!0,...T});if(E===h.BasicShapes.RoundRect){const y=(I==null?void 0:I.radius)||0;return new d.Rect(n,{fill:O,top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,forceRender:!0,radius:y,...T})}}}class De{constructor(){f(this,"zIndex",2)}create(r){return r.createInstance(Ee)}}W.add(new De);var Oe=Object.defineProperty,je=Object.getOwnPropertyDescriptor,xe=(a,r,e,n)=>{for(var t=n>1?void 0:n?je(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Oe(r,e,t),t},Ce=(a,r)=>(e,n)=>r(e,n,a);let ie=class extends H{constructor(r){super();f(this,"zIndex",6);f(this,"viewKey",h.PageElementType.SLIDE);f(this,"_ObjectProvider",null);this._injector=r}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,title:R,description:j,slide:E}=r;if(E==null)return;const m=new h.SlideDataModel(E),I=new d.Slide("__SLIDERender__"+n,{top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,forceRender:!0});I.enableNav(),I.enableSelectedClipElement();const P=m.getPageOrder(),b=m.getPages();if(!P||!b)return I;this._ObjectProvider=new J(this._injector);for(let O=0,S=P.length;O<S;O++){const T=b[P[O]],{id:y}=T;I.addPage(this._createScene(y,I,T,e,m))}return I.activeFirstPage(),I}_createScene(r,e,n,t,i){var _;const{width:s,height:c}=e,o=new d.Scene(r,e,{width:s,height:c});new d.Viewport(`PageViewer_${r}`,o,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:g,pageBackgroundFill:w}=n,u=(_=this._ObjectProvider)==null?void 0:_.convertToRenderObjects(g,t);return this._addBackgroundRect(o,w,i),o.addObjects(u),u==null||u.forEach(p=>{o.attachTransformerTo(p)}),o}_addBackgroundRect(r,e,n){const t=n.getPageSize(),{width:i=0,height:s=0}=t,c=new d.Rect("canvas",{left:0,top:0,width:i,height:s,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:h.getColorStyle(e)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});r.addObject(c,0)}};ie=xe([Ce(0,V.Inject(V.Injector))],ie);class Ve{constructor(){f(this,"zIndex",6)}create(r){return r.createInstance(ie)}}W.add(new Ve);var Me=Object.defineProperty,Le=Object.getOwnPropertyDescriptor,Xe=(a,r,e,n)=>{for(var t=n>1?void 0:n?Le(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Me(r,e,t),t},oe=(a,r)=>(e,n)=>r(e,n,a);let se=class extends H{constructor(r,e){super();f(this,"zIndex",4);f(this,"viewKey",h.PageElementType.SPREADSHEET);this._localeService=r,this._contextService=e}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,spreadsheet:R}=r;if(R==null)return;const{worksheet:j,styles:E}=R,{cellData:m}=j,I=new h.ObjectMatrix(m),P=new h.Styles(E),b=new d.SpreadsheetSkeleton(new h.Worksheet(n,j,P),j,I,P,this._localeService,this._contextService),{rowTotalHeight:O,columnTotalWidth:S,rowHeaderWidth:T,columnHeaderHeight:y}=b,x=S+j.rowHeader.width||0,Y=O+j.columnHeader.height||0,N=new d.SceneViewer("spreadInSlideSceneViewer"+n,{top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:g,scaleY:w,skewX:u,skewY:_,flipX:p,flipY:v,forceRender:!0}),U=new d.Scene("spreadInSlideScene"+n,N,{width:x,height:Y});this._updateViewport(n,T,y,U,e);const M=new d.Spreadsheet("testSheetViewer",b,!1),z=new d.SpreadsheetRowHeader("spreadInSlideRow",b),F=new d.SpreadsheetColumnHeader("spreadInSlideColumn",b),B=new d.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:T,height:y,fill:d.getColor([248,249,250]),stroke:d.getColor([217,217,217]),strokeWidth:1});return M.zIndex=10,U.addObjects([M],1),U.addObjects([z,F,B],2),N}_updateViewport(r,e,n,t,i){if(i==null)return;const s=e*t.scaleX,c=n*t.scaleY,o=new d.Viewport("spreadInSlideViewMain"+r,t,{left:s,top:c,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),l=new d.Viewport("spreadInSlideViewTop"+r,t,{left:s,height:c,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),g=new d.Viewport("spreadInSlideViewLeft"+r,t,{left:0,bottom:0,top:c,width:s,isRelativeY:!0,isWheelPreventDefaultX:!0});new d.Viewport("spreadInSlideViewLeftTop"+r,t,{left:0,top:0,width:s,height:c,isWheelPreventDefaultX:!0}),o.onScrollAfter$.subscribeEvent(w=>{const{scrollX:u,scrollY:_,viewportScrollX:p,viewportScrollY:v}=w;l.updateScroll({scrollX:u,viewportScrollX:p}),g.updateScroll({scrollY:_,viewportScrollY:v})}),t.attachControl(),new d.ScrollBar(o,{mainScene:i}),t.onMouseWheel$.subscribeEvent((w,u)=>{const _=w;if(_.ctrlKey){const p=Math.abs(_.deltaX);let v=p<40?.05:p<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(_,u)})}};se=Xe([oe(0,V.Inject(h.LocaleService)),oe(1,h.IContextService)],se);class Ue{constructor(){f(this,"zIndex",4)}create(r){return r.createInstance(se)}}W.add(new Ue);var ze=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,Ne=(a,r,e,n)=>{for(var t=n>1?void 0:n?$e(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&ze(r,e,t),t},Ae=(a,r)=>(e,n)=>r(e,n,a);let J=class{constructor(a){f(this,"_adaptors",[]);this._injector=a,this._adaptorLoader()}convertToRenderObjects(a,r){const e=Object.keys(a),n=[];return e.forEach(t=>{const i=a[t],s=this._executor(i,r);s!=null&&n.push(s)}),n}_executor(a,r){var t;const{id:e,type:n}=a;for(const i of this._adaptors){const s=(t=i.check(n))==null?void 0:t.convert(a,r);if(s!=null)return s}}_adaptorLoader(){W.getData().sort(h.sortRules).forEach(a=>{this._adaptors.push(a.create(this._injector))})}};J=Ne([Ae(0,V.Inject(V.Injector))],J);var We=Object.defineProperty,Ye=Object.getOwnPropertyDescriptor,He=(a,r,e,n)=>{for(var t=n>1?void 0:n?Ye(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&We(r,e,t),t},ee=(a,r)=>(e,n)=>r(e,n,a),le=(a=>(a.COMPONENT="__slideRender__",a.SCENE="__mainScene__",a.VIEW="__mainView__",a))(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(),l=n.getPageOrder();if(l==null||o==null)return;t=o[l[0]],e=t.id}const i=this._currentRender();if(t==null||i==null||i.mainComponent==null)return;const{id:s}=t,c=i.mainComponent;if(this._activePageId=e,c!=null&&c.hasPage(s)){c.changePage(s);return}this._createScene(s,t)}_scrollToCenter(){var l;const e=(l=this._currentRender())==null?void 0:l.scene,n=e==null?void 0:e.getViewport("__mainView__"),t=this._getCenterPositionViewPort(e);if(!n||!t)return;const{left:i,top:s}=t,{x:c,y:o}=n.transViewportScroll2ScrollValue(i,s);n.scrollTo({x:c,y:o})}_create(e){e==null||this._univerInstanceService.getUnit(e,h.UniverInstanceType.UNIVER_SLIDE)==null||this._renderManagerService.has(e)||this._addNewRender(e)}_currentRender(){const e=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE);return this._renderManagerService.getRenderById(e.getUnitId())}_addNewRender(e){const n=this._univerInstanceService.getUnit(e,h.UniverInstanceType.UNIVER_SLIDE);if(n==null)return;this._renderManagerService.createRender(e);const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{scene:i,engine:s}=t,c=s.onTransformChange$.subscribeEvent(()=>{this._scrollToCenter(),c==null||c.unsubscribe()});s.onTransformChange$.subscribeEvent(()=>{setTimeout(()=>{this.createThumbs()},300)}),i.resize(2400,1800);const o=new d.Viewport("__mainView__",i,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});i.attachControl(),i.onMouseWheel$.subscribeEvent((g,w)=>{const u=g;if(u.ctrlKey){const _=Math.abs(u.deltaX);let p=_<40?.2:_<80?.4:.2;p*=u.deltaY>0?-1:1,i.scaleX<1&&(p/=2),i.scaleX+p>4?i.scale(4,4):i.scaleX+p<.1?i.scale(.1,.1):(u.deltaY>0,u.preventDefault())}else o.onMouseWheel(u,w)}),i.onFileLoaded$.subscribeEvent(()=>{this._refreshThumb()}),d.ScrollBar.attachTo(o),this._renderManagerService.setCurrent(e);const l=this._createSlide(i);t.mainComponent=l,t.components.set("__slideRender__",l),this._createSlidePages(n,l),s.runRenderLoop(()=>{i.render();const g=document.getElementById("app");g&&(g.innerText=`fps:${Math.round(s.getFps()).toString()}`)})}_createSlide(e){const n=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE),{width:t,height:i}=e,s=n.getPageSize(),{width:c=100,height:o=100}=s,l=new d.Slide("__slideRender__",{left:(t-c)/2,top:(i-o)/2,width:c,height:o,zIndex:10});return l.enableNav(),l.enableSelectedClipElement(),e.addObject(l),l}_addBackgroundRect(e,n){const i=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:s=0,height:c=0}=i,o=new d.Rect("canvas",{left:0,top:0,width:s,height:c,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:h.getColorStyle(n)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});e.addObject(o,0)}_getCenterPositionViewPort(e){if(!e)return{left:0,top:0};const{width:n,height:t}=e,i=e.getEngine(),s=(i==null?void 0:i.width)||0,c=(i==null?void 0:i.height)||0;return{left:(n-s)/2,top:(t-c)/2}}_thumbSceneRender(e,n){const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{engine:i}=t;if(i==null)return;const{width:s,height:c}=n,{width:o=s,height:l=c}=i,g=i.getCanvas().getContext();n.renderToThumb(g,e,o/s,l/c)}_createSlidePages(e,n){const t=e.getPages(),i=e.getPageOrder();if(!(!t||!i)&&i.length!==0){for(let s=0,c=i.length;s<c;s++){const o=i[s];this._createScene(o,t[o]),this._createThumb(o)}this._activePageId=i[0],n.activeFirstPage()}}createThumbs(){const n=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE).getPageOrder(),t=this._currentRender();if(!(!n||!t)&&n.length!==0)for(let i=0,s=n.length;i<s;i++){const c=n[i];this._thumbSceneRender(c,t.mainComponent)}}_createThumb(e){this._renderManagerService.createRender(e)}_createScene(e,n){const t=this._currentRender();if(!t||!this._objectProvider)return;const{scene:i,mainComponent:s}=t,c=s,{width:o,height:l}=c,g=new d.Scene(e,c,{width:o,height:l});new d.Viewport(`PageViewer_${e}`,g,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:u,pageBackgroundFill:_}=n,p=this._objectProvider.convertToRenderObjects(u,i);if(!p||!c)return;this._addBackgroundRect(g,_),g.addObjects(p),p.forEach(R=>{g.attachTransformerTo(R)});const v=g.getTransformer();return v==null||v.changeEnd$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),v==null||v.clearControl$.subscribe(()=>{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,d.IRenderManagerService)],exports.CanvasView);var Fe=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,Ke=(a,r,e,n)=>{for(var t=n>1?void 0:n?Be(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Fe(r,e,t),t},te=(a,r)=>(e,n)=>r(e,n,a);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(d.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 ge=Object.defineProperty;var ue=(a,r,e)=>r in a?ge(a,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[r]=e;var _=(a,r,e)=>ue(a,typeof r!="symbol"?r+"":r,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("@univerjs/core"),d=require("@univerjs/engine-render"),X=require("@wendellhu/redi"),ee=require("rxjs");class H{constructor(){_(this,"zIndex",0);_(this,"viewKey",null)}check(r){if(r===this.viewKey)return this}create(r){}}const W=h.Registry.create();var pe=Object.defineProperty,_e=Object.getOwnPropertyDescriptor,ve=(a,r,e,n)=>{for(var t=n>1?void 0:n?_e(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&pe(r,e,t),t},fe=(a,r)=>(e,n)=>r(e,n,a);let re=class extends H{constructor(r){super();_(this,"zIndex",5);_(this,"viewKey",h.PageElementType.DOCUMENT);_(this,"_liquid",new d.Liquid);this._localeService=r}check(r){if(r===this.viewKey)return this}convert(r,e){var B,ae;const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,title:R,description:j,document:E}=r;if(E==null)return;const m=new h.DocumentDataModel(E),I=new d.DocumentViewModel(m),b=d.DocumentSkeleton.create(I,this._localeService),P=new d.Documents("__DocsRender__",b);b.calculate();const O=new d.SceneViewer("__DocsViewer__"+n,{top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f}),S=new d.Scene("__DocsScene__"+n,O),T=new d.Viewport("__DocsViewPort_"+n,S,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});S.attachControl(),S.onMouseWheel$.subscribeEvent((M,A)=>{const D=M;if(D.ctrlKey){const $=Math.abs(D.deltaX);let C=$<40?.2:$<80?.4:.2;C*=D.deltaY>0?-1:1,S.scaleX<1&&(C/=2),S.scaleX+C>4?S.scale(4,4):S.scaleX+C<.1?S.scale(.1,.1):(D.deltaY>0,D.preventDefault())}else T.onMouseWheel(D,A)}),new d.ScrollBar(T,{mainScene:e}),S.addObject(P);const y=b.getActualSize();P.resize(y.actualWidth,y.actualHeight),S.resize(y.actualWidth,y.actualHeight+200);const x=(B=P.getSkeleton())==null?void 0:B.getPageSize();P.pageRender$.subscribe(M=>{const{page:A,pageLeft:D,pageTop:$,ctx:C}=M,{width:K,height:k,marginBottom:Q,marginLeft:L,marginRight:q,marginTop:G}=A;C.save(),C.translate(D-.5,$-.5),d.Rect.drawWith(C,{width:(x==null?void 0:x.width)||K,height:(x==null?void 0:x.height)||k,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:"rgba(255,255,255, 1)",zIndex:3}),C.restore()});const{left:Y,top:N}=P,U=b.getSkeletonData();if(U==null)return;const{pages:V}=U,z=[],F=new Map;this._recalculateSizeBySkeleton(P,S,b);for(let M=0,A=V.length;M<A;M++){const D=V[M],{skeDrawings:$,marginLeft:C,marginTop:K,pageWidth:k,pageHeight:Q}=D;this._liquid.translatePagePadding(D),$.forEach(L=>{const{aLeft:q,aTop:G,height:le,width:de,drawingOrigin:Ge}=L,he=new d.Image(L.drawingId,{left:q+Y+this._liquid.x,top:G+N+this._liquid.y,width:de,height:le,zIndex:11});F.set(L.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),z.push(he)}),this._liquid.translatePage(D,P.pageLayoutType,P.pageMarginLeft,P.pageMarginTop)}return S.addObjects(z),z.forEach(M=>{S.attachTransformerTo(M)}),(ae=S.getTransformer())==null||ae.changing$.subscribe(M=>{const{objects:A}=M;A.forEach(D=>{const{oKey:$,left:C,top:K,height:k,width:Q}=D,L=F.get($),q=(L==null?void 0:L.marginLeft)||0,G=(L==null?void 0:L.marginTop)||0;b==null||b.getViewModel().getDataModel().updateDrawing($,{left:C-Y-q,top:K-N-G,height:k,width:Q})}),b==null||b.calculate()}),this._calculatePagePosition(P,S,T),O}_recalculateSizeBySkeleton(r,e,n){var c;const t=(c=n.getSkeletonData())==null?void 0:c.pages;if(t==null)return;let i=0,s=0;for(let o=0,l=t.length;o<l;o++){const u=t[o],{pageWidth:w,pageHeight:g}=u;r.pageLayoutType===d.PageLayoutType.VERTICAL?(s+=g,s+=r.pageMarginTop,o===l-1&&(s+=r.pageMarginTop),i=Math.max(i,w)):r.pageLayoutType===d.PageLayoutType.HORIZONTAL&&(i+=w,o!==l-1&&(i+=r.pageMarginLeft),s=Math.max(s,g))}r.resize(i,s),e.resize(i,s)}_calculatePagePosition(r,e,n,t=1){const i=e==null?void 0:e.getParent(),{width:s,height:c,pageMarginLeft:o,pageMarginTop:l}=r;if(i==null||s===Number.POSITIVE_INFINITY||c===Number.POSITIVE_INFINITY)return;const{width:u,height:w}=i;let g=0,v=0,p=0,f=0,R=Number.POSITIVE_INFINITY;if(u>(s+o*2)*t?(g=u/2-s*t/2,g/=t,p=(u-o*2)/t,R=0):(g=o,p=s+o*2,R=(p-u/t)/2),w>c?(v=w/2-c/2,f=(w-l*2)/t):(v=l,f=c+l*2),e.resize(p,f+200),r.translate(g,v),R!==Number.POSITIVE_INFINITY&&n!=null){const j=n.transScroll2ViewportScrollValue(R,0).x;n.scrollTo({x:j})}return this}};re=ve([fe(0,X.Inject(h.LocaleService))],re);class we{constructor(){_(this,"zIndex",5)}create(r){return r.createInstance(re)}}W.add(new we);class Se extends H{constructor(){super(...arguments);_(this,"zIndex",1);_(this,"viewKey",h.PageElementType.IMAGE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,title:R,description:j,image:E={}}=e,{imageProperties:m,placeholder:I,link:b}=E,P=(m==null?void 0:m.contentUrl)||"";return new d.Image(n,{url:P,top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,forceRender:!0})}}class Ie{constructor(){_(this,"zIndex",4)}create(r){return r.createInstance(Se)}}W.add(new Ie);var Pe=Object.defineProperty,be=Object.getOwnPropertyDescriptor,Te=(a,r,e,n)=>{for(var t=n>1?void 0:n?be(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Pe(r,e,t),t},me=(a,r)=>(e,n)=>r(e,n,a);let ne=class extends H{constructor(r){super();_(this,"zIndex",2);_(this,"viewKey",h.PageElementType.TEXT);this._localeService=r}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,title:R,description:j,richText:E={}}=r,{text:m,ff:I,fs:b,it:P,bl:O,ul:S,st:T,ol:y,bg:x,bd:Y,cl:N,rich:U}=E;let V={top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,forceRender:!0},z=!1;if(m!=null?(V={...V,text:m,ff:I,fs:b,it:P,bl:O,ul:S,st:T,ol:y,bg:x,bd:Y,cl:N},z=!0):U!=null&&(V={...V,richText:U},z=!0),z!==!1)return new d.RichText(this._localeService,n,V)}};ne=Te([me(0,X.Inject(h.LocaleService))],ne);class ye{constructor(){_(this,"zIndex",0)}create(r){return r.createInstance(ne)}}W.add(new ye);class Re extends H{constructor(){super(...arguments);_(this,"zIndex",2);_(this,"viewKey",h.PageElementType.SHAPE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,title:R,description:j}=e,{shapeType:E,text:m,shapeProperties:I,placeholder:b,link:P}=e.shape||{},O=I==null?"":h.getColorStyle(I.shapeBackgroundFill)||"rgba(255,255,255,1)",S=I==null?void 0:I.outline,T={};if(S){const{outlineFill:y,weight:x}=S;T.strokeWidth=x,T.stroke=h.getColorStyle(y)||"rgba(0,0,0,1)"}if(E===h.BasicShapes.Rect)return new d.Rect(n,{fill:O,top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,forceRender:!0,...T});if(E===h.BasicShapes.RoundRect){const y=(I==null?void 0:I.radius)||0;return new d.Rect(n,{fill:O,top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,forceRender:!0,radius:y,...T})}}}class Ee{constructor(){_(this,"zIndex",2)}create(r){return r.createInstance(Re)}}W.add(new Ee);var De=Object.defineProperty,Oe=Object.getOwnPropertyDescriptor,je=(a,r,e,n)=>{for(var t=n>1?void 0:n?Oe(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&De(r,e,t),t},xe=(a,r)=>(e,n)=>r(e,n,a);let ie=class extends H{constructor(r){super();_(this,"zIndex",6);_(this,"viewKey",h.PageElementType.SLIDE);_(this,"_ObjectProvider",null);this._injector=r}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,title:R,description:j,slide:E}=r;if(E==null)return;const m=new h.SlideDataModel(E),I=new d.Slide("__SLIDERender__"+n,{top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,forceRender:!0});I.enableNav(),I.enableSelectedClipElement();const b=m.getPageOrder(),P=m.getPages();if(!b||!P)return I;this._ObjectProvider=new J(this._injector);for(let O=0,S=b.length;O<S;O++){const T=P[b[O]],{id:y}=T;I.addPage(this._createScene(y,I,T,e,m))}return I.activeFirstPage(),I}_createScene(r,e,n,t,i){var v;const{width:s,height:c}=e,o=new d.Scene(r,e,{width:s,height:c});new d.Viewport(`PageViewer_${r}`,o,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:u,pageBackgroundFill:w}=n,g=(v=this._ObjectProvider)==null?void 0:v.convertToRenderObjects(u,t);return this._addBackgroundRect(o,w,i),o.addObjects(g),g==null||g.forEach(p=>{o.attachTransformerTo(p)}),o}_addBackgroundRect(r,e,n){const t=n.getPageSize(),{width:i=0,height:s=0}=t,c=new d.Rect("canvas",{left:0,top:0,width:i,height:s,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:h.getColorStyle(e)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});r.addObject(c,0)}};ie=je([xe(0,X.Inject(X.Injector))],ie);class Ce{constructor(){_(this,"zIndex",6)}create(r){return r.createInstance(ie)}}W.add(new Ce);var Ve=Object.defineProperty,Me=Object.getOwnPropertyDescriptor,Le=(a,r,e,n)=>{for(var t=n>1?void 0:n?Me(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Ve(r,e,t),t},ce=(a,r)=>(e,n)=>r(e,n,a);let se=class extends H{constructor(r,e){super();_(this,"zIndex",4);_(this,"viewKey",h.PageElementType.SPREADSHEET);this._localeService=r,this._contextService=e}check(r){if(r===this.viewKey)return this}convert(r,e){const{id:n,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,spreadsheet:R}=r;if(R==null)return;const{worksheet:j,styles:E}=R,{cellData:m}=j,I=new h.ObjectMatrix(m),b=new h.Styles(E),P=new d.SpreadsheetSkeleton(new h.Worksheet(n,j,b),j,I,b,this._localeService,this._contextService),{rowTotalHeight:O,columnTotalWidth:S,rowHeaderWidth:T,columnHeaderHeight:y}=P,x=S+j.rowHeader.width||0,Y=O+j.columnHeader.height||0,N=new d.SceneViewer("spreadInSlideSceneViewer"+n,{top:s,left:i,width:c,height:o,zIndex:t,angle:l,scaleX:u,scaleY:w,skewX:g,skewY:v,flipX:p,flipY:f,forceRender:!0}),U=new d.Scene("spreadInSlideScene"+n,N,{width:x,height:Y});this._updateViewport(n,T,y,U,e);const V=new d.Spreadsheet("testSheetViewer",P,!1),z=new d.SpreadsheetRowHeader("spreadInSlideRow",P),F=new d.SpreadsheetColumnHeader("spreadInSlideColumn",P),B=new d.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:T,height:y,fill:d.getColor([248,249,250]),stroke:d.getColor([217,217,217]),strokeWidth:1});return V.zIndex=10,U.addObjects([V],1),U.addObjects([z,F,B],2),N}_updateViewport(r,e,n,t,i){if(i==null)return;const s=e*t.scaleX,c=n*t.scaleY,o=new d.Viewport("spreadInSlideViewMain"+r,t,{left:s,top:c,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),l=new d.Viewport("spreadInSlideViewTop"+r,t,{left:s,height:c,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),u=new d.Viewport("spreadInSlideViewLeft"+r,t,{left:0,bottom:0,top:c,width:s,isRelativeY:!0,isWheelPreventDefaultX:!0});new d.Viewport("spreadInSlideViewLeftTop"+r,t,{left:0,top:0,width:s,height:c,isWheelPreventDefaultX:!0}),o.onScrollAfter$.subscribeEvent(w=>{const{scrollX:g,scrollY:v,viewportScrollX:p,viewportScrollY:f}=w;l.updateScroll({scrollX:g,viewportScrollX:p}),u.updateScroll({scrollY:v,viewportScrollY:f})}),t.attachControl(),new d.ScrollBar(o,{mainScene:i}),t.onMouseWheel$.subscribeEvent((w,g)=>{const v=w;if(v.ctrlKey){const p=Math.abs(v.deltaX);let f=p<40?.05:p<80?.02:.01;f*=v.deltaY>0?-1:1,t.scaleX<1&&(f/=2),t.scaleX+f>4?t.scale(4,4):t.scaleX+f<.1?t.scale(.1,.1):(t.scaleBy(f,f),v.preventDefault())}else o.onMouseWheel(v,g)})}};se=Le([ce(0,X.Inject(h.LocaleService)),ce(1,h.IContextService)],se);class Xe{constructor(){_(this,"zIndex",4)}create(r){return r.createInstance(se)}}W.add(new Xe);var Ue=Object.defineProperty,ze=Object.getOwnPropertyDescriptor,$e=(a,r,e,n)=>{for(var t=n>1?void 0:n?ze(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Ue(r,e,t),t},Ne=(a,r)=>(e,n)=>r(e,n,a);let J=class{constructor(a){_(this,"_adaptors",[]);this._injector=a,this._adaptorLoader()}convertToRenderObjects(a,r){const e=Object.keys(a),n=[];return e.forEach(t=>{const i=a[t],s=this._executor(i,r);s!=null&&n.push(s)}),n}_executor(a,r){var t;const{id:e,type:n}=a;for(const i of this._adaptors){const s=(t=i.check(n))==null?void 0:t.convert(a,r);if(s!=null)return s}}_adaptorLoader(){W.getData().sort(h.sortRules).forEach(a=>{this._adaptors.push(a.create(this._injector))})}};J=$e([Ne(0,X.Inject(X.Injector))],J);var Ae=Object.defineProperty,We=Object.getOwnPropertyDescriptor,Ye=(a,r,e,n)=>{for(var t=n>1?void 0:n?We(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&Ae(r,e,t),t},te=(a,r)=>(e,n)=>r(e,n,a),oe=(a=>(a.COMPONENT="__slideRender__",a.SCENE="__mainScene__",a.VIEW="__mainView__",a))(oe||{});exports.CanvasView=class extends h.RxDisposable{constructor(e,n,t){super();_(this,"_objectProvider",null);_(this,"_activePageId","");_(this,"activePageId$",new ee.Subject);_(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(ee.takeUntil(this.dispose$)).subscribe(e=>{this._create(e)}),this._univerInstanceService.getCurrentTypeOfUnit$(h.UniverInstanceType.UNIVER_SLIDE).pipe(ee.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(),l=n.getPageOrder();if(l==null||o==null)return;t=o[l[0]],e=t.id}const i=this._currentRender();if(t==null||i==null||i.mainComponent==null)return;const{id:s}=t,c=i.mainComponent;if(this._activePageId=e,this.activePageId$.next(e),c!=null&&c.hasPage(s)){c.changePage(s);return}this._createScene(s,t)}_scrollToCenter(){var l;const e=(l=this._currentRender())==null?void 0:l.scene,n=e==null?void 0:e.getViewport("__mainView__"),t=this._getCenterPositionViewPort(e);if(!n||!t)return;const{left:i,top:s}=t,{x:c,y:o}=n.transViewportScroll2ScrollValue(i,s);n.scrollTo({x:c,y:o})}_create(e){e==null||this._univerInstanceService.getUnit(e,h.UniverInstanceType.UNIVER_SLIDE)==null||this._renderManagerService.has(e)||this._addNewRender(e)}_currentRender(){const e=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE);return this._renderManagerService.getRenderById(e.getUnitId())}_addNewRender(e){const n=this._univerInstanceService.getUnit(e,h.UniverInstanceType.UNIVER_SLIDE);if(n==null)return;this._renderManagerService.createRender(e);const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{scene:i,engine:s}=t,c=s.onTransformChange$.subscribeEvent(()=>{this._scrollToCenter(),c==null||c.unsubscribe()});s.onTransformChange$.subscribeEvent(()=>{setTimeout(()=>{this.createThumbs()},300)}),i.resize(2400,1800);const o=new d.Viewport("__mainView__",i,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});i.attachControl(),i.onMouseWheel$.subscribeEvent((u,w)=>{const g=u;if(g.ctrlKey){const v=Math.abs(g.deltaX);let p=v<40?.2:v<80?.4:.2;p*=g.deltaY>0?-1:1,i.scaleX<1&&(p/=2),i.scaleX+p>4?i.scale(4,4):i.scaleX+p<.1?i.scale(.1,.1):(g.deltaY>0,g.preventDefault())}else o.onMouseWheel(g,w)}),i.onFileLoaded$.subscribeEvent(()=>{this._refreshThumb()}),d.ScrollBar.attachTo(o),this._renderManagerService.setCurrent(e);const l=this._createSlide(i);t.mainComponent=l,t.components.set("__slideRender__",l),this._createSlidePages(n,l),s.runRenderLoop(()=>{i.render()})}_createSlide(e){const n=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE),{width:t,height:i}=e,s=n.getPageSize(),{width:c=100,height:o=100}=s,l=new d.Slide("__slideRender__",{left:(t-c)/2,top:(i-o)/2,width:c,height:o,zIndex:10});return l.enableNav(),l.enableSelectedClipElement(),e.addObject(l),l}_addBackgroundRect(e,n){const i=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:s=0,height:c=0}=i,o=new d.Rect("canvas",{left:0,top:0,width:s,height:c,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:h.getColorStyle(n)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});e.addObject(o,0)}_getCenterPositionViewPort(e){if(!e)return{left:0,top:0};const{width:n,height:t}=e,i=e.getEngine(),s=(i==null?void 0:i.width)||0,c=(i==null?void 0:i.height)||0;return{left:(n-s)/2,top:(t-c)/2}}_thumbSceneRender(e,n){const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{engine:i}=t;if(i==null)return;const{width:s,height:c}=n,{width:o=s,height:l=c}=i,u=i.getCanvas().getContext();n.renderToThumb(u,e,o/s,l/c)}_createSlidePages(e,n){const t=e.getPages(),i=e.getPageOrder();if(!(!t||!i)&&i.length!==0){for(let s=0,c=i.length;s<c;s++){const o=i[s];this._createScene(o,t[o]),this._createThumb(o)}this._activePageId=i[0],n.activeFirstPage()}}createThumbs(){const n=this._univerInstanceService.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SLIDE).getPageOrder(),t=this._currentRender();if(!(!n||!t)&&n.length!==0)for(let i=0,s=n.length;i<s;i++){const c=n[i];this._thumbSceneRender(c,t.mainComponent)}}_createThumb(e){this._renderManagerService.createRender(e)}_createScene(e,n){const t=this._currentRender();if(!t||!this._objectProvider)return;const{scene:i,mainComponent:s}=t,c=s,{width:o,height:l}=c,u=new d.Scene(e,c,{width:o,height:l});new d.Viewport(`PageViewer_${e}`,u,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:g,pageBackgroundFill:v}=n,p=this._objectProvider.convertToRenderObjects(g,i);if(!p||!c)return;this._addBackgroundRect(u,v),u.addObjects(p),p.forEach(R=>{u.attachTransformerTo(R)});const f=u.getTransformer();return f==null||f.changeEnd$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),f==null||f.clearControl$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),c.addPage(u),u}_initializeDependencies(e){this._objectProvider=e.createInstance(J)}};exports.CanvasView=Ye([h.OnLifecycle(h.LifecycleStages.Ready,exports.CanvasView),te(0,h.IUniverInstanceService),te(1,X.Inject(X.Injector)),te(2,d.IRenderManagerService)],exports.CanvasView);var He=Object.defineProperty,Fe=Object.getOwnPropertyDescriptor,Be=(a,r,e,n)=>{for(var t=n>1?void 0:n?Fe(r,e):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(n?s(r,e,t):s(t))||t);return n&&t&&He(r,e,t),t},Ke=(a,r)=>(e,n)=>r(e,n,a);const ke={},qe="slides";var Z;exports.UniverSlidesPlugin=(Z=class extends h.Plugin{constructor(e={},n){super();_(this,"_config");_(this,"_canvasEngine",null);_(this,"_canvasView",null);this._injector=n,this._config=Object.assign(ke,e),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(d.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}getCanvasView(){return this._canvasView}_initializeDependencies(e){[[exports.CanvasView]].forEach(t=>{e.add(t)})}},_(Z,"pluginName",qe),_(Z,"type",h.UniverInstanceType.UNIVER_SLIDE),Z);exports.UniverSlidesPlugin=Be([Ke(1,X.Inject(X.Injector))],exports.UniverSlidesPlugin);exports.SLIDE_KEY=oe;
package/lib/es/index.js CHANGED
@@ -1,11 +1,11 @@
1
- var Oe = Object.defineProperty;
2
- var ye = (a, e, r) => e in a ? Oe(a, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : a[e] = r;
3
- var g = (a, e, r) => ye(a, typeof e != "symbol" ? e + "" : e, r);
4
- import { Registry as xe, LocaleService as ne, PageElementType as F, DocumentDataModel as je, getColorStyle as te, BasicShapes as _e, SlideDataModel as Me, IContextService as Ce, ObjectMatrix as Ve, Styles as Xe, Worksheet as Le, sortRules as ze, OnLifecycle as $e, LifecycleStages as Ne, RxDisposable as Ae, UniverInstanceType as V, debounce as We, IUniverInstanceService as be, Plugin as Ye } from "@univerjs/core";
5
- import { Liquid as Ue, DocumentViewModel as He, DocumentSkeleton as Fe, Documents as Be, SceneViewer as Pe, Scene as ie, Viewport as $, ScrollBar as ge, Rect as H, Image as me, PageLayoutType as fe, RichText as Ke, Slide as Te, SpreadsheetSkeleton as ke, Spreadsheet as qe, SpreadsheetRowHeader as Ge, SpreadsheetColumnHeader as Ze, getColor as ve, IRenderManagerService as Je, IRenderingEngine as Qe } from "@univerjs/engine-render";
6
- import { Inject as N, Injector as se } from "@wendellhu/redi";
7
- import { takeUntil as we } from "rxjs";
8
- class B {
1
+ var De = Object.defineProperty;
2
+ var Oe = (a, e, r) => e in a ? De(a, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : a[e] = r;
3
+ var g = (a, e, r) => Oe(a, typeof e != "symbol" ? e + "" : e, r);
4
+ import { Registry as Ee, LocaleService as he, PageElementType as F, DocumentDataModel as ye, getColorStyle as te, BasicShapes as pe, SlideDataModel as xe, IContextService as je, ObjectMatrix as Me, Styles as Ce, Worksheet as Ve, sortRules as Xe, OnLifecycle as Le, LifecycleStages as ze, RxDisposable as $e, UniverInstanceType as V, debounce as Ne, IUniverInstanceService as Ae, Plugin as We } from "@univerjs/core";
5
+ import { Liquid as Ye, DocumentViewModel as Ue, DocumentSkeleton as He, Documents as Fe, SceneViewer as Ie, Scene as ne, Viewport as $, ScrollBar as ue, Rect as H, Image as be, PageLayoutType as _e, RichText as Ke, Slide as Pe, SpreadsheetSkeleton as ke, Spreadsheet as Be, SpreadsheetRowHeader as qe, SpreadsheetColumnHeader as Ge, getColor as fe, IRenderManagerService as Ze, IRenderingEngine as Je } from "@univerjs/engine-render";
6
+ import { Inject as W, Injector as ie } from "@wendellhu/redi";
7
+ import { Subject as Qe, takeUntil as ve } from "rxjs";
8
+ class K {
9
9
  constructor() {
10
10
  g(this, "zIndex", 0);
11
11
  g(this, "viewKey", null);
@@ -17,18 +17,18 @@ class B {
17
17
  create(e) {
18
18
  }
19
19
  }
20
- const Y = xe.create();
20
+ const Y = Ee.create();
21
21
  var et = Object.defineProperty, tt = Object.getOwnPropertyDescriptor, rt = (a, e, r, n) => {
22
22
  for (var t = n > 1 ? void 0 : n ? tt(e, r) : e, s = a.length - 1, i; s >= 0; s--)
23
23
  (i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
24
24
  return n && t && et(e, r, t), t;
25
25
  }, nt = (a, e) => (r, n) => e(r, n, a);
26
- let le = class extends B {
26
+ let ce = class extends K {
27
27
  constructor(e) {
28
28
  super();
29
29
  g(this, "zIndex", 5);
30
30
  g(this, "viewKey", F.DOCUMENT);
31
- g(this, "_liquid", new Ue());
31
+ g(this, "_liquid", new Ye());
32
32
  this._localeService = e;
33
33
  }
34
34
  check(e) {
@@ -37,7 +37,7 @@ let le = class extends B {
37
37
  }
38
38
  // eslint-disable-next-line max-lines-per-function
39
39
  convert(e, r) {
40
- var k, pe;
40
+ var B, ge;
41
41
  const {
42
42
  id: n,
43
43
  zIndex: t,
@@ -45,35 +45,35 @@ let le = class extends B {
45
45
  top: i = 0,
46
46
  width: o,
47
47
  height: c,
48
- angle: l,
48
+ angle: d,
49
49
  scaleX: f,
50
50
  scaleY: h,
51
51
  skewX: u,
52
- skewY: d,
52
+ skewY: l,
53
53
  flipX: p,
54
54
  flipY: _,
55
- title: E,
56
- description: O,
55
+ title: O,
56
+ description: E,
57
57
  document: T
58
58
  } = e;
59
59
  if (T == null)
60
60
  return;
61
- const P = new je(T), w = new He(P), I = Fe.create(w, this._localeService), S = new Be("__DocsRender__", I);
61
+ const P = new ye(T), w = new Ue(P), I = He.create(w, this._localeService), S = new Fe("__DocsRender__", I);
62
62
  I.calculate();
63
- const D = new Pe("__DocsViewer__" + n, {
63
+ const D = new Ie("__DocsViewer__" + n, {
64
64
  top: i,
65
65
  left: s,
66
66
  width: o,
67
67
  height: c,
68
68
  zIndex: t,
69
- angle: l,
69
+ angle: d,
70
70
  scaleX: f,
71
71
  scaleY: h,
72
72
  skewX: u,
73
- skewY: d,
73
+ skewY: l,
74
74
  flipX: p,
75
75
  flipY: _
76
- }), v = new ie("__DocsScene__" + n, D), b = new $("__DocsViewPort_" + n, v, {
76
+ }), v = new ne("__DocsScene__" + n, D), b = new $("__DocsViewPort_" + n, v, {
77
77
  left: 0,
78
78
  top: 0,
79
79
  bottom: 0,
@@ -82,22 +82,22 @@ let le = class extends B {
82
82
  isRelativeY: !0,
83
83
  isWheelPreventDefaultX: !0
84
84
  });
85
- v.attachControl(), v.onMouseWheel$.subscribeEvent((M, W) => {
85
+ v.attachControl(), v.onMouseWheel$.subscribeEvent((M, A) => {
86
86
  const R = M;
87
87
  if (R.ctrlKey) {
88
88
  const z = Math.abs(R.deltaX);
89
89
  let x = z < 40 ? 0.2 : z < 80 ? 0.4 : 0.2;
90
90
  x *= R.deltaY > 0 ? -1 : 1, v.scaleX < 1 && (x /= 2), v.scaleX + x > 4 ? v.scale(4, 4) : v.scaleX + x < 0.1 ? v.scale(0.1, 0.1) : (R.deltaY > 0, R.preventDefault());
91
91
  } else
92
- b.onMouseWheel(R, W);
93
- }), new ge(b, {
92
+ b.onMouseWheel(R, A);
93
+ }), new ue(b, {
94
94
  mainScene: r
95
95
  }), v.addObject(S);
96
96
  const m = I.getActualSize();
97
97
  S.resize(m.actualWidth, m.actualHeight), v.resize(m.actualWidth, m.actualHeight + 200);
98
- const y = (k = S.getSkeleton()) == null ? void 0 : k.getPageSize();
98
+ const y = (B = S.getSkeleton()) == null ? void 0 : B.getPageSize();
99
99
  S.pageRender$.subscribe((M) => {
100
- const { page: W, pageLeft: R, pageTop: z, ctx: x } = M, { width: q, height: G, marginBottom: ae, marginLeft: C, marginRight: Z, marginTop: J } = W;
100
+ const { page: A, pageLeft: R, pageTop: z, ctx: x } = M, { width: q, height: G, marginBottom: se, marginLeft: C, marginRight: Z, marginTop: J } = A;
101
101
  x.save(), x.translate(R - 0.5, z - 0.5), H.drawWith(x, {
102
102
  width: (y == null ? void 0 : y.width) || q,
103
103
  height: (y == null ? void 0 : y.height) || G,
@@ -107,26 +107,26 @@ let le = class extends B {
107
107
  zIndex: 3
108
108
  }), x.restore();
109
109
  });
110
- const { left: U, top: A } = S, X = I.getSkeletonData();
110
+ const { left: U, top: N } = S, X = I.getSkeletonData();
111
111
  if (X == null)
112
112
  return;
113
- const { pages: j } = X, L = [], K = /* @__PURE__ */ new Map();
113
+ const { pages: j } = X, L = [], k = /* @__PURE__ */ new Map();
114
114
  this._recalculateSizeBySkeleton(S, v, I);
115
- for (let M = 0, W = j.length; M < W; M++) {
116
- const R = j[M], { skeDrawings: z, marginLeft: x, marginTop: q, pageWidth: G, pageHeight: ae } = R;
115
+ for (let M = 0, A = j.length; M < A; M++) {
116
+ const R = j[M], { skeDrawings: z, marginLeft: x, marginTop: q, pageWidth: G, pageHeight: se } = R;
117
117
  this._liquid.translatePagePadding(R), z.forEach((C) => {
118
- const { aLeft: Z, aTop: J, height: Re, width: De, drawingOrigin: Lt } = C, Ee = new me(C.drawingId, {
118
+ const { aLeft: Z, aTop: J, height: me, width: Te, drawingOrigin: zt } = C, Re = new be(C.drawingId, {
119
119
  // url: docTransform.imageProperties?.contentUrl || '',
120
120
  left: Z + U + this._liquid.x,
121
- top: J + A + this._liquid.y,
122
- width: De,
123
- height: Re,
121
+ top: J + N + this._liquid.y,
122
+ width: Te,
123
+ height: me,
124
124
  zIndex: 11
125
125
  });
126
- K.set(C.drawingId, {
126
+ k.set(C.drawingId, {
127
127
  marginLeft: this._liquid.x,
128
128
  marginTop: this._liquid.y
129
- }), L.push(Ee);
129
+ }), L.push(Re);
130
130
  }), this._liquid.translatePage(
131
131
  R,
132
132
  S.pageLayoutType,
@@ -136,15 +136,15 @@ let le = class extends B {
136
136
  }
137
137
  return v.addObjects(L), L.forEach((M) => {
138
138
  v.attachTransformerTo(M);
139
- }), (pe = v.getTransformer()) == null || pe.changing$.subscribe((M) => {
140
- const { objects: W } = M;
141
- W.forEach((R) => {
142
- const { oKey: z, left: x, top: q, height: G, width: ae } = R, C = K.get(z), Z = (C == null ? void 0 : C.marginLeft) || 0, J = (C == null ? void 0 : C.marginTop) || 0;
139
+ }), (ge = v.getTransformer()) == null || ge.changing$.subscribe((M) => {
140
+ const { objects: A } = M;
141
+ A.forEach((R) => {
142
+ const { oKey: z, left: x, top: q, height: G, width: se } = R, C = k.get(z), Z = (C == null ? void 0 : C.marginLeft) || 0, J = (C == null ? void 0 : C.marginTop) || 0;
143
143
  I == null || I.getViewModel().getDataModel().updateDrawing(z, {
144
144
  left: x - U - Z,
145
- top: q - A - J,
145
+ top: q - N - J,
146
146
  height: G,
147
- width: ae
147
+ width: se
148
148
  });
149
149
  }), I == null || I.calculate();
150
150
  }), this._calculatePagePosition(S, v, b), D;
@@ -155,40 +155,40 @@ let le = class extends B {
155
155
  if (t == null)
156
156
  return;
157
157
  let s = 0, i = 0;
158
- for (let c = 0, l = t.length; c < l; c++) {
158
+ for (let c = 0, d = t.length; c < d; c++) {
159
159
  const f = t[c], { pageWidth: h, pageHeight: u } = f;
160
- e.pageLayoutType === fe.VERTICAL ? (i += u, i += e.pageMarginTop, c === l - 1 && (i += e.pageMarginTop), s = Math.max(s, h)) : e.pageLayoutType === fe.HORIZONTAL && (s += h, c !== l - 1 && (s += e.pageMarginLeft), i = Math.max(i, u));
160
+ e.pageLayoutType === _e.VERTICAL ? (i += u, i += e.pageMarginTop, c === d - 1 && (i += e.pageMarginTop), s = Math.max(s, h)) : e.pageLayoutType === _e.HORIZONTAL && (s += h, c !== d - 1 && (s += e.pageMarginLeft), i = Math.max(i, u));
161
161
  }
162
162
  e.resize(s, i), r.resize(s, i);
163
163
  }
164
164
  _calculatePagePosition(e, r, n, t = 1) {
165
- const s = r == null ? void 0 : r.getParent(), { width: i, height: o, pageMarginLeft: c, pageMarginTop: l } = e;
165
+ const s = r == null ? void 0 : r.getParent(), { width: i, height: o, pageMarginLeft: c, pageMarginTop: d } = e;
166
166
  if (s == null || i === Number.POSITIVE_INFINITY || o === Number.POSITIVE_INFINITY)
167
167
  return;
168
168
  const { width: f, height: h } = s;
169
- let u = 0, d = 0, p = 0, _ = 0, E = Number.POSITIVE_INFINITY;
170
- if (f > (i + c * 2) * t ? (u = f / 2 - i * t / 2, u /= t, p = (f - c * 2) / t, E = 0) : (u = c, p = i + c * 2, E = (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(u, d), E !== Number.POSITIVE_INFINITY && n != null) {
171
- const O = n.transScroll2ViewportScrollValue(E, 0).x;
169
+ let u = 0, l = 0, p = 0, _ = 0, O = Number.POSITIVE_INFINITY;
170
+ if (f > (i + c * 2) * t ? (u = f / 2 - i * t / 2, u /= t, p = (f - c * 2) / t, O = 0) : (u = c, p = i + c * 2, O = (p - f / t) / 2), h > o ? (l = h / 2 - o / 2, _ = (h - d * 2) / t) : (l = d, _ = o + d * 2), r.resize(p, _ + 200), e.translate(u, l), O !== Number.POSITIVE_INFINITY && n != null) {
171
+ const E = n.transScroll2ViewportScrollValue(O, 0).x;
172
172
  n.scrollTo({
173
- x: O
173
+ x: E
174
174
  });
175
175
  }
176
176
  return this;
177
177
  }
178
178
  };
179
- le = rt([
180
- nt(0, N(ne))
181
- ], le);
179
+ ce = rt([
180
+ nt(0, W(he))
181
+ ], ce);
182
182
  class it {
183
183
  constructor() {
184
184
  g(this, "zIndex", 5);
185
185
  }
186
186
  create(e) {
187
- return e.createInstance(le);
187
+ return e.createInstance(ce);
188
188
  }
189
189
  }
190
190
  Y.add(new it());
191
- class st extends B {
191
+ class st extends K {
192
192
  constructor() {
193
193
  super(...arguments);
194
194
  g(this, "zIndex", 1);
@@ -206,29 +206,29 @@ class st extends B {
206
206
  top: i = 0,
207
207
  width: o,
208
208
  height: c,
209
- angle: l,
209
+ angle: d,
210
210
  scaleX: f,
211
211
  scaleY: h,
212
212
  skewX: u,
213
- skewY: d,
213
+ skewY: l,
214
214
  flipX: p,
215
215
  flipY: _,
216
- title: E,
217
- description: O,
216
+ title: O,
217
+ description: E,
218
218
  image: T = {}
219
219
  } = r, { imageProperties: P, placeholder: w, link: I } = T, S = (P == null ? void 0 : P.contentUrl) || "";
220
- return new me(n, {
220
+ return new be(n, {
221
221
  url: S,
222
222
  top: i,
223
223
  left: s,
224
224
  width: o,
225
225
  height: c,
226
226
  zIndex: t,
227
- angle: l,
227
+ angle: d,
228
228
  scaleX: f,
229
229
  scaleY: h,
230
230
  skewX: u,
231
- skewY: d,
231
+ skewY: l,
232
232
  flipX: p,
233
233
  flipY: _,
234
234
  forceRender: !0
@@ -249,7 +249,7 @@ var ct = Object.defineProperty, ot = Object.getOwnPropertyDescriptor, lt = (a, e
249
249
  (i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
250
250
  return n && t && ct(e, r, t), t;
251
251
  }, dt = (a, e) => (r, n) => e(r, n, a);
252
- let de = class extends B {
252
+ let oe = class extends K {
253
253
  constructor(e) {
254
254
  super();
255
255
  g(this, "zIndex", 2);
@@ -268,49 +268,49 @@ let de = class extends B {
268
268
  top: i = 0,
269
269
  width: o,
270
270
  height: c,
271
- angle: l,
271
+ angle: d,
272
272
  scaleX: f,
273
273
  scaleY: h,
274
274
  skewX: u,
275
- skewY: d,
275
+ skewY: l,
276
276
  flipX: p,
277
277
  flipY: _,
278
- title: E,
279
- description: O,
278
+ title: O,
279
+ description: E,
280
280
  richText: T = {}
281
- } = e, { text: P, ff: w, fs: I, it: S, bl: D, ul: v, st: b, ol: m, bg: y, bd: U, cl: A, rich: X } = T;
281
+ } = e, { text: P, ff: w, fs: I, it: S, bl: D, ul: v, st: b, ol: m, bg: y, bd: U, cl: N, rich: X } = T;
282
282
  let j = {
283
283
  top: i,
284
284
  left: s,
285
285
  width: o,
286
286
  height: c,
287
287
  zIndex: t,
288
- angle: l,
288
+ angle: d,
289
289
  scaleX: f,
290
290
  scaleY: h,
291
291
  skewX: u,
292
- skewY: d,
292
+ skewY: l,
293
293
  flipX: p,
294
294
  flipY: _,
295
295
  forceRender: !0
296
296
  }, L = !1;
297
- if (P != null ? (j = { ...j, text: P, ff: w, fs: I, it: S, bl: D, ul: v, st: b, ol: m, bg: y, bd: U, cl: A }, L = !0) : X != null && (j = { ...j, richText: X }, L = !0), L !== !1)
297
+ if (P != null ? (j = { ...j, text: P, ff: w, fs: I, it: S, bl: D, ul: v, st: b, ol: m, bg: y, bd: U, cl: N }, L = !0) : X != null && (j = { ...j, richText: X }, L = !0), L !== !1)
298
298
  return new Ke(this._localeService, n, j);
299
299
  }
300
300
  };
301
- de = lt([
302
- dt(0, N(ne))
303
- ], de);
301
+ oe = lt([
302
+ dt(0, W(he))
303
+ ], oe);
304
304
  class ht {
305
305
  constructor() {
306
306
  g(this, "zIndex", 0);
307
307
  }
308
308
  create(e) {
309
- return e.createInstance(de);
309
+ return e.createInstance(oe);
310
310
  }
311
311
  }
312
312
  Y.add(new ht());
313
- class ut extends B {
313
+ class ut extends K {
314
314
  constructor() {
315
315
  super(...arguments);
316
316
  g(this, "zIndex", 2);
@@ -328,21 +328,21 @@ class ut extends B {
328
328
  top: i = 0,
329
329
  width: o,
330
330
  height: c,
331
- angle: l,
331
+ angle: d,
332
332
  scaleX: f,
333
333
  scaleY: h,
334
334
  skewX: u,
335
- skewY: d,
335
+ skewY: l,
336
336
  flipX: p,
337
337
  flipY: _,
338
- title: E,
339
- description: O
338
+ title: O,
339
+ description: E
340
340
  } = r, { shapeType: T, text: P, shapeProperties: w, placeholder: I, link: S } = r.shape || {}, D = w == null ? "" : te(w.shapeBackgroundFill) || "rgba(255,255,255,1)", v = w == null ? void 0 : w.outline, b = {};
341
341
  if (v) {
342
342
  const { outlineFill: m, weight: y } = v;
343
343
  b.strokeWidth = y, b.stroke = te(m) || "rgba(0,0,0,1)";
344
344
  }
345
- if (T === _e.Rect)
345
+ if (T === pe.Rect)
346
346
  return new H(n, {
347
347
  fill: D,
348
348
  top: i,
@@ -350,17 +350,17 @@ class ut extends B {
350
350
  width: o,
351
351
  height: c,
352
352
  zIndex: t,
353
- angle: l,
353
+ angle: d,
354
354
  scaleX: f,
355
355
  scaleY: h,
356
356
  skewX: u,
357
- skewY: d,
357
+ skewY: l,
358
358
  flipX: p,
359
359
  flipY: _,
360
360
  forceRender: !0,
361
361
  ...b
362
362
  });
363
- if (T === _e.RoundRect) {
363
+ if (T === pe.RoundRect) {
364
364
  const m = (w == null ? void 0 : w.radius) || 0;
365
365
  return new H(n, {
366
366
  fill: D,
@@ -369,11 +369,11 @@ class ut extends B {
369
369
  width: o,
370
370
  height: c,
371
371
  zIndex: t,
372
- angle: l,
372
+ angle: d,
373
373
  scaleX: f,
374
374
  scaleY: h,
375
375
  skewX: u,
376
- skewY: d,
376
+ skewY: l,
377
377
  flipX: p,
378
378
  flipY: _,
379
379
  forceRender: !0,
@@ -397,7 +397,7 @@ var pt = Object.defineProperty, _t = Object.getOwnPropertyDescriptor, ft = (a, e
397
397
  (i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
398
398
  return n && t && pt(e, r, t), t;
399
399
  }, vt = (a, e) => (r, n) => e(r, n, a);
400
- let he = class extends B {
400
+ let le = class extends K {
401
401
  constructor(e) {
402
402
  super();
403
403
  g(this, "zIndex", 6);
@@ -417,30 +417,30 @@ let he = class extends B {
417
417
  top: i = 0,
418
418
  width: o,
419
419
  height: c,
420
- angle: l,
420
+ angle: d,
421
421
  scaleX: f,
422
422
  scaleY: h,
423
423
  skewX: u,
424
- skewY: d,
424
+ skewY: l,
425
425
  flipX: p,
426
426
  flipY: _,
427
- title: E,
428
- description: O,
427
+ title: O,
428
+ description: E,
429
429
  slide: T
430
430
  } = e;
431
431
  if (T == null)
432
432
  return;
433
- const P = new Me(T), w = new Te("__SLIDERender__" + n, {
433
+ const P = new xe(T), w = new Pe("__SLIDERender__" + n, {
434
434
  top: i,
435
435
  left: s,
436
436
  width: o,
437
437
  height: c,
438
438
  zIndex: t,
439
- angle: l,
439
+ angle: d,
440
440
  scaleX: f,
441
441
  scaleY: h,
442
442
  skewX: u,
443
- skewY: d,
443
+ skewY: l,
444
444
  flipX: p,
445
445
  flipY: _,
446
446
  forceRender: !0
@@ -457,8 +457,8 @@ let he = class extends B {
457
457
  return w.activeFirstPage(), w;
458
458
  }
459
459
  _createScene(e, r, n, t, s) {
460
- var d;
461
- const { width: i, height: o } = r, c = new ie(e, r, {
460
+ var l;
461
+ const { width: i, height: o } = r, c = new ne(e, r, {
462
462
  width: i,
463
463
  height: o
464
464
  });
@@ -470,7 +470,7 @@ let he = class extends B {
470
470
  isRelativeX: !0,
471
471
  isRelativeY: !0
472
472
  }).closeClip();
473
- const { pageElements: f, pageBackgroundFill: h } = n, u = (d = this._ObjectProvider) == null ? void 0 : d.convertToRenderObjects(f, t);
473
+ const { pageElements: f, pageBackgroundFill: h } = n, u = (l = this._ObjectProvider) == null ? void 0 : l.convertToRenderObjects(f, t);
474
474
  return this._addBackgroundRect(c, h, s), c.addObjects(u), u == null || u.forEach((p) => {
475
475
  c.attachTransformerTo(p);
476
476
  }), c;
@@ -490,15 +490,15 @@ let he = class extends B {
490
490
  e.addObject(o, 0);
491
491
  }
492
492
  };
493
- he = ft([
494
- vt(0, N(se))
495
- ], he);
493
+ le = ft([
494
+ vt(0, W(ie))
495
+ ], le);
496
496
  class wt {
497
497
  constructor() {
498
498
  g(this, "zIndex", 6);
499
499
  }
500
500
  create(e) {
501
- return e.createInstance(he);
501
+ return e.createInstance(le);
502
502
  }
503
503
  }
504
504
  Y.add(new wt());
@@ -506,8 +506,8 @@ var St = Object.defineProperty, It = Object.getOwnPropertyDescriptor, bt = (a, e
506
506
  for (var t = n > 1 ? void 0 : n ? It(e, r) : e, s = a.length - 1, i; s >= 0; s--)
507
507
  (i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
508
508
  return n && t && St(e, r, t), t;
509
- }, Se = (a, e) => (r, n) => e(r, n, a);
510
- let ue = class extends B {
509
+ }, we = (a, e) => (r, n) => e(r, n, a);
510
+ let de = class extends K {
511
511
  constructor(e, r) {
512
512
  super();
513
513
  g(this, "zIndex", 4);
@@ -527,55 +527,55 @@ let ue = class extends B {
527
527
  top: i = 0,
528
528
  width: o,
529
529
  height: c,
530
- angle: l,
530
+ angle: d,
531
531
  scaleX: f,
532
532
  scaleY: h,
533
533
  skewX: u,
534
- skewY: d,
534
+ skewY: l,
535
535
  flipX: p,
536
536
  flipY: _,
537
- spreadsheet: E
537
+ spreadsheet: O
538
538
  } = e;
539
- if (E == null)
539
+ if (O == null)
540
540
  return;
541
- const { worksheet: O, styles: T } = E, { cellData: P } = O, w = new Ve(P), I = new Xe(T), S = new ke(
542
- new Le(n, O, I),
541
+ const { worksheet: E, styles: T } = O, { cellData: P } = E, w = new Me(P), I = new Ce(T), S = new ke(
542
+ new Ve(n, E, I),
543
543
  // FIXME: worksheet in slide doesn't has a Worksheet object
544
- O,
544
+ E,
545
545
  w,
546
546
  I,
547
547
  this._localeService,
548
548
  this._contextService
549
- ), { rowTotalHeight: D, columnTotalWidth: v, rowHeaderWidth: b, columnHeaderHeight: m } = S, y = v + O.rowHeader.width || 0, U = D + O.columnHeader.height || 0, A = new Pe("spreadInSlideSceneViewer" + n, {
549
+ ), { rowTotalHeight: D, columnTotalWidth: v, rowHeaderWidth: b, columnHeaderHeight: m } = S, y = v + E.rowHeader.width || 0, U = D + E.columnHeader.height || 0, N = new Ie("spreadInSlideSceneViewer" + n, {
550
550
  top: i,
551
551
  left: s,
552
552
  width: o,
553
553
  height: c,
554
554
  zIndex: t,
555
- angle: l,
555
+ angle: d,
556
556
  scaleX: f,
557
557
  scaleY: h,
558
558
  skewX: u,
559
- skewY: d,
559
+ skewY: l,
560
560
  flipX: p,
561
561
  flipY: _,
562
562
  forceRender: !0
563
- }), X = new ie("spreadInSlideScene" + n, A, {
563
+ }), X = new ne("spreadInSlideScene" + n, N, {
564
564
  width: y,
565
565
  height: U
566
566
  });
567
567
  this._updateViewport(n, b, m, X, r);
568
- const j = new qe("testSheetViewer", S, !1), L = new Ge("spreadInSlideRow", S), K = new Ze("spreadInSlideColumn", S), k = new H("spreadInSlideLeftTop", {
568
+ const j = new Be("testSheetViewer", S, !1), L = new qe("spreadInSlideRow", S), k = new Ge("spreadInSlideColumn", S), B = new H("spreadInSlideLeftTop", {
569
569
  zIndex: 2,
570
570
  left: -1,
571
571
  top: -1,
572
572
  width: b,
573
573
  height: m,
574
- fill: ve([248, 249, 250]),
575
- stroke: ve([217, 217, 217]),
574
+ fill: fe([248, 249, 250]),
575
+ stroke: fe([217, 217, 217]),
576
576
  strokeWidth: 1
577
577
  });
578
- return j.zIndex = 10, X.addObjects([j], 1), X.addObjects([L, K, k], 2), A;
578
+ return j.zIndex = 10, X.addObjects([j], 1), X.addObjects([L, k, B], 2), N;
579
579
  }
580
580
  // eslint-disable-next-line max-lines-per-function
581
581
  _updateViewport(e, r, n, t, s) {
@@ -589,7 +589,7 @@ let ue = class extends B {
589
589
  isRelativeX: !0,
590
590
  isRelativeY: !0,
591
591
  isWheelPreventDefaultX: !0
592
- }), l = new $("spreadInSlideViewTop" + e, t, {
592
+ }), d = new $("spreadInSlideViewTop" + e, t, {
593
593
  left: i,
594
594
  height: o,
595
595
  top: 0,
@@ -611,37 +611,37 @@ let ue = class extends B {
611
611
  height: o,
612
612
  isWheelPreventDefaultX: !0
613
613
  }), c.onScrollAfter$.subscribeEvent((h) => {
614
- const { scrollX: u, scrollY: d, viewportScrollX: p, viewportScrollY: _ } = h;
615
- l.updateScroll({
614
+ const { scrollX: u, scrollY: l, viewportScrollX: p, viewportScrollY: _ } = h;
615
+ d.updateScroll({
616
616
  scrollX: u,
617
617
  viewportScrollX: p
618
618
  }), f.updateScroll({
619
- scrollY: d,
619
+ scrollY: l,
620
620
  viewportScrollY: _
621
621
  });
622
- }), t.attachControl(), new ge(c, {
622
+ }), t.attachControl(), new ue(c, {
623
623
  mainScene: s
624
624
  }), t.onMouseWheel$.subscribeEvent((h, u) => {
625
- const d = h;
626
- if (d.ctrlKey) {
627
- const p = Math.abs(d.deltaX);
625
+ const l = h;
626
+ if (l.ctrlKey) {
627
+ const p = Math.abs(l.deltaX);
628
628
  let _ = p < 40 ? 0.05 : p < 80 ? 0.02 : 0.01;
629
- _ *= d.deltaY > 0 ? -1 : 1, t.scaleX < 1 && (_ /= 2), t.scaleX + _ > 4 ? t.scale(4, 4) : t.scaleX + _ < 0.1 ? t.scale(0.1, 0.1) : (t.scaleBy(_, _), d.preventDefault());
629
+ _ *= l.deltaY > 0 ? -1 : 1, t.scaleX < 1 && (_ /= 2), t.scaleX + _ > 4 ? t.scale(4, 4) : t.scaleX + _ < 0.1 ? t.scale(0.1, 0.1) : (t.scaleBy(_, _), l.preventDefault());
630
630
  } else
631
- c.onMouseWheel(d, u);
631
+ c.onMouseWheel(l, u);
632
632
  });
633
633
  }
634
634
  };
635
- ue = bt([
636
- Se(0, N(ne)),
637
- Se(1, Ce)
638
- ], ue);
635
+ de = bt([
636
+ we(0, W(he)),
637
+ we(1, je)
638
+ ], de);
639
639
  class Pt {
640
640
  constructor() {
641
641
  g(this, "zIndex", 4);
642
642
  }
643
643
  create(e) {
644
- return e.createInstance(ue);
644
+ return e.createInstance(de);
645
645
  }
646
646
  }
647
647
  Y.add(new Pt());
@@ -672,33 +672,34 @@ let re = class {
672
672
  }
673
673
  }
674
674
  _adaptorLoader() {
675
- Y.getData().sort(ze).forEach((a) => {
675
+ Y.getData().sort(Xe).forEach((a) => {
676
676
  this._adaptors.push(a.create(this._injector));
677
677
  });
678
678
  }
679
679
  };
680
680
  re = Rt([
681
- Dt(0, N(se))
681
+ Dt(0, W(ie))
682
682
  ], re);
683
- var Et = Object.defineProperty, Ot = Object.getOwnPropertyDescriptor, yt = (a, e, r, n) => {
684
- for (var t = n > 1 ? void 0 : n ? Ot(e, r) : e, s = a.length - 1, i; s >= 0; s--)
683
+ var Ot = Object.defineProperty, Et = Object.getOwnPropertyDescriptor, yt = (a, e, r, n) => {
684
+ for (var t = n > 1 ? void 0 : n ? Et(e, r) : e, s = a.length - 1, i; s >= 0; s--)
685
685
  (i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
686
- return n && t && Et(e, r, t), t;
687
- }, ce = (a, e) => (r, n) => e(r, n, a), xt = /* @__PURE__ */ ((a) => (a.COMPONENT = "__slideRender__", a.SCENE = "__mainScene__", a.VIEW = "__mainView__", a))(xt || {});
688
- let ee = class extends Ae {
686
+ return n && t && Ot(e, r, t), t;
687
+ }, ae = (a, e) => (r, n) => e(r, n, a), xt = /* @__PURE__ */ ((a) => (a.COMPONENT = "__slideRender__", a.SCENE = "__mainScene__", a.VIEW = "__mainView__", a))(xt || {});
688
+ let ee = class extends $e {
689
689
  constructor(e, r, n) {
690
690
  super();
691
691
  g(this, "_objectProvider", null);
692
692
  g(this, "_activePageId", "");
693
- g(this, "_refreshThumb", We(() => {
693
+ g(this, "activePageId$", new Qe());
694
+ g(this, "_refreshThumb", Ne(() => {
694
695
  this.createThumbs();
695
696
  }, 300));
696
697
  this._univerInstanceService = e, this._injector = r, this._renderManagerService = n, this._initializeDependencies(this._injector), this._initialize();
697
698
  }
698
699
  _initialize() {
699
- this._renderManagerService.createRender$.pipe(we(this.dispose$)).subscribe((e) => {
700
+ this._renderManagerService.createRender$.pipe(ve(this.dispose$)).subscribe((e) => {
700
701
  this._create(e);
701
- }), this._univerInstanceService.getCurrentTypeOfUnit$(V.UNIVER_SLIDE).pipe(we(this.dispose$)).subscribe((e) => {
702
+ }), this._univerInstanceService.getCurrentTypeOfUnit$(V.UNIVER_SLIDE).pipe(ve(this.dispose$)).subscribe((e) => {
702
703
  this._create(e == null ? void 0 : e.getUnitId());
703
704
  }), this._univerInstanceService.getAllUnitsForType(V.UNIVER_SLIDE).forEach((e) => {
704
705
  this._create(e.getUnitId());
@@ -719,7 +720,7 @@ let ee = class extends Ae {
719
720
  if (n == null || t == null || t.mainComponent == null)
720
721
  return;
721
722
  const { id: s } = n, i = t.mainComponent;
722
- if (this._activePageId = e, i != null && i.hasPage(s)) {
723
+ if (this._activePageId = e, this.activePageId$.next(e), i != null && i.hasPage(s)) {
723
724
  i.changePage(s);
724
725
  return;
725
726
  }
@@ -768,26 +769,24 @@ let ee = class extends Ae {
768
769
  isRelativeY: !0,
769
770
  isWheelPreventDefaultX: !0
770
771
  });
771
- t.attachControl(), t.onMouseWheel$.subscribeEvent((l, f) => {
772
- const h = l;
772
+ t.attachControl(), t.onMouseWheel$.subscribeEvent((d, f) => {
773
+ const h = d;
773
774
  if (h.ctrlKey) {
774
775
  const u = Math.abs(h.deltaX);
775
- let d = u < 40 ? 0.2 : u < 80 ? 0.4 : 0.2;
776
- d *= h.deltaY > 0 ? -1 : 1, t.scaleX < 1 && (d /= 2), t.scaleX + d > 4 ? t.scale(4, 4) : t.scaleX + d < 0.1 ? t.scale(0.1, 0.1) : (h.deltaY > 0, h.preventDefault());
776
+ let l = u < 40 ? 0.2 : u < 80 ? 0.4 : 0.2;
777
+ l *= h.deltaY > 0 ? -1 : 1, t.scaleX < 1 && (l /= 2), t.scaleX + l > 4 ? t.scale(4, 4) : t.scaleX + l < 0.1 ? t.scale(0.1, 0.1) : (h.deltaY > 0, h.preventDefault());
777
778
  } else
778
779
  o.onMouseWheel(h, f);
779
780
  }), t.onFileLoaded$.subscribeEvent(() => {
780
781
  this._refreshThumb();
781
- }), ge.attachTo(o), this._renderManagerService.setCurrent(e);
782
+ }), ue.attachTo(o), this._renderManagerService.setCurrent(e);
782
783
  const c = this._createSlide(t);
783
784
  n.mainComponent = c, n.components.set("__slideRender__", c), this._createSlidePages(r, c), s.runRenderLoop(() => {
784
785
  t.render();
785
- const l = document.getElementById("app");
786
- l && (l.innerText = `fps:${Math.round(s.getFps()).toString()}`);
787
786
  });
788
787
  }
789
788
  _createSlide(e) {
790
- const r = this._univerInstanceService.getCurrentUnitForType(V.UNIVER_SLIDE), { width: n, height: t } = e, s = r.getPageSize(), { width: i = 100, height: o = 100 } = s, c = new Te("__slideRender__", {
789
+ const r = this._univerInstanceService.getCurrentUnitForType(V.UNIVER_SLIDE), { width: n, height: t } = e, s = r.getPageSize(), { width: i = 100, height: o = 100 } = s, c = new Pe("__slideRender__", {
791
790
  left: (n - i) / 2,
792
791
  top: (t - o) / 2,
793
792
  width: i,
@@ -825,8 +824,8 @@ let ee = class extends Ae {
825
824
  const { engine: t } = n;
826
825
  if (t == null)
827
826
  return;
828
- const { width: s, height: i } = r, { width: o = s, height: c = i } = t, l = t.getCanvas().getContext();
829
- r.renderToThumb(l, e, o / s, c / i);
827
+ const { width: s, height: i } = r, { width: o = s, height: c = i } = t, d = t.getCanvas().getContext();
828
+ r.renderToThumb(d, e, o / s, c / i);
830
829
  }
831
830
  _createSlidePages(e, r) {
832
831
  const n = e.getPages(), t = e.getPageOrder();
@@ -853,11 +852,11 @@ let ee = class extends Ae {
853
852
  const n = this._currentRender();
854
853
  if (!n || !this._objectProvider)
855
854
  return;
856
- const { scene: t, mainComponent: s } = n, i = s, { width: o, height: c } = i, l = new ie(e, i, {
855
+ const { scene: t, mainComponent: s } = n, i = s, { width: o, height: c } = i, d = new ne(e, i, {
857
856
  width: o,
858
857
  height: c
859
858
  });
860
- new $(`PageViewer_${e}`, l, {
859
+ new $(`PageViewer_${e}`, d, {
861
860
  left: 0,
862
861
  top: 0,
863
862
  bottom: 0,
@@ -865,42 +864,42 @@ let ee = class extends Ae {
865
864
  isRelativeX: !0,
866
865
  isRelativeY: !0
867
866
  }).closeClip();
868
- const { pageElements: h, pageBackgroundFill: u } = r, d = this._objectProvider.convertToRenderObjects(h, t);
869
- if (!d || !i) return;
870
- this._addBackgroundRect(l, u), l.addObjects(d), d.forEach((_) => {
871
- l.attachTransformerTo(_);
867
+ const { pageElements: h, pageBackgroundFill: u } = r, l = this._objectProvider.convertToRenderObjects(h, t);
868
+ if (!l || !i) return;
869
+ this._addBackgroundRect(d, u), d.addObjects(l), l.forEach((_) => {
870
+ d.attachTransformerTo(_);
872
871
  });
873
- const p = l.getTransformer();
872
+ const p = d.getTransformer();
874
873
  return p == null || p.changeEnd$.subscribe(() => {
875
874
  this._thumbSceneRender(this._activePageId, i);
876
875
  }), p == null || p.clearControl$.subscribe(() => {
877
876
  this._thumbSceneRender(this._activePageId, i);
878
- }), i.addPage(l), l;
877
+ }), i.addPage(d), d;
879
878
  }
880
879
  _initializeDependencies(e) {
881
880
  this._objectProvider = e.createInstance(re);
882
881
  }
883
882
  };
884
883
  ee = yt([
885
- $e(Ne.Ready, ee),
886
- ce(0, be),
887
- ce(1, N(se)),
888
- ce(2, Je)
884
+ Le(ze.Ready, ee),
885
+ ae(0, Ae),
886
+ ae(1, W(ie)),
887
+ ae(2, Ze)
889
888
  ], ee);
890
889
  var jt = Object.defineProperty, Mt = Object.getOwnPropertyDescriptor, Ct = (a, e, r, n) => {
891
890
  for (var t = n > 1 ? void 0 : n ? Mt(e, r) : e, s = a.length - 1, i; s >= 0; s--)
892
891
  (i = a[s]) && (t = (n ? i(e, r, t) : i(t)) || t);
893
892
  return n && t && jt(e, r, t), t;
894
- }, oe = (a, e) => (r, n) => e(r, n, a);
895
- const Vt = {}, Xt = "slides";
893
+ }, Vt = (a, e) => (r, n) => e(r, n, a);
894
+ const Xt = {}, Lt = "slides";
896
895
  var Q;
897
- let Ie = (Q = class extends Ye {
898
- constructor(e = {}, r, n, t) {
896
+ let Se = (Q = class extends We {
897
+ constructor(e = {}, r) {
899
898
  super();
900
899
  g(this, "_config");
901
900
  g(this, "_canvasEngine", null);
902
901
  g(this, "_canvasView", null);
903
- this._univerInstanceService = r, this._localeService = n, this._injector = t, this._config = Object.assign(Vt, e), this._initializeDependencies(this._injector);
902
+ this._injector = r, this._config = Object.assign(Xt, e), this._initializeDependencies(this._injector);
904
903
  }
905
904
  initialize() {
906
905
  this.initCanvasEngine();
@@ -909,7 +908,7 @@ let Ie = (Q = class extends Ye {
909
908
  return this._config;
910
909
  }
911
910
  initCanvasEngine() {
912
- this._canvasEngine = this._injector.get(Qe);
911
+ this._canvasEngine = this._injector.get(Je);
913
912
  }
914
913
  onRendered() {
915
914
  this.initialize();
@@ -925,14 +924,12 @@ let Ie = (Q = class extends Ye {
925
924
  e.add(n);
926
925
  });
927
926
  }
928
- }, g(Q, "pluginName", Xt), g(Q, "type", V.UNIVER_SLIDE), Q);
929
- Ie = Ct([
930
- oe(1, be),
931
- oe(2, N(ne)),
932
- oe(3, N(se))
933
- ], Ie);
927
+ }, g(Q, "pluginName", Lt), g(Q, "type", V.UNIVER_SLIDE), Q);
928
+ Se = Ct([
929
+ Vt(1, W(ie))
930
+ ], Se);
934
931
  export {
935
932
  ee as CanvasView,
936
933
  xt as SLIDE_KEY,
937
- Ie as UniverSlidesPlugin
934
+ Se as UniverSlidesPlugin
938
935
  };
@@ -13,5 +13,5 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export * from './slides-plugin';
16
+ export { UniverSlidesPlugin } from './slides-plugin';
17
17
  export * from './views/render';
@@ -1,4 +1,4 @@
1
- import { IUniverInstanceService, LocaleService, Plugin, UniverInstanceType } from '@univerjs/core';
1
+ import { Plugin, UniverInstanceType } from '@univerjs/core';
2
2
  import { Engine } from '@univerjs/engine-render';
3
3
  import { Injector } from '@wendellhu/redi';
4
4
  import { CanvasView } from './views/render';
@@ -6,15 +6,13 @@ import { CanvasView } from './views/render';
6
6
  export interface IUniverSlidesConfig {
7
7
  }
8
8
  export declare class UniverSlidesPlugin extends Plugin {
9
- private readonly _univerInstanceService;
10
- private readonly _localeService;
11
9
  readonly _injector: Injector;
12
10
  static pluginName: string;
13
11
  static type: UniverInstanceType;
14
12
  private _config;
15
13
  private _canvasEngine;
16
14
  private _canvasView;
17
- constructor(config: Partial<IUniverSlidesConfig> | undefined, _univerInstanceService: IUniverInstanceService, _localeService: LocaleService, _injector: Injector);
15
+ constructor(config: Partial<IUniverSlidesConfig> | undefined, _injector: Injector);
18
16
  initialize(): void;
19
17
  getConfig(): IUniverSlidesConfig;
20
18
  initCanvasEngine(): void;
@@ -1,6 +1,7 @@
1
1
  import { IUniverInstanceService, RxDisposable } from '@univerjs/core';
2
2
  import { IRenderManagerService } from '@univerjs/engine-render';
3
3
  import { Injector } from '@wendellhu/redi';
4
+ import { Subject } from 'rxjs';
4
5
 
5
6
  export declare enum SLIDE_KEY {
6
7
  COMPONENT = "__slideRender__",
@@ -13,6 +14,7 @@ export declare class CanvasView extends RxDisposable {
13
14
  private readonly _renderManagerService;
14
15
  private _objectProvider;
15
16
  private _activePageId;
17
+ readonly activePageId$: Subject<string>;
16
18
  constructor(_univerInstanceService: IUniverInstanceService, _injector: Injector, _renderManagerService: IRenderManagerService);
17
19
  private _initialize;
18
20
  activePage(pageId?: string): void;
package/lib/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(S,l){typeof exports=="object"&&typeof module<"u"?l(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"],l):(S=typeof globalThis<"u"?globalThis:S||self,l(S.UniverSlides={},S.UniverCore,S.UniverEngineRender,S["@wendellhu/redi"],S.rxjs))})(this,function(S,l,h,V,ce){"use strict";var qe=Object.defineProperty;var Ge=(S,l,h)=>l in S?qe(S,l,{enumerable:!0,configurable:!0,writable:!0,value:h}):S[l]=h;var f=(S,l,h)=>Ge(S,typeof l!="symbol"?l+"":l,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=l.Registry.create();var de=Object.defineProperty,ue=Object.getOwnPropertyDescriptor,pe=(a,n,e,r)=>{for(var t=r>1?void 0:r?ue(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&de(n,e,t),t},ge=(a,n)=>(e,r)=>n(e,r,a);let ee=class extends H{constructor(n){super();f(this,"zIndex",5);f(this,"viewKey",l.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:s=0,width:c,height:o,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:j,description:x,document:D}=n;if(D==null)return;const y=new l.DocumentDataModel(D),P=new h.DocumentViewModel(y),T=h.DocumentSkeleton.create(P,this._localeService),b=new h.Documents("__DocsRender__",T);T.calculate();const C=new h.SceneViewer("__DocsViewer__"+r,{top:s,left:i,width:c,height:o,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.onMouseWheel$.subscribeEvent((X,Y)=>{const O=X;if(O.ctrlKey){const N=Math.abs(O.deltaX);let L=N<40?.2:N<80?.4:.2;L*=O.deltaY>0?-1:1,I.scaleX<1&&(L/=2),I.scaleX+L>4?I.scale(4,4):I.scaleX+L<.1?I.scale(.1,.1):(O.deltaY>0,O.preventDefault())}else m.onMouseWheel(O,Y)}),new h.ScrollBar(m,{mainScene:e}),I.addObject(b);const E=T.getActualSize();b.resize(E.actualWidth,E.actualHeight),I.resize(E.actualWidth,E.actualHeight+200);const M=(q=b.getSkeleton())==null?void 0:q.getPageSize();b.pageRender$.subscribe(X=>{const{page:Y,pageLeft:O,pageTop:N,ctx:L}=X,{width:G,height:Z,marginBottom:ae,marginLeft:z,marginRight:J,marginTop:Q}=Y;L.save(),L.translate(O-.5,N-.5),h.Rect.drawWith(L,{width:(M==null?void 0:M.width)||G,height:(M==null?void 0:M.height)||Z,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:"rgba(255,255,255, 1)",zIndex:3}),L.restore()});const{left:F,top:W}=b,R=T.getSkeletonData();if(R==null)return;const{pages:U}=R,$=[],k=new Map;this._recalculateSizeBySkeleton(b,I,T);for(let X=0,Y=U.length;X<Y;X++){const O=U[X],{skeDrawings:N,marginLeft:L,marginTop:G,pageWidth:Z,pageHeight:ae}=O;this._liquid.translatePagePadding(O),N.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}),$.push(ke)}),this._liquid.translatePage(O,b.pageLayoutType,b.pageMarginLeft,b.pageMarginTop)}return I.addObjects($),$.forEach(X=>{I.attachTransformerTo(X)}),(he=I.getTransformer())==null||he.changing$.subscribe(X=>{const{objects:Y}=X;Y.forEach(O=>{const{oKey:N,left:L,top:G,height:Z,width:ae}=O,z=k.get(N),J=(z==null?void 0:z.marginLeft)||0,Q=(z==null?void 0:z.marginTop)||0;T==null||T.getViewModel().getDataModel().updateDrawing(N,{left:L-F-J,top:G-W-Q,height:Z,width:ae})}),T==null||T.calculate()}),this._calculatePagePosition(b,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,s=0;for(let o=0,d=t.length;o<d;o++){const u=t[o],{pageWidth:w,pageHeight:p}=u;n.pageLayoutType===h.PageLayoutType.VERTICAL?(s+=p,s+=n.pageMarginTop,o===d-1&&(s+=n.pageMarginTop),i=Math.max(i,w)):n.pageLayoutType===h.PageLayoutType.HORIZONTAL&&(i+=w,o!==d-1&&(i+=n.pageMarginLeft),s=Math.max(s,p))}n.resize(i,s),e.resize(i,s)}_calculatePagePosition(n,e,r,t=1){const i=e==null?void 0:e.getParent(),{width:s,height:c,pageMarginLeft:o,pageMarginTop:d}=n;if(i==null||s===Number.POSITIVE_INFINITY||c===Number.POSITIVE_INFINITY)return;const{width:u,height:w}=i;let p=0,_=0,g=0,v=0,j=Number.POSITIVE_INFINITY;if(u>(s+o*2)*t?(p=u/2-s*t/2,p/=t,g=(u-o*2)/t,j=0):(p=o,g=s+o*2,j=(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,_),j!==Number.POSITIVE_INFINITY&&r!=null){const x=r.transScroll2ViewportScrollValue(j,0).x;r.scrollTo({x})}return this}};ee=pe([ge(0,V.Inject(l.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",l.PageElementType.IMAGE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:j,description:x,image:D={}}=e,{imageProperties:y,placeholder:P,link:T}=D,b=(y==null?void 0:y.contentUrl)||"";return new h.Image(r,{url:b,top:s,left:i,width:c,height:o,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=(a,n,e,r)=>{for(var t=r>1?void 0:r?Se(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&we(n,e,t),t},Pe=(a,n)=>(e,r)=>n(e,r,a);let te=class extends H{constructor(n){super();f(this,"zIndex",2);f(this,"viewKey",l.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:s=0,width:c,height:o,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:j,description:x,richText:D={}}=n,{text:y,ff:P,fs:T,it:b,bl:C,ul:I,st:m,ol:E,bg:M,bd:F,cl:W,rich:R}=D;let U={top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0},$=!1;if(y!=null?(U={...U,text:y,ff:P,fs:T,it:b,bl:C,ul:I,st:m,ol:E,bg:M,bd:F,cl:W},$=!0):R!=null&&(U={...U,richText:R},$=!0),$!==!1)return new h.RichText(this._localeService,r,U)}};te=Ie([Pe(0,V.Inject(l.LocaleService))],te);class be{constructor(){f(this,"zIndex",0)}create(n){return n.createInstance(te)}}A.add(new be);class Te extends H{constructor(){super(...arguments);f(this,"zIndex",2);f(this,"viewKey",l.PageElementType.SHAPE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:j,description:x}=e,{shapeType:D,text:y,shapeProperties:P,placeholder:T,link:b}=e.shape||{},C=P==null?"":l.getColorStyle(P.shapeBackgroundFill)||"rgba(255,255,255,1)",I=P==null?void 0:P.outline,m={};if(I){const{outlineFill:E,weight:M}=I;m.strokeWidth=M,m.stroke=l.getColorStyle(E)||"rgba(0,0,0,1)"}if(D===l.BasicShapes.Rect)return new h.Rect(r,{fill:C,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0,...m});if(D===l.BasicShapes.RoundRect){const E=(P==null?void 0:P.radius)||0;return new h.Rect(r,{fill:C,top:s,left:i,width:c,height:o,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(Te)}}A.add(new me);var ye=Object.defineProperty,Ee=Object.getOwnPropertyDescriptor,je=(a,n,e,r)=>{for(var t=r>1?void 0:r?Ee(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&ye(n,e,t),t},De=(a,n)=>(e,r)=>n(e,r,a);let re=class extends H{constructor(n){super();f(this,"zIndex",6);f(this,"viewKey",l.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:s=0,width:c,height:o,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,title:j,description:x,slide:D}=n;if(D==null)return;const y=new l.SlideDataModel(D),P=new h.Slide("__SLIDERender__"+r,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0});P.enableNav(),P.enableSelectedClipElement();const T=y.getPageOrder(),b=y.getPages();if(!T||!b)return P;this._ObjectProvider=new B(this._injector);for(let C=0,I=T.length;C<I;C++){const m=b[T[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:s,height:c}=e,o=new h.Scene(n,e,{width:s,height:c});new h.Viewport(`PageViewer_${n}`,o,{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(o,w,i),o.addObjects(p),p==null||p.forEach(g=>{o.attachTransformerTo(g)}),o}_addBackgroundRect(n,e,r){const t=r.getPageSize(),{width:i=0,height:s=0}=t,c=new h.Rect("canvas",{left:0,top:0,width:i,height:s,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:l.getColorStyle(e)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});n.addObject(c,0)}};re=je([De(0,V.Inject(V.Injector))],re);class Oe{constructor(){f(this,"zIndex",6)}create(n){return n.createInstance(re)}}A.add(new Oe);var Ce=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor,xe=(a,n,e,r)=>{for(var t=r>1?void 0:r?Ve(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Ce(n,e,t),t},oe=(a,n)=>(e,r)=>n(e,r,a);let ne=class extends H{constructor(n,e){super();f(this,"zIndex",4);f(this,"viewKey",l.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:s=0,width:c,height:o,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,spreadsheet:j}=n;if(j==null)return;const{worksheet:x,styles:D}=j,{cellData:y}=x,P=new l.ObjectMatrix(y),T=new l.Styles(D),b=new h.SpreadsheetSkeleton(new l.Worksheet(r,x,T),x,P,T,this._localeService,this._contextService),{rowTotalHeight:C,columnTotalWidth:I,rowHeaderWidth:m,columnHeaderHeight:E}=b,M=I+x.rowHeader.width||0,F=C+x.columnHeader.height||0,W=new h.SceneViewer("spreadInSlideSceneViewer"+r,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:u,scaleY:w,skewX:p,skewY:_,flipX:g,flipY:v,forceRender:!0}),R=new h.Scene("spreadInSlideScene"+r,W,{width:M,height:F});this._updateViewport(r,m,E,R,e);const U=new h.Spreadsheet("testSheetViewer",b,!1),$=new h.SpreadsheetRowHeader("spreadInSlideRow",b),k=new h.SpreadsheetColumnHeader("spreadInSlideColumn",b),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,R.addObjects([U],1),R.addObjects([$,k,q],2),W}_updateViewport(n,e,r,t,i){if(i==null)return;const s=e*t.scaleX,c=r*t.scaleY,o=new h.Viewport("spreadInSlideViewMain"+n,t,{left:s,top:c,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),d=new h.Viewport("spreadInSlideViewTop"+n,t,{left:s,height:c,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),u=new h.Viewport("spreadInSlideViewLeft"+n,t,{left:0,bottom:0,top:c,width:s,isRelativeY:!0,isWheelPreventDefaultX:!0});new h.Viewport("spreadInSlideViewLeftTop"+n,t,{left:0,top:0,width:s,height:c,isWheelPreventDefaultX:!0}),o.onScrollAfter$.subscribeEvent(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(o,{mainScene:i}),t.onMouseWheel$.subscribeEvent((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 o.onMouseWheel(_,p)})}};ne=xe([oe(0,V.Inject(l.LocaleService)),oe(1,l.IContextService)],ne);class Me{constructor(){f(this,"zIndex",4)}create(n){return n.createInstance(ne)}}A.add(new Me);var Le=Object.defineProperty,Ue=Object.getOwnPropertyDescriptor,Xe=(a,n,e,r)=>{for(var t=r>1?void 0:r?Ue(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Le(n,e,t),t},ze=(a,n)=>(e,r)=>n(e,r,a);let B=class{constructor(a){f(this,"_adaptors",[]);this._injector=a,this._adaptorLoader()}convertToRenderObjects(a,n){const e=Object.keys(a),r=[];return e.forEach(t=>{const i=a[t],s=this._executor(i,n);s!=null&&r.push(s)}),r}_executor(a,n){var t;const{id:e,type:r}=a;for(const i of this._adaptors){const s=(t=i.check(r))==null?void 0:t.convert(a,n);if(s!=null)return s}}_adaptorLoader(){A.getData().sort(l.sortRules).forEach(a=>{this._adaptors.push(a.create(this._injector))})}};B=Xe([ze(0,V.Inject(V.Injector))],B);var Re=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,Ne=(a,n,e,r)=>{for(var t=r>1?void 0:r?$e(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Re(n,e,t),t},ie=(a,n)=>(e,r)=>n(e,r,a),le=(a=>(a.COMPONENT="__slideRender__",a.SCENE="__mainScene__",a.VIEW="__mainView__",a))(le||{});S.CanvasView=class extends l.RxDisposable{constructor(e,r,t){super();f(this,"_objectProvider",null);f(this,"_activePageId","");f(this,"_refreshThumb",l.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$(l.UniverInstanceType.UNIVER_SLIDE).pipe(ce.takeUntil(this.dispose$)).subscribe(e=>{this._create(e==null?void 0:e.getUnitId())}),this._univerInstanceService.getAllUnitsForType(l.UniverInstanceType.UNIVER_SLIDE).forEach(e=>{this._create(e.getUnitId())})}activePage(e){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE);let t;if(e)t=r.getPage(e);else{const o=r.getPages(),d=r.getPageOrder();if(d==null||o==null)return;t=o[d[0]],e=t.id}const i=this._currentRender();if(t==null||i==null||i.mainComponent==null)return;const{id:s}=t,c=i.mainComponent;if(this._activePageId=e,c!=null&&c.hasPage(s)){c.changePage(s);return}this._createScene(s,t)}_scrollToCenter(){var d;const e=(d=this._currentRender())==null?void 0:d.scene,r=e==null?void 0:e.getViewport("__mainView__"),t=this._getCenterPositionViewPort(e);if(!r||!t)return;const{left:i,top:s}=t,{x:c,y:o}=r.transViewportScroll2ScrollValue(i,s);r.scrollTo({x:c,y:o})}_create(e){e==null||this._univerInstanceService.getUnit(e,l.UniverInstanceType.UNIVER_SLIDE)==null||this._renderManagerService.has(e)||this._addNewRender(e)}_currentRender(){const e=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE);return this._renderManagerService.getRenderById(e.getUnitId())}_addNewRender(e){const r=this._univerInstanceService.getUnit(e,l.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:s}=t,c=s.onTransformChange$.subscribeEvent(()=>{this._scrollToCenter(),c==null||c.unsubscribe()});s.onTransformChange$.subscribeEvent(()=>{setTimeout(()=>{this.createThumbs()},300)}),i.resize(2400,1800);const o=new h.Viewport("__mainView__",i,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});i.attachControl(),i.onMouseWheel$.subscribeEvent((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 o.onMouseWheel(p,w)}),i.onFileLoaded$.subscribeEvent(()=>{this._refreshThumb()}),h.ScrollBar.attachTo(o),this._renderManagerService.setCurrent(e);const d=this._createSlide(i);t.mainComponent=d,t.components.set("__slideRender__",d),this._createSlidePages(r,d),s.runRenderLoop(()=>{i.render();const u=document.getElementById("app");u&&(u.innerText=`fps:${Math.round(s.getFps()).toString()}`)})}_createSlide(e){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE),{width:t,height:i}=e,s=r.getPageSize(),{width:c=100,height:o=100}=s,d=new h.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,r){const i=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:s=0,height:c=0}=i,o=new h.Rect("canvas",{left:0,top:0,width:s,height:c,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:l.getColorStyle(r)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});e.addObject(o,0)}_getCenterPositionViewPort(e){if(!e)return{left:0,top:0};const{width:r,height:t}=e,i=e.getEngine(),s=(i==null?void 0:i.width)||0,c=(i==null?void 0:i.height)||0;return{left:(r-s)/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:s,height:c}=r,{width:o=s,height:d=c}=i,u=i.getCanvas().getContext();r.renderToThumb(u,e,o/s,d/c)}_createSlidePages(e,r){const t=e.getPages(),i=e.getPageOrder();if(!(!t||!i)&&i.length!==0){for(let s=0,c=i.length;s<c;s++){const o=i[s];this._createScene(o,t[o]),this._createThumb(o)}this._activePageId=i[0],r.activeFirstPage()}}createThumbs(){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE).getPageOrder(),t=this._currentRender();if(!(!r||!t)&&r.length!==0)for(let i=0,s=r.length;i<s;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:s}=t,c=s,{width:o,height:d}=c,u=new h.Scene(e,c,{width:o,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(j=>{u.attachTransformerTo(j)});const v=u.getTransformer();return v==null||v.changeEnd$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),v==null||v.clearControl$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),c.addPage(u),u}_initializeDependencies(e){this._objectProvider=e.createInstance(B)}},S.CanvasView=Ne([l.OnLifecycle(l.LifecycleStages.Ready,S.CanvasView),ie(0,l.IUniverInstanceService),ie(1,V.Inject(V.Injector)),ie(2,h.IRenderManagerService)],S.CanvasView);var Ae=Object.defineProperty,We=Object.getOwnPropertyDescriptor,Ye=(a,n,e,r)=>{for(var t=r>1?void 0:r?We(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Ae(n,e,t),t},se=(a,n)=>(e,r)=>n(e,r,a);const He={},Fe="slides";S.UniverSlidesPlugin=(K=class extends l.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",l.UniverInstanceType.UNIVER_SLIDE),K),S.UniverSlidesPlugin=Ye([se(1,l.IUniverInstanceService),se(2,V.Inject(l.LocaleService)),se(3,V.Inject(V.Injector))],S.UniverSlidesPlugin),S.SLIDE_KEY=le,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
1
+ (function(S,l){typeof exports=="object"&&typeof module<"u"?l(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"],l):(S=typeof globalThis<"u"?globalThis:S||self,l(S.UniverSlides={},S.UniverCore,S.UniverEngineRender,S["@wendellhu/redi"],S.rxjs))})(this,function(S,l,h,L,ee){"use strict";var qe=Object.defineProperty;var Ge=(S,l,h)=>l in S?qe(S,l,{enumerable:!0,configurable:!0,writable:!0,value:h}):S[l]=h;var _=(S,l,h)=>Ge(S,typeof l!="symbol"?l+"":l,h);var K;class H{constructor(){_(this,"zIndex",0);_(this,"viewKey",null)}check(n){if(n===this.viewKey)return this}create(n){}}const A=l.Registry.create();var he=Object.defineProperty,de=Object.getOwnPropertyDescriptor,ue=(a,n,e,r)=>{for(var t=r>1?void 0:r?de(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&he(n,e,t),t},pe=(a,n)=>(e,r)=>n(e,r,a);let te=class extends H{constructor(n){super();_(this,"zIndex",5);_(this,"viewKey",l.PageElementType.DOCUMENT);_(this,"_liquid",new h.Liquid);this._localeService=n}check(n){if(n===this.viewKey)return this}convert(n,e){var q,le;const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,title:j,description:V,document:D}=n;if(D==null)return;const y=new l.DocumentDataModel(D),P=new h.DocumentViewModel(y),T=h.DocumentSkeleton.create(P,this._localeService),b=new h.Documents("__DocsRender__",T);T.calculate();const C=new h.SceneViewer("__DocsViewer__"+r,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f}),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.onMouseWheel$.subscribeEvent((X,Y)=>{const O=X;if(O.ctrlKey){const N=Math.abs(O.deltaX);let M=N<40?.2:N<80?.4:.2;M*=O.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):(O.deltaY>0,O.preventDefault())}else m.onMouseWheel(O,Y)}),new h.ScrollBar(m,{mainScene:e}),I.addObject(b);const E=T.getActualSize();b.resize(E.actualWidth,E.actualHeight),I.resize(E.actualWidth,E.actualHeight+200);const x=(q=b.getSkeleton())==null?void 0:q.getPageSize();b.pageRender$.subscribe(X=>{const{page:Y,pageLeft:O,pageTop:N,ctx:M}=X,{width:G,height:Z,marginBottom:ae,marginLeft:z,marginRight:J,marginTop:Q}=Y;M.save(),M.translate(O-.5,N-.5),h.Rect.drawWith(M,{width:(x==null?void 0:x.width)||G,height:(x==null?void 0:x.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}=b,$=T.getSkeletonData();if($==null)return;const{pages:U}=$,R=[],k=new Map;this._recalculateSizeBySkeleton(b,I,T);for(let X=0,Y=U.length;X<Y;X++){const O=U[X],{skeDrawings:N,marginLeft:M,marginTop:G,pageWidth:Z,pageHeight:ae}=O;this._liquid.translatePagePadding(O),N.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(O,b.pageLayoutType,b.pageMarginLeft,b.pageMarginTop)}return I.addObjects(R),R.forEach(X=>{I.attachTransformerTo(X)}),(le=I.getTransformer())==null||le.changing$.subscribe(X=>{const{objects:Y}=X;Y.forEach(O=>{const{oKey:N,left:M,top:G,height:Z,width:ae}=O,z=k.get(N),J=(z==null?void 0:z.marginLeft)||0,Q=(z==null?void 0:z.marginTop)||0;T==null||T.getViewModel().getDataModel().updateDrawing(N,{left:M-F-J,top:G-W-Q,height:Z,width:ae})}),T==null||T.calculate()}),this._calculatePagePosition(b,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,s=0;for(let o=0,d=t.length;o<d;o++){const p=t[o],{pageWidth:w,pageHeight:u}=p;n.pageLayoutType===h.PageLayoutType.VERTICAL?(s+=u,s+=n.pageMarginTop,o===d-1&&(s+=n.pageMarginTop),i=Math.max(i,w)):n.pageLayoutType===h.PageLayoutType.HORIZONTAL&&(i+=w,o!==d-1&&(i+=n.pageMarginLeft),s=Math.max(s,u))}n.resize(i,s),e.resize(i,s)}_calculatePagePosition(n,e,r,t=1){const i=e==null?void 0:e.getParent(),{width:s,height:c,pageMarginLeft:o,pageMarginTop:d}=n;if(i==null||s===Number.POSITIVE_INFINITY||c===Number.POSITIVE_INFINITY)return;const{width:p,height:w}=i;let u=0,v=0,g=0,f=0,j=Number.POSITIVE_INFINITY;if(p>(s+o*2)*t?(u=p/2-s*t/2,u/=t,g=(p-o*2)/t,j=0):(u=o,g=s+o*2,j=(g-p/t)/2),w>c?(v=w/2-c/2,f=(w-d*2)/t):(v=d,f=c+d*2),e.resize(g,f+200),n.translate(u,v),j!==Number.POSITIVE_INFINITY&&r!=null){const V=r.transScroll2ViewportScrollValue(j,0).x;r.scrollTo({x:V})}return this}};te=ue([pe(0,L.Inject(l.LocaleService))],te);class ge{constructor(){_(this,"zIndex",5)}create(n){return n.createInstance(te)}}A.add(new ge);class _e extends H{constructor(){super(...arguments);_(this,"zIndex",1);_(this,"viewKey",l.PageElementType.IMAGE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,title:j,description:V,image:D={}}=e,{imageProperties:y,placeholder:P,link:T}=D,b=(y==null?void 0:y.contentUrl)||"";return new h.Image(r,{url:b,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0})}}class ve{constructor(){_(this,"zIndex",4)}create(n){return n.createInstance(_e)}}A.add(new ve);var fe=Object.defineProperty,we=Object.getOwnPropertyDescriptor,Se=(a,n,e,r)=>{for(var t=r>1?void 0:r?we(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&fe(n,e,t),t},Ie=(a,n)=>(e,r)=>n(e,r,a);let re=class extends H{constructor(n){super();_(this,"zIndex",2);_(this,"viewKey",l.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:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,title:j,description:V,richText:D={}}=n,{text:y,ff:P,fs:T,it:b,bl:C,ul:I,st:m,ol:E,bg:x,bd:F,cl:W,rich:$}=D;let U={top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0},R=!1;if(y!=null?(U={...U,text:y,ff:P,fs:T,it:b,bl:C,ul:I,st:m,ol:E,bg:x,bd:F,cl:W},R=!0):$!=null&&(U={...U,richText:$},R=!0),R!==!1)return new h.RichText(this._localeService,r,U)}};re=Se([Ie(0,L.Inject(l.LocaleService))],re);class Pe{constructor(){_(this,"zIndex",0)}create(n){return n.createInstance(re)}}A.add(new Pe);class be extends H{constructor(){super(...arguments);_(this,"zIndex",2);_(this,"viewKey",l.PageElementType.SHAPE)}check(e){if(e===this.viewKey)return this}convert(e){const{id:r,zIndex:t,left:i=0,top:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,title:j,description:V}=e,{shapeType:D,text:y,shapeProperties:P,placeholder:T,link:b}=e.shape||{},C=P==null?"":l.getColorStyle(P.shapeBackgroundFill)||"rgba(255,255,255,1)",I=P==null?void 0:P.outline,m={};if(I){const{outlineFill:E,weight:x}=I;m.strokeWidth=x,m.stroke=l.getColorStyle(E)||"rgba(0,0,0,1)"}if(D===l.BasicShapes.Rect)return new h.Rect(r,{fill:C,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0,...m});if(D===l.BasicShapes.RoundRect){const E=(P==null?void 0:P.radius)||0;return new h.Rect(r,{fill:C,top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0,radius:E,...m})}}}class Te{constructor(){_(this,"zIndex",2)}create(n){return n.createInstance(be)}}A.add(new Te);var me=Object.defineProperty,ye=Object.getOwnPropertyDescriptor,Ee=(a,n,e,r)=>{for(var t=r>1?void 0:r?ye(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&me(n,e,t),t},je=(a,n)=>(e,r)=>n(e,r,a);let ne=class extends H{constructor(n){super();_(this,"zIndex",6);_(this,"viewKey",l.PageElementType.SLIDE);_(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:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,title:j,description:V,slide:D}=n;if(D==null)return;const y=new l.SlideDataModel(D),P=new h.Slide("__SLIDERender__"+r,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0});P.enableNav(),P.enableSelectedClipElement();const T=y.getPageOrder(),b=y.getPages();if(!T||!b)return P;this._ObjectProvider=new B(this._injector);for(let C=0,I=T.length;C<I;C++){const m=b[T[C]],{id:E}=m;P.addPage(this._createScene(E,P,m,e,y))}return P.activeFirstPage(),P}_createScene(n,e,r,t,i){var v;const{width:s,height:c}=e,o=new h.Scene(n,e,{width:s,height:c});new h.Viewport(`PageViewer_${n}`,o,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:p,pageBackgroundFill:w}=r,u=(v=this._ObjectProvider)==null?void 0:v.convertToRenderObjects(p,t);return this._addBackgroundRect(o,w,i),o.addObjects(u),u==null||u.forEach(g=>{o.attachTransformerTo(g)}),o}_addBackgroundRect(n,e,r){const t=r.getPageSize(),{width:i=0,height:s=0}=t,c=new h.Rect("canvas",{left:0,top:0,width:i,height:s,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:l.getColorStyle(e)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});n.addObject(c,0)}};ne=Ee([je(0,L.Inject(L.Injector))],ne);class De{constructor(){_(this,"zIndex",6)}create(n){return n.createInstance(ne)}}A.add(new De);var Oe=Object.defineProperty,Ce=Object.getOwnPropertyDescriptor,Ve=(a,n,e,r)=>{for(var t=r>1?void 0:r?Ce(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Oe(n,e,t),t},ce=(a,n)=>(e,r)=>n(e,r,a);let ie=class extends H{constructor(n,e){super();_(this,"zIndex",4);_(this,"viewKey",l.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:s=0,width:c,height:o,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,spreadsheet:j}=n;if(j==null)return;const{worksheet:V,styles:D}=j,{cellData:y}=V,P=new l.ObjectMatrix(y),T=new l.Styles(D),b=new h.SpreadsheetSkeleton(new l.Worksheet(r,V,T),V,P,T,this._localeService,this._contextService),{rowTotalHeight:C,columnTotalWidth:I,rowHeaderWidth:m,columnHeaderHeight:E}=b,x=I+V.rowHeader.width||0,F=C+V.columnHeader.height||0,W=new h.SceneViewer("spreadInSlideSceneViewer"+r,{top:s,left:i,width:c,height:o,zIndex:t,angle:d,scaleX:p,scaleY:w,skewX:u,skewY:v,flipX:g,flipY:f,forceRender:!0}),$=new h.Scene("spreadInSlideScene"+r,W,{width:x,height:F});this._updateViewport(r,m,E,$,e);const U=new h.Spreadsheet("testSheetViewer",b,!1),R=new h.SpreadsheetRowHeader("spreadInSlideRow",b),k=new h.SpreadsheetColumnHeader("spreadInSlideColumn",b),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,$.addObjects([U],1),$.addObjects([R,k,q],2),W}_updateViewport(n,e,r,t,i){if(i==null)return;const s=e*t.scaleX,c=r*t.scaleY,o=new h.Viewport("spreadInSlideViewMain"+n,t,{left:s,top:c,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0}),d=new h.Viewport("spreadInSlideViewTop"+n,t,{left:s,height:c,top:0,right:0,isRelativeX:!0,isWheelPreventDefaultX:!0}),p=new h.Viewport("spreadInSlideViewLeft"+n,t,{left:0,bottom:0,top:c,width:s,isRelativeY:!0,isWheelPreventDefaultX:!0});new h.Viewport("spreadInSlideViewLeftTop"+n,t,{left:0,top:0,width:s,height:c,isWheelPreventDefaultX:!0}),o.onScrollAfter$.subscribeEvent(w=>{const{scrollX:u,scrollY:v,viewportScrollX:g,viewportScrollY:f}=w;d.updateScroll({scrollX:u,viewportScrollX:g}),p.updateScroll({scrollY:v,viewportScrollY:f})}),t.attachControl(),new h.ScrollBar(o,{mainScene:i}),t.onMouseWheel$.subscribeEvent((w,u)=>{const v=w;if(v.ctrlKey){const g=Math.abs(v.deltaX);let f=g<40?.05:g<80?.02:.01;f*=v.deltaY>0?-1:1,t.scaleX<1&&(f/=2),t.scaleX+f>4?t.scale(4,4):t.scaleX+f<.1?t.scale(.1,.1):(t.scaleBy(f,f),v.preventDefault())}else o.onMouseWheel(v,u)})}};ie=Ve([ce(0,L.Inject(l.LocaleService)),ce(1,l.IContextService)],ie);class xe{constructor(){_(this,"zIndex",4)}create(n){return n.createInstance(ie)}}A.add(new xe);var Me=Object.defineProperty,Le=Object.getOwnPropertyDescriptor,Ue=(a,n,e,r)=>{for(var t=r>1?void 0:r?Le(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Me(n,e,t),t},Xe=(a,n)=>(e,r)=>n(e,r,a);let B=class{constructor(a){_(this,"_adaptors",[]);this._injector=a,this._adaptorLoader()}convertToRenderObjects(a,n){const e=Object.keys(a),r=[];return e.forEach(t=>{const i=a[t],s=this._executor(i,n);s!=null&&r.push(s)}),r}_executor(a,n){var t;const{id:e,type:r}=a;for(const i of this._adaptors){const s=(t=i.check(r))==null?void 0:t.convert(a,n);if(s!=null)return s}}_adaptorLoader(){A.getData().sort(l.sortRules).forEach(a=>{this._adaptors.push(a.create(this._injector))})}};B=Ue([Xe(0,L.Inject(L.Injector))],B);var ze=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,Re=(a,n,e,r)=>{for(var t=r>1?void 0:r?$e(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&ze(n,e,t),t},se=(a,n)=>(e,r)=>n(e,r,a),oe=(a=>(a.COMPONENT="__slideRender__",a.SCENE="__mainScene__",a.VIEW="__mainView__",a))(oe||{});S.CanvasView=class extends l.RxDisposable{constructor(e,r,t){super();_(this,"_objectProvider",null);_(this,"_activePageId","");_(this,"activePageId$",new ee.Subject);_(this,"_refreshThumb",l.debounce(()=>{this.createThumbs()},300));this._univerInstanceService=e,this._injector=r,this._renderManagerService=t,this._initializeDependencies(this._injector),this._initialize()}_initialize(){this._renderManagerService.createRender$.pipe(ee.takeUntil(this.dispose$)).subscribe(e=>{this._create(e)}),this._univerInstanceService.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SLIDE).pipe(ee.takeUntil(this.dispose$)).subscribe(e=>{this._create(e==null?void 0:e.getUnitId())}),this._univerInstanceService.getAllUnitsForType(l.UniverInstanceType.UNIVER_SLIDE).forEach(e=>{this._create(e.getUnitId())})}activePage(e){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE);let t;if(e)t=r.getPage(e);else{const o=r.getPages(),d=r.getPageOrder();if(d==null||o==null)return;t=o[d[0]],e=t.id}const i=this._currentRender();if(t==null||i==null||i.mainComponent==null)return;const{id:s}=t,c=i.mainComponent;if(this._activePageId=e,this.activePageId$.next(e),c!=null&&c.hasPage(s)){c.changePage(s);return}this._createScene(s,t)}_scrollToCenter(){var d;const e=(d=this._currentRender())==null?void 0:d.scene,r=e==null?void 0:e.getViewport("__mainView__"),t=this._getCenterPositionViewPort(e);if(!r||!t)return;const{left:i,top:s}=t,{x:c,y:o}=r.transViewportScroll2ScrollValue(i,s);r.scrollTo({x:c,y:o})}_create(e){e==null||this._univerInstanceService.getUnit(e,l.UniverInstanceType.UNIVER_SLIDE)==null||this._renderManagerService.has(e)||this._addNewRender(e)}_currentRender(){const e=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE);return this._renderManagerService.getRenderById(e.getUnitId())}_addNewRender(e){const r=this._univerInstanceService.getUnit(e,l.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:s}=t,c=s.onTransformChange$.subscribeEvent(()=>{this._scrollToCenter(),c==null||c.unsubscribe()});s.onTransformChange$.subscribeEvent(()=>{setTimeout(()=>{this.createThumbs()},300)}),i.resize(2400,1800);const o=new h.Viewport("__mainView__",i,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0,isWheelPreventDefaultX:!0});i.attachControl(),i.onMouseWheel$.subscribeEvent((p,w)=>{const u=p;if(u.ctrlKey){const v=Math.abs(u.deltaX);let g=v<40?.2:v<80?.4:.2;g*=u.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):(u.deltaY>0,u.preventDefault())}else o.onMouseWheel(u,w)}),i.onFileLoaded$.subscribeEvent(()=>{this._refreshThumb()}),h.ScrollBar.attachTo(o),this._renderManagerService.setCurrent(e);const d=this._createSlide(i);t.mainComponent=d,t.components.set("__slideRender__",d),this._createSlidePages(r,d),s.runRenderLoop(()=>{i.render()})}_createSlide(e){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE),{width:t,height:i}=e,s=r.getPageSize(),{width:c=100,height:o=100}=s,d=new h.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,r){const i=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE).getPageSize(),{width:s=0,height:c=0}=i,o=new h.Rect("canvas",{left:0,top:0,width:s,height:c,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:l.getColorStyle(r)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});e.addObject(o,0)}_getCenterPositionViewPort(e){if(!e)return{left:0,top:0};const{width:r,height:t}=e,i=e.getEngine(),s=(i==null?void 0:i.width)||0,c=(i==null?void 0:i.height)||0;return{left:(r-s)/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:s,height:c}=r,{width:o=s,height:d=c}=i,p=i.getCanvas().getContext();r.renderToThumb(p,e,o/s,d/c)}_createSlidePages(e,r){const t=e.getPages(),i=e.getPageOrder();if(!(!t||!i)&&i.length!==0){for(let s=0,c=i.length;s<c;s++){const o=i[s];this._createScene(o,t[o]),this._createThumb(o)}this._activePageId=i[0],r.activeFirstPage()}}createThumbs(){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SLIDE).getPageOrder(),t=this._currentRender();if(!(!r||!t)&&r.length!==0)for(let i=0,s=r.length;i<s;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:s}=t,c=s,{width:o,height:d}=c,p=new h.Scene(e,c,{width:o,height:d});new h.Viewport(`PageViewer_${e}`,p,{left:0,top:0,bottom:0,right:0,isRelativeX:!0,isRelativeY:!0}).closeClip();const{pageElements:u,pageBackgroundFill:v}=r,g=this._objectProvider.convertToRenderObjects(u,i);if(!g||!c)return;this._addBackgroundRect(p,v),p.addObjects(g),g.forEach(j=>{p.attachTransformerTo(j)});const f=p.getTransformer();return f==null||f.changeEnd$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),f==null||f.clearControl$.subscribe(()=>{this._thumbSceneRender(this._activePageId,c)}),c.addPage(p),p}_initializeDependencies(e){this._objectProvider=e.createInstance(B)}},S.CanvasView=Re([l.OnLifecycle(l.LifecycleStages.Ready,S.CanvasView),se(0,l.IUniverInstanceService),se(1,L.Inject(L.Injector)),se(2,h.IRenderManagerService)],S.CanvasView);var Ne=Object.defineProperty,Ae=Object.getOwnPropertyDescriptor,We=(a,n,e,r)=>{for(var t=r>1?void 0:r?Ae(n,e):n,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=(r?s(n,e,t):s(t))||t);return r&&t&&Ne(n,e,t),t},Ye=(a,n)=>(e,r)=>n(e,r,a);const He={},Fe="slides";S.UniverSlidesPlugin=(K=class extends l.Plugin{constructor(e={},r){super();_(this,"_config");_(this,"_canvasEngine",null);_(this,"_canvasView",null);this._injector=r,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)})}},_(K,"pluginName",Fe),_(K,"type",l.UniverInstanceType.UNIVER_SLIDE),K),S.UniverSlidesPlugin=We([Ye(1,L.Inject(L.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.17",
3
+ "version": "0.2.0",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -47,20 +47,20 @@
47
47
  "lib"
48
48
  ],
49
49
  "peerDependencies": {
50
- "@wendellhu/redi": "0.15.4",
50
+ "@wendellhu/redi": "0.15.5",
51
51
  "rxjs": ">=7.0.0",
52
- "@univerjs/core": "0.1.17",
53
- "@univerjs/engine-render": "0.1.17"
52
+ "@univerjs/core": "0.2.0",
53
+ "@univerjs/engine-render": "0.2.0"
54
54
  },
55
55
  "devDependencies": {
56
- "@wendellhu/redi": "0.15.4",
56
+ "@wendellhu/redi": "0.15.5",
57
57
  "rxjs": "^7.8.1",
58
- "typescript": "^5.4.5",
59
- "vite": "^5.3.1",
58
+ "typescript": "^5.5.3",
59
+ "vite": "^5.3.3",
60
60
  "vitest": "^1.6.0",
61
- "@univerjs/core": "0.1.17",
62
- "@univerjs/shared": "0.1.17",
63
- "@univerjs/engine-render": "0.1.17"
61
+ "@univerjs/core": "0.2.0",
62
+ "@univerjs/engine-render": "0.2.0",
63
+ "@univerjs/shared": "0.2.0"
64
64
  },
65
65
  "univerSpace": {
66
66
  ".": {