@univerjs/sheets-table 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +1 -1
  3. package/lib/es/facade.js +1 -165
  4. package/lib/es/index.js +1 -2922
  5. package/lib/facade.js +1 -165
  6. package/lib/index.js +1 -2922
  7. package/lib/types/commands/commands/add-sheet-table.command.d.ts +17 -2
  8. package/lib/types/commands/commands/add-table-theme.command.d.ts +17 -2
  9. package/lib/types/commands/commands/delete-sheet-table.command.d.ts +17 -2
  10. package/lib/types/commands/commands/remove-table-theme.command.d.ts +16 -1
  11. package/lib/types/commands/commands/set-sheet-table.command.d.ts +17 -2
  12. package/lib/types/commands/commands/set-table-filter.command.d.ts +17 -2
  13. package/lib/types/commands/commands/sheet-table-row-col.command.d.ts +16 -1
  14. package/lib/types/commands/mutations/add-sheet-table.mutation.d.ts +17 -2
  15. package/lib/types/commands/mutations/delete-sheet-table.mutation.d.ts +16 -1
  16. package/lib/types/commands/mutations/set-sheet-table.mutation.d.ts +17 -2
  17. package/lib/types/commands/mutations/set-table-filter.mutation.d.ts +17 -2
  18. package/lib/types/config/config.d.ts +16 -1
  19. package/lib/types/controllers/sheet-table-formula.controller.d.ts +15 -0
  20. package/lib/types/controllers/sheet-table-range.controller.d.ts +15 -0
  21. package/lib/types/controllers/sheet-table-ref-range.controller.d.ts +15 -0
  22. package/lib/types/controllers/sheet-table-theme.controller.d.ts +15 -0
  23. package/lib/types/controllers/sheets-table.controller.d.ts +18 -2
  24. package/lib/types/controllers/table-filter.controller.d.ts +16 -1
  25. package/lib/types/controllers/table-theme.factory.d.ts +45 -30
  26. package/lib/types/facade/f-enum.d.ts +15 -0
  27. package/lib/types/facade/f-workbook.d.ts +16 -1
  28. package/lib/types/facade/f-worksheet.d.ts +17 -2
  29. package/lib/types/model/filter-util/condition.d.ts +19 -3
  30. package/lib/types/model/filter-util/date-filter-util.d.ts +16 -1
  31. package/lib/types/model/filter-util/manual.d.ts +16 -1
  32. package/lib/types/model/filter-util/number-filter-util.d.ts +16 -1
  33. package/lib/types/model/filter-util/text-filter-util.d.ts +16 -1
  34. package/lib/types/model/table-column.d.ts +17 -2
  35. package/lib/types/model/table-filter.d.ts +19 -3
  36. package/lib/types/model/table-manager.d.ts +25 -9
  37. package/lib/types/model/table.d.ts +17 -2
  38. package/lib/types/plugin.d.ts +16 -1
  39. package/lib/types/services/table-service.d.ts +18 -2
  40. package/lib/types/types/type.d.ts +17 -2
  41. package/lib/types/util.d.ts +19 -4
  42. package/lib/umd/facade.js +1 -1
  43. package/lib/umd/index.js +1 -1
  44. package/package.json +9 -8
