@univerjs/sheets-filter-ui 0.10.12 → 0.10.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -1,7 +1,7 @@
1
- "use strict";var nt=Object.defineProperty;var ot=(t,e,r)=>e in t?nt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var _=(t,e,r)=>ot(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@univerjs/core"),c=require("@univerjs/sheets-filter"),M=require("@univerjs/sheets-ui"),g=require("@univerjs/ui"),J=require("@univerjs/engine-render"),I=require("@univerjs/sheets"),S=require("rxjs"),Te=require("@univerjs/rpc"),y=require("@univerjs/design"),d=require("react/jsx-runtime"),O=require("react");var P=(t=>(t[t.FIRST=0]="FIRST",t[t.SECOND=1]="SECOND",t))(P||{}),F=(t=>(t.NONE="none",t.STARTS_WITH="startsWith",t.DOES_NOT_START_WITH="doesNotStartWith",t.ENDS_WITH="endsWith",t.DOES_NOT_END_WITH="doesNotEndWith",t.CONTAINS="contains",t.DOES_NOT_CONTAIN="doesNotContain",t.EQUALS="equals",t.NOT_EQUALS="notEquals",t.EMPTY="empty",t.NOT_EMPTY="notEmpty",t.BETWEEN="between",t.NOT_BETWEEN="notBetween",t.CUSTOM="custom",t))(F||{}),f;(t=>{t.NONE={label:"sheets-filter.conditions.none",operator:F.NONE,order:P.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NONE]: should not have initial form params!")},testMappingParams:i=>i.operator1===F.NONE,mapToFilterColumn:()=>null,testMappingFilterColumn:i=>!i.customFilters&&!i.filters?{}:!1},t.EMPTY={label:"sheets-filter.conditions.empty",operator:F.EMPTY,order:P.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===F.EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:""}]}}),testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.val===""&&o.operator===void 0?{operator1:F.EMPTY}:!1}},t.NOT_EMPTY={label:"sheets-filter.conditions.not-empty",operator:F.NOT_EMPTY,order:P.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NOT_EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===F.NOT_EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:"",operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.val===" "&&o.operator===c.CustomFilterOperator.NOT_EQUALS?{operator1:F.NOT_EMPTY}:!1}},t.TEXT_CONTAINS={label:"sheets-filter.conditions.text-contains",operator:F.CONTAINS,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.CONTAINS,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===F.CONTAINS},mapToFilterColumn:i=>{const{val1:o}=i;return o===""?null:{customFilters:{customFilters:[{val:`*${o}*`}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return!o.operator&&l.startsWith("*")&&l.endsWith("*")?{operator1:F.CONTAINS,val1:l.slice(1,-1)}:!1}},t.DOES_NOT_CONTAIN={label:"sheets-filter.conditions.does-not-contain",operator:F.DOES_NOT_CONTAIN,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.DOES_NOT_CONTAIN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}*`,operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingParams:i=>{const[o]=D(i);return o===F.DOES_NOT_CONTAIN},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return o.operator===c.CustomFilterOperator.NOT_EQUALS&&l.startsWith("*")&&l.endsWith("*")?{operator1:F.DOES_NOT_CONTAIN,val1:l.slice(1,-1)}:!1}},t.STARTS_WITH={label:"sheets-filter.conditions.starts-with",operator:F.STARTS_WITH,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.STARTS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`${i.val1}*`}]}}),testMappingParams:i=>{const[o]=D(i);return o===F.STARTS_WITH},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return!o.operator&&l.endsWith("*")&&!l.startsWith("*")?{operator1:F.STARTS_WITH,val1:l.slice(0,-1)}:!1}},t.ENDS_WITH={label:"sheets-filter.conditions.ends-with",operator:F.ENDS_WITH,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.ENDS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}`}]}}),testMappingParams:i=>{const[o]=D(i);return o===F.ENDS_WITH},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return!o.operator&&l.startsWith("*")&&!l.endsWith("*")?{operator1:F.ENDS_WITH,val1:l.slice(1)}:!1}},t.EQUALS={label:"sheets-filter.conditions.equals",operator:F.EQUALS,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.EQUALS,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===F.EQUALS},mapToFilterColumn:i=>{const{val1:o}=i;return o===""?null:{customFilters:{customFilters:[{val:o}]}}},testMappingFilterColumn:i=>{var o,l,h;return((l=(o=i.filters)==null?void 0:o.filters)==null?void 0:l.length)===1?{operator1:F.EQUALS,val1:""}:((h=i.customFilters)==null?void 0:h.customFilters.length)===1&&!i.customFilters.customFilters[0].operator?{operator1:F.EQUALS,val1:i.customFilters.customFilters[0].val.toString()}:!1}},t.GREATER_THAN={label:"sheets-filter.conditions.greater-than",operator:c.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.GREATER_THAN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.GREATER_THAN}]}}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.GREATER_THAN},testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.GREATER_THAN?!1:{operator1:c.CustomFilterOperator.GREATER_THAN,val1:o.val.toString()}}},t.GREATER_THAN_OR_EQUAL={label:"sheets-filter.conditions.greater-than-or-equal",operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,numOfParameters:1,order:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.GREATER_THAN_OR_EQUAL?!1:{operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:o.val.toString()}}},t.LESS_THAN={label:"sheets-filter.conditions.less-than",operator:c.CustomFilterOperator.LESS_THAN,numOfParameters:1,order:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.LESS_THAN},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.LESS_THAN}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.LESS_THAN?!1:{operator1:c.CustomFilterOperator.LESS_THAN,val1:o.val.toString()}}},t.LESS_THAN_OR_EQUAL={label:"sheets-filter.conditions.less-than-or-equal",operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,numOfParameters:1,order:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.LESS_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.LESS_THAN_OR_EQUAL?!1:{operator1:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:o.val.toString()}}},t.EQUAL={label:"sheets-filter.conditions.equal",operator:c.CustomFilterOperator.EQUAL,numOfParameters:1,order:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.EQUAL,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.EQUAL?!1:{operator1:c.CustomFilterOperator.EQUAL,val1:o.val.toString()}}},t.NOT_EQUAL={label:"sheets-filter.conditions.not-equal",operator:c.CustomFilterOperator.NOT_EQUALS,numOfParameters:1,order:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.NOT_EQUALS,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.NOT_EQUALS},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.NOT_EQUALS?!1:{operator1:c.CustomFilterOperator.NOT_EQUALS,val1:o.val.toString()}}},t.BETWEEN={label:"sheets-filter.conditions.between",operator:F.BETWEEN,order:P.SECOND,numOfParameters:2,getDefaultFormParams:()=>({and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:"",operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:""}),testMappingParams:i=>{const{and:o,operator1:l,operator2:h}=i;if(!o)return!1;const m=[l,h];return m.includes(c.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&m.includes(c.CustomFilterOperator.LESS_THAN_OR_EQUAL)},mapToFilterColumn:i=>{const{val1:o,val2:l,operator1:h}=i,m=h===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:u.BooleanNumber.TRUE,customFilters:[{val:m?o:l,operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:m?l:o,operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const[o,l]=i.customFilters.customFilters;return o.operator===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&l.operator===c.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:o.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:l.val.toString()}:l.operator===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&o.operator===c.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:l.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:o.val.toLocaleString()}:!1}},t.NOT_BETWEEN={label:"sheets-filter.conditions.not-between",operator:F.NOT_BETWEEN,order:P.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN,val1:"",operator2:c.CustomFilterOperator.GREATER_THAN,val2:""}),testMappingParams:i=>{const{and:o,operator1:l,operator2:h}=i;if(o)return!1;const m=[l,h];return m.includes(c.CustomFilterOperator.GREATER_THAN)&&m.includes(c.CustomFilterOperator.LESS_THAN)},mapToFilterColumn:i=>{const{val1:o,val2:l,operator1:h}=i,m=h===c.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:m?o:l,operator:c.CustomFilterOperator.GREATER_THAN},{val:m?l:o,operator:c.CustomFilterOperator.LESS_THAN}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const[o,l]=i.customFilters.customFilters;return o.operator===c.CustomFilterOperator.LESS_THAN&&l.operator===c.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:c.CustomFilterOperator.LESS_THAN,val1:o.val.toString(),operator2:c.CustomFilterOperator.GREATER_THAN,val2:l.val.toString()}:l.operator===c.CustomFilterOperator.LESS_THAN&&o.operator===c.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:c.CustomFilterOperator.GREATER_THAN,val1:l.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN,val2:o.val.toLocaleString()}:!1}},t.CUSTOM={label:"sheets-filter.conditions.custom",operator:F.CUSTOM,order:P.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:F.NONE,val1:"",operator2:F.NONE,val2:""}),testMappingParams:()=>!0,mapToFilterColumn:i=>{const{and:o,val1:l,val2:h,operator1:m,operator2:p}=i;function E(w,R){for(const x of t.ALL_CONDITIONS)if(x.operator===w)return x.mapToFilterColumn({val1:R,operator1:w})}const v=!m||m===t.NONE.operator,C=!p||p===t.NONE.operator;if(v&&C)return t.NONE.mapToFilterColumn({});if(v)return E(p,h);if(C)return E(m,l);const T=E(m,l),b=E(p,h),N={customFilters:[T.customFilters.customFilters[0],b.customFilters.customFilters[0]]};return o&&(N.and=u.BooleanNumber.TRUE),{customFilters:N}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const o=i.customFilters.customFilters.map(m=>a({customFilters:{customFilters:[m]}})),l={operator1:o[0][0].operator,val1:o[0][1].val1,operator2:o[1][0].operator,val2:o[1][1].val1};return i.customFilters.and&&(l.and=!0),l}},t.ALL_CONDITIONS=[t.NONE,t.EMPTY,t.NOT_EMPTY,t.TEXT_CONTAINS,t.DOES_NOT_CONTAIN,t.STARTS_WITH,t.ENDS_WITH,t.EQUALS,t.GREATER_THAN,t.GREATER_THAN_OR_EQUAL,t.LESS_THAN,t.LESS_THAN_OR_EQUAL,t.EQUAL,t.NOT_EQUAL,t.BETWEEN,t.NOT_BETWEEN,t.CUSTOM];function e(i){const o=t.ALL_CONDITIONS.find(l=>l.operator===i);if(!o)throw new Error(`[SheetsFilter]: no condition item found for operator: ${i}`);return o}t.getItemByOperator=e;function r(i,o){for(const l of t.ALL_CONDITIONS.filter(h=>h.numOfParameters===o))if(l.numOfParameters!==0&&l.testMappingParams(i))return l;for(const l of t.ALL_CONDITIONS)if(l.testMappingParams(i))return l;throw new Error("[SheetsFilter]: no condition item can be mapped from the filter map params!")}t.testMappingParams=r;function s(i){const o=t.ALL_CONDITIONS.find(l=>l.operator===i);return(o==null?void 0:o.numOfParameters)===0?{operator1:o.operator}:o.getDefaultFormParams()}t.getInitialFormParams=s;function n(i,o){return i.mapToFilterColumn(o)}t.mapToFilterColumn=n;function a(i){if(!i)return[t.NONE,{}];for(const o of t.ALL_CONDITIONS){const l=o.testMappingFilterColumn(i);if(l)return[o,l]}return[t.NONE,{}]}t.testMappingFilterColumn=a})(f||(f={}));function D(t){const{operator1:e,operator2:r,val1:s,val2:n}=t;if(e&&r)throw new Error("Both operator1 and operator2 are set!");if(!e&&!r)throw new Error("Neither operator1 and operator2 and both not set!");return e?[e,s]:[r,n]}function Pe(t){const e=[],r=[];let s=0,n=0;function a(i){i.leaf&&(i.checked?(e.push(i),s+=i.count):(r.push(i),n+=i.count)),i.children&&i.children.forEach(a)}return t.forEach(a),{checkedItems:e,uncheckedItems:r,checked:s,unchecked:n}}var lt=Object.getOwnPropertyDescriptor,at=(t,e,r,s)=>{for(var n=s>1?void 0:s?lt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},be=(t,e)=>(r,s)=>e(r,s,t);const Le="sheets-filter.generate-filter-values.service",ve=u.createIdentifier(Le),ct=["yyyy-mm-dd","yyyy-mm-dd;@","yyyy/mm/dd;@","yyyy/mm/dd hh:mm","yyyy-m-d am/pm h:mm","yyyy-MM-dd","yyyy/MM/dd","yyyy/mm/dd",'yyyy"年"MM"月"dd"日"',"MM-dd",'M"月"d"日"',"MM-dd A/P hh:mm"];let Ae=class extends u.Disposable{constructor(t,e,r){super(),this._localeService=t,this._univerInstanceService=e,this._logService=r}async getFilterValues(t){var p;const{unitId:e,subUnitId:r,filteredOutRowsByOtherColumns:s,filterColumn:n,filters:a,blankChecked:i,iterateRange:o,alreadyChecked:l}=t,h=this._univerInstanceService.getUnit(e),m=(p=this._univerInstanceService.getUnit(e))==null?void 0:p.getSheetBySheetId(r);return!h||!m?[]:(this._logService.debug("[SheetsGenerateFilterValuesService]","getFilterValues for",{unitId:e,subUnitId:r}),Qe(a,this._localeService,o,m,new Set(s),n,new Set(l.map(String)),i,h.getStyles()))}};Ae=at([be(0,u.Inject(u.LocaleService)),be(1,u.IUniverInstanceService),be(2,u.ILogService)],Ae);function Qe(t,e,r,s,n,a,i,o,l){var N,w,R,x,U,Q,G,ee,B,L;const h=new Map,m=new Map,p="yyyy-mm-dd",E=new Set(ct),v="empty",C=!t&&((a==null?void 0:a.filterBy)===c.FilterBy.COLORS||(a==null?void 0:a.filterBy)===c.FilterBy.CONDITIONS)&&((N=a.filteredOutRows)==null?void 0:N.size);let T=0;for(const $ of s.iterateByColumn(r,!1,!1)){const{row:Oe,rowSpan:Ue=1}=$;let te=0;for(;te<Ue;){const it=Oe+te;if(n.has(it)){te++;continue}const K=$!=null&&$.value?u.extractPureTextFromCell($.value):"";if(!K){T+=1,te+=Ue;continue}const pe=(w=$.value)!=null&&w.v&&!$.value.p?(U=(x=l.get((R=$.value)==null?void 0:R.s))==null?void 0:x.n)==null?void 0:U.pattern:"",st=pe&&u.numfmt.getFormatInfo(pe).isDate;if(pe&&st&&E.has(pe)){const Y=(Q=s.getCellRaw($.row,$.col))==null?void 0:Q.v;if(!Y){te++;continue}const re=u.numfmt.format(p,Y),[A,H,ae]=re.split("-").map(Number);let X=h.get(`${A}`);X||(X={title:`${A}`,key:`${A}`,children:[],count:0,leaf:!1,checked:!1},h.set(`${A}`,X),m.set(`${A}`,[`${A}`]));let V=(G=X.children)==null?void 0:G.find(Ie=>Ie.key===`${A}-${H}`);V||(V={title:e.t(`sheets-filter.date.${H}`),key:`${A}-${H}`,children:[],count:0,leaf:!1,checked:!1},(ee=X.children)==null||ee.push(V),m.set(`${A}-${H}`,[`${A}`,`${A}-${H}`]));const ye=(B=V==null?void 0:V.children)==null?void 0:B.find(Ie=>Ie.key===`${A}-${H}-${ae}`);ye?(ye.originValues.add(K),ye.count++,V.count++,X.count++):((L=V.children)==null||L.push({title:`${ae}`,key:`${A}-${H}-${ae}`,count:1,originValues:new Set([K]),leaf:!0,checked:C?!1:i.size?i.has(K):!o}),V.count++,X.count++,m.set(`${A}-${H}-${ae}`,[`${A}`,`${A}-${H}`,`${A}-${H}-${ae}`]))}else{const Y=K;let re=h.get(Y);re?re.count++:(re={title:K,leaf:!0,checked:C?!1:i.size?i.has(K):!o,key:Y,count:1},h.set(Y,re),m.set(Y,[Y]))}te++}}const b=C?!1:t?o:!0;if(T>0){const $={title:e.t("sheets-filter.panel.empty"),count:T,leaf:!0,checked:b,key:v};h.set("empty",$),m.set("empty",[v])}return{filterTreeItems:ut(Array.from(h.values())),filterTreeMapCache:m}}function ut(t){return Array.from(t).sort((e,r)=>e.children&&!r.children?-1:!e.children&&r.children?1:ht(e.title,r.title)).map(e=>(e.children&&e.children.sort((r,s)=>{const n=Number.parseInt(r.key.split("-")[1],10),a=Number.parseInt(s.key.split("-")[1],10);return n-a}).forEach(r=>{r.children&&r.children.sort((s,n)=>{const a=Number.parseInt(s.key.split("-")[2],10),i=Number.parseInt(n.key.split("-")[2],10);return a-i})}),e))}const ke=t=>!Number.isNaN(Number(t))&&!Number.isNaN(Number.parseFloat(t));function ht(t,e){const r=ke(t),s=ke(e);return r&&s?Number.parseFloat(t)-Number.parseFloat(e):r&&!s?-1:!r&&s?1:t.localeCompare(e)}function we(t,e){for(const r of t){if(r.key===e)return r;if(r.children){const s=we(r.children,e);if(s)return s}}return null}function Ge(t){return t.leaf?t.checked:t.children?t.children.every(e=>Ge(e)):!0}function ce(t,e){t.leaf&&(e!==void 0?t.checked=e:t.checked=!t.checked),t.children&&t.children.forEach(r=>ce(r,e))}function Ye(t,e){const r=[];return t.forEach(s=>{const n=s.originValues?e.some(o=>Array.from(s.originValues).some(l=>l.toLowerCase().includes(o.toLowerCase()))):!1,a=!n&&e.some(o=>s.title.toLowerCase().includes(o.toLowerCase()));if(n||a)r.push({...s});else if(s.children){const o=Ye(s.children,e);if(o.length>0){const l=o.reduce((h,m)=>h+m.count,0);r.push({...s,count:l,children:o})}}}),r}var dt=Object.getOwnPropertyDescriptor,Ee=(t,e,r,s)=>{for(var n=s>1?void 0:s?dt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},he=(t,e)=>(r,s)=>e(r,s,t);u.createIdentifier("sheets-filter-ui.sheets-filter-panel.service");let Z=class extends u.Disposable{constructor(e,r){super();_(this,"_filterBy$",new S.BehaviorSubject(c.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=r}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,r){this.terminate(),this._filterModel=e,this._col$.next(r);const s=e.getFilterColumn(r);if(s){const n=s.getColumnData();if(n.customFilters){this._hasCriteria$.next(!0),this._setupByConditions(e,r);return}if(n.colorFilters){this._hasCriteria$.next(!0),this._setupByColors(e,r);return}if(n.filters){this._hasCriteria$.next(!0),this._setupByValues(e,r);return}this._hasCriteria$.next(!1),this._setupByValues(e,r);return}this._hasCriteria$.next(!1),this._setupByValues(e,r)}changeFilterBy(e){if(!this._filterModel||this.col===-1)return!1;switch(e){case c.FilterBy.VALUES:this._setupByValues(this._filterModel,this.col);break;case c.FilterBy.COLORS:this._setupByColors(this._filterModel,this.col);break;case c.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,r){this._disposeFilterHeaderChangeListener();const s=e.unitId,n=e.subUnitId,a=e.getRange(),i={startColumn:r,startRow:a.startRow,endRow:a.startRow,endColumn:r};this._filterHeaderListener=this._refRangeService.watchRange(s,n,i,(o,l)=>{if(!l)this.terminate();else{const h=l.startColumn-o.startColumn;h!==0&&this._filterByModel.deltaCol(h)}})}async _setupByValues(e,r){this._disposePreviousModel();const s=e.getRange();if(s.startRow===s.endRow)return!1;const n=await ge.fromFilterColumn(this._injector,e,r);return this.filterByModel=n,this._filterBy$.next(c.FilterBy.VALUES),this._listenToFilterHeaderChange(e,r),!0}async _setupByColors(e,r){this._disposePreviousModel();const s=e.getRange();if(s.startRow===s.endRow)return!1;const n=await Ce.fromFilterColumn(this._injector,e,r);return this.filterByModel=n,this._filterBy$.next(c.FilterBy.COLORS),this._listenToFilterHeaderChange(e,r),!0}_setupByConditions(e,r){this._disposePreviousModel();const s=e.getRange();if(s.startRow===s.endRow)return!1;const n=_e.fromFilterColumn(this._injector,e,r,e.getFilterColumn(r));return this.filterByModel=n,this._filterBy$.next(c.FilterBy.CONDITIONS),this._listenToFilterHeaderChange(e,r),!0}_disposePreviousModel(){var e;(e=this._filterByModel)==null||e.dispose(),this.filterByModel=null}};Z=Ee([he(0,u.Inject(u.Injector)),he(1,u.Inject(I.RefRangeService))],Z);let _e=class extends u.Disposable{constructor(e,r,s,n,a){super();_(this,"canApply$",S.of(!0));_(this,"_conditionItem$");_(this,"conditionItem$");_(this,"_filterConditionFormParams$");_(this,"filterConditionFormParams$");this._filterModel=e,this.col=r,this._commandService=a,this._conditionItem$=new S.BehaviorSubject(s),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new S.BehaviorSubject(n),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}static fromFilterColumn(e,r,s,n){const[a,i]=f.testMappingFilterColumn(n==null?void 0:n.getColumnData());return e.createInstance(_e,r,s,a,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(c.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(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:e})}onPrimaryConditionChange(e){const r=f.ALL_CONDITIONS.find(s=>s.operator===e);if(!r)throw new Error(`[ByConditionsModel]: condition item not found for operator: ${e}!`);this._conditionItem$.next(r),this._filterConditionFormParams$.next(f.getInitialFormParams(e))}onConditionFormChange(e){const r={...this.filterConditionFormParams,...e};if(r.and!==!0&&delete r.and,typeof e.and<"u"||typeof e.operator1<"u"||typeof e.operator2<"u"){const s=f.testMappingParams(r,this.conditionItem.numOfParameters);this._conditionItem$.next(s)}this._filterConditionFormParams$.next(r)}};_e=Ee([he(4,u.ICommandService)],_e);let ge=class extends u.Disposable{constructor(e,r,s,n,a){super();_(this,"_rawFilterItems$");_(this,"rawFilterItems$");_(this,"filterItems$");_(this,"_filterItems",[]);_(this,"_treeMapCache");_(this,"canApply$");_(this,"_manuallyUpdateFilterItems$");_(this,"_searchString$");_(this,"searchString$");this._filterModel=e,this.col=r,this._commandService=a,this._treeMapCache=n,this._searchString$=new S.BehaviorSubject(""),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new S.BehaviorSubject(s),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,o])=>{if(!i)return o;const h=i.toLowerCase().split(/\s+/).filter(m=>!!m);return Ye(o,h)})),this._manuallyUpdateFilterItems$).pipe(S.shareReplay(1)),this.canApply$=this.filterItems$.pipe(S.map(i=>Pe(i).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(i=>this._filterItems=i))}static async fromFilterColumn(e,r,s){const n=e.get(u.IUniverInstanceService),a=e.get(u.LocaleService),i=e.get(ve,u.Quantity.OPTIONAL),{unitId:o,subUnitId:l}=r,h=n.getUniverSheetInstance(o);if(!h)throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${o}!`);const m=h==null?void 0:h.getSheetBySheetId(l);if(!m)throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${o} and subUnitId: ${l}!`);const p=r.getRange(),E=s,v=r.getFilterColumn(s),C=v==null?void 0:v.getColumnData().filters,T=new Set(C==null?void 0:C.filters),b=!!(C&&C.blank),N=r.getFilteredOutRowsExceptCol(s),w={...p,startRow:p.startRow+1,startColumn:E,endColumn:E};let R,x;if(i){const U=await i.getFilterValues({unitId:o,subUnitId:l,filteredOutRowsByOtherColumns:Array.from(N),filterColumn:v,filters:!!C,blankChecked:b,iterateRange:w,alreadyChecked:Array.from(T)});R=U.filterTreeItems,x=U.filterTreeMapCache}else{const U=Qe(!!C,a,w,m,N,v,T,b,h.getStyles());R=U.filterTreeItems,x=U.filterTreeMapCache}return e.createInstance(ge,r,s,R,x)}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 r=u.Tools.deepClone(this._filterItems);r.forEach(s=>ce(s,e)),this._manuallyUpdateFilterItems(r)}onFilterCheckToggled(e){const r=u.Tools.deepClone(this._filterItems),s=we(r,e.key);if(!s)return;const n=Ge(s);ce(s,!n),this._manuallyUpdateFilterItems(r)}onFilterOnly(e){const r=u.Tools.deepClone(this._filterItems);r.forEach(s=>ce(s,!1)),e.forEach(s=>{const n=we(r,s);n&&ce(n,!0)}),this._manuallyUpdateFilterItems(r)}_manuallyUpdateFilterItems(e){this._manuallyUpdateFilterItems$.next(e)}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const e=Pe(this._filterItems),{checked:r,checkedItems:s}=e,n=this.rawFilterItems;let a=0;for(const h of n)a+=h.count;const i=r===0,o=e.checked===a,l={colId:this.col};if(i)throw new Error("[ByValuesModel]: no checked items!");if(o)return this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});{l.filters={};const h=s.filter(p=>p.key!=="empty");h.length>0&&(l.filters={filters:h.flatMap(p=>p.originValues?Array.from(p.originValues):[p.title])}),h.length!==s.length&&(l.filters.blank=!0)}return this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:l})}};ge=Ee([he(4,u.ICommandService)],ge);let Ce=class extends u.Disposable{constructor(e,r,s,n,a){super();_(this,"canApply$",S.of(!0));_(this,"_cellFillColors$");_(this,"cellFillColors$");_(this,"_cellTextColors$");_(this,"cellTextColors$");this._filterModel=e,this.col=r,this._commandService=a,this._cellFillColors$=new S.BehaviorSubject(Array.from(s.values())),this.cellFillColors$=this._cellFillColors$.asObservable(),this._cellTextColors$=new S.BehaviorSubject(Array.from(n.values())),this.cellTextColors$=this._cellTextColors$.asObservable()}static async fromFilterColumn(e,r,s){var w,R,x;const n=e.get(u.IUniverInstanceService),{unitId:a,subUnitId:i}=r,o=n.getUniverSheetInstance(a);if(!o)throw new Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${a}!`);const l=o==null?void 0:o.getSheetBySheetId(i);if(!l)throw new Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${a} and subUnitId: ${i}!`);const h=r.getRange(),m=s,p=(w=r.getFilterColumn(s))==null?void 0:w.getColumnData().colorFilters,E=r.getFilteredOutRowsExceptCol(s),v={...h,startRow:h.startRow+1,startColumn:m,endColumn:m},C=new Map,T=new Set((R=p==null?void 0:p.cellFillColors)!=null?R:[]),b=new Map,N=new Set((x=p==null?void 0:p.cellTextColors)!=null?x:[]);for(const U of l.iterateByColumn(v,!1,!0)){const{row:Q,col:G,value:ee}=U;if(E.has(Q))continue;const B=l.getComposedCellStyleByCellData(Q,G,ee);if(B.bg&&B.bg.rgb){const L=new u.ColorKit(B.bg.rgb).toRgbString();C.has(L)||C.set(L,{color:L,checked:T.has(L)})}else C.set("default-fill-color",{color:null,checked:T.has(null)});if(B.cl&&B.cl.rgb){const L=new u.ColorKit(B.cl.rgb).toRgbString();b.has(L)||b.set(L,{color:L,checked:N.has(L)})}else b.set("default-font-color",{color:J.COLOR_BLACK_RGB,checked:N.has(J.COLOR_BLACK_RGB)})}return e.createInstance(Ce,r,s,C,b)}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(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}onFilterCheckToggled(e,r=!0){const s=r?this.cellFillColors:this.cellTextColors,n=[];let a=!1;for(let i=0;i<s.length;i++){const o=s[i];if(o.color===e.color){a=!0,n.push({color:o.color,checked:!o.checked});continue}n.push({color:o.color,checked:o.checked})}a&&(this._resetColorsCheckedStatus(!r),r?this._cellFillColors$.next([...n]):this._cellTextColors$.next([...n]))}_resetColorsCheckedStatus(e=!0){const r=e?this.cellFillColors:this.cellTextColors,s=[];for(let n=0;n<r.length;n++)s.push({color:r[n].color,checked:!1});e?this._cellFillColors$.next([...s]):this._cellTextColors$.next([...s])}async apply(){if(this._disposed)return!1;const e=this.cellFillColors.filter(n=>n.checked).map(n=>n.color),r=this.cellTextColors.filter(n=>n.checked).map(n=>n.color);if(e.length===0&&r.length===0)return this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});const s={colId:this.col};return e.length>0?s.colorFilters={cellFillColors:e}:r.length>0&&(s.colorFilters={cellTextColors:r}),this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:s})}};Ce=Ee([he(4,u.ICommandService)],Ce);const ne="FILTER_PANEL_OPENED",de={id:"sheet.operation.open-filter-panel",type:u.CommandType.OPERATION,handler:(t,e)=>{const r=t.get(u.IContextService),s=t.get(c.SheetsFilterService),n=t.get(Z),a=t.get(u.ICommandService),i=t.has(M.IEditorBridgeService)?t.get(M.IEditorBridgeService):null;i!=null&&i.isVisible().visible&&a.syncExecuteCommand(M.SetCellEditVisibleOperation.id,{visible:!1});const{unitId:o,subUnitId:l,col:h}=e,m=s.getFilterModel(o,l);return m?(n.setupCol(m,h),r.getContextValue(ne)||r.setContextValue(ne,!0),!0):!1}},se={id:"sheet.operation.close-filter-panel",type:u.CommandType.OPERATION,handler:t=>{const e=t.get(u.IContextService),r=t.get(Z),s=t.get(g.ILayoutService,u.Quantity.OPTIONAL);return e.getContextValue(ne)?(e.setContextValue(ne,!1),s==null||s.focus(),r.terminate()):!1}},$e={id:"sheet.operation.apply-filter",type:u.CommandType.OPERATION,handler:(t,e)=>{const{filterBy:r}=e;return t.get(Z).changeFilterBy(r)}},qe="sheets-filter-ui.config",Se={};var mt=Object.getOwnPropertyDescriptor,pt=(t,e,r,s)=>{for(var n=s>1?void 0:s?mt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},ie=(t,e)=>(r,s)=>e(r,s,t);let oe=class extends u.Disposable{constructor(t,e,r,s,n,a){super(),this._sheetsFilterService=t,this._localeService=e,this._commandService=r,this._sheetPermissionCheckPermission=s,this._injector=n,this._sheetsSelectionService=a,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(t=>{var e,r,s;if(t.id===c.SmartToggleSheetsFilterCommand.id){const n=this._injector.get(u.IUniverInstanceService),a=I.getSheetCommandTarget(n);if(!a)return;const{unitId:i,subUnitId:o,worksheet:l}=a,h=(e=this._sheetsFilterService.getFilterModel(i,o))==null?void 0:e.getRange();let m;if(h)m=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[I.RangeProtectionPermissionViewPoint],worksheetTypes:[I.WorksheetFilterPermission,I.WorksheetViewPermission]},[h]);else{const p=(r=this._sheetsSelectionService.getCurrentLastSelection())==null?void 0:r.range;if(p){let E={...p};E=p.startColumn===p.endColumn&&p.startRow===p.endRow?I.expandToContinuousRange(E,{left:!0,right:!0,up:!0,down:!0},l):E,m=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[I.RangeProtectionPermissionViewPoint],worksheetTypes:[I.WorksheetViewPermission,I.WorksheetFilterPermission]},[E],i,o)}else m=this._sheetPermissionCheckPermission.permissionCheckWithoutRange({rangeTypes:[I.RangeProtectionPermissionViewPoint],worksheetTypes:[I.WorksheetViewPermission,I.WorksheetFilterPermission]})}m||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr"))}if(t.id===de.id){const n=t.params,{unitId:a,subUnitId:i}=n,o=(s=this._sheetsFilterService.getFilterModel(a,i))==null?void 0:s.getRange(),l=u.Tools.deepClone(o);l&&(l.startColumn=n.col,l.endColumn=n.col,this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[I.RangeProtectionPermissionViewPoint],worksheetTypes:[I.WorksheetFilterPermission,I.WorksheetViewPermission]},[l])||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr")))}}))}};oe=pt([ie(0,u.Inject(c.SheetsFilterService)),ie(1,u.Inject(u.LocaleService)),ie(2,u.ICommandService),ie(3,u.Inject(I.SheetPermissionCheckController)),ie(4,u.Inject(u.Injector)),ie(5,u.Inject(I.SheetsSelectionsService))],oe);const q=16,ft=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 je{static drawNoCriteria(e,r,s,n){e.save(),J.Rect.drawWith(e,{radius:2,width:q,height:q,fill:n}),e.lineCap="square",e.strokeStyle=s,e.scale(r/q,r/q),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,r,s,n){e.save(),J.Rect.drawWith(e,{radius:2,width:q,height:q,fill:n}),e.scale(r/q,r/q),e.fillStyle=s,e.fill(ft),e.restore()}}var vt=Object.getOwnPropertyDescriptor,_t=(t,e,r,s)=>{for(var n=s>1?void 0:s?vt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},Ne=(t,e)=>(r,s)=>e(r,s,t);const W=16,ue=1;let xe=class extends J.Shape{constructor(e,r,s,n,a){super(e,r);_(this,"_cellWidth",0);_(this,"_cellHeight",0);_(this,"_filterParams");_(this,"_hovered",!1);this._contextService=s,this._commandService=n,this._themeService=a,this.setShapeProps(r),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 r=this._cellHeight,s=this._cellWidth,n=W-s,a=W-r;e.save();const i=new Path2D;i.rect(n,a,s,r),e.clip(i);const{hasCriteria:o}=this._filterParams,l=this._themeService.getColorFromTheme("primary.600"),h=this._hovered?this._themeService.getColorFromTheme("gray.50"):"rgba(255, 255, 255, 1.0)";o?je.drawHasCriteria(e,W,l,h):je.drawNoCriteria(e,W,l,h),e.restore()}onPointerDown(e){if(e.button===2)return;const{col:r,unitId:s,subUnitId:n}=this._filterParams;this._contextService.getContextValue(ne)||!this._commandService.hasCommand(de.id)||setTimeout(()=>{this._commandService.executeCommand(de.id,{unitId:s,subUnitId:n,col:r})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};xe=_t([Ne(2,u.IContextService),Ne(3,u.ICommandService),Ne(4,u.Inject(u.ThemeService))],xe);var gt=Object.getOwnPropertyDescriptor,Ct=(t,e,r,s)=>{for(var n=s>1?void 0:s?gt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},z=(t,e)=>(r,s)=>e(r,s,t);const St=1e3,Ft=5e3;function Tt(t,e,r,s){switch(s){case u.VerticalAlign.TOP:return t+ue;case u.VerticalAlign.MIDDLE:return t+Math.max(0,(r-W)/2);case u.VerticalAlign.BOTTOM:default:return e-W-ue}}let Me=class extends u.RxDisposable{constructor(e,r,s,n,a,i,o,l){super();_(this,"_filterRangeShape",null);_(this,"_buttonRenderDisposable",null);_(this,"_filterButtonShapes",[]);this._context=e,this._injector=r,this._sheetSkeletonManagerService=s,this._sheetsFilterService=n,this._themeService=a,this._sheetInterceptorService=i,this._commandService=o,this._selectionRenderService=l,this._initRenderer()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){this._sheetSkeletonManagerService.currentSkeleton$.pipe(S.switchMap(e=>{var o,l;if(!e)return S.of(null);const{unit:r,unitId:s}=this._context,n=((o=r.getActiveSheet())==null?void 0:o.getSheetId())||"",a=(l=this._sheetsFilterService.getFilterModel(s,n))!=null?l:void 0,i=()=>({unitId:s,worksheetId:n,filterModel:a,range:a==null?void 0:a.getRange(),skeleton:e.skeleton});return u.fromCallback(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(S.filter(([h])=>{var m;return h.type===u.CommandType.MUTATION&&((m=h.params)==null?void 0:m.unitId)===r.getUnitId()&&(c.FILTER_MUTATIONS.has(h.id)||h.id===I.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,r){const{scene:s}=this._context,{rowHeaderWidth:n,columnHeaderHeight:a}=r,i=this._filterRangeShape=new M.SelectionControl(s,St,this._themeService,{rowHeaderWidth:n,columnHeaderHeight:a,enableAutoFill:!1,highlightHeader:!1}),o={range:e,primary:null,style:{fill:"rgba(0, 0, 0, 0.0)"}},l=M.attachSelectionWithCoord(o,r);i.updateRangeBySelectionWithCoord(l),i.setEvent(!1),s.makeDirty(!0)}_renderButtons(e){const{range:r,filterModel:s,unitId:n,skeleton:a,worksheetId:i}=e,{unit:o,scene:l}=this._context,h=o.getSheetBySheetId(i);if(!h)return;this._interceptCellContent(n,i,e.range);const{startColumn:m,endColumn:p,startRow:E}=r;for(let v=m;v<=p;v++){const C=`sheets-filter-button-${v}`,T=M.getCoordByCell(E,v,l,a),b=h.getComposedCellStyle(E,v),N=(b==null?void 0:b.vt)||u.VerticalAlign.BOTTOM,{startX:w,startY:R,endX:x,endY:U}=T,Q=x-w,G=U-R;if(G<=ue||Q<=ue)continue;const ee=!!s.getFilterColumn(v),B=x-W-ue,L=Tt(R,U,G,N),$={left:B,top:L,height:W,width:W,zIndex:Ft,cellHeight:G,cellWidth:Q,filterParams:{unitId:n,subUnitId:i,col:v,hasCriteria:ee}},Oe=this._injector.createInstance(xe,C,$);this._filterButtonShapes.push(Oe)}l.addObjects(this._filterButtonShapes),l.makeDirty()}_interceptCellContent(e,r,s){const{startRow:n,startColumn:a,endColumn:i}=s;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(I.INTERCEPTOR_POINT.CELL_CONTENT,{effect:u.InterceptorEffectEnum.Style,handler:(o,l,h)=>{const{row:m,col:p,unitId:E,subUnitId:v}=l;return E!==e||v!==r||m!==n||p<a||p>i||((!o||o===l.rawData)&&(o={...l.rawData}),o.fontRenderExtension={...o==null?void 0:o.fontRenderExtension,rightOffset:W}),h(o)},priority:10})}_disposeRendering(){var e,r;(e=this._filterRangeShape)==null||e.dispose(),this._filterButtonShapes.forEach(s=>s.dispose()),(r=this._buttonRenderDisposable)==null||r.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}};Me=Ct([z(1,u.Inject(u.Injector)),z(2,u.Inject(M.SheetSkeletonManagerService)),z(3,u.Inject(c.SheetsFilterService)),z(4,u.Inject(u.ThemeService)),z(5,u.Inject(I.SheetInterceptorService)),z(6,u.ICommandService),z(7,M.ISheetSelectionRenderService)],Me);var Et=Object.getOwnPropertyDescriptor,Ot=(t,e,r,s)=>{for(var n=s>1?void 0:s?Et(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},Be=(t,e)=>(r,s)=>e(r,s,t);let me=class extends u.RxDisposable{constructor(t,e){super(),this._renderManagerService=t,this._sheetsRenderService=e,[c.SetSheetsFilterRangeMutation,c.SetSheetsFilterCriteriaMutation,c.RemoveSheetsFilterMutation,c.ReCalcSheetsFilterMutation].forEach(r=>this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(r.id))),this.disposeWithMe(this._renderManagerService.registerRenderModule(u.UniverInstanceType.UNIVER_SHEET,[Me]))}};me=Ot([Be(0,J.IRenderManagerService),Be(1,u.Inject(M.SheetsRenderService))],me);var yt=Object.defineProperty,It=Object.getOwnPropertyDescriptor,bt=(t,e,r)=>e in t?yt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Nt=(t,e,r,s)=>{for(var n=s>1?void 0:s?It(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},De=(t,e)=>(r,s)=>e(r,s,t),Ze=(t,e,r)=>bt(t,typeof e!="symbol"?e+"":e,r);const Rt="SHEET_FILTER_UI_PLUGIN";exports.UniverSheetsFilterMobileUIPlugin=class extends u.Plugin{constructor(e=Se,r,s){super(),this._config=e,this._injector=r,this._configService=s;const{menu:n,...a}=u.merge({},Se,this._config);n&&this._configService.setConfig("menu",n,{merge:!0}),this._configService.setConfig(qe,a)}onStarting(){[[oe],[me]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(oe)}onRendered(){this._injector.get(me)}};Ze(exports.UniverSheetsFilterMobileUIPlugin,"type",u.UniverInstanceType.UNIVER_SHEET);Ze(exports.UniverSheetsFilterMobileUIPlugin,"pluginName",Rt);exports.UniverSheetsFilterMobileUIPlugin=Nt([u.DependentOn(c.UniverSheetsFilterPlugin),De(1,u.Inject(u.Injector)),De(2,u.IConfigService)],exports.UniverSheetsFilterMobileUIPlugin);var j=function(){return j=Object.assign||function(t){for(var e,r=1,s=arguments.length;r<s;r++){e=arguments[r];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])}return t},j.apply(this,arguments)},Pt=function(t,e){var r={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.indexOf(s)<0&&(r[s]=t[s]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,s=Object.getOwnPropertySymbols(t);n<s.length;n++)e.indexOf(s[n])<0&&Object.prototype.propertyIsEnumerable.call(t,s[n])&&(r[s[n]]=t[s[n]]);return r},le=O.forwardRef(function(t,e){var r=t.icon,s=t.id,n=t.className,a=t.extend,i=Pt(t,["icon","id","className","extend"]),o="univerjs-icon univerjs-icon-".concat(s," ").concat(n||"").trim(),l=O.useRef("_".concat(xt()));return Ke(r,"".concat(s),{defIds:r.defIds,idSuffix:l.current},j({ref:e,className:o},i),a)});function Ke(t,e,r,s,n){return O.createElement(t.tag,j(j({key:e},At(t,r,n)),s),(wt(t,r).children||[]).map(function(a,i){return Ke(a,"".concat(e,"-").concat(t.tag,"-").concat(i),r,void 0,n)}))}function At(t,e,r){var s=j({},t.attrs);r!=null&&r.colorChannel1&&s.fill==="colorChannel1"&&(s.fill=r.colorChannel1),t.tag==="mask"&&s.id&&(s.id=s.id+e.idSuffix),Object.entries(s).forEach(function(a){var i=a[0],o=a[1];i==="mask"&&typeof o=="string"&&(s[i]=o.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))});var n=e.defIds;return!n||n.length===0||(t.tag==="use"&&s["xlink:href"]&&(s["xlink:href"]=s["xlink:href"]+e.idSuffix),Object.entries(s).forEach(function(a){var i=a[0],o=a[1];typeof o=="string"&&(s[i]=o.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),s}function wt(t,e){var r,s=e.defIds;return!s||s.length===0?t:t.tag==="defs"&&(!((r=t.children)===null||r===void 0)&&r.length)?j(j({},t),{children:t.children.map(function(n){return typeof n.attrs.id=="string"&&s&&s.includes(n.attrs.id)?j(j({},n),{attrs:j(j({},n.attrs),{id:n.attrs.id+e.idSuffix})}):n})}):t}function xt(){return Math.random().toString(36).substring(2,8)}le.displayName="UniverIcon";var Mt={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"}}]},Xe=O.forwardRef(function(t,e){return O.createElement(le,Object.assign({},t,{id:"a-icon",ref:e,icon:Mt}))});Xe.displayName="AIcon";var Lt={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"}}]},ze=O.forwardRef(function(t,e){return O.createElement(le,Object.assign({},t,{id:"ban-icon",ref:e,icon:Lt}))});ze.displayName="BanIcon";var $t={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"}}]},Je=O.forwardRef(function(t,e){return O.createElement(le,Object.assign({},t,{id:"filter-icon",ref:e,icon:$t}))});Je.displayName="FilterIcon";var Ut={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"}}]},et=O.forwardRef(function(t,e){return O.createElement(le,Object.assign({},t,{id:"info-icon",ref:e,icon:Ut}))});et.displayName="InfoIcon";var kt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"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"}}]},tt=O.forwardRef(function(t,e){return O.createElement(le,Object.assign({},t,{id:"success-icon",ref:e,icon:kt}))});tt.displayName="SuccessIcon";function jt(t){const{model:e}=t,r=g.useDependency(u.LocaleService),s=g.useObservable(e.cellFillColors$,[],!0),n=g.useObservable(e.cellTextColors$,[],!0),a=O.useCallback(o=>{e.onFilterCheckToggled(o)},[e]),i=O.useCallback(o=>{e.onFilterCheckToggled(o,!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:y.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",y.borderClassName),children:[s.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:r.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:s.map((o,l)=>d.jsxs("div",{className:"univer-relative univer-h-6 univer-w-6",onClick:()=>a(o),children:[o.color?d.jsx("button",{type:"button",className:y.clsx("univer-box-border univer-h-6 univer-w-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:o.color}}):d.jsx(ze,{className:"univer-h-6 univer-w-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white"}),o.checked&&d.jsx(He,{})]},`sheets-filter-cell-fill-color-${l}`))})]}),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:r.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:n.map((o,l)=>d.jsxs("div",{className:"univer-relative univer-h-6 univer-w-6",onClick:()=>i(o),children:[d.jsx("div",{className:"univer-box-border univer-flex univer-h-full univer-w-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(Xe,{style:{color:o.color}})}),o.checked&&d.jsx(He,{})]},`sheets-filter-cell-text-color-${l}`))})]}),s.length<=1&&n.length<=1&&d.jsx("div",{className:"univer-flex univer-h-full univer-w-full univer-items-center univer-justify-center univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200",children:r.t("sheets-filter.panel.filter-by-color-none")})]})})}function He(){return d.jsx("div",{className:"univer-absolute -univer-bottom-0.5 -univer-right-0.5 univer-flex univer-h-3 univer-w-3 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white",children:d.jsx(tt,{className:"univer-h-full univer-w-full univer-font-bold univer-text-[#418F1F]"})})}function Bt(t){var v,C;const{model:e}=t,r=g.useDependency(u.LocaleService),s=g.useObservable(e.conditionItem$,void 0),n=g.useObservable(e.filterConditionFormParams$,void 0),a=n!=null&&n.and?"AND":"OR",i=O.useCallback(T=>{e.onConditionFormChange({and:T==="AND"})},[e]),o=Dt(r),l=O.useCallback(T=>{e.onPrimaryConditionChange(T)},[e]),h=Ht(r),m=O.useCallback(T=>{e.onConditionFormChange(T)},[e]),p=r.t("sheets-filter.panel.input-values-placeholder");function E(T,b,N){const w=f.getItemByOperator(T).numOfParameters===1;return d.jsxs(d.Fragment,{children:[N==="operator2"&&d.jsxs(y.RadioGroup,{value:a,onChange:i,children:[d.jsx(y.Radio,{value:"AND",children:r.t("sheets-filter.panel.and")}),d.jsx(y.Radio,{value:"OR",children:r.t("sheets-filter.panel.or")})]}),d.jsx(y.Select,{value:T,options:h,onChange:R=>m({[N]:R})}),w&&d.jsx("div",{children:d.jsx(y.Input,{className:"univer-mt-2",value:b,placeholder:p,onChange:R=>m({[N==="operator1"?"val1":"val2"]:R})})})]})}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:s&&n&&d.jsxs(d.Fragment,{children:[d.jsx(y.Select,{value:s.operator,options:o,onChange:l}),f.getItemByOperator(s.operator).numOfParameters!==0?d.jsxs("div",{"data-u-comp":"sheets-filter-panel-conditions-container-inner",className:y.clsx("univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2",y.borderClassName),children:[s.numOfParameters>=1&&E(n.operator1,(v=n.val1)!=null?v:"","operator1"),s.numOfParameters>=2&&E(n.operator2,(C=n.val2)!=null?C:"","operator2"),d.jsxs("div",{"data-u-comp":"sheets-filter-panel-conditions-desc",className:"univer-mt-2 univer-text-xs univer-text-gray-500",children:[r.t("sheets-filter.panel.?"),d.jsx("br",{}),r.t("sheets-filter.panel.*")]})]}):null]})})}function Dt(t){const e=t.getCurrentLocale();return O.useMemo(()=>[{options:[{label:t.t(f.NONE.label),value:f.NONE.operator}]},{options:[{label:t.t(f.EMPTY.label),value:f.EMPTY.operator},{label:t.t(f.NOT_EMPTY.label),value:f.NOT_EMPTY.operator}]},{options:[{label:t.t(f.TEXT_CONTAINS.label),value:f.TEXT_CONTAINS.operator},{label:t.t(f.DOES_NOT_CONTAIN.label),value:f.DOES_NOT_CONTAIN.operator},{label:t.t(f.STARTS_WITH.label),value:f.STARTS_WITH.operator},{label:t.t(f.ENDS_WITH.label),value:f.ENDS_WITH.operator},{label:t.t(f.EQUALS.label),value:f.EQUALS.operator}]},{options:[{label:t.t(f.GREATER_THAN.label),value:f.GREATER_THAN.operator},{label:t.t(f.GREATER_THAN_OR_EQUAL.label),value:f.GREATER_THAN_OR_EQUAL.operator},{label:t.t(f.LESS_THAN.label),value:f.LESS_THAN.operator},{label:t.t(f.LESS_THAN_OR_EQUAL.label),value:f.LESS_THAN_OR_EQUAL.operator},{label:t.t(f.EQUAL.label),value:f.EQUAL.operator},{label:t.t(f.NOT_EQUAL.label),value:f.NOT_EQUAL.operator},{label:t.t(f.BETWEEN.label),value:f.BETWEEN.operator},{label:t.t(f.NOT_BETWEEN.label),value:f.NOT_BETWEEN.operator}]},{options:[{label:t.t(f.CUSTOM.label),value:f.CUSTOM.operator}]}],[e,t])}function Ht(t){const e=t.getCurrentLocale();return O.useMemo(()=>f.ALL_CONDITIONS.filter(r=>r.numOfParameters!==2).map(r=>({label:t.t(r.label),value:r.operator})),[e,t])}function Wt(t){const{model:e}=t,r=g.useDependency(u.LocaleService),s=g.useObservable(e.searchString$,"",!0),n=g.useObservable(e.filterItems$,void 0,!0),a=r.t("sheets-filter.panel.filter-only"),i=Pe(n),o=i.checked>0&&i.unchecked===0,l=i.checked>0&&i.unchecked>0,h=e.treeMapCache,m=O.useCallback(()=>{e.onCheckAllToggled(!o)},[e,o]),p=O.useCallback(v=>{e.setSearchString(v)},[e]);function E(v){let C=[];return v.forEach(T=>{T.checked&&C.push(T.key),T.children&&(C=C.concat(E(T.children)))}),C}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(y.Input,{autoFocus:!0,value:s,placeholder:r.t("sheets-filter.panel.search-placeholder"),onChange:p}),d.jsxs("div",{"data-u-comp":"sheets-filter-panel",className:y.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",y.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-pb-0 univer-pl-5 univer-pr-0.5 univer-pt-0 univer-text-sm",children:[d.jsx(y.Checkbox,{indeterminate:l,disabled:n.length===0,checked:o,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-overflow-hidden univer-text-ellipsis univer-whitespace-nowrap univer-text-gray-900 dark:!univer-text-white",children:`${r.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(y.Tree,{data:n,defaultExpandAll:!1,valueGroup:E(n),onChange:v=>{e.onFilterCheckToggled(v)},defaultCache:h,itemHeight:28,treeNodeClassName:`
1
+ "use strict";var st=Object.defineProperty;var nt=(r,e,t)=>e in r?st(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var _=(r,e,t)=>nt(r,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@univerjs/core"),c=require("@univerjs/sheets-filter"),M=require("@univerjs/sheets-ui"),g=require("@univerjs/ui"),z=require("@univerjs/engine-render"),y=require("@univerjs/sheets"),S=require("rxjs"),Fe=require("@univerjs/rpc"),I=require("@univerjs/design"),O=require("react"),d=require("react/jsx-runtime");var P=(r=>(r[r.FIRST=0]="FIRST",r[r.SECOND=1]="SECOND",r))(P||{}),F=(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))(F||{}),f;(r=>{r.NONE={label:"sheets-filter.conditions.none",operator:F.NONE,order:P.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NONE]: should not have initial form params!")},testMappingParams:i=>i.operator1===F.NONE,mapToFilterColumn:()=>null,testMappingFilterColumn:i=>!i.customFilters&&!i.filters?{}:!1},r.EMPTY={label:"sheets-filter.conditions.empty",operator:F.EMPTY,order:P.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===F.EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:""}]}}),testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.val===""&&o.operator===void 0?{operator1:F.EMPTY}:!1}},r.NOT_EMPTY={label:"sheets-filter.conditions.not-empty",operator:F.NOT_EMPTY,order:P.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NOT_EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===F.NOT_EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:"",operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.val===" "&&o.operator===c.CustomFilterOperator.NOT_EQUALS?{operator1:F.NOT_EMPTY}:!1}},r.TEXT_CONTAINS={label:"sheets-filter.conditions.text-contains",operator:F.CONTAINS,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.CONTAINS,val1:""}),testMappingParams:i=>{const[o]=B(i);return o===F.CONTAINS},mapToFilterColumn:i=>{const{val1:o}=i;return o===""?null:{customFilters:{customFilters:[{val:`*${o}*`}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return!o.operator&&l.startsWith("*")&&l.endsWith("*")?{operator1:F.CONTAINS,val1:l.slice(1,-1)}:!1}},r.DOES_NOT_CONTAIN={label:"sheets-filter.conditions.does-not-contain",operator:F.DOES_NOT_CONTAIN,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.DOES_NOT_CONTAIN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}*`,operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingParams:i=>{const[o]=B(i);return o===F.DOES_NOT_CONTAIN},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return o.operator===c.CustomFilterOperator.NOT_EQUALS&&l.startsWith("*")&&l.endsWith("*")?{operator1:F.DOES_NOT_CONTAIN,val1:l.slice(1,-1)}:!1}},r.STARTS_WITH={label:"sheets-filter.conditions.starts-with",operator:F.STARTS_WITH,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.STARTS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`${i.val1}*`}]}}),testMappingParams:i=>{const[o]=B(i);return o===F.STARTS_WITH},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return!o.operator&&l.endsWith("*")&&!l.startsWith("*")?{operator1:F.STARTS_WITH,val1:l.slice(0,-1)}:!1}},r.ENDS_WITH={label:"sheets-filter.conditions.ends-with",operator:F.ENDS_WITH,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.ENDS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}`}]}}),testMappingParams:i=>{const[o]=B(i);return o===F.ENDS_WITH},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return!o.operator&&l.startsWith("*")&&!l.endsWith("*")?{operator1:F.ENDS_WITH,val1:l.slice(1)}:!1}},r.EQUALS={label:"sheets-filter.conditions.equals",operator:F.EQUALS,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.EQUALS,val1:""}),testMappingParams:i=>{const[o]=B(i);return o===F.EQUALS},mapToFilterColumn:i=>{const{val1:o}=i;return o===""?null:{customFilters:{customFilters:[{val:o}]}}},testMappingFilterColumn:i=>{var o,l,h;return((l=(o=i.filters)==null?void 0:o.filters)==null?void 0:l.length)===1?{operator1:F.EQUALS,val1:""}:((h=i.customFilters)==null?void 0:h.customFilters.length)===1&&!i.customFilters.customFilters[0].operator?{operator1:F.EQUALS,val1:i.customFilters.customFilters[0].val.toString()}:!1}},r.GREATER_THAN={label:"sheets-filter.conditions.greater-than",operator:c.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.GREATER_THAN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.GREATER_THAN}]}}),testMappingParams:i=>{const[o]=B(i);return o===c.CustomFilterOperator.GREATER_THAN},testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.GREATER_THAN?!1:{operator1:c.CustomFilterOperator.GREATER_THAN,val1:o.val.toString()}}},r.GREATER_THAN_OR_EQUAL={label:"sheets-filter.conditions.greater-than-or-equal",operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,numOfParameters:1,order:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[o]=B(i);return o===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.GREATER_THAN_OR_EQUAL?!1:{operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:o.val.toString()}}},r.LESS_THAN={label:"sheets-filter.conditions.less-than",operator:c.CustomFilterOperator.LESS_THAN,numOfParameters:1,order:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN,val1:""}),testMappingParams:i=>{const[o]=B(i);return o===c.CustomFilterOperator.LESS_THAN},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.LESS_THAN}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.LESS_THAN?!1:{operator1:c.CustomFilterOperator.LESS_THAN,val1:o.val.toString()}}},r.LESS_THAN_OR_EQUAL={label:"sheets-filter.conditions.less-than-or-equal",operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,numOfParameters:1,order:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[o]=B(i);return o===c.CustomFilterOperator.LESS_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.LESS_THAN_OR_EQUAL?!1:{operator1:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:o.val.toString()}}},r.EQUAL={label:"sheets-filter.conditions.equal",operator:c.CustomFilterOperator.EQUAL,numOfParameters:1,order:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.EQUAL,val1:""}),testMappingParams:i=>{const[o]=B(i);return o===c.CustomFilterOperator.EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.EQUAL?!1:{operator1:c.CustomFilterOperator.EQUAL,val1:o.val.toString()}}},r.NOT_EQUAL={label:"sheets-filter.conditions.not-equal",operator:c.CustomFilterOperator.NOT_EQUALS,numOfParameters:1,order:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.NOT_EQUALS,val1:""}),testMappingParams:i=>{const[o]=B(i);return o===c.CustomFilterOperator.NOT_EQUALS},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.NOT_EQUALS?!1:{operator1:c.CustomFilterOperator.NOT_EQUALS,val1:o.val.toString()}}},r.BETWEEN={label:"sheets-filter.conditions.between",operator:F.BETWEEN,order:P.SECOND,numOfParameters:2,getDefaultFormParams:()=>({and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:"",operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:""}),testMappingParams:i=>{const{and:o,operator1:l,operator2:h}=i;if(!o)return!1;const m=[l,h];return m.includes(c.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&m.includes(c.CustomFilterOperator.LESS_THAN_OR_EQUAL)},mapToFilterColumn:i=>{const{val1:o,val2:l,operator1:h}=i,m=h===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:u.BooleanNumber.TRUE,customFilters:[{val:m?o:l,operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:m?l:o,operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const[o,l]=i.customFilters.customFilters;return o.operator===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&l.operator===c.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:o.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:l.val.toString()}:l.operator===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&o.operator===c.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:l.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:o.val.toLocaleString()}:!1}},r.NOT_BETWEEN={label:"sheets-filter.conditions.not-between",operator:F.NOT_BETWEEN,order:P.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN,val1:"",operator2:c.CustomFilterOperator.GREATER_THAN,val2:""}),testMappingParams:i=>{const{and:o,operator1:l,operator2:h}=i;if(o)return!1;const m=[l,h];return m.includes(c.CustomFilterOperator.GREATER_THAN)&&m.includes(c.CustomFilterOperator.LESS_THAN)},mapToFilterColumn:i=>{const{val1:o,val2:l,operator1:h}=i,m=h===c.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:m?o:l,operator:c.CustomFilterOperator.GREATER_THAN},{val:m?l:o,operator:c.CustomFilterOperator.LESS_THAN}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const[o,l]=i.customFilters.customFilters;return o.operator===c.CustomFilterOperator.LESS_THAN&&l.operator===c.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:c.CustomFilterOperator.LESS_THAN,val1:o.val.toString(),operator2:c.CustomFilterOperator.GREATER_THAN,val2:l.val.toString()}:l.operator===c.CustomFilterOperator.LESS_THAN&&o.operator===c.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:c.CustomFilterOperator.GREATER_THAN,val1:l.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN,val2:o.val.toLocaleString()}:!1}},r.CUSTOM={label:"sheets-filter.conditions.custom",operator:F.CUSTOM,order:P.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:F.NONE,val1:"",operator2:F.NONE,val2:""}),testMappingParams:()=>!0,mapToFilterColumn:i=>{const{and:o,val1:l,val2:h,operator1:m,operator2:p}=i;function E(w,R){for(const x of r.ALL_CONDITIONS)if(x.operator===w)return x.mapToFilterColumn({val1:R,operator1:w})}const v=!m||m===r.NONE.operator,C=!p||p===r.NONE.operator;if(v&&C)return r.NONE.mapToFilterColumn({});if(v)return E(p,h);if(C)return E(m,l);const T=E(m,l),N=E(p,h),b={customFilters:[T.customFilters.customFilters[0],N.customFilters.customFilters[0]]};return o&&(b.and=u.BooleanNumber.TRUE),{customFilters:b}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const o=i.customFilters.customFilters.map(m=>a({customFilters:{customFilters:[m]}})),l={operator1:o[0][0].operator,val1:o[0][1].val1,operator2:o[1][0].operator,val2:o[1][1].val1};return i.customFilters.and&&(l.and=!0),l}},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 o=r.ALL_CONDITIONS.find(l=>l.operator===i);if(!o)throw new Error(`[SheetsFilter]: no condition item found for operator: ${i}`);return o}r.getItemByOperator=e;function t(i,o){for(const l of r.ALL_CONDITIONS.filter(h=>h.numOfParameters===o))if(l.numOfParameters!==0&&l.testMappingParams(i))return l;for(const l of r.ALL_CONDITIONS)if(l.testMappingParams(i))return l;throw new Error("[SheetsFilter]: no condition item can be mapped from the filter map params!")}r.testMappingParams=t;function s(i){const o=r.ALL_CONDITIONS.find(l=>l.operator===i);return(o==null?void 0:o.numOfParameters)===0?{operator1:o.operator}:o.getDefaultFormParams()}r.getInitialFormParams=s;function n(i,o){return i.mapToFilterColumn(o)}r.mapToFilterColumn=n;function a(i){if(!i)return[r.NONE,{}];for(const o of r.ALL_CONDITIONS){const l=o.testMappingFilterColumn(i);if(l)return[o,l]}return[r.NONE,{}]}r.testMappingFilterColumn=a})(f||(f={}));function B(r){const{operator1:e,operator2:t,val1:s,val2:n}=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,s]:[t,n]}function Re(r){const e=[],t=[];let s=0,n=0;function a(i){i.leaf&&(i.checked?(e.push(i),s+=i.count):(t.push(i),n+=i.count)),i.children&&i.children.forEach(a)}return r.forEach(a),{checkedItems:e,uncheckedItems:t,checked:s,unchecked:n}}var ot=Object.getOwnPropertyDescriptor,lt=(r,e,t,s)=>{for(var n=s>1?void 0:s?ot(e,t):e,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=i(n)||n);return n},ye=(r,e)=>(t,s)=>e(t,s,r);const Me="sheets-filter.generate-filter-values.service",fe=u.createIdentifier(Me),at=["yyyy-mm-dd","yyyy-mm-dd;@","yyyy/mm/dd;@","yyyy/mm/dd hh:mm","yyyy-m-d am/pm h:mm","yyyy-MM-dd","yyyy/MM/dd","yyyy/mm/dd",'yyyy"年"MM"月"dd"日"',"MM-dd",'M"月"d"日"',"MM-dd A/P hh:mm"];let Pe=class extends u.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:s,filterColumn:n,filters:a,blankChecked:i,iterateRange:o,alreadyChecked:l}=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}),Ve(a,this._localeService,o,m,new Set(s),n,new Set(l.map(String)),i,h.getStyles()))}};Pe=lt([ye(0,u.Inject(u.LocaleService)),ye(1,u.IUniverInstanceService),ye(2,u.ILogService)],Pe);function Ve(r,e,t,s,n,a,i,o,l){var b,w,R,x,U,V,Q,J,j,L;const h=new Map,m=new Map,p="yyyy-mm-dd",E=new Set(at),v="empty",C=!r&&((a==null?void 0:a.filterBy)===c.FilterBy.COLORS||(a==null?void 0:a.filterBy)===c.FilterBy.CONDITIONS)&&((b=a.filteredOutRows)==null?void 0:b.size);let T=0;for(const $ of s.iterateByColumn(t,!1,!1)){const{row:Ee,rowSpan:$e=1}=$;let ee=0;for(;ee<$e;){const rt=Ee+ee;if(n.has(rt)){ee++;continue}const Z=$!=null&&$.value?u.extractPureTextFromCell($.value):"";if(!Z){T+=1,ee+=$e;continue}const me=(w=$.value)!=null&&w.v&&!$.value.p?(U=(x=l.get((R=$.value)==null?void 0:R.s))==null?void 0:x.n)==null?void 0:U.pattern:"",it=me&&u.numfmt.getFormatInfo(me).isDate;if(me&&it&&E.has(me)){const G=(V=s.getCellRaw($.row,$.col))==null?void 0:V.v;if(!G){ee++;continue}const te=u.numfmt.format(p,G),[A,D,le]=te.split("-").map(Number);let K=h.get(`${A}`);K||(K={title:`${A}`,key:`${A}`,children:[],count:0,leaf:!1,checked:!1},h.set(`${A}`,K),m.set(`${A}`,[`${A}`]));let W=(Q=K.children)==null?void 0:Q.find(Ie=>Ie.key===`${A}-${D}`);W||(W={title:e.t(`sheets-filter.date.${D}`),key:`${A}-${D}`,children:[],count:0,leaf:!1,checked:!1},(J=K.children)==null||J.push(W),m.set(`${A}-${D}`,[`${A}`,`${A}-${D}`]));const Oe=(j=W==null?void 0:W.children)==null?void 0:j.find(Ie=>Ie.key===`${A}-${D}-${le}`);Oe?(Oe.originValues.add(Z),Oe.count++,W.count++,K.count++):((L=W.children)==null||L.push({title:`${le}`,key:`${A}-${D}-${le}`,count:1,originValues:new Set([Z]),leaf:!0,checked:C?!1:i.size?i.has(Z):!o}),W.count++,K.count++,m.set(`${A}-${D}-${le}`,[`${A}`,`${A}-${D}`,`${A}-${D}-${le}`]))}else{const G=Z;let te=h.get(G);te?te.count++:(te={title:Z,leaf:!0,checked:C?!1:i.size?i.has(Z):!o,key:G,count:1},h.set(G,te),m.set(G,[G]))}ee++}}const N=C?!1:r?o:!0;if(T>0){const $={title:e.t("sheets-filter.panel.empty"),count:T,leaf:!0,checked:N,key:v};h.set("empty",$),m.set("empty",[v])}return{filterTreeItems:ct(Array.from(h.values())),filterTreeMapCache:m}}function ct(r){return Array.from(r).sort((e,t)=>e.children&&!t.children?-1:!e.children&&t.children?1:ut(e.title,t.title)).map(e=>(e.children&&e.children.sort((t,s)=>{const n=Number.parseInt(t.key.split("-")[1],10),a=Number.parseInt(s.key.split("-")[1],10);return n-a}).forEach(t=>{t.children&&t.children.sort((s,n)=>{const a=Number.parseInt(s.key.split("-")[2],10),i=Number.parseInt(n.key.split("-")[2],10);return a-i})}),e))}const Ue=r=>!Number.isNaN(Number(r))&&!Number.isNaN(Number.parseFloat(r));function ut(r,e){const t=Ue(r),s=Ue(e);return t&&s?Number.parseFloat(r)-Number.parseFloat(e):t&&!s?-1:!t&&s?1:r.localeCompare(e)}function Ae(r,e){for(const t of r){if(t.key===e)return t;if(t.children){const s=Ae(t.children,e);if(s)return s}}return null}function Qe(r){return r.leaf?r.checked:r.children?r.children.every(e=>Qe(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 Ge(r,e){const t=[];return r.forEach(s=>{const n=s.originValues?e.some(o=>Array.from(s.originValues).some(l=>l.toLowerCase().includes(o.toLowerCase()))):!1,a=!n&&e.some(o=>s.title.toLowerCase().includes(o.toLowerCase()));if(n||a)t.push({...s});else if(s.children){const o=Ge(s.children,e);if(o.length>0){const l=o.reduce((h,m)=>h+m.count,0);t.push({...s,count:l,children:o})}}}),t}var ht=Object.getOwnPropertyDescriptor,Te=(r,e,t,s)=>{for(var n=s>1?void 0:s?ht(e,t):e,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=i(n)||n);return n},ue=(r,e)=>(t,s)=>e(t,s,r);u.createIdentifier("sheets-filter-ui.sheets-filter-panel.service");let q=class extends u.Disposable{constructor(e,t){super();_(this,"_filterBy$",new S.BehaviorSubject(c.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 s=e.getFilterColumn(t);if(s){const n=s.getColumnData();if(n.customFilters){this._hasCriteria$.next(!0),this._setupByConditions(e,t);return}if(n.colorFilters){this._hasCriteria$.next(!0),this._setupByColors(e,t);return}if(n.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 c.FilterBy.VALUES:this._setupByValues(this._filterModel,this.col);break;case c.FilterBy.COLORS:this._setupByColors(this._filterModel,this.col);break;case c.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 s=e.unitId,n=e.subUnitId,a=e.getRange(),i={startColumn:t,startRow:a.startRow,endRow:a.startRow,endColumn:t};this._filterHeaderListener=this._refRangeService.watchRange(s,n,i,(o,l)=>{if(!l)this.terminate();else{const h=l.startColumn-o.startColumn;h!==0&&this._filterByModel.deltaCol(h)}})}async _setupByValues(e,t){this._disposePreviousModel();const s=e.getRange();if(s.startRow===s.endRow)return!1;const n=await _e.fromFilterColumn(this._injector,e,t);return this.filterByModel=n,this._filterBy$.next(c.FilterBy.VALUES),this._listenToFilterHeaderChange(e,t),!0}async _setupByColors(e,t){this._disposePreviousModel();const s=e.getRange();if(s.startRow===s.endRow)return!1;const n=await ge.fromFilterColumn(this._injector,e,t);return this.filterByModel=n,this._filterBy$.next(c.FilterBy.COLORS),this._listenToFilterHeaderChange(e,t),!0}_setupByConditions(e,t){this._disposePreviousModel();const s=e.getRange();if(s.startRow===s.endRow)return!1;const n=ve.fromFilterColumn(this._injector,e,t,e.getFilterColumn(t));return this.filterByModel=n,this._filterBy$.next(c.FilterBy.CONDITIONS),this._listenToFilterHeaderChange(e,t),!0}_disposePreviousModel(){var e;(e=this._filterByModel)==null||e.dispose(),this.filterByModel=null}};q=Te([ue(0,u.Inject(u.Injector)),ue(1,u.Inject(y.RefRangeService))],q);let ve=class extends u.Disposable{constructor(e,t,s,n,a){super();_(this,"canApply$",S.of(!0));_(this,"_conditionItem$");_(this,"conditionItem$");_(this,"_filterConditionFormParams$");_(this,"filterConditionFormParams$");this._filterModel=e,this.col=t,this._commandService=a,this._conditionItem$=new S.BehaviorSubject(s),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new S.BehaviorSubject(n),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}static fromFilterColumn(e,t,s,n){const[a,i]=f.testMappingFilterColumn(n==null?void 0:n.getColumnData());return e.createInstance(ve,t,s,a,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(c.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(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:e})}onPrimaryConditionChange(e){const t=f.ALL_CONDITIONS.find(s=>s.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 s=f.testMappingParams(t,this.conditionItem.numOfParameters);this._conditionItem$.next(s)}this._filterConditionFormParams$.next(t)}};ve=Te([ue(4,u.ICommandService)],ve);let _e=class extends u.Disposable{constructor(e,t,s,n,a){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=a,this._treeMapCache=n,this._searchString$=new S.BehaviorSubject(""),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new S.BehaviorSubject(s),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,o])=>{if(!i)return o;const h=i.toLowerCase().split(/\s+/).filter(m=>!!m);return Ge(o,h)})),this._manuallyUpdateFilterItems$).pipe(S.shareReplay(1)),this.canApply$=this.filterItems$.pipe(S.map(i=>Re(i).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(i=>this._filterItems=i))}static async fromFilterColumn(e,t,s){const n=e.get(u.IUniverInstanceService),a=e.get(u.LocaleService),i=e.get(fe,u.Quantity.OPTIONAL),{unitId:o,subUnitId:l}=t,h=n.getUniverSheetInstance(o);if(!h)throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${o}!`);const m=h==null?void 0:h.getSheetBySheetId(l);if(!m)throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${o} and subUnitId: ${l}!`);const p=t.getRange(),E=s,v=t.getFilterColumn(s),C=v==null?void 0:v.getColumnData().filters,T=new Set(C==null?void 0:C.filters),N=!!(C&&C.blank),b=t.getFilteredOutRowsExceptCol(s),w={...p,startRow:p.startRow+1,startColumn:E,endColumn:E};let R,x;if(i){const U=await i.getFilterValues({unitId:o,subUnitId:l,filteredOutRowsByOtherColumns:Array.from(b),filterColumn:v,filters:!!C,blankChecked:N,iterateRange:w,alreadyChecked:Array.from(T)});R=U.filterTreeItems,x=U.filterTreeMapCache}else{const U=Ve(!!C,a,w,m,b,v,T,N,h.getStyles());R=U.filterTreeItems,x=U.filterTreeMapCache}return e.createInstance(_e,t,s,R,x)}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=u.Tools.deepClone(this._filterItems);t.forEach(s=>ae(s,e)),this._manuallyUpdateFilterItems(t)}onFilterCheckToggled(e){const t=u.Tools.deepClone(this._filterItems),s=Ae(t,e.key);if(!s)return;const n=Qe(s);ae(s,!n),this._manuallyUpdateFilterItems(t)}onFilterOnly(e){const t=u.Tools.deepClone(this._filterItems);t.forEach(s=>ae(s,!1)),e.forEach(s=>{const n=Ae(t,s);n&&ae(n,!0)}),this._manuallyUpdateFilterItems(t)}_manuallyUpdateFilterItems(e){this._manuallyUpdateFilterItems$.next(e)}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const e=Re(this._filterItems),{checked:t,checkedItems:s}=e,n=this.rawFilterItems;let a=0;for(const h of n)a+=h.count;const i=t===0,o=e.checked===a,l={colId:this.col};if(i)throw new Error("[ByValuesModel]: no checked items!");if(o)return this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});{l.filters={};const h=s.filter(p=>p.key!=="empty");h.length>0&&(l.filters={filters:h.flatMap(p=>p.originValues?Array.from(p.originValues):[p.title])}),h.length!==s.length&&(l.filters.blank=!0)}return this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:l})}};_e=Te([ue(4,u.ICommandService)],_e);let ge=class extends u.Disposable{constructor(e,t,s,n,a){super();_(this,"canApply$",S.of(!0));_(this,"_cellFillColors$");_(this,"cellFillColors$");_(this,"_cellTextColors$");_(this,"cellTextColors$");this._filterModel=e,this.col=t,this._commandService=a,this._cellFillColors$=new S.BehaviorSubject(Array.from(s.values())),this.cellFillColors$=this._cellFillColors$.asObservable(),this._cellTextColors$=new S.BehaviorSubject(Array.from(n.values())),this.cellTextColors$=this._cellTextColors$.asObservable()}static async fromFilterColumn(e,t,s){var w,R,x;const n=e.get(u.IUniverInstanceService),{unitId:a,subUnitId:i}=t,o=n.getUniverSheetInstance(a);if(!o)throw new Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${a}!`);const l=o==null?void 0:o.getSheetBySheetId(i);if(!l)throw new Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${a} and subUnitId: ${i}!`);const h=t.getRange(),m=s,p=(w=t.getFilterColumn(s))==null?void 0:w.getColumnData().colorFilters,E=t.getFilteredOutRowsExceptCol(s),v={...h,startRow:h.startRow+1,startColumn:m,endColumn:m},C=new Map,T=new Set((R=p==null?void 0:p.cellFillColors)!=null?R:[]),N=new Map,b=new Set((x=p==null?void 0:p.cellTextColors)!=null?x:[]);for(const U of l.iterateByColumn(v,!1,!0)){const{row:V,col:Q,value:J}=U;if(E.has(V))continue;const j=l.getComposedCellStyleByCellData(V,Q,J);if(j.bg&&j.bg.rgb){const L=new u.ColorKit(j.bg.rgb).toRgbString();C.has(L)||C.set(L,{color:L,checked:T.has(L)})}else C.set("default-fill-color",{color:null,checked:T.has(null)});if(j.cl&&j.cl.rgb){const L=new u.ColorKit(j.cl.rgb).toRgbString();N.has(L)||N.set(L,{color:L,checked:b.has(L)})}else N.set("default-font-color",{color:z.COLOR_BLACK_RGB,checked:b.has(z.COLOR_BLACK_RGB)})}return e.createInstance(ge,t,s,C,N)}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(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}onFilterCheckToggled(e,t=!0){const s=t?this.cellFillColors:this.cellTextColors,n=[];let a=!1;for(let i=0;i<s.length;i++){const o=s[i];if(o.color===e.color){a=!0,n.push({color:o.color,checked:!o.checked});continue}n.push({color:o.color,checked:o.checked})}a&&(this._resetColorsCheckedStatus(!t),t?this._cellFillColors$.next([...n]):this._cellTextColors$.next([...n]))}_resetColorsCheckedStatus(e=!0){const t=e?this.cellFillColors:this.cellTextColors,s=[];for(let n=0;n<t.length;n++)s.push({color:t[n].color,checked:!1});e?this._cellFillColors$.next([...s]):this._cellTextColors$.next([...s])}async apply(){if(this._disposed)return!1;const e=this.cellFillColors.filter(n=>n.checked).map(n=>n.color),t=this.cellTextColors.filter(n=>n.checked).map(n=>n.color);if(e.length===0&&t.length===0)return this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});const s={colId:this.col};return e.length>0?s.colorFilters={cellFillColors:e}:t.length>0&&(s.colorFilters={cellTextColors:t}),this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:s})}};ge=Te([ue(4,u.ICommandService)],ge);const se="FILTER_PANEL_OPENED",he={id:"sheet.operation.open-filter-panel",type:u.CommandType.OPERATION,handler:(r,e)=>{const t=r.get(u.IContextService),s=r.get(c.SheetsFilterService),n=r.get(q),a=r.get(u.ICommandService),i=r.has(M.IEditorBridgeService)?r.get(M.IEditorBridgeService):null;i!=null&&i.isVisible().visible&&a.syncExecuteCommand(M.SetCellEditVisibleOperation.id,{visible:!1});const{unitId:o,subUnitId:l,col:h}=e,m=s.getFilterModel(o,l);return m?(n.setupCol(m,h),t.getContextValue(se)||t.setContextValue(se,!0),!0):!1}},ie={id:"sheet.operation.close-filter-panel",type:u.CommandType.OPERATION,handler:r=>{const e=r.get(u.IContextService),t=r.get(q),s=r.get(g.ILayoutService,u.Quantity.OPTIONAL);return e.getContextValue(se)?(e.setContextValue(se,!1),s==null||s.focus(),t.terminate()):!1}},Le={id:"sheet.operation.apply-filter",type:u.CommandType.OPERATION,handler:(r,e)=>{const{filterBy:t}=e;return r.get(q).changeFilterBy(t)}},Ye="sheets-filter-ui.config",Ce={};var dt=Object.getOwnPropertyDescriptor,mt=(r,e,t,s)=>{for(var n=s>1?void 0:s?dt(e,t):e,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=i(n)||n);return n},re=(r,e)=>(t,s)=>e(t,s,r);let ne=class extends u.Disposable{constructor(r,e,t,s,n,a){super(),this._sheetsFilterService=r,this._localeService=e,this._commandService=t,this._sheetPermissionCheckPermission=s,this._injector=n,this._sheetsSelectionService=a,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(r=>{var e,t,s;if(r.id===c.SmartToggleSheetsFilterCommand.id){const n=this._injector.get(u.IUniverInstanceService),a=y.getSheetCommandTarget(n);if(!a)return;const{unitId:i,subUnitId:o,worksheet:l}=a,h=(e=this._sheetsFilterService.getFilterModel(i,o))==null?void 0:e.getRange();let m;if(h)m=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[y.RangeProtectionPermissionViewPoint],worksheetTypes:[y.WorksheetFilterPermission,y.WorksheetViewPermission]},[h]);else{const p=(t=this._sheetsSelectionService.getCurrentLastSelection())==null?void 0:t.range;if(p){let E={...p};E=p.startColumn===p.endColumn&&p.startRow===p.endRow?y.expandToContinuousRange(E,{left:!0,right:!0,up:!0,down:!0},l):E,m=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[y.RangeProtectionPermissionViewPoint],worksheetTypes:[y.WorksheetViewPermission,y.WorksheetFilterPermission]},[E],i,o)}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 n=r.params,{unitId:a,subUnitId:i}=n,o=(s=this._sheetsFilterService.getFilterModel(a,i))==null?void 0:s.getRange(),l=u.Tools.deepClone(o);l&&(l.startColumn=n.col,l.endColumn=n.col,this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[y.RangeProtectionPermissionViewPoint],worksheetTypes:[y.WorksheetFilterPermission,y.WorksheetViewPermission]},[l])||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr")))}}))}};ne=mt([re(0,u.Inject(c.SheetsFilterService)),re(1,u.Inject(u.LocaleService)),re(2,u.ICommandService),re(3,u.Inject(y.SheetPermissionCheckController)),re(4,u.Inject(u.Injector)),re(5,u.Inject(y.SheetsSelectionsService))],ne);const Y=16,pt=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 ke{static drawNoCriteria(e,t,s,n){e.save(),z.Rect.drawWith(e,{radius:2,width:Y,height:Y,fill:n}),e.lineCap="square",e.strokeStyle=s,e.scale(t/Y,t/Y),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,s,n){e.save(),z.Rect.drawWith(e,{radius:2,width:Y,height:Y,fill:n}),e.scale(t/Y,t/Y),e.fillStyle=s,e.fill(pt),e.restore()}}var ft=Object.getOwnPropertyDescriptor,vt=(r,e,t,s)=>{for(var n=s>1?void 0:s?ft(e,t):e,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=i(n)||n);return n},Ne=(r,e)=>(t,s)=>e(t,s,r);const H=16,ce=1;let we=class extends z.Shape{constructor(e,t,s,n,a){super(e,t);_(this,"_cellWidth",0);_(this,"_cellHeight",0);_(this,"_filterParams");_(this,"_hovered",!1);this._contextService=s,this._commandService=n,this._themeService=a,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,s=this._cellWidth,n=H-s,a=H-t;e.save();const i=new Path2D;i.rect(n,a,s,t),e.clip(i);const{hasCriteria:o}=this._filterParams,l=this._themeService.getColorFromTheme("primary.600"),h=this._hovered?this._themeService.getColorFromTheme("gray.50"):"rgba(255, 255, 255, 1.0)";o?ke.drawHasCriteria(e,H,l,h):ke.drawNoCriteria(e,H,l,h),e.restore()}onPointerDown(e){if(e.button===2)return;const{col:t,unitId:s,subUnitId:n}=this._filterParams;this._contextService.getContextValue(se)||!this._commandService.hasCommand(he.id)||setTimeout(()=>{this._commandService.executeCommand(he.id,{unitId:s,subUnitId:n,col:t})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};we=vt([Ne(2,u.IContextService),Ne(3,u.ICommandService),Ne(4,u.Inject(u.ThemeService))],we);var _t=Object.getOwnPropertyDescriptor,gt=(r,e,t,s)=>{for(var n=s>1?void 0:s?_t(e,t):e,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=i(n)||n);return n},X=(r,e)=>(t,s)=>e(t,s,r);const Ct=1e3,St=5e3;function Ft(r,e,t,s){switch(s){case u.VerticalAlign.TOP:return r+ce;case u.VerticalAlign.MIDDLE:return r+Math.max(0,(t-H)/2);case u.VerticalAlign.BOTTOM:default:return e-H-ce}}let xe=class extends u.RxDisposable{constructor(e,t,s,n,a,i,o,l){super();_(this,"_filterRangeShape",null);_(this,"_buttonRenderDisposable",null);_(this,"_filterButtonShapes",[]);this._context=e,this._injector=t,this._sheetSkeletonManagerService=s,this._sheetsFilterService=n,this._themeService=a,this._sheetInterceptorService=i,this._commandService=o,this._selectionRenderService=l,this._initRenderer()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){this._sheetSkeletonManagerService.currentSkeleton$.pipe(S.switchMap(e=>{var o,l;if(!e)return S.of(null);const{unit:t,unitId:s}=this._context,n=((o=t.getActiveSheet())==null?void 0:o.getSheetId())||"",a=(l=this._sheetsFilterService.getFilterModel(s,n))!=null?l:void 0,i=()=>({unitId:s,worksheetId:n,filterModel:a,range:a==null?void 0:a.getRange(),skeleton:e.skeleton});return u.fromCallback(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(S.filter(([h])=>{var m;return h.type===u.CommandType.MUTATION&&((m=h.params)==null?void 0:m.unitId)===t.getUnitId()&&(c.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:s}=this._context,{rowHeaderWidth:n,columnHeaderHeight:a}=t,i=this._filterRangeShape=new M.SelectionControl(s,Ct,this._themeService,{rowHeaderWidth:n,columnHeaderHeight:a,enableAutoFill:!1,highlightHeader:!1}),o={range:e,primary:null,style:{fill:"rgba(0, 0, 0, 0.0)"}},l=M.attachSelectionWithCoord(o,t);i.updateRangeBySelectionWithCoord(l),i.setEvent(!1),s.makeDirty(!0)}_renderButtons(e){const{range:t,filterModel:s,unitId:n,skeleton:a,worksheetId:i}=e,{unit:o,scene:l}=this._context,h=o.getSheetBySheetId(i);if(!h)return;this._interceptCellContent(n,i,e.range);const{startColumn:m,endColumn:p,startRow:E}=t;for(let v=m;v<=p;v++){const C=`sheets-filter-button-${v}`,T=M.getCoordByCell(E,v,l,a),N=h.getComposedCellStyle(E,v),b=(N==null?void 0:N.vt)||u.VerticalAlign.BOTTOM,{startX:w,startY:R,endX:x,endY:U}=T,V=x-w,Q=U-R;if(Q<=ce||V<=ce)continue;const J=!!s.getFilterColumn(v),j=x-H-ce,L=Ft(R,U,Q,b),$={left:j,top:L,height:H,width:H,zIndex:St,cellHeight:Q,cellWidth:V,filterParams:{unitId:n,subUnitId:i,col:v,hasCriteria:J}},Ee=this._injector.createInstance(we,C,$);this._filterButtonShapes.push(Ee)}l.addObjects(this._filterButtonShapes),l.makeDirty()}_interceptCellContent(e,t,s){const{startRow:n,startColumn:a,endColumn:i}=s;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(y.INTERCEPTOR_POINT.CELL_CONTENT,{effect:u.InterceptorEffectEnum.Style,handler:(o,l,h)=>{const{row:m,col:p,unitId:E,subUnitId:v}=l;return E!==e||v!==t||m!==n||p<a||p>i||((!o||o===l.rawData)&&(o={...l.rawData}),o.fontRenderExtension={...o==null?void 0:o.fontRenderExtension,rightOffset:H}),h(o)},priority:10})}_disposeRendering(){var e,t;(e=this._filterRangeShape)==null||e.dispose(),this._filterButtonShapes.forEach(s=>s.dispose()),(t=this._buttonRenderDisposable)==null||t.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}};xe=gt([X(1,u.Inject(u.Injector)),X(2,u.Inject(M.SheetSkeletonManagerService)),X(3,u.Inject(c.SheetsFilterService)),X(4,u.Inject(u.ThemeService)),X(5,u.Inject(y.SheetInterceptorService)),X(6,u.ICommandService),X(7,M.ISheetSelectionRenderService)],xe);var Tt=Object.getOwnPropertyDescriptor,Et=(r,e,t,s)=>{for(var n=s>1?void 0:s?Tt(e,t):e,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=i(n)||n);return n},je=(r,e)=>(t,s)=>e(t,s,r);let de=class extends u.RxDisposable{constructor(r,e){super(),this._renderManagerService=r,this._sheetsRenderService=e,[c.SetSheetsFilterRangeMutation,c.SetSheetsFilterCriteriaMutation,c.RemoveSheetsFilterMutation,c.ReCalcSheetsFilterMutation].forEach(t=>this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(t.id))),this.disposeWithMe(this._renderManagerService.registerRenderModule(u.UniverInstanceType.UNIVER_SHEET,[xe]))}};de=Et([je(0,z.IRenderManagerService),je(1,u.Inject(M.SheetsRenderService))],de);var Ot=Object.defineProperty,It=Object.getOwnPropertyDescriptor,yt=(r,e,t)=>e in r?Ot(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Nt=(r,e,t,s)=>{for(var n=s>1?void 0:s?It(e,t):e,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=i(n)||n);return n},Be=(r,e)=>(t,s)=>e(t,s,r),qe=(r,e,t)=>yt(r,typeof e!="symbol"?e+"":e,t);const bt="SHEET_FILTER_UI_PLUGIN";exports.UniverSheetsFilterMobileUIPlugin=class extends u.Plugin{constructor(e=Ce,t,s){super(),this._config=e,this._injector=t,this._configService=s;const{menu:n,...a}=u.merge({},Ce,this._config);n&&this._configService.setConfig("menu",n,{merge:!0}),this._configService.setConfig(Ye,a)}onStarting(){[[ne],[de]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(ne)}onRendered(){this._injector.get(de)}};qe(exports.UniverSheetsFilterMobileUIPlugin,"type",u.UniverInstanceType.UNIVER_SHEET);qe(exports.UniverSheetsFilterMobileUIPlugin,"pluginName",bt);exports.UniverSheetsFilterMobileUIPlugin=Nt([u.DependentOn(c.UniverSheetsFilterPlugin),Be(1,u.Inject(u.Injector)),Be(2,u.IConfigService)],exports.UniverSheetsFilterMobileUIPlugin);function oe({ref:r,...e}){const{icon:t,id:s,className:n,extend:a,...i}=e,o=`univerjs-icon univerjs-icon-${s} ${n||""}`.trim(),l=O.useRef(`_${At()}`);return Ze(t,`${s}`,{defIds:t.defIds,idSuffix:l.current},{ref:r,className:o,...i},a)}function Ze(r,e,t,s,n){return O.createElement(r.tag,{key:e,...Rt(r,t,n),...s},(Pt(r,t).children||[]).map((a,i)=>Ze(a,`${e}-${r.tag}-${i}`,t,void 0,n)))}function Rt(r,e,t){const s={...r.attrs};t!=null&&t.colorChannel1&&s.fill==="colorChannel1"&&(s.fill=t.colorChannel1),r.tag==="mask"&&s.id&&(s.id=s.id+e.idSuffix),Object.entries(s).forEach(([a,i])=>{a==="mask"&&typeof i=="string"&&(s[a]=i.replace(/url\(#(.*)\)/,`url(#$1${e.idSuffix})`))});const{defIds:n}=e;return!n||n.length===0||(r.tag==="use"&&s["xlink:href"]&&(s["xlink:href"]=s["xlink:href"]+e.idSuffix),Object.entries(s).forEach(([a,i])=>{typeof i=="string"&&(s[a]=i.replace(/url\(#(.*)\)/,`url(#$1${e.idSuffix})`))})),s}function Pt(r,e){var s;const{defIds:t}=e;return!t||t.length===0?r:r.tag==="defs"&&((s=r.children)!=null&&s.length)?{...r,children:r.children.map(n=>typeof n.attrs.id=="string"&&t&&t.includes(n.attrs.id)?{...n,attrs:{...n.attrs,id:n.attrs.id+e.idSuffix}}:n)}:r}function At(){return Math.random().toString(36).substring(2,8)}oe.displayName="UniverIcon";const wt={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"}}]},Ke=O.forwardRef(function(e,t){return O.createElement(oe,Object.assign({},e,{id:"a-icon",ref:t,icon:wt}))});Ke.displayName="AIcon";const xt={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"}}]},Xe=O.forwardRef(function(e,t){return O.createElement(oe,Object.assign({},e,{id:"ban-icon",ref:t,icon:xt}))});Xe.displayName="BanIcon";const Mt={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=O.forwardRef(function(e,t){return O.createElement(oe,Object.assign({},e,{id:"filter-icon",ref:t,icon:Mt}))});ze.displayName="FilterIcon";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.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"}}]},Je=O.forwardRef(function(e,t){return O.createElement(oe,Object.assign({},e,{id:"info-icon",ref:t,icon:Lt}))});Je.displayName="InfoIcon";const $t={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8 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"}}]},et=O.forwardRef(function(e,t){return O.createElement(oe,Object.assign({},e,{id:"success-icon",ref:t,icon:$t}))});et.displayName="SuccessIcon";function Ut(r){const{model:e}=r,t=g.useDependency(u.LocaleService),s=g.useObservable(e.cellFillColors$,[],!0),n=g.useObservable(e.cellTextColors$,[],!0),a=O.useCallback(o=>{e.onFilterCheckToggled(o)},[e]),i=O.useCallback(o=>{e.onFilterCheckToggled(o,!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:I.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",I.borderClassName),children:[s.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:s.map((o,l)=>d.jsxs("div",{className:"univer-relative univer-h-6 univer-w-6",onClick:()=>a(o),children:[o.color?d.jsx("button",{type:"button",className:I.clsx("univer-box-border univer-h-6 univer-w-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:o.color}}):d.jsx(Xe,{className:"univer-h-6 univer-w-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white"}),o.checked&&d.jsx(De,{})]},`sheets-filter-cell-fill-color-${l}`))})]}),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-text-color")}),d.jsx("div",{className:"univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",children:n.map((o,l)=>d.jsxs("div",{className:"univer-relative univer-h-6 univer-w-6",onClick:()=>i(o),children:[d.jsx("div",{className:"univer-box-border univer-flex univer-h-full univer-w-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(Ke,{style:{color:o.color}})}),o.checked&&d.jsx(De,{})]},`sheets-filter-cell-text-color-${l}`))})]}),s.length<=1&&n.length<=1&&d.jsx("div",{className:"univer-flex univer-h-full univer-w-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 De(){return d.jsx("div",{className:"univer-absolute -univer-bottom-0.5 -univer-right-0.5 univer-flex univer-h-3 univer-w-3 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white",children:d.jsx(et,{className:"univer-h-full univer-w-full univer-font-bold univer-text-[#418F1F]"})})}function kt(r){var v,C;const{model:e}=r,t=g.useDependency(u.LocaleService),s=g.useObservable(e.conditionItem$,void 0),n=g.useObservable(e.filterConditionFormParams$,void 0),a=n!=null&&n.and?"AND":"OR",i=O.useCallback(T=>{e.onConditionFormChange({and:T==="AND"})},[e]),o=jt(t),l=O.useCallback(T=>{e.onPrimaryConditionChange(T)},[e]),h=Bt(t),m=O.useCallback(T=>{e.onConditionFormChange(T)},[e]),p=t.t("sheets-filter.panel.input-values-placeholder");function E(T,N,b){const w=f.getItemByOperator(T).numOfParameters===1;return d.jsxs(d.Fragment,{children:[b==="operator2"&&d.jsxs(I.RadioGroup,{value:a,onChange:i,children:[d.jsx(I.Radio,{value:"AND",children:t.t("sheets-filter.panel.and")}),d.jsx(I.Radio,{value:"OR",children:t.t("sheets-filter.panel.or")})]}),d.jsx(I.Select,{value:T,options:h,onChange:R=>m({[b]:R})}),w&&d.jsx("div",{children:d.jsx(I.Input,{className:"univer-mt-2",value:N,placeholder:p,onChange:R=>m({[b==="operator1"?"val1":"val2"]:R})})})]})}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:s&&n&&d.jsxs(d.Fragment,{children:[d.jsx(I.Select,{value:s.operator,options:o,onChange:l}),f.getItemByOperator(s.operator).numOfParameters!==0?d.jsxs("div",{"data-u-comp":"sheets-filter-panel-conditions-container-inner",className:I.clsx("univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2",I.borderClassName),children:[s.numOfParameters>=1&&E(n.operator1,(v=n.val1)!=null?v:"","operator1"),s.numOfParameters>=2&&E(n.operator2,(C=n.val2)!=null?C:"","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 jt(r){const e=r.getCurrentLocale();return O.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 Bt(r){const e=r.getCurrentLocale();return O.useMemo(()=>f.ALL_CONDITIONS.filter(t=>t.numOfParameters!==2).map(t=>({label:r.t(t.label),value:t.operator})),[e,r])}function Dt(r){const{model:e}=r,t=g.useDependency(u.LocaleService),s=g.useObservable(e.searchString$,"",!0),n=g.useObservable(e.filterItems$,void 0,!0),a=t.t("sheets-filter.panel.filter-only"),i=Re(n),o=i.checked>0&&i.unchecked===0,l=i.checked>0&&i.unchecked>0,h=e.treeMapCache,m=O.useCallback(()=>{e.onCheckAllToggled(!o)},[e,o]),p=O.useCallback(v=>{e.setSearchString(v)},[e]);function E(v){let C=[];return v.forEach(T=>{T.checked&&C.push(T.key),T.children&&(C=C.concat(E(T.children)))}),C}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(I.Input,{autoFocus:!0,value:s,placeholder:t.t("sheets-filter.panel.search-placeholder"),onChange:p}),d.jsxs("div",{"data-u-comp":"sheets-filter-panel",className:I.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",I.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-pb-0 univer-pl-5 univer-pr-0.5 univer-pt-0 univer-text-sm",children:[d.jsx(I.Checkbox,{indeterminate:l,disabled:n.length===0,checked:o,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-overflow-hidden univer-text-ellipsis univer-whitespace-nowrap 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(I.Tree,{data:n,defaultExpandAll:!1,valueGroup:E(n),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 C=[];v.children?v.children.forEach(T=>{T.children?T.children.forEach(b=>{C.push(b.key)}):C.push(T.key)}):C.push(v.key),e.onFilterOnly(C)},children:a})]})})})]})]})}function Vt(){const t=g.useDependency(c.SheetsFilterSyncController);if(!g.useObservable(t.visible$,void 0,!0))return null;const r=g.useDependency(u.LocaleService),s=g.useDependency(g.IMessageService),n=g.useObservable(t.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:r.t("sheets-filter.sync.title")}),d.jsx(y.Tooltip,{title:n?r.t("sheets-filter.sync.statusTips.off"):r.t("sheets-filter.sync.statusTips.on"),asChild:!0,children:d.jsx(et,{className:"univer-block"})})]}),d.jsx(y.Switch,{defaultChecked:n,onChange:a=>{const i=a?r.t("sheets-filter.sync.switchTips.on"):r.t("sheets-filter.sync.switchTips.off");t.setEnabled(a),s.show({content:i,type:y.MessageType.Success,duration:2e3})}})]})}function Qt(){var b;const t=g.useDependency(Z),e=g.useDependency(u.LocaleService),r=g.useDependency(u.ICommandService),s=g.useObservable(t.filterBy$,void 0,!0),n=g.useObservable(t.filterByModel$,void 0,!1),a=g.useObservable(()=>(n==null?void 0:n.canApply$)||S.of(!1),void 0,!1,[n]),i=Gt(e),o=!g.useObservable(t.hasCriteria$),l=O.useCallback(N=>{r.executeCommand($e.id,{filterBy:N})},[r]),h=O.useCallback(async()=>{await(n==null?void 0:n.clear()),r.executeCommand(se.id)},[n,r]),m=O.useCallback(()=>{r.executeCommand(se.id)},[r]),p=O.useCallback(async()=>{await(n==null?void 0:n.apply()),r.executeCommand(se.id)},[n,r]),v=(b=g.useDependency(c.SheetsFilterService).activeFilterModel)==null?void 0:b.getRange(),C=t.col,T=g.useComponentsOfPart(M.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:T,sharedProps:{range:v,colIndex:C,onClose:m}}),d.jsx("div",{className:"univer-mb-1 univer-flex-shrink-0 univer-flex-grow-0",children:d.jsx(y.Segmented,{value:s,items:i,onChange:N=>l(N)})}),n?d.jsx("div",{"data-u-comp":"sheets-filter-panel-content",className:"univer-flex-shrink univer-flex-grow univer-pt-2",children:s===c.FilterBy.VALUES?d.jsx(Wt,{model:n}):s===c.FilterBy.COLORS?d.jsx(jt,{model:n}):d.jsx(Bt,{model:n})}):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(y.Button,{variant:"link",onClick:h,disabled:o,children:e.t("sheets-filter.panel.clear-filter")}),d.jsxs("span",{className:"univer-flex univer-gap-2",children:[d.jsx(y.Button,{variant:"default",onClick:m,children:e.t("sheets-filter.panel.cancel")}),d.jsx(y.Button,{disabled:!a,variant:"primary",onClick:p,children:e.t("sheets-filter.panel.confirm")})]})]})]})}function Gt(t){const e=t.getCurrentLocale();return O.useMemo(()=>[{label:t.t("sheets-filter.panel.by-values"),value:c.FilterBy.VALUES},{label:t.t("sheets-filter.panel.by-colors"),value:c.FilterBy.COLORS},{label:t.t("sheets-filter.panel.by-conditions"),value:c.FilterBy.CONDITIONS}],[e,t])}function Yt(t){const e=t.get(c.SheetsFilterService);return{id:c.SmartToggleSheetsFilterCommand.id,type:g.MenuItemType.BUTTON_SELECTOR,icon:"FilterIcon",tooltip:"sheets-filter.toolbar.smart-toggle-filter-tooltip",hidden$:g.getMenuHiddenObservable(t,u.UniverInstanceType.UNIVER_SHEET),activated$:e.activeFilterModel$.pipe(S.map(r=>!!r)),disabled$:M.getObservableWithExclusiveRange$(t,M.getCurrentRangeDisable$(t,{worksheetTypes:[I.WorksheetFilterPermission,I.WorksheetViewPermission],rangeTypes:[I.RangeProtectionPermissionViewPoint]}))}}function qt(t){const e=t.get(c.SheetsFilterService);return{id:c.ClearSheetsFilterCriteriaCommand.id,type:g.MenuItemType.BUTTON,title:"sheets-filter.toolbar.clear-filter-criteria",hidden$:g.getMenuHiddenObservable(t,u.UniverInstanceType.UNIVER_SHEET),disabled$:e.activeFilterModel$.pipe(S.switchMap(r=>{var s;return(s=r==null?void 0:r.hasCriteria$.pipe(S.map(n=>!n)))!=null?s:S.of(!0)}))}}function Zt(t){const e=t.get(c.SheetsFilterService);return{id:c.ReCalcSheetsFilterCommand.id,type:g.MenuItemType.BUTTON,title:"sheets-filter.toolbar.re-calc-filter-conditions",hidden$:g.getMenuHiddenObservable(t,u.UniverInstanceType.UNIVER_SHEET),disabled$:e.activeFilterModel$.pipe(S.switchMap(r=>{var s;return(s=r==null?void 0:r.hasCriteria$.pipe(S.map(n=>!n)))!=null?s:S.of(!0)}))}}const Kt={[g.RibbonDataGroup.ORGANIZATION]:{[c.SmartToggleSheetsFilterCommand.id]:{order:2,menuItemFactory:Yt,[c.ClearSheetsFilterCriteriaCommand.id]:{order:0,menuItemFactory:qt},[c.ReCalcSheetsFilterCommand.id]:{order:1,menuItemFactory:Zt}}}},Xt={id:c.SmartToggleSheetsFilterCommand.id,binding:g.KeyCode.L|g.MetaKeys.CTRL_COMMAND|g.MetaKeys.SHIFT,description:"sheets-filter.shortcut.smart-toggle-filter",preconditions:M.whenSheetEditorFocused,group:"4_sheet-edit"};var zt=Object.getOwnPropertyDescriptor,Jt=(t,e,r,s)=>{for(var n=s>1?void 0:s?zt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},k=(t,e)=>(r,s)=>e(r,s,t);const We="FILTER_PANEL_POPUP";let Fe=class extends me{constructor(e,r,s,n,a,i,o,l,h,m,p,E,v){super(v,E);_(this,"_popupDisposable");this._injector=e,this._componentManager=r,this._sheetsFilterPanelService=s,this._sheetCanvasPopupService=n,this._sheetsFilterService=a,this._localeService=i,this._shortcutService=o,this._commandService=l,this._menuManagerService=h,this._contextService=m,this._messageService=p,this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[Xt].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initCommands(){[c.SmartToggleSheetsFilterCommand,c.RemoveSheetFilterCommand,c.SetSheetFilterRangeCommand,c.SetSheetsFilterCriteriaCommand,c.ClearSheetsFilterCriteriaCommand,c.ReCalcSheetsFilterCommand,$e,de,se].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenuItems(){this._menuManagerService.mergeMenu(Kt)}_initUI(){[[We,Qt],["FilterIcon",Je]].forEach(([e,r])=>{this.disposeWithMe(this._componentManager.register(e,r))}),this.disposeWithMe(this._contextService.subscribeContextValue$(ne).pipe(S.distinctUntilChanged()).subscribe(e=>{e?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(e=>{e&&this._messageService.show({type:y.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 r=e.getRange(),s=this._sheetsFilterPanelService.col,{startRow:n}=r;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(n,s,{componentKey:We,direction:"horizontal",onClickOutside:()=>this._commandService.syncExecuteCommand(se.id),offset:[5,0]})}_closeFilterPopup(){var e;(e=this._popupDisposable)==null||e.dispose(),this._popupDisposable=null}};Fe=Jt([k(0,u.Inject(u.Injector)),k(1,u.Inject(g.ComponentManager)),k(2,u.Inject(Z)),k(3,u.Inject(M.SheetCanvasPopManagerService)),k(4,u.Inject(c.SheetsFilterService)),k(5,u.Inject(u.LocaleService)),k(6,g.IShortcutService),k(7,u.ICommandService),k(8,g.IMenuManagerService),k(9,u.IContextService),k(10,g.IMessageService),k(11,u.Inject(M.SheetsRenderService)),k(12,J.IRenderManagerService)],Fe);var er=Object.defineProperty,tr=Object.getOwnPropertyDescriptor,rr=(t,e,r)=>e in t?er(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ir=(t,e,r,s)=>{for(var n=s>1?void 0:s?tr(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},Re=(t,e)=>(r,s)=>e(r,s,t),rt=(t,e,r)=>rr(t,typeof e!="symbol"?e+"":e,r);const sr="SHEET_FILTER_UI_PLUGIN";exports.UniverSheetsFilterUIPlugin=class extends u.Plugin{constructor(e=Se,r,s,n){super(),this._config=e,this._injector=r,this._configService=s,this._rpcChannelService=n;const{menu:a,...i}=u.merge({},Se,this._config);a&&this._configService.setConfig("menu",a,{merge:!0}),this._configService.setConfig(qe,i)}onStarting(){u.registerDependencies(this._injector,[[Z],[oe],[Fe]]),this._config.useRemoteFilterValuesGenerator&&this._rpcChannelService&&this._injector.add([ve,{useFactory:()=>Te.toModule(this._rpcChannelService.requestChannel(Le))}])}onReady(){u.touchDependencies(this._injector,[[oe]])}onRendered(){u.touchDependencies(this._injector,[[Fe]])}};rt(exports.UniverSheetsFilterUIPlugin,"type",u.UniverInstanceType.UNIVER_SHEET);rt(exports.UniverSheetsFilterUIPlugin,"pluginName",sr);exports.UniverSheetsFilterUIPlugin=ir([u.DependentOn(c.UniverSheetsFilterPlugin),Re(1,u.Inject(u.Injector)),Re(2,u.IConfigService),Re(3,u.Optional(Te.IRPCChannelService))],exports.UniverSheetsFilterUIPlugin);var nr=Object.getOwnPropertyDescriptor,or=(t,e,r,s)=>{for(var n=s>1?void 0:s?nr(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},Ve=(t,e)=>(r,s)=>e(r,s,t),fe;exports.UniverSheetsFilterUIWorkerPlugin=(fe=class extends u.Plugin{constructor(e,r,s){super(),this._config=e,this._injector=r,this._rpcChannelService=s}onStarting(){[[ve,{useClass:Ae}]].forEach(e=>this._injector.add(e))}onReady(){this._rpcChannelService.registerChannel(Le,Te.fromModule(this._injector.get(ve)))}},_(fe,"type",u.UniverInstanceType.UNIVER_SHEET),_(fe,"pluginName","SHEET_FILTER_UI_WORKER_PLUGIN"),fe);exports.UniverSheetsFilterUIWorkerPlugin=or([Ve(1,u.Inject(u.Injector)),Ve(2,Te.IRPCChannelService)],exports.UniverSheetsFilterUIWorkerPlugin);exports.ChangeFilterByOperation=$e;exports.CloseFilterPanelOperation=se;exports.OpenFilterPanelOperation=de;
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 C=[];v.children?v.children.forEach(T=>{T.children?T.children.forEach(N=>{C.push(N.key)}):C.push(T.key)}):C.push(v.key),e.onFilterOnly(C)},children:a})]})})})]})]})}function Ht(){const r=g.useDependency(c.SheetsFilterSyncController);if(!g.useObservable(r.visible$,void 0,!0))return null;const t=g.useDependency(u.LocaleService),s=g.useDependency(g.IMessageService),n=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(I.Tooltip,{title:n?t.t("sheets-filter.sync.statusTips.off"):t.t("sheets-filter.sync.statusTips.on"),asChild:!0,children:d.jsx(Je,{className:"univer-block"})})]}),d.jsx(I.Switch,{defaultChecked:n,onChange:a=>{const i=a?t.t("sheets-filter.sync.switchTips.on"):t.t("sheets-filter.sync.switchTips.off");r.setEnabled(a),s.show({content:i,type:I.MessageType.Success,duration:2e3})}})]})}function Wt(){var N;const r=g.useDependency(q),e=g.useDependency(u.LocaleService),t=g.useDependency(u.ICommandService),s=g.useObservable(r.filterBy$,void 0,!0),n=g.useObservable(r.filterByModel$,void 0,!1),a=g.useObservable(()=>(n==null?void 0:n.canApply$)||S.of(!1),void 0,!1,[n]),i=Vt(e),o=!g.useObservable(r.hasCriteria$),l=O.useCallback(b=>{t.executeCommand(Le.id,{filterBy:b})},[t]),h=O.useCallback(async()=>{await(n==null?void 0:n.clear()),t.executeCommand(ie.id)},[n,t]),m=O.useCallback(()=>{t.executeCommand(ie.id)},[t]),p=O.useCallback(async()=>{await(n==null?void 0:n.apply()),t.executeCommand(ie.id)},[n,t]),v=(N=g.useDependency(c.SheetsFilterService).activeFilterModel)==null?void 0:N.getRange(),C=r.col,T=g.useComponentsOfPart(M.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:T,sharedProps:{range:v,colIndex:C,onClose:m}}),d.jsx("div",{className:"univer-mb-1 univer-flex-shrink-0 univer-flex-grow-0",children:d.jsx(I.Segmented,{value:s,items:i,onChange:b=>l(b)})}),n?d.jsx("div",{"data-u-comp":"sheets-filter-panel-content",className:"univer-flex-shrink univer-flex-grow univer-pt-2",children:s===c.FilterBy.VALUES?d.jsx(Dt,{model:n}):s===c.FilterBy.COLORS?d.jsx(Ut,{model:n}):d.jsx(kt,{model:n})}):d.jsx("div",{className:"univer-flex-1"}),d.jsx(Ht,{}),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(I.Button,{variant:"link",onClick:h,disabled:o,children:e.t("sheets-filter.panel.clear-filter")}),d.jsxs("span",{className:"univer-flex univer-gap-2",children:[d.jsx(I.Button,{variant:"default",onClick:m,children:e.t("sheets-filter.panel.cancel")}),d.jsx(I.Button,{disabled:!a,variant:"primary",onClick:p,children:e.t("sheets-filter.panel.confirm")})]})]})]})}function Vt(r){const e=r.getCurrentLocale();return O.useMemo(()=>[{label:r.t("sheets-filter.panel.by-values"),value:c.FilterBy.VALUES},{label:r.t("sheets-filter.panel.by-colors"),value:c.FilterBy.COLORS},{label:r.t("sheets-filter.panel.by-conditions"),value:c.FilterBy.CONDITIONS}],[e,r])}function Qt(r){const e=r.get(c.SheetsFilterService);return{id:c.SmartToggleSheetsFilterCommand.id,type:g.MenuItemType.BUTTON_SELECTOR,icon:"FilterIcon",tooltip:"sheets-filter.toolbar.smart-toggle-filter-tooltip",hidden$:g.getMenuHiddenObservable(r,u.UniverInstanceType.UNIVER_SHEET),activated$:e.activeFilterModel$.pipe(S.map(t=>!!t)),disabled$:M.getObservableWithExclusiveRange$(r,M.getCurrentRangeDisable$(r,{worksheetTypes:[y.WorksheetFilterPermission,y.WorksheetViewPermission],rangeTypes:[y.RangeProtectionPermissionViewPoint]}))}}function Gt(r){const e=r.get(c.SheetsFilterService);return{id:c.ClearSheetsFilterCriteriaCommand.id,type:g.MenuItemType.BUTTON,title:"sheets-filter.toolbar.clear-filter-criteria",hidden$:g.getMenuHiddenObservable(r,u.UniverInstanceType.UNIVER_SHEET),disabled$:e.activeFilterModel$.pipe(S.switchMap(t=>{var s;return(s=t==null?void 0:t.hasCriteria$.pipe(S.map(n=>!n)))!=null?s:S.of(!0)}))}}function Yt(r){const e=r.get(c.SheetsFilterService);return{id:c.ReCalcSheetsFilterCommand.id,type:g.MenuItemType.BUTTON,title:"sheets-filter.toolbar.re-calc-filter-conditions",hidden$:g.getMenuHiddenObservable(r,u.UniverInstanceType.UNIVER_SHEET),disabled$:e.activeFilterModel$.pipe(S.switchMap(t=>{var s;return(s=t==null?void 0:t.hasCriteria$.pipe(S.map(n=>!n)))!=null?s:S.of(!0)}))}}const qt={[g.RibbonDataGroup.ORGANIZATION]:{[c.SmartToggleSheetsFilterCommand.id]:{order:2,menuItemFactory:Qt,[c.ClearSheetsFilterCriteriaCommand.id]:{order:0,menuItemFactory:Gt},[c.ReCalcSheetsFilterCommand.id]:{order:1,menuItemFactory:Yt}}}},Zt={id:c.SmartToggleSheetsFilterCommand.id,binding:g.KeyCode.L|g.MetaKeys.CTRL_COMMAND|g.MetaKeys.SHIFT,description:"sheets-filter.shortcut.smart-toggle-filter",preconditions:M.whenSheetEditorFocused,group:"4_sheet-edit"};var Kt=Object.getOwnPropertyDescriptor,Xt=(r,e,t,s)=>{for(var n=s>1?void 0:s?Kt(e,t):e,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=i(n)||n);return n},k=(r,e)=>(t,s)=>e(t,s,r);const He="FILTER_PANEL_POPUP";let Se=class extends de{constructor(e,t,s,n,a,i,o,l,h,m,p,E,v){super(v,E);_(this,"_popupDisposable");this._injector=e,this._componentManager=t,this._sheetsFilterPanelService=s,this._sheetCanvasPopupService=n,this._sheetsFilterService=a,this._localeService=i,this._shortcutService=o,this._commandService=l,this._menuManagerService=h,this._contextService=m,this._messageService=p,this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[Zt].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initCommands(){[c.SmartToggleSheetsFilterCommand,c.RemoveSheetFilterCommand,c.SetSheetFilterRangeCommand,c.SetSheetsFilterCriteriaCommand,c.ClearSheetsFilterCriteriaCommand,c.ReCalcSheetsFilterCommand,Le,he,ie].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenuItems(){this._menuManagerService.mergeMenu(qt)}_initUI(){[[He,Wt],["FilterIcon",ze]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))}),this.disposeWithMe(this._contextService.subscribeContextValue$(se).pipe(S.distinctUntilChanged()).subscribe(e=>{e?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(e=>{e&&this._messageService.show({type:I.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(),s=this._sheetsFilterPanelService.col,{startRow:n}=t;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(n,s,{componentKey:He,direction:"horizontal",onClickOutside:()=>this._commandService.syncExecuteCommand(ie.id),offset:[5,0]})}_closeFilterPopup(){var e;(e=this._popupDisposable)==null||e.dispose(),this._popupDisposable=null}};Se=Xt([k(0,u.Inject(u.Injector)),k(1,u.Inject(g.ComponentManager)),k(2,u.Inject(q)),k(3,u.Inject(M.SheetCanvasPopManagerService)),k(4,u.Inject(c.SheetsFilterService)),k(5,u.Inject(u.LocaleService)),k(6,g.IShortcutService),k(7,u.ICommandService),k(8,g.IMenuManagerService),k(9,u.IContextService),k(10,g.IMessageService),k(11,u.Inject(M.SheetsRenderService)),k(12,z.IRenderManagerService)],Se);var zt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,er=(r,e,t)=>e in r?zt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,tr=(r,e,t,s)=>{for(var n=s>1?void 0:s?Jt(e,t):e,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=i(n)||n);return n},be=(r,e)=>(t,s)=>e(t,s,r),tt=(r,e,t)=>er(r,typeof e!="symbol"?e+"":e,t);const rr="SHEET_FILTER_UI_PLUGIN";exports.UniverSheetsFilterUIPlugin=class extends u.Plugin{constructor(e=Ce,t,s,n){super(),this._config=e,this._injector=t,this._configService=s,this._rpcChannelService=n;const{menu:a,...i}=u.merge({},Ce,this._config);a&&this._configService.setConfig("menu",a,{merge:!0}),this._configService.setConfig(Ye,i)}onStarting(){u.registerDependencies(this._injector,[[q],[ne],[Se]]),this._config.useRemoteFilterValuesGenerator&&this._rpcChannelService&&this._injector.add([fe,{useFactory:()=>Fe.toModule(this._rpcChannelService.requestChannel(Me))}])}onReady(){u.touchDependencies(this._injector,[[ne]])}onRendered(){u.touchDependencies(this._injector,[[Se]])}};tt(exports.UniverSheetsFilterUIPlugin,"type",u.UniverInstanceType.UNIVER_SHEET);tt(exports.UniverSheetsFilterUIPlugin,"pluginName",rr);exports.UniverSheetsFilterUIPlugin=tr([u.DependentOn(c.UniverSheetsFilterPlugin),be(1,u.Inject(u.Injector)),be(2,u.IConfigService),be(3,u.Optional(Fe.IRPCChannelService))],exports.UniverSheetsFilterUIPlugin);var ir=Object.getOwnPropertyDescriptor,sr=(r,e,t,s)=>{for(var n=s>1?void 0:s?ir(e,t):e,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=i(n)||n);return n},We=(r,e)=>(t,s)=>e(t,s,r),pe;exports.UniverSheetsFilterUIWorkerPlugin=(pe=class extends u.Plugin{constructor(e,t,s){super(),this._config=e,this._injector=t,this._rpcChannelService=s}onStarting(){[[fe,{useClass:Pe}]].forEach(e=>this._injector.add(e))}onReady(){this._rpcChannelService.registerChannel(Me,Fe.fromModule(this._injector.get(fe)))}},_(pe,"type",u.UniverInstanceType.UNIVER_SHEET),_(pe,"pluginName","SHEET_FILTER_UI_WORKER_PLUGIN"),pe);exports.UniverSheetsFilterUIWorkerPlugin=sr([We(1,u.Inject(u.Injector)),We(2,Fe.IRPCChannelService)],exports.UniverSheetsFilterUIWorkerPlugin);exports.ChangeFilterByOperation=Le;exports.CloseFilterPanelOperation=ie;exports.OpenFilterPanelOperation=he;