@univerjs/docs-drawing-ui 0.17.0 → 0.18.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 +37 -1
- package/lib/cjs/locale/ca-ES.js +1 -1
- package/lib/cjs/locale/en-US.js +1 -1
- package/lib/cjs/locale/es-ES.js +1 -1
- package/lib/cjs/locale/fa-IR.js +1 -1
- package/lib/cjs/locale/fr-FR.js +1 -1
- package/lib/cjs/locale/ja-JP.js +1 -1
- package/lib/cjs/locale/ko-KR.js +1 -1
- package/lib/cjs/locale/ru-RU.js +1 -1
- package/lib/cjs/locale/sk-SK.js +1 -1
- package/lib/cjs/locale/vi-VN.js +1 -1
- package/lib/cjs/locale/zh-CN.js +1 -1
- package/lib/cjs/locale/zh-TW.js +1 -1
- package/lib/es/index.js +37 -2891
- package/lib/es/locale/ca-ES.js +1 -62
- package/lib/es/locale/en-US.js +1 -62
- package/lib/es/locale/es-ES.js +1 -62
- package/lib/es/locale/fa-IR.js +1 -62
- package/lib/es/locale/fr-FR.js +1 -62
- package/lib/es/locale/ja-JP.js +1 -62
- package/lib/es/locale/ko-KR.js +1 -62
- package/lib/es/locale/ru-RU.js +1 -62
- package/lib/es/locale/sk-SK.js +1 -62
- package/lib/es/locale/vi-VN.js +1 -62
- package/lib/es/locale/zh-CN.js +1 -62
- package/lib/es/locale/zh-TW.js +1 -62
- package/lib/index.css +57 -1
- package/lib/index.js +37 -2891
- package/lib/locale/ca-ES.js +1 -62
- package/lib/locale/en-US.js +1 -62
- package/lib/locale/es-ES.js +1 -62
- package/lib/locale/fa-IR.js +1 -62
- package/lib/locale/fr-FR.js +1 -62
- package/lib/locale/ja-JP.js +1 -62
- package/lib/locale/ko-KR.js +1 -62
- package/lib/locale/ru-RU.js +1 -62
- package/lib/locale/sk-SK.js +1 -62
- package/lib/locale/vi-VN.js +1 -62
- package/lib/locale/zh-CN.js +1 -62
- package/lib/locale/zh-TW.js +1 -62
- package/lib/types/commands/commands/delete-doc-drawing.command.d.ts +16 -1
- package/lib/types/commands/commands/group-doc-drawing.command.d.ts +16 -1
- package/lib/types/commands/commands/insert-doc-drawing.command.d.ts +16 -1
- package/lib/types/commands/commands/insert-image.command.d.ts +16 -1
- package/lib/types/commands/commands/interfaces.d.ts +17 -2
- package/lib/types/commands/commands/move-drawings.command.d.ts +17 -1
- package/lib/types/commands/commands/remove-doc-drawing.command.d.ts +16 -1
- package/lib/types/commands/commands/set-drawing-arrange.command.d.ts +18 -2
- package/lib/types/commands/commands/ungroup-doc-drawing.command.d.ts +16 -1
- package/lib/types/commands/commands/update-doc-drawing.command.d.ts +16 -1
- package/lib/types/commands/commands/utils.d.ts +16 -1
- package/lib/types/commands/operations/clear-drawing-transformer.operation.d.ts +16 -1
- package/lib/types/commands/operations/edit-doc-drawing.operation.d.ts +16 -1
- package/lib/types/commands/operations/open-drawing-panel.operation.d.ts +16 -1
- package/lib/types/controllers/doc-drawing-notification.controller.d.ts +15 -0
- package/lib/types/controllers/doc-drawing-printing.controller.d.ts +15 -0
- package/lib/types/controllers/doc-drawing-transformer-update.controller.d.ts +15 -0
- package/lib/types/controllers/doc-drawing.controller.d.ts +15 -0
- package/lib/types/controllers/doc-float-dom.controller.d.ts +21 -3
- package/lib/types/controllers/render-controllers/doc-drawing-transform-update.controller.d.ts +18 -2
- package/lib/types/controllers/render-controllers/doc-drawing-update.render-controller.d.ts +19 -2
- package/lib/types/controllers/shortcuts/drawing.shortcut.d.ts +18 -3
- package/lib/types/locale/ca-ES.d.ts +16 -1
- package/lib/types/locale/es-ES.d.ts +16 -1
- package/lib/types/locale/fa-IR.d.ts +16 -1
- package/lib/types/locale/fr-FR.d.ts +16 -1
- package/lib/types/locale/ja-JP.d.ts +16 -1
- package/lib/types/locale/ko-KR.d.ts +16 -1
- package/lib/types/locale/ru-RU.d.ts +16 -1
- package/lib/types/locale/sk-SK.d.ts +16 -1
- package/lib/types/locale/vi-VN.d.ts +16 -1
- package/lib/types/locale/zh-CN.d.ts +16 -1
- package/lib/types/locale/zh-TW.d.ts +16 -1
- package/lib/types/menu/drawing-popup-menu.controller.d.ts +15 -0
- package/lib/types/menu/image.menu.d.ts +17 -2
- package/lib/types/menu/schema.d.ts +16 -1
- package/lib/types/plugin.d.ts +16 -1
- package/lib/types/services/doc-refresh-drawings.service.d.ts +18 -3
- package/lib/types/views/doc-image-panel/DocDrawingPosition.d.ts +16 -1
- package/lib/types/views/doc-image-panel/DocDrawingTextWrap.d.ts +16 -1
- package/lib/types/views/printing-float-dom/index.d.ts +17 -2
- package/lib/umd/index.js +37 -1
- package/lib/umd/locale/ca-ES.js +1 -1
- package/lib/umd/locale/en-US.js +1 -1
- package/lib/umd/locale/es-ES.js +1 -1
- package/lib/umd/locale/fa-IR.js +1 -1
- package/lib/umd/locale/fr-FR.js +1 -1
- package/lib/umd/locale/ja-JP.js +1 -1
- package/lib/umd/locale/ko-KR.js +1 -1
- package/lib/umd/locale/ru-RU.js +1 -1
- package/lib/umd/locale/sk-SK.js +1 -1
- package/lib/umd/locale/vi-VN.js +1 -1
- package/lib/umd/locale/zh-CN.js +1 -1
- package/lib/umd/locale/zh-TW.js +1 -1
- package/package.json +15 -14
package/lib/cjs/index.js
CHANGED
|
@@ -1 +1,37 @@
|
|
|
1
|
-
"use strict";var yt=Object.defineProperty;var Ot=(o,e,t)=>e in o?yt(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var ce=(o,e,t)=>Ot(o,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("@univerjs/core"),Se=require("@univerjs/docs-drawing"),B=require("@univerjs/docs"),W=require("@univerjs/docs-ui"),j=require("@univerjs/engine-render"),X=require("@univerjs/design"),V=require("@univerjs/drawing"),L=require("@univerjs/ui"),J=require("rxjs"),he=require("@univerjs/drawing-ui"),S=require("react/jsx-runtime"),K=require("react"),We={id:"doc.command.remove-doc-image",type:i.CommandType.COMMAND,handler:(o,e)=>{var C,b,P,k;const t=o.get(i.ICommandService),n=o.get(i.IUniverInstanceService),r=o.get(j.IRenderManagerService),s=n.getCurrentUniverDocInstance();if(e==null||s==null)return!1;const a=r.getRenderById(e.unitId).with(W.DocSelectionRenderService),{drawings:d}=e,g=(C=a.getSegment())!=null?C:"",c=new i.TextX,l=i.JSONX.getInstance(),p=(P=(b=s.getSelfOrHeaderFooterModel(g).getBody())==null?void 0:b.customBlocks)!=null?P:[],u=d.map(E=>p.find(w=>w.blockId===E.drawingId)).filter(E=>!!E).sort((E,w)=>E.startIndex>w.startIndex?1:-1),m=d[0].unitId,h=new i.MemoryCursor;h.reset();const v=u[0].startIndex,I=[{startOffset:v,endOffset:v}],f={id:B.RichTextEditingMutation.id,params:{unitId:m,actions:[],textRanges:I}},T=[];for(const E of u){const{startIndex:w}=E;w>h.cursor&&c.push({t:i.TextXActionType.RETAIN,len:w-h.cursor}),c.push({t:i.TextXActionType.DELETE,len:1}),h.moveCursorTo(w+1)}const y=W.getRichTextEditPath(s,g);T.push(l.editOp(c.serialize(),y));for(const E of u){const{blockId:w}=E,U=((k=s.getDrawings())!=null?k:{})[w],N=s.getDrawingsOrder().indexOf(w),z=l.removeOp(["drawings",w],U),_=l.removeOp(["drawingsOrder",N],w);T.push(z),T.push(_)}return f.params.actions=T.reduce((E,w)=>i.JSONX.compose(E,w),null),!!t.syncExecuteCommand(f.id,f.params)}},Ye={id:"doc.command.delete-drawing",type:i.CommandType.COMMAND,handler:o=>{const e=o.get(i.ICommandService),n=o.get(Se.IDocDrawingService).getFocusDrawings();if(n.length===0)return!1;const{unitId:r}=n[0],s=n.map(a=>{const{unitId:d,subUnitId:g,drawingId:c,drawingType:l}=a;return{unitId:d,subUnitId:g,drawingId:c,drawingType:l}});return e.executeCommand(We.id,{unitId:r,drawings:s})}},Je={id:"doc.command.group-doc-image",type:i.CommandType.COMMAND,handler:(o,e)=>!1},He={id:"doc.command.insert-doc-image",type:i.CommandType.COMMAND,handler:(o,e)=>{var b,P,k,E;if(e==null)return!1;const t=o.get(i.ICommandService),n=o.get(B.DocSelectionManagerService),r=o.get(i.IUniverInstanceService),s=n.getActiveTextRange(),a=r.getCurrentUniverDocInstance();if(s==null||a==null)return!1;const d=a.getUnitId(),{drawings:g}=e,{collapsed:c,startOffset:l,segmentId:p}=s,u=a.getSelfOrHeaderFooterModel(p).getBody();if(u==null)return!1;const m=new i.TextX,h=i.JSONX.getInstance(),v=[],I=(P=(b=a.getSnapshot().drawingsOrder)==null?void 0:b.length)!=null?P:0;let f=0;if(c)l>0&&m.push({t:i.TextXActionType.RETAIN,len:l});else{const w=i.BuildTextUtils.selection.delete([s],u,0,null,!1);m.push(...w);const U=W.getCustomBlockIdsInSelections(u,[s]),$=(k=a.getDrawings())!=null?k:{},N=(E=a.getDrawingsOrder())!=null?E:[],z=U.sort((_,D)=>N.indexOf(_)>N.indexOf(D)?-1:N.indexOf(_)<N.indexOf(D)?1:0);if(z.length>0)for(const _ of z){const D=$[_],x=N.indexOf(_);if(D==null||x<0)continue;const M=h.removeOp(["drawings",_],D),F=h.removeOp(["drawingsOrder",x],_);v.push(M),v.push(F),f++}}m.push({t:i.TextXActionType.INSERT,body:{dataStream:"\b".repeat(g.length),customBlocks:g.map((w,U)=>({startIndex:U,blockId:w.drawingId}))},len:g.length});const T=W.getRichTextEditPath(a,p),y=h.editOp(m.serialize(),T);v.push(y);for(const w of g){const{drawingId:U}=w,$=h.insertOp(["drawings",U],w),N=h.insertOp(["drawingsOrder",I-f],U);v.push($),v.push(N)}const O={id:B.RichTextEditingMutation.id,params:{unitId:d,actions:[],textRanges:[]}};return O.params.actions=v.reduce((w,U)=>i.JSONX.compose(w,U),null),!!t.syncExecuteCommand(O.id,O.params)}},Ze={id:"doc.command.set-drawing-arrange",type:i.CommandType.COMMAND,handler:(o,e)=>{const t=o.get(i.ICommandService),n=o.get(Se.IDocDrawingService);if(e==null)return!1;const{unitId:r,subUnitId:s,drawingIds:a,arrangeType:d}=e,g={unitId:r,subUnitId:s,drawingIds:a};let c;if(d===i.ArrangeTypeEnum.forward?c=n.getForwardDrawingsOp(g):d===i.ArrangeTypeEnum.backward?c=n.getBackwardDrawingOp(g):d===i.ArrangeTypeEnum.front?c=n.getFrontDrawingsOp(g):d===i.ArrangeTypeEnum.back&&(c=n.getBackDrawingsOp(g)),c==null)return!1;const{redo:l}=c;if(l==null)return!1;const p=[];let u=i.Tools.deepClone(l);u=u.slice(3),u.unshift("drawingsOrder"),p.push(u);const m={id:B.RichTextEditingMutation.id,params:{unitId:r,actions:[],textRanges:null}};return m.params.actions=p.reduce((v,I)=>i.JSONX.compose(v,I),null),!!t.syncExecuteCommand(m.id,m.params)}},Qe={id:"doc.command.ungroup-doc-image",type:i.CommandType.COMMAND,handler:(o,e)=>{const t=o.get(Se.IDocDrawingService);if(!e)return!1;const n=[];e.forEach(({parent:l,children:p})=>{n.push(l.unitId),p.forEach(u=>{n.push(u.unitId)})});const r=t.getUngroupDrawingOp(e),{unitId:s,subUnitId:a,undo:d,redo:g,objects:c}=r;return!1}};class Ge{constructor(){ce(this,"_refreshDrawings$",new J.BehaviorSubject(null));ce(this,"refreshDrawings$",this._refreshDrawings$.asObservable())}refreshDrawings(e){this._refreshDrawings$.next(e)}}var Mt=Object.getOwnPropertyDescriptor,bt=(o,e,t,n)=>{for(var r=n>1?void 0:n?Mt(e,t):e,s=o.length-1,a;s>=0;s--)(a=o[s])&&(r=a(r)||r);return r},oe=(o,e)=>(t,n)=>e(t,n,o);let je=class extends i.Disposable{constructor(o,e,t,n,r,s,a,d,g,c,l,p,u){super(),this._context=o,this._commandService=e,this._docSelectionManagerService=t,this._renderManagerSrv=n,this._imageIoService=r,this._docDrawingService=s,this._drawingManagerService=a,this._contextService=d,this._messageService=g,this._localeService=c,this._docSelectionRenderService=l,this._docRefreshDrawingsService=p,this._fileOpenerService=u,this._updateOrderListener(),this._groupDrawingListener(),this._focusDrawingListener(),this._transformDrawingListener(),this._editAreaChangeListener()}dispose(){super.dispose(),delete this._context}async insertDocImage(){const o=await this._fileOpenerService.openFile({multiple:!0,accept:V.DRAWING_IMAGE_ALLOW_IMAGE_LIST.map(t=>`.${t.replace("image/","")}`).join(",")}),e=o.length;return e>V.DRAWING_IMAGE_COUNT_LIMIT?(this._messageService.show({type:X.MessageType.Error,content:this._localeService.t("update-status.exceedMaxCount",String(V.DRAWING_IMAGE_COUNT_LIMIT))}),!1):e===0?!1:(await this._insertFloatImages(o),!0)}async _insertFloatImages(o){let e=[];try{e=await Promise.all(o.map(r=>this._imageIoService.saveImage(r)))}catch(r){const s=r.message;let a="";switch(s){case V.ImageUploadStatusType.ERROR_EXCEED_SIZE:a=this._localeService.t("update-status.exceedMaxSize",String(V.DRAWING_IMAGE_ALLOW_SIZE/(1024*1024)));break;case V.ImageUploadStatusType.ERROR_IMAGE_TYPE:a=this._localeService.t("update-status.invalidImageType");break;case V.ImageUploadStatusType.ERROR_IMAGE:a=this._localeService.t("update-status.invalidImage");break}this._messageService.show({type:X.MessageType.Error,content:a})}if(e.length===0)return;const{unitId:t}=this._context,n=[];for(const r of e){if(r==null)continue;const{imageId:s,imageSourceType:a,source:d,base64Cache:g}=r,{width:c,height:l,image:p}=await V.getImageSize(g||"");this._imageIoService.addImageSourceCache(s,a,p);let u=1;if(c>V.DRAWING_IMAGE_WIDTH_LIMIT||l>V.DRAWING_IMAGE_HEIGHT_LIMIT){const I=V.DRAWING_IMAGE_WIDTH_LIMIT/c,f=V.DRAWING_IMAGE_HEIGHT_LIMIT/l;u=Math.min(I,f)}const m=this._getImagePosition(c*u,l*u);if(m==null)return;const h={unitId:t,subUnitId:t,drawingId:s,drawingType:i.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:a,source:d,transform:W.docDrawingPositionToTransform(m),docTransform:m,behindDoc:i.BooleanNumber.FALSE,title:"",description:"",layoutType:i.PositionedObjectLayoutType.INLINE,wrapText:i.WrapTextType.BOTH_SIDES,distB:0,distL:0,distR:0,distT:0};this._isInsertInHeaderFooter()&&(h.isMultiTransform=i.BooleanNumber.TRUE,h.transforms=h.transform?[h.transform]:null),n.push(h)}this._commandService.executeCommand(He.id,{unitId:t,drawings:n})}_isInsertInHeaderFooter(){var n;const{unitId:o}=this._context,e=(n=this._renderManagerSrv.getRenderById(o))==null?void 0:n.with(B.DocSkeletonManagerService).getViewModel(),t=e==null?void 0:e.getEditArea();return t===j.DocumentEditArea.HEADER||t===j.DocumentEditArea.FOOTER}_getImagePosition(o,e){const t=this._docSelectionRenderService.getActiveTextRange(),n=(t==null?void 0:t.getAbsolutePosition())||{left:0};return{size:{width:o,height:e},positionH:{relativeFrom:i.ObjectRelativeFromH.PAGE,posOffset:n.left},positionV:{relativeFrom:i.ObjectRelativeFromV.PARAGRAPH,posOffset:0},angle:0}}_updateOrderListener(){this.disposeWithMe(this._drawingManagerService.featurePluginOrderUpdate$.subscribe(o=>{const{unitId:e,subUnitId:t,drawingIds:n,arrangeType:r}=o;this._commandService.executeCommand(Ze.id,{unitId:e,subUnitId:t,drawingIds:n,arrangeType:r})}))}_groupDrawingListener(){this.disposeWithMe(this._drawingManagerService.featurePluginGroupUpdate$.subscribe(o=>{this._commandService.executeCommand(Je.id,o)})),this.disposeWithMe(this._drawingManagerService.featurePluginUngroupUpdate$.subscribe(o=>{this._commandService.executeCommand(Qe.id,o)}))}_getCurrentSceneAndTransformer(){const{scene:o,mainComponent:e}=this._context;if(o==null||e==null)return;const t=o.getTransformerByCreate(),{docsLeft:n,docsTop:r}=e.getOffsetConfig();return{scene:o,transformer:t,docsLeft:n,docsTop:r}}_transformDrawingListener(){const o=this._getCurrentSceneAndTransformer();if(o&&o.transformer)this.disposeWithMe(o.transformer.changeEnd$.pipe(J.debounceTime(30)).subscribe(e=>{this._docSelectionManagerService.refreshSelection()}));else throw new Error("transformer is not init")}_focusDrawingListener(){this.disposeWithMe(this._drawingManagerService.focus$.subscribe(o=>{var r;const{transformer:e,docsLeft:t,docsTop:n}=(r=this._getCurrentSceneAndTransformer())!=null?r:{};if(o==null||o.length===0)this._contextService.setContextValue(i.FOCUSING_COMMON_DRAWINGS,!1),this._docDrawingService.focusDrawing([]),e&&e.resetProps({zeroTop:0,zeroLeft:0});else{this._contextService.setContextValue(i.FOCUSING_COMMON_DRAWINGS,!0),this._docDrawingService.focusDrawing(o),this._setDrawingSelections(o);const s=this._docSelectionRenderService.getSegment(),a=this._findSegmentIdByDrawingId(o[0].drawingId);s!==a&&this._docSelectionRenderService.setSegment(a),e&&e.resetProps({zeroTop:n,zeroLeft:t})}}))}_findSegmentIdByDrawingId(o){var a,d,g;const{unit:e}=this._context,{body:t,headers:n={},footers:r={}}=e.getSnapshot();if(((a=t==null?void 0:t.customBlocks)!=null?a:[]).some(c=>c.blockId===o))return"";for(const c of Object.keys(n))if((d=n[c].body.customBlocks)!=null&&d.some(l=>l.blockId===o))return c;for(const c of Object.keys(r))if((g=r[c].body.customBlocks)!=null&&g.some(l=>l.blockId===o))return c;return""}_updateDrawingsEditStatus(){var d;if(!this._context)return;const{unit:o,scene:e,unitId:t}=this._context,n=(d=this._renderManagerSrv.getRenderById(t))==null?void 0:d.with(B.DocSkeletonManagerService).getViewModel();if(n==null||o==null)return;const r=o.getSnapshot(),{drawings:s={}}=r,a=n.getEditArea()===j.DocumentEditArea.BODY;for(const g of Object.keys(s)){const c=s[g],l=V.getDrawingShapeKeyByDrawingSearch({unitId:t,drawingId:c.drawingId,subUnitId:t}),p=e.fuzzyMathObjects(l,!0);if(p.length)for(const u of p){e.detachTransformerFrom(u);try{u.setOpacity(.5)}catch{}if(a&&c.isMultiTransform!==i.BooleanNumber.TRUE||!a&&c.isMultiTransform===i.BooleanNumber.TRUE){c.allowTransform!==!1&&e.attachTransformerTo(u);try{u.setOpacity(1)}catch{}}}}}_editAreaChangeListener(){var t;const{unitId:o}=this._context,e=(t=this._renderManagerSrv.getRenderById(o))==null?void 0:t.with(B.DocSkeletonManagerService).getViewModel();e!=null&&(this._updateDrawingsEditStatus(),this.disposeWithMe(e.editAreaChange$.subscribe(()=>{this._updateDrawingsEditStatus()})),this.disposeWithMe(this._docRefreshDrawingsService.refreshDrawings$.subscribe(n=>{n!=null&&queueMicrotask(()=>{this._updateDrawingsEditStatus()})})),this.disposeWithMe(this._commandService.onCommandExecuted(async n=>{n.id===B.RichTextEditingMutation.id&&queueMicrotask(()=>{this._updateDrawingsEditStatus()})})))}_setDrawingSelections(o){var r,s;const{unit:e}=this._context,t=(s=(r=e.getSnapshot().body)==null?void 0:r.customBlocks)!=null?s:[],n=o.map(a=>{const d=a.drawingId,g=t.find(c=>c.blockId===d);return g?g.startIndex:null}).filter(a=>a!==null).map(a=>({startOffset:a,endOffset:a+1}));this._docSelectionManagerService.replaceDocRanges(n)}};je=bt([oe(1,i.ICommandService),oe(2,i.Inject(B.DocSelectionManagerService)),oe(3,j.IRenderManagerService),oe(4,V.IImageIoService),oe(5,Se.IDocDrawingService),oe(6,V.IDrawingManagerService),oe(7,i.IContextService),oe(8,L.IMessageService),oe(9,i.Inject(i.LocaleService)),oe(10,i.Inject(W.DocSelectionRenderService)),oe(11,i.Inject(Ge)),oe(12,L.ILocalFileService)],je);const et={id:"doc.command.insert-float-image",type:i.CommandType.COMMAND,handler:o=>{var n,r;const e=o.get(i.IUniverInstanceService),t=o.get(j.IRenderManagerService);return(r=(n=j.getCurrentTypeOfRenderer(i.UniverInstanceType.UNIVER_DOC,e,t))==null?void 0:n.with(je).insertDocImage())!=null?r:!1}};var se=(o=>(o.INLINE="inline",o.BEHIND_TEXT="behindText",o.IN_FRONT_OF_TEXT="inFrontOfText",o.WRAP_SQUARE="wrapSquare",o.WRAP_TOP_AND_BOTTOM="wrapTopAndBottom",o))(se||{});const Rt={inline:i.PositionedObjectLayoutType.INLINE,wrapSquare:i.PositionedObjectLayoutType.WRAP_SQUARE,wrapTopAndBottom:i.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM,inFrontOfText:i.PositionedObjectLayoutType.WRAP_NONE,behindText:i.PositionedObjectLayoutType.WRAP_NONE};function gt(o,e,t,n,r,s,a){var m,h;const d=new i.TextX,g=i.JSONX.getInstance(),c=[],l=s.getSelfOrHeaderFooterModel(e).getBody(),p=s.getSelfOrHeaderFooterModel(o).getBody();if(l==null||p==null)return;const u=(h=(m=l.customBlocks)==null?void 0:m.find(v=>v.blockId===r))==null?void 0:h.startIndex;if(u!=null){if(n=Math.min(p.dataStream.length-2,n),o===e){if(n<u?(n>0&&d.push({t:i.TextXActionType.RETAIN,len:n}),d.push({t:i.TextXActionType.INSERT,body:{dataStream:"\b",customBlocks:[{startIndex:0,blockId:r}]},len:1}),d.push({t:i.TextXActionType.RETAIN,len:u-n}),d.push({t:i.TextXActionType.DELETE,len:1})):(u>0&&d.push({t:i.TextXActionType.RETAIN,len:u}),d.push({t:i.TextXActionType.DELETE,len:1}),n-u-1>0&&d.push({t:i.TextXActionType.RETAIN,len:n-u-1}),d.push({t:i.TextXActionType.INSERT,body:{dataStream:"\b",customBlocks:[{startIndex:0,blockId:r}]},len:1})),n!==u){const v=W.getRichTextEditPath(s,e),I=g.editOp(d.serialize(),v);c.push(I)}}else{u>0&&d.push({t:i.TextXActionType.RETAIN,len:u}),d.push({t:i.TextXActionType.DELETE,len:1});let v=W.getRichTextEditPath(s,e),I=g.editOp(d.serialize(),v);c.push(I),d.empty(),n>0&&d.push({t:i.TextXActionType.RETAIN,len:n}),d.push({t:i.TextXActionType.INSERT,body:{dataStream:"\b",customBlocks:[{startIndex:0,blockId:r}]},len:1}),v=W.getRichTextEditPath(s,o),I=g.editOp(d.serialize(),v),c.push(I),a.setSegment(o),a.setSegmentPage(t)}return c}}const lt={id:"doc.command.update-doc-drawing-wrapping-style",type:i.CommandType.COMMAND,handler:(o,e)=>{var P,k;if(e==null)return!1;const{drawings:t,wrappingStyle:n,unitId:r}=e,s=o.get(i.ICommandService),a=o.get(i.IUniverInstanceService),g=o.get(j.IRenderManagerService).getRenderById(r),c=g==null?void 0:g.with(B.DocSkeletonManagerService).getSkeleton().getSkeletonData(),l=g==null?void 0:g.with(B.DocSkeletonManagerService).getViewModel(),p=g==null?void 0:g.scene,u=a.getCurrentUniverDocInstance();if(u==null||c==null||p==null||l==null)return!1;const m=l.getEditArea(),h=p.getTransformerByCreate(),{pages:v,skeHeaders:I,skeFooters:f}=c,T=i.JSONX.getInstance(),y=[],{drawings:O={}}=u.getSnapshot();for(const E of t){const{drawingId:w}=E,U=O[w].layoutType,$=Rt[n];if(U!==$){const D=T.replaceOp(["drawings",w,"layoutType"],U,$);y.push(D)}if(n==="behindText"||n==="inFrontOfText"){const D=O[w].behindDoc,x=n==="behindText"?i.BooleanNumber.TRUE:i.BooleanNumber.FALSE;if(D!==x){const M=T.replaceOp(["drawings",w,"behindDoc"],D,x);y.push(M)}}if(n==="inline")continue;let N=null,z=0,_=0;for(const D of v){const{headerId:x,footerId:M,marginTop:F,marginLeft:H,marginBottom:R,pageWidth:A,pageHeight:q}=D;switch(m){case j.DocumentEditArea.HEADER:{const G=(P=I.get(x))==null?void 0:P.get(A);G!=null&&G.skeDrawings.has(w)&&(N=G.skeDrawings.get(w),z=G.marginTop,_=H);break}case j.DocumentEditArea.FOOTER:{const G=(k=f.get(M))==null?void 0:k.get(A);G!=null&&G.skeDrawings.has(w)&&(N=G.skeDrawings.get(w),z=q-R+G.marginTop,_=H);break}case j.DocumentEditArea.BODY:{D.skeDrawings.has(w)&&(N=D.skeDrawings.get(w),z=F,_=H);break}}if(N!=null)break}if(N!=null){const{aTop:D,aLeft:x}=N,M=O[w].docTransform.positionH;let F=x;M.relativeFrom===i.ObjectRelativeFromH.MARGIN?F-=_:M.relativeFrom===i.ObjectRelativeFromH.COLUMN&&(F-=N.columnLeft);const H={relativeFrom:M.relativeFrom,posOffset:F};if(M.posOffset!==H.posOffset){const G=T.replaceOp(["drawings",w,"docTransform","positionH"],M,H);y.push(G)}const R=O[w].docTransform.positionV;let A=D;R.relativeFrom===i.ObjectRelativeFromV.PAGE?A+=z:R.relativeFrom===i.ObjectRelativeFromV.LINE?A-=N.lineTop:R.relativeFrom===i.ObjectRelativeFromV.PARAGRAPH&&(A-=N.blockAnchorTop);const q={relativeFrom:R.relativeFrom,posOffset:A};if(R.posOffset!==q.posOffset){const G=T.replaceOp(["drawings",w,"docTransform","positionV"],R,q);y.push(G)}}}const C={id:B.RichTextEditingMutation.id,params:{unitId:r,actions:[],textRanges:null}};C.params.actions=y.reduce((E,w)=>i.JSONX.compose(E,w),null);const b=s.syncExecuteCommand(C.id,C.params);return h.refreshControls(),!!b}},ut={id:"doc.command.update-doc-drawing-distance",type:i.CommandType.COMMAND,handler:(o,e)=>{if(e==null)return!1;const t=o.get(i.ICommandService),r=o.get(i.IUniverInstanceService).getCurrentUniverDocInstance();if(r==null)return!1;const{drawings:s,dist:a,unitId:d}=e,g=i.JSONX.getInstance(),c=[],{drawings:l={}}=r.getSnapshot();for(const m of s){const{drawingId:h}=m;for(const[v,I]of Object.entries(a)){const f=l[h][v];if(f!==I){const T=g.replaceOp(["drawings",h,v],f,I);c.push(T)}}}const p={id:B.RichTextEditingMutation.id,params:{unitId:d,actions:[],textRanges:null}};return p.params.actions=c.reduce((m,h)=>i.JSONX.compose(m,h),null),!!t.syncExecuteCommand(p.id,p.params)}},pt={id:"doc.command.update-doc-drawing-wrap-text",type:i.CommandType.COMMAND,handler:(o,e)=>{if(e==null)return!1;const t=o.get(i.ICommandService),r=o.get(i.IUniverInstanceService).getCurrentUniverDocInstance();if(r==null)return!1;const{drawings:s,wrapText:a,unitId:d}=e,g=i.JSONX.getInstance(),c=[],{drawings:l={}}=r.getSnapshot();for(const m of s){const{drawingId:h}=m,v=l[h].wrapText;if(v!==a){const I=g.replaceOp(["drawings",h,"wrapText"],v,a);c.push(I)}}const p={id:B.RichTextEditingMutation.id,params:{unitId:d,actions:[],textRanges:null}};return p.params.actions=c.reduce((m,h)=>i.JSONX.compose(m,h),null),!!t.syncExecuteCommand(p.id,p.params)}},Ce={id:"doc.command.update-drawing-doc-transform",type:i.CommandType.COMMAND,handler:(o,e)=>{if(e==null)return!1;const t=o.get(i.ICommandService),n=o.get(i.IUniverInstanceService),s=o.get(j.IRenderManagerService).getRenderById(e.unitId),a=s==null?void 0:s.scene;if(a==null)return!1;const d=a.getTransformerByCreate(),g=n.getCurrentUniverDocInstance();if(g==null)return!1;const{drawings:c,unitId:l}=e,p=i.JSONX.getInstance(),u=[],{drawings:m={}}=g.getSnapshot();for(const I of c){const{drawingId:f,key:T,value:y}=I,O=m[f].docTransform[T];if(!i.Tools.diffValue(O,y)){const C=p.replaceOp(["drawings",f,"docTransform",T],O,y);u.push(C)}}const h={id:B.RichTextEditingMutation.id,params:{unitId:l,actions:[],textRanges:null,debounce:!0}};h.params.actions=u.reduce((I,f)=>i.JSONX.compose(I,f),null);const v=t.syncExecuteCommand(h.id,h.params);return d.refreshControls(),!!v}},ht={id:"doc.command.move-inline-drawing",type:i.CommandType.COMMAND,handler:(o,e)=>{var k,E;if(e==null)return!1;const t=o.get(j.IRenderManagerService),n=(k=t.getRenderById(e.unitId))==null?void 0:k.with(W.DocSelectionRenderService),r=o.get(Ge),s=t.getRenderById(e.unitId),a=s==null?void 0:s.scene,d=s==null?void 0:s.with(B.DocSkeletonManagerService).getSkeleton();if(a==null||n==null)return!1;const g=a.getTransformerByCreate(),c=o.get(i.ICommandService),p=o.get(i.IUniverInstanceService).getCurrentUniverDocInstance();if(p==null)return!1;const{drawing:u,unitId:m,offset:h,segmentId:v,segmentPage:I,needRefreshDrawings:f}=e;if(f)return r.refreshDrawings(d),g.refreshControls(),!0;const T=[],{drawingId:y}=u,O=(E=n.getSegment())!=null?E:"",C=gt(v,O,I,h,y,p,n);if(C==null||C.length===0)return r.refreshDrawings(d),g.refreshControls(),!1;T.push(...C);const b={id:B.RichTextEditingMutation.id,params:{unitId:m,actions:[],textRanges:null}};b.params.actions=T.reduce((w,U)=>i.JSONX.compose(w,U),null);const P=c.syncExecuteCommand(b.id,b.params);return g.refreshControls(),!!P}},mt={id:"doc.command.transform-non-inline-drawing",type:i.CommandType.COMMAND,handler:(o,e)=>{var N,z;if(e==null)return!1;const t=o.get(j.IRenderManagerService),n=(N=t.getRenderById(e.unitId))==null?void 0:N.with(W.DocSelectionRenderService),r=t.getRenderById(e.unitId),s=r==null?void 0:r.scene;if(s==null||n==null)return!1;const a=s.getTransformerByCreate(),d=o.get(i.ICommandService),c=o.get(i.IUniverInstanceService).getCurrentUniverDocInstance();if(c==null)return!1;const{drawing:l,unitId:p,offset:u,docTransform:m,segmentId:h,segmentPage:v}=e,I=[],{drawingId:f}=l,T=(z=n.getSegment())!=null?z:"",y=gt(h,T,v,u,f,c,n);if(y==null)return!1;y.length>0&&I.push(...y);const O=i.JSONX.getInstance(),{drawings:C={}}=c.getSnapshot(),b=C[f].docTransform,{positionH:P,positionV:k,size:E,angle:w}=b;if(!i.Tools.diffValue(P,m.positionH)){const _=O.replaceOp(["drawings",f,"docTransform","positionH"],P,m.positionH);I.push(_)}if(!i.Tools.diffValue(k,m.positionV)){const _=O.replaceOp(["drawings",f,"docTransform","positionV"],k,m.positionV);I.push(_)}if(!i.Tools.diffValue(E,m.size)){const _=O.replaceOp(["drawings",f,"docTransform","size"],E,m.size);I.push(_)}if(!i.Tools.diffValue(w,m.angle)){const _=O.replaceOp(["drawings",f,"docTransform","angle"],w,m.angle);I.push(_)}const U={id:B.RichTextEditingMutation.id,params:{unitId:p,actions:[],textRanges:null,debounce:!0}};U.params.actions=I.reduce((_,D)=>i.JSONX.compose(_,D),null);const $=d.syncExecuteCommand(U.id,U.params);return a.refreshControls(),!!$}},Te={id:"doc.command.move-drawing",type:i.CommandType.COMMAND,handler:(o,e)=>{const t=o.get(i.ICommandService),n=o.get(Se.IDocDrawingService),r=o.get(i.IUniverInstanceService),s=o.get(j.IRenderManagerService),{direction:a}=e,d=n.getFocusDrawings();if(d.length===0)return!1;const g=d[0].unitId,c=s.getRenderById(g),l=c==null?void 0:c.scene;if(l==null)return!1;const p=l.getTransformerByCreate(),u=r.getUniverDocInstance(g),m=d.map(v=>{var b,P,k,E,w;const{drawingId:I}=v,f=(b=u==null?void 0:u.getSnapshot().drawings)==null?void 0:b[I];if(f==null||f.layoutType===i.PositionedObjectLayoutType.INLINE)return null;const{positionH:T,positionV:y}=f.docTransform,O={...T},C={...y};return a===i.Direction.UP?C.posOffset=((P=C.posOffset)!=null?P:0)-2:a===i.Direction.DOWN?C.posOffset=((k=C.posOffset)!=null?k:0)+2:a===i.Direction.LEFT?O.posOffset=((E=O.posOffset)!=null?E:0)-2:a===i.Direction.RIGHT&&(O.posOffset=((w=O.posOffset)!=null?w:0)+2),{drawingId:I,key:a===i.Direction.UP||a===i.Direction.DOWN?"positionV":"positionH",value:a===i.Direction.UP||a===i.Direction.DOWN?C:O}}).filter(v=>v!=null);if(m.length===0)return!1;const h=t.syncExecuteCommand(Ce.id,{unitId:g,subUnitId:g,drawings:m});return p.refreshControls(),!!h}},ft={id:"doc.operation.clear-drawing-transformer",type:i.CommandType.MUTATION,handler:(o,e)=>{const t=o.get(j.IRenderManagerService);return e.forEach(n=>{var r,s;(s=(r=t.getRenderById(n))==null?void 0:r.scene.getTransformer())==null||s.debounceRefreshControls()}),!0}},vt="COMPONENT_DOC_DRAWING_PANEL",tt={id:"sidebar.operation.doc-image",type:i.CommandType.COMMAND,handler:async(o,e)=>{const t=o.get(L.ISidebarService),n=o.get(i.LocaleService),r=o.get(V.IDrawingManagerService);return e.value==="open"?t.open({header:{title:n.t("docImage.panel.title")},children:{label:vt},onClose:()=>{r.focusDrawing(null)},width:360}):t.close(),!0}},nt={id:"doc.operation.edit-doc-image",type:i.CommandType.OPERATION,handler:(o,e)=>{const t=o.get(V.IDrawingManagerService),n=o.get(i.ICommandService);return e==null?!1:(t.focusDrawing([e]),n.executeCommand(tt.id,{value:"open"}),!0)}};var Ct=Object.getOwnPropertyDescriptor,xt=(o,e,t,n)=>{for(var r=n>1?void 0:n?Ct(e,t):e,s=o.length-1,a;s>=0;s--)(a=o[s])&&(r=a(r)||r);return r},De=(o,e)=>(t,n)=>e(t,n,o);function It(o,e,t=1,n=0){const{top:r,left:s,bottom:a,right:d}=o,g=d-s,c=a-r,l=e.getViewport(W.VIEWPORT_KEY.VIEW_MAIN),{viewportScrollX:p,viewportScrollY:u}=l,{scaleX:m,scaleY:h}=e.getAncestorScale();return{startX:(s-p)*m,startY:(r-u)*h,endX:(s+g-p)*m,endY:(r+c-u)*h,width:g*m,height:c*h,rotate:n,absolute:{left:!1,top:!1},opacity:t!=null?t:1}}function ze(o,e){const{top:t,left:n,width:r,height:s,angle:a,opacity:d}=o;return It({top:t,left:n,bottom:t+s,right:n+r},e.scene,d,a)}exports.DocFloatDomController=class extends i.Disposable{constructor(t,n,r,s,a,d){super();ce(this,"_domLayerInfoMap",new Map);this._renderManagerService=t,this._drawingManagerService=n,this._drawingRenderService=r,this._canvasFloatDomService=s,this._univerInstanceService=a,this._commandService=d,this._initialize()}dispose(){super.dispose()}_initialize(){this._drawingAddRemoveListener(),this._initScrollAndZoomEvent()}_getSceneAndTransformerByDrawingSearch(t){if(t==null)return;const n=this._renderManagerService.getRenderById(t);if(n==null)return null;const r=n.scene,s=r.getTransformerByCreate();return{scene:r,transformer:s,renderUnit:n,canvas:n.engine.getCanvasElement()}}_drawingAddRemoveListener(){this.disposeWithMe(this._drawingManagerService.add$.subscribe(t=>{this._insertRects(t)})),this.disposeWithMe(this._drawingManagerService.remove$.subscribe(t=>{t.forEach(n=>{this._removeDom(n.drawingId)})}))}_insertRects(t){t.forEach(async n=>{const{unitId:r}=n;if(!this._univerInstanceService.getUnit(r,i.UniverInstanceType.UNIVER_DOC))return;const a=this._getSceneAndTransformerByDrawingSearch(r);if(a==null)return;const d=this._drawingManagerService.getDrawingByParam(n);if(d==null)return;const g=await this._drawingRenderService.renderFloatDom(d,a.scene);if(!(g==null||g.length===0))for(const c of g){this._addHoverForRect(c);const l=new i.DisposableCollection,p=ze(c,a.renderUnit),u=new J.BehaviorSubject(p),m=a.canvas,h=d.data,v={dispose:l,rect:c,position$:u,unitId:r};this._canvasFloatDomService.addFloatDom({position$:u,id:d.drawingId,componentKey:d.componentKey,onPointerDown:f=>{m.dispatchEvent(new PointerEvent(f.type,f))},onPointerMove:f=>{m.dispatchEvent(new PointerEvent(f.type,f))},onPointerUp:f=>{m.dispatchEvent(new PointerEvent(f.type,f))},onWheel:f=>{m.dispatchEvent(new WheelEvent(f.type,f))},data:h,unitId:r});const I=c.onTransformChange$.subscribeEvent(()=>{const f=ze(c,a.renderUnit);u.next(f)});l.add(()=>{this._canvasFloatDomService.removeFloatDom(d.drawingId)}),I&&l.add(I),this._domLayerInfoMap.set(d.drawingId,v)}})}_addHoverForRect(t){this.disposeWithMe(i.toDisposable(t.onPointerEnter$.subscribeEvent(()=>{t.cursor=j.CURSOR_TYPE.GRAB}))),this.disposeWithMe(i.toDisposable(t.onPointerLeave$.subscribeEvent(()=>{t.cursor=j.CURSOR_TYPE.DEFAULT})))}_removeDom(t){const n=this._domLayerInfoMap.get(t);if(!n)return;const{unitId:r}=n;this._domLayerInfoMap.delete(t),n.dispose.dispose();const s=this._getSceneAndTransformerByDrawingSearch(r);s&&s.scene.removeObject(n.rect)}_initScrollAndZoomEvent(){const t=n=>{const r=this._getSceneAndTransformerByDrawingSearch(n);r&&this._domLayerInfoMap.forEach(s=>{if(s.unitId!==n)return;const a=ze(s.rect,r.renderUnit);s.position$.next(a)})};this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(i.UniverInstanceType.UNIVER_DOC).pipe(J.map(n=>{if(!n)return null;const r=n.getUnitId(),s=this._renderManagerService.getRenderById(r);return s?{render:s,unitId:r}:null}),J.switchMap(n=>n?i.fromEventSubject(n.render.scene.getViewport(W.VIEWPORT_KEY.VIEW_MAIN).onScrollAfter$).pipe(J.map(()=>({unitId:n.unitId}))):J.of(null))).subscribe(n=>{if(!n)return;const{unitId:r}=n;t(r)})),this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===W.SetDocZoomRatioOperation.id){const r=n.params,{unitId:s}=r;t(s)}}))}insertFloatDom(t,n){var I,f,T;const r=this._univerInstanceService.getCurrentUnitOfType(i.UniverInstanceType.UNIVER_DOC);if(!r)return!1;const s=this._getSceneAndTransformerByDrawingSearch(r.getUnitId());if(!s)return!1;const g=(I=s.renderUnit.with(B.DocSkeletonManagerService).getSkeleton().getSkeletonData())==null?void 0:I.pages[0];if(!g)return!1;const{pageWidth:c,marginLeft:l,marginRight:p}=g,u=c-l-p,m={size:{width:(f=n.width)!=null?f:u,height:n.height},positionH:{relativeFrom:i.ObjectRelativeFromH.PAGE,posOffset:0},positionV:{relativeFrom:i.ObjectRelativeFromV.PAGE,posOffset:0},angle:0},h=(T=n.drawingId)!=null?T:i.generateRandomId(),v={unitId:r.getUnitId(),drawings:[{drawingId:h,drawingType:i.DrawingTypeEnum.DRAWING_DOM,subUnitId:r.getUnitId(),unitId:r.getUnitId(),...t,title:"",description:"",docTransform:m,layoutType:i.PositionedObjectLayoutType.INLINE,transform:W.docDrawingPositionToTransform(m)}]};return this._commandService.syncExecuteCommand(He.id,v),h}};exports.DocFloatDomController=xt([De(0,j.IRenderManagerService),De(1,V.IDrawingManagerService),De(2,i.Inject(he.DrawingRenderService)),De(3,i.Inject(L.CanvasFloatDomService)),De(4,i.IUniverInstanceService),De(5,i.ICommandService)],exports.DocFloatDomController);const it="doc.menu.image",wt=et.id,Et=o=>{const e=o.get(B.DocSelectionManagerService),t=o.get(i.IUniverInstanceService);return new J.Observable(n=>{const r=e.textSelection$.subscribe(()=>{var a;const s=e.getActiveTextRange();if(s){const{segmentId:d,startOffset:g,endOffset:c}=s,l=t.getCurrentUniverDocInstance(),p=(a=l==null?void 0:l.getSelfOrHeaderFooterModel(d).getBody())==null?void 0:a.tables;if(p&&p.length&&p.some(u=>{const{startIndex:m,endIndex:h}=u;return g>=m&&g<h||c>=m&&c<h})){n.next(!0);return}}else{n.next(!0);return}n.next(!1)});return()=>r.unsubscribe()})};function Pt(o){return{id:it,type:L.MenuItemType.SUBITEMS,icon:"AddImageIcon",tooltip:"docImage.title",disabled$:Et(o),hidden$:L.getMenuHiddenObservable(o,i.UniverInstanceType.UNIVER_DOC,void 0,i.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}function At(o){return{id:wt,title:"docImage.upload.float",type:L.MenuItemType.BUTTON,hidden$:L.getMenuHiddenObservable(o,i.UniverInstanceType.UNIVER_DOC,void 0,i.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}const Nt="@univerjs/docs-drawing-ui",jt="0.17.0",St={name:Nt,version:jt},Ut="docs-drawing-ui.config",st={};var Ft=Object.getOwnPropertyDescriptor,Lt=(o,e,t,n)=>{for(var r=n>1?void 0:n?Ft(e,t):e,s=o.length-1,a;s>=0;s--)(a=o[s])&&(r=a(r)||r);return r},Me=(o,e)=>(t,n)=>e(t,n,o);function Bt(o){var n,r,s,a;if(i.JSONX.isNoop(o)||!Array.isArray(o))return null;const e=o.find(d=>Array.isArray(d)&&(d==null?void 0:d[0])==="drawings");if(e==null||!Array.isArray(e)||e.length<3||typeof e[1]=="string"&&typeof e[2]!="object"||Array.isArray(e[1])&&typeof e[1][1]!="object")return null;const t=[];if(Array.isArray(e==null?void 0:e[1]))for(const d of e)Array.isArray(d)&&t.push({type:(n=d==null?void 0:d[1])!=null&&n.i?"add":"remove",drawingId:d==null?void 0:d[0],drawing:(r=d==null?void 0:d[1])==null?void 0:r.i});else t.push({type:(s=e[2])!=null&&s.i?"add":"remove",drawingId:e[1],drawing:(a=e[2])==null?void 0:a.i});return t}function kt(o){if(!Array.isArray(o)||o.length<3||o[0]!=="drawingsOrder")return[];const e=[];for(let t=1;t<o.length;t++){const n=o[t];if(Array.isArray(n)&&typeof n[0]=="number"&&typeof n[1]=="object")e.push(n[0]);else{e.length=0;break}}return e}let Ue=class extends i.Disposable{constructor(o,e,t,n,r){super(),this._univerInstanceService=o,this._commandService=e,this._drawingManagerService=t,this._docDrawingService=n,this._renderManagerService=r,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(o=>{if(o.id!==B.RichTextEditingMutation.id)return;const e=o.params,{unitId:t,actions:n}=e,r=Bt(n);if(r!=null)for(const{type:s,drawingId:a,drawing:d}of r)s==="add"?this._addDrawings(t,[d]):this._removeDrawings(t,[a])})),this.disposeWithMe(this._commandService.onCommandExecuted(o=>{if(o.id!==B.RichTextEditingMutation.id)return;const e=o.params,{unitId:t,actions:n}=e;kt(n).length>0&&this._updateDrawingsOrder(t)})),this.disposeWithMe(this._commandService.onCommandExecuted(o=>{var a;if(o.id!==i.UndoCommand.id&&o.id!==i.RedoCommand.id)return;const e=(a=this._univerInstanceService.getCurrentUniverDocInstance())==null?void 0:a.getUnitId(),t=this._drawingManagerService.getFocusDrawings();if(e==null||t.length===0)return;const n=this._renderManagerService.getRenderById(e),r=n==null?void 0:n.scene;if(r==null)return!1;r.getTransformerByCreate().refreshControls()}))}_addDrawings(o,e){const t=this._drawingManagerService,n=this._docDrawingService,r=this._docDrawingService.getBatchAddOp(e),{subUnitId:s,redo:a,objects:d}=r;t.applyJson1(o,s,a),n.applyJson1(o,s,a),t.addNotification(d),n.addNotification(d)}_removeDrawings(o,e){const t=this._drawingManagerService,n=this._docDrawingService,r=this._docDrawingService.getBatchRemoveOp(e.map(g=>({unitId:o,subUnitId:o,drawingId:g}))),{subUnitId:s,redo:a,objects:d}=r;t.applyJson1(o,s,a),n.applyJson1(o,s,a),t.removeNotification(d),n.removeNotification(d)}_updateDrawingsOrder(o){const e=this._univerInstanceService.getUniverDocInstance(o);if(e==null)return;const t=e.getSnapshot().drawingsOrder;if(t==null)return;const n=this._drawingManagerService,r=this._docDrawingService;n.setDrawingOrder(o,o,t),r.setDrawingOrder(o,o,t);const s={unitId:o,subUnitId:o,drawingIds:t};n.orderNotification(s),r.orderNotification(s)}};Ue=Lt([Me(0,i.IUniverInstanceService),Me(1,i.ICommandService),Me(2,V.IDrawingManagerService),Me(3,Se.IDocDrawingService),Me(4,j.IRenderManagerService)],Ue);const Wt=o=>{const{floatDomInfos:e,scene:t,offset:n,bound:r}=o,s=r.right-r.left,a=r.bottom-r.top,d=K.useMemo(()=>e.map(g=>{const{width:c=0,height:l=0,left:p=0,top:u=0}=g.transform,h=It({left:p,right:p+c,top:u,bottom:u+l},t),v={position$:new J.BehaviorSubject(h),position:h,id:g.drawingId,componentKey:g.componentKey,onPointerMove:()=>{},onPointerDown:()=>{},onPointerUp:()=>{},onWheel:()=>{},unitId:g.unitId,data:g.data};return[g.drawingId,v]}).filter(([g,c])=>!(c.position.endX<0||c.position.endY<0||c.position.startX>s||c.position.startY>a)),[e,t,n,s,a]);return S.jsx("div",{className:"univer-absolute univer-left-0 univer-top-0",children:d.map(([g,c])=>S.jsx(L.PrintFloatDomSingle,{layer:c,id:g,position:c.position},g))})};var Ht=Object.getOwnPropertyDescriptor,Gt=(o,e,t,n)=>{for(var r=n>1?void 0:n?Ht(e,t):e,s=o.length-1,a;s>=0;s--)(a=o[s])&&(r=a(r)||r);return r},be=(o,e)=>(t,n)=>e(t,n,o);let Fe=class extends i.Disposable{constructor(o,e,t,n,r){super(),this._docPrintInterceptorService=o,this._drawingRenderService=e,this._drawingManagerService=t,this._componetManager=n,this._injector=r,this._initPrinting(),this._initPrintingDom()}_initPrinting(){this.disposeWithMe(this._docPrintInterceptorService.interceptor.intercept(this._docPrintInterceptorService.interceptor.getInterceptPoints().PRINTING_COMPONENT_COLLECT,{handler:(o,e,t)=>{const{unitId:n,scene:r}=e,s=this._drawingManagerService.getDrawingDataForUnit(n),a=s==null?void 0:s[n];return a&&a.order.forEach(d=>{const g=a.data[d];g.drawingType!==i.DrawingTypeEnum.DRAWING_CHART&&g.drawingType!==i.DrawingTypeEnum.DRAWING_DOM&&this._drawingRenderService.renderDrawing(g,r)}),t()}}))}_initPrintingDom(){this.disposeWithMe(this._docPrintInterceptorService.interceptor.intercept(this._docPrintInterceptorService.interceptor.getInterceptPoints().PRINTING_DOM_COLLECT,{handler:(o,e,t)=>{const{unitId:n}=e,r=this._drawingManagerService.getDrawingDataForUnit(n),s=r==null?void 0:r[n];if(s){const a=s.order.map(g=>{const c=s.data[g];if(c.drawingType===i.DrawingTypeEnum.DRAWING_CHART)return{...c,componentKey:this._componetManager.get(i.DOC_DRAWING_PRINTING_COMPONENT_KEY)};if(c.drawingType===i.DrawingTypeEnum.DRAWING_DOM){const l=this._docPrintInterceptorService.getPrintComponent(c.componentKey);return{...c,componentKey:this._componetManager.get(l||c.componentKey)}}return null}).filter(Boolean),d=L.connectInjector(Wt,this._injector);return X.render(S.jsx(d,{unitId:n,floatDomInfos:a,scene:e.scene,skeleton:e.skeleton,offset:e.offset,bound:e.bound}),e.root),o==null||o.add(()=>{X.unmount(e.root)}),t(o)}}}))}};Fe=Gt([be(0,i.Inject(W.DocPrintInterceptorService)),be(1,i.Inject(he.DrawingRenderService)),be(2,V.IDrawingManagerService),be(3,i.Inject(L.ComponentManager)),be(4,i.Inject(i.Injector))],Fe);var Vt=Object.getOwnPropertyDescriptor,Xt=(o,e,t,n)=>{for(var r=n>1?void 0:n?Vt(e,t):e,s=o.length-1,a;s>=0;s--)(a=o[s])&&(r=a(r)||r);return r},Ee=(o,e)=>(t,n)=>e(t,n,o);const $t="__InlineDrawingAnchor__";function at(o){const{path:e}=o;return e.some(t=>t==="cells")}let Le=class extends i.Disposable{constructor(e,t,n,r){super();ce(this,"_liquid",new j.Liquid);ce(this,"_listenerOnImageMap",new Set);ce(this,"_transformerCache",new Map);ce(this,"_anchorShape");this._commandService=e,this._univerInstanceService=t,this._drawingManagerService=n,this._renderManagerService=r,this._init()}_init(){this._listenDrawingFocus()}_listenDrawingFocus(){this.disposeWithMe(this._drawingManagerService.add$.subscribe(e=>{if(e.length!==0)for(const t of e){const{unitId:n}=t;this._listenerOnImageMap.has(n)||(this._listenTransformerChange(n),this._listenerOnImageMap.add(n))}}))}_listenTransformerChange(e){var r;const t=(r=this._getSceneAndTransformerByDrawingSearch(e))==null?void 0:r.transformer;if(t==null)return;this.disposeWithMe(i.toDisposable(t.changeStart$.subscribe(s=>{var d;this._transformerCache.clear();const{objects:a}=s;for(const g of a.values()){const{oKey:c,width:l,height:p,left:u,top:m,angle:h}=g,v=this._drawingManagerService.getDrawingOKey(c);if(v==null)continue;const I=this._univerInstanceService.getUniverDocInstance(v.unitId),f=(d=I==null?void 0:I.getSnapshot().drawings)==null?void 0:d[v.drawingId];if((f==null?void 0:f.layoutType)===i.PositionedObjectLayoutType.INLINE)try{g.setOpacity(.2)}catch{}f!=null&&this._transformerCache.set(v.drawingId,{drawing:f,top:m,left:u,width:l,height:p,angle:h})}})));const n=i.throttle(this._updateMultipleDrawingDocTransform.bind(this),50);i.throttle(this._nonInlineDrawingTransform.bind(this),50),this.disposeWithMe(i.toDisposable(t.changing$.subscribe(s=>{const{objects:a,offsetX:d,offsetY:g}=s;if(a.size>1)n(a);else if(a.size===1){const c=this._transformerCache.values().next().value,l=a.values().next().value,{width:p,height:u,top:m,left:h,angle:v}=l;if(c&&p===c.width&&u===c.height&&m===c.top&&h===c.left&&v===c.angle)return;c&&(c.drawing.layoutType,i.PositionedObjectLayoutType.INLINE),c&&c.drawing.layoutType===i.PositionedObjectLayoutType.INLINE&&d!=null&&g!=null&&this._updateInlineDrawingAnchor(c.drawing,d,g)}}))),this.disposeWithMe(i.toDisposable(t.changeEnd$.subscribe(s=>{const{objects:a,offsetX:d,offsetY:g}=s;for(const c of a.values()){const l=this._drawingManagerService.getDrawingOKey(c.oKey);if(l==null)continue;const p=this._transformerCache.get(l==null?void 0:l.drawingId);if((p==null?void 0:p.drawing.layoutType)===i.PositionedObjectLayoutType.INLINE)try{c.setOpacity(1)}catch{}}if(this._anchorShape&&this._anchorShape.hide(),a.size>1)this._updateMultipleDrawingDocTransform(a);else if(a.size===1){const c=this._transformerCache.values().next().value,l=a.values().next().value,{width:p,height:u,top:m,left:h,angle:v}=l;if(c&&p===c.width&&u===c.height&&m===c.top&&h===c.left&&v===c.angle)return;c&&c.drawing.layoutType===i.PositionedObjectLayoutType.INLINE?p!==c.width||u!==c.height||v!==c.angle?this._updateDrawingSize(c,l):d!=null&&g!=null&&this._moveInlineDrawing(c.drawing,d,g):c&&this._nonInlineDrawingTransform(c.drawing,l)}this._transformerCache.clear()})))}_updateMultipleDrawingDocTransform(e){if(e.size<1)return;const t=[];let n,r;for(const s of e.values()){const{oKey:a,left:d,top:g,angle:c}=s;let{width:l,height:p}=s;const u=this._drawingManagerService.getDrawingOKey(a);if(u==null)continue;n==null&&(n=u.unitId),r==null&&(r=u.subUnitId);const m=this._transformerCache.get(u.drawingId);if(m==null)continue;const{drawing:h,top:v,left:I,width:f,height:T,angle:y}=m,{width:O,height:C}=this._getPageContentSize(h);if(l=Math.min(l,O),p=Math.min(p,C),(f!==l||T!==p)&&t.push({drawingId:u.drawingId,key:"size",value:{width:l,height:p}}),y!==c&&t.push({drawingId:u.drawingId,key:"angle",value:c}),v!==g||I!==d){const b=g-v,P=d-I;b!==0&&t.push({drawingId:u.drawingId,key:"positionV",value:{relativeFrom:h.docTransform.positionV.relativeFrom,posOffset:h.docTransform.positionV.posOffset+b}}),P!==0&&t.push({drawingId:u.drawingId,key:"positionH",value:{relativeFrom:h.docTransform.positionH.relativeFrom,posOffset:h.docTransform.positionH.posOffset+P}})}}t.length>0&&n&&r&&this._commandService.executeCommand(Ce.id,{unitId:n,subUnitId:r,drawings:t})}_updateDrawingAnchor(e){if(this._transformerCache.size!==1)return;const t=this._transformerCache.values().next().value,n=e.values().next().value;this._getDrawingAnchor(t.drawing,n)}_updateInlineDrawingAnchor(e,t,n){var s;if(this._transformerCache.size!==1)return;const{contentBoxPointGroup:r}=(s=this._getInlineDrawingAnchor(e,t,n))!=null?s:{};r!=null&&this._createOrUpdateInlineAnchor(e.unitId,r)}_getInlineDrawingAnchor(e,t,n){var N,z;const r=this._renderManagerService.getRenderById(e.unitId),s=r==null?void 0:r.with(B.DocSkeletonManagerService).getSkeleton();if(r==null)return;const{mainComponent:a,scene:d}=r,g=a,c=d.getViewports()[0],{pageLayoutType:l=j.PageLayoutType.VERTICAL,pageMarginLeft:p,pageMarginTop:u}=g.getOffsetConfig();let m=null,h=!1,v=-1,I="";const f=.5,T=this._getTransformCoordForDocumentOffset(g,c,t,n);if(T==null)return;const y=(N=this._renderManagerService.getRenderById(e.unitId))==null?void 0:N.with(W.DocSelectionRenderService);if(y==null)return;const O=s==null?void 0:s.findNodeByCoord(T,l,p,u,{strict:!1,segmentId:y.getSegment(),segmentPage:y.getSegmentPage()});if(O){const{node:_,ratioX:D,segmentPage:x,segmentId:M}=O;h=D<f,m=_,v=x,I=M}if(m==null)return;const C=s==null?void 0:s.findPositionByGlyph(m,v),b=this._getDocObject();if(C==null||s==null||b==null||at(C))return;const P={...C,isBack:h},k=b.document.getOffsetConfig(),E=new W.NodePositionConvertToCursor(k,s),{cursorList:w,contentBoxPointGroup:U}=E.getRangePointData(P,P),{startOffset:$}=(z=W.getOneTextSelectionRange(w))!=null?z:{};if($!=null)return{offset:$,contentBoxPointGroup:U,segmentId:I,segmentPage:v}}_getDrawingAnchor(e,t){var de,ge,ne,le,ue,fe,ve,pe,ie,re,Ie;const n=this._renderManagerService.getRenderById(e.unitId),r=n==null?void 0:n.with(B.DocSkeletonManagerService).getSkeleton(),s=r==null?void 0:r.getSkeletonData();if(s==null||n==null)return;const{pages:a,skeHeaders:d,skeFooters:g}=s,{mainComponent:c,scene:l}=n,p=c,u=l.getViewports()[0],{pageLayoutType:m=j.PageLayoutType.VERTICAL,pageMarginLeft:h,pageMarginTop:v,docsLeft:I,docsTop:f}=p.getOffsetConfig(),{left:T,top:y,angle:O}=t;let{width:C,height:b}=t;const{positionV:P,positionH:k}=e.docTransform,{width:E,height:w}=this._getPageContentSize(e);C=Math.min(C,E),b=Math.min(b,w);let U=null,$="",N=-1;const z=!1,_={...e.docTransform,size:{width:C,height:b},angle:O},{x:D,y:x}=l.getViewportScrollXY(u),M=this._getTransformCoordForDocumentOffset(p,u,T-D,y-x);if(M==null)return;const F=(de=this._renderManagerService.getRenderById(e.unitId))==null?void 0:de.with(W.DocSelectionRenderService);if(F==null)return;const H=r==null?void 0:r.findNodeByCoord(M,m,h,v,{strict:!1,segmentId:F.getSegment(),segmentPage:F.getSegmentPage()});if(H){const{node:ae,segmentPage:Xe,segmentId:$e}=H;U=ae,N=Xe,$=$e}if(U==null)return;const R=(ge=U.parent)==null?void 0:ge.parent,A=R==null?void 0:R.parent,q=(ne=A==null?void 0:A.lines.find(ae=>ae.paragraphIndex===(R==null?void 0:R.paragraphIndex)&&ae.paragraphStart))!=null?ne:A==null?void 0:A.lines[0],G=(le=A==null?void 0:A.parent)==null?void 0:le.parent;if(R==null||A==null||q==null||G==null)return;this._liquid.reset();const Y=G.type;for(const ae of a){const{headerId:Xe,footerId:$e,pageHeight:_t,pageWidth:rt,marginLeft:ot,marginBottom:Dt}=ae,Tt=a.indexOf(ae);if(N>-1&&Tt===N){switch(Y){case j.DocumentSkeletonPageType.HEADER:{const Oe=(ue=d.get(Xe))==null?void 0:ue.get(rt);if(Oe)this._liquid.translatePagePadding({marginTop:Oe.marginTop,marginLeft:ot});else throw new Error("header skeleton not found");break}case j.DocumentSkeletonPageType.FOOTER:{const Oe=(fe=g.get($e))==null?void 0:fe.get(rt);if(Oe)this._liquid.translatePagePadding({marginTop:_t-Dt+Oe.marginTop,marginLeft:ot});else throw new Error("footer skeleton not found");break}}break}if(this._liquid.translatePagePadding(ae),ae===G)break;this._liquid.restorePagePadding(ae),this._liquid.translatePage(ae,m,h,v)}switch(P.relativeFrom===i.ObjectRelativeFromV.LINE?U=R.divides[0].glyphGroup[0]:U=(re=(ie=(pe=(ve=q.divides)==null?void 0:ve[0])==null?void 0:pe.glyphGroup)==null?void 0:ie[0])!=null?re:U,_.positionH={relativeFrom:k.relativeFrom,posOffset:T-this._liquid.x-I},k.relativeFrom){case i.ObjectRelativeFromH.MARGIN:{_.positionH.posOffset=T-this._liquid.x-I-G.marginLeft;break}case i.ObjectRelativeFromH.COLUMN:{_.positionH.posOffset=T-this._liquid.x-I-A.left;break}}switch(_.positionV={relativeFrom:P.relativeFrom,posOffset:y-this._liquid.y-f},P.relativeFrom){case i.ObjectRelativeFromV.PAGE:{_.positionV.posOffset=y-this._liquid.y-f-G.marginTop;break}case i.ObjectRelativeFromV.LINE:{_.positionV.posOffset=y-this._liquid.y-f-R.top;break}case i.ObjectRelativeFromV.PARAGRAPH:{_.positionV.posOffset=y-this._liquid.y-f-q.top;break}}if(U==null)return;const ee=r==null?void 0:r.findPositionByGlyph(U,N),_e=this._getDocObject();if(ee==null||r==null||_e==null||at(ee))return;const me={...ee,isBack:z},ye=_e.document.getOffsetConfig(),te=new W.NodePositionConvertToCursor(ye,r),{cursorList:Z}=te.getRangePointData(me,me),{startOffset:Q}=(Ie=W.getOneTextSelectionRange(Z))!=null?Ie:{};if(Q!=null)return{offset:Q,docTransform:_,segmentId:$,segmentPage:N}}_updateDrawingSize(e,t){const n=[],{drawing:r,width:s,height:a,angle:d}=e,{unitId:g,subUnitId:c}=r;let{width:l,height:p,angle:u}=t;const{width:m,height:h}=this._getPageContentSize(r);l=Math.min(m,l),p=Math.min(h,p),(l!==s||p!==a)&&n.push({drawingId:r.drawingId,key:"size",value:{width:l,height:p}}),u!==d&&n.push({drawingId:r.drawingId,key:"angle",value:u}),n.length>0&&g&&c&&this._commandService.executeCommand(Ce.id,{unitId:g,subUnitId:c,drawings:n})}_moveInlineDrawing(e,t,n){const r=this._getInlineDrawingAnchor(e,t,n),{offset:s,segmentId:a,segmentPage:d}=r!=null?r:{};return this._commandService.executeCommand(ht.id,{unitId:e.unitId,subUnitId:e.unitId,drawing:e,offset:s,segmentId:a,segmentPage:d,needRefreshDrawings:s==null})}_limitDrawingInPage(e,t){const n=this._renderManagerService.getRenderById(e.unitId),{left:r,top:s,width:a,height:d,angle:g}=t,c=n==null?void 0:n.with(B.DocSkeletonManagerService).getSkeleton(),l=c==null?void 0:c.getSkeletonData(),{pages:p}=l!=null?l:{};if(l==null||n==null||p==null)return{left:r,top:s,width:a,height:d,angle:g};const{mainComponent:u}=n,m=u,{top:h,pageLayoutType:v,pageMarginLeft:I,pageMarginTop:f}=m;let T=s;this._liquid.reset();for(const y of p){const{marginBottom:O,pageHeight:C}=y,b=p.indexOf(y),P=p[b+1];if(P==null)continue;if(i.Tools.hasIntersectionBetweenTwoRanges(s,s+d,this._liquid.y+h+C-O,this._liquid.y+h+C+f+P.marginTop)){const E=s+d/2,w=this._liquid.y+h+C+f/2;E<w?T=Math.min(s,this._liquid.y+h+C-O-d):T=Math.max(s,this._liquid.y+h+C+f+P.marginTop)}this._liquid.translatePage(y,v,I,f)}return{left:r,top:T,width:a,height:d,angle:g}}_nonInlineDrawingTransform(e,t,n=!1){const r=e.isMultiTransform===i.BooleanNumber.TRUE?t:this._limitDrawingInPage(e,t);if(n&&r.top!==t.top)return;const s=this._getDrawingAnchor(e,r),{offset:a,docTransform:d,segmentId:g,segmentPage:c}=s!=null?s:{};return a==null||d==null?this._updateMultipleDrawingDocTransform(new Map([[e.drawingId,t]])):this._commandService.executeCommand(mt.id,{unitId:e.unitId,subUnitId:e.unitId,drawing:e,offset:a,docTransform:d,segmentId:g,segmentPage:c})}_getSceneAndTransformerByDrawingSearch(e){if(e==null)return;const t=this._renderManagerService.getRenderById(e),n=t==null?void 0:t.scene;if(n==null)return;const r=n.getTransformerByCreate();return{scene:n,transformer:r}}_getTransformCoordForDocumentOffset(e,t,n,r){const{documentTransform:s}=e.getOffsetConfig(),a=t.transformVector2SceneCoord(j.Vector2.FromArray([n,r]));if(a)return s.clone().invert().applyPoint(a)}_createOrUpdateInlineAnchor(e,t){const n=this._renderManagerService.getRenderById(e);if(n==null)return;const{mainComponent:r,scene:s}=n,a=r,{docsLeft:d,docsTop:g}=a.getOffsetConfig(),c=W.getAnchorBounding(t),{left:l,top:p,height:u}=c,m=l+d,h=p+g;if(this._anchorShape){this._anchorShape.transformByState({left:m,top:h,height:u}),this._anchorShape.show();return}const v=6,I=new j.Rect($t+i.generateRandomId(v),{left:m,top:h,height:u,strokeWidth:2,stroke:j.getColor(i.COLORS.darkgray,1),evented:!1});this._anchorShape=I,s.addObject(I,W.TEXT_RANGE_LAYER_INDEX)}_getDocObject(){return W.getDocObject(this._univerInstanceService,this._renderManagerService)}_getPageContentSize(e){const t=this._renderManagerService.getRenderById(e.unitId),n=t==null?void 0:t.with(B.DocSkeletonManagerService).getSkeleton(),r=500,s=500,a=n==null?void 0:n.getSkeletonData();if(a==null||t==null)return{width:r,height:s};const{pages:d}=a;let g=null;for(const c of d){const{skeDrawings:l}=c;if(l.has(e.drawingId)){g=c;break}}if(g){const{pageWidth:c,pageHeight:l,marginLeft:p,marginBottom:u,marginRight:m,marginTop:h}=g;return{width:Math.max(r,c-p-m),height:Math.max(s,l-h-u)}}else return{width:r,height:s}}};Le=Xt([Ee(0,i.ICommandService),Ee(1,i.IUniverInstanceService),Ee(2,V.IDrawingManagerService),Ee(3,j.IRenderManagerService)],Le);const zt={[L.RibbonInsertGroup.MEDIA]:{[it]:{order:0,menuItemFactory:Pt,[wt]:{order:0,menuItemFactory:At}}}},ct=-1e3,dt=1e3,qt=o=>{const e=L.useDependency(i.ICommandService),t=L.useDependency(i.LocaleService),n=L.useDependency(V.IDrawingManagerService),r=L.useDependency(j.IRenderManagerService),s=L.useDependency(i.IUniverInstanceService),{drawings:a}=o,d=a[0];if(d==null)return;const{unitId:g}=d,c=s.getUniverDocInstance(g),l=c==null?void 0:c.getSnapshot().documentStyle.documentFlavor,p=r.getRenderById(g),u=p==null?void 0:p.scene;if(u==null)return;const m=u.getTransformerByCreate(),h=[{label:t.t("image-position.column"),value:String(i.ObjectRelativeFromH.COLUMN)},{label:t.t("image-position.page"),value:String(i.ObjectRelativeFromH.PAGE)},{label:t.t("image-position.margin"),value:String(i.ObjectRelativeFromH.MARGIN)}],v=[{label:t.t("image-position.line"),value:String(i.ObjectRelativeFromV.LINE),disabled:l===i.DocumentFlavor.MODERN},{label:t.t("image-position.page"),value:String(i.ObjectRelativeFromV.PAGE),disabled:l===i.DocumentFlavor.MODERN},{label:t.t("image-position.margin"),value:String(i.ObjectRelativeFromV.MARGIN),disabled:l===i.DocumentFlavor.MODERN},{label:t.t("image-position.paragraph"),value:String(i.ObjectRelativeFromV.PARAGRAPH)}],[I,f]=K.useState(!0),[T,y]=K.useState({relativeFrom:i.ObjectRelativeFromH.PAGE,posOffset:0}),[O,C]=K.useState({relativeFrom:i.ObjectRelativeFromV.PAGE,posOffset:0}),[b,P]=K.useState(!0),[k,E]=K.useState(!0);function w(D,x){var R;D==="positionH"?y(x):C(x);const M=n.getFocusDrawings();if(M.length===0)return;const F=M.map(A=>({unitId:A.unitId,subUnitId:A.subUnitId,drawingId:A.drawingId}));e.executeCommand(Ce.id,{unitId:M[0].unitId,subUnitId:M[0].unitId,drawings:F.map(A=>({drawingId:A.drawingId,key:D,value:x}))});const H=(R=r.getRenderById(g))==null?void 0:R.with(W.DocSelectionRenderService);H&&H.blur(),m.refreshControls()}function U(D){var Q,de,ge;const x=T.relativeFrom,M=T.posOffset,F=Number(D);if(x===F)return;const H=n.getFocusDrawings();if(H.length===0)return;const R=H[0].drawingId,A=H[0].unitId;let q=null,G=0;const Y=(Q=r.getRenderById(A))==null?void 0:Q.with(B.DocSkeletonManagerService).getSkeleton(),ee=Y==null?void 0:Y.getSkeletonData();if(ee==null)return;const{pages:_e,skeHeaders:me,skeFooters:ye}=ee;for(const ne of _e){const{marginLeft:le,skeDrawings:ue,headerId:fe,footerId:ve,pageWidth:pe}=ne;if(ue.has(R)){q=ue.get(R),G=le;break}const ie=(de=me.get(fe))==null?void 0:de.get(pe);if(ie!=null&&ie.skeDrawings.has(R)){q=ie==null?void 0:ie.skeDrawings.get(R),G=le;break}const re=(ge=ye.get(ve))==null?void 0:ge.get(pe);if(re!=null&&re.skeDrawings.has(R)){q=re==null?void 0:re.skeDrawings.get(R),G=le;break}}if(q==null)return;let te=0;x===i.ObjectRelativeFromH.COLUMN?te-=q.columnLeft:x===i.ObjectRelativeFromH.MARGIN&&(te-=G),F===i.ObjectRelativeFromH.COLUMN?te+=q.columnLeft:F===i.ObjectRelativeFromH.MARGIN?te+=G:i.ObjectRelativeFromH.PAGE;const Z={relativeFrom:F,posOffset:(M!=null?M:0)-te};w("positionH",Z)}function $(D){var ue,fe,ve,pe,ie,re;const x=O.relativeFrom,M=O.posOffset,F=Number(D);if(x===F)return;const H=n.getFocusDrawings();if(H.length===0)return;const{drawingId:R,unitId:A}=H[0],q=s.getUniverDocInstance(A),G=(ue=r.getRenderById(A))==null?void 0:ue.with(B.DocSkeletonManagerService).getSkeleton(),Y=(fe=r.getRenderById(A))==null?void 0:fe.with(W.DocSelectionRenderService),ee=Y==null?void 0:Y.getSegment(),_e=Y==null?void 0:Y.getSegmentPage(),me=(pe=(ve=q==null?void 0:q.getSelfOrHeaderFooterModel(ee).getBody())==null?void 0:ve.customBlocks)==null?void 0:pe.find(Ie=>Ie.blockId===R);if(me==null||G==null||Y==null)return;const{startIndex:ye}=me,te=G.findNodeByCharIndex(ye,ee,_e),Z=(ie=te==null?void 0:te.parent)==null?void 0:ie.parent,Q=Z==null?void 0:Z.parent,de=Q==null?void 0:Q.lines.find(Ie=>Ie.paragraphIndex===(Z==null?void 0:Z.paragraphIndex)&&Ie.paragraphStart),ge=(re=Q==null?void 0:Q.parent)==null?void 0:re.parent;if(te==null||Z==null||de==null||Q==null||ge==null)return;let ne=0;x===i.ObjectRelativeFromV.PARAGRAPH?ne-=de.top:x===i.ObjectRelativeFromV.LINE?ne-=Z.top:x===i.ObjectRelativeFromV.PAGE&&(ne+=ge.marginTop),F===i.ObjectRelativeFromV.PARAGRAPH?ne+=de.top:F===i.ObjectRelativeFromV.LINE?ne+=Z.top:F===i.ObjectRelativeFromV.PAGE&&(ne-=ge.marginTop);const le={relativeFrom:F,posOffset:(M!=null?M:0)-ne};w("positionV",le)}function N(D){var A;const x=c==null?void 0:c.getSnapshot(),M=(A=x==null?void 0:x.drawings)==null?void 0:A[D.drawingId];if(M==null)return;const{layoutType:F}=M,{positionH:H,positionV:R}=M.docTransform;y(H),C(R),f(F===i.PositionedObjectLayoutType.INLINE),P(R.relativeFrom===i.ObjectRelativeFromV.PARAGRAPH||R.relativeFrom===i.ObjectRelativeFromV.LINE)}function z(){const D=n.getFocusDrawings();D.length!==0&&N(D[0])}function _(D){P(D),$(String(D?i.ObjectRelativeFromV.PARAGRAPH:i.ObjectRelativeFromV.PAGE))}return K.useEffect(()=>{z();const D=n.focus$.subscribe(M=>{if(M.length===0){E(!1);return}E(!0),N(M[0])}),x=e.onCommandExecuted(async M=>{M.id===B.RichTextEditingMutation.id&&z()});return()=>{D.unsubscribe(),x.dispose()}},[]),S.jsxs("div",{className:X.clsx("univer-grid univer-gap-2 univer-py-2 univer-text-gray-400",{"univer-hidden":!k}),children:[S.jsx("header",{className:"univer-text-gray-600 dark:!univer-text-gray-200",children:S.jsx("div",{children:t.t("image-position.title")})}),S.jsx("div",{className:"univer-text-gray-600 dark:!univer-text-gray-200",children:S.jsx("div",{children:t.t("image-position.horizontal")})}),S.jsxs("div",{className:"univer-grid univer-grid-cols-2 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2",children:[S.jsxs("div",{children:[S.jsx("span",{children:t.t("image-position.absolutePosition")}),S.jsx(X.InputNumber,{min:ct,max:dt,precision:1,disabled:I,value:T.posOffset,onChange:D=>{w("positionH",{relativeFrom:T.relativeFrom,posOffset:D})}})]}),S.jsxs("div",{children:[S.jsx("span",{children:t.t("image-position.toTheRightOf")}),S.jsx(X.Select,{value:String(T.relativeFrom),disabled:I,options:h,onChange:U})]})]}),S.jsx("div",{className:"univer-text-gray-600 dark:!univer-text-gray-200",children:S.jsx("div",{children:t.t("image-position.vertical")})}),S.jsxs("div",{className:"univer-grid univer-grid-cols-2 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2",children:[S.jsxs("div",{children:[S.jsx("span",{children:t.t("image-position.absolutePosition")}),S.jsx(X.InputNumber,{min:ct,max:dt,precision:1,disabled:I,value:O.posOffset,onChange:D=>{w("positionV",{relativeFrom:O.relativeFrom,posOffset:D})}})]}),S.jsxs("div",{children:[S.jsx("span",{children:t.t("image-position.bellow")}),S.jsx(X.Select,{disabled:I,value:String(O.relativeFrom),options:v,onChange:$})]})]}),S.jsx("div",{className:"univer-text-gray-600 dark:!univer-text-gray-200",children:S.jsx("div",{children:t.t("image-position.options")})}),S.jsx("div",{children:S.jsx(X.Checkbox,{disabled:I,checked:b,onChange:_,children:t.t("image-position.moveObjectWithText")})})]})},Pe=0,Ae=100,Kt=o=>{const e=L.useDependency(i.ICommandService),t=L.useDependency(i.LocaleService),n=L.useDependency(V.IDrawingManagerService),r=L.useDependency(j.IRenderManagerService),s=L.useDependency(i.IUniverInstanceService),{drawings:a}=o,d=a[0];if(d==null)return null;const{unitId:g}=d,c=s.getUniverDocInstance(g),l=r.getRenderById(g);if((l==null?void 0:l.scene)==null)return null;const[u,m]=K.useState(!0),[h,v]=K.useState(!0),[I,f]=K.useState(!0),[T,y]=K.useState(se.INLINE),[O,C]=K.useState(""),[b,P]=K.useState({distT:0,distL:0,distB:0,distR:0}),[k,E]=K.useState(!0);function w(_){y(_);const D=n.getFocusDrawings();if(D.length===0)return;const{unitId:x,subUnitId:M}=D[0],F=D.map(({unitId:H,subUnitId:R,drawingId:A})=>({unitId:H,subUnitId:R,drawingId:A}));e.executeCommand(lt.id,{unitId:x,subUnitId:M,drawings:F,wrappingStyle:_})}function U(_){C(_);const D=n.getFocusDrawings();if(D.length===0)return;const x=D.map(M=>({unitId:M.unitId,subUnitId:M.subUnitId,drawingId:M.drawingId}));e.executeCommand(pt.id,{unitId:D[0].unitId,subUnitId:D[0].unitId,drawings:x,wrapText:_})}function $(_,D){if(_==null)return;const x={...b,[D]:_};P(x);const M=n.getFocusDrawings();if(M.length===0)return;const F=M.map(H=>({unitId:H.unitId,subUnitId:H.subUnitId,drawingId:H.drawingId}));e.executeCommand(ut.id,{unitId:M[0].unitId,subUnitId:M[0].unitId,drawings:F,dist:{[D]:_}})}function N(){const _=n.getFocusDrawings();_.length!==0&&z(_[0])}function z(_){var Y,ee;const D=(ee=(Y=c==null?void 0:c.getSnapshot())==null?void 0:Y.drawings)==null?void 0:ee[_.drawingId];if(D==null)return;const{distT:x=0,distL:M=0,distB:F=0,distR:H=0,layoutType:R=i.PositionedObjectLayoutType.INLINE,behindDoc:A=i.BooleanNumber.FALSE,wrapText:q=i.WrapTextType.BOTH_SIDES}=D;if(P({distT:x,distL:M,distB:F,distR:H}),C(q),m(R!==i.PositionedObjectLayoutType.WRAP_SQUARE),R===i.PositionedObjectLayoutType.WRAP_NONE||R===i.PositionedObjectLayoutType.INLINE?v(!0):v(!1),R===i.PositionedObjectLayoutType.WRAP_NONE||R===i.PositionedObjectLayoutType.INLINE||R===i.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM?f(!0):f(!1),R===i.PositionedObjectLayoutType.WRAP_NONE)A===i.BooleanNumber.TRUE?y(se.BEHIND_TEXT):y(se.IN_FRONT_OF_TEXT);else switch(R){case i.PositionedObjectLayoutType.INLINE:y(se.INLINE);break;case i.PositionedObjectLayoutType.WRAP_SQUARE:y(se.WRAP_SQUARE);break;case i.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM:y(se.WRAP_TOP_AND_BOTTOM);break;default:throw new Error(`Unsupported layout type: ${R}`)}}return K.useEffect(()=>{N();const _=n.focus$.subscribe(x=>{if(x.length===0){E(!1);return}E(!0),z(x[0])}),D=e.onCommandExecuted(async x=>{x.id===B.RichTextEditingMutation.id&&N()});return()=>{_.unsubscribe(),D.dispose()}},[]),S.jsxs("div",{className:X.clsx("univer-grid univer-gap-2 univer-py-2 univer-text-gray-400",{"univer-hidden":!k}),children:[S.jsx("header",{className:"univer-text-gray-600 dark:!univer-text-gray-200",children:S.jsx("div",{children:t.t("image-text-wrap.title")})}),S.jsx("div",{className:"univer-text-gray-600 dark:!univer-text-gray-200",children:S.jsx("div",{children:t.t("image-text-wrap.wrappingStyle")})}),S.jsx("div",{children:S.jsxs(X.RadioGroup,{value:T,onChange:w,direction:"vertical",children:[S.jsx(X.Radio,{value:se.INLINE,children:t.t("image-text-wrap.inline")}),S.jsx(X.Radio,{value:se.WRAP_SQUARE,children:t.t("image-text-wrap.square")}),S.jsx(X.Radio,{value:se.WRAP_TOP_AND_BOTTOM,children:t.t("image-text-wrap.topAndBottom")}),S.jsx(X.Radio,{value:se.BEHIND_TEXT,children:t.t("image-text-wrap.behindText")}),S.jsx(X.Radio,{value:se.IN_FRONT_OF_TEXT,children:t.t("image-text-wrap.inFrontText")})]})}),S.jsx("div",{className:"univer-text-gray-600 dark:!univer-text-gray-200",children:S.jsx("div",{children:t.t("image-text-wrap.wrapText")})}),S.jsx("div",{children:S.jsxs(X.RadioGroup,{disabled:u,value:O,onChange:U,direction:"horizontal",children:[S.jsx(X.Radio,{value:i.WrapTextType.BOTH_SIDES,children:t.t("image-text-wrap.bothSide")}),S.jsx(X.Radio,{value:i.WrapTextType.LEFT,children:t.t("image-text-wrap.leftOnly")}),S.jsx(X.Radio,{value:i.WrapTextType.RIGHT,children:t.t("image-text-wrap.rightOnly")})]})}),S.jsx("div",{className:"univer-text-gray-600 dark:!univer-text-gray-200",children:S.jsx("div",{children:t.t("image-text-wrap.distanceFromText")})}),S.jsxs("div",{className:"univer-grid univer-grid-cols-2 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2",children:[S.jsxs("div",{children:[S.jsx("span",{children:t.t("image-text-wrap.top")}),S.jsx(X.InputNumber,{min:Pe,max:Ae,disabled:h,precision:1,value:b.distT,onChange:_=>{$(_,"distT")}})]}),S.jsxs("div",{children:[S.jsx("span",{children:t.t("image-text-wrap.left")}),S.jsx(X.InputNumber,{min:Pe,max:Ae,disabled:I,precision:1,value:b.distL,onChange:_=>{$(_,"distL")}})]})]}),S.jsxs("div",{className:"univer-grid univer-grid-cols-2 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2",children:[S.jsxs("div",{children:[S.jsx("span",{children:t.t("image-text-wrap.bottom")}),S.jsx(X.InputNumber,{min:Pe,max:Ae,disabled:h,precision:1,value:b.distB,onChange:_=>{$(_,"distB")}})]}),S.jsxs("div",{children:[S.jsx("span",{children:t.t("image-text-wrap.right")}),S.jsx(X.InputNumber,{min:Pe,max:Ae,disabled:I,precision:1,value:b.distR,onChange:_=>{$(_,"distR")}})]})]})]})},Yt=()=>{const o=L.useDependency(V.IDrawingManagerService),e=o.getFocusDrawings(),[t,n]=K.useState(e);return K.useEffect(()=>{const r=o.focus$.subscribe(s=>{n(s)});return()=>{r.unsubscribe()}},[]),!!(t!=null&&t.length)&&S.jsxs("div",{className:"univer-text-sm",children:[S.jsx(he.DrawingCommonPanel,{drawings:t,hasAlign:!1,hasCropper:!1,hasGroup:!1,hasTransform:!1}),S.jsx(Kt,{drawings:t}),S.jsx(qt,{drawings:t})]})};function xe(o){return o.getContextValue(i.FOCUSING_DOC)&&o.getContextValue(i.FOCUSING_UNIVER_EDITOR)&&o.getContextValue(i.FOCUSING_COMMON_DRAWINGS)}const Jt={id:Te.id,description:"shortcut.drawing-move-down",group:"4_drawing-view",binding:L.KeyCode.ARROW_DOWN,priority:100,preconditions:xe,staticParameters:{direction:i.Direction.DOWN}},Zt={id:Te.id,description:"shortcut.drawing-move-up",group:"4_drawing-view",binding:L.KeyCode.ARROW_UP,priority:100,preconditions:xe,staticParameters:{direction:i.Direction.UP}},Qt={id:Te.id,description:"shortcut.drawing-move-left",group:"4_drawing-view",binding:L.KeyCode.ARROW_LEFT,priority:100,preconditions:xe,staticParameters:{direction:i.Direction.LEFT}},en={id:Te.id,description:"shortcut.drawing-move-right",group:"4_drawing-view",binding:L.KeyCode.ARROW_RIGHT,priority:100,preconditions:xe,staticParameters:{direction:i.Direction.RIGHT}},tn={id:Ye.id,description:"shortcut.drawing-delete",group:"4_drawing-view",preconditions:xe,binding:L.KeyCode.DELETE,mac:L.KeyCode.BACKSPACE};var nn=Object.getOwnPropertyDescriptor,rn=(o,e,t,n)=>{for(var r=n>1?void 0:n?nn(e,t):e,s=o.length-1,a;s>=0;s--)(a=o[s])&&(r=a(r)||r);return r},Ne=(o,e)=>(t,n)=>e(t,n,o);let Be=class extends i.Disposable{constructor(o,e,t,n){super(),this._componentManager=o,this._menuManagerService=e,this._commandService=t,this._shortcutService=n,this._init()}_initCustomComponents(){const o=this._componentManager;this.disposeWithMe(o.register(vt,Yt))}_initMenus(){this._menuManagerService.mergeMenu(zt)}_initCommands(){[et,He,lt,ut,pt,Ce,ht,mt,We,tt,ft,nt,Je,Qe,Te,Ye,Ze].forEach(o=>this.disposeWithMe(this._commandService.registerCommand(o)))}_initShortcuts(){[Jt,Zt,Qt,en,tn].forEach(o=>{this.disposeWithMe(this._shortcutService.registerShortcut(o))})}_init(){this._initCommands(),this._initCustomComponents(),this._initMenus(),this._initShortcuts()}};Be=rn([Ne(0,i.Inject(L.ComponentManager)),Ne(1,L.IMenuManagerService),Ne(2,i.ICommandService),Ne(3,L.IShortcutService)],Be);var on=Object.getOwnPropertyDescriptor,sn=(o,e,t,n)=>{for(var r=n>1?void 0:n?on(e,t):e,s=o.length-1,a;s>=0;s--)(a=o[s])&&(r=a(r)||r);return r},we=(o,e)=>(t,n)=>e(t,n,o);let Ke=class extends i.Disposable{constructor(e,t,n,r,s,a,d,g){super();ce(this,"_liquid",new j.Liquid);this._context=e,this._docSkeletonManagerService=t,this._commandService=n,this._editorService=r,this._drawingManagerService=s,this._docRefreshDrawingsService=a,this._univerInstanceService=d,this._lifecycleService=g,this._initialize(),this._commandExecutedListener()}_initialize(){this._initialRenderRefresh(),this._drawingInitializeListener(),this._initResize()}_initialRenderRefresh(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(e=>{e!=null&&this._refreshDrawing(e)})),this.disposeWithMe(this._docRefreshDrawingsService.refreshDrawings$.subscribe(e=>{e!=null&&this._refreshDrawing(e)}))}_commandExecutedListener(){const e=[B.RichTextEditingMutation.id,W.SetDocZoomRatioOperation.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){const n=t.params,{unitId:r}=n,{unitId:s,mainComponent:a}=this._context;if(r!==s)return;const d=this._docSkeletonManagerService.getSkeleton();if(d==null)return;if(this._editorService.isEditor(s)&&s!==i.DOCS_ZEN_EDITOR_UNIT_ID_KEY){a==null||a.makeDirty();return}this._refreshDrawing(d)}}))}_initResize(){this.disposeWithMe(i.fromEventSubject(this._context.engine.onTransformChange$).pipe(J.filter(e=>e.type===j.TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize),J.debounceTime(16)).subscribe(()=>{var n;const e=this._docSkeletonManagerService.getSkeleton(),{scene:t}=this._context;(n=t.getTransformer())==null||n.refreshControls(),this._refreshDrawing(e)}))}_refreshDrawing(e){var T,y;const t=e==null?void 0:e.getSkeletonData(),{mainComponent:n,unitId:r}=this._context,s=n;if(!t)return;const{left:a,top:d,pageLayoutType:g,pageMarginLeft:c,pageMarginTop:l}=s,{pages:p,skeHeaders:u,skeFooters:m}=t,h={};this._liquid.reset();for(let O=0,C=p.length;O<C;O++){const b=p[O],{headerId:P,footerId:k,pageWidth:E}=b;if(P){const w=(T=u.get(P))==null?void 0:T.get(E);w&&this._calculateDrawingPosition(r,w,a,d,h,w.marginTop,b.marginLeft)}if(k){const w=(y=m.get(k))==null?void 0:y.get(E);w&&this._calculateDrawingPosition(r,w,a,d,h,b.pageHeight-b.marginBottom+w.marginTop,b.marginLeft)}this._calculateDrawingPosition(r,b,a,d,h,b.marginTop,b.marginLeft),this._liquid.translatePage(b,g,c,l)}const v=Object.values(h),I=v.filter(O=>!O.isMultiTransform),f=v.filter(O=>O.isMultiTransform);I.length>0&&this._drawingManagerService.refreshTransform(I),this._handleMultiDrawingsTransform(f)}_handleMultiDrawingsTransform(e){const{scene:t,unitId:n}=this._context,r=t.getTransformerByCreate();e.forEach(g=>{const c=this._drawingManagerService.getDrawingByParam(g);c!=null&&(c.transform=g.transform,c.transforms=g.transforms,c.isMultiTransform=g.isMultiTransform)});const a=[...r.getSelectedObjectMap().keys()],d=Object.values(this._drawingManagerService.getDrawingData(n,n)).filter(g=>g.isMultiTransform===i.BooleanNumber.TRUE);this._drawingManagerService.removeNotification(d),e.length>0&&this._drawingManagerService.addNotification(e);for(const g of a){const c=t.getObject(g);c&&r.setSelectedControl(c)}}_calculateDrawingPosition(e,t,n,r,s,a,d){const{skeDrawings:g}=t;this._liquid.translatePagePadding({marginTop:a,marginLeft:d}),g.forEach(c=>{const{aLeft:l,aTop:p,height:u,width:m,angle:h,drawingId:v,drawingOrigin:I}=c,f=I.layoutType===i.PositionedObjectLayoutType.WRAP_NONE&&I.behindDoc===i.BooleanNumber.TRUE,{isMultiTransform:T=i.BooleanNumber.FALSE}=I,y={left:l+n+this._liquid.x,top:p+r+this._liquid.y,width:m,height:u,angle:h};s[v]==null?s[v]={unitId:e,subUnitId:e,drawingId:v,behindText:f,transform:y,transforms:[y],isMultiTransform:T}:T===i.BooleanNumber.TRUE&&s[v].transforms.push(y)}),this._liquid.restorePagePadding({marginTop:a,marginLeft:d})}_drawingInitializeListener(){const e=()=>{const t=this._docSkeletonManagerService.getSkeleton();t!=null&&(this._refreshDrawing(t),this._drawingManagerService.initializeNotification(this._context.unitId))};this._lifecycleService.stage>=i.LifecycleStages.Rendered?this._docSkeletonManagerService.getSkeleton()?e():setTimeout(e,500):this.disposeWithMe(this._lifecycleService.lifecycle$.pipe(J.filter(t=>t===i.LifecycleStages.Rendered)).subscribe(e))}};Ke=sn([we(1,i.Inject(B.DocSkeletonManagerService)),we(2,i.ICommandService),we(3,W.IEditorService),we(4,V.IDrawingManagerService),we(5,i.Inject(Ge)),we(6,i.IUniverInstanceService),we(7,i.Inject(i.LifecycleService))],Ke);var an=Object.getOwnPropertyDescriptor,cn=(o,e,t,n)=>{for(var r=n>1?void 0:n?an(e,t):e,s=o.length-1,a;s>=0;s--)(a=o[s])&&(r=a(r)||r);return r},Re=(o,e)=>(t,n)=>e(t,n,o);let ke=class extends i.RxDisposable{constructor(e,t,n,r,s){super();ce(this,"_initImagePopupMenu",new Set);ce(this,"_disposePopups",[]);this._drawingManagerService=e,this._canvasPopManagerService=t,this._renderManagerService=n,this._univerInstanceService=r,this._contextService=s,this._init()}_init(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(i.UniverInstanceType.UNIVER_DOC).pipe(J.takeUntil(this.dispose$)).subscribe(e=>this._create(e))),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(i.UniverInstanceType.UNIVER_DOC).pipe(J.takeUntil(this.dispose$)).subscribe(e=>this._dispose(e))),this._univerInstanceService.getAllUnitsForType(i.UniverInstanceType.UNIVER_DOC).forEach(e=>this._create(e))}_dispose(e){const t=e.getUnitId();this._disposePopups.length&&(this._disposePopups.forEach(n=>n.dispose()),this._disposePopups.length=0),this._renderManagerService.removeRender(t)}_create(e){if(!e)return;const t=e.getUnitId();i.isInternalEditorID(t)||this._renderManagerService.has(t)&&!this._initImagePopupMenu.has(t)&&(this._popupMenuListener(t),this._initImagePopupMenu.add(t))}_hasCropObject(e){const t=e.getAllObjects();for(const n of t)if(n instanceof he.ImageCropperObject)return!0;return!1}_popupMenuListener(e){var s;const t=(s=this._renderManagerService.getRenderById(e))==null?void 0:s.scene;if(!t)return;const n=t.getTransformerByCreate();if(!n)return;const r=this._disposePopups;this.disposeWithMe(n.createControl$.subscribe(()=>{if(this._hasCropObject(t))return;const a=n.getSelectedObjectMap();if(r.forEach(f=>f.dispose()),r.length=0,a.size>1)return;const d=a.values().next().value;if(!d)return;const g=d.oKey,c=this._drawingManagerService.getDrawingOKey(g);if(!c||c.drawingType===i.DrawingTypeEnum.DRAWING_DOM)return;const{unitId:l,subUnitId:p,drawingId:u,drawingType:m}=c,h=this._canvasPopManagerService.attachPopupToObject(d,{componentKey:he.COMPONENT_IMAGE_POPUP_MENU,direction:"horizontal",offset:[2,0],extraProps:{menuItems:this._getImageMenuItems(l,p,u,m)}},l);r.push(this.disposeWithMe(h)),!this._drawingManagerService.getFocusDrawings().find(f=>f.unitId===l&&f.subUnitId===p&&f.drawingId===u)&&this._drawingManagerService.focusDrawing([{unitId:l,subUnitId:p,drawingId:u}])})),this.disposeWithMe(n.clearControl$.subscribe(()=>{r.forEach(a=>a.dispose()),r.length=0,this._contextService.setContextValue(i.FOCUSING_COMMON_DRAWINGS,!1),this._drawingManagerService.focusDrawing(null)})),this.disposeWithMe(n.changing$.subscribe(()=>{r.forEach(a=>a.dispose()),r.length=0})),this.disposeWithMe(n.changeStart$.subscribe(()=>{r.forEach(a=>a.dispose()),r.length=0}))}_getImageMenuItems(e,t,n,r){return[{label:"image-popup.edit",index:0,commandId:nt.id,commandParams:{unitId:e,subUnitId:t,drawingId:n},disable:!0},{label:"image-popup.delete",index:1,commandId:We.id,commandParams:{unitId:e,drawings:[{unitId:e,subUnitId:t,drawingId:n}]},disable:!1},{label:"image-popup.crop",index:2,commandId:he.OpenImageCropOperation.id,commandParams:{unitId:e,subUnitId:t,drawingId:n},disable:!0},{label:"image-popup.reset",index:3,commandId:he.ImageResetSizeOperation.id,commandParams:[{unitId:e,subUnitId:t,drawingId:n}],disable:!0}]}};ke=cn([Re(0,V.IDrawingManagerService),Re(1,i.Inject(W.DocCanvasPopManagerService)),Re(2,j.IRenderManagerService),Re(3,i.IUniverInstanceService),Re(4,i.IContextService)],ke);var dn=Object.defineProperty,gn=Object.getOwnPropertyDescriptor,ln=(o,e,t)=>e in o?dn(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,un=(o,e,t,n)=>{for(var r=n>1?void 0:n?gn(e,t):e,s=o.length-1,a;s>=0;s--)(a=o[s])&&(r=a(r)||r);return r},qe=(o,e)=>(t,n)=>e(t,n,o),Ve=(o,e,t)=>ln(o,typeof e!="symbol"?e+"":e,t);exports.UniverDocsDrawingUIPlugin=class extends i.Plugin{constructor(e=st,t,n,r){super(),this._config=e,this._injector=t,this._renderManagerSrv=n,this._configService=r;const{...s}=i.merge({},st,this._config);this._configService.setConfig(Ut,s)}onStarting(){[[Be],[ke],[Le],[Ue],[Ge],[exports.DocFloatDomController],[Fe]].forEach(t=>this._injector.add(t))}onReady(){[[je],[Ke]].forEach(e=>this._renderManagerSrv.registerRenderModule(i.UniverInstanceType.UNIVER_DOC,e)),this._injector.get(Ue),this._injector.get(Be),this._injector.get(Le),this._injector.get(Fe)}onRendered(){this._injector.get(ke),this._injector.get(exports.DocFloatDomController)}};Ve(exports.UniverDocsDrawingUIPlugin,"type",i.UniverInstanceType.UNIVER_DOC);Ve(exports.UniverDocsDrawingUIPlugin,"pluginName","DOC_DRAWING_UI_PLUGIN");Ve(exports.UniverDocsDrawingUIPlugin,"packageName",St.name);Ve(exports.UniverDocsDrawingUIPlugin,"version",St.version);exports.UniverDocsDrawingUIPlugin=un([i.DependentOn(he.UniverDrawingUIPlugin,V.UniverDrawingPlugin,Se.UniverDocsDrawingPlugin,L.UniverUIPlugin),qe(1,i.Inject(i.Injector)),qe(2,j.IRenderManagerService),qe(3,i.IConfigService)],exports.UniverDocsDrawingUIPlugin);exports.ClearDocDrawingTransformerOperation=ft;exports.DOCS_IMAGE_MENU_ID=it;exports.DeleteDocDrawingsCommand=Ye;exports.EditDocDrawingOperation=nt;exports.GroupDocDrawingCommand=Je;exports.InsertDocDrawingCommand=He;exports.InsertDocImageCommand=et;exports.MoveDocDrawingsCommand=Te;exports.RemoveDocDrawingCommand=We;exports.SetDocDrawingArrangeCommand=Ze;exports.SidebarDocDrawingOperation=tt;exports.UngroupDocDrawingCommand=Qe;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`@univerjs/core`),t=require(`@univerjs/docs-drawing`),n=require(`@univerjs/docs`),r=require(`@univerjs/docs-ui`),i=require(`@univerjs/engine-render`),a=require(`@univerjs/design`),o=require(`@univerjs/drawing`),s=require(`@univerjs/ui`),c=require(`rxjs`),l=require(`@univerjs/drawing-ui`),u=require(`react`),d=require(`react/jsx-runtime`);const f={id:`doc.command.remove-doc-image`,type:e.CommandType.COMMAND,handler:(t,a)=>{var o,s,c;let l=t.get(e.ICommandService),u=t.get(e.IUniverInstanceService),d=t.get(i.IRenderManagerService),f=u.getCurrentUniverDocInstance();if(a==null||f==null)return!1;let p=d.getRenderById(a.unitId).with(r.DocSelectionRenderService),{drawings:m}=a,h=(o=p.getSegment())==null?``:o,g=new e.TextX,_=e.JSONX.getInstance(),v=(s=(c=f.getSelfOrHeaderFooterModel(h).getBody())==null?void 0:c.customBlocks)==null?[]:s,y=m.map(e=>v.find(t=>t.blockId===e.drawingId)).filter(e=>!!e).sort((e,t)=>e.startIndex>t.startIndex?1:-1),b=m[0].unitId,x=new e.MemoryCursor;x.reset();let S=y[0].startIndex,C=[{startOffset:S,endOffset:S}],w={id:n.RichTextEditingMutation.id,params:{unitId:b,actions:[],textRanges:C}},T=[];for(let t of y){let{startIndex:n}=t;n>x.cursor&&g.push({t:e.TextXActionType.RETAIN,len:n-x.cursor}),g.push({t:e.TextXActionType.DELETE,len:1}),x.moveCursorTo(n+1)}let E=(0,r.getRichTextEditPath)(f,h);T.push(_.editOp(g.serialize(),E));for(let e of y){var D;let{blockId:t}=e,n=((D=f.getDrawings())==null?{}:D)[t],r=f.getDrawingsOrder().indexOf(t),i=_.removeOp([`drawings`,t],n),a=_.removeOp([`drawingsOrder`,r],t);T.push(i),T.push(a)}return w.params.actions=T.reduce((t,n)=>e.JSONX.compose(t,n),null),!!l.syncExecuteCommand(w.id,w.params)}},p={id:`doc.command.delete-drawing`,type:e.CommandType.COMMAND,handler:n=>{let r=n.get(e.ICommandService),i=n.get(t.IDocDrawingService).getFocusDrawings();if(i.length===0)return!1;let{unitId:a}=i[0],o=i.map(e=>{let{unitId:t,subUnitId:n,drawingId:r,drawingType:i}=e;return{unitId:t,subUnitId:n,drawingId:r,drawingType:i}});return r.executeCommand(f.id,{unitId:a,drawings:o})}},m={id:`doc.command.group-doc-image`,type:e.CommandType.COMMAND,handler:(e,t)=>!1},h={id:`doc.command.insert-doc-image`,type:e.CommandType.COMMAND,handler:(t,i)=>{var a,o;if(i==null)return!1;let s=t.get(e.ICommandService),c=t.get(n.DocSelectionManagerService),l=t.get(e.IUniverInstanceService),u=c.getActiveTextRange(),d=l.getCurrentUniverDocInstance();if(u==null||d==null)return!1;let f=d.getUnitId(),{drawings:p}=i,{collapsed:m,startOffset:h,segmentId:g}=u,_=d.getSelfOrHeaderFooterModel(g).getBody();if(_==null)return!1;let v=new e.TextX,y=e.JSONX.getInstance(),b=[],x=(a=(o=d.getSnapshot().drawingsOrder)==null?void 0:o.length)==null?0:a,S=0;if(m)h>0&&v.push({t:e.TextXActionType.RETAIN,len:h});else{var C,w;let t=e.BuildTextUtils.selection.delete([u],_,0,null,!1);v.push(...t);let n=(0,r.getCustomBlockIdsInSelections)(_,[u]),i=(C=d.getDrawings())==null?{}:C,a=(w=d.getDrawingsOrder())==null?[]:w,o=n.sort((e,t)=>a.indexOf(e)>a.indexOf(t)?-1:a.indexOf(e)<a.indexOf(t)?1:0);if(o.length>0)for(let e of o){let t=i[e],n=a.indexOf(e);if(t==null||n<0)continue;let r=y.removeOp([`drawings`,e],t),o=y.removeOp([`drawingsOrder`,n],e);b.push(r),b.push(o),S++}}v.push({t:e.TextXActionType.INSERT,body:{dataStream:`\b`.repeat(p.length),customBlocks:p.map((e,t)=>({startIndex:t,blockId:e.drawingId}))},len:p.length});let T=(0,r.getRichTextEditPath)(d,g),E=y.editOp(v.serialize(),T);b.push(E);for(let e of p){let{drawingId:t}=e,n=y.insertOp([`drawings`,t],e),r=y.insertOp([`drawingsOrder`,x-S],t);b.push(n),b.push(r)}let D={id:n.RichTextEditingMutation.id,params:{unitId:f,actions:[],textRanges:[]}};return D.params.actions=b.reduce((t,n)=>e.JSONX.compose(t,n),null),!!s.syncExecuteCommand(D.id,D.params)}},g={id:`doc.command.set-drawing-arrange`,type:e.CommandType.COMMAND,handler:(r,i)=>{let a=r.get(e.ICommandService),o=r.get(t.IDocDrawingService);if(i==null)return!1;let{unitId:s,subUnitId:c,drawingIds:l,arrangeType:u}=i,d={unitId:s,subUnitId:c,drawingIds:l},f;if(u===e.ArrangeTypeEnum.forward?f=o.getForwardDrawingsOp(d):u===e.ArrangeTypeEnum.backward?f=o.getBackwardDrawingOp(d):u===e.ArrangeTypeEnum.front?f=o.getFrontDrawingsOp(d):u===e.ArrangeTypeEnum.back&&(f=o.getBackDrawingsOp(d)),f==null)return!1;let{redo:p}=f;if(p==null)return!1;let m=[],h=e.Tools.deepClone(p);h=h.slice(3),h.unshift(`drawingsOrder`),m.push(h);let g={id:n.RichTextEditingMutation.id,params:{unitId:s,actions:[],textRanges:null}};return g.params.actions=m.reduce((t,n)=>e.JSONX.compose(t,n),null),!!a.syncExecuteCommand(g.id,g.params)}},_={id:`doc.command.ungroup-doc-image`,type:e.CommandType.COMMAND,handler:(e,n)=>{let r=e.get(t.IDocDrawingService);if(!n)return!1;let i=[];n.forEach(({parent:e,children:t})=>{i.push(e.unitId),t.forEach(e=>{i.push(e.unitId)})});let{unitId:a,subUnitId:o,undo:s,redo:c,objects:l}=r.getUngroupDrawingOp(n);return!1}};function v(e){"@babel/helpers - typeof";return v=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},v(e)}function y(e,t){if(v(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(v(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function b(e){var t=y(e,`string`);return v(t)==`symbol`?t:t+``}function x(e,t,n){return(t=b(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var S=class{constructor(){x(this,`_refreshDrawings$`,new c.BehaviorSubject(null)),x(this,`refreshDrawings$`,this._refreshDrawings$.asObservable())}refreshDrawings(e){this._refreshDrawings$.next(e)}};function C(e,t){return function(n,r){t(n,r,e)}}function w(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 T=class extends e.Disposable{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f){super(),this._context=e,this._commandService=t,this._docSelectionManagerService=n,this._renderManagerSrv=r,this._imageIoService=i,this._docDrawingService=a,this._drawingManagerService=o,this._contextService=s,this._messageService=c,this._localeService=l,this._docSelectionRenderService=u,this._docRefreshDrawingsService=d,this._fileOpenerService=f,this._updateOrderListener(),this._groupDrawingListener(),this._focusDrawingListener(),this._transformDrawingListener(),this._editAreaChangeListener()}dispose(){super.dispose(),delete this._context}async insertDocImage(){let e=await this._fileOpenerService.openFile({multiple:!0,accept:o.DRAWING_IMAGE_ALLOW_IMAGE_LIST.map(e=>`.${e.replace(`image/`,``)}`).join(`,`)}),t=e.length;return t>o.DRAWING_IMAGE_COUNT_LIMIT?(this._messageService.show({type:a.MessageType.Error,content:this._localeService.t(`update-status.exceedMaxCount`,String(o.DRAWING_IMAGE_COUNT_LIMIT))}),!1):t===0?!1:(await this._insertFloatImages(e),!0)}async _insertFloatImages(t){let n=[];try{n=await Promise.all(t.map(e=>this._imageIoService.saveImage(e)))}catch(e){let t=e.message,n=``;switch(t){case o.ImageUploadStatusType.ERROR_EXCEED_SIZE:n=this._localeService.t(`update-status.exceedMaxSize`,String(o.DRAWING_IMAGE_ALLOW_SIZE/(1024*1024)));break;case o.ImageUploadStatusType.ERROR_IMAGE_TYPE:n=this._localeService.t(`update-status.invalidImageType`);break;case o.ImageUploadStatusType.ERROR_IMAGE:n=this._localeService.t(`update-status.invalidImage`);break;default:break}this._messageService.show({type:a.MessageType.Error,content:n})}if(n.length===0)return;let{unitId:i}=this._context,s=[];for(let t of n){if(t==null)continue;let{imageId:n,imageSourceType:a,source:c,base64Cache:l}=t,{width:u,height:d,image:f}=await(0,o.getImageSize)(l||``);this._imageIoService.addImageSourceCache(n,a,f);let p=1;if(u>o.DRAWING_IMAGE_WIDTH_LIMIT||d>o.DRAWING_IMAGE_HEIGHT_LIMIT){let e=o.DRAWING_IMAGE_WIDTH_LIMIT/u,t=o.DRAWING_IMAGE_HEIGHT_LIMIT/d;p=Math.min(e,t)}let m=this._getImagePosition(u*p,d*p);if(m==null)return;let h={unitId:i,subUnitId:i,drawingId:n,drawingType:e.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:a,source:c,transform:(0,r.docDrawingPositionToTransform)(m),docTransform:m,behindDoc:e.BooleanNumber.FALSE,title:``,description:``,layoutType:e.PositionedObjectLayoutType.INLINE,wrapText:e.WrapTextType.BOTH_SIDES,distB:0,distL:0,distR:0,distT:0};this._isInsertInHeaderFooter()&&(h.isMultiTransform=e.BooleanNumber.TRUE,h.transforms=h.transform?[h.transform]:null),s.push(h)}this._commandService.executeCommand(h.id,{unitId:i,drawings:s})}_isInsertInHeaderFooter(){var e;let{unitId:t}=this._context,r=(e=this._renderManagerSrv.getRenderById(t))==null?void 0:e.with(n.DocSkeletonManagerService).getViewModel(),a=r==null?void 0:r.getEditArea();return a===i.DocumentEditArea.HEADER||a===i.DocumentEditArea.FOOTER}_getImagePosition(t,n){let r=this._docSelectionRenderService.getActiveTextRange(),i=(r==null?void 0:r.getAbsolutePosition())||{left:0,top:0};return{size:{width:t,height:n},positionH:{relativeFrom:e.ObjectRelativeFromH.PAGE,posOffset:i.left},positionV:{relativeFrom:e.ObjectRelativeFromV.PARAGRAPH,posOffset:0},angle:0}}_updateOrderListener(){this.disposeWithMe(this._drawingManagerService.featurePluginOrderUpdate$.subscribe(e=>{let{unitId:t,subUnitId:n,drawingIds:r,arrangeType:i}=e;this._commandService.executeCommand(g.id,{unitId:t,subUnitId:n,drawingIds:r,arrangeType:i})}))}_groupDrawingListener(){this.disposeWithMe(this._drawingManagerService.featurePluginGroupUpdate$.subscribe(e=>{this._commandService.executeCommand(m.id,e)})),this.disposeWithMe(this._drawingManagerService.featurePluginUngroupUpdate$.subscribe(e=>{this._commandService.executeCommand(_.id,e)}))}_getCurrentSceneAndTransformer(){let{scene:e,mainComponent:t}=this._context;if(e==null||t==null)return;let n=e.getTransformerByCreate(),{docsLeft:r,docsTop:i}=t.getOffsetConfig();return{scene:e,transformer:n,docsLeft:r,docsTop:i}}_transformDrawingListener(){let e=this._getCurrentSceneAndTransformer();if(e&&e.transformer)this.disposeWithMe(e.transformer.changeEnd$.pipe((0,c.debounceTime)(30)).subscribe(e=>{this._docSelectionManagerService.refreshSelection()}));else throw Error(`transformer is not init`)}_focusDrawingListener(){this.disposeWithMe(this._drawingManagerService.focus$.subscribe(t=>{var n;let{transformer:r,docsLeft:i,docsTop:a}=(n=this._getCurrentSceneAndTransformer())==null?{}:n;if(t==null||t.length===0)this._contextService.setContextValue(e.FOCUSING_COMMON_DRAWINGS,!1),this._docDrawingService.focusDrawing([]),r&&r.resetProps({zeroTop:0,zeroLeft:0});else{this._contextService.setContextValue(e.FOCUSING_COMMON_DRAWINGS,!0),this._docDrawingService.focusDrawing(t),this._setDrawingSelections(t);let n=this._docSelectionRenderService.getSegment(),o=this._findSegmentIdByDrawingId(t[0].drawingId);n!==o&&this._docSelectionRenderService.setSegment(o),r&&r.resetProps({zeroTop:a,zeroLeft:i})}}))}_findSegmentIdByDrawingId(e){var t;let{unit:n}=this._context,{body:r,headers:i={},footers:a={}}=n.getSnapshot();if(((t=r==null?void 0:r.customBlocks)==null?[]:t).some(t=>t.blockId===e))return``;for(let t of Object.keys(i)){var o;if((o=i[t].body.customBlocks)!=null&&o.some(t=>t.blockId===e))return t}for(let t of Object.keys(a)){var s;if((s=a[t].body.customBlocks)!=null&&s.some(t=>t.blockId===e))return t}return``}_updateDrawingsEditStatus(){var t;if(!this._context)return;let{unit:r,scene:a,unitId:s}=this._context,c=(t=this._renderManagerSrv.getRenderById(s))==null?void 0:t.with(n.DocSkeletonManagerService).getViewModel();if(c==null||r==null)return;let{drawings:l={}}=r.getSnapshot(),u=c.getEditArea()===i.DocumentEditArea.BODY;for(let t of Object.keys(l)){let n=l[t],r=(0,o.getDrawingShapeKeyByDrawingSearch)({unitId:s,drawingId:n.drawingId,subUnitId:s}),i=a.fuzzyMathObjects(r,!0);if(i.length)for(let t of i){a.detachTransformerFrom(t);try{t.setOpacity(.5)}catch{}if(u&&n.isMultiTransform!==e.BooleanNumber.TRUE||!u&&n.isMultiTransform===e.BooleanNumber.TRUE){n.allowTransform!==!1&&a.attachTransformerTo(t);try{t.setOpacity(1)}catch{}}}}}_editAreaChangeListener(){var e;let{unitId:t}=this._context,r=(e=this._renderManagerSrv.getRenderById(t))==null?void 0:e.with(n.DocSkeletonManagerService).getViewModel();r!=null&&(this._updateDrawingsEditStatus(),this.disposeWithMe(r.editAreaChange$.subscribe(()=>{this._updateDrawingsEditStatus()})),this.disposeWithMe(this._docRefreshDrawingsService.refreshDrawings$.subscribe(e=>{e!=null&&queueMicrotask(()=>{this._updateDrawingsEditStatus()})})),this.disposeWithMe(this._commandService.onCommandExecuted(async e=>{e.id===n.RichTextEditingMutation.id&&queueMicrotask(()=>{this._updateDrawingsEditStatus()})})))}_setDrawingSelections(e){var t,n;let{unit:r}=this._context,i=(t=(n=r.getSnapshot().body)==null?void 0:n.customBlocks)==null?[]:t,a=e.map(e=>{let t=e.drawingId,n=i.find(e=>e.blockId===t);return n?n.startIndex:null}).filter(e=>e!==null).map(e=>({startOffset:e,endOffset:e+1}));this._docSelectionManagerService.replaceDocRanges(a)}};T=w([C(1,e.ICommandService),C(2,(0,e.Inject)(n.DocSelectionManagerService)),C(3,i.IRenderManagerService),C(4,o.IImageIoService),C(5,t.IDocDrawingService),C(6,o.IDrawingManagerService),C(7,e.IContextService),C(8,s.IMessageService),C(9,(0,e.Inject)(e.LocaleService)),C(10,(0,e.Inject)(r.DocSelectionRenderService)),C(11,(0,e.Inject)(S)),C(12,s.ILocalFileService)],T);const E={id:`doc.command.insert-float-image`,type:e.CommandType.COMMAND,handler:t=>{var n,r;let a=t.get(e.IUniverInstanceService),o=t.get(i.IRenderManagerService);return(n=(r=(0,i.getCurrentTypeOfRenderer)(e.UniverInstanceType.UNIVER_DOC,a,o))==null?void 0:r.with(T).insertDocImage())==null?!1:n}};let D=function(e){return e.INLINE=`inline`,e.BEHIND_TEXT=`behindText`,e.IN_FRONT_OF_TEXT=`inFrontOfText`,e.WRAP_SQUARE=`wrapSquare`,e.WRAP_TOP_AND_BOTTOM=`wrapTopAndBottom`,e}({});const O={[D.INLINE]:e.PositionedObjectLayoutType.INLINE,[D.WRAP_SQUARE]:e.PositionedObjectLayoutType.WRAP_SQUARE,[D.WRAP_TOP_AND_BOTTOM]:e.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM,[D.IN_FRONT_OF_TEXT]:e.PositionedObjectLayoutType.WRAP_NONE,[D.BEHIND_TEXT]:e.PositionedObjectLayoutType.WRAP_NONE};function k(t,n,i,a,o,s,c){var l;let u=new e.TextX,d=e.JSONX.getInstance(),f=[],p=s.getSelfOrHeaderFooterModel(n).getBody(),m=s.getSelfOrHeaderFooterModel(t).getBody();if(p==null||m==null)return;let h=(l=p.customBlocks)==null||(l=l.find(e=>e.blockId===o))==null?void 0:l.startIndex;if(h!=null){if(a=Math.min(m.dataStream.length-2,a),t===n){if(a<h?(a>0&&u.push({t:e.TextXActionType.RETAIN,len:a}),u.push({t:e.TextXActionType.INSERT,body:{dataStream:`\b`,customBlocks:[{startIndex:0,blockId:o}]},len:1}),u.push({t:e.TextXActionType.RETAIN,len:h-a}),u.push({t:e.TextXActionType.DELETE,len:1})):(h>0&&u.push({t:e.TextXActionType.RETAIN,len:h}),u.push({t:e.TextXActionType.DELETE,len:1}),a-h-1>0&&u.push({t:e.TextXActionType.RETAIN,len:a-h-1}),u.push({t:e.TextXActionType.INSERT,body:{dataStream:`\b`,customBlocks:[{startIndex:0,blockId:o}]},len:1})),a!==h){let e=(0,r.getRichTextEditPath)(s,n),t=d.editOp(u.serialize(),e);f.push(t)}}else{h>0&&u.push({t:e.TextXActionType.RETAIN,len:h}),u.push({t:e.TextXActionType.DELETE,len:1});let l=(0,r.getRichTextEditPath)(s,n),p=d.editOp(u.serialize(),l);f.push(p),u.empty(),a>0&&u.push({t:e.TextXActionType.RETAIN,len:a}),u.push({t:e.TextXActionType.INSERT,body:{dataStream:`\b`,customBlocks:[{startIndex:0,blockId:o}]},len:1}),l=(0,r.getRichTextEditPath)(s,t),p=d.editOp(u.serialize(),l),f.push(p),c.setSegment(t),c.setSegmentPage(i)}return f}}const A={id:`doc.command.update-doc-drawing-wrapping-style`,type:e.CommandType.COMMAND,handler:(t,r)=>{if(r==null)return!1;let{drawings:a,wrappingStyle:o,unitId:s}=r,c=t.get(e.ICommandService),l=t.get(e.IUniverInstanceService),u=t.get(i.IRenderManagerService).getRenderById(s),d=u==null?void 0:u.with(n.DocSkeletonManagerService).getSkeleton().getSkeletonData(),f=u==null?void 0:u.with(n.DocSkeletonManagerService).getViewModel(),p=u==null?void 0:u.scene,m=l.getCurrentUniverDocInstance();if(m==null||d==null||p==null||f==null)return!1;let h=f.getEditArea(),g=p.getTransformerByCreate(),{pages:_,skeHeaders:v,skeFooters:y}=d,b=e.JSONX.getInstance(),x=[],{drawings:S={}}=m.getSnapshot();for(let t of a){let{drawingId:n}=t,r=S[n].layoutType,a=O[o];if(r!==a){let e=b.replaceOp([`drawings`,n,`layoutType`],r,a);x.push(e)}if(o===D.BEHIND_TEXT||o===D.IN_FRONT_OF_TEXT){let t=S[n].behindDoc,r=o===D.BEHIND_TEXT?e.BooleanNumber.TRUE:e.BooleanNumber.FALSE;if(t!==r){let e=b.replaceOp([`drawings`,n,`behindDoc`],t,r);x.push(e)}}if(o===D.INLINE)continue;let s=null,c=0,l=0;for(let e of _){let{headerId:t,footerId:r,marginTop:a,marginLeft:o,marginBottom:u,pageWidth:d,pageHeight:f}=e;switch(h){case i.DocumentEditArea.HEADER:{var C;let e=(C=v.get(t))==null?void 0:C.get(d);e!=null&&e.skeDrawings.has(n)&&(s=e.skeDrawings.get(n),c=e.marginTop,l=o);break}case i.DocumentEditArea.FOOTER:{var w;let e=(w=y.get(r))==null?void 0:w.get(d);e!=null&&e.skeDrawings.has(n)&&(s=e.skeDrawings.get(n),c=f-u+e.marginTop,l=o);break}case i.DocumentEditArea.BODY:e.skeDrawings.has(n)&&(s=e.skeDrawings.get(n),c=a,l=o);break}if(s!=null)break}if(s!=null){let{aTop:t,aLeft:r}=s,i=S[n].docTransform.positionH,a=r;i.relativeFrom===e.ObjectRelativeFromH.MARGIN?a-=l:i.relativeFrom===e.ObjectRelativeFromH.COLUMN&&(a-=s.columnLeft);let o={relativeFrom:i.relativeFrom,posOffset:a};if(i.posOffset!==o.posOffset){let e=b.replaceOp([`drawings`,n,`docTransform`,`positionH`],i,o);x.push(e)}let u=S[n].docTransform.positionV,d=t;u.relativeFrom===e.ObjectRelativeFromV.PAGE?d+=c:u.relativeFrom===e.ObjectRelativeFromV.LINE?d-=s.lineTop:u.relativeFrom===e.ObjectRelativeFromV.PARAGRAPH&&(d-=s.blockAnchorTop);let f={relativeFrom:u.relativeFrom,posOffset:d};if(u.posOffset!==f.posOffset){let e=b.replaceOp([`drawings`,n,`docTransform`,`positionV`],u,f);x.push(e)}}}let T={id:n.RichTextEditingMutation.id,params:{unitId:s,actions:[],textRanges:null}};T.params.actions=x.reduce((t,n)=>e.JSONX.compose(t,n),null);let E=c.syncExecuteCommand(T.id,T.params);return g.refreshControls(),!!E}},j={id:`doc.command.update-doc-drawing-distance`,type:e.CommandType.COMMAND,handler:(t,r)=>{if(r==null)return!1;let i=t.get(e.ICommandService),a=t.get(e.IUniverInstanceService).getCurrentUniverDocInstance();if(a==null)return!1;let{drawings:o,dist:s,unitId:c}=r,l=e.JSONX.getInstance(),u=[],{drawings:d={}}=a.getSnapshot();for(let e of o){let{drawingId:t}=e;for(let[e,n]of Object.entries(s)){let r=d[t][e];if(r!==n){let i=l.replaceOp([`drawings`,t,e],r,n);u.push(i)}}}let f={id:n.RichTextEditingMutation.id,params:{unitId:c,actions:[],textRanges:null}};return f.params.actions=u.reduce((t,n)=>e.JSONX.compose(t,n),null),!!i.syncExecuteCommand(f.id,f.params)}},M={id:`doc.command.update-doc-drawing-wrap-text`,type:e.CommandType.COMMAND,handler:(t,r)=>{if(r==null)return!1;let i=t.get(e.ICommandService),a=t.get(e.IUniverInstanceService).getCurrentUniverDocInstance();if(a==null)return!1;let{drawings:o,wrapText:s,unitId:c}=r,l=e.JSONX.getInstance(),u=[],{drawings:d={}}=a.getSnapshot();for(let e of o){let{drawingId:t}=e,n=d[t].wrapText;if(n!==s){let e=l.replaceOp([`drawings`,t,`wrapText`],n,s);u.push(e)}}let f={id:n.RichTextEditingMutation.id,params:{unitId:c,actions:[],textRanges:null}};return f.params.actions=u.reduce((t,n)=>e.JSONX.compose(t,n),null),!!i.syncExecuteCommand(f.id,f.params)}},N={id:`doc.command.update-drawing-doc-transform`,type:e.CommandType.COMMAND,handler:(t,r)=>{if(r==null)return!1;let a=t.get(e.ICommandService),o=t.get(e.IUniverInstanceService),s=t.get(i.IRenderManagerService).getRenderById(r.unitId),c=s==null?void 0:s.scene;if(c==null)return!1;let l=c.getTransformerByCreate(),u=o.getCurrentUniverDocInstance();if(u==null)return!1;let{drawings:d,unitId:f}=r,p=e.JSONX.getInstance(),m=[],{drawings:h={}}=u.getSnapshot();for(let t of d){let{drawingId:n,key:r,value:i}=t,a=h[n].docTransform[r];if(!e.Tools.diffValue(a,i)){let e=p.replaceOp([`drawings`,n,`docTransform`,r],a,i);m.push(e)}}let g={id:n.RichTextEditingMutation.id,params:{unitId:f,actions:[],textRanges:null,debounce:!0}};g.params.actions=m.reduce((t,n)=>e.JSONX.compose(t,n),null);let _=a.syncExecuteCommand(g.id,g.params);return l.refreshControls(),!!_}},P={id:`doc.command.move-inline-drawing`,type:e.CommandType.COMMAND,handler:(t,a)=>{var o,s;if(a==null)return!1;let c=t.get(i.IRenderManagerService),l=(o=c.getRenderById(a.unitId))==null?void 0:o.with(r.DocSelectionRenderService),u=t.get(S),d=c.getRenderById(a.unitId),f=d==null?void 0:d.scene,p=d==null?void 0:d.with(n.DocSkeletonManagerService).getSkeleton();if(f==null||l==null)return!1;let m=f.getTransformerByCreate(),h=t.get(e.ICommandService),g=t.get(e.IUniverInstanceService).getCurrentUniverDocInstance();if(g==null)return!1;let{drawing:_,unitId:v,offset:y,segmentId:b,segmentPage:x,needRefreshDrawings:C}=a;if(C)return u.refreshDrawings(p),m.refreshControls(),!0;let w=[],{drawingId:T}=_,E=k(b,(s=l.getSegment())==null?``:s,x,y,T,g,l);if(E==null||E.length===0)return u.refreshDrawings(p),m.refreshControls(),!1;w.push(...E);let D={id:n.RichTextEditingMutation.id,params:{unitId:v,actions:[],textRanges:null}};D.params.actions=w.reduce((t,n)=>e.JSONX.compose(t,n),null);let O=h.syncExecuteCommand(D.id,D.params);return m.refreshControls(),!!O}},F={id:`doc.command.transform-non-inline-drawing`,type:e.CommandType.COMMAND,handler:(t,a)=>{var o,s;if(a==null)return!1;let c=t.get(i.IRenderManagerService),l=(o=c.getRenderById(a.unitId))==null?void 0:o.with(r.DocSelectionRenderService),u=c.getRenderById(a.unitId),d=u==null?void 0:u.scene;if(d==null||l==null)return!1;let f=d.getTransformerByCreate(),p=t.get(e.ICommandService),m=t.get(e.IUniverInstanceService).getCurrentUniverDocInstance();if(m==null)return!1;let{drawing:h,unitId:g,offset:_,docTransform:v,segmentId:y,segmentPage:b}=a,x=[],{drawingId:S}=h,C=k(y,(s=l.getSegment())==null?``:s,b,_,S,m,l);if(C==null)return!1;C.length>0&&x.push(...C);let w=e.JSONX.getInstance(),{drawings:T={}}=m.getSnapshot(),{positionH:E,positionV:D,size:O,angle:A}=T[S].docTransform;if(!e.Tools.diffValue(E,v.positionH)){let e=w.replaceOp([`drawings`,S,`docTransform`,`positionH`],E,v.positionH);x.push(e)}if(!e.Tools.diffValue(D,v.positionV)){let e=w.replaceOp([`drawings`,S,`docTransform`,`positionV`],D,v.positionV);x.push(e)}if(!e.Tools.diffValue(O,v.size)){let e=w.replaceOp([`drawings`,S,`docTransform`,`size`],O,v.size);x.push(e)}if(!e.Tools.diffValue(A,v.angle)){let e=w.replaceOp([`drawings`,S,`docTransform`,`angle`],A,v.angle);x.push(e)}let j={id:n.RichTextEditingMutation.id,params:{unitId:g,actions:[],textRanges:null,debounce:!0}};j.params.actions=x.reduce((t,n)=>e.JSONX.compose(t,n),null);let M=p.syncExecuteCommand(j.id,j.params);return f.refreshControls(),!!M}},I={id:`doc.command.move-drawing`,type:e.CommandType.COMMAND,handler:(n,r)=>{let a=n.get(e.ICommandService),o=n.get(t.IDocDrawingService),s=n.get(e.IUniverInstanceService),c=n.get(i.IRenderManagerService),{direction:l}=r,u=o.getFocusDrawings();if(u.length===0)return!1;let d=u[0].unitId,f=c.getRenderById(d),p=f==null?void 0:f.scene;if(p==null)return!1;let m=p.getTransformerByCreate(),h=s.getUniverDocInstance(d),g=u.map(t=>{var n;let{drawingId:r}=t,i=h==null||(n=h.getSnapshot().drawings)==null?void 0:n[r];if(i==null||i.layoutType===e.PositionedObjectLayoutType.INLINE)return null;let{positionH:a,positionV:o}=i.docTransform,s={...a},c={...o};if(l===e.Direction.UP){var u;c.posOffset=((u=c.posOffset)==null?0:u)-2}else if(l===e.Direction.DOWN){var d;c.posOffset=((d=c.posOffset)==null?0:d)+2}else if(l===e.Direction.LEFT){var f;s.posOffset=((f=s.posOffset)==null?0:f)-2}else if(l===e.Direction.RIGHT){var p;s.posOffset=((p=s.posOffset)==null?0:p)+2}return{drawingId:r,key:l===e.Direction.UP||l===e.Direction.DOWN?`positionV`:`positionH`,value:l===e.Direction.UP||l===e.Direction.DOWN?c:s}}).filter(e=>e!=null);if(g.length===0)return!1;let _=a.syncExecuteCommand(N.id,{unitId:d,subUnitId:d,drawings:g});return m.refreshControls(),!!_}},L={id:`doc.operation.clear-drawing-transformer`,type:e.CommandType.MUTATION,handler:(e,t)=>{let n=e.get(i.IRenderManagerService);return t.forEach(e=>{var t;(t=n.getRenderById(e))==null||(t=t.scene.getTransformer())==null||t.debounceRefreshControls()}),!0}},R=`COMPONENT_DOC_DRAWING_PANEL`,z={id:`sidebar.operation.doc-image`,type:e.CommandType.COMMAND,handler:async(t,n)=>{let r=t.get(s.ISidebarService),i=t.get(e.LocaleService),a=t.get(o.IDrawingManagerService);switch(n.value){case`open`:r.open({header:{title:i.t(`docImage.panel.title`)},children:{label:R},onClose:()=>{a.focusDrawing(null)},width:360});break;default:r.close();break}return!0}},B={id:`doc.operation.edit-doc-image`,type:e.CommandType.OPERATION,handler:(t,n)=>{let r=t.get(o.IDrawingManagerService),i=t.get(e.ICommandService);return n==null?!1:(r.focusDrawing([n]),i.executeCommand(z.id,{value:`open`}),!0)}};function V(e,t,n=1,i=0){let{top:a,left:o,bottom:s,right:c}=e,l=c-o,u=s-a,{viewportScrollX:d,viewportScrollY:f}=t.getViewport(r.VIEWPORT_KEY.VIEW_MAIN),{scaleX:p,scaleY:m}=t.getAncestorScale();return{startX:(o-d)*p,startY:(a-f)*m,endX:(o+l-d)*p,endY:(a+u-f)*m,width:l*p,height:u*m,rotate:i,absolute:{left:!1,top:!1},opacity:n==null?1:n}}function H(e,t){let{top:n,left:r,width:i,height:a,angle:o,opacity:s}=e;return V({top:n,left:r,bottom:n+a,right:r+i},t.scene,s,o)}let U=class extends e.Disposable{constructor(e,t,n,r,i,a){super(),this._renderManagerService=e,this._drawingManagerService=t,this._drawingRenderService=n,this._canvasFloatDomService=r,this._univerInstanceService=i,this._commandService=a,x(this,`_domLayerInfoMap`,new Map),this._initialize()}dispose(){super.dispose()}_initialize(){this._drawingAddRemoveListener(),this._initScrollAndZoomEvent()}_getSceneAndTransformerByDrawingSearch(e){if(e==null)return;let t=this._renderManagerService.getRenderById(e);if(t==null)return null;let n=t.scene;return{scene:n,transformer:n.getTransformerByCreate(),renderUnit:t,canvas:t.engine.getCanvasElement()}}_drawingAddRemoveListener(){this.disposeWithMe(this._drawingManagerService.add$.subscribe(e=>{this._insertRects(e)})),this.disposeWithMe(this._drawingManagerService.remove$.subscribe(e=>{e.forEach(e=>{this._removeDom(e.drawingId)})}))}_insertRects(t){t.forEach(async t=>{let{unitId:n}=t;if(!this._univerInstanceService.getUnit(n,e.UniverInstanceType.UNIVER_DOC))return;let r=this._getSceneAndTransformerByDrawingSearch(n);if(r==null)return;let i=this._drawingManagerService.getDrawingByParam(t);if(i==null)return;let a=await this._drawingRenderService.renderFloatDom(i,r.scene);if(!(a==null||a.length===0))for(let t of a){this._addHoverForRect(t);let a=new e.DisposableCollection,o=new c.BehaviorSubject(H(t,r.renderUnit)),s=r.canvas,l=i.data,u={dispose:a,rect:t,position$:o,unitId:n};this._canvasFloatDomService.addFloatDom({position$:o,id:i.drawingId,componentKey:i.componentKey,onPointerDown:e=>{s.dispatchEvent(new PointerEvent(e.type,e))},onPointerMove:e=>{s.dispatchEvent(new PointerEvent(e.type,e))},onPointerUp:e=>{s.dispatchEvent(new PointerEvent(e.type,e))},onWheel:e=>{s.dispatchEvent(new WheelEvent(e.type,e))},data:l,unitId:n});let d=t.onTransformChange$.subscribeEvent(()=>{let e=H(t,r.renderUnit);o.next(e)});a.add(()=>{this._canvasFloatDomService.removeFloatDom(i.drawingId)}),d&&a.add(d),this._domLayerInfoMap.set(i.drawingId,u)}})}_addHoverForRect(t){this.disposeWithMe((0,e.toDisposable)(t.onPointerEnter$.subscribeEvent(()=>{t.cursor=i.CURSOR_TYPE.GRAB}))),this.disposeWithMe((0,e.toDisposable)(t.onPointerLeave$.subscribeEvent(()=>{t.cursor=i.CURSOR_TYPE.DEFAULT})))}_removeDom(e){let t=this._domLayerInfoMap.get(e);if(!t)return;let{unitId:n}=t;this._domLayerInfoMap.delete(e),t.dispose.dispose();let r=this._getSceneAndTransformerByDrawingSearch(n);r&&r.scene.removeObject(t.rect)}_initScrollAndZoomEvent(){let t=e=>{let t=this._getSceneAndTransformerByDrawingSearch(e);t&&this._domLayerInfoMap.forEach(n=>{if(n.unitId!==e)return;let r=H(n.rect,t.renderUnit);n.position$.next(r)})};this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(e.UniverInstanceType.UNIVER_DOC).pipe((0,c.map)(e=>{if(!e)return null;let t=e.getUnitId(),n=this._renderManagerService.getRenderById(t);return n?{render:n,unitId:t}:null}),(0,c.switchMap)(t=>t?(0,e.fromEventSubject)(t.render.scene.getViewport(r.VIEWPORT_KEY.VIEW_MAIN).onScrollAfter$).pipe((0,c.map)(()=>({unitId:t.unitId}))):(0,c.of)(null))).subscribe(e=>{if(!e)return;let{unitId:n}=e;t(n)})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===r.SetDocZoomRatioOperation.id){let{unitId:n}=e.params;t(n)}}))}insertFloatDom(t,i){var a,o,s;let c=this._univerInstanceService.getCurrentUnitOfType(e.UniverInstanceType.UNIVER_DOC);if(!c)return!1;let l=this._getSceneAndTransformerByDrawingSearch(c.getUnitId());if(!l)return!1;let u=(a=l.renderUnit.with(n.DocSkeletonManagerService).getSkeleton().getSkeletonData())==null?void 0:a.pages[0];if(!u)return!1;let{pageWidth:d,marginLeft:f,marginRight:p}=u,m=d-f-p,g={size:{width:(o=i.width)==null?m:o,height:i.height},positionH:{relativeFrom:e.ObjectRelativeFromH.PAGE,posOffset:0},positionV:{relativeFrom:e.ObjectRelativeFromV.PAGE,posOffset:0},angle:0},_=(s=i.drawingId)==null?(0,e.generateRandomId)():s,v={unitId:c.getUnitId(),drawings:[{drawingId:_,drawingType:e.DrawingTypeEnum.DRAWING_DOM,subUnitId:c.getUnitId(),unitId:c.getUnitId(),...t,title:``,description:``,docTransform:g,layoutType:e.PositionedObjectLayoutType.INLINE,transform:(0,r.docDrawingPositionToTransform)(g)}]};return this._commandService.syncExecuteCommand(h.id,v),_}};U=w([C(0,i.IRenderManagerService),C(1,o.IDrawingManagerService),C(2,(0,e.Inject)(l.DrawingRenderService)),C(3,(0,e.Inject)(s.CanvasFloatDomService)),C(4,e.IUniverInstanceService),C(5,e.ICommandService)],U);const W=`doc.menu.image`,G=E.id,ee=t=>{let r=t.get(n.DocSelectionManagerService),i=t.get(e.IUniverInstanceService);return new c.Observable(e=>{let t=r.textSelection$.subscribe(()=>{let t=r.getActiveTextRange();if(t){var n;let{segmentId:r,startOffset:a,endOffset:o}=t,s=i.getCurrentUniverDocInstance(),c=s==null||(n=s.getSelfOrHeaderFooterModel(r).getBody())==null?void 0:n.tables;if(c&&c.length&&c.some(e=>{let{startIndex:t,endIndex:n}=e;return a>=t&&a<n||o>=t&&o<n})){e.next(!0);return}}else{e.next(!0);return}e.next(!1)});return()=>t.unsubscribe()})};function K(t){return{id:W,type:s.MenuItemType.SUBITEMS,icon:`AddImageIcon`,tooltip:`docImage.title`,disabled$:ee(t),hidden$:(0,s.getMenuHiddenObservable)(t,e.UniverInstanceType.UNIVER_DOC,void 0,e.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}function te(t){return{id:G,title:`docImage.upload.float`,type:s.MenuItemType.BUTTON,hidden$:(0,s.getMenuHiddenObservable)(t,e.UniverInstanceType.UNIVER_DOC,void 0,e.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}var ne=`@univerjs/docs-drawing-ui`,re=`0.18.0`;const q=`docs-drawing-ui.config`;Symbol(q);const J={};function Y(t){if(e.JSONX.isNoop(t)||!Array.isArray(t))return null;let n=t.find(e=>Array.isArray(e)&&(e==null?void 0:e[0])===`drawings`);if(n==null||!Array.isArray(n)||n.length<3||typeof n[1]==`string`&&typeof n[2]!=`object`||Array.isArray(n[1])&&typeof n[1][1]!=`object`)return null;let r=[];if(Array.isArray(n==null?void 0:n[1])){for(let e of n)if(Array.isArray(e)){var i,a;r.push({type:!(e==null||(i=e[1])==null)&&i.i?`add`:`remove`,drawingId:e==null?void 0:e[0],drawing:e==null||(a=e[1])==null?void 0:a.i})}}else{var o,s;r.push({type:(o=n[2])!=null&&o.i?`add`:`remove`,drawingId:n[1],drawing:(s=n[2])==null?void 0:s.i})}return r}function ie(e){if(!Array.isArray(e)||e.length<3||e[0]!==`drawingsOrder`)return[];let t=[];for(let n=1;n<e.length;n++){let r=e[n];if(Array.isArray(r)&&typeof r[0]==`number`&&typeof r[1]==`object`)t.push(r[0]);else{t.length=0;break}}return t}let X=class extends e.Disposable{constructor(e,t,n,r,i){super(),this._univerInstanceService=e,this._commandService=t,this._drawingManagerService=n,this._docDrawingService=r,this._renderManagerService=i,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id!==n.RichTextEditingMutation.id)return;let{unitId:t,actions:r}=e.params,i=Y(r);if(i!=null)for(let{type:e,drawingId:n,drawing:r}of i)e===`add`?this._addDrawings(t,[r]):this._removeDrawings(t,[n])})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==n.RichTextEditingMutation.id)return;let{unitId:t,actions:r}=e.params;ie(r).length>0&&this._updateDrawingsOrder(t)})),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{var n;if(t.id!==e.UndoCommand.id&&t.id!==e.RedoCommand.id)return;let r=(n=this._univerInstanceService.getCurrentUniverDocInstance())==null?void 0:n.getUnitId(),i=this._drawingManagerService.getFocusDrawings();if(r==null||i.length===0)return;let a=this._renderManagerService.getRenderById(r),o=a==null?void 0:a.scene;if(o==null)return!1;o.getTransformerByCreate().refreshControls()}))}_addDrawings(e,t){let n=this._drawingManagerService,r=this._docDrawingService,{subUnitId:i,redo:a,objects:o}=this._docDrawingService.getBatchAddOp(t);n.applyJson1(e,i,a),r.applyJson1(e,i,a),n.addNotification(o),r.addNotification(o)}_removeDrawings(e,t){let n=this._drawingManagerService,r=this._docDrawingService,{subUnitId:i,redo:a,objects:o}=this._docDrawingService.getBatchRemoveOp(t.map(t=>({unitId:e,subUnitId:e,drawingId:t})));n.applyJson1(e,i,a),r.applyJson1(e,i,a),n.removeNotification(o),r.removeNotification(o)}_updateDrawingsOrder(e){let t=this._univerInstanceService.getUniverDocInstance(e);if(t==null)return;let n=t.getSnapshot().drawingsOrder;if(n==null)return;let r=this._drawingManagerService,i=this._docDrawingService;r.setDrawingOrder(e,e,n),i.setDrawingOrder(e,e,n);let a={unitId:e,subUnitId:e,drawingIds:n};r.orderNotification(a),i.orderNotification(a)}};X=w([C(0,e.IUniverInstanceService),C(1,e.ICommandService),C(2,o.IDrawingManagerService),C(3,t.IDocDrawingService),C(4,i.IRenderManagerService)],X);const ae=e=>{let{floatDomInfos:t,scene:n,offset:r,bound:i}=e,a=i.right-i.left,o=i.bottom-i.top;return(0,d.jsx)(`div`,{className:`univer-absolute univer-left-0 univer-top-0`,children:(0,u.useMemo)(()=>t.map(e=>{let{width:t=0,height:r=0,left:i=0,top:a=0}=e.transform,o=V({left:i,right:i+t,top:a,bottom:a+r},n),s={position$:new c.BehaviorSubject(o),position:o,id:e.drawingId,componentKey:e.componentKey,onPointerMove:()=>{},onPointerDown:()=>{},onPointerUp:()=>{},onWheel:()=>{},unitId:e.unitId,data:e.data};return[e.drawingId,s]}).filter(([e,t])=>!(t.position.endX<0||t.position.endY<0||t.position.startX>a||t.position.startY>o)),[t,n,r,a,o]).map(([e,t])=>(0,d.jsx)(s.PrintFloatDomSingle,{layer:t,id:e,position:t.position},e))})};let Z=class extends e.Disposable{constructor(e,t,n,r,i){super(),this._docPrintInterceptorService=e,this._drawingRenderService=t,this._drawingManagerService=n,this._componetManager=r,this._injector=i,this._initPrinting(),this._initPrintingDom()}_initPrinting(){this.disposeWithMe(this._docPrintInterceptorService.interceptor.intercept(this._docPrintInterceptorService.interceptor.getInterceptPoints().PRINTING_COMPONENT_COLLECT,{handler:(t,n,r)=>{let{unitId:i,scene:a}=n,o=this._drawingManagerService.getDrawingDataForUnit(i),s=o==null?void 0:o[i];return s&&s.order.forEach(t=>{let n=s.data[t];n.drawingType!==e.DrawingTypeEnum.DRAWING_CHART&&n.drawingType!==e.DrawingTypeEnum.DRAWING_DOM&&this._drawingRenderService.renderDrawing(n,a)}),r()}}))}_initPrintingDom(){this.disposeWithMe(this._docPrintInterceptorService.interceptor.intercept(this._docPrintInterceptorService.interceptor.getInterceptPoints().PRINTING_DOM_COLLECT,{handler:(t,n,r)=>{let{unitId:i}=n,o=this._drawingManagerService.getDrawingDataForUnit(i),c=o==null?void 0:o[i];if(c){let o=c.order.map(t=>{let n=c.data[t];if(n.drawingType===e.DrawingTypeEnum.DRAWING_CHART)return{...n,componentKey:this._componetManager.get(e.DOC_DRAWING_PRINTING_COMPONENT_KEY)};if(n.drawingType===e.DrawingTypeEnum.DRAWING_DOM){let e=this._docPrintInterceptorService.getPrintComponent(n.componentKey);return{...n,componentKey:this._componetManager.get(e||n.componentKey)}}return null}).filter(Boolean);return(0,a.render)((0,d.jsx)((0,s.connectInjector)(ae,this._injector),{unitId:i,floatDomInfos:o,scene:n.scene,skeleton:n.skeleton,offset:n.offset,bound:n.bound}),n.root),t==null||t.add(()=>{(0,a.unmount)(n.root)}),r(t)}}}))}};Z=w([C(0,(0,e.Inject)(r.DocPrintInterceptorService)),C(1,(0,e.Inject)(l.DrawingRenderService)),C(2,o.IDrawingManagerService),C(3,(0,e.Inject)(s.ComponentManager)),C(4,(0,e.Inject)(e.Injector))],Z);function oe(e){let{path:t}=e;return t.some(e=>e===`cells`)}let se=class extends e.Disposable{constructor(e,t,n,r){super(),this._commandService=e,this._univerInstanceService=t,this._drawingManagerService=n,this._renderManagerService=r,x(this,`_liquid`,new i.Liquid),x(this,`_listenerOnImageMap`,new Set),x(this,`_transformerCache`,new Map),x(this,`_anchorShape`,void 0),this._init()}_init(){this._listenDrawingFocus()}_listenDrawingFocus(){this.disposeWithMe(this._drawingManagerService.add$.subscribe(e=>{if(e.length!==0)for(let t of e){let{unitId:e}=t;this._listenerOnImageMap.has(e)||(this._listenTransformerChange(e),this._listenerOnImageMap.add(e))}}))}_listenTransformerChange(t){var n;let r=(n=this._getSceneAndTransformerByDrawingSearch(t))==null?void 0:n.transformer;if(r==null)return;this.disposeWithMe((0,e.toDisposable)(r.changeStart$.subscribe(t=>{this._transformerCache.clear();let{objects:n}=t;for(let t of n.values()){var r;let{oKey:n,width:i,height:a,left:o,top:s,angle:c}=t,l=this._drawingManagerService.getDrawingOKey(n);if(l==null)continue;let u=this._univerInstanceService.getUniverDocInstance(l.unitId),d=u==null||(r=u.getSnapshot().drawings)==null?void 0:r[l.drawingId];if((d==null?void 0:d.layoutType)===e.PositionedObjectLayoutType.INLINE)try{t.setOpacity(.2)}catch{}d!=null&&this._transformerCache.set(l.drawingId,{drawing:d,top:s,left:o,width:i,height:a,angle:c})}})));let i=(0,e.throttle)(this._updateMultipleDrawingDocTransform.bind(this),50);(0,e.throttle)(this._nonInlineDrawingTransform.bind(this),50),this.disposeWithMe((0,e.toDisposable)(r.changing$.subscribe(t=>{let{objects:n,offsetX:r,offsetY:a}=t;if(n.size>1)i(n);else if(n.size===1){let t=this._transformerCache.values().next().value,{width:i,height:o,top:s,left:c,angle:l}=n.values().next().value;if(t&&i===t.width&&o===t.height&&s===t.top&&c===t.left&&l===t.angle)return;t&&(t.drawing.layoutType,e.PositionedObjectLayoutType.INLINE),t&&t.drawing.layoutType===e.PositionedObjectLayoutType.INLINE&&r!=null&&a!=null&&this._updateInlineDrawingAnchor(t.drawing,r,a)}}))),this.disposeWithMe((0,e.toDisposable)(r.changeEnd$.subscribe(t=>{let{objects:n,offsetX:r,offsetY:i}=t;for(let t of n.values()){let n=this._drawingManagerService.getDrawingOKey(t.oKey);if(n==null)continue;let r=this._transformerCache.get(n==null?void 0:n.drawingId);if((r==null?void 0:r.drawing.layoutType)===e.PositionedObjectLayoutType.INLINE)try{t.setOpacity(1)}catch{}}if(this._anchorShape&&this._anchorShape.hide(),n.size>1)this._updateMultipleDrawingDocTransform(n);else if(n.size===1){let t=this._transformerCache.values().next().value,a=n.values().next().value,{width:o,height:s,top:c,left:l,angle:u}=a;if(t&&o===t.width&&s===t.height&&c===t.top&&l===t.left&&u===t.angle)return;t&&t.drawing.layoutType===e.PositionedObjectLayoutType.INLINE?o!==t.width||s!==t.height||u!==t.angle?this._updateDrawingSize(t,a):r!=null&&i!=null&&this._moveInlineDrawing(t.drawing,r,i):t&&this._nonInlineDrawingTransform(t.drawing,a)}this._transformerCache.clear()})))}_updateMultipleDrawingDocTransform(e){if(e.size<1)return;let t=[],n,r;for(let i of e.values()){let{oKey:e,left:a,top:o,angle:s}=i,{width:c,height:l}=i,u=this._drawingManagerService.getDrawingOKey(e);if(u==null)continue;n==null&&(n=u.unitId),r==null&&(r=u.subUnitId);let d=this._transformerCache.get(u.drawingId);if(d==null)continue;let{drawing:f,top:p,left:m,width:h,height:g,angle:_}=d,{width:v,height:y}=this._getPageContentSize(f);if(c=Math.min(c,v),l=Math.min(l,y),(h!==c||g!==l)&&t.push({drawingId:u.drawingId,key:`size`,value:{width:c,height:l}}),_!==s&&t.push({drawingId:u.drawingId,key:`angle`,value:s}),p!==o||m!==a){let e=o-p,n=a-m;e!==0&&t.push({drawingId:u.drawingId,key:`positionV`,value:{relativeFrom:f.docTransform.positionV.relativeFrom,posOffset:f.docTransform.positionV.posOffset+e}}),n!==0&&t.push({drawingId:u.drawingId,key:`positionH`,value:{relativeFrom:f.docTransform.positionH.relativeFrom,posOffset:f.docTransform.positionH.posOffset+n}})}}t.length>0&&n&&r&&this._commandService.executeCommand(N.id,{unitId:n,subUnitId:r,drawings:t})}_updateDrawingAnchor(e){if(this._transformerCache.size!==1)return;let t=this._transformerCache.values().next().value,n=e.values().next().value;this._getDrawingAnchor(t.drawing,n)}_updateInlineDrawingAnchor(e,t,n){var r;if(this._transformerCache.size!==1)return;let{contentBoxPointGroup:i}=(r=this._getInlineDrawingAnchor(e,t,n))==null?{}:r;i!=null&&this._createOrUpdateInlineAnchor(e.unitId,i)}_getInlineDrawingAnchor(e,t,a){var o,s;let c=this._renderManagerService.getRenderById(e.unitId),l=c==null?void 0:c.with(n.DocSkeletonManagerService).getSkeleton();if(c==null)return;let{mainComponent:u,scene:d}=c,f=u,p=d.getViewports()[0],{pageLayoutType:m=i.PageLayoutType.VERTICAL,pageMarginLeft:h,pageMarginTop:g}=f.getOffsetConfig(),_=null,v=!1,y=-1,b=``,x=this._getTransformCoordForDocumentOffset(f,p,t,a);if(x==null)return;let S=(o=this._renderManagerService.getRenderById(e.unitId))==null?void 0:o.with(r.DocSelectionRenderService);if(S==null)return;let C=l==null?void 0:l.findNodeByCoord(x,m,h,g,{strict:!1,segmentId:S.getSegment(),segmentPage:S.getSegmentPage()});if(C){let{node:e,ratioX:t,segmentPage:n,segmentId:r}=C;v=t<.5,_=e,y=n,b=r}if(_==null)return;let w=l==null?void 0:l.findPositionByGlyph(_,y),T=this._getDocObject();if(w==null||l==null||T==null||oe(w))return;let E={...w,isBack:v},{cursorList:D,contentBoxPointGroup:O}=new r.NodePositionConvertToCursor(T.document.getOffsetConfig(),l).getRangePointData(E,E),{startOffset:k}=(s=(0,r.getOneTextSelectionRange)(D))==null?{}:s;if(k!=null)return{offset:k,contentBoxPointGroup:O,segmentId:b,segmentPage:y}}_getDrawingAnchor(t,a){var o,s,c,l,u;let d=this._renderManagerService.getRenderById(t.unitId),f=d==null?void 0:d.with(n.DocSkeletonManagerService).getSkeleton(),p=f==null?void 0:f.getSkeletonData();if(p==null||d==null)return;let{pages:m,skeHeaders:h,skeFooters:g}=p,{mainComponent:_,scene:v}=d,y=_,b=v.getViewports()[0],{pageLayoutType:x=i.PageLayoutType.VERTICAL,pageMarginLeft:S,pageMarginTop:C,docsLeft:w,docsTop:T}=y.getOffsetConfig(),{left:E,top:D,angle:O}=a,{width:k,height:A}=a,{positionV:j,positionH:M}=t.docTransform,{width:N,height:P}=this._getPageContentSize(t);k=Math.min(k,N),A=Math.min(A,P);let F=null,I=``,L=-1,R={...t.docTransform,size:{width:k,height:A},angle:O},{x:z,y:B}=v.getViewportScrollXY(b),V=this._getTransformCoordForDocumentOffset(y,b,E-z,D-B);if(V==null)return;let H=(o=this._renderManagerService.getRenderById(t.unitId))==null?void 0:o.with(r.DocSelectionRenderService);if(H==null)return;let U=f==null?void 0:f.findNodeByCoord(V,x,S,C,{strict:!1,segmentId:H.getSegment(),segmentPage:H.getSegmentPage()});if(U){let{node:e,segmentPage:t,segmentId:n}=U;F=e,L=t,I=n}if(F==null)return;let W=(s=F.parent)==null?void 0:s.parent,G=W==null?void 0:W.parent,ee=(c=G==null?void 0:G.lines.find(e=>e.paragraphIndex===(W==null?void 0:W.paragraphIndex)&&e.paragraphStart))==null?G==null?void 0:G.lines[0]:c,K=G==null||(l=G.parent)==null?void 0:l.parent;if(W==null||G==null||ee==null||K==null)return;this._liquid.reset();let te=K.type;for(let e of m){let{headerId:t,footerId:n,pageHeight:r,pageWidth:a,marginLeft:o,marginBottom:s}=e,c=m.indexOf(e);if(L>-1&&c===L){switch(te){case i.DocumentSkeletonPageType.HEADER:{var ne;let e=(ne=h.get(t))==null?void 0:ne.get(a);if(e)this._liquid.translatePagePadding({marginTop:e.marginTop,marginLeft:o});else throw Error(`header skeleton not found`);break}case i.DocumentSkeletonPageType.FOOTER:{var re;let e=(re=g.get(n))==null?void 0:re.get(a);if(e)this._liquid.translatePagePadding({marginTop:r-s+e.marginTop,marginLeft:o});else throw Error(`footer skeleton not found`);break}}break}if(this._liquid.translatePagePadding(e),e===K)break;this._liquid.restorePagePadding(e),this._liquid.translatePage(e,x,S,C)}if(j.relativeFrom===e.ObjectRelativeFromV.LINE)F=W.divides[0].glyphGroup[0];else{var q,J;F=(q=(J=ee.divides)==null||(J=J[0])==null||(J=J.glyphGroup)==null?void 0:J[0])==null?F:q}switch(R.positionH={relativeFrom:M.relativeFrom,posOffset:E-this._liquid.x-w},M.relativeFrom){case e.ObjectRelativeFromH.MARGIN:R.positionH.posOffset=E-this._liquid.x-w-K.marginLeft;break;case e.ObjectRelativeFromH.COLUMN:R.positionH.posOffset=E-this._liquid.x-w-G.left;break}switch(R.positionV={relativeFrom:j.relativeFrom,posOffset:D-this._liquid.y-T},j.relativeFrom){case e.ObjectRelativeFromV.PAGE:R.positionV.posOffset=D-this._liquid.y-T-K.marginTop;break;case e.ObjectRelativeFromV.LINE:R.positionV.posOffset=D-this._liquid.y-T-W.top;break;case e.ObjectRelativeFromV.PARAGRAPH:R.positionV.posOffset=D-this._liquid.y-T-ee.top;break}if(F==null)return;let Y=f==null?void 0:f.findPositionByGlyph(F,L),ie=this._getDocObject();if(Y==null||f==null||ie==null||oe(Y))return;let X={...Y,isBack:!1},{cursorList:ae}=new r.NodePositionConvertToCursor(ie.document.getOffsetConfig(),f).getRangePointData(X,X),{startOffset:Z}=(u=(0,r.getOneTextSelectionRange)(ae))==null?{}:u;if(Z!=null)return{offset:Z,docTransform:R,segmentId:I,segmentPage:L}}_updateDrawingSize(e,t){let n=[],{drawing:r,width:i,height:a,angle:o}=e,{unitId:s,subUnitId:c}=r,{width:l,height:u,angle:d}=t,{width:f,height:p}=this._getPageContentSize(r);l=Math.min(f,l),u=Math.min(p,u),(l!==i||u!==a)&&n.push({drawingId:r.drawingId,key:`size`,value:{width:l,height:u}}),d!==o&&n.push({drawingId:r.drawingId,key:`angle`,value:d}),n.length>0&&s&&c&&this._commandService.executeCommand(N.id,{unitId:s,subUnitId:c,drawings:n})}_moveInlineDrawing(e,t,n){let r=this._getInlineDrawingAnchor(e,t,n),{offset:i,segmentId:a,segmentPage:o}=r==null?{}:r;return this._commandService.executeCommand(P.id,{unitId:e.unitId,subUnitId:e.unitId,drawing:e,offset:i,segmentId:a,segmentPage:o,needRefreshDrawings:i==null})}_limitDrawingInPage(t,r){let i=this._renderManagerService.getRenderById(t.unitId),{left:a,top:o,width:s,height:c,angle:l}=r,u=i==null?void 0:i.with(n.DocSkeletonManagerService).getSkeleton(),d=u==null?void 0:u.getSkeletonData(),{pages:f}=d==null?{}:d;if(d==null||i==null||f==null)return{left:a,top:o,width:s,height:c,angle:l};let{mainComponent:p}=i,{top:m,pageLayoutType:h,pageMarginLeft:g,pageMarginTop:_}=p,v=o;this._liquid.reset();for(let t of f){let{marginBottom:n,pageHeight:r}=t,i=f[f.indexOf(t)+1];i!=null&&(e.Tools.hasIntersectionBetweenTwoRanges(o,o+c,this._liquid.y+m+r-n,this._liquid.y+m+r+_+i.marginTop)&&(v=o+c/2<this._liquid.y+m+r+_/2?Math.min(o,this._liquid.y+m+r-n-c):Math.max(o,this._liquid.y+m+r+_+i.marginTop)),this._liquid.translatePage(t,h,g,_))}return{left:a,top:v,width:s,height:c,angle:l}}_nonInlineDrawingTransform(t,n,r=!1){let i=t.isMultiTransform===e.BooleanNumber.TRUE?n:this._limitDrawingInPage(t,n);if(r&&i.top!==n.top)return;let a=this._getDrawingAnchor(t,i),{offset:o,docTransform:s,segmentId:c,segmentPage:l}=a==null?{}:a;return o==null||s==null?this._updateMultipleDrawingDocTransform(new Map([[t.drawingId,n]])):this._commandService.executeCommand(F.id,{unitId:t.unitId,subUnitId:t.unitId,drawing:t,offset:o,docTransform:s,segmentId:c,segmentPage:l})}_getSceneAndTransformerByDrawingSearch(e){if(e==null)return;let t=this._renderManagerService.getRenderById(e),n=t==null?void 0:t.scene;if(n!=null)return{scene:n,transformer:n.getTransformerByCreate()}}_getTransformCoordForDocumentOffset(e,t,n,r){let{documentTransform:a}=e.getOffsetConfig(),o=t.transformVector2SceneCoord(i.Vector2.FromArray([n,r]));if(o)return a.clone().invert().applyPoint(o)}_createOrUpdateInlineAnchor(t,n){let a=this._renderManagerService.getRenderById(t);if(a==null)return;let{mainComponent:o,scene:s}=a,{docsLeft:c,docsTop:l}=o.getOffsetConfig(),{left:u,top:d,height:f}=(0,r.getAnchorBounding)(n),p=u+c,m=d+l;if(this._anchorShape){this._anchorShape.transformByState({left:p,top:m,height:f}),this._anchorShape.show();return}let h=new i.Rect(`__InlineDrawingAnchor__`+(0,e.generateRandomId)(6),{left:p,top:m,height:f,strokeWidth:2,stroke:(0,i.getColor)(e.COLORS.darkgray,1),evented:!1});this._anchorShape=h,s.addObject(h,r.TEXT_RANGE_LAYER_INDEX)}_getDocObject(){return(0,r.getDocObject)(this._univerInstanceService,this._renderManagerService)}_getPageContentSize(e){let t=this._renderManagerService.getRenderById(e.unitId),r=t==null?void 0:t.with(n.DocSkeletonManagerService).getSkeleton(),i=r==null?void 0:r.getSkeletonData();if(i==null||t==null)return{width:500,height:500};let{pages:a}=i,o=null;for(let t of a){let{skeDrawings:n}=t;if(n.has(e.drawingId)){o=t;break}}if(o){let{pageWidth:e,pageHeight:t,marginLeft:n,marginBottom:r,marginRight:i,marginTop:a}=o;return{width:Math.max(500,e-n-i),height:Math.max(500,t-a-r)}}else return{width:500,height:500}}};se=w([C(0,e.ICommandService),C(1,e.IUniverInstanceService),C(2,o.IDrawingManagerService),C(3,i.IRenderManagerService)],se);const ce={[s.RibbonInsertGroup.MEDIA]:{[W]:{order:0,menuItemFactory:K,[G]:{order:0,menuItemFactory:te}}}},le=-1e3,ue=1e3,de=t=>{let c=(0,s.useDependency)(e.ICommandService),l=(0,s.useDependency)(e.LocaleService),f=(0,s.useDependency)(o.IDrawingManagerService),p=(0,s.useDependency)(i.IRenderManagerService),m=(0,s.useDependency)(e.IUniverInstanceService),{drawings:h}=t,g=h[0];if(g==null)return;let{unitId:_}=g,v=m.getUniverDocInstance(_),y=v==null?void 0:v.getSnapshot().documentStyle.documentFlavor,b=p.getRenderById(_),x=b==null?void 0:b.scene;if(x==null)return;let S=x.getTransformerByCreate(),C=[{label:l.t(`image-position.column`),value:String(e.ObjectRelativeFromH.COLUMN)},{label:l.t(`image-position.page`),value:String(e.ObjectRelativeFromH.PAGE)},{label:l.t(`image-position.margin`),value:String(e.ObjectRelativeFromH.MARGIN)}],w=[{label:l.t(`image-position.line`),value:String(e.ObjectRelativeFromV.LINE),disabled:y===e.DocumentFlavor.MODERN},{label:l.t(`image-position.page`),value:String(e.ObjectRelativeFromV.PAGE),disabled:y===e.DocumentFlavor.MODERN},{label:l.t(`image-position.margin`),value:String(e.ObjectRelativeFromV.MARGIN),disabled:y===e.DocumentFlavor.MODERN},{label:l.t(`image-position.paragraph`),value:String(e.ObjectRelativeFromV.PARAGRAPH)}],[T,E]=(0,u.useState)(!0),[D,O]=(0,u.useState)({relativeFrom:e.ObjectRelativeFromH.PAGE,posOffset:0}),[k,A]=(0,u.useState)({relativeFrom:e.ObjectRelativeFromV.PAGE,posOffset:0}),[j,M]=(0,u.useState)(!0),[P,F]=(0,u.useState)(!0);function I(e,t){var n;e===`positionH`?O(t):A(t);let i=f.getFocusDrawings();if(i.length===0)return;let a=i.map(e=>({unitId:e.unitId,subUnitId:e.subUnitId,drawingId:e.drawingId}));c.executeCommand(N.id,{unitId:i[0].unitId,subUnitId:i[0].unitId,drawings:a.map(n=>({drawingId:n.drawingId,key:e,value:t}))});let o=(n=p.getRenderById(_))==null?void 0:n.with(r.DocSelectionRenderService);o&&o.blur(),S.refreshControls()}function L(t){var r;let i=D.relativeFrom,a=D.posOffset,o=Number(t);if(i===o)return;let s=f.getFocusDrawings();if(s.length===0)return;let c=s[0].drawingId,l=s[0].unitId,u=null,d=0,m=(r=p.getRenderById(l))==null?void 0:r.with(n.DocSkeletonManagerService).getSkeleton(),h=m==null?void 0:m.getSkeletonData();if(h==null)return;let{pages:g,skeHeaders:_,skeFooters:v}=h;for(let e of g){var y,b;let{marginLeft:t,skeDrawings:n,headerId:r,footerId:i,pageWidth:a}=e;if(n.has(c)){u=n.get(c),d=t;break}let o=(y=_.get(r))==null?void 0:y.get(a);if(o!=null&&o.skeDrawings.has(c)){u=o==null?void 0:o.skeDrawings.get(c),d=t;break}let s=(b=v.get(i))==null?void 0:b.get(a);if(s!=null&&s.skeDrawings.has(c)){u=s==null?void 0:s.skeDrawings.get(c),d=t;break}}if(u==null)return;let x=0;i===e.ObjectRelativeFromH.COLUMN?x-=u.columnLeft:i===e.ObjectRelativeFromH.MARGIN&&(x-=d),o===e.ObjectRelativeFromH.COLUMN?x+=u.columnLeft:o===e.ObjectRelativeFromH.MARGIN?x+=d:e.ObjectRelativeFromH.PAGE,I(`positionH`,{relativeFrom:o,posOffset:(a==null?0:a)-x})}function R(t){var i,a,o,s,c;let l=k.relativeFrom,u=k.posOffset,d=Number(t);if(l===d)return;let h=f.getFocusDrawings();if(h.length===0)return;let{drawingId:g,unitId:_}=h[0],v=m.getUniverDocInstance(_),y=(i=p.getRenderById(_))==null?void 0:i.with(n.DocSkeletonManagerService).getSkeleton(),b=(a=p.getRenderById(_))==null?void 0:a.with(r.DocSelectionRenderService),x=b==null?void 0:b.getSegment(),S=b==null?void 0:b.getSegmentPage(),C=v==null||(o=v.getSelfOrHeaderFooterModel(x).getBody())==null||(o=o.customBlocks)==null?void 0:o.find(e=>e.blockId===g);if(C==null||y==null||b==null)return;let{startIndex:w}=C,T=y.findNodeByCharIndex(w,x,S),E=T==null||(s=T.parent)==null?void 0:s.parent,D=E==null?void 0:E.parent,O=D==null?void 0:D.lines.find(e=>e.paragraphIndex===(E==null?void 0:E.paragraphIndex)&&e.paragraphStart),A=D==null||(c=D.parent)==null?void 0:c.parent;if(T==null||E==null||O==null||D==null||A==null)return;let j=0;l===e.ObjectRelativeFromV.PARAGRAPH?j-=O.top:l===e.ObjectRelativeFromV.LINE?j-=E.top:l===e.ObjectRelativeFromV.PAGE&&(j+=A.marginTop),d===e.ObjectRelativeFromV.PARAGRAPH?j+=O.top:d===e.ObjectRelativeFromV.LINE?j+=E.top:d===e.ObjectRelativeFromV.PAGE&&(j-=A.marginTop),I(`positionV`,{relativeFrom:d,posOffset:(u==null?0:u)-j})}function z(t){var n;let r=v==null?void 0:v.getSnapshot(),i=r==null||(n=r.drawings)==null?void 0:n[t.drawingId];if(i==null)return;let{layoutType:a}=i,{positionH:o,positionV:s}=i.docTransform;O(o),A(s),E(a===e.PositionedObjectLayoutType.INLINE),M(s.relativeFrom===e.ObjectRelativeFromV.PARAGRAPH||s.relativeFrom===e.ObjectRelativeFromV.LINE)}function B(){let e=f.getFocusDrawings();e.length!==0&&z(e[0])}function V(t){M(t),R(t?String(e.ObjectRelativeFromV.PARAGRAPH):String(e.ObjectRelativeFromV.PAGE))}return(0,u.useEffect)(()=>{B();let e=f.focus$.subscribe(e=>{if(e.length===0){F(!1);return}F(!0),z(e[0])}),t=c.onCommandExecuted(async e=>{e.id===n.RichTextEditingMutation.id&&B()});return()=>{e.unsubscribe(),t.dispose()}},[]),(0,d.jsxs)(`div`,{className:(0,a.clsx)(`univer-grid univer-gap-2 univer-py-2 univer-text-gray-400`,{"univer-hidden":!P}),children:[(0,d.jsx)(`header`,{className:`
|
|
2
|
+
univer-text-gray-600
|
|
3
|
+
dark:!univer-text-gray-200
|
|
4
|
+
`,children:(0,d.jsx)(`div`,{children:l.t(`image-position.title`)})}),(0,d.jsx)(`div`,{className:`
|
|
5
|
+
univer-text-gray-600
|
|
6
|
+
dark:!univer-text-gray-200
|
|
7
|
+
`,children:(0,d.jsx)(`div`,{children:l.t(`image-position.horizontal`)})}),(0,d.jsxs)(`div`,{className:`
|
|
8
|
+
univer-grid univer-grid-cols-2 univer-gap-2
|
|
9
|
+
[&>div]:univer-grid [&>div]:univer-gap-2
|
|
10
|
+
`,children:[(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`span`,{children:l.t(`image-position.absolutePosition`)}),(0,d.jsx)(a.InputNumber,{min:le,max:ue,precision:1,disabled:T,value:D.posOffset,onChange:e=>{I(`positionH`,{relativeFrom:D.relativeFrom,posOffset:e})}})]}),(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`span`,{children:l.t(`image-position.toTheRightOf`)}),(0,d.jsx)(a.Select,{value:String(D.relativeFrom),disabled:T,options:C,onChange:L})]})]}),(0,d.jsx)(`div`,{className:`
|
|
11
|
+
univer-text-gray-600
|
|
12
|
+
dark:!univer-text-gray-200
|
|
13
|
+
`,children:(0,d.jsx)(`div`,{children:l.t(`image-position.vertical`)})}),(0,d.jsxs)(`div`,{className:`
|
|
14
|
+
univer-grid univer-grid-cols-2 univer-gap-2
|
|
15
|
+
[&>div]:univer-grid [&>div]:univer-gap-2
|
|
16
|
+
`,children:[(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`span`,{children:l.t(`image-position.absolutePosition`)}),(0,d.jsx)(a.InputNumber,{min:le,max:ue,precision:1,disabled:T,value:k.posOffset,onChange:e=>{I(`positionV`,{relativeFrom:k.relativeFrom,posOffset:e})}})]}),(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`span`,{children:l.t(`image-position.bellow`)}),(0,d.jsx)(a.Select,{disabled:T,value:String(k.relativeFrom),options:w,onChange:R})]})]}),(0,d.jsx)(`div`,{className:`
|
|
17
|
+
univer-text-gray-600
|
|
18
|
+
dark:!univer-text-gray-200
|
|
19
|
+
`,children:(0,d.jsx)(`div`,{children:l.t(`image-position.options`)})}),(0,d.jsx)(`div`,{children:(0,d.jsx)(a.Checkbox,{disabled:T,checked:j,onChange:V,children:l.t(`image-position.moveObjectWithText`)})})]})},fe=t=>{let r=(0,s.useDependency)(e.ICommandService),c=(0,s.useDependency)(e.LocaleService),l=(0,s.useDependency)(o.IDrawingManagerService),f=(0,s.useDependency)(i.IRenderManagerService),p=(0,s.useDependency)(e.IUniverInstanceService),{drawings:m}=t,h=m[0];if(h==null)return null;let{unitId:g}=h,_=p.getUniverDocInstance(g),v=f.getRenderById(g);if((v==null?void 0:v.scene)==null)return null;let[y,b]=(0,u.useState)(!0),[x,S]=(0,u.useState)(!0),[C,w]=(0,u.useState)(!0),[T,E]=(0,u.useState)(D.INLINE),[O,k]=(0,u.useState)(``),[N,P]=(0,u.useState)({distT:0,distL:0,distB:0,distR:0}),[F,I]=(0,u.useState)(!0);function L(e){E(e);let t=l.getFocusDrawings();if(t.length===0)return;let{unitId:n,subUnitId:i}=t[0],a=t.map(({unitId:e,subUnitId:t,drawingId:n})=>({unitId:e,subUnitId:t,drawingId:n}));r.executeCommand(A.id,{unitId:n,subUnitId:i,drawings:a,wrappingStyle:e})}function R(e){k(e);let t=l.getFocusDrawings();if(t.length===0)return;let n=t.map(e=>({unitId:e.unitId,subUnitId:e.subUnitId,drawingId:e.drawingId}));r.executeCommand(M.id,{unitId:t[0].unitId,subUnitId:t[0].unitId,drawings:n,wrapText:e})}function z(e,t){if(e==null)return;P({...N,[t]:e});let n=l.getFocusDrawings();if(n.length===0)return;let i=n.map(e=>({unitId:e.unitId,subUnitId:e.subUnitId,drawingId:e.drawingId}));r.executeCommand(j.id,{unitId:n[0].unitId,subUnitId:n[0].unitId,drawings:i,dist:{[t]:e}})}function B(){let e=l.getFocusDrawings();e.length!==0&&V(e[0])}function V(t){var n;let r=_==null||(n=_.getSnapshot())==null||(n=n.drawings)==null?void 0:n[t.drawingId];if(r==null)return;let{distT:i=0,distL:a=0,distB:o=0,distR:s=0,layoutType:c=e.PositionedObjectLayoutType.INLINE,behindDoc:l=e.BooleanNumber.FALSE,wrapText:u=e.WrapTextType.BOTH_SIDES}=r;if(P({distT:i,distL:a,distB:o,distR:s}),k(u),b(c!==e.PositionedObjectLayoutType.WRAP_SQUARE),c===e.PositionedObjectLayoutType.WRAP_NONE||c===e.PositionedObjectLayoutType.INLINE?S(!0):S(!1),c===e.PositionedObjectLayoutType.WRAP_NONE||c===e.PositionedObjectLayoutType.INLINE||c===e.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM?w(!0):w(!1),c===e.PositionedObjectLayoutType.WRAP_NONE)l===e.BooleanNumber.TRUE?E(D.BEHIND_TEXT):E(D.IN_FRONT_OF_TEXT);else switch(c){case e.PositionedObjectLayoutType.INLINE:E(D.INLINE);break;case e.PositionedObjectLayoutType.WRAP_SQUARE:E(D.WRAP_SQUARE);break;case e.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM:E(D.WRAP_TOP_AND_BOTTOM);break;default:throw Error(`Unsupported layout type: ${c}`)}}return(0,u.useEffect)(()=>{B();let e=l.focus$.subscribe(e=>{if(e.length===0){I(!1);return}I(!0),V(e[0])}),t=r.onCommandExecuted(async e=>{e.id===n.RichTextEditingMutation.id&&B()});return()=>{e.unsubscribe(),t.dispose()}},[]),(0,d.jsxs)(`div`,{className:(0,a.clsx)(`univer-grid univer-gap-2 univer-py-2 univer-text-gray-400`,{"univer-hidden":!F}),children:[(0,d.jsx)(`header`,{className:`
|
|
20
|
+
univer-text-gray-600
|
|
21
|
+
dark:!univer-text-gray-200
|
|
22
|
+
`,children:(0,d.jsx)(`div`,{children:c.t(`image-text-wrap.title`)})}),(0,d.jsx)(`div`,{className:`
|
|
23
|
+
univer-text-gray-600
|
|
24
|
+
dark:!univer-text-gray-200
|
|
25
|
+
`,children:(0,d.jsx)(`div`,{children:c.t(`image-text-wrap.wrappingStyle`)})}),(0,d.jsx)(`div`,{children:(0,d.jsxs)(a.RadioGroup,{value:T,onChange:L,direction:`vertical`,children:[(0,d.jsx)(a.Radio,{value:D.INLINE,children:c.t(`image-text-wrap.inline`)}),(0,d.jsx)(a.Radio,{value:D.WRAP_SQUARE,children:c.t(`image-text-wrap.square`)}),(0,d.jsx)(a.Radio,{value:D.WRAP_TOP_AND_BOTTOM,children:c.t(`image-text-wrap.topAndBottom`)}),(0,d.jsx)(a.Radio,{value:D.BEHIND_TEXT,children:c.t(`image-text-wrap.behindText`)}),(0,d.jsx)(a.Radio,{value:D.IN_FRONT_OF_TEXT,children:c.t(`image-text-wrap.inFrontText`)})]})}),(0,d.jsx)(`div`,{className:`
|
|
26
|
+
univer-text-gray-600
|
|
27
|
+
dark:!univer-text-gray-200
|
|
28
|
+
`,children:(0,d.jsx)(`div`,{children:c.t(`image-text-wrap.wrapText`)})}),(0,d.jsx)(`div`,{children:(0,d.jsxs)(a.RadioGroup,{disabled:y,value:O,onChange:R,direction:`horizontal`,children:[(0,d.jsx)(a.Radio,{value:e.WrapTextType.BOTH_SIDES,children:c.t(`image-text-wrap.bothSide`)}),(0,d.jsx)(a.Radio,{value:e.WrapTextType.LEFT,children:c.t(`image-text-wrap.leftOnly`)}),(0,d.jsx)(a.Radio,{value:e.WrapTextType.RIGHT,children:c.t(`image-text-wrap.rightOnly`)})]})}),(0,d.jsx)(`div`,{className:`
|
|
29
|
+
univer-text-gray-600
|
|
30
|
+
dark:!univer-text-gray-200
|
|
31
|
+
`,children:(0,d.jsx)(`div`,{children:c.t(`image-text-wrap.distanceFromText`)})}),(0,d.jsxs)(`div`,{className:`
|
|
32
|
+
univer-grid univer-grid-cols-2 univer-gap-2
|
|
33
|
+
[&>div]:univer-grid [&>div]:univer-gap-2
|
|
34
|
+
`,children:[(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`span`,{children:c.t(`image-text-wrap.top`)}),(0,d.jsx)(a.InputNumber,{min:0,max:100,disabled:x,precision:1,value:N.distT,onChange:e=>{z(e,`distT`)}})]}),(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`span`,{children:c.t(`image-text-wrap.left`)}),(0,d.jsx)(a.InputNumber,{min:0,max:100,disabled:C,precision:1,value:N.distL,onChange:e=>{z(e,`distL`)}})]})]}),(0,d.jsxs)(`div`,{className:`
|
|
35
|
+
univer-grid univer-grid-cols-2 univer-gap-2
|
|
36
|
+
[&>div]:univer-grid [&>div]:univer-gap-2
|
|
37
|
+
`,children:[(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`span`,{children:c.t(`image-text-wrap.bottom`)}),(0,d.jsx)(a.InputNumber,{min:0,max:100,disabled:x,precision:1,value:N.distB,onChange:e=>{z(e,`distB`)}})]}),(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`span`,{children:c.t(`image-text-wrap.right`)}),(0,d.jsx)(a.InputNumber,{min:0,max:100,disabled:C,precision:1,value:N.distR,onChange:e=>{z(e,`distR`)}})]})]})]})},pe=()=>{let e=(0,s.useDependency)(o.IDrawingManagerService),[t,n]=(0,u.useState)(e.getFocusDrawings());return(0,u.useEffect)(()=>{let t=e.focus$.subscribe(e=>{n(e)});return()=>{t.unsubscribe()}},[]),!!(t!=null&&t.length)&&(0,d.jsxs)(`div`,{className:`univer-text-sm`,children:[(0,d.jsx)(l.DrawingCommonPanel,{drawings:t,hasAlign:!1,hasCropper:!1,hasGroup:!1,hasTransform:!1}),(0,d.jsx)(fe,{drawings:t}),(0,d.jsx)(de,{drawings:t})]})};function Q(t){return t.getContextValue(e.FOCUSING_DOC)&&t.getContextValue(e.FOCUSING_UNIVER_EDITOR)&&t.getContextValue(e.FOCUSING_COMMON_DRAWINGS)}const me={id:I.id,description:`shortcut.drawing-move-down`,group:`4_drawing-view`,binding:s.KeyCode.ARROW_DOWN,priority:100,preconditions:Q,staticParameters:{direction:e.Direction.DOWN}},he={id:I.id,description:`shortcut.drawing-move-up`,group:`4_drawing-view`,binding:s.KeyCode.ARROW_UP,priority:100,preconditions:Q,staticParameters:{direction:e.Direction.UP}},ge={id:I.id,description:`shortcut.drawing-move-left`,group:`4_drawing-view`,binding:s.KeyCode.ARROW_LEFT,priority:100,preconditions:Q,staticParameters:{direction:e.Direction.LEFT}},_e={id:I.id,description:`shortcut.drawing-move-right`,group:`4_drawing-view`,binding:s.KeyCode.ARROW_RIGHT,priority:100,preconditions:Q,staticParameters:{direction:e.Direction.RIGHT}},ve={id:p.id,description:`shortcut.drawing-delete`,group:`4_drawing-view`,preconditions:Q,binding:s.KeyCode.DELETE,mac:s.KeyCode.BACKSPACE};let ye=class extends e.Disposable{constructor(e,t,n,r){super(),this._componentManager=e,this._menuManagerService=t,this._commandService=n,this._shortcutService=r,this._init()}_initCustomComponents(){let e=this._componentManager;this.disposeWithMe(e.register(R,pe))}_initMenus(){this._menuManagerService.mergeMenu(ce)}_initCommands(){[E,h,A,j,M,N,P,F,f,z,L,B,m,_,I,p,g].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initShortcuts(){[me,he,ge,_e,ve].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_init(){this._initCommands(),this._initCustomComponents(),this._initMenus(),this._initShortcuts()}};ye=w([C(0,(0,e.Inject)(s.ComponentManager)),C(1,s.IMenuManagerService),C(2,e.ICommandService),C(3,s.IShortcutService)],ye);let be=class extends e.Disposable{constructor(e,t,n,r,a,o,s,c){super(),this._context=e,this._docSkeletonManagerService=t,this._commandService=n,this._editorService=r,this._drawingManagerService=a,this._docRefreshDrawingsService=o,this._univerInstanceService=s,this._lifecycleService=c,x(this,`_liquid`,new i.Liquid),this._initialize(),this._commandExecutedListener()}_initialize(){this._initialRenderRefresh(),this._drawingInitializeListener(),this._initResize()}_initialRenderRefresh(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(e=>{e!=null&&this._refreshDrawing(e)})),this.disposeWithMe(this._docRefreshDrawingsService.refreshDrawings$.subscribe(e=>{e!=null&&this._refreshDrawing(e)}))}_commandExecutedListener(){let t=[n.RichTextEditingMutation.id,r.SetDocZoomRatioOperation.id];this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(t.includes(n.id)){let{unitId:t}=n.params,{unitId:r,mainComponent:i}=this._context;if(t!==r)return;let a=this._docSkeletonManagerService.getSkeleton();if(a==null)return;if(this._editorService.isEditor(r)&&r!==e.DOCS_ZEN_EDITOR_UNIT_ID_KEY){i==null||i.makeDirty();return}this._refreshDrawing(a)}}))}_initResize(){this.disposeWithMe((0,e.fromEventSubject)(this._context.engine.onTransformChange$).pipe((0,c.filter)(e=>e.type===i.TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize),(0,c.debounceTime)(16)).subscribe(()=>{var e;let t=this._docSkeletonManagerService.getSkeleton(),{scene:n}=this._context;(e=n.getTransformer())==null||e.refreshControls(),this._refreshDrawing(t)}))}_refreshDrawing(e){let t=e==null?void 0:e.getSkeletonData(),{mainComponent:n,unitId:r}=this._context,i=n;if(!t)return;let{left:a,top:o,pageLayoutType:s,pageMarginLeft:c,pageMarginTop:l}=i,{pages:u,skeHeaders:d,skeFooters:f}=t,p={};this._liquid.reset();for(let e=0,t=u.length;e<t;e++){let t=u[e],{headerId:n,footerId:i,pageWidth:g}=t;if(n){var m;let e=(m=d.get(n))==null?void 0:m.get(g);e&&this._calculateDrawingPosition(r,e,a,o,p,e.marginTop,t.marginLeft)}if(i){var h;let e=(h=f.get(i))==null?void 0:h.get(g);e&&this._calculateDrawingPosition(r,e,a,o,p,t.pageHeight-t.marginBottom+e.marginTop,t.marginLeft)}this._calculateDrawingPosition(r,t,a,o,p,t.marginTop,t.marginLeft),this._liquid.translatePage(t,s,c,l)}let g=Object.values(p),_=g.filter(e=>!e.isMultiTransform),v=g.filter(e=>e.isMultiTransform);_.length>0&&this._drawingManagerService.refreshTransform(_),this._handleMultiDrawingsTransform(v)}_handleMultiDrawingsTransform(t){let{scene:n,unitId:r}=this._context,i=n.getTransformerByCreate();t.forEach(e=>{let t=this._drawingManagerService.getDrawingByParam(e);t!=null&&(t.transform=e.transform,t.transforms=e.transforms,t.isMultiTransform=e.isMultiTransform)});let a=[...i.getSelectedObjectMap().keys()],o=Object.values(this._drawingManagerService.getDrawingData(r,r)).filter(t=>t.isMultiTransform===e.BooleanNumber.TRUE);this._drawingManagerService.removeNotification(o),t.length>0&&this._drawingManagerService.addNotification(t);for(let e of a){let t=n.getObject(e);t&&i.setSelectedControl(t)}}_calculateDrawingPosition(t,n,r,i,a,o,s){let{skeDrawings:c}=n;this._liquid.translatePagePadding({marginTop:o,marginLeft:s}),c.forEach(n=>{let{aLeft:o,aTop:s,height:c,width:l,angle:u,drawingId:d,drawingOrigin:f}=n,p=f.layoutType===e.PositionedObjectLayoutType.WRAP_NONE&&f.behindDoc===e.BooleanNumber.TRUE,{isMultiTransform:m=e.BooleanNumber.FALSE}=f,h={left:o+r+this._liquid.x,top:s+i+this._liquid.y,width:l,height:c,angle:u};a[d]==null?a[d]={unitId:t,subUnitId:t,drawingId:d,behindText:p,transform:h,transforms:[h],isMultiTransform:m}:m===e.BooleanNumber.TRUE&&a[d].transforms.push(h)}),this._liquid.restorePagePadding({marginTop:o,marginLeft:s})}_drawingInitializeListener(){let t=()=>{let e=this._docSkeletonManagerService.getSkeleton();e!=null&&(this._refreshDrawing(e),this._drawingManagerService.initializeNotification(this._context.unitId))};this._lifecycleService.stage>=e.LifecycleStages.Rendered?this._docSkeletonManagerService.getSkeleton()?t():setTimeout(t,500):this.disposeWithMe(this._lifecycleService.lifecycle$.pipe((0,c.filter)(t=>t===e.LifecycleStages.Rendered)).subscribe(t))}};be=w([C(1,(0,e.Inject)(n.DocSkeletonManagerService)),C(2,e.ICommandService),C(3,r.IEditorService),C(4,o.IDrawingManagerService),C(5,(0,e.Inject)(S)),C(6,e.IUniverInstanceService),C(7,(0,e.Inject)(e.LifecycleService))],be);let xe=class extends e.RxDisposable{constructor(e,t,n,r,i){super(),this._drawingManagerService=e,this._canvasPopManagerService=t,this._renderManagerService=n,this._univerInstanceService=r,this._contextService=i,x(this,`_initImagePopupMenu`,new Set),x(this,`_disposePopups`,[]),this._init()}_init(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(e.UniverInstanceType.UNIVER_DOC).pipe((0,c.takeUntil)(this.dispose$)).subscribe(e=>this._create(e))),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(e.UniverInstanceType.UNIVER_DOC).pipe((0,c.takeUntil)(this.dispose$)).subscribe(e=>this._dispose(e))),this._univerInstanceService.getAllUnitsForType(e.UniverInstanceType.UNIVER_DOC).forEach(e=>this._create(e))}_dispose(e){let t=e.getUnitId();this._disposePopups.length&&(this._disposePopups.forEach(e=>e.dispose()),this._disposePopups.length=0),this._renderManagerService.removeRender(t)}_create(t){if(!t)return;let n=t.getUnitId();(0,e.isInternalEditorID)(n)||this._renderManagerService.has(n)&&!this._initImagePopupMenu.has(n)&&(this._popupMenuListener(n),this._initImagePopupMenu.add(n))}_hasCropObject(e){let t=e.getAllObjects();for(let e of t)if(e instanceof l.ImageCropperObject)return!0;return!1}_popupMenuListener(t){var n;let r=(n=this._renderManagerService.getRenderById(t))==null?void 0:n.scene;if(!r)return;let i=r.getTransformerByCreate();if(!i)return;let a=this._disposePopups;this.disposeWithMe(i.createControl$.subscribe(()=>{if(this._hasCropObject(r))return;let t=i.getSelectedObjectMap();if(a.forEach(e=>e.dispose()),a.length=0,t.size>1)return;let n=t.values().next().value;if(!n)return;let o=n.oKey,s=this._drawingManagerService.getDrawingOKey(o);if(!s||s.drawingType===e.DrawingTypeEnum.DRAWING_DOM)return;let{unitId:c,subUnitId:u,drawingId:d,drawingType:f}=s,p=this._canvasPopManagerService.attachPopupToObject(n,{componentKey:l.COMPONENT_IMAGE_POPUP_MENU,direction:`horizontal`,offset:[2,0],extraProps:{menuItems:this._getImageMenuItems(c,u,d,f)}},c);a.push(this.disposeWithMe(p)),!this._drawingManagerService.getFocusDrawings().find(e=>e.unitId===c&&e.subUnitId===u&&e.drawingId===d)&&this._drawingManagerService.focusDrawing([{unitId:c,subUnitId:u,drawingId:d}])})),this.disposeWithMe(i.clearControl$.subscribe(()=>{a.forEach(e=>e.dispose()),a.length=0,this._contextService.setContextValue(e.FOCUSING_COMMON_DRAWINGS,!1),this._drawingManagerService.focusDrawing(null)})),this.disposeWithMe(i.changing$.subscribe(()=>{a.forEach(e=>e.dispose()),a.length=0})),this.disposeWithMe(i.changeStart$.subscribe(()=>{a.forEach(e=>e.dispose()),a.length=0}))}_getImageMenuItems(e,t,n,r){return[{label:`image-popup.edit`,index:0,commandId:B.id,commandParams:{unitId:e,subUnitId:t,drawingId:n},disable:!0},{label:`image-popup.delete`,index:1,commandId:f.id,commandParams:{unitId:e,drawings:[{unitId:e,subUnitId:t,drawingId:n}]},disable:!1},{label:`image-popup.crop`,index:2,commandId:l.OpenImageCropOperation.id,commandParams:{unitId:e,subUnitId:t,drawingId:n},disable:!0},{label:`image-popup.reset`,index:3,commandId:l.ImageResetSizeOperation.id,commandParams:[{unitId:e,subUnitId:t,drawingId:n}],disable:!0}]}};xe=w([C(0,o.IDrawingManagerService),C(1,(0,e.Inject)(r.DocCanvasPopManagerService)),C(2,i.IRenderManagerService),C(3,e.IUniverInstanceService),C(4,e.IContextService)],xe);let $=class extends e.Plugin{constructor(t=J,n,r,i){super(),this._config=t,this._injector=n,this._renderManagerSrv=r,this._configService=i;let{...a}=(0,e.merge)({},J,this._config);this._configService.setConfig(q,a)}onStarting(){[[ye],[xe],[se],[X],[S],[U],[Z]].forEach(e=>this._injector.add(e))}onReady(){[[T],[be]].forEach(t=>this._renderManagerSrv.registerRenderModule(e.UniverInstanceType.UNIVER_DOC,t)),this._injector.get(X),this._injector.get(ye),this._injector.get(se),this._injector.get(Z)}onRendered(){this._injector.get(xe),this._injector.get(U)}};x($,`type`,e.UniverInstanceType.UNIVER_DOC),x($,`pluginName`,`DOC_DRAWING_UI_PLUGIN`),x($,`packageName`,ne),x($,`version`,re),$=w([(0,e.DependentOn)(l.UniverDrawingUIPlugin,o.UniverDrawingPlugin,t.UniverDocsDrawingPlugin,s.UniverUIPlugin),C(1,(0,e.Inject)(e.Injector)),C(2,i.IRenderManagerService),C(3,e.IConfigService)],$),exports.ClearDocDrawingTransformerOperation=L,exports.DOCS_IMAGE_MENU_ID=W,exports.DeleteDocDrawingsCommand=p,Object.defineProperty(exports,`DocFloatDomController`,{enumerable:!0,get:function(){return U}}),exports.EditDocDrawingOperation=B,exports.GroupDocDrawingCommand=m,exports.InsertDocDrawingCommand=h,exports.InsertDocImageCommand=E,exports.MoveDocDrawingsCommand=I,exports.RemoveDocDrawingCommand=f,exports.SetDocDrawingArrangeCommand=g,exports.SidebarDocDrawingOperation=z,exports.UngroupDocDrawingCommand=_,Object.defineProperty(exports,`UniverDocsDrawingUIPlugin`,{enumerable:!0,get:function(){return $}});
|
package/lib/cjs/locale/ca-ES.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e={docImage:{title:`Imatge`,upload:{float:`Insereix imatge`},panel:{title:`Edita la imatge`}},"image-popup":{replace:`Reemplaça`,delete:`Elimina`,edit:`Edita`,crop:`Retalla`,reset:`Restableix la mida`},"image-text-wrap":{title:`Ajust del text`,wrappingStyle:`Estil d'ajust`,square:`Quadrat`,topAndBottom:`A dalt i a baix`,inline:`En línia amb el text`,behindText:`Darrere del text`,inFrontText:`Davant del text`,wrapText:`Ajusta el text`,bothSide:`Ambdós costats`,leftOnly:`Només esquerra`,rightOnly:`Només dreta`,distanceFromText:`Distància del text`,top:`A dalt(px)`,left:`Esquerra(px)`,bottom:`A baix(px)`,right:`Dreta(px)`},"image-position":{title:`Posició`,horizontal:`Horitzontal`,vertical:`Vertical`,absolutePosition:`Posició absoluta(px)`,relativePosition:`Posició relativa`,toTheRightOf:`a la dreta de`,relativeTo:`relatiu a`,bellow:`a sota`,options:`Opcions`,moveObjectWithText:`Mou l'objecte amb el text`,column:`Columna`,margin:`Marge`,page:`Pàgina`,line:`Línia`,paragraph:`Paràgraf`},"update-status":{exceedMaxSize:`La mida de la imatge supera el límit, el límit és {0}M`,invalidImageType:`Tipus d'imatge no vàlid`,exceedMaxCount:`Només es poden pujar {0} imatges alhora`,invalidImage:`Imatge no vàlida`}};module.exports=e;
|
package/lib/cjs/locale/en-US.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e={docImage:{title:`Image`,upload:{float:`Insert Image`},panel:{title:`Edit Image`}},"image-popup":{replace:`Replace`,delete:`Delete`,edit:`Edit`,crop:`Crop`,reset:`Reset Size`},"image-text-wrap":{title:`Text Wrapping`,wrappingStyle:`Wrapping Style`,square:`Square`,topAndBottom:`Top and Bottom`,inline:`In line with text`,behindText:`Behind text`,inFrontText:`In front of text`,wrapText:`Wrap text`,bothSide:`Both sides`,leftOnly:`Left only`,rightOnly:`Right only`,distanceFromText:`Distance from text`,top:`Top(px)`,left:`Left(px)`,bottom:`Bottom(px)`,right:`Right(px)`},"image-position":{title:`Position`,horizontal:`Horizontal`,vertical:`Vertical`,absolutePosition:`Absolute Position(px)`,relativePosition:`Relative Position`,toTheRightOf:`to the right of`,relativeTo:`relative to`,bellow:`bellow`,options:`Options`,moveObjectWithText:`Move object with text`,column:`Column`,margin:`Margin`,page:`Page`,line:`Line`,paragraph:`Paragraph`},"update-status":{exceedMaxSize:`Image size exceeds limit, limit is {0}M`,invalidImageType:`Invalid image type`,exceedMaxCount:`Only {0} images can be uploaded at a time`,invalidImage:`Invalid image`}};module.exports=e;
|
package/lib/cjs/locale/es-ES.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e={docImage:{title:`Imagen`,upload:{float:`Insertar imagen`},panel:{title:`Editar imagen`}},"image-popup":{replace:`Reemplazar`,delete:`Eliminar`,edit:`Editar`,crop:`Recortar`,reset:`Restablecer tamaño`},"image-text-wrap":{title:`Ajuste de texto`,wrappingStyle:`Estilo de ajuste`,square:`Cuadrado`,topAndBottom:`Arriba y abajo`,inline:`En línea con el texto`,behindText:`Detrás del texto`,inFrontText:`Delante del texto`,wrapText:`Ajustar texto`,bothSide:`Ambos lados`,leftOnly:`Solo izquierda`,rightOnly:`Solo derecha`,distanceFromText:`Distancia del texto`,top:`Arriba(px)`,left:`Izquierda(px)`,bottom:`Abajo(px)`,right:`Derecha(px)`},"image-position":{title:`Posición`,horizontal:`Horizontal`,vertical:`Vertical`,absolutePosition:`Posición absoluta(px)`,relativePosition:`Posición relativa`,toTheRightOf:`a la derecha de`,relativeTo:`relativo a`,bellow:`debajo`,options:`Opciones`,moveObjectWithText:`Mover objeto con el texto`,column:`Columna`,margin:`Margen`,page:`Página`,line:`Línea`,paragraph:`Párrafo`},"update-status":{exceedMaxSize:`El tamaño de la imagen excede el límite, el límite es {0}M`,invalidImageType:`Tipo de imagen no válido`,exceedMaxCount:`Solo se pueden subir {0} imágenes a la vez`,invalidImage:`Imagen no válida`}};module.exports=e;
|
package/lib/cjs/locale/fa-IR.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e={docImage:{title:`تصویر`,upload:{float:`درج تصویر`},panel:{title:`ویرایش تصویر`}},"image-popup":{replace:`تعویض`,delete:`حذف`,edit:`ویرایش`,crop:`کراپ`,reset:`بازنشانی اندازه`},"image-text-wrap":{title:`پیچش متن`,wrappingStyle:`سبک پیچش`,square:`مربع`,topAndBottom:`بالا و پایین`,inline:`در یک خط با متن`,behindText:`پشت متن`,inFrontText:`جلوی متن`,wrapText:`پیچش متن`,bothSide:`هر دو طرف`,leftOnly:`فقط سمت چپ`,rightOnly:`فقط سمت راست`,distanceFromText:`فاصله از متن`,top:`بالا(px)`,left:`چپ(px)`,bottom:`پایین(px)`,right:`راست(px)`},"image-position":{title:`موقعیت`,horizontal:`افقی`,vertical:`عمودی`,absolutePosition:`موقعیت مطلق(px)`,relativePosition:`موقعیت نسبی`,toTheRightOf:`سمت راست`,relativeTo:`نسبت به`,bellow:`زیر`,options:`گزینهها`,moveObjectWithText:`جابهجایی شیء با متن`,column:`ستون`,margin:`حاشیه`,page:`صفحه`,line:`خط`,paragraph:`پاراگراف`},"update-status":{exceedMaxSize:`اندازه تصویر از حد مجاز فراتر رفته است، حد مجاز {0}M است`,invalidImageType:`نوع تصویر نامعتبر است`,exceedMaxCount:`فقط {0} تصویر میتوانند همزمان آپلود شوند`,invalidImage:`تصویر نامعتبر است`}};module.exports=e;
|
package/lib/cjs/locale/fr-FR.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e={docImage:{title:`Image`,upload:{float:`Insérer une image`},panel:{title:`Modifier l'image`}},"image-popup":{replace:`Remplacer`,delete:`Supprimer`,edit:`Modifier`,crop:`Rogner`,reset:`Réinitialiser la taille`},"image-text-wrap":{title:`Habillage du texte`,wrappingStyle:`Style d'habillage`,square:`Carré`,topAndBottom:`Haut et bas`,inline:`Aligné avec le texte`,behindText:`Derrière le texte`,inFrontText:`Devant le texte`,wrapText:`Habiller le texte`,bothSide:`Des deux côtés`,leftOnly:`Seulement à gauche`,rightOnly:`Seulement à droite`,distanceFromText:`Distance du texte`,top:`Haut(px)`,left:`Gauche(px)`,bottom:`Bas(px)`,right:`Droite(px)`},"image-position":{title:`Position`,horizontal:`Horizontal`,vertical:`Vertical`,absolutePosition:`Position absolue(px)`,relativePosition:`Position relative`,toTheRightOf:`à droite de`,relativeTo:`par rapport à`,bellow:`en dessous`,options:`Options`,moveObjectWithText:`Déplacer l'objet avec le texte`,column:`Colonne`,margin:`Marge`,page:`Page`,line:`Ligne`,paragraph:`Paragraphe`},"update-status":{exceedMaxSize:`La taille de l'image dépasse la limite, la limite est de {0}M`,invalidImageType:`Type d'image invalide`,exceedMaxCount:`Seulement {0} images peuvent être téléchargées à la fois`,invalidImage:`Image invalide`}};module.exports=e;
|
package/lib/cjs/locale/ja-JP.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e={docImage:{title:`画像`,upload:{float:`画像を挿入`},panel:{title:`画像の編集`}},"image-popup":{replace:`置換`,delete:`削除`,edit:`編集`,crop:`トリミング`,reset:`サイズをリセット`},"image-text-wrap":{title:`文字列の折り返し`,wrappingStyle:`折り返しのスタイル`,square:`四角形`,topAndBottom:`上下`,inline:`行内`,behindText:`文字列の背面`,inFrontText:`文字列の前面`,wrapText:`文字列の折り返し`,bothSide:`両側`,leftOnly:`左のみ`,rightOnly:`右のみ`,distanceFromText:`文字列からの距離`,top:`上(px)`,left:`左(px)`,bottom:`下(px)`,right:`右(px)`},"image-position":{title:`位置`,horizontal:`水平方向`,vertical:`垂直方向`,absolutePosition:`絶対位置(px)`,relativePosition:`相対位置`,toTheRightOf:`右側に`,relativeTo:`基準に対して`,bellow:`下に`,options:`オプション`,moveObjectWithText:`文字列と一緒にオブジェクトを移動`,column:`列`,margin:`余白`,page:`ページ`,line:`行`,paragraph:`段落`},"update-status":{exceedMaxSize:`画像のサイズが制限を超えています。制限: {0}MB`,invalidImageType:`無効な画像形式です`,exceedMaxCount:`一度にアップロードできる最大数は{0}件です`,invalidImage:`無効な画像です`}};module.exports=e;
|
package/lib/cjs/locale/ko-KR.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e={docImage:{title:`이미지`,upload:{float:`이미지 삽입`},panel:{title:`이미지 편집`}},"image-popup":{replace:`교체`,delete:`삭제`,edit:`편집`,crop:`자르기`,reset:`크기 초기화`},"image-text-wrap":{title:`텍스트 감싸기`,wrappingStyle:`감싸기 스타일`,square:`사각형`,topAndBottom:`위아래`,inline:`텍스트와 같은 줄`,behindText:`텍스트 뒤`,inFrontText:`텍스트 앞`,wrapText:`텍스트 감싸기`,bothSide:`양쪽`,leftOnly:`왼쪽만`,rightOnly:`오른쪽만`,distanceFromText:`텍스트와 거리`,top:`위(px)`,left:`왼쪽(px)`,bottom:`아래(px)`,right:`오른쪽(px)`},"image-position":{title:`위치`,horizontal:`수평`,vertical:`수직`,absolutePosition:`절대 위치(px)`,relativePosition:`상대 위치`,toTheRightOf:`우측에`,relativeTo:`상대적으로`,bellow:`아래에`,options:`옵션`,moveObjectWithText:`텍스트와 함께 객체 이동`,column:`열`,margin:`여백`,page:`페이지`,line:`줄`,paragraph:`문단`},"update-status":{exceedMaxSize:`이미지 크기가 제한을 초과했습니다. 제한: {0}MB`,invalidImageType:`유효하지 않은 이미지 유형입니다`,exceedMaxCount:`한 번에 최대 {0}개만 업로드할 수 있습니다`,invalidImage:`유효하지 않은 이미지입니다`}};module.exports=e;
|
package/lib/cjs/locale/ru-RU.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e={docImage:{title:`Изображение`,upload:{float:`Вставить изображение`},panel:{title:`Редактировать изображение`}},"image-popup":{replace:`Заменить`,delete:`Удалить`,edit:`Редактировать`,crop:`Обрезать`,reset:`Сбросить размер`},"image-text-wrap":{title:`Text Wrapping`,wrappingStyle:`Wrapping Style`,square:`Square`,topAndBottom:`Top and Bottom`,inline:`In line with text`,behindText:`Behind text`,inFrontText:`In front of text`,wrapText:`Wrap text`,bothSide:`Both sides`,leftOnly:`Left only`,rightOnly:`Right only`,distanceFromText:`Distance from text`,top:`Top(px)`,left:`Left(px)`,bottom:`Bottom(px)`,right:`Right(px)`},"image-position":{title:`Position`,horizontal:`Horizontal`,vertical:`Vertical`,absolutePosition:`Absolute Position(px)`,relativePosition:`Relative Position`,toTheRightOf:`to the right of`,relativeTo:`relative to`,bellow:`bellow`,options:`Options`,moveObjectWithText:`Move object with text`,column:`Column`,margin:`Margin`,page:`Page`,line:`Line`,paragraph:`Paragraph`},"update-status":{exceedMaxSize:`Размер изображения превышает лимит, лимит составляет {0}М`,invalidImageType:`Недопустимый тип изображения`,exceedMaxCount:`За один раз можно загрузить только {0} изображений`,invalidImage:`Недопустимое изображение`}};module.exports=e;
|
package/lib/cjs/locale/sk-SK.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e={docImage:{title:`Obrázok`,upload:{float:`Vložiť obrázok`},panel:{title:`Upraviť obrázok`}},"image-popup":{replace:`Nahradiť`,delete:`Odstrániť`,edit:`Upraviť`,crop:`Orezať`,reset:`Obnoviť veľkosť`},"image-text-wrap":{title:`Obtekanie textu`,wrappingStyle:`Štýl obtekania`,square:`Obdĺžnikové`,topAndBottom:`Hore a dole`,inline:`V riadku s textom`,behindText:`Za textom`,inFrontText:`Pred textom`,wrapText:`Obtekať text`,bothSide:`Obe strany`,leftOnly:`Len ľavá`,rightOnly:`Len pravá`,distanceFromText:`Vzdialenosť od textu`,top:`Hore (px)`,left:`Vľavo (px)`,bottom:`Dole (px)`,right:`Vpravo (px)`},"image-position":{title:`Pozícia`,horizontal:`Vodorovne`,vertical:`Zvisle`,absolutePosition:`Absolútna pozícia (px)`,relativePosition:`Relatívna pozícia`,toTheRightOf:`vpravo od`,relativeTo:`vzhľadom na`,bellow:`pod`,options:`Možnosti`,moveObjectWithText:`Presunúť objekt s textom`,column:`Stĺpec`,margin:`Okraj`,page:`Strana`,line:`Riadok`,paragraph:`Odsek`},"update-status":{exceedMaxSize:`Veľkosť obrázka prekračuje limit, limit je {0}M`,invalidImageType:`Neplatný typ obrázka`,exceedMaxCount:`Naraz možno nahrať iba {0} obrázkov`,invalidImage:`Neplatný obrázok`}};module.exports=e;
|
package/lib/cjs/locale/vi-VN.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e={docImage:{title:`Hình ảnh`,upload:{float:`Chèn hình ảnh`},panel:{title:`Chỉnh sửa hình ảnh`}},"image-popup":{replace:`Thay thế`,delete:`Xóa`,edit:`Chỉnh sửa`,crop:`Cắt`,reset:`Đặt lại kích thước`},"image-text-wrap":{title:`Text Wrapping`,wrappingStyle:`Wrapping Style`,square:`Square`,topAndBottom:`Top and Bottom`,inline:`In line with text`,behindText:`Behind text`,inFrontText:`In front of text`,wrapText:`Wrap text`,bothSide:`Both sides`,leftOnly:`Left only`,rightOnly:`Right only`,distanceFromText:`Distance from text`,top:`Top(px)`,left:`Left(px)`,bottom:`Bottom(px)`,right:`Right(px)`},"image-position":{title:`Position`,horizontal:`Horizontal`,vertical:`Vertical`,absolutePosition:`Absolute Position(px)`,relativePosition:`Relative Position`,toTheRightOf:`to the right of`,relativeTo:`relative to`,bellow:`bellow`,options:`Options`,moveObjectWithText:`Move object with text`,column:`Column`,margin:`Margin`,page:`Page`,line:`Line`,paragraph:`Paragraph`},"update-status":{exceedMaxSize:`Kích thước hình ảnh vượt quá giới hạn, giới hạn là {0}M`,invalidImageType:`Loại hình ảnh không hợp lệ`,exceedMaxCount:`Chỉ có thể tải lên tối đa {0} hình ảnh một lần`,invalidImage:`Hình ảnh không hợp lệ`}};module.exports=e;
|
package/lib/cjs/locale/zh-CN.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e={docImage:{title:`图片`,upload:{float:`插入图片`},panel:{title:`编辑图片`}},"image-popup":{replace:`替换`,delete:`删除`,edit:`编辑`,crop:`裁剪`,reset:`重置大小`},"image-text-wrap":{title:`文字环绕`,wrappingStyle:`环绕方式`,square:`四周型`,topAndBottom:`上下型`,inline:`嵌入型`,behindText:`衬于文字下方`,inFrontText:`浮于文字上方`,wrapText:`自动换行`,bothSide:`两侧`,leftOnly:`左侧`,rightOnly:`右侧`,distanceFromText:`距正文`,top:`上(px)`,left:`左(px)`,bottom:`下(px)`,right:`右(px)`},"image-position":{title:`位置`,horizontal:`水平`,vertical:`垂直`,absolutePosition:`绝对位置(px)`,relativePosition:`相对位置`,toTheRightOf:`右侧`,relativeTo:`相对于`,bellow:`下方`,options:`选项`,moveObjectWithText:`对象随文字移动`,column:`栏`,margin:`页边距`,page:`页面`,line:`行`,paragraph:`段落`},"update-status":{exceedMaxSize:`图片大小超过限制, 限制为{0}M`,invalidImageType:`图片类型错误`,exceedMaxCount:`图片只能一次上传{0}张`,invalidImage:`无效图片`}};module.exports=e;
|
package/lib/cjs/locale/zh-TW.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e={docImage:{title:`圖片`,upload:{float:`插入圖片`},panel:{title:`編圖`}},"image-popup":{replace:`替換`,delete:`刪除`,edit:`編輯`,crop:`裁切`,reset:`重置大小`},"image-text-wrap":{title:`文繞圖`,wrappingStyle:`文繞圖方式`,square:`矩形`,topAndBottom:`上及下`,inline:`與文字排列`,behindText:`文字在前`,inFrontText:`文字在後`,wrapText:`自動換行`,bothSide:`兩側`,leftOnly:`僅左側`,rightOnly:`僅右側`,distanceFromText:`與文字距離`,top:`上(px)`,left:`左(px)`,bottom:`下(px)`,right:`右(px)`},"image-position":{title:`位置`,horizontal:`水平`,vertical:`垂直`,absolutePosition:`絕對位置(px)`,relativePosition:`相對位置`,toTheRightOf:`右側`,relativeTo:`相對於`,bellow:`下方`,options:`選項`,moveObjectWithText:`物件隨文字移動`,column:`欄`,margin:`邊界`,page:`頁面`,line:`行`,paragraph:`段落`},"update-status":{exceedMaxSize:`圖片大小超過限制, 限制為{0}M`,invalidImageType:`圖片類型錯誤`,exceedMaxCount:`圖片只能一次上傳{0}張`,invalidImage:`無效圖片`}};module.exports=e;
|