@univerjs/drawing-ui 0.19.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +1 -1
- package/lib/cjs/locale/ca-ES.js +1 -1
- package/lib/cjs/locale/en-US.js +1 -1
- package/lib/cjs/locale/es-ES.js +1 -1
- package/lib/cjs/locale/fa-IR.js +1 -1
- package/lib/cjs/locale/fr-FR.js +1 -1
- package/lib/cjs/locale/ja-JP.js +1 -1
- package/lib/cjs/locale/ko-KR.js +1 -1
- package/lib/cjs/locale/ru-RU.js +1 -1
- package/lib/cjs/locale/sk-SK.js +1 -1
- package/lib/cjs/locale/vi-VN.js +1 -1
- package/lib/cjs/locale/zh-CN.js +1 -1
- package/lib/cjs/locale/zh-TW.js +1 -1
- package/lib/es/index.js +1 -1
- package/lib/es/locale/ca-ES.js +1 -1
- package/lib/es/locale/en-US.js +1 -1
- package/lib/es/locale/es-ES.js +1 -1
- package/lib/es/locale/fa-IR.js +1 -1
- package/lib/es/locale/fr-FR.js +1 -1
- package/lib/es/locale/ja-JP.js +1 -1
- package/lib/es/locale/ko-KR.js +1 -1
- package/lib/es/locale/ru-RU.js +1 -1
- package/lib/es/locale/sk-SK.js +1 -1
- package/lib/es/locale/vi-VN.js +1 -1
- package/lib/es/locale/zh-CN.js +1 -1
- package/lib/es/locale/zh-TW.js +1 -1
- package/lib/index.js +1 -1
- package/lib/locale/ca-ES.js +1 -1
- package/lib/locale/en-US.js +1 -1
- package/lib/locale/es-ES.js +1 -1
- package/lib/locale/fa-IR.js +1 -1
- package/lib/locale/fr-FR.js +1 -1
- package/lib/locale/ja-JP.js +1 -1
- package/lib/locale/ko-KR.js +1 -1
- package/lib/locale/ru-RU.js +1 -1
- package/lib/locale/sk-SK.js +1 -1
- package/lib/locale/vi-VN.js +1 -1
- package/lib/locale/zh-CN.js +1 -1
- package/lib/locale/zh-TW.js +1 -1
- package/lib/types/index.d.ts +2 -0
- package/lib/types/locale/en-US.d.ts +1 -0
- package/lib/types/services/drawing-image-clip.service.d.ts +48 -0
- package/lib/types/services/drawing-render.service.d.ts +3 -1
- package/lib/types/views/crop/image-cropper-object.d.ts +2 -2
- package/lib/umd/index.js +1 -1
- package/lib/umd/locale/ca-ES.js +1 -1
- package/lib/umd/locale/en-US.js +1 -1
- package/lib/umd/locale/es-ES.js +1 -1
- package/lib/umd/locale/fa-IR.js +1 -1
- package/lib/umd/locale/fr-FR.js +1 -1
- package/lib/umd/locale/ja-JP.js +1 -1
- package/lib/umd/locale/ko-KR.js +1 -1
- package/lib/umd/locale/ru-RU.js +1 -1
- package/lib/umd/locale/sk-SK.js +1 -1
- package/lib/umd/locale/vi-VN.js +1 -1
- package/lib/umd/locale/zh-CN.js +1 -1
- package/lib/umd/locale/zh-TW.js +1 -1
- package/package.json +7 -7
package/lib/es/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ArrangeTypeEnum as e,CommandType as t,Disposable as n,DrawingTypeEnum as r,ICommandService as i,IConfigService as a,IURLImageService as o,IUniverInstanceService as s,ImageSourceType as c,Inject as l,Injector as u,LocaleService as d,Plugin as f,UniverInstanceType as p,checkIfMove as m,debounce as h,generateRandomId as g,merge as _,toDisposable as v}from"@univerjs/core";import{IDrawingManagerService as y,IImageIoService as b,ImageSourceType as x,SetDrawingSelectedOperation as S,getDrawingShapeKeyByDrawingSearch as C}from"@univerjs/drawing";import{CURSOR_TYPE as w,Canvas as T,DRAWING_OBJECT_LAYER_INDEX as E,DrawingGroupObject as D,Group as O,IRenderManagerService as k,Image as A,RENDER_CLASS_TYPE as j,Rect as M,Shape as N,Vector2 as P,degToRad as ee,getGroupState as te,precisionTo as ne,transformObjectOutOfGroup as re}from"@univerjs/engine-render";import{AutofillDoubleIcon as ie,BottomIcon as ae,CreateCopyIcon as oe,GroupIcon as se,MoreDownIcon as ce,MoveDownIcon as le,MoveUpIcon as ue,TopmostIcon as de,UngroupIcon as fe}from"@univerjs/icons";import{ComponentManager as pe,ContextMenuGroup as me,ContextMenuPosition as he,IDialogService as ge,IGalleryService as _e,IMenuManagerService as ve,IMessageService as ye,MenuItemType as F,useDependency as I}from"@univerjs/ui";import{Observable as be,bufferTime as xe,filter as Se,map as Ce,of as we,switchMap as Te}from"rxjs";import{Button as L,Checkbox as Ee,DropdownMenu as De,InputNumber as R,MessageType as Oe,Select as ke,borderClassName as Ae,clsx as z}from"@univerjs/design";import{useEffect as je,useRef as Me,useState as B}from"react";import{Fragment as Ne,jsx as V,jsxs as H}from"react/jsx-runtime";let U=function(e){return e.default=`0`,e.left=`1`,e.center=`2`,e.right=`3`,e.top=`4`,e.middle=`5`,e.bottom=`6`,e.horizon=`7`,e.vertical=`8`,e}({});const W={id:`sheet.operation.set-image-align`,type:t.OPERATION,handler:(e,t)=>!0},Pe={id:`sheet.operation.set-drawing-align-left`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(W.id,{alignType:U.left})},Fe={id:`sheet.operation.set-drawing-align-center`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(W.id,{alignType:U.center})},Ie={id:`sheet.operation.set-drawing-align-right`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(W.id,{alignType:U.right})},Le={id:`sheet.operation.set-drawing-align-top`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(W.id,{alignType:U.top})},Re={id:`sheet.operation.set-drawing-align-middle`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(W.id,{alignType:U.middle})},ze={id:`sheet.operation.set-drawing-align-bottom`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(W.id,{alignType:U.bottom})},Be={id:`sheet.operation.set-drawing-align-horizon`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(W.id,{alignType:U.horizon})},Ve={id:`sheet.operation.set-drawing-align-vertical`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(W.id,{alignType:U.vertical})},G={id:`drawing.operation.set-drawing-arrange`,type:t.OPERATION,handler:(e,t)=>{let n=e.get(y),{arrangeType:r}=t,i=t.drawings||n.getFocusDrawings(),{unitId:a,subUnitId:o}=i[0],s=i.map(e=>e.drawingId);return n.featurePluginOrderUpdateNotification({unitId:a,subUnitId:o,drawingIds:s,arrangeType:r}),!0}},He={id:`drawing.operation.set-drawing-arrange-front`,type:t.OPERATION,handler:t=>t.get(i).syncExecuteCommand(G.id,{arrangeType:e.front})},Ue={id:`drawing.operation.set-drawing-arrange-forward`,type:t.OPERATION,handler:t=>t.get(i).syncExecuteCommand(G.id,{arrangeType:e.forward})},We={id:`drawing.operation.set-drawing-arrange-back`,type:t.OPERATION,handler:t=>t.get(i).syncExecuteCommand(G.id,{arrangeType:e.back})},Ge={id:`drawing.operation.set-drawing-arrange-backward`,type:t.OPERATION,handler:t=>t.get(i).syncExecuteCommand(G.id,{arrangeType:e.backward})},Ke=[r.DRAWING_IMAGE,r.DRAWING_SHAPE,r.DRAWING_GROUP],K={id:`drawing.operation.set-drawing-group`,type:t.OPERATION,handler:(e,t)=>{let n=e.get(y),i=t.drawings||n.getFocusDrawings();if(i.length<2||!i.every(e=>Ke.includes(e.drawingType)))return!1;let{unitId:a,subUnitId:o}=i[0],s=g(10),c=te(0,0,i.map(e=>e.transform||{})),l={unitId:a,subUnitId:o,drawingId:s,drawingType:r.DRAWING_GROUP,transform:c,groupBaseBound:{left:c.left,top:c.top,width:c.width,height:c.height}},u=i.map(e=>{let t=e.transform||{left:0,top:0},{unitId:n,subUnitId:r,drawingId:i}=e;return{unitId:n,subUnitId:r,drawingId:i,transform:{...t},groupId:s}});return n.featurePluginGroupUpdateNotification([{parent:l,children:u}]),!0}},q={id:`drawing.operation.cancel-drawing-group`,type:t.OPERATION,handler:(e,t)=>{let n=e.get(y),i=(t.drawings||n.getFocusDrawings()).map(e=>{if(e.drawingType!==r.DRAWING_GROUP)return null;let{unitId:t,subUnitId:i,drawingId:a,transform:o={width:0,height:0},groupBaseBound:s}=e;if(o===null)return null;let c=n.getDrawingsByGroup({unitId:t,subUnitId:i,drawingId:a});return c.length===0?null:{parent:e,children:c.map(e=>{let{transform:t}=e,{unitId:n,subUnitId:r,drawingId:i}=e,a=re(t||{},o,o.width||0,o.height||0,s);return{unitId:n,subUnitId:r,drawingId:i,transform:{...t,...a},groupId:void 0}})}}).filter(e=>e!==null);return i.length===0?!1:(n.featurePluginUngroupUpdateNotification(i),!0)}},qe={id:`sheet.operation.open-image-crop`,type:t.OPERATION,handler:(e,t)=>!0},J={id:`sheet.operation.close-image-crop`,type:t.OPERATION,handler:(e,t)=>!0};let Y=function(e){return e.FREE=`0`,e.R1_1=`1`,e.R16_9=`2`,e.R9_16=`3`,e.R5_4=`4`,e.R4_5=`5`,e.R4_3=`6`,e.R3_4=`7`,e.R3_2=`8`,e.R2_3=`9`,e}({});const Je={id:`sheet.operation.Auto-image-crop`,type:t.OPERATION,handler:(e,t)=>!0},Ye={id:`sheet.operation.image-reset-size`,type:t.OPERATION,handler:(e,t)=>!0};function Xe(e,t,n,r){let i=r.getDrawingByParam(e);if(i==null)return;let a=C(e),o=n.getObjectIncludeInGroup(a);if(o&&!(o instanceof O))return;if(o!=null){let e=o.getObjects();for(let n of e)if(n.oKey===t.oKey)return;o.addObject(t);return}let s=new D(a);n.addObject(s,E).attachTransformerTo(s),s.addObject(t);let{transform:c,groupBaseBound:l}=i;l&&s.setBaseBound(l),i.groupId&&(s.isInGroup=!0,Xe({drawingId:i.groupId,unitId:e.unitId,subUnitId:e.subUnitId},s,n,r)),c&&s.transformByState({left:c.left,top:c.top,angle:c.angle,width:c.width,height:c.height})}function Ze(e,t){let n=t?e.getUnit(t):e.getFocusedUnit();if(n==null)return;let r=n.getUnitId(),i;if(n.type===p.UNIVER_SHEET){var a;i=(a=n.getActiveSheet())==null?void 0:a.getSheetId()}else (n.type===p.UNIVER_DOC||n.type===p.UNIVER_SLIDE)&&(i=r);return{unitId:r,subUnitId:i,current:n}}var Qe=`@univerjs/drawing-ui`,$e=`0.19.0`;const et=`drawing-ui.config`;Symbol(et);const tt={},nt=e=>{let t=e.get(y);return new be(e=>{let n=t=>{if(!t||t.length===0||t.length<2)return e.next(!0);e.next(!1)},r=t.focus$.subscribe(t=>{if(!t||t.length===0)return e.next(!0);n(t)});return n(t.getFocusDrawings()),()=>r.unsubscribe()})},rt=`contextMenu.drawing-align`;function it(e){return{id:rt,type:F.SUBITEMS,icon:`HorizontallyIcon`,title:`image-panel.align.title`,hidden$:nt(e)}}function at(){return{id:Pe.id,type:F.BUTTON,icon:`LeftJustifyingIcon`,title:`image-panel.align.left`}}function ot(){return{id:Fe.id,type:F.BUTTON,icon:`HorizontallyIcon`,title:`image-panel.align.center`}}function st(){return{id:Ie.id,type:F.BUTTON,icon:`RightJustifyingIcon`,title:`image-panel.align.right`}}function ct(){return{id:Le.id,type:F.BUTTON,icon:`AlignTopIcon`,title:`image-panel.align.top`}}function lt(){return{id:Re.id,type:F.BUTTON,icon:`VerticalCenterIcon`,title:`image-panel.align.middle`}}function ut(){return{id:ze.id,type:F.BUTTON,icon:`AlignBottomIcon`,title:`image-panel.align.bottom`}}function dt(){return{id:Be.id,type:F.BUTTON,icon:`HorizontallyIcon`,title:`image-panel.align.horizon`}}function ft(){return{id:Ve.id,type:F.BUTTON,icon:`VerticalCenterIcon`,title:`image-panel.align.vertical`}}const pt=`contextMenu.drawing-arrange`;function mt(){return{id:pt,type:F.SUBITEMS,icon:`TopmostIcon`,title:`image-panel.arrange.title`}}function ht(){return{id:He.id,type:F.BUTTON,icon:`TopmostIcon`,title:`image-panel.arrange.front`}}function gt(){return{id:Ue.id,type:F.BUTTON,icon:`MoveUpIcon`,title:`image-panel.arrange.forward`}}function _t(){return{id:We.id,type:F.BUTTON,icon:`BottomIcon`,title:`image-panel.arrange.back`}}function vt(){return{id:Ge.id,type:F.BUTTON,icon:`MoveDownIcon`,title:`image-panel.arrange.backward`}}const yt=(e,t)=>{let n=e.get(y);return new be(e=>{let i=n=>{if(!n||n.length===0)return e.next(!0);if(t===`group`){if(n.length<2||!n.every(e=>Ke.includes(e.drawingType)))return e.next(!0)}else if(t===`unGroup`){if(n.filter(e=>e.drawingType===r.DRAWING_GROUP).length===0)return e.next(!0)}else if(!n.every(e=>Ke.includes(e.drawingType)))return e.next(!0);e.next(!1)},a=n.focus$.subscribe(t=>{if(!t||t.length===0)return e.next(!0);i(t)});return i(n.getFocusDrawings()),()=>a.unsubscribe()})},bt=`contextMenu.drawing-group`;function xt(e){return{id:bt,type:F.SUBITEMS,icon:`GroupIcon`,title:`image-panel.group.title`,hidden$:yt(e)}}function St(e){return{id:K.id,type:F.BUTTON,icon:`GroupIcon`,title:`image-panel.group.group`,disabled$:yt(e,`group`)}}function Ct(e){return{id:q.id,type:F.BUTTON,icon:`UngroupIcon`,title:`image-panel.group.unGroup`,disabled$:yt(e,`unGroup`)}}const wt={[he.DRAWING]:{[me.OTHERS]:{[bt]:{order:1,menuItemFactory:xt,[K.id]:{order:0,menuItemFactory:St},[q.id]:{order:1,menuItemFactory:Ct}},[pt]:{order:2,menuItemFactory:mt,[He.id]:{order:0,menuItemFactory:ht},[Ue.id]:{order:1,menuItemFactory:gt},[We.id]:{order:2,menuItemFactory:_t},[Ge.id]:{order:3,menuItemFactory:vt}},[rt]:{order:3,menuItemFactory:it,[Pe.id]:{order:0,menuItemFactory:at},[Fe.id]:{order:1,menuItemFactory:ot},[Ie.id]:{order:2,menuItemFactory:st},[Le.id]:{order:3,menuItemFactory:ct},[Re.id]:{order:4,menuItemFactory:lt},[ze.id]:{order:5,menuItemFactory:ut},[Be.id]:{order:6,menuItemFactory:dt},[Ve.id]:{order:7,menuItemFactory:ft}}}}},Tt=`COMPONENT_IMAGE_POPUP_MENU`;function Et(e){var t;let{popup:n}=e,r=n==null||(t=n.extraProps)==null?void 0:t.menuItems;if(!r)return null;let a=I(i),o=I(d),[s,c]=B(!1),[l,u]=B(!1),f=()=>{u(!0)},p=()=>{u(!1)},m=e=>{c(e)},h=e=>{a.executeCommand(e.commandId,e.commandParams),c(!1)},g=s||l;return V(`div`,{onMouseEnter:f,onMouseLeave:p,children:V(De,{align:`start`,items:r.filter(e=>!e.disable).map(e=>({type:`item`,children:o.t(e.label),onSelect:()=>h(e)})),open:s,onOpenChange:m,children:H(`div`,{className:z(`univer-flex univer-items-center univer-gap-2 univer-rounded univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-800`,Ae,{"univer-bg-gray-100 dark:!univer-bg-gray-800":s,"univer-bg-white dark:!univer-bg-gray-900":!s}),children:[V(ie,{className:`univer-fill-primary-600 univer-text-gray-900 dark:!univer-text-white`}),g&&V(ce,{className:`dark:!univer-text-white`})]})})})}function X(e,t){return function(n,r){t(n,r,e)}}function Z(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 Dt=class extends n{constructor(e,t,n){super(),this._componentManager=e,this._commandService=t,this._menuManagerService=n,this._init()}_init(){this._initMenus(),this._initCommands(),this._initComponents()}_initMenus(){this._menuManagerService.mergeMenu(wt)}_initCommands(){[qe,J,Ye,W,Pe,Fe,Ie,Le,Re,ze,Be,Ve,Je,K,q,G,He,Ue,We,Ge].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initComponents(){[[Tt,Et],[`BottomIcon`,ae],[`GroupIcon`,se],[`MoveDownIcon`,le],[`MoveUpIcon`,ue],[`TopmostIcon`,de],[`UngroupIcon`,fe]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}};Dt=Z([X(0,l(pe)),X(1,i),X(2,ve)],Dt);function Ot(e,t){let n=[];return e.forEach(e=>{let{oKey:i,left:a,top:o,height:s,width:c,angle:l}=e,u=t.getDrawingOKey(i);if(u==null)return n.push(null),!0;let{unitId:d,subUnitId:f,drawingId:p,drawingType:m}=u,h={unitId:d,subUnitId:f,drawingId:p,drawingType:m,transform:{left:a,top:o,height:s,width:c,angle:l}};m===r.DRAWING_IMAGE&&(h.srcRect=e.srcRect),n.push(h)}),n}function kt(e){"@babel/helpers - typeof";return kt=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},kt(e)}function At(e,t){if(kt(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(kt(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function jt(e){var t=At(e,`string`);return kt(t)==`symbol`?t:t+``}function Q(e,t,n){return(t=jt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let Mt=class extends n{constructor(e,t,n,r){super(),this._currentUniverService=e,this._commandService=t,this._renderManagerService=n,this._drawingManagerService=r,Q(this,`_sceneListenerOnDrawingMap`,new WeakSet),this._initialize()}dispose(){super.dispose()}_initialize(){this._recoveryImages(),this._drawingAddListener(),this._drawingRemoveListener(),this._drawingUpdateListener(),this._commandExecutedListener(),this._drawingArrangeListener(),this._drawingGroupListener(),this._drawingRefreshListener(),this._drawingVisibleListener()}_recoveryImages(){let e=this._drawingManagerService.drawingManagerData,t=Ze(this._currentUniverService);if(t==null)return;let{unitId:n,subUnitId:r}=t;Object.keys(e).forEach(t=>{Object.keys(e[t]).forEach(i=>{let a=e[t][i].data;a==null||t!==n||i!==r||Object.keys(a).forEach(e=>{a[e]&&this._insertDrawing([{unitId:t,subUnitId:i,drawingId:e}])})})})}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===W.id){let t=e.params;if(t==null)return;this._drawingAlign(t)}}))}_drawingGroupListener(){this.disposeWithMe(this._drawingManagerService.group$.subscribe(e=>{this._groupDrawings(e)})),this.disposeWithMe(this._drawingManagerService.ungroup$.subscribe(e=>{this._ungroupDrawings(e)}))}_getSceneAndTransformerByDrawingSearch(e){if(e==null)return;let t=this._renderManagerService.getRenderById(e),n=t==null?void 0:t.scene;return n==null?null:{scene:n,transformer:n.getTransformerByCreate()}}_groupDrawings(e){e.forEach(e=>{this._groupDrawing(e)})}_groupDrawing(e){let{parent:t,children:n}=e,{unitId:r,subUnitId:i,drawingId:a}=t,o=this._getSceneAndTransformerByDrawingSearch(t.unitId);if(o==null)return;let{scene:s,transformer:c}=o;this._commandService.syncExecuteCommand(J.id);let l=[];if(n.forEach(e=>{let t=C(e),n=s.getObjectIncludeInGroup(t);if(n==null||l.includes(n))return;l.push(n);let{transform:r}=e;r!=null&&(n.classType===j.GROUP?n.transformByState({left:r.left,top:r.top}):n.transformByState(r))}),l.length===0)return;let u=new D(C({unitId:r,subUnitId:i,drawingId:a}));s.addObject(u,E).attachTransformerTo(u),u.addObjects(...l),t.groupBaseBound&&u.setBaseBound(t.groupBaseBound),t.groupId&&(u.isInGroup=!0,Xe({drawingId:t.groupId,unitId:r,subUnitId:i},u,s,this._drawingManagerService)),t.transform&&u.transformByState({left:t.transform.left,top:t.transform.top,width:t.transform.width,height:t.transform.height,angle:t.transform.angle}),c.clearSelectedObjects(),c.setSelectedControl(u)}_ungroupDrawings(e){e.forEach(e=>{this._ungroupDrawing(e)})}_ungroupDrawing(e){let{parent:t,children:n}=e,r=this._getSceneAndTransformerByDrawingSearch(t.unitId);if(r==null)return;let{scene:i,transformer:a}=r;n.forEach(e=>{let t=C(e),n=i.getObjectIncludeInGroup(t);if(n==null)return!0;if(n==null)return;let{transform:r}=e;r!=null&&(n.classType===j.GROUP?n.transformByState({left:r.left,top:r.top}):n.transformByState(r))});let o=C(t),s=i.getObject(o),{width:c,height:l}=s;s.getObjects().forEach(e=>{s.removeSelfObjectAndTransform(e.oKey,c,l)}),s.dispose(),a.clearSelectedObjects()}_drawingAlign(e){let{alignType:t}=e,n=e.drawings||this._drawingManagerService.getFocusDrawings();if(t===U.default)return;let r=[],i=1/0,a=1/0,o=-1/0,s=-1/0,c=0;n.forEach(e=>{let{unitId:t,subUnitId:n,drawingId:l,drawingType:u}=e,d=this._drawingManagerService.getDrawingByParam({unitId:t,subUnitId:n,drawingId:l});if(d==null||d.transform==null)return;r.push({unitId:t,subUnitId:n,drawingId:l,drawingType:u,transform:d.transform});let{left:f=0,top:p=0,width:m=0,height:h=0}=d.transform;i=Math.min(i,f),a=Math.min(a,p),o=Math.max(o,f+m),s=Math.max(s,p+h),c++}),c!==0&&(this._sortDrawingTransform(r,t),this._applyAlignType(r,t,i,a,o,s,c))}_applyAlignType(e,t,n,r,i,a,o){let s=Math.round((i-n)/o*10)/10,c=Math.round((a-r)/o*10)/10,l=[],u=this._getSceneAndTransformerByDrawingSearch(e[0].unitId);if(u==null)return;let{scene:d,transformer:f}=u;e.forEach((e,o)=>{let{unitId:u,subUnitId:d,drawingId:f,transform:p,drawingType:m}=e,{left:h=0,top:g=0,width:_=0,height:v=0}=p,y=h,b=g;switch(t){case U.left:y=n;break;case U.center:y=n+(i-n)/2-_/2;break;case U.right:y=i-_;break;case U.top:b=r;break;case U.middle:b=r+(a-r)/2-v/2;break;case U.bottom:b=a-v;break;case U.horizon:y=n+s*o;break;case U.vertical:b=r+c*o;break;default:break}(y!==h||b!==g)&&l.push({unitId:u,subUnitId:d,drawingId:f,drawingType:m,transform:{left:y,top:b}})}),this._drawingManagerService.featurePluginUpdateNotification(l),f.refreshControls().changeNotification()}_sortDrawingTransform(e,t){e.sort((e,n)=>{let r=e.transform,i=n.transform,{left:a=0,top:o=0,width:s=0,height:c=0}=r,{left:l=0,top:u=0,width:d=0,height:f=0}=i;switch(t){case U.left:return a-l;case U.center:return a+s/2-(l+d/2);case U.right:return a+s-(l+d);case U.top:return o-u;case U.middle:return o+c/2-(u+f/2);case U.bottom:return o+c-(u+f);case U.horizon:return a+s/2-(l+d/2);case U.vertical:return o+c/2-(u+f/2);default:return 0}})}_drawingArrangeListener(){this.disposeWithMe(this._drawingManagerService.order$.subscribe(e=>{this._drawingArrange(e)}))}_drawingArrange(e){let{unitId:t,subUnitId:n,drawingIds:r}=e,i=this._getSceneAndTransformerByDrawingSearch(t);if(i==null)return;let{scene:a}=i;r.forEach(e=>{let r=C({unitId:t,subUnitId:n,drawingId:e}),i=a.fuzzyMathObjects(r,!0);if(i==null||i.length===0)return;let o=this._drawingManagerService.getDrawingOrder(t,n).indexOf(e);for(let e of i)e.setProps({zIndex:o}),e.makeDirty()})}_drawingAddListener(){this.disposeWithMe(this._drawingManagerService.add$.subscribe(e=>{this._insertDrawing(e)}))}_insertDrawing(e){let t=[];e.forEach(e=>{let{unitId:n}=e;if(this._drawingManagerService.getDrawingByParam(e)==null)return;let r=this._getSceneAndTransformerByDrawingSearch(n);if(r==null)return;let{scene:i}=r;t.includes(i)||t.push(i)}),t.forEach(e=>{this._sceneListenerOnDrawingMap.has(e)||(this._addListenerOnDrawing(e),this._sceneListenerOnDrawingMap.add(e))})}_drawingRemoveListener(){this.disposeWithMe(this._drawingManagerService.remove$.subscribe(e=>{e.forEach(e=>{let{unitId:t,subUnitId:n,drawingId:r}=e,i=this._getSceneAndTransformerByDrawingSearch(t);if(i==null)return;let{scene:a}=i,o=C({unitId:t,subUnitId:n,drawingId:r}),s=a.fuzzyMathObjects(o,!0);if(s.length>0){var c;for(let e of s)e.dispose();(c=a.getTransformer())==null||c.clearSelectedObjects()}})}))}_drawingUpdateListener(){this.disposeWithMe(this._drawingManagerService.update$.subscribe(e=>{e.forEach(e=>{var t;let{unitId:n,subUnitId:r,drawingId:i}=e,a=this._drawingManagerService.getDrawingByParam(e);if(a==null)return;let{transform:o,drawingType:s}=a,c=this._getSceneAndTransformerByDrawingSearch(n);if(c==null)return;let{scene:l,transformer:u}=c;if(o==null)return!0;let{left:d=0,top:f=0,width:p=0,height:m=0,angle:h=0,flipX:g=!1,flipY:_=!1,skewX:v=0,skewY:y=0}=o,b=C({unitId:n,subUnitId:r,drawingId:i}),x=l.getObject(b);if(x==null)return!0;x.transformByState({left:d,top:f,width:p,height:m,angle:h,flipX:g,flipY:_,skewX:v,skewY:y}),(t=l.getTransformer())==null||t.debounceRefreshControls()})}))}_drawingRefreshListener(){this.disposeWithMe(this._drawingManagerService.refreshTransform$.subscribe(e=>{e.forEach(e=>{let{unitId:t,subUnitId:n,drawingId:r}=e,i=this._getSceneAndTransformerByDrawingSearch(t);if(i==null)return;let a=this._drawingManagerService.getDrawingByParam(e);if(a==null)return;let{transform:o}=a,{scene:s}=i,c=C({unitId:t,subUnitId:n,drawingId:r}),l=s.getObject(c);if(l==null||o==null)return!0;let{left:u=0,top:d=0,width:f=0,height:p=0,angle:m=0,flipX:h=!1,flipY:g=!1,skewX:_=0,skewY:v=0}=o;l.transformByState({left:u,top:d,width:f,height:p,angle:m,flipX:h,flipY:g,skewX:_,skewY:v})})}))}_drawingVisibleListener(){this.disposeWithMe(this._drawingManagerService.visible$.subscribe(e=>{e.forEach(e=>{let{unitId:t,subUnitId:n,drawingId:r,visible:i}=e,a=this._getSceneAndTransformerByDrawingSearch(t);if(a==null)return;let{scene:o}=a,s=C({unitId:t,subUnitId:n,drawingId:r}),c=o.getObject(s);if(c==null)return!0;i?c.show():c.hide()})}))}_filterUpdateParams(e,t){return e.filter((e,n)=>{if(e==null)return!1;let{transform:r}=e;return m(r,t==null?void 0:t[n])})}_addListenerOnDrawing(e){let t=e.getTransformerByCreate(),n=null;this.disposeWithMe(v(t.changeStart$.subscribe(e=>{let{objects:t}=e,r=Array.from(t.values()),i=[];n=r.map(e=>{let{left:t,top:n,height:r,width:a,angle:o,oKey:s,isInGroup:c}=e,l=this._drawingManagerService.getDrawingOKey(s);if(c||e instanceof O){let t=e.ancestorGroup;if(t==null&&e instanceof O&&(t=e),t==null)return null;let n=this._drawingManagerService.getDrawingOKey(t.oKey);if(n){let{unitId:e,subUnitId:r,drawingId:a}=n;i.push({unitId:e,subUnitId:r,drawingId:a});let{left:o,top:s,height:c,width:l,angle:u}=t;return{left:o,top:s,height:c,width:l,angle:u}}}else if(l!=null){let{unitId:e,subUnitId:s,drawingId:c}=l;return i.push({unitId:e,subUnitId:s,drawingId:c}),{left:t,top:n,height:r,width:a,angle:o}}return null}).filter(e=>e!=null),i.length>0?this._commandService.syncExecuteCommand(S.id,i):this._commandService.syncExecuteCommand(S.id,[])}))),this.disposeWithMe(v(t.changeEnd$.subscribe(e=>{let{objects:t}=e,r=this._filterUpdateParams(Ot(t,this._drawingManagerService),n);r.length>0&&this._drawingManagerService.featurePluginUpdateNotification(r)})))}};Mt=Z([X(0,s),X(1,i),X(2,k),X(3,y)],Mt);var Nt=function(e){return e[e.RECT=0]=`RECT`,e[e.PATH=1]=`PATH`,e}(Nt||{}),Pt=class extends N{constructor(e,t){t==null&&(t={}),t.transformerConfig={keepRatio:!1,isCropper:!0,anchorFill:`rgb(0, 0, 0)`,anchorStroke:`rgb(255, 255, 255)`,anchorSize:24},super(e,t),Q(this,`_srcRect`,void 0),Q(this,`_prstGeom`,void 0),Q(this,`_applyTransform`,void 0),Q(this,`_dragPadding`,8),Q(this,`_cacheCanvas`,void 0),t!=null&&t.srcRect&&(this._srcRect=t.srcRect),t!=null&&t.prstGeom&&(this._prstGeom=t.prstGeom),t!=null&&t.applyTransform&&(this._applyTransform=t.applyTransform),t!=null&&t.dragPadding&&(this._dragPadding=t.dragPadding),this._applyProps()}refreshSrcRect(e,t){this._srcRect=e,this._applyTransform=t,this._applyProps()}get srcRect(){return this._srcRect}dispose(){var e;super.dispose(),(e=this._cacheCanvas)==null||e.dispose(),this._srcRect=null}isHit(e){let t=this.getInverseCoord(e);return t.x>=-this.strokeWidth/2&&t.x<=this.width+this.strokeWidth/2&&t.y>=-this.strokeWidth/2&&t.y<=this.height+this.strokeWidth/2&&!this._inSurround(t)}_inSurround(e){let t=this._dragPadding;return e.x>=t-this.strokeWidth/2&&e.x<=this.width+this.strokeWidth/2-t&&e.y>=t-this.strokeWidth/2&&e.y<=this.height+this.strokeWidth/2-t}render(e,t){return this.visible?(e.save(),this._draw(e),e.restore(),this.makeDirty(!1),this):(this.makeDirty(!1),this)}_draw(e){var t,n;let{width:r,height:i}=this.getScene().getEngine();this._initialCacheCanvas(),(t=this._cacheCanvas)==null||t.clear();let a=(n=this._cacheCanvas)==null?void 0:n.getContext();a!=null&&(a.save(),M.drawWith(a,{left:0,top:0,width:r,height:i,fill:`rgba(0, 0, 0, 0.5)`}),a.setTransform(e.getTransform()),this._clipForApplyObject(a),this._applyCache(e),a.restore())}_clipForApplyObject(e){let t=Nt.RECT;if(this._prstGeom!=null&&(t=Nt.PATH),e.globalCompositeOperation=`destination-out`,e.beginPath(),t===Nt.RECT){let t=this.transform.getMatrix();e.transform(t[0],t[1],t[2],t[3],t[4],t[5]),e.rect(0,0,this.width,this.height),e.fill()}}_applyProps(){if(this._applyTransform==null)return;let e=0,t=0,n=0,r=0,{left:i=0,top:a=0,width:o=0,height:s=0,angle:c}=this._applyTransform;if(this._srcRect!=null){let{left:i=0,top:a=0,right:o=0,bottom:s=0}=this._srcRect;e=i,t=a,n=o,r=s}let l=i+e,u=a+t;this.transformByState({left:l,top:u,width:i+o-n-l,height:a+s-r-u,angle:c})}_applyCache(e){if(!e||this._cacheCanvas==null)return;let t=this._cacheCanvas.getContext();t.save(),e.save(),e.setTransform(1,0,0,1,0,0),t.setTransform(1,0,0,1,0,0),e.drawImage(this._cacheCanvas.getCanvasEle(),0,0),e.restore(),t.restore()}_initialCacheCanvas(){if(this._cacheCanvas!=null)return;let e=this.getScene();if(e==null)return;this._cacheCanvas=new T;let t=e.getEngine();this._cacheCanvas.setSize(t.width,t.height),t.onTransformChange$.subscribeEvent(()=>{var e;(e=this._cacheCanvas)==null||e.setSize(t.width,t.height),this.makeDirty(!0)})}};let Ft=class extends n{constructor(e,t,n,r,i,a){super(),this._commandService=e,this._drawingManagerService=t,this._renderManagerService=n,this._univerInstanceService=r,this._messageService=i,this._localeService=a,Q(this,`_sceneListenerOnImageMap`,new WeakSet),this._init()}_init(){this._initOpenCrop(),this._initCloseCrop(),this._initAutoCrop()}_initAutoCrop(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==Je.id)return;let t=e.params;if(t==null)return;let{cropType:n}=t,r=this._drawingManagerService.getFocusDrawings();if(r.length!==1)return;let{unitId:i,subUnitId:a,drawingId:o}=r[0],s=this._renderManagerService.getRenderById(i),c=s==null?void 0:s.scene;if(c==null)return!0;this._searchCropObject(c)!=null&&this._commandService.syncExecuteCommand(J.id,{isAuto:!0});let l=C({unitId:i,subUnitId:a,drawingId:o}),u=c.getObject(l);if(!(u instanceof A)){this._messageService.show({type:Oe.Error,content:this._localeService.t(`image-cropper.error`)});return}u!=null&&(this._updateCropperObject(n,u),this._commandService.executeCommand(qe.id,{unitId:i,subUnitId:a,drawingId:o}))}))}_calculateSrcRectByRatio(e,t,n,r,i,a){let o=n/r,s=i/a,c=n,l=r;o>s?c=r*s:l=n/s;let u=(n-c)/2,d=(r-l)/2;return{left:ne(u,1),top:ne(d,1),right:ne(n-(u+c),1),bottom:ne(r-(d+l),1)}}_updateCropperObject(e,t){let{left:n,top:r,width:i,height:a}=t.calculateTransformWithSrcRect(),o;switch(e){case Y.R1_1:o=this._calculateSrcRectByRatio(n,r,i,a,1,1);break;case Y.R16_9:o=this._calculateSrcRectByRatio(n,r,i,a,16,9);break;case Y.R9_16:o=this._calculateSrcRectByRatio(n,r,i,a,9,16);break;case Y.R5_4:o=this._calculateSrcRectByRatio(n,r,i,a,5,4);break;case Y.R4_5:o=this._calculateSrcRectByRatio(n,r,i,a,4,5);break;case Y.R4_3:o=this._calculateSrcRectByRatio(n,r,i,a,4,3);break;case Y.R3_4:o=this._calculateSrcRectByRatio(n,r,i,a,3,4);break;case Y.R3_2:o=this._calculateSrcRectByRatio(n,r,i,a,3,2);break;case Y.R2_3:o=this._calculateSrcRectByRatio(n,r,i,a,2,3);break;case Y.FREE:default:break}if(o==null)return;t.setSrcRect(o);let{left:s=0,top:c=0,bottom:l=0,right:u=0}=o;t.transformByStateCloseCropper({left:n+s,top:r+c,width:i-u-s,height:a-l-c})}_initOpenCrop(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==qe.id)return;let t=e.params;if(t==null)return;let{unitId:n,subUnitId:r,drawingId:i}=t,a=this._renderManagerService.getRenderById(n),o=a==null?void 0:a.scene;if(o==null)return!0;if(this._sceneListenerOnImageMap.has(o)||(this._addListenerOnImage(o),this._sceneListenerOnImageMap.add(o)),this._drawingManagerService.getDrawingByParam({unitId:n,subUnitId:r,drawingId:i})==null)return;let s=C({unitId:n,subUnitId:r,drawingId:i}),c=o.getObject(s);if(c==null)return;if(!(c instanceof A)){this._messageService.show({type:Oe.Error,content:this._localeService.t(`image-cropper.error`)});return}let l=o.getTransformer();l==null||l.clearControls();let u=new Pt(`${s}-crop`,{srcRect:c.srcRect,prstGeom:c.prstGeom,applyTransform:c.calculateTransformWithSrcRect()});o.addObject(u,c.getLayerIndex()+1).attachTransformerTo(u),l==null||l.createControlForCopper(u),this._addHoverForImageCopper(u),c.openRenderByCropper(),l==null||l.refreshControls(),u.makeDirty(!0),this._commandService.syncExecuteCommand(S.id,[{unitId:n,subUnitId:r,drawingId:i}])}))}_searchCropObject(e){let t=e.getAllObjectsByOrder();for(let e of t)if(e instanceof Pt)return e}_initCloseCrop(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==J.id)return;let t=this._univerInstanceService.getFocusedUnit();if(t==null)return;let n=t.getUnitId(),r=this._renderManagerService.getRenderById(n),i=r==null?void 0:r.scene;if(i==null)return!0;let a=this._searchCropObject(i);if(a==null)return;let o=this._getApplyObjectByCropObject(a);if(o==null)return;let s=i.getTransformerByCreate();s.detachFrom(a),s.clearCopperControl();let c=this._getSrcRectByTransformState(o,a),l=this._drawingManagerService.getDrawingOKey(o.oKey);if(l!=null){let{left:e,top:t,height:n,width:r}=a;this._drawingManagerService.featurePluginUpdateNotification([{...l,transform:{...l.transform,left:e,top:t,height:n,width:r},srcRect:c.srcRectAngle}])}o.setSrcRect({...c.srcRectAngle}),o.closeRenderByCropper(),o.makeDirty(!0),a==null||a.dispose()}));let e=this._univerInstanceService.getCurrentTypeOfUnit$(p.UNIVER_SHEET).pipe(Te(e=>e?e.activeSheet$:we(null)));this.disposeWithMe(e.subscribe(()=>{this._commandService.syncExecuteCommand(J.id)}))}_getApplyObjectByCropObject(e){let t=e.oKey,n=t.slice(0,t.length-5),r=e.getScene();if(!r)return null;let i=r.getObject(n);return i==null?null:i}_addListenerOnImage(e){let t=e.getTransformerByCreate(),n=null;this.disposeWithMe(t.changeStart$.subscribe(e=>{let{objects:r}=e,i=r.values().next().value;if(i==null||!(i instanceof Pt))return;let{left:a,top:o,height:s,width:c,angle:l}=i;n={left:a,top:o,height:s,width:c,angle:l},t.clearCopperControl()})),this.disposeWithMe(t.changeEnd$.subscribe(e=>{let{objects:r}=e,i=r.values().next().value;if(i==null||!(i instanceof Pt))return;let{left:a,top:o,height:s,width:c,angle:l}=i;if(!m({left:a,top:o,height:s,width:c,angle:l},n))return;let u=this._getApplyObjectByCropObject(i);if(u==null)return;let d=this._getSrcRectByTransformState(u,i);i.refreshSrcRect(d.srcRect,u.getState()),t.createControlForCopper(i)})),this._endCropListener(e)}_addHoverForImageCopper(e){this.disposeWithMe(e.onPointerEnter$.subscribeEvent(()=>{e.cursor=w.MOVE})),this.disposeWithMe(e.onPointerLeave$.subscribeEvent(()=>{e.cursor=w.DEFAULT}))}_endCropListener(e){let t=e.getTransformerByCreate();this.disposeWithMe(t.clearControl$.subscribe(e=>{e===!0&&this._commandService.syncExecuteCommand(J.id)}))}_getSrcRectByTransformState(e,t){let{left:n,top:r,height:i,width:a,strokeWidth:o,angle:s}=t,{left:c,top:l,width:u,height:d,angle:f,strokeWidth:p}=e,m=n-c,h=r-l,g={left:m,top:h,right:u-m-a,bottom:d-h-i},_={...g};if(f!==0){let e=new P(n+a/2,r+i/2),t=new P(u/2+c,d/2+l),o=new P(c,l);o.rotateByPoint(ee(f),t);let s=o.clone();s.rotateByPoint(ee(-f),e);let p=n-s.x,m=r-s.y;_.left=p,_.top=m,_.right=u-p-a,_.bottom=d-m-i}return{srcRect:g,srcRectAngle:_}}};Ft=Z([X(0,i),X(1,y),X(2,k),X(3,s),X(4,ye),X(5,l(d))],Ft);let It=class{constructor(e,t,n,r,i){this._drawingManagerService=e,this._imageIoService=t,this._galleryService=n,this._urlImageService=r,this._univerInstanceService=i}async renderImages(e,t){let{transform:n,drawingType:i,source:a,imageSourceType:o,srcRect:s,prstGeom:c,groupId:l,unitId:u,subUnitId:d,drawingId:f,isMultiTransform:m,transforms:h}=e;if(i!==r.DRAWING_IMAGE||!this._drawingManagerService.getDrawingVisible()||this._univerInstanceService.getUnitType(u)===p.UNIVER_SHEET&&d!==this._getActiveSheetId()||n==null)return;let g=m&&h?h:[n],_=[];for(let e of g){let{left:n,top:r,width:i,height:p,angle:h,flipX:v,flipY:y,skewX:b,skewY:S}=e,w=g.indexOf(e),T=C({unitId:u,subUnitId:d,drawingId:f},m?w:void 0),D=t.getObject(T);if(D!=null){D.transformByState({left:n,top:r,width:i,height:p,angle:h,flipX:v,flipY:y,skewX:b,skewY:S});continue}let O=this._drawingManagerService.getDrawingOrder(u,d),k=O.indexOf(f),j={...e,zIndex:k===-1?O.length-1:k},M=this._imageIoService.getImageSourceCache(a,o),N=!1;if(M!=null)j.image=M;else if(o===x.UUID)try{j.url=await this._imageIoService.getImage(a)}catch(e){console.error(e);continue}else if(o===x.URL){try{j.url=await this._urlImageService.getImage(a)}catch(e){console.error(e),j.url=a}N=!0}else j.url=a,N=!0;if(t.getObject(T))continue;j.printable=!0;let P=new A(T,j);N&&this._imageIoService.addImageSourceCache(a,o,P.getNative()),t.addObject(P,E),this._drawingManagerService.getDrawingEditable()&&t.attachTransformerTo(P),l&&Xe({drawingId:l,unitId:u,subUnitId:d},P,t,this._drawingManagerService),c!=null&&P.setPrstGeom(c),s!=null&&P.setSrcRect(s),_.push(P)}return _}_getActiveSheetId(){var e;return(e=this._univerInstanceService.getCurrentUnitOfType(p.UNIVER_SHEET))==null||(e=e.getActiveSheet())==null?void 0:e.getSheetId()}renderFloatDom(e,t){let{transform:n,drawingType:i,groupId:a,unitId:o,subUnitId:s,drawingId:c,isMultiTransform:l,transforms:u}=e;if(i!==r.DRAWING_DOM||!this._drawingManagerService.getDrawingVisible()||n==null)return;let d=l&&u?u:[n],f=[];for(let n of d){let{left:r,top:i,width:u,height:p,angle:m,flipX:h,flipY:g,skewX:_,skewY:v}=n,y=d.indexOf(n),b=C({unitId:o,subUnitId:s,drawingId:c},l?y:void 0),x=t.getObject(b);if(x!=null){x.transformByState({left:r,top:i,width:u,height:p,angle:m,flipX:h,flipY:g,skewX:_,skewY:v});continue}let S=this._drawingManagerService.getDrawingOrder(o,s),w=S.indexOf(c),T={...n,zIndex:w===-1?S.length-1:w};if(t.getObject(b))continue;T.printable=!1;let D=new M(b,T);this._drawingManagerService.getDrawingVisible()&&(t.addObject(D,E),this._drawingManagerService.getDrawingEditable()&&e.allowTransform!==!1&&t.attachTransformerTo(D),a&&Xe({drawingId:a,unitId:o,subUnitId:s},D,t,this._drawingManagerService),f.push(D))}return f}renderDrawing(e,t){let n=this._drawingManagerService.getDrawingByParam(e);if(n!=null)switch(n.drawingType){case r.DRAWING_IMAGE:return this.renderImages(n,t);default:}}previewImage(e,t,n,r){this._galleryService.open({images:[t],onOpenChange:e=>{e||this._galleryService.close()}})}_adjustImageSize(e,t,n,r){if(e<=n&&t<=r)return{width:e,height:t};let i=n/e,a=r/t,o=Math.min(i,a);return{width:Math.floor(e*o),height:Math.floor(t*o)}}};It=Z([X(0,y),X(1,b),X(2,_e),X(3,o),X(4,s)],It);let Lt=class extends n{constructor(e,t,n,r,i,a,o){super(),this._commandService=e,this._renderManagerService=t,this._drawingManagerService=n,this._dialogService=r,this._imageIoService=i,this._currentUniverService=a,this._drawingRenderService=o,this._initialize()}dispose(){super.dispose()}_initialize(){this._drawingAddListener(),this._commandExecutedListener(),this._imageUpdateListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Ye.id){let t=e.params;if(t==null)return;this._resetImageSize(t)}}))}_getSceneAndTransformerByDrawingSearch(e){if(e==null)return;let t=this._renderManagerService.getRenderById(e),n=t==null?void 0:t.scene;return n==null?null:{scene:n,transformer:n.getTransformerByCreate()}}_resetImageSize(e){let t=[],n=[];e.forEach(e=>{let{unitId:i,subUnitId:a,drawingId:o}=e,s=this._getSceneAndTransformerByDrawingSearch(i);if(s==null)return;let{scene:c}=s,l=C({unitId:i,subUnitId:a,drawingId:o}),u=c.getObject(l);if(u==null)return!0;let d=this._drawingManagerService.getDrawingByParam(e);if(d==null)return!0;if(d.drawingType!==r.DRAWING_IMAGE)return;u.resetSize();let{width:f,height:p}=u.getNativeSize();n.includes(c)===!1&&n.push(c),t.push({...d,transform:{...d.transform,height:p,width:f,angle:0},srcRect:null,prstGeom:null})}),this._drawingManagerService.featurePluginUpdateNotification(t),n.forEach(e=>{e.getTransformerByCreate().refreshControls().changeNotification()}),this._commandService.syncExecuteCommand(S.id,e)}_drawingAddListener(){this.disposeWithMe(this._drawingManagerService.add$.pipe(xe(33),Se(e=>e.length>0),Ce(e=>e.flat()),Ce(e=>{let t=new Map;for(let n of e)t.set(`${n.unitId}|${n.subUnitId}|${n.drawingId}`,n);return[...t.values()]}),Se(e=>e.length>0)).subscribe(e=>{this._insertImages(e)}))}_insertImages(e){e.forEach(async e=>{var t;let{unitId:n,subUnitId:r}=e,i=this._getSceneAndTransformerByDrawingSearch(n),a=(t=Ze(this._currentUniverService,n))==null?void 0:t.subUnitId;if(i==null||a!==r)return;let o=this._drawingManagerService.getDrawingByParam(e);if(o==null)return;let s=await this._drawingRenderService.renderImages(o,i.scene);if(this._drawingManagerService.refreshTransform([o]),!(s==null||s.length===0))for(let e of s)this._addHoverForImage(e),this._addDialogForImage(e)})}_imageUpdateListener(){this.disposeWithMe(this._drawingManagerService.update$.subscribe(e=>{e.forEach(e=>{let{unitId:t,subUnitId:n,drawingId:i}=e,a=this._drawingManagerService.getDrawingByParam(e);if(a==null)return;let{transform:o,drawingType:s,srcRect:l,prstGeom:u,source:d,imageSourceType:f}=a;if(s!==r.DRAWING_IMAGE)return;let p=this._getSceneAndTransformerByDrawingSearch(t);if(p==null)return;let{scene:m,transformer:h}=p;if(o==null)return!0;let g=C({unitId:t,subUnitId:n,drawingId:i}),_=m.getObject(g);if(_==null)return!0;_.setSrcRect(l),_.setPrstGeom(u),d!=null&&d.length>0&&(f===c.BASE64||f===c.URL)&&_.changeSource(d)})}))}_addHoverForImage(e){this.disposeWithMe(v(e.onPointerEnter$.subscribeEvent(()=>{e.cursor=w.GRAB}))),this.disposeWithMe(v(e.onPointerLeave$.subscribeEvent(()=>{e.cursor=w.DEFAULT})))}_addDialogForImage(e){this.disposeWithMe(v(e.onDblclick$.subscribeEvent(()=>{let t=`${e.oKey}-viewer-dialog`;this._drawingRenderService.previewImage(t,e.getNative().src,e.getNativeSize().width,e.getNativeSize().height)})))}};Lt=Z([X(0,i),X(1,k),X(2,y),X(3,ge),X(4,b),X(5,s),X(6,l(It))],Lt);let $=class extends f{constructor(e=tt,t,n){super(),this._config=e,this._injector=t,this._configService=n;let{menu:r,...i}=_({},tt,this._config);r&&this._configService.setConfig(`menu`,r,{merge:!0}),this._configService.setConfig(et,i)}onStarting(){this._initDependencies()}onRendered(){this._injector.get(Mt),this._injector.get(Dt),this._injector.get(Ft),this._injector.get(Lt)}_initDependencies(){[[It],[Mt],[Dt],[Ft],[Lt]].forEach(e=>this._injector.add(e))}};Q($,`pluginName`,`UNIVER_DRAWING_UI_PLUGIN`),Q($,`packageName`,Qe),Q($,`version`,$e),$=Z([X(1,l(u)),X(2,a)],$);const Rt=e=>{let t=I(i),n=I(d),{drawings:r,alignShow:a}=e,[o,s]=B(U.default),c=[{label:n.t(`image-panel.align.default`),value:U.default},{options:[{label:n.t(`image-panel.align.left`),value:U.left},{label:n.t(`image-panel.align.center`),value:U.center},{label:n.t(`image-panel.align.right`),value:U.right}]},{options:[{label:n.t(`image-panel.align.top`),value:U.top},{label:n.t(`image-panel.align.middle`),value:U.middle},{label:n.t(`image-panel.align.bottom`),value:U.bottom}]},{options:[{label:n.t(`image-panel.align.horizon`),value:U.horizon},{label:n.t(`image-panel.align.vertical`),value:U.vertical}]}];function l(e){s(e),t.executeCommand(W.id,{alignType:e,drawings:r})}return H(`div`,{className:z(`univer-relative univer-w-full`,{"univer-hidden":!a}),children:[V(`header`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:V(`div`,{children:n.t(`image-panel.align.title`)})}),V(`div`,{className:`univer-relative univer-mt-2.5 univer-flex univer-h-full`,children:V(`div`,{className:`univer-w-full univer-text-gray-900 dark:!univer-text-white`,children:V(ke,{value:o,options:c,onChange:l})})})]})},zt=t=>{let{arrangeShow:n,drawings:r}=t,a=I(d),o=I(y),s=I(i),c=I(pe),l=c.get(`MoveUpIcon`),u=c.get(`MoveDownIcon`),f=c.get(`TopmostIcon`),p=c.get(`BottomIcon`),[m,h]=B(r);je(()=>{let e=o.focus$.subscribe(e=>{h(e)});return()=>{e.unsubscribe()}},[]);let g=e=>{s.syncExecuteCommand(G.id,{arrangeType:e,drawings:m})};return H(`div`,{className:z(`univer-grid univer-gap-2 univer-py-2 univer-text-gray-400`,{"univer-hidden":!n}),children:[V(`header`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:V(`div`,{children:a.t(`image-panel.arrange.title`)})}),H(`div`,{className:`univer-grid univer-grid-cols-2 univer-gap-2`,children:[H(L,{onClick:()=>{g(e.forward)},children:[V(l,{}),a.t(`image-panel.arrange.forward`)]}),H(L,{onClick:()=>{g(e.backward)},children:[V(u,{}),a.t(`image-panel.arrange.backward`)]}),H(L,{onClick:()=>{g(e.front)},children:[V(f,{}),a.t(`image-panel.arrange.front`)]}),H(L,{onClick:()=>{g(e.back)},children:[V(p,{}),a.t(`image-panel.arrange.back`)]})]})]})},Bt=e=>{let t=I(d),n=I(k),a=I(y),o=I(i),s=I(pe),{hasGroup:c,drawings:l}=e,u=s.get(`GroupIcon`),f=s.get(`UngroupIcon`),[p,m]=B(!1),[h,g]=B(!0),[_,v]=B(!0),b=()=>{o.syncExecuteCommand(K.id,{drawings:l})},x=()=>{o.syncExecuteCommand(q.id,{drawings:l})};return je(()=>{let e=l[0];if(e==null)return;let{unitId:t}=e,i=n.getRenderById(t),o=i==null?void 0:i.scene;if(o==null)return;let s=o.getTransformerByCreate(),c=s.clearControl$.subscribe(e=>{e===!0&&m(!1)}),u=s.changeStart$.subscribe(e=>{let{objects:t}=e,n=Ot(t,a),i=n.filter(e=>(e==null?void 0:e.drawingType)===r.DRAWING_GROUP),o=!1,s=!1;n.length>1&&(o=!0),i.length>0&&(s=!0),m(o||s),g(o),v(s)});return()=>{u.unsubscribe(),c.unsubscribe()}},[]),H(`div`,{className:z(`univer-grid univer-gap-2 univer-py-2 univer-text-gray-400`,{"univer-hidden":c===!0&&p===!1||c===!1}),children:[V(`header`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:V(`div`,{children:t.t(`image-panel.group.title`)})}),H(`div`,{className:`univer-flex univer-items-center univer-justify-center univer-gap-2`,children:[H(L,{className:z({"univer-hidden":!h}),onClick:b,children:[V(u,{}),t.t(`image-panel.group.group`)]}),H(L,{className:z({"univer-hidden":!_}),onClick:x,children:[V(f,{}),t.t(`image-panel.group.unGroup`)]})]})]})},Vt=[-360,360],Ht=e=>{var t;let n=I(d),r=I(y),i=I(k),{drawings:a,transformShow:o}=e,s=a[0];if(s==null)return;let c=s.transform;if(c==null)return;let{unitId:l,subUnitId:u,drawingId:f,drawingType:p}=s,m=i.getRenderById(l),g=m==null?void 0:m.scene;if(g==null)return;let _=(t=g.getEngine())==null?void 0:t.activeScene;if(_==null)return;let v=g.getTransformerByCreate(),{width:b=0,height:x=0,left:S=0,top:C=0,angle:w=0}=c,[T,E]=B(b),[D,O]=B(x),[A,j]=B(S),[M,N]=B(C),[P,ee]=B(w),[te,ne]=B(v.keepRatio),re=(e,t,n,r)=>{let{width:i,height:a}=_,{ancestorLeft:o,ancestorTop:s}=g,c=e,l=t,u=n,d=r;return e+o<0&&(c=-o),t+s<0&&(l=-s),u=i-c-o,u<20&&(u=20),d=a-l-s,d<20&&(d=20),e+u+o>i&&(c=i-n-o),t+d+s>a&&(l=a-r-s),{limitLeft:c,limitTop:l,limitWidth:u,limitHeight:d}},ie=e=>{let{objects:t}=e,n=Ot(t,r);if(n.length!==1)return;let i=n[0];if(i==null)return;let{transform:a}=i;if(a==null)return;let{width:o,height:s,left:c,top:l,angle:u}=a;o!=null&&E(o),s!=null&&O(s),c!=null&&j(c),l!=null&&N(l),u!=null&&ee(u)};je(()=>{let e=[v.changeStart$.subscribe(e=>{ie(e)}),v.changing$.subscribe(e=>{ie(e)}),v.changeEnd$.subscribe(e=>{ie(e)}),r.focus$.subscribe(e=>{if(e.length!==1)return;let t=r.getDrawingByParam(e[0]);if(t==null)return;let n=t.transform;if(n==null)return;let{width:i,height:a,left:o,top:s,angle:c}=n;i!=null&&E(i),a!=null&&O(a),o!=null&&j(o),s!=null&&N(s),c!=null&&ee(c)})];return()=>{e.forEach(e=>e.unsubscribe())}},[]);let ae=h(e=>{if(e==null)return;let{limitWidth:t,limitHeight:n}=re(A,M,e,D);e=Math.min(e,t);let i={unitId:l,subUnitId:u,drawingId:f,drawingType:p,transform:{width:e}};if(te){let t=e/T*D;if(t=Math.max(t,20),t>n)return;O(t),i.transform.height=t}E(e),r.featurePluginUpdateNotification([i]),v.refreshControls().changeNotification()},300),oe=h(e=>{if(e==null)return;let{limitHeight:t,limitWidth:n}=re(A,M,T,e);e=Math.min(e,t);let i={unitId:l,subUnitId:u,drawingId:f,drawingType:p,transform:{height:e}};if(te){let t=e/D*T;if(t=Math.max(t,20),t>n)return;E(t),i.transform.width=t}O(e),r.featurePluginUpdateNotification([i]),v.refreshControls().changeNotification()},300),se=h(e=>{if(e==null)return;let{limitLeft:t}=re(e,M,T,D);e=t;let n={unitId:l,subUnitId:u,drawingId:f,drawingType:p,transform:{left:e}};j(e),r.featurePluginUpdateNotification([n]),v.refreshControls().changeNotification()},300),ce=h(e=>{if(e==null)return;let{limitTop:t}=re(A,e,T,D);e=t;let n={unitId:l,subUnitId:u,drawingId:f,drawingType:p,transform:{top:e}};N(e),r.featurePluginUpdateNotification([n]),v.refreshControls().changeNotification()},300),le=e=>{if(e==null)return;let t={unitId:l,subUnitId:u,drawingId:f,drawingType:p,transform:{angle:e}};ee(e),r.featurePluginUpdateNotification([t]),v.refreshControls().changeNotification()},ue=e=>{ne(e),v.keepRatio=e};return H(`div`,{className:z(`univer-grid univer-gap-2 univer-py-2 univer-text-gray-400`,{"univer-hidden":!o}),children:[V(`header`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:V(`div`,{children:n.t(`image-panel.transform.title`)})}),H(`div`,{className:`univer-grid univer-grid-cols-3 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2`,children:[H(`div`,{children:[V(`span`,{children:n.t(`image-panel.transform.width`)}),V(R,{precision:1,value:T,min:20,onChange:e=>{ae(e)}})]}),H(`div`,{children:[V(`span`,{children:n.t(`image-panel.transform.height`)}),V(R,{precision:1,value:D,min:20,onChange:e=>{oe(e)}})]}),H(`div`,{children:[V(`span`,{children:n.t(`image-panel.transform.lock`)}),V(`div`,{className:`univer-text-center`,children:V(Ee,{checked:te,onChange:ue})})]})]}),H(`div`,{className:`univer-grid univer-grid-cols-3 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2`,children:[H(`div`,{children:[V(`span`,{children:n.t(`image-panel.transform.x`)}),V(R,{precision:1,value:A,onChange:e=>{se(e)}})]}),H(`div`,{children:[V(`span`,{children:n.t(`image-panel.transform.y`)}),V(R,{precision:1,value:M,onChange:e=>{ce(e)}})]}),H(`div`,{children:[V(`span`,{children:n.t(`image-panel.transform.rotate`)}),V(R,{precision:1,value:P,min:Vt[0],max:Vt[1],onChange:le})]})]})]})},Ut=e=>{let t=I(i),n=I(d),{drawings:r,cropperShow:a}=e;if(r[0]==null)return;let[o,s]=B(Y.FREE),c=Me(!1),l=[{label:n.t(`image-panel.crop.mode`),value:Y.FREE},{label:`1:1`,value:Y.R1_1},{label:`16:9`,value:Y.R16_9},{label:`9:16`,value:Y.R9_16},{label:`5:4`,value:Y.R5_4},{label:`4:5`,value:Y.R4_5},{label:`4:3`,value:Y.R4_3},{label:`3:4`,value:Y.R3_4},{label:`3:2`,value:Y.R3_2},{label:`2:3`,value:Y.R2_3}];je(()=>{let e=t.onCommandExecuted(e=>{if(e.id===J.id){let t=e.params;t!=null&&t.isAuto||(c.current=!1)}});return()=>{e==null||e.dispose()}},[]);function u(e){s(e),c.current&&t.executeCommand(Je.id,{cropType:e})}let f=e=>{t.executeCommand(Je.id,{cropType:e}),c.current=!0};return H(`div`,{className:z(`univer-grid univer-gap-2 univer-py-2 univer-text-gray-400`,{"univer-hidden":!a}),children:[V(`header`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:V(`div`,{children:n.t(`image-panel.crop.title`)})}),H(`div`,{className:`univer-flex univer-items-center univer-justify-center univer-gap-2`,children:[H(L,{onClick:()=>{f(o)},children:[V(oe,{}),n.t(`image-panel.crop.start`)]}),V(ke,{value:o,options:l,onChange:u})]})]})},Wt=e=>{let t=I(y),n=I(k),r=I(d),{drawings:i,hasArrange:a=!0,hasTransform:o=!0,hasAlign:s=!0,hasCropper:c=!0,hasGroup:l=!0}=e,u=i[0];if(u==null)return;let{unitId:f}=u,p=n.getRenderById(f),m=p==null?void 0:p.scene;if(m==null)return;let h=m.getTransformerByCreate(),[g,_]=B(!0),[v,b]=B(!0),[x,S]=B(!1),[C,w]=B(!0),[T,E]=B(!1);return je(()=>{let e=h.clearControl$.subscribe(e=>{e===!0&&(_(!1),b(!1),S(!1),w(!1),E(!0))}),n=h.changeStart$.subscribe(e=>{let{objects:n}=e,r=Ot(n,t);r.length===0?(_(!1),b(!1),S(!1),w(!1),E(!0)):r.length===1?(_(!0),b(!0),S(!1),w(!0),E(!1)):(_(!0),b(!1),S(!0),w(!1),E(!1))}),r=t.focus$.subscribe(e=>{e.length===0?(_(!1),b(!1),S(!1),w(!1),E(!0)):e.length===1?(_(!0),b(!0),S(!1),w(!0),E(!1)):(_(!0),b(!1),S(!0),w(!1),E(!1))});return()=>{n.unsubscribe(),e.unsubscribe(),r.unsubscribe()}},[]),H(Ne,{children:[V(`div`,{className:z(`univer-h-full`,{"univer-hidden":!T}),children:V(`div`,{className:`univer-flex univer-h-full univer-items-center univer-justify-center`,children:V(`span`,{children:r.t(`image-panel.null`)})})}),V(zt,{arrangeShow:a===!0?g:!1,drawings:i}),V(Ht,{transformShow:o===!0?v:!1,drawings:i}),V(Rt,{alignShow:s===!0?x:!1,drawings:i}),V(Ut,{cropperShow:c===!0?C:!1,drawings:i}),V(Bt,{hasGroup:l,drawings:i})]})};export{Je as AutoImageCropOperation,Tt as COMPONENT_IMAGE_POPUP_MENU,q as CancelDrawingGroupOperation,J as CloseImageCropOperation,Ke as DRAWING_GROUP_TYPES,Wt as DrawingCommonPanel,It as DrawingRenderService,Pt as ImageCropperObject,Et as ImagePopupMenu,Ye as ImageResetSizeOperation,qe as OpenImageCropOperation,W as SetDrawingAlignOperation,G as SetDrawingArrangeOperation,K as SetDrawingGroupOperation,$ as UniverDrawingUIPlugin,Ze as getCurrentUnitInfo,Ot as getUpdateParams,Xe as insertGroupObject};
|
|
1
|
+
import{ArrangeTypeEnum as e,CommandType as t,Disposable as n,DrawingTypeEnum as r,ICommandService as i,IConfigService as a,IURLImageService as o,IUniverInstanceService as s,ImageSourceType as c,Inject as l,Injector as u,LocaleService as d,Plugin as f,UniverInstanceType as p,checkIfMove as m,debounce as h,generateRandomId as g,merge as _,toDisposable as v}from"@univerjs/core";import{IDrawingManagerService as y,IImageIoService as b,ImageSourceType as x,SetDrawingSelectedOperation as S,getDrawingShapeKeyByDrawingSearch as C}from"@univerjs/drawing";import{CURSOR_TYPE as w,Canvas as T,DRAWING_OBJECT_LAYER_INDEX as E,DrawingGroupObject as D,Group as O,IRenderManagerService as k,Image as A,RENDER_CLASS_TYPE as j,Rect as M,Shape as N,Vector2 as P,degToRad as F,getGroupState as ee,precisionTo as I,transformObjectOutOfGroup as te}from"@univerjs/engine-render";import{AutofillDoubleIcon as ne,BottomIcon as re,CreateCopyIcon as ie,GroupIcon as ae,MoreDownIcon as oe,MoveDownIcon as se,MoveUpIcon as ce,TopmostIcon as le,UngroupIcon as ue}from"@univerjs/icons";import{ComponentManager as de,ContextMenuGroup as fe,ContextMenuPosition as pe,IDialogService as me,IGalleryService as he,IMenuManagerService as ge,IMessageService as _e,MenuItemType as L,useDependency as R,useObservable as ve}from"@univerjs/ui";import{BehaviorSubject as ye,Observable as be,bufferTime as xe,filter as Se,map as Ce,of as we,switchMap as Te}from"rxjs";import{Button as z,Checkbox as Ee,DropdownMenu as De,InputNumber as Oe,MessageType as ke,Select as Ae,borderClassName as je,clsx as B}from"@univerjs/design";import{useEffect as Me,useRef as Ne,useState as V}from"react";import{Fragment as Pe,jsx as H,jsxs as U}from"react/jsx-runtime";let W=function(e){return e.default=`0`,e.left=`1`,e.center=`2`,e.right=`3`,e.top=`4`,e.middle=`5`,e.bottom=`6`,e.horizon=`7`,e.vertical=`8`,e}({});const G={id:`sheet.operation.set-image-align`,type:t.OPERATION,handler:(e,t)=>!0},Fe={id:`sheet.operation.set-drawing-align-left`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(G.id,{alignType:W.left})},Ie={id:`sheet.operation.set-drawing-align-center`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(G.id,{alignType:W.center})},Le={id:`sheet.operation.set-drawing-align-right`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(G.id,{alignType:W.right})},Re={id:`sheet.operation.set-drawing-align-top`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(G.id,{alignType:W.top})},ze={id:`sheet.operation.set-drawing-align-middle`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(G.id,{alignType:W.middle})},Be={id:`sheet.operation.set-drawing-align-bottom`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(G.id,{alignType:W.bottom})},Ve={id:`sheet.operation.set-drawing-align-horizon`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(G.id,{alignType:W.horizon})},He={id:`sheet.operation.set-drawing-align-vertical`,type:t.OPERATION,handler:e=>e.get(i).syncExecuteCommand(G.id,{alignType:W.vertical})},K={id:`drawing.operation.set-drawing-arrange`,type:t.OPERATION,handler:(e,t)=>{let n=e.get(y),{arrangeType:r}=t,i=t.drawings||n.getFocusDrawings(),{unitId:a,subUnitId:o}=i[0],s=i.map(e=>e.drawingId);return n.featurePluginOrderUpdateNotification({unitId:a,subUnitId:o,drawingIds:s,arrangeType:r}),!0}},Ue={id:`drawing.operation.set-drawing-arrange-front`,type:t.OPERATION,handler:t=>t.get(i).syncExecuteCommand(K.id,{arrangeType:e.front})},We={id:`drawing.operation.set-drawing-arrange-forward`,type:t.OPERATION,handler:t=>t.get(i).syncExecuteCommand(K.id,{arrangeType:e.forward})},Ge={id:`drawing.operation.set-drawing-arrange-back`,type:t.OPERATION,handler:t=>t.get(i).syncExecuteCommand(K.id,{arrangeType:e.back})},Ke={id:`drawing.operation.set-drawing-arrange-backward`,type:t.OPERATION,handler:t=>t.get(i).syncExecuteCommand(K.id,{arrangeType:e.backward})},qe=[r.DRAWING_IMAGE,r.DRAWING_SHAPE,r.DRAWING_GROUP],Je={id:`drawing.operation.set-drawing-group`,type:t.OPERATION,handler:(e,t)=>{let n=e.get(y),i=t.drawings||n.getFocusDrawings();if(i.length<2||!i.every(e=>qe.includes(e.drawingType)))return!1;let{unitId:a,subUnitId:o}=i[0],s=g(10),c=ee(0,0,i.map(e=>e.transform||{})),l={unitId:a,subUnitId:o,drawingId:s,drawingType:r.DRAWING_GROUP,transform:c,groupBaseBound:{left:c.left,top:c.top,width:c.width,height:c.height}},u=i.map(e=>{let t=e.transform||{left:0,top:0},{unitId:n,subUnitId:r,drawingId:i}=e;return{unitId:n,subUnitId:r,drawingId:i,transform:{...t},groupId:s}});return n.featurePluginGroupUpdateNotification([{parent:l,children:u}]),!0}},Ye={id:`drawing.operation.cancel-drawing-group`,type:t.OPERATION,handler:(e,t)=>{let n=e.get(y),i=(t.drawings||n.getFocusDrawings()).map(e=>{if(e.drawingType!==r.DRAWING_GROUP)return null;let{unitId:t,subUnitId:i,drawingId:a,transform:o={width:0,height:0},groupBaseBound:s}=e;if(o===null)return null;let c=n.getDrawingsByGroup({unitId:t,subUnitId:i,drawingId:a});return c.length===0?null:{parent:e,children:c.map(e=>{let{transform:t}=e,{unitId:n,subUnitId:r,drawingId:i}=e,a=te(t||{},o,o.width||0,o.height||0,s);return{unitId:n,subUnitId:r,drawingId:i,transform:{...t,...a},groupId:void 0}})}}).filter(e=>e!==null);return i.length===0?!1:(n.featurePluginUngroupUpdateNotification(i),!0)}},Xe={id:`sheet.operation.open-image-crop`,type:t.OPERATION,handler:(e,t)=>!0},q={id:`sheet.operation.close-image-crop`,type:t.OPERATION,handler:(e,t)=>!0};let J=function(e){return e.FREE=`0`,e.R1_1=`1`,e.R16_9=`2`,e.R9_16=`3`,e.R5_4=`4`,e.R4_5=`5`,e.R4_3=`6`,e.R3_4=`7`,e.R3_2=`8`,e.R2_3=`9`,e}({});const Ze={id:`sheet.operation.Auto-image-crop`,type:t.OPERATION,handler:(e,t)=>!0},Qe={id:`sheet.operation.image-reset-size`,type:t.OPERATION,handler:(e,t)=>!0};function $e(e,t,n,r){let i=r.getDrawingByParam(e);if(i==null)return;let a=C(e),o=n.getObjectIncludeInGroup(a);if(o&&!(o instanceof O))return;if(o!=null){let e=o.getObjects();for(let n of e)if(n.oKey===t.oKey)return;o.addObject(t);return}let s=new D(a);n.addObject(s,E).attachTransformerTo(s),s.addObject(t);let{transform:c,groupBaseBound:l}=i;l&&s.setBaseBound(l),i.groupId&&(s.isInGroup=!0,$e({drawingId:i.groupId,unitId:e.unitId,subUnitId:e.subUnitId},s,n,r)),c&&s.transformByState({left:c.left,top:c.top,angle:c.angle,width:c.width,height:c.height})}function et(e,t){let n=t?e.getUnit(t):e.getFocusedUnit();if(n==null)return;let r=n.getUnitId(),i;if(n.type===p.UNIVER_SHEET){var a;i=(a=n.getActiveSheet())==null?void 0:a.getSheetId()}else (n.type===p.UNIVER_DOC||n.type===p.UNIVER_SLIDE)&&(i=r);return{unitId:r,subUnitId:i,current:n}}var tt=`@univerjs/drawing-ui`,nt=`0.20.0`;const rt=`drawing-ui.config`;Symbol(rt);const it={},at=e=>{let t=e.get(y);return new be(e=>{let n=t=>{if(!t||t.length===0||t.length<2)return e.next(!0);e.next(!1)},r=t.focus$.subscribe(t=>{if(!t||t.length===0)return e.next(!0);n(t)});return n(t.getFocusDrawings()),()=>r.unsubscribe()})},ot=`contextMenu.drawing-align`;function st(e){return{id:ot,type:L.SUBITEMS,icon:`HorizontallyIcon`,title:`image-panel.align.title`,hidden$:at(e)}}function ct(){return{id:Fe.id,type:L.BUTTON,icon:`LeftJustifyingIcon`,title:`image-panel.align.left`}}function lt(){return{id:Ie.id,type:L.BUTTON,icon:`HorizontallyIcon`,title:`image-panel.align.center`}}function ut(){return{id:Le.id,type:L.BUTTON,icon:`RightJustifyingIcon`,title:`image-panel.align.right`}}function dt(){return{id:Re.id,type:L.BUTTON,icon:`AlignTopIcon`,title:`image-panel.align.top`}}function ft(){return{id:ze.id,type:L.BUTTON,icon:`VerticalCenterIcon`,title:`image-panel.align.middle`}}function pt(){return{id:Be.id,type:L.BUTTON,icon:`AlignBottomIcon`,title:`image-panel.align.bottom`}}function mt(){return{id:Ve.id,type:L.BUTTON,icon:`HorizontallyIcon`,title:`image-panel.align.horizon`}}function ht(){return{id:He.id,type:L.BUTTON,icon:`VerticalCenterIcon`,title:`image-panel.align.vertical`}}const gt=`contextMenu.drawing-arrange`;function _t(){return{id:gt,type:L.SUBITEMS,icon:`TopmostIcon`,title:`image-panel.arrange.title`}}function vt(){return{id:Ue.id,type:L.BUTTON,icon:`TopmostIcon`,title:`image-panel.arrange.front`}}function yt(){return{id:We.id,type:L.BUTTON,icon:`MoveUpIcon`,title:`image-panel.arrange.forward`}}function bt(){return{id:Ge.id,type:L.BUTTON,icon:`BottomIcon`,title:`image-panel.arrange.back`}}function xt(){return{id:Ke.id,type:L.BUTTON,icon:`MoveDownIcon`,title:`image-panel.arrange.backward`}}const St=(e,t)=>{let n=e.get(y);return new be(e=>{let i=n=>{if(!n||n.length===0)return e.next(!0);if(t===`group`){if(n.length<2||!n.every(e=>qe.includes(e.drawingType)))return e.next(!0)}else if(t===`unGroup`){if(n.filter(e=>e.drawingType===r.DRAWING_GROUP).length===0)return e.next(!0)}else if(!n.every(e=>qe.includes(e.drawingType)))return e.next(!0);e.next(!1)},a=n.focus$.subscribe(t=>{if(!t||t.length===0)return e.next(!0);i(t)});return i(n.getFocusDrawings()),()=>a.unsubscribe()})},Ct=`contextMenu.drawing-group`;function wt(e){return{id:Ct,type:L.SUBITEMS,icon:`GroupIcon`,title:`image-panel.group.title`,hidden$:St(e)}}function Tt(e){return{id:Je.id,type:L.BUTTON,icon:`GroupIcon`,title:`image-panel.group.group`,disabled$:St(e,`group`)}}function Et(e){return{id:Ye.id,type:L.BUTTON,icon:`UngroupIcon`,title:`image-panel.group.unGroup`,disabled$:St(e,`unGroup`)}}const Dt={[pe.DRAWING]:{[fe.OTHERS]:{[Ct]:{order:1,menuItemFactory:wt,[Je.id]:{order:0,menuItemFactory:Tt},[Ye.id]:{order:1,menuItemFactory:Et}},[gt]:{order:2,menuItemFactory:_t,[Ue.id]:{order:0,menuItemFactory:vt},[We.id]:{order:1,menuItemFactory:yt},[Ge.id]:{order:2,menuItemFactory:bt},[Ke.id]:{order:3,menuItemFactory:xt}},[ot]:{order:3,menuItemFactory:st,[Fe.id]:{order:0,menuItemFactory:ct},[Ie.id]:{order:1,menuItemFactory:lt},[Le.id]:{order:2,menuItemFactory:ut},[Re.id]:{order:3,menuItemFactory:dt},[ze.id]:{order:4,menuItemFactory:ft},[Be.id]:{order:5,menuItemFactory:pt},[Ve.id]:{order:6,menuItemFactory:mt},[He.id]:{order:7,menuItemFactory:ht}}}}},Ot=`COMPONENT_IMAGE_POPUP_MENU`;function kt(e){var t;let{popup:n}=e,r=n==null||(t=n.extraProps)==null?void 0:t.menuItems;if(!r)return null;let a=R(i),o=R(d),[s,c]=V(!1),[l,u]=V(!1),f=()=>{u(!0)},p=()=>{u(!1)},m=e=>{c(e)},h=e=>{a.executeCommand(e.commandId,e.commandParams),c(!1)},g=s||l;return H(`div`,{onMouseEnter:f,onMouseLeave:p,children:H(De,{align:`start`,items:r.filter(e=>!e.disable).map(e=>({type:`item`,children:o.t(e.label),onSelect:()=>h(e)})),open:s,onOpenChange:m,children:U(`div`,{className:B(`univer-flex univer-items-center univer-gap-2 univer-rounded univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-800`,je,{"univer-bg-gray-100 dark:!univer-bg-gray-800":s,"univer-bg-white dark:!univer-bg-gray-900":!s}),children:[H(ne,{className:`univer-fill-primary-600 univer-text-gray-900 dark:!univer-text-white`}),g&&H(oe,{className:`dark:!univer-text-white`})]})})})}function Y(e,t){return function(n,r){t(n,r,e)}}function X(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 At=class extends n{constructor(e,t,n){super(),this._componentManager=e,this._commandService=t,this._menuManagerService=n,this._init()}_init(){this._initMenus(),this._initCommands(),this._initComponents()}_initMenus(){this._menuManagerService.mergeMenu(Dt)}_initCommands(){[Xe,q,Qe,G,Fe,Ie,Le,Re,ze,Be,Ve,He,Ze,Je,Ye,K,Ue,We,Ge,Ke].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initComponents(){[[Ot,kt],[`BottomIcon`,re],[`GroupIcon`,ae],[`MoveDownIcon`,se],[`MoveUpIcon`,ce],[`TopmostIcon`,le],[`UngroupIcon`,ue]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}};At=X([Y(0,l(de)),Y(1,i),Y(2,ge)],At);function jt(e,t){let n=[];return e.forEach(e=>{let{oKey:i,left:a,top:o,height:s,width:c,angle:l}=e,u=t.getDrawingOKey(i);if(u==null)return n.push(null),!0;let{unitId:d,subUnitId:f,drawingId:p,drawingType:m}=u,h={unitId:d,subUnitId:f,drawingId:p,drawingType:m,transform:{left:a,top:o,height:s,width:c,angle:l}};m===r.DRAWING_IMAGE&&(h.srcRect=e.srcRect),n.push(h)}),n}function Mt(e){"@babel/helpers - typeof";return Mt=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},Mt(e)}function Nt(e,t){if(Mt(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Mt(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Pt(e){var t=Nt(e,`string`);return Mt(t)==`symbol`?t:t+``}function Z(e,t,n){return(t=Pt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let Ft=class extends n{constructor(e,t,n,r){super(),this._currentUniverService=e,this._commandService=t,this._renderManagerService=n,this._drawingManagerService=r,Z(this,`_sceneListenerOnDrawingMap`,new WeakSet),this._initialize()}dispose(){super.dispose()}_initialize(){this._recoveryImages(),this._drawingAddListener(),this._drawingRemoveListener(),this._drawingUpdateListener(),this._commandExecutedListener(),this._drawingArrangeListener(),this._drawingGroupListener(),this._drawingRefreshListener(),this._drawingVisibleListener()}_recoveryImages(){let e=this._drawingManagerService.drawingManagerData,t=et(this._currentUniverService);if(t==null)return;let{unitId:n,subUnitId:r}=t;Object.keys(e).forEach(t=>{Object.keys(e[t]).forEach(i=>{let a=e[t][i].data;a==null||t!==n||i!==r||Object.keys(a).forEach(e=>{a[e]&&this._insertDrawing([{unitId:t,subUnitId:i,drawingId:e}])})})})}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===G.id){let t=e.params;if(t==null)return;this._drawingAlign(t)}}))}_drawingGroupListener(){this.disposeWithMe(this._drawingManagerService.group$.subscribe(e=>{this._groupDrawings(e)})),this.disposeWithMe(this._drawingManagerService.ungroup$.subscribe(e=>{this._ungroupDrawings(e)}))}_getSceneAndTransformerByDrawingSearch(e){if(e==null)return;let t=this._renderManagerService.getRenderById(e),n=t==null?void 0:t.scene;return n==null?null:{scene:n,transformer:n.getTransformerByCreate()}}_groupDrawings(e){e.forEach(e=>{this._groupDrawing(e)})}_groupDrawing(e){let{parent:t,children:n}=e,{unitId:r,subUnitId:i,drawingId:a}=t,o=this._getSceneAndTransformerByDrawingSearch(t.unitId);if(o==null)return;let{scene:s,transformer:c}=o;this._commandService.syncExecuteCommand(q.id);let l=[];if(n.forEach(e=>{let t=C(e),n=s.getObjectIncludeInGroup(t);if(n==null||l.includes(n))return;l.push(n);let{transform:r}=e;r!=null&&(n.classType===j.GROUP?n.transformByState({left:r.left,top:r.top}):n.transformByState(r))}),l.length===0)return;let u=new D(C({unitId:r,subUnitId:i,drawingId:a}));s.addObject(u,E).attachTransformerTo(u),u.addObjects(...l),t.groupBaseBound&&u.setBaseBound(t.groupBaseBound),t.groupId&&(u.isInGroup=!0,$e({drawingId:t.groupId,unitId:r,subUnitId:i},u,s,this._drawingManagerService)),t.transform&&u.transformByState({left:t.transform.left,top:t.transform.top,width:t.transform.width,height:t.transform.height,angle:t.transform.angle}),c.clearSelectedObjects(),c.setSelectedControl(u)}_ungroupDrawings(e){e.forEach(e=>{this._ungroupDrawing(e)})}_ungroupDrawing(e){let{parent:t,children:n}=e,r=this._getSceneAndTransformerByDrawingSearch(t.unitId);if(r==null)return;let{scene:i,transformer:a}=r;n.forEach(e=>{let t=C(e),n=i.getObjectIncludeInGroup(t);if(n==null)return!0;if(n==null)return;let{transform:r}=e;r!=null&&(n.classType===j.GROUP?n.transformByState({left:r.left,top:r.top}):n.transformByState(r))});let o=C(t),s=i.getObject(o),{width:c,height:l}=s;s.getObjects().forEach(e=>{s.removeSelfObjectAndTransform(e.oKey,c,l)}),s.dispose(),a.clearSelectedObjects()}_drawingAlign(e){let{alignType:t}=e,n=e.drawings||this._drawingManagerService.getFocusDrawings();if(t===W.default)return;let r=[],i=1/0,a=1/0,o=-1/0,s=-1/0,c=0;n.forEach(e=>{let{unitId:t,subUnitId:n,drawingId:l,drawingType:u}=e,d=this._drawingManagerService.getDrawingByParam({unitId:t,subUnitId:n,drawingId:l});if(d==null||d.transform==null)return;r.push({unitId:t,subUnitId:n,drawingId:l,drawingType:u,transform:d.transform});let{left:f=0,top:p=0,width:m=0,height:h=0}=d.transform;i=Math.min(i,f),a=Math.min(a,p),o=Math.max(o,f+m),s=Math.max(s,p+h),c++}),c!==0&&(this._sortDrawingTransform(r,t),this._applyAlignType(r,t,i,a,o,s,c))}_applyAlignType(e,t,n,r,i,a,o){let s=Math.round((i-n)/o*10)/10,c=Math.round((a-r)/o*10)/10,l=[],u=this._getSceneAndTransformerByDrawingSearch(e[0].unitId);if(u==null)return;let{scene:d,transformer:f}=u;e.forEach((e,o)=>{let{unitId:u,subUnitId:d,drawingId:f,transform:p,drawingType:m}=e,{left:h=0,top:g=0,width:_=0,height:v=0}=p,y=h,b=g;switch(t){case W.left:y=n;break;case W.center:y=n+(i-n)/2-_/2;break;case W.right:y=i-_;break;case W.top:b=r;break;case W.middle:b=r+(a-r)/2-v/2;break;case W.bottom:b=a-v;break;case W.horizon:y=n+s*o;break;case W.vertical:b=r+c*o;break;default:break}(y!==h||b!==g)&&l.push({unitId:u,subUnitId:d,drawingId:f,drawingType:m,transform:{left:y,top:b}})}),this._drawingManagerService.featurePluginUpdateNotification(l),f.refreshControls().changeNotification()}_sortDrawingTransform(e,t){e.sort((e,n)=>{let r=e.transform,i=n.transform,{left:a=0,top:o=0,width:s=0,height:c=0}=r,{left:l=0,top:u=0,width:d=0,height:f=0}=i;switch(t){case W.left:return a-l;case W.center:return a+s/2-(l+d/2);case W.right:return a+s-(l+d);case W.top:return o-u;case W.middle:return o+c/2-(u+f/2);case W.bottom:return o+c-(u+f);case W.horizon:return a+s/2-(l+d/2);case W.vertical:return o+c/2-(u+f/2);default:return 0}})}_drawingArrangeListener(){this.disposeWithMe(this._drawingManagerService.order$.subscribe(e=>{this._drawingArrange(e)}))}_drawingArrange(e){let{unitId:t,subUnitId:n,drawingIds:r}=e,i=this._getSceneAndTransformerByDrawingSearch(t);if(i==null)return;let{scene:a}=i;r.forEach(e=>{let r=C({unitId:t,subUnitId:n,drawingId:e}),i=a.fuzzyMathObjects(r,!0);if(i==null||i.length===0)return;let o=this._drawingManagerService.getDrawingOrder(t,n).indexOf(e);for(let e of i)e.setProps({zIndex:o}),e.makeDirty()})}_drawingAddListener(){this.disposeWithMe(this._drawingManagerService.add$.subscribe(e=>{this._insertDrawing(e)}))}_insertDrawing(e){let t=[];e.forEach(e=>{let{unitId:n}=e;if(this._drawingManagerService.getDrawingByParam(e)==null)return;let r=this._getSceneAndTransformerByDrawingSearch(n);if(r==null)return;let{scene:i}=r;t.includes(i)||t.push(i)}),t.forEach(e=>{this._sceneListenerOnDrawingMap.has(e)||(this._addListenerOnDrawing(e),this._sceneListenerOnDrawingMap.add(e))})}_drawingRemoveListener(){this.disposeWithMe(this._drawingManagerService.remove$.subscribe(e=>{e.forEach(e=>{let{unitId:t,subUnitId:n,drawingId:r}=e,i=this._getSceneAndTransformerByDrawingSearch(t);if(i==null)return;let{scene:a}=i,o=C({unitId:t,subUnitId:n,drawingId:r}),s=a.fuzzyMathObjects(o,!0);if(s.length>0){var c;for(let e of s)e.dispose();(c=a.getTransformer())==null||c.clearSelectedObjects()}})}))}_drawingUpdateListener(){this.disposeWithMe(this._drawingManagerService.update$.subscribe(e=>{e.forEach(e=>{var t;let{unitId:n,subUnitId:r,drawingId:i}=e,a=this._drawingManagerService.getDrawingByParam(e);if(a==null)return;let{transform:o,drawingType:s}=a,c=this._getSceneAndTransformerByDrawingSearch(n);if(c==null)return;let{scene:l,transformer:u}=c;if(o==null)return!0;let{left:d=0,top:f=0,width:p=0,height:m=0,angle:h=0,flipX:g=!1,flipY:_=!1,skewX:v=0,skewY:y=0}=o,b=C({unitId:n,subUnitId:r,drawingId:i}),x=l.getObject(b);if(x==null)return!0;x.transformByState({left:d,top:f,width:p,height:m,angle:h,flipX:g,flipY:_,skewX:v,skewY:y}),(t=l.getTransformer())==null||t.debounceRefreshControls()})}))}_drawingRefreshListener(){this.disposeWithMe(this._drawingManagerService.refreshTransform$.subscribe(e=>{e.forEach(e=>{let{unitId:t,subUnitId:n,drawingId:r}=e,i=this._getSceneAndTransformerByDrawingSearch(t);if(i==null)return;let a=this._drawingManagerService.getDrawingByParam(e);if(a==null)return;let{transform:o}=a,{scene:s}=i,c=C({unitId:t,subUnitId:n,drawingId:r}),l=s.getObject(c);if(l==null||o==null)return!0;let{left:u=0,top:d=0,width:f=0,height:p=0,angle:m=0,flipX:h=!1,flipY:g=!1,skewX:_=0,skewY:v=0}=o;l.transformByState({left:u,top:d,width:f,height:p,angle:m,flipX:h,flipY:g,skewX:_,skewY:v})})}))}_drawingVisibleListener(){this.disposeWithMe(this._drawingManagerService.visible$.subscribe(e=>{e.forEach(e=>{let{unitId:t,subUnitId:n,drawingId:r,visible:i}=e,a=this._getSceneAndTransformerByDrawingSearch(t);if(a==null)return;let{scene:o}=a,s=C({unitId:t,subUnitId:n,drawingId:r}),c=o.getObject(s);if(c==null)return!0;i?c.show():c.hide()})}))}_filterUpdateParams(e,t){return e.filter((e,n)=>{if(e==null)return!1;let{transform:r}=e;return m(r,t==null?void 0:t[n])})}_addListenerOnDrawing(e){let t=e.getTransformerByCreate(),n=null;this.disposeWithMe(v(t.changeStart$.subscribe(e=>{let{objects:t}=e,r=Array.from(t.values()),i=[];n=r.map(e=>{let{left:t,top:n,height:r,width:a,angle:o,oKey:s,isInGroup:c}=e,l=this._drawingManagerService.getDrawingOKey(s);if(c||e instanceof O){let t=e.ancestorGroup;if(t==null&&e instanceof O&&(t=e),t==null)return null;let n=this._drawingManagerService.getDrawingOKey(t.oKey);if(n){let{unitId:e,subUnitId:r,drawingId:a}=n;i.push({unitId:e,subUnitId:r,drawingId:a});let{left:o,top:s,height:c,width:l,angle:u}=t;return{left:o,top:s,height:c,width:l,angle:u}}}else if(l!=null){let{unitId:e,subUnitId:s,drawingId:c}=l;return i.push({unitId:e,subUnitId:s,drawingId:c}),{left:t,top:n,height:r,width:a,angle:o}}return null}).filter(e=>e!=null),i.length>0?this._commandService.syncExecuteCommand(S.id,i):this._commandService.syncExecuteCommand(S.id,[])}))),this.disposeWithMe(v(t.changeEnd$.subscribe(e=>{let{objects:t}=e,r=this._filterUpdateParams(jt(t,this._drawingManagerService),n);r.length>0&&this._drawingManagerService.featurePluginUpdateNotification(r)})))}};Ft=X([Y(0,s),Y(1,i),Y(2,k),Y(3,y)],Ft);var It=function(e){return e[e.RECT=0]=`RECT`,e[e.PATH=1]=`PATH`,e}(It||{}),Lt=class extends N{constructor(e,t){t==null&&(t={}),t.transformerConfig={keepRatio:!1,isCropper:!0,anchorFill:`rgb(0, 0, 0)`,anchorStroke:`rgb(255, 255, 255)`,anchorSize:24},super(e,t),Z(this,`_srcRect`,void 0),Z(this,`_prstGeom`,void 0),Z(this,`_applyTransform`,void 0),Z(this,`_dragPadding`,8),Z(this,`_cacheCanvas`,void 0),t!=null&&t.srcRect&&(this._srcRect=t.srcRect),t!=null&&t.prstGeom&&(this._prstGeom=t.prstGeom),t!=null&&t.applyTransform&&(this._applyTransform=t.applyTransform),t!=null&&t.dragPadding&&(this._dragPadding=t.dragPadding),this._applyProps()}refreshSrcRect(e,t){this._srcRect=e,this._applyTransform=t,this._applyProps()}get srcRect(){return this._srcRect}dispose(){var e;super.dispose(),(e=this._cacheCanvas)==null||e.dispose(),this._srcRect=null}isHit(e){let t=this.getInverseCoord(e);return t.x>=-this.strokeWidth/2&&t.x<=this.width+this.strokeWidth/2&&t.y>=-this.strokeWidth/2&&t.y<=this.height+this.strokeWidth/2&&!this._inSurround(t)}_inSurround(e){let t=this._dragPadding;return e.x>=t-this.strokeWidth/2&&e.x<=this.width+this.strokeWidth/2-t&&e.y>=t-this.strokeWidth/2&&e.y<=this.height+this.strokeWidth/2-t}render(e,t){return this.visible?(e.save(),this._draw(e),e.restore(),this.makeDirty(!1),this):(this.makeDirty(!1),this)}_draw(e){var t,n;let{width:r,height:i}=this.getScene().getEngine();this._initialCacheCanvas(),(t=this._cacheCanvas)==null||t.clear();let a=(n=this._cacheCanvas)==null?void 0:n.getContext();a!=null&&(a.save(),M.drawWith(a,{left:0,top:0,width:r,height:i,fill:`rgba(0, 0, 0, 0.5)`}),a.setTransform(e.getTransform()),this._clipForApplyObject(a),this._applyCache(e),a.restore())}_clipForApplyObject(e){let t=It.RECT;if(this._prstGeom!=null&&(t=It.PATH),e.globalCompositeOperation=`destination-out`,e.beginPath(),t===It.RECT){let t=this.transform.getMatrix();e.transform(t[0],t[1],t[2],t[3],t[4],t[5]),e.rect(0,0,this.width,this.height),e.fill()}}_applyProps(){if(this._applyTransform==null)return;let e=0,t=0,n=0,r=0,{left:i=0,top:a=0,width:o=0,height:s=0,angle:c}=this._applyTransform;if(this._srcRect!=null){let{left:i=0,top:a=0,right:o=0,bottom:s=0}=this._srcRect;e=i,t=a,n=o,r=s}let l=i+e,u=a+t;this.transformByState({left:l,top:u,width:i+o-n-l,height:a+s-r-u,angle:c})}_applyCache(e){if(!e||this._cacheCanvas==null)return;let t=this._cacheCanvas.getContext();t.save(),e.save(),e.setTransform(1,0,0,1,0,0),t.setTransform(1,0,0,1,0,0),e.drawImage(this._cacheCanvas.getCanvasEle(),0,0),e.restore(),t.restore()}_initialCacheCanvas(){if(this._cacheCanvas!=null)return;let e=this.getScene();if(e==null)return;this._cacheCanvas=new T;let t=e.getEngine();this._cacheCanvas.setSize(t.width,t.height),t.onTransformChange$.subscribeEvent(()=>{var e;(e=this._cacheCanvas)==null||e.setSize(t.width,t.height),this.makeDirty(!0)})}};let Rt=class extends n{constructor(e,t,n,r,i,a){super(),this._commandService=e,this._drawingManagerService=t,this._renderManagerService=n,this._univerInstanceService=r,this._messageService=i,this._localeService=a,Z(this,`_sceneListenerOnImageMap`,new WeakSet),this._init()}_init(){this._initOpenCrop(),this._initCloseCrop(),this._initAutoCrop()}_initAutoCrop(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==Ze.id)return;let t=e.params;if(t==null)return;let{cropType:n}=t,r=this._drawingManagerService.getFocusDrawings();if(r.length!==1)return;let{unitId:i,subUnitId:a,drawingId:o}=r[0],s=this._renderManagerService.getRenderById(i),c=s==null?void 0:s.scene;if(c==null)return!0;this._searchCropObject(c)!=null&&this._commandService.syncExecuteCommand(q.id,{isAuto:!0});let l=C({unitId:i,subUnitId:a,drawingId:o}),u=c.getObject(l);if(!(u instanceof A)){this._messageService.show({type:ke.Error,content:this._localeService.t(`image-cropper.error`)});return}u!=null&&(this._updateCropperObject(n,u),this._commandService.executeCommand(Xe.id,{unitId:i,subUnitId:a,drawingId:o}))}))}_calculateSrcRectByRatio(e,t,n,r,i,a){let o=n/r,s=i/a,c=n,l=r;o>s?c=r*s:l=n/s;let u=(n-c)/2,d=(r-l)/2;return{left:I(u,1),top:I(d,1),right:I(n-(u+c),1),bottom:I(r-(d+l),1)}}_updateCropperObject(e,t){let{left:n,top:r,width:i,height:a}=t.calculateTransformWithSrcRect(),o;switch(e){case J.R1_1:o=this._calculateSrcRectByRatio(n,r,i,a,1,1);break;case J.R16_9:o=this._calculateSrcRectByRatio(n,r,i,a,16,9);break;case J.R9_16:o=this._calculateSrcRectByRatio(n,r,i,a,9,16);break;case J.R5_4:o=this._calculateSrcRectByRatio(n,r,i,a,5,4);break;case J.R4_5:o=this._calculateSrcRectByRatio(n,r,i,a,4,5);break;case J.R4_3:o=this._calculateSrcRectByRatio(n,r,i,a,4,3);break;case J.R3_4:o=this._calculateSrcRectByRatio(n,r,i,a,3,4);break;case J.R3_2:o=this._calculateSrcRectByRatio(n,r,i,a,3,2);break;case J.R2_3:o=this._calculateSrcRectByRatio(n,r,i,a,2,3);break;case J.FREE:default:break}if(o==null)return;t.setSrcRect(o);let{left:s=0,top:c=0,bottom:l=0,right:u=0}=o;t.transformByStateCloseCropper({left:n+s,top:r+c,width:i-u-s,height:a-l-c})}_initOpenCrop(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==Xe.id)return;let t=e.params;if(t==null)return;let{unitId:n,subUnitId:r,drawingId:i}=t,a=this._renderManagerService.getRenderById(n),o=a==null?void 0:a.scene;if(o==null)return!0;if(this._sceneListenerOnImageMap.has(o)||(this._addListenerOnImage(o),this._sceneListenerOnImageMap.add(o)),this._drawingManagerService.getDrawingByParam({unitId:n,subUnitId:r,drawingId:i})==null)return;let s=C({unitId:n,subUnitId:r,drawingId:i}),c=o.getObject(s);if(c==null)return;if(!(c instanceof A)){this._messageService.show({type:ke.Error,content:this._localeService.t(`image-cropper.error`)});return}let l=o.getTransformer();l==null||l.clearControls();let u=new Lt(`${s}-crop`,{srcRect:c.srcRect,prstGeom:c.prstGeom,applyTransform:c.calculateTransformWithSrcRect()});o.addObject(u,c.getLayerIndex()+1).attachTransformerTo(u),l==null||l.createControlForCopper(u),this._addHoverForImageCopper(u),c.openRenderByCropper(),l==null||l.refreshControls(),u.makeDirty(!0),this._commandService.syncExecuteCommand(S.id,[{unitId:n,subUnitId:r,drawingId:i}])}))}_searchCropObject(e){let t=e.getAllObjectsByOrder();for(let e of t)if(e instanceof Lt)return e}_initCloseCrop(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==q.id)return;let t=this._univerInstanceService.getFocusedUnit();if(t==null)return;let n=t.getUnitId(),r=this._renderManagerService.getRenderById(n),i=r==null?void 0:r.scene;if(i==null)return!0;let a=this._searchCropObject(i);if(a==null)return;let o=this._getApplyObjectByCropObject(a);if(o==null)return;let s=i.getTransformerByCreate();s.detachFrom(a),s.clearCopperControl();let c=this._getSrcRectByTransformState(o,a),l=this._drawingManagerService.getDrawingOKey(o.oKey);if(l!=null){let{left:e,top:t,height:n,width:r}=a;this._drawingManagerService.featurePluginUpdateNotification([{...l,transform:{...l.transform,left:e,top:t,height:n,width:r},srcRect:c.srcRectAngle}])}o.setSrcRect({...c.srcRectAngle}),o.closeRenderByCropper(),o.makeDirty(!0),a==null||a.dispose()}));let e=this._univerInstanceService.getCurrentTypeOfUnit$(p.UNIVER_SHEET).pipe(Te(e=>e?e.activeSheet$:we(null)));this.disposeWithMe(e.subscribe(()=>{this._commandService.syncExecuteCommand(q.id)}))}_getApplyObjectByCropObject(e){let t=e.oKey,n=t.slice(0,t.length-5),r=e.getScene();if(!r)return null;let i=r.getObject(n);return i==null?null:i}_addListenerOnImage(e){let t=e.getTransformerByCreate(),n=null;this.disposeWithMe(t.changeStart$.subscribe(e=>{let{objects:r}=e,i=r.values().next().value;if(i==null||!(i instanceof Lt))return;let{left:a,top:o,height:s,width:c,angle:l}=i;n={left:a,top:o,height:s,width:c,angle:l},t.clearCopperControl()})),this.disposeWithMe(t.changeEnd$.subscribe(e=>{let{objects:r}=e,i=r.values().next().value;if(i==null||!(i instanceof Lt))return;let{left:a,top:o,height:s,width:c,angle:l}=i;if(!m({left:a,top:o,height:s,width:c,angle:l},n))return;let u=this._getApplyObjectByCropObject(i);if(u==null)return;let d=this._getSrcRectByTransformState(u,i);i.refreshSrcRect(d.srcRect,u.getState()),t.createControlForCopper(i)})),this._endCropListener(e)}_addHoverForImageCopper(e){this.disposeWithMe(e.onPointerEnter$.subscribeEvent(()=>{e.cursor=w.MOVE})),this.disposeWithMe(e.onPointerLeave$.subscribeEvent(()=>{e.cursor=w.DEFAULT}))}_endCropListener(e){let t=e.getTransformerByCreate();this.disposeWithMe(t.clearControl$.subscribe(e=>{e===!0&&this._commandService.syncExecuteCommand(q.id)}))}_getSrcRectByTransformState(e,t){let{left:n,top:r,height:i,width:a,strokeWidth:o,angle:s}=t,{left:c,top:l,width:u,height:d,angle:f,strokeWidth:p}=e,m=n-c,h=r-l,g={left:m,top:h,right:u-m-a,bottom:d-h-i},_={...g};if(f!==0){let e=new P(n+a/2,r+i/2),t=new P(u/2+c,d/2+l),o=new P(c,l);o.rotateByPoint(F(f),t);let s=o.clone();s.rotateByPoint(F(-f),e);let p=n-s.x,m=r-s.y;_.left=p,_.top=m,_.right=u-p-a,_.bottom=d-m-i}return{srcRect:g,srcRectAngle:_}}};Rt=X([Y(0,i),Y(1,y),Y(2,k),Y(3,s),Y(4,_e),Y(5,l(d))],Rt);const zt=`sheet.image-clip.shape.picker.component`;var Bt=class extends n{constructor(){super(),Z(this,`_clipDelegate`,null),Z(this,`_canUseShapeClip$`,new ye(!1)),Z(this,`canUseShapeClip$`,this._canUseShapeClip$.asObservable())}setCanUseShapeClip(e){this._canUseShapeClip$.next(e)}registerClipDelegate(e){return this._clipDelegate=e,v(()=>{this._clipDelegate===e&&(this._clipDelegate=null)})}applyShapeClip(e,t,n,r,i){return this._clipDelegate?this._clipDelegate(e,t,n,r,i):!1}dispose(){this._clipDelegate=null,this._canUseShapeClip$.complete(),super.dispose()}};let Q=class{constructor(e,t,n,r,i,a){this._drawingManagerService=e,this._imageIoService=t,this._galleryService=n,this._urlImageService=r,this._univerInstanceService=i,this._drawingImageClipService=a}async renderImages(e,t){let{transform:n,drawingType:i,source:a,imageSourceType:o,srcRect:s,prstGeom:c,groupId:l,unitId:u,subUnitId:d,drawingId:f,isMultiTransform:m,transforms:h,adjustValues:g}=e;if(i!==r.DRAWING_IMAGE||!this._drawingManagerService.getDrawingVisible()||this._univerInstanceService.getUnitType(u)===p.UNIVER_SHEET&&d!==this._getActiveSheetId()||n==null)return;let _=m&&h?h:[n],v=[];for(let e of _){let{left:n,top:r,width:i,height:p,angle:h,flipX:y,flipY:b,skewX:S,skewY:w}=e,T=_.indexOf(e),D=C({unitId:u,subUnitId:d,drawingId:f},m?T:void 0),O=t.getObject(D);if(O!=null){O.transformByState({left:n,top:r,width:i,height:p,angle:h,flipX:y,flipY:b,skewX:S,skewY:w});continue}let k=this._drawingManagerService.getDrawingOrder(u,d),j=k.indexOf(f),M={...e,zIndex:j===-1?k.length-1:j},N=this._imageIoService.getImageSourceCache(a,o),P=!1;if(N!=null)M.image=N;else if(o===x.UUID)try{M.url=await this._imageIoService.getImage(a)}catch(e){console.error(e);continue}else if(o===x.URL){try{M.url=await this._urlImageService.getImage(a)}catch(e){console.error(e),M.url=a}P=!0}else M.url=a,P=!0;if(t.getObject(D))continue;M.printable=!0;let F=new A(D,M);F.setClipService(this._drawingImageClipService),P&&this._imageIoService.addImageSourceCache(a,o,F.getNative()),t.addObject(F,E),this._drawingManagerService.getDrawingEditable()&&t.attachTransformerTo(F),l&&$e({drawingId:l,unitId:u,subUnitId:d},F,t,this._drawingManagerService),c!=null&&F.setPrstGeom(c),g!=null&&F.setPrstGeomAdjValues(g),s!=null&&F.setSrcRect(s),v.push(F)}return v}_getActiveSheetId(){var e;return(e=this._univerInstanceService.getCurrentUnitOfType(p.UNIVER_SHEET))==null||(e=e.getActiveSheet())==null?void 0:e.getSheetId()}renderFloatDom(e,t){let{transform:n,drawingType:i,groupId:a,unitId:o,subUnitId:s,drawingId:c,isMultiTransform:l,transforms:u}=e;if(i!==r.DRAWING_DOM||!this._drawingManagerService.getDrawingVisible()||n==null)return;let d=l&&u?u:[n],f=[];for(let n of d){let{left:r,top:i,width:u,height:p,angle:m,flipX:h,flipY:g,skewX:_,skewY:v}=n,y=d.indexOf(n),b=C({unitId:o,subUnitId:s,drawingId:c},l?y:void 0),x=t.getObject(b);if(x!=null){x.transformByState({left:r,top:i,width:u,height:p,angle:m,flipX:h,flipY:g,skewX:_,skewY:v});continue}let S=this._drawingManagerService.getDrawingOrder(o,s),w=S.indexOf(c),T={...n,zIndex:w===-1?S.length-1:w};if(t.getObject(b))continue;T.printable=!1;let D=new M(b,T);this._drawingManagerService.getDrawingVisible()&&(t.addObject(D,E),this._drawingManagerService.getDrawingEditable()&&e.allowTransform!==!1&&t.attachTransformerTo(D),a&&$e({drawingId:a,unitId:o,subUnitId:s},D,t,this._drawingManagerService),f.push(D))}return f}renderDrawing(e,t){let n=this._drawingManagerService.getDrawingByParam(e);if(n!=null)switch(n.drawingType){case r.DRAWING_IMAGE:return this.renderImages(n,t);default:}}previewImage(e,t,n,r){this._galleryService.open({images:[t],onOpenChange:e=>{e||this._galleryService.close()}})}_adjustImageSize(e,t,n,r){if(e<=n&&t<=r)return{width:e,height:t};let i=n/e,a=r/t,o=Math.min(i,a);return{width:Math.floor(e*o),height:Math.floor(t*o)}}};Q=X([Y(0,y),Y(1,b),Y(2,he),Y(3,o),Y(4,s),Y(5,l(Bt))],Q);let Vt=class extends n{constructor(e,t,n,r,i,a,o){super(),this._commandService=e,this._renderManagerService=t,this._drawingManagerService=n,this._dialogService=r,this._imageIoService=i,this._currentUniverService=a,this._drawingRenderService=o,this._initialize()}dispose(){super.dispose()}_initialize(){this._drawingAddListener(),this._commandExecutedListener(),this._imageUpdateListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Qe.id){let t=e.params;if(t==null)return;this._resetImageSize(t)}}))}_getSceneAndTransformerByDrawingSearch(e){if(e==null)return;let t=this._renderManagerService.getRenderById(e),n=t==null?void 0:t.scene;return n==null?null:{scene:n,transformer:n.getTransformerByCreate()}}_resetImageSize(e){let t=[],n=[];e.forEach(e=>{let{unitId:i,subUnitId:a,drawingId:o}=e,s=this._getSceneAndTransformerByDrawingSearch(i);if(s==null)return;let{scene:c}=s,l=C({unitId:i,subUnitId:a,drawingId:o}),u=c.getObject(l);if(u==null)return!0;let d=this._drawingManagerService.getDrawingByParam(e);if(d==null)return!0;if(d.drawingType!==r.DRAWING_IMAGE)return;u.resetSize();let{width:f,height:p}=u.getNativeSize();n.includes(c)===!1&&n.push(c),t.push({...d,transform:{...d.transform,height:p,width:f,angle:0},srcRect:null,prstGeom:null})}),this._drawingManagerService.featurePluginUpdateNotification(t),n.forEach(e=>{e.getTransformerByCreate().refreshControls().changeNotification()}),this._commandService.syncExecuteCommand(S.id,e)}_drawingAddListener(){this.disposeWithMe(this._drawingManagerService.add$.pipe(xe(33),Se(e=>e.length>0),Ce(e=>e.flat()),Ce(e=>{let t=new Map;for(let n of e)t.set(`${n.unitId}|${n.subUnitId}|${n.drawingId}`,n);return[...t.values()]}),Se(e=>e.length>0)).subscribe(e=>{this._insertImages(e)}))}_insertImages(e){e.forEach(async e=>{var t;let{unitId:n,subUnitId:r}=e,i=this._getSceneAndTransformerByDrawingSearch(n),a=(t=et(this._currentUniverService,n))==null?void 0:t.subUnitId;if(i==null||a!==r)return;let o=this._drawingManagerService.getDrawingByParam(e);if(o==null)return;let s=await this._drawingRenderService.renderImages(o,i.scene);if(this._drawingManagerService.refreshTransform([o]),!(s==null||s.length===0))for(let e of s)this._addHoverForImage(e),this._addDialogForImage(e)})}_imageUpdateListener(){this.disposeWithMe(this._drawingManagerService.update$.subscribe(e=>{e.forEach(e=>{let{unitId:t,subUnitId:n,drawingId:i}=e,a=this._drawingManagerService.getDrawingByParam(e);if(a==null)return;let{transform:o,drawingType:s,srcRect:l,prstGeom:u,source:d,imageSourceType:f}=a;if(s!==r.DRAWING_IMAGE)return;let p=this._getSceneAndTransformerByDrawingSearch(t);if(p==null)return;let{scene:m,transformer:h}=p;if(o==null)return!0;let g=C({unitId:t,subUnitId:n,drawingId:i}),_=m.getObject(g);if(_==null)return!0;_.setSrcRect(l),_.setPrstGeom(u),d!=null&&d.length>0&&(f===c.BASE64||f===c.URL)&&_.changeSource(d)})}))}_addHoverForImage(e){this.disposeWithMe(v(e.onPointerEnter$.subscribeEvent(()=>{e.cursor=w.GRAB}))),this.disposeWithMe(v(e.onPointerLeave$.subscribeEvent(()=>{e.cursor=w.DEFAULT})))}_addDialogForImage(e){this.disposeWithMe(v(e.onDblclick$.subscribeEvent(()=>{let t=`${e.oKey}-viewer-dialog`;this._drawingRenderService.previewImage(t,e.getNative().src,e.getNativeSize().width,e.getNativeSize().height)})))}};Vt=X([Y(0,i),Y(1,k),Y(2,y),Y(3,me),Y(4,b),Y(5,s),Y(6,l(Q))],Vt);let $=class extends f{constructor(e=it,t,n){super(),this._config=e,this._injector=t,this._configService=n;let{menu:r,...i}=_({},it,this._config);r&&this._configService.setConfig(`menu`,r,{merge:!0}),this._configService.setConfig(rt,i)}onStarting(){this._initDependencies()}onRendered(){this._injector.get(Ft),this._injector.get(At),this._injector.get(Rt),this._injector.get(Vt)}_initDependencies(){[[Bt],[Q],[Ft],[At],[Rt],[Vt]].forEach(e=>this._injector.add(e))}};Z($,`pluginName`,`UNIVER_DRAWING_UI_PLUGIN`),Z($,`packageName`,tt),Z($,`version`,nt),$=X([Y(1,l(u)),Y(2,a)],$);const Ht=e=>{let t=R(i),n=R(d),{drawings:r,alignShow:a}=e,[o,s]=V(W.default),c=[{label:n.t(`image-panel.align.default`),value:W.default},{options:[{label:n.t(`image-panel.align.left`),value:W.left},{label:n.t(`image-panel.align.center`),value:W.center},{label:n.t(`image-panel.align.right`),value:W.right}]},{options:[{label:n.t(`image-panel.align.top`),value:W.top},{label:n.t(`image-panel.align.middle`),value:W.middle},{label:n.t(`image-panel.align.bottom`),value:W.bottom}]},{options:[{label:n.t(`image-panel.align.horizon`),value:W.horizon},{label:n.t(`image-panel.align.vertical`),value:W.vertical}]}];function l(e){s(e),t.executeCommand(G.id,{alignType:e,drawings:r})}return U(`div`,{className:B(`univer-relative univer-w-full`,{"univer-hidden":!a}),children:[H(`header`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:H(`div`,{children:n.t(`image-panel.align.title`)})}),H(`div`,{className:`univer-relative univer-mt-2.5 univer-flex univer-h-full`,children:H(`div`,{className:`univer-w-full univer-text-gray-900 dark:!univer-text-white`,children:H(Ae,{value:o,options:c,onChange:l})})})]})},Ut=t=>{let{arrangeShow:n,drawings:r}=t,a=R(d),o=R(y),s=R(i),c=R(de),l=c.get(`MoveUpIcon`),u=c.get(`MoveDownIcon`),f=c.get(`TopmostIcon`),p=c.get(`BottomIcon`),[m,h]=V(r);Me(()=>{let e=o.focus$.subscribe(e=>{h(e)});return()=>{e.unsubscribe()}},[]);let g=e=>{s.syncExecuteCommand(K.id,{arrangeType:e,drawings:m})};return U(`div`,{className:B(`univer-grid univer-gap-2 univer-py-2 univer-text-gray-400`,{"univer-hidden":!n}),children:[H(`header`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:H(`div`,{children:a.t(`image-panel.arrange.title`)})}),U(`div`,{className:`univer-grid univer-grid-cols-2 univer-gap-2`,children:[U(z,{onClick:()=>{g(e.forward)},children:[H(l,{}),a.t(`image-panel.arrange.forward`)]}),U(z,{onClick:()=>{g(e.backward)},children:[H(u,{}),a.t(`image-panel.arrange.backward`)]}),U(z,{onClick:()=>{g(e.front)},children:[H(f,{}),a.t(`image-panel.arrange.front`)]}),U(z,{onClick:()=>{g(e.back)},children:[H(p,{}),a.t(`image-panel.arrange.back`)]})]})]})},Wt=e=>{let t=R(d),n=R(k),a=R(y),o=R(i),s=R(de),{hasGroup:c,drawings:l}=e,u=s.get(`GroupIcon`),f=s.get(`UngroupIcon`),[p,m]=V(!1),[h,g]=V(!0),[_,v]=V(!0),b=()=>{o.syncExecuteCommand(Je.id,{drawings:l})},x=()=>{o.syncExecuteCommand(Ye.id,{drawings:l})};return Me(()=>{let e=l[0];if(e==null)return;let{unitId:t}=e,i=n.getRenderById(t),o=i==null?void 0:i.scene;if(o==null)return;let s=o.getTransformerByCreate(),c=s.clearControl$.subscribe(e=>{e===!0&&m(!1)}),u=s.changeStart$.subscribe(e=>{let{objects:t}=e,n=jt(t,a),i=n.filter(e=>(e==null?void 0:e.drawingType)===r.DRAWING_GROUP),o=!1,s=!1;n.length>1&&(o=!0),i.length>0&&(s=!0),m(o||s),g(o),v(s)});return()=>{u.unsubscribe(),c.unsubscribe()}},[]),U(`div`,{className:B(`univer-grid univer-gap-2 univer-py-2 univer-text-gray-400`,{"univer-hidden":c===!0&&p===!1||c===!1}),children:[H(`header`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:H(`div`,{children:t.t(`image-panel.group.title`)})}),U(`div`,{className:`univer-flex univer-items-center univer-justify-center univer-gap-2`,children:[U(z,{className:B({"univer-hidden":!h}),onClick:b,children:[H(u,{}),t.t(`image-panel.group.group`)]}),U(z,{className:B({"univer-hidden":!_}),onClick:x,children:[H(f,{}),t.t(`image-panel.group.unGroup`)]})]})]})},Gt=[-360,360],Kt=e=>{var t;let n=R(d),r=R(y),i=R(k),{drawings:a,transformShow:o}=e,s=a[0];if(s==null)return;let c=s.transform;if(c==null)return;let{unitId:l,subUnitId:u,drawingId:f,drawingType:p}=s,m=i.getRenderById(l),g=m==null?void 0:m.scene;if(g==null)return;let _=(t=g.getEngine())==null?void 0:t.activeScene;if(_==null)return;let v=g.getTransformerByCreate(),{width:b=0,height:x=0,left:S=0,top:C=0,angle:w=0}=c,[T,E]=V(b),[D,O]=V(x),[A,j]=V(S),[M,N]=V(C),[P,F]=V(w),[ee,I]=V(v.keepRatio),te=(e,t,n,r)=>{let{width:i,height:a}=_,{ancestorLeft:o,ancestorTop:s}=g,c=e,l=t,u=n,d=r;return e+o<0&&(c=-o),t+s<0&&(l=-s),u=i-c-o,u<20&&(u=20),d=a-l-s,d<20&&(d=20),e+u+o>i&&(c=i-n-o),t+d+s>a&&(l=a-r-s),{limitLeft:c,limitTop:l,limitWidth:u,limitHeight:d}},ne=e=>{let{objects:t}=e,n=jt(t,r);if(n.length!==1)return;let i=n[0];if(i==null)return;let{transform:a}=i;if(a==null)return;let{width:o,height:s,left:c,top:l,angle:u}=a;o!=null&&E(o),s!=null&&O(s),c!=null&&j(c),l!=null&&N(l),u!=null&&F(u)};Me(()=>{let e=[v.changeStart$.subscribe(e=>{ne(e)}),v.changing$.subscribe(e=>{ne(e)}),v.changeEnd$.subscribe(e=>{ne(e)}),r.focus$.subscribe(e=>{if(e.length!==1)return;let t=r.getDrawingByParam(e[0]);if(t==null)return;let n=t.transform;if(n==null)return;let{width:i,height:a,left:o,top:s,angle:c}=n;i!=null&&E(i),a!=null&&O(a),o!=null&&j(o),s!=null&&N(s),c!=null&&F(c)})];return()=>{e.forEach(e=>e.unsubscribe())}},[]);let re=h(e=>{if(e==null)return;let{limitWidth:t,limitHeight:n}=te(A,M,e,D);e=Math.min(e,t);let i={unitId:l,subUnitId:u,drawingId:f,drawingType:p,transform:{width:e}};if(ee){let t=e/T*D;if(t=Math.max(t,20),t>n)return;O(t),i.transform.height=t}E(e),r.featurePluginUpdateNotification([i]),v.refreshControls().changeNotification()},300),ie=h(e=>{if(e==null)return;let{limitHeight:t,limitWidth:n}=te(A,M,T,e);e=Math.min(e,t);let i={unitId:l,subUnitId:u,drawingId:f,drawingType:p,transform:{height:e}};if(ee){let t=e/D*T;if(t=Math.max(t,20),t>n)return;E(t),i.transform.width=t}O(e),r.featurePluginUpdateNotification([i]),v.refreshControls().changeNotification()},300),ae=h(e=>{if(e==null)return;let{limitLeft:t}=te(e,M,T,D);e=t;let n={unitId:l,subUnitId:u,drawingId:f,drawingType:p,transform:{left:e}};j(e),r.featurePluginUpdateNotification([n]),v.refreshControls().changeNotification()},300),oe=h(e=>{if(e==null)return;let{limitTop:t}=te(A,e,T,D);e=t;let n={unitId:l,subUnitId:u,drawingId:f,drawingType:p,transform:{top:e}};N(e),r.featurePluginUpdateNotification([n]),v.refreshControls().changeNotification()},300),se=e=>{if(e==null)return;let t={unitId:l,subUnitId:u,drawingId:f,drawingType:p,transform:{angle:e}};F(e),r.featurePluginUpdateNotification([t]),v.refreshControls().changeNotification()},ce=e=>{I(e),v.keepRatio=e};return U(`div`,{className:B(`univer-grid univer-gap-2 univer-py-2 univer-text-gray-400`,{"univer-hidden":!o}),children:[H(`header`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:H(`div`,{children:n.t(`image-panel.transform.title`)})}),U(`div`,{className:`univer-grid univer-grid-cols-3 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2`,children:[U(`div`,{children:[H(`span`,{children:n.t(`image-panel.transform.width`)}),H(Oe,{precision:1,value:T,min:20,onChange:e=>{re(e)}})]}),U(`div`,{children:[H(`span`,{children:n.t(`image-panel.transform.height`)}),H(Oe,{precision:1,value:D,min:20,onChange:e=>{ie(e)}})]}),U(`div`,{children:[H(`span`,{children:n.t(`image-panel.transform.lock`)}),H(`div`,{className:`univer-text-center`,children:H(Ee,{checked:ee,onChange:ce})})]})]}),U(`div`,{className:`univer-grid univer-grid-cols-3 univer-gap-2 [&>div]:univer-grid [&>div]:univer-gap-2`,children:[U(`div`,{children:[H(`span`,{children:n.t(`image-panel.transform.x`)}),H(Oe,{precision:1,value:A,onChange:e=>{ae(e)}})]}),U(`div`,{children:[H(`span`,{children:n.t(`image-panel.transform.y`)}),H(Oe,{precision:1,value:M,onChange:e=>{oe(e)}})]}),U(`div`,{children:[H(`span`,{children:n.t(`image-panel.transform.rotate`)}),H(Oe,{precision:1,value:P,min:Gt[0],max:Gt[1],onChange:se})]})]})]})},qt=e=>{let t=R(i),n=R(d),r=R(Bt),a=R(de),o=ve(r.canUseShapeClip$,!1),{drawings:s,cropperShow:c}=e;if(s[0]==null)return;let[l,u]=V(J.FREE),f=Ne(!1),p=[{label:n.t(`image-panel.crop.mode`),value:J.FREE},{label:`1:1`,value:J.R1_1},{label:`16:9`,value:J.R16_9},{label:`9:16`,value:J.R9_16},{label:`5:4`,value:J.R5_4},{label:`4:5`,value:J.R4_5},{label:`4:3`,value:J.R4_3},{label:`3:4`,value:J.R3_4},{label:`3:2`,value:J.R3_2},{label:`2:3`,value:J.R2_3}];Me(()=>{let e=t.onCommandExecuted(e=>{if(e.id===q.id){let t=e.params;t!=null&&t.isAuto||(f.current=!1)}});return()=>{e==null||e.dispose()}},[]);function m(e){u(e),f.current&&t.executeCommand(Ze.id,{cropType:e})}let h=e=>{t.executeCommand(Ze.id,{cropType:e}),f.current=!0};return U(`div`,{className:B(`univer-grid univer-gap-2 univer-py-2 univer-text-gray-400`,{"univer-hidden":!c}),children:[H(`header`,{className:`univer-text-gray-600 dark:!univer-text-gray-200`,children:H(`div`,{children:n.t(`image-panel.crop.title`)})}),U(`div`,{className:`univer-flex univer-items-center univer-justify-center univer-gap-2`,children:[U(z,{onClick:()=>{h(l)},children:[H(ie,{}),n.t(`image-panel.crop.start`)]}),H(Ae,{value:l,options:p,onChange:m})]}),o&&(()=>{let e=a.get(`sheet.image-clip.shape.picker.component`);return e?H(e,{}):null})()]})},Jt=e=>{let t=R(y),n=R(k),r=R(d),{drawings:i,hasArrange:a=!0,hasTransform:o=!0,hasAlign:s=!0,hasCropper:c=!0,hasGroup:l=!0}=e,u=i[0];if(u==null)return;let{unitId:f}=u,p=n.getRenderById(f),m=p==null?void 0:p.scene;if(m==null)return;let h=m.getTransformerByCreate(),[g,_]=V(!0),[v,b]=V(!0),[x,S]=V(!1),[C,w]=V(!0),[T,E]=V(!1);return Me(()=>{let e=h.clearControl$.subscribe(e=>{e===!0&&(_(!1),b(!1),S(!1),w(!1),E(!0))}),n=h.changeStart$.subscribe(e=>{let{objects:n}=e,r=jt(n,t);r.length===0?(_(!1),b(!1),S(!1),w(!1),E(!0)):r.length===1?(_(!0),b(!0),S(!1),w(!0),E(!1)):(_(!0),b(!1),S(!0),w(!1),E(!1))}),r=t.focus$.subscribe(e=>{e.length===0?(_(!1),b(!1),S(!1),w(!1),E(!0)):e.length===1?(_(!0),b(!0),S(!1),w(!0),E(!1)):(_(!0),b(!1),S(!0),w(!1),E(!1))});return()=>{n.unsubscribe(),e.unsubscribe(),r.unsubscribe()}},[]),U(Pe,{children:[H(`div`,{className:B(`univer-h-full`,{"univer-hidden":!T}),children:H(`div`,{className:`univer-flex univer-h-full univer-items-center univer-justify-center`,children:H(`span`,{children:r.t(`image-panel.null`)})})}),H(Ut,{arrangeShow:a===!0?g:!1,drawings:i}),H(Kt,{transformShow:o===!0?v:!1,drawings:i}),H(Ht,{alignShow:s===!0?x:!1,drawings:i}),H(qt,{cropperShow:c===!0?C:!1,drawings:i}),H(Wt,{hasGroup:l,drawings:i})]})};export{Ze as AutoImageCropOperation,Ot as COMPONENT_IMAGE_POPUP_MENU,Ye as CancelDrawingGroupOperation,q as CloseImageCropOperation,qe as DRAWING_GROUP_TYPES,Jt as DrawingCommonPanel,Bt as DrawingImageClipService,Q as DrawingRenderService,zt as IMAGE_CLIP_SHAPE_PICKER_COMPONENT,Lt as ImageCropperObject,kt as ImagePopupMenu,Qe as ImageResetSizeOperation,Xe as OpenImageCropOperation,G as SetDrawingAlignOperation,K as SetDrawingArrangeOperation,Je as SetDrawingGroupOperation,$ as UniverDrawingUIPlugin,et as getCurrentUnitInfo,jt as getUpdateParams,$e as insertGroupObject};
|
package/lib/es/locale/ca-ES.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={"image-popup":{replace:`Reemplaçar`,delete:`Eliminar`,edit:`Editar`,crop:`Retalla`,reset:`Restableix la mida`},"image-cropper":{error:`No es poden retallar objectes que no siguin imatges.`},"image-panel":{arrange:{title:`Organitza`,forward:`Porta endavant`,backward:`Envia enrere`,front:`Porta al davant`,back:`Envia al fons`},transform:{title:`Transforma`,rotate:`Gira (°)`,x:`X (px)`,y:`Y (px)`,width:`Amplada (px)`,height:`Alçada (px)`,lock:`Bloca proporció (%)`},crop:{title:`Retalla`,start:`Inicia retallada`,mode:`Lliure`},group:{title:`Agrupa`,group:`Agrupa`,reGroup:`Reagrupa`,unGroup:`Desagrupa`},align:{title:`Alinea`,default:`Selecciona tipus d’alineació`,left:`Alinea a l’esquerra`,center:`Alinea al centre`,right:`Alinea a la dreta`,top:`Alinea a dalt`,middle:`Alinea al mig`,bottom:`Alinea a baix`,horizon:`Distribueix horitzontalment`,vertical:`Distribueix verticalment`},null:`Cap objecte seleccionat`},"drawing-view":`Dibuix`,shortcut:{"drawing-move-down":`Mou el dibuix cap avall`,"drawing-move-up":`Mou el dibuix cap amunt`,"drawing-move-left":`Mou el dibuix a l’esquerra`,"drawing-move-right":`Mou el dibuix a la dreta`,"drawing-delete":`Elimina el dibuix`}};export{e as default};
|
|
1
|
+
const e={"image-popup":{replace:`Reemplaçar`,delete:`Eliminar`,edit:`Editar`,crop:`Retalla`,reset:`Restableix la mida`},"image-cropper":{error:`No es poden retallar objectes que no siguin imatges.`},"image-panel":{arrange:{title:`Organitza`,forward:`Porta endavant`,backward:`Envia enrere`,front:`Porta al davant`,back:`Envia al fons`},transform:{title:`Transforma`,rotate:`Gira (°)`,x:`X (px)`,y:`Y (px)`,width:`Amplada (px)`,height:`Alçada (px)`,lock:`Bloca proporció (%)`},crop:{title:`Retalla`,start:`Inicia retallada`,mode:`Lliure`,shape:`Retalla a forma`},group:{title:`Agrupa`,group:`Agrupa`,reGroup:`Reagrupa`,unGroup:`Desagrupa`},align:{title:`Alinea`,default:`Selecciona tipus d’alineació`,left:`Alinea a l’esquerra`,center:`Alinea al centre`,right:`Alinea a la dreta`,top:`Alinea a dalt`,middle:`Alinea al mig`,bottom:`Alinea a baix`,horizon:`Distribueix horitzontalment`,vertical:`Distribueix verticalment`},null:`Cap objecte seleccionat`},"drawing-view":`Dibuix`,shortcut:{"drawing-move-down":`Mou el dibuix cap avall`,"drawing-move-up":`Mou el dibuix cap amunt`,"drawing-move-left":`Mou el dibuix a l’esquerra`,"drawing-move-right":`Mou el dibuix a la dreta`,"drawing-delete":`Elimina el dibuix`}};export{e as default};
|
package/lib/es/locale/en-US.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={"image-popup":{replace:`Replace`,delete:`Delete`,edit:`Edit`,crop:`Crop`,reset:`Reset Size`},"image-cropper":{error:`Cannot crop non-image objects.`},"image-panel":{arrange:{title:`Arrange`,forward:`Bring Forward`,backward:`Send Backward`,front:`Bring to Front`,back:`Send to Back`},transform:{title:`Transform`,rotate:`Rotate (°)`,x:`X (px)`,y:`Y (px)`,width:`Width (px)`,height:`Height (px)`,lock:`Lock Ratio (%)`},crop:{title:`Crop`,start:`Start Crop`,mode:`Free`},group:{title:`Group`,group:`Group`,reGroup:`Regroup`,unGroup:`Ungroup`},align:{title:`Align`,default:`Select Align Type`,left:`Align Left`,center:`Align Center`,right:`Align Right`,top:`Align Top`,middle:`Align Middle`,bottom:`Align Bottom`,horizon:`Distribute Horizontally `,vertical:`Distribute Vertically `},null:`No Object Selection`},"drawing-view":`Drawing`,shortcut:{"drawing-move-down":`Move Drawing down`,"drawing-move-up":`Move Drawing up`,"drawing-move-left":`Move Drawing left`,"drawing-move-right":`Move Drawing right`,"drawing-delete":`Delete Drawing`}};export{e as default};
|
|
1
|
+
const e={"image-popup":{replace:`Replace`,delete:`Delete`,edit:`Edit`,crop:`Crop`,reset:`Reset Size`},"image-cropper":{error:`Cannot crop non-image objects.`},"image-panel":{arrange:{title:`Arrange`,forward:`Bring Forward`,backward:`Send Backward`,front:`Bring to Front`,back:`Send to Back`},transform:{title:`Transform`,rotate:`Rotate (°)`,x:`X (px)`,y:`Y (px)`,width:`Width (px)`,height:`Height (px)`,lock:`Lock Ratio (%)`},crop:{title:`Crop`,start:`Start Crop`,mode:`Free`,shape:`Crop to Shape`},group:{title:`Group`,group:`Group`,reGroup:`Regroup`,unGroup:`Ungroup`},align:{title:`Align`,default:`Select Align Type`,left:`Align Left`,center:`Align Center`,right:`Align Right`,top:`Align Top`,middle:`Align Middle`,bottom:`Align Bottom`,horizon:`Distribute Horizontally `,vertical:`Distribute Vertically `},null:`No Object Selection`},"drawing-view":`Drawing`,shortcut:{"drawing-move-down":`Move Drawing down`,"drawing-move-up":`Move Drawing up`,"drawing-move-left":`Move Drawing left`,"drawing-move-right":`Move Drawing right`,"drawing-delete":`Delete Drawing`}};export{e as default};
|
package/lib/es/locale/es-ES.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={"image-popup":{replace:`Reemplazar`,delete:`Eliminar`,edit:`Editar`,crop:`Recortar`,reset:`Restablecer tamaño`},"image-cropper":{error:`No se pueden recortar objetos que no sean imágenes.`},"image-panel":{arrange:{title:`Organizar`,forward:`Traer adelante`,backward:`Enviar atrás`,front:`Traer al frente`,back:`Enviar al fondo`},transform:{title:`Transformar`,rotate:`Rotar (°)`,x:`X (px)`,y:`Y (px)`,width:`Ancho (px)`,height:`Alto (px)`,lock:`Bloquear proporción (%)`},crop:{title:`Recortar`,start:`Iniciar recorte`,mode:`Libre`},group:{title:`Agrupar`,group:`Agrupar`,reGroup:`Reagrupar`,unGroup:`Desagrupar`},align:{title:`Alinear`,default:`Seleccionar tipo de alineación`,left:`Alinear a la izquierda`,center:`Alinear al centro`,right:`Alinear a la derecha`,top:`Alinear arriba`,middle:`Alinear al medio`,bottom:`Alinear abajo`,horizon:`Distribuir horizontalmente`,vertical:`Distribuir verticalmente`},null:`Ningún objeto seleccionado`},"drawing-view":`Dibujo`,shortcut:{"drawing-move-down":`Mover dibujo hacia abajo`,"drawing-move-up":`Mover dibujo hacia arriba`,"drawing-move-left":`Mover dibujo a la izquierda`,"drawing-move-right":`Mover dibujo a la derecha`,"drawing-delete":`Eliminar dibujo`}};export{e as default};
|
|
1
|
+
const e={"image-popup":{replace:`Reemplazar`,delete:`Eliminar`,edit:`Editar`,crop:`Recortar`,reset:`Restablecer tamaño`},"image-cropper":{error:`No se pueden recortar objetos que no sean imágenes.`},"image-panel":{arrange:{title:`Organizar`,forward:`Traer adelante`,backward:`Enviar atrás`,front:`Traer al frente`,back:`Enviar al fondo`},transform:{title:`Transformar`,rotate:`Rotar (°)`,x:`X (px)`,y:`Y (px)`,width:`Ancho (px)`,height:`Alto (px)`,lock:`Bloquear proporción (%)`},crop:{title:`Recortar`,start:`Iniciar recorte`,mode:`Libre`,shape:`Recortar a forma`},group:{title:`Agrupar`,group:`Agrupar`,reGroup:`Reagrupar`,unGroup:`Desagrupar`},align:{title:`Alinear`,default:`Seleccionar tipo de alineación`,left:`Alinear a la izquierda`,center:`Alinear al centro`,right:`Alinear a la derecha`,top:`Alinear arriba`,middle:`Alinear al medio`,bottom:`Alinear abajo`,horizon:`Distribuir horizontalmente`,vertical:`Distribuir verticalmente`},null:`Ningún objeto seleccionado`},"drawing-view":`Dibujo`,shortcut:{"drawing-move-down":`Mover dibujo hacia abajo`,"drawing-move-up":`Mover dibujo hacia arriba`,"drawing-move-left":`Mover dibujo a la izquierda`,"drawing-move-right":`Mover dibujo a la derecha`,"drawing-delete":`Eliminar dibujo`}};export{e as default};
|
package/lib/es/locale/fa-IR.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={"image-popup":{replace:`تعویض`,delete:`حذف`,edit:`ویرایش`,crop:`کراپ`,reset:`بازنشانی اندازه`},"image-cropper":{error:`کراپ کردن اشیاء غیرتصویری امکانپذیر نیست.`},"image-panel":{arrange:{title:`ترتیبدهی`,forward:`آوردن به جلو`,backward:`فرستادن به عقب`,front:`آوردن به جلوی همه`,back:`فرستادن به پشت همه`},transform:{title:`تبدیل`,rotate:`چرخش (°)`,x:`X (px)`,y:`Y (px)`,width:`عرض (px)`,height:`ارتفاع (px)`,lock:`قفل نسبت (%)`},crop:{title:`کراپ`,start:`شروع کراپ`,mode
|
|
1
|
+
const e={"image-popup":{replace:`تعویض`,delete:`حذف`,edit:`ویرایش`,crop:`کراپ`,reset:`بازنشانی اندازه`},"image-cropper":{error:`کراپ کردن اشیاء غیرتصویری امکانپذیر نیست.`},"image-panel":{arrange:{title:`ترتیبدهی`,forward:`آوردن به جلو`,backward:`فرستادن به عقب`,front:`آوردن به جلوی همه`,back:`فرستادن به پشت همه`},transform:{title:`تبدیل`,rotate:`چرخش (°)`,x:`X (px)`,y:`Y (px)`,width:`عرض (px)`,height:`ارتفاع (px)`,lock:`قفل نسبت (%)`},crop:{title:`کراپ`,start:`شروع کراپ`,mode:`آزاد`,shape:`کراپ به شکل`},group:{title:`گروه`,group:`گروهبندی`,reGroup:`گروهبندی مجدد`,unGroup:`لغو گروهبندی`},align:{title:`تراز`,default:`انتخاب نوع تراز`,left:`تراز چپ`,center:`تراز وسط`,right:`تراز راست`,top:`تراز بالا`,middle:`تراز وسط`,bottom:`تراز پایین`,horizon:`توزیع افقی`,vertical:`توزیع عمودی`},null:`هیچ شیئی انتخاب نشده است`},"drawing-view":`طراحی`,shortcut:{"drawing-move-down":`جابهجایی طراحی به پایین`,"drawing-move-up":`جابهجایی طراحی به بالا`,"drawing-move-left":`جابهجایی طراحی به چپ`,"drawing-move-right":`جابهجایی طراحی به راست`,"drawing-delete":`حذف طراحی`}};export{e as default};
|
package/lib/es/locale/fr-FR.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={"image-popup":{replace:`Remplacer`,delete:`Supprimer`,edit:`Modifier`,crop:`Rogner`,reset:`Réinitialiser la taille`},"image-cropper":{error:`Impossible de rogner des objets non image.`},"image-panel":{arrange:{title:`Arranger`,forward:`Avancer`,backward:`Reculer`,front:`Mettre au premier plan`,back:`Mettre à l'arrière-plan`},transform:{title:`Transformer`,rotate:`Pivoter (°)`,x:`X (px)`,y:`Y (px)`,width:`Largeur (px)`,height:`Hauteur (px)`,lock:`Verrouiller le ratio (%)`},crop:{title:`Rogner`,start:`Commencer à rogner`,mode:`Libre`},group:{title:`Grouper`,group:`Grouper`,reGroup:`Regrouper`,unGroup:`Dégrouper`},align:{title:`Aligner`,default:`Sélectionner le type d'alignement`,left:`Aligner à gauche`,center:`Aligner au centre`,right:`Aligner à droite`,top:`Aligner en haut`,middle:`Aligner au milieu`,bottom:`Aligner en bas`,horizon:`Distribuer horizontalement`,vertical:`Distribuer verticalement`},null:`Aucune sélection d'objet`},"drawing-view":`Dessin`,shortcut:{"drawing-move-down":`Déplacer le dessin vers le bas`,"drawing-move-up":`Déplacer le dessin vers le haut`,"drawing-move-left":`Déplacer le dessin vers la gauche`,"drawing-move-right":`Déplacer le dessin vers la droite`,"drawing-delete":`Supprimer le dessin`}};export{e as default};
|
|
1
|
+
const e={"image-popup":{replace:`Remplacer`,delete:`Supprimer`,edit:`Modifier`,crop:`Rogner`,reset:`Réinitialiser la taille`},"image-cropper":{error:`Impossible de rogner des objets non image.`},"image-panel":{arrange:{title:`Arranger`,forward:`Avancer`,backward:`Reculer`,front:`Mettre au premier plan`,back:`Mettre à l'arrière-plan`},transform:{title:`Transformer`,rotate:`Pivoter (°)`,x:`X (px)`,y:`Y (px)`,width:`Largeur (px)`,height:`Hauteur (px)`,lock:`Verrouiller le ratio (%)`},crop:{title:`Rogner`,start:`Commencer à rogner`,mode:`Libre`,shape:`Rogner à la forme`},group:{title:`Grouper`,group:`Grouper`,reGroup:`Regrouper`,unGroup:`Dégrouper`},align:{title:`Aligner`,default:`Sélectionner le type d'alignement`,left:`Aligner à gauche`,center:`Aligner au centre`,right:`Aligner à droite`,top:`Aligner en haut`,middle:`Aligner au milieu`,bottom:`Aligner en bas`,horizon:`Distribuer horizontalement`,vertical:`Distribuer verticalement`},null:`Aucune sélection d'objet`},"drawing-view":`Dessin`,shortcut:{"drawing-move-down":`Déplacer le dessin vers le bas`,"drawing-move-up":`Déplacer le dessin vers le haut`,"drawing-move-left":`Déplacer le dessin vers la gauche`,"drawing-move-right":`Déplacer le dessin vers la droite`,"drawing-delete":`Supprimer le dessin`}};export{e as default};
|
package/lib/es/locale/ja-JP.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={"image-popup":{replace:`置換`,delete:`削除`,edit:`編集`,crop:`トリミング`,reset:`サイズをリセット`},"image-cropper":{error:`画像以外のオブジェクトはトリミングできません。`},"image-panel":{arrange:{title:`配置`,forward:`前面へ移動`,backward:`背面へ移動`,front:`最前面へ移動`,back:`最背面へ移動`},transform:{title:`変形`,rotate:`回転 (°)`,x:`X座標 (px)`,y:`Y座標 (px)`,width:`幅 (px)`,height:`高さ (px)`,lock:`縦横比を固定 (%)`},crop:{title:`トリミング`,start:`トリミングを開始`,mode
|
|
1
|
+
const e={"image-popup":{replace:`置換`,delete:`削除`,edit:`編集`,crop:`トリミング`,reset:`サイズをリセット`},"image-cropper":{error:`画像以外のオブジェクトはトリミングできません。`},"image-panel":{arrange:{title:`配置`,forward:`前面へ移動`,backward:`背面へ移動`,front:`最前面へ移動`,back:`最背面へ移動`},transform:{title:`変形`,rotate:`回転 (°)`,x:`X座標 (px)`,y:`Y座標 (px)`,width:`幅 (px)`,height:`高さ (px)`,lock:`縦横比を固定 (%)`},crop:{title:`トリミング`,start:`トリミングを開始`,mode:`自由モード`,shape:`形状にトリミング`},group:{title:`グループ`,group:`グループ化`,reGroup:`再グループ化`,unGroup:`グループ解除`},align:{title:`整列`,default:`整列タイプを選択`,left:`左揃え`,center:`中央揃え`,right:`右揃え`,top:`上揃え`,middle:`中央揃え`,bottom:`下揃え`,horizon:`水平間隔を均等に配分`,vertical:`垂直間隔を均等に配分`},null:`選択されたオブジェクトがありません`},"drawing-view":`描画`,shortcut:{"drawing-move-down":`図形を下へ移動`,"drawing-move-up":`図形を上へ移動`,"drawing-move-left":`図形を左へ移動`,"drawing-move-right":`図形を右へ移動`,"drawing-delete":`図形を削除`}};export{e as default};
|
package/lib/es/locale/ko-KR.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={"image-popup":{replace:`교체`,delete:`삭제`,edit:`편집`,crop:`자르기`,reset:`크기 초기화`},"image-cropper":{error:`이미지가 아닌 객체는 자를 수 없습니다.`},"image-panel":{arrange:{title:`정렬`,forward:`앞으로 가져오기`,backward:`뒤로 보내기`,front:`맨 앞으로 가져오기`,back:`맨 뒤로 보내기`},transform:{title:`변형`,rotate:`회전 (°)`,x:`X 좌표 (px)`,y:`Y 좌표 (px)`,width:`너비 (px)`,height:`높이 (px)`,lock:`비율 고정 (%)`},crop:{title:`자르기`,start:`자르기 시작`,mode:`자유
|
|
1
|
+
const e={"image-popup":{replace:`교체`,delete:`삭제`,edit:`편집`,crop:`자르기`,reset:`크기 초기화`},"image-cropper":{error:`이미지가 아닌 객체는 자를 수 없습니다.`},"image-panel":{arrange:{title:`정렬`,forward:`앞으로 가져오기`,backward:`뒤로 보내기`,front:`맨 앞으로 가져오기`,back:`맨 뒤로 보내기`},transform:{title:`변형`,rotate:`회전 (°)`,x:`X 좌표 (px)`,y:`Y 좌표 (px)`,width:`너비 (px)`,height:`높이 (px)`,lock:`비율 고정 (%)`},crop:{title:`자르기`,start:`자르기 시작`,mode:`자유 모드`,shape:`모양에 맞게 자르기`},group:{title:`그룹`,group:`그룹화`,reGroup:`다시 그룹화`,unGroup:`그룹 해제`},align:{title:`맞춤`,default:`맞춤 유형 선택`,left:`왼쪽 맞춤`,center:`가운데 맞춤`,right:`오른쪽 맞춤`,top:`위쪽 맞춤`,middle:`가운데 맞춤`,bottom:`아래쪽 맞춤`,horizon:`수평 간격 균등 분배`,vertical:`수직 간격 균등 분배`},null:`선택된 객체가 없습니다`},"drawing-view":`그리기`,shortcut:{"drawing-move-down":`그리기 아래로 이동`,"drawing-move-up":`그리기 위로 이동`,"drawing-move-left":`그리기 왼쪽으로 이동`,"drawing-move-right":`그리기 오른쪽으로 이동`,"drawing-delete":`그리기 삭제`}};export{e as default};
|
package/lib/es/locale/ru-RU.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={"image-popup":{replace:`Заменить`,delete:`Удалить`,edit:`Редактировать`,crop:`Обрезать`,reset:`Сбросить размер`},"image-cropper":{error:`Невозможно обрезать не изображения.`},"image-panel":{arrange:{title:`Расположение`,forward:`Переместить вперёд`,backward:`Переместить назад`,front:`На передний план`,back:`На задний план`},transform:{title:`Трансформация`,rotate:`Повернуть (°)`,x:`X (пкс)`,y:`Y (пкс)`,width:`Ширина (пкс)`,height:`Высота (пкс)`,lock:`Заблокировать пропорции (%)`},crop:{title:`Обрезка`,start:`Начать обрезку`,mode
|
|
1
|
+
const e={"image-popup":{replace:`Заменить`,delete:`Удалить`,edit:`Редактировать`,crop:`Обрезать`,reset:`Сбросить размер`},"image-cropper":{error:`Невозможно обрезать не изображения.`},"image-panel":{arrange:{title:`Расположение`,forward:`Переместить вперёд`,backward:`Переместить назад`,front:`На передний план`,back:`На задний план`},transform:{title:`Трансформация`,rotate:`Повернуть (°)`,x:`X (пкс)`,y:`Y (пкс)`,width:`Ширина (пкс)`,height:`Высота (пкс)`,lock:`Заблокировать пропорции (%)`},crop:{title:`Обрезка`,start:`Начать обрезку`,mode:`Свободный`,shape:`Обрезать по форме`},group:{title:`Группировка`,group:`Сгруппировать`,reGroup:`Перегруппировать`,unGroup:`Разгруппировать`},align:{title:`Выравнивание`,default:`Выберите тип выравнивания`,left:`Выровнять по левому краю`,center:`Выровнять по центру`,right:`Выровнять по правому краю`,top:`Выровнять по верхнему краю`,middle:`Выровнять посередине`,bottom:`Выровнять по нижнему краю`,horizon:`Распределить горизонтально`,vertical:`Распределить вертикально`},null:`Нет выбранных объектов`},"drawing-view":`Изображение`,shortcut:{"drawing-move-down":`Переместить изображение вниз`,"drawing-move-up":`Переместить изображение вверх`,"drawing-move-left":`Переместить изображение влево`,"drawing-move-right":`Переместить изображение вправо`,"drawing-delete":`Удалить изображение`}};export{e as default};
|
package/lib/es/locale/sk-SK.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={"image-popup":{replace:`Nahradiť`,delete:`Odstrániť`,edit:`Upraviť`,crop:`Orezať`,reset:`Obnoviť veľkosť`},"image-cropper":{error:`Nedá sa orezať neobrázkový objekt.`},"image-panel":{arrange:{title:`Usporiadať`,forward:`Posunúť dopredu`,backward:`Posunúť dozadu`,front:`Presunúť do popredia`,back:`Presunúť do pozadia`},transform:{title:`Transformovať`,rotate:`Otočiť (°)`,x:`X (px)`,y:`Y (px)`,width:`Šírka (px)`,height:`Výška (px)`,lock:`Uzamknúť pomer (%)`},crop:{title:`Orezanie`,start:`Začať orezanie`,mode:`Voľne`},group:{title:`Zoskupiť`,group:`Zoskupiť`,reGroup:`Znovu zoskupiť`,unGroup:`Zrušiť zoskupenie`},align:{title:`Zarovnať`,default:`Vyberte typ zarovnania`,left:`Zarovnať doľava`,center:`Zarovnať na stred`,right:`Zarovnať doprava`,top:`Zarovnať hore`,middle:`Zarovnať na stred`,bottom:`Zarovnať dole`,horizon:`Rozložiť vodorovne`,vertical:`Rozložiť zvisle`},null:`Nie je vybraný žiadny objekt`},"drawing-view":`Kresba`,shortcut:{"drawing-move-down":`Posunúť kresbu nadol`,"drawing-move-up":`Posunúť kresbu nahor`,"drawing-move-left":`Posunúť kresbu doľava`,"drawing-move-right":`Posunúť kresbu doprava`,"drawing-delete":`Odstrániť kresbu`}};export{e as default};
|
|
1
|
+
const e={"image-popup":{replace:`Nahradiť`,delete:`Odstrániť`,edit:`Upraviť`,crop:`Orezať`,reset:`Obnoviť veľkosť`},"image-cropper":{error:`Nedá sa orezať neobrázkový objekt.`},"image-panel":{arrange:{title:`Usporiadať`,forward:`Posunúť dopredu`,backward:`Posunúť dozadu`,front:`Presunúť do popredia`,back:`Presunúť do pozadia`},transform:{title:`Transformovať`,rotate:`Otočiť (°)`,x:`X (px)`,y:`Y (px)`,width:`Šírka (px)`,height:`Výška (px)`,lock:`Uzamknúť pomer (%)`},crop:{title:`Orezanie`,start:`Začať orezanie`,mode:`Voľne`,shape:`Oříznout podle tvaru`},group:{title:`Zoskupiť`,group:`Zoskupiť`,reGroup:`Znovu zoskupiť`,unGroup:`Zrušiť zoskupenie`},align:{title:`Zarovnať`,default:`Vyberte typ zarovnania`,left:`Zarovnať doľava`,center:`Zarovnať na stred`,right:`Zarovnať doprava`,top:`Zarovnať hore`,middle:`Zarovnať na stred`,bottom:`Zarovnať dole`,horizon:`Rozložiť vodorovne`,vertical:`Rozložiť zvisle`},null:`Nie je vybraný žiadny objekt`},"drawing-view":`Kresba`,shortcut:{"drawing-move-down":`Posunúť kresbu nadol`,"drawing-move-up":`Posunúť kresbu nahor`,"drawing-move-left":`Posunúť kresbu doľava`,"drawing-move-right":`Posunúť kresbu doprava`,"drawing-delete":`Odstrániť kresbu`}};export{e as default};
|
package/lib/es/locale/vi-VN.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={"image-popup":{replace:`Thay thế`,delete:`Xóa`,edit:`Chỉnh sửa`,crop:`Cắt`,reset:`Đặt lại kích thước`},"image-cropper":{error:`Không thể cắt phần tử không phải hình ảnh`},"image-panel":{arrange:{title:`Sắp xếp`,forward:`Di chuyển lên một lớp`,backward:`Di chuyển xuống một lớp`,front:`Đưa lên trên cùng`,back:`Đưa xuống dưới cùng`},transform:{title:`Biến đổi`,rotate:`Xoay (°)`,x:`X (px)`,y:`Y (px)`,width:`Chiều rộng (px)`,height:`Chiều cao (px)`,lock:`Khóa tỷ lệ (%)`},crop:{title:`Cắt`,start:`Bắt đầu cắt`,mode:`Cắt tự do tỷ l
|
|
1
|
+
const e={"image-popup":{replace:`Thay thế`,delete:`Xóa`,edit:`Chỉnh sửa`,crop:`Cắt`,reset:`Đặt lại kích thước`},"image-cropper":{error:`Không thể cắt phần tử không phải hình ảnh`},"image-panel":{arrange:{title:`Sắp xếp`,forward:`Di chuyển lên một lớp`,backward:`Di chuyển xuống một lớp`,front:`Đưa lên trên cùng`,back:`Đưa xuống dưới cùng`},transform:{title:`Biến đổi`,rotate:`Xoay (°)`,x:`X (px)`,y:`Y (px)`,width:`Chiều rộng (px)`,height:`Chiều cao (px)`,lock:`Khóa tỷ lệ (%)`},crop:{title:`Cắt`,start:`Bắt đầu cắt`,mode:`Cắt tự do tỷ lệ`,shape:`Cắt theo hình dạng`},group:{title:`Nhóm`,group:`Nhóm`,reGroup:`Nhóm lại`,unGroup:`Hủy nhóm`},align:{title:`Căn chỉnh`,default:`Chọn cách căn chỉnh`,left:`Căn trái`,center:`Căn giữa theo chiều ngang`,right:`Căn phải`,top:`Căn trên`,middle:`Căn giữa theo chiều dọc`,bottom:`Căn dưới`,horizon:`Phân phối theo chiều ngang`,vertical:`Phân phối theo chiều dọc`},null:`Không có đối tượng nào được chọn`},"drawing-view":`Drawing`,shortcut:{"drawing-move-down":`Move Drawing down`,"drawing-move-up":`Move Drawing up`,"drawing-move-left":`Move Drawing left`,"drawing-move-right":`Move Drawing right`,"drawing-delete":`Delete Drawing`}};export{e as default};
|
package/lib/es/locale/zh-CN.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={"image-popup":{replace:`替换`,delete:`删除`,edit:`编辑`,crop:`裁剪`,reset:`重置大小`},"image-cropper":{error:`无法裁剪非图片元素`},"image-panel":{arrange:{title:`排列`,forward:`上移一层`,backward:`下移一层`,front:`置于顶层`,back:`置于底层`},transform:{title:`变换`,rotate:`旋转 (°)`,x:`X (px)`,y:`Y (px)`,width:`宽度 (px)`,height:`高度 (px)`,lock:`锁定比例 (%)`},crop:{title:`裁剪`,start:`开始裁剪`,mode
|
|
1
|
+
const e={"image-popup":{replace:`替换`,delete:`删除`,edit:`编辑`,crop:`裁剪`,reset:`重置大小`},"image-cropper":{error:`无法裁剪非图片元素`},"image-panel":{arrange:{title:`排列`,forward:`上移一层`,backward:`下移一层`,front:`置于顶层`,back:`置于底层`},transform:{title:`变换`,rotate:`旋转 (°)`,x:`X (px)`,y:`Y (px)`,width:`宽度 (px)`,height:`高度 (px)`,lock:`锁定比例 (%)`},crop:{title:`裁剪`,start:`开始裁剪`,mode:`自由比例裁剪`,shape:`裁剪为形状`},group:{title:`组合`,group:`组合`,reGroup:`重新组合`,unGroup:`取消组合`},align:{title:`对齐方式`,default:`选择对齐方式`,left:`左对齐`,center:`水平居中`,right:`右对齐`,top:`顶部对齐`,middle:`垂直居中`,bottom:`底部对齐`,horizon:`水平分布`,vertical:`垂直分布`},null:`未选中任何对象`},"drawing-view":`绘图`,shortcut:{"drawing-move-down":`下移绘图`,"drawing-move-up":`上移绘图`,"drawing-move-left":`左移绘图`,"drawing-move-right":`右移绘图`,"drawing-delete":`删除绘图`}};export{e as default};
|
package/lib/es/locale/zh-TW.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={"image-popup":{replace:`替換`,delete:`刪除`,edit:`編輯`,crop:`裁切`,reset:`重置大小`},"image-cropper":{error:`無法裁切非圖片元素`},"image-panel":{arrange:{title:`排列`,forward:`上移一層`,backward:`下移一層`,front:`置於頂層`,back:`置於底層`},transform:{title:`變換`,rotate:`旋轉 (°)`,x:`X (px)`,y:`Y (px)`,width:`寬度 (px)`,height:`高度 (px)`,lock:`鎖定比例 (%)`},crop:{title:`裁切`,start:`開始裁切`,mode
|
|
1
|
+
const e={"image-popup":{replace:`替換`,delete:`刪除`,edit:`編輯`,crop:`裁切`,reset:`重置大小`},"image-cropper":{error:`無法裁切非圖片元素`},"image-panel":{arrange:{title:`排列`,forward:`上移一層`,backward:`下移一層`,front:`置於頂層`,back:`置於底層`},transform:{title:`變換`,rotate:`旋轉 (°)`,x:`X (px)`,y:`Y (px)`,width:`寬度 (px)`,height:`高度 (px)`,lock:`鎖定比例 (%)`},crop:{title:`裁切`,start:`開始裁切`,mode:`自由比例裁切`,shape:`裁切為形狀`},group:{title:`組合`,group:`組合`,reGroup:`重新組合`,unGroup:`取消組合`},align:{title:`對齊方式`,default:`選擇對齊方式`,left:`左對齊`,center:`水平居中`,right:`右對齊`,top:`頂部對齊`,middle:`垂直居中`,bottom:`底部對齊`,horizon:`水平分佈`,vertical:`垂直分佈`},null:`未選取任何物件`},"drawing-view":`繪圖`,shortcut:{"drawing-move-down":`下移繪圖`,"drawing-move-up":`上移繪圖`,"drawing-move-left":`左移繪圖`,"drawing-move-right":`右移繪圖`,"drawing-delete":`刪除繪圖`}};export{e as default};
|