@univerjs/sheets 0.5.3 → 0.5.4

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.
@@ -1,24 +1,60 @@
1
1
  import { CellValue, ICellData, IObjectMatrixPrimitiveType, IRange, IRangeWithCoord, Worksheet, HorizontalAlign, VerticalAlign } from '@univerjs/core';
2
2
  export type FHorizontalAlignment = 'left' | 'center' | 'normal';
3
3
  export type FVerticalAlignment = 'top' | 'middle' | 'bottom';
4
+ /**
5
+ *
6
+ * @param value
7
+ */
4
8
  export declare function transformFacadeHorizontalAlignment(value: FHorizontalAlignment): HorizontalAlign;
9
+ /**
10
+ *
11
+ * @param value
12
+ */
5
13
  export declare function transformCoreHorizontalAlignment(value: HorizontalAlign): FHorizontalAlignment;
14
+ /**
15
+ *
16
+ * @param value
17
+ */
6
18
  export declare function transformFacadeVerticalAlignment(value: FVerticalAlignment): VerticalAlign;
19
+ /**
20
+ *
21
+ * @param value
22
+ */
7
23
  export declare function transformCoreVerticalAlignment(value: VerticalAlign): FVerticalAlignment;
8
24
  /**
9
- * covert cell value to cell data
25
+ * Covert cell value to cell data.
10
26
  * @param value
11
27
  * @returns
12
28
  */
13
29
  export declare function covertCellValue(value: CellValue | ICellData): ICellData;
14
30
  /**
15
- * covert cell value array or matrix to cell data
31
+ * Covert cell value array or matrix to cell data.
16
32
  * @param value
17
33
  * @param range
18
34
  * @returns
19
35
  */
20
36
  export declare function covertCellValues(value: CellValue[][] | IObjectMatrixPrimitiveType<CellValue> | ICellData[][] | IObjectMatrixPrimitiveType<ICellData>, range: IRange): IObjectMatrixPrimitiveType<ICellData>;
37
+ /**
38
+ *
39
+ * @param mergeInfo
40
+ * @param range
41
+ */
21
42
  export declare function isCellMerged(mergeInfo: IRangeWithCoord, range: IRange): boolean;
43
+ /**
44
+ *
45
+ * @param mergeInfo
46
+ * @param range
47
+ */
22
48
  export declare function isSingleCell(mergeInfo: IRangeWithCoord, range: IRange): boolean;
49
+ /**
50
+ *
51
+ * @param range
52
+ * @param worksheet
53
+ */
23
54
  export declare function covertToRowRange(range: IRange, worksheet: Worksheet): IRange;
55
+ /**
56
+ *
57
+ * @param range
58
+ * @param worksheet
59
+ */
24
60
  export declare function covertToColRange(range: IRange, worksheet: Worksheet): IRange;
@@ -49,6 +49,8 @@ export { getNextPrimaryCell } from './services/selections/move-active-cell-util'
49
49
  export { ExclusiveRangeService, IExclusiveRangeService } from './services/exclusive-range/exclusive-range-service';
50
50
  export { defaultWorksheetPermissionPoint, getAllWorksheetPermissionPoint, getAllWorksheetPermissionPointByPointPanel } from './services/permission';
51
51
  export type { IWorksheetProtectionRule } from './services/permission/type';
52
+ export { SheetPermissionCheckController } from './controllers/permission/sheet-permission-check.controller';
53
+ export { SheetPermissionInitController } from './controllers/permission/sheet-permission-init.controller';
52
54
  export { WorksheetProtectionPointModel, WorksheetProtectionRuleModel } from './services/permission/worksheet-permission';
53
55
  export { defaultWorkbookPermissionPoints, getAllWorkbookPermissionPoint } from './services/permission/workbook-permission';
54
56
  export { WorkbookCommentPermission, WorkbookCopyPermission, WorkbookCreateProtectPermission, WorkbookCreateSheetPermission, WorkbookDeleteSheetPermission, WorkbookDuplicatePermission, WorkbookEditablePermission, WorkbookExportPermission, WorkbookHideSheetPermission, WorkbookHistoryPermission, WorkbookManageCollaboratorPermission, WorkbookMoveSheetPermission, WorkbookPrintPermission, WorkbookRecoverHistoryPermission, WorkbookRenameSheetPermission, WorkbookSharePermission, WorkbookViewHistoryPermission, WorkbookViewPermission, WorksheetCopyPermission, WorksheetDeleteColumnPermission, WorksheetDeleteProtectionPermission, WorksheetDeleteRowPermission, WorksheetEditExtraObjectPermission, WorksheetEditPermission, WorksheetFilterPermission, WorksheetInsertColumnPermission, WorksheetInsertHyperlinkPermission, WorksheetInsertRowPermission, WorksheetManageCollaboratorPermission, WorksheetPivotTablePermission, WorksheetSelectProtectedCellsPermission, WorksheetSelectUnProtectedCellsPermission, WorksheetSetCellStylePermission, WorksheetSetCellValuePermission, WorksheetSetColumnStylePermission, WorksheetSetRowStylePermission, WorksheetSortPermission, WorksheetViewPermission, } from './services/permission/permission-point';
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- (function(m,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/engine-formula")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","@univerjs/engine-formula"],r):(m=typeof globalThis<"u"?globalThis:m||self,r(m.UniverSheetsFacade={},m.UniverCore,m.UniverSheets,m.UniverEngineFormula))})(this,function(m,r,a,w){"use strict";var se=Object.defineProperty;var ae=(m,r,a)=>r in m?se(m,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):m[r]=a;var I=(m,r,a)=>ae(m,typeof r!="symbol"?r+"":r,a);var N=Object.defineProperty,F=Object.getOwnPropertyDescriptor,j=(h,i,e,t)=>{for(var n=t>1?void 0:t?F(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&N(i,e,n),n},_=(h,i)=>(e,t)=>i(e,t,h);function W(h,i,e){const t=e.getDefinedNameMap(h);if(t==null)return i.t("definedName.defaultName")+1;const o=Array.from(Object.values(t)).length+1,s=i.t("definedName.defaultName")+o;if(e.getValueByName(h,s)==null)return s;let d=o+1;for(;;){const c=i.t("definedName.defaultName")+d;if(e.getValueByName(h,c)==null)return c;d++}}class C{constructor(){I(this,"_definedNameParam");this._definedNameParam={id:r.generateRandomId(10),unitId:"",name:"",formulaOrRefString:""}}setName(i){return this._definedNameParam.name=i,this}setFormula(i){return this._definedNameParam.formulaOrRefString=`=${i}`,this}setRef(i){return this._definedNameParam.formulaOrRefString=i,this}setRefByRange(i,e,t,n){return this._definedNameParam.formulaOrRefString=w.serializeRange({startRow:i,endRow:i+(t!=null?t:1)-1,startColumn:e,endColumn:e+(n!=null?n:1)-1}),this}setComment(i){return this._definedNameParam.comment=i,this}setHidden(i){return this._definedNameParam.hidden=i,this}build(){return this._definedNameParam}load(i){return this._definedNameParam=i,this}}let v=class extends r.FBase{constructor(h,i,e,t,n,o,s,d,c,u){super(),this._definedNameParam=h,this._injector=i,this._commandService=e,this._permissionService=t,this._worksheetProtectionRuleModel=n,this._rangeProtectionRuleModel=o,this._worksheetProtectionPointRuleModel=s,this._authzIoService=d,this._localeService=c,this._definedNamesService=u}_apply(){this._definedNameParam.name===""&&(this._definedNameParam.name=W(this._definedNameParam.unitId,this._localeService,this._definedNamesService)),this._commandService.syncExecuteCommand(a.SetDefinedNameCommand.id,this._definedNameParam)}getName(){return this._definedNameParam.name}setName(h){this._definedNameParam.name=h,this._apply()}setFormula(h){this._definedNameParam.formulaOrRefString=`=${h}`,this._apply()}setRef(h){this._definedNameParam.formulaOrRefString=h,this._apply()}getFormulaOrRefString(){return this._definedNameParam.formulaOrRefString}setRefByRange(h,i,e,t){this._definedNameParam.formulaOrRefString=w.serializeRange({startRow:h,endRow:h+(e!=null?e:1)-1,startColumn:i,endColumn:i+(t!=null?t:1)-1}),this._apply()}getComment(){return this._definedNameParam.comment}setComment(h){this._definedNameParam.comment=h,this._apply()}setScopeToWorksheet(h){this._definedNameParam.localSheetId=h.getSheetId(),this._apply()}setScopeToWorkbook(){this._definedNameParam.localSheetId=a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this._apply()}setHidden(h){this._definedNameParam.hidden=h,this._apply()}delete(){this._commandService.syncExecuteCommand(a.RemoveDefinedNameCommand.id,this._definedNameParam)}getLocalSheetId(){return this._definedNameParam.localSheetId}isWorkbookScope(){return this._definedNameParam.localSheetId===a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME}toBuilder(){const h=this._injector.createInstance(C);return h.load(this._definedNameParam),h}};v=j([_(1,r.Inject(r.Injector)),_(2,r.ICommandService),_(3,r.IPermissionService),_(4,r.Inject(a.WorksheetProtectionRuleModel)),_(5,r.Inject(a.RangeProtectionRuleModel)),_(6,r.Inject(a.WorksheetProtectionPointModel)),_(7,r.Inject(r.IAuthzIoService)),_(8,r.Inject(r.LocaleService)),_(9,w.IDefinedNamesService)],v);var A=Object.defineProperty,T=Object.getOwnPropertyDescriptor,D=(h,i,e,t)=>{for(var n=t>1?void 0:t?T(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&A(i,e,n),n},k=(h,i)=>(e,t)=>i(e,t,h);m.FPermission=class extends r.FBase{constructor(e,t,n,o,s,d,c){super();I(this,"permissionPointsDefinition",a.PermissionPointsDefinitions);this._injector=e,this._commandService=t,this._permissionService=n,this._worksheetProtectionRuleModel=o,this._rangeProtectionRuleModel=s,this._worksheetProtectionPointRuleModel=d,this._authzIoService=c}setWorkbookPermissionPoint(e,t,n){const o=new t(e);this._permissionService.getPermissionPoint(o.id)||this._permissionService.addPermissionPoint(o),this._permissionService.updatePermissionPoint(o.id,n)}setWorkbookEditPermission(e,t){this.setWorkbookPermissionPoint(e,a.WorkbookEditablePermission,t)}async addWorksheetBasePermission(e,t){if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length>0)throw new Error("sheet protection cannot intersect with range protection");const o=await this._authzIoService.create({objectType:a.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}});if(this._commandService.syncExecuteCommand(a.AddWorksheetProtectionMutation.id,{unitId:e,subUnitId:t,rule:{permissionId:o,unitType:a.UnitObject.Worksheet,unitId:e,subUnitId:t}}))return o}removeWorksheetPermission(e,t){this._commandService.syncExecuteCommand(a.DeleteWorksheetProtectionMutation.id,{unitId:e,subUnitId:t}),[...a.getAllWorksheetPermissionPoint(),...a.getAllWorksheetPermissionPointByPointPanel()].forEach(n=>{const o=new n(e,t);this._permissionService.updatePermissionPoint(o.id,!0)}),this._worksheetProtectionPointRuleModel.deleteRule(e,t)}async setWorksheetPermissionPoint(e,t,n,o){const s=this._worksheetProtectionRuleModel.getRule(e,t);let d;if(n===a.WorksheetEditPermission||n===a.WorksheetViewPermission)if(s)d=s.permissionId;else{if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length>0)throw new Error("sheet protection cannot intersect with range protection");d=await this.addWorksheetBasePermission(e,t)}else{const g=this._worksheetProtectionPointRuleModel.getRule(e,t);g?d=g.permissionId:(d=await this._authzIoService.create({objectType:a.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}}),this._commandService.executeCommand(a.SetWorksheetPermissionPointsMutation.id,{unitId:e,subUnitId:t,permissionId:d}))}const u=new n(e,t);return this._permissionService.getPermissionPoint(u.id)||this._permissionService.addPermissionPoint(u),this._permissionService.updatePermissionPoint(u.id,o),d}async addRangeBaseProtection(e,t,n){const o=await this._authzIoService.create({objectType:a.UnitObject.SelectRange,selectRangeObject:{collaborators:[],unitID:e,name:"",scope:void 0}}),s=`ruleId_${r.generateRandomId(6)}`;if(this._worksheetProtectionRuleModel.getRule(e,t))throw new Error("sheet protection cannot intersect with range protection");if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).some(g=>g.ranges.some(U=>n.some(R=>r.Rectangle.intersects(R,U)))))throw new Error("range protection cannot intersect");if(this._commandService.syncExecuteCommand(a.AddRangeProtectionMutation.id,{unitId:e,subUnitId:t,rules:[{permissionId:o,unitType:a.UnitObject.SelectRange,unitId:e,subUnitId:t,ranges:n,id:s}]}))return{permissionId:o,ruleId:s}}removeRangeProtection(e,t,n){this._commandService.syncExecuteCommand(a.DeleteRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleIds:n})&&this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length===0&&(this._worksheetProtectionPointRuleModel.deleteRule(e,t),[...a.getAllWorksheetPermissionPointByPointPanel()].forEach(d=>{const c=new d(e,t);this._permissionService.updatePermissionPoint(c.id,c.value)}))}setRangeProtectionPermissionPoint(e,t,n,o,s){const d=new o(e,t,n);this._permissionService.getPermissionPoint(d.id)||this._permissionService.addPermissionPoint(d),this._permissionService.updatePermissionPoint(d.id,s)}setRangeProtectionRanges(e,t,n,o){const s=this._rangeProtectionRuleModel.getRule(e,t,n);if(s){if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).filter(u=>u.id!==n).some(u=>u.ranges.some(l=>o.some(g=>r.Rectangle.intersects(g,l)))))throw new Error("range protection cannot intersect");this._commandService.syncExecuteCommand(a.SetRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleId:n,rule:{...s,ranges:o}})}}setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}},m.FPermission=D([k(0,r.Inject(r.Injector)),k(1,r.ICommandService),k(2,r.IPermissionService),k(3,r.Inject(a.WorksheetProtectionRuleModel)),k(4,r.Inject(a.RangeProtectionRuleModel)),k(5,r.Inject(a.WorksheetProtectionPointModel)),k(6,r.Inject(r.IAuthzIoService))],m.FPermission);function M(h){switch(h){case"left":return r.HorizontalAlign.LEFT;case"center":return r.HorizontalAlign.CENTER;case"normal":return r.HorizontalAlign.RIGHT;default:throw new Error(`Invalid horizontal alignment: ${h}`)}}function O(h){switch(h){case r.HorizontalAlign.LEFT:return"left";case r.HorizontalAlign.CENTER:return"center";case r.HorizontalAlign.RIGHT:return"normal";default:throw new Error(`Invalid horizontal alignment: ${h}`)}}function x(h){switch(h){case"top":return r.VerticalAlign.TOP;case"middle":return r.VerticalAlign.MIDDLE;case"bottom":return r.VerticalAlign.BOTTOM;default:throw new Error(`Invalid vertical alignment: ${h}`)}}function B(h){switch(h){case r.VerticalAlign.TOP:return"top";case r.VerticalAlign.MIDDLE:return"middle";case r.VerticalAlign.BOTTOM:return"bottom";default:throw new Error(`Invalid vertical alignment: ${h}`)}}function b(h){return r.isFormulaString(h)?{f:h}:r.isCellV(h)?{v:h}:(r.isICellData(h),h)}function L(h,i){const e=new r.ObjectMatrix,{startRow:t,startColumn:n,endRow:o,endColumn:s}=i;if(r.Tools.isArray(h))for(let d=0;d<=o-t;d++)for(let c=0;c<=s-n;c++)e.setValue(d+t,c+n,b(h[d][c]));else new r.ObjectMatrix(h).forValue((c,u,l)=>{e.setValue(c,u,b(l))});return e.getMatrix()}function y(h,i){return{startRow:h.startRow,endRow:h.endRow,startColumn:0,endColumn:i.getColumnCount()-1,rangeType:r.RANGE_TYPE.ROW}}function P(h,i){return{startRow:0,endRow:i.getRowCount()-1,startColumn:h.startColumn,endColumn:h.endColumn,rangeType:r.RANGE_TYPE.COLUMN}}var z=Object.defineProperty,V=Object.getOwnPropertyDescriptor,H=(h,i,e,t)=>{for(var n=t>1?void 0:t?V(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&z(i,e,n),n},p=(h,i)=>(e,t)=>i(e,t,h);m.FRange=class extends r.FBaseInitialable{constructor(i,e,t,n,o,s){super(n),this._workbook=i,this._worksheet=e,this._range=t,this._injector=n,this._commandService=o,this._formulaDataModel=s}getUnitId(){return this._workbook.getUnitId()}getSheetName(){return this._worksheet.getName()}getRange(){return this._range}getRow(){return this._range.startRow}getColumn(){return this._range.startColumn}getWidth(){return this._range.endColumn-this._range.startColumn+1}getHeight(){return this._range.endRow-this._range.startRow+1}getCellData(){var i;return(i=this._worksheet.getCell(this._range.startRow,this._range.startColumn))!=null?i:null}isMerged(){const{startColumn:i,startRow:e,endColumn:t,endRow:n}=this._range;return this._worksheet.getMergedCellRange(e,i,n,t).some(s=>r.Rectangle.equals(s,this._range))}getCellStyleData(){var t;const i=this.getCellData(),e=this._workbook.getStyles();return i&&e&&(t=e.getStyleByCell(i))!=null?t:null}getValue(){var i,e;return(e=(i=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:i.v)!=null?e:null}getValues(){var s,d;const{startRow:i,endRow:e,startColumn:t,endColumn:n}=this._range,o=[];for(let c=i;c<=e;c++){const u=[];for(let l=t;l<=n;l++)u.push((d=(s=this._worksheet.getCell(c,l))==null?void 0:s.v)!=null?d:null);o.push(u)}return o}getCellDataGrid(){const{startRow:i,endRow:e,startColumn:t,endColumn:n}=this._range,o=[];for(let s=i;s<=e;s++){const d=[];for(let c=t;c<=n;c++)d.push(this._worksheet.getCellRaw(s,c));o.push(d)}return o}getFormulas(){const i=[],{startRow:e,endRow:t,startColumn:n,endColumn:o}=this._range,s=this._worksheet.getSheetId(),d=this._workbook.getUnitId();for(let c=e;c<=t;c++){const u=[];for(let l=n;l<=o;l++){const g=this._formulaDataModel.getFormulaStringByCell(c,l,s,d);u.push(g||"")}i.push(u)}return i}getWrap(){return this._worksheet.getRange(this._range).getWrap()===r.BooleanNumber.TRUE}getWrapStrategy(){return this._worksheet.getRange(this._range).getWrapStrategy()}getHorizontalAlignment(){return O(this._worksheet.getRange(this._range).getHorizontalAlignment())}getVerticalAlignment(){return B(this._worksheet.getRange(this._range).getVerticalAlignment())}setBackgroundColor(i){return this._commandService.syncExecuteCommand(a.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:i}}}),this}setBackground(i){return this.setBackgroundColor(i),this}setValue(i){const e=b(i);if(!e)throw new Error("Invalid value");return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setWrap(i){return this._commandService.syncExecuteCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:i?r.WrapStrategy.WRAP:r.WrapStrategy.UNSPECIFIED}),this}setWrapStrategy(i){return this._commandService.syncExecuteCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:i}),this}setVerticalAlignment(i){return this._commandService.syncExecuteCommand(a.SetVerticalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:x(i)}),this}setHorizontalAlignment(i){return this._commandService.syncExecuteCommand(a.SetHorizontalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:M(i)}),this}setValues(i){const e=L(i,this._range);return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setFontWeight(i){let e;if(i==="bold")e=r.BooleanNumber.TRUE;else if(i==="normal")e=r.BooleanNumber.FALSE;else if(i===null)e=null;else throw new Error("Invalid fontWeight");const t={type:"bl",value:e},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.executeCommand(a.SetStyleCommand.id,n),this}setFontStyle(i){let e;if(i==="italic")e=r.BooleanNumber.TRUE;else if(i==="normal")e=r.BooleanNumber.FALSE;else if(i===null)e=null;else throw new Error("Invalid fontStyle");const t={type:"it",value:e},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.executeCommand(a.SetStyleCommand.id,n),this}setFontLine(i){if(i==="underline")this._setFontUnderline({s:r.BooleanNumber.TRUE});else if(i==="line-through")this._setFontStrikethrough({s:r.BooleanNumber.TRUE});else if(i==="none")this._setFontUnderline({s:r.BooleanNumber.FALSE}),this._setFontStrikethrough({s:r.BooleanNumber.FALSE});else if(i===null)this._setFontUnderline(null),this._setFontStrikethrough(null);else throw new Error("Invalid fontLine");return this}_setFontUnderline(i){const e={type:"ul",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.executeCommand(a.SetStyleCommand.id,t)}_setFontStrikethrough(i){const e={type:"st",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.executeCommand(a.SetStyleCommand.id,t)}setFontFamily(i){const e={type:"ff",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.executeCommand(a.SetStyleCommand.id,t),this}setFontSize(i){const e={type:"fs",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.executeCommand(a.SetStyleCommand.id,t),this}setFontColor(i){const t={type:"cl",value:i===null?null:{rgb:i}},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.executeCommand(a.SetStyleCommand.id,n),this}merge(i=!0){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return a.addMergeCellsUtil(this._injector,e,t,[this._range],i),this}mergeAcross(i=!0){const e=a.getAddMergeMutationRangeByType([this._range],r.Dimension.ROWS),t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return a.addMergeCellsUtil(this._injector,t,n,e,i),this}mergeVertically(i=!0){const e=a.getAddMergeMutationRangeByType([this._range],r.Dimension.COLUMNS),t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return a.addMergeCellsUtil(this._injector,t,n,e,i),this}isPartOfMerge(){const{startRow:i,startColumn:e,endRow:t,endColumn:n}=this._range;return this._worksheet.getMergedCellRange(i,e,t,n).length>0}breakApart(){return this._commandService.executeCommand(a.RemoveWorksheetMergeCommand.id,{ranges:[this._range]}),this}forEach(i){const{startColumn:e,startRow:t,endColumn:n,endRow:o}=this._range;this._worksheet.getMatrixWithMergedCells(t,e,o,n).forValue((s,d,c)=>{i(s,d,c)})}getA1Notation(i){return i?w.serializeRangeWithSheet(this._worksheet.getName(),this._range):w.serializeRange(this._range)}activate(){return this._injector.createInstance(m.FWorkbook,this._workbook).setActiveRange(this),this}activateAsCurrentCell(){const i=this._worksheet.getMergedCell(this._range.startRow,this._range.startColumn);if(i&&r.Rectangle.equals(i,this._range)||!i&&this._range.startRow===this._range.endRow&&this._range.startColumn===this._range.endColumn)return this.activate();throw new Error("The range is not a single cell")}splitTextToColumns(i,e,t){this._commandService.executeCommand(a.SplitTextToColumnsCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,delimiter:e,customDelimiter:t,treatMultipleDelimitersAsOne:i})}useThemeStyle(i){if(i==null){const e=this.getUsedThemeStyle();e&&this.removeThemeStyle(e)}else this._commandService.executeCommand(a.SetWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:i})}removeThemeStyle(i){this._commandService.executeCommand(a.DeleteWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:i})}getUsedThemeStyle(){return this._injector.get(a.SheetRangeThemeService).getAppliedRangeThemeStyle({unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range})}},m.FRange=H([p(3,r.Inject(r.Injector)),p(4,r.ICommandService),p(5,r.Inject(w.FormulaDataModel))],m.FRange);var $=Object.defineProperty,G=Object.getOwnPropertyDescriptor,Y=(h,i,e,t)=>{for(var n=t>1?void 0:t?G(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&$(i,e,n),n},q=(h,i)=>(e,t)=>i(e,t,h);m.FSelection=class{constructor(i,e,t,n){this._workbook=i,this._worksheet=e,this._selections=t,this._injector=n}getActiveRange(){const i=this._selections.find(e=>!!e.primary);return i?this._injector.createInstance(m.FRange,this._workbook,this._worksheet,i.range):null}getActiveRangeList(){return this._selections.map(i=>this._injector.createInstance(m.FRange,this._workbook,this._worksheet,i.range))}getCurrentCell(){const i=this._selections.find(e=>!!e.primary);return i?i.primary:null}getActiveSheet(){const i=this._injector.createInstance(m.FWorkbook,this._workbook);return this._injector.createInstance(m.FWorksheet,i,this._workbook,this._worksheet)}updatePrimaryCell(i){const e=this._injector.get(r.ICommandService);let t=[],n=!1;for(const{range:s,style:d}of this._selections)r.Rectangle.contains(s,i.getRange())?(t.push({range:s,primary:a.getPrimaryForRange(i.getRange(),this._worksheet),style:d}),n=!0):t.push({range:s,primary:null,style:d});n||(t=[{range:i.getRange(),primary:a.getPrimaryForRange(i.getRange(),this._worksheet)}]);const o={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),selections:t};return e.syncExecuteCommand(a.SetSelectionsOperation.id,o),new m.FSelection(this._workbook,this._worksheet,t,this._injector)}getNextDataRange(i){if(!this._selections.find(n=>!!n.primary))return null;const t=a.getNextPrimaryCell(this._selections.concat(),i,this._worksheet);return t?this._injector.createInstance(m.FRange,this._workbook,this._worksheet,t):null}},m.FSelection=Y([q(3,r.Inject(r.Injector))],m.FSelection);var K=Object.defineProperty,J=Object.getOwnPropertyDescriptor,Q=(h,i,e,t)=>{for(var n=t>1?void 0:t?J(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&K(i,e,n),n},f=(h,i)=>(e,t)=>i(e,t,h);m.FWorksheet=class extends r.FBaseInitialable{constructor(e,t,n,o,s,d,c){super(o);I(this,"setActiveSelection",this.setActiveRange);this._fWorkbook=e,this._workbook=t,this._worksheet=n,this._injector=o,this._selectionManagerService=s,this._logService=d,this._commandService=c}getInject(){return this._injector}getWorkbook(){return this._workbook}getSheetId(){return this._worksheet.getSheetId()}getSheetName(){return this._worksheet.getName()}getSelection(){const e=this._selectionManagerService.getCurrentSelections();return e?this._injector.createInstance(m.FSelection,this._workbook,this._worksheet,e):null}getDefaultStyle(){return this._worksheet.getDefaultCellStyle()}getRowDefaultStyle(e,t=!1){return this._worksheet.getRowStyle(e,t)}getColumnDefaultStyle(e,t=!1){return this._worksheet.getColumnStyle(e,t)}setDefaultStyle(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.syncExecuteCommand(a.SetWorksheetDefaultStyleMutation.id,{unitId:t,subUnitId:n,defaultStyle:e}),this._worksheet.setDefaultCellStyle(e),this}setColumnDefaultStyle(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={unitId:n,subUnitId:o,columnData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(a.SetColDataCommand.id,s),this}setRowDefaultStyle(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={unitId:n,subUnitId:o,rowData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(a.SetRowDataCommand.id,s),this}getRange(e,t,n,o){let s,d;if(typeof e=="string"){const{range:c,sheetName:u}=w.deserializeRangeWithSheet(e),l=u?this._workbook.getSheetBySheetName(u):this._worksheet;if(!l)throw new Error("Range not found");d=l,s={...c,unitId:this._workbook.getUnitId(),sheetId:d.getSheetId(),rangeType:r.RANGE_TYPE.NORMAL,startRow:c.rangeType===r.RANGE_TYPE.COLUMN?0:c.startRow,endRow:c.rangeType===r.RANGE_TYPE.COLUMN?d.getMaxRows()-1:c.endRow,startColumn:c.rangeType===r.RANGE_TYPE.ROW?0:c.startColumn,endColumn:c.rangeType===r.RANGE_TYPE.ROW?d.getMaxColumns()-1:c.endColumn}}else if(typeof e=="number"&&t!==void 0)d=this._worksheet,s={startRow:e,endRow:e+(n!=null?n:1)-1,startColumn:t,endColumn:t+(o!=null?o:1)-1,unitId:this._workbook.getUnitId(),sheetId:this._worksheet.getSheetId()};else throw new Error("Invalid range specification");return this._injector.createInstance(m.FRange,this._workbook,d,s)}getMaxColumns(){return this._worksheet.getMaxColumns()}getMaxRows(){return this._worksheet.getMaxRows()}insertRowAfter(e){return this.insertRowsAfter(e,1)}insertRowBefore(e){return this.insertRowsBefore(e,1)}insertRows(e,t=1){return this.insertRowsBefore(e,t)}insertRowsAfter(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.DOWN,d=e+1,c=e+t,u=0,l=this._worksheet.getColumnCount()-1,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!0,e);return this._commandService.syncExecuteCommand(a.InsertRowByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}insertRowsBefore(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.UP,d=e,c=e+t-1,u=0,l=this._worksheet.getColumnCount()-1,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!0,e-1);return this._commandService.syncExecuteCommand(a.InsertRowByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}deleteRow(e){return this.deleteRows(e,1)}deleteRows(e,t){const n={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return this._commandService.syncExecuteCommand(a.RemoveRowByRangeCommand.id,{range:n,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}moveRows(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=y(e.getRange(),this._worksheet),d=s,c={startRow:t,endRow:t,startColumn:s.startColumn,endColumn:s.endColumn};return this._commandService.syncExecuteCommand(a.MoveRowsCommand.id,{unitId:n,subUnitId:o,range:s,fromRange:d,toRange:c}),this}hideRow(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=y(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetRowHiddenCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}hideRows(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:r.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(a.SetRowHiddenCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}unhideRow(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=y(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetSpecificRowsVisibleCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}showRows(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:r.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(a.SetSpecificRowsVisibleCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}setRowHeight(e,t){return this.setRowHeights(e,1,t)}setRowHeights(e,t,n){var l;const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=this._worksheet.getRowManager(),c=[],u=[];for(let g=e;g<e+t;g++){const U=((l=d.getRow(g))==null?void 0:l.ah)||this._worksheet.getConfig().defaultRowHeight,R={startRow:g,endRow:g,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};n<=U?c.push(R):u.push(R)}return u.length>0&&this._commandService.syncExecuteCommand(a.SetRowHeightCommand.id,{unitId:o,subUnitId:s,ranges:u,value:n}),c.length>0&&this._commandService.syncExecuteCommand(a.SetWorksheetRowIsAutoHeightCommand.id,{unitId:o,subUnitId:s,ranges:c}),this}setRowHeightsForced(e,t,n){const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(a.SetRowHeightCommand.id,{unitId:o,subUnitId:s,ranges:d,value:n}),this}setRowCustom(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o={};for(const[d,c]of Object.entries(e))o[Number(d)]={custom:c};const s={unitId:t,subUnitId:n,rowData:o};return this._commandService.syncExecuteCommand(a.SetRowDataCommand.id,s),this}insertColumnAfter(e){return this.insertColumnsAfter(e,1)}insertColumnBefore(e){return this.insertColumnsBefore(e,1)}insertColumns(e,t=1){return this.insertColumnsBefore(e,t)}insertColumnsAfter(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.RIGHT,d=0,c=this._worksheet.getRowCount()-1,u=e+1,l=e+t,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!1,e);return this._commandService.syncExecuteCommand(a.InsertColByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}insertColumnsBefore(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.LEFT,d=0,c=this._worksheet.getRowCount()-1,u=e,l=e+t-1,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!1,e-1);return this._commandService.syncExecuteCommand(a.InsertColByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}deleteColumn(e){return this.deleteColumns(e,1)}deleteColumns(e,t){const n={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1};return this._commandService.syncExecuteCommand(a.RemoveColByRangeCommand.id,{range:n,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}moveColumns(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=P(e.getRange(),this._worksheet),d=s,c={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:t,endColumn:t};return this._commandService.syncExecuteCommand(a.MoveColsCommand.id,{unitId:n,subUnitId:o,range:s,fromRange:d,toRange:c}),this}hideColumn(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=P(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetColHiddenCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}hideColumns(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:r.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(a.SetColHiddenCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}unhideColumn(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=P(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetSpecificColsVisibleCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}showColumns(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:r.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(a.SetSpecificColsVisibleCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}setColumnWidth(e,t){return this.setColumnWidths(e,1,t)}setColumnWidths(e,t,n){const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(a.SetColWidthCommand.id,{unitId:o,subUnitId:s,ranges:d,value:n}),this}setColumnCustom(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o={};for(const[d,c]of Object.entries(e))o[Number(d)]={custom:c};const s={unitId:t,subUnitId:n,columnData:o};return this._commandService.syncExecuteCommand(a.SetColDataCommand.id,s),this}getMergedRanges(){return this._worksheet.getSnapshot().mergeData.map(t=>this._injector.createInstance(m.FRange,this._workbook,this._worksheet,t))}getCellMergeData(e,t){const o=this._worksheet.getMergedCell(e,t);if(o)return this._injector.createInstance(m.FRange,this._workbook,this._worksheet,o)}getActiveRange(){return this._fWorkbook.getActiveRange()}setActiveRange(e){const{unitId:t,sheetId:n}=e.getRange();if(t!==this._workbook.getUnitId()||n!==this._worksheet.getSheetId())throw new Error("Specified range must be part of the sheet.");this._fWorkbook.setActiveRange(e)}setFreeze(e){return this._logService.warn("setFreeze is deprecated, use setFrozenRows and setFrozenColumns instead"),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{...e,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}cancelFreeze(){return this._commandService.syncExecuteCommand(a.CancelFrozenCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}getFreeze(){return this._worksheet.getFreeze()}setFrozenColumns(...e){const t=this.getFreeze();if(arguments.length===1){const n=e[0];this.setFreeze({...t,startColumn:n>0?n:-1,xSplit:n})}else if(arguments.length===2){let[n=0,o=0]=e;n>o&&([n,o]=[o,n]),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{startColumn:o+1,xSplit:o-n+1,startRow:t.startRow,ySplit:t.ySplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}setFrozenRows(...e){const t=this.getFreeze();if(arguments.length===1){const n=e[0];this.setFreeze({...t,startRow:n>0?n:-1,ySplit:n})}else if(arguments.length===2){let[n=0,o=0]=e;n>o&&([n,o]=[o,n]),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{startRow:o+1,ySplit:o-n+1,startColumn:t.startColumn,xSplit:t.xSplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}getFrozenColumns(){const e=this.getFreeze();return e.startColumn===-1?0:e.startColumn}getFrozenRows(){const e=this.getFreeze();return e.startRow===-1?0:e.startRow}getFrozenRowRange(){const e=this._worksheet.getFreeze();return{startRow:e.startRow-e.ySplit,endRow:e.startRow-1}}getFrozenColumnRange(){const e=this._worksheet.getFreeze();return{startColumn:e.startColumn-e.xSplit,endColumn:e.startColumn-1}}hasHiddenGridLines(){return this._worksheet.getConfig().showGridlines===r.BooleanNumber.FALSE}setHiddenGridlines(e){return this._commandService.executeCommand(a.ToggleGridlinesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),showGridlines:e?r.BooleanNumber.FALSE:r.BooleanNumber.TRUE}),this}setGridLinesColor(e){return this._commandService.syncExecuteCommand(a.SetGridlinesColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e}),this}getGridLinesColor(){return this._worksheet.getGridlinesColor()}setTabColor(e){return this._commandService.executeCommand(a.SetTabColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e}),this}getTabColor(){return this._worksheet.getTabColor()}onCellDataChange(e){return this._injector.get(r.ICommandService).onCommandExecuted(n=>{if(n.id===a.SetRangeValuesMutation.id){const o=n.params;o.unitId===this._workbook.getUnitId()&&o.subUnitId===this._worksheet.getSheetId()&&o.cellValue&&e(new r.ObjectMatrix(o.cellValue))}})}onBeforeCellDataChange(e){return this._injector.get(r.ICommandService).beforeCommandExecuted(n=>{if(n.id===a.SetRangeValuesMutation.id){const o=n.params;o.unitId===this._workbook.getUnitId()&&o.subUnitId===this._worksheet.getSheetId()&&o.cellValue&&e(new r.ObjectMatrix(o.cellValue))}})}hideSheet(){const e=this._injector.get(r.ICommandService);if(this._workbook.getSheets().filter(s=>s.isSheetHidden()!==r.BooleanNumber.TRUE).length<=1)throw new Error("Cannot hide the only visible sheet");return e.syncExecuteCommand(a.SetWorksheetHideCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}showSheet(){return this._injector.get(r.ICommandService).syncExecuteCommand(a.SetWorksheetShowCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}isSheetHidden(){return this._worksheet.isSheetHidden()===r.BooleanNumber.TRUE}setName(e){return this._commandService.syncExecuteCommand(a.SetWorksheetNameCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),name:e}),this}activate(){return this._fWorkbook.setActiveSheet(this),this}getIndex(){return this._workbook.getSheetIndex(this._worksheet)}clear(e){if(e&&e.contentsOnly&&!e.formatOnly)return this.clearContents();if(e&&e.formatOnly&&!e.contentsOnly)return this.clearFormats();const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=this._injector.get(r.ICommandService),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return o.syncExecuteCommand(a.ClearSelectionAllCommand.id,{unitId:t,subUnitId:n,ranges:[s],options:e}),this}clearContents(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),n=this._injector.get(r.ICommandService),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return n.syncExecuteCommand(a.ClearSelectionContentCommand.id,{unitId:e,subUnitId:t,ranges:[o]}),this}clearFormats(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),n=this._injector.get(r.ICommandService),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return n.syncExecuteCommand(a.ClearSelectionFormatCommand.id,{unitId:e,subUnitId:t,ranges:[o]}),this}getDataRange(){const e=this.getLastRows(),t=this.getLastColumns();return this.getRange(0,0,e+1,t+1)}getLastColumns(){return this._worksheet.getLastColumnWithContent()}getLastColumn(){return this._worksheet.getLastColumnWithContent()}getLastRows(){return this._worksheet.getLastRowWithContent()}getLastRow(){return this._worksheet.getLastRowWithContent()}equalTo(e){return e instanceof m.FWorksheet?this._worksheet.getSheetId()===e.getSheetId()&&this._workbook.getUnitId()===e.getWorkbook().getUnitId():!1}insertDefinedName(e,t){const o=this._injector.createInstance(C).setName(e).setRef(t).build();o.localSheetId=this.getSheetId(),this._fWorkbook.insertDefinedNameBuilder(o)}getDefinedNames(){return this._fWorkbook.getDefinedNames().filter(t=>t.getLocalSheetId()===this.getSheetId())}},m.FWorksheet=Q([f(3,r.Inject(r.Injector)),f(4,r.Inject(a.SheetsSelectionsService)),f(5,r.Inject(r.ILogService)),f(6,r.ICommandService)],m.FWorksheet);var X=Object.defineProperty,Z=Object.getOwnPropertyDescriptor,ee=(h,i,e,t)=>{for(var n=t>1?void 0:t?Z(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&X(i,e,n),n},S=(h,i)=>(e,t)=>i(e,t,h);m.FWorkbook=class extends r.FBaseInitialable{constructor(e,t,n,o,s,d,c,u,l,g){super(t);I(this,"id");this._workbook=e,this._injector=t,this._resourceLoaderService=n,this._selectionManagerService=o,this._univerInstanceService=s,this._commandService=d,this._permissionService=c,this._logService=u,this._localeService=l,this._definedNamesService=g,this.id=this._workbook.getUnitId()}getId(){return this.id}getName(){return this._workbook.name}setName(e){this._workbook.setName(e)}save(){return this._resourceLoaderService.saveUnit(this._workbook.getUnitId())}getSnapshot(){return this._logService.warn("use 'save' instead of 'getSnapshot'"),this.save()}getActiveSheet(){const e=this._workbook.getActiveSheet();return this._injector.createInstance(m.FWorksheet,this,this._workbook,e)}getSheets(){return this._workbook.getSheets().map(e=>this._injector.createInstance(m.FWorksheet,this,this._workbook,e))}create(e,t,n){const o=r.mergeWorksheetSnapshotWithDefault({});o.rowCount=t,o.columnCount=n,o.name=e,o.id=e.toLowerCase().replace(/ /g,"-"),this._commandService.syncExecuteCommand(a.InsertSheetCommand.id,{unitId:this.id,index:this._workbook.getSheets().length,sheet:o}),this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId()});const s=this._workbook.getActiveSheet();if(!s)throw new Error("No active sheet found");return this._injector.createInstance(m.FWorksheet,this,this._workbook,s)}getSheetBySheetId(e){const t=this._workbook.getSheetBySheetId(e);return t?this._injector.createInstance(m.FWorksheet,this,this._workbook,t):null}getSheetByName(e){const t=this._workbook.getSheetBySheetName(e);return t?this._injector.createInstance(m.FWorksheet,this,this._workbook,t):null}setActiveSheet(e){return this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:e.getSheetId()}),e}insertSheet(e){e!=null?this._commandService.syncExecuteCommand(a.InsertSheetCommand.id,{sheet:{name:e}}):this._commandService.syncExecuteCommand(a.InsertSheetCommand.id);const t=this.id,n=this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId();this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:t,subUnitId:n});const o=this._workbook.getActiveSheet();if(!o)throw new Error("No active sheet found");return this._injector.createInstance(m.FWorksheet,this,this._workbook,o)}deleteSheet(e){const t=this.id,n=e.getSheetId();return this._commandService.syncExecuteCommand(a.RemoveSheetCommand.id,{unitId:t,subUnitId:n})}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(r.UndoCommand.id),this}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(r.RedoCommand.id),this}onBeforeCommandExecute(e){return this._commandService.beforeCommandExecuted(t=>{var n;((n=t.params)==null?void 0:n.unitId)===this.id&&e(t)})}onCommandExecuted(e){return this._commandService.onCommandExecuted(t=>{var n;((n=t.params)==null?void 0:n.unitId)===this.id&&e(t)})}onSelectionChange(e){return r.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(t=>{this._univerInstanceService.getCurrentUnitForType(r.UniverInstanceType.UNIVER_SHEET).getUnitId()===this.id&&(t!=null&&t.length?e(t.map(n=>n.range)):e([]))}))}setEditable(e){const t=new a.WorkbookEditablePermission(this._workbook.getUnitId());this._permissionService.getPermissionPoint(t.id)||this._permissionService.addPermissionPoint(t),this._permissionService.updatePermissionPoint(t.id,e)}setActiveRange(e){const t=this.getActiveSheet(),n=e.getRange().sheetId||t.getSheetId(),o=n?this._workbook.getSheetBySheetId(n):this._workbook.getActiveSheet(!0);if(!o)throw new Error("No active sheet found");o.getSheetId()!==t.getSheetId()&&this.setActiveSheet(this._injector.createInstance(m.FWorksheet,this,this._workbook,o));const s={unitId:this.getId(),subUnitId:n,selections:[e].map(d=>({range:d.getRange(),primary:a.getPrimaryForRange(d.getRange(),o),style:null}))};this._commandService.syncExecuteCommand(a.SetSelectionsOperation.id,s)}getActiveRange(){const e=this._workbook.getActiveSheet(),n=this._selectionManagerService.getCurrentSelections().find(o=>!!o.primary);return n?this._injector.createInstance(m.FRange,this._workbook,e,n.range):null}deleteActiveSheet(){const e=this.getActiveSheet();return this.deleteSheet(e)}duplicateSheet(e){return this._commandService.syncExecuteCommand(a.CopySheetCommand.id,{unitId:e.getWorkbook().getUnitId(),subUnitId:e.getSheetId()}),this._injector.createInstance(m.FWorksheet,this,this._workbook,this._workbook.getActiveSheet())}duplicateActiveSheet(){const e=this.getActiveSheet();return this.duplicateSheet(e)}getNumSheets(){return this._workbook.getSheets().length}getLocale(){return this._localeService.getCurrentLocale()}setLocale(e){this._localeService.setLocale(e)}getUrl(){return location.href}moveSheet(e,t){let n=t;return n<0?n=0:n>this._workbook.getSheets().length-1&&(n=this._workbook.getSheets().length-1),this._commandService.syncExecuteCommand(a.SetWorksheetOrderCommand.id,{unitId:e.getWorkbook().getUnitId(),order:n,subUnitId:e.getSheetId()}),this}moveActiveSheet(e){const t=this.getActiveSheet();return this.moveSheet(t,e)}getPermission(){return this._injector.createInstance(m.FPermission)}getDefinedName(e){const t=this._definedNamesService.getValueByName(this.id,e);return t?this._injector.createInstance(v,{...t,unitId:this.id}):null}getDefinedNames(){const e=this._definedNamesService.getDefinedNameMap(this.id);return e?Object.values(e).map(t=>this._injector.createInstance(v,{...t,unitId:this.id})):[]}insertDefinedName(e,t){const o=this._injector.createInstance(C).setName(e).setRef(t).build();o.localSheetId=a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this.insertDefinedNameBuilder(o)}deleteDefinedName(e){const t=this.getDefinedName(e);return t?(t.delete(),!0):!1}insertDefinedNameBuilder(e){e.unitId=this.getId(),this._commandService.syncExecuteCommand(a.SetDefinedNameCommand.id,e)}updateDefinedNameBuilder(e){this._commandService.syncExecuteCommand(a.SetDefinedNameCommand.id,e)}getRegisteredRangeThemes(){return this._injector.get(a.SheetRangeThemeService).getRegisteredRangeThemes()}registerRangeTheme(e){this._commandService.syncExecuteCommand(a.RegisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),rangeThemeStyle:e})}unregisterRangeTheme(e){this._commandService.syncExecuteCommand(a.UnregisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),themeName:e})}},m.FWorkbook=ee([S(1,r.Inject(r.Injector)),S(2,r.Inject(r.IResourceLoaderService)),S(3,r.Inject(a.SheetsSelectionsService)),S(4,r.IUniverInstanceService),S(5,r.ICommandService),S(6,r.IPermissionService),S(7,r.ILogService),S(8,r.Inject(r.LocaleService)),S(9,w.IDefinedNamesService)],m.FWorkbook);class te extends r.FUniver{_initialize(i){const e=i.get(r.ICommandService);this.disposeWithMe(e.beforeCommandExecuted(t=>{var n;switch(t.id){case a.InsertSheetCommand.id:{const o=t.params,{unitId:s,index:d,sheet:c}=o||{},u=s?this.getUniverSheet(s):(n=this.getActiveWorkbook)==null?void 0:n.call(this);if(!u)return;const l={workbook:u,index:d,sheet:c};if(this.fireEvent(this.Event.BeforeSheetCreate,l),l.cancel)throw new Error("Sheet create canceled by facade api.");break}}})),this.disposeWithMe(e.onCommandExecuted(t=>{var n;switch(t.id){case a.InsertSheetCommand.id:{const o=t.params,{unitId:s}=o||{},d=s?this.getUniverSheet(s):(n=this.getActiveWorkbook)==null?void 0:n.call(this);if(!d)return;const c=d.getActiveSheet();if(!c)return;const u={workbook:d,worksheet:c};this.fireEvent(this.Event.SheetCreated,u);break}}}))}createUniverSheet(i){const t=this._injector.get(r.IUniverInstanceService).createUnit(r.UniverInstanceType.UNIVER_SHEET,i);return this._injector.createInstance(m.FWorkbook,t)}getActiveUniverSheet(){const i=this._univerInstanceService.getCurrentUnitForType(r.UniverInstanceType.UNIVER_SHEET);return i?this._injector.createInstance(m.FWorkbook,i):null}getActiveWorkbook(){return this.getActiveUniverSheet()}getUniverSheet(i){const e=this._univerInstanceService.getUnit(i,r.UniverInstanceType.UNIVER_SHEET);return e?this._injector.createInstance(m.FWorkbook,e):null}getPermission(){return this._injector.createInstance(m.FPermission)}onUniverSheetCreated(i){const e=this._univerInstanceService.getTypeOfUnitAdded$(r.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{const n=this._injector.createInstance(m.FWorkbook,t);i(n)});return r.toDisposable(e)}newDefinedName(){return this._injector.createInstance(C)}}r.FUniver.extend(te);class E extends r.FEventName{get SheetCreated(){return"SheetCreated"}get BeforeSheetCreate(){return"BeforeSheetCreate"}}r.FEventName.extend(E);var ne=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,oe=(h,i,e,t)=>{for(var n=t>1?void 0:t?ie(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&ne(i,e,n),n},re=(h,i)=>(e,t)=>i(e,t,h);m.FSheetHooks=class extends r.FBase{constructor(i){super(),this._injector=i}},m.FSheetHooks=oe([re(0,r.Inject(r.Injector))],m.FSheetHooks),m.FSheetEventName=E,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});
1
+ (function(m,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/engine-formula")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","@univerjs/engine-formula"],r):(m=typeof globalThis<"u"?globalThis:m||self,r(m.UniverSheetsFacade={},m.UniverCore,m.UniverSheets,m.UniverEngineFormula))})(this,function(m,r,a,w){"use strict";var se=Object.defineProperty;var ae=(m,r,a)=>r in m?se(m,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):m[r]=a;var S=(m,r,a)=>ae(m,typeof r!="symbol"?r+"":r,a);var F=Object.defineProperty,W=Object.getOwnPropertyDescriptor,D=(h,i,e,t)=>{for(var n=t>1?void 0:t?W(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&F(i,e,n),n},_=(h,i)=>(e,t)=>i(e,t,h);function M(h,i,e){const t=e.getDefinedNameMap(h);if(t==null)return i.t("definedName.defaultName")+1;const o=Array.from(Object.values(t)).length+1,s=i.t("definedName.defaultName")+o;if(e.getValueByName(h,s)==null)return s;let d=o+1;for(;;){const c=i.t("definedName.defaultName")+d;if(e.getValueByName(h,c)==null)return c;d++}}class I{constructor(){S(this,"_definedNameParam");this._definedNameParam={id:r.generateRandomId(10),unitId:"",name:"",formulaOrRefString:""}}setName(i){return this._definedNameParam.name=i,this}setFormula(i){return this._definedNameParam.formulaOrRefString=`=${i}`,this}setRef(i){return this._definedNameParam.formulaOrRefString=i,this}setRefByRange(i,e,t,n){return this._definedNameParam.formulaOrRefString=w.serializeRange({startRow:i,endRow:i+(t!=null?t:1)-1,startColumn:e,endColumn:e+(n!=null?n:1)-1}),this}setComment(i){return this._definedNameParam.comment=i,this}setHidden(i){return this._definedNameParam.hidden=i,this}build(){return this._definedNameParam}load(i){return this._definedNameParam=i,this}}let v=class extends r.FBase{constructor(h,i,e,t,n,o,s,d,c,u){super(),this._definedNameParam=h,this._injector=i,this._commandService=e,this._permissionService=t,this._worksheetProtectionRuleModel=n,this._rangeProtectionRuleModel=o,this._worksheetProtectionPointRuleModel=s,this._authzIoService=d,this._localeService=c,this._definedNamesService=u}_apply(){this._definedNameParam.name===""&&(this._definedNameParam.name=M(this._definedNameParam.unitId,this._localeService,this._definedNamesService)),this._commandService.syncExecuteCommand(a.SetDefinedNameCommand.id,this._definedNameParam)}getName(){return this._definedNameParam.name}setName(h){this._definedNameParam.name=h,this._apply()}setFormula(h){this._definedNameParam.formulaOrRefString=`=${h}`,this._apply()}setRef(h){this._definedNameParam.formulaOrRefString=h,this._apply()}getFormulaOrRefString(){return this._definedNameParam.formulaOrRefString}setRefByRange(h,i,e,t){this._definedNameParam.formulaOrRefString=w.serializeRange({startRow:h,endRow:h+(e!=null?e:1)-1,startColumn:i,endColumn:i+(t!=null?t:1)-1}),this._apply()}getComment(){return this._definedNameParam.comment}setComment(h){this._definedNameParam.comment=h,this._apply()}setScopeToWorksheet(h){this._definedNameParam.localSheetId=h.getSheetId(),this._apply()}setScopeToWorkbook(){this._definedNameParam.localSheetId=a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this._apply()}setHidden(h){this._definedNameParam.hidden=h,this._apply()}delete(){this._commandService.syncExecuteCommand(a.RemoveDefinedNameCommand.id,this._definedNameParam)}getLocalSheetId(){return this._definedNameParam.localSheetId}isWorkbookScope(){return this._definedNameParam.localSheetId===a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME}toBuilder(){const h=this._injector.createInstance(I);return h.load(this._definedNameParam),h}};v=D([_(1,r.Inject(r.Injector)),_(2,r.ICommandService),_(3,r.IPermissionService),_(4,r.Inject(a.WorksheetProtectionRuleModel)),_(5,r.Inject(a.RangeProtectionRuleModel)),_(6,r.Inject(a.WorksheetProtectionPointModel)),_(7,r.Inject(r.IAuthzIoService)),_(8,r.Inject(r.LocaleService)),_(9,w.IDefinedNamesService)],v);var T=Object.defineProperty,j=Object.getOwnPropertyDescriptor,A=(h,i,e,t)=>{for(var n=t>1?void 0:t?j(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&T(i,e,n),n},C=(h,i)=>(e,t)=>i(e,t,h);m.FPermission=class extends r.FBase{constructor(e,t,n,o,s,d,c){super();S(this,"permissionPointsDefinition",a.PermissionPointsDefinitions);S(this,"rangeRuleChangedAfterAuth$");S(this,"sheetRuleChangedAfterAuth$");this._injector=e,this._commandService=t,this._permissionService=n,this._worksheetProtectionRuleModel=o,this._rangeProtectionRuleModel=s,this._worksheetProtectionPointRuleModel=d,this._authzIoService=c,this.rangeRuleChangedAfterAuth$=this._rangeProtectionRuleModel.ruleRefresh$,this.sheetRuleChangedAfterAuth$=this._worksheetProtectionRuleModel.ruleRefresh$}setWorkbookPermissionPoint(e,t,n){const o=new t(e);this._permissionService.getPermissionPoint(o.id)||this._permissionService.addPermissionPoint(o),this._permissionService.updatePermissionPoint(o.id,n)}setWorkbookEditPermission(e,t){this.setWorkbookPermissionPoint(e,a.WorkbookEditablePermission,t)}async addWorksheetBasePermission(e,t){if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length>0)throw new Error("sheet protection cannot intersect with range protection");const o=await this._authzIoService.create({objectType:a.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}});if(this._commandService.syncExecuteCommand(a.AddWorksheetProtectionMutation.id,{unitId:e,subUnitId:t,rule:{permissionId:o,unitType:a.UnitObject.Worksheet,unitId:e,subUnitId:t}}))return o}removeWorksheetPermission(e,t){this._commandService.syncExecuteCommand(a.DeleteWorksheetProtectionMutation.id,{unitId:e,subUnitId:t}),[...a.getAllWorksheetPermissionPoint(),...a.getAllWorksheetPermissionPointByPointPanel()].forEach(n=>{const o=new n(e,t);this._permissionService.updatePermissionPoint(o.id,!0)}),this._worksheetProtectionPointRuleModel.deleteRule(e,t)}async setWorksheetPermissionPoint(e,t,n,o){const s=this._worksheetProtectionRuleModel.getRule(e,t);let d;if(n===a.WorksheetEditPermission||n===a.WorksheetViewPermission)if(s)d=s.permissionId;else{if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length>0)throw new Error("sheet protection cannot intersect with range protection");d=await this.addWorksheetBasePermission(e,t)}else{const g=this._worksheetProtectionPointRuleModel.getRule(e,t);g?d=g.permissionId:(d=await this._authzIoService.create({objectType:a.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}}),this._commandService.executeCommand(a.SetWorksheetPermissionPointsMutation.id,{unitId:e,subUnitId:t,permissionId:d}))}const u=new n(e,t);return this._permissionService.getPermissionPoint(u.id)||this._permissionService.addPermissionPoint(u),this._permissionService.updatePermissionPoint(u.id,o),d}async addRangeBaseProtection(e,t,n){const o=await this._authzIoService.create({objectType:a.UnitObject.SelectRange,selectRangeObject:{collaborators:[],unitID:e,name:"",scope:void 0}}),s=`ruleId_${r.generateRandomId(6)}`;if(this._worksheetProtectionRuleModel.getRule(e,t))throw new Error("sheet protection cannot intersect with range protection");if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).some(g=>g.ranges.some(P=>n.some(b=>r.Rectangle.intersects(b,P)))))throw new Error("range protection cannot intersect");if(this._commandService.syncExecuteCommand(a.AddRangeProtectionMutation.id,{unitId:e,subUnitId:t,rules:[{permissionId:o,unitType:a.UnitObject.SelectRange,unitId:e,subUnitId:t,ranges:n,id:s}]}))return{permissionId:o,ruleId:s}}removeRangeProtection(e,t,n){this._commandService.syncExecuteCommand(a.DeleteRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleIds:n})&&this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length===0&&(this._worksheetProtectionPointRuleModel.deleteRule(e,t),[...a.getAllWorksheetPermissionPointByPointPanel()].forEach(d=>{const c=new d(e,t);this._permissionService.updatePermissionPoint(c.id,c.value)}))}setRangeProtectionPermissionPoint(e,t,n,o,s){const d=new o(e,t,n);this._permissionService.getPermissionPoint(d.id)||this._permissionService.addPermissionPoint(d),this._permissionService.updatePermissionPoint(d.id,s)}setRangeProtectionRanges(e,t,n,o){const s=this._rangeProtectionRuleModel.getRule(e,t,n);if(s){if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).filter(u=>u.id!==n).some(u=>u.ranges.some(l=>o.some(g=>r.Rectangle.intersects(g,l)))))throw new Error("range protection cannot intersect");this._commandService.syncExecuteCommand(a.SetRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleId:n,rule:{...s,ranges:o}})}}},m.FPermission=A([C(0,r.Inject(r.Injector)),C(1,r.ICommandService),C(2,r.IPermissionService),C(3,r.Inject(a.WorksheetProtectionRuleModel)),C(4,r.Inject(a.RangeProtectionRuleModel)),C(5,r.Inject(a.WorksheetProtectionPointModel)),C(6,r.Inject(r.IAuthzIoService))],m.FPermission);function x(h){switch(h){case"left":return r.HorizontalAlign.LEFT;case"center":return r.HorizontalAlign.CENTER;case"normal":return r.HorizontalAlign.RIGHT;default:throw new Error(`Invalid horizontal alignment: ${h}`)}}function O(h){switch(h){case r.HorizontalAlign.LEFT:return"left";case r.HorizontalAlign.CENTER:return"center";case r.HorizontalAlign.RIGHT:return"normal";default:throw new Error(`Invalid horizontal alignment: ${h}`)}}function B(h){switch(h){case"top":return r.VerticalAlign.TOP;case"middle":return r.VerticalAlign.MIDDLE;case"bottom":return r.VerticalAlign.BOTTOM;default:throw new Error(`Invalid vertical alignment: ${h}`)}}function V(h){switch(h){case r.VerticalAlign.TOP:return"top";case r.VerticalAlign.MIDDLE:return"middle";case r.VerticalAlign.BOTTOM:return"bottom";default:throw new Error(`Invalid vertical alignment: ${h}`)}}function R(h){return r.isFormulaString(h)?{f:h}:r.isCellV(h)?{v:h}:(r.isICellData(h),h)}function U(h,i){const e=new r.ObjectMatrix,{startRow:t,startColumn:n,endRow:o,endColumn:s}=i;if(r.Tools.isArray(h))for(let d=0;d<=o-t;d++)for(let c=0;c<=s-n;c++)e.setValue(d+t,c+n,R(h[d][c]));else new r.ObjectMatrix(h).forValue((c,u,l)=>{e.setValue(c,u,R(l))});return e.getMatrix()}function y(h,i){return{startRow:h.startRow,endRow:h.endRow,startColumn:0,endColumn:i.getColumnCount()-1,rangeType:r.RANGE_TYPE.ROW}}function p(h,i){return{startRow:0,endRow:i.getRowCount()-1,startColumn:h.startColumn,endColumn:h.endColumn,rangeType:r.RANGE_TYPE.COLUMN}}var L=Object.defineProperty,z=Object.getOwnPropertyDescriptor,H=(h,i,e,t)=>{for(var n=t>1?void 0:t?z(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&L(i,e,n),n},E=(h,i)=>(e,t)=>i(e,t,h);m.FRange=class extends r.FBaseInitialable{constructor(i,e,t,n,o,s){super(n),this._workbook=i,this._worksheet=e,this._range=t,this._injector=n,this._commandService=o,this._formulaDataModel=s}getUnitId(){return this._workbook.getUnitId()}getSheetName(){return this._worksheet.getName()}getSheetId(){return this._worksheet.getSheetId()}getRange(){return this._range}getRow(){return this._range.startRow}getColumn(){return this._range.startColumn}getWidth(){return this._range.endColumn-this._range.startColumn+1}getHeight(){return this._range.endRow-this._range.startRow+1}isMerged(){const{startColumn:i,startRow:e,endColumn:t,endRow:n}=this._range;return this._worksheet.getMergedCellRange(e,i,n,t).some(s=>r.Rectangle.equals(s,this._range))}getCellStyleData(){var t;const i=this.getCellData(),e=this._workbook.getStyles();return i&&e&&(t=e.getStyleByCell(i))!=null?t:null}getValue(){var i,e;return(e=(i=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:i.v)!=null?e:null}getValues(){var s,d;const{startRow:i,endRow:e,startColumn:t,endColumn:n}=this._range,o=[];for(let c=i;c<=e;c++){const u=[];for(let l=t;l<=n;l++)u.push((d=(s=this._worksheet.getCell(c,l))==null?void 0:s.v)!=null?d:null);o.push(u)}return o}getCellData(){var i;return(i=this._worksheet.getCell(this._range.startRow,this._range.startColumn))!=null?i:null}getCellDatas(){const{startRow:i,endRow:e,startColumn:t,endColumn:n}=this._range,o=[];for(let s=i;s<=e;s++){const d=[];for(let c=t;c<=n;c++)d.push(this._worksheet.getCellRaw(s,c));o.push(d)}return o}getCellDataGrid(){return this.getCellDatas()}getRichTextValue(){const i=this.getCellData();return i!=null&&i.p?new r.RichTextValue(i.p):null}getRichTextValues(){return this.getCellDataGrid().map(e=>e.map(t=>t!=null&&t.p?new r.RichTextValue(t.p):null))}getValueAndRichTextValue(){const i=this.getCellData();return i!=null&&i.p?new r.RichTextValue(i.p):i==null?void 0:i.v}getValueAndRichTextValues(){return this.getCellDatas().map(e=>e.map(t=>t!=null&&t.p?new r.RichTextValue(t.p):t==null?void 0:t.v))}getFormulas(){const i=[],{startRow:e,endRow:t,startColumn:n,endColumn:o}=this._range,s=this._worksheet.getSheetId(),d=this._workbook.getUnitId();for(let c=e;c<=t;c++){const u=[];for(let l=n;l<=o;l++){const g=this._formulaDataModel.getFormulaStringByCell(c,l,s,d);u.push(g||"")}i.push(u)}return i}getWrap(){return this._worksheet.getRange(this._range).getWrap()===r.BooleanNumber.TRUE}getWrapStrategy(){return this._worksheet.getRange(this._range).getWrapStrategy()}getHorizontalAlignment(){return O(this._worksheet.getRange(this._range).getHorizontalAlignment())}getVerticalAlignment(){return V(this._worksheet.getRange(this._range).getVerticalAlignment())}setCustomMetaData(i){return this.setValue({custom:i})}setCustomMetaDatas(i){return this.setValues(i.map(e=>e.map(t=>({custom:t}))))}getCustomMetaData(){var e;const i=this.getCellData();return(e=i==null?void 0:i.custom)!=null?e:null}getCustomMetaDatas(){return this.getCellDataGrid().map(e=>e.map(t=>{var n;return(n=t==null?void 0:t.custom)!=null?n:null}))}setBackgroundColor(i){return this._commandService.syncExecuteCommand(a.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:i}}}),this}setBackground(i){return this.setBackgroundColor(i),this}setValue(i){const e=R(i);if(!e)throw new Error("Invalid value");return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setValueForCell(i){const e=R(i);if(!e)throw new Error("Invalid value");return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:{startColumn:this._range.startColumn,startRow:this._range.startRow,endColumn:this._range.endColumn,endRow:this._range.endRow},value:e}),this}setRichTextValueForCell(i){const e=i instanceof r.RichTextValue?i.getData():i,t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:{startColumn:this._range.startColumn,startRow:this._range.startRow,endColumn:this._range.endColumn,endRow:this._range.endRow},value:{p:e}};return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,t),this}setRichTextValues(i){const e=i.map(o=>o.map(s=>s&&{p:s instanceof r.RichTextValue?s.getData():s})),t=U(e,this._range),n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:t};return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,n),this}setWrap(i){return this._commandService.syncExecuteCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:i?r.WrapStrategy.WRAP:r.WrapStrategy.UNSPECIFIED}),this}setWrapStrategy(i){return this._commandService.syncExecuteCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:i}),this}setVerticalAlignment(i){return this._commandService.syncExecuteCommand(a.SetVerticalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:B(i)}),this}setHorizontalAlignment(i){return this._commandService.syncExecuteCommand(a.SetHorizontalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:x(i)}),this}setValues(i){const e=U(i,this._range);return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setFontWeight(i){let e;if(i==="bold")e=r.BooleanNumber.TRUE;else if(i==="normal")e=r.BooleanNumber.FALSE;else if(i===null)e=null;else throw new Error("Invalid fontWeight");const t={type:"bl",value:e},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.executeCommand(a.SetStyleCommand.id,n),this}setFontStyle(i){let e;if(i==="italic")e=r.BooleanNumber.TRUE;else if(i==="normal")e=r.BooleanNumber.FALSE;else if(i===null)e=null;else throw new Error("Invalid fontStyle");const t={type:"it",value:e},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.executeCommand(a.SetStyleCommand.id,n),this}setFontLine(i){if(i==="underline")this._setFontUnderline({s:r.BooleanNumber.TRUE});else if(i==="line-through")this._setFontStrikethrough({s:r.BooleanNumber.TRUE});else if(i==="none")this._setFontUnderline({s:r.BooleanNumber.FALSE}),this._setFontStrikethrough({s:r.BooleanNumber.FALSE});else if(i===null)this._setFontUnderline(null),this._setFontStrikethrough(null);else throw new Error("Invalid fontLine");return this}_setFontUnderline(i){const e={type:"ul",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.executeCommand(a.SetStyleCommand.id,t)}_setFontStrikethrough(i){const e={type:"st",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.executeCommand(a.SetStyleCommand.id,t)}setFontFamily(i){const e={type:"ff",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.executeCommand(a.SetStyleCommand.id,t),this}setFontSize(i){const e={type:"fs",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.executeCommand(a.SetStyleCommand.id,t),this}setFontColor(i){const t={type:"cl",value:i===null?null:{rgb:i}},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.executeCommand(a.SetStyleCommand.id,n),this}merge(i=!0){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return a.addMergeCellsUtil(this._injector,e,t,[this._range],i),this}mergeAcross(i=!0){const e=a.getAddMergeMutationRangeByType([this._range],r.Dimension.ROWS),t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return a.addMergeCellsUtil(this._injector,t,n,e,i),this}mergeVertically(i=!0){const e=a.getAddMergeMutationRangeByType([this._range],r.Dimension.COLUMNS),t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return a.addMergeCellsUtil(this._injector,t,n,e,i),this}isPartOfMerge(){const{startRow:i,startColumn:e,endRow:t,endColumn:n}=this._range;return this._worksheet.getMergedCellRange(i,e,t,n).length>0}breakApart(){return this._commandService.executeCommand(a.RemoveWorksheetMergeCommand.id,{ranges:[this._range]}),this}forEach(i){const{startColumn:e,startRow:t,endColumn:n,endRow:o}=this._range;this._worksheet.getMatrixWithMergedCells(t,e,o,n).forValue((s,d,c)=>{i(s,d,c)})}getA1Notation(i){return i?w.serializeRangeWithSheet(this._worksheet.getName(),this._range):w.serializeRange(this._range)}activate(){return this._injector.createInstance(m.FWorkbook,this._workbook).setActiveRange(this),this}activateAsCurrentCell(){const i=this._worksheet.getMergedCell(this._range.startRow,this._range.startColumn);if(i&&r.Rectangle.equals(i,this._range)||!i&&this._range.startRow===this._range.endRow&&this._range.startColumn===this._range.endColumn)return this.activate();throw new Error("The range is not a single cell")}splitTextToColumns(i,e,t){this._commandService.executeCommand(a.SplitTextToColumnsCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,delimiter:e,customDelimiter:t,treatMultipleDelimitersAsOne:i})}useThemeStyle(i){if(i==null){const e=this.getUsedThemeStyle();e&&this.removeThemeStyle(e)}else this._commandService.executeCommand(a.SetWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:i})}removeThemeStyle(i){this._commandService.executeCommand(a.DeleteWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:i})}getUsedThemeStyle(){return this._injector.get(a.SheetRangeThemeService).getAppliedRangeThemeStyle({unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range})}},m.FRange=H([E(3,r.Inject(r.Injector)),E(4,r.ICommandService),E(5,r.Inject(w.FormulaDataModel))],m.FRange);var $=Object.defineProperty,G=Object.getOwnPropertyDescriptor,Y=(h,i,e,t)=>{for(var n=t>1?void 0:t?G(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&$(i,e,n),n},q=(h,i)=>(e,t)=>i(e,t,h);m.FSelection=class{constructor(i,e,t,n){this._workbook=i,this._worksheet=e,this._selections=t,this._injector=n}getActiveRange(){const i=this._selections.find(e=>!!e.primary);return i?this._injector.createInstance(m.FRange,this._workbook,this._worksheet,i.range):null}getActiveRangeList(){return this._selections.map(i=>this._injector.createInstance(m.FRange,this._workbook,this._worksheet,i.range))}getCurrentCell(){const i=this._selections.find(e=>!!e.primary);return i?i.primary:null}getActiveSheet(){const i=this._injector.createInstance(m.FWorkbook,this._workbook);return this._injector.createInstance(m.FWorksheet,i,this._workbook,this._worksheet)}updatePrimaryCell(i){const e=this._injector.get(r.ICommandService);let t=[],n=!1;for(const{range:s,style:d}of this._selections)r.Rectangle.contains(s,i.getRange())?(t.push({range:s,primary:a.getPrimaryForRange(i.getRange(),this._worksheet),style:d}),n=!0):t.push({range:s,primary:null,style:d});n||(t=[{range:i.getRange(),primary:a.getPrimaryForRange(i.getRange(),this._worksheet)}]);const o={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),selections:t};return e.syncExecuteCommand(a.SetSelectionsOperation.id,o),new m.FSelection(this._workbook,this._worksheet,t,this._injector)}getNextDataRange(i){if(!this._selections.find(n=>!!n.primary))return null;const t=a.getNextPrimaryCell(this._selections.concat(),i,this._worksheet);return t?this._injector.createInstance(m.FRange,this._workbook,this._worksheet,t):null}},m.FSelection=Y([q(3,r.Inject(r.Injector))],m.FSelection);var K=Object.defineProperty,J=Object.getOwnPropertyDescriptor,Q=(h,i,e,t)=>{for(var n=t>1?void 0:t?J(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&K(i,e,n),n},f=(h,i)=>(e,t)=>i(e,t,h);m.FWorksheet=class extends r.FBaseInitialable{constructor(e,t,n,o,s,d,c){super(o);S(this,"_eventRegistry",new Map);S(this,"setActiveSelection",this.setActiveRange);this._fWorkbook=e,this._workbook=t,this._worksheet=n,this._injector=o,this._selectionManagerService=s,this._logService=d,this._commandService=c}getSheet(){return this._worksheet}_ensureEventRegistry(e){return this._eventRegistry.has(e)||this._eventRegistry.set(e,new r.Registry),this._eventRegistry.get(e)}addEvent(e,t){return this._ensureEventRegistry(e).add(t),r.toDisposable(()=>this._ensureEventRegistry(e).delete(t))}fireEvent(e,t){var n;return(n=this._eventRegistry.get(e))==null||n.getData().forEach(o=>{o(t)}),t.cancel}getInject(){return this._injector}getWorkbook(){return this._workbook}getSheetId(){return this._worksheet.getSheetId()}getSheetName(){return this._worksheet.getName()}getSelection(){const e=this._selectionManagerService.getCurrentSelections();return e?this._injector.createInstance(m.FSelection,this._workbook,this._worksheet,e):null}getDefaultStyle(){return this._worksheet.getDefaultCellStyle()}getRowDefaultStyle(e,t=!1){return this._worksheet.getRowStyle(e,t)}getColumnDefaultStyle(e,t=!1){return this._worksheet.getColumnStyle(e,t)}setDefaultStyle(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.syncExecuteCommand(a.SetWorksheetDefaultStyleMutation.id,{unitId:t,subUnitId:n,defaultStyle:e}),this._worksheet.setDefaultCellStyle(e),this}setColumnDefaultStyle(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={unitId:n,subUnitId:o,columnData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(a.SetColDataCommand.id,s),this}setRowDefaultStyle(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={unitId:n,subUnitId:o,rowData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(a.SetRowDataCommand.id,s),this}getRange(e,t,n,o){let s,d;if(typeof e=="string"){const{range:c,sheetName:u}=w.deserializeRangeWithSheet(e),l=u?this._workbook.getSheetBySheetName(u):this._worksheet;if(!l)throw new Error("Range not found");d=l,s={...c,unitId:this._workbook.getUnitId(),sheetId:d.getSheetId(),rangeType:r.RANGE_TYPE.NORMAL,startRow:c.rangeType===r.RANGE_TYPE.COLUMN?0:c.startRow,endRow:c.rangeType===r.RANGE_TYPE.COLUMN?d.getMaxRows()-1:c.endRow,startColumn:c.rangeType===r.RANGE_TYPE.ROW?0:c.startColumn,endColumn:c.rangeType===r.RANGE_TYPE.ROW?d.getMaxColumns()-1:c.endColumn}}else if(typeof e=="number"&&t!==void 0)d=this._worksheet,s={startRow:e,endRow:e+(n!=null?n:1)-1,startColumn:t,endColumn:t+(o!=null?o:1)-1,unitId:this._workbook.getUnitId(),sheetId:this._worksheet.getSheetId()};else throw new Error("Invalid range specification");return this._injector.createInstance(m.FRange,this._workbook,d,s)}getMaxColumns(){return this._worksheet.getMaxColumns()}getMaxRows(){return this._worksheet.getMaxRows()}insertRowAfter(e){return this.insertRowsAfter(e,1)}insertRowBefore(e){return this.insertRowsBefore(e,1)}insertRows(e,t=1){return this.insertRowsBefore(e,t)}insertRowsAfter(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.DOWN,d=e+1,c=e+t,u=0,l=this._worksheet.getColumnCount()-1,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!0,e);return this._commandService.syncExecuteCommand(a.InsertRowByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}insertRowsBefore(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.UP,d=e,c=e+t-1,u=0,l=this._worksheet.getColumnCount()-1,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!0,e-1);return this._commandService.syncExecuteCommand(a.InsertRowByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}deleteRow(e){return this.deleteRows(e,1)}deleteRows(e,t){const n={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return this._commandService.syncExecuteCommand(a.RemoveRowByRangeCommand.id,{range:n,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}moveRows(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=y(e.getRange(),this._worksheet),d=s,c={startRow:t,endRow:t,startColumn:s.startColumn,endColumn:s.endColumn};return this._commandService.syncExecuteCommand(a.MoveRowsCommand.id,{unitId:n,subUnitId:o,range:s,fromRange:d,toRange:c}),this}hideRow(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=y(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetRowHiddenCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}hideRows(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:r.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(a.SetRowHiddenCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}unhideRow(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=y(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetSpecificRowsVisibleCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}showRows(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:r.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(a.SetSpecificRowsVisibleCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}setRowHeight(e,t){return this.setRowHeights(e,1,t)}setRowHeights(e,t,n){var l;const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=this._worksheet.getRowManager(),c=[],u=[];for(let g=e;g<e+t;g++){const P=((l=d.getRow(g))==null?void 0:l.ah)||this._worksheet.getConfig().defaultRowHeight,b={startRow:g,endRow:g,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};n<=P?c.push(b):u.push(b)}return u.length>0&&this._commandService.syncExecuteCommand(a.SetRowHeightCommand.id,{unitId:o,subUnitId:s,ranges:u,value:n}),c.length>0&&this._commandService.syncExecuteCommand(a.SetWorksheetRowIsAutoHeightCommand.id,{unitId:o,subUnitId:s,ranges:c}),this}setRowHeightsForced(e,t,n){const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(a.SetRowHeightCommand.id,{unitId:o,subUnitId:s,ranges:d,value:n}),this}setRowCustom(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o={};for(const[d,c]of Object.entries(e))o[Number(d)]={custom:c};const s={unitId:t,subUnitId:n,rowData:o};return this._commandService.syncExecuteCommand(a.SetRowDataCommand.id,s),this}insertColumnAfter(e){return this.insertColumnsAfter(e,1)}insertColumnBefore(e){return this.insertColumnsBefore(e,1)}insertColumns(e,t=1){return this.insertColumnsBefore(e,t)}insertColumnsAfter(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.RIGHT,d=0,c=this._worksheet.getRowCount()-1,u=e+1,l=e+t,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!1,e);return this._commandService.syncExecuteCommand(a.InsertColByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}insertColumnsBefore(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.LEFT,d=0,c=this._worksheet.getRowCount()-1,u=e,l=e+t-1,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!1,e-1);return this._commandService.syncExecuteCommand(a.InsertColByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}deleteColumn(e){return this.deleteColumns(e,1)}deleteColumns(e,t){const n={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1};return this._commandService.syncExecuteCommand(a.RemoveColByRangeCommand.id,{range:n,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}moveColumns(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=p(e.getRange(),this._worksheet),d=s,c={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:t,endColumn:t};return this._commandService.syncExecuteCommand(a.MoveColsCommand.id,{unitId:n,subUnitId:o,range:s,fromRange:d,toRange:c}),this}hideColumn(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=p(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetColHiddenCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}hideColumns(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:r.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(a.SetColHiddenCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}unhideColumn(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=p(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetSpecificColsVisibleCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}showColumns(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:r.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(a.SetSpecificColsVisibleCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}setColumnWidth(e,t){return this.setColumnWidths(e,1,t)}setColumnWidths(e,t,n){const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(a.SetColWidthCommand.id,{unitId:o,subUnitId:s,ranges:d,value:n}),this}setColumnCustom(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o={};for(const[d,c]of Object.entries(e))o[Number(d)]={custom:c};const s={unitId:t,subUnitId:n,columnData:o};return this._commandService.syncExecuteCommand(a.SetColDataCommand.id,s),this}getMergedRanges(){return this._worksheet.getSnapshot().mergeData.map(t=>this._injector.createInstance(m.FRange,this._workbook,this._worksheet,t))}getCellMergeData(e,t){const o=this._worksheet.getMergedCell(e,t);if(o)return this._injector.createInstance(m.FRange,this._workbook,this._worksheet,o)}getActiveRange(){return this._fWorkbook.getActiveRange()}setActiveRange(e){const{unitId:t,sheetId:n}=e.getRange();if(t!==this._workbook.getUnitId()||n!==this._worksheet.getSheetId())throw new Error("Specified range must be part of the sheet.");return this._fWorkbook.setActiveRange(e),this}setFreeze(e){return this._logService.warn("setFreeze is deprecated, use setFrozenRows and setFrozenColumns instead"),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{...e,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}cancelFreeze(){return this._commandService.syncExecuteCommand(a.CancelFrozenCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}getFreeze(){return this._worksheet.getFreeze()}setFrozenColumns(...e){const t=this.getFreeze();if(arguments.length===1){const n=e[0];this.setFreeze({...t,startColumn:n>0?n:-1,xSplit:n})}else if(arguments.length===2){let[n=0,o=0]=e;n>o&&([n,o]=[o,n]),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{startColumn:o+1,xSplit:o-n+1,startRow:t.startRow,ySplit:t.ySplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}setFrozenRows(...e){const t=this.getFreeze();if(arguments.length===1){const n=e[0];this.setFreeze({...t,startRow:n>0?n:-1,ySplit:n})}else if(arguments.length===2){let[n=0,o=0]=e;n>o&&([n,o]=[o,n]),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{startRow:o+1,ySplit:o-n+1,startColumn:t.startColumn,xSplit:t.xSplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}getFrozenColumns(){const e=this.getFreeze();return e.startColumn===-1?0:e.startColumn}getFrozenRows(){const e=this.getFreeze();return e.startRow===-1?0:e.startRow}getFrozenRowRange(){const e=this._worksheet.getFreeze();return{startRow:e.startRow-e.ySplit,endRow:e.startRow-1}}getFrozenColumnRange(){const e=this._worksheet.getFreeze();return{startColumn:e.startColumn-e.xSplit,endColumn:e.startColumn-1}}hasHiddenGridLines(){return this._worksheet.getConfig().showGridlines===r.BooleanNumber.FALSE}setHiddenGridlines(e){return this._commandService.executeCommand(a.ToggleGridlinesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),showGridlines:e?r.BooleanNumber.FALSE:r.BooleanNumber.TRUE}),this}setGridLinesColor(e){return this._commandService.syncExecuteCommand(a.SetGridlinesColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e}),this}getGridLinesColor(){return this._worksheet.getGridlinesColor()}setTabColor(e){return this._commandService.executeCommand(a.SetTabColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e}),this}getTabColor(){return this._worksheet.getTabColor()}onCellDataChange(e){return this._injector.get(r.ICommandService).onCommandExecuted(n=>{if(n.id===a.SetRangeValuesMutation.id){const o=n.params;o.unitId===this._workbook.getUnitId()&&o.subUnitId===this._worksheet.getSheetId()&&o.cellValue&&e(new r.ObjectMatrix(o.cellValue))}})}onBeforeCellDataChange(e){return this._injector.get(r.ICommandService).beforeCommandExecuted(n=>{if(n.id===a.SetRangeValuesMutation.id){const o=n.params;o.unitId===this._workbook.getUnitId()&&o.subUnitId===this._worksheet.getSheetId()&&o.cellValue&&e(new r.ObjectMatrix(o.cellValue))}})}hideSheet(){const e=this._injector.get(r.ICommandService);if(this._workbook.getSheets().filter(s=>s.isSheetHidden()!==r.BooleanNumber.TRUE).length<=1)throw new Error("Cannot hide the only visible sheet");return e.syncExecuteCommand(a.SetWorksheetHideCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}showSheet(){return this._injector.get(r.ICommandService).syncExecuteCommand(a.SetWorksheetShowCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}isSheetHidden(){return this._worksheet.isSheetHidden()===r.BooleanNumber.TRUE}setName(e){return this._commandService.syncExecuteCommand(a.SetWorksheetNameCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),name:e}),this}activate(){return this._fWorkbook.setActiveSheet(this),this}getIndex(){return this._workbook.getSheetIndex(this._worksheet)}clear(e){e&&e.contentsOnly&&!e.formatOnly&&this.clearContents(),e&&e.formatOnly&&!e.contentsOnly&&this.clearFormats();const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=this._injector.get(r.ICommandService),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return o.syncExecuteCommand(a.ClearSelectionAllCommand.id,{unitId:t,subUnitId:n,ranges:[s],options:e}),this}clearContents(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),n=this._injector.get(r.ICommandService),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return n.syncExecuteCommand(a.ClearSelectionContentCommand.id,{unitId:e,subUnitId:t,ranges:[o]}),this}clearFormats(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),n=this._injector.get(r.ICommandService),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return n.syncExecuteCommand(a.ClearSelectionFormatCommand.id,{unitId:e,subUnitId:t,ranges:[o]}),this}getDataRange(){const e=this.getLastRows(),t=this.getLastColumns();return this.getRange(0,0,e+1,t+1)}getLastColumns(){return this._worksheet.getLastColumnWithContent()}getLastColumn(){return this._worksheet.getLastColumnWithContent()}getLastRows(){return this._worksheet.getLastRowWithContent()}getLastRow(){return this._worksheet.getLastRowWithContent()}equalTo(e){return e instanceof m.FWorksheet?this._worksheet.getSheetId()===e.getSheetId()&&this._workbook.getUnitId()===e.getWorkbook().getUnitId():!1}insertDefinedName(e,t){const o=this._injector.createInstance(I).setName(e).setRef(t).build();o.localSheetId=this.getSheetId(),this._fWorkbook.insertDefinedNameBuilder(o)}getDefinedNames(){return this._fWorkbook.getDefinedNames().filter(t=>t.getLocalSheetId()===this.getSheetId())}setCustomMetadata(e){return this._worksheet.setCustomMetadata(e),this}setRowCustomMetadata(e,t){return this._worksheet.getRowManager().setCustomMetadata(e,t),this}setColumnCustomMetadata(e,t){return this._worksheet.getColumnManager().setCustomMetadata(e,t),this}getRowCustomMetadata(e){return this._worksheet.getRowManager().getCustomMetadata(e)}getColumnCustomMetadata(e){return this._worksheet.getColumnManager().getCustomMetadata(e)}getMergeData(){return this._worksheet.getMergeData().map(e=>this._injector.createInstance(m.FRange,this._workbook,this._worksheet,e))}},m.FWorksheet=Q([f(3,r.Inject(r.Injector)),f(4,r.Inject(a.SheetsSelectionsService)),f(5,r.Inject(r.ILogService)),f(6,r.ICommandService)],m.FWorksheet);var X=Object.defineProperty,Z=Object.getOwnPropertyDescriptor,ee=(h,i,e,t)=>{for(var n=t>1?void 0:t?Z(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&X(i,e,n),n},k=(h,i)=>(e,t)=>i(e,t,h);m.FWorkbook=class extends r.FBaseInitialable{constructor(e,t,n,o,s,d,c,u,l,g){super(t);S(this,"id");S(this,"_eventRegistry",new Map);this._workbook=e,this._injector=t,this._resourceLoaderService=n,this._selectionManagerService=o,this._univerInstanceService=s,this._commandService=d,this._permissionService=c,this._logService=u,this._localeService=l,this._definedNamesService=g,this.id=this._workbook.getUnitId()}getWorkbook(){return this._workbook}_ensureEventRegistry(e){return this._eventRegistry.has(e)||this._eventRegistry.set(e,new r.Registry),this._eventRegistry.get(e)}addEvent(e,t){return this._ensureEventRegistry(e).add(t),this.addUIEvent(e,t),r.toDisposable(()=>this._ensureEventRegistry(e).delete(t))}fireEvent(e,t){var n;return(n=this._eventRegistry.get(e))==null||n.getData().forEach(o=>{o(t)}),t.cancel}addUIEvent(e,t){}get Enum(){return r.FEnum.get()}get Event(){return r.FEventName.get()}getId(){return this.id}getName(){return this._workbook.name}setName(e){this._workbook.setName(e)}save(){return this._resourceLoaderService.saveUnit(this._workbook.getUnitId())}getSnapshot(){return this._logService.warn("use 'save' instead of 'getSnapshot'"),this.save()}getActiveSheet(){const e=this._workbook.getActiveSheet();return this._injector.createInstance(m.FWorksheet,this,this._workbook,e)}getSheets(){return this._workbook.getSheets().map(e=>this._injector.createInstance(m.FWorksheet,this,this._workbook,e))}create(e,t,n){const o=r.mergeWorksheetSnapshotWithDefault({});o.rowCount=t,o.columnCount=n,o.name=e,o.id=e.toLowerCase().replace(/ /g,"-"),this._commandService.syncExecuteCommand(a.InsertSheetCommand.id,{unitId:this.id,index:this._workbook.getSheets().length,sheet:o}),this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId()});const s=this._workbook.getActiveSheet();if(!s)throw new Error("No active sheet found");return this._injector.createInstance(m.FWorksheet,this,this._workbook,s)}getSheetBySheetId(e){const t=this._workbook.getSheetBySheetId(e);return t?this._injector.createInstance(m.FWorksheet,this,this._workbook,t):null}getSheetByName(e){const t=this._workbook.getSheetBySheetName(e);return t?this._injector.createInstance(m.FWorksheet,this,this._workbook,t):null}setActiveSheet(e){return this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:e.getSheetId()}),e}insertSheet(e){e!=null?this._commandService.syncExecuteCommand(a.InsertSheetCommand.id,{sheet:{name:e}}):this._commandService.syncExecuteCommand(a.InsertSheetCommand.id);const t=this.id,n=this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId();this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:t,subUnitId:n});const o=this._workbook.getActiveSheet();if(!o)throw new Error("No active sheet found");return this._injector.createInstance(m.FWorksheet,this,this._workbook,o)}deleteSheet(e){const t=this.id,n=e.getSheetId();return this._commandService.syncExecuteCommand(a.RemoveSheetCommand.id,{unitId:t,subUnitId:n})}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(r.UndoCommand.id),this}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(r.RedoCommand.id),this}onBeforeCommandExecute(e){return this._commandService.beforeCommandExecuted(t=>{var n;((n=t.params)==null?void 0:n.unitId)===this.id&&e(t)})}onCommandExecuted(e){return this._commandService.onCommandExecuted(t=>{var n;((n=t.params)==null?void 0:n.unitId)===this.id&&e(t)})}onSelectionChange(e){return r.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(t=>{this._univerInstanceService.getCurrentUnitForType(r.UniverInstanceType.UNIVER_SHEET).getUnitId()===this.id&&(t!=null&&t.length?e(t.map(n=>n.range)):e([]))}))}setEditable(e){const t=new a.WorkbookEditablePermission(this._workbook.getUnitId());return this._permissionService.getPermissionPoint(t.id)||this._permissionService.addPermissionPoint(t),this._permissionService.updatePermissionPoint(t.id,e),this}setActiveRange(e){const t=this.getActiveSheet(),n=e.getRange().sheetId||t.getSheetId(),o=n?this._workbook.getSheetBySheetId(n):this._workbook.getActiveSheet(!0);if(!o)throw new Error("No active sheet found");o.getSheetId()!==t.getSheetId()&&this.setActiveSheet(this._injector.createInstance(m.FWorksheet,this,this._workbook,o));const s={unitId:this.getId(),subUnitId:n,selections:[e].map(d=>({range:d.getRange(),primary:a.getPrimaryForRange(d.getRange(),o),style:null}))};return this._commandService.syncExecuteCommand(a.SetSelectionsOperation.id,s),this}getActiveRange(){const e=this._workbook.getActiveSheet(),n=this._selectionManagerService.getCurrentSelections().find(o=>!!o.primary);return n?this._injector.createInstance(m.FRange,this._workbook,e,n.range):null}deleteActiveSheet(){const e=this.getActiveSheet();return this.deleteSheet(e)}duplicateSheet(e){return this._commandService.syncExecuteCommand(a.CopySheetCommand.id,{unitId:e.getWorkbook().getUnitId(),subUnitId:e.getSheetId()}),this._injector.createInstance(m.FWorksheet,this,this._workbook,this._workbook.getActiveSheet())}duplicateActiveSheet(){const e=this.getActiveSheet();return this.duplicateSheet(e)}getNumSheets(){return this._workbook.getSheets().length}getLocale(){return this._localeService.getCurrentLocale()}setLocale(e){this._localeService.setLocale(e)}setSpreadsheetLocale(e){return this._localeService.setLocale(e),this}getUrl(){return location.href}moveSheet(e,t){let n=t;return n<0?n=0:n>this._workbook.getSheets().length-1&&(n=this._workbook.getSheets().length-1),this._commandService.syncExecuteCommand(a.SetWorksheetOrderCommand.id,{unitId:e.getWorkbook().getUnitId(),order:n,subUnitId:e.getSheetId()}),this}moveActiveSheet(e){const t=this.getActiveSheet();return this.moveSheet(t,e)}getPermission(){return this._injector.createInstance(m.FPermission)}getDefinedName(e){const t=this._definedNamesService.getValueByName(this.id,e);return t?this._injector.createInstance(v,{...t,unitId:this.id}):null}getDefinedNames(){const e=this._definedNamesService.getDefinedNameMap(this.id);return e?Object.values(e).map(t=>this._injector.createInstance(v,{...t,unitId:this.id})):[]}insertDefinedName(e,t){const o=this._injector.createInstance(I).setName(e).setRef(t).build();return o.localSheetId=a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this.insertDefinedNameBuilder(o),this}deleteDefinedName(e){const t=this.getDefinedName(e);return t?(t.delete(),!0):!1}insertDefinedNameBuilder(e){e.unitId=this.getId(),this._commandService.syncExecuteCommand(a.SetDefinedNameCommand.id,e)}updateDefinedNameBuilder(e){this._commandService.syncExecuteCommand(a.SetDefinedNameCommand.id,e)}getRegisteredRangeThemes(){return this._injector.get(a.SheetRangeThemeService).getRegisteredRangeThemes()}registerRangeTheme(e){this._commandService.syncExecuteCommand(a.RegisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),rangeThemeStyle:e})}unregisterRangeTheme(e){this._commandService.syncExecuteCommand(a.UnregisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),themeName:e})}setCustomMetadata(e){return this._workbook.setCustomMetadata(e),this}getCustomMetadata(){return this._workbook.getCustomMetadata()}},m.FWorkbook=ee([k(1,r.Inject(r.Injector)),k(2,r.Inject(r.IResourceLoaderService)),k(3,r.Inject(a.SheetsSelectionsService)),k(4,r.IUniverInstanceService),k(5,r.ICommandService),k(6,r.IPermissionService),k(7,r.ILogService),k(8,r.Inject(r.LocaleService)),k(9,w.IDefinedNamesService)],m.FWorkbook);class te extends r.FUniver{getCommandSheetTarget(i){var o;const e=i.params;if(!e)return;const t=e.unitId?this.getUniverSheet(e.unitId):(o=this.getActiveWorkbook)==null?void 0:o.call(this);if(!t)return;const n=t.getSheetBySheetId(e.subUnitId||e.sheetId)||t.getActiveSheet();if(n)return{workbook:t,worksheet:n}}getSheetTarget(i,e){const t=this.getUniverSheet(i);if(!t)return;const n=t.getSheetBySheetId(e);if(n)return{workbook:t,worksheet:n}}_initWorkbookEvent(i){const e=i.get(r.IUniverInstanceService);this.disposeWithMe(e.unitDisposed$.subscribe(t=>{this._eventRegistry.get(this.Event.WorkbookDisposed)&&t.type===r.UniverInstanceType.UNIVER_SHEET&&this.fireEvent(this.Event.WorkbookDisposed,{unitId:t.getUnitId(),unitType:t.type,snapshot:t.getSnapshot()})})),this.disposeWithMe(e.unitAdded$.subscribe(t=>{if(this._eventRegistry.get(this.Event.WorkbookCreated)&&t.type===r.UniverInstanceType.UNIVER_SHEET){const n=t,o=i.createInstance(m.FWorkbook,n);this.fireEvent(this.Event.WorkbookCreated,{unitId:t.getUnitId(),type:t.type,workbook:o,unit:o})}}))}_initialize(i){const e=i.get(r.ICommandService);this.disposeWithMe(e.beforeCommandExecuted(t=>{var n;switch(t.id){case a.InsertSheetCommand.id:{const o=t.params,{unitId:s,index:d,sheet:c}=o||{},u=s?this.getUniverSheet(s):(n=this.getActiveWorkbook)==null?void 0:n.call(this);if(!u)return;const l={workbook:u,index:d,sheet:c};if(this.fireEvent(this.Event.BeforeSheetCreate,l),l.cancel)throw new r.CanceledError;break}}})),this.disposeWithMe(e.onCommandExecuted(t=>{var n;switch(t.id){case a.InsertSheetCommand.id:{const o=t.params,{unitId:s}=o||{},d=s?this.getUniverSheet(s):(n=this.getActiveWorkbook)==null?void 0:n.call(this);if(!d)return;const c=d.getActiveSheet();if(!c)return;const u={workbook:d,worksheet:c};this.fireEvent(this.Event.SheetCreated,u);break}}})),this._initWorkbookEvent(i)}createUniverSheet(i){const t=this._injector.get(r.IUniverInstanceService).createUnit(r.UniverInstanceType.UNIVER_SHEET,i);return this._injector.createInstance(m.FWorkbook,t)}createWorkbook(i){return this.createUniverSheet(i)}getActiveWorkbook(){const i=this._univerInstanceService.getCurrentUnitForType(r.UniverInstanceType.UNIVER_SHEET);return i?this._injector.createInstance(m.FWorkbook,i):null}getActiveUniverSheet(){return this.getActiveWorkbook()}getUniverSheet(i){const e=this._univerInstanceService.getUnit(i,r.UniverInstanceType.UNIVER_SHEET);return e?this._injector.createInstance(m.FWorkbook,e):null}getWorkbook(i){return this.getUniverSheet(i)}getPermission(){return this._injector.createInstance(m.FPermission)}onUniverSheetCreated(i){const e=this._univerInstanceService.getTypeOfUnitAdded$(r.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{const n=this._injector.createInstance(m.FWorkbook,t);i(n)});return r.toDisposable(e)}newDefinedName(){return this._injector.createInstance(I)}}r.FUniver.extend(te);class N extends r.FEventName{get SheetCreated(){return"SheetCreated"}get BeforeSheetCreate(){return"BeforeSheetCreate"}get WorkbookCreated(){return"WorkbookCreated"}get WorkbookDisposed(){return"WorkbookDisposed"}}r.FEventName.extend(N);var ne=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,oe=(h,i,e,t)=>{for(var n=t>1?void 0:t?ie(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&ne(i,e,n),n},re=(h,i)=>(e,t)=>i(e,t,h);m.FSheetHooks=class extends r.FBase{constructor(i){super(),this._injector=i}},m.FSheetHooks=oe([re(0,r.Inject(r.Injector))],m.FSheetHooks),m.FSheetEventName=N,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});