@univerjs/sheets-table-ui 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -1,74 +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.18.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)(`
2
- univer-box-border univer-flex univer-h-8 univer-w-full univer-items-center univer-justify-between
3
- univer-rounded-md univer-bg-white univer-px-2 univer-text-sm univer-transition-colors
4
- univer-duration-200
5
- hover:univer-border-primary-600
6
- focus:univer-border-primary-600 focus:univer-outline-none focus:univer-ring-2
7
- dark:!univer-bg-gray-700 dark:!univer-text-white
8
- `,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)(`
9
- univer-mt-2 univer-box-border univer-flex univer-h-[180px] univer-max-h-[180px] univer-flex-grow
10
- univer-flex-col univer-overflow-hidden univer-rounded-md univer-py-1.5 univer-pl-2
11
- `,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:`
12
- univer-box-border univer-flex univer-min-w-[312px] univer-flex-col univer-rounded-[10px] univer-bg-white
13
- univer-p-4 univer-shadow-lg
14
- dark:!univer-border-gray-600 dark:!univer-bg-gray-700
15
- `,children:[((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:`
16
- univer-flex-wrap-nowrap univer-mt-4 univer-inline-flex univer-flex-shrink-0 univer-flex-grow-0
17
- univer-justify-between univer-gap-6 univer-overflow-hidden
18
- `,children:[(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)(`
19
- univer-shadow-xs univer-absolute univer-box-border univer-cursor-pointer univer-items-center
20
- univer-rounded-xl univer-px-2
21
- `,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:`
22
- univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center
23
- univer-gap-2 univer-px-2 univer-py-1 univer-text-sm
24
- hover:univer-bg-gray-200
25
- `,onClick:()=>{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:`
26
- univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center
27
- univer-gap-2 univer-px-2 univer-py-1 univer-text-sm
28
- hover:univer-bg-gray-200
29
- `,children:[(0,d.jsx)(s.GridOutlineIcon,{}),E.t(`sheets-table.updateRange`)]}),(0,d.jsxs)(`div`,{className:`
30
- univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center
31
- univer-gap-2 univer-px-2 univer-py-1 univer-text-sm
32
- hover:univer-bg-gray-200
33
- `,onClick:()=>{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:`
34
- univer-flex univer-min-w-32 univer-cursor-pointer univer-items-center
35
- univer-px-2 univer-py-1 univer-text-sm
36
- hover:univer-bg-gray-200
37
- `,onClick:()=>{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)(`
38
- univer-h-10 univer-w-8 univer-cursor-pointer univer-border univer-border-solid
39
- univer-border-gray-200 univer-p-px
40
- [&>div]:univer-box-border [&>div]:univer-h-2.5
41
- `,{"univer-border-blue-500":e===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)(`
42
- univer-h-10 univer-w-8 univer-cursor-pointer univer-p-px univer-text-center univer-leading-10
43
- `,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)(`
44
- univer-relative univer-h-10 univer-w-8 univer-cursor-pointer univer-border
45
- univer-border-solid univer-border-gray-200 univer-p-px
46
- `,{"univer-border-blue-500":e===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:`
47
- univer-absolute univer-right-[-3px] univer-top-[-3px] univer-size-3
48
- univer-rounded-md univer-bg-gray-200 univer-text-center univer-text-xs
49
- univer-leading-[10px]
50
- `,style:{display: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)(`
51
- univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center
52
- univer-leading-9
53
- `,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)(`
54
- univer-flex univer-cursor-pointer univer-items-center univer-gap-2
55
- univer-rounded-sm univer-bg-white univer-p-1
56
- `,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)(`
57
- univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center
58
- univer-leading-9
59
- `,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)(`
60
- univer-flex univer-cursor-pointer univer-items-center univer-gap-2
61
- univer-rounded-sm univer-bg-white univer-p-1
62
- `,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)(`
63
- univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center
64
- univer-leading-9
65
- `,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)(`
66
- univer-flex univer-cursor-pointer univer-items-center univer-gap-2
67
- univer-rounded-sm univer-bg-white univer-p-1
68
- `,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)(`
69
- univer-box-border univer-h-full univer-w-52 univer-rounded-sm univer-text-center
70
- univer-leading-9
71
- `,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)(`
72
- univer-flex univer-cursor-pointer univer-items-center univer-gap-2
73
- univer-rounded-sm univer-bg-white univer-p-1
74
- `,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.19.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 $}});