@univerjs/sheets-table-ui 0.20.0 → 0.20.1

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