@univerjs/sheets 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/facade.js CHANGED
@@ -1 +1 @@
1
- "use strict";var T=Object.defineProperty;var A=(h,r,e)=>r in h?T(h,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):h[r]=e;var C=(h,r,e)=>A(h,typeof r!="symbol"?r+"":r,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@univerjs/core"),g=require("@univerjs/core/facade"),i=require("@univerjs/sheets"),k=require("@univerjs/engine-formula");var W=Object.getOwnPropertyDescriptor,F=(h,r,e,t)=>{for(var n=t>1?void 0:t?W(r,e):r,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=s(n)||n);return n},_=(h,r)=>(e,t)=>r(e,t,h);function B(h,r,e){const t=e.getDefinedNameMap(h);if(t==null)return r.t("definedName.defaultName")+1;const o=Array.from(Object.values(t)).length+1,s=r.t("definedName.defaultName")+o;if(e.getValueByName(h,s)==null)return s;let d=o+1;for(;;){const c=r.t("definedName.defaultName")+d;if(e.getValueByName(h,c)==null)return c;d++}}class b{constructor(){C(this,"_definedNameParam");this._definedNameParam={id:a.generateRandomId(10),unitId:"",name:"",formulaOrRefString:""}}setName(r){return this._definedNameParam.name=r,this}setFormula(r){return this._definedNameParam.formulaOrRefString=`=${r}`,this}setRef(r){return this._definedNameParam.formulaOrRefString=r,this}setRefByRange(r,e,t,n){return this._definedNameParam.formulaOrRefString=k.serializeRange({startRow:r,endRow:r+(t!=null?t:1)-1,startColumn:e,endColumn:e+(n!=null?n:1)-1}),this}setComment(r){return this._definedNameParam.comment=r,this}setHidden(r){return this._definedNameParam.hidden=r,this}build(){return this._definedNameParam}load(r){return this._definedNameParam=r,this}}let f=class extends g.FBase{constructor(h,r,e,t,n,o,s,d,c,m){super(),this._definedNameParam=h,this._injector=r,this._commandService=e,this._permissionService=t,this._worksheetProtectionRuleModel=n,this._rangeProtectionRuleModel=o,this._worksheetProtectionPointRuleModel=s,this._authzIoService=d,this._localeService=c,this._definedNamesService=m}_apply(){this._definedNameParam.name===""&&(this._definedNameParam.name=B(this._definedNameParam.unitId,this._localeService,this._definedNamesService)),this._commandService.syncExecuteCommand(i.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,r,e,t){this._definedNameParam.formulaOrRefString=k.serializeRange({startRow:h,endRow:h+(e!=null?e:1)-1,startColumn:r,endColumn:r+(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=i.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this._apply()}setHidden(h){this._definedNameParam.hidden=h,this._apply()}delete(){this._commandService.syncExecuteCommand(i.RemoveDefinedNameCommand.id,this._definedNameParam)}getLocalSheetId(){return this._definedNameParam.localSheetId}isWorkbookScope(){return this._definedNameParam.localSheetId===i.SCOPE_WORKBOOK_VALUE_DEFINED_NAME}toBuilder(){const h=this._injector.createInstance(b);return h.load(this._definedNameParam),h}};f=F([_(1,a.Inject(a.Injector)),_(2,a.ICommandService),_(3,a.IPermissionService),_(4,a.Inject(i.WorksheetProtectionRuleModel)),_(5,a.Inject(i.RangeProtectionRuleModel)),_(6,a.Inject(i.WorksheetProtectionPointModel)),_(7,a.Inject(a.IAuthzIoService)),_(8,a.Inject(a.LocaleService)),_(9,k.IDefinedNamesService)],f);var D=Object.getOwnPropertyDescriptor,M=(h,r,e,t)=>{for(var n=t>1?void 0:t?D(r,e):r,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=s(n)||n);return n},w=(h,r)=>(e,t)=>r(e,t,h);exports.FPermission=class extends g.FBase{constructor(e,t,n,o,s,d,c){super();C(this,"permissionPointsDefinition",i.PermissionPointsDefinitions);C(this,"rangeRuleChangedAfterAuth$");C(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,i.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:i.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}});if(this._commandService.syncExecuteCommand(i.AddWorksheetProtectionMutation.id,{unitId:e,subUnitId:t,rule:{permissionId:o,unitType:i.UnitObject.Worksheet,unitId:e,subUnitId:t}}))return o}removeWorksheetPermission(e,t){this._commandService.syncExecuteCommand(i.DeleteWorksheetProtectionMutation.id,{unitId:e,subUnitId:t}),[...i.getAllWorksheetPermissionPoint(),...i.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===i.WorksheetEditPermission||n===i.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 l=this._worksheetProtectionPointRuleModel.getRule(e,t);l?d=l.permissionId:(d=await this._authzIoService.create({objectType:i.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}}),this._commandService.syncExecuteCommand(i.SetWorksheetPermissionPointsMutation.id,{unitId:e,subUnitId:t,rule:{unitId:e,subUnitId:t,permissionId:d}}))}const m=new n(e,t);return this._permissionService.getPermissionPoint(m.id)||this._permissionService.addPermissionPoint(m),this._permissionService.updatePermissionPoint(m.id,o),d}async addRangeBaseProtection(e,t,n){const o=await this._authzIoService.create({objectType:i.UnitObject.SelectRange,selectRangeObject:{collaborators:[],unitID:e,name:"",scope:void 0}}),s=`ruleId_${a.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(l=>l.ranges.some(E=>n.some(v=>a.Rectangle.intersects(v.getRange(),E)))))throw new Error("range protection cannot intersect");if(this._commandService.syncExecuteCommand(i.AddRangeProtectionMutation.id,{unitId:e,subUnitId:t,rules:[{permissionId:o,unitType:i.UnitObject.SelectRange,unitId:e,subUnitId:t,ranges:n.map(l=>l.getRange()),id:s}]}))return{permissionId:o,ruleId:s}}removeRangeProtection(e,t,n){this._commandService.syncExecuteCommand(i.DeleteRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleIds:n})&&this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length===0&&(this._worksheetProtectionPointRuleModel.deleteRule(e,t),[...i.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(m=>m.id!==n).some(m=>m.ranges.some(u=>o.some(l=>a.Rectangle.intersects(l.getRange(),u)))))throw new Error("range protection cannot intersect");this._commandService.syncExecuteCommand(i.SetRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleId:n,rule:{...s,ranges:o.map(m=>m.getRange())}})}}};exports.FPermission=M([w(0,a.Inject(a.Injector)),w(1,a.ICommandService),w(2,a.IPermissionService),w(3,a.Inject(i.WorksheetProtectionRuleModel)),w(4,a.Inject(i.RangeProtectionRuleModel)),w(5,a.Inject(i.WorksheetProtectionPointModel)),w(6,a.Inject(a.IAuthzIoService))],exports.FPermission);function j(h){switch(h){case"left":return a.HorizontalAlign.LEFT;case"center":return a.HorizontalAlign.CENTER;case"normal":return a.HorizontalAlign.RIGHT;default:throw new Error(`Invalid horizontal alignment: ${h}`)}}function O(h){switch(h){case a.HorizontalAlign.LEFT:return"left";case a.HorizontalAlign.CENTER:return"center";case a.HorizontalAlign.RIGHT:return"normal";default:throw new Error(`Invalid horizontal alignment: ${h}`)}}function V(h){switch(h){case"top":return a.VerticalAlign.TOP;case"middle":return a.VerticalAlign.MIDDLE;case"bottom":return a.VerticalAlign.BOTTOM;default:throw new Error(`Invalid vertical alignment: ${h}`)}}function H(h){switch(h){case a.VerticalAlign.TOP:return"top";case a.VerticalAlign.MIDDLE:return"middle";case a.VerticalAlign.BOTTOM:return"bottom";default:throw new Error(`Invalid vertical alignment: ${h}`)}}function R(h){return a.isFormulaString(h)?{f:h,v:null,p:null}:a.isCellV(h)?{v:h,p:null,f:null}:(a.isICellData(h),h)}function P(h,r){const e=new a.ObjectMatrix,{startRow:t,startColumn:n,endRow:o,endColumn:s}=r;if(a.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 a.ObjectMatrix(h).forValue((c,m,u)=>{e.setValue(c,m,R(u))});return e.getMatrix()}function p(h,r){return{startRow:h.startRow,endRow:h.endRow,startColumn:0,endColumn:r.getColumnCount()-1,rangeType:a.RANGE_TYPE.ROW}}function y(h,r){return{startRow:0,endRow:r.getRowCount()-1,startColumn:h.startColumn,endColumn:h.endColumn,rangeType:a.RANGE_TYPE.COLUMN}}var L=Object.getOwnPropertyDescriptor,z=(h,r,e,t)=>{for(var n=t>1?void 0:t?L(r,e):r,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=s(n)||n);return n},U=(h,r)=>(e,t)=>r(e,t,h);exports.FRange=class extends g.FBaseInitialable{constructor(r,e,t,n,o,s){super(n),this._workbook=r,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:r,startRow:e,endColumn:t,endRow:n}=this._range;return this._worksheet.getMergedCellRange(e,r,n,t).some(s=>a.Rectangle.equals(s,this._range))}getCellStyleData(){var t;const r=this.getCellData(),e=this._workbook.getStyles();return r&&e&&(t=e.getStyleByCell(r))!=null?t:null}getCellStyle(){const r=this.getCellStyleData();return r?a.TextStyleValue.create(r):null}getCellStyles(){const r=this.getCellDatas(),e=this._workbook.getStyles();return r.map(t=>t.map(n=>{if(!n)return null;const o=e.getStyleByCell(n);return o?a.TextStyleValue.create(o):null}))}getValue(r){var e,t;return r?this.getValueAndRichTextValue():(t=(e=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:e.v)!=null?t:null}getValues(r){var d,c;r&&this.getValueAndRichTextValues();const{startRow:e,endRow:t,startColumn:n,endColumn:o}=this._range,s=[];for(let m=e;m<=t;m++){const u=[];for(let l=n;l<=o;l++)u.push((c=(d=this._worksheet.getCell(m,l))==null?void 0:d.v)!=null?c:null);s.push(u)}return s}getCellData(){var r;return(r=this._worksheet.getCell(this._range.startRow,this._range.startColumn))!=null?r:null}getCellDatas(){return this.getCellDataGrid()}getCellDataGrid(){const{startRow:r,endRow:e,startColumn:t,endColumn:n}=this._range,o=[];for(let s=r;s<=e;s++){const d=[];for(let c=t;c<=n;c++)d.push(this._worksheet.getCellRaw(s,c));o.push(d)}return o}getRichTextValue(){const r=this.getCellData();return r!=null&&r.p?new a.RichTextValue(r.p):null}getRichTextValues(){return this.getCellDataGrid().map(e=>e.map(t=>t!=null&&t.p?new a.RichTextValue(t.p):null))}getValueAndRichTextValue(){const r=this.getCellData();return r!=null&&r.p?new a.RichTextValue(r.p):r==null?void 0:r.v}getValueAndRichTextValues(){return this.getCellDatas().map(e=>e.map(t=>t!=null&&t.p?new a.RichTextValue(t.p):t==null?void 0:t.v))}getFormulas(){const r=[],{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 m=[];for(let u=n;u<=o;u++){const l=this._formulaDataModel.getFormulaStringByCell(c,u,s,d);m.push(l||"")}r.push(m)}return r}getWrap(){return this._worksheet.getRange(this._range).getWrap()===a.BooleanNumber.TRUE}getWrapStrategy(){return this._worksheet.getRange(this._range).getWrapStrategy()}getHorizontalAlignment(){return O(this._worksheet.getRange(this._range).getHorizontalAlignment())}getVerticalAlignment(){return H(this._worksheet.getRange(this._range).getVerticalAlignment())}setCustomMetaData(r){return this.setValue({custom:r})}setCustomMetaDatas(r){return this.setValues(r.map(e=>e.map(t=>({custom:t}))))}getCustomMetaData(){var e;const r=this.getCellData();return(e=r==null?void 0:r.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}))}setBorder(r,e,t){return this._commandService.syncExecuteCommand(i.SetBorderBasicCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),value:{type:r,style:e,color:t}}),this}setBackgroundColor(r){return this._commandService.syncExecuteCommand(i.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:r}}}),this}setBackground(r){return this.setBackgroundColor(r),this}setValue(r){const e=R(r);if(!e)throw new Error("Invalid value");return this._commandService.syncExecuteCommand(i.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setValueForCell(r){const e=R(r);if(!e)throw new Error("Invalid value");return this._commandService.syncExecuteCommand(i.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(r){const e=r instanceof a.RichTextValue?r.getData():r,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(i.SetRangeValuesCommand.id,t),this}setRichTextValues(r){const e=r.map(o=>o.map(s=>s&&{p:s instanceof a.RichTextValue?s.getData():s})),t=P(e,this._range),n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:t};return this._commandService.syncExecuteCommand(i.SetRangeValuesCommand.id,n),this}setWrap(r){return this._commandService.syncExecuteCommand(i.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:r?a.WrapStrategy.WRAP:a.WrapStrategy.UNSPECIFIED}),this}setWrapStrategy(r){return this._commandService.syncExecuteCommand(i.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:r}),this}setVerticalAlignment(r){return this._commandService.syncExecuteCommand(i.SetVerticalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:V(r)}),this}setHorizontalAlignment(r){return this._commandService.syncExecuteCommand(i.SetHorizontalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:j(r)}),this}setValues(r){const e=P(r,this._range);return this._commandService.syncExecuteCommand(i.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setFontWeight(r){let e;if(r==="bold")e=a.BooleanNumber.TRUE;else if(r==="normal")e=a.BooleanNumber.FALSE;else if(r===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.syncExecuteCommand(i.SetStyleCommand.id,n),this}setFontStyle(r){let e;if(r==="italic")e=a.BooleanNumber.TRUE;else if(r==="normal")e=a.BooleanNumber.FALSE;else if(r===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.syncExecuteCommand(i.SetStyleCommand.id,n),this}setFontLine(r){if(r==="underline")this._setFontUnderline({s:a.BooleanNumber.TRUE});else if(r==="line-through")this._setFontStrikethrough({s:a.BooleanNumber.TRUE});else if(r==="none")this._setFontUnderline({s:a.BooleanNumber.FALSE}),this._setFontStrikethrough({s:a.BooleanNumber.FALSE});else if(r===null)this._setFontUnderline(null),this._setFontStrikethrough(null);else throw new Error("Invalid fontLine");return this}_setFontUnderline(r){const e={type:"ul",value:r},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.syncExecuteCommand(i.SetStyleCommand.id,t)}_setFontStrikethrough(r){const e={type:"st",value:r},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.syncExecuteCommand(i.SetStyleCommand.id,t)}setFontFamily(r){const e={type:"ff",value:r},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.syncExecuteCommand(i.SetStyleCommand.id,t),this}setFontSize(r){const e={type:"fs",value:r},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.syncExecuteCommand(i.SetStyleCommand.id,t),this}setFontColor(r){const t={type:"cl",value:r===null?null:{rgb:r}},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(i.SetStyleCommand.id,n),this}merge(r=!0){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return i.addMergeCellsUtil(this._injector,e,t,[this._range],r),this}mergeAcross(r=!0){const e=i.getAddMergeMutationRangeByType([this._range],a.Dimension.ROWS),t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return i.addMergeCellsUtil(this._injector,t,n,e,r),this}mergeVertically(r=!0){const e=i.getAddMergeMutationRangeByType([this._range],a.Dimension.COLUMNS),t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return i.addMergeCellsUtil(this._injector,t,n,e,r),this}isPartOfMerge(){const{startRow:r,startColumn:e,endRow:t,endColumn:n}=this._range;return this._worksheet.getMergedCellRange(r,e,t,n).length>0}breakApart(){return this._commandService.syncExecuteCommand(i.RemoveWorksheetMergeCommand.id,{ranges:[this._range]}),this}forEach(r){const{startColumn:e,startRow:t,endColumn:n,endRow:o}=this._range;this._worksheet.getMatrixWithMergedCells(t,e,o,n).forValue((s,d,c)=>{r(s,d,c)})}getA1Notation(r){return r?k.serializeRangeWithSheet(this._worksheet.getName(),this._range):k.serializeRange(this._range)}activate(){return this._injector.createInstance(exports.FWorkbook,this._workbook).setActiveRange(this),this}activateAsCurrentCell(){const r=this._worksheet.getMergedCell(this._range.startRow,this._range.startColumn);if(r&&a.Rectangle.equals(r,this._range)||!r&&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(r,e,t){this._commandService.syncExecuteCommand(i.SplitTextToColumnsCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,delimiter:e,customDelimiter:t,treatMultipleDelimitersAsOne:r})}useThemeStyle(r){if(r==null){const e=this.getUsedThemeStyle();e&&this.removeThemeStyle(e)}else this._commandService.syncExecuteCommand(i.SetWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:r})}removeThemeStyle(r){this._commandService.syncExecuteCommand(i.DeleteWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:r})}getUsedThemeStyle(){return this._injector.get(i.SheetRangeThemeService).getAppliedRangeThemeStyle({unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range})}};exports.FRange=z([U(3,a.Inject(a.Injector)),U(4,a.ICommandService),U(5,a.Inject(k.FormulaDataModel))],exports.FRange);var G=Object.getOwnPropertyDescriptor,$=(h,r,e,t)=>{for(var n=t>1?void 0:t?G(r,e):r,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=s(n)||n);return n},Y=(h,r)=>(e,t)=>r(e,t,h);exports.FSelection=class{constructor(r,e,t,n){this._workbook=r,this._worksheet=e,this._selections=t,this._injector=n}getActiveRange(){const r=this._selections.find(e=>!!e.primary);return r?this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,r.range):null}getActiveRangeList(){return this._selections.map(r=>this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,r.range))}getCurrentCell(){const r=this._selections.find(e=>!!e.primary);return r?r.primary:null}getActiveSheet(){const r=this._injector.createInstance(exports.FWorkbook,this._workbook);return this._injector.createInstance(exports.FWorksheet,r,this._workbook,this._worksheet)}updatePrimaryCell(r){const e=this._injector.get(a.ICommandService);let t=[],n=!1;for(const{range:s,style:d}of this._selections)a.Rectangle.contains(s,r.getRange())?(t.push({range:s,primary:i.getPrimaryForRange(r.getRange(),this._worksheet),style:d}),n=!0):t.push({range:s,primary:null,style:d});n||(t=[{range:r.getRange(),primary:i.getPrimaryForRange(r.getRange(),this._worksheet)}]);const o={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),selections:t};return e.syncExecuteCommand(i.SetSelectionsOperation.id,o),new exports.FSelection(this._workbook,this._worksheet,t,this._injector)}getNextDataRange(r){if(!this._selections.find(n=>!!n.primary))return null;const t=i.getNextPrimaryCell(this._selections.concat(),r,this._worksheet);return t?this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,t):null}};exports.FSelection=$([Y(3,a.Inject(a.Injector))],exports.FSelection);var q=Object.getOwnPropertyDescriptor,K=(h,r,e,t)=>{for(var n=t>1?void 0:t?q(r,e):r,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=s(n)||n);return n},I=(h,r)=>(e,t)=>r(e,t,h);exports.FWorksheet=class extends g.FBaseInitialable{constructor(e,t,n,o,s,d,c){super(o);C(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}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(exports.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(i.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(i.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(i.SetRowDataCommand.id,s),this}getRange(e,t,n,o){let s,d;if(typeof e=="object")s=e,d=this._worksheet;else if(typeof e=="string"){const{range:c,sheetName:m}=k.deserializeRangeWithSheet(e),u=m?this._workbook.getSheetBySheetName(m):this._worksheet;if(!u)throw new Error("Range not found");d=u,s={...c,unitId:this._workbook.getUnitId(),sheetId:d.getSheetId(),rangeType:a.RANGE_TYPE.NORMAL,startRow:c.rangeType===a.RANGE_TYPE.COLUMN?0:c.startRow,endRow:c.rangeType===a.RANGE_TYPE.COLUMN?d.getMaxRows()-1:c.endRow,startColumn:c.rangeType===a.RANGE_TYPE.ROW?0:c.startColumn,endColumn:c.rangeType===a.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(exports.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=a.Direction.DOWN,d=e+1,c=e+t,m=0,u=this._worksheet.getColumnCount()-1,l=i.copyRangeStyles(this._worksheet,d,c,m,u,!0,e);return this._commandService.syncExecuteCommand(i.InsertRowByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:m,endColumn:u},cellValue:l}),this}insertRowsBefore(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=a.Direction.UP,d=e,c=e+t-1,m=0,u=this._worksheet.getColumnCount()-1,l=i.copyRangeStyles(this._worksheet,d,c,m,u,!0,e-1);return this._commandService.syncExecuteCommand(i.InsertRowByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:m,endColumn:u},cellValue:l}),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(i.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=p(e.getRange(),this._worksheet),d=s,c={startRow:t,endRow:t,startColumn:s.startColumn,endColumn:s.endColumn};return this._commandService.syncExecuteCommand(i.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=p(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(i.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:a.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(i.SetRowHiddenCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}unhideRow(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=p(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(i.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:a.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(i.SetSpecificRowsVisibleCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}setRowHeight(e,t){return this.setRowHeights(e,1,t)}autoFitRow(e,t=a.BooleanNumber.TRUE){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=[{startRow:e,endRow:e,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(i.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:s[0],value:a.WrapStrategy.WRAP}),this._commandService.syncExecuteCommand(i.SetWorksheetRowIsAutoHeightMutation.id,{unitId:n,subUnitId:o,ranges:s,autoHeightInfo:t}),this}setRowHeights(e,t,n){var u;const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=this._worksheet.getRowManager(),c=[],m=[];for(let l=e;l<e+t;l++){const E=((u=d.getRow(l))==null?void 0:u.ah)||this._worksheet.getConfig().defaultRowHeight,v={startRow:l,endRow:l,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};n<=E?c.push(v):m.push(v)}return m.length>0&&this._commandService.syncExecuteCommand(i.SetRowHeightCommand.id,{unitId:o,subUnitId:s,ranges:m,value:n}),c.length>0&&this._commandService.syncExecuteCommand(i.SetWorksheetRowIsAutoHeightCommand.id,{unitId:o,subUnitId:s,ranges:c}),this}setRowAutoHeight(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(i.SetWorksheetRowIsAutoHeightCommand.id,{unitId:n,subUnitId:o,ranges:s}),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(i.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(i.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=a.Direction.RIGHT,d=0,c=this._worksheet.getRowCount()-1,m=e+1,u=e+t,l=i.copyRangeStyles(this._worksheet,d,c,m,u,!1,e);return this._commandService.syncExecuteCommand(i.InsertColByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:m,endColumn:u},cellValue:l}),this}insertColumnsBefore(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=a.Direction.LEFT,d=0,c=this._worksheet.getRowCount()-1,m=e,u=e+t-1,l=i.copyRangeStyles(this._worksheet,d,c,m,u,!1,e-1);return this._commandService.syncExecuteCommand(i.InsertColByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:m,endColumn:u},cellValue:l}),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(i.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=y(e.getRange(),this._worksheet),d=s,c={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:t,endColumn:t};return this._commandService.syncExecuteCommand(i.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=y(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(i.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:a.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(i.SetColHiddenCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}unhideColumn(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=y(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(i.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:a.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(i.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(i.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(i.SetColDataCommand.id,s),this}getMergedRanges(){return this._worksheet.getSnapshot().mergeData.map(t=>this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,t))}getCellMergeData(e,t){const o=this._worksheet.getMergedCell(e,t);if(o)return this._injector.createInstance(exports.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(i.SetFrozenCommand.id,{...e,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}cancelFreeze(){return this._commandService.syncExecuteCommand(i.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(i.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(i.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===a.BooleanNumber.FALSE}setHiddenGridlines(e){return this._commandService.syncExecuteCommand(i.ToggleGridlinesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),showGridlines:e?a.BooleanNumber.FALSE:a.BooleanNumber.TRUE}),this}setGridLinesColor(e){return this._commandService.syncExecuteCommand(i.SetGridlinesColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e}),this}getGridLinesColor(){return this._worksheet.getGridlinesColor()}setTabColor(e){return this._commandService.syncExecuteCommand(i.SetTabColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e}),this}getTabColor(){return this._worksheet.getTabColor()}onCellDataChange(e){return this._injector.get(a.ICommandService).onCommandExecuted(n=>{if(n.id===i.SetRangeValuesMutation.id){const o=n.params;o.unitId===this._workbook.getUnitId()&&o.subUnitId===this._worksheet.getSheetId()&&o.cellValue&&e(new a.ObjectMatrix(o.cellValue))}})}onBeforeCellDataChange(e){return this._injector.get(a.ICommandService).beforeCommandExecuted(n=>{if(n.id===i.SetRangeValuesMutation.id){const o=n.params;o.unitId===this._workbook.getUnitId()&&o.subUnitId===this._worksheet.getSheetId()&&o.cellValue&&e(new a.ObjectMatrix(o.cellValue))}})}hideSheet(){const e=this._injector.get(a.ICommandService);if(this._workbook.getSheets().filter(s=>s.isSheetHidden()!==a.BooleanNumber.TRUE).length<=1)throw new Error("Cannot hide the only visible sheet");return e.syncExecuteCommand(i.SetWorksheetHideCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}showSheet(){return this._injector.get(a.ICommandService).syncExecuteCommand(i.SetWorksheetShowCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}isSheetHidden(){return this._worksheet.isSheetHidden()===a.BooleanNumber.TRUE}setName(e){return this._commandService.syncExecuteCommand(i.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(a.ICommandService),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return o.syncExecuteCommand(i.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(a.ICommandService),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return n.syncExecuteCommand(i.ClearSelectionContentCommand.id,{unitId:e,subUnitId:t,ranges:[o]}),this}clearFormats(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),n=this._injector.get(a.ICommandService),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return n.syncExecuteCommand(i.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 exports.FWorksheet?this._worksheet.getSheetId()===e.getSheetId()&&this._workbook.getUnitId()===e.getWorkbook().getUnitId():!1}insertDefinedName(e,t){const o=this._injector.createInstance(b).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(exports.FRange,this._workbook,this._worksheet,e))}};exports.FWorksheet=K([I(3,a.Inject(a.Injector)),I(4,a.Inject(i.SheetsSelectionsService)),I(5,a.Inject(a.ILogService)),I(6,a.ICommandService)],exports.FWorksheet);var J=Object.getOwnPropertyDescriptor,Q=(h,r,e,t)=>{for(var n=t>1?void 0:t?J(r,e):r,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=s(n)||n);return n},S=(h,r)=>(e,t)=>r(e,t,h);exports.FWorkbook=class extends g.FBaseInitialable{constructor(e,t,n,o,s,d,c,m,u,l){super(t);C(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=m,this._localeService=u,this._definedNamesService=l,this.id=this._workbook.getUnitId()}getWorkbook(){return this._workbook}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(exports.FWorksheet,this,this._workbook,e)}getSheets(){return this._workbook.getSheets().map(e=>this._injector.createInstance(exports.FWorksheet,this,this._workbook,e))}create(e,t,n){const o=a.mergeWorksheetSnapshotWithDefault({});o.rowCount=t,o.columnCount=n,o.name=e,o.id=e.toLowerCase().replace(/ /g,"-"),this._commandService.syncExecuteCommand(i.InsertSheetCommand.id,{unitId:this.id,index:this._workbook.getSheets().length,sheet:o}),this._commandService.syncExecuteCommand(i.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(exports.FWorksheet,this,this._workbook,s)}getSheetBySheetId(e){const t=this._workbook.getSheetBySheetId(e);return t?this._injector.createInstance(exports.FWorksheet,this,this._workbook,t):null}getSheetByName(e){const t=this._workbook.getSheetBySheetName(e);return t?this._injector.createInstance(exports.FWorksheet,this,this._workbook,t):null}setActiveSheet(e){return this._commandService.syncExecuteCommand(i.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:typeof e=="string"?e:e.getSheetId()}),typeof e=="string"?this.getSheetBySheetId(e):e}insertSheet(e){e!=null?this._commandService.syncExecuteCommand(i.InsertSheetCommand.id,{sheet:{name:e}}):this._commandService.syncExecuteCommand(i.InsertSheetCommand.id);const t=this.id,n=this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId();this._commandService.syncExecuteCommand(i.SetWorksheetActiveOperation.id,{unitId:t,subUnitId:n});const o=this._workbook.getActiveSheet();if(!o)throw new Error("No active sheet found");return this._injector.createInstance(exports.FWorksheet,this,this._workbook,o)}deleteSheet(e){const t=this.id,n=typeof e=="string"?e:e.getSheetId();return this._commandService.syncExecuteCommand(i.RemoveSheetCommand.id,{unitId:t,subUnitId:n})}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(a.UndoCommand.id),this}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(a.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 a.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(t=>{this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getUnitId()===this.id&&(t!=null&&t.length?e(t.map(n=>n.range)):e([]))}))}setEditable(e){const t=new i.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(exports.FWorksheet,this,this._workbook,o));const s={unitId:this.getId(),subUnitId:n,selections:[e].map(d=>({range:d.getRange(),primary:i.getPrimaryForRange(d.getRange(),o),style:null}))};return this._commandService.syncExecuteCommand(i.SetSelectionsOperation.id,s),this}getActiveRange(){const e=this._workbook.getActiveSheet(),n=this._selectionManagerService.getCurrentSelections().find(o=>!!o.primary);return n?this._injector.createInstance(exports.FRange,this._workbook,e,n.range):null}deleteActiveSheet(){const e=this.getActiveSheet();return this.deleteSheet(e)}duplicateSheet(e){return this._commandService.syncExecuteCommand(i.CopySheetCommand.id,{unitId:e.getWorkbook().getUnitId(),subUnitId:e.getSheetId()}),this._injector.createInstance(exports.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(i.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(exports.FPermission)}getDefinedName(e){const t=this._definedNamesService.getValueByName(this.id,e);return t?this._injector.createInstance(f,{...t,unitId:this.id}):null}getDefinedNames(){const e=this._definedNamesService.getDefinedNameMap(this.id);return e?Object.values(e).map(t=>this._injector.createInstance(f,{...t,unitId:this.id})):[]}insertDefinedName(e,t){const o=this._injector.createInstance(b).setName(e).setRef(t).build();return o.localSheetId=i.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(i.SetDefinedNameCommand.id,e)}updateDefinedNameBuilder(e){this._commandService.syncExecuteCommand(i.SetDefinedNameCommand.id,e)}getRegisteredRangeThemes(){return this._injector.get(i.SheetRangeThemeService).getRegisteredRangeThemes()}registerRangeTheme(e){this._commandService.syncExecuteCommand(i.RegisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),rangeThemeStyle:e})}unregisterRangeTheme(e){this._commandService.syncExecuteCommand(i.UnregisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),themeName:e})}createRangeThemeStyle(e,t){return new i.RangeThemeStyle(e,t)}setCustomMetadata(e){return this._workbook.setCustomMetadata(e),this}getCustomMetadata(){return this._workbook.getCustomMetadata()}};exports.FWorkbook=Q([S(1,a.Inject(a.Injector)),S(2,a.Inject(a.IResourceLoaderService)),S(3,a.Inject(i.SheetsSelectionsService)),S(4,a.IUniverInstanceService),S(5,a.ICommandService),S(6,a.IPermissionService),S(7,a.ILogService),S(8,a.Inject(a.LocaleService)),S(9,k.IDefinedNamesService)],exports.FWorkbook);class X extends g.FUniver{getCommandSheetTarget(r){var o;const e=r.params;if(!e)return this.getActiveSheet();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(r,e){const t=this.getUniverSheet(r);if(!t)return;const n=t.getSheetBySheetId(e);if(n)return{workbook:t,worksheet:n}}_initWorkbookEvent(r){const e=r.get(a.IUniverInstanceService);this.registerEventHandler(this.Event.WorkbookDisposed,()=>e.unitDisposed$.subscribe(t=>{t.type===a.UniverInstanceType.UNIVER_SHEET&&this.fireEvent(this.Event.WorkbookDisposed,{unitId:t.getUnitId(),unitType:t.type,snapshot:t.getSnapshot()})})),this.registerEventHandler(this.Event.WorkbookCreated,()=>e.unitAdded$.subscribe(t=>{if(t.type===a.UniverInstanceType.UNIVER_SHEET){const n=t,o=r.createInstance(exports.FWorkbook,n);this.fireEvent(this.Event.WorkbookCreated,{unitId:t.getUnitId(),type:t.type,workbook:o,unit:o})}}))}_initialize(r){const e=r.get(a.ICommandService);this.registerEventHandler(this.Event.BeforeSheetCreate,()=>e.beforeCommandExecuted(t=>{var n;if(t.id===i.InsertSheetCommand.id){const o=t.params,{unitId:s,index:d,sheet:c}=o||{},m=s?this.getUniverSheet(s):(n=this.getActiveWorkbook)==null?void 0:n.call(this);if(!m)return;const u={workbook:m,index:d,sheet:c};if(this.fireEvent(this.Event.BeforeSheetCreate,u),u.cancel)throw new a.CanceledError}})),this.registerEventHandler(this.Event.BeforeActiveSheetChange,()=>e.beforeCommandExecuted(t=>{var n;if(t.id===i.SetWorksheetActiveOperation.id){const{subUnitId:o,unitId:s}=t.params,d=s?this.getUniverSheet(s):(n=this.getActiveWorkbook)==null?void 0:n.call(this);if(!d||!o)return;const c=d.getSheetBySheetId(o),m=d.getActiveSheet();if(!c||!m)return;this._fireBeforeActiveSheetChange(d,c,m)}})),this.registerEventHandler(this.Event.BeforeSheetDelete,()=>e.beforeCommandExecuted(t=>{if(t.id===i.RemoveSheetCommand.id){const n=this.getCommandSheetTarget(t);if(!n)return;const{workbook:o,worksheet:s}=n;this._fireBeforeSheetDelete(o,s)}})),this.registerEventHandler(this.Event.BeforeSheetMove,()=>e.beforeCommandExecuted(t=>{if(t.id===i.SetWorksheetOrderCommand.id){const{fromOrder:n,toOrder:o}=t.params,s=this.getCommandSheetTarget(t);if(!s)return;this._fireBeforeSheetMove(s.workbook,s.worksheet,o,n)}})),this.registerEventHandler(this.Event.BeforeSheetNameChange,()=>e.beforeCommandExecuted(t=>{if(t.id===i.SetWorksheetNameCommand.id){const{name:n}=t.params,o=this.getCommandSheetTarget(t);if(!o)return;this._fireBeforeSheetNameChange(o.workbook,o.worksheet,n,o.worksheet.getSheetName())}})),this.registerEventHandler(this.Event.BeforeSheetTabColorChange,()=>e.beforeCommandExecuted(t=>{if(t.id===i.SetTabColorCommand.id){const{color:n}=t.params,o=this.getCommandSheetTarget(t);if(!o)return;this._fireBeforeSheetTabColorChange(o.workbook,o.worksheet,n,o.worksheet.getTabColor())}})),this.registerEventHandler(this.Event.BeforeSheetHideChange,()=>e.beforeCommandExecuted(t=>{if(t.id===i.SetWorksheetHideCommand.id){const{hidden:n}=t.params,o=this.getCommandSheetTarget(t);if(!o)return;this._fireBeforeSheetHideChange(o.workbook,o.worksheet,!!n)}})),this.registerEventHandler(this.Event.BeforeGridlineColorChange,()=>e.beforeCommandExecuted(t=>{var n;if(t.id===i.SetGridlinesColorCommand.id){const o=this.getCommandSheetTarget(t);if(!o)return;this.fireEvent(this.Event.BeforeGridlineColorChange,{...o,color:(n=t.params)==null?void 0:n.color})}})),this.registerEventHandler(this.Event.BeforeGridlineEnableChange,()=>e.beforeCommandExecuted(t=>{var n;if(t.id===i.ToggleGridlinesCommand.id){const o=this.getCommandSheetTarget(t);if(!o)return;this.fireEvent(this.Event.BeforeGridlineEnableChange,{...o,enabled:!!((n=t.params)!=null&&n.showGridlines)})}})),this.registerEventHandler(this.Event.SheetValueChanged,()=>e.onCommandExecuted(t=>{if(i.COMMAND_LISTENER_VALUE_CHANGE.indexOf(t.id)>-1){if(!this.getActiveSheet())return;const o=i.getValueChangedEffectedRange(t).map(s=>{var d,c;return(c=(d=this.getWorkbook(s.unitId))==null?void 0:d.getSheetBySheetId(s.subUnitId))==null?void 0:c.getRange(s.range)}).filter(Boolean);if(!o.length)return;this.fireEvent(this.Event.SheetValueChanged,{payload:t,effectedRanges:o})}})),this.registerEventHandler(this.Event.SheetCreated,()=>e.onCommandExecuted(t=>{var n;if(t.id===i.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 m={workbook:d,worksheet:c};this.fireEvent(this.Event.SheetCreated,m)}})),this.registerEventHandler(this.Event.ActiveSheetChanged,()=>e.onCommandExecuted(t=>{if(t.id===i.SetWorksheetActiveOperation.id){const n=this.getActiveSheet();if(!n)return;const{workbook:o,worksheet:s}=n;this._fireActiveSheetChanged(o,s)}})),this.registerEventHandler(this.Event.SheetDeleted,()=>e.onCommandExecuted(t=>{var n;if(t.id===i.RemoveSheetCommand.id){const{subUnitId:o,unitId:s}=t.params,d=s?this.getUniverSheet(s):(n=this.getActiveWorkbook)==null?void 0:n.call(this);if(!d||!o)return;this._fireSheetDeleted(d,o)}})),this.registerEventHandler(this.Event.SheetMoved,()=>e.onCommandExecuted(t=>{if(t.id===i.SetWorksheetOrderCommand.id){const{toOrder:n}=t.params,o=this.getCommandSheetTarget(t);if(!o)return;this._fireSheetMoved(o.workbook,o.worksheet,n)}})),this.registerEventHandler(this.Event.SheetNameChanged,()=>e.onCommandExecuted(t=>{if(t.id===i.SetWorksheetNameCommand.id){const{name:n}=t.params,o=this.getCommandSheetTarget(t);if(!o)return;this._fireSheetNameChanged(o.workbook,o.worksheet,n)}})),this.registerEventHandler(this.Event.SheetTabColorChanged,()=>e.onCommandExecuted(t=>{if(t.id===i.SetTabColorCommand.id){const{color:n}=t.params,o=this.getCommandSheetTarget(t);if(!o)return;this._fireSheetTabColorChanged(o.workbook,o.worksheet,n)}})),this.registerEventHandler(this.Event.SheetHideChanged,()=>e.onCommandExecuted(t=>{if(t.id===i.SetWorksheetHideCommand.id){const{hidden:n}=t.params,o=this.getCommandSheetTarget(t);if(!o)return;this._fireSheetHideChanged(o.workbook,o.worksheet,!!n)}})),this.registerEventHandler(this.Event.GridlineChanged,()=>e.onCommandExecuted(t=>{if(t.id===i.SetGridlinesColorCommand.id||t.id===i.ToggleGridlinesCommand.id){const n=this.getCommandSheetTarget(t);if(!n)return;this.fireEvent(this.Event.GridlineChanged,{...n,enabled:!n.worksheet.hasHiddenGridLines(),color:n.worksheet.getGridLinesColor()})}})),this._initWorkbookEvent(r)}createUniverSheet(r,e){const n=this._injector.get(a.IUniverInstanceService).createUnit(a.UniverInstanceType.UNIVER_SHEET,r,e);return this._injector.createInstance(exports.FWorkbook,n)}createWorkbook(r,e){return this.createUniverSheet(r,e)}getActiveWorkbook(){const r=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);return r?this._injector.createInstance(exports.FWorkbook,r):null}getActiveUniverSheet(){return this.getActiveWorkbook()}getUniverSheet(r){const e=this._univerInstanceService.getUnit(r,a.UniverInstanceType.UNIVER_SHEET);return e?this._injector.createInstance(exports.FWorkbook,e):null}getWorkbook(r){return this.getUniverSheet(r)}getPermission(){return this._injector.createInstance(exports.FPermission)}onUniverSheetCreated(r){const e=this._univerInstanceService.getTypeOfUnitAdded$(a.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{const n=this._injector.createInstance(exports.FWorkbook,t);r(n)});return a.toDisposable(e)}newDefinedName(){return this._injector.createInstance(b)}getActiveSheet(){const r=this.getActiveWorkbook();if(!r)return null;const e=r.getActiveSheet();return e?{workbook:r,worksheet:e}:null}_fireBeforeActiveSheetChange(r,e,t){this.fireEvent(this.Event.BeforeActiveSheetChange,{workbook:r,activeSheet:e,oldActiveSheet:t})}_fireActiveSheetChanged(r,e){this.fireEvent(this.Event.ActiveSheetChanged,{workbook:r,activeSheet:e})}_fireBeforeSheetDelete(r,e){this.fireEvent(this.Event.BeforeSheetDelete,{workbook:r,worksheet:e})}_fireSheetDeleted(r,e){this.fireEvent(this.Event.SheetDeleted,{workbook:r,sheetId:e})}_fireBeforeSheetMove(r,e,t,n){this.fireEvent(this.Event.BeforeSheetMove,{workbook:r,worksheet:e,newIndex:t,oldIndex:n})}_fireSheetMoved(r,e,t){this.fireEvent(this.Event.SheetMoved,{workbook:r,worksheet:e,newIndex:t})}_fireBeforeSheetNameChange(r,e,t,n){this.fireEvent(this.Event.BeforeSheetNameChange,{workbook:r,worksheet:e,newName:t,oldName:n})}_fireSheetNameChanged(r,e,t){this.fireEvent(this.Event.SheetNameChanged,{workbook:r,worksheet:e,newName:t})}_fireBeforeSheetTabColorChange(r,e,t,n){this.fireEvent(this.Event.BeforeSheetTabColorChange,{workbook:r,worksheet:e,newColor:t,oldColor:n})}_fireSheetTabColorChanged(r,e,t){this.fireEvent(this.Event.SheetTabColorChanged,{workbook:r,worksheet:e,newColor:t})}_fireBeforeSheetHideChange(r,e,t){this.fireEvent(this.Event.BeforeSheetHideChange,{workbook:r,worksheet:e,hidden:t})}_fireSheetHideChanged(r,e,t){this.fireEvent(this.Event.SheetHideChanged,{workbook:r,worksheet:e,hidden:t})}}g.FUniver.extend(X);class x{get SheetValueChangeType(){return i.SheetValueChangeType}get SheetSkeletonChangeType(){return i.SheetSkeletonChangeType}}g.FEnum.extend(x);class N{get SheetCreated(){return"SheetCreated"}get BeforeSheetCreate(){return"BeforeSheetCreate"}get WorkbookCreated(){return"WorkbookCreated"}get WorkbookDisposed(){return"WorkbookDisposed"}get GridlineChanged(){return"GridlineChanged"}get BeforeGridlineEnableChange(){return"BeforeGridlineEnableChange"}get BeforeGridlineColorChange(){return"BeforeGridlineColorChange"}get BeforeActiveSheetChange(){return"BeforeActiveSheetChange"}get ActiveSheetChanged(){return"ActiveSheetChanged"}get SheetDeleted(){return"SheetDeleted"}get BeforeSheetDelete(){return"BeforeSheetDelete"}get SheetMoved(){return"SheetMoved"}get BeforeSheetMove(){return"BeforeSheetMove"}get SheetNameChanged(){return"SheetNameChanged"}get BeforeSheetNameChange(){return"BeforeSheetNameChange"}get SheetTabColorChanged(){return"SheetTabColorChanged"}get BeforeSheetTabColorChange(){return"BeforeSheetTabColorChange"}get SheetHideChanged(){return"SheetHideChanged"}get BeforeSheetHideChange(){return"BeforeSheetHideChange"}get SheetValueChanged(){return"SheetValueChanged"}}g.FEventName.extend(N);var Z=Object.getOwnPropertyDescriptor,ee=(h,r,e,t)=>{for(var n=t>1?void 0:t?Z(r,e):r,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=s(n)||n);return n},te=(h,r)=>(e,t)=>r(e,t,h);exports.FSheetHooks=class extends g.FBase{constructor(r){super(),this._injector=r}};exports.FSheetHooks=ee([te(0,a.Inject(a.Injector))],exports.FSheetHooks);exports.FSheetEventName=N;exports.FSheetsEnum=x;
1
+ "use strict";var T=Object.defineProperty;var A=(h,r,e)=>r in h?T(h,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):h[r]=e;var w=(h,r,e)=>A(h,typeof r!="symbol"?r+"":r,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@univerjs/core"),g=require("@univerjs/core/facade"),i=require("@univerjs/sheets"),k=require("@univerjs/engine-formula");var W=Object.getOwnPropertyDescriptor,F=(h,r,e,t)=>{for(var n=t>1?void 0:t?W(r,e):r,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=s(n)||n);return n},_=(h,r)=>(e,t)=>r(e,t,h);function M(h,r,e){const t=e.getDefinedNameMap(h);if(t==null)return r.t("definedName.defaultName")+1;const o=Array.from(Object.values(t)).length+1,s=r.t("definedName.defaultName")+o;if(e.getValueByName(h,s)==null)return s;let d=o+1;for(;;){const c=r.t("definedName.defaultName")+d;if(e.getValueByName(h,c)==null)return c;d++}}class b{constructor(){w(this,"_definedNameParam");this._definedNameParam={id:a.generateRandomId(10),unitId:"",name:"",formulaOrRefString:""}}setName(r){return this._definedNameParam.name=r,this}setFormula(r){return this._definedNameParam.formulaOrRefString=`=${r}`,this}setRef(r){return this._definedNameParam.formulaOrRefString=r,this}setRefByRange(r,e,t,n){return this._definedNameParam.formulaOrRefString=k.serializeRange({startRow:r,endRow:r+(t!=null?t:1)-1,startColumn:e,endColumn:e+(n!=null?n:1)-1}),this}setComment(r){return this._definedNameParam.comment=r,this}setHidden(r){return this._definedNameParam.hidden=r,this}build(){return this._definedNameParam}load(r){return this._definedNameParam=r,this}}let f=class extends g.FBase{constructor(h,r,e,t,n,o,s,d,c,m){super(),this._definedNameParam=h,this._injector=r,this._commandService=e,this._permissionService=t,this._worksheetProtectionRuleModel=n,this._rangeProtectionRuleModel=o,this._worksheetProtectionPointRuleModel=s,this._authzIoService=d,this._localeService=c,this._definedNamesService=m}_apply(){this._definedNameParam.name===""&&(this._definedNameParam.name=M(this._definedNameParam.unitId,this._localeService,this._definedNamesService)),this._commandService.syncExecuteCommand(i.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,r,e,t){this._definedNameParam.formulaOrRefString=k.serializeRange({startRow:h,endRow:h+(e!=null?e:1)-1,startColumn:r,endColumn:r+(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=i.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this._apply()}setHidden(h){this._definedNameParam.hidden=h,this._apply()}delete(){this._commandService.syncExecuteCommand(i.RemoveDefinedNameCommand.id,this._definedNameParam)}getLocalSheetId(){return this._definedNameParam.localSheetId}isWorkbookScope(){return this._definedNameParam.localSheetId===i.SCOPE_WORKBOOK_VALUE_DEFINED_NAME}toBuilder(){const h=this._injector.createInstance(b);return h.load(this._definedNameParam),h}};f=F([_(1,a.Inject(a.Injector)),_(2,a.ICommandService),_(3,a.IPermissionService),_(4,a.Inject(i.WorksheetProtectionRuleModel)),_(5,a.Inject(i.RangeProtectionRuleModel)),_(6,a.Inject(i.WorksheetProtectionPointModel)),_(7,a.Inject(a.IAuthzIoService)),_(8,a.Inject(a.LocaleService)),_(9,k.IDefinedNamesService)],f);var D=Object.getOwnPropertyDescriptor,B=(h,r,e,t)=>{for(var n=t>1?void 0:t?D(r,e):r,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=s(n)||n);return n},C=(h,r)=>(e,t)=>r(e,t,h);exports.FPermission=class extends g.FBase{constructor(e,t,n,o,s,d,c){super();w(this,"permissionPointsDefinition",i.PermissionPointsDefinitions);w(this,"rangeRuleChangedAfterAuth$");w(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,i.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:i.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}});if(this._commandService.syncExecuteCommand(i.AddWorksheetProtectionMutation.id,{unitId:e,subUnitId:t,rule:{permissionId:o,unitType:i.UnitObject.Worksheet,unitId:e,subUnitId:t}}))return o}removeWorksheetPermission(e,t){this._commandService.syncExecuteCommand(i.DeleteWorksheetProtectionMutation.id,{unitId:e,subUnitId:t}),[...i.getAllWorksheetPermissionPoint(),...i.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===i.WorksheetEditPermission||n===i.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 l=this._worksheetProtectionPointRuleModel.getRule(e,t);l?d=l.permissionId:(d=await this._authzIoService.create({objectType:i.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}}),this._commandService.syncExecuteCommand(i.SetWorksheetPermissionPointsMutation.id,{unitId:e,subUnitId:t,rule:{unitId:e,subUnitId:t,permissionId:d}}))}const m=new n(e,t);return this._permissionService.getPermissionPoint(m.id)||this._permissionService.addPermissionPoint(m),this._permissionService.updatePermissionPoint(m.id,o),d}async addRangeBaseProtection(e,t,n){const o=await this._authzIoService.create({objectType:i.UnitObject.SelectRange,selectRangeObject:{collaborators:[],unitID:e,name:"",scope:void 0}}),s=`ruleId_${a.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(l=>l.ranges.some(E=>n.some(v=>a.Rectangle.intersects(v.getRange(),E)))))throw new Error("range protection cannot intersect");if(this._commandService.syncExecuteCommand(i.AddRangeProtectionMutation.id,{unitId:e,subUnitId:t,rules:[{permissionId:o,unitType:i.UnitObject.SelectRange,unitId:e,subUnitId:t,ranges:n.map(l=>l.getRange()),id:s}]}))return{permissionId:o,ruleId:s}}removeRangeProtection(e,t,n){this._commandService.syncExecuteCommand(i.DeleteRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleIds:n})&&this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length===0&&(this._worksheetProtectionPointRuleModel.deleteRule(e,t),[...i.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(m=>m.id!==n).some(m=>m.ranges.some(u=>o.some(l=>a.Rectangle.intersects(l.getRange(),u)))))throw new Error("range protection cannot intersect");this._commandService.syncExecuteCommand(i.SetRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleId:n,rule:{...s,ranges:o.map(m=>m.getRange())}})}}};exports.FPermission=B([C(0,a.Inject(a.Injector)),C(1,a.ICommandService),C(2,a.IPermissionService),C(3,a.Inject(i.WorksheetProtectionRuleModel)),C(4,a.Inject(i.RangeProtectionRuleModel)),C(5,a.Inject(i.WorksheetProtectionPointModel)),C(6,a.Inject(a.IAuthzIoService))],exports.FPermission);function j(h){switch(h){case"left":return a.HorizontalAlign.LEFT;case"center":return a.HorizontalAlign.CENTER;case"normal":return a.HorizontalAlign.RIGHT;default:throw new Error(`Invalid horizontal alignment: ${h}`)}}function O(h){switch(h){case a.HorizontalAlign.LEFT:return"left";case a.HorizontalAlign.CENTER:return"center";case a.HorizontalAlign.RIGHT:return"normal";default:throw new Error(`Invalid horizontal alignment: ${h}`)}}function V(h){switch(h){case"top":return a.VerticalAlign.TOP;case"middle":return a.VerticalAlign.MIDDLE;case"bottom":return a.VerticalAlign.BOTTOM;default:throw new Error(`Invalid vertical alignment: ${h}`)}}function H(h){switch(h){case a.VerticalAlign.TOP:return"top";case a.VerticalAlign.MIDDLE:return"middle";case a.VerticalAlign.BOTTOM:return"bottom";default:throw new Error(`Invalid vertical alignment: ${h}`)}}function R(h){return a.isFormulaString(h)?{f:h,v:null,p:null}:a.isCellV(h)?{v:h,p:null,f:null}:(a.isICellData(h),h)}function P(h,r){const e=new a.ObjectMatrix,{startRow:t,startColumn:n,endRow:o,endColumn:s}=r;if(a.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 a.ObjectMatrix(h).forValue((c,m,u)=>{e.setValue(c,m,R(u))});return e.getMatrix()}function p(h,r){return{startRow:h.startRow,endRow:h.endRow,startColumn:0,endColumn:r.getColumnCount()-1,rangeType:a.RANGE_TYPE.ROW}}function y(h,r){return{startRow:0,endRow:r.getRowCount()-1,startColumn:h.startColumn,endColumn:h.endColumn,rangeType:a.RANGE_TYPE.COLUMN}}var L=Object.getOwnPropertyDescriptor,z=(h,r,e,t)=>{for(var n=t>1?void 0:t?L(r,e):r,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=s(n)||n);return n},U=(h,r)=>(e,t)=>r(e,t,h);exports.FRange=class extends g.FBaseInitialable{constructor(r,e,t,n,o,s){super(n),this._workbook=r,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:r,startRow:e,endColumn:t,endRow:n}=this._range;return this._worksheet.getMergedCellRange(e,r,n,t).some(s=>a.Rectangle.equals(s,this._range))}getCellStyleData(){var t;const r=this.getCellData(),e=this._workbook.getStyles();return r&&e&&(t=e.getStyleByCell(r))!=null?t:null}getCellStyle(){const r=this.getCellStyleData();return r?a.TextStyleValue.create(r):null}getCellStyles(){const r=this.getCellDatas(),e=this._workbook.getStyles();return r.map(t=>t.map(n=>{if(!n)return null;const o=e.getStyleByCell(n);return o?a.TextStyleValue.create(o):null}))}getValue(r){var e,t;return r?this.getValueAndRichTextValue():(t=(e=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:e.v)!=null?t:null}getValues(r){var d,c;if(r)return this.getValueAndRichTextValues();const{startRow:e,endRow:t,startColumn:n,endColumn:o}=this._range,s=[];for(let m=e;m<=t;m++){const u=[];for(let l=n;l<=o;l++)u.push((c=(d=this._worksheet.getCell(m,l))==null?void 0:d.v)!=null?c:null);s.push(u)}return s}getCellData(){var r;return(r=this._worksheet.getCell(this._range.startRow,this._range.startColumn))!=null?r:null}getCellDatas(){return this.getCellDataGrid()}getCellDataGrid(){const{startRow:r,endRow:e,startColumn:t,endColumn:n}=this._range,o=[];for(let s=r;s<=e;s++){const d=[];for(let c=t;c<=n;c++)d.push(this._worksheet.getCellRaw(s,c));o.push(d)}return o}getRichTextValue(){const r=this.getCellData();return r!=null&&r.p?new a.RichTextValue(r.p):null}getRichTextValues(){return this.getCellDataGrid().map(e=>e.map(t=>t!=null&&t.p?new a.RichTextValue(t.p):null))}getValueAndRichTextValue(){const r=this.getCellData();return r!=null&&r.p?new a.RichTextValue(r.p):r==null?void 0:r.v}getValueAndRichTextValues(){return this.getCellDatas().map(e=>e.map(t=>t!=null&&t.p?new a.RichTextValue(t.p):t==null?void 0:t.v))}getFormulas(){const r=[],{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 m=[];for(let u=n;u<=o;u++){const l=this._formulaDataModel.getFormulaStringByCell(c,u,s,d);m.push(l||"")}r.push(m)}return r}getWrap(){return this._worksheet.getRange(this._range).getWrap()===a.BooleanNumber.TRUE}getWrapStrategy(){return this._worksheet.getRange(this._range).getWrapStrategy()}getHorizontalAlignment(){return O(this._worksheet.getRange(this._range).getHorizontalAlignment())}getVerticalAlignment(){return H(this._worksheet.getRange(this._range).getVerticalAlignment())}setCustomMetaData(r){return this.setValue({custom:r})}setCustomMetaDatas(r){return this.setValues(r.map(e=>e.map(t=>({custom:t}))))}getCustomMetaData(){var e;const r=this.getCellData();return(e=r==null?void 0:r.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}))}setBorder(r,e,t){return this._commandService.syncExecuteCommand(i.SetBorderBasicCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range],value:{type:r,style:e,color:t}}),this}setBackgroundColor(r){return this._commandService.syncExecuteCommand(i.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:r}}}),this}setBackground(r){return this.setBackgroundColor(r),this}setValue(r){const e=R(r);if(!e)throw new Error("Invalid value");return this._commandService.syncExecuteCommand(i.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setValueForCell(r){const e=R(r);if(!e)throw new Error("Invalid value");return this._commandService.syncExecuteCommand(i.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:{startColumn:this._range.startColumn,startRow:this._range.startRow,endColumn:this._range.startColumn,endRow:this._range.startRow},value:e}),this}setRichTextValueForCell(r){const e=r instanceof a.RichTextValue?r.getData():r,t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:{startColumn:this._range.startColumn,startRow:this._range.startRow,endColumn:this._range.startColumn,endRow:this._range.startRow},value:{p:e}};return this._commandService.syncExecuteCommand(i.SetRangeValuesCommand.id,t),this}setRichTextValues(r){const e=r.map(o=>o.map(s=>s&&{p:s instanceof a.RichTextValue?s.getData():s})),t=P(e,this._range),n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:t};return this._commandService.syncExecuteCommand(i.SetRangeValuesCommand.id,n),this}setWrap(r){return this._commandService.syncExecuteCommand(i.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:r?a.WrapStrategy.WRAP:a.WrapStrategy.UNSPECIFIED}),this}setWrapStrategy(r){return this._commandService.syncExecuteCommand(i.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:r}),this}setVerticalAlignment(r){return this._commandService.syncExecuteCommand(i.SetVerticalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:V(r)}),this}setHorizontalAlignment(r){return this._commandService.syncExecuteCommand(i.SetHorizontalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:j(r)}),this}setValues(r){const e=P(r,this._range);return this._commandService.syncExecuteCommand(i.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setFontWeight(r){let e;if(r==="bold")e=a.BooleanNumber.TRUE;else if(r==="normal")e=a.BooleanNumber.FALSE;else if(r===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.syncExecuteCommand(i.SetStyleCommand.id,n),this}setFontStyle(r){let e;if(r==="italic")e=a.BooleanNumber.TRUE;else if(r==="normal")e=a.BooleanNumber.FALSE;else if(r===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.syncExecuteCommand(i.SetStyleCommand.id,n),this}setFontLine(r){if(r==="underline")this._setFontUnderline({s:a.BooleanNumber.TRUE});else if(r==="line-through")this._setFontStrikethrough({s:a.BooleanNumber.TRUE});else if(r==="none")this._setFontUnderline({s:a.BooleanNumber.FALSE}),this._setFontStrikethrough({s:a.BooleanNumber.FALSE});else if(r===null)this._setFontUnderline(null),this._setFontStrikethrough(null);else throw new Error("Invalid fontLine");return this}_setFontUnderline(r){const e={type:"ul",value:r},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.syncExecuteCommand(i.SetStyleCommand.id,t)}_setFontStrikethrough(r){const e={type:"st",value:r},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.syncExecuteCommand(i.SetStyleCommand.id,t)}setFontFamily(r){const e={type:"ff",value:r},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.syncExecuteCommand(i.SetStyleCommand.id,t),this}setFontSize(r){const e={type:"fs",value:r},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.syncExecuteCommand(i.SetStyleCommand.id,t),this}setFontColor(r){const t={type:"cl",value:r===null?null:{rgb:r}},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(i.SetStyleCommand.id,n),this}merge(r=!0){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return i.addMergeCellsUtil(this._injector,e,t,[this._range],r),this}mergeAcross(r=!0){const e=i.getAddMergeMutationRangeByType([this._range],a.Dimension.ROWS),t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return i.addMergeCellsUtil(this._injector,t,n,e,r),this}mergeVertically(r=!0){const e=i.getAddMergeMutationRangeByType([this._range],a.Dimension.COLUMNS),t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return i.addMergeCellsUtil(this._injector,t,n,e,r),this}isPartOfMerge(){const{startRow:r,startColumn:e,endRow:t,endColumn:n}=this._range;return this._worksheet.getMergedCellRange(r,e,t,n).length>0}breakApart(){return this._commandService.syncExecuteCommand(i.RemoveWorksheetMergeCommand.id,{ranges:[this._range]}),this}forEach(r){const{startColumn:e,startRow:t,endColumn:n,endRow:o}=this._range;this._worksheet.getMatrixWithMergedCells(t,e,o,n).forValue((s,d,c)=>{r(s,d,c)})}getA1Notation(r){return r?k.serializeRangeWithSheet(this._worksheet.getName(),this._range):k.serializeRange(this._range)}activate(){return this._injector.createInstance(exports.FWorkbook,this._workbook).setActiveRange(this),this}activateAsCurrentCell(){const r=this._worksheet.getMergedCell(this._range.startRow,this._range.startColumn);if(r&&a.Rectangle.equals(r,this._range)||!r&&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(r,e,t){this._commandService.syncExecuteCommand(i.SplitTextToColumnsCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,delimiter:e,customDelimiter:t,treatMultipleDelimitersAsOne:r})}useThemeStyle(r){if(r==null){const e=this.getUsedThemeStyle();e&&this.removeThemeStyle(e)}else this._commandService.syncExecuteCommand(i.SetWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:r})}removeThemeStyle(r){this._commandService.syncExecuteCommand(i.DeleteWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:r})}getUsedThemeStyle(){return this._injector.get(i.SheetRangeThemeService).getAppliedRangeThemeStyle({unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range})}};exports.FRange=z([U(3,a.Inject(a.Injector)),U(4,a.ICommandService),U(5,a.Inject(k.FormulaDataModel))],exports.FRange);var G=Object.getOwnPropertyDescriptor,$=(h,r,e,t)=>{for(var n=t>1?void 0:t?G(r,e):r,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=s(n)||n);return n},Y=(h,r)=>(e,t)=>r(e,t,h);exports.FSelection=class{constructor(r,e,t,n){this._workbook=r,this._worksheet=e,this._selections=t,this._injector=n}getActiveRange(){const r=this._selections.find(e=>!!e.primary);return r?this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,r.range):null}getActiveRangeList(){return this._selections.map(r=>this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,r.range))}getCurrentCell(){const r=this._selections.find(e=>!!e.primary);return r?r.primary:null}getActiveSheet(){const r=this._injector.createInstance(exports.FWorkbook,this._workbook);return this._injector.createInstance(exports.FWorksheet,r,this._workbook,this._worksheet)}updatePrimaryCell(r){const e=this._injector.get(a.ICommandService);let t=[],n=!1;for(const{range:s,style:d}of this._selections)a.Rectangle.contains(s,r.getRange())?(t.push({range:s,primary:i.getPrimaryForRange(r.getRange(),this._worksheet),style:d}),n=!0):t.push({range:s,primary:null,style:d});n||(t=[{range:r.getRange(),primary:i.getPrimaryForRange(r.getRange(),this._worksheet)}]);const o={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),selections:t};return e.syncExecuteCommand(i.SetSelectionsOperation.id,o),new exports.FSelection(this._workbook,this._worksheet,t,this._injector)}getNextDataRange(r){if(!this._selections.find(n=>!!n.primary))return null;const t=i.getNextPrimaryCell(this._selections.concat(),r,this._worksheet);return t?this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,t):null}};exports.FSelection=$([Y(3,a.Inject(a.Injector))],exports.FSelection);var q=Object.getOwnPropertyDescriptor,K=(h,r,e,t)=>{for(var n=t>1?void 0:t?q(r,e):r,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=s(n)||n);return n},I=(h,r)=>(e,t)=>r(e,t,h);exports.FWorksheet=class extends g.FBaseInitialable{constructor(e,t,n,o,s,d,c){super(o);w(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}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(exports.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(i.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(i.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(i.SetRowDataCommand.id,s),this}getRange(e,t,n,o){let s,d;if(typeof e=="object")s=e,d=this._worksheet;else if(typeof e=="string"){const{range:c,sheetName:m}=k.deserializeRangeWithSheet(e),u=m?this._workbook.getSheetBySheetName(m):this._worksheet;if(!u)throw new Error("Range not found");d=u,s={...c,unitId:this._workbook.getUnitId(),sheetId:d.getSheetId(),rangeType:a.RANGE_TYPE.NORMAL,startRow:c.rangeType===a.RANGE_TYPE.COLUMN?0:c.startRow,endRow:c.rangeType===a.RANGE_TYPE.COLUMN?d.getMaxRows()-1:c.endRow,startColumn:c.rangeType===a.RANGE_TYPE.ROW?0:c.startColumn,endColumn:c.rangeType===a.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(exports.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=a.Direction.DOWN,d=e+1,c=e+t,m=0,u=this._worksheet.getColumnCount()-1,l=i.copyRangeStyles(this._worksheet,d,c,m,u,!0,e);return this._commandService.syncExecuteCommand(i.InsertRowByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:m,endColumn:u},cellValue:l}),this}insertRowsBefore(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=a.Direction.UP,d=e,c=e+t-1,m=0,u=this._worksheet.getColumnCount()-1,l=i.copyRangeStyles(this._worksheet,d,c,m,u,!0,e-1);return this._commandService.syncExecuteCommand(i.InsertRowByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:m,endColumn:u},cellValue:l}),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(i.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=p(e.getRange(),this._worksheet),d=s,c={startRow:t,endRow:t,startColumn:s.startColumn,endColumn:s.endColumn};return this._commandService.syncExecuteCommand(i.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=p(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(i.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:a.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(i.SetRowHiddenCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}unhideRow(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=p(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(i.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:a.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(i.SetSpecificRowsVisibleCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}setRowHeight(e,t){return this.setRowHeights(e,1,t)}autoFitRow(e,t=a.BooleanNumber.TRUE){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=[{startRow:e,endRow:e,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(i.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:s[0],value:a.WrapStrategy.WRAP}),this._commandService.syncExecuteCommand(i.SetWorksheetRowIsAutoHeightMutation.id,{unitId:n,subUnitId:o,ranges:s,autoHeightInfo:t}),this}setRowHeights(e,t,n){var u;const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=this._worksheet.getRowManager(),c=[],m=[];for(let l=e;l<e+t;l++){const E=((u=d.getRow(l))==null?void 0:u.ah)||this._worksheet.getConfig().defaultRowHeight,v={startRow:l,endRow:l,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};n<=E?c.push(v):m.push(v)}return m.length>0&&this._commandService.syncExecuteCommand(i.SetRowHeightCommand.id,{unitId:o,subUnitId:s,ranges:m,value:n}),c.length>0&&this._commandService.syncExecuteCommand(i.SetWorksheetRowIsAutoHeightCommand.id,{unitId:o,subUnitId:s,ranges:c}),this}setRowAutoHeight(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(i.SetWorksheetRowIsAutoHeightCommand.id,{unitId:n,subUnitId:o,ranges:s}),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(i.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(i.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=a.Direction.RIGHT,d=0,c=this._worksheet.getRowCount()-1,m=e+1,u=e+t,l=i.copyRangeStyles(this._worksheet,d,c,m,u,!1,e);return this._commandService.syncExecuteCommand(i.InsertColByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:m,endColumn:u},cellValue:l}),this}insertColumnsBefore(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=a.Direction.LEFT,d=0,c=this._worksheet.getRowCount()-1,m=e,u=e+t-1,l=i.copyRangeStyles(this._worksheet,d,c,m,u,!1,e-1);return this._commandService.syncExecuteCommand(i.InsertColByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:m,endColumn:u},cellValue:l}),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(i.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=y(e.getRange(),this._worksheet),d=s,c={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:t,endColumn:t};return this._commandService.syncExecuteCommand(i.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=y(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(i.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:a.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(i.SetColHiddenCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}unhideColumn(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=y(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(i.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:a.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(i.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(i.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(i.SetColDataCommand.id,s),this}getMergeData(){return this._worksheet.getMergeData().map(e=>this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,e))}getMergedRanges(){return this._worksheet.getSnapshot().mergeData.map(t=>this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,t))}getCellMergeData(e,t){const o=this._worksheet.getMergedCell(e,t);if(o)return this._injector.createInstance(exports.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(i.SetFrozenCommand.id,{...e,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}cancelFreeze(){return this._commandService.syncExecuteCommand(i.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(i.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(i.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===a.BooleanNumber.FALSE}setHiddenGridlines(e){return this._commandService.syncExecuteCommand(i.ToggleGridlinesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),showGridlines:e?a.BooleanNumber.FALSE:a.BooleanNumber.TRUE}),this}setGridLinesColor(e){return this._commandService.syncExecuteCommand(i.SetGridlinesColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e}),this}getGridLinesColor(){return this._worksheet.getGridlinesColor()}setTabColor(e){return this._commandService.syncExecuteCommand(i.SetTabColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),value:e}),this}getTabColor(){return this._worksheet.getTabColor()}onCellDataChange(e){return this._injector.get(a.ICommandService).onCommandExecuted(n=>{if(n.id===i.SetRangeValuesMutation.id){const o=n.params;o.unitId===this._workbook.getUnitId()&&o.subUnitId===this._worksheet.getSheetId()&&o.cellValue&&e(new a.ObjectMatrix(o.cellValue))}})}onBeforeCellDataChange(e){return this._injector.get(a.ICommandService).beforeCommandExecuted(n=>{if(n.id===i.SetRangeValuesMutation.id){const o=n.params;o.unitId===this._workbook.getUnitId()&&o.subUnitId===this._worksheet.getSheetId()&&o.cellValue&&e(new a.ObjectMatrix(o.cellValue))}})}hideSheet(){const e=this._injector.get(a.ICommandService);if(this._workbook.getSheets().filter(s=>s.isSheetHidden()!==a.BooleanNumber.TRUE).length<=1)throw new Error("Cannot hide the only visible sheet");return e.syncExecuteCommand(i.SetWorksheetHideCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}showSheet(){return this._injector.get(a.ICommandService).syncExecuteCommand(i.SetWorksheetShowCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}isSheetHidden(){return this._worksheet.isSheetHidden()===a.BooleanNumber.TRUE}setName(e){return this._commandService.syncExecuteCommand(i.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(a.ICommandService),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return o.syncExecuteCommand(i.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(a.ICommandService),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return n.syncExecuteCommand(i.ClearSelectionContentCommand.id,{unitId:e,subUnitId:t,ranges:[o]}),this}clearFormats(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),n=this._injector.get(a.ICommandService),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return n.syncExecuteCommand(i.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 exports.FWorksheet?this._worksheet.getSheetId()===e.getSheetId()&&this._workbook.getUnitId()===e.getWorkbook().getUnitId():!1}insertDefinedName(e,t){const o=this._injector.createInstance(b).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)}};exports.FWorksheet=K([I(3,a.Inject(a.Injector)),I(4,a.Inject(i.SheetsSelectionsService)),I(5,a.Inject(a.ILogService)),I(6,a.ICommandService)],exports.FWorksheet);var J=Object.getOwnPropertyDescriptor,Q=(h,r,e,t)=>{for(var n=t>1?void 0:t?J(r,e):r,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=s(n)||n);return n},S=(h,r)=>(e,t)=>r(e,t,h);exports.FWorkbook=class extends g.FBaseInitialable{constructor(e,t,n,o,s,d,c,m,u,l){super(t);w(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=m,this._localeService=u,this._definedNamesService=l,this.id=this._workbook.getUnitId()}getWorkbook(){return this._workbook}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(exports.FWorksheet,this,this._workbook,e)}getSheets(){return this._workbook.getSheets().map(e=>this._injector.createInstance(exports.FWorksheet,this,this._workbook,e))}create(e,t,n){const o=a.mergeWorksheetSnapshotWithDefault({});o.rowCount=t,o.columnCount=n,o.name=e,o.id=e.toLowerCase().replace(/ /g,"-"),this._commandService.syncExecuteCommand(i.InsertSheetCommand.id,{unitId:this.id,index:this._workbook.getSheets().length,sheet:o}),this._commandService.syncExecuteCommand(i.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(exports.FWorksheet,this,this._workbook,s)}getSheetBySheetId(e){const t=this._workbook.getSheetBySheetId(e);return t?this._injector.createInstance(exports.FWorksheet,this,this._workbook,t):null}getSheetByName(e){const t=this._workbook.getSheetBySheetName(e);return t?this._injector.createInstance(exports.FWorksheet,this,this._workbook,t):null}setActiveSheet(e){return this._commandService.syncExecuteCommand(i.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:typeof e=="string"?e:e.getSheetId()}),typeof e=="string"?this.getSheetBySheetId(e):e}insertSheet(e){e!=null?this._commandService.syncExecuteCommand(i.InsertSheetCommand.id,{sheet:{name:e}}):this._commandService.syncExecuteCommand(i.InsertSheetCommand.id);const t=this.id,n=this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId();this._commandService.syncExecuteCommand(i.SetWorksheetActiveOperation.id,{unitId:t,subUnitId:n});const o=this._workbook.getActiveSheet();if(!o)throw new Error("No active sheet found");return this._injector.createInstance(exports.FWorksheet,this,this._workbook,o)}deleteSheet(e){const t=this.id,n=typeof e=="string"?e:e.getSheetId();return this._commandService.syncExecuteCommand(i.RemoveSheetCommand.id,{unitId:t,subUnitId:n})}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(a.UndoCommand.id),this}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(a.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 a.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(t=>{this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET).getUnitId()===this.id&&(t!=null&&t.length?e(t.map(n=>n.range)):e([]))}))}setEditable(e){const t=new i.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(exports.FWorksheet,this,this._workbook,o));const s={unitId:this.getId(),subUnitId:n,selections:[e].map(d=>({range:d.getRange(),primary:i.getPrimaryForRange(d.getRange(),o),style:null}))};return this._commandService.syncExecuteCommand(i.SetSelectionsOperation.id,s),this}getActiveRange(){const e=this._workbook.getActiveSheet(),n=this._selectionManagerService.getCurrentSelections().find(o=>!!o.primary);return n?this._injector.createInstance(exports.FRange,this._workbook,e,n.range):null}deleteActiveSheet(){const e=this.getActiveSheet();return this.deleteSheet(e)}duplicateSheet(e){return this._commandService.syncExecuteCommand(i.CopySheetCommand.id,{unitId:e.getWorkbook().getUnitId(),subUnitId:e.getSheetId()}),this._injector.createInstance(exports.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(i.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(exports.FPermission)}getDefinedName(e){const t=this._definedNamesService.getValueByName(this.id,e);return t?this._injector.createInstance(f,{...t,unitId:this.id}):null}getDefinedNames(){const e=this._definedNamesService.getDefinedNameMap(this.id);return e?Object.values(e).map(t=>this._injector.createInstance(f,{...t,unitId:this.id})):[]}insertDefinedName(e,t){const o=this._injector.createInstance(b).setName(e).setRef(t).build();return o.localSheetId=i.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(i.SetDefinedNameCommand.id,e)}updateDefinedNameBuilder(e){this._commandService.syncExecuteCommand(i.SetDefinedNameCommand.id,e)}getRegisteredRangeThemes(){return this._injector.get(i.SheetRangeThemeService).getRegisteredRangeThemes()}registerRangeTheme(e){this._commandService.syncExecuteCommand(i.RegisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),rangeThemeStyle:e})}unregisterRangeTheme(e){this._commandService.syncExecuteCommand(i.UnregisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),themeName:e})}createRangeThemeStyle(e,t){return new i.RangeThemeStyle(e,t)}setCustomMetadata(e){return this._workbook.setCustomMetadata(e),this}getCustomMetadata(){return this._workbook.getCustomMetadata()}};exports.FWorkbook=Q([S(1,a.Inject(a.Injector)),S(2,a.Inject(a.IResourceLoaderService)),S(3,a.Inject(i.SheetsSelectionsService)),S(4,a.IUniverInstanceService),S(5,a.ICommandService),S(6,a.IPermissionService),S(7,a.ILogService),S(8,a.Inject(a.LocaleService)),S(9,k.IDefinedNamesService)],exports.FWorkbook);class X extends g.FUniver{getCommandSheetTarget(r){var o;const e=r.params;if(!e)return this.getActiveSheet();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(r,e){const t=this.getUniverSheet(r);if(!t)return;const n=t.getSheetBySheetId(e);if(n)return{workbook:t,worksheet:n}}_initWorkbookEvent(r){const e=r.get(a.IUniverInstanceService);this.registerEventHandler(this.Event.WorkbookDisposed,()=>e.unitDisposed$.subscribe(t=>{t.type===a.UniverInstanceType.UNIVER_SHEET&&this.fireEvent(this.Event.WorkbookDisposed,{unitId:t.getUnitId(),unitType:t.type,snapshot:t.getSnapshot()})})),this.registerEventHandler(this.Event.WorkbookCreated,()=>e.unitAdded$.subscribe(t=>{if(t.type===a.UniverInstanceType.UNIVER_SHEET){const n=t,o=r.createInstance(exports.FWorkbook,n);this.fireEvent(this.Event.WorkbookCreated,{unitId:t.getUnitId(),type:t.type,workbook:o,unit:o})}}))}_initialize(r){const e=r.get(a.ICommandService);this.registerEventHandler(this.Event.BeforeSheetCreate,()=>e.beforeCommandExecuted(t=>{var n;if(t.id===i.InsertSheetCommand.id){const o=t.params,{unitId:s,index:d,sheet:c}=o||{},m=s?this.getUniverSheet(s):(n=this.getActiveWorkbook)==null?void 0:n.call(this);if(!m)return;const u={workbook:m,index:d,sheet:c};if(this.fireEvent(this.Event.BeforeSheetCreate,u),u.cancel)throw new a.CanceledError}})),this.registerEventHandler(this.Event.BeforeActiveSheetChange,()=>e.beforeCommandExecuted(t=>{var n;if(t.id===i.SetWorksheetActiveOperation.id){const{subUnitId:o,unitId:s}=t.params,d=s?this.getUniverSheet(s):(n=this.getActiveWorkbook)==null?void 0:n.call(this);if(!d||!o)return;const c=d.getSheetBySheetId(o),m=d.getActiveSheet();if(!c||!m)return;const u={workbook:d,activeSheet:c,oldActiveSheet:m};if(this.fireEvent(this.Event.BeforeActiveSheetChange,u),u.cancel)throw new a.CanceledError}})),this.registerEventHandler(this.Event.BeforeSheetDelete,()=>e.beforeCommandExecuted(t=>{if(t.id===i.RemoveSheetCommand.id){const n=this.getCommandSheetTarget(t);if(!n)return;const{workbook:o,worksheet:s}=n,d={workbook:o,worksheet:s};if(this.fireEvent(this.Event.BeforeSheetDelete,d),d.cancel)throw new a.CanceledError}})),this.registerEventHandler(this.Event.BeforeSheetMove,()=>e.beforeCommandExecuted(t=>{if(t.id===i.SetWorksheetOrderMutation.id){const{fromOrder:n,toOrder:o}=t.params,s=this.getCommandSheetTarget(t);if(!s)return;const d={workbook:s.workbook,worksheet:s.worksheet,newIndex:o,oldIndex:n};if(this.fireEvent(this.Event.BeforeSheetMove,d),d.cancel)throw new a.CanceledError}})),this.registerEventHandler(this.Event.BeforeSheetNameChange,()=>e.beforeCommandExecuted(t=>{if(t.id===i.SetWorksheetNameCommand.id){const{name:n}=t.params,o=this.getCommandSheetTarget(t);if(!o)return;const s={workbook:o.workbook,worksheet:o.worksheet,newName:n,oldName:o.worksheet.getSheetName()};if(this.fireEvent(this.Event.BeforeSheetNameChange,s),s.cancel)throw new a.CanceledError}})),this.registerEventHandler(this.Event.BeforeSheetTabColorChange,()=>e.beforeCommandExecuted(t=>{if(t.id===i.SetTabColorMutation.id){const{color:n}=t.params,o=this.getCommandSheetTarget(t);if(!o)return;const s={workbook:o.workbook,worksheet:o.worksheet,newColor:n,oldColor:o.worksheet.getTabColor()};if(this.fireEvent(this.Event.BeforeSheetTabColorChange,s),s.cancel)throw new a.CanceledError}})),this.registerEventHandler(this.Event.BeforeSheetHideChange,()=>e.beforeCommandExecuted(t=>{if(t.id===i.SetWorksheetHideMutation.id){const{hidden:n}=t.params,o=this.getCommandSheetTarget(t);if(!o)return;const s={workbook:o.workbook,worksheet:o.worksheet,hidden:!!n};if(this.fireEvent(this.Event.BeforeSheetHideChange,s),s.cancel)throw new a.CanceledError}})),this.registerEventHandler(this.Event.BeforeGridlineColorChange,()=>e.beforeCommandExecuted(t=>{var n;if(t.id===i.SetGridlinesColorCommand.id){const o=this.getCommandSheetTarget(t);if(!o)return;const s={...o,color:(n=t.params)==null?void 0:n.color};if(this.fireEvent(this.Event.BeforeGridlineColorChange,s),s.cancel)throw new a.CanceledError}})),this.registerEventHandler(this.Event.BeforeGridlineEnableChange,()=>e.beforeCommandExecuted(t=>{var n;if(t.id===i.ToggleGridlinesCommand.id){const o=this.getCommandSheetTarget(t);if(!o)return;const s={...o,enabled:!!((n=t.params)!=null&&n.showGridlines)};if(this.fireEvent(this.Event.BeforeGridlineEnableChange,s),s.cancel)throw new a.CanceledError}})),this.registerEventHandler(this.Event.SheetValueChanged,()=>e.onCommandExecuted(t=>{if(i.COMMAND_LISTENER_VALUE_CHANGE.indexOf(t.id)>-1){if(!this.getActiveSheet())return;const o=i.getValueChangedEffectedRange(t).map(s=>{var d,c;return(c=(d=this.getWorkbook(s.unitId))==null?void 0:d.getSheetBySheetId(s.subUnitId))==null?void 0:c.getRange(s.range)}).filter(Boolean);if(!o.length)return;this.fireEvent(this.Event.SheetValueChanged,{payload:t,effectedRanges:o})}})),this.registerEventHandler(this.Event.SheetCreated,()=>e.onCommandExecuted(t=>{var n;if(t.id===i.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 m={workbook:d,worksheet:c};this.fireEvent(this.Event.SheetCreated,m)}})),this.registerEventHandler(this.Event.ActiveSheetChanged,()=>e.onCommandExecuted(t=>{if(t.id===i.SetWorksheetActiveOperation.id){const n=this.getActiveSheet();if(!n)return;const{workbook:o,worksheet:s}=n;this._fireActiveSheetChanged(o,s)}})),this.registerEventHandler(this.Event.SheetDeleted,()=>e.onCommandExecuted(t=>{var n;if(t.id===i.RemoveSheetCommand.id){const{subUnitId:o,unitId:s}=t.params,d=s?this.getUniverSheet(s):(n=this.getActiveWorkbook)==null?void 0:n.call(this);if(!d||!o)return;this._fireSheetDeleted(d,o)}})),this.registerEventHandler(this.Event.SheetMoved,()=>e.onCommandExecuted(t=>{if(t.id===i.SetWorksheetOrderMutation.id){const{toOrder:n}=t.params,o=this.getCommandSheetTarget(t);if(!o)return;this._fireSheetMoved(o.workbook,o.worksheet,n)}})),this.registerEventHandler(this.Event.SheetNameChanged,()=>e.onCommandExecuted(t=>{if(t.id===i.SetWorksheetNameCommand.id){const{name:n}=t.params,o=this.getCommandSheetTarget(t);if(!o)return;this._fireSheetNameChanged(o.workbook,o.worksheet,n)}})),this.registerEventHandler(this.Event.SheetTabColorChanged,()=>e.onCommandExecuted(t=>{if(t.id===i.SetTabColorMutation.id){const{color:n}=t.params,o=this.getCommandSheetTarget(t);if(!o)return;this._fireSheetTabColorChanged(o.workbook,o.worksheet,n)}})),this.registerEventHandler(this.Event.SheetHideChanged,()=>e.onCommandExecuted(t=>{if(t.id===i.SetWorksheetHideMutation.id){const{hidden:n}=t.params,o=this.getCommandSheetTarget(t);if(!o)return;this._fireSheetHideChanged(o.workbook,o.worksheet,!!n)}})),this.registerEventHandler(this.Event.GridlineChanged,()=>e.onCommandExecuted(t=>{if(t.id===i.SetGridlinesColorCommand.id||t.id===i.ToggleGridlinesCommand.id){const n=this.getCommandSheetTarget(t);if(!n)return;this.fireEvent(this.Event.GridlineChanged,{...n,enabled:!n.worksheet.hasHiddenGridLines(),color:n.worksheet.getGridLinesColor()})}})),this._initWorkbookEvent(r)}createUniverSheet(r,e){const n=this._injector.get(a.IUniverInstanceService).createUnit(a.UniverInstanceType.UNIVER_SHEET,r,e);return this._injector.createInstance(exports.FWorkbook,n)}createWorkbook(r,e){return this.createUniverSheet(r,e)}getActiveWorkbook(){const r=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET);return r?this._injector.createInstance(exports.FWorkbook,r):null}getActiveUniverSheet(){return this.getActiveWorkbook()}getUniverSheet(r){const e=this._univerInstanceService.getUnit(r,a.UniverInstanceType.UNIVER_SHEET);return e?this._injector.createInstance(exports.FWorkbook,e):null}getWorkbook(r){return this.getUniverSheet(r)}getPermission(){return this._injector.createInstance(exports.FPermission)}onUniverSheetCreated(r){const e=this._univerInstanceService.getTypeOfUnitAdded$(a.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{const n=this._injector.createInstance(exports.FWorkbook,t);r(n)});return a.toDisposable(e)}newDefinedName(){return this._injector.createInstance(b)}getActiveSheet(){const r=this.getActiveWorkbook();if(!r)return null;const e=r.getActiveSheet();return e?{workbook:r,worksheet:e}:null}_fireActiveSheetChanged(r,e){this.fireEvent(this.Event.ActiveSheetChanged,{workbook:r,activeSheet:e})}_fireSheetDeleted(r,e){this.fireEvent(this.Event.SheetDeleted,{workbook:r,sheetId:e})}_fireSheetMoved(r,e,t){this.fireEvent(this.Event.SheetMoved,{workbook:r,worksheet:e,newIndex:t})}_fireSheetNameChanged(r,e,t){this.fireEvent(this.Event.SheetNameChanged,{workbook:r,worksheet:e,newName:t})}_fireSheetTabColorChanged(r,e,t){this.fireEvent(this.Event.SheetTabColorChanged,{workbook:r,worksheet:e,newColor:t})}_fireSheetHideChanged(r,e,t){this.fireEvent(this.Event.SheetHideChanged,{workbook:r,worksheet:e,hidden:t})}}g.FUniver.extend(X);class x{get SheetValueChangeType(){return i.SheetValueChangeType}get SheetSkeletonChangeType(){return i.SheetSkeletonChangeType}get SplitDelimiterType(){return i.SplitDelimiterEnum}}g.FEnum.extend(x);class N{get SheetCreated(){return"SheetCreated"}get BeforeSheetCreate(){return"BeforeSheetCreate"}get WorkbookCreated(){return"WorkbookCreated"}get WorkbookDisposed(){return"WorkbookDisposed"}get GridlineChanged(){return"GridlineChanged"}get BeforeGridlineEnableChange(){return"BeforeGridlineEnableChange"}get BeforeGridlineColorChange(){return"BeforeGridlineColorChange"}get BeforeActiveSheetChange(){return"BeforeActiveSheetChange"}get ActiveSheetChanged(){return"ActiveSheetChanged"}get SheetDeleted(){return"SheetDeleted"}get BeforeSheetDelete(){return"BeforeSheetDelete"}get SheetMoved(){return"SheetMoved"}get BeforeSheetMove(){return"BeforeSheetMove"}get SheetNameChanged(){return"SheetNameChanged"}get BeforeSheetNameChange(){return"BeforeSheetNameChange"}get SheetTabColorChanged(){return"SheetTabColorChanged"}get BeforeSheetTabColorChange(){return"BeforeSheetTabColorChange"}get SheetHideChanged(){return"SheetHideChanged"}get BeforeSheetHideChange(){return"BeforeSheetHideChange"}get SheetValueChanged(){return"SheetValueChanged"}}g.FEventName.extend(N);var Z=Object.getOwnPropertyDescriptor,ee=(h,r,e,t)=>{for(var n=t>1?void 0:t?Z(r,e):r,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=s(n)||n);return n},te=(h,r)=>(e,t)=>r(e,t,h);exports.FSheetHooks=class extends g.FBase{constructor(r){super(),this._injector=r}};exports.FSheetHooks=ee([te(0,a.Inject(a.Injector))],exports.FSheetHooks);exports.FSheetEventName=N;exports.FSheetsEnum=x;