@univerjs/slides 0.16.1 → 0.17.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 +1 -1
- package/lib/es/index.js +205 -204
- package/lib/index.js +205 -204
- package/lib/types/index.d.ts +1 -1
- package/lib/types/plugin.d.ts +2 -0
- package/lib/types/views/render/adaptors/docs-adaptor.d.ts +1 -1
- package/lib/types/views/render/adaptors/slide-adaptor.d.ts +1 -1
- package/lib/types/views/render/object-provider.d.ts +0 -15
- package/lib/umd/index.js +1 -1
- package/package.json +4 -4
- /package/lib/types/{controllers/config.schema.d.ts → config/config.d.ts} +0 -0
package/lib/types/index.d.ts
CHANGED
|
@@ -13,6 +13,6 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export type { IUniverSlidesConfig } from './
|
|
16
|
+
export type { IUniverSlidesConfig } from './config/config';
|
|
17
17
|
export { UniverSlidesPlugin } from './plugin';
|
|
18
18
|
export * from './views/render';
|
package/lib/types/plugin.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export declare class UniverSlidesPlugin extends Plugin {
|
|
|
8
8
|
private readonly _renderManagerService;
|
|
9
9
|
private readonly _configService;
|
|
10
10
|
static pluginName: string;
|
|
11
|
+
static packageName: string;
|
|
12
|
+
static version: string;
|
|
11
13
|
static type: UniverInstanceType;
|
|
12
14
|
private _canvasEngine;
|
|
13
15
|
constructor(_config: Partial<IUniverSlidesConfig> | undefined, _injector: Injector, _renderManagerService: IRenderManagerService, _configService: IConfigService);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Injector, IPageElement, LocaleService, PageElementType } from '@univerjs/core';
|
|
2
2
|
import { Scene, SceneViewer } from '@univerjs/engine-render';
|
|
3
3
|
import { ObjectAdaptor } from '../adaptor';
|
|
4
4
|
export declare enum DOCS_VIEW_KEY {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Injector, PageElementType
|
|
1
|
+
import { IPageElement, Injector, PageElementType } from '@univerjs/core';
|
|
2
2
|
import { Scene, Slide } from '@univerjs/engine-render';
|
|
3
3
|
import { ObjectAdaptor } from '../adaptor';
|
|
4
4
|
export declare enum SLIDE_VIEW_KEY {
|
|
@@ -1,20 +1,5 @@
|
|
|
1
1
|
import { IPageElement, Injector } from '@univerjs/core';
|
|
2
2
|
import { BaseObject, Scene } from '@univerjs/engine-render';
|
|
3
|
-
/**
|
|
4
|
-
* Copyright 2023-present DreamNum Co., Ltd.
|
|
5
|
-
*
|
|
6
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
* you may not use this file except in compliance with the License.
|
|
8
|
-
* You may obtain a copy of the License at
|
|
9
|
-
*
|
|
10
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
*
|
|
12
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
* See the License for the specific language governing permissions and
|
|
16
|
-
* limitations under the License.
|
|
17
|
-
*/
|
|
18
3
|
import './adaptors';
|
|
19
4
|
export declare class ObjectProvider {
|
|
20
5
|
private readonly _injector;
|
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(S,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("@univerjs/core"),require("@univerjs/engine-render")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render"],c):(S=typeof globalThis<"u"?globalThis:S||self,c(S.UniverSlides={},S.UniverCore,S.UniverEngineRender))})(this,(function(S,c,l){"use strict";var Ce=Object.defineProperty;var Ne=(S,c,l)=>c in S?Ce(S,c,{enumerable:!0,configurable:!0,writable:!0,value:l}):S[c]=l;var g=(S,c,l)=>Ne(S,typeof c!="symbol"?c+"":c,l);var B;const le="slides.config",re={};var oe=Object.getOwnPropertyDescriptor,de=(n,e,i,r)=>{for(var t=r>1?void 0:r?oe(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(t=s(t)||t);return t},R=(n,e)=>(i,r)=>e(i,r,n);const he="slides";S.UniverSlidesPlugin=(B=class extends c.Plugin{constructor(i=re,r,t,a){super();g(this,"_canvasEngine",null);this._config=i,this._injector=r,this._renderManagerService=t,this._configService=a;const{...s}=c.merge({},re,this._config);this._configService.setConfig(le,s),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}onReady(){}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(l.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}_initializeDependencies(i){[].forEach(t=>{i.add(t)})}},g(B,"pluginName",he),g(B,"type",c.UniverInstanceType.UNIVER_SLIDE),B),S.UniverSlidesPlugin=de([R(1,c.Inject(c.Injector)),R(2,l.IRenderManagerService),R(3,c.IConfigService)],S.UniverSlidesPlugin);class H{constructor(){g(this,"zIndex",0);g(this,"viewKey",null)}check(e){if(e===this.viewKey)return this}create(e){}}const C=c.Registry.create();var pe=Object.getOwnPropertyDescriptor,ue=(n,e,i,r)=>{for(var t=r>1?void 0:r?pe(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(t=s(t)||t);return t},ge=(n,e)=>(i,r)=>e(i,r,n);let G=class extends H{constructor(e){super();g(this,"zIndex",5);g(this,"viewKey",c.PageElementType.DOCUMENT);g(this,"_liquid",new l.Liquid);this._localeService=e}check(e){if(e===this.viewKey)return this}convert(e,i){var ne,ce;const{id:r,zIndex:t,left:a=0,top:s=0,width:o,height:d,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:u,flipX:_,flipY:w,title:D,description:X,document:O}=e;if(O==null)return;const b=new c.DocumentDataModel(O),h=new l.DocumentViewModel(b),T=l.DocumentSkeleton.create(h,this._localeService),P=new l.Documents("__DocsRender__",T);T.calculate();const x=new l.SceneViewer("__DocsViewer__"+r,{top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:u,flipX:_,flipY:w}),v=new l.Scene("__DocsScene__"+r,x),j=new l.Viewport("__DocsViewPort_"+r,v,{left:0,top:0,bottom:0,right:0,explicitViewportWidthSet:!1,explicitViewportHeightSet:!1,isWheelPreventDefaultX:!0});v.attachControl(),v.onMouseWheel$.subscribeEvent((M,F)=>{const E=M;if(E.ctrlKey){const z=Math.abs(E.deltaX);let L=z<40?.2:z<80?.4:.2;L*=E.deltaY>0?-1:1,v.scaleX<1&&(L/=2),v.scaleX+L>4?v.scale(4,4):v.scaleX+L<.1?v.scale(.1,.1):(E.deltaY>0,E.preventDefault())}else j.onMouseWheel(E,F)}),new l.ScrollBar(j,{mainScene:i}),v.addObject(P);const m=T.getActualSize();P.resize(m.actualWidth,m.actualHeight),v.resize(m.actualWidth,m.actualHeight+200),(ne=P.getSkeleton())==null||ne.getPageSize(),P.pageRender$.subscribe(M=>{const{page:F,pageLeft:E,pageTop:z,ctx:L}=M,{width:ee,height:te,marginBottom:ie,marginLeft:k,marginRight:U,marginTop:q}=F;L.save(),L.translate(E-.5,z-.5),L.restore()});const{left:A,top:N}=P,Y=T.getSkeletonData();if(Y==null)return;const{pages:$}=Y,V=[],W=new Map;this._recalculateSizeBySkeleton(P,v,T);for(let M=0,F=$.length;M<F;M++){const E=$[M],{skeDrawings:z,marginLeft:L,marginTop:ee,pageWidth:te,pageHeight:ie}=E;this._liquid.translatePagePadding(E),z.forEach(k=>{const{aLeft:U,aTop:q,height:ke,width:Xe,drawingOrigin:Ae}=k,{docTransform:We}=Ae,ze=new l.Image(k.drawingId,{left:U+A+this._liquid.x,top:q+N+this._liquid.y,width:Xe,height:ke,zIndex:11});W.set(k.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),V.push(ze)}),this._liquid.translatePage(E,P.pageLayoutType,P.pageMarginLeft,P.pageMarginTop)}return v.addObjects(V),V.forEach(M=>{v.attachTransformerTo(M)}),(ce=v.getTransformer())==null||ce.changing$.subscribe(M=>{const{objects:F}=M;F.forEach(E=>{const{oKey:z,left:L,top:ee,height:te,width:ie}=E,k=W.get(z),U=(k==null?void 0:k.marginLeft)||0,q=(k==null?void 0:k.marginTop)||0;T==null||T.getViewModel().getDataModel().updateDrawing(z,{left:L-A-U,top:ee-N-q,height:te,width:ie})}),T==null||T.calculate()}),this._calculatePagePosition(P,v,j),x}_recalculateSizeBySkeleton(e,i,r){var o;const t=(o=r.getSkeletonData())==null?void 0:o.pages;if(t==null)return;let a=0,s=0;for(let d=0,I=t.length;d<I;d++){const y=t[d],{pageWidth:f,pageHeight:p}=y;e.pageLayoutType===l.PageLayoutType.VERTICAL?(s+=p,s+=e.pageMarginTop,d===I-1&&(s+=e.pageMarginTop),a=Math.max(a,f)):e.pageLayoutType===l.PageLayoutType.HORIZONTAL&&(a+=f,d!==I-1&&(a+=e.pageMarginLeft),s=Math.max(s,p))}e.resize(a,s),i.resize(a,s)}_calculatePagePosition(e,i,r,t=1){const a=i==null?void 0:i.getParent(),{width:s,height:o,pageMarginLeft:d,pageMarginTop:I}=e;if(a==null||s===Number.POSITIVE_INFINITY||o===Number.POSITIVE_INFINITY)return;const{width:y,height:f}=a;let p=0,u=0,_=0,w=0,D=Number.POSITIVE_INFINITY;if(y>(s+d*2)*t?(p=y/2-s*t/2,p/=t,_=(y-d*2)/t,D=0):(p=d,_=s+d*2,D=(_-y/t)/2),f>o?(u=f/2-o/2,w=(f-I*2)/t):(u=I,w=o+I*2),i.resize(_,w+200),e.translate(p,u),D!==Number.POSITIVE_INFINITY&&r!=null){const X=r.transScroll2ViewportScrollValue(D,0).x;r.scrollToBarPos({x:X})}return this}};G=ue([ge(0,c.Inject(c.LocaleService))],G);class fe{constructor(){g(this,"zIndex",5)}create(e){return e.createInstance(G)}}C.add(new fe);class we extends H{constructor(){super(...arguments);g(this,"zIndex",1);g(this,"viewKey",c.PageElementType.IMAGE)}check(i){if(i===this.viewKey)return this}convert(i){const{id:r,zIndex:t,left:a=0,top:s=0,width:o,height:d,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:u,flipX:_,flipY:w,title:D,description:X,image:O={}}=i,{imageProperties:b,placeholder:h,link:T}=O,P=(b==null?void 0:b.contentUrl)||"";return new l.Image(r,{url:P,top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:u,flipX:_,flipY:w,forceRender:!0})}}class _e{constructor(){g(this,"zIndex",4)}create(e){return e.createInstance(we)}}C.add(new _e);var ve=Object.getOwnPropertyDescriptor,Se=(n,e,i,r)=>{for(var t=r>1?void 0:r?ve(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(t=s(t)||t);return t},Ie=(n,e)=>(i,r)=>e(i,r,n);let Z=class extends H{constructor(e){super();g(this,"zIndex",2);g(this,"viewKey",c.PageElementType.TEXT);this._localeService=e}check(e){if(e===this.viewKey)return this}convert(e,i){const{id:r,zIndex:t,left:a=0,top:s=0,width:o,height:d,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:u,flipX:_,flipY:w,title:D,description:X,richText:O={}}=e,{text:b,ff:h,fs:T,it:P,bl:x,ul:v,st:j,ol:m,bg:A,bd:N,cl:Y,rich:$}=O;let V={top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:u,flipX:_,flipY:w,forceRender:!0},W=!1;if(b!=null?(V={...V,text:b,ff:h,fs:T,it:P,bl:x,ul:v,st:j,ol:m,bg:A,bd:N,cl:Y},W=!0):$!=null&&(V={...V,richText:$},W=!0),W!==!1)return new l.RichText(this._localeService,r,V)}};Z=Se([Ie(0,c.Inject(c.LocaleService))],Z);class ye{constructor(){g(this,"zIndex",0)}create(e){return e.createInstance(Z)}}C.add(new ye);class Te extends H{constructor(){super(...arguments);g(this,"zIndex",2);g(this,"viewKey",c.PageElementType.SHAPE)}check(i){if(i===this.viewKey)return this}convert(i){const{id:r,zIndex:t,left:a=0,top:s=0,width:o,height:d,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:u,flipX:_,flipY:w,title:D,description:X}=i,{shapeType:O,text:b,shapeProperties:h,placeholder:T,link:P}=i.shape||{},x=h==null?"":c.getColorStyle(h.shapeBackgroundFill)||"rgba(255,255,255,1)",v=h==null?void 0:h.outline,j={};if(v){const{outlineFill:m,weight:A}=v;j.strokeWidth=A,j.stroke=c.getColorStyle(m)||"rgba(0,0,0,1)"}if(O===c.BasicShapes.Rect)return new l.Rect(r,{fill:x,top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:u,flipX:_,flipY:w,forceRender:!0,...j});if(O===c.BasicShapes.RoundRect){const m=(h==null?void 0:h.radius)||0;return new l.Rect(r,{fill:x,top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:u,flipX:_,flipY:w,forceRender:!0,radius:m,...j})}if(O===c.BasicShapes.Ellipse){console.warn(h==null?void 0:h.radius);const m=(h==null?void 0:h.radius)||0;return new l.Circle(r,{fill:x,top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:u,flipX:_,flipY:w,forceRender:!0,radius:m,...j})}}}class Pe{constructor(){g(this,"zIndex",2)}create(e){return e.createInstance(Te)}}C.add(new Pe);var be=Object.getOwnPropertyDescriptor,je=(n,e,i,r)=>{for(var t=r>1?void 0:r?be(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(t=s(t)||t);return t},me=(n,e)=>(i,r)=>e(i,r,n);S.ObjectProvider=class{constructor(e){g(this,"_adaptors",[]);this._injector=e,this._adaptorLoader()}convertToRenderObjects(e,i){const r=Object.keys(e),t=[];return r.forEach(a=>{const s=e[a],o=this._executor(s,i);o!=null&&t.push(o)}),t}convertToRenderObject(e,i){return this._executor(e,i)}_executor(e,i){var a;const{id:r,type:t}=e;for(const s of this._adaptors){const o=(a=s.check(t))==null?void 0:a.convert(e,i);if(o!=null)return o}}_adaptorLoader(){C.getData().sort(c.sortRules).forEach(e=>{this._adaptors.push(e.create(this._injector))})}},S.ObjectProvider=je([me(0,c.Inject(c.Injector))],S.ObjectProvider);var Oe=Object.getOwnPropertyDescriptor,xe=(n,e,i,r)=>{for(var t=r>1?void 0:r?Oe(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(t=s(t)||t);return t},Ee=(n,e)=>(i,r)=>e(i,r,n),ae=(n=>(n.MAIN="__SLIDERender__",n.SCENE_VIEWER="__SLIDEViewer__",n.SCENE="__SLIDEScene__",n.VIEWPORT="__SLIDEViewPort_",n))(ae||{});let J=class extends H{constructor(e){super();g(this,"zIndex",6);g(this,"viewKey",c.PageElementType.SLIDE);g(this,"_ObjectProvider",null);this._injector=e}check(e){if(e===this.viewKey)return this}convert(e,i){const{id:r,zIndex:t,left:a=0,top:s=0,width:o,height:d,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:u,flipX:_,flipY:w,title:D,description:X,slide:O}=e;if(O==null)return;const b=new c.SlideDataModel(O),h=new l.Slide("__SLIDERender__"+r,{top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:u,flipX:_,flipY:w,forceRender:!0});h.enableNav(),h.enableSelectedClipElement();const T=b.getPageOrder(),P=b.getPages();if(!T||!P)return h;this._ObjectProvider=new S.ObjectProvider(this._injector);for(let x=0,v=T.length;x<v;x++){const j=P[T[x]],{id:m}=j;h.addPageScene(this._createScene(m,h,j,i,b))}return h.activeFirstPage(),h}_createScene(e,i,r,t,a){var u;const{width:s,height:o}=i,d=new l.Scene(e,i,{width:s,height:o});new l.Viewport(`PageViewer_${e}`,d,{left:0,top:0,bottom:0,right:0,explicitViewportWidthSet:!1,explicitViewportHeightSet:!1}).closeClip();const{pageElements:y,pageBackgroundFill:f}=r,p=(u=this._ObjectProvider)==null?void 0:u.convertToRenderObjects(y,t);return this._addBackgroundRect(d,f,a),d.addObjects(p),p==null||p.forEach(_=>{d.attachTransformerTo(_)}),d}_addBackgroundRect(e,i,r){const t=r.getPageSize(),{width:a=0,height:s=0}=t,o=new l.Rect("canvas",{left:0,top:0,width:a,height:s,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:c.getColorStyle(i)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});e.addObject(o,0)}};J=xe([Ee(0,c.Inject(c.Injector))],J);class De{constructor(){g(this,"zIndex",6)}create(e){return e.createInstance(J)}}C.add(new De);var Ve=Object.getOwnPropertyDescriptor,Me=(n,e,i,r)=>{for(var t=r>1?void 0:r?Ve(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(t=s(t)||t);return t},K=(n,e)=>(i,r)=>e(i,r,n);let Q=class extends H{constructor(e,i,r,t){super();g(this,"zIndex",4);g(this,"viewKey",c.PageElementType.SPREADSHEET);this._localeService=e,this._contextService=i,this._configService=r,this._injector=t}check(e){if(e===this.viewKey)return this}convert(e,i){const{id:r,zIndex:t,left:a=0,top:s=0,width:o,height:d,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:u,flipX:_,flipY:w,spreadsheet:D}=e;if(D==null)return;const{worksheet:X,styles:O}=D,b=new c.Styles(O),h=new l.SpreadsheetSkeleton(new c.Worksheet(r,X,b),b,this._localeService,this._contextService,this._configService,this._injector),{rowTotalHeight:T,columnTotalWidth:P,rowHeaderWidth:x,columnHeaderHeight:v}=h,j=P+X.rowHeader.width||0,m=T+X.columnHeader.height||0,A=new l.SceneViewer("spreadInSlideSceneViewer"+r,{top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:u,flipX:_,flipY:w,forceRender:!0}),N=new l.Scene("spreadInSlideScene"+r,A,{width:j,height:m});this._updateViewport(r,x,v,N,i);const Y=new l.Spreadsheet("testSheetViewer",h,!1),$=new l.SpreadsheetRowHeader("spreadInSlideRow",h),V=new l.SpreadsheetColumnHeader("spreadInSlideColumn",h),W=new l.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:x,height:v,fill:l.getColor([248,249,250]),stroke:l.getColor([217,217,217]),strokeWidth:1});return Y.zIndex=10,N.addObjects([Y],1),N.addObjects([$,V,W],2),A}_updateViewport(e,i,r,t,a){if(a==null)return;const s=i*t.scaleX,o=r*t.scaleY,d=new l.Viewport("spreadInSlideViewMain"+e,t,{left:s,top:o,bottom:0,right:0,explicitViewportWidthSet:!1,explicitViewportHeightSet:!1,isWheelPreventDefaultX:!0}),I=new l.Viewport("spreadInSlideViewTop"+e,t,{left:s,height:o,top:0,right:0,explicitViewportWidthSet:!1,isWheelPreventDefaultX:!0}),y=new l.Viewport("spreadInSlideViewLeft"+e,t,{left:0,bottom:0,top:o,width:s,explicitViewportHeightSet:!1,isWheelPreventDefaultX:!0});new l.Viewport("spreadInSlideViewLeftTop"+e,t,{left:0,top:0,width:s,height:o,isWheelPreventDefaultX:!0}),d.onScrollAfter$.subscribeEvent(f=>{const{scrollX:p,scrollY:u,viewportScrollX:_,viewportScrollY:w}=f;I.updateScrollVal({scrollX:p,viewportScrollX:_}),y.updateScrollVal({scrollY:u,viewportScrollY:w})}),t.attachControl(),new l.ScrollBar(d,{mainScene:a}),t.onMouseWheel$.subscribeEvent((f,p)=>{const u=f;if(u.ctrlKey){const _=Math.abs(u.deltaX);let w=_<40?.05:_<80?.02:.01;w*=u.deltaY>0?-1:1,t.scaleX<1&&(w/=2),t.scaleX+w>4?t.scale(4,4):t.scaleX+w<.1?t.scale(.1,.1):(t.scaleBy(w,w),u.preventDefault())}else d.onMouseWheel(u,p)})}};Q=Me([K(0,c.Inject(c.LocaleService)),K(1,c.IContextService),K(2,c.IConfigService),K(3,c.Inject(c.Injector))],Q);class Le{constructor(){g(this,"zIndex",4)}create(e){return e.createInstance(Q)}}C.add(new Le);var se=(n=>(n.COMPONENT="__slideRender__",n.SCENE="__mainScene__",n.VIEW="__mainView__",n))(se||{});S.CanvasObjectProviderRegistry=C,S.ObjectAdaptor=H,S.SLIDE_KEY=se,S.SLIDE_VIEW_KEY=ae,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})}));
|
|
1
|
+
(function(S,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("@univerjs/core"),require("@univerjs/engine-render")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render"],c):(S=typeof globalThis<"u"?globalThis:S||self,c(S.UniverSlides={},S.UniverCore,S.UniverEngineRender))})(this,(function(S,c,l){"use strict";var Ce=Object.defineProperty;var Ne=(S,c,l)=>c in S?Ce(S,c,{enumerable:!0,configurable:!0,writable:!0,value:l}):S[c]=l;var u=(S,c,l)=>Ne(S,typeof c!="symbol"?c+"":c,l);var K;const re={name:"@univerjs/slides",version:"0.17.0"},oe="slides.config",ae={};var de=Object.getOwnPropertyDescriptor,he=(n,e,i,r)=>{for(var t=r>1?void 0:r?de(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(t=s(t)||t);return t},R=(n,e)=>(i,r)=>e(i,r,n);S.UniverSlidesPlugin=(K=class extends c.Plugin{constructor(i=ae,r,t,a){super();u(this,"_canvasEngine",null);this._config=i,this._injector=r,this._renderManagerService=t,this._configService=a;const{...s}=c.merge({},ae,this._config);this._configService.setConfig(oe,s),this._initializeDependencies(this._injector)}initialize(){this.initCanvasEngine()}onReady(){}getConfig(){return this._config}initCanvasEngine(){this._canvasEngine=this._injector.get(l.IRenderingEngine)}onRendered(){this.initialize()}getCanvasEngine(){return this._canvasEngine}_initializeDependencies(i){[].forEach(t=>{i.add(t)})}},u(K,"pluginName","UNIVER_SLIDES_PLUGIN"),u(K,"packageName",re.name),u(K,"version",re.version),u(K,"type",c.UniverInstanceType.UNIVER_SLIDE),K),S.UniverSlidesPlugin=he([R(1,c.Inject(c.Injector)),R(2,l.IRenderManagerService),R(3,c.IConfigService)],S.UniverSlidesPlugin);class H{constructor(){u(this,"zIndex",0);u(this,"viewKey",null)}check(e){if(e===this.viewKey)return this}create(e){}}const C=c.Registry.create();var pe=Object.getOwnPropertyDescriptor,ue=(n,e,i,r)=>{for(var t=r>1?void 0:r?pe(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(t=s(t)||t);return t},ge=(n,e)=>(i,r)=>e(i,r,n);let G=class extends H{constructor(e){super();u(this,"zIndex",5);u(this,"viewKey",c.PageElementType.DOCUMENT);u(this,"_liquid",new l.Liquid);this._localeService=e}check(e){if(e===this.viewKey)return this}convert(e,i){var ce,le;const{id:r,zIndex:t,left:a=0,top:s=0,width:o,height:d,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:g,flipX:_,flipY:w,title:D,description:X,document:O}=e;if(O==null)return;const m=new c.DocumentDataModel(O),h=new l.DocumentViewModel(m),T=l.DocumentSkeleton.create(h,this._localeService),P=new l.Documents("__DocsRender__",T);T.calculate();const E=new l.SceneViewer("__DocsViewer__"+r,{top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:g,flipX:_,flipY:w}),v=new l.Scene("__DocsScene__"+r,E),b=new l.Viewport("__DocsViewPort_"+r,v,{left:0,top:0,bottom:0,right:0,explicitViewportWidthSet:!1,explicitViewportHeightSet:!1,isWheelPreventDefaultX:!0});v.attachControl(),v.onMouseWheel$.subscribeEvent((k,F)=>{const x=k;if(x.ctrlKey){const A=Math.abs(x.deltaX);let L=A<40?.2:A<80?.4:.2;L*=x.deltaY>0?-1:1,v.scaleX<1&&(L/=2),v.scaleX+L>4?v.scale(4,4):v.scaleX+L<.1?v.scale(.1,.1):(x.deltaY>0,x.preventDefault())}else b.onMouseWheel(x,F)}),new l.ScrollBar(b,{mainScene:i}),v.addObject(P);const j=T.getActualSize();P.resize(j.actualWidth,j.actualHeight),v.resize(j.actualWidth,j.actualHeight+200),(ce=P.getSkeleton())==null||ce.getPageSize(),P.pageRender$.subscribe(k=>{const{page:F,pageLeft:x,pageTop:A,ctx:L}=k,{width:ee,height:te,marginBottom:ie,marginLeft:M,marginRight:B,marginTop:q}=F;L.save(),L.translate(x-.5,A-.5),L.restore()});const{left:z,top:N}=P,Y=T.getSkeletonData();if(Y==null)return;const{pages:$}=Y,V=[],W=new Map;this._recalculateSizeBySkeleton(P,v,T);for(let k=0,F=$.length;k<F;k++){const x=$[k],{skeDrawings:A,marginLeft:L,marginTop:ee,pageWidth:te,pageHeight:ie}=x;this._liquid.translatePagePadding(x),A.forEach(M=>{const{aLeft:B,aTop:q,height:Me,width:Xe,drawingOrigin:ze}=M,{docTransform:Ye}=ze,Ae=new l.Image(M.drawingId,{left:B+z+this._liquid.x,top:q+N+this._liquid.y,width:Xe,height:Me,zIndex:11});W.set(M.drawingId,{marginLeft:this._liquid.x,marginTop:this._liquid.y}),V.push(Ae)}),this._liquid.translatePage(x,P.pageLayoutType,P.pageMarginLeft,P.pageMarginTop)}return v.addObjects(V),V.forEach(k=>{v.attachTransformerTo(k)}),(le=v.getTransformer())==null||le.changing$.subscribe(k=>{const{objects:F}=k;F.forEach(x=>{const{oKey:A,left:L,top:ee,height:te,width:ie}=x,M=W.get(A),B=(M==null?void 0:M.marginLeft)||0,q=(M==null?void 0:M.marginTop)||0;T==null||T.getViewModel().getDataModel().updateDrawing(A,{left:L-z-B,top:ee-N-q,height:te,width:ie})}),T==null||T.calculate()}),this._calculatePagePosition(P,v,b),E}_recalculateSizeBySkeleton(e,i,r){var o;const t=(o=r.getSkeletonData())==null?void 0:o.pages;if(t==null)return;let a=0,s=0;for(let d=0,I=t.length;d<I;d++){const y=t[d],{pageWidth:f,pageHeight:p}=y;e.pageLayoutType===l.PageLayoutType.VERTICAL?(s+=p,s+=e.pageMarginTop,d===I-1&&(s+=e.pageMarginTop),a=Math.max(a,f)):e.pageLayoutType===l.PageLayoutType.HORIZONTAL&&(a+=f,d!==I-1&&(a+=e.pageMarginLeft),s=Math.max(s,p))}e.resize(a,s),i.resize(a,s)}_calculatePagePosition(e,i,r,t=1){const a=i==null?void 0:i.getParent(),{width:s,height:o,pageMarginLeft:d,pageMarginTop:I}=e;if(a==null||s===Number.POSITIVE_INFINITY||o===Number.POSITIVE_INFINITY)return;const{width:y,height:f}=a;let p=0,g=0,_=0,w=0,D=Number.POSITIVE_INFINITY;if(y>(s+d*2)*t?(p=y/2-s*t/2,p/=t,_=(y-d*2)/t,D=0):(p=d,_=s+d*2,D=(_-y/t)/2),f>o?(g=f/2-o/2,w=(f-I*2)/t):(g=I,w=o+I*2),i.resize(_,w+200),e.translate(p,g),D!==Number.POSITIVE_INFINITY&&r!=null){const X=r.transScroll2ViewportScrollValue(D,0).x;r.scrollToBarPos({x:X})}return this}};G=ue([ge(0,c.Inject(c.LocaleService))],G);class fe{constructor(){u(this,"zIndex",5)}create(e){return e.createInstance(G)}}C.add(new fe);class we extends H{constructor(){super(...arguments);u(this,"zIndex",1);u(this,"viewKey",c.PageElementType.IMAGE)}check(i){if(i===this.viewKey)return this}convert(i){const{id:r,zIndex:t,left:a=0,top:s=0,width:o,height:d,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:g,flipX:_,flipY:w,title:D,description:X,image:O={}}=i,{imageProperties:m,placeholder:h,link:T}=O,P=(m==null?void 0:m.contentUrl)||"";return new l.Image(r,{url:P,top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:g,flipX:_,flipY:w,forceRender:!0})}}class _e{constructor(){u(this,"zIndex",4)}create(e){return e.createInstance(we)}}C.add(new _e);var ve=Object.getOwnPropertyDescriptor,Se=(n,e,i,r)=>{for(var t=r>1?void 0:r?ve(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(t=s(t)||t);return t},Ie=(n,e)=>(i,r)=>e(i,r,n);let Z=class extends H{constructor(e){super();u(this,"zIndex",2);u(this,"viewKey",c.PageElementType.TEXT);this._localeService=e}check(e){if(e===this.viewKey)return this}convert(e,i){const{id:r,zIndex:t,left:a=0,top:s=0,width:o,height:d,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:g,flipX:_,flipY:w,title:D,description:X,richText:O={}}=e,{text:m,ff:h,fs:T,it:P,bl:E,ul:v,st:b,ol:j,bg:z,bd:N,cl:Y,rich:$}=O;let V={top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:g,flipX:_,flipY:w,forceRender:!0},W=!1;if(m!=null?(V={...V,text:m,ff:h,fs:T,it:P,bl:E,ul:v,st:b,ol:j,bg:z,bd:N,cl:Y},W=!0):$!=null&&(V={...V,richText:$},W=!0),W!==!1)return new l.RichText(this._localeService,r,V)}};Z=Se([Ie(0,c.Inject(c.LocaleService))],Z);class ye{constructor(){u(this,"zIndex",0)}create(e){return e.createInstance(Z)}}C.add(new ye);class Te extends H{constructor(){super(...arguments);u(this,"zIndex",2);u(this,"viewKey",c.PageElementType.SHAPE)}check(i){if(i===this.viewKey)return this}convert(i){const{id:r,zIndex:t,left:a=0,top:s=0,width:o,height:d,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:g,flipX:_,flipY:w,title:D,description:X}=i,{shapeType:O,text:m,shapeProperties:h,placeholder:T,link:P}=i.shape||{},E=h==null?"":c.getColorStyle(h.shapeBackgroundFill)||"rgba(255,255,255,1)",v=h==null?void 0:h.outline,b={};if(v){const{outlineFill:j,weight:z}=v;b.strokeWidth=z,b.stroke=c.getColorStyle(j)||"rgba(0,0,0,1)"}if(O===c.BasicShapes.Rect)return new l.Rect(r,{fill:E,top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:g,flipX:_,flipY:w,forceRender:!0,...b});if(O===c.BasicShapes.RoundRect){const j=(h==null?void 0:h.radius)||0;return new l.Rect(r,{fill:E,top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:g,flipX:_,flipY:w,forceRender:!0,radius:j,...b})}if(O===c.BasicShapes.Ellipse){console.warn(h==null?void 0:h.radius);const j=(h==null?void 0:h.radius)||0;return new l.Circle(r,{fill:E,top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:g,flipX:_,flipY:w,forceRender:!0,radius:j,...b})}}}class Pe{constructor(){u(this,"zIndex",2)}create(e){return e.createInstance(Te)}}C.add(new Pe);var me=Object.getOwnPropertyDescriptor,be=(n,e,i,r)=>{for(var t=r>1?void 0:r?me(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(t=s(t)||t);return t},je=(n,e)=>(i,r)=>e(i,r,n);S.ObjectProvider=class{constructor(e){u(this,"_adaptors",[]);this._injector=e,this._adaptorLoader()}convertToRenderObjects(e,i){const r=Object.keys(e),t=[];return r.forEach(a=>{const s=e[a],o=this._executor(s,i);o!=null&&t.push(o)}),t}convertToRenderObject(e,i){return this._executor(e,i)}_executor(e,i){var a;const{id:r,type:t}=e;for(const s of this._adaptors){const o=(a=s.check(t))==null?void 0:a.convert(e,i);if(o!=null)return o}}_adaptorLoader(){C.getData().sort(c.sortRules).forEach(e=>{this._adaptors.push(e.create(this._injector))})}},S.ObjectProvider=be([je(0,c.Inject(c.Injector))],S.ObjectProvider);var Oe=Object.getOwnPropertyDescriptor,Ee=(n,e,i,r)=>{for(var t=r>1?void 0:r?Oe(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(t=s(t)||t);return t},xe=(n,e)=>(i,r)=>e(i,r,n),se=(n=>(n.MAIN="__SLIDERender__",n.SCENE_VIEWER="__SLIDEViewer__",n.SCENE="__SLIDEScene__",n.VIEWPORT="__SLIDEViewPort_",n))(se||{});let J=class extends H{constructor(e){super();u(this,"zIndex",6);u(this,"viewKey",c.PageElementType.SLIDE);u(this,"_ObjectProvider",null);this._injector=e}check(e){if(e===this.viewKey)return this}convert(e,i){const{id:r,zIndex:t,left:a=0,top:s=0,width:o,height:d,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:g,flipX:_,flipY:w,title:D,description:X,slide:O}=e;if(O==null)return;const m=new c.SlideDataModel(O),h=new l.Slide("__SLIDERender__"+r,{top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:g,flipX:_,flipY:w,forceRender:!0});h.enableNav(),h.enableSelectedClipElement();const T=m.getPageOrder(),P=m.getPages();if(!T||!P)return h;this._ObjectProvider=new S.ObjectProvider(this._injector);for(let E=0,v=T.length;E<v;E++){const b=P[T[E]],{id:j}=b;h.addPageScene(this._createScene(j,h,b,i,m))}return h.activeFirstPage(),h}_createScene(e,i,r,t,a){var g;const{width:s,height:o}=i,d=new l.Scene(e,i,{width:s,height:o});new l.Viewport(`PageViewer_${e}`,d,{left:0,top:0,bottom:0,right:0,explicitViewportWidthSet:!1,explicitViewportHeightSet:!1}).closeClip();const{pageElements:y,pageBackgroundFill:f}=r,p=(g=this._ObjectProvider)==null?void 0:g.convertToRenderObjects(y,t);return this._addBackgroundRect(d,f,a),d.addObjects(p),p==null||p.forEach(_=>{d.attachTransformerTo(_)}),d}_addBackgroundRect(e,i,r){const t=r.getPageSize(),{width:a=0,height:s=0}=t,o=new l.Rect("canvas",{left:0,top:0,width:a,height:s,strokeWidth:1,stroke:"rgba(198,198,198, 1)",fill:c.getColorStyle(i)||"rgba(255,255,255, 1)",zIndex:0,evented:!1});e.addObject(o,0)}};J=Ee([xe(0,c.Inject(c.Injector))],J);class De{constructor(){u(this,"zIndex",6)}create(e){return e.createInstance(J)}}C.add(new De);var Ve=Object.getOwnPropertyDescriptor,ke=(n,e,i,r)=>{for(var t=r>1?void 0:r?Ve(e,i):e,a=n.length-1,s;a>=0;a--)(s=n[a])&&(t=s(t)||t);return t},U=(n,e)=>(i,r)=>e(i,r,n);let Q=class extends H{constructor(e,i,r,t){super();u(this,"zIndex",4);u(this,"viewKey",c.PageElementType.SPREADSHEET);this._localeService=e,this._contextService=i,this._configService=r,this._injector=t}check(e){if(e===this.viewKey)return this}convert(e,i){const{id:r,zIndex:t,left:a=0,top:s=0,width:o,height:d,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:g,flipX:_,flipY:w,spreadsheet:D}=e;if(D==null)return;const{worksheet:X,styles:O}=D,m=new c.Styles(O),h=new l.SpreadsheetSkeleton(new c.Worksheet(r,X,m),m,this._localeService,this._contextService,this._configService,this._injector),{rowTotalHeight:T,columnTotalWidth:P,rowHeaderWidth:E,columnHeaderHeight:v}=h,b=P+X.rowHeader.width||0,j=T+X.columnHeader.height||0,z=new l.SceneViewer("spreadInSlideSceneViewer"+r,{top:s,left:a,width:o,height:d,zIndex:t,angle:I,scaleX:y,scaleY:f,skewX:p,skewY:g,flipX:_,flipY:w,forceRender:!0}),N=new l.Scene("spreadInSlideScene"+r,z,{width:b,height:j});this._updateViewport(r,E,v,N,i);const Y=new l.Spreadsheet("testSheetViewer",h,!1),$=new l.SpreadsheetRowHeader("spreadInSlideRow",h),V=new l.SpreadsheetColumnHeader("spreadInSlideColumn",h),W=new l.Rect("spreadInSlideLeftTop",{zIndex:2,left:-1,top:-1,width:E,height:v,fill:l.getColor([248,249,250]),stroke:l.getColor([217,217,217]),strokeWidth:1});return Y.zIndex=10,N.addObjects([Y],1),N.addObjects([$,V,W],2),z}_updateViewport(e,i,r,t,a){if(a==null)return;const s=i*t.scaleX,o=r*t.scaleY,d=new l.Viewport("spreadInSlideViewMain"+e,t,{left:s,top:o,bottom:0,right:0,explicitViewportWidthSet:!1,explicitViewportHeightSet:!1,isWheelPreventDefaultX:!0}),I=new l.Viewport("spreadInSlideViewTop"+e,t,{left:s,height:o,top:0,right:0,explicitViewportWidthSet:!1,isWheelPreventDefaultX:!0}),y=new l.Viewport("spreadInSlideViewLeft"+e,t,{left:0,bottom:0,top:o,width:s,explicitViewportHeightSet:!1,isWheelPreventDefaultX:!0});new l.Viewport("spreadInSlideViewLeftTop"+e,t,{left:0,top:0,width:s,height:o,isWheelPreventDefaultX:!0}),d.onScrollAfter$.subscribeEvent(f=>{const{scrollX:p,scrollY:g,viewportScrollX:_,viewportScrollY:w}=f;I.updateScrollVal({scrollX:p,viewportScrollX:_}),y.updateScrollVal({scrollY:g,viewportScrollY:w})}),t.attachControl(),new l.ScrollBar(d,{mainScene:a}),t.onMouseWheel$.subscribeEvent((f,p)=>{const g=f;if(g.ctrlKey){const _=Math.abs(g.deltaX);let w=_<40?.05:_<80?.02:.01;w*=g.deltaY>0?-1:1,t.scaleX<1&&(w/=2),t.scaleX+w>4?t.scale(4,4):t.scaleX+w<.1?t.scale(.1,.1):(t.scaleBy(w,w),g.preventDefault())}else d.onMouseWheel(g,p)})}};Q=ke([U(0,c.Inject(c.LocaleService)),U(1,c.IContextService),U(2,c.IConfigService),U(3,c.Inject(c.Injector))],Q);class Le{constructor(){u(this,"zIndex",4)}create(e){return e.createInstance(Q)}}C.add(new Le);var ne=(n=>(n.COMPONENT="__slideRender__",n.SCENE="__mainScene__",n.VIEW="__mainView__",n))(ne||{});S.CanvasObjectProviderRegistry=C,S.ObjectAdaptor=H,S.SLIDE_KEY=ne,S.SLIDE_VIEW_KEY=se,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.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"author": "DreamNum <developer@univer.ai>",
|
|
@@ -45,14 +45,14 @@
|
|
|
45
45
|
"lib"
|
|
46
46
|
],
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@univerjs/engine-render": "0.
|
|
49
|
-
"@univerjs/core": "0.
|
|
48
|
+
"@univerjs/engine-render": "0.17.0",
|
|
49
|
+
"@univerjs/core": "0.17.0"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"typescript": "^5.9.3",
|
|
53
53
|
"vite": "^7.3.1",
|
|
54
54
|
"vitest": "^4.0.18",
|
|
55
|
-
"@univerjs-infra/shared": "0.
|
|
55
|
+
"@univerjs-infra/shared": "0.17.0"
|
|
56
56
|
},
|
|
57
57
|
"scripts": {
|
|
58
58
|
"test": "vitest run",
|
|
File without changes
|