@univerjs/preset-sheets-table 0.10.12 → 0.10.14

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 (2) hide show
  1. package/lib/umd/index.js +2 -2
  2. package/package.json +5 -5
package/lib/umd/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @univerjs/sheets-table/index
2
- (function(m,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","rxjs"],u):(m=typeof globalThis<"u"?globalThis:m||self,u(m.UniverSheetsTable={},m.UniverCore,m.UniverSheets,m.rxjs))})(this,(function(m,u,C,N){"use strict";var en=Object.defineProperty;var tn=(m,u,C)=>u in m?en(m,u,{enumerable:!0,configurable:!0,writable:!0,value:C}):m[u]=C;var T=(m,u,C)=>tn(m,typeof u!="symbol"?u+"":u,C);var ee;var v=(n=>(n.Insert="insert",n.Delete="delete",n))(v||{}),D=(n=>(n.Row="row",n.Col="column",n))(D||{}),ne=(n=>(n.None="none",n.String="string",n.Number="number",n.Date="date",n.Bool="bool",n.Checkbox="checkbox",n.List="list",n))(ne||{}),L=(n=>(n.manual="manual",n.condition="condition",n))(L||{}),O=(n=>(n.Date="date",n.Number="number",n.String="string",n.Logic="logic",n))(O||{}),y=(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))(y||{}),x=(n=>(n.Equal="equal",n.NotEqual="notEqual",n.Contains="contains",n.NotContains="notContains",n.StartsWith="startsWith",n.EndsWith="endsWith",n))(x||{}),S=(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))(S||{}),A=(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))(A||{}),$=(n=>(n.Asc="asc",n.Desc="desc",n.None="none",n))($||{});function P(n,e){return`${e} ${n}`}const oe="TRUE",ie="FALSE",Ee=n=>{var t;return((t=n.body)==null?void 0:t.dataStream.replace(/\r\n$/,""))||""};function le(n){if(n){const{v:e,t,p:a}=n;return a?Ee(a):(t===u.CellValueType.FORCE_STRING||t===u.CellValueType.STRING)&&e!==void 0&&e!==null?String(e):t===u.CellValueType.BOOLEAN?e?oe:ie:t===u.CellValueType.NUMBER?String(e):typeof e==="boolean"?e?oe:ie:e==null?"":String(e)}return""}function xe(n,e){if(n!=null)switch(e){case $.Asc:return A.FilteredSortAsc;case $.Desc:return A.FilteredSortDesc;default:return A.FilteredSortNone}else switch(e){case $.Asc:return A.FilterNoneSortAsc;case $.Desc:return A.FilterNoneSortDesc;default:return A.FilterNoneSortNone}}function ue(n){return n?n.filterType===L.condition:!1}function Ae(n){return n?n.filterType===L.manual:!1}const U={s:u.BorderStyleTypes.THIN,cl:{rgb:"rgb(95, 101, 116)"}},de="sheets-table.config",ce={},$e={headerRowStyle:{bd:{t:U}},headerColumnStyle:{bd:{l:U}},lastColumnStyle:{bd:{r:U}},lastRowStyle:{bd:{b:U}}},Be=(n,e)=>{if(n==="headerRowStyle"){if(!e.bd)return{...e,bd:{t:U}}}else if(n==="lastRowStyle"){if(!e.bd)return{...e,bd:{b:U}}}else if(n==="lastColumnStyle"){if(!e.bd)return{...e,bd:{r:U}}}else if(n==="headerColumnStyle"&&!e.bd)return{...e,bd:{l:U}};return e},he=[[["#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((n,e)=>{const[t,a]=n,[r,s,o,i]=t,[d]=a;return{name:`table-default-${e}`,style:{headerRowStyle:{bg:{rgb:r},cl:{rgb:d},bd:{t:U}},headerColumnStyle:{bd:{l:U}},firstRowStyle:{bg:{rgb:s}},secondRowStyle:{bg:{rgb:o}},lastRowStyle:{bg:{rgb:i},bd:{b:U}},lastColumnStyle:{bd:{r:U}}}}});class W{constructor(e,t){T(this,"dataType");T(this,"id");T(this,"displayName");T(this,"formula");T(this,"meta");T(this,"style");this.id=e,this.displayName=t,this.dataType=ne.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 Le=n=>n.getMonth()<=2,We=n=>{const e=n.getMonth();return e>2&&e<=5},qe=n=>{const e=n.getMonth();return e>5&&e<=8},Ve=n=>{const e=n.getMonth();return e>8&&e<=11},He=n=>n.getMonth()===0,Pe=n=>n.getMonth()===1,ke=n=>n.getMonth()===2,Je=n=>n.getMonth()===3,Qe=n=>n.getMonth()===4,Ye=n=>n.getMonth()===5,je=n=>n.getMonth()===6,Ge=n=>n.getMonth()===7,Xe=n=>n.getMonth()===8,ze=n=>n.getMonth()===9,Ke=n=>n.getMonth()===10,Ze=n=>n.getMonth()===11,et=(n,e=new Date)=>n.toDateString()===e.toDateString(),tt=(n,e=new Date)=>{const t=new Date(e);return t.setDate(t.getDate()+1),n.toDateString()===t.toDateString()},nt=(n,e=new Date)=>{const t=new Date(e);return t.setDate(t.getDate()-1),n.toDateString()===t.toDateString()},q=n=>{const e=n.getDay(),t=n.getDate()-e+(e===0?-6:1),a=new Date(n);return a.setDate(t),a},ge=10080*60*1e3,at=(n,e=new Date)=>{const t=q(n),a=q(e);return t.toDateString()===a.toDateString()},rt=(n,e=new Date)=>{const t=q(n),a=new Date(q(e).getTime()+ge);return t.toDateString()===a.toDateString()},st=(n,e=new Date)=>{const t=q(n),a=new Date(q(e).getTime()-ge);return t.toDateString()===a.toDateString()},ot=(n,e=new Date)=>n.getFullYear()===e.getFullYear()&&n.getMonth()===e.getMonth(),it=n=>{const e=new Date(n);return e.setHours(0,0,0,0),e.setDate(1),e},lt=(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()},ut=(n,e=new Date)=>{const t=it(e),a=new Date(t);a.setMonth(a.getMonth()+1,0);const r=n.getTime();return r>=t.getTime()&&r<a.getTime()},ae=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},dt=(n,e=new Date)=>{const t=ae(e),a=new Date(t);a.setMonth(a.getMonth()+3);const r=n.getTime();return r>=t.getTime()&&r<a.getTime()},ct=(n,e=new Date)=>{const t=ae(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()},ht=(n,e=new Date)=>{const t=ae(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()},gt=(n,e=new Date)=>n.getFullYear()===e.getFullYear(),mt=(n,e=new Date)=>n.getFullYear()===e.getFullYear()+1,bt=(n,e=new Date)=>n.getFullYear()===e.getFullYear()-1,St=(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 Ct(n){switch(n.compareType){case S.Equal:{const e=new Date(n.expectedValue);return t=>t.getTime()===e.getTime()}case S.NotEqual:{const e=new Date(n.expectedValue);return t=>t.getTime()!==e.getTime()}case S.After:{const e=new Date(n.expectedValue);return t=>t.getTime()>e.getTime()}case S.Before:{const e=new Date(n.expectedValue);return t=>t.getTime()<e.getTime()}case S.AfterOrEqual:{const e=new Date(n.expectedValue);return t=>t.getTime()>=e.getTime()}case S.BeforeOrEqual:{const e=new Date(n.expectedValue);return t=>t.getTime()<=e.getTime()}case S.Between:return e=>{const[t,a]=n.expectedValue;return e.getTime()>=new Date(t).getTime()&&e.getTime()<=new Date(a).getTime()};case S.NotBetween:return e=>{const[t,a]=n.expectedValue;return e.getTime()<new Date(t).getTime()||e.getTime()>new Date(a).getTime()};case S.Today:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>et(t,e)}case S.Yesterday:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>nt(t,e)}case S.Tomorrow:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>tt(t,e)}case S.ThisWeek:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>at(t,e)}case S.LastWeek:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>st(t,e)}case S.NextWeek:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>rt(t,e)}case S.ThisMonth:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>ot(t,e)}case S.LastMonth:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>ut(t,e)}case S.NextMonth:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>lt(t,e)}case S.ThisQuarter:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>dt(t,e)}case S.LastQuarter:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>ht(t,e)}case S.NextQuarter:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>ct(t,e)}case S.ThisYear:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>gt(t,e)}case S.LastYear:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>bt(t,e)}case S.NextYear:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>mt(t,e)}case S.YearToDate:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>St(t,e)}case S.M1:return He;case S.M2:return Pe;case S.M3:return ke;case S.M4:return Je;case S.M5:return Qe;case S.M6:return Ye;case S.M7:return je;case S.M8:return Ge;case S.M9:return Xe;case S.M10:return ze;case S.M11:return Ke;case S.M12:return Ze;case S.Q1:return Le;case S.Q2:return We;case S.Q3:return qe;case S.Q4:return Ve;default:throw new Error("Unsupported compare type")}}class Tt{constructor(){T(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 Rt extends Tt{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 wt=(n,e)=>{const t=new Rt;for(const a of n)t.insert(a),t.size()>e&&t.pop();return t.heap},ft=(n,e)=>n>e,It=(n,e)=>n<e,_t=(n,e,t)=>wt(n,e).includes(t);function pt(n,e){switch(n.compareType){case y.Equal:{const t=Number(n.expectedValue);return a=>a===t}case y.NotEqual:{const t=Number(n.expectedValue);return a=>a!==t}case y.GreaterThan:{const t=Number(n.expectedValue);return a=>a>t}case y.GreaterThanOrEqual:{const t=Number(n.expectedValue);return a=>a>=t}case y.LessThan:{const t=Number(n.expectedValue);return a=>a<t}case y.LessThanOrEqual:{const t=Number(n.expectedValue);return a=>a<=t}case y.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 y.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 y.Above:{const t=e.average;return a=>ft(a,t)}case y.Below:{const t=e.average;return a=>It(a,t)}case y.TopN:{const t=e.list,a=Number(n.expectedValue);return r=>_t(t,a,r)}}}const vt=(n,e)=>u.createREGEXFromWildChar(e).test(n),Mt=(n,e)=>!u.createREGEXFromWildChar(e).test(n),Ft=(n,e)=>u.createREGEXFromWildChar(`*${e}*`).test(n),yt=(n,e)=>!u.createREGEXFromWildChar(`*${e}*`).test(n),Dt=(n,e)=>u.createREGEXFromWildChar(`${e}*`).test(n),Nt=(n,e)=>u.createREGEXFromWildChar(`*${e}`).test(n);function Ot(n){switch(n.compareType){case x.Equal:return e=>vt(e,n.expectedValue);case x.NotEqual:return e=>Mt(e,n.expectedValue);case x.Contains:return e=>Ft(e,n.expectedValue);case x.NotContains:return e=>yt(e,n.expectedValue);case x.StartsWith:return e=>Dt(e,n.expectedValue);case x.EndsWith:return e=>Nt(e,n.expectedValue);default:return console.error(`Unknown filter operator: ${n.compareType}`),e=>!0}}const Ut=new Set([y.Above,y.Below,y.TopN]);S.Today,S.Yesterday,S.Tomorrow,S.ThisWeek,S.LastWeek,S.NextWeek,S.ThisMonth,S.LastMonth,S.NextMonth,S.ThisQuarter,S.LastQuarter,S.NextQuarter,S.NextYear,S.ThisYear,S.LastYear,S.YearToDate;function me(n){return Ut.has(n)}function Et(n,e){if(me(n.filterInfo.compareType))return t=>!0;switch(n.filterInfo.conditionType){case O.Date:return Ct(n.filterInfo);case O.Number:return pt(n.filterInfo,e);case O.String:return Ot(n.filterInfo);case O.Logic:default:return t=>!0}}function J(n,e,t,a){switch(a){case O.Date:{const r=be(n,e,t);return r?$t(r):null}case O.Number:return be(n,e,t);case O.String:default:return At(n,e,t)}}const xt=n=>{var t;return((t=n.body)==null?void 0:t.dataStream.replace(/\r\n$/,""))||""};function At(n,e,t){const a=n.getCell(e,t);if(!a)return null;const{v:r,t:s,p:o}=a;if(o)return xt(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 be(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 $t(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 Se{constructor(){T(this,"_tableColumnFilterList");T(this,"_tableSortInfo");T(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:$.None;return xe(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:i,startColumn:d}=t,l=d+a,c=this.getExecuteFunc(e,t,a,s);for(let g=o;g<=i;g++){const h=ue(s)?s.filterInfo.conditionType:O.String;J(e,g,l,h)===null?r.add(g):c(J(e,g,l,h))||r.add(g)}}}_getNumberCalculatedOptions(e,t,a){const{startRow:r,endRow:s,startColumn:o}=t,i=o+a,d=[];let l=0,c=0;for(let g=r;g<=s;g++){const h=J(e,g,i,O.Number);h!==null&&(d.push(h),l++,c+=h)}return{list:d,average:l>0?c/l:0}}getExecuteFunc(e,t,a,r){if(r.filterType===L.manual){const s=new Set(r.values);return o=>s.has(o)}else if(r.filterType===L.condition){const o=me(r.filterInfo.compareType)?this._getNumberCalculatedOptions(e,t,a):void 0;return Et(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 Ce{constructor(e,t,a,r,s={}){T(this,"_id");T(this,"_name");T(this,"_tableStyleId");T(this,"_showHeader");T(this,"_showFooter");T(this,"_range");T(this,"_columns",new Map);T(this,"_columnOrder",[]);T(this,"tableMeta");T(this,"_tableFilters");T(this,"_subUnitId");this._id=e,this._range=a,this._name=t,this._tableFilters=new Se,this._init(r,s)}_init(e,t){var o,i;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 d=r;d<=s;d++){const l=d-r;let c,g;(i=t.columns)!=null&&i[l]?(c=t.columns[l].id,g=t.columns[l].displayName):(c=u.generateRandomId(),g=e[d-r]);const h=new W(c,g);this._columns.set(c,h),this._columnOrder.push(c)}t.filters&&t.filters.forEach((l,c)=>{l&&this._tableFilters.setColumnFilter(c,l)})}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:i}=e,d=t?r+1:r,l=a?o-1:o;return{startRow:d,startColumn:s,endRow:l,endColumn:i}}setColumns(e){this._columns.clear(),this._columnOrder=[],e.forEach(t=>{const a=new W(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:he[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 W(s.id,s.displayName);o.fromJSON(s),this._columns.set(s.id,o),this._columnOrder.push(s.id)}),this._tableFilters=new Se,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 Bt=Object.getOwnPropertyDescriptor,Lt=(n,e,t,a)=>{for(var r=a>1?void 0:a?Bt(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},Te=(n,e)=>(t,a)=>e(t,a,n);m.TableManager=class extends u.Disposable{constructor(t,a){super();T(this,"_tableMap");T(this,"_tableAdd$",new N.Subject);T(this,"tableAdd$",this._tableAdd$.asObservable());T(this,"_tableDelete$",new N.Subject);T(this,"tableDelete$",this._tableDelete$.asObservable());T(this,"_tableNameChanged$",new N.Subject);T(this,"tableNameChanged$",this._tableNameChanged$.asObservable());T(this,"_tableRangeChanged$",new N.Subject);T(this,"tableRangeChanged$",this._tableRangeChanged$.asObservable());T(this,"_tableThemeChanged$",new N.Subject);T(this,"tableThemeChanged$",this._tableThemeChanged$.asObservable());T(this,"_tableFilterChanged$",new N.Subject);T(this,"tableFilterChanged$",this._tableFilterChanged$.asObservable());T(this,"_tableInitStatus",new N.BehaviorSubject(!1));T(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:i,startColumn:d,endColumn:l}=r,c=[],g=s!=null?s:"Column";for(let b=d;b<=l;b++)c.push(le(o==null?void 0:o.getCell(i,b))||P(b-d+1,g));return c}addTable(t,a,r,s,o,i,d){const l=i!=null?i:u.generateRandomId(),c=o||this.getColumnHeader(t,a,s),g=new Ce(l,r,s,c,d);return g.setSubunitId(a),this._ensureUnit(t).set(l,g),this._tableAdd$.next({unitId:t,subUnitId:a,range:s,tableName:r,tableId:l,tableStyleId:d==null?void 0:d.tableStyleId}),l}addFilter(t,a,r,s){const o=this.getTable(t,a);if(o){o.getTableFilters().setColumnFilter(r,s);const d=o.getSubunitId();this._tableFilterChanged$.next({unitId:t,subUnitId:d,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(d=>d.getDisplayName()));let o=a,i=1;for(;s.has(o);)o=`${a}-${i}`,i++;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(),i=s.getTableStyleId();r==null||r.delete(a);const{subUnitId:d,range:l,name:c}=o;this._tableDelete$.next({unitId:t,subUnitId:d,tableId:a,range:l,tableName:c,tableStyleId:i})}}operationTableRowCol(t,a,r){const s=this.getTableById(t,a);if(!s)return;const{operationType:o,rowColType:i,index:d,count:l,columnsJson:c}=r,g=s.getRange(),h={...g};if(o===v.Insert){if(i==="row")h.endRow+=l;else if(i==="column"){h.endColumn+=l;for(let b=0;b<l;b++){const f=this._localeService.t("sheets-table.columnPrefix"),R=new W(u.generateRandomId(),P(s.getColumnsCount()+1+b,f));c!=null&&c[b]&&R.fromJSON(c[b]);const I=d+b-g.startColumn;s.insertColumn(I,R)}}}else if(i==="row")h.endRow-=l;else if(i==="column"){h.endColumn-=l;for(let b=l-1;b>=0;b--){const f=d+b-g.startColumn;s.removeColumn(f)}}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(),i=r.newRange;if(i.startColumn<o.startColumn){const d=o.startColumn-i.startColumn,l=this._localeService.t("sheets-table.columnPrefix");for(let c=0;c<d;c++)s.insertColumn(o.startColumn,new W(u.generateRandomId(),P(s.getColumnsCount()+1,l)))}else if(i.startColumn>o.startColumn){const d=i.startColumn-o.startColumn;for(let l=d-1;l>=0;l--){const c=i.startColumn+l-o.startColumn;s.removeColumn(c)}}if(i.endColumn<o.endColumn){const d=o.endColumn-i.endColumn;for(let l=d-1;l>=0;l--){const c=i.endColumn+l-o.startColumn;s.removeColumn(c)}}else if(i.endColumn>o.endColumn){const d=i.endColumn-o.endColumn;for(let l=0;l<d;l++)s.insertColumn(o.endColumn,new W(u.generateRandomId(),P(s.getColumnsCount()+1,"Column")))}s.setRange(i),this._tableRangeChanged$.next({unitId:t,subUnitId:s.getSubunitId(),tableId:a,range:i,oldRange:o})}setTableByConfig(t,a,r){var b;const s=this._tableMap.get(t),o=s==null?void 0:s.get(a);if(!o)return;const i=o.getSubunitId(),{name:d,updateRange:l,rowColOperation:c,theme:g,options:h}=r;if(d){const f=o.getDisplayName();o.setDisplayName(d),this._tableNameChanged$.next({unitId:t,subUnitId:i,tableId:a,tableName:d,oldTableName:f})}if(c&&this.operationTableRowCol(t,a,c),l&&this.updateTableRange(t,a,l),g){const f=(b=o.getTableStyleId())!=null?b:"default";o.setTableStyleId(g),this._tableThemeChanged$.next({unitId:t,subUnitId:i,tableId:a,theme:g,oldTheme:f})}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 i=new Set;this.getTablesBySubunitId(t,o).forEach(l=>{const c=l.getTableFilters().getFilterOutRows();if(c)for(const g of c)i.add(g)}),a[o]={tables:[],tableFilteredOutRows:Array.from(i)}}a[o].tables.push(s.toJSON())}),a}fromJSON(t,a){const r=this._ensureUnit(t);Object.keys(a).forEach(o=>{const i=C.getSheetCommandTarget(this._univerInstanceService,{unitId:t,subUnitId:o});if(!i)return;const d=i.worksheet;let l;a[o].tables?l=a[o].tables:Array.isArray(a[o])&&(l=a[o]),l&&l.forEach(c=>{const g=this.getColumnHeader(t,o,c.range),h=new Ce(c.id,c.name,c.range,g,c.options);if(h.setTableMeta(c.meta),c.columns.length&&h.setColumns(c.columns),c.filters){const b=h.getTableFilters();b.fromJSON(c.filters),b.doFilter(d,h.getTableFilterRange())}h.setSubunitId(o),r.set(c.id,h),this._tableAdd$.next({unitId:t,subUnitId:o,range:c.range,tableName:c.name,tableId:c.id})})}),this._tableInitStatus.next(!0)}deleteUnitId(t){this._tableMap.delete(t)}dispose(){super.dispose(),this._tableMap.forEach(t=>{t.forEach(a=>a.dispose()),t.clear()}),this._tableMap.clear()}},m.TableManager=Lt([Te(0,u.IUniverInstanceService),Te(1,u.Inject(u.LocaleService))],m.TableManager);var Wt=Object.getOwnPropertyDescriptor,qt=(n,e,t,a)=>{for(var r=a>1?void 0:a?Wt(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},Vt=(n,e)=>(t,a)=>e(t,a,n);m.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,i){return this._tableManager.addTable(e,t,a,r,s,o,i)}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=O.String){return J(e,t,a,r)}},m.SheetTableService=qt([Vt(0,u.Inject(m.TableManager))],m.SheetTableService);const V={id:"sheet.mutation.add-table",type:u.CommandType.MUTATION,handler:(n,e)=>{const{tableId:t,unitId:a,subUnitId:r,name:s,range:o,header:i,options:d}=e;return n.get(m.SheetTableService).addTable(a,r,s,o,i,t,d),!0}},H={id:"sheet.mutation.delete-table",type:u.CommandType.MUTATION,handler:(n,e)=>{const{unitId:t,subUnitId:a,tableId:r}=e;return n.get(m.SheetTableService).deleteTable(t,a,r),!0}},Re={id:"sheet.command.add-table",type:u.CommandType.COMMAND,handler:(n,e)=>{var R;if(!e)return!1;const t=n.get(u.IUndoRedoService),a=n.get(u.ICommandService),r=n.get(u.LocaleService),s=(R=e.id)!=null?R:u.generateRandomId();let o=e.name;if(!o){const w=n.get(m.TableManager).getTableList(e.unitId).length;o=`${r.t("sheets-table.tablePrefix")}${w+1}`}const i=[],d=[],l=n.get(m.TableManager),{unitId:c,subUnitId:g,range:h}=e,b=l.getColumnHeader(c,g,h,r.t("sheets-table.columnPrefix"));return i.push({id:V.id,params:{...e,tableId:s,name:o,header:b}}),d.push({id:H.id,params:{tableId:s,unitId:e.unitId}}),u.sequenceExecute(i,a)&&t.pushUndoRedo({unitID:e.unitId,undoMutations:d,redoMutations:i}),!0}},we={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(m.TableManager),s=[],o=[],i=r.getTable(e.unitId,e.tableId),d=i==null?void 0:i.toJSON();if(!d)throw new Error("[TableManager]: Table not found");return s.push({id:H.id,params:{...e}}),o.push({id:V.id,params:{unitId:e.unitId,subUnitId:e.subUnitId,tableId:e.tableId,name:d.name,range:d.range,options:d.options}}),u.sequenceExecute(s,a)&&t.pushUndoRedo({unitID:e.unitId,undoMutations:o,redoMutations:s}),!0}},Q={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(m.TableManager).addFilter(a,t,r,s),!0}},fe={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:Q.id,params:{...e,tableId:r}}),o.push({id:Q.id,params:{...e,tableId:r,tableFilter:void 0}}),u.sequenceExecute(s,a)&&t.pushUndoRedo({unitID:e.unitId,undoMutations:o,redoMutations:s}),!0}},Ie="SHEET_TABLE_PLUGIN",Y="SHEET_TABLE",_e="table-custom";var Ht=Object.getOwnPropertyDescriptor,Pt=(n,e,t,a)=>{for(var r=a>1?void 0:a?Ht(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);m.SheetsTableController=class extends u.Disposable{constructor(t,a,r){super();T(this,"_tableRangeRTree",new Map);this._sheetInterceptorService=t,this._tableManager=a,this._resourceManagerService=r,this._initSnapshot(),this.registerTableChangeEvent(),this.registerTableHeaderInterceptor()}getContainerTableWithRange(t,a,r){const s=this._ensureTableRangeRTree(t),i=Array.from(s.bulkSearch([{unitId:t,sheetId:a,range:r}])).find(d=>{const l=this._tableManager.getTable(t,String(d));return l?u.Rectangle.contains(l.getRange(),r):!1});if(i)return this._tableManager.getTable(t,String(i))}_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:i}=t,d=this._ensureTableRangeRTree(s);d.remove({unitId:s,sheetId:o,id:r,range:{...i}}),d.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(C.INTERCEPTOR_POINT.CELL_CONTENT,{effect:u.InterceptorEffectEnum.Value,handler:(t,a,r)=>{const{row:s,col:o,unitId:i,subUnitId:d}=a,l=this._ensureTableRangeRTree(i);if((t==null?void 0:t.v)===void 0&&l){const g=Array.from(l.bulkSearch([{unitId:i,sheetId:d,range:{startColumn:o,endColumn:o,startRow:s,endRow:s}}]));if(g.length>0){const h=this._tableManager.getTable(i,g[0]);if(h){const b=h.getRange(),f=o-b.startColumn;if(b.startRow===s){const I=h.getColumnNameByIndex(f);return(!t||t===a.rawData)&&(t={...a.rawData}),t.v=I,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:Ie,onLoad:(t,a)=>{this._fromJSON(t,a)},onUnLoad:t=>{this._deleteUnitId(t)}}))}dispose(){super.dispose(),this._tableRangeRTree.clear()}},m.SheetsTableController=Pt([re(0,u.Inject(C.SheetInterceptorService)),re(1,u.Inject(m.TableManager)),re(2,u.Inject(u.IResourceManagerService))],m.SheetsTableController);const _={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(m.TableManager).setTableByConfig(t,a,r),!0}},pe={id:"sheet.command.add-table-theme",type:u.CommandType.COMMAND,handler:(n,e)=>{if(!e)return!1;const t=n.get(m.TableManager),{unitId:a,tableId:r,themeStyle:s}=e,o=[],i=[],d=t.getTableById(a,r);if(!d)return!1;const l=d.getSubunitId();o.push({id:C.AddRangeThemeMutation.id,params:{unitId:a,subUnitId:l,styleJSON:s.toJson()}}),o.push({id:_.id,params:{unitId:a,subUnitId:l,tableId:r,config:{theme:s.getName()}}}),i.push({id:_.id,params:{unitId:a,subUnitId:l,tableId:r,config:{themeStyle:d.getTableStyleId()}}}),i.push({id:C.RemoveRangeThemeMutation.id,params:{unitId:a,subUnitId:l,styleName:s.getName()}});const c=n.get(u.ICommandService);return u.sequenceExecute(o,c)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:a,undoMutations:i,redoMutations:o}),!0}},ve={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(m.TableManager),o=n.get(C.SheetRangeThemeModel),i=s.getTableById(t,a);if(!i)return!1;const d=i.getSubunitId(),l=[],c=[],g=o.getRegisteredRangeThemes().filter(w=>w==null?void 0:w.startsWith("table-default"));let b=o.getRegisteredRangeThemes().filter(w=>w==null?void 0:w.startsWith(_e)).find(w=>w!==r);b||(b=g[0]),l.push({id:_.id,params:{unitId:t,subUnitId:d,tableId:a,config:{theme:b}}}),l.push({id:C.RemoveRangeThemeMutation.id,params:{unitId:t,subUnitId:d,styleName:r}});const f=o.getDefaultRangeThemeStyle(r);f&&(c.push({id:C.AddRangeThemeMutation.id,params:{unitId:t,subUnitId:d,styleJSON:f.toJson()}}),c.push({id:_.id,params:{unitId:t,subUnitId:d,tableId:a,config:{theme:r}}}));const R=n.get(u.ICommandService);return u.sequenceExecute(l,R)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:t,redoMutations:l,undoMutations:c}),!0}},Me={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:i}=e,d=n.get(m.TableManager),l=d.getTableById(t,a);if(!l)return!1;const c={},g={},h=n.get(u.LocaleService),f=n.get(u.IUniverInstanceService).getCurrentUnitOfType(u.UniverInstanceType.UNIVER_SHEET),R=new Set;if(f&&(f.getSheets().forEach(p=>{R.add(p.getName())}),d.getTableList(t).forEach(p=>{R.add(p.name)})),r){if(!u.customNameCharacterCheck(r,R))return n.get(u.ILogService).warn(h.t("sheets-table.tableNameError")),!1;c.name=l.getDisplayName(),g.name=r}o&&(c.rowColOperation={operationType:o.operationType===v.Insert?v.Delete:v.Insert,rowColType:o.rowColType,index:o.index,count:o.count},g.rowColOperation=o),s&&(c.updateRange={newRange:l.getRange()},g.updateRange=s),i&&(c.theme=l.getTableStyleId(),g.theme=i);const I={unitId:t,subUnitId:l.getSubunitId(),tableId:a,config:g};return n.get(u.ICommandService).executeCommand(_.id,I),n.get(u.IUndoRedoService).pushUndoRedo({unitID:t,undoMutations:[{id:_.id,params:{unitId:t,subUnitId:l.getSubunitId(),tableId:a,config:c}}],redoMutations:[{id:_.id,params:I}]}),!0}},Fe={id:"sheet.command.table-insert-row",type:u.CommandType.COMMAND,handler:n=>{const e=n.get(u.IUniverInstanceService),t=C.getSheetCommandTarget(e);if(!t)return!1;const{workbook:a,worksheet:r,unitId:s,subUnitId:o}=t,d=n.get(C.SheetsSelectionsService).getCurrentSelections();if(!d.length||d.length>1)return!1;n.get(m.TableManager);const c=d[0].range,h=n.get(m.SheetsTableController).getContainerTableWithRange(s,o,c);if(!h)return!1;const b=c.endRow-c.startRow+1,R=r.getRowCount()-1,I=r.getCellMatrix().getDataRange().endRow,w=[],M=[];if(R-I<b)w.push({id:C.InsertRowMutation.id,params:{unitId:s,subUnitId:o,range:{...c}}}),w.push({id:_.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{updateRange:{newRange:{...h.getRange(),endRow:h.getRange().endRow+b}}}}}),M.push({id:_.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{updateRange:{newRange:h.getRange()}}}}),M.push({id:C.RemoveRowMutation.id,params:{unitId:s,subUnitId:o,range:{...c}}});else{const F={...h.getRange()};w.push({id:_.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{updateRange:{newRange:{...F,endRow:F.endRow+b}}}}}),M.push({id:_.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{updateRange:{newRange:{...F}}}}});const k=C.getMoveRangeUndoRedoMutations(n,{unitId:s,subUnitId:o,range:{startRow:c.startRow,endRow:I,startColumn:F.startColumn,endColumn:F.endColumn}},{unitId:s,subUnitId:o,range:{startRow:c.startRow+b,endRow:I+b,startColumn:F.startColumn,endColumn:F.endColumn}});k&&(w.push(...k.redos),M.push(...k.undos))}const E=n.get(u.ICommandService);return u.sequenceExecute(w,E)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:s,undoMutations:M,redoMutations:w}),!0}},ye={id:"sheet.command.table-insert-col",type:u.CommandType.COMMAND,handler:n=>{const e=n.get(u.IUniverInstanceService),t=C.getSheetCommandTarget(e);if(!t)return!1;const{worksheet:a,unitId:r,subUnitId:s}=t,i=n.get(C.SheetsSelectionsService).getCurrentSelections();if(!i.length||i.length>1)return!1;const l=i[0].range,g=n.get(m.SheetsTableController).getContainerTableWithRange(r,s,l);if(!g)return!1;const h=l.endColumn-l.startColumn+1,f=a.getColumnCount()-1,R=a.getCellMatrix().getDataRange().endColumn,I=[],w=[];if(f-R<h)I.push({id:C.InsertColMutation.id,params:{unitId:r,subUnitId:s,range:{...l}}}),I.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:D.Col,index:l.startColumn,count:h}}}}),w.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:D.Col,index:l.startColumn,count:h}}}}),w.push({id:C.RemoveColMutation.id,params:{unitId:r,subUnitId:s,range:{...l}}});else{const p=g.getRange();I.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:D.Col,index:l.startColumn,count:h}}}}),w.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:D.Col,index:l.startColumn,count:h}}}});const F=C.getMoveRangeUndoRedoMutations(n,{unitId:r,subUnitId:s,range:{startRow:p.startRow,endRow:p.endRow,startColumn:l.startColumn,endColumn:R}},{unitId:r,subUnitId:s,range:{startRow:p.startRow,endRow:p.endRow,startColumn:l.startColumn+h,endColumn:R+h}});F&&(I.push(...F.redos),w.push(...F.undos))}const M=n.get(u.ICommandService);return u.sequenceExecute(I,M)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:r,undoMutations:w,redoMutations:I}),!0}},De={id:"sheet.command.table-remove-row",type:u.CommandType.COMMAND,handler:(n,e)=>{if(!e)return!1;const t=n.get(u.IUniverInstanceService),a=C.getSheetCommandTarget(t);if(!a)return!1;const{unitId:r,subUnitId:s}=a,i=n.get(C.SheetsSelectionsService).getCurrentSelections();if(!i.length||i.length>1)return!1;const l=i[0].range,g=n.get(m.SheetsTableController).getContainerTableWithRange(r,s,l);if(!g)return!1;const h=l.endRow-l.startRow+1,b=[],f=[],R=g.getRange();b.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{updateRange:{newRange:{...R,endRow:R.endRow-h}}}}}),f.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{updateRange:{newRange:{...R}}}}});const w=a.worksheet.getCellMatrix().getDataRange().endRow,M=C.getMoveRangeUndoRedoMutations(n,{unitId:r,subUnitId:s,range:{startRow:l.endRow+1,endRow:w,startColumn:R.startColumn,endColumn:R.endColumn}},{unitId:r,subUnitId:s,range:{startRow:l.startRow,endRow:w-h,startColumn:R.startColumn,endColumn:R.endColumn}});M&&(b.push(...M.redos),f.push(...M.undos));const E=n.get(u.ICommandService);return u.sequenceExecute(b,E)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:r,undoMutations:f,redoMutations:b}),!0}},Ne={id:"sheet.command.table-remove-col",type:u.CommandType.COMMAND,handler:(n,e)=>{if(!e)return!1;const t=n.get(u.IUniverInstanceService),a=C.getSheetCommandTarget(t);if(!a)return!1;const{workbook:r,unitId:s,subUnitId:o}=a;n.get(m.TableManager);const d=n.get(C.SheetsSelectionsService).getCurrentSelections();if(!d.length||d.length>1)return!1;const c=d[0].range,h=n.get(m.SheetsTableController).getContainerTableWithRange(s,o,c);if(!h)return!1;const b=c.endColumn-c.startColumn+1,f=[],R=[],I=h.getRange();f.push({id:_.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:D.Col,index:c.startColumn,count:b}}}});const w=[],M=c.startColumn-I.startColumn;for(let te=0;te<b;te++){const Ue=h.getTableInfo().columns[M+te];Ue&&w.push(Ue)}R.push({id:_.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:D.Col,index:c.startColumn,count:b,columnsJson:w}}}});const p=a.worksheet.getCellMatrix().getDataRange().endColumn,F=C.getMoveRangeUndoRedoMutations(n,{unitId:s,subUnitId:o,range:{startRow:I.startRow,endRow:I.endRow,startColumn:c.endColumn+1,endColumn:p}},{unitId:s,subUnitId:o,range:{startRow:I.startRow,endRow:I.endRow,startColumn:c.startColumn,endColumn:p-b}});F&&(f.push(...F.redos),R.push(...F.undos));const k=n.get(u.ICommandService);return u.sequenceExecute(f,k)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:s,undoMutations:R,redoMutations:f}),!0}};var kt=Object.getOwnPropertyDescriptor,Jt=(n,e,t,a)=>{for(var r=a>1?void 0:a?kt(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},Oe=(n,e)=>(t,a)=>e(t,a,n);let j=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,Y,t),this._exclusiveRangeService.addExclusiveRange(a,r,Y,[{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,Y,[{range:{...r},groupId:e}])})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(n=>{const{tableId:e,unitId:t,subUnitId:a}=n;this._exclusiveRangeService.clearExclusiveRangesByGroupId(t,a,Y,e)}))}};j=Jt([Oe(0,u.Inject(m.TableManager)),Oe(1,u.Inject(C.IExclusiveRangeService))],j);var Qt=Object.getOwnPropertyDescriptor,Yt=(n,e,t,a)=>{for(var r=a>1?void 0:a?Qt(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},B=(n,e)=>(t,a)=>e(t,a,n);let G=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 C.InsertRowCommand.id:return n._generateTableMutationWithInsertRow(r);case C.InsertColCommand.id:return n._generateTableMutationWithInsertCol(r);case C.RemoveRowCommand.id:return n._generateTableMutationWithRemoveRow(r);case C.RemoveColCommand.id:return n._generateTableMutationWithRemoveCol(r)}return t}})}_generateTableMutationWithInsertRow(n){const e=[],t=[],a=C.getSheetCommandTarget(this._univerInstanceService);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:i}=n;return o.forEach(d=>{const l=d.getRange();if(i.startRow>l.startRow&&i.startRow<=l.endRow){const c=i.endRow-i.startRow+1;t.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:d.getId(),config:{updateRange:{newRange:{...l,endRow:l.endRow+c}}}}}),e.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:d.getId(),config:{updateRange:{newRange:{...l}}}}})}}),{undos:e,redos:t}}_generateTableMutationWithInsertCol(n){const e=[],t=[],a=C.getSheetCommandTarget(this._univerInstanceService);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:i}=n;return o.forEach(d=>{const l=d.getRange();if(i.startColumn>l.startColumn&&i.startColumn<=l.endColumn){const c=i.endColumn-i.startColumn+1;t.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:d.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:D.Col,index:i.startColumn,count:c}}}}),e.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:d.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:D.Col,index:i.startColumn,count:c}}}})}}),{undos:e,redos:t}}_generateTableMutationWithRemoveRow(n){const e=[],t=[],a=[],r=[],s=C.getSheetCommandTarget(this._univerInstanceService);if(!s)return{undos:e,redos:t,preRedos:a,preUndos:r};const{unitId:o,subUnitId:i}=s,d=this._tableManager.getTablesBySubunitId(o,i);if(!d.length)return{undos:e,redos:t,preRedos:a,preUndos:r};const{range:l}=n,c=l.endRow-l.startRow+1;return d.forEach(g=>{const h=g.getRange();if(u.Rectangle.intersects(h,l))if(l.startRow<=h.startRow&&l.endRow>=h.startRow){a.push({id:H.id,params:{unitId:o,subUnitId:i,tableId:g.getId()}});const b=g.toJSON();e.push({id:V.id,params:{unitId:o,subUnitId:i,tableId:b.id,name:b.name,range:b.range,options:b.options}})}else l.startRow>h.startRow&&l.startRow<=h.endRow?(t.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{updateRange:{newRange:{...h,endRow:h.endRow-c}}}}}),e.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{updateRange:{newRange:{...h}}}}})):l.startRow<h.endRow&&l.endRow>=h.endRow&&(t.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{updateRange:{newRange:{...h,endRow:l.startRow-1}}}}}),e.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{updateRange:{newRange:{...h}}}}}))}),{undos:e,redos:t,preRedos:a,preUndos:r}}_generateTableMutationWithRemoveCol(n){const e=[],t=[],a=[],r=[],s=C.getSheetCommandTarget(this._univerInstanceService);if(!s)return{undos:e,redos:t,preRedos:a,preUndos:r};const{unitId:o,subUnitId:i}=s,d=this._tableManager.getTablesBySubunitId(o,i);if(!d.length)return{undos:e,redos:t,preRedos:a,preUndos:r};const{range:l}=n,c=l.endColumn-l.startColumn+1;return d.forEach(g=>{const h=g.getRange();if(u.Rectangle.intersects(h,l)){if(l.startColumn<=h.startColumn&&l.endColumn>=h.endColumn){a.push({id:H.id,params:{unitId:o,subUnitId:i,tableId:g.getId()}});const b=g.toJSON(),{startRow:f,startColumn:R,endColumn:I}=b.range,w=this._univerInstanceService.getUnit(o),M=w==null?void 0:w.getSheetBySheetId(i);if(!M)return{undos:e,redos:t,preRedos:a,preUndos:r};const E=[];for(let p=R;p<=I;p++)E.push(le(M==null?void 0:M.getCell(f,p))||P(p-R+1,this._localeService.t("sheets-table.columnPrefix")));e.push({id:V.id,params:{unitId:o,subUnitId:i,tableId:b.id,name:b.name,header:E,range:b.range,options:b.options}})}else if(l.startColumn<=h.startColumn&&l.endColumn>=h.startColumn){const b=l.endColumn-h.startColumn+1;t.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:D.Col,index:h.startColumn,count:b}}}});const f=[];for(let R=0;R<b;R++){const I=g.getTableColumnByIndex(R);I&&f.push(I.toJSON())}e.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:D.Col,index:h.startColumn,count:b,columnsJson:f}}}})}else if(l.startColumn>h.startColumn&&l.endColumn>h.endColumn){const b=h.endColumn-l.startColumn+1;t.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:D.Col,index:l.startColumn,count:b}}}});const f=[],R=l.startColumn-h.startColumn;for(let I=0;I<b;I++){const w=g.getTableColumnByIndex(I+R);w&&f.push(w.toJSON())}e.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:D.Col,index:l.startColumn,count:c,columnsJson:f}}}})}else if(l.startColumn>h.startColumn&&l.endColumn<=h.endColumn){t.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:D.Col,index:l.startColumn,count:c}}}});const b=[],f=l.startColumn-h.startColumn;for(let R=0;R<c;R++){const I=g.getTableColumnByIndex(R+f);I&&b.push(I.toJSON())}e.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:D.Col,index:l.startColumn,count:c,columnsJson:b}}}})}}}),{undos:e,redos:t,preRedos:a,preUndos:r}}_initCommandListener(){this._commandService.onCommandExecuted(n=>{if(n.id===C.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(i=>{const d=i.getRange();r.startRow<=d.startRow&&this._tableManager.updateTableRange(t,i.getId(),{newRange:{...d,startRow:d.startRow+s,endRow:d.endRow+s}})})}else if(n.id===C.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(i=>{const d=i.getRange();r.startColumn<=d.startColumn&&this._tableManager.updateTableRange(t,i.getId(),{newRange:{...d,startColumn:d.startColumn+s,endColumn:d.endColumn+s}})})}else if(n.id===C.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(i=>{const d=i.getRange();r.startRow<d.startRow&&this._tableManager.updateTableRange(t,i.getId(),{newRange:{...d,startRow:d.startRow-s,endRow:d.endRow-s}})})}else if(n.id===C.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(i=>{const d=i.getRange();r.startColumn<d.startColumn&&this._tableManager.updateTableRange(t,i.getId(),{newRange:{...d,startColumn:d.startColumn-s,endColumn:d.endColumn-s}})})}})}};G=Yt([B(0,u.Inject(u.ICommandService)),B(1,u.Inject(C.RefRangeService)),B(2,u.Inject(u.IUniverInstanceService)),B(3,u.Inject(u.Injector)),B(4,u.Inject(C.SheetInterceptorService)),B(5,u.Inject(m.TableManager)),B(6,u.Inject(u.LocaleService))],G);var jt=Object.getOwnPropertyDescriptor,Gt=(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},X=(n,e)=>(t,a)=>e(t,a,n);let z=class extends u.Disposable{constructor(e,t,a,r){super();T(this,"_defaultThemeIndex",0);T(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,i=this._tableManager.getTable(r,a),d=o||this._allThemes[this._defaultThemeIndex].name;i.setTableStyleId(d),this._sheetRangeThemeService.registerRangeThemeStyle(d,{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,i=this._tableManager.getTable(s,r);let d=i.getTableStyleId();d||(d=this._allThemes[this._defaultThemeIndex].name,i.setTableStyleId(d)),this._sheetRangeThemeService.removeRangeThemeRule(d,{unitId:s,subUnitId:o,range:{...a}}),this._sheetRangeThemeService.registerRangeThemeStyle(d,{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,d=this._tableManager.getTable(s,r).getRange();this._sheetRangeThemeService.removeRangeThemeRule(a,{unitId:s,subUnitId:o,range:{...d}}),this._sheetRangeThemeService.registerRangeThemeStyle(t,{unitId:s,subUnitId:o,range:{...d}})})),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(de)||{},t=e.defaultThemeIndex||0,a=e.userThemes||[];this._defaultThemeIndex=t,this._allThemes=a.concat(he)}_initDefaultTableTheme(){for(let e=0;e<this._allThemes.length;e++){const{name:t,style:a}=this._allThemes[e],r=new C.RangeThemeStyle(t,a);this._sheetRangeThemeModel.registerDefaultRangeTheme(r)}}dispose(){super.dispose(),this._allThemes=[],this._defaultThemeIndex=0}};z=Gt([X(0,u.Inject(m.TableManager)),X(1,u.Inject(C.SheetRangeThemeService)),X(2,u.Inject(C.SheetRangeThemeModel)),X(3,u.IConfigService)],z);var Xt=Object.getOwnPropertyDescriptor,zt=(n,e,t,a)=>{for(var r=a>1?void 0:a?Xt(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},K=(n,e)=>(t,a)=>e(t,a,n);let Z=class extends u.Disposable{constructor(e,t,a,r){super();T(this,"_tableFilteredOutRows$",new N.BehaviorSubject(new Set));T(this,"tableFilteredOutRows$",this._tableFilteredOutRows$.asObservable());T(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(C.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=C.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 i of o)this.tableFilteredOutRows.add(i)})})}registerFilterChangeEvent(){this.disposeWithMe(this._tableManager.tableFilterChanged$.subscribe(e=>{var l;const{unitId:t,subUnitId:a,tableId:r}=e,s=(l=this._univerInstanceService.getUnit(t))==null?void 0:l.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(c=>{const g=c.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()}};Z=zt([K(0,u.Inject(m.TableManager)),K(1,u.Inject(C.SheetInterceptorService)),K(2,u.Inject(u.IUniverInstanceService)),K(3,u.Inject(C.ZebraCrossingCacheController))],Z);var Kt=Object.getOwnPropertyDescriptor,Zt=(n,e,t,a)=>{for(var r=a>1?void 0:a?Kt(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);m.UniverSheetsTablePlugin=(ee=class extends u.Plugin{constructor(e=ce,t,a,r){super(),this._config=e,this._injector=t,this._configService=a,this._commandService=r;const{...s}=u.merge({},ce,this._config);this._configService.setConfig(de,s),this._initRegisterCommand()}onStarting(){u.registerDependencies(this._injector,[[m.TableManager],[z],[m.SheetsTableController],[m.SheetTableService],[Z],[j],[G]]),u.touchDependencies(this._injector,[[j],[G],[z],[m.SheetsTableController],[m.SheetTableService],[Z]])}onReady(){u.touchDependencies(this._injector,[[m.TableManager]])}_initRegisterCommand(){[Re,V,we,H,Q,fe,Me,_,pe,ve,Fe,ye,De,Ne].forEach(e=>this._commandService.registerCommand(e))}},T(ee,"pluginName",Ie),T(ee,"type",u.UniverInstanceType.UNIVER_SHEET),ee),m.UniverSheetsTablePlugin=Zt([se(1,u.Inject(u.Injector)),se(2,u.IConfigService),se(3,u.Inject(u.ICommandService))],m.UniverSheetsTablePlugin),m.AddSheetTableCommand=Re,m.AddSheetTableMutation=V,m.AddTableThemeCommand=pe,m.DeleteSheetTableCommand=we,m.DeleteSheetTableMutation=H,m.RemoveTableThemeCommand=ve,m.SHEET_TABLE_CUSTOM_THEME_PREFIX=_e,m.SetSheetTableCommand=Me,m.SetSheetTableFilterCommand=fe,m.SetSheetTableFilterMutation=Q,m.SetSheetTableMutation=_,m.SheetTableInsertColCommand=ye,m.SheetTableInsertRowCommand=Fe,m.SheetTableRemoveColCommand=Ne,m.SheetTableRemoveRowCommand=De,m.SheetsTableButtonStateEnum=A,m.SheetsTableSortStateEnum=$,m.TableColumnDataTypeEnum=ne,m.TableColumnFilterTypeEnum=L,m.TableConditionTypeEnum=O,m.TableDateCompareTypeEnum=S,m.TableNumberCompareTypeEnum=y,m.TableStringCompareTypeEnum=x,m.customEmptyThemeWithBorderStyle=$e,m.isConditionFilter=ue,m.isManualFilter=Ae,m.processStyleWithBorderStyle=Be,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})}));
2
+ (function(m,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","rxjs"],u):(m=typeof globalThis<"u"?globalThis:m||self,u(m.UniverSheetsTable={},m.UniverCore,m.UniverSheets,m.rxjs))})(this,(function(m,u,C,N){"use strict";var en=Object.defineProperty;var tn=(m,u,C)=>u in m?en(m,u,{enumerable:!0,configurable:!0,writable:!0,value:C}):m[u]=C;var T=(m,u,C)=>tn(m,typeof u!="symbol"?u+"":u,C);var te;var v=(n=>(n.Insert="insert",n.Delete="delete",n))(v||{}),D=(n=>(n.Row="row",n.Col="column",n))(D||{}),ae=(n=>(n.None="none",n.String="string",n.Number="number",n.Date="date",n.Bool="bool",n.Checkbox="checkbox",n.List="list",n))(ae||{}),V=(n=>(n.manual="manual",n.condition="condition",n))(V||{}),O=(n=>(n.Date="date",n.Number="number",n.String="string",n.Logic="logic",n))(O||{}),y=(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))(y||{}),x=(n=>(n.Equal="equal",n.NotEqual="notEqual",n.Contains="contains",n.NotContains="notContains",n.StartsWith="startsWith",n.EndsWith="endsWith",n))(x||{}),S=(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))(S||{}),A=(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))(A||{}),L=(n=>(n.Asc="asc",n.Desc="desc",n.None="none",n))(L||{});function P(n,e){return`${e} ${n}`}const oe="TRUE",ie="FALSE",Ee=n=>{var t;return((t=n.body)==null?void 0:t.dataStream.replace(/\r\n$/,""))||""};function le(n){if(n){const{v:e,t,p:a}=n;return a?Ee(a):(t===u.CellValueType.FORCE_STRING||t===u.CellValueType.STRING)&&e!==void 0&&e!==null?String(e):t===u.CellValueType.BOOLEAN?e?oe:ie:t===u.CellValueType.NUMBER?String(e):typeof e==="boolean"?e?oe:ie:e==null?"":String(e)}return""}function xe(n,e){if(n!=null)switch(e){case L.Asc:return A.FilteredSortAsc;case L.Desc:return A.FilteredSortDesc;default:return A.FilteredSortNone}else switch(e){case L.Asc:return A.FilterNoneSortAsc;case L.Desc:return A.FilterNoneSortDesc;default:return A.FilterNoneSortNone}}function ue(n){return n?n.filterType===V.condition:!1}function Ae(n){return n?n.filterType===V.manual:!1}const U={s:u.BorderStyleTypes.THIN,cl:{rgb:"rgb(95, 101, 116)"}},de="sheets-table.config",ce={},$e={headerRowStyle:{bd:{t:U}},headerColumnStyle:{bd:{l:U}},lastColumnStyle:{bd:{r:U}},lastRowStyle:{bd:{b:U}}},Be=(n,e)=>{if(n==="headerRowStyle"){if(!e.bd)return{...e,bd:{t:U}}}else if(n==="lastRowStyle"){if(!e.bd)return{...e,bd:{b:U}}}else if(n==="lastColumnStyle"){if(!e.bd)return{...e,bd:{r:U}}}else if(n==="headerColumnStyle"&&!e.bd)return{...e,bd:{l:U}};return e},he=[[["#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((n,e)=>{const[t,a]=n,[r,s,o,i]=t,[d]=a;return{name:`table-default-${e}`,style:{headerRowStyle:{bg:{rgb:r},cl:{rgb:d},bd:{t:U}},headerColumnStyle:{bd:{l:U}},firstRowStyle:{bg:{rgb:s}},secondRowStyle:{bg:{rgb:o}},lastRowStyle:{bg:{rgb:i},bd:{b:U}},lastColumnStyle:{bd:{r:U}}}}});class q{constructor(e,t){T(this,"dataType");T(this,"id");T(this,"displayName");T(this,"formula");T(this,"meta");T(this,"style");this.id=e,this.displayName=t,this.dataType=ae.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 Le=n=>n.getMonth()<=2,We=n=>{const e=n.getMonth();return e>2&&e<=5},Ve=n=>{const e=n.getMonth();return e>5&&e<=8},qe=n=>{const e=n.getMonth();return e>8&&e<=11},He=n=>n.getMonth()===0,Pe=n=>n.getMonth()===1,Je=n=>n.getMonth()===2,ke=n=>n.getMonth()===3,Qe=n=>n.getMonth()===4,Ye=n=>n.getMonth()===5,je=n=>n.getMonth()===6,Ge=n=>n.getMonth()===7,Xe=n=>n.getMonth()===8,ze=n=>n.getMonth()===9,Ke=n=>n.getMonth()===10,Ze=n=>n.getMonth()===11,et=(n,e=new Date)=>n.toDateString()===e.toDateString(),tt=(n,e=new Date)=>{const t=new Date(e);return t.setDate(t.getDate()+1),n.toDateString()===t.toDateString()},nt=(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},ge=10080*60*1e3,at=(n,e=new Date)=>{const t=H(n),a=H(e);return t.toDateString()===a.toDateString()},rt=(n,e=new Date)=>{const t=H(n),a=new Date(H(e).getTime()+ge);return t.toDateString()===a.toDateString()},st=(n,e=new Date)=>{const t=H(n),a=new Date(H(e).getTime()-ge);return t.toDateString()===a.toDateString()},ot=(n,e=new Date)=>n.getFullYear()===e.getFullYear()&&n.getMonth()===e.getMonth(),it=n=>{const e=new Date(n);return e.setHours(0,0,0,0),e.setDate(1),e},lt=(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()},ut=(n,e=new Date)=>{const t=it(e),a=new Date(t);a.setMonth(a.getMonth()+1,0);const r=n.getTime();return r>=t.getTime()&&r<a.getTime()},re=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},dt=(n,e=new Date)=>{const t=re(e),a=new Date(t);a.setMonth(a.getMonth()+3);const r=n.getTime();return r>=t.getTime()&&r<a.getTime()},ct=(n,e=new Date)=>{const t=re(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()},ht=(n,e=new Date)=>{const t=re(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()},gt=(n,e=new Date)=>n.getFullYear()===e.getFullYear(),mt=(n,e=new Date)=>n.getFullYear()===e.getFullYear()+1,bt=(n,e=new Date)=>n.getFullYear()===e.getFullYear()-1,St=(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 Ct(n){switch(n.compareType){case S.Equal:{const e=new Date(n.expectedValue);return t=>t.getTime()===e.getTime()}case S.NotEqual:{const e=new Date(n.expectedValue);return t=>t.getTime()!==e.getTime()}case S.After:{const e=new Date(n.expectedValue);return t=>t.getTime()>e.getTime()}case S.Before:{const e=new Date(n.expectedValue);return t=>t.getTime()<e.getTime()}case S.AfterOrEqual:{const e=new Date(n.expectedValue);return t=>t.getTime()>=e.getTime()}case S.BeforeOrEqual:{const e=new Date(n.expectedValue);return t=>t.getTime()<=e.getTime()}case S.Between:return e=>{const[t,a]=n.expectedValue;return e.getTime()>=new Date(t).getTime()&&e.getTime()<=new Date(a).getTime()};case S.NotBetween:return e=>{const[t,a]=n.expectedValue;return e.getTime()<new Date(t).getTime()||e.getTime()>new Date(a).getTime()};case S.Today:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>et(t,e)}case S.Yesterday:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>nt(t,e)}case S.Tomorrow:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>tt(t,e)}case S.ThisWeek:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>at(t,e)}case S.LastWeek:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>st(t,e)}case S.NextWeek:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>rt(t,e)}case S.ThisMonth:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>ot(t,e)}case S.LastMonth:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>ut(t,e)}case S.NextMonth:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>lt(t,e)}case S.ThisQuarter:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>dt(t,e)}case S.LastQuarter:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>ht(t,e)}case S.NextQuarter:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>ct(t,e)}case S.ThisYear:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>gt(t,e)}case S.LastYear:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>bt(t,e)}case S.NextYear:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>mt(t,e)}case S.YearToDate:{const e=n.anchorTime?new Date(n.anchorTime):new Date;return t=>St(t,e)}case S.M1:return He;case S.M2:return Pe;case S.M3:return Je;case S.M4:return ke;case S.M5:return Qe;case S.M6:return Ye;case S.M7:return je;case S.M8:return Ge;case S.M9:return Xe;case S.M10:return ze;case S.M11:return Ke;case S.M12:return Ze;case S.Q1:return Le;case S.Q2:return We;case S.Q3:return Ve;case S.Q4:return qe;default:throw new Error("Unsupported compare type")}}class Tt{constructor(){T(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 Rt extends Tt{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 wt=(n,e)=>{const t=new Rt;for(const a of n)t.insert(a),t.size()>e&&t.pop();return t.heap},ft=(n,e)=>n>e,It=(n,e)=>n<e,_t=(n,e,t)=>wt(n,e).includes(t);function pt(n,e){switch(n.compareType){case y.Equal:{const t=Number(n.expectedValue);return a=>a===t}case y.NotEqual:{const t=Number(n.expectedValue);return a=>a!==t}case y.GreaterThan:{const t=Number(n.expectedValue);return a=>a>t}case y.GreaterThanOrEqual:{const t=Number(n.expectedValue);return a=>a>=t}case y.LessThan:{const t=Number(n.expectedValue);return a=>a<t}case y.LessThanOrEqual:{const t=Number(n.expectedValue);return a=>a<=t}case y.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 y.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 y.Above:{const t=e.average;return a=>ft(a,t)}case y.Below:{const t=e.average;return a=>It(a,t)}case y.TopN:{const t=e.list,a=Number(n.expectedValue);return r=>_t(t,a,r)}}}const vt=(n,e)=>u.createREGEXFromWildChar(e).test(n),Mt=(n,e)=>!u.createREGEXFromWildChar(e).test(n),Ft=(n,e)=>u.createREGEXFromWildChar(`*${e}*`).test(n),yt=(n,e)=>!u.createREGEXFromWildChar(`*${e}*`).test(n),Dt=(n,e)=>u.createREGEXFromWildChar(`${e}*`).test(n),Nt=(n,e)=>u.createREGEXFromWildChar(`*${e}`).test(n);function Ot(n){switch(n.compareType){case x.Equal:return e=>vt(e,n.expectedValue);case x.NotEqual:return e=>Mt(e,n.expectedValue);case x.Contains:return e=>Ft(e,n.expectedValue);case x.NotContains:return e=>yt(e,n.expectedValue);case x.StartsWith:return e=>Dt(e,n.expectedValue);case x.EndsWith:return e=>Nt(e,n.expectedValue);default:return console.error(`Unknown filter operator: ${n.compareType}`),e=>!0}}const Ut=new Set([y.Above,y.Below,y.TopN]);S.Today,S.Yesterday,S.Tomorrow,S.ThisWeek,S.LastWeek,S.NextWeek,S.ThisMonth,S.LastMonth,S.NextMonth,S.ThisQuarter,S.LastQuarter,S.NextQuarter,S.NextYear,S.ThisYear,S.LastYear,S.YearToDate;function me(n){return Ut.has(n)}function Et(n,e){if(me(n.filterInfo.compareType))return t=>!0;switch(n.filterInfo.conditionType){case O.Date:return Ct(n.filterInfo);case O.Number:return pt(n.filterInfo,e);case O.String:return Ot(n.filterInfo);case O.Logic:default:return t=>!0}}function k(n,e,t,a){switch(a){case O.Date:{const r=be(n,e,t);return r?$t(r):null}case O.Number:return be(n,e,t);case O.String:default:return At(n,e,t)}}const xt=n=>{var t;return((t=n.body)==null?void 0:t.dataStream.replace(/\r\n$/,""))||""};function At(n,e,t){const a=n.getCell(e,t);if(!a)return null;const{v:r,t:s,p:o}=a;if(o)return xt(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 be(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 $t(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 Se{constructor(){T(this,"_tableColumnFilterList");T(this,"_tableSortInfo");T(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:L.None;return xe(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:i,startColumn:d}=t,l=d+a,c=this.getExecuteFunc(e,t,a,s);for(let g=o;g<=i;g++){const h=ue(s)?s.filterInfo.conditionType:O.String;k(e,g,l,h)===null?r.add(g):c(k(e,g,l,h))||r.add(g)}}}_getNumberCalculatedOptions(e,t,a){const{startRow:r,endRow:s,startColumn:o}=t,i=o+a,d=[];let l=0,c=0;for(let g=r;g<=s;g++){const h=k(e,g,i,O.Number);h!==null&&(d.push(h),l++,c+=h)}return{list:d,average:l>0?c/l: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=me(r.filterInfo.compareType)?this._getNumberCalculatedOptions(e,t,a):void 0;return Et(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 Ce{constructor(e,t,a,r,s={}){T(this,"_id");T(this,"_name");T(this,"_tableStyleId");T(this,"_showHeader");T(this,"_showFooter");T(this,"_range");T(this,"_columns",new Map);T(this,"_columnOrder",[]);T(this,"tableMeta");T(this,"_tableFilters");T(this,"_subUnitId");this._id=e,this._range=a,this._name=t,this._tableFilters=new Se,this._init(r,s)}_init(e,t){var o,i;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 d=r;d<=s;d++){const l=d-r;let c,g;(i=t.columns)!=null&&i[l]?(c=t.columns[l].id,g=t.columns[l].displayName):(c=u.generateRandomId(),g=e[d-r]);const h=new q(c,g);this._columns.set(c,h),this._columnOrder.push(c)}t.filters&&t.filters.forEach((l,c)=>{l&&this._tableFilters.setColumnFilter(c,l)})}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:i}=e,d=t?r+1:r,l=a?o-1:o;return{startRow:d,startColumn:s,endRow:l,endColumn:i}}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:he[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 Se,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 Bt=Object.getOwnPropertyDescriptor,Lt=(n,e,t,a)=>{for(var r=a>1?void 0:a?Bt(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},Te=(n,e)=>(t,a)=>e(t,a,n);m.TableManager=class extends u.Disposable{constructor(t,a){super();T(this,"_tableMap");T(this,"_tableAdd$",new N.Subject);T(this,"tableAdd$",this._tableAdd$.asObservable());T(this,"_tableDelete$",new N.Subject);T(this,"tableDelete$",this._tableDelete$.asObservable());T(this,"_tableNameChanged$",new N.Subject);T(this,"tableNameChanged$",this._tableNameChanged$.asObservable());T(this,"_tableRangeChanged$",new N.Subject);T(this,"tableRangeChanged$",this._tableRangeChanged$.asObservable());T(this,"_tableThemeChanged$",new N.Subject);T(this,"tableThemeChanged$",this._tableThemeChanged$.asObservable());T(this,"_tableFilterChanged$",new N.Subject);T(this,"tableFilterChanged$",this._tableFilterChanged$.asObservable());T(this,"_tableInitStatus",new N.BehaviorSubject(!1));T(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:i,startColumn:d,endColumn:l}=r,c=[],g=s!=null?s:"Column";for(let b=d;b<=l;b++)c.push(le(o==null?void 0:o.getCell(i,b))||P(b-d+1,g));return c}addTable(t,a,r,s,o,i,d){var b;const l=i!=null?i:u.generateRandomId(),c=o||this.getColumnHeader(t,a,s),g=new Ce(l,r,s,c,d);if(g.setSubunitId(a),this._ensureUnit(t).set(l,g),this._tableAdd$.next({unitId:t,subUnitId:a,range:s,tableName:r,tableId:l,tableStyleId:d==null?void 0:d.tableStyleId}),d!=null&&d.filters){const w=(b=this._univerInstanceService.getUnit(t))==null?void 0:b.getSheetBySheetId(a);g.getTableFilters().doFilter(w,s),this._tableFilterChanged$.next({unitId:t,subUnitId:a,tableId:l})}return l}addFilter(t,a,r,s){const o=this.getTable(t,a);if(o){o.getTableFilters().setColumnFilter(r,s);const d=o.getSubunitId();this._tableFilterChanged$.next({unitId:t,subUnitId:d,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(d=>d.getDisplayName()));let o=a,i=1;for(;s.has(o);)o=`${a}-${i}`,i++;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(),i=s.getTableStyleId();r==null||r.delete(a);const{subUnitId:d,range:l,name:c}=o;this._tableDelete$.next({unitId:t,subUnitId:d,tableId:a,range:l,tableName:c,tableStyleId:i})}}operationTableRowCol(t,a,r){const s=this.getTableById(t,a);if(!s)return;const{operationType:o,rowColType:i,index:d,count:l,columnsJson:c}=r,g=s.getRange(),h={...g};if(o===v.Insert){if(i==="row")h.endRow+=l;else if(i==="column"){h.endColumn+=l;for(let b=0;b<l;b++){const w=this._localeService.t("sheets-table.columnPrefix"),R=new q(u.generateRandomId(),P(s.getColumnsCount()+1+b,w));c!=null&&c[b]&&R.fromJSON(c[b]);const I=d+b-g.startColumn;s.insertColumn(I,R)}}}else if(i==="row")h.endRow-=l;else if(i==="column"){h.endColumn-=l;for(let b=l-1;b>=0;b--){const w=d+b-g.startColumn;s.removeColumn(w)}}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(),i=r.newRange;if(i.startColumn<o.startColumn){const d=o.startColumn-i.startColumn,l=this._localeService.t("sheets-table.columnPrefix");for(let c=0;c<d;c++)s.insertColumn(o.startColumn,new q(u.generateRandomId(),P(s.getColumnsCount()+1,l)))}else if(i.startColumn>o.startColumn){const d=i.startColumn-o.startColumn;for(let l=d-1;l>=0;l--){const c=i.startColumn+l-o.startColumn;s.removeColumn(c)}}if(i.endColumn<o.endColumn){const d=o.endColumn-i.endColumn;for(let l=d-1;l>=0;l--){const c=i.endColumn+l-o.startColumn;s.removeColumn(c)}}else if(i.endColumn>o.endColumn){const d=i.endColumn-o.endColumn;for(let l=0;l<d;l++)s.insertColumn(o.endColumn,new q(u.generateRandomId(),P(s.getColumnsCount()+1,"Column")))}s.setRange(i),this._tableRangeChanged$.next({unitId:t,subUnitId:s.getSubunitId(),tableId:a,range:i,oldRange:o})}setTableByConfig(t,a,r){var b;const s=this._tableMap.get(t),o=s==null?void 0:s.get(a);if(!o)return;const i=o.getSubunitId(),{name:d,updateRange:l,rowColOperation:c,theme:g,options:h}=r;if(d){const w=o.getDisplayName();o.setDisplayName(d),this._tableNameChanged$.next({unitId:t,subUnitId:i,tableId:a,tableName:d,oldTableName:w})}if(c&&this.operationTableRowCol(t,a,c),l&&this.updateTableRange(t,a,l),g){const w=(b=o.getTableStyleId())!=null?b:"default";o.setTableStyleId(g),this._tableThemeChanged$.next({unitId:t,subUnitId:i,tableId:a,theme:g,oldTheme:w})}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 i=new Set;this.getTablesBySubunitId(t,o).forEach(l=>{const c=l.getTableFilters().getFilterOutRows();if(c)for(const g of c)i.add(g)}),a[o]={tables:[],tableFilteredOutRows:Array.from(i)}}a[o].tables.push(s.toJSON())}),a}fromJSON(t,a){const r=this._ensureUnit(t);Object.keys(a).forEach(o=>{const i=C.getSheetCommandTarget(this._univerInstanceService,{unitId:t,subUnitId:o});if(!i)return;const d=i.worksheet;let l;a[o].tables?l=a[o].tables:Array.isArray(a[o])&&(l=a[o]),l&&l.forEach(c=>{const g=this.getColumnHeader(t,o,c.range),h=new Ce(c.id,c.name,c.range,g,c.options);if(h.setTableMeta(c.meta),c.columns.length&&h.setColumns(c.columns),c.filters){const b=h.getTableFilters();b.fromJSON(c.filters),b.doFilter(d,h.getTableFilterRange())}h.setSubunitId(o),r.set(c.id,h),this._tableAdd$.next({unitId:t,subUnitId:o,range:c.range,tableName:c.name,tableId:c.id})})}),this._tableInitStatus.next(!0)}deleteUnitId(t){this._tableMap.delete(t)}dispose(){super.dispose(),this._tableMap.forEach(t=>{t.forEach(a=>a.dispose()),t.clear()}),this._tableMap.clear()}},m.TableManager=Lt([Te(0,u.IUniverInstanceService),Te(1,u.Inject(u.LocaleService))],m.TableManager);var Wt=Object.getOwnPropertyDescriptor,Vt=(n,e,t,a)=>{for(var r=a>1?void 0:a?Wt(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},qt=(n,e)=>(t,a)=>e(t,a,n);m.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,i){return this._tableManager.addTable(e,t,a,r,s,o,i)}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=O.String){return k(e,t,a,r)}},m.SheetTableService=Vt([qt(0,u.Inject(m.TableManager))],m.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:i,options:d}=e;return n.get(m.SheetTableService).addTable(a,r,s,o,i,t,d),!0}},B={id:"sheet.mutation.delete-table",type:u.CommandType.MUTATION,handler:(n,e)=>{const{unitId:t,subUnitId:a,tableId:r}=e;return n.get(m.SheetTableService).deleteTable(t,a,r),!0}},Re={id:"sheet.command.add-table",type:u.CommandType.COMMAND,handler:(n,e)=>{var R;if(!e)return!1;const t=n.get(u.IUndoRedoService),a=n.get(u.ICommandService),r=n.get(u.LocaleService),s=(R=e.id)!=null?R:u.generateRandomId();let o=e.name;if(!o){const f=n.get(m.TableManager).getTableList(e.unitId).length;o=`${r.t("sheets-table.tablePrefix")}${f+1}`}const i=[],d=[],l=n.get(m.TableManager),{unitId:c,subUnitId:g,range:h}=e,b=l.getColumnHeader(c,g,h,r.t("sheets-table.columnPrefix"));return i.push({id:$.id,params:{...e,tableId:s,name:o,header:b}}),d.push({id:B.id,params:{tableId:s,unitId:e.unitId}}),u.sequenceExecute(i,a)&&t.pushUndoRedo({unitID:e.unitId,undoMutations:d,redoMutations:i}),!0}},we={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(m.TableManager),s=[],o=[],i=r.getTable(e.unitId,e.tableId),d=i==null?void 0:i.toJSON();if(!d)throw new Error("[TableManager]: Table not found");return s.push({id:B.id,params:{...e}}),o.push({id:$.id,params:{unitId:e.unitId,subUnitId:e.subUnitId,tableId:e.tableId,name:d.name,range:d.range,options:d.options}}),u.sequenceExecute(s,a)&&t.pushUndoRedo({unitID:e.unitId,undoMutations:o,redoMutations:s}),!0}},Q={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(m.TableManager).addFilter(a,t,r,s),!0}},fe={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:Q.id,params:{...e,tableId:r}}),o.push({id:Q.id,params:{...e,tableId:r,tableFilter:void 0}}),u.sequenceExecute(s,a)&&t.pushUndoRedo({unitID:e.unitId,undoMutations:o,redoMutations:s}),!0}},Ie="SHEET_TABLE_PLUGIN",Y="SHEET_TABLE",_e="table-custom";var Ht=Object.getOwnPropertyDescriptor,Pt=(n,e,t,a)=>{for(var r=a>1?void 0:a?Ht(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},j=(n,e)=>(t,a)=>e(t,a,n);m.SheetsTableController=class extends u.Disposable{constructor(t,a,r,s){super();T(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),i=Array.from(s.bulkSearch([{unitId:t,sheetId:a,range:r}])).find(d=>{const l=this._tableManager.getTable(t,String(d));return l?u.Rectangle.contains(l.getRange(),r):!1});if(i)return this._tableManager.getTable(t,String(i))}_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:i}=t,d=this._ensureTableRangeRTree(s);d.remove({unitId:s,sheetId:o,id:r,range:{...i}}),d.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(C.INTERCEPTOR_POINT.CELL_CONTENT,{effect:u.InterceptorEffectEnum.Value,handler:(t,a,r)=>{const{row:s,col:o,unitId:i,subUnitId:d}=a,l=this._ensureTableRangeRTree(i);if((t==null?void 0:t.v)===void 0&&l){const g=Array.from(l.bulkSearch([{unitId:i,sheetId:d,range:{startColumn:o,endColumn:o,startRow:s,endRow:s}}]));if(g.length>0){const h=this._tableManager.getTable(i,g[0]);if(h){const b=h.getRange(),w=o-b.startColumn;if(b.startRow===s){const I=h.getColumnNameByIndex(w);return(!t||t===a.rawData)&&(t={...a.rawData}),t.v=I,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:Ie,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===C.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 i=this._tableManager.getTablesBySubunitId(s,o);if(i.length===0)return{redos:[],undos:[]};const d=[],l=[];return i.forEach(c=>{const g=c.toJSON();d.push({id:B.id,params:{unitId:s,subUnitId:o,tableId:g.id}}),l.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:d,undos:l}}else if(t.id===C.CopySheetCommand.id){const r=t.params,{unitId:s,subUnitId:o,targetSubUnitId:i}=r;if(!s||!o||!i)return{redos:[],undos:[]};const d=this._tableManager.getTablesBySubunitId(s,o);if(d.length===0)return{redos:[],undos:[]};const l=[],c=[];return d.forEach(g=>{const h=g.toJSON(),b=u.generateRandomId();l.push({id:$.id,params:{unitId:s,subUnitId:i,name:h.name,range:{...h.range,sheetId:i},tableId:b,options:{...h.options,columns:h.columns,filters:h.filters.tableColumnFilterList}}}),c.push({id:B.id,params:{unitId:s,subUnitId:i,tableId:b}})}),{redos:l,undos:c}}return{redos:[],undos:[]}}}))}dispose(){super.dispose(),this._tableRangeRTree.clear()}},m.SheetsTableController=Pt([j(0,u.Inject(u.IUniverInstanceService)),j(1,u.Inject(C.SheetInterceptorService)),j(2,u.Inject(m.TableManager)),j(3,u.Inject(u.IResourceManagerService))],m.SheetsTableController);const _={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(m.TableManager).setTableByConfig(t,a,r),!0}},pe={id:"sheet.command.add-table-theme",type:u.CommandType.COMMAND,handler:(n,e)=>{if(!e)return!1;const t=n.get(m.TableManager),{unitId:a,tableId:r,themeStyle:s}=e,o=[],i=[],d=t.getTableById(a,r);if(!d)return!1;const l=d.getSubunitId();o.push({id:C.AddRangeThemeMutation.id,params:{unitId:a,subUnitId:l,styleJSON:s.toJson()}}),o.push({id:_.id,params:{unitId:a,subUnitId:l,tableId:r,config:{theme:s.getName()}}}),i.push({id:_.id,params:{unitId:a,subUnitId:l,tableId:r,config:{themeStyle:d.getTableStyleId()}}}),i.push({id:C.RemoveRangeThemeMutation.id,params:{unitId:a,subUnitId:l,styleName:s.getName()}});const c=n.get(u.ICommandService);return u.sequenceExecute(o,c)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:a,undoMutations:i,redoMutations:o}),!0}},ve={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(m.TableManager),o=n.get(C.SheetRangeThemeModel),i=s.getTableById(t,a);if(!i)return!1;const d=i.getSubunitId(),l=[],c=[],g=o.getRegisteredRangeThemes().filter(f=>f==null?void 0:f.startsWith("table-default"));let b=o.getRegisteredRangeThemes().filter(f=>f==null?void 0:f.startsWith(_e)).find(f=>f!==r);b||(b=g[0]),l.push({id:_.id,params:{unitId:t,subUnitId:d,tableId:a,config:{theme:b}}}),l.push({id:C.RemoveRangeThemeMutation.id,params:{unitId:t,subUnitId:d,styleName:r}});const w=o.getDefaultRangeThemeStyle(r);w&&(c.push({id:C.AddRangeThemeMutation.id,params:{unitId:t,subUnitId:d,styleJSON:w.toJson()}}),c.push({id:_.id,params:{unitId:t,subUnitId:d,tableId:a,config:{theme:r}}}));const R=n.get(u.ICommandService);return u.sequenceExecute(l,R)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:t,redoMutations:l,undoMutations:c}),!0}},Me={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:i}=e,d=n.get(m.TableManager),l=d.getTableById(t,a);if(!l)return!1;const c={},g={},h=n.get(u.LocaleService),w=n.get(u.IUniverInstanceService).getCurrentUnitOfType(u.UniverInstanceType.UNIVER_SHEET),R=new Set;if(w&&(w.getSheets().forEach(p=>{R.add(p.getName())}),d.getTableList(t).forEach(p=>{R.add(p.name)})),r){if(!u.customNameCharacterCheck(r,R))return n.get(u.ILogService).warn(h.t("sheets-table.tableNameError")),!1;c.name=l.getDisplayName(),g.name=r}o&&(c.rowColOperation={operationType:o.operationType===v.Insert?v.Delete:v.Insert,rowColType:o.rowColType,index:o.index,count:o.count},g.rowColOperation=o),s&&(c.updateRange={newRange:l.getRange()},g.updateRange=s),i&&(c.theme=l.getTableStyleId(),g.theme=i);const I={unitId:t,subUnitId:l.getSubunitId(),tableId:a,config:g};return n.get(u.ICommandService).executeCommand(_.id,I),n.get(u.IUndoRedoService).pushUndoRedo({unitID:t,undoMutations:[{id:_.id,params:{unitId:t,subUnitId:l.getSubunitId(),tableId:a,config:c}}],redoMutations:[{id:_.id,params:I}]}),!0}},Fe={id:"sheet.command.table-insert-row",type:u.CommandType.COMMAND,handler:n=>{const e=n.get(u.IUniverInstanceService),t=C.getSheetCommandTarget(e);if(!t)return!1;const{workbook:a,worksheet:r,unitId:s,subUnitId:o}=t,d=n.get(C.SheetsSelectionsService).getCurrentSelections();if(!d.length||d.length>1)return!1;n.get(m.TableManager);const c=d[0].range,h=n.get(m.SheetsTableController).getContainerTableWithRange(s,o,c);if(!h)return!1;const b=c.endRow-c.startRow+1,R=r.getRowCount()-1,I=r.getCellMatrix().getDataRange().endRow,f=[],M=[];if(R-I<b)f.push({id:C.InsertRowMutation.id,params:{unitId:s,subUnitId:o,range:{...c}}}),f.push({id:_.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{updateRange:{newRange:{...h.getRange(),endRow:h.getRange().endRow+b}}}}}),M.push({id:_.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{updateRange:{newRange:h.getRange()}}}}),M.push({id:C.RemoveRowMutation.id,params:{unitId:s,subUnitId:o,range:{...c}}});else{const F={...h.getRange()};f.push({id:_.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{updateRange:{newRange:{...F,endRow:F.endRow+b}}}}}),M.push({id:_.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{updateRange:{newRange:{...F}}}}});const J=C.getMoveRangeUndoRedoMutations(n,{unitId:s,subUnitId:o,range:{startRow:c.startRow,endRow:I,startColumn:F.startColumn,endColumn:F.endColumn}},{unitId:s,subUnitId:o,range:{startRow:c.startRow+b,endRow:I+b,startColumn:F.startColumn,endColumn:F.endColumn}});J&&(f.push(...J.redos),M.push(...J.undos))}const E=n.get(u.ICommandService);return u.sequenceExecute(f,E)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:s,undoMutations:M,redoMutations:f}),!0}},ye={id:"sheet.command.table-insert-col",type:u.CommandType.COMMAND,handler:n=>{const e=n.get(u.IUniverInstanceService),t=C.getSheetCommandTarget(e);if(!t)return!1;const{worksheet:a,unitId:r,subUnitId:s}=t,i=n.get(C.SheetsSelectionsService).getCurrentSelections();if(!i.length||i.length>1)return!1;const l=i[0].range,g=n.get(m.SheetsTableController).getContainerTableWithRange(r,s,l);if(!g)return!1;const h=l.endColumn-l.startColumn+1,w=a.getColumnCount()-1,R=a.getCellMatrix().getDataRange().endColumn,I=[],f=[];if(w-R<h)I.push({id:C.InsertColMutation.id,params:{unitId:r,subUnitId:s,range:{...l}}}),I.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:D.Col,index:l.startColumn,count:h}}}}),f.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:D.Col,index:l.startColumn,count:h}}}}),f.push({id:C.RemoveColMutation.id,params:{unitId:r,subUnitId:s,range:{...l}}});else{const p=g.getRange();I.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:D.Col,index:l.startColumn,count:h}}}}),f.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:D.Col,index:l.startColumn,count:h}}}});const F=C.getMoveRangeUndoRedoMutations(n,{unitId:r,subUnitId:s,range:{startRow:p.startRow,endRow:p.endRow,startColumn:l.startColumn,endColumn:R}},{unitId:r,subUnitId:s,range:{startRow:p.startRow,endRow:p.endRow,startColumn:l.startColumn+h,endColumn:R+h}});F&&(I.push(...F.redos),f.push(...F.undos))}const M=n.get(u.ICommandService);return u.sequenceExecute(I,M)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:r,undoMutations:f,redoMutations:I}),!0}},De={id:"sheet.command.table-remove-row",type:u.CommandType.COMMAND,handler:(n,e)=>{if(!e)return!1;const t=n.get(u.IUniverInstanceService),a=C.getSheetCommandTarget(t);if(!a)return!1;const{unitId:r,subUnitId:s}=a,i=n.get(C.SheetsSelectionsService).getCurrentSelections();if(!i.length||i.length>1)return!1;const l=i[0].range,g=n.get(m.SheetsTableController).getContainerTableWithRange(r,s,l);if(!g)return!1;const h=l.endRow-l.startRow+1,b=[],w=[],R=g.getRange();b.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{updateRange:{newRange:{...R,endRow:R.endRow-h}}}}}),w.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:g.getId(),config:{updateRange:{newRange:{...R}}}}});const f=a.worksheet.getCellMatrix().getDataRange().endRow,M=C.getMoveRangeUndoRedoMutations(n,{unitId:r,subUnitId:s,range:{startRow:l.endRow+1,endRow:f,startColumn:R.startColumn,endColumn:R.endColumn}},{unitId:r,subUnitId:s,range:{startRow:l.startRow,endRow:f-h,startColumn:R.startColumn,endColumn:R.endColumn}});M&&(b.push(...M.redos),w.push(...M.undos));const E=n.get(u.ICommandService);return u.sequenceExecute(b,E)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:r,undoMutations:w,redoMutations:b}),!0}},Ne={id:"sheet.command.table-remove-col",type:u.CommandType.COMMAND,handler:(n,e)=>{if(!e)return!1;const t=n.get(u.IUniverInstanceService),a=C.getSheetCommandTarget(t);if(!a)return!1;const{workbook:r,unitId:s,subUnitId:o}=a;n.get(m.TableManager);const d=n.get(C.SheetsSelectionsService).getCurrentSelections();if(!d.length||d.length>1)return!1;const c=d[0].range,h=n.get(m.SheetsTableController).getContainerTableWithRange(s,o,c);if(!h)return!1;const b=c.endColumn-c.startColumn+1,w=[],R=[],I=h.getRange();w.push({id:_.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:D.Col,index:c.startColumn,count:b}}}});const f=[],M=c.startColumn-I.startColumn;for(let ne=0;ne<b;ne++){const Ue=h.getTableInfo().columns[M+ne];Ue&&f.push(Ue)}R.push({id:_.id,params:{unitId:s,subUnitId:o,tableId:h.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:D.Col,index:c.startColumn,count:b,columnsJson:f}}}});const p=a.worksheet.getCellMatrix().getDataRange().endColumn,F=C.getMoveRangeUndoRedoMutations(n,{unitId:s,subUnitId:o,range:{startRow:I.startRow,endRow:I.endRow,startColumn:c.endColumn+1,endColumn:p}},{unitId:s,subUnitId:o,range:{startRow:I.startRow,endRow:I.endRow,startColumn:c.startColumn,endColumn:p-b}});F&&(w.push(...F.redos),R.push(...F.undos));const J=n.get(u.ICommandService);return u.sequenceExecute(w,J)&&n.get(u.IUndoRedoService).pushUndoRedo({unitID:s,undoMutations:R,redoMutations:w}),!0}};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},Oe=(n,e)=>(t,a)=>e(t,a,n);let G=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,Y,t),this._exclusiveRangeService.addExclusiveRange(a,r,Y,[{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,Y,[{range:{...r},groupId:e}])})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(n=>{const{tableId:e,unitId:t,subUnitId:a}=n;this._exclusiveRangeService.clearExclusiveRangesByGroupId(t,a,Y,e)}))}};G=kt([Oe(0,u.Inject(m.TableManager)),Oe(1,u.Inject(C.IExclusiveRangeService))],G);var Qt=Object.getOwnPropertyDescriptor,Yt=(n,e,t,a)=>{for(var r=a>1?void 0:a?Qt(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},W=(n,e)=>(t,a)=>e(t,a,n);let X=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 C.InsertRowCommand.id:return n._generateTableMutationWithInsertRow(r);case C.InsertColCommand.id:return n._generateTableMutationWithInsertCol(r);case C.RemoveRowCommand.id:return n._generateTableMutationWithRemoveRow(r);case C.RemoveColCommand.id:return n._generateTableMutationWithRemoveCol(r)}return t}})}_generateTableMutationWithInsertRow(n){const e=[],t=[],a=C.getSheetCommandTarget(this._univerInstanceService);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:i}=n;return o.forEach(d=>{const l=d.getRange();if(i.startRow>l.startRow&&i.startRow<=l.endRow){const c=i.endRow-i.startRow+1;t.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:d.getId(),config:{updateRange:{newRange:{...l,endRow:l.endRow+c}}}}}),e.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:d.getId(),config:{updateRange:{newRange:{...l}}}}})}}),{undos:e,redos:t}}_generateTableMutationWithInsertCol(n){const e=[],t=[],a=C.getSheetCommandTarget(this._univerInstanceService);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:i}=n;return o.forEach(d=>{const l=d.getRange();if(i.startColumn>l.startColumn&&i.startColumn<=l.endColumn){const c=i.endColumn-i.startColumn+1;t.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:d.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:D.Col,index:i.startColumn,count:c}}}}),e.push({id:_.id,params:{unitId:r,subUnitId:s,tableId:d.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:D.Col,index:i.startColumn,count:c}}}})}}),{undos:e,redos:t}}_generateTableMutationWithRemoveRow(n){const e=[],t=[],a=[],r=[],s=C.getSheetCommandTarget(this._univerInstanceService);if(!s)return{undos:e,redos:t,preRedos:a,preUndos:r};const{unitId:o,subUnitId:i}=s,d=this._tableManager.getTablesBySubunitId(o,i);if(!d.length)return{undos:e,redos:t,preRedos:a,preUndos:r};const{range:l}=n,c=l.endRow-l.startRow+1;return d.forEach(g=>{const h=g.getRange();if(u.Rectangle.intersects(h,l))if(l.startRow<=h.startRow&&l.endRow>=h.startRow){a.push({id:B.id,params:{unitId:o,subUnitId:i,tableId:g.getId()}});const b=g.toJSON();e.push({id:$.id,params:{unitId:o,subUnitId:i,tableId:b.id,name:b.name,range:b.range,options:b.options}})}else l.startRow>h.startRow&&l.startRow<=h.endRow?(t.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{updateRange:{newRange:{...h,endRow:h.endRow-c}}}}}),e.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{updateRange:{newRange:{...h}}}}})):l.startRow<h.endRow&&l.endRow>=h.endRow&&(t.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{updateRange:{newRange:{...h,endRow:l.startRow-1}}}}}),e.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{updateRange:{newRange:{...h}}}}}))}),{undos:e,redos:t,preRedos:a,preUndos:r}}_generateTableMutationWithRemoveCol(n){const e=[],t=[],a=[],r=[],s=C.getSheetCommandTarget(this._univerInstanceService);if(!s)return{undos:e,redos:t,preRedos:a,preUndos:r};const{unitId:o,subUnitId:i}=s,d=this._tableManager.getTablesBySubunitId(o,i);if(!d.length)return{undos:e,redos:t,preRedos:a,preUndos:r};const{range:l}=n,c=l.endColumn-l.startColumn+1;return d.forEach(g=>{const h=g.getRange();if(u.Rectangle.intersects(h,l)){if(l.startColumn<=h.startColumn&&l.endColumn>=h.endColumn){a.push({id:B.id,params:{unitId:o,subUnitId:i,tableId:g.getId()}});const b=g.toJSON(),{startRow:w,startColumn:R,endColumn:I}=b.range,f=this._univerInstanceService.getUnit(o),M=f==null?void 0:f.getSheetBySheetId(i);if(!M)return{undos:e,redos:t,preRedos:a,preUndos:r};const E=[];for(let p=R;p<=I;p++)E.push(le(M==null?void 0:M.getCell(w,p))||P(p-R+1,this._localeService.t("sheets-table.columnPrefix")));e.push({id:$.id,params:{unitId:o,subUnitId:i,tableId:b.id,name:b.name,header:E,range:b.range,options:b.options}})}else if(l.startColumn<=h.startColumn&&l.endColumn>=h.startColumn){const b=l.endColumn-h.startColumn+1;t.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:D.Col,index:h.startColumn,count:b}}}});const w=[];for(let R=0;R<b;R++){const I=g.getTableColumnByIndex(R);I&&w.push(I.toJSON())}e.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:D.Col,index:h.startColumn,count:b,columnsJson:w}}}})}else if(l.startColumn>h.startColumn&&l.endColumn>h.endColumn){const b=h.endColumn-l.startColumn+1;t.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:D.Col,index:l.startColumn,count:b}}}});const w=[],R=l.startColumn-h.startColumn;for(let I=0;I<b;I++){const f=g.getTableColumnByIndex(I+R);f&&w.push(f.toJSON())}e.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:D.Col,index:l.startColumn,count:c,columnsJson:w}}}})}else if(l.startColumn>h.startColumn&&l.endColumn<=h.endColumn){t.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{rowColOperation:{operationType:v.Delete,rowColType:D.Col,index:l.startColumn,count:c}}}});const b=[],w=l.startColumn-h.startColumn;for(let R=0;R<c;R++){const I=g.getTableColumnByIndex(R+w);I&&b.push(I.toJSON())}e.push({id:_.id,params:{unitId:o,subUnitId:i,tableId:g.getId(),config:{rowColOperation:{operationType:v.Insert,rowColType:D.Col,index:l.startColumn,count:c,columnsJson:b}}}})}}}),{undos:e,redos:t,preRedos:a,preUndos:r}}_initCommandListener(){this._commandService.onCommandExecuted(n=>{if(n.id===C.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(i=>{const d=i.getRange();r.startRow<=d.startRow&&this._tableManager.updateTableRange(t,i.getId(),{newRange:{...d,startRow:d.startRow+s,endRow:d.endRow+s}})})}else if(n.id===C.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(i=>{const d=i.getRange();r.startColumn<=d.startColumn&&this._tableManager.updateTableRange(t,i.getId(),{newRange:{...d,startColumn:d.startColumn+s,endColumn:d.endColumn+s}})})}else if(n.id===C.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(i=>{const d=i.getRange();r.startRow<d.startRow&&this._tableManager.updateTableRange(t,i.getId(),{newRange:{...d,startRow:d.startRow-s,endRow:d.endRow-s}})})}else if(n.id===C.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(i=>{const d=i.getRange();r.startColumn<d.startColumn&&this._tableManager.updateTableRange(t,i.getId(),{newRange:{...d,startColumn:d.startColumn-s,endColumn:d.endColumn-s}})})}})}};X=Yt([W(0,u.Inject(u.ICommandService)),W(1,u.Inject(C.RefRangeService)),W(2,u.Inject(u.IUniverInstanceService)),W(3,u.Inject(u.Injector)),W(4,u.Inject(C.SheetInterceptorService)),W(5,u.Inject(m.TableManager)),W(6,u.Inject(u.LocaleService))],X);var jt=Object.getOwnPropertyDescriptor,Gt=(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},z=(n,e)=>(t,a)=>e(t,a,n);let K=class extends u.Disposable{constructor(e,t,a,r){super();T(this,"_defaultThemeIndex",0);T(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,i=this._tableManager.getTable(r,a),d=o||this._allThemes[this._defaultThemeIndex].name;i.setTableStyleId(d),this._sheetRangeThemeService.registerRangeThemeStyle(d,{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,i=this._tableManager.getTable(s,r);let d=i.getTableStyleId();d||(d=this._allThemes[this._defaultThemeIndex].name,i.setTableStyleId(d)),this._sheetRangeThemeService.removeRangeThemeRule(d,{unitId:s,subUnitId:o,range:{...a}}),this._sheetRangeThemeService.registerRangeThemeStyle(d,{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,d=this._tableManager.getTable(s,r).getRange();this._sheetRangeThemeService.removeRangeThemeRule(a,{unitId:s,subUnitId:o,range:{...d}}),this._sheetRangeThemeService.registerRangeThemeStyle(t,{unitId:s,subUnitId:o,range:{...d}})})),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(de)||{},t=e.defaultThemeIndex||0,a=e.userThemes||[];this._defaultThemeIndex=t,this._allThemes=a.concat(he)}_initDefaultTableTheme(){for(let e=0;e<this._allThemes.length;e++){const{name:t,style:a}=this._allThemes[e],r=new C.RangeThemeStyle(t,a);this._sheetRangeThemeModel.registerDefaultRangeTheme(r)}}dispose(){super.dispose(),this._allThemes=[],this._defaultThemeIndex=0}};K=Gt([z(0,u.Inject(m.TableManager)),z(1,u.Inject(C.SheetRangeThemeService)),z(2,u.Inject(C.SheetRangeThemeModel)),z(3,u.IConfigService)],K);var Xt=Object.getOwnPropertyDescriptor,zt=(n,e,t,a)=>{for(var r=a>1?void 0:a?Xt(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=o(r)||r);return r},Z=(n,e)=>(t,a)=>e(t,a,n);let ee=class extends u.Disposable{constructor(e,t,a,r){super();T(this,"_tableFilteredOutRows$",new N.BehaviorSubject(new Set));T(this,"tableFilteredOutRows$",this._tableFilteredOutRows$.asObservable());T(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(C.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=C.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 i of o)this.tableFilteredOutRows.add(i)})})}registerFilterChangeEvent(){this.disposeWithMe(this._tableManager.tableFilterChanged$.subscribe(e=>{var l;const{unitId:t,subUnitId:a,tableId:r}=e,s=(l=this._univerInstanceService.getUnit(t))==null?void 0:l.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(c=>{const g=c.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()}};ee=zt([Z(0,u.Inject(m.TableManager)),Z(1,u.Inject(C.SheetInterceptorService)),Z(2,u.Inject(u.IUniverInstanceService)),Z(3,u.Inject(C.ZebraCrossingCacheController))],ee);var Kt=Object.getOwnPropertyDescriptor,Zt=(n,e,t,a)=>{for(var r=a>1?void 0:a?Kt(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);m.UniverSheetsTablePlugin=(te=class extends u.Plugin{constructor(e=ce,t,a,r){super(),this._config=e,this._injector=t,this._configService=a,this._commandService=r;const{...s}=u.merge({},ce,this._config);this._configService.setConfig(de,s),this._initRegisterCommand()}onStarting(){u.registerDependencies(this._injector,[[m.TableManager],[K],[m.SheetsTableController],[m.SheetTableService],[ee],[G],[X]]),u.touchDependencies(this._injector,[[G],[X],[K],[m.SheetsTableController],[m.SheetTableService],[ee]])}onReady(){u.touchDependencies(this._injector,[[m.TableManager]])}_initRegisterCommand(){[Re,$,we,B,Q,fe,Me,_,pe,ve,Fe,ye,De,Ne].forEach(e=>this._commandService.registerCommand(e))}},T(te,"pluginName",Ie),T(te,"type",u.UniverInstanceType.UNIVER_SHEET),te),m.UniverSheetsTablePlugin=Zt([se(1,u.Inject(u.Injector)),se(2,u.IConfigService),se(3,u.Inject(u.ICommandService))],m.UniverSheetsTablePlugin),m.AddSheetTableCommand=Re,m.AddSheetTableMutation=$,m.AddTableThemeCommand=pe,m.DeleteSheetTableCommand=we,m.DeleteSheetTableMutation=B,m.RemoveTableThemeCommand=ve,m.SHEET_TABLE_CUSTOM_THEME_PREFIX=_e,m.SetSheetTableCommand=Me,m.SetSheetTableFilterCommand=fe,m.SetSheetTableFilterMutation=Q,m.SetSheetTableMutation=_,m.SheetTableInsertColCommand=ye,m.SheetTableInsertRowCommand=Fe,m.SheetTableRemoveColCommand=Ne,m.SheetTableRemoveRowCommand=De,m.SheetsTableButtonStateEnum=A,m.SheetsTableSortStateEnum=L,m.TableColumnDataTypeEnum=ae,m.TableColumnFilterTypeEnum=V,m.TableConditionTypeEnum=O,m.TableDateCompareTypeEnum=S,m.TableNumberCompareTypeEnum=y,m.TableStringCompareTypeEnum=x,m.customEmptyThemeWithBorderStyle=$e,m.isConditionFilter=ue,m.isManualFilter=Ae,m.processStyleWithBorderStyle=Be,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})}));
3
3
 
4
4
 
5
5
  // @univerjs/sheets-table/facade
@@ -7,7 +7,7 @@
7
7
 
8
8
 
9
9
  // @univerjs/sheets-table-ui/index
10
- (function($,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("@univerjs/sheets-table"),require("@univerjs/sheets-ui"),require("@univerjs/ui"),require("rxjs"),require("react/jsx-runtime"),require("@univerjs/design"),require("@univerjs/sheets"),require("@univerjs/sheets-sort"),require("react"),require("@univerjs/engine-formula"),require("@univerjs/sheets-formula-ui")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","@univerjs/sheets-table","@univerjs/sheets-ui","@univerjs/ui","rxjs","react/jsx-runtime","@univerjs/design","@univerjs/sheets","@univerjs/sheets-sort","react","@univerjs/engine-formula","@univerjs/sheets-formula-ui"],s):($=typeof globalThis<"u"?globalThis:$||self,s($.UniverSheetsTableUi={},$.UniverCore,$.UniverEngineRender,$.UniverSheetsTable,$.UniverSheetsUi,$.UniverUi,$.rxjs,$.React,$.UniverDesign,$.UniverSheets,$.UniverSheetsSort,$.React,$.UniverEngineFormula,$.UniverSheetsFormulaUi))})(this,(function($,s,Y,a,Q,h,x,l,p,O,Ue,T,Ae,yt){"use strict";var Fn=Object.defineProperty;var Vn=($,s,Y)=>s in $?Fn($,s,{enumerable:!0,configurable:!0,writable:!0,value:Y}):$[s]=Y;var A=($,s,Y)=>Vn($,typeof s!="symbol"?s+"":s,Y);const Et="SHEET_TABLE_UI_PLUGIN",ae="SHEETS_TABLE_FILTER_PANEL_OPENED_KEY",It="UNIVER_SHEET_Table_FILTER_PANEL_ID",nt="TABLE_TOOLBAR_BUTTON",me="TABLE_SELECTOR_DIALOG",_t="SHEET_TABLE_THEME_PANEL_ID",rt="SHEET_TABLE_THEME_PANEL",je="table-custom-",wt="table-default-",ie="rgb(255, 255, 255)",G="none",Le="1px solid rgb(var(--grey-200))";var X=function(){return X=Object.assign||function(r){for(var e,t=1,n=arguments.length;t<n;t++){e=arguments[t];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(r[i]=e[i])}return r},X.apply(this,arguments)},Dt=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t},ee=T.forwardRef(function(r,e){var t=r.icon,n=r.id,i=r.className,o=r.extend,c=Dt(r,["icon","id","className","extend"]),u="univerjs-icon univerjs-icon-".concat(n," ").concat(i||"").trim(),d=T.useRef("_".concat(xt()));return at(t,"".concat(n),{defIds:t.defIds,idSuffix:d.current},X({ref:e,className:u},c),o)});function at(r,e,t,n,i){return T.createElement(r.tag,X(X({key:e},Mt(r,t,i)),n),(Nt(r,t).children||[]).map(function(o,c){return at(o,"".concat(e,"-").concat(r.tag,"-").concat(c),t,void 0,i)}))}function Mt(r,e,t){var n=X({},r.attrs);t!=null&&t.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=t.colorChannel1),r.tag==="mask"&&n.id&&(n.id=n.id+e.idSuffix),Object.entries(n).forEach(function(o){var c=o[0],u=o[1];c==="mask"&&typeof u=="string"&&(n[c]=u.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))});var i=e.defIds;return!i||i.length===0||(r.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+e.idSuffix),Object.entries(n).forEach(function(o){var c=o[0],u=o[1];typeof u=="string"&&(n[c]=u.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),n}function Nt(r,e){var t,n=e.defIds;return!n||n.length===0?r:r.tag==="defs"&&(!((t=r.children)===null||t===void 0)&&t.length)?X(X({},r),{children:r.children.map(function(i){return typeof i.attrs.id=="string"&&n&&n.includes(i.attrs.id)?X(X({},i),{attrs:X(X({},i.attrs),{id:i.attrs.id+e.idSuffix})}):i})}):r}function xt(){return Math.random().toString(36).substring(2,8)}ee.displayName="UniverIcon";var Lt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.4208 14.4667C12.4208 14.798 12.1522 15.0667 11.8208 15.0667C11.4895 15.0667 11.2208 14.798 11.2208 14.4667V2.98193L9.97861 4.22417C9.7443 4.45848 9.3644 4.45848 9.13008 4.22417C8.89577 3.98985 8.89577 3.60995 9.13008 3.37564L11.3967 1.10897C11.6311 0.874657 12.011 0.874657 12.2453 1.10897L14.5119 3.37564C14.7463 3.60995 14.7463 3.98985 14.5119 4.22417C14.2776 4.45848 13.8977 4.45848 13.6634 4.22417L12.4208 2.9816V14.4667Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.98967 10.2798C1.6583 10.2798 1.38967 10.0112 1.38967 9.67983C1.38967 9.34846 1.6583 9.07983 1.98967 9.07983H6.50138C6.74406 9.07983 6.96284 9.22602 7.05571 9.45022C7.14858 9.67443 7.09725 9.9325 6.92565 10.1041L3.43819 13.5916H6.50138C6.83276 13.5916 7.10138 13.8602 7.10138 14.1916C7.10138 14.5229 6.83276 14.7916 6.50138 14.7916H1.98967C1.74699 14.7916 1.52821 14.6454 1.43534 14.4212C1.34247 14.197 1.3938 13.9389 1.5654 13.7673L5.05286 10.2798H1.98967Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.1846 1.86439C4.8641 0.989866 3.62725 0.989866 3.30674 1.86439L1.34882 7.20672C1.23479 7.51786 1.39458 7.86252 1.70571 7.97655C2.01684 8.09058 2.3615 7.93079 2.47553 7.61966L3.06159 6.02055L3.06338 6.02056H5.42975L6.01581 7.61966C6.12984 7.93079 6.4745 8.09058 6.78563 7.97655C7.09677 7.86252 7.25655 7.51786 7.14252 7.20672L5.1846 1.86439ZM4.98996 4.82056L4.24567 2.78971L3.50138 4.82056H4.98996Z",fillRule:"evenodd",clipRule:"evenodd"}}]},it=T.forwardRef(function(r,e){return T.createElement(ee,Object.assign({},r,{id:"ascending-icon",ref:e,icon:Lt}))});it.displayName="AscendingIcon";var $t={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.3313 1.4667C5.3313 1.13533 5.59993 0.866699 5.9313 0.866699H10.069C10.4004 0.866699 10.669 1.13533 10.669 1.4667C10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.09985 3.64443C1.09985 3.31306 1.36848 3.04443 1.69985 3.04443H14.2999C14.6312 3.04443 14.8999 3.31306 14.8999 3.64443C14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M6.12398 8.30171C6.35829 8.0674 6.73819 8.0674 6.97251 8.30171L8.00007 9.32928L9.02764 8.30171C9.26195 8.0674 9.64185 8.0674 9.87617 8.30171C10.1105 8.53603 10.1105 8.91593 9.87617 9.15024L8.8486 10.1778L9.87617 11.2054C10.1105 11.4397 10.1105 11.8196 9.87617 12.0539C9.64185 12.2882 9.26195 12.2882 9.02764 12.0539L8.00007 11.0263L6.97251 12.0539C6.73819 12.2882 6.35829 12.2882 6.12398 12.0539C5.88966 11.8196 5.88966 11.4397 6.12398 11.2054L7.15154 10.1778L6.12398 9.15024C5.88966 8.91593 5.88966 8.53603 6.12398 8.30171Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.75332 5.22217C3.86966 5.22217 3.15332 5.93851 3.15332 6.82217V12.5331C3.15332 13.9691 4.31738 15.1332 5.75332 15.1332H10.2465C11.6825 15.1332 12.8465 13.9691 12.8465 12.5331V6.82217C12.8465 5.93851 12.1302 5.22217 11.2465 5.22217H4.75332ZM4.35332 6.82217C4.35332 6.60125 4.53241 6.42217 4.75332 6.42217H11.2465C11.4674 6.42217 11.6465 6.60125 11.6465 6.82217V12.5331C11.6465 13.3063 11.0197 13.9332 10.2465 13.9332H5.75332C4.98012 13.9332 4.35332 13.3063 4.35332 12.5331V6.82217Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ot=T.forwardRef(function(r,e){return T.createElement(ee,Object.assign({},r,{id:"delete-icon",ref:e,icon:$t}))});ot.displayName="DeleteIcon";var kt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.4208 1.53335C12.4208 1.20198 12.1522 0.93335 11.8208 0.93335C11.4895 0.93335 11.2208 1.20198 11.2208 1.53335V13.0181L9.97861 11.7758C9.7443 11.5415 9.3644 11.5415 9.13008 11.7758C8.89577 12.0101 8.89577 12.39 9.13008 12.6244L11.3967 14.891C11.6311 15.1253 12.011 15.1253 12.2453 14.891L14.5119 12.6244C14.7463 12.39 14.7463 12.0101 14.5119 11.7758C14.2776 11.5415 13.8977 11.5415 13.6634 11.7758L12.4208 13.0184V1.53335Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.98967 10.2798C1.6583 10.2798 1.38967 10.0112 1.38967 9.67983C1.38967 9.34846 1.6583 9.07983 1.98967 9.07983H6.50138C6.74406 9.07983 6.96284 9.22602 7.05571 9.45022C7.14858 9.67443 7.09725 9.9325 6.92565 10.1041L3.43819 13.5916H6.50138C6.83276 13.5916 7.10138 13.8602 7.10138 14.1916C7.10138 14.5229 6.83276 14.7916 6.50138 14.7916H1.98967C1.74699 14.7916 1.52821 14.6454 1.43534 14.4212C1.34247 14.197 1.3938 13.9389 1.5654 13.7673L5.05286 10.2798H1.98967Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.1846 1.86439C4.8641 0.989866 3.62725 0.989866 3.30674 1.86439L1.34882 7.20672C1.23479 7.51786 1.39458 7.86252 1.70571 7.97655C2.01684 8.09058 2.3615 7.93079 2.47553 7.61966L3.06159 6.02055L3.06338 6.02056H5.42975L6.01581 7.61966C6.12984 7.93079 6.4745 8.09058 6.78563 7.97655C7.09677 7.86252 7.25655 7.51786 7.14252 7.20672L5.1846 1.86439ZM4.98996 4.82056L4.24567 2.78971L3.50138 4.82056H4.98996Z",fillRule:"evenodd",clipRule:"evenodd"}}]},lt=T.forwardRef(function(r,e){return T.createElement(ee,Object.assign({},r,{id:"descending-icon",ref:e,icon:kt}))});lt.displayName="DescendingIcon";var Ot={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.85869 12.9216C8.38445 13.4708 7.61555 13.4708 7.14131 12.9216L0.358114 5.06726C-0.406895 4.18144 0.134916 2.66683 1.2168 2.66683L14.7832 2.66683C15.8651 2.66683 16.4069 4.18144 15.6419 5.06726L8.85869 12.9216Z"}}]},Ce=T.forwardRef(function(r,e){return T.createElement(ee,Object.assign({},r,{id:"dropdown-icon",ref:e,icon:Ot}))});Ce.displayName="DropdownIcon";var Pt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.33333 3.33333V6H6V3.33333H3.33333ZM2 3.238C2 2.55427 2.55427 2 3.238 2H6.09533C6.77906 2 7.33333 2.55427 7.33333 3.238V6.09533C7.33333 6.77906 6.77906 7.33333 6.09533 7.33333H3.238C2.55427 7.33333 2 6.77906 2 6.09533V3.238ZM10 3.33333V6H12.6667V3.33333H10ZM8.66667 3.238C8.66667 2.55427 9.22094 2 9.90467 2H12.762C13.4457 2 14 2.55427 14 3.238V6.09533C14 6.77906 13.4457 7.33333 12.762 7.33333H9.90467C9.22094 7.33333 8.66667 6.77906 8.66667 6.09533V3.238ZM3.33333 10V12.6667H6V10H3.33333ZM2 9.90467C2 9.22094 2.55427 8.66667 3.238 8.66667H6.09533C6.77906 8.66667 7.33333 9.22094 7.33333 9.90467V12.762C7.33333 13.4457 6.77906 14 6.09533 14H3.238C2.55427 14 2 13.4457 2 12.762V9.90467ZM10 10V12.6667H12.6667V10H10ZM8.66667 9.90467C8.66667 9.22094 9.22094 8.66667 9.90467 8.66667H12.762C13.4457 8.66667 14 9.22094 14 9.90467V12.762C14 13.4457 13.4457 14 12.762 14H9.90467C9.22094 14 8.66667 13.4457 8.66667 12.762V9.90467Z",fillRule:"evenodd",clipRule:"evenodd"}}]},st=T.forwardRef(function(r,e){return T.createElement(ee,Object.assign({},r,{id:"grid-outline-icon",ref:e,icon:Pt}))});st.displayName="GridOutlineIcon";var Bt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M11.3536 6.14645C11.5488 6.34171 11.5488 6.65829 11.3536 6.85355L8.35355 9.85355C8.15829 10.0488 7.84171 10.0488 7.64645 9.85355L4.64645 6.85355C4.45118 6.65829 4.45118 6.34171 4.64645 6.14645C4.84171 5.95118 5.15829 5.95118 5.35355 6.14645L8 8.79289L10.6464 6.14645C10.8417 5.95118 11.1583 5.95118 11.3536 6.14645Z",fillRule:"evenodd",clipRule:"evenodd"}}]},We=T.forwardRef(function(r,e){return T.createElement(ee,Object.assign({},r,{id:"more-down-icon",ref:e,icon:Bt}))});We.displayName="MoreDownIcon";var Rt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.01281 1.36643C8.79386 0.585377 10.0602 0.585378 10.8412 1.36643L12.9223 3.44752C13.7034 4.22857 13.7034 5.4949 12.9223 6.27595L9.36445 9.83383C8.5834 10.6149 7.31707 10.6149 6.53602 9.83383L4.45493 7.75273C3.67388 6.97168 3.67388 5.70535 4.45493 4.9243L8.01281 1.36643ZM9.9927 2.21495C9.68028 1.90253 9.17375 1.90253 8.86133 2.21495L5.30346 5.77283L5.29671 5.77966L10.839 6.66224L12.0738 5.42742C12.3862 5.115 12.3862 4.60847 12.0738 4.29605L9.9927 2.21495Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.5179 9.48875C14.5179 9.99175 14.1101 10.3995 13.607 10.3995C13.1041 10.3995 12.6963 9.99175 12.6963 9.48875C12.6963 9.1773 13.0455 8.59966 13.3114 8.20487C13.4549 7.99177 13.7591 7.99177 13.9027 8.20486C14.1687 8.59965 14.5179 9.1773 14.5179 9.48875Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M1.98682 13.4992C1.98682 12.5603 2.74793 11.7992 3.68682 11.7992H14.2868C15.2257 11.7992 15.9868 12.5603 15.9868 13.4992V13.4992C15.9868 14.4381 15.2257 15.1992 14.2868 15.1992H3.68682C2.74793 15.1992 1.98682 14.4381 1.98682 13.4992V13.4992Z"}}]},ct=T.forwardRef(function(r,e){return T.createElement(ee,Object.assign({},r,{id:"paint-bucket-double-icon",ref:e,icon:Rt}))});ct.displayName="PaintBucketDoubleIcon";var Ft={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.80068 2.57257L7.27955 2.57256C7.61092 2.57256 7.87954 2.30393 7.87954 1.97256C7.87954 1.64119 7.61091 1.37256 7.27954 1.37256L3.80068 1.37257C2.36473 1.37257 1.20067 2.53665 1.20068 3.97259L1.20074 12.3001C1.20075 13.736 2.36481 14.9 3.80074 14.9H12.1282C13.5641 14.9 14.7282 13.736 14.7282 12.3V8.82116C14.7282 8.48979 14.4595 8.22116 14.1282 8.22116C13.7968 8.22116 13.5282 8.48979 13.5282 8.82116V12.3C13.5282 13.0732 12.9014 13.7 12.1282 13.7H3.80074C3.02754 13.7 2.40074 13.0732 2.40074 12.3001L2.40068 3.97258C2.40068 3.19938 3.02748 2.57257 3.80068 2.57257Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.0072 2.0955C13.0997 1.18757 11.6278 1.18794 10.7207 2.09632L6.17749 6.646C6.10294 6.72065 6.04543 6.81056 6.00889 6.90954L4.59817 10.7315C4.51713 10.951 4.57116 11.1977 4.73657 11.3633C4.90198 11.5288 5.14858 11.5831 5.36823 11.5023L9.20237 10.0916C9.30186 10.055 9.3922 9.99722 9.46714 9.92224L14.0073 5.37972C14.9139 4.47266 14.9138 3.00252 14.0072 2.0955ZM11.5698 2.94424C12.0083 2.50513 12.7198 2.50496 13.1585 2.94384C13.5968 3.38229 13.5968 4.09294 13.1585 4.53141L8.69127 9.00102L6.1742 9.92713L7.09912 7.42132L11.5698 2.94424Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ut=T.forwardRef(function(r,e){return T.createElement(ee,Object.assign({},r,{id:"rename-icon",ref:e,icon:Ft}))});ut.displayName="RenameIcon";var Vt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.7643 4.13354C1.7643 2.82523 2.82488 1.76465 4.13319 1.76465H11.8665C13.1748 1.76465 14.2354 2.82524 14.2354 4.13354V11.8669C14.2354 13.1752 13.1748 14.2358 11.8665 14.2358H4.13318C2.82488 14.2358 1.7643 13.1752 1.7643 11.8669V6.1462C1.76388 6.13711 1.76367 6.12797 1.76367 6.11878C1.76367 6.10959 1.76388 6.10045 1.7643 6.09136V4.13354ZM2.94652 6.70989V11.8669C2.94652 12.5222 3.47781 13.0535 4.13318 13.0535H5.52732V6.70989H2.94652ZM5.52732 5.52767H2.94652V4.13354C2.94652 3.47816 3.47781 2.94687 4.13319 2.94687H5.52732V5.52767ZM6.70954 6.70989V13.0535H11.8665C12.5219 13.0535 13.0532 12.5222 13.0532 11.8669V6.70989L6.70954 6.70989ZM13.0532 5.52767L6.70954 5.52767V2.94687H11.8665C12.5219 2.94687 13.0532 3.47816 13.0532 4.13354V5.52767Z",fillRule:"evenodd",clipRule:"evenodd"}}]},dt=T.forwardRef(function(r,e){return T.createElement(ee,Object.assign({},r,{id:"table-icon",ref:e,icon:Vt}))});dt.displayName="TableIcon";var oe=(r=>(r.Items="items",r.Condition="condition",r))(oe||{}),Ht=Object.getOwnPropertyDescriptor,Ut=(r,e,t,n)=>{for(var i=n>1?void 0:n?Ht(e,t):e,o=r.length-1,c;o>=0;o--)(c=r[o])&&(i=c(i)||i);return i},fe=(r,e)=>(t,n)=>e(t,n,r);let he=class extends s.Disposable{constructor(e,t,n,i,o){super();A(this,"_itemsCache",new Map);this._tableManager=e,this._sheetTableService=t,this._univerInstanceService=n,this._commandService=i,this._localeService=o,this._registerTableFilterChangeEvent()}_registerTableFilterChangeEvent(){this._commandService.onCommandExecuted(e=>{if(e.id===O.SetRangeValuesMutation.id){const{unitId:t,subUnitId:n,cellValue:i}=e.params,o=this._tableManager.getTablesBySubunitId(t,n);if(!o.length)return;new s.ObjectMatrix(i).forValue((u,d,m)=>{const v=s.cellToRange(u,d),b=o.find(y=>{const w=y.getTableFilterRange();return s.Rectangle.intersects(w,v)});if(b){const y=d-b.getRange().startColumn;this._itemsCache.delete(b.getId()+y)}})}else if(e.id===a.SetSheetTableFilterCommand.id){const{unitId:t,tableId:n}=e.params,i=this._tableManager.getTable(t,n);if(!i)return;const o=i.getSubunitId();this._tableManager.getTablesBySubunitId(t,o).forEach(u=>{const d=u.getRange();for(let m=d.startColumn;m<=d.endColumn;m++)this._itemsCache.delete(u.getId()+m)})}})}getTableFilterPanelInitProps(e,t,n,i){const o=this._tableManager.getTable(e,n),c=o.getRange(),u=o.getTableFilterColumn(i-c.startColumn);return{unitId:e,subUnitId:t,tableFilter:u,currentFilterBy:a.isConditionFilter(u)?oe.Condition:oe.Items,tableId:n,columnIndex:i-c.startColumn}}getTableFilterCheckedItems(e,t,n){const i=this._tableManager.getTable(e,t),o=[];if(i){const c=i.getTableFilterColumn(n);c&&a.isManualFilter(c)&&o.push(...c.values)}return o}setTableFilter(e,t,n,i){if(!this._tableManager.getTable(e,t))return;const c={unitId:e,tableId:t,column:n,tableFilter:i};this._commandService.executeCommand(a.SetSheetTableFilterCommand.id,c)}getTableFilterItems(e,t,n,i){var k;if(this._itemsCache.has(n+i))return this._itemsCache.get(n+i)||{data:[],itemsCountMap:new Map,allItemsCount:0};const o=this._tableManager.getTable(e,n);if(!o)return{data:[],itemsCountMap:new Map,allItemsCount:0};const c=o.getTableFilterRange(),{startRow:u,endRow:d,startColumn:m}=c,v=m+i,b=(k=this._univerInstanceService.getUnit(e))==null?void 0:k.getSheetBySheetId(t);if(!b)return{data:[],itemsCountMap:new Map,allItemsCount:0};const y=[],w=new Map;let I=0;for(let E=u;E<=d;E++){if(b.isRowFiltered(E))continue;let D=this._sheetTableService.getCellValueWithConditionType(b,E,v);D===void 0&&(D=this._localeService.t("sheets-table.condition.empty")),w.has(D)||y.push({title:D,key:`${v}_${E}`,leaf:!0}),I++,w.set(D,(w.get(D)||0)+1)}return this._itemsCache.set(n+i,{data:y,itemsCountMap:w,allItemsCount:I}),{data:y,itemsCountMap:w,allItemsCount:I}}};he=Ut([fe(0,s.Inject(a.TableManager)),fe(1,s.Inject(a.SheetTableService)),fe(2,s.Inject(s.IUniverInstanceService)),fe(3,s.ICommandService),fe(4,s.Inject(s.LocaleService))],he);var j=(r=>(r.DatePicker="DatePicker",r.DateRange="DateRange",r.Input="Input",r.Inputs="Inputs",r.Select="Select",r.None="None",r))(j||{});function At(r){const t=r.get(s.LocaleService).t;return[{value:a.TableConditionTypeEnum.String,label:t(`sheets-table.condition.${a.TableConditionTypeEnum.String}`),children:[{value:a.TableStringCompareTypeEnum.Equal,label:t(`sheets-table.string.compare.${a.TableStringCompareTypeEnum.Equal}`)},{value:a.TableStringCompareTypeEnum.NotEqual,label:t(`sheets-table.string.compare.${a.TableStringCompareTypeEnum.NotEqual}`)},{value:a.TableStringCompareTypeEnum.Contains,label:t(`sheets-table.string.compare.${a.TableStringCompareTypeEnum.Contains}`)},{value:a.TableStringCompareTypeEnum.NotContains,label:t(`sheets-table.string.compare.${a.TableStringCompareTypeEnum.NotContains}`)},{value:a.TableStringCompareTypeEnum.StartsWith,label:t(`sheets-table.string.compare.${a.TableStringCompareTypeEnum.StartsWith}`)},{value:a.TableStringCompareTypeEnum.EndsWith,label:t(`sheets-table.string.compare.${a.TableStringCompareTypeEnum.EndsWith}`)}]},{value:a.TableConditionTypeEnum.Number,label:t(`sheets-table.condition.${a.TableConditionTypeEnum.Number}`),children:[{value:a.TableNumberCompareTypeEnum.Equal,label:t(`sheets-table.number.compare.${a.TableNumberCompareTypeEnum.Equal}`)},{value:a.TableNumberCompareTypeEnum.NotEqual,label:t(`sheets-table.number.compare.${a.TableNumberCompareTypeEnum.NotEqual}`)},{value:a.TableNumberCompareTypeEnum.GreaterThan,label:t(`sheets-table.number.compare.${a.TableNumberCompareTypeEnum.GreaterThan}`)},{value:a.TableNumberCompareTypeEnum.GreaterThanOrEqual,label:t(`sheets-table.number.compare.${a.TableNumberCompareTypeEnum.GreaterThanOrEqual}`)},{value:a.TableNumberCompareTypeEnum.LessThan,label:t(`sheets-table.number.compare.${a.TableNumberCompareTypeEnum.LessThan}`)},{value:a.TableNumberCompareTypeEnum.LessThanOrEqual,label:t(`sheets-table.number.compare.${a.TableNumberCompareTypeEnum.LessThanOrEqual}`)},{value:a.TableNumberCompareTypeEnum.Between,label:t(`sheets-table.number.compare.${a.TableNumberCompareTypeEnum.Between}`)},{value:a.TableNumberCompareTypeEnum.NotBetween,label:t(`sheets-table.number.compare.${a.TableNumberCompareTypeEnum.NotBetween}`)},{value:a.TableNumberCompareTypeEnum.Above,label:t(`sheets-table.number.compare.${a.TableNumberCompareTypeEnum.Above}`)},{value:a.TableNumberCompareTypeEnum.Below,label:t(`sheets-table.number.compare.${a.TableNumberCompareTypeEnum.Below}`)}]},{value:a.TableConditionTypeEnum.Date,label:t(`sheets-table.condition.${a.TableConditionTypeEnum.Date}`),children:[{value:a.TableDateCompareTypeEnum.Equal,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.Equal}`)},{value:a.TableDateCompareTypeEnum.NotEqual,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.NotEqual}`)},{value:a.TableDateCompareTypeEnum.After,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.After}`)},{value:a.TableDateCompareTypeEnum.AfterOrEqual,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.AfterOrEqual}`)},{value:a.TableDateCompareTypeEnum.Before,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.Before}`)},{value:a.TableDateCompareTypeEnum.BeforeOrEqual,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.BeforeOrEqual}`)},{value:a.TableDateCompareTypeEnum.Between,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.Between}`)},{value:a.TableDateCompareTypeEnum.NotBetween,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.NotBetween}`)},{value:a.TableDateCompareTypeEnum.Today,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.Today}`)},{value:a.TableDateCompareTypeEnum.Yesterday,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.Yesterday}`)},{value:a.TableDateCompareTypeEnum.Tomorrow,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.Tomorrow}`)},{value:a.TableDateCompareTypeEnum.ThisWeek,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.ThisWeek}`)},{value:a.TableDateCompareTypeEnum.LastWeek,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.LastWeek}`)},{value:a.TableDateCompareTypeEnum.NextWeek,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.NextWeek}`)},{value:a.TableDateCompareTypeEnum.ThisMonth,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.ThisMonth}`)},{value:a.TableDateCompareTypeEnum.LastMonth,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.LastMonth}`)},{value:a.TableDateCompareTypeEnum.NextMonth,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.NextMonth}`)},{value:a.TableDateCompareTypeEnum.ThisYear,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.ThisYear}`)},{value:a.TableDateCompareTypeEnum.LastYear,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.LastYear}`)},{value:a.TableDateCompareTypeEnum.NextYear,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.NextYear}`)},{value:a.TableDateCompareTypeEnum.Quarter,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.Quarter}`)},{value:a.TableDateCompareTypeEnum.Month,label:t(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.Month}`)}]}]}function jt(r,e){if(!e)return[];const n=r.get(s.LocaleService).t;switch(e){case a.TableDateCompareTypeEnum.Quarter:return[{value:a.TableDateCompareTypeEnum.Q1,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.Q1}`)},{value:a.TableDateCompareTypeEnum.Q2,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.Q2}`)},{value:a.TableDateCompareTypeEnum.Q3,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.Q3}`)},{value:a.TableDateCompareTypeEnum.Q4,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.Q4}`)}];case a.TableDateCompareTypeEnum.Month:return[{value:a.TableDateCompareTypeEnum.M1,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.M1}`)},{value:a.TableDateCompareTypeEnum.M2,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.M2}`)},{value:a.TableDateCompareTypeEnum.M3,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.M3}`)},{value:a.TableDateCompareTypeEnum.M4,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.M4}`)},{value:a.TableDateCompareTypeEnum.M5,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.M5}`)},{value:a.TableDateCompareTypeEnum.M6,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.M6}`)},{value:a.TableDateCompareTypeEnum.M7,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.M7}`)},{value:a.TableDateCompareTypeEnum.M8,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.M8}`)},{value:a.TableDateCompareTypeEnum.M9,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.M9}`)},{value:a.TableDateCompareTypeEnum.M10,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.M10}`)},{value:a.TableDateCompareTypeEnum.M11,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.M11}`)},{value:a.TableDateCompareTypeEnum.M12,label:n(`sheets-table.date.compare.${a.TableDateCompareTypeEnum.M12}`)}];default:return[]}}const Ze=new Set([a.TableDateCompareTypeEnum.Equal,a.TableDateCompareTypeEnum.NotEqual,a.TableDateCompareTypeEnum.After,a.TableDateCompareTypeEnum.AfterOrEqual,a.TableDateCompareTypeEnum.Before,a.TableDateCompareTypeEnum.BeforeOrEqual]);function Wt(r,e){return e?r===a.TableConditionTypeEnum.String?j.Input:r===a.TableConditionTypeEnum.Number?e===a.TableNumberCompareTypeEnum.Between||e===a.TableNumberCompareTypeEnum.NotBetween?j.Inputs:j.Input:r===a.TableConditionTypeEnum.Date?e===a.TableDateCompareTypeEnum.Between||e===a.TableDateCompareTypeEnum.NotBetween?j.DateRange:e===a.TableDateCompareTypeEnum.Quarter||e===a.TableDateCompareTypeEnum.Month?j.Select:Ze.has(e)?j.DatePicker:j.None:j.None:j.None}function Zt(r){if(!r||r.filterType!=="condition")return{type:a.TableConditionTypeEnum.String,compareType:a.TableStringCompareTypeEnum.Equal,info:{}};const e=r.filterInfo,{conditionType:t,compareType:n}=e;if(t===a.TableConditionTypeEnum.Date)if(n===a.TableDateCompareTypeEnum.Between||n===a.TableDateCompareTypeEnum.NotBetween){let i;return Array.isArray(e.expectedValue)&&(i=e.expectedValue.map(o=>typeof o=="string"?new Date(o):o)),{type:t,compare:n,info:{dateRange:i}}}else{if(n===a.TableDateCompareTypeEnum.Today||n===a.TableDateCompareTypeEnum.Yesterday||n===a.TableDateCompareTypeEnum.Tomorrow||n===a.TableDateCompareTypeEnum.ThisWeek||n===a.TableDateCompareTypeEnum.LastWeek||n===a.TableDateCompareTypeEnum.NextWeek||n===a.TableDateCompareTypeEnum.ThisMonth||n===a.TableDateCompareTypeEnum.LastMonth||n===a.TableDateCompareTypeEnum.NextMonth||n===a.TableDateCompareTypeEnum.ThisYear||n===a.TableDateCompareTypeEnum.LastYear||n===a.TableDateCompareTypeEnum.NextYear)return{type:t,compare:n,info:{}};if(Ze.has(n)){let i;if(typeof e.expectedValue=="string")i=new Date(e.expectedValue);else if(Array.isArray(e.expectedValue))for(let o=0;o<e.expectedValue.length;o++)typeof e.expectedValue[o]=="string"&&(e.expectedValue[o]=new Date(e.expectedValue[o]));return{type:t,compare:n,info:{date:i}}}else return new Set([a.TableDateCompareTypeEnum.Q1,a.TableDateCompareTypeEnum.Q2,a.TableDateCompareTypeEnum.Q3,a.TableDateCompareTypeEnum.Q4]).has(n)?{type:t,compare:a.TableDateCompareTypeEnum.Quarter,info:{dateSelect:e.compareType}}:{type:t,compare:a.TableDateCompareTypeEnum.Month,info:{dateSelect:e.compareType}}}else{if(t===a.TableConditionTypeEnum.Number)return n===a.TableNumberCompareTypeEnum.Between||n===a.TableNumberCompareTypeEnum.NotBetween?{type:t,compare:n,info:{numberRange:e.expectedValue}}:{type:t,compare:n,info:{number:e.expectedValue}};if(t===a.TableConditionTypeEnum.String)return{type:t,compare:n,info:{string:e.expectedValue}}}return{type:a.TableConditionTypeEnum.String,compare:a.TableStringCompareTypeEnum.Equal,info:{}}}const qt=r=>{var w,I,k,E,P,D,V,N;const{conditionInfo:e,onChange:t}=r,n=h.useDependency(s.LocaleService),[i,o]=T.useState(!1),c=h.useDependency(s.Injector),u=At(c),d=(g,L,M)=>{t({type:L!=null?L:e.type,compare:M!=null?M:e.compare,info:g})},m=g=>{var F;const L=g[0],M=g[1];M&&o(!1);const f={};L===a.TableConditionTypeEnum.Date?M===a.TableDateCompareTypeEnum.Quarter?f.dateSelect=a.TableDateCompareTypeEnum.Q1:M===a.TableDateCompareTypeEnum.Month?f.dateSelect=a.TableDateCompareTypeEnum.M1:Ze.has(M)?f.date=new Date:f.dateRange=[new Date,new Date]:L===a.TableConditionTypeEnum.Number?f.number=0:L===a.TableConditionTypeEnum.String&&(f.string=""),d(f,g[0],(F=g[1])!=null?F:a.TableStringCompareTypeEnum.Equal)},v=Wt(e.type,e.compare);let b="";e.compare?b=`${n.t(`sheets-table.condition.${e.type}`)} - ${n.t(`sheets-table.${e.type}.compare.${e.compare}`)}`:b=n.t(`sheets-table.condition.${e.type}`);const y=jt(c,e.compare);return l.jsxs("div",{children:[l.jsx(p.Dropdown,{align:"start",open:i,onOpenChange:o,overlay:l.jsx(p.CascaderList,{value:[e.type,e.compare],options:u,onChange:m,contentClassName:"univer-flex-1",wrapperClassName:"!univer-h-[150px]"}),children:l.jsxs("div",{className:p.clsx("univer-box-border univer-flex univer-h-8 univer-w-full univer-items-center univer-justify-between univer-rounded-md univer-bg-white univer-px-2 univer-text-sm univer-transition-colors univer-duration-200 hover:univer-border-primary-600 focus:univer-border-primary-600 focus:univer-outline-none focus:univer-ring-2 dark:!univer-bg-gray-700 dark:!univer-text-white",p.borderClassName),children:[l.jsx("span",{children:b}),l.jsx(We,{})]})}),l.jsxs("div",{className:"univer-mt-3 univer-w-full",children:[v===j.Input&&l.jsx(l.Fragment,{children:e.type===a.TableConditionTypeEnum.String?l.jsx(p.Input,{className:"univer-w-full",placeholder:"请输入",value:e.info.string,onChange:g=>d({string:g})}):l.jsx(p.InputNumber,{className:"univer-h-7 univer-w-full",value:e.info.number,controls:!1,onChange:g=>{g!==null&&d({number:g})}})}),v===j.DatePicker&&l.jsx("div",{id:"univer-table-date-picker-wrapper",children:l.jsx(p.DatePicker,{className:"univer-w-full",value:(w=e.info.date)!=null?w:new Date,onValueChange:g=>d({date:g})})}),v===j.DateRange&&l.jsx("div",{id:"univer-table-date-range-wrapper",children:l.jsx(p.DateRangePicker,{className:"univer-w-full",value:[(k=(I=e.info.dateRange)==null?void 0:I[0])!=null?k:new Date,(P=(E=e.info.dateRange)==null?void 0:E[1])!=null?P:new Date],onValueChange:g=>{d(g?{dateRange:g}:{})}})}),v===j.Inputs&&l.jsxs("div",{className:"univer-flex univer-items-center univer-gap-2",children:[l.jsx(p.InputNumber,{className:"univer-w-full",value:(D=e.info.numberRange)==null?void 0:D[0],onChange:g=>{var L;g!==null&&d({numberRange:[g,(L=e.info.numberRange)==null?void 0:L[1]]})},controls:!1}),l.jsx("span",{children:" - "}),l.jsx(p.InputNumber,{className:"univer-w-full",value:(V=e.info.numberRange)==null?void 0:V[1],controls:!1,onChange:g=>{var L;g!==null&&d({numberRange:[(L=e.info.numberRange)==null?void 0:L[0],g]})}})]}),v===j.Select&&l.jsx(p.Select,{className:"univer-w-full",value:(N=e.info.dateSelect)!=null?N:y[0].value,options:y,onChange:g=>d({dateSelect:g})})]})]})},Yt=r=>{let e=0;return r.forEach(t=>{e+=t}),e};function Qt(r){const{unitId:e,tableId:t,subUnitId:n,columnIndex:i,checkedItemSet:o,setCheckedItemSet:c,tableFilter:u}=r,d=h.useDependency(s.LocaleService),m=h.useDependency(he),{data:v,itemsCountMap:b,allItemsCount:y}=m.getTableFilterItems(e,n,t,i),[w,I]=T.useState(u===void 0?!0:o.size===b.size),[k,E]=T.useState(w?y:Yt(b)),P=!w&&o.size>0,[D,V]=T.useState(""),N=T.useMemo(()=>D?v.filter(f=>String(f.title).toLowerCase().includes(D.toLowerCase())):v,[D,v]),g=T.useCallback(()=>{w?(o.clear(),c(new Set(o)),I(!1)):(N.forEach(f=>{o.add(f.title)}),c(new Set(o)),I(!0))},[w]),L=T.useCallback(f=>{f===""?(I(!0),v.forEach(F=>{o.add(F.title)}),E(y)):(o.clear(),I(!1),E(0)),V(f)},[]),M=f=>{if(w){I(!1);const F=new Set;for(const{title:B}of v)f!==B&&F.add(B);E(y-b.get(f)),c(F)}else o.has(f)?(o.delete(f),E(k-b.get(f))):(o.add(f),E(k+b.get(f))),c(new Set(o))};return l.jsxs("div",{className:"univer-flex univer-h-full univer-flex-col",children:[l.jsx(p.Input,{autoFocus:!0,value:D,placeholder:d.t("sheets-table.filter.search-placeholder"),onChange:L}),l.jsx("div",{className:p.clsx("univer-mt-2 univer-box-border univer-flex univer-h-[180px] univer-max-h-[180px] univer-flex-grow univer-flex-col univer-overflow-hidden univer-rounded-md univer-py-1.5 univer-pl-2",p.borderClassName),children:l.jsx("div",{className:p.clsx("univer-h-40 univer-overflow-y-auto univer-py-1 univer-pl-2",p.scrollbarClassName),children:l.jsxs("div",{className:"univer-h-full",children:[l.jsx("div",{className:"univer-flex univer-items-center univer-px-2 univer-py-1",children:l.jsx(p.Checkbox,{indeterminate:P,disabled:v.length===0,checked:w,onChange:g,children:l.jsxs("div",{className:"univer-flex univer-h-5 univer-flex-1 univer-items-center univer-text-sm",children:[l.jsx("span",{className:"univer-inline-block univer-truncate",children:`${d.t("sheets-table.filter.select-all")}`}),l.jsx("span",{className:"univer-ml univer-text-gray-400",children:`(${k}/${D?N.length:y})`})]})})}),N.map(f=>l.jsx("div",{className:"univer-flex univer-items-center univer-px-2 univer-py-1",children:l.jsx(p.Checkbox,{checked:w||o.has(f.title),onChange:()=>{M(f.title)},children:l.jsxs("div",{className:"univer-flex univer-h-5 univer-flex-1 univer-text-sm",children:[l.jsx("span",{className:"univer-inline-block univer-truncate",children:f.title}),l.jsx("span",{className:"univer-ml-1 univer-text-gray-400",children:`(${b.get(f.title)||0})`})]})})},f.key))]})})})]})}function Gt(){var ce;const r=h.useDependency(s.LocaleService),e=Xt(r),t=h.useDependency(he),n=h.useDependency(a.TableManager),i=h.useDependency(s.ICommandService),o=h.useDependency(s.IPermissionService),c=h.useDependency(be),u=c.getCurrentTableFilterInfo(),d=t.getTableFilterPanelInitProps(u.unitId,u.subUnitId,u.tableId,u.column),{unitId:m,subUnitId:v,tableId:b,tableFilter:y,currentFilterBy:w,columnIndex:I}=d,{data:k}=t.getTableFilterItems(m,v,b,I),E=t.getTableFilterCheckedItems(m,b,I),[P,D]=T.useState(new Set(E)),[V,N]=T.useState(w||oe.Items),[g,L]=T.useState(()=>{const C=d.tableFilter;return Zt(C)}),M=n.getTable(m,b);if(!M)return null;const f=M.getTableFilters(),F=f.getSortState();F.columnIndex===I&&(F.sortState,a.SheetsTableSortStateEnum.Asc),F.columnIndex===I&&(F.sortState,a.SheetsTableSortStateEnum.Desc);const B=()=>{c.closeFilterPanel()},Z=()=>{B()},H=C=>{const R=M.getTableFilterRange();i.executeCommand(Ue.SortRangeCommand.id,{unitId:m,subUnitId:v,range:R,orderRules:[{colIndex:I+R.startColumn,type:C?Ue.SortType.ASC:Ue.SortType.DESC}],hasTitle:!1}),f.setSortState(I,C?a.SheetsTableSortStateEnum.Asc:a.SheetsTableSortStateEnum.Desc),B()},K=()=>{if(V===oe.Items){const C=[];for(const q of k)P.has(q.title)&&C.push(q.title);const R=M.getTableFilterColumn(I);if(R){if(R.values.join(",")===C.join(",")){B();return}}else if(C.length===0){B();return}const U={filterType:a.TableColumnFilterTypeEnum.manual,values:C};t.setTableFilter(m,b,I,U)}else{let C;g.compare===a.TableDateCompareTypeEnum.Quarter||g.compare===a.TableDateCompareTypeEnum.Month?C={conditionType:g.type,compareType:Object.values(g.info)[0]}:C={conditionType:g.type,compareType:g.compare,expectedValue:Object.values(g.info)[0]};const R={filterType:a.TableColumnFilterTypeEnum.condition,filterInfo:C};t.setTableFilter(m,b,I,R)}B()},le=()=>{t.setTableFilter(m,b,I,void 0),B()},se=new O.WorkbookEditablePermission(m).id,de=(ce=o.getPermissionPoint(se))==null?void 0:ce.value;return l.jsxs("div",{className:"univer-box-border univer-flex univer-min-w-[312px] univer-flex-col univer-rounded-[10px] univer-bg-white univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-700",children:[de&&l.jsx("div",{className:"univer-mb-3 univer-flex",children:l.jsxs(p.ButtonGroup,{className:"univer-mb-3 !univer-flex univer-w-full",children:[l.jsxs(p.Button,{className:"univer-w-1/2",onClick:()=>H(!0),children:[l.jsx(it,{className:"univer-mr-1"}),r.t("sheets-sort.general.sort-asc")]}),l.jsxs(p.Button,{className:"univer-w-1/2",onClick:()=>H(!1),children:[l.jsx(lt,{className:"univer-mr-1"}),r.t("sheets-sort.general.sort-desc")]})]})}),l.jsx("div",{className:"univer-w-full",children:l.jsx(p.Segmented,{value:V,items:e,onChange:C=>N(C)})}),l.jsx("div",{className:"univer-z-10 univer-h-60",children:l.jsx("div",{className:"univer-mt-3 univer-h-full univer-w-full",children:V===oe.Items?l.jsx(Qt,{tableFilter:y,unitId:m,subUnitId:v,tableId:b,columnIndex:I,checkedItemSet:P,setCheckedItemSet:D}):l.jsx(qt,{tableFilter:y,unitId:m,subUnitId:v,tableId:b,columnIndex:I,conditionInfo:g,onChange:L})})}),l.jsxs("div",{className:"univer-flex-wrap-nowrap univer-mt-4 univer-inline-flex univer-flex-shrink-0 univer-flex-grow-0 univer-justify-between univer-gap-6 univer-overflow-hidden",children:[l.jsx(p.Button,{disabled:y===void 0,onClick:le,children:r.t("sheets-table.filter.clear-filter")}),l.jsxs("div",{children:[l.jsx(p.Button,{className:"univer-mr-2",onClick:Z,children:r.t("sheets-table.filter.cancel")}),l.jsx(p.Button,{variant:"primary",onClick:K,children:r.t("sheets-table.filter.confirm")})]})]})]})}function Xt(r){const e=r.getCurrentLocale();return T.useMemo(()=>[{label:r.t("sheets-table.filter.by-values"),value:oe.Items},{label:r.t("sheets-table.filter.by-conditions"),value:oe.Condition}],[e,r])}var Kt=Object.getOwnPropertyDescriptor,zt=(r,e,t,n)=>{for(var i=n>1?void 0:n?Kt(e,t):e,o=r.length-1,c;o>=0;o--)(c=r[o])&&(i=c(i)||i);return i},$e=(r,e)=>(t,n)=>e(t,n,r);let be=class extends s.Disposable{constructor(e,t,n,i){super();A(this,"_popupDisposable");A(this,"_currentTableFilterInfo",null);this._componentManager=e,this._contextService=t,this._sheetCanvasPopupService=n,this._dialogService=i,this._initComponents(),this._initUIPopup()}setCurrentTableFilterInfo(e){this._currentTableFilterInfo=e}clearCurrentTableFilterInfo(){this._currentTableFilterInfo=null}getCurrentTableFilterInfo(){return this._currentTableFilterInfo}_initComponents(){[[ae,Gt]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initUIPopup(){this.disposeWithMe(this._contextService.subscribeContextValue$(ae).pipe(x.startWith(void 0),x.distinctUntilChanged()).subscribe(e=>{e?this._openFilterPopup():e===!1&&this._closeFilterPopup()}))}closeFilterPanel(){this._contextService.setContextValue(ae,!1)}_openFilterPopup(){const e=this._currentTableFilterInfo;if(!e)throw new Error("[SheetsFilterUIController]: no filter model when opening filter popup!");const{row:t,column:n}=e;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(t,n,{componentKey:ae,direction:"horizontal",onClickOutside:()=>{this._dialogService.close(It),this._contextService.setContextValue(ae,!1)},offset:[5,0],portal:!0})}_closeFilterPopup(){var e;(e=this._popupDisposable)==null||e.dispose(),this._popupDisposable=null,this.clearCurrentTableFilterInfo()}};be=zt([$e(0,s.Inject(h.ComponentManager)),$e(1,s.IContextService),$e(2,s.Inject(Q.SheetCanvasPopManagerService)),$e(3,s.Inject(h.IDialogService))],be);const qe={type:s.CommandType.OPERATION,id:"sheet.operation.open-table-filter-panel",async handler(r,e){if(!e)return!1;const{row:t,col:n,unitId:i,subUnitId:o,tableId:c}=e,u=r.get(a.TableManager),d=r.get(s.IContextService),m=r.get(be);return u.getTable(i,c)?(d.getContextValue(ae)||(m.setCurrentTableFilterInfo({unitId:i,subUnitId:o,row:t,tableId:c,column:n}),d.setContextValue(ae,!0)),!0):!1}},Ye={type:s.CommandType.OPERATION,id:"sheet.operation.open-table-selector",async handler(r){var w;const e=r.get(s.IUniverInstanceService),t=r.get(s.ICommandService),n=O.getSheetCommandTarget(e);if(!n)return!1;const{unitId:i,subUnitId:o,worksheet:c}=n,d=r.get(O.SheetsSelectionsService).getCurrentLastSelection(),m=(w=d==null?void 0:d.range)!=null?w:{startRow:0,endRow:0,startColumn:0,endColumn:0},b=O.isSingleCellSelection(d)?O.expandToContinuousRange(m,{up:!0,left:!0,right:!0,down:!0},c):m,y=await pt(r,i,o,b);return y?(t.executeCommand(a.AddSheetTableCommand.id,{...y}),!0):!1}};async function pt(r,e,t,n,i){const o=r.get(h.IDialogService),c=r.get(s.LocaleService);return new Promise(u=>{const d={unitId:e,subUnitId:t,range:n,tableId:i,onConfirm:m=>{u(m),o.close(me)},onCancel:()=>{u(null),o.close(me)}};o.open({id:me,title:{title:c.t("sheets-table.selectRange")},draggable:!0,destroyOnClose:!0,mask:!1,maskClosable:!1,children:{label:{name:me,props:d}},width:300,onClose:()=>{u(null),o.close(me)}})})}const vt="sheets-table-ui.config",mt={anchorHeight:24,anchorBackgroundColor:"rgb(134,139,156)"};var Jt=Object.getOwnPropertyDescriptor,en=(r,e,t,n)=>{for(var i=n>1?void 0:n?Jt(e,t):e,o=r.length-1,c;o>=0;o--)(c=r[o])&&(i=c(i)||i);return i},tn=(r,e)=>(t,n)=>e(t,n,r);let ue=class extends s.Disposable{constructor(e){super();A(this,"_refreshTable",new x.Subject);A(this,"refreshTable$",this._refreshTable.asObservable());this._commandService=e,this._initListener()}_initListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===O.SetRangeThemeMutation.id){const t=e.params,{styleName:n}=t;n.startsWith(a.SHEET_TABLE_CUSTOM_THEME_PREFIX)&&this._refreshTable.next(Math.random())}}))}};ue=en([tn(0,s.Inject(s.ICommandService))],ue);const nn=()=>{var de,ce;const[r,e]=T.useState(""),[t,n]=T.useState(""),i=h.useDependency(h.ISidebarService),[o,c]=T.useState({}),u=h.useDependency(s.Injector),d=h.useDependency(ke),m=h.useObservable(d.anchorPosition$),v=h.useDependency(s.ICommandService),b=h.useDependency(s.IUniverInstanceService),y=h.useDependency(O.WorkbookPermissionService),w=h.useObservable(y.unitPermissionInitStateChange$,!1),I=h.useDependency(a.TableManager),k=h.useDependency(O.SheetRangeThemeModel),E=h.useDependency(ue),P=h.useObservable(E.refreshTable$),D=h.useDependency(s.LocaleService),V=h.useDependency(O.SheetsSelectionsService),N=h.useObservable(V.selectionChanged$,[{range:s.cellToRange(0,0),primary:null}]),[,g]=T.useState(Math.random()),M=h.useDependency(s.IConfigService).getConfig(vt),f=(de=M==null?void 0:M.anchorHeight)!=null?de:24,F=(ce=M==null?void 0:M.anchorBackgroundColor)!=null?ce:"rgb(53,91,183)",B=(C,R)=>{c(U=>({...U,[C]:R}))};if(T.useEffect(()=>{g(Math.random())},[P]),!(m!=null&&m.length))return null;const Z=O.getSheetCommandTarget(b);if(!Z)return null;const{unitId:H,subUnitId:K}=Z,le=(C,R)=>{var q;if(((q=I.getTableById(H,C))==null?void 0:q.getDisplayName())===R){e(""),n("");return}v.executeCommand(a.SetSheetTableCommand.id,{tableId:C,unitId:H,name:R}),n(""),e("")},se=async C=>{const R=I.getTableById(H,C);if(!R)return;const U=R.getRange(),q=await pt(u,H,K,U,C);q&&v.executeCommand(a.SetSheetTableCommand.id,{tableId:C,unitId:H,updateRange:{newRange:q.range}})};return w?l.jsx("div",{className:"univer-absolute univer-z-50 univer-h-0 univer-w-0",children:m.map(C=>{var Ee,Ie,S,_,z,J,re;const R=I.getTableById(H,C.tableId);if(!R)return null;const U=k.getRangeThemeStyle(H,R.getTableStyleId()),q=(S=(Ie=(Ee=U==null?void 0:U.getHeaderRowStyle())==null?void 0:Ee.bg)==null?void 0:Ie.rgb)!=null?S:F,Fe=(J=(z=(_=U==null?void 0:U.getHeaderRowStyle())==null?void 0:_.cl)==null?void 0:z.rgb)!=null?J:"rgb(255, 255, 255)",Ve=R.getRange();if(!(N!=null&&N.length))return null;const He=N[N.length-1].range,ye=!s.Rectangle.intersects(Ve,He)&&C.y<=20;return l.jsxs("div",{className:p.clsx("univer-shadow-xs univer-absolute univer-box-border univer-cursor-pointer univer-items-center univer-rounded-xl univer-pl-2 univer-pr-2",p.borderClassName,{"univer-flex":!ye,"univer-hidden":ye}),style:{left:C.x,top:Math.max(C.y,0),backgroundColor:q,color:Fe,borderWidth:"0.5px",height:f?`${f}px`:"24px"},children:[l.jsx("div",{className:"univer-text-nowrap",children:r===C.tableId?l.jsx(p.Input,{className:"univer-h-[18px] univer-min-w-16 univer-rounded-none",inputClass:"univer-h-[18px] univer-w-[80px]",value:t,onChange:W=>n(W),onBlur:()=>le(C.tableId,t),onKeyDown:W=>{W.key==="Enter"&&le(C.tableId,t)},autoFocus:r===C.tableId}):l.jsx("div",{className:"univer-h-[18px] univer-max-w-24 univer-truncate univer-text-sm",children:C.tableName})}),l.jsx(p.Dropdown,{align:"start",overlay:l.jsxs("div",{className:"univer-pb-2 univer-pt-2",children:[l.jsxs("div",{className:"univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center univer-gap-2 univer-pb-1 univer-pl-2 univer-pr-2 univer-pt-1 univer-text-sm hover:univer-bg-gray-200",onClick:()=>{e(C.tableId),n(C.tableName)},children:[l.jsx(ut,{}),D.t("sheets-table.rename")]}),l.jsx("div",{className:"univer-mb-1 univer-mt-1 univer-h-px univer-w-full univer-bg-gray-200"}),l.jsxs("div",{onClick:()=>se(C.tableId),className:"univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center univer-gap-2 univer-pb-1 univer-pl-2 univer-pr-2 univer-pt-1 univer-text-sm hover:univer-bg-gray-200",children:[l.jsx(st,{}),D.t("sheets-table.updateRange")]}),l.jsxs("div",{className:"univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center univer-gap-2 univer-pb-1 univer-pl-2 univer-pr-2 univer-pt-1 univer-text-sm hover:univer-bg-gray-200",onClick:()=>{B(C.tableId,!1);const W=I.getTableById(H,C.tableId);if(!W)return;const pe=W.getTableConfig(),ve={id:_t,header:{title:D.t("sheets-table.tableStyle")},children:{label:rt,oldConfig:pe,unitId:H,subUnitId:K,tableId:C.tableId},width:330};i.open(ve)},children:[l.jsx(ct,{extend:{colorChannel1:"rgb(53,91,183)"}}),D.t("sheets-table.setTheme")]}),l.jsx("div",{className:"univer-mb-1 univer-mt-1 univer-h-px univer-w-full univer-bg-gray-200"}),l.jsxs("div",{className:"univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center univer-pb-1 univer-pl-2 univer-pr-2 univer-pt-1 univer-text-sm hover:univer-bg-gray-200",onClick:()=>{B(C.tableId,!1),v.executeCommand(a.DeleteSheetTableCommand.id,{tableId:C.tableId,subUnitId:K,unitId:H})},children:[l.jsx(ot,{className:"univer-mr-2"}),D.t("sheets-table.removeTable")]})]}),open:(re=o[C.tableId])!=null?re:!1,onOpenChange:W=>{B(C.tableId,W)},children:l.jsx(We,{})},C.tableId)]},C.tableId)})}):null};var rn=Object.getOwnPropertyDescriptor,an=(r,e,t,n)=>{for(var i=n>1?void 0:n?rn(e,t):e,o=r.length-1,c;o>=0;o--)(c=r[o])&&(i=c(i)||i);return i},te=(r,e)=>(t,n)=>e(t,n,r);let ke=class extends s.Disposable{constructor(e,t,n,i,o,c,u,d,m,v,b){super();A(this,"_anchorVisible$",new x.BehaviorSubject(!0));A(this,"_timer");A(this,"_anchorPosition$",new x.BehaviorSubject([]));A(this,"anchorPosition$",this._anchorPosition$.asObservable());this._context=e,this._injector=t,this._sheetSkeletonManagerService=n,this._renderManagerService=i,this._commandService=o,this._univerInstanceService=c,this._uiPartsService=u,this._tableManager=d,this._scrollManagerService=m,this._workbookPermissionService=v,this._permissionService=b,this._initUI(),this._initListener(),this._initTableAnchor()}_initUI(){this.disposeWithMe(this._uiPartsService.registerComponent(h.BuiltInUIPart.CONTENT,()=>h.connectInjector(nn,this._injector)))}_initListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{(e.id===Q.SetZoomRatioOperation.id||e.id===Q.SetScrollOperation.id)&&(this._anchorVisible$.next(!1),this._timer&&clearTimeout(this._timer),this._timer=setTimeout(()=>{this._anchorVisible$.next(!0)},300))}))}_initTableAnchor(){this.disposeWithMe(x.merge(this._context.unit.activeSheet$,this._sheetSkeletonManagerService.currentSkeleton$,this._scrollManagerService.validViewportScrollInfo$,this._tableManager.tableAdd$,this._tableManager.tableDelete$,this._tableManager.tableNameChanged$,this._tableManager.tableRangeChanged$,this._tableManager.tableThemeChanged$,this._workbookPermissionService.unitPermissionInitStateChange$.pipe(x.filter(e=>e)),this._permissionService.permissionPointUpdate$.pipe(x.debounceTime(300)),this._anchorVisible$).subscribe(()=>{var m;if(!this._anchorVisible$.getValue()){this._anchorPosition$.next([]);return}const t=this._context.unit,n=t.getActiveSheet(),i=n==null?void 0:n.getSheetId(),o=this._tableManager.getTableList(this._context.unitId).filter(v=>v.subUnitId===i),c=this._renderManagerService.getRenderById(this._context.unitId);if(!c){this._anchorPosition$.next([]);return}if(!((m=this._permissionService.getPermissionPoint(new O.WorkbookEditablePermission(t.getUnitId()).id))==null?void 0:m.value)){this._anchorPosition$.next([]);return}const d=o.reduce((v,b)=>{const{startRow:y,startColumn:w}=b.range,I=c.with(Q.SheetSkeletonManagerService),k=Q.getSheetObject(this._univerInstanceService,this._renderManagerService);if(!k)return v;const{scene:E}=k,P=E.getViewport(Y.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(!P)return v;const D=E==null?void 0:E.scaleX,V=E==null?void 0:E.scaleY,N=E==null?void 0:E.getViewportScrollXY(P);if(!D||!E||!V||!N)return v;const g=I.getCurrentSkeleton();if(!g)return v;const L=g.getNoMergeCellWithCoordByIndex(y,w),M=Y.convertTransformToOffsetX(L.startX,D,N),f=Y.convertTransformToOffsetY(L.startY,V,N)-25-4;return f>=-10&&M>=45&&v.push({x:M,y:f,tableId:b.id,tableName:b.name}),v},[]);this._anchorPosition$.next(d)}))}};ke=an([te(1,s.Inject(s.Injector)),te(2,s.Inject(Q.SheetSkeletonManagerService)),te(3,Y.IRenderManagerService),te(4,s.ICommandService),te(5,s.IUniverInstanceService),te(6,h.IUIPartsService),te(7,s.Inject(a.TableManager)),te(8,s.Inject(Q.SheetScrollManagerService)),te(9,s.Inject(O.WorkbookPermissionService)),te(10,s.Inject(s.IPermissionService))],ke);const ge=16;new Path2D("M3.30363 3C2.79117 3 2.51457 3.60097 2.84788 3.99024L6.8 8.60593V12.5662C6.8 12.7184 6.8864 12.8575 7.02289 12.9249L8.76717 13.7863C8.96655 13.8847 9.2 13.7396 9.2 13.5173V8.60593L13.1521 3.99024C13.4854 3.60097 13.2088 3 12.6964 3H3.30363Z");class ht{static drawNoSetting(e,t,n,i){e.save(),Y.Rect.drawWith(e,{radius:2,width:ge,height:ge,fill:i}),e.lineCap="square",e.strokeStyle=n,e.scale(t/ge,t/ge),e.beginPath(),e.lineWidth=1,e.lineCap="round",e.moveTo(3,4),e.lineTo(13,4),e.moveTo(4.5,8),e.lineTo(11.5,8),e.moveTo(6,12),e.lineTo(10,12),e.stroke(),e.restore()}static drawIconByPath(e,t,n,i){e.save(),e.strokeStyle=n,e.fillStyle=i,Y.Rect.drawWith(e,{radius:2,width:ge,height:ge,fill:i}),t.forEach(o=>{const c=new Path2D(o);e.fillStyle=n,e.fill(c,"evenodd")}),e.restore()}}const on=["M3.30363 3C2.79117 3 2.51457 3.60097 2.84788 3.99024L6.8 8.60593V12.5662C6.8 12.7184 6.8864 12.8575 7.02289 12.9249L8.76717 13.7863C8.96655 13.8847 9.2 13.7396 9.2 13.5173V8.60593L13.1521 3.99024C13.4854 3.60097 13.2088 3 12.6964 3H3.30363Z"],ln=["M12.4008 13.1831C12.6907 13.1831 12.9258 12.9481 12.9258 12.6581V4.60873L14.013 5.69597C14.218 5.901 14.5505 5.901 14.7555 5.69597C14.9605 5.49094 14.9605 5.15853 14.7555 4.95351L12.7721 2.97017C12.5671 2.76515 12.2347 2.76515 12.0297 2.97017L10.0463 4.95351C9.84132 5.15853 9.84132 5.49094 10.0463 5.69597C10.2514 5.901 10.5838 5.901 10.7888 5.69597L11.8758 4.60901V12.6581C11.8758 12.9481 12.1108 13.1831 12.4008 13.1831Z","M1.28069 4.85447C0.842195 4.33439 1.21191 3.5391 1.89218 3.5391H8.59333C9.2736 3.5391 9.64331 4.33439 9.20482 4.85447L6.51052 8.0501V11.6601C6.51052 12.2245 5.94174 12.6114 5.41683 12.404L4.48092 12.0343C4.1756 11.9136 3.97498 11.6187 3.97498 11.2904V8.0501L1.28069 4.85447Z"],sn=["M12.4008 2.81641C12.6907 2.81641 12.9258 3.05146 12.9258 3.34141V11.3908L14.013 10.3036C14.218 10.0986 14.5505 10.0986 14.7555 10.3036C14.9605 10.5086 14.9605 10.841 14.7555 11.046L12.7721 13.0294C12.5671 13.2344 12.2347 13.2344 12.0297 13.0294L10.0463 11.046C9.84132 10.841 9.84132 10.5086 10.0463 10.3036C10.2514 10.0986 10.5838 10.0986 10.7888 10.3036L11.8758 11.3905V3.34141C11.8758 3.05146 12.1108 2.81641 12.4008 2.81641Z","M1.28069 4.85444C0.842195 4.33435 1.21191 3.53906 1.89218 3.53906H8.59333C9.2736 3.53906 9.64331 4.33435 9.20482 4.85443L6.51052 8.05006V11.6601C6.51052 12.2245 5.94174 12.6113 5.41683 12.404L4.48092 12.0342C4.1756 11.9136 3.97498 11.6186 3.97498 11.2903V8.05006L1.28069 4.85444Z"],cn=["M11.9003 13.7046C11.9003 13.9969 11.6633 14.2339 11.371 14.2339C11.0787 14.2339 10.8417 13.9969 10.8417 13.7046V3.57272L9.74577 4.66862C9.53906 4.87534 9.20391 4.87534 8.9972 4.66862C8.79048 4.46191 8.79048 4.12676 8.9972 3.92005L10.9969 1.92039C11.2036 1.71368 11.5387 1.71368 11.7454 1.92039L13.7451 3.92005C13.9518 4.12676 13.9518 4.46191 13.7451 4.66862C13.5384 4.87534 13.2032 4.87534 12.9965 4.66862L11.9003 3.57243V13.7046Z","M2.69779 10.0113C2.40546 10.0113 2.16847 9.77429 2.16847 9.48196C2.16847 9.18962 2.40546 8.95264 2.69779 8.95264H6.67804C6.89213 8.95264 7.08514 9.0816 7.16707 9.2794C7.249 9.47719 7.20371 9.70486 7.05233 9.85624L3.97569 12.9329H6.67804C6.97038 12.9329 7.20736 13.1699 7.20736 13.4622C7.20736 13.7545 6.97038 13.9915 6.67804 13.9915H2.69779C2.4837 13.9915 2.29069 13.8626 2.20876 13.6648C2.12684 13.467 2.17212 13.2393 2.32351 13.0879L5.40015 10.0113H2.69779Z","M5.51638 2.58693C5.23363 1.81542 4.14248 1.81543 3.85973 2.58693L2.13245 7.29995C2.03185 7.57443 2.17281 7.87849 2.4473 7.97909C2.72178 8.07969 3.02584 7.93872 3.12644 7.66424L3.64346 6.25351L3.64504 6.25351H5.73266L6.24968 7.66424C6.35027 7.93872 6.65433 8.07969 6.92882 7.97909C7.2033 7.87849 7.34426 7.57443 7.24367 7.29995L5.51638 2.58693ZM5.34467 5.19487L4.68806 3.40325L4.03144 5.19487H5.34467Z"],un=["M11.9003 2.29495C11.9003 2.00261 11.6633 1.76562 11.371 1.76562C11.0787 1.76562 10.8417 2.00261 10.8417 2.29495V12.4268L9.74577 11.3309C9.53906 11.1242 9.20391 11.1242 8.9972 11.3309C8.79048 11.5376 8.79048 11.8727 8.9972 12.0795L10.9969 14.0791C11.2036 14.2858 11.5387 14.2858 11.7454 14.0791L13.7451 12.0795C13.9518 11.8727 13.9518 11.5376 13.7451 11.3309C13.5384 11.1242 13.2032 11.1242 12.9965 11.3309L11.9003 12.4271V2.29495Z","M2.69792 10.0113C2.40558 10.0113 2.16859 9.77429 2.16859 9.48196C2.16859 9.18962 2.40558 8.95264 2.69792 8.95264H6.67816C6.89225 8.95264 7.08526 9.0816 7.16719 9.2794C7.24912 9.47719 7.20384 9.70486 7.05245 9.85624L3.97581 12.9329H6.67816C6.9705 12.9329 7.20749 13.1699 7.20749 13.4622C7.20749 13.7545 6.9705 13.9915 6.67816 13.9915H2.69792C2.48383 13.9915 2.29082 13.8626 2.20889 13.6648C2.12696 13.467 2.17224 13.2393 2.32363 13.0879L5.40027 10.0113H2.69792Z","M5.5165 2.58693C5.23375 1.81542 4.1426 1.81543 3.85985 2.58693L2.13257 7.29995C2.03197 7.57443 2.17294 7.8785 2.44742 7.97909C2.7219 8.07969 3.02596 7.93872 3.12656 7.66424L3.64358 6.25351L3.64516 6.25351H5.73278L6.2498 7.66424C6.35039 7.93872 6.65446 8.07969 6.92894 7.97909C7.20342 7.8785 7.34438 7.57443 7.24379 7.29995L5.5165 2.58693ZM5.34479 5.19487L4.68818 3.40325L4.03156 5.19487H5.34479Z"];var dn=Object.getOwnPropertyDescriptor,pn=(r,e,t,n)=>{for(var i=n>1?void 0:n?dn(e,t):e,o=r.length-1,c;o>=0;o--)(c=r[o])&&(i=c(i)||i);return i},Qe=(r,e)=>(t,n)=>e(t,n,r);const ne=16,Se=1;let Ge=class extends Y.Shape{constructor(e,t,n,i,o){super(e,t);A(this,"_cellWidth",0);A(this,"_cellHeight",0);A(this,"_filterParams");A(this,"_hovered",!1);this._contextService=n,this._commandService=i,this._themeService=o,this.setShapeProps(t),this.onPointerDown$.subscribeEvent(c=>this.onPointerDown(c)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(e){typeof e.cellHeight<"u"&&(this._cellHeight=e.cellHeight),typeof e.cellWidth<"u"&&(this._cellWidth=e.cellWidth),typeof e.filterParams<"u"&&(this._filterParams=e.filterParams),this.transformByState({width:e.width,height:e.height})}_draw(e){const t=this._cellHeight,n=this._cellWidth,i=ne-n,o=ne-t;e.save();const c=new Path2D;c.rect(i,o,n,t),e.clip(c);const{buttonState:u}=this._filterParams,d=this._themeService.getColorFromTheme("primary.600"),m=this._hovered?this._themeService.getColorFromTheme("gray.50"):"rgba(255, 255, 255, 1.0)";let v;switch(u){case a.SheetsTableButtonStateEnum.FilteredSortNone:v=on;break;case a.SheetsTableButtonStateEnum.FilteredSortAsc:v=ln;break;case a.SheetsTableButtonStateEnum.FilteredSortDesc:v=sn;break;case a.SheetsTableButtonStateEnum.FilterNoneSortNone:break;case a.SheetsTableButtonStateEnum.FilterNoneSortAsc:v=cn;break;case a.SheetsTableButtonStateEnum.FilterNoneSortDesc:v=un;break}v?ht.drawIconByPath(e,v,d,m):u!==void 0&&ht.drawNoSetting(e,ne,d,m),e.restore()}onPointerDown(e){if(e.button===2)return;const{row:t,col:n,unitId:i,subUnitId:o,tableId:c}=this._filterParams;this._contextService.getContextValue(ae)||!this._commandService.hasCommand(qe.id)||setTimeout(()=>{const d={row:t,col:n,unitId:i,subUnitId:o,tableId:c};this._commandService.executeCommand(qe.id,d)},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};Ge=pn([Qe(2,s.IContextService),Qe(3,s.ICommandService),Qe(4,s.Inject(s.ThemeService))],Ge);var vn=Object.getOwnPropertyDescriptor,mn=(r,e,t,n)=>{for(var i=n>1?void 0:n?vn(e,t):e,o=r.length-1,c;o>=0;o--)(c=r[o])&&(i=c(i)||i);return i},Te=(r,e)=>(t,n)=>e(t,n,r);const hn=5e3,bn=(r,e,t,n)=>{switch(n){case s.VerticalAlign.TOP:return r+Se;case s.VerticalAlign.MIDDLE:return r+Math.max(0,(t-ne)/2);case s.VerticalAlign.BOTTOM:default:return e-ne-Se}};let Xe=class extends s.RxDisposable{constructor(e,t,n,i,o,c){super();A(this,"_buttonRenderDisposable",null);A(this,"_tableFilterButtonShapes",[]);this._context=e,this._injector=t,this._sheetSkeletonManagerService=n,this._sheetInterceptorService=i,this._tableManager=o,this._commandService=c,this._initRenderer(),this._initCommandExecuted()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){const e=this._tableManager;this._sheetSkeletonManagerService.currentSkeleton$.pipe(x.switchMap(t=>{var u;if(!t)return x.of(null);const{unit:n,unitId:i}=this._context,o=((u=n.getActiveSheet())==null?void 0:u.getSheetId())||"",c=()=>({unitId:i,worksheetId:o,tableFilterRanges:this._tableManager.getSheetFilterRangeWithState(n.getUnitId(),o),skeleton:t.skeleton});return x.merge(e.tableAdd$,e.tableNameChanged$,e.tableRangeChanged$,e.tableThemeChanged$,e.tableDelete$,e.tableFilterChanged$).pipe(x.map(()=>c()),x.startWith(c()))}),x.takeUntil(this.dispose$)).subscribe(t=>{this._disposeRendering(),!(!t||!t.tableFilterRanges)&&this._renderButtons(t)})}_initCommandExecuted(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var u;if(e.id!==O.SetVerticalTextAlignCommand.id)return;const{unit:t,unitId:n}=this._context,i=((u=t.getActiveSheet())==null?void 0:u.getSheetId())||"",o=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!o)return;const c={unitId:n,worksheetId:i,tableFilterRanges:this._tableManager.getSheetFilterRangeWithState(t.getUnitId(),i),skeleton:o};this._disposeRendering(),!(!c||!c.tableFilterRanges)&&this._renderButtons(c)}))}_renderButtons(e){const{tableFilterRanges:t,unitId:n,skeleton:i,worksheetId:o}=e,{unit:c,scene:u}=this._context,d=c.getSheetBySheetId(o);if(d){for(const{range:m,states:v,tableId:b}of t){const{startRow:y,startColumn:w,endColumn:I}=m;this._interceptCellContent(n,o,m);for(let k=w;k<=I;k++){const E=`sheets-table-filter-button-${y}-${k}`,P=Q.getCoordByCell(y,k,u,i),D=d.getCellStyle(y,k),V=(D==null?void 0:D.vt)||s.VerticalAlign.BOTTOM,{startX:N,startY:g,endX:L,endY:M}=P,f=L-N,F=M-g;if(F<=Se||f<=Se)continue;const B=v[k-w],Z=L-ne-Se,H=bn(g,M,F,V),K={left:Z,top:H,height:ne,width:ne,zIndex:hn,cellHeight:F,cellWidth:f,filterParams:{unitId:n,subUnitId:o,row:y,col:k,buttonState:B,tableId:b}},le=this._injector.createInstance(Ge,E,K);this._tableFilterButtonShapes.push(le)}}u.addObjects(this._tableFilterButtonShapes),u.makeDirty()}}_interceptCellContent(e,t,n){const{startRow:i,startColumn:o,endColumn:c}=n;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(O.INTERCEPTOR_POINT.CELL_CONTENT,{effect:s.InterceptorEffectEnum.Style,handler:(u,d,m)=>{const{row:v,col:b,unitId:y,subUnitId:w}=d;return y!==e||w!==t||v!==i||b<o||b>c||((!u||u===d.rawData)&&(u={...d.rawData}),u.fontRenderExtension={...u==null?void 0:u.fontRenderExtension,rightOffset:ne}),m(u)},priority:10})}_disposeRendering(){var e;this._tableFilterButtonShapes.forEach(t=>t.dispose()),(e=this._buttonRenderDisposable)==null||e.dispose(),this._buttonRenderDisposable=null,this._tableFilterButtonShapes=[]}};Xe=mn([Te(1,s.Inject(s.Injector)),Te(2,s.Inject(Q.SheetSkeletonManagerService)),Te(3,s.Inject(O.SheetInterceptorService)),Te(4,s.Inject(a.TableManager)),Te(5,s.ICommandService)],Xe);const gn=r=>{const{unitId:e,subUnitId:t,range:n,onCancel:i,onConfirm:o,tableId:c}=r,u=h.useDependency(a.TableManager),[d,m]=T.useState(n),[v,b]=T.useState(""),y=h.useDependency(s.LocaleService),w=h.useDependency(s.IUniverInstanceService);return l.jsxs(l.Fragment,{children:[l.jsx(yt.RangeSelector,{maxRangeCount:1,unitId:e,subUnitId:t,initialValue:Ae.serializeRange(n),onChange:(I,k)=>{const E=Ae.serializeRange(n),P=Ae.deserializeRangeWithSheet(k).range,D=O.getSheetCommandTarget(w,{unitId:e,subUnitId:t});if(!D)return;if(D.worksheet.getMergeData().some(B=>s.Rectangle.intersects(P,B))){b(y.t("sheets-table.tableRangeWithMergeError"));return}if(u.getTablesBySubunitId(e,t).some(B=>{if(B.getId()===c)return!1;const Z=B.getRange();return s.Rectangle.intersects(P,Z)})){b(y.t("sheets-table.tableRangeWithOtherTableError"));return}const{startRow:M,endRow:f}=P;if(M===f){b(y.t("sheets-table.tableRangeSingleRowError"));return}if(E!==k){if(c){const B=u.getTableById(e,c);if(B){const Z=B.getRange();if(s.Rectangle.intersects(P,Z)&&Z.startRow===P.startRow){m(P),b(""),o({unitId:e,subUnitId:t,range:P});return}else{b(y.t("sheets-table.updateError"));return}}}m(P),b("")}},supportAcrossSheet:!1}),v&&l.jsx("div",{className:"univer-mt-1 univer-text-xs univer-text-red-500",children:v}),l.jsxs("div",{className:"univer-mt-4 univer-flex univer-justify-end",children:[l.jsx(p.Button,{onClick:i,children:y.t("sheets-table.cancel")}),l.jsx(p.Button,{variant:"primary",onClick:()=>{v||o({unitId:e,subUnitId:t,range:d})},className:"univer-ml-2",children:y.t("sheets-table.confirm")})]})]})},Cn=r=>{var R,U,q,Je,Fe,Ve,et,He,tt,ye,Ee,Ie;const{unitId:e,subUnitId:t,tableId:n}=r,i=h.useDependency(s.ICommandService),o=h.useDependency(s.LocaleService),c=h.useDependency(a.TableManager),u=c.getTableById(e,n),d=h.useDependency(O.SheetRangeThemeModel),m=h.useDependency(ue),v=h.useObservable(d.rangeThemeMapChange$),b=h.useObservable(m.refreshTable$),y=h.useDependency(s.ErrorService),[,w]=T.useState(Math.random()),I=h.useObservable(c.tableThemeChanged$,{theme:u==null?void 0:u.getTableStyleId(),oldTheme:u==null?void 0:u.getTableStyleId(),unitId:e,subUnitId:t,tableId:n}),k=d.getRegisteredRangeThemes().filter(S=>S==null?void 0:S.startsWith(wt)),E=d.getALLRegisteredTheme(e).filter(S=>S==null?void 0:S.startsWith(je)),P=u==null?void 0:u.getTableStyleId(),D=E.find(S=>S===P),V=D||E[0],N=d.getCustomRangeThemeStyle(e,V),g=(q=(U=(R=N==null?void 0:N.getHeaderRowStyle())==null?void 0:R.bg)==null?void 0:U.rgb)!=null?q:ie,L=(Ve=(Fe=(Je=N==null?void 0:N.getFirstRowStyle())==null?void 0:Je.bg)==null?void 0:Fe.rgb)!=null?Ve:ie,M=(tt=(He=(et=N==null?void 0:N.getSecondRowStyle())==null?void 0:et.bg)==null?void 0:He.rgb)!=null?tt:ie,f=(Ie=(Ee=(ye=N==null?void 0:N.getLastRowStyle())==null?void 0:ye.bg)==null?void 0:Ee.rgb)!=null?Ie:ie,[F,B]=T.useState(null),Z=S=>{i.executeCommand(a.SetSheetTableCommand.id,{unitId:e,tableId:n,theme:S})},H=()=>{if(E.length>=11){y.emit(o.t("sheets-table.customTooMore"));return}const S=E[E.length-1];let _=`${je}1`;if(S){const J=Number(S.split("-")[2]);_=`${je}${J+1}`}const z=new O.RangeThemeStyle(_,{...a.customEmptyThemeWithBorderStyle});i.executeCommand(a.AddTableThemeCommand.id,{unitId:e,tableId:n,themeStyle:z})},K=(S,_)=>{i.executeCommand(O.SetRangeThemeMutation.id,{unitId:e,subUnitId:t,styleName:S,style:_})},le=S=>{i.executeCommand(a.RemoveTableThemeCommand.id,{unitId:e,tableId:n,themeName:S})};if(T.useEffect(()=>{w(Math.random())},[v,b]),!u)return null;const se=new s.ColorKit(g).isDark(),de=new s.ColorKit(L).isDark(),ce=new s.ColorKit(M).isDark(),C=new s.ColorKit(f).isDark();return l.jsxs("div",{children:[l.jsx("h5",{children:o.t("sheets-table.defaultStyle")}),l.jsx("div",{className:"univer-flex univer-gap-2",children:k.map(S=>{var pe,ve,_e,we,De,Me,Ne,xe;const _=d.getDefaultRangeThemeStyle(S),z=((ve=(pe=_==null?void 0:_.getHeaderRowStyle())==null?void 0:pe.bg)==null?void 0:ve.rgb)||ie,J=((we=(_e=_==null?void 0:_.getFirstRowStyle())==null?void 0:_e.bg)==null?void 0:we.rgb)||ie,re=((Me=(De=_==null?void 0:_.getSecondRowStyle())==null?void 0:De.bg)==null?void 0:Me.rgb)||ie,W=((xe=(Ne=_==null?void 0:_.getLastRowStyle())==null?void 0:Ne.bg)==null?void 0:xe.rgb)||ie;return l.jsxs("div",{className:p.clsx("univer-h-10 univer-w-8 univer-cursor-pointer univer-border univer-border-solid univer-border-gray-200 univer-p-px [&>div]:univer-box-border [&>div]:univer-h-2.5",{"univer-border-blue-500":S===I.theme}),onClick:()=>Z(S),children:[l.jsx("div",{style:{background:z,border:`${G}`}}),l.jsx("div",{style:{background:J,border:`${G}`}}),l.jsx("div",{style:{background:re,border:`${G}`}}),l.jsx("div",{style:{background:W,border:`${G}`}})]},S)})}),l.jsx("h5",{children:o.t("sheets-table.customStyle")}),l.jsxs("div",{className:p.clsx("univer-w-full univer-rounded-sm",p.borderClassName),children:[l.jsxs("div",{className:"univer-flex univer-flex-wrap univer-gap-2 univer-p-2",children:[l.jsx("div",{className:p.clsx("univer-h-10 univer-w-8 univer-cursor-pointer univer-p-px univer-text-center univer-leading-10",p.borderClassName),onClick:H,children:"+"}),E.map(S=>{var pe,ve,_e,we,De,Me,Ne,xe;const _=d.getCustomRangeThemeStyle(e,S),z=(ve=(pe=_==null?void 0:_.getHeaderRowStyle())==null?void 0:pe.bg)==null?void 0:ve.rgb,J=(we=(_e=_==null?void 0:_.getFirstRowStyle())==null?void 0:_e.bg)==null?void 0:we.rgb,re=(Me=(De=_==null?void 0:_.getSecondRowStyle())==null?void 0:De.bg)==null?void 0:Me.rgb,W=(xe=(Ne=_==null?void 0:_.getLastRowStyle())==null?void 0:Ne.bg)==null?void 0:xe.rgb;return l.jsxs("div",{className:p.clsx("univer-relative univer-h-10 univer-w-8 univer-cursor-pointer univer-border univer-border-solid univer-border-gray-200 univer-p-px",{"univer-border-blue-500":S===I.theme}),onClick:()=>Z(S),onMouseEnter:()=>B(S),onMouseLeave:()=>B(null),children:[l.jsx("div",{className:"univer-box-border univer-h-2.5",style:{background:z!=null?z:G,border:`${z?G:Le}`}}),l.jsx("div",{className:"univer-box-border univer-h-2.5",style:{background:J!=null?J:G,border:`${J?G:Le}`}}),l.jsx("div",{className:"univer-box-border univer-h-2.5",style:{background:re!=null?re:G,border:`${re?G:Le}`}}),l.jsx("div",{className:"univer-box-border univer-h-2.5",style:{background:W!=null?W:G,border:`${W?G:Le}`}}),l.jsx("div",{className:"univer-absolute univer-right-[-3px] univer-top-[-3px] univer-h-3 univer-w-3 univer-rounded-md univer-bg-gray-200 univer-text-center univer-text-xs univer-leading-[10px]",style:{display:F===S?"block":"none"},onClick:Rn=>{Rn.stopPropagation(),le(S)},children:"x"})]},S)})]}),D&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"univer-h-px univer-w-full univer-bg-gray-200"}),l.jsxs("div",{className:"univer-flex univer-flex-col univer-gap-2 univer-p-2",children:[l.jsxs("div",{className:"univer-flex univer-h-9 univer-gap-2",children:[l.jsx("div",{className:p.clsx("univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center univer-leading-9",p.borderClassName,{"univer-text-white":se,"univer-text-gray-900":!se}),style:{background:g},children:o.t("sheets-table.header")}),l.jsx(p.Dropdown,{overlay:l.jsx("div",{className:"univer-p-2",children:l.jsx(p.ColorPicker,{value:g,onChange:S=>{const _=a.processStyleWithBorderStyle("headerRowStyle",{bg:{rgb:S},cl:{rgb:new s.ColorKit(S).isDark()?"#fff":"#000"}});K(u.getTableStyleId(),{headerRowStyle:_})}})}),children:l.jsxs("div",{className:p.clsx("univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded-sm univer-bg-white univer-p-1",p.borderClassName),children:[l.jsx("div",{className:p.clsx("univer-h-4 univer-w-4 univer-rounded-lg univer-bg-gray-400",p.borderClassName,{"univer-text-white":se,"univer-text-gray-900":!se}),style:{background:g}}),l.jsx(Ce,{className:"univer-h-2 univer-w-2"})]})})]}),l.jsxs("div",{className:"univer-flex univer-h-9 univer-gap-2",children:[l.jsx("div",{className:p.clsx("univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center univer-leading-9",p.borderClassName,{"univer-text-white":de,"univer-text-gray-900":!de}),style:{background:L},children:o.t("sheets-table.firstLine")}),l.jsx(p.Dropdown,{overlay:l.jsx("div",{className:"univer-p-2",children:l.jsx(p.ColorPicker,{value:L,onChange:S=>{K(u.getTableStyleId(),{firstRowStyle:{bg:{rgb:S},cl:{rgb:new s.ColorKit(S).isDark()?"#fff":"#000"}}})}})}),children:l.jsxs("div",{className:p.clsx("univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded-sm univer-bg-white univer-p-1",p.borderClassName),children:[l.jsx("div",{className:p.clsx("univer-h-4 univer-w-4 univer-rounded-lg univer-bg-gray-400",p.borderClassName),style:{background:L}}),l.jsx(Ce,{className:"univer-h-2 univer-w-2"})]})})]}),l.jsxs("div",{className:"univer-flex univer-h-9 univer-gap-2",children:[l.jsx("div",{className:p.clsx("univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center univer-leading-9",p.borderClassName,{"univer-text-white":ce,"univer-text-gray-900":!ce}),style:{background:M},children:o.t("sheets-table.secondLine")}),l.jsx(p.Dropdown,{overlay:l.jsx("div",{className:"univer-p-2",children:l.jsx(p.ColorPicker,{value:M,onChange:S=>K(u.getTableStyleId(),{secondRowStyle:{bg:{rgb:S},cl:{rgb:new s.ColorKit(S).isDark()?"#fff":"#000"}}})})}),children:l.jsxs("div",{className:p.clsx("univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded-sm univer-bg-white univer-p-1",p.borderClassName),children:[l.jsx("div",{className:p.clsx("univer-h-4 univer-w-4 univer-rounded-lg univer-bg-gray-400",p.borderClassName),style:{background:M}}),l.jsx(Ce,{className:"univer-h-2 univer-w-2"})]})})]}),l.jsxs("div",{className:"univer-flex univer-h-9 univer-gap-2",children:[l.jsx("div",{className:p.clsx("univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center univer-leading-9",p.borderClassName,{"univer-text-white":C,"univer-text-gray-900":!C}),style:{background:f},children:o.t("sheets-table.footer")}),l.jsx(p.Dropdown,{overlay:l.jsx("div",{className:"univer-p-2",children:l.jsx(p.ColorPicker,{value:f,onChange:S=>{const _=a.processStyleWithBorderStyle("lastRowStyle",{bg:{rgb:S},cl:{rgb:new s.ColorKit(S).isDark()?"#fff":"#000"}});K(u.getTableStyleId(),{lastRowStyle:_})}})}),children:l.jsxs("div",{className:p.clsx("univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded-sm univer-bg-white univer-p-1",p.borderClassName),children:[l.jsx("div",{className:p.clsx("univer-h-4 univer-w-4 univer-rounded-lg univer-bg-gray-400",p.borderClassName),style:{background:f}}),l.jsx(Ce,{className:"univer-h-2 univer-w-2"})]})})]})]})]})]})]})},bt="sheet.table.context-insert_menu-id",gt="sheet.table.context-remove_menu-id";function fn(r){return{id:Ye.id,type:h.MenuItemType.BUTTON,icon:nt,tooltip:"sheets-table.title",title:"sheets-table.title",hidden$:h.getMenuHiddenObservable(r,s.UniverInstanceType.UNIVER_SHEET),disabled$:Q.getCurrentRangeDisable$(r,{},!0)}}function Sn(r){return{id:bt,type:h.MenuItemType.SUBITEMS,icon:"InsertDoubleIcon",title:"sheets-table.insert.main",hidden$:Ct(r)}}function Tn(r){return{id:gt,type:h.MenuItemType.SUBITEMS,icon:"ReduceDoubleIcon",title:"sheets-table.remove.main",hidden$:Ct(r)}}function yn(r){return{id:a.SheetTableInsertRowCommand.id,type:h.MenuItemType.BUTTON,title:"sheets-table.insert.row",hidden$:ft(r)}}function En(r){return{id:a.SheetTableInsertColCommand.id,title:"sheets-table.insert.col",type:h.MenuItemType.BUTTON}}function In(r){return{id:a.SheetTableRemoveRowCommand.id,type:h.MenuItemType.BUTTON,title:"sheets-table.remove.row",hidden$:ft(r)}}function _n(r){return{id:a.SheetTableRemoveColCommand.id,title:"sheets-table.remove.col",type:h.MenuItemType.BUTTON}}function Ct(r){const e=r.get(O.SheetsSelectionsService);return r.get(s.IUniverInstanceService).getCurrentTypeOfUnit$(s.UniverInstanceType.UNIVER_SHEET).pipe(x.switchMap(i=>i?i.activeSheet$.pipe(x.switchMap(o=>o?e.selectionMoveEnd$.pipe(x.switchMap(c=>{if(!c.length||c.length>1)return x.of(!0);const d=c[0].range,v=r.get(a.SheetsTableController).getContainerTableWithRange(i.getUnitId(),o.getSheetId(),d);return x.of(!v)})):x.of(!0))):x.of(!0)))}function ft(r){const e=r.get(O.SheetsSelectionsService);return r.get(s.IUniverInstanceService).getCurrentTypeOfUnit$(s.UniverInstanceType.UNIVER_SHEET).pipe(x.switchMap(i=>i?i.activeSheet$.pipe(x.switchMap(o=>o?e.selectionMoveEnd$.pipe(x.switchMap(c=>{if(!c.length||c.length>1)return x.of(!0);const d=c[0].range,v=r.get(a.SheetsTableController).getContainerTableWithRange(i.getUnitId(),o.getSheetId(),d);if(!v)return x.of(!0);const b=v.getRange();return d.startRow===b.startRow?x.of(!0):x.of(!1)})):x.of(!0))):x.of(!0)))}const wn={[h.RibbonDataGroup.ORGANIZATION]:{[Ye.id]:{order:0,menuItemFactory:fn}},[h.ContextMenuPosition.MAIN_AREA]:{[h.ContextMenuGroup.LAYOUT]:{[bt]:{order:5,menuItemFactory:Sn,[a.SheetTableInsertRowCommand.id]:{order:1,menuItemFactory:yn},[a.SheetTableInsertColCommand.id]:{order:2,menuItemFactory:En}},[gt]:{order:6,menuItemFactory:Tn,[a.SheetTableRemoveRowCommand.id]:{order:1,menuItemFactory:In},[a.SheetTableRemoveColCommand.id]:{order:2,menuItemFactory:_n}}}}};var Dn=Object.getOwnPropertyDescriptor,Mn=(r,e,t,n)=>{for(var i=n>1?void 0:n?Dn(e,t):e,o=r.length-1,c;o>=0;o--)(c=r[o])&&(i=c(i)||i);return i},St=(r,e)=>(t,n)=>e(t,n,r);let Oe=class extends s.Disposable{constructor(r,e){super(),this._componentManager=r,this._menuManagerService=e,this._initComponents(),this._initMenu()}_initComponents(){[[nt,dt],[me,gn],[rt,Cn]].forEach(([r,e])=>{this.disposeWithMe(this._componentManager.register(r,e))})}_initMenu(){this._menuManagerService.mergeMenu(wn)}};Oe=Mn([St(0,s.Inject(h.ComponentManager)),St(1,s.Inject(h.IMenuManagerService))],Oe);var Nn=Object.getOwnPropertyDescriptor,xn=(r,e,t,n)=>{for(var i=n>1?void 0:n?Nn(e,t):e,o=r.length-1,c;o>=0;o--)(c=r[o])&&(i=c(i)||i);return i},Pe=(r,e)=>(t,n)=>e(t,n,r);let Ke=class extends s.RxDisposable{constructor(r,e,t,n,i){super(),this._context=r,this._injector=e,this._sheetSkeletonManagerService=t,this._tableManager=n,this._sheetTableThemeUIController=i,this._initListener()}_dirtySkeleton(){var e;(e=this._context.mainComponent)==null||e.makeDirty();const r=this._sheetSkeletonManagerService.getCurrentParam();if(r){const t={...r,dirty:!0};this._sheetSkeletonManagerService.reCalculate(t)}}_initListener(){const r=this._tableManager,e=this._dirtySkeleton.bind(this);this.disposeWithMe(x.merge(r.tableAdd$,r.tableDelete$,r.tableNameChanged$,r.tableRangeChanged$,r.tableThemeChanged$,r.tableFilterChanged$,r.tableInitStatus$,this._sheetTableThemeUIController.refreshTable$).subscribe(e))}};Ke=xn([Pe(1,s.Inject(s.Injector)),Pe(2,s.Inject(Q.SheetSkeletonManagerService)),Pe(3,s.Inject(a.TableManager)),Pe(4,s.Inject(ue))],Ke);var Ln=Object.getOwnPropertyDescriptor,$n=(r,e,t,n)=>{for(var i=n>1?void 0:n?Ln(e,t):e,o=r.length-1,c;o>=0;o--)(c=r[o])&&(i=c(i)||i);return i},ze=(r,e)=>(t,n)=>e(t,n,r);let Be=class extends s.Disposable{constructor(r,e,t){super(),this._sheetInterceptorService=r,this._univerInstanceService=e,this._tableManager=t,this._initSelectionChange()}_initSelectionChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:r=>{if(r.id===Q.SelectAllCommand.id){const e=O.getSheetCommandTarget(this._univerInstanceService);if(!e)return{redos:[],undos:[]};const t=r.params,{range:n}=t,{unitId:i,subUnitId:o,worksheet:c}=e,d=this._tableManager.getTablesBySubunitId(i,o).find(m=>{const v=m.getRange();return s.Rectangle.contains(v,n)});if(d){const m=d.getRange(),v={...m,startRow:m.startRow+1};return s.Rectangle.equals(m,n)?{undos:[],redos:[]}:s.Rectangle.equals(v,n)?{undos:[],redos:[{id:O.SetSelectionsOperation.id,params:{unitId:i,subUnitId:o,selections:[{range:m,primary:O.getPrimaryForRange(m,c)}]}}]}:{undos:[],redos:[{id:O.SetSelectionsOperation.id,params:{unitId:i,subUnitId:o,selections:[{range:v,primary:O.getPrimaryForRange(v,c)}]}}]}}}return{redos:[],undos:[]}}}))}};Be=$n([ze(0,s.Inject(O.SheetInterceptorService)),ze(1,s.Inject(s.IUniverInstanceService)),ze(2,s.Inject(a.TableManager))],Be);var kn=Object.defineProperty,On=Object.getOwnPropertyDescriptor,Pn=(r,e,t)=>e in r?kn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Bn=(r,e,t,n)=>{for(var i=n>1?void 0:n?On(e,t):e,o=r.length-1,c;o>=0;o--)(c=r[o])&&(i=c(i)||i);return i},Re=(r,e)=>(t,n)=>e(t,n,r),Tt=(r,e,t)=>Pn(r,typeof e!="symbol"?e+"":e,t);$.UniverSheetsTableUIPlugin=class extends s.Plugin{constructor(e=mt,t,n,i,o){super(),this._config=e,this._injector=t,this._commandService=n,this._configService=i,this._renderManagerService=o;const{menu:c,...u}=s.merge({},mt,this._config);c&&this._configService.setConfig("menu",c,{merge:!0}),this._configService.setConfig(vt,u),this._initRegisterCommand()}onStarting(){s.registerDependencies(this._injector,[[be],[he],[Oe],[ue],[Be]])}onReady(){s.touchDependencies(this._injector,[[be],[he],[Oe],[ue],[Be]])}onRendered(){this._registerRenderModules()}_registerRenderModules(){const e=[[Xe],[Ke]];this._config.hideAnchor!==!0&&e.push([ke]),e.forEach(t=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(s.UniverInstanceType.UNIVER_SHEET,t))})}_initRegisterCommand(){[qe,Ye].forEach(e=>this._commandService.registerCommand(e))}},Tt($.UniverSheetsTableUIPlugin,"pluginName",Et),Tt($.UniverSheetsTableUIPlugin,"type",s.UniverInstanceType.UNIVER_SHEET),$.UniverSheetsTableUIPlugin=Bn([s.DependentOn(a.UniverSheetsTablePlugin),Re(1,s.Inject(s.Injector)),Re(2,s.Inject(s.ICommandService)),Re(3,s.IConfigService),Re(4,Y.IRenderManagerService)],$.UniverSheetsTableUIPlugin),Object.defineProperty($,Symbol.toStringTag,{value:"Module"})}));
10
+ (function($,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("@univerjs/sheets-table"),require("@univerjs/sheets-ui"),require("@univerjs/ui"),require("rxjs"),require("react/jsx-runtime"),require("@univerjs/design"),require("react"),require("@univerjs/sheets"),require("@univerjs/sheets-sort"),require("@univerjs/engine-formula"),require("@univerjs/sheets-formula-ui")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","@univerjs/sheets-table","@univerjs/sheets-ui","@univerjs/ui","rxjs","react/jsx-runtime","@univerjs/design","react","@univerjs/sheets","@univerjs/sheets-sort","@univerjs/engine-formula","@univerjs/sheets-formula-ui"],s):($=typeof globalThis<"u"?globalThis:$||self,s($.UniverSheetsTableUi={},$.UniverCore,$.UniverEngineRender,$.UniverSheetsTable,$.UniverSheetsUi,$.UniverUi,$.rxjs,$.React,$.UniverDesign,$.React,$.UniverSheets,$.UniverSheetsSort,$.UniverEngineFormula,$.UniverSheetsFormulaUi))})(this,(function($,s,Y,n,Q,h,x,l,p,y,P,He,Ue,Tt){"use strict";var Bn=Object.defineProperty;var Rn=($,s,Y)=>s in $?Bn($,s,{enumerable:!0,configurable:!0,writable:!0,value:Y}):$[s]=Y;var A=($,s,Y)=>Rn($,typeof s!="symbol"?s+"":s,Y);const yt="SHEET_TABLE_UI_PLUGIN",re="SHEETS_TABLE_FILTER_PANEL_OPENED_KEY",Et="UNIVER_SHEET_Table_FILTER_PANEL_ID",tt="TABLE_TOOLBAR_BUTTON",me="TABLE_SELECTOR_DIALOG",It="SHEET_TABLE_THEME_PANEL_ID",nt="SHEET_TABLE_THEME_PANEL",Ae="table-custom-",_t="table-default-",ae="rgb(255, 255, 255)",G="none",xe="1px solid rgb(var(--grey-200))";function J({ref:a,...e}){const{icon:t,id:r,className:i,extend:o,...c}=e,u=`univerjs-icon univerjs-icon-${r} ${i||""}`.trim(),d=y.useRef(`_${Mt()}`);return rt(t,`${r}`,{defIds:t.defIds,idSuffix:d.current},{ref:a,className:u,...c},o)}function rt(a,e,t,r,i){return y.createElement(a.tag,{key:e,...wt(a,t,i),...r},(Dt(a,t).children||[]).map((o,c)=>rt(o,`${e}-${a.tag}-${c}`,t,void 0,i)))}function wt(a,e,t){const r={...a.attrs};t!=null&&t.colorChannel1&&r.fill==="colorChannel1"&&(r.fill=t.colorChannel1),a.tag==="mask"&&r.id&&(r.id=r.id+e.idSuffix),Object.entries(r).forEach(([o,c])=>{o==="mask"&&typeof c=="string"&&(r[o]=c.replace(/url\(#(.*)\)/,`url(#$1${e.idSuffix})`))});const{defIds:i}=e;return!i||i.length===0||(a.tag==="use"&&r["xlink:href"]&&(r["xlink:href"]=r["xlink:href"]+e.idSuffix),Object.entries(r).forEach(([o,c])=>{typeof c=="string"&&(r[o]=c.replace(/url\(#(.*)\)/,`url(#$1${e.idSuffix})`))})),r}function Dt(a,e){var r;const{defIds:t}=e;return!t||t.length===0?a:a.tag==="defs"&&((r=a.children)!=null&&r.length)?{...a,children:a.children.map(i=>typeof i.attrs.id=="string"&&t&&t.includes(i.attrs.id)?{...i,attrs:{...i.attrs,id:i.attrs.id+e.idSuffix}}:i)}:a}function Mt(){return Math.random().toString(36).substring(2,8)}J.displayName="UniverIcon";const Nt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.4208 14.4667C12.4208 14.798 12.1522 15.0667 11.8208 15.0667C11.4895 15.0667 11.2208 14.798 11.2208 14.4667V2.98193L9.97861 4.22417C9.7443 4.45848 9.3644 4.45848 9.13008 4.22417C8.89577 3.98985 8.89577 3.60995 9.13008 3.37564L11.3967 1.10897C11.6311 0.874657 12.011 0.874657 12.2453 1.10897L14.5119 3.37564C14.7463 3.60995 14.7463 3.98985 14.5119 4.22417C14.2776 4.45848 13.8977 4.45848 13.6634 4.22417L12.4208 2.9816V14.4667Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.98967 10.2798C1.6583 10.2798 1.38967 10.0112 1.38967 9.67983C1.38967 9.34846 1.6583 9.07983 1.98967 9.07983H6.50138C6.74406 9.07983 6.96284 9.22602 7.05571 9.45022C7.14858 9.67443 7.09725 9.9325 6.92565 10.1041L3.43819 13.5916H6.50138C6.83276 13.5916 7.10138 13.8602 7.10138 14.1916C7.10138 14.5229 6.83276 14.7916 6.50138 14.7916H1.98967C1.74699 14.7916 1.52821 14.6454 1.43534 14.4212C1.34247 14.197 1.3938 13.9389 1.5654 13.7673L5.05286 10.2798H1.98967Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.1846 1.86439C4.8641 0.989866 3.62725 0.989866 3.30674 1.86439L1.34882 7.20672C1.23479 7.51786 1.39458 7.86252 1.70571 7.97655C2.01684 8.09058 2.3615 7.93079 2.47553 7.61966L3.06159 6.02055L3.06338 6.02056H5.42975L6.01581 7.61966C6.12984 7.93079 6.4745 8.09058 6.78563 7.97655C7.09677 7.86252 7.25655 7.51786 7.14252 7.20672L5.1846 1.86439ZM4.98996 4.82056L4.24567 2.78971L3.50138 4.82056H4.98996Z",fillRule:"evenodd",clipRule:"evenodd"}}]},at=y.forwardRef(function(e,t){return y.createElement(J,Object.assign({},e,{id:"ascending-icon",ref:t,icon:Nt}))});at.displayName="AscendingIcon";const xt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.3313 1.4667C5.3313 1.13533 5.59993 0.866699 5.9313 0.866699H10.069C10.4004 0.866699 10.669 1.13533 10.669 1.4667C10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.09985 3.64443C1.09985 3.31306 1.36848 3.04443 1.69985 3.04443H14.2999C14.6312 3.04443 14.8999 3.31306 14.8999 3.64443C14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M6.12398 8.30171C6.35829 8.0674 6.73819 8.0674 6.97251 8.30171L8.00007 9.32928L9.02764 8.30171C9.26195 8.0674 9.64185 8.0674 9.87617 8.30171C10.1105 8.53603 10.1105 8.91593 9.87617 9.15024L8.8486 10.1778L9.87617 11.2054C10.1105 11.4397 10.1105 11.8196 9.87617 12.0539C9.64185 12.2882 9.26195 12.2882 9.02764 12.0539L8.00007 11.0263L6.97251 12.0539C6.73819 12.2882 6.35829 12.2882 6.12398 12.0539C5.88966 11.8196 5.88966 11.4397 6.12398 11.2054L7.15154 10.1778L6.12398 9.15024C5.88966 8.91593 5.88966 8.53603 6.12398 8.30171Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.75332 5.22217C3.86966 5.22217 3.15332 5.93851 3.15332 6.82217V12.5331C3.15332 13.9691 4.31738 15.1332 5.75332 15.1332H10.2465C11.6825 15.1332 12.8465 13.9691 12.8465 12.5331V6.82217C12.8465 5.93851 12.1302 5.22217 11.2465 5.22217H4.75332ZM4.35332 6.82217C4.35332 6.60125 4.53241 6.42217 4.75332 6.42217H11.2465C11.4674 6.42217 11.6465 6.60125 11.6465 6.82217V12.5331C11.6465 13.3063 11.0197 13.9332 10.2465 13.9332H5.75332C4.98012 13.9332 4.35332 13.3063 4.35332 12.5331V6.82217Z",fillRule:"evenodd",clipRule:"evenodd"}}]},it=y.forwardRef(function(e,t){return y.createElement(J,Object.assign({},e,{id:"delete-icon",ref:t,icon:xt}))});it.displayName="DeleteIcon";const Lt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.4208 1.53335C12.4208 1.20198 12.1522 0.93335 11.8208 0.93335C11.4895 0.93335 11.2208 1.20198 11.2208 1.53335V13.0181L9.97861 11.7758C9.7443 11.5415 9.3644 11.5415 9.13008 11.7758C8.89577 12.0101 8.89577 12.39 9.13008 12.6244L11.3967 14.891C11.6311 15.1253 12.011 15.1253 12.2453 14.891L14.5119 12.6244C14.7463 12.39 14.7463 12.0101 14.5119 11.7758C14.2776 11.5415 13.8977 11.5415 13.6634 11.7758L12.4208 13.0184V1.53335Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.98967 10.2798C1.6583 10.2798 1.38967 10.0112 1.38967 9.67983C1.38967 9.34846 1.6583 9.07983 1.98967 9.07983H6.50138C6.74406 9.07983 6.96284 9.22602 7.05571 9.45022C7.14858 9.67443 7.09725 9.9325 6.92565 10.1041L3.43819 13.5916H6.50138C6.83276 13.5916 7.10138 13.8602 7.10138 14.1916C7.10138 14.5229 6.83276 14.7916 6.50138 14.7916H1.98967C1.74699 14.7916 1.52821 14.6454 1.43534 14.4212C1.34247 14.197 1.3938 13.9389 1.5654 13.7673L5.05286 10.2798H1.98967Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.1846 1.86439C4.8641 0.989866 3.62725 0.989866 3.30674 1.86439L1.34882 7.20672C1.23479 7.51786 1.39458 7.86252 1.70571 7.97655C2.01684 8.09058 2.3615 7.93079 2.47553 7.61966L3.06159 6.02055L3.06338 6.02056H5.42975L6.01581 7.61966C6.12984 7.93079 6.4745 8.09058 6.78563 7.97655C7.09677 7.86252 7.25655 7.51786 7.14252 7.20672L5.1846 1.86439ZM4.98996 4.82056L4.24567 2.78971L3.50138 4.82056H4.98996Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ot=y.forwardRef(function(e,t){return y.createElement(J,Object.assign({},e,{id:"descending-icon",ref:t,icon:Lt}))});ot.displayName="DescendingIcon";const $t={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.85869 12.9216C8.38445 13.4708 7.61555 13.4708 7.14131 12.9216L0.358114 5.06726C-0.406895 4.18144 0.134916 2.66683 1.2168 2.66683L14.7832 2.66683C15.8651 2.66683 16.4069 4.18144 15.6419 5.06726L8.85869 12.9216Z"}}]},ge=y.forwardRef(function(e,t){return y.createElement(J,Object.assign({},e,{id:"dropdown-icon",ref:t,icon:$t}))});ge.displayName="DropdownIcon";const kt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.33333 3.33333V6H6V3.33333H3.33333ZM2 3.238C2 2.55427 2.55427 2 3.238 2H6.09533C6.77906 2 7.33333 2.55427 7.33333 3.238V6.09533C7.33333 6.77906 6.77906 7.33333 6.09533 7.33333H3.238C2.55427 7.33333 2 6.77906 2 6.09533V3.238ZM10 3.33333V6H12.6667V3.33333H10ZM8.66667 3.238C8.66667 2.55427 9.22094 2 9.90467 2H12.762C13.4457 2 14 2.55427 14 3.238V6.09533C14 6.77906 13.4457 7.33333 12.762 7.33333H9.90467C9.22094 7.33333 8.66667 6.77906 8.66667 6.09533V3.238ZM3.33333 10V12.6667H6V10H3.33333ZM2 9.90467C2 9.22094 2.55427 8.66667 3.238 8.66667H6.09533C6.77906 8.66667 7.33333 9.22094 7.33333 9.90467V12.762C7.33333 13.4457 6.77906 14 6.09533 14H3.238C2.55427 14 2 13.4457 2 12.762V9.90467ZM10 10V12.6667H12.6667V10H10ZM8.66667 9.90467C8.66667 9.22094 9.22094 8.66667 9.90467 8.66667H12.762C13.4457 8.66667 14 9.22094 14 9.90467V12.762C14 13.4457 13.4457 14 12.762 14H9.90467C9.22094 14 8.66667 13.4457 8.66667 12.762V9.90467Z",fillRule:"evenodd",clipRule:"evenodd"}}]},lt=y.forwardRef(function(e,t){return y.createElement(J,Object.assign({},e,{id:"grid-outline-icon",ref:t,icon:kt}))});lt.displayName="GridOutlineIcon";const Pt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M11.3536 6.14645C11.5488 6.34171 11.5488 6.65829 11.3536 6.85355L8.35355 9.85355C8.15829 10.0488 7.84171 10.0488 7.64645 9.85355L4.64645 6.85355C4.45118 6.65829 4.45118 6.34171 4.64645 6.14645C4.84171 5.95118 5.15829 5.95118 5.35355 6.14645L8 8.79289L10.6464 6.14645C10.8417 5.95118 11.1583 5.95118 11.3536 6.14645Z",fillRule:"evenodd",clipRule:"evenodd"}}]},je=y.forwardRef(function(e,t){return y.createElement(J,Object.assign({},e,{id:"more-down-icon",ref:t,icon:Pt}))});je.displayName="MoreDownIcon";const Ot={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.80068 2.57257L7.27955 2.57256C7.61092 2.57256 7.87954 2.30393 7.87954 1.97256C7.87954 1.64119 7.61091 1.37256 7.27954 1.37256L3.80068 1.37257C2.36473 1.37257 1.20067 2.53665 1.20068 3.97259L1.20074 12.3001C1.20075 13.736 2.36481 14.9 3.80074 14.9H12.1282C13.5641 14.9 14.7282 13.736 14.7282 12.3V8.82116C14.7282 8.48979 14.4595 8.22116 14.1282 8.22116C13.7968 8.22116 13.5282 8.48979 13.5282 8.82116V12.3C13.5282 13.0732 12.9014 13.7 12.1282 13.7H3.80074C3.02754 13.7 2.40074 13.0732 2.40074 12.3001L2.40068 3.97258C2.40068 3.19938 3.02748 2.57257 3.80068 2.57257Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.0072 2.0955C13.0997 1.18757 11.6278 1.18794 10.7207 2.09632L6.17749 6.646C6.10294 6.72065 6.04543 6.81056 6.00889 6.90954L4.59817 10.7315C4.51713 10.951 4.57116 11.1977 4.73657 11.3633C4.90198 11.5288 5.14858 11.5831 5.36823 11.5023L9.20237 10.0916C9.30186 10.055 9.3922 9.99722 9.46714 9.92224L14.0073 5.37972C14.9139 4.47266 14.9138 3.00252 14.0072 2.0955ZM11.5698 2.94424C12.0083 2.50513 12.7198 2.50496 13.1585 2.94384C13.5968 3.38229 13.5968 4.09294 13.1585 4.53141L8.69127 9.00102L6.1742 9.92713L7.09912 7.42132L11.5698 2.94424Z",fillRule:"evenodd",clipRule:"evenodd"}}]},st=y.forwardRef(function(e,t){return y.createElement(J,Object.assign({},e,{id:"rename-icon",ref:t,icon:Ot}))});st.displayName="RenameIcon";const Bt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.7643 4.13354C1.7643 2.82523 2.82488 1.76465 4.13319 1.76465H11.8665C13.1748 1.76465 14.2354 2.82524 14.2354 4.13354V11.8669C14.2354 13.1752 13.1748 14.2358 11.8665 14.2358H4.13318C2.82488 14.2358 1.7643 13.1752 1.7643 11.8669V6.1462C1.76388 6.13711 1.76367 6.12797 1.76367 6.11878C1.76367 6.10959 1.76388 6.10045 1.7643 6.09136V4.13354ZM2.94652 6.70989V11.8669C2.94652 12.5222 3.47781 13.0535 4.13318 13.0535H5.52732V6.70989H2.94652ZM5.52732 5.52767H2.94652V4.13354C2.94652 3.47816 3.47781 2.94687 4.13319 2.94687H5.52732V5.52767ZM6.70954 6.70989V13.0535H11.8665C12.5219 13.0535 13.0532 12.5222 13.0532 11.8669V6.70989L6.70954 6.70989ZM13.0532 5.52767L6.70954 5.52767V2.94687H11.8665C12.5219 2.94687 13.0532 3.47816 13.0532 4.13354V5.52767Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ct=y.forwardRef(function(e,t){return y.createElement(J,Object.assign({},e,{id:"table-icon",ref:t,icon:Bt}))});ct.displayName="TableIcon";const Rt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.01281 1.36643C8.79386 0.585377 10.0602 0.585378 10.8412 1.36643L12.9223 3.44752C13.7034 4.22857 13.7034 5.4949 12.9223 6.27595L9.36445 9.83383C8.5834 10.6149 7.31707 10.6149 6.53602 9.83383L4.45493 7.75273C3.67388 6.97168 3.67388 5.70535 4.45493 4.9243L8.01281 1.36643ZM9.9927 2.21495C9.68028 1.90253 9.17375 1.90253 8.86133 2.21495L5.30346 5.77283L5.29671 5.77966L10.839 6.66224L12.0738 5.42742C12.3862 5.115 12.3862 4.60847 12.0738 4.29605L9.9927 2.21495Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.5179 9.48875C14.5179 9.99175 14.1101 10.3995 13.607 10.3995C13.1041 10.3995 12.6963 9.99175 12.6963 9.48875C12.6963 9.1773 13.0455 8.59966 13.3114 8.20487C13.4549 7.99177 13.7591 7.99177 13.9027 8.20486C14.1687 8.59965 14.5179 9.1773 14.5179 9.48875Z"}},{tag:"path",attrs:{fill:"colorChannel1",d:"M1.98682 13.4992C1.98682 12.5603 2.74793 11.7992 3.68682 11.7992H14.2868C15.2257 11.7992 15.9868 12.5603 15.9868 13.4992V13.4992C15.9868 14.4381 15.2257 15.1992 14.2868 15.1992H3.68682C2.74793 15.1992 1.98682 14.4381 1.98682 13.4992V13.4992Z"}}]},ut=y.forwardRef(function(e,t){return y.createElement(J,Object.assign({},e,{id:"paint-bucket-double-icon",ref:t,icon:Rt}))});ut.displayName="PaintBucketDoubleIcon";var ie=(a=>(a.Items="items",a.Condition="condition",a))(ie||{}),Ft=Object.getOwnPropertyDescriptor,Vt=(a,e,t,r)=>{for(var i=r>1?void 0:r?Ft(e,t):e,o=a.length-1,c;o>=0;o--)(c=a[o])&&(i=c(i)||i);return i},Ce=(a,e)=>(t,r)=>e(t,r,a);let ve=class extends s.Disposable{constructor(e,t,r,i,o){super();A(this,"_itemsCache",new Map);this._tableManager=e,this._sheetTableService=t,this._univerInstanceService=r,this._commandService=i,this._localeService=o,this._registerTableFilterChangeEvent()}_registerTableFilterChangeEvent(){this._commandService.onCommandExecuted(e=>{if(e.id===P.SetRangeValuesMutation.id){const{unitId:t,subUnitId:r,cellValue:i}=e.params,o=this._tableManager.getTablesBySubunitId(t,r);if(!o.length)return;new s.ObjectMatrix(i).forValue((u,d,v)=>{const m=s.cellToRange(u,d),b=o.find(T=>{const w=T.getTableFilterRange();return s.Rectangle.intersects(w,m)});if(b){const T=d-b.getRange().startColumn;this._itemsCache.delete(b.getId()+T)}})}else if(e.id===n.SetSheetTableFilterCommand.id){const{unitId:t,tableId:r}=e.params,i=this._tableManager.getTable(t,r);if(!i)return;const o=i.getSubunitId();this._tableManager.getTablesBySubunitId(t,o).forEach(u=>{const d=u.getRange();for(let v=d.startColumn;v<=d.endColumn;v++)this._itemsCache.delete(u.getId()+v)})}})}getTableFilterPanelInitProps(e,t,r,i){const o=this._tableManager.getTable(e,r),c=o.getRange(),u=o.getTableFilterColumn(i-c.startColumn);return{unitId:e,subUnitId:t,tableFilter:u,currentFilterBy:n.isConditionFilter(u)?ie.Condition:ie.Items,tableId:r,columnIndex:i-c.startColumn}}getTableFilterCheckedItems(e,t,r){const i=this._tableManager.getTable(e,t),o=[];if(i){const c=i.getTableFilterColumn(r);c&&n.isManualFilter(c)&&o.push(...c.values)}return o}setTableFilter(e,t,r,i){if(!this._tableManager.getTable(e,t))return;const c={unitId:e,tableId:t,column:r,tableFilter:i};this._commandService.executeCommand(n.SetSheetTableFilterCommand.id,c)}getTableFilterItems(e,t,r,i){var k;if(this._itemsCache.has(r+i))return this._itemsCache.get(r+i)||{data:[],itemsCountMap:new Map,allItemsCount:0};const o=this._tableManager.getTable(e,r);if(!o)return{data:[],itemsCountMap:new Map,allItemsCount:0};const c=o.getTableFilterRange(),{startRow:u,endRow:d,startColumn:v}=c,m=v+i,b=(k=this._univerInstanceService.getUnit(e))==null?void 0:k.getSheetBySheetId(t);if(!b)return{data:[],itemsCountMap:new Map,allItemsCount:0};const T=[],w=new Map;let I=0;for(let E=u;E<=d;E++){if(b.isRowFiltered(E))continue;let D=this._sheetTableService.getCellValueWithConditionType(b,E,m);D===void 0&&(D=this._localeService.t("sheets-table.condition.empty")),w.has(D)||T.push({title:D,key:`${m}_${E}`,leaf:!0}),I++,w.set(D,(w.get(D)||0)+1)}return this._itemsCache.set(r+i,{data:T,itemsCountMap:w,allItemsCount:I}),{data:T,itemsCountMap:w,allItemsCount:I}}};ve=Vt([Ce(0,s.Inject(n.TableManager)),Ce(1,s.Inject(n.SheetTableService)),Ce(2,s.Inject(s.IUniverInstanceService)),Ce(3,s.ICommandService),Ce(4,s.Inject(s.LocaleService))],ve);var j=(a=>(a.DatePicker="DatePicker",a.DateRange="DateRange",a.Input="Input",a.Inputs="Inputs",a.Select="Select",a.None="None",a))(j||{});function Ht(a){const t=a.get(s.LocaleService).t;return[{value:n.TableConditionTypeEnum.String,label:t(`sheets-table.condition.${n.TableConditionTypeEnum.String}`),children:[{value:n.TableStringCompareTypeEnum.Equal,label:t(`sheets-table.string.compare.${n.TableStringCompareTypeEnum.Equal}`)},{value:n.TableStringCompareTypeEnum.NotEqual,label:t(`sheets-table.string.compare.${n.TableStringCompareTypeEnum.NotEqual}`)},{value:n.TableStringCompareTypeEnum.Contains,label:t(`sheets-table.string.compare.${n.TableStringCompareTypeEnum.Contains}`)},{value:n.TableStringCompareTypeEnum.NotContains,label:t(`sheets-table.string.compare.${n.TableStringCompareTypeEnum.NotContains}`)},{value:n.TableStringCompareTypeEnum.StartsWith,label:t(`sheets-table.string.compare.${n.TableStringCompareTypeEnum.StartsWith}`)},{value:n.TableStringCompareTypeEnum.EndsWith,label:t(`sheets-table.string.compare.${n.TableStringCompareTypeEnum.EndsWith}`)}]},{value:n.TableConditionTypeEnum.Number,label:t(`sheets-table.condition.${n.TableConditionTypeEnum.Number}`),children:[{value:n.TableNumberCompareTypeEnum.Equal,label:t(`sheets-table.number.compare.${n.TableNumberCompareTypeEnum.Equal}`)},{value:n.TableNumberCompareTypeEnum.NotEqual,label:t(`sheets-table.number.compare.${n.TableNumberCompareTypeEnum.NotEqual}`)},{value:n.TableNumberCompareTypeEnum.GreaterThan,label:t(`sheets-table.number.compare.${n.TableNumberCompareTypeEnum.GreaterThan}`)},{value:n.TableNumberCompareTypeEnum.GreaterThanOrEqual,label:t(`sheets-table.number.compare.${n.TableNumberCompareTypeEnum.GreaterThanOrEqual}`)},{value:n.TableNumberCompareTypeEnum.LessThan,label:t(`sheets-table.number.compare.${n.TableNumberCompareTypeEnum.LessThan}`)},{value:n.TableNumberCompareTypeEnum.LessThanOrEqual,label:t(`sheets-table.number.compare.${n.TableNumberCompareTypeEnum.LessThanOrEqual}`)},{value:n.TableNumberCompareTypeEnum.Between,label:t(`sheets-table.number.compare.${n.TableNumberCompareTypeEnum.Between}`)},{value:n.TableNumberCompareTypeEnum.NotBetween,label:t(`sheets-table.number.compare.${n.TableNumberCompareTypeEnum.NotBetween}`)},{value:n.TableNumberCompareTypeEnum.Above,label:t(`sheets-table.number.compare.${n.TableNumberCompareTypeEnum.Above}`)},{value:n.TableNumberCompareTypeEnum.Below,label:t(`sheets-table.number.compare.${n.TableNumberCompareTypeEnum.Below}`)}]},{value:n.TableConditionTypeEnum.Date,label:t(`sheets-table.condition.${n.TableConditionTypeEnum.Date}`),children:[{value:n.TableDateCompareTypeEnum.Equal,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.Equal}`)},{value:n.TableDateCompareTypeEnum.NotEqual,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.NotEqual}`)},{value:n.TableDateCompareTypeEnum.After,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.After}`)},{value:n.TableDateCompareTypeEnum.AfterOrEqual,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.AfterOrEqual}`)},{value:n.TableDateCompareTypeEnum.Before,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.Before}`)},{value:n.TableDateCompareTypeEnum.BeforeOrEqual,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.BeforeOrEqual}`)},{value:n.TableDateCompareTypeEnum.Between,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.Between}`)},{value:n.TableDateCompareTypeEnum.NotBetween,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.NotBetween}`)},{value:n.TableDateCompareTypeEnum.Today,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.Today}`)},{value:n.TableDateCompareTypeEnum.Yesterday,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.Yesterday}`)},{value:n.TableDateCompareTypeEnum.Tomorrow,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.Tomorrow}`)},{value:n.TableDateCompareTypeEnum.ThisWeek,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.ThisWeek}`)},{value:n.TableDateCompareTypeEnum.LastWeek,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.LastWeek}`)},{value:n.TableDateCompareTypeEnum.NextWeek,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.NextWeek}`)},{value:n.TableDateCompareTypeEnum.ThisMonth,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.ThisMonth}`)},{value:n.TableDateCompareTypeEnum.LastMonth,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.LastMonth}`)},{value:n.TableDateCompareTypeEnum.NextMonth,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.NextMonth}`)},{value:n.TableDateCompareTypeEnum.ThisYear,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.ThisYear}`)},{value:n.TableDateCompareTypeEnum.LastYear,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.LastYear}`)},{value:n.TableDateCompareTypeEnum.NextYear,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.NextYear}`)},{value:n.TableDateCompareTypeEnum.Quarter,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.Quarter}`)},{value:n.TableDateCompareTypeEnum.Month,label:t(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.Month}`)}]}]}function Ut(a,e){if(!e)return[];const r=a.get(s.LocaleService).t;switch(e){case n.TableDateCompareTypeEnum.Quarter:return[{value:n.TableDateCompareTypeEnum.Q1,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.Q1}`)},{value:n.TableDateCompareTypeEnum.Q2,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.Q2}`)},{value:n.TableDateCompareTypeEnum.Q3,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.Q3}`)},{value:n.TableDateCompareTypeEnum.Q4,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.Q4}`)}];case n.TableDateCompareTypeEnum.Month:return[{value:n.TableDateCompareTypeEnum.M1,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.M1}`)},{value:n.TableDateCompareTypeEnum.M2,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.M2}`)},{value:n.TableDateCompareTypeEnum.M3,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.M3}`)},{value:n.TableDateCompareTypeEnum.M4,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.M4}`)},{value:n.TableDateCompareTypeEnum.M5,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.M5}`)},{value:n.TableDateCompareTypeEnum.M6,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.M6}`)},{value:n.TableDateCompareTypeEnum.M7,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.M7}`)},{value:n.TableDateCompareTypeEnum.M8,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.M8}`)},{value:n.TableDateCompareTypeEnum.M9,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.M9}`)},{value:n.TableDateCompareTypeEnum.M10,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.M10}`)},{value:n.TableDateCompareTypeEnum.M11,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.M11}`)},{value:n.TableDateCompareTypeEnum.M12,label:r(`sheets-table.date.compare.${n.TableDateCompareTypeEnum.M12}`)}];default:return[]}}const We=new Set([n.TableDateCompareTypeEnum.Equal,n.TableDateCompareTypeEnum.NotEqual,n.TableDateCompareTypeEnum.After,n.TableDateCompareTypeEnum.AfterOrEqual,n.TableDateCompareTypeEnum.Before,n.TableDateCompareTypeEnum.BeforeOrEqual]);function At(a,e){return e?a===n.TableConditionTypeEnum.String?j.Input:a===n.TableConditionTypeEnum.Number?e===n.TableNumberCompareTypeEnum.Between||e===n.TableNumberCompareTypeEnum.NotBetween?j.Inputs:j.Input:a===n.TableConditionTypeEnum.Date?e===n.TableDateCompareTypeEnum.Between||e===n.TableDateCompareTypeEnum.NotBetween?j.DateRange:e===n.TableDateCompareTypeEnum.Quarter||e===n.TableDateCompareTypeEnum.Month?j.Select:We.has(e)?j.DatePicker:j.None:j.None:j.None}function jt(a){if(!a||a.filterType!=="condition")return{type:n.TableConditionTypeEnum.String,compareType:n.TableStringCompareTypeEnum.Equal,info:{}};const e=a.filterInfo,{conditionType:t,compareType:r}=e;if(t===n.TableConditionTypeEnum.Date)if(r===n.TableDateCompareTypeEnum.Between||r===n.TableDateCompareTypeEnum.NotBetween){let i;return Array.isArray(e.expectedValue)&&(i=e.expectedValue.map(o=>typeof o=="string"?new Date(o):o)),{type:t,compare:r,info:{dateRange:i}}}else{if(r===n.TableDateCompareTypeEnum.Today||r===n.TableDateCompareTypeEnum.Yesterday||r===n.TableDateCompareTypeEnum.Tomorrow||r===n.TableDateCompareTypeEnum.ThisWeek||r===n.TableDateCompareTypeEnum.LastWeek||r===n.TableDateCompareTypeEnum.NextWeek||r===n.TableDateCompareTypeEnum.ThisMonth||r===n.TableDateCompareTypeEnum.LastMonth||r===n.TableDateCompareTypeEnum.NextMonth||r===n.TableDateCompareTypeEnum.ThisYear||r===n.TableDateCompareTypeEnum.LastYear||r===n.TableDateCompareTypeEnum.NextYear)return{type:t,compare:r,info:{}};if(We.has(r)){let i;if(typeof e.expectedValue=="string")i=new Date(e.expectedValue);else if(Array.isArray(e.expectedValue))for(let o=0;o<e.expectedValue.length;o++)typeof e.expectedValue[o]=="string"&&(e.expectedValue[o]=new Date(e.expectedValue[o]));return{type:t,compare:r,info:{date:i}}}else return new Set([n.TableDateCompareTypeEnum.Q1,n.TableDateCompareTypeEnum.Q2,n.TableDateCompareTypeEnum.Q3,n.TableDateCompareTypeEnum.Q4]).has(r)?{type:t,compare:n.TableDateCompareTypeEnum.Quarter,info:{dateSelect:e.compareType}}:{type:t,compare:n.TableDateCompareTypeEnum.Month,info:{dateSelect:e.compareType}}}else{if(t===n.TableConditionTypeEnum.Number)return r===n.TableNumberCompareTypeEnum.Between||r===n.TableNumberCompareTypeEnum.NotBetween?{type:t,compare:r,info:{numberRange:e.expectedValue}}:{type:t,compare:r,info:{number:e.expectedValue}};if(t===n.TableConditionTypeEnum.String)return{type:t,compare:r,info:{string:e.expectedValue}}}return{type:n.TableConditionTypeEnum.String,compare:n.TableStringCompareTypeEnum.Equal,info:{}}}const Wt=a=>{var w,I,k,E,O,D,V,N;const{conditionInfo:e,onChange:t}=a,r=h.useDependency(s.LocaleService),[i,o]=y.useState(!1),c=h.useDependency(s.Injector),u=Ht(c),d=(g,L,M)=>{t({type:L!=null?L:e.type,compare:M!=null?M:e.compare,info:g})},v=g=>{var F;const L=g[0],M=g[1];M&&o(!1);const f={};L===n.TableConditionTypeEnum.Date?M===n.TableDateCompareTypeEnum.Quarter?f.dateSelect=n.TableDateCompareTypeEnum.Q1:M===n.TableDateCompareTypeEnum.Month?f.dateSelect=n.TableDateCompareTypeEnum.M1:We.has(M)?f.date=new Date:f.dateRange=[new Date,new Date]:L===n.TableConditionTypeEnum.Number?f.number=0:L===n.TableConditionTypeEnum.String&&(f.string=""),d(f,g[0],(F=g[1])!=null?F:n.TableStringCompareTypeEnum.Equal)},m=At(e.type,e.compare);let b="";e.compare?b=`${r.t(`sheets-table.condition.${e.type}`)} - ${r.t(`sheets-table.${e.type}.compare.${e.compare}`)}`:b=r.t(`sheets-table.condition.${e.type}`);const T=Ut(c,e.compare);return l.jsxs("div",{children:[l.jsx(p.Dropdown,{align:"start",open:i,onOpenChange:o,overlay:l.jsx(p.CascaderList,{value:[e.type,e.compare],options:u,onChange:v,contentClassName:"univer-flex-1",wrapperClassName:"!univer-h-[150px]"}),children:l.jsxs("div",{className:p.clsx("univer-box-border univer-flex univer-h-8 univer-w-full univer-items-center univer-justify-between univer-rounded-md univer-bg-white univer-px-2 univer-text-sm univer-transition-colors univer-duration-200 hover:univer-border-primary-600 focus:univer-border-primary-600 focus:univer-outline-none focus:univer-ring-2 dark:!univer-bg-gray-700 dark:!univer-text-white",p.borderClassName),children:[l.jsx("span",{children:b}),l.jsx(je,{})]})}),l.jsxs("div",{className:"univer-mt-3 univer-w-full",children:[m===j.Input&&l.jsx(l.Fragment,{children:e.type===n.TableConditionTypeEnum.String?l.jsx(p.Input,{className:"univer-w-full",placeholder:"请输入",value:e.info.string,onChange:g=>d({string:g})}):l.jsx(p.InputNumber,{className:"univer-h-7 univer-w-full",value:e.info.number,controls:!1,onChange:g=>{g!==null&&d({number:g})}})}),m===j.DatePicker&&l.jsx("div",{id:"univer-table-date-picker-wrapper",children:l.jsx(p.DatePicker,{className:"univer-w-full",value:(w=e.info.date)!=null?w:new Date,onValueChange:g=>d({date:g})})}),m===j.DateRange&&l.jsx("div",{id:"univer-table-date-range-wrapper",children:l.jsx(p.DateRangePicker,{className:"univer-w-full",value:[(k=(I=e.info.dateRange)==null?void 0:I[0])!=null?k:new Date,(O=(E=e.info.dateRange)==null?void 0:E[1])!=null?O:new Date],onValueChange:g=>{d(g?{dateRange:g}:{})}})}),m===j.Inputs&&l.jsxs("div",{className:"univer-flex univer-items-center univer-gap-2",children:[l.jsx(p.InputNumber,{className:"univer-w-full",value:(D=e.info.numberRange)==null?void 0:D[0],onChange:g=>{var L;g!==null&&d({numberRange:[g,(L=e.info.numberRange)==null?void 0:L[1]]})},controls:!1}),l.jsx("span",{children:" - "}),l.jsx(p.InputNumber,{className:"univer-w-full",value:(V=e.info.numberRange)==null?void 0:V[1],controls:!1,onChange:g=>{var L;g!==null&&d({numberRange:[(L=e.info.numberRange)==null?void 0:L[0],g]})}})]}),m===j.Select&&l.jsx(p.Select,{className:"univer-w-full",value:(N=e.info.dateSelect)!=null?N:T[0].value,options:T,onChange:g=>d({dateSelect:g})})]})]})},Zt=a=>{let e=0;return a.forEach(t=>{e+=t}),e};function qt(a){const{unitId:e,tableId:t,subUnitId:r,columnIndex:i,checkedItemSet:o,setCheckedItemSet:c,tableFilter:u}=a,d=h.useDependency(s.LocaleService),v=h.useDependency(ve),{data:m,itemsCountMap:b,allItemsCount:T}=v.getTableFilterItems(e,r,t,i),[w,I]=y.useState(u===void 0?!0:o.size===b.size),[k,E]=y.useState(w?T:Zt(b)),O=!w&&o.size>0,[D,V]=y.useState(""),N=y.useMemo(()=>D?m.filter(f=>String(f.title).toLowerCase().includes(D.toLowerCase())):m,[D,m]),g=y.useCallback(()=>{w?(o.clear(),c(new Set(o)),I(!1)):(N.forEach(f=>{o.add(f.title)}),c(new Set(o)),I(!0))},[w]),L=y.useCallback(f=>{f===""?(I(!0),m.forEach(F=>{o.add(F.title)}),E(T)):(o.clear(),I(!1),E(0)),V(f)},[]),M=f=>{if(w){I(!1);const F=new Set;for(const{title:B}of m)f!==B&&F.add(B);E(T-b.get(f)),c(F)}else o.has(f)?(o.delete(f),E(k-b.get(f))):(o.add(f),E(k+b.get(f))),c(new Set(o))};return l.jsxs("div",{className:"univer-flex univer-h-full univer-flex-col",children:[l.jsx(p.Input,{autoFocus:!0,value:D,placeholder:d.t("sheets-table.filter.search-placeholder"),onChange:L}),l.jsx("div",{className:p.clsx("univer-mt-2 univer-box-border univer-flex univer-h-[180px] univer-max-h-[180px] univer-flex-grow univer-flex-col univer-overflow-hidden univer-rounded-md univer-py-1.5 univer-pl-2",p.borderClassName),children:l.jsx("div",{className:p.clsx("univer-h-40 univer-overflow-y-auto univer-py-1 univer-pl-2",p.scrollbarClassName),children:l.jsxs("div",{className:"univer-h-full",children:[l.jsx("div",{className:"univer-flex univer-items-center univer-px-2 univer-py-1",children:l.jsx(p.Checkbox,{indeterminate:O,disabled:m.length===0,checked:w,onChange:g,children:l.jsxs("div",{className:"univer-flex univer-h-5 univer-flex-1 univer-items-center univer-text-sm",children:[l.jsx("span",{className:"univer-inline-block univer-truncate",children:`${d.t("sheets-table.filter.select-all")}`}),l.jsx("span",{className:"univer-ml univer-text-gray-400",children:`(${k}/${D?N.length:T})`})]})})}),N.map(f=>l.jsx("div",{className:"univer-flex univer-items-center univer-px-2 univer-py-1",children:l.jsx(p.Checkbox,{checked:w||o.has(f.title),onChange:()=>{M(f.title)},children:l.jsxs("div",{className:"univer-flex univer-h-5 univer-flex-1 univer-text-sm",children:[l.jsx("span",{className:"univer-inline-block univer-truncate",children:f.title}),l.jsx("span",{className:"univer-ml-1 univer-text-gray-400",children:`(${b.get(f.title)||0})`})]})})},f.key))]})})})]})}function Yt(){var se;const a=h.useDependency(s.LocaleService),e=Qt(a),t=h.useDependency(ve),r=h.useDependency(n.TableManager),i=h.useDependency(s.ICommandService),o=h.useDependency(s.IPermissionService),c=h.useDependency(he),u=c.getCurrentTableFilterInfo(),d=t.getTableFilterPanelInitProps(u.unitId,u.subUnitId,u.tableId,u.column),{unitId:v,subUnitId:m,tableId:b,tableFilter:T,currentFilterBy:w,columnIndex:I}=d,{data:k}=t.getTableFilterItems(v,m,b,I),E=t.getTableFilterCheckedItems(v,b,I),[O,D]=y.useState(new Set(E)),[V,N]=y.useState(w||ie.Items),[g,L]=y.useState(()=>{const C=d.tableFilter;return jt(C)}),M=r.getTable(v,b);if(!M)return null;const f=M.getTableFilters(),F=f.getSortState();F.columnIndex===I&&(F.sortState,n.SheetsTableSortStateEnum.Asc),F.columnIndex===I&&(F.sortState,n.SheetsTableSortStateEnum.Desc);const B=()=>{c.closeFilterPanel()},Z=()=>{B()},H=C=>{const R=M.getTableFilterRange();i.executeCommand(He.SortRangeCommand.id,{unitId:v,subUnitId:m,range:R,orderRules:[{colIndex:I+R.startColumn,type:C?He.SortType.ASC:He.SortType.DESC}],hasTitle:!1}),f.setSortState(I,C?n.SheetsTableSortStateEnum.Asc:n.SheetsTableSortStateEnum.Desc),B()},X=()=>{if(V===ie.Items){const C=[];for(const q of k)O.has(q.title)&&C.push(q.title);const R=M.getTableFilterColumn(I);if(R){if(R.values.join(",")===C.join(",")){B();return}}else if(C.length===0){B();return}const U={filterType:n.TableColumnFilterTypeEnum.manual,values:C};t.setTableFilter(v,b,I,U)}else{let C;g.compare===n.TableDateCompareTypeEnum.Quarter||g.compare===n.TableDateCompareTypeEnum.Month?C={conditionType:g.type,compareType:Object.values(g.info)[0]}:C={conditionType:g.type,compareType:g.compare,expectedValue:Object.values(g.info)[0]};const R={filterType:n.TableColumnFilterTypeEnum.condition,filterInfo:C};t.setTableFilter(v,b,I,R)}B()},oe=()=>{t.setTableFilter(v,b,I,void 0),B()},le=new P.WorkbookEditablePermission(v).id,ue=(se=o.getPermissionPoint(le))==null?void 0:se.value;return l.jsxs("div",{className:"univer-box-border univer-flex univer-min-w-[312px] univer-flex-col univer-rounded-[10px] univer-bg-white univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-700",children:[ue&&l.jsx("div",{className:"univer-mb-3 univer-flex",children:l.jsxs(p.ButtonGroup,{className:"univer-mb-3 !univer-flex univer-w-full",children:[l.jsxs(p.Button,{className:"univer-w-1/2",onClick:()=>H(!0),children:[l.jsx(at,{className:"univer-mr-1"}),a.t("sheets-sort.general.sort-asc")]}),l.jsxs(p.Button,{className:"univer-w-1/2",onClick:()=>H(!1),children:[l.jsx(ot,{className:"univer-mr-1"}),a.t("sheets-sort.general.sort-desc")]})]})}),l.jsx("div",{className:"univer-w-full",children:l.jsx(p.Segmented,{value:V,items:e,onChange:C=>N(C)})}),l.jsx("div",{className:"univer-z-10 univer-h-60",children:l.jsx("div",{className:"univer-mt-3 univer-h-full univer-w-full",children:V===ie.Items?l.jsx(qt,{tableFilter:T,unitId:v,subUnitId:m,tableId:b,columnIndex:I,checkedItemSet:O,setCheckedItemSet:D}):l.jsx(Wt,{tableFilter:T,unitId:v,subUnitId:m,tableId:b,columnIndex:I,conditionInfo:g,onChange:L})})}),l.jsxs("div",{className:"univer-flex-wrap-nowrap univer-mt-4 univer-inline-flex univer-flex-shrink-0 univer-flex-grow-0 univer-justify-between univer-gap-6 univer-overflow-hidden",children:[l.jsx(p.Button,{disabled:T===void 0,onClick:oe,children:a.t("sheets-table.filter.clear-filter")}),l.jsxs("div",{children:[l.jsx(p.Button,{className:"univer-mr-2",onClick:Z,children:a.t("sheets-table.filter.cancel")}),l.jsx(p.Button,{variant:"primary",onClick:X,children:a.t("sheets-table.filter.confirm")})]})]})]})}function Qt(a){const e=a.getCurrentLocale();return y.useMemo(()=>[{label:a.t("sheets-table.filter.by-values"),value:ie.Items},{label:a.t("sheets-table.filter.by-conditions"),value:ie.Condition}],[e,a])}var Gt=Object.getOwnPropertyDescriptor,Xt=(a,e,t,r)=>{for(var i=r>1?void 0:r?Gt(e,t):e,o=a.length-1,c;o>=0;o--)(c=a[o])&&(i=c(i)||i);return i},Le=(a,e)=>(t,r)=>e(t,r,a);let he=class extends s.Disposable{constructor(e,t,r,i){super();A(this,"_popupDisposable");A(this,"_currentTableFilterInfo",null);this._componentManager=e,this._contextService=t,this._sheetCanvasPopupService=r,this._dialogService=i,this._initComponents(),this._initUIPopup()}setCurrentTableFilterInfo(e){this._currentTableFilterInfo=e}clearCurrentTableFilterInfo(){this._currentTableFilterInfo=null}getCurrentTableFilterInfo(){return this._currentTableFilterInfo}_initComponents(){[[re,Yt]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initUIPopup(){this.disposeWithMe(this._contextService.subscribeContextValue$(re).pipe(x.startWith(void 0),x.distinctUntilChanged()).subscribe(e=>{e?this._openFilterPopup():e===!1&&this._closeFilterPopup()}))}closeFilterPanel(){this._contextService.setContextValue(re,!1)}_openFilterPopup(){const e=this._currentTableFilterInfo;if(!e)throw new Error("[SheetsFilterUIController]: no filter model when opening filter popup!");const{row:t,column:r}=e;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(t,r,{componentKey:re,direction:"horizontal",onClickOutside:()=>{this._dialogService.close(Et),this._contextService.setContextValue(re,!1)},offset:[5,0],portal:!0})}_closeFilterPopup(){var e;(e=this._popupDisposable)==null||e.dispose(),this._popupDisposable=null,this.clearCurrentTableFilterInfo()}};he=Xt([Le(0,s.Inject(h.ComponentManager)),Le(1,s.IContextService),Le(2,s.Inject(Q.SheetCanvasPopManagerService)),Le(3,s.Inject(h.IDialogService))],he);const Ze={type:s.CommandType.OPERATION,id:"sheet.operation.open-table-filter-panel",async handler(a,e){if(!e)return!1;const{row:t,col:r,unitId:i,subUnitId:o,tableId:c}=e,u=a.get(n.TableManager),d=a.get(s.IContextService),v=a.get(he);return u.getTable(i,c)?(d.getContextValue(re)||(v.setCurrentTableFilterInfo({unitId:i,subUnitId:o,row:t,tableId:c,column:r}),d.setContextValue(re,!0)),!0):!1}},qe={type:s.CommandType.OPERATION,id:"sheet.operation.open-table-selector",async handler(a){var w;const e=a.get(s.IUniverInstanceService),t=a.get(s.ICommandService),r=P.getSheetCommandTarget(e);if(!r)return!1;const{unitId:i,subUnitId:o,worksheet:c}=r,d=a.get(P.SheetsSelectionsService).getCurrentLastSelection(),v=(w=d==null?void 0:d.range)!=null?w:{startRow:0,endRow:0,startColumn:0,endColumn:0},b=P.isSingleCellSelection(d)?P.expandToContinuousRange(v,{up:!0,left:!0,right:!0,down:!0},c):v,T=await dt(a,i,o,b);return T?(t.executeCommand(n.AddSheetTableCommand.id,{...T}),!0):!1}};async function dt(a,e,t,r,i){const o=a.get(h.IDialogService),c=a.get(s.LocaleService);return new Promise(u=>{const d={unitId:e,subUnitId:t,range:r,tableId:i,onConfirm:v=>{u(v),o.close(me)},onCancel:()=>{u(null),o.close(me)}};o.open({id:me,title:{title:c.t("sheets-table.selectRange")},draggable:!0,destroyOnClose:!0,mask:!1,maskClosable:!1,children:{label:{name:me,props:d}},width:300,onClose:()=>{u(null),o.close(me)}})})}const pt="sheets-table-ui.config",mt={anchorHeight:24,anchorBackgroundColor:"rgb(134,139,156)"};var Kt=Object.getOwnPropertyDescriptor,zt=(a,e,t,r)=>{for(var i=r>1?void 0:r?Kt(e,t):e,o=a.length-1,c;o>=0;o--)(c=a[o])&&(i=c(i)||i);return i},Jt=(a,e)=>(t,r)=>e(t,r,a);let ce=class extends s.Disposable{constructor(e){super();A(this,"_refreshTable",new x.Subject);A(this,"refreshTable$",this._refreshTable.asObservable());this._commandService=e,this._initListener()}_initListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===P.SetRangeThemeMutation.id){const t=e.params,{styleName:r}=t;r.startsWith(n.SHEET_TABLE_CUSTOM_THEME_PREFIX)&&this._refreshTable.next(Math.random())}}))}};ce=zt([Jt(0,s.Inject(s.ICommandService))],ce);const en=()=>{var ue,se;const[a,e]=y.useState(""),[t,r]=y.useState(""),i=h.useDependency(h.ISidebarService),[o,c]=y.useState({}),u=h.useDependency(s.Injector),d=h.useDependency($e),v=h.useObservable(d.anchorPosition$),m=h.useDependency(s.ICommandService),b=h.useDependency(s.IUniverInstanceService),T=h.useDependency(P.WorkbookPermissionService),w=h.useObservable(T.unitPermissionInitStateChange$,!1),I=h.useDependency(n.TableManager),k=h.useDependency(P.SheetRangeThemeModel),E=h.useDependency(ce),O=h.useObservable(E.refreshTable$),D=h.useDependency(s.LocaleService),V=h.useDependency(P.SheetsSelectionsService),N=h.useObservable(V.selectionChanged$,[{range:s.cellToRange(0,0),primary:null}]),[,g]=y.useState(Math.random()),M=h.useDependency(s.IConfigService).getConfig(pt),f=(ue=M==null?void 0:M.anchorHeight)!=null?ue:24,F=(se=M==null?void 0:M.anchorBackgroundColor)!=null?se:"rgb(53,91,183)",B=(C,R)=>{c(U=>({...U,[C]:R}))};if(y.useEffect(()=>{g(Math.random())},[O]),!(v!=null&&v.length))return null;const Z=P.getSheetCommandTarget(b);if(!Z)return null;const{unitId:H,subUnitId:X}=Z,oe=(C,R)=>{var q;if(((q=I.getTableById(H,C))==null?void 0:q.getDisplayName())===R){e(""),r("");return}m.executeCommand(n.SetSheetTableCommand.id,{tableId:C,unitId:H,name:R}),r(""),e("")},le=async C=>{const R=I.getTableById(H,C);if(!R)return;const U=R.getRange(),q=await dt(u,H,X,U,C);q&&m.executeCommand(n.SetSheetTableCommand.id,{tableId:C,unitId:H,updateRange:{newRange:q.range}})};return w?l.jsx("div",{className:"univer-absolute univer-z-50 univer-h-0 univer-w-0",children:v.map(C=>{var ye,Ee,S,_,K,z,ne;const R=I.getTableById(H,C.tableId);if(!R)return null;const U=k.getRangeThemeStyle(H,R.getTableStyleId()),q=(S=(Ee=(ye=U==null?void 0:U.getHeaderRowStyle())==null?void 0:ye.bg)==null?void 0:Ee.rgb)!=null?S:F,Re=(z=(K=(_=U==null?void 0:U.getHeaderRowStyle())==null?void 0:_.cl)==null?void 0:K.rgb)!=null?z:"rgb(255, 255, 255)",Fe=R.getRange();if(!(N!=null&&N.length))return null;const Ve=N[N.length-1].range,Te=!s.Rectangle.intersects(Fe,Ve)&&C.y<=20;return l.jsxs("div",{className:p.clsx("univer-shadow-xs univer-absolute univer-box-border univer-cursor-pointer univer-items-center univer-rounded-xl univer-pl-2 univer-pr-2",p.borderClassName,{"univer-flex":!Te,"univer-hidden":Te}),style:{left:C.x,top:Math.max(C.y,0),backgroundColor:q,color:Re,borderWidth:"0.5px",height:f?`${f}px`:"24px"},children:[l.jsx("div",{className:"univer-text-nowrap",children:a===C.tableId?l.jsx(p.Input,{className:"univer-h-[18px] univer-min-w-16 univer-rounded-none",inputClass:"univer-h-[18px] univer-w-[80px]",value:t,onChange:W=>r(W),onBlur:()=>oe(C.tableId,t),onKeyDown:W=>{W.key==="Enter"&&oe(C.tableId,t)},autoFocus:a===C.tableId}):l.jsx("div",{className:"univer-h-[18px] univer-max-w-24 univer-truncate univer-text-sm",children:C.tableName})}),l.jsx(p.Dropdown,{align:"start",overlay:l.jsxs("div",{className:"univer-pb-2 univer-pt-2",children:[l.jsxs("div",{className:"univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center univer-gap-2 univer-pb-1 univer-pl-2 univer-pr-2 univer-pt-1 univer-text-sm hover:univer-bg-gray-200",onClick:()=>{e(C.tableId),r(C.tableName)},children:[l.jsx(st,{}),D.t("sheets-table.rename")]}),l.jsx("div",{className:"univer-mb-1 univer-mt-1 univer-h-px univer-w-full univer-bg-gray-200"}),l.jsxs("div",{onClick:()=>le(C.tableId),className:"univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center univer-gap-2 univer-pb-1 univer-pl-2 univer-pr-2 univer-pt-1 univer-text-sm hover:univer-bg-gray-200",children:[l.jsx(lt,{}),D.t("sheets-table.updateRange")]}),l.jsxs("div",{className:"univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center univer-gap-2 univer-pb-1 univer-pl-2 univer-pr-2 univer-pt-1 univer-text-sm hover:univer-bg-gray-200",onClick:()=>{B(C.tableId,!1);const W=I.getTableById(H,C.tableId);if(!W)return;const de=W.getTableConfig(),pe={id:It,header:{title:D.t("sheets-table.tableStyle")},children:{label:nt,oldConfig:de,unitId:H,subUnitId:X,tableId:C.tableId},width:330};i.open(pe)},children:[l.jsx(ut,{extend:{colorChannel1:"rgb(53,91,183)"}}),D.t("sheets-table.setTheme")]}),l.jsx("div",{className:"univer-mb-1 univer-mt-1 univer-h-px univer-w-full univer-bg-gray-200"}),l.jsxs("div",{className:"univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center univer-pb-1 univer-pl-2 univer-pr-2 univer-pt-1 univer-text-sm hover:univer-bg-gray-200",onClick:()=>{B(C.tableId,!1),m.executeCommand(n.DeleteSheetTableCommand.id,{tableId:C.tableId,subUnitId:X,unitId:H})},children:[l.jsx(it,{className:"univer-mr-2"}),D.t("sheets-table.removeTable")]})]}),open:(ne=o[C.tableId])!=null?ne:!1,onOpenChange:W=>{B(C.tableId,W)},children:l.jsx(je,{})},C.tableId)]},C.tableId)})}):null};var tn=Object.getOwnPropertyDescriptor,nn=(a,e,t,r)=>{for(var i=r>1?void 0:r?tn(e,t):e,o=a.length-1,c;o>=0;o--)(c=a[o])&&(i=c(i)||i);return i},ee=(a,e)=>(t,r)=>e(t,r,a);let $e=class extends s.Disposable{constructor(e,t,r,i,o,c,u,d,v,m,b){super();A(this,"_anchorVisible$",new x.BehaviorSubject(!0));A(this,"_timer");A(this,"_anchorPosition$",new x.BehaviorSubject([]));A(this,"anchorPosition$",this._anchorPosition$.asObservable());this._context=e,this._injector=t,this._sheetSkeletonManagerService=r,this._renderManagerService=i,this._commandService=o,this._univerInstanceService=c,this._uiPartsService=u,this._tableManager=d,this._scrollManagerService=v,this._workbookPermissionService=m,this._permissionService=b,this._initUI(),this._initListener(),this._initTableAnchor()}_initUI(){this.disposeWithMe(this._uiPartsService.registerComponent(h.BuiltInUIPart.CONTENT,()=>h.connectInjector(en,this._injector)))}_initListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{(e.id===Q.SetZoomRatioOperation.id||e.id===Q.SetScrollOperation.id)&&(this._anchorVisible$.next(!1),this._timer&&clearTimeout(this._timer),this._timer=setTimeout(()=>{this._anchorVisible$.next(!0)},300))}))}_initTableAnchor(){this.disposeWithMe(x.merge(this._context.unit.activeSheet$,this._sheetSkeletonManagerService.currentSkeleton$,this._scrollManagerService.validViewportScrollInfo$,this._tableManager.tableAdd$,this._tableManager.tableDelete$,this._tableManager.tableNameChanged$,this._tableManager.tableRangeChanged$,this._tableManager.tableThemeChanged$,this._workbookPermissionService.unitPermissionInitStateChange$.pipe(x.filter(e=>e)),this._permissionService.permissionPointUpdate$.pipe(x.debounceTime(300)),this._anchorVisible$).subscribe(()=>{var v;if(!this._anchorVisible$.getValue()){this._anchorPosition$.next([]);return}const t=this._context.unit,r=t.getActiveSheet(),i=r==null?void 0:r.getSheetId(),o=this._tableManager.getTableList(this._context.unitId).filter(m=>m.subUnitId===i),c=this._renderManagerService.getRenderById(this._context.unitId);if(!c){this._anchorPosition$.next([]);return}if(!((v=this._permissionService.getPermissionPoint(new P.WorkbookEditablePermission(t.getUnitId()).id))==null?void 0:v.value)){this._anchorPosition$.next([]);return}const d=o.reduce((m,b)=>{const{startRow:T,startColumn:w}=b.range,I=c.with(Q.SheetSkeletonManagerService),k=Q.getSheetObject(this._univerInstanceService,this._renderManagerService);if(!k)return m;const{scene:E}=k,O=E.getViewport(Y.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(!O)return m;const D=E==null?void 0:E.scaleX,V=E==null?void 0:E.scaleY,N=E==null?void 0:E.getViewportScrollXY(O);if(!D||!E||!V||!N)return m;const g=I.getCurrentSkeleton();if(!g)return m;const L=g.getNoMergeCellWithCoordByIndex(T,w),M=Y.convertTransformToOffsetX(L.startX,D,N),f=Y.convertTransformToOffsetY(L.startY,V,N)-25-4;return f>=-10&&M>=45&&m.push({x:M,y:f,tableId:b.id,tableName:b.name}),m},[]);this._anchorPosition$.next(d)}))}};$e=nn([ee(1,s.Inject(s.Injector)),ee(2,s.Inject(Q.SheetSkeletonManagerService)),ee(3,Y.IRenderManagerService),ee(4,s.ICommandService),ee(5,s.IUniverInstanceService),ee(6,h.IUIPartsService),ee(7,s.Inject(n.TableManager)),ee(8,s.Inject(Q.SheetScrollManagerService)),ee(9,s.Inject(P.WorkbookPermissionService)),ee(10,s.Inject(s.IPermissionService))],$e);const be=16;new Path2D("M3.30363 3C2.79117 3 2.51457 3.60097 2.84788 3.99024L6.8 8.60593V12.5662C6.8 12.7184 6.8864 12.8575 7.02289 12.9249L8.76717 13.7863C8.96655 13.8847 9.2 13.7396 9.2 13.5173V8.60593L13.1521 3.99024C13.4854 3.60097 13.2088 3 12.6964 3H3.30363Z");class vt{static drawNoSetting(e,t,r,i){e.save(),Y.Rect.drawWith(e,{radius:2,width:be,height:be,fill:i}),e.lineCap="square",e.strokeStyle=r,e.scale(t/be,t/be),e.beginPath(),e.lineWidth=1,e.lineCap="round",e.moveTo(3,4),e.lineTo(13,4),e.moveTo(4.5,8),e.lineTo(11.5,8),e.moveTo(6,12),e.lineTo(10,12),e.stroke(),e.restore()}static drawIconByPath(e,t,r,i){e.save(),e.strokeStyle=r,e.fillStyle=i,Y.Rect.drawWith(e,{radius:2,width:be,height:be,fill:i}),t.forEach(o=>{const c=new Path2D(o);e.fillStyle=r,e.fill(c,"evenodd")}),e.restore()}}const rn=["M3.30363 3C2.79117 3 2.51457 3.60097 2.84788 3.99024L6.8 8.60593V12.5662C6.8 12.7184 6.8864 12.8575 7.02289 12.9249L8.76717 13.7863C8.96655 13.8847 9.2 13.7396 9.2 13.5173V8.60593L13.1521 3.99024C13.4854 3.60097 13.2088 3 12.6964 3H3.30363Z"],an=["M12.4008 13.1831C12.6907 13.1831 12.9258 12.9481 12.9258 12.6581V4.60873L14.013 5.69597C14.218 5.901 14.5505 5.901 14.7555 5.69597C14.9605 5.49094 14.9605 5.15853 14.7555 4.95351L12.7721 2.97017C12.5671 2.76515 12.2347 2.76515 12.0297 2.97017L10.0463 4.95351C9.84132 5.15853 9.84132 5.49094 10.0463 5.69597C10.2514 5.901 10.5838 5.901 10.7888 5.69597L11.8758 4.60901V12.6581C11.8758 12.9481 12.1108 13.1831 12.4008 13.1831Z","M1.28069 4.85447C0.842195 4.33439 1.21191 3.5391 1.89218 3.5391H8.59333C9.2736 3.5391 9.64331 4.33439 9.20482 4.85447L6.51052 8.0501V11.6601C6.51052 12.2245 5.94174 12.6114 5.41683 12.404L4.48092 12.0343C4.1756 11.9136 3.97498 11.6187 3.97498 11.2904V8.0501L1.28069 4.85447Z"],on=["M12.4008 2.81641C12.6907 2.81641 12.9258 3.05146 12.9258 3.34141V11.3908L14.013 10.3036C14.218 10.0986 14.5505 10.0986 14.7555 10.3036C14.9605 10.5086 14.9605 10.841 14.7555 11.046L12.7721 13.0294C12.5671 13.2344 12.2347 13.2344 12.0297 13.0294L10.0463 11.046C9.84132 10.841 9.84132 10.5086 10.0463 10.3036C10.2514 10.0986 10.5838 10.0986 10.7888 10.3036L11.8758 11.3905V3.34141C11.8758 3.05146 12.1108 2.81641 12.4008 2.81641Z","M1.28069 4.85444C0.842195 4.33435 1.21191 3.53906 1.89218 3.53906H8.59333C9.2736 3.53906 9.64331 4.33435 9.20482 4.85443L6.51052 8.05006V11.6601C6.51052 12.2245 5.94174 12.6113 5.41683 12.404L4.48092 12.0342C4.1756 11.9136 3.97498 11.6186 3.97498 11.2903V8.05006L1.28069 4.85444Z"],ln=["M11.9003 13.7046C11.9003 13.9969 11.6633 14.2339 11.371 14.2339C11.0787 14.2339 10.8417 13.9969 10.8417 13.7046V3.57272L9.74577 4.66862C9.53906 4.87534 9.20391 4.87534 8.9972 4.66862C8.79048 4.46191 8.79048 4.12676 8.9972 3.92005L10.9969 1.92039C11.2036 1.71368 11.5387 1.71368 11.7454 1.92039L13.7451 3.92005C13.9518 4.12676 13.9518 4.46191 13.7451 4.66862C13.5384 4.87534 13.2032 4.87534 12.9965 4.66862L11.9003 3.57243V13.7046Z","M2.69779 10.0113C2.40546 10.0113 2.16847 9.77429 2.16847 9.48196C2.16847 9.18962 2.40546 8.95264 2.69779 8.95264H6.67804C6.89213 8.95264 7.08514 9.0816 7.16707 9.2794C7.249 9.47719 7.20371 9.70486 7.05233 9.85624L3.97569 12.9329H6.67804C6.97038 12.9329 7.20736 13.1699 7.20736 13.4622C7.20736 13.7545 6.97038 13.9915 6.67804 13.9915H2.69779C2.4837 13.9915 2.29069 13.8626 2.20876 13.6648C2.12684 13.467 2.17212 13.2393 2.32351 13.0879L5.40015 10.0113H2.69779Z","M5.51638 2.58693C5.23363 1.81542 4.14248 1.81543 3.85973 2.58693L2.13245 7.29995C2.03185 7.57443 2.17281 7.87849 2.4473 7.97909C2.72178 8.07969 3.02584 7.93872 3.12644 7.66424L3.64346 6.25351L3.64504 6.25351H5.73266L6.24968 7.66424C6.35027 7.93872 6.65433 8.07969 6.92882 7.97909C7.2033 7.87849 7.34426 7.57443 7.24367 7.29995L5.51638 2.58693ZM5.34467 5.19487L4.68806 3.40325L4.03144 5.19487H5.34467Z"],sn=["M11.9003 2.29495C11.9003 2.00261 11.6633 1.76562 11.371 1.76562C11.0787 1.76562 10.8417 2.00261 10.8417 2.29495V12.4268L9.74577 11.3309C9.53906 11.1242 9.20391 11.1242 8.9972 11.3309C8.79048 11.5376 8.79048 11.8727 8.9972 12.0795L10.9969 14.0791C11.2036 14.2858 11.5387 14.2858 11.7454 14.0791L13.7451 12.0795C13.9518 11.8727 13.9518 11.5376 13.7451 11.3309C13.5384 11.1242 13.2032 11.1242 12.9965 11.3309L11.9003 12.4271V2.29495Z","M2.69792 10.0113C2.40558 10.0113 2.16859 9.77429 2.16859 9.48196C2.16859 9.18962 2.40558 8.95264 2.69792 8.95264H6.67816C6.89225 8.95264 7.08526 9.0816 7.16719 9.2794C7.24912 9.47719 7.20384 9.70486 7.05245 9.85624L3.97581 12.9329H6.67816C6.9705 12.9329 7.20749 13.1699 7.20749 13.4622C7.20749 13.7545 6.9705 13.9915 6.67816 13.9915H2.69792C2.48383 13.9915 2.29082 13.8626 2.20889 13.6648C2.12696 13.467 2.17224 13.2393 2.32363 13.0879L5.40027 10.0113H2.69792Z","M5.5165 2.58693C5.23375 1.81542 4.1426 1.81543 3.85985 2.58693L2.13257 7.29995C2.03197 7.57443 2.17294 7.8785 2.44742 7.97909C2.7219 8.07969 3.02596 7.93872 3.12656 7.66424L3.64358 6.25351L3.64516 6.25351H5.73278L6.2498 7.66424C6.35039 7.93872 6.65446 8.07969 6.92894 7.97909C7.20342 7.8785 7.34438 7.57443 7.24379 7.29995L5.5165 2.58693ZM5.34479 5.19487L4.68818 3.40325L4.03156 5.19487H5.34479Z"];var cn=Object.getOwnPropertyDescriptor,un=(a,e,t,r)=>{for(var i=r>1?void 0:r?cn(e,t):e,o=a.length-1,c;o>=0;o--)(c=a[o])&&(i=c(i)||i);return i},Ye=(a,e)=>(t,r)=>e(t,r,a);const te=16,fe=1;let Qe=class extends Y.Shape{constructor(e,t,r,i,o){super(e,t);A(this,"_cellWidth",0);A(this,"_cellHeight",0);A(this,"_filterParams");A(this,"_hovered",!1);this._contextService=r,this._commandService=i,this._themeService=o,this.setShapeProps(t),this.onPointerDown$.subscribeEvent(c=>this.onPointerDown(c)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(e){typeof e.cellHeight<"u"&&(this._cellHeight=e.cellHeight),typeof e.cellWidth<"u"&&(this._cellWidth=e.cellWidth),typeof e.filterParams<"u"&&(this._filterParams=e.filterParams),this.transformByState({width:e.width,height:e.height})}_draw(e){const t=this._cellHeight,r=this._cellWidth,i=te-r,o=te-t;e.save();const c=new Path2D;c.rect(i,o,r,t),e.clip(c);const{buttonState:u}=this._filterParams,d=this._themeService.getColorFromTheme("primary.600"),v=this._hovered?this._themeService.getColorFromTheme("gray.50"):"rgba(255, 255, 255, 1.0)";let m;switch(u){case n.SheetsTableButtonStateEnum.FilteredSortNone:m=rn;break;case n.SheetsTableButtonStateEnum.FilteredSortAsc:m=an;break;case n.SheetsTableButtonStateEnum.FilteredSortDesc:m=on;break;case n.SheetsTableButtonStateEnum.FilterNoneSortNone:break;case n.SheetsTableButtonStateEnum.FilterNoneSortAsc:m=ln;break;case n.SheetsTableButtonStateEnum.FilterNoneSortDesc:m=sn;break}m?vt.drawIconByPath(e,m,d,v):u!==void 0&&vt.drawNoSetting(e,te,d,v),e.restore()}onPointerDown(e){if(e.button===2)return;const{row:t,col:r,unitId:i,subUnitId:o,tableId:c}=this._filterParams;this._contextService.getContextValue(re)||!this._commandService.hasCommand(Ze.id)||setTimeout(()=>{const d={row:t,col:r,unitId:i,subUnitId:o,tableId:c};this._commandService.executeCommand(Ze.id,d)},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};Qe=un([Ye(2,s.IContextService),Ye(3,s.ICommandService),Ye(4,s.Inject(s.ThemeService))],Qe);var dn=Object.getOwnPropertyDescriptor,pn=(a,e,t,r)=>{for(var i=r>1?void 0:r?dn(e,t):e,o=a.length-1,c;o>=0;o--)(c=a[o])&&(i=c(i)||i);return i},Se=(a,e)=>(t,r)=>e(t,r,a);const mn=5e3,vn=(a,e,t,r)=>{switch(r){case s.VerticalAlign.TOP:return a+fe;case s.VerticalAlign.MIDDLE:return a+Math.max(0,(t-te)/2);case s.VerticalAlign.BOTTOM:default:return e-te-fe}};let Ge=class extends s.RxDisposable{constructor(e,t,r,i,o,c){super();A(this,"_buttonRenderDisposable",null);A(this,"_tableFilterButtonShapes",[]);this._context=e,this._injector=t,this._sheetSkeletonManagerService=r,this._sheetInterceptorService=i,this._tableManager=o,this._commandService=c,this._initRenderer(),this._initCommandExecuted()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){const e=this._tableManager;this._sheetSkeletonManagerService.currentSkeleton$.pipe(x.switchMap(t=>{var u;if(!t)return x.of(null);const{unit:r,unitId:i}=this._context,o=((u=r.getActiveSheet())==null?void 0:u.getSheetId())||"",c=()=>({unitId:i,worksheetId:o,tableFilterRanges:this._tableManager.getSheetFilterRangeWithState(r.getUnitId(),o),skeleton:t.skeleton});return x.merge(e.tableAdd$,e.tableNameChanged$,e.tableRangeChanged$,e.tableThemeChanged$,e.tableDelete$,e.tableFilterChanged$).pipe(x.map(()=>c()),x.startWith(c()))}),x.takeUntil(this.dispose$)).subscribe(t=>{this._disposeRendering(),!(!t||!t.tableFilterRanges)&&this._renderButtons(t)})}_initCommandExecuted(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var u;if(e.id!==P.SetVerticalTextAlignCommand.id)return;const{unit:t,unitId:r}=this._context,i=((u=t.getActiveSheet())==null?void 0:u.getSheetId())||"",o=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!o)return;const c={unitId:r,worksheetId:i,tableFilterRanges:this._tableManager.getSheetFilterRangeWithState(t.getUnitId(),i),skeleton:o};this._disposeRendering(),!(!c||!c.tableFilterRanges)&&this._renderButtons(c)}))}_renderButtons(e){const{tableFilterRanges:t,unitId:r,skeleton:i,worksheetId:o}=e,{unit:c,scene:u}=this._context,d=c.getSheetBySheetId(o);if(d){for(const{range:v,states:m,tableId:b}of t){const{startRow:T,startColumn:w,endColumn:I}=v;this._interceptCellContent(r,o,v);for(let k=w;k<=I;k++){const E=`sheets-table-filter-button-${T}-${k}`,O=Q.getCoordByCell(T,k,u,i),D=d.getCellStyle(T,k),V=(D==null?void 0:D.vt)||s.VerticalAlign.BOTTOM,{startX:N,startY:g,endX:L,endY:M}=O,f=L-N,F=M-g;if(F<=fe||f<=fe)continue;const B=m[k-w],Z=L-te-fe,H=vn(g,M,F,V),X={left:Z,top:H,height:te,width:te,zIndex:mn,cellHeight:F,cellWidth:f,filterParams:{unitId:r,subUnitId:o,row:T,col:k,buttonState:B,tableId:b}},oe=this._injector.createInstance(Qe,E,X);this._tableFilterButtonShapes.push(oe)}}u.addObjects(this._tableFilterButtonShapes),u.makeDirty()}}_interceptCellContent(e,t,r){const{startRow:i,startColumn:o,endColumn:c}=r;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(P.INTERCEPTOR_POINT.CELL_CONTENT,{effect:s.InterceptorEffectEnum.Style,handler:(u,d,v)=>{const{row:m,col:b,unitId:T,subUnitId:w}=d;return T!==e||w!==t||m!==i||b<o||b>c||((!u||u===d.rawData)&&(u={...d.rawData}),u.fontRenderExtension={...u==null?void 0:u.fontRenderExtension,rightOffset:te}),v(u)},priority:10})}_disposeRendering(){var e;this._tableFilterButtonShapes.forEach(t=>t.dispose()),(e=this._buttonRenderDisposable)==null||e.dispose(),this._buttonRenderDisposable=null,this._tableFilterButtonShapes=[]}};Ge=pn([Se(1,s.Inject(s.Injector)),Se(2,s.Inject(Q.SheetSkeletonManagerService)),Se(3,s.Inject(P.SheetInterceptorService)),Se(4,s.Inject(n.TableManager)),Se(5,s.ICommandService)],Ge);const hn=a=>{const{unitId:e,subUnitId:t,range:r,onCancel:i,onConfirm:o,tableId:c}=a,u=h.useDependency(n.TableManager),[d,v]=y.useState(r),[m,b]=y.useState(""),T=h.useDependency(s.LocaleService),w=h.useDependency(s.IUniverInstanceService);return l.jsxs(l.Fragment,{children:[l.jsx(Tt.RangeSelector,{maxRangeCount:1,unitId:e,subUnitId:t,initialValue:Ue.serializeRange(r),onChange:(I,k)=>{const E=Ue.serializeRange(r),O=Ue.deserializeRangeWithSheet(k).range,D=P.getSheetCommandTarget(w,{unitId:e,subUnitId:t});if(!D)return;if(D.worksheet.getMergeData().some(B=>s.Rectangle.intersects(O,B))){b(T.t("sheets-table.tableRangeWithMergeError"));return}if(u.getTablesBySubunitId(e,t).some(B=>{if(B.getId()===c)return!1;const Z=B.getRange();return s.Rectangle.intersects(O,Z)})){b(T.t("sheets-table.tableRangeWithOtherTableError"));return}const{startRow:M,endRow:f}=O;if(M===f){b(T.t("sheets-table.tableRangeSingleRowError"));return}if(E!==k){if(c){const B=u.getTableById(e,c);if(B){const Z=B.getRange();if(s.Rectangle.intersects(O,Z)&&Z.startRow===O.startRow){v(O),b(""),o({unitId:e,subUnitId:t,range:O});return}else{b(T.t("sheets-table.updateError"));return}}}v(O),b("")}},supportAcrossSheet:!1}),m&&l.jsx("div",{className:"univer-mt-1 univer-text-xs univer-text-red-500",children:m}),l.jsxs("div",{className:"univer-mt-4 univer-flex univer-justify-end",children:[l.jsx(p.Button,{onClick:i,children:T.t("sheets-table.cancel")}),l.jsx(p.Button,{variant:"primary",onClick:()=>{m||o({unitId:e,subUnitId:t,range:d})},className:"univer-ml-2",children:T.t("sheets-table.confirm")})]})]})},bn=a=>{var R,U,q,ze,Re,Fe,Je,Ve,et,Te,ye,Ee;const{unitId:e,subUnitId:t,tableId:r}=a,i=h.useDependency(s.ICommandService),o=h.useDependency(s.LocaleService),c=h.useDependency(n.TableManager),u=c.getTableById(e,r),d=h.useDependency(P.SheetRangeThemeModel),v=h.useDependency(ce),m=h.useObservable(d.rangeThemeMapChange$),b=h.useObservable(v.refreshTable$),T=h.useDependency(s.ErrorService),[,w]=y.useState(Math.random()),I=h.useObservable(c.tableThemeChanged$,{theme:u==null?void 0:u.getTableStyleId(),oldTheme:u==null?void 0:u.getTableStyleId(),unitId:e,subUnitId:t,tableId:r}),k=d.getRegisteredRangeThemes().filter(S=>S==null?void 0:S.startsWith(_t)),E=d.getALLRegisteredTheme(e).filter(S=>S==null?void 0:S.startsWith(Ae)),O=u==null?void 0:u.getTableStyleId(),D=E.find(S=>S===O),V=D||E[0],N=d.getCustomRangeThemeStyle(e,V),g=(q=(U=(R=N==null?void 0:N.getHeaderRowStyle())==null?void 0:R.bg)==null?void 0:U.rgb)!=null?q:ae,L=(Fe=(Re=(ze=N==null?void 0:N.getFirstRowStyle())==null?void 0:ze.bg)==null?void 0:Re.rgb)!=null?Fe:ae,M=(et=(Ve=(Je=N==null?void 0:N.getSecondRowStyle())==null?void 0:Je.bg)==null?void 0:Ve.rgb)!=null?et:ae,f=(Ee=(ye=(Te=N==null?void 0:N.getLastRowStyle())==null?void 0:Te.bg)==null?void 0:ye.rgb)!=null?Ee:ae,[F,B]=y.useState(null),Z=S=>{i.executeCommand(n.SetSheetTableCommand.id,{unitId:e,tableId:r,theme:S})},H=()=>{if(E.length>=11){T.emit(o.t("sheets-table.customTooMore"));return}const S=E[E.length-1];let _=`${Ae}1`;if(S){const z=Number(S.split("-")[2]);_=`${Ae}${z+1}`}const K=new P.RangeThemeStyle(_,{...n.customEmptyThemeWithBorderStyle});i.executeCommand(n.AddTableThemeCommand.id,{unitId:e,tableId:r,themeStyle:K})},X=(S,_)=>{i.executeCommand(P.SetRangeThemeMutation.id,{unitId:e,subUnitId:t,styleName:S,style:_})},oe=S=>{i.executeCommand(n.RemoveTableThemeCommand.id,{unitId:e,tableId:r,themeName:S})};if(y.useEffect(()=>{w(Math.random())},[m,b]),!u)return null;const le=new s.ColorKit(g).isDark(),ue=new s.ColorKit(L).isDark(),se=new s.ColorKit(M).isDark(),C=new s.ColorKit(f).isDark();return l.jsxs("div",{children:[l.jsx("h5",{children:o.t("sheets-table.defaultStyle")}),l.jsx("div",{className:"univer-flex univer-gap-2",children:k.map(S=>{var de,pe,Ie,_e,we,De,Me,Ne;const _=d.getDefaultRangeThemeStyle(S),K=((pe=(de=_==null?void 0:_.getHeaderRowStyle())==null?void 0:de.bg)==null?void 0:pe.rgb)||ae,z=((_e=(Ie=_==null?void 0:_.getFirstRowStyle())==null?void 0:Ie.bg)==null?void 0:_e.rgb)||ae,ne=((De=(we=_==null?void 0:_.getSecondRowStyle())==null?void 0:we.bg)==null?void 0:De.rgb)||ae,W=((Ne=(Me=_==null?void 0:_.getLastRowStyle())==null?void 0:Me.bg)==null?void 0:Ne.rgb)||ae;return l.jsxs("div",{className:p.clsx("univer-h-10 univer-w-8 univer-cursor-pointer univer-border univer-border-solid univer-border-gray-200 univer-p-px [&>div]:univer-box-border [&>div]:univer-h-2.5",{"univer-border-blue-500":S===I.theme}),onClick:()=>Z(S),children:[l.jsx("div",{style:{background:K,border:`${G}`}}),l.jsx("div",{style:{background:z,border:`${G}`}}),l.jsx("div",{style:{background:ne,border:`${G}`}}),l.jsx("div",{style:{background:W,border:`${G}`}})]},S)})}),l.jsx("h5",{children:o.t("sheets-table.customStyle")}),l.jsxs("div",{className:p.clsx("univer-w-full univer-rounded-sm",p.borderClassName),children:[l.jsxs("div",{className:"univer-flex univer-flex-wrap univer-gap-2 univer-p-2",children:[l.jsx("div",{className:p.clsx("univer-h-10 univer-w-8 univer-cursor-pointer univer-p-px univer-text-center univer-leading-10",p.borderClassName),onClick:H,children:"+"}),E.map(S=>{var de,pe,Ie,_e,we,De,Me,Ne;const _=d.getCustomRangeThemeStyle(e,S),K=(pe=(de=_==null?void 0:_.getHeaderRowStyle())==null?void 0:de.bg)==null?void 0:pe.rgb,z=(_e=(Ie=_==null?void 0:_.getFirstRowStyle())==null?void 0:Ie.bg)==null?void 0:_e.rgb,ne=(De=(we=_==null?void 0:_.getSecondRowStyle())==null?void 0:we.bg)==null?void 0:De.rgb,W=(Ne=(Me=_==null?void 0:_.getLastRowStyle())==null?void 0:Me.bg)==null?void 0:Ne.rgb;return l.jsxs("div",{className:p.clsx("univer-relative univer-h-10 univer-w-8 univer-cursor-pointer univer-border univer-border-solid univer-border-gray-200 univer-p-px",{"univer-border-blue-500":S===I.theme}),onClick:()=>Z(S),onMouseEnter:()=>B(S),onMouseLeave:()=>B(null),children:[l.jsx("div",{className:"univer-box-border univer-h-2.5",style:{background:K!=null?K:G,border:`${K?G:xe}`}}),l.jsx("div",{className:"univer-box-border univer-h-2.5",style:{background:z!=null?z:G,border:`${z?G:xe}`}}),l.jsx("div",{className:"univer-box-border univer-h-2.5",style:{background:ne!=null?ne:G,border:`${ne?G:xe}`}}),l.jsx("div",{className:"univer-box-border univer-h-2.5",style:{background:W!=null?W:G,border:`${W?G:xe}`}}),l.jsx("div",{className:"univer-absolute univer-right-[-3px] univer-top-[-3px] univer-h-3 univer-w-3 univer-rounded-md univer-bg-gray-200 univer-text-center univer-text-xs univer-leading-[10px]",style:{display:F===S?"block":"none"},onClick:On=>{On.stopPropagation(),oe(S)},children:"x"})]},S)})]}),D&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"univer-h-px univer-w-full univer-bg-gray-200"}),l.jsxs("div",{className:"univer-flex univer-flex-col univer-gap-2 univer-p-2",children:[l.jsxs("div",{className:"univer-flex univer-h-9 univer-gap-2",children:[l.jsx("div",{className:p.clsx("univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center univer-leading-9",p.borderClassName,{"univer-text-white":le,"univer-text-gray-900":!le}),style:{background:g},children:o.t("sheets-table.header")}),l.jsx(p.Dropdown,{overlay:l.jsx("div",{className:"univer-p-2",children:l.jsx(p.ColorPicker,{value:g,onChange:S=>{const _=n.processStyleWithBorderStyle("headerRowStyle",{bg:{rgb:S},cl:{rgb:new s.ColorKit(S).isDark()?"#fff":"#000"}});X(u.getTableStyleId(),{headerRowStyle:_})}})}),children:l.jsxs("div",{className:p.clsx("univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded-sm univer-bg-white univer-p-1",p.borderClassName),children:[l.jsx("div",{className:p.clsx("univer-h-4 univer-w-4 univer-rounded-lg univer-bg-gray-400",p.borderClassName,{"univer-text-white":le,"univer-text-gray-900":!le}),style:{background:g}}),l.jsx(ge,{className:"univer-h-2 univer-w-2"})]})})]}),l.jsxs("div",{className:"univer-flex univer-h-9 univer-gap-2",children:[l.jsx("div",{className:p.clsx("univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center univer-leading-9",p.borderClassName,{"univer-text-white":ue,"univer-text-gray-900":!ue}),style:{background:L},children:o.t("sheets-table.firstLine")}),l.jsx(p.Dropdown,{overlay:l.jsx("div",{className:"univer-p-2",children:l.jsx(p.ColorPicker,{value:L,onChange:S=>{X(u.getTableStyleId(),{firstRowStyle:{bg:{rgb:S},cl:{rgb:new s.ColorKit(S).isDark()?"#fff":"#000"}}})}})}),children:l.jsxs("div",{className:p.clsx("univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded-sm univer-bg-white univer-p-1",p.borderClassName),children:[l.jsx("div",{className:p.clsx("univer-h-4 univer-w-4 univer-rounded-lg univer-bg-gray-400",p.borderClassName),style:{background:L}}),l.jsx(ge,{className:"univer-h-2 univer-w-2"})]})})]}),l.jsxs("div",{className:"univer-flex univer-h-9 univer-gap-2",children:[l.jsx("div",{className:p.clsx("univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center univer-leading-9",p.borderClassName,{"univer-text-white":se,"univer-text-gray-900":!se}),style:{background:M},children:o.t("sheets-table.secondLine")}),l.jsx(p.Dropdown,{overlay:l.jsx("div",{className:"univer-p-2",children:l.jsx(p.ColorPicker,{value:M,onChange:S=>X(u.getTableStyleId(),{secondRowStyle:{bg:{rgb:S},cl:{rgb:new s.ColorKit(S).isDark()?"#fff":"#000"}}})})}),children:l.jsxs("div",{className:p.clsx("univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded-sm univer-bg-white univer-p-1",p.borderClassName),children:[l.jsx("div",{className:p.clsx("univer-h-4 univer-w-4 univer-rounded-lg univer-bg-gray-400",p.borderClassName),style:{background:M}}),l.jsx(ge,{className:"univer-h-2 univer-w-2"})]})})]}),l.jsxs("div",{className:"univer-flex univer-h-9 univer-gap-2",children:[l.jsx("div",{className:p.clsx("univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center univer-leading-9",p.borderClassName,{"univer-text-white":C,"univer-text-gray-900":!C}),style:{background:f},children:o.t("sheets-table.footer")}),l.jsx(p.Dropdown,{overlay:l.jsx("div",{className:"univer-p-2",children:l.jsx(p.ColorPicker,{value:f,onChange:S=>{const _=n.processStyleWithBorderStyle("lastRowStyle",{bg:{rgb:S},cl:{rgb:new s.ColorKit(S).isDark()?"#fff":"#000"}});X(u.getTableStyleId(),{lastRowStyle:_})}})}),children:l.jsxs("div",{className:p.clsx("univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded-sm univer-bg-white univer-p-1",p.borderClassName),children:[l.jsx("div",{className:p.clsx("univer-h-4 univer-w-4 univer-rounded-lg univer-bg-gray-400",p.borderClassName),style:{background:f}}),l.jsx(ge,{className:"univer-h-2 univer-w-2"})]})})]})]})]})]})]})},ht="sheet.table.context-insert_menu-id",bt="sheet.table.context-remove_menu-id";function gn(a){return{id:qe.id,type:h.MenuItemType.BUTTON,icon:tt,tooltip:"sheets-table.title",title:"sheets-table.title",hidden$:h.getMenuHiddenObservable(a,s.UniverInstanceType.UNIVER_SHEET),disabled$:Q.getCurrentRangeDisable$(a,{},!0)}}function Cn(a){return{id:ht,type:h.MenuItemType.SUBITEMS,icon:"InsertDoubleIcon",title:"sheets-table.insert.main",hidden$:gt(a)}}function fn(a){return{id:bt,type:h.MenuItemType.SUBITEMS,icon:"ReduceDoubleIcon",title:"sheets-table.remove.main",hidden$:gt(a)}}function Sn(a){return{id:n.SheetTableInsertRowCommand.id,type:h.MenuItemType.BUTTON,title:"sheets-table.insert.row",hidden$:Ct(a)}}function Tn(a){return{id:n.SheetTableInsertColCommand.id,title:"sheets-table.insert.col",type:h.MenuItemType.BUTTON}}function yn(a){return{id:n.SheetTableRemoveRowCommand.id,type:h.MenuItemType.BUTTON,title:"sheets-table.remove.row",hidden$:Ct(a)}}function En(a){return{id:n.SheetTableRemoveColCommand.id,title:"sheets-table.remove.col",type:h.MenuItemType.BUTTON}}function gt(a){const e=a.get(P.SheetsSelectionsService);return a.get(s.IUniverInstanceService).getCurrentTypeOfUnit$(s.UniverInstanceType.UNIVER_SHEET).pipe(x.switchMap(i=>i?i.activeSheet$.pipe(x.switchMap(o=>o?e.selectionMoveEnd$.pipe(x.switchMap(c=>{if(!c.length||c.length>1)return x.of(!0);const d=c[0].range,m=a.get(n.SheetsTableController).getContainerTableWithRange(i.getUnitId(),o.getSheetId(),d);return x.of(!m)})):x.of(!0))):x.of(!0)))}function Ct(a){const e=a.get(P.SheetsSelectionsService);return a.get(s.IUniverInstanceService).getCurrentTypeOfUnit$(s.UniverInstanceType.UNIVER_SHEET).pipe(x.switchMap(i=>i?i.activeSheet$.pipe(x.switchMap(o=>o?e.selectionMoveEnd$.pipe(x.switchMap(c=>{if(!c.length||c.length>1)return x.of(!0);const d=c[0].range,m=a.get(n.SheetsTableController).getContainerTableWithRange(i.getUnitId(),o.getSheetId(),d);if(!m)return x.of(!0);const b=m.getRange();return d.startRow===b.startRow?x.of(!0):x.of(!1)})):x.of(!0))):x.of(!0)))}const In={[h.RibbonDataGroup.ORGANIZATION]:{[qe.id]:{order:0,menuItemFactory:gn}},[h.ContextMenuPosition.MAIN_AREA]:{[h.ContextMenuGroup.LAYOUT]:{[ht]:{order:5,menuItemFactory:Cn,[n.SheetTableInsertRowCommand.id]:{order:1,menuItemFactory:Sn},[n.SheetTableInsertColCommand.id]:{order:2,menuItemFactory:Tn}},[bt]:{order:6,menuItemFactory:fn,[n.SheetTableRemoveRowCommand.id]:{order:1,menuItemFactory:yn},[n.SheetTableRemoveColCommand.id]:{order:2,menuItemFactory:En}}}}};var _n=Object.getOwnPropertyDescriptor,wn=(a,e,t,r)=>{for(var i=r>1?void 0:r?_n(e,t):e,o=a.length-1,c;o>=0;o--)(c=a[o])&&(i=c(i)||i);return i},ft=(a,e)=>(t,r)=>e(t,r,a);let ke=class extends s.Disposable{constructor(a,e){super(),this._componentManager=a,this._menuManagerService=e,this._initComponents(),this._initMenu()}_initComponents(){[[tt,ct],[me,hn],[nt,bn]].forEach(([a,e])=>{this.disposeWithMe(this._componentManager.register(a,e))})}_initMenu(){this._menuManagerService.mergeMenu(In)}};ke=wn([ft(0,s.Inject(h.ComponentManager)),ft(1,s.Inject(h.IMenuManagerService))],ke);var Dn=Object.getOwnPropertyDescriptor,Mn=(a,e,t,r)=>{for(var i=r>1?void 0:r?Dn(e,t):e,o=a.length-1,c;o>=0;o--)(c=a[o])&&(i=c(i)||i);return i},Pe=(a,e)=>(t,r)=>e(t,r,a);let Xe=class extends s.RxDisposable{constructor(a,e,t,r,i){super(),this._context=a,this._injector=e,this._sheetSkeletonManagerService=t,this._tableManager=r,this._sheetTableThemeUIController=i,this._initListener()}_dirtySkeleton(){var e;(e=this._context.mainComponent)==null||e.makeDirty();const a=this._sheetSkeletonManagerService.getCurrentParam();if(a){const t={...a,dirty:!0};this._sheetSkeletonManagerService.reCalculate(t)}}_initListener(){const a=this._tableManager,e=this._dirtySkeleton.bind(this);this.disposeWithMe(x.merge(a.tableAdd$,a.tableDelete$,a.tableNameChanged$,a.tableRangeChanged$,a.tableThemeChanged$,a.tableFilterChanged$,a.tableInitStatus$,this._sheetTableThemeUIController.refreshTable$).subscribe(e))}};Xe=Mn([Pe(1,s.Inject(s.Injector)),Pe(2,s.Inject(Q.SheetSkeletonManagerService)),Pe(3,s.Inject(n.TableManager)),Pe(4,s.Inject(ce))],Xe);var Nn=Object.getOwnPropertyDescriptor,xn=(a,e,t,r)=>{for(var i=r>1?void 0:r?Nn(e,t):e,o=a.length-1,c;o>=0;o--)(c=a[o])&&(i=c(i)||i);return i},Ke=(a,e)=>(t,r)=>e(t,r,a);let Oe=class extends s.Disposable{constructor(a,e,t){super(),this._sheetInterceptorService=a,this._univerInstanceService=e,this._tableManager=t,this._initSelectionChange()}_initSelectionChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:a=>{if(a.id===Q.SelectAllCommand.id){const e=P.getSheetCommandTarget(this._univerInstanceService);if(!e)return{redos:[],undos:[]};const t=a.params,{range:r}=t,{unitId:i,subUnitId:o,worksheet:c}=e,d=this._tableManager.getTablesBySubunitId(i,o).find(v=>{const m=v.getRange();return s.Rectangle.contains(m,r)});if(d){const v=d.getRange(),m={...v,startRow:v.startRow+1};return s.Rectangle.equals(v,r)?{undos:[],redos:[]}:s.Rectangle.equals(m,r)?{undos:[],redos:[{id:P.SetSelectionsOperation.id,params:{unitId:i,subUnitId:o,selections:[{range:v,primary:P.getPrimaryForRange(v,c)}]}}]}:{undos:[],redos:[{id:P.SetSelectionsOperation.id,params:{unitId:i,subUnitId:o,selections:[{range:m,primary:P.getPrimaryForRange(m,c)}]}}]}}}return{redos:[],undos:[]}}}))}};Oe=xn([Ke(0,s.Inject(P.SheetInterceptorService)),Ke(1,s.Inject(s.IUniverInstanceService)),Ke(2,s.Inject(n.TableManager))],Oe);var Ln=Object.defineProperty,$n=Object.getOwnPropertyDescriptor,kn=(a,e,t)=>e in a?Ln(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Pn=(a,e,t,r)=>{for(var i=r>1?void 0:r?$n(e,t):e,o=a.length-1,c;o>=0;o--)(c=a[o])&&(i=c(i)||i);return i},Be=(a,e)=>(t,r)=>e(t,r,a),St=(a,e,t)=>kn(a,typeof e!="symbol"?e+"":e,t);$.UniverSheetsTableUIPlugin=class extends s.Plugin{constructor(e=mt,t,r,i,o){super(),this._config=e,this._injector=t,this._commandService=r,this._configService=i,this._renderManagerService=o;const{menu:c,...u}=s.merge({},mt,this._config);c&&this._configService.setConfig("menu",c,{merge:!0}),this._configService.setConfig(pt,u),this._initRegisterCommand()}onStarting(){s.registerDependencies(this._injector,[[he],[ve],[ke],[ce],[Oe]])}onReady(){s.touchDependencies(this._injector,[[he],[ve],[ke],[ce],[Oe]])}onRendered(){this._registerRenderModules()}_registerRenderModules(){const e=[[Ge],[Xe]];this._config.hideAnchor!==!0&&e.push([$e]),e.forEach(t=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(s.UniverInstanceType.UNIVER_SHEET,t))})}_initRegisterCommand(){[Ze,qe].forEach(e=>this._commandService.registerCommand(e))}},St($.UniverSheetsTableUIPlugin,"pluginName",yt),St($.UniverSheetsTableUIPlugin,"type",s.UniverInstanceType.UNIVER_SHEET),$.UniverSheetsTableUIPlugin=Pn([s.DependentOn(n.UniverSheetsTablePlugin),Be(1,s.Inject(s.Injector)),Be(2,s.Inject(s.ICommandService)),Be(3,s.IConfigService),Be(4,Y.IRenderManagerService)],$.UniverSheetsTableUIPlugin),Object.defineProperty($,Symbol.toStringTag,{value:"Module"})}));
11
11
 
12
12
 
13
13
  // index
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/preset-sheets-table",
3
- "version": "0.10.12",
3
+ "version": "0.10.14",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "author": "DreamNum Co., Ltd. <developer@univer.ai>",
@@ -58,16 +58,16 @@
58
58
  "rxjs": ">=7.0.0"
59
59
  },
60
60
  "dependencies": {
61
- "@univerjs/sheets-table": "0.10.12",
62
- "@univerjs/sheets-table-ui": "0.10.12"
61
+ "@univerjs/sheets-table": "0.10.14",
62
+ "@univerjs/sheets-table-ui": "0.10.14"
63
63
  },
64
64
  "devDependencies": {
65
- "@univerjs/core": "0.10.12",
65
+ "@univerjs/core": "0.10.14",
66
66
  "react": "18.3.1",
67
67
  "react-dom": "18.3.1",
68
68
  "rxjs": "7.8.2",
69
69
  "typescript": "^5.9.3",
70
- "@univerjs-infra/shared": "0.10.12"
70
+ "@univerjs-infra/shared": "0.10.14"
71
71
  },
72
72
  "scripts": {
73
73
  "prebuild:preset": "tsx prepare.ts",