@univerjs/sheets-table-ui 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -1,74 +1 @@
1
- import{ColorKit as e,CommandType as t,DependentOn as n,Disposable as r,ErrorService as i,ICommandService as a,IConfigService as o,IContextService as s,IPermissionService as c,IUniverInstanceService as l,Inject as u,Injector as d,InterceptorEffectEnum as f,LocaleService as p,ObjectMatrix as m,Plugin as h,Rectangle as g,RxDisposable as _,ThemeService as v,UniverInstanceType as y,VerticalAlign as b,cellToRange as x,merge as S,registerDependencies as C,touchDependencies as w}from"@univerjs/core";import{IRenderManagerService as T,Rect as ee,SHEET_VIEWPORT_KEY as E,Shape as D,convertTransformToOffsetX as te,convertTransformToOffsetY as O}from"@univerjs/engine-render";import{AddSheetTableCommand as ne,AddTableThemeCommand as k,DeleteSheetTableCommand as A,RemoveTableThemeCommand as re,SHEET_TABLE_CUSTOM_THEME_PREFIX as j,SetSheetTableCommand as ie,SetSheetTableFilterCommand as ae,SheetTableInsertColCommand as oe,SheetTableInsertRowCommand as se,SheetTableRemoveColCommand as ce,SheetTableRemoveRowCommand as le,SheetTableService as ue,SheetsTableButtonStateEnum as de,SheetsTableController as fe,SheetsTableSortStateEnum as pe,TableColumnFilterTypeEnum as me,TableConditionTypeEnum as M,TableDateCompareTypeEnum as N,TableManager as P,TableNumberCompareTypeEnum as F,TableStringCompareTypeEnum as I,UniverSheetsTablePlugin as he,customEmptyThemeWithBorderStyle as ge,isConditionFilter as _e,isManualTableFilter as ve,processStyleWithBorderStyle as ye}from"@univerjs/sheets-table";import{SelectAllCommand as be,SetScrollOperation as xe,SetZoomRatioOperation as Se,SheetCanvasPopManagerService as Ce,SheetScrollManagerService as we,SheetSkeletonManagerService as Te,getCoordByCell as Ee,getCurrentRangeDisable$ as De,getSheetObject as Oe}from"@univerjs/sheets-ui";import{BuiltInUIPart as ke,ComponentManager as Ae,ContextMenuGroup as je,ContextMenuPosition as Me,IDialogService as Ne,IMenuManagerService as Pe,ISidebarService as Fe,IUIPartsService as Ie,MenuItemType as L,RibbonDataGroup as Le,connectInjector as Re,getMenuHiddenObservable as ze,useDependency as R,useObservable as z}from"@univerjs/ui";import{BehaviorSubject as Be,Subject as Ve,debounceTime as He,distinctUntilChanged as Ue,filter as We,map as Ge,merge as Ke,of as B,startWith as qe,switchMap as V,takeUntil as Je}from"rxjs";import{Button as Ye,ButtonGroup as Xe,CascaderList as Ze,Checkbox as Qe,ColorPicker as $e,DatePicker as et,DateRangePicker as tt,Dropdown as nt,Input as rt,InputNumber as it,Segmented as at,Select as ot,borderClassName as H,clsx as U,scrollbarClassName as st}from"@univerjs/design";import{AscendingIcon as ct,DeleteIcon as lt,DescendingIcon as ut,DropdownIcon as dt,GridOutlineIcon as ft,MoreDownIcon as pt,PaintBucketDoubleIcon as mt,RenameIcon as ht,TableIcon as gt}from"@univerjs/icons";import{INTERCEPTOR_POINT as _t,RangeThemeStyle as vt,SetRangeThemeMutation as yt,SetRangeValuesMutation as bt,SetSelectionsOperation as xt,SetVerticalTextAlignCommand as St,SheetInterceptorService as Ct,SheetRangeThemeModel as wt,SheetsSelectionsService as Tt,WorkbookEditablePermission as Et,WorkbookPermissionService as Dt,expandToContinuousRange as Ot,getPrimaryForRange as kt,getSheetCommandTarget as At,isSingleCellSelection as jt}from"@univerjs/sheets";import{SortRangeCommand as Mt,SortType as Nt}from"@univerjs/sheets-sort";import{useCallback as Pt,useEffect as Ft,useMemo as It,useState as W}from"react";import{Fragment as Lt,jsx as G,jsxs as K}from"react/jsx-runtime";import{deserializeRangeWithSheet as Rt,serializeRange as zt}from"@univerjs/engine-formula";import{RangeSelector as Bt}from"@univerjs/sheets-formula-ui";var Vt=`@univerjs/sheets-table-ui`,Ht=`0.18.0`;const Ut=`SHEETS_TABLE_FILTER_PANEL_OPENED_KEY`,Wt=`TABLE_TOOLBAR_BUTTON`,Gt=`TABLE_SELECTOR_DIALOG`,Kt=`SHEET_TABLE_THEME_PANEL`,qt=`table-custom-`,Jt=`rgb(255, 255, 255)`,q=`none`,J=`1px solid rgb(var(--grey-200))`;let Yt=function(e){return e.Items=`items`,e.Condition=`condition`,e}({});function Xt(e){"@babel/helpers - typeof";return Xt=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Xt(e)}function Zt(e,t){if(Xt(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Xt(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Qt(e){var t=Zt(e,`string`);return Xt(t)==`symbol`?t:t+``}function Y(e,t,n){return(t=Qt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function X(e,t){return function(n,r){t(n,r,e)}}function Z(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let $t=class extends r{constructor(e,t,n,r,i){super(),this._tableManager=e,this._sheetTableService=t,this._univerInstanceService=n,this._commandService=r,this._localeService=i,Y(this,`_itemsCache`,new Map),this._registerTableFilterChangeEvent()}_registerTableFilterChangeEvent(){this._commandService.onCommandExecuted(e=>{if(e.id===bt.id){let{unitId:t,subUnitId:n,cellValue:r}=e.params,i=this._tableManager.getTablesBySubunitId(t,n);if(!i.length)return;new m(r).forValue((e,t,n)=>{let r=x(e,t),a=i.find(e=>{let t=e.getTableFilterRange();return g.intersects(t,r)});if(a){let e=t-a.getRange().startColumn;this._itemsCache.delete(a.getId()+e)}})}else if(e.id===ae.id){let{unitId:t,tableId:n}=e.params,r=this._tableManager.getTable(t,n);if(!r)return;let i=r.getSubunitId();this._tableManager.getTablesBySubunitId(t,i).forEach(e=>{let t=e.getRange();for(let n=t.startColumn;n<=t.endColumn;n++)this._itemsCache.delete(e.getId()+n)})}})}getTableFilterPanelInitProps(e,t,n,r){let i=this._tableManager.getTable(e,n),a=i.getRange(),o=i.getTableFilterColumn(r-a.startColumn);return{unitId:e,subUnitId:t,tableFilter:o,currentFilterBy:_e(o)?Yt.Condition:Yt.Items,tableId:n,columnIndex:r-a.startColumn}}getTableFilterCheckedItems(e,t,n){let r=this._tableManager.getTable(e,t),i=[];if(r){let e=r.getTableFilterColumn(n);e&&ve(e)&&i.push(...e.values)}return i}setTableFilter(e,t,n,r){if(!this._tableManager.getTable(e,t))return;let i={unitId:e,tableId:t,column:n,tableFilter:r};this._commandService.executeCommand(ae.id,i)}getTableFilterItems(e,t,n,r){var i;if(this._itemsCache.has(n+r))return this._itemsCache.get(n+r)||{data:[],itemsCountMap:new Map,allItemsCount:0};let a=this._tableManager.getTable(e,n);if(!a)return{data:[],itemsCountMap:new Map,allItemsCount:0};let{startRow:o,endRow:s,startColumn:c}=a.getTableFilterRange(),l=c+r,u=(i=this._univerInstanceService.getUnit(e))==null?void 0:i.getSheetBySheetId(t);if(!u)return{data:[],itemsCountMap:new Map,allItemsCount:0};let d=[],f=new Map,p=0;for(let e=o;e<=s;e++){if(u.isRowFiltered(e))continue;let t=this._sheetTableService.getCellValueWithConditionType(u,e,l);t===void 0&&(t=this._localeService.t(`sheets-table.condition.empty`)),f.has(t)||d.push({title:t,key:`${l}_${e}`,leaf:!0}),p++,f.set(t,(f.get(t)||0)+1)}return this._itemsCache.set(n+r,{data:d,itemsCountMap:f,allItemsCount:p}),{data:d,itemsCountMap:f,allItemsCount:p}}};$t=Z([X(0,u(P)),X(1,u(ue)),X(2,u(l)),X(3,a),X(4,u(p))],$t);let Q=function(e){return e.DatePicker=`DatePicker`,e.DateRange=`DateRange`,e.Input=`Input`,e.Inputs=`Inputs`,e.Select=`Select`,e.None=`None`,e}({});function en(e){let t=e.get(p).t;return[{value:M.String,label:t(`sheets-table.condition.${M.String}`),children:[{value:I.Equal,label:t(`sheets-table.string.compare.${I.Equal}`)},{value:I.NotEqual,label:t(`sheets-table.string.compare.${I.NotEqual}`)},{value:I.Contains,label:t(`sheets-table.string.compare.${I.Contains}`)},{value:I.NotContains,label:t(`sheets-table.string.compare.${I.NotContains}`)},{value:I.StartsWith,label:t(`sheets-table.string.compare.${I.StartsWith}`)},{value:I.EndsWith,label:t(`sheets-table.string.compare.${I.EndsWith}`)}]},{value:M.Number,label:t(`sheets-table.condition.${M.Number}`),children:[{value:F.Equal,label:t(`sheets-table.number.compare.${F.Equal}`)},{value:F.NotEqual,label:t(`sheets-table.number.compare.${F.NotEqual}`)},{value:F.GreaterThan,label:t(`sheets-table.number.compare.${F.GreaterThan}`)},{value:F.GreaterThanOrEqual,label:t(`sheets-table.number.compare.${F.GreaterThanOrEqual}`)},{value:F.LessThan,label:t(`sheets-table.number.compare.${F.LessThan}`)},{value:F.LessThanOrEqual,label:t(`sheets-table.number.compare.${F.LessThanOrEqual}`)},{value:F.Between,label:t(`sheets-table.number.compare.${F.Between}`)},{value:F.NotBetween,label:t(`sheets-table.number.compare.${F.NotBetween}`)},{value:F.Above,label:t(`sheets-table.number.compare.${F.Above}`)},{value:F.Below,label:t(`sheets-table.number.compare.${F.Below}`)}]},{value:M.Date,label:t(`sheets-table.condition.${M.Date}`),children:[{value:N.Equal,label:t(`sheets-table.date.compare.${N.Equal}`)},{value:N.NotEqual,label:t(`sheets-table.date.compare.${N.NotEqual}`)},{value:N.After,label:t(`sheets-table.date.compare.${N.After}`)},{value:N.AfterOrEqual,label:t(`sheets-table.date.compare.${N.AfterOrEqual}`)},{value:N.Before,label:t(`sheets-table.date.compare.${N.Before}`)},{value:N.BeforeOrEqual,label:t(`sheets-table.date.compare.${N.BeforeOrEqual}`)},{value:N.Between,label:t(`sheets-table.date.compare.${N.Between}`)},{value:N.NotBetween,label:t(`sheets-table.date.compare.${N.NotBetween}`)},{value:N.Today,label:t(`sheets-table.date.compare.${N.Today}`)},{value:N.Yesterday,label:t(`sheets-table.date.compare.${N.Yesterday}`)},{value:N.Tomorrow,label:t(`sheets-table.date.compare.${N.Tomorrow}`)},{value:N.ThisWeek,label:t(`sheets-table.date.compare.${N.ThisWeek}`)},{value:N.LastWeek,label:t(`sheets-table.date.compare.${N.LastWeek}`)},{value:N.NextWeek,label:t(`sheets-table.date.compare.${N.NextWeek}`)},{value:N.ThisMonth,label:t(`sheets-table.date.compare.${N.ThisMonth}`)},{value:N.LastMonth,label:t(`sheets-table.date.compare.${N.LastMonth}`)},{value:N.NextMonth,label:t(`sheets-table.date.compare.${N.NextMonth}`)},{value:N.ThisYear,label:t(`sheets-table.date.compare.${N.ThisYear}`)},{value:N.LastYear,label:t(`sheets-table.date.compare.${N.LastYear}`)},{value:N.NextYear,label:t(`sheets-table.date.compare.${N.NextYear}`)},{value:N.Quarter,label:t(`sheets-table.date.compare.${N.Quarter}`)},{value:N.Month,label:t(`sheets-table.date.compare.${N.Month}`)}]}]}function tn(e,t){if(!t)return[];let n=e.get(p).t;switch(t){case N.Quarter:return[{value:N.Q1,label:n(`sheets-table.date.compare.${N.Q1}`)},{value:N.Q2,label:n(`sheets-table.date.compare.${N.Q2}`)},{value:N.Q3,label:n(`sheets-table.date.compare.${N.Q3}`)},{value:N.Q4,label:n(`sheets-table.date.compare.${N.Q4}`)}];case N.Month:return[{value:N.M1,label:n(`sheets-table.date.compare.${N.M1}`)},{value:N.M2,label:n(`sheets-table.date.compare.${N.M2}`)},{value:N.M3,label:n(`sheets-table.date.compare.${N.M3}`)},{value:N.M4,label:n(`sheets-table.date.compare.${N.M4}`)},{value:N.M5,label:n(`sheets-table.date.compare.${N.M5}`)},{value:N.M6,label:n(`sheets-table.date.compare.${N.M6}`)},{value:N.M7,label:n(`sheets-table.date.compare.${N.M7}`)},{value:N.M8,label:n(`sheets-table.date.compare.${N.M8}`)},{value:N.M9,label:n(`sheets-table.date.compare.${N.M9}`)},{value:N.M10,label:n(`sheets-table.date.compare.${N.M10}`)},{value:N.M11,label:n(`sheets-table.date.compare.${N.M11}`)},{value:N.M12,label:n(`sheets-table.date.compare.${N.M12}`)}];default:return[]}}const nn=new Set([N.Equal,N.NotEqual,N.After,N.AfterOrEqual,N.Before,N.BeforeOrEqual]);function rn(e,t){return t?e===M.String?Q.Input:e===M.Number?t===F.Between||t===F.NotBetween?Q.Inputs:Q.Input:e===M.Date?t===N.Between||t===N.NotBetween?Q.DateRange:t===N.Quarter||t===N.Month?Q.Select:nn.has(t)?Q.DatePicker:Q.None:Q.None:Q.None}function an(e){if(!e||e.filterType!==`condition`)return{type:M.String,compareType:I.Equal,info:{}};let t=e.filterInfo,{conditionType:n,compareType:r}=t;if(n===M.Date)if(r===N.Between||r===N.NotBetween){let e;return Array.isArray(t.expectedValue)&&(e=t.expectedValue.map(e=>typeof e==`string`?new Date(e):e)),{type:n,compare:r,info:{dateRange:e}}}else if(r===N.Today||r===N.Yesterday||r===N.Tomorrow||r===N.ThisWeek||r===N.LastWeek||r===N.NextWeek||r===N.ThisMonth||r===N.LastMonth||r===N.NextMonth||r===N.ThisYear||r===N.LastYear||r===N.NextYear)return{type:n,compare:r,info:{}};else if(nn.has(r)){let e;if(typeof t.expectedValue==`string`)e=new Date(t.expectedValue);else if(Array.isArray(t.expectedValue))for(let e=0;e<t.expectedValue.length;e++)typeof t.expectedValue[e]==`string`&&(t.expectedValue[e]=new Date(t.expectedValue[e]));return{type:n,compare:r,info:{date:e}}}else if(new Set([N.Q1,N.Q2,N.Q3,N.Q4]).has(r))return{type:n,compare:N.Quarter,info:{dateSelect:t.compareType}};else return{type:n,compare:N.Month,info:{dateSelect:t.compareType}};else if(n===M.Number)return r===F.Between||r===F.NotBetween?{type:n,compare:r,info:{numberRange:t.expectedValue}}:{type:n,compare:r,info:{number:t.expectedValue}};else if(n===M.String)return{type:n,compare:r,info:{string:t.expectedValue}};return{type:M.String,compare:I.Equal,info:{}}}const on=e=>{var t,n,r,i,a,o,s,c;let{conditionInfo:l,onChange:u}=e,f=R(p),[m,h]=W(!1),g=R(d),_=en(g),v=(e,t,n)=>{u({type:t==null?l.type:t,compare:n==null?l.compare:n,info:e})},y=e=>{var t;let n=e[0],r=e[1];r&&h(!1);let i={};n===M.Date?r===N.Quarter?i.dateSelect=N.Q1:r===N.Month?i.dateSelect=N.M1:nn.has(r)?i.date=new Date:i.dateRange=[new Date,new Date]:n===M.Number?i.number=0:n===M.String&&(i.string=``),v(i,e[0],(t=e[1])==null?I.Equal:t)},b=rn(l.type,l.compare),x=``;x=l.compare?`${f.t(`sheets-table.condition.${l.type}`)} - ${f.t(`sheets-table.${l.type}.compare.${l.compare}`)}`:f.t(`sheets-table.condition.${l.type}`);let S=tn(g,l.compare);return K(`div`,{children:[G(nt,{align:`start`,open:m,onOpenChange:h,overlay:G(Ze,{value:[l.type,l.compare],options:_,onChange:y,contentClassName:`univer-flex-1`,wrapperClassName:`!univer-h-[150px]`}),children:K(`div`,{className:U(`
2
- univer-box-border univer-flex univer-h-8 univer-w-full univer-items-center univer-justify-between
3
- univer-rounded-md univer-bg-white univer-px-2 univer-text-sm univer-transition-colors
4
- univer-duration-200
5
- hover:univer-border-primary-600
6
- focus:univer-border-primary-600 focus:univer-outline-none focus:univer-ring-2
7
- dark:!univer-bg-gray-700 dark:!univer-text-white
8
- `,H),children:[G(`span`,{children:x}),G(pt,{})]})}),K(`div`,{className:`univer-mt-3 univer-w-full`,children:[b===Q.Input&&G(Lt,{children:l.type===M.String?G(rt,{className:`univer-w-full`,placeholder:`请输入`,value:l.info.string,onChange:e=>v({string:e})}):G(it,{className:`univer-h-7 univer-w-full`,value:l.info.number,controls:!1,onChange:e=>{e!==null&&v({number:e})}})}),b===Q.DatePicker&&G(`div`,{id:`univer-table-date-picker-wrapper`,children:G(et,{className:`univer-w-full`,value:(t=l.info.date)==null?new Date:t,onValueChange:e=>v({date:e})})}),b===Q.DateRange&&G(`div`,{id:`univer-table-date-range-wrapper`,children:G(tt,{className:`univer-w-full`,value:[(n=(r=l.info.dateRange)==null?void 0:r[0])==null?new Date:n,(i=(a=l.info.dateRange)==null?void 0:a[1])==null?new Date:i],onValueChange:e=>{v(e?{dateRange:e}:{})}})}),b===Q.Inputs&&K(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[G(it,{className:`univer-w-full`,value:(o=l.info.numberRange)==null?void 0:o[0],onChange:e=>{if(e!==null){var t;v({numberRange:[e,(t=l.info.numberRange)==null?void 0:t[1]]})}},controls:!1}),G(`span`,{children:` - `}),G(it,{className:`univer-w-full`,value:(s=l.info.numberRange)==null?void 0:s[1],controls:!1,onChange:e=>{if(e!==null){var t;v({numberRange:[(t=l.info.numberRange)==null?void 0:t[0],e]})}}})]}),b===Q.Select&&G(ot,{className:`univer-w-full`,value:(c=l.info.dateSelect)==null?S[0].value:c,options:S,onChange:e=>v({dateSelect:e})})]})]})},sn=e=>{let t=0;return e.forEach(e=>{t+=e}),t};function cn(e){let{unitId:t,tableId:n,subUnitId:r,columnIndex:i,checkedItemSet:a,setCheckedItemSet:o,tableFilter:s}=e,c=R(p),{data:l,itemsCountMap:u,allItemsCount:d}=R($t).getTableFilterItems(t,r,n,i),[f,m]=W(s===void 0?!0:a.size===u.size),[h,g]=W(f?d:sn(u)),_=!f&&a.size>0,[v,y]=W(``),b=It(()=>v?l.filter(e=>String(e.title).toLowerCase().includes(v.toLowerCase())):l,[v,l]),x=Pt(()=>{f?(a.clear(),o(new Set(a)),m(!1)):(b.forEach(e=>{a.add(e.title)}),o(new Set(a)),m(!0))},[f]),S=Pt(e=>{e===``?(m(!0),l.forEach(e=>{a.add(e.title)}),g(d)):(a.clear(),m(!1),g(0)),y(e)},[]),C=e=>{if(f){m(!1);let t=new Set;for(let{title:n}of l)e!==n&&t.add(n);g(d-u.get(e)),o(t)}else a.has(e)?(a.delete(e),g(h-u.get(e))):(a.add(e),g(h+u.get(e))),o(new Set(a))};return K(`div`,{className:`univer-flex univer-h-full univer-flex-col`,children:[G(rt,{autoFocus:!0,value:v,placeholder:c.t(`sheets-table.filter.search-placeholder`),onChange:S}),G(`div`,{className:U(`
9
- univer-mt-2 univer-box-border univer-flex univer-h-[180px] univer-max-h-[180px] univer-flex-grow
10
- univer-flex-col univer-overflow-hidden univer-rounded-md univer-py-1.5 univer-pl-2
11
- `,H),children:G(`div`,{className:U(`univer-h-40 univer-overflow-y-auto univer-py-1 univer-pl-2`,st),children:K(`div`,{className:`univer-h-full`,children:[G(`div`,{className:`univer-flex univer-items-center univer-px-2 univer-py-1`,children:G(Qe,{indeterminate:_,disabled:l.length===0,checked:f,onChange:x,children:K(`div`,{className:`univer-flex univer-h-5 univer-flex-1 univer-items-center univer-text-sm`,children:[G(`span`,{className:`univer-inline-block univer-truncate`,children:`${c.t(`sheets-table.filter.select-all`)}`}),G(`span`,{className:`univer-ml univer-text-gray-400`,children:`(${h}/${v?b.length:d})`})]})})}),b.map(e=>G(`div`,{className:`univer-flex univer-items-center univer-px-2 univer-py-1`,children:G(Qe,{checked:f||a.has(e.title),onChange:()=>{C(e.title)},children:K(`div`,{className:`univer-flex univer-h-5 univer-flex-1 univer-text-sm`,children:[G(`span`,{className:`univer-inline-block univer-truncate`,children:e.title}),G(`span`,{className:`univer-ml-1 univer-text-gray-400`,children:`(${u.get(e.title)||0})`})]})})},e.key))]})})})]})}function ln(){var e;let t=R(p),n=un(t),r=R($t),i=R(P),o=R(a),s=R(c),l=R(dn),u=l.getCurrentTableFilterInfo(),d=r.getTableFilterPanelInitProps(u.unitId,u.subUnitId,u.tableId,u.column),{unitId:f,subUnitId:m,tableId:h,tableFilter:g,currentFilterBy:_,columnIndex:v}=d,{data:y}=r.getTableFilterItems(f,m,h,v),b=r.getTableFilterCheckedItems(f,h,v),[x,S]=W(new Set(b)),[C,w]=W(_||Yt.Items),[T,ee]=W(()=>{let e=d.tableFilter;return an(e)}),E=i.getTable(f,h);if(!E)return null;let D=E.getTableFilters(),te=D.getSortState();te.columnIndex===v&&(te.sortState,pe.Asc),te.columnIndex===v&&(te.sortState,pe.Desc);let O=()=>{l.closeFilterPanel()},ne=()=>{O()},k=e=>{let t=E.getTableFilterRange();o.executeCommand(Mt.id,{unitId:f,subUnitId:m,range:t,orderRules:[{colIndex:v+t.startColumn,type:e?Nt.ASC:Nt.DESC}],hasTitle:!1}),D.setSortState(v,e?pe.Asc:pe.Desc),O()},A=()=>{if(C===Yt.Items){let e=[];for(let t of y)x.has(t.title)&&e.push(t.title);let t=E.getTableFilterColumn(v);if(t){if(t.values.join(`,`)===e.join(`,`)){O();return}}else if(e.length===0){O();return}let n={filterType:me.manual,values:e};r.setTableFilter(f,h,v,n)}else{let e;e=T.compare===N.Quarter||T.compare===N.Month?{conditionType:T.type,compareType:Object.values(T.info)[0]}:{conditionType:T.type,compareType:T.compare,expectedValue:Object.values(T.info)[0]};let t={filterType:me.condition,filterInfo:e};r.setTableFilter(f,h,v,t)}O()},re=()=>{r.setTableFilter(f,h,v,void 0),O()},j=new Et(f).id;return K(`div`,{className:`
12
- univer-box-border univer-flex univer-min-w-[312px] univer-flex-col univer-rounded-[10px] univer-bg-white
13
- univer-p-4 univer-shadow-lg
14
- dark:!univer-border-gray-600 dark:!univer-bg-gray-700
15
- `,children:[((e=s.getPermissionPoint(j))==null?void 0:e.value)&&G(`div`,{className:`univer-mb-3 univer-flex`,children:K(Xe,{className:`univer-mb-3 !univer-flex univer-w-full`,children:[K(Ye,{className:`univer-w-1/2`,onClick:()=>k(!0),children:[G(ct,{className:`univer-mr-1`}),t.t(`sheets-sort.general.sort-asc`)]}),K(Ye,{className:`univer-w-1/2`,onClick:()=>k(!1),children:[G(ut,{className:`univer-mr-1`}),t.t(`sheets-sort.general.sort-desc`)]})]})}),G(`div`,{className:`univer-w-full`,children:G(at,{value:C,items:n,onChange:e=>w(e)})}),G(`div`,{className:`univer-z-10 univer-h-60`,children:G(`div`,{className:`univer-mt-3 univer-size-full`,children:C===Yt.Items?G(cn,{tableFilter:g,unitId:f,subUnitId:m,tableId:h,columnIndex:v,checkedItemSet:x,setCheckedItemSet:S}):G(on,{tableFilter:g,unitId:f,subUnitId:m,tableId:h,columnIndex:v,conditionInfo:T,onChange:ee})})}),K(`div`,{className:`
16
- univer-flex-wrap-nowrap univer-mt-4 univer-inline-flex univer-flex-shrink-0 univer-flex-grow-0
17
- univer-justify-between univer-gap-6 univer-overflow-hidden
18
- `,children:[G(Ye,{disabled:g===void 0,onClick:re,children:t.t(`sheets-table.filter.clear-filter`)}),K(`div`,{children:[G(Ye,{className:`univer-mr-2`,onClick:ne,children:t.t(`sheets-table.filter.cancel`)}),G(Ye,{variant:`primary`,onClick:A,children:t.t(`sheets-table.filter.confirm`)})]})]})]})}function un(e){return It(()=>[{label:e.t(`sheets-table.filter.by-values`),value:Yt.Items},{label:e.t(`sheets-table.filter.by-conditions`),value:Yt.Condition}],[e.getCurrentLocale(),e])}let dn=class extends r{constructor(e,t,n,r){super(),this._componentManager=e,this._contextService=t,this._sheetCanvasPopupService=n,this._dialogService=r,Y(this,`_popupDisposable`,void 0),Y(this,`_currentTableFilterInfo`,null),this._initComponents(),this._initUIPopup()}setCurrentTableFilterInfo(e){this._currentTableFilterInfo=e}clearCurrentTableFilterInfo(){this._currentTableFilterInfo=null}getCurrentTableFilterInfo(){return this._currentTableFilterInfo}_initComponents(){[[Ut,ln]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initUIPopup(){this.disposeWithMe(this._contextService.subscribeContextValue$(Ut).pipe(qe(void 0),Ue()).subscribe(e=>{e?this._openFilterPopup():e===!1&&this._closeFilterPopup()}))}closeFilterPanel(){this._contextService.setContextValue(Ut,!1)}_openFilterPopup(){let e=this._currentTableFilterInfo;if(!e)throw Error(`[SheetsFilterUIController]: no filter model when opening filter popup!`);let{row:t,column:n}=e;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(t,n,{componentKey:Ut,direction:`horizontal`,onClickOutside:()=>{this._dialogService.close(`UNIVER_SHEET_Table_FILTER_PANEL_ID`),this._contextService.setContextValue(Ut,!1)},offset:[5,0],portal:!0})}_closeFilterPopup(){var e;(e=this._popupDisposable)==null||e.dispose(),this._popupDisposable=null,this.clearCurrentTableFilterInfo()}};dn=Z([X(0,u(Ae)),X(1,s),X(2,u(Ce)),X(3,u(Ne))],dn);const fn={type:t.OPERATION,id:`sheet.operation.open-table-filter-panel`,async handler(e,t){if(!t)return!1;let{row:n,col:r,unitId:i,subUnitId:a,tableId:o}=t,c=e.get(P),l=e.get(s),u=e.get(dn);return c.getTable(i,o)?(l.getContextValue(`SHEETS_TABLE_FILTER_PANEL_OPENED_KEY`)||(u.setCurrentTableFilterInfo({unitId:i,subUnitId:a,row:n,tableId:o,column:r}),l.setContextValue(Ut,!0)),!0):!1}},pn={type:t.OPERATION,id:`sheet.operation.open-table-selector`,async handler(e){var t;let n=e.get(l),r=e.get(a),i=At(n);if(!i)return!1;let{unitId:o,subUnitId:s,worksheet:c}=i,u=e.get(Tt).getCurrentLastSelection(),d=(t=u==null?void 0:u.range)==null?{startRow:0,endRow:0,startColumn:0,endColumn:0}:t,f=await mn(e,o,s,jt(u)?Ot(d,{up:!0,left:!0,right:!0,down:!0},c):d);return f?(r.executeCommand(ne.id,{...f}),!0):!1}};async function mn(e,t,n,r,i){let a=e.get(Ne),o=e.get(p);return new Promise(e=>{let s={unitId:t,subUnitId:n,range:r,tableId:i,onConfirm:t=>{e(t),a.close(Gt)},onCancel:()=>{e(null),a.close(Gt)}};a.open({id:Gt,title:{title:o.t(`sheets-table.selectRange`)},draggable:!0,destroyOnClose:!0,mask:!1,maskClosable:!1,children:{label:{name:Gt,props:s}},width:300,onClose:()=>{e(null),a.close(Gt)}})})}const hn=`sheets-table-ui.config`;Symbol(hn);const gn={anchorHeight:24,anchorBackgroundColor:`rgb(134,139,156)`};let _n=class extends r{constructor(e){super(),this._commandService=e,Y(this,`_refreshTable`,new Ve),Y(this,`refreshTable$`,this._refreshTable.asObservable()),this._initListener()}_initListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===yt.id){let{styleName:t}=e.params;t.startsWith(j)&&this._refreshTable.next(Math.random())}}))}};_n=Z([X(0,u(a))],_n);const vn=()=>{var e,t;let[n,r]=W(``),[i,s]=W(``),c=R(Fe),[u,f]=W({}),m=R(d),h=z(R(yn).anchorPosition$),_=R(a),v=R(l),y=z(R(Dt).unitPermissionInitStateChange$,!1),b=R(P),S=R(wt),C=z(R(_n).refreshTable$),w=R(p),T=z(R(Tt).selectionChanged$,[{range:x(0,0),primary:null}]),[,ee]=W(Math.random()),E=R(o).getConfig(hn),D=(e=E==null?void 0:E.anchorHeight)==null?24:e,te=(t=E==null?void 0:E.anchorBackgroundColor)==null?`rgb(53,91,183)`:t,O=(e,t)=>{f(n=>({...n,[e]:t}))};if(Ft(()=>{ee(Math.random())},[C]),!(h!=null&&h.length))return null;let ne=At(v);if(!ne)return null;let{unitId:k,subUnitId:re}=ne,j=(e,t)=>{var n;if(((n=b.getTableById(k,e))==null?void 0:n.getDisplayName())===t){r(``),s(``);return}_.executeCommand(ie.id,{tableId:e,unitId:k,name:t}),s(``),r(``)},ae=async e=>{let t=b.getTableById(k,e);if(!t)return;let n=await mn(m,k,re,t.getRange(),e);n&&_.executeCommand(ie.id,{tableId:e,unitId:k,updateRange:{newRange:n.range}})};return y?G(`div`,{className:`univer-absolute univer-z-50 univer-size-0`,children:h.map(e=>{var t,a,o,l,d;let f=b.getTableById(k,e.tableId);if(!f)return null;let p=S.getRangeThemeStyle(k,f.getTableStyleId()),m=(t=p==null||(a=p.getHeaderRowStyle())==null||(a=a.bg)==null?void 0:a.rgb)==null?te:t,h=(o=p==null||(l=p.getHeaderRowStyle())==null||(l=l.cl)==null?void 0:l.rgb)==null?`rgb(255, 255, 255)`:o,v=f.getRange();if(!(T!=null&&T.length))return null;let y=T[T.length-1].range,x=!g.intersects(v,y)&&e.y<=20;return K(`div`,{className:U(`
19
- univer-shadow-xs univer-absolute univer-box-border univer-cursor-pointer univer-items-center
20
- univer-rounded-xl univer-px-2
21
- `,H,{"univer-flex":!x,"univer-hidden":x}),style:{left:e.x,top:Math.max(e.y,0),backgroundColor:m,color:h,borderWidth:`0.5px`,height:D?`${D}px`:`24px`},children:[G(`div`,{className:`univer-text-nowrap`,children:n===e.tableId?G(rt,{className:`univer-h-[18px] univer-min-w-16 univer-rounded-none`,inputClass:`univer-h-[18px] univer-w-[80px]`,value:i,onChange:e=>s(e),onBlur:()=>j(e.tableId,i),onKeyDown:t=>{t.key===`Enter`&&j(e.tableId,i)},autoFocus:n===e.tableId}):G(`div`,{className:`univer-h-[18px] univer-max-w-24 univer-truncate univer-text-sm`,children:e.tableName})}),G(nt,{align:`start`,overlay:K(`div`,{className:`univer-py-2`,children:[K(`div`,{className:`
22
- univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center
23
- univer-gap-2 univer-px-2 univer-py-1 univer-text-sm
24
- hover:univer-bg-gray-200
25
- `,onClick:()=>{r(e.tableId),s(e.tableName)},children:[G(ht,{}),w.t(`sheets-table.rename`)]}),G(`div`,{className:`univer-my-1 univer-h-px univer-w-full univer-bg-gray-200`}),K(`div`,{onClick:()=>ae(e.tableId),className:`
26
- univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center
27
- univer-gap-2 univer-px-2 univer-py-1 univer-text-sm
28
- hover:univer-bg-gray-200
29
- `,children:[G(ft,{}),w.t(`sheets-table.updateRange`)]}),K(`div`,{className:`
30
- univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center
31
- univer-gap-2 univer-px-2 univer-py-1 univer-text-sm
32
- hover:univer-bg-gray-200
33
- `,onClick:()=>{O(e.tableId,!1);let t=b.getTableById(k,e.tableId);if(!t)return;let n=t.getTableConfig(),r={id:`SHEET_TABLE_THEME_PANEL_ID`,header:{title:w.t(`sheets-table.tableStyle`)},children:{label:Kt,oldConfig:n,unitId:k,subUnitId:re,tableId:e.tableId},width:330};c.open(r)},children:[G(mt,{extend:{colorChannel1:`rgb(53,91,183)`}}),w.t(`sheets-table.setTheme`)]}),G(`div`,{className:`univer-my-1 univer-h-px univer-w-full univer-bg-gray-200`}),K(`div`,{className:`
34
- univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center
35
- univer-px-2 univer-py-1 univer-text-sm
36
- hover:univer-bg-gray-200
37
- `,onClick:()=>{O(e.tableId,!1),_.executeCommand(A.id,{tableId:e.tableId,subUnitId:re,unitId:k})},children:[G(lt,{className:`univer-mr-2`}),w.t(`sheets-table.removeTable`)]})]}),open:(d=u[e.tableId])==null?!1:d,onOpenChange:t=>{O(e.tableId,t)},children:G(`div`,{children:G(pt,{})})},e.tableId)]},e.tableId)})}):null};let yn=class extends r{constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._context=e,this._injector=t,this._sheetSkeletonManagerService=n,this._renderManagerService=r,this._commandService=i,this._univerInstanceService=a,this._uiPartsService=o,this._tableManager=s,this._scrollManagerService=c,this._workbookPermissionService=l,this._permissionService=u,Y(this,`_anchorVisible$`,new Be(!0)),Y(this,`_timer`,void 0),Y(this,`_anchorPosition$`,new Be([])),Y(this,`anchorPosition$`,this._anchorPosition$.asObservable()),this._initUI(),this._initListener(),this._initTableAnchor()}_initUI(){this.disposeWithMe(this._uiPartsService.registerComponent(ke.CONTENT,()=>Re(vn,this._injector)))}_initListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{(e.id===Se.id||e.id===xe.id)&&(this._anchorVisible$.next(!1),this._timer&&clearTimeout(this._timer),this._timer=setTimeout(()=>{this._anchorVisible$.next(!0)},300))}))}_initTableAnchor(){this.disposeWithMe(Ke(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(We(e=>e)),this._permissionService.permissionPointUpdate$.pipe(He(300)),this._anchorVisible$).subscribe(()=>{var e;if(!this._anchorVisible$.getValue()){this._anchorPosition$.next([]);return}let t=this._context.unit,n=t.getActiveSheet(),r=n==null?void 0:n.getSheetId(),i=this._tableManager.getTableList(this._context.unitId).filter(e=>e.subUnitId===r),a=this._renderManagerService.getRenderById(this._context.unitId);if(!a){this._anchorPosition$.next([]);return}if(!((e=this._permissionService.getPermissionPoint(new Et(t.getUnitId()).id))!=null&&e.value)){this._anchorPosition$.next([]);return}let o=i.reduce((e,t)=>{let{startRow:n,startColumn:r}=t.range,i=a.with(Te),o=Oe(this._univerInstanceService,this._renderManagerService);if(!o)return e;let{scene:s}=o,c=s.getViewport(E.VIEW_MAIN);if(!c)return e;let l=s==null?void 0:s.scaleX,u=s==null?void 0:s.scaleY,d=s==null?void 0:s.getViewportScrollXY(c);if(!l||!s||!u||!d)return e;let f=i.getCurrentSkeleton();if(!f)return e;let p=f.getNoMergeCellWithCoordByIndex(n,r),m=te(p.startX,l,d),h=O(p.startY,u,d)-25-4;return h>=-10&&m>=45&&e.push({x:m,y:h,tableId:t.id,tableName:t.name}),e},[]);this._anchorPosition$.next(o)}))}};yn=Z([X(1,u(d)),X(2,u(Te)),X(3,T),X(4,a),X(5,l),X(6,Ie),X(7,u(P)),X(8,u(we)),X(9,u(Dt)),X(10,u(c))],yn),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`);var bn=class{static drawNoSetting(e,t,n,r){e.save(),ee.drawWith(e,{radius:2,width:16,height:16,fill:r}),e.lineCap=`square`,e.strokeStyle=n,e.scale(t/16,t/16),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,r){e.save(),e.strokeStyle=n,e.fillStyle=r,ee.drawWith(e,{radius:2,width:16,height:16,fill:r}),t.forEach(t=>{let r=new Path2D(t);e.fillStyle=n,e.fill(r,`evenodd`)}),e.restore()}};const xn=[`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`],Sn=[`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`],Cn=[`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`],wn=[`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`],Tn=[`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`];let En=class extends D{constructor(e,t,n,r,i){super(e,t),this._contextService=n,this._commandService=r,this._themeService=i,Y(this,`_cellWidth`,0),Y(this,`_cellHeight`,0),Y(this,`_filterParams`,void 0),Y(this,`_hovered`,!1),this.setShapeProps(t),this.onPointerDown$.subscribeEvent(e=>this.onPointerDown(e)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(e){e.cellHeight!==void 0&&(this._cellHeight=e.cellHeight),e.cellWidth!==void 0&&(this._cellWidth=e.cellWidth),e.filterParams!==void 0&&(this._filterParams=e.filterParams),this.transformByState({width:e.width,height:e.height})}_draw(e){let t=this._cellHeight,n=this._cellWidth,r=16-n,i=16-t;e.save();let a=new Path2D;a.rect(r,i,n,t),e.clip(a);let{buttonState:o}=this._filterParams,s=this._themeService.getColorFromTheme(`primary.600`),c=this._hovered?this._themeService.getColorFromTheme(`gray.50`):`rgba(255, 255, 255, 1.0)`,l;switch(o){case de.FilteredSortNone:l=xn;break;case de.FilteredSortAsc:l=Sn;break;case de.FilteredSortDesc:l=Cn;break;case de.FilterNoneSortNone:break;case de.FilterNoneSortAsc:l=wn;break;case de.FilterNoneSortDesc:l=Tn;break}l?bn.drawIconByPath(e,l,s,c):o!==void 0&&bn.drawNoSetting(e,16,s,c),e.restore()}onPointerDown(e){if(e.button===2)return;let{row:t,col:n,unitId:r,subUnitId:i,tableId:a}=this._filterParams;this._contextService.getContextValue(`SHEETS_TABLE_FILTER_PANEL_OPENED_KEY`)||!this._commandService.hasCommand(fn.id)||setTimeout(()=>{let e={row:t,col:n,unitId:r,subUnitId:i,tableId:a};this._commandService.executeCommand(fn.id,e)},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};En=Z([X(2,s),X(3,a),X(4,u(v))],En);const Dn=(e,t,n,r)=>{switch(r){case b.TOP:return e+1;case b.MIDDLE:return e+Math.max(0,(n-16)/2);case b.BOTTOM:default:return t-16-1}};let On=class extends _{constructor(e,t,n,r,i,a){super(),this._context=e,this._injector=t,this._sheetSkeletonManagerService=n,this._sheetInterceptorService=r,this._tableManager=i,this._commandService=a,Y(this,`_buttonRenderDisposable`,null),Y(this,`_tableFilterButtonShapes`,[]),this._initRenderer(),this._initCommandExecuted()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){let e=this._tableManager;this._sheetSkeletonManagerService.currentSkeleton$.pipe(V(t=>{var n;if(!t)return B(null);let{unit:r,unitId:i}=this._context,a=((n=r.getActiveSheet())==null?void 0:n.getSheetId())||``,o=()=>({unitId:i,worksheetId:a,tableFilterRanges:this._tableManager.getSheetFilterRangeWithState(r.getUnitId(),a),skeleton:t.skeleton});return Ke(e.tableAdd$,e.tableNameChanged$,e.tableRangeChanged$,e.tableThemeChanged$,e.tableDelete$,e.tableFilterChanged$).pipe(Ge(()=>o()),qe(o()))}),Je(this.dispose$)).subscribe(e=>{this._disposeRendering(),!(!e||!e.tableFilterRanges)&&this._renderButtons(e)})}_initCommandExecuted(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var t;if(e.id!==St.id)return;let{unit:n,unitId:r}=this._context,i=((t=n.getActiveSheet())==null?void 0:t.getSheetId())||``,a=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!a)return;let o={unitId:r,worksheetId:i,tableFilterRanges:this._tableManager.getSheetFilterRangeWithState(n.getUnitId(),i),skeleton:a};this._disposeRendering(),!(!o||!o.tableFilterRanges)&&this._renderButtons(o)}))}_renderButtons(e){let{tableFilterRanges:t,unitId:n,skeleton:r,worksheetId:i}=e,{unit:a,scene:o}=this._context,s=a.getSheetBySheetId(i);if(s){for(let{range:e,states:a,tableId:c}of t){let{startRow:t,startColumn:l,endColumn:u}=e;this._interceptCellContent(n,i,e);for(let e=l;e<=u;e++){let u=`sheets-table-filter-button-${t}-${e}`,d=Ee(t,e,o,r),f=s.getCellStyle(t,e),p=(f==null?void 0:f.vt)||b.BOTTOM,{startX:m,startY:h,endX:g,endY:_}=d,v=g-m,y=_-h;if(y<=1||v<=1)continue;let x=a[e-l],S={left:g-16-1,top:Dn(h,_,y,p),height:16,width:16,zIndex:5e3,cellHeight:y,cellWidth:v,filterParams:{unitId:n,subUnitId:i,row:t,col:e,buttonState:x,tableId:c}},C=this._injector.createInstance(En,u,S);this._tableFilterButtonShapes.push(C)}}o.addObjects(this._tableFilterButtonShapes),o.makeDirty()}}_interceptCellContent(e,t,n){let{startRow:r,startColumn:i,endColumn:a}=n;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(_t.CELL_CONTENT,{effect:f.Style,handler:(n,o,s)=>{let{row:c,col:l,unitId:u,subUnitId:d}=o;return u!==e||d!==t||c!==r||l<i||l>a?s(n):((!n||n===o.rawData)&&(n={...o.rawData}),n.fontRenderExtension={...n==null?void 0:n.fontRenderExtension,rightOffset:16},s(n))},priority:10})}_disposeRendering(){var e;this._tableFilterButtonShapes.forEach(e=>e.dispose()),(e=this._buttonRenderDisposable)==null||e.dispose(),this._buttonRenderDisposable=null,this._tableFilterButtonShapes=[]}};On=Z([X(1,u(d)),X(2,u(Te)),X(3,u(Ct)),X(4,u(P)),X(5,a)],On);let kn=class extends _{constructor(e,t,n,r,i){super(),this._context=e,this._injector=t,this._sheetSkeletonManagerService=n,this._tableManager=r,this._sheetTableThemeUIController=i,this._initListener()}_dirtySkeleton(){var e;(e=this._context.mainComponent)==null||e.makeDirty();let t=this._sheetSkeletonManagerService.getCurrentParam();if(t){let e={...t,dirty:!0};this._sheetSkeletonManagerService.reCalculate(e)}}_initListener(){let e=this._tableManager,t=this._dirtySkeleton.bind(this);this.disposeWithMe(Ke(e.tableAdd$,e.tableDelete$,e.tableNameChanged$,e.tableRangeChanged$,e.tableThemeChanged$,e.tableFilterChanged$,e.tableInitStatus$,this._sheetTableThemeUIController.refreshTable$).subscribe(t))}};kn=Z([X(1,u(d)),X(2,u(Te)),X(3,u(P)),X(4,u(_n))],kn);let An=class extends r{constructor(e,t,n){super(),this._sheetInterceptorService=e,this._univerInstanceService=t,this._tableManager=n,this._initSelectionChange()}_initSelectionChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===be.id){let t=At(this._univerInstanceService);if(!t)return{redos:[],undos:[]};let{range:n}=e.params,{unitId:r,subUnitId:i,worksheet:a}=t,o=this._tableManager.getTablesBySubunitId(r,i).find(e=>{let t=e.getRange();return g.contains(t,n)});if(o){let e=o.getRange(),t={...e,startRow:e.startRow+1};return g.equals(e,n)?{undos:[],redos:[]}:g.equals(t,n)?{undos:[],redos:[{id:xt.id,params:{unitId:r,subUnitId:i,selections:[{range:e,primary:kt(e,a)}]}}]}:{undos:[],redos:[{id:xt.id,params:{unitId:r,subUnitId:i,selections:[{range:t,primary:kt(t,a)}]}}]}}}return{redos:[],undos:[]}}}))}};An=Z([X(0,u(Ct)),X(1,u(l)),X(2,u(P))],An);const jn=e=>{let{unitId:t,subUnitId:n,range:r,onCancel:i,onConfirm:a,tableId:o}=e,s=R(P),[c,u]=W(r),[d,f]=W(``),m=R(p),h=R(l);return K(Lt,{children:[G(Bt,{maxRangeCount:1,unitId:t,subUnitId:n,initialValue:zt(r),onChange:(e,i)=>{let c=zt(r),l=Rt(i).range,d=At(h,{unitId:t,subUnitId:n});if(!d)return;if(d.worksheet.getMergeData().some(e=>g.intersects(l,e))){f(m.t(`sheets-table.tableRangeWithMergeError`));return}if(s.getTablesBySubunitId(t,n).some(e=>{if(e.getId()===o)return!1;let t=e.getRange();return g.intersects(l,t)})){f(m.t(`sheets-table.tableRangeWithOtherTableError`));return}let{startRow:p,endRow:_}=l;if(p===_){f(m.t(`sheets-table.tableRangeSingleRowError`));return}if(c!==i){if(o){let e=s.getTableById(t,o);if(e){let r=e.getRange();if(g.intersects(l,r)&&r.startRow===l.startRow){u(l),f(``),a({unitId:t,subUnitId:n,range:l});return}else{f(m.t(`sheets-table.updateError`));return}}}u(l),f(``)}},supportAcrossSheet:!1}),d&&G(`div`,{className:`univer-mt-1 univer-text-xs univer-text-red-500`,children:d}),K(`div`,{className:`univer-mt-4 univer-flex univer-justify-end`,children:[G(Ye,{onClick:i,children:m.t(`sheets-table.cancel`)}),G(Ye,{variant:`primary`,onClick:()=>{d||a({unitId:t,subUnitId:n,range:c})},className:`univer-ml-2`,children:m.t(`sheets-table.confirm`)})]})]})},Mn=t=>{var n,r,o,s,c,l,u,d;let{unitId:f,subUnitId:m,tableId:h}=t,g=R(a),_=R(p),v=R(P),y=v.getTableById(f,h),b=R(wt),x=R(_n),S=z(b.rangeThemeMapChange$),C=z(x.refreshTable$),w=R(i),[,T]=W(Math.random()),ee=z(v.tableThemeChanged$,{theme:y==null?void 0:y.getTableStyleId(),oldTheme:y==null?void 0:y.getTableStyleId(),unitId:f,subUnitId:m,tableId:h}),E=b.getRegisteredRangeThemes().filter(e=>e==null?void 0:e.startsWith(`table-default-`)),D=b.getALLRegisteredTheme(f).filter(e=>e==null?void 0:e.startsWith(qt)),te=y==null?void 0:y.getTableStyleId(),O=D.find(e=>e===te),ne=O||D[0],A=b.getCustomRangeThemeStyle(f,ne),j=(n=A==null||(r=A.getHeaderRowStyle())==null||(r=r.bg)==null?void 0:r.rgb)==null?Jt:n,ae=(o=A==null||(s=A.getFirstRowStyle())==null||(s=s.bg)==null?void 0:s.rgb)==null?Jt:o,oe=(c=A==null||(l=A.getSecondRowStyle())==null||(l=l.bg)==null?void 0:l.rgb)==null?Jt:c,se=(u=A==null||(d=A.getLastRowStyle())==null||(d=d.bg)==null?void 0:d.rgb)==null?Jt:u,[ce,le]=W(null),ue=e=>{g.executeCommand(ie.id,{unitId:f,tableId:h,theme:e})},de=()=>{if(D.length>=11){w.emit(_.t(`sheets-table.customTooMore`));return}let e=D[D.length-1],t=`${qt}1`;e&&(t=`${qt}${Number(e.split(`-`)[2])+1}`);let n=new vt(t,{...ge});g.executeCommand(k.id,{unitId:f,tableId:h,themeStyle:n})},fe=(e,t)=>{g.executeCommand(yt.id,{unitId:f,subUnitId:m,styleName:e,style:t})},pe=e=>{g.executeCommand(re.id,{unitId:f,tableId:h,themeName:e})};if(Ft(()=>{T(Math.random())},[S,C]),!y)return null;let me=new e(j).isDark(),M=new e(ae).isDark(),N=new e(oe).isDark(),F=new e(se).isDark();return K(`div`,{children:[G(`h5`,{children:_.t(`sheets-table.defaultStyle`)}),G(`div`,{className:`univer-flex univer-gap-2`,children:E.map(e=>{var t,n,r,i;let a=b.getDefaultRangeThemeStyle(e),o=(a==null||(t=a.getHeaderRowStyle())==null||(t=t.bg)==null?void 0:t.rgb)||`rgb(255, 255, 255)`,s=(a==null||(n=a.getFirstRowStyle())==null||(n=n.bg)==null?void 0:n.rgb)||`rgb(255, 255, 255)`,c=(a==null||(r=a.getSecondRowStyle())==null||(r=r.bg)==null?void 0:r.rgb)||`rgb(255, 255, 255)`,l=(a==null||(i=a.getLastRowStyle())==null||(i=i.bg)==null?void 0:i.rgb)||`rgb(255, 255, 255)`;return K(`div`,{className:U(`
38
- univer-h-10 univer-w-8 univer-cursor-pointer univer-border univer-border-solid
39
- univer-border-gray-200 univer-p-px
40
- [&>div]:univer-box-border [&>div]:univer-h-2.5
41
- `,{"univer-border-blue-500":e===ee.theme}),onClick:()=>ue(e),children:[G(`div`,{style:{background:o,border:`${o?q:J}`}}),G(`div`,{style:{background:s,border:`${s?q:J}`}}),G(`div`,{style:{background:c,border:`${c?q:J}`}}),G(`div`,{style:{background:l,border:`${l?q:J}`}})]},e)})}),G(`h5`,{children:_.t(`sheets-table.customStyle`)}),K(`div`,{className:U(`univer-w-full univer-rounded-sm`,H),children:[K(`div`,{className:`univer-flex univer-flex-wrap univer-gap-2 univer-p-2`,children:[G(`div`,{className:U(`
42
- univer-h-10 univer-w-8 univer-cursor-pointer univer-p-px univer-text-center univer-leading-10
43
- `,H),onClick:de,children:`+`}),D.map(e=>{var t,n,r,i;let a=b.getCustomRangeThemeStyle(f,e),o=a==null||(t=a.getHeaderRowStyle())==null||(t=t.bg)==null?void 0:t.rgb,s=a==null||(n=a.getFirstRowStyle())==null||(n=n.bg)==null?void 0:n.rgb,c=a==null||(r=a.getSecondRowStyle())==null||(r=r.bg)==null?void 0:r.rgb,l=a==null||(i=a.getLastRowStyle())==null||(i=i.bg)==null?void 0:i.rgb;return K(`div`,{className:U(`
44
- univer-relative univer-h-10 univer-w-8 univer-cursor-pointer univer-border
45
- univer-border-solid univer-border-gray-200 univer-p-px
46
- `,{"univer-border-blue-500":e===ee.theme}),onClick:()=>ue(e),onMouseEnter:()=>le(e),onMouseLeave:()=>le(null),children:[G(`div`,{className:`univer-box-border univer-h-2.5`,style:{background:o==null?q:o,border:`${o?q:J}`}}),G(`div`,{className:`univer-box-border univer-h-2.5`,style:{background:s==null?q:s,border:`${s?q:J}`}}),G(`div`,{className:`univer-box-border univer-h-2.5`,style:{background:c==null?q:c,border:`${c?q:J}`}}),G(`div`,{className:`univer-box-border univer-h-2.5`,style:{background:l==null?q:l,border:`${l?q:J}`}}),G(`div`,{className:`
47
- univer-absolute univer-right-[-3px] univer-top-[-3px] univer-size-3
48
- univer-rounded-md univer-bg-gray-200 univer-text-center univer-text-xs
49
- univer-leading-[10px]
50
- `,style:{display:ce===e?`block`:`none`},onClick:t=>{t.stopPropagation(),pe(e)},children:`x`})]},e)})]}),O&&K(Lt,{children:[G(`div`,{className:`univer-h-px univer-w-full univer-bg-gray-200`}),K(`div`,{className:`univer-flex univer-flex-col univer-gap-2 univer-p-2`,children:[K(`div`,{className:`univer-flex univer-h-9 univer-gap-2`,children:[G(`div`,{className:U(`
51
- univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center
52
- univer-leading-9
53
- `,H,{"univer-text-white":me,"univer-text-gray-900":!me}),style:{background:j},children:_.t(`sheets-table.header`)}),G(nt,{overlay:G(`div`,{className:`univer-p-2`,children:G($e,{value:j,onChange:t=>{let n=ye(`headerRowStyle`,{bg:{rgb:t},cl:{rgb:new e(t).isDark()?`#fff`:`#000`}});fe(y.getTableStyleId(),{headerRowStyle:n})}})}),children:K(`div`,{className:U(`
54
- univer-flex univer-cursor-pointer univer-items-center univer-gap-2
55
- univer-rounded-sm univer-bg-white univer-p-1
56
- `,H),children:[G(`div`,{className:U(`univer-size-4 univer-rounded-lg univer-bg-gray-400`,H,{"univer-text-white":me,"univer-text-gray-900":!me}),style:{background:j}}),G(dt,{className:`univer-size-2`})]})})]}),K(`div`,{className:`univer-flex univer-h-9 univer-gap-2`,children:[G(`div`,{className:U(`
57
- univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center
58
- univer-leading-9
59
- `,H,{"univer-text-white":M,"univer-text-gray-900":!M}),style:{background:ae},children:_.t(`sheets-table.firstLine`)}),G(nt,{overlay:G(`div`,{className:`univer-p-2`,children:G($e,{value:ae,onChange:t=>{fe(y.getTableStyleId(),{firstRowStyle:{bg:{rgb:t},cl:{rgb:new e(t).isDark()?`#fff`:`#000`}}})}})}),children:K(`div`,{className:U(`
60
- univer-flex univer-cursor-pointer univer-items-center univer-gap-2
61
- univer-rounded-sm univer-bg-white univer-p-1
62
- `,H),children:[G(`div`,{className:U(`univer-size-4 univer-rounded-lg univer-bg-gray-400`,H),style:{background:ae}}),G(dt,{className:`univer-size-2`})]})})]}),K(`div`,{className:`univer-flex univer-h-9 univer-gap-2`,children:[G(`div`,{className:U(`
63
- univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center
64
- univer-leading-9
65
- `,H,{"univer-text-white":N,"univer-text-gray-900":!N}),style:{background:oe},children:_.t(`sheets-table.secondLine`)}),G(nt,{overlay:G(`div`,{className:`univer-p-2`,children:G($e,{value:oe,onChange:t=>fe(y.getTableStyleId(),{secondRowStyle:{bg:{rgb:t},cl:{rgb:new e(t).isDark()?`#fff`:`#000`}}})})}),children:K(`div`,{className:U(`
66
- univer-flex univer-cursor-pointer univer-items-center univer-gap-2
67
- univer-rounded-sm univer-bg-white univer-p-1
68
- `,H),children:[G(`div`,{className:U(`univer-size-4 univer-rounded-lg univer-bg-gray-400`,H),style:{background:oe}}),G(dt,{className:`univer-size-2`})]})})]}),K(`div`,{className:`univer-flex univer-h-9 univer-gap-2`,children:[G(`div`,{className:U(`
69
- univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center
70
- univer-leading-9
71
- `,H,{"univer-text-white":F,"univer-text-gray-900":!F}),style:{background:se},children:_.t(`sheets-table.footer`)}),G(nt,{overlay:G(`div`,{className:`univer-p-2`,children:G($e,{value:se,onChange:t=>{let n=ye(`lastRowStyle`,{bg:{rgb:t},cl:{rgb:new e(t).isDark()?`#fff`:`#000`}});fe(y.getTableStyleId(),{lastRowStyle:n})}})}),children:K(`div`,{className:U(`
72
- univer-flex univer-cursor-pointer univer-items-center univer-gap-2
73
- univer-rounded-sm univer-bg-white univer-p-1
74
- `,H),children:[G(`div`,{className:U(`univer-size-4 univer-rounded-lg univer-bg-gray-400`,H),style:{background:se}}),G(dt,{className:`univer-size-2`})]})})]})]})]})]})]})},Nn=`sheet.table.context-insert_menu-id`,Pn=`sheet.table.context-remove_menu-id`;function Fn(e){return{id:pn.id,type:L.BUTTON,icon:Wt,tooltip:`sheets-table.title`,title:`sheets-table.title`,hidden$:ze(e,y.UNIVER_SHEET),disabled$:De(e,{},!0)}}function In(e){return{id:Nn,type:L.SUBITEMS,icon:`InsertDoubleIcon`,title:`sheets-table.insert.main`,hidden$:Hn(e)}}function Ln(e){return{id:Pn,type:L.SUBITEMS,icon:`ReduceDoubleIcon`,title:`sheets-table.remove.main`,hidden$:Hn(e)}}function Rn(e){return{id:se.id,type:L.BUTTON,title:`sheets-table.insert.row`,hidden$:Un(e)}}function zn(e){return{id:oe.id,title:`sheets-table.insert.col`,type:L.BUTTON}}function Bn(e){return{id:le.id,type:L.BUTTON,title:`sheets-table.remove.row`,hidden$:Un(e)}}function Vn(e){return{id:ce.id,title:`sheets-table.remove.col`,type:L.BUTTON}}function Hn(e){let t=e.get(Tt);return e.get(l).getCurrentTypeOfUnit$(y.UNIVER_SHEET).pipe(V(n=>n?n.activeSheet$.pipe(V(r=>r?t.selectionMoveEnd$.pipe(V(t=>{if(!t.length||t.length>1)return B(!0);let i=t[0].range;return B(!e.get(fe).getContainerTableWithRange(n.getUnitId(),r.getSheetId(),i))})):B(!0))):B(!0)))}function Un(e){let t=e.get(Tt);return e.get(l).getCurrentTypeOfUnit$(y.UNIVER_SHEET).pipe(V(n=>n?n.activeSheet$.pipe(V(r=>r?t.selectionMoveEnd$.pipe(V(t=>{if(!t.length||t.length>1)return B(!0);let i=t[0].range,a=e.get(fe).getContainerTableWithRange(n.getUnitId(),r.getSheetId(),i);if(!a)return B(!0);let o=a.getRange();return i.startRow===o.startRow?B(!0):B(!1)})):B(!0))):B(!0)))}const Wn={[Le.ORGANIZATION]:{[pn.id]:{order:0,menuItemFactory:Fn}},[Me.MAIN_AREA]:{[je.LAYOUT]:{[Nn]:{order:5,menuItemFactory:In,[se.id]:{order:1,menuItemFactory:Rn},[oe.id]:{order:2,menuItemFactory:zn}},[Pn]:{order:6,menuItemFactory:Ln,[le.id]:{order:1,menuItemFactory:Bn},[ce.id]:{order:2,menuItemFactory:Vn}}}}};let Gn=class extends r{constructor(e,t){super(),this._componentManager=e,this._menuManagerService=t,this._initComponents(),this._initMenu()}_initComponents(){[[Wt,gt],[Gt,jn],[Kt,Mn]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initMenu(){this._menuManagerService.mergeMenu(Wn)}};Gn=Z([X(0,u(Ae)),X(1,u(Pe))],Gn);let $=class extends h{constructor(e=gn,t,n,r,i){super(),this._config=e,this._injector=t,this._commandService=n,this._configService=r,this._renderManagerService=i;let{menu:a,...o}=S({},gn,this._config);a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(hn,o),this._initRegisterCommand()}onStarting(){C(this._injector,[[dn],[$t],[Gn],[_n],[An]])}onReady(){w(this._injector,[[dn],[$t],[Gn],[_n],[An]])}onRendered(){this._registerRenderModules()}_registerRenderModules(){let e=[[On],[kn]];this._config.hideAnchor!==!0&&e.push([yn]),e.forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(y.UNIVER_SHEET,e))})}_initRegisterCommand(){[fn,pn].forEach(e=>this._commandService.registerCommand(e))}};Y($,`pluginName`,`SHEET_TABLE_UI_PLUGIN`),Y($,`packageName`,Vt),Y($,`version`,Ht),Y($,`type`,y.UNIVER_SHEET),$=Z([n(he),X(1,u(d)),X(2,u(a)),X(3,o),X(4,T)],$);export{$ as UniverSheetsTableUIPlugin};
1
+ import{ColorKit as e,CommandType as t,DependentOn as n,Disposable as r,ErrorService as i,ICommandService as a,IConfigService as o,IContextService as s,IPermissionService as c,IUniverInstanceService as l,Inject as u,Injector as d,InterceptorEffectEnum as f,LocaleService as p,ObjectMatrix as m,Plugin as h,Rectangle as g,RxDisposable as _,ThemeService as v,UniverInstanceType as y,VerticalAlign as b,cellToRange as x,merge as S,registerDependencies as C,touchDependencies as w}from"@univerjs/core";import{IRenderManagerService as T,Rect as ee,SHEET_VIEWPORT_KEY as E,Shape as D,convertTransformToOffsetX as te,convertTransformToOffsetY as O}from"@univerjs/engine-render";import{AddSheetTableCommand as ne,AddTableThemeCommand as k,DeleteSheetTableCommand as A,RemoveTableThemeCommand as re,SHEET_TABLE_CUSTOM_THEME_PREFIX as j,SetSheetTableCommand as ie,SetSheetTableFilterCommand as ae,SheetTableInsertColCommand as oe,SheetTableInsertRowCommand as se,SheetTableRemoveColCommand as ce,SheetTableRemoveRowCommand as le,SheetTableService as ue,SheetsTableButtonStateEnum as de,SheetsTableController as fe,SheetsTableSortStateEnum as pe,TableColumnFilterTypeEnum as me,TableConditionTypeEnum as M,TableDateCompareTypeEnum as N,TableManager as P,TableNumberCompareTypeEnum as F,TableStringCompareTypeEnum as I,UniverSheetsTablePlugin as he,customEmptyThemeWithBorderStyle as ge,isConditionFilter as _e,isManualTableFilter as ve,processStyleWithBorderStyle as ye}from"@univerjs/sheets-table";import{SelectAllCommand as be,SetScrollOperation as xe,SetZoomRatioOperation as Se,SheetCanvasPopManagerService as Ce,SheetScrollManagerService as we,SheetSkeletonManagerService as Te,getCoordByCell as Ee,getCurrentRangeDisable$ as De,getSheetObject as Oe}from"@univerjs/sheets-ui";import{BuiltInUIPart as ke,ComponentManager as Ae,ContextMenuGroup as je,ContextMenuPosition as Me,IDialogService as Ne,IMenuManagerService as Pe,ISidebarService as Fe,IUIPartsService as Ie,MenuItemType as L,RibbonDataGroup as Le,connectInjector as Re,getMenuHiddenObservable as ze,useDependency as R,useObservable as z}from"@univerjs/ui";import{BehaviorSubject as Be,Subject as Ve,debounceTime as He,distinctUntilChanged as Ue,filter as We,map as Ge,merge as Ke,of as B,startWith as qe,switchMap as V,takeUntil as Je}from"rxjs";import{Button as Ye,ButtonGroup as Xe,CascaderList as Ze,Checkbox as Qe,ColorPicker as $e,DatePicker as et,DateRangePicker as tt,Dropdown as nt,Input as rt,InputNumber as it,Segmented as at,Select as ot,borderClassName as H,clsx as U,scrollbarClassName as st}from"@univerjs/design";import{AscendingIcon as ct,DeleteIcon as lt,DescendingIcon as ut,DropdownIcon as dt,GridOutlineIcon as ft,MoreDownIcon as pt,PaintBucketDoubleIcon as mt,RenameIcon as ht,TableIcon as gt}from"@univerjs/icons";import{INTERCEPTOR_POINT as _t,RangeThemeStyle as vt,SetRangeThemeMutation as yt,SetRangeValuesMutation as bt,SetSelectionsOperation as xt,SetVerticalTextAlignCommand as St,SheetInterceptorService as Ct,SheetRangeThemeModel as wt,SheetsSelectionsService as Tt,WorkbookEditablePermission as Et,WorkbookPermissionService as Dt,expandToContinuousRange as Ot,getPrimaryForRange as kt,getSheetCommandTarget as At,isSingleCellSelection as jt}from"@univerjs/sheets";import{SortRangeCommand as Mt,SortType as Nt}from"@univerjs/sheets-sort";import{useCallback as Pt,useEffect as Ft,useMemo as It,useState as W}from"react";import{Fragment as Lt,jsx as G,jsxs as K}from"react/jsx-runtime";import{deserializeRangeWithSheet as Rt,serializeRange as zt}from"@univerjs/engine-formula";import{RangeSelector as Bt}from"@univerjs/sheets-formula-ui";var Vt=`@univerjs/sheets-table-ui`,Ht=`0.19.0`;const Ut=`SHEETS_TABLE_FILTER_PANEL_OPENED_KEY`,Wt=`TABLE_TOOLBAR_BUTTON`,Gt=`TABLE_SELECTOR_DIALOG`,Kt=`SHEET_TABLE_THEME_PANEL`,qt=`table-custom-`,Jt=`rgb(255, 255, 255)`,q=`none`,J=`1px solid rgb(var(--grey-200))`;let Yt=function(e){return e.Items=`items`,e.Condition=`condition`,e}({});function Xt(e){"@babel/helpers - typeof";return Xt=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Xt(e)}function Zt(e,t){if(Xt(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Xt(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Qt(e){var t=Zt(e,`string`);return Xt(t)==`symbol`?t:t+``}function Y(e,t,n){return(t=Qt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function X(e,t){return function(n,r){t(n,r,e)}}function Z(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let $t=class extends r{constructor(e,t,n,r,i){super(),this._tableManager=e,this._sheetTableService=t,this._univerInstanceService=n,this._commandService=r,this._localeService=i,Y(this,`_itemsCache`,new Map),this._registerTableFilterChangeEvent()}_registerTableFilterChangeEvent(){this._commandService.onCommandExecuted(e=>{if(e.id===bt.id){let{unitId:t,subUnitId:n,cellValue:r}=e.params,i=this._tableManager.getTablesBySubunitId(t,n);if(!i.length)return;new m(r).forValue((e,t,n)=>{let r=x(e,t),a=i.find(e=>{let t=e.getTableFilterRange();return g.intersects(t,r)});if(a){let e=t-a.getRange().startColumn;this._itemsCache.delete(a.getId()+e)}})}else if(e.id===ae.id){let{unitId:t,tableId:n}=e.params,r=this._tableManager.getTable(t,n);if(!r)return;let i=r.getSubunitId();this._tableManager.getTablesBySubunitId(t,i).forEach(e=>{let t=e.getRange();for(let n=t.startColumn;n<=t.endColumn;n++)this._itemsCache.delete(e.getId()+n)})}})}getTableFilterPanelInitProps(e,t,n,r){let i=this._tableManager.getTable(e,n),a=i.getRange(),o=i.getTableFilterColumn(r-a.startColumn);return{unitId:e,subUnitId:t,tableFilter:o,currentFilterBy:_e(o)?Yt.Condition:Yt.Items,tableId:n,columnIndex:r-a.startColumn}}getTableFilterCheckedItems(e,t,n){let r=this._tableManager.getTable(e,t),i=[];if(r){let e=r.getTableFilterColumn(n);e&&ve(e)&&i.push(...e.values)}return i}setTableFilter(e,t,n,r){if(!this._tableManager.getTable(e,t))return;let i={unitId:e,tableId:t,column:n,tableFilter:r};this._commandService.executeCommand(ae.id,i)}getTableFilterItems(e,t,n,r){var i;if(this._itemsCache.has(n+r))return this._itemsCache.get(n+r)||{data:[],itemsCountMap:new Map,allItemsCount:0};let a=this._tableManager.getTable(e,n);if(!a)return{data:[],itemsCountMap:new Map,allItemsCount:0};let{startRow:o,endRow:s,startColumn:c}=a.getTableFilterRange(),l=c+r,u=(i=this._univerInstanceService.getUnit(e))==null?void 0:i.getSheetBySheetId(t);if(!u)return{data:[],itemsCountMap:new Map,allItemsCount:0};let d=[],f=new Map,p=0;for(let e=o;e<=s;e++){if(u.isRowFiltered(e))continue;let t=this._sheetTableService.getCellValueWithConditionType(u,e,l);t===void 0&&(t=this._localeService.t(`sheets-table.condition.empty`)),f.has(t)||d.push({title:t,key:`${l}_${e}`,leaf:!0}),p++,f.set(t,(f.get(t)||0)+1)}return this._itemsCache.set(n+r,{data:d,itemsCountMap:f,allItemsCount:p}),{data:d,itemsCountMap:f,allItemsCount:p}}};$t=Z([X(0,u(P)),X(1,u(ue)),X(2,u(l)),X(3,a),X(4,u(p))],$t);let Q=function(e){return e.DatePicker=`DatePicker`,e.DateRange=`DateRange`,e.Input=`Input`,e.Inputs=`Inputs`,e.Select=`Select`,e.None=`None`,e}({});function en(e){let t=e.get(p).t;return[{value:M.String,label:t(`sheets-table.condition.${M.String}`),children:[{value:I.Equal,label:t(`sheets-table.string.compare.${I.Equal}`)},{value:I.NotEqual,label:t(`sheets-table.string.compare.${I.NotEqual}`)},{value:I.Contains,label:t(`sheets-table.string.compare.${I.Contains}`)},{value:I.NotContains,label:t(`sheets-table.string.compare.${I.NotContains}`)},{value:I.StartsWith,label:t(`sheets-table.string.compare.${I.StartsWith}`)},{value:I.EndsWith,label:t(`sheets-table.string.compare.${I.EndsWith}`)}]},{value:M.Number,label:t(`sheets-table.condition.${M.Number}`),children:[{value:F.Equal,label:t(`sheets-table.number.compare.${F.Equal}`)},{value:F.NotEqual,label:t(`sheets-table.number.compare.${F.NotEqual}`)},{value:F.GreaterThan,label:t(`sheets-table.number.compare.${F.GreaterThan}`)},{value:F.GreaterThanOrEqual,label:t(`sheets-table.number.compare.${F.GreaterThanOrEqual}`)},{value:F.LessThan,label:t(`sheets-table.number.compare.${F.LessThan}`)},{value:F.LessThanOrEqual,label:t(`sheets-table.number.compare.${F.LessThanOrEqual}`)},{value:F.Between,label:t(`sheets-table.number.compare.${F.Between}`)},{value:F.NotBetween,label:t(`sheets-table.number.compare.${F.NotBetween}`)},{value:F.Above,label:t(`sheets-table.number.compare.${F.Above}`)},{value:F.Below,label:t(`sheets-table.number.compare.${F.Below}`)}]},{value:M.Date,label:t(`sheets-table.condition.${M.Date}`),children:[{value:N.Equal,label:t(`sheets-table.date.compare.${N.Equal}`)},{value:N.NotEqual,label:t(`sheets-table.date.compare.${N.NotEqual}`)},{value:N.After,label:t(`sheets-table.date.compare.${N.After}`)},{value:N.AfterOrEqual,label:t(`sheets-table.date.compare.${N.AfterOrEqual}`)},{value:N.Before,label:t(`sheets-table.date.compare.${N.Before}`)},{value:N.BeforeOrEqual,label:t(`sheets-table.date.compare.${N.BeforeOrEqual}`)},{value:N.Between,label:t(`sheets-table.date.compare.${N.Between}`)},{value:N.NotBetween,label:t(`sheets-table.date.compare.${N.NotBetween}`)},{value:N.Today,label:t(`sheets-table.date.compare.${N.Today}`)},{value:N.Yesterday,label:t(`sheets-table.date.compare.${N.Yesterday}`)},{value:N.Tomorrow,label:t(`sheets-table.date.compare.${N.Tomorrow}`)},{value:N.ThisWeek,label:t(`sheets-table.date.compare.${N.ThisWeek}`)},{value:N.LastWeek,label:t(`sheets-table.date.compare.${N.LastWeek}`)},{value:N.NextWeek,label:t(`sheets-table.date.compare.${N.NextWeek}`)},{value:N.ThisMonth,label:t(`sheets-table.date.compare.${N.ThisMonth}`)},{value:N.LastMonth,label:t(`sheets-table.date.compare.${N.LastMonth}`)},{value:N.NextMonth,label:t(`sheets-table.date.compare.${N.NextMonth}`)},{value:N.ThisYear,label:t(`sheets-table.date.compare.${N.ThisYear}`)},{value:N.LastYear,label:t(`sheets-table.date.compare.${N.LastYear}`)},{value:N.NextYear,label:t(`sheets-table.date.compare.${N.NextYear}`)},{value:N.Quarter,label:t(`sheets-table.date.compare.${N.Quarter}`)},{value:N.Month,label:t(`sheets-table.date.compare.${N.Month}`)}]}]}function tn(e,t){if(!t)return[];let n=e.get(p).t;switch(t){case N.Quarter:return[{value:N.Q1,label:n(`sheets-table.date.compare.${N.Q1}`)},{value:N.Q2,label:n(`sheets-table.date.compare.${N.Q2}`)},{value:N.Q3,label:n(`sheets-table.date.compare.${N.Q3}`)},{value:N.Q4,label:n(`sheets-table.date.compare.${N.Q4}`)}];case N.Month:return[{value:N.M1,label:n(`sheets-table.date.compare.${N.M1}`)},{value:N.M2,label:n(`sheets-table.date.compare.${N.M2}`)},{value:N.M3,label:n(`sheets-table.date.compare.${N.M3}`)},{value:N.M4,label:n(`sheets-table.date.compare.${N.M4}`)},{value:N.M5,label:n(`sheets-table.date.compare.${N.M5}`)},{value:N.M6,label:n(`sheets-table.date.compare.${N.M6}`)},{value:N.M7,label:n(`sheets-table.date.compare.${N.M7}`)},{value:N.M8,label:n(`sheets-table.date.compare.${N.M8}`)},{value:N.M9,label:n(`sheets-table.date.compare.${N.M9}`)},{value:N.M10,label:n(`sheets-table.date.compare.${N.M10}`)},{value:N.M11,label:n(`sheets-table.date.compare.${N.M11}`)},{value:N.M12,label:n(`sheets-table.date.compare.${N.M12}`)}];default:return[]}}const nn=new Set([N.Equal,N.NotEqual,N.After,N.AfterOrEqual,N.Before,N.BeforeOrEqual]);function rn(e,t){return t?e===M.String?Q.Input:e===M.Number?t===F.Between||t===F.NotBetween?Q.Inputs:Q.Input:e===M.Date?t===N.Between||t===N.NotBetween?Q.DateRange:t===N.Quarter||t===N.Month?Q.Select:nn.has(t)?Q.DatePicker:Q.None:Q.None:Q.None}function an(e){if(!e||e.filterType!==`condition`)return{type:M.String,compareType:I.Equal,info:{}};let t=e.filterInfo,{conditionType:n,compareType:r}=t;if(n===M.Date)if(r===N.Between||r===N.NotBetween){let e;return Array.isArray(t.expectedValue)&&(e=t.expectedValue.map(e=>typeof e==`string`?new Date(e):e)),{type:n,compare:r,info:{dateRange:e}}}else if(r===N.Today||r===N.Yesterday||r===N.Tomorrow||r===N.ThisWeek||r===N.LastWeek||r===N.NextWeek||r===N.ThisMonth||r===N.LastMonth||r===N.NextMonth||r===N.ThisYear||r===N.LastYear||r===N.NextYear)return{type:n,compare:r,info:{}};else if(nn.has(r)){let e;if(typeof t.expectedValue==`string`)e=new Date(t.expectedValue);else if(Array.isArray(t.expectedValue))for(let e=0;e<t.expectedValue.length;e++)typeof t.expectedValue[e]==`string`&&(t.expectedValue[e]=new Date(t.expectedValue[e]));return{type:n,compare:r,info:{date:e}}}else if(new Set([N.Q1,N.Q2,N.Q3,N.Q4]).has(r))return{type:n,compare:N.Quarter,info:{dateSelect:t.compareType}};else return{type:n,compare:N.Month,info:{dateSelect:t.compareType}};else if(n===M.Number)return r===F.Between||r===F.NotBetween?{type:n,compare:r,info:{numberRange:t.expectedValue}}:{type:n,compare:r,info:{number:t.expectedValue}};else if(n===M.String)return{type:n,compare:r,info:{string:t.expectedValue}};return{type:M.String,compare:I.Equal,info:{}}}const on=e=>{var t,n,r,i,a,o,s,c;let{conditionInfo:l,onChange:u}=e,f=R(p),[m,h]=W(!1),g=R(d),_=en(g),v=(e,t,n)=>{u({type:t==null?l.type:t,compare:n==null?l.compare:n,info:e})},y=e=>{var t;let n=e[0],r=e[1];r&&h(!1);let i={};n===M.Date?r===N.Quarter?i.dateSelect=N.Q1:r===N.Month?i.dateSelect=N.M1:nn.has(r)?i.date=new Date:i.dateRange=[new Date,new Date]:n===M.Number?i.number=0:n===M.String&&(i.string=``),v(i,e[0],(t=e[1])==null?I.Equal:t)},b=rn(l.type,l.compare),x=``;x=l.compare?`${f.t(`sheets-table.condition.${l.type}`)} - ${f.t(`sheets-table.${l.type}.compare.${l.compare}`)}`:f.t(`sheets-table.condition.${l.type}`);let S=tn(g,l.compare);return K(`div`,{children:[G(nt,{align:`start`,open:m,onOpenChange:h,overlay:G(Ze,{value:[l.type,l.compare],options:_,onChange:y,contentClassName:`univer-flex-1`,wrapperClassName:`!univer-h-[150px]`}),children:K(`div`,{className:U(`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`,H),children:[G(`span`,{children:x}),G(pt,{})]})}),K(`div`,{className:`univer-mt-3 univer-w-full`,children:[b===Q.Input&&G(Lt,{children:l.type===M.String?G(rt,{className:`univer-w-full`,placeholder:`请输入`,value:l.info.string,onChange:e=>v({string:e})}):G(it,{className:`univer-h-7 univer-w-full`,value:l.info.number,controls:!1,onChange:e=>{e!==null&&v({number:e})}})}),b===Q.DatePicker&&G(`div`,{id:`univer-table-date-picker-wrapper`,children:G(et,{className:`univer-w-full`,value:(t=l.info.date)==null?new Date:t,onValueChange:e=>v({date:e})})}),b===Q.DateRange&&G(`div`,{id:`univer-table-date-range-wrapper`,children:G(tt,{className:`univer-w-full`,value:[(n=(r=l.info.dateRange)==null?void 0:r[0])==null?new Date:n,(i=(a=l.info.dateRange)==null?void 0:a[1])==null?new Date:i],onValueChange:e=>{v(e?{dateRange:e}:{})}})}),b===Q.Inputs&&K(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[G(it,{className:`univer-w-full`,value:(o=l.info.numberRange)==null?void 0:o[0],onChange:e=>{if(e!==null){var t;v({numberRange:[e,(t=l.info.numberRange)==null?void 0:t[1]]})}},controls:!1}),G(`span`,{children:` - `}),G(it,{className:`univer-w-full`,value:(s=l.info.numberRange)==null?void 0:s[1],controls:!1,onChange:e=>{if(e!==null){var t;v({numberRange:[(t=l.info.numberRange)==null?void 0:t[0],e]})}}})]}),b===Q.Select&&G(ot,{className:`univer-w-full`,value:(c=l.info.dateSelect)==null?S[0].value:c,options:S,onChange:e=>v({dateSelect:e})})]})]})},sn=e=>{let t=0;return e.forEach(e=>{t+=e}),t};function cn(e){let{unitId:t,tableId:n,subUnitId:r,columnIndex:i,checkedItemSet:a,setCheckedItemSet:o,tableFilter:s}=e,c=R(p),{data:l,itemsCountMap:u,allItemsCount:d}=R($t).getTableFilterItems(t,r,n,i),[f,m]=W(s===void 0?!0:a.size===u.size),[h,g]=W(f?d:sn(u)),_=!f&&a.size>0,[v,y]=W(``),b=It(()=>v?l.filter(e=>String(e.title).toLowerCase().includes(v.toLowerCase())):l,[v,l]),x=Pt(()=>{f?(a.clear(),o(new Set(a)),m(!1)):(b.forEach(e=>{a.add(e.title)}),o(new Set(a)),m(!0))},[f]),S=Pt(e=>{e===``?(m(!0),l.forEach(e=>{a.add(e.title)}),g(d)):(a.clear(),m(!1),g(0)),y(e)},[]),C=e=>{if(f){m(!1);let t=new Set;for(let{title:n}of l)e!==n&&t.add(n);g(d-u.get(e)),o(t)}else a.has(e)?(a.delete(e),g(h-u.get(e))):(a.add(e),g(h+u.get(e))),o(new Set(a))};return K(`div`,{className:`univer-flex univer-h-full univer-flex-col`,children:[G(rt,{autoFocus:!0,value:v,placeholder:c.t(`sheets-table.filter.search-placeholder`),onChange:S}),G(`div`,{className:U(`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`,H),children:G(`div`,{className:U(`univer-h-40 univer-overflow-y-auto univer-py-1 univer-pl-2`,st),children:K(`div`,{className:`univer-h-full`,children:[G(`div`,{className:`univer-flex univer-items-center univer-px-2 univer-py-1`,children:G(Qe,{indeterminate:_,disabled:l.length===0,checked:f,onChange:x,children:K(`div`,{className:`univer-flex univer-h-5 univer-flex-1 univer-items-center univer-text-sm`,children:[G(`span`,{className:`univer-inline-block univer-truncate`,children:`${c.t(`sheets-table.filter.select-all`)}`}),G(`span`,{className:`univer-ml univer-text-gray-400`,children:`(${h}/${v?b.length:d})`})]})})}),b.map(e=>G(`div`,{className:`univer-flex univer-items-center univer-px-2 univer-py-1`,children:G(Qe,{checked:f||a.has(e.title),onChange:()=>{C(e.title)},children:K(`div`,{className:`univer-flex univer-h-5 univer-flex-1 univer-text-sm`,children:[G(`span`,{className:`univer-inline-block univer-truncate`,children:e.title}),G(`span`,{className:`univer-ml-1 univer-text-gray-400`,children:`(${u.get(e.title)||0})`})]})})},e.key))]})})})]})}function ln(){var e;let t=R(p),n=un(t),r=R($t),i=R(P),o=R(a),s=R(c),l=R(dn),u=l.getCurrentTableFilterInfo(),d=r.getTableFilterPanelInitProps(u.unitId,u.subUnitId,u.tableId,u.column),{unitId:f,subUnitId:m,tableId:h,tableFilter:g,currentFilterBy:_,columnIndex:v}=d,{data:y}=r.getTableFilterItems(f,m,h,v),b=r.getTableFilterCheckedItems(f,h,v),[x,S]=W(new Set(b)),[C,w]=W(_||Yt.Items),[T,ee]=W(()=>{let e=d.tableFilter;return an(e)}),E=i.getTable(f,h);if(!E)return null;let D=E.getTableFilters(),te=D.getSortState();te.columnIndex===v&&(te.sortState,pe.Asc),te.columnIndex===v&&(te.sortState,pe.Desc);let O=()=>{l.closeFilterPanel()},ne=()=>{O()},k=e=>{let t=E.getTableFilterRange();o.executeCommand(Mt.id,{unitId:f,subUnitId:m,range:t,orderRules:[{colIndex:v+t.startColumn,type:e?Nt.ASC:Nt.DESC}],hasTitle:!1}),D.setSortState(v,e?pe.Asc:pe.Desc),O()},A=()=>{if(C===Yt.Items){let e=[];for(let t of y)x.has(t.title)&&e.push(t.title);let t=E.getTableFilterColumn(v);if(t){if(t.values.join(`,`)===e.join(`,`)){O();return}}else if(e.length===0){O();return}let n={filterType:me.manual,values:e};r.setTableFilter(f,h,v,n)}else{let e;e=T.compare===N.Quarter||T.compare===N.Month?{conditionType:T.type,compareType:Object.values(T.info)[0]}:{conditionType:T.type,compareType:T.compare,expectedValue:Object.values(T.info)[0]};let t={filterType:me.condition,filterInfo:e};r.setTableFilter(f,h,v,t)}O()},re=()=>{r.setTableFilter(f,h,v,void 0),O()},j=new Et(f).id;return K(`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:[((e=s.getPermissionPoint(j))==null?void 0:e.value)&&G(`div`,{className:`univer-mb-3 univer-flex`,children:K(Xe,{className:`univer-mb-3 !univer-flex univer-w-full`,children:[K(Ye,{className:`univer-w-1/2`,onClick:()=>k(!0),children:[G(ct,{className:`univer-mr-1`}),t.t(`sheets-sort.general.sort-asc`)]}),K(Ye,{className:`univer-w-1/2`,onClick:()=>k(!1),children:[G(ut,{className:`univer-mr-1`}),t.t(`sheets-sort.general.sort-desc`)]})]})}),G(`div`,{className:`univer-w-full`,children:G(at,{value:C,items:n,onChange:e=>w(e)})}),G(`div`,{className:`univer-z-10 univer-h-60`,children:G(`div`,{className:`univer-mt-3 univer-size-full`,children:C===Yt.Items?G(cn,{tableFilter:g,unitId:f,subUnitId:m,tableId:h,columnIndex:v,checkedItemSet:x,setCheckedItemSet:S}):G(on,{tableFilter:g,unitId:f,subUnitId:m,tableId:h,columnIndex:v,conditionInfo:T,onChange:ee})})}),K(`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:[G(Ye,{disabled:g===void 0,onClick:re,children:t.t(`sheets-table.filter.clear-filter`)}),K(`div`,{children:[G(Ye,{className:`univer-mr-2`,onClick:ne,children:t.t(`sheets-table.filter.cancel`)}),G(Ye,{variant:`primary`,onClick:A,children:t.t(`sheets-table.filter.confirm`)})]})]})]})}function un(e){return It(()=>[{label:e.t(`sheets-table.filter.by-values`),value:Yt.Items},{label:e.t(`sheets-table.filter.by-conditions`),value:Yt.Condition}],[e.getCurrentLocale(),e])}let dn=class extends r{constructor(e,t,n,r){super(),this._componentManager=e,this._contextService=t,this._sheetCanvasPopupService=n,this._dialogService=r,Y(this,`_popupDisposable`,void 0),Y(this,`_currentTableFilterInfo`,null),this._initComponents(),this._initUIPopup()}setCurrentTableFilterInfo(e){this._currentTableFilterInfo=e}clearCurrentTableFilterInfo(){this._currentTableFilterInfo=null}getCurrentTableFilterInfo(){return this._currentTableFilterInfo}_initComponents(){[[Ut,ln]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initUIPopup(){this.disposeWithMe(this._contextService.subscribeContextValue$(Ut).pipe(qe(void 0),Ue()).subscribe(e=>{e?this._openFilterPopup():e===!1&&this._closeFilterPopup()}))}closeFilterPanel(){this._contextService.setContextValue(Ut,!1)}_openFilterPopup(){let e=this._currentTableFilterInfo;if(!e)throw Error(`[SheetsFilterUIController]: no filter model when opening filter popup!`);let{row:t,column:n}=e;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(t,n,{componentKey:Ut,direction:`horizontal`,onClickOutside:()=>{this._dialogService.close(`UNIVER_SHEET_Table_FILTER_PANEL_ID`),this._contextService.setContextValue(Ut,!1)},offset:[5,0],portal:!0})}_closeFilterPopup(){var e;(e=this._popupDisposable)==null||e.dispose(),this._popupDisposable=null,this.clearCurrentTableFilterInfo()}};dn=Z([X(0,u(Ae)),X(1,s),X(2,u(Ce)),X(3,u(Ne))],dn);const fn={type:t.OPERATION,id:`sheet.operation.open-table-filter-panel`,async handler(e,t){if(!t)return!1;let{row:n,col:r,unitId:i,subUnitId:a,tableId:o}=t,c=e.get(P),l=e.get(s),u=e.get(dn);return c.getTable(i,o)?(l.getContextValue(`SHEETS_TABLE_FILTER_PANEL_OPENED_KEY`)||(u.setCurrentTableFilterInfo({unitId:i,subUnitId:a,row:n,tableId:o,column:r}),l.setContextValue(Ut,!0)),!0):!1}},pn={type:t.OPERATION,id:`sheet.operation.open-table-selector`,async handler(e){var t;let n=e.get(l),r=e.get(a),i=At(n);if(!i)return!1;let{unitId:o,subUnitId:s,worksheet:c}=i,u=e.get(Tt).getCurrentLastSelection(),d=(t=u==null?void 0:u.range)==null?{startRow:0,endRow:0,startColumn:0,endColumn:0}:t,f=await mn(e,o,s,jt(u)?Ot(d,{up:!0,left:!0,right:!0,down:!0},c):d);return f?(r.executeCommand(ne.id,{...f}),!0):!1}};async function mn(e,t,n,r,i){let a=e.get(Ne),o=e.get(p);return new Promise(e=>{let s={unitId:t,subUnitId:n,range:r,tableId:i,onConfirm:t=>{e(t),a.close(Gt)},onCancel:()=>{e(null),a.close(Gt)}};a.open({id:Gt,title:{title:o.t(`sheets-table.selectRange`)},draggable:!0,destroyOnClose:!0,mask:!1,maskClosable:!1,children:{label:{name:Gt,props:s}},width:300,onClose:()=>{e(null),a.close(Gt)}})})}const hn=`sheets-table-ui.config`;Symbol(hn);const gn={anchorHeight:24,anchorBackgroundColor:`rgb(134,139,156)`};let _n=class extends r{constructor(e){super(),this._commandService=e,Y(this,`_refreshTable`,new Ve),Y(this,`refreshTable$`,this._refreshTable.asObservable()),this._initListener()}_initListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===yt.id){let{styleName:t}=e.params;t.startsWith(j)&&this._refreshTable.next(Math.random())}}))}};_n=Z([X(0,u(a))],_n);const vn=()=>{var e,t;let[n,r]=W(``),[i,s]=W(``),c=R(Fe),[u,f]=W({}),m=R(d),h=z(R(yn).anchorPosition$),_=R(a),v=R(l),y=z(R(Dt).unitPermissionInitStateChange$,!1),b=R(P),S=R(wt),C=z(R(_n).refreshTable$),w=R(p),T=z(R(Tt).selectionChanged$,[{range:x(0,0),primary:null}]),[,ee]=W(Math.random()),E=R(o).getConfig(hn),D=(e=E==null?void 0:E.anchorHeight)==null?24:e,te=(t=E==null?void 0:E.anchorBackgroundColor)==null?`rgb(53,91,183)`:t,O=(e,t)=>{f(n=>({...n,[e]:t}))};if(Ft(()=>{ee(Math.random())},[C]),!(h!=null&&h.length))return null;let ne=At(v);if(!ne)return null;let{unitId:k,subUnitId:re}=ne,j=(e,t)=>{var n;if(((n=b.getTableById(k,e))==null?void 0:n.getDisplayName())===t){r(``),s(``);return}_.executeCommand(ie.id,{tableId:e,unitId:k,name:t}),s(``),r(``)},ae=async e=>{let t=b.getTableById(k,e);if(!t)return;let n=await mn(m,k,re,t.getRange(),e);n&&_.executeCommand(ie.id,{tableId:e,unitId:k,updateRange:{newRange:n.range}})};return y?G(`div`,{className:`univer-absolute univer-z-50 univer-size-0`,children:h.map(e=>{var t,a,o,l,d;let f=b.getTableById(k,e.tableId);if(!f)return null;let p=S.getRangeThemeStyle(k,f.getTableStyleId()),m=(t=p==null||(a=p.getHeaderRowStyle())==null||(a=a.bg)==null?void 0:a.rgb)==null?te:t,h=(o=p==null||(l=p.getHeaderRowStyle())==null||(l=l.cl)==null?void 0:l.rgb)==null?`rgb(255, 255, 255)`:o,v=f.getRange();if(!(T!=null&&T.length))return null;let y=T[T.length-1].range,x=!g.intersects(v,y)&&e.y<=20;return K(`div`,{className:U(`univer-shadow-xs univer-absolute univer-box-border univer-cursor-pointer univer-items-center univer-rounded-xl univer-px-2`,H,{"univer-flex":!x,"univer-hidden":x}),style:{left:e.x,top:Math.max(e.y,0),backgroundColor:m,color:h,borderWidth:`0.5px`,height:D?`${D}px`:`24px`},children:[G(`div`,{className:`univer-text-nowrap`,children:n===e.tableId?G(rt,{className:`univer-h-[18px] univer-min-w-16 univer-rounded-none`,inputClass:`univer-h-[18px] univer-w-[80px]`,value:i,onChange:e=>s(e),onBlur:()=>j(e.tableId,i),onKeyDown:t=>{t.key===`Enter`&&j(e.tableId,i)},autoFocus:n===e.tableId}):G(`div`,{className:`univer-h-[18px] univer-max-w-24 univer-truncate univer-text-sm`,children:e.tableName})}),G(nt,{align:`start`,overlay:K(`div`,{className:`univer-py-2`,children:[K(`div`,{className:`univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center univer-gap-2 univer-px-2 univer-py-1 univer-text-sm hover:univer-bg-gray-200`,onClick:()=>{r(e.tableId),s(e.tableName)},children:[G(ht,{}),w.t(`sheets-table.rename`)]}),G(`div`,{className:`univer-my-1 univer-h-px univer-w-full univer-bg-gray-200`}),K(`div`,{onClick:()=>ae(e.tableId),className:`univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center univer-gap-2 univer-px-2 univer-py-1 univer-text-sm hover:univer-bg-gray-200`,children:[G(ft,{}),w.t(`sheets-table.updateRange`)]}),K(`div`,{className:`univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center univer-gap-2 univer-px-2 univer-py-1 univer-text-sm hover:univer-bg-gray-200`,onClick:()=>{O(e.tableId,!1);let t=b.getTableById(k,e.tableId);if(!t)return;let n=t.getTableConfig(),r={id:`SHEET_TABLE_THEME_PANEL_ID`,header:{title:w.t(`sheets-table.tableStyle`)},children:{label:Kt,oldConfig:n,unitId:k,subUnitId:re,tableId:e.tableId},width:330};c.open(r)},children:[G(mt,{extend:{colorChannel1:`rgb(53,91,183)`}}),w.t(`sheets-table.setTheme`)]}),G(`div`,{className:`univer-my-1 univer-h-px univer-w-full univer-bg-gray-200`}),K(`div`,{className:`univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center univer-px-2 univer-py-1 univer-text-sm hover:univer-bg-gray-200`,onClick:()=>{O(e.tableId,!1),_.executeCommand(A.id,{tableId:e.tableId,subUnitId:re,unitId:k})},children:[G(lt,{className:`univer-mr-2`}),w.t(`sheets-table.removeTable`)]})]}),open:(d=u[e.tableId])==null?!1:d,onOpenChange:t=>{O(e.tableId,t)},children:G(`div`,{children:G(pt,{})})},e.tableId)]},e.tableId)})}):null};let yn=class extends r{constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._context=e,this._injector=t,this._sheetSkeletonManagerService=n,this._renderManagerService=r,this._commandService=i,this._univerInstanceService=a,this._uiPartsService=o,this._tableManager=s,this._scrollManagerService=c,this._workbookPermissionService=l,this._permissionService=u,Y(this,`_anchorVisible$`,new Be(!0)),Y(this,`_timer`,void 0),Y(this,`_anchorPosition$`,new Be([])),Y(this,`anchorPosition$`,this._anchorPosition$.asObservable()),this._initUI(),this._initListener(),this._initTableAnchor()}_initUI(){this.disposeWithMe(this._uiPartsService.registerComponent(ke.CONTENT,()=>Re(vn,this._injector)))}_initListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{(e.id===Se.id||e.id===xe.id)&&(this._anchorVisible$.next(!1),this._timer&&clearTimeout(this._timer),this._timer=setTimeout(()=>{this._anchorVisible$.next(!0)},300))}))}_initTableAnchor(){this.disposeWithMe(Ke(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(We(e=>e)),this._permissionService.permissionPointUpdate$.pipe(He(300)),this._anchorVisible$).subscribe(()=>{var e;if(!this._anchorVisible$.getValue()){this._anchorPosition$.next([]);return}let t=this._context.unit,n=t.getActiveSheet(),r=n==null?void 0:n.getSheetId(),i=this._tableManager.getTableList(this._context.unitId).filter(e=>e.subUnitId===r),a=this._renderManagerService.getRenderById(this._context.unitId);if(!a){this._anchorPosition$.next([]);return}if(!((e=this._permissionService.getPermissionPoint(new Et(t.getUnitId()).id))!=null&&e.value)){this._anchorPosition$.next([]);return}let o=i.reduce((e,t)=>{let{startRow:n,startColumn:r}=t.range,i=a.with(Te),o=Oe(this._univerInstanceService,this._renderManagerService);if(!o)return e;let{scene:s}=o,c=s.getViewport(E.VIEW_MAIN);if(!c)return e;let l=s==null?void 0:s.scaleX,u=s==null?void 0:s.scaleY,d=s==null?void 0:s.getViewportScrollXY(c);if(!l||!s||!u||!d)return e;let f=i.getCurrentSkeleton();if(!f)return e;let p=f.getNoMergeCellWithCoordByIndex(n,r),m=te(p.startX,l,d),h=O(p.startY,u,d)-25-4;return h>=-10&&m>=45&&e.push({x:m,y:h,tableId:t.id,tableName:t.name}),e},[]);this._anchorPosition$.next(o)}))}};yn=Z([X(1,u(d)),X(2,u(Te)),X(3,T),X(4,a),X(5,l),X(6,Ie),X(7,u(P)),X(8,u(we)),X(9,u(Dt)),X(10,u(c))],yn),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`);var bn=class{static drawNoSetting(e,t,n,r){e.save(),ee.drawWith(e,{radius:2,width:16,height:16,fill:r}),e.lineCap=`square`,e.strokeStyle=n,e.scale(t/16,t/16),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,r){e.save(),e.strokeStyle=n,e.fillStyle=r,ee.drawWith(e,{radius:2,width:16,height:16,fill:r}),t.forEach(t=>{let r=new Path2D(t);e.fillStyle=n,e.fill(r,`evenodd`)}),e.restore()}};const xn=[`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`],Sn=[`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`],Cn=[`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`],wn=[`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`],Tn=[`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`];let En=class extends D{constructor(e,t,n,r,i){super(e,t),this._contextService=n,this._commandService=r,this._themeService=i,Y(this,`_cellWidth`,0),Y(this,`_cellHeight`,0),Y(this,`_filterParams`,void 0),Y(this,`_hovered`,!1),this.setShapeProps(t),this.onPointerDown$.subscribeEvent(e=>this.onPointerDown(e)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(e){e.cellHeight!==void 0&&(this._cellHeight=e.cellHeight),e.cellWidth!==void 0&&(this._cellWidth=e.cellWidth),e.filterParams!==void 0&&(this._filterParams=e.filterParams),this.transformByState({width:e.width,height:e.height})}_draw(e){let t=this._cellHeight,n=this._cellWidth,r=16-n,i=16-t;e.save();let a=new Path2D;a.rect(r,i,n,t),e.clip(a);let{buttonState:o}=this._filterParams,s=this._themeService.getColorFromTheme(`primary.600`),c=this._hovered?this._themeService.getColorFromTheme(`gray.50`):`rgba(255, 255, 255, 1.0)`,l;switch(o){case de.FilteredSortNone:l=xn;break;case de.FilteredSortAsc:l=Sn;break;case de.FilteredSortDesc:l=Cn;break;case de.FilterNoneSortNone:break;case de.FilterNoneSortAsc:l=wn;break;case de.FilterNoneSortDesc:l=Tn;break}l?bn.drawIconByPath(e,l,s,c):o!==void 0&&bn.drawNoSetting(e,16,s,c),e.restore()}onPointerDown(e){if(e.button===2)return;let{row:t,col:n,unitId:r,subUnitId:i,tableId:a}=this._filterParams;this._contextService.getContextValue(`SHEETS_TABLE_FILTER_PANEL_OPENED_KEY`)||!this._commandService.hasCommand(fn.id)||setTimeout(()=>{let e={row:t,col:n,unitId:r,subUnitId:i,tableId:a};this._commandService.executeCommand(fn.id,e)},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};En=Z([X(2,s),X(3,a),X(4,u(v))],En);const Dn=(e,t,n,r)=>{switch(r){case b.TOP:return e+1;case b.MIDDLE:return e+Math.max(0,(n-16)/2);case b.BOTTOM:default:return t-16-1}};let On=class extends _{constructor(e,t,n,r,i,a){super(),this._context=e,this._injector=t,this._sheetSkeletonManagerService=n,this._sheetInterceptorService=r,this._tableManager=i,this._commandService=a,Y(this,`_buttonRenderDisposable`,null),Y(this,`_tableFilterButtonShapes`,[]),this._initRenderer(),this._initCommandExecuted()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){let e=this._tableManager;this._sheetSkeletonManagerService.currentSkeleton$.pipe(V(t=>{var n;if(!t)return B(null);let{unit:r,unitId:i}=this._context,a=((n=r.getActiveSheet())==null?void 0:n.getSheetId())||``,o=()=>({unitId:i,worksheetId:a,tableFilterRanges:this._tableManager.getSheetFilterRangeWithState(r.getUnitId(),a),skeleton:t.skeleton});return Ke(e.tableAdd$,e.tableNameChanged$,e.tableRangeChanged$,e.tableThemeChanged$,e.tableDelete$,e.tableFilterChanged$).pipe(Ge(()=>o()),qe(o()))}),Je(this.dispose$)).subscribe(e=>{this._disposeRendering(),!(!e||!e.tableFilterRanges)&&this._renderButtons(e)})}_initCommandExecuted(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var t;if(e.id!==St.id)return;let{unit:n,unitId:r}=this._context,i=((t=n.getActiveSheet())==null?void 0:t.getSheetId())||``,a=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!a)return;let o={unitId:r,worksheetId:i,tableFilterRanges:this._tableManager.getSheetFilterRangeWithState(n.getUnitId(),i),skeleton:a};this._disposeRendering(),!(!o||!o.tableFilterRanges)&&this._renderButtons(o)}))}_renderButtons(e){let{tableFilterRanges:t,unitId:n,skeleton:r,worksheetId:i}=e,{unit:a,scene:o}=this._context,s=a.getSheetBySheetId(i);if(s){for(let{range:e,states:a,tableId:c}of t){let{startRow:t,startColumn:l,endColumn:u}=e;this._interceptCellContent(n,i,e);for(let e=l;e<=u;e++){let u=`sheets-table-filter-button-${t}-${e}`,d=Ee(t,e,o,r),f=s.getCellStyle(t,e),p=(f==null?void 0:f.vt)||b.BOTTOM,{startX:m,startY:h,endX:g,endY:_}=d,v=g-m,y=_-h;if(y<=1||v<=1)continue;let x=a[e-l],S={left:g-16-1,top:Dn(h,_,y,p),height:16,width:16,zIndex:5e3,cellHeight:y,cellWidth:v,filterParams:{unitId:n,subUnitId:i,row:t,col:e,buttonState:x,tableId:c}},C=this._injector.createInstance(En,u,S);this._tableFilterButtonShapes.push(C)}}o.addObjects(this._tableFilterButtonShapes),o.makeDirty()}}_interceptCellContent(e,t,n){let{startRow:r,startColumn:i,endColumn:a}=n;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(_t.CELL_CONTENT,{effect:f.Style,handler:(n,o,s)=>{let{row:c,col:l,unitId:u,subUnitId:d}=o;return u!==e||d!==t||c!==r||l<i||l>a?s(n):((!n||n===o.rawData)&&(n={...o.rawData}),n.fontRenderExtension={...n==null?void 0:n.fontRenderExtension,rightOffset:16},s(n))},priority:10})}_disposeRendering(){var e;this._tableFilterButtonShapes.forEach(e=>e.dispose()),(e=this._buttonRenderDisposable)==null||e.dispose(),this._buttonRenderDisposable=null,this._tableFilterButtonShapes=[]}};On=Z([X(1,u(d)),X(2,u(Te)),X(3,u(Ct)),X(4,u(P)),X(5,a)],On);let kn=class extends _{constructor(e,t,n,r,i){super(),this._context=e,this._injector=t,this._sheetSkeletonManagerService=n,this._tableManager=r,this._sheetTableThemeUIController=i,this._initListener()}_dirtySkeleton(){var e;(e=this._context.mainComponent)==null||e.makeDirty();let t=this._sheetSkeletonManagerService.getCurrentParam();if(t){let e={...t,dirty:!0};this._sheetSkeletonManagerService.reCalculate(e)}}_initListener(){let e=this._tableManager,t=this._dirtySkeleton.bind(this);this.disposeWithMe(Ke(e.tableAdd$,e.tableDelete$,e.tableNameChanged$,e.tableRangeChanged$,e.tableThemeChanged$,e.tableFilterChanged$,e.tableInitStatus$,this._sheetTableThemeUIController.refreshTable$).subscribe(t))}};kn=Z([X(1,u(d)),X(2,u(Te)),X(3,u(P)),X(4,u(_n))],kn);let An=class extends r{constructor(e,t,n){super(),this._sheetInterceptorService=e,this._univerInstanceService=t,this._tableManager=n,this._initSelectionChange()}_initSelectionChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===be.id){let t=At(this._univerInstanceService);if(!t)return{redos:[],undos:[]};let{range:n}=e.params,{unitId:r,subUnitId:i,worksheet:a}=t,o=this._tableManager.getTablesBySubunitId(r,i).find(e=>{let t=e.getRange();return g.contains(t,n)});if(o){let e=o.getRange(),t={...e,startRow:e.startRow+1};return g.equals(e,n)?{undos:[],redos:[]}:g.equals(t,n)?{undos:[],redos:[{id:xt.id,params:{unitId:r,subUnitId:i,selections:[{range:e,primary:kt(e,a)}]}}]}:{undos:[],redos:[{id:xt.id,params:{unitId:r,subUnitId:i,selections:[{range:t,primary:kt(t,a)}]}}]}}}return{redos:[],undos:[]}}}))}};An=Z([X(0,u(Ct)),X(1,u(l)),X(2,u(P))],An);const jn=e=>{let{unitId:t,subUnitId:n,range:r,onCancel:i,onConfirm:a,tableId:o}=e,s=R(P),[c,u]=W(r),[d,f]=W(``),m=R(p),h=R(l);return K(Lt,{children:[G(Bt,{maxRangeCount:1,unitId:t,subUnitId:n,initialValue:zt(r),onChange:(e,i)=>{let c=zt(r),l=Rt(i).range,d=At(h,{unitId:t,subUnitId:n});if(!d)return;if(d.worksheet.getMergeData().some(e=>g.intersects(l,e))){f(m.t(`sheets-table.tableRangeWithMergeError`));return}if(s.getTablesBySubunitId(t,n).some(e=>{if(e.getId()===o)return!1;let t=e.getRange();return g.intersects(l,t)})){f(m.t(`sheets-table.tableRangeWithOtherTableError`));return}let{startRow:p,endRow:_}=l;if(p===_){f(m.t(`sheets-table.tableRangeSingleRowError`));return}if(c!==i){if(o){let e=s.getTableById(t,o);if(e){let r=e.getRange();if(g.intersects(l,r)&&r.startRow===l.startRow){u(l),f(``),a({unitId:t,subUnitId:n,range:l});return}else{f(m.t(`sheets-table.updateError`));return}}}u(l),f(``)}},supportAcrossSheet:!1}),d&&G(`div`,{className:`univer-mt-1 univer-text-xs univer-text-red-500`,children:d}),K(`div`,{className:`univer-mt-4 univer-flex univer-justify-end`,children:[G(Ye,{onClick:i,children:m.t(`sheets-table.cancel`)}),G(Ye,{variant:`primary`,onClick:()=>{d||a({unitId:t,subUnitId:n,range:c})},className:`univer-ml-2`,children:m.t(`sheets-table.confirm`)})]})]})},Mn=t=>{var n,r,o,s,c,l,u,d;let{unitId:f,subUnitId:m,tableId:h}=t,g=R(a),_=R(p),v=R(P),y=v.getTableById(f,h),b=R(wt),x=R(_n),S=z(b.rangeThemeMapChange$),C=z(x.refreshTable$),w=R(i),[,T]=W(Math.random()),ee=z(v.tableThemeChanged$,{theme:y==null?void 0:y.getTableStyleId(),oldTheme:y==null?void 0:y.getTableStyleId(),unitId:f,subUnitId:m,tableId:h}),E=b.getRegisteredRangeThemes().filter(e=>e==null?void 0:e.startsWith(`table-default-`)),D=b.getALLRegisteredTheme(f).filter(e=>e==null?void 0:e.startsWith(qt)),te=y==null?void 0:y.getTableStyleId(),O=D.find(e=>e===te),ne=O||D[0],A=b.getCustomRangeThemeStyle(f,ne),j=(n=A==null||(r=A.getHeaderRowStyle())==null||(r=r.bg)==null?void 0:r.rgb)==null?Jt:n,ae=(o=A==null||(s=A.getFirstRowStyle())==null||(s=s.bg)==null?void 0:s.rgb)==null?Jt:o,oe=(c=A==null||(l=A.getSecondRowStyle())==null||(l=l.bg)==null?void 0:l.rgb)==null?Jt:c,se=(u=A==null||(d=A.getLastRowStyle())==null||(d=d.bg)==null?void 0:d.rgb)==null?Jt:u,[ce,le]=W(null),ue=e=>{g.executeCommand(ie.id,{unitId:f,tableId:h,theme:e})},de=()=>{if(D.length>=11){w.emit(_.t(`sheets-table.customTooMore`));return}let e=D[D.length-1],t=`${qt}1`;e&&(t=`${qt}${Number(e.split(`-`)[2])+1}`);let n=new vt(t,{...ge});g.executeCommand(k.id,{unitId:f,tableId:h,themeStyle:n})},fe=(e,t)=>{g.executeCommand(yt.id,{unitId:f,subUnitId:m,styleName:e,style:t})},pe=e=>{g.executeCommand(re.id,{unitId:f,tableId:h,themeName:e})};if(Ft(()=>{T(Math.random())},[S,C]),!y)return null;let me=new e(j).isDark(),M=new e(ae).isDark(),N=new e(oe).isDark(),F=new e(se).isDark();return K(`div`,{children:[G(`h5`,{children:_.t(`sheets-table.defaultStyle`)}),G(`div`,{className:`univer-flex univer-gap-2`,children:E.map(e=>{var t,n,r,i;let a=b.getDefaultRangeThemeStyle(e),o=(a==null||(t=a.getHeaderRowStyle())==null||(t=t.bg)==null?void 0:t.rgb)||`rgb(255, 255, 255)`,s=(a==null||(n=a.getFirstRowStyle())==null||(n=n.bg)==null?void 0:n.rgb)||`rgb(255, 255, 255)`,c=(a==null||(r=a.getSecondRowStyle())==null||(r=r.bg)==null?void 0:r.rgb)||`rgb(255, 255, 255)`,l=(a==null||(i=a.getLastRowStyle())==null||(i=i.bg)==null?void 0:i.rgb)||`rgb(255, 255, 255)`;return K(`div`,{className:U(`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":e===ee.theme}),onClick:()=>ue(e),children:[G(`div`,{style:{background:o,border:`${o?q:J}`}}),G(`div`,{style:{background:s,border:`${s?q:J}`}}),G(`div`,{style:{background:c,border:`${c?q:J}`}}),G(`div`,{style:{background:l,border:`${l?q:J}`}})]},e)})}),G(`h5`,{children:_.t(`sheets-table.customStyle`)}),K(`div`,{className:U(`univer-w-full univer-rounded-sm`,H),children:[K(`div`,{className:`univer-flex univer-flex-wrap univer-gap-2 univer-p-2`,children:[G(`div`,{className:U(`univer-h-10 univer-w-8 univer-cursor-pointer univer-p-px univer-text-center univer-leading-10`,H),onClick:de,children:`+`}),D.map(e=>{var t,n,r,i;let a=b.getCustomRangeThemeStyle(f,e),o=a==null||(t=a.getHeaderRowStyle())==null||(t=t.bg)==null?void 0:t.rgb,s=a==null||(n=a.getFirstRowStyle())==null||(n=n.bg)==null?void 0:n.rgb,c=a==null||(r=a.getSecondRowStyle())==null||(r=r.bg)==null?void 0:r.rgb,l=a==null||(i=a.getLastRowStyle())==null||(i=i.bg)==null?void 0:i.rgb;return K(`div`,{className:U(`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":e===ee.theme}),onClick:()=>ue(e),onMouseEnter:()=>le(e),onMouseLeave:()=>le(null),children:[G(`div`,{className:`univer-box-border univer-h-2.5`,style:{background:o==null?q:o,border:`${o?q:J}`}}),G(`div`,{className:`univer-box-border univer-h-2.5`,style:{background:s==null?q:s,border:`${s?q:J}`}}),G(`div`,{className:`univer-box-border univer-h-2.5`,style:{background:c==null?q:c,border:`${c?q:J}`}}),G(`div`,{className:`univer-box-border univer-h-2.5`,style:{background:l==null?q:l,border:`${l?q:J}`}}),G(`div`,{className:`univer-absolute univer-right-[-3px] univer-top-[-3px] univer-size-3 univer-rounded-md univer-bg-gray-200 univer-text-center univer-text-xs univer-leading-[10px]`,style:{display:ce===e?`block`:`none`},onClick:t=>{t.stopPropagation(),pe(e)},children:`x`})]},e)})]}),O&&K(Lt,{children:[G(`div`,{className:`univer-h-px univer-w-full univer-bg-gray-200`}),K(`div`,{className:`univer-flex univer-flex-col univer-gap-2 univer-p-2`,children:[K(`div`,{className:`univer-flex univer-h-9 univer-gap-2`,children:[G(`div`,{className:U(`univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center univer-leading-9`,H,{"univer-text-white":me,"univer-text-gray-900":!me}),style:{background:j},children:_.t(`sheets-table.header`)}),G(nt,{overlay:G(`div`,{className:`univer-p-2`,children:G($e,{value:j,onChange:t=>{let n=ye(`headerRowStyle`,{bg:{rgb:t},cl:{rgb:new e(t).isDark()?`#fff`:`#000`}});fe(y.getTableStyleId(),{headerRowStyle:n})}})}),children:K(`div`,{className:U(`univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded-sm univer-bg-white univer-p-1`,H),children:[G(`div`,{className:U(`univer-size-4 univer-rounded-lg univer-bg-gray-400`,H,{"univer-text-white":me,"univer-text-gray-900":!me}),style:{background:j}}),G(dt,{className:`univer-size-2`})]})})]}),K(`div`,{className:`univer-flex univer-h-9 univer-gap-2`,children:[G(`div`,{className:U(`univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center univer-leading-9`,H,{"univer-text-white":M,"univer-text-gray-900":!M}),style:{background:ae},children:_.t(`sheets-table.firstLine`)}),G(nt,{overlay:G(`div`,{className:`univer-p-2`,children:G($e,{value:ae,onChange:t=>{fe(y.getTableStyleId(),{firstRowStyle:{bg:{rgb:t},cl:{rgb:new e(t).isDark()?`#fff`:`#000`}}})}})}),children:K(`div`,{className:U(`univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded-sm univer-bg-white univer-p-1`,H),children:[G(`div`,{className:U(`univer-size-4 univer-rounded-lg univer-bg-gray-400`,H),style:{background:ae}}),G(dt,{className:`univer-size-2`})]})})]}),K(`div`,{className:`univer-flex univer-h-9 univer-gap-2`,children:[G(`div`,{className:U(`univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center univer-leading-9`,H,{"univer-text-white":N,"univer-text-gray-900":!N}),style:{background:oe},children:_.t(`sheets-table.secondLine`)}),G(nt,{overlay:G(`div`,{className:`univer-p-2`,children:G($e,{value:oe,onChange:t=>fe(y.getTableStyleId(),{secondRowStyle:{bg:{rgb:t},cl:{rgb:new e(t).isDark()?`#fff`:`#000`}}})})}),children:K(`div`,{className:U(`univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded-sm univer-bg-white univer-p-1`,H),children:[G(`div`,{className:U(`univer-size-4 univer-rounded-lg univer-bg-gray-400`,H),style:{background:oe}}),G(dt,{className:`univer-size-2`})]})})]}),K(`div`,{className:`univer-flex univer-h-9 univer-gap-2`,children:[G(`div`,{className:U(`univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center univer-leading-9`,H,{"univer-text-white":F,"univer-text-gray-900":!F}),style:{background:se},children:_.t(`sheets-table.footer`)}),G(nt,{overlay:G(`div`,{className:`univer-p-2`,children:G($e,{value:se,onChange:t=>{let n=ye(`lastRowStyle`,{bg:{rgb:t},cl:{rgb:new e(t).isDark()?`#fff`:`#000`}});fe(y.getTableStyleId(),{lastRowStyle:n})}})}),children:K(`div`,{className:U(`univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded-sm univer-bg-white univer-p-1`,H),children:[G(`div`,{className:U(`univer-size-4 univer-rounded-lg univer-bg-gray-400`,H),style:{background:se}}),G(dt,{className:`univer-size-2`})]})})]})]})]})]})]})},Nn=`sheet.table.context-insert_menu-id`,Pn=`sheet.table.context-remove_menu-id`;function Fn(e){return{id:pn.id,type:L.BUTTON,icon:Wt,tooltip:`sheets-table.title`,title:`sheets-table.title`,hidden$:ze(e,y.UNIVER_SHEET),disabled$:De(e,{},!0)}}function In(e){return{id:Nn,type:L.SUBITEMS,icon:`InsertDoubleIcon`,title:`sheets-table.insert.main`,hidden$:Hn(e)}}function Ln(e){return{id:Pn,type:L.SUBITEMS,icon:`ReduceDoubleIcon`,title:`sheets-table.remove.main`,hidden$:Hn(e)}}function Rn(e){return{id:se.id,type:L.BUTTON,title:`sheets-table.insert.row`,hidden$:Un(e)}}function zn(e){return{id:oe.id,title:`sheets-table.insert.col`,type:L.BUTTON}}function Bn(e){return{id:le.id,type:L.BUTTON,title:`sheets-table.remove.row`,hidden$:Un(e)}}function Vn(e){return{id:ce.id,title:`sheets-table.remove.col`,type:L.BUTTON}}function Hn(e){let t=e.get(Tt);return e.get(l).getCurrentTypeOfUnit$(y.UNIVER_SHEET).pipe(V(n=>n?n.activeSheet$.pipe(V(r=>r?t.selectionMoveEnd$.pipe(V(t=>{if(!t.length||t.length>1)return B(!0);let i=t[0].range;return B(!e.get(fe).getContainerTableWithRange(n.getUnitId(),r.getSheetId(),i))})):B(!0))):B(!0)))}function Un(e){let t=e.get(Tt);return e.get(l).getCurrentTypeOfUnit$(y.UNIVER_SHEET).pipe(V(n=>n?n.activeSheet$.pipe(V(r=>r?t.selectionMoveEnd$.pipe(V(t=>{if(!t.length||t.length>1)return B(!0);let i=t[0].range,a=e.get(fe).getContainerTableWithRange(n.getUnitId(),r.getSheetId(),i);if(!a)return B(!0);let o=a.getRange();return i.startRow===o.startRow?B(!0):B(!1)})):B(!0))):B(!0)))}const Wn={[Le.ORGANIZATION]:{[pn.id]:{order:0,menuItemFactory:Fn}},[Me.MAIN_AREA]:{[je.LAYOUT]:{[Nn]:{order:5,menuItemFactory:In,[se.id]:{order:1,menuItemFactory:Rn},[oe.id]:{order:2,menuItemFactory:zn}},[Pn]:{order:6,menuItemFactory:Ln,[le.id]:{order:1,menuItemFactory:Bn},[ce.id]:{order:2,menuItemFactory:Vn}}}}};let Gn=class extends r{constructor(e,t){super(),this._componentManager=e,this._menuManagerService=t,this._initComponents(),this._initMenu()}_initComponents(){[[Wt,gt],[Gt,jn],[Kt,Mn]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initMenu(){this._menuManagerService.mergeMenu(Wn)}};Gn=Z([X(0,u(Ae)),X(1,u(Pe))],Gn);let $=class extends h{constructor(e=gn,t,n,r,i){super(),this._config=e,this._injector=t,this._commandService=n,this._configService=r,this._renderManagerService=i;let{menu:a,...o}=S({},gn,this._config);a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(hn,o),this._initRegisterCommand()}onStarting(){C(this._injector,[[dn],[$t],[Gn],[_n],[An]])}onReady(){w(this._injector,[[dn],[$t],[Gn],[_n],[An]])}onRendered(){this._registerRenderModules()}_registerRenderModules(){let e=[[On],[kn]];this._config.hideAnchor!==!0&&e.push([yn]),e.forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(y.UNIVER_SHEET,e))})}_initRegisterCommand(){[fn,pn].forEach(e=>this._commandService.registerCommand(e))}};Y($,`pluginName`,`SHEET_TABLE_UI_PLUGIN`),Y($,`packageName`,Vt),Y($,`version`,Ht),Y($,`type`,y.UNIVER_SHEET),$=Z([n(he),X(1,u(d)),X(2,u(a)),X(3,o),X(4,T)],$);export{$ as UniverSheetsTableUIPlugin};