@univerjs/sheets 0.1.0-beta.2 → 0.1.0-beta.3
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/{LICENSE.txt → LICENSE} +0 -2
- package/lib/cjs/index.js +1 -1
- package/lib/es/index.js +2865 -2782
- package/lib/types/basics/interfaces/mutation-interface.d.ts +2 -2
- package/lib/types/commands/commands/move-range.command.d.ts +11 -1
- package/lib/types/commands/commands/utils/selection-utils.d.ts +13 -1
- package/lib/types/commands/mutations/empty.mutation.d.ts +17 -0
- package/lib/types/commands/mutations/set-worksheet-row-height.mutation.d.ts +2 -2
- package/lib/types/commands/{mutations/delete-range.mutation.d.ts → utils/handle-range-mutation.d.ts} +25 -2
- package/lib/types/index.d.ts +7 -6
- package/lib/types/services/ref-range/util.d.ts +28 -13
- package/lib/umd/index.js +1 -1
- package/package.json +29 -28
- package/lib/types/commands/mutations/insert-range.mutation.d.ts +0 -29
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(h,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("rxjs"),require("@univerjs/engine-formula"),require("rxjs/operators"),require("@univerjs/engine-render")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","rxjs","@univerjs/engine-formula","rxjs/operators","@univerjs/engine-render"],r):(h=typeof globalThis<"u"?globalThis:h||self,r(h.UniverSheets={},h.UniverCore,h["@wendellhu/redi"],h.rxjs,h.UniverEngineFormula,h.rxjs.operators,h.UniverEngineRender))})(this,function(h,r,B,ye,ht,so,ro){"use strict";var rr=Object.defineProperty;var ir=(h,r,B)=>r in h?rr(h,r,{enumerable:!0,configurable:!0,writable:!0,value:B}):h[r]=B;var V=(h,r,B)=>(ir(h,typeof r!="symbol"?r+"":r,B),B);var Wt;var io=Object.defineProperty,ao=Object.getOwnPropertyDescriptor,uo=(n,e,t,o)=>{for(var s=o>1?void 0:o?ao(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(o?a(e,t,s):a(s))||s);return o&&s&&io(e,t,s),s},co=(n,e)=>(t,o)=>e(t,o,n);const x="normalSelectionPluginName";var Ht=(n=>(n[n.MOVE_START=0]="MOVE_START",n[n.MOVING=1]="MOVING",n[n.MOVE_END=2]="MOVE_END",n))(Ht||{});h.SelectionManagerService=class{constructor(e){V(this,"_selectionInfo",new Map);V(this,"_currentSelection",null);V(this,"_selectionMoveStart$",new ye.Subject);V(this,"selectionMoveStart$",this._selectionMoveStart$.asObservable());V(this,"_selectionMoving$",new ye.Subject);V(this,"selectionMoving$",this._selectionMoving$.asObservable());V(this,"_selectionMoveEnd$",new ye.BehaviorSubject(null));V(this,"selectionMoveEnd$",this._selectionMoveEnd$.asObservable());V(this,"_dirty",!0);this._themeService=e}getCurrent(){return this._currentSelection}getLastByPlugin(e){if(this._currentSelection!=null)return this._getLastByParam({...this._currentSelection,pluginName:e})}changePlugin(e){var t,o;this._currentSelection!=null&&(this._currentSelection={pluginName:e,unitId:(t=this._currentSelection)==null?void 0:t.unitId,sheetId:(o=this._currentSelection)==null?void 0:o.sheetId},this._refresh(this._currentSelection))}changePluginNoRefresh(e){var t,o;this._currentSelection!=null&&(this._currentSelection={pluginName:e,unitId:(t=this._currentSelection)==null?void 0:t.unitId,sheetId:(o=this._currentSelection)==null?void 0:o.sheetId})}reset(){var e,t;this._currentSelection!=null&&(this._currentSelection={pluginName:x,unitId:(e=this._currentSelection)==null?void 0:e.unitId,sheetId:(t=this._currentSelection)==null?void 0:t.sheetId},this._selectionInfo.clear(),this._refresh(this._currentSelection))}resetPlugin(){this._currentSelection!=null&&(this._currentSelection.pluginName=x,this._refresh(this._currentSelection))}dispose(){this._selectionMoveEnd$.complete(),this._selectionMoveStart$.complete(),this._selectionMoving$.complete()}makeDirty(e=!0){this._dirty=e}refreshSelection(){this._currentSelection!=null&&this._refresh(this._currentSelection)}setCurrentSelection(e){this._dirty!==!1&&(this._currentSelection=e,this._refresh(e))}setCurrentSelectionNotRefresh(e){this._currentSelection=e}getSelectionInfo(){return this._selectionInfo}getSelectionDatasByParam(e){return this._getSelectionDatas(e)}getSelections(){return this._getSelectionDatas(this._currentSelection)}getSelectionRanges(){const e=this.getSelections();if(e!=null)return e.map(t=>t.range)}getFirst(){return this._getFirstByParam(this._currentSelection)}getLast(){return this._getLastByParam(this._currentSelection)}addNoRefresh(e){this._currentSelection!=null&&this._addByParam({...this._currentSelection,selectionDatas:e},!1)}add(e){this._currentSelection!=null&&this._addByParam({...this._currentSelection,selectionDatas:e})}replace(e,t=2){this._currentSelection!=null&&(this._replaceByParam({...this._currentSelection,selectionDatas:e}),t===0?this._refreshStart(this._currentSelection):t===1?this._refreshMoving(this._currentSelection):this._refresh(this._currentSelection))}replaceWithNoRefresh(e){this._currentSelection!=null&&this._replaceByParam({...this._currentSelection,selectionDatas:e})}clear(){this._currentSelection!=null&&this._clearByParam(this._currentSelection)}remove(e){this._currentSelection!=null&&this._removeByParam(e,this._currentSelection)}createDefaultAutoFillSelection(){return{strokeWidth:2,stroke:"#FFF000",fill:"rgba(0, 0, 0, 0.2)",widgets:{},hasAutoFill:!0}}createCopyPasteSelection(){return{strokeWidth:1.5,stroke:this._themeService.getCurrentTheme().primaryColor,fill:"rgba(178, 178, 178, 0.10)",widgets:{},hasAutoFill:!1,strokeDash:8}}createDefaultSelection(){return{strokeWidth:2,stroke:"#FFF000",fill:"rgba(0, 0, 0, 0.2)",widgets:{tr:!0,tl:!0,br:!0,bl:!0},hasAutoFill:!1}}isOverlapping(){const e=this.getSelections();return e==null?!1:e.some(({range:t},o)=>e.some(({range:s},i)=>o===i?!1:t.startRow<=s.endRow&&t.endRow>=s.startRow&&t.startColumn<=s.endColumn&&t.endColumn>=s.startColumn))}_getSelectionDatas(e){var i,a;if(e==null)return;const{pluginName:t,unitId:o,sheetId:s}=e;return(a=(i=this._selectionInfo.get(t))==null?void 0:i.get(o))==null?void 0:a.get(s)}_refresh(e){this._selectionMoveEnd$.next(this._getSelectionDatas(e))}_refreshStart(e){this._selectionMoveStart$.next(this._getSelectionDatas(e))}_refreshMoving(e){this._selectionMoving$.next(this._getSelectionDatas(e))}_getFirstByParam(e){const t=this._getSelectionDatas(e);return t==null?void 0:t[0]}_getLastByParam(e){const t=this._getSelectionDatas(e);return t==null?void 0:t[t.length-1]}_addByParam(e,t=!0){const{pluginName:o,unitId:s,sheetId:i,selectionDatas:a}=e;this._selectionInfo.has(o)||this._selectionInfo.set(o,new Map);const u=this._selectionInfo.get(o);u.has(s)||u.set(s,new Map);const c=u.get(s);if(!c.has(i))c.set(i,[...a]);else{let l=c.get(i);l==null&&(l=[],c.set(i,l)),l.push(...a)}t&&this._refresh({pluginName:o,unitId:s,sheetId:i})}_replaceByParam(e){const{pluginName:t,unitId:o,sheetId:s,selectionDatas:i}=e;this._selectionInfo.has(t)||this._selectionInfo.set(t,new Map);const a=this._selectionInfo.get(t);a.has(o)||a.set(o,new Map);const u=a.get(o);if(!u.has(s))u.set(s,i);else{let c=u.get(s);c==null&&(c=[],u.set(s,c)),c.splice(0,c.length,...i)}}_clearByParam(e){const t=this._getSelectionDatas(e);t==null||t.splice(0),this._refresh(e)}_removeByParam(e,t){const o=this._getSelectionDatas(t);o==null||o.splice(e,1),this._refresh(t)}},h.SelectionManagerService=uo([co(0,B.Inject(r.ThemeService))],h.SelectionManagerService);const lo=r.createInterceptorKey("CELL_CONTENT"),mo=r.createInterceptorKey("PERMISSION"),Ue={CELL_CONTENT:lo,PERMISSION:mo};var go=Object.defineProperty,ho=Object.getOwnPropertyDescriptor,vo=(n,e,t,o)=>{for(var s=o>1?void 0:o?ho(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(o?a(e,t,s):a(s))||s);return o&&s&&go(e,t,s),s},So=(n,e)=>(t,o)=>e(t,o,n);h.SheetInterceptorService=class extends r.Disposable{constructor(t){super();V(this,"_interceptorsByName",new Map);V(this,"_commandInterceptors",[]);V(this,"_workbookDisposables",new Map);V(this,"_worksheetDisposables",new Map);this._currentUniverService=t,this.disposeWithMe(r.toDisposable(this._currentUniverService.sheetAdded$.subscribe(o=>{this._interceptWorkbook(o)}))),this.disposeWithMe(r.toDisposable(this._currentUniverService.sheetDisposed$.subscribe(o=>this._disposeWorkbookInterceptor(o)))),this.intercept(Ue.CELL_CONTENT,{priority:-1,handler(o,s){const i=s.worksheet.getCellRaw(s.row,s.col);return o?{...i,...o}:i}}),this.intercept(Ue.PERMISSION,{priority:-1,handler:()=>!0})}dispose(){super.dispose(),this._workbookDisposables.forEach(t=>t.dispose()),this._workbookDisposables.clear(),this._worksheetDisposables.clear()}interceptCommand(t){if(this._commandInterceptors.includes(t))throw new Error("[SheetInterceptorService]: Interceptor already exists!");return this._commandInterceptors.push(t),this._commandInterceptors.sort((o,s)=>(s.priority??0)-(o.priority??0)),this.disposeWithMe(r.toDisposable(()=>r.remove(this._commandInterceptors,t)))}onCommandExecute(t){const o=this._commandInterceptors.map(s=>s.getMutations(t));return{undos:o.map(s=>s.undos).flat(),redos:o.map(s=>s.redos).flat()}}intercept(t,o){const s=t;this._interceptorsByName.has(s)||this._interceptorsByName.set(s,[]);const i=this._interceptorsByName.get(s);return i.push(o),this._interceptorsByName.set(s,i.sort((a,u)=>(u.priority??0)-(a.priority??0))),this.disposeWithMe(r.toDisposable(()=>r.remove(this._interceptorsByName.get(s),o)))}fetchThroughInterceptors(t){const o=t,s=this._interceptorsByName.get(o);return r.composeInterceptors(s||[])}_interceptWorkbook(t){const o=new r.DisposableCollection,s=t.getUnitId(),i=this,a=u=>{const c=u.getSheetId();u.__interceptViewModel(l=>{const d=new r.DisposableCollection,m=l.registerCellContentInterceptor({getCell(g,S){return i.fetchThroughInterceptors(Ue.CELL_CONTENT)(u.getCellRaw(g,S),{unitId:s,subUnitId:c,row:g,col:S,worksheet:u,workbook:t})}});d.add(m),i._worksheetDisposables.set(Ft(s,u),d)})};t.getSheets().forEach(u=>a(u)),o.add(r.toDisposable(t.sheetCreated$.subscribe(u=>a(u)))),o.add(r.toDisposable(t.sheetDisposed$.subscribe(u=>this._disposeSheetInterceptor(s,u)))),o.add(r.toDisposable(()=>t.getSheets().forEach(u=>this._disposeSheetInterceptor(s,u))))}_disposeWorkbookInterceptor(t){const o=t.getUnitId(),s=this._workbookDisposables.get(o);s&&(s.dispose(),this._workbookDisposables.delete(o))}_disposeSheetInterceptor(t,o){const s=Ft(t,o),i=this._worksheetDisposables.get(s);i&&(i.dispose(),this._worksheetDisposables.delete(s))}},h.SheetInterceptorService=vo([r.OnLifecycle(r.LifecycleStages.Starting,h.SheetInterceptorService),So(0,r.IUniverInstanceService)],h.SheetInterceptorService);function Ft(n,e){return`${n}|${e.getSheetId()}`}const ve=(n,e)=>{const{unitId:t,subUnitId:o,cellValue:s}=e,a=n.get(r.IUniverInstanceService).getUniverSheetInstance(t);if(a==null)throw new Error("workbook is null error!");const u=a.getSheetBySheetId(o);if(u==null)throw new Error("worksheet is null error!");const c=u.getCellMatrix(),l=a.getStyles(),d=new r.ObjectMatrix;return new r.ObjectMatrix(s).forValue((g,S,v)=>{const I=r.Tools.deepClone(c==null?void 0:c.getValue(g,S))||{},f=l.getStyleByCell(I),C=Co(f,v&&v.s?v.s:null);I.s=C,d.setValue(g,S,Io(I))}),{...e,options:{},cellValue:d.getMatrix()}};function Io(n){return n==null?null:(n.f===void 0&&(n.f=null),n.si===void 0&&(n.si=null),n.p===void 0&&(n.p=null),n.v===void 0&&(n.v=null),n.t===void 0&&(n.t=null),n.s===void 0&&(n.s=null),n)}const Y={id:"sheet.mutation.set-range-values",type:r.CommandType.MUTATION,handler:(n,e)=>{const{cellValue:t,subUnitId:o,unitId:s}=e,a=n.get(r.IUniverInstanceService).getUniverSheetInstance(s);if(!a)return!1;const u=a.getSheetBySheetId(o);if(!u)return!1;const c=u.getCellMatrix(),l=a.getStyles();return new r.ObjectMatrix(t).forValue((m,g,S)=>{if(!S)c==null||c.setValue(m,g,{});else{const v=c.getValue(m,g)||{},I=S.t===r.CellValueType.FORCE_STRING?S.t:fo(S.v===void 0?v.v:S.v);if(S.f!==void 0&&(v.f=S.f),S.si!==void 0&&(v.si=S.si),S.p!==void 0&&(v.p=S.p),S.v!==void 0&&(v.v=I===r.CellValueType.NUMBER?Number(S.v):S.v),v.v!==void 0&&(v.t=I),S.s!==void 0){const f=l.getStyleByCell(v);f==null&&delete v.s,typeof S.s=="string"&&(S.s=l.get(S.s));const C=$t(f,S.s?S.s:null);C&&r.Tools.removeNull(C),r.Tools.isEmptyObject(C)?delete v.s:v.s=l.setValue(C),!S.p&&v.p&&wo(v.p,S.s?S.s:null)}c.setValue(m,g,r.Tools.removeNull(v))}}),!0}};function fo(n){return n===null?null:typeof n=="string"?yo(n)?r.CellValueType.NUMBER:r.CellValueType.STRING:typeof n=="number"?r.CellValueType.NUMBER:typeof n=="boolean"?r.CellValueType.BOOLEAN:r.CellValueType.FORCE_STRING}function Co(n,e){return Ro(n,e)}function Ro(n,e){if(!e||!Object.keys(e).length)return n;const t=n||{};for(const o in e)o==="bd"?t[o]=Mo(t[o]||{},e[o]):o in t||(t[o]=null);return t}function Mo(n,e){if(!e||!Object.keys(e).length)return n;for(const t in e)t in n||(n[t]=null);return n}function $t(n,e,t=!1){if(e===null)return e;if(e===void 0)return n;const o=r.Tools.deepClone(n)||{};if(o){for(const s in e)t&&["bd","tr","td","ht","vt","tb","pd"].includes(s)||(s in o&&s==="bd"?o[s]=Object.assign(o[s],e[s]):o[s]=e[s]);return"cl"in o&&("ul"in o&&(o.ul.cl=o.cl),"ol"in o&&(o.ol.cl=o.cl),"st"in o&&(o.st.cl=o.cl)),o}}function wo(n,e){var t,o;(o=(t=n.body)==null?void 0:t.textRuns)==null||o.forEach(s=>{s.ts||(s.ts={});const i=s.ts||{},a=$t(i,e,!0);a&&r.Tools.removeNull(a),r.Tools.isEmptyObject(a)?delete s.ts:s.ts=a})}function po(n){return/^-?\d+(\.\d+)?$/.test(n)}function yo(n){return po(n)?Number(n)<=Number.MAX_SAFE_INTEGER:!1}const ze={id:"sheet.command.clear-selection-all",type:r.CommandType.COMMAND,handler:async n=>{const e=n.get(r.IUniverInstanceService),t=n.get(r.ICommandService),o=n.get(h.SelectionManagerService),s=n.get(r.IUndoRedoService),i=n.get(h.SheetInterceptorService),a=e.getCurrentUniverSheetInstance(),u=a.getUnitId(),l=a.getActiveSheet().getSheetId(),d=o.getSelectionRanges();if(!(d!=null&&d.length))return!1;const m=[],g=[],S={subUnitId:l,unitId:u,cellValue:Uo(d)},v=ve(n,S);m.push({id:Y.id,params:S}),g.push({id:Y.id,params:v});const I=i.onCommandExecute({id:ze.id});return m.push(...I.redos),g.unshift(...I.undos),r.sequenceExecute(m,t)?(s.pushUndoRedo({unitID:u,undoMutations:g,redoMutations:m}),!0):!1}};function Uo(n){const e=new r.ObjectMatrix;return n.forEach(t=>{const{startRow:o,startColumn:s,endRow:i,endColumn:a}=t;for(let u=o;u<=i;u++)for(let c=s;c<=a;c++)e.setValue(u,c,null)}),e.getData()}const vt={id:"sheet.command.clear-selection-content",type:r.CommandType.COMMAND,handler:async n=>{const e=n.get(r.IUniverInstanceService),t=n.get(r.ICommandService),o=n.get(h.SelectionManagerService),s=n.get(r.IUndoRedoService),i=n.get(h.SheetInterceptorService),a=e.getCurrentUniverSheetInstance(),u=a.getUnitId(),l=a.getActiveSheet().getSheetId(),d=o.getSelectionRanges();if(!(d!=null&&d.length))return!1;const m={subUnitId:l,unitId:u,cellValue:_o(d)},g=ve(n,m),S=i.onCommandExecute({id:vt.id}),v=[{id:Y.id,params:m},...S.redos],I=[...S.undos,{id:Y.id,params:g}];return r.sequenceExecute(v,t).result?(s.pushUndoRedo({unitID:u,undoMutations:I,redoMutations:v}),!0):!1}};function _o(n){const e=new r.ObjectMatrix;return n.forEach(t=>{const{startRow:o,startColumn:s,endRow:i,endColumn:a}=t;for(let u=o;u<=i;u++)for(let c=s;c<=a;c++)e.setValue(u,c,{v:null,p:null,f:null,si:null})}),e.getData()}const Ge={id:"sheet.command.clear-selection-format",type:r.CommandType.COMMAND,handler:async n=>{const e=n.get(r.IUniverInstanceService),t=n.get(r.ICommandService),o=n.get(h.SelectionManagerService),s=n.get(r.IUndoRedoService),i=n.get(h.SheetInterceptorService),a=e.getCurrentUniverSheetInstance(),u=a.getUnitId(),l=a.getActiveSheet().getSheetId(),d=o.getSelectionRanges();if(!(d!=null&&d.length))return!1;const m=[],g=[],S={subUnitId:l,unitId:u,cellValue:bo(d)},v=ve(n,S);m.push({id:Y.id,params:S}),g.push({id:Y.id,params:v});const I=i.onCommandExecute({id:Ge.id});return m.push(...I.redos),g.unshift(...I.undos),r.sequenceExecute(m,t)?(s.pushUndoRedo({unitID:u,undoMutations:g,redoMutations:m}),!0):!1}};function bo(n){const e=new r.ObjectMatrix;return n.forEach(t=>{const{startRow:o,startColumn:s,endRow:i,endColumn:a}=t;for(let u=o;u<=i;u++)for(let c=s;c<=a;c++)e.setValue(u,c,{s:null})}),e.getData()}const St=(n,e)=>({subUnitId:e.sheet.id,unitId:e.unitId}),Se={id:"sheet.mutation.insert-sheet",type:r.CommandType.MUTATION,handler:(n,e)=>{const t=n.get(r.IUniverInstanceService),{sheet:o,index:s,unitId:i}=e,a=t.getUniverSheetInstance(i);return a?a.addWorksheet(o.id,s,o):!1}},zt=(n,e)=>{const o=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance(),{subUnitId:s,unitId:i}=e,a=o.getSheetBySheetId(s).getConfig();return{index:o.getConfig().sheetOrder.findIndex(l=>l===s),sheet:a,unitId:i}},Ne={id:"sheet.mutation.remove-sheet",type:r.CommandType.MUTATION,handler:(n,e)=>{const t=n.get(r.IUniverInstanceService),{subUnitId:o,unitId:s}=e,i=t.getUniverSheetInstance(s);if(!i)return!1;const a=i.getWorksheets(),u=i.getConfig(),{sheets:c}=u;if(c[o]==null)throw new Error(`Remove sheet fail ${o} does not exist`);const l=u.sheetOrder.findIndex(d=>d===o);return delete c[o],u.sheetOrder.splice(l,1),a.delete(o),!0}},Gt={type:r.CommandType.COMMAND,id:"sheet.command.copy-sheet",handler:async(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=n.get(r.LocaleService);let a=s.getCurrentUniverSheetInstance().getUnitId(),u=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();e&&(a=e.unitId??a,u=e.subUnitId??u);const c=s.getUniverSheetInstance(a);if(!c)return!1;const l=c.getSheetBySheetId(u);if(!l)return!1;const d=r.Tools.deepClone(l.getConfig());d.name+=i.t("sheets.sheetCopy"),d.id=r.Tools.generateRandomId();const g={index:c.getSheetIndex(l)+1,sheet:d,unitId:a},S=St(n,g);return t.syncExecuteCommand(Se.id,g)?(o.pushUndoRedo({unitID:a,undoMutations:[{id:Ne.id,params:S}],redoMutations:[{id:Se.id,params:g}]}),!0):!1}},qe=(n,e)=>{const o=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance().getSheetBySheetId(e.subUnitId);if(!o)return null;const s=o.getCellMatrix(),i=new r.ObjectMatrix,a=o.getConfig().rowCount,u=o.getConfig().columnCount,{startRow:c,endRow:l,startColumn:d,endColumn:m}=e.range;if(e.shiftDimension===r.Dimension.ROWS){for(let g=c;g<=a;g++)for(let S=d;S<=m;S++)if(g<=l){const v=s.getValue(g,S);i.setValue(g,S,v)}}else if(e.shiftDimension===r.Dimension.COLUMNS)for(let g=c;g<=l;g++)for(let S=d;S<=u;S++)if(S<=m){const v=s.getValue(g,S);i.setValue(g,S,v)}else for(let v=0;v<=m;v++){const I=s.getValue(g,S);i.setValue(g,S+v,I)}return{...r.Tools.deepClone(e),cellValue:i.getData()}},ee={id:"sheet.mutation.delete-range",type:r.CommandType.MUTATION,handler:(n,e)=>{const{unitId:t,subUnitId:o,range:s,shiftDimension:i}=e,u=n.get(r.IUniverInstanceService).getUniverSheetInstance(t);if(!u)return!1;const c=u.getSheetBySheetId(o);if(!c)return!1;const l=c.getCellMatrix(),d=c.getLastRowWithContent(),m=c.getLastColumnWithContent();return qt(l,s,d,m,i),!0}};function qt(n,e,t,o,s){const{startRow:i,endRow:a,startColumn:u,endColumn:c}=e,l=a-i+1,d=c-u+1;if(s===r.Dimension.ROWS)for(let m=i;m<=t;m++)for(let g=u;g<=c;g++){const S=n.getValue(m+l,g);S==null?n.realDeleteValue(m,g):n.setValue(m,g,S)}else if(s===r.Dimension.COLUMNS)for(let m=i;m<=a;m++)for(let g=u;g<=o;g++){const S=n.getValue(m,g+d);S==null?n.realDeleteValue(m,g):n.setValue(m,g,S)}}const Ye=(n,e)=>({unitId:e.unitId,subUnitId:e.subUnitId,range:e.range,shiftDimension:e.shiftDimension}),te={id:"sheet.mutation.insert-range",type:r.CommandType.MUTATION,handler:(n,e)=>{const{unitId:t,subUnitId:o,range:s,cellValue:i,shiftDimension:a}=e,c=n.get(r.IUniverInstanceService).getUniverSheetInstance(t);if(!c)return!1;const l=c.getSheetBySheetId(o);if(!l)return!1;const d=l.getCellMatrix(),m=l.getLastRowWithContent(),g=l.getLastColumnWithContent();return Yt(d,s,m,g,a,i),!0}};function Yt(n,e,t,o,s,i){const{startRow:a,endRow:u,startColumn:c,endColumn:l}=e;if(s===r.Dimension.ROWS){const d=u-a+1;for(let m=t;m>=a;m--)for(let g=c;g<=l;g++){const S=n.getValue(m,g);S==null?n.realDeleteValue(m+d,g):n.setValue(m+d,g,S)}for(let m=u;m>=a;m--)for(let g=c;g<=l;g++)i&&i[m]&&i[m][g]?n.setValue(m,g,i[m][g]):n.realDeleteValue(m,g)}else if(s===r.Dimension.COLUMNS){const d=l-c+1;for(let m=a;m<=u;m++)for(let g=o;g>=c;g--){const S=n.getValue(m,g);S==null?n.realDeleteValue(m,g+d):n.setValue(m,g+d,S)}for(let m=a;m<=u;m++)for(let g=l;g>=c;g--)i&&i[m]&&i[m][g]?n.setValue(m,g,i[m][g]):n.realDeleteValue(m,g)}}const Kt="sheet.command.delete-range-move-left",Ke={type:r.CommandType.COMMAND,id:Kt,handler:async(n,e)=>{var M;const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=n.get(h.SelectionManagerService),a=n.get(h.SheetInterceptorService),u=s.getCurrentUniverSheetInstance().getUnitId(),c=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();let l=e==null?void 0:e.range;if(l||(l=(M=i.getLast())==null?void 0:M.range),!l)return!1;const d=s.getUniverSheetInstance(u);if(!d||!d.getSheetBySheetId(c))return!1;const g={range:l,subUnitId:c,unitId:u,shiftDimension:r.Dimension.COLUMNS},S=qe(n,g);if(!S)return!1;const v=a.onCommandExecute({id:Ke.id,params:{range:l}}),I=[{id:ee.id,params:g}],f=[{id:te.id,params:S}];return I.push(...v.redos),f.push(...v.undos),r.sequenceExecute(I,t).result?(o.pushUndoRedo({unitID:u,undoMutations:f.reverse(),redoMutations:I}),!0):!1}},xt="sheet.command.delete-range-move-up",xe={type:r.CommandType.COMMAND,id:xt,handler:async(n,e)=>{var M;const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=n.get(h.SelectionManagerService),a=n.get(h.SheetInterceptorService),u=s.getCurrentUniverSheetInstance().getUnitId(),c=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();let l=e==null?void 0:e.range;if(l||(l=(M=i.getLast())==null?void 0:M.range),!l)return!1;const d=s.getUniverSheetInstance(u);if(!d||!d.getSheetBySheetId(c))return!1;const g={range:l,subUnitId:c,unitId:u,shiftDimension:r.Dimension.ROWS},S=qe(n,g);if(!S)return!1;const v=a.onCommandExecute({id:xe.id,params:{range:l}}),I=[{id:ee.id,params:g}],f=[{id:te.id,params:S}];return I.push(...v.redos),f.push(...v.undos),await r.sequenceExecute(I,t).result?(o.pushUndoRedo({unitID:u,undoMutations:f.reverse(),redoMutations:I}),!0):!1}},It=(n,e)=>{if(n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId)==null)throw new Error("universheet is null error!");return{unitId:e.unitId,subUnitId:e.subUnitId,range:e.range}},Ie={id:"sheet.mutation.insert-row",type:r.CommandType.MUTATION,handler:(n,e)=>{const{unitId:t,subUnitId:o,range:s,rowInfo:i}=e,u=n.get(r.IUniverInstanceService).getUniverSheetInstance(t);if(u==null)throw new Error("universheet is null error!");const c=u.getSheetBySheetId(o);if(c==null)throw new Error("worksheet is null error!");const l=c.getRowManager().getRowData(),d={h:c.getConfig().defaultRowHeight,hd:0},m=s.startRow,g=s.endRow-s.startRow+1;for(let S=m;S<m+g;S++)i?r.insertMatrixArray(S,i[S-s.startRow]??d,l):r.insertMatrixArray(S,d,l);return c.setRowCount(c.getRowCount()+s.endRow-s.startRow+1),!0}},ft=(n,e)=>{if(n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId)==null)throw new Error("universheet is null error!");return{unitId:e.unitId,subUnitId:e.subUnitId,range:e.range}},fe={id:"sheet.mutation.insert-col",type:r.CommandType.MUTATION,handler:(n,e)=>{const o=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(o==null)throw new Error("universheet is null error!");const s=o.getSheetBySheetId(e.subUnitId);if(!s)return!1;const i=s.getColumnManager(),{range:a,colInfo:u}=e,l=i.getColumnData(),d=a.startColumn,m=a.endColumn-a.startColumn+1,g=s.getConfig().defaultColumnWidth;for(let S=d;S<d+m;S++){const v={w:g,hd:0};u?r.insertMatrixArray(S,u[S-a.startColumn]??v,l):r.insertMatrixArray(S,v,l)}return s.setColumnCount(s.getColumnCount()+a.endColumn-a.startColumn+1),!0}},To=(n,e)=>{const s=e.getRowManager().getRowData(),i={},a=n.range,u=r.sliceMatrixArray(a.startRow,a.endRow,s),c=r.concatMatrixArray(i,u);return{unitId:n.unitId,subUnitId:n.subUnitId,range:n.range,rowInfo:c}},Ce={id:"sheet.mutation.remove-rows",type:r.CommandType.MUTATION,handler:(n,e)=>{const o=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(o==null)throw new Error("universheet is null error!");const s=o.getSheetBySheetId(e.subUnitId);if(!s)return!1;const i=e.range,u=s.getRowManager().getRowData(),c=i.endRow-i.startRow+1;return r.spliceArray(i.startRow,c,u),s.setRowCount(s.getRowCount()-c),!0}},Do=(n,e)=>{const o=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(o==null)throw new Error("universheet is null error!");const s=o.getSheetBySheetId(e.subUnitId);if(s==null)throw new Error("worksheet is null error!");const u=s.getColumnManager().getColumnData(),c={},l=e.range,d=r.sliceMatrixArray(l.startColumn,l.endColumn,u),m=r.concatMatrixArray(c,d);return{unitId:e.unitId,subUnitId:e.subUnitId,range:e.range,colInfo:m}},Re={id:"sheet.mutation.remove-col",type:r.CommandType.MUTATION,handler:(n,e)=>{const o=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(o==null)throw new Error("universheet is null error!");const s=o.getSheetBySheetId(e.subUnitId);if(!s)return!1;const i=e.range,u=s.getColumnManager().getColumnData(),c=i.endColumn-i.startColumn+1;return r.spliceArray(i.startColumn,c,u),s.setColumnCount(s.getColumnCount()-c),!0}},Eo="sheet.command.insert-range-move-down",Je={type:r.CommandType.COMMAND,id:"sheet.command.insert-range-move-down",handler:async(n,e)=>{var R;const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=n.get(r.ILogService),a=n.get(h.SelectionManagerService),u=n.get(h.SheetInterceptorService);if(a.isOverlapping())return i.error("Cannot use that command on overlapping selections."),!1;const c=s.getCurrentUniverSheetInstance().getUnitId(),l=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();let d=e==null?void 0:e.range;if(d||(d=(R=a.getLast())==null?void 0:R.range),!d)return!1;const m=s.getUniverSheetInstance(c);if(!m)return!1;const g=m.getSheetBySheetId(l);if(!g)return!1;const S=[],v=[],I={};r.Range.foreach(d,(F,G)=>{const H=g.getCell(F,G);!H||!H.s||(I[F]||(I[F]={}),I[F][G]={s:H.s})});const f={range:d,subUnitId:l,unitId:c,shiftDimension:r.Dimension.ROWS,cellValue:I};S.push({id:te.id,params:f});const C=Ye(n,f);v.push({id:ee.id,params:C});let M=!1,U=0;const w=g.getMaxRows()-1,{startRow:y,endRow:T,startColumn:p,endColumn:L}=d;for(let F=p;F<=L;F++){const G=g.getCell(w,F),H=G==null?void 0:G.v;if(H&&H!==""){M=!0,U=g.getRowHeight(w);break}}const P=T-y+1;if(M){const F={startRow:w,endRow:w,startColumn:d.startColumn,endColumn:d.endColumn},G={unitId:c,subUnitId:l,range:F,rowInfo:new Array(P).fill(void 0).map(()=>({h:U,hd:r.BooleanNumber.FALSE}))};S.push({id:Ie.id,params:G});const H=It(n,G);v.push({id:Ce.id,params:H})}const E=u.onCommandExecute({id:Je.id,params:{range:d}});return S.push(...E.redos),v.push(...E.undos),r.sequenceExecute(S,t)?(o.pushUndoRedo({unitID:c,undoMutations:v.reverse(),redoMutations:S}),!0):!1}},Jt="sheet.command.insert-range-move-right",Xe={type:r.CommandType.COMMAND,id:Jt,handler:async(n,e)=>{var R;const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=n.get(r.ILogService),a=n.get(h.SelectionManagerService),u=n.get(h.SheetInterceptorService);if(a.isOverlapping())return i.error("Cannot use that command on overlapping selections."),!1;const c=s.getCurrentUniverSheetInstance().getUnitId(),l=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();let d=e==null?void 0:e.range;if(d||(d=(R=a.getLast())==null?void 0:R.range),!d)return!1;const m=s.getUniverSheetInstance(c);if(!m)return!1;const g=m.getSheetBySheetId(l);if(!g)return!1;const S=[],v=[],I={};r.Range.foreach(d,(F,G)=>{const H=g.getCell(F,G);!H||!H.s||(I[F]||(I[F]={}),I[F][G]={s:H.s})});const f={range:d,subUnitId:l,unitId:c,shiftDimension:r.Dimension.COLUMNS,cellValue:I};S.push({id:te.id,params:f});const C=Ye(n,f);v.push({id:ee.id,params:C});let M=!1,U=0;const w=g.getMaxColumns()-1,{startRow:y,endRow:T,startColumn:p,endColumn:L}=d;for(let F=y;F<=T;F++){const G=g.getCell(F,w),H=G==null?void 0:G.v;if(H&&H!==""){M=!0,U=g.getColumnWidth(w);break}}const P=L-p+1;if(M){const F={startRow:d.startRow,endRow:d.endRow,startColumn:w,endColumn:w},G={unitId:c,subUnitId:l,range:F,colInfo:new Array(P).fill(void 0).map(()=>({w:U,hd:r.BooleanNumber.FALSE}))};S.push({id:fe.id,params:G});const H=ft(n,G);v.push({id:Re.id,params:H})}const E=u.onCommandExecute({id:Xe.id,params:{range:d}});return S.push(...E.redos),v.push(...E.undos),r.sequenceExecute(S,t).result?(o.pushUndoRedo({unitID:c,undoMutations:v.reverse(),redoMutations:S}),!0):!1}},Xt="sheet.command.insert-row",_e={type:r.CommandType.COMMAND,id:Xt,handler:async(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),a=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId).getSheetBySheetId(e.subUnitId),{range:u,direction:c,unitId:l,subUnitId:d,cellValue:m}=e,{startRow:g,endRow:S}=u,v=c===r.Direction.UP?g:g-1,I=a.getRowHeight(v),f={unitId:l,subUnitId:d,range:u,rowInfo:new Array(S-g+1).fill(void 0).map(()=>({h:I,hd:r.BooleanNumber.FALSE}))},C=It(n,f),M={unitId:e.unitId,subUnitId:e.subUnitId,range:e.range,shiftDimension:r.Dimension.ROWS,cellValue:m},U=Ye(n,M),w=n.get(h.SheetInterceptorService).onCommandExecute({id:_e.id,params:e});return r.sequenceExecute([{id:Ie.id,params:f},{id:te.id,params:M},...w.redos],t).result?(o.pushUndoRedo({unitID:e.unitId,undoMutations:[...w.undos,{id:ee.id,params:U},{id:Ce.id,params:C}],redoMutations:[{id:Ie.id,params:f},{id:te.id,params:M},...w.redos]}),!0):!1}},Zt={type:r.CommandType.COMMAND,id:"sheet.command.insert-row-before",handler:async n=>{var g;const t=(g=n.get(h.SelectionManagerService).getSelections())==null?void 0:g.map(S=>S.range);let o;if((t==null?void 0:t.length)===1)o=t[0];else return!1;const i=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!i)return!1;const a=i.getActiveSheet();if(!a)return!1;const u=i.getUnitId(),c=a.getSheetId(),l=o.endRow-o.startRow+1,d={};r.Range.foreach(o,(S,v)=>{const I=a.getCell(S,v);!I||!I.s||(d[S]||(d[S]={}),d[S][v]={s:I.s})});const m={unitId:u,subUnitId:c,direction:r.Direction.UP,range:{startRow:o.startRow,endRow:o.startRow+l-1,startColumn:0,endColumn:a.getColumnCount()-1},cellValue:d};return n.get(r.ICommandService).executeCommand(_e.id,m)}},Qt={type:r.CommandType.COMMAND,id:"sheet.command.insert-row-after",handler:async n=>{var m;const t=(m=n.get(h.SelectionManagerService).getSelections())==null?void 0:m.map(g=>g.range);let o;if((t==null?void 0:t.length)===1)o=t[0];else return!1;const i=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!i)return!1;const a=i.getActiveSheet();if(!a)return!1;const u=i.getUnitId(),c=a.getSheetId(),l=o.endRow-o.startRow+1,d={unitId:u,subUnitId:c,direction:r.Direction.DOWN,range:{startRow:o.endRow+1,endRow:o.endRow+l,startColumn:0,endColumn:a.getColumnCount()-1}};return n.get(r.ICommandService).executeCommand(_e.id,d)}},en="sheet.command.insert-col",be={type:r.CommandType.COMMAND,id:en,handler:async(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=n.get(h.SheetInterceptorService),{range:a,direction:u,subUnitId:c,unitId:l,cellValue:d}=e,{startColumn:m,endColumn:g}=e.range,v=s.getUniverSheetInstance(e.unitId).getSheetBySheetId(e.subUnitId),I=u===r.Direction.LEFT?m:m-1,f=v.getColumnWidth(I),C={unitId:l,subUnitId:c,range:a,colInfo:new Array(g-m+1).fill(void 0).map(()=>({w:f,hd:r.BooleanNumber.FALSE}))},M=ft(n,C),U={unitId:e.unitId,subUnitId:e.subUnitId,range:e.range,shiftDimension:r.Dimension.COLUMNS,cellValue:d},w=Ye(n,U),y=i.onCommandExecute({id:be.id,params:e});return r.sequenceExecute([{id:fe.id,params:C},{id:te.id,params:U},...y.redos],t).result?(o.pushUndoRedo({unitID:e.unitId,undoMutations:[...y.undos,{id:ee.id,params:w},{id:Re.id,params:M}],redoMutations:[{id:fe.id,params:C},{id:te.id,params:U},...y.redos]}),!0):!1}},tn={type:r.CommandType.COMMAND,id:"sheet.command.insert-col-before",handler:async n=>{const t=n.get(h.SelectionManagerService).getSelections();let o;if((t==null?void 0:t.length)===1)o=t[0].range;else return!1;const i=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!i)return!1;const a=i.getActiveSheet();if(!a)return!1;const u=i.getUnitId(),c=a.getSheetId(),l=o.endColumn-o.startColumn+1,d={};r.Range.foreach(o,(g,S)=>{const v=a.getCell(g,S);!v||!v.s||(d[g]||(d[g]={}),d[g][S]={s:v.s})});const m={unitId:u,subUnitId:c,direction:r.Direction.LEFT,range:{startColumn:o.startColumn,endColumn:o.startColumn+l-1,startRow:0,endRow:a.getLastRowWithContent()},cellValue:d};return n.get(r.ICommandService).executeCommand(be.id,m)}},nn={type:r.CommandType.COMMAND,id:"sheet.command.insert-col-after",handler:async n=>{const t=n.get(h.SelectionManagerService).getSelections();let o;if((t==null?void 0:t.length)===1)o=t[0].range;else return!1;const i=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!i)return!1;const a=i.getActiveSheet();if(!a)return!1;const u=i.getUnitId(),c=a.getSheetId(),l=o.endColumn-o.startColumn+1,d={unitId:u,subUnitId:c,direction:r.Direction.RIGHT,range:{startColumn:o.endColumn+1,endColumn:o.endColumn+l,startRow:0,endRow:a.getLastRowWithContent()}};return n.get(r.ICommandService).executeCommand(be.id,d)}},on={id:"sheet.command.insert-sheet",type:r.CommandType.COMMAND,handler:(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=n.get(r.LocaleService);let a=s.getCurrentUniverSheetInstance().getUnitId();e&&(a=e.unitId??a);const u=s.getUniverSheetInstance(a);if(!u)return!1;let c=u.getSheets().length,l=r.Tools.deepClone(r.DEFAULT_WORKSHEET);e?(c=e.index??c,e.sheet?l=e.sheet:(l.id=r.Tools.generateRandomId(),l.name=u.generateNewSheetName(`${i.t("sheets.sheet")}`))):(l.id=r.Tools.generateRandomId(),l.name=u.generateNewSheetName(`${i.t("sheets.sheet")}`));const d={index:c,sheet:l,unitId:a},m=St(n,d);return t.syncExecuteCommand(Se.id,d)?(o.pushUndoRedo({unitID:a,undoMutations:[{id:Ne.id,params:m}],redoMutations:[{id:Se.id,params:d}]}),!0):!1}},Le={id:"sheet.mutation.move-range",type:r.CommandType.MUTATION,handler:(n,e)=>{const{from:t,to:o}=e;if(!t||!o)return!1;const i=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!i)return!1;const a=i.getSheetBySheetId(e.from.subUnitId),u=i.getSheetBySheetId(e.to.subUnitId);if(!a||!u)return!1;const c=a.getCellMatrix(),l=u.getCellMatrix();return new r.ObjectMatrix(t.value).forValue((d,m,g)=>{c.setValue(d,m,g)}),new r.ObjectMatrix(o.value).forValue((d,m,g)=>{l.setValue(d,m,g)}),!0}},q={id:"sheet.operation.set-selections",type:r.CommandType.OPERATION,handler:(n,e)=>{const t=n.get(h.SelectionManagerService);if(!e)return!1;const{selections:o,type:s}=e;return t.replace(o,s),!0}};function Ze(n,e,t=!0){const o=e.getMatrixWithMergedCells(...r.selectionToArray(n)),s=[];if(o.forValue((a,u,c)=>{if(c.colSpan!==void 0&&c.rowSpan!==void 0){const l={startRow:a,startColumn:u,endRow:a+c.rowSpan-1,endColumn:u+c.colSpan-1};r.Rectangle.contains(n,l)||s.push(l)}}),s.length===0)return n;const i=r.Rectangle.union(n,...s);return t?Ze(i,e,t):i}function Oo(n,e,t){let o=null;return t.getMatrixWithMergedCells(n,e,n,e).forValue((i,a,u)=>(o={actualRow:i,actualColumn:a,startRow:i,startColumn:a,isMerged:u.rowSpan!==void 0||u.colSpan!==void 0,isMergedMainCell:u.rowSpan!==void 0&&u.colSpan!==void 0,endRow:i+(u.rowSpan!==void 0?u.rowSpan-1:0),endColumn:a+(u.colSpan!==void 0?u.colSpan-1:0),rangeType:r.RANGE_TYPE.NORMAL},!1)),o||{actualColumn:e,actualRow:n,startRow:n,startColumn:e,endRow:n,endColumn:e,isMerged:!1,isMergedMainCell:!1,rangeType:r.RANGE_TYPE.NORMAL}}function ne(n,e){const t=e.getMergedCell(n.startRow,n.startColumn);return t?{...t,actualRow:n.startRow,actualColumn:n.startColumn,rangeType:r.RANGE_TYPE.NORMAL,isMerged:!0,isMergedMainCell:!0}:{startRow:n.startRow,startColumn:n.startColumn,endRow:n.startRow,endColumn:n.startColumn,actualRow:n.startRow,actualColumn:n.startColumn,rangeType:r.RANGE_TYPE.NORMAL,isMerged:!1,isMergedMainCell:!1}}const sn="sheet.command.move-range",Qe={type:r.CommandType.COMMAND,id:sn,handler:(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=n.get(h.SheetInterceptorService),a=s.getCurrentUniverSheetInstance(),u=a.getActiveSheet(),c=a.getUnitId(),l=u.getSheetId(),d=u.getCellMatrix(),m=new r.ObjectMatrix,g=new r.ObjectMatrix,S=(T,p)=>({startRow:T,endRow:T,startColumn:p,endColumn:p});r.Range.foreach(e.fromRange,(T,p)=>{m.setValue(T,p,d.getValue(T,p)),g.setValue(T,p,null)});const v=new r.ObjectMatrix;r.Range.foreach(e.toRange,(T,p)=>{v.setValue(T,p,d.getValue(T,p))});const I=new r.ObjectMatrix;r.Range.foreach(e.fromRange,(T,p)=>{const L=S(T,p),P=r.Rectangle.getRelativeRange(L,e.fromRange),E=r.Rectangle.getPositionRange(P,e.toRange);I.setValue(E.startRow,E.startColumn,d.getValue(T,p))});const f={from:{value:g.getMatrix(),subUnitId:l},to:{value:I.getMatrix(),subUnitId:l},unitId:c},C={from:{value:m.getMatrix(),subUnitId:l},to:{value:v.getMatrix(),subUnitId:l},unitId:c},M=i.onCommandExecute({id:Qe.id,params:e}),U=[{id:Le.id,params:f},...M.redos,{id:q.id,params:{unitId:c,sheetId:l,pluginName:x,selections:[{range:e.toRange,primary:ne(e.toRange,u)}]}}],w=[{id:q.id,params:{unitId:c,sheetId:l,pluginName:x,selections:[{range:e.fromRange,primary:ne(e.fromRange,u)}]}},...M.undos,{id:Le.id,params:C}];return r.sequenceExecute(U,t).result?(o.pushUndoRedo({unitID:c,undoMutations:w,redoMutations:U}),!0):!1}};function ko(n,e){const{unitId:t,subUnitId:o,sourceRange:s,targetRange:i}=e,a=s.startRow>i.startRow,u=s.endRow-s.startRow+1;return a?{unitId:t,subUnitId:o,sourceRange:r.Rectangle.clone(i),targetRange:{...s,endRow:s.endRow+u,startRow:s.startRow+u}}:{unitId:t,subUnitId:o,targetRange:r.Rectangle.clone(s),sourceRange:{...i,endRow:i.endRow-u,startRow:i.startRow-u}}}const Ve={id:"sheet.mutation.move-rows",type:r.CommandType.MUTATION,handler:(n,e)=>{const{unitId:t,subUnitId:o,sourceRange:s,targetRange:i}=e,u=n.get(r.IUniverInstanceService).getUniverSheetInstance(t);if(!u)throw new Error("[MoveRowMutation] univerSheet is null!");const c=u.getSheetBySheetId(o);if(!c)throw new Error("[MoveRowMutation] worksheet is null!");const l=s.startRow,d=s.endRow-s.startRow+1,m=i.startRow,g=c.getRowManager().getRowData();return r.moveMatrixArray(l,d,m,g),c.getCellMatrix().moveRows(l,d,m),!0}};function Ao(n,e){const{unitId:t,subUnitId:o,sourceRange:s,targetRange:i}=e,a=s.startColumn>i.startColumn,u=s.endColumn-s.startColumn+1;return a?{unitId:t,subUnitId:o,sourceRange:r.Rectangle.clone(i),targetRange:{...s,endColumn:s.endColumn+u,startColumn:s.startColumn+u}}:{unitId:t,subUnitId:o,targetRange:r.Rectangle.clone(s),sourceRange:{...i,startColumn:i.startColumn-u,endColumn:i.endColumn-u}}}const Be={id:"sheet.mutation.move-columns",type:r.CommandType.MUTATION,handler:(n,e)=>{const{unitId:t,subUnitId:o,sourceRange:s,targetRange:i}=e,u=n.get(r.IUniverInstanceService).getUniverSheetInstance(t);if(!u)throw new Error("[MoveColumnMutation] univerSheet is null!");const c=u.getSheetBySheetId(o);if(!c)throw new Error("[MoveColumnMutation] worksheet is null!");const l=s.startColumn,d=s.endColumn-s.startColumn+1,m=i.startColumn,g=c.getColumnManager().getColumnData();return r.moveMatrixArray(l,d,m,g),c.getCellMatrix().moveColumns(l,d,m),!0}};function Po(n,e){return e.getMergeData().some(t=>t.startRow<n&&n<=t.endRow)}function No(n,e){return e.getMergeData().some(t=>t.startColumn<n&&n<=t.endColumn)}const rn="sheet.command.move-rows",Ct={id:rn,type:r.CommandType.COMMAND,handler:async(n,e)=>{const o=n.get(h.SelectionManagerService).getSelections(),{fromRange:{startRow:s},toRange:{startRow:i}}=e,a=o==null?void 0:o.filter(H=>H.range.rangeType===r.RANGE_TYPE.ROW&&H.range.startRow<=s&&s<=H.range.endRow);if((a==null?void 0:a.length)!==1)return!1;const u=n.get(h.SheetInterceptorService),l=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!l)return!1;const d=l.getActiveSheet();if(!d)return!1;const m=l.getUnitId(),g=d.getSheetId(),S=n.get(r.ErrorService),v=a[0].range,I=a[0].primary,f=Ze(v,d,!1);if(!r.Rectangle.equals(v,f))return S.emit("Only part of a merged cell is selected."),!1;if(Po(i,d))return S.emit("Across a merged cell."),!1;const C={...v,startRow:i,endRow:i+v.endRow-v.startRow},M={unitId:m,subUnitId:g,sourceRange:v,targetRange:C},U=ko(n,M),y=i-s<0,T=v.endRow-v.startRow+1,p=y?C:{...C,startRow:C.startRow-T,endRow:C.endRow-T},L={unitId:m,subUnitId:g,pluginName:x,selections:[{range:p,primary:ne(p,d),style:null}]},P={unitId:m,subUnitId:g,pluginName:x,selections:[{range:v,primary:I,style:null}]},E=n.get(r.ICommandService),J=u.onCommandExecute({id:Ct.id,params:e}),R=[{id:Ve.id,params:M},{id:q.id,params:L},...J.redos],F=[{id:Ve.id,params:U},{id:q.id,params:P},...J.undos];return r.sequenceExecute(R,E).result?(n.get(r.IUndoRedoService).pushUndoRedo({unitID:m,undoMutations:F,redoMutations:R}),!0):!1}},an="sheet.command.move-cols",Rt={id:an,type:r.CommandType.COMMAND,handler:async(n,e)=>{const o=n.get(h.SelectionManagerService).getSelections(),{fromRange:{startColumn:s},toRange:{startColumn:i}}=e,a=o==null?void 0:o.filter(H=>H.range.rangeType===r.RANGE_TYPE.COLUMN&&H.range.startColumn<=s&&s<=H.range.endColumn);if((a==null?void 0:a.length)!==1)return!1;const u=n.get(h.SheetInterceptorService),l=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!l)return!1;const d=l.getActiveSheet();if(!d)return!1;const m=l.getUnitId(),g=d.getSheetId(),S=n.get(r.ErrorService),v=a[0].range,I=a[0].primary,f=Ze(v,d,!1);if(!r.Rectangle.equals(v,f))return S.emit("Only part of a merged cell is selected."),!1;if(No(i,d))return S.emit("Across a merged cell."),!1;const C={...v,startColumn:i,endColumn:i+v.endColumn-v.startColumn},M={unitId:m,subUnitId:g,sourceRange:v,targetRange:C},U=Ao(n,M),w=v.endColumn-v.startColumn+1,p=i-s<0?C:{...C,startColumn:C.startColumn-w,endColumn:C.endColumn-w},L={unitId:m,subUnitId:g,pluginName:x,selections:[{range:p,primary:ne(p,d),style:null}]},P={unitId:m,subUnitId:g,pluginName:x,selections:[{range:v,primary:I,style:null}]},E=n.get(r.ICommandService),J=u.onCommandExecute({id:Rt.id,params:e}),R=[{id:Be.id,params:M},{id:q.id,params:L},...J.redos],F=[{id:Be.id,params:U},{id:q.id,params:P},...J.undos];return r.sequenceExecute(R,E).result&&n.get(r.IUndoRedoService).pushUndoRedo({unitID:m,undoMutations:F,redoMutations:R}),!0}},un="sheet.command.remove-row",et={type:r.CommandType.COMMAND,id:un,handler:async(n,e)=>{var C;const t=n.get(h.SelectionManagerService),o=n.get(h.SheetInterceptorService);let s=e==null?void 0:e.range;if(s||(s=(C=t.getLast())==null?void 0:C.range),!s)return!1;const a=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance(),u=a.getActiveSheet(),c=a.getUnitId(),l=u.getSheetId();s={...s,startColumn:0,endColumn:Math.max(u.getMaxColumns()-1,0)};const d={unitId:c,subUnitId:l,range:s},m=To(d,u),g={unitId:c,subUnitId:l,range:s,shiftDimension:r.Dimension.ROWS},S=qe(n,g);if(!S)return!1;const v=o.onCommandExecute({id:et.id,params:{range:s}}),I=n.get(r.ICommandService);return r.sequenceExecute([{id:ee.id,params:g},{id:Ce.id,params:d},...v.redos],I).result?(n.get(r.IUndoRedoService).pushUndoRedo({unitID:c,undoMutations:[...v.undos,{id:Ie.id,params:m},{id:te.id,params:S}],redoMutations:[{id:ee.id,params:g},{id:Ce.id,params:d},...v.redos]}),!0):!1}},cn="sheet.command.remove-col",tt={type:r.CommandType.COMMAND,id:cn,handler:async(n,e)=>{var C;const t=n.get(h.SelectionManagerService),o=n.get(h.SheetInterceptorService);let s=e==null?void 0:e.range;if(s||(s=(C=t.getLast())==null?void 0:C.range),!s)return!1;const a=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance(),u=a.getActiveSheet(),c=a.getUnitId(),l=u.getSheetId();s={...s,startRow:0,endRow:Math.max(u.getMaxRows()-1,0)};const d={unitId:c,subUnitId:l,range:s},m=Do(n,d),g={unitId:c,subUnitId:l,range:s,shiftDimension:r.Dimension.COLUMNS},S=qe(n,g);if(!S)throw new Error;const v=o.onCommandExecute({id:tt.id,params:{range:s}}),I=n.get(r.ICommandService);return r.sequenceExecute([{id:Re.id,params:d},{id:ee.id,params:g},...v.redos],I).result?(n.get(r.IUndoRedoService).pushUndoRedo({unitID:c,undoMutations:[...v.undos,{id:fe.id,params:m},{id:te.id,params:S}],redoMutations:[{id:Re.id,params:d},{id:ee.id,params:g},...v.redos]}),!0):!1}},Mt={id:"sheet.command.remove-sheet",type:r.CommandType.COMMAND,handler:async(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=n.get(h.SheetInterceptorService);let a=s.getCurrentUniverSheetInstance().getUnitId(),u=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();e&&(a=e.unitId??a,u=e.subUnitId??u);const c=s.getUniverSheetInstance(a);if(!c)return!1;const l=c.getSheetBySheetId(u);if(!l||c.getSheets().length<=1)return!1;const d=c.getSheetIndex(l);c.getConfig().sheetOrder[d+1];const m={subUnitId:u,unitId:a},g=zt(n,m),S=i.onCommandExecute({id:Mt.id,params:{unitId:a,subUnitId:u}}),v=[{id:Ne.id,params:m},...S.redos],I=[...S.undos,{id:Se.id,params:g}];return r.sequenceExecute(v,t)?(o.pushUndoRedo({unitID:a,undoMutations:I,redoMutations:v}),!0):!1}},ue=(n,e)=>{if(n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId)==null)throw new Error("universheet is null error!");return{unitId:e.unitId,subUnitId:e.subUnitId,ranges:e.ranges}},W={id:"sheet.mutation.add-worksheet-merge",type:r.CommandType.MUTATION,handler:(n,e)=>{const o=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(o==null)throw new Error("universheet is null error!");const s=o.getSheetBySheetId(e.subUnitId);if(!s)return!1;const a=s.getConfig().mergeData,u=e.ranges;for(let c=0;c<u.length;c++)a.push(u[c]);return!0}},oe=(n,e)=>{const o=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(o==null)throw new Error("universheet is null error!");const s=o.getSheetBySheetId(e.subUnitId);if(s==null)throw new Error("worksheet is null error!");const a=s.getConfig().mergeData,u=e.ranges,c=[];for(let l=0;l<u.length;l++)for(let d=a.length-1;d>=0;d--){const m=a[d],g=u[l];r.Rectangle.intersects(m,g)&&c.push(a[d])}return{unitId:e.unitId,subUnitId:e.subUnitId,ranges:c}},j={id:"sheet.mutation.remove-worksheet-merge",type:r.CommandType.MUTATION,handler:(n,e)=>{const o=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(o==null)throw new Error("universheet is null error!");const s=o.getSheetBySheetId(e.subUnitId);if(!s)return!1;const a=s.getConfig().mergeData,u=e.ranges;for(let c=0;c<u.length;c++)for(let l=a.length-1;l>=0;l--){const d=a[l],m=u[c];r.Rectangle.intersects(d,m)&&a.splice(l,1)}return!0}},dn={type:r.CommandType.COMMAND,id:"sheet.command.remove-worksheet-merge",handler:async n=>{const e=n.get(h.SelectionManagerService),t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=e.getSelectionRanges();if(!(i!=null&&i.length))return!1;const a=s.getCurrentUniverSheetInstance().getUnitId(),u=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),c=s.getUniverSheetInstance(a);if(!c)return!1;const l=c.getSheetBySheetId(u);if(!l)return!1;const d={unitId:a,subUnitId:u,ranges:i};let m=!1;const g=l.getConfig().mergeData;if(i.forEach(I=>{g.forEach(f=>{r.Rectangle.intersects(I,f)&&(m=!0)})}),!m)return!1;const S=oe(n,d);return t.syncExecuteCommand(j.id,d)?(o.pushUndoRedo({unitID:a,undoMutations:[{id:W.id,params:S}],redoMutations:[{id:j.id,params:d}]}),!0):!1}};class Me{constructor(){V(this,"_borderInfo",{type:r.BorderType.ALL,color:"#000000",style:r.BorderStyleTypes.THIN,activeBorderType:!1});V(this,"_borderInfo$",new ye.BehaviorSubject(this._borderInfo));V(this,"borderInfo$",this._borderInfo$.asObservable())}dispose(){this._borderInfo$.complete()}setType(e){this._borderInfo.type=e,this.setActiveBorderType(!0),this.refresh()}setColor(e){this._borderInfo.color=e,this.refresh()}setStyle(e){this._borderInfo.style=e,this.refresh()}setActiveBorderType(e){this._borderInfo.activeBorderType=e}getBorderInfo(){return this._borderInfo}refresh(){this._borderInfo$.next(this._borderInfo)}}function Lo(n,e,t){const o=e?n.getUniverSheetInstance(e):n.getCurrentUniverSheetInstance();if(!o)throw new Error;const s=t?o.getSheetBySheetId(t):o.getActiveSheet();if(!s)throw new Error;return{workbook:o,worksheet:s,unitId:e??o.getUnitId(),subUnitId:t??s.getSheetId()}}function nt(n,e){const{startRow:t,startColumn:o,endRow:s,endColumn:i}=n;for(let a=t;a<=s;a++)for(let u=o;u<=i;u++)e(a,u)}const ln={id:"sheet.command.set-border-basic",type:r.CommandType.COMMAND,handler:async(n,e)=>{const{unitId:t,subUnitId:o,value:s}=e,{type:i,color:a,style:u}=s,c=n.get(r.ICommandService),l=n.get(Me);return l.setType(i),l.setColor(a),l.setStyle(u),c.executeCommand(Te.id,{unitId:t,subUnitId:o})}},mn={id:"sheet.command.set-border-position",type:r.CommandType.COMMAND,handler:async(n,e)=>{if(!e.value)return!1;const t=n.get(r.ICommandService);return n.get(Me).setType(e.value),t.executeCommand(Te.id)}},gn={id:"sheet.command.set-border-style",type:r.CommandType.COMMAND,handler:async(n,e)=>{const t=n.get(r.ICommandService);return n.get(Me).setStyle(e.value),t.executeCommand(Te.id)}},hn={id:"sheet.command.set-border-color",type:r.CommandType.COMMAND,handler:async(n,e)=>{const t=n.get(r.ICommandService);return n.get(Me).setColor(e.value),t.executeCommand(Te.id)}},Te={id:"sheet.command.set-border",type:r.CommandType.COMMAND,handler:async(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=n.get(h.SelectionManagerService),a=n.get(Me),{worksheet:u,unitId:c,subUnitId:l}=Lo(s,e==null?void 0:e.unitId,e==null?void 0:e.subUnitId),d=i.getSelectionRanges(),m=u.getConfig().mergeData;if(!(d!=null&&d.length))return!1;const{style:g,color:S,type:v,activeBorderType:I}=a.getBorderInfo();if(!I)return!1;const f=v===r.BorderType.TOP||v===r.BorderType.ALL||v===r.BorderType.OUTSIDE,C=v===r.BorderType.LEFT||v===r.BorderType.ALL||v===r.BorderType.OUTSIDE,M=v===r.BorderType.BOTTOM||v===r.BorderType.ALL||v===r.BorderType.OUTSIDE,U=v===r.BorderType.RIGHT||v===r.BorderType.ALL||v===r.BorderType.OUTSIDE,w=v===r.BorderType.VERTICAL||v===r.BorderType.ALL||v===r.BorderType.INSIDE,y=v===r.BorderType.HORIZONTAL||v===r.BorderType.ALL||v===r.BorderType.INSIDE,T=v.indexOf("tlbr")>-1,p=v.indexOf("tlbc")>-1,L=v.indexOf("tlmr")>-1,P=v.indexOf("bltr")>-1,E=v.indexOf("mltr")>-1,J=v.indexOf("bctr")>-1,R=d[0],F={startRow:R.startRow-1,startColumn:R.startColumn,endRow:R.startRow-1,endColumn:R.endColumn},G={startRow:R.startRow,startColumn:R.startColumn-1,endRow:R.endRow,endColumn:R.startColumn-1},H={startRow:R.endRow+1,startColumn:R.startColumn,endRow:R.endRow+1,endColumn:R.endColumn},or={startRow:R.startRow,startColumn:R.endColumn+1,endRow:R.endRow,endColumn:R.endColumn+1},Qn={startRow:R.startRow,startColumn:R.startColumn,endRow:R.startRow,endColumn:R.endColumn},eo={startRow:R.startRow,startColumn:R.startColumn,endRow:R.endRow,endColumn:R.startColumn},to={startRow:R.endRow,startColumn:R.startColumn,endRow:R.endRow,endColumn:R.endColumn},no={startRow:R.startRow,startColumn:R.endColumn,endRow:R.endRow,endColumn:R.endColumn},k=new r.ObjectMatrix,$={s:g,cl:{rgb:S}},gt=(D,b)=>{let N=null;return m.forEach(Z=>{r.Rectangle.intersects(Z,{startColumn:b,endColumn:b,startRow:D,endRow:D})&&(N=Z)}),N};function z(D,b,N){D.startRow<0||D.startColumn<0||nt(D,(Z,ie)=>{var _,$e;const Q=gt(Z,ie);let se=b;if(Q){if(N){const ae=r.Tools.deepClone((_=k.getValue(Q.startRow,Q.startColumn))==null?void 0:_.s);se=ae!=null&&ae.bd?Object.assign(ae.bd,b):b}k.setValue(Q.startRow,Q.startColumn,{s:{bd:se}})}else{if(N){const ae=r.Tools.deepClone(($e=k.getValue(Z,ie))==null?void 0:$e.s);se=ae!=null&&ae.bd?Object.assign(ae.bd,b):b}k.setValue(Z,ie,{s:{bd:se}})}})}f&&z(Qn,{t:r.Tools.deepClone($)},!0),M&&z(to,{b:r.Tools.deepClone($)},!0),C&&z(eo,{l:r.Tools.deepClone($)},!0),U&&z(no,{r:r.Tools.deepClone($)},!0),T&&z(R,{tl_br:r.Tools.deepClone($)},!0),p&&z(R,{tl_bc:r.Tools.deepClone($)},!0),L&&z(R,{tl_mr:r.Tools.deepClone($)},!0),P&&z(R,{bl_tr:r.Tools.deepClone($)},!0),E&&z(R,{ml_tr:r.Tools.deepClone($)},!0),J&&z(R,{bc_tr:r.Tools.deepClone($)},!0),w&&nt(R,(D,b)=>{var Z,ie,Q,se;const N=gt(D,b);if(N){if(N.endColumn!==R.endColumn){const _=(Z=k.getValue(N.startRow,N.startColumn))==null?void 0:Z.s;k.setValue(D,b,{s:{bd:_!=null&&_.bd?Object.assign(_.bd,{r:r.Tools.deepClone($)}):{r:r.Tools.deepClone($)}}})}if(N.startColumn!==R.startColumn){const _=(ie=k.getValue(N.startRow,N.startColumn))==null?void 0:ie.s;k.setValue(D,b,{s:{bd:_!=null&&_.bd?Object.assign(_.bd,{l:r.Tools.deepClone($)}):{l:r.Tools.deepClone($)}}})}}else{if(b!==R.endColumn){const _=(Q=k.getValue(D,b))==null?void 0:Q.s;k.setValue(D,b,{s:{bd:_!=null&&_.bd?Object.assign(_.bd,{r:r.Tools.deepClone($)}):{r:r.Tools.deepClone($)}}})}if(b!==R.startColumn){const _=(se=k.getValue(D,b))==null?void 0:se.s;k.setValue(D,b,{s:{bd:_!=null&&_.bd?Object.assign(_.bd,{l:r.Tools.deepClone($)}):{l:r.Tools.deepClone($)}}})}}}),y&&nt(R,(D,b)=>{var Z,ie,Q,se;const N=gt(D,b);if(N){if(N.endRow!==R.endRow){const _=(Z=k.getValue(N.startRow,N.startColumn))==null?void 0:Z.s;k.setValue(D,b,{s:{bd:_!=null&&_.bd?Object.assign(_.bd,{b:r.Tools.deepClone($)}):{b:r.Tools.deepClone($)}}})}if(N.startRow!==R.startRow){const _=(ie=k.getValue(N.startRow,N.startColumn))==null?void 0:ie.s;k.setValue(D,b,{s:{bd:_!=null&&_.bd?Object.assign(_.bd,{t:r.Tools.deepClone($)}):{t:r.Tools.deepClone($)}}})}}else{if(D!==R.endRow){const _=(Q=k.getValue(D,b))==null?void 0:Q.s;k.setValue(D,b,{s:{bd:_!=null&&_.bd?Object.assign(_.bd,{b:r.Tools.deepClone($)}):{b:r.Tools.deepClone($)}}})}if(D!==R.startRow){const _=(se=k.getValue(D,b))==null?void 0:se.s;k.setValue(D,b,{s:{bd:_!=null&&_.bd?Object.assign(_.bd,{t:r.Tools.deepClone($)}):{t:r.Tools.deepClone($)}}})}}}),!f&&!M&&!C&&!U&&!w&&!y&&!T&&!p&&!L&&!P&&!E&&!J&&(z(F,{b:null}),z(Qn,{t:null},!0),z(H,{t:null}),z(to,{b:null},!0),z(G,{r:null}),z(eo,{l:null},!0),z(or,{l:null}),z(no,{r:null},!0),z(R,{tl_br:null},!0),z(R,{tl_bc:null},!0),z(R,{tl_mr:null},!0),z(R,{bl_tr:null},!0),z(R,{ml_tr:null},!0),z(R,{bc_tr:null},!0),nt(R,(D,b)=>{var Z,ie,Q,se,_,$e,ae,oo;const N=gt(D,b);if(N){if(N.endColumn!==R.endColumn){const O=(Z=k.getValue(N.startRow,N.startColumn))==null?void 0:Z.s;k.setValue(D,b,{s:{bd:O!=null&&O.bd?Object.assign(O.bd,{r:null}):{r:null}}})}if(N.startColumn!==R.startColumn){const O=(ie=k.getValue(N.startRow,N.startColumn))==null?void 0:ie.s;k.setValue(D,b,{s:{bd:O!=null&&O.bd?Object.assign(O.bd,{l:null}):{l:null}}})}if(N.endRow!==R.endRow){const O=(Q=k.getValue(N.startRow,N.startColumn))==null?void 0:Q.s;k.setValue(D,b,{s:{bd:O!=null&&O.bd?Object.assign(O.bd,{b:null}):{b:null}}})}if(N.startRow!==R.startRow){const O=(se=k.getValue(N.startRow,N.startColumn))==null?void 0:se.s;k.setValue(D,b,{s:{bd:O!=null&&O.bd?Object.assign(O.bd,{t:null}):{t:null}}})}}else{if(b!==R.endColumn){const O=(_=k.getValue(D,b))==null?void 0:_.s;k.setValue(D,b,{s:{bd:O!=null&&O.bd?Object.assign(O.bd,{r:null}):{r:null}}})}if(b!==R.startColumn){const O=($e=k.getValue(D,b))==null?void 0:$e.s;k.setValue(D,b,{s:{bd:O!=null&&O.bd?Object.assign(O.bd,{l:null}):{l:null}}})}if(D!==R.endRow){const O=(ae=k.getValue(D,b))==null?void 0:ae.s;k.setValue(D,b,{s:{bd:O!=null&&O.bd?Object.assign(O.bd,{b:null}):{b:null}}})}if(D!==R.startRow){const O=(oo=k.getValue(D,b))==null?void 0:oo.s;k.setValue(D,b,{s:{bd:O!=null&&O.bd?Object.assign(O.bd,{t:null}):{t:null}}})}}}));const jt={unitId:c,subUnitId:l,cellValue:k.getData()},sr=ve(n,jt);return t.syncExecuteCommand(Y.id,jt)?(o.pushUndoRedo({unitID:c,undoMutations:[{id:Y.id,params:sr}],redoMutations:[{id:Y.id,params:jt}]}),!0):!1}},Vo=(n,e)=>{if(n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId)==null)throw new Error("universheet is null error!");return{unitId:e.unitId,subUnitId:e.subUnitId,ranges:e.ranges}},De={id:"sheet.mutation.set-col-hidden",type:r.CommandType.MUTATION,handler:(n,e)=>{const o=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(!o)return!1;const s=o.getSheetBySheetId(e.subUnitId).getColumnManager();for(let i=0;i<e.ranges.length;i++){const a=e.ranges[i];for(let u=a.startColumn;u<a.endColumn+1;u++){const c=s.getColumnOrCreate(u);c!=null&&(c.hd=r.BooleanNumber.TRUE)}}return!0}},Bo=(n,e)=>{if(n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId)==null)throw new Error("universheet is null error!");return{unitId:e.unitId,subUnitId:e.subUnitId,ranges:e.ranges}},Ee={id:"sheet.mutation.set-col-visible",type:r.CommandType.MUTATION,handler:(n,e)=>{const o=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(!o)return!1;const s=o.getSheetBySheetId(e.subUnitId).getColumnManager();for(let i=0;i<e.ranges.length;i++){const a=e.ranges[i];for(let u=a.startColumn;u<a.endColumn+1;u++){const c=s.getColumnOrCreate(u);c!=null&&(c.hd=r.BooleanNumber.FALSE)}}return!0}},wt={type:r.CommandType.COMMAND,id:"sheet.command.set-col-visible-on-cols",handler:async(n,e)=>{const{unitId:t,subUnitId:o,ranges:s}=e,i=n.get(r.IUniverInstanceService).getUniverSheetInstance(t).getSheetBySheetId(o),a={unitId:t,subUnitId:o,ranges:s},u=Bo(n,a),c={unitId:t,subUnitId:o,pluginName:x,selections:s.map(g=>({range:g,primary:ne(g,i),style:null}))},l={unitId:t,subUnitId:o,pluginName:x,selections:In(s).map(g=>({range:g,primary:ne(g,i),style:null}))},d=n.get(r.ICommandService);return r.sequenceExecute([{id:Ee.id,params:a},{id:q.id,params:c}],d).result&&n.get(r.IUndoRedoService).pushUndoRedo({unitID:t,undoMutations:[{id:De.id,params:u},{id:q.id,params:l}],redoMutations:[{id:Ee.id,params:a},{id:q.id,params:c}]}),!0}},vn={type:r.CommandType.COMMAND,id:"sheet.command.set-selected-cols-visible",handler:async n=>{var l;const t=(l=n.get(h.SelectionManagerService).getSelections())==null?void 0:l.map(d=>d.range).filter(d=>d.rangeType===r.RANGE_TYPE.COLUMN);if(!(t!=null&&t.length))return!1;const s=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!s)return!1;const i=s.getActiveSheet();if(!i)return!1;const a=s.getUnitId(),u=i.getSheetId(),c=t.map(d=>i.getHiddenCols(d.startColumn,d.endColumn)).flat();return n.get(r.ICommandService).executeCommand(wt.id,{unitId:a,subUnitId:u,ranges:c})}},Sn={type:r.CommandType.COMMAND,id:"sheet.command.set-col-hidden",handler:async n=>{var S;const t=(S=n.get(h.SelectionManagerService).getSelections())==null?void 0:S.map(v=>v.range).filter(v=>v.rangeType===r.RANGE_TYPE.COLUMN);if(!(t!=null&&t.length))return!1;const s=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!s)return!1;const i=s.getActiveSheet();if(!i)return!1;const a=s.getUnitId(),u=i.getSheetId(),c={unitId:a,subUnitId:u,ranges:t},l={unitId:a,subUnitId:u,pluginName:x,selections:In(t).map(v=>({range:v,primary:ne(v,i),style:null}))},d={unitId:a,subUnitId:u,pluginName:x,selections:t.map(v=>({range:v,primary:ne(v,i),style:null}))},m=n.get(r.ICommandService);if(r.sequenceExecute([{id:De.id,params:c},{id:q.id,params:l}],m).result){const v=n.get(r.IUndoRedoService),I=Vo(n,c);return v.pushUndoRedo({unitID:a,undoMutations:[{id:Ee.id,params:I},{id:q.id,params:d}],redoMutations:[{id:De.id,params:c},{id:q.id,params:l}]}),!0}return!1}};function In(n){return Wo(n).map(t=>{const o=t.startColumn===0?t.endColumn+1:t.startColumn-1;return{...t,startColumn:o,endColumn:o}})}function Wo(n){const e=[];let t;return n.sort((o,s)=>o.startColumn-s.startColumn).forEach(o=>{if(!t){t=o;return}t.endColumn===o.startColumn-1?t.endColumn=o.endColumn:(e.push(t),t=o)}),e.push(t),e}const pt=(n,e)=>{const o=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(o==null)throw new Error("universheet is null error!");const s=o.getSheetBySheetId(e.subUnitId);if(s==null)throw new Error("worksheet is null error!");const a=s.getConfig().freeze;return{unitId:e.unitId,subUnitId:e.subUnitId,...a}},ge={id:"sheet.mutation.set-frozen",type:r.CommandType.MUTATION,handler:(n,e)=>{const o=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(o==null)throw new Error("universheet is null error!");const s=o.getSheetBySheetId(e.subUnitId);if(!s)return!1;const i=s.getConfig(),{startRow:a,startColumn:u,ySplit:c,xSplit:l}=e;return i.freeze={startRow:a,startColumn:u,ySplit:c,xSplit:l},!0}},fn={type:r.CommandType.COMMAND,id:"sheet.command.set-frozen",handler:async(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=s.getCurrentUniverSheetInstance().getUnitId(),a=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),u=s.getUniverSheetInstance(i);if(!u)return!1;const c=u.getSheetBySheetId(a);if(!c)return!1;const{startColumn:l,startRow:d,xSplit:m,ySplit:g}=e;if(d>=c.getRowCount()||l>=c.getColumnCount()||m>=c.getColumnCount()||g>=c.getRowCount())return!1;const S={unitId:i,subUnitId:a,...e},v=pt(n,S);return t.syncExecuteCommand(ge.id,S)?(o.pushUndoRedo({unitID:i,undoMutations:[{id:ge.id,params:v}],redoMutations:[{id:ge.id,params:S}]}),!0):!1}},jo={type:r.CommandType.COMMAND,id:"sheet.command.set-frozen-cancel",handler:async n=>{const e=n.get(r.ICommandService),t=n.get(r.IUndoRedoService),o=n.get(r.IUniverInstanceService),s=o.getCurrentUniverSheetInstance().getUnitId(),i=o.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),a=o.getUniverSheetInstance(s);if(!a||!a.getSheetBySheetId(i))return!1;const c={unitId:s,subUnitId:i,startRow:-1,startColumn:-1,ySplit:0,xSplit:0},l=pt(n,c);return e.syncExecuteCommand(ge.id,c)?(t.pushUndoRedo({unitID:s,undoMutations:[{id:ge.id,params:l}],redoMutations:[{id:ge.id,params:c}]}),!0):!1}},We={id:"sheet.command.set-range-values",type:r.CommandType.COMMAND,handler:async(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=n.get(h.SelectionManagerService),a=n.get(h.SheetInterceptorService),{value:u,range:c,unitId:l=s.getCurrentUniverSheetInstance().getUnitId(),subUnitId:d=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId()}=e,m=c?[c]:i.getSelectionRanges();if(!m||!m.length)return!1;const g=new r.ObjectMatrix;let S;if(r.Tools.isArray(u))for(let w=0;w<m.length;w++){const{startRow:y,startColumn:T,endRow:p,endColumn:L}=m[w];for(let P=0;P<=p-y;P++)for(let E=0;E<=L-T;E++)g.setValue(P+y,E+T,u[P][E])}else if(r.isICellData(u))for(let w=0;w<m.length;w++){const{startRow:y,startColumn:T,endRow:p,endColumn:L}=m[w];for(let P=y;P<=p;P++)for(let E=T;E<=L;E++)g.setValue(P,E,u)}else S=u;const v={subUnitId:d,unitId:l,cellValue:S??g.getMatrix()},I=ve(n,v);if(!a.fetchThroughInterceptors(Ue.PERMISSION)(null,{id:We.id,params:v}))return!1;const f=t.syncExecuteCommand(Y.id,v),{undos:C,redos:M}=a.onCommandExecute({id:We.id,params:{...v,range:m}}),U=await r.sequenceExecute([...M],t);return f&&U.result?(o.pushUndoRedo({unitID:l,undoMutations:[{id:Y.id,params:I},...C],redoMutations:[{id:Y.id,params:v},...M]}),!0):!1}},Ho=(n,e)=>{if(n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId)==null)throw new Error("universheet is null error!");return{unitId:e.unitId,subUnitId:e.subUnitId,ranges:e.ranges}},Oe={id:"sheet.mutation.set-row-visible",type:r.CommandType.MUTATION,handler:(n,e)=>{const o=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(o==null)throw new Error("universheet is null error!");const s=o.getSheetBySheetId(e.subUnitId).getRowManager();for(let i=0;i<e.ranges.length;i++){const a=e.ranges[i];for(let u=a.startRow;u<a.endRow+1;u++){const c=s.getRowOrCreate(u);c!=null&&(c.hd=0)}}return!0}},Fo=(n,e)=>{if(n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId)==null)throw new Error("universheet is null error!");return{unitId:e.unitId,subUnitId:e.subUnitId,ranges:e.ranges}},ke={id:"sheet.mutation.set-row-hidden",type:r.CommandType.MUTATION,handler:(n,e)=>{const o=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(o==null)throw new Error("universheet is null error!");const s=o.getSheetBySheetId(e.subUnitId).getRowManager();for(let i=0;i<e.ranges.length;i++){const a=e.ranges[i];for(let u=a.startRow;u<a.endRow+1;u++){const c=s.getRowOrCreate(u);c!=null&&(c.hd=1)}}return!0}},yt={type:r.CommandType.COMMAND,id:"sheet.command.set-specific-rows-visible",handler:async(n,e)=>{const{unitId:t,subUnitId:o,ranges:s}=e,i=n.get(r.ICommandService),a=n.get(r.IUndoRedoService),u=n.get(r.IUniverInstanceService).getUniverSheetInstance(t).getSheetBySheetId(o),c={unitId:t,subUnitId:o,ranges:s},l=Ho(n,c),d={unitId:t,subUnitId:o,pluginName:x,selections:s.map(S=>({range:S,primary:ne(S,u),style:null}))},m={unitId:t,subUnitId:o,pluginName:x,selections:Mn(s).map(S=>({range:S,primary:ne(S,u),style:null}))};return r.sequenceExecute([{id:Oe.id,params:c},{id:q.id,params:d}],i).result&&a.pushUndoRedo({unitID:t,undoMutations:[{id:ke.id,params:l},{id:q.id,params:m}],redoMutations:[{id:Oe.id,params:c},{id:q.id,params:d}]}),!0}},Cn={type:r.CommandType.COMMAND,id:"sheet.command.set-selected-rows-visible",handler:async n=>{var l;const e=n.get(h.SelectionManagerService),t=n.get(r.IUniverInstanceService),o=(l=e.getSelections())==null?void 0:l.map(d=>d.range).filter(d=>d.rangeType===r.RANGE_TYPE.ROW);if(!(o!=null&&o.length))return!1;const s=t.getCurrentUniverSheetInstance();if(!s)return!1;const i=s.getActiveSheet();if(!i)return!1;const a=s.getUnitId(),u=i.getSheetId(),c=o.map(d=>i.getHiddenRows(d.startRow,d.endRow)).flat();return n.get(r.ICommandService).executeCommand(yt.id,{unitId:a,subUnitId:u,ranges:c})}},Rn={type:r.CommandType.COMMAND,id:"sheet.command.set-rows-hidden",handler:async n=>{var I;const e=n.get(h.SelectionManagerService),t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=(I=e.getSelections())==null?void 0:I.map(f=>f.range).filter(f=>f.rangeType===r.RANGE_TYPE.ROW);if(!(i!=null&&i.length))return!1;const a=s.getCurrentUniverSheetInstance().getUnitId(),u=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),c=s.getUniverSheetInstance(a);if(!c)return!1;const l=c.getSheetBySheetId(u);if(!l)return!1;const d={unitId:a,subUnitId:u,ranges:i},m={unitId:a,subUnitId:u,pluginName:x,selections:Mn(i).map(f=>({range:f,primary:ne(f,l),style:null}))},g={unitId:a,subUnitId:u,pluginName:x,selections:i.map(f=>({range:f,primary:ne(f,l),style:null}))},S=Fo(n,d);return r.sequenceExecute([{id:ke.id,params:d},{id:q.id,params:m}],t).result&&o.pushUndoRedo({unitID:a,undoMutations:[{id:Oe.id,params:S},{id:q.id,params:g}],redoMutations:[{id:ke.id,params:d},{id:q.id,params:m}]}),!0}};function Mn(n){return $o(n).map(t=>{const o=t.startRow===0?t.endRow+1:t.startRow-1;return{...t,startRow:o,endRow:o}})}function $o(n){const e=[];let t;return n.sort((o,s)=>o.startRow-s.startRow).forEach(o=>{if(!t){t=o;return}o.startRow===t.endRow+1?t.endRow=o.endRow:(e.push(t),t=o)}),e.push(t),e}const K={type:r.CommandType.COMMAND,id:"sheet.command.set-style",handler:async(n,e)=>{const t=n.get(r.IUniverInstanceService),{unitId:o=t.getCurrentUniverSheetInstance().getUnitId(),subUnitId:s=t.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),range:i,style:a}=e,u=n.get(r.ICommandService),c=n.get(r.IUndoRedoService),l=n.get(h.SelectionManagerService),d=i?[i]:l.getSelectionRanges();if(!(d!=null&&d.length))return!1;const m=t.getUniverSheetInstance(o);if((m==null?void 0:m.getSheetBySheetId(s))==null)return!1;const S=new r.ObjectMatrix;if(r.Tools.isArray(a.value))for(let w=0;w<d.length;w++){const{startRow:y,endRow:T,startColumn:p,endColumn:L}=d[w];for(let P=0;P<=T-y;P++)for(let E=0;E<=L-p;E++)S.setValue(P+y,E+p,{s:{[a.type]:a.value[P][E]}})}else for(let w=0;w<d.length;w++){const{startRow:y,endRow:T,startColumn:p,endColumn:L}=d[w],P={s:{[a.type]:a.value}};for(let E=y;E<=T;E++)for(let J=p;J<=L;J++)S.setValue(E,J,P)}const v={subUnitId:s,unitId:o,cellValue:S.getMatrix()},I=ve(n,v),f=u.syncExecuteCommand(Y.id,v),{undos:C,redos:M}=n.get(h.SheetInterceptorService).onCommandExecute({id:K.id,params:e}),U=r.sequenceExecute([...M],u);return f&&U.result?(c.pushUndoRedo({unitID:o,undoMutations:[{id:Y.id,params:I},...C],redoMutations:[{id:Y.id,params:v},...M]}),!0):!1}},zo={type:r.CommandType.COMMAND,id:"sheet.command.set-bold",handler:async n=>{const e=n.get(h.SelectionManagerService).getLast();if(!e)return!1;const t=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance().getActiveSheet(),{actualRow:o,actualColumn:s}=e.primary,a={style:{type:"bl",value:t.getRange(o,s).getFontWeight()===r.FontWeight.BOLD?r.BooleanNumber.FALSE:r.BooleanNumber.TRUE}};return n.get(r.ICommandService).executeCommand(K.id,a)}},Go={type:r.CommandType.COMMAND,id:"sheet.command.set-italic",handler:async n=>{const e=n.get(h.SelectionManagerService).getLast();if(!e)return!1;const t=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance().getActiveSheet();let o=!0;if(e.primary){const{startRow:i,startColumn:a}=e.primary;o=t.getRange(i,a).getFontStyle()===r.FontItalic.ITALIC}const s={style:{type:"it",value:o?r.BooleanNumber.FALSE:r.BooleanNumber.TRUE}};return n.get(r.ICommandService).executeCommand(K.id,s)}},qo={type:r.CommandType.COMMAND,id:"sheet.command.set-underline",handler:async n=>{const e=n.get(h.SelectionManagerService).getLast();if(!e)return!1;const t=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance().getActiveSheet();let o=!0;e.primary&&(o=!!t.getRange(e.primary.startRow,e.primary.startColumn).getUnderline().s);const s={style:{type:"ul",value:{s:o?r.BooleanNumber.FALSE:r.BooleanNumber.TRUE}}};return n.get(r.ICommandService).executeCommand(K.id,s)}},Yo={type:r.CommandType.COMMAND,id:"sheet.command.set-stroke",handler:async n=>{const e=n.get(h.SelectionManagerService).getLast();if(!e)return!1;const t=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance().getActiveSheet();let o=!0;e.primary&&(o=!!t.getRange(e.primary.actualRow,e.primary.actualColumn).getStrikeThrough().s);const s={style:{type:"st",value:{s:o?r.BooleanNumber.FALSE:r.BooleanNumber.TRUE}}};return n.get(r.ICommandService).executeCommand(K.id,s)}};r.CommandType.COMMAND;const Ko={type:r.CommandType.COMMAND,id:"sheet.command.set-font-family",handler:async(n,e)=>{if(!e)return!1;const t=n.get(r.ICommandService),o={style:{type:"ff",value:e.value}};return t.executeCommand(K.id,o)}},xo={type:r.CommandType.COMMAND,id:"sheet.command.set-font-size",handler:async(n,e)=>{if(!e)return!1;const t=n.get(r.ICommandService),o={style:{type:"fs",value:e.value}};return t.executeCommand(K.id,o)}},wn={type:r.CommandType.COMMAND,id:"sheet.command.set-text-color",handler:async(n,e)=>{if(!e||!e.value)return!1;const t=n.get(r.ICommandService),o={style:{type:"cl",value:{rgb:e.value}}};return t.executeCommand(K.id,o)}},pn={type:r.CommandType.COMMAND,id:"sheet.command.reset-text-color",handler:async n=>{const e=n.get(r.ICommandService),t={style:{type:"cl",value:{rgb:null}}};return e.executeCommand(K.id,t)}},yn={type:r.CommandType.COMMAND,id:"sheet.command.set-background-color",handler:async(n,e)=>{if(!e||!e.value)return!1;const t=n.get(r.ICommandService),o={style:{type:"bg",value:{rgb:e.value}}};return t.executeCommand(K.id,o)}},Un={type:r.CommandType.COMMAND,id:"sheet.command.reset-background-color",handler:async n=>{const e=n.get(r.ICommandService),t={style:{type:"bg",value:{rgb:null}}};return e.executeCommand(K.id,t)}},_n={type:r.CommandType.COMMAND,id:"sheet.command.set-vertical-text-align",handler:async(n,e)=>{if(!e)return!1;const t=n.get(r.ICommandService),o={style:{type:"vt",value:e.value}};return t.executeCommand(K.id,o)}},bn={type:r.CommandType.COMMAND,id:"sheet.command.set-horizontal-text-align",handler:async(n,e)=>{if(!e)return!1;const t=n.get(r.ICommandService),o={style:{type:"ht",value:e.value}};return t.executeCommand(K.id,o)}},Tn={type:r.CommandType.COMMAND,id:"sheet.command.set-text-wrap",handler:async(n,e)=>{if(!e)return!1;const t=n.get(r.ICommandService),o={style:{type:"tb",value:e.value}};return t.executeCommand(K.id,o)}},Dn={type:r.CommandType.COMMAND,id:"sheet.command.set-text-rotation",handler:async(n,e)=>{if(!e)return!1;const t=typeof e.value=="number"?{a:e.value}:{a:0,v:r.BooleanNumber.TRUE},o=n.get(r.ICommandService),s={style:{type:"tr",value:t}};return o.executeCommand(K.id,s)}},Jo=(n,e)=>{const i=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId).getSheetBySheetId(e.subUnitId).getConfig().tabColor;return{...r.Tools.deepClone(e),color:i}},je={id:"sheet.mutation.set-tab-color",type:r.CommandType.MUTATION,handler:(n,e)=>{const t=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(!t)return!1;const o=t.getSheetBySheetId(e.subUnitId);return o?(o.getConfig().tabColor=e.color,!0):!1}},En={type:r.CommandType.COMMAND,id:"sheet.command.set-tab-color",handler:async(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=s.getCurrentUniverSheetInstance().getUnitId(),a=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),u=s.getUniverSheetInstance(i);if(!u||!u.getSheetBySheetId(a))return!1;const l={color:e.value,unitId:i,subUnitId:a},d=Jo(n,l);return t.syncExecuteCommand(je.id,l)?(o.pushUndoRedo({unitID:i,undoMutations:[{id:je.id,params:d}],redoMutations:[{id:je.id,params:l}]}),!0):!1}},He={id:"sheet.operation.set-worksheet-active",type:r.CommandType.OPERATION,handler:(n,e)=>{const t=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(!t)return!1;const o=t.getWorksheets();for(const[,s]of o)s.getSheetId()===e.subUnitId?(s.getConfig().status=r.BooleanNumber.TRUE,t.__setActiveSheet(s)):s.getConfig().status=r.BooleanNumber.FALSE;return!0}},Ut={type:r.CommandType.COMMAND,id:"sheet.command.set-worksheet-activate",handler:(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUniverInstanceService);let s=o.getCurrentUniverSheetInstance().getUnitId(),i=o.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();e&&(s=e.unitId??s,i=e.subUnitId??i);const a={unitId:s,subUnitId:i};return t.syncExecuteCommand(He.id,a)}},_t=(n,e)=>{const o=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(o==null)throw new Error("universheet is null error!");const s=o.getSheetBySheetId(e.subUnitId);if(s==null)throw new Error("universheet is null error!");const i={},a=s.getColumnManager(),u=e.ranges;for(let c=0;c<u.length;c++){const l=u[c];for(let d=l.startColumn;d<l.endColumn+1;d++){const m=a.getColumnOrCreate(d);i[d]=m.w}}return{unitId:e.unitId,subUnitId:e.subUnitId,ranges:e.ranges,colWidth:i}},le={id:"sheet.mutation.set-worksheet-col-width",type:r.CommandType.MUTATION,handler:(n,e)=>{const o=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(o==null)throw new Error("universheet is null error!");const s=o.getSheetBySheetId(e.subUnitId);if(!s)return!1;const i=s.getConfig().defaultColumnWidth,a=s.getColumnManager(),u=e.ranges;for(let c=0;c<u.length;c++){const l=u[c];for(let d=l.startColumn;d<l.endColumn+1;d++){const m=a.getColumnOrCreate(d);typeof e.colWidth=="number"?m.w=e.colWidth:m.w=e.colWidth[d-l.startColumn]??i}}return!0}},bt={type:r.CommandType.COMMAND,id:"sheet.command.delta-column-width",handler:async(n,e)=>{const o=n.get(h.SelectionManagerService).getSelections();if(!(o!=null&&o.length))return!1;const s=n.get(r.ICommandService),i=n.get(r.IUndoRedoService),u=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance(),c=u.getActiveSheet(),l=u.getUnitId(),d=c.getSheetId(),{anchorCol:m,deltaX:g}=e,v=c.getColumnWidth(m)+g,I=o.length===1&&o[0].range.rangeType===r.RANGE_TYPE.ALL,f=o.filter(L=>L.range.rangeType===r.RANGE_TYPE.COLUMN),C=I?r.RANGE_TYPE.ALL:f.some(({range:L})=>{const{startColumn:P,endColumn:E}=L;return P<=m&&m<=E})?r.RANGE_TYPE.COLUMN:r.RANGE_TYPE.NORMAL;let M;if(C===r.RANGE_TYPE.ALL){const L=c.getRowCount(),P=new Array(c.getColumnCount()).fill(void 0).map((E,J)=>({startRow:0,endRow:L-1,startColumn:J,endColumn:J}));M={subUnitId:d,unitId:l,colWidth:v,ranges:P}}else C===r.RANGE_TYPE.COLUMN?M={subUnitId:d,unitId:l,ranges:f.map(L=>r.Rectangle.clone(L.range)),colWidth:v}:M={subUnitId:d,unitId:l,colWidth:v,ranges:[{startRow:0,endRow:c.getMaxRows()-1,startColumn:m,endColumn:m}]};const U=_t(n,M),w=s.syncExecuteCommand(le.id,M),{undos:y,redos:T}=n.get(h.SheetInterceptorService).onCommandExecute({id:bt.id,params:M}),p=r.sequenceExecute([...T],s);return w&&p.result&&i.pushUndoRedo({unitID:l,undoMutations:[{id:le.id,params:U},...y],redoMutations:[{id:le.id,params:M},...T]}),!0}},Tt={type:r.CommandType.COMMAND,id:"sheet.command.set-worksheet-col-width",handler:async(n,e)=>{const t=n.get(h.SelectionManagerService),o=n.get(r.ICommandService),s=n.get(r.IUndoRedoService),i=n.get(r.IUniverInstanceService),a=t.getSelectionRanges();if(!(a!=null&&a.length))return!1;const u=i.getCurrentUniverSheetInstance().getUnitId(),l={subUnitId:i.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),unitId:u,ranges:a,colWidth:e.value},d=_t(n,l),m=o.syncExecuteCommand(le.id,l),{undos:g,redos:S}=n.get(h.SheetInterceptorService).onCommandExecute({id:Tt.id,params:l}),v=r.sequenceExecute([...S],o);return m&&v.result?(s.pushUndoRedo({unitID:u,undoMutations:[{id:le.id,params:d},...g],redoMutations:[{id:le.id,params:l},...S]}),!0):!1}},On=(n,e)=>{const o=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance().getSheetBySheetId(e.subUnitId);if(o==null)throw new Error("worksheet is null error!");return{hidden:o.isSheetHidden(),unitId:e.unitId,subUnitId:o.getSheetId()}},he={id:"sheet.mutation.set-worksheet-hidden",type:r.CommandType.MUTATION,handler:(n,e)=>{const t=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(t==null)return!1;const o=t.getSheetBySheetId(e.subUnitId);return o?(o.getConfig().hidden=e.hidden,!0):!1}},kn={type:r.CommandType.COMMAND,id:"sheet.command.set-worksheet-hidden",handler:async(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=n.get(r.ErrorService),a=s.getCurrentUniverSheetInstance().getUnitId();let u=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();e&&(u=e.subUnitId??u);const c=s.getUniverSheetInstance(a);if(!c)return!1;const l=c.getSheetBySheetId(u);if(!l||l.getConfig().hidden===r.BooleanNumber.TRUE)return!1;const m={unitId:a,subUnitId:u,hidden:r.BooleanNumber.TRUE},g=On(n,m);return c.getSheets().filter(f=>f.getConfig().hidden===r.BooleanNumber.FALSE).length===1?(i.emit("No visible sheet after you hide this."),!1):t.syncExecuteCommand(he.id,m)?(o.pushUndoRedo({unitID:a,undoMutations:[{id:he.id,params:g}],redoMutations:[{id:he.id,params:m}]}),!0):!1}},Xo=(n,e)=>{const o=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance().getSheetBySheetId(e.subUnitId);if(o==null)throw new Error("worksheet is null error!");return{unitId:e.unitId,name:o.getName(),subUnitId:o.getSheetId()}},ot={id:"sheet.mutation.set-worksheet-name",type:r.CommandType.MUTATION,handler:(n,e)=>{const t=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(t==null)return!1;const o=t.getSheetBySheetId(e.subUnitId);return o?(o.getConfig().name=e.name,!0):!1}},Dt={type:r.CommandType.COMMAND,id:"sheet.command.set-worksheet-name",handler:async(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=n.get(h.SheetInterceptorService),a=e.unitId||s.getCurrentUniverSheetInstance().getUnitId(),c={subUnitId:e.subUnitId||s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),name:e.name,unitId:a},l=Xo(n,c),d=i.onCommandExecute({id:Dt.id,params:e}),m=[{id:ot.id,params:c},...d.redos],g=[...d.undos,{id:ot.id,params:l}];return await r.sequenceExecute(m,t).result?(o.pushUndoRedo({unitID:a,undoMutations:g,redoMutations:m}),!0):!1}},Zo=(n,e)=>{const s=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId).getConfig().sheetOrder.findIndex(i=>i===e.subUnitId);return{...r.Tools.deepClone(e),order:s}},Fe={id:"sheet.mutation.set-worksheet-order",type:r.CommandType.MUTATION,handler:(n,e)=>{const t=n.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(!t)return!1;const o=t.getConfig(),s=o.sheetOrder.filter(i=>i!==e.subUnitId);return s.splice(e.order,0,e.subUnitId),o.sheetOrder=s,!0}},An={type:r.CommandType.COMMAND,id:"sheet.command.set-worksheet-order",handler:async(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=e.unitId||s.getCurrentUniverSheetInstance().getUnitId(),a=e.subUnitId||s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),u=s.getUniverSheetInstance(i);if(!u||!u.getSheetBySheetId(a))return!1;const l={order:e.order,unitId:i,subUnitId:a},d=Zo(n,l);return t.syncExecuteCommand(Fe.id,l)?(o.pushUndoRedo({unitID:i,undoMutations:[{id:Fe.id,params:d}],redoMutations:[{id:Fe.id,params:l}]}),!0):!1}},Qo=2e3,Pn=(n,e)=>{const{unitId:t,subUnitId:o,ranges:s}=e,a=n.get(r.IUniverInstanceService).getUniverSheetInstance(t),u=a==null?void 0:a.getSheetBySheetId(o);if(u==null)throw new Error("worksheet is null error!");const c={},l=u.getRowManager();for(const{startRow:d,endRow:m}of s)for(let g=d;g<m+1;g++){const S=l.getRowOrCreate(g);c[g]=S.h}return{unitId:t,subUnitId:o,ranges:s,rowHeight:c}},Et=(n,e)=>{const{unitId:t,subUnitId:o,ranges:s}=e,u=n.get(r.IUniverInstanceService).getUniverSheetInstance(t).getSheetBySheetId(o),c={},l=u.getRowManager();for(const{startRow:d,endRow:m}of s)for(let g=d;g<=m;g++){const S=l.getRowOrCreate(g);c[g]=S.isAutoHeight}return{unitId:t,subUnitId:o,ranges:s,autoHeightInfo:c}},es=(n,e)=>{const{unitId:t,subUnitId:o,rowsAutoHeightInfo:s}=e,a=n.get(r.IUniverInstanceService).getUniverSheetInstance(t),u=a==null?void 0:a.getSheetBySheetId(o),c=[],l=u.getRowManager();for(const d of s){const{row:m}=d,{ah:g}=l.getRowOrCreate(m);c.push({row:m,autoHeight:g})}return{unitId:t,subUnitId:o,rowsAutoHeightInfo:c}},me={id:"sheet.mutation.set-worksheet-row-height",type:r.CommandType.MUTATION,handler:(n,e)=>{const{unitId:t,subUnitId:o,ranges:s,rowHeight:i}=e,u=n.get(r.IUniverInstanceService).getUniverSheetInstance(t),c=u==null?void 0:u.getSheetBySheetId(o);if(!c)return!1;const l=c.getConfig().defaultRowHeight,d=c.getRowManager();for(const{startRow:m,endRow:g}of s)for(let S=m;S<=g;S++){const v=d.getRowOrCreate(S);typeof i=="number"?v.h=i:v.h=i[S]??l,v.h=Math.min(Qo,v.h)}return!0}},re={id:"sheet.mutation.set-worksheet-row-is-auto-height",type:r.CommandType.MUTATION,handler:(n,e)=>{const{unitId:t,subUnitId:o,ranges:s,autoHeightInfo:i}=e,u=n.get(r.IUniverInstanceService).getUniverSheetInstance(t),c=u==null?void 0:u.getSheetBySheetId(o);if(!c)return!1;const l=void 0,d=c.getRowManager();for(const{startRow:m,endRow:g}of s)for(let S=m;S<=g;S++){const v=d.getRowOrCreate(S);typeof i=="boolean"?v.isAutoHeight=i:v.isAutoHeight=i[S-m]??l}return!0}},Ot={id:"sheet.mutation.set-worksheet-row-auto-height",type:r.CommandType.MUTATION,handler:(n,e)=>{const{unitId:t,subUnitId:o,rowsAutoHeightInfo:s}=e,a=n.get(r.IUniverInstanceService).getUniverSheetInstance(t),u=a==null?void 0:a.getSheetBySheetId(o);if(!u||!a)return!1;const c=u.getRowManager();for(const{row:l,autoHeight:d}of s){const m=c.getRowOrCreate(l);m.ah=d}return!0}},Nn={type:r.CommandType.COMMAND,id:"sheet.command.delta-row-height",handler:async(n,e)=>{const o=n.get(h.SelectionManagerService).getSelections();if(!(o!=null&&o.length))return!1;const i=n.get(r.IUniverInstanceService).getCurrentUniverSheetInstance(),a=i.getActiveSheet(),u=i.getUnitId(),c=a.getSheetId(),{anchorRow:l,deltaY:d}=e,g=a.getRowHeight(l)+d,S=o.length===1&&o[0].range.rangeType===r.RANGE_TYPE.ALL,v=o.filter(p=>p.range.rangeType===r.RANGE_TYPE.ROW),I=S?r.RANGE_TYPE.ALL:v.some(({range:p})=>{const{startRow:L,endRow:P}=p;return L<=l&&l<=P})?r.RANGE_TYPE.ROW:r.RANGE_TYPE.NORMAL;let f;if(I===r.RANGE_TYPE.ALL){const p=a.getRowCount(),L=new Array(a.getColumnCount()).fill(void 0).map((P,E)=>({startRow:E,endRow:E,startColumn:0,endColumn:p-1}));f={subUnitId:c,unitId:u,rowHeight:g,ranges:L}}else I===r.RANGE_TYPE.ROW?f={subUnitId:c,unitId:u,ranges:v.map(p=>r.Rectangle.clone(p.range)),rowHeight:g}:f={subUnitId:c,unitId:u,rowHeight:g,ranges:[{startRow:l,endRow:l,startColumn:0,endColumn:a.getMaxColumns()-1}]};const C=Pn(n,f),M={unitId:u,subUnitId:c,ranges:f.ranges,autoHeightInfo:!1},U=Et(n,M),w=n.get(r.ICommandService),y=n.get(r.IUndoRedoService);return(await r.sequenceExecute([{id:me.id,params:f},{id:re.id,params:M}],w)).result?(y.pushUndoRedo({unitID:u,undoMutations:[{id:me.id,params:C},{id:re.id,params:U}],redoMutations:[{id:me.id,params:f},{id:re.id,params:M}]}),!0):!1}},Ln={type:r.CommandType.COMMAND,id:"sheet.command.set-row-height",handler:(n,e)=>{const t=n.get(h.SelectionManagerService),o=n.get(r.ICommandService),s=n.get(r.IUndoRedoService),i=n.get(r.IUniverInstanceService),a=t.getSelectionRanges();if(!(a!=null&&a.length))return!1;const u=i.getCurrentUniverSheetInstance(),c=u.getUnitId(),l=u.getActiveSheet().getSheetId(),d={subUnitId:l,unitId:c,ranges:a,rowHeight:e.value},m=Pn(n,d),g={unitId:c,subUnitId:l,ranges:d.ranges,autoHeightInfo:!1},S=Et(n,g);return r.sequenceExecute([{id:me.id,params:d},{id:re.id,params:g}],o).result?(s.pushUndoRedo({unitID:c,undoMutations:[{id:me.id,params:m},{id:re.id,params:S}],redoMutations:[{id:me.id,params:d},{id:re.id,params:g}]}),!0):!1}},kt={type:r.CommandType.COMMAND,id:"sheet.command.set-row-is-auto-height",handler:async(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(h.SelectionManagerService),i=n.get(r.IUniverInstanceService),a=i.getCurrentUniverSheetInstance().getUnitId(),u=i.getCurrentUniverSheetInstance().getActiveSheet(),c=u.getSheetId(),{anchorRow:l}=e??{},d=l!=null?[{startRow:l,endRow:l,startColumn:0,endColumn:u.getMaxColumns()-1}]:s.getSelectionRanges();if(!(d!=null&&d.length))return!1;const m={unitId:a,subUnitId:c,ranges:d,autoHeightInfo:!0},g=Et(n,m),S=t.syncExecuteCommand(re.id,m),{undos:v,redos:I}=n.get(h.SheetInterceptorService).onCommandExecute({id:kt.id,params:m}),f=r.sequenceExecute([...I],t);return S&&f.result?(o.pushUndoRedo({unitID:a,undoMutations:[{id:re.id,params:g},...v],redoMutations:[{id:re.id,params:m},...I]}),!0):!1}},Vn={type:r.CommandType.COMMAND,id:"sheet.command.set-worksheet-show",handler:async(n,e)=>{const t=n.get(r.ICommandService),o=n.get(r.IUndoRedoService),s=n.get(r.IUniverInstanceService),i=s.getCurrentUniverSheetInstance().getUnitId();let a=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();e&&(a=e.value??a);const u=s.getUniverSheetInstance(i);if(!u)return!1;const c=u.getSheetBySheetId(a);if(!c||c.getConfig().hidden===r.BooleanNumber.FALSE)return!1;const d={unitId:i,subUnitId:a,hidden:r.BooleanNumber.FALSE},m=On(n,d),g=t.syncExecuteCommand(he.id,d),S={unitId:i,subUnitId:a},v=t.syncExecuteCommand(He.id,S);return g&&v?(o.pushUndoRedo({unitID:i,undoMutations:[{id:he.id,params:m}],redoMutations:[{id:he.id,params:d}]}),!0):!1}},ts=n=>{const e=new r.ObjectMatrix;return n.forEach(t=>{r.Range.foreach(t,(o,s)=>{e.setValue(o,s,1)})}),e.forValue((t,o)=>{const s=e.getValue(t-1,o);s&&e.setValue(t,o,s+1)}),e},Bn=n=>{const e={area:0},t=(o,s)=>e.area<o?(e.area=o,e.range=s,!0):!1;return n.forValue((o,s,i)=>{let a=1,u=i;t(a*u,{startRow:o-u+1,endRow:o,startColumn:s,endColumn:s});const c={startRow:o-u+1,endRow:o,startColumn:0,endColumn:s};for(let l=s-1;l>=0&&n.getValue(o,l);l--){u=Math.min(n.getValue(o,l)||0,u),a++;const d=u*a;c.startColumn=l,c.startRow=o-u+1,t(d,c)}}),e},ns=(n,e)=>(r.Range.foreach(e,(t,o)=>{n.realDeleteValue(t,o);let s=t+1,i=n.getValue(s,o)||0;for(;i>1;)n.setValue(s,o,i-1),s+=1,i=n.getValue(s,o)||0}),n),os=n=>{const e=[];let t=Bn(n);for(;t.area>0;)t.range&&(e.push(t.range),ns(n,t.range)),t=Bn(n);return e},At=n=>{const e=ts(n);return os(e)},ss=(n,e,t="")=>n.reduce((o,s)=>{const i=s&&s[e];return typeof i!="string"?(console.warn(s,`${e} is not string`),o):(i?(o[i]||(o[i]=[]),o[i].push(s)):o[t].push(s),o)},{}),rs=(n=0)=>{let e=n;return function(){return e++}},we=B.createIdentifier("INumfmtService");r.runOnLifecycle(r.LifecycleStages.Rendered,we);const is=(n,e)=>{const t=n.get(we),{values:o,unitId:s,subUnitId:i}=e,a=[],u=[],c=t.getModel(s,i)||void 0;Object.keys(o).forEach(d=>{o[d].ranges.forEach(g=>{r.Range.foreach(g,(S,v)=>{const I=t.getValue(s,i,S,v,c);I?a.push({pattern:I.pattern,type:I.type,row:S,col:v}):u.push({startColumn:v,endColumn:v,startRow:S,endRow:S})})})});const l=[];if(a){const d=rt(s,i,a);Object.keys(d.values).forEach(m=>{const g=d.values[m];g.ranges=At(g.ranges)}),l.push({id:st.id,params:rt(s,i,a)})}return u&&l.push({id:Pt.id,params:{unitId:s,subUnitId:i,ranges:u}}),l},st={id:"sheet.mutation.set.numfmt",type:r.CommandType.MUTATION,handler:(n,e)=>{if(!e)return!1;const{values:t,refMap:o}=e,s=n.get(we),i=e.unitId,a=e.subUnitId,u=Object.keys(t).reduce((c,l)=>{const d=o[l],m=t[l].ranges;return d&&c.push({...d,ranges:m}),c},[]);return s.setValues(i,a,u),!0}},Pt={id:"sheet.mutation.remove.numfmt",type:r.CommandType.MUTATION,handler:(n,e)=>{if(!e)return!1;const{unitId:t,subUnitId:o,ranges:s}=e;return n.get(we).deleteValues(t,o,s),!0}},as=(n,e)=>{const t=n.get(we),{ranges:o,unitId:s,subUnitId:i}=e,a=[],u=t.getModel(s,i)||void 0;o.forEach(l=>{r.Range.foreach(l,(d,m)=>{const g=t.getValue(s,i,d,m,u);g&&a.push({pattern:g.pattern,type:g.type,row:d,col:m})})});const c=rt(s,i,a);return Object.keys(c.values).forEach(l=>{const d=c.values[l];d.ranges=At(d.ranges)}),[{id:st.id,params:c}]},rt=(n,e,t)=>{const o=ss(t,"pattern"),s={},i={},a=rs();return Object.keys(o).forEach(u=>{const c=o[u],l=c[0],d=a();s[d]={pattern:u,type:l.type},c.forEach(m=>{i[d]||(i[d]={ranges:[]}),i[d].ranges.push(us(m.row,m.col))})}),{unitId:n,subUnitId:e,refMap:s,values:i}},us=(n,e)=>({startRow:n,endRow:n,startColumn:e,endColumn:e}),Wn="maxCellsPerSheet",cs=3e6;var ds=Object.defineProperty,ls=Object.getOwnPropertyDescriptor,ms=(n,e,t,o)=>{for(var s=o>1?void 0:o?ls(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(o?a(e,t,s):a(s))||s);return o&&s&&ds(e,t,s),s},jn=(n,e)=>(t,o)=>e(t,o,n);let it=class extends r.Disposable{constructor(n,e){super(),this._commandService=n,this._configService=e,[W,ze,vt,Ge,Gt,Ke,xe,ee,bt,Nn,nn,tn,be,fe,Je,Xe,te,Qt,Zt,_e,Ie,on,Se,Rt,Be,Qe,Le,Ct,Ve,tt,Re,et,Ce,Mt,Ne,dn,j,Un,pn,yn,ln,hn,Te,mn,gn,Sn,De,Ee,Tt,jo,fn,ge,bn,We,Y,Ln,Rn,ke,Oe,vn,Cn,wt,yt,K,En,je,wn,Dn,Tn,_n,Ut,He,le,kn,he,Dt,ot,An,Fe,Ot,me,kt,re,Vn,st,q,Pt].forEach(t=>this.disposeWithMe(this._commandService.registerCommand(t))),this._configService.setConfig(Wn,cs)}};it=ms([r.OnLifecycle(r.LifecycleStages.Starting,it),jn(0,r.ICommandService),jn(1,r.IConfigService)],it);var gs=Object.defineProperty,hs=Object.getOwnPropertyDescriptor,vs=(n,e,t,o)=>{for(var s=o>1?void 0:o?hs(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(o?a(e,t,s):a(s))||s);return o&&s&&gs(e,t,s),s},Ss=(n,e)=>(t,o)=>e(t,o,n);let at=class extends r.Disposable{constructor(n){super(),this._commandService=n,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id!==ht.SetFormulaCalculationResultMutation.id)return;const e=n.params,{unitData:t,unitOtherData:o}=e,s=Object.keys(t),i=[];return s.forEach(u=>{const c=t[u];if(c==null)return!0;Object.keys(c).forEach(d=>{const m=c[d];if(m==null)return!0;const g={subUnitId:d,unitId:u,cellValue:m.getData()};i.push({id:Y.id,params:g})})}),i.every(u=>this._commandService.executeCommand(u.id,u.params,{onlyLocal:!0}))}))}};at=vs([r.OnLifecycle(r.LifecycleStages.Ready,at),Ss(0,r.ICommandService)],at);var Is=Object.defineProperty,fs=Object.getOwnPropertyDescriptor,Cs=(n,e,t,o)=>{for(var s=o>1?void 0:o?fs(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(o?a(e,t,s):a(s))||s);return o&&s&&Is(e,t,s),s},ut=(n,e)=>(t,o)=>e(t,o,n);let ct=class extends r.Disposable{constructor(n,e,t,o){super(),this._commandService=n,this._featureCalculationManagerService=e,this._currentUniverService=t,this._formulaDataModel=o,this._initialize()}_initialize(){const n="test",e="workbook-01",t="sheet-0011",o={[e]:{[t]:new r.ObjectMatrix({4:{0:{v:10,t:2}}})}},s={[e]:{[t]:[{startRow:4,startColumn:0,endRow:4,endColumn:0}]}};this._featureCalculationManagerService.register(n,{unitId:e,subUnitId:t,dependencyRanges:[{unitId:e,sheetId:t,range:{startRow:0,endRow:3,startColumn:0,endColumn:3}}],getDirtyData:()=>({runtimeCellData:o,dirtyRanges:s})})}};ct=Cs([r.OnLifecycle(r.LifecycleStages.Ready,ct),ut(0,r.ICommandService),ut(1,ht.IFeatureCalculationManagerService),ut(2,r.IUniverInstanceService),ut(3,B.Inject(ht.FormulaDataModel))],ct);const X={MoveRangeCommandId:sn,InsertRowCommandId:Xt,InsertColCommandId:en,RemoveColCommandId:cn,RemoveRowCommandId:un,DeleteRangeMoveLeftCommandId:Kt,DeleteRangeMoveUpCommandId:xt,InsertRangeMoveDownCommandId:Eo,InsertRangeMoveRightCommandId:Jt,MoveColsCommandId:an,MoveRowsCommandId:rn};var A=(n=>(n[n.Set=0]="Set",n[n.Delete=1]="Delete",n[n.HorizontalMove=2]="HorizontalMove",n[n.VerticalMove=3]="VerticalMove",n[n.Unknown=4]="Unknown",n))(A||{}),Rs=Object.defineProperty,Ms=Object.getOwnPropertyDescriptor,ws=(n,e,t,o)=>{for(var s=o>1?void 0:o?Ms(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(o?a(e,t,s):a(s))||s);return o&&s&&Rs(e,t,s),s},Nt=(n,e)=>(t,o)=>e(t,o,n);const ps=r.createInterceptorKey("MERGE_REDO"),ys=r.createInterceptorKey("MERGE_UNDO");h.RefRangeService=class extends r.Disposable{constructor(t,o,s){super();V(this,"interceptor",new r.InterceptorManager({MERGE_REDO:ps,MERGE_UNDO:ys}));V(this,"_refRangeManagerMap",new Map);V(this,"_serializer",Us());V(this,"_onRefRangeChange",()=>{this._sheetInterceptorService.interceptCommand({getMutations:t=>{const o=this._univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(),s=Hn(this._univerInstanceService),i=Fn(this._univerInstanceService),c=((()=>{switch(t.id){case X.MoveColsCommandId:{const m=t.params,g=Math.min(m.fromRange.startColumn,m.toRange.startColumn);return this._checkRange([{...m.fromRange,startColumn:g,endColumn:o.getColumnCount()-1}],s,i)}case X.MoveRowsCommandId:{const m=t.params,g=Math.min(m.fromRange.startRow,m.toRange.startRow);return this._checkRange([{...m.fromRange,startRow:g,endRow:o.getRowCount()-1}],s,i)}case X.MoveRangeCommandId:{const m=t;return this._checkRange([m.params.fromRange,m.params.toRange],s,i)}case X.InsertRowCommandId:{const S={startRow:t.params.range.startRow,endRow:o.getRowCount()-1,startColumn:0,endColumn:o.getColumnCount()-1};return this._checkRange([S],s,i)}case X.InsertColCommandId:{const g=t.params.range.startColumn,S={startRow:0,endRow:o.getRowCount()-1,startColumn:g,endColumn:o.getColumnCount()-1};return this._checkRange([S],s,i)}case X.RemoveRowCommandId:{const S={startRow:t.params.range.startRow,endRow:o.getRowCount()-1,startColumn:0,endColumn:o.getColumnCount()-1};return this._checkRange([S],s,i)}case X.RemoveColCommandId:{const g=t.params.range.startColumn,S={startRow:0,endRow:o.getRowCount()-1,startColumn:g,endColumn:o.getColumnCount()-1};return this._checkRange([S],s,i)}case X.DeleteRangeMoveUpCommandId:case X.InsertRangeMoveDownCommandId:{const g=t.params.range||$n(this._selectionManagerService)[0],S={startRow:g.startRow,startColumn:g.startColumn,endColumn:g.endColumn,endRow:o.getRowCount()-1};return this._checkRange([S],s,i)}case X.DeleteRangeMoveLeftCommandId:case X.InsertRangeMoveRightCommandId:{const g=t.params.range||$n(this._selectionManagerService)[0],S={startRow:g.startRow,startColumn:g.startColumn,endColumn:o.getColumnCount()-1,endRow:g.endRow};return this._checkRange([S],s,i)}}})()||[]).reduce((m,g)=>{const S=g(t);return m.push(S),m},[]).reduce((m,g)=>(m.redos.push(...g.redos),m.undos.push(...g.undos),m),{redos:[],undos:[]}),l=this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_REDO)(c.redos,null)||[],d=this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_UNDO)(c.undos,null)||[];return{redos:l,undos:d}}})});V(this,"_checkRange",(t,o,s)=>{const i=zn(o,s),a=this._refRangeManagerMap.get(i);if(a){const u=new Set;return[...a.keys()].forEach(l=>{const d=a.get(l),m=this._serializer.deserialize(l);t.some(g=>r.Rectangle.intersects(g,m))&&d&&d.forEach(g=>{u.add(g)})}),[...u]}return[]});V(this,"registerRefRange",(t,o,s,i)=>{const a=s||Hn(this._univerInstanceService),u=i||Fn(this._univerInstanceService),c=zn(a,u),l=this._serializer.serialize(t);let d=this._refRangeManagerMap.get(c);d||(d=new Map,this._refRangeManagerMap.set(c,d));const m=d.get(l);return m?m.add(o):d.set(l,new Set([o])),r.toDisposable(()=>{const g=d.get(l);g&&(g.delete(o),g.size||(d.delete(l),d.size||this._refRangeManagerMap.delete(c)))})});this._sheetInterceptorService=t,this._univerInstanceService=o,this._selectionManagerService=s,this._onRefRangeChange(),this.interceptor.intercept(this.interceptor.getInterceptPoints().MERGE_REDO,{priority:-1,handler:i=>i}),this.interceptor.intercept(this.interceptor.getInterceptPoints().MERGE_UNDO,{priority:-1,handler:i=>i})}},h.RefRangeService=ws([r.OnLifecycle(r.LifecycleStages.Steady,h.RefRangeService),Nt(0,B.Inject(h.SheetInterceptorService)),Nt(1,B.Inject(r.IUniverInstanceService)),Nt(2,B.Inject(h.SelectionManagerService))],h.RefRangeService);function Hn(n){return n.getCurrentUniverSheetInstance().getUnitId()}function Fn(n){return n.getCurrentUniverSheetInstance().getActiveSheet().getSheetId()}function $n(n){return n.getSelectionRanges()||[]}function zn(n,e){return`${n}_${e}`}function Us(){const n=["startRow","startColumn","endRow","endColumn","rangeType"],e="_";return{deserialize:t=>{const o=n.reduce((i,a,u)=>(i[String(u)]=a,i),{});return t.split(e).reduce((i,a,u)=>{const c=String(u);return a&&o[c]&&(i[o[c]]=a),i},{})},serialize:t=>n.reduce((o,s,i)=>{const a=t[s];return a!==void 0?`${o}${i>0?e:""}${a}`:`${o}`},"")}}const Ae=Number.MAX_SAFE_INTEGER,Gn=(n,e,t)=>{const o={...t},s={...e},i=(v,I)=>{const f=Math.max(v.start,I.start),C=Math.min(v.end,I.end);return C<f?null:{start:f,end:C}},a=v=>v.end-v.start+1,u=(v,I)=>({start:v.start-I.start,end:v.start-I.start+v.end-v.start}),c=(v,I)=>({start:I.start+v.start,end:I.start+v.start+v.end-v.start});if(e.start>n.start){const v=Math.min(n.end,e.start)-n.start+1;s.start-=v,s.end-=v}const l=a(n),d=l,m=i(n,o),g=m&&a(m)<=a(o);if(n.end<o.start)o.start-=l,o.end-=l;else if(m){const v=a(m);if(g){const I=u(o,n),f=c(I,s);o.start=f.start,o.end=f.end}else m.start>n.start?o.end-=v:(o.start-=l,o.start-=l+v)}const S=i(s,o);if(s.start<=o.start&&!g)o.start+=d,o.end+=d;else if(S){const v=s.start;if(a(S)<=a(o))return o.start-t.start;v<o.start?(o.start+=d,o.end+=d):v>=o.start&&v<=o.end&&(o.end+=d,o.start+=d)}return o.start-t.start},qn=(n,e)=>{const{fromRange:t,toRange:o}=n.params||{};if(!o||!t)return[];const s=Gn({start:t.startRow,end:t.endRow},{start:o.startRow,end:o.endRow},{start:e.startRow,end:e.endRow});return s===null?[{type:A.Delete}]:[{type:A.VerticalMove,step:s||0}]},Yn=(n,e)=>{const{fromRange:t,toRange:o}=n.params||{};if(!o||!t)return[];const s=Gn({start:t.startColumn,end:t.endColumn},{start:o.startColumn,end:o.endColumn},{start:e.startColumn,end:e.endColumn});return s===null?[{type:A.Delete}]:[{type:A.HorizontalMove,step:s||0}]},_s=(n,e)=>{var i,a;const t=(i=n.params)==null?void 0:i.toRange,o=(a=n.params)==null?void 0:a.fromRange;if(!t||!o)return[];const s=[];if(r.Rectangle.intersects(o,e)){if(s.push({type:A.Delete}),r.Rectangle.contains(o,e)){const u=r.Rectangle.getRelativeRange(e,o),c=r.Rectangle.getPositionRange(u,t);return[{type:A.Set,range:c}]}}else r.Rectangle.intersects(t,e)&&s.push({type:A.Delete});return s},bs=(n,e)=>{var s;const t=(s=n.params)==null?void 0:s.range;if(!t)return[];const o=[];if(t.endColumn<e.startColumn){const i={type:A.HorizontalMove,step:-(t.endColumn-t.startColumn+1)};o.push(i)}else{if(t.startColumn<=e.startColumn&&t.endColumn>=e.endColumn||t.startColumn>=e.startColumn&&t.endColumn<=e.endColumn)return[{type:A.Delete}];if(t.startColumn<=e.startColumn&&t.endColumn>=e.startColumn&&t.endColumn<=e.endColumn){const i={type:A.HorizontalMove,step:-(e.startColumn-t.startColumn),length:-(t.endColumn-e.startColumn+1)};o.push(i)}else if(t.startColumn>=e.startColumn&&t.startColumn<=e.endColumn&&t.endColumn>=e.endColumn){const i={type:A.HorizontalMove,step:0,length:-(e.endColumn-t.startColumn+1)};o.push(i)}}return o},Ts=(n,e)=>{var s;const t=(s=n.params)==null?void 0:s.range;if(!t)return[];const o=[];if(t.endRow<e.startRow){const i={type:A.VerticalMove,step:-(t.endRow-t.startRow+1)};o.push(i)}else{if(t.startRow<=e.startRow&&t.endRow>=e.endRow||t.startRow>=e.startRow&&t.endRow<=e.endRow)return[{type:A.Delete}];if(t.startRow<=e.startRow&&t.endRow>=e.startRow&&t.endRow<=e.endRow){const i={type:A.VerticalMove,step:-(e.startRow-t.startRow),length:-(t.endRow-e.startRow+1)};o.push(i)}else if(t.startRow>=e.startRow&&t.startRow<=e.endRow&&t.endRow>=e.endRow){const i={type:A.VerticalMove,step:0,length:-(e.endRow-t.startRow+1)};o.push(i)}}return o},Ds=(n,e)=>{var o;const t=(o=n.params)==null?void 0:o.range;return t?t.endRow<=e.startRow||t.startRow<=e.startRow&&t.endRow>=e.endRow?[{type:A.VerticalMove,step:t.endRow-t.startRow+1}]:t.startRow>=e.startRow&&t.endRow<=e.endRow?[{type:A.VerticalMove,step:0,length:t.endRow-t.startRow+1}]:r.Rectangle.intersects({...t,endRow:Ae},e)?[{type:A.Delete}]:[]:[]},Es=(n,e)=>{var o;const t=(o=n.params)==null?void 0:o.range;return t?t.endColumn<e.startColumn||t.startColumn<=e.startColumn&&t.endColumn>=e.endColumn?[{type:A.HorizontalMove,step:t.endColumn-t.startColumn+1}]:t.startColumn>=e.startColumn&&t.endColumn<=e.endColumn?[{type:A.HorizontalMove,step:0,length:t.endColumn-t.startColumn+1}]:r.Rectangle.intersects({...t,endColumn:Ae},e)?[{type:A.Delete}]:[]:[]},Os=(n,e)=>{var o;const t=(o=n.params)==null?void 0:o.range;return t?t.startColumn<=e.startColumn&&t.endColumn>=e.endColumn&&t.endRow<=e.startRow&&t.startRow<=e.startRow?[{type:A.VerticalMove,step:t.endRow-t.startRow+1}]:r.Rectangle.intersects({...t,endRow:Ae},e)?[{type:A.Delete}]:[]:[]},ks=(n,e)=>{var o;const t=(o=n.params)==null?void 0:o.range;return t?t.startRow<=e.startRow&&t.endRow>=e.endRow&&t.startColumn<=e.startColumn?[{type:A.HorizontalMove,step:t.endColumn-t.startColumn+1}]:r.Rectangle.intersects({...t,endColumn:Ae},e)?[{type:A.Delete}]:[]:[]},As=(n,e)=>{var o;const t=(o=n.params)==null?void 0:o.range;return t?t.startRow<=e.startRow&&t.endRow>=e.endRow&&t.endColumn<e.startColumn?[{type:A.HorizontalMove,step:-(t.endColumn-t.startColumn+1)}]:r.Rectangle.intersects({...t,endColumn:Ae},e)?[{type:A.Delete}]:[]:[]},Ps=(n,e)=>{var o;const t=(o=n.params)==null?void 0:o.range;return t?t.startColumn<=e.startColumn&&t.endColumn>=e.endColumn&&t.endRow<e.startRow?[{type:A.VerticalMove,step:-(t.endRow-t.startRow+1)}]:r.Rectangle.intersects({...t,endRow:Ae},e)?[{type:A.Delete}]:[]:[]},Lt=(n,e)=>{let t={...e};return n.forEach(o=>{switch(o.type){case A.Delete:{t=null;break}case A.HorizontalMove:{if(!t)return;t.startColumn+=o.step,t.endColumn+=o.step+(o.length||0);break}case A.VerticalMove:{if(!t)return;t.startRow+=o.step,t.endRow+=o.step+(o.length||0);break}case A.Set:{t=o.range;break}}}),t&&(t.endColumn<t.startColumn||t.endRow<t.startRow)?null:t};var Ns=Object.defineProperty,Ls=Object.getOwnPropertyDescriptor,Vs=(n,e,t,o)=>{for(var s=o>1?void 0:o?Ls(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(o?a(e,t,s):a(s))||s);return o&&s&&Ns(e,t,s),s},Pe=(n,e)=>(t,o)=>e(t,o,n);function Kn(n,e){let t=n;if(e!==void 0){const o=[];for(let s=0;s<t.length;s++){const{startRow:i,endRow:a,startColumn:u,endColumn:c}=t[s];if(e===r.Dimension.ROWS)for(let l=i;l<=a;l++){const d={startRow:l,endRow:l,startColumn:u,endColumn:c};o.push(d)}else if(e===r.Dimension.COLUMNS)for(let l=u;l<=c;l++){const d={startRow:i,endRow:a,startColumn:l,endColumn:l};o.push(d)}}t=o}return t}let dt=class extends r.Disposable{constructor(n,e,t,o,s,i){super(),this._commandService=n,this._refRangeService=e,this._univerInstanceService=t,this._injector=o,this._sheetInterceptorService=s,this._selectionManagerService=i,this._onRefRangeChange(),this._initCommandInterceptor()}_initCommandInterceptor(){const n=this;this._sheetInterceptorService.interceptCommand({getMutations(e){switch(e.id){case ze.id:case Ge.id:{const t=n._univerInstanceService.getCurrentUniverSheetInstance(),o=t.getUnitId(),s=t.getActiveSheet(),i=s.getSheetId(),a=s.getConfig().mergeData,u=n._selectionManagerService.getSelectionRanges();if(u&&u.length>0&&u.some(l=>a.some(d=>r.Rectangle.intersects(d,l)))){const l={unitId:o,subUnitId:i,ranges:u},d=oe(n._injector,l),m=[{id:j.id,params:l}],g=[{id:W.id,params:d}];return{redos:m,undos:g}}}}return{redos:[],undos:[]}}})}_onRefRangeChange(){const n=new r.DisposableCollection,e=(s,i)=>{const a=this._univerInstanceService.getUniverSheetInstance(s);if(!a)return;const u=a==null?void 0:a.getSheetBySheetId(i);if(!u)return;n.dispose();const c=u.getMergeData(),l=d=>{switch(d.id){case Qe.id:{const m=d.params;return this._handleMoveRangeCommand(m,s,i)}case _e.id:{const m=d.params,g=m.unitId||s,S=m.subUnitId||i;return this._handleInsertRowCommand(m,g,S)}case be.id:{const m=d.params,g=m.unitId||s,S=m.subUnitId||i;return this._handleInsertColCommand(m,g,S)}case tt.id:{const m=d.params;return this._handleRemoveColCommand(m,s,i)}case et.id:{const m=d.params;return this._handleRemoveRowCommand(m,s,i)}case Xe.id:{const m=d.params;return this._handleInsertRangeMoveRightCommand(m,s,i)}case Je.id:{const m=d.params;return this._handleInsertRangeMoveDownCommand(m,s,i)}case xe.id:{const m=d.params;return this._handleDeleteRangeMoveUpCommand(m,s,i)}case Ke.id:{const m=d.params;return this._handleDeleteRangeMoveLeftCommand(m,s,i)}case X.MoveColsCommandId:{const m=d.params;return this._handleMoveColsCommand(m,s,i)}case X.MoveRowsCommandId:{const m=d.params;return this._handleMoveRowsCommand(m,s,i)}}return{redos:[],undos:[]}};c.forEach(d=>{n.add(this._refRangeService.registerRefRange(d,l,s,i))})};this.disposeWithMe(this._commandService.onCommandExecuted(s=>{if(s.id===Ut.id){const i=s.params,a=i.subUnitId,u=i.unitId;if(!a||!u)return;e(u,a)}if(s.id===W.id){const i=s.params,a=i.subUnitId,u=i.unitId;if(!a||!u)return;e(i.unitId,i.subUnitId)}}));const t=this._univerInstanceService.getCurrentUniverSheetInstance(),o=t.getActiveSheet();e(t.getUnitId(),o.getSheetId())}_handleMoveRowsCommand(n,e,t){const o=ce(this._univerInstanceService,e);if(!o)return this._handleNull();const s=de(o,t);if(!s)return this._handleNull();const i=[...s.getMergeData()],a={unitId:e,subUnitId:t,ranges:i},u={unitId:e,subUnitId:t,ranges:[]};i.forEach(d=>{const m=qn({id:X.MoveRowsCommandId,params:n},d),g=Lt(m,d);g&&u.ranges.push(g)});const c=oe(this._injector,a),l=ue(this._injector,u);return{redos:[{id:j.id,params:a},{id:W.id,params:u}],undos:[{id:j.id,params:l},{id:W.id,params:c}]}}_handleMoveColsCommand(n,e,t){const o=ce(this._univerInstanceService,e);if(!o)return this._handleNull();const s=de(o,t);if(!s)return this._handleNull();const i=[...s.getMergeData()],a={unitId:e,subUnitId:t,ranges:i},u={unitId:e,subUnitId:t,ranges:[]};i.forEach(d=>{const m=Yn({id:X.MoveColsCommandId,params:n},d),g=Lt(m,d);g&&u.ranges.push(g)});const c=oe(this._injector,a),l=ue(this._injector,u);return{redos:[{id:j.id,params:a},{id:W.id,params:u}],undos:[{id:j.id,params:l},{id:W.id,params:c}]}}_handleMoveRangeCommand(n,e,t){const o=ce(this._univerInstanceService,e);if(!o)return this._handleNull();const s=de(o,t);if(!s)return this._handleNull();const i=s.getMergeData(),a=i.filter(g=>r.Rectangle.intersects(g,n.fromRange)),u=i.filter(g=>r.Rectangle.intersects(g,n.toRange)),c=a.map(g=>r.Rectangle.getRelativeRange(g,n.fromRange)).map(g=>r.Rectangle.getPositionRange(g,n.toRange)),l=Kn(c).filter(g=>!i.some(S=>r.Rectangle.equals(g,S))),d=[{id:j.id,params:{unitId:e,subUnitId:t,ranges:a}},{id:j.id,params:{unitId:e,subUnitId:t,ranges:u}},{id:W.id,params:{unitId:e,subUnitId:t,ranges:l}}],m=[{id:j.id,params:{unitId:e,subUnitId:t,ranges:l}},{id:W.id,params:{unitId:e,subUnitId:t,ranges:u}},{id:W.id,params:{unitId:e,subUnitId:t,ranges:a}}];return{redos:d,undos:m}}_handleInsertRowCommand(n,e,t){const o=ce(this._univerInstanceService,e);if(!o)return this._handleNull();const s=de(o,t);if(!s)return this._handleNull();const{range:i}=n,{startRow:a,endRow:u}=i,c=r.Tools.deepClone(s.getMergeData()),l=r.Tools.deepClone(s.getMergeData()).map(f=>{const C=u-a+1;return a>f.endRow?f:a<=f.startRow?r.Rectangle.moveVertical(f,C):(f.endRow+=C,f)}),d={unitId:e,subUnitId:t,ranges:c},m=oe(this._injector,d),g={unitId:e,subUnitId:t,ranges:l},S=ue(this._injector,g),v=[{id:j.id,params:d},{id:W.id,params:g}],I=[{id:j.id,params:S},{id:W.id,params:m}];return{redos:v,undos:I}}_handleInsertColCommand(n,e,t){const{range:o}=n,s=ce(this._univerInstanceService,e);if(!s)return this._handleNull();const i=de(s,t);if(!i)return this._handleNull();const{startColumn:a,endColumn:u}=o,c=r.Tools.deepClone(i.getMergeData()),l=r.Tools.deepClone(i.getMergeData()).map(f=>{const C=u-a+1;return a>f.endColumn?f:a<=f.startColumn?r.Rectangle.moveHorizontal(f,C):(f.endColumn+=C,f)}),d={unitId:e,subUnitId:t,ranges:c},m=oe(this._injector,d),g={unitId:e,subUnitId:t,ranges:l},S=ue(this._injector,g),v=[{id:j.id,params:d},{id:W.id,params:g}],I=[{id:j.id,params:S},{id:W.id,params:m}];return{redos:v,undos:I}}_handleRemoveColCommand(n,e,t){const o=ce(this._univerInstanceService,e);if(!o)return this._handleNull();const s=de(o,t);if(!s)return this._handleNull();const{range:i}=n,a=r.Tools.deepClone(s.getMergeData());for(let S=0;S<a.length;S++){const v=a[S],{startColumn:I,endColumn:f}=v,C=f-I+1,{startColumn:M,endColumn:U}=i,w=U-M+1;if(U<v.startColumn)v.startColumn-=w,v.endColumn-=w;else{if(M>v.endColumn)continue;if(M<=v.startColumn&&U>=v.endColumn)a.splice(S,1),S--;else{const y=r.Rectangle.getIntersects(i,v);y.endColumn-y.startColumn+1===C-1?(a.splice(S,1),S--):v.endColumn-=y.endColumn-y.startColumn+1}}}const u={unitId:e,subUnitId:t,ranges:r.Tools.deepClone(s.getMergeData())},c=oe(this._injector,u),l={unitId:e,subUnitId:t,ranges:a},d=ue(this._injector,l),m=[{id:j.id,params:u},{id:W.id,params:l}],g=[{id:j.id,params:d},{id:W.id,params:c}];return{redos:m,undos:g}}_handleRemoveRowCommand(n,e,t){const{range:o}=n,s=ce(this._univerInstanceService,e);if(!s)return this._handleNull();const i=de(s,t);if(!i)return this._handleNull();const a=r.Tools.deepClone(i.getMergeData());for(let S=0;S<a.length;S++){const v=a[S],{startRow:I,endRow:f}=v,C=f-I+1,{startRow:M,endRow:U}=o,w=U-M+1;if(U<I)v.startRow-=w,v.endRow-=w;else{if(M>f)continue;if(M<=I&&U>=f)a.splice(S,1),S--;else{const y=r.Rectangle.getIntersects(o,v);y.endRow-y.startRow+1===C-1?(a.splice(S,1),S--):v.endRow-=y.endRow-y.startRow+1}}}const u={unitId:e,subUnitId:t,ranges:r.Tools.deepClone(i.getMergeData())},c=oe(this._injector,u),l={unitId:e,subUnitId:t,ranges:a},d=ue(this._injector,l),m=[{id:j.id,params:u},{id:W.id,params:l}],g=[{id:j.id,params:d},{id:W.id,params:c}];return{redos:m,undos:g}}_handleInsertRangeMoveRightCommand(n,e,t){const o=ce(this._univerInstanceService,e);if(!o)return this._handleNull();const s=de(o,t);if(!s)return this._handleNull();const i=n.range,a=s.getMaxColumns()-1,u=s.getMergeData(),c=[],l=[];u.forEach(v=>{const{startRow:I,endRow:f,startColumn:C,endColumn:M}=i;if(r.Rectangle.intersects({startRow:I,startColumn:C,endRow:f,endColumn:a},v)&&(c.push(v),r.Rectangle.contains({startRow:I,startColumn:C,endRow:f,endColumn:a},v))){const y=M-C+1;l.push({startRow:v.startRow,startColumn:v.startColumn+y,endRow:v.endRow,endColumn:v.endColumn+y})}});const d={unitId:e,subUnitId:t,ranges:c},m=oe(this._injector,d),g={unitId:e,subUnitId:t,ranges:l},S=ue(this._injector,g);return{redos:[{id:j.id,params:d},{id:W.id,params:g}],undos:[{id:W.id,params:m},{id:j.id,params:S}]}}_handleInsertRangeMoveDownCommand(n,e,t){const o=ce(this._univerInstanceService,e);if(!o)return this._handleNull();const s=de(o,t);if(!s)return this._handleNull();const i=n.range,a=s.getMaxRows()-1,u=s.getMergeData(),c=[],l=[];u.forEach(f=>{const{startRow:C,startColumn:M,endColumn:U,endRow:w}=i;if(r.Rectangle.intersects({startRow:C,startColumn:M,endRow:a,endColumn:U},f)&&(c.push(f),r.Rectangle.contains({startRow:C,startColumn:M,endRow:a,endColumn:U},f))){const p=w-C+1;l.push({startRow:f.startRow+p,startColumn:f.startColumn,endRow:f.endRow+p,endColumn:f.endColumn})}});const d={unitId:e,subUnitId:t,ranges:c},m=oe(this._injector,d),g={unitId:e,subUnitId:t,ranges:l},S=ue(this._injector,g),v=[{id:j.id,params:d},{id:W.id,params:g}],I=[{id:W.id,params:m},{id:j.id,params:S}];return{redos:v,undos:I}}_handleDeleteRangeMoveUpCommand(n,e,t){const o=ce(this._univerInstanceService,e);if(!o)return this._handleNull();const s=de(o,t);if(!s)return this._handleNull();const i=n.range,a=s.getMaxRows()-1,u=s.getMergeData(),c=[],l=[];u.forEach(f=>{const{startRow:C,startColumn:M,endColumn:U,endRow:w}=i;if(r.Rectangle.intersects({startRow:C,startColumn:M,endRow:a,endColumn:U},f)&&(c.push(f),r.Rectangle.contains({startRow:C,startColumn:M,endRow:a,endColumn:U},f))){const p=w-C+1,L=r.Rectangle.moveVertical(f,-p);l.push(L)}});const d={unitId:e,subUnitId:t,ranges:c},m=oe(this._injector,d),g={unitId:e,subUnitId:t,ranges:l},S=ue(this._injector,g),v=[{id:j.id,params:d},{id:W.id,params:g}],I=[{id:W.id,params:m},{id:j.id,params:S}];return{redos:v,undos:I}}_handleDeleteRangeMoveLeftCommand(n,e,t){const o=ce(this._univerInstanceService,e);if(!o)return this._handleNull();const s=de(o,t);if(!s)return this._handleNull();const i=n.range,a=s.getMaxColumns()-1,u=s.getMergeData(),c=[],l=[];u.forEach(v=>{const{startRow:I,endRow:f,startColumn:C,endColumn:M}=i;if(r.Rectangle.intersects({startRow:I,startColumn:C,endRow:f,endColumn:a},v)&&(c.push(v),r.Rectangle.contains({startRow:I,startColumn:C,endRow:f,endColumn:a},v))){const y=M-C+1;l.push({startRow:v.startRow,startColumn:v.startColumn-y,endRow:v.endRow,endColumn:v.endColumn-y})}});const d={unitId:e,subUnitId:t,ranges:c},m=oe(this._injector,d),g={unitId:e,subUnitId:t,ranges:l},S=ue(this._injector,g);return{redos:[{id:j.id,params:d},{id:W.id,params:g}],undos:[{id:W.id,params:m},{id:j.id,params:S}]}}_handleNull(){return{redos:[],undos:[]}}};dt=Vs([r.OnLifecycle(r.LifecycleStages.Steady,dt),Pe(0,B.Inject(r.ICommandService)),Pe(1,B.Inject(h.RefRangeService)),Pe(2,B.Inject(r.IUniverInstanceService)),Pe(3,B.Inject(B.Injector)),Pe(4,B.Inject(h.SheetInterceptorService)),Pe(5,B.Inject(h.SelectionManagerService))],dt);function ce(n,e){return e?n.getUniverSheetInstance(e):n.getCurrentUniverSheetInstance()}function de(n,e){return e?n.getSheetBySheetId(e):n.getActiveSheet()}const Bs={sheets:{sheetCopy:"(Copy)",sheet:"Sheet"}},xn={sheets:{sheetCopy:"(副本)",sheet:"工作表"}};var Ws=Object.defineProperty,js=Object.getOwnPropertyDescriptor,Hs=(n,e,t,o)=>{for(var s=o>1?void 0:o?js(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(o?a(e,t,s):a(s))||s);return o&&s&&Ws(e,t,s),s},lt=(n,e)=>(t,o)=>e(t,o,n);const Jn="SHEET_NUMFMT_PLUGIN";let mt=class extends r.Disposable{constructor(e,t,o,s){super();V(this,"_numfmtModel",new Map);V(this,"_refAliasModel",new Map);V(this,"_modelReplace$",new ye.Subject);V(this,"modelReplace$",this._modelReplace$.asObservable());this._commandService=e,this._resourceManagerService=t,this._univerInstanceService=o,this._logService=s,this._initModel(),this.disposeWithMe(r.toDisposable(()=>{this._numfmtModel.clear(),this._refAliasModel.clear()}))}_initModel(){const e=o=>{const s=o.getUnitId();this.disposeWithMe(this._resourceManagerService.registerPluginResource(s,Jn,{toJson:i=>this._toJson(i),parseJson:i=>this._parseJson(i),onChange:(i,a)=>{const{model:u,refModel:c}=a;if(u){const l=Object.keys(u).reduce((d,m)=>(d.set(m,new r.ObjectMatrix(u[m])),d),new Map);this._numfmtModel.set(i,l)}c&&this._refAliasModel.set(i,new r.RefAlias(c,["pattern","i"])),this._modelReplace$.next(i)}}))};this.disposeWithMe(r.toDisposable(this._univerInstanceService.sheetAdded$.subscribe(e))),this.disposeWithMe(r.toDisposable(this._univerInstanceService.sheetDisposed$.subscribe(o=>{const s=o.getUnitId();this._numfmtModel.get(s)&&this._numfmtModel.delete(s),this._refAliasModel.get(s)&&this._refAliasModel.delete(s),this._resourceManagerService.disposePluginResource(s,Jn)})));const t=this._univerInstanceService.getCurrentUniverSheetInstance();e(t)}_toJson(e){const t=this._numfmtModel.get(e),o=this._refAliasModel.get(e);if(!t||!o)return"";const s=[...t.keys()].reduce((u,c)=>{const l=t.get(c);return u[c]=l.toJSON(),u},{}),i=o.getValues().filter(u=>u.count>0);return JSON.stringify({model:s,refModel:i})}_parseJson(e){try{return JSON.parse(e)}catch{return{model:{},refModel:[]}}}_setValue(e,t,o,s,i){let a=this.getModel(e,t);if(!a){const u=this._numfmtModel.get(e)||new Map,c=u.get(t)||new r.ObjectMatrix;u.set(t,c),this._numfmtModel.set(e,u),a=c}if(i)a.setValue(o,s,i);else if(a.realDeleteValue(o,s),!a.getSizeOf()){const c=this._numfmtModel.get(e);c==null||c.delete(t)}}_getUniqueRefId(e){const t=this._refAliasModel.get(e);if(!t)return"0";const o=t.getKeyMap("i");return`${Math.max(...o.map(i=>Number(i||0)),0)+1}`}getValue(e,t,o,s,i){const a=i||this.getModel(e,t);if(!a)return null;const u=this._refAliasModel.get(e),c=a.getValue(o,s);if(c&&u){const l=u.getValue(c==null?void 0:c.i);return l?{pattern:l.pattern,type:l.type}:(this._logService.error("[Numfmt Service]:","RefAliasModel is not match model"),null)}return null}deleteValues(e,t,o){let s=this._refAliasModel.get(e);const i=this.getModel(e,t);s||(s=new r.RefAlias([],["pattern","i"]),this._refAliasModel.set(e,s)),o.forEach(a=>{r.Range.foreach(a,(u,c)=>{const l=this.getValue(e,t,u,c,i);if(l&&l.pattern){const d=s.getValue(l.pattern);d&&d.count--}this._setValue(e,t,u,c,null)})})}setValues(e,t,o){const s=this.getModel(e,t);let i=this._refAliasModel.get(e);i||(i=new r.RefAlias([],["pattern","i"]),this._refAliasModel.set(e,i)),o.forEach(a=>{let u=i.getValue(a.pattern);u||(u={count:0,i:this._getUniqueRefId(e),pattern:a.pattern,type:o[0].type},i.addValue(u)),a.ranges.forEach(c=>{r.Range.foreach(c,(l,d)=>{if(s){const m=this.getValue(e,t,l,d,s);if(m&&m.pattern){const g=i.getValue(m.pattern);g&&g.count--}}this._setValue(e,t,l,d,{i:u.i}),u.count++})})})}getModel(e,t){const o=this._numfmtModel.get(e);return o==null?void 0:o.get(t)}getRefModel(e){return this._refAliasModel.get(e)}};mt=Hs([r.OnLifecycle(r.LifecycleStages.Starting,mt),lt(0,B.Inject(r.ICommandService)),lt(1,B.Inject(r.IResourceManagerService)),lt(2,B.Inject(r.IUniverInstanceService)),lt(3,B.Inject(r.ILogService))],mt);const Xn="univer.sheet.editable";class pe extends r.PermissionPoint{constructor(t,o){super();V(this,"id",Xn);V(this,"value",!0);V(this,"unitID");this._unitId=t,this._subUnitId=o,this.unitID=t,this.id=`${Xn}_${t}_${o}`}}var Fs=Object.defineProperty,$s=Object.getOwnPropertyDescriptor,zs=(n,e,t,o)=>{for(var s=o>1?void 0:o?$s(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(o?a(e,t,s):a(s))||s);return o&&s&&Fs(e,t,s),s},Vt=(n,e)=>(t,o)=>e(t,o,n);h.SheetPermissionService=class extends r.Disposable{constructor(e,t,o){super(),this._permissionService=e,this._univerInstanceService=t,this._sheetInterceptorService=o,this._init(),this._interceptCommandPermission()}_init(){const e=this._univerInstanceService.getCurrentUniverSheetInstance(),t=e.getUnitId();e.getSheets().forEach(o=>{const s=o.getSheetId(),i=new pe(t,s);this._permissionService.addPermissionPoint(e.getUnitId(),i)}),this.disposeWithMe(r.toDisposable(e.sheetCreated$.subscribe(o=>{const s=o.getSheetId(),i=new pe(t,s);this._permissionService.addPermissionPoint(e.getUnitId(),i)}))),this.disposeWithMe(r.toDisposable(e.sheetDisposed$.subscribe(o=>{const s=o.getSheetId(),i=new pe(t,s);this._permissionService.deletePermissionPoint(e.getUnitId(),i.id)})))}_interceptCommandPermission(){this.disposeWithMe(this._sheetInterceptorService.intercept(Ue.PERMISSION,{priority:99,handler:(e,t,o)=>{const s=this._univerInstanceService.getCurrentUniverSheetInstance(),i=s==null?void 0:s.getActiveSheet(),a=s==null?void 0:s.getUnitId(),u=i==null?void 0:i.getSheetId();if(!a||!u)return!1;switch(t.id){case We.id:return this.getSheetEditable(a,u)}return o()}}))}getEditable$(e,t){const o=this._univerInstanceService.getCurrentUniverSheetInstance(),s=e||o.getUnitId(),i=o.getActiveSheet(),a=t||i.getSheetId(),u=new pe(s,a);return this._permissionService.composePermission$(s,[r.UniverEditablePermissionPoint,u.id]).pipe(so.map(([c,l])=>{const d=c.value&&l.value,m=r.getTypeFromPermissionItemList([c,l]);return{value:d,status:m}}))}getSheetEditable(e,t){const o=this._univerInstanceService.getCurrentUniverSheetInstance(),s=e||o.getUnitId(),i=o.getActiveSheet(),a=t||i.getSheetId(),u=new pe(s,a);return this._permissionService.composePermission(s,[r.UniverEditablePermissionPoint,u.id]).every(c=>c.value)}setSheetEditable(e,t,o){const s=this._univerInstanceService.getCurrentUniverSheetInstance(),i=t||s.getUnitId(),a=s.getActiveSheet(),u=o||a.getSheetId(),c=new pe(i,u);this._permissionService.updatePermissionPoint(i,c.id,e)}},h.SheetPermissionService=zs([r.OnLifecycle(r.LifecycleStages.Ready,h.SheetPermissionService),Vt(0,B.Inject(r.IPermissionService)),Vt(1,B.Inject(r.IUniverInstanceService)),Vt(2,B.Inject(h.SheetInterceptorService))],h.SheetPermissionService);function Gs(n){const e=n.get(r.IUniverInstanceService),t=n.get(h.SheetPermissionService),o=e.getCurrentUniverSheetInstance().getUnitId(),s=e.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();return new ye.Observable(i=>{var u;const a=(u=t.getEditable$(o,s))==null?void 0:u.subscribe(c=>{i.next(!c.value)});return()=>{a==null||a.unsubscribe()}})}var qs=Object.defineProperty,Ys=Object.getOwnPropertyDescriptor,Ks=(n,e,t,o)=>{for(var s=o>1?void 0:o?Ys(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(o?a(e,t,s):a(s))||s);return o&&s&&qs(e,t,s),s},Bt=(n,e)=>(t,o)=>e(t,o,n);const xs="sheet";h.UniverSheetsPlugin=(Wt=class extends r.Plugin{constructor(e,t,o,s){super(xs),this._config=e,this._commandService=t,this._localeService=o,this._injector=s,this._initializeDependencies(s)}onRendered(){this._localeService.load({zhCN:xn})}_initializeDependencies(e){var o;const t=[[Me],[h.SelectionManagerService],[h.RefRangeService],[h.SheetPermissionService],[we,{useClass:mt}],[h.SheetInterceptorService],[it],[dt]];(o=this._config)!=null&&o.notExecuteFormula||t.push([at],[ct]),t.forEach(s=>{e.add(s)})}},V(Wt,"type",r.PluginType.Sheet),Wt),h.UniverSheetsPlugin=Ks([Bt(1,r.ICommandService),Bt(2,B.Inject(r.LocaleService)),Bt(3,B.Inject(B.Injector))],h.UniverSheetsPlugin);const Js=[me.id,re.id,Ot.id,le.id,He.id,Ve.id,Be.id,De.id,Ee.id,ke.id,Oe.id,te.id,ee.id,fe.id,Ie.id,Re.id,Ce.id],Xs=[Y.id,Le.id,j.id,W.id],Zs=1.5,Qs="rgba(255,255,255, 0.01)";function er(n){const e=n.getCurrentTheme(),t=new r.ColorKit(e.colorBlack).setAlpha(.1).toRgbString();return{strokeWidth:1.5,stroke:e.primaryColor,fill:t,widgets:{},widgetSize:6,widgetStrokeWidth:1,widgetStroke:e.colorWhite,hasAutoFill:!0,AutofillSize:6,AutofillStrokeWidth:1,AutofillStroke:e.colorWhite,hasRowHeader:!0,rowHeaderFill:t,rowHeaderStroke:e.primaryColor,rowHeaderStrokeWidth:1,hasColumnHeader:!0,columnHeaderFill:t,columnHeaderStroke:e.primaryColor,columnHeaderStrokeWidth:1}}function tr(n){const{rangeWithCoord:e,primaryWithCoord:t,style:o}=n,s={range:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn,rangeType:e.rangeType},primary:null,style:o};return t!=null&&(s.primary=Zn(t)),s}function Zn(n){const{actualRow:e,actualColumn:t,isMerged:o,isMergedMainCell:s}=n,{startRow:i,startColumn:a,endRow:u,endColumn:c}=n.mergeInfo;return{actualRow:e,actualColumn:t,isMerged:o,isMergedMainCell:s,startRow:i,startColumn:a,endRow:u,endColumn:c}}function nr(n,e,t){const o=ro.getCellInfoInMergeData(n,e,t),s=r.makeCellRangeToRangeData(o);if(s)return{range:s,primary:o,style:null}}h.AddMergeUndoMutationFactory=ue,h.AddWorksheetMergeMutation=W,h.BorderStyleManagerService=Me,h.COMMAND_LISTENER_SKELETON_CHANGE=Js,h.COMMAND_LISTENER_VALUE_CHANGE=Xs,h.ClearSelectionAllCommand=ze,h.ClearSelectionContentCommand=vt,h.ClearSelectionFormatCommand=Ge,h.CopySheetCommand=Gt,h.DeleteRangeMoveLeftCommand=Ke,h.DeleteRangeMoveUpCommand=xe,h.DeleteRangeMutation=ee,h.DeltaColumnWidthCommand=bt,h.DeltaRowHeightCommand=Nn,h.EffectRefRangId=X,h.INTERCEPTOR_POINT=Ue,h.INumfmtService=we,h.InsertColAfterCommand=nn,h.InsertColBeforeCommand=tn,h.InsertColCommand=be,h.InsertColMutation=fe,h.InsertColMutationUndoFactory=ft,h.InsertRangeMoveDownCommand=Je,h.InsertRangeMoveRightCommand=Xe,h.InsertRangeMutation=te,h.InsertRowAfterCommand=Qt,h.InsertRowBeforeCommand=Zt,h.InsertRowCommand=_e,h.InsertRowMutation=Ie,h.InsertRowMutationUndoFactory=It,h.InsertSheetCommand=on,h.InsertSheetMutation=Se,h.InsertSheetUndoMutationFactory=St,h.MAX_CELL_PER_SHEET_KEY=Wn,h.MoveColsCommand=Rt,h.MoveColsMutation=Be,h.MoveRangeCommand=Qe,h.MoveRangeMutation=Le,h.MoveRowsCommand=Ct,h.MoveRowsMutation=Ve,h.NORMAL_SELECTION_PLUGIN_NAME=x,h.OperatorType=A,h.RemoveColCommand=tt,h.RemoveColMutation=Re,h.RemoveMergeUndoMutationFactory=oe,h.RemoveNumfmtMutation=Pt,h.RemoveRowCommand=et,h.RemoveRowMutation=Ce,h.RemoveSheetCommand=Mt,h.RemoveSheetMutation=Ne,h.RemoveSheetUndoMutationFactory=zt,h.RemoveWorksheetMergeCommand=dn,h.RemoveWorksheetMergeMutation=j,h.ResetBackgroundColorCommand=Un,h.ResetTextColorCommand=pn,h.SELECTION_CONTROL_BORDER_BUFFER_COLOR=Qs,h.SELECTION_CONTROL_BORDER_BUFFER_WIDTH=Zs,h.SelectionMoveType=Ht,h.SetBackgroundColorCommand=yn,h.SetBoldCommand=zo,h.SetBorderBasicCommand=ln,h.SetBorderColorCommand=hn,h.SetBorderCommand=Te,h.SetBorderPositionCommand=mn,h.SetBorderStyleCommand=gn,h.SetColHiddenCommand=Sn,h.SetColHiddenMutation=De,h.SetColVisibleMutation=Ee,h.SetColWidthCommand=Tt,h.SetFontFamilyCommand=Ko,h.SetFontSizeCommand=xo,h.SetFrozenCommand=fn,h.SetFrozenMutation=ge,h.SetFrozenMutationFactory=pt,h.SetHorizontalTextAlignCommand=bn,h.SetItalicCommand=Go,h.SetNumfmtMutation=st,h.SetRangeValuesCommand=We,h.SetRangeValuesMutation=Y,h.SetRangeValuesUndoMutationFactory=ve,h.SetRowHeightCommand=Ln,h.SetRowHiddenCommand=Rn,h.SetRowHiddenMutation=ke,h.SetRowVisibleMutation=Oe,h.SetSelectedColsVisibleCommand=vn,h.SetSelectedRowsVisibleCommand=Cn,h.SetSelectionsOperation=q,h.SetSpecificColsVisibleCommand=wt,h.SetSpecificRowsVisibleCommand=yt,h.SetStrikeThroughCommand=Yo,h.SetStyleCommand=K,h.SetTabColorCommand=En,h.SetTabColorMutation=je,h.SetTextColorCommand=wn,h.SetTextRotationCommand=Dn,h.SetTextWrapCommand=Tn,h.SetUnderlineCommand=qo,h.SetVerticalTextAlignCommand=_n,h.SetWorksheetActivateCommand=Ut,h.SetWorksheetActiveOperation=He,h.SetWorksheetColWidthMutation=le,h.SetWorksheetColWidthMutationFactory=_t,h.SetWorksheetHideCommand=kn,h.SetWorksheetHideMutation=he,h.SetWorksheetNameCommand=Dt,h.SetWorksheetNameMutation=ot,h.SetWorksheetOrderCommand=An,h.SetWorksheetOrderMutation=Fe,h.SetWorksheetRowAutoHeightMutation=Ot,h.SetWorksheetRowAutoHeightMutationFactory=es,h.SetWorksheetRowHeightMutation=me,h.SetWorksheetRowIsAutoHeightCommand=kt,h.SetWorksheetRowIsAutoHeightMutation=re,h.SetWorksheetShowCommand=Vn,h.SheetEditablePermission=pe,h.alignToMergedCellsBorders=Ze,h.convertPrimaryWithCoordToPrimary=Zn,h.convertSelectionDataToRange=tr,h.enUS=Bs,h.factoryRemoveNumfmtUndoMutation=as,h.factorySetNumfmtUndoMutation=is,h.getAddMergeMutationRangeByType=Kn,h.getCellAtRowCol=Oo,h.getCurrentSheetDisabled$=Gs,h.getNormalSelectionStyle=er,h.getPrimaryForRange=ne,h.handleDeleteRangeMoveLeft=As,h.handleDeleteRangeMoveUp=Ps,h.handleDeleteRangeMutation=qt,h.handleIRemoveCol=bs,h.handleIRemoveRow=Ts,h.handleInsertCol=Es,h.handleInsertRangeMoveDown=Os,h.handleInsertRangeMoveRight=ks,h.handleInsertRangeMutation=Yt,h.handleInsertRow=Ds,h.handleMoveCols=Yn,h.handleMoveRange=_s,h.handleMoveRows=qn,h.rangeMerge=At,h.runRefRangeMutations=Lt,h.transformCellDataToSelectionData=nr,h.transformCellsToRange=rt,h.zhCN=xn,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(h,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("rxjs"),require("@univerjs/engine-formula"),require("rxjs/operators"),require("@univerjs/engine-render")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","rxjs","@univerjs/engine-formula","rxjs/operators","@univerjs/engine-render"],r):(h=typeof globalThis<"u"?globalThis:h||self,r(h.UniverSheets={},h.UniverCore,h["@wendellhu/redi"],h.rxjs,h.UniverEngineFormula,h.rxjs.operators,h.UniverEngineRender))})(this,function(h,r,V,Ue,mt,oo,so){"use strict";var ur=Object.defineProperty;var cr=(h,r,V)=>r in h?ur(h,r,{enumerable:!0,configurable:!0,writable:!0,value:V}):h[r]=V;var B=(h,r,V)=>(cr(h,typeof r!="symbol"?r+"":r,V),V);var Ft;var ro=Object.defineProperty,io=Object.getOwnPropertyDescriptor,ao=(t,e,o,n)=>{for(var s=n>1?void 0:n?io(e,o):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(s=(n?i(e,o,s):i(s))||s);return n&&s&&ro(e,o,s),s},uo=(t,e)=>(o,n)=>e(o,n,t);const Y="normalSelectionPluginName";var $t=(t=>(t[t.MOVE_START=0]="MOVE_START",t[t.MOVING=1]="MOVING",t[t.MOVE_END=2]="MOVE_END",t))($t||{});h.SelectionManagerService=class{constructor(e){B(this,"_selectionInfo",new Map);B(this,"_currentSelection",null);B(this,"_selectionMoveStart$",new Ue.Subject);B(this,"selectionMoveStart$",this._selectionMoveStart$.asObservable());B(this,"_selectionMoving$",new Ue.Subject);B(this,"selectionMoving$",this._selectionMoving$.asObservable());B(this,"_selectionMoveEnd$",new Ue.BehaviorSubject(null));B(this,"selectionMoveEnd$",this._selectionMoveEnd$.asObservable());B(this,"_dirty",!0);this._themeService=e}getCurrent(){return this._currentSelection}getLastByPlugin(e){if(this._currentSelection!=null)return this._getLastByParam({...this._currentSelection,pluginName:e})}changePlugin(e){var o,n;this._currentSelection!=null&&(this._currentSelection={pluginName:e,unitId:(o=this._currentSelection)==null?void 0:o.unitId,sheetId:(n=this._currentSelection)==null?void 0:n.sheetId},this._refresh(this._currentSelection))}changePluginNoRefresh(e){var o,n;this._currentSelection!=null&&(this._currentSelection={pluginName:e,unitId:(o=this._currentSelection)==null?void 0:o.unitId,sheetId:(n=this._currentSelection)==null?void 0:n.sheetId})}reset(){var e,o;this._currentSelection!=null&&(this._currentSelection={pluginName:Y,unitId:(e=this._currentSelection)==null?void 0:e.unitId,sheetId:(o=this._currentSelection)==null?void 0:o.sheetId},this._selectionInfo.clear(),this._refresh(this._currentSelection))}resetPlugin(){this._currentSelection!=null&&(this._currentSelection.pluginName=Y,this._refresh(this._currentSelection))}dispose(){this._selectionMoveEnd$.complete(),this._selectionMoveStart$.complete(),this._selectionMoving$.complete()}makeDirty(e=!0){this._dirty=e}refreshSelection(){this._currentSelection!=null&&this._refresh(this._currentSelection)}setCurrentSelection(e){this._dirty!==!1&&(this._currentSelection=e,this._refresh(e))}setCurrentSelectionNotRefresh(e){this._currentSelection=e}getSelectionInfo(){return this._selectionInfo}getSelectionDatasByParam(e){return this._getSelectionDatas(e)}getSelections(){return this._getSelectionDatas(this._currentSelection)}getSelectionRanges(){const e=this.getSelections();if(e!=null)return e.map(o=>o.range)}getFirst(){return this._getFirstByParam(this._currentSelection)}getLast(){return this._getLastByParam(this._currentSelection)}addNoRefresh(e){this._currentSelection!=null&&this._addByParam({...this._currentSelection,selectionDatas:e},!1)}add(e){this._currentSelection!=null&&this._addByParam({...this._currentSelection,selectionDatas:e})}replace(e,o=2){this._currentSelection!=null&&(this._replaceByParam({...this._currentSelection,selectionDatas:e}),o===0?this._refreshStart(this._currentSelection):o===1?this._refreshMoving(this._currentSelection):this._refresh(this._currentSelection))}replaceWithNoRefresh(e){this._currentSelection!=null&&this._replaceByParam({...this._currentSelection,selectionDatas:e})}clear(){this._currentSelection!=null&&this._clearByParam(this._currentSelection)}remove(e){this._currentSelection!=null&&this._removeByParam(e,this._currentSelection)}createDefaultAutoFillSelection(){return{strokeWidth:2,stroke:"#FFF000",fill:"rgba(0, 0, 0, 0.2)",widgets:{},hasAutoFill:!0}}createCopyPasteSelection(){return{strokeWidth:1.5,stroke:this._themeService.getCurrentTheme().primaryColor,fill:"rgba(178, 178, 178, 0.10)",widgets:{},hasAutoFill:!1,strokeDash:8}}createDefaultSelection(){return{strokeWidth:2,stroke:"#FFF000",fill:"rgba(0, 0, 0, 0.2)",widgets:{tr:!0,tl:!0,br:!0,bl:!0},hasAutoFill:!1}}isOverlapping(){const e=this.getSelections();return e==null?!1:e.some(({range:o},n)=>e.some(({range:s},a)=>n===a?!1:o.startRow<=s.endRow&&o.endRow>=s.startRow&&o.startColumn<=s.endColumn&&o.endColumn>=s.startColumn))}_getSelectionDatas(e){var a,i;if(e==null)return;const{pluginName:o,unitId:n,sheetId:s}=e;return(i=(a=this._selectionInfo.get(o))==null?void 0:a.get(n))==null?void 0:i.get(s)}_refresh(e){this._selectionMoveEnd$.next(this._getSelectionDatas(e))}_refreshStart(e){this._selectionMoveStart$.next(this._getSelectionDatas(e))}_refreshMoving(e){this._selectionMoving$.next(this._getSelectionDatas(e))}_getFirstByParam(e){const o=this._getSelectionDatas(e);return o==null?void 0:o[0]}_getLastByParam(e){const o=this._getSelectionDatas(e);return o==null?void 0:o[o.length-1]}_addByParam(e,o=!0){const{pluginName:n,unitId:s,sheetId:a,selectionDatas:i}=e;this._selectionInfo.has(n)||this._selectionInfo.set(n,new Map);const u=this._selectionInfo.get(n);u.has(s)||u.set(s,new Map);const c=u.get(s);if(!c.has(a))c.set(a,[...i]);else{let l=c.get(a);l==null&&(l=[],c.set(a,l)),l.push(...i)}o&&this._refresh({pluginName:n,unitId:s,sheetId:a})}_replaceByParam(e){const{pluginName:o,unitId:n,sheetId:s,selectionDatas:a}=e;this._selectionInfo.has(o)||this._selectionInfo.set(o,new Map);const i=this._selectionInfo.get(o);i.has(n)||i.set(n,new Map);const u=i.get(n);if(!u.has(s))u.set(s,a);else{let c=u.get(s);c==null&&(c=[],u.set(s,c)),c.splice(0,c.length,...a)}}_clearByParam(e){const o=this._getSelectionDatas(e);o==null||o.splice(0),this._refresh(e)}_removeByParam(e,o){const n=this._getSelectionDatas(o);n==null||n.splice(e,1),this._refresh(o)}},h.SelectionManagerService=ao([uo(0,V.Inject(r.ThemeService))],h.SelectionManagerService);const co=r.createInterceptorKey("CELL_CONTENT"),lo=r.createInterceptorKey("PERMISSION"),_e={CELL_CONTENT:co,PERMISSION:lo};var mo=Object.defineProperty,go=Object.getOwnPropertyDescriptor,ho=(t,e,o,n)=>{for(var s=n>1?void 0:n?go(e,o):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(s=(n?i(e,o,s):i(s))||s);return n&&s&&mo(e,o,s),s},vo=(t,e)=>(o,n)=>e(o,n,t);h.SheetInterceptorService=class extends r.Disposable{constructor(o){super();B(this,"_interceptorsByName",new Map);B(this,"_commandInterceptors",[]);B(this,"_workbookDisposables",new Map);B(this,"_worksheetDisposables",new Map);this._currentUniverService=o,this.disposeWithMe(r.toDisposable(this._currentUniverService.sheetAdded$.subscribe(n=>{this._interceptWorkbook(n)}))),this.disposeWithMe(r.toDisposable(this._currentUniverService.sheetDisposed$.subscribe(n=>this._disposeWorkbookInterceptor(n)))),this.intercept(_e.CELL_CONTENT,{priority:-1,handler(n,s){const a=s.worksheet.getCellRaw(s.row,s.col);return n?{...a,...n}:a}}),this.intercept(_e.PERMISSION,{priority:-1,handler:()=>!0})}dispose(){super.dispose(),this._workbookDisposables.forEach(o=>o.dispose()),this._workbookDisposables.clear(),this._worksheetDisposables.clear()}interceptCommand(o){if(this._commandInterceptors.includes(o))throw new Error("[SheetInterceptorService]: Interceptor already exists!");return this._commandInterceptors.push(o),this._commandInterceptors.sort((n,s)=>(s.priority??0)-(n.priority??0)),this.disposeWithMe(r.toDisposable(()=>r.remove(this._commandInterceptors,o)))}onCommandExecute(o){const n=this._commandInterceptors.map(s=>s.getMutations(o));return{undos:n.map(s=>s.undos).flat(),redos:n.map(s=>s.redos).flat()}}intercept(o,n){const s=o;this._interceptorsByName.has(s)||this._interceptorsByName.set(s,[]);const a=this._interceptorsByName.get(s);return a.push(n),this._interceptorsByName.set(s,a.sort((i,u)=>(u.priority??0)-(i.priority??0))),this.disposeWithMe(r.toDisposable(()=>r.remove(this._interceptorsByName.get(s),n)))}fetchThroughInterceptors(o){const n=o,s=this._interceptorsByName.get(n);return r.composeInterceptors(s||[])}_interceptWorkbook(o){const n=new r.DisposableCollection,s=o.getUnitId(),a=this,i=u=>{const c=u.getSheetId();u.__interceptViewModel(l=>{const d=new r.DisposableCollection,m=l.registerCellContentInterceptor({getCell(g,v){return a.fetchThroughInterceptors(_e.CELL_CONTENT)(u.getCellRaw(g,v),{unitId:s,subUnitId:c,row:g,col:v,worksheet:u,workbook:o})}});d.add(m),a._worksheetDisposables.set(zt(s,u),d)})};o.getSheets().forEach(u=>i(u)),n.add(r.toDisposable(o.sheetCreated$.subscribe(u=>i(u)))),n.add(r.toDisposable(o.sheetDisposed$.subscribe(u=>this._disposeSheetInterceptor(s,u)))),n.add(r.toDisposable(()=>o.getSheets().forEach(u=>this._disposeSheetInterceptor(s,u))))}_disposeWorkbookInterceptor(o){const n=o.getUnitId(),s=this._workbookDisposables.get(n);s&&(s.dispose(),this._workbookDisposables.delete(n))}_disposeSheetInterceptor(o,n){const s=zt(o,n),a=this._worksheetDisposables.get(s);a&&(a.dispose(),this._worksheetDisposables.delete(s))}},h.SheetInterceptorService=ho([r.OnLifecycle(r.LifecycleStages.Starting,h.SheetInterceptorService),vo(0,r.IUniverInstanceService)],h.SheetInterceptorService);function zt(t,e){return`${t}|${e.getSheetId()}`}const ue=(t,e)=>{const{unitId:o,subUnitId:n,cellValue:s}=e,i=t.get(r.IUniverInstanceService).getUniverSheetInstance(o);if(i==null)throw new Error("workbook is null error!");const u=i.getSheetBySheetId(n);if(u==null)throw new Error("worksheet is null error!");const c=u.getCellMatrix(),l=i.getStyles(),d=new r.ObjectMatrix;return new r.ObjectMatrix(s).forValue((g,v,S)=>{const C=r.Tools.deepClone(c==null?void 0:c.getValue(g,v))||{},I=l.getStyleByCell(C),f=Co(I,S&&S.s?S.s:null);C.s=f,d.setValue(g,v,So(C))}),{...e,options:{},cellValue:d.getMatrix()}};function So(t){return t==null?null:(t.f===void 0&&(t.f=null),t.si===void 0&&(t.si=null),t.p===void 0&&(t.p=null),t.v===void 0&&(t.v=null),t.t===void 0&&(t.t=null),t.s===void 0&&(t.s=null),t)}const z={id:"sheet.mutation.set-range-values",type:r.CommandType.MUTATION,handler:(t,e)=>{const{cellValue:o,subUnitId:n,unitId:s}=e,i=t.get(r.IUniverInstanceService).getUniverSheetInstance(s);if(!i)return!1;const u=i.getSheetBySheetId(n);if(!u)return!1;const c=u.getCellMatrix(),l=i.getStyles();return new r.ObjectMatrix(o).forValue((m,g,v)=>{if(!v)c==null||c.setValue(m,g,{});else{const S=c.getValue(m,g)||{},C=v.t===r.CellValueType.FORCE_STRING?v.t:Io(v.v===void 0?S.v:v.v);if(v.f!==void 0&&(S.f=v.f),v.si!==void 0&&(S.si=v.si),v.p!==void 0&&(S.p=v.p),v.v!==void 0&&(S.v=C===r.CellValueType.NUMBER?Number(v.v):v.v),S.v!==void 0&&(S.t=C),v.s!==void 0){const I=l.getStyleByCell(S);I==null&&delete S.s,typeof v.s=="string"&&(v.s=l.get(v.s));const f=Gt(I,v.s?v.s:null);f&&r.Tools.removeNull(f),r.Tools.isEmptyObject(f)?delete S.s:S.s=l.setValue(f),!v.p&&S.p&&Mo(S.p,v.s?v.s:null)}c.setValue(m,g,r.Tools.removeNull(S))}}),!0}};function Io(t){return t===null?null:typeof t=="string"?po(t)?r.CellValueType.NUMBER:r.CellValueType.STRING:typeof t=="number"?r.CellValueType.NUMBER:typeof t=="boolean"?r.CellValueType.BOOLEAN:r.CellValueType.FORCE_STRING}function Co(t,e){return fo(t,e)}function fo(t,e){if(!e||!Object.keys(e).length)return t;const o=t||{};for(const n in e)n==="bd"?o[n]=Ro(o[n]||{},e[n]):n in o||(o[n]=null);return o}function Ro(t,e){if(!e||!Object.keys(e).length)return t;for(const o in e)o in t||(t[o]=null);return t}function Gt(t,e,o=!1){if(e===null)return e;if(e===void 0)return t;const n=r.Tools.deepClone(t)||{};if(n){for(const s in e)o&&["bd","tr","td","ht","vt","tb","pd"].includes(s)||(s in n&&s==="bd"?n[s]=Object.assign(n[s],e[s]):n[s]=e[s]);return"cl"in n&&("ul"in n&&(n.ul.cl=n.cl),"ol"in n&&(n.ol.cl=n.cl),"st"in n&&(n.st.cl=n.cl)),n}}function Mo(t,e){var o,n;(n=(o=t.body)==null?void 0:o.textRuns)==null||n.forEach(s=>{s.ts||(s.ts={});const a=s.ts||{},i=Gt(a,e,!0);i&&r.Tools.removeNull(i),r.Tools.isEmptyObject(i)?delete s.ts:s.ts=i})}function wo(t){return/^-?\d+(\.\d+)?$/.test(t)}function po(t){return wo(t)?Number(t)<=Number.MAX_SAFE_INTEGER:!1}const qe={id:"sheet.command.clear-selection-all",type:r.CommandType.COMMAND,handler:async t=>{const e=t.get(r.IUniverInstanceService),o=t.get(r.ICommandService),n=t.get(h.SelectionManagerService),s=t.get(r.IUndoRedoService),a=t.get(h.SheetInterceptorService),i=e.getCurrentUniverSheetInstance(),u=i.getUnitId(),l=i.getActiveSheet().getSheetId(),d=n.getSelectionRanges();if(!(d!=null&&d.length))return!1;const m=[],g=[],v={subUnitId:l,unitId:u,cellValue:yo(d)},S=ue(t,v);m.push({id:z.id,params:v}),g.push({id:z.id,params:S});const C=a.onCommandExecute({id:qe.id});return m.push(...C.redos),g.unshift(...C.undos),r.sequenceExecute(m,o)?(s.pushUndoRedo({unitID:u,undoMutations:g,redoMutations:m}),!0):!1}};function yo(t){const e=new r.ObjectMatrix;return t.forEach(o=>{const{startRow:n,startColumn:s,endRow:a,endColumn:i}=o;for(let u=n;u<=a;u++)for(let c=s;c<=i;c++)e.setValue(u,c,null)}),e.getData()}const gt={id:"sheet.command.clear-selection-content",type:r.CommandType.COMMAND,handler:async t=>{const e=t.get(r.IUniverInstanceService),o=t.get(r.ICommandService),n=t.get(h.SelectionManagerService),s=t.get(r.IUndoRedoService),a=t.get(h.SheetInterceptorService),i=e.getCurrentUniverSheetInstance(),u=i.getUnitId(),l=i.getActiveSheet().getSheetId(),d=n.getSelectionRanges();if(!(d!=null&&d.length))return!1;const m={subUnitId:l,unitId:u,cellValue:Uo(d)},g=ue(t,m),v=a.onCommandExecute({id:gt.id}),S=[{id:z.id,params:m},...v.redos],C=[...v.undos,{id:z.id,params:g}];return r.sequenceExecute(S,o).result?(s.pushUndoRedo({unitID:u,undoMutations:C,redoMutations:S}),!0):!1}};function Uo(t){const e=new r.ObjectMatrix;return t.forEach(o=>{const{startRow:n,startColumn:s,endRow:a,endColumn:i}=o;for(let u=n;u<=a;u++)for(let c=s;c<=i;c++)e.setValue(u,c,{v:null,p:null,f:null,si:null})}),e.getData()}const Ye={id:"sheet.command.clear-selection-format",type:r.CommandType.COMMAND,handler:async t=>{const e=t.get(r.IUniverInstanceService),o=t.get(r.ICommandService),n=t.get(h.SelectionManagerService),s=t.get(r.IUndoRedoService),a=t.get(h.SheetInterceptorService),i=e.getCurrentUniverSheetInstance(),u=i.getUnitId(),l=i.getActiveSheet().getSheetId(),d=n.getSelectionRanges();if(!(d!=null&&d.length))return!1;const m=[],g=[],v={subUnitId:l,unitId:u,cellValue:_o(d)},S=ue(t,v);m.push({id:z.id,params:v}),g.push({id:z.id,params:S});const C=a.onCommandExecute({id:Ye.id});return m.push(...C.redos),g.unshift(...C.undos),r.sequenceExecute(m,o)?(s.pushUndoRedo({unitID:u,undoMutations:g,redoMutations:m}),!0):!1}};function _o(t){const e=new r.ObjectMatrix;return t.forEach(o=>{const{startRow:n,startColumn:s,endRow:a,endColumn:i}=o;for(let u=n;u<=a;u++)for(let c=s;c<=i;c++)e.setValue(u,c,{s:null})}),e.getData()}const ht=(t,e)=>({subUnitId:e.sheet.id,unitId:e.unitId}),ve={id:"sheet.mutation.insert-sheet",type:r.CommandType.MUTATION,handler:(t,e)=>{const o=t.get(r.IUniverInstanceService),{sheet:n,index:s,unitId:a}=e,i=o.getUniverSheetInstance(a);return i?i.addWorksheet(n.id,s,n):!1}},qt=(t,e)=>{const n=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance(),{subUnitId:s,unitId:a}=e,i=n.getSheetBySheetId(s).getConfig();return{index:n.getConfig().sheetOrder.findIndex(l=>l===s),sheet:i,unitId:a}},ke={id:"sheet.mutation.remove-sheet",type:r.CommandType.MUTATION,handler:(t,e)=>{const o=t.get(r.IUniverInstanceService),{subUnitId:n,unitId:s}=e,a=o.getUniverSheetInstance(s);if(!a)return!1;const i=a.getWorksheets(),u=a.getConfig(),{sheets:c}=u;if(c[n]==null)throw new Error(`Remove sheet fail ${n} does not exist`);const l=u.sheetOrder.findIndex(d=>d===n);return delete c[n],u.sheetOrder.splice(l,1),i.delete(n),!0}},Yt={type:r.CommandType.COMMAND,id:"sheet.command.copy-sheet",handler:async(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=t.get(r.LocaleService);let i=s.getCurrentUniverSheetInstance().getUnitId(),u=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();e&&(i=e.unitId??i,u=e.subUnitId??u);const c=s.getUniverSheetInstance(i);if(!c)return!1;const l=c.getSheetBySheetId(u);if(!l)return!1;const d=r.Tools.deepClone(l.getConfig());d.name+=a.t("sheets.sheetCopy"),d.id=r.Tools.generateRandomId();const g={index:c.getSheetIndex(l)+1,sheet:d,unitId:i},v=ht(t,g);return o.syncExecuteCommand(ve.id,g)?(n.pushUndoRedo({unitID:i,undoMutations:[{id:ke.id,params:v}],redoMutations:[{id:ve.id,params:g}]}),!0):!1}},Le={id:"sheet.mutation.move-range",type:r.CommandType.MUTATION,handler:(t,e)=>{const{from:o,to:n}=e;if(!o||!n)return!1;const a=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!a)return!1;const i=a.getSheetBySheetId(e.from.subUnitId),u=a.getSheetBySheetId(e.to.subUnitId);if(!i||!u)return!1;const c=i.getCellMatrix(),l=u.getCellMatrix();return new r.ObjectMatrix(o.value).forValue((d,m,g)=>{c.setValue(d,m,g)}),new r.ObjectMatrix(n.value).forValue((d,m,g)=>{l.setValue(d,m,g)}),!0}},G={id:"sheet.operation.set-selections",type:r.CommandType.OPERATION,handler:(t,e)=>{const o=t.get(h.SelectionManagerService);if(!e)return!1;const{selections:n,type:s}=e;return o.replace(n,s),!0}};function Be(t,e,o=!0){const n=e.getMatrixWithMergedCells(...r.selectionToArray(t)),s=[];if(n.forValue((i,u,c)=>{if(c.colSpan!==void 0&&c.rowSpan!==void 0){const l={startRow:i,startColumn:u,endRow:i+c.rowSpan-1,endColumn:u+c.colSpan-1};r.Rectangle.contains(t,l)||s.push(l)}}),s.length===0)return t;const a=r.Rectangle.union(t,...s);return o?Be(a,e,o):a}function bo(t,e,o){let n=null;return o.getMatrixWithMergedCells(t,e,t,e).forValue((a,i,u)=>(n={actualRow:a,actualColumn:i,startRow:a,startColumn:i,isMerged:u.rowSpan!==void 0||u.colSpan!==void 0,isMergedMainCell:u.rowSpan!==void 0&&u.colSpan!==void 0,endRow:a+(u.rowSpan!==void 0?u.rowSpan-1:0),endColumn:i+(u.colSpan!==void 0?u.colSpan-1:0),rangeType:r.RANGE_TYPE.NORMAL},!1)),n||{actualColumn:e,actualRow:t,startRow:t,startColumn:e,endRow:t,endColumn:e,isMerged:!1,isMergedMainCell:!1,rangeType:r.RANGE_TYPE.NORMAL}}function X(t,e){const o=e.getMergedCell(t.startRow,t.startColumn);return o?{...o,actualRow:t.startRow,actualColumn:t.startColumn,rangeType:r.RANGE_TYPE.NORMAL,isMerged:!0,isMergedMainCell:!0}:{startRow:t.startRow,startColumn:t.startColumn,endRow:t.startRow,endColumn:t.startColumn,actualRow:t.startRow,actualColumn:t.startColumn,rangeType:r.RANGE_TYPE.NORMAL,isMerged:!1,isMergedMainCell:!1}}const ce=(t,e,o)=>({id:G.id,params:{unitId:e.getUnitId(),sheetId:o.getSheetId(),pluginName:Y,selections:[{range:t,primary:X(t,o)}]}}),xt="sheet.command.move-range",xe={type:r.CommandType.COMMAND,id:xt,handler:(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=t.get(r.ErrorService),i=s.getCurrentUniverSheetInstance(),u=i.getActiveSheet(),c=i.getUnitId(),l=u.getSheetId(),d=vt(t,{unitId:c,subUnitId:l,range:e.fromRange},{unitId:c,subUnitId:l,range:e.toRange});if(d===null)return a.emit("Across a merged cell."),!1;const g=t.get(h.SheetInterceptorService).onCommandExecute({id:xe.id,params:{...e}}),v=[...d.redos,...g.redos,{id:G.id,params:{unitId:c,sheetId:l,pluginName:Y,selections:[{range:e.toRange,primary:X(e.toRange,u)}]}}],S=[{id:G.id,params:{unitId:c,sheetId:l,pluginName:Y,selections:[{range:e.fromRange,primary:X(e.fromRange,u)}]}},...d.undos,...g.undos];return r.sequenceExecute(v,o).result?(n.pushUndoRedo({unitID:c,undoMutations:S,redoMutations:v}),!0):!1}};function vt(t,e,o,n=!1){const s=[],a=[],{range:i,subUnitId:u,unitId:c}=e,{range:l,subUnitId:d}=o,g=t.get(r.IUniverInstanceService).getUniverSheetInstance(c),v=g==null?void 0:g.getSheetBySheetId(d),S=g==null?void 0:g.getSheetBySheetId(u),C=v==null?void 0:v.getCellMatrix(),I=S==null?void 0:S.getCellMatrix();if(v&&S&&C&&I){const f=Be(l,v,!1);if(!r.Rectangle.equals(l,f)&&!n)return null;const w=new r.ObjectMatrix,M=new r.ObjectMatrix,p=(b,U)=>({startRow:b,endRow:b,startColumn:U,endColumn:U});r.Range.foreach(i,(b,U)=>{w.setValue(b,U,I.getValue(b,U)),M.setValue(b,U,null)});const y=new r.ObjectMatrix;r.Range.foreach(l,(b,U)=>{y.setValue(b,U,C.getValue(b,U))});const D=new r.ObjectMatrix;r.Range.foreach(i,(b,U)=>{const L=p(b,U),R=r.Rectangle.getRelativeRange(L,i),q=r.Rectangle.getPositionRange(R,l);D.setValue(q.startRow,q.startColumn,I.getValue(b,U))});const _={from:{value:M.getMatrix(),subUnitId:u},to:{value:D.getMatrix(),subUnitId:d},unitId:c},E={from:{value:w.getMatrix(),subUnitId:u},to:{value:y.getMatrix(),subUnitId:d},unitId:c};s.push({id:Le.id,params:_}),a.push({id:Le.id,params:E})}return{redos:s,undos:a}}const Se={id:"sheet.command.set-range-values",type:r.CommandType.COMMAND,handler:async(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=t.get(h.SelectionManagerService),i=t.get(h.SheetInterceptorService),{value:u,range:c,unitId:l=s.getCurrentUniverSheetInstance().getUnitId(),subUnitId:d=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId()}=e,m=c?[c]:a.getSelectionRanges();if(!m||!m.length)return!1;const g=new r.ObjectMatrix;let v;if(r.Tools.isArray(u))for(let p=0;p<m.length;p++){const{startRow:y,startColumn:D,endRow:_,endColumn:E}=m[p];for(let b=0;b<=_-y;b++)for(let U=0;U<=E-D;U++)g.setValue(b+y,U+D,u[b][U])}else if(r.isICellData(u))for(let p=0;p<m.length;p++){const{startRow:y,startColumn:D,endRow:_,endColumn:E}=m[p];for(let b=y;b<=_;b++)for(let U=D;U<=E;U++)g.setValue(b,U,u)}else v=u;const S={subUnitId:d,unitId:l,cellValue:v??g.getMatrix()},C=ue(t,S);if(!i.fetchThroughInterceptors(_e.PERMISSION)(null,{id:Se.id,params:S}))return!1;const I=o.syncExecuteCommand(z.id,S),{undos:f,redos:w}=i.onCommandExecute({id:Se.id,params:{...S,range:m}}),M=await r.sequenceExecute([...w],o);return I&&M.result?(n.pushUndoRedo({unitID:l,undoMutations:[{id:z.id,params:C},...f],redoMutations:[{id:z.id,params:S},...w]}),!0):!1}};function St(t,e){const o=[],n=[],{unitId:s,subUnitId:a,range:i,shiftDimension:u,cellValue:c={}}=e,l=t.get(r.IUniverInstanceService),d=t.get(h.SheetInterceptorService),m=l.getUniverSheetInstance(s),g=m==null?void 0:m.getSheetBySheetId(a);if(g){const v=g.getCellMatrix(),S=v.getDataRange();if(i.startColumn<=S.endColumn||i.startRow<=S.endRow){let M,p;if(u===r.Dimension.COLUMNS){const D=Math.min(i.endRow,S.endRow);let _=0;for(let b=i.startRow;b<=D;b++){const U=v.getRow(b),L=U?r.getArrayLength(U)-1:0;_=Math.max(_,L)}M={startRow:i.startRow,startColumn:i.startColumn,endRow:D,endColumn:_};const E=i.endColumn-i.startColumn+1;p={startRow:i.startRow,startColumn:M.startColumn+E,endRow:D,endColumn:M.endColumn+E}}else{const D=Math.min(i.endColumn,S.endColumn),_=S.endRow;M={startRow:i.startRow,startColumn:i.startColumn,endRow:_,endColumn:D};const E=i.endRow-i.startRow+1;p={startRow:M.startRow+E,startColumn:i.startColumn,endRow:M.endRow+E,endColumn:D}}const y=vt(t,{unitId:s,subUnitId:a,range:M},{unitId:s,subUnitId:a,range:p},!0);y&&(o.push(...y.redos),n.push(...y.undos))}if(Object.entries(c).length===0)for(let M=i.startRow;M<=i.endRow;M++){c[M]||(c[M]={});for(let p=i.startColumn;p<=i.endColumn;p++)c[M][p]=null}const C={subUnitId:a,unitId:s,cellValue:c},I=ue(t,C),{undos:f,redos:w}=d.onCommandExecute({id:Se.id,params:{...C,range:i}});o.push({id:z.id,params:C},...w),n.push({id:z.id,params:I},...f)}return{redo:o,undo:n}}function It(t,e){const o=[],n=[],{unitId:s,subUnitId:a,range:i,shiftDimension:u}=e,c=t.get(r.IUniverInstanceService),l=t.get(h.SheetInterceptorService),d=c.getUniverSheetInstance(s),m=d==null?void 0:d.getSheetBySheetId(a);if(m){const g=m.getCellMatrix(),v=g.getDataRange(),S={subUnitId:a,unitId:s,cellValue:Do([i])},C=ue(t,S),I=l.onCommandExecute({id:Se.id,params:S});if(o.push({id:z.id,params:S},...I.redos),n.push(...I.undos,{id:z.id,params:C}),i.startColumn<=v.endColumn||i.startRow<=v.endRow){let f=null,w=null;if(u===r.Dimension.COLUMNS&&i.endColumn<v.endColumn){const M=Math.min(i.endRow,v.endRow);let p=0;for(let D=i.startRow;D<=M;D++){const _=g.getRow(D),E=_?r.getArrayLength(_)-1:0;p=Math.max(p,E)}f={startRow:i.startRow,startColumn:i.endColumn+1,endRow:M,endColumn:p};const y=i.endColumn-i.startColumn+1;w={startRow:i.startRow,startColumn:f.startColumn-y,endRow:M,endColumn:f.endColumn-y}}if(u===r.Dimension.ROWS&&i.endRow<v.endRow){const M=Math.min(i.endColumn,v.endColumn),p=v.endRow;f={startRow:i.endRow+1,startColumn:i.startColumn,endRow:p,endColumn:M};const y=i.endRow-i.startRow+1;w={startRow:f.startRow-y,startColumn:i.startColumn,endRow:f.endRow-y,endColumn:M}}if(f&&w){const M=vt(t,{unitId:s,subUnitId:a,range:f},{unitId:s,subUnitId:a,range:w},!0);M&&(o.push(...M.redos),n.push(...M.undos))}}}return{redo:o,undo:n}}function To(t,e,o,n,s,a){const{startRow:i,endRow:u,startColumn:c,endColumn:l}=e;if(s===r.Dimension.ROWS){const d=u-i+1;for(let m=o;m>=i;m--)for(let g=c;g<=l;g++){const v=t.getValue(m,g);v==null?t.realDeleteValue(m+d,g):t.setValue(m+d,g,v)}for(let m=u;m>=i;m--)for(let g=c;g<=l;g++)a&&a[m]&&a[m][g]?t.setValue(m,g,a[m][g]):t.realDeleteValue(m,g)}else if(s===r.Dimension.COLUMNS){const d=l-c+1;for(let m=i;m<=u;m++)for(let g=n;g>=c;g--){const v=t.getValue(m,g);v==null?t.realDeleteValue(m,g+d):t.setValue(m,g+d,v)}for(let m=i;m<=u;m++)for(let g=l;g>=c;g--)a&&a[m]&&a[m][g]?t.setValue(m,g,a[m][g]):t.realDeleteValue(m,g)}}function Eo(t,e,o,n,s){const{startRow:a,endRow:i,startColumn:u,endColumn:c}=e,l=i-a+1,d=c-u+1;if(s===r.Dimension.ROWS)for(let m=a;m<=o;m++)for(let g=u;g<=c;g++){const v=t.getValue(m+l,g);v==null?t.realDeleteValue(m,g):t.setValue(m,g,v)}else if(s===r.Dimension.COLUMNS)for(let m=a;m<=i;m++)for(let g=u;g<=n;g++){const v=t.getValue(m,g+d);v==null?t.realDeleteValue(m,g):t.setValue(m,g,v)}}function Do(t){const e=new r.ObjectMatrix;return t.forEach(o=>{const{startRow:n,startColumn:s,endRow:a,endColumn:i}=o;for(let u=n;u<=a;u++)for(let c=s;c<=i;c++)e.setValue(u,c,null)}),e.getData()}const Kt="sheet.command.delete-range-move-left",Ke={type:r.CommandType.COMMAND,id:Kt,handler:async(t,e)=>{var M;const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=t.get(h.SelectionManagerService),i=t.get(h.SheetInterceptorService),u=s.getCurrentUniverSheetInstance().getUnitId(),c=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();let l=e==null?void 0:e.range;if(l||(l=(M=a.getLast())==null?void 0:M.range),!l)return!1;const d=s.getUniverSheetInstance(u);if(!d)return!1;const m=d.getSheetBySheetId(c);if(!m)return!1;const g={range:l,subUnitId:c,unitId:u,shiftDimension:r.Dimension.COLUMNS},v=i.onCommandExecute({id:Ke.id,params:{range:l}}),{redo:S,undo:C}=It(t,g),I=[...S],f=[...C];return I.push(...v.redos),I.push(ce(l,d,m)),f.push(...v.undos),r.sequenceExecute(I,o).result?(n.pushUndoRedo({unitID:u,undoMutations:f.reverse(),redoMutations:I}),!0):!1}},Jt="sheet.command.delete-range-move-up",Je={type:r.CommandType.COMMAND,id:Jt,handler:async(t,e)=>{var M;const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=t.get(h.SelectionManagerService),i=t.get(h.SheetInterceptorService),u=s.getCurrentUniverSheetInstance().getUnitId(),c=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();let l=e==null?void 0:e.range;if(l||(l=(M=a.getLast())==null?void 0:M.range),!l)return!1;const d=s.getUniverSheetInstance(u);if(!d)return!1;const m=d.getSheetBySheetId(c);if(!m)return!1;const g={range:l,subUnitId:c,unitId:u,shiftDimension:r.Dimension.ROWS},v=i.onCommandExecute({id:Je.id,params:{range:l}}),{redo:S,undo:C}=It(t,g),I=[...S],f=[...C];return I.push(...v.redos),I.push(ce(l,d,m)),f.push(...v.undos),await r.sequenceExecute(I,o).result?(n.pushUndoRedo({unitID:u,undoMutations:f.reverse(),redoMutations:I}),!0):!1}},Ct=(t,e)=>{if(t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId)==null)throw new Error("universheet is null error!");return{unitId:e.unitId,subUnitId:e.subUnitId,range:e.range}},Ie={id:"sheet.mutation.insert-row",type:r.CommandType.MUTATION,handler:(t,e)=>{const{unitId:o,subUnitId:n,range:s,rowInfo:a}=e,u=t.get(r.IUniverInstanceService).getUniverSheetInstance(o);if(u==null)throw new Error("universheet is null error!");const c=u.getSheetBySheetId(n);if(c==null)throw new Error("worksheet is null error!");const l=c.getRowManager().getRowData(),d={h:c.getConfig().defaultRowHeight,hd:0},m=s.startRow,g=s.endRow-s.startRow+1;for(let S=m;S<m+g;S++)a?r.insertMatrixArray(S,a[S-s.startRow]??d,l):r.insertMatrixArray(S,d,l);return c.setRowCount(c.getRowCount()+s.endRow-s.startRow+1),c.getCellMatrix().insertRows(s.startRow,g),!0}},ft=(t,e)=>{if(t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId)==null)throw new Error("universheet is null error!");return{unitId:e.unitId,subUnitId:e.subUnitId,range:e.range}},Ce={id:"sheet.mutation.insert-col",type:r.CommandType.MUTATION,handler:(t,e)=>{const n=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(n==null)throw new Error("universheet is null error!");const s=n.getSheetBySheetId(e.subUnitId);if(!s)return!1;const a=s.getColumnManager(),{range:i,colInfo:u}=e,l=a.getColumnData(),d=i.startColumn,m=i.endColumn-i.startColumn+1,g=s.getConfig().defaultColumnWidth;for(let S=d;S<d+m;S++){const C={w:g,hd:0};u?r.insertMatrixArray(S,u[S-i.startColumn]??C,l):r.insertMatrixArray(S,C,l)}return s.setColumnCount(s.getColumnCount()+i.endColumn-i.startColumn+1),s.getCellMatrix().insertColumns(i.startColumn,m),!0}},Oo=(t,e)=>{const s=e.getRowManager().getRowData(),a={},i=t.range,u=r.sliceMatrixArray(i.startRow,i.endRow,s),c=r.concatMatrixArray(a,u);return{unitId:t.unitId,subUnitId:t.subUnitId,range:t.range,rowInfo:c}},fe={id:"sheet.mutation.remove-rows",type:r.CommandType.MUTATION,handler:(t,e)=>{const n=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(n==null)throw new Error("universheet is null error!");const s=n.getSheetBySheetId(e.subUnitId);if(!s)return!1;const a=e.range,u=s.getRowManager().getRowData(),c=a.endRow-a.startRow+1;return r.spliceArray(a.startRow,c,u),s.getCellMatrix().removeRows(a.startRow,c),s.setRowCount(s.getRowCount()-c),!0}},Ao=(t,e)=>{const n=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(n==null)throw new Error("universheet is null error!");const s=n.getSheetBySheetId(e.subUnitId);if(s==null)throw new Error("worksheet is null error!");const u=s.getColumnManager().getColumnData(),c={},l=e.range,d=r.sliceMatrixArray(l.startColumn,l.endColumn,u),m=r.concatMatrixArray(c,d);return{unitId:e.unitId,subUnitId:e.subUnitId,range:e.range,colInfo:m}},Re={id:"sheet.mutation.remove-col",type:r.CommandType.MUTATION,handler:(t,e)=>{const n=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(n==null)throw new Error("universheet is null error!");const s=n.getSheetBySheetId(e.subUnitId);if(!s)return!1;const a=e.range,u=s.getColumnManager().getColumnData(),c=a.endColumn-a.startColumn+1;return r.spliceArray(a.startColumn,c,u),s.setColumnCount(s.getColumnCount()-c),s.getCellMatrix().removeColumns(a.startColumn,c),!0}},No="sheet.command.insert-range-move-down",Xe={type:r.CommandType.COMMAND,id:"sheet.command.insert-range-move-down",handler:async(t,e)=>{var U;const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=t.get(r.ILogService),i=t.get(h.SelectionManagerService),u=t.get(h.SheetInterceptorService);if(i.isOverlapping())return a.error("Cannot use that command on overlapping selections."),!1;const c=s.getCurrentUniverSheetInstance().getUnitId(),l=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();let d=e==null?void 0:e.range;if(d||(d=(U=i.getLast())==null?void 0:U.range),!d)return!1;const m=s.getUniverSheetInstance(c);if(!m)return!1;const g=m.getSheetBySheetId(l);if(!g)return!1;const v=[],S=[],C=g.getCellMatrix(),I=C.getDataRange(),w=C.getSlice(I.startRow,I.endRow,d.startColumn,d.endColumn).getDataRange().endRow,M=Math.max(w+(d.endRow-d.startRow+1)-I.endRow,0);if(M>0){const L=d.startRow-1,R=g.getRowHeight(L),q={unitId:c,subUnitId:l,range:{startRow:I.endRow+1,endRow:I.endRow+M,startColumn:I.startColumn,endColumn:I.endColumn},rowInfo:new Array(M).fill(void 0).map(()=>({h:R,hd:r.BooleanNumber.FALSE}))};v.push({id:Ie.id,params:q});const ye=Ct(t,q);S.push({id:fe.id,params:ye})}const p={};r.Range.foreach(d,(L,R)=>{const q=g.getCell(L,R);q&&(p[L]||(p[L]={}),p[L][R]={s:q.s})});const y={range:d,subUnitId:l,unitId:c,shiftDimension:r.Dimension.ROWS,cellValue:p},{redo:D,undo:_}=St(t,y);v.push(...D),S.push(..._);const E=u.onCommandExecute({id:Xe.id,params:{range:d}});return v.push(...E.redos),v.push(ce(d,m,g)),S.push(...E.undos),r.sequenceExecute(v,o)?(n.pushUndoRedo({unitID:c,undoMutations:S.reverse(),redoMutations:v}),!0):!1}},Xt="sheet.command.insert-range-move-right",Ze={type:r.CommandType.COMMAND,id:Xt,handler:async(t,e)=>{var U;const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=t.get(r.ILogService),i=t.get(h.SelectionManagerService),u=t.get(h.SheetInterceptorService);if(i.isOverlapping())return a.error("Cannot use that command on overlapping selections."),!1;const c=s.getCurrentUniverSheetInstance().getUnitId(),l=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();let d=e==null?void 0:e.range;if(d||(d=(U=i.getLast())==null?void 0:U.range),!d)return!1;const m=s.getUniverSheetInstance(c);if(!m)return!1;const g=m.getSheetBySheetId(l);if(!g)return!1;const v=[],S=[],C=g.getCellMatrix(),I=C.getDataRange(),w=C.getSlice(d.startRow,d.endRow,I.startColumn,I.endColumn).getDataRange().endColumn,M=Math.max(w+(d.endColumn-d.startColumn+1)-I.endColumn,0);if(M>0){const L=d.startColumn-1,R=g.getColumnWidth(L),q={unitId:c,subUnitId:l,range:{startRow:I.startRow+1,endRow:I.endRow,startColumn:I.endColumn+1,endColumn:I.endColumn+M},colInfo:new Array(M).fill(void 0).map(()=>({w:R,hd:r.BooleanNumber.FALSE}))};v.push({id:Ce.id,params:q});const ye=ft(t,q);S.push({id:Re.id,params:ye})}const p={};r.Range.foreach(d,(L,R)=>{const q=g.getCell(L,R);!q||!q.s||(p[L]||(p[L]={}),p[L][R]={s:q.s})});const y={range:d,subUnitId:l,unitId:c,shiftDimension:r.Dimension.COLUMNS,cellValue:p},{redo:D,undo:_}=St(t,y);v.push(...D),S.push(..._);const E=u.onCommandExecute({id:Ze.id,params:{range:d}});return v.push(...E.redos),v.push(ce(d,m,g)),S.push(...E.undos),r.sequenceExecute(v,o).result?(n.pushUndoRedo({unitID:c,undoMutations:S.reverse(),redoMutations:v}),!0):!1}},Zt="sheet.command.insert-row",be={type:r.CommandType.COMMAND,id:Zt,handler:async(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=t.get(h.SheetInterceptorService),i=s.getUniverSheetInstance(e.unitId),u=i.getSheetBySheetId(e.subUnitId),{range:c,direction:l,unitId:d,subUnitId:m}=e,{startRow:g,endRow:v}=c,S=l===r.Direction.UP?g:g-1,C=u.getRowHeight(S),I={unitId:d,subUnitId:m,range:c,rowInfo:new Array(v-g+1).fill(void 0).map(()=>({h:C,hd:r.BooleanNumber.FALSE}))},f=Ct(t,I),w=a.onCommandExecute({id:be.id,params:e});return r.sequenceExecute([{id:Ie.id,params:I},...w.redos,ce(c,i,u)],o).result?(n.pushUndoRedo({unitID:e.unitId,undoMutations:[{id:fe.id,params:f},...w.redos],redoMutations:[...w.undos,{id:Ie.id,params:I}]}),!0):!1}},Qt={type:r.CommandType.COMMAND,id:"sheet.command.insert-row-before",handler:async t=>{var g;const o=(g=t.get(h.SelectionManagerService).getSelections())==null?void 0:g.map(v=>v.range);let n;if((o==null?void 0:o.length)===1)n=o[0];else return!1;const a=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!a)return!1;const i=a.getActiveSheet();if(!i)return!1;const u=a.getUnitId(),c=i.getSheetId(),l=n.endRow-n.startRow+1,d={};r.Range.foreach(n,(v,S)=>{const C=i.getCell(v,S);!C||!C.s||(d[v]||(d[v]={}),d[v][S]={s:C.s})});const m={unitId:u,subUnitId:c,direction:r.Direction.UP,range:{startRow:n.startRow,endRow:n.startRow+l-1,startColumn:0,endColumn:i.getColumnCount()-1},cellValue:d};return t.get(r.ICommandService).executeCommand(be.id,m)}},en={type:r.CommandType.COMMAND,id:"sheet.command.insert-row-after",handler:async t=>{var m;const o=(m=t.get(h.SelectionManagerService).getSelections())==null?void 0:m.map(g=>g.range);let n;if((o==null?void 0:o.length)===1)n=o[0];else return!1;const a=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!a)return!1;const i=a.getActiveSheet();if(!i)return!1;const u=a.getUnitId(),c=i.getSheetId(),l=n.endRow-n.startRow+1,d={unitId:u,subUnitId:c,direction:r.Direction.DOWN,range:{startRow:n.endRow+1,endRow:n.endRow+l,startColumn:0,endColumn:i.getColumnCount()-1}};return t.get(r.ICommandService).executeCommand(be.id,d)}},tn="sheet.command.insert-col",Te={type:r.CommandType.COMMAND,id:tn,handler:async(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=t.get(h.SheetInterceptorService),{range:i,direction:u,subUnitId:c,unitId:l,cellValue:d}=e,{startColumn:m,endColumn:g}=e.range,v=s.getUniverSheetInstance(e.unitId),S=v.getSheetBySheetId(e.subUnitId),C=u===r.Direction.LEFT?m:m-1,I=S.getColumnWidth(C),f={unitId:l,subUnitId:c,range:i,colInfo:new Array(g-m+1).fill(void 0).map(()=>({w:I,hd:r.BooleanNumber.FALSE}))},w=ft(t,f);e.unitId,e.subUnitId,e.range,r.Dimension.COLUMNS;const M=a.onCommandExecute({id:Te.id,params:e});return r.sequenceExecute([{id:Ce.id,params:f},...M.redos,ce(i,v,S)],o).result?(n.pushUndoRedo({unitID:e.unitId,undoMutations:[...M.undos,{id:Re.id,params:w}],redoMutations:[{id:Ce.id,params:f},...M.redos]}),!0):!1}},nn={type:r.CommandType.COMMAND,id:"sheet.command.insert-col-before",handler:async t=>{const o=t.get(h.SelectionManagerService).getSelections();let n;if((o==null?void 0:o.length)===1)n=o[0].range;else return!1;const a=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!a)return!1;const i=a.getActiveSheet();if(!i)return!1;const u=a.getUnitId(),c=i.getSheetId(),l=n.endColumn-n.startColumn+1,d={};r.Range.foreach(n,(g,v)=>{const S=i.getCell(g,v);!S||!S.s||(d[g]||(d[g]={}),d[g][v]={s:S.s})});const m={unitId:u,subUnitId:c,direction:r.Direction.LEFT,range:{startColumn:n.startColumn,endColumn:n.startColumn+l-1,startRow:0,endRow:i.getLastRowWithContent()},cellValue:d};return t.get(r.ICommandService).executeCommand(Te.id,m)}},on={type:r.CommandType.COMMAND,id:"sheet.command.insert-col-after",handler:async t=>{const o=t.get(h.SelectionManagerService).getSelections();let n;if((o==null?void 0:o.length)===1)n=o[0].range;else return!1;const a=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!a)return!1;const i=a.getActiveSheet();if(!i)return!1;const u=a.getUnitId(),c=i.getSheetId(),l=n.endColumn-n.startColumn+1,d={unitId:u,subUnitId:c,direction:r.Direction.RIGHT,range:{startColumn:n.endColumn+1,endColumn:n.endColumn+l,startRow:0,endRow:i.getLastRowWithContent()}};return t.get(r.ICommandService).executeCommand(Te.id,d)}},sn={id:"sheet.command.insert-sheet",type:r.CommandType.COMMAND,handler:(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=t.get(r.LocaleService);let i=s.getCurrentUniverSheetInstance().getUnitId();e&&(i=e.unitId??i);const u=s.getUniverSheetInstance(i);if(!u)return!1;let c=u.getSheets().length,l=r.Tools.deepClone(r.DEFAULT_WORKSHEET);e?(c=e.index??c,e.sheet?l=e.sheet:(l.id=r.Tools.generateRandomId(),l.name=u.generateNewSheetName(`${a.t("sheets.sheet")}`))):(l.id=r.Tools.generateRandomId(),l.name=u.generateNewSheetName(`${a.t("sheets.sheet")}`));const d={index:c,sheet:l,unitId:i},m=ht(t,d);return o.syncExecuteCommand(ve.id,d)?(n.pushUndoRedo({unitID:i,undoMutations:[{id:ke.id,params:m}],redoMutations:[{id:ve.id,params:d}]}),!0):!1}};function Po(t,e){const{unitId:o,subUnitId:n,sourceRange:s,targetRange:a}=e,i=s.startRow>a.startRow,u=s.endRow-s.startRow+1;return i?{unitId:o,subUnitId:n,sourceRange:r.Rectangle.clone(a),targetRange:{...s,endRow:s.endRow+u,startRow:s.startRow+u}}:{unitId:o,subUnitId:n,targetRange:r.Rectangle.clone(s),sourceRange:{...a,endRow:a.endRow-u,startRow:a.startRow-u}}}const Ve={id:"sheet.mutation.move-rows",type:r.CommandType.MUTATION,handler:(t,e)=>{const{unitId:o,subUnitId:n,sourceRange:s,targetRange:a}=e,u=t.get(r.IUniverInstanceService).getUniverSheetInstance(o);if(!u)throw new Error("[MoveRowMutation] univerSheet is null!");const c=u.getSheetBySheetId(n);if(!c)throw new Error("[MoveRowMutation] worksheet is null!");const l=s.startRow,d=s.endRow-s.startRow+1,m=a.startRow,g=c.getRowManager().getRowData();return r.moveMatrixArray(l,d,m,g),c.getCellMatrix().moveRows(l,d,m),!0}};function ko(t,e){const{unitId:o,subUnitId:n,sourceRange:s,targetRange:a}=e,i=s.startColumn>a.startColumn,u=s.endColumn-s.startColumn+1;return i?{unitId:o,subUnitId:n,sourceRange:r.Rectangle.clone(a),targetRange:{...s,endColumn:s.endColumn+u,startColumn:s.startColumn+u}}:{unitId:o,subUnitId:n,targetRange:r.Rectangle.clone(s),sourceRange:{...a,startColumn:a.startColumn-u,endColumn:a.endColumn-u}}}const je={id:"sheet.mutation.move-columns",type:r.CommandType.MUTATION,handler:(t,e)=>{const{unitId:o,subUnitId:n,sourceRange:s,targetRange:a}=e,u=t.get(r.IUniverInstanceService).getUniverSheetInstance(o);if(!u)throw new Error("[MoveColumnMutation] univerSheet is null!");const c=u.getSheetBySheetId(n);if(!c)throw new Error("[MoveColumnMutation] worksheet is null!");const l=s.startColumn,d=s.endColumn-s.startColumn+1,m=a.startColumn,g=c.getColumnManager().getColumnData();return r.moveMatrixArray(l,d,m,g),c.getCellMatrix().moveColumns(l,d,m),!0}};function Lo(t,e){return e.getMergeData().some(o=>o.startRow<t&&t<=o.endRow)}function Bo(t,e){return e.getMergeData().some(o=>o.startColumn<t&&t<=o.endColumn)}const rn="sheet.command.move-rows",Rt={id:rn,type:r.CommandType.COMMAND,handler:async(t,e)=>{const n=t.get(h.SelectionManagerService).getSelections(),{fromRange:{startRow:s},toRange:{startRow:a}}=e,i=n==null?void 0:n.filter(ae=>ae.range.rangeType===r.RANGE_TYPE.ROW&&ae.range.startRow<=s&&s<=ae.range.endRow);if((i==null?void 0:i.length)!==1)return!1;const u=t.get(h.SheetInterceptorService),l=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!l)return!1;const d=l.getActiveSheet();if(!d)return!1;const m=l.getUnitId(),g=d.getSheetId(),v=t.get(r.ErrorService),S=i[0].range,C=i[0].primary,I=Be(S,d,!1);if(!r.Rectangle.equals(S,I))return v.emit("Only part of a merged cell is selected."),!1;if(Lo(a,d))return v.emit("Across a merged cell."),!1;const f={...S,startRow:a,endRow:a+S.endRow-S.startRow},w={unitId:m,subUnitId:g,sourceRange:S,targetRange:f},M=Po(t,w),y=a-s<0,D=S.endRow-S.startRow+1,_=y?f:{...f,startRow:f.startRow-D,endRow:f.endRow-D},E={unitId:m,subUnitId:g,pluginName:Y,selections:[{range:_,primary:X(_,d),style:null}]},b={unitId:m,subUnitId:g,pluginName:Y,selections:[{range:S,primary:C,style:null}]},U=t.get(r.ICommandService),L=u.onCommandExecute({id:Rt.id,params:e}),R=[{id:Ve.id,params:w},{id:G.id,params:E},...L.redos],q=[{id:Ve.id,params:M},{id:G.id,params:b},...L.undos];return r.sequenceExecute(R,U).result?(t.get(r.IUndoRedoService).pushUndoRedo({unitID:m,undoMutations:q,redoMutations:R}),!0):!1}},an="sheet.command.move-cols",Mt={id:an,type:r.CommandType.COMMAND,handler:async(t,e)=>{const n=t.get(h.SelectionManagerService).getSelections(),{fromRange:{startColumn:s},toRange:{startColumn:a}}=e,i=n==null?void 0:n.filter(ae=>ae.range.rangeType===r.RANGE_TYPE.COLUMN&&ae.range.startColumn<=s&&s<=ae.range.endColumn);if((i==null?void 0:i.length)!==1)return!1;const u=t.get(h.SheetInterceptorService),l=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!l)return!1;const d=l.getActiveSheet();if(!d)return!1;const m=l.getUnitId(),g=d.getSheetId(),v=t.get(r.ErrorService),S=i[0].range,C=i[0].primary,I=Be(S,d,!1);if(!r.Rectangle.equals(S,I))return v.emit("Only part of a merged cell is selected."),!1;if(Bo(a,d))return v.emit("Across a merged cell."),!1;const f={...S,startColumn:a,endColumn:a+S.endColumn-S.startColumn},w={unitId:m,subUnitId:g,sourceRange:S,targetRange:f},M=ko(t,w),p=S.endColumn-S.startColumn+1,_=a-s<0?f:{...f,startColumn:f.startColumn-p,endColumn:f.endColumn-p},E={unitId:m,subUnitId:g,pluginName:Y,selections:[{range:_,primary:X(_,d),style:null}]},b={unitId:m,subUnitId:g,pluginName:Y,selections:[{range:S,primary:C,style:null}]},U=t.get(r.ICommandService),L=u.onCommandExecute({id:Mt.id,params:e}),R=[{id:je.id,params:w},{id:G.id,params:E},...L.redos],q=[{id:je.id,params:M},{id:G.id,params:b},...L.undos];return r.sequenceExecute(R,U).result&&t.get(r.IUndoRedoService).pushUndoRedo({unitID:m,undoMutations:q,redoMutations:R}),!0}},un="sheet.command.remove-row",Qe={type:r.CommandType.COMMAND,id:un,handler:async(t,e)=>{var C;const o=t.get(h.SelectionManagerService),n=t.get(h.SheetInterceptorService);let s=e==null?void 0:e.range;if(s||(s=(C=o.getLast())==null?void 0:C.range),!s)return!1;const i=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance(),u=i.getActiveSheet(),c=i.getUnitId(),l=u.getSheetId();s={...s,startColumn:0,endColumn:Math.max(u.getMaxColumns()-1,0)};const d={unitId:c,subUnitId:l,range:s},m=Oo(d,u),g=n.onCommandExecute({id:Qe.id,params:{range:s}}),v=t.get(r.ICommandService);return r.sequenceExecute([{id:fe.id,params:d},...g.redos,ce(s,i,u)],v).result?(t.get(r.IUndoRedoService).pushUndoRedo({unitID:c,undoMutations:[...g.undos,{id:Ie.id,params:m}],redoMutations:[{id:fe.id,params:d},...g.redos]}),!0):!1}},cn="sheet.command.remove-col",et={type:r.CommandType.COMMAND,id:cn,handler:async(t,e)=>{var C;const o=t.get(h.SelectionManagerService),n=t.get(h.SheetInterceptorService);let s=e==null?void 0:e.range;if(s||(s=(C=o.getLast())==null?void 0:C.range),!s)return!1;const i=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance(),u=i.getActiveSheet(),c=i.getUnitId(),l=u.getSheetId();s={...s,startRow:0,endRow:Math.max(u.getMaxRows()-1,0)};const d={unitId:c,subUnitId:l,range:s},m=Ao(t,d),g=n.onCommandExecute({id:et.id,params:{range:s}}),v=t.get(r.ICommandService);return r.sequenceExecute([{id:Re.id,params:d},...g.redos,ce(s,i,u)],v).result?(t.get(r.IUndoRedoService).pushUndoRedo({unitID:c,undoMutations:[...g.undos,{id:Ce.id,params:m}],redoMutations:[{id:Re.id,params:d},...g.redos]}),!0):!1}},wt={id:"sheet.command.remove-sheet",type:r.CommandType.COMMAND,handler:async(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=t.get(h.SheetInterceptorService);let i=s.getCurrentUniverSheetInstance().getUnitId(),u=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();e&&(i=e.unitId??i,u=e.subUnitId??u);const c=s.getUniverSheetInstance(i);if(!c)return!1;const l=c.getSheetBySheetId(u);if(!l||c.getSheets().length<=1)return!1;const d=c.getSheetIndex(l);c.getConfig().sheetOrder[d+1];const m={subUnitId:u,unitId:i},g=qt(t,m),v=a.onCommandExecute({id:wt.id,params:{unitId:i,subUnitId:u}}),S=[{id:ke.id,params:m},...v.redos],C=[...v.undos,{id:ve.id,params:g}];return r.sequenceExecute(S,o)?(n.pushUndoRedo({unitID:i,undoMutations:C,redoMutations:S}),!0):!1}},se=(t,e)=>{if(t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId)==null)throw new Error("universheet is null error!");return{unitId:e.unitId,subUnitId:e.subUnitId,ranges:e.ranges}},j={id:"sheet.mutation.add-worksheet-merge",type:r.CommandType.MUTATION,handler:(t,e)=>{const n=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(n==null)throw new Error("universheet is null error!");const s=n.getSheetBySheetId(e.subUnitId);if(!s)return!1;const i=s.getConfig().mergeData,u=e.ranges;for(let c=0;c<u.length;c++)i.push(u[c]);return!0}},Q=(t,e)=>{const n=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(n==null)throw new Error("universheet is null error!");const s=n.getSheetBySheetId(e.subUnitId);if(s==null)throw new Error("worksheet is null error!");const i=s.getConfig().mergeData,u=e.ranges,c=[];for(let l=0;l<u.length;l++)for(let d=i.length-1;d>=0;d--){const m=i[d],g=u[l];r.Rectangle.intersects(m,g)&&c.push(i[d])}return{unitId:e.unitId,subUnitId:e.subUnitId,ranges:c}},W={id:"sheet.mutation.remove-worksheet-merge",type:r.CommandType.MUTATION,handler:(t,e)=>{const n=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(n==null)throw new Error("universheet is null error!");const s=n.getSheetBySheetId(e.subUnitId);if(!s)return!1;const i=s.getConfig().mergeData,u=e.ranges;for(let c=0;c<u.length;c++)for(let l=i.length-1;l>=0;l--){const d=i[l],m=u[c];r.Rectangle.intersects(d,m)&&i.splice(l,1)}return!0}},dn={type:r.CommandType.COMMAND,id:"sheet.command.remove-worksheet-merge",handler:async t=>{const e=t.get(h.SelectionManagerService),o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=e.getSelectionRanges();if(!(a!=null&&a.length))return!1;const i=s.getCurrentUniverSheetInstance().getUnitId(),u=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),c=s.getUniverSheetInstance(i);if(!c)return!1;const l=c.getSheetBySheetId(u);if(!l)return!1;const d={unitId:i,subUnitId:u,ranges:a};let m=!1;const g=l.getConfig().mergeData;if(a.forEach(C=>{g.forEach(I=>{r.Rectangle.intersects(C,I)&&(m=!0)})}),!m)return!1;const v=Q(t,d);return o.syncExecuteCommand(W.id,d)?(n.pushUndoRedo({unitID:i,undoMutations:[{id:j.id,params:v}],redoMutations:[{id:W.id,params:d}]}),!0):!1}};class Me{constructor(){B(this,"_borderInfo",{type:r.BorderType.ALL,color:"#000000",style:r.BorderStyleTypes.THIN,activeBorderType:!1});B(this,"_borderInfo$",new Ue.BehaviorSubject(this._borderInfo));B(this,"borderInfo$",this._borderInfo$.asObservable())}dispose(){this._borderInfo$.complete()}setType(e){this._borderInfo.type=e,this.setActiveBorderType(!0),this.refresh()}setColor(e){this._borderInfo.color=e,this.refresh()}setStyle(e){this._borderInfo.style=e,this.refresh()}setActiveBorderType(e){this._borderInfo.activeBorderType=e}getBorderInfo(){return this._borderInfo}refresh(){this._borderInfo$.next(this._borderInfo)}}function Vo(t,e,o){const n=e?t.getUniverSheetInstance(e):t.getCurrentUniverSheetInstance();if(!n)throw new Error;const s=o?n.getSheetBySheetId(o):n.getActiveSheet();if(!s)throw new Error;return{workbook:n,worksheet:s,unitId:e??n.getUnitId(),subUnitId:o??s.getSheetId()}}function tt(t,e){const{startRow:o,startColumn:n,endRow:s,endColumn:a}=t;for(let i=o;i<=s;i++)for(let u=n;u<=a;u++)e(i,u)}const ln={id:"sheet.command.set-border-basic",type:r.CommandType.COMMAND,handler:async(t,e)=>{const{unitId:o,subUnitId:n,value:s}=e,{type:a,color:i,style:u}=s,c=t.get(r.ICommandService),l=t.get(Me);return l.setType(a),l.setColor(i),l.setStyle(u),c.executeCommand(Ee.id,{unitId:o,subUnitId:n})}},mn={id:"sheet.command.set-border-position",type:r.CommandType.COMMAND,handler:async(t,e)=>{if(!e.value)return!1;const o=t.get(r.ICommandService);return t.get(Me).setType(e.value),o.executeCommand(Ee.id)}},gn={id:"sheet.command.set-border-style",type:r.CommandType.COMMAND,handler:async(t,e)=>{const o=t.get(r.ICommandService);return t.get(Me).setStyle(e.value),o.executeCommand(Ee.id)}},hn={id:"sheet.command.set-border-color",type:r.CommandType.COMMAND,handler:async(t,e)=>{const o=t.get(r.ICommandService);return t.get(Me).setColor(e.value),o.executeCommand(Ee.id)}},Ee={id:"sheet.command.set-border",type:r.CommandType.COMMAND,handler:async(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=t.get(h.SelectionManagerService),i=t.get(Me),{worksheet:u,unitId:c,subUnitId:l}=Vo(s,e==null?void 0:e.unitId,e==null?void 0:e.subUnitId),d=a.getSelectionRanges(),m=u.getConfig().mergeData;if(!(d!=null&&d.length))return!1;const{style:g,color:v,type:S,activeBorderType:C}=i.getBorderInfo();if(!C)return!1;const I=S===r.BorderType.TOP||S===r.BorderType.ALL||S===r.BorderType.OUTSIDE,f=S===r.BorderType.LEFT||S===r.BorderType.ALL||S===r.BorderType.OUTSIDE,w=S===r.BorderType.BOTTOM||S===r.BorderType.ALL||S===r.BorderType.OUTSIDE,M=S===r.BorderType.RIGHT||S===r.BorderType.ALL||S===r.BorderType.OUTSIDE,p=S===r.BorderType.VERTICAL||S===r.BorderType.ALL||S===r.BorderType.INSIDE,y=S===r.BorderType.HORIZONTAL||S===r.BorderType.ALL||S===r.BorderType.INSIDE,D=S.indexOf("tlbr")>-1,_=S.indexOf("tlbc")>-1,E=S.indexOf("tlmr")>-1,b=S.indexOf("bltr")>-1,U=S.indexOf("mltr")>-1,L=S.indexOf("bctr")>-1,R=d[0],q={startRow:R.startRow-1,startColumn:R.startColumn,endRow:R.startRow-1,endColumn:R.endColumn},ye={startRow:R.startRow,startColumn:R.startColumn-1,endRow:R.endRow,endColumn:R.startColumn-1},ae={startRow:R.endRow+1,startColumn:R.startColumn,endRow:R.endRow+1,endColumn:R.endColumn},ir={startRow:R.startRow,startColumn:R.endColumn+1,endRow:R.endRow,endColumn:R.endColumn+1},Zn={startRow:R.startRow,startColumn:R.startColumn,endRow:R.startRow,endColumn:R.endColumn},Qn={startRow:R.startRow,startColumn:R.startColumn,endRow:R.endRow,endColumn:R.startColumn},eo={startRow:R.endRow,startColumn:R.startColumn,endRow:R.endRow,endColumn:R.endColumn},to={startRow:R.startRow,startColumn:R.endColumn,endRow:R.endRow,endColumn:R.endColumn},P=new r.ObjectMatrix,F={s:g,cl:{rgb:v}},lt=(A,O)=>{let k=null;return m.forEach(J=>{r.Rectangle.intersects(J,{startColumn:O,endColumn:O,startRow:A,endRow:A})&&(k=J)}),k};function $(A,O,k){A.startRow<0||A.startColumn<0||tt(A,(J,ne)=>{var T,Ge;const Z=lt(J,ne);let ee=O;if(Z){if(k){const oe=r.Tools.deepClone((T=P.getValue(Z.startRow,Z.startColumn))==null?void 0:T.s);ee=oe!=null&&oe.bd?Object.assign(oe.bd,O):O}P.setValue(Z.startRow,Z.startColumn,{s:{bd:ee}})}else{if(k){const oe=r.Tools.deepClone((Ge=P.getValue(J,ne))==null?void 0:Ge.s);ee=oe!=null&&oe.bd?Object.assign(oe.bd,O):O}P.setValue(J,ne,{s:{bd:ee}})}})}I&&$(Zn,{t:r.Tools.deepClone(F)},!0),w&&$(eo,{b:r.Tools.deepClone(F)},!0),f&&$(Qn,{l:r.Tools.deepClone(F)},!0),M&&$(to,{r:r.Tools.deepClone(F)},!0),D&&$(R,{tl_br:r.Tools.deepClone(F)},!0),_&&$(R,{tl_bc:r.Tools.deepClone(F)},!0),E&&$(R,{tl_mr:r.Tools.deepClone(F)},!0),b&&$(R,{bl_tr:r.Tools.deepClone(F)},!0),U&&$(R,{ml_tr:r.Tools.deepClone(F)},!0),L&&$(R,{bc_tr:r.Tools.deepClone(F)},!0),p&&tt(R,(A,O)=>{var J,ne,Z,ee;const k=lt(A,O);if(k){if(k.endColumn!==R.endColumn){const T=(J=P.getValue(k.startRow,k.startColumn))==null?void 0:J.s;P.setValue(A,O,{s:{bd:T!=null&&T.bd?Object.assign(T.bd,{r:r.Tools.deepClone(F)}):{r:r.Tools.deepClone(F)}}})}if(k.startColumn!==R.startColumn){const T=(ne=P.getValue(k.startRow,k.startColumn))==null?void 0:ne.s;P.setValue(A,O,{s:{bd:T!=null&&T.bd?Object.assign(T.bd,{l:r.Tools.deepClone(F)}):{l:r.Tools.deepClone(F)}}})}}else{if(O!==R.endColumn){const T=(Z=P.getValue(A,O))==null?void 0:Z.s;P.setValue(A,O,{s:{bd:T!=null&&T.bd?Object.assign(T.bd,{r:r.Tools.deepClone(F)}):{r:r.Tools.deepClone(F)}}})}if(O!==R.startColumn){const T=(ee=P.getValue(A,O))==null?void 0:ee.s;P.setValue(A,O,{s:{bd:T!=null&&T.bd?Object.assign(T.bd,{l:r.Tools.deepClone(F)}):{l:r.Tools.deepClone(F)}}})}}}),y&&tt(R,(A,O)=>{var J,ne,Z,ee;const k=lt(A,O);if(k){if(k.endRow!==R.endRow){const T=(J=P.getValue(k.startRow,k.startColumn))==null?void 0:J.s;P.setValue(A,O,{s:{bd:T!=null&&T.bd?Object.assign(T.bd,{b:r.Tools.deepClone(F)}):{b:r.Tools.deepClone(F)}}})}if(k.startRow!==R.startRow){const T=(ne=P.getValue(k.startRow,k.startColumn))==null?void 0:ne.s;P.setValue(A,O,{s:{bd:T!=null&&T.bd?Object.assign(T.bd,{t:r.Tools.deepClone(F)}):{t:r.Tools.deepClone(F)}}})}}else{if(A!==R.endRow){const T=(Z=P.getValue(A,O))==null?void 0:Z.s;P.setValue(A,O,{s:{bd:T!=null&&T.bd?Object.assign(T.bd,{b:r.Tools.deepClone(F)}):{b:r.Tools.deepClone(F)}}})}if(A!==R.startRow){const T=(ee=P.getValue(A,O))==null?void 0:ee.s;P.setValue(A,O,{s:{bd:T!=null&&T.bd?Object.assign(T.bd,{t:r.Tools.deepClone(F)}):{t:r.Tools.deepClone(F)}}})}}}),!I&&!w&&!f&&!M&&!p&&!y&&!D&&!_&&!E&&!b&&!U&&!L&&($(q,{b:null}),$(Zn,{t:null},!0),$(ae,{t:null}),$(eo,{b:null},!0),$(ye,{r:null}),$(Qn,{l:null},!0),$(ir,{l:null}),$(to,{r:null},!0),$(R,{tl_br:null},!0),$(R,{tl_bc:null},!0),$(R,{tl_mr:null},!0),$(R,{bl_tr:null},!0),$(R,{ml_tr:null},!0),$(R,{bc_tr:null},!0),tt(R,(A,O)=>{var J,ne,Z,ee,T,Ge,oe,no;const k=lt(A,O);if(k){if(k.endColumn!==R.endColumn){const N=(J=P.getValue(k.startRow,k.startColumn))==null?void 0:J.s;P.setValue(A,O,{s:{bd:N!=null&&N.bd?Object.assign(N.bd,{r:null}):{r:null}}})}if(k.startColumn!==R.startColumn){const N=(ne=P.getValue(k.startRow,k.startColumn))==null?void 0:ne.s;P.setValue(A,O,{s:{bd:N!=null&&N.bd?Object.assign(N.bd,{l:null}):{l:null}}})}if(k.endRow!==R.endRow){const N=(Z=P.getValue(k.startRow,k.startColumn))==null?void 0:Z.s;P.setValue(A,O,{s:{bd:N!=null&&N.bd?Object.assign(N.bd,{b:null}):{b:null}}})}if(k.startRow!==R.startRow){const N=(ee=P.getValue(k.startRow,k.startColumn))==null?void 0:ee.s;P.setValue(A,O,{s:{bd:N!=null&&N.bd?Object.assign(N.bd,{t:null}):{t:null}}})}}else{if(O!==R.endColumn){const N=(T=P.getValue(A,O))==null?void 0:T.s;P.setValue(A,O,{s:{bd:N!=null&&N.bd?Object.assign(N.bd,{r:null}):{r:null}}})}if(O!==R.startColumn){const N=(Ge=P.getValue(A,O))==null?void 0:Ge.s;P.setValue(A,O,{s:{bd:N!=null&&N.bd?Object.assign(N.bd,{l:null}):{l:null}}})}if(A!==R.endRow){const N=(oe=P.getValue(A,O))==null?void 0:oe.s;P.setValue(A,O,{s:{bd:N!=null&&N.bd?Object.assign(N.bd,{b:null}):{b:null}}})}if(A!==R.startRow){const N=(no=P.getValue(A,O))==null?void 0:no.s;P.setValue(A,O,{s:{bd:N!=null&&N.bd?Object.assign(N.bd,{t:null}):{t:null}}})}}}));const Ht={unitId:c,subUnitId:l,cellValue:P.getData()},ar=ue(t,Ht);return o.syncExecuteCommand(z.id,Ht)?(n.pushUndoRedo({unitID:c,undoMutations:[{id:z.id,params:ar}],redoMutations:[{id:z.id,params:Ht}]}),!0):!1}},jo=(t,e)=>{if(t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId)==null)throw new Error("universheet is null error!");return{unitId:e.unitId,subUnitId:e.subUnitId,ranges:e.ranges}},De={id:"sheet.mutation.set-col-hidden",type:r.CommandType.MUTATION,handler:(t,e)=>{const n=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(!n)return!1;const s=n.getSheetBySheetId(e.subUnitId).getColumnManager();for(let a=0;a<e.ranges.length;a++){const i=e.ranges[a];for(let u=i.startColumn;u<i.endColumn+1;u++){const c=s.getColumnOrCreate(u);c!=null&&(c.hd=r.BooleanNumber.TRUE)}}return!0}},Wo=(t,e)=>{if(t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId)==null)throw new Error("universheet is null error!");return{unitId:e.unitId,subUnitId:e.subUnitId,ranges:e.ranges}},Oe={id:"sheet.mutation.set-col-visible",type:r.CommandType.MUTATION,handler:(t,e)=>{const n=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(!n)return!1;const s=n.getSheetBySheetId(e.subUnitId).getColumnManager();for(let a=0;a<e.ranges.length;a++){const i=e.ranges[a];for(let u=i.startColumn;u<i.endColumn+1;u++){const c=s.getColumnOrCreate(u);c!=null&&(c.hd=r.BooleanNumber.FALSE)}}return!0}},pt={type:r.CommandType.COMMAND,id:"sheet.command.set-col-visible-on-cols",handler:async(t,e)=>{const{unitId:o,subUnitId:n,ranges:s}=e,a=t.get(r.IUniverInstanceService).getUniverSheetInstance(o).getSheetBySheetId(n),i={unitId:o,subUnitId:n,ranges:s},u=Wo(t,i),c={unitId:o,subUnitId:n,pluginName:Y,selections:s.map(g=>({range:g,primary:X(g,a),style:null}))},l={unitId:o,subUnitId:n,pluginName:Y,selections:In(s).map(g=>({range:g,primary:X(g,a),style:null}))},d=t.get(r.ICommandService);return r.sequenceExecute([{id:Oe.id,params:i},{id:G.id,params:c}],d).result&&t.get(r.IUndoRedoService).pushUndoRedo({unitID:o,undoMutations:[{id:De.id,params:u},{id:G.id,params:l}],redoMutations:[{id:Oe.id,params:i},{id:G.id,params:c}]}),!0}},vn={type:r.CommandType.COMMAND,id:"sheet.command.set-selected-cols-visible",handler:async t=>{var l;const o=(l=t.get(h.SelectionManagerService).getSelections())==null?void 0:l.map(d=>d.range).filter(d=>d.rangeType===r.RANGE_TYPE.COLUMN);if(!(o!=null&&o.length))return!1;const s=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!s)return!1;const a=s.getActiveSheet();if(!a)return!1;const i=s.getUnitId(),u=a.getSheetId(),c=o.map(d=>a.getHiddenCols(d.startColumn,d.endColumn)).flat();return t.get(r.ICommandService).executeCommand(pt.id,{unitId:i,subUnitId:u,ranges:c})}},Sn={type:r.CommandType.COMMAND,id:"sheet.command.set-col-hidden",handler:async t=>{var v;const o=(v=t.get(h.SelectionManagerService).getSelections())==null?void 0:v.map(S=>S.range).filter(S=>S.rangeType===r.RANGE_TYPE.COLUMN);if(!(o!=null&&o.length))return!1;const s=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance();if(!s)return!1;const a=s.getActiveSheet();if(!a)return!1;const i=s.getUnitId(),u=a.getSheetId(),c={unitId:i,subUnitId:u,ranges:o},l={unitId:i,subUnitId:u,pluginName:Y,selections:In(o).map(S=>({range:S,primary:X(S,a),style:null}))},d={unitId:i,subUnitId:u,pluginName:Y,selections:o.map(S=>({range:S,primary:X(S,a),style:null}))},m=t.get(r.ICommandService);if(r.sequenceExecute([{id:De.id,params:c},{id:G.id,params:l}],m).result){const S=t.get(r.IUndoRedoService),C=jo(t,c);return S.pushUndoRedo({unitID:i,undoMutations:[{id:Oe.id,params:C},{id:G.id,params:d}],redoMutations:[{id:De.id,params:c},{id:G.id,params:l}]}),!0}return!1}};function In(t){return Fo(t).map(o=>{const n=o.startColumn===0?o.endColumn+1:o.startColumn-1;return{...o,startColumn:n,endColumn:n}})}function Fo(t){const e=[];let o;return t.sort((n,s)=>n.startColumn-s.startColumn).forEach(n=>{if(!o){o=n;return}o.endColumn===n.startColumn-1?o.endColumn=n.endColumn:(e.push(o),o=n)}),e.push(o),e}const yt=(t,e)=>{const n=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(n==null)throw new Error("universheet is null error!");const s=n.getSheetBySheetId(e.subUnitId);if(s==null)throw new Error("worksheet is null error!");const i=s.getConfig().freeze;return{unitId:e.unitId,subUnitId:e.subUnitId,...i}},ge={id:"sheet.mutation.set-frozen",type:r.CommandType.MUTATION,handler:(t,e)=>{const n=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(n==null)throw new Error("universheet is null error!");const s=n.getSheetBySheetId(e.subUnitId);if(!s)return!1;const a=s.getConfig(),{startRow:i,startColumn:u,ySplit:c,xSplit:l}=e;return a.freeze={startRow:i,startColumn:u,ySplit:c,xSplit:l},!0}},Cn={type:r.CommandType.COMMAND,id:"sheet.command.set-frozen",handler:async(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=s.getCurrentUniverSheetInstance().getUnitId(),i=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),u=s.getUniverSheetInstance(a);if(!u)return!1;const c=u.getSheetBySheetId(i);if(!c)return!1;const{startColumn:l,startRow:d,xSplit:m,ySplit:g}=e;if(d>=c.getRowCount()||l>=c.getColumnCount()||m>=c.getColumnCount()||g>=c.getRowCount())return!1;const v={unitId:a,subUnitId:i,...e},S=yt(t,v);return o.syncExecuteCommand(ge.id,v)?(n.pushUndoRedo({unitID:a,undoMutations:[{id:ge.id,params:S}],redoMutations:[{id:ge.id,params:v}]}),!0):!1}},Ho={type:r.CommandType.COMMAND,id:"sheet.command.set-frozen-cancel",handler:async t=>{const e=t.get(r.ICommandService),o=t.get(r.IUndoRedoService),n=t.get(r.IUniverInstanceService),s=n.getCurrentUniverSheetInstance().getUnitId(),a=n.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),i=n.getUniverSheetInstance(s);if(!i||!i.getSheetBySheetId(a))return!1;const c={unitId:s,subUnitId:a,startRow:-1,startColumn:-1,ySplit:0,xSplit:0},l=yt(t,c);return e.syncExecuteCommand(ge.id,c)?(o.pushUndoRedo({unitID:s,undoMutations:[{id:ge.id,params:l}],redoMutations:[{id:ge.id,params:c}]}),!0):!1}},$o=(t,e)=>{if(t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId)==null)throw new Error("universheet is null error!");return{unitId:e.unitId,subUnitId:e.subUnitId,ranges:e.ranges}},Ae={id:"sheet.mutation.set-row-visible",type:r.CommandType.MUTATION,handler:(t,e)=>{const n=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(n==null)throw new Error("universheet is null error!");const s=n.getSheetBySheetId(e.subUnitId).getRowManager();for(let a=0;a<e.ranges.length;a++){const i=e.ranges[a];for(let u=i.startRow;u<i.endRow+1;u++){const c=s.getRowOrCreate(u);c!=null&&(c.hd=0)}}return!0}},zo=(t,e)=>{if(t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId)==null)throw new Error("universheet is null error!");return{unitId:e.unitId,subUnitId:e.subUnitId,ranges:e.ranges}},Ne={id:"sheet.mutation.set-row-hidden",type:r.CommandType.MUTATION,handler:(t,e)=>{const n=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(n==null)throw new Error("universheet is null error!");const s=n.getSheetBySheetId(e.subUnitId).getRowManager();for(let a=0;a<e.ranges.length;a++){const i=e.ranges[a];for(let u=i.startRow;u<i.endRow+1;u++){const c=s.getRowOrCreate(u);c!=null&&(c.hd=1)}}return!0}},Ut={type:r.CommandType.COMMAND,id:"sheet.command.set-specific-rows-visible",handler:async(t,e)=>{const{unitId:o,subUnitId:n,ranges:s}=e,a=t.get(r.ICommandService),i=t.get(r.IUndoRedoService),u=t.get(r.IUniverInstanceService).getUniverSheetInstance(o).getSheetBySheetId(n),c={unitId:o,subUnitId:n,ranges:s},l=$o(t,c),d={unitId:o,subUnitId:n,pluginName:Y,selections:s.map(v=>({range:v,primary:X(v,u),style:null}))},m={unitId:o,subUnitId:n,pluginName:Y,selections:Mn(s).map(v=>({range:v,primary:X(v,u),style:null}))};return r.sequenceExecute([{id:Ae.id,params:c},{id:G.id,params:d}],a).result&&i.pushUndoRedo({unitID:o,undoMutations:[{id:Ne.id,params:l},{id:G.id,params:m}],redoMutations:[{id:Ae.id,params:c},{id:G.id,params:d}]}),!0}},fn={type:r.CommandType.COMMAND,id:"sheet.command.set-selected-rows-visible",handler:async t=>{var l;const e=t.get(h.SelectionManagerService),o=t.get(r.IUniverInstanceService),n=(l=e.getSelections())==null?void 0:l.map(d=>d.range).filter(d=>d.rangeType===r.RANGE_TYPE.ROW);if(!(n!=null&&n.length))return!1;const s=o.getCurrentUniverSheetInstance();if(!s)return!1;const a=s.getActiveSheet();if(!a)return!1;const i=s.getUnitId(),u=a.getSheetId(),c=n.map(d=>a.getHiddenRows(d.startRow,d.endRow)).flat();return t.get(r.ICommandService).executeCommand(Ut.id,{unitId:i,subUnitId:u,ranges:c})}},Rn={type:r.CommandType.COMMAND,id:"sheet.command.set-rows-hidden",handler:async t=>{var C;const e=t.get(h.SelectionManagerService),o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=(C=e.getSelections())==null?void 0:C.map(I=>I.range).filter(I=>I.rangeType===r.RANGE_TYPE.ROW);if(!(a!=null&&a.length))return!1;const i=s.getCurrentUniverSheetInstance().getUnitId(),u=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),c=s.getUniverSheetInstance(i);if(!c)return!1;const l=c.getSheetBySheetId(u);if(!l)return!1;const d={unitId:i,subUnitId:u,ranges:a},m={unitId:i,subUnitId:u,pluginName:Y,selections:Mn(a).map(I=>({range:I,primary:X(I,l),style:null}))},g={unitId:i,subUnitId:u,pluginName:Y,selections:a.map(I=>({range:I,primary:X(I,l),style:null}))},v=zo(t,d);return r.sequenceExecute([{id:Ne.id,params:d},{id:G.id,params:m}],o).result&&n.pushUndoRedo({unitID:i,undoMutations:[{id:Ae.id,params:v},{id:G.id,params:g}],redoMutations:[{id:Ne.id,params:d},{id:G.id,params:m}]}),!0}};function Mn(t){return Go(t).map(o=>{const n=o.startRow===0?o.endRow+1:o.startRow-1;return{...o,startRow:n,endRow:n}})}function Go(t){const e=[];let o;return t.sort((n,s)=>n.startRow-s.startRow).forEach(n=>{if(!o){o=n;return}n.startRow===o.endRow+1?o.endRow=n.endRow:(e.push(o),o=n)}),e.push(o),e}const x={type:r.CommandType.COMMAND,id:"sheet.command.set-style",handler:async(t,e)=>{const o=t.get(r.IUniverInstanceService),{unitId:n=o.getCurrentUniverSheetInstance().getUnitId(),subUnitId:s=o.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),range:a,style:i}=e,u=t.get(r.ICommandService),c=t.get(r.IUndoRedoService),l=t.get(h.SelectionManagerService),d=a?[a]:l.getSelectionRanges();if(!(d!=null&&d.length))return!1;const m=o.getUniverSheetInstance(n);if((m==null?void 0:m.getSheetBySheetId(s))==null)return!1;const v=new r.ObjectMatrix;if(r.Tools.isArray(i.value))for(let p=0;p<d.length;p++){const{startRow:y,endRow:D,startColumn:_,endColumn:E}=d[p];for(let b=0;b<=D-y;b++)for(let U=0;U<=E-_;U++)v.setValue(b+y,U+_,{s:{[i.type]:i.value[b][U]}})}else for(let p=0;p<d.length;p++){const{startRow:y,endRow:D,startColumn:_,endColumn:E}=d[p],b={s:{[i.type]:i.value}};for(let U=y;U<=D;U++)for(let L=_;L<=E;L++)v.setValue(U,L,b)}const S={subUnitId:s,unitId:n,cellValue:v.getMatrix()},C=ue(t,S),I=u.syncExecuteCommand(z.id,S),{undos:f,redos:w}=t.get(h.SheetInterceptorService).onCommandExecute({id:x.id,params:e}),M=r.sequenceExecute([...w],u);return I&&M.result?(c.pushUndoRedo({unitID:n,undoMutations:[{id:z.id,params:C},...f],redoMutations:[{id:z.id,params:S},...w]}),!0):!1}},qo={type:r.CommandType.COMMAND,id:"sheet.command.set-bold",handler:async t=>{const e=t.get(h.SelectionManagerService).getLast();if(!e)return!1;const o=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance().getActiveSheet(),{actualRow:n,actualColumn:s}=e.primary,i={style:{type:"bl",value:o.getRange(n,s).getFontWeight()===r.FontWeight.BOLD?r.BooleanNumber.FALSE:r.BooleanNumber.TRUE}};return t.get(r.ICommandService).executeCommand(x.id,i)}},Yo={type:r.CommandType.COMMAND,id:"sheet.command.set-italic",handler:async t=>{const e=t.get(h.SelectionManagerService).getLast();if(!e)return!1;const o=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance().getActiveSheet();let n=!0;if(e.primary){const{startRow:a,startColumn:i}=e.primary;n=o.getRange(a,i).getFontStyle()===r.FontItalic.ITALIC}const s={style:{type:"it",value:n?r.BooleanNumber.FALSE:r.BooleanNumber.TRUE}};return t.get(r.ICommandService).executeCommand(x.id,s)}},xo={type:r.CommandType.COMMAND,id:"sheet.command.set-underline",handler:async t=>{const e=t.get(h.SelectionManagerService).getLast();if(!e)return!1;const o=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance().getActiveSheet();let n=!0;e.primary&&(n=!!o.getRange(e.primary.startRow,e.primary.startColumn).getUnderline().s);const s={style:{type:"ul",value:{s:n?r.BooleanNumber.FALSE:r.BooleanNumber.TRUE}}};return t.get(r.ICommandService).executeCommand(x.id,s)}},Ko={type:r.CommandType.COMMAND,id:"sheet.command.set-stroke",handler:async t=>{const e=t.get(h.SelectionManagerService).getLast();if(!e)return!1;const o=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance().getActiveSheet();let n=!0;e.primary&&(n=!!o.getRange(e.primary.actualRow,e.primary.actualColumn).getStrikeThrough().s);const s={style:{type:"st",value:{s:n?r.BooleanNumber.FALSE:r.BooleanNumber.TRUE}}};return t.get(r.ICommandService).executeCommand(x.id,s)}};r.CommandType.COMMAND;const Jo={type:r.CommandType.COMMAND,id:"sheet.command.set-font-family",handler:async(t,e)=>{if(!e)return!1;const o=t.get(r.ICommandService),n={style:{type:"ff",value:e.value}};return o.executeCommand(x.id,n)}},Xo={type:r.CommandType.COMMAND,id:"sheet.command.set-font-size",handler:async(t,e)=>{if(!e)return!1;const o=t.get(r.ICommandService),n={style:{type:"fs",value:e.value}};return o.executeCommand(x.id,n)}},wn={type:r.CommandType.COMMAND,id:"sheet.command.set-text-color",handler:async(t,e)=>{if(!e||!e.value)return!1;const o=t.get(r.ICommandService),n={style:{type:"cl",value:{rgb:e.value}}};return o.executeCommand(x.id,n)}},pn={type:r.CommandType.COMMAND,id:"sheet.command.reset-text-color",handler:async t=>{const e=t.get(r.ICommandService),o={style:{type:"cl",value:{rgb:null}}};return e.executeCommand(x.id,o)}},yn={type:r.CommandType.COMMAND,id:"sheet.command.set-background-color",handler:async(t,e)=>{if(!e||!e.value)return!1;const o=t.get(r.ICommandService),n={style:{type:"bg",value:{rgb:e.value}}};return o.executeCommand(x.id,n)}},Un={type:r.CommandType.COMMAND,id:"sheet.command.reset-background-color",handler:async t=>{const e=t.get(r.ICommandService),o={style:{type:"bg",value:{rgb:null}}};return e.executeCommand(x.id,o)}},_n={type:r.CommandType.COMMAND,id:"sheet.command.set-vertical-text-align",handler:async(t,e)=>{if(!e)return!1;const o=t.get(r.ICommandService),n={style:{type:"vt",value:e.value}};return o.executeCommand(x.id,n)}},bn={type:r.CommandType.COMMAND,id:"sheet.command.set-horizontal-text-align",handler:async(t,e)=>{if(!e)return!1;const o=t.get(r.ICommandService),n={style:{type:"ht",value:e.value}};return o.executeCommand(x.id,n)}},Tn={type:r.CommandType.COMMAND,id:"sheet.command.set-text-wrap",handler:async(t,e)=>{if(!e)return!1;const o=t.get(r.ICommandService),n={style:{type:"tb",value:e.value}};return o.executeCommand(x.id,n)}},En={type:r.CommandType.COMMAND,id:"sheet.command.set-text-rotation",handler:async(t,e)=>{if(!e)return!1;const o=typeof e.value=="number"?{a:e.value}:{a:0,v:r.BooleanNumber.TRUE},n=t.get(r.ICommandService),s={style:{type:"tr",value:o}};return n.executeCommand(x.id,s)}},Zo=(t,e)=>{const a=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId).getSheetBySheetId(e.subUnitId).getConfig().tabColor;return{...r.Tools.deepClone(e),color:a}},We={id:"sheet.mutation.set-tab-color",type:r.CommandType.MUTATION,handler:(t,e)=>{const o=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(!o)return!1;const n=o.getSheetBySheetId(e.subUnitId);return n?(n.getConfig().tabColor=e.color,!0):!1}},Dn={type:r.CommandType.COMMAND,id:"sheet.command.set-tab-color",handler:async(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=s.getCurrentUniverSheetInstance().getUnitId(),i=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),u=s.getUniverSheetInstance(a);if(!u||!u.getSheetBySheetId(i))return!1;const l={color:e.value,unitId:a,subUnitId:i},d=Zo(t,l);return o.syncExecuteCommand(We.id,l)?(n.pushUndoRedo({unitID:a,undoMutations:[{id:We.id,params:d}],redoMutations:[{id:We.id,params:l}]}),!0):!1}},Fe={id:"sheet.operation.set-worksheet-active",type:r.CommandType.OPERATION,handler:(t,e)=>{const o=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(!o)return!1;const n=o.getWorksheets();for(const[,s]of n)s.getSheetId()===e.subUnitId?(s.getConfig().status=r.BooleanNumber.TRUE,o.__setActiveSheet(s)):s.getConfig().status=r.BooleanNumber.FALSE;return!0}},_t={type:r.CommandType.COMMAND,id:"sheet.command.set-worksheet-activate",handler:(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUniverInstanceService);let s=n.getCurrentUniverSheetInstance().getUnitId(),a=n.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();e&&(s=e.unitId??s,a=e.subUnitId??a);const i={unitId:s,subUnitId:a};return o.syncExecuteCommand(Fe.id,i)}},bt=(t,e)=>{const n=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(n==null)throw new Error("universheet is null error!");const s=n.getSheetBySheetId(e.subUnitId);if(s==null)throw new Error("universheet is null error!");const a={},i=s.getColumnManager(),u=e.ranges;for(let c=0;c<u.length;c++){const l=u[c];for(let d=l.startColumn;d<l.endColumn+1;d++){const m=i.getColumnOrCreate(d);a[d]=m.w}}return{unitId:e.unitId,subUnitId:e.subUnitId,ranges:e.ranges,colWidth:a}},de={id:"sheet.mutation.set-worksheet-col-width",type:r.CommandType.MUTATION,handler:(t,e)=>{const n=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(n==null)throw new Error("universheet is null error!");const s=n.getSheetBySheetId(e.subUnitId);if(!s)return!1;const a=s.getConfig().defaultColumnWidth,i=s.getColumnManager(),u=e.ranges;for(let c=0;c<u.length;c++){const l=u[c];for(let d=l.startColumn;d<l.endColumn+1;d++){const m=i.getColumnOrCreate(d);typeof e.colWidth=="number"?m.w=e.colWidth:m.w=e.colWidth[d-l.startColumn]??a}}return!0}},Tt={type:r.CommandType.COMMAND,id:"sheet.command.delta-column-width",handler:async(t,e)=>{const n=t.get(h.SelectionManagerService).getSelections();if(!(n!=null&&n.length))return!1;const s=t.get(r.ICommandService),a=t.get(r.IUndoRedoService),u=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance(),c=u.getActiveSheet(),l=u.getUnitId(),d=c.getSheetId(),{anchorCol:m,deltaX:g}=e,S=c.getColumnWidth(m)+g,C=n.length===1&&n[0].range.rangeType===r.RANGE_TYPE.ALL,I=n.filter(E=>E.range.rangeType===r.RANGE_TYPE.COLUMN),f=C?r.RANGE_TYPE.ALL:I.some(({range:E})=>{const{startColumn:b,endColumn:U}=E;return b<=m&&m<=U})?r.RANGE_TYPE.COLUMN:r.RANGE_TYPE.NORMAL;let w;if(f===r.RANGE_TYPE.ALL){const E=c.getRowCount(),b=new Array(c.getColumnCount()).fill(void 0).map((U,L)=>({startRow:0,endRow:E-1,startColumn:L,endColumn:L}));w={subUnitId:d,unitId:l,colWidth:S,ranges:b}}else f===r.RANGE_TYPE.COLUMN?w={subUnitId:d,unitId:l,ranges:I.map(E=>r.Rectangle.clone(E.range)),colWidth:S}:w={subUnitId:d,unitId:l,colWidth:S,ranges:[{startRow:0,endRow:c.getMaxRows()-1,startColumn:m,endColumn:m}]};const M=bt(t,w),p=s.syncExecuteCommand(de.id,w),{undos:y,redos:D}=t.get(h.SheetInterceptorService).onCommandExecute({id:Tt.id,params:w}),_=r.sequenceExecute([...D],s);return p&&_.result&&a.pushUndoRedo({unitID:l,undoMutations:[{id:de.id,params:M},...y],redoMutations:[{id:de.id,params:w},...D]}),!0}},Et={type:r.CommandType.COMMAND,id:"sheet.command.set-worksheet-col-width",handler:async(t,e)=>{const o=t.get(h.SelectionManagerService),n=t.get(r.ICommandService),s=t.get(r.IUndoRedoService),a=t.get(r.IUniverInstanceService),i=o.getSelectionRanges();if(!(i!=null&&i.length))return!1;const u=a.getCurrentUniverSheetInstance().getUnitId(),l={subUnitId:a.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),unitId:u,ranges:i,colWidth:e.value},d=bt(t,l),m=n.syncExecuteCommand(de.id,l),{undos:g,redos:v}=t.get(h.SheetInterceptorService).onCommandExecute({id:Et.id,params:l}),S=r.sequenceExecute([...v],n);return m&&S.result?(s.pushUndoRedo({unitID:u,undoMutations:[{id:de.id,params:d},...g],redoMutations:[{id:de.id,params:l},...v]}),!0):!1}},On=(t,e)=>{const n=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance().getSheetBySheetId(e.subUnitId);if(n==null)throw new Error("worksheet is null error!");return{hidden:n.isSheetHidden(),unitId:e.unitId,subUnitId:n.getSheetId()}},he={id:"sheet.mutation.set-worksheet-hidden",type:r.CommandType.MUTATION,handler:(t,e)=>{const o=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(o==null)return!1;const n=o.getSheetBySheetId(e.subUnitId);return n?(n.getConfig().hidden=e.hidden,!0):!1}},An={type:r.CommandType.COMMAND,id:"sheet.command.set-worksheet-hidden",handler:async(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=t.get(r.ErrorService),i=s.getCurrentUniverSheetInstance().getUnitId();let u=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();e&&(u=e.subUnitId??u);const c=s.getUniverSheetInstance(i);if(!c)return!1;const l=c.getSheetBySheetId(u);if(!l||l.getConfig().hidden===r.BooleanNumber.TRUE)return!1;const m={unitId:i,subUnitId:u,hidden:r.BooleanNumber.TRUE},g=On(t,m);return c.getSheets().filter(I=>I.getConfig().hidden===r.BooleanNumber.FALSE).length===1?(a.emit("No visible sheet after you hide this."),!1):o.syncExecuteCommand(he.id,m)?(n.pushUndoRedo({unitID:i,undoMutations:[{id:he.id,params:g}],redoMutations:[{id:he.id,params:m}]}),!0):!1}},Qo=(t,e)=>{const n=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance().getSheetBySheetId(e.subUnitId);if(n==null)throw new Error("worksheet is null error!");return{unitId:e.unitId,name:n.getName(),subUnitId:n.getSheetId()}},nt={id:"sheet.mutation.set-worksheet-name",type:r.CommandType.MUTATION,handler:(t,e)=>{const o=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(o==null)return!1;const n=o.getSheetBySheetId(e.subUnitId);return n?(n.getConfig().name=e.name,!0):!1}},Dt={type:r.CommandType.COMMAND,id:"sheet.command.set-worksheet-name",handler:async(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=t.get(h.SheetInterceptorService),i=e.unitId||s.getCurrentUniverSheetInstance().getUnitId(),c={subUnitId:e.subUnitId||s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),name:e.name,unitId:i},l=Qo(t,c),d=a.onCommandExecute({id:Dt.id,params:e}),m=[{id:nt.id,params:c},...d.redos],g=[...d.undos,{id:nt.id,params:l}];return await r.sequenceExecute(m,o).result?(n.pushUndoRedo({unitID:i,undoMutations:g,redoMutations:m}),!0):!1}},es=(t,e)=>{const s=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId).getConfig().sheetOrder.findIndex(a=>a===e.subUnitId);return{...r.Tools.deepClone(e),order:s}},He={id:"sheet.mutation.set-worksheet-order",type:r.CommandType.MUTATION,handler:(t,e)=>{const o=t.get(r.IUniverInstanceService).getUniverSheetInstance(e.unitId);if(!o)return!1;const n=o.getConfig(),s=n.sheetOrder.filter(a=>a!==e.subUnitId);return s.splice(e.order,0,e.subUnitId),n.sheetOrder=s,!0}},Nn={type:r.CommandType.COMMAND,id:"sheet.command.set-worksheet-order",handler:async(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=e.unitId||s.getCurrentUniverSheetInstance().getUnitId(),i=e.subUnitId||s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId(),u=s.getUniverSheetInstance(a);if(!u||!u.getSheetBySheetId(i))return!1;const l={order:e.order,unitId:a,subUnitId:i},d=es(t,l);return o.syncExecuteCommand(He.id,l)?(n.pushUndoRedo({unitID:a,undoMutations:[{id:He.id,params:d}],redoMutations:[{id:He.id,params:l}]}),!0):!1}},ts=2e3,Pn=(t,e)=>{const{unitId:o,subUnitId:n,ranges:s}=e,i=t.get(r.IUniverInstanceService).getUniverSheetInstance(o),u=i==null?void 0:i.getSheetBySheetId(n);if(u==null)throw new Error("worksheet is null error!");const c={},l=u.getRowManager();for(const{startRow:d,endRow:m}of s)for(let g=d;g<m+1;g++){const v=l.getRowOrCreate(g);c[g]=v.h}return{unitId:o,subUnitId:n,ranges:s,rowHeight:c}},Ot=(t,e)=>{const{unitId:o,subUnitId:n,ranges:s}=e,u=t.get(r.IUniverInstanceService).getUniverSheetInstance(o).getSheetBySheetId(n),c={},l=u.getRowManager();for(const{startRow:d,endRow:m}of s)for(let g=d;g<=m;g++){const v=l.getRowOrCreate(g);c[g]=v.ia}return{unitId:o,subUnitId:n,ranges:s,autoHeightInfo:c}},ns=(t,e)=>{const{unitId:o,subUnitId:n,rowsAutoHeightInfo:s}=e,i=t.get(r.IUniverInstanceService).getUniverSheetInstance(o),u=i==null?void 0:i.getSheetBySheetId(n),c=[],l=u.getRowManager();for(const d of s){const{row:m}=d,{ah:g}=l.getRowOrCreate(m);c.push({row:m,autoHeight:g})}return{unitId:o,subUnitId:n,rowsAutoHeightInfo:c}},le={id:"sheet.mutation.set-worksheet-row-height",type:r.CommandType.MUTATION,handler:(t,e)=>{const{unitId:o,subUnitId:n,ranges:s,rowHeight:a}=e,u=t.get(r.IUniverInstanceService).getUniverSheetInstance(o),c=u==null?void 0:u.getSheetBySheetId(n);if(!c)return!1;const l=c.getConfig().defaultRowHeight,d=c.getRowManager();for(const{startRow:m,endRow:g}of s)for(let v=m;v<=g;v++){const S=d.getRowOrCreate(v);typeof a=="number"?S.h=a:S.h=a[v]??l,S.h=Math.min(ts,S.h)}return!0}},te={id:"sheet.mutation.set-worksheet-row-is-auto-height",type:r.CommandType.MUTATION,handler:(t,e)=>{const{unitId:o,subUnitId:n,ranges:s,autoHeightInfo:a}=e,u=t.get(r.IUniverInstanceService).getUniverSheetInstance(o),c=u==null?void 0:u.getSheetBySheetId(n);if(!c)return!1;const l=void 0,d=c.getRowManager();for(const{startRow:m,endRow:g}of s)for(let v=m;v<=g;v++){const S=d.getRowOrCreate(v);typeof a=="number"?S.ia=a:S.ia=a[v-m]??l}return!0}},At={id:"sheet.mutation.set-worksheet-row-auto-height",type:r.CommandType.MUTATION,handler:(t,e)=>{const{unitId:o,subUnitId:n,rowsAutoHeightInfo:s}=e,i=t.get(r.IUniverInstanceService).getUniverSheetInstance(o),u=i==null?void 0:i.getSheetBySheetId(n);if(!u||!i)return!1;const c=u.getRowManager();for(const{row:l,autoHeight:d}of s){const m=c.getRowOrCreate(l);m.ah=d}return!0}},kn={type:r.CommandType.COMMAND,id:"sheet.command.delta-row-height",handler:async(t,e)=>{const n=t.get(h.SelectionManagerService).getSelections();if(!(n!=null&&n.length))return!1;const a=t.get(r.IUniverInstanceService).getCurrentUniverSheetInstance(),i=a.getActiveSheet(),u=a.getUnitId(),c=i.getSheetId(),{anchorRow:l,deltaY:d}=e,g=i.getRowHeight(l)+d,v=n.length===1&&n[0].range.rangeType===r.RANGE_TYPE.ALL,S=n.filter(_=>_.range.rangeType===r.RANGE_TYPE.ROW),C=v?r.RANGE_TYPE.ALL:S.some(({range:_})=>{const{startRow:E,endRow:b}=_;return E<=l&&l<=b})?r.RANGE_TYPE.ROW:r.RANGE_TYPE.NORMAL;let I;if(C===r.RANGE_TYPE.ALL){const _=i.getRowCount(),E=new Array(i.getColumnCount()).fill(void 0).map((b,U)=>({startRow:U,endRow:U,startColumn:0,endColumn:_-1}));I={subUnitId:c,unitId:u,rowHeight:g,ranges:E}}else C===r.RANGE_TYPE.ROW?I={subUnitId:c,unitId:u,ranges:S.map(_=>r.Rectangle.clone(_.range)),rowHeight:g}:I={subUnitId:c,unitId:u,rowHeight:g,ranges:[{startRow:l,endRow:l,startColumn:0,endColumn:i.getMaxColumns()-1}]};const f=Pn(t,I),w={unitId:u,subUnitId:c,ranges:I.ranges,autoHeightInfo:r.BooleanNumber.FALSE},M=Ot(t,w),p=t.get(r.ICommandService),y=t.get(r.IUndoRedoService);return r.sequenceExecute([{id:le.id,params:I},{id:te.id,params:w}],p).result?(y.pushUndoRedo({unitID:u,undoMutations:[{id:le.id,params:f},{id:te.id,params:M}],redoMutations:[{id:le.id,params:I},{id:te.id,params:w}]}),!0):!1}},Ln={type:r.CommandType.COMMAND,id:"sheet.command.set-row-height",handler:(t,e)=>{const o=t.get(h.SelectionManagerService),n=t.get(r.ICommandService),s=t.get(r.IUndoRedoService),a=t.get(r.IUniverInstanceService),i=o.getSelectionRanges();if(!(i!=null&&i.length))return!1;const u=a.getCurrentUniverSheetInstance(),c=u.getUnitId(),l=u.getActiveSheet().getSheetId(),d={subUnitId:l,unitId:c,ranges:i,rowHeight:e.value},m=Pn(t,d),g={unitId:c,subUnitId:l,ranges:d.ranges,autoHeightInfo:r.BooleanNumber.FALSE},v=Ot(t,g);return r.sequenceExecute([{id:le.id,params:d},{id:te.id,params:g}],n).result?(s.pushUndoRedo({unitID:c,undoMutations:[{id:le.id,params:m},{id:te.id,params:v}],redoMutations:[{id:le.id,params:d},{id:te.id,params:g}]}),!0):!1}},Nt={type:r.CommandType.COMMAND,id:"sheet.command.set-row-is-auto-height",handler:async(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(h.SelectionManagerService),a=t.get(r.IUniverInstanceService),i=a.getCurrentUniverSheetInstance().getUnitId(),u=a.getCurrentUniverSheetInstance().getActiveSheet(),c=u.getSheetId(),{anchorRow:l}=e??{},d=l!=null?[{startRow:l,endRow:l,startColumn:0,endColumn:u.getMaxColumns()-1}]:s.getSelectionRanges();if(!(d!=null&&d.length))return!1;const m={unitId:i,subUnitId:c,ranges:d,autoHeightInfo:r.BooleanNumber.TRUE},g=Ot(t,m),v=o.syncExecuteCommand(te.id,m),{undos:S,redos:C}=t.get(h.SheetInterceptorService).onCommandExecute({id:Nt.id,params:m}),I=r.sequenceExecute([...C],o);return v&&I.result?(n.pushUndoRedo({unitID:i,undoMutations:[{id:te.id,params:g},...S],redoMutations:[{id:te.id,params:m},...C]}),!0):!1}},Bn={type:r.CommandType.COMMAND,id:"sheet.command.set-worksheet-show",handler:async(t,e)=>{const o=t.get(r.ICommandService),n=t.get(r.IUndoRedoService),s=t.get(r.IUniverInstanceService),a=s.getCurrentUniverSheetInstance().getUnitId();let i=s.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();e&&(i=e.value??i);const u=s.getUniverSheetInstance(a);if(!u)return!1;const c=u.getSheetBySheetId(i);if(!c||c.getConfig().hidden===r.BooleanNumber.FALSE)return!1;const d={unitId:a,subUnitId:i,hidden:r.BooleanNumber.FALSE},m=On(t,d),g=o.syncExecuteCommand(he.id,d),v={unitId:a,subUnitId:i},S=o.syncExecuteCommand(Fe.id,v);return g&&S?(n.pushUndoRedo({unitID:a,undoMutations:[{id:he.id,params:m}],redoMutations:[{id:he.id,params:d}]}),!0):!1}},os=t=>{const e=new r.ObjectMatrix;return t.forEach(o=>{r.Range.foreach(o,(n,s)=>{e.setValue(n,s,1)})}),e.forValue((o,n)=>{const s=e.getValue(o-1,n);s&&e.setValue(o,n,s+1)}),e},Vn=t=>{const e={area:0},o=(n,s)=>e.area<n?(e.area=n,e.range=s,!0):!1;return t.forValue((n,s,a)=>{let i=1,u=a;o(i*u,{startRow:n-u+1,endRow:n,startColumn:s,endColumn:s});const c={startRow:n-u+1,endRow:n,startColumn:0,endColumn:s};for(let l=s-1;l>=0&&t.getValue(n,l);l--){u=Math.min(t.getValue(n,l)||0,u),i++;const d=u*i;c.startColumn=l,c.startRow=n-u+1,o(d,c)}}),e},ss=(t,e)=>(r.Range.foreach(e,(o,n)=>{t.realDeleteValue(o,n);let s=o+1,a=t.getValue(s,n)||0;for(;a>1;)t.setValue(s,n,a-1),s+=1,a=t.getValue(s,n)||0}),t),rs=t=>{const e=[];let o=Vn(t);for(;o.area>0;)o.range&&(e.push(o.range),ss(t,o.range)),o=Vn(t);return e},Pt=t=>{const e=os(t);return rs(e)},is=(t,e,o="")=>t.reduce((n,s)=>{const a=s&&s[e];return typeof a!="string"?(console.warn(s,`${e} is not string`),n):(a?(n[a]||(n[a]=[]),n[a].push(s)):n[o].push(s),n)},{}),as=(t=0)=>{let e=t;return function(){return e++}},we=V.createIdentifier("INumfmtService");r.runOnLifecycle(r.LifecycleStages.Rendered,we);const us=(t,e)=>{const o=t.get(we),{values:n,unitId:s,subUnitId:a}=e,i=[],u=[],c=o.getModel(s,a)||void 0;Object.keys(n).forEach(d=>{n[d].ranges.forEach(g=>{r.Range.foreach(g,(v,S)=>{const C=o.getValue(s,a,v,S,c);C?i.push({pattern:C.pattern,type:C.type,row:v,col:S}):u.push({startColumn:S,endColumn:S,startRow:v,endRow:v})})})});const l=[];if(i.length){const d=st(s,a,i);Object.keys(d.values).forEach(m=>{const g=d.values[m];g.ranges=Pt(g.ranges)}),l.push({id:ot.id,params:st(s,a,i)})}return u.length&&l.push({id:kt.id,params:{unitId:s,subUnitId:a,ranges:u}}),l},ot={id:"sheet.mutation.set.numfmt",type:r.CommandType.MUTATION,handler:(t,e)=>{if(!e)return!1;const{values:o,refMap:n}=e,s=t.get(we),a=e.unitId,i=e.subUnitId,u=Object.keys(o).reduce((c,l)=>{const d=n[l],m=o[l].ranges;return d&&c.push({...d,ranges:m}),c},[]);return s.setValues(a,i,u),!0}},kt={id:"sheet.mutation.remove.numfmt",type:r.CommandType.MUTATION,handler:(t,e)=>{if(!e)return!1;const{unitId:o,subUnitId:n,ranges:s}=e;return t.get(we).deleteValues(o,n,s),!0}},cs=(t,e)=>{const o=t.get(we),{ranges:n,unitId:s,subUnitId:a}=e,i=[],u=o.getModel(s,a)||void 0;if(n.forEach(l=>{r.Range.foreach(l,(d,m)=>{const g=o.getValue(s,a,d,m,u);g&&i.push({pattern:g.pattern,type:g.type,row:d,col:m})})}),!i.length)return[];const c=st(s,a,i);return Object.keys(c.values).forEach(l=>{const d=c.values[l];d.ranges=Pt(d.ranges)}),[{id:ot.id,params:c}]},st=(t,e,o)=>{const n=is(o,"pattern"),s={},a={},i=as();return Object.keys(n).forEach(u=>{const c=n[u],l=c[0],d=i();s[d]={pattern:u,type:l.type},c.forEach(m=>{a[d]||(a[d]={ranges:[]}),a[d].ranges.push(ds(m.row,m.col))})}),{unitId:t,subUnitId:e,refMap:s,values:a}},ds=(t,e)=>({startRow:t,endRow:t,startColumn:e,endColumn:e}),jn="maxCellsPerSheet",ls=3e6;var ms=Object.defineProperty,gs=Object.getOwnPropertyDescriptor,hs=(t,e,o,n)=>{for(var s=n>1?void 0:n?gs(e,o):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(s=(n?i(e,o,s):i(s))||s);return n&&s&&ms(e,o,s),s},Wn=(t,e)=>(o,n)=>e(o,n,t);let rt=class extends r.Disposable{constructor(t,e){super(),this._commandService=t,this._configService=e,[j,qe,gt,Ye,Yt,Ke,Je,Tt,kn,on,nn,Te,Ce,Xe,Ze,en,Qt,be,Ie,sn,ve,Mt,je,xe,Le,Rt,Ve,et,Re,Qe,fe,wt,ke,dn,W,Un,pn,yn,ln,hn,Ee,mn,gn,Sn,De,Oe,Et,Ho,Cn,ge,bn,Se,z,Ln,Rn,Ne,Ae,vn,fn,pt,Ut,x,Dn,We,wn,En,Tn,_n,_t,Fe,de,An,he,Dt,nt,Nn,He,At,le,Nt,te,Bn,ot,G,kt].forEach(o=>this.disposeWithMe(this._commandService.registerCommand(o))),this._configService.setConfig(jn,ls)}};rt=hs([r.OnLifecycle(r.LifecycleStages.Starting,rt),Wn(0,r.ICommandService),Wn(1,r.IConfigService)],rt);var vs=Object.defineProperty,Ss=Object.getOwnPropertyDescriptor,Is=(t,e,o,n)=>{for(var s=n>1?void 0:n?Ss(e,o):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(s=(n?i(e,o,s):i(s))||s);return n&&s&&vs(e,o,s),s},Cs=(t,e)=>(o,n)=>e(o,n,t);let it=class extends r.Disposable{constructor(t){super(),this._commandService=t,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id!==mt.SetFormulaCalculationResultMutation.id)return;const e=t.params,{unitData:o,unitOtherData:n}=e,s=Object.keys(o),a=[];return s.forEach(u=>{const c=o[u];if(c==null)return!0;Object.keys(c).forEach(d=>{const m=c[d];if(m==null)return!0;const g={subUnitId:d,unitId:u,cellValue:m.getData()};a.push({id:z.id,params:g})})}),a.every(u=>this._commandService.executeCommand(u.id,u.params,{onlyLocal:!0}))}))}};it=Is([r.OnLifecycle(r.LifecycleStages.Ready,it),Cs(0,r.ICommandService)],it);var fs=Object.defineProperty,Rs=Object.getOwnPropertyDescriptor,Ms=(t,e,o,n)=>{for(var s=n>1?void 0:n?Rs(e,o):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(s=(n?i(e,o,s):i(s))||s);return n&&s&&fs(e,o,s),s},at=(t,e)=>(o,n)=>e(o,n,t);let ut=class extends r.Disposable{constructor(t,e,o,n){super(),this._commandService=t,this._featureCalculationManagerService=e,this._currentUniverService=o,this._formulaDataModel=n,this._initialize()}_initialize(){const t="test",e="workbook-01",o="sheet-0011",n={[e]:{[o]:new r.ObjectMatrix({4:{0:{v:10,t:2}}})}},s={[e]:{[o]:[{startRow:4,startColumn:0,endRow:4,endColumn:0}]}};this._featureCalculationManagerService.register(t,{unitId:e,subUnitId:o,dependencyRanges:[{unitId:e,sheetId:o,range:{startRow:0,endRow:3,startColumn:0,endColumn:3}}],getDirtyData:()=>({runtimeCellData:n,dirtyRanges:s})})}};ut=Ms([r.OnLifecycle(r.LifecycleStages.Ready,ut),at(0,r.ICommandService),at(1,mt.IFeatureCalculationManagerService),at(2,r.IUniverInstanceService),at(3,V.Inject(mt.FormulaDataModel))],ut);const K={MoveRangeCommandId:xt,InsertRowCommandId:Zt,InsertColCommandId:tn,RemoveColCommandId:cn,RemoveRowCommandId:un,DeleteRangeMoveLeftCommandId:Kt,DeleteRangeMoveUpCommandId:Jt,InsertRangeMoveDownCommandId:No,InsertRangeMoveRightCommandId:Xt,MoveColsCommandId:an,MoveRowsCommandId:rn};var H=(t=>(t[t.Set=0]="Set",t[t.Delete=1]="Delete",t[t.HorizontalMove=2]="HorizontalMove",t[t.VerticalMove=3]="VerticalMove",t[t.Unknown=4]="Unknown",t))(H||{}),ws=Object.defineProperty,ps=Object.getOwnPropertyDescriptor,ys=(t,e,o,n)=>{for(var s=n>1?void 0:n?ps(e,o):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(s=(n?i(e,o,s):i(s))||s);return n&&s&&ws(e,o,s),s},Lt=(t,e)=>(o,n)=>e(o,n,t);const Us=r.createInterceptorKey("MERGE_REDO"),_s=r.createInterceptorKey("MERGE_UNDO");h.RefRangeService=class extends r.Disposable{constructor(o,n,s){super();B(this,"interceptor",new r.InterceptorManager({MERGE_REDO:Us,MERGE_UNDO:_s}));B(this,"_refRangeManagerMap",new Map);B(this,"_serializer",bs());B(this,"_onRefRangeChange",()=>{this._sheetInterceptorService.interceptCommand({getMutations:o=>{const n=this._univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(),s=Fn(this._univerInstanceService),a=Hn(this._univerInstanceService),c=((()=>{switch(o.id){case K.MoveColsCommandId:{const m=o.params,g=Math.min(m.fromRange.startColumn,m.toRange.startColumn);return this._checkRange([{...m.fromRange,startColumn:g,endColumn:n.getColumnCount()-1}],s,a)}case K.MoveRowsCommandId:{const m=o.params,g=Math.min(m.fromRange.startRow,m.toRange.startRow);return this._checkRange([{...m.fromRange,startRow:g,endRow:n.getRowCount()-1}],s,a)}case K.MoveRangeCommandId:{const m=o;return this._checkRange([m.params.fromRange,m.params.toRange],s,a)}case K.InsertRowCommandId:{const v={startRow:o.params.range.startRow,endRow:n.getRowCount()-1,startColumn:0,endColumn:n.getColumnCount()-1};return this._checkRange([v],s,a)}case K.InsertColCommandId:{const g=o.params.range.startColumn,v={startRow:0,endRow:n.getRowCount()-1,startColumn:g,endColumn:n.getColumnCount()-1};return this._checkRange([v],s,a)}case K.RemoveRowCommandId:{const v={startRow:o.params.range.startRow,endRow:n.getRowCount()-1,startColumn:0,endColumn:n.getColumnCount()-1};return this._checkRange([v],s,a)}case K.RemoveColCommandId:{const g=o.params.range.startColumn,v={startRow:0,endRow:n.getRowCount()-1,startColumn:g,endColumn:n.getColumnCount()-1};return this._checkRange([v],s,a)}case K.DeleteRangeMoveUpCommandId:case K.InsertRangeMoveDownCommandId:{const g=o.params.range||$n(this._selectionManagerService)[0],v={startRow:g.startRow,startColumn:g.startColumn,endColumn:g.endColumn,endRow:n.getRowCount()-1};return this._checkRange([v],s,a)}case K.DeleteRangeMoveLeftCommandId:case K.InsertRangeMoveRightCommandId:{const g=o.params.range||$n(this._selectionManagerService)[0],v={startRow:g.startRow,startColumn:g.startColumn,endColumn:n.getColumnCount()-1,endRow:g.endRow};return this._checkRange([v],s,a)}}})()||[]).reduce((m,g)=>{const v=g(o);return m.push(v),m},[]).reduce((m,g)=>(m.redos.push(...g.redos),m.undos.push(...g.undos),m),{redos:[],undos:[]}),l=this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_REDO)(c.redos,null)||[],d=this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_UNDO)(c.undos,null)||[];return{redos:l,undos:d}}})});B(this,"_checkRange",(o,n,s)=>{const a=zn(n,s),i=this._refRangeManagerMap.get(a);if(i){const u=new Set;return[...i.keys()].forEach(l=>{const d=i.get(l),m=this._serializer.deserialize(l);o.some(g=>r.Rectangle.intersects(g,m))&&d&&d.forEach(g=>{u.add(g)})}),[...u]}return[]});B(this,"registerRefRange",(o,n,s,a)=>{const i=s||Fn(this._univerInstanceService),u=a||Hn(this._univerInstanceService),c=zn(i,u),l=this._serializer.serialize(o);let d=this._refRangeManagerMap.get(c);d||(d=new Map,this._refRangeManagerMap.set(c,d));const m=d.get(l);return m?m.add(n):d.set(l,new Set([n])),r.toDisposable(()=>{const g=d.get(l);g&&(g.delete(n),g.size||(d.delete(l),d.size||this._refRangeManagerMap.delete(c)))})});this._sheetInterceptorService=o,this._univerInstanceService=n,this._selectionManagerService=s,this._onRefRangeChange(),this.interceptor.intercept(this.interceptor.getInterceptPoints().MERGE_REDO,{priority:-1,handler:a=>a}),this.interceptor.intercept(this.interceptor.getInterceptPoints().MERGE_UNDO,{priority:-1,handler:a=>a})}},h.RefRangeService=ys([r.OnLifecycle(r.LifecycleStages.Steady,h.RefRangeService),Lt(0,V.Inject(h.SheetInterceptorService)),Lt(1,V.Inject(r.IUniverInstanceService)),Lt(2,V.Inject(h.SelectionManagerService))],h.RefRangeService);function Fn(t){return t.getCurrentUniverSheetInstance().getUnitId()}function Hn(t){return t.getCurrentUniverSheetInstance().getActiveSheet().getSheetId()}function $n(t){return t.getSelectionRanges()||[]}function zn(t,e){return`${t}_${e}`}function bs(){const t=["startRow","startColumn","endRow","endColumn","rangeType"],e="_";return{deserialize:o=>{const n=t.reduce((a,i,u)=>(a[String(u)]=i,a),{});return o.split(e).reduce((a,i,u)=>{const c=String(u);return i&&n[c]&&(a[n[c]]=i),a},{})},serialize:o=>t.reduce((n,s,a)=>{const i=o[s];return i!==void 0?`${n}${a>0?e:""}${i}`:`${n}`},"")}}const me=t=>({startRow:t.startColumn,endRow:t.endColumn,startColumn:t.startRow,endColumn:t.endRow}),Bt=(t,e,o)=>{const n={...o},s={...e},a=(C,I)=>{const f=Math.max(C.start,I.start),w=Math.min(C.end,I.end);return w<f?null:{start:f,end:w}},i=C=>C.end-C.start+1,u=(C,I)=>({start:C.start-I.start,end:C.start-I.start+C.end-C.start}),c=(C,I)=>({start:I.start+C.start,end:I.start+C.start+C.end-C.start}),l=e.start>t.start;if(l){const C=Math.min(t.end,e.start)-t.start+1;s.start-=C,s.end-=C}const d=i(t),m=d,g=a(t,n),v=g&&i(g)>=i(n);if(t.end<n.start)n.start-=d,n.end-=d;else if(g){const C=i(g);if(v){const I=u(n,t),f=c(I,s);n.start=f.start,n.end=f.end}else g.start>t.start||l?n.end-=C:(n.start-=d,n.end-=d+C)}const S=a(s,n);if(s.start<=n.start&&!v)n.start+=m,n.end+=m;else if(S){const C=s.start;if(i(S)<=i(n))return{step:n.start-o.start,length:0};C<n.start?(n.start+=m,n.end+=m):C>=n.start&&C<=n.end&&(n.end+=m,n.start+=m)}return{step:n.start-o.start,length:i(n)-i(o)}},Gn=(t,e)=>{const{fromRange:o,toRange:n}=t.params||{};if(!n||!o)return[];const s=Bt({start:o.startRow,end:o.endRow},{start:n.startRow,end:n.endRow},{start:e.startRow,end:e.endRow});return s===null?[{type:H.Delete}]:[{type:H.VerticalMove,step:s.step||0,length:s.length||0}]},qn=(t,e)=>{const{fromRange:o,toRange:n}=t.params||{};if(!n||!o)return[];const s=Bt({start:o.startColumn,end:o.endColumn},{start:n.startColumn,end:n.endColumn},{start:e.startColumn,end:e.endColumn});return s===null?[{type:H.Delete}]:[{type:H.HorizontalMove,step:s.step||0,length:s.length||0}]},Ts=(t,e)=>{var a,i;const o=(a=t.params)==null?void 0:a.toRange,n=(i=t.params)==null?void 0:i.fromRange;if(!o||!n)return[];const s=[];if(r.Rectangle.contains(o,e)&&s.push({type:H.Delete}),r.Rectangle.contains(n,e)){s.push({type:H.Delete});const u=r.Rectangle.getRelativeRange(e,n),c=r.Rectangle.getPositionRange(u,o);return[{type:H.Set,range:c}]}return s},$e=(t,e)=>{const o=s=>s.endColumn-s.startColumn+1,n=s=>s.endRow-s.startRow+1;if(t.startRow<=e.startRow&&t.endRow>=e.endRow){if(e.startColumn<t.startColumn&&e.endColumn>=t.startColumn&&e.endColumn<=t.endColumn||e.startColumn<t.startColumn&&e.endColumn>=t.endColumn){const s=r.Rectangle.getIntersects(e,t);if(s)return{step:0,length:-o(s)}}if(e.startColumn>=t.startColumn&&e.endColumn<=t.endColumn&&n(t)>=n(e))return null;if(e.startColumn>t.startColumn&&e.startColumn<=t.endColumn&&e.endColumn>t.endColumn){const s=r.Rectangle.getIntersects(e,t);if(s){const a=-o(s);return{step:-(o(t)-o(s)),length:a}}}if(e.startColumn>t.endColumn)return{step:-o(t),length:0}}return{step:0,length:0}},Es=(t,e)=>{var a;const o=(a=t.params)==null?void 0:a.range;if(!o)return[];const n=[],s=$e(o,e);if(!s)n.push({type:H.Delete});else{const{step:i,length:u}=s;n.push({type:H.HorizontalMove,step:i,length:u})}return n},Ds=(t,e)=>{var a;const o=(a=t.params)==null?void 0:a.range;if(!o)return[];const n=[],s=$e(me(o),me(e));if(!s)n.push({type:H.Delete});else{const{step:i,length:u}=s;n.push({type:H.VerticalMove,step:i,length:u})}return n},ze=(t,e)=>{const o=n=>n.endColumn-n.startColumn+1;if(t.startRow<=e.startRow&&t.endRow>=e.endRow){if(e.startColumn<t.startColumn&&e.endColumn>=t.startColumn&&e.endColumn<=t.endColumn||e.startColumn<t.startColumn&&e.endColumn>=t.endColumn)return{step:0,length:o(t)};if(e.startColumn>=t.startColumn&&e.endColumn<=t.endColumn||e.startColumn>t.startColumn&&e.startColumn<=t.endColumn&&e.endColumn>t.endColumn||e.startColumn>=t.endColumn)return{step:o(t),length:0}}return{step:0,length:0}},Os=(t,e)=>{var u;const o=(u=t.params)==null?void 0:u.range;if(!o)return[];const n=[],s=ze(me(o),me(e)),{step:a,length:i}=s;return n.push({type:H.VerticalMove,step:a,length:i}),n},As=(t,e)=>{var u;const o=(u=t.params)==null?void 0:u.range;if(!o)return[];const n=[],s=ze(o,e),{step:a,length:i}=s;return n.push({type:H.HorizontalMove,step:a,length:i}),n},Ns=(t,e)=>{var u;const o=(u=t.params)==null?void 0:u.range;if(!o)return[];const n=[],s=ze(me(o),me(e)),{step:a,length:i}=s;return n.push({type:H.VerticalMove,step:a,length:i}),n},Ps=(t,e)=>{var u;const o=(u=t.params)==null?void 0:u.range;if(!o)return[];const n=[],s=ze(o,e),{step:a,length:i}=s;return n.push({type:H.HorizontalMove,step:a,length:i}),n},ks=(t,e)=>{var a;const o=(a=t.params)==null?void 0:a.range;if(!o)return[];const n=[],s=$e(o,e);if(!s)n.push({type:H.Delete});else{const{step:i,length:u}=s;n.push({type:H.HorizontalMove,step:i,length:u})}return n},Ls=(t,e)=>{var a;const o=(a=t.params)==null?void 0:a.range;if(!o)return[];const n=[],s=$e(me(o),me(e));if(!s)n.push({type:H.Delete});else{const{step:i,length:u}=s;n.push({type:H.VerticalMove,step:i,length:u})}return n},Vt=(t,e)=>{let o={...e};return t.forEach(n=>{switch(n.type){case H.Delete:{o=null;break}case H.HorizontalMove:{if(!o)return;o.startColumn+=n.step,o.endColumn+=n.step+(n.length||0);break}case H.VerticalMove:{if(!o)return;o.startRow+=n.step,o.endRow+=n.step+(n.length||0);break}case H.Set:{o=n.range;break}}}),o&&(o.endColumn<o.startColumn||o.endRow<o.startRow)?null:o};var Bs=Object.defineProperty,Vs=Object.getOwnPropertyDescriptor,js=(t,e,o,n)=>{for(var s=n>1?void 0:n?Vs(e,o):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(s=(n?i(e,o,s):i(s))||s);return n&&s&&Bs(e,o,s),s},Pe=(t,e)=>(o,n)=>e(o,n,t);function Yn(t,e){let o=t;if(e!==void 0){const n=[];for(let s=0;s<o.length;s++){const{startRow:a,endRow:i,startColumn:u,endColumn:c}=o[s];if(e===r.Dimension.ROWS)for(let l=a;l<=i;l++){const d={startRow:l,endRow:l,startColumn:u,endColumn:c};n.push(d)}else if(e===r.Dimension.COLUMNS)for(let l=u;l<=c;l++){const d={startRow:a,endRow:i,startColumn:l,endColumn:l};n.push(d)}}o=n}return o}let ct=class extends r.Disposable{constructor(t,e,o,n,s,a){super(),this._commandService=t,this._refRangeService=e,this._univerInstanceService=o,this._injector=n,this._sheetInterceptorService=s,this._selectionManagerService=a,this._onRefRangeChange(),this._initCommandInterceptor()}_initCommandInterceptor(){const t=this;this._sheetInterceptorService.interceptCommand({getMutations(e){switch(e.id){case qe.id:case Ye.id:{const o=t._univerInstanceService.getCurrentUniverSheetInstance(),n=o.getUnitId(),s=o.getActiveSheet(),a=s.getSheetId(),i=s.getConfig().mergeData,u=t._selectionManagerService.getSelectionRanges();if(u&&u.length>0&&u.some(l=>i.some(d=>r.Rectangle.intersects(d,l)))){const l={unitId:n,subUnitId:a,ranges:u},d=Q(t._injector,l),m=[{id:W.id,params:l}],g=[{id:j.id,params:d}];return{redos:m,undos:g}}}}return{redos:[],undos:[]}}})}_onRefRangeChange(){const t=new r.DisposableCollection,e=(s,a)=>{const i=this._univerInstanceService.getUniverSheetInstance(s);if(!i)return;const u=i==null?void 0:i.getSheetBySheetId(a);if(!u)return;t.dispose();const c=u.getMergeData(),l=d=>{switch(d.id){case xe.id:{const m=d.params;return this._handleMoveRangeCommand(m,s,a)}case be.id:{const m=d.params,g=m.unitId||s,v=m.subUnitId||a;return this._handleInsertRowCommand(m,g,v)}case Te.id:{const m=d.params,g=m.unitId||s,v=m.subUnitId||a;return this._handleInsertColCommand(m,g,v)}case et.id:{const m=d.params;return this._handleRemoveColCommand(m,s,a)}case Qe.id:{const m=d.params;return this._handleRemoveRowCommand(m,s,a)}case Ze.id:{const m=d.params;return this._handleInsertRangeMoveRightCommand(m,s,a)}case Xe.id:{const m=d.params;return this._handleInsertRangeMoveDownCommand(m,s,a)}case Je.id:{const m=d.params;return this._handleDeleteRangeMoveUpCommand(m,s,a)}case Ke.id:{const m=d.params;return this._handleDeleteRangeMoveLeftCommand(m,s,a)}case K.MoveColsCommandId:{const m=d.params;return this._handleMoveColsCommand(m,s,a)}case K.MoveRowsCommandId:{const m=d.params;return this._handleMoveRowsCommand(m,s,a)}}return{redos:[],undos:[]}};c.forEach(d=>{t.add(this._refRangeService.registerRefRange(d,l,s,a))})};this.disposeWithMe(this._commandService.onCommandExecuted(s=>{if(s.id===_t.id){const a=s.params,i=a.subUnitId,u=a.unitId;if(!i||!u)return;e(u,i)}if(s.id===j.id){const a=s.params,i=a.subUnitId,u=a.unitId;if(!i||!u)return;e(a.unitId,a.subUnitId)}}));const o=this._univerInstanceService.getCurrentUniverSheetInstance(),n=o.getActiveSheet();e(o.getUnitId(),n.getSheetId())}_handleMoveRowsCommand(t,e,o){const n=re(this._univerInstanceService,e);if(!n)return this._handleNull();const s=ie(n,o);if(!s)return this._handleNull();const a=[...s.getMergeData()],i={unitId:e,subUnitId:o,ranges:a},u={unitId:e,subUnitId:o,ranges:[]};a.forEach(d=>{const m=Gn({id:K.MoveRowsCommandId,params:t},d),g=Vt(m,d);g&&u.ranges.push(g)});const c=Q(this._injector,i),l=se(this._injector,u);return{redos:[{id:W.id,params:i},{id:j.id,params:u}],undos:[{id:W.id,params:l},{id:j.id,params:c}]}}_handleMoveColsCommand(t,e,o){const n=re(this._univerInstanceService,e);if(!n)return this._handleNull();const s=ie(n,o);if(!s)return this._handleNull();const a=[...s.getMergeData()],i={unitId:e,subUnitId:o,ranges:a},u={unitId:e,subUnitId:o,ranges:[]};a.forEach(d=>{const m=qn({id:K.MoveColsCommandId,params:t},d),g=Vt(m,d);g&&u.ranges.push(g)});const c=Q(this._injector,i),l=se(this._injector,u);return{redos:[{id:W.id,params:i},{id:j.id,params:u}],undos:[{id:W.id,params:l},{id:j.id,params:c}]}}_handleMoveRangeCommand(t,e,o){const n=re(this._univerInstanceService,e);if(!n)return this._handleNull();const s=ie(n,o);if(!s)return this._handleNull();const a=s.getMergeData(),i=a.filter(g=>r.Rectangle.intersects(g,t.fromRange)),u=a.filter(g=>r.Rectangle.intersects(g,t.toRange)),c=i.map(g=>r.Rectangle.getRelativeRange(g,t.fromRange)).map(g=>r.Rectangle.getPositionRange(g,t.toRange)),l=Yn(c).filter(g=>!a.some(v=>r.Rectangle.equals(g,v))),d=[{id:W.id,params:{unitId:e,subUnitId:o,ranges:i}},{id:W.id,params:{unitId:e,subUnitId:o,ranges:u}},{id:j.id,params:{unitId:e,subUnitId:o,ranges:l}}],m=[{id:W.id,params:{unitId:e,subUnitId:o,ranges:l}},{id:j.id,params:{unitId:e,subUnitId:o,ranges:u}},{id:j.id,params:{unitId:e,subUnitId:o,ranges:i}}];return{redos:d,undos:m}}_handleInsertRowCommand(t,e,o){const n=re(this._univerInstanceService,e);if(!n)return this._handleNull();const s=ie(n,o);if(!s)return this._handleNull();const{range:a}=t,{startRow:i,endRow:u}=a,c=r.Tools.deepClone(s.getMergeData()),l=r.Tools.deepClone(s.getMergeData()).map(I=>{const f=u-i+1;return i>I.endRow?I:i<=I.startRow?r.Rectangle.moveVertical(I,f):(I.endRow+=f,I)}),d={unitId:e,subUnitId:o,ranges:c},m=Q(this._injector,d),g={unitId:e,subUnitId:o,ranges:l},v=se(this._injector,g),S=[{id:W.id,params:d},{id:j.id,params:g}],C=[{id:W.id,params:v},{id:j.id,params:m}];return{redos:S,undos:C}}_handleInsertColCommand(t,e,o){const{range:n}=t,s=re(this._univerInstanceService,e);if(!s)return this._handleNull();const a=ie(s,o);if(!a)return this._handleNull();const{startColumn:i,endColumn:u}=n,c=r.Tools.deepClone(a.getMergeData()),l=r.Tools.deepClone(a.getMergeData()).map(I=>{const f=u-i+1;return i>I.endColumn?I:i<=I.startColumn?r.Rectangle.moveHorizontal(I,f):(I.endColumn+=f,I)}),d={unitId:e,subUnitId:o,ranges:c},m=Q(this._injector,d),g={unitId:e,subUnitId:o,ranges:l},v=se(this._injector,g),S=[{id:W.id,params:d},{id:j.id,params:g}],C=[{id:W.id,params:v},{id:j.id,params:m}];return{redos:S,undos:C}}_handleRemoveColCommand(t,e,o){const n=re(this._univerInstanceService,e);if(!n)return this._handleNull();const s=ie(n,o);if(!s)return this._handleNull();const{range:a}=t,i=r.Tools.deepClone(s.getMergeData());for(let v=0;v<i.length;v++){const S=i[v],{startColumn:C,endColumn:I}=S,f=I-C+1,{startColumn:w,endColumn:M}=a,p=M-w+1;if(M<S.startColumn)S.startColumn-=p,S.endColumn-=p;else{if(w>S.endColumn)continue;if(w<=S.startColumn&&M>=S.endColumn)i.splice(v,1),v--;else{const y=r.Rectangle.getIntersects(a,S),D=y.endColumn-y.startColumn+1,_=y.endRow-y.startRow===0;D===f-1&&_?(i.splice(v,1),v--):S.endColumn-=y.endColumn-y.startColumn+1}}}const u={unitId:e,subUnitId:o,ranges:r.Tools.deepClone(s.getMergeData())},c=Q(this._injector,u),l={unitId:e,subUnitId:o,ranges:i},d=se(this._injector,l),m=[{id:W.id,params:u},{id:j.id,params:l}],g=[{id:W.id,params:d},{id:j.id,params:c}];return{redos:m,undos:g}}_handleRemoveRowCommand(t,e,o){const{range:n}=t,s=re(this._univerInstanceService,e);if(!s)return this._handleNull();const a=ie(s,o);if(!a)return this._handleNull();const i=r.Tools.deepClone(a.getMergeData());for(let v=0;v<i.length;v++){const S=i[v],{startRow:C,endRow:I}=S,f=I-C+1,{startRow:w,endRow:M}=n,p=M-w+1;if(M<C)S.startRow-=p,S.endRow-=p;else{if(w>I)continue;if(w<=C&&M>=I)i.splice(v,1),v--;else{const y=r.Rectangle.getIntersects(n,S),D=y.endRow-y.startRow+1,_=y.endColumn-y.startColumn===0;D===f-1&&_?(i.splice(v,1),v--):S.endRow-=y.endRow-y.startRow+1}}}const u={unitId:e,subUnitId:o,ranges:r.Tools.deepClone(a.getMergeData())},c=Q(this._injector,u),l={unitId:e,subUnitId:o,ranges:i},d=se(this._injector,l),m=[{id:W.id,params:u},{id:j.id,params:l}],g=[{id:W.id,params:d},{id:j.id,params:c}];return{redos:m,undos:g}}_handleInsertRangeMoveRightCommand(t,e,o){const n=re(this._univerInstanceService,e);if(!n)return this._handleNull();const s=ie(n,o);if(!s)return this._handleNull();const a=t.range,i=s.getMaxColumns()-1,u=s.getMergeData(),c=[],l=[];u.forEach(S=>{const{startRow:C,endRow:I,startColumn:f,endColumn:w}=a;if(r.Rectangle.intersects({startRow:C,startColumn:f,endRow:I,endColumn:i},S)&&(c.push(S),r.Rectangle.contains({startRow:C,startColumn:f,endRow:I,endColumn:i},S))){const y=w-f+1;l.push({startRow:S.startRow,startColumn:S.startColumn+y,endRow:S.endRow,endColumn:S.endColumn+y})}});const d={unitId:e,subUnitId:o,ranges:c},m=Q(this._injector,d),g={unitId:e,subUnitId:o,ranges:l},v=se(this._injector,g);return{redos:[{id:W.id,params:d},{id:j.id,params:g}],undos:[{id:j.id,params:m},{id:W.id,params:v}]}}_handleInsertRangeMoveDownCommand(t,e,o){const n=re(this._univerInstanceService,e);if(!n)return this._handleNull();const s=ie(n,o);if(!s)return this._handleNull();const a=t.range,i=s.getMaxRows()-1,u=s.getMergeData(),c=[],l=[];u.forEach(I=>{const{startRow:f,startColumn:w,endColumn:M,endRow:p}=a;if(r.Rectangle.intersects({startRow:f,startColumn:w,endRow:i,endColumn:M},I)&&(c.push(I),r.Rectangle.contains({startRow:f,startColumn:w,endRow:i,endColumn:M},I))){const _=p-f+1;l.push({startRow:I.startRow+_,startColumn:I.startColumn,endRow:I.endRow+_,endColumn:I.endColumn})}});const d={unitId:e,subUnitId:o,ranges:c},m=Q(this._injector,d),g={unitId:e,subUnitId:o,ranges:l},v=se(this._injector,g),S=[{id:W.id,params:d},{id:j.id,params:g}],C=[{id:j.id,params:m},{id:W.id,params:v}];return{redos:S,undos:C}}_handleDeleteRangeMoveUpCommand(t,e,o){const n=re(this._univerInstanceService,e);if(!n)return this._handleNull();const s=ie(n,o);if(!s)return this._handleNull();const a=t.range,i=s.getMaxRows()-1,u=s.getMergeData(),c=[],l=[];u.forEach(I=>{const{startRow:f,startColumn:w,endColumn:M,endRow:p}=a;if(r.Rectangle.intersects({startRow:f,startColumn:w,endRow:i,endColumn:M},I)&&(c.push(I),r.Rectangle.contains({startRow:f,startColumn:w,endRow:i,endColumn:M},I))){const _=p-f+1,E=r.Rectangle.moveVertical(I,-_);l.push(E)}});const d={unitId:e,subUnitId:o,ranges:c},m=Q(this._injector,d),g={unitId:e,subUnitId:o,ranges:l},v=se(this._injector,g),S=[{id:W.id,params:d},{id:j.id,params:g}],C=[{id:j.id,params:m},{id:W.id,params:v}];return{redos:S,undos:C}}_handleDeleteRangeMoveLeftCommand(t,e,o){const n=re(this._univerInstanceService,e);if(!n)return this._handleNull();const s=ie(n,o);if(!s)return this._handleNull();const a=t.range,i=s.getMaxColumns()-1,u=s.getMergeData(),c=[],l=[];u.forEach(S=>{const{startRow:C,endRow:I,startColumn:f,endColumn:w}=a;if(r.Rectangle.intersects({startRow:C,startColumn:f,endRow:I,endColumn:i},S)&&(c.push(S),r.Rectangle.contains({startRow:C,startColumn:f,endRow:I,endColumn:i},S))){const y=w-f+1;l.push({startRow:S.startRow,startColumn:S.startColumn-y,endRow:S.endRow,endColumn:S.endColumn-y})}});const d={unitId:e,subUnitId:o,ranges:c},m=Q(this._injector,d),g={unitId:e,subUnitId:o,ranges:l},v=se(this._injector,g);return{redos:[{id:W.id,params:d},{id:j.id,params:g}],undos:[{id:j.id,params:m},{id:W.id,params:v}]}}_handleNull(){return{redos:[],undos:[]}}};ct=js([r.OnLifecycle(r.LifecycleStages.Steady,ct),Pe(0,V.Inject(r.ICommandService)),Pe(1,V.Inject(h.RefRangeService)),Pe(2,V.Inject(r.IUniverInstanceService)),Pe(3,V.Inject(V.Injector)),Pe(4,V.Inject(h.SheetInterceptorService)),Pe(5,V.Inject(h.SelectionManagerService))],ct);function re(t,e){return e?t.getUniverSheetInstance(e):t.getCurrentUniverSheetInstance()}function ie(t,e){return e?t.getSheetBySheetId(e):t.getActiveSheet()}const Ws={sheets:{sheetCopy:"(Copy)",sheet:"Sheet"}},xn={sheets:{sheetCopy:"(副本)",sheet:"工作表"}};var Fs=Object.defineProperty,Hs=Object.getOwnPropertyDescriptor,$s=(t,e,o,n)=>{for(var s=n>1?void 0:n?Hs(e,o):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(s=(n?i(e,o,s):i(s))||s);return n&&s&&Fs(e,o,s),s},dt=(t,e)=>(o,n)=>e(o,n,t);const Kn="SHEET_NUMFMT_PLUGIN";h.NumfmtService=class extends r.Disposable{constructor(o,n,s,a){super();B(this,"_numfmtModel",new Map);B(this,"_refAliasModel",new Map);B(this,"_modelReplace$",new Ue.Subject);B(this,"modelReplace$",this._modelReplace$.asObservable());this._commandService=o,this._resourceManagerService=n,this._univerInstanceService=s,this._logService=a,this._initModel(),this.disposeWithMe(r.toDisposable(()=>{this._numfmtModel.clear(),this._refAliasModel.clear()}))}_initModel(){const o=s=>{const a=s.getUnitId();this.disposeWithMe(this._resourceManagerService.registerPluginResource(a,Kn,{toJson:i=>this._toJson(i),parseJson:i=>this._parseJson(i),onChange:(i,u)=>{const{model:c,refModel:l}=u;if(c){const d=Object.keys(c).reduce((m,g)=>(m.set(g,new r.ObjectMatrix(c[g])),m),new Map);this._numfmtModel.set(i,d)}l&&this._refAliasModel.set(i,new r.RefAlias(l,["pattern","i"])),this._modelReplace$.next(i)}}))};this.disposeWithMe(r.toDisposable(this._univerInstanceService.sheetAdded$.subscribe(o))),this.disposeWithMe(r.toDisposable(this._univerInstanceService.sheetDisposed$.subscribe(s=>{const a=s.getUnitId();this._numfmtModel.get(a)&&this._numfmtModel.delete(a),this._refAliasModel.get(a)&&this._refAliasModel.delete(a),this._resourceManagerService.disposePluginResource(a,Kn)})));const n=this._univerInstanceService.getCurrentUniverSheetInstance();o(n)}_toJson(o){const n=this._numfmtModel.get(o),s=this._refAliasModel.get(o);if(!n||!s)return"";const a=[...n.keys()].reduce((c,l)=>{const d=n.get(l);return c[l]=d.toJSON(),c},{}),i=s.getValues().filter(c=>c.count>0);return JSON.stringify({model:a,refModel:i})}_parseJson(o){try{return JSON.parse(o)}catch{return{model:{},refModel:[]}}}_setValue(o,n,s,a,i){let u=this.getModel(o,n);if(!u){const c=this._numfmtModel.get(o)||new Map,l=c.get(n)||new r.ObjectMatrix;c.set(n,l),this._numfmtModel.set(o,c),u=l}if(i)u.setValue(s,a,i);else if(u.realDeleteValue(s,a),!u.getSizeOf()){const l=this._numfmtModel.get(o);l==null||l.delete(n)}}_getUniqueRefId(o){const n=this._refAliasModel.get(o);if(!n)return"0";const s=n.getKeyMap("i");return`${Math.max(...s.map(i=>Number(i||0)),0)+1}`}getValue(o,n,s,a,i){const u=i||this.getModel(o,n);if(!u)return null;const c=this._refAliasModel.get(o),l=u.getValue(s,a);if(l&&c){const d=c.getValue(l==null?void 0:l.i);return d?{pattern:d.pattern,type:d.type}:(this._logService.error("[Numfmt Service]:","RefAliasModel is not match model"),null)}return null}deleteValues(o,n,s){let a=this._refAliasModel.get(o);const i=this.getModel(o,n);a||(a=new r.RefAlias([],["pattern","i"]),this._refAliasModel.set(o,a)),s.forEach(u=>{r.Range.foreach(u,(c,l)=>{const d=this.getValue(o,n,c,l,i);if(d&&d.pattern){const m=a.getValue(d.pattern);m&&m.count--}this._setValue(o,n,c,l,null)})})}setValues(o,n,s){const a=this.getModel(o,n);let i=this._refAliasModel.get(o);i||(i=new r.RefAlias([],["pattern","i"]),this._refAliasModel.set(o,i)),s.forEach(u=>{let c=i.getValue(u.pattern);c||(c={count:0,i:this._getUniqueRefId(o),pattern:u.pattern,type:s[0].type},i.addValue(c)),u.ranges.forEach(l=>{r.Range.foreach(l,(d,m)=>{if(a){const g=this.getValue(o,n,d,m,a);if(g&&g.pattern){const v=i.getValue(g.pattern);v&&v.count--}}this._setValue(o,n,d,m,{i:c.i}),c.count++})})})}getModel(o,n){const s=this._numfmtModel.get(o);return s==null?void 0:s.get(n)}getRefModel(o){return this._refAliasModel.get(o)}},h.NumfmtService=$s([r.OnLifecycle(r.LifecycleStages.Starting,h.NumfmtService),dt(0,V.Inject(r.ICommandService)),dt(1,V.Inject(r.IResourceManagerService)),dt(2,V.Inject(r.IUniverInstanceService)),dt(3,V.Inject(r.ILogService))],h.NumfmtService);const Jn="univer.sheet.editable";class pe extends r.PermissionPoint{constructor(o,n){super();B(this,"id",Jn);B(this,"value",!0);B(this,"unitID");this._unitId=o,this._subUnitId=n,this.unitID=o,this.id=`${Jn}_${o}_${n}`}}var zs=Object.defineProperty,Gs=Object.getOwnPropertyDescriptor,qs=(t,e,o,n)=>{for(var s=n>1?void 0:n?Gs(e,o):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(s=(n?i(e,o,s):i(s))||s);return n&&s&&zs(e,o,s),s},jt=(t,e)=>(o,n)=>e(o,n,t);h.SheetPermissionService=class extends r.Disposable{constructor(e,o,n){super(),this._permissionService=e,this._univerInstanceService=o,this._sheetInterceptorService=n,this._init(),this._interceptCommandPermission()}_init(){const e=this._univerInstanceService.getCurrentUniverSheetInstance(),o=e.getUnitId();e.getSheets().forEach(n=>{const s=n.getSheetId(),a=new pe(o,s);this._permissionService.addPermissionPoint(e.getUnitId(),a)}),this.disposeWithMe(r.toDisposable(e.sheetCreated$.subscribe(n=>{const s=n.getSheetId(),a=new pe(o,s);this._permissionService.addPermissionPoint(e.getUnitId(),a)}))),this.disposeWithMe(r.toDisposable(e.sheetDisposed$.subscribe(n=>{const s=n.getSheetId(),a=new pe(o,s);this._permissionService.deletePermissionPoint(e.getUnitId(),a.id)})))}_interceptCommandPermission(){this.disposeWithMe(this._sheetInterceptorService.intercept(_e.PERMISSION,{priority:99,handler:(e,o,n)=>{const s=this._univerInstanceService.getCurrentUniverSheetInstance(),a=s==null?void 0:s.getActiveSheet(),i=s==null?void 0:s.getUnitId(),u=a==null?void 0:a.getSheetId();if(!i||!u)return!1;switch(o.id){case Se.id:return this.getSheetEditable(i,u)}return n()}}))}getEditable$(e,o){const n=this._univerInstanceService.getCurrentUniverSheetInstance(),s=e||n.getUnitId(),a=n.getActiveSheet(),i=o||a.getSheetId(),u=new pe(s,i);return this._permissionService.composePermission$(s,[r.UniverEditablePermissionPoint,u.id]).pipe(oo.map(([c,l])=>{const d=c.value&&l.value,m=r.getTypeFromPermissionItemList([c,l]);return{value:d,status:m}}))}getSheetEditable(e,o){const n=this._univerInstanceService.getCurrentUniverSheetInstance(),s=e||n.getUnitId(),a=n.getActiveSheet(),i=o||a.getSheetId(),u=new pe(s,i);return this._permissionService.composePermission(s,[r.UniverEditablePermissionPoint,u.id]).every(c=>c.value)}setSheetEditable(e,o,n){const s=this._univerInstanceService.getCurrentUniverSheetInstance(),a=o||s.getUnitId(),i=s.getActiveSheet(),u=n||i.getSheetId(),c=new pe(a,u);this._permissionService.updatePermissionPoint(a,c.id,e)}},h.SheetPermissionService=qs([r.OnLifecycle(r.LifecycleStages.Ready,h.SheetPermissionService),jt(0,V.Inject(r.IPermissionService)),jt(1,V.Inject(r.IUniverInstanceService)),jt(2,V.Inject(h.SheetInterceptorService))],h.SheetPermissionService);function Ys(t){const e=t.get(r.IUniverInstanceService),o=t.get(h.SheetPermissionService),n=e.getCurrentUniverSheetInstance().getUnitId(),s=e.getCurrentUniverSheetInstance().getActiveSheet().getSheetId();return new Ue.Observable(a=>{var u;const i=(u=o.getEditable$(n,s))==null?void 0:u.subscribe(c=>{a.next(!c.value)});return()=>{i==null||i.unsubscribe()}})}var xs=Object.defineProperty,Ks=Object.getOwnPropertyDescriptor,Js=(t,e,o,n)=>{for(var s=n>1?void 0:n?Ks(e,o):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(s=(n?i(e,o,s):i(s))||s);return n&&s&&xs(e,o,s),s},Wt=(t,e)=>(o,n)=>e(o,n,t);const Xs="sheet";h.UniverSheetsPlugin=(Ft=class extends r.Plugin{constructor(e,o,n,s){super(Xs),this._config=e,this._commandService=o,this._localeService=n,this._injector=s,this._initializeDependencies(s)}onRendered(){this._localeService.load({zhCN:xn})}_initializeDependencies(e){var n;const o=[[Me],[h.SelectionManagerService],[h.RefRangeService],[h.SheetPermissionService],[we,{useClass:h.NumfmtService}],[h.SheetInterceptorService],[rt],[ct]];(n=this._config)!=null&&n.notExecuteFormula||o.push([it],[ut]),o.forEach(s=>{e.add(s)})}},B(Ft,"type",r.PluginType.Sheet),Ft),h.UniverSheetsPlugin=Js([Wt(1,r.ICommandService),Wt(2,V.Inject(r.LocaleService)),Wt(3,V.Inject(V.Injector))],h.UniverSheetsPlugin);const Zs=[le.id,te.id,At.id,de.id,Fe.id,Ve.id,je.id,De.id,Oe.id,Ne.id,Ae.id,Ce.id,Ie.id,Re.id,fe.id],Qs=[z.id,Le.id,W.id,j.id],er=1.5,tr="rgba(255,255,255, 0.01)";function nr(t){const e=t.getCurrentTheme(),o=new r.ColorKit(e.colorBlack).setAlpha(.1).toRgbString();return{strokeWidth:1.5,stroke:e.primaryColor,fill:o,widgets:{},widgetSize:6,widgetStrokeWidth:1,widgetStroke:e.colorWhite,hasAutoFill:!0,AutofillSize:6,AutofillStrokeWidth:1,AutofillStroke:e.colorWhite,hasRowHeader:!0,rowHeaderFill:o,rowHeaderStroke:e.primaryColor,rowHeaderStrokeWidth:1,hasColumnHeader:!0,columnHeaderFill:o,columnHeaderStroke:e.primaryColor,columnHeaderStrokeWidth:1}}function or(t){const{rangeWithCoord:e,primaryWithCoord:o,style:n}=t,s={range:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn,rangeType:e.rangeType},primary:null,style:n};return o!=null&&(s.primary=Xn(o)),s}function Xn(t){const{actualRow:e,actualColumn:o,isMerged:n,isMergedMainCell:s}=t,{startRow:a,startColumn:i,endRow:u,endColumn:c}=t.mergeInfo;return{actualRow:e,actualColumn:o,isMerged:n,isMergedMainCell:s,startRow:a,startColumn:i,endRow:u,endColumn:c}}function sr(t,e,o){const n=so.getCellInfoInMergeData(t,e,o),s=r.makeCellRangeToRangeData(n);if(s)return{range:s,primary:n,style:null}}const rr={id:"sheet.mutation.empty",type:r.CommandType.MUTATION,handler:()=>!0};h.AddMergeUndoMutationFactory=se,h.AddWorksheetMergeMutation=j,h.BorderStyleManagerService=Me,h.COMMAND_LISTENER_SKELETON_CHANGE=Zs,h.COMMAND_LISTENER_VALUE_CHANGE=Qs,h.ClearSelectionAllCommand=qe,h.ClearSelectionContentCommand=gt,h.ClearSelectionFormatCommand=Ye,h.CopySheetCommand=Yt,h.DeleteRangeMoveLeftCommand=Ke,h.DeleteRangeMoveUpCommand=Je,h.DeltaColumnWidthCommand=Tt,h.DeltaRowHeightCommand=kn,h.EffectRefRangId=K,h.EmptyMutation=rr,h.INTERCEPTOR_POINT=_e,h.INumfmtService=we,h.InsertColAfterCommand=on,h.InsertColBeforeCommand=nn,h.InsertColCommand=Te,h.InsertColMutation=Ce,h.InsertColMutationUndoFactory=ft,h.InsertRangeMoveDownCommand=Xe,h.InsertRangeMoveRightCommand=Ze,h.InsertRowAfterCommand=en,h.InsertRowBeforeCommand=Qt,h.InsertRowCommand=be,h.InsertRowMutation=Ie,h.InsertRowMutationUndoFactory=Ct,h.InsertSheetCommand=sn,h.InsertSheetMutation=ve,h.InsertSheetUndoMutationFactory=ht,h.MAX_CELL_PER_SHEET_KEY=jn,h.MoveColsCommand=Mt,h.MoveColsMutation=je,h.MoveRangeCommand=xe,h.MoveRangeMutation=Le,h.MoveRowsCommand=Rt,h.MoveRowsMutation=Ve,h.NORMAL_SELECTION_PLUGIN_NAME=Y,h.OperatorType=H,h.RemoveColCommand=et,h.RemoveColMutation=Re,h.RemoveMergeUndoMutationFactory=Q,h.RemoveNumfmtMutation=kt,h.RemoveRowCommand=Qe,h.RemoveRowMutation=fe,h.RemoveSheetCommand=wt,h.RemoveSheetMutation=ke,h.RemoveSheetUndoMutationFactory=qt,h.RemoveWorksheetMergeCommand=dn,h.RemoveWorksheetMergeMutation=W,h.ResetBackgroundColorCommand=Un,h.ResetTextColorCommand=pn,h.SELECTION_CONTROL_BORDER_BUFFER_COLOR=tr,h.SELECTION_CONTROL_BORDER_BUFFER_WIDTH=er,h.SelectionMoveType=$t,h.SetBackgroundColorCommand=yn,h.SetBoldCommand=qo,h.SetBorderBasicCommand=ln,h.SetBorderColorCommand=hn,h.SetBorderCommand=Ee,h.SetBorderPositionCommand=mn,h.SetBorderStyleCommand=gn,h.SetColHiddenCommand=Sn,h.SetColHiddenMutation=De,h.SetColVisibleMutation=Oe,h.SetColWidthCommand=Et,h.SetFontFamilyCommand=Jo,h.SetFontSizeCommand=Xo,h.SetFrozenCommand=Cn,h.SetFrozenMutation=ge,h.SetFrozenMutationFactory=yt,h.SetHorizontalTextAlignCommand=bn,h.SetItalicCommand=Yo,h.SetNumfmtMutation=ot,h.SetRangeValuesCommand=Se,h.SetRangeValuesMutation=z,h.SetRangeValuesUndoMutationFactory=ue,h.SetRowHeightCommand=Ln,h.SetRowHiddenCommand=Rn,h.SetRowHiddenMutation=Ne,h.SetRowVisibleMutation=Ae,h.SetSelectedColsVisibleCommand=vn,h.SetSelectedRowsVisibleCommand=fn,h.SetSelectionsOperation=G,h.SetSpecificColsVisibleCommand=pt,h.SetSpecificRowsVisibleCommand=Ut,h.SetStrikeThroughCommand=Ko,h.SetStyleCommand=x,h.SetTabColorCommand=Dn,h.SetTabColorMutation=We,h.SetTextColorCommand=wn,h.SetTextRotationCommand=En,h.SetTextWrapCommand=Tn,h.SetUnderlineCommand=xo,h.SetVerticalTextAlignCommand=_n,h.SetWorksheetActivateCommand=_t,h.SetWorksheetActiveOperation=Fe,h.SetWorksheetColWidthMutation=de,h.SetWorksheetColWidthMutationFactory=bt,h.SetWorksheetHideCommand=An,h.SetWorksheetHideMutation=he,h.SetWorksheetNameCommand=Dt,h.SetWorksheetNameMutation=nt,h.SetWorksheetOrderCommand=Nn,h.SetWorksheetOrderMutation=He,h.SetWorksheetRowAutoHeightMutation=At,h.SetWorksheetRowAutoHeightMutationFactory=ns,h.SetWorksheetRowHeightMutation=le,h.SetWorksheetRowIsAutoHeightCommand=Nt,h.SetWorksheetRowIsAutoHeightMutation=te,h.SetWorksheetShowCommand=Bn,h.SheetEditablePermission=pe,h.alignToMergedCellsBorders=Be,h.convertPrimaryWithCoordToPrimary=Xn,h.convertSelectionDataToRange=or,h.enUS=Ws,h.factoryRemoveNumfmtUndoMutation=cs,h.factorySetNumfmtUndoMutation=us,h.followSelectionOperation=ce,h.getAddMergeMutationRangeByType=Yn,h.getCellAtRowCol=bo,h.getCurrentSheetDisabled$=Ys,h.getInsertRangeMutations=St,h.getNormalSelectionStyle=nr,h.getPrimaryForRange=X,h.getRemoveRangeMutations=It,h.handleBaseInsertRange=ze,h.handleBaseMoveRowsCols=Bt,h.handleBaseRemoveRange=$e,h.handleDeleteRangeMoveLeft=ks,h.handleDeleteRangeMoveUp=Ls,h.handleDeleteRangeMutation=Eo,h.handleIRemoveCol=Es,h.handleIRemoveRow=Ds,h.handleInsertCol=As,h.handleInsertRangeMoveDown=Ns,h.handleInsertRangeMoveRight=Ps,h.handleInsertRangeMutation=To,h.handleInsertRow=Os,h.handleMoveCols=qn,h.handleMoveRange=Ts,h.handleMoveRows=Gn,h.rangeMerge=Pt,h.rotateRange=me,h.runRefRangeMutations=Vt,h.transformCellDataToSelectionData=sr,h.transformCellsToRange=st,h.zhCN=xn,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})});
|