@univerjs/docs-drawing-ui 1.0.0-alpha.4 → 1.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +1 -1
- package/lib/es/index.js +1 -1
- package/lib/index.js +1 -1
- package/lib/umd/index.js +1 -1
- package/package.json +11 -11
package/lib/cjs/index.js
CHANGED
package/lib/es/index.js
CHANGED
package/lib/index.js
CHANGED
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/docs-drawing"),require("@univerjs/engine-render"),require("@univerjs/design"),require("@univerjs/docs"),require("@univerjs/docs-ui"),require("@univerjs/drawing"),require("@univerjs/ui"),require("rxjs"),require("@univerjs/drawing-ui"),require("react"),require("react/jsx-runtime")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/docs-drawing`,`@univerjs/engine-render`,`@univerjs/design`,`@univerjs/docs`,`@univerjs/docs-ui`,`@univerjs/drawing`,`@univerjs/ui`,`rxjs`,`@univerjs/drawing-ui`,`react`,`react/jsx-runtime`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverDocsDrawingUi={},e.UniverCore,e.UniverDocsDrawing,e.UniverEngineRender,e.UniverDesign,e.UniverDocs,e.UniverDocsUi,e.UniverDrawing,e.UniverUi,e.rxjs,e.UniverDrawingUi,e.React,e.React))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let p={id:`doc.command.delete-drawing`,type:t.CommandType.COMMAND,handler:e=>{let r=e.get(t.ICommandService),i=e.get(n.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(n.RemoveDocDrawingCommand.id,{unitId:a,drawings:o})}},m={id:`doc.command.group-doc-image`,type:t.CommandType.COMMAND,handler:(e,t)=>!1},h={id:`doc.command.ungroup-doc-image`,type:t.CommandType.COMMAND,handler:(e,t)=>{let r=e.get(n.IDocDrawingService);if(!t)return!1;let i=[];t.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(t);return!1}};function g(e){"@babel/helpers - typeof";return g=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},g(e)}function _(e,t){if(g(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(g(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function v(e){var t=_(e,`string`);return g(t)==`symbol`?t:t+``}function y(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var b=class{constructor(){y(this,`_refreshDrawings$`,new l.BehaviorSubject(null)),y(this,`refreshDrawings$`,this._refreshDrawings$.asObservable())}refreshDrawings(e){this._refreshDrawings$.next(e)}};function x(e,t){return function(n,r){t(n,r,e)}}function S(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 C=class extends t.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=this._getCurrentImageInsertPosition(),t=await this._fileOpenerService.openFile({multiple:!0,accept:s.DRAWING_IMAGE_ALLOW_IMAGE_LIST.map(e=>`.${e.replace(`image/`,``)}`).join(`,`)}),n=t.length;return n>s.DRAWING_IMAGE_COUNT_LIMIT?(this._messageService.show({type:i.MessageType.Error,content:this._localeService.t(`docs-drawing-ui.update-status.exceedMaxCount`,String(s.DRAWING_IMAGE_COUNT_LIMIT))}),!1):n===0?!1:(await this._insertFloatImages(t,e),!0)}async _insertFloatImages(e,r){let o=[];try{o=await Promise.all(e.map(e=>this._imageIoService.saveImage(e)))}catch(e){let n=e.message,r=``;switch(n){case t.ImageUploadStatusType.ERROR_EXCEED_SIZE:r=this._localeService.t(`docs-drawing-ui.update-status.exceedMaxSize`,String((0,s.getDrawingImageAllowSize)()/(1024*1024)));break;case t.ImageUploadStatusType.ERROR_IMAGE_TYPE:r=this._localeService.t(`docs-drawing-ui.update-status.invalidImageType`);break;case t.ImageUploadStatusType.ERROR_IMAGE:r=this._localeService.t(`docs-drawing-ui.update-status.invalidImage`);break;default:break}this._messageService.show({type:i.MessageType.Error,content:r})}if(o.length===0)return;let{unitId:c}=this._context,l=[];for(let e of o){if(e==null)continue;let{imageId:n,imageSourceType:i,source:o,base64Cache:u}=e,{width:d,height:f,image:p}=await(0,s.getImageSize)(u||``);this._imageIoService.addImageSourceCache(n,i,p);let m=1;if(d>s.DRAWING_IMAGE_WIDTH_LIMIT||f>s.DRAWING_IMAGE_HEIGHT_LIMIT){let e=s.DRAWING_IMAGE_WIDTH_LIMIT/d,t=s.DRAWING_IMAGE_HEIGHT_LIMIT/f;m=Math.min(e,t)}let h=r==null?this._getCurrentImageInsertPosition():r,g=this._getImagePosition(d*m,f*m,h);if(g==null)return;let _=(0,a.docDrawingPositionToTransform)(g);_!=null&&h!=null&&(_.top=h.top);let v={unitId:c,subUnitId:c,drawingId:n,drawingType:t.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:i,source:o,transform:_,docTransform:g,behindDoc:t.BooleanNumber.FALSE,title:``,description:``,layoutType:t.PositionedObjectLayoutType.INLINE,wrapText:t.WrapTextType.BOTH_SIDES,distB:0,distL:0,distR:0,distT:0};this._isInsertInHeaderFooter()&&(v.isMultiTransform=t.BooleanNumber.TRUE,v.transforms=v.transform?[v.transform]:null),l.push(v)}this._commandService.executeCommand(n.InsertDocDrawingCommand.id,{unitId:c,drawings:l})}_isInsertInHeaderFooter(){var e;let{unitId:t}=this._context,n=(e=this._renderManagerSrv.getRenderById(t))==null?void 0:e.with(a.DocSkeletonManagerService).getViewModel(),i=n==null?void 0:n.getEditArea();return i===r.DocumentEditArea.HEADER||i===r.DocumentEditArea.FOOTER}_getImagePosition(e,t,n){var r;return(0,a.buildDocTransform)(e,t,{left:((r=n==null?this._getCurrentImageInsertPosition():n)==null?{left:0,top:0}:r).left})}_getCurrentImageInsertPosition(){var e;let t=(e=this._docSelectionRenderService.getActiveTextRange())==null?void 0:e.getAbsolutePosition();return t==null?null:{left:t.left,top:t.top}}_updateOrderListener(){this.disposeWithMe(this._drawingManagerService.featurePluginOrderUpdate$.subscribe(e=>{let{unitId:t,subUnitId:r,drawingIds:i,arrangeType:a}=e;this._commandService.executeCommand(n.SetDocDrawingArrangeCommand.id,{unitId:t,subUnitId:r,drawingIds:i,arrangeType:a})}))}_groupDrawingListener(){this.disposeWithMe(this._drawingManagerService.featurePluginGroupUpdate$.subscribe(e=>{this._commandService.executeCommand(m.id,e)})),this.disposeWithMe(this._drawingManagerService.featurePluginUngroupUpdate$.subscribe(e=>{this._commandService.executeCommand(h.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,l.debounceTime)(30)).subscribe(e=>{this._docSelectionManagerService.refreshSelection()}));else throw Error(`transformer is not init`)}_focusDrawingListener(){this.disposeWithMe(this._drawingManagerService.focus$.subscribe(e=>{var n;let{transformer:r,docsLeft:i,docsTop:a}=(n=this._getCurrentSceneAndTransformer())==null?{}:n;if(e==null||e.length===0)this._contextService.setContextValue(t.FOCUSING_COMMON_DRAWINGS,!1),this._docDrawingService.focusDrawing([]),r&&r.resetProps({zeroTop:0,zeroLeft:0});else{this._contextService.setContextValue(t.FOCUSING_COMMON_DRAWINGS,!0),this._docDrawingService.focusDrawing(e),this._setDrawingSelections(e);let n=this._docSelectionRenderService.getSegment(),o=this._findSegmentIdByDrawingId(e[0].drawingId);n!==o&&this._docSelectionRenderService.setSegment(o),r&&r.resetProps({zeroTop:a,zeroLeft:i})}this._updateDrawingsEditStatus()}))}_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 e;if(!this._context)return;let{unit:n,scene:i,unitId:o}=this._context,c=(e=this._renderManagerSrv.getRenderById(o))==null?void 0:e.with(a.DocSkeletonManagerService).getViewModel();if(c==null||n==null)return;let{drawings:l={}}=n.getSnapshot(),u=c.getEditArea()===r.DocumentEditArea.BODY,d=this._docSelectionRenderService.isFocusing;for(let e of Object.keys(l)){let n=l[e],r=(0,s.getDrawingShapeKeyByDrawingSearch)({unitId:o,drawingId:n.drawingId,subUnitId:o}),a=i.fuzzyMathObjects(r,!0);if(a.length)for(let e of a){i.detachTransformerFrom(e);try{e.setOpacity(d?.5:1)}catch{}if(d&&(u&&n.isMultiTransform!==t.BooleanNumber.TRUE||!u&&n.isMultiTransform===t.BooleanNumber.TRUE)){n.allowTransform!==!1&&i.attachTransformerTo(e);try{e.setOpacity(1)}catch{}}}}}_editAreaChangeListener(){var e;let{unitId:t}=this._context,n=(e=this._renderManagerSrv.getRenderById(t))==null?void 0:e.with(a.DocSkeletonManagerService).getViewModel();n!=null&&(this._updateDrawingsEditStatus(),this.disposeWithMe(n.editAreaChange$.subscribe(()=>{this._updateDrawingsEditStatus()})),this.disposeWithMe(this._docSelectionRenderService.onFocus$.subscribe(()=>{this._updateDrawingsEditStatus()})),this.disposeWithMe(this._docSelectionRenderService.onBlur$.subscribe(()=>{this._updateDrawingsEditStatus()})),this.disposeWithMe(this._docRefreshDrawingsService.refreshDrawings$.subscribe(e=>{e!=null&&queueMicrotask(()=>{this._updateDrawingsEditStatus()})})),this.disposeWithMe(this._commandService.onCommandExecuted(async e=>{if(e.id!==a.RichTextEditingMutation.id)return;let t=e.params;t!=null&&t.unitId&&t.unitId!==this._context.unitId||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)}};C=S([x(1,t.ICommandService),x(2,(0,t.Inject)(a.DocSelectionManagerService)),x(3,r.IRenderManagerService),x(4,t.IImageIoService),x(5,n.IDocDrawingService),x(6,s.IDrawingManagerService),x(7,t.IContextService),x(8,c.IMessageService),x(9,(0,t.Inject)(t.LocaleService)),x(10,(0,t.Inject)(o.DocSelectionRenderService)),x(11,(0,t.Inject)(b)),x(12,c.ILocalFileService)],C);let w={id:`doc.command.insert-float-image`,type:t.CommandType.COMMAND,handler:e=>{var n,i;let a=e.get(t.IUniverInstanceService),o=e.get(r.IRenderManagerService);return(n=(i=(0,r.getCurrentTypeOfRenderer)(t.UniverInstanceType.UNIVER_DOC,a,o))==null?void 0:i.with(C).insertDocImage())==null?!1:n}},T=`#3A60F7`,E=`#1D3EA6`;function D(e,t,n){let r=`<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${n}" viewBox="0 0 ${t} ${n}" fill="none">${e===`ellipse`?`<ellipse cx="${t/2}" cy="${n/2}" rx="${(t-8)/2}" ry="${(n-8)/2}" fill="${T}" stroke="${E}" stroke-width="4" />`:`<rect x="4" y="4" width="${t-8}" height="${n-8}" rx="14" fill="${T}" stroke="${E}" stroke-width="4" />`}</svg>`;return`data:image/svg+xml;utf8,${encodeURIComponent(r)}`}function O(e,r,i,o){return{id:o,type:t.CommandType.COMMAND,handler:async o=>{var s;let c=o.get(t.ICommandService),l=(s=o.get(t.IUniverInstanceService).getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC))==null?void 0:s.getUnitId();if(!l)return!1;let u=(0,a.buildDocTransform)(r,i);return c.executeCommand(n.InsertDocDrawingCommand.id,{unitId:l,drawings:[{unitId:l,subUnitId:l,drawingId:(0,t.generateRandomId)(6),drawingType:t.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:t.ImageSourceType.BASE64,source:D(e,r,i),transform:(0,a.docDrawingPositionToTransform)(u),docTransform:u,behindDoc:t.BooleanNumber.FALSE,title:``,description:``,layoutType:t.PositionedObjectLayoutType.INLINE,wrapText:t.WrapTextType.BOTH_SIDES,distB:0,distL:0,distR:0,distT:0}]})}}}let k=O(`rectangle`,144,96,`doc.command.insert-float-shape.rectangle`),A=O(`ellipse`,112,112,`doc.command.insert-float-shape.ellipse`),j={id:`doc.command.move-drawing`,type:t.CommandType.COMMAND,handler:(e,i)=>{let a=e.get(t.ICommandService),o=e.get(n.IDocDrawingService),s=e.get(t.IUniverInstanceService),c=e.get(r.IRenderManagerService),{direction:l}=i,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.getUnit(d,t.UniverInstanceType.UNIVER_DOC),g=u.map(e=>{var n;let{drawingId:r}=e,i=h==null||(n=h.getSnapshot().drawings)==null?void 0:n[r];if(i==null||i.layoutType===t.PositionedObjectLayoutType.INLINE)return null;let{positionH:a,positionV:o}=i.docTransform,s={...a},c={...o};if(l===t.Direction.UP){var u;c.posOffset=((u=c.posOffset)==null?0:u)-2}else if(l===t.Direction.DOWN){var d;c.posOffset=((d=c.posOffset)==null?0:d)+2}else if(l===t.Direction.LEFT){var f;s.posOffset=((f=s.posOffset)==null?0:f)-2}else if(l===t.Direction.RIGHT){var p;s.posOffset=((p=s.posOffset)==null?0:p)+2}return{drawingId:r,key:l===t.Direction.UP||l===t.Direction.DOWN?`positionV`:`positionH`,value:l===t.Direction.UP||l===t.Direction.DOWN?c:s}}).filter(e=>e!=null);if(g.length===0)return!1;let _=a.syncExecuteCommand(n.UpdateDrawingDocTransformCommand.id,{unitId:d,subUnitId:d,drawings:g});return m.refreshControls(),!!_}},M={id:`doc.operation.clear-drawing-transformer`,type:t.CommandType.MUTATION,handler:(e,t)=>{let n=e.get(r.IRenderManagerService);return t.forEach(e=>{var t;(t=n.getRenderById(e))==null||(t=t.scene.getTransformer())==null||t.debounceRefreshControls()}),!0}},N=`COMPONENT_DOC_DRAWING_PANEL`,P={id:`sidebar.operation.doc-image`,type:t.CommandType.COMMAND,handler:async(e,n)=>{let r=e.get(c.ISidebarService),i=e.get(t.LocaleService),a=e.get(s.IDrawingManagerService);switch(n.value){case`open`:r.open({header:{title:i.t(`docs-drawing-ui.panel.title`)},children:{label:N},onClose:()=>{a.focusDrawing(null)},width:360});break;default:r.close();break}return!0}},F={id:`doc.operation.edit-doc-image`,type:t.CommandType.OPERATION,handler:(e,n)=>{let r=e.get(s.IDrawingManagerService),i=e.get(t.ICommandService);return n==null?!1:(r.focusDrawing([n]),i.executeCommand(P.id,{value:`open`}),!0)}};function I(e,t,n=1,r=0){let{top:i,left:a,bottom:s,right:c}=e,l=c-a,u=s-i,{viewportScrollX:d,viewportScrollY:f}=t.getViewport(o.VIEWPORT_KEY.VIEW_MAIN),{scaleX:p,scaleY:m}=t.getAncestorScale();return{startX:(a-d)*p,startY:(i-f)*m,endX:(a+l-d)*p,endY:(i+u-f)*m,width:l*p,height:u*m,rotate:r,absolute:{left:!1,top:!1},opacity:n==null?1:n}}function L(e,t){let{top:n,left:r,width:i,height:a,angle:o,opacity:s}=e;return I({top:n,left:r,bottom:n+a,right:r+i},t.scene,s,o)}function R(e,t){let n=z(t.customBlockRenderViewport);return n?{...e,customBlockRenderViewport:n}:e}function z(e){let t={};return ee(e==null?void 0:e.bleedLeft)&&(t.bleedLeft=e.bleedLeft),B(e==null?void 0:e.bleedWidth)&&(t.bleedWidth=e.bleedWidth),B(e==null?void 0:e.contentHeight)&&(t.contentHeight=e.contentHeight),B(e==null?void 0:e.contentWidth)&&(t.contentWidth=e.contentWidth),B(e==null?void 0:e.height)&&(t.height=e.height),B(e==null?void 0:e.viewportHeight)&&(t.viewportHeight=e.viewportHeight),Object.keys(t).length?t:void 0}function B(e){return typeof e==`number`&&Number.isFinite(e)&&e>0}function ee(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0}let V=class extends t.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,y(this,`_domLayerInfoMap`,new Map),this._initialize()}dispose(){super.dispose()}_initialize(){this._drawingAddRemoveListener(),this._drawingRuntimePropsListener(),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(e){e.forEach(async e=>{let{unitId:n}=e;if(!this._univerInstanceService.getUnit(n,t.UniverInstanceType.UNIVER_DOC))return;let r=this._getSceneAndTransformerByDrawingSearch(n);if(r==null)return;let i=this._drawingManagerService.getDrawingByParam(e);if(i==null)return;let a=await this._drawingRenderService.renderFloatDom(i,r.scene);if(!(a==null||a.length===0))for(let e of a){var s;let a=i,c=z(a.customBlockRenderViewport),u=U(a);H(e,a,c,void 0,u);let d=c||u?W(e):void 0;this._addHoverForRect(e);let f=new t.DisposableCollection,p=new l.BehaviorSubject(L(e,r.renderUnit)),m=r.canvas,h=i.data,g={dispose:f,preserveRuntimeGeometry:u,rect:e,runtimeTransform:d,runtimeViewport:c,position$:p,unitId:n};this._canvasFloatDomService.addFloatDom({position$:p,id:i.drawingId,componentKey:i.componentKey,eventPassThrough:u?!1:void 0,preserveOnFocusChange:u,onPointerDown:e=>{m.dispatchEvent(new PointerEvent(e.type,e))},onPointerMove:e=>{m.dispatchEvent(new PointerEvent(e.type,e))},onPointerUp:e=>{m.dispatchEvent(new PointerEvent(e.type,e))},onWheel:e=>{m.dispatchEvent(new WheelEvent(e.type,e))},data:h,props:R(void 0,i),unitId:n});let _=e.onTransformChange$.subscribeEvent(()=>{let t=L(e,r.renderUnit);p.next(t)}),v=G((s=r.scene.getViewport(o.VIEWPORT_KEY.VIEW_MAIN))==null?void 0:s.onScrollAfter$,()=>p.next(L(e,r.renderUnit)));f.add(()=>{this._canvasFloatDomService.removeFloatDom(i.drawingId)}),_&&f.add(_),v&&f.add(v),this._domLayerInfoMap.set(i.drawingId,g)}})}_drawingRuntimePropsListener(){this.disposeWithMe(this._drawingManagerService.refreshTransform$.subscribe(e=>{e.forEach(e=>{var t;let n=this._domLayerInfoMap.get(e.drawingId);if(!n)return;let r=e,i=z(r.customBlockRenderViewport);if(i&&(n.runtimeViewport=i),H(n.rect,r,n.runtimeViewport,n.runtimeTransform,n.preserveRuntimeGeometry)){(i||n.preserveRuntimeGeometry)&&(n.runtimeTransform=W(n.rect));let e=this._getSceneAndTransformerByDrawingSearch(n.unitId);e&&n.position$.next(L(n.rect,e.renderUnit))}let a=(t=this._canvasFloatDomService.domLayers.find(([t])=>t===e.drawingId))==null?void 0:t[1].props;this._canvasFloatDomService.updateFloatDom(e.drawingId,{props:R(a,e)})})}))}_addHoverForRect(e){this.disposeWithMe((0,t.toDisposable)(e.onPointerEnter$.subscribeEvent(()=>{e.cursor=r.CURSOR_TYPE.GRAB}))),this.disposeWithMe((0,t.toDisposable)(e.onPointerLeave$.subscribeEvent(()=>{e.cursor=r.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 e=e=>{let t=this._getSceneAndTransformerByDrawingSearch(e);t&&this._domLayerInfoMap.forEach(n=>{if(n.unitId!==e)return;let r=L(n.rect,t.renderUnit);n.position$.next(r)})};this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).pipe((0,l.map)(e=>{if(!e)return null;let t=e.getUnitId(),n=this._renderManagerService.getRenderById(t);return n?{render:n,unitId:t}:null}),(0,l.switchMap)(e=>e?(0,t.fromEventSubject)(e.render.scene.getViewport(o.VIEWPORT_KEY.VIEW_MAIN).onScrollAfter$).pipe((0,l.map)(()=>({unitId:e.unitId}))):(0,l.of)(null))).subscribe(t=>{if(!t)return;let{unitId:n}=t;e(n)})),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===o.SetDocZoomRatioOperation.id){let{unitId:n}=t.params;e(n)}}))}insertFloatDom(e,r){var i,o,s;let c=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(!c)return!1;let l=this._getSceneAndTransformerByDrawingSearch(c.getUnitId());if(!l)return!1;let u=(i=l.renderUnit.with(a.DocSkeletonManagerService).getSkeleton().getSkeletonData())==null?void 0:i.pages[0];if(!u)return!1;let{pageWidth:d,marginLeft:f,marginRight:p}=u,m=d-f-p,h={size:{width:(o=r.width)==null?m:o,height:r.height},positionH:{relativeFrom:t.ObjectRelativeFromH.PAGE,posOffset:0},positionV:{relativeFrom:t.ObjectRelativeFromV.PAGE,posOffset:0},angle:0},g=(s=r.drawingId)==null?(0,t.generateRandomId)():s,_={unitId:c.getUnitId(),drawings:[{drawingId:g,drawingType:t.DrawingTypeEnum.DRAWING_DOM,subUnitId:c.getUnitId(),unitId:c.getUnitId(),...e,title:``,description:``,docTransform:h,layoutType:t.PositionedObjectLayoutType.INLINE,transform:(0,a.docDrawingPositionToTransform)(h)}]};return this._commandService.syncExecuteCommand(n.InsertDocDrawingCommand.id,_),g}};V=S([x(0,r.IRenderManagerService),x(1,s.IDrawingManagerService),x(2,(0,t.Inject)(u.DrawingRenderService)),x(3,(0,t.Inject)(c.CanvasFloatDomService)),x(4,t.IUniverInstanceService),x(5,t.ICommandService)],V);function H(e,t,n,r,i){let a=te(t,e,n,r,i);return a?(e.transformByState(a),!0):!1}function te(e,t,n,r,i){var a,o,s,c;let l=(a=e.transform)==null?(o=e.transforms)==null?void 0:o[0]:a,u=(s=e.customBlockRenderViewport)==null?n:s;if(!e.customBlockRenderViewport&&i&&r&&l){var d,f;return{...l,width:(d=r.width)==null?l.width:d,height:(f=r.height)==null?l.height:f}}if(!l){var p;let e=(p=u==null?void 0:u.height)==null?u==null?void 0:u.contentHeight:p;return B(e)?{left:t.left,top:t.top,width:t.width,height:e,angle:t.angle}:void 0}let m=(c=u==null?void 0:u.height)==null?u==null?void 0:u.contentHeight:c;return B(m)?{...l,height:m}:l}function U(e){let t=e.data;if(!t||typeof t!=`object`)return!1;let n=t;return n.version===1&&typeof n.embedId==`string`&&typeof n.hostAnchorId==`string`}function W(e){return{angle:e.angle,height:e.height,left:e.left,top:e.top,width:e.width}}function G(e,n){if(!e||typeof e!=`object`)return;let r=e;if(typeof r.subscribeEvent==`function`)return r.subscribeEvent(n);let i=e;if(typeof i.subscribe==`function`){let e=i.subscribe(n);return(0,t.toDisposable)(()=>{var t;return(t=e.unsubscribe)==null?void 0:t.call(e)})}}let K=`doc.menu.image`,q=w.id,ne=e=>{let n=e.get(a.DocSelectionManagerService),r=e.get(t.IUniverInstanceService);return new l.Observable(e=>{let i=n.textSelection$.subscribe(()=>{let i=n.getActiveTextRange();if(i){var a;let{segmentId:n,startOffset:o,endOffset:s}=i,c=r.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC),l=c==null||(a=c.getSelfOrHeaderFooterModel(n))==null||(a=a.getBody())==null?void 0:a.tables;if(l&&l.length&&l.some(e=>{let{startIndex:t,endIndex:n}=e;return o>=t&&o<n||s>=t&&s<n})){e.next(!0);return}}else{e.next(!0);return}e.next(!1)});return()=>i.unsubscribe()})};function re(e){return{id:K,type:c.MenuItemType.SUBITEMS,icon:`AddImageIcon`,tooltip:`docs-drawing-ui.title`,disabled$:ne(e),hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function J(e){return{id:q,title:`docs-drawing-ui.upload.float`,type:c.MenuItemType.BUTTON,icon:`AddImageIcon`,hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function ie(e){return{id:`${q}.below`,commandId:q,title:`docs-drawing-ui.upload.float`,type:c.MenuItemType.BUTTON,icon:`AddImageIcon`,params:{paragraphMenuPlacement:`below`},hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let Y=`doc.command.menu-insert-shape`,X=`doc.command.menu-insert-shape.below`;function ae(e){return{id:Y,type:c.MenuItemType.SUBITEMS,icon:`ShapeIcon`,title:`docs-drawing-ui.shape.insert.title`,tooltip:`docs-drawing-ui.shape.insert.title`,hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function oe(e){return{id:X,type:c.MenuItemType.SUBITEMS,icon:`ShapeIcon`,title:`docs-drawing-ui.shape.insert.title`,tooltip:`docs-drawing-ui.shape.insert.title`,hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function se(e){return{id:k.id,title:`docs-drawing-ui.shape.insert.rectangle`,type:c.MenuItemType.BUTTON,hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function ce(e){return{id:A.id,title:`docs-drawing-ui.shape.insert.ellipse`,type:c.MenuItemType.BUTTON,hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function le(e){return{id:`${k.id}.below`,commandId:k.id,title:`docs-drawing-ui.shape.insert.rectangle`,type:c.MenuItemType.BUTTON,params:{paragraphMenuPlacement:`below`},hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function ue(e){return{id:`${A.id}.below`,commandId:A.id,title:`docs-drawing-ui.shape.insert.ellipse`,type:c.MenuItemType.BUTTON,params:{paragraphMenuPlacement:`below`},hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let de={[c.RibbonInsertGroup.MEDIA]:{[K]:{order:0,menuItemFactory:re,[q]:{order:0,menuItemFactory:J}}},[c.ContextMenuPosition.PARAGRAPH]:{[c.ContextMenuGroup.LAYOUT]:{[o.INSERT_BELLOW_MENU_ID]:{[q]:{order:5,menuItemFactory:J}}},[o.EMPTY_PARAGRAPH_MENU_ID]:{[c.ContextMenuGroup.LAYOUT]:{[q]:{order:5,menuItemFactory:J}}},[o.DOC_CONTENT_INSERT_MENU_ID]:{[c.ContextMenuGroup.LAYOUT]:{[q]:{order:5,menuItemFactory:J}}},[o.DOC_PARAGRAPH_T_INSERT_MENU_ID]:{insert:{[q]:{order:1,menuItemFactory:J},[Y]:{order:2,menuItemFactory:ae}}},[o.DOC_PARAGRAPH_T_INSERT_BELOW_MENU_ID]:{insert:{[`${q}.below`]:{order:1,menuItemFactory:ie},[X]:{order:2,menuItemFactory:oe}}},[Y]:{shapes:{order:0,[k.id]:{order:0,menuItemFactory:se},[A.id]:{order:1,menuItemFactory:ce}}},[X]:{shapes:{order:0,[`${k.id}.below`]:{order:0,menuItemFactory:le},[`${A.id}.below`]:{order:1,menuItemFactory:ue}}}}};var fe=`@univerjs/docs-drawing-ui`,pe=`1.0.0-alpha.4`;let me={},he=-1e3,ge=1e3,_e=e=>{var t;let n=(0,c.useDependency)(r.IRenderManagerService),i=e.drawings[0],a=i?(t=n.getRenderById(i.unitId))==null?void 0:t.scene:void 0;return i&&a?(0,f.jsx)(ve,{...e}):null};function ve(e){let l=(0,c.useDependency)(t.ICommandService),u=(0,c.useDependency)(t.LocaleService),p=(0,c.useDependency)(s.IDrawingManagerService),m=(0,c.useDependency)(r.IRenderManagerService),h=(0,c.useDependency)(t.IUniverInstanceService),{drawings:g}=e,{unitId:_}=g[0],v=h.getUnit(_,t.UniverInstanceType.UNIVER_DOC),y=v==null?void 0:v.getSnapshot().documentStyle.documentFlavor,b=m.getRenderById(_).scene.getTransformerByCreate(),x=[{label:u.t(`docs-drawing-ui.image-position.column`),value:String(t.ObjectRelativeFromH.COLUMN)},{label:u.t(`docs-drawing-ui.image-position.page`),value:String(t.ObjectRelativeFromH.PAGE)},{label:u.t(`docs-drawing-ui.image-position.margin`),value:String(t.ObjectRelativeFromH.MARGIN)}],S=[{label:u.t(`docs-drawing-ui.image-position.line`),value:String(t.ObjectRelativeFromV.LINE),disabled:y===t.DocumentFlavor.MODERN},{label:u.t(`docs-drawing-ui.image-position.page`),value:String(t.ObjectRelativeFromV.PAGE),disabled:y===t.DocumentFlavor.MODERN},{label:u.t(`docs-drawing-ui.image-position.margin`),value:String(t.ObjectRelativeFromV.MARGIN),disabled:y===t.DocumentFlavor.MODERN},{label:u.t(`docs-drawing-ui.image-position.paragraph`),value:String(t.ObjectRelativeFromV.PARAGRAPH)}],[C,w]=(0,d.useState)(!0),[T,E]=(0,d.useState)({relativeFrom:t.ObjectRelativeFromH.PAGE,posOffset:0}),[D,O]=(0,d.useState)({relativeFrom:t.ObjectRelativeFromV.PAGE,posOffset:0}),[k,A]=(0,d.useState)(!0),[j,M]=(0,d.useState)(!0);function N(e,t){var r;e===`positionH`?E(t):O(t);let i=p.getFocusDrawings();if(i.length===0)return;let a=i.map(e=>({unitId:e.unitId,subUnitId:e.subUnitId,drawingId:e.drawingId}));l.executeCommand(n.UpdateDrawingDocTransformCommand.id,{unitId:i[0].unitId,subUnitId:i[0].unitId,drawings:a.map(n=>({drawingId:n.drawingId,key:e,value:t}))});let s=(r=m.getRenderById(_))==null?void 0:r.with(o.DocSelectionRenderService);s&&s.blur(),b.refreshControls()}function P(e){var n;let r=T.relativeFrom,i=T.posOffset,o=Number(e);if(r===o)return;let s=p.getFocusDrawings();if(s.length===0)return;let c=s[0].drawingId,l=s[0].unitId,u=null,d=0,f=(n=m.getRenderById(l))==null?void 0:n.with(a.DocSkeletonManagerService).getSkeleton(),h=f==null?void 0:f.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;r===t.ObjectRelativeFromH.COLUMN?x-=u.columnLeft:r===t.ObjectRelativeFromH.MARGIN&&(x-=d),o===t.ObjectRelativeFromH.COLUMN?x+=u.columnLeft:o===t.ObjectRelativeFromH.MARGIN?x+=d:t.ObjectRelativeFromH.PAGE,N(`positionH`,{relativeFrom:o,posOffset:(i==null?0:i)-x})}function F(e){var n,r,i,s,c;let l=D.relativeFrom,u=D.posOffset,d=Number(e);if(l===d)return;let f=p.getFocusDrawings();if(f.length===0)return;let{drawingId:g,unitId:_}=f[0],v=h.getUnit(_,t.UniverInstanceType.UNIVER_DOC),y=(n=m.getRenderUnitById(_))==null?void 0:n.with(a.DocSkeletonManagerService).getSkeleton(),b=(r=m.getRenderUnitById(_))==null?void 0:r.with(o.DocSelectionRenderService),x=b==null?void 0:b.getSegment(),S=b==null?void 0:b.getSegmentPage(),C=v==null||(i=v.getSelfOrHeaderFooterModel(x))==null||(i=i.getBody())==null||(i=i.customBlocks)==null?void 0:i.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,O=E==null?void 0:E.parent,k=O==null?void 0:O.lines.find(e=>e.paragraphIndex===(E==null?void 0:E.paragraphIndex)&&e.paragraphStart),A=O==null||(c=O.parent)==null?void 0:c.parent;if(T==null||E==null||k==null||O==null||A==null)return;let j=0;l===t.ObjectRelativeFromV.PARAGRAPH?j-=k.top:l===t.ObjectRelativeFromV.LINE?j-=E.top:l===t.ObjectRelativeFromV.PAGE&&(j+=A.marginTop),d===t.ObjectRelativeFromV.PARAGRAPH?j+=k.top:d===t.ObjectRelativeFromV.LINE?j+=E.top:d===t.ObjectRelativeFromV.PAGE&&(j-=A.marginTop),N(`positionV`,{relativeFrom:d,posOffset:(u==null?0:u)-j})}function I(e){var n;let r=v==null?void 0:v.getSnapshot(),i=r==null||(n=r.drawings)==null?void 0:n[e.drawingId];if(i==null)return;let{layoutType:a}=i,{positionH:o,positionV:s}=i.docTransform;E(o),O(s),w(a===t.PositionedObjectLayoutType.INLINE),A(s.relativeFrom===t.ObjectRelativeFromV.PARAGRAPH||s.relativeFrom===t.ObjectRelativeFromV.LINE)}function L(){let e=p.getFocusDrawings();e.length!==0&&I(e[0])}function R(e){A(e),F(String(e?t.ObjectRelativeFromV.PARAGRAPH:t.ObjectRelativeFromV.PAGE))}return(0,d.useEffect)(()=>{L();let e=p.focus$.subscribe(e=>{if(e.length===0){M(!1);return}M(!0),I(e[0])}),t=l.onCommandExecuted(async e=>{e.id===a.RichTextEditingMutation.id&&L()});return()=>{e.unsubscribe(),t.dispose()}},[]),(0,f.jsxs)(`div`,{className:(0,i.clsx)(`univer-grid univer-gap-2 univer-py-2 univer-text-gray-400`,{"univer-hidden":!j}),children:[(0,f.jsx)(`header`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:u.t(`docs-drawing-ui.image-position.title`)})}),(0,f.jsx)(`div`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:u.t(`docs-drawing-ui.image-position.horizontal`)})}),(0,f.jsxs)(`div`,{className:`univer-grid univer-grid-cols-2 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2`,children:[(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:u.t(`docs-drawing-ui.image-position.absolutePosition`)}),(0,f.jsx)(i.InputNumber,{min:he,max:ge,precision:1,disabled:C,value:T.posOffset,onChange:e=>{N(`positionH`,{relativeFrom:T.relativeFrom,posOffset:e})}})]}),(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:u.t(`docs-drawing-ui.image-position.toTheRightOf`)}),(0,f.jsx)(i.Select,{value:String(T.relativeFrom),disabled:C,options:x,onChange:P})]})]}),(0,f.jsx)(`div`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:u.t(`docs-drawing-ui.image-position.vertical`)})}),(0,f.jsxs)(`div`,{className:`univer-grid univer-grid-cols-2 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2`,children:[(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:u.t(`docs-drawing-ui.image-position.absolutePosition`)}),(0,f.jsx)(i.InputNumber,{min:he,max:ge,precision:1,disabled:C,value:D.posOffset,onChange:e=>{N(`positionV`,{relativeFrom:D.relativeFrom,posOffset:e})}})]}),(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:u.t(`docs-drawing-ui.image-position.bellow`)}),(0,f.jsx)(i.Select,{disabled:C,value:String(D.relativeFrom),options:S,onChange:F})]})]}),(0,f.jsx)(`div`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:u.t(`docs-drawing-ui.image-position.options`)})}),(0,f.jsx)(`div`,{children:(0,f.jsx)(i.Checkbox,{disabled:C,checked:k,onChange:R,children:u.t(`docs-drawing-ui.image-position.moveObjectWithText`)})})]})}function ye(e,n,r,i,a,o,s){var c,l,u;let d=new t.TextX,f=t.JSONX.getInstance(),p=[],m=(c=o.getSelfOrHeaderFooterModel(n))==null?void 0:c.getBody(),h=(l=o.getSelfOrHeaderFooterModel(e))==null?void 0:l.getBody();if(m==null||h==null)return;let g=(u=m.customBlocks)==null||(u=u.find(e=>e.blockId===a))==null?void 0:u.startIndex;if(g!=null){if(i=Math.min(h.dataStream.length-2,i),e===n){if(i<g?(i>0&&d.push({t:t.TextXActionType.RETAIN,len:i}),d.push({t:t.TextXActionType.INSERT,body:{dataStream:`\b`,customBlocks:[{startIndex:0,blockId:a}]},len:1}),d.push({t:t.TextXActionType.RETAIN,len:g-i}),d.push({t:t.TextXActionType.DELETE,len:1})):(g>0&&d.push({t:t.TextXActionType.RETAIN,len:g}),d.push({t:t.TextXActionType.DELETE,len:1}),i-g-1>0&&d.push({t:t.TextXActionType.RETAIN,len:i-g-1}),d.push({t:t.TextXActionType.INSERT,body:{dataStream:`\b`,customBlocks:[{startIndex:0,blockId:a}]},len:1})),i!==g){let e=(0,t.getRichTextEditPath)(o,n),r=f.editOp(d.serialize(),e);p.push(r)}}else{g>0&&d.push({t:t.TextXActionType.RETAIN,len:g}),d.push({t:t.TextXActionType.DELETE,len:1});let c=(0,t.getRichTextEditPath)(o,n),l=f.editOp(d.serialize(),c);p.push(l),d.empty(),i>0&&d.push({t:t.TextXActionType.RETAIN,len:i}),d.push({t:t.TextXActionType.INSERT,body:{dataStream:`\b`,customBlocks:[{startIndex:0,blockId:a}]},len:1}),c=(0,t.getRichTextEditPath)(o,e),l=f.editOp(d.serialize(),c),p.push(l),s.setSegment(e),s.setSegmentPage(r)}return p}}let be={id:`doc.command.update-doc-drawing-distance`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(n==null)return!1;let r=e.get(t.ICommandService),i=e.get(t.IUniverInstanceService),{drawings:o,dist:s,unitId:c}=n,l=i.getUnit(c,t.UniverInstanceType.UNIVER_DOC);if(l==null)return!1;let u=t.JSONX.getInstance(),d=[],{drawings:f={}}=l.getSnapshot();for(let e of o){let{drawingId:t}=e;for(let[e,n]of Object.entries(s)){let r=f[t][e];if(r!==n){let i=u.replaceOp([`drawings`,t,e],r,n);d.push(i)}}}let p={id:a.RichTextEditingMutation.id,params:{unitId:c,actions:[],textRanges:null}};return p.params.actions=d.reduce((e,n)=>t.JSONX.compose(e,n),null),!!r.syncExecuteCommand(p.id,p.params)}},xe={id:`doc.command.update-doc-drawing-wrap-text`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(n==null)return!1;let r=e.get(t.ICommandService),i=e.get(t.IUniverInstanceService),{drawings:o,wrapText:s,unitId:c}=n,l=i.getUnit(c,t.UniverInstanceType.UNIVER_DOC);if(l==null)return!1;let u=t.JSONX.getInstance(),d=[],{drawings:f={}}=l.getSnapshot();for(let e of o){let{drawingId:t}=e,n=f[t].wrapText;if(n!==s){let e=u.replaceOp([`drawings`,t,`wrapText`],n,s);d.push(e)}}let p={id:a.RichTextEditingMutation.id,params:{unitId:c,actions:[],textRanges:null}};return p.params.actions=d.reduce((e,n)=>t.JSONX.compose(e,n),null),!!r.syncExecuteCommand(p.id,p.params)}},Se={id:`doc.command.move-inline-drawing`,type:t.CommandType.COMMAND,handler:(e,n)=>{var i,s;if(n==null)return!1;let{drawing:c,unitId:l,offset:u,segmentId:d,segmentPage:f,needRefreshDrawings:p}=n,m=e.get(r.IRenderManagerService),h=(i=m.getRenderUnitById(l))==null?void 0:i.with(o.DocSelectionRenderService),g=e.get(b),_=m.getRenderUnitById(l),v=_==null?void 0:_.scene,y=_==null?void 0:_.with(a.DocSkeletonManagerService).getSkeleton();if(v==null||h==null)return!1;let x=v.getTransformerByCreate(),S=e.get(t.ICommandService),C=e.get(t.IUniverInstanceService).getUnit(l,t.UniverInstanceType.UNIVER_DOC);if(C==null)return!1;if(p)return g.refreshDrawings(y),x.refreshControls(),!0;let w=[],{drawingId:T}=c,E=ye(d,(s=h.getSegment())==null?``:s,f,u,T,C,h);if(E==null||E.length===0)return g.refreshDrawings(y),x.refreshControls(),!1;w.push(...E);let D={id:a.RichTextEditingMutation.id,params:{unitId:l,actions:[],textRanges:null}};D.params.actions=w.reduce((e,n)=>t.JSONX.compose(e,n),null);let O=S.syncExecuteCommand(D.id,D.params);return x.refreshControls(),!!O}},Ce={id:`doc.command.transform-non-inline-drawing`,type:t.CommandType.COMMAND,handler:(e,n)=>{var i,s;if(n==null)return!1;let{drawing:c,unitId:l,offset:u,docTransform:d,segmentId:f,segmentPage:p}=n,m=e.get(r.IRenderManagerService),h=(i=m.getRenderUnitById(l))==null?void 0:i.with(o.DocSelectionRenderService),g=m.getRenderUnitById(l),_=g==null?void 0:g.scene;if(_==null||h==null)return!1;let v=_.getTransformerByCreate(),y=e.get(t.ICommandService),b=e.get(t.IUniverInstanceService).getUnit(l,t.UniverInstanceType.UNIVER_DOC);if(b==null)return!1;let x=[],{drawingId:S}=c,C=ye(f,(s=h.getSegment())==null?``:s,p,u,S,b,h);if(C==null)return!1;C.length>0&&x.push(...C);let w=t.JSONX.getInstance(),{drawings:T={}}=b.getSnapshot(),{positionH:E,positionV:D,size:O,angle:k}=T[S].docTransform;if(!t.Tools.diffValue(E,d.positionH)){let e=w.replaceOp([`drawings`,S,`docTransform`,`positionH`],E,d.positionH);x.push(e)}if(!t.Tools.diffValue(D,d.positionV)){let e=w.replaceOp([`drawings`,S,`docTransform`,`positionV`],D,d.positionV);x.push(e)}if(!t.Tools.diffValue(O,d.size)){let e=w.replaceOp([`drawings`,S,`docTransform`,`size`],O,d.size);x.push(e)}if(!t.Tools.diffValue(k,d.angle)){let e=w.replaceOp([`drawings`,S,`docTransform`,`angle`],k,d.angle);x.push(e)}let A={id:a.RichTextEditingMutation.id,params:{unitId:l,actions:[],textRanges:null,debounce:!0}};A.params.actions=x.reduce((e,n)=>t.JSONX.compose(e,n),null);let j=y.syncExecuteCommand(A.id,A.params);return v.refreshControls(),!!j}},we=e=>{var t;let n=(0,c.useDependency)(r.IRenderManagerService),i=e.drawings[0],a=i?(t=n.getRenderUnitById(i.unitId))==null?void 0:t.scene:void 0;return i&&a?(0,f.jsx)(Te,{...e}):null};function Te(e){let r=(0,c.useDependency)(t.ICommandService),o=(0,c.useDependency)(t.LocaleService),l=(0,c.useDependency)(s.IDrawingManagerService),u=(0,c.useDependency)(t.IUniverInstanceService),{drawings:p}=e,{unitId:m}=p[0],h=u.getUnit(m,t.UniverInstanceType.UNIVER_DOC),[g,_]=(0,d.useState)(!0),[v,y]=(0,d.useState)(!0),[b,x]=(0,d.useState)(!0),[S,C]=(0,d.useState)(n.TextWrappingStyle.INLINE),[w,T]=(0,d.useState)(``),[E,D]=(0,d.useState)({distT:0,distL:0,distB:0,distR:0}),[O,k]=(0,d.useState)(!0);function A(e){C(e);let t=l.getFocusDrawings();if(t.length===0)return;let{unitId:i,subUnitId:a}=t[0],o=t.map(({unitId:e,subUnitId:t,drawingId:n})=>({unitId:e,subUnitId:t,drawingId:n}));r.executeCommand(n.UpdateDocDrawingWrappingStyleCommand.id,{unitId:i,subUnitId:a,drawings:o,wrappingStyle:e})}function j(e){T(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(xe.id,{unitId:t[0].unitId,subUnitId:t[0].unitId,drawings:n,wrapText:e})}function M(e,t){if(e==null)return;D({...E,[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(be.id,{unitId:n[0].unitId,subUnitId:n[0].unitId,drawings:i,dist:{[t]:e}})}function N(){let e=l.getFocusDrawings();e.length!==0&&P(e[0])}function P(e){var r;let i=h==null||(r=h.getSnapshot())==null||(r=r.drawings)==null?void 0:r[e.drawingId];if(i==null)return;let{distT:a=0,distL:o=0,distB:s=0,distR:c=0,layoutType:l=t.PositionedObjectLayoutType.INLINE,behindDoc:u=t.BooleanNumber.FALSE,wrapText:d=t.WrapTextType.BOTH_SIDES}=i;if(D({distT:a,distL:o,distB:s,distR:c}),T(d),_(l!==t.PositionedObjectLayoutType.WRAP_SQUARE),l===t.PositionedObjectLayoutType.WRAP_NONE||l===t.PositionedObjectLayoutType.INLINE?y(!0):y(!1),l===t.PositionedObjectLayoutType.WRAP_NONE||l===t.PositionedObjectLayoutType.INLINE||l===t.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM?x(!0):x(!1),l===t.PositionedObjectLayoutType.WRAP_NONE)u===t.BooleanNumber.TRUE?C(n.TextWrappingStyle.BEHIND_TEXT):C(n.TextWrappingStyle.IN_FRONT_OF_TEXT);else switch(l){case t.PositionedObjectLayoutType.INLINE:C(n.TextWrappingStyle.INLINE);break;case t.PositionedObjectLayoutType.WRAP_SQUARE:C(n.TextWrappingStyle.WRAP_SQUARE);break;case t.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM:C(n.TextWrappingStyle.WRAP_TOP_AND_BOTTOM);break;default:throw Error(`Unsupported layout type: ${l}`)}}return(0,d.useEffect)(()=>{N();let e=l.focus$.subscribe(e=>{if(e.length===0){k(!1);return}k(!0),P(e[0])}),t=r.onCommandExecuted(async e=>{e.id===a.RichTextEditingMutation.id&&N()});return()=>{e.unsubscribe(),t.dispose()}},[]),(0,f.jsxs)(`div`,{className:(0,i.clsx)(`univer-grid univer-gap-2 univer-py-2 univer-text-gray-400`,{"univer-hidden":!O}),children:[(0,f.jsx)(`header`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:o.t(`docs-drawing-ui.image-text-wrap.title`)})}),(0,f.jsx)(`div`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:o.t(`docs-drawing-ui.image-text-wrap.wrappingStyle`)})}),(0,f.jsx)(`div`,{children:(0,f.jsxs)(i.RadioGroup,{value:S,onChange:A,direction:`vertical`,children:[(0,f.jsx)(i.Radio,{value:n.TextWrappingStyle.INLINE,children:o.t(`docs-drawing-ui.image-text-wrap.inline`)}),(0,f.jsx)(i.Radio,{value:n.TextWrappingStyle.WRAP_SQUARE,children:o.t(`docs-drawing-ui.image-text-wrap.square`)}),(0,f.jsx)(i.Radio,{value:n.TextWrappingStyle.WRAP_TOP_AND_BOTTOM,children:o.t(`docs-drawing-ui.image-text-wrap.topAndBottom`)}),(0,f.jsx)(i.Radio,{value:n.TextWrappingStyle.BEHIND_TEXT,children:o.t(`docs-drawing-ui.image-text-wrap.behindText`)}),(0,f.jsx)(i.Radio,{value:n.TextWrappingStyle.IN_FRONT_OF_TEXT,children:o.t(`docs-drawing-ui.image-text-wrap.inFrontText`)})]})}),(0,f.jsx)(`div`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:o.t(`docs-drawing-ui.image-text-wrap.wrapText`)})}),(0,f.jsx)(`div`,{children:(0,f.jsxs)(i.RadioGroup,{disabled:g,value:w,onChange:j,direction:`horizontal`,children:[(0,f.jsx)(i.Radio,{value:t.WrapTextType.BOTH_SIDES,children:o.t(`docs-drawing-ui.image-text-wrap.bothSide`)}),(0,f.jsx)(i.Radio,{value:t.WrapTextType.LEFT,children:o.t(`docs-drawing-ui.image-text-wrap.leftOnly`)}),(0,f.jsx)(i.Radio,{value:t.WrapTextType.RIGHT,children:o.t(`docs-drawing-ui.image-text-wrap.rightOnly`)})]})}),(0,f.jsx)(`div`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:o.t(`docs-drawing-ui.image-text-wrap.distanceFromText`)})}),(0,f.jsxs)(`div`,{className:`univer-grid univer-grid-cols-2 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2`,children:[(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:o.t(`docs-drawing-ui.image-text-wrap.top`)}),(0,f.jsx)(i.InputNumber,{min:0,max:100,disabled:v,precision:1,value:E.distT,onChange:e=>{M(e,`distT`)}})]}),(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:o.t(`docs-drawing-ui.image-text-wrap.left`)}),(0,f.jsx)(i.InputNumber,{min:0,max:100,disabled:b,precision:1,value:E.distL,onChange:e=>{M(e,`distL`)}})]})]}),(0,f.jsxs)(`div`,{className:`univer-grid univer-grid-cols-2 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2`,children:[(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:o.t(`docs-drawing-ui.image-text-wrap.bottom`)}),(0,f.jsx)(i.InputNumber,{min:0,max:100,disabled:v,precision:1,value:E.distB,onChange:e=>{M(e,`distB`)}})]}),(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:o.t(`docs-drawing-ui.image-text-wrap.right`)}),(0,f.jsx)(i.InputNumber,{min:0,max:100,disabled:b,precision:1,value:E.distR,onChange:e=>{M(e,`distR`)}})]})]})]})}let Ee=()=>{let e=(0,c.useDependency)(s.IDrawingManagerService),t=(0,c.useObservable)(()=>e.focus$,e.getFocusDrawings(),!1,[e]);return!!(t!=null&&t.length)&&(0,f.jsxs)(`div`,{className:`univer-text-sm`,children:[(0,f.jsx)(u.DrawingCommonPanel,{drawings:t,hasAlign:!1,hasCropper:!0,hasGroup:!1,hasTransform:!1}),(0,f.jsx)(we,{drawings:t}),(0,f.jsx)(_e,{drawings:t})]})},Z=class extends t.Disposable{constructor(e){super(),this._componentManager=e,this._registerComponents()}_registerComponents(){this.disposeWithMe(this._componentManager.register(N,Ee))}};Z=S([x(0,(0,t.Inject)(c.ComponentManager))],Z);function De(e,t,n,r){let i=e.skeDrawings.get(t);if(i)return{skeDrawing:i,pageMarginTop:n,pageMarginLeft:r};for(let n of e.skeTables.values())for(let e of n.rows)for(let n of e.cells){let e=De(n,t,n.marginTop,n.marginLeft);if(e)return e}return null}function Oe(e){if(t.JSONX.isNoop(e)||!Array.isArray(e))return null;let n=e.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 ke(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}function Ae(e,n=new Set){if(t.JSONX.isNoop(e)||!Array.isArray(e))return n;if(e[0]===`drawings`){let t=e[1];return typeof t==`string`?(n.add(t),n):(e.slice(1).forEach(e=>{Array.isArray(e)&&typeof e[0]==`string`&&n.add(e[0])}),n)}return e.forEach(e=>{Array.isArray(e)&&Ae(e,n)}),n}let je=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._univerInstanceService=e,this._commandService=t,this._drawingManagerService=n,this._docDrawingService=r,this._renderManagerService=i,this._docRefreshDrawingsService=a,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id!==a.RichTextEditingMutation.id)return;let{unitId:t,actions:n,isSync:r,syncer:i}=e.params,o=Oe(n);if(o!=null)for(let{type:e,drawingId:n,drawing:a}of o)r&&(a==null?void 0:a.unitId)===i||(e===`add`?this._addDrawings(t,[a]):this._removeDrawings(t,[n]))})),this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{e.id===n.UpdateDocDrawingWrappingStyleCommand.id&&this._preserveWrappingStylePosition(e.params)})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==a.RichTextEditingMutation.id)return;let{unitId:t,actions:n}=e.params;ke(n).length>0&&this._updateDrawingsOrder(t);let r=[...Ae(n)];r.length>0&&this._syncDrawingDataFromSnapshot(t,r)})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==n.UpdateDrawingDocTransformCommand.id&&e.id!==n.UpdateDocDrawingWrappingStyleCommand.id)return;let{unitId:t}=e.params,r=this._renderManagerService.getRenderById(t),i=r==null?void 0:r.scene;r==null||i==null||(this._docRefreshDrawingsService.refreshDrawings(r.with(a.DocSkeletonManagerService).getSkeleton()),i.getTransformerByCreate().refreshControls())})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var n;if(e.id!==t.UndoCommand.id&&e.id!==t.RedoCommand.id)return;let r=(n=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC))==null?void 0:n.getUnitId(),i=this._drawingManagerService.getFocusDrawings();if(r==null||i.length===0)return;let a=this._renderManagerService.getRenderUnitById(r),o=a==null?void 0:a.scene;if(o==null)return!1;o.getTransformerByCreate().refreshControls()}))}_preserveWrappingStylePosition(e){var i;if(e.wrappingStyle===n.TextWrappingStyle.INLINE)return;let{unitId:o}=e,s=this._univerInstanceService.getUnit(o,t.UniverInstanceType.UNIVER_DOC),c=this._renderManagerService.getRenderById(o),l=c==null?void 0:c.with(a.DocSkeletonManagerService),u=l==null?void 0:l.getSkeleton().getSkeletonData(),d=l==null?void 0:l.getViewModel();if(!s||!u||!d)return;let f=d.getEditArea(),{pages:p,skeHeaders:m,skeFooters:h}=u,g=(i=s.getDrawings())==null?{}:i;e.drawings=e.drawings.map(e=>{let n=g[e.drawingId];if(!n)return e;let i=null;for(let t of p){let{headerId:n,footerId:s,marginTop:c,marginLeft:l,marginBottom:u,pageWidth:d,pageHeight:p}=t;if(f===r.DocumentEditArea.HEADER){var a;let t=(a=m.get(n))==null?void 0:a.get(d);t&&(i=De(t,e.drawingId,t.marginTop,l))}else if(f===r.DocumentEditArea.FOOTER){var o;let t=(o=h.get(s))==null?void 0:o.get(d);t&&(i=De(t,e.drawingId,p-u+t.marginTop,l))}else i=De(t,e.drawingId,c,l);if(i)break}if(!i)return e;let{skeDrawing:s,pageMarginTop:c,pageMarginLeft:l}=i,u=n.docTransform.positionH,d=n.docTransform.positionV,_=s.aLeft,v=s.aTop;return u.relativeFrom===t.ObjectRelativeFromH.MARGIN?_-=l:u.relativeFrom===t.ObjectRelativeFromH.COLUMN&&(_-=s.columnLeft),d.relativeFrom===t.ObjectRelativeFromV.PAGE?v+=c:d.relativeFrom===t.ObjectRelativeFromV.LINE?v-=s.lineTop:d.relativeFrom===t.ObjectRelativeFromV.PARAGRAPH&&(v-=s.blockAnchorTop),{...n,...e,docTransform:{...n.docTransform,...e.docTransform,positionH:{relativeFrom:u.relativeFrom,posOffset:_},positionV:{relativeFrom:d.relativeFrom,posOffset:v}}}})}_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 r=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_DOC);if(r==null)return;let{drawings:i,drawingsOrder:a}=r.getSnapshot();if(a==null)return;let o=(0,n.getDocDrawingRenderOrder)(a,i),s=this._drawingManagerService,c=this._docDrawingService;s.setDrawingOrder(e,e,o),c.setDrawingOrder(e,e,a);let l={unitId:e,subUnitId:e,drawingIds:o};s.orderNotification(l),c.orderNotification({unitId:e,subUnitId:e,drawingIds:a})}_syncDrawingDataFromSnapshot(e,r){let i=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_DOC);if(i==null)return;let{drawings:a={},drawingsOrder:o=[]}=i.getSnapshot(),s=a,c=(0,n.getDocDrawingRenderOrder)(o,a);this._docDrawingService.setDrawingData(e,e,s),this._drawingManagerService.setDrawingData(e,e,s),this._docDrawingService.setDrawingOrder(e,e,o),this._drawingManagerService.setDrawingOrder(e,e,c);let l=r.filter(e=>s[e]!=null).map(t=>({unitId:e,subUnitId:e,drawingId:t}));l.length!==0&&(this._docDrawingService.updateNotification(l),this._drawingManagerService.updateNotification(l))}};je=S([x(0,t.IUniverInstanceService),x(1,t.ICommandService),x(2,s.IDrawingManagerService),x(3,n.IDocDrawingService),x(4,r.IRenderManagerService),x(5,(0,t.Inject)(b))],je);let Me=e=>{let{floatDomInfos:t,scene:n,offset:r,bound:i}=e,a=i.right-i.left,o=i.bottom-i.top;return(0,f.jsx)(`div`,{className:`univer-absolute univer-left-0 univer-top-0`,children:(0,d.useMemo)(()=>t.map(e=>{let{width:t=0,height:r=0,left:i=0,top:a=0}=e.transform,o=I({left:i,right:i+t,top:a,bottom:a+r},n),s={position$:new l.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,f.jsx)(c.PrintFloatDomSingle,{layer:t,id:e,position:t.position},e))})};function Ne(e,t,n){return(0,i.render)((0,f.jsx)((0,c.connectInjector)(Me,n),{...e}),t),()=>(0,i.unmount)(t)}let Pe=class extends t.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:(e,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(e=>{let n=s.data[e];n.drawingType!==t.DrawingTypeEnum.DRAWING_CHART&&n.drawingType!==t.DrawingTypeEnum.DRAWING_DOM&&this._drawingRenderService.renderDrawing(n,a)}),r()}}))}_initPrintingDom(){this.disposeWithMe(this._docPrintInterceptorService.interceptor.intercept(this._docPrintInterceptorService.interceptor.getInterceptPoints().PRINTING_DOM_COLLECT,{handler:(e,n,r)=>{let{unitId:i}=n,a=this._drawingManagerService.getDrawingDataForUnit(i),o=a==null?void 0:a[i];if(o){let a=Ne({unitId:i,floatDomInfos:o.order.map(e=>{let n=o.data[e];if(n.drawingType===t.DrawingTypeEnum.DRAWING_CHART)return{...n,componentKey:this._componetManager.get(t.DOC_DRAWING_PRINTING_COMPONENT_KEY)};if(n.drawingType===t.DrawingTypeEnum.DRAWING_DOM){let e=this._docPrintInterceptorService.getPrintComponent(n.componentKey);return{...n,componentKey:this._componetManager.get(e||n.componentKey)}}return null}).filter(Boolean),scene:n.scene,skeleton:n.skeleton,offset:n.offset,bound:n.bound},n.root,this._injector);return e==null||e.add(()=>{a()}),r(e)}}}))}};Pe=S([x(0,(0,t.Inject)(o.DocPrintInterceptorService)),x(1,(0,t.Inject)(u.DrawingRenderService)),x(2,s.IDrawingManagerService),x(3,(0,t.Inject)(c.ComponentManager)),x(4,(0,t.Inject)(t.Injector))],Pe);function Fe(e){let{docsLeft:t,docsTop:n,pageOffsetLeft:r,pageOffsetTop:i,clipOffsetLeft:a=0,clipOffsetTop:o=0,page:s}=e,{pageWidth:c,pageHeight:l}=s;if(!(!Number.isFinite(c)||!Number.isFinite(l)||c<=0||l<=0))return{left:t+r+a,top:n+i+o,width:c,height:l}}function Ie(e){let{drawing:t,hostPage:n,page:r}=e;if(n==null||t.behindText!==!0||t.transform==null)return r;let{width:i,height:a}=t.transform;if(i==null||a==null)return r;if(i>r.pageWidth||a>r.pageHeight)return n;let o=i/n.pageWidth,s=a/n.pageHeight;return o>=.8&&s>=.8?n:r}function Le(e){let{hostPage:n,positionH:r,width:i}=e;if(r.relativeFrom===t.ObjectRelativeFromH.PAGE)return r.align===t.AlignTypeH.RIGHT?n.pageWidth-i:r.align===t.AlignTypeH.CENTER?n.pageWidth/2-i/2:r.posOffset==null?0:r.posOffset}function Re(e){let{hostPage:n,positionV:r,height:i}=e;if(r.relativeFrom===t.ObjectRelativeFromV.PAGE)return r.align===t.AlignTypeV.BOTTOM?n.pageHeight-i:r.align===t.AlignTypeV.CENTER?n.pageHeight/2-i/2:r.posOffset==null?0:r.posOffset}function ze(e){let{page:t,clipPage:n,hostPage:r}=e;if(r!=null&&r===n)return r;if(r==null&&t===n)return t}function Be(e){let{drawingOrigin:n,hostPage:r}=e;return r==null?n.layoutType===t.PositionedObjectLayoutType.WRAP_NONE&&n.behindDoc===t.BooleanNumber.TRUE:!0}function Ve(e,t,n,i){let a=(0,r.getTableIdAndSliceIndex)(t.tableId).tableId,o=(0,r.getDocsTableRenderViewport)(e,a),s=He(o)?o.scrollLeft:0;return{left:t.left+i.left-s+i.marginLeft,top:t.top+n.top+i.marginTop}}function He(e){var t,n;return e!=null&&((t=e.leadingInsetLeft)==null?0:t)+e.contentWidth+((n=e.trailingInsetRight)==null?0:n)>e.viewportWidth}let Ue=class extends t.Disposable{constructor(e,t,n,i,a,o,s,c){super(),this._context=e,this._docSkeletonManagerService=t,this._commandService=n,this._editorService=i,this._drawingManagerService=a,this._docRefreshDrawingsService=o,this._univerInstanceService=s,this._lifecycleService=c,y(this,`_liquid`,new r.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 e=[a.RichTextEditingMutation.id,o.SetDocZoomRatioOperation.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){let{unitId:e}=t.params,{unitId:n,mainComponent:r}=this._context;if(e!==n)return;let i=this._docSkeletonManagerService.getSkeleton();if(i==null)return;if(this._editorService.isEditor(n)){r==null||r.makeDirty();return}this._refreshDrawing(i)}}))}_initResize(){this.disposeWithMe((0,t.fromEventSubject)(this._context.engine.onTransformChange$).pipe((0,l.filter)(e=>e.type===r.TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize),(0,l.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;if(a<=-1e4||o<=-1e4)return;let{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,t),this._calculateTableCellDrawingPositions(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);if(e){let n=t.pageHeight-t.marginBottom+e.marginTop;this._calculateDrawingPosition(r,e,a,o,p,n,t.marginLeft,t),this._calculateTableCellDrawingPositions(r,e,a,o,p,n,t.marginLeft)}}this._calculateDrawingPosition(r,t,a,o,p,t.marginTop,t.marginLeft),this._calculateTableCellDrawingPositions(r,t,a,o,p,t.marginTop,t.marginLeft),this._liquid.translatePage(t,s,c,l)}let g=Object.values(p);for(let e of g)e.hidden=!1;let _=this._getStaleNonMultiDrawings(r,p),v=g.filter(e=>!e.isMultiTransform).concat(_),y=g.filter(e=>e.isMultiTransform);v.length>0&&this._drawingManagerService.refreshTransform(v),this._handleMultiDrawingsTransform(y)}_getStaleNonMultiDrawings(e,n){var r;let i=(r=this._drawingManagerService.getDrawingData(e,e))==null?{}:r;return Object.values(i).filter(e=>e.isMultiTransform!==t.BooleanNumber.TRUE).filter(e=>n[e.drawingId]==null).map(n=>{var r,i;return{unitId:e,subUnitId:e,drawingId:n.drawingId,behindText:!1,hidden:!0,transform:n.transform,transforms:(r=n.transforms)==null?[]:r,isMultiTransform:(i=n.isMultiTransform)==null?t.BooleanNumber.FALSE:i}})}_handleMultiDrawingsTransform(e){let{scene:n,unitId:r}=this._context,i=n.getTransformerByCreate();e.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(e=>e.isMultiTransform===t.BooleanNumber.TRUE);this._drawingManagerService.removeNotification(o),e.length>0&&this._drawingManagerService.addNotification(e);for(let e of a){let t=n.getObject(e);t&&i.setSelectedControl(t)}}_calculateDrawingPosition(e,n,r,i,a,o,s,c,l){let{skeDrawings:u}=n,d=this._liquid.x,f=this._liquid.y;this._liquid.translatePagePadding({marginTop:o,marginLeft:s}),u.forEach(o=>{let{aLeft:s,aTop:u,height:p,width:m,angle:h,drawingId:g,drawingOrigin:_}=o,v=Be({drawingOrigin:_,hostPage:c}),{isMultiTransform:y=t.BooleanNumber.FALSE}=_,b=Ie({drawing:{behindText:v,transform:{width:m,height:p}},hostPage:c,page:n}),x=Fe({docsLeft:r,docsTop:i,pageOffsetLeft:d,pageOffsetTop:f,clipOffsetLeft:l==null?void 0:l.left,clipOffsetTop:l==null?void 0:l.top,page:b}),S=_.layoutType===t.PositionedObjectLayoutType.INLINE?void 0:ze({page:n,clipPage:b,hostPage:c}),C=S==null?void 0:Le({hostPage:S,positionH:_.docTransform.positionH,width:m}),w=S==null?void 0:Re({hostPage:S,positionV:_.docTransform.positionV,height:p}),T={left:(C==null?s:C)+r+(C==null?this._liquid.x:d),top:(w==null?u:w)+i+(w==null?this._liquid.y:f),width:m,height:p,angle:h,flipX:_.docTransform.flipX,flipY:_.docTransform.flipY,clipBounds:x};a[g]==null?a[g]={unitId:e,subUnitId:e,drawingId:g,behindText:v,transform:T,transforms:[T],customBlockRenderViewport:o.customBlockRenderViewport,isMultiTransform:y}:y===t.BooleanNumber.TRUE&&a[g].transforms.push(T)}),this._liquid.restorePagePadding({marginTop:o,marginLeft:s})}_calculateTableCellDrawingPositions(e,t,n,r,i,a,o){var s;(s=t.skeTables)==null||s.forEach(t=>{t.rows.forEach(s=>{s.cells.forEach(c=>{let l=Ve(e,t,s,c),u=a+l.top,d=o+l.left;this._calculateDrawingPosition(e,c,n,r,i,u,d,void 0,{left:d,top:u}),this._calculateTableCellDrawingPositions(e,c,n,r,i,u,d)})})})}_drawingInitializeListener(){let e=()=>{let e=this._docSkeletonManagerService.getSkeleton();e!=null&&(this._drawingManagerService.initializeNotification(this._context.unitId),this._refreshDrawing(e))};this._lifecycleService.stage>=t.LifecycleStages.Rendered?this._docSkeletonManagerService.getSkeleton()?e():setTimeout(e,500):this.disposeWithMe(this._lifecycleService.lifecycle$.pipe((0,l.filter)(e=>e===t.LifecycleStages.Rendered)).subscribe(e))}};Ue=S([x(1,(0,t.Inject)(a.DocSkeletonManagerService)),x(2,t.ICommandService),x(3,o.IEditorService),x(4,s.IDrawingManagerService),x(5,(0,t.Inject)(b)),x(6,t.IUniverInstanceService),x(7,(0,t.Inject)(t.LifecycleService))],Ue);function We(e,t){var n;let r=t.parent,i=r==null?void 0:r.parent,a=i==null?void 0:i.parent;return!r||!i||!a||!((n=r.cells)!=null&&n.includes(t))?null:{cell:t,hostPage:a,offset:Ve(e,i,r,t),row:r,table:i}}let Ge=class extends t.Disposable{constructor(e,t,n,i){super(),this._commandService=e,this._univerInstanceService=t,this._drawingManagerService=n,this._renderManagerService=i,y(this,`_liquid`,new r.Liquid),y(this,`_listenerOnImageMap`,new Set),y(this,`_transformerCache`,new Map),y(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(e){var n;let r=(n=this._getSceneAndTransformerByDrawingSearch(e))==null?void 0:n.transformer;if(r==null)return;this.disposeWithMe((0,t.toDisposable)(r.changeStart$.subscribe(e=>{this._transformerCache.clear();let{objects:n}=e;for(let e of n.values()){var r;let{oKey:n,width:i,height:a,left:o,top:s,angle:c}=e,l=this._drawingManagerService.getDrawingOKey(n);if(l==null)continue;let u=this._univerInstanceService.getUnit(l.unitId,t.UniverInstanceType.UNIVER_DOC),d=u==null||(r=u.getSnapshot().drawings)==null?void 0:r[l.drawingId];if((d==null?void 0:d.layoutType)===t.PositionedObjectLayoutType.INLINE)try{e.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,t.throttle)(this._updateMultipleDrawingDocTransform.bind(this),50);(0,t.throttle)(this._nonInlineDrawingTransform.bind(this),50),this.disposeWithMe((0,t.toDisposable)(r.changing$.subscribe(e=>{let{objects:n,offsetX:r,offsetY:a}=e;if(n.size>1)i(n);else if(n.size===1){let e=this._transformerCache.values().next().value,{width:i,height:o,top:s,left:c,angle:l}=n.values().next().value;if(e&&i===e.width&&o===e.height&&s===e.top&&c===e.left&&l===e.angle)return;e&&(e.drawing.layoutType,t.PositionedObjectLayoutType.INLINE),e&&e.drawing.layoutType===t.PositionedObjectLayoutType.INLINE&&r!=null&&a!=null&&this._updateInlineDrawingAnchor(e.drawing,r,a)}}))),this.disposeWithMe((0,t.toDisposable)(r.changeEnd$.subscribe(e=>{let{objects:n,offsetX:r,offsetY:i}=e;for(let e of n.values()){let n=this._drawingManagerService.getDrawingOKey(e.oKey);if(n==null)continue;let r=this._transformerCache.get(n==null?void 0:n.drawingId);if((r==null?void 0:r.drawing.layoutType)===t.PositionedObjectLayoutType.INLINE)try{e.setOpacity(1)}catch{}}if(this._anchorShape&&this._anchorShape.hide(),n.size>1)this._updateMultipleDrawingDocTransform(n);else if(n.size===1){let e=this._transformerCache.values().next().value,a=n.values().next().value,{width:o,height:s,top:c,left:l,angle:u}=a;if(e&&o===e.width&&s===e.height&&c===e.top&&l===e.left&&u===e.angle)return;e&&e.drawing.layoutType===t.PositionedObjectLayoutType.INLINE?o!==e.width||s!==e.height||u!==e.angle?this._updateDrawingSize(e,a):r!=null&&i!=null&&this._moveInlineDrawing(e.drawing,r,i):e&&this._nonInlineDrawingTransform(e.drawing,a)}this._transformerCache.clear()})))}_updateMultipleDrawingDocTransform(e){if(e.size<1)return;let t=[],r,i;for(let n of e.values()){let{oKey:e,left:a,top:o,angle:s}=n,{width:c,height:l}=n,u=this._drawingManagerService.getDrawingOKey(e);if(u==null)continue;r==null&&(r=u.unitId),i==null&&(i=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&&r&&i&&this._commandService.executeCommand(n.UpdateDrawingDocTransformCommand.id,{unitId:r,subUnitId:i,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,n){var i,s;let c=this._renderManagerService.getRenderById(e.unitId),l=c==null?void 0:c.with(a.DocSkeletonManagerService).getSkeleton();if(c==null)return;let{mainComponent:u,scene:d}=c,f=u,p=d.getViewports()[0],{pageLayoutType:m=r.PageLayoutType.VERTICAL,pageMarginLeft:h,pageMarginTop:g}=f.getOffsetConfig(),_=null,v=!1,y=-1,b=``,x=this._getTransformCoordForDocumentOffset(f,p,t,n);if(x==null)return;let S=(i=this._renderManagerService.getRenderById(e.unitId))==null?void 0:i.with(o.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)return;let E={...w,isBack:v},{cursorList:D,contentBoxPointGroup:O}=new o.NodePositionConvertToCursor(T.document.getOffsetConfig(),l).getRangePointData(E,E),{startOffset:k}=(s=(0,o.getOneTextSelectionRange)(D))==null?{}:s;if(k!=null)return{offset:k,contentBoxPointGroup:O,segmentId:b,segmentPage:y}}_getDrawingAnchor(e,n){var i,s,c,l,u,d;let f=this._renderManagerService.getRenderById(e.unitId),p=f==null?void 0:f.with(a.DocSkeletonManagerService).getSkeleton(),m=p==null?void 0:p.getSkeletonData();if(m==null||f==null)return;let{pages:h,skeHeaders:g,skeFooters:_}=m,{mainComponent:v,scene:y}=f,b=v,x=y.getViewports()[0],{pageLayoutType:S=r.PageLayoutType.VERTICAL,pageMarginLeft:C,pageMarginTop:w,docsLeft:T,docsTop:E}=b.getOffsetConfig(),{left:D,top:O,angle:k}=n,{width:A,height:j}=n,{positionV:M,positionH:N}=e.docTransform,{width:P,height:F}=this._getPageContentSize(e);A=Math.min(A,P),j=Math.min(j,F);let I=null,L=``,R=-1,z={...e.docTransform,size:{width:A,height:j},angle:k},{x:B,y:ee}=y.getViewportScrollXY(x),V=this._getTransformCoordForDocumentOffset(b,x,D-B,O-ee);if(V==null)return;let H=(i=this._renderManagerService.getRenderById(e.unitId))==null?void 0:i.with(o.DocSelectionRenderService);if(H==null)return;let te=p==null?void 0:p.findNodeByCoord(V,S,C,w,{strict:!1,segmentId:H.getSegment(),segmentPage:H.getSegmentPage()});if(te){let{node:e,segmentPage:t,segmentId:n}=te;I=e,R=t,L=n}if(I==null)return;let U=(s=I.parent)==null?void 0:s.parent,W=U==null?void 0:U.parent,G=(c=W==null?void 0:W.lines.find(e=>e.paragraphIndex===(U==null?void 0:U.paragraphIndex)&&e.paragraphStart))==null?W==null?void 0:W.lines[0]:c,K=W==null||(l=W.parent)==null?void 0:l.parent;if(U==null||W==null||G==null||K==null)return;this._liquid.reset();let q=K.type===r.DocumentSkeletonPageType.CELL?We(e.unitId,K):null,ne=(u=q==null?void 0:q.hostPage)==null?K:u,re=ne.type;for(let e of h){let{headerId:t,footerId:n,pageHeight:i,pageWidth:a,marginLeft:o,marginBottom:s}=e,c=h.indexOf(e);if(R>-1&&c===R){switch(re){case r.DocumentSkeletonPageType.HEADER:{var J;let e=(J=g.get(t))==null?void 0:J.get(a);if(e)this._liquid.translatePagePadding({marginTop:e.marginTop,marginLeft:o});else throw Error(`header skeleton not found`);break}case r.DocumentSkeletonPageType.FOOTER:{var ie;let e=(ie=_.get(n))==null?void 0:ie.get(a);if(e)this._liquid.translatePagePadding({marginTop:i-s+e.marginTop,marginLeft:o});else throw Error(`footer skeleton not found`);break}default:this._liquid.translatePagePadding(e);break}break}if(this._liquid.translatePagePadding(e),e===ne)break;this._liquid.restorePagePadding(e),this._liquid.translatePage(e,S,C,w)}if(q&&this._liquid.translate(q.offset.left,q.offset.top),M.relativeFrom===t.ObjectRelativeFromV.LINE)I=U.divides[0].glyphGroup[0];else{var Y,X;I=(Y=(X=G.divides)==null||(X=X[0])==null||(X=X.glyphGroup)==null?void 0:X[0])==null?I:Y}switch(z.positionH={relativeFrom:N.relativeFrom,posOffset:D-this._liquid.x-T},N.relativeFrom){case t.ObjectRelativeFromH.MARGIN:z.positionH.posOffset=D-this._liquid.x-T-K.marginLeft;break;case t.ObjectRelativeFromH.COLUMN:z.positionH.posOffset=D-this._liquid.x-T-W.left;break}switch(z.positionV={relativeFrom:M.relativeFrom,posOffset:O-this._liquid.y-E},M.relativeFrom){case t.ObjectRelativeFromV.PAGE:z.positionV.posOffset=O-this._liquid.y-E-K.marginTop;break;case t.ObjectRelativeFromV.LINE:z.positionV.posOffset=O-this._liquid.y-E-U.top;break;case t.ObjectRelativeFromV.PARAGRAPH:z.positionV.posOffset=O-this._liquid.y-E-G.top;break}if(I==null)return;let ae=p==null?void 0:p.findPositionByGlyph(I,R),oe=this._getDocObject();if(ae==null||p==null||oe==null)return;let se={...ae,isBack:!1},{cursorList:ce}=new o.NodePositionConvertToCursor(oe.document.getOffsetConfig(),p).getRangePointData(se,se),{startOffset:le}=(d=(0,o.getOneTextSelectionRange)(ce))==null?{}:d;if(le!=null)return{offset:le,docTransform:z,segmentId:L,segmentPage:R}}_updateDrawingSize(e,t){let r=[],{drawing:i,width:a,height:o,angle:s}=e,{unitId:c,subUnitId:l}=i,{width:u,height:d,angle:f}=t,{width:p,height:m}=this._getPageContentSize(i);u=Math.min(p,u),d=Math.min(m,d),(u!==a||d!==o)&&r.push({drawingId:i.drawingId,key:`size`,value:{width:u,height:d}}),f!==s&&r.push({drawingId:i.drawingId,key:`angle`,value:f}),r.length>0&&c&&l&&this._commandService.executeCommand(n.UpdateDrawingDocTransformCommand.id,{unitId:c,subUnitId:l,drawings:r})}_moveInlineDrawing(e,t,n){let r=this._getInlineDrawingAnchor(e,t,n),{offset:i,segmentId:a,segmentPage:o}=r==null?{}:r;return this._commandService.executeCommand(Se.id,{unitId:e.unitId,subUnitId:e.unitId,drawing:e,offset:i,segmentId:a,segmentPage:o,needRefreshDrawings:i==null})}_limitDrawingInPage(e,n){let r=this._renderManagerService.getRenderById(e.unitId),{left:i,top:o,width:s,height:c,angle:l}=n,u=r==null?void 0:r.with(a.DocSkeletonManagerService).getSkeleton(),d=u==null?void 0:u.getSkeletonData(),{pages:f}=d==null?{}:d;if(d==null||r==null||f==null)return{left:i,top:o,width:s,height:c,angle:l};let{mainComponent:p}=r,{top:m,pageLayoutType:h,pageMarginLeft:g,pageMarginTop:_}=p,v=o;this._liquid.reset();for(let e of f){let{marginBottom:n,pageHeight:r}=e,i=f[f.indexOf(e)+1];i!=null&&(t.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(e,h,g,_))}return{left:i,top:v,width:s,height:c,angle:l}}_nonInlineDrawingTransform(e,n,r=!1){let i=e.isMultiTransform===t.BooleanNumber.TRUE?n:this._limitDrawingInPage(e,n);if(r&&i.top!==n.top)return;let a=this._getDrawingAnchor(e,i),{offset:o,docTransform:s,segmentId:c,segmentPage:l}=a==null?{}:a;return o==null||s==null?this._updateMultipleDrawingDocTransform(new Map([[e.drawingId,n]])):this._commandService.executeCommand(Ce.id,{unitId:e.unitId,subUnitId:e.unitId,drawing:e,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,i){let{documentTransform:a}=e.getOffsetConfig(),o=t.transformVector2SceneCoord(r.Vector2.FromArray([n,i]));if(o)return a.clone().invert().applyPoint(o)}_createOrUpdateInlineAnchor(e,n){let i=this._renderManagerService.getRenderById(e);if(i==null)return;let{mainComponent:a,scene:s}=i,{docsLeft:c,docsTop:l}=a.getOffsetConfig(),{left:u,top:d,height:f}=(0,o.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 r.Rect(`__InlineDrawingAnchor__`+(0,t.generateRandomId)(6),{left:p,top:m,height:f,strokeWidth:2,stroke:(0,r.getColor)(t.COLORS.darkgray,1),evented:!1});this._anchorShape=h,s.addObject(h,o.TEXT_RANGE_LAYER_INDEX)}_getDocObject(){return(0,o.getDocObject)(this._univerInstanceService,this._renderManagerService)}_getPageContentSize(e){let t=this._renderManagerService.getRenderById(e.unitId),n=t==null?void 0:t.with(a.DocSkeletonManagerService).getSkeleton(),r=n==null?void 0:n.getSkeletonData();if(r==null||t==null)return{width:500,height:500};let{pages:i}=r,o=null;for(let t of i){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}}};Ge=S([x(0,t.ICommandService),x(1,t.IUniverInstanceService),x(2,s.IDrawingManagerService),x(3,r.IRenderManagerService)],Ge);function Q(e){return e.getContextValue(t.FOCUSING_DOC)&&e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&e.getContextValue(t.FOCUSING_COMMON_DRAWINGS)}let Ke={id:j.id,description:`docs-drawing-ui.shortcut.drawing-move-down`,group:`4_drawing-view`,groupTitle:`docs-drawing-ui.shortcut.drawing-view`,binding:c.KeyCode.ARROW_DOWN,priority:100,preconditions:Q,staticParameters:{direction:t.Direction.DOWN}},qe={id:j.id,description:`docs-drawing-ui.shortcut.drawing-move-up`,group:`4_drawing-view`,groupTitle:`docs-drawing-ui.shortcut.drawing-view`,binding:c.KeyCode.ARROW_UP,priority:100,preconditions:Q,staticParameters:{direction:t.Direction.UP}},Je={id:j.id,description:`docs-drawing-ui.shortcut.drawing-move-left`,group:`4_drawing-view`,groupTitle:`docs-drawing-ui.shortcut.drawing-view`,binding:c.KeyCode.ARROW_LEFT,priority:100,preconditions:Q,staticParameters:{direction:t.Direction.LEFT}},Ye={id:j.id,description:`docs-drawing-ui.shortcut.drawing-move-right`,group:`4_drawing-view`,groupTitle:`docs-drawing-ui.shortcut.drawing-view`,binding:c.KeyCode.ARROW_RIGHT,priority:100,preconditions:Q,staticParameters:{direction:t.Direction.RIGHT}},Xe={id:p.id,description:`docs-drawing-ui.shortcut.drawing-delete`,group:`4_drawing-view`,groupTitle:`docs-drawing-ui.shortcut.drawing-view`,preconditions:Q,binding:c.KeyCode.DELETE,mac:c.KeyCode.BACKSPACE},Ze=class extends t.Disposable{constructor(e,t,n){super(),this._menuManagerService=e,this._commandService=t,this._shortcutService=n,this._init()}_initCustomComponents(){}_initMenus(){this._menuManagerService.mergeMenu(de)}_initCommands(){[w,k,A,be,xe,Se,Ce,P,M,F,m,h,j,p].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initShortcuts(){[Ke,qe,Je,Ye,Xe].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_init(){this._initCommands(),this._initCustomComponents(),this._initMenus(),this._initShortcuts()}};Ze=S([x(0,c.IMenuManagerService),x(1,t.ICommandService),x(2,c.IShortcutService)],Ze);var Qe=class{constructor(){y(this,`_adapters`,[])}registerAdapter(e){return this._adapters.push(e),(0,t.toDisposable)(()=>{let t=this._adapters.indexOf(e);t>=0&&this._adapters.splice(t,1)})}getItems(e){for(let t of this._adapters){let n=t.getItems(e);if(n)return[...n].sort((e,t)=>e.index-t.index)}return null}};let $e=class extends t.RxDisposable{constructor(e,t,n,r,i,a,o,s){super(),this._drawingManagerService=e,this._canvasPopManagerService=t,this._renderManagerService=n,this._univerInstanceService=r,this._contextService=i,this._drawingAdapterService=a,this._floatingToolbarAdapterService=o,this._commandService=s,y(this,`_initImagePopupMenu`,new Set),y(this,`_disposePopups`,[]),y(this,`_isDrawingPanelOpen`,!1),this._init()}_init(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===F.id&&(this._isDrawingPanelOpen=!0,this._clearPopups()),e.id===P.id){let t=e.params;this._isDrawingPanelOpen=(t==null?void 0:t.value)===`open`,this._isDrawingPanelOpen&&this._clearPopups()}})),this.disposeWithMe(this._drawingManagerService.focus$.subscribe(e=>{e.length===0&&(this._isDrawingPanelOpen=!1)})),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).pipe((0,l.takeUntil)(this.dispose$)).subscribe(e=>this._create(e))),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(t.UniverInstanceType.UNIVER_DOC).pipe((0,l.takeUntil)(this.dispose$)).subscribe(e=>this._dispose(e))),this._univerInstanceService.getAllUnitsForType(t.UniverInstanceType.UNIVER_DOC).forEach(e=>this._create(e))}_dispose(e){let t=e.getUnitId();this._clearPopups(),this._renderManagerService.removeRender(t)}_clearPopups(){this._disposePopups.forEach(e=>e.dispose()),this._disposePopups.length=0}_create(e){if(!e)return;let n=e.getUnitId();(0,t.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 u.ImageCropperObject)return!0;return!1}_popupMenuListener(e){var n;let r=(n=this._renderManagerService.getRenderById(e))==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 e=i.getSelectedObjectMap();if(a.forEach(e=>e.dispose()),a.length=0,this._isDrawingPanelOpen||e.size>1)return;let n=e.values().next().value;if(!n)return;let o=n.oKey,s=this._drawingManagerService.getDrawingOKey(o);if(!s||s.drawingType===t.DrawingTypeEnum.DRAWING_DOM||s.drawingType===t.DrawingTypeEnum.DRAWING_SHAPE)return;let{unitId:c,subUnitId:l,drawingId:d,drawingType:f}=s,p=f===t.DrawingTypeEnum.DRAWING_IMAGE,m=f===t.DrawingTypeEnum.DRAWING_CHART,h=this._canvasPopManagerService.attachPopupToObject(n,{componentKey:u.COMPONENT_IMAGE_POPUP_MENU,direction:p||m?`top-center`:`horizontal`,offset:p||m?[0,8]:[2,0],extraProps:{menuItems:this._getDrawingPopupMenuItems(c,l,d,f),variant:p?`doc-floating-toolbar`:m?`doc-chart-floating-toolbar`:void 0,unitId:c,subUnitId:l,drawingId:d}},c);a.push(this.disposeWithMe(h)),!this._drawingManagerService.getFocusDrawings().find(e=>e.unitId===c&&e.subUnitId===l&&e.drawingId===d)&&this._drawingManagerService.focusDrawing([{unitId:c,subUnitId:l,drawingId:d}])})),this.disposeWithMe(i.clearControl$.subscribe(()=>{a.forEach(e=>e.dispose()),a.length=0,this._contextService.setContextValue(t.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}))}_getDrawingPopupMenuItems(e,r,i,a){var o,s,c,l;let d=this._drawingManagerService.getDrawingByParam({unitId:e,subUnitId:r,drawingId:i}),f=d?this._floatingToolbarAdapterService.getItems({unitId:e,subUnitId:r,drawing:d}):null;if(f)return f;let p=d?this._drawingAdapterService.getEditDrawingCommandInfo({unitId:e,subUnitId:r,drawing:d}):null;return[{label:(o=p==null?void 0:p.label)==null?`docs-drawing-ui.image-popup.edit`:o,index:0,commandId:(s=p==null?void 0:p.commandId)==null?F.id:s,commandParams:(c=p==null?void 0:p.commandParams)==null?{unitId:e,subUnitId:r,drawingId:i}:c,disable:(l=p==null?void 0:p.disable)==null?a===t.DrawingTypeEnum.DRAWING_DOM:l,hideOnClick:!0,icon:`DrawingEditIcon`},{label:`docs-drawing-ui.image-popup.crop`,index:1,commandId:u.OpenImageCropOperation.id,commandParams:{unitId:e,subUnitId:r,drawingId:i},disable:a===t.DrawingTypeEnum.DRAWING_DOM,icon:`DrawingCropIcon`},{label:`docs-drawing-ui.image-popup.delete`,index:2,commandId:n.RemoveDocDrawingCommand.id,commandParams:{unitId:e,drawings:[{unitId:e,subUnitId:r,drawingId:i}]},disable:!1,icon:`DrawingDeleteIcon`},{label:`docs-drawing-ui.image-popup.reset`,index:3,commandId:u.ImageResetSizeOperation.id,commandParams:[{unitId:e,subUnitId:r,drawingId:i}],disable:!0}]}};$e=S([x(0,s.IDrawingManagerService),x(1,(0,t.Inject)(o.DocCanvasPopManagerService)),x(2,r.IRenderManagerService),x(3,t.IUniverInstanceService),x(4,t.IContextService),x(5,n.IDocDrawingAdapterService),x(6,(0,t.Inject)(Qe)),x(7,t.ICommandService)],$e);let $=class extends t.Plugin{constructor(e=me,n,r,i){super(),this._config=e,this._injector=n,this._renderManagerSrv=r,this._configService=i;let{...a}=(0,t.merge)({},me,this._config);this._configService.setConfig(`docs-drawing-ui.config`,a)}onStarting(){[[Z],[Ze],[$e],[Ge],[je],[b],[Qe],[V],[Pe]].forEach(e=>this._injector.add(e)),this._injector.get(Z)}onReady(){[[C],[Ue]].forEach(e=>this._renderManagerSrv.registerRenderModule(t.UniverInstanceType.UNIVER_DOC,e)),this._injector.get(je),this._injector.get(Ze),this._injector.get(Ge),this._injector.get(Pe)}onRendered(){this._injector.get($e),this._injector.get(V)}};y($,`type`,t.UniverInstanceType.UNIVER_DOC),y($,`pluginName`,`DOC_DRAWING_UI_PLUGIN`),y($,`packageName`,fe),y($,`version`,pe),$=S([(0,t.DependentOn)(u.UniverDrawingUIPlugin,s.UniverDrawingPlugin,n.UniverDocsDrawingPlugin,c.UniverUIPlugin),x(1,(0,t.Inject)(t.Injector)),x(2,r.IRenderManagerService),x(3,t.IConfigService)],$),e.ClearDocDrawingTransformerOperation=M,e.DOCS_IMAGE_MENU_ID=K,e.DOCS_SHAPE_BELOW_MENU_ID=X,e.DOCS_SHAPE_MENU_ID=Y,e.DeleteDocDrawingsCommand=p,e.DocDrawingFloatingToolbarAdapterService=Qe,e.DocDrawingPosition=_e,e.DocDrawingTextWrap=we,Object.defineProperty(e,"DocFloatDomController",{enumerable:!0,get:function(){return V}}),e.DocsDrawingUIMenuSchema=de,e.EditDocDrawingOperation=F,e.GroupDocDrawingCommand=m,e.InsertDocEllipseShapeCommand=A,e.InsertDocImageCommand=w,e.InsertDocRectangleShapeCommand=k,e.MoveDocDrawingsCommand=j,e.SidebarDocDrawingOperation=P,e.UngroupDocDrawingCommand=h,Object.defineProperty(e,"UniverDocsDrawingUIPlugin",{enumerable:!0,get:function(){return $}})});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/docs-drawing"),require("@univerjs/engine-render"),require("@univerjs/design"),require("@univerjs/docs"),require("@univerjs/docs-ui"),require("@univerjs/drawing"),require("@univerjs/ui"),require("rxjs"),require("@univerjs/drawing-ui"),require("react"),require("react/jsx-runtime")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/docs-drawing`,`@univerjs/engine-render`,`@univerjs/design`,`@univerjs/docs`,`@univerjs/docs-ui`,`@univerjs/drawing`,`@univerjs/ui`,`rxjs`,`@univerjs/drawing-ui`,`react`,`react/jsx-runtime`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverDocsDrawingUi={},e.UniverCore,e.UniverDocsDrawing,e.UniverEngineRender,e.UniverDesign,e.UniverDocs,e.UniverDocsUi,e.UniverDrawing,e.UniverUi,e.rxjs,e.UniverDrawingUi,e.React,e.React))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let p={id:`doc.command.delete-drawing`,type:t.CommandType.COMMAND,handler:e=>{let r=e.get(t.ICommandService),i=e.get(n.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(n.RemoveDocDrawingCommand.id,{unitId:a,drawings:o})}},m={id:`doc.command.group-doc-image`,type:t.CommandType.COMMAND,handler:(e,t)=>!1},h={id:`doc.command.ungroup-doc-image`,type:t.CommandType.COMMAND,handler:(e,t)=>{let r=e.get(n.IDocDrawingService);if(!t)return!1;let i=[];t.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(t);return!1}};function g(e){"@babel/helpers - typeof";return g=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},g(e)}function _(e,t){if(g(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(g(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function v(e){var t=_(e,`string`);return g(t)==`symbol`?t:t+``}function y(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var b=class{constructor(){y(this,`_refreshDrawings$`,new l.BehaviorSubject(null)),y(this,`refreshDrawings$`,this._refreshDrawings$.asObservable())}refreshDrawings(e){this._refreshDrawings$.next(e)}};function x(e,t){return function(n,r){t(n,r,e)}}function S(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 C=class extends t.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=this._getCurrentImageInsertPosition(),t=await this._fileOpenerService.openFile({multiple:!0,accept:s.DRAWING_IMAGE_ALLOW_IMAGE_LIST.map(e=>`.${e.replace(`image/`,``)}`).join(`,`)}),n=t.length;return n>s.DRAWING_IMAGE_COUNT_LIMIT?(this._messageService.show({type:i.MessageType.Error,content:this._localeService.t(`docs-drawing-ui.update-status.exceedMaxCount`,String(s.DRAWING_IMAGE_COUNT_LIMIT))}),!1):n===0?!1:(await this._insertFloatImages(t,e),!0)}async _insertFloatImages(e,r){let o=[];try{o=await Promise.all(e.map(e=>this._imageIoService.saveImage(e)))}catch(e){let n=e.message,r=``;switch(n){case t.ImageUploadStatusType.ERROR_EXCEED_SIZE:r=this._localeService.t(`docs-drawing-ui.update-status.exceedMaxSize`,String((0,s.getDrawingImageAllowSize)()/(1024*1024)));break;case t.ImageUploadStatusType.ERROR_IMAGE_TYPE:r=this._localeService.t(`docs-drawing-ui.update-status.invalidImageType`);break;case t.ImageUploadStatusType.ERROR_IMAGE:r=this._localeService.t(`docs-drawing-ui.update-status.invalidImage`);break;default:break}this._messageService.show({type:i.MessageType.Error,content:r})}if(o.length===0)return;let{unitId:c}=this._context,l=[];for(let e of o){if(e==null)continue;let{imageId:n,imageSourceType:i,source:o,base64Cache:u}=e,{width:d,height:f,image:p}=await(0,s.getImageSize)(u||``);this._imageIoService.addImageSourceCache(n,i,p);let m=1;if(d>s.DRAWING_IMAGE_WIDTH_LIMIT||f>s.DRAWING_IMAGE_HEIGHT_LIMIT){let e=s.DRAWING_IMAGE_WIDTH_LIMIT/d,t=s.DRAWING_IMAGE_HEIGHT_LIMIT/f;m=Math.min(e,t)}let h=r==null?this._getCurrentImageInsertPosition():r,g=this._getImagePosition(d*m,f*m,h);if(g==null)return;let _=(0,a.docDrawingPositionToTransform)(g);_!=null&&h!=null&&(_.top=h.top);let v={unitId:c,subUnitId:c,drawingId:n,drawingType:t.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:i,source:o,transform:_,docTransform:g,behindDoc:t.BooleanNumber.FALSE,title:``,description:``,layoutType:t.PositionedObjectLayoutType.INLINE,wrapText:t.WrapTextType.BOTH_SIDES,distB:0,distL:0,distR:0,distT:0};this._isInsertInHeaderFooter()&&(v.isMultiTransform=t.BooleanNumber.TRUE,v.transforms=v.transform?[v.transform]:null),l.push(v)}this._commandService.executeCommand(n.InsertDocDrawingCommand.id,{unitId:c,drawings:l})}_isInsertInHeaderFooter(){var e;let{unitId:t}=this._context,n=(e=this._renderManagerSrv.getRenderById(t))==null?void 0:e.with(a.DocSkeletonManagerService).getViewModel(),i=n==null?void 0:n.getEditArea();return i===r.DocumentEditArea.HEADER||i===r.DocumentEditArea.FOOTER}_getImagePosition(e,t,n){var r;return(0,a.buildDocTransform)(e,t,{left:((r=n==null?this._getCurrentImageInsertPosition():n)==null?{left:0,top:0}:r).left})}_getCurrentImageInsertPosition(){var e;let t=(e=this._docSelectionRenderService.getActiveTextRange())==null?void 0:e.getAbsolutePosition();return t==null?null:{left:t.left,top:t.top}}_updateOrderListener(){this.disposeWithMe(this._drawingManagerService.featurePluginOrderUpdate$.subscribe(e=>{let{unitId:t,subUnitId:r,drawingIds:i,arrangeType:a}=e;this._commandService.executeCommand(n.SetDocDrawingArrangeCommand.id,{unitId:t,subUnitId:r,drawingIds:i,arrangeType:a})}))}_groupDrawingListener(){this.disposeWithMe(this._drawingManagerService.featurePluginGroupUpdate$.subscribe(e=>{this._commandService.executeCommand(m.id,e)})),this.disposeWithMe(this._drawingManagerService.featurePluginUngroupUpdate$.subscribe(e=>{this._commandService.executeCommand(h.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,l.debounceTime)(30)).subscribe(e=>{this._docSelectionManagerService.refreshSelection()}));else throw Error(`transformer is not init`)}_focusDrawingListener(){this.disposeWithMe(this._drawingManagerService.focus$.subscribe(e=>{var n;let{transformer:r,docsLeft:i,docsTop:a}=(n=this._getCurrentSceneAndTransformer())==null?{}:n;if(e==null||e.length===0)this._contextService.setContextValue(t.FOCUSING_COMMON_DRAWINGS,!1),this._docDrawingService.focusDrawing([]),r&&r.resetProps({zeroTop:0,zeroLeft:0});else{this._contextService.setContextValue(t.FOCUSING_COMMON_DRAWINGS,!0),this._docDrawingService.focusDrawing(e),this._setDrawingSelections(e);let n=this._docSelectionRenderService.getSegment(),o=this._findSegmentIdByDrawingId(e[0].drawingId);n!==o&&this._docSelectionRenderService.setSegment(o),r&&r.resetProps({zeroTop:a,zeroLeft:i})}this._updateDrawingsEditStatus()}))}_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 e;if(!this._context)return;let{unit:n,scene:i,unitId:o}=this._context,c=(e=this._renderManagerSrv.getRenderById(o))==null?void 0:e.with(a.DocSkeletonManagerService).getViewModel();if(c==null||n==null)return;let{drawings:l={}}=n.getSnapshot(),u=c.getEditArea()===r.DocumentEditArea.BODY,d=this._docSelectionRenderService.isFocusing;for(let e of Object.keys(l)){let n=l[e],r=(0,s.getDrawingShapeKeyByDrawingSearch)({unitId:o,drawingId:n.drawingId,subUnitId:o}),a=i.fuzzyMathObjects(r,!0);if(a.length)for(let e of a){i.detachTransformerFrom(e);try{e.setOpacity(d?.5:1)}catch{}if(d&&(u&&n.isMultiTransform!==t.BooleanNumber.TRUE||!u&&n.isMultiTransform===t.BooleanNumber.TRUE)){n.allowTransform!==!1&&i.attachTransformerTo(e);try{e.setOpacity(1)}catch{}}}}}_editAreaChangeListener(){var e;let{unitId:t}=this._context,n=(e=this._renderManagerSrv.getRenderById(t))==null?void 0:e.with(a.DocSkeletonManagerService).getViewModel();n!=null&&(this._updateDrawingsEditStatus(),this.disposeWithMe(n.editAreaChange$.subscribe(()=>{this._updateDrawingsEditStatus()})),this.disposeWithMe(this._docSelectionRenderService.onFocus$.subscribe(()=>{this._updateDrawingsEditStatus()})),this.disposeWithMe(this._docSelectionRenderService.onBlur$.subscribe(()=>{this._updateDrawingsEditStatus()})),this.disposeWithMe(this._docRefreshDrawingsService.refreshDrawings$.subscribe(e=>{e!=null&&queueMicrotask(()=>{this._updateDrawingsEditStatus()})})),this.disposeWithMe(this._commandService.onCommandExecuted(async e=>{if(e.id!==a.RichTextEditingMutation.id)return;let t=e.params;t!=null&&t.unitId&&t.unitId!==this._context.unitId||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)}};C=S([x(1,t.ICommandService),x(2,(0,t.Inject)(a.DocSelectionManagerService)),x(3,r.IRenderManagerService),x(4,t.IImageIoService),x(5,n.IDocDrawingService),x(6,s.IDrawingManagerService),x(7,t.IContextService),x(8,c.IMessageService),x(9,(0,t.Inject)(t.LocaleService)),x(10,(0,t.Inject)(o.DocSelectionRenderService)),x(11,(0,t.Inject)(b)),x(12,c.ILocalFileService)],C);let w={id:`doc.command.insert-float-image`,type:t.CommandType.COMMAND,handler:e=>{var n,i;let a=e.get(t.IUniverInstanceService),o=e.get(r.IRenderManagerService);return(n=(i=(0,r.getCurrentTypeOfRenderer)(t.UniverInstanceType.UNIVER_DOC,a,o))==null?void 0:i.with(C).insertDocImage())==null?!1:n}},T=`#3A60F7`,E=`#1D3EA6`;function D(e,t,n){let r=`<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${n}" viewBox="0 0 ${t} ${n}" fill="none">${e===`ellipse`?`<ellipse cx="${t/2}" cy="${n/2}" rx="${(t-8)/2}" ry="${(n-8)/2}" fill="${T}" stroke="${E}" stroke-width="4" />`:`<rect x="4" y="4" width="${t-8}" height="${n-8}" rx="14" fill="${T}" stroke="${E}" stroke-width="4" />`}</svg>`;return`data:image/svg+xml;utf8,${encodeURIComponent(r)}`}function O(e,r,i,o){return{id:o,type:t.CommandType.COMMAND,handler:async o=>{var s;let c=o.get(t.ICommandService),l=(s=o.get(t.IUniverInstanceService).getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC))==null?void 0:s.getUnitId();if(!l)return!1;let u=(0,a.buildDocTransform)(r,i);return c.executeCommand(n.InsertDocDrawingCommand.id,{unitId:l,drawings:[{unitId:l,subUnitId:l,drawingId:(0,t.generateRandomId)(6),drawingType:t.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:t.ImageSourceType.BASE64,source:D(e,r,i),transform:(0,a.docDrawingPositionToTransform)(u),docTransform:u,behindDoc:t.BooleanNumber.FALSE,title:``,description:``,layoutType:t.PositionedObjectLayoutType.INLINE,wrapText:t.WrapTextType.BOTH_SIDES,distB:0,distL:0,distR:0,distT:0}]})}}}let k=O(`rectangle`,144,96,`doc.command.insert-float-shape.rectangle`),A=O(`ellipse`,112,112,`doc.command.insert-float-shape.ellipse`),j={id:`doc.command.move-drawing`,type:t.CommandType.COMMAND,handler:(e,i)=>{let a=e.get(t.ICommandService),o=e.get(n.IDocDrawingService),s=e.get(t.IUniverInstanceService),c=e.get(r.IRenderManagerService),{direction:l}=i,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.getUnit(d,t.UniverInstanceType.UNIVER_DOC),g=u.map(e=>{var n;let{drawingId:r}=e,i=h==null||(n=h.getSnapshot().drawings)==null?void 0:n[r];if(i==null||i.layoutType===t.PositionedObjectLayoutType.INLINE)return null;let{positionH:a,positionV:o}=i.docTransform,s={...a},c={...o};if(l===t.Direction.UP){var u;c.posOffset=((u=c.posOffset)==null?0:u)-2}else if(l===t.Direction.DOWN){var d;c.posOffset=((d=c.posOffset)==null?0:d)+2}else if(l===t.Direction.LEFT){var f;s.posOffset=((f=s.posOffset)==null?0:f)-2}else if(l===t.Direction.RIGHT){var p;s.posOffset=((p=s.posOffset)==null?0:p)+2}return{drawingId:r,key:l===t.Direction.UP||l===t.Direction.DOWN?`positionV`:`positionH`,value:l===t.Direction.UP||l===t.Direction.DOWN?c:s}}).filter(e=>e!=null);if(g.length===0)return!1;let _=a.syncExecuteCommand(n.UpdateDrawingDocTransformCommand.id,{unitId:d,subUnitId:d,drawings:g});return m.refreshControls(),!!_}},M={id:`doc.operation.clear-drawing-transformer`,type:t.CommandType.MUTATION,handler:(e,t)=>{let n=e.get(r.IRenderManagerService);return t.forEach(e=>{var t;(t=n.getRenderById(e))==null||(t=t.scene.getTransformer())==null||t.debounceRefreshControls()}),!0}},N=`COMPONENT_DOC_DRAWING_PANEL`,P={id:`sidebar.operation.doc-image`,type:t.CommandType.COMMAND,handler:async(e,n)=>{let r=e.get(c.ISidebarService),i=e.get(t.LocaleService),a=e.get(s.IDrawingManagerService);switch(n.value){case`open`:r.open({header:{title:i.t(`docs-drawing-ui.panel.title`)},children:{label:N},onClose:()=>{a.focusDrawing(null)},width:360});break;default:r.close();break}return!0}},F={id:`doc.operation.edit-doc-image`,type:t.CommandType.OPERATION,handler:(e,n)=>{let r=e.get(s.IDrawingManagerService),i=e.get(t.ICommandService);return n==null?!1:(r.focusDrawing([n]),i.executeCommand(P.id,{value:`open`}),!0)}};function I(e,t,n=1,r=0){let{top:i,left:a,bottom:s,right:c}=e,l=c-a,u=s-i,{viewportScrollX:d,viewportScrollY:f}=t.getViewport(o.VIEWPORT_KEY.VIEW_MAIN),{scaleX:p,scaleY:m}=t.getAncestorScale();return{startX:(a-d)*p,startY:(i-f)*m,endX:(a+l-d)*p,endY:(i+u-f)*m,width:l*p,height:u*m,rotate:r,absolute:{left:!1,top:!1},opacity:n==null?1:n}}function L(e,t){let{top:n,left:r,width:i,height:a,angle:o,opacity:s}=e;return I({top:n,left:r,bottom:n+a,right:r+i},t.scene,s,o)}function R(e,t){let n=z(t.customBlockRenderViewport);return n?{...e,customBlockRenderViewport:n}:e}function z(e){let t={};return ee(e==null?void 0:e.bleedLeft)&&(t.bleedLeft=e.bleedLeft),B(e==null?void 0:e.bleedWidth)&&(t.bleedWidth=e.bleedWidth),B(e==null?void 0:e.contentHeight)&&(t.contentHeight=e.contentHeight),B(e==null?void 0:e.contentWidth)&&(t.contentWidth=e.contentWidth),B(e==null?void 0:e.height)&&(t.height=e.height),B(e==null?void 0:e.viewportHeight)&&(t.viewportHeight=e.viewportHeight),Object.keys(t).length?t:void 0}function B(e){return typeof e==`number`&&Number.isFinite(e)&&e>0}function ee(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0}let V=class extends t.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,y(this,`_domLayerInfoMap`,new Map),this._initialize()}dispose(){super.dispose()}_initialize(){this._drawingAddRemoveListener(),this._drawingRuntimePropsListener(),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(e){e.forEach(async e=>{let{unitId:n}=e;if(!this._univerInstanceService.getUnit(n,t.UniverInstanceType.UNIVER_DOC))return;let r=this._getSceneAndTransformerByDrawingSearch(n);if(r==null)return;let i=this._drawingManagerService.getDrawingByParam(e);if(i==null)return;let a=await this._drawingRenderService.renderFloatDom(i,r.scene);if(!(a==null||a.length===0))for(let e of a){var s;let a=i,c=z(a.customBlockRenderViewport),u=U(a);H(e,a,c,void 0,u);let d=c||u?W(e):void 0;this._addHoverForRect(e);let f=new t.DisposableCollection,p=new l.BehaviorSubject(L(e,r.renderUnit)),m=r.canvas,h=i.data,g={dispose:f,preserveRuntimeGeometry:u,rect:e,runtimeTransform:d,runtimeViewport:c,position$:p,unitId:n};this._canvasFloatDomService.addFloatDom({position$:p,id:i.drawingId,componentKey:i.componentKey,eventPassThrough:u?!1:void 0,preserveOnFocusChange:u,onPointerDown:e=>{m.dispatchEvent(new PointerEvent(e.type,e))},onPointerMove:e=>{m.dispatchEvent(new PointerEvent(e.type,e))},onPointerUp:e=>{m.dispatchEvent(new PointerEvent(e.type,e))},onWheel:e=>{m.dispatchEvent(new WheelEvent(e.type,e))},data:h,props:R(void 0,i),unitId:n});let _=e.onTransformChange$.subscribeEvent(()=>{let t=L(e,r.renderUnit);p.next(t)}),v=G((s=r.scene.getViewport(o.VIEWPORT_KEY.VIEW_MAIN))==null?void 0:s.onScrollAfter$,()=>p.next(L(e,r.renderUnit)));f.add(()=>{this._canvasFloatDomService.removeFloatDom(i.drawingId)}),_&&f.add(_),v&&f.add(v),this._domLayerInfoMap.set(i.drawingId,g)}})}_drawingRuntimePropsListener(){this.disposeWithMe(this._drawingManagerService.refreshTransform$.subscribe(e=>{e.forEach(e=>{var t;let n=this._domLayerInfoMap.get(e.drawingId);if(!n)return;let r=e,i=z(r.customBlockRenderViewport);if(i&&(n.runtimeViewport=i),H(n.rect,r,n.runtimeViewport,n.runtimeTransform,n.preserveRuntimeGeometry)){(i||n.preserveRuntimeGeometry)&&(n.runtimeTransform=W(n.rect));let e=this._getSceneAndTransformerByDrawingSearch(n.unitId);e&&n.position$.next(L(n.rect,e.renderUnit))}let a=(t=this._canvasFloatDomService.domLayers.find(([t])=>t===e.drawingId))==null?void 0:t[1].props;this._canvasFloatDomService.updateFloatDom(e.drawingId,{props:R(a,e)})})}))}_addHoverForRect(e){this.disposeWithMe((0,t.toDisposable)(e.onPointerEnter$.subscribeEvent(()=>{e.cursor=r.CURSOR_TYPE.GRAB}))),this.disposeWithMe((0,t.toDisposable)(e.onPointerLeave$.subscribeEvent(()=>{e.cursor=r.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 e=e=>{let t=this._getSceneAndTransformerByDrawingSearch(e);t&&this._domLayerInfoMap.forEach(n=>{if(n.unitId!==e)return;let r=L(n.rect,t.renderUnit);n.position$.next(r)})};this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).pipe((0,l.map)(e=>{if(!e)return null;let t=e.getUnitId(),n=this._renderManagerService.getRenderById(t);return n?{render:n,unitId:t}:null}),(0,l.switchMap)(e=>e?(0,t.fromEventSubject)(e.render.scene.getViewport(o.VIEWPORT_KEY.VIEW_MAIN).onScrollAfter$).pipe((0,l.map)(()=>({unitId:e.unitId}))):(0,l.of)(null))).subscribe(t=>{if(!t)return;let{unitId:n}=t;e(n)})),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===o.SetDocZoomRatioOperation.id){let{unitId:n}=t.params;e(n)}}))}insertFloatDom(e,r){var i,o,s;let c=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(!c)return!1;let l=this._getSceneAndTransformerByDrawingSearch(c.getUnitId());if(!l)return!1;let u=(i=l.renderUnit.with(a.DocSkeletonManagerService).getSkeleton().getSkeletonData())==null?void 0:i.pages[0];if(!u)return!1;let{pageWidth:d,marginLeft:f,marginRight:p}=u,m=d-f-p,h={size:{width:(o=r.width)==null?m:o,height:r.height},positionH:{relativeFrom:t.ObjectRelativeFromH.PAGE,posOffset:0},positionV:{relativeFrom:t.ObjectRelativeFromV.PAGE,posOffset:0},angle:0},g=(s=r.drawingId)==null?(0,t.generateRandomId)():s,_={unitId:c.getUnitId(),drawings:[{drawingId:g,drawingType:t.DrawingTypeEnum.DRAWING_DOM,subUnitId:c.getUnitId(),unitId:c.getUnitId(),...e,title:``,description:``,docTransform:h,layoutType:t.PositionedObjectLayoutType.INLINE,transform:(0,a.docDrawingPositionToTransform)(h)}]};return this._commandService.syncExecuteCommand(n.InsertDocDrawingCommand.id,_),g}};V=S([x(0,r.IRenderManagerService),x(1,s.IDrawingManagerService),x(2,(0,t.Inject)(u.DrawingRenderService)),x(3,(0,t.Inject)(c.CanvasFloatDomService)),x(4,t.IUniverInstanceService),x(5,t.ICommandService)],V);function H(e,t,n,r,i){let a=te(t,e,n,r,i);return a?(e.transformByState(a),!0):!1}function te(e,t,n,r,i){var a,o,s,c;let l=(a=e.transform)==null?(o=e.transforms)==null?void 0:o[0]:a,u=(s=e.customBlockRenderViewport)==null?n:s;if(!e.customBlockRenderViewport&&i&&r&&l){var d,f;return{...l,width:(d=r.width)==null?l.width:d,height:(f=r.height)==null?l.height:f}}if(!l){var p;let e=(p=u==null?void 0:u.height)==null?u==null?void 0:u.contentHeight:p;return B(e)?{left:t.left,top:t.top,width:t.width,height:e,angle:t.angle}:void 0}let m=(c=u==null?void 0:u.height)==null?u==null?void 0:u.contentHeight:c;return B(m)?{...l,height:m}:l}function U(e){let t=e.data;if(!t||typeof t!=`object`)return!1;let n=t;return n.version===1&&typeof n.embedId==`string`&&typeof n.hostAnchorId==`string`}function W(e){return{angle:e.angle,height:e.height,left:e.left,top:e.top,width:e.width}}function G(e,n){if(!e||typeof e!=`object`)return;let r=e;if(typeof r.subscribeEvent==`function`)return r.subscribeEvent(n);let i=e;if(typeof i.subscribe==`function`){let e=i.subscribe(n);return(0,t.toDisposable)(()=>{var t;return(t=e.unsubscribe)==null?void 0:t.call(e)})}}let K=`doc.menu.image`,q=w.id,ne=e=>{let n=e.get(a.DocSelectionManagerService),r=e.get(t.IUniverInstanceService);return new l.Observable(e=>{let i=n.textSelection$.subscribe(()=>{let i=n.getActiveTextRange();if(i){var a;let{segmentId:n,startOffset:o,endOffset:s}=i,c=r.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC),l=c==null||(a=c.getSelfOrHeaderFooterModel(n))==null||(a=a.getBody())==null?void 0:a.tables;if(l&&l.length&&l.some(e=>{let{startIndex:t,endIndex:n}=e;return o>=t&&o<n||s>=t&&s<n})){e.next(!0);return}}else{e.next(!0);return}e.next(!1)});return()=>i.unsubscribe()})};function re(e){return{id:K,type:c.MenuItemType.SUBITEMS,icon:`AddImageIcon`,tooltip:`docs-drawing-ui.title`,disabled$:ne(e),hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function J(e){return{id:q,title:`docs-drawing-ui.upload.float`,type:c.MenuItemType.BUTTON,icon:`AddImageIcon`,hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function ie(e){return{id:`${q}.below`,commandId:q,title:`docs-drawing-ui.upload.float`,type:c.MenuItemType.BUTTON,icon:`AddImageIcon`,params:{paragraphMenuPlacement:`below`},hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let Y=`doc.command.menu-insert-shape`,X=`doc.command.menu-insert-shape.below`;function ae(e){return{id:Y,type:c.MenuItemType.SUBITEMS,icon:`ShapeIcon`,title:`docs-drawing-ui.shape.insert.title`,tooltip:`docs-drawing-ui.shape.insert.title`,hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function oe(e){return{id:X,type:c.MenuItemType.SUBITEMS,icon:`ShapeIcon`,title:`docs-drawing-ui.shape.insert.title`,tooltip:`docs-drawing-ui.shape.insert.title`,hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function se(e){return{id:k.id,title:`docs-drawing-ui.shape.insert.rectangle`,type:c.MenuItemType.BUTTON,hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function ce(e){return{id:A.id,title:`docs-drawing-ui.shape.insert.ellipse`,type:c.MenuItemType.BUTTON,hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function le(e){return{id:`${k.id}.below`,commandId:k.id,title:`docs-drawing-ui.shape.insert.rectangle`,type:c.MenuItemType.BUTTON,params:{paragraphMenuPlacement:`below`},hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function ue(e){return{id:`${A.id}.below`,commandId:A.id,title:`docs-drawing-ui.shape.insert.ellipse`,type:c.MenuItemType.BUTTON,params:{paragraphMenuPlacement:`below`},hidden$:(0,c.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let de={[c.RibbonInsertGroup.MEDIA]:{[K]:{order:0,menuItemFactory:re,[q]:{order:0,menuItemFactory:J}}},[c.ContextMenuPosition.PARAGRAPH]:{[c.ContextMenuGroup.LAYOUT]:{[o.INSERT_BELLOW_MENU_ID]:{[q]:{order:5,menuItemFactory:J}}},[o.EMPTY_PARAGRAPH_MENU_ID]:{[c.ContextMenuGroup.LAYOUT]:{[q]:{order:5,menuItemFactory:J}}},[o.DOC_CONTENT_INSERT_MENU_ID]:{[c.ContextMenuGroup.LAYOUT]:{[q]:{order:5,menuItemFactory:J}}},[o.DOC_PARAGRAPH_T_INSERT_MENU_ID]:{insert:{[q]:{order:1,menuItemFactory:J},[Y]:{order:2,menuItemFactory:ae}}},[o.DOC_PARAGRAPH_T_INSERT_BELOW_MENU_ID]:{insert:{[`${q}.below`]:{order:1,menuItemFactory:ie},[X]:{order:2,menuItemFactory:oe}}},[Y]:{shapes:{order:0,[k.id]:{order:0,menuItemFactory:se},[A.id]:{order:1,menuItemFactory:ce}}},[X]:{shapes:{order:0,[`${k.id}.below`]:{order:0,menuItemFactory:le},[`${A.id}.below`]:{order:1,menuItemFactory:ue}}}}};var fe=`@univerjs/docs-drawing-ui`,pe=`1.0.0-alpha.6`;let me={},he=-1e3,ge=1e3,_e=e=>{var t;let n=(0,c.useDependency)(r.IRenderManagerService),i=e.drawings[0],a=i?(t=n.getRenderById(i.unitId))==null?void 0:t.scene:void 0;return i&&a?(0,f.jsx)(ve,{...e}):null};function ve(e){let l=(0,c.useDependency)(t.ICommandService),u=(0,c.useDependency)(t.LocaleService),p=(0,c.useDependency)(s.IDrawingManagerService),m=(0,c.useDependency)(r.IRenderManagerService),h=(0,c.useDependency)(t.IUniverInstanceService),{drawings:g}=e,{unitId:_}=g[0],v=h.getUnit(_,t.UniverInstanceType.UNIVER_DOC),y=v==null?void 0:v.getSnapshot().documentStyle.documentFlavor,b=m.getRenderById(_).scene.getTransformerByCreate(),x=[{label:u.t(`docs-drawing-ui.image-position.column`),value:String(t.ObjectRelativeFromH.COLUMN)},{label:u.t(`docs-drawing-ui.image-position.page`),value:String(t.ObjectRelativeFromH.PAGE)},{label:u.t(`docs-drawing-ui.image-position.margin`),value:String(t.ObjectRelativeFromH.MARGIN)}],S=[{label:u.t(`docs-drawing-ui.image-position.line`),value:String(t.ObjectRelativeFromV.LINE),disabled:y===t.DocumentFlavor.MODERN},{label:u.t(`docs-drawing-ui.image-position.page`),value:String(t.ObjectRelativeFromV.PAGE),disabled:y===t.DocumentFlavor.MODERN},{label:u.t(`docs-drawing-ui.image-position.margin`),value:String(t.ObjectRelativeFromV.MARGIN),disabled:y===t.DocumentFlavor.MODERN},{label:u.t(`docs-drawing-ui.image-position.paragraph`),value:String(t.ObjectRelativeFromV.PARAGRAPH)}],[C,w]=(0,d.useState)(!0),[T,E]=(0,d.useState)({relativeFrom:t.ObjectRelativeFromH.PAGE,posOffset:0}),[D,O]=(0,d.useState)({relativeFrom:t.ObjectRelativeFromV.PAGE,posOffset:0}),[k,A]=(0,d.useState)(!0),[j,M]=(0,d.useState)(!0);function N(e,t){var r;e===`positionH`?E(t):O(t);let i=p.getFocusDrawings();if(i.length===0)return;let a=i.map(e=>({unitId:e.unitId,subUnitId:e.subUnitId,drawingId:e.drawingId}));l.executeCommand(n.UpdateDrawingDocTransformCommand.id,{unitId:i[0].unitId,subUnitId:i[0].unitId,drawings:a.map(n=>({drawingId:n.drawingId,key:e,value:t}))});let s=(r=m.getRenderById(_))==null?void 0:r.with(o.DocSelectionRenderService);s&&s.blur(),b.refreshControls()}function P(e){var n;let r=T.relativeFrom,i=T.posOffset,o=Number(e);if(r===o)return;let s=p.getFocusDrawings();if(s.length===0)return;let c=s[0].drawingId,l=s[0].unitId,u=null,d=0,f=(n=m.getRenderById(l))==null?void 0:n.with(a.DocSkeletonManagerService).getSkeleton(),h=f==null?void 0:f.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;r===t.ObjectRelativeFromH.COLUMN?x-=u.columnLeft:r===t.ObjectRelativeFromH.MARGIN&&(x-=d),o===t.ObjectRelativeFromH.COLUMN?x+=u.columnLeft:o===t.ObjectRelativeFromH.MARGIN?x+=d:t.ObjectRelativeFromH.PAGE,N(`positionH`,{relativeFrom:o,posOffset:(i==null?0:i)-x})}function F(e){var n,r,i,s,c;let l=D.relativeFrom,u=D.posOffset,d=Number(e);if(l===d)return;let f=p.getFocusDrawings();if(f.length===0)return;let{drawingId:g,unitId:_}=f[0],v=h.getUnit(_,t.UniverInstanceType.UNIVER_DOC),y=(n=m.getRenderUnitById(_))==null?void 0:n.with(a.DocSkeletonManagerService).getSkeleton(),b=(r=m.getRenderUnitById(_))==null?void 0:r.with(o.DocSelectionRenderService),x=b==null?void 0:b.getSegment(),S=b==null?void 0:b.getSegmentPage(),C=v==null||(i=v.getSelfOrHeaderFooterModel(x))==null||(i=i.getBody())==null||(i=i.customBlocks)==null?void 0:i.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,O=E==null?void 0:E.parent,k=O==null?void 0:O.lines.find(e=>e.paragraphIndex===(E==null?void 0:E.paragraphIndex)&&e.paragraphStart),A=O==null||(c=O.parent)==null?void 0:c.parent;if(T==null||E==null||k==null||O==null||A==null)return;let j=0;l===t.ObjectRelativeFromV.PARAGRAPH?j-=k.top:l===t.ObjectRelativeFromV.LINE?j-=E.top:l===t.ObjectRelativeFromV.PAGE&&(j+=A.marginTop),d===t.ObjectRelativeFromV.PARAGRAPH?j+=k.top:d===t.ObjectRelativeFromV.LINE?j+=E.top:d===t.ObjectRelativeFromV.PAGE&&(j-=A.marginTop),N(`positionV`,{relativeFrom:d,posOffset:(u==null?0:u)-j})}function I(e){var n;let r=v==null?void 0:v.getSnapshot(),i=r==null||(n=r.drawings)==null?void 0:n[e.drawingId];if(i==null)return;let{layoutType:a}=i,{positionH:o,positionV:s}=i.docTransform;E(o),O(s),w(a===t.PositionedObjectLayoutType.INLINE),A(s.relativeFrom===t.ObjectRelativeFromV.PARAGRAPH||s.relativeFrom===t.ObjectRelativeFromV.LINE)}function L(){let e=p.getFocusDrawings();e.length!==0&&I(e[0])}function R(e){A(e),F(String(e?t.ObjectRelativeFromV.PARAGRAPH:t.ObjectRelativeFromV.PAGE))}return(0,d.useEffect)(()=>{L();let e=p.focus$.subscribe(e=>{if(e.length===0){M(!1);return}M(!0),I(e[0])}),t=l.onCommandExecuted(async e=>{e.id===a.RichTextEditingMutation.id&&L()});return()=>{e.unsubscribe(),t.dispose()}},[]),(0,f.jsxs)(`div`,{className:(0,i.clsx)(`univer-grid univer-gap-2 univer-py-2 univer-text-gray-400`,{"univer-hidden":!j}),children:[(0,f.jsx)(`header`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:u.t(`docs-drawing-ui.image-position.title`)})}),(0,f.jsx)(`div`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:u.t(`docs-drawing-ui.image-position.horizontal`)})}),(0,f.jsxs)(`div`,{className:`univer-grid univer-grid-cols-2 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2`,children:[(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:u.t(`docs-drawing-ui.image-position.absolutePosition`)}),(0,f.jsx)(i.InputNumber,{min:he,max:ge,precision:1,disabled:C,value:T.posOffset,onChange:e=>{N(`positionH`,{relativeFrom:T.relativeFrom,posOffset:e})}})]}),(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:u.t(`docs-drawing-ui.image-position.toTheRightOf`)}),(0,f.jsx)(i.Select,{value:String(T.relativeFrom),disabled:C,options:x,onChange:P})]})]}),(0,f.jsx)(`div`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:u.t(`docs-drawing-ui.image-position.vertical`)})}),(0,f.jsxs)(`div`,{className:`univer-grid univer-grid-cols-2 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2`,children:[(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:u.t(`docs-drawing-ui.image-position.absolutePosition`)}),(0,f.jsx)(i.InputNumber,{min:he,max:ge,precision:1,disabled:C,value:D.posOffset,onChange:e=>{N(`positionV`,{relativeFrom:D.relativeFrom,posOffset:e})}})]}),(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:u.t(`docs-drawing-ui.image-position.bellow`)}),(0,f.jsx)(i.Select,{disabled:C,value:String(D.relativeFrom),options:S,onChange:F})]})]}),(0,f.jsx)(`div`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:u.t(`docs-drawing-ui.image-position.options`)})}),(0,f.jsx)(`div`,{children:(0,f.jsx)(i.Checkbox,{disabled:C,checked:k,onChange:R,children:u.t(`docs-drawing-ui.image-position.moveObjectWithText`)})})]})}function ye(e,n,r,i,a,o,s){var c,l,u;let d=new t.TextX,f=t.JSONX.getInstance(),p=[],m=(c=o.getSelfOrHeaderFooterModel(n))==null?void 0:c.getBody(),h=(l=o.getSelfOrHeaderFooterModel(e))==null?void 0:l.getBody();if(m==null||h==null)return;let g=(u=m.customBlocks)==null||(u=u.find(e=>e.blockId===a))==null?void 0:u.startIndex;if(g!=null){if(i=Math.min(h.dataStream.length-2,i),e===n){if(i<g?(i>0&&d.push({t:t.TextXActionType.RETAIN,len:i}),d.push({t:t.TextXActionType.INSERT,body:{dataStream:`\b`,customBlocks:[{startIndex:0,blockId:a}]},len:1}),d.push({t:t.TextXActionType.RETAIN,len:g-i}),d.push({t:t.TextXActionType.DELETE,len:1})):(g>0&&d.push({t:t.TextXActionType.RETAIN,len:g}),d.push({t:t.TextXActionType.DELETE,len:1}),i-g-1>0&&d.push({t:t.TextXActionType.RETAIN,len:i-g-1}),d.push({t:t.TextXActionType.INSERT,body:{dataStream:`\b`,customBlocks:[{startIndex:0,blockId:a}]},len:1})),i!==g){let e=(0,t.getRichTextEditPath)(o,n),r=f.editOp(d.serialize(),e);p.push(r)}}else{g>0&&d.push({t:t.TextXActionType.RETAIN,len:g}),d.push({t:t.TextXActionType.DELETE,len:1});let c=(0,t.getRichTextEditPath)(o,n),l=f.editOp(d.serialize(),c);p.push(l),d.empty(),i>0&&d.push({t:t.TextXActionType.RETAIN,len:i}),d.push({t:t.TextXActionType.INSERT,body:{dataStream:`\b`,customBlocks:[{startIndex:0,blockId:a}]},len:1}),c=(0,t.getRichTextEditPath)(o,e),l=f.editOp(d.serialize(),c),p.push(l),s.setSegment(e),s.setSegmentPage(r)}return p}}let be={id:`doc.command.update-doc-drawing-distance`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(n==null)return!1;let r=e.get(t.ICommandService),i=e.get(t.IUniverInstanceService),{drawings:o,dist:s,unitId:c}=n,l=i.getUnit(c,t.UniverInstanceType.UNIVER_DOC);if(l==null)return!1;let u=t.JSONX.getInstance(),d=[],{drawings:f={}}=l.getSnapshot();for(let e of o){let{drawingId:t}=e;for(let[e,n]of Object.entries(s)){let r=f[t][e];if(r!==n){let i=u.replaceOp([`drawings`,t,e],r,n);d.push(i)}}}let p={id:a.RichTextEditingMutation.id,params:{unitId:c,actions:[],textRanges:null}};return p.params.actions=d.reduce((e,n)=>t.JSONX.compose(e,n),null),!!r.syncExecuteCommand(p.id,p.params)}},xe={id:`doc.command.update-doc-drawing-wrap-text`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(n==null)return!1;let r=e.get(t.ICommandService),i=e.get(t.IUniverInstanceService),{drawings:o,wrapText:s,unitId:c}=n,l=i.getUnit(c,t.UniverInstanceType.UNIVER_DOC);if(l==null)return!1;let u=t.JSONX.getInstance(),d=[],{drawings:f={}}=l.getSnapshot();for(let e of o){let{drawingId:t}=e,n=f[t].wrapText;if(n!==s){let e=u.replaceOp([`drawings`,t,`wrapText`],n,s);d.push(e)}}let p={id:a.RichTextEditingMutation.id,params:{unitId:c,actions:[],textRanges:null}};return p.params.actions=d.reduce((e,n)=>t.JSONX.compose(e,n),null),!!r.syncExecuteCommand(p.id,p.params)}},Se={id:`doc.command.move-inline-drawing`,type:t.CommandType.COMMAND,handler:(e,n)=>{var i,s;if(n==null)return!1;let{drawing:c,unitId:l,offset:u,segmentId:d,segmentPage:f,needRefreshDrawings:p}=n,m=e.get(r.IRenderManagerService),h=(i=m.getRenderUnitById(l))==null?void 0:i.with(o.DocSelectionRenderService),g=e.get(b),_=m.getRenderUnitById(l),v=_==null?void 0:_.scene,y=_==null?void 0:_.with(a.DocSkeletonManagerService).getSkeleton();if(v==null||h==null)return!1;let x=v.getTransformerByCreate(),S=e.get(t.ICommandService),C=e.get(t.IUniverInstanceService).getUnit(l,t.UniverInstanceType.UNIVER_DOC);if(C==null)return!1;if(p)return g.refreshDrawings(y),x.refreshControls(),!0;let w=[],{drawingId:T}=c,E=ye(d,(s=h.getSegment())==null?``:s,f,u,T,C,h);if(E==null||E.length===0)return g.refreshDrawings(y),x.refreshControls(),!1;w.push(...E);let D={id:a.RichTextEditingMutation.id,params:{unitId:l,actions:[],textRanges:null}};D.params.actions=w.reduce((e,n)=>t.JSONX.compose(e,n),null);let O=S.syncExecuteCommand(D.id,D.params);return x.refreshControls(),!!O}},Ce={id:`doc.command.transform-non-inline-drawing`,type:t.CommandType.COMMAND,handler:(e,n)=>{var i,s;if(n==null)return!1;let{drawing:c,unitId:l,offset:u,docTransform:d,segmentId:f,segmentPage:p}=n,m=e.get(r.IRenderManagerService),h=(i=m.getRenderUnitById(l))==null?void 0:i.with(o.DocSelectionRenderService),g=m.getRenderUnitById(l),_=g==null?void 0:g.scene;if(_==null||h==null)return!1;let v=_.getTransformerByCreate(),y=e.get(t.ICommandService),b=e.get(t.IUniverInstanceService).getUnit(l,t.UniverInstanceType.UNIVER_DOC);if(b==null)return!1;let x=[],{drawingId:S}=c,C=ye(f,(s=h.getSegment())==null?``:s,p,u,S,b,h);if(C==null)return!1;C.length>0&&x.push(...C);let w=t.JSONX.getInstance(),{drawings:T={}}=b.getSnapshot(),{positionH:E,positionV:D,size:O,angle:k}=T[S].docTransform;if(!t.Tools.diffValue(E,d.positionH)){let e=w.replaceOp([`drawings`,S,`docTransform`,`positionH`],E,d.positionH);x.push(e)}if(!t.Tools.diffValue(D,d.positionV)){let e=w.replaceOp([`drawings`,S,`docTransform`,`positionV`],D,d.positionV);x.push(e)}if(!t.Tools.diffValue(O,d.size)){let e=w.replaceOp([`drawings`,S,`docTransform`,`size`],O,d.size);x.push(e)}if(!t.Tools.diffValue(k,d.angle)){let e=w.replaceOp([`drawings`,S,`docTransform`,`angle`],k,d.angle);x.push(e)}let A={id:a.RichTextEditingMutation.id,params:{unitId:l,actions:[],textRanges:null,debounce:!0}};A.params.actions=x.reduce((e,n)=>t.JSONX.compose(e,n),null);let j=y.syncExecuteCommand(A.id,A.params);return v.refreshControls(),!!j}},we=e=>{var t;let n=(0,c.useDependency)(r.IRenderManagerService),i=e.drawings[0],a=i?(t=n.getRenderUnitById(i.unitId))==null?void 0:t.scene:void 0;return i&&a?(0,f.jsx)(Te,{...e}):null};function Te(e){let r=(0,c.useDependency)(t.ICommandService),o=(0,c.useDependency)(t.LocaleService),l=(0,c.useDependency)(s.IDrawingManagerService),u=(0,c.useDependency)(t.IUniverInstanceService),{drawings:p}=e,{unitId:m}=p[0],h=u.getUnit(m,t.UniverInstanceType.UNIVER_DOC),[g,_]=(0,d.useState)(!0),[v,y]=(0,d.useState)(!0),[b,x]=(0,d.useState)(!0),[S,C]=(0,d.useState)(n.TextWrappingStyle.INLINE),[w,T]=(0,d.useState)(``),[E,D]=(0,d.useState)({distT:0,distL:0,distB:0,distR:0}),[O,k]=(0,d.useState)(!0);function A(e){C(e);let t=l.getFocusDrawings();if(t.length===0)return;let{unitId:i,subUnitId:a}=t[0],o=t.map(({unitId:e,subUnitId:t,drawingId:n})=>({unitId:e,subUnitId:t,drawingId:n}));r.executeCommand(n.UpdateDocDrawingWrappingStyleCommand.id,{unitId:i,subUnitId:a,drawings:o,wrappingStyle:e})}function j(e){T(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(xe.id,{unitId:t[0].unitId,subUnitId:t[0].unitId,drawings:n,wrapText:e})}function M(e,t){if(e==null)return;D({...E,[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(be.id,{unitId:n[0].unitId,subUnitId:n[0].unitId,drawings:i,dist:{[t]:e}})}function N(){let e=l.getFocusDrawings();e.length!==0&&P(e[0])}function P(e){var r;let i=h==null||(r=h.getSnapshot())==null||(r=r.drawings)==null?void 0:r[e.drawingId];if(i==null)return;let{distT:a=0,distL:o=0,distB:s=0,distR:c=0,layoutType:l=t.PositionedObjectLayoutType.INLINE,behindDoc:u=t.BooleanNumber.FALSE,wrapText:d=t.WrapTextType.BOTH_SIDES}=i;if(D({distT:a,distL:o,distB:s,distR:c}),T(d),_(l!==t.PositionedObjectLayoutType.WRAP_SQUARE),l===t.PositionedObjectLayoutType.WRAP_NONE||l===t.PositionedObjectLayoutType.INLINE?y(!0):y(!1),l===t.PositionedObjectLayoutType.WRAP_NONE||l===t.PositionedObjectLayoutType.INLINE||l===t.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM?x(!0):x(!1),l===t.PositionedObjectLayoutType.WRAP_NONE)u===t.BooleanNumber.TRUE?C(n.TextWrappingStyle.BEHIND_TEXT):C(n.TextWrappingStyle.IN_FRONT_OF_TEXT);else switch(l){case t.PositionedObjectLayoutType.INLINE:C(n.TextWrappingStyle.INLINE);break;case t.PositionedObjectLayoutType.WRAP_SQUARE:C(n.TextWrappingStyle.WRAP_SQUARE);break;case t.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM:C(n.TextWrappingStyle.WRAP_TOP_AND_BOTTOM);break;default:throw Error(`Unsupported layout type: ${l}`)}}return(0,d.useEffect)(()=>{N();let e=l.focus$.subscribe(e=>{if(e.length===0){k(!1);return}k(!0),P(e[0])}),t=r.onCommandExecuted(async e=>{e.id===a.RichTextEditingMutation.id&&N()});return()=>{e.unsubscribe(),t.dispose()}},[]),(0,f.jsxs)(`div`,{className:(0,i.clsx)(`univer-grid univer-gap-2 univer-py-2 univer-text-gray-400`,{"univer-hidden":!O}),children:[(0,f.jsx)(`header`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:o.t(`docs-drawing-ui.image-text-wrap.title`)})}),(0,f.jsx)(`div`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:o.t(`docs-drawing-ui.image-text-wrap.wrappingStyle`)})}),(0,f.jsx)(`div`,{children:(0,f.jsxs)(i.RadioGroup,{value:S,onChange:A,direction:`vertical`,children:[(0,f.jsx)(i.Radio,{value:n.TextWrappingStyle.INLINE,children:o.t(`docs-drawing-ui.image-text-wrap.inline`)}),(0,f.jsx)(i.Radio,{value:n.TextWrappingStyle.WRAP_SQUARE,children:o.t(`docs-drawing-ui.image-text-wrap.square`)}),(0,f.jsx)(i.Radio,{value:n.TextWrappingStyle.WRAP_TOP_AND_BOTTOM,children:o.t(`docs-drawing-ui.image-text-wrap.topAndBottom`)}),(0,f.jsx)(i.Radio,{value:n.TextWrappingStyle.BEHIND_TEXT,children:o.t(`docs-drawing-ui.image-text-wrap.behindText`)}),(0,f.jsx)(i.Radio,{value:n.TextWrappingStyle.IN_FRONT_OF_TEXT,children:o.t(`docs-drawing-ui.image-text-wrap.inFrontText`)})]})}),(0,f.jsx)(`div`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:o.t(`docs-drawing-ui.image-text-wrap.wrapText`)})}),(0,f.jsx)(`div`,{children:(0,f.jsxs)(i.RadioGroup,{disabled:g,value:w,onChange:j,direction:`horizontal`,children:[(0,f.jsx)(i.Radio,{value:t.WrapTextType.BOTH_SIDES,children:o.t(`docs-drawing-ui.image-text-wrap.bothSide`)}),(0,f.jsx)(i.Radio,{value:t.WrapTextType.LEFT,children:o.t(`docs-drawing-ui.image-text-wrap.leftOnly`)}),(0,f.jsx)(i.Radio,{value:t.WrapTextType.RIGHT,children:o.t(`docs-drawing-ui.image-text-wrap.rightOnly`)})]})}),(0,f.jsx)(`div`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:(0,f.jsx)(`div`,{children:o.t(`docs-drawing-ui.image-text-wrap.distanceFromText`)})}),(0,f.jsxs)(`div`,{className:`univer-grid univer-grid-cols-2 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2`,children:[(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:o.t(`docs-drawing-ui.image-text-wrap.top`)}),(0,f.jsx)(i.InputNumber,{min:0,max:100,disabled:v,precision:1,value:E.distT,onChange:e=>{M(e,`distT`)}})]}),(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:o.t(`docs-drawing-ui.image-text-wrap.left`)}),(0,f.jsx)(i.InputNumber,{min:0,max:100,disabled:b,precision:1,value:E.distL,onChange:e=>{M(e,`distL`)}})]})]}),(0,f.jsxs)(`div`,{className:`univer-grid univer-grid-cols-2 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2`,children:[(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:o.t(`docs-drawing-ui.image-text-wrap.bottom`)}),(0,f.jsx)(i.InputNumber,{min:0,max:100,disabled:v,precision:1,value:E.distB,onChange:e=>{M(e,`distB`)}})]}),(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{children:o.t(`docs-drawing-ui.image-text-wrap.right`)}),(0,f.jsx)(i.InputNumber,{min:0,max:100,disabled:b,precision:1,value:E.distR,onChange:e=>{M(e,`distR`)}})]})]})]})}let Ee=()=>{let e=(0,c.useDependency)(s.IDrawingManagerService),t=(0,c.useObservable)(()=>e.focus$,e.getFocusDrawings(),!1,[e]);return!!(t!=null&&t.length)&&(0,f.jsxs)(`div`,{className:`univer-text-sm`,children:[(0,f.jsx)(u.DrawingCommonPanel,{drawings:t,hasAlign:!1,hasCropper:!0,hasGroup:!1,hasTransform:!1}),(0,f.jsx)(we,{drawings:t}),(0,f.jsx)(_e,{drawings:t})]})},Z=class extends t.Disposable{constructor(e){super(),this._componentManager=e,this._registerComponents()}_registerComponents(){this.disposeWithMe(this._componentManager.register(N,Ee))}};Z=S([x(0,(0,t.Inject)(c.ComponentManager))],Z);function De(e,t,n,r){let i=e.skeDrawings.get(t);if(i)return{skeDrawing:i,pageMarginTop:n,pageMarginLeft:r};for(let n of e.skeTables.values())for(let e of n.rows)for(let n of e.cells){let e=De(n,t,n.marginTop,n.marginLeft);if(e)return e}return null}function Oe(e){if(t.JSONX.isNoop(e)||!Array.isArray(e))return null;let n=e.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 ke(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}function Ae(e,n=new Set){if(t.JSONX.isNoop(e)||!Array.isArray(e))return n;if(e[0]===`drawings`){let t=e[1];return typeof t==`string`?(n.add(t),n):(e.slice(1).forEach(e=>{Array.isArray(e)&&typeof e[0]==`string`&&n.add(e[0])}),n)}return e.forEach(e=>{Array.isArray(e)&&Ae(e,n)}),n}let je=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._univerInstanceService=e,this._commandService=t,this._drawingManagerService=n,this._docDrawingService=r,this._renderManagerService=i,this._docRefreshDrawingsService=a,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id!==a.RichTextEditingMutation.id)return;let{unitId:t,actions:n,isSync:r,syncer:i}=e.params,o=Oe(n);if(o!=null)for(let{type:e,drawingId:n,drawing:a}of o)r&&(a==null?void 0:a.unitId)===i||(e===`add`?this._addDrawings(t,[a]):this._removeDrawings(t,[n]))})),this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{e.id===n.UpdateDocDrawingWrappingStyleCommand.id&&this._preserveWrappingStylePosition(e.params)})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==a.RichTextEditingMutation.id)return;let{unitId:t,actions:n}=e.params;ke(n).length>0&&this._updateDrawingsOrder(t);let r=[...Ae(n)];r.length>0&&this._syncDrawingDataFromSnapshot(t,r)})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==n.UpdateDrawingDocTransformCommand.id&&e.id!==n.UpdateDocDrawingWrappingStyleCommand.id)return;let{unitId:t}=e.params,r=this._renderManagerService.getRenderById(t),i=r==null?void 0:r.scene;r==null||i==null||(this._docRefreshDrawingsService.refreshDrawings(r.with(a.DocSkeletonManagerService).getSkeleton()),i.getTransformerByCreate().refreshControls())})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var n;if(e.id!==t.UndoCommand.id&&e.id!==t.RedoCommand.id)return;let r=(n=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC))==null?void 0:n.getUnitId(),i=this._drawingManagerService.getFocusDrawings();if(r==null||i.length===0)return;let a=this._renderManagerService.getRenderUnitById(r),o=a==null?void 0:a.scene;if(o==null)return!1;o.getTransformerByCreate().refreshControls()}))}_preserveWrappingStylePosition(e){var i;if(e.wrappingStyle===n.TextWrappingStyle.INLINE)return;let{unitId:o}=e,s=this._univerInstanceService.getUnit(o,t.UniverInstanceType.UNIVER_DOC),c=this._renderManagerService.getRenderById(o),l=c==null?void 0:c.with(a.DocSkeletonManagerService),u=l==null?void 0:l.getSkeleton().getSkeletonData(),d=l==null?void 0:l.getViewModel();if(!s||!u||!d)return;let f=d.getEditArea(),{pages:p,skeHeaders:m,skeFooters:h}=u,g=(i=s.getDrawings())==null?{}:i;e.drawings=e.drawings.map(e=>{let n=g[e.drawingId];if(!n)return e;let i=null;for(let t of p){let{headerId:n,footerId:s,marginTop:c,marginLeft:l,marginBottom:u,pageWidth:d,pageHeight:p}=t;if(f===r.DocumentEditArea.HEADER){var a;let t=(a=m.get(n))==null?void 0:a.get(d);t&&(i=De(t,e.drawingId,t.marginTop,l))}else if(f===r.DocumentEditArea.FOOTER){var o;let t=(o=h.get(s))==null?void 0:o.get(d);t&&(i=De(t,e.drawingId,p-u+t.marginTop,l))}else i=De(t,e.drawingId,c,l);if(i)break}if(!i)return e;let{skeDrawing:s,pageMarginTop:c,pageMarginLeft:l}=i,u=n.docTransform.positionH,d=n.docTransform.positionV,_=s.aLeft,v=s.aTop;return u.relativeFrom===t.ObjectRelativeFromH.MARGIN?_-=l:u.relativeFrom===t.ObjectRelativeFromH.COLUMN&&(_-=s.columnLeft),d.relativeFrom===t.ObjectRelativeFromV.PAGE?v+=c:d.relativeFrom===t.ObjectRelativeFromV.LINE?v-=s.lineTop:d.relativeFrom===t.ObjectRelativeFromV.PARAGRAPH&&(v-=s.blockAnchorTop),{...n,...e,docTransform:{...n.docTransform,...e.docTransform,positionH:{relativeFrom:u.relativeFrom,posOffset:_},positionV:{relativeFrom:d.relativeFrom,posOffset:v}}}})}_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 r=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_DOC);if(r==null)return;let{drawings:i,drawingsOrder:a}=r.getSnapshot();if(a==null)return;let o=(0,n.getDocDrawingRenderOrder)(a,i),s=this._drawingManagerService,c=this._docDrawingService;s.setDrawingOrder(e,e,o),c.setDrawingOrder(e,e,a);let l={unitId:e,subUnitId:e,drawingIds:o};s.orderNotification(l),c.orderNotification({unitId:e,subUnitId:e,drawingIds:a})}_syncDrawingDataFromSnapshot(e,r){let i=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_DOC);if(i==null)return;let{drawings:a={},drawingsOrder:o=[]}=i.getSnapshot(),s=a,c=(0,n.getDocDrawingRenderOrder)(o,a);this._docDrawingService.setDrawingData(e,e,s),this._drawingManagerService.setDrawingData(e,e,s),this._docDrawingService.setDrawingOrder(e,e,o),this._drawingManagerService.setDrawingOrder(e,e,c);let l=r.filter(e=>s[e]!=null).map(t=>({unitId:e,subUnitId:e,drawingId:t}));l.length!==0&&(this._docDrawingService.updateNotification(l),this._drawingManagerService.updateNotification(l))}};je=S([x(0,t.IUniverInstanceService),x(1,t.ICommandService),x(2,s.IDrawingManagerService),x(3,n.IDocDrawingService),x(4,r.IRenderManagerService),x(5,(0,t.Inject)(b))],je);let Me=e=>{let{floatDomInfos:t,scene:n,offset:r,bound:i}=e,a=i.right-i.left,o=i.bottom-i.top;return(0,f.jsx)(`div`,{className:`univer-absolute univer-left-0 univer-top-0`,children:(0,d.useMemo)(()=>t.map(e=>{let{width:t=0,height:r=0,left:i=0,top:a=0}=e.transform,o=I({left:i,right:i+t,top:a,bottom:a+r},n),s={position$:new l.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,f.jsx)(c.PrintFloatDomSingle,{layer:t,id:e,position:t.position},e))})};function Ne(e,t,n){return(0,i.render)((0,f.jsx)((0,c.connectInjector)(Me,n),{...e}),t),()=>(0,i.unmount)(t)}let Pe=class extends t.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:(e,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(e=>{let n=s.data[e];n.drawingType!==t.DrawingTypeEnum.DRAWING_CHART&&n.drawingType!==t.DrawingTypeEnum.DRAWING_DOM&&this._drawingRenderService.renderDrawing(n,a)}),r()}}))}_initPrintingDom(){this.disposeWithMe(this._docPrintInterceptorService.interceptor.intercept(this._docPrintInterceptorService.interceptor.getInterceptPoints().PRINTING_DOM_COLLECT,{handler:(e,n,r)=>{let{unitId:i}=n,a=this._drawingManagerService.getDrawingDataForUnit(i),o=a==null?void 0:a[i];if(o){let a=Ne({unitId:i,floatDomInfos:o.order.map(e=>{let n=o.data[e];if(n.drawingType===t.DrawingTypeEnum.DRAWING_CHART)return{...n,componentKey:this._componetManager.get(t.DOC_DRAWING_PRINTING_COMPONENT_KEY)};if(n.drawingType===t.DrawingTypeEnum.DRAWING_DOM){let e=this._docPrintInterceptorService.getPrintComponent(n.componentKey);return{...n,componentKey:this._componetManager.get(e||n.componentKey)}}return null}).filter(Boolean),scene:n.scene,skeleton:n.skeleton,offset:n.offset,bound:n.bound},n.root,this._injector);return e==null||e.add(()=>{a()}),r(e)}}}))}};Pe=S([x(0,(0,t.Inject)(o.DocPrintInterceptorService)),x(1,(0,t.Inject)(u.DrawingRenderService)),x(2,s.IDrawingManagerService),x(3,(0,t.Inject)(c.ComponentManager)),x(4,(0,t.Inject)(t.Injector))],Pe);function Fe(e){let{docsLeft:t,docsTop:n,pageOffsetLeft:r,pageOffsetTop:i,clipOffsetLeft:a=0,clipOffsetTop:o=0,page:s}=e,{pageWidth:c,pageHeight:l}=s;if(!(!Number.isFinite(c)||!Number.isFinite(l)||c<=0||l<=0))return{left:t+r+a,top:n+i+o,width:c,height:l}}function Ie(e){let{drawing:t,hostPage:n,page:r}=e;if(n==null||t.behindText!==!0||t.transform==null)return r;let{width:i,height:a}=t.transform;if(i==null||a==null)return r;if(i>r.pageWidth||a>r.pageHeight)return n;let o=i/n.pageWidth,s=a/n.pageHeight;return o>=.8&&s>=.8?n:r}function Le(e){let{hostPage:n,positionH:r,width:i}=e;if(r.relativeFrom===t.ObjectRelativeFromH.PAGE)return r.align===t.AlignTypeH.RIGHT?n.pageWidth-i:r.align===t.AlignTypeH.CENTER?n.pageWidth/2-i/2:r.posOffset==null?0:r.posOffset}function Re(e){let{hostPage:n,positionV:r,height:i}=e;if(r.relativeFrom===t.ObjectRelativeFromV.PAGE)return r.align===t.AlignTypeV.BOTTOM?n.pageHeight-i:r.align===t.AlignTypeV.CENTER?n.pageHeight/2-i/2:r.posOffset==null?0:r.posOffset}function ze(e){let{page:t,clipPage:n,hostPage:r}=e;if(r!=null&&r===n)return r;if(r==null&&t===n)return t}function Be(e){let{drawingOrigin:n,hostPage:r}=e;return r==null?n.layoutType===t.PositionedObjectLayoutType.WRAP_NONE&&n.behindDoc===t.BooleanNumber.TRUE:!0}function Ve(e,t,n,i){let a=(0,r.getTableIdAndSliceIndex)(t.tableId).tableId,o=(0,r.getDocsTableRenderViewport)(e,a),s=He(o)?o.scrollLeft:0;return{left:t.left+i.left-s+i.marginLeft,top:t.top+n.top+i.marginTop}}function He(e){var t,n;return e!=null&&((t=e.leadingInsetLeft)==null?0:t)+e.contentWidth+((n=e.trailingInsetRight)==null?0:n)>e.viewportWidth}let Ue=class extends t.Disposable{constructor(e,t,n,i,a,o,s,c){super(),this._context=e,this._docSkeletonManagerService=t,this._commandService=n,this._editorService=i,this._drawingManagerService=a,this._docRefreshDrawingsService=o,this._univerInstanceService=s,this._lifecycleService=c,y(this,`_liquid`,new r.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 e=[a.RichTextEditingMutation.id,o.SetDocZoomRatioOperation.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){let{unitId:e}=t.params,{unitId:n,mainComponent:r}=this._context;if(e!==n)return;let i=this._docSkeletonManagerService.getSkeleton();if(i==null)return;if(this._editorService.isEditor(n)){r==null||r.makeDirty();return}this._refreshDrawing(i)}}))}_initResize(){this.disposeWithMe((0,t.fromEventSubject)(this._context.engine.onTransformChange$).pipe((0,l.filter)(e=>e.type===r.TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize),(0,l.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;if(a<=-1e4||o<=-1e4)return;let{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,t),this._calculateTableCellDrawingPositions(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);if(e){let n=t.pageHeight-t.marginBottom+e.marginTop;this._calculateDrawingPosition(r,e,a,o,p,n,t.marginLeft,t),this._calculateTableCellDrawingPositions(r,e,a,o,p,n,t.marginLeft)}}this._calculateDrawingPosition(r,t,a,o,p,t.marginTop,t.marginLeft),this._calculateTableCellDrawingPositions(r,t,a,o,p,t.marginTop,t.marginLeft),this._liquid.translatePage(t,s,c,l)}let g=Object.values(p);for(let e of g)e.hidden=!1;let _=this._getStaleNonMultiDrawings(r,p),v=g.filter(e=>!e.isMultiTransform).concat(_),y=g.filter(e=>e.isMultiTransform);v.length>0&&this._drawingManagerService.refreshTransform(v),this._handleMultiDrawingsTransform(y)}_getStaleNonMultiDrawings(e,n){var r;let i=(r=this._drawingManagerService.getDrawingData(e,e))==null?{}:r;return Object.values(i).filter(e=>e.isMultiTransform!==t.BooleanNumber.TRUE).filter(e=>n[e.drawingId]==null).map(n=>{var r,i;return{unitId:e,subUnitId:e,drawingId:n.drawingId,behindText:!1,hidden:!0,transform:n.transform,transforms:(r=n.transforms)==null?[]:r,isMultiTransform:(i=n.isMultiTransform)==null?t.BooleanNumber.FALSE:i}})}_handleMultiDrawingsTransform(e){let{scene:n,unitId:r}=this._context,i=n.getTransformerByCreate();e.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(e=>e.isMultiTransform===t.BooleanNumber.TRUE);this._drawingManagerService.removeNotification(o),e.length>0&&this._drawingManagerService.addNotification(e);for(let e of a){let t=n.getObject(e);t&&i.setSelectedControl(t)}}_calculateDrawingPosition(e,n,r,i,a,o,s,c,l){let{skeDrawings:u}=n,d=this._liquid.x,f=this._liquid.y;this._liquid.translatePagePadding({marginTop:o,marginLeft:s}),u.forEach(o=>{let{aLeft:s,aTop:u,height:p,width:m,angle:h,drawingId:g,drawingOrigin:_}=o,v=Be({drawingOrigin:_,hostPage:c}),{isMultiTransform:y=t.BooleanNumber.FALSE}=_,b=Ie({drawing:{behindText:v,transform:{width:m,height:p}},hostPage:c,page:n}),x=Fe({docsLeft:r,docsTop:i,pageOffsetLeft:d,pageOffsetTop:f,clipOffsetLeft:l==null?void 0:l.left,clipOffsetTop:l==null?void 0:l.top,page:b}),S=_.layoutType===t.PositionedObjectLayoutType.INLINE?void 0:ze({page:n,clipPage:b,hostPage:c}),C=S==null?void 0:Le({hostPage:S,positionH:_.docTransform.positionH,width:m}),w=S==null?void 0:Re({hostPage:S,positionV:_.docTransform.positionV,height:p}),T={left:(C==null?s:C)+r+(C==null?this._liquid.x:d),top:(w==null?u:w)+i+(w==null?this._liquid.y:f),width:m,height:p,angle:h,flipX:_.docTransform.flipX,flipY:_.docTransform.flipY,clipBounds:x};a[g]==null?a[g]={unitId:e,subUnitId:e,drawingId:g,behindText:v,transform:T,transforms:[T],customBlockRenderViewport:o.customBlockRenderViewport,isMultiTransform:y}:y===t.BooleanNumber.TRUE&&a[g].transforms.push(T)}),this._liquid.restorePagePadding({marginTop:o,marginLeft:s})}_calculateTableCellDrawingPositions(e,t,n,r,i,a,o){var s;(s=t.skeTables)==null||s.forEach(t=>{t.rows.forEach(s=>{s.cells.forEach(c=>{let l=Ve(e,t,s,c),u=a+l.top,d=o+l.left;this._calculateDrawingPosition(e,c,n,r,i,u,d,void 0,{left:d,top:u}),this._calculateTableCellDrawingPositions(e,c,n,r,i,u,d)})})})}_drawingInitializeListener(){let e=()=>{let e=this._docSkeletonManagerService.getSkeleton();e!=null&&(this._drawingManagerService.initializeNotification(this._context.unitId),this._refreshDrawing(e))};this._lifecycleService.stage>=t.LifecycleStages.Rendered?this._docSkeletonManagerService.getSkeleton()?e():setTimeout(e,500):this.disposeWithMe(this._lifecycleService.lifecycle$.pipe((0,l.filter)(e=>e===t.LifecycleStages.Rendered)).subscribe(e))}};Ue=S([x(1,(0,t.Inject)(a.DocSkeletonManagerService)),x(2,t.ICommandService),x(3,o.IEditorService),x(4,s.IDrawingManagerService),x(5,(0,t.Inject)(b)),x(6,t.IUniverInstanceService),x(7,(0,t.Inject)(t.LifecycleService))],Ue);function We(e,t){var n;let r=t.parent,i=r==null?void 0:r.parent,a=i==null?void 0:i.parent;return!r||!i||!a||!((n=r.cells)!=null&&n.includes(t))?null:{cell:t,hostPage:a,offset:Ve(e,i,r,t),row:r,table:i}}let Ge=class extends t.Disposable{constructor(e,t,n,i){super(),this._commandService=e,this._univerInstanceService=t,this._drawingManagerService=n,this._renderManagerService=i,y(this,`_liquid`,new r.Liquid),y(this,`_listenerOnImageMap`,new Set),y(this,`_transformerCache`,new Map),y(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(e){var n;let r=(n=this._getSceneAndTransformerByDrawingSearch(e))==null?void 0:n.transformer;if(r==null)return;this.disposeWithMe((0,t.toDisposable)(r.changeStart$.subscribe(e=>{this._transformerCache.clear();let{objects:n}=e;for(let e of n.values()){var r;let{oKey:n,width:i,height:a,left:o,top:s,angle:c}=e,l=this._drawingManagerService.getDrawingOKey(n);if(l==null)continue;let u=this._univerInstanceService.getUnit(l.unitId,t.UniverInstanceType.UNIVER_DOC),d=u==null||(r=u.getSnapshot().drawings)==null?void 0:r[l.drawingId];if((d==null?void 0:d.layoutType)===t.PositionedObjectLayoutType.INLINE)try{e.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,t.throttle)(this._updateMultipleDrawingDocTransform.bind(this),50);(0,t.throttle)(this._nonInlineDrawingTransform.bind(this),50),this.disposeWithMe((0,t.toDisposable)(r.changing$.subscribe(e=>{let{objects:n,offsetX:r,offsetY:a}=e;if(n.size>1)i(n);else if(n.size===1){let e=this._transformerCache.values().next().value,{width:i,height:o,top:s,left:c,angle:l}=n.values().next().value;if(e&&i===e.width&&o===e.height&&s===e.top&&c===e.left&&l===e.angle)return;e&&(e.drawing.layoutType,t.PositionedObjectLayoutType.INLINE),e&&e.drawing.layoutType===t.PositionedObjectLayoutType.INLINE&&r!=null&&a!=null&&this._updateInlineDrawingAnchor(e.drawing,r,a)}}))),this.disposeWithMe((0,t.toDisposable)(r.changeEnd$.subscribe(e=>{let{objects:n,offsetX:r,offsetY:i}=e;for(let e of n.values()){let n=this._drawingManagerService.getDrawingOKey(e.oKey);if(n==null)continue;let r=this._transformerCache.get(n==null?void 0:n.drawingId);if((r==null?void 0:r.drawing.layoutType)===t.PositionedObjectLayoutType.INLINE)try{e.setOpacity(1)}catch{}}if(this._anchorShape&&this._anchorShape.hide(),n.size>1)this._updateMultipleDrawingDocTransform(n);else if(n.size===1){let e=this._transformerCache.values().next().value,a=n.values().next().value,{width:o,height:s,top:c,left:l,angle:u}=a;if(e&&o===e.width&&s===e.height&&c===e.top&&l===e.left&&u===e.angle)return;e&&e.drawing.layoutType===t.PositionedObjectLayoutType.INLINE?o!==e.width||s!==e.height||u!==e.angle?this._updateDrawingSize(e,a):r!=null&&i!=null&&this._moveInlineDrawing(e.drawing,r,i):e&&this._nonInlineDrawingTransform(e.drawing,a)}this._transformerCache.clear()})))}_updateMultipleDrawingDocTransform(e){if(e.size<1)return;let t=[],r,i;for(let n of e.values()){let{oKey:e,left:a,top:o,angle:s}=n,{width:c,height:l}=n,u=this._drawingManagerService.getDrawingOKey(e);if(u==null)continue;r==null&&(r=u.unitId),i==null&&(i=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&&r&&i&&this._commandService.executeCommand(n.UpdateDrawingDocTransformCommand.id,{unitId:r,subUnitId:i,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,n){var i,s;let c=this._renderManagerService.getRenderById(e.unitId),l=c==null?void 0:c.with(a.DocSkeletonManagerService).getSkeleton();if(c==null)return;let{mainComponent:u,scene:d}=c,f=u,p=d.getViewports()[0],{pageLayoutType:m=r.PageLayoutType.VERTICAL,pageMarginLeft:h,pageMarginTop:g}=f.getOffsetConfig(),_=null,v=!1,y=-1,b=``,x=this._getTransformCoordForDocumentOffset(f,p,t,n);if(x==null)return;let S=(i=this._renderManagerService.getRenderById(e.unitId))==null?void 0:i.with(o.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)return;let E={...w,isBack:v},{cursorList:D,contentBoxPointGroup:O}=new o.NodePositionConvertToCursor(T.document.getOffsetConfig(),l).getRangePointData(E,E),{startOffset:k}=(s=(0,o.getOneTextSelectionRange)(D))==null?{}:s;if(k!=null)return{offset:k,contentBoxPointGroup:O,segmentId:b,segmentPage:y}}_getDrawingAnchor(e,n){var i,s,c,l,u,d;let f=this._renderManagerService.getRenderById(e.unitId),p=f==null?void 0:f.with(a.DocSkeletonManagerService).getSkeleton(),m=p==null?void 0:p.getSkeletonData();if(m==null||f==null)return;let{pages:h,skeHeaders:g,skeFooters:_}=m,{mainComponent:v,scene:y}=f,b=v,x=y.getViewports()[0],{pageLayoutType:S=r.PageLayoutType.VERTICAL,pageMarginLeft:C,pageMarginTop:w,docsLeft:T,docsTop:E}=b.getOffsetConfig(),{left:D,top:O,angle:k}=n,{width:A,height:j}=n,{positionV:M,positionH:N}=e.docTransform,{width:P,height:F}=this._getPageContentSize(e);A=Math.min(A,P),j=Math.min(j,F);let I=null,L=``,R=-1,z={...e.docTransform,size:{width:A,height:j},angle:k},{x:B,y:ee}=y.getViewportScrollXY(x),V=this._getTransformCoordForDocumentOffset(b,x,D-B,O-ee);if(V==null)return;let H=(i=this._renderManagerService.getRenderById(e.unitId))==null?void 0:i.with(o.DocSelectionRenderService);if(H==null)return;let te=p==null?void 0:p.findNodeByCoord(V,S,C,w,{strict:!1,segmentId:H.getSegment(),segmentPage:H.getSegmentPage()});if(te){let{node:e,segmentPage:t,segmentId:n}=te;I=e,R=t,L=n}if(I==null)return;let U=(s=I.parent)==null?void 0:s.parent,W=U==null?void 0:U.parent,G=(c=W==null?void 0:W.lines.find(e=>e.paragraphIndex===(U==null?void 0:U.paragraphIndex)&&e.paragraphStart))==null?W==null?void 0:W.lines[0]:c,K=W==null||(l=W.parent)==null?void 0:l.parent;if(U==null||W==null||G==null||K==null)return;this._liquid.reset();let q=K.type===r.DocumentSkeletonPageType.CELL?We(e.unitId,K):null,ne=(u=q==null?void 0:q.hostPage)==null?K:u,re=ne.type;for(let e of h){let{headerId:t,footerId:n,pageHeight:i,pageWidth:a,marginLeft:o,marginBottom:s}=e,c=h.indexOf(e);if(R>-1&&c===R){switch(re){case r.DocumentSkeletonPageType.HEADER:{var J;let e=(J=g.get(t))==null?void 0:J.get(a);if(e)this._liquid.translatePagePadding({marginTop:e.marginTop,marginLeft:o});else throw Error(`header skeleton not found`);break}case r.DocumentSkeletonPageType.FOOTER:{var ie;let e=(ie=_.get(n))==null?void 0:ie.get(a);if(e)this._liquid.translatePagePadding({marginTop:i-s+e.marginTop,marginLeft:o});else throw Error(`footer skeleton not found`);break}default:this._liquid.translatePagePadding(e);break}break}if(this._liquid.translatePagePadding(e),e===ne)break;this._liquid.restorePagePadding(e),this._liquid.translatePage(e,S,C,w)}if(q&&this._liquid.translate(q.offset.left,q.offset.top),M.relativeFrom===t.ObjectRelativeFromV.LINE)I=U.divides[0].glyphGroup[0];else{var Y,X;I=(Y=(X=G.divides)==null||(X=X[0])==null||(X=X.glyphGroup)==null?void 0:X[0])==null?I:Y}switch(z.positionH={relativeFrom:N.relativeFrom,posOffset:D-this._liquid.x-T},N.relativeFrom){case t.ObjectRelativeFromH.MARGIN:z.positionH.posOffset=D-this._liquid.x-T-K.marginLeft;break;case t.ObjectRelativeFromH.COLUMN:z.positionH.posOffset=D-this._liquid.x-T-W.left;break}switch(z.positionV={relativeFrom:M.relativeFrom,posOffset:O-this._liquid.y-E},M.relativeFrom){case t.ObjectRelativeFromV.PAGE:z.positionV.posOffset=O-this._liquid.y-E-K.marginTop;break;case t.ObjectRelativeFromV.LINE:z.positionV.posOffset=O-this._liquid.y-E-U.top;break;case t.ObjectRelativeFromV.PARAGRAPH:z.positionV.posOffset=O-this._liquid.y-E-G.top;break}if(I==null)return;let ae=p==null?void 0:p.findPositionByGlyph(I,R),oe=this._getDocObject();if(ae==null||p==null||oe==null)return;let se={...ae,isBack:!1},{cursorList:ce}=new o.NodePositionConvertToCursor(oe.document.getOffsetConfig(),p).getRangePointData(se,se),{startOffset:le}=(d=(0,o.getOneTextSelectionRange)(ce))==null?{}:d;if(le!=null)return{offset:le,docTransform:z,segmentId:L,segmentPage:R}}_updateDrawingSize(e,t){let r=[],{drawing:i,width:a,height:o,angle:s}=e,{unitId:c,subUnitId:l}=i,{width:u,height:d,angle:f}=t,{width:p,height:m}=this._getPageContentSize(i);u=Math.min(p,u),d=Math.min(m,d),(u!==a||d!==o)&&r.push({drawingId:i.drawingId,key:`size`,value:{width:u,height:d}}),f!==s&&r.push({drawingId:i.drawingId,key:`angle`,value:f}),r.length>0&&c&&l&&this._commandService.executeCommand(n.UpdateDrawingDocTransformCommand.id,{unitId:c,subUnitId:l,drawings:r})}_moveInlineDrawing(e,t,n){let r=this._getInlineDrawingAnchor(e,t,n),{offset:i,segmentId:a,segmentPage:o}=r==null?{}:r;return this._commandService.executeCommand(Se.id,{unitId:e.unitId,subUnitId:e.unitId,drawing:e,offset:i,segmentId:a,segmentPage:o,needRefreshDrawings:i==null})}_limitDrawingInPage(e,n){let r=this._renderManagerService.getRenderById(e.unitId),{left:i,top:o,width:s,height:c,angle:l}=n,u=r==null?void 0:r.with(a.DocSkeletonManagerService).getSkeleton(),d=u==null?void 0:u.getSkeletonData(),{pages:f}=d==null?{}:d;if(d==null||r==null||f==null)return{left:i,top:o,width:s,height:c,angle:l};let{mainComponent:p}=r,{top:m,pageLayoutType:h,pageMarginLeft:g,pageMarginTop:_}=p,v=o;this._liquid.reset();for(let e of f){let{marginBottom:n,pageHeight:r}=e,i=f[f.indexOf(e)+1];i!=null&&(t.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(e,h,g,_))}return{left:i,top:v,width:s,height:c,angle:l}}_nonInlineDrawingTransform(e,n,r=!1){let i=e.isMultiTransform===t.BooleanNumber.TRUE?n:this._limitDrawingInPage(e,n);if(r&&i.top!==n.top)return;let a=this._getDrawingAnchor(e,i),{offset:o,docTransform:s,segmentId:c,segmentPage:l}=a==null?{}:a;return o==null||s==null?this._updateMultipleDrawingDocTransform(new Map([[e.drawingId,n]])):this._commandService.executeCommand(Ce.id,{unitId:e.unitId,subUnitId:e.unitId,drawing:e,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,i){let{documentTransform:a}=e.getOffsetConfig(),o=t.transformVector2SceneCoord(r.Vector2.FromArray([n,i]));if(o)return a.clone().invert().applyPoint(o)}_createOrUpdateInlineAnchor(e,n){let i=this._renderManagerService.getRenderById(e);if(i==null)return;let{mainComponent:a,scene:s}=i,{docsLeft:c,docsTop:l}=a.getOffsetConfig(),{left:u,top:d,height:f}=(0,o.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 r.Rect(`__InlineDrawingAnchor__`+(0,t.generateRandomId)(6),{left:p,top:m,height:f,strokeWidth:2,stroke:(0,r.getColor)(t.COLORS.darkgray,1),evented:!1});this._anchorShape=h,s.addObject(h,o.TEXT_RANGE_LAYER_INDEX)}_getDocObject(){return(0,o.getDocObject)(this._univerInstanceService,this._renderManagerService)}_getPageContentSize(e){let t=this._renderManagerService.getRenderById(e.unitId),n=t==null?void 0:t.with(a.DocSkeletonManagerService).getSkeleton(),r=n==null?void 0:n.getSkeletonData();if(r==null||t==null)return{width:500,height:500};let{pages:i}=r,o=null;for(let t of i){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}}};Ge=S([x(0,t.ICommandService),x(1,t.IUniverInstanceService),x(2,s.IDrawingManagerService),x(3,r.IRenderManagerService)],Ge);function Q(e){return e.getContextValue(t.FOCUSING_DOC)&&e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&e.getContextValue(t.FOCUSING_COMMON_DRAWINGS)}let Ke={id:j.id,description:`docs-drawing-ui.shortcut.drawing-move-down`,group:`4_drawing-view`,groupTitle:`docs-drawing-ui.shortcut.drawing-view`,binding:c.KeyCode.ARROW_DOWN,priority:100,preconditions:Q,staticParameters:{direction:t.Direction.DOWN}},qe={id:j.id,description:`docs-drawing-ui.shortcut.drawing-move-up`,group:`4_drawing-view`,groupTitle:`docs-drawing-ui.shortcut.drawing-view`,binding:c.KeyCode.ARROW_UP,priority:100,preconditions:Q,staticParameters:{direction:t.Direction.UP}},Je={id:j.id,description:`docs-drawing-ui.shortcut.drawing-move-left`,group:`4_drawing-view`,groupTitle:`docs-drawing-ui.shortcut.drawing-view`,binding:c.KeyCode.ARROW_LEFT,priority:100,preconditions:Q,staticParameters:{direction:t.Direction.LEFT}},Ye={id:j.id,description:`docs-drawing-ui.shortcut.drawing-move-right`,group:`4_drawing-view`,groupTitle:`docs-drawing-ui.shortcut.drawing-view`,binding:c.KeyCode.ARROW_RIGHT,priority:100,preconditions:Q,staticParameters:{direction:t.Direction.RIGHT}},Xe={id:p.id,description:`docs-drawing-ui.shortcut.drawing-delete`,group:`4_drawing-view`,groupTitle:`docs-drawing-ui.shortcut.drawing-view`,preconditions:Q,binding:c.KeyCode.DELETE,mac:c.KeyCode.BACKSPACE},Ze=class extends t.Disposable{constructor(e,t,n){super(),this._menuManagerService=e,this._commandService=t,this._shortcutService=n,this._init()}_initCustomComponents(){}_initMenus(){this._menuManagerService.mergeMenu(de)}_initCommands(){[w,k,A,be,xe,Se,Ce,P,M,F,m,h,j,p].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initShortcuts(){[Ke,qe,Je,Ye,Xe].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_init(){this._initCommands(),this._initCustomComponents(),this._initMenus(),this._initShortcuts()}};Ze=S([x(0,c.IMenuManagerService),x(1,t.ICommandService),x(2,c.IShortcutService)],Ze);var Qe=class{constructor(){y(this,`_adapters`,[])}registerAdapter(e){return this._adapters.push(e),(0,t.toDisposable)(()=>{let t=this._adapters.indexOf(e);t>=0&&this._adapters.splice(t,1)})}getItems(e){for(let t of this._adapters){let n=t.getItems(e);if(n)return[...n].sort((e,t)=>e.index-t.index)}return null}};let $e=class extends t.RxDisposable{constructor(e,t,n,r,i,a,o,s){super(),this._drawingManagerService=e,this._canvasPopManagerService=t,this._renderManagerService=n,this._univerInstanceService=r,this._contextService=i,this._drawingAdapterService=a,this._floatingToolbarAdapterService=o,this._commandService=s,y(this,`_initImagePopupMenu`,new Set),y(this,`_disposePopups`,[]),y(this,`_isDrawingPanelOpen`,!1),this._init()}_init(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===F.id&&(this._isDrawingPanelOpen=!0,this._clearPopups()),e.id===P.id){let t=e.params;this._isDrawingPanelOpen=(t==null?void 0:t.value)===`open`,this._isDrawingPanelOpen&&this._clearPopups()}})),this.disposeWithMe(this._drawingManagerService.focus$.subscribe(e=>{e.length===0&&(this._isDrawingPanelOpen=!1)})),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).pipe((0,l.takeUntil)(this.dispose$)).subscribe(e=>this._create(e))),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(t.UniverInstanceType.UNIVER_DOC).pipe((0,l.takeUntil)(this.dispose$)).subscribe(e=>this._dispose(e))),this._univerInstanceService.getAllUnitsForType(t.UniverInstanceType.UNIVER_DOC).forEach(e=>this._create(e))}_dispose(e){let t=e.getUnitId();this._clearPopups(),this._renderManagerService.removeRender(t)}_clearPopups(){this._disposePopups.forEach(e=>e.dispose()),this._disposePopups.length=0}_create(e){if(!e)return;let n=e.getUnitId();(0,t.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 u.ImageCropperObject)return!0;return!1}_popupMenuListener(e){var n;let r=(n=this._renderManagerService.getRenderById(e))==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 e=i.getSelectedObjectMap();if(a.forEach(e=>e.dispose()),a.length=0,this._isDrawingPanelOpen||e.size>1)return;let n=e.values().next().value;if(!n)return;let o=n.oKey,s=this._drawingManagerService.getDrawingOKey(o);if(!s||s.drawingType===t.DrawingTypeEnum.DRAWING_DOM||s.drawingType===t.DrawingTypeEnum.DRAWING_SHAPE)return;let{unitId:c,subUnitId:l,drawingId:d,drawingType:f}=s,p=f===t.DrawingTypeEnum.DRAWING_IMAGE,m=f===t.DrawingTypeEnum.DRAWING_CHART,h=this._canvasPopManagerService.attachPopupToObject(n,{componentKey:u.COMPONENT_IMAGE_POPUP_MENU,direction:p||m?`top-center`:`horizontal`,offset:p||m?[0,8]:[2,0],extraProps:{menuItems:this._getDrawingPopupMenuItems(c,l,d,f),variant:p?`doc-floating-toolbar`:m?`doc-chart-floating-toolbar`:void 0,unitId:c,subUnitId:l,drawingId:d}},c);a.push(this.disposeWithMe(h)),!this._drawingManagerService.getFocusDrawings().find(e=>e.unitId===c&&e.subUnitId===l&&e.drawingId===d)&&this._drawingManagerService.focusDrawing([{unitId:c,subUnitId:l,drawingId:d}])})),this.disposeWithMe(i.clearControl$.subscribe(()=>{a.forEach(e=>e.dispose()),a.length=0,this._contextService.setContextValue(t.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}))}_getDrawingPopupMenuItems(e,r,i,a){var o,s,c,l;let d=this._drawingManagerService.getDrawingByParam({unitId:e,subUnitId:r,drawingId:i}),f=d?this._floatingToolbarAdapterService.getItems({unitId:e,subUnitId:r,drawing:d}):null;if(f)return f;let p=d?this._drawingAdapterService.getEditDrawingCommandInfo({unitId:e,subUnitId:r,drawing:d}):null;return[{label:(o=p==null?void 0:p.label)==null?`docs-drawing-ui.image-popup.edit`:o,index:0,commandId:(s=p==null?void 0:p.commandId)==null?F.id:s,commandParams:(c=p==null?void 0:p.commandParams)==null?{unitId:e,subUnitId:r,drawingId:i}:c,disable:(l=p==null?void 0:p.disable)==null?a===t.DrawingTypeEnum.DRAWING_DOM:l,hideOnClick:!0,icon:`DrawingEditIcon`},{label:`docs-drawing-ui.image-popup.crop`,index:1,commandId:u.OpenImageCropOperation.id,commandParams:{unitId:e,subUnitId:r,drawingId:i},disable:a===t.DrawingTypeEnum.DRAWING_DOM,icon:`DrawingCropIcon`},{label:`docs-drawing-ui.image-popup.delete`,index:2,commandId:n.RemoveDocDrawingCommand.id,commandParams:{unitId:e,drawings:[{unitId:e,subUnitId:r,drawingId:i}]},disable:!1,icon:`DrawingDeleteIcon`},{label:`docs-drawing-ui.image-popup.reset`,index:3,commandId:u.ImageResetSizeOperation.id,commandParams:[{unitId:e,subUnitId:r,drawingId:i}],disable:!0}]}};$e=S([x(0,s.IDrawingManagerService),x(1,(0,t.Inject)(o.DocCanvasPopManagerService)),x(2,r.IRenderManagerService),x(3,t.IUniverInstanceService),x(4,t.IContextService),x(5,n.IDocDrawingAdapterService),x(6,(0,t.Inject)(Qe)),x(7,t.ICommandService)],$e);let $=class extends t.Plugin{constructor(e=me,n,r,i){super(),this._config=e,this._injector=n,this._renderManagerSrv=r,this._configService=i;let{...a}=(0,t.merge)({},me,this._config);this._configService.setConfig(`docs-drawing-ui.config`,a)}onStarting(){[[Z],[Ze],[$e],[Ge],[je],[b],[Qe],[V],[Pe]].forEach(e=>this._injector.add(e)),this._injector.get(Z)}onReady(){[[C],[Ue]].forEach(e=>this._renderManagerSrv.registerRenderModule(t.UniverInstanceType.UNIVER_DOC,e)),this._injector.get(je),this._injector.get(Ze),this._injector.get(Ge),this._injector.get(Pe)}onRendered(){this._injector.get($e),this._injector.get(V)}};y($,`type`,t.UniverInstanceType.UNIVER_DOC),y($,`pluginName`,`DOC_DRAWING_UI_PLUGIN`),y($,`packageName`,fe),y($,`version`,pe),$=S([(0,t.DependentOn)(u.UniverDrawingUIPlugin,s.UniverDrawingPlugin,n.UniverDocsDrawingPlugin,c.UniverUIPlugin),x(1,(0,t.Inject)(t.Injector)),x(2,r.IRenderManagerService),x(3,t.IConfigService)],$),e.ClearDocDrawingTransformerOperation=M,e.DOCS_IMAGE_MENU_ID=K,e.DOCS_SHAPE_BELOW_MENU_ID=X,e.DOCS_SHAPE_MENU_ID=Y,e.DeleteDocDrawingsCommand=p,e.DocDrawingFloatingToolbarAdapterService=Qe,e.DocDrawingPosition=_e,e.DocDrawingTextWrap=we,Object.defineProperty(e,"DocFloatDomController",{enumerable:!0,get:function(){return V}}),e.DocsDrawingUIMenuSchema=de,e.EditDocDrawingOperation=F,e.GroupDocDrawingCommand=m,e.InsertDocEllipseShapeCommand=A,e.InsertDocImageCommand=w,e.InsertDocRectangleShapeCommand=k,e.MoveDocDrawingsCommand=j,e.SidebarDocDrawingOperation=P,e.UngroupDocDrawingCommand=h,Object.defineProperty(e,"UniverDocsDrawingUIPlugin",{enumerable:!0,get:function(){return $}})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/docs-drawing-ui",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.6",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Drawing UI integration for Univer Docs.",
|
|
6
6
|
"author": "DreamNum Co., Ltd. <developer@univer.ai>",
|
|
@@ -58,15 +58,15 @@
|
|
|
58
58
|
"rxjs": ">=7.0.0"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@univerjs/core": "1.0.0-alpha.
|
|
62
|
-
"@univerjs/
|
|
63
|
-
"@univerjs/
|
|
64
|
-
"@univerjs/drawing": "1.0.0-alpha.
|
|
65
|
-
"@univerjs/
|
|
66
|
-
"@univerjs/
|
|
67
|
-
"@univerjs/
|
|
68
|
-
"@univerjs/ui": "1.0.0-alpha.
|
|
69
|
-
"@univerjs/
|
|
61
|
+
"@univerjs/core": "1.0.0-alpha.6",
|
|
62
|
+
"@univerjs/design": "1.0.0-alpha.6",
|
|
63
|
+
"@univerjs/docs": "1.0.0-alpha.6",
|
|
64
|
+
"@univerjs/docs-drawing": "1.0.0-alpha.6",
|
|
65
|
+
"@univerjs/docs-ui": "1.0.0-alpha.6",
|
|
66
|
+
"@univerjs/drawing": "1.0.0-alpha.6",
|
|
67
|
+
"@univerjs/engine-render": "1.0.0-alpha.6",
|
|
68
|
+
"@univerjs/drawing-ui": "1.0.0-alpha.6",
|
|
69
|
+
"@univerjs/ui": "1.0.0-alpha.6"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@testing-library/react": "^16.3.2",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"tailwindcss": "3.4.18",
|
|
77
77
|
"typescript": "^6.0.3",
|
|
78
78
|
"vitest": "^4.1.10",
|
|
79
|
-
"@univerjs-infra/shared": "1.0.0-alpha.
|
|
79
|
+
"@univerjs-infra/shared": "1.0.0-alpha.6"
|
|
80
80
|
},
|
|
81
81
|
"scripts": {
|
|
82
82
|
"test": "vitest run",
|