package/lib/cjs/facade.js CHANGED
@@ -1 +1 @@
1
- "use strict";const r=require("@univerjs/core"),a=require("@univerjs/sheets-table"),h=require("@univerjs/sheets/facade"),I=require("@univerjs/sheets"),v=require("@univerjs/core/facade");class C extends h.FWorkbook{getTableInfo(e){const t=this.getId();return this._injector.get(a.SheetTableService).getTableInfo(t,e)}getTableList(){const e=this.getId();return this._injector.get(a.SheetTableService).getTableList(e)}async addTable(e,t,n,i,s){var T;const c=this._injector.get(a.SheetTableService),o=this._injector.get(r.LocaleService),d=this._injector.get(r.IUniverInstanceService).getCurrentUnitOfType(r.UniverInstanceType.UNIVER_SHEET),u=new Set;if(d&&d.getSheets().forEach(b=>{u.add(b.getName())}),!r.customNameCharacterCheck(t,u)){this._injector.get(r.ILogService).warn(o.t("sheets-table.tableNameError"));return}const m={unitId:this.getId(),name:t,subUnitId:e,range:n,options:s,id:i};if(await this._commandService.executeCommand(a.AddSheetTableCommand.id,m))return(T=c.getTableList(this.getId()).find(b=>b.name===t))==null?void 0:T.id}async removeTable(e){var i;const t=(i=this.getTableInfo(e))==null?void 0:i.subUnitId;if(!t)return!1;const n={unitId:this.getId(),subUnitId:t,tableId:e};return this._commandService.executeCommand(a.DeleteSheetTableCommand.id,n)}getTableInfoByName(e){return this.getTableList().find(n=>n.name===e)}setTableFilter(e,t,n){const i={unitId:this.getId(),tableId:e,column:t,tableFilter:n};return this._commandService.executeCommand(a.SetSheetTableFilterCommand.id,i)}}h.FWorkbook.extend(C);class k extends h.FWorksheet{addTable(e,t,n,i){const s=this.getSheetId(),c=this.getWorkbook(),o=c.getUnitId(),l=this._injector.get(r.LocaleService),d=new Set;if(c&&c.getSheets().forEach(m=>{d.add(m.getName())}),!r.customNameCharacterCheck(e,d))return this._injector.get(r.ILogService).warn(l.t("sheets-table.tableNameError")),!1;const g={unitId:o,subUnitId:s,name:e,range:t,id:n,options:i};return this._commandService.executeCommand(a.AddSheetTableCommand.id,g)}setTableFilter(e,t,n){const i={unitId:this.getWorkbook().getUnitId(),tableId:e,column:t,tableFilter:n};return this._commandService.executeCommand(a.SetSheetTableFilterCommand.id,i)}removeTable(e){const t={unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),tableId:e};return this._commandService.executeCommand(a.DeleteSheetTableCommand.id,t)}setTableRange(e,t){const n={unitId:this.getWorkbook().getUnitId(),tableId:e,updateRange:{newRange:t}};return this._commandService.executeCommand(a.SetSheetTableCommand.id,n)}setTableName(e,t){const n=this.getWorkbook(),i=this._injector.get(r.LocaleService),s=new Set;if(n&&n.getSheets().forEach(l=>{s.add(l.getName())}),!r.customNameCharacterCheck(t,s))return this._injector.get(r.ILogService).warn(i.t("sheets-table.tableNameError")),!1;const o={unitId:this.getWorkbook().getUnitId(),tableId:e,name:t};return this._commandService.executeCommand(a.SetSheetTableCommand.id,o)}getSubTableInfos(){const e=this._fWorkbook.getId();return this._injector.get(a.SheetTableService).getTableList(e).filter(n=>n.subUnitId===this.getSheetId())}resetFilter(e,t){const n={unitId:this._fWorkbook.getId(),tableId:e,column:t,tableFilter:void 0};return this._commandService.executeCommand(a.SetSheetTableFilterCommand.id,n)}getTableByCell(e,t){const n=this._fWorkbook.getId(),s=this._injector.get(a.SheetTableService).getTableList(n).filter(o=>o.subUnitId===this.getSheetId()),c=r.cellToRange(e,t);return s.find(o=>{const l=o.range;return r.Rectangle.intersects(l,c)})}addTableTheme(e,t){const n=new I.RangeThemeStyle("table-style");return n.fromJson(t),this._commandService.executeCommand(a.AddTableThemeCommand.id,{unitId:this._fWorkbook.getId(),tableId:e,themeStyle:n})}}h.FWorksheet.extend(k);class f extends v.FEnum{get TableColumnFilterTypeEnum(){return a.TableColumnFilterTypeEnum}get TableConditionTypeEnum(){return a.TableConditionTypeEnum}get TableNumberCompareTypeEnum(){return a.TableNumberCompareTypeEnum}get TableStringCompareTypeEnum(){return a.TableStringCompareTypeEnum}get TableDateCompareTypeEnum(){return a.TableDateCompareTypeEnum}}v.FEnum.extend(f);
1
+ let e=require(`@univerjs/core`),t=require(`@univerjs/sheets-table`),n=require(`@univerjs/sheets/facade`),r=require(`@univerjs/sheets`),i=require(`@univerjs/core/facade`);var a=class extends n.FWorkbook{getTableInfo(e){let n=this.getId();return this._injector.get(t.SheetTableService).getTableInfo(n,e)}getTableList(){let e=this.getId();return this._injector.get(t.SheetTableService).getTableList(e)}async addTable(n,r,i,a,o){let s=this._injector.get(t.SheetTableService),c=this._injector.get(e.LocaleService),l=this._injector.get(e.IUniverInstanceService).getCurrentUnitOfType(e.UniverInstanceType.UNIVER_SHEET),u=new Set;if(l&&l.getSheets().forEach(e=>{u.add(e.getName())}),!(0,e.customNameCharacterCheck)(r,u)){this._injector.get(e.ILogService).warn(c.t(`sheets-table.tableNameError`));return}let d={unitId:this.getId(),name:r,subUnitId:n,range:i,options:o,id:a};if(await this._commandService.executeCommand(t.AddSheetTableCommand.id,d)){var f;return(f=s.getTableList(this.getId()).find(e=>e.name===r))==null?void 0:f.id}}async removeTable(e){var n;let r=(n=this.getTableInfo(e))==null?void 0:n.subUnitId;if(!r)return!1;let i={unitId:this.getId(),subUnitId:r,tableId:e};return this._commandService.executeCommand(t.DeleteSheetTableCommand.id,i)}getTableInfoByName(e){return this.getTableList().find(t=>t.name===e)}setTableFilter(e,n,r){let i={unitId:this.getId(),tableId:e,column:n,tableFilter:r};return this._commandService.executeCommand(t.SetSheetTableFilterCommand.id,i)}};n.FWorkbook.extend(a);var o=class extends n.FWorksheet{addTable(n,r,i,a){let o=this.getSheetId(),s=this.getWorkbook(),c=s.getUnitId(),l=this._injector.get(e.LocaleService),u=new Set;if(s&&s.getSheets().forEach(e=>{u.add(e.getName())}),!(0,e.customNameCharacterCheck)(n,u))return this._injector.get(e.ILogService).warn(l.t(`sheets-table.tableNameError`)),!1;let d={unitId:c,subUnitId:o,name:n,range:r,id:i,options:a};return this._commandService.executeCommand(t.AddSheetTableCommand.id,d)}setTableFilter(e,n,r){let i={unitId:this.getWorkbook().getUnitId(),tableId:e,column:n,tableFilter:r};return this._commandService.executeCommand(t.SetSheetTableFilterCommand.id,i)}removeTable(e){let n={unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),tableId:e};return this._commandService.executeCommand(t.DeleteSheetTableCommand.id,n)}setTableRange(e,n){let r={unitId:this.getWorkbook().getUnitId(),tableId:e,updateRange:{newRange:n}};return this._commandService.executeCommand(t.SetSheetTableCommand.id,r)}setTableName(n,r){let i=this.getWorkbook(),a=this._injector.get(e.LocaleService),o=new Set;if(i&&i.getSheets().forEach(e=>{o.add(e.getName())}),!(0,e.customNameCharacterCheck)(r,o))return this._injector.get(e.ILogService).warn(a.t(`sheets-table.tableNameError`)),!1;let s={unitId:this.getWorkbook().getUnitId(),tableId:n,name:r};return this._commandService.executeCommand(t.SetSheetTableCommand.id,s)}getSubTableInfos(){let e=this._fWorkbook.getId();return this._injector.get(t.SheetTableService).getTableList(e).filter(e=>e.subUnitId===this.getSheetId())}resetFilter(e,n){let r={unitId:this._fWorkbook.getId(),tableId:e,column:n,tableFilter:void 0};return this._commandService.executeCommand(t.SetSheetTableFilterCommand.id,r)}getTableByCell(n,r){let i=this._fWorkbook.getId(),a=this._injector.get(t.SheetTableService).getTableList(i).filter(e=>e.subUnitId===this.getSheetId()),o=(0,e.cellToRange)(n,r);return a.find(t=>{let n=t.range;return e.Rectangle.intersects(n,o)})}addTableTheme(e,n){let i=new r.RangeThemeStyle(`table-style`);return i.fromJson(n),this._commandService.executeCommand(t.AddTableThemeCommand.id,{unitId:this._fWorkbook.getId(),tableId:e,themeStyle:i})}};n.FWorksheet.extend(o);var s=class extends i.FEnum{get TableColumnFilterTypeEnum(){return t.TableColumnFilterTypeEnum}get TableConditionTypeEnum(){return t.TableConditionTypeEnum}get TableNumberCompareTypeEnum(){return t.TableNumberCompareTypeEnum}get TableStringCompareTypeEnum(){return t.TableStringCompareTypeEnum}get TableDateCompareTypeEnum(){return t.TableDateCompareTypeEnum}};i.FEnum.extend(s);
package/lib/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var Le=Object.defineProperty;var Be=(n,e,t)=>e in n?Le(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var C=(n,e,t)=>Be(n,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@univerjs/core"),k=require("@univerjs/engine-formula"),S=require("@univerjs/sheets"),N=require("rxjs");var v=(n=>(n.Insert="insert",n.Delete="delete",n))(v||{}),y=(n=>(n.Row="row",n.Col="column",n))(y||{}),se=(n=>(n.None="none",n.String="string",n.Number="number",n.Date="date",n.Bool="bool",n.Checkbox="checkbox",n.List="list",n))(se||{}),V=(n=>(n.manual="manual",n.condition="condition",n))(V||{}),D=(n=>(n.Date="date",n.Number="number",n.String="string",n.Logic="logic",n))(D||{}),F=(n=>(n.Equal="equal",n.NotEqual="notEqual",n.GreaterThan="greaterThan",n.GreaterThanOrEqual="greaterThanOrEqual",n.LessThan="lessThan",n.LessThanOrEqual="lessThanOrEqual",n.Between="between",n.NotBetween="notBetween",n.Above="above",n.Below="below",n.TopN="topN",n))(F||{}),U=(n=>(n.Equal="equal",n.NotEqual="notEqual",n.Contains="contains",n.NotContains="notContains",n.StartsWith="startsWith",n.EndsWith="endsWith",n))(U||{}),b=(n=>(n.Equal="equal",n.NotEqual="notEqual",n.After="after",n.AfterOrEqual="afterOrEqual",n.Before="before",n.BeforeOrEqual="beforeOrEqual",n.Between="between",n.NotBetween="notBetween",n.Today="today",n.Yesterday="yesterday",n.Tomorrow="tomorrow",n.ThisWeek="thisWeek",n.LastWeek="lastWeek",n.NextWeek="nextWeek",n.ThisMonth="thisMonth",n.LastMonth="lastMonth",n.NextMonth="nextMonth",n.ThisQuarter="thisQuarter",n.LastQuarter="lastQuarter",n.NextQuarter="nextQuarter",n.ThisYear="thisYear",n.LastYear="lastYear",n.NextYear="nextYear",n.YearToDate="yearToDate",n.Quarter="quarter",n.Month="month",n.M1="m1",n.M2="m2",n.M3="m3",n.M4="m4",n.M5="m5",n.M6="m6",n.M7="m7",n.M8="m8",n.M9="m9",n.M10="m10",n.M11="m11",n.M12="m12",n.Q1="q1",n.Q2="q2",n.Q3="q3",n.Q4="q4",n))(b||{}),E=(n=>(n[n.FilteredSortNone=1]="FilteredSortNone",n[n.FilteredSortAsc=2]="FilteredSortAsc",n[n.FilteredSortDesc=3]="FilteredSortDesc",n[n.FilterNoneSortNone=4]="FilterNoneSortNone",n[n.FilterNoneSortAsc=5]="FilterNoneSortAsc",n[n.FilterNoneSortDesc=6]="FilterNoneSortDesc",n))(E||{}),B=(n=>(n.Asc="asc",n.Desc="desc",n.None="none",n))(B||{});function J(n,e){return`${e} ${n}`}const le="TRUE",ce="FALSE",We=n=>{var t;return((t=n.body)==null?void 0:t.dataStream.replace(/\r\n$/,""))||""};function Te(n){if(n){const{v:e,t,p:a}=n;return a?We(a):(t===u.CellValueType.FORCE_STRING||t===u.CellValueType.STRING)&&e!==void 0&&e!==null?String(e):t===u.CellValueType.BOOLEAN?e?le:ce:t===u.CellValueType.NUMBER?String(e):typeof e==="boolean"?e?le:ce:e==null?"":String(e)}return""}function qe(n,e){if(n!=null)switch(e){case B.Asc:return E.FilteredSortAsc;case B.Desc:return E.FilteredSortDesc;default:return E.FilteredSortNone}else switch(e){case B.Asc:return E.FilterNoneSortAsc;case B.Desc:return E.FilterNoneSortDesc;default:return E.FilterNoneSortNone}}function pe(n){return n?n.filterType===V.condition:!1}function Ve(n){return n?n.filterType===V.manual:!1}function Re(n,e){const{univerInstanceService:t,tableManager:a,definedNamesService:r}=e,s=new Set,o=t==null?void 0:t.getUnit(n,u.UniverInstanceType.UNIVER_SHEET);o&&o.getSheets().forEach(i=>{s.add(i.getName().toLowerCase())});const l=a==null?void 0:a.getTableList(n);l&&l.length>0&&l.forEach(i=>{s.add(i.name.toLowerCase())});const c=r==null?void 0:r.getDefinedNameMap(n);return c&&Object.values(c).forEach(i=>{s.add(i.name.toLowerCase())}),s}const x={s:u.BorderStyleTypes.THIN,cl:{rgb:"rgb(95, 101, 116)"}},we="sheets-table.config",ue={},He={headerRowStyle:{bd:{t:x}},headerColumnStyle:{bd:{l:x}},lastColumnStyle:{bd:{r:x}},lastRowStyle:{bd:{b:x}}},Pe=(n,e)=>{if(n==="headerRowStyle"){if(!e.bd)return{...e,bd:{t:x}}}else if(n==="lastRowStyle"){if(!e.bd)return{...e,bd:{b:x}}}else if(n==="lastColumnStyle"){if(!e.bd)return{...e,bd:{r:x}}}else if(n==="headerColumnStyle"&&!e.bd)return{...e,bd:{l:x}};return e},Je=[[["#6280F9","#FFFFFF","#BAC6F8","#D2DAFA"],["#fff"]],[["#16BDCA","#FFFFFF","#EDFAFA","#AFECEF"],["#000"]],[["#31C48D","#FFFFFF","#F3FAF7","#BCF0DA"],["#fff"]],[["#AC94FA","#FFFFFF","#F6F5FF","#EDEBFE"],["#fff"]],[["#F17EBB","#FFFFFF","#FDF2F8","#FCE8F3"],["#fff"]],[["#F98080","#FFFFFF","#FDF2F2","#FDE8E8"],["#fff"]]],fe=Je.map((n,e)=>{const[t,a]=n,[r,s,o,l]=t,[c]=a;return{name:`table-default-${e}`,style:{headerRowStyle:{bg:{rgb:r},cl:{rgb:c},bd:{t:x}},headerColumnStyle:{bd:{l:x}},firstRowStyle:{bg:{rgb:s}},secondRowStyle:{bg:{rgb:o}},lastRowStyle:{bg:{rgb:l},bd:{b:x}},lastColumnStyle:{bd:{r:x}}}}});class q{constructor(e,t){C(this,"dataType");C(this,"id");C(this,"displayName");C(this,"formula");C(this,"meta");C(this,"style");this.id=e,this.displayName=t,this.dataType=se.String,this.formula="",this.meta={},this.style={}}getMeta(){return this.meta}setMeta(e){this.meta=e}getDisplayName(){return this.displayName}toJSON(){return{id:this.id,displayName:this.displayName,dataType:this.dataType,formula:this.formula,meta:this.meta,style:this.style}}fromJSON(e){this.id=e.id,this.displayName=e.displayName,this.dataType=e.dataType,this.formula=e.formula,this.meta=e.meta,this.style=e.style}}const ke=n=>n.getMonth()<=2,je=n=>{const e=n.getMonth();return e>2&&e<=5},Qe=n=>{const e=n.getMonth();return e>5&&e<=8},Ye=n=>{const e=n.getMonth();return e>8&&e<=11},Ge=n=>n.getMonth()===0,Xe=n=>n.getMonth()===1,ze=n=>n.getMonth()===2,Ke=n=>n.getMonth()===3,Ze=n=>n.getMonth()===4,et=n=>n.getMonth()===5,tt=n=>n.getMonth()===6,nt=n=>n.getMonth()===7,at=n=>n.getMonth()===8,rt=n=>n.getMonth()===9,st=n=>n.getMonth()===10,ot=n=>n.getMonth()===11,it=(n,e=new Date)=>n.toDateString()===e.toDateString(),lt=(n,e=new Date)=>{const t=new Date(e);return t.setDate(t.getDate()+1),n.toDateString()===t.toDateString()},ct=(n,e=new Date)=>{const t=new Date(e);return t.setDate(t.getDate()-1),n.toDateString()===t.toDateString()},H=n=>{const e=n.getDay(),t=n.getDate()-e+(e===0?-6:1),a=new Date(n);return a.setDate(t),a},Ie=10080*60*1e3,ut=(n,e=new Date)=>{const t=H(n),a=H(e);return t.toDateString()===a.toDateString()},dt=(n,e=new Date)=>{const t=H(n),a=new Date(H(e).getTime()+Ie);return t.toDateString()===a.toDateString()},ht=(n,e=new Date)=>{const t=H(n),a=new Date(H(e).getTime()-Ie);return t.toDateString()===a.toDateString()},gt=(n,e=new Date)=>n.getFullYear()===e.getFullYear()&&n.getMonth()===e.getMonth(),mt=n=>{const e=new Date(n);return e.setHours(0,0,0,0),e.setDate(1),e},bt=(n,e=new Date)=>{const t=new Date(e);t.setHours(0,0,0,0),t.setMonth(t.getMonth()+1,1);const a=new Date(t);a.setMonth(a.getMonth()+1,0);const r=n.getTime();return r>=t.getTime()&&r<a.getTime()},St=(n,e=new Date)=>{const t=mt(e),a=new Date(t);a.setMonth(a.getMonth()+1,0);const r=n.getTime();return r>=t.getTime()&&r<a.getTime()},oe=n=>{const e=new Date(n);e.setHours(0,0,0,0),e.setDate(1);const t=e.getMonth();return e.setMonth(t-t%3),e},Ct=(n,e=new Date)=>{const t=oe(e),a=new Date(t);a.setMonth(a.getMonth()+3);const r=n.getTime();return r>=t.getTime()&&r<a.getTime()},Tt=(n,e=new Date)=>{const t=oe(e),a=new Date(t);a.setMonth(a.getMonth()+3);const r=new Date(a);r.setMonth(r.getMonth()+3,0);const s=n.getTime();return s>=a.getTime()&&s<r.getTime()},pt=(n,e=new Date)=>{const t=oe(e),a=new Date(t);a.setMonth(a.getMonth()-3);const r=new Date(t);r.setDate(0);const s=n.getTime();return s>=a.getTime()&&s<r.getTime()},Rt=(n,e=new Date)=>n.getFullYear()===e.getFullYear(),wt=(n,e=new Date)=>n.getFullYear()===e.getFullYear()+1,ft=(n,e=new Date)=>n.getFullYear()===e.getFullYear()-1,It=(n,e=new Date)=>{const t=new Date(e);t.setHours(0,0,0,0),t.setMonth(0,1);const a=n.getTime();return a>=t.getTime()&&a<e.getTime()};function _t(n){switch(n.compareType){case b.Equal:{const e=new Date(n.expectedValue);return t=>t.getTime()===e.getTime()}case b.NotEqual:{const e=new Date(n.expectedValue);return t=>t.getTime()!==e.getTime()}case b.After:{const e=new Date(n.expectedValue);return t=>t.getTime()>e.getTime()}case b.Before:{const e=new Date(n.expectedValue);return t=>t.getTime()<e.getTime()}case b.AfterOrEqual:{const e=new Date(n.expectedValue);return t=>t.getTime()>=e.getTime()}case b.BeforeOrEqual:{const e=new Date(n.expectedValue);return t=>t.getTime()<=e.getTime()}case b.Between:return e=>{const[t,a]=n.expectedValue;return e.getTime()>=new Date(t).getTime()&&e.getTime()<=new Date(a).getTime()};case b.NotBetween:return e=>{const[t,a]=n.expectedValue;return e.getTime()<new Date(t).getTime()||e.getTime()>new Date(a).getTime()};case b.Today:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>it(t,e)}case b.Yesterday:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>ct(t,e)}case b.Tomorrow:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>lt(t,e)}case b.ThisWeek:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>ut(t,e)}case b.LastWeek:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>ht(t,e)}case b.NextWeek:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>dt(t,e)}case b.ThisMonth:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>gt(t,e)}case b.LastMonth:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>St(t,e)}case b.NextMonth:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>bt(t,e)}case b.ThisQuarter:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>Ct(t,e)}case b.LastQuarter:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>pt(t,e)}case b.NextQuarter:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>Tt(t,e)}case b.ThisYear:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>Rt(t,e)}case b.LastYear:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>ft(t,e)}case b.NextYear:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>wt(t,e)}case b.YearToDate:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>It(t,e)}case b.M1:return Ge;case b.M2:return Xe;case b.M3:return ze;case b.M4:return Ke;case b.M5:return Ze;case b.M6:return et;case b.M7:return tt;case b.M8:return nt;case b.M9:return at;case b.M10:return rt;case b.M11:return st;case b.M12:return ot;case b.Q1:return ke;case b.Q2:return je;case b.Q3:return Qe;case b.Q4:return Ye;default:throw new Error("Unsupported compare type")}}class vt{constructor(){C(this,"heap");this.heap=[]}swap(e,t){const a=this.heap[e];this.heap[e]=this.heap[t],this.heap[t]=a}getParentIndex(e){return Math.floor((e-1)/2)}getLeftIndex(e){return e*2+1}getRightIndex(e){return e*2+2}size(){return this.heap.length}peek(){return this.heap[0]}include(e){return this.heap.includes(e)}}class Mt extends vt{constructor(){super()}shiftUp(e){if(e===0)return;const t=this.getParentIndex(e);this.heap[t]>this.heap[e]&&(this.swap(t,e),this.shiftUp(t))}shiftDown(e){const t=this.getLeftIndex(e),a=this.getRightIndex(e);this.heap[t]<this.heap[e]&&(this.swap(t,e),this.shiftDown(t)),this.heap[a]<this.heap[e]&&(this.swap(a,e),this.shiftDown(a))}insert(e){this.heap.push(e),this.shiftUp(this.heap.length-1)}pop(){this.heap[0]=this.heap.pop(),this.shiftDown(0)}}const Ft=(n,e)=>{const t=new Mt;for(const a of n)t.insert(a),t.size()>e&&t.pop();return t.heap},yt=(n,e)=>n>e,Nt=(n,e)=>n<e,Dt=(n,e,t)=>Ft(n,e).includes(t);function xt(n,e){switch(n.compareType){case F.Equal:{const t=Number(n.expectedValue);return a=>a===t}case F.NotEqual:{const t=Number(n.expectedValue);return a=>a!==t}case F.GreaterThan:{const t=Number(n.expectedValue);return a=>a>t}case F.GreaterThanOrEqual:{const t=Number(n.expectedValue);return a=>a>=t}case F.LessThan:{const t=Number(n.expectedValue);return a=>a<t}case F.LessThanOrEqual:{const t=Number(n.expectedValue);return a=>a<=t}case F.Between:{const[t,a]=n.expectedValue,r=Number(t),s=Number(a);return r>s?o=>o>=s&&o<=r:o=>o>=r&&o<=s}case F.NotBetween:{const[t,a]=n.expectedValue,r=Number(t),s=Number(a);return r>s?o=>o<s||o>r:o=>o<r||o>s}case F.Above:{const t=e.average;return a=>yt(a,t)}case F.Below:{const t=e.average;return a=>Nt(a,t)}case F.TopN:{const t=e.list,a=Number(n.expectedValue);return r=>Dt(t,a,r)}}}const Ot=(n,e)=>u.createREGEXFromWildChar(e).test(n),Ut=(n,e)=>!u.createREGEXFromWildChar(e).test(n),Et=(n,e)=>u.createREGEXFromWildChar(`*${e}*`).test(n),$t=(n,e)=>!u.createREGEXFromWildChar(`*${e}*`).test(n),At=(n,e)=>u.createREGEXFromWildChar(`${e}*`).test(n),Lt=(n,e)=>u.createREGEXFromWildChar(`*${e}`).test(n);function Bt(n){switch(n.compareType){case U.Equal:return e=>Ot(e,n.expectedValue);case U.NotEqual:return e=>Ut(e,n.expectedValue);case U.Contains:return e=>Et(e,n.expectedValue);case U.NotContains:return e=>$t(e,n.expectedValue);case U.StartsWith:return e=>At(e,n.expectedValue);case U.EndsWith:return e=>Lt(e,n.expectedValue);default:return console.error(`Unknown filter operator: ${n.compareType}`),e=>!0}}const Wt=new Set([F.Above,F.Below,F.TopN]);b.Today,b.Yesterday,b.Tomorrow,b.ThisWeek,b.LastWeek,b.NextWeek,b.ThisMonth,b.LastMonth,b.NextMonth,b.ThisQuarter,b.LastQuarter,b.NextQuarter,b.NextYear,b.ThisYear,b.LastYear,b.YearToDate;function _e(n){return Wt.has(n)}function qt(n,e){if(_e(n.filterInfo.compareType))return t=>!0;switch(n.filterInfo.conditionType){case D.Date:return _t(n.filterInfo);case D.Number:return xt(n.filterInfo,e);case D.String:return Bt(n.filterInfo);case D.Logic:default:return t=>!0}}function z(n,e,t,a){switch(a){case D.Date:{const r=de(n,e,t);return r?Pt(r):null}case D.Number:return de(n,e,t);case D.String:default:return Ht(n,e,t)}}const Vt=n=>{var t;return((t=n.body)==null?void 0:t.dataStream.replace(/\r\n$/,""))||""};function Ht(n,e,t){const a=n.getCell(e,t);if(!a)return null;const{v:r,t:s,p:o}=a;if(o)return Vt(o);if(typeof r=="string")return s===u.CellValueType.BOOLEAN?r.toUpperCase():r;if(typeof r=="number")return s===u.CellValueType.BOOLEAN?r?"TRUE":"FALSE":r;if(typeof r=="boolean")return r?"TRUE":"FALSE";if(r!==void 0)return String(r)}function de(n,e,t){const a=n.getCell(e,t);if(!a)return null;const{v:r,t:s,p:o}=a;return o?null:typeof r=="string"&&s===u.CellValueType.NUMBER?Number(n.getCellRaw(e,t).v):Number(r)}function Pt(n){const e=new Date(Date.UTC(1900,0,1,0,0,0)),t=new Date(Date.UTC(1900,1,28,0,0,0));let a=n-1;return a>(t.getTime()-e.getTime())/(1e3*3600*24)&&(a-=1),a<0&&(a=n),new Date(e.getTime()+a*(1e3*3600*24))}class he{constructor(){C(this,"_tableColumnFilterList");C(this,"_tableSortInfo");C(this,"_filterOutRows");this._tableColumnFilterList=[]}setColumnFilter(e,t){t?this._tableColumnFilterList[e]=t:this._tableColumnFilterList[e]=void 0}setSortState(e,t){this._tableSortInfo={columnIndex:e,sortState:t}}getColumnFilter(e){return this._tableColumnFilterList[e]}getFilterState(e){var a;const t=((a=this._tableSortInfo)==null?void 0:a.columnIndex)===e?this._tableSortInfo.sortState:B.None;return qe(this._tableColumnFilterList[e],t)}getSortState(){var e;return(e=this._tableSortInfo)!=null?e:{}}getFilterStates(e){const t=[],{startColumn:a,endColumn:r}=e;for(let s=a;s<=r;s++)t.push(this.getFilterState(s-a));return t}getFilterOutRows(){return this._filterOutRows}doFilter(e,t){const a=new Set,r=this._tableColumnFilterList;for(let s=0;s<r.length;s++)r[s]&&this.doColumnFilter(e,t,s,a);return this._filterOutRows=a,a}doColumnFilter(e,t,a,r){const s=this._tableColumnFilterList[a];if(s&&e){const{startRow:o,endRow:l,startColumn:c}=t,i=c+a,d=this.getExecuteFunc(e,t,a,s);for(let g=o;g<=l;g++){const h=pe(s)?s.filterInfo.conditionType:D.String;z(e,g,i,h)===null?r.add(g):d(z(e,g,i,h))||r.add(g)}}}_getNumberCalculatedOptions(e,t,a){const{startRow:r,endRow:s,startColumn:o}=t,l=o+a,c=[];let i=0,d=0;for(let g=r;g<=s;g++){const h=z(e,g,l,D.Number);h!==null&&(c.push(h),i++,d+=h)}return{list:c,average:i>0?d/i:0}}getExecuteFunc(e,t,a,r){if(r.filterType===V.manual){const s=new Set(r.values);return o=>s.has(o)}else if(r.filterType===V.condition){const o=_e(r.filterInfo.compareType)?this._getNumberCalculatedOptions(e,t,a):void 0;return qt(r,o)}else return s=>!0}toJSON(){return{tableColumnFilterList:this._tableColumnFilterList,tableSortInfo:this._tableSortInfo}}fromJSON(e){var t;this._tableColumnFilterList=(t=e.tableColumnFilterList)!=null?t:[],e.tableSortInfo&&(this._tableSortInfo=e.tableSortInfo)}dispose(){this._tableColumnFilterList=[]}}class ge{constructor(e,t,a,r,s={}){C(this,"_id");C(this,"_name");C(this,"_tableStyleId");C(this,"_showHeader");C(this,"_showFooter");C(this,"_range");C(this,"_columns",new Map);C(this,"_columnOrder",[]);C(this,"tableMeta");C(this,"_tableFilters");C(this,"_subUnitId");this._id=e,this._range=a,this._name=t,this._tableFilters=new he,this._init(r,s)}_init(e,t){var o,l;this._tableStyleId=t==null?void 0:t.tableStyleId,this._showHeader=(o=t==null?void 0:t.showHeader)!=null?o:!0,this._showFooter=!1;const a=this.getRange(),r=a.startColumn,s=a.endColumn;for(let c=r;c<=s;c++){const i=c-r;let d,g;(l=t.columns)!=null&&l[i]?(d=t.columns[i].id,g=t.columns[i].displayName):(d=u.generateRandomId(),g=e[c-r]);const h=new q(d,g);this._columns.set(d,h),this._columnOrder.push(d)}t.filters&&t.filters.forEach((i,d)=>{i&&this._tableFilters.setColumnFilter(d,i)})}setTableFilterColumn(e,t){this._tableFilters.setColumnFilter(e,t)}getTableFilterColumn(e){return this._tableFilters.getColumnFilter(e)}getTableFilters(){return this._tableFilters}getTableFilterRange(){const e=this.getRange(),t=this.isShowHeader(),a=this.isShowFooter(),{startRow:r,startColumn:s,endRow:o,endColumn:l}=e,c=t?r+1:r,i=a?o-1:o;return{startRow:c,startColumn:s,endRow:i,endColumn:l}}setColumns(e){this._columns.clear(),this._columnOrder=[],e.forEach(t=>{const a=new q(t.id,t.displayName);a.fromJSON(t),this._columns.set(t.id,a),this._columnOrder.push(t.id)})}getColumnsCount(){return this._columnOrder.length}insertColumn(e,t){const a=t.id;this._columns.set(a,t),this._columnOrder.splice(e,0,a)}removeColumn(e){const t=this._columnOrder[e];this._columns.delete(t),this._columnOrder.splice(e,1)}setTableMeta(e){this.tableMeta=e}getTableMeta(){return this.tableMeta}getColumn(e){return this._columns.get(e)}getTableColumnByIndex(e){const t=this._columnOrder[e];return this.getColumn(t)}getColumnNameByIndex(e){var a;const t=this._columnOrder[e];return((a=this.getColumn(t))==null?void 0:a.getDisplayName())||""}getId(){return this._id}getRangeInfo(){return{...this._range}}getRange(){return{...this._range}}setRange(e){this._range=e}setDisplayName(e){this._name=e}getDisplayName(){return this._name}getSubunitId(){return this._subUnitId}setSubunitId(e){this._subUnitId=e}getTableStyleId(){var e;return(e=this._tableStyleId)!=null?e:fe[0].name}setTableStyleId(e){this._tableStyleId=e}isShowHeader(){var e;return(e=this._showHeader)!=null?e:!0}setShowHeader(e){this._showHeader=e}isShowFooter(){var e;return(e=this._showFooter)!=null?e:!1}getTableInfo(){return{id:this._id,subUnitId:this._subUnitId,name:this._name,range:this.getRangeInfo(),meta:this.tableMeta,showHeader:this._showHeader,columns:this._columnOrder.map(e=>this._columns.get(e).toJSON())}}getTableConfig(){return{name:this.getDisplayName(),range:this.getRangeInfo(),options:{showHeader:this._showHeader,showFooter:this._showFooter},tableStyleId:this._tableStyleId}}getFilterStates(e){return this._tableFilters.getFilterStates(e)}toJSON(){const e=[];return this._columns.forEach(t=>{e.push(t.toJSON())}),{id:this._id,name:this._name,range:this.getRangeInfo(),options:{showHeader:this._showHeader,showFooter:this._showFooter,tableStyleId:this._tableStyleId},filters:this._tableFilters.toJSON(),columns:e,meta:this.tableMeta}}fromJSON(e){var a,r;this._id=e.id,this._name=e.name,this._range=e.range,this.tableMeta=e.meta,this._tableStyleId=e.options.tableStyleId||"",this._showHeader=(a=e.options.showHeader)!=null?a:!0,this._showFooter=(r=e.options.showFooter)!=null?r:!0,e.columns.forEach(s=>{const o=new q(s.id,s.displayName);o.fromJSON(s),this._columns.set(s.id,o),this._columnOrder.push(s.id)}),this._tableFilters=new he,this._tableFilters.fromJSON(e.filters)}dispose(){this._id="",this._name="",this._tableStyleId="",this._showHeader=!0,this._showFooter=!0,delete this._range,this._columns.clear(),this._columnOrder=[]}}var Jt=Object.getOwnPropertyDescriptor,kt=(n,e,t,a)=>{for(var r=a>1?void 0:a?Jt(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},me=(n,e)=>(t,a)=>e(t,a,n);exports.TableManager=class extends u.Disposable{constructor(t,a){super();C(this,"_tableMap");C(this,"_tableAdd$",new N.Subject);C(this,"tableAdd$",this._tableAdd$.asObservable());C(this,"_tableDelete$",new N.Subject);C(this,"tableDelete$",this._tableDelete$.asObservable());C(this,"_tableNameChanged$",new N.Subject);C(this,"tableNameChanged$",this._tableNameChanged$.asObservable());C(this,"_tableRangeChanged$",new N.Subject);C(this,"tableRangeChanged$",this._tableRangeChanged$.asObservable());C(this,"_tableThemeChanged$",new N.Subject);C(this,"tableThemeChanged$",this._tableThemeChanged$.asObservable());C(this,"_tableFilterChanged$",new N.Subject);C(this,"tableFilterChanged$",this._tableFilterChanged$.asObservable());C(this,"_tableInitStatus",new N.BehaviorSubject(!1));C(this,"tableInitStatus$",this._tableInitStatus.asObservable());this._univerInstanceService=t,this._localeService=a,this._tableMap=new Map}_ensureUnit(t){return this._tableMap.has(t)||this._tableMap.set(t,new Map),this._tableMap.get(t)}getColumnHeader(t,a,r,s){var h;const o=(h=this._univerInstanceService.getUnit(t))==null?void 0:h.getSheetBySheetId(a),{startRow:l,startColumn:c,endColumn:i}=r,d=[],g=s!=null?s:"Column";for(let m=c;m<=i;m++)d.push(Te(o==null?void 0:o.getCell(l,m))||J(m-c+1,g));return d}addTable(t,a,r,s,o,l,c){var m;const i=l!=null?l:u.generateRandomId(),d=o||this.getColumnHeader(t,a,s),g=new ge(i,r,s,d,c);if(g.setSubunitId(a),this._ensureUnit(t).set(i,g),this._tableAdd$.next({unitId:t,subUnitId:a,range:s,tableName:r,tableId:i,tableStyleId:c==null?void 0:c.tableStyleId}),c!=null&&c.filters){const T=(m=this._univerInstanceService.getUnit(t))==null?void 0:m.getSheetBySheetId(a);g.getTableFilters().doFilter(T,s),this._tableFilterChanged$.next({unitId:t,subUnitId:a,tableId:i})}return i}addFilter(t,a,r,s){const o=this.getTable(t,a);if(o){o.getTableFilters().setColumnFilter(r,s);const c=o.getSubunitId();this._tableFilterChanged$.next({unitId:t,subUnitId:c,tableId:a})}}getFilterRanges(t,a){const r=this._tableMap.get(t);if(!r)return[];const s=[];return r.forEach(o=>{o.getSubunitId()===a&&o.isShowHeader()&&s.push(o.getRange())}),s}getSheetFilterRangeWithState(t,a){const r=this._tableMap.get(t);if(!r)return[];const s=[];return r.forEach(o=>{o.getSubunitId()===a&&o.isShowHeader()&&s.push({tableId:o.getId(),range:o.getRange(),states:o.getFilterStates(o.getRange())})}),s}getTable(t,a){const r=this._tableMap.get(t);if(r)return r.get(a)}getUniqueTableName(t,a){const r=this._tableMap.get(t);if(!r)return a;const s=new Set(Array.from(r.values()).map(c=>c.getDisplayName()));let o=a,l=1;for(;s.has(o);)o=`${a}-${l}`,l++;return o}getTableById(t,a){return this.getTable(t,a)}getTableList(t){const a=this._tableMap.get(t);return a?Array.from(a.values()).map(r=>({...r.getTableInfo(),unitId:t})):[]}getTablesBySubunitId(t,a){const r=this._tableMap.get(t);return r?Array.from(r.values()).filter(s=>s.getSubunitId()===a):[]}getTablesInfoBySubunitId(t,a){return this.getTablesBySubunitId(t,a).map(r=>({id:r.getId(),name:r.getDisplayName(),range:r.getRange()}))}deleteTable(t,a){const r=this._tableMap.get(t),s=r==null?void 0:r.get(a);if(s){const o=s.getTableInfo(),l=s.getTableStyleId();r==null||r.delete(a);const{subUnitId:c,range:i,name:d}=o;this._tableDelete$.next({unitId:t,subUnitId:c,tableId:a,range:i,tableName:d,tableStyleId:l})}}operationTableRowCol(t,a,r){const s=this.getTableById(t,a);if(!s)return;const{operationType:o,rowColType:l,index:c,count:i,columnsJson:d}=r,g=s.getRange(),h={...g};if(o===v.Insert){if(l==="row")h.endRow+=i;else if(l==="column"){h.endColumn+=i;for(let m=0;m<i;m++){const T=this._localeService.t("sheets-table.columnPrefix"),R=new q(u.generateRandomId(),J(s.getColumnsCount()+1+m,T));d!=null&&d[m]&&R.fromJSON(d[m]);const w=c+m-g.startColumn;s.insertColumn(w,R)}}}else if(l==="row")h.endRow-=i;else if(l==="column"){h.endColumn-=i;for(let m=i-1;m>=0;m--){const T=c+m-g.startColumn;s.removeColumn(T)}}s.setRange(h),this._tableRangeChanged$.next({unitId:t,subUnitId:s.getSubunitId(),tableId:a,range:h,oldRange:g})}updateTableRange(t,a,r){const s=this.getTableById(t,a);if(!s)return;const o=s.getRange(),l=r.newRange;if(l.startColumn<o.startColumn){const c=o.startColumn-l.startColumn,i=this._localeService.t("sheets-table.columnPrefix");for(let d=0;d<c;d++)s.insertColumn(o.startColumn,new q(u.generateRandomId(),J(s.getColumnsCount()+1,i)))}else if(l.startColumn>o.startColumn){const c=l.startColumn-o.startColumn;for(let i=c-1;i>=0;i--){const d=l.startColumn+i-o.startColumn;s.removeColumn(d)}}if(l.endColumn<o.endColumn){const c=o.endColumn-l.endColumn;for(let i=c-1;i>=0;i--){const d=l.endColumn+i-o.startColumn;s.removeColumn(d)}}else if(l.endColumn>o.endColumn){const c=l.endColumn-o.endColumn;for(let i=0;i<c;i++)s.insertColumn(o.endColumn,new q(u.generateRandomId(),J(s.getColumnsCount()+1,"Column")))}s.setRange(l),this._tableRangeChanged$.next({unitId:t,subUnitId:s.getSubunitId(),tableId:a,range:l,oldRange:o})}setTableByConfig(t,a,r){var m;const s=this._tableMap.get(t),o=s==null?void 0:s.get(a);if(!o)return;const l=o.getSubunitId(),{name:c,updateRange:i,rowColOperation:d,theme:g,options:h}=r;if(c){const T=o.getDisplayName();o.setDisplayName(c),this._tableNameChanged$.next({unitId:t,subUnitId:l,tableId:a,tableName:c,oldTableName:T})}if(d&&this.operationTableRowCol(t,a,d),i&&this.updateTableRange(t,a,i),g){const T=(m=o.getTableStyleId())!=null?m:"default";o.setTableStyleId(g),this._tableThemeChanged$.next({unitId:t,subUnitId:l,tableId:a,theme:g,oldTheme:T})}h&&h.showHeader!==void 0&&o.setShowHeader(h.showHeader)}toJSON(t){const a={},r=this._tableMap.get(t);return r&&r.forEach(s=>{const o=s.getSubunitId();if(!a[o]){const l=new Set;this.getTablesBySubunitId(t,o).forEach(i=>{const d=i.getTableFilters().getFilterOutRows();if(d)for(const g of d)l.add(g)}),a[o]={tables:[],tableFilteredOutRows:Array.from(l)}}a[o].tables.push(s.toJSON())}),a}fromJSON(t,a){const r=this._ensureUnit(t);Object.keys(a).forEach(o=>{const l=S.getSheetCommandTarget(this._univerInstanceService,{unitId:t,subUnitId:o});if(!l)return;const c=l.worksheet;let i;a[o].tables?i=a[o].tables:Array.isArray(a[o])&&(i=a[o]),i&&i.forEach(d=>{const g=this.getColumnHeader(t,o,d.range),h=new ge(d.id,d.name,d.range,g,d.options);if(h.setTableMeta(d.meta),d.columns.length&&h.setColumns(d.columns),d.filters){const m=h.getTableFilters();m.fromJSON(d.filters),m.doFilter(c,h.getTableFilterRange())}h.setSubunitId(o),r.set(d.id,h),this._tableAdd$.next({unitId:t,subUnitId:o,range:d.range,tableName:d.name,tableId:d.id})})}),this._tableInitStatus.next(!0)}deleteUnitId(t){const a=this._tableMap.get(t);a&&a.forEach(r=>r.dispose()),this._tableMap.delete(t)}dispose(){super.dispose(),this._tableAdd$.complete(),this._tableDelete$.complete(),this._tableNameChanged$.complete(),this._tableRangeChanged$.complete(),this._tableThemeChanged$.complete(),this._tableFilterChanged$.complete(),this._tableInitStatus.complete(),this._tableMap.forEach(t=>{t.forEach(a=>a.dispose()),t.clear()}),this._tableMap.clear()}};exports.TableManager=kt([me(0,u.IUniverInstanceService),me(1,u.Inject(u.LocaleService))],exports.TableManager);var jt=Object.getOwnPropertyDescriptor,Qt=(n,e,t,a)=>{for(var r=a>1?void 0:a?jt(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},Yt=(n,e)=>(t,a)=>e(t,a,n);exports.SheetTableService=class extends u.Disposable{constructor(e){super(),this._tableManager=e}getTableInfo(e,t){const a=this._tableManager.getTable(e,t);if(a)return{unitId:e,...a.getTableInfo()}}getTableList(e){return this._tableManager.getTableList(e)}addTable(e,t,a,r,s,o,l){return this._tableManager.addTable(e,t,a,r,s,o,l)}deleteTable(e,t,a){this._tableManager.deleteTable(e,a)}getTableMeta(e,t){var a;return(a=this._tableManager.getTable(e,t))==null?void 0:a.getTableMeta()}setTableMeta(e,t,a){var r;(r=this._tableManager.getTable(e,t))==null||r.setTableMeta(a)}getTableColumnMeta(e,t,a){var r,s;return(s=(r=this._tableManager.getTable(e,t))==null?void 0:r.getTableColumnByIndex(a))==null?void 0:s.getMeta()}selTableColumnMeta(e,t,a,r){var s,o;(o=(s=this._tableManager.getTable(e,t))==null?void 0:s.getTableColumnByIndex(a))==null||o.setMeta(r)}addFilter(e,t,a,r){this._tableManager.addFilter(e,t,a,r)}getCellValueWithConditionType(e,t,a,r=D.String){return z(e,t,a,r)}};exports.SheetTableService=Qt([Yt(0,u.Inject(exports.TableManager))],exports.SheetTableService);const $={id:"sheet.mutation.add-table",type:u.CommandType.MUTATION,handler:(n,e)=>{const{tableId:t,unitId:a,subUnitId:r,name:s,range:o,header:l,options:c}=e;return n.get(exports.SheetTableService).addTable(a,r,s,o,l,t,c),!0}},A={id:"sheet.mutation.delete-table",type:u.CommandType.MUTATION,handler:(n,e)=>{const{unitId:t,subUnitId:a,tableId:r}=e;return n.get(exports.SheetTableService).deleteTable(t,a,r),!0}},ve={id:"sheet.command.add-table",type:u.CommandType.COMMAND,handler:(n,e)=>{var w;if(!e)return!1;const t=n.get(u.IUndoRedoService),a=n.get(u.ICommandService),r=n.get(u.LocaleService),s=n.get(exports.TableManager),o=(w=e.id)!=null?w:u.generateRandomId(),l=Re(e.unitId,{univerInstanceService:n.get(u.IUniverInstanceService),tableManager:s,definedNamesService:n.get(k.IDefinedNamesService)});let c=e.name;if(!c||!u.customNameCharacterCheck(c.toLowerCase(),l)){const p=r.t("sheets-table.tablePrefix");let I=s.getTableList(e.unitId).length+1;for(const O of l)if(O.startsWith(p.toLowerCase())){const _=Number(O.slice(p.length));Number.isInteger(_)&&_>=I&&(I=_+1)}c=`${p}${I}`}const i=[],d=[],{unitId:g,subUnitId:h,range:m}=e,T=s.getColumnHeader(g,h,m,r.t("sheets-table.columnPrefix"));return i.push({id:$.id,params:{...e,tableId:o,name:c,header:T}}),d.push({id:A.id,params:{tableId:o,unitId:e.unitId}}),u.sequenceExecute(i,a)&&t.pushUndoRedo({unitID:e.unitId,undoMutations:d,redoMutations:i}),!0}},f={id:"sheet.mutation.set-sheet-table",type:u.CommandType.MUTATION,handler:(n,e)=>{if(!e)return!1;const{unitId:t,tableId:a,config:r}=e;return n.get(exports.TableManager).setTableByConfig(t,a,r),!0}},Me={id:"sheet.command.add-table-theme",type:u.CommandType.COMMAND,handler:(n,e)=>{if(!e)return!1;const t=n.get(exports.TableManager),{unitId:a,tableId:r,themeStyle:s}=e,o=[],l=[],c=t.getTableById(a,r);if(!c)return!1;const i=c.getSubunitId();o.push({id:S.AddRangeThemeMutation.id,params:{unitId:a,subUnitId:i,styleJSON:s.toJson()}}),o.push({id:f.id,params:{unitId:a,subUnitId:i,tableId:r,config:{theme:s.getName()}}}),l.push({id:f.id,params:{unitId:a,subUnitId:i,tableId:r,config:{themeStyle:c.getTableStyleId()}}}),l.push({id:S.RemoveRangeThemeMutation.id,params:{unitId:a,subUnitId:i,styleName:s.getName()}});const d=n.get(u.ICommandService);return u.sequenceExecute(o,d)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:a,undoMutations:l,redoMutations:o}),!0}},Fe={id:"sheet.command.delete-table",type:u.CommandType.COMMAND,handler:(n,e)=>{if(!e)return!1;const t=n.get(u.IUndoRedoService),a=n.get(u.ICommandService),r=n.get(exports.TableManager),s=n.get(u.ILogService),o=[],l=[],c=r.getTable(e.unitId,e.tableId),i=c==null?void 0:c.toJSON();return i?(o.push({id:A.id,params:{...e}}),l.push({id:$.id,params:{unitId:e.unitId,subUnitId:e.subUnitId,tableId:e.tableId,name:i.name,range:i.range,options:i.options}}),u.sequenceExecute(o,a)&&t.pushUndoRedo({unitID:e.unitId,undoMutations:l,redoMutations:o}),!0):(s.error("[TableManager]: Table not found"),!1)}},ye="SHEET_TABLE_PLUGIN",Q="SHEET_TABLE",Ne="table-custom",De={id:"sheet.command.remove-table-theme",type:u.CommandType.COMMAND,handler:(n,e)=>{if(!e)return!1;const{unitId:t,tableId:a,themeName:r}=e,s=n.get(exports.TableManager),o=n.get(S.SheetRangeThemeModel),l=s.getTableById(t,a);if(!l)return!1;const c=l.getSubunitId(),i=[],d=[],g=o.getRegisteredRangeThemes().filter(p=>p==null?void 0:p.startsWith("table-default"));let m=o.getRegisteredRangeThemes().filter(p=>p==null?void 0:p.startsWith(Ne)).find(p=>p!==r);m||(m=g[0]),i.push({id:f.id,params:{unitId:t,subUnitId:c,tableId:a,config:{theme:m}}}),i.push({id:S.RemoveRangeThemeMutation.id,params:{unitId:t,subUnitId:c,styleName:r}});const T=o.getDefaultRangeThemeStyle(r);T&&(d.push({id:S.AddRangeThemeMutation.id,params:{unitId:t,subUnitId:c,styleJSON:T.toJson()}}),d.push({id:f.id,params:{unitId:t,subUnitId:c,tableId:a,config:{theme:r}}}));const R=n.get(u.ICommandService);return u.sequenceExecute(i,R)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:t,redoMutations:i,undoMutations:d}),!0}},xe={id:"sheet.command.set-table-config",type:u.CommandType.COMMAND,handler:(n,e)=>{if(!e)return!1;const{unitId:t,tableId:a,name:r,updateRange:s,rowColOperation:o,theme:l}=e,c=n.get(exports.TableManager),i=c.getTableById(t,a);if(!i)return!1;const d={},g={},h=n.get(u.LocaleService),m=Re(t,{univerInstanceService:n.get(u.IUniverInstanceService),tableManager:c,definedNamesService:n.get(k.IDefinedNamesService)});if(r){if(!u.customNameCharacterCheck(r.toLowerCase(),m))return n.get(u.ILogService).warn(h.t("sheets-table.tableNameError")),!1;d.name=i.getDisplayName(),g.name=r}o&&(d.rowColOperation={operationType:o.operationType===v.Insert?v.Delete:v.Insert,rowColType:o.rowColType,index:o.index,count:o.count},g.rowColOperation=o),s&&(d.updateRange={newRange:i.getRange()},g.updateRange=s),l&&(d.theme=i.getTableStyleId(),g.theme=l);const T={unitId:t,subUnitId:i.getSubunitId(),tableId:a,config:g};return n.get(u.ICommandService).executeCommand(f.id,T),n.get(u.IUndoRedoService).pushUndoRedo({unitID:t,undoMutations:[{id:f.id,params:{unitId:t,subUnitId:i.getSubunitId(),tableId:a,config:d}}],redoMutations:[{id:f.id,params:T}]}),!0}},K={id:"sheet.mutation.set-table-filter",type:u.CommandType.MUTATION,handler:(n,e)=>{const{tableId:t,unitId:a,column:r,tableFilter:s}=e;return n.get(exports.TableManager).addFilter(a,t,r,s),!0}},Oe={id:"sheet.command.set-table-filter",type:u.CommandType.COMMAND,handler:(n,e)=>{if(!e)return!1;const t=n.get(u.IUndoRedoService),a=n.get(u.ICommandService),r=e.tableId||u.generateRandomId(),s=[],o=[];return s.push({id:K.id,params:{...e,tableId:r}}),o.push({id:K.id,params:{...e,tableId:r,tableFilter:void 0}}),u.sequenceExecute(s,a)&&t.pushUndoRedo({unitID:e.unitId,undoMutations:o,redoMutations:s}),!0}};var Gt=Object.getOwnPropertyDescriptor,Xt=(n,e,t,a)=>{for(var r=a>1?void 0:a?Gt(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},Y=(n,e)=>(t,a)=>e(t,a,n);exports.SheetsTableController=class extends u.Disposable{constructor(t,a,r,s){super();C(this,"_tableRangeRTree",new Map);this._univerInstanceService=t,this._sheetInterceptorService=a,this._tableManager=r,this._resourceManagerService=s,this._initSnapshot(),this._initSheetChange(),this.registerTableChangeEvent(),this.registerTableHeaderInterceptor()}getContainerTableWithRange(t,a,r){const s=this._ensureTableRangeRTree(t),l=Array.from(s.bulkSearch([{unitId:t,sheetId:a,range:r}])).find(c=>{const i=this._tableManager.getTable(t,String(c));return i?u.Rectangle.contains(i.getRange(),r):!1});if(l)return this._tableManager.getTable(t,String(l))}_ensureTableRangeRTree(t){return this._tableRangeRTree.has(t)||this._tableRangeRTree.set(t,new u.RTree),this._tableRangeRTree.get(t)}registerTableChangeEvent(){this.disposeWithMe(this._tableManager.tableAdd$.subscribe(t=>{const{range:a,tableId:r,unitId:s,subUnitId:o}=t;this._ensureTableRangeRTree(s).insert({unitId:s,sheetId:o,id:r,range:{...a}})})),this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(t=>{const{range:a,tableId:r,unitId:s,subUnitId:o,oldRange:l}=t,c=this._ensureTableRangeRTree(s);c.remove({unitId:s,sheetId:o,id:r,range:{...l}}),c.insert({unitId:s,sheetId:o,id:r,range:{...a}})})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(t=>{const{tableId:a,unitId:r,subUnitId:s,range:o}=t;this._ensureTableRangeRTree(r).remove({unitId:r,sheetId:s,id:a,range:{...o}})}))}registerTableHeaderInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(S.INTERCEPTOR_POINT.CELL_CONTENT,{effect:u.InterceptorEffectEnum.Value,handler:(t,a,r)=>{const{row:s,col:o,unitId:l,subUnitId:c}=a,i=this._ensureTableRangeRTree(l);if((t==null?void 0:t.v)===void 0&&i){const g=Array.from(i.bulkSearch([{unitId:l,sheetId:c,range:{startColumn:o,endColumn:o,startRow:s,endRow:s}}]));if(g.length>0){const h=this._tableManager.getTable(l,g[0]);if(h){const m=h.getRange(),T=o-m.startColumn;if(m.startRow===s){const w=h.getColumnNameByIndex(T);return(!t||t===a.rawData)&&(t={...a.rawData}),t.v=w,r(t)}}}}return r(t)}}))}_toJson(t){return this._tableManager.toJSON(t)}_fromJSON(t,a){return this._tableManager.fromJSON(t,a)}_deleteUnitId(t){this._tableManager.deleteUnitId(t)}_initSnapshot(){this.disposeWithMe(this._resourceManagerService.registerPluginResource({toJson:t=>JSON.stringify(this._toJson(t)),parseJson:t=>{if(!t)return{};try{return JSON.parse(t)}catch{return{}}},businesses:[u.UniverInstanceType.UNIVER_SHEET],pluginName:ye,onLoad:(t,a)=>{this._fromJSON(t,a)},onUnLoad:t=>{this._deleteUnitId(t)}}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:t=>{var a;if(t.id===S.RemoveSheetCommand.id){const r=t.params,s=r.unitId||this._univerInstanceService.getCurrentUnitOfType(u.UniverInstanceType.UNIVER_SHEET).getUnitId(),o=r.subUnitId||((a=this._univerInstanceService.getCurrentUnitOfType(u.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:a.getSheetId());if(!s||!o)return{redos:[],undos:[]};const l=this._tableManager.getTablesBySubunitId(s,o);if(l.length===0)return{redos:[],undos:[]};const c=[],i=[];return l.forEach(d=>{const g=d.toJSON();c.push({id:A.id,params:{unitId:s,subUnitId:o,tableId:g.id}}),i.push({id:$.id,params:{unitId:s,subUnitId:o,name:g.name,range:g.range,tableId:g.id,options:{...g.options,columns:g.columns,filters:g.filters.tableColumnFilterList}}})}),{redos:c,undos:i}}else if(t.id===S.CopySheetCommand.id){const r=t.params,{unitId:s,subUnitId:o,targetSubUnitId:l}=r;if(!s||!o||!l)return{redos:[],undos:[]};const c=this._tableManager.getTablesBySubunitId(s,o);if(c.length===0)return{redos:[],undos:[]};const i=[],d=[];return c.forEach(g=>{const h=g.toJSON(),m=u.generateRandomId();i.push({id:$.id,params:{unitId:s,subUnitId:l,name:h.name,range:{...h.range,sheetId:l},tableId:m,options:{...h.options,columns:h.columns,filters:h.filters.tableColumnFilterList}}}),d.push({id:A.id,params:{unitId:s,subUnitId:l,tableId:m}})}),{redos:i,undos:d}}return{redos:[],undos:[]}}}))}dispose(){super.dispose(),this._tableRangeRTree.clear()}};exports.SheetsTableController=Xt([Y(0,u.Inject(u.IUniverInstanceService)),Y(1,u.Inject(S.SheetInterceptorService)),Y(2,u.Inject(exports.TableManager)),Y(3,u.Inject(u.IResourceManagerService))],exports.SheetsTableController);const Ue={id:"sheet.command.table-insert-row",type:u.CommandType.COMMAND,handler:n=>{const e=n.get(u.IUniverInstanceService),t=S.getSheetCommandTarget(e);if(!t)return!1;const{workbook:a,worksheet:r,unitId:s,subUnitId:o}=t,c=n.get(S.SheetsSelectionsService).getCurrentSelections();if(!c.length||c.length>1)return!1;n.get(exports.TableManager);const d=c[0].range,h=n.get(exports.SheetsTableController).getContainerTableWithRange(s,o,d);if(!h)return!1;const m=d.endRow-d.startRow+1,R=r.getRowCount()-1,w=r.getCellMatrix().getDataRange().endRow,p=[],I=[];if(R-w<m)p.push({id:S.InsertRowMutation.id,params:{unitId:s,subUnitId:o,range:{...d}}}),p.push({id:f.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{updateRange:{newRange:{...h.getRange(),endRow:h.getRange().endRow+m}}}}}),I.push({id:f.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{updateRange:{newRange:h.getRange()}}}}),I.push({id:S.RemoveRowMutation.id,params:{unitId:s,subUnitId:o,range:{...d}}});else{const M={...h.getRange()};p.push({id:f.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{updateRange:{newRange:{...M,endRow:M.endRow+m}}}}}),I.push({id:f.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{updateRange:{newRange:{...M}}}}});const P=S.getMoveRangeUndoRedoMutations(n,{unitId:s,subUnitId:o,range:{startRow:d.startRow,endRow:w,startColumn:M.startColumn,endColumn:M.endColumn}},{unitId:s,subUnitId:o,range:{startRow:d.startRow+m,endRow:w+m,startColumn:M.startColumn,endColumn:M.endColumn}});P&&(p.push(...P.redos),I.push(...P.undos))}const O=n.get(u.ICommandService);return u.sequenceExecute(p,O)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:s,undoMutations:I,redoMutations:p}),!0}},Ee={id:"sheet.command.table-insert-col",type:u.CommandType.COMMAND,handler:n=>{const e=n.get(u.IUniverInstanceService),t=S.getSheetCommandTarget(e);if(!t)return!1;const{worksheet:a,unitId:r,subUnitId:s}=t,l=n.get(S.SheetsSelectionsService).getCurrentSelections();if(!l.length||l.length>1)return!1;const i=l[0].range,g=n.get(exports.SheetsTableController).getContainerTableWithRange(r,s,i);if(!g)return!1;const h=i.endColumn-i.startColumn+1,T=a.getColumnCount()-1,R=a.getCellMatrix().getDataRange().endColumn,w=[],p=[];if(T-R<h)w.push({id:S.InsertColMutation.id,params:{unitId:r,subUnitId:s,range:{...i}}}),w.push({id:f.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:y.Col,index:i.startColumn,count:h}}}}),p.push({id:f.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:y.Col,index:i.startColumn,count:h}}}}),p.push({id:S.RemoveColMutation.id,params:{unitId:r,subUnitId:s,range:{...i}}});else{const _=g.getRange();w.push({id:f.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:y.Col,index:i.startColumn,count:h}}}}),p.push({id:f.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:y.Col,index:i.startColumn,count:h}}}});const M=S.getMoveRangeUndoRedoMutations(n,{unitId:r,subUnitId:s,range:{startRow:_.startRow,endRow:_.endRow,startColumn:i.startColumn,endColumn:R}},{unitId:r,subUnitId:s,range:{startRow:_.startRow,endRow:_.endRow,startColumn:i.startColumn+h,endColumn:R+h}});M&&(w.push(...M.redos),p.push(...M.undos))}const I=n.get(u.ICommandService);return u.sequenceExecute(w,I)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:r,undoMutations:p,redoMutations:w}),!0}},$e={id:"sheet.command.table-remove-row",type:u.CommandType.COMMAND,handler:(n,e)=>{if(!e)return!1;const t=n.get(u.IUniverInstanceService),a=S.getSheetCommandTarget(t,e);if(!a)return!1;const{unitId:r,subUnitId:s}=a,l=n.get(S.SheetsSelectionsService).getCurrentSelections();if(!l.length||l.length>1)return!1;const i=l[0].range,g=n.get(exports.SheetsTableController).getContainerTableWithRange(r,s,i);if(!g)return!1;const h=i.endRow-i.startRow+1,m=[],T=[],R=g.getRange();m.push({id:f.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{updateRange:{newRange:{...R,endRow:R.endRow-h}}}}}),T.push({id:f.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{updateRange:{newRange:{...R}}}}});const p=a.worksheet.getCellMatrix().getDataRange().endRow,I=S.getMoveRangeUndoRedoMutations(n,{unitId:r,subUnitId:s,range:{startRow:i.endRow+1,endRow:p,startColumn:R.startColumn,endColumn:R.endColumn}},{unitId:r,subUnitId:s,range:{startRow:i.startRow,endRow:p-h,startColumn:R.startColumn,endColumn:R.endColumn}});I&&(m.push(...I.redos),T.push(...I.undos));const O=n.get(u.ICommandService);return u.sequenceExecute(m,O)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:r,undoMutations:T,redoMutations:m}),!0}},Ae={id:"sheet.command.table-remove-col",type:u.CommandType.COMMAND,handler:(n,e)=>{if(!e)return!1;const t=n.get(u.IUniverInstanceService),a=S.getSheetCommandTarget(t,e);if(!a)return!1;const{workbook:r,unitId:s,subUnitId:o}=a;n.get(exports.TableManager);const c=n.get(S.SheetsSelectionsService).getCurrentSelections();if(!c.length||c.length>1)return!1;const d=c[0].range,h=n.get(exports.SheetsTableController).getContainerTableWithRange(s,o,d);if(!h)return!1;const m=d.endColumn-d.startColumn+1,T=[],R=[],w=h.getRange();T.push({id:f.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:y.Col,index:d.startColumn,count:m}}}});const p=[],I=d.startColumn-w.startColumn;for(let j=0;j<m;j++){const ie=h.getTableInfo().columns[I+j];ie&&p.push(ie)}R.push({id:f.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:y.Col,index:d.startColumn,count:m,columnsJson:p}}}});const _=a.worksheet.getCellMatrix().getDataRange().endColumn,M=S.getMoveRangeUndoRedoMutations(n,{unitId:s,subUnitId:o,range:{startRow:w.startRow,endRow:w.endRow,startColumn:d.endColumn+1,endColumn:_}},{unitId:s,subUnitId:o,range:{startRow:w.startRow,endRow:w.endRow,startColumn:d.startColumn,endColumn:_-m}});M&&(T.push(...M.redos),R.push(...M.undos));const P=n.get(u.ICommandService);return u.sequenceExecute(T,P)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:s,undoMutations:R,redoMutations:T}),!0}},zt="@univerjs/sheets-table",Kt="0.17.0",be={name:zt,version:Kt};var Zt=Object.getOwnPropertyDescriptor,en=(n,e,t,a)=>{for(var r=a>1?void 0:a?Zt(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},Se=(n,e)=>(t,a)=>e(t,a,n);let Z=class extends u.Disposable{constructor(n,e){super(),this._tableManager=n,this._commandService=e,this._initRangeListener()}_initRangeListener(){this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(n=>{const{tableId:e,unitId:t}=n,a=this._tableManager.getTableById(t,e);a&&this._updateSuperTable(t,a)})),this.disposeWithMe(this._tableManager.tableAdd$.subscribe(n=>{const{tableId:e,unitId:t}=n,a=this._tableManager.getTableById(t,e);a&&this._updateSuperTable(t,a)})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(n=>{const{unitId:e,tableName:t}=n;this._commandService.executeCommand(k.RemoveSuperTableMutation.id,{unitId:e,tableName:t})})),this.disposeWithMe(this._tableManager.tableNameChanged$.subscribe(n=>{const{tableId:e,unitId:t,oldTableName:a}=n;this._commandService.executeCommand(k.RemoveSuperTableMutation.id,{unitId:t,tableName:a});const r=this._tableManager.getTableById(t,e);r&&this._updateSuperTable(t,r)}))}_updateSuperTable(n,e){const t=e.getTableInfo(),a=t.name,r=t.columns,s=new Map;r.forEach((o,l)=>{s.set(o.displayName,l)}),this._commandService.executeCommand(k.SetSuperTableMutation.id,{unitId:n,tableName:a,reference:{range:t.range,sheetId:t.subUnitId,titleMap:s}})}};Z=en([Se(0,u.Inject(exports.TableManager)),Se(1,u.ICommandService)],Z);var tn=Object.getOwnPropertyDescriptor,nn=(n,e,t,a)=>{for(var r=a>1?void 0:a?tn(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},Ce=(n,e)=>(t,a)=>e(t,a,n);let ee=class extends u.Disposable{constructor(n,e){super(),this._tableManager=n,this._exclusiveRangeService=e,this._initRangeListener()}_initRangeListener(){this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(n=>{const{range:e,tableId:t,unitId:a,subUnitId:r}=n;this._exclusiveRangeService.clearExclusiveRangesByGroupId(a,r,Q,t),this._exclusiveRangeService.addExclusiveRange(a,r,Q,[{range:{...e},groupId:t}])})),this.disposeWithMe(this._tableManager.tableAdd$.subscribe(n=>{const{tableId:e,unitId:t,subUnitId:a,range:r}=n;this._exclusiveRangeService.addExclusiveRange(t,a,Q,[{range:{...r},groupId:e}])})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(n=>{const{tableId:e,unitId:t,subUnitId:a}=n;this._exclusiveRangeService.clearExclusiveRangesByGroupId(t,a,Q,e)}))}};ee=nn([Ce(0,u.Inject(exports.TableManager)),Ce(1,u.Inject(S.IExclusiveRangeService))],ee);var an=Object.getOwnPropertyDescriptor,rn=(n,e,t,a)=>{for(var r=a>1?void 0:a?an(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},L=(n,e)=>(t,a)=>e(t,a,n);let te=class extends u.Disposable{constructor(n,e,t,a,r,s,o){super(),this._commandService=n,this._refRangeService=e,this._univerInstanceService=t,this._injector=a,this._sheetInterceptorService=r,this._tableManager=s,this._localeService=o,this._initCommandInterceptor(),this._initCommandListener()}_initCommandInterceptor(){const n=this;this._sheetInterceptorService.interceptCommand({getMutations(e){const t={redos:[],undos:[]},{id:a,params:r}=e;switch(a){case S.InsertRowCommand.id:return n._generateTableMutationWithInsertRow(r);case S.InsertColCommand.id:return n._generateTableMutationWithInsertCol(r);case S.RemoveRowCommand.id:return n._generateTableMutationWithRemoveRow(r);case S.RemoveColCommand.id:return n._generateTableMutationWithRemoveCol(r)}return t}})}_generateTableMutationWithInsertRow(n){const e=[],t=[],a=S.getSheetCommandTarget(this._univerInstanceService,n);if(!a)return{undos:e,redos:t};const{unitId:r,subUnitId:s}=a,o=this._tableManager.getTablesBySubunitId(r,s);if(!o.length)return{undos:e,redos:t};const{range:l}=n;return o.forEach(c=>{const i=c.getRange();if(l.startRow>i.startRow&&l.startRow<=i.endRow){const d=l.endRow-l.startRow+1;t.push({id:f.id,params:{unitId:r,subUnitId:s,tableId:c.getId(),config:{updateRange:{newRange:{...i,endRow:i.endRow+d}}}}}),e.push({id:f.id,params:{unitId:r,subUnitId:s,tableId:c.getId(),config:{updateRange:{newRange:{...i}}}}})}}),{undos:e,redos:t}}_generateTableMutationWithInsertCol(n){const e=[],t=[],a=S.getSheetCommandTarget(this._univerInstanceService,n);if(!a)return{undos:e,redos:t};const{unitId:r,subUnitId:s}=a,o=this._tableManager.getTablesBySubunitId(r,s);if(!o.length)return{undos:e,redos:t};const{range:l}=n;return o.forEach(c=>{const i=c.getRange();if(l.startColumn>i.startColumn&&l.startColumn<=i.endColumn){const d=l.endColumn-l.startColumn+1;t.push({id:f.id,params:{unitId:r,subUnitId:s,tableId:c.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:y.Col,index:l.startColumn,count:d}}}}),e.push({id:f.id,params:{unitId:r,subUnitId:s,tableId:c.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:y.Col,index:l.startColumn,count:d}}}})}}),{undos:e,redos:t}}_generateTableMutationWithRemoveRow(n){const e=[],t=[],a=[],r=[],s=S.getSheetCommandTarget(this._univerInstanceService);if(!s)return{undos:e,redos:t,preRedos:a,preUndos:r};const{unitId:o,subUnitId:l}=s,c=this._tableManager.getTablesBySubunitId(o,l);if(!c.length)return{undos:e,redos:t,preRedos:a,preUndos:r};const{range:i}=n,d=i.endRow-i.startRow+1;return c.forEach(g=>{const h=g.getRange();if(u.Rectangle.intersects(h,i))if(i.startRow<=h.startRow&&i.endRow>=h.startRow){a.push({id:A.id,params:{unitId:o,subUnitId:l,tableId:g.getId()}});const m=g.toJSON();e.push({id:$.id,params:{unitId:o,subUnitId:l,tableId:m.id,name:m.name,range:m.range,options:m.options}})}else i.startRow>h.startRow&&i.startRow<=h.endRow?(t.push({id:f.id,params:{unitId:o,subUnitId:l,tableId:g.getId(),config:{updateRange:{newRange:{...h,endRow:h.endRow-d}}}}}),e.push({id:f.id,params:{unitId:o,subUnitId:l,tableId:g.getId(),config:{updateRange:{newRange:{...h}}}}})):i.startRow<h.endRow&&i.endRow>=h.endRow&&(t.push({id:f.id,params:{unitId:o,subUnitId:l,tableId:g.getId(),config:{updateRange:{newRange:{...h,endRow:i.startRow-1}}}}}),e.push({id:f.id,params:{unitId:o,subUnitId:l,tableId:g.getId(),config:{updateRange:{newRange:{...h}}}}}))}),{undos:e,redos:t,preRedos:a,preUndos:r}}_generateTableMutationWithRemoveCol(n){const e=[],t=[],a=[],r=[],s=S.getSheetCommandTarget(this._univerInstanceService);if(!s)return{undos:e,redos:t,preRedos:a,preUndos:r};const{unitId:o,subUnitId:l}=s,c=this._tableManager.getTablesBySubunitId(o,l);if(!c.length)return{undos:e,redos:t,preRedos:a,preUndos:r};const{range:i}=n,d=i.endColumn-i.startColumn+1;return c.forEach(g=>{const h=g.getRange();if(u.Rectangle.intersects(h,i)){if(i.startColumn<=h.startColumn&&i.endColumn>=h.endColumn){a.push({id:A.id,params:{unitId:o,subUnitId:l,tableId:g.getId()}});const m=g.toJSON(),{startRow:T,startColumn:R,endColumn:w}=m.range,p=this._univerInstanceService.getUnit(o),I=p==null?void 0:p.getSheetBySheetId(l);if(!I)return{undos:e,redos:t,preRedos:a,preUndos:r};const O=[];for(let _=R;_<=w;_++)O.push(Te(I==null?void 0:I.getCell(T,_))||J(_-R+1,this._localeService.t("sheets-table.columnPrefix")));e.push({id:$.id,params:{unitId:o,subUnitId:l,tableId:m.id,name:m.name,header:O,range:m.range,options:m.options}})}else if(i.startColumn<=h.startColumn&&i.endColumn>=h.startColumn){const m=i.endColumn-h.startColumn+1;t.push({id:f.id,params:{unitId:o,subUnitId:l,tableId:g.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:y.Col,index:h.startColumn,count:m}}}});const T=[];for(let R=0;R<m;R++){const w=g.getTableColumnByIndex(R);w&&T.push(w.toJSON())}e.push({id:f.id,params:{unitId:o,subUnitId:l,tableId:g.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:y.Col,index:h.startColumn,count:m,columnsJson:T}}}})}else if(i.startColumn>h.startColumn&&i.endColumn>h.endColumn){const m=h.endColumn-i.startColumn+1;t.push({id:f.id,params:{unitId:o,subUnitId:l,tableId:g.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:y.Col,index:i.startColumn,count:m}}}});const T=[],R=i.startColumn-h.startColumn;for(let w=0;w<m;w++){const p=g.getTableColumnByIndex(w+R);p&&T.push(p.toJSON())}e.push({id:f.id,params:{unitId:o,subUnitId:l,tableId:g.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:y.Col,index:i.startColumn,count:d,columnsJson:T}}}})}else if(i.startColumn>h.startColumn&&i.endColumn<=h.endColumn){t.push({id:f.id,params:{unitId:o,subUnitId:l,tableId:g.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:y.Col,index:i.startColumn,count:d}}}});const m=[],T=i.startColumn-h.startColumn;for(let R=0;R<d;R++){const w=g.getTableColumnByIndex(R+T);w&&m.push(w.toJSON())}e.push({id:f.id,params:{unitId:o,subUnitId:l,tableId:g.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:y.Col,index:i.startColumn,count:d,columnsJson:m}}}})}}}),{undos:e,redos:t,preRedos:a,preUndos:r}}_initCommandListener(){this._commandService.onCommandExecuted(n=>{if(n.id===S.InsertRowMutation.id){const e=n.params,{unitId:t,subUnitId:a,range:r}=e,s=r.endRow-r.startRow+1;this._tableManager.getTablesBySubunitId(t,a).forEach(l=>{const c=l.getRange();r.startRow<=c.startRow&&this._tableManager.updateTableRange(t,l.getId(),{newRange:{...c,startRow:c.startRow+s,endRow:c.endRow+s}})})}else if(n.id===S.InsertColMutation.id){const e=n.params,{unitId:t,subUnitId:a,range:r}=e,s=r.endColumn-r.startColumn+1;this._tableManager.getTablesBySubunitId(t,a).forEach(l=>{const c=l.getRange();r.startColumn<=c.startColumn&&this._tableManager.updateTableRange(t,l.getId(),{newRange:{...c,startColumn:c.startColumn+s,endColumn:c.endColumn+s}})})}else if(n.id===S.RemoveRowMutation.id){const e=n.params,{unitId:t,subUnitId:a,range:r}=e,s=r.endRow-r.startRow+1;this._tableManager.getTablesBySubunitId(t,a).forEach(l=>{const c=l.getRange();r.startRow<c.startRow&&this._tableManager.updateTableRange(t,l.getId(),{newRange:{...c,startRow:c.startRow-s,endRow:c.endRow-s}})})}else if(n.id===S.RemoveColMutation.id){const e=n.params,{unitId:t,subUnitId:a,range:r}=e,s=r.endColumn-r.startColumn+1;this._tableManager.getTablesBySubunitId(t,a).forEach(l=>{const c=l.getRange();r.startColumn<c.startColumn&&this._tableManager.updateTableRange(t,l.getId(),{newRange:{...c,startColumn:c.startColumn-s,endColumn:c.endColumn-s}})})}})}};te=rn([L(0,u.Inject(u.ICommandService)),L(1,u.Inject(S.RefRangeService)),L(2,u.Inject(u.IUniverInstanceService)),L(3,u.Inject(u.Injector)),L(4,u.Inject(S.SheetInterceptorService)),L(5,u.Inject(exports.TableManager)),L(6,u.Inject(u.LocaleService))],te);var sn=Object.getOwnPropertyDescriptor,on=(n,e,t,a)=>{for(var r=a>1?void 0:a?sn(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},G=(n,e)=>(t,a)=>e(t,a,n);let ne=class extends u.Disposable{constructor(e,t,a,r){super();C(this,"_defaultThemeIndex",0);C(this,"_allThemes",[]);this._tableManager=e,this._sheetRangeThemeService=t,this._sheetRangeThemeModel=a,this._configService=r,this._initUserTableTheme(),this.registerTableChangeEvent(),this._initDefaultTableTheme()}registerTableChangeEvent(){this.disposeWithMe(this._tableManager.tableAdd$.subscribe(e=>{const{range:t,tableId:a,unitId:r,subUnitId:s,tableStyleId:o}=e,l=this._tableManager.getTable(r,a),c=o||this._allThemes[this._defaultThemeIndex].name;l.setTableStyleId(c),this._sheetRangeThemeService.registerRangeThemeStyle(c,{unitId:r,subUnitId:s,range:{...t}})})),this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(e=>{const{range:t,oldRange:a,tableId:r,unitId:s,subUnitId:o}=e,l=this._tableManager.getTable(s,r);let c=l.getTableStyleId();c||(c=this._allThemes[this._defaultThemeIndex].name,l.setTableStyleId(c)),this._sheetRangeThemeService.removeRangeThemeRule(c,{unitId:s,subUnitId:o,range:{...a}}),this._sheetRangeThemeService.registerRangeThemeStyle(c,{unitId:s,subUnitId:o,range:{...t}})})),this.disposeWithMe(this._tableManager.tableThemeChanged$.subscribe(e=>{const{theme:t,oldTheme:a,tableId:r,unitId:s,subUnitId:o}=e,c=this._tableManager.getTable(s,r).getRange();this._sheetRangeThemeService.removeRangeThemeRule(a,{unitId:s,subUnitId:o,range:{...c}}),this._sheetRangeThemeService.registerRangeThemeStyle(t,{unitId:s,subUnitId:o,range:{...c}})})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(e=>{const{range:t,unitId:a,subUnitId:r,tableStyleId:s=this._allThemes[this._defaultThemeIndex].name}=e;this._sheetRangeThemeService.removeRangeThemeRule(s,{unitId:a,subUnitId:r,range:{...t}})}))}_initUserTableTheme(){const e=this._configService.getConfig(we)||{},t=e.defaultThemeIndex||0,a=e.userThemes||[];this._defaultThemeIndex=t,this._allThemes=a.concat(fe)}_initDefaultTableTheme(){for(let e=0;e<this._allThemes.length;e++){const{name:t,style:a}=this._allThemes[e],r=new S.RangeThemeStyle(t,a);this._sheetRangeThemeModel.registerDefaultRangeTheme(r)}}dispose(){super.dispose(),this._allThemes=[],this._defaultThemeIndex=0}};ne=on([G(0,u.Inject(exports.TableManager)),G(1,u.Inject(S.SheetRangeThemeService)),G(2,u.Inject(S.SheetRangeThemeModel)),G(3,u.IConfigService)],ne);var ln=Object.getOwnPropertyDescriptor,cn=(n,e,t,a)=>{for(var r=a>1?void 0:a?ln(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},X=(n,e)=>(t,a)=>e(t,a,n);let ae=class extends u.Disposable{constructor(e,t,a,r){super();C(this,"_tableFilteredOutRows$",new N.BehaviorSubject(new Set));C(this,"tableFilteredOutRows$",this._tableFilteredOutRows$.asObservable());C(this,"_subscription",null);this._tableManager=e,this._sheetInterceptorService=t,this._univerInstanceService=a,this._zebraCrossingCacheController=r,this.registerFilterChangeEvent(),this.initTableHiddenRowIntercept(),this._initFilteredOutRows()}get tableFilteredOutRows(){return this._tableFilteredOutRows$.value}set tableFilteredOutRows(e){this._tableFilteredOutRows$.next(e)}initTableHiddenRowIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(S.INTERCEPTOR_POINT.ROW_FILTERED,{priority:100,handler:(e,t,a)=>{if(e)return!0;const r=this.tableFilteredOutRows.has(t.row);return r?!0:a(r)}}))}_initFilteredOutRows(){this._tableManager.tableInitStatus$.pipe(N.filter(e=>e),N.switchMap(()=>this._univerInstanceService.getCurrentTypeOfUnit$(u.UniverInstanceType.UNIVER_SHEET)),N.filter(e=>e!=null),N.switchMap(e=>e.activeSheet$),N.filter(e=>e!=null)).subscribe(()=>{const e=S.getSheetCommandTarget(this._univerInstanceService);if(!e)return;const{unitId:t,subUnitId:a}=e;this.tableFilteredOutRows.clear(),this._tableManager.getTablesBySubunitId(t,a).forEach(s=>{const o=s.getTableFilters().getFilterOutRows();if(o)for(const l of o)this.tableFilteredOutRows.add(l)})})}registerFilterChangeEvent(){this.disposeWithMe(this._tableManager.tableFilterChanged$.subscribe(e=>{var i;const{unitId:t,subUnitId:a,tableId:r}=e,s=(i=this._univerInstanceService.getUnit(t))==null?void 0:i.getSheetBySheetId(a),o=this._tableManager.getTable(t,r);if(!s||!o)return;this.tableFilteredOutRows.clear(),o.getTableFilters().doFilter(s,o.getTableFilterRange()),this._tableManager.getTablesBySubunitId(t,a).forEach(d=>{const g=d.getTableFilters().getFilterOutRows();if(g)for(const h of g)this.tableFilteredOutRows.add(h)}),this._zebraCrossingCacheController.updateZebraCrossingCache(t,a)}))}dispose(){var e;super.dispose(),(e=this._subscription)==null||e.unsubscribe()}};ae=cn([X(0,u.Inject(exports.TableManager)),X(1,u.Inject(S.SheetInterceptorService)),X(2,u.Inject(u.IUniverInstanceService)),X(3,u.Inject(S.ZebraCrossingCacheController))],ae);var un=Object.getOwnPropertyDescriptor,dn=(n,e,t,a)=>{for(var r=a>1?void 0:a?un(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},re=(n,e)=>(t,a)=>e(t,a,n),W;exports.UniverSheetsTablePlugin=(W=class extends u.Plugin{constructor(e=ue,t,a,r){super(),this._config=e,this._injector=t,this._configService=a,this._commandService=r;const{...s}=u.merge({},ue,this._config);this._configService.setConfig(we,s),this._initRegisterCommand()}onStarting(){u.registerDependencies(this._injector,[[exports.TableManager],[ne],[exports.SheetsTableController],[exports.SheetTableService],[ae],[ee],[te],[Z]])}onReady(){u.touchDependencies(this._injector,[[Z],[ee],[te],[ne],[exports.SheetsTableController],[exports.SheetTableService],[ae]]),u.touchDependencies(this._injector,[[exports.TableManager]])}_initRegisterCommand(){[ve,$,Fe,A,K,Oe,xe,f,Me,De,Ue,Ee,$e,Ae].forEach(e=>this._commandService.registerCommand(e))}},C(W,"pluginName",ye),C(W,"packageName",be.name),C(W,"version",be.version),C(W,"type",u.UniverInstanceType.UNIVER_SHEET),W);exports.UniverSheetsTablePlugin=dn([re(1,u.Inject(u.Injector)),re(2,u.IConfigService),re(3,u.Inject(u.ICommandService))],exports.UniverSheetsTablePlugin);exports.AddSheetTableCommand=ve;exports.AddSheetTableMutation=$;exports.AddTableThemeCommand=Me;exports.DeleteSheetTableCommand=Fe;exports.DeleteSheetTableMutation=A;exports.RemoveTableThemeCommand=De;exports.SHEET_TABLE_CUSTOM_THEME_PREFIX=Ne;exports.SetSheetTableCommand=xe;exports.SetSheetTableFilterCommand=Oe;exports.SetSheetTableFilterMutation=K;exports.SetSheetTableMutation=f;exports.SheetTableInsertColCommand=Ee;exports.SheetTableInsertRowCommand=Ue;exports.SheetTableRemoveColCommand=Ae;exports.SheetTableRemoveRowCommand=$e;exports.SheetsTableButtonStateEnum=E;exports.SheetsTableSortStateEnum=B;exports.TableColumnDataTypeEnum=se;exports.TableColumnFilterTypeEnum=V;exports.TableConditionTypeEnum=D;exports.TableDateCompareTypeEnum=b;exports.TableNumberCompareTypeEnum=F;exports.TableStringCompareTypeEnum=U;exports.customEmptyThemeWithBorderStyle=He;exports.isConditionFilter=pe;exports.isManualTableFilter=Ve;exports.processStyleWithBorderStyle=Pe;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`@univerjs/core`),t=require(`@univerjs/engine-formula`),n=require(`@univerjs/sheets`),r=require(`rxjs`),i=function(e){return e.Insert=`insert`,e.Delete=`delete`,e}({}),a=function(e){return e.Row=`row`,e.Col=`column`,e}({}),o=function(e){return e.None=`none`,e.String=`string`,e.Number=`number`,e.Date=`date`,e.Bool=`bool`,e.Checkbox=`checkbox`,e.List=`list`,e}({}),s=function(e){return e.manual=`manual`,e.condition=`condition`,e}({}),c=function(e){return e.Date=`date`,e.Number=`number`,e.String=`string`,e.Logic=`logic`,e}({}),l=function(e){return e.Equal=`equal`,e.NotEqual=`notEqual`,e.GreaterThan=`greaterThan`,e.GreaterThanOrEqual=`greaterThanOrEqual`,e.LessThan=`lessThan`,e.LessThanOrEqual=`lessThanOrEqual`,e.Between=`between`,e.NotBetween=`notBetween`,e.Above=`above`,e.Below=`below`,e.TopN=`topN`,e}({}),u=function(e){return e.Equal=`equal`,e.NotEqual=`notEqual`,e.Contains=`contains`,e.NotContains=`notContains`,e.StartsWith=`startsWith`,e.EndsWith=`endsWith`,e}({}),d=function(e){return e.Equal=`equal`,e.NotEqual=`notEqual`,e.After=`after`,e.AfterOrEqual=`afterOrEqual`,e.Before=`before`,e.BeforeOrEqual=`beforeOrEqual`,e.Between=`between`,e.NotBetween=`notBetween`,e.Today=`today`,e.Yesterday=`yesterday`,e.Tomorrow=`tomorrow`,e.ThisWeek=`thisWeek`,e.LastWeek=`lastWeek`,e.NextWeek=`nextWeek`,e.ThisMonth=`thisMonth`,e.LastMonth=`lastMonth`,e.NextMonth=`nextMonth`,e.ThisQuarter=`thisQuarter`,e.LastQuarter=`lastQuarter`,e.NextQuarter=`nextQuarter`,e.ThisYear=`thisYear`,e.LastYear=`lastYear`,e.NextYear=`nextYear`,e.YearToDate=`yearToDate`,e.Quarter=`quarter`,e.Month=`month`,e.M1=`m1`,e.M2=`m2`,e.M3=`m3`,e.M4=`m4`,e.M5=`m5`,e.M6=`m6`,e.M7=`m7`,e.M8=`m8`,e.M9=`m9`,e.M10=`m10`,e.M11=`m11`,e.M12=`m12`,e.Q1=`q1`,e.Q2=`q2`,e.Q3=`q3`,e.Q4=`q4`,e}({}),f=function(e){return e[e.FilteredSortNone=1]=`FilteredSortNone`,e[e.FilteredSortAsc=2]=`FilteredSortAsc`,e[e.FilteredSortDesc=3]=`FilteredSortDesc`,e[e.FilterNoneSortNone=4]=`FilterNoneSortNone`,e[e.FilterNoneSortAsc=5]=`FilterNoneSortAsc`,e[e.FilterNoneSortDesc=6]=`FilterNoneSortDesc`,e}({}),p=function(e){return e.Asc=`asc`,e.Desc=`desc`,e.None=`none`,e}({});function m(e,t){return`${t} ${e}`}const h=`TRUE`,g=`FALSE`,_=e=>{var t;return((t=e.body)==null?void 0:t.dataStream.replace(/\r\n$/,``))||``};function v(t){if(t){let{v:n,t:r,p:i}=t;return i?_(i):(r===e.CellValueType.FORCE_STRING||r===e.CellValueType.STRING)&&n!=null?String(n):r===e.CellValueType.BOOLEAN?n?h:g:r===e.CellValueType.NUMBER?String(n):typeof n==`boolean`?n?h:g:n==null?``:String(n)}return``}function y(e,t){if(e!=null)switch(t){case p.Asc:return f.FilteredSortAsc;case p.Desc:return f.FilteredSortDesc;default:return f.FilteredSortNone}else switch(t){case p.Asc:return f.FilterNoneSortAsc;case p.Desc:return f.FilterNoneSortDesc;default:return f.FilterNoneSortNone}}function b(e){return e?e.filterType===s.condition:!1}function ee(e){return e?e.filterType===s.manual:!1}function x(t,n){let{univerInstanceService:r,tableManager:i,definedNamesService:a}=n,o=new Set,s=r==null?void 0:r.getUnit(t,e.UniverInstanceType.UNIVER_SHEET);s&&s.getSheets().forEach(e=>{o.add(e.getName().toLowerCase())});let c=i==null?void 0:i.getTableList(t);c&&c.length>0&&c.forEach(e=>{o.add(e.name.toLowerCase())});let l=a==null?void 0:a.getDefinedNameMap(t);return l&&Object.values(l).forEach(e=>{o.add(e.name.toLowerCase())}),o}const S={s:e.BorderStyleTypes.THIN,cl:{rgb:`rgb(95, 101, 116)`}},te=`sheets-table.config`;Symbol(te);const C={},ne={headerRowStyle:{bd:{t:S}},headerColumnStyle:{bd:{l:S}},lastColumnStyle:{bd:{r:S}},lastRowStyle:{bd:{b:S}}},re=(e,t)=>{if(e===`headerRowStyle`){if(!t.bd)return{...t,bd:{t:S}}}else if(e===`lastRowStyle`){if(!t.bd)return{...t,bd:{b:S}}}else if(e===`lastColumnStyle`){if(!t.bd)return{...t,bd:{r:S}}}else if(e===`headerColumnStyle`&&!t.bd)return{...t,bd:{l:S}};return t},w=[[[`#6280F9`,`#FFFFFF`,`#BAC6F8`,`#D2DAFA`],[`#fff`]],[[`#16BDCA`,`#FFFFFF`,`#EDFAFA`,`#AFECEF`],[`#000`]],[[`#31C48D`,`#FFFFFF`,`#F3FAF7`,`#BCF0DA`],[`#fff`]],[[`#AC94FA`,`#FFFFFF`,`#F6F5FF`,`#EDEBFE`],[`#fff`]],[[`#F17EBB`,`#FFFFFF`,`#FDF2F8`,`#FCE8F3`],[`#fff`]],[[`#F98080`,`#FFFFFF`,`#FDF2F2`,`#FDE8E8`],[`#fff`]]].map((e,t)=>{let[n,r]=e,[i,a,o,s]=n,[c]=r;return{name:`table-default-${t}`,style:{headerRowStyle:{bg:{rgb:i},cl:{rgb:c},bd:{t:S}},headerColumnStyle:{bd:{l:S}},firstRowStyle:{bg:{rgb:a}},secondRowStyle:{bg:{rgb:o}},lastRowStyle:{bg:{rgb:s},bd:{b:S}},lastColumnStyle:{bd:{r:S}}}}});function T(e){"@babel/helpers - typeof";return T=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},T(e)}function ie(e,t){if(T(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(T(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ae(e){var t=ie(e,`string`);return T(t)==`symbol`?t:t+``}function E(e,t,n){return(t=ae(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var D=class{constructor(e,t){E(this,`dataType`,void 0),E(this,`id`,void 0),E(this,`displayName`,void 0),E(this,`formula`,void 0),E(this,`meta`,void 0),E(this,`style`,void 0),this.id=e,this.displayName=t,this.dataType=o.String,this.formula=``,this.meta={},this.style={}}getMeta(){return this.meta}setMeta(e){this.meta=e}getDisplayName(){return this.displayName}toJSON(){return{id:this.id,displayName:this.displayName,dataType:this.dataType,formula:this.formula,meta:this.meta,style:this.style}}fromJSON(e){this.id=e.id,this.displayName=e.displayName,this.dataType=e.dataType,this.formula=e.formula,this.meta=e.meta,this.style=e.style}};const oe=e=>e.getMonth()<=2,se=e=>{let t=e.getMonth();return t>2&&t<=5},ce=e=>{let t=e.getMonth();return t>5&&t<=8},le=e=>{let t=e.getMonth();return t>8&&t<=11},ue=e=>e.getMonth()===0,de=e=>e.getMonth()===1,fe=e=>e.getMonth()===2,pe=e=>e.getMonth()===3,me=e=>e.getMonth()===4,he=e=>e.getMonth()===5,ge=e=>e.getMonth()===6,_e=e=>e.getMonth()===7,ve=e=>e.getMonth()===8,ye=e=>e.getMonth()===9,be=e=>e.getMonth()===10,xe=e=>e.getMonth()===11,Se=(e,t=new Date)=>e.toDateString()===t.toDateString(),Ce=(e,t=new Date)=>{let n=new Date(t);return n.setDate(n.getDate()+1),e.toDateString()===n.toDateString()},we=(e,t=new Date)=>{let n=new Date(t);return n.setDate(n.getDate()-1),e.toDateString()===n.toDateString()},O=e=>{let t=e.getDay(),n=e.getDate()-t+(t===0?-6:1),r=new Date(e);return r.setDate(n),r},k=10080*60*1e3,Te=(e,t=new Date)=>{let n=O(e),r=O(t);return n.toDateString()===r.toDateString()},Ee=(e,t=new Date)=>{let n=O(e),r=new Date(O(t).getTime()+k);return n.toDateString()===r.toDateString()},De=(e,t=new Date)=>{let n=O(e),r=new Date(O(t).getTime()-k);return n.toDateString()===r.toDateString()},Oe=(e,t=new Date)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth(),ke=e=>{let t=new Date(e);return t.setHours(0,0,0,0),t.setDate(1),t},Ae=(e,t=new Date)=>{let n=new Date(t);n.setHours(0,0,0,0),n.setMonth(n.getMonth()+1,1);let r=new Date(n);r.setMonth(r.getMonth()+1,0);let i=e.getTime();return i>=n.getTime()&&i<r.getTime()},je=(e,t=new Date)=>{let n=ke(t),r=new Date(n);r.setMonth(r.getMonth()+1,0);let i=e.getTime();return i>=n.getTime()&&i<r.getTime()},A=e=>{let t=new Date(e);t.setHours(0,0,0,0),t.setDate(1);let n=t.getMonth();return t.setMonth(n-n%3),t},Me=(e,t=new Date)=>{let n=A(t),r=new Date(n);r.setMonth(r.getMonth()+3);let i=e.getTime();return i>=n.getTime()&&i<r.getTime()},Ne=(e,t=new Date)=>{let n=A(t),r=new Date(n);r.setMonth(r.getMonth()+3);let i=new Date(r);i.setMonth(i.getMonth()+3,0);let a=e.getTime();return a>=r.getTime()&&a<i.getTime()},Pe=(e,t=new Date)=>{let n=A(t),r=new Date(n);r.setMonth(r.getMonth()-3);let i=new Date(n);i.setDate(0);let a=e.getTime();return a>=r.getTime()&&a<i.getTime()},Fe=(e,t=new Date)=>e.getFullYear()===t.getFullYear(),Ie=(e,t=new Date)=>e.getFullYear()===t.getFullYear()+1,Le=(e,t=new Date)=>e.getFullYear()===t.getFullYear()-1,Re=(e,t=new Date)=>{let n=new Date(t);n.setHours(0,0,0,0),n.setMonth(0,1);let r=e.getTime();return r>=n.getTime()&&r<t.getTime()};function ze(e){switch(e.compareType){case d.Equal:{let t=new Date(e.expectedValue);return e=>e.getTime()===t.getTime()}case d.NotEqual:{let t=new Date(e.expectedValue);return e=>e.getTime()!==t.getTime()}case d.After:{let t=new Date(e.expectedValue);return e=>e.getTime()>t.getTime()}case d.Before:{let t=new Date(e.expectedValue);return e=>e.getTime()<t.getTime()}case d.AfterOrEqual:{let t=new Date(e.expectedValue);return e=>e.getTime()>=t.getTime()}case d.BeforeOrEqual:{let t=new Date(e.expectedValue);return e=>e.getTime()<=t.getTime()}case d.Between:return t=>{let[n,r]=e.expectedValue;return t.getTime()>=new Date(n).getTime()&&t.getTime()<=new Date(r).getTime()};case d.NotBetween:return t=>{let[n,r]=e.expectedValue;return t.getTime()<new Date(n).getTime()||t.getTime()>new Date(r).getTime()};case d.Today:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Se(e,t)}case d.Yesterday:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>we(e,t)}case d.Tomorrow:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Ce(e,t)}case d.ThisWeek:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Te(e,t)}case d.LastWeek:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>De(e,t)}case d.NextWeek:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Ee(e,t)}case d.ThisMonth:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Oe(e,t)}case d.LastMonth:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>je(e,t)}case d.NextMonth:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Ae(e,t)}case d.ThisQuarter:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Me(e,t)}case d.LastQuarter:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Pe(e,t)}case d.NextQuarter:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Ne(e,t)}case d.ThisYear:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Fe(e,t)}case d.LastYear:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Le(e,t)}case d.NextYear:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Ie(e,t)}case d.YearToDate:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Re(e,t)}case d.M1:return ue;case d.M2:return de;case d.M3:return fe;case d.M4:return pe;case d.M5:return me;case d.M6:return he;case d.M7:return ge;case d.M8:return _e;case d.M9:return ve;case d.M10:return ye;case d.M11:return be;case d.M12:return xe;case d.Q1:return oe;case d.Q2:return se;case d.Q3:return ce;case d.Q4:return le;default:throw Error(`Unsupported compare type`)}}var Be=class{constructor(){E(this,`heap`,void 0),this.heap=[]}swap(e,t){let n=this.heap[e];this.heap[e]=this.heap[t],this.heap[t]=n}getParentIndex(e){return Math.floor((e-1)/2)}getLeftIndex(e){return e*2+1}getRightIndex(e){return e*2+2}size(){return this.heap.length}peek(){return this.heap[0]}include(e){return this.heap.includes(e)}},Ve=class extends Be{constructor(){super()}shiftUp(e){if(e===0)return;let t=this.getParentIndex(e);this.heap[t]>this.heap[e]&&(this.swap(t,e),this.shiftUp(t))}shiftDown(e){let t=this.getLeftIndex(e),n=this.getRightIndex(e);this.heap[t]<this.heap[e]&&(this.swap(t,e),this.shiftDown(t)),this.heap[n]<this.heap[e]&&(this.swap(n,e),this.shiftDown(n))}insert(e){this.heap.push(e),this.shiftUp(this.heap.length-1)}pop(){this.heap[0]=this.heap.pop(),this.shiftDown(0)}};const He=(e,t)=>{let n=new Ve;for(let r of e)n.insert(r),n.size()>t&&n.pop();return n.heap},Ue=(e,t)=>e>t,We=(e,t)=>e<t,Ge=(e,t,n)=>He(e,t).includes(n);function Ke(e,t){switch(e.compareType){case l.Equal:{let t=Number(e.expectedValue);return e=>e===t}case l.NotEqual:{let t=Number(e.expectedValue);return e=>e!==t}case l.GreaterThan:{let t=Number(e.expectedValue);return e=>e>t}case l.GreaterThanOrEqual:{let t=Number(e.expectedValue);return e=>e>=t}case l.LessThan:{let t=Number(e.expectedValue);return e=>e<t}case l.LessThanOrEqual:{let t=Number(e.expectedValue);return e=>e<=t}case l.Between:{let[t,n]=e.expectedValue,r=Number(t),i=Number(n);return r>i?e=>e>=i&&e<=r:e=>e>=r&&e<=i}case l.NotBetween:{let[t,n]=e.expectedValue,r=Number(t),i=Number(n);return r>i?e=>e<i||e>r:e=>e<r||e>i}case l.Above:{let e=t.average;return t=>Ue(t,e)}case l.Below:{let e=t.average;return t=>We(t,e)}case l.TopN:{let n=t.list,r=Number(e.expectedValue);return e=>Ge(n,r,e)}}}const qe=(t,n)=>(0,e.createREGEXFromWildChar)(n).test(t),Je=(t,n)=>!(0,e.createREGEXFromWildChar)(n).test(t),Ye=(t,n)=>(0,e.createREGEXFromWildChar)(`*${n}*`).test(t),Xe=(t,n)=>!(0,e.createREGEXFromWildChar)(`*${n}*`).test(t),Ze=(t,n)=>(0,e.createREGEXFromWildChar)(`${n}*`).test(t),Qe=(t,n)=>(0,e.createREGEXFromWildChar)(`*${n}`).test(t);function $e(e){switch(e.compareType){case u.Equal:return t=>qe(t,e.expectedValue);case u.NotEqual:return t=>Je(t,e.expectedValue);case u.Contains:return t=>Ye(t,e.expectedValue);case u.NotContains:return t=>Xe(t,e.expectedValue);case u.StartsWith:return t=>Ze(t,e.expectedValue);case u.EndsWith:return t=>Qe(t,e.expectedValue);default:return console.error(`Unknown filter operator: ${e.compareType}`),e=>!0}}const et=new Set([l.Above,l.Below,l.TopN]);new Set([d.Today,d.Yesterday,d.Tomorrow,d.ThisWeek,d.LastWeek,d.NextWeek,d.ThisMonth,d.LastMonth,d.NextMonth,d.ThisQuarter,d.LastQuarter,d.NextQuarter,d.NextYear,d.ThisYear,d.LastYear,d.YearToDate]);function j(e){return et.has(e)}function tt(e,t){if(j(e.filterInfo.compareType))return e=>!0;switch(e.filterInfo.conditionType){case c.Date:return ze(e.filterInfo);case c.Number:return Ke(e.filterInfo,t);case c.String:return $e(e.filterInfo);case c.Logic:default:return e=>!0}}function M(e,t,n,r){switch(r){case c.Date:{let r=N(e,t,n);return r?it(r):null}case c.Number:return N(e,t,n);case c.String:default:return rt(e,t,n)}}const nt=e=>{var t;return((t=e.body)==null?void 0:t.dataStream.replace(/\r\n$/,``))||``};function rt(t,n,r){let i=t.getCell(n,r);if(!i)return null;let{v:a,t:o,p:s}=i;if(s)return nt(s);if(typeof a==`string`)return o===e.CellValueType.BOOLEAN?a.toUpperCase():a;if(typeof a==`number`)return o===e.CellValueType.BOOLEAN?a?`TRUE`:`FALSE`:a;if(typeof a==`boolean`)return a?`TRUE`:`FALSE`;if(a!==void 0)return String(a)}function N(t,n,r){let i=t.getCell(n,r);if(!i)return null;let{v:a,t:o,p:s}=i;return s?null:typeof a==`string`&&o===e.CellValueType.NUMBER?Number(t.getCellRaw(n,r).v):Number(a)}function it(e){let t=new Date(Date.UTC(1900,0,1,0,0,0)),n=new Date(Date.UTC(1900,1,28,0,0,0)),r=e-1;return r>(n.getTime()-t.getTime())/(1e3*3600*24)&&--r,r<0&&(r=e),new Date(t.getTime()+1e3*3600*24*r)}var P=class{constructor(){E(this,`_tableColumnFilterList`,void 0),E(this,`_tableSortInfo`,void 0),E(this,`_filterOutRows`,void 0),this._tableColumnFilterList=[]}setColumnFilter(e,t){t?this._tableColumnFilterList[e]=t:this._tableColumnFilterList[e]=void 0}setSortState(e,t){this._tableSortInfo={columnIndex:e,sortState:t}}getColumnFilter(e){return this._tableColumnFilterList[e]}getFilterState(e){var t;let n=((t=this._tableSortInfo)==null?void 0:t.columnIndex)===e?this._tableSortInfo.sortState:p.None;return y(this._tableColumnFilterList[e],n)}getSortState(){var e;return(e=this._tableSortInfo)==null?{}:e}getFilterStates(e){let t=[],{startColumn:n,endColumn:r}=e;for(let e=n;e<=r;e++)t.push(this.getFilterState(e-n));return t}getFilterOutRows(){return this._filterOutRows}doFilter(e,t){let n=new Set,r=this._tableColumnFilterList;for(let i=0;i<r.length;i++)r[i]&&this.doColumnFilter(e,t,i,n);return this._filterOutRows=n,n}doColumnFilter(e,t,n,r){let i=this._tableColumnFilterList[n];if(i&&e){let{startRow:a,endRow:o,startColumn:s}=t,l=s+n,u=this.getExecuteFunc(e,t,n,i);for(let t=a;t<=o;t++){let n=b(i)?i.filterInfo.conditionType:c.String;M(e,t,l,n)===null?r.add(t):u(M(e,t,l,n))||r.add(t)}}}_getNumberCalculatedOptions(e,t,n){let{startRow:r,endRow:i,startColumn:a}=t,o=a+n,s=[],l=0,u=0;for(let t=r;t<=i;t++){let n=M(e,t,o,c.Number);n!==null&&(s.push(n),l++,u+=n)}return{list:s,average:l>0?u/l:0}}getExecuteFunc(e,t,n,r){if(r.filterType===s.manual){let e=new Set(r.values);return t=>e.has(t)}else if(r.filterType===s.condition)return tt(r,j(r.filterInfo.compareType)?this._getNumberCalculatedOptions(e,t,n):void 0);else return e=>!0}toJSON(){return{tableColumnFilterList:this._tableColumnFilterList,tableSortInfo:this._tableSortInfo}}fromJSON(e){var t;this._tableColumnFilterList=(t=e.tableColumnFilterList)==null?[]:t,e.tableSortInfo&&(this._tableSortInfo=e.tableSortInfo)}dispose(){this._tableColumnFilterList=[]}},F=class{constructor(e,t,n,r,i={}){E(this,`_id`,void 0),E(this,`_name`,void 0),E(this,`_tableStyleId`,void 0),E(this,`_showHeader`,void 0),E(this,`_showFooter`,void 0),E(this,`_range`,void 0),E(this,`_columns`,new Map),E(this,`_columnOrder`,[]),E(this,`tableMeta`,void 0),E(this,`_tableFilters`,void 0),E(this,`_subUnitId`,void 0),this._id=e,this._range=n,this._name=t,this._tableFilters=new P,this._init(r,i)}_init(t,n){var r;this._tableStyleId=n==null?void 0:n.tableStyleId,this._showHeader=(r=n==null?void 0:n.showHeader)==null?!0:r,this._showFooter=!1;let i=this.getRange(),a=i.startColumn,o=i.endColumn;for(let r=a;r<=o;r++){var s;let i=r-a,o,c;(s=n.columns)!=null&&s[i]?(o=n.columns[i].id,c=n.columns[i].displayName):(o=(0,e.generateRandomId)(),c=t[r-a]);let l=new D(o,c);this._columns.set(o,l),this._columnOrder.push(o)}n.filters&&n.filters.forEach((e,t)=>{e&&this._tableFilters.setColumnFilter(t,e)})}setTableFilterColumn(e,t){this._tableFilters.setColumnFilter(e,t)}getTableFilterColumn(e){return this._tableFilters.getColumnFilter(e)}getTableFilters(){return this._tableFilters}getTableFilterRange(){let e=this.getRange(),t=this.isShowHeader(),n=this.isShowFooter(),{startRow:r,startColumn:i,endRow:a,endColumn:o}=e;return{startRow:t?r+1:r,startColumn:i,endRow:n?a-1:a,endColumn:o}}setColumns(e){this._columns.clear(),this._columnOrder=[],e.forEach(e=>{let t=new D(e.id,e.displayName);t.fromJSON(e),this._columns.set(e.id,t),this._columnOrder.push(e.id)})}getColumnsCount(){return this._columnOrder.length}insertColumn(e,t){let n=t.id;this._columns.set(n,t),this._columnOrder.splice(e,0,n)}removeColumn(e){let t=this._columnOrder[e];this._columns.delete(t),this._columnOrder.splice(e,1)}setTableMeta(e){this.tableMeta=e}getTableMeta(){return this.tableMeta}getColumn(e){return this._columns.get(e)}getTableColumnByIndex(e){let t=this._columnOrder[e];return this.getColumn(t)}getColumnNameByIndex(e){var t;let n=this._columnOrder[e];return((t=this.getColumn(n))==null?void 0:t.getDisplayName())||``}getId(){return this._id}getRangeInfo(){return{...this._range}}getRange(){return{...this._range}}setRange(e){this._range=e}setDisplayName(e){this._name=e}getDisplayName(){return this._name}getSubunitId(){return this._subUnitId}setSubunitId(e){this._subUnitId=e}getTableStyleId(){var e;return(e=this._tableStyleId)==null?w[0].name:e}setTableStyleId(e){this._tableStyleId=e}isShowHeader(){var e;return(e=this._showHeader)==null?!0:e}setShowHeader(e){this._showHeader=e}isShowFooter(){var e;return(e=this._showFooter)==null?!1:e}getTableInfo(){return{id:this._id,subUnitId:this._subUnitId,name:this._name,range:this.getRangeInfo(),meta:this.tableMeta,showHeader:this._showHeader,columns:this._columnOrder.map(e=>this._columns.get(e).toJSON())}}getTableConfig(){return{name:this.getDisplayName(),range:this.getRangeInfo(),options:{showHeader:this._showHeader,showFooter:this._showFooter},tableStyleId:this._tableStyleId}}getFilterStates(e){return this._tableFilters.getFilterStates(e)}toJSON(){let e=[];return this._columns.forEach(t=>{e.push(t.toJSON())}),{id:this._id,name:this._name,range:this.getRangeInfo(),options:{showHeader:this._showHeader,showFooter:this._showFooter,tableStyleId:this._tableStyleId},filters:this._tableFilters.toJSON(),columns:e,meta:this.tableMeta}}fromJSON(e){var t,n;this._id=e.id,this._name=e.name,this._range=e.range,this.tableMeta=e.meta,this._tableStyleId=e.options.tableStyleId||``,this._showHeader=(t=e.options.showHeader)==null?!0:t,this._showFooter=(n=e.options.showFooter)==null?!0:n,e.columns.forEach(e=>{let t=new D(e.id,e.displayName);t.fromJSON(e),this._columns.set(e.id,t),this._columnOrder.push(e.id)}),this._tableFilters=new P,this._tableFilters.fromJSON(e.filters)}dispose(){this._id=``,this._name=``,this._tableStyleId=``,this._showHeader=!0,this._showFooter=!0,delete this._range,this._columns.clear(),this._columnOrder=[]}};function I(e,t){return function(n,r){t(n,r,e)}}function L(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let R=class extends e.Disposable{constructor(e,t){super(),this._univerInstanceService=e,this._localeService=t,E(this,`_tableMap`,void 0),E(this,`_tableAdd$`,new r.Subject),E(this,`tableAdd$`,this._tableAdd$.asObservable()),E(this,`_tableDelete$`,new r.Subject),E(this,`tableDelete$`,this._tableDelete$.asObservable()),E(this,`_tableNameChanged$`,new r.Subject),E(this,`tableNameChanged$`,this._tableNameChanged$.asObservable()),E(this,`_tableRangeChanged$`,new r.Subject),E(this,`tableRangeChanged$`,this._tableRangeChanged$.asObservable()),E(this,`_tableThemeChanged$`,new r.Subject),E(this,`tableThemeChanged$`,this._tableThemeChanged$.asObservable()),E(this,`_tableFilterChanged$`,new r.Subject),E(this,`tableFilterChanged$`,this._tableFilterChanged$.asObservable()),E(this,`_tableInitStatus`,new r.BehaviorSubject(!1)),E(this,`tableInitStatus$`,this._tableInitStatus.asObservable()),this._tableMap=new Map}_ensureUnit(e){return this._tableMap.has(e)||this._tableMap.set(e,new Map),this._tableMap.get(e)}getColumnHeader(e,t,n,r){var i;let a=(i=this._univerInstanceService.getUnit(e))==null?void 0:i.getSheetBySheetId(t),{startRow:o,startColumn:s,endColumn:c}=n,l=[],u=r==null?`Column`:r;for(let e=s;e<=c;e++)l.push(v(a==null?void 0:a.getCell(o,e))||m(e-s+1,u));return l}addTable(t,n,r,i,a,o,s){let c=o==null?(0,e.generateRandomId)():o,l=new F(c,r,i,a||this.getColumnHeader(t,n,i),s);if(l.setSubunitId(n),this._ensureUnit(t).set(c,l),this._tableAdd$.next({unitId:t,subUnitId:n,range:i,tableName:r,tableId:c,tableStyleId:s==null?void 0:s.tableStyleId}),s!=null&&s.filters){var u;let e=(u=this._univerInstanceService.getUnit(t))==null?void 0:u.getSheetBySheetId(n);l.getTableFilters().doFilter(e,i),this._tableFilterChanged$.next({unitId:t,subUnitId:n,tableId:c})}return c}addFilter(e,t,n,r){let i=this.getTable(e,t);if(i){i.getTableFilters().setColumnFilter(n,r);let a=i.getSubunitId();this._tableFilterChanged$.next({unitId:e,subUnitId:a,tableId:t})}}getFilterRanges(e,t){let n=this._tableMap.get(e);if(!n)return[];let r=[];return n.forEach(e=>{e.getSubunitId()===t&&e.isShowHeader()&&r.push(e.getRange())}),r}getSheetFilterRangeWithState(e,t){let n=this._tableMap.get(e);if(!n)return[];let r=[];return n.forEach(e=>{e.getSubunitId()===t&&e.isShowHeader()&&r.push({tableId:e.getId(),range:e.getRange(),states:e.getFilterStates(e.getRange())})}),r}getTable(e,t){let n=this._tableMap.get(e);if(n)return n.get(t)}getUniqueTableName(e,t){let n=this._tableMap.get(e);if(!n)return t;let r=new Set(Array.from(n.values()).map(e=>e.getDisplayName())),i=t,a=1;for(;r.has(i);)i=`${t}-${a}`,a++;return i}getTableById(e,t){return this.getTable(e,t)}getTableList(e){let t=this._tableMap.get(e);return t?Array.from(t.values()).map(t=>({...t.getTableInfo(),unitId:e})):[]}getTablesBySubunitId(e,t){let n=this._tableMap.get(e);return n?Array.from(n.values()).filter(e=>e.getSubunitId()===t):[]}getTablesInfoBySubunitId(e,t){return this.getTablesBySubunitId(e,t).map(e=>({id:e.getId(),name:e.getDisplayName(),range:e.getRange()}))}deleteTable(e,t){let n=this._tableMap.get(e),r=n==null?void 0:n.get(t);if(r){let i=r.getTableInfo(),a=r.getTableStyleId();n==null||n.delete(t);let{subUnitId:o,range:s,name:c}=i;this._tableDelete$.next({unitId:e,subUnitId:o,tableId:t,range:s,tableName:c,tableStyleId:a})}}operationTableRowCol(t,n,r){let a=this.getTableById(t,n);if(!a)return;let{operationType:o,rowColType:s,index:c,count:l,columnsJson:u}=r,d=a.getRange(),f={...d};if(o===i.Insert){if(s===`row`)f.endRow+=l;else if(s===`column`){f.endColumn+=l;for(let t=0;t<l;t++){let n=this._localeService.t(`sheets-table.columnPrefix`),r=new D((0,e.generateRandomId)(),m(a.getColumnsCount()+1+t,n));u!=null&&u[t]&&r.fromJSON(u[t]);let i=c+t-d.startColumn;a.insertColumn(i,r)}}}else if(s===`row`)f.endRow-=l;else if(s===`column`){f.endColumn-=l;for(let e=l-1;e>=0;e--){let t=c+e-d.startColumn;a.removeColumn(t)}}a.setRange(f),this._tableRangeChanged$.next({unitId:t,subUnitId:a.getSubunitId(),tableId:n,range:f,oldRange:d})}updateTableRange(t,n,r){let i=this.getTableById(t,n);if(!i)return;let a=i.getRange(),o=r.newRange;if(o.startColumn<a.startColumn){let t=a.startColumn-o.startColumn,n=this._localeService.t(`sheets-table.columnPrefix`);for(let r=0;r<t;r++)i.insertColumn(a.startColumn,new D((0,e.generateRandomId)(),m(i.getColumnsCount()+1,n)))}else if(o.startColumn>a.startColumn){let e=o.startColumn-a.startColumn;for(let t=e-1;t>=0;t--){let e=o.startColumn+t-a.startColumn;i.removeColumn(e)}}if(o.endColumn<a.endColumn){let e=a.endColumn-o.endColumn;for(let t=e-1;t>=0;t--){let e=o.endColumn+t-a.startColumn;i.removeColumn(e)}}else if(o.endColumn>a.endColumn){let t=o.endColumn-a.endColumn;for(let n=0;n<t;n++)i.insertColumn(a.endColumn,new D((0,e.generateRandomId)(),m(i.getColumnsCount()+1,`Column`)))}i.setRange(o),this._tableRangeChanged$.next({unitId:t,subUnitId:i.getSubunitId(),tableId:n,range:o,oldRange:a})}setTableByConfig(e,t,n){let r=this._tableMap.get(e),i=r==null?void 0:r.get(t);if(!i)return;let a=i.getSubunitId(),{name:o,updateRange:s,rowColOperation:c,theme:l,options:u}=n;if(o){let n=i.getDisplayName();i.setDisplayName(o),this._tableNameChanged$.next({unitId:e,subUnitId:a,tableId:t,tableName:o,oldTableName:n})}if(c&&this.operationTableRowCol(e,t,c),s&&this.updateTableRange(e,t,s),l){var d;let n=(d=i.getTableStyleId())==null?`default`:d;i.setTableStyleId(l),this._tableThemeChanged$.next({unitId:e,subUnitId:a,tableId:t,theme:l,oldTheme:n})}u&&u.showHeader!==void 0&&i.setShowHeader(u.showHeader)}toJSON(e){let t={},n=this._tableMap.get(e);return n&&n.forEach(n=>{let r=n.getSubunitId();if(!t[r]){let n=new Set;this.getTablesBySubunitId(e,r).forEach(e=>{let t=e.getTableFilters().getFilterOutRows();if(t)for(let e of t)n.add(e)}),t[r]={tables:[],tableFilteredOutRows:Array.from(n)}}t[r].tables.push(n.toJSON())}),t}fromJSON(e,t){let r=this._ensureUnit(e);Object.keys(t).forEach(i=>{let a=(0,n.getSheetCommandTarget)(this._univerInstanceService,{unitId:e,subUnitId:i});if(!a)return;let o=a.worksheet,s;t[i].tables?s=t[i].tables:Array.isArray(t[i])&&(s=t[i]),s&&s.forEach(t=>{let n=this.getColumnHeader(e,i,t.range),a=new F(t.id,t.name,t.range,n,t.options);if(a.setTableMeta(t.meta),t.columns.length&&a.setColumns(t.columns),t.filters){let e=a.getTableFilters();e.fromJSON(t.filters),e.doFilter(o,a.getTableFilterRange())}a.setSubunitId(i),r.set(t.id,a),this._tableAdd$.next({unitId:e,subUnitId:i,range:t.range,tableName:t.name,tableId:t.id})})}),this._tableInitStatus.next(!0)}deleteUnitId(e){let t=this._tableMap.get(e);t&&t.forEach(e=>e.dispose()),this._tableMap.delete(e)}dispose(){super.dispose(),this._tableAdd$.complete(),this._tableDelete$.complete(),this._tableNameChanged$.complete(),this._tableRangeChanged$.complete(),this._tableThemeChanged$.complete(),this._tableFilterChanged$.complete(),this._tableInitStatus.complete(),this._tableMap.forEach(e=>{e.forEach(e=>e.dispose()),e.clear()}),this._tableMap.clear()}};R=L([I(0,e.IUniverInstanceService),I(1,(0,e.Inject)(e.LocaleService))],R);let z=class extends e.Disposable{constructor(e){super(),this._tableManager=e}getTableInfo(e,t){let n=this._tableManager.getTable(e,t);if(n)return{unitId:e,...n.getTableInfo()}}getTableList(e){return this._tableManager.getTableList(e)}addTable(e,t,n,r,i,a,o){return this._tableManager.addTable(e,t,n,r,i,a,o)}deleteTable(e,t,n){this._tableManager.deleteTable(e,n)}getTableMeta(e,t){var n;return(n=this._tableManager.getTable(e,t))==null?void 0:n.getTableMeta()}setTableMeta(e,t,n){var r;(r=this._tableManager.getTable(e,t))==null||r.setTableMeta(n)}getTableColumnMeta(e,t,n){var r;return(r=this._tableManager.getTable(e,t))==null||(r=r.getTableColumnByIndex(n))==null?void 0:r.getMeta()}selTableColumnMeta(e,t,n,r){var i;(i=this._tableManager.getTable(e,t))==null||(i=i.getTableColumnByIndex(n))==null||i.setMeta(r)}addFilter(e,t,n,r){this._tableManager.addFilter(e,t,n,r)}getCellValueWithConditionType(e,t,n,r=c.String){return M(e,t,n,r)}};z=L([I(0,(0,e.Inject)(R))],z);const B={id:`sheet.mutation.add-table`,type:e.CommandType.MUTATION,handler:(e,t)=>{let{tableId:n,unitId:r,subUnitId:i,name:a,range:o,header:s,options:c}=t;return e.get(z).addTable(r,i,a,o,s,n,c),!0}},V={id:`sheet.mutation.delete-table`,type:e.CommandType.MUTATION,handler:(e,t)=>{let{unitId:n,subUnitId:r,tableId:i}=t;return e.get(z).deleteTable(n,r,i),!0}},at={id:`sheet.command.add-table`,type:e.CommandType.COMMAND,handler:(n,r)=>{var i;if(!r)return!1;let a=n.get(e.IUndoRedoService),o=n.get(e.ICommandService),s=n.get(e.LocaleService),c=n.get(R),l=(i=r.id)==null?(0,e.generateRandomId)():i,u=x(r.unitId,{univerInstanceService:n.get(e.IUniverInstanceService),tableManager:c,definedNamesService:n.get(t.IDefinedNamesService)}),d=r.name;if(!d||!(0,e.customNameCharacterCheck)(d.toLowerCase(),u)){let e=s.t(`sheets-table.tablePrefix`),t=c.getTableList(r.unitId).length+1;for(let n of u)if(n.startsWith(e.toLowerCase())){let r=Number(n.slice(e.length));Number.isInteger(r)&&r>=t&&(t=r+1)}d=`${e}${t}`}let f=[],p=[],{unitId:m,subUnitId:h,range:g}=r,_=c.getColumnHeader(m,h,g,s.t(`sheets-table.columnPrefix`));return f.push({id:B.id,params:{...r,tableId:l,name:d,header:_}}),p.push({id:V.id,params:{tableId:l,unitId:r.unitId}}),(0,e.sequenceExecute)(f,o)&&a.pushUndoRedo({unitID:r.unitId,undoMutations:p,redoMutations:f}),!0}},H={id:`sheet.mutation.set-sheet-table`,type:e.CommandType.MUTATION,handler:(e,t)=>{if(!t)return!1;let{unitId:n,tableId:r,config:i}=t;return e.get(R).setTableByConfig(n,r,i),!0}},ot={id:`sheet.command.add-table-theme`,type:e.CommandType.COMMAND,handler:(t,r)=>{if(!r)return!1;let i=t.get(R),{unitId:a,tableId:o,themeStyle:s}=r,c=[],l=[],u=i.getTableById(a,o);if(!u)return!1;let d=u.getSubunitId();return c.push({id:n.AddRangeThemeMutation.id,params:{unitId:a,subUnitId:d,styleJSON:s.toJson()}}),c.push({id:H.id,params:{unitId:a,subUnitId:d,tableId:o,config:{theme:s.getName()}}}),l.push({id:H.id,params:{unitId:a,subUnitId:d,tableId:o,config:{themeStyle:u.getTableStyleId()}}}),l.push({id:n.RemoveRangeThemeMutation.id,params:{unitId:a,subUnitId:d,styleName:s.getName()}}),(0,e.sequenceExecute)(c,t.get(e.ICommandService))&&t.get(e.IUndoRedoService).pushUndoRedo({unitID:a,undoMutations:l,redoMutations:c}),!0}},st={id:`sheet.command.delete-table`,type:e.CommandType.COMMAND,handler:(t,n)=>{if(!n)return!1;let r=t.get(e.IUndoRedoService),i=t.get(e.ICommandService),a=t.get(R),o=t.get(e.ILogService),s=[],c=[],l=a.getTable(n.unitId,n.tableId),u=l==null?void 0:l.toJSON();return u?(s.push({id:V.id,params:{...n}}),c.push({id:B.id,params:{unitId:n.unitId,subUnitId:n.subUnitId,tableId:n.tableId,name:u.name,range:u.range,options:u.options}}),(0,e.sequenceExecute)(s,i)&&r.pushUndoRedo({unitID:n.unitId,undoMutations:c,redoMutations:s}),!0):(o.error(`[TableManager]: Table not found`),!1)}},ct=`SHEET_TABLE_PLUGIN`,U=`SHEET_TABLE`,lt=`table-custom`,ut={id:`sheet.command.remove-table-theme`,type:e.CommandType.COMMAND,handler:(t,r)=>{if(!r)return!1;let{unitId:i,tableId:a,themeName:o}=r,s=t.get(R),c=t.get(n.SheetRangeThemeModel),l=s.getTableById(i,a);if(!l)return!1;let u=l.getSubunitId(),d=[],f=[],p=c.getRegisteredRangeThemes().filter(e=>e==null?void 0:e.startsWith(`table-default`)),m=c.getRegisteredRangeThemes().filter(e=>e==null?void 0:e.startsWith(lt)).find(e=>e!==o);m||(m=p[0]),d.push({id:H.id,params:{unitId:i,subUnitId:u,tableId:a,config:{theme:m}}}),d.push({id:n.RemoveRangeThemeMutation.id,params:{unitId:i,subUnitId:u,styleName:o}});let h=c.getDefaultRangeThemeStyle(o);return h&&(f.push({id:n.AddRangeThemeMutation.id,params:{unitId:i,subUnitId:u,styleJSON:h.toJson()}}),f.push({id:H.id,params:{unitId:i,subUnitId:u,tableId:a,config:{theme:o}}})),(0,e.sequenceExecute)(d,t.get(e.ICommandService))&&t.get(e.IUndoRedoService).pushUndoRedo({unitID:i,redoMutations:d,undoMutations:f}),!0}},W={id:`sheet.command.set-table-config`,type:e.CommandType.COMMAND,handler:(n,r)=>{if(!r)return!1;let{unitId:a,tableId:o,name:s,updateRange:c,rowColOperation:l,theme:u}=r,d=n.get(R),f=d.getTableById(a,o);if(!f)return!1;let p={},m={},h=n.get(e.LocaleService),g=x(a,{univerInstanceService:n.get(e.IUniverInstanceService),tableManager:d,definedNamesService:n.get(t.IDefinedNamesService)});if(s){if(!(0,e.customNameCharacterCheck)(s.toLowerCase(),g))return n.get(e.ILogService).warn(h.t(`sheets-table.tableNameError`)),!1;p.name=f.getDisplayName(),m.name=s}l&&(p.rowColOperation={operationType:l.operationType===i.Insert?i.Delete:i.Insert,rowColType:l.rowColType,index:l.index,count:l.count},m.rowColOperation=l),c&&(p.updateRange={newRange:f.getRange()},m.updateRange=c),u&&(p.theme=f.getTableStyleId(),m.theme=u);let _={unitId:a,subUnitId:f.getSubunitId(),tableId:o,config:m};return n.get(e.ICommandService).executeCommand(H.id,_),n.get(e.IUndoRedoService).pushUndoRedo({unitID:a,undoMutations:[{id:H.id,params:{unitId:a,subUnitId:f.getSubunitId(),tableId:o,config:p}}],redoMutations:[{id:H.id,params:_}]}),!0}},G={id:`sheet.mutation.set-table-filter`,type:e.CommandType.MUTATION,handler:(e,t)=>{let{tableId:n,unitId:r,column:i,tableFilter:a}=t;return e.get(R).addFilter(r,n,i,a),!0}},dt={id:`sheet.command.set-table-filter`,type:e.CommandType.COMMAND,handler:(t,n)=>{if(!n)return!1;let r=t.get(e.IUndoRedoService),i=t.get(e.ICommandService),a=n.tableId||(0,e.generateRandomId)(),o=[],s=[];return o.push({id:G.id,params:{...n,tableId:a}}),s.push({id:G.id,params:{...n,tableId:a,tableFilter:void 0}}),(0,e.sequenceExecute)(o,i)&&r.pushUndoRedo({unitID:n.unitId,undoMutations:s,redoMutations:o}),!0}};let K=class extends e.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._sheetInterceptorService=t,this._tableManager=n,this._resourceManagerService=r,E(this,`_tableRangeRTree`,new Map),this._initSnapshot(),this._initSheetChange(),this.registerTableChangeEvent(),this.registerTableHeaderInterceptor()}getContainerTableWithRange(t,n,r){let i=this._ensureTableRangeRTree(t),a=Array.from(i.bulkSearch([{unitId:t,sheetId:n,range:r}])).find(n=>{let i=this._tableManager.getTable(t,String(n));return i?e.Rectangle.contains(i.getRange(),r):!1});if(a)return this._tableManager.getTable(t,String(a))}_ensureTableRangeRTree(t){return this._tableRangeRTree.has(t)||this._tableRangeRTree.set(t,new e.RTree),this._tableRangeRTree.get(t)}registerTableChangeEvent(){this.disposeWithMe(this._tableManager.tableAdd$.subscribe(e=>{let{range:t,tableId:n,unitId:r,subUnitId:i}=e;this._ensureTableRangeRTree(r).insert({unitId:r,sheetId:i,id:n,range:{...t}})})),this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(e=>{let{range:t,tableId:n,unitId:r,subUnitId:i,oldRange:a}=e,o=this._ensureTableRangeRTree(r);o.remove({unitId:r,sheetId:i,id:n,range:{...a}}),o.insert({unitId:r,sheetId:i,id:n,range:{...t}})})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(e=>{let{tableId:t,unitId:n,subUnitId:r,range:i}=e;this._ensureTableRangeRTree(n).remove({unitId:n,sheetId:r,id:t,range:{...i}})}))}registerTableHeaderInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(n.INTERCEPTOR_POINT.CELL_CONTENT,{effect:e.InterceptorEffectEnum.Value,handler:(e,t,n)=>{let{row:r,col:i,unitId:a,subUnitId:o}=t,s=this._ensureTableRangeRTree(a);if((e==null?void 0:e.v)===void 0&&s){let c=Array.from(s.bulkSearch([{unitId:a,sheetId:o,range:{startColumn:i,endColumn:i,startRow:r,endRow:r}}]));if(c.length>0){let o=this._tableManager.getTable(a,c[0]);if(o){let a=o.getRange(),s=i-a.startColumn;if(a.startRow===r){let r=o.getColumnNameByIndex(s);return(!e||e===t.rawData)&&(e={...t.rawData}),e.v=r,n(e)}}}}return n(e)}}))}_toJson(e){return this._tableManager.toJSON(e)}_fromJSON(e,t){return this._tableManager.fromJSON(e,t)}_deleteUnitId(e){this._tableManager.deleteUnitId(e)}_initSnapshot(){this.disposeWithMe(this._resourceManagerService.registerPluginResource({toJson:e=>JSON.stringify(this._toJson(e)),parseJson:e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}},businesses:[e.UniverInstanceType.UNIVER_SHEET],pluginName:ct,onLoad:(e,t)=>{this._fromJSON(e,t)},onUnLoad:e=>{this._deleteUnitId(e)}}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:t=>{if(t.id===n.RemoveSheetCommand.id){var r;let n=t.params,i=n.unitId||this._univerInstanceService.getCurrentUnitOfType(e.UniverInstanceType.UNIVER_SHEET).getUnitId(),a=n.subUnitId||((r=this._univerInstanceService.getCurrentUnitOfType(e.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:r.getSheetId());if(!i||!a)return{redos:[],undos:[]};let o=this._tableManager.getTablesBySubunitId(i,a);if(o.length===0)return{redos:[],undos:[]};let s=[],c=[];return o.forEach(e=>{let t=e.toJSON();s.push({id:V.id,params:{unitId:i,subUnitId:a,tableId:t.id}}),c.push({id:B.id,params:{unitId:i,subUnitId:a,name:t.name,range:t.range,tableId:t.id,options:{...t.options,columns:t.columns,filters:t.filters.tableColumnFilterList}}})}),{redos:s,undos:c}}else if(t.id===n.CopySheetCommand.id){let{unitId:n,subUnitId:r,targetSubUnitId:i}=t.params;if(!n||!r||!i)return{redos:[],undos:[]};let a=this._tableManager.getTablesBySubunitId(n,r);if(a.length===0)return{redos:[],undos:[]};let o=[],s=[];return a.forEach(t=>{let r=t.toJSON(),a=(0,e.generateRandomId)();o.push({id:B.id,params:{unitId:n,subUnitId:i,name:r.name,range:{...r.range,sheetId:i},tableId:a,options:{...r.options,columns:r.columns,filters:r.filters.tableColumnFilterList}}}),s.push({id:V.id,params:{unitId:n,subUnitId:i,tableId:a}})}),{redos:o,undos:s}}return{redos:[],undos:[]}}}))}dispose(){super.dispose(),this._tableRangeRTree.clear()}};K=L([I(0,(0,e.Inject)(e.IUniverInstanceService)),I(1,(0,e.Inject)(n.SheetInterceptorService)),I(2,(0,e.Inject)(R)),I(3,(0,e.Inject)(e.IResourceManagerService))],K);const ft={id:`sheet.command.table-insert-row`,type:e.CommandType.COMMAND,handler:t=>{let r=(0,n.getSheetCommandTarget)(t.get(e.IUniverInstanceService));if(!r)return!1;let{workbook:i,worksheet:a,unitId:o,subUnitId:s}=r,c=t.get(n.SheetsSelectionsService).getCurrentSelections();if(!c.length||c.length>1)return!1;t.get(R);let l=c[0].range,u=t.get(K).getContainerTableWithRange(o,s,l);if(!u)return!1;let d=l.endRow-l.startRow+1,f=a.getRowCount()-1,p=a.getCellMatrix().getDataRange().endRow,m=[],h=[];if(f-p<d)m.push({id:n.InsertRowMutation.id,params:{unitId:o,subUnitId:s,range:{...l}}}),m.push({id:H.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{updateRange:{newRange:{...u.getRange(),endRow:u.getRange().endRow+d}}}}}),h.push({id:H.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{updateRange:{newRange:u.getRange()}}}}),h.push({id:n.RemoveRowMutation.id,params:{unitId:o,subUnitId:s,range:{...l}}});else{let e={...u.getRange()};m.push({id:H.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{updateRange:{newRange:{...e,endRow:e.endRow+d}}}}}),h.push({id:H.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{updateRange:{newRange:{...e}}}}});let r=(0,n.getMoveRangeUndoRedoMutations)(t,{unitId:o,subUnitId:s,range:{startRow:l.startRow,endRow:p,startColumn:e.startColumn,endColumn:e.endColumn}},{unitId:o,subUnitId:s,range:{startRow:l.startRow+d,endRow:p+d,startColumn:e.startColumn,endColumn:e.endColumn}});r&&(m.push(...r.redos),h.push(...r.undos))}return(0,e.sequenceExecute)(m,t.get(e.ICommandService))&&t.get(e.IUndoRedoService).pushUndoRedo({unitID:o,undoMutations:h,redoMutations:m}),!0}},pt={id:`sheet.command.table-insert-col`,type:e.CommandType.COMMAND,handler:t=>{let r=(0,n.getSheetCommandTarget)(t.get(e.IUniverInstanceService));if(!r)return!1;let{worksheet:o,unitId:s,subUnitId:c}=r,l=t.get(n.SheetsSelectionsService).getCurrentSelections();if(!l.length||l.length>1)return!1;let u=l[0].range,d=t.get(K).getContainerTableWithRange(s,c,u);if(!d)return!1;let f=u.endColumn-u.startColumn+1,p=o.getColumnCount()-1,m=o.getCellMatrix().getDataRange().endColumn,h=[],g=[];if(p-m<f)h.push({id:n.InsertColMutation.id,params:{unitId:s,subUnitId:c,range:{...u}}}),h.push({id:H.id,params:{unitId:s,subUnitId:c,tableId:d.getId(),config:{rowColOperation:{operationType:i.Insert,rowColType:a.Col,index:u.startColumn,count:f}}}}),g.push({id:H.id,params:{unitId:s,subUnitId:c,tableId:d.getId(),config:{rowColOperation:{operationType:i.Delete,rowColType:a.Col,index:u.startColumn,count:f}}}}),g.push({id:n.RemoveColMutation.id,params:{unitId:s,subUnitId:c,range:{...u}}});else{let e=d.getRange();h.push({id:H.id,params:{unitId:s,subUnitId:c,tableId:d.getId(),config:{rowColOperation:{operationType:i.Insert,rowColType:a.Col,index:u.startColumn,count:f}}}}),g.push({id:H.id,params:{unitId:s,subUnitId:c,tableId:d.getId(),config:{rowColOperation:{operationType:i.Delete,rowColType:a.Col,index:u.startColumn,count:f}}}});let r=(0,n.getMoveRangeUndoRedoMutations)(t,{unitId:s,subUnitId:c,range:{startRow:e.startRow,endRow:e.endRow,startColumn:u.startColumn,endColumn:m}},{unitId:s,subUnitId:c,range:{startRow:e.startRow,endRow:e.endRow,startColumn:u.startColumn+f,endColumn:m+f}});r&&(h.push(...r.redos),g.push(...r.undos))}return(0,e.sequenceExecute)(h,t.get(e.ICommandService))&&t.get(e.IUndoRedoService).pushUndoRedo({unitID:s,undoMutations:g,redoMutations:h}),!0}},mt={id:`sheet.command.table-remove-row`,type:e.CommandType.COMMAND,handler:(t,r)=>{if(!r)return!1;let i=(0,n.getSheetCommandTarget)(t.get(e.IUniverInstanceService),r);if(!i)return!1;let{unitId:a,subUnitId:o}=i,s=t.get(n.SheetsSelectionsService).getCurrentSelections();if(!s.length||s.length>1)return!1;let c=s[0].range,l=t.get(K).getContainerTableWithRange(a,o,c);if(!l)return!1;let u=c.endRow-c.startRow+1,d=[],f=[],p=l.getRange();d.push({id:H.id,params:{unitId:a,subUnitId:o,tableId:l.getId(),config:{updateRange:{newRange:{...p,endRow:p.endRow-u}}}}}),f.push({id:H.id,params:{unitId:a,subUnitId:o,tableId:l.getId(),config:{updateRange:{newRange:{...p}}}}});let m=i.worksheet.getCellMatrix().getDataRange().endRow,h=(0,n.getMoveRangeUndoRedoMutations)(t,{unitId:a,subUnitId:o,range:{startRow:c.endRow+1,endRow:m,startColumn:p.startColumn,endColumn:p.endColumn}},{unitId:a,subUnitId:o,range:{startRow:c.startRow,endRow:m-u,startColumn:p.startColumn,endColumn:p.endColumn}});return h&&(d.push(...h.redos),f.push(...h.undos)),(0,e.sequenceExecute)(d,t.get(e.ICommandService))&&t.get(e.IUndoRedoService).pushUndoRedo({unitID:a,undoMutations:f,redoMutations:d}),!0}},q={id:`sheet.command.table-remove-col`,type:e.CommandType.COMMAND,handler:(t,r)=>{if(!r)return!1;let o=(0,n.getSheetCommandTarget)(t.get(e.IUniverInstanceService),r);if(!o)return!1;let{workbook:s,unitId:c,subUnitId:l}=o;t.get(R);let u=t.get(n.SheetsSelectionsService).getCurrentSelections();if(!u.length||u.length>1)return!1;let d=u[0].range,f=t.get(K).getContainerTableWithRange(c,l,d);if(!f)return!1;let p=d.endColumn-d.startColumn+1,m=[],h=[],g=f.getRange();m.push({id:H.id,params:{unitId:c,subUnitId:l,tableId:f.getId(),config:{rowColOperation:{operationType:i.Delete,rowColType:a.Col,index:d.startColumn,count:p}}}});let _=[],v=d.startColumn-g.startColumn;for(let e=0;e<p;e++){let t=f.getTableInfo().columns[v+e];t&&_.push(t)}h.push({id:H.id,params:{unitId:c,subUnitId:l,tableId:f.getId(),config:{rowColOperation:{operationType:i.Insert,rowColType:a.Col,index:d.startColumn,count:p,columnsJson:_}}}});let y=o.worksheet.getCellMatrix().getDataRange().endColumn,b=(0,n.getMoveRangeUndoRedoMutations)(t,{unitId:c,subUnitId:l,range:{startRow:g.startRow,endRow:g.endRow,startColumn:d.endColumn+1,endColumn:y}},{unitId:c,subUnitId:l,range:{startRow:g.startRow,endRow:g.endRow,startColumn:d.startColumn,endColumn:y-p}});return b&&(m.push(...b.redos),h.push(...b.undos)),(0,e.sequenceExecute)(m,t.get(e.ICommandService))&&t.get(e.IUndoRedoService).pushUndoRedo({unitID:c,undoMutations:h,redoMutations:m}),!0}};var ht=`@univerjs/sheets-table`,gt=`0.18.0`;let J=class extends e.Disposable{constructor(e,t){super(),this._tableManager=e,this._commandService=t,this._initRangeListener()}_initRangeListener(){this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(e=>{let{tableId:t,unitId:n}=e,r=this._tableManager.getTableById(n,t);r&&this._updateSuperTable(n,r)})),this.disposeWithMe(this._tableManager.tableAdd$.subscribe(e=>{let{tableId:t,unitId:n}=e,r=this._tableManager.getTableById(n,t);r&&this._updateSuperTable(n,r)})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(e=>{let{unitId:n,tableName:r}=e;this._commandService.executeCommand(t.RemoveSuperTableMutation.id,{unitId:n,tableName:r})})),this.disposeWithMe(this._tableManager.tableNameChanged$.subscribe(e=>{let{tableId:n,unitId:r,oldTableName:i}=e;this._commandService.executeCommand(t.RemoveSuperTableMutation.id,{unitId:r,tableName:i});let a=this._tableManager.getTableById(r,n);a&&this._updateSuperTable(r,a)}))}_updateSuperTable(e,n){let r=n.getTableInfo(),i=r.name,a=r.columns,o=new Map;a.forEach((e,t)=>{o.set(e.displayName,t)}),this._commandService.executeCommand(t.SetSuperTableMutation.id,{unitId:e,tableName:i,reference:{range:r.range,sheetId:r.subUnitId,titleMap:o}})}};J=L([I(0,(0,e.Inject)(R)),I(1,e.ICommandService)],J);let Y=class extends e.Disposable{constructor(e,t){super(),this._tableManager=e,this._exclusiveRangeService=t,this._initRangeListener()}_initRangeListener(){this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(e=>{let{range:t,tableId:n,unitId:r,subUnitId:i}=e;this._exclusiveRangeService.clearExclusiveRangesByGroupId(r,i,U,n),this._exclusiveRangeService.addExclusiveRange(r,i,U,[{range:{...t},groupId:n}])})),this.disposeWithMe(this._tableManager.tableAdd$.subscribe(e=>{let{tableId:t,unitId:n,subUnitId:r,range:i}=e;this._exclusiveRangeService.addExclusiveRange(n,r,U,[{range:{...i},groupId:t}])})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(e=>{let{tableId:t,unitId:n,subUnitId:r}=e;this._exclusiveRangeService.clearExclusiveRangesByGroupId(n,r,U,t)}))}};Y=L([I(0,(0,e.Inject)(R)),I(1,(0,e.Inject)(n.IExclusiveRangeService))],Y);let X=class extends e.Disposable{constructor(e,t,n,r,i,a,o){super(),this._commandService=e,this._refRangeService=t,this._univerInstanceService=n,this._injector=r,this._sheetInterceptorService=i,this._tableManager=a,this._localeService=o,this._initCommandInterceptor(),this._initCommandListener()}_initCommandInterceptor(){let e=this;this._sheetInterceptorService.interceptCommand({getMutations(t){let r={redos:[],undos:[]},{id:i,params:a}=t;switch(i){case n.InsertRowCommand.id:return e._generateTableMutationWithInsertRow(a);case n.InsertColCommand.id:return e._generateTableMutationWithInsertCol(a);case n.RemoveRowCommand.id:return e._generateTableMutationWithRemoveRow(a);case n.RemoveColCommand.id:return e._generateTableMutationWithRemoveCol(a)}return r}})}_generateTableMutationWithInsertRow(e){let t=[],r=[],i=(0,n.getSheetCommandTarget)(this._univerInstanceService,e);if(!i)return{undos:t,redos:r};let{unitId:a,subUnitId:o}=i,s=this._tableManager.getTablesBySubunitId(a,o);if(!s.length)return{undos:t,redos:r};let{range:c}=e;return s.forEach(e=>{let n=e.getRange();if(c.startRow>n.startRow&&c.startRow<=n.endRow){let i=c.endRow-c.startRow+1;r.push({id:H.id,params:{unitId:a,subUnitId:o,tableId:e.getId(),config:{updateRange:{newRange:{...n,endRow:n.endRow+i}}}}}),t.push({id:H.id,params:{unitId:a,subUnitId:o,tableId:e.getId(),config:{updateRange:{newRange:{...n}}}}})}}),{undos:t,redos:r}}_generateTableMutationWithInsertCol(e){let t=[],r=[],o=(0,n.getSheetCommandTarget)(this._univerInstanceService,e);if(!o)return{undos:t,redos:r};let{unitId:s,subUnitId:c}=o,l=this._tableManager.getTablesBySubunitId(s,c);if(!l.length)return{undos:t,redos:r};let{range:u}=e;return l.forEach(e=>{let n=e.getRange();if(u.startColumn>n.startColumn&&u.startColumn<=n.endColumn){let n=u.endColumn-u.startColumn+1;r.push({id:H.id,params:{unitId:s,subUnitId:c,tableId:e.getId(),config:{rowColOperation:{operationType:i.Insert,rowColType:a.Col,index:u.startColumn,count:n}}}}),t.push({id:H.id,params:{unitId:s,subUnitId:c,tableId:e.getId(),config:{rowColOperation:{operationType:i.Delete,rowColType:a.Col,index:u.startColumn,count:n}}}})}}),{undos:t,redos:r}}_generateTableMutationWithRemoveRow(t){let r=[],i=[],a=[],o=[],s=(0,n.getSheetCommandTarget)(this._univerInstanceService);if(!s)return{undos:r,redos:i,preRedos:a,preUndos:o};let{unitId:c,subUnitId:l}=s,u=this._tableManager.getTablesBySubunitId(c,l);if(!u.length)return{undos:r,redos:i,preRedos:a,preUndos:o};let{range:d}=t,f=d.endRow-d.startRow+1;return u.forEach(t=>{let n=t.getRange();if(e.Rectangle.intersects(n,d))if(d.startRow<=n.startRow&&d.endRow>=n.startRow){a.push({id:V.id,params:{unitId:c,subUnitId:l,tableId:t.getId()}});let e=t.toJSON();r.push({id:B.id,params:{unitId:c,subUnitId:l,tableId:e.id,name:e.name,range:e.range,options:e.options}})}else d.startRow>n.startRow&&d.startRow<=n.endRow?(i.push({id:H.id,params:{unitId:c,subUnitId:l,tableId:t.getId(),config:{updateRange:{newRange:{...n,endRow:n.endRow-f}}}}}),r.push({id:H.id,params:{unitId:c,subUnitId:l,tableId:t.getId(),config:{updateRange:{newRange:{...n}}}}})):d.startRow<n.endRow&&d.endRow>=n.endRow&&(i.push({id:H.id,params:{unitId:c,subUnitId:l,tableId:t.getId(),config:{updateRange:{newRange:{...n,endRow:d.startRow-1}}}}}),r.push({id:H.id,params:{unitId:c,subUnitId:l,tableId:t.getId(),config:{updateRange:{newRange:{...n}}}}}))}),{undos:r,redos:i,preRedos:a,preUndos:o}}_generateTableMutationWithRemoveCol(t){let r=[],o=[],s=[],c=[],l=(0,n.getSheetCommandTarget)(this._univerInstanceService);if(!l)return{undos:r,redos:o,preRedos:s,preUndos:c};let{unitId:u,subUnitId:d}=l,f=this._tableManager.getTablesBySubunitId(u,d);if(!f.length)return{undos:r,redos:o,preRedos:s,preUndos:c};let{range:p}=t,h=p.endColumn-p.startColumn+1;return f.forEach(t=>{let n=t.getRange();if(e.Rectangle.intersects(n,p)){if(p.startColumn<=n.startColumn&&p.endColumn>=n.endColumn){s.push({id:V.id,params:{unitId:u,subUnitId:d,tableId:t.getId()}});let e=t.toJSON(),{startRow:n,startColumn:i,endColumn:a}=e.range,l=this._univerInstanceService.getUnit(u),f=l==null?void 0:l.getSheetBySheetId(d);if(!f)return{undos:r,redos:o,preRedos:s,preUndos:c};let p=[];for(let e=i;e<=a;e++)p.push(v(f==null?void 0:f.getCell(n,e))||m(e-i+1,this._localeService.t(`sheets-table.columnPrefix`)));r.push({id:B.id,params:{unitId:u,subUnitId:d,tableId:e.id,name:e.name,header:p,range:e.range,options:e.options}})}else if(p.startColumn<=n.startColumn&&p.endColumn>=n.startColumn){let e=p.endColumn-n.startColumn+1;o.push({id:H.id,params:{unitId:u,subUnitId:d,tableId:t.getId(),config:{rowColOperation:{operationType:i.Delete,rowColType:a.Col,index:n.startColumn,count:e}}}});let s=[];for(let n=0;n<e;n++){let e=t.getTableColumnByIndex(n);e&&s.push(e.toJSON())}r.push({id:H.id,params:{unitId:u,subUnitId:d,tableId:t.getId(),config:{rowColOperation:{operationType:i.Insert,rowColType:a.Col,index:n.startColumn,count:e,columnsJson:s}}}})}else if(p.startColumn>n.startColumn&&p.endColumn>n.endColumn){let e=n.endColumn-p.startColumn+1;o.push({id:H.id,params:{unitId:u,subUnitId:d,tableId:t.getId(),config:{rowColOperation:{operationType:i.Delete,rowColType:a.Col,index:p.startColumn,count:e}}}});let s=[],c=p.startColumn-n.startColumn;for(let n=0;n<e;n++){let e=t.getTableColumnByIndex(n+c);e&&s.push(e.toJSON())}r.push({id:H.id,params:{unitId:u,subUnitId:d,tableId:t.getId(),config:{rowColOperation:{operationType:i.Insert,rowColType:a.Col,index:p.startColumn,count:h,columnsJson:s}}}})}else if(p.startColumn>n.startColumn&&p.endColumn<=n.endColumn){o.push({id:H.id,params:{unitId:u,subUnitId:d,tableId:t.getId(),config:{rowColOperation:{operationType:i.Delete,rowColType:a.Col,index:p.startColumn,count:h}}}});let e=[],s=p.startColumn-n.startColumn;for(let n=0;n<h;n++){let r=t.getTableColumnByIndex(n+s);r&&e.push(r.toJSON())}r.push({id:H.id,params:{unitId:u,subUnitId:d,tableId:t.getId(),config:{rowColOperation:{operationType:i.Insert,rowColType:a.Col,index:p.startColumn,count:h,columnsJson:e}}}})}}}),{undos:r,redos:o,preRedos:s,preUndos:c}}_initCommandListener(){this._commandService.onCommandExecuted(e=>{if(e.id===n.InsertRowMutation.id){let{unitId:t,subUnitId:n,range:r}=e.params,i=r.endRow-r.startRow+1;this._tableManager.getTablesBySubunitId(t,n).forEach(e=>{let n=e.getRange();r.startRow<=n.startRow&&this._tableManager.updateTableRange(t,e.getId(),{newRange:{...n,startRow:n.startRow+i,endRow:n.endRow+i}})})}else if(e.id===n.InsertColMutation.id){let{unitId:t,subUnitId:n,range:r}=e.params,i=r.endColumn-r.startColumn+1;this._tableManager.getTablesBySubunitId(t,n).forEach(e=>{let n=e.getRange();r.startColumn<=n.startColumn&&this._tableManager.updateTableRange(t,e.getId(),{newRange:{...n,startColumn:n.startColumn+i,endColumn:n.endColumn+i}})})}else if(e.id===n.RemoveRowMutation.id){let{unitId:t,subUnitId:n,range:r}=e.params,i=r.endRow-r.startRow+1;this._tableManager.getTablesBySubunitId(t,n).forEach(e=>{let n=e.getRange();r.startRow<n.startRow&&this._tableManager.updateTableRange(t,e.getId(),{newRange:{...n,startRow:n.startRow-i,endRow:n.endRow-i}})})}else if(e.id===n.RemoveColMutation.id){let{unitId:t,subUnitId:n,range:r}=e.params,i=r.endColumn-r.startColumn+1;this._tableManager.getTablesBySubunitId(t,n).forEach(e=>{let n=e.getRange();r.startColumn<n.startColumn&&this._tableManager.updateTableRange(t,e.getId(),{newRange:{...n,startColumn:n.startColumn-i,endColumn:n.endColumn-i}})})}})}};X=L([I(0,(0,e.Inject)(e.ICommandService)),I(1,(0,e.Inject)(n.RefRangeService)),I(2,(0,e.Inject)(e.IUniverInstanceService)),I(3,(0,e.Inject)(e.Injector)),I(4,(0,e.Inject)(n.SheetInterceptorService)),I(5,(0,e.Inject)(R)),I(6,(0,e.Inject)(e.LocaleService))],X);let Z=class extends e.Disposable{constructor(e,t,n,r){super(),this._tableManager=e,this._sheetRangeThemeService=t,this._sheetRangeThemeModel=n,this._configService=r,E(this,`_defaultThemeIndex`,0),E(this,`_allThemes`,[]),this._initUserTableTheme(),this.registerTableChangeEvent(),this._initDefaultTableTheme()}registerTableChangeEvent(){this.disposeWithMe(this._tableManager.tableAdd$.subscribe(e=>{let{range:t,tableId:n,unitId:r,subUnitId:i,tableStyleId:a}=e,o=this._tableManager.getTable(r,n),s=a||this._allThemes[this._defaultThemeIndex].name;o.setTableStyleId(s),this._sheetRangeThemeService.registerRangeThemeStyle(s,{unitId:r,subUnitId:i,range:{...t}})})),this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(e=>{let{range:t,oldRange:n,tableId:r,unitId:i,subUnitId:a}=e,o=this._tableManager.getTable(i,r),s=o.getTableStyleId();s||(s=this._allThemes[this._defaultThemeIndex].name,o.setTableStyleId(s)),this._sheetRangeThemeService.removeRangeThemeRule(s,{unitId:i,subUnitId:a,range:{...n}}),this._sheetRangeThemeService.registerRangeThemeStyle(s,{unitId:i,subUnitId:a,range:{...t}})})),this.disposeWithMe(this._tableManager.tableThemeChanged$.subscribe(e=>{let{theme:t,oldTheme:n,tableId:r,unitId:i,subUnitId:a}=e,o=this._tableManager.getTable(i,r).getRange();this._sheetRangeThemeService.removeRangeThemeRule(n,{unitId:i,subUnitId:a,range:{...o}}),this._sheetRangeThemeService.registerRangeThemeStyle(t,{unitId:i,subUnitId:a,range:{...o}})})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(e=>{let{range:t,unitId:n,subUnitId:r,tableStyleId:i=this._allThemes[this._defaultThemeIndex].name}=e;this._sheetRangeThemeService.removeRangeThemeRule(i,{unitId:n,subUnitId:r,range:{...t}})}))}_initUserTableTheme(){let e=this._configService.getConfig(`sheets-table.config`)||{},t=e.defaultThemeIndex||0,n=e.userThemes||[];this._defaultThemeIndex=t,this._allThemes=n.concat(w)}_initDefaultTableTheme(){for(let e=0;e<this._allThemes.length;e++){let{name:t,style:r}=this._allThemes[e],i=new n.RangeThemeStyle(t,r);this._sheetRangeThemeModel.registerDefaultRangeTheme(i)}}dispose(){super.dispose(),this._allThemes=[],this._defaultThemeIndex=0}};Z=L([I(0,(0,e.Inject)(R)),I(1,(0,e.Inject)(n.SheetRangeThemeService)),I(2,(0,e.Inject)(n.SheetRangeThemeModel)),I(3,e.IConfigService)],Z);let Q=class extends e.Disposable{constructor(e,t,n,i){super(),this._tableManager=e,this._sheetInterceptorService=t,this._univerInstanceService=n,this._zebraCrossingCacheController=i,E(this,`_tableFilteredOutRows$`,new r.BehaviorSubject(new Set)),E(this,`tableFilteredOutRows$`,this._tableFilteredOutRows$.asObservable()),E(this,`_subscription`,null),this.registerFilterChangeEvent(),this.initTableHiddenRowIntercept(),this._initFilteredOutRows()}get tableFilteredOutRows(){return this._tableFilteredOutRows$.value}set tableFilteredOutRows(e){this._tableFilteredOutRows$.next(e)}initTableHiddenRowIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(n.INTERCEPTOR_POINT.ROW_FILTERED,{priority:100,handler:(e,t,n)=>{if(e)return!0;let r=this.tableFilteredOutRows.has(t.row);return r?!0:n(r)}}))}_initFilteredOutRows(){this._tableManager.tableInitStatus$.pipe((0,r.filter)(e=>e),(0,r.switchMap)(()=>this._univerInstanceService.getCurrentTypeOfUnit$(e.UniverInstanceType.UNIVER_SHEET)),(0,r.filter)(e=>e!=null),(0,r.switchMap)(e=>e.activeSheet$),(0,r.filter)(e=>e!=null)).subscribe(()=>{let e=(0,n.getSheetCommandTarget)(this._univerInstanceService);if(!e)return;let{unitId:t,subUnitId:r}=e;this.tableFilteredOutRows.clear(),this._tableManager.getTablesBySubunitId(t,r).forEach(e=>{let t=e.getTableFilters().getFilterOutRows();if(t)for(let e of t)this.tableFilteredOutRows.add(e)})})}registerFilterChangeEvent(){this.disposeWithMe(this._tableManager.tableFilterChanged$.subscribe(e=>{var t;let{unitId:n,subUnitId:r,tableId:i}=e,a=(t=this._univerInstanceService.getUnit(n))==null?void 0:t.getSheetBySheetId(r),o=this._tableManager.getTable(n,i);!a||!o||(this.tableFilteredOutRows.clear(),o.getTableFilters().doFilter(a,o.getTableFilterRange()),this._tableManager.getTablesBySubunitId(n,r).forEach(e=>{let t=e.getTableFilters().getFilterOutRows();if(t)for(let e of t)this.tableFilteredOutRows.add(e)}),this._zebraCrossingCacheController.updateZebraCrossingCache(n,r))}))}dispose(){var e;super.dispose(),(e=this._subscription)==null||e.unsubscribe()}};Q=L([I(0,(0,e.Inject)(R)),I(1,(0,e.Inject)(n.SheetInterceptorService)),I(2,(0,e.Inject)(e.IUniverInstanceService)),I(3,(0,e.Inject)(n.ZebraCrossingCacheController))],Q);let $=class extends e.Plugin{constructor(t=C,n,r,i){super(),this._config=t,this._injector=n,this._configService=r,this._commandService=i;let{...a}=(0,e.merge)({},C,this._config);this._configService.setConfig(te,a),this._initRegisterCommand()}onStarting(){(0,e.registerDependencies)(this._injector,[[R],[Z],[K],[z],[Q],[Y],[X],[J]])}onReady(){(0,e.touchDependencies)(this._injector,[[J],[Y],[X],[Z],[K],[z],[Q]]),(0,e.touchDependencies)(this._injector,[[R]])}_initRegisterCommand(){[at,B,st,V,G,dt,W,H,ot,ut,ft,pt,mt,q].forEach(e=>this._commandService.registerCommand(e))}};E($,`pluginName`,ct),E($,`packageName`,ht),E($,`version`,gt),E($,`type`,e.UniverInstanceType.UNIVER_SHEET),$=L([I(1,(0,e.Inject)(e.Injector)),I(2,e.IConfigService),I(3,(0,e.Inject)(e.ICommandService))],$),exports.AddSheetTableCommand=at,exports.AddSheetTableMutation=B,exports.AddTableThemeCommand=ot,exports.DeleteSheetTableCommand=st,exports.DeleteSheetTableMutation=V,exports.RemoveTableThemeCommand=ut,exports.SHEET_TABLE_CUSTOM_THEME_PREFIX=lt,exports.SetSheetTableCommand=W,exports.SetSheetTableFilterCommand=dt,exports.SetSheetTableFilterMutation=G,exports.SetSheetTableMutation=H,exports.SheetTableInsertColCommand=pt,exports.SheetTableInsertRowCommand=ft,exports.SheetTableRemoveColCommand=q,exports.SheetTableRemoveRowCommand=mt,Object.defineProperty(exports,`SheetTableService`,{enumerable:!0,get:function(){return z}}),exports.SheetsTableButtonStateEnum=f,Object.defineProperty(exports,`SheetsTableController`,{enumerable:!0,get:function(){return K}}),exports.SheetsTableSortStateEnum=p,exports.TableColumnDataTypeEnum=o,exports.TableColumnFilterTypeEnum=s,exports.TableConditionTypeEnum=c,exports.TableDateCompareTypeEnum=d,Object.defineProperty(exports,`TableManager`,{enumerable:!0,get:function(){return R}}),exports.TableNumberCompareTypeEnum=l,exports.TableStringCompareTypeEnum=u,Object.defineProperty(exports,`UniverSheetsTablePlugin`,{enumerable:!0,get:function(){return $}}),exports.customEmptyThemeWithBorderStyle=ne,exports.isConditionFilter=b,exports.isManualTableFilter=ee,exports.processStyleWithBorderStyle=re;
package/lib/es/facade.js CHANGED
@@ -1,165 +1 @@
1
- import { LocaleService as h, IUniverInstanceService as y, UniverInstanceType as x, customNameCharacterCheck as g, ILogService as u, cellToRange as F, Rectangle as N } from "@univerjs/core";
2
- import { SheetTableService as l, AddSheetTableCommand as k, DeleteSheetTableCommand as C, SetSheetTableFilterCommand as T, SetSheetTableCommand as f, AddTableThemeCommand as U, TableColumnFilterTypeEnum as W, TableConditionTypeEnum as j, TableNumberCompareTypeEnum as w, TableStringCompareTypeEnum as L, TableDateCompareTypeEnum as R } from "@univerjs/sheets-table";
3
- import { FWorkbook as _, FWorksheet as p } from "@univerjs/sheets/facade";
4
- import { RangeThemeStyle as P } from "@univerjs/sheets";
5
- import { FEnum as E } from "@univerjs/core/facade";
6
- class V extends _ {
7
- getTableInfo(e) {
8
- const t = this.getId();
9
- return this._injector.get(l).getTableInfo(t, e);
10
- }
11
- getTableList() {
12
- const e = this.getId();
13
- return this._injector.get(l).getTableList(e);
14
- }
15
- async addTable(e, t, n, i, a) {
16
- var v;
17
- const o = this._injector.get(l), r = this._injector.get(h), c = this._injector.get(y).getCurrentUnitOfType(x.UNIVER_SHEET), b = /* @__PURE__ */ new Set();
18
- if (c && c.getSheets().forEach((m) => {
19
- b.add(m.getName());
20
- }), !g(t, b)) {
21
- this._injector.get(u).warn(r.t("sheets-table.tableNameError"));
22
- return;
23
- }
24
- const d = {
25
- unitId: this.getId(),
26
- name: t,
27
- subUnitId: e,
28
- range: n,
29
- options: a,
30
- id: i
31
- };
32
- if (await this._commandService.executeCommand(k.id, d))
33
- return (v = o.getTableList(this.getId()).find((m) => m.name === t)) == null ? void 0 : v.id;
34
- }
35
- async removeTable(e) {
36
- var i;
37
- const t = (i = this.getTableInfo(e)) == null ? void 0 : i.subUnitId;
38
- if (!t)
39
- return !1;
40
- const n = {
41
- unitId: this.getId(),
42
- subUnitId: t,
43
- tableId: e
44
- };
45
- return this._commandService.executeCommand(C.id, n);
46
- }
47
- getTableInfoByName(e) {
48
- return this.getTableList().find((n) => n.name === e);
49
- }
50
- setTableFilter(e, t, n) {
51
- const i = {
52
- unitId: this.getId(),
53
- tableId: e,
54
- column: t,
55
- tableFilter: n
56
- };
57
- return this._commandService.executeCommand(T.id, i);
58
- }
59
- }
60
- _.extend(V);
61
- class D extends p {
62
- addTable(e, t, n, i) {
63
- const a = this.getSheetId(), o = this.getWorkbook(), r = o.getUnitId(), s = this._injector.get(h), c = /* @__PURE__ */ new Set();
64
- if (o && o.getSheets().forEach((d) => {
65
- c.add(d.getName());
66
- }), !g(e, c))
67
- return this._injector.get(u).warn(s.t("sheets-table.tableNameError")), !1;
68
- const I = {
69
- unitId: r,
70
- subUnitId: a,
71
- name: e,
72
- range: t,
73
- id: n,
74
- options: i
75
- };
76
- return this._commandService.executeCommand(k.id, I);
77
- }
78
- setTableFilter(e, t, n) {
79
- const i = {
80
- unitId: this.getWorkbook().getUnitId(),
81
- tableId: e,
82
- column: t,
83
- tableFilter: n
84
- };
85
- return this._commandService.executeCommand(T.id, i);
86
- }
87
- removeTable(e) {
88
- const t = {
89
- unitId: this._fWorkbook.getId(),
90
- subUnitId: this.getSheetId(),
91
- tableId: e
92
- };
93
- return this._commandService.executeCommand(C.id, t);
94
- }
95
- setTableRange(e, t) {
96
- const n = {
97
- unitId: this.getWorkbook().getUnitId(),
98
- tableId: e,
99
- updateRange: {
100
- newRange: t
101
- }
102
- };
103
- return this._commandService.executeCommand(f.id, n);
104
- }
105
- setTableName(e, t) {
106
- const n = this.getWorkbook(), i = this._injector.get(h), a = /* @__PURE__ */ new Set();
107
- if (n && n.getSheets().forEach((s) => {
108
- a.add(s.getName());
109
- }), !g(t, a))
110
- return this._injector.get(u).warn(i.t("sheets-table.tableNameError")), !1;
111
- const r = {
112
- unitId: this.getWorkbook().getUnitId(),
113
- tableId: e,
114
- name: t
115
- };
116
- return this._commandService.executeCommand(f.id, r);
117
- }
118
- getSubTableInfos() {
119
- const e = this._fWorkbook.getId();
120
- return this._injector.get(l).getTableList(e).filter((n) => n.subUnitId === this.getSheetId());
121
- }
122
- resetFilter(e, t) {
123
- const n = {
124
- unitId: this._fWorkbook.getId(),
125
- tableId: e,
126
- column: t,
127
- tableFilter: void 0
128
- };
129
- return this._commandService.executeCommand(T.id, n);
130
- }
131
- getTableByCell(e, t) {
132
- const n = this._fWorkbook.getId(), a = this._injector.get(l).getTableList(n).filter((r) => r.subUnitId === this.getSheetId()), o = F(e, t);
133
- return a.find((r) => {
134
- const s = r.range;
135
- return N.intersects(s, o);
136
- });
137
- }
138
- addTableTheme(e, t) {
139
- const n = new P("table-style");
140
- return n.fromJson(t), this._commandService.executeCommand(U.id, {
141
- unitId: this._fWorkbook.getId(),
142
- tableId: e,
143
- themeStyle: n
144
- });
145
- }
146
- }
147
- p.extend(D);
148
- class A extends E {
149
- get TableColumnFilterTypeEnum() {
150
- return W;
151
- }
152
- get TableConditionTypeEnum() {
153
- return j;
154
- }
155
- get TableNumberCompareTypeEnum() {
156
- return w;
157
- }
158
- get TableStringCompareTypeEnum() {
159
- return L;
160
- }
161
- get TableDateCompareTypeEnum() {
162
- return R;
163
- }
164
- }
165
- E.extend(A);
1
+ import{ILogService as e,IUniverInstanceService as t,LocaleService as n,Rectangle as r,UniverInstanceType as i,cellToRange as a,customNameCharacterCheck as o}from"@univerjs/core";import{AddSheetTableCommand as s,AddTableThemeCommand as c,DeleteSheetTableCommand as l,SetSheetTableCommand as u,SetSheetTableFilterCommand as d,SheetTableService as f,TableColumnFilterTypeEnum as p,TableConditionTypeEnum as m,TableDateCompareTypeEnum as h,TableNumberCompareTypeEnum as g,TableStringCompareTypeEnum as _}from"@univerjs/sheets-table";import{FWorkbook as v,FWorksheet as y}from"@univerjs/sheets/facade";import{RangeThemeStyle as b}from"@univerjs/sheets";import{FEnum as x}from"@univerjs/core/facade";var S=class extends v{getTableInfo(e){let t=this.getId();return this._injector.get(f).getTableInfo(t,e)}getTableList(){let e=this.getId();return this._injector.get(f).getTableList(e)}async addTable(r,a,c,l,u){let d=this._injector.get(f),p=this._injector.get(n),m=this._injector.get(t).getCurrentUnitOfType(i.UNIVER_SHEET),h=new Set;if(m&&m.getSheets().forEach(e=>{h.add(e.getName())}),!o(a,h)){this._injector.get(e).warn(p.t(`sheets-table.tableNameError`));return}let g={unitId:this.getId(),name:a,subUnitId:r,range:c,options:u,id:l};if(await this._commandService.executeCommand(s.id,g)){var _;return(_=d.getTableList(this.getId()).find(e=>e.name===a))==null?void 0:_.id}}async removeTable(e){var t;let n=(t=this.getTableInfo(e))==null?void 0:t.subUnitId;if(!n)return!1;let r={unitId:this.getId(),subUnitId:n,tableId:e};return this._commandService.executeCommand(l.id,r)}getTableInfoByName(e){return this.getTableList().find(t=>t.name===e)}setTableFilter(e,t,n){let r={unitId:this.getId(),tableId:e,column:t,tableFilter:n};return this._commandService.executeCommand(d.id,r)}};v.extend(S);var C=class extends y{addTable(t,r,i,a){let c=this.getSheetId(),l=this.getWorkbook(),u=l.getUnitId(),d=this._injector.get(n),f=new Set;if(l&&l.getSheets().forEach(e=>{f.add(e.getName())}),!o(t,f))return this._injector.get(e).warn(d.t(`sheets-table.tableNameError`)),!1;let p={unitId:u,subUnitId:c,name:t,range:r,id:i,options:a};return this._commandService.executeCommand(s.id,p)}setTableFilter(e,t,n){let r={unitId:this.getWorkbook().getUnitId(),tableId:e,column:t,tableFilter:n};return this._commandService.executeCommand(d.id,r)}removeTable(e){let t={unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),tableId:e};return this._commandService.executeCommand(l.id,t)}setTableRange(e,t){let n={unitId:this.getWorkbook().getUnitId(),tableId:e,updateRange:{newRange:t}};return this._commandService.executeCommand(u.id,n)}setTableName(t,r){let i=this.getWorkbook(),a=this._injector.get(n),s=new Set;if(i&&i.getSheets().forEach(e=>{s.add(e.getName())}),!o(r,s))return this._injector.get(e).warn(a.t(`sheets-table.tableNameError`)),!1;let c={unitId:this.getWorkbook().getUnitId(),tableId:t,name:r};return this._commandService.executeCommand(u.id,c)}getSubTableInfos(){let e=this._fWorkbook.getId();return this._injector.get(f).getTableList(e).filter(e=>e.subUnitId===this.getSheetId())}resetFilter(e,t){let n={unitId:this._fWorkbook.getId(),tableId:e,column:t,tableFilter:void 0};return this._commandService.executeCommand(d.id,n)}getTableByCell(e,t){let n=this._fWorkbook.getId(),i=this._injector.get(f).getTableList(n).filter(e=>e.subUnitId===this.getSheetId()),o=a(e,t);return i.find(e=>{let t=e.range;return r.intersects(t,o)})}addTableTheme(e,t){let n=new b(`table-style`);return n.fromJson(t),this._commandService.executeCommand(c.id,{unitId:this._fWorkbook.getId(),tableId:e,themeStyle:n})}};y.extend(C);var w=class extends x{get TableColumnFilterTypeEnum(){return p}get TableConditionTypeEnum(){return m}get TableNumberCompareTypeEnum(){return g}get TableStringCompareTypeEnum(){return _}get TableDateCompareTypeEnum(){return h}};x.extend(w);export{};