UNPKG

@univerjs/sheets

Version:

UniverSheet normal base-sheets

3 lines • 365 kB
"use strict";var Fa=Object.defineProperty;var Ha=(o,n,e)=>n in o?Fa(o,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[n]=e;var S=(o,n,e)=>Ha(o,typeof n!="symbol"?n+"":n,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("@univerjs/core"),O=require("rxjs"),J=require("@univerjs/engine-formula"),Ft=require("rxjs/operators"),Ba=require("@univerjs/rpc");function ja(o,n,e){var r,a,c;if(n.t)return n.t;if(n.v===null)return null;const t=o.getStyleByCell(n),s=o.getStyleByCell(e);if(e.t===i.CellValueType.FORCE_STRING){if(!i.isTextFormat((r=s==null?void 0:s.n)==null?void 0:r.pattern)&&n.v!==void 0){if(i.isRealNum(n.v))return i.CellValueType.NUMBER;if(i.isBooleanString(`${n.v}`))return i.CellValueType.BOOLEAN}return i.CellValueType.FORCE_STRING}return Ga(t)?i.isTextFormat((a=t==null?void 0:t.n)==null?void 0:a.pattern)?i.CellValueType.STRING:Ws(n,e):i.isTextFormat((c=s==null?void 0:s.n)==null?void 0:c.pattern)?i.CellValueType.STRING:Ws(n,e)}function Ws(o,n){return o.v!==void 0?Co(o.v,o.t):Co(n.v,n.t)}function Ga(o){var n;return!!((n=o==null?void 0:o.n)!=null&&n.pattern)}function Co(o,n){return o===null?null:typeof o=="string"?i.isRealNum(o)?(+o==0||+o==1)&&n===i.CellValueType.BOOLEAN?i.CellValueType.BOOLEAN:n!==i.CellValueType.STRING&&n!==i.CellValueType.FORCE_STRING&&i.willLoseNumericPrecision(o)?i.CellValueType.FORCE_STRING:i.CellValueType.NUMBER:i.isBooleanString(o)?i.CellValueType.BOOLEAN:i.CellValueType.STRING:typeof o=="number"?(o===0||o===1)&&n===i.CellValueType.BOOLEAN?i.CellValueType.BOOLEAN:i.CellValueType.NUMBER:typeof o=="boolean"?i.CellValueType.BOOLEAN:i.CellValueType.FORCE_STRING}function _o(o,n){const{unitId:e}=n,t=e?o.getUnit(e,i.UniverInstanceType.UNIVER_SHEET):o.getCurrentUnitOfType(i.UniverInstanceType.UNIVER_SHEET);return t?{workbook:t,unitId:t.getUnitId()}:null}function E(o,n={}){const{unitId:e,subUnitId:t}=n,s=e?o.getUnit(e,i.UniverInstanceType.UNIVER_SHEET):o.getCurrentUnitOfType(i.UniverInstanceType.UNIVER_SHEET);if(!s)return null;const r=t?s.getSheetBySheetId(t):s.getActiveSheet(!0);return r?{worksheet:r,workbook:s,unitId:s.getUnitId(),subUnitId:r.getSheetId()}:null}function ee(o,n){const{unitId:e,subUnitId:t}=n,s=o.getUnit(e,i.UniverInstanceType.UNIVER_SHEET);if(!s)return null;const r=s.getSheetBySheetId(t);return r?{worksheet:r,workbook:s}:null}const ge=(o,n)=>{if(!ee(o.get(i.IUniverInstanceService),n))throw new Error("Workbook or worksheet is null error!");return{unitId:n.unitId,subUnitId:n.subUnitId,ranges:i.Tools.deepClone(n.ranges)}},G={id:"sheet.mutation.add-worksheet-merge",type:i.CommandType.MUTATION,handler:(o,n)=>{const e=ee(o.get(i.IUniverInstanceService),n);if(!e)throw new Error("Workbook or worksheet is null error!");const{worksheet:t}=e,r=t.getConfig().mergeData,a=n.ranges;for(let c=0;c<a.length;c++)r.push(a[c]);return t.getSpanModel().rebuild(r),!0}},za=i.createInterceptorKey("CELL_CONTENT"),qa=i.createInterceptorKey("ROW_FILTERED"),We={CELL_CONTENT:za,ROW_FILTERED:qa};var rr=(o=>(o[o.DATA_VALIDATION=9]="DATA_VALIDATION",o[o.NUMFMT=10]="NUMFMT",o[o.CELL_IMAGE=11]="CELL_IMAGE",o))(rr||{});const ir="sheet.interceptor.range-theme-id",$s="sheet.interceptor.ignore-range-theme";var Ya=Object.getOwnPropertyDescriptor,Ka=(o,n,e,t)=>{for(var s=t>1?void 0:t?Ya(n,e):n,r=o.length-1,a;r>=0;r--)(a=o[r])&&(s=a(s)||s);return s},Ja=(o,n)=>(e,t)=>n(e,t,o);const So=i.createInterceptorKey("BEFORE_CELL_EDIT"),vn=i.createInterceptorKey("AFTER_CELL_EDIT"),In=i.createInterceptorKey("VALIDATE_CELL");exports.SheetInterceptorService=class extends i.Disposable{constructor(e){super();S(this,"_interceptorsByName",new Map);S(this,"_commandInterceptors",[]);S(this,"_rangeInterceptors",[]);S(this,"_autoHeightInterceptors",[]);S(this,"_beforeCommandInterceptor",[]);S(this,"_afterCommandInterceptors",[]);S(this,"_workbookDisposables",new Map);S(this,"_worksheetDisposables",new Map);S(this,"_interceptorsDirty",!1);S(this,"_composedInterceptorByKey",new Map);S(this,"writeCellInterceptor",new i.InterceptorManager({BEFORE_CELL_EDIT:So,AFTER_CELL_EDIT:vn,VALIDATE_CELL:In}));this._univerInstanceService=e,this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(i.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{this._interceptWorkbook(t)})),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(i.UniverInstanceType.UNIVER_SHEET).subscribe(t=>this._disposeWorkbookInterceptor(t))),this.intercept(We.CELL_CONTENT,{priority:-1,effect:i.InterceptorEffectEnum.Style|i.InterceptorEffectEnum.Value,handler:t=>t}),this.disposeWithMe(this.writeCellInterceptor.intercept(vn,{priority:-1,handler:t=>t})),this.disposeWithMe(this.writeCellInterceptor.intercept(So,{priority:-1,handler:t=>t})),this.disposeWithMe(this.writeCellInterceptor.intercept(In,{priority:-1,handler:t=>t}))}dispose(){super.dispose(),this._workbookDisposables.forEach(e=>e.dispose()),this._workbookDisposables.clear(),this._worksheetDisposables.forEach(e=>e.dispose()),this._worksheetDisposables.clear(),this._interceptorsByName.clear()}interceptCommand(e){if(this._commandInterceptors.includes(e))throw new Error("[SheetInterceptorService]: Interceptor already exists!");return this._commandInterceptors.push(e),this._commandInterceptors.sort((t,s)=>{var r,a;return((r=s.priority)!=null?r:0)-((a=t.priority)!=null?a:0)}),this.disposeWithMe(i.toDisposable(()=>i.remove(this._commandInterceptors,e)))}onCommandExecute(e){const t=this._commandInterceptors.map(s=>s.getMutations(e));return{preUndos:t.map(s=>{var r;return(r=s.preUndos)!=null?r:[]}).flat(),undos:t.map(s=>s.undos).flat(),preRedos:t.map(s=>{var r;return(r=s.preRedos)!=null?r:[]}).flat(),redos:t.map(s=>s.redos).flat()}}interceptAfterCommand(e){if(this._afterCommandInterceptors.includes(e))throw new Error("[SheetInterceptorService]: Interceptor already exists!");return this._afterCommandInterceptors.push(e),this._afterCommandInterceptors.sort((t,s)=>{var r,a;return((r=s.priority)!=null?r:0)-((a=t.priority)!=null?a:0)}),this.disposeWithMe(i.toDisposable(()=>i.remove(this._afterCommandInterceptors,e)))}afterCommandExecute(e){const t=this._afterCommandInterceptors.map(s=>s.getMutations(e));return{undos:t.map(s=>s.undos).flat(),redos:t.map(s=>s.redos).flat()}}interceptAutoHeight(e){if(this._autoHeightInterceptors.includes(e))throw new Error("[SheetInterceptorService]: Interceptor already exists!");return this._autoHeightInterceptors.push(e),this._autoHeightInterceptors.sort((t,s)=>{var r,a;return((r=s.priority)!=null?r:0)-((a=t.priority)!=null?a:0)}),this.disposeWithMe(i.toDisposable(()=>i.remove(this._autoHeightInterceptors,e)))}generateMutationsOfAutoHeight(e){const t=this._autoHeightInterceptors.map(s=>s.getMutations(e));return{preUndos:t.map(s=>{var r;return(r=s.preUndos)!=null?r:[]}).flat(),undos:t.map(s=>s.undos).flat(),preRedos:t.map(s=>{var r;return(r=s.preRedos)!=null?r:[]}).flat(),redos:t.map(s=>s.redos).flat()}}interceptBeforeCommand(e){if(this._beforeCommandInterceptor.includes(e))throw new Error("[SheetInterceptorService]: Interceptor already exists!");return this._beforeCommandInterceptor.push(e),this._beforeCommandInterceptor.sort((t,s)=>{var r,a;return((r=s.priority)!=null?r:0)-((a=t.priority)!=null?a:0)}),this.disposeWithMe(i.toDisposable(()=>i.remove(this._beforeCommandInterceptor,e)))}async beforeCommandExecute(e){return(await Promise.all(this._beforeCommandInterceptor.map(s=>s.performCheck(e)))).every(s=>s)}interceptRanges(e){if(this._rangeInterceptors.includes(e))throw new Error("[SheetInterceptorService]: Interceptor already exists!");return this._rangeInterceptors.push(e),this._rangeInterceptors.sort((t,s)=>{var r,a;return((r=s.priority)!=null?r:0)-((a=t.priority)!=null?a:0)}),this.disposeWithMe(i.toDisposable(()=>i.remove(this._rangeInterceptors,e)))}generateMutationsByRanges(e){const t=this._rangeInterceptors.map(s=>s.getMutations(e));return{preUndos:t.map(s=>{var r;return(r=s.preUndos)!=null?r:[]}).flat(),undos:t.map(s=>s.undos).flat(),preRedos:t.map(s=>{var r;return(r=s.preRedos)!=null?r:[]}).flat(),redos:t.map(s=>s.redos).flat()}}onWriteCell(e,t,s,r,a){const c={subUnitId:t.getSheetId(),unitId:e.getUnitId(),workbook:e,worksheet:t,row:s,col:r,origin:i.Tools.deepClone(a)};return this.writeCellInterceptor.fetchThroughInterceptors(vn)(a,c)}onValidateCell(e,t,s,r){const a={subUnitId:t.getSheetId(),unitId:e.getUnitId(),workbook:e,worksheet:t,row:s,col:r};return this.writeCellInterceptor.fetchThroughInterceptors(In)(Promise.resolve(!0),a)}intercept(e,t){const s=e;this._interceptorsByName.has(s)||this._interceptorsByName.set(s,[]);const r=this._interceptorsByName.get(s);r.push(t);const a=r.sort((c,l)=>{var u,d;return((u=l.priority)!=null?u:0)-((d=c.priority)!=null?d:0)});if(this._interceptorsDirty=!0,s===We.CELL_CONTENT){const c=i.InterceptorEffectEnum.Style|i.InterceptorEffectEnum.Value;this._interceptorsByName.set(`${s}-${c}`,a);const l=i.InterceptorEffectEnum.Style|i.InterceptorEffectEnum.Value;return this._interceptorsByName.set(`${s}-${i.InterceptorEffectEnum.Style}`,a.filter(u=>((u.effect||l)&i.InterceptorEffectEnum.Style)>0)),this._interceptorsByName.set(`${s}-${i.InterceptorEffectEnum.Value}`,a.filter(u=>((u.effect||l)&i.InterceptorEffectEnum.Value)>0)),this.disposeWithMe(i.toDisposable(()=>{i.remove(this._interceptorsByName.get(s),t),i.remove(this._interceptorsByName.get(`${s}-${c}`),t),i.remove(this._interceptorsByName.get(`${s}-${i.InterceptorEffectEnum.Style}`),t),i.remove(this._interceptorsByName.get(`${s}-${i.InterceptorEffectEnum.Value}`),t)}))}else return this._interceptorsByName.set(s,a),this.disposeWithMe(i.toDisposable(()=>i.remove(this._interceptorsByName.get(s),t)))}fetchThroughInterceptors(e,t,s,r){const a=t===void 0?e:`${e}-${t}`,c=s!=null?s:a;let l=this._composedInterceptorByKey.get(c);if(!l||!this._interceptorsDirty){let u=this._interceptorsByName.get(a);u&&r&&(u=u.filter(r)),l=i.composeInterceptors(u||[]),this._composedInterceptorByKey.set(c,l)}return l}_interceptWorkbook(e){const t=new i.DisposableCollection,s=e.getUnitId(),r=this,a=c=>{const l=c.getSheetId();c.__interceptViewModel(u=>{const d=new i.DisposableCollection;r._worksheetDisposables.set(Vs(s,c),d),d.add(u.registerCellContentInterceptor({getCell(h,m,g,f,R){const C=c.getCellRaw(h,m);return r.fetchThroughInterceptors(We.CELL_CONTENT,g,f,R)(C,{unitId:s,subUnitId:l,row:h,col:m,worksheet:c,workbook:e,rawData:C})}})),d.add(u.registerRowFilteredInterceptor({getRowFiltered(h){return!!r.fetchThroughInterceptors(We.ROW_FILTERED)(!1,{unitId:s,subUnitId:l,row:h,workbook:e,worksheet:c})}}))})};e.getSheets().forEach(c=>a(c)),t.add(e.sheetCreated$.subscribe(c=>a(c))),t.add(i.toDisposable(()=>e.getSheets().forEach(c=>this._disposeSheetInterceptor(s,c)))),t.add(e.sheetDisposed$.subscribe(c=>this._disposeSheetInterceptor(s,c))),this._workbookDisposables.set(s,t)}_disposeWorkbookInterceptor(e){const t=e.getUnitId(),s=this._workbookDisposables.get(t);s&&(s.dispose(),this._workbookDisposables.delete(t))}_disposeSheetInterceptor(e,t){const s=Vs(e,t),r=this._worksheetDisposables.get(s);r&&(r.dispose(),this._worksheetDisposables.delete(s))}};exports.SheetInterceptorService=Ka([Ja(0,i.IUniverInstanceService)],exports.SheetInterceptorService);function Vs(o,n){return`${o}|${n.getSheetId()}`}const te=o=>{const n={};return o.bg&&(n.bg={...o.bg}),o.ol&&(n.ol={...o.ol}),o.bd&&(n.bd={...o.bd}),o.cl&&(n.cl={...o.cl}),o.ht&&(n.ht=o.ht),o.vt&&(n.vt=o.vt),o.bl!==void 0&&(n.bl=o.bl),n};function Za(o){const n={};if(o.length===1)return o[0];for(const e of o)e.bg&&(n.bg=e.bg),e.ol&&(n.ol=e.ol),e.bd&&(n.bd={...n.bd,...e.bd}),e.cl&&(n.cl=e.cl),e.ht&&(n.ht=e.ht),e.vt&&(n.vt=e.vt),e.bl!==void 0&&(n.bl=e.bl);return n}const X={wholeStyle:1,headerRowStyle:2,headerColumnStyle:4,firstRowStyle:8,secondRowStyle:16,lastRowStyle:32,firstColumnStyle:128,secondColumnStyle:256,lastColumnStyle:512};class Fe{constructor(n,e){S(this,"_name");S(this,"wholeStyle",null);S(this,"headerRowStyle",null);S(this,"headerColumnStyle",null);S(this,"firstRowStyle",null);S(this,"secondRowStyle",null);S(this,"lastRowStyle",null);S(this,"firstColumnStyle",null);S(this,"secondColumnStyle",null);S(this,"lastColumnStyle",null);S(this,"_mergeCacheMap",new Map);e&&this.fromJson({...e,name:n}),this._name=n}getName(){return this._name}getWholeStyle(){return this.wholeStyle}setWholeStyle(n){this.wholeStyle=n,this._resetStyleCache()}getFirstRowStyle(){return this.firstRowStyle}setFirstRowStyle(n){this.firstRowStyle=n,this._resetStyleCache()}getSecondRowStyle(){return this.secondRowStyle}setSecondRowStyle(n){this.secondRowStyle=n,this._resetStyleCache()}getLastRowStyle(){return this.lastRowStyle}setLastRowStyle(n){this.lastRowStyle=n,this._resetStyleCache()}getFirstColumnStyle(){return this.firstColumnStyle}setFirstColumnStyle(n){this.firstColumnStyle=n,this._resetStyleCache()}getSecondColumnStyle(){return this.secondColumnStyle}setSecondColumnStyle(n){this.secondColumnStyle=n,this._resetStyleCache()}getLastColumnStyle(){return this.lastColumnStyle}setLastColumnStyle(n){this.lastColumnStyle=n,this._resetStyleCache()}getHeaderRowStyle(){return this.headerRowStyle}setHeaderRowStyle(n){this.headerRowStyle=n,this._resetStyleCache()}getHeaderColumnStyle(){return this.headerColumnStyle}setHeaderColumnStyle(n){this.headerColumnStyle=n,this._resetStyleCache()}getStyle(n,e,t,s,r){let a=0;return t&&(a=a|X.lastRowStyle),s&&(a=a|X.lastColumnStyle),n>=0&&e>=0&&(a=a|X.wholeStyle),n%2===1&&(a=a|(r?X.secondRowStyle:X.firstRowStyle)),n%2===0&&(a=a|(r?X.firstRowStyle:X.secondRowStyle)),n===0&&(a=a|X.headerRowStyle),e===0&&(a=a|X.headerColumnStyle),e%2===1&&(a=a|X.firstColumnStyle),e%2===0&&(a=a|X.secondColumnStyle),a===0?null:this._getMergeStyle(a)}_getMergeStyle(n){let e=this._mergeCacheMap.get(n);return e||(e=this._mergeStyle(n),this._mergeCacheMap.set(n,e)),e}_mergeStyle(n){const e=[];return this.wholeStyle&&n&X.wholeStyle&&e.push(this.wholeStyle),this.firstColumnStyle&&n&X.firstColumnStyle&&e.push(this.firstColumnStyle),this.secondColumnStyle&&n&X.secondColumnStyle&&e.push(this.secondColumnStyle),this.firstRowStyle&&n&X.firstRowStyle&&e.push(this.firstRowStyle),this.secondRowStyle&&n&X.secondRowStyle&&e.push(this.secondRowStyle),this.headerColumnStyle&&n&X.headerColumnStyle&&e.push(this.headerColumnStyle),this.lastColumnStyle&&n&X.lastColumnStyle&&e.push(this.lastColumnStyle),this.headerRowStyle&&n&X.headerRowStyle&&e.push(this.headerRowStyle),this.lastRowStyle&&n&X.lastRowStyle&&e.push(this.lastRowStyle),Za(e)}_resetStyleCache(){this._mergeCacheMap.clear()}toJson(){const n={name:this._name};return this.wholeStyle&&(n.wholeStyle=te(this.wholeStyle)),this.headerRowStyle&&(n.headerRowStyle=te(this.headerRowStyle)),this.headerColumnStyle&&(n.headerColumnStyle=te(this.headerColumnStyle)),this.firstRowStyle&&(n.firstRowStyle=te(this.firstRowStyle)),this.secondRowStyle&&(n.secondRowStyle=te(this.secondRowStyle)),this.lastRowStyle&&(n.lastRowStyle=te(this.lastRowStyle)),this.firstColumnStyle&&(n.firstColumnStyle=te(this.firstColumnStyle)),this.secondColumnStyle&&(n.secondColumnStyle=te(this.secondColumnStyle)),this.lastColumnStyle&&(n.lastColumnStyle=te(this.lastColumnStyle)),n}fromJson(n){this._name=n.name,n.wholeStyle&&(this.wholeStyle=te(n.wholeStyle)),n.headerRowStyle&&(this.headerRowStyle=te(n.headerRowStyle)),n.headerColumnStyle&&(this.headerColumnStyle=te(n.headerColumnStyle)),n.firstRowStyle&&(this.firstRowStyle=te(n.firstRowStyle)),n.secondRowStyle&&(this.secondRowStyle=te(n.secondRowStyle)),n.lastRowStyle&&(this.lastRowStyle=te(n.lastRowStyle)),n.firstColumnStyle&&(this.firstColumnStyle=te(n.firstColumnStyle)),n.secondColumnStyle&&(this.secondColumnStyle=te(n.secondColumnStyle)),n.lastColumnStyle&&(this.lastColumnStyle=te(n.lastColumnStyle))}dispose(){this._mergeCacheMap.clear()}}const Xa=(o,n,e)=>new Fe(`light-${o}`,{headerRowStyle:{bg:{rgb:n}},firstColumnStyle:{bg:{rgb:"rgb(255, 255, 255)"}},secondColumnStyle:{bg:{rgb:e}},lastRowStyle:{bg:{rgb:n}}}),Qa=(o,n,e)=>new Fe(`middle-${o}`,{headerRowStyle:{bg:{rgb:n}},headerColumnStyle:{bg:{rgb:e}},secondRowStyle:{bg:{rgb:e}},lastRowStyle:{bg:{rgb:n}},lastColumnStyle:{bg:{rgb:e}}}),ec=(o,n,e,t)=>new Fe(`dark-${o}`,{headerRowStyle:{bg:{rgb:n},cl:{rgb:"rgb(255, 255, 255)"},ht:i.HorizontalAlign.CENTER,bl:i.BooleanNumber.TRUE},firstRowStyle:{bg:{rgb:e}},secondRowStyle:{bg:{rgb:t}},lastRowStyle:{bg:{rgb:n}}}),tc=[{baseName:"blue",header:"rgb(164, 202, 254)",color:"rgb(225, 239, 254)"},{baseName:"grey",header:"rgb(205, 208, 216)",color:"rgb(238, 239, 241)"},{baseName:"red",header:"rgb(248, 180, 180)",color:"rgb(253, 232, 232)"},{baseName:"orange",header:"rgb(253, 186, 140)",color:"rgb(254, 236, 220)"},{baseName:"yellow",header:"rgb(250, 200, 21)",color:"rgb(255, 244, 185)"},{baseName:"green",header:"rgb(132, 225, 188)",color:"rgb(222, 247, 236)"},{baseName:"azure",header:"rgb(126, 220, 226)",color:"rgb(213, 245, 246)"},{baseName:"indigo",header:"rgb(186, 198, 248)",color:"rgb(233, 237, 255)"},{baseName:"purple",header:"rgb(202, 191, 253)",color:"rgb(237, 235, 254)"},{baseName:"magenta",header:"rgb(248, 180, 217)",color:"rgb(252, 232, 243)"}],nc=[{baseName:"blue",rowHeader:"rgb(63, 131, 248)",colHeader:"rgb(195, 221, 253)"},{baseName:"grey",rowHeader:"rgb(95, 101, 116)",colHeader:"rgb(227, 229, 234)"},{baseName:"red",rowHeader:"rgb(240, 82, 82)",colHeader:"rgb(251, 213, 213)"},{baseName:"orange",rowHeader:"rgb(255, 90, 31)",colHeader:"rgb(252, 217, 189)"},{baseName:"yellow",rowHeader:"rgb(212, 157, 15)",colHeader:"rgb(252, 220, 106)"},{baseName:"green",rowHeader:"rgb(13, 164, 113)",colHeader:"rgb(188, 240, 218)"},{baseName:"azure",rowHeader:"rgb(6, 148, 162)",colHeader:"rgb(175, 236, 239)"},{baseName:"indigo",rowHeader:"rgb(70, 106, 247)",colHeader:"rgb(210, 218, 250)"},{baseName:"purple",rowHeader:"rgb(144, 97, 249)",colHeader:"rgb(220, 215, 254)"},{baseName:"magenta",rowHeader:"rgb(231, 70, 148)",colHeader:"rgb(250, 209, 232)"}],oc=[{baseName:"blue",rowHeader:"rgb(30, 66, 159)",firstRow:"rgb(195, 221, 253)",secondRow:"rgb(118, 169, 250)"},{baseName:"grey",rowHeader:"rgb(44, 48, 64)",firstRow:"rgb(227, 229, 234)",secondRow:"rgb(151, 157, 172)"},{baseName:"red",rowHeader:"rgb(155, 28, 28)",firstRow:"rgb(251, 213, 213)",secondRow:"rgb(249, 128, 128)"},{baseName:"orange",rowHeader:"rgb(180, 52, 3)",firstRow:"rgb(252, 217, 189)",secondRow:"rgb(255, 138, 76)"},{baseName:"yellow",rowHeader:"rgb(154, 109, 21)",firstRow:"rgb(252, 220, 106)",secondRow:"rgb(212, 157, 15)"},{baseName:"green",rowHeader:"rgb(4, 108, 78)",firstRow:"rgb(188, 240, 218)",secondRow:"rgb(49, 196, 141)"},{baseName:"azure",rowHeader:"rgb(3, 102, 114)",firstRow:"rgb(175, 236, 239)",secondRow:"rgb(22, 189, 202)"},{baseName:"indigo",rowHeader:"rgb(16, 51, 191)",firstRow:"rgb(210, 218, 250)",secondRow:"rgb(98, 128, 249)"},{baseName:"purple",rowHeader:"rgb(74, 29, 150)",firstRow:"rgb(220, 215, 254)",secondRow:"rgb(172, 148, 250)"},{baseName:"magenta",rowHeader:"rgb(153, 21, 75)",firstRow:"rgb(250, 209, 232)",secondRow:"rgb(241, 126, 184)"}],sc=tc.map(({baseName:o,header:n,color:e})=>Xa(o,n,e)),rc=nc.map(({baseName:o,rowHeader:n,colHeader:e})=>Qa(o,n,e)),ic=oc.map(({baseName:o,rowHeader:n,firstRow:e,secondRow:t})=>ec(o,n,e,t)),ac=[...sc,...rc,...ic],ar={headerRowStyle:{bg:{rgb:"rgb(68,114,196)"},cl:{rgb:"rgb(255,255,255)"},ht:i.HorizontalAlign.CENTER,bl:i.BooleanNumber.TRUE},firstRowStyle:{bg:{rgb:"rgb(217,225,242)"}}},cc=new Fe("default",ar),lc=new Fe("default-last-row",{...ar,lastRowStyle:{bd:{t:{s:i.BorderStyleTypes.THIN,cl:{rgb:"rgb(68,114,196)"}}},ht:i.HorizontalAlign.CENTER,bl:i.BooleanNumber.TRUE}});class uc{constructor(){S(this,"_toggleRanges",[])}refresh(n,e){const{startRow:t,endRow:s}=n,r=[];let a=0,c=!1,l=-1;for(let u=t;u<=s;u++){if(!e(u)){a++,a%2===1?c=!0:(c=!1,l!==-1&&(r.push([l,u-1]),l=-1));continue}a%2===1?c?l===-1&&(l=u):(c=!0,l=u):c&&(r.push([l,u-2]),c=!1,l=-1),u===s&&c&&r.push([l,u])}this._toggleRanges=r}getToggleRanges(){return this._toggleRanges.concat()}getIsToggled(n){let e=0,t=this._toggleRanges.length-1;for(;e<=t;){const s=Math.floor((e+t)/2),[r,a]=this._toggleRanges[s];if(n<r)t=s-1;else if(n>a)e=s+1;else return!0}return!1}}var dc=Object.getOwnPropertyDescriptor,hc=(o,n,e,t)=>{for(var s=t>1?void 0:t?dc(n,e):n,r=o.length-1,a;r>=0;r--)(a=o[r])&&(s=a(s)||s);return s},co=(o,n)=>(e,t)=>n(e,t,o);const mc="SHEET_RANGE_THEME_MODEL_PLUGIN";exports.SheetRangeThemeModel=class extends i.Disposable{constructor(e,t,s){super();S(this,"_rangeThemeStyleMap",new Map);S(this,"_rangeThemeStyleRuleMap",new Map);S(this,"_rTreeCollection",new Map);S(this,"_defaultRangeThemeMap",new Map);S(this,"_zebraCrossingCacheMap",new Map);S(this,"_rowVisibleFuncSet",new Map);S(this,"_rangeThemeMapChanged$",new O.Subject);S(this,"rangeThemeMapChange$",this._rangeThemeMapChanged$.asObservable());this._sheetInterceptorService=e,this._resourceManagerService=t,this._univerInstanceService=s,this._registerIntercept(),this._initSnapshot(),this._initDefaultTheme()}_initDefaultTheme(){this.registerDefaultRangeTheme(cc),this.registerDefaultRangeTheme(lc);for(const e of ac)this.registerDefaultRangeTheme(e)}_ensureRangeThemeStyleMap(e){return this._rangeThemeStyleMap.has(e)||this._rangeThemeStyleMap.set(e,new Map),this._rangeThemeStyleMap.get(e)}_ensureRangeThemeStyleRuleMap(e){return this._rangeThemeStyleRuleMap.has(e)||this._rangeThemeStyleRuleMap.set(e,new Map),this._rangeThemeStyleRuleMap.get(e)}_ensureRTreeCollection(e){return this._rTreeCollection.has(e)||this._rTreeCollection.set(e,new i.RTree),this._rTreeCollection.get(e)}getDefaultRangeThemeStyle(e){return this._defaultRangeThemeMap.get(e)}getCustomRangeThemeStyle(e,t){return this._ensureRangeThemeStyleMap(e).get(t)}_getSheetRowVisibleFuncSet(e,t){this._rowVisibleFuncSet.has(e)||this._rowVisibleFuncSet.set(e,new Map);const s=this._rowVisibleFuncSet.get(e);return s.has(t)||s.set(t,new Set),s.get(t)}_getSheetRowVisibleHasInit(e,t){var s;return!!(this._rowVisibleFuncSet.has(e)&&((s=this._rowVisibleFuncSet.get(e))!=null&&s.has(t)))}refreshSheetRowVisibleFuncSet(e,t){const s=this._getSheetRowVisibleFuncSet(e,t);s.clear();const r=this._univerInstanceService.getUnit(e);if(r){const a=r.getSheetBySheetId(t);if(a){const c=a.getRowCount(),l=a.getRowManager();for(let u=1;u<=c;u++)a.getRowVisible(u)?l.getRowHeight(u)===0&&s.add(u):s.add(u)}}}_ensureZebraCrossingCache(e,t,s){this._zebraCrossingCacheMap.has(e)||this._zebraCrossingCacheMap.set(e,new Map);const r=this._zebraCrossingCacheMap.get(e);r.has(t)||r.set(t,new Map);const a=r.get(t);return a.has(s)||a.set(s,new uc),a.get(s)}registerRangeThemeRule(e,t){const{unitId:s,subUnitId:r,range:a}=t,c=i.generateRandomId(),l=this._ensureRangeThemeStyleRuleMap(s),u=this._ensureRTreeCollection(s);l.set(c,{rangeInfo:t,themeName:e}),u.insert({unitId:s,sheetId:r,range:a,id:c}),this._getSheetRowVisibleHasInit(s,r)||this.refreshSheetRowVisibleFuncSet(s,r);const d=this._ensureZebraCrossingCache(s,r,c),h=this._getSheetRowVisibleFuncSet(s,r);d.refresh(a,m=>!h.has(m))}getRegisteredRangeThemeStyle(e){const{unitId:t,subUnitId:s,range:r}=e,a=this._ensureRTreeCollection(t),c=Array.from(a.bulkSearch([{unitId:t,sheetId:s,range:r}]));if(c[0]){const u=this._ensureRangeThemeStyleRuleMap(t).get(c[0]);if(u)return u.themeName}}refreshZebraCrossingCacheBySheet(e,t){this._zebraCrossingCacheMap.has(e)||this._zebraCrossingCacheMap.set(e,new Map);const s=this._zebraCrossingCacheMap.get(e);s.has(t)||s.set(t,new Map);const r=s.get(t);r&&r.forEach((a,c)=>{const u=this._ensureRangeThemeStyleRuleMap(e).get(c);u?a.refresh(u.rangeInfo.range,d=>!this._getSheetRowVisibleFuncSet(e,t).has(d)):r.delete(c)})}removeRangeThemeRule(e,t){const{unitId:s,subUnitId:r,range:a}=t,c=this._ensureRTreeCollection(s),l=Array.from(c.bulkSearch([{unitId:s,sheetId:r,range:a}])),u=this._ensureRangeThemeStyleRuleMap(s);for(let d=0;d<l.length;d++){const h=u.get(l[d]);if(h&&h.themeName===e){u.delete(l[d]),c.remove({unitId:s,sheetId:r,range:a,id:l[d]});const m=this._zebraCrossingCacheMap.get(s);if(m){const g=m.get(r);g&&g.delete(l[d])}break}}}registerDefaultRangeTheme(e){this._defaultRangeThemeMap.set(e.getName(),e),this._rangeThemeMapChanged$.next({type:"add",styleName:e.getName()})}unRegisterDefaultRangeTheme(e){this._defaultRangeThemeMap.delete(e),this._rangeThemeMapChanged$.next({type:"remove",styleName:e})}getRegisteredRangeThemes(){return Array.from(this._defaultRangeThemeMap.keys())}registerRangeThemeStyle(e,t){this._ensureRangeThemeStyleMap(e).set(t.getName(),t),this._rangeThemeMapChanged$.next({type:"add",styleName:t.getName()})}unregisterRangeThemeStyle(e,t){this._ensureRangeThemeStyleMap(e).delete(t),this._rangeThemeMapChanged$.next({type:"remove",styleName:t})}getALLRegisteredTheme(e){return Array.from(this._ensureRangeThemeStyleMap(e).keys())}getRangeThemeStyle(e,t){return this._defaultRangeThemeMap.has(t)?this._defaultRangeThemeMap.get(t):this._ensureRangeThemeStyleMap(e).get(t)}getCellStyle(e,t,s,r){const a={startRow:s,startColumn:r,endRow:s,endColumn:r},c=this._ensureRTreeCollection(e),l=Array.from(c.bulkSearch([{unitId:e,sheetId:t,range:a}]));if(l[0]){const d=this._ensureRangeThemeStyleRuleMap(e).get(l[0]);if(d){const{rangeInfo:h,themeName:m}=d,g=s-h.range.startRow,f=r-h.range.startColumn,R=this.getRangeThemeStyle(e,m),p=this._ensureZebraCrossingCache(e,t,l[0]).getIsToggled(s);if(R)return R.getStyle(g,f,s===h.range.endRow,r===h.range.endColumn,p)}}}_registerIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(We.CELL_CONTENT,{id:ir,effect:i.InterceptorEffectEnum.Style,handler:(e,t,s)=>{const{row:r,col:a,unitId:c,subUnitId:l}=t,u=this.getCellStyle(c,l,r,a);if(u){const d=!e||e===t.rawData?{...t.rawData}:e;return d.themeStyle=u,s(d)}return s(e)}}))}toJson(e){const t=this._ensureRangeThemeStyleRuleMap(e),s=this._ensureRangeThemeStyleMap(e);if(s.size===0&&t.size===0)return"{}";const r={};t.forEach((c,l)=>{r[l]=c});const a={};return s.forEach((c,l)=>{a[l]=c.toJson()}),JSON.stringify({rangeThemeStyleRuleMap:r,rangeThemeStyleMapJson:a})}fromJSON(e,t){const{rangeThemeStyleRuleMap:s,rangeThemeStyleMapJson:r}=t;s&&Object.keys(s).forEach(a=>{const c=s[a],{themeName:l,rangeInfo:u}=c;l.startsWith("table")||(this.registerRangeThemeRule(l,u),this._ensureRTreeCollection(u.unitId).insert({unitId:a,sheetId:u.subUnitId,range:u.range,id:a}))}),r&&Object.keys(r).forEach(a=>{const c=r[a],l=new Fe(c.name);l.fromJson(c),this._ensureRangeThemeStyleMap(e).set(l.getName(),l)})}deleteUnitId(e){this._rangeThemeStyleMap.delete(e),this._rangeThemeStyleRuleMap.delete(e),this._rTreeCollection.delete(e)}_initSnapshot(){this.disposeWithMe(this._resourceManagerService.registerPluginResource({toJson:e=>this.toJson(e),parseJson:e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}},businesses:[i.UniverInstanceType.UNIVER_SHEET],pluginName:mc,onLoad:(e,t)=>{this.fromJSON(e,t)},onUnLoad:e=>{this.deleteUnitId(e)}}))}dispose(){super.dispose(),this._rangeThemeStyleMap.clear(),this._rangeThemeStyleRuleMap.clear(),this._defaultRangeThemeMap.clear(),this._rTreeCollection.clear(),this._zebraCrossingCacheMap.clear(),this._rowVisibleFuncSet.clear()}};exports.SheetRangeThemeModel=hc([co(0,i.Inject(exports.SheetInterceptorService)),co(1,i.Inject(i.IResourceManagerService)),co(2,i.Inject(i.IUniverInstanceService))],exports.SheetRangeThemeModel);const yt={id:"sheet.mutation.set-worksheet-range-theme-style",type:i.CommandType.MUTATION,handler:(o,n)=>{if(!E(o.get(i.IUniverInstanceService),n))return!1;const t=o.get(exports.SheetRangeThemeModel),{unitId:s,subUnitId:r,range:a,themeName:c}=n;return t.registerRangeThemeRule(c,{range:a,unitId:s,subUnitId:r}),!0}},cr=(o,n)=>{const e=ee(o.get(i.IUniverInstanceService),n);if(!e)throw new Error("[SetWorksheetRangeThemeStyleMutation]: worksheet is null error!");const{worksheet:t}=e;return{unitId:n.unitId,subUnitId:t.getSheetId(),range:n.range,themeName:n.themeName}},_t={id:"sheet.mutation.remove-worksheet-range-theme-style",type:i.CommandType.MUTATION,handler:(o,n)=>{if(!E(o.get(i.IUniverInstanceService),n))return!1;const t=o.get(exports.SheetRangeThemeModel),{unitId:s,subUnitId:r,range:a,themeName:c}=n;return t.removeRangeThemeRule(c,{range:a,unitId:s,subUnitId:r}),!0}},lr=(o,n)=>{const e=ee(o.get(i.IUniverInstanceService),n);if(!e)throw new Error("[DeleteWorksheetRangeThemeStyleMutationFactory]: worksheet is null error!");const{worksheet:t}=e;return{unitId:n.unitId,subUnitId:t.getSheetId(),range:n.range,themeName:n.themeName}},Fn=(o,n)=>{if(!ee(o.get(i.IUniverInstanceService),n))throw new Error("Workbook or Worksheet not found at InsertRowMutationUndoFactory");return{unitId:n.unitId,subUnitId:n.subUnitId,range:n.range}},de={id:"sheet.mutation.insert-row",type:i.CommandType.MUTATION,handler:(o,n)=>{const e=ee(o.get(i.IUniverInstanceService),n);if(!e)throw new Error("Workbook or Worksheet not found at InsertRowMutation");const{worksheet:t}=e,s=t.getRowManager(),{range:r,rowInfo:a}=n,{startRow:c,endRow:l}=r;s.insertRowsWithData(c,l,a);const u=l-c+1;return t.setRowCount(t.getRowCount()+u),t.getCellMatrix().insertRows(c,u),!0}},nn=(o,n)=>{if(!ee(o.get(i.IUniverInstanceService),n))throw new Error("Workbook or Worksheet not found at InsertColMutationUndoFactory");return{unitId:n.unitId,subUnitId:n.subUnitId,range:n.range}},he={id:"sheet.mutation.insert-col",type:i.CommandType.MUTATION,handler:(o,n)=>{const e=ee(o.get(i.IUniverInstanceService),n);if(!e)throw new Error("Workbook or Worksheet not found at InsertColMutation");const{worksheet:t}=e,s=t.getColumnManager(),{range:r,colInfo:a}=n,{startColumn:c,endColumn:l}=r;s.insertColumnsWithData(c,l,a);const u=l-c+1;return t.setColumnCount(t.getColumnCount()+u),t.getCellMatrix().insertColumns(r.startColumn,u),!0}},Ye={id:"sheet.mutation.move-range",type:i.CommandType.MUTATION,handler:(o,n)=>{const{from:e,to:t}=n;if(!e||!t)return!1;const r=o.get(i.IUniverInstanceService).getCurrentUnitForType(i.UniverInstanceType.UNIVER_SHEET);if(!r)return!1;const a=r.getSheetBySheetId(n.from.subUnitId),c=r.getSheetBySheetId(n.to.subUnitId);if(!a||!c)return!1;const l=a.getCellMatrix(),u=c.getCellMatrix();return new i.ObjectMatrix(e.value).forValue((d,h,m)=>{m==null?l.realDeleteValue(d,h):l.setValue(d,h,m)}),new i.ObjectMatrix(t.value).forValue((d,h,m)=>{m==null?u.realDeleteValue(d,h):u.setValue(d,h,m)}),!0}};function ur(o,n){const{unitId:e,subUnitId:t,sourceRange:s,targetRange:r}=n,a=s.startRow>r.startRow,c=s.endRow-s.startRow+1;return a?{unitId:e,subUnitId:t,sourceRange:i.Rectangle.clone(r),targetRange:{...s,endRow:s.endRow+c,startRow:s.startRow+c}}:{unitId:e,subUnitId:t,targetRange:i.Rectangle.clone(s),sourceRange:{...r,endRow:r.endRow-c,startRow:r.startRow-c}}}const _e={id:"sheet.mutation.move-rows",type:i.CommandType.MUTATION,handler:(o,n)=>{const{unitId:e,subUnitId:t,sourceRange:s,targetRange:r}=n,c=o.get(i.IUniverInstanceService).getUniverSheetInstance(e);if(!c)throw new Error("[MoveRowMutation] univerSheet is null!");const l=c.getSheetBySheetId(t);if(!l)throw new Error("[MoveRowMutation] worksheet is null!");const u=s.startRow,d=s.endRow-s.startRow+1,h=r.startRow,m=l.getRowManager().getRowData();return i.moveMatrixArray(u,d,h,m),l.getCellMatrix().moveRows(u,d,h),!0}};function dr(o,n){const{unitId:e,subUnitId:t,sourceRange:s,targetRange:r}=n,a=s.startColumn>r.startColumn,c=s.endColumn-s.startColumn+1;return a?{unitId:e,subUnitId:t,sourceRange:i.Rectangle.clone(r),targetRange:{...s,endColumn:s.endColumn+c,startColumn:s.startColumn+c}}:{unitId:e,subUnitId:t,targetRange:i.Rectangle.clone(s),sourceRange:{...r,startColumn:r.startColumn-c,endColumn:r.endColumn-c}}}const be={id:"sheet.mutation.move-columns",type:i.CommandType.MUTATION,handler:(o,n)=>{const{unitId:e,subUnitId:t,sourceRange:s,targetRange:r}=n,c=o.get(i.IUniverInstanceService).getUniverSheetInstance(e);if(!c)throw new Error("[MoveColumnMutation] univerSheet is null!");const l=c.getSheetBySheetId(t);if(!l)throw new Error("[MoveColumnMutation] worksheet is null!");const u=s.startColumn,d=s.endColumn-s.startColumn+1,h=r.startColumn,m=l.getColumnManager().getColumnData();return i.moveMatrixArray(u,d,h,m),l.getCellMatrix().moveColumns(u,d,h),!0}},gc=(o,n)=>{const s=n.getRowManager().getRowData(),r={},a=o.range,c=i.sliceMatrixArray(a.startRow,a.endRow,s),l=i.concatMatrixArray(r,c);return{unitId:o.unitId,subUnitId:o.subUnitId,range:o.range,rowInfo:l}},me={id:"sheet.mutation.remove-rows",type:i.CommandType.MUTATION,handler:(o,n)=>{const t=o.get(i.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(t==null)throw new Error("universheet is null error!");const s=t.getSheetBySheetId(n.subUnitId);if(!s)return!1;const r=n.range,c=s.getRowManager().getRowData();for(let d=r.startRow;d<=r.endRow;d++)s.getRowFiltered(d);const l=r.endRow-r.startRow+1;return i.spliceArray(r.startRow,l,c),s.getCellMatrix().removeRows(r.startRow,l),s.setRowCount(s.getRowCount()-l),!0}},fc=(o,n)=>{const t=o.get(i.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(t==null)throw new Error("universheet is null error!");const s=t.getSheetBySheetId(n.subUnitId);if(s==null)throw new Error("worksheet is null error!");const c=s.getColumnManager().getColumnData(),l={},u=n.range,d=i.sliceMatrixArray(u.startColumn,u.endColumn,c),h=i.concatMatrixArray(l,d);return{unitId:n.unitId,subUnitId:n.subUnitId,range:n.range,colInfo:h}},ce={id:"sheet.mutation.remove-col",type:i.CommandType.MUTATION,handler:(o,n)=>{const t=o.get(i.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(t==null)throw new Error("universheet is null error!");const s=t.getSheetBySheetId(n.subUnitId);if(!s)return!1;const r=n.range,c=s.getColumnManager().getColumnData(),l=r.endColumn-r.startColumn+1;return i.spliceArray(r.startColumn,l,c),s.setColumnCount(s.getColumnCount()-l),s.getCellMatrix().removeColumns(r.startColumn,l),!0}},ae=(o,n)=>{const e=ee(o.get(i.IUniverInstanceService),n);if(!e)throw new Error("Workbook or worksheet is null error!");const{worksheet:t}=e,r=t.getConfig().mergeData,a=n.ranges,c=[];for(let l=0;l<a.length;l++)for(let u=r.length-1;u>=0;u--){const d=r[u],h=a[l];i.Rectangle.intersects(d,h)&&c.push(r[u])}return{unitId:n.unitId,subUnitId:n.subUnitId,ranges:c}},z={id:"sheet.mutation.remove-worksheet-merge",type:i.CommandType.MUTATION,handler:(o,n)=>{const e=ee(o.get(i.IUniverInstanceService),n);if(!e)throw new Error("Workbook or worksheet is null error!");const{worksheet:t}=e,r=t.getConfig().mergeData,a=n.ranges;for(let c=0;c<a.length;c++)for(let l=r.length-1;l>=0;l--){const u=r[l],d=a[c];i.Rectangle.intersects(u,d)&&r.splice(l,1)}return t.getSpanModel().rebuild(r),!0}},hr=o=>{const{order:n}=o,e={};return Object.keys(n).forEach(t=>{e[n[Number(t)]]=Number(t)}),{...o,order:e}},Gt={id:"sheet.mutation.reorder-range",type:i.CommandType.MUTATION,handler:(o,n)=>{const{subUnitId:e,unitId:t,range:s,order:r}=n,l=o.get(i.IUniverInstanceService).getUnit(t).getSheetBySheetId(e);if(!l)return!1;const u=new i.ObjectMatrix;i.Range.foreach(s,(h,m)=>{if(r.hasOwnProperty(h)){const g=r[h],f=i.Tools.deepClone(l.getCellRaw(g,m));u.setValue(h,m,f)}});const d=l.getCellMatrix();return u.forValue((h,m,g)=>{d.setValue(h,m,g)}),!0}};function Rc(o,n){if(o==null)return o;const e=i.Tools.deepClone(o);if(n==null)return e;const t={};return"h"in n&&(t.h=e.h),"ia"in n&&(t.ia=e.ia),"ah"in n&&(t.ah=e.ah),"hd"in n&&(t.hd=e.hd),"s"in n&&(t.s=e.s),"custom"in n&&(t.custom=e.custom),t}function Cc(o,n){if(o==null)return o;const e=i.Tools.deepClone(o);if(n==null)return e;const t={};return"w"in n&&(t.w=e.w),"hd"in n&&(t.hd=e.hd),"s"in n&&(t.s=e.s),"custom"in n&&(t.custom=e.custom),t}const mr=(o,n)=>{const{unitId:e,subUnitId:t,columnData:s}=o,r={},a=n.getColumnManager();for(const c in s){const l=s[c],u=a.getColumn(Number(c));r[c]=Cc(u,l)}return{unitId:e,subUnitId:t,columnData:r}},ft={id:"sheet.mutation.set-col-data",type:i.CommandType.MUTATION,handler:(o,n)=>{const{columnData:e}=n,t=o.get(i.IUniverInstanceService),s=E(t,n);if(!s)return!1;const{worksheet:r}=s,a=r.getColumnManager();for(const c in e){const l=e[c];if(l==null){a.removeColumn(Number(c));continue}const u=a.getColumnOrCreate(Number(c));Object.assign(u,l)}return!0}},Sc=(o,n)=>{if(o.get(i.IUniverInstanceService).getUniverSheetInstance(n.unitId)==null)throw new Error("universheet is null error!");return{unitId:n.unitId,subUnitId:n.subUnitId,ranges:n.ranges}},bt={id:"sheet.mutation.set-col-hidden",type:i.CommandType.MUTATION,handler:(o,n)=>{const t=o.get(i.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(!t)return!1;const s=t.getSheetBySheetId(n.subUnitId).getColumnManager();for(let r=0;r<n.ranges.length;r++){const a=n.ranges[r];for(let c=a.startColumn;c<a.endColumn+1;c++){const l=s.getColumnOrCreate(c);l!=null&&(l.hd=i.BooleanNumber.TRUE)}}return!0}},pc=(o,n)=>{if(o.get(i.IUniverInstanceService).getUniverSheetInstance(n.unitId)==null)throw new Error("universheet is null error!");return{unitId:n.unitId,subUnitId:n.subUnitId,ranges:n.ranges}},Et={id:"sheet.mutation.set-col-visible",type:i.CommandType.MUTATION,handler:(o,n)=>{const t=o.get(i.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(!t)return!1;const s=t.getSheetBySheetId(n.subUnitId).getColumnManager();for(let r=0;r<n.ranges.length;r++){const a=n.ranges[r];for(let c=a.startColumn;c<a.endColumn+1;c++){const l=s.getColumnOrCreate(c);l!=null&&(l.hd=i.BooleanNumber.FALSE)}}return!0}},Rt={id:"sheet.mutation.set-gridlines-color",type:i.CommandType.MUTATION,handler:(o,n)=>{const e=E(o.get(i.IUniverInstanceService),n);if(!e)return!1;const{worksheet:t}=e,s=t.getConfig();return s.gridlinesColor=n.color,!0}};function vc(o,n,e){var a;const t=o.getStyleByCell(n);t==null&&delete n.s,typeof e.s=="string"&&(e.s=o.get(e.s));const s=wn(t,e.s?e.s:null);s&&(i.Tools.removeNull(s),Object.entries(s).forEach(([c,l])=>{typeof l=="object"&&l!==null&&Object.keys(l).length===0&&delete s[c]})),i.Tools.isEmptyObject(s)?delete n.s:n.s=o.setValue(s);const r=e.v?`${e.v}\r `:"";!e.p&&n.p&&(r&&r!==((a=n.p.body)==null?void 0:a.dataStream)?delete n.p:Mc(n.p,e.s?e.s:null))}function Ic(o,n){if(!n||!Object.keys(n).length)return o;const e=i.Tools.deepClone(o!=null?o:{});for(const t in n)t==="bd"?e[t]=wc(e[t]||{},n[t]):t in e||(e[t]=null);return e}function wc(o,n){if(!n||!Object.keys(n).length)return o;for(const e in n)e in o||(o[e]=null);return o}function wn(o,n,e=!1){if(n===null)return n;if(n===void 0)return o;const t=i.Tools.deepClone(o)||{};for(const s in n)e&&["bd","tr","td","ht","vt","tb","pd","bg"].includes(s)||(s in t&&s==="bd"?t[s]=Object.assign(t[s],n[s]):t[s]=n[s]);return"cl"in t&&("ul"in t&&t.ul&&(t.ul.cl=t.cl),"ol"in t&&t.ol&&(t.ol.cl=t.cl),"st"in t&&t.st&&(t.st.cl=t.cl)),t}function gr(o,n){return o.some(e=>e.startIndex===n)?gr(o,n+1):n}function Mc(o,n){var a;if(o.body==null)return;Array.isArray(o.body.textRuns)||(o.body.textRuns=[]);let e=0;const t=[],s=((a=o.body)==null?void 0:a.paragraphs)||[];for(const c of o.body.textRuns){const{st:l,ed:u,ts:d={}}=c;if(e<l){const m={st:e,ed:l},g=wn({},n,!0);g&&i.Tools.removeNull(g),i.Tools.isEmptyObject(g)||(m.ts=g),t.push(m)}const h=wn(d,n,!0);h&&i.Tools.removeNull(h),i.Tools.isEmptyObject(h)?delete c.ts:c.ts=h,t.push(c),e=gr(s,u)}const r=o.body.dataStream.endsWith(`\r `)?o.body.dataStream.length-2:o.body.dataStream.length;if(e<r){const c={st:e,ed:r},l=wn({},n,!0);l&&i.Tools.removeNull(l),i.Tools.isEmptyObject(l)||(c.ts=l),t.push(c)}o.body.textRuns=i.normalizeTextRuns(t)}function Ls(o,n){return n.v===void 0||n.v===null?n.v:o===i.CellValueType.NUMBER?Number(n.v):o===i.CellValueType.BOOLEAN?yc(n.v)?1:0:o===i.CellValueType.STRING||o===i.CellValueType.FORCE_STRING?`${n.v}`:n.v}function yc(o){if(typeof o=="string"){if(o.toUpperCase()==="TRUE")return!0;if(o.toUpperCase()==="FALSE")return!1;if(i.isSafeNumeric(o)){if(Number(o)===0)return!1;if(Number(o)===1)return!0}}if(typeof o=="number"){if(o===0)return!1;if(o===1)return!0}return typeof o=="boolean"?o:null}function _c(o){return o==null?null:(o.f===void 0&&(o.f=null),o.si===void 0&&(o.si=null),o.p===void 0&&(o.p=null),o.v===void 0&&(o.v=null),o.t===void 0&&(o.t=null),o.s===void 0&&(o.s=null),o.custom===void 0&&(o.custom=null),o)}const se=(o,n)=>{const{unitId:e,subUnitId:t,cellValue:s}=n,a=o.get(i.IUniverInstanceService).getUniverSheetInstance(e);if(a==null)throw new Error("workbook is null error!");const c=a.getSheetBySheetId(t);if(c==null)throw new Error("worksheet is null error!");const l=c.getCellMatrix(),u=a.getStyles(),d=new i.ObjectMatrix;return new i.ObjectMatrix(s).forValue((m,g,f)=>{const R=i.Tools.deepClone(l==null?void 0:l.getValue(m,g))||{},C=u.getStyleByCell(R),p=u.getStyleByCell(f);R.s=Ic(C,p),d.setValue(m,g,_c(R))}),{...n,options:{},cellValue:d.getMatrix()}},L={id:"sheet.mutation.set-range-values",type:i.CommandType.MUTATION,handler:(o,n)=>{const{cellValue:e,subUnitId:t,unitId:s}=n,a=o.get(i.IUniverInstanceService).getUnit(s);if(!a)return!1;const c=a.getSheetBySheetId(t);if(!c)return!1;const l=c.getCellMatrix(),u=a.getStyles();return new i.ObjectMatrix(e).forValue((h,m,g)=>{if(!g)l.realDeleteValue(h,m);else{let f=l.getValue(h,m)||{};f=Ec(g,f,u),i.Tools.isEmptyObject(f)?l.realDeleteValue(h,m):l.setValue(h,m,f)}}),!0}},bc=new Set(["f","p","si","custom","ref","xf"]);function Ec(o,n,e){const t=ja(e,o,n);return Object.keys(o).forEach(s=>{const r=s;if(bc.has(r)){const a=o[r];Tc(n,r,a)}else r==="v"?o.v!==void 0&&(n.v=Ls(t,o)):r==="s"&&vc(e,n,o)}),n.v!==void 0&&(n.t=t,n.v=Ls(t,n)),n.v===null&&(delete n.t,delete n.v),n}function Tc(o,n,e){e===void 0||(e===null?delete o[n]:o[n]=e)}const fr=(o,n)=>{const{unitId:e,subUnitId:t,rowData:s}=o,r={},a=n.getRowManager();for(const c in s){const l=s[c],u=a.getRow(Number(c));r[c]=Rc(u,l)}return{unitId:e,subUnitId:t,rowData:r}},Ct={id:"sheet.mutation.set-row-data",type:i.CommandType.MUTATION,handler:(o,n)=>{const{rowData:e}=n,t=o.get(i.IUniverInstanceService),s=E(t,n);if(!s)return!1;const{worksheet:r}=s,a=r.getRowManager();for(const c in e){const l=e[c];if(l==null){a.removeRow(Number(c));continue}const u=a.getRowOrCreate(Number(c));Object.assign(u,l)}return!0}},Uc=(o,n)=>{if(o.get(i.IUniverInstanceService).getUniverSheetInstance(n.unitId)==null)throw new Error("universheet is null error!");return{unitId:n.unitId,subUnitId:n.subUnitId,ranges:n.ranges}},nt={id:"sheet.mutation.set-row-visible",type:i.CommandType.MUTATION,handler:(o,n)=>{const t=o.get(i.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(t==null)throw new Error("universheet is null error!");const s=t.getSheetBySheetId(n.subUnitId).getRowManager();for(let r=0;r<n.ranges.length;r++){const a=n.ranges[r];for(let c=a.startRow;c<a.endRow+1;c++){const l=s.getRowOrCreate(c);l!=null&&(l.hd=0)}}return!0}},kc=(o,n)=>{if(o.get(i.IUniverInstanceService).getUniverSheetInstance(n.unitId)==null)throw new Error("universheet is null error!");return{unitId:n.unitId,subUnitId:n.subUnitId,ranges:n.ranges}},ot={id:"sheet.mutation.set-row-hidden",type:i.CommandType.MUTATION,handler:(o,n)=>{const t=o.get(i.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(t==null)throw new Error("universheet is null error!");const s=t.getSheetBySheetId(n.subUnitId).getRowManager();for(let r=0;r<n.ranges.length;r++){const a=n.ranges[r];for(let c=a.startRow;c<a.endRow+1;c++){const l=s.getRowOrCreate(c);l!=null&&(l.hd=1)}}return!0}},bo=(o,n)=>{const{unitId:e,subUnitId:t,ranges:s}=o,r={},a=n.getColumnManager();for(let c=0;c<s.length;c++){const l=s[c];for(let u=l.startColumn;u<l.endColumn+1;u++)r[u]=a.getColumnWidth(u)}return{unitId:e,subUnitId:t,ranges:s,colWidth:r}},$e={id:"sheet.mutation.set-worksheet-col-width",type:i.CommandType.MUTATION,handler:(o,n)=>{const e=o.get(i.IUniverInstanceService),t=E(e,n);if(!t)return!1;const{worksheet:s}=t,r=s.getColumnManager(),a=n.ranges;for(let c=0;c<a.length;c++){const l=a[c];for(let u=l.startColumn;u<l.endColumn+1;u++)s.getColVisible(u)&&(typeof n.colWidth=="number"?r.setColumnWidth(u,n.colWidth):i.Tools.isDefine(n.colWidth[u])&&r.setColumnWidth(u,n.colWidth[u]))}return!0}},Rr=(o,n)=>{const e=ee(o.get(i.IUniverInstanceService),n);if(!e)throw new Error("[SetWorksheetColumnCountUndoMutationFactory]: worksheet is null error!");return{unitId:n.unitId,subUnitId:n.subUnitId,columnCount:e.worksheet.getColumnCount()}},St={id:"sheet.mutation.set-worksheet-column-count",type:i.CommandType.MUTATION,handler:(o,n)=>{const e=o.get(i.IUniverInstanceService),t=ee(e,n);return t?(t.worksheet.setColumnCount(n.columnCount),!0):!1}},pt={id:"sheet.mutation.set-worksheet-default-style",type:i.CommandType.MUTATION,handler:(o,n)=>{const e=E(o.get(i.IUniverInstanceService),n);if(!e)return!1;const{worksheet:t}=e,{defaultStyle:s}=n;return t.setDefaultCellStyle(s),!0}},Cr=(o,n)=>{const e=ee(o.get(i.IUniverInstanceService),n);if(!e)throw new Error("[SetWorksheetDefaultStyleMutationFactory]: worksheet is null error!");const{worksheet:t}=e;return{unitId:n.unitId,subUnitId:t.getSheetId(),defaultStyle:t.getDefaultCellStyle()}},Sr=(o,n)=>{const e=ee(o.get(i.IUniverInstanceService),n);if(!e)throw new Error("[SetWorksheetRowCountUndoMutationFactory]: worksheet is null error!");return{unitId:n.unitId,subUnitId:n.subUnitId,rowCount:e.worksheet.getRowCount()}},vt={id:"sheet.mutation.set-worksheet-row-count",type:i.CommandType.MUTATION,handler:(o,n)=>{const e=o.get(i.IUniverInstanceService),t=ee(e,n);return t?(t.worksheet.setRowCount(n.rowCount),!0):!1}},Eo=(o,n)=>{var c,l;const{unitId:e,subUnitId:t,ranges:s}=o,r={},a=n.getRowManager();for(const{startRow:u,endRow:d}of s)for(let h=u;h<d+1;h++)r[h]=(l=(c=a.getRow(h))==null?void 0:c.h)!=null?l:n.getConfig().defaultRowHeight;return{unitId:e,subUnitId:t,ranges:s,rowHeight:r}},Hn=(o,n)=>{var c;const{unitId:e,subUnitId:t,ranges:s}=o,r={},a=n.getRowManager();for(const{startRow:l,endRow:u}of s)for(let d=l;d<=u;d++)r[d]=(c=a.getRow(d))==null?void 0:c.ia;return{unitId:e,subUnitId:t,ranges:s,autoHeightInfo:r}},pr=(o,n)=>{var c,l;const{unitId:e,subUnitId:t,rowsAutoHeightInfo:s}=o,r=[],a=n.getRowManager();for(const u of s){const{row:d}=u;r.push({row:d,autoHeight:(l=(c=a.getRow(d))==null?void 0:c.ah)!=null?l:n.getConfig().defaultRowHeight})}return{unitId:e,subUnitId:t,rowsAutoHeightInfo:r}},Pe={id:"sheet.mutation.set-worksheet-row-height",type:i.CommandType.MUTATION,handler:(o,n)=>{const{ranges:e,rowHeight:t}=n,s=o.get(i.IUniverInstanceService),r=E(s,n);if(!r)return!1;const{worksheet:a}=r,c=a.getRowManager();for(const{startRow:l,endRow:u}of e)for(let d=l;d<=u;d++)typeof t=="number"?c.setRowHeight(d,t):i.Tools.isDefine(t[d])&&c.setRowHeight(d,t[d]);return!0}},Ie={id:"sheet.mutation.set-worksheet-row-is-auto-height",type:i.CommandType.MUTATION,handler:(o,n)=>{var c;const{ranges:e,autoHeightInfo:t}=n,s=o.get(i.IUniverInstanceService),r=E(s,n);if(!r)return!1;const a=r.worksheet.getRowManager();for(const{startRow:l,endRow:u}of e)for(let d=l;d<=u;d++){const h=a.getRowOrCreate(d);typeof t=="number"?h.ia=t:h.ia=(c=t[d])!=null?c:void 0}return!0}},zt={id:"sheet.mutation.set-worksheet-row-auto-height",type:i.CommandType.MUTATION,handler:(o,n)=>{const{rowsAutoHeightInfo:e}=n,t=o.get(i.IUniverInstanceService),s=E(t,n);if(!s)return!1;const r=s.worksheet.getRowManager();for(const{row:a,autoHeight:c}of e){const l=r.getRowOrCreate(a);l.ah=c}return!0}},It={id:"sheet.mutation.toggle-gridlines",type:i.CommandType.MUTATION,handler:(o,n)=>{const e=E(o.get(i.IUniverInstanceService),n);if(!e)return!1;const{worksheet:t}=e,s=t.getConfig();return s.showGridlines=n.showGridlines,!0}},dt={id:"sheet.operation.set-worksheet-active",type:i.CommandType.OPERATION,handler:(o,n)=>{const e=o.get(i.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(!e)return!1;const t=e.getWorksheets();for(const[,s]of t)if(s.getSheetId()===n.subUnitId)return e.setActiveSheet(s),!0;return!1}};var vr=(o=>(o.SET_WORKSHEET_ROW_HEIGHT="sheet.mutation.set-worksheet-row-height",o.SET_WORKSHEET_ROW_IS_AUTO_HEIGHT="sheet.mutation.set-worksheet-row-is-auto-height",o.SET_WORKSHEET_ROW_AUTO_HEIGHT="sheet.mutation.set-worksheet-row-auto-height",o.SET_WORKSHEET_COL_WIDTH="sheet.mutation.set-worksheet-col-width",o.SET_WORKSHEET_ACTIVE="sheet.operation.set-worksheet-active",o.MOVE_ROWS="sheet.mutation.move-rows",o.MOVE_COLUMNS="sheet.mutation.move-columns",o.SET_COL_HIDDEN="sheet.mutation.set-col-hidden",o.SET_COL_VISIBLE="sheet.mutation.set-col-visible",o.SET_ROW_HIDDEN="sheet.mutation.set-row-hidden",o.SET_ROW_VISIBLE="sheet.mutation.set-row-visible",o.INSERT_COL="sheet.mutation.insert-col",o.INSERT_ROW="sheet.mutation.insert-row",o.REMOVE_COL="sheet.mutation.remove-col",o.REMOVE_ROW="sheet.mutation.remove-rows",o.TOGGLE_GRIDLINES="sheet.mutation.toggle-gridlines",o.SET_GRIDLINES_COLOR="sheet.mutation.set-gridlines-color",o))(vr||{}),Ir=(o=>(o.SET_RANGE_VALUES="sheet.mutation.set-range-values",o.MOVE_RANGE="sheet.mutation.move-range",o.REMOVE_WORKSHEET_MERGE="sheet.mutation.remove-worksheet-merge",o.ADD_WORKSHEET_MERGE="sheet.mutation.add-worksheet-merge",o.REORDER_RANGE="sheet.mutation.reorder-range",o.SET_WORKSHEET_DEFAULT_STYLE="sheet.mutation.set-worksheet-default-style",o.SET_ROW_DATA="sheet.mutation.set-row-data",o.SET_COL_DATA="sheet.mutation.set-col-data",o.SET_WORKSHEET_RANGE_THEME_STYLE="sheet.mutation.set-worksheet-range-theme-style",o.DELETE_WORKSHEET_RANGE_THEME_STYLE="sheet.mutation.delete-worksheet-range-theme-style",o))(Ir||{});const Pc=[Pe.id,Ie.id,zt.id,$e.id,dt.id,_e.id,be.id,bt.id,Et.id,ot.id,nt.id,he.id,de.id,ce.id,me.id,It.id,Rt.id,vt.id,St.id],Nc=[L.id,Ye.id,z.id,G.id,Gt.id,pt.id,Ct.id,ft.id,yt.id,_t.id];function Oc(o,n){switch(n.id){case"sheet.mutation.set-range-values":{const e=n.params,t=new i.ObjectMatrix(e.cellValue).getDataRange();return t.endRow===-1?[]:e.cellValue?[{unitId:e.unitId,subUnitId:e.subUnitId,range:t}]:[]}case"sheet.mutation.move-range":{const e=n.params;return[{unitId:e.unitId,subUnitId:e.from.subUnitId,range:new i.ObjectMatrix(e.from.value).getRange()},{unitId:e.unitId,subUnitId:e.to.subUnitId,range:new i.ObjectMatrix(e.to.value).getRange()}]}case"sheet.mutation.remove-worksheet-merge":{const e=n.params;return e.ranges.map(t=>({unitId:e.unitId,subUnitId:e.subUnitId,range:t}))}case"sheet.mutation.add-worksheet-merge":{const e=n.params;return e.ranges.map(t=>({unitId:e.unitId