@univerjs/slides 0.20.1 → 0.21.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/index.js CHANGED
@@ -1 +1,1159 @@
1
- import{BasicShapes as e,DocumentDataModel as t,IConfigService as n,IContextService as r,Inject as i,Injector as a,LocaleService as o,PageElementType as s,Plugin as c,Registry as l,SlideDataModel as u,Styles as d,UniverInstanceType as f,Worksheet as p,getColorStyle as m,merge as h,sortRules as g}from"@univerjs/core";import{Circle as _,DocumentSkeleton as v,DocumentViewModel as y,Documents as b,IRenderManagerService as x,IRenderingEngine as S,Image as C,Liquid as w,PageLayoutType as T,Rect as E,RichText as D,Scene as O,SceneViewer as k,ScrollBar as A,Slide as j,Spreadsheet as M,SpreadsheetColumnHeader as N,SpreadsheetRowHeader as P,SpreadsheetSkeleton as F,Viewport as I,getColor as L}from"@univerjs/engine-render";var R=`@univerjs/slides`,z=`0.20.1`;const B=`slides.config`;Symbol(B);const V={};function H(e){"@babel/helpers - typeof";return H=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},H(e)}function ee(e,t){if(H(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(H(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function te(e){var t=ee(e,`string`);return H(t)==`symbol`?t:t+``}function U(e,t,n){return(t=te(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function W(e,t){return function(n,r){t(n,r,e)}}function G(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let K=class extends c{constructor(e=V,t,n,r){super(),this._config=e,this._injector=t,this._renderManagerService=n,this._configService=r,U(this,`_canvasEngine`,null);let{...i}=h({},V,this._config);this._configService.setConfig(B,i),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}onReady(){}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(S)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}_initializeDependencies(e){[].forEach(t=>{e.add(t)})}};U(K,`pluginName`,`UNIVER_SLIDES_PLUGIN`),U(K,`packageName`,R),U(K,`version`,z),U(K,`type`,f.UNIVER_SLIDE),K=G([W(1,i(a)),W(2,x),W(3,n)],K);var q=class{constructor(){U(this,`zIndex`,0),U(this,`viewKey`,null)}check(e){if(e===this.viewKey)return this}create(e){}};const J=l.create();let Y=function(e){return e.MAIN=`__DocsRender__`,e.SCENE_VIEWER=`__DocsViewer__`,e.SCENE=`__DocsScene__`,e.VIEWPORT=`__DocsViewPort_`,e}({}),X=class extends q{constructor(e){super(),this._localeService=e,U(this,`zIndex`,5),U(this,`viewKey`,s.DOCUMENT),U(this,`_liquid`,new w)}check(e){if(e===this.viewKey)return this}convert(e,n){var r,i;let{id:a,zIndex:o,left:s=0,top:c=0,width:l,height:u,angle:d,scaleX:f,scaleY:p,skewX:m,skewY:h,flipX:g,flipY:_,title:x,description:S,document:w}=e;if(w==null)return;let T=new y(new t(w)),E=v.create(T,this._localeService),D=new b(Y.MAIN,E);E.calculate();let j=new k(Y.SCENE_VIEWER+a,{top:c,left:s,width:l,height:u,zIndex:o,angle:d,scaleX:f,scaleY:p,skewX:m,skewY:h,flipX:g,flipY:_}),M=new O(Y.SCENE+a,j),N=new I(Y.VIEWPORT+a,M,{left:0,top:0,bottom:0,right:0,explicitViewportWidthSet:!1,explicitViewportHeightSet:!1,isWheelPreventDefaultX:!0});M.attachControl(),M.onMouseWheel$.subscribeEvent((e,t)=>{let n=e;if(n.ctrlKey){let e=Math.abs(n.deltaX),t=e<40?.2:e<80?.4:.2;t*=n.deltaY>0?-1:1,M.scaleX<1&&(t/=2),M.scaleX+t>4?M.scale(4,4):M.scaleX+t<.1?M.scale(.1,.1):(n.deltaY,n.preventDefault())}else N.onMouseWheel(n,t)}),new A(N,{mainScene:n}),M.addObject(D);let P=E.getActualSize();D.resize(P.actualWidth,P.actualHeight),M.resize(P.actualWidth,P.actualHeight+200),(r=D.getSkeleton())==null||r.getPageSize(),D.pageRender$.subscribe(e=>{let{page:t,pageLeft:n,pageTop:r,ctx:i}=e,{width:a,height:o,marginBottom:s,marginLeft:c,marginRight:l,marginTop:u}=t;i.save(),i.translate(n-.5,r-.5),i.restore()});let{left:F,top:L}=D,R=E.getSkeletonData();if(R==null)return;let{pages:z}=R,B=[],V=new Map;this._recalculateSizeBySkeleton(D,M,E);for(let e=0,t=z.length;e<t;e++){let t=z[e],{skeDrawings:n,marginLeft:r,marginTop:i,pageWidth:a,pageHeight:o}=t;this._liquid.translatePagePadding(t),n.forEach(e=>{let{aLeft:t,aTop:n,height:r,width:i,drawingOrigin:a}=e,{docTransform:o}=a,s=new C(e.drawingId,{left:t+F+this._liquid.x,top:n+L+this._liquid.y,width:i,height:r,zIndex:11});V.set(e.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),B.push(s)}),this._liquid.translatePage(t,D.pageLayoutType,D.pageMarginLeft,D.pageMarginTop)}return M.addObjects(B),B.forEach(e=>{M.attachTransformerTo(e)}),(i=M.getTransformer())==null||i.changing$.subscribe(e=>{let{objects:t}=e;t.forEach(e=>{let{oKey:t,left:n,top:r,height:i,width:a}=e,o=V.get(t),s=(o==null?void 0:o.marginLeft)||0,c=(o==null?void 0:o.marginTop)||0;E==null||E.getViewModel().getDataModel().updateDrawing(t,{left:n-F-s,top:r-L-c,height:i,width:a})}),E==null||E.calculate()}),this._calculatePagePosition(D,M,N),j}_recalculateSizeBySkeleton(e,t,n){var r;let i=(r=n.getSkeletonData())==null?void 0:r.pages;if(i==null)return;let a=0,o=0;for(let t=0,n=i.length;t<n;t++){let{pageWidth:r,pageHeight:s}=i[t];e.pageLayoutType===T.VERTICAL?(o+=s,o+=e.pageMarginTop,t===n-1&&(o+=e.pageMarginTop),a=Math.max(a,r)):e.pageLayoutType===T.HORIZONTAL&&(a+=r,t!==n-1&&(a+=e.pageMarginLeft),o=Math.max(o,s))}e.resize(a,o),t.resize(a,o)}_calculatePagePosition(e,t,n,r=1){let i=t==null?void 0:t.getParent(),{width:a,height:o,pageMarginLeft:s,pageMarginTop:c}=e;if(i==null||a===1/0||o===1/0)return;let{width:l,height:u}=i,d=0,f=0,p=0,m=0,h=1/0;if(l>(a+s*2)*r?(d=l/2-a*r/2,d/=r,p=(l-s*2)/r,h=0):(d=s,p=a+s*2,h=(p-l/r)/2),u>o?(f=u/2-o/2,m=(u-c*2)/r):(f=c,m=o+c*2),t.resize(p,m+200),e.translate(d,f),h!==1/0&&n!=null){let e=n.transScroll2ViewportScrollValue(h,0).x;n.scrollToBarPos({x:e})}return this}};X=G([W(0,i(o))],X);var ne=class{constructor(){U(this,`zIndex`,5)}create(e){return e.createInstance(X)}};J.add(new ne);var re=class extends q{constructor(...e){super(...e),U(this,`zIndex`,1),U(this,`viewKey`,s.IMAGE)}check(e){if(e===this.viewKey)return this}convert(e){let{id:t,zIndex:n,left:r=0,top:i=0,width:a,height:o,angle:s,scaleX:c,scaleY:l,skewX:u,skewY:d,flipX:f,flipY:p,title:m,description:h,image:g={}}=e,{imageProperties:_,placeholder:v,link:y}=g;return new C(t,{url:(_==null?void 0:_.contentUrl)||``,top:i,left:r,width:a,height:o,zIndex:n,angle:s,scaleX:c,scaleY:l,skewX:u,skewY:d,flipX:f,flipY:p,forceRender:!0})}},ie=class{constructor(){U(this,`zIndex`,4)}create(e){return e.createInstance(re)}};J.add(new ie);let Z=class extends q{constructor(e){super(),this._localeService=e,U(this,`zIndex`,2),U(this,`viewKey`,s.TEXT)}check(e){if(e===this.viewKey)return this}convert(e,t){let{id:n,zIndex:r,left:i=0,top:a=0,width:o,height:s,angle:c,scaleX:l,scaleY:u,skewX:d,skewY:f,flipX:p,flipY:m,title:h,description:g,richText:_={}}=e,{text:v,ff:y,fs:b,it:x,bl:S,ul:C,st:w,ol:T,bg:E,bd:O,cl:k,rich:A}=_,j={top:a,left:i,width:o,height:s,zIndex:r,angle:c,scaleX:l,scaleY:u,skewX:d,skewY:f,flipX:p,flipY:m,forceRender:!0},M=!1;if(v==null?A!=null&&(j={...j,richText:A},M=!0):(j={...j,text:v,ff:y,fs:b,it:x,bl:S,ul:C,st:w,ol:T,bg:E,bd:O,cl:k},M=!0),M!==!1)return new D(this._localeService,n,j)}};Z=G([W(0,i(o))],Z);var ae=class{constructor(){U(this,`zIndex`,0)}create(e){return e.createInstance(Z)}};J.add(new ae);var oe=class extends q{constructor(...e){super(...e),U(this,`zIndex`,2),U(this,`viewKey`,s.SHAPE)}check(e){if(e===this.viewKey)return this}convert(t){let{id:n,zIndex:r,left:i=0,top:a=0,width:o,height:s,angle:c,scaleX:l,scaleY:u,skewX:d,skewY:f,flipX:p,flipY:h,title:g,description:v}=t,{shapeType:y,text:b,shapeProperties:x,placeholder:S,link:C}=t.shape||{},w=x==null?``:m(x.shapeBackgroundFill)||`rgba(255,255,255,1)`,T=x==null?void 0:x.outline,D={};if(T){let{outlineFill:e,weight:t}=T;D.strokeWidth=t,D.stroke=m(e)||`rgba(0,0,0,1)`}if(y===e.Rect)return new E(n,{fill:w,top:a,left:i,width:o,height:s,zIndex:r,angle:c,scaleX:l,scaleY:u,skewX:d,skewY:f,flipX:p,flipY:h,forceRender:!0,...D});if(y===e.RoundRect)return new E(n,{fill:w,top:a,left:i,width:o,height:s,zIndex:r,angle:c,scaleX:l,scaleY:u,skewX:d,skewY:f,flipX:p,flipY:h,forceRender:!0,radius:(x==null?void 0:x.radius)||0,...D});if(y===e.Ellipse)return console.warn(x==null?void 0:x.radius),new _(n,{fill:w,top:a,left:i,width:o,height:s,zIndex:r,angle:c,scaleX:l,scaleY:u,skewX:d,skewY:f,flipX:p,flipY:h,forceRender:!0,radius:(x==null?void 0:x.radius)||0,...D})}},se=class{constructor(){U(this,`zIndex`,2)}create(e){return e.createInstance(oe)}};J.add(new se);let Q=class{constructor(e){this._injector=e,U(this,`_adaptors`,[]),this._adaptorLoader()}convertToRenderObjects(e,t){let n=Object.keys(e),r=[];return n.forEach(n=>{let i=e[n],a=this._executor(i,t);a!=null&&r.push(a)}),r}convertToRenderObject(e,t){return this._executor(e,t)}_executor(e,t){let{id:n,type:r}=e;for(let n of this._adaptors){var i;let a=(i=n.check(r))==null?void 0:i.convert(e,t);if(a!=null)return a}}_adaptorLoader(){J.getData().sort(g).forEach(e=>{this._adaptors.push(e.create(this._injector))})}};Q=G([W(0,i(a))],Q);let ce=function(e){return e.MAIN=`__SLIDERender__`,e.SCENE_VIEWER=`__SLIDEViewer__`,e.SCENE=`__SLIDEScene__`,e.VIEWPORT=`__SLIDEViewPort_`,e}({}),le=class extends q{constructor(e){super(),this._injector=e,U(this,`zIndex`,6),U(this,`viewKey`,s.SLIDE),U(this,`_ObjectProvider`,null)}check(e){if(e===this.viewKey)return this}convert(e,t){let{id:n,zIndex:r,left:i=0,top:a=0,width:o,height:s,angle:c,scaleX:l,scaleY:d,skewX:f,skewY:p,flipX:m,flipY:h,title:g,description:_,slide:v}=e;if(v==null)return;let y=new u(v),b=new j(ce.MAIN+n,{top:a,left:i,width:o,height:s,zIndex:r,angle:c,scaleX:l,scaleY:d,skewX:f,skewY:p,flipX:m,flipY:h,forceRender:!0});b.enableNav(),b.enableSelectedClipElement();let x=y.getPageOrder(),S=y.getPages();if(!x||!S)return b;this._ObjectProvider=new Q(this._injector);for(let e=0,n=x.length;e<n;e++){let n=S[x[e]],{id:r}=n;b.addPageScene(this._createScene(r,b,n,t,y))}return b.activeFirstPage(),b}_createScene(e,t,n,r,i){var a;let{width:o,height:s}=t,c=new O(e,t,{width:o,height:s});new I(`PageViewer_${e}`,c,{left:0,top:0,bottom:0,right:0,explicitViewportWidthSet:!1,explicitViewportHeightSet:!1}).closeClip();let{pageElements:l,pageBackgroundFill:u}=n,d=(a=this._ObjectProvider)==null?void 0:a.convertToRenderObjects(l,r);return this._addBackgroundRect(c,u,i),c.addObjects(d),d==null||d.forEach(e=>{c.attachTransformerTo(e)}),c}_addBackgroundRect(e,t,n){let{width:r=0,height:i=0}=n.getPageSize(),a=new E(`canvas`,{left:0,top:0,width:r,height:i,strokeWidth:1,stroke:`rgba(198,198,198, 1)`,fill:m(t)||`rgba(255,255,255, 1)`,zIndex:0,evented:!1});e.addObject(a,0)}};le=G([W(0,i(a))],le);var ue=class{constructor(){U(this,`zIndex`,6)}create(e){return e.createInstance(le)}};J.add(new ue);var $=function(e){return e.MAIN=`spreadInSlide`,e.SCENE=`spreadInSlideScene`,e.SCENE_VIEWER=`spreadInSlideSceneViewer`,e.ROW=`spreadInSlideRow`,e.COLUMN=`spreadInSlideColumn`,e.LEFT_TOP=`spreadInSlideLeftTop`,e.VIEW_MAIN=`spreadInSlideViewMain`,e.VIEW_TOP=`spreadInSlideViewTop`,e.VIEW_LEFT=`spreadInSlideViewLeft`,e.VIEW_LEFT_TOP=`spreadInSlideViewLeftTop`,e}($||{});let de=class extends q{constructor(e,t,n,r){super(),this._localeService=e,this._contextService=t,this._configService=n,this._injector=r,U(this,`zIndex`,4),U(this,`viewKey`,s.SPREADSHEET)}check(e){if(e===this.viewKey)return this}convert(e,t){let{id:n,zIndex:r,left:i=0,top:a=0,width:o,height:s,angle:c,scaleX:l,scaleY:u,skewX:f,skewY:m,flipX:h,flipY:g,spreadsheet:_}=e;if(_==null)return;let{worksheet:v,styles:y}=_,b=new d(y),x=new F(new p(n,v,b),b,this._localeService,this._contextService,this._configService,this._injector),{rowTotalHeight:S,columnTotalWidth:C,rowHeaderWidth:w,columnHeaderHeight:T}=x,D=C+v.rowHeader.width||0,A=S+v.columnHeader.height||0,j=new k($.SCENE_VIEWER+n,{top:a,left:i,width:o,height:s,zIndex:r,angle:c,scaleX:l,scaleY:u,skewX:f,skewY:m,flipX:h,flipY:g,forceRender:!0}),I=new O($.SCENE+n,j,{width:D,height:A});this._updateViewport(n,w,T,I,t);let R=new M(`testSheetViewer`,x,!1),z=new P($.ROW,x),B=new N($.COLUMN,x),V=new E($.LEFT_TOP,{zIndex:2,left:-1,top:-1,width:w,height:T,fill:L([248,249,250]),stroke:L([217,217,217]),strokeWidth:1});return R.zIndex=10,I.addObjects([R],1),I.addObjects([z,B,V],2),j}_updateViewport(e,t,n,r,i){if(i==null)return;let a=t*r.scaleX,o=n*r.scaleY,s=new I($.VIEW_MAIN+e,r,{left:a,top:o,bottom:0,right:0,explicitViewportWidthSet:!1,explicitViewportHeightSet:!1,isWheelPreventDefaultX:!0}),c=new I($.VIEW_TOP+e,r,{left:a,height:o,top:0,right:0,explicitViewportWidthSet:!1,isWheelPreventDefaultX:!0}),l=new I($.VIEW_LEFT+e,r,{left:0,bottom:0,top:o,width:a,explicitViewportHeightSet:!1,isWheelPreventDefaultX:!0});new I($.VIEW_LEFT_TOP+e,r,{left:0,top:0,width:a,height:o,isWheelPreventDefaultX:!0}),s.onScrollAfter$.subscribeEvent(e=>{let{scrollX:t,scrollY:n,viewportScrollX:r,viewportScrollY:i}=e;c.updateScrollVal({scrollX:t,viewportScrollX:r}),l.updateScrollVal({scrollY:n,viewportScrollY:i})}),r.attachControl(),new A(s,{mainScene:i}),r.onMouseWheel$.subscribeEvent((e,t)=>{let n=e;if(n.ctrlKey){let e=Math.abs(n.deltaX),t=e<40?.05:e<80?.02:.01;t*=n.deltaY>0?-1:1,r.scaleX<1&&(t/=2),r.scaleX+t>4?r.scale(4,4):r.scaleX+t<.1?r.scale(.1,.1):(r.scaleBy(t,t),n.preventDefault())}else s.onMouseWheel(n,t)})}};de=G([W(0,i(o)),W(1,r),W(2,n),W(3,i(a))],de);var fe=class{constructor(){U(this,`zIndex`,4)}create(e){return e.createInstance(de)}};J.add(new fe);let pe=function(e){return e.COMPONENT=`__slideRender__`,e.SCENE=`__mainScene__`,e.VIEW=`__mainView__`,e}({});export{J as CanvasObjectProviderRegistry,q as ObjectAdaptor,Q as ObjectProvider,pe as SLIDE_KEY,ce as SLIDE_VIEW_KEY,K as UniverSlidesPlugin};
1
+ import { DocumentDataModel, IConfigService, IContextService, IUniverInstanceService, Inject, Injector, LocaleService, Plugin, Registry, Styles, UnitModel, UniverInstanceType, Worksheet, generateRandomId, getColorStyle, merge, sortRules } from "@univerjs/core";
2
+ import { BehaviorSubject } from "rxjs";
3
+ import { Circle, DocumentSkeleton, DocumentViewModel, Documents, IRenderingEngine, Image, Liquid, PageLayoutType, Rect, RichText, Scene, SceneViewer, ScrollBar, Slide, Spreadsheet, SpreadsheetColumnHeader, SpreadsheetRowHeader, SpreadsheetSkeleton, Viewport, getColor } from "@univerjs/engine-render";
4
+
5
+ //#region src/basics/const/default-slide.ts
6
+ /**
7
+ * Copyright 2023-present DreamNum Co., Ltd.
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License");
10
+ * you may not use this file except in compliance with the License.
11
+ * You may obtain a copy of the License at
12
+ *
13
+ * http://www.apache.org/licenses/LICENSE-2.0
14
+ *
15
+ * Unless required by applicable law or agreed to in writing, software
16
+ * distributed under the License is distributed on an "AS IS" BASIS,
17
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ * See the License for the specific language governing permissions and
19
+ * limitations under the License.
20
+ */
21
+ const DEFAULT_SLIDE = {
22
+ id: "default_slide",
23
+ title: "defaultSlide",
24
+ pageSize: {
25
+ width: 300,
26
+ height: 300
27
+ }
28
+ };
29
+
30
+ //#endregion
31
+ //#region src/types/interfaces/i-slide-data.ts
32
+ let PageType = /* @__PURE__ */ function(PageType) {
33
+ PageType[PageType["SLIDE"] = 0] = "SLIDE";
34
+ PageType[PageType["MASTER"] = 1] = "MASTER";
35
+ PageType[PageType["LAYOUT"] = 2] = "LAYOUT";
36
+ PageType[PageType["HANDOUT_MASTER"] = 3] = "HANDOUT_MASTER";
37
+ PageType[PageType["NOTES_MASTER"] = 4] = "NOTES_MASTER";
38
+ return PageType;
39
+ }({});
40
+ let PageElementType = /* @__PURE__ */ function(PageElementType) {
41
+ PageElementType[PageElementType["SHAPE"] = 0] = "SHAPE";
42
+ PageElementType[PageElementType["IMAGE"] = 1] = "IMAGE";
43
+ PageElementType[PageElementType["TEXT"] = 2] = "TEXT";
44
+ PageElementType[PageElementType["SPREADSHEET"] = 3] = "SPREADSHEET";
45
+ PageElementType[PageElementType["DOCUMENT"] = 4] = "DOCUMENT";
46
+ PageElementType[PageElementType["SLIDE"] = 5] = "SLIDE";
47
+ return PageElementType;
48
+ }({});
49
+ let RelativeSlideLink = /* @__PURE__ */ function(RelativeSlideLink) {
50
+ RelativeSlideLink[RelativeSlideLink["RELATIVE_SLIDE_LINK_UNSPECIFIED"] = 0] = "RELATIVE_SLIDE_LINK_UNSPECIFIED";
51
+ RelativeSlideLink[RelativeSlideLink["NEXT_SLIDE"] = 1] = "NEXT_SLIDE";
52
+ RelativeSlideLink[RelativeSlideLink["PREVIOUS_SLIDE"] = 2] = "PREVIOUS_SLIDE";
53
+ RelativeSlideLink[RelativeSlideLink["FIRST_SLIDE"] = 3] = "FIRST_SLIDE";
54
+ RelativeSlideLink[RelativeSlideLink["LAST_SLIDE"] = 4] = "LAST_SLIDE";
55
+ return RelativeSlideLink;
56
+ }({});
57
+
58
+ //#endregion
59
+ //#region \0@oxc-project+runtime@0.124.0/helpers/typeof.js
60
+ function _typeof(o) {
61
+ "@babel/helpers - typeof";
62
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
63
+ return typeof o;
64
+ } : function(o) {
65
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
66
+ }, _typeof(o);
67
+ }
68
+
69
+ //#endregion
70
+ //#region \0@oxc-project+runtime@0.124.0/helpers/toPrimitive.js
71
+ function toPrimitive(t, r) {
72
+ if ("object" != _typeof(t) || !t) return t;
73
+ var e = t[Symbol.toPrimitive];
74
+ if (void 0 !== e) {
75
+ var i = e.call(t, r || "default");
76
+ if ("object" != _typeof(i)) return i;
77
+ throw new TypeError("@@toPrimitive must return a primitive value.");
78
+ }
79
+ return ("string" === r ? String : Number)(t);
80
+ }
81
+
82
+ //#endregion
83
+ //#region \0@oxc-project+runtime@0.124.0/helpers/toPropertyKey.js
84
+ function toPropertyKey(t) {
85
+ var i = toPrimitive(t, "string");
86
+ return "symbol" == _typeof(i) ? i : i + "";
87
+ }
88
+
89
+ //#endregion
90
+ //#region \0@oxc-project+runtime@0.124.0/helpers/defineProperty.js
91
+ function _defineProperty(e, r, t) {
92
+ return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
93
+ value: t,
94
+ enumerable: !0,
95
+ configurable: !0,
96
+ writable: !0
97
+ }) : e[r] = t, e;
98
+ }
99
+
100
+ //#endregion
101
+ //#region src/data-model/slide-data-model.ts
102
+ var SlideDataModel = class extends UnitModel {
103
+ get _activePage() {
104
+ const activePage = this._activePage$.getValue();
105
+ if (!activePage) {
106
+ var _this$getPageOrder, _this$getPages;
107
+ const activePageId = (_this$getPageOrder = this.getPageOrder()) === null || _this$getPageOrder === void 0 ? void 0 : _this$getPageOrder[0];
108
+ if (!activePageId) return null;
109
+ return (_this$getPages = this.getPages()) === null || _this$getPages === void 0 ? void 0 : _this$getPages[activePageId];
110
+ }
111
+ return activePage;
112
+ }
113
+ constructor(snapshot) {
114
+ var _this$_snapshot$id;
115
+ super();
116
+ _defineProperty(this, "type", UniverInstanceType.UNIVER_SLIDE);
117
+ _defineProperty(this, "_activePage$", new BehaviorSubject(null));
118
+ _defineProperty(this, "activePage$", this._activePage$.asObservable());
119
+ _defineProperty(this, "_name$", void 0);
120
+ _defineProperty(this, "name$", void 0);
121
+ _defineProperty(this, "_snapshot", void 0);
122
+ _defineProperty(this, "_unitId", void 0);
123
+ this._snapshot = {
124
+ ...DEFAULT_SLIDE,
125
+ ...snapshot
126
+ };
127
+ this._unitId = (_this$_snapshot$id = this._snapshot.id) !== null && _this$_snapshot$id !== void 0 ? _this$_snapshot$id : generateRandomId(6);
128
+ this._name$ = new BehaviorSubject(this._snapshot.title);
129
+ this.name$ = this._name$.asObservable();
130
+ }
131
+ setName(name) {
132
+ var _this$_snapshot$id2;
133
+ this._snapshot.title = name;
134
+ this._name$.next(name);
135
+ this._unitId = (_this$_snapshot$id2 = this._snapshot.id) !== null && _this$_snapshot$id2 !== void 0 ? _this$_snapshot$id2 : generateRandomId(6);
136
+ }
137
+ getRev() {
138
+ return 0;
139
+ }
140
+ incrementRev() {}
141
+ setRev(_rev) {}
142
+ getSnapshot() {
143
+ return this._snapshot;
144
+ }
145
+ getUnitId() {
146
+ return this._unitId;
147
+ }
148
+ getPages() {
149
+ var _this$_snapshot$body;
150
+ return (_this$_snapshot$body = this._snapshot.body) === null || _this$_snapshot$body === void 0 ? void 0 : _this$_snapshot$body.pages;
151
+ }
152
+ getPageOrder() {
153
+ var _this$_snapshot$body2;
154
+ return (_this$_snapshot$body2 = this._snapshot.body) === null || _this$_snapshot$body2 === void 0 ? void 0 : _this$_snapshot$body2.pageOrder;
155
+ }
156
+ getPage(pageId) {
157
+ const pages = this.getPages();
158
+ return pages === null || pages === void 0 ? void 0 : pages[pageId];
159
+ }
160
+ getElementsByPage(pageId) {
161
+ var _this$getPage;
162
+ return (_this$getPage = this.getPage(pageId)) === null || _this$getPage === void 0 ? void 0 : _this$getPage.pageElements;
163
+ }
164
+ getElement(pageId, elementId) {
165
+ var _this$getElementsByPa;
166
+ return (_this$getElementsByPa = this.getElementsByPage(pageId)) === null || _this$getElementsByPa === void 0 ? void 0 : _this$getElementsByPa[elementId];
167
+ }
168
+ getPageSize() {
169
+ return this._snapshot.pageSize;
170
+ }
171
+ getBlankPage() {
172
+ const id = generateRandomId(6);
173
+ return {
174
+ id,
175
+ pageType: PageType.SLIDE,
176
+ zIndex: 10,
177
+ title: id,
178
+ description: "",
179
+ pageBackgroundFill: { rgb: "rgb(255,255,255)" },
180
+ pageElements: {}
181
+ };
182
+ }
183
+ setActivePage(page) {
184
+ this._activePage$.next(page);
185
+ }
186
+ getActivePage() {
187
+ return this._activePage;
188
+ }
189
+ updatePage(pageId, page) {
190
+ if (!this._snapshot.body) return;
191
+ this._snapshot.body.pages[pageId] = page;
192
+ }
193
+ appendPage(page) {
194
+ var _activePage$id;
195
+ if (!this._snapshot.body) return;
196
+ this._snapshot.body.pages[page.id] = page;
197
+ const activePage = this._activePage;
198
+ const index = this._snapshot.body.pageOrder.indexOf((_activePage$id = activePage === null || activePage === void 0 ? void 0 : activePage.id) !== null && _activePage$id !== void 0 ? _activePage$id : "");
199
+ this._snapshot.body.pageOrder.splice(index + 1, 0, page.id);
200
+ }
201
+ };
202
+
203
+ //#endregion
204
+ //#region package.json
205
+ var name = "@univerjs/slides";
206
+ var version = "0.21.0";
207
+
208
+ //#endregion
209
+ //#region src/config/config.ts
210
+ /**
211
+ * Copyright 2023-present DreamNum Co., Ltd.
212
+ *
213
+ * Licensed under the Apache License, Version 2.0 (the "License");
214
+ * you may not use this file except in compliance with the License.
215
+ * You may obtain a copy of the License at
216
+ *
217
+ * http://www.apache.org/licenses/LICENSE-2.0
218
+ *
219
+ * Unless required by applicable law or agreed to in writing, software
220
+ * distributed under the License is distributed on an "AS IS" BASIS,
221
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
222
+ * See the License for the specific language governing permissions and
223
+ * limitations under the License.
224
+ */
225
+ const SLIDES_PLUGIN_CONFIG_KEY = "slides.config";
226
+ const configSymbol = Symbol(SLIDES_PLUGIN_CONFIG_KEY);
227
+ const defaultPluginConfig = {};
228
+
229
+ //#endregion
230
+ //#region \0@oxc-project+runtime@0.124.0/helpers/decorateParam.js
231
+ function __decorateParam(paramIndex, decorator) {
232
+ return function(target, key) {
233
+ decorator(target, key, paramIndex);
234
+ };
235
+ }
236
+
237
+ //#endregion
238
+ //#region \0@oxc-project+runtime@0.124.0/helpers/decorate.js
239
+ function __decorate(decorators, target, key, desc) {
240
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
241
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
242
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
243
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
244
+ }
245
+
246
+ //#endregion
247
+ //#region src/plugin.ts
248
+ let UniverSlidesPlugin = class UniverSlidesPlugin extends Plugin {
249
+ constructor(_config = defaultPluginConfig, _injector, _configService, _univerInstanceService) {
250
+ super();
251
+ this._config = _config;
252
+ this._injector = _injector;
253
+ this._configService = _configService;
254
+ this._univerInstanceService = _univerInstanceService;
255
+ _defineProperty(this, "_canvasEngine", null);
256
+ const { ...rest } = merge({}, defaultPluginConfig, this._config);
257
+ this._configService.setConfig(SLIDES_PLUGIN_CONFIG_KEY, rest);
258
+ this._initializeDependencies(this._injector);
259
+ }
260
+ onStarting() {
261
+ this._univerInstanceService.registerCtorForType(UniverInstanceType.UNIVER_SLIDE, SlideDataModel);
262
+ }
263
+ initialize() {
264
+ this.initCanvasEngine();
265
+ }
266
+ onReady() {}
267
+ getConfig() {
268
+ return this._config;
269
+ }
270
+ initCanvasEngine() {
271
+ this._canvasEngine = this._injector.get(IRenderingEngine);
272
+ }
273
+ onRendered() {
274
+ this.initialize();
275
+ }
276
+ getCanvasEngine() {
277
+ return this._canvasEngine;
278
+ }
279
+ _initializeDependencies(slideInjector) {
280
+ [].forEach((d) => {
281
+ slideInjector.add(d);
282
+ });
283
+ }
284
+ };
285
+ _defineProperty(UniverSlidesPlugin, "pluginName", "UNIVER_SLIDES_PLUGIN");
286
+ _defineProperty(UniverSlidesPlugin, "packageName", name);
287
+ _defineProperty(UniverSlidesPlugin, "version", version);
288
+ _defineProperty(UniverSlidesPlugin, "type", UniverInstanceType.UNIVER_SLIDE);
289
+ UniverSlidesPlugin = __decorate([
290
+ __decorateParam(1, Inject(Injector)),
291
+ __decorateParam(2, IConfigService),
292
+ __decorateParam(3, IUniverInstanceService)
293
+ ], UniverSlidesPlugin);
294
+
295
+ //#endregion
296
+ //#region src/types/enum/prst-geom-type.ts
297
+ /**
298
+ * Copyright 2023-present DreamNum Co., Ltd.
299
+ *
300
+ * Licensed under the Apache License, Version 2.0 (the "License");
301
+ * you may not use this file except in compliance with the License.
302
+ * You may obtain a copy of the License at
303
+ *
304
+ * http://www.apache.org/licenses/LICENSE-2.0
305
+ *
306
+ * Unless required by applicable law or agreed to in writing, software
307
+ * distributed under the License is distributed on an "AS IS" BASIS,
308
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
309
+ * See the License for the specific language governing permissions and
310
+ * limitations under the License.
311
+ */
312
+ let BasicShapes = /* @__PURE__ */ function(BasicShapes) {
313
+ BasicShapes["Line"] = "line";
314
+ BasicShapes["LineInv"] = "lineInv";
315
+ BasicShapes["Triangle"] = "triangle";
316
+ BasicShapes["RtTriangle"] = "rtTriangle";
317
+ BasicShapes["Rect"] = "rect";
318
+ BasicShapes["Diamond"] = "diamond";
319
+ BasicShapes["Parallelogram"] = "parallelogram";
320
+ BasicShapes["Trapezoid"] = "trapezoid";
321
+ BasicShapes["NonIsocelesTrapezoid"] = "nonIsocelesTrapezoid";
322
+ BasicShapes["Pentagon"] = "pentagon";
323
+ BasicShapes["Hexagon"] = "hexagon";
324
+ BasicShapes["Heptagon"] = "heptagon";
325
+ BasicShapes["Octagon"] = "octagon";
326
+ BasicShapes["Decagon"] = "decagon";
327
+ BasicShapes["Dodecagon"] = "dodecagon";
328
+ BasicShapes["Star4"] = "star4";
329
+ BasicShapes["Star5"] = "star5";
330
+ BasicShapes["Star6"] = "star6";
331
+ BasicShapes["Star7"] = "star7";
332
+ BasicShapes["Star8"] = "star8";
333
+ BasicShapes["Star10"] = "star10";
334
+ BasicShapes["Star12"] = "star12";
335
+ BasicShapes["Star16"] = "star16";
336
+ BasicShapes["Star24"] = "star24";
337
+ BasicShapes["Star32"] = "star32";
338
+ BasicShapes["RoundRect"] = "roundRect";
339
+ BasicShapes["Round1Rect"] = "round1Rect";
340
+ BasicShapes["Round2SameRect"] = "round2SameRect";
341
+ BasicShapes["Round2DiagRect"] = "round2DiagRect";
342
+ BasicShapes["Ellipse"] = "ellipse";
343
+ return BasicShapes;
344
+ }({});
345
+ let ArrowsAndMarkersShapes = /* @__PURE__ */ function(ArrowsAndMarkersShapes) {
346
+ ArrowsAndMarkersShapes["RightArrow"] = "rightArrow";
347
+ ArrowsAndMarkersShapes["LeftArrow"] = "leftArrow";
348
+ ArrowsAndMarkersShapes["UpArrow"] = "upArrow";
349
+ ArrowsAndMarkersShapes["DownArrow"] = "downArrow";
350
+ ArrowsAndMarkersShapes["LeftRightArrow"] = "leftRightArrow";
351
+ ArrowsAndMarkersShapes["UpDownArrow"] = "upDownArrow";
352
+ ArrowsAndMarkersShapes["QuadArrow"] = "quadArrow";
353
+ ArrowsAndMarkersShapes["LeftRightUpArrow"] = "leftRightUpArrow";
354
+ ArrowsAndMarkersShapes["BentArrow"] = "bentArrow";
355
+ ArrowsAndMarkersShapes["UturnArrow"] = "uturnArrow";
356
+ ArrowsAndMarkersShapes["CircularArrow"] = "circularArrow";
357
+ ArrowsAndMarkersShapes["NotchedRightArrow"] = "notchedRightArrow";
358
+ ArrowsAndMarkersShapes["HomePlate"] = "homePlate";
359
+ ArrowsAndMarkersShapes["Chevron"] = "chevron";
360
+ ArrowsAndMarkersShapes["LeftCircularArrow"] = "leftCircularArrow";
361
+ ArrowsAndMarkersShapes["LeftRightCircularArrow"] = "leftRightCircularArrow";
362
+ return ArrowsAndMarkersShapes;
363
+ }({});
364
+ let OtherShapes = /* @__PURE__ */ function(OtherShapes) {
365
+ OtherShapes["Plaque"] = "plaque";
366
+ OtherShapes["Can"] = "can";
367
+ OtherShapes["Cube"] = "cube";
368
+ OtherShapes["Bevel"] = "bevel";
369
+ OtherShapes["Donut"] = "donut";
370
+ OtherShapes["NoSmoking"] = "noSmoking";
371
+ OtherShapes["BlockArc"] = "blockArc";
372
+ OtherShapes["FoldedCorner"] = "foldedCorner";
373
+ return OtherShapes;
374
+ }({});
375
+ let SpecialShapes = /* @__PURE__ */ function(SpecialShapes) {
376
+ SpecialShapes["SmileyFace"] = "smileyFace";
377
+ SpecialShapes["Heart"] = "heart";
378
+ SpecialShapes["LightningBolt"] = "lightningBolt";
379
+ SpecialShapes["Sun"] = "sun";
380
+ SpecialShapes["Moon"] = "moon";
381
+ SpecialShapes["Cloud"] = "cloud";
382
+ SpecialShapes["Arc"] = "arc";
383
+ SpecialShapes["Backpack"] = "backpack";
384
+ SpecialShapes["Frame"] = "frame";
385
+ SpecialShapes["HalfFrame"] = "halfFrame";
386
+ SpecialShapes["Corner"] = "corner";
387
+ SpecialShapes["Chord"] = "chord";
388
+ SpecialShapes["Pie"] = "pie";
389
+ SpecialShapes["Teardrop"] = "teardrop";
390
+ SpecialShapes["WedgeRectCallout"] = "wedgeRectCallout";
391
+ SpecialShapes["WedgeRRectCallout"] = "wedgeRRectCallout";
392
+ SpecialShapes["WedgeEllipseCallout"] = "wedgeEllipseCallout";
393
+ SpecialShapes["CloudCallout"] = "cloudCallout";
394
+ SpecialShapes["BorderCallout1"] = "borderCallout1";
395
+ SpecialShapes["BorderCallout2"] = "borderCallout2";
396
+ SpecialShapes["BorderCallout3"] = "borderCallout3";
397
+ SpecialShapes["AccentCallout1"] = "accentCallout1";
398
+ SpecialShapes["AccentCallout2"] = "accentCallout2";
399
+ SpecialShapes["AccentCallout3"] = "accentCallout3";
400
+ SpecialShapes["Callout1"] = "callout1";
401
+ SpecialShapes["Callout2"] = "callout2";
402
+ SpecialShapes["Callout3"] = "callout3";
403
+ SpecialShapes["ActionButtonBackPrevious"] = "actionButtonBackPrevious";
404
+ SpecialShapes["ActionButtonEnd"] = "actionButtonEnd";
405
+ SpecialShapes["ActionButtonForwardNext"] = "actionButtonForwardNext";
406
+ SpecialShapes["ActionButtonHelp"] = "actionButtonHelp";
407
+ SpecialShapes["ActionButtonHome"] = "actionButtonHome";
408
+ SpecialShapes["ActionButtonInformation"] = "actionButtonInformation";
409
+ SpecialShapes["ActionButtonMovie"] = "actionButtonMovie";
410
+ SpecialShapes["ActionButtonReturn"] = "actionButtonReturn";
411
+ SpecialShapes["ActionButtonSound"] = "actionButtonSound";
412
+ return SpecialShapes;
413
+ }({});
414
+
415
+ //#endregion
416
+ //#region src/views/render/adaptor.ts
417
+ var ObjectAdaptor = class {
418
+ constructor() {
419
+ _defineProperty(this, "zIndex", 0);
420
+ _defineProperty(this, "viewKey", null);
421
+ }
422
+ check(type) {
423
+ if (type !== this.viewKey) return;
424
+ return this;
425
+ }
426
+ create(injector) {}
427
+ };
428
+ const CanvasObjectProviderRegistry = Registry.create();
429
+
430
+ //#endregion
431
+ //#region src/views/render/adaptors/docs-adaptor.ts
432
+ let DOCS_VIEW_KEY = /* @__PURE__ */ function(DOCS_VIEW_KEY) {
433
+ DOCS_VIEW_KEY["MAIN"] = "__DocsRender__";
434
+ DOCS_VIEW_KEY["SCENE_VIEWER"] = "__DocsViewer__";
435
+ DOCS_VIEW_KEY["SCENE"] = "__DocsScene__";
436
+ DOCS_VIEW_KEY["VIEWPORT"] = "__DocsViewPort_";
437
+ return DOCS_VIEW_KEY;
438
+ }({});
439
+ let DocsAdaptor = class DocsAdaptor extends ObjectAdaptor {
440
+ constructor(_localeService) {
441
+ super();
442
+ this._localeService = _localeService;
443
+ _defineProperty(this, "zIndex", 5);
444
+ _defineProperty(this, "viewKey", PageElementType.DOCUMENT);
445
+ _defineProperty(this, "_liquid", new Liquid());
446
+ }
447
+ check(type) {
448
+ if (type !== this.viewKey) return;
449
+ return this;
450
+ }
451
+ convert(pageElement, mainScene) {
452
+ var _documents$getSkeleto, _scene$getTransformer;
453
+ const { id, zIndex, left = 0, top = 0, width, height, angle, scaleX, scaleY, skewX, skewY, flipX, flipY, title, description, document: documentData } = pageElement;
454
+ if (documentData == null) return;
455
+ const docViewModel = new DocumentViewModel(new DocumentDataModel(documentData));
456
+ const documentSkeleton = DocumentSkeleton.create(docViewModel, this._localeService);
457
+ const documents = new Documents(DOCS_VIEW_KEY.MAIN, documentSkeleton);
458
+ documentSkeleton.calculate();
459
+ const sv = new SceneViewer(DOCS_VIEW_KEY.SCENE_VIEWER + id, {
460
+ top,
461
+ left,
462
+ width,
463
+ height,
464
+ zIndex,
465
+ angle,
466
+ scaleX,
467
+ scaleY,
468
+ skewX,
469
+ skewY,
470
+ flipX,
471
+ flipY
472
+ });
473
+ const scene = new Scene(DOCS_VIEW_KEY.SCENE + id, sv);
474
+ const viewMain = new Viewport(DOCS_VIEW_KEY.VIEWPORT + id, scene, {
475
+ left: 0,
476
+ top: 0,
477
+ bottom: 0,
478
+ right: 0,
479
+ explicitViewportWidthSet: false,
480
+ explicitViewportHeightSet: false,
481
+ isWheelPreventDefaultX: true
482
+ });
483
+ scene.attachControl();
484
+ scene.onMouseWheel$.subscribeEvent((evt, state) => {
485
+ const e = evt;
486
+ if (e.ctrlKey) {
487
+ const deltaFactor = Math.abs(e.deltaX);
488
+ let scrollNum = deltaFactor < 40 ? .2 : deltaFactor < 80 ? .4 : .2;
489
+ scrollNum *= e.deltaY > 0 ? -1 : 1;
490
+ if (scene.scaleX < 1) scrollNum /= 2;
491
+ if (scene.scaleX + scrollNum > 4) scene.scale(4, 4);
492
+ else if (scene.scaleX + scrollNum < .1) scene.scale(.1, .1);
493
+ else {
494
+ e.deltaY;
495
+ e.preventDefault();
496
+ }
497
+ } else viewMain.onMouseWheel(e, state);
498
+ });
499
+ new ScrollBar(viewMain, { mainScene });
500
+ scene.addObject(documents);
501
+ const size = documentSkeleton.getActualSize();
502
+ documents.resize(size.actualWidth, size.actualHeight);
503
+ scene.resize(size.actualWidth, size.actualHeight + 200);
504
+ (_documents$getSkeleto = documents.getSkeleton()) === null || _documents$getSkeleto === void 0 || _documents$getSkeleto.getPageSize();
505
+ documents.pageRender$.subscribe((config) => {
506
+ const { page, pageLeft, pageTop, ctx } = config;
507
+ const { width, height, marginBottom, marginLeft, marginRight, marginTop } = page;
508
+ ctx.save();
509
+ ctx.translate(pageLeft - .5, pageTop - .5);
510
+ ctx.restore();
511
+ });
512
+ const { left: docsLeft, top: docsTop } = documents;
513
+ const skeletonData = documentSkeleton.getSkeletonData();
514
+ if (skeletonData == null) return;
515
+ const { pages } = skeletonData;
516
+ const objectList = [];
517
+ const pageMarginCache = /* @__PURE__ */ new Map();
518
+ this._recalculateSizeBySkeleton(documents, scene, documentSkeleton);
519
+ for (let i = 0, len = pages.length; i < len; i++) {
520
+ const page = pages[i];
521
+ const { skeDrawings, marginLeft, marginTop, pageWidth, pageHeight } = page;
522
+ this._liquid.translatePagePadding(page);
523
+ skeDrawings.forEach((drawing) => {
524
+ const { aLeft, aTop, height, width, drawingOrigin } = drawing;
525
+ const { docTransform } = drawingOrigin;
526
+ const rect = new Image(drawing.drawingId, {
527
+ left: aLeft + docsLeft + this._liquid.x,
528
+ top: aTop + docsTop + this._liquid.y,
529
+ width,
530
+ height,
531
+ zIndex: 11
532
+ });
533
+ pageMarginCache.set(drawing.drawingId, {
534
+ marginLeft: this._liquid.x,
535
+ marginTop: this._liquid.y
536
+ });
537
+ objectList.push(rect);
538
+ });
539
+ this._liquid.translatePage(page, documents.pageLayoutType, documents.pageMarginLeft, documents.pageMarginTop);
540
+ }
541
+ scene.addObjects(objectList);
542
+ objectList.forEach((object) => {
543
+ scene.attachTransformerTo(object);
544
+ });
545
+ (_scene$getTransformer = scene.getTransformer()) === null || _scene$getTransformer === void 0 || _scene$getTransformer.changing$.subscribe((state) => {
546
+ const { objects } = state;
547
+ objects.forEach((object) => {
548
+ const { oKey, left, top, height, width } = object;
549
+ const cache = pageMarginCache.get(oKey);
550
+ const marginLeft = (cache === null || cache === void 0 ? void 0 : cache.marginLeft) || 0;
551
+ const marginTop = (cache === null || cache === void 0 ? void 0 : cache.marginTop) || 0;
552
+ documentSkeleton === null || documentSkeleton === void 0 || documentSkeleton.getViewModel().getDataModel().updateDrawing(oKey, {
553
+ left: left - docsLeft - marginLeft,
554
+ top: top - docsTop - marginTop,
555
+ height,
556
+ width
557
+ });
558
+ });
559
+ documentSkeleton === null || documentSkeleton === void 0 || documentSkeleton.calculate();
560
+ });
561
+ this._calculatePagePosition(documents, scene, viewMain);
562
+ return sv;
563
+ }
564
+ _recalculateSizeBySkeleton(docsComponent, scene, skeleton) {
565
+ var _skeleton$getSkeleton;
566
+ const pages = (_skeleton$getSkeleton = skeleton.getSkeletonData()) === null || _skeleton$getSkeleton === void 0 ? void 0 : _skeleton$getSkeleton.pages;
567
+ if (pages == null) return;
568
+ let width = 0;
569
+ let height = 0;
570
+ for (let i = 0, len = pages.length; i < len; i++) {
571
+ const { pageWidth, pageHeight } = pages[i];
572
+ if (docsComponent.pageLayoutType === PageLayoutType.VERTICAL) {
573
+ height += pageHeight;
574
+ height += docsComponent.pageMarginTop;
575
+ if (i === len - 1) height += docsComponent.pageMarginTop;
576
+ width = Math.max(width, pageWidth);
577
+ } else if (docsComponent.pageLayoutType === PageLayoutType.HORIZONTAL) {
578
+ width += pageWidth;
579
+ if (i !== len - 1) width += docsComponent.pageMarginLeft;
580
+ height = Math.max(height, pageHeight);
581
+ }
582
+ }
583
+ docsComponent.resize(width, height);
584
+ scene.resize(width, height);
585
+ }
586
+ _calculatePagePosition(docsComponent, scene, viewport, zoomRatio = 1) {
587
+ const parent = scene === null || scene === void 0 ? void 0 : scene.getParent();
588
+ const { width: docsWidth, height: docsHeight, pageMarginLeft, pageMarginTop } = docsComponent;
589
+ if (parent == null || docsWidth === Number.POSITIVE_INFINITY || docsHeight === Number.POSITIVE_INFINITY) return;
590
+ const { width: engineWidth, height: engineHeight } = parent;
591
+ let docsLeft = 0;
592
+ let docsTop = 0;
593
+ let sceneWidth = 0;
594
+ let sceneHeight = 0;
595
+ let scrollToX = Number.POSITIVE_INFINITY;
596
+ if (engineWidth > (docsWidth + pageMarginLeft * 2) * zoomRatio) {
597
+ docsLeft = engineWidth / 2 - docsWidth * zoomRatio / 2;
598
+ docsLeft /= zoomRatio;
599
+ sceneWidth = (engineWidth - pageMarginLeft * 2) / zoomRatio;
600
+ scrollToX = 0;
601
+ } else {
602
+ docsLeft = pageMarginLeft;
603
+ sceneWidth = docsWidth + pageMarginLeft * 2;
604
+ scrollToX = (sceneWidth - engineWidth / zoomRatio) / 2;
605
+ }
606
+ if (engineHeight > docsHeight) {
607
+ docsTop = engineHeight / 2 - docsHeight / 2;
608
+ sceneHeight = (engineHeight - pageMarginTop * 2) / zoomRatio;
609
+ } else {
610
+ docsTop = pageMarginTop;
611
+ sceneHeight = docsHeight + pageMarginTop * 2;
612
+ }
613
+ scene.resize(sceneWidth, sceneHeight + 200);
614
+ docsComponent.translate(docsLeft, docsTop);
615
+ if (scrollToX !== Number.POSITIVE_INFINITY && viewport != null) {
616
+ const actualX = viewport.transScroll2ViewportScrollValue(scrollToX, 0).x;
617
+ viewport.scrollToBarPos({ x: actualX });
618
+ }
619
+ return this;
620
+ }
621
+ };
622
+ DocsAdaptor = __decorate([__decorateParam(0, Inject(LocaleService))], DocsAdaptor);
623
+ var DocsAdaptorFactory = class {
624
+ constructor() {
625
+ _defineProperty(this, "zIndex", 5);
626
+ }
627
+ create(injector) {
628
+ return injector.createInstance(DocsAdaptor);
629
+ }
630
+ };
631
+ CanvasObjectProviderRegistry.add(new DocsAdaptorFactory());
632
+
633
+ //#endregion
634
+ //#region src/views/render/adaptors/image-adaptor.ts
635
+ var ImageAdaptor = class extends ObjectAdaptor {
636
+ constructor(..._args) {
637
+ super(..._args);
638
+ _defineProperty(this, "zIndex", 1);
639
+ _defineProperty(this, "viewKey", PageElementType.IMAGE);
640
+ }
641
+ check(type) {
642
+ if (type !== this.viewKey) return;
643
+ return this;
644
+ }
645
+ convert(pageElement) {
646
+ const { id, zIndex, left = 0, top = 0, width, height, angle, scaleX, scaleY, skewX, skewY, flipX, flipY, title, description, image = {} } = pageElement;
647
+ const { imageProperties, placeholder, link } = image;
648
+ return new Image(id, {
649
+ url: (imageProperties === null || imageProperties === void 0 ? void 0 : imageProperties.contentUrl) || "",
650
+ top,
651
+ left,
652
+ width,
653
+ height,
654
+ zIndex,
655
+ angle,
656
+ scaleX,
657
+ scaleY,
658
+ skewX,
659
+ skewY,
660
+ flipX,
661
+ flipY,
662
+ forceRender: true
663
+ });
664
+ }
665
+ };
666
+ var ImageAdaptorFactory = class {
667
+ constructor() {
668
+ _defineProperty(this, "zIndex", 4);
669
+ }
670
+ create(injector) {
671
+ return injector.createInstance(ImageAdaptor);
672
+ }
673
+ };
674
+ CanvasObjectProviderRegistry.add(new ImageAdaptorFactory());
675
+
676
+ //#endregion
677
+ //#region src/views/render/adaptors/rich-text-adaptor.ts
678
+ let RichTextAdaptor = class RichTextAdaptor extends ObjectAdaptor {
679
+ constructor(_localeService) {
680
+ super();
681
+ this._localeService = _localeService;
682
+ _defineProperty(this, "zIndex", 2);
683
+ _defineProperty(this, "viewKey", PageElementType.TEXT);
684
+ }
685
+ check(type) {
686
+ if (type !== this.viewKey) return;
687
+ return this;
688
+ }
689
+ convert(pageElement, _mainScene) {
690
+ const { id, zIndex, left = 0, top = 0, width, height, angle, scaleX, scaleY, skewX, skewY, flipX, flipY, title, description, richText = {} } = pageElement;
691
+ const { text, ff, fs, it, bl, ul, st, ol, bg, bd, cl, rich } = richText;
692
+ let config = {
693
+ top,
694
+ left,
695
+ width,
696
+ height,
697
+ zIndex,
698
+ angle,
699
+ scaleX,
700
+ scaleY,
701
+ skewX,
702
+ skewY,
703
+ flipX,
704
+ flipY,
705
+ forceRender: true
706
+ };
707
+ let isNotNull = false;
708
+ if (text != null) {
709
+ config = {
710
+ ...config,
711
+ text,
712
+ ff,
713
+ fs,
714
+ it,
715
+ bl,
716
+ ul,
717
+ st,
718
+ ol,
719
+ bg,
720
+ bd,
721
+ cl
722
+ };
723
+ isNotNull = true;
724
+ } else if (rich != null) {
725
+ config = {
726
+ ...config,
727
+ richText: rich
728
+ };
729
+ isNotNull = true;
730
+ }
731
+ if (isNotNull === false) return;
732
+ return new RichText(this._localeService, id, config);
733
+ }
734
+ };
735
+ RichTextAdaptor = __decorate([__decorateParam(0, Inject(LocaleService))], RichTextAdaptor);
736
+ var RichTextAdaptorFactory = class {
737
+ constructor() {
738
+ _defineProperty(this, "zIndex", 0);
739
+ }
740
+ create(injector) {
741
+ return injector.createInstance(RichTextAdaptor);
742
+ }
743
+ };
744
+ CanvasObjectProviderRegistry.add(new RichTextAdaptorFactory());
745
+
746
+ //#endregion
747
+ //#region src/views/render/adaptors/shape-adaptor.ts
748
+ var ShapeAdaptor = class extends ObjectAdaptor {
749
+ constructor(..._args) {
750
+ super(..._args);
751
+ _defineProperty(this, "zIndex", 2);
752
+ _defineProperty(this, "viewKey", PageElementType.SHAPE);
753
+ }
754
+ check(type) {
755
+ if (type !== this.viewKey) return;
756
+ return this;
757
+ }
758
+ convert(pageElement) {
759
+ const { id, zIndex, left = 0, top = 0, width, height, angle, scaleX, scaleY, skewX, skewY, flipX, flipY, title, description } = pageElement;
760
+ const { shapeType, text, shapeProperties, placeholder, link } = pageElement.shape || {};
761
+ const fill = shapeProperties == null ? "" : getColorStyle(shapeProperties.shapeBackgroundFill) || "rgba(255,255,255,1)";
762
+ const outline = shapeProperties === null || shapeProperties === void 0 ? void 0 : shapeProperties.outline;
763
+ const strokeStyle = {};
764
+ if (outline) {
765
+ const { outlineFill, weight } = outline;
766
+ strokeStyle.strokeWidth = weight;
767
+ strokeStyle.stroke = getColorStyle(outlineFill) || "rgba(0,0,0,1)";
768
+ }
769
+ if (shapeType === BasicShapes.Rect) return new Rect(id, {
770
+ fill,
771
+ top,
772
+ left,
773
+ width,
774
+ height,
775
+ zIndex,
776
+ angle,
777
+ scaleX,
778
+ scaleY,
779
+ skewX,
780
+ skewY,
781
+ flipX,
782
+ flipY,
783
+ forceRender: true,
784
+ ...strokeStyle
785
+ });
786
+ if (shapeType === BasicShapes.RoundRect) return new Rect(id, {
787
+ fill,
788
+ top,
789
+ left,
790
+ width,
791
+ height,
792
+ zIndex,
793
+ angle,
794
+ scaleX,
795
+ scaleY,
796
+ skewX,
797
+ skewY,
798
+ flipX,
799
+ flipY,
800
+ forceRender: true,
801
+ radius: (shapeProperties === null || shapeProperties === void 0 ? void 0 : shapeProperties.radius) || 0,
802
+ ...strokeStyle
803
+ });
804
+ if (shapeType === BasicShapes.Ellipse) {
805
+ console.warn(shapeProperties === null || shapeProperties === void 0 ? void 0 : shapeProperties.radius);
806
+ return new Circle(id, {
807
+ fill,
808
+ top,
809
+ left,
810
+ width,
811
+ height,
812
+ zIndex,
813
+ angle,
814
+ scaleX,
815
+ scaleY,
816
+ skewX,
817
+ skewY,
818
+ flipX,
819
+ flipY,
820
+ forceRender: true,
821
+ radius: (shapeProperties === null || shapeProperties === void 0 ? void 0 : shapeProperties.radius) || 0,
822
+ ...strokeStyle
823
+ });
824
+ }
825
+ }
826
+ };
827
+ var ShapeAdaptorFactory = class {
828
+ constructor() {
829
+ _defineProperty(this, "zIndex", 2);
830
+ }
831
+ create(injector) {
832
+ return injector.createInstance(ShapeAdaptor);
833
+ }
834
+ };
835
+ CanvasObjectProviderRegistry.add(new ShapeAdaptorFactory());
836
+
837
+ //#endregion
838
+ //#region src/views/render/object-provider.ts
839
+ let ObjectProvider = class ObjectProvider {
840
+ constructor(_injector) {
841
+ this._injector = _injector;
842
+ _defineProperty(this, "_adaptors", []);
843
+ this._adaptorLoader();
844
+ }
845
+ convertToRenderObjects(pageElements, mainScene) {
846
+ const pageKeys = Object.keys(pageElements);
847
+ const objects = [];
848
+ pageKeys.forEach((key) => {
849
+ const pageElement = pageElements[key];
850
+ const o = this._executor(pageElement, mainScene);
851
+ if (o != null) objects.push(o);
852
+ });
853
+ return objects;
854
+ }
855
+ convertToRenderObject(pageElement, mainScene) {
856
+ return this._executor(pageElement, mainScene);
857
+ }
858
+ _executor(pageElement, mainScene) {
859
+ const { id: pageElementId, type } = pageElement;
860
+ for (const adaptor of this._adaptors) {
861
+ var _adaptor$check;
862
+ const o = (_adaptor$check = adaptor.check(type)) === null || _adaptor$check === void 0 ? void 0 : _adaptor$check.convert(pageElement, mainScene);
863
+ if (o != null) return o;
864
+ }
865
+ }
866
+ _adaptorLoader() {
867
+ CanvasObjectProviderRegistry.getData().sort(sortRules).forEach((adaptorFactory) => {
868
+ this._adaptors.push(adaptorFactory.create(this._injector));
869
+ });
870
+ }
871
+ };
872
+ ObjectProvider = __decorate([__decorateParam(0, Inject(Injector))], ObjectProvider);
873
+
874
+ //#endregion
875
+ //#region src/views/render/adaptors/slide-adaptor.ts
876
+ let SLIDE_VIEW_KEY = /* @__PURE__ */ function(SLIDE_VIEW_KEY) {
877
+ SLIDE_VIEW_KEY["MAIN"] = "__SLIDERender__";
878
+ SLIDE_VIEW_KEY["SCENE_VIEWER"] = "__SLIDEViewer__";
879
+ SLIDE_VIEW_KEY["SCENE"] = "__SLIDEScene__";
880
+ SLIDE_VIEW_KEY["VIEWPORT"] = "__SLIDEViewPort_";
881
+ return SLIDE_VIEW_KEY;
882
+ }({});
883
+ let SlideAdaptor = class SlideAdaptor extends ObjectAdaptor {
884
+ constructor(_injector) {
885
+ super();
886
+ this._injector = _injector;
887
+ _defineProperty(this, "zIndex", 6);
888
+ _defineProperty(this, "viewKey", PageElementType.SLIDE);
889
+ _defineProperty(this, "_ObjectProvider", null);
890
+ }
891
+ check(type) {
892
+ if (type !== this.viewKey) return;
893
+ return this;
894
+ }
895
+ convert(pageElement, mainScene) {
896
+ const { id, zIndex, left = 0, top = 0, width, height, angle, scaleX, scaleY, skewX, skewY, flipX, flipY, title, description, slide: slideData } = pageElement;
897
+ if (slideData == null) return;
898
+ const model = new SlideDataModel(slideData);
899
+ const slideComponent = new Slide(SLIDE_VIEW_KEY.MAIN + id, {
900
+ top,
901
+ left,
902
+ width,
903
+ height,
904
+ zIndex,
905
+ angle,
906
+ scaleX,
907
+ scaleY,
908
+ skewX,
909
+ skewY,
910
+ flipX,
911
+ flipY,
912
+ forceRender: true
913
+ });
914
+ slideComponent.enableNav();
915
+ slideComponent.enableSelectedClipElement();
916
+ const pageOrder = model.getPageOrder();
917
+ const pages = model.getPages();
918
+ if (!pageOrder || !pages) return slideComponent;
919
+ this._ObjectProvider = new ObjectProvider(this._injector);
920
+ for (let i = 0, len = pageOrder.length; i < len; i++) {
921
+ const page = pages[pageOrder[i]];
922
+ const { id } = page;
923
+ slideComponent.addPageScene(this._createScene(id, slideComponent, page, mainScene, model));
924
+ }
925
+ slideComponent.activeFirstPage();
926
+ return slideComponent;
927
+ }
928
+ _createScene(pageId, parent, page, mainScene, model) {
929
+ var _this$_ObjectProvider;
930
+ const { width, height } = parent;
931
+ const scene = new Scene(pageId, parent, {
932
+ width,
933
+ height
934
+ });
935
+ new Viewport(`PageViewer_${pageId}`, scene, {
936
+ left: 0,
937
+ top: 0,
938
+ bottom: 0,
939
+ right: 0,
940
+ explicitViewportWidthSet: false,
941
+ explicitViewportHeightSet: false
942
+ }).closeClip();
943
+ const { pageElements, pageBackgroundFill } = page;
944
+ const objects = (_this$_ObjectProvider = this._ObjectProvider) === null || _this$_ObjectProvider === void 0 ? void 0 : _this$_ObjectProvider.convertToRenderObjects(pageElements, mainScene);
945
+ this._addBackgroundRect(scene, pageBackgroundFill, model);
946
+ scene.addObjects(objects);
947
+ objects === null || objects === void 0 || objects.forEach((object) => {
948
+ scene.attachTransformerTo(object);
949
+ });
950
+ return scene;
951
+ }
952
+ _addBackgroundRect(scene, fill, model) {
953
+ const { width: pageWidth = 0, height: pageHeight = 0 } = model.getPageSize();
954
+ const page = new Rect("canvas", {
955
+ left: 0,
956
+ top: 0,
957
+ width: pageWidth,
958
+ height: pageHeight,
959
+ strokeWidth: 1,
960
+ stroke: "rgba(198,198,198, 1)",
961
+ fill: getColorStyle(fill) || "rgba(255,255,255, 1)",
962
+ zIndex: 0,
963
+ evented: false
964
+ });
965
+ scene.addObject(page, 0);
966
+ }
967
+ };
968
+ SlideAdaptor = __decorate([__decorateParam(0, Inject(Injector))], SlideAdaptor);
969
+ var SlideAdaptorFactory = class {
970
+ constructor() {
971
+ _defineProperty(this, "zIndex", 6);
972
+ }
973
+ create(injector) {
974
+ return injector.createInstance(SlideAdaptor);
975
+ }
976
+ };
977
+ CanvasObjectProviderRegistry.add(new SlideAdaptorFactory());
978
+
979
+ //#endregion
980
+ //#region src/views/render/adaptors/spreadsheet-adaptor.ts
981
+ var SHEET_VIEW_KEY = /* @__PURE__ */ function(SHEET_VIEW_KEY) {
982
+ SHEET_VIEW_KEY["MAIN"] = "spreadInSlide";
983
+ SHEET_VIEW_KEY["SCENE"] = "spreadInSlideScene";
984
+ SHEET_VIEW_KEY["SCENE_VIEWER"] = "spreadInSlideSceneViewer";
985
+ SHEET_VIEW_KEY["ROW"] = "spreadInSlideRow";
986
+ SHEET_VIEW_KEY["COLUMN"] = "spreadInSlideColumn";
987
+ SHEET_VIEW_KEY["LEFT_TOP"] = "spreadInSlideLeftTop";
988
+ SHEET_VIEW_KEY["VIEW_MAIN"] = "spreadInSlideViewMain";
989
+ SHEET_VIEW_KEY["VIEW_TOP"] = "spreadInSlideViewTop";
990
+ SHEET_VIEW_KEY["VIEW_LEFT"] = "spreadInSlideViewLeft";
991
+ SHEET_VIEW_KEY["VIEW_LEFT_TOP"] = "spreadInSlideViewLeftTop";
992
+ return SHEET_VIEW_KEY;
993
+ }(SHEET_VIEW_KEY || {});
994
+ let SpreadsheetAdaptor = class SpreadsheetAdaptor extends ObjectAdaptor {
995
+ constructor(_localeService, _contextService, _configService, _injector) {
996
+ super();
997
+ this._localeService = _localeService;
998
+ this._contextService = _contextService;
999
+ this._configService = _configService;
1000
+ this._injector = _injector;
1001
+ _defineProperty(this, "zIndex", 4);
1002
+ _defineProperty(this, "viewKey", PageElementType.SPREADSHEET);
1003
+ }
1004
+ check(type) {
1005
+ if (type !== this.viewKey) return;
1006
+ return this;
1007
+ }
1008
+ convert(pageElement, mainScene) {
1009
+ const { id, zIndex, left = 0, top = 0, width, height, angle, scaleX, scaleY, skewX, skewY, flipX, flipY, spreadsheet: spreadsheetModel } = pageElement;
1010
+ if (spreadsheetModel == null) return;
1011
+ const { worksheet, styles } = spreadsheetModel;
1012
+ const styleModel = new Styles(styles);
1013
+ const spreadsheetSkeleton = new SpreadsheetSkeleton(new Worksheet(id, worksheet, styleModel), styleModel, this._localeService, this._contextService, this._configService, this._injector);
1014
+ const { rowTotalHeight, columnTotalWidth, rowHeaderWidth, columnHeaderHeight } = spreadsheetSkeleton;
1015
+ const allWidth = columnTotalWidth + worksheet.rowHeader.width || 0;
1016
+ const allHeight = rowTotalHeight + worksheet.columnHeader.height || 0;
1017
+ const sv = new SceneViewer(SHEET_VIEW_KEY.SCENE_VIEWER + id, {
1018
+ top,
1019
+ left,
1020
+ width,
1021
+ height,
1022
+ zIndex,
1023
+ angle,
1024
+ scaleX,
1025
+ scaleY,
1026
+ skewX,
1027
+ skewY,
1028
+ flipX,
1029
+ flipY,
1030
+ forceRender: true
1031
+ });
1032
+ const scene = new Scene(SHEET_VIEW_KEY.SCENE + id, sv, {
1033
+ width: allWidth,
1034
+ height: allHeight
1035
+ });
1036
+ this._updateViewport(id, rowHeaderWidth, columnHeaderHeight, scene, mainScene);
1037
+ const spreadsheet = new Spreadsheet("testSheetViewer", spreadsheetSkeleton, false);
1038
+ const spreadsheetRowHeader = new SpreadsheetRowHeader(SHEET_VIEW_KEY.ROW, spreadsheetSkeleton);
1039
+ const spreadsheetColumnHeader = new SpreadsheetColumnHeader(SHEET_VIEW_KEY.COLUMN, spreadsheetSkeleton);
1040
+ const SpreadsheetLeftTopPlaceholder = new Rect(SHEET_VIEW_KEY.LEFT_TOP, {
1041
+ zIndex: 2,
1042
+ left: -1,
1043
+ top: -1,
1044
+ width: rowHeaderWidth,
1045
+ height: columnHeaderHeight,
1046
+ fill: getColor([
1047
+ 248,
1048
+ 249,
1049
+ 250
1050
+ ]),
1051
+ stroke: getColor([
1052
+ 217,
1053
+ 217,
1054
+ 217
1055
+ ]),
1056
+ strokeWidth: 1
1057
+ });
1058
+ spreadsheet.zIndex = 10;
1059
+ scene.addObjects([spreadsheet], 1);
1060
+ scene.addObjects([
1061
+ spreadsheetRowHeader,
1062
+ spreadsheetColumnHeader,
1063
+ SpreadsheetLeftTopPlaceholder
1064
+ ], 2);
1065
+ return sv;
1066
+ }
1067
+ _updateViewport(id, rowHeaderWidth, columnHeaderHeight, scene, mainScene) {
1068
+ if (mainScene == null) return;
1069
+ const rowHeaderWidthScale = rowHeaderWidth * scene.scaleX;
1070
+ const columnHeaderHeightScale = columnHeaderHeight * scene.scaleY;
1071
+ const viewMain = new Viewport(SHEET_VIEW_KEY.VIEW_MAIN + id, scene, {
1072
+ left: rowHeaderWidthScale,
1073
+ top: columnHeaderHeightScale,
1074
+ bottom: 0,
1075
+ right: 0,
1076
+ explicitViewportWidthSet: false,
1077
+ explicitViewportHeightSet: false,
1078
+ isWheelPreventDefaultX: true
1079
+ });
1080
+ const viewTop = new Viewport(SHEET_VIEW_KEY.VIEW_TOP + id, scene, {
1081
+ left: rowHeaderWidthScale,
1082
+ height: columnHeaderHeightScale,
1083
+ top: 0,
1084
+ right: 0,
1085
+ explicitViewportWidthSet: false,
1086
+ isWheelPreventDefaultX: true
1087
+ });
1088
+ const viewLeft = new Viewport(SHEET_VIEW_KEY.VIEW_LEFT + id, scene, {
1089
+ left: 0,
1090
+ bottom: 0,
1091
+ top: columnHeaderHeightScale,
1092
+ width: rowHeaderWidthScale,
1093
+ explicitViewportHeightSet: false,
1094
+ isWheelPreventDefaultX: true
1095
+ });
1096
+ new Viewport(SHEET_VIEW_KEY.VIEW_LEFT_TOP + id, scene, {
1097
+ left: 0,
1098
+ top: 0,
1099
+ width: rowHeaderWidthScale,
1100
+ height: columnHeaderHeightScale,
1101
+ isWheelPreventDefaultX: true
1102
+ });
1103
+ viewMain.onScrollAfter$.subscribeEvent((param) => {
1104
+ const { scrollX, scrollY, viewportScrollX, viewportScrollY } = param;
1105
+ viewTop.updateScrollVal({
1106
+ scrollX,
1107
+ viewportScrollX
1108
+ });
1109
+ viewLeft.updateScrollVal({
1110
+ scrollY,
1111
+ viewportScrollY
1112
+ });
1113
+ });
1114
+ scene.attachControl();
1115
+ new ScrollBar(viewMain, { mainScene });
1116
+ scene.onMouseWheel$.subscribeEvent((evt, state) => {
1117
+ const e = evt;
1118
+ if (e.ctrlKey) {
1119
+ const deltaFactor = Math.abs(e.deltaX);
1120
+ let scrollNum = deltaFactor < 40 ? .05 : deltaFactor < 80 ? .02 : .01;
1121
+ scrollNum *= e.deltaY > 0 ? -1 : 1;
1122
+ if (scene.scaleX < 1) scrollNum /= 2;
1123
+ if (scene.scaleX + scrollNum > 4) scene.scale(4, 4);
1124
+ else if (scene.scaleX + scrollNum < .1) scene.scale(.1, .1);
1125
+ else {
1126
+ scene.scaleBy(scrollNum, scrollNum);
1127
+ e.preventDefault();
1128
+ }
1129
+ } else viewMain.onMouseWheel(e, state);
1130
+ });
1131
+ }
1132
+ };
1133
+ SpreadsheetAdaptor = __decorate([
1134
+ __decorateParam(0, Inject(LocaleService)),
1135
+ __decorateParam(1, IContextService),
1136
+ __decorateParam(2, IConfigService),
1137
+ __decorateParam(3, Inject(Injector))
1138
+ ], SpreadsheetAdaptor);
1139
+ var SpreadsheetAdaptorFactory = class {
1140
+ constructor() {
1141
+ _defineProperty(this, "zIndex", 4);
1142
+ }
1143
+ create(injector) {
1144
+ return injector.createInstance(SpreadsheetAdaptor);
1145
+ }
1146
+ };
1147
+ CanvasObjectProviderRegistry.add(new SpreadsheetAdaptorFactory());
1148
+
1149
+ //#endregion
1150
+ //#region src/views/render/index.ts
1151
+ let SLIDE_KEY = /* @__PURE__ */ function(SLIDE_KEY) {
1152
+ SLIDE_KEY["COMPONENT"] = "__slideRender__";
1153
+ SLIDE_KEY["SCENE"] = "__mainScene__";
1154
+ SLIDE_KEY["VIEW"] = "__mainView__";
1155
+ return SLIDE_KEY;
1156
+ }({});
1157
+
1158
+ //#endregion
1159
+ export { ArrowsAndMarkersShapes, BasicShapes, CanvasObjectProviderRegistry, DEFAULT_SLIDE, ObjectAdaptor, ObjectProvider, OtherShapes, PageElementType, PageType, RelativeSlideLink, SLIDE_KEY, SLIDE_VIEW_KEY, SlideDataModel, SpecialShapes, UniverSlidesPlugin };