@univerjs/sheets-filter-ui 0.16.1 → 0.17.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.
@@ -16,7 +16,7 @@
16
16
  import './global.css';
17
17
  export { ChangeFilterByOperation, CloseFilterPanelOperation, OpenFilterPanelOperation } from './commands/operations/sheets-filter.operation';
18
18
  export type { IOpenFilterPanelOperationParams } from './commands/operations/sheets-filter.operation';
19
- export type { IUniverSheetsFilterUIConfig } from './controllers/config.schema';
19
+ export type { IUniverSheetsFilterUIConfig } from './config/config';
20
20
  export { UniverSheetsFilterMobileUIPlugin } from './mobile-plugin';
21
21
  export { UniverSheetsFilterUIPlugin } from './plugin';
22
22
  export { UniverSheetsFilterUIWorkerPlugin } from './worker/plugin';
@@ -1,4 +1,4 @@
1
- import { IUniverSheetsFilterUIConfig } from './controllers/config.schema';
1
+ import { IUniverSheetsFilterUIConfig } from './config/config';
2
2
  import { IConfigService, Injector, Plugin, UniverInstanceType } from '@univerjs/core';
3
3
  export declare class UniverSheetsFilterMobileUIPlugin extends Plugin {
4
4
  private readonly _config;
@@ -6,6 +6,8 @@ export declare class UniverSheetsFilterMobileUIPlugin extends Plugin {
6
6
  private readonly _configService;
7
7
  static type: UniverInstanceType;
8
8
  static pluginName: string;
9
+ static packageName: string;
10
+ static version: string;
9
11
  constructor(_config: Partial<IUniverSheetsFilterUIConfig> | undefined, _injector: Injector, _configService: IConfigService);
10
12
  onStarting(): void;
11
13
  onReady(): void;
@@ -1,4 +1,4 @@
1
- import { IUniverSheetsFilterUIConfig } from './controllers/config.schema';
1
+ import { IUniverSheetsFilterUIConfig } from './config/config';
2
2
  import { IConfigService, Injector, Plugin, UniverInstanceType } from '@univerjs/core';
3
3
  import { IRPCChannelService } from '@univerjs/rpc';
4
4
  /**
@@ -11,6 +11,8 @@ export declare class UniverSheetsFilterUIPlugin extends Plugin {
11
11
  private readonly _rpcChannelService?;
12
12
  static type: UniverInstanceType;
13
13
  static pluginName: string;
14
+ static packageName: string;
15
+ static version: string;
14
16
  constructor(_config: Partial<IUniverSheetsFilterUIConfig> | undefined, _injector: Injector, _configService: IConfigService, _rpcChannelService?: IRPCChannelService | undefined);
15
17
  onStarting(): void;
16
18
  onReady(): void;
@@ -6,6 +6,8 @@ export declare class UniverSheetsFilterUIWorkerPlugin extends Plugin {
6
6
  private readonly _rpcChannelService;
7
7
  static type: UniverInstanceType;
8
8
  static pluginName: string;
9
+ static packageName: string;
10
+ static version: string;
9
11
  constructor(_config: unknown, _injector: Injector, _rpcChannelService: IRPCChannelService);
10
12
  onStarting(): void;
11
13
  onReady(): void;
package/lib/umd/index.js CHANGED
@@ -1,7 +1,7 @@
1
- (function(C,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("@univerjs/core"),require("@univerjs/sheets-filter"),require("@univerjs/sheets-ui"),require("@univerjs/ui"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("rxjs"),require("@univerjs/rpc"),require("@univerjs/design"),require("react"),require("react/jsx-runtime")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets-filter","@univerjs/sheets-ui","@univerjs/ui","@univerjs/engine-render","@univerjs/sheets","rxjs","@univerjs/rpc","@univerjs/design","react","react/jsx-runtime"],c):(C=typeof globalThis<"u"?globalThis:C||self,c(C.UniverSheetsFilterUi={},C.UniverCore,C.UniverSheetsFilter,C.UniverSheetsUi,C.UniverUi,C.UniverEngineRender,C.UniverSheets,C.rxjs,C.UniverRpc,C.UniverDesign,C.React,C.React))})(this,(function(C,c,u,$,g,K,y,S,me,N,F,d){"use strict";var ir=Object.defineProperty;var nr=(C,c,u)=>c in C?ir(C,c,{enumerable:!0,configurable:!0,writable:!0,value:u}):C[c]=u;var _=(C,c,u)=>nr(C,typeof c!="symbol"?c+"":c,u);var Te;var R=(r=>(r[r.FIRST=0]="FIRST",r[r.SECOND=1]="SECOND",r))(R||{}),E=(r=>(r.NONE="none",r.STARTS_WITH="startsWith",r.DOES_NOT_START_WITH="doesNotStartWith",r.ENDS_WITH="endsWith",r.DOES_NOT_END_WITH="doesNotEndWith",r.CONTAINS="contains",r.DOES_NOT_CONTAIN="doesNotContain",r.EQUALS="equals",r.NOT_EQUALS="notEquals",r.EMPTY="empty",r.NOT_EMPTY="notEmpty",r.BETWEEN="between",r.NOT_BETWEEN="notBetween",r.CUSTOM="custom",r))(E||{}),f;(r=>{r.NONE={label:"sheets-filter.conditions.none",operator:E.NONE,order:R.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NONE]: should not have initial form params!")},testMappingParams:i=>i.operator1===E.NONE,mapToFilterColumn:()=>null,testMappingFilterColumn:i=>!i.customFilters&&!i.filters?{}:!1},r.EMPTY={label:"sheets-filter.conditions.empty",operator:E.EMPTY,order:R.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===E.EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:""}]}}),testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.val===""&&s.operator===void 0?{operator1:E.EMPTY}:!1}},r.NOT_EMPTY={label:"sheets-filter.conditions.not-empty",operator:E.NOT_EMPTY,order:R.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NOT_EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===E.NOT_EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:"",operator:u.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.val===" "&&s.operator===u.CustomFilterOperator.NOT_EQUALS?{operator1:E.NOT_EMPTY}:!1}},r.TEXT_CONTAINS={label:"sheets-filter.conditions.text-contains",operator:E.CONTAINS,order:R.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:E.CONTAINS,val1:""}),testMappingParams:i=>{const[s]=D(i);return s===E.CONTAINS},mapToFilterColumn:i=>{const{val1:s}=i;return s===""?null:{customFilters:{customFilters:[{val:`*${s}*`}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0],a=s.val.toString();return!s.operator&&a.startsWith("*")&&a.endsWith("*")?{operator1:E.CONTAINS,val1:a.slice(1,-1)}:!1}},r.DOES_NOT_CONTAIN={label:"sheets-filter.conditions.does-not-contain",operator:E.DOES_NOT_CONTAIN,order:R.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:E.DOES_NOT_CONTAIN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}*`,operator:u.CustomFilterOperator.NOT_EQUALS}]}}),testMappingParams:i=>{const[s]=D(i);return s===E.DOES_NOT_CONTAIN},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0],a=s.val.toString();return s.operator===u.CustomFilterOperator.NOT_EQUALS&&a.startsWith("*")&&a.endsWith("*")?{operator1:E.DOES_NOT_CONTAIN,val1:a.slice(1,-1)}:!1}},r.STARTS_WITH={label:"sheets-filter.conditions.starts-with",operator:E.STARTS_WITH,order:R.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:E.STARTS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`${i.val1}*`}]}}),testMappingParams:i=>{const[s]=D(i);return s===E.STARTS_WITH},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0],a=s.val.toString();return!s.operator&&a.endsWith("*")&&!a.startsWith("*")?{operator1:E.STARTS_WITH,val1:a.slice(0,-1)}:!1}},r.ENDS_WITH={label:"sheets-filter.conditions.ends-with",operator:E.ENDS_WITH,order:R.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:E.ENDS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}`}]}}),testMappingParams:i=>{const[s]=D(i);return s===E.ENDS_WITH},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0],a=s.val.toString();return!s.operator&&a.startsWith("*")&&!a.endsWith("*")?{operator1:E.ENDS_WITH,val1:a.slice(1)}:!1}},r.EQUALS={label:"sheets-filter.conditions.equals",operator:E.EQUALS,order:R.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:E.EQUALS,val1:""}),testMappingParams:i=>{const[s]=D(i);return s===E.EQUALS},mapToFilterColumn:i=>{const{val1:s}=i;return s===""?null:{customFilters:{customFilters:[{val:s}]}}},testMappingFilterColumn:i=>{var s,a,h;return((a=(s=i.filters)==null?void 0:s.filters)==null?void 0:a.length)===1?{operator1:E.EQUALS,val1:""}:((h=i.customFilters)==null?void 0:h.customFilters.length)===1&&!i.customFilters.customFilters[0].operator?{operator1:E.EQUALS,val1:i.customFilters.customFilters[0].val.toString()}:!1}},r.GREATER_THAN={label:"sheets-filter.conditions.greater-than",operator:u.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:u.CustomFilterOperator.GREATER_THAN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:u.CustomFilterOperator.GREATER_THAN}]}}),testMappingParams:i=>{const[s]=D(i);return s===u.CustomFilterOperator.GREATER_THAN},testMappingFilterColumn:i=>{var a;if(((a=i.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==u.CustomFilterOperator.GREATER_THAN?!1:{operator1:u.CustomFilterOperator.GREATER_THAN,val1:s.val.toString()}}},r.GREATER_THAN_OR_EQUAL={label:"sheets-filter.conditions.greater-than-or-equal",operator:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[s]=D(i);return s===u.CustomFilterOperator.GREATER_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var a;if(((a=i.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==u.CustomFilterOperator.GREATER_THAN_OR_EQUAL?!1:{operator1:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:s.val.toString()}}},r.LESS_THAN={label:"sheets-filter.conditions.less-than",operator:u.CustomFilterOperator.LESS_THAN,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:u.CustomFilterOperator.LESS_THAN,val1:""}),testMappingParams:i=>{const[s]=D(i);return s===u.CustomFilterOperator.LESS_THAN},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:u.CustomFilterOperator.LESS_THAN}]}}),testMappingFilterColumn:i=>{var a;if(((a=i.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==u.CustomFilterOperator.LESS_THAN?!1:{operator1:u.CustomFilterOperator.LESS_THAN,val1:s.val.toString()}}},r.LESS_THAN_OR_EQUAL={label:"sheets-filter.conditions.less-than-or-equal",operator:u.CustomFilterOperator.LESS_THAN_OR_EQUAL,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:u.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[s]=D(i);return s===u.CustomFilterOperator.LESS_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:u.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var a;if(((a=i.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==u.CustomFilterOperator.LESS_THAN_OR_EQUAL?!1:{operator1:u.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:s.val.toString()}}},r.EQUAL={label:"sheets-filter.conditions.equal",operator:u.CustomFilterOperator.EQUAL,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:u.CustomFilterOperator.EQUAL,val1:""}),testMappingParams:i=>{const[s]=D(i);return s===u.CustomFilterOperator.EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:u.CustomFilterOperator.EQUAL}]}}),testMappingFilterColumn:i=>{var a;if(((a=i.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==u.CustomFilterOperator.EQUAL?!1:{operator1:u.CustomFilterOperator.EQUAL,val1:s.val.toString()}}},r.NOT_EQUAL={label:"sheets-filter.conditions.not-equal",operator:u.CustomFilterOperator.NOT_EQUALS,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:u.CustomFilterOperator.NOT_EQUALS,val1:""}),testMappingParams:i=>{const[s]=D(i);return s===u.CustomFilterOperator.NOT_EQUALS},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:u.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var a;if(((a=i.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==u.CustomFilterOperator.NOT_EQUALS?!1:{operator1:u.CustomFilterOperator.NOT_EQUALS,val1:s.val.toString()}}},r.BETWEEN={label:"sheets-filter.conditions.between",operator:E.BETWEEN,order:R.SECOND,numOfParameters:2,getDefaultFormParams:()=>({and:!0,operator1:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:"",operator2:u.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:""}),testMappingParams:i=>{const{and:s,operator1:a,operator2:h}=i;if(!s)return!1;const m=[a,h];return m.includes(u.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&m.includes(u.CustomFilterOperator.LESS_THAN_OR_EQUAL)},mapToFilterColumn:i=>{const{val1:s,val2:a,operator1:h}=i,m=h===u.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:c.BooleanNumber.TRUE,customFilters:[{val:m?s:a,operator:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:m?a:s,operator:u.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const[s,a]=i.customFilters.customFilters;return s.operator===u.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&a.operator===u.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:s.val.toString(),operator2:u.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:a.val.toString()}:a.operator===u.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&s.operator===u.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:a.val.toString(),operator2:u.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:s.val.toLocaleString()}:!1}},r.NOT_BETWEEN={label:"sheets-filter.conditions.not-between",operator:E.NOT_BETWEEN,order:R.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:u.CustomFilterOperator.LESS_THAN,val1:"",operator2:u.CustomFilterOperator.GREATER_THAN,val2:""}),testMappingParams:i=>{const{and:s,operator1:a,operator2:h}=i;if(s)return!1;const m=[a,h];return m.includes(u.CustomFilterOperator.GREATER_THAN)&&m.includes(u.CustomFilterOperator.LESS_THAN)},mapToFilterColumn:i=>{const{val1:s,val2:a,operator1:h}=i,m=h===u.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:m?s:a,operator:u.CustomFilterOperator.GREATER_THAN},{val:m?a:s,operator:u.CustomFilterOperator.LESS_THAN}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const[s,a]=i.customFilters.customFilters;return s.operator===u.CustomFilterOperator.LESS_THAN&&a.operator===u.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:u.CustomFilterOperator.LESS_THAN,val1:s.val.toString(),operator2:u.CustomFilterOperator.GREATER_THAN,val2:a.val.toString()}:a.operator===u.CustomFilterOperator.LESS_THAN&&s.operator===u.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:u.CustomFilterOperator.GREATER_THAN,val1:a.val.toString(),operator2:u.CustomFilterOperator.LESS_THAN,val2:s.val.toLocaleString()}:!1}},r.CUSTOM={label:"sheets-filter.conditions.custom",operator:E.CUSTOM,order:R.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:E.NONE,val1:"",operator2:E.NONE,val2:""}),testMappingParams:()=>!0,mapToFilterColumn:i=>{const{and:s,val1:a,val2:h,operator1:m,operator2:p}=i;function O(M,L){for(const U of r.ALL_CONDITIONS)if(U.operator===M)return U.mapToFilterColumn({val1:L,operator1:M})}const v=!m||m===r.NONE.operator,T=!p||p===r.NONE.operator;if(v&&T)return r.NONE.mapToFilterColumn({});if(v)return O(p,h);if(T)return O(m,a);const I=O(m,a),P=O(p,h),A={customFilters:[I.customFilters.customFilters[0],P.customFilters.customFilters[0]]};return s&&(A.and=c.BooleanNumber.TRUE),{customFilters:A}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const s=i.customFilters.customFilters.map(m=>l({customFilters:{customFilters:[m]}})),a={operator1:s[0][0].operator,val1:s[0][1].val1,operator2:s[1][0].operator,val2:s[1][1].val1};return i.customFilters.and&&(a.and=!0),a}},r.ALL_CONDITIONS=[r.NONE,r.EMPTY,r.NOT_EMPTY,r.TEXT_CONTAINS,r.DOES_NOT_CONTAIN,r.STARTS_WITH,r.ENDS_WITH,r.EQUALS,r.GREATER_THAN,r.GREATER_THAN_OR_EQUAL,r.LESS_THAN,r.LESS_THAN_OR_EQUAL,r.EQUAL,r.NOT_EQUAL,r.BETWEEN,r.NOT_BETWEEN,r.CUSTOM];function e(i){const s=r.ALL_CONDITIONS.find(a=>a.operator===i);if(!s)throw new Error(`[SheetsFilter]: no condition item found for operator: ${i}`);return s}r.getItemByOperator=e;function t(i,s){for(const a of r.ALL_CONDITIONS.filter(h=>h.numOfParameters===s))if(a.numOfParameters!==0&&a.testMappingParams(i))return a;for(const a of r.ALL_CONDITIONS)if(a.testMappingParams(i))return a;throw new Error("[SheetsFilter]: no condition item can be mapped from the filter map params!")}r.testMappingParams=t;function n(i){const s=r.ALL_CONDITIONS.find(a=>a.operator===i);return(s==null?void 0:s.numOfParameters)===0?{operator1:s.operator}:s.getDefaultFormParams()}r.getInitialFormParams=n;function o(i,s){return i.mapToFilterColumn(s)}r.mapToFilterColumn=o;function l(i){if(!i)return[r.NONE,{}];for(const s of r.ALL_CONDITIONS){const a=s.testMappingFilterColumn(i);if(a)return[s,a]}return[r.NONE,{}]}r.testMappingFilterColumn=l})(f||(f={}));function D(r){const{operator1:e,operator2:t,val1:n,val2:o}=r;if(e&&t)throw new Error("Both operator1 and operator2 are set!");if(!e&&!t)throw new Error("Neither operator1 and operator2 and both not set!");return e?[e,n]:[t,o]}function Ie(r){const e=[],t=[];let n=0,o=0;function l(i){i.leaf&&(i.checked?(e.push(i),n+=i.count):(t.push(i),o+=i.count)),i.children&&i.children.forEach(l)}return r.forEach(l),{checkedItems:e,uncheckedItems:t,checked:n,unchecked:o}}var nt=Object.getOwnPropertyDescriptor,ot=(r,e,t,n)=>{for(var o=n>1?void 0:n?nt(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},Fe=(r,e)=>(t,n)=>e(t,n,r);const Ne="sheets-filter.generate-filter-values.service",pe=c.createIdentifier(Ne);let be=class extends c.Disposable{constructor(r,e,t){super(),this._localeService=r,this._univerInstanceService=e,this._logService=t}async getFilterValues(r){var p;const{unitId:e,subUnitId:t,filteredOutRowsByOtherColumns:n,filterColumn:o,filters:l,blankChecked:i,iterateRange:s,alreadyChecked:a}=r,h=this._univerInstanceService.getUnit(e),m=(p=this._univerInstanceService.getUnit(e))==null?void 0:p.getSheetBySheetId(t);return!h||!m?[]:(this._logService.debug("[SheetsGenerateFilterValuesService]","getFilterValues for",{unitId:e,subUnitId:t}),ke(l,this._localeService,s,m,new Set(n),o,new Set(a.map(String)),i,h.getStyles()))}};be=ot([Fe(0,c.Inject(c.LocaleService)),Fe(1,c.IUniverInstanceService),Fe(2,c.ILogService)],be);function ke(r,e,t,n,o,l,i,s,a){var P,A,M,L,U,B,Y,q,oe,H;const h=new Map,m=new Map,p="yyyy-mm-dd",O="empty",v=!r&&((l==null?void 0:l.filterBy)===u.FilterBy.COLORS||(l==null?void 0:l.filterBy)===u.FilterBy.CONDITIONS)&&((P=l.filteredOutRows)==null?void 0:P.size);let T=0;for(const b of n.iterateByColumn(t,!1,!1)){const{row:$e,rowSpan:Ee=1}=b;let se=0;for(;se<Ee;){const rr=$e+se;if(o.has(rr)){se++;continue}const X=b!=null&&b.value?c.extractPureTextFromCell(b.value):"";if(!X){T+=1,se+=Ee;continue}const Oe=(A=b.value)!=null&&A.v&&!b.value.p?(U=(L=a.get((M=b.value)==null?void 0:M.s))==null?void 0:L.n)==null?void 0:U.pattern:"",rt=Oe&&c.numfmt.getFormatInfo(Oe).isDate;let it=!1;if(rt){const{year:W,month:Z,day:w}=c.numfmt.getFormatDateInfo(Oe);it=W||Z||w}if(Oe&&rt&&it){const W=(B=n.getCellRaw(b.row,b.col))==null?void 0:B.v;if(!W){se++;continue}const Z=c.numfmt.format(p,Number(W)),[w,V,de]=Z.split("-").map(Number);let J=h.get(`${w}`);J||(J={title:`${w}`,key:`${w}`,children:[],count:0,leaf:!1,checked:!1},h.set(`${w}`,J),m.set(`${w}`,[`${w}`]));let j=(Y=J.children)==null?void 0:Y.find(Ue=>Ue.key===`${w}-${V}`);j||(j={title:e.t(`sheets-filter.date.${V}`),key:`${w}-${V}`,children:[],count:0,leaf:!1,checked:!1},(q=J.children)==null||q.push(j),m.set(`${w}-${V}`,[`${w}`,`${w}-${V}`]));const Me=(oe=j==null?void 0:j.children)==null?void 0:oe.find(Ue=>Ue.key===`${w}-${V}-${de}`);Me?(Me.originValues.add(X),Me.count++,j.count++,J.count++):((H=j.children)==null||H.push({title:`${de}`,key:`${w}-${V}-${de}`,count:1,originValues:new Set([X]),leaf:!0,checked:v?!1:i.size?i.has(X):!s}),j.count++,J.count++,m.set(`${w}-${V}-${de}`,[`${w}`,`${w}-${V}`,`${w}-${V}-${de}`]))}else{const W=X;let Z=h.get(W);Z?Z.count++:(Z={title:X,leaf:!0,checked:v?!1:i.size?i.has(X):!s,key:W,count:1},h.set(W,Z),m.set(W,[W]))}se++}}const I=v?!1:r?s:!0;if(T>0){const b={title:e.t("sheets-filter.panel.empty"),count:T,leaf:!0,checked:I,key:O};h.set("empty",b),m.set("empty",[O])}return{filterTreeItems:st(Array.from(h.values())),filterTreeMapCache:m}}function st(r){return Array.from(r).sort((e,t)=>e.children&&!t.children?-1:!e.children&&t.children?1:at(e.title,t.title)).map(e=>(e.children&&e.children.sort((t,n)=>{const o=Number.parseInt(t.key.split("-")[1],10),l=Number.parseInt(n.key.split("-")[1],10);return o-l}).forEach(t=>{t.children&&t.children.sort((n,o)=>{const l=Number.parseInt(n.key.split("-")[2],10),i=Number.parseInt(o.key.split("-")[2],10);return l-i})}),e))}const Be=r=>!Number.isNaN(Number(r))&&!Number.isNaN(Number.parseFloat(r));function at(r,e){const t=Be(r),n=Be(e);return t&&n?Number.parseFloat(r)-Number.parseFloat(e):t&&!n?-1:!t&&n?1:r.localeCompare(e)}function ye(r,e){for(const t of r){if(t.key===e)return t;if(t.children){const n=ye(t.children,e);if(n)return n}}return null}function De(r){return r.leaf?r.checked:r.children?r.children.every(e=>De(e)):!0}function ae(r,e){r.leaf&&(e!==void 0?r.checked=e:r.checked=!r.checked),r.children&&r.children.forEach(t=>ae(t,e))}function He(r,e){const t=[];return r.forEach(n=>{const o=n.originValues?e.some(s=>Array.from(n.originValues).some(a=>a.toLowerCase().includes(s.toLowerCase()))):!1,l=!o&&e.some(s=>n.title.toLowerCase().includes(s.toLowerCase()));if(o||l)t.push({...n});else if(n.children){const s=He(n.children,e);if(s.length>0){const a=s.reduce((h,m)=>h+m.count,0);t.push({...n,count:a,children:s})}}}),t}var lt=Object.getOwnPropertyDescriptor,fe=(r,e,t,n)=>{for(var o=n>1?void 0:n?lt(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},le=(r,e)=>(t,n)=>e(t,n,r);c.createIdentifier("sheets-filter-ui.sheets-filter-panel.service");let Q=class extends c.Disposable{constructor(e,t){super();_(this,"_filterBy$",new S.BehaviorSubject(u.FilterBy.VALUES));_(this,"filterBy$",this._filterBy$.asObservable());_(this,"_filterByModel$",new S.ReplaySubject(1));_(this,"filterByModel$",this._filterByModel$.asObservable());_(this,"_filterByModel",null);_(this,"_hasCriteria$",new S.BehaviorSubject(!1));_(this,"hasCriteria$",this._hasCriteria$.asObservable());_(this,"_filterModel",null);_(this,"_col$",new S.BehaviorSubject(-1));_(this,"col$",this._col$.asObservable());_(this,"_filterHeaderListener",null);this._injector=e,this._refRangeService=t}get filterBy(){return this._filterBy$.getValue()}get filterByModel(){return this._filterByModel}set filterByModel(e){this._filterByModel=e,this._filterByModel$.next(e)}get filterModel(){return this._filterModel}get col(){return this._col$.getValue()}dispose(){this._filterBy$.complete(),this._filterByModel$.complete(),this._hasCriteria$.complete()}setupCol(e,t){this.terminate(),this._filterModel=e,this._col$.next(t);const n=e.getFilterColumn(t);if(n){const o=n.getColumnData();if(o.customFilters){this._hasCriteria$.next(!0),this._setupByConditions(e,t);return}if(o.colorFilters){this._hasCriteria$.next(!0),this._setupByColors(e,t);return}if(o.filters){this._hasCriteria$.next(!0),this._setupByValues(e,t);return}this._hasCriteria$.next(!1),this._setupByValues(e,t);return}this._hasCriteria$.next(!1),this._setupByValues(e,t)}changeFilterBy(e){if(!this._filterModel||this.col===-1)return!1;switch(e){case u.FilterBy.VALUES:this._setupByValues(this._filterModel,this.col);break;case u.FilterBy.COLORS:this._setupByColors(this._filterModel,this.col);break;case u.FilterBy.CONDITIONS:this._setupByConditions(this._filterModel,this.col);break}return!0}terminate(){return this._filterModel=null,this._col$.next(-1),this._disposeFilterHeaderChangeListener(),!0}_disposeFilterHeaderChangeListener(){var e;(e=this._filterHeaderListener)==null||e.dispose(),this._filterHeaderListener=null}_listenToFilterHeaderChange(e,t){this._disposeFilterHeaderChangeListener();const n=e.unitId,o=e.subUnitId,l=e.getRange(),i={startColumn:t,startRow:l.startRow,endRow:l.startRow,endColumn:t};this._filterHeaderListener=this._refRangeService.watchRange(n,o,i,(s,a)=>{if(!a)this.terminate();else{const h=a.startColumn-s.startColumn;h!==0&&this._filterByModel.deltaCol(h)}})}async _setupByValues(e,t){this._disposePreviousModel();const n=e.getRange();if(n.startRow===n.endRow)return!1;const o=await _e.fromFilterColumn(this._injector,e,t);return this.filterByModel=o,this._filterBy$.next(u.FilterBy.VALUES),this._listenToFilterHeaderChange(e,t),!0}async _setupByColors(e,t){this._disposePreviousModel();const n=e.getRange();if(n.startRow===n.endRow)return!1;const o=await ge.fromFilterColumn(this._injector,e,t);return this.filterByModel=o,this._filterBy$.next(u.FilterBy.COLORS),this._listenToFilterHeaderChange(e,t),!0}_setupByConditions(e,t){this._disposePreviousModel();const n=e.getRange();if(n.startRow===n.endRow)return!1;const o=ve.fromFilterColumn(this._injector,e,t,e.getFilterColumn(t));return this.filterByModel=o,this._filterBy$.next(u.FilterBy.CONDITIONS),this._listenToFilterHeaderChange(e,t),!0}_disposePreviousModel(){var e;(e=this._filterByModel)==null||e.dispose(),this.filterByModel=null}};Q=fe([le(0,c.Inject(c.Injector)),le(1,c.Inject(y.RefRangeService))],Q);let ve=class extends c.Disposable{constructor(e,t,n,o,l){super();_(this,"canApply$",S.of(!0));_(this,"_conditionItem$");_(this,"conditionItem$");_(this,"_filterConditionFormParams$");_(this,"filterConditionFormParams$");this._filterModel=e,this.col=t,this._commandService=l,this._conditionItem$=new S.BehaviorSubject(n),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new S.BehaviorSubject(o),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}static fromFilterColumn(e,t,n,o){const[l,i]=f.testMappingFilterColumn(o==null?void 0:o.getColumnData());return e.createInstance(ve,t,n,l,i)}get conditionItem(){return this._conditionItem$.getValue()}get filterConditionFormParams(){return this._filterConditionFormParams$.getValue()}dispose(){super.dispose(),this._conditionItem$.complete(),this._filterConditionFormParams$.complete()}deltaCol(e){this.col+=e}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const e=f.mapToFilterColumn(this.conditionItem,this.filterConditionFormParams);return this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:e})}onPrimaryConditionChange(e){const t=f.ALL_CONDITIONS.find(n=>n.operator===e);if(!t)throw new Error(`[ByConditionsModel]: condition item not found for operator: ${e}!`);this._conditionItem$.next(t),this._filterConditionFormParams$.next(f.getInitialFormParams(e))}onConditionFormChange(e){const t={...this.filterConditionFormParams,...e};if(t.and!==!0&&delete t.and,typeof e.and<"u"||typeof e.operator1<"u"||typeof e.operator2<"u"){const n=f.testMappingParams(t,this.conditionItem.numOfParameters);this._conditionItem$.next(n)}this._filterConditionFormParams$.next(t)}};ve=fe([le(4,c.ICommandService)],ve);let _e=class extends c.Disposable{constructor(e,t,n,o,l){super();_(this,"_rawFilterItems$");_(this,"rawFilterItems$");_(this,"filterItems$");_(this,"_filterItems",[]);_(this,"_treeMapCache");_(this,"canApply$");_(this,"_manuallyUpdateFilterItems$");_(this,"_searchString$");_(this,"searchString$");this._filterModel=e,this.col=t,this._commandService=l,this._treeMapCache=o,this._searchString$=new S.BehaviorSubject(""),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new S.BehaviorSubject(n),this.rawFilterItems$=this._rawFilterItems$.asObservable(),this._manuallyUpdateFilterItems$=new S.Subject,this.filterItems$=S.merge(S.combineLatest([this._searchString$.pipe(S.throttleTime(500,void 0,{leading:!0,trailing:!0}),S.startWith(void 0)),this._rawFilterItems$]).pipe(S.map(([i,s])=>{if(!i)return s;const h=i.toLowerCase().split(/\s+/).filter(m=>!!m);return He(s,h)})),this._manuallyUpdateFilterItems$).pipe(S.shareReplay(1)),this.canApply$=this.filterItems$.pipe(S.map(i=>Ie(i).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(i=>this._filterItems=i))}static async fromFilterColumn(e,t,n){const o=e.get(c.IUniverInstanceService),l=e.get(c.LocaleService),i=e.get(pe,c.Quantity.OPTIONAL),{unitId:s,subUnitId:a}=t,h=o.getUniverSheetInstance(s);if(!h)throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${s}!`);const m=h==null?void 0:h.getSheetBySheetId(a);if(!m)throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${s} and subUnitId: ${a}!`);const p=t.getRange(),O=n,v=t.getFilterColumn(n),T=v==null?void 0:v.getColumnData().filters,I=new Set(T==null?void 0:T.filters),P=!!(T&&T.blank),A=t.getFilteredOutRowsExceptCol(n),M={...p,startRow:p.startRow+1,startColumn:O,endColumn:O};let L,U;if(i){const B=await i.getFilterValues({unitId:s,subUnitId:a,filteredOutRowsByOtherColumns:Array.from(A),filterColumn:v,filters:!!T,blankChecked:P,iterateRange:M,alreadyChecked:Array.from(I)});L=B.filterTreeItems,U=B.filterTreeMapCache}else{const B=ke(!!T,l,M,m,A,v,I,P,h.getStyles());L=B.filterTreeItems,U=B.filterTreeMapCache}return e.createInstance(_e,t,n,L,U)}get rawFilterItems(){return this._rawFilterItems$.getValue()}get filterItems(){return this._filterItems}get treeMapCache(){return this._treeMapCache}dispose(){this._rawFilterItems$.complete(),this._searchString$.complete()}deltaCol(e){this.col+=e}setSearchString(e){this._searchString$.next(e)}onCheckAllToggled(e){const t=c.Tools.deepClone(this._filterItems);t.forEach(n=>ae(n,e)),this._manuallyUpdateFilterItems(t)}onFilterCheckToggled(e){const t=c.Tools.deepClone(this._filterItems),n=ye(t,e.key);if(!n)return;const o=De(n);ae(n,!o),this._manuallyUpdateFilterItems(t)}onFilterOnly(e){const t=c.Tools.deepClone(this._filterItems);t.forEach(n=>ae(n,!1)),e.forEach(n=>{const o=ye(t,n);o&&ae(o,!0)}),this._manuallyUpdateFilterItems(t)}_manuallyUpdateFilterItems(e){this._manuallyUpdateFilterItems$.next(e)}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const e=Ie(this._filterItems),{checked:t,checkedItems:n}=e,o=this.rawFilterItems;let l=0;for(const h of o)l+=h.count;const i=t===0,s=e.checked===l,a={colId:this.col};if(i)throw new Error("[ByValuesModel]: no checked items!");if(s)return this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});{a.filters={};const h=n.filter(p=>p.key!=="empty");h.length>0&&(a.filters={filters:h.flatMap(p=>p.originValues?Array.from(p.originValues):[p.title])}),h.length!==n.length&&(a.filters.blank=!0)}return this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:a})}};_e=fe([le(4,c.ICommandService)],_e);let ge=class extends c.Disposable{constructor(e,t,n,o,l){super();_(this,"canApply$",S.of(!0));_(this,"_cellFillColors$");_(this,"cellFillColors$");_(this,"_cellTextColors$");_(this,"cellTextColors$");this._filterModel=e,this.col=t,this._commandService=l,this._cellFillColors$=new S.BehaviorSubject(Array.from(n.values())),this.cellFillColors$=this._cellFillColors$.asObservable(),this._cellTextColors$=new S.BehaviorSubject(Array.from(o.values())),this.cellTextColors$=this._cellTextColors$.asObservable()}static async fromFilterColumn(e,t,n){var M,L,U;const o=e.get(c.IUniverInstanceService),{unitId:l,subUnitId:i}=t,s=o.getUniverSheetInstance(l);if(!s)throw new Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${l}!`);const a=s==null?void 0:s.getSheetBySheetId(i);if(!a)throw new Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${l} and subUnitId: ${i}!`);const h=t.getRange(),m=n,p=(M=t.getFilterColumn(n))==null?void 0:M.getColumnData().colorFilters,O=t.getFilteredOutRowsExceptCol(n),v={...h,startRow:h.startRow+1,startColumn:m,endColumn:m},T=new Map,I=new Set((L=p==null?void 0:p.cellFillColors)!=null?L:[]),P=new Map,A=new Set((U=p==null?void 0:p.cellTextColors)!=null?U:[]);for(const B of a.iterateByColumn(v,!1,!0)){const{row:Y,col:q,value:oe}=B;if(O.has(Y))continue;const H=a.getComposedCellStyleByCellData(Y,q,oe);if(H.bg&&H.bg.rgb){const b=new c.ColorKit(H.bg.rgb).toRgbString();T.has(b)||T.set(b,{color:b,checked:I.has(b)})}else T.set("default-fill-color",{color:null,checked:I.has(null)});if(H.cl&&H.cl.rgb){const b=new c.ColorKit(H.cl.rgb).toRgbString();P.has(b)||P.set(b,{color:b,checked:A.has(b)})}else P.set("default-font-color",{color:K.COLOR_BLACK_RGB,checked:A.has(K.COLOR_BLACK_RGB)})}return e.createInstance(ge,t,n,T,P)}get cellFillColors(){return this._cellFillColors$.getValue()}get cellTextColors(){return this._cellTextColors$.getValue()}dispose(){super.dispose(),this._cellFillColors$.complete()}deltaCol(e){this.col+=e}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}onFilterCheckToggled(e,t=!0){const n=t?this.cellFillColors:this.cellTextColors,o=[];let l=!1;for(let i=0;i<n.length;i++){const s=n[i];if(s.color===e.color){l=!0,o.push({color:s.color,checked:!s.checked});continue}o.push({color:s.color,checked:s.checked})}l&&(this._resetColorsCheckedStatus(!t),t?this._cellFillColors$.next([...o]):this._cellTextColors$.next([...o]))}_resetColorsCheckedStatus(e=!0){const t=e?this.cellFillColors:this.cellTextColors,n=[];for(let o=0;o<t.length;o++)n.push({color:t[o].color,checked:!1});e?this._cellFillColors$.next([...n]):this._cellTextColors$.next([...n])}async apply(){if(this._disposed)return!1;const e=this.cellFillColors.filter(o=>o.checked).map(o=>o.color),t=this.cellTextColors.filter(o=>o.checked).map(o=>o.color);if(e.length===0&&t.length===0)return this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});const n={colId:this.col};return e.length>0?n.colorFilters={cellFillColors:e}:t.length>0&&(n.colorFilters={cellTextColors:t}),this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:n})}};ge=fe([le(4,c.ICommandService)],ge);const ee="FILTER_PANEL_OPENED",ce={id:"sheet.operation.open-filter-panel",type:c.CommandType.OPERATION,handler:(r,e)=>{const t=r.get(c.IContextService),n=r.get(u.SheetsFilterService),o=r.get(Q),l=r.get(c.ICommandService),i=r.has($.IEditorBridgeService)?r.get($.IEditorBridgeService):null;i!=null&&i.isVisible().visible&&l.syncExecuteCommand($.SetCellEditVisibleOperation.id,{visible:!1});const{unitId:s,subUnitId:a,col:h}=e,m=n.getFilterModel(s,a);return m?(o.setupCol(m,h),t.getContextValue(ee)||t.setContextValue(ee,!0),!0):!1}},te={id:"sheet.operation.close-filter-panel",type:c.CommandType.OPERATION,handler:r=>{const e=r.get(c.IContextService),t=r.get(Q),n=r.get(g.ILayoutService,c.Quantity.OPTIONAL);return e.getContextValue(ee)?(e.setContextValue(ee,!1),n==null||n.focus(),t.terminate()):!1}},Pe={id:"sheet.operation.apply-filter",type:c.CommandType.OPERATION,handler:(r,e)=>{const{filterBy:t}=e;return r.get(Q).changeFilterBy(t)}},xe="sheets-filter-ui.config",Ce={};var ct=Object.getOwnPropertyDescriptor,ut=(r,e,t,n)=>{for(var o=n>1?void 0:n?ct(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},re=(r,e)=>(t,n)=>e(t,n,r);let ie=class extends c.Disposable{constructor(r,e,t,n,o,l){super(),this._sheetsFilterService=r,this._localeService=e,this._commandService=t,this._sheetPermissionCheckPermission=n,this._injector=o,this._sheetsSelectionService=l,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(r=>{var e,t,n;if(r.id===u.SmartToggleSheetsFilterCommand.id){const o=this._injector.get(c.IUniverInstanceService),l=y.getSheetCommandTarget(o);if(!l)return;const{unitId:i,subUnitId:s,worksheet:a}=l,h=(e=this._sheetsFilterService.getFilterModel(i,s))==null?void 0:e.getRange();let m;if(h)m=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[y.RangeProtectionPermissionViewPoint],worksheetTypes:[y.WorksheetFilterPermission,y.WorksheetViewPermission]},[h],i,s);else{const p=(t=this._sheetsSelectionService.getCurrentLastSelection())==null?void 0:t.range;if(p){let O={...p};O=p.startColumn===p.endColumn&&p.startRow===p.endRow?y.expandToContinuousRange(O,{left:!0,right:!0,up:!0,down:!0},a):O,m=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[y.RangeProtectionPermissionViewPoint],worksheetTypes:[y.WorksheetViewPermission,y.WorksheetFilterPermission]},[O],i,s)}else m=this._sheetPermissionCheckPermission.permissionCheckWithoutRange({rangeTypes:[y.RangeProtectionPermissionViewPoint],worksheetTypes:[y.WorksheetViewPermission,y.WorksheetFilterPermission]})}m||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr"))}if(r.id===ce.id){const o=r.params,{unitId:l,subUnitId:i}=o,s=(n=this._sheetsFilterService.getFilterModel(l,i))==null?void 0:n.getRange(),a=c.Tools.deepClone(s);a&&(a.startColumn=o.col,a.endColumn=o.col,this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[y.RangeProtectionPermissionViewPoint],worksheetTypes:[y.WorksheetFilterPermission,y.WorksheetViewPermission]},[a],l,i)||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr")))}}))}};ie=ut([re(0,c.Inject(u.SheetsFilterService)),re(1,c.Inject(c.LocaleService)),re(2,c.ICommandService),re(3,c.Inject(y.SheetPermissionCheckController)),re(4,c.Inject(c.Injector)),re(5,c.Inject(y.SheetsSelectionsService))],ie);const G=16,ht=new Path2D("M3.30363 3C2.79117 3 2.51457 3.60097 2.84788 3.99024L6.8 8.60593V12.5662C6.8 12.7184 6.8864 12.8575 7.02289 12.9249L8.76717 13.7863C8.96655 13.8847 9.2 13.7396 9.2 13.5173V8.60593L13.1521 3.99024C13.4854 3.60097 13.2088 3 12.6964 3H3.30363Z");class We{static drawNoCriteria(e,t,n,o){e.save(),K.Rect.drawWith(e,{radius:2,width:G,height:G,fill:o}),e.lineCap="square",e.strokeStyle=n,e.scale(t/G,t/G),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 drawHasCriteria(e,t,n,o){e.save(),K.Rect.drawWith(e,{radius:2,width:G,height:G,fill:o}),e.scale(t/G,t/G),e.fillStyle=n,e.fill(ht),e.restore()}}var dt=Object.getOwnPropertyDescriptor,mt=(r,e,t,n)=>{for(var o=n>1?void 0:n?dt(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},Ae=(r,e)=>(t,n)=>e(t,n,r);const x=16,ue=1;let we=class extends K.Shape{constructor(e,t,n,o,l){super(e,t);_(this,"_cellWidth",0);_(this,"_cellHeight",0);_(this,"_filterParams");_(this,"_hovered",!1);this._contextService=n,this._commandService=o,this._themeService=l,this.setShapeProps(t),this.onPointerDown$.subscribeEvent(i=>this.onPointerDown(i)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(e){typeof e.cellHeight<"u"&&(this._cellHeight=e.cellHeight),typeof e.cellWidth<"u"&&(this._cellWidth=e.cellWidth),typeof e.filterParams<"u"&&(this._filterParams=e.filterParams),this.transformByState({width:e.width,height:e.height})}_draw(e){const t=this._cellHeight,n=this._cellWidth,o=x-n,l=x-t;e.save();const i=new Path2D;i.rect(o,l,n,t),e.clip(i);const{hasCriteria:s}=this._filterParams,a=this._themeService.getColorFromTheme("primary.600"),h=this._hovered?this._themeService.getColorFromTheme("gray.50"):"rgba(255, 255, 255, 1.0)";s?We.drawHasCriteria(e,x,a,h):We.drawNoCriteria(e,x,a,h),e.restore()}onPointerDown(e){if(e.button===2)return;const{col:t,unitId:n,subUnitId:o}=this._filterParams;this._contextService.getContextValue(ee)||!this._commandService.hasCommand(ce.id)||setTimeout(()=>{this._commandService.executeCommand(ce.id,{unitId:n,subUnitId:o,col:t})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};we=mt([Ae(2,c.IContextService),Ae(3,c.ICommandService),Ae(4,c.Inject(c.ThemeService))],we);var pt=Object.getOwnPropertyDescriptor,ft=(r,e,t,n)=>{for(var o=n>1?void 0:n?pt(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},z=(r,e)=>(t,n)=>e(t,n,r);const vt=1e3,_t=5e3;function gt(r,e,t,n){switch(n){case c.VerticalAlign.TOP:return r+ue;case c.VerticalAlign.MIDDLE:return r+Math.max(0,(t-x)/2);case c.VerticalAlign.BOTTOM:default:return e-x-ue}}let Re=class extends c.RxDisposable{constructor(e,t,n,o,l,i,s,a){super();_(this,"_filterRangeShape",null);_(this,"_buttonRenderDisposable",null);_(this,"_filterButtonShapes",[]);this._context=e,this._injector=t,this._sheetSkeletonManagerService=n,this._sheetsFilterService=o,this._themeService=l,this._sheetInterceptorService=i,this._commandService=s,this._selectionRenderService=a,this._initRenderer()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){this._sheetSkeletonManagerService.currentSkeleton$.pipe(S.switchMap(e=>{var s,a;if(!e)return S.of(null);const{unit:t,unitId:n}=this._context,o=((s=t.getActiveSheet())==null?void 0:s.getSheetId())||"",l=(a=this._sheetsFilterService.getFilterModel(n,o))!=null?a:void 0,i=()=>({unitId:n,worksheetId:o,filterModel:l,range:l==null?void 0:l.getRange(),skeleton:e.skeleton});return c.fromCallback(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(S.filter(([h])=>{var m;return h.type===c.CommandType.MUTATION&&((m=h.params)==null?void 0:m.unitId)===t.getUnitId()&&(u.FILTER_MUTATIONS.has(h.id)||h.id===y.SetRangeValuesMutation.id)}),S.throttleTime(20,void 0,{leading:!1,trailing:!0}),S.map(i),S.startWith(i()))}),S.takeUntil(this.dispose$)).subscribe(e=>{this._disposeRendering(),!(!e||!e.range)&&(this._renderRange(e.range,e.skeleton),this._renderButtons(e))})}_renderRange(e,t){const{scene:n}=this._context,{rowHeaderWidth:o,columnHeaderHeight:l}=t,i=this._filterRangeShape=new $.SelectionControl(n,vt,this._themeService,{rowHeaderWidth:o,columnHeaderHeight:l,enableAutoFill:!1,highlightHeader:!1}),s={range:e,primary:null,style:{fill:"rgba(0, 0, 0, 0.0)"}},a=$.attachSelectionWithCoord(s,t);i.updateRangeBySelectionWithCoord(a),i.setEvent(!1),n.makeDirty(!0)}_renderButtons(e){const{range:t,filterModel:n,unitId:o,skeleton:l,worksheetId:i}=e,{unit:s,scene:a}=this._context,h=s.getSheetBySheetId(i);if(!h)return;this._interceptCellContent(o,i,e.range);const{startColumn:m,endColumn:p,startRow:O}=t;for(let v=m;v<=p;v++){const T=`sheets-filter-button-${v}`,I=$.getCoordByCell(O,v,a,l),P=h.getComposedCellStyle(O,v),A=(P==null?void 0:P.vt)||c.VerticalAlign.BOTTOM,{startX:M,startY:L,endX:U,endY:B}=I,Y=U-M,q=B-L;if(q<=ue||Y<=ue)continue;const oe=!!n.getFilterColumn(v),H=U-x-ue,b=gt(L,B,q,A),$e={left:H,top:b,height:x,width:x,zIndex:_t,cellHeight:q,cellWidth:Y,filterParams:{unitId:o,subUnitId:i,col:v,hasCriteria:oe}},Ee=this._injector.createInstance(we,T,$e);this._filterButtonShapes.push(Ee)}a.addObjects(this._filterButtonShapes),a.makeDirty()}_interceptCellContent(e,t,n){const{startRow:o,startColumn:l,endColumn:i}=n;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(y.INTERCEPTOR_POINT.CELL_CONTENT,{effect:c.InterceptorEffectEnum.Style,handler:(s,a,h)=>{const{row:m,col:p,unitId:O,subUnitId:v}=a;return O!==e||v!==t||m!==o||p<l||p>i||((!s||s===a.rawData)&&(s={...a.rawData}),s.fontRenderExtension={...s==null?void 0:s.fontRenderExtension,rightOffset:x}),h(s)},priority:10})}_disposeRendering(){var e,t;(e=this._filterRangeShape)==null||e.dispose(),this._filterButtonShapes.forEach(n=>n.dispose()),(t=this._buttonRenderDisposable)==null||t.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}};Re=ft([z(1,c.Inject(c.Injector)),z(2,c.Inject($.SheetSkeletonManagerService)),z(3,c.Inject(u.SheetsFilterService)),z(4,c.Inject(c.ThemeService)),z(5,c.Inject(y.SheetInterceptorService)),z(6,c.ICommandService),z(7,$.ISheetSelectionRenderService)],Re);var Ct=Object.getOwnPropertyDescriptor,St=(r,e,t,n)=>{for(var o=n>1?void 0:n?Ct(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},Ve=(r,e)=>(t,n)=>e(t,n,r);let he=class extends c.RxDisposable{constructor(r,e){super(),this._renderManagerService=r,this._sheetsRenderService=e,[u.SetSheetsFilterRangeMutation,u.SetSheetsFilterCriteriaMutation,u.RemoveSheetsFilterMutation,u.ReCalcSheetsFilterMutation].forEach(t=>this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(t.id))),this.disposeWithMe(this._renderManagerService.registerRenderModule(c.UniverInstanceType.UNIVER_SHEET,[Re]))}};he=St([Ve(0,K.IRenderManagerService),Ve(1,c.Inject($.SheetsRenderService))],he);var Tt=Object.defineProperty,Et=Object.getOwnPropertyDescriptor,Ot=(r,e,t)=>e in r?Tt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,It=(r,e,t,n)=>{for(var o=n>1?void 0:n?Et(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},je=(r,e)=>(t,n)=>e(t,n,r),Qe=(r,e,t)=>Ot(r,typeof e!="symbol"?e+"":e,t);const Ft="SHEET_FILTER_UI_PLUGIN";C.UniverSheetsFilterMobileUIPlugin=class extends c.Plugin{constructor(e=Ce,t,n){super(),this._config=e,this._injector=t,this._configService=n;const{menu:o,...l}=c.merge({},Ce,this._config);o&&this._configService.setConfig("menu",o,{merge:!0}),this._configService.setConfig(xe,l)}onStarting(){[[ie],[he]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(ie)}onRendered(){this._injector.get(he)}},Qe(C.UniverSheetsFilterMobileUIPlugin,"type",c.UniverInstanceType.UNIVER_SHEET),Qe(C.UniverSheetsFilterMobileUIPlugin,"pluginName",Ft),C.UniverSheetsFilterMobileUIPlugin=It([c.DependentOn(u.UniverSheetsFilterPlugin),je(1,c.Inject(c.Injector)),je(2,c.IConfigService)],C.UniverSheetsFilterMobileUIPlugin);function ne({ref:r,...e}){const{icon:t,id:n,className:o,extend:l,...i}=e,s=`univerjs-icon univerjs-icon-${n} ${o||""}`.trim(),a=F.useRef(`_${yt()}`);return Ge(t,`${n}`,{defIds:t.defIds,idSuffix:a.current},{ref:r,className:s,...i},l)}function Ge(r,e,t,n,o){return F.createElement(r.tag,{key:e,...Nt(r,t,o),...n},(bt(r,t).children||[]).map((l,i)=>Ge(l,`${e}-${r.tag}-${i}`,t,void 0,o)))}function Nt(r,e,t){const n={...r.attrs};t!=null&&t.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=t.colorChannel1),r.tag==="mask"&&n.id&&(n.id=n.id+e.idSuffix),Object.entries(n).forEach(([l,i])=>{l==="mask"&&typeof i=="string"&&(n[l]=i.replace(/url\(#(.*)\)/,`url(#$1${e.idSuffix})`))});const{defIds:o}=e;return!o||o.length===0||(r.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+e.idSuffix),Object.entries(n).forEach(([l,i])=>{typeof i=="string"&&(n[l]=i.replace(/url\(#(.*)\)/,`url(#$1${e.idSuffix})`))})),n}function bt(r,e){var n;const{defIds:t}=e;return!t||t.length===0?r:r.tag==="defs"&&((n=r.children)!=null&&n.length)?{...r,children:r.children.map(o=>typeof o.attrs.id=="string"&&t&&t.includes(o.attrs.id)?{...o,attrs:{...o.attrs,id:o.attrs.id+e.idSuffix}}:o)}:r}function yt(){return Math.random().toString(36).substring(2,8)}ne.displayName="UniverIcon";const Pt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M10 1.05957C10.356 1.05957 10.6816 1.26162 10.8408 1.58008L18.8408 17.5801L18.8799 17.668C19.0486 18.1134 18.8551 18.6232 18.4199 18.8408C17.9557 19.0727 17.3913 18.8841 17.1592 18.4199L10 4.10156L2.84082 18.4199C2.60871 18.8841 2.04434 19.0727 1.58008 18.8408C1.11587 18.6087 0.92731 18.0443 1.15918 17.5801L9.15918 1.58008C9.31841 1.26162 9.64395 1.05957 10 1.05957Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M15.3337 11.7261L15.4294 11.731C15.9035 11.779 16.2732 12.1798 16.2732 12.6665C16.2732 13.1532 15.9035 13.554 15.4294 13.602L15.3337 13.6069H4.66675C4.1476 13.6069 3.72632 13.1856 3.72632 12.6665C3.72632 12.1474 4.1476 11.7261 4.66675 11.7261H15.3337Z"}}]},Ye=F.forwardRef(function(e,t){return F.createElement(ne,Object.assign({},e,{id:"a-icon",ref:t,icon:Pt}))});Ye.displayName="AIcon";const At={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M17.0596 10C17.0596 6.10087 13.8992 2.94043 10 2.94043C6.10087 2.94043 2.94043 6.10087 2.94043 10C2.94043 13.8992 6.10087 17.0596 10 17.0596C13.8992 17.0596 17.0596 13.8992 17.0596 10ZM18.9404 10C18.9404 14.9374 14.9374 18.9404 10 18.9404C5.06257 18.9404 1.05957 14.9374 1.05957 10C1.05957 5.06257 5.06257 1.05957 10 1.05957C14.9374 1.05957 18.9404 5.06257 18.9404 10Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.29492 4.13476C4.63911 3.79057 5.1845 3.76906 5.55371 4.07031L5.625 4.13476L16.0244 14.5352L16.0889 14.6064C16.3902 14.9757 16.3686 15.52 16.0244 15.8643C15.6573 16.2313 15.0624 16.2313 14.6953 15.8643L4.29492 5.46484L4.23047 5.39355C3.92922 5.02434 3.95073 4.47895 4.29492 4.13476Z"}}]},qe=F.forwardRef(function(e,t){return F.createElement(ne,Object.assign({},e,{id:"ban-icon",ref:t,icon:At}))});qe.displayName="BanIcon";const wt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.32182 2.60967C2.98161 2.60967 2.79671 3.0074 3.01601 3.2675L6.85819 7.8246C6.94943 7.93282 6.99947 8.06981 6.99947 8.21136V12.7338C6.99947 12.898 7.0998 13.0455 7.2525 13.1058L8.73833 13.6928C9.00085 13.7965 9.28531 13.6031 9.28531 13.3208V8.21136C9.28531 8.06981 9.33535 7.93282 9.42659 7.8246L13.2688 3.2675C13.4881 3.0074 13.3032 2.60967 12.963 2.60967H3.32182ZM2.09858 4.04101C1.22139 3.0006 1.96097 1.40967 3.32182 1.40967H12.963C14.3238 1.40967 15.0634 3.0006 14.1862 4.04101L10.4853 8.43054V13.3208C10.4853 14.4498 9.34747 15.2237 8.29742 14.8089L6.81158 14.2219C6.20078 13.9806 5.79947 13.3905 5.79947 12.7338V8.43054L2.09858 4.04101Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Ze=F.forwardRef(function(e,t){return F.createElement(ne,Object.assign({},e,{id:"filter-icon",ref:t,icon:wt}))});Ze.displayName="FilterIcon";const Rt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.00016 1.33203C6.68162 1.33203 5.39269 1.72302 4.29636 2.45557C3.20004 3.18811 2.34555 4.2293 1.84097 5.44747C1.33638 6.66565 1.20436 8.00609 1.4616 9.2993C1.71883 10.5925 2.35377 11.7804 3.28612 12.7127C4.21847 13.6451 5.40636 14.28 6.69956 14.5373C7.99277 14.7945 9.33321 14.6625 10.5514 14.1579C11.7696 13.6533 12.8108 12.7988 13.5433 11.7025C14.2758 10.6062 14.6668 9.31724 14.6668 7.9987C14.6649 6.23118 13.9619 4.53662 12.7121 3.2868C11.4622 2.03697 9.76768 1.33397 8.00016 1.33203ZM7.66683 3.9987C7.86461 3.9987 8.05795 4.05735 8.2224 4.16723C8.38685 4.27711 8.51502 4.43329 8.59071 4.61601C8.6664 4.79874 8.6862 4.99981 8.64762 5.19379C8.60903 5.38777 8.51379 5.56595 8.37394 5.7058C8.23409 5.84566 8.0559 5.9409 7.86192 5.97948C7.66794 6.01807 7.46687 5.99826 7.28415 5.92258C7.10142 5.84689 6.94524 5.71872 6.83536 5.55427C6.72548 5.38982 6.66683 5.19648 6.66683 4.9987C6.66683 4.73348 6.77219 4.47913 6.95972 4.29159C7.14726 4.10405 7.40162 3.9987 7.66683 3.9987ZM9.3335 11.332H6.66683C6.49002 11.332 6.32045 11.2618 6.19543 11.1368C6.0704 11.0117 6.00016 10.8422 6.00016 10.6654C6.00016 10.4886 6.0704 10.319 6.19543 10.194C6.32045 10.0689 6.49002 9.9987 6.66683 9.9987H7.3335V7.9987H6.66683C6.49002 7.9987 6.32045 7.92846 6.19543 7.80343C6.0704 7.67841 6.00016 7.50884 6.00016 7.33203C6.00016 7.15522 6.0704 6.98565 6.19543 6.86063C6.32045 6.7356 6.49002 6.66536 6.66683 6.66536H8.00016C8.17698 6.66536 8.34655 6.7356 8.47157 6.86063C8.59659 6.98565 8.66683 7.15522 8.66683 7.33203V9.9987H9.3335C9.51031 9.9987 9.67988 10.0689 9.8049 10.194C9.92993 10.319 10.0002 10.4886 10.0002 10.6654C10.0002 10.8422 9.92993 11.0117 9.8049 11.1368C9.67988 11.2618 9.51031 11.332 9.3335 11.332Z"}}]},Ke=F.forwardRef(function(e,t){return F.createElement(ne,Object.assign({},e,{id:"info-icon",ref:t,icon:Rt}))});Ke.displayName="InfoIcon";const Lt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8 15C11.866 15 15 11.866 15 8C15 4.13401 11.866 1 8 1C4.13401 1 1 4.13401 1 8C1 11.866 4.13401 15 8 15ZM11.7245 6.42417C11.9588 6.18985 11.9588 5.80995 11.7245 5.57564C11.4901 5.34132 11.1102 5.34132 10.8759 5.57564L7.3002 9.15137L5.72446 7.57564C5.49014 7.34132 5.11025 7.34132 4.87593 7.57564C4.64162 7.80995 4.64162 8.18985 4.87593 8.42417L6.87593 10.4242C7.11025 10.6585 7.49014 10.6585 7.72446 10.4242L11.7245 6.42417Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ze=F.forwardRef(function(e,t){return F.createElement(ne,Object.assign({},e,{id:"success-icon",ref:t,icon:Lt}))});ze.displayName="SuccessIcon";function $t(r){const{model:e}=r,t=g.useDependency(c.LocaleService),n=g.useObservable(e.cellFillColors$,[],!0),o=g.useObservable(e.cellTextColors$,[],!0),l=F.useCallback(s=>{e.onFilterCheckToggled(s)},[e]),i=F.useCallback(s=>{e.onFilterCheckToggled(s,!1)},[e]);return d.jsx("div",{"data-u-comp":"sheets-filter-panel-colors-container",className:"univer-flex univer-h-full univer-min-h-[300px] univer-flex-col",children:d.jsxs("div",{"data-u-comp":"sheets-filter-panel",className:N.clsx("univer-mt-2 univer-box-border univer-flex univer-h-[300px] univer-flex-grow univer-flex-col univer-gap-4 univer-overflow-auto univer-rounded-md univer-px-2 univer-py-2.5",N.borderClassName),children:[n.length>1&&d.jsxs("div",{children:[d.jsx("div",{className:"univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",children:t.t("sheets-filter.panel.filter-by-cell-fill-color")}),d.jsx("div",{className:"univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",children:n.map((s,a)=>d.jsxs("div",{className:"univer-relative univer-size-6",onClick:()=>l(s),children:[s.color?d.jsx("button",{type:"button",className:N.clsx("univer-box-border univer-size-6 univer-cursor-pointer univer-rounded-full univer-border univer-border-solid univer-border-transparent univer-bg-gray-300 univer-transition-shadow hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white"),style:{backgroundColor:s.color}}):d.jsx(qe,{className:"univer-size-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white"}),s.checked&&d.jsx(Xe,{})]},`sheets-filter-cell-fill-color-${a}`))})]}),o.length>1&&d.jsxs("div",{children:[d.jsx("div",{className:"univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",children:t.t("sheets-filter.panel.filter-by-cell-text-color")}),d.jsx("div",{className:"univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",children:o.map((s,a)=>d.jsxs("div",{className:"univer-relative univer-size-6",onClick:()=>i(s),children:[d.jsx("div",{className:"univer-box-border univer-flex univer-size-full univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-border univer-border-solid univer-border-[rgba(13,13,13,0.06)] univer-p-0.5 hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white dark:!univer-border-[rgba(255,255,255,0.06)]",children:d.jsx(Ye,{style:{color:s.color}})}),s.checked&&d.jsx(Xe,{})]},`sheets-filter-cell-text-color-${a}`))})]}),n.length<=1&&o.length<=1&&d.jsx("div",{className:"univer-flex univer-size-full univer-items-center univer-justify-center univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200",children:t.t("sheets-filter.panel.filter-by-color-none")})]})})}function Xe(){return d.jsx("div",{className:"univer-absolute -univer-bottom-0.5 -univer-right-0.5 univer-flex univer-size-3 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white",children:d.jsx(ze,{className:"univer-size-full univer-font-bold univer-text-[#418F1F]"})})}function Mt(r){var v,T;const{model:e}=r,t=g.useDependency(c.LocaleService),n=g.useObservable(e.conditionItem$,void 0),o=g.useObservable(e.filterConditionFormParams$,void 0),l=o!=null&&o.and?"AND":"OR",i=F.useCallback(I=>{e.onConditionFormChange({and:I==="AND"})},[e]),s=Ut(t),a=F.useCallback(I=>{e.onPrimaryConditionChange(I)},[e]),h=kt(t),m=F.useCallback(I=>{e.onConditionFormChange(I)},[e]),p=t.t("sheets-filter.panel.input-values-placeholder");function O(I,P,A){const M=f.getItemByOperator(I).numOfParameters===1;return d.jsxs(d.Fragment,{children:[A==="operator2"&&d.jsxs(N.RadioGroup,{value:l,onChange:i,children:[d.jsx(N.Radio,{value:"AND",children:t.t("sheets-filter.panel.and")}),d.jsx(N.Radio,{value:"OR",children:t.t("sheets-filter.panel.or")})]}),d.jsx(N.Select,{value:I,options:h,onChange:L=>m({[A]:L})}),M&&d.jsx("div",{children:d.jsx(N.Input,{className:"univer-mt-2",value:P,placeholder:p,onChange:L=>m({[A==="operator1"?"val1":"val2"]:L})})})]})}return d.jsx("div",{"data-u-comp":"sheets-filter-panel-conditions-container",className:"univer-flex univer-h-full univer-min-h-[300px] univer-flex-col",children:n&&o&&d.jsxs(d.Fragment,{children:[d.jsx(N.Select,{value:n.operator,options:s,onChange:a}),f.getItemByOperator(n.operator).numOfParameters!==0?d.jsxs("div",{"data-u-comp":"sheets-filter-panel-conditions-container-inner",className:N.clsx("univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2",N.borderClassName),children:[n.numOfParameters>=1&&O(o.operator1,(v=o.val1)!=null?v:"","operator1"),n.numOfParameters>=2&&O(o.operator2,(T=o.val2)!=null?T:"","operator2"),d.jsxs("div",{"data-u-comp":"sheets-filter-panel-conditions-desc",className:"univer-mt-2 univer-text-xs univer-text-gray-500",children:[t.t("sheets-filter.panel.?"),d.jsx("br",{}),t.t("sheets-filter.panel.*")]})]}):null]})})}function Ut(r){const e=r.getCurrentLocale();return F.useMemo(()=>[{options:[{label:r.t(f.NONE.label),value:f.NONE.operator}]},{options:[{label:r.t(f.EMPTY.label),value:f.EMPTY.operator},{label:r.t(f.NOT_EMPTY.label),value:f.NOT_EMPTY.operator}]},{options:[{label:r.t(f.TEXT_CONTAINS.label),value:f.TEXT_CONTAINS.operator},{label:r.t(f.DOES_NOT_CONTAIN.label),value:f.DOES_NOT_CONTAIN.operator},{label:r.t(f.STARTS_WITH.label),value:f.STARTS_WITH.operator},{label:r.t(f.ENDS_WITH.label),value:f.ENDS_WITH.operator},{label:r.t(f.EQUALS.label),value:f.EQUALS.operator}]},{options:[{label:r.t(f.GREATER_THAN.label),value:f.GREATER_THAN.operator},{label:r.t(f.GREATER_THAN_OR_EQUAL.label),value:f.GREATER_THAN_OR_EQUAL.operator},{label:r.t(f.LESS_THAN.label),value:f.LESS_THAN.operator},{label:r.t(f.LESS_THAN_OR_EQUAL.label),value:f.LESS_THAN_OR_EQUAL.operator},{label:r.t(f.EQUAL.label),value:f.EQUAL.operator},{label:r.t(f.NOT_EQUAL.label),value:f.NOT_EQUAL.operator},{label:r.t(f.BETWEEN.label),value:f.BETWEEN.operator},{label:r.t(f.NOT_BETWEEN.label),value:f.NOT_BETWEEN.operator}]},{options:[{label:r.t(f.CUSTOM.label),value:f.CUSTOM.operator}]}],[e,r])}function kt(r){const e=r.getCurrentLocale();return F.useMemo(()=>f.ALL_CONDITIONS.filter(t=>t.numOfParameters!==2).map(t=>({label:r.t(t.label),value:t.operator})),[e,r])}function Bt(r){const{model:e}=r,t=g.useDependency(c.LocaleService),n=g.useObservable(e.searchString$,"",!0),o=g.useObservable(e.filterItems$,void 0,!0),l=t.t("sheets-filter.panel.filter-only"),i=Ie(o),s=i.checked>0&&i.unchecked===0,a=i.checked>0&&i.unchecked>0,h=e.treeMapCache,m=F.useCallback(()=>{e.onCheckAllToggled(!s)},[e,s]),p=F.useCallback(v=>{e.setSearchString(v)},[e]);function O(v){let T=[];return v.forEach(I=>{I.checked&&T.push(I.key),I.children&&(T=T.concat(O(I.children)))}),T}return d.jsxs("div",{"data-u-comp":"sheets-filter-panel-values-container",className:"univer-flex univer-h-full univer-min-h-[300px] univer-flex-col",children:[d.jsx(N.Input,{autoFocus:!0,value:n,placeholder:t.t("sheets-filter.panel.search-placeholder"),onChange:p}),d.jsxs("div",{"data-u-comp":"sheets-filter-panel",className:N.clsx("univer-mt-2 univer-box-border univer-flex univer-flex-grow univer-flex-col univer-overflow-hidden univer-rounded-md univer-px-2 univer-py-2.5",N.borderClassName),children:[d.jsx("div",{"data-u-comp":"sheets-filter-panel-values-item",className:"univer-box-border univer-h-8 univer-w-full univer-py-0.5",children:d.jsxs("div",{"data-u-comp":"sheets-filter-panel-values-item-inner",className:"univer-box-border univer-flex univer-h-7 univer-items-center univer-rounded-md univer-py-0 univer-pl-5 univer-pr-0.5 univer-text-sm",children:[d.jsx(N.Checkbox,{indeterminate:a,disabled:o.length===0,checked:s,onChange:m}),d.jsx("span",{"data-u-comp":"sheets-filter-panel-values-item-text",className:"univer-mx-1 univer-inline-block univer-flex-shrink univer-truncate univer-text-gray-900 dark:!univer-text-white",children:`${t.t("sheets-filter.panel.select-all")}`}),d.jsx("span",{"data-u-comp":"sheets-filter-panel-values-item-count",className:"univer-text-gray-400 dark:!univer-text-gray-500",children:`(${i.checked}/${i.checked+i.unchecked})`})]})}),d.jsx("div",{"data-u-comp":"sheets-filter-panel-values-virtual",className:"univer-flex-grow",children:d.jsx(N.Tree,{data:o,defaultExpandAll:!1,valueGroup:O(o),onChange:v=>{e.onFilterCheckToggled(v)},defaultCache:h,itemHeight:28,treeNodeClassName:`
1
+ (function(g,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("@univerjs/core"),require("@univerjs/sheets-filter"),require("@univerjs/sheets-ui"),require("@univerjs/ui"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("rxjs"),require("@univerjs/rpc"),require("@univerjs/design"),require("react"),require("react/jsx-runtime")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets-filter","@univerjs/sheets-ui","@univerjs/ui","@univerjs/engine-render","@univerjs/sheets","rxjs","@univerjs/rpc","@univerjs/design","react","react/jsx-runtime"],c):(g=typeof globalThis<"u"?globalThis:g||self,c(g.UniverSheetsFilterUi={},g.UniverCore,g.UniverSheetsFilter,g.UniverSheetsUi,g.UniverUi,g.UniverEngineRender,g.UniverSheets,g.rxjs,g.UniverRpc,g.UniverDesign,g.React,g.React))})(this,(function(g,c,u,$,C,K,y,S,fe,N,F,d){"use strict";var rr=Object.defineProperty;var ir=(g,c,u)=>c in g?rr(g,c,{enumerable:!0,configurable:!0,writable:!0,value:u}):g[c]=u;var _=(g,c,u)=>ir(g,typeof c!="symbol"?c+"":c,u);var se;var R=(r=>(r[r.FIRST=0]="FIRST",r[r.SECOND=1]="SECOND",r))(R||{}),E=(r=>(r.NONE="none",r.STARTS_WITH="startsWith",r.DOES_NOT_START_WITH="doesNotStartWith",r.ENDS_WITH="endsWith",r.DOES_NOT_END_WITH="doesNotEndWith",r.CONTAINS="contains",r.DOES_NOT_CONTAIN="doesNotContain",r.EQUALS="equals",r.NOT_EQUALS="notEquals",r.EMPTY="empty",r.NOT_EMPTY="notEmpty",r.BETWEEN="between",r.NOT_BETWEEN="notBetween",r.CUSTOM="custom",r))(E||{}),f;(r=>{r.NONE={label:"sheets-filter.conditions.none",operator:E.NONE,order:R.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NONE]: should not have initial form params!")},testMappingParams:i=>i.operator1===E.NONE,mapToFilterColumn:()=>null,testMappingFilterColumn:i=>!i.customFilters&&!i.filters?{}:!1},r.EMPTY={label:"sheets-filter.conditions.empty",operator:E.EMPTY,order:R.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===E.EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:""}]}}),testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.val===""&&s.operator===void 0?{operator1:E.EMPTY}:!1}},r.NOT_EMPTY={label:"sheets-filter.conditions.not-empty",operator:E.NOT_EMPTY,order:R.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NOT_EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===E.NOT_EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:"",operator:u.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.val===" "&&s.operator===u.CustomFilterOperator.NOT_EQUALS?{operator1:E.NOT_EMPTY}:!1}},r.TEXT_CONTAINS={label:"sheets-filter.conditions.text-contains",operator:E.CONTAINS,order:R.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:E.CONTAINS,val1:""}),testMappingParams:i=>{const[s]=D(i);return s===E.CONTAINS},mapToFilterColumn:i=>{const{val1:s}=i;return s===""?null:{customFilters:{customFilters:[{val:`*${s}*`}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0],a=s.val.toString();return!s.operator&&a.startsWith("*")&&a.endsWith("*")?{operator1:E.CONTAINS,val1:a.slice(1,-1)}:!1}},r.DOES_NOT_CONTAIN={label:"sheets-filter.conditions.does-not-contain",operator:E.DOES_NOT_CONTAIN,order:R.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:E.DOES_NOT_CONTAIN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}*`,operator:u.CustomFilterOperator.NOT_EQUALS}]}}),testMappingParams:i=>{const[s]=D(i);return s===E.DOES_NOT_CONTAIN},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0],a=s.val.toString();return s.operator===u.CustomFilterOperator.NOT_EQUALS&&a.startsWith("*")&&a.endsWith("*")?{operator1:E.DOES_NOT_CONTAIN,val1:a.slice(1,-1)}:!1}},r.STARTS_WITH={label:"sheets-filter.conditions.starts-with",operator:E.STARTS_WITH,order:R.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:E.STARTS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`${i.val1}*`}]}}),testMappingParams:i=>{const[s]=D(i);return s===E.STARTS_WITH},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0],a=s.val.toString();return!s.operator&&a.endsWith("*")&&!a.startsWith("*")?{operator1:E.STARTS_WITH,val1:a.slice(0,-1)}:!1}},r.ENDS_WITH={label:"sheets-filter.conditions.ends-with",operator:E.ENDS_WITH,order:R.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:E.ENDS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}`}]}}),testMappingParams:i=>{const[s]=D(i);return s===E.ENDS_WITH},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0],a=s.val.toString();return!s.operator&&a.startsWith("*")&&!a.endsWith("*")?{operator1:E.ENDS_WITH,val1:a.slice(1)}:!1}},r.EQUALS={label:"sheets-filter.conditions.equals",operator:E.EQUALS,order:R.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:E.EQUALS,val1:""}),testMappingParams:i=>{const[s]=D(i);return s===E.EQUALS},mapToFilterColumn:i=>{const{val1:s}=i;return s===""?null:{customFilters:{customFilters:[{val:s}]}}},testMappingFilterColumn:i=>{var s,a,h;return((a=(s=i.filters)==null?void 0:s.filters)==null?void 0:a.length)===1?{operator1:E.EQUALS,val1:""}:((h=i.customFilters)==null?void 0:h.customFilters.length)===1&&!i.customFilters.customFilters[0].operator?{operator1:E.EQUALS,val1:i.customFilters.customFilters[0].val.toString()}:!1}},r.GREATER_THAN={label:"sheets-filter.conditions.greater-than",operator:u.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:u.CustomFilterOperator.GREATER_THAN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:u.CustomFilterOperator.GREATER_THAN}]}}),testMappingParams:i=>{const[s]=D(i);return s===u.CustomFilterOperator.GREATER_THAN},testMappingFilterColumn:i=>{var a;if(((a=i.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==u.CustomFilterOperator.GREATER_THAN?!1:{operator1:u.CustomFilterOperator.GREATER_THAN,val1:s.val.toString()}}},r.GREATER_THAN_OR_EQUAL={label:"sheets-filter.conditions.greater-than-or-equal",operator:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[s]=D(i);return s===u.CustomFilterOperator.GREATER_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var a;if(((a=i.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==u.CustomFilterOperator.GREATER_THAN_OR_EQUAL?!1:{operator1:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:s.val.toString()}}},r.LESS_THAN={label:"sheets-filter.conditions.less-than",operator:u.CustomFilterOperator.LESS_THAN,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:u.CustomFilterOperator.LESS_THAN,val1:""}),testMappingParams:i=>{const[s]=D(i);return s===u.CustomFilterOperator.LESS_THAN},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:u.CustomFilterOperator.LESS_THAN}]}}),testMappingFilterColumn:i=>{var a;if(((a=i.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==u.CustomFilterOperator.LESS_THAN?!1:{operator1:u.CustomFilterOperator.LESS_THAN,val1:s.val.toString()}}},r.LESS_THAN_OR_EQUAL={label:"sheets-filter.conditions.less-than-or-equal",operator:u.CustomFilterOperator.LESS_THAN_OR_EQUAL,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:u.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[s]=D(i);return s===u.CustomFilterOperator.LESS_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:u.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var a;if(((a=i.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==u.CustomFilterOperator.LESS_THAN_OR_EQUAL?!1:{operator1:u.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:s.val.toString()}}},r.EQUAL={label:"sheets-filter.conditions.equal",operator:u.CustomFilterOperator.EQUAL,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:u.CustomFilterOperator.EQUAL,val1:""}),testMappingParams:i=>{const[s]=D(i);return s===u.CustomFilterOperator.EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:u.CustomFilterOperator.EQUAL}]}}),testMappingFilterColumn:i=>{var a;if(((a=i.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==u.CustomFilterOperator.EQUAL?!1:{operator1:u.CustomFilterOperator.EQUAL,val1:s.val.toString()}}},r.NOT_EQUAL={label:"sheets-filter.conditions.not-equal",operator:u.CustomFilterOperator.NOT_EQUALS,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:u.CustomFilterOperator.NOT_EQUALS,val1:""}),testMappingParams:i=>{const[s]=D(i);return s===u.CustomFilterOperator.NOT_EQUALS},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:u.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var a;if(((a=i.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==u.CustomFilterOperator.NOT_EQUALS?!1:{operator1:u.CustomFilterOperator.NOT_EQUALS,val1:s.val.toString()}}},r.BETWEEN={label:"sheets-filter.conditions.between",operator:E.BETWEEN,order:R.SECOND,numOfParameters:2,getDefaultFormParams:()=>({and:!0,operator1:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:"",operator2:u.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:""}),testMappingParams:i=>{const{and:s,operator1:a,operator2:h}=i;if(!s)return!1;const m=[a,h];return m.includes(u.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&m.includes(u.CustomFilterOperator.LESS_THAN_OR_EQUAL)},mapToFilterColumn:i=>{const{val1:s,val2:a,operator1:h}=i,m=h===u.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:c.BooleanNumber.TRUE,customFilters:[{val:m?s:a,operator:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:m?a:s,operator:u.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const[s,a]=i.customFilters.customFilters;return s.operator===u.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&a.operator===u.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:s.val.toString(),operator2:u.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:a.val.toString()}:a.operator===u.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&s.operator===u.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:u.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:a.val.toString(),operator2:u.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:s.val.toLocaleString()}:!1}},r.NOT_BETWEEN={label:"sheets-filter.conditions.not-between",operator:E.NOT_BETWEEN,order:R.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:u.CustomFilterOperator.LESS_THAN,val1:"",operator2:u.CustomFilterOperator.GREATER_THAN,val2:""}),testMappingParams:i=>{const{and:s,operator1:a,operator2:h}=i;if(s)return!1;const m=[a,h];return m.includes(u.CustomFilterOperator.GREATER_THAN)&&m.includes(u.CustomFilterOperator.LESS_THAN)},mapToFilterColumn:i=>{const{val1:s,val2:a,operator1:h}=i,m=h===u.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:m?s:a,operator:u.CustomFilterOperator.GREATER_THAN},{val:m?a:s,operator:u.CustomFilterOperator.LESS_THAN}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const[s,a]=i.customFilters.customFilters;return s.operator===u.CustomFilterOperator.LESS_THAN&&a.operator===u.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:u.CustomFilterOperator.LESS_THAN,val1:s.val.toString(),operator2:u.CustomFilterOperator.GREATER_THAN,val2:a.val.toString()}:a.operator===u.CustomFilterOperator.LESS_THAN&&s.operator===u.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:u.CustomFilterOperator.GREATER_THAN,val1:a.val.toString(),operator2:u.CustomFilterOperator.LESS_THAN,val2:s.val.toLocaleString()}:!1}},r.CUSTOM={label:"sheets-filter.conditions.custom",operator:E.CUSTOM,order:R.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:E.NONE,val1:"",operator2:E.NONE,val2:""}),testMappingParams:()=>!0,mapToFilterColumn:i=>{const{and:s,val1:a,val2:h,operator1:m,operator2:p}=i;function I(M,L){for(const U of r.ALL_CONDITIONS)if(U.operator===M)return U.mapToFilterColumn({val1:L,operator1:M})}const v=!m||m===r.NONE.operator,T=!p||p===r.NONE.operator;if(v&&T)return r.NONE.mapToFilterColumn({});if(v)return I(p,h);if(T)return I(m,a);const O=I(m,a),P=I(p,h),A={customFilters:[O.customFilters.customFilters[0],P.customFilters.customFilters[0]]};return s&&(A.and=c.BooleanNumber.TRUE),{customFilters:A}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const s=i.customFilters.customFilters.map(m=>l({customFilters:{customFilters:[m]}})),a={operator1:s[0][0].operator,val1:s[0][1].val1,operator2:s[1][0].operator,val2:s[1][1].val1};return i.customFilters.and&&(a.and=!0),a}},r.ALL_CONDITIONS=[r.NONE,r.EMPTY,r.NOT_EMPTY,r.TEXT_CONTAINS,r.DOES_NOT_CONTAIN,r.STARTS_WITH,r.ENDS_WITH,r.EQUALS,r.GREATER_THAN,r.GREATER_THAN_OR_EQUAL,r.LESS_THAN,r.LESS_THAN_OR_EQUAL,r.EQUAL,r.NOT_EQUAL,r.BETWEEN,r.NOT_BETWEEN,r.CUSTOM];function e(i){const s=r.ALL_CONDITIONS.find(a=>a.operator===i);if(!s)throw new Error(`[SheetsFilter]: no condition item found for operator: ${i}`);return s}r.getItemByOperator=e;function t(i,s){for(const a of r.ALL_CONDITIONS.filter(h=>h.numOfParameters===s))if(a.numOfParameters!==0&&a.testMappingParams(i))return a;for(const a of r.ALL_CONDITIONS)if(a.testMappingParams(i))return a;throw new Error("[SheetsFilter]: no condition item can be mapped from the filter map params!")}r.testMappingParams=t;function n(i){const s=r.ALL_CONDITIONS.find(a=>a.operator===i);return(s==null?void 0:s.numOfParameters)===0?{operator1:s.operator}:s.getDefaultFormParams()}r.getInitialFormParams=n;function o(i,s){return i.mapToFilterColumn(s)}r.mapToFilterColumn=o;function l(i){if(!i)return[r.NONE,{}];for(const s of r.ALL_CONDITIONS){const a=s.testMappingFilterColumn(i);if(a)return[s,a]}return[r.NONE,{}]}r.testMappingFilterColumn=l})(f||(f={}));function D(r){const{operator1:e,operator2:t,val1:n,val2:o}=r;if(e&&t)throw new Error("Both operator1 and operator2 are set!");if(!e&&!t)throw new Error("Neither operator1 and operator2 and both not set!");return e?[e,n]:[t,o]}function be(r){const e=[],t=[];let n=0,o=0;function l(i){i.leaf&&(i.checked?(e.push(i),n+=i.count):(t.push(i),o+=i.count)),i.children&&i.children.forEach(l)}return r.forEach(l),{checkedItems:e,uncheckedItems:t,checked:n,unchecked:o}}var ot=Object.getOwnPropertyDescriptor,st=(r,e,t,n)=>{for(var o=n>1?void 0:n?ot(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},ye=(r,e)=>(t,n)=>e(t,n,r);const Pe="sheets-filter.generate-filter-values.service",ve=c.createIdentifier(Pe);let Ae=class extends c.Disposable{constructor(r,e,t){super(),this._localeService=r,this._univerInstanceService=e,this._logService=t}async getFilterValues(r){var p;const{unitId:e,subUnitId:t,filteredOutRowsByOtherColumns:n,filterColumn:o,filters:l,blankChecked:i,iterateRange:s,alreadyChecked:a}=r,h=this._univerInstanceService.getUnit(e),m=(p=this._univerInstanceService.getUnit(e))==null?void 0:p.getSheetBySheetId(t);return!h||!m?[]:(this._logService.debug("[SheetsGenerateFilterValuesService]","getFilterValues for",{unitId:e,subUnitId:t}),He(l,this._localeService,s,m,new Set(n),o,new Set(a.map(String)),i,h.getStyles()))}};Ae=st([ye(0,c.Inject(c.LocaleService)),ye(1,c.IUniverInstanceService),ye(2,c.ILogService)],Ae);function He(r,e,t,n,o,l,i,s,a){var P,A,M,L,U,B,Y,q,ae,H;const h=new Map,m=new Map,p="yyyy-mm-dd",I="empty",v=!r&&((l==null?void 0:l.filterBy)===u.FilterBy.COLORS||(l==null?void 0:l.filterBy)===u.FilterBy.CONDITIONS)&&((P=l.filteredOutRows)==null?void 0:P.size);let T=0;for(const b of n.iterateByColumn(t,!1,!1)){const{row:ke,rowSpan:Fe=1}=b;let le=0;for(;le<Fe;){const tr=ke+le;if(o.has(tr)){le++;continue}const X=b!=null&&b.value?c.extractPureTextFromCell(b.value):"";if(!X){T+=1,le+=Fe;continue}const Ne=(A=b.value)!=null&&A.v&&!b.value.p?(U=(L=a.get((M=b.value)==null?void 0:M.s))==null?void 0:L.n)==null?void 0:U.pattern:"",it=Ne&&c.numfmt.getFormatInfo(Ne).isDate;let nt=!1;if(it){const{year:W,month:Z,day:w}=c.numfmt.getFormatDateInfo(Ne);nt=W||Z||w}if(Ne&&it&&nt){const W=(B=n.getCellRaw(b.row,b.col))==null?void 0:B.v;if(!W){le++;continue}const Z=c.numfmt.format(p,Number(W)),[w,V,pe]=Z.split("-").map(Number);let J=h.get(`${w}`);J||(J={title:`${w}`,key:`${w}`,children:[],count:0,leaf:!1,checked:!1},h.set(`${w}`,J),m.set(`${w}`,[`${w}`]));let j=(Y=J.children)==null?void 0:Y.find(De=>De.key===`${w}-${V}`);j||(j={title:e.t(`sheets-filter.date.${V}`),key:`${w}-${V}`,children:[],count:0,leaf:!1,checked:!1},(q=J.children)==null||q.push(j),m.set(`${w}-${V}`,[`${w}`,`${w}-${V}`]));const Be=(ae=j==null?void 0:j.children)==null?void 0:ae.find(De=>De.key===`${w}-${V}-${pe}`);Be?(Be.originValues.add(X),Be.count++,j.count++,J.count++):((H=j.children)==null||H.push({title:`${pe}`,key:`${w}-${V}-${pe}`,count:1,originValues:new Set([X]),leaf:!0,checked:v?!1:i.size?i.has(X):!s}),j.count++,J.count++,m.set(`${w}-${V}-${pe}`,[`${w}`,`${w}-${V}`,`${w}-${V}-${pe}`]))}else{const W=X;let Z=h.get(W);Z?Z.count++:(Z={title:X,leaf:!0,checked:v?!1:i.size?i.has(X):!s,key:W,count:1},h.set(W,Z),m.set(W,[W]))}le++}}const O=v?!1:r?s:!0;if(T>0){const b={title:e.t("sheets-filter.panel.empty"),count:T,leaf:!0,checked:O,key:I};h.set("empty",b),m.set("empty",[I])}return{filterTreeItems:at(Array.from(h.values())),filterTreeMapCache:m}}function at(r){return Array.from(r).sort((e,t)=>e.children&&!t.children?-1:!e.children&&t.children?1:lt(e.title,t.title)).map(e=>(e.children&&e.children.sort((t,n)=>{const o=Number.parseInt(t.key.split("-")[1],10),l=Number.parseInt(n.key.split("-")[1],10);return o-l}).forEach(t=>{t.children&&t.children.sort((n,o)=>{const l=Number.parseInt(n.key.split("-")[2],10),i=Number.parseInt(o.key.split("-")[2],10);return l-i})}),e))}const xe=r=>!Number.isNaN(Number(r))&&!Number.isNaN(Number.parseFloat(r));function lt(r,e){const t=xe(r),n=xe(e);return t&&n?Number.parseFloat(r)-Number.parseFloat(e):t&&!n?-1:!t&&n?1:r.localeCompare(e)}function we(r,e){for(const t of r){if(t.key===e)return t;if(t.children){const n=we(t.children,e);if(n)return n}}return null}function We(r){return r.leaf?r.checked:r.children?r.children.every(e=>We(e)):!0}function ce(r,e){r.leaf&&(e!==void 0?r.checked=e:r.checked=!r.checked),r.children&&r.children.forEach(t=>ce(t,e))}function Ve(r,e){const t=[];return r.forEach(n=>{const o=n.originValues?e.some(s=>Array.from(n.originValues).some(a=>a.toLowerCase().includes(s.toLowerCase()))):!1,l=!o&&e.some(s=>n.title.toLowerCase().includes(s.toLowerCase()));if(o||l)t.push({...n});else if(n.children){const s=Ve(n.children,e);if(s.length>0){const a=s.reduce((h,m)=>h+m.count,0);t.push({...n,count:a,children:s})}}}),t}var ct=Object.getOwnPropertyDescriptor,_e=(r,e,t,n)=>{for(var o=n>1?void 0:n?ct(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},ue=(r,e)=>(t,n)=>e(t,n,r);c.createIdentifier("sheets-filter-ui.sheets-filter-panel.service");let Q=class extends c.Disposable{constructor(e,t){super();_(this,"_filterBy$",new S.BehaviorSubject(u.FilterBy.VALUES));_(this,"filterBy$",this._filterBy$.asObservable());_(this,"_filterByModel$",new S.ReplaySubject(1));_(this,"filterByModel$",this._filterByModel$.asObservable());_(this,"_filterByModel",null);_(this,"_hasCriteria$",new S.BehaviorSubject(!1));_(this,"hasCriteria$",this._hasCriteria$.asObservable());_(this,"_filterModel",null);_(this,"_col$",new S.BehaviorSubject(-1));_(this,"col$",this._col$.asObservable());_(this,"_filterHeaderListener",null);this._injector=e,this._refRangeService=t}get filterBy(){return this._filterBy$.getValue()}get filterByModel(){return this._filterByModel}set filterByModel(e){this._filterByModel=e,this._filterByModel$.next(e)}get filterModel(){return this._filterModel}get col(){return this._col$.getValue()}dispose(){this._filterBy$.complete(),this._filterByModel$.complete(),this._hasCriteria$.complete()}setupCol(e,t){this.terminate(),this._filterModel=e,this._col$.next(t);const n=e.getFilterColumn(t);if(n){const o=n.getColumnData();if(o.customFilters){this._hasCriteria$.next(!0),this._setupByConditions(e,t);return}if(o.colorFilters){this._hasCriteria$.next(!0),this._setupByColors(e,t);return}if(o.filters){this._hasCriteria$.next(!0),this._setupByValues(e,t);return}this._hasCriteria$.next(!1),this._setupByValues(e,t);return}this._hasCriteria$.next(!1),this._setupByValues(e,t)}changeFilterBy(e){if(!this._filterModel||this.col===-1)return!1;switch(e){case u.FilterBy.VALUES:this._setupByValues(this._filterModel,this.col);break;case u.FilterBy.COLORS:this._setupByColors(this._filterModel,this.col);break;case u.FilterBy.CONDITIONS:this._setupByConditions(this._filterModel,this.col);break}return!0}terminate(){return this._filterModel=null,this._col$.next(-1),this._disposeFilterHeaderChangeListener(),!0}_disposeFilterHeaderChangeListener(){var e;(e=this._filterHeaderListener)==null||e.dispose(),this._filterHeaderListener=null}_listenToFilterHeaderChange(e,t){this._disposeFilterHeaderChangeListener();const n=e.unitId,o=e.subUnitId,l=e.getRange(),i={startColumn:t,startRow:l.startRow,endRow:l.startRow,endColumn:t};this._filterHeaderListener=this._refRangeService.watchRange(n,o,i,(s,a)=>{if(!a)this.terminate();else{const h=a.startColumn-s.startColumn;h!==0&&this._filterByModel.deltaCol(h)}})}async _setupByValues(e,t){this._disposePreviousModel();const n=e.getRange();if(n.startRow===n.endRow)return!1;const o=await Ce.fromFilterColumn(this._injector,e,t);return this.filterByModel=o,this._filterBy$.next(u.FilterBy.VALUES),this._listenToFilterHeaderChange(e,t),!0}async _setupByColors(e,t){this._disposePreviousModel();const n=e.getRange();if(n.startRow===n.endRow)return!1;const o=await Se.fromFilterColumn(this._injector,e,t);return this.filterByModel=o,this._filterBy$.next(u.FilterBy.COLORS),this._listenToFilterHeaderChange(e,t),!0}_setupByConditions(e,t){this._disposePreviousModel();const n=e.getRange();if(n.startRow===n.endRow)return!1;const o=ge.fromFilterColumn(this._injector,e,t,e.getFilterColumn(t));return this.filterByModel=o,this._filterBy$.next(u.FilterBy.CONDITIONS),this._listenToFilterHeaderChange(e,t),!0}_disposePreviousModel(){var e;(e=this._filterByModel)==null||e.dispose(),this.filterByModel=null}};Q=_e([ue(0,c.Inject(c.Injector)),ue(1,c.Inject(y.RefRangeService))],Q);let ge=class extends c.Disposable{constructor(e,t,n,o,l){super();_(this,"canApply$",S.of(!0));_(this,"_conditionItem$");_(this,"conditionItem$");_(this,"_filterConditionFormParams$");_(this,"filterConditionFormParams$");this._filterModel=e,this.col=t,this._commandService=l,this._conditionItem$=new S.BehaviorSubject(n),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new S.BehaviorSubject(o),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}static fromFilterColumn(e,t,n,o){const[l,i]=f.testMappingFilterColumn(o==null?void 0:o.getColumnData());return e.createInstance(ge,t,n,l,i)}get conditionItem(){return this._conditionItem$.getValue()}get filterConditionFormParams(){return this._filterConditionFormParams$.getValue()}dispose(){super.dispose(),this._conditionItem$.complete(),this._filterConditionFormParams$.complete()}deltaCol(e){this.col+=e}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const e=f.mapToFilterColumn(this.conditionItem,this.filterConditionFormParams);return this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:e})}onPrimaryConditionChange(e){const t=f.ALL_CONDITIONS.find(n=>n.operator===e);if(!t)throw new Error(`[ByConditionsModel]: condition item not found for operator: ${e}!`);this._conditionItem$.next(t),this._filterConditionFormParams$.next(f.getInitialFormParams(e))}onConditionFormChange(e){const t={...this.filterConditionFormParams,...e};if(t.and!==!0&&delete t.and,typeof e.and<"u"||typeof e.operator1<"u"||typeof e.operator2<"u"){const n=f.testMappingParams(t,this.conditionItem.numOfParameters);this._conditionItem$.next(n)}this._filterConditionFormParams$.next(t)}};ge=_e([ue(4,c.ICommandService)],ge);let Ce=class extends c.Disposable{constructor(e,t,n,o,l){super();_(this,"_rawFilterItems$");_(this,"rawFilterItems$");_(this,"filterItems$");_(this,"_filterItems",[]);_(this,"_treeMapCache");_(this,"canApply$");_(this,"_manuallyUpdateFilterItems$");_(this,"_searchString$");_(this,"searchString$");this._filterModel=e,this.col=t,this._commandService=l,this._treeMapCache=o,this._searchString$=new S.BehaviorSubject(""),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new S.BehaviorSubject(n),this.rawFilterItems$=this._rawFilterItems$.asObservable(),this._manuallyUpdateFilterItems$=new S.Subject,this.filterItems$=S.merge(S.combineLatest([this._searchString$.pipe(S.throttleTime(500,void 0,{leading:!0,trailing:!0}),S.startWith(void 0)),this._rawFilterItems$]).pipe(S.map(([i,s])=>{if(!i)return s;const h=i.toLowerCase().split(/\s+/).filter(m=>!!m);return Ve(s,h)})),this._manuallyUpdateFilterItems$).pipe(S.shareReplay(1)),this.canApply$=this.filterItems$.pipe(S.map(i=>be(i).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(i=>this._filterItems=i))}static async fromFilterColumn(e,t,n){const o=e.get(c.IUniverInstanceService),l=e.get(c.LocaleService),i=e.get(ve,c.Quantity.OPTIONAL),{unitId:s,subUnitId:a}=t,h=o.getUniverSheetInstance(s);if(!h)throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${s}!`);const m=h==null?void 0:h.getSheetBySheetId(a);if(!m)throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${s} and subUnitId: ${a}!`);const p=t.getRange(),I=n,v=t.getFilterColumn(n),T=v==null?void 0:v.getColumnData().filters,O=new Set(T==null?void 0:T.filters),P=!!(T&&T.blank),A=t.getFilteredOutRowsExceptCol(n),M={...p,startRow:p.startRow+1,startColumn:I,endColumn:I};let L,U;if(i){const B=await i.getFilterValues({unitId:s,subUnitId:a,filteredOutRowsByOtherColumns:Array.from(A),filterColumn:v,filters:!!T,blankChecked:P,iterateRange:M,alreadyChecked:Array.from(O)});L=B.filterTreeItems,U=B.filterTreeMapCache}else{const B=He(!!T,l,M,m,A,v,O,P,h.getStyles());L=B.filterTreeItems,U=B.filterTreeMapCache}return e.createInstance(Ce,t,n,L,U)}get rawFilterItems(){return this._rawFilterItems$.getValue()}get filterItems(){return this._filterItems}get treeMapCache(){return this._treeMapCache}dispose(){this._rawFilterItems$.complete(),this._searchString$.complete()}deltaCol(e){this.col+=e}setSearchString(e){this._searchString$.next(e)}onCheckAllToggled(e){const t=c.Tools.deepClone(this._filterItems);t.forEach(n=>ce(n,e)),this._manuallyUpdateFilterItems(t)}onFilterCheckToggled(e){const t=c.Tools.deepClone(this._filterItems),n=we(t,e.key);if(!n)return;const o=We(n);ce(n,!o),this._manuallyUpdateFilterItems(t)}onFilterOnly(e){const t=c.Tools.deepClone(this._filterItems);t.forEach(n=>ce(n,!1)),e.forEach(n=>{const o=we(t,n);o&&ce(o,!0)}),this._manuallyUpdateFilterItems(t)}_manuallyUpdateFilterItems(e){this._manuallyUpdateFilterItems$.next(e)}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const e=be(this._filterItems),{checked:t,checkedItems:n}=e,o=this.rawFilterItems;let l=0;for(const h of o)l+=h.count;const i=t===0,s=e.checked===l,a={colId:this.col};if(i)throw new Error("[ByValuesModel]: no checked items!");if(s)return this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});{a.filters={};const h=n.filter(p=>p.key!=="empty");h.length>0&&(a.filters={filters:h.flatMap(p=>p.originValues?Array.from(p.originValues):[p.title])}),h.length!==n.length&&(a.filters.blank=!0)}return this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:a})}};Ce=_e([ue(4,c.ICommandService)],Ce);let Se=class extends c.Disposable{constructor(e,t,n,o,l){super();_(this,"canApply$",S.of(!0));_(this,"_cellFillColors$");_(this,"cellFillColors$");_(this,"_cellTextColors$");_(this,"cellTextColors$");this._filterModel=e,this.col=t,this._commandService=l,this._cellFillColors$=new S.BehaviorSubject(Array.from(n.values())),this.cellFillColors$=this._cellFillColors$.asObservable(),this._cellTextColors$=new S.BehaviorSubject(Array.from(o.values())),this.cellTextColors$=this._cellTextColors$.asObservable()}static async fromFilterColumn(e,t,n){var M,L,U;const o=e.get(c.IUniverInstanceService),{unitId:l,subUnitId:i}=t,s=o.getUniverSheetInstance(l);if(!s)throw new Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${l}!`);const a=s==null?void 0:s.getSheetBySheetId(i);if(!a)throw new Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${l} and subUnitId: ${i}!`);const h=t.getRange(),m=n,p=(M=t.getFilterColumn(n))==null?void 0:M.getColumnData().colorFilters,I=t.getFilteredOutRowsExceptCol(n),v={...h,startRow:h.startRow+1,startColumn:m,endColumn:m},T=new Map,O=new Set((L=p==null?void 0:p.cellFillColors)!=null?L:[]),P=new Map,A=new Set((U=p==null?void 0:p.cellTextColors)!=null?U:[]);for(const B of a.iterateByColumn(v,!1,!0)){const{row:Y,col:q,value:ae}=B;if(I.has(Y))continue;const H=a.getComposedCellStyleByCellData(Y,q,ae);if(H.bg&&H.bg.rgb){const b=new c.ColorKit(H.bg.rgb).toRgbString();T.has(b)||T.set(b,{color:b,checked:O.has(b)})}else T.set("default-fill-color",{color:null,checked:O.has(null)});if(H.cl&&H.cl.rgb){const b=new c.ColorKit(H.cl.rgb).toRgbString();P.has(b)||P.set(b,{color:b,checked:A.has(b)})}else P.set("default-font-color",{color:K.COLOR_BLACK_RGB,checked:A.has(K.COLOR_BLACK_RGB)})}return e.createInstance(Se,t,n,T,P)}get cellFillColors(){return this._cellFillColors$.getValue()}get cellTextColors(){return this._cellTextColors$.getValue()}dispose(){super.dispose(),this._cellFillColors$.complete()}deltaCol(e){this.col+=e}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}onFilterCheckToggled(e,t=!0){const n=t?this.cellFillColors:this.cellTextColors,o=[];let l=!1;for(let i=0;i<n.length;i++){const s=n[i];if(s.color===e.color){l=!0,o.push({color:s.color,checked:!s.checked});continue}o.push({color:s.color,checked:s.checked})}l&&(this._resetColorsCheckedStatus(!t),t?this._cellFillColors$.next([...o]):this._cellTextColors$.next([...o]))}_resetColorsCheckedStatus(e=!0){const t=e?this.cellFillColors:this.cellTextColors,n=[];for(let o=0;o<t.length;o++)n.push({color:t[o].color,checked:!1});e?this._cellFillColors$.next([...n]):this._cellTextColors$.next([...n])}async apply(){if(this._disposed)return!1;const e=this.cellFillColors.filter(o=>o.checked).map(o=>o.color),t=this.cellTextColors.filter(o=>o.checked).map(o=>o.color);if(e.length===0&&t.length===0)return this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});const n={colId:this.col};return e.length>0?n.colorFilters={cellFillColors:e}:t.length>0&&(n.colorFilters={cellTextColors:t}),this._commandService.executeCommand(u.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:n})}};Se=_e([ue(4,c.ICommandService)],Se);const ee="FILTER_PANEL_OPENED",he={id:"sheet.operation.open-filter-panel",type:c.CommandType.OPERATION,handler:(r,e)=>{const t=r.get(c.IContextService),n=r.get(u.SheetsFilterService),o=r.get(Q),l=r.get(c.ICommandService),i=r.has($.IEditorBridgeService)?r.get($.IEditorBridgeService):null;i!=null&&i.isVisible().visible&&l.syncExecuteCommand($.SetCellEditVisibleOperation.id,{visible:!1});const{unitId:s,subUnitId:a,col:h}=e,m=n.getFilterModel(s,a);return m?(o.setupCol(m,h),t.getContextValue(ee)||t.setContextValue(ee,!0),!0):!1}},te={id:"sheet.operation.close-filter-panel",type:c.CommandType.OPERATION,handler:r=>{const e=r.get(c.IContextService),t=r.get(Q),n=r.get(C.ILayoutService,c.Quantity.OPTIONAL);return e.getContextValue(ee)?(e.setContextValue(ee,!1),n==null||n.focus(),t.terminate()):!1}},Re={id:"sheet.operation.apply-filter",type:c.CommandType.OPERATION,handler:(r,e)=>{const{filterBy:t}=e;return r.get(Q).changeFilterBy(t)}},re={name:"@univerjs/sheets-filter-ui",version:"0.17.0"},je="sheets-filter-ui.config",Te={};var ut=Object.getOwnPropertyDescriptor,ht=(r,e,t,n)=>{for(var o=n>1?void 0:n?ut(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},ie=(r,e)=>(t,n)=>e(t,n,r);let ne=class extends c.Disposable{constructor(r,e,t,n,o,l){super(),this._sheetsFilterService=r,this._localeService=e,this._commandService=t,this._sheetPermissionCheckPermission=n,this._injector=o,this._sheetsSelectionService=l,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(r=>{var e,t,n;if(r.id===u.SmartToggleSheetsFilterCommand.id){const o=this._injector.get(c.IUniverInstanceService),l=y.getSheetCommandTarget(o);if(!l)return;const{unitId:i,subUnitId:s,worksheet:a}=l,h=(e=this._sheetsFilterService.getFilterModel(i,s))==null?void 0:e.getRange();let m;if(h)m=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[y.RangeProtectionPermissionViewPoint],worksheetTypes:[y.WorksheetFilterPermission,y.WorksheetViewPermission]},[h],i,s);else{const p=(t=this._sheetsSelectionService.getCurrentLastSelection())==null?void 0:t.range;if(p){let I={...p};I=p.startColumn===p.endColumn&&p.startRow===p.endRow?y.expandToContinuousRange(I,{left:!0,right:!0,up:!0,down:!0},a):I,m=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[y.RangeProtectionPermissionViewPoint],worksheetTypes:[y.WorksheetViewPermission,y.WorksheetFilterPermission]},[I],i,s)}else m=this._sheetPermissionCheckPermission.permissionCheckWithoutRange({rangeTypes:[y.RangeProtectionPermissionViewPoint],worksheetTypes:[y.WorksheetViewPermission,y.WorksheetFilterPermission]})}m||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr"))}if(r.id===he.id){const o=r.params,{unitId:l,subUnitId:i}=o,s=(n=this._sheetsFilterService.getFilterModel(l,i))==null?void 0:n.getRange(),a=c.Tools.deepClone(s);a&&(a.startColumn=o.col,a.endColumn=o.col,this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[y.RangeProtectionPermissionViewPoint],worksheetTypes:[y.WorksheetFilterPermission,y.WorksheetViewPermission]},[a],l,i)||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr")))}}))}};ne=ht([ie(0,c.Inject(u.SheetsFilterService)),ie(1,c.Inject(c.LocaleService)),ie(2,c.ICommandService),ie(3,c.Inject(y.SheetPermissionCheckController)),ie(4,c.Inject(c.Injector)),ie(5,c.Inject(y.SheetsSelectionsService))],ne);const G=16,dt=new Path2D("M3.30363 3C2.79117 3 2.51457 3.60097 2.84788 3.99024L6.8 8.60593V12.5662C6.8 12.7184 6.8864 12.8575 7.02289 12.9249L8.76717 13.7863C8.96655 13.8847 9.2 13.7396 9.2 13.5173V8.60593L13.1521 3.99024C13.4854 3.60097 13.2088 3 12.6964 3H3.30363Z");class Qe{static drawNoCriteria(e,t,n,o){e.save(),K.Rect.drawWith(e,{radius:2,width:G,height:G,fill:o}),e.lineCap="square",e.strokeStyle=n,e.scale(t/G,t/G),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 drawHasCriteria(e,t,n,o){e.save(),K.Rect.drawWith(e,{radius:2,width:G,height:G,fill:o}),e.scale(t/G,t/G),e.fillStyle=n,e.fill(dt),e.restore()}}var mt=Object.getOwnPropertyDescriptor,pt=(r,e,t,n)=>{for(var o=n>1?void 0:n?mt(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},Le=(r,e)=>(t,n)=>e(t,n,r);const x=16,de=1;let $e=class extends K.Shape{constructor(e,t,n,o,l){super(e,t);_(this,"_cellWidth",0);_(this,"_cellHeight",0);_(this,"_filterParams");_(this,"_hovered",!1);this._contextService=n,this._commandService=o,this._themeService=l,this.setShapeProps(t),this.onPointerDown$.subscribeEvent(i=>this.onPointerDown(i)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(e){typeof e.cellHeight<"u"&&(this._cellHeight=e.cellHeight),typeof e.cellWidth<"u"&&(this._cellWidth=e.cellWidth),typeof e.filterParams<"u"&&(this._filterParams=e.filterParams),this.transformByState({width:e.width,height:e.height})}_draw(e){const t=this._cellHeight,n=this._cellWidth,o=x-n,l=x-t;e.save();const i=new Path2D;i.rect(o,l,n,t),e.clip(i);const{hasCriteria:s}=this._filterParams,a=this._themeService.getColorFromTheme("primary.600"),h=this._hovered?this._themeService.getColorFromTheme("gray.50"):"rgba(255, 255, 255, 1.0)";s?Qe.drawHasCriteria(e,x,a,h):Qe.drawNoCriteria(e,x,a,h),e.restore()}onPointerDown(e){if(e.button===2)return;const{col:t,unitId:n,subUnitId:o}=this._filterParams;this._contextService.getContextValue(ee)||!this._commandService.hasCommand(he.id)||setTimeout(()=>{this._commandService.executeCommand(he.id,{unitId:n,subUnitId:o,col:t})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};$e=pt([Le(2,c.IContextService),Le(3,c.ICommandService),Le(4,c.Inject(c.ThemeService))],$e);var ft=Object.getOwnPropertyDescriptor,vt=(r,e,t,n)=>{for(var o=n>1?void 0:n?ft(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},z=(r,e)=>(t,n)=>e(t,n,r);const _t=1e3,gt=5e3;function Ct(r,e,t,n){switch(n){case c.VerticalAlign.TOP:return r+de;case c.VerticalAlign.MIDDLE:return r+Math.max(0,(t-x)/2);case c.VerticalAlign.BOTTOM:default:return e-x-de}}let Me=class extends c.RxDisposable{constructor(e,t,n,o,l,i,s,a){super();_(this,"_filterRangeShape",null);_(this,"_buttonRenderDisposable",null);_(this,"_filterButtonShapes",[]);this._context=e,this._injector=t,this._sheetSkeletonManagerService=n,this._sheetsFilterService=o,this._themeService=l,this._sheetInterceptorService=i,this._commandService=s,this._selectionRenderService=a,this._initRenderer()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){this._sheetSkeletonManagerService.currentSkeleton$.pipe(S.switchMap(e=>{var s,a;if(!e)return S.of(null);const{unit:t,unitId:n}=this._context,o=((s=t.getActiveSheet())==null?void 0:s.getSheetId())||"",l=(a=this._sheetsFilterService.getFilterModel(n,o))!=null?a:void 0,i=()=>({unitId:n,worksheetId:o,filterModel:l,range:l==null?void 0:l.getRange(),skeleton:e.skeleton});return c.fromCallback(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(S.filter(([h])=>{var m;return h.type===c.CommandType.MUTATION&&((m=h.params)==null?void 0:m.unitId)===t.getUnitId()&&(u.FILTER_MUTATIONS.has(h.id)||h.id===y.SetRangeValuesMutation.id)}),S.throttleTime(20,void 0,{leading:!1,trailing:!0}),S.map(i),S.startWith(i()))}),S.takeUntil(this.dispose$)).subscribe(e=>{this._disposeRendering(),!(!e||!e.range)&&(this._renderRange(e.range,e.skeleton),this._renderButtons(e))})}_renderRange(e,t){const{scene:n}=this._context,{rowHeaderWidth:o,columnHeaderHeight:l}=t,i=this._filterRangeShape=new $.SelectionControl(n,_t,this._themeService,{rowHeaderWidth:o,columnHeaderHeight:l,enableAutoFill:!1,highlightHeader:!1}),s={range:e,primary:null,style:{fill:"rgba(0, 0, 0, 0.0)"}},a=$.attachSelectionWithCoord(s,t);i.updateRangeBySelectionWithCoord(a),i.setEvent(!1),n.makeDirty(!0)}_renderButtons(e){const{range:t,filterModel:n,unitId:o,skeleton:l,worksheetId:i}=e,{unit:s,scene:a}=this._context,h=s.getSheetBySheetId(i);if(!h)return;this._interceptCellContent(o,i,e.range);const{startColumn:m,endColumn:p,startRow:I}=t;for(let v=m;v<=p;v++){const T=`sheets-filter-button-${v}`,O=$.getCoordByCell(I,v,a,l),P=h.getComposedCellStyle(I,v),A=(P==null?void 0:P.vt)||c.VerticalAlign.BOTTOM,{startX:M,startY:L,endX:U,endY:B}=O,Y=U-M,q=B-L;if(q<=de||Y<=de)continue;const ae=!!n.getFilterColumn(v),H=U-x-de,b=Ct(L,B,q,A),ke={left:H,top:b,height:x,width:x,zIndex:gt,cellHeight:q,cellWidth:Y,filterParams:{unitId:o,subUnitId:i,col:v,hasCriteria:ae}},Fe=this._injector.createInstance($e,T,ke);this._filterButtonShapes.push(Fe)}a.addObjects(this._filterButtonShapes),a.makeDirty()}_interceptCellContent(e,t,n){const{startRow:o,startColumn:l,endColumn:i}=n;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(y.INTERCEPTOR_POINT.CELL_CONTENT,{effect:c.InterceptorEffectEnum.Style,handler:(s,a,h)=>{const{row:m,col:p,unitId:I,subUnitId:v}=a;return I!==e||v!==t||m!==o||p<l||p>i||((!s||s===a.rawData)&&(s={...a.rawData}),s.fontRenderExtension={...s==null?void 0:s.fontRenderExtension,rightOffset:x}),h(s)},priority:10})}_disposeRendering(){var e,t;(e=this._filterRangeShape)==null||e.dispose(),this._filterButtonShapes.forEach(n=>n.dispose()),(t=this._buttonRenderDisposable)==null||t.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}};Me=vt([z(1,c.Inject(c.Injector)),z(2,c.Inject($.SheetSkeletonManagerService)),z(3,c.Inject(u.SheetsFilterService)),z(4,c.Inject(c.ThemeService)),z(5,c.Inject(y.SheetInterceptorService)),z(6,c.ICommandService),z(7,$.ISheetSelectionRenderService)],Me);var St=Object.getOwnPropertyDescriptor,Tt=(r,e,t,n)=>{for(var o=n>1?void 0:n?St(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},Ge=(r,e)=>(t,n)=>e(t,n,r);let me=class extends c.RxDisposable{constructor(r,e){super(),this._renderManagerService=r,this._sheetsRenderService=e,[u.SetSheetsFilterRangeMutation,u.SetSheetsFilterCriteriaMutation,u.RemoveSheetsFilterMutation,u.ReCalcSheetsFilterMutation].forEach(t=>this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(t.id))),this.disposeWithMe(this._renderManagerService.registerRenderModule(c.UniverInstanceType.UNIVER_SHEET,[Me]))}};me=Tt([Ge(0,K.IRenderManagerService),Ge(1,c.Inject($.SheetsRenderService))],me);var Et=Object.defineProperty,It=Object.getOwnPropertyDescriptor,Ot=(r,e,t)=>e in r?Et(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ft=(r,e,t,n)=>{for(var o=n>1?void 0:n?It(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},Ye=(r,e)=>(t,n)=>e(t,n,r),Ee=(r,e,t)=>Ot(r,typeof e!="symbol"?e+"":e,t);g.UniverSheetsFilterMobileUIPlugin=class extends c.Plugin{constructor(e=Te,t,n){super(),this._config=e,this._injector=t,this._configService=n;const{menu:o,...l}=c.merge({},Te,this._config);o&&this._configService.setConfig("menu",o,{merge:!0}),this._configService.setConfig(je,l)}onStarting(){[[ne],[me]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(ne)}onRendered(){this._injector.get(me)}},Ee(g.UniverSheetsFilterMobileUIPlugin,"type",c.UniverInstanceType.UNIVER_SHEET),Ee(g.UniverSheetsFilterMobileUIPlugin,"pluginName","SHEET_FILTER_UI_PLUGIN"),Ee(g.UniverSheetsFilterMobileUIPlugin,"packageName",re.name),Ee(g.UniverSheetsFilterMobileUIPlugin,"version",re.version),g.UniverSheetsFilterMobileUIPlugin=Ft([c.DependentOn(u.UniverSheetsFilterPlugin),Ye(1,c.Inject(c.Injector)),Ye(2,c.IConfigService)],g.UniverSheetsFilterMobileUIPlugin);function oe({ref:r,...e}){const{icon:t,id:n,className:o,extend:l,...i}=e,s=`univerjs-icon univerjs-icon-${n} ${o||""}`.trim(),a=F.useRef(`_${yt()}`);return qe(t,`${n}`,{defIds:t.defIds,idSuffix:a.current},{ref:r,className:s,...i},l)}function qe(r,e,t,n,o){return F.createElement(r.tag,{key:e,...Nt(r,t,o),...n},(bt(r,t).children||[]).map((l,i)=>qe(l,`${e}-${r.tag}-${i}`,t,void 0,o)))}function Nt(r,e,t){const n={...r.attrs};t!=null&&t.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=t.colorChannel1),r.tag==="mask"&&n.id&&(n.id=n.id+e.idSuffix),Object.entries(n).forEach(([l,i])=>{l==="mask"&&typeof i=="string"&&(n[l]=i.replace(/url\(#(.*)\)/,`url(#$1${e.idSuffix})`))});const{defIds:o}=e;return!o||o.length===0||(r.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+e.idSuffix),Object.entries(n).forEach(([l,i])=>{typeof i=="string"&&(n[l]=i.replace(/url\(#(.*)\)/,`url(#$1${e.idSuffix})`))})),n}function bt(r,e){var n;const{defIds:t}=e;return!t||t.length===0?r:r.tag==="defs"&&((n=r.children)!=null&&n.length)?{...r,children:r.children.map(o=>typeof o.attrs.id=="string"&&t&&t.includes(o.attrs.id)?{...o,attrs:{...o.attrs,id:o.attrs.id+e.idSuffix}}:o)}:r}function yt(){return Math.random().toString(36).substring(2,8)}oe.displayName="UniverIcon";const Pt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M10 1.05957C10.356 1.05957 10.6816 1.26162 10.8408 1.58008L18.8408 17.5801L18.8799 17.668C19.0486 18.1134 18.8551 18.6232 18.4199 18.8408C17.9557 19.0727 17.3913 18.8841 17.1592 18.4199L10 4.10156L2.84082 18.4199C2.60871 18.8841 2.04434 19.0727 1.58008 18.8408C1.11587 18.6087 0.92731 18.0443 1.15918 17.5801L9.15918 1.58008C9.31841 1.26162 9.64395 1.05957 10 1.05957Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M15.3337 11.7261L15.4294 11.731C15.9035 11.779 16.2732 12.1798 16.2732 12.6665C16.2732 13.1532 15.9035 13.554 15.4294 13.602L15.3337 13.6069H4.66675C4.1476 13.6069 3.72632 13.1856 3.72632 12.6665C3.72632 12.1474 4.1476 11.7261 4.66675 11.7261H15.3337Z"}}]},Ze=F.forwardRef(function(e,t){return F.createElement(oe,Object.assign({},e,{id:"a-icon",ref:t,icon:Pt}))});Ze.displayName="AIcon";const At={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M17.0596 10C17.0596 6.10087 13.8992 2.94043 10 2.94043C6.10087 2.94043 2.94043 6.10087 2.94043 10C2.94043 13.8992 6.10087 17.0596 10 17.0596C13.8992 17.0596 17.0596 13.8992 17.0596 10ZM18.9404 10C18.9404 14.9374 14.9374 18.9404 10 18.9404C5.06257 18.9404 1.05957 14.9374 1.05957 10C1.05957 5.06257 5.06257 1.05957 10 1.05957C14.9374 1.05957 18.9404 5.06257 18.9404 10Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.29492 4.13476C4.63911 3.79057 5.1845 3.76906 5.55371 4.07031L5.625 4.13476L16.0244 14.5352L16.0889 14.6064C16.3902 14.9757 16.3686 15.52 16.0244 15.8643C15.6573 16.2313 15.0624 16.2313 14.6953 15.8643L4.29492 5.46484L4.23047 5.39355C3.92922 5.02434 3.95073 4.47895 4.29492 4.13476Z"}}]},Ke=F.forwardRef(function(e,t){return F.createElement(oe,Object.assign({},e,{id:"ban-icon",ref:t,icon:At}))});Ke.displayName="BanIcon";const wt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.32182 2.60967C2.98161 2.60967 2.79671 3.0074 3.01601 3.2675L6.85819 7.8246C6.94943 7.93282 6.99947 8.06981 6.99947 8.21136V12.7338C6.99947 12.898 7.0998 13.0455 7.2525 13.1058L8.73833 13.6928C9.00085 13.7965 9.28531 13.6031 9.28531 13.3208V8.21136C9.28531 8.06981 9.33535 7.93282 9.42659 7.8246L13.2688 3.2675C13.4881 3.0074 13.3032 2.60967 12.963 2.60967H3.32182ZM2.09858 4.04101C1.22139 3.0006 1.96097 1.40967 3.32182 1.40967H12.963C14.3238 1.40967 15.0634 3.0006 14.1862 4.04101L10.4853 8.43054V13.3208C10.4853 14.4498 9.34747 15.2237 8.29742 14.8089L6.81158 14.2219C6.20078 13.9806 5.79947 13.3905 5.79947 12.7338V8.43054L2.09858 4.04101Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ze=F.forwardRef(function(e,t){return F.createElement(oe,Object.assign({},e,{id:"filter-icon",ref:t,icon:wt}))});ze.displayName="FilterIcon";const Rt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.00016 1.33203C6.68162 1.33203 5.39269 1.72302 4.29636 2.45557C3.20004 3.18811 2.34555 4.2293 1.84097 5.44747C1.33638 6.66565 1.20436 8.00609 1.4616 9.2993C1.71883 10.5925 2.35377 11.7804 3.28612 12.7127C4.21847 13.6451 5.40636 14.28 6.69956 14.5373C7.99277 14.7945 9.33321 14.6625 10.5514 14.1579C11.7696 13.6533 12.8108 12.7988 13.5433 11.7025C14.2758 10.6062 14.6668 9.31724 14.6668 7.9987C14.6649 6.23118 13.9619 4.53662 12.7121 3.2868C11.4622 2.03697 9.76768 1.33397 8.00016 1.33203ZM7.66683 3.9987C7.86461 3.9987 8.05795 4.05735 8.2224 4.16723C8.38685 4.27711 8.51502 4.43329 8.59071 4.61601C8.6664 4.79874 8.6862 4.99981 8.64762 5.19379C8.60903 5.38777 8.51379 5.56595 8.37394 5.7058C8.23409 5.84566 8.0559 5.9409 7.86192 5.97948C7.66794 6.01807 7.46687 5.99826 7.28415 5.92258C7.10142 5.84689 6.94524 5.71872 6.83536 5.55427C6.72548 5.38982 6.66683 5.19648 6.66683 4.9987C6.66683 4.73348 6.77219 4.47913 6.95972 4.29159C7.14726 4.10405 7.40162 3.9987 7.66683 3.9987ZM9.3335 11.332H6.66683C6.49002 11.332 6.32045 11.2618 6.19543 11.1368C6.0704 11.0117 6.00016 10.8422 6.00016 10.6654C6.00016 10.4886 6.0704 10.319 6.19543 10.194C6.32045 10.0689 6.49002 9.9987 6.66683 9.9987H7.3335V7.9987H6.66683C6.49002 7.9987 6.32045 7.92846 6.19543 7.80343C6.0704 7.67841 6.00016 7.50884 6.00016 7.33203C6.00016 7.15522 6.0704 6.98565 6.19543 6.86063C6.32045 6.7356 6.49002 6.66536 6.66683 6.66536H8.00016C8.17698 6.66536 8.34655 6.7356 8.47157 6.86063C8.59659 6.98565 8.66683 7.15522 8.66683 7.33203V9.9987H9.3335C9.51031 9.9987 9.67988 10.0689 9.8049 10.194C9.92993 10.319 10.0002 10.4886 10.0002 10.6654C10.0002 10.8422 9.92993 11.0117 9.8049 11.1368C9.67988 11.2618 9.51031 11.332 9.3335 11.332Z"}}]},Xe=F.forwardRef(function(e,t){return F.createElement(oe,Object.assign({},e,{id:"info-icon",ref:t,icon:Rt}))});Xe.displayName="InfoIcon";const Lt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8 15C11.866 15 15 11.866 15 8C15 4.13401 11.866 1 8 1C4.13401 1 1 4.13401 1 8C1 11.866 4.13401 15 8 15ZM11.7245 6.42417C11.9588 6.18985 11.9588 5.80995 11.7245 5.57564C11.4901 5.34132 11.1102 5.34132 10.8759 5.57564L7.3002 9.15137L5.72446 7.57564C5.49014 7.34132 5.11025 7.34132 4.87593 7.57564C4.64162 7.80995 4.64162 8.18985 4.87593 8.42417L6.87593 10.4242C7.11025 10.6585 7.49014 10.6585 7.72446 10.4242L11.7245 6.42417Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Je=F.forwardRef(function(e,t){return F.createElement(oe,Object.assign({},e,{id:"success-icon",ref:t,icon:Lt}))});Je.displayName="SuccessIcon";function $t(r){const e=r.get(u.SheetsFilterService);return{id:u.SmartToggleSheetsFilterCommand.id,type:C.MenuItemType.BUTTON_SELECTOR,icon:"FilterIcon",tooltip:"sheets-filter.toolbar.smart-toggle-filter-tooltip",hidden$:C.getMenuHiddenObservable(r,c.UniverInstanceType.UNIVER_SHEET),activated$:e.activeFilterModel$.pipe(S.map(t=>!!t)),disabled$:$.getObservableWithExclusiveRange$(r,$.getCurrentRangeDisable$(r,{worksheetTypes:[y.WorksheetFilterPermission,y.WorksheetViewPermission],rangeTypes:[y.RangeProtectionPermissionViewPoint]}))}}function Mt(r){const e=r.get(u.SheetsFilterService);return{id:u.ClearSheetsFilterCriteriaCommand.id,type:C.MenuItemType.BUTTON,title:"sheets-filter.toolbar.clear-filter-criteria",hidden$:C.getMenuHiddenObservable(r,c.UniverInstanceType.UNIVER_SHEET),disabled$:e.activeFilterModel$.pipe(S.switchMap(t=>{var n;return(n=t==null?void 0:t.hasCriteria$.pipe(S.map(o=>!o)))!=null?n:S.of(!0)}))}}function Ut(r){const e=r.get(u.SheetsFilterService);return{id:u.ReCalcSheetsFilterCommand.id,type:C.MenuItemType.BUTTON,title:"sheets-filter.toolbar.re-calc-filter-conditions",hidden$:C.getMenuHiddenObservable(r,c.UniverInstanceType.UNIVER_SHEET),disabled$:e.activeFilterModel$.pipe(S.switchMap(t=>{var n;return(n=t==null?void 0:t.hasCriteria$.pipe(S.map(o=>!o)))!=null?n:S.of(!0)}))}}const kt={[C.RibbonDataGroup.ORGANIZATION]:{[u.SmartToggleSheetsFilterCommand.id]:{order:2,menuItemFactory:$t,[u.ClearSheetsFilterCriteriaCommand.id]:{order:0,menuItemFactory:Mt},[u.ReCalcSheetsFilterCommand.id]:{order:1,menuItemFactory:Ut}}}};function Bt(r){const{model:e}=r,t=C.useDependency(c.LocaleService),n=C.useObservable(e.cellFillColors$,[],!0),o=C.useObservable(e.cellTextColors$,[],!0),l=F.useCallback(s=>{e.onFilterCheckToggled(s)},[e]),i=F.useCallback(s=>{e.onFilterCheckToggled(s,!1)},[e]);return d.jsx("div",{"data-u-comp":"sheets-filter-panel-colors-container",className:"univer-flex univer-h-full univer-min-h-[300px] univer-flex-col",children:d.jsxs("div",{"data-u-comp":"sheets-filter-panel",className:N.clsx("univer-mt-2 univer-box-border univer-flex univer-h-[300px] univer-flex-grow univer-flex-col univer-gap-4 univer-overflow-auto univer-rounded-md univer-px-2 univer-py-2.5",N.borderClassName),children:[n.length>1&&d.jsxs("div",{children:[d.jsx("div",{className:"univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",children:t.t("sheets-filter.panel.filter-by-cell-fill-color")}),d.jsx("div",{className:"univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",children:n.map((s,a)=>d.jsxs("div",{className:"univer-relative univer-size-6",onClick:()=>l(s),children:[s.color?d.jsx("button",{type:"button",className:N.clsx("univer-box-border univer-size-6 univer-cursor-pointer univer-rounded-full univer-border univer-border-solid univer-border-transparent univer-bg-gray-300 univer-transition-shadow hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white"),style:{backgroundColor:s.color}}):d.jsx(Ke,{className:"univer-size-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white"}),s.checked&&d.jsx(et,{})]},`sheets-filter-cell-fill-color-${a}`))})]}),o.length>1&&d.jsxs("div",{children:[d.jsx("div",{className:"univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",children:t.t("sheets-filter.panel.filter-by-cell-text-color")}),d.jsx("div",{className:"univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",children:o.map((s,a)=>d.jsxs("div",{className:"univer-relative univer-size-6",onClick:()=>i(s),children:[d.jsx("div",{className:"univer-box-border univer-flex univer-size-full univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-border univer-border-solid univer-border-[rgba(13,13,13,0.06)] univer-p-0.5 hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white dark:!univer-border-[rgba(255,255,255,0.06)]",children:d.jsx(Ze,{style:{color:s.color}})}),s.checked&&d.jsx(et,{})]},`sheets-filter-cell-text-color-${a}`))})]}),n.length<=1&&o.length<=1&&d.jsx("div",{className:"univer-flex univer-size-full univer-items-center univer-justify-center univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200",children:t.t("sheets-filter.panel.filter-by-color-none")})]})})}function et(){return d.jsx("div",{className:"univer-absolute -univer-bottom-0.5 -univer-right-0.5 univer-flex univer-size-3 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white",children:d.jsx(Je,{className:"univer-size-full univer-font-bold univer-text-[#418F1F]"})})}function Dt(r){var v,T;const{model:e}=r,t=C.useDependency(c.LocaleService),n=C.useObservable(e.conditionItem$,void 0),o=C.useObservable(e.filterConditionFormParams$,void 0),l=o!=null&&o.and?"AND":"OR",i=F.useCallback(O=>{e.onConditionFormChange({and:O==="AND"})},[e]),s=Ht(t),a=F.useCallback(O=>{e.onPrimaryConditionChange(O)},[e]),h=xt(t),m=F.useCallback(O=>{e.onConditionFormChange(O)},[e]),p=t.t("sheets-filter.panel.input-values-placeholder");function I(O,P,A){const M=f.getItemByOperator(O).numOfParameters===1;return d.jsxs(d.Fragment,{children:[A==="operator2"&&d.jsxs(N.RadioGroup,{value:l,onChange:i,children:[d.jsx(N.Radio,{value:"AND",children:t.t("sheets-filter.panel.and")}),d.jsx(N.Radio,{value:"OR",children:t.t("sheets-filter.panel.or")})]}),d.jsx(N.Select,{value:O,options:h,onChange:L=>m({[A]:L})}),M&&d.jsx("div",{children:d.jsx(N.Input,{className:"univer-mt-2",value:P,placeholder:p,onChange:L=>m({[A==="operator1"?"val1":"val2"]:L})})})]})}return d.jsx("div",{"data-u-comp":"sheets-filter-panel-conditions-container",className:"univer-flex univer-h-full univer-min-h-[300px] univer-flex-col",children:n&&o&&d.jsxs(d.Fragment,{children:[d.jsx(N.Select,{value:n.operator,options:s,onChange:a}),f.getItemByOperator(n.operator).numOfParameters!==0?d.jsxs("div",{"data-u-comp":"sheets-filter-panel-conditions-container-inner",className:N.clsx("univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2",N.borderClassName),children:[n.numOfParameters>=1&&I(o.operator1,(v=o.val1)!=null?v:"","operator1"),n.numOfParameters>=2&&I(o.operator2,(T=o.val2)!=null?T:"","operator2"),d.jsxs("div",{"data-u-comp":"sheets-filter-panel-conditions-desc",className:"univer-mt-2 univer-text-xs univer-text-gray-500",children:[t.t("sheets-filter.panel.?"),d.jsx("br",{}),t.t("sheets-filter.panel.*")]})]}):null]})})}function Ht(r){const e=r.getCurrentLocale();return F.useMemo(()=>[{options:[{label:r.t(f.NONE.label),value:f.NONE.operator}]},{options:[{label:r.t(f.EMPTY.label),value:f.EMPTY.operator},{label:r.t(f.NOT_EMPTY.label),value:f.NOT_EMPTY.operator}]},{options:[{label:r.t(f.TEXT_CONTAINS.label),value:f.TEXT_CONTAINS.operator},{label:r.t(f.DOES_NOT_CONTAIN.label),value:f.DOES_NOT_CONTAIN.operator},{label:r.t(f.STARTS_WITH.label),value:f.STARTS_WITH.operator},{label:r.t(f.ENDS_WITH.label),value:f.ENDS_WITH.operator},{label:r.t(f.EQUALS.label),value:f.EQUALS.operator}]},{options:[{label:r.t(f.GREATER_THAN.label),value:f.GREATER_THAN.operator},{label:r.t(f.GREATER_THAN_OR_EQUAL.label),value:f.GREATER_THAN_OR_EQUAL.operator},{label:r.t(f.LESS_THAN.label),value:f.LESS_THAN.operator},{label:r.t(f.LESS_THAN_OR_EQUAL.label),value:f.LESS_THAN_OR_EQUAL.operator},{label:r.t(f.EQUAL.label),value:f.EQUAL.operator},{label:r.t(f.NOT_EQUAL.label),value:f.NOT_EQUAL.operator},{label:r.t(f.BETWEEN.label),value:f.BETWEEN.operator},{label:r.t(f.NOT_BETWEEN.label),value:f.NOT_BETWEEN.operator}]},{options:[{label:r.t(f.CUSTOM.label),value:f.CUSTOM.operator}]}],[e,r])}function xt(r){const e=r.getCurrentLocale();return F.useMemo(()=>f.ALL_CONDITIONS.filter(t=>t.numOfParameters!==2).map(t=>({label:r.t(t.label),value:t.operator})),[e,r])}function Wt(r){const{model:e}=r,t=C.useDependency(c.LocaleService),n=C.useObservable(e.searchString$,"",!0),o=C.useObservable(e.filterItems$,void 0,!0),l=t.t("sheets-filter.panel.filter-only"),i=be(o),s=i.checked>0&&i.unchecked===0,a=i.checked>0&&i.unchecked>0,h=e.treeMapCache,m=F.useCallback(()=>{e.onCheckAllToggled(!s)},[e,s]),p=F.useCallback(v=>{e.setSearchString(v)},[e]);function I(v){let T=[];return v.forEach(O=>{O.checked&&T.push(O.key),O.children&&(T=T.concat(I(O.children)))}),T}return d.jsxs("div",{"data-u-comp":"sheets-filter-panel-values-container",className:"univer-flex univer-h-full univer-min-h-[300px] univer-flex-col",children:[d.jsx(N.Input,{autoFocus:!0,value:n,placeholder:t.t("sheets-filter.panel.search-placeholder"),onChange:p}),d.jsxs("div",{"data-u-comp":"sheets-filter-panel",className:N.clsx("univer-mt-2 univer-box-border univer-flex univer-flex-grow univer-flex-col univer-overflow-hidden univer-rounded-md univer-px-2 univer-py-2.5",N.borderClassName),children:[d.jsx("div",{"data-u-comp":"sheets-filter-panel-values-item",className:"univer-box-border univer-h-8 univer-w-full univer-py-0.5",children:d.jsxs("div",{"data-u-comp":"sheets-filter-panel-values-item-inner",className:"univer-box-border univer-flex univer-h-7 univer-items-center univer-rounded-md univer-py-0 univer-pl-5 univer-pr-0.5 univer-text-sm",children:[d.jsx(N.Checkbox,{indeterminate:a,disabled:o.length===0,checked:s,onChange:m}),d.jsx("span",{"data-u-comp":"sheets-filter-panel-values-item-text",className:"univer-mx-1 univer-inline-block univer-flex-shrink univer-truncate univer-text-gray-900 dark:!univer-text-white",children:`${t.t("sheets-filter.panel.select-all")}`}),d.jsx("span",{"data-u-comp":"sheets-filter-panel-values-item-count",className:"univer-text-gray-400 dark:!univer-text-gray-500",children:`(${i.checked}/${i.checked+i.unchecked})`})]})}),d.jsx("div",{"data-u-comp":"sheets-filter-panel-values-virtual",className:"univer-flex-grow",children:d.jsx(N.Tree,{data:o,defaultExpandAll:!1,valueGroup:I(o),onChange:v=>{e.onFilterCheckToggled(v)},defaultCache:h,itemHeight:28,treeNodeClassName:`
2
2
  univer-pr-2 univer-border-box univer-rounded-md
3
3
  [&:hover_a]:univer-inline-block
4
4
  hover:univer-bg-gray-50 univer-h-full
5
5
  univer-text-gray-900 dark:hover:!univer-bg-gray-900
6
6
  dark:!univer-text-white
7
- `,attachRender:v=>d.jsxs("div",{className:"univer-ml-1 univer-flex univer-h-5 univer-flex-1 univer-cursor-pointer univer-items-center univer-justify-between univer-text-sm univer-text-primary-500",children:[d.jsx("span",{"data-u-comp":"sheets-filter-panel-values-item-count",className:"univer-text-gray-400 dark:!univer-text-gray-500",children:`(${v.count})`}),d.jsx("a",{className:"univer-box-border univer-hidden univer-h-4 univer-whitespace-nowrap univer-px-1.5",onClick:()=>{const T=[];v.children?v.children.forEach(I=>{I.children?I.children.forEach(P=>{T.push(P.key)}):T.push(I.key)}):T.push(v.key),e.onFilterOnly(T)},children:l})]})})})]})]})}function Dt(){const r=g.useDependency(u.SheetsFilterSyncController);if(!g.useObservable(r.visible$,void 0,!0))return null;const t=g.useDependency(c.LocaleService),n=g.useDependency(g.IMessageService),o=g.useObservable(r.enabled$,void 0,!0);return d.jsxs("div",{className:"univer-mt-2 univer-flex univer-items-center univer-justify-between univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200",children:[d.jsxs("div",{className:"univer-flex univer-items-center univer-gap-1",children:[d.jsx("span",{children:t.t("sheets-filter.sync.title")}),d.jsx(N.Tooltip,{title:o?t.t("sheets-filter.sync.statusTips.off"):t.t("sheets-filter.sync.statusTips.on"),asChild:!0,children:d.jsx(Ke,{className:"univer-block"})})]}),d.jsx(N.Switch,{defaultChecked:o,onChange:l=>{const i=l?t.t("sheets-filter.sync.switchTips.on"):t.t("sheets-filter.sync.switchTips.off");r.setEnabled(l),n.show({content:i,type:N.MessageType.Success,duration:2e3})}})]})}function Ht(){var P;const r=g.useDependency(Q),e=g.useDependency(c.LocaleService),t=g.useDependency(c.ICommandService),n=g.useObservable(r.filterBy$,void 0,!0),o=g.useObservable(r.filterByModel$,void 0,!1),l=g.useObservable(()=>(o==null?void 0:o.canApply$)||S.of(!1),void 0,!1,[o]),i=xt(e),s=!g.useObservable(r.hasCriteria$),a=F.useCallback(A=>{t.executeCommand(Pe.id,{filterBy:A})},[t]),h=F.useCallback(async()=>{await(o==null?void 0:o.clear()),t.executeCommand(te.id)},[o,t]),m=F.useCallback(()=>{t.executeCommand(te.id)},[t]),p=F.useCallback(async()=>{await(o==null?void 0:o.apply()),t.executeCommand(te.id)},[o,t]),v=(P=g.useDependency(u.SheetsFilterService).activeFilterModel)==null?void 0:P.getRange(),T=r.col,I=g.useComponentsOfPart($.SheetsUIPart.FILTER_PANEL_EMBED_POINT);return d.jsxs("div",{"data-u-comp":"sheets-filter-panel",className:"univer-box-border univer-flex univer-max-h-[500px] univer-w-[400px] univer-flex-col univer-rounded-lg univer-bg-white univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-700",children:[d.jsx(g.ComponentContainer,{components:I,sharedProps:{range:v,colIndex:T,onClose:m}}),d.jsx("div",{className:"univer-mb-1 univer-flex-shrink-0 univer-flex-grow-0",children:d.jsx(N.Segmented,{value:n,items:i,onChange:A=>a(A)})}),o?d.jsx("div",{"data-u-comp":"sheets-filter-panel-content",className:"univer-flex-shrink univer-flex-grow univer-pt-2",children:n===u.FilterBy.VALUES?d.jsx(Bt,{model:o}):n===u.FilterBy.COLORS?d.jsx($t,{model:o}):d.jsx(Mt,{model:o})}):d.jsx("div",{className:"univer-flex-1"}),d.jsx(Dt,{}),d.jsxs("div",{"data-u-comp":"sheets-filter-panel-footer",className:"univer-mt-4 univer-inline-flex univer-flex-shrink-0 univer-flex-grow-0 univer-flex-nowrap univer-justify-between univer-overflow-hidden",children:[d.jsx(N.Button,{variant:"link",onClick:h,disabled:s,children:e.t("sheets-filter.panel.clear-filter")}),d.jsxs("span",{className:"univer-flex univer-gap-2",children:[d.jsx(N.Button,{variant:"default",onClick:m,children:e.t("sheets-filter.panel.cancel")}),d.jsx(N.Button,{disabled:!l,variant:"primary",onClick:p,children:e.t("sheets-filter.panel.confirm")})]})]})]})}function xt(r){const e=r.getCurrentLocale();return F.useMemo(()=>[{label:r.t("sheets-filter.panel.by-values"),value:u.FilterBy.VALUES},{label:r.t("sheets-filter.panel.by-colors"),value:u.FilterBy.COLORS},{label:r.t("sheets-filter.panel.by-conditions"),value:u.FilterBy.CONDITIONS}],[e,r])}function Wt(r){const e=r.get(u.SheetsFilterService);return{id:u.SmartToggleSheetsFilterCommand.id,type:g.MenuItemType.BUTTON_SELECTOR,icon:"FilterIcon",tooltip:"sheets-filter.toolbar.smart-toggle-filter-tooltip",hidden$:g.getMenuHiddenObservable(r,c.UniverInstanceType.UNIVER_SHEET),activated$:e.activeFilterModel$.pipe(S.map(t=>!!t)),disabled$:$.getObservableWithExclusiveRange$(r,$.getCurrentRangeDisable$(r,{worksheetTypes:[y.WorksheetFilterPermission,y.WorksheetViewPermission],rangeTypes:[y.RangeProtectionPermissionViewPoint]}))}}function Vt(r){const e=r.get(u.SheetsFilterService);return{id:u.ClearSheetsFilterCriteriaCommand.id,type:g.MenuItemType.BUTTON,title:"sheets-filter.toolbar.clear-filter-criteria",hidden$:g.getMenuHiddenObservable(r,c.UniverInstanceType.UNIVER_SHEET),disabled$:e.activeFilterModel$.pipe(S.switchMap(t=>{var n;return(n=t==null?void 0:t.hasCriteria$.pipe(S.map(o=>!o)))!=null?n:S.of(!0)}))}}function jt(r){const e=r.get(u.SheetsFilterService);return{id:u.ReCalcSheetsFilterCommand.id,type:g.MenuItemType.BUTTON,title:"sheets-filter.toolbar.re-calc-filter-conditions",hidden$:g.getMenuHiddenObservable(r,c.UniverInstanceType.UNIVER_SHEET),disabled$:e.activeFilterModel$.pipe(S.switchMap(t=>{var n;return(n=t==null?void 0:t.hasCriteria$.pipe(S.map(o=>!o)))!=null?n:S.of(!0)}))}}const Qt={[g.RibbonDataGroup.ORGANIZATION]:{[u.SmartToggleSheetsFilterCommand.id]:{order:2,menuItemFactory:Wt,[u.ClearSheetsFilterCriteriaCommand.id]:{order:0,menuItemFactory:Vt},[u.ReCalcSheetsFilterCommand.id]:{order:1,menuItemFactory:jt}}}},Gt={id:u.SmartToggleSheetsFilterCommand.id,binding:g.KeyCode.L|g.MetaKeys.CTRL_COMMAND|g.MetaKeys.SHIFT,description:"sheets-filter.shortcut.smart-toggle-filter",preconditions:$.whenSheetEditorFocused,group:"4_sheet-edit"};var Yt=Object.getOwnPropertyDescriptor,qt=(r,e,t,n)=>{for(var o=n>1?void 0:n?Yt(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},k=(r,e)=>(t,n)=>e(t,n,r);const Je="FILTER_PANEL_POPUP";let Se=class extends he{constructor(e,t,n,o,l,i,s,a,h,m,p,O,v){super(v,O);_(this,"_popupDisposable");this._injector=e,this._componentManager=t,this._sheetsFilterPanelService=n,this._sheetCanvasPopupService=o,this._sheetsFilterService=l,this._localeService=i,this._shortcutService=s,this._commandService=a,this._menuManagerService=h,this._contextService=m,this._messageService=p,this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[Gt].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initCommands(){[u.SmartToggleSheetsFilterCommand,u.RemoveSheetFilterCommand,u.SetSheetFilterRangeCommand,u.SetSheetsFilterCriteriaCommand,u.ClearSheetsFilterCriteriaCommand,u.ReCalcSheetsFilterCommand,Pe,ce,te].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenuItems(){this._menuManagerService.mergeMenu(Qt)}_initUI(){[[Je,Ht],["FilterIcon",Ze]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))}),this.disposeWithMe(this._contextService.subscribeContextValue$(ee).pipe(S.distinctUntilChanged()).subscribe(e=>{e?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(e=>{e&&this._messageService.show({type:N.MessageType.Error,content:this._localeService.t(e)})}))}_openFilterPopup(){const e=this._sheetsFilterPanelService.filterModel;if(!e)throw new Error("[SheetsFilterUIController]: no filter model when opening filter popup!");const t=e.getRange(),n=this._sheetsFilterPanelService.col,{startRow:o}=t;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(o,n,{componentKey:Je,direction:"horizontal",onClickOutside:()=>this._commandService.syncExecuteCommand(te.id),offset:[5,0]})}_closeFilterPopup(){var e;(e=this._popupDisposable)==null||e.dispose(),this._popupDisposable=null}};Se=qt([k(0,c.Inject(c.Injector)),k(1,c.Inject(g.ComponentManager)),k(2,c.Inject(Q)),k(3,c.Inject($.SheetCanvasPopManagerService)),k(4,c.Inject(u.SheetsFilterService)),k(5,c.Inject(c.LocaleService)),k(6,g.IShortcutService),k(7,c.ICommandService),k(8,g.IMenuManagerService),k(9,c.IContextService),k(10,g.IMessageService),k(11,c.Inject($.SheetsRenderService)),k(12,K.IRenderManagerService)],Se);var Zt=Object.defineProperty,Kt=Object.getOwnPropertyDescriptor,zt=(r,e,t)=>e in r?Zt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Xt=(r,e,t,n)=>{for(var o=n>1?void 0:n?Kt(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},Le=(r,e)=>(t,n)=>e(t,n,r),et=(r,e,t)=>zt(r,typeof e!="symbol"?e+"":e,t);const Jt="SHEET_FILTER_UI_PLUGIN";C.UniverSheetsFilterUIPlugin=class extends c.Plugin{constructor(e=Ce,t,n,o){super(),this._config=e,this._injector=t,this._configService=n,this._rpcChannelService=o;const{menu:l,...i}=c.merge({},Ce,this._config);l&&this._configService.setConfig("menu",l,{merge:!0}),this._configService.setConfig(xe,i)}onStarting(){c.registerDependencies(this._injector,[[Q],[ie],[Se]]),this._config.useRemoteFilterValuesGenerator&&this._rpcChannelService&&this._injector.add([pe,{useFactory:()=>me.toModule(this._rpcChannelService.requestChannel(Ne))}])}onReady(){c.touchDependencies(this._injector,[[ie]])}onRendered(){c.touchDependencies(this._injector,[[Se]])}},et(C.UniverSheetsFilterUIPlugin,"type",c.UniverInstanceType.UNIVER_SHEET),et(C.UniverSheetsFilterUIPlugin,"pluginName",Jt),C.UniverSheetsFilterUIPlugin=Xt([c.DependentOn(u.UniverSheetsFilterPlugin),Le(1,c.Inject(c.Injector)),Le(2,c.IConfigService),Le(3,c.Optional(me.IRPCChannelService))],C.UniverSheetsFilterUIPlugin);var er=Object.getOwnPropertyDescriptor,tr=(r,e,t,n)=>{for(var o=n>1?void 0:n?er(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},tt=(r,e)=>(t,n)=>e(t,n,r);C.UniverSheetsFilterUIWorkerPlugin=(Te=class extends c.Plugin{constructor(e,t,n){super(),this._config=e,this._injector=t,this._rpcChannelService=n}onStarting(){[[pe,{useClass:be}]].forEach(e=>this._injector.add(e))}onReady(){this._rpcChannelService.registerChannel(Ne,me.fromModule(this._injector.get(pe)))}},_(Te,"type",c.UniverInstanceType.UNIVER_SHEET),_(Te,"pluginName","SHEET_FILTER_UI_WORKER_PLUGIN"),Te),C.UniverSheetsFilterUIWorkerPlugin=tr([tt(1,c.Inject(c.Injector)),tt(2,me.IRPCChannelService)],C.UniverSheetsFilterUIWorkerPlugin),C.ChangeFilterByOperation=Pe,C.CloseFilterPanelOperation=te,C.OpenFilterPanelOperation=ce,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})}));
7
+ `,attachRender:v=>d.jsxs("div",{className:"univer-ml-1 univer-flex univer-h-5 univer-flex-1 univer-cursor-pointer univer-items-center univer-justify-between univer-text-sm univer-text-primary-500",children:[d.jsx("span",{"data-u-comp":"sheets-filter-panel-values-item-count",className:"univer-text-gray-400 dark:!univer-text-gray-500",children:`(${v.count})`}),d.jsx("a",{className:"univer-box-border univer-hidden univer-h-4 univer-whitespace-nowrap univer-px-1.5",onClick:()=>{const T=[];v.children?v.children.forEach(O=>{O.children?O.children.forEach(P=>{T.push(P.key)}):T.push(O.key)}):T.push(v.key),e.onFilterOnly(T)},children:l})]})})})]})]})}function Vt(){const r=C.useDependency(u.SheetsFilterSyncController);if(!C.useObservable(r.visible$,void 0,!0))return null;const t=C.useDependency(c.LocaleService),n=C.useDependency(C.IMessageService),o=C.useObservable(r.enabled$,void 0,!0);return d.jsxs("div",{className:"univer-mt-2 univer-flex univer-items-center univer-justify-between univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200",children:[d.jsxs("div",{className:"univer-flex univer-items-center univer-gap-1",children:[d.jsx("span",{children:t.t("sheets-filter.sync.title")}),d.jsx(N.Tooltip,{title:o?t.t("sheets-filter.sync.statusTips.off"):t.t("sheets-filter.sync.statusTips.on"),asChild:!0,children:d.jsx(Xe,{className:"univer-block"})})]}),d.jsx(N.Switch,{defaultChecked:o,onChange:l=>{const i=l?t.t("sheets-filter.sync.switchTips.on"):t.t("sheets-filter.sync.switchTips.off");r.setEnabled(l),n.show({content:i,type:N.MessageType.Success,duration:2e3})}})]})}function jt(){var P;const r=C.useDependency(Q),e=C.useDependency(c.LocaleService),t=C.useDependency(c.ICommandService),n=C.useObservable(r.filterBy$,void 0,!0),o=C.useObservable(r.filterByModel$,void 0,!1),l=C.useObservable(()=>(o==null?void 0:o.canApply$)||S.of(!1),void 0,!1,[o]),i=Qt(e),s=!C.useObservable(r.hasCriteria$),a=F.useCallback(A=>{t.executeCommand(Re.id,{filterBy:A})},[t]),h=F.useCallback(async()=>{await(o==null?void 0:o.clear()),t.executeCommand(te.id)},[o,t]),m=F.useCallback(()=>{t.executeCommand(te.id)},[t]),p=F.useCallback(async()=>{await(o==null?void 0:o.apply()),t.executeCommand(te.id)},[o,t]),v=(P=C.useDependency(u.SheetsFilterService).activeFilterModel)==null?void 0:P.getRange(),T=r.col,O=C.useComponentsOfPart($.SheetsUIPart.FILTER_PANEL_EMBED_POINT);return d.jsxs("div",{"data-u-comp":"sheets-filter-panel",className:"univer-box-border univer-flex univer-max-h-[500px] univer-w-[400px] univer-flex-col univer-rounded-lg univer-bg-white univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-700",children:[d.jsx(C.ComponentContainer,{components:O,sharedProps:{range:v,colIndex:T,onClose:m}}),d.jsx("div",{className:"univer-mb-1 univer-flex-shrink-0 univer-flex-grow-0",children:d.jsx(N.Segmented,{value:n,items:i,onChange:A=>a(A)})}),o?d.jsx("div",{"data-u-comp":"sheets-filter-panel-content",className:"univer-flex-shrink univer-flex-grow univer-pt-2",children:n===u.FilterBy.VALUES?d.jsx(Wt,{model:o}):n===u.FilterBy.COLORS?d.jsx(Bt,{model:o}):d.jsx(Dt,{model:o})}):d.jsx("div",{className:"univer-flex-1"}),d.jsx(Vt,{}),d.jsxs("div",{"data-u-comp":"sheets-filter-panel-footer",className:"univer-mt-4 univer-inline-flex univer-flex-shrink-0 univer-flex-grow-0 univer-flex-nowrap univer-justify-between univer-overflow-hidden",children:[d.jsx(N.Button,{variant:"link",onClick:h,disabled:s,children:e.t("sheets-filter.panel.clear-filter")}),d.jsxs("span",{className:"univer-flex univer-gap-2",children:[d.jsx(N.Button,{variant:"default",onClick:m,children:e.t("sheets-filter.panel.cancel")}),d.jsx(N.Button,{disabled:!l,variant:"primary",onClick:p,children:e.t("sheets-filter.panel.confirm")})]})]})]})}function Qt(r){const e=r.getCurrentLocale();return F.useMemo(()=>[{label:r.t("sheets-filter.panel.by-values"),value:u.FilterBy.VALUES},{label:r.t("sheets-filter.panel.by-colors"),value:u.FilterBy.COLORS},{label:r.t("sheets-filter.panel.by-conditions"),value:u.FilterBy.CONDITIONS}],[e,r])}const Gt={id:u.SmartToggleSheetsFilterCommand.id,binding:C.KeyCode.L|C.MetaKeys.CTRL_COMMAND|C.MetaKeys.SHIFT,description:"sheets-filter.shortcut.smart-toggle-filter",preconditions:$.whenSheetEditorFocused,group:"4_sheet-edit"};var Yt=Object.getOwnPropertyDescriptor,qt=(r,e,t,n)=>{for(var o=n>1?void 0:n?Yt(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},k=(r,e)=>(t,n)=>e(t,n,r);const tt="FILTER_PANEL_POPUP";let Ie=class extends me{constructor(e,t,n,o,l,i,s,a,h,m,p,I,v){super(v,I);_(this,"_popupDisposable");this._injector=e,this._componentManager=t,this._sheetsFilterPanelService=n,this._sheetCanvasPopupService=o,this._sheetsFilterService=l,this._localeService=i,this._shortcutService=s,this._commandService=a,this._menuManagerService=h,this._contextService=m,this._messageService=p,this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[Gt].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initCommands(){[u.SmartToggleSheetsFilterCommand,u.RemoveSheetFilterCommand,u.SetSheetFilterRangeCommand,u.SetSheetsFilterCriteriaCommand,u.ClearSheetsFilterCriteriaCommand,u.ReCalcSheetsFilterCommand,Re,he,te].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenuItems(){this._menuManagerService.mergeMenu(kt)}_initUI(){[[tt,jt],["FilterIcon",ze]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))}),this.disposeWithMe(this._contextService.subscribeContextValue$(ee).pipe(S.distinctUntilChanged()).subscribe(e=>{e?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(e=>{e&&this._messageService.show({type:N.MessageType.Error,content:this._localeService.t(e)})}))}_openFilterPopup(){const e=this._sheetsFilterPanelService.filterModel;if(!e)throw new Error("[SheetsFilterUIController]: no filter model when opening filter popup!");const t=e.getRange(),n=this._sheetsFilterPanelService.col,{startRow:o}=t;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(o,n,{componentKey:tt,direction:"horizontal",onClickOutside:()=>this._commandService.syncExecuteCommand(te.id),offset:[5,0]})}_closeFilterPopup(){var e;(e=this._popupDisposable)==null||e.dispose(),this._popupDisposable=null}};Ie=qt([k(0,c.Inject(c.Injector)),k(1,c.Inject(C.ComponentManager)),k(2,c.Inject(Q)),k(3,c.Inject($.SheetCanvasPopManagerService)),k(4,c.Inject(u.SheetsFilterService)),k(5,c.Inject(c.LocaleService)),k(6,C.IShortcutService),k(7,c.ICommandService),k(8,C.IMenuManagerService),k(9,c.IContextService),k(10,C.IMessageService),k(11,c.Inject($.SheetsRenderService)),k(12,K.IRenderManagerService)],Ie);var Zt=Object.defineProperty,Kt=Object.getOwnPropertyDescriptor,zt=(r,e,t)=>e in r?Zt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Xt=(r,e,t,n)=>{for(var o=n>1?void 0:n?Kt(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},Ue=(r,e)=>(t,n)=>e(t,n,r),Oe=(r,e,t)=>zt(r,typeof e!="symbol"?e+"":e,t);g.UniverSheetsFilterUIPlugin=class extends c.Plugin{constructor(e=Te,t,n,o){super(),this._config=e,this._injector=t,this._configService=n,this._rpcChannelService=o;const{menu:l,...i}=c.merge({},Te,this._config);l&&this._configService.setConfig("menu",l,{merge:!0}),this._configService.setConfig(je,i)}onStarting(){c.registerDependencies(this._injector,[[Q],[ne],[Ie]]),this._config.useRemoteFilterValuesGenerator&&this._rpcChannelService&&this._injector.add([ve,{useFactory:()=>fe.toModule(this._rpcChannelService.requestChannel(Pe))}])}onReady(){c.touchDependencies(this._injector,[[ne]])}onRendered(){c.touchDependencies(this._injector,[[Ie]])}},Oe(g.UniverSheetsFilterUIPlugin,"type",c.UniverInstanceType.UNIVER_SHEET),Oe(g.UniverSheetsFilterUIPlugin,"pluginName","SHEET_FILTER_UI_PLUGIN"),Oe(g.UniverSheetsFilterUIPlugin,"packageName",re.name),Oe(g.UniverSheetsFilterUIPlugin,"version",re.version),g.UniverSheetsFilterUIPlugin=Xt([c.DependentOn(u.UniverSheetsFilterPlugin),Ue(1,c.Inject(c.Injector)),Ue(2,c.IConfigService),Ue(3,c.Optional(fe.IRPCChannelService))],g.UniverSheetsFilterUIPlugin);var Jt=Object.getOwnPropertyDescriptor,er=(r,e,t,n)=>{for(var o=n>1?void 0:n?Jt(e,t):e,l=r.length-1,i;l>=0;l--)(i=r[l])&&(o=i(o)||o);return o},rt=(r,e)=>(t,n)=>e(t,n,r);g.UniverSheetsFilterUIWorkerPlugin=(se=class extends c.Plugin{constructor(e,t,n){super(),this._config=e,this._injector=t,this._rpcChannelService=n}onStarting(){[[ve,{useClass:Ae}]].forEach(e=>this._injector.add(e))}onReady(){this._rpcChannelService.registerChannel(Pe,fe.fromModule(this._injector.get(ve)))}},_(se,"type",c.UniverInstanceType.UNIVER_SHEET),_(se,"pluginName","SHEET_FILTER_UI_WORKER_PLUGIN"),_(se,"packageName",re.name),_(se,"version",re.version),se),g.UniverSheetsFilterUIWorkerPlugin=er([rt(1,c.Inject(c.Injector)),rt(2,fe.IRPCChannelService)],g.UniverSheetsFilterUIWorkerPlugin),g.ChangeFilterByOperation=Re,g.CloseFilterPanelOperation=te,g.OpenFilterPanelOperation=he,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/sheets-filter-ui",
3
- "version": "0.16.1",
3
+ "version": "0.17.0",
4
4
  "private": false,
5
5
  "description": "Univer Sheets Filter UI",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -53,25 +53,25 @@
53
53
  },
54
54
  "dependencies": {
55
55
  "@univerjs/icons": "^1.1.1",
56
- "@univerjs/design": "0.16.1",
57
- "@univerjs/core": "0.16.1",
58
- "@univerjs/rpc": "0.16.1",
59
- "@univerjs/engine-render": "0.16.1",
60
- "@univerjs/sheets": "0.16.1",
61
- "@univerjs/sheets-filter": "0.16.1",
62
- "@univerjs/sheets-ui": "0.16.1",
63
- "@univerjs/ui": "0.16.1"
56
+ "@univerjs/core": "0.17.0",
57
+ "@univerjs/design": "0.17.0",
58
+ "@univerjs/rpc": "0.17.0",
59
+ "@univerjs/engine-render": "0.17.0",
60
+ "@univerjs/sheets": "0.17.0",
61
+ "@univerjs/sheets-filter": "0.17.0",
62
+ "@univerjs/sheets-ui": "0.17.0",
63
+ "@univerjs/ui": "0.17.0"
64
64
  },
65
65
  "devDependencies": {
66
- "postcss": "^8.5.6",
66
+ "postcss": "^8.5.8",
67
67
  "react": "18.3.1",
68
68
  "rxjs": "^7.8.2",
69
69
  "tailwindcss": "3.4.18",
70
70
  "typescript": "^5.9.3",
71
71
  "vite": "^7.3.1",
72
72
  "vitest": "^4.0.18",
73
- "@univerjs-infra/shared": "0.16.1",
74
- "@univerjs/engine-formula": "0.16.1"
73
+ "@univerjs-infra/shared": "0.17.0",
74
+ "@univerjs/engine-formula": "0.17.0"
75
75
  },
76
76
  "scripts": {
77
77
  "test": "vitest run",