@univerjs/sheets-filter-ui 0.3.0 → 0.4.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@univerjs/core"),sheetsFilter=require("@univerjs/sheets-filter"),rpc=require("@univerjs/rpc"),ui=require("@univerjs/ui"),rxjs=require("rxjs"),sheetsUi=require("@univerjs/sheets-ui"),engineRender=require("@univerjs/engine-render"),design=require("@univerjs/design"),sheets=require("@univerjs/sheets"),React=require("react"),ReactDOM=require("react-dom");function _interopNamespaceDefault(e2){const n2=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e2){for(const k2 in e2)if(k2!=="default"){const d2=Object.getOwnPropertyDescriptor(e2,k2);Object.defineProperty(n2,k2,d2.get?d2:{enumerable:!0,get:__name(()=>e2[k2],"get")})}}return n2.default=e2,Object.freeze(n2)}__name(_interopNamespaceDefault,"_interopNamespaceDefault");const React__namespace=_interopNamespaceDefault(React);var __assign=function(){return __assign=Object.assign||function(t2){for(var s,i=1,n2=arguments.length;i<n2;i++){s=arguments[i];for(var p2 in s)Object.prototype.hasOwnProperty.call(s,p2)&&(t2[p2]=s[p2])}return t2},__assign.apply(this,arguments)},__rest=function(s,e2){var t2={};for(var p2 in s)Object.prototype.hasOwnProperty.call(s,p2)&&e2.indexOf(p2)<0&&(t2[p2]=s[p2]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,p2=Object.getOwnPropertySymbols(s);i<p2.length;i++)e2.indexOf(p2[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p2[i])&&(t2[p2[i]]=s[p2[i]]);return t2},IconBase=React.forwardRef(function(props,ref){var icon=props.icon,id=props.id,className=props.className,extend=props.extend,restProps=__rest(props,["icon","id","className","extend"]),cls="univerjs-icon univerjs-icon-".concat(id," ").concat(className||"").trim(),idSuffix=React.useRef("_".concat(generateShortUuid()));return render(icon,"".concat(id),{defIds:icon.defIds,idSuffix:idSuffix.current},__assign({ref,className:cls},restProps),extend)});function render(node,id,runtimeProps,rootProps,extend){return React.createElement(node.tag,__assign(__assign({key:id},replaceRuntimeIdsAndExtInAttrs(node,runtimeProps,extend)),rootProps),(replaceRuntimeIdsInDefs(node,runtimeProps).children||[]).map(function(child,index2){return render(child,"".concat(id,"-").concat(node.tag,"-").concat(index2),runtimeProps,void 0,extend)}))}__name(render,"render");function replaceRuntimeIdsAndExtInAttrs(node,runtimeProps,extend){var attrs=__assign({},node.attrs);extend!=null&&extend.colorChannel1&&attrs.fill==="colorChannel1"&&(attrs.fill=extend.colorChannel1);var defIds=runtimeProps.defIds;return!defIds||defIds.length===0||(node.tag==="use"&&attrs["xlink:href"]&&(attrs["xlink:href"]=attrs["xlink:href"]+runtimeProps.idSuffix),Object.entries(attrs).forEach(function(_a13){var key=_a13[0],value=_a13[1];typeof value=="string"&&(attrs[key]=value.replace(/url\(#(.*)\)/,"url(#$1".concat(runtimeProps.idSuffix,")")))})),attrs}__name(replaceRuntimeIdsAndExtInAttrs,"replaceRuntimeIdsAndExtInAttrs");function replaceRuntimeIdsInDefs(node,runtimeProps){var _a13,defIds=runtimeProps.defIds;return!defIds||defIds.length===0?node:node.tag==="defs"&&(!((_a13=node.children)===null||_a13===void 0)&&_a13.length)?__assign(__assign({},node),{children:node.children.map(function(child){return typeof child.attrs.id=="string"&&defIds&&defIds.indexOf(child.attrs.id)>-1?__assign(__assign({},child),{attrs:__assign(__assign({},child.attrs),{id:child.attrs.id+runtimeProps.idSuffix})}):child})}):node}__name(replaceRuntimeIdsInDefs,"replaceRuntimeIdsInDefs");function generateShortUuid(){return Math.random().toString(36).substring(2,8)}__name(generateShortUuid,"generateShortUuid");IconBase.displayName="UniverIcon";var element={tag:"svg",attrs:{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"}}]},FilterSingle=React.forwardRef(function(props,ref){return React.createElement(IconBase,Object.assign({},props,{id:"filter-single",ref,icon:element}))});FilterSingle.displayName="FilterSingle";const SetSheetFilterRangeCommand={id:"sheet.command.set-filter-range",type:core.CommandType.COMMAND,handler:__name((accessor,params)=>{const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService),commandService=accessor.get(core.ICommandService),undoRedoService=accessor.get(core.IUndoRedoService),instanceSrv=accessor.get(core.IUniverInstanceService),{unitId,subUnitId,range}=params;if(!sheets.getSheetCommandTarget(instanceSrv,params)||sheetsFilterService.getFilterModel(unitId,subUnitId))return!1;if(range.endRow===range.startRow){const messageService=accessor.get(ui.IMessageService,core.Quantity.OPTIONAL),localeService=accessor.get(core.LocaleService);return messageService==null||messageService.show({type:design.MessageType.Warning,content:localeService.t("sheets-filter.command.not-valid-filter-range")}),!1}const redoMutation={id:sheetsFilter.SetSheetsFilterRangeMutation.id,params:{unitId,subUnitId,range}},result=commandService.syncExecuteCommand(redoMutation.id,redoMutation.params);return result&&undoRedoService.pushUndoRedo({unitID:unitId,undoMutations:[{id:sheetsFilter.RemoveSheetsFilterMutation.id,params:{unitId,subUnitId}}],redoMutations:[redoMutation]}),result},"handler")},RemoveSheetFilterCommand={id:"sheet.command.remove-sheet-filter",type:core.CommandType.COMMAND,handler:__name((accessor,params)=>{const univerInstanceService=accessor.get(core.IUniverInstanceService),sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService),commandService=accessor.get(core.ICommandService),undoRedoService=accessor.get(core.IUndoRedoService),commandTarget=sheets.getSheetCommandTarget(univerInstanceService,params);if(!commandTarget)return!1;const{unitId,subUnitId}=commandTarget,filterModel=sheetsFilterService.getFilterModel(unitId,subUnitId);if(!filterModel)return!1;const autoFilter=filterModel==null?void 0:filterModel.serialize(),undoMutations=destructFilterModel(unitId,subUnitId,autoFilter),result=commandService.syncExecuteCommand(sheetsFilter.RemoveSheetsFilterMutation.id,{unitId,subUnitId});return result&&undoRedoService.pushUndoRedo({unitID:unitId,undoMutations,redoMutations:[{id:sheetsFilter.RemoveSheetsFilterMutation.id,params:{unitId,subUnitId}}]}),result},"handler")},SmartToggleSheetsFilterCommand={id:"sheet.command.smart-toggle-filter",type:core.CommandType.COMMAND,handler:__name(async accessor=>{const univerInstanceService=accessor.get(core.IUniverInstanceService),sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService),commandService=accessor.get(core.ICommandService),currentWorkbook=univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET),currentWorksheet=currentWorkbook==null?void 0:currentWorkbook.getActiveSheet();if(!currentWorksheet||!currentWorkbook)return!1;const unitId=currentWorkbook.getUnitId(),subUnitId=currentWorksheet.getSheetId();if(sheetsFilterService.getFilterModel(unitId,subUnitId))return commandService.executeCommand(RemoveSheetFilterCommand.id,{unitId,subUnitId});const lastSelection=accessor.get(sheets.SheetsSelectionsService).getCurrentLastSelection();if(!lastSelection)return!1;const startRange=lastSelection.range,targetFilterRange=sheets.isSingleCellSelection(lastSelection)?sheets.expandToContinuousRange(startRange,{left:!0,right:!0,up:!0,down:!0},currentWorksheet):startRange;return commandService.executeCommand(SetSheetFilterRangeCommand.id,{unitId,subUnitId,range:targetFilterRange})},"handler")},SetSheetsFilterCriteriaCommand={id:"sheet.command.set-filter-criteria",type:core.CommandType.COMMAND,handler:__name(async(accessor,params)=>{const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService),commandService=accessor.get(core.ICommandService),undoRedoService=accessor.get(core.IUndoRedoService),{unitId,subUnitId,col,criteria}=params,filterModel=sheetsFilterService.getFilterModel(unitId,subUnitId);if(!filterModel)return!1;const range=filterModel.getRange();if(!range||col<range.startColumn||col>range.endColumn)return!1;const filterColumn=filterModel.getFilterColumn(col),undoMutation=destructFilterColumn(unitId,subUnitId,col,filterColumn),redoMutation={id:sheetsFilter.SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col,criteria}},result=commandService.syncExecuteCommand(redoMutation.id,redoMutation.params);return result&&undoRedoService.pushUndoRedo({unitID:unitId,undoMutations:[undoMutation],redoMutations:[redoMutation]}),result},"handler")},ClearSheetsFilterCriteriaCommand={id:"sheet.command.clear-filter-criteria",type:core.CommandType.COMMAND,handler:__name((accessor,params)=>{const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService),undoRedoService=accessor.get(core.IUndoRedoService),commandService=accessor.get(core.ICommandService),instanceSrv=accessor.get(core.IUniverInstanceService),commandTarget=sheets.getSheetCommandTarget(instanceSrv,params);if(!commandTarget)return!1;const{unitId,subUnitId}=commandTarget,filterModel=sheetsFilterService.getFilterModel(commandTarget.unitId,commandTarget.subUnitId);if(!filterModel)return!1;const autoFilter=filterModel.serialize(),undoMutations=destructFilterCriteria(unitId,subUnitId,autoFilter),redoMutations=generateRemoveCriteriaMutations(unitId,subUnitId,autoFilter);return core.sequenceExecute(redoMutations,commandService).result?(undoRedoService.pushUndoRedo({unitID:unitId,undoMutations,redoMutations}),!0):!1},"handler")},ReCalcSheetsFilterCommand={id:"sheet.command.re-calc-filter",type:core.CommandType.COMMAND,handler:__name((accessor,params)=>{const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService),commandService=accessor.get(core.ICommandService),instanceSrv=accessor.get(core.IUniverInstanceService),commandTarget=sheets.getSheetCommandTarget(instanceSrv,params);if(!commandTarget)return!1;const{unitId,subUnitId}=commandTarget;return sheetsFilterService.getFilterModel(commandTarget.unitId,commandTarget.subUnitId)?commandService.executeCommand(sheetsFilter.ReCalcSheetsFilterMutation.id,{unitId,subUnitId}):!1},"handler")};function destructFilterModel(unitId,subUnitId,autoFilter){const mutations=[],setFilterMutation={id:sheetsFilter.SetSheetsFilterRangeMutation.id,params:{unitId,subUnitId,range:autoFilter.ref}};return mutations.push(setFilterMutation),destructFilterCriteria(unitId,subUnitId,autoFilter).forEach(m2=>mutations.push(m2)),mutations}__name(destructFilterModel,"destructFilterModel");function destructFilterCriteria(unitId,subUnitId,autoFilter){var _a13;const mutations=[];return(_a13=autoFilter.filterColumns)==null||_a13.forEach(filterColumn=>{const setFilterCriteriaMutation={id:sheetsFilter.SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col:filterColumn.colId,criteria:filterColumn}};mutations.push(setFilterCriteriaMutation)}),mutations}__name(destructFilterCriteria,"destructFilterCriteria");function generateRemoveCriteriaMutations(unitId,subUnitId,autoFilter){var _a13;const mutations=[];return(_a13=autoFilter.filterColumns)==null||_a13.forEach(filterColumn=>{const removeFilterCriteriaMutation={id:sheetsFilter.SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col:filterColumn.colId,criteria:null}};mutations.push(removeFilterCriteriaMutation)}),mutations}__name(generateRemoveCriteriaMutations,"generateRemoveCriteriaMutations");function destructFilterColumn(unitId,subUnitId,colId,filterColumn){if(!filterColumn)return{id:sheetsFilter.SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col:colId,criteria:null}};const serialize=filterColumn.serialize();return{id:sheetsFilter.SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col:colId,criteria:serialize}}}__name(destructFilterColumn,"destructFilterColumn");var OperatorOrder=(OperatorOrder2=>(OperatorOrder2[OperatorOrder2.FIRST=0]="FIRST",OperatorOrder2[OperatorOrder2.SECOND=1]="SECOND",OperatorOrder2))(OperatorOrder||{}),ExtendCustomFilterOperator=(ExtendCustomFilterOperator2=>(ExtendCustomFilterOperator2.NONE="none",ExtendCustomFilterOperator2.STARTS_WITH="startsWith",ExtendCustomFilterOperator2.DOES_NOT_START_WITH="doesNotStartWith",ExtendCustomFilterOperator2.ENDS_WITH="endsWith",ExtendCustomFilterOperator2.DOES_NOT_END_WITH="doesNotEndWith",ExtendCustomFilterOperator2.CONTAINS="contains",ExtendCustomFilterOperator2.DOES_NOT_CONTAIN="doesNotContain",ExtendCustomFilterOperator2.EQUALS="equals",ExtendCustomFilterOperator2.NOT_EQUALS="notEquals",ExtendCustomFilterOperator2.EMPTY="empty",ExtendCustomFilterOperator2.NOT_EMPTY="notEmpty",ExtendCustomFilterOperator2.BETWEEN="between",ExtendCustomFilterOperator2.NOT_BETWEEN="notBetween",ExtendCustomFilterOperator2.CUSTOM="custom",ExtendCustomFilterOperator2))(ExtendCustomFilterOperator||{}),FilterConditionItems;(FilterConditionItems2=>{FilterConditionItems2.NONE={label:"sheets-filter.conditions.none",operator:ExtendCustomFilterOperator.NONE,order:OperatorOrder.SECOND,numOfParameters:0,getDefaultFormParams:__name(()=>{throw new Error("[FilterConditionItems.NONE]: should not have initial form params!")},"getDefaultFormParams"),testMappingParams:__name(params=>params.operator1===ExtendCustomFilterOperator.NONE,"testMappingParams"),mapToFilterColumn:__name(()=>null,"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>!filterColumn.customFilters&&!filterColumn.filters?{}:!1,"testMappingFilterColumn")},FilterConditionItems2.EMPTY={label:"sheets-filter.conditions.empty",operator:ExtendCustomFilterOperator.EMPTY,order:OperatorOrder.SECOND,numOfParameters:0,getDefaultFormParams:__name(()=>{throw new Error("[FilterConditionItems.EMPTY]: should not have initial form params!")},"getDefaultFormParams"),testMappingParams:__name(({operator1})=>operator1===ExtendCustomFilterOperator.EMPTY,"testMappingParams"),mapToFilterColumn:__name(()=>({customFilters:{customFilters:[{val:""}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.val===""&&firstCustomFilter.operator===void 0?{operator1:ExtendCustomFilterOperator.EMPTY}:!1},"testMappingFilterColumn")},FilterConditionItems2.NOT_EMPTY={label:"sheets-filter.conditions.not-empty",operator:ExtendCustomFilterOperator.NOT_EMPTY,order:OperatorOrder.SECOND,numOfParameters:0,getDefaultFormParams:__name(()=>{throw new Error("[FilterConditionItems.NOT_EMPTY]: should not have initial form params!")},"getDefaultFormParams"),testMappingParams:__name(({operator1})=>operator1===ExtendCustomFilterOperator.NOT_EMPTY,"testMappingParams"),mapToFilterColumn:__name(()=>({customFilters:{customFilters:[{val:"",operator:sheetsFilter.CustomFilterOperator.NOT_EQUALS}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.val===" "&&firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.NOT_EQUALS?{operator1:ExtendCustomFilterOperator.NOT_EMPTY}:!1},"testMappingFilterColumn")},FilterConditionItems2.TEXT_CONTAINS={label:"sheets-filter.conditions.text-contains",operator:ExtendCustomFilterOperator.CONTAINS,order:OperatorOrder.FIRST,numOfParameters:1,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.CONTAINS,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===ExtendCustomFilterOperator.CONTAINS},"testMappingParams"),mapToFilterColumn:__name(mapParams=>{const{val1}=mapParams;return val1===""?null:{customFilters:{customFilters:[{val:`*${val1}*`}]}}},"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0],valAsString=firstCustomFilter.val.toString();return!firstCustomFilter.operator&&valAsString.startsWith("*")&&valAsString.endsWith("*")?{operator1:ExtendCustomFilterOperator.CONTAINS,val1:valAsString.slice(1,-1)}:!1},"testMappingFilterColumn")},FilterConditionItems2.DOES_NOT_CONTAIN={label:"sheets-filter.conditions.does-not-contain",operator:ExtendCustomFilterOperator.DOES_NOT_CONTAIN,order:OperatorOrder.FIRST,numOfParameters:1,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.DOES_NOT_CONTAIN,val1:""}),"getDefaultFormParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:`*${mapParams.val1}*`,operator:sheetsFilter.CustomFilterOperator.NOT_EQUALS}]}}),"mapToFilterColumn"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===ExtendCustomFilterOperator.DOES_NOT_CONTAIN},"testMappingParams"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0],valAsString=firstCustomFilter.val.toString();return firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.NOT_EQUALS&&valAsString.startsWith("*")&&valAsString.endsWith("*")?{operator1:ExtendCustomFilterOperator.DOES_NOT_CONTAIN,val1:valAsString.slice(1,-1)}:!1},"testMappingFilterColumn")},FilterConditionItems2.STARTS_WITH={label:"sheets-filter.conditions.starts-with",operator:ExtendCustomFilterOperator.STARTS_WITH,order:OperatorOrder.FIRST,numOfParameters:1,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.STARTS_WITH,val1:""}),"getDefaultFormParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:`${mapParams.val1}*`}]}}),"mapToFilterColumn"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===ExtendCustomFilterOperator.STARTS_WITH},"testMappingParams"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0],valAsString=firstCustomFilter.val.toString();return!firstCustomFilter.operator&&valAsString.endsWith("*")&&!valAsString.startsWith("*")?{operator1:ExtendCustomFilterOperator.STARTS_WITH,val1:valAsString.slice(0,-1)}:!1},"testMappingFilterColumn")},FilterConditionItems2.ENDS_WITH={label:"sheets-filter.conditions.ends-with",operator:ExtendCustomFilterOperator.ENDS_WITH,order:OperatorOrder.FIRST,numOfParameters:1,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.ENDS_WITH,val1:""}),"getDefaultFormParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:`*${mapParams.val1}`}]}}),"mapToFilterColumn"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===ExtendCustomFilterOperator.ENDS_WITH},"testMappingParams"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0],valAsString=firstCustomFilter.val.toString();return!firstCustomFilter.operator&&valAsString.startsWith("*")&&!valAsString.endsWith("*")?{operator1:ExtendCustomFilterOperator.ENDS_WITH,val1:valAsString.slice(1)}:!1},"testMappingFilterColumn")},FilterConditionItems2.EQUALS={label:"sheets-filter.conditions.equals",operator:ExtendCustomFilterOperator.EQUALS,order:OperatorOrder.FIRST,numOfParameters:1,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.EQUALS,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===ExtendCustomFilterOperator.EQUALS},"testMappingParams"),mapToFilterColumn:__name(mapParams=>{const{val1}=mapParams;return val1===""?null:{customFilters:{customFilters:[{val:val1}]}}},"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13,_b,_c;return((_b=(_a13=filterColumn.filters)==null?void 0:_a13.filters)==null?void 0:_b.length)===1?{operator1:ExtendCustomFilterOperator.EQUALS,val1:""}:((_c=filterColumn.customFilters)==null?void 0:_c.customFilters.length)===1&&!filterColumn.customFilters.customFilters[0].operator?{operator1:ExtendCustomFilterOperator.EQUALS,val1:filterColumn.customFilters.customFilters[0].val.toString()}:!1},"testMappingFilterColumn")},FilterConditionItems2.GREATER_THAN={label:"sheets-filter.conditions.greater-than",operator:sheetsFilter.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN,val1:""}),"getDefaultFormParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.GREATER_THAN}]}}),"mapToFilterColumn"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.GREATER_THAN},"testMappingParams"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.GREATER_THAN?!1:{operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.GREATER_THAN_OR_EQUAL={label:"sheets-filter.conditions.greater-than-or-equal",operator:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL},"testMappingParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL?!1:{operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.LESS_THAN={label:"sheets-filter.conditions.less-than",operator:sheetsFilter.CustomFilterOperator.LESS_THAN,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.LESS_THAN,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.LESS_THAN},"testMappingParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.LESS_THAN}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.LESS_THAN?!1:{operator1:sheetsFilter.CustomFilterOperator.LESS_THAN,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.LESS_THAN_OR_EQUAL={label:"sheets-filter.conditions.less-than-or-equal",operator:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL},"testMappingParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL?!1:{operator1:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.EQUAL={label:"sheets-filter.conditions.equal",operator:sheetsFilter.CustomFilterOperator.EQUAL,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.EQUAL,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.EQUAL},"testMappingParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.EQUAL}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.EQUAL?!1:{operator1:sheetsFilter.CustomFilterOperator.EQUAL,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.NOT_EQUAL={label:"sheets-filter.conditions.not-equal",operator:sheetsFilter.CustomFilterOperator.NOT_EQUALS,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.NOT_EQUALS,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.NOT_EQUALS},"testMappingParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.NOT_EQUALS}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.NOT_EQUALS?!1:{operator1:sheetsFilter.CustomFilterOperator.NOT_EQUALS,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.BETWEEN={label:"sheets-filter.conditions.between",operator:ExtendCustomFilterOperator.BETWEEN,order:OperatorOrder.SECOND,numOfParameters:2,getDefaultFormParams:__name(()=>({and:!0,operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:"",operator2:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const{and,operator1,operator2}=params;if(!and)return!1;const operators=[operator1,operator2];return operators.includes(sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&operators.includes(sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL)},"testMappingParams"),mapToFilterColumn:__name(mapParams=>{const{val1,val2,operator1}=mapParams,operator1IsGreater=operator1===sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:core.BooleanNumber.TRUE,customFilters:[{val:operator1IsGreater?val1:val2,operator:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:operator1IsGreater?val2:val1,operator:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==2)return!1;const[firstCustomFilter,secondCustomFilter]=filterColumn.customFilters.customFilters;return firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&secondCustomFilter.operator===sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL&&filterColumn.customFilters.and?{and:!0,operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:firstCustomFilter.val.toString(),operator2:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:secondCustomFilter.val.toString()}:secondCustomFilter.operator===sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL&&filterColumn.customFilters.and?{and:!0,operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:secondCustomFilter.val.toString(),operator2:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:firstCustomFilter.val.toLocaleString()}:!1},"testMappingFilterColumn")},FilterConditionItems2.NOT_BETWEEN={label:"sheets-filter.conditions.not-between",operator:ExtendCustomFilterOperator.NOT_BETWEEN,order:OperatorOrder.SECOND,numOfParameters:2,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.LESS_THAN,val1:"",operator2:sheetsFilter.CustomFilterOperator.GREATER_THAN,val2:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const{and,operator1,operator2}=params;if(and)return!1;const operators=[operator1,operator2];return operators.includes(sheetsFilter.CustomFilterOperator.GREATER_THAN)&&operators.includes(sheetsFilter.CustomFilterOperator.LESS_THAN)},"testMappingParams"),mapToFilterColumn:__name(mapParams=>{const{val1,val2,operator1}=mapParams,operator1IsGreater=operator1===sheetsFilter.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:operator1IsGreater?val1:val2,operator:sheetsFilter.CustomFilterOperator.GREATER_THAN},{val:operator1IsGreater?val2:val1,operator:sheetsFilter.CustomFilterOperator.LESS_THAN}]}}},"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==2)return!1;const[firstCustomFilter,secondCustomFilter]=filterColumn.customFilters.customFilters;return firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.LESS_THAN&&secondCustomFilter.operator===sheetsFilter.CustomFilterOperator.GREATER_THAN&&!filterColumn.customFilters.and?{operator1:sheetsFilter.CustomFilterOperator.LESS_THAN,val1:firstCustomFilter.val.toString(),operator2:sheetsFilter.CustomFilterOperator.GREATER_THAN,val2:secondCustomFilter.val.toString()}:secondCustomFilter.operator===sheetsFilter.CustomFilterOperator.LESS_THAN&&firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.GREATER_THAN&&!filterColumn.customFilters.and?{operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN,val1:secondCustomFilter.val.toString(),operator2:sheetsFilter.CustomFilterOperator.LESS_THAN,val2:firstCustomFilter.val.toLocaleString()}:!1},"testMappingFilterColumn")},FilterConditionItems2.CUSTOM={label:"sheets-filter.conditions.custom",operator:ExtendCustomFilterOperator.CUSTOM,order:OperatorOrder.SECOND,numOfParameters:2,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.NONE,val1:"",operator2:ExtendCustomFilterOperator.NONE,val2:""}),"getDefaultFormParams"),testMappingParams:__name(()=>!0,"testMappingParams"),mapToFilterColumn:__name(mapParams=>{const{and,val1,val2,operator1,operator2}=mapParams;function mapOperator(operator,val){for(const condition of FilterConditionItems2.ALL_CONDITIONS)if(condition.operator===operator)return condition.mapToFilterColumn({val1:val,operator1:operator})}__name(mapOperator,"mapOperator");const operator1IsNone=!operator1||operator1===FilterConditionItems2.NONE.operator,operator2IsNone=!operator2||operator2===FilterConditionItems2.NONE.operator;if(operator1IsNone&&operator2IsNone)return FilterConditionItems2.NONE.mapToFilterColumn({});if(operator1IsNone)return mapOperator(operator2,val2);if(operator2IsNone)return mapOperator(operator1,val1);const mappedCustomFilter1=mapOperator(operator1,val1),mappedCustomFilter2=mapOperator(operator2,val2),customFilters={customFilters:[mappedCustomFilter1.customFilters.customFilters[0],mappedCustomFilter2.customFilters.customFilters[0]]};return and&&(customFilters.and=core.BooleanNumber.TRUE),{customFilters}},"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==2)return!1;const params=filterColumn.customFilters.customFilters.map(customFilter=>testMappingFilterColumn({customFilters:{customFilters:[customFilter]}})),result={operator1:params[0][0].operator,val1:params[0][1].val1,operator2:params[1][0].operator,val2:params[1][1].val1};return filterColumn.customFilters.and&&(result.and=!0),result},"testMappingFilterColumn")},FilterConditionItems2.ALL_CONDITIONS=[FilterConditionItems2.NONE,FilterConditionItems2.EMPTY,FilterConditionItems2.NOT_EMPTY,FilterConditionItems2.TEXT_CONTAINS,FilterConditionItems2.DOES_NOT_CONTAIN,FilterConditionItems2.STARTS_WITH,FilterConditionItems2.ENDS_WITH,FilterConditionItems2.EQUALS,FilterConditionItems2.GREATER_THAN,FilterConditionItems2.GREATER_THAN_OR_EQUAL,FilterConditionItems2.LESS_THAN,FilterConditionItems2.LESS_THAN_OR_EQUAL,FilterConditionItems2.EQUAL,FilterConditionItems2.NOT_EQUAL,FilterConditionItems2.BETWEEN,FilterConditionItems2.NOT_BETWEEN,FilterConditionItems2.CUSTOM];function getItemByOperator(operator){const item=FilterConditionItems2.ALL_CONDITIONS.find(condition=>condition.operator===operator);if(!item)throw new Error(`[SheetsFilter]: no condition item found for operator: ${operator}`);return item}__name(getItemByOperator,"getItemByOperator"),FilterConditionItems2.getItemByOperator=getItemByOperator;function testMappingParams(mapParams,numOfParameters){for(const condition of FilterConditionItems2.ALL_CONDITIONS.filter(condition2=>condition2.numOfParameters===numOfParameters))if(condition.numOfParameters!==0&&condition.testMappingParams(mapParams))return condition;for(const condition of FilterConditionItems2.ALL_CONDITIONS)if(condition.testMappingParams(mapParams))return condition;throw new Error("[SheetsFilter]: no condition item can be mapped from the filter map params!")}__name(testMappingParams,"testMappingParams"),FilterConditionItems2.testMappingParams=testMappingParams;function getInitialFormParams(operator){const condition=FilterConditionItems2.ALL_CONDITIONS.find(condition2=>condition2.operator===operator);return(condition==null?void 0:condition.numOfParameters)===0?{operator1:condition.operator}:condition.getDefaultFormParams()}__name(getInitialFormParams,"getInitialFormParams"),FilterConditionItems2.getInitialFormParams=getInitialFormParams;function mapToFilterColumn(condition,mapParams){return condition.mapToFilterColumn(mapParams)}__name(mapToFilterColumn,"mapToFilterColumn"),FilterConditionItems2.mapToFilterColumn=mapToFilterColumn;function testMappingFilterColumn(filterColumn){if(!filterColumn)return[FilterConditionItems2.NONE,{}];for(const condition of FilterConditionItems2.ALL_CONDITIONS){const mapParams=condition.testMappingFilterColumn(filterColumn);if(mapParams)return[condition,mapParams]}return[FilterConditionItems2.NONE,{}]}__name(testMappingFilterColumn,"testMappingFilterColumn"),FilterConditionItems2.testMappingFilterColumn=testMappingFilterColumn})(FilterConditionItems||(FilterConditionItems={}));function getOnlyOperatorAndVal(mapParams){const{operator1,operator2,val1,val2}=mapParams;if(operator1&&operator2)throw new Error("Both operator1 and operator2 are set!");if(!operator1&&!operator2)throw new Error("Neither operator1 and operator2 and both not set!");return operator1?[operator1,val1]:[operator2,val2]}__name(getOnlyOperatorAndVal,"getOnlyOperatorAndVal");function statisticFilterByValueItems(items){const checkedItems=[],uncheckedItems=[];for(const item of items)item.checked?checkedItems.push(item):uncheckedItems.push(item);return{checkedItems,uncheckedItems,checked:checkedItems.length,unchecked:uncheckedItems.length}}__name(statisticFilterByValueItems,"statisticFilterByValueItems");var __defProp$9=Object.defineProperty,__getOwnPropDesc$9=Object.getOwnPropertyDescriptor,__decorateClass$9=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$9(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$9(target,key,result),result},"__decorateClass$9"),__decorateParam$9=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$9");const SHEETS_GENERATE_FILTER_VALUES_SERVICE_NAME="sheets-filter.generate-filter-values.service",ISheetsGenerateFilterValuesService=core.createIdentifier(SHEETS_GENERATE_FILTER_VALUES_SERVICE_NAME);var _a;let SheetsGenerateFilterValuesService=(_a=class extends core.Disposable{constructor(_localeService,_univerInstanceService,_logService){super(),this._localeService=_localeService,this._univerInstanceService=_univerInstanceService,this._logService=_logService}async getFilterValues(params){var _a13;const{unitId,subUnitId,filteredOutRowsByOtherColumns,filters,blankChecked,iterateRange,alreadyChecked}=params,worksheet=(_a13=this._univerInstanceService.getUnit(unitId))==null?void 0:_a13.getSheetBySheetId(subUnitId);return worksheet?(this._logService.debug("[SheetsGenerateFilterValuesService]","getFilterValues for",{unitId,subUnitId}),getFilterByValueItems(filters,blankChecked,this._localeService,iterateRange,worksheet,new Set(alreadyChecked.map(String)),new Set(filteredOutRowsByOtherColumns))):[]}},__name(_a,"SheetsGenerateFilterValuesService"),_a);SheetsGenerateFilterValuesService=__decorateClass$9([__decorateParam$9(0,core.Inject(core.LocaleService)),__decorateParam$9(1,core.IUniverInstanceService),__decorateParam$9(2,core.ILogService)],SheetsGenerateFilterValuesService);function getFilterByValueItems(filters,blankChecked,localeService,iterateRange,worksheet,alreadyChecked,filteredOutRowsByOtherColumns){const items=[],itemsByKey={};let index2=0,emptyCount=0;for(const cell of worksheet.iterateByColumn(iterateRange,!1,!1)){const{row,rowSpan=1}=cell;let rowIndex=0;for(;rowIndex<rowSpan;){const targetRow=row+rowIndex;if(filteredOutRowsByOtherColumns.has(targetRow)){rowIndex++;continue}const value=cell!=null&&cell.value?core.extractPureTextFromCell(cell.value):"";if(!value){emptyCount+=1,rowIndex+=rowSpan;continue}if(itemsByKey[value])itemsByKey[value].count++;else{const item={value,checked:alreadyChecked.size?alreadyChecked.has(value):!blankChecked,count:1,index:index2,isEmpty:!1};itemsByKey[value]=item,items.push(item)}rowIndex++}index2++}const initialBlankChecked=filters?blankChecked:!0;if(emptyCount>0){const item={value:localeService.t("sheets-filter.panel.empty"),checked:initialBlankChecked,count:emptyCount,index:index2,isEmpty:!0};items.push(item)}return items}__name(getFilterByValueItems,"getFilterByValueItems");var __defProp$8=Object.defineProperty,__getOwnPropDesc$8=Object.getOwnPropertyDescriptor,__decorateClass$8=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$8(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$8(target,key,result),result},"__decorateClass$8"),__decorateParam$8=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$8"),FilterBy=(FilterBy2=>(FilterBy2[FilterBy2.VALUES=0]="VALUES",FilterBy2[FilterBy2.CONDITIONS=1]="CONDITIONS",FilterBy2))(FilterBy||{});core.createIdentifier("sheets-filter-ui.sheets-filter-panel.service");var _a2;let SheetsFilterPanelService=(_a2=class extends core.Disposable{constructor(_injector,_refRangeService){super();__publicField(this,"_filterBy$",new rxjs.BehaviorSubject(0));__publicField(this,"filterBy$",this._filterBy$.asObservable());__publicField(this,"_filterByModel$",new rxjs.ReplaySubject(1));__publicField(this,"filterByModel$",this._filterByModel$.asObservable());__publicField(this,"_filterByModel",null);__publicField(this,"_hasCriteria$",new rxjs.BehaviorSubject(!1));__publicField(this,"hasCriteria$",this._hasCriteria$.asObservable());__publicField(this,"_filterModel",null);__publicField(this,"_col$",new rxjs.BehaviorSubject(-1));__publicField(this,"col$",this._col$.asObservable());__publicField(this,"_filterHeaderListener",null);this._injector=_injector,this._refRangeService=_refRangeService}get filterBy(){return this._filterBy$.getValue()}get filterByModel(){return this._filterByModel}set filterByModel(model){this._filterByModel=model,this._filterByModel$.next(model)}get filterModel(){return this._filterModel}get col(){return this._col$.getValue()}dispose(){this._filterBy$.complete(),this._filterByModel$.complete(),this._hasCriteria$.complete()}setupCol(filterModel,col){this.terminate(),this._filterModel=filterModel,this._col$.next(col);const filterColumn=filterModel.getFilterColumn(col);if(filterColumn){const info=filterColumn.getColumnData();if(info.customFilters){this._hasCriteria$.next(!0),this._setupByConditions(filterModel,col);return}if(info.filters){this._hasCriteria$.next(!0),this._setupByValues(filterModel,col);return}this._hasCriteria$.next(!1),this._setupByValues(filterModel,col);return}this._hasCriteria$.next(!1),this._setupByValues(filterModel,col)}changeFilterBy(filterBy){return!this._filterModel||this.col===-1?!1:(filterBy===0?this._setupByValues(this._filterModel,this.col):this._setupByConditions(this._filterModel,this.col),!0)}terminate(){return this._filterModel=null,this._col$.next(-1),this._disposeFilterHeaderChangeListener(),!0}_disposeFilterHeaderChangeListener(){var _a13;(_a13=this._filterHeaderListener)==null||_a13.dispose(),this._filterHeaderListener=null}_listenToFilterHeaderChange(filterModel,col){this._disposeFilterHeaderChangeListener();const unitId=filterModel.unitId,subUnitId=filterModel.subUnitId,filterRange=filterModel.getRange(),columnHeaderRange={startColumn:col,startRow:filterRange.startRow,endRow:filterRange.startRow,endColumn:col};this._filterHeaderListener=this._refRangeService.watchRange(unitId,subUnitId,columnHeaderRange,(before,after)=>{if(!after)this.terminate();else{const offset=after.startColumn-before.startColumn;offset!==0&&this._filterByModel.deltaCol(offset)}})}async _setupByValues(filterModel,col){this._disposePreviousModel();const range=filterModel.getRange();if(range.startRow===range.endRow)return!1;const filterByModel=await ByValuesModel.fromFilterColumn(this._injector,filterModel,col);return this.filterByModel=filterByModel,this._filterBy$.next(0),this._listenToFilterHeaderChange(filterModel,col),!0}_setupByConditions(filterModel,col){this._disposePreviousModel();const range=filterModel.getRange();if(range.startRow===range.endRow)return!1;const model=ByConditionsModel.fromFilterColumn(this._injector,filterModel,col,filterModel.getFilterColumn(col));return this.filterByModel=model,this._filterBy$.next(1),this._listenToFilterHeaderChange(filterModel,col),!0}_disposePreviousModel(){var _a13;(_a13=this._filterByModel)==null||_a13.dispose(),this.filterByModel=null}},__name(_a2,"SheetsFilterPanelService"),_a2);SheetsFilterPanelService=__decorateClass$8([__decorateParam$8(0,core.Inject(core.Injector)),__decorateParam$8(1,core.Inject(sheets.RefRangeService))],SheetsFilterPanelService);var _a3;let ByConditionsModel=(_a3=class extends core.Disposable{constructor(_filterModel,col,conditionItem,conditionParams,_commandService){super();__publicField(this,"canApply$",rxjs.of(!0));__publicField(this,"_conditionItem$");__publicField(this,"conditionItem$");__publicField(this,"_filterConditionFormParams$");__publicField(this,"filterConditionFormParams$");this._filterModel=_filterModel,this.col=col,this._commandService=_commandService,this._conditionItem$=new rxjs.BehaviorSubject(conditionItem),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new rxjs.BehaviorSubject(conditionParams),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}static fromFilterColumn(injector,filterModel,col,filterColumn){const[conditionItem,conditionParams]=FilterConditionItems.testMappingFilterColumn(filterColumn==null?void 0:filterColumn.getColumnData());return injector.createInstance(ByConditionsModel,filterModel,col,conditionItem,conditionParams)}get conditionItem(){return this._conditionItem$.getValue()}get filterConditionFormParams(){return this._filterConditionFormParams$.getValue()}dispose(){super.dispose(),this._conditionItem$.complete(),this._filterConditionFormParams$.complete()}deltaCol(offset){this.col+=offset}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const filterColumn=FilterConditionItems.mapToFilterColumn(this.conditionItem,this.filterConditionFormParams);return this._commandService.executeCommand(SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:filterColumn})}onPrimaryConditionChange(operator){const conditionItem=FilterConditionItems.ALL_CONDITIONS.find(item=>item.operator===operator);if(!conditionItem)throw new Error(`[ByConditionsModel]: condition item not found for operator: ${operator}!`);this._conditionItem$.next(conditionItem),this._filterConditionFormParams$.next(FilterConditionItems.getInitialFormParams(operator))}onConditionFormChange(params){const newParams={...this.filterConditionFormParams,...params};if(newParams.and!==!0&&delete newParams.and,typeof params.and<"u"||typeof params.operator1<"u"||typeof params.operator2<"u"){const conditionItem=FilterConditionItems.testMappingParams(newParams,this.conditionItem.numOfParameters);this._conditionItem$.next(conditionItem)}this._filterConditionFormParams$.next(newParams)}},__name(_a3,"ByConditionsModel"),_a3);ByConditionsModel=__decorateClass$8([__decorateParam$8(4,core.ICommandService)],ByConditionsModel);var _a4;let ByValuesModel=(_a4=class extends core.Disposable{constructor(_filterModel,col,items,_commandService){super();__publicField(this,"_rawFilterItems$");__publicField(this,"rawFilterItems$");__publicField(this,"filterItems$");__publicField(this,"_filterItems",[]);__publicField(this,"canApply$");__publicField(this,"_manuallyUpdateFilterItems$");__publicField(this,"_searchString$");__publicField(this,"searchString$");this._filterModel=_filterModel,this.col=col,this._commandService=_commandService,this._searchString$=new rxjs.BehaviorSubject(""),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new rxjs.BehaviorSubject(items),this.rawFilterItems$=this._rawFilterItems$.asObservable(),this._manuallyUpdateFilterItems$=new rxjs.Subject,this.filterItems$=rxjs.merge(rxjs.combineLatest([this._searchString$.pipe(rxjs.throttleTime(500,void 0,{leading:!0,trailing:!0}),rxjs.startWith(void 0)),this._rawFilterItems$]).pipe(rxjs.map(([searchString,items2])=>{if(!searchString)return items2;const searchKeyWords=searchString.toLowerCase().split(/\s+/).filter(s=>!!s);return items2.filter(item=>{const loweredItemValue=item.value.toLowerCase();return searchKeyWords.some(keyword=>loweredItemValue.includes(keyword))})})),this._manuallyUpdateFilterItems$).pipe(rxjs.shareReplay(1)),this.canApply$=this.filterItems$.pipe(rxjs.map(items2=>statisticFilterByValueItems(items2).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(items2=>this._filterItems=items2))}static async fromFilterColumn(injector,filterModel,col){var _a13;const univerInstanceService=injector.get(core.IUniverInstanceService),localeService=injector.get(core.LocaleService),generateFilterValuesService=injector.get(ISheetsGenerateFilterValuesService,core.Quantity.OPTIONAL),{unitId,subUnitId}=filterModel,workbook=univerInstanceService.getUniverSheetInstance(unitId);if(!workbook)throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${unitId}!`);const worksheet=workbook==null?void 0:workbook.getSheetBySheetId(subUnitId);if(!worksheet)throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${unitId} and subUnitId: ${subUnitId}!`);const range=filterModel.getRange(),column=col,filters=(_a13=filterModel.getFilterColumn(col))==null?void 0:_a13.getColumnData().filters,alreadyChecked=new Set(filters==null?void 0:filters.filters),blankChecked=!!(filters&&filters.blank),filteredOutRowsByOtherColumns=filterModel.getFilteredOutRowsExceptCol(col),iterateRange={...range,startRow:range.startRow+1,startColumn:column,endColumn:column};let items;return generateFilterValuesService?items=await generateFilterValuesService.getFilterValues({unitId,subUnitId,filteredOutRowsByOtherColumns:Array.from(filteredOutRowsByOtherColumns),filters:!!filters,blankChecked,iterateRange,alreadyChecked:Array.from(alreadyChecked)}):items=getFilterByValueItems(!!filters,blankChecked,localeService,iterateRange,worksheet,alreadyChecked,filteredOutRowsByOtherColumns),injector.createInstance(ByValuesModel,filterModel,col,items)}get rawFilterItems(){return this._rawFilterItems$.getValue()}get filterItems(){return this._filterItems}dispose(){this._rawFilterItems$.complete(),this._searchString$.complete()}deltaCol(offset){this.col+=offset}setSearchString(str){this._searchString$.next(str)}onFilterCheckToggled(item,checked){const items=this._filterItems.slice(),changedItem=items.find(i=>i.index===item.index);changedItem.checked=checked,this._manuallyUpdateFilterItems(items)}onFilterOnly(item){const items=this._filterItems.slice();items.forEach(i=>i.checked=i.index===item.index),this._manuallyUpdateFilterItems(items)}onCheckAllToggled(checked){const items=this._filterItems.slice();items.forEach(i=>i.checked=checked),this._manuallyUpdateFilterItems(items)}_manuallyUpdateFilterItems(items){this._manuallyUpdateFilterItems$.next(items)}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const statistics=statisticFilterByValueItems(this._filterItems),{checked,checkedItems}=statistics,rawFilterItems=this.rawFilterItems,noChecked=checked===0,allChecked=statistics.checked===rawFilterItems.length,criteria={colId:this.col};if(noChecked)throw new Error("[ByValuesModel]: no checked items!");if(allChecked)return this._commandService.executeCommand(SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});{criteria.filters={};const nonEmptyItems=checkedItems.filter(item=>!item.isEmpty);nonEmptyItems.length>0&&(criteria.filters={filters:nonEmptyItems.map(item=>item.value)}),nonEmptyItems.length!==checkedItems.length&&(criteria.filters.blank=!0)}return this._commandService.executeCommand(SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria})}},__name(_a4,"ByValuesModel"),_a4);ByValuesModel=__decorateClass$8([__decorateParam$8(3,core.ICommandService)],ByValuesModel);const FILTER_PANEL_OPENED_KEY="FILTER_PANEL_OPENED",OpenFilterPanelOperation={id:"sheet.operation.open-filter-panel",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>{const contextService=accessor.get(core.IContextService),sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService),sheetsFilterPanelService=accessor.get(SheetsFilterPanelService);accessor.get(core.ICommandService).syncExecuteCommand(sheetsUi.SetCellEditVisibleOperation.id,{visible:!1});const{unitId,subUnitId,col}=params,filterModel=sheetsFilterService.getFilterModel(unitId,subUnitId);return filterModel?(sheetsFilterPanelService.setupCol(filterModel,col),contextService.getContextValue(FILTER_PANEL_OPENED_KEY)||contextService.setContextValue(FILTER_PANEL_OPENED_KEY,!0),!0):!1},"handler")},CloseFilterPanelOperation={id:"sheet.operation.close-filter-panel",type:core.CommandType.OPERATION,handler:__name(accessor=>{const contextService=accessor.get(core.IContextService),sheetsFilterPanelService=accessor.get(SheetsFilterPanelService),layoutService=accessor.get(ui.ILayoutService,core.Quantity.OPTIONAL);return contextService.getContextValue(FILTER_PANEL_OPENED_KEY)?(contextService.setContextValue(FILTER_PANEL_OPENED_KEY,!1),layoutService==null||layoutService.focus(),sheetsFilterPanelService.terminate()):!1},"handler")},ChangeFilterByOperation={id:"sheet.operation.apply-filter",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>{const{filterBy}=params;return accessor.get(SheetsFilterPanelService).changeFilterBy(filterBy)},"handler")},sheetsFilterPanel="univer-sheets-filter-panel",sheetsFilterPanelHeader="univer-sheets-filter-panel-header",sheetsFilterPanelContent="univer-sheets-filter-panel-content",sheetsFilterPanelSelectAll="univer-sheets-filter-panel-select-all",sheetsFilterPanelSelectAllCount="univer-sheets-filter-panel-select-all-count",sheetsFilterPanelValuesContainer="univer-sheets-filter-panel-values-container",inputAffixWrapper="univer-input-affix-wrapper",select="univer-select",radioGroup="univer-radio-group",sheetsFilterPanelValuesFind="univer-sheets-filter-panel-values-find",sheetsFilterPanelValuesList="univer-sheets-filter-panel-values-list",sheetsFilterPanelValuesListInnerContainer="univer-sheets-filter-panel-values-list-inner-container",sheetsFilterPanelValuesVirtual="univer-sheets-filter-panel-values-virtual",sheetsFilterPanelValuesItem="univer-sheets-filter-panel-values-item",sheetsFilterPanelValuesItemInner="univer-sheets-filter-panel-values-item-inner",sheetsFilterPanelValuesItemCount="univer-sheets-filter-panel-values-item-count",sheetsFilterPanelValuesItemExcludeButton="univer-sheets-filter-panel-values-item-exclude-button",sheetsFilterPanelValuesItemText="univer-sheets-filter-panel-values-item-text",sheetsFilterPanelConditionsContainer="univer-sheets-filter-panel-conditions-container",sheetsFilterPanelConditionsContainerInner="univer-sheets-filter-panel-conditions-container-inner",sheetsFilterPanelConditionsDesc="univer-sheets-filter-panel-conditions-desc",sheetsFilterPanelFooter="univer-sheets-filter-panel-footer",sheetsFilterPanelFooterPrimaryButtons="univer-sheets-filter-panel-footer-primary-buttons",button="univer-button",input="univer-input",formDualColumnLayout="univer-form-dual-column-layout",styles={sheetsFilterPanel,sheetsFilterPanelHeader,sheetsFilterPanelContent,sheetsFilterPanelSelectAll,sheetsFilterPanelSelectAllCount,sheetsFilterPanelValuesContainer,inputAffixWrapper,select,radioGroup,sheetsFilterPanelValuesFind,sheetsFilterPanelValuesList,sheetsFilterPanelValuesListInnerContainer,sheetsFilterPanelValuesVirtual,sheetsFilterPanelValuesItem,sheetsFilterPanelValuesItemInner,sheetsFilterPanelValuesItemCount,sheetsFilterPanelValuesItemExcludeButton,sheetsFilterPanelValuesItemText,sheetsFilterPanelConditionsContainer,sheetsFilterPanelConditionsContainerInner,sheetsFilterPanelConditionsDesc,sheetsFilterPanelFooter,sheetsFilterPanelFooterPrimaryButtons,button,input,formDualColumnLayout};function FilterByCondition(props){const{model}=props,localeService=core.useDependency(core.LocaleService),condition=ui.useObservable(model.conditionItem$,void 0,!0),formParams=ui.useObservable(model.filterConditionFormParams$,void 0,!0),{operator,numOfParameters}=condition,{operator1,operator2,val1,val2,and}=formParams,radioValue=and?"AND":"OR",onRadioChange=React.useCallback(key=>{model.onConditionFormChange({and:key==="AND"})},[model]),primaryOptions=usePrimaryOptions(localeService),onPrimaryConditionChange=React.useCallback(value=>{model.onPrimaryConditionChange(value)},[model]),secondaryOptions=useSecondaryOptions(localeService),onFormParamsChange=React.useCallback(diffParams=>{model.onConditionFormChange(diffParams)},[model]),placeholder=localeService.t("sheets-filter.panel.input-values-placeholder");function renderSecondaryCondition(operator3,val,name){const shouldRenderInput=FilterConditionItems.getItemByOperator(operator3).numOfParameters===1;return React.createElement(React.Fragment,null,name==="operator2"&&React.createElement(design.RadioGroup,{value:radioValue,onChange:onRadioChange},React.createElement(design.Radio,{value:"AND"},localeService.t("sheets-filter.panel.and")),React.createElement(design.Radio,{value:"OR"},localeService.t("sheets-filter.panel.or"))),React.createElement(design.Select,{value:operator3,options:secondaryOptions,onChange:__name(operator4=>onFormParamsChange({[name]:operator4}),"onChange")}),shouldRenderInput&&React.createElement(design.Input,{value:val,placeholder,onChange:__name(value=>onFormParamsChange({[name==="operator1"?"val1":"val2"]:value}),"onChange")}))}return __name(renderSecondaryCondition,"renderSecondaryCondition"),React.createElement("div",{className:styles.sheetsFilterPanelConditionsContainer},React.createElement(design.Select,{value:operator,options:primaryOptions,onChange:onPrimaryConditionChange}),FilterConditionItems.getItemByOperator(operator).numOfParameters!==0?React.createElement("div",{className:styles.sheetsFilterPanelConditionsContainerInner},numOfParameters>=1&&renderSecondaryCondition(operator1,val1!=null?val1:"","operator1"),numOfParameters>=2&&renderSecondaryCondition(operator2,val2!=null?val2:"","operator2"),React.createElement("div",{className:styles.sheetsFilterPanelConditionsDesc},localeService.t("sheets-filter.panel.?"),React.createElement("br",null),localeService.t("sheets-filter.panel.*"))):null)}__name(FilterByCondition,"FilterByCondition");function usePrimaryOptions(localeService){const locale=localeService.getCurrentLocale();return React.useMemo(()=>[{options:[{label:localeService.t(FilterConditionItems.NONE.label),value:FilterConditionItems.NONE.operator}]},{options:[{label:localeService.t(FilterConditionItems.EMPTY.label),value:FilterConditionItems.EMPTY.operator},{label:localeService.t(FilterConditionItems.NOT_EMPTY.label),value:FilterConditionItems.NOT_EMPTY.operator}]},{options:[{label:localeService.t(FilterConditionItems.TEXT_CONTAINS.label),value:FilterConditionItems.TEXT_CONTAINS.operator},{label:localeService.t(FilterConditionItems.DOES_NOT_CONTAIN.label),value:FilterConditionItems.DOES_NOT_CONTAIN.operator},{label:localeService.t(FilterConditionItems.STARTS_WITH.label),value:FilterConditionItems.STARTS_WITH.operator},{label:localeService.t(FilterConditionItems.ENDS_WITH.label),value:FilterConditionItems.ENDS_WITH.operator},{label:localeService.t(FilterConditionItems.EQUALS.label),value:FilterConditionItems.EQUALS.operator}]},{options:[{label:localeService.t(FilterConditionItems.GREATER_THAN.label),value:FilterConditionItems.GREATER_THAN.operator},{label:localeService.t(FilterConditionItems.GREATER_THAN_OR_EQUAL.label),value:FilterConditionItems.GREATER_THAN_OR_EQUAL.operator},{label:localeService.t(FilterConditionItems.LESS_THAN.label),value:FilterConditionItems.LESS_THAN.operator},{label:localeService.t(FilterConditionItems.LESS_THAN_OR_EQUAL.label),value:FilterConditionItems.LESS_THAN_OR_EQUAL.operator},{label:localeService.t(FilterConditionItems.EQUAL.label),value:FilterConditionItems.EQUAL.operator},{label:localeService.t(FilterConditionItems.NOT_EQUAL.label),value:FilterConditionItems.NOT_EQUAL.operator},{label:localeService.t(FilterConditionItems.BETWEEN.label),value:FilterConditionItems.BETWEEN.operator},{label:localeService.t(FilterConditionItems.NOT_BETWEEN.label),value:FilterConditionItems.NOT_BETWEEN.operator}]},{options:[{label:localeService.t(FilterConditionItems.CUSTOM.label),value:FilterConditionItems.CUSTOM.operator}]}],[locale,localeService])}__name(usePrimaryOptions,"usePrimaryOptions");function useSecondaryOptions(localeService){const locale=localeService.getCurrentLocale();return React.useMemo(()=>FilterConditionItems.ALL_CONDITIONS.filter(c2=>c2.numOfParameters!==2).map(c2=>({label:localeService.t(c2.label),value:c2.operator})),[locale,localeService])}__name(useSecondaryOptions,"useSecondaryOptions");function _extends(){return _extends=Object.assign?Object.assign.bind():function(n2){for(var e2=1;e2<arguments.length;e2++){var t2=arguments[e2];for(var r in t2)({}).hasOwnProperty.call(t2,r)&&(n2[r]=t2[r])}return n2},_extends.apply(null,arguments)}__name(_extends,"_extends");function _typeof(o){"@babel/helpers - typeof";return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o2){return typeof o2}:function(o2){return o2&&typeof Symbol=="function"&&o2.constructor===Symbol&&o2!==Symbol.prototype?"symbol":typeof o2},_typeof(o)}__name(_typeof,"_typeof");function toPrimitive(t2,r){if(_typeof(t2)!="object"||!t2)return t2;var e2=t2[Symbol.toPrimitive];if(e2!==void 0){var i=e2.call(t2,r||"default");if(_typeof(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(t2)}__name(toPrimitive,"toPrimitive");function toPropertyKey(t2){var i=toPrimitive(t2,"string");return _typeof(i)=="symbol"?i:i+""}__name(toPropertyKey,"toPropertyKey");function _defineProperty(e2,r,t2){return(r=toPropertyKey(r))in e2?Object.defineProperty(e2,r,{value:t2,enumerable:!0,configurable:!0,writable:!0}):e2[r]=t2,e2}__name(_defineProperty,"_defineProperty");function ownKeys(e2,r){var t2=Object.keys(e2);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e2);r&&(o=o.filter(function(r2){return Object.getOwnPropertyDescriptor(e2,r2).enumerable})),t2.push.apply(t2,o)}return t2}__name(ownKeys,"ownKeys");function _objectSpread2(e2){for(var r=1;r<arguments.length;r++){var t2=arguments[r]!=null?arguments[r]:{};r%2?ownKeys(Object(t2),!0).forEach(function(r2){_defineProperty(e2,r2,t2[r2])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e2,Object.getOwnPropertyDescriptors(t2)):ownKeys(Object(t2)).forEach(function(r2){Object.defineProperty(e2,r2,Object.getOwnPropertyDescriptor(t2,r2))})}return e2}__name(_objectSpread2,"_objectSpread2");function _arrayWithHoles(r){if(Array.isArray(r))return r}__name(_arrayWithHoles,"_arrayWithHoles");function _iterableToArrayLimit(r,l2){var t2=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(t2!=null){var e2,n2,i,u2,a=[],f2=!0,o=!1;try{if(i=(t2=t2.call(r)).next,l2===0){if(Object(t2)!==t2)return;f2=!1}else for(;!(f2=(e2=i.call(t2)).done)&&(a.push(e2.value),a.length!==l2);f2=!0);}catch(r2){o=!0,n2=r2}finally{try{if(!f2&&t2.return!=null&&(u2=t2.return(),Object(u2)!==u2))return}finally{if(o)throw n2}}return a}}__name(_iterableToArrayLimit,"_iterableToArrayLimit");function _arrayLikeToArray(r,a){(a==null||a>r.length)&&(a=r.length);for(var e2=0,n2=Array(a);e2<a;e2++)n2[e2]=r[e2];return n2}__name(_arrayLikeToArray,"_arrayLikeToArray");function _unsupportedIterableToArray(r,a){if(r){if(typeof r=="string")return _arrayLikeToArray(r,a);var t2={}.toString.call(r).slice(8,-1);return t2==="Object"&&r.constructor&&(t2=r.constructor.name),t2==="Map"||t2==="Set"?Array.from(r):t2==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2)?_arrayLikeToArray(r,a):void 0}}__name(_unsupportedIterableToArray,"_unsupportedIterableToArray");function _nonIterableRest(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1
+ "use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@univerjs/core"),rpc=require("@univerjs/rpc"),sheetsFilter=require("@univerjs/sheets-filter"),sheets=require("@univerjs/sheets"),sheetsUi=require("@univerjs/sheets-ui"),design=require("@univerjs/design"),ui=require("@univerjs/ui"),rxjs=require("rxjs"),engineRender=require("@univerjs/engine-render"),React=require("react"),ReactDOM=require("react-dom");function _interopNamespaceDefault(e2){const n2=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e2){for(const k2 in e2)if(k2!=="default"){const d2=Object.getOwnPropertyDescriptor(e2,k2);Object.defineProperty(n2,k2,d2.get?d2:{enumerable:!0,get:__name(()=>e2[k2],"get")})}}return n2.default=e2,Object.freeze(n2)}__name(_interopNamespaceDefault,"_interopNamespaceDefault");const React__namespace=_interopNamespaceDefault(React),PLUGIN_CONFIG_KEY="sheets-filter-ui.config",defaultPluginConfig={},SetSheetFilterRangeCommand={id:"sheet.command.set-filter-range",type:core.CommandType.COMMAND,handler:__name((accessor,params)=>{const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService),commandService=accessor.get(core.ICommandService),undoRedoService=accessor.get(core.IUndoRedoService),instanceSrv=accessor.get(core.IUniverInstanceService),{unitId,subUnitId,range}=params;if(!sheets.getSheetCommandTarget(instanceSrv,params)||sheetsFilterService.getFilterModel(unitId,subUnitId))return!1;if(range.endRow===range.startRow){const messageService=accessor.get(ui.IMessageService,core.Quantity.OPTIONAL),localeService=accessor.get(core.LocaleService);return messageService==null||messageService.show({type:design.MessageType.Warning,content:localeService.t("sheets-filter.command.not-valid-filter-range")}),!1}const redoMutation={id:sheetsFilter.SetSheetsFilterRangeMutation.id,params:{unitId,subUnitId,range}},result=commandService.syncExecuteCommand(redoMutation.id,redoMutation.params);return result&&undoRedoService.pushUndoRedo({unitID:unitId,undoMutations:[{id:sheetsFilter.RemoveSheetsFilterMutation.id,params:{unitId,subUnitId}}],redoMutations:[redoMutation]}),result},"handler")},RemoveSheetFilterCommand={id:"sheet.command.remove-sheet-filter",type:core.CommandType.COMMAND,handler:__name((accessor,params)=>{const univerInstanceService=accessor.get(core.IUniverInstanceService),sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService),commandService=accessor.get(core.ICommandService),undoRedoService=accessor.get(core.IUndoRedoService),commandTarget=sheets.getSheetCommandTarget(univerInstanceService,params);if(!commandTarget)return!1;const{unitId,subUnitId}=commandTarget,filterModel=sheetsFilterService.getFilterModel(unitId,subUnitId);if(!filterModel)return!1;const autoFilter=filterModel==null?void 0:filterModel.serialize(),undoMutations=destructFilterModel(unitId,subUnitId,autoFilter),result=commandService.syncExecuteCommand(sheetsFilter.RemoveSheetsFilterMutation.id,{unitId,subUnitId});return result&&undoRedoService.pushUndoRedo({unitID:unitId,undoMutations,redoMutations:[{id:sheetsFilter.RemoveSheetsFilterMutation.id,params:{unitId,subUnitId}}]}),result},"handler")},SmartToggleSheetsFilterCommand={id:"sheet.command.smart-toggle-filter",type:core.CommandType.COMMAND,handler:__name(async accessor=>{const univerInstanceService=accessor.get(core.IUniverInstanceService),sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService),commandService=accessor.get(core.ICommandService),currentWorkbook=univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET),currentWorksheet=currentWorkbook==null?void 0:currentWorkbook.getActiveSheet();if(!currentWorksheet||!currentWorkbook)return!1;const unitId=currentWorkbook.getUnitId(),subUnitId=currentWorksheet.getSheetId();if(sheetsFilterService.getFilterModel(unitId,subUnitId))return commandService.executeCommand(RemoveSheetFilterCommand.id,{unitId,subUnitId});const lastSelection=accessor.get(sheets.SheetsSelectionsService).getCurrentLastSelection();if(!lastSelection)return!1;const startRange=lastSelection.range,targetFilterRange=sheets.isSingleCellSelection(lastSelection)?sheets.expandToContinuousRange(startRange,{left:!0,right:!0,up:!0,down:!0},currentWorksheet):startRange;return commandService.executeCommand(SetSheetFilterRangeCommand.id,{unitId,subUnitId,range:targetFilterRange})},"handler")},SetSheetsFilterCriteriaCommand={id:"sheet.command.set-filter-criteria",type:core.CommandType.COMMAND,handler:__name(async(accessor,params)=>{const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService),commandService=accessor.get(core.ICommandService),undoRedoService=accessor.get(core.IUndoRedoService),{unitId,subUnitId,col,criteria}=params,filterModel=sheetsFilterService.getFilterModel(unitId,subUnitId);if(!filterModel)return!1;const range=filterModel.getRange();if(!range||col<range.startColumn||col>range.endColumn)return!1;const filterColumn=filterModel.getFilterColumn(col),undoMutation=destructFilterColumn(unitId,subUnitId,col,filterColumn),redoMutation={id:sheetsFilter.SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col,criteria}},result=commandService.syncExecuteCommand(redoMutation.id,redoMutation.params);return result&&undoRedoService.pushUndoRedo({unitID:unitId,undoMutations:[undoMutation],redoMutations:[redoMutation]}),result},"handler")},ClearSheetsFilterCriteriaCommand={id:"sheet.command.clear-filter-criteria",type:core.CommandType.COMMAND,handler:__name((accessor,params)=>{const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService),undoRedoService=accessor.get(core.IUndoRedoService),commandService=accessor.get(core.ICommandService),instanceSrv=accessor.get(core.IUniverInstanceService),commandTarget=sheets.getSheetCommandTarget(instanceSrv,params);if(!commandTarget)return!1;const{unitId,subUnitId}=commandTarget,filterModel=sheetsFilterService.getFilterModel(commandTarget.unitId,commandTarget.subUnitId);if(!filterModel)return!1;const autoFilter=filterModel.serialize(),undoMutations=destructFilterCriteria(unitId,subUnitId,autoFilter),redoMutations=generateRemoveCriteriaMutations(unitId,subUnitId,autoFilter);return core.sequenceExecute(redoMutations,commandService).result?(undoRedoService.pushUndoRedo({unitID:unitId,undoMutations,redoMutations}),!0):!1},"handler")},ReCalcSheetsFilterCommand={id:"sheet.command.re-calc-filter",type:core.CommandType.COMMAND,handler:__name((accessor,params)=>{const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService),commandService=accessor.get(core.ICommandService),instanceSrv=accessor.get(core.IUniverInstanceService),commandTarget=sheets.getSheetCommandTarget(instanceSrv,params);if(!commandTarget)return!1;const{unitId,subUnitId}=commandTarget;return sheetsFilterService.getFilterModel(commandTarget.unitId,commandTarget.subUnitId)?commandService.executeCommand(sheetsFilter.ReCalcSheetsFilterMutation.id,{unitId,subUnitId}):!1},"handler")};function destructFilterModel(unitId,subUnitId,autoFilter){const mutations=[],setFilterMutation={id:sheetsFilter.SetSheetsFilterRangeMutation.id,params:{unitId,subUnitId,range:autoFilter.ref}};return mutations.push(setFilterMutation),destructFilterCriteria(unitId,subUnitId,autoFilter).forEach(m2=>mutations.push(m2)),mutations}__name(destructFilterModel,"destructFilterModel");function destructFilterCriteria(unitId,subUnitId,autoFilter){var _a13;const mutations=[];return(_a13=autoFilter.filterColumns)==null||_a13.forEach(filterColumn=>{const setFilterCriteriaMutation={id:sheetsFilter.SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col:filterColumn.colId,criteria:filterColumn}};mutations.push(setFilterCriteriaMutation)}),mutations}__name(destructFilterCriteria,"destructFilterCriteria");function generateRemoveCriteriaMutations(unitId,subUnitId,autoFilter){var _a13;const mutations=[];return(_a13=autoFilter.filterColumns)==null||_a13.forEach(filterColumn=>{const removeFilterCriteriaMutation={id:sheetsFilter.SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col:filterColumn.colId,criteria:null}};mutations.push(removeFilterCriteriaMutation)}),mutations}__name(generateRemoveCriteriaMutations,"generateRemoveCriteriaMutations");function destructFilterColumn(unitId,subUnitId,colId,filterColumn){if(!filterColumn)return{id:sheetsFilter.SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col:colId,criteria:null}};const serialize=filterColumn.serialize();return{id:sheetsFilter.SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col:colId,criteria:serialize}}}__name(destructFilterColumn,"destructFilterColumn");var OperatorOrder=(OperatorOrder2=>(OperatorOrder2[OperatorOrder2.FIRST=0]="FIRST",OperatorOrder2[OperatorOrder2.SECOND=1]="SECOND",OperatorOrder2))(OperatorOrder||{}),ExtendCustomFilterOperator=(ExtendCustomFilterOperator2=>(ExtendCustomFilterOperator2.NONE="none",ExtendCustomFilterOperator2.STARTS_WITH="startsWith",ExtendCustomFilterOperator2.DOES_NOT_START_WITH="doesNotStartWith",ExtendCustomFilterOperator2.ENDS_WITH="endsWith",ExtendCustomFilterOperator2.DOES_NOT_END_WITH="doesNotEndWith",ExtendCustomFilterOperator2.CONTAINS="contains",ExtendCustomFilterOperator2.DOES_NOT_CONTAIN="doesNotContain",ExtendCustomFilterOperator2.EQUALS="equals",ExtendCustomFilterOperator2.NOT_EQUALS="notEquals",ExtendCustomFilterOperator2.EMPTY="empty",ExtendCustomFilterOperator2.NOT_EMPTY="notEmpty",ExtendCustomFilterOperator2.BETWEEN="between",ExtendCustomFilterOperator2.NOT_BETWEEN="notBetween",ExtendCustomFilterOperator2.CUSTOM="custom",ExtendCustomFilterOperator2))(ExtendCustomFilterOperator||{}),FilterConditionItems;(FilterConditionItems2=>{FilterConditionItems2.NONE={label:"sheets-filter.conditions.none",operator:ExtendCustomFilterOperator.NONE,order:OperatorOrder.SECOND,numOfParameters:0,getDefaultFormParams:__name(()=>{throw new Error("[FilterConditionItems.NONE]: should not have initial form params!")},"getDefaultFormParams"),testMappingParams:__name(params=>params.operator1===ExtendCustomFilterOperator.NONE,"testMappingParams"),mapToFilterColumn:__name(()=>null,"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>!filterColumn.customFilters&&!filterColumn.filters?{}:!1,"testMappingFilterColumn")},FilterConditionItems2.EMPTY={label:"sheets-filter.conditions.empty",operator:ExtendCustomFilterOperator.EMPTY,order:OperatorOrder.SECOND,numOfParameters:0,getDefaultFormParams:__name(()=>{throw new Error("[FilterConditionItems.EMPTY]: should not have initial form params!")},"getDefaultFormParams"),testMappingParams:__name(({operator1})=>operator1===ExtendCustomFilterOperator.EMPTY,"testMappingParams"),mapToFilterColumn:__name(()=>({customFilters:{customFilters:[{val:""}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.val===""&&firstCustomFilter.operator===void 0?{operator1:ExtendCustomFilterOperator.EMPTY}:!1},"testMappingFilterColumn")},FilterConditionItems2.NOT_EMPTY={label:"sheets-filter.conditions.not-empty",operator:ExtendCustomFilterOperator.NOT_EMPTY,order:OperatorOrder.SECOND,numOfParameters:0,getDefaultFormParams:__name(()=>{throw new Error("[FilterConditionItems.NOT_EMPTY]: should not have initial form params!")},"getDefaultFormParams"),testMappingParams:__name(({operator1})=>operator1===ExtendCustomFilterOperator.NOT_EMPTY,"testMappingParams"),mapToFilterColumn:__name(()=>({customFilters:{customFilters:[{val:"",operator:sheetsFilter.CustomFilterOperator.NOT_EQUALS}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.val===" "&&firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.NOT_EQUALS?{operator1:ExtendCustomFilterOperator.NOT_EMPTY}:!1},"testMappingFilterColumn")},FilterConditionItems2.TEXT_CONTAINS={label:"sheets-filter.conditions.text-contains",operator:ExtendCustomFilterOperator.CONTAINS,order:OperatorOrder.FIRST,numOfParameters:1,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.CONTAINS,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===ExtendCustomFilterOperator.CONTAINS},"testMappingParams"),mapToFilterColumn:__name(mapParams=>{const{val1}=mapParams;return val1===""?null:{customFilters:{customFilters:[{val:`*${val1}*`}]}}},"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0],valAsString=firstCustomFilter.val.toString();return!firstCustomFilter.operator&&valAsString.startsWith("*")&&valAsString.endsWith("*")?{operator1:ExtendCustomFilterOperator.CONTAINS,val1:valAsString.slice(1,-1)}:!1},"testMappingFilterColumn")},FilterConditionItems2.DOES_NOT_CONTAIN={label:"sheets-filter.conditions.does-not-contain",operator:ExtendCustomFilterOperator.DOES_NOT_CONTAIN,order:OperatorOrder.FIRST,numOfParameters:1,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.DOES_NOT_CONTAIN,val1:""}),"getDefaultFormParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:`*${mapParams.val1}*`,operator:sheetsFilter.CustomFilterOperator.NOT_EQUALS}]}}),"mapToFilterColumn"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===ExtendCustomFilterOperator.DOES_NOT_CONTAIN},"testMappingParams"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0],valAsString=firstCustomFilter.val.toString();return firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.NOT_EQUALS&&valAsString.startsWith("*")&&valAsString.endsWith("*")?{operator1:ExtendCustomFilterOperator.DOES_NOT_CONTAIN,val1:valAsString.slice(1,-1)}:!1},"testMappingFilterColumn")},FilterConditionItems2.STARTS_WITH={label:"sheets-filter.conditions.starts-with",operator:ExtendCustomFilterOperator.STARTS_WITH,order:OperatorOrder.FIRST,numOfParameters:1,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.STARTS_WITH,val1:""}),"getDefaultFormParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:`${mapParams.val1}*`}]}}),"mapToFilterColumn"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===ExtendCustomFilterOperator.STARTS_WITH},"testMappingParams"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0],valAsString=firstCustomFilter.val.toString();return!firstCustomFilter.operator&&valAsString.endsWith("*")&&!valAsString.startsWith("*")?{operator1:ExtendCustomFilterOperator.STARTS_WITH,val1:valAsString.slice(0,-1)}:!1},"testMappingFilterColumn")},FilterConditionItems2.ENDS_WITH={label:"sheets-filter.conditions.ends-with",operator:ExtendCustomFilterOperator.ENDS_WITH,order:OperatorOrder.FIRST,numOfParameters:1,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.ENDS_WITH,val1:""}),"getDefaultFormParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:`*${mapParams.val1}`}]}}),"mapToFilterColumn"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===ExtendCustomFilterOperator.ENDS_WITH},"testMappingParams"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0],valAsString=firstCustomFilter.val.toString();return!firstCustomFilter.operator&&valAsString.startsWith("*")&&!valAsString.endsWith("*")?{operator1:ExtendCustomFilterOperator.ENDS_WITH,val1:valAsString.slice(1)}:!1},"testMappingFilterColumn")},FilterConditionItems2.EQUALS={label:"sheets-filter.conditions.equals",operator:ExtendCustomFilterOperator.EQUALS,order:OperatorOrder.FIRST,numOfParameters:1,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.EQUALS,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===ExtendCustomFilterOperator.EQUALS},"testMappingParams"),mapToFilterColumn:__name(mapParams=>{const{val1}=mapParams;return val1===""?null:{customFilters:{customFilters:[{val:val1}]}}},"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13,_b,_c;return((_b=(_a13=filterColumn.filters)==null?void 0:_a13.filters)==null?void 0:_b.length)===1?{operator1:ExtendCustomFilterOperator.EQUALS,val1:""}:((_c=filterColumn.customFilters)==null?void 0:_c.customFilters.length)===1&&!filterColumn.customFilters.customFilters[0].operator?{operator1:ExtendCustomFilterOperator.EQUALS,val1:filterColumn.customFilters.customFilters[0].val.toString()}:!1},"testMappingFilterColumn")},FilterConditionItems2.GREATER_THAN={label:"sheets-filter.conditions.greater-than",operator:sheetsFilter.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN,val1:""}),"getDefaultFormParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.GREATER_THAN}]}}),"mapToFilterColumn"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.GREATER_THAN},"testMappingParams"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.GREATER_THAN?!1:{operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.GREATER_THAN_OR_EQUAL={label:"sheets-filter.conditions.greater-than-or-equal",operator:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL},"testMappingParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL?!1:{operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.LESS_THAN={label:"sheets-filter.conditions.less-than",operator:sheetsFilter.CustomFilterOperator.LESS_THAN,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.LESS_THAN,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.LESS_THAN},"testMappingParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.LESS_THAN}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.LESS_THAN?!1:{operator1:sheetsFilter.CustomFilterOperator.LESS_THAN,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.LESS_THAN_OR_EQUAL={label:"sheets-filter.conditions.less-than-or-equal",operator:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL},"testMappingParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL?!1:{operator1:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.EQUAL={label:"sheets-filter.conditions.equal",operator:sheetsFilter.CustomFilterOperator.EQUAL,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.EQUAL,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.EQUAL},"testMappingParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.EQUAL}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.EQUAL?!1:{operator1:sheetsFilter.CustomFilterOperator.EQUAL,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.NOT_EQUAL={label:"sheets-filter.conditions.not-equal",operator:sheetsFilter.CustomFilterOperator.NOT_EQUALS,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.NOT_EQUALS,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.NOT_EQUALS},"testMappingParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.NOT_EQUALS}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.NOT_EQUALS?!1:{operator1:sheetsFilter.CustomFilterOperator.NOT_EQUALS,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.BETWEEN={label:"sheets-filter.conditions.between",operator:ExtendCustomFilterOperator.BETWEEN,order:OperatorOrder.SECOND,numOfParameters:2,getDefaultFormParams:__name(()=>({and:!0,operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:"",operator2:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const{and,operator1,operator2}=params;if(!and)return!1;const operators=[operator1,operator2];return operators.includes(sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&operators.includes(sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL)},"testMappingParams"),mapToFilterColumn:__name(mapParams=>{const{val1,val2,operator1}=mapParams,operator1IsGreater=operator1===sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:core.BooleanNumber.TRUE,customFilters:[{val:operator1IsGreater?val1:val2,operator:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:operator1IsGreater?val2:val1,operator:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==2)return!1;const[firstCustomFilter,secondCustomFilter]=filterColumn.customFilters.customFilters;return firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&secondCustomFilter.operator===sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL&&filterColumn.customFilters.and?{and:!0,operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:firstCustomFilter.val.toString(),operator2:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:secondCustomFilter.val.toString()}:secondCustomFilter.operator===sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL&&filterColumn.customFilters.and?{and:!0,operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:secondCustomFilter.val.toString(),operator2:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:firstCustomFilter.val.toLocaleString()}:!1},"testMappingFilterColumn")},FilterConditionItems2.NOT_BETWEEN={label:"sheets-filter.conditions.not-between",operator:ExtendCustomFilterOperator.NOT_BETWEEN,order:OperatorOrder.SECOND,numOfParameters:2,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.LESS_THAN,val1:"",operator2:sheetsFilter.CustomFilterOperator.GREATER_THAN,val2:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const{and,operator1,operator2}=params;if(and)return!1;const operators=[operator1,operator2];return operators.includes(sheetsFilter.CustomFilterOperator.GREATER_THAN)&&operators.includes(sheetsFilter.CustomFilterOperator.LESS_THAN)},"testMappingParams"),mapToFilterColumn:__name(mapParams=>{const{val1,val2,operator1}=mapParams,operator1IsGreater=operator1===sheetsFilter.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:operator1IsGreater?val1:val2,operator:sheetsFilter.CustomFilterOperator.GREATER_THAN},{val:operator1IsGreater?val2:val1,operator:sheetsFilter.CustomFilterOperator.LESS_THAN}]}}},"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==2)return!1;const[firstCustomFilter,secondCustomFilter]=filterColumn.customFilters.customFilters;return firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.LESS_THAN&&secondCustomFilter.operator===sheetsFilter.CustomFilterOperator.GREATER_THAN&&!filterColumn.customFilters.and?{operator1:sheetsFilter.CustomFilterOperator.LESS_THAN,val1:firstCustomFilter.val.toString(),operator2:sheetsFilter.CustomFilterOperator.GREATER_THAN,val2:secondCustomFilter.val.toString()}:secondCustomFilter.operator===sheetsFilter.CustomFilterOperator.LESS_THAN&&firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.GREATER_THAN&&!filterColumn.customFilters.and?{operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN,val1:secondCustomFilter.val.toString(),operator2:sheetsFilter.CustomFilterOperator.LESS_THAN,val2:firstCustomFilter.val.toLocaleString()}:!1},"testMappingFilterColumn")},FilterConditionItems2.CUSTOM={label:"sheets-filter.conditions.custom",operator:ExtendCustomFilterOperator.CUSTOM,order:OperatorOrder.SECOND,numOfParameters:2,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.NONE,val1:"",operator2:ExtendCustomFilterOperator.NONE,val2:""}),"getDefaultFormParams"),testMappingParams:__name(()=>!0,"testMappingParams"),mapToFilterColumn:__name(mapParams=>{const{and,val1,val2,operator1,operator2}=mapParams;function mapOperator(operator,val){for(const condition of FilterConditionItems2.ALL_CONDITIONS)if(condition.operator===operator)return condition.mapToFilterColumn({val1:val,operator1:operator})}__name(mapOperator,"mapOperator");const operator1IsNone=!operator1||operator1===FilterConditionItems2.NONE.operator,operator2IsNone=!operator2||operator2===FilterConditionItems2.NONE.operator;if(operator1IsNone&&operator2IsNone)return FilterConditionItems2.NONE.mapToFilterColumn({});if(operator1IsNone)return mapOperator(operator2,val2);if(operator2IsNone)return mapOperator(operator1,val1);const mappedCustomFilter1=mapOperator(operator1,val1),mappedCustomFilter2=mapOperator(operator2,val2),customFilters={customFilters:[mappedCustomFilter1.customFilters.customFilters[0],mappedCustomFilter2.customFilters.customFilters[0]]};return and&&(customFilters.and=core.BooleanNumber.TRUE),{customFilters}},"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a13;if(((_a13=filterColumn.customFilters)==null?void 0:_a13.customFilters.length)!==2)return!1;const params=filterColumn.customFilters.customFilters.map(customFilter=>testMappingFilterColumn({customFilters:{customFilters:[customFilter]}})),result={operator1:params[0][0].operator,val1:params[0][1].val1,operator2:params[1][0].operator,val2:params[1][1].val1};return filterColumn.customFilters.and&&(result.and=!0),result},"testMappingFilterColumn")},FilterConditionItems2.ALL_CONDITIONS=[FilterConditionItems2.NONE,FilterConditionItems2.EMPTY,FilterConditionItems2.NOT_EMPTY,FilterConditionItems2.TEXT_CONTAINS,FilterConditionItems2.DOES_NOT_CONTAIN,FilterConditionItems2.STARTS_WITH,FilterConditionItems2.ENDS_WITH,FilterConditionItems2.EQUALS,FilterConditionItems2.GREATER_THAN,FilterConditionItems2.GREATER_THAN_OR_EQUAL,FilterConditionItems2.LESS_THAN,FilterConditionItems2.LESS_THAN_OR_EQUAL,FilterConditionItems2.EQUAL,FilterConditionItems2.NOT_EQUAL,FilterConditionItems2.BETWEEN,FilterConditionItems2.NOT_BETWEEN,FilterConditionItems2.CUSTOM];function getItemByOperator(operator){const item=FilterConditionItems2.ALL_CONDITIONS.find(condition=>condition.operator===operator);if(!item)throw new Error(`[SheetsFilter]: no condition item found for operator: ${operator}`);return item}__name(getItemByOperator,"getItemByOperator"),FilterConditionItems2.getItemByOperator=getItemByOperator;function testMappingParams(mapParams,numOfParameters){for(const condition of FilterConditionItems2.ALL_CONDITIONS.filter(condition2=>condition2.numOfParameters===numOfParameters))if(condition.numOfParameters!==0&&condition.testMappingParams(mapParams))return condition;for(const condition of FilterConditionItems2.ALL_CONDITIONS)if(condition.testMappingParams(mapParams))return condition;throw new Error("[SheetsFilter]: no condition item can be mapped from the filter map params!")}__name(testMappingParams,"testMappingParams"),FilterConditionItems2.testMappingParams=testMappingParams;function getInitialFormParams(operator){const condition=FilterConditionItems2.ALL_CONDITIONS.find(condition2=>condition2.operator===operator);return(condition==null?void 0:condition.numOfParameters)===0?{operator1:condition.operator}:condition.getDefaultFormParams()}__name(getInitialFormParams,"getInitialFormParams"),FilterConditionItems2.getInitialFormParams=getInitialFormParams;function mapToFilterColumn(condition,mapParams){return condition.mapToFilterColumn(mapParams)}__name(mapToFilterColumn,"mapToFilterColumn"),FilterConditionItems2.mapToFilterColumn=mapToFilterColumn;function testMappingFilterColumn(filterColumn){if(!filterColumn)return[FilterConditionItems2.NONE,{}];for(const condition of FilterConditionItems2.ALL_CONDITIONS){const mapParams=condition.testMappingFilterColumn(filterColumn);if(mapParams)return[condition,mapParams]}return[FilterConditionItems2.NONE,{}]}__name(testMappingFilterColumn,"testMappingFilterColumn"),FilterConditionItems2.testMappingFilterColumn=testMappingFilterColumn})(FilterConditionItems||(FilterConditionItems={}));function getOnlyOperatorAndVal(mapParams){const{operator1,operator2,val1,val2}=mapParams;if(operator1&&operator2)throw new Error("Both operator1 and operator2 are set!");if(!operator1&&!operator2)throw new Error("Neither operator1 and operator2 and both not set!");return operator1?[operator1,val1]:[operator2,val2]}__name(getOnlyOperatorAndVal,"getOnlyOperatorAndVal");function statisticFilterByValueItems(items){const checkedItems=[],uncheckedItems=[];for(const item of items)item.checked?checkedItems.push(item):uncheckedItems.push(item);return{checkedItems,uncheckedItems,checked:checkedItems.length,unchecked:uncheckedItems.length}}__name(statisticFilterByValueItems,"statisticFilterByValueItems");var __defProp$9=Object.defineProperty,__getOwnPropDesc$9=Object.getOwnPropertyDescriptor,__decorateClass$9=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$9(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$9(target,key,result),result},"__decorateClass$9"),__decorateParam$9=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$9");const SHEETS_GENERATE_FILTER_VALUES_SERVICE_NAME="sheets-filter.generate-filter-values.service",ISheetsGenerateFilterValuesService=core.createIdentifier(SHEETS_GENERATE_FILTER_VALUES_SERVICE_NAME);var _a;let SheetsGenerateFilterValuesService=(_a=class extends core.Disposable{constructor(_localeService,_univerInstanceService,_logService){super(),this._localeService=_localeService,this._univerInstanceService=_univerInstanceService,this._logService=_logService}async getFilterValues(params){var _a13;const{unitId,subUnitId,filteredOutRowsByOtherColumns,filters,blankChecked,iterateRange,alreadyChecked}=params,worksheet=(_a13=this._univerInstanceService.getUnit(unitId))==null?void 0:_a13.getSheetBySheetId(subUnitId);return worksheet?(this._logService.debug("[SheetsGenerateFilterValuesService]","getFilterValues for",{unitId,subUnitId}),getFilterByValueItems(filters,blankChecked,this._localeService,iterateRange,worksheet,new Set(alreadyChecked.map(String)),new Set(filteredOutRowsByOtherColumns))):[]}},__name(_a,"SheetsGenerateFilterValuesService"),_a);SheetsGenerateFilterValuesService=__decorateClass$9([__decorateParam$9(0,core.Inject(core.LocaleService)),__decorateParam$9(1,core.IUniverInstanceService),__decorateParam$9(2,core.ILogService)],SheetsGenerateFilterValuesService);function getFilterByValueItems(filters,blankChecked,localeService,iterateRange,worksheet,alreadyChecked,filteredOutRowsByOtherColumns){const items=[],itemsByKey={};let index2=0,emptyCount=0;for(const cell of worksheet.iterateByColumn(iterateRange,!1,!1)){const{row,rowSpan=1}=cell;let rowIndex=0;for(;rowIndex<rowSpan;){const targetRow=row+rowIndex;if(filteredOutRowsByOtherColumns.has(targetRow)){rowIndex++;continue}const value=cell!=null&&cell.value?core.extractPureTextFromCell(cell.value):"";if(!value){emptyCount+=1,rowIndex+=rowSpan;continue}if(itemsByKey[value])itemsByKey[value].count++;else{const item={value,checked:alreadyChecked.size?alreadyChecked.has(value):!blankChecked,count:1,index:index2,isEmpty:!1};itemsByKey[value]=item,items.push(item)}rowIndex++}index2++}const initialBlankChecked=filters?blankChecked:!0;if(emptyCount>0){const item={value:localeService.t("sheets-filter.panel.empty"),checked:initialBlankChecked,count:emptyCount,index:index2,isEmpty:!0};items.push(item)}return items}__name(getFilterByValueItems,"getFilterByValueItems");var __defProp$8=Object.defineProperty,__getOwnPropDesc$8=Object.getOwnPropertyDescriptor,__decorateClass$8=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$8(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$8(target,key,result),result},"__decorateClass$8"),__decorateParam$8=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$8"),FilterBy=(FilterBy2=>(FilterBy2[FilterBy2.VALUES=0]="VALUES",FilterBy2[FilterBy2.CONDITIONS=1]="CONDITIONS",FilterBy2))(FilterBy||{});core.createIdentifier("sheets-filter-ui.sheets-filter-panel.service");var _a2;let SheetsFilterPanelService=(_a2=class extends core.Disposable{constructor(_injector,_refRangeService){super();__publicField(this,"_filterBy$",new rxjs.BehaviorSubject(0));__publicField(this,"filterBy$",this._filterBy$.asObservable());__publicField(this,"_filterByModel$",new rxjs.ReplaySubject(1));__publicField(this,"filterByModel$",this._filterByModel$.asObservable());__publicField(this,"_filterByModel",null);__publicField(this,"_hasCriteria$",new rxjs.BehaviorSubject(!1));__publicField(this,"hasCriteria$",this._hasCriteria$.asObservable());__publicField(this,"_filterModel",null);__publicField(this,"_col$",new rxjs.BehaviorSubject(-1));__publicField(this,"col$",this._col$.asObservable());__publicField(this,"_filterHeaderListener",null);this._injector=_injector,this._refRangeService=_refRangeService}get filterBy(){return this._filterBy$.getValue()}get filterByModel(){return this._filterByModel}set filterByModel(model){this._filterByModel=model,this._filterByModel$.next(model)}get filterModel(){return this._filterModel}get col(){return this._col$.getValue()}dispose(){this._filterBy$.complete(),this._filterByModel$.complete(),this._hasCriteria$.complete()}setupCol(filterModel,col){this.terminate(),this._filterModel=filterModel,this._col$.next(col);const filterColumn=filterModel.getFilterColumn(col);if(filterColumn){const info=filterColumn.getColumnData();if(info.customFilters){this._hasCriteria$.next(!0),this._setupByConditions(filterModel,col);return}if(info.filters){this._hasCriteria$.next(!0),this._setupByValues(filterModel,col);return}this._hasCriteria$.next(!1),this._setupByValues(filterModel,col);return}this._hasCriteria$.next(!1),this._setupByValues(filterModel,col)}changeFilterBy(filterBy){return!this._filterModel||this.col===-1?!1:(filterBy===0?this._setupByValues(this._filterModel,this.col):this._setupByConditions(this._filterModel,this.col),!0)}terminate(){return this._filterModel=null,this._col$.next(-1),this._disposeFilterHeaderChangeListener(),!0}_disposeFilterHeaderChangeListener(){var _a13;(_a13=this._filterHeaderListener)==null||_a13.dispose(),this._filterHeaderListener=null}_listenToFilterHeaderChange(filterModel,col){this._disposeFilterHeaderChangeListener();const unitId=filterModel.unitId,subUnitId=filterModel.subUnitId,filterRange=filterModel.getRange(),columnHeaderRange={startColumn:col,startRow:filterRange.startRow,endRow:filterRange.startRow,endColumn:col};this._filterHeaderListener=this._refRangeService.watchRange(unitId,subUnitId,columnHeaderRange,(before,after)=>{if(!after)this.terminate();else{const offset=after.startColumn-before.startColumn;offset!==0&&this._filterByModel.deltaCol(offset)}})}async _setupByValues(filterModel,col){this._disposePreviousModel();const range=filterModel.getRange();if(range.startRow===range.endRow)return!1;const filterByModel=await ByValuesModel.fromFilterColumn(this._injector,filterModel,col);return this.filterByModel=filterByModel,this._filterBy$.next(0),this._listenToFilterHeaderChange(filterModel,col),!0}_setupByConditions(filterModel,col){this._disposePreviousModel();const range=filterModel.getRange();if(range.startRow===range.endRow)return!1;const model=ByConditionsModel.fromFilterColumn(this._injector,filterModel,col,filterModel.getFilterColumn(col));return this.filterByModel=model,this._filterBy$.next(1),this._listenToFilterHeaderChange(filterModel,col),!0}_disposePreviousModel(){var _a13;(_a13=this._filterByModel)==null||_a13.dispose(),this.filterByModel=null}},__name(_a2,"SheetsFilterPanelService"),_a2);SheetsFilterPanelService=__decorateClass$8([__decorateParam$8(0,core.Inject(core.Injector)),__decorateParam$8(1,core.Inject(sheets.RefRangeService))],SheetsFilterPanelService);var _a3;let ByConditionsModel=(_a3=class extends core.Disposable{constructor(_filterModel,col,conditionItem,conditionParams,_commandService){super();__publicField(this,"canApply$",rxjs.of(!0));__publicField(this,"_conditionItem$");__publicField(this,"conditionItem$");__publicField(this,"_filterConditionFormParams$");__publicField(this,"filterConditionFormParams$");this._filterModel=_filterModel,this.col=col,this._commandService=_commandService,this._conditionItem$=new rxjs.BehaviorSubject(conditionItem),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new rxjs.BehaviorSubject(conditionParams),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}static fromFilterColumn(injector,filterModel,col,filterColumn){const[conditionItem,conditionParams]=FilterConditionItems.testMappingFilterColumn(filterColumn==null?void 0:filterColumn.getColumnData());return injector.createInstance(ByConditionsModel,filterModel,col,conditionItem,conditionParams)}get conditionItem(){return this._conditionItem$.getValue()}get filterConditionFormParams(){return this._filterConditionFormParams$.getValue()}dispose(){super.dispose(),this._conditionItem$.complete(),this._filterConditionFormParams$.complete()}deltaCol(offset){this.col+=offset}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const filterColumn=FilterConditionItems.mapToFilterColumn(this.conditionItem,this.filterConditionFormParams);return this._commandService.executeCommand(SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:filterColumn})}onPrimaryConditionChange(operator){const conditionItem=FilterConditionItems.ALL_CONDITIONS.find(item=>item.operator===operator);if(!conditionItem)throw new Error(`[ByConditionsModel]: condition item not found for operator: ${operator}!`);this._conditionItem$.next(conditionItem),this._filterConditionFormParams$.next(FilterConditionItems.getInitialFormParams(operator))}onConditionFormChange(params){const newParams={...this.filterConditionFormParams,...params};if(newParams.and!==!0&&delete newParams.and,typeof params.and<"u"||typeof params.operator1<"u"||typeof params.operator2<"u"){const conditionItem=FilterConditionItems.testMappingParams(newParams,this.conditionItem.numOfParameters);this._conditionItem$.next(conditionItem)}this._filterConditionFormParams$.next(newParams)}},__name(_a3,"ByConditionsModel"),_a3);ByConditionsModel=__decorateClass$8([__decorateParam$8(4,core.ICommandService)],ByConditionsModel);var _a4;let ByValuesModel=(_a4=class extends core.Disposable{constructor(_filterModel,col,items,_commandService){super();__publicField(this,"_rawFilterItems$");__publicField(this,"rawFilterItems$");__publicField(this,"filterItems$");__publicField(this,"_filterItems",[]);__publicField(this,"canApply$");__publicField(this,"_manuallyUpdateFilterItems$");__publicField(this,"_searchString$");__publicField(this,"searchString$");this._filterModel=_filterModel,this.col=col,this._commandService=_commandService,this._searchString$=new rxjs.BehaviorSubject(""),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new rxjs.BehaviorSubject(items),this.rawFilterItems$=this._rawFilterItems$.asObservable(),this._manuallyUpdateFilterItems$=new rxjs.Subject,this.filterItems$=rxjs.merge(rxjs.combineLatest([this._searchString$.pipe(rxjs.throttleTime(500,void 0,{leading:!0,trailing:!0}),rxjs.startWith(void 0)),this._rawFilterItems$]).pipe(rxjs.map(([searchString,items2])=>{if(!searchString)return items2;const searchKeyWords=searchString.toLowerCase().split(/\s+/).filter(s=>!!s);return items2.filter(item=>{const loweredItemValue=item.value.toLowerCase();return searchKeyWords.some(keyword=>loweredItemValue.includes(keyword))})})),this._manuallyUpdateFilterItems$).pipe(rxjs.shareReplay(1)),this.canApply$=this.filterItems$.pipe(rxjs.map(items2=>statisticFilterByValueItems(items2).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(items2=>this._filterItems=items2))}static async fromFilterColumn(injector,filterModel,col){var _a13;const univerInstanceService=injector.get(core.IUniverInstanceService),localeService=injector.get(core.LocaleService),generateFilterValuesService=injector.get(ISheetsGenerateFilterValuesService,core.Quantity.OPTIONAL),{unitId,subUnitId}=filterModel,workbook=univerInstanceService.getUniverSheetInstance(unitId);if(!workbook)throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${unitId}!`);const worksheet=workbook==null?void 0:workbook.getSheetBySheetId(subUnitId);if(!worksheet)throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${unitId} and subUnitId: ${subUnitId}!`);const range=filterModel.getRange(),column=col,filters=(_a13=filterModel.getFilterColumn(col))==null?void 0:_a13.getColumnData().filters,alreadyChecked=new Set(filters==null?void 0:filters.filters),blankChecked=!!(filters&&filters.blank),filteredOutRowsByOtherColumns=filterModel.getFilteredOutRowsExceptCol(col),iterateRange={...range,startRow:range.startRow+1,startColumn:column,endColumn:column};let items;return generateFilterValuesService?items=await generateFilterValuesService.getFilterValues({unitId,subUnitId,filteredOutRowsByOtherColumns:Array.from(filteredOutRowsByOtherColumns),filters:!!filters,blankChecked,iterateRange,alreadyChecked:Array.from(alreadyChecked)}):items=getFilterByValueItems(!!filters,blankChecked,localeService,iterateRange,worksheet,alreadyChecked,filteredOutRowsByOtherColumns),injector.createInstance(ByValuesModel,filterModel,col,items)}get rawFilterItems(){return this._rawFilterItems$.getValue()}get filterItems(){return this._filterItems}dispose(){this._rawFilterItems$.complete(),this._searchString$.complete()}deltaCol(offset){this.col+=offset}setSearchString(str){this._searchString$.next(str)}onFilterCheckToggled(item,checked){const items=this._filterItems.slice(),changedItem=items.find(i=>i.index===item.index);changedItem.checked=checked,this._manuallyUpdateFilterItems(items)}onFilterOnly(item){const items=this._filterItems.slice();items.forEach(i=>i.checked=i.index===item.index),this._manuallyUpdateFilterItems(items)}onCheckAllToggled(checked){const items=this._filterItems.slice();items.forEach(i=>i.checked=checked),this._manuallyUpdateFilterItems(items)}_manuallyUpdateFilterItems(items){this._manuallyUpdateFilterItems$.next(items)}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const statistics=statisticFilterByValueItems(this._filterItems),{checked,checkedItems}=statistics,rawFilterItems=this.rawFilterItems,noChecked=checked===0,allChecked=statistics.checked===rawFilterItems.length,criteria={colId:this.col};if(noChecked)throw new Error("[ByValuesModel]: no checked items!");if(allChecked)return this._commandService.executeCommand(SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});{criteria.filters={};const nonEmptyItems=checkedItems.filter(item=>!item.isEmpty);nonEmptyItems.length>0&&(criteria.filters={filters:nonEmptyItems.map(item=>item.value)}),nonEmptyItems.length!==checkedItems.length&&(criteria.filters.blank=!0)}return this._commandService.executeCommand(SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria})}},__name(_a4,"ByValuesModel"),_a4);ByValuesModel=__decorateClass$8([__decorateParam$8(3,core.ICommandService)],ByValuesModel);const FILTER_PANEL_OPENED_KEY="FILTER_PANEL_OPENED",OpenFilterPanelOperation={id:"sheet.operation.open-filter-panel",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>{const contextService=accessor.get(core.IContextService),sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService),sheetsFilterPanelService=accessor.get(SheetsFilterPanelService);accessor.get(core.ICommandService).syncExecuteCommand(sheetsUi.SetCellEditVisibleOperation.id,{visible:!1});const{unitId,subUnitId,col}=params,filterModel=sheetsFilterService.getFilterModel(unitId,subUnitId);return filterModel?(sheetsFilterPanelService.setupCol(filterModel,col),contextService.getContextValue(FILTER_PANEL_OPENED_KEY)||contextService.setContextValue(FILTER_PANEL_OPENED_KEY,!0),!0):!1},"handler")},CloseFilterPanelOperation={id:"sheet.operation.close-filter-panel",type:core.CommandType.OPERATION,handler:__name(accessor=>{const contextService=accessor.get(core.IContextService),sheetsFilterPanelService=accessor.get(SheetsFilterPanelService),layoutService=accessor.get(ui.ILayoutService,core.Quantity.OPTIONAL);return contextService.getContextValue(FILTER_PANEL_OPENED_KEY)?(contextService.setContextValue(FILTER_PANEL_OPENED_KEY,!1),layoutService==null||layoutService.focus(),sheetsFilterPanelService.terminate()):!1},"handler")},ChangeFilterByOperation={id:"sheet.operation.apply-filter",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>{const{filterBy}=params;return accessor.get(SheetsFilterPanelService).changeFilterBy(filterBy)},"handler")};var __defProp$7=Object.defineProperty,__getOwnPropDesc$7=Object.getOwnPropertyDescriptor,__decorateClass$7=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$7(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$7(target,key,result),result},"__decorateClass$7"),__decorateParam$7=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$7"),_a5;let SheetsFilterPermissionController=(_a5=class extends core.Disposable{constructor(_sheetsFilterService,_localeService,_commandService,_sheetPermissionInterceptorBaseController,_injector,_sheetsSelectionService){super(),this._sheetsFilterService=_sheetsFilterService,this._localeService=_localeService,this._commandService=_commandService,this._sheetPermissionInterceptorBaseController=_sheetPermissionInterceptorBaseController,this._injector=_injector,this._sheetsSelectionService=_sheetsSelectionService,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(command=>{var _a13,_b,_c;if(command.id===SmartToggleSheetsFilterCommand.id){const univerInstanceService=this._injector.get(core.IUniverInstanceService),target=sheets.getSheetCommandTarget(univerInstanceService);if(!target)return;const{unitId,subUnitId,worksheet}=target,filterRange=(_a13=this._sheetsFilterService.getFilterModel(unitId,subUnitId))==null?void 0:_a13.getRange();let permission;if(filterRange)permission=this._sheetPermissionInterceptorBaseController.permissionCheckWithRanges({rangeTypes:[sheets.RangeProtectionPermissionViewPoint],worksheetTypes:[sheets.WorksheetFilterPermission,sheets.WorksheetViewPermission]},[filterRange]);else{const range=(_b=this._sheetsSelectionService.getCurrentLastSelection())==null?void 0:_b.range;if(range){let newRange={...range};newRange=range.startColumn===range.endColumn&&range.startRow===range.endRow?sheets.expandToContinuousRange(newRange,{left:!0,right:!0,up:!0,down:!0},worksheet):newRange,permission=this._sheetPermissionInterceptorBaseController.permissionCheckWithRanges({rangeTypes:[sheets.RangeProtectionPermissionViewPoint],worksheetTypes:[sheets.WorksheetViewPermission,sheets.WorksheetFilterPermission]},[newRange],unitId,subUnitId)}else permission=this._sheetPermissionInterceptorBaseController.permissionCheckWithoutRange({rangeTypes:[sheets.RangeProtectionPermissionViewPoint],worksheetTypes:[sheets.WorksheetViewPermission,sheets.WorksheetFilterPermission]})}permission||this._sheetPermissionInterceptorBaseController.haveNotPermissionHandle(this._localeService.t("permission.dialog.filterErr"))}if(command.id===OpenFilterPanelOperation.id){const params=command.params,{unitId,subUnitId}=params,filterRange=(_c=this._sheetsFilterService.getFilterModel(unitId,subUnitId))==null?void 0:_c.getRange(),colRange=core.Tools.deepClone(filterRange);colRange&&(colRange.startColumn=params.col,colRange.endColumn=params.col,this._sheetPermissionInterceptorBaseController.permissionCheckWithRanges({rangeTypes:[sheets.RangeProtectionPermissionViewPoint],worksheetTypes:[sheets.WorksheetFilterPermission,sheets.WorksheetViewPermission]},[colRange])||this._sheetPermissionInterceptorBaseController.haveNotPermissionHandle(this._localeService.t("permission.dialog.filterErr")))}}))}},__name(_a5,"SheetsFilterPermissionController"),_a5);SheetsFilterPermissionController=__decorateClass$7([__decorateParam$7(0,core.Inject(sheetsFilter.SheetsFilterService)),__decorateParam$7(1,core.Inject(core.LocaleService)),__decorateParam$7(2,core.ICommandService),__decorateParam$7(3,core.Inject(sheetsUi.SheetPermissionInterceptorBaseController)),__decorateParam$7(4,core.Inject(core.Injector)),__decorateParam$7(5,core.Inject(sheets.SheetsSelectionsService))],SheetsFilterPermissionController);var __assign=function(){return __assign=Object.assign||function(t2){for(var s,i=1,n2=arguments.length;i<n2;i++){s=arguments[i];for(var p2 in s)Object.prototype.hasOwnProperty.call(s,p2)&&(t2[p2]=s[p2])}return t2},__assign.apply(this,arguments)},__rest=function(s,e2){var t2={};for(var p2 in s)Object.prototype.hasOwnProperty.call(s,p2)&&e2.indexOf(p2)<0&&(t2[p2]=s[p2]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,p2=Object.getOwnPropertySymbols(s);i<p2.length;i++)e2.indexOf(p2[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p2[i])&&(t2[p2[i]]=s[p2[i]]);return t2},IconBase=React.forwardRef(function(props,ref){var icon=props.icon,id=props.id,className=props.className,extend=props.extend,restProps=__rest(props,["icon","id","className","extend"]),cls="univerjs-icon univerjs-icon-".concat(id," ").concat(className||"").trim(),idSuffix=React.useRef("_".concat(generateShortUuid()));return render(icon,"".concat(id),{defIds:icon.defIds,idSuffix:idSuffix.current},__assign({ref,className:cls},restProps),extend)});function render(node,id,runtimeProps,rootProps,extend){return React.createElement(node.tag,__assign(__assign({key:id},replaceRuntimeIdsAndExtInAttrs(node,runtimeProps,extend)),rootProps),(replaceRuntimeIdsInDefs(node,runtimeProps).children||[]).map(function(child,index2){return render(child,"".concat(id,"-").concat(node.tag,"-").concat(index2),runtimeProps,void 0,extend)}))}__name(render,"render");function replaceRuntimeIdsAndExtInAttrs(node,runtimeProps,extend){var attrs=__assign({},node.attrs);extend!=null&&extend.colorChannel1&&attrs.fill==="colorChannel1"&&(attrs.fill=extend.colorChannel1);var defIds=runtimeProps.defIds;return!defIds||defIds.length===0||(node.tag==="use"&&attrs["xlink:href"]&&(attrs["xlink:href"]=attrs["xlink:href"]+runtimeProps.idSuffix),Object.entries(attrs).forEach(function(_a13){var key=_a13[0],value=_a13[1];typeof value=="string"&&(attrs[key]=value.replace(/url\(#(.*)\)/,"url(#$1".concat(runtimeProps.idSuffix,")")))})),attrs}__name(replaceRuntimeIdsAndExtInAttrs,"replaceRuntimeIdsAndExtInAttrs");function replaceRuntimeIdsInDefs(node,runtimeProps){var _a13,defIds=runtimeProps.defIds;return!defIds||defIds.length===0?node:node.tag==="defs"&&(!((_a13=node.children)===null||_a13===void 0)&&_a13.length)?__assign(__assign({},node),{children:node.children.map(function(child){return typeof child.attrs.id=="string"&&defIds&&defIds.indexOf(child.attrs.id)>-1?__assign(__assign({},child),{attrs:__assign(__assign({},child.attrs),{id:child.attrs.id+runtimeProps.idSuffix})}):child})}):node}__name(replaceRuntimeIdsInDefs,"replaceRuntimeIdsInDefs");function generateShortUuid(){return Math.random().toString(36).substring(2,8)}__name(generateShortUuid,"generateShortUuid");IconBase.displayName="UniverIcon";var element={tag:"svg",attrs:{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"}}]},FilterSingle=React.forwardRef(function(props,ref){return React.createElement(IconBase,Object.assign({},props,{id:"filter-single",ref,icon:element}))});FilterSingle.displayName="FilterSingle";const sheetsFilterPanel="univer-sheets-filter-panel",sheetsFilterPanelHeader="univer-sheets-filter-panel-header",sheetsFilterPanelContent="univer-sheets-filter-panel-content",sheetsFilterPanelSelectAll="univer-sheets-filter-panel-select-all",sheetsFilterPanelSelectAllCount="univer-sheets-filter-panel-select-all-count",sheetsFilterPanelValuesContainer="univer-sheets-filter-panel-values-container",inputAffixWrapper="univer-input-affix-wrapper",select="univer-select",radioGroup="univer-radio-group",sheetsFilterPanelValuesFind="univer-sheets-filter-panel-values-find",sheetsFilterPanelValuesList="univer-sheets-filter-panel-values-list",sheetsFilterPanelValuesListInnerContainer="univer-sheets-filter-panel-values-list-inner-container",sheetsFilterPanelValuesVirtual="univer-sheets-filter-panel-values-virtual",sheetsFilterPanelValuesItem="univer-sheets-filter-panel-values-item",sheetsFilterPanelValuesItemInner="univer-sheets-filter-panel-values-item-inner",sheetsFilterPanelValuesItemCount="univer-sheets-filter-panel-values-item-count",sheetsFilterPanelValuesItemExcludeButton="univer-sheets-filter-panel-values-item-exclude-button",sheetsFilterPanelValuesItemText="univer-sheets-filter-panel-values-item-text",sheetsFilterPanelConditionsContainer="univer-sheets-filter-panel-conditions-container",sheetsFilterPanelConditionsContainerInner="univer-sheets-filter-panel-conditions-container-inner",sheetsFilterPanelConditionsDesc="univer-sheets-filter-panel-conditions-desc",sheetsFilterPanelFooter="univer-sheets-filter-panel-footer",sheetsFilterPanelFooterPrimaryButtons="univer-sheets-filter-panel-footer-primary-buttons",button="univer-button",input="univer-input",formDualColumnLayout="univer-form-dual-column-layout",styles={sheetsFilterPanel,sheetsFilterPanelHeader,sheetsFilterPanelContent,sheetsFilterPanelSelectAll,sheetsFilterPanelSelectAllCount,sheetsFilterPanelValuesContainer,inputAffixWrapper,select,radioGroup,sheetsFilterPanelValuesFind,sheetsFilterPanelValuesList,sheetsFilterPanelValuesListInnerContainer,sheetsFilterPanelValuesVirtual,sheetsFilterPanelValuesItem,sheetsFilterPanelValuesItemInner,sheetsFilterPanelValuesItemCount,sheetsFilterPanelValuesItemExcludeButton,sheetsFilterPanelValuesItemText,sheetsFilterPanelConditionsContainer,sheetsFilterPanelConditionsContainerInner,sheetsFilterPanelConditionsDesc,sheetsFilterPanelFooter,sheetsFilterPanelFooterPrimaryButtons,button,input,formDualColumnLayout};function FilterByCondition(props){const{model}=props,localeService=core.useDependency(core.LocaleService),condition=ui.useObservable(model.conditionItem$,void 0,!0),formParams=ui.useObservable(model.filterConditionFormParams$,void 0,!0),{operator,numOfParameters}=condition,{operator1,operator2,val1,val2,and}=formParams,radioValue=and?"AND":"OR",onRadioChange=React.useCallback(key=>{model.onConditionFormChange({and:key==="AND"})},[model]),primaryOptions=usePrimaryOptions(localeService),onPrimaryConditionChange=React.useCallback(value=>{model.onPrimaryConditionChange(value)},[model]),secondaryOptions=useSecondaryOptions(localeService),onFormParamsChange=React.useCallback(diffParams=>{model.onConditionFormChange(diffParams)},[model]),placeholder=localeService.t("sheets-filter.panel.input-values-placeholder");function renderSecondaryCondition(operator3,val,name){const shouldRenderInput=FilterConditionItems.getItemByOperator(operator3).numOfParameters===1;return React.createElement(React.Fragment,null,name==="operator2"&&React.createElement(design.RadioGroup,{value:radioValue,onChange:onRadioChange},React.createElement(design.Radio,{value:"AND"},localeService.t("sheets-filter.panel.and")),React.createElement(design.Radio,{value:"OR"},localeService.t("sheets-filter.panel.or"))),React.createElement(design.Select,{value:operator3,options:secondaryOptions,onChange:__name(operator4=>onFormParamsChange({[name]:operator4}),"onChange")}),shouldRenderInput&&React.createElement("div",null,React.createElement(design.Input,{value:val,placeholder,onChange:__name(value=>onFormParamsChange({[name==="operator1"?"val1":"val2"]:value}),"onChange")})))}return __name(renderSecondaryCondition,"renderSecondaryCondition"),React.createElement("div",{className:styles.sheetsFilterPanelConditionsContainer},React.createElement(design.Select,{value:operator,options:primaryOptions,onChange:onPrimaryConditionChange}),FilterConditionItems.getItemByOperator(operator).numOfParameters!==0?React.createElement("div",{className:styles.sheetsFilterPanelConditionsContainerInner},numOfParameters>=1&&renderSecondaryCondition(operator1,val1!=null?val1:"","operator1"),numOfParameters>=2&&renderSecondaryCondition(operator2,val2!=null?val2:"","operator2"),React.createElement("div",{className:styles.sheetsFilterPanelConditionsDesc},localeService.t("sheets-filter.panel.?"),React.createElement("br",null),localeService.t("sheets-filter.panel.*"))):null)}__name(FilterByCondition,"FilterByCondition");function usePrimaryOptions(localeService){const locale=localeService.getCurrentLocale();return React.useMemo(()=>[{options:[{label:localeService.t(FilterConditionItems.NONE.label),value:FilterConditionItems.NONE.operator}]},{options:[{label:localeService.t(FilterConditionItems.EMPTY.label),value:FilterConditionItems.EMPTY.operator},{label:localeService.t(FilterConditionItems.NOT_EMPTY.label),value:FilterConditionItems.NOT_EMPTY.operator}]},{options:[{label:localeService.t(FilterConditionItems.TEXT_CONTAINS.label),value:FilterConditionItems.TEXT_CONTAINS.operator},{label:localeService.t(FilterConditionItems.DOES_NOT_CONTAIN.label),value:FilterConditionItems.DOES_NOT_CONTAIN.operator},{label:localeService.t(FilterConditionItems.STARTS_WITH.label),value:FilterConditionItems.STARTS_WITH.operator},{label:localeService.t(FilterConditionItems.ENDS_WITH.label),value:FilterConditionItems.ENDS_WITH.operator},{label:localeService.t(FilterConditionItems.EQUALS.label),value:FilterConditionItems.EQUALS.operator}]},{options:[{label:localeService.t(FilterConditionItems.GREATER_THAN.label),value:FilterConditionItems.GREATER_THAN.operator},{label:localeService.t(FilterConditionItems.GREATER_THAN_OR_EQUAL.label),value:FilterConditionItems.GREATER_THAN_OR_EQUAL.operator},{label:localeService.t(FilterConditionItems.LESS_THAN.label),value:FilterConditionItems.LESS_THAN.operator},{label:localeService.t(FilterConditionItems.LESS_THAN_OR_EQUAL.label),value:FilterConditionItems.LESS_THAN_OR_EQUAL.operator},{label:localeService.t(FilterConditionItems.EQUAL.label),value:FilterConditionItems.EQUAL.operator},{label:localeService.t(FilterConditionItems.NOT_EQUAL.label),value:FilterConditionItems.NOT_EQUAL.operator},{label:localeService.t(FilterConditionItems.BETWEEN.label),value:FilterConditionItems.BETWEEN.operator},{label:localeService.t(FilterConditionItems.NOT_BETWEEN.label),value:FilterConditionItems.NOT_BETWEEN.operator}]},{options:[{label:localeService.t(FilterConditionItems.CUSTOM.label),value:FilterConditionItems.CUSTOM.operator}]}],[locale,localeService])}__name(usePrimaryOptions,"usePrimaryOptions");function useSecondaryOptions(localeService){const locale=localeService.getCurrentLocale();return React.useMemo(()=>FilterConditionItems.ALL_CONDITIONS.filter(c2=>c2.numOfParameters!==2).map(c2=>({label:localeService.t(c2.label),value:c2.operator})),[locale,localeService])}__name(useSecondaryOptions,"useSecondaryOptions");function _extends(){return _extends=Object.assign?Object.assign.bind():function(n2){for(var e2=1;e2<arguments.length;e2++){var t2=arguments[e2];for(var r in t2)({}).hasOwnProperty.call(t2,r)&&(n2[r]=t2[r])}return n2},_extends.apply(null,arguments)}__name(_extends,"_extends");function _typeof(o){"@babel/helpers - typeof";return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o2){return typeof o2}:function(o2){return o2&&typeof Symbol=="function"&&o2.constructor===Symbol&&o2!==Symbol.prototype?"symbol":typeof o2},_typeof(o)}__name(_typeof,"_typeof");function toPrimitive(t2,r){if(_typeof(t2)!="object"||!t2)return t2;var e2=t2[Symbol.toPrimitive];if(e2!==void 0){var i=e2.call(t2,r||"default");if(_typeof(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(t2)}__name(toPrimitive,"toPrimitive");function toPropertyKey(t2){var i=toPrimitive(t2,"string");return _typeof(i)=="symbol"?i:i+""}__name(toPropertyKey,"toPropertyKey");function _defineProperty(e2,r,t2){return(r=toPropertyKey(r))in e2?Object.defineProperty(e2,r,{value:t2,enumerable:!0,configurable:!0,writable:!0}):e2[r]=t2,e2}__name(_defineProperty,"_defineProperty");function ownKeys(e2,r){var t2=Object.keys(e2);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e2);r&&(o=o.filter(function(r2){return Object.getOwnPropertyDescriptor(e2,r2).enumerable})),t2.push.apply(t2,o)}return t2}__name(ownKeys,"ownKeys");function _objectSpread2(e2){for(var r=1;r<arguments.length;r++){var t2=arguments[r]!=null?arguments[r]:{};r%2?ownKeys(Object(t2),!0).forEach(function(r2){_defineProperty(e2,r2,t2[r2])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e2,Object.getOwnPropertyDescriptors(t2)):ownKeys(Object(t2)).forEach(function(r2){Object.defineProperty(e2,r2,Object.getOwnPropertyDescriptor(t2,r2))})}return e2}__name(_objectSpread2,"_objectSpread2");function _arrayWithHoles(r){if(Array.isArray(r))return r}__name(_arrayWithHoles,"_arrayWithHoles");function _iterableToArrayLimit(r,l2){var t2=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(t2!=null){var e2,n2,i,u2,a=[],f2=!0,o=!1;try{if(i=(t2=t2.call(r)).next,l2===0){if(Object(t2)!==t2)return;f2=!1}else for(;!(f2=(e2=i.call(t2)).done)&&(a.push(e2.value),a.length!==l2);f2=!0);}catch(r2){o=!0,n2=r2}finally{try{if(!f2&&t2.return!=null&&(u2=t2.return(),Object(u2)!==u2))return}finally{if(o)throw n2}}return a}}__name(_iterableToArrayLimit,"_iterableToArrayLimit");function _arrayLikeToArray(r,a){(a==null||a>r.length)&&(a=r.length);for(var e2=0,n2=Array(a);e2<a;e2++)n2[e2]=r[e2];return n2}__name(_arrayLikeToArray,"_arrayLikeToArray");function _unsupportedIterableToArray(r,a){if(r){if(typeof r=="string")return _arrayLikeToArray(r,a);var t2={}.toString.call(r).slice(8,-1);return t2==="Object"&&r.constructor&&(t2=r.constructor.name),t2==="Map"||t2==="Set"?Array.from(r):t2==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2)?_arrayLikeToArray(r,a):void 0}}__name(_unsupportedIterableToArray,"_unsupportedIterableToArray");function _nonIterableRest(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}__name(_nonIterableRest,"_nonIterableRest");function _slicedToArray(r,e2){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e2)||_unsupportedIterableToArray(r,e2)||_nonIterableRest()}__name(_slicedToArray,"_slicedToArray");function _objectWithoutPropertiesLoose(r,e2){if(r==null)return{};var t2={};for(var n2 in r)if({}.hasOwnProperty.call(r,n2)){if(e2.indexOf(n2)>=0)continue;t2[n2]=r[n2]}return t2}__name(_objectWithoutPropertiesLoose,"_objectWithoutPropertiesLoose");function _objectWithoutProperties(e2,t2){if(e2==null)return{};var o,r,i=_objectWithoutPropertiesLoose(e2,t2);if(Object.getOwnPropertySymbols){var n2=Object.getOwnPropertySymbols(e2);for(r=0;r<n2.length;r++)o=n2[r],t2.indexOf(o)>=0||{}.propertyIsEnumerable.call(e2,o)&&(i[o]=e2[o])}return i}__name(_objectWithoutProperties,"_objectWithoutProperties");function getDefaultExportFromCjs(x){return x&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")?x.default:x}__name(getDefaultExportFromCjs,"getDefaultExportFromCjs");var classnames={exports:{}};/*!
3
3
  Copyright (c) 2018 Jed Watson.
4
4
  Licensed under the MIT License (MIT), see
@@ -11,4 +11,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
11
11
  *
12
12
  * This source code is licensed under the MIT license found in the
13
13
  * LICENSE file in the root directory of this source tree.
14
- */var b=Symbol.for("react.element"),c=Symbol.for("react.portal"),d=Symbol.for("react.fragment"),e=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),g=Symbol.for("react.provider"),h=Symbol.for("react.context"),k=Symbol.for("react.server_context"),l=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),n=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),q=Symbol.for("react.lazy"),t=Symbol.for("react.offscreen"),u;u=Symbol.for("react.module.reference");function v(a){if(typeof a=="object"&&a!==null){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}__name(v,"v");reactIs_production_min.ContextConsumer=h;reactIs_production_min.ContextProvider=g;reactIs_production_min.Element=b;reactIs_production_min.ForwardRef=l;reactIs_production_min.Fragment=d;reactIs_production_min.Lazy=q;reactIs_production_min.Memo=p;reactIs_production_min.Portal=c;reactIs_production_min.Profiler=f;reactIs_production_min.StrictMode=e;reactIs_production_min.Suspense=m;reactIs_production_min.SuspenseList=n;reactIs_production_min.isAsyncMode=function(){return!1};reactIs_production_min.isConcurrentMode=function(){return!1};reactIs_production_min.isContextConsumer=function(a){return v(a)===h};reactIs_production_min.isContextProvider=function(a){return v(a)===g};reactIs_production_min.isElement=function(a){return typeof a=="object"&&a!==null&&a.$$typeof===b};reactIs_production_min.isForwardRef=function(a){return v(a)===l};reactIs_production_min.isFragment=function(a){return v(a)===d};reactIs_production_min.isLazy=function(a){return v(a)===q};reactIs_production_min.isMemo=function(a){return v(a)===p};reactIs_production_min.isPortal=function(a){return v(a)===c};reactIs_production_min.isProfiler=function(a){return v(a)===f};reactIs_production_min.isStrictMode=function(a){return v(a)===e};reactIs_production_min.isSuspense=function(a){return v(a)===m};reactIs_production_min.isSuspenseList=function(a){return v(a)===n};reactIs_production_min.isValidElementType=function(a){return typeof a=="string"||typeof a=="function"||a===d||a===f||a===e||a===m||a===n||a===t||typeof a=="object"&&a!==null&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||a.getModuleId!==void 0)};reactIs_production_min.typeOf=v;reactIs.exports=reactIs_production_min;var reactIsExports=reactIs.exports;function toArray(children){var option=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ret=[];return React.Children.forEach(children,function(child){child==null&&!option.keepEmpty||(Array.isArray(child)?ret=ret.concat(toArray(child)):reactIsExports.isFragment(child)&&child.props?ret=ret.concat(toArray(child.props.children,option)):ret.push(child))}),ret}__name(toArray,"toArray");function isDOM(node){return node instanceof HTMLElement||node instanceof SVGElement}__name(isDOM,"isDOM");function getDOM(node){return node&&_typeof(node)==="object"&&isDOM(node.nativeElement)?node.nativeElement:isDOM(node)?node:null}__name(getDOM,"getDOM");function findDOMNode(node){var domNode=getDOM(node);if(domNode)return domNode;if(node instanceof React.Component){var _ReactDOM$findDOMNode;return(_ReactDOM$findDOMNode=ReactDOM.findDOMNode)===null||_ReactDOM$findDOMNode===void 0?void 0:_ReactDOM$findDOMNode.call(ReactDOM,node)}return null}__name(findDOMNode,"findDOMNode");function useMemo(getValue,condition,shouldUpdate){var cacheRef=React__namespace.useRef({});return(!("value"in cacheRef.current)||shouldUpdate(cacheRef.current.condition,condition))&&(cacheRef.current.value=getValue(),cacheRef.current.condition=condition),cacheRef.current.value}__name(useMemo,"useMemo");var fillRef=__name(function(ref,node){typeof ref=="function"?ref(node):_typeof(ref)==="object"&&ref&&"current"in ref&&(ref.current=node)},"fillRef"),composeRef=__name(function(){for(var _len=arguments.length,refs=new Array(_len),_key=0;_key<_len;_key++)refs[_key]=arguments[_key];var refList=refs.filter(Boolean);return refList.length<=1?refList[0]:function(node){refs.forEach(function(ref){fillRef(ref,node)})}},"composeRef"),useComposeRef=__name(function(){for(var _len2=arguments.length,refs=new Array(_len2),_key2=0;_key2<_len2;_key2++)refs[_key2]=arguments[_key2];return useMemo(function(){return composeRef.apply(void 0,refs)},refs,function(prev,next){return prev.length!==next.length||prev.every(function(ref,i){return ref!==next[i]})})},"useComposeRef"),supportRef=__name(function(nodeOrComponent){var _type$prototype,_nodeOrComponent$prot,type=reactIsExports.isMemo(nodeOrComponent)?nodeOrComponent.type.type:nodeOrComponent.type;return!(typeof type=="function"&&!((_type$prototype=type.prototype)!==null&&_type$prototype!==void 0&&_type$prototype.render)&&type.$$typeof!==reactIsExports.ForwardRef||typeof nodeOrComponent=="function"&&!((_nodeOrComponent$prot=nodeOrComponent.prototype)!==null&&_nodeOrComponent$prot!==void 0&&_nodeOrComponent$prot.render)&&nodeOrComponent.$$typeof!==reactIsExports.ForwardRef)},"supportRef");function isReactElement(node){return React.isValidElement(node)&&!reactIsExports.isFragment(node)}__name(isReactElement,"isReactElement");Number(React.version.split(".")[0])>=19;var CollectionContext=React__namespace.createContext(null);function Collection(_ref){var children=_ref.children,onBatchResize=_ref.onBatchResize,resizeIdRef=React__namespace.useRef(0),resizeInfosRef=React__namespace.useRef([]),onCollectionResize=React__namespace.useContext(CollectionContext),onResize2=React__namespace.useCallback(function(size,element2,data){resizeIdRef.current+=1;var currentId=resizeIdRef.current;resizeInfosRef.current.push({size,element:element2,data}),Promise.resolve().then(function(){currentId===resizeIdRef.current&&(onBatchResize==null||onBatchResize(resizeInfosRef.current),resizeInfosRef.current=[])}),onCollectionResize==null||onCollectionResize(size,element2,data)},[onBatchResize,onCollectionResize]);return React__namespace.createElement(CollectionContext.Provider,{value:onResize2},children)}__name(Collection,"Collection");var MapShim=function(){if(typeof Map<"u")return Map;function getIndex(arr,key){var result=-1;return arr.some(function(entry,index2){return entry[0]===key?(result=index2,!0):!1}),result}return __name(getIndex,"getIndex"),function(){function class_1(){this.__entries__=[]}return __name(class_1,"class_1"),Object.defineProperty(class_1.prototype,"size",{get:__name(function(){return this.__entries__.length},"get"),enumerable:!0,configurable:!0}),class_1.prototype.get=function(key){var index2=getIndex(this.__entries__,key),entry=this.__entries__[index2];return entry&&entry[1]},class_1.prototype.set=function(key,value){var index2=getIndex(this.__entries__,key);~index2?this.__entries__[index2][1]=value:this.__entries__.push([key,value])},class_1.prototype.delete=function(key){var entries=this.__entries__,index2=getIndex(entries,key);~index2&&entries.splice(index2,1)},class_1.prototype.has=function(key){return!!~getIndex(this.__entries__,key)},class_1.prototype.clear=function(){this.__entries__.splice(0)},class_1.prototype.forEach=function(callback,ctx){ctx===void 0&&(ctx=null);for(var _i=0,_a13=this.__entries__;_i<_a13.length;_i++){var entry=_a13[_i];callback.call(ctx,entry[1],entry[0])}},class_1}()}(),isBrowser=typeof window<"u"&&typeof document<"u"&&window.document===document,global$1=function(){return typeof global<"u"&&global.Math===Math?global:typeof self<"u"&&self.Math===Math?self:typeof window<"u"&&window.Math===Math?window:Function("return this")()}(),requestAnimationFrame$1=function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(global$1):function(callback){return setTimeout(function(){return callback(Date.now())},1e3/60)}}(),trailingTimeout=2;function throttle(callback,delay){var leadingCall=!1,trailingCall=!1,lastCallTime=0;function resolvePending(){leadingCall&&(leadingCall=!1,callback()),trailingCall&&proxy()}__name(resolvePending,"resolvePending");function timeoutCallback(){requestAnimationFrame$1(resolvePending)}__name(timeoutCallback,"timeoutCallback");function proxy(){var timeStamp=Date.now();if(leadingCall){if(timeStamp-lastCallTime<trailingTimeout)return;trailingCall=!0}else leadingCall=!0,trailingCall=!1,setTimeout(timeoutCallback,delay);lastCallTime=timeStamp}return __name(proxy,"proxy"),proxy}__name(throttle,"throttle");var REFRESH_DELAY=20,transitionKeys=["top","right","bottom","left","width","height","size","weight"],mutationObserverSupported=typeof MutationObserver<"u",ResizeObserverController=function(){function ResizeObserverController2(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=throttle(this.refresh.bind(this),REFRESH_DELAY)}return __name(ResizeObserverController2,"ResizeObserverController"),ResizeObserverController2.prototype.addObserver=function(observer){~this.observers_.indexOf(observer)||this.observers_.push(observer),this.connected_||this.connect_()},ResizeObserverController2.prototype.removeObserver=function(observer){var observers2=this.observers_,index2=observers2.indexOf(observer);~index2&&observers2.splice(index2,1),!observers2.length&&this.connected_&&this.disconnect_()},ResizeObserverController2.prototype.refresh=function(){var changesDetected=this.updateObservers_();changesDetected&&this.refresh()},ResizeObserverController2.prototype.updateObservers_=function(){var activeObservers=this.observers_.filter(function(observer){return observer.gatherActive(),observer.hasActive()});return activeObservers.forEach(function(observer){return observer.broadcastActive()}),activeObservers.length>0},ResizeObserverController2.prototype.connect_=function(){!isBrowser||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),mutationObserverSupported?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},ResizeObserverController2.prototype.disconnect_=function(){!isBrowser||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},ResizeObserverController2.prototype.onTransitionEnd_=function(_a13){var _b=_a13.propertyName,propertyName=_b===void 0?"":_b,isReflowProperty=transitionKeys.some(function(key){return!!~propertyName.indexOf(key)});isReflowProperty&&this.refresh()},ResizeObserverController2.getInstance=function(){return this.instance_||(this.instance_=new ResizeObserverController2),this.instance_},ResizeObserverController2.instance_=null,ResizeObserverController2}(),defineConfigurable=__name(function(target,props){for(var _i=0,_a13=Object.keys(props);_i<_a13.length;_i++){var key=_a13[_i];Object.defineProperty(target,key,{value:props[key],enumerable:!1,writable:!1,configurable:!0})}return target},"defineConfigurable"),getWindowOf=__name(function(target){var ownerGlobal=target&&target.ownerDocument&&target.ownerDocument.defaultView;return ownerGlobal||global$1},"getWindowOf"),emptyRect=createRectInit(0,0,0,0);function toFloat(value){return parseFloat(value)||0}__name(toFloat,"toFloat");function getBordersSize(styles2){for(var positions=[],_i=1;_i<arguments.length;_i++)positions[_i-1]=arguments[_i];return positions.reduce(function(size,position){var value=styles2["border-"+position+"-width"];return size+toFloat(value)},0)}__name(getBordersSize,"getBordersSize");function getPaddings(styles2){for(var positions=["top","right","bottom","left"],paddings={},_i=0,positions_1=positions;_i<positions_1.length;_i++){var position=positions_1[_i],value=styles2["padding-"+position];paddings[position]=toFloat(value)}return paddings}__name(getPaddings,"getPaddings");function getSVGContentRect(target){var bbox=target.getBBox();return createRectInit(0,0,bbox.width,bbox.height)}__name(getSVGContentRect,"getSVGContentRect");function getHTMLElementContentRect(target){var clientWidth=target.clientWidth,clientHeight=target.clientHeight;if(!clientWidth&&!clientHeight)return emptyRect;var styles2=getWindowOf(target).getComputedStyle(target),paddings=getPaddings(styles2),horizPad=paddings.left+paddings.right,vertPad=paddings.top+paddings.bottom,width=toFloat(styles2.width),height=toFloat(styles2.height);if(styles2.boxSizing==="border-box"&&(Math.round(width+horizPad)!==clientWidth&&(width-=getBordersSize(styles2,"left","right")+horizPad),Math.round(height+vertPad)!==clientHeight&&(height-=getBordersSize(styles2,"top","bottom")+vertPad)),!isDocumentElement(target)){var vertScrollbar=Math.round(width+horizPad)-clientWidth,horizScrollbar=Math.round(height+vertPad)-clientHeight;Math.abs(vertScrollbar)!==1&&(width-=vertScrollbar),Math.abs(horizScrollbar)!==1&&(height-=horizScrollbar)}return createRectInit(paddings.left,paddings.top,width,height)}__name(getHTMLElementContentRect,"getHTMLElementContentRect");var isSVGGraphicsElement=function(){return typeof SVGGraphicsElement<"u"?function(target){return target instanceof getWindowOf(target).SVGGraphicsElement}:function(target){return target instanceof getWindowOf(target).SVGElement&&typeof target.getBBox=="function"}}();function isDocumentElement(target){return target===getWindowOf(target).document.documentElement}__name(isDocumentElement,"isDocumentElement");function getContentRect(target){return isBrowser?isSVGGraphicsElement(target)?getSVGContentRect(target):getHTMLElementContentRect(target):emptyRect}__name(getContentRect,"getContentRect");function createReadOnlyRect(_a13){var x=_a13.x,y=_a13.y,width=_a13.width,height=_a13.height,Constr=typeof DOMRectReadOnly<"u"?DOMRectReadOnly:Object,rect=Object.create(Constr.prototype);return defineConfigurable(rect,{x,y,width,height,top:y,right:x+width,bottom:height+y,left:x}),rect}__name(createReadOnlyRect,"createReadOnlyRect");function createRectInit(x,y,width,height){return{x,y,width,height}}__name(createRectInit,"createRectInit");var ResizeObservation=function(){function ResizeObservation2(target){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=createRectInit(0,0,0,0),this.target=target}return __name(ResizeObservation2,"ResizeObservation"),ResizeObservation2.prototype.isActive=function(){var rect=getContentRect(this.target);return this.contentRect_=rect,rect.width!==this.broadcastWidth||rect.height!==this.broadcastHeight},ResizeObservation2.prototype.broadcastRect=function(){var rect=this.contentRect_;return this.broadcastWidth=rect.width,this.broadcastHeight=rect.height,rect},ResizeObservation2}(),ResizeObserverEntry=function(){function ResizeObserverEntry2(target,rectInit){var contentRect=createReadOnlyRect(rectInit);defineConfigurable(this,{target,contentRect})}return __name(ResizeObserverEntry2,"ResizeObserverEntry"),ResizeObserverEntry2}(),ResizeObserverSPI=function(){function ResizeObserverSPI2(callback,controller,callbackCtx){if(this.activeObservations_=[],this.observations_=new MapShim,typeof callback!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=callback,this.controller_=controller,this.callbackCtx_=callbackCtx}return __name(ResizeObserverSPI2,"ResizeObserverSPI"),ResizeObserverSPI2.prototype.observe=function(target){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(target instanceof getWindowOf(target).Element))throw new TypeError('parameter 1 is not of type "Element".');var observations=this.observations_;observations.has(target)||(observations.set(target,new ResizeObservation(target)),this.controller_.addObserver(this),this.controller_.refresh())}},ResizeObserverSPI2.prototype.unobserve=function(target){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(target instanceof getWindowOf(target).Element))throw new TypeError('parameter 1 is not of type "Element".');var observations=this.observations_;observations.has(target)&&(observations.delete(target),observations.size||this.controller_.removeObserver(this))}},ResizeObserverSPI2.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},ResizeObserverSPI2.prototype.gatherActive=function(){var _this=this;this.clearActive(),this.observations_.forEach(function(observation){observation.isActive()&&_this.activeObservations_.push(observation)})},ResizeObserverSPI2.prototype.broadcastActive=function(){if(this.hasActive()){var ctx=this.callbackCtx_,entries=this.activeObservations_.map(function(observation){return new ResizeObserverEntry(observation.target,observation.broadcastRect())});this.callback_.call(ctx,entries,ctx),this.clearActive()}},ResizeObserverSPI2.prototype.clearActive=function(){this.activeObservations_.splice(0)},ResizeObserverSPI2.prototype.hasActive=function(){return this.activeObservations_.length>0},ResizeObserverSPI2}(),observers=typeof WeakMap<"u"?new WeakMap:new MapShim,ResizeObserver$1=function(){function ResizeObserver2(callback){if(!(this instanceof ResizeObserver2))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var controller=ResizeObserverController.getInstance(),observer=new ResizeObserverSPI(callback,controller,this);observers.set(this,observer)}return __name(ResizeObserver2,"ResizeObserver"),ResizeObserver2}();["observe","unobserve","disconnect"].forEach(function(method){ResizeObserver$1.prototype[method]=function(){var _a13;return(_a13=observers.get(this))[method].apply(_a13,arguments)}});var index=function(){return typeof global$1.ResizeObserver<"u"?global$1.ResizeObserver:ResizeObserver$1}(),elementListeners=new Map;function onResize(entities){entities.forEach(function(entity){var _elementListeners$get,target=entity.target;(_elementListeners$get=elementListeners.get(target))===null||_elementListeners$get===void 0||_elementListeners$get.forEach(function(listener){return listener(target)})})}__name(onResize,"onResize");var resizeObserver=new index(onResize);function observe(element2,callback){elementListeners.has(element2)||(elementListeners.set(element2,new Set),resizeObserver.observe(element2)),elementListeners.get(element2).add(callback)}__name(observe,"observe");function unobserve(element2,callback){elementListeners.has(element2)&&(elementListeners.get(element2).delete(callback),elementListeners.get(element2).size||(resizeObserver.unobserve(element2),elementListeners.delete(element2)))}__name(unobserve,"unobserve");function _classCallCheck(a,n2){if(!(a instanceof n2))throw new TypeError("Cannot call a class as a function")}__name(_classCallCheck,"_classCallCheck");function _defineProperties(e2,r){for(var t2=0;t2<r.length;t2++){var o=r[t2];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e2,toPropertyKey(o.key),o)}}__name(_defineProperties,"_defineProperties");function _createClass(e2,r,t2){return r&&_defineProperties(e2.prototype,r),Object.defineProperty(e2,"prototype",{writable:!1}),e2}__name(_createClass,"_createClass");function _setPrototypeOf(t2,e2){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t3,e3){return t3.__proto__=e3,t3},_setPrototypeOf(t2,e2)}__name(_setPrototypeOf,"_setPrototypeOf");function _inherits(t2,e2){if(typeof e2!="function"&&e2!==null)throw new TypeError("Super expression must either be null or a function");t2.prototype=Object.create(e2&&e2.prototype,{constructor:{value:t2,writable:!0,configurable:!0}}),Object.defineProperty(t2,"prototype",{writable:!1}),e2&&_setPrototypeOf(t2,e2)}__name(_inherits,"_inherits");function _getPrototypeOf(t2){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t3){return t3.__proto__||Object.getPrototypeOf(t3)},_getPrototypeOf(t2)}__name(_getPrototypeOf,"_getPrototypeOf");function _isNativeReflectConstruct(){try{var t2=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(_isNativeReflectConstruct=__name(function(){return!!t2},"_isNativeReflectConstruct"))()}__name(_isNativeReflectConstruct,"_isNativeReflectConstruct");function _assertThisInitialized(e2){if(e2===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e2}__name(_assertThisInitialized,"_assertThisInitialized");function _possibleConstructorReturn(t2,e2){if(e2&&(_typeof(e2)=="object"||typeof e2=="function"))return e2;if(e2!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t2)}__name(_possibleConstructorReturn,"_possibleConstructorReturn");function _createSuper(t2){var r=_isNativeReflectConstruct();return function(){var e2,o=_getPrototypeOf(t2);if(r){var s=_getPrototypeOf(this).constructor;e2=Reflect.construct(o,arguments,s)}else e2=o.apply(this,arguments);return _possibleConstructorReturn(this,e2)}}__name(_createSuper,"_createSuper");var DomWrapper=function(_React$Component){_inherits(DomWrapper2,_React$Component);var _super=_createSuper(DomWrapper2);function DomWrapper2(){return _classCallCheck(this,DomWrapper2),_super.apply(this,arguments)}return __name(DomWrapper2,"DomWrapper"),_createClass(DomWrapper2,[{key:"render",value:__name(function(){return this.props.children},"render")}]),DomWrapper2}(React__namespace.Component);function SingleObserver(props,ref){var children=props.children,disabled=props.disabled,elementRef=React__namespace.useRef(null),wrapperRef=React__namespace.useRef(null),onCollectionResize=React__namespace.useContext(CollectionContext),isRenderProps=typeof children=="function",mergedChildren=isRenderProps?children(elementRef):children,sizeRef=React__namespace.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),canRef=!isRenderProps&&React__namespace.isValidElement(mergedChildren)&&supportRef(mergedChildren),originRef=canRef?mergedChildren.ref:null,mergedRef=useComposeRef(originRef,elementRef),getDom=__name(function(){var _elementRef$current;return findDOMNode(elementRef.current)||(elementRef.current&&_typeof(elementRef.current)==="object"?findDOMNode((_elementRef$current=elementRef.current)===null||_elementRef$current===void 0?void 0:_elementRef$current.nativeElement):null)||findDOMNode(wrapperRef.current)},"getDom2");React__namespace.useImperativeHandle(ref,function(){return getDom()});var propsRef=React__namespace.useRef(props);propsRef.current=props;var onInternalResize=React__namespace.useCallback(function(target){var _propsRef$current=propsRef.current,onResize2=_propsRef$current.onResize,data=_propsRef$current.data,_target$getBoundingCl=target.getBoundingClientRect(),width=_target$getBoundingCl.width,height=_target$getBoundingCl.height,offsetWidth=target.offsetWidth,offsetHeight=target.offsetHeight,fixedWidth=Math.floor(width),fixedHeight=Math.floor(height);if(sizeRef.current.width!==fixedWidth||sizeRef.current.height!==fixedHeight||sizeRef.current.offsetWidth!==offsetWidth||sizeRef.current.offsetHeight!==offsetHeight){var size={width:fixedWidth,height:fixedHeight,offsetWidth,offsetHeight};sizeRef.current=size;var mergedOffsetWidth=offsetWidth===Math.round(width)?width:offsetWidth,mergedOffsetHeight=offsetHeight===Math.round(height)?height:offsetHeight,sizeInfo=_objectSpread2(_objectSpread2({},size),{},{offsetWidth:mergedOffsetWidth,offsetHeight:mergedOffsetHeight});onCollectionResize==null||onCollectionResize(sizeInfo,target,data),onResize2&&Promise.resolve().then(function(){onResize2(sizeInfo,target)})}},[]);return React__namespace.useEffect(function(){var currentElement=getDom();return currentElement&&!disabled&&observe(currentElement,onInternalResize),function(){return unobserve(currentElement,onInternalResize)}},[elementRef.current,disabled]),React__namespace.createElement(DomWrapper,{ref:wrapperRef},canRef?React__namespace.cloneElement(mergedChildren,{ref:mergedRef}):mergedChildren)}__name(SingleObserver,"SingleObserver");var RefSingleObserver=React__namespace.forwardRef(SingleObserver),INTERNAL_PREFIX_KEY="rc-observer-key";function ResizeObserver(props,ref){var children=props.children,childNodes=typeof children=="function"?[children]:toArray(children);return childNodes.map(function(child,index2){var key=(child==null?void 0:child.key)||"".concat(INTERNAL_PREFIX_KEY,"-").concat(index2);return React__namespace.createElement(RefSingleObserver,_extends({},props,{key,ref:index2===0?ref:void 0}),child)})}__name(ResizeObserver,"ResizeObserver");var RefResizeObserver=React__namespace.forwardRef(ResizeObserver);RefResizeObserver.Collection=Collection;function useEvent(callback){var fnRef=React__namespace.useRef();fnRef.current=callback;var memoFn=React__namespace.useCallback(function(){for(var _fnRef$current,_len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return(_fnRef$current=fnRef.current)===null||_fnRef$current===void 0?void 0:_fnRef$current.call.apply(_fnRef$current,[fnRef].concat(args))},[]);return memoFn}__name(useEvent,"useEvent");function canUseDom(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}__name(canUseDom,"canUseDom");var useInternalLayoutEffect=canUseDom()?React__namespace.useLayoutEffect:React__namespace.useEffect,useLayoutEffect=__name(function(callback,deps){var firstMountRef=React__namespace.useRef(!0);useInternalLayoutEffect(function(){return callback(firstMountRef.current)},deps),useInternalLayoutEffect(function(){return firstMountRef.current=!1,function(){firstMountRef.current=!0}},[])},"useLayoutEffect2"),Filler=React__namespace.forwardRef(function(_ref,ref){var height=_ref.height,offsetY=_ref.offsetY,offsetX=_ref.offsetX,children=_ref.children,prefixCls=_ref.prefixCls,onInnerResize=_ref.onInnerResize,innerProps=_ref.innerProps,rtl=_ref.rtl,extra=_ref.extra,outerStyle={},innerStyle={display:"flex",flexDirection:"column"};return offsetY!==void 0&&(outerStyle={height,position:"relative",overflow:"hidden"},innerStyle=_objectSpread2(_objectSpread2({},innerStyle),{},_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({transform:"translateY(".concat(offsetY,"px)")},rtl?"marginRight":"marginLeft",-offsetX),"position","absolute"),"left",0),"right",0),"top",0))),React__namespace.createElement("div",{style:outerStyle},React__namespace.createElement(RefResizeObserver,{onResize:__name(function(_ref2){var offsetHeight=_ref2.offsetHeight;offsetHeight&&onInnerResize&&onInnerResize()},"onResize")},React__namespace.createElement("div",_extends({style:innerStyle,className:classNames(_defineProperty({},"".concat(prefixCls,"-holder-inner"),prefixCls)),ref},innerProps),children,extra)))});Filler.displayName="Filler";function Item(_ref){var children=_ref.children,setRef=_ref.setRef,refFunc=React__namespace.useCallback(function(node){setRef(node)},[]);return React__namespace.cloneElement(children,{ref:refFunc})}__name(Item,"Item");function useChildren(list,startIndex,endIndex,scrollWidth,offsetX,setNodeRef,renderFunc,_ref){var getKey=_ref.getKey;return list.slice(startIndex,endIndex+1).map(function(item,index2){var eleIndex=startIndex+index2,node=renderFunc(item,eleIndex,{style:{width:scrollWidth},offsetX}),key=getKey(item);return React__namespace.createElement(Item,{key,setRef:__name(function(ele){return setNodeRef(item,ele)},"setRef")},node)})}__name(useChildren,"useChildren");function findListDiffIndex(originList,targetList,getKey){var originLen=originList.length,targetLen=targetList.length,shortList,longList;if(originLen===0&&targetLen===0)return null;originLen<targetLen?(shortList=originList,longList=targetList):(shortList=targetList,longList=originList);var notExistKey={__EMPTY_ITEM__:!0};function getItemKey(item){return item!==void 0?getKey(item):notExistKey}__name(getItemKey,"getItemKey");for(var diffIndex=null,multiple=Math.abs(originLen-targetLen)!==1,i=0;i<longList.length;i+=1){var shortKey=getItemKey(shortList[i]),longKey=getItemKey(longList[i]);if(shortKey!==longKey){diffIndex=i,multiple=multiple||shortKey!==getItemKey(longList[i+1]);break}}return diffIndex===null?null:{index:diffIndex,multiple}}__name(findListDiffIndex,"findListDiffIndex");function useDiffItem(data,getKey,onDiff){var _React$useState=React__namespace.useState(data),_React$useState2=_slicedToArray(_React$useState,2),prevData=_React$useState2[0],setPrevData=_React$useState2[1],_React$useState3=React__namespace.useState(null),_React$useState4=_slicedToArray(_React$useState3,2),diffItem=_React$useState4[0],setDiffItem=_React$useState4[1];return React__namespace.useEffect(function(){var diff=findListDiffIndex(prevData||[],data||[],getKey);(diff==null?void 0:diff.index)!==void 0&&setDiffItem(data[diff.index]),setPrevData(data)},[data]),[diffItem]}__name(useDiffItem,"useDiffItem");var raf=__name(function(callback){return+setTimeout(callback,16)},"raf2"),caf=__name(function(num){return clearTimeout(num)},"caf2");typeof window<"u"&&"requestAnimationFrame"in window&&(raf=__name(function(callback){return window.requestAnimationFrame(callback)},"raf3"),caf=__name(function(handle){return window.cancelAnimationFrame(handle)},"caf3"));var rafUUID=0,rafIds=new Map;function cleanup(id){rafIds.delete(id)}__name(cleanup,"cleanup");var wrapperRaf=__name(function(callback){var times=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;rafUUID+=1;var id=rafUUID;function callRef(leftTimes){if(leftTimes===0)cleanup(id),callback();else{var realId=raf(function(){callRef(leftTimes-1)});rafIds.set(id,realId)}}return __name(callRef,"callRef"),callRef(times),id},"wrapperRaf2");wrapperRaf.cancel=function(id){var realId=rafIds.get(id);return cleanup(id),caf(realId)};var isFF=(typeof navigator>"u"?"undefined":_typeof(navigator))==="object"&&/Firefox/i.test(navigator.userAgent);const useOriginScroll=__name(function(isScrollAtTop,isScrollAtBottom,isScrollAtLeft,isScrollAtRight){var lockRef=React.useRef(!1),lockTimeoutRef=React.useRef(null);function lockScroll(){clearTimeout(lockTimeoutRef.current),lockRef.current=!0,lockTimeoutRef.current=setTimeout(function(){lockRef.current=!1},50)}__name(lockScroll,"lockScroll");var scrollPingRef=React.useRef({top:isScrollAtTop,bottom:isScrollAtBottom,left:isScrollAtLeft,right:isScrollAtRight});return scrollPingRef.current.top=isScrollAtTop,scrollPingRef.current.bottom=isScrollAtBottom,scrollPingRef.current.left=isScrollAtLeft,scrollPingRef.current.right=isScrollAtRight,function(isHorizontal,delta){var smoothOffset=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,originScroll=isHorizontal?delta<0&&scrollPingRef.current.left||delta>0&&scrollPingRef.current.right:delta<0&&scrollPingRef.current.top||delta>0&&scrollPingRef.current.bottom;return smoothOffset&&originScroll?(clearTimeout(lockTimeoutRef.current),lockRef.current=!1):(!originScroll||lockRef.current)&&lockScroll(),!lockRef.current&&originScroll}},"useOriginScroll");function useFrameWheel(inVirtual,isScrollAtTop,isScrollAtBottom,isScrollAtLeft,isScrollAtRight,horizontalScroll,onWheelDelta){var offsetRef=React.useRef(0),nextFrameRef=React.useRef(null),wheelValueRef=React.useRef(null),isMouseScrollRef=React.useRef(!1),originScroll=useOriginScroll(isScrollAtTop,isScrollAtBottom,isScrollAtLeft,isScrollAtRight);function onWheelY(event,deltaY){wrapperRaf.cancel(nextFrameRef.current),offsetRef.current+=deltaY,wheelValueRef.current=deltaY,!originScroll(!1,deltaY)&&(isFF||event.preventDefault(),nextFrameRef.current=wrapperRaf(function(){var patchMultiple=isMouseScrollRef.current?10:1;onWheelDelta(offsetRef.current*patchMultiple),offsetRef.current=0}))}__name(onWheelY,"onWheelY");function onWheelX(event,deltaX){onWheelDelta(deltaX,!0),isFF||event.preventDefault()}__name(onWheelX,"onWheelX");var wheelDirectionRef=React.useRef(null),wheelDirectionCleanRef=React.useRef(null);function onWheel(event){if(inVirtual){wrapperRaf.cancel(wheelDirectionCleanRef.current),wheelDirectionCleanRef.current=wrapperRaf(function(){wheelDirectionRef.current=null},2);var deltaX=event.deltaX,deltaY=event.deltaY,shiftKey=event.shiftKey,mergedDeltaX=deltaX,mergedDeltaY=deltaY;(wheelDirectionRef.current==="sx"||!wheelDirectionRef.current&&shiftKey&&deltaY&&!deltaX)&&(mergedDeltaX=deltaY,mergedDeltaY=0,wheelDirectionRef.current="sx");var absX=Math.abs(mergedDeltaX),absY=Math.abs(mergedDeltaY);wheelDirectionRef.current===null&&(wheelDirectionRef.current=horizontalScroll&&absX>absY?"x":"y"),wheelDirectionRef.current==="y"?onWheelY(event,mergedDeltaY):onWheelX(event,mergedDeltaX)}}__name(onWheel,"onWheel");function onFireFoxScroll(event){inVirtual&&(isMouseScrollRef.current=event.detail===wheelValueRef.current)}return __name(onFireFoxScroll,"onFireFoxScroll"),[onWheel,onFireFoxScroll]}__name(useFrameWheel,"useFrameWheel");function useGetSize(mergedData,getKey,heights,itemHeight){var _React$useMemo=React__namespace.useMemo(function(){return[new Map,[]]},[mergedData,heights.id,itemHeight]),_React$useMemo2=_slicedToArray(_React$useMemo,2),key2Index=_React$useMemo2[0],bottomList=_React$useMemo2[1],getSize=__name(function(startKey){var endKey=arguments.length>1&&arguments[1]!==void 0?arguments[1]:startKey,startIndex=key2Index.get(startKey),endIndex=key2Index.get(endKey);if(startIndex===void 0||endIndex===void 0)for(var dataLen=mergedData.length,i=bottomList.length;i<dataLen;i+=1){var _heights$get,item=mergedData[i],key=getKey(item);key2Index.set(key,i);var cacheHeight=(_heights$get=heights.get(key))!==null&&_heights$get!==void 0?_heights$get:itemHeight;if(bottomList[i]=(bottomList[i-1]||0)+cacheHeight,key===startKey&&(startIndex=i),key===endKey&&(endIndex=i),startIndex!==void 0&&endIndex!==void 0)break}return{top:bottomList[startIndex-1]||0,bottom:bottomList[endIndex]}},"getSize");return getSize}__name(useGetSize,"useGetSize");var CacheMap=function(){function CacheMap2(){_classCallCheck(this,CacheMap2),_defineProperty(this,"maps",void 0),_defineProperty(this,"id",0),this.maps=Object.create(null)}return __name(CacheMap2,"CacheMap"),_createClass(CacheMap2,[{key:"set",value:__name(function(key,value){this.maps[key]=value,this.id+=1},"set")},{key:"get",value:__name(function(key){return this.maps[key]},"get")}]),CacheMap2}();function useHeights(getKey,onItemAdd,onItemRemove){var _React$useState=React__namespace.useState(0),_React$useState2=_slicedToArray(_React$useState,2),updatedMark=_React$useState2[0],setUpdatedMark=_React$useState2[1],instanceRef=React.useRef(new Map),heightsRef=React.useRef(new CacheMap),collectRafRef=React.useRef();function cancelRaf(){wrapperRaf.cancel(collectRafRef.current)}__name(cancelRaf,"cancelRaf");function collectHeight(){var sync=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;cancelRaf();var doCollect=__name(function(){instanceRef.current.forEach(function(element2,key){if(element2&&element2.offsetParent){var htmlElement=findDOMNode(element2),offsetHeight=htmlElement.offsetHeight;heightsRef.current.get(key)!==offsetHeight&&heightsRef.current.set(key,htmlElement.offsetHeight)}}),setUpdatedMark(function(c2){return c2+1})},"doCollect");sync?doCollect():collectRafRef.current=wrapperRaf(doCollect)}__name(collectHeight,"collectHeight");function setInstanceRef(item,instance){var key=getKey(item);instanceRef.current.get(key),instance?(instanceRef.current.set(key,instance),collectHeight()):instanceRef.current.delete(key)}return __name(setInstanceRef,"setInstanceRef"),React.useEffect(function(){return cancelRaf},[]),[setInstanceRef,collectHeight,heightsRef.current,updatedMark]}__name(useHeights,"useHeights");var SMOOTH_PTG=14/15;function useMobileTouchMove(inVirtual,listRef,callback){var touchedRef=React.useRef(!1),touchXRef=React.useRef(0),touchYRef=React.useRef(0),elementRef=React.useRef(null),intervalRef=React.useRef(null),cleanUpEvents,onTouchMove=__name(function(e2){if(touchedRef.current){var currentX=Math.ceil(e2.touches[0].pageX),currentY=Math.ceil(e2.touches[0].pageY),offsetX=touchXRef.current-currentX,offsetY=touchYRef.current-currentY,_isHorizontal=Math.abs(offsetX)>Math.abs(offsetY);_isHorizontal?touchXRef.current=currentX:touchYRef.current=currentY,callback(_isHorizontal,_isHorizontal?offsetX:offsetY)&&e2.preventDefault(),clearInterval(intervalRef.current),intervalRef.current=setInterval(function(){_isHorizontal?offsetX*=SMOOTH_PTG:offsetY*=SMOOTH_PTG;var offset=Math.floor(_isHorizontal?offsetX:offsetY);(!callback(_isHorizontal,offset,!0)||Math.abs(offset)<=.1)&&clearInterval(intervalRef.current)},16)}},"onTouchMove"),onTouchEnd=__name(function(){touchedRef.current=!1,cleanUpEvents()},"onTouchEnd"),onTouchStart=__name(function(e2){cleanUpEvents(),e2.touches.length===1&&!touchedRef.current&&(touchedRef.current=!0,touchXRef.current=Math.ceil(e2.touches[0].pageX),touchYRef.current=Math.ceil(e2.touches[0].pageY),elementRef.current=e2.target,elementRef.current.addEventListener("touchmove",onTouchMove,{passive:!1}),elementRef.current.addEventListener("touchend",onTouchEnd,{passive:!0}))},"onTouchStart");cleanUpEvents=__name(function(){elementRef.current&&(elementRef.current.removeEventListener("touchmove",onTouchMove),elementRef.current.removeEventListener("touchend",onTouchEnd))},"cleanUpEvents"),useLayoutEffect(function(){return inVirtual&&listRef.current.addEventListener("touchstart",onTouchStart,{passive:!0}),function(){var _listRef$current;(_listRef$current=listRef.current)===null||_listRef$current===void 0||_listRef$current.removeEventListener("touchstart",onTouchStart),cleanUpEvents(),clearInterval(intervalRef.current)}},[inVirtual])}__name(useMobileTouchMove,"useMobileTouchMove");var MAX_TIMES=10;function useScrollTo(containerRef,data,heights,itemHeight,getKey,collectHeight,syncScrollTop,triggerFlash){var scrollRef=React__namespace.useRef(),_React$useState=React__namespace.useState(null),_React$useState2=_slicedToArray(_React$useState,2),syncState=_React$useState2[0],setSyncState=_React$useState2[1];return useLayoutEffect(function(){if(syncState&&syncState.times<MAX_TIMES){if(!containerRef.current){setSyncState(function(ori){return _objectSpread2({},ori)});return}collectHeight();var targetAlign=syncState.targetAlign,originAlign=syncState.originAlign,index2=syncState.index,offset=syncState.offset,height=containerRef.current.clientHeight,needCollectHeight=!1,newTargetAlign=targetAlign,targetTop=null;if(height){for(var mergedAlign=targetAlign||originAlign,stackTop=0,itemTop=0,itemBottom=0,maxLen=Math.min(data.length-1,index2),i=0;i<=maxLen;i+=1){var key=getKey(data[i]);itemTop=stackTop;var cacheHeight=heights.get(key);itemBottom=itemTop+(cacheHeight===void 0?itemHeight:cacheHeight),stackTop=itemBottom}for(var leftHeight=mergedAlign==="top"?offset:height-offset,_i=maxLen;_i>=0;_i-=1){var _key=getKey(data[_i]),_cacheHeight=heights.get(_key);if(_cacheHeight===void 0){needCollectHeight=!0;break}if(leftHeight-=_cacheHeight,leftHeight<=0)break}switch(mergedAlign){case"top":targetTop=itemTop-offset;break;case"bottom":targetTop=itemBottom-height+offset;break;default:{var scrollTop=containerRef.current.scrollTop,scrollBottom=scrollTop+height;itemTop<scrollTop?newTargetAlign="top":itemBottom>scrollBottom&&(newTargetAlign="bottom")}}targetTop!==null&&syncScrollTop(targetTop),targetTop!==syncState.lastTop&&(needCollectHeight=!0)}needCollectHeight&&setSyncState(_objectSpread2(_objectSpread2({},syncState),{},{times:syncState.times+1,targetAlign:newTargetAlign,lastTop:targetTop}))}},[syncState,containerRef.current]),function(arg){if(arg==null){triggerFlash();return}if(wrapperRaf.cancel(scrollRef.current),typeof arg=="number")syncScrollTop(arg);else if(arg&&_typeof(arg)==="object"){var index2,align=arg.align;"index"in arg?index2=arg.index:index2=data.findIndex(function(item){return getKey(item)===arg.key});var _arg$offset=arg.offset,offset=_arg$offset===void 0?0:_arg$offset;setSyncState({times:0,index:index2,offset,originAlign:align})}}}__name(useScrollTo,"useScrollTo");function getPageXY(e2,horizontal){var obj="touches"in e2?e2.touches[0]:e2;return obj[horizontal?"pageX":"pageY"]}__name(getPageXY,"getPageXY");var ScrollBar=React__namespace.forwardRef(function(props,ref){var prefixCls=props.prefixCls,rtl=props.rtl,scrollOffset=props.scrollOffset,scrollRange=props.scrollRange,onStartMove=props.onStartMove,onStopMove=props.onStopMove,onScroll=props.onScroll,horizontal=props.horizontal,spinSize=props.spinSize,containerSize=props.containerSize,style=props.style,propsThumbStyle=props.thumbStyle,_React$useState=React__namespace.useState(!1),_React$useState2=_slicedToArray(_React$useState,2),dragging=_React$useState2[0],setDragging=_React$useState2[1],_React$useState3=React__namespace.useState(null),_React$useState4=_slicedToArray(_React$useState3,2),pageXY=_React$useState4[0],setPageXY=_React$useState4[1],_React$useState5=React__namespace.useState(null),_React$useState6=_slicedToArray(_React$useState5,2),startTop=_React$useState6[0],setStartTop=_React$useState6[1],isLTR=!rtl,scrollbarRef=React__namespace.useRef(),thumbRef=React__namespace.useRef(),_React$useState7=React__namespace.useState(!1),_React$useState8=_slicedToArray(_React$useState7,2),visible=_React$useState8[0],setVisible=_React$useState8[1],visibleTimeoutRef=React__namespace.useRef(),delayHidden=__name(function(){clearTimeout(visibleTimeoutRef.current),setVisible(!0),visibleTimeoutRef.current=setTimeout(function(){setVisible(!1)},3e3)},"delayHidden2"),enableScrollRange=scrollRange-containerSize||0,enableOffsetRange=containerSize-spinSize||0,top=React__namespace.useMemo(function(){if(scrollOffset===0||enableScrollRange===0)return 0;var ptg=scrollOffset/enableScrollRange;return ptg*enableOffsetRange},[scrollOffset,enableScrollRange,enableOffsetRange]),onContainerMouseDown=__name(function(e2){e2.stopPropagation(),e2.preventDefault()},"onContainerMouseDown2"),stateRef=React__namespace.useRef({top,dragging,pageY:pageXY,startTop});stateRef.current={top,dragging,pageY:pageXY,startTop};var onThumbMouseDown=__name(function(e2){setDragging(!0),setPageXY(getPageXY(e2,horizontal)),setStartTop(stateRef.current.top),onStartMove(),e2.stopPropagation(),e2.preventDefault()},"onThumbMouseDown2");React__namespace.useEffect(function(){var onScrollbarTouchStart=__name(function(e2){e2.preventDefault()},"onScrollbarTouchStart2"),scrollbarEle=scrollbarRef.current,thumbEle=thumbRef.current;return scrollbarEle.addEventListener("touchstart",onScrollbarTouchStart,{passive:!1}),thumbEle.addEventListener("touchstart",onThumbMouseDown,{passive:!1}),function(){scrollbarEle.removeEventListener("touchstart",onScrollbarTouchStart),thumbEle.removeEventListener("touchstart",onThumbMouseDown)}},[]);var enableScrollRangeRef=React__namespace.useRef();enableScrollRangeRef.current=enableScrollRange;var enableOffsetRangeRef=React__namespace.useRef();enableOffsetRangeRef.current=enableOffsetRange,React__namespace.useEffect(function(){if(dragging){var moveRafId,onMouseMove=__name(function(e2){var _stateRef$current=stateRef.current,stateDragging=_stateRef$current.dragging,statePageY=_stateRef$current.pageY,stateStartTop=_stateRef$current.startTop;wrapperRaf.cancel(moveRafId);var rect=scrollbarRef.current.getBoundingClientRect(),scale=containerSize/(horizontal?rect.width:rect.height);if(stateDragging){var offset=(getPageXY(e2,horizontal)-statePageY)*scale,newTop=stateStartTop;!isLTR&&horizontal?newTop-=offset:newTop+=offset;var tmpEnableScrollRange=enableScrollRangeRef.current,tmpEnableOffsetRange=enableOffsetRangeRef.current,ptg=tmpEnableOffsetRange?newTop/tmpEnableOffsetRange:0,newScrollTop=Math.ceil(ptg*tmpEnableScrollRange);newScrollTop=Math.max(newScrollTop,0),newScrollTop=Math.min(newScrollTop,tmpEnableScrollRange),moveRafId=wrapperRaf(function(){onScroll(newScrollTop,horizontal)})}},"onMouseMove2"),onMouseUp=__name(function(){setDragging(!1),onStopMove()},"onMouseUp2");return window.addEventListener("mousemove",onMouseMove,{passive:!0}),window.addEventListener("touchmove",onMouseMove,{passive:!0}),window.addEventListener("mouseup",onMouseUp,{passive:!0}),window.addEventListener("touchend",onMouseUp,{passive:!0}),function(){window.removeEventListener("mousemove",onMouseMove),window.removeEventListener("touchmove",onMouseMove),window.removeEventListener("mouseup",onMouseUp),window.removeEventListener("touchend",onMouseUp),wrapperRaf.cancel(moveRafId)}}},[dragging]),React__namespace.useEffect(function(){return delayHidden(),function(){clearTimeout(visibleTimeoutRef.current)}},[scrollOffset]),React__namespace.useImperativeHandle(ref,function(){return{delayHidden}});var scrollbarPrefixCls="".concat(prefixCls,"-scrollbar"),containerStyle={position:"absolute",visibility:visible?null:"hidden"},thumbStyle={position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"};return horizontal?(containerStyle.height=8,containerStyle.left=0,containerStyle.right=0,containerStyle.bottom=0,thumbStyle.height="100%",thumbStyle.width=spinSize,isLTR?thumbStyle.left=top:thumbStyle.right=top):(containerStyle.width=8,containerStyle.top=0,containerStyle.bottom=0,isLTR?containerStyle.right=0:containerStyle.left=0,thumbStyle.width="100%",thumbStyle.height=spinSize,thumbStyle.top=top),React__namespace.createElement("div",{ref:scrollbarRef,className:classNames(scrollbarPrefixCls,_defineProperty(_defineProperty(_defineProperty({},"".concat(scrollbarPrefixCls,"-horizontal"),horizontal),"".concat(scrollbarPrefixCls,"-vertical"),!horizontal),"".concat(scrollbarPrefixCls,"-visible"),visible)),style:_objectSpread2(_objectSpread2({},containerStyle),style),onMouseDown:onContainerMouseDown,onMouseMove:delayHidden},React__namespace.createElement("div",{ref:thumbRef,className:classNames("".concat(scrollbarPrefixCls,"-thumb"),_defineProperty({},"".concat(scrollbarPrefixCls,"-thumb-moving"),dragging)),style:_objectSpread2(_objectSpread2({},thumbStyle),propsThumbStyle),onMouseDown:onThumbMouseDown}))}),MIN_SIZE=20;function getSpinSize(){var containerSize=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,scrollRange=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,baseSize=containerSize/scrollRange*containerSize;return isNaN(baseSize)&&(baseSize=0),baseSize=Math.max(baseSize,MIN_SIZE),Math.floor(baseSize)}__name(getSpinSize,"getSpinSize");var _excluded=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles"],EMPTY_DATA=[],ScrollStyle={overflowY:"auto",overflowAnchor:"none"};function RawList(props,ref){var _props$prefixCls=props.prefixCls,prefixCls=_props$prefixCls===void 0?"rc-virtual-list":_props$prefixCls,className=props.className,height=props.height,itemHeight=props.itemHeight,_props$fullHeight=props.fullHeight,fullHeight=_props$fullHeight===void 0?!0:_props$fullHeight,style=props.style,data=props.data,children=props.children,itemKey=props.itemKey,virtual=props.virtual,direction=props.direction,scrollWidth=props.scrollWidth,_props$component=props.component,Component=_props$component===void 0?"div":_props$component,onScroll=props.onScroll,onVirtualScroll=props.onVirtualScroll,onVisibleChange=props.onVisibleChange,innerProps=props.innerProps,extraRender=props.extraRender,styles2=props.styles,restProps=_objectWithoutProperties(props,_excluded),getKey=React__namespace.useCallback(function(item){return typeof itemKey=="function"?itemKey(item):item==null?void 0:item[itemKey]},[itemKey]),_useHeights=useHeights(getKey),_useHeights2=_slicedToArray(_useHeights,4),setInstanceRef=_useHeights2[0],collectHeight=_useHeights2[1],heights=_useHeights2[2],heightUpdatedMark=_useHeights2[3],useVirtual=!!(virtual!==!1&&height&&itemHeight),containerHeight=React__namespace.useMemo(function(){return Object.values(heights.maps).reduce(function(total,curr){return total+curr},0)},[heights.id,heights.maps]),inVirtual=useVirtual&&data&&(Math.max(itemHeight*data.length,containerHeight)>height||!!scrollWidth),isRTL=direction==="rtl",mergedClassName=classNames(prefixCls,_defineProperty({},"".concat(prefixCls,"-rtl"),isRTL),className),mergedData=data||EMPTY_DATA,componentRef=React.useRef(),fillerInnerRef=React.useRef(),containerRef=React.useRef(),_useState=React.useState(0),_useState2=_slicedToArray(_useState,2),offsetTop=_useState2[0],setOffsetTop=_useState2[1],_useState3=React.useState(0),_useState4=_slicedToArray(_useState3,2),offsetLeft=_useState4[0],setOffsetLeft=_useState4[1],_useState5=React.useState(!1),_useState6=_slicedToArray(_useState5,2),scrollMoving=_useState6[0],setScrollMoving=_useState6[1],onScrollbarStartMove=__name(function(){setScrollMoving(!0)},"onScrollbarStartMove"),onScrollbarStopMove=__name(function(){setScrollMoving(!1)},"onScrollbarStopMove"),sharedConfig={getKey};function syncScrollTop(newTop){setOffsetTop(function(origin){var value;typeof newTop=="function"?value=newTop(origin):value=newTop;var alignedTop=keepInRange(value);return componentRef.current.scrollTop=alignedTop,alignedTop})}__name(syncScrollTop,"syncScrollTop");var rangeRef=React.useRef({start:0,end:mergedData.length}),diffItemRef=React.useRef(),_useDiffItem=useDiffItem(mergedData,getKey),_useDiffItem2=_slicedToArray(_useDiffItem,1),diffItem=_useDiffItem2[0];diffItemRef.current=diffItem;var _React$useMemo=React__namespace.useMemo(function(){if(!useVirtual)return{scrollHeight:void 0,start:0,end:mergedData.length-1,offset:void 0};if(!inVirtual){var _fillerInnerRef$curre;return{scrollHeight:((_fillerInnerRef$curre=fillerInnerRef.current)===null||_fillerInnerRef$curre===void 0?void 0:_fillerInnerRef$curre.offsetHeight)||0,start:0,end:mergedData.length-1,offset:void 0}}for(var itemTop=0,startIndex,startOffset,endIndex,dataLen=mergedData.length,i=0;i<dataLen;i+=1){var _item=mergedData[i],key=getKey(_item),cacheHeight=heights.get(key),currentItemBottom=itemTop+(cacheHeight===void 0?itemHeight:cacheHeight);currentItemBottom>=offsetTop&&startIndex===void 0&&(startIndex=i,startOffset=itemTop),currentItemBottom>offsetTop+height&&endIndex===void 0&&(endIndex=i),itemTop=currentItemBottom}return startIndex===void 0&&(startIndex=0,startOffset=0,endIndex=Math.ceil(height/itemHeight)),endIndex===void 0&&(endIndex=mergedData.length-1),endIndex=Math.min(endIndex+1,mergedData.length-1),{scrollHeight:itemTop,start:startIndex,end:endIndex,offset:startOffset}},[inVirtual,useVirtual,offsetTop,mergedData,heightUpdatedMark,height]),scrollHeight=_React$useMemo.scrollHeight,start=_React$useMemo.start,end=_React$useMemo.end,fillerOffset=_React$useMemo.offset;rangeRef.current.start=start,rangeRef.current.end=end;var _React$useState=React__namespace.useState({width:0,height}),_React$useState2=_slicedToArray(_React$useState,2),size=_React$useState2[0],setSize=_React$useState2[1],onHolderResize=__name(function(sizeInfo){setSize({width:sizeInfo.offsetWidth,height:sizeInfo.offsetHeight})},"onHolderResize"),verticalScrollBarRef=React.useRef(),horizontalScrollBarRef=React.useRef(),horizontalScrollBarSpinSize=React__namespace.useMemo(function(){return getSpinSize(size.width,scrollWidth)},[size.width,scrollWidth]),verticalScrollBarSpinSize=React__namespace.useMemo(function(){return getSpinSize(size.height,scrollHeight)},[size.height,scrollHeight]),maxScrollHeight=scrollHeight-height,maxScrollHeightRef=React.useRef(maxScrollHeight);maxScrollHeightRef.current=maxScrollHeight;function keepInRange(newScrollTop){var newTop=newScrollTop;return Number.isNaN(maxScrollHeightRef.current)||(newTop=Math.min(newTop,maxScrollHeightRef.current)),newTop=Math.max(newTop,0),newTop}__name(keepInRange,"keepInRange");var isScrollAtTop=offsetTop<=0,isScrollAtBottom=offsetTop>=maxScrollHeight,isScrollAtLeft=offsetLeft<=0,isScrollAtRight=offsetLeft>=scrollWidth,originScroll=useOriginScroll(isScrollAtTop,isScrollAtBottom,isScrollAtLeft,isScrollAtRight),getVirtualScrollInfo=__name(function(){return{x:isRTL?-offsetLeft:offsetLeft,y:offsetTop}},"getVirtualScrollInfo"),lastVirtualScrollInfoRef=React.useRef(getVirtualScrollInfo()),triggerScroll=useEvent(function(params){if(onVirtualScroll){var nextInfo=_objectSpread2(_objectSpread2({},getVirtualScrollInfo()),params);(lastVirtualScrollInfoRef.current.x!==nextInfo.x||lastVirtualScrollInfoRef.current.y!==nextInfo.y)&&(onVirtualScroll(nextInfo),lastVirtualScrollInfoRef.current=nextInfo)}});function onScrollBar(newScrollOffset,horizontal){var newOffset=newScrollOffset;horizontal?(ReactDOM.flushSync(function(){setOffsetLeft(newOffset)}),triggerScroll()):syncScrollTop(newOffset)}__name(onScrollBar,"onScrollBar");function onFallbackScroll(e2){var newScrollTop=e2.currentTarget.scrollTop;newScrollTop!==offsetTop&&syncScrollTop(newScrollTop),onScroll==null||onScroll(e2),triggerScroll()}__name(onFallbackScroll,"onFallbackScroll");var keepInHorizontalRange=__name(function(nextOffsetLeft){var tmpOffsetLeft=nextOffsetLeft,max=scrollWidth?scrollWidth-size.width:0;return tmpOffsetLeft=Math.max(tmpOffsetLeft,0),tmpOffsetLeft=Math.min(tmpOffsetLeft,max),tmpOffsetLeft},"keepInHorizontalRange"),onWheelDelta=useEvent(function(offsetXY,fromHorizontal){fromHorizontal?(ReactDOM.flushSync(function(){setOffsetLeft(function(left){var nextOffsetLeft=left+(isRTL?-offsetXY:offsetXY);return keepInHorizontalRange(nextOffsetLeft)})}),triggerScroll()):syncScrollTop(function(top){var newTop=top+offsetXY;return newTop})}),_useFrameWheel=useFrameWheel(useVirtual,isScrollAtTop,isScrollAtBottom,isScrollAtLeft,isScrollAtRight,!!scrollWidth,onWheelDelta),_useFrameWheel2=_slicedToArray(_useFrameWheel,2),onRawWheel=_useFrameWheel2[0],onFireFoxScroll=_useFrameWheel2[1];useMobileTouchMove(useVirtual,componentRef,function(isHorizontal,delta,smoothOffset){return originScroll(isHorizontal,delta,smoothOffset)?!1:(onRawWheel({preventDefault:__name(function(){},"preventDefault"),deltaX:isHorizontal?delta:0,deltaY:isHorizontal?0:delta}),!0)}),useLayoutEffect(function(){function onMozMousePixelScroll(e2){useVirtual&&e2.preventDefault()}__name(onMozMousePixelScroll,"onMozMousePixelScroll");var componentEle=componentRef.current;return componentEle.addEventListener("wheel",onRawWheel,{passive:!1}),componentEle.addEventListener("DOMMouseScroll",onFireFoxScroll,{passive:!0}),componentEle.addEventListener("MozMousePixelScroll",onMozMousePixelScroll,{passive:!1}),function(){componentEle.removeEventListener("wheel",onRawWheel),componentEle.removeEventListener("DOMMouseScroll",onFireFoxScroll),componentEle.removeEventListener("MozMousePixelScroll",onMozMousePixelScroll)}},[useVirtual]),useLayoutEffect(function(){if(scrollWidth){var newOffsetLeft=keepInHorizontalRange(offsetLeft);setOffsetLeft(newOffsetLeft),triggerScroll({x:newOffsetLeft})}},[size.width,scrollWidth]);var delayHideScrollBar=__name(function(){var _verticalScrollBarRef,_horizontalScrollBarR;(_verticalScrollBarRef=verticalScrollBarRef.current)===null||_verticalScrollBarRef===void 0||_verticalScrollBarRef.delayHidden(),(_horizontalScrollBarR=horizontalScrollBarRef.current)===null||_horizontalScrollBarR===void 0||_horizontalScrollBarR.delayHidden()},"delayHideScrollBar"),_scrollTo=useScrollTo(componentRef,mergedData,heights,itemHeight,getKey,function(){return collectHeight(!0)},syncScrollTop,delayHideScrollBar);React__namespace.useImperativeHandle(ref,function(){return{nativeElement:containerRef.current,getScrollInfo:getVirtualScrollInfo,scrollTo:__name(function(config){function isPosScroll(arg){return arg&&_typeof(arg)==="object"&&("left"in arg||"top"in arg)}__name(isPosScroll,"isPosScroll"),isPosScroll(config)?(config.left!==void 0&&setOffsetLeft(keepInHorizontalRange(config.left)),_scrollTo(config.top)):_scrollTo(config)},"scrollTo")}}),useLayoutEffect(function(){if(onVisibleChange){var renderList=mergedData.slice(start,end+1);onVisibleChange(renderList,mergedData)}},[start,end,mergedData]);var getSize=useGetSize(mergedData,getKey,heights,itemHeight),extraContent=extraRender==null?void 0:extraRender({start,end,virtual:inVirtual,offsetX:offsetLeft,offsetY:fillerOffset,rtl:isRTL,getSize}),listChildren=useChildren(mergedData,start,end,scrollWidth,offsetLeft,setInstanceRef,children,sharedConfig),componentStyle=null;height&&(componentStyle=_objectSpread2(_defineProperty({},fullHeight?"height":"maxHeight",height),ScrollStyle),useVirtual&&(componentStyle.overflowY="hidden",scrollWidth&&(componentStyle.overflowX="hidden"),scrollMoving&&(componentStyle.pointerEvents="none")));var containerProps={};return isRTL&&(containerProps.dir="rtl"),React__namespace.createElement("div",_extends({ref:containerRef,style:_objectSpread2(_objectSpread2({},style),{},{position:"relative"}),className:mergedClassName},containerProps,restProps),React__namespace.createElement(RefResizeObserver,{onResize:onHolderResize},React__namespace.createElement(Component,{className:"".concat(prefixCls,"-holder"),style:componentStyle,ref:componentRef,onScroll:onFallbackScroll,onMouseEnter:delayHideScrollBar},React__namespace.createElement(Filler,{prefixCls,height:scrollHeight,offsetX:offsetLeft,offsetY:fillerOffset,scrollWidth,onInnerResize:collectHeight,ref:fillerInnerRef,innerProps,rtl:isRTL,extra:extraContent},listChildren))),inVirtual&&scrollHeight>height&&React__namespace.createElement(ScrollBar,{ref:verticalScrollBarRef,prefixCls,scrollOffset:offsetTop,scrollRange:scrollHeight,rtl:isRTL,onScroll:onScrollBar,onStartMove:onScrollbarStartMove,onStopMove:onScrollbarStopMove,spinSize:verticalScrollBarSpinSize,containerSize:size.height,style:styles2==null?void 0:styles2.verticalScrollBar,thumbStyle:styles2==null?void 0:styles2.verticalScrollBarThumb}),inVirtual&&scrollWidth>size.width&&React__namespace.createElement(ScrollBar,{ref:horizontalScrollBarRef,prefixCls,scrollOffset:offsetLeft,scrollRange:scrollWidth,rtl:isRTL,onScroll:onScrollBar,onStartMove:onScrollbarStartMove,onStopMove:onScrollbarStopMove,spinSize:horizontalScrollBarSpinSize,containerSize:size.width,horizontal:!0,style:styles2==null?void 0:styles2.horizontalScrollBar,thumbStyle:styles2==null?void 0:styles2.horizontalScrollBarThumb}))}__name(RawList,"RawList");var List=React__namespace.forwardRef(RawList);List.displayName="List";function FilterByValue(props){const{model}=props,localeService=core.useDependency(core.LocaleService),searchText=ui.useObservable(model.searchString$,"",!0),items=ui.useObservable(model.filterItems$,void 0,!0),filterOnly=localeService.t("sheets-filter.panel.filter-only"),stat=statisticFilterByValueItems(items),allChecked=stat.checked>0&&stat.unchecked===0,indeterminate=stat.checked>0&&stat.unchecked>0,onFilterCheckToggled=React.useCallback((item,checked)=>{model.onFilterCheckToggled(item,checked)},[model]),onFilterOnlyClicked=React.useCallback(item=>{model.onFilterOnly(item)},[model]),onCheckAllToggled=React.useCallback(()=>{model.onCheckAllToggled(!allChecked)},[model,allChecked]),onSearchValueChange=React.useCallback(str=>{model.setSearchString(str)},[model]);return React.createElement("div",{className:styles.sheetsFilterPanelValuesContainer},React.createElement(design.Input,{autoFocus:!0,value:searchText,placeholder:localeService.t("sheets-filter.panel.search-placeholder"),onChange:onSearchValueChange}),React.createElement("div",{className:styles.sheetsFilterPanelValuesList},React.createElement("div",{className:styles.sheetsFilterPanelValuesItem},React.createElement("div",{className:styles.sheetsFilterPanelValuesItemInner},React.createElement(design.Checkbox,{indeterminate,disabled:items.length===0,checked:allChecked,onChange:onCheckAllToggled}),React.createElement("span",{className:styles.sheetsFilterPanelValuesItemText},`${localeService.t("sheets-filter.panel.select-all")}`),React.createElement("span",{className:styles.sheetsFilterPanelValuesItemCount},`(${stat.checked}/${stat.checked+stat.unchecked})`))),React.createElement("div",{className:styles.sheetsFilterPanelValuesVirtual},React.createElement(List,{style:{paddingRight:8},data:items,height:190,itemHeight:32,itemKey:__name(item=>`${item.value}----${item.checked}`,"itemKey")},item=>React.createElement("div",{className:styles.sheetsFilterPanelValuesItem},React.createElement("div",{className:styles.sheetsFilterPanelValuesItemInner},React.createElement(design.Checkbox,{checked:item.checked,onChange:__name(()=>onFilterCheckToggled(item,!item.checked),"onChange")}),React.createElement(design.Tooltip,{showIfEllipsis:!0,placement:"top",title:item.value},React.createElement("span",{className:styles.sheetsFilterPanelValuesItemText},item.value)),React.createElement("span",{className:styles.sheetsFilterPanelValuesItemCount},`(${item.count})`),React.createElement(design.Button,{className:styles.sheetsFilterPanelValuesItemExcludeButton,size:"small",type:"link",onClick:__name(()=>onFilterOnlyClicked(item),"onClick")},filterOnly)))))))}__name(FilterByValue,"FilterByValue");function FilterPanel(){var _a13;const sheetsFilterPanelService=core.useDependency(SheetsFilterPanelService),localeService=core.useDependency(core.LocaleService),commandService=core.useDependency(core.ICommandService),filterBy=ui.useObservable(sheetsFilterPanelService.filterBy$,void 0,!0),filterByModel=ui.useObservable(sheetsFilterPanelService.filterByModel$,void 0,!1),canApply=ui.useObservable(()=>(filterByModel==null?void 0:filterByModel.canApply$)||rxjs.of(!1),void 0,!1,[filterByModel]),options=useFilterByOptions(localeService),clearFilterDisabled=!ui.useObservable(sheetsFilterPanelService.hasCriteria$),onFilterByTypeChange=React.useCallback(value=>{commandService.executeCommand(ChangeFilterByOperation.id,{filterBy:value})},[commandService]),onClearCriteria=React.useCallback(async()=>{await(filterByModel==null?void 0:filterByModel.clear()),commandService.executeCommand(CloseFilterPanelOperation.id)},[filterByModel,commandService]),onCancel=React.useCallback(()=>{commandService.executeCommand(CloseFilterPanelOperation.id)},[commandService]),onApply=React.useCallback(async()=>{await(filterByModel==null?void 0:filterByModel.apply()),commandService.executeCommand(CloseFilterPanelOperation.id)},[filterByModel,commandService]),range=(_a13=core.useDependency(sheetsFilter.SheetsFilterService).activeFilterModel)==null?void 0:_a13.getRange(),colIndex=sheetsFilterPanelService.col,FilterPanelEmbedPointPart=ui.useComponentsOfPart(sheetsUi.SheetsUIPart.FILTER_PANEL_EMBED_POINT);return React.createElement("div",{className:styles.sheetsFilterPanel},React.createElement(ui.ComponentContainer,{components:FilterPanelEmbedPointPart,sharedProps:{range,colIndex,onClose:onCancel}}),React.createElement("div",{className:styles.sheetsFilterPanelHeader},React.createElement(design.Segmented,{value:filterBy,options,onChange:__name(value=>onFilterByTypeChange(value),"onChange")})),filterByModel?React.createElement("div",{className:styles.sheetsFilterPanelContent},filterBy===FilterBy.VALUES?React.createElement(FilterByValue,{model:filterByModel}):React.createElement(FilterByCondition,{model:filterByModel})):React.createElement("div",{style:{flex:1}}),React.createElement("div",{className:styles.sheetsFilterPanelFooter},React.createElement(design.Button,{type:"link",onClick:onClearCriteria,disabled:clearFilterDisabled},localeService.t("sheets-filter.panel.clear-filter")),React.createElement("span",{className:styles.sheetsFilterPanelFooterPrimaryButtons},React.createElement(design.Button,{type:"default",onClick:onCancel},localeService.t("sheets-filter.panel.cancel")),React.createElement(design.Button,{disabled:!canApply,type:"primary",onClick:onApply},localeService.t("sheets-filter.panel.confirm")))))}__name(FilterPanel,"FilterPanel");function useFilterByOptions(localeService){const locale=localeService.getCurrentLocale();return React.useMemo(()=>[{label:localeService.t("sheets-filter.panel.by-values"),value:FilterBy.VALUES},{label:localeService.t("sheets-filter.panel.by-conditions"),value:FilterBy.CONDITIONS}],[locale,localeService])}__name(useFilterByOptions,"useFilterByOptions");const SmartToggleFilterShortcut={id:SmartToggleSheetsFilterCommand.id,binding:ui.KeyCode.L|ui.MetaKeys.CTRL_COMMAND|ui.MetaKeys.SHIFT,description:"sheets-filter.shortcut.smart-toggle-filter",preconditions:sheetsUi.whenSheetEditorFocused,group:"4_sheet-edit"},BUTTON_VIEWPORT=16,FILTER_BUTTON_EMPTY=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"),_FilterButton=class _FilterButton{static drawNoCriteria(ctx,size,fgColor,bgColor){ctx.save(),engineRender.Rect.drawWith(ctx,{radius:2,width:BUTTON_VIEWPORT,height:BUTTON_VIEWPORT,fill:bgColor}),ctx.lineCap="square",ctx.strokeStyle=fgColor,ctx.scale(size/BUTTON_VIEWPORT,size/BUTTON_VIEWPORT),ctx.beginPath(),ctx.lineWidth=1,ctx.lineCap="round",ctx.moveTo(3,4),ctx.lineTo(13,4),ctx.moveTo(4.5,8),ctx.lineTo(11.5,8),ctx.moveTo(6,12),ctx.lineTo(10,12),ctx.stroke(),ctx.restore()}static drawHasCriteria(ctx,size,fgColor,bgColor){ctx.save(),engineRender.Rect.drawWith(ctx,{radius:2,width:BUTTON_VIEWPORT,height:BUTTON_VIEWPORT,fill:bgColor}),ctx.scale(size/BUTTON_VIEWPORT,size/BUTTON_VIEWPORT),ctx.fillStyle=fgColor,ctx.fill(FILTER_BUTTON_EMPTY),ctx.restore()}};__name(_FilterButton,"FilterButton");let FilterButton=_FilterButton;var __defProp$7=Object.defineProperty,__getOwnPropDesc$7=Object.getOwnPropertyDescriptor,__decorateClass$7=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$7(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$7(target,key,result),result},"__decorateClass$7"),__decorateParam$7=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$7");const FILTER_ICON_SIZE=16,FILTER_ICON_PADDING=1;var _a5;let SheetsFilterButtonShape=(_a5=class extends engineRender.Shape{constructor(key,props,_contextService,_commandService,_themeService){super(key,props);__publicField(this,"_cellWidth",0);__publicField(this,"_cellHeight",0);__publicField(this,"_filterParams");__publicField(this,"_hovered",!1);this._contextService=_contextService,this._commandService=_commandService,this._themeService=_themeService,this.setShapeProps(props),this.onPointerDown$.subscribeEvent(evt=>this.onPointerDown(evt)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(props){typeof props.cellHeight<"u"&&(this._cellHeight=props.cellHeight),typeof props.cellWidth<"u"&&(this._cellWidth=props.cellWidth),typeof props.filterParams<"u"&&(this._filterParams=props.filterParams),this.transformByState({width:props.width,height:props.height})}_draw(ctx){const cellHeight=this._cellHeight,cellWidth=this._cellWidth,left=FILTER_ICON_SIZE-cellWidth,top=FILTER_ICON_SIZE-cellHeight;ctx.save();const cellRegion=new Path2D;cellRegion.rect(left,top,cellWidth,cellHeight),ctx.clip(cellRegion);const{hasCriteria}=this._filterParams,fgColor=this._themeService.getCurrentTheme().primaryColor,bgColor=this._hovered?this._themeService.getCurrentTheme().grey50:"rgba(255, 255, 255, 1.0)";hasCriteria?FilterButton.drawHasCriteria(ctx,FILTER_ICON_SIZE,fgColor,bgColor):FilterButton.drawNoCriteria(ctx,FILTER_ICON_SIZE,fgColor,bgColor),ctx.restore()}onPointerDown(evt){if(evt.button===2)return;const{col,unitId,subUnitId}=this._filterParams;this._contextService.getContextValue(FILTER_PANEL_OPENED_KEY)||!this._commandService.hasCommand(OpenFilterPanelOperation.id)||setTimeout(()=>{this._commandService.executeCommand(OpenFilterPanelOperation.id,{unitId,subUnitId,col})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}},__name(_a5,"SheetsFilterButtonShape"),_a5);SheetsFilterButtonShape=__decorateClass$7([__decorateParam$7(2,core.IContextService),__decorateParam$7(3,core.ICommandService),__decorateParam$7(4,core.Inject(core.ThemeService))],SheetsFilterButtonShape);var __defProp$6=Object.defineProperty,__getOwnPropDesc$6=Object.getOwnPropertyDescriptor,__decorateClass$6=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$6(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$6(target,key,result),result},"__decorateClass$6"),__decorateParam$6=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$6");const DEFAULT_Z_INDEX=1e3,SHEETS_FILTER_BUTTON_Z_INDEX=5e3;var _a6;let SheetsFilterRenderController=(_a6=class extends core.RxDisposable{constructor(_context,_injector,_sheetSkeletonManagerService,_sheetsFilterService,_themeService,_sheetInterceptorService,_commandService,_selectionRenderService){super();__publicField(this,"_filterRangeShape",null);__publicField(this,"_buttonRenderDisposable",null);__publicField(this,"_filterButtonShapes",[]);this._context=_context,this._injector=_injector,this._sheetSkeletonManagerService=_sheetSkeletonManagerService,this._sheetsFilterService=_sheetsFilterService,this._themeService=_themeService,this._sheetInterceptorService=_sheetInterceptorService,this._commandService=_commandService,this._selectionRenderService=_selectionRenderService,this._initRenderer()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){this._sheetSkeletonManagerService.currentSkeleton$.pipe(rxjs.switchMap(skeletonParams=>{var _a13,_b;if(!skeletonParams)return rxjs.of(null);const{unit:workbook,unitId}=this._context,worksheetId=((_a13=workbook.getActiveSheet())==null?void 0:_a13.getSheetId())||"",filterModel=(_b=this._sheetsFilterService.getFilterModel(unitId,worksheetId))!=null?_b:void 0,getParams=__name(()=>({unitId,worksheetId,filterModel,range:filterModel==null?void 0:filterModel.getRange(),skeleton:skeletonParams.skeleton}),"getParams");return core.fromCallback(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(rxjs.filter(([command])=>command.type===core.CommandType.MUTATION&&command.params.unitId===workbook.getUnitId()&&sheetsFilter.FILTER_MUTATIONS.has(command.id)),rxjs.throttleTime(20,void 0,{leading:!1,trailing:!0}),rxjs.map(getParams),rxjs.startWith(getParams()))}),rxjs.takeUntil(this.dispose$)).subscribe(renderParams=>{this._disposeRendering(),!(!renderParams||!renderParams.range)&&(this._renderRange(renderParams.range,renderParams.skeleton),this._renderButtons(renderParams))})}_renderRange(range,skeleton){const{scene}=this._context,{rangeWithCoord,style}=this._selectionRenderService.attachSelectionWithCoord({range,primary:null,style:null}),{rowHeaderWidth,columnHeaderHeight}=skeleton,filterRangeShape=this._filterRangeShape=new sheetsUi.SelectionShape(scene,DEFAULT_Z_INDEX,this._themeService,!0);filterRangeShape.update(rangeWithCoord,rowHeaderWidth,columnHeaderHeight,{hasAutoFill:!1,fill:"rgba(0, 0, 0, 0.0)",...style}),filterRangeShape.setEvent(!1),scene.makeDirty(!0)}_renderButtons(params){const{range,filterModel,unitId,skeleton,worksheetId}=params,{scene}=this._context;this._interceptCellContent(unitId,worksheetId,params.range);const{startColumn,endColumn,startRow}=range;for(let col=startColumn;col<=endColumn;col++){const key=`sheets-filter-button-${col}`,startPosition=sheetsUi.getCoordByCell(startRow,col,scene,skeleton),{startX,startY,endX,endY}=startPosition,cellWidth=endX-startX,cellHeight=endY-startY;if(cellHeight<=FILTER_ICON_PADDING||cellWidth<=FILTER_ICON_PADDING)continue;const hasCriteria=!!filterModel.getFilterColumn(col),iconStartX=endX-FILTER_ICON_SIZE-FILTER_ICON_PADDING,iconStartY=endY-FILTER_ICON_SIZE-FILTER_ICON_PADDING,props={left:iconStartX,top:iconStartY,height:FILTER_ICON_SIZE,width:FILTER_ICON_SIZE,zIndex:SHEETS_FILTER_BUTTON_Z_INDEX,cellHeight,cellWidth,filterParams:{unitId,subUnitId:worksheetId,col,hasCriteria}},buttonShape=this._injector.createInstance(SheetsFilterButtonShape,key,props);this._filterButtonShapes.push(buttonShape)}scene.addObjects(this._filterButtonShapes),scene.makeDirty()}_interceptCellContent(workbookId,worksheetId,range){const{startRow,startColumn,endColumn}=range;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(sheets.INTERCEPTOR_POINT.CELL_CONTENT,{effect:core.InterceptorEffectEnum.Style,handler:__name((cell,pos,next)=>{const{row,col,unitId,subUnitId}=pos;return unitId!==workbookId||subUnitId!==worksheetId||row!==startRow||col<startColumn||col>endColumn?next(cell):next({...cell,fontRenderExtension:{...cell==null?void 0:cell.fontRenderExtension,rightOffset:FILTER_ICON_SIZE}})},"handler"),priority:10})}_disposeRendering(){var _a13,_b;(_a13=this._filterRangeShape)==null||_a13.dispose(),this._filterButtonShapes.forEach(s=>s.dispose()),(_b=this._buttonRenderDisposable)==null||_b.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}},__name(_a6,"SheetsFilterRenderController"),_a6);SheetsFilterRenderController=__decorateClass$6([__decorateParam$6(1,core.Inject(core.Injector)),__decorateParam$6(2,core.Inject(sheetsUi.SheetSkeletonManagerService)),__decorateParam$6(3,core.Inject(sheetsFilter.SheetsFilterService)),__decorateParam$6(4,core.Inject(core.ThemeService)),__decorateParam$6(5,core.Inject(sheets.SheetInterceptorService)),__decorateParam$6(6,core.ICommandService),__decorateParam$6(7,sheetsUi.ISheetSelectionRenderService)],SheetsFilterRenderController);var __defProp$5=Object.defineProperty,__getOwnPropDesc$5=Object.getOwnPropertyDescriptor,__decorateClass$5=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$5(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$5(target,key,result),result},"__decorateClass$5"),__decorateParam$5=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$5"),_a7;let SheetsFilterUIMobileController=(_a7=class extends core.RxDisposable{constructor(_renderManagerService,_sheetsRenderService){super(),this._renderManagerService=_renderManagerService,this._sheetsRenderService=_sheetsRenderService,[sheetsFilter.SetSheetsFilterRangeMutation,sheetsFilter.SetSheetsFilterCriteriaMutation,sheetsFilter.RemoveSheetsFilterMutation,sheetsFilter.ReCalcSheetsFilterMutation].forEach(m2=>this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(m2.id))),this.disposeWithMe(this._renderManagerService.registerRenderModule(core.UniverInstanceType.UNIVER_SHEET,[SheetsFilterRenderController]))}},__name(_a7,"SheetsFilterUIMobileController"),_a7);SheetsFilterUIMobileController=__decorateClass$5([__decorateParam$5(0,engineRender.IRenderManagerService),__decorateParam$5(1,core.Inject(sheetsUi.SheetsRenderService))],SheetsFilterUIMobileController);function SmartToggleFilterMenuItemFactory(accessor){const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService);return{id:SmartToggleSheetsFilterCommand.id,type:ui.MenuItemType.BUTTON_SELECTOR,icon:"FilterSingle",tooltip:"sheets-filter.toolbar.smart-toggle-filter-tooltip",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SHEET),activated$:sheetsFilterService.activeFilterModel$.pipe(rxjs.map(model=>!!model)),disabled$:sheetsUi.getObservableWithExclusiveRange$(accessor,sheetsUi.getCurrentRangeDisable$(accessor,{worksheetTypes:[sheets.WorksheetFilterPermission,sheets.WorksheetViewPermission],rangeTypes:[sheets.RangeProtectionPermissionViewPoint]}))}}__name(SmartToggleFilterMenuItemFactory,"SmartToggleFilterMenuItemFactory");function ClearFilterCriteriaMenuItemFactory(accessor){const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService);return{id:ClearSheetsFilterCriteriaCommand.id,type:ui.MenuItemType.BUTTON,title:"sheets-filter.toolbar.clear-filter-criteria",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SHEET),disabled$:sheetsFilterService.activeFilterModel$.pipe(rxjs.switchMap(model=>{var _a13;return(_a13=model==null?void 0:model.hasCriteria$.pipe(rxjs.map(m2=>!m2)))!=null?_a13:rxjs.of(!0)}))}}__name(ClearFilterCriteriaMenuItemFactory,"ClearFilterCriteriaMenuItemFactory");function ReCalcFilterMenuItemFactory(accessor){const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService);return{id:ReCalcSheetsFilterCommand.id,type:ui.MenuItemType.BUTTON,title:"sheets-filter.toolbar.re-calc-filter-conditions",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SHEET),disabled$:sheetsFilterService.activeFilterModel$.pipe(rxjs.switchMap(model=>{var _a13;return(_a13=model==null?void 0:model.hasCriteria$.pipe(rxjs.map(m2=>!m2)))!=null?_a13:rxjs.of(!0)}))}}__name(ReCalcFilterMenuItemFactory,"ReCalcFilterMenuItemFactory");const menuSchema={[ui.RibbonStartGroup.FORMULAS_INSERT]:{[SmartToggleSheetsFilterCommand.id]:{order:10,menuItemFactory:SmartToggleFilterMenuItemFactory,[ClearSheetsFilterCriteriaCommand.id]:{order:0,menuItemFactory:ClearFilterCriteriaMenuItemFactory},[ReCalcSheetsFilterCommand.id]:{order:1,menuItemFactory:ReCalcFilterMenuItemFactory}}}};var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$4=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$4(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$4(target,key,result),result},"__decorateClass$4"),__decorateParam$4=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$4");const FILTER_PANEL_POPUP_KEY="FILTER_PANEL_POPUP";var _a8;let SheetsFilterUIDesktopController=(_a8=class extends SheetsFilterUIMobileController{constructor(_injector,_componentManager,_sheetsFilterPanelService,_sheetCanvasPopupService,_sheetsFilterService,_localeService,_shortcutService,_commandService,_menuManagerService,_contextService,_messageService,sheetsRenderService,renderManagerService){super(renderManagerService,sheetsRenderService);__publicField(this,"_popupDisposable");this._injector=_injector,this._componentManager=_componentManager,this._sheetsFilterPanelService=_sheetsFilterPanelService,this._sheetCanvasPopupService=_sheetCanvasPopupService,this._sheetsFilterService=_sheetsFilterService,this._localeService=_localeService,this._shortcutService=_shortcutService,this._commandService=_commandService,this._menuManagerService=_menuManagerService,this._contextService=_contextService,this._messageService=_messageService,this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[SmartToggleFilterShortcut].forEach(shortcut=>{this.disposeWithMe(this._shortcutService.registerShortcut(shortcut))})}_initCommands(){[SmartToggleSheetsFilterCommand,RemoveSheetFilterCommand,SetSheetFilterRangeCommand,SetSheetsFilterCriteriaCommand,ClearSheetsFilterCriteriaCommand,ReCalcSheetsFilterCommand,ChangeFilterByOperation,OpenFilterPanelOperation,CloseFilterPanelOperation].forEach(c2=>{this.disposeWithMe(this._commandService.registerCommand(c2))})}_initMenuItems(){this._menuManagerService.mergeMenu(menuSchema)}_initUI(){this.disposeWithMe(this._componentManager.register(FILTER_PANEL_POPUP_KEY,FilterPanel)),this.disposeWithMe(this._componentManager.register("FilterSingle",FilterSingle)),this.disposeWithMe(this._contextService.subscribeContextValue$(FILTER_PANEL_OPENED_KEY).pipe(rxjs.distinctUntilChanged()).subscribe(open=>{open?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(content=>{content&&this._messageService.show({type:design.MessageType.Error,content:this._localeService.t(content)})}))}_openFilterPopup(){const currentFilterModel=this._sheetsFilterPanelService.filterModel;if(!currentFilterModel)throw new Error("[SheetsFilterUIController]: no filter model when opening filter popup!");const range=currentFilterModel.getRange(),col=this._sheetsFilterPanelService.col,{startRow}=range;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(startRow,col,{componentKey:FILTER_PANEL_POPUP_KEY,direction:"horizontal",onClickOutside:__name(()=>this._commandService.syncExecuteCommand(CloseFilterPanelOperation.id),"onClickOutside"),offset:[5,0]})}_closeFilterPopup(){var _a13;(_a13=this._popupDisposable)==null||_a13.dispose(),this._popupDisposable=null}},__name(_a8,"SheetsFilterUIDesktopController"),_a8);SheetsFilterUIDesktopController=__decorateClass$4([__decorateParam$4(0,core.Inject(core.Injector)),__decorateParam$4(1,core.Inject(ui.ComponentManager)),__decorateParam$4(2,core.Inject(SheetsFilterPanelService)),__decorateParam$4(3,core.Inject(sheetsUi.SheetCanvasPopManagerService)),__decorateParam$4(4,core.Inject(sheetsFilter.SheetsFilterService)),__decorateParam$4(5,core.Inject(core.LocaleService)),__decorateParam$4(6,ui.IShortcutService),__decorateParam$4(7,core.ICommandService),__decorateParam$4(8,ui.IMenuManagerService),__decorateParam$4(9,core.IContextService),__decorateParam$4(10,ui.IMessageService),__decorateParam$4(11,core.Inject(sheetsUi.SheetsRenderService)),__decorateParam$4(12,engineRender.IRenderManagerService)],SheetsFilterUIDesktopController);var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$3"),_a9;let SheetsFilterPermissionController=(_a9=class extends core.Disposable{constructor(_sheetsFilterService,_localeService,_commandService,_sheetPermissionInterceptorBaseController,_injector,_sheetsSelectionService){super(),this._sheetsFilterService=_sheetsFilterService,this._localeService=_localeService,this._commandService=_commandService,this._sheetPermissionInterceptorBaseController=_sheetPermissionInterceptorBaseController,this._injector=_injector,this._sheetsSelectionService=_sheetsSelectionService,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(command=>{var _a13,_b,_c;if(command.id===SmartToggleSheetsFilterCommand.id){const univerInstanceService=this._injector.get(core.IUniverInstanceService),target=sheets.getSheetCommandTarget(univerInstanceService);if(!target)return;const{unitId,subUnitId,worksheet}=target,filterRange=(_a13=this._sheetsFilterService.getFilterModel(unitId,subUnitId))==null?void 0:_a13.getRange();let permission;if(filterRange)permission=this._sheetPermissionInterceptorBaseController.permissionCheckWithRanges({rangeTypes:[sheets.RangeProtectionPermissionViewPoint],worksheetTypes:[sheets.WorksheetFilterPermission,sheets.WorksheetViewPermission]},[filterRange]);else{const range=(_b=this._sheetsSelectionService.getCurrentLastSelection())==null?void 0:_b.range;if(range){let newRange={...range};newRange=range.startColumn===range.endColumn&&range.startRow===range.endRow?sheets.expandToContinuousRange(newRange,{left:!0,right:!0,up:!0,down:!0},worksheet):newRange,permission=this._sheetPermissionInterceptorBaseController.permissionCheckWithRanges({rangeTypes:[sheets.RangeProtectionPermissionViewPoint],worksheetTypes:[sheets.WorksheetViewPermission,sheets.WorksheetFilterPermission]},[newRange],unitId,subUnitId)}else permission=this._sheetPermissionInterceptorBaseController.permissionCheckWithoutRange({rangeTypes:[sheets.RangeProtectionPermissionViewPoint],worksheetTypes:[sheets.WorksheetViewPermission,sheets.WorksheetFilterPermission]})}permission||this._sheetPermissionInterceptorBaseController.haveNotPermissionHandle(this._localeService.t("permission.dialog.filterErr"))}if(command.id===OpenFilterPanelOperation.id){const params=command.params,{unitId,subUnitId}=params,filterRange=(_c=this._sheetsFilterService.getFilterModel(unitId,subUnitId))==null?void 0:_c.getRange(),colRange=core.Tools.deepClone(filterRange);colRange&&(colRange.startColumn=params.col,colRange.endColumn=params.col,this._sheetPermissionInterceptorBaseController.permissionCheckWithRanges({rangeTypes:[sheets.RangeProtectionPermissionViewPoint],worksheetTypes:[sheets.WorksheetFilterPermission,sheets.WorksheetViewPermission]},[colRange])||this._sheetPermissionInterceptorBaseController.haveNotPermissionHandle(this._localeService.t("permission.dialog.filterErr")))}}))}},__name(_a9,"SheetsFilterPermissionController"),_a9);SheetsFilterPermissionController=__decorateClass$3([__decorateParam$3(0,core.Inject(sheetsFilter.SheetsFilterService)),__decorateParam$3(1,core.Inject(core.LocaleService)),__decorateParam$3(2,core.ICommandService),__decorateParam$3(3,core.Inject(sheetsUi.SheetPermissionInterceptorBaseController)),__decorateParam$3(4,core.Inject(core.Injector)),__decorateParam$3(5,core.Inject(sheets.SheetsSelectionsService))],SheetsFilterPermissionController);const PLUGIN_CONFIG_KEY="sheets-filter-ui.config",defaultPluginConfig={};var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__defNormalProp$1=__name((obj,key,value)=>key in obj?__defProp$2(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value,"__defNormalProp$1"),__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$2"),__publicField$1=__name((obj,key,value)=>__defNormalProp$1(obj,typeof key!="symbol"?key+"":key,value),"__publicField$1");const NAME$1="SHEET_FILTER_UI_PLUGIN";var _a10;exports.UniverSheetsFilterUIPlugin=(_a10=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_configService,_rpcChannelService){super(),this._config=_config,this._injector=_injector,this._configService=_configService,this._rpcChannelService=_rpcChannelService;const{menu,...rest}=this._config;menu&&this._configService.setConfig("menu",menu,{merge:!0}),this._configService.setConfig(PLUGIN_CONFIG_KEY,rest)}onStarting(){[[SheetsFilterPanelService],[SheetsFilterPermissionController],[SheetsFilterUIDesktopController]].forEach(d2=>this._injector.add(d2)),this._config.useRemoteFilterValuesGenerator&&this._rpcChannelService&&this._injector.add([ISheetsGenerateFilterValuesService,{useFactory:__name(()=>rpc.toModule(this._rpcChannelService.requestChannel(SHEETS_GENERATE_FILTER_VALUES_SERVICE_NAME)),"useFactory")}])}onReady(){this._injector.get(SheetsFilterPermissionController)}onRendered(){this._injector.get(SheetsFilterUIDesktopController)}},__name(_a10,"UniverSheetsFilterUIPlugin"),_a10);__publicField$1(exports.UniverSheetsFilterUIPlugin,"type",core.UniverInstanceType.UNIVER_SHEET);__publicField$1(exports.UniverSheetsFilterUIPlugin,"pluginName",NAME$1);exports.UniverSheetsFilterUIPlugin=__decorateClass$2([core.DependentOn(sheetsFilter.UniverSheetsFilterPlugin),__decorateParam$2(1,core.Inject(core.Injector)),__decorateParam$2(2,core.IConfigService),__decorateParam$2(3,core.Optional(rpc.IRPCChannelService))],exports.UniverSheetsFilterUIPlugin);var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__defNormalProp2=__name((obj,key,value)=>key in obj?__defProp$1(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value,"__defNormalProp"),__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$1"),__publicField2=__name((obj,key,value)=>__defNormalProp2(obj,typeof key!="symbol"?key+"":key,value),"__publicField");const NAME="SHEET_FILTER_UI_PLUGIN";var _a11;exports.UniverSheetsFilterMobileUIPlugin=(_a11=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_configService){super(),this._config=_config,this._injector=_injector,this._configService=_configService;const{menu,...rest}=this._config;menu&&this._configService.setConfig("menu",menu,{merge:!0}),this._configService.setConfig(PLUGIN_CONFIG_KEY,rest)}onStarting(){[[SheetsFilterPermissionController],[SheetsFilterUIMobileController]].forEach(d2=>this._injector.add(d2))}onReady(){this._injector.get(SheetsFilterPermissionController)}onRendered(){this._injector.get(SheetsFilterUIMobileController)}},__name(_a11,"UniverSheetsFilterMobileUIPlugin"),_a11);__publicField2(exports.UniverSheetsFilterMobileUIPlugin,"type",core.UniverInstanceType.UNIVER_SHEET);__publicField2(exports.UniverSheetsFilterMobileUIPlugin,"pluginName",NAME);exports.UniverSheetsFilterMobileUIPlugin=__decorateClass$1([core.DependentOn(sheetsFilter.UniverSheetsFilterPlugin),__decorateParam$1(1,core.Inject(core.Injector)),__decorateParam$1(2,core.IConfigService)],exports.UniverSheetsFilterMobileUIPlugin);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam"),_a12;exports.UniverSheetsFilterUIWorkerPlugin=(_a12=class extends core.Plugin{constructor(_config,_injector,_rpcChannelService){super(),this._config=_config,this._injector=_injector,this._rpcChannelService=_rpcChannelService}onStarting(){[[ISheetsGenerateFilterValuesService,{useClass:SheetsGenerateFilterValuesService}]].forEach(d2=>this._injector.add(d2))}onReady(){this._rpcChannelService.registerChannel(SHEETS_GENERATE_FILTER_VALUES_SERVICE_NAME,rpc.fromModule(this._injector.get(ISheetsGenerateFilterValuesService)))}},__name(_a12,"UniverSheetsFilterUIWorkerPlugin"),__publicField(_a12,"type",core.UniverInstanceType.UNIVER_SHEET),__publicField(_a12,"pluginName","SHEET_FILTER_UI_WORKER_PLUGIN"),_a12);exports.UniverSheetsFilterUIWorkerPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,rpc.IRPCChannelService)],exports.UniverSheetsFilterUIWorkerPlugin);exports.ChangeFilterByOperation=ChangeFilterByOperation;exports.ClearSheetsFilterCriteriaCommand=ClearSheetsFilterCriteriaCommand;exports.CloseFilterPanelOperation=CloseFilterPanelOperation;exports.OpenFilterPanelOperation=OpenFilterPanelOperation;exports.ReCalcSheetsFilterCommand=ReCalcSheetsFilterCommand;exports.RemoveSheetFilterCommand=RemoveSheetFilterCommand;exports.SetSheetFilterRangeCommand=SetSheetFilterRangeCommand;exports.SetSheetsFilterCriteriaCommand=SetSheetsFilterCriteriaCommand;exports.SmartToggleSheetsFilterCommand=SmartToggleSheetsFilterCommand;
14
+ */var b=Symbol.for("react.element"),c=Symbol.for("react.portal"),d=Symbol.for("react.fragment"),e=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),g=Symbol.for("react.provider"),h=Symbol.for("react.context"),k=Symbol.for("react.server_context"),l=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),n=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),q=Symbol.for("react.lazy"),t=Symbol.for("react.offscreen"),u;u=Symbol.for("react.module.reference");function v(a){if(typeof a=="object"&&a!==null){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}__name(v,"v");reactIs_production_min.ContextConsumer=h;reactIs_production_min.ContextProvider=g;reactIs_production_min.Element=b;reactIs_production_min.ForwardRef=l;reactIs_production_min.Fragment=d;reactIs_production_min.Lazy=q;reactIs_production_min.Memo=p;reactIs_production_min.Portal=c;reactIs_production_min.Profiler=f;reactIs_production_min.StrictMode=e;reactIs_production_min.Suspense=m;reactIs_production_min.SuspenseList=n;reactIs_production_min.isAsyncMode=function(){return!1};reactIs_production_min.isConcurrentMode=function(){return!1};reactIs_production_min.isContextConsumer=function(a){return v(a)===h};reactIs_production_min.isContextProvider=function(a){return v(a)===g};reactIs_production_min.isElement=function(a){return typeof a=="object"&&a!==null&&a.$$typeof===b};reactIs_production_min.isForwardRef=function(a){return v(a)===l};reactIs_production_min.isFragment=function(a){return v(a)===d};reactIs_production_min.isLazy=function(a){return v(a)===q};reactIs_production_min.isMemo=function(a){return v(a)===p};reactIs_production_min.isPortal=function(a){return v(a)===c};reactIs_production_min.isProfiler=function(a){return v(a)===f};reactIs_production_min.isStrictMode=function(a){return v(a)===e};reactIs_production_min.isSuspense=function(a){return v(a)===m};reactIs_production_min.isSuspenseList=function(a){return v(a)===n};reactIs_production_min.isValidElementType=function(a){return typeof a=="string"||typeof a=="function"||a===d||a===f||a===e||a===m||a===n||a===t||typeof a=="object"&&a!==null&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||a.getModuleId!==void 0)};reactIs_production_min.typeOf=v;reactIs.exports=reactIs_production_min;var reactIsExports=reactIs.exports;function toArray(children){var option=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ret=[];return React.Children.forEach(children,function(child){child==null&&!option.keepEmpty||(Array.isArray(child)?ret=ret.concat(toArray(child)):reactIsExports.isFragment(child)&&child.props?ret=ret.concat(toArray(child.props.children,option)):ret.push(child))}),ret}__name(toArray,"toArray");function isDOM(node){return node instanceof HTMLElement||node instanceof SVGElement}__name(isDOM,"isDOM");function getDOM(node){return node&&_typeof(node)==="object"&&isDOM(node.nativeElement)?node.nativeElement:isDOM(node)?node:null}__name(getDOM,"getDOM");function findDOMNode(node){var domNode=getDOM(node);if(domNode)return domNode;if(node instanceof React.Component){var _ReactDOM$findDOMNode;return(_ReactDOM$findDOMNode=ReactDOM.findDOMNode)===null||_ReactDOM$findDOMNode===void 0?void 0:_ReactDOM$findDOMNode.call(ReactDOM,node)}return null}__name(findDOMNode,"findDOMNode");function useMemo(getValue,condition,shouldUpdate){var cacheRef=React__namespace.useRef({});return(!("value"in cacheRef.current)||shouldUpdate(cacheRef.current.condition,condition))&&(cacheRef.current.value=getValue(),cacheRef.current.condition=condition),cacheRef.current.value}__name(useMemo,"useMemo");var fillRef=__name(function(ref,node){typeof ref=="function"?ref(node):_typeof(ref)==="object"&&ref&&"current"in ref&&(ref.current=node)},"fillRef"),composeRef=__name(function(){for(var _len=arguments.length,refs=new Array(_len),_key=0;_key<_len;_key++)refs[_key]=arguments[_key];var refList=refs.filter(Boolean);return refList.length<=1?refList[0]:function(node){refs.forEach(function(ref){fillRef(ref,node)})}},"composeRef"),useComposeRef=__name(function(){for(var _len2=arguments.length,refs=new Array(_len2),_key2=0;_key2<_len2;_key2++)refs[_key2]=arguments[_key2];return useMemo(function(){return composeRef.apply(void 0,refs)},refs,function(prev,next){return prev.length!==next.length||prev.every(function(ref,i){return ref!==next[i]})})},"useComposeRef"),supportRef=__name(function(nodeOrComponent){var _type$prototype,_nodeOrComponent$prot,type=reactIsExports.isMemo(nodeOrComponent)?nodeOrComponent.type.type:nodeOrComponent.type;return!(typeof type=="function"&&!((_type$prototype=type.prototype)!==null&&_type$prototype!==void 0&&_type$prototype.render)&&type.$$typeof!==reactIsExports.ForwardRef||typeof nodeOrComponent=="function"&&!((_nodeOrComponent$prot=nodeOrComponent.prototype)!==null&&_nodeOrComponent$prot!==void 0&&_nodeOrComponent$prot.render)&&nodeOrComponent.$$typeof!==reactIsExports.ForwardRef)},"supportRef");function isReactElement(node){return React.isValidElement(node)&&!reactIsExports.isFragment(node)}__name(isReactElement,"isReactElement");Number(React.version.split(".")[0])>=19;var CollectionContext=React__namespace.createContext(null);function Collection(_ref){var children=_ref.children,onBatchResize=_ref.onBatchResize,resizeIdRef=React__namespace.useRef(0),resizeInfosRef=React__namespace.useRef([]),onCollectionResize=React__namespace.useContext(CollectionContext),onResize2=React__namespace.useCallback(function(size,element2,data){resizeIdRef.current+=1;var currentId=resizeIdRef.current;resizeInfosRef.current.push({size,element:element2,data}),Promise.resolve().then(function(){currentId===resizeIdRef.current&&(onBatchResize==null||onBatchResize(resizeInfosRef.current),resizeInfosRef.current=[])}),onCollectionResize==null||onCollectionResize(size,element2,data)},[onBatchResize,onCollectionResize]);return React__namespace.createElement(CollectionContext.Provider,{value:onResize2},children)}__name(Collection,"Collection");var MapShim=function(){if(typeof Map<"u")return Map;function getIndex(arr,key){var result=-1;return arr.some(function(entry,index2){return entry[0]===key?(result=index2,!0):!1}),result}return __name(getIndex,"getIndex"),function(){function class_1(){this.__entries__=[]}return __name(class_1,"class_1"),Object.defineProperty(class_1.prototype,"size",{get:__name(function(){return this.__entries__.length},"get"),enumerable:!0,configurable:!0}),class_1.prototype.get=function(key){var index2=getIndex(this.__entries__,key),entry=this.__entries__[index2];return entry&&entry[1]},class_1.prototype.set=function(key,value){var index2=getIndex(this.__entries__,key);~index2?this.__entries__[index2][1]=value:this.__entries__.push([key,value])},class_1.prototype.delete=function(key){var entries=this.__entries__,index2=getIndex(entries,key);~index2&&entries.splice(index2,1)},class_1.prototype.has=function(key){return!!~getIndex(this.__entries__,key)},class_1.prototype.clear=function(){this.__entries__.splice(0)},class_1.prototype.forEach=function(callback,ctx){ctx===void 0&&(ctx=null);for(var _i=0,_a13=this.__entries__;_i<_a13.length;_i++){var entry=_a13[_i];callback.call(ctx,entry[1],entry[0])}},class_1}()}(),isBrowser=typeof window<"u"&&typeof document<"u"&&window.document===document,global$1=function(){return typeof global<"u"&&global.Math===Math?global:typeof self<"u"&&self.Math===Math?self:typeof window<"u"&&window.Math===Math?window:Function("return this")()}(),requestAnimationFrame$1=function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(global$1):function(callback){return setTimeout(function(){return callback(Date.now())},1e3/60)}}(),trailingTimeout=2;function throttle(callback,delay){var leadingCall=!1,trailingCall=!1,lastCallTime=0;function resolvePending(){leadingCall&&(leadingCall=!1,callback()),trailingCall&&proxy()}__name(resolvePending,"resolvePending");function timeoutCallback(){requestAnimationFrame$1(resolvePending)}__name(timeoutCallback,"timeoutCallback");function proxy(){var timeStamp=Date.now();if(leadingCall){if(timeStamp-lastCallTime<trailingTimeout)return;trailingCall=!0}else leadingCall=!0,trailingCall=!1,setTimeout(timeoutCallback,delay);lastCallTime=timeStamp}return __name(proxy,"proxy"),proxy}__name(throttle,"throttle");var REFRESH_DELAY=20,transitionKeys=["top","right","bottom","left","width","height","size","weight"],mutationObserverSupported=typeof MutationObserver<"u",ResizeObserverController=function(){function ResizeObserverController2(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=throttle(this.refresh.bind(this),REFRESH_DELAY)}return __name(ResizeObserverController2,"ResizeObserverController"),ResizeObserverController2.prototype.addObserver=function(observer){~this.observers_.indexOf(observer)||this.observers_.push(observer),this.connected_||this.connect_()},ResizeObserverController2.prototype.removeObserver=function(observer){var observers2=this.observers_,index2=observers2.indexOf(observer);~index2&&observers2.splice(index2,1),!observers2.length&&this.connected_&&this.disconnect_()},ResizeObserverController2.prototype.refresh=function(){var changesDetected=this.updateObservers_();changesDetected&&this.refresh()},ResizeObserverController2.prototype.updateObservers_=function(){var activeObservers=this.observers_.filter(function(observer){return observer.gatherActive(),observer.hasActive()});return activeObservers.forEach(function(observer){return observer.broadcastActive()}),activeObservers.length>0},ResizeObserverController2.prototype.connect_=function(){!isBrowser||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),mutationObserverSupported?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},ResizeObserverController2.prototype.disconnect_=function(){!isBrowser||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},ResizeObserverController2.prototype.onTransitionEnd_=function(_a13){var _b=_a13.propertyName,propertyName=_b===void 0?"":_b,isReflowProperty=transitionKeys.some(function(key){return!!~propertyName.indexOf(key)});isReflowProperty&&this.refresh()},ResizeObserverController2.getInstance=function(){return this.instance_||(this.instance_=new ResizeObserverController2),this.instance_},ResizeObserverController2.instance_=null,ResizeObserverController2}(),defineConfigurable=__name(function(target,props){for(var _i=0,_a13=Object.keys(props);_i<_a13.length;_i++){var key=_a13[_i];Object.defineProperty(target,key,{value:props[key],enumerable:!1,writable:!1,configurable:!0})}return target},"defineConfigurable"),getWindowOf=__name(function(target){var ownerGlobal=target&&target.ownerDocument&&target.ownerDocument.defaultView;return ownerGlobal||global$1},"getWindowOf"),emptyRect=createRectInit(0,0,0,0);function toFloat(value){return parseFloat(value)||0}__name(toFloat,"toFloat");function getBordersSize(styles2){for(var positions=[],_i=1;_i<arguments.length;_i++)positions[_i-1]=arguments[_i];return positions.reduce(function(size,position){var value=styles2["border-"+position+"-width"];return size+toFloat(value)},0)}__name(getBordersSize,"getBordersSize");function getPaddings(styles2){for(var positions=["top","right","bottom","left"],paddings={},_i=0,positions_1=positions;_i<positions_1.length;_i++){var position=positions_1[_i],value=styles2["padding-"+position];paddings[position]=toFloat(value)}return paddings}__name(getPaddings,"getPaddings");function getSVGContentRect(target){var bbox=target.getBBox();return createRectInit(0,0,bbox.width,bbox.height)}__name(getSVGContentRect,"getSVGContentRect");function getHTMLElementContentRect(target){var clientWidth=target.clientWidth,clientHeight=target.clientHeight;if(!clientWidth&&!clientHeight)return emptyRect;var styles2=getWindowOf(target).getComputedStyle(target),paddings=getPaddings(styles2),horizPad=paddings.left+paddings.right,vertPad=paddings.top+paddings.bottom,width=toFloat(styles2.width),height=toFloat(styles2.height);if(styles2.boxSizing==="border-box"&&(Math.round(width+horizPad)!==clientWidth&&(width-=getBordersSize(styles2,"left","right")+horizPad),Math.round(height+vertPad)!==clientHeight&&(height-=getBordersSize(styles2,"top","bottom")+vertPad)),!isDocumentElement(target)){var vertScrollbar=Math.round(width+horizPad)-clientWidth,horizScrollbar=Math.round(height+vertPad)-clientHeight;Math.abs(vertScrollbar)!==1&&(width-=vertScrollbar),Math.abs(horizScrollbar)!==1&&(height-=horizScrollbar)}return createRectInit(paddings.left,paddings.top,width,height)}__name(getHTMLElementContentRect,"getHTMLElementContentRect");var isSVGGraphicsElement=function(){return typeof SVGGraphicsElement<"u"?function(target){return target instanceof getWindowOf(target).SVGGraphicsElement}:function(target){return target instanceof getWindowOf(target).SVGElement&&typeof target.getBBox=="function"}}();function isDocumentElement(target){return target===getWindowOf(target).document.documentElement}__name(isDocumentElement,"isDocumentElement");function getContentRect(target){return isBrowser?isSVGGraphicsElement(target)?getSVGContentRect(target):getHTMLElementContentRect(target):emptyRect}__name(getContentRect,"getContentRect");function createReadOnlyRect(_a13){var x=_a13.x,y=_a13.y,width=_a13.width,height=_a13.height,Constr=typeof DOMRectReadOnly<"u"?DOMRectReadOnly:Object,rect=Object.create(Constr.prototype);return defineConfigurable(rect,{x,y,width,height,top:y,right:x+width,bottom:height+y,left:x}),rect}__name(createReadOnlyRect,"createReadOnlyRect");function createRectInit(x,y,width,height){return{x,y,width,height}}__name(createRectInit,"createRectInit");var ResizeObservation=function(){function ResizeObservation2(target){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=createRectInit(0,0,0,0),this.target=target}return __name(ResizeObservation2,"ResizeObservation"),ResizeObservation2.prototype.isActive=function(){var rect=getContentRect(this.target);return this.contentRect_=rect,rect.width!==this.broadcastWidth||rect.height!==this.broadcastHeight},ResizeObservation2.prototype.broadcastRect=function(){var rect=this.contentRect_;return this.broadcastWidth=rect.width,this.broadcastHeight=rect.height,rect},ResizeObservation2}(),ResizeObserverEntry=function(){function ResizeObserverEntry2(target,rectInit){var contentRect=createReadOnlyRect(rectInit);defineConfigurable(this,{target,contentRect})}return __name(ResizeObserverEntry2,"ResizeObserverEntry"),ResizeObserverEntry2}(),ResizeObserverSPI=function(){function ResizeObserverSPI2(callback,controller,callbackCtx){if(this.activeObservations_=[],this.observations_=new MapShim,typeof callback!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=callback,this.controller_=controller,this.callbackCtx_=callbackCtx}return __name(ResizeObserverSPI2,"ResizeObserverSPI"),ResizeObserverSPI2.prototype.observe=function(target){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(target instanceof getWindowOf(target).Element))throw new TypeError('parameter 1 is not of type "Element".');var observations=this.observations_;observations.has(target)||(observations.set(target,new ResizeObservation(target)),this.controller_.addObserver(this),this.controller_.refresh())}},ResizeObserverSPI2.prototype.unobserve=function(target){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(target instanceof getWindowOf(target).Element))throw new TypeError('parameter 1 is not of type "Element".');var observations=this.observations_;observations.has(target)&&(observations.delete(target),observations.size||this.controller_.removeObserver(this))}},ResizeObserverSPI2.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},ResizeObserverSPI2.prototype.gatherActive=function(){var _this=this;this.clearActive(),this.observations_.forEach(function(observation){observation.isActive()&&_this.activeObservations_.push(observation)})},ResizeObserverSPI2.prototype.broadcastActive=function(){if(this.hasActive()){var ctx=this.callbackCtx_,entries=this.activeObservations_.map(function(observation){return new ResizeObserverEntry(observation.target,observation.broadcastRect())});this.callback_.call(ctx,entries,ctx),this.clearActive()}},ResizeObserverSPI2.prototype.clearActive=function(){this.activeObservations_.splice(0)},ResizeObserverSPI2.prototype.hasActive=function(){return this.activeObservations_.length>0},ResizeObserverSPI2}(),observers=typeof WeakMap<"u"?new WeakMap:new MapShim,ResizeObserver$1=function(){function ResizeObserver2(callback){if(!(this instanceof ResizeObserver2))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var controller=ResizeObserverController.getInstance(),observer=new ResizeObserverSPI(callback,controller,this);observers.set(this,observer)}return __name(ResizeObserver2,"ResizeObserver"),ResizeObserver2}();["observe","unobserve","disconnect"].forEach(function(method){ResizeObserver$1.prototype[method]=function(){var _a13;return(_a13=observers.get(this))[method].apply(_a13,arguments)}});var index=function(){return typeof global$1.ResizeObserver<"u"?global$1.ResizeObserver:ResizeObserver$1}(),elementListeners=new Map;function onResize(entities){entities.forEach(function(entity){var _elementListeners$get,target=entity.target;(_elementListeners$get=elementListeners.get(target))===null||_elementListeners$get===void 0||_elementListeners$get.forEach(function(listener){return listener(target)})})}__name(onResize,"onResize");var resizeObserver=new index(onResize);function observe(element2,callback){elementListeners.has(element2)||(elementListeners.set(element2,new Set),resizeObserver.observe(element2)),elementListeners.get(element2).add(callback)}__name(observe,"observe");function unobserve(element2,callback){elementListeners.has(element2)&&(elementListeners.get(element2).delete(callback),elementListeners.get(element2).size||(resizeObserver.unobserve(element2),elementListeners.delete(element2)))}__name(unobserve,"unobserve");function _classCallCheck(a,n2){if(!(a instanceof n2))throw new TypeError("Cannot call a class as a function")}__name(_classCallCheck,"_classCallCheck");function _defineProperties(e2,r){for(var t2=0;t2<r.length;t2++){var o=r[t2];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e2,toPropertyKey(o.key),o)}}__name(_defineProperties,"_defineProperties");function _createClass(e2,r,t2){return r&&_defineProperties(e2.prototype,r),Object.defineProperty(e2,"prototype",{writable:!1}),e2}__name(_createClass,"_createClass");function _setPrototypeOf(t2,e2){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t3,e3){return t3.__proto__=e3,t3},_setPrototypeOf(t2,e2)}__name(_setPrototypeOf,"_setPrototypeOf");function _inherits(t2,e2){if(typeof e2!="function"&&e2!==null)throw new TypeError("Super expression must either be null or a function");t2.prototype=Object.create(e2&&e2.prototype,{constructor:{value:t2,writable:!0,configurable:!0}}),Object.defineProperty(t2,"prototype",{writable:!1}),e2&&_setPrototypeOf(t2,e2)}__name(_inherits,"_inherits");function _getPrototypeOf(t2){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t3){return t3.__proto__||Object.getPrototypeOf(t3)},_getPrototypeOf(t2)}__name(_getPrototypeOf,"_getPrototypeOf");function _isNativeReflectConstruct(){try{var t2=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(_isNativeReflectConstruct=__name(function(){return!!t2},"_isNativeReflectConstruct"))()}__name(_isNativeReflectConstruct,"_isNativeReflectConstruct");function _assertThisInitialized(e2){if(e2===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e2}__name(_assertThisInitialized,"_assertThisInitialized");function _possibleConstructorReturn(t2,e2){if(e2&&(_typeof(e2)=="object"||typeof e2=="function"))return e2;if(e2!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t2)}__name(_possibleConstructorReturn,"_possibleConstructorReturn");function _createSuper(t2){var r=_isNativeReflectConstruct();return function(){var e2,o=_getPrototypeOf(t2);if(r){var s=_getPrototypeOf(this).constructor;e2=Reflect.construct(o,arguments,s)}else e2=o.apply(this,arguments);return _possibleConstructorReturn(this,e2)}}__name(_createSuper,"_createSuper");var DomWrapper=function(_React$Component){_inherits(DomWrapper2,_React$Component);var _super=_createSuper(DomWrapper2);function DomWrapper2(){return _classCallCheck(this,DomWrapper2),_super.apply(this,arguments)}return __name(DomWrapper2,"DomWrapper"),_createClass(DomWrapper2,[{key:"render",value:__name(function(){return this.props.children},"render")}]),DomWrapper2}(React__namespace.Component);function SingleObserver(props,ref){var children=props.children,disabled=props.disabled,elementRef=React__namespace.useRef(null),wrapperRef=React__namespace.useRef(null),onCollectionResize=React__namespace.useContext(CollectionContext),isRenderProps=typeof children=="function",mergedChildren=isRenderProps?children(elementRef):children,sizeRef=React__namespace.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),canRef=!isRenderProps&&React__namespace.isValidElement(mergedChildren)&&supportRef(mergedChildren),originRef=canRef?mergedChildren.ref:null,mergedRef=useComposeRef(originRef,elementRef),getDom=__name(function(){var _elementRef$current;return findDOMNode(elementRef.current)||(elementRef.current&&_typeof(elementRef.current)==="object"?findDOMNode((_elementRef$current=elementRef.current)===null||_elementRef$current===void 0?void 0:_elementRef$current.nativeElement):null)||findDOMNode(wrapperRef.current)},"getDom2");React__namespace.useImperativeHandle(ref,function(){return getDom()});var propsRef=React__namespace.useRef(props);propsRef.current=props;var onInternalResize=React__namespace.useCallback(function(target){var _propsRef$current=propsRef.current,onResize2=_propsRef$current.onResize,data=_propsRef$current.data,_target$getBoundingCl=target.getBoundingClientRect(),width=_target$getBoundingCl.width,height=_target$getBoundingCl.height,offsetWidth=target.offsetWidth,offsetHeight=target.offsetHeight,fixedWidth=Math.floor(width),fixedHeight=Math.floor(height);if(sizeRef.current.width!==fixedWidth||sizeRef.current.height!==fixedHeight||sizeRef.current.offsetWidth!==offsetWidth||sizeRef.current.offsetHeight!==offsetHeight){var size={width:fixedWidth,height:fixedHeight,offsetWidth,offsetHeight};sizeRef.current=size;var mergedOffsetWidth=offsetWidth===Math.round(width)?width:offsetWidth,mergedOffsetHeight=offsetHeight===Math.round(height)?height:offsetHeight,sizeInfo=_objectSpread2(_objectSpread2({},size),{},{offsetWidth:mergedOffsetWidth,offsetHeight:mergedOffsetHeight});onCollectionResize==null||onCollectionResize(sizeInfo,target,data),onResize2&&Promise.resolve().then(function(){onResize2(sizeInfo,target)})}},[]);return React__namespace.useEffect(function(){var currentElement=getDom();return currentElement&&!disabled&&observe(currentElement,onInternalResize),function(){return unobserve(currentElement,onInternalResize)}},[elementRef.current,disabled]),React__namespace.createElement(DomWrapper,{ref:wrapperRef},canRef?React__namespace.cloneElement(mergedChildren,{ref:mergedRef}):mergedChildren)}__name(SingleObserver,"SingleObserver");var RefSingleObserver=React__namespace.forwardRef(SingleObserver),INTERNAL_PREFIX_KEY="rc-observer-key";function ResizeObserver(props,ref){var children=props.children,childNodes=typeof children=="function"?[children]:toArray(children);return childNodes.map(function(child,index2){var key=(child==null?void 0:child.key)||"".concat(INTERNAL_PREFIX_KEY,"-").concat(index2);return React__namespace.createElement(RefSingleObserver,_extends({},props,{key,ref:index2===0?ref:void 0}),child)})}__name(ResizeObserver,"ResizeObserver");var RefResizeObserver=React__namespace.forwardRef(ResizeObserver);RefResizeObserver.Collection=Collection;function useEvent(callback){var fnRef=React__namespace.useRef();fnRef.current=callback;var memoFn=React__namespace.useCallback(function(){for(var _fnRef$current,_len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return(_fnRef$current=fnRef.current)===null||_fnRef$current===void 0?void 0:_fnRef$current.call.apply(_fnRef$current,[fnRef].concat(args))},[]);return memoFn}__name(useEvent,"useEvent");function canUseDom(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}__name(canUseDom,"canUseDom");var useInternalLayoutEffect=canUseDom()?React__namespace.useLayoutEffect:React__namespace.useEffect,useLayoutEffect=__name(function(callback,deps){var firstMountRef=React__namespace.useRef(!0);useInternalLayoutEffect(function(){return callback(firstMountRef.current)},deps),useInternalLayoutEffect(function(){return firstMountRef.current=!1,function(){firstMountRef.current=!0}},[])},"useLayoutEffect2"),Filler=React__namespace.forwardRef(function(_ref,ref){var height=_ref.height,offsetY=_ref.offsetY,offsetX=_ref.offsetX,children=_ref.children,prefixCls=_ref.prefixCls,onInnerResize=_ref.onInnerResize,innerProps=_ref.innerProps,rtl=_ref.rtl,extra=_ref.extra,outerStyle={},innerStyle={display:"flex",flexDirection:"column"};return offsetY!==void 0&&(outerStyle={height,position:"relative",overflow:"hidden"},innerStyle=_objectSpread2(_objectSpread2({},innerStyle),{},_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({transform:"translateY(".concat(offsetY,"px)")},rtl?"marginRight":"marginLeft",-offsetX),"position","absolute"),"left",0),"right",0),"top",0))),React__namespace.createElement("div",{style:outerStyle},React__namespace.createElement(RefResizeObserver,{onResize:__name(function(_ref2){var offsetHeight=_ref2.offsetHeight;offsetHeight&&onInnerResize&&onInnerResize()},"onResize")},React__namespace.createElement("div",_extends({style:innerStyle,className:classNames(_defineProperty({},"".concat(prefixCls,"-holder-inner"),prefixCls)),ref},innerProps),children,extra)))});Filler.displayName="Filler";function Item(_ref){var children=_ref.children,setRef=_ref.setRef,refFunc=React__namespace.useCallback(function(node){setRef(node)},[]);return React__namespace.cloneElement(children,{ref:refFunc})}__name(Item,"Item");function useChildren(list,startIndex,endIndex,scrollWidth,offsetX,setNodeRef,renderFunc,_ref){var getKey=_ref.getKey;return list.slice(startIndex,endIndex+1).map(function(item,index2){var eleIndex=startIndex+index2,node=renderFunc(item,eleIndex,{style:{width:scrollWidth},offsetX}),key=getKey(item);return React__namespace.createElement(Item,{key,setRef:__name(function(ele){return setNodeRef(item,ele)},"setRef")},node)})}__name(useChildren,"useChildren");function findListDiffIndex(originList,targetList,getKey){var originLen=originList.length,targetLen=targetList.length,shortList,longList;if(originLen===0&&targetLen===0)return null;originLen<targetLen?(shortList=originList,longList=targetList):(shortList=targetList,longList=originList);var notExistKey={__EMPTY_ITEM__:!0};function getItemKey(item){return item!==void 0?getKey(item):notExistKey}__name(getItemKey,"getItemKey");for(var diffIndex=null,multiple=Math.abs(originLen-targetLen)!==1,i=0;i<longList.length;i+=1){var shortKey=getItemKey(shortList[i]),longKey=getItemKey(longList[i]);if(shortKey!==longKey){diffIndex=i,multiple=multiple||shortKey!==getItemKey(longList[i+1]);break}}return diffIndex===null?null:{index:diffIndex,multiple}}__name(findListDiffIndex,"findListDiffIndex");function useDiffItem(data,getKey,onDiff){var _React$useState=React__namespace.useState(data),_React$useState2=_slicedToArray(_React$useState,2),prevData=_React$useState2[0],setPrevData=_React$useState2[1],_React$useState3=React__namespace.useState(null),_React$useState4=_slicedToArray(_React$useState3,2),diffItem=_React$useState4[0],setDiffItem=_React$useState4[1];return React__namespace.useEffect(function(){var diff=findListDiffIndex(prevData||[],data||[],getKey);(diff==null?void 0:diff.index)!==void 0&&setDiffItem(data[diff.index]),setPrevData(data)},[data]),[diffItem]}__name(useDiffItem,"useDiffItem");var raf=__name(function(callback){return+setTimeout(callback,16)},"raf2"),caf=__name(function(num){return clearTimeout(num)},"caf2");typeof window<"u"&&"requestAnimationFrame"in window&&(raf=__name(function(callback){return window.requestAnimationFrame(callback)},"raf3"),caf=__name(function(handle){return window.cancelAnimationFrame(handle)},"caf3"));var rafUUID=0,rafIds=new Map;function cleanup(id){rafIds.delete(id)}__name(cleanup,"cleanup");var wrapperRaf=__name(function(callback){var times=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;rafUUID+=1;var id=rafUUID;function callRef(leftTimes){if(leftTimes===0)cleanup(id),callback();else{var realId=raf(function(){callRef(leftTimes-1)});rafIds.set(id,realId)}}return __name(callRef,"callRef"),callRef(times),id},"wrapperRaf2");wrapperRaf.cancel=function(id){var realId=rafIds.get(id);return cleanup(id),caf(realId)};var isFF=(typeof navigator>"u"?"undefined":_typeof(navigator))==="object"&&/Firefox/i.test(navigator.userAgent);const useOriginScroll=__name(function(isScrollAtTop,isScrollAtBottom,isScrollAtLeft,isScrollAtRight){var lockRef=React.useRef(!1),lockTimeoutRef=React.useRef(null);function lockScroll(){clearTimeout(lockTimeoutRef.current),lockRef.current=!0,lockTimeoutRef.current=setTimeout(function(){lockRef.current=!1},50)}__name(lockScroll,"lockScroll");var scrollPingRef=React.useRef({top:isScrollAtTop,bottom:isScrollAtBottom,left:isScrollAtLeft,right:isScrollAtRight});return scrollPingRef.current.top=isScrollAtTop,scrollPingRef.current.bottom=isScrollAtBottom,scrollPingRef.current.left=isScrollAtLeft,scrollPingRef.current.right=isScrollAtRight,function(isHorizontal,delta){var smoothOffset=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,originScroll=isHorizontal?delta<0&&scrollPingRef.current.left||delta>0&&scrollPingRef.current.right:delta<0&&scrollPingRef.current.top||delta>0&&scrollPingRef.current.bottom;return smoothOffset&&originScroll?(clearTimeout(lockTimeoutRef.current),lockRef.current=!1):(!originScroll||lockRef.current)&&lockScroll(),!lockRef.current&&originScroll}},"useOriginScroll");function useFrameWheel(inVirtual,isScrollAtTop,isScrollAtBottom,isScrollAtLeft,isScrollAtRight,horizontalScroll,onWheelDelta){var offsetRef=React.useRef(0),nextFrameRef=React.useRef(null),wheelValueRef=React.useRef(null),isMouseScrollRef=React.useRef(!1),originScroll=useOriginScroll(isScrollAtTop,isScrollAtBottom,isScrollAtLeft,isScrollAtRight);function onWheelY(event,deltaY){wrapperRaf.cancel(nextFrameRef.current),offsetRef.current+=deltaY,wheelValueRef.current=deltaY,!originScroll(!1,deltaY)&&(isFF||event.preventDefault(),nextFrameRef.current=wrapperRaf(function(){var patchMultiple=isMouseScrollRef.current?10:1;onWheelDelta(offsetRef.current*patchMultiple),offsetRef.current=0}))}__name(onWheelY,"onWheelY");function onWheelX(event,deltaX){onWheelDelta(deltaX,!0),isFF||event.preventDefault()}__name(onWheelX,"onWheelX");var wheelDirectionRef=React.useRef(null),wheelDirectionCleanRef=React.useRef(null);function onWheel(event){if(inVirtual){wrapperRaf.cancel(wheelDirectionCleanRef.current),wheelDirectionCleanRef.current=wrapperRaf(function(){wheelDirectionRef.current=null},2);var deltaX=event.deltaX,deltaY=event.deltaY,shiftKey=event.shiftKey,mergedDeltaX=deltaX,mergedDeltaY=deltaY;(wheelDirectionRef.current==="sx"||!wheelDirectionRef.current&&shiftKey&&deltaY&&!deltaX)&&(mergedDeltaX=deltaY,mergedDeltaY=0,wheelDirectionRef.current="sx");var absX=Math.abs(mergedDeltaX),absY=Math.abs(mergedDeltaY);wheelDirectionRef.current===null&&(wheelDirectionRef.current=horizontalScroll&&absX>absY?"x":"y"),wheelDirectionRef.current==="y"?onWheelY(event,mergedDeltaY):onWheelX(event,mergedDeltaX)}}__name(onWheel,"onWheel");function onFireFoxScroll(event){inVirtual&&(isMouseScrollRef.current=event.detail===wheelValueRef.current)}return __name(onFireFoxScroll,"onFireFoxScroll"),[onWheel,onFireFoxScroll]}__name(useFrameWheel,"useFrameWheel");function useGetSize(mergedData,getKey,heights,itemHeight){var _React$useMemo=React__namespace.useMemo(function(){return[new Map,[]]},[mergedData,heights.id,itemHeight]),_React$useMemo2=_slicedToArray(_React$useMemo,2),key2Index=_React$useMemo2[0],bottomList=_React$useMemo2[1],getSize=__name(function(startKey){var endKey=arguments.length>1&&arguments[1]!==void 0?arguments[1]:startKey,startIndex=key2Index.get(startKey),endIndex=key2Index.get(endKey);if(startIndex===void 0||endIndex===void 0)for(var dataLen=mergedData.length,i=bottomList.length;i<dataLen;i+=1){var _heights$get,item=mergedData[i],key=getKey(item);key2Index.set(key,i);var cacheHeight=(_heights$get=heights.get(key))!==null&&_heights$get!==void 0?_heights$get:itemHeight;if(bottomList[i]=(bottomList[i-1]||0)+cacheHeight,key===startKey&&(startIndex=i),key===endKey&&(endIndex=i),startIndex!==void 0&&endIndex!==void 0)break}return{top:bottomList[startIndex-1]||0,bottom:bottomList[endIndex]}},"getSize");return getSize}__name(useGetSize,"useGetSize");var CacheMap=function(){function CacheMap2(){_classCallCheck(this,CacheMap2),_defineProperty(this,"maps",void 0),_defineProperty(this,"id",0),this.maps=Object.create(null)}return __name(CacheMap2,"CacheMap"),_createClass(CacheMap2,[{key:"set",value:__name(function(key,value){this.maps[key]=value,this.id+=1},"set")},{key:"get",value:__name(function(key){return this.maps[key]},"get")}]),CacheMap2}();function useHeights(getKey,onItemAdd,onItemRemove){var _React$useState=React__namespace.useState(0),_React$useState2=_slicedToArray(_React$useState,2),updatedMark=_React$useState2[0],setUpdatedMark=_React$useState2[1],instanceRef=React.useRef(new Map),heightsRef=React.useRef(new CacheMap),collectRafRef=React.useRef();function cancelRaf(){wrapperRaf.cancel(collectRafRef.current)}__name(cancelRaf,"cancelRaf");function collectHeight(){var sync=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;cancelRaf();var doCollect=__name(function(){instanceRef.current.forEach(function(element2,key){if(element2&&element2.offsetParent){var htmlElement=findDOMNode(element2),offsetHeight=htmlElement.offsetHeight;heightsRef.current.get(key)!==offsetHeight&&heightsRef.current.set(key,htmlElement.offsetHeight)}}),setUpdatedMark(function(c2){return c2+1})},"doCollect");sync?doCollect():collectRafRef.current=wrapperRaf(doCollect)}__name(collectHeight,"collectHeight");function setInstanceRef(item,instance){var key=getKey(item);instanceRef.current.get(key),instance?(instanceRef.current.set(key,instance),collectHeight()):instanceRef.current.delete(key)}return __name(setInstanceRef,"setInstanceRef"),React.useEffect(function(){return cancelRaf},[]),[setInstanceRef,collectHeight,heightsRef.current,updatedMark]}__name(useHeights,"useHeights");var SMOOTH_PTG=14/15;function useMobileTouchMove(inVirtual,listRef,callback){var touchedRef=React.useRef(!1),touchXRef=React.useRef(0),touchYRef=React.useRef(0),elementRef=React.useRef(null),intervalRef=React.useRef(null),cleanUpEvents,onTouchMove=__name(function(e2){if(touchedRef.current){var currentX=Math.ceil(e2.touches[0].pageX),currentY=Math.ceil(e2.touches[0].pageY),offsetX=touchXRef.current-currentX,offsetY=touchYRef.current-currentY,_isHorizontal=Math.abs(offsetX)>Math.abs(offsetY);_isHorizontal?touchXRef.current=currentX:touchYRef.current=currentY,callback(_isHorizontal,_isHorizontal?offsetX:offsetY)&&e2.preventDefault(),clearInterval(intervalRef.current),intervalRef.current=setInterval(function(){_isHorizontal?offsetX*=SMOOTH_PTG:offsetY*=SMOOTH_PTG;var offset=Math.floor(_isHorizontal?offsetX:offsetY);(!callback(_isHorizontal,offset,!0)||Math.abs(offset)<=.1)&&clearInterval(intervalRef.current)},16)}},"onTouchMove"),onTouchEnd=__name(function(){touchedRef.current=!1,cleanUpEvents()},"onTouchEnd"),onTouchStart=__name(function(e2){cleanUpEvents(),e2.touches.length===1&&!touchedRef.current&&(touchedRef.current=!0,touchXRef.current=Math.ceil(e2.touches[0].pageX),touchYRef.current=Math.ceil(e2.touches[0].pageY),elementRef.current=e2.target,elementRef.current.addEventListener("touchmove",onTouchMove,{passive:!1}),elementRef.current.addEventListener("touchend",onTouchEnd,{passive:!0}))},"onTouchStart");cleanUpEvents=__name(function(){elementRef.current&&(elementRef.current.removeEventListener("touchmove",onTouchMove),elementRef.current.removeEventListener("touchend",onTouchEnd))},"cleanUpEvents"),useLayoutEffect(function(){return inVirtual&&listRef.current.addEventListener("touchstart",onTouchStart,{passive:!0}),function(){var _listRef$current;(_listRef$current=listRef.current)===null||_listRef$current===void 0||_listRef$current.removeEventListener("touchstart",onTouchStart),cleanUpEvents(),clearInterval(intervalRef.current)}},[inVirtual])}__name(useMobileTouchMove,"useMobileTouchMove");var MAX_TIMES=10;function useScrollTo(containerRef,data,heights,itemHeight,getKey,collectHeight,syncScrollTop,triggerFlash){var scrollRef=React__namespace.useRef(),_React$useState=React__namespace.useState(null),_React$useState2=_slicedToArray(_React$useState,2),syncState=_React$useState2[0],setSyncState=_React$useState2[1];return useLayoutEffect(function(){if(syncState&&syncState.times<MAX_TIMES){if(!containerRef.current){setSyncState(function(ori){return _objectSpread2({},ori)});return}collectHeight();var targetAlign=syncState.targetAlign,originAlign=syncState.originAlign,index2=syncState.index,offset=syncState.offset,height=containerRef.current.clientHeight,needCollectHeight=!1,newTargetAlign=targetAlign,targetTop=null;if(height){for(var mergedAlign=targetAlign||originAlign,stackTop=0,itemTop=0,itemBottom=0,maxLen=Math.min(data.length-1,index2),i=0;i<=maxLen;i+=1){var key=getKey(data[i]);itemTop=stackTop;var cacheHeight=heights.get(key);itemBottom=itemTop+(cacheHeight===void 0?itemHeight:cacheHeight),stackTop=itemBottom}for(var leftHeight=mergedAlign==="top"?offset:height-offset,_i=maxLen;_i>=0;_i-=1){var _key=getKey(data[_i]),_cacheHeight=heights.get(_key);if(_cacheHeight===void 0){needCollectHeight=!0;break}if(leftHeight-=_cacheHeight,leftHeight<=0)break}switch(mergedAlign){case"top":targetTop=itemTop-offset;break;case"bottom":targetTop=itemBottom-height+offset;break;default:{var scrollTop=containerRef.current.scrollTop,scrollBottom=scrollTop+height;itemTop<scrollTop?newTargetAlign="top":itemBottom>scrollBottom&&(newTargetAlign="bottom")}}targetTop!==null&&syncScrollTop(targetTop),targetTop!==syncState.lastTop&&(needCollectHeight=!0)}needCollectHeight&&setSyncState(_objectSpread2(_objectSpread2({},syncState),{},{times:syncState.times+1,targetAlign:newTargetAlign,lastTop:targetTop}))}},[syncState,containerRef.current]),function(arg){if(arg==null){triggerFlash();return}if(wrapperRaf.cancel(scrollRef.current),typeof arg=="number")syncScrollTop(arg);else if(arg&&_typeof(arg)==="object"){var index2,align=arg.align;"index"in arg?index2=arg.index:index2=data.findIndex(function(item){return getKey(item)===arg.key});var _arg$offset=arg.offset,offset=_arg$offset===void 0?0:_arg$offset;setSyncState({times:0,index:index2,offset,originAlign:align})}}}__name(useScrollTo,"useScrollTo");function getPageXY(e2,horizontal){var obj="touches"in e2?e2.touches[0]:e2;return obj[horizontal?"pageX":"pageY"]}__name(getPageXY,"getPageXY");var ScrollBar=React__namespace.forwardRef(function(props,ref){var prefixCls=props.prefixCls,rtl=props.rtl,scrollOffset=props.scrollOffset,scrollRange=props.scrollRange,onStartMove=props.onStartMove,onStopMove=props.onStopMove,onScroll=props.onScroll,horizontal=props.horizontal,spinSize=props.spinSize,containerSize=props.containerSize,style=props.style,propsThumbStyle=props.thumbStyle,_React$useState=React__namespace.useState(!1),_React$useState2=_slicedToArray(_React$useState,2),dragging=_React$useState2[0],setDragging=_React$useState2[1],_React$useState3=React__namespace.useState(null),_React$useState4=_slicedToArray(_React$useState3,2),pageXY=_React$useState4[0],setPageXY=_React$useState4[1],_React$useState5=React__namespace.useState(null),_React$useState6=_slicedToArray(_React$useState5,2),startTop=_React$useState6[0],setStartTop=_React$useState6[1],isLTR=!rtl,scrollbarRef=React__namespace.useRef(),thumbRef=React__namespace.useRef(),_React$useState7=React__namespace.useState(!1),_React$useState8=_slicedToArray(_React$useState7,2),visible=_React$useState8[0],setVisible=_React$useState8[1],visibleTimeoutRef=React__namespace.useRef(),delayHidden=__name(function(){clearTimeout(visibleTimeoutRef.current),setVisible(!0),visibleTimeoutRef.current=setTimeout(function(){setVisible(!1)},3e3)},"delayHidden2"),enableScrollRange=scrollRange-containerSize||0,enableOffsetRange=containerSize-spinSize||0,top=React__namespace.useMemo(function(){if(scrollOffset===0||enableScrollRange===0)return 0;var ptg=scrollOffset/enableScrollRange;return ptg*enableOffsetRange},[scrollOffset,enableScrollRange,enableOffsetRange]),onContainerMouseDown=__name(function(e2){e2.stopPropagation(),e2.preventDefault()},"onContainerMouseDown2"),stateRef=React__namespace.useRef({top,dragging,pageY:pageXY,startTop});stateRef.current={top,dragging,pageY:pageXY,startTop};var onThumbMouseDown=__name(function(e2){setDragging(!0),setPageXY(getPageXY(e2,horizontal)),setStartTop(stateRef.current.top),onStartMove(),e2.stopPropagation(),e2.preventDefault()},"onThumbMouseDown2");React__namespace.useEffect(function(){var onScrollbarTouchStart=__name(function(e2){e2.preventDefault()},"onScrollbarTouchStart2"),scrollbarEle=scrollbarRef.current,thumbEle=thumbRef.current;return scrollbarEle.addEventListener("touchstart",onScrollbarTouchStart,{passive:!1}),thumbEle.addEventListener("touchstart",onThumbMouseDown,{passive:!1}),function(){scrollbarEle.removeEventListener("touchstart",onScrollbarTouchStart),thumbEle.removeEventListener("touchstart",onThumbMouseDown)}},[]);var enableScrollRangeRef=React__namespace.useRef();enableScrollRangeRef.current=enableScrollRange;var enableOffsetRangeRef=React__namespace.useRef();enableOffsetRangeRef.current=enableOffsetRange,React__namespace.useEffect(function(){if(dragging){var moveRafId,onMouseMove=__name(function(e2){var _stateRef$current=stateRef.current,stateDragging=_stateRef$current.dragging,statePageY=_stateRef$current.pageY,stateStartTop=_stateRef$current.startTop;wrapperRaf.cancel(moveRafId);var rect=scrollbarRef.current.getBoundingClientRect(),scale=containerSize/(horizontal?rect.width:rect.height);if(stateDragging){var offset=(getPageXY(e2,horizontal)-statePageY)*scale,newTop=stateStartTop;!isLTR&&horizontal?newTop-=offset:newTop+=offset;var tmpEnableScrollRange=enableScrollRangeRef.current,tmpEnableOffsetRange=enableOffsetRangeRef.current,ptg=tmpEnableOffsetRange?newTop/tmpEnableOffsetRange:0,newScrollTop=Math.ceil(ptg*tmpEnableScrollRange);newScrollTop=Math.max(newScrollTop,0),newScrollTop=Math.min(newScrollTop,tmpEnableScrollRange),moveRafId=wrapperRaf(function(){onScroll(newScrollTop,horizontal)})}},"onMouseMove2"),onMouseUp=__name(function(){setDragging(!1),onStopMove()},"onMouseUp2");return window.addEventListener("mousemove",onMouseMove,{passive:!0}),window.addEventListener("touchmove",onMouseMove,{passive:!0}),window.addEventListener("mouseup",onMouseUp,{passive:!0}),window.addEventListener("touchend",onMouseUp,{passive:!0}),function(){window.removeEventListener("mousemove",onMouseMove),window.removeEventListener("touchmove",onMouseMove),window.removeEventListener("mouseup",onMouseUp),window.removeEventListener("touchend",onMouseUp),wrapperRaf.cancel(moveRafId)}}},[dragging]),React__namespace.useEffect(function(){return delayHidden(),function(){clearTimeout(visibleTimeoutRef.current)}},[scrollOffset]),React__namespace.useImperativeHandle(ref,function(){return{delayHidden}});var scrollbarPrefixCls="".concat(prefixCls,"-scrollbar"),containerStyle={position:"absolute",visibility:visible?null:"hidden"},thumbStyle={position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"};return horizontal?(containerStyle.height=8,containerStyle.left=0,containerStyle.right=0,containerStyle.bottom=0,thumbStyle.height="100%",thumbStyle.width=spinSize,isLTR?thumbStyle.left=top:thumbStyle.right=top):(containerStyle.width=8,containerStyle.top=0,containerStyle.bottom=0,isLTR?containerStyle.right=0:containerStyle.left=0,thumbStyle.width="100%",thumbStyle.height=spinSize,thumbStyle.top=top),React__namespace.createElement("div",{ref:scrollbarRef,className:classNames(scrollbarPrefixCls,_defineProperty(_defineProperty(_defineProperty({},"".concat(scrollbarPrefixCls,"-horizontal"),horizontal),"".concat(scrollbarPrefixCls,"-vertical"),!horizontal),"".concat(scrollbarPrefixCls,"-visible"),visible)),style:_objectSpread2(_objectSpread2({},containerStyle),style),onMouseDown:onContainerMouseDown,onMouseMove:delayHidden},React__namespace.createElement("div",{ref:thumbRef,className:classNames("".concat(scrollbarPrefixCls,"-thumb"),_defineProperty({},"".concat(scrollbarPrefixCls,"-thumb-moving"),dragging)),style:_objectSpread2(_objectSpread2({},thumbStyle),propsThumbStyle),onMouseDown:onThumbMouseDown}))}),MIN_SIZE=20;function getSpinSize(){var containerSize=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,scrollRange=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,baseSize=containerSize/scrollRange*containerSize;return isNaN(baseSize)&&(baseSize=0),baseSize=Math.max(baseSize,MIN_SIZE),Math.floor(baseSize)}__name(getSpinSize,"getSpinSize");var _excluded=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles"],EMPTY_DATA=[],ScrollStyle={overflowY:"auto",overflowAnchor:"none"};function RawList(props,ref){var _props$prefixCls=props.prefixCls,prefixCls=_props$prefixCls===void 0?"rc-virtual-list":_props$prefixCls,className=props.className,height=props.height,itemHeight=props.itemHeight,_props$fullHeight=props.fullHeight,fullHeight=_props$fullHeight===void 0?!0:_props$fullHeight,style=props.style,data=props.data,children=props.children,itemKey=props.itemKey,virtual=props.virtual,direction=props.direction,scrollWidth=props.scrollWidth,_props$component=props.component,Component=_props$component===void 0?"div":_props$component,onScroll=props.onScroll,onVirtualScroll=props.onVirtualScroll,onVisibleChange=props.onVisibleChange,innerProps=props.innerProps,extraRender=props.extraRender,styles2=props.styles,restProps=_objectWithoutProperties(props,_excluded),getKey=React__namespace.useCallback(function(item){return typeof itemKey=="function"?itemKey(item):item==null?void 0:item[itemKey]},[itemKey]),_useHeights=useHeights(getKey),_useHeights2=_slicedToArray(_useHeights,4),setInstanceRef=_useHeights2[0],collectHeight=_useHeights2[1],heights=_useHeights2[2],heightUpdatedMark=_useHeights2[3],useVirtual=!!(virtual!==!1&&height&&itemHeight),containerHeight=React__namespace.useMemo(function(){return Object.values(heights.maps).reduce(function(total,curr){return total+curr},0)},[heights.id,heights.maps]),inVirtual=useVirtual&&data&&(Math.max(itemHeight*data.length,containerHeight)>height||!!scrollWidth),isRTL=direction==="rtl",mergedClassName=classNames(prefixCls,_defineProperty({},"".concat(prefixCls,"-rtl"),isRTL),className),mergedData=data||EMPTY_DATA,componentRef=React.useRef(),fillerInnerRef=React.useRef(),containerRef=React.useRef(),_useState=React.useState(0),_useState2=_slicedToArray(_useState,2),offsetTop=_useState2[0],setOffsetTop=_useState2[1],_useState3=React.useState(0),_useState4=_slicedToArray(_useState3,2),offsetLeft=_useState4[0],setOffsetLeft=_useState4[1],_useState5=React.useState(!1),_useState6=_slicedToArray(_useState5,2),scrollMoving=_useState6[0],setScrollMoving=_useState6[1],onScrollbarStartMove=__name(function(){setScrollMoving(!0)},"onScrollbarStartMove"),onScrollbarStopMove=__name(function(){setScrollMoving(!1)},"onScrollbarStopMove"),sharedConfig={getKey};function syncScrollTop(newTop){setOffsetTop(function(origin){var value;typeof newTop=="function"?value=newTop(origin):value=newTop;var alignedTop=keepInRange(value);return componentRef.current.scrollTop=alignedTop,alignedTop})}__name(syncScrollTop,"syncScrollTop");var rangeRef=React.useRef({start:0,end:mergedData.length}),diffItemRef=React.useRef(),_useDiffItem=useDiffItem(mergedData,getKey),_useDiffItem2=_slicedToArray(_useDiffItem,1),diffItem=_useDiffItem2[0];diffItemRef.current=diffItem;var _React$useMemo=React__namespace.useMemo(function(){if(!useVirtual)return{scrollHeight:void 0,start:0,end:mergedData.length-1,offset:void 0};if(!inVirtual){var _fillerInnerRef$curre;return{scrollHeight:((_fillerInnerRef$curre=fillerInnerRef.current)===null||_fillerInnerRef$curre===void 0?void 0:_fillerInnerRef$curre.offsetHeight)||0,start:0,end:mergedData.length-1,offset:void 0}}for(var itemTop=0,startIndex,startOffset,endIndex,dataLen=mergedData.length,i=0;i<dataLen;i+=1){var _item=mergedData[i],key=getKey(_item),cacheHeight=heights.get(key),currentItemBottom=itemTop+(cacheHeight===void 0?itemHeight:cacheHeight);currentItemBottom>=offsetTop&&startIndex===void 0&&(startIndex=i,startOffset=itemTop),currentItemBottom>offsetTop+height&&endIndex===void 0&&(endIndex=i),itemTop=currentItemBottom}return startIndex===void 0&&(startIndex=0,startOffset=0,endIndex=Math.ceil(height/itemHeight)),endIndex===void 0&&(endIndex=mergedData.length-1),endIndex=Math.min(endIndex+1,mergedData.length-1),{scrollHeight:itemTop,start:startIndex,end:endIndex,offset:startOffset}},[inVirtual,useVirtual,offsetTop,mergedData,heightUpdatedMark,height]),scrollHeight=_React$useMemo.scrollHeight,start=_React$useMemo.start,end=_React$useMemo.end,fillerOffset=_React$useMemo.offset;rangeRef.current.start=start,rangeRef.current.end=end;var _React$useState=React__namespace.useState({width:0,height}),_React$useState2=_slicedToArray(_React$useState,2),size=_React$useState2[0],setSize=_React$useState2[1],onHolderResize=__name(function(sizeInfo){setSize({width:sizeInfo.offsetWidth,height:sizeInfo.offsetHeight})},"onHolderResize"),verticalScrollBarRef=React.useRef(),horizontalScrollBarRef=React.useRef(),horizontalScrollBarSpinSize=React__namespace.useMemo(function(){return getSpinSize(size.width,scrollWidth)},[size.width,scrollWidth]),verticalScrollBarSpinSize=React__namespace.useMemo(function(){return getSpinSize(size.height,scrollHeight)},[size.height,scrollHeight]),maxScrollHeight=scrollHeight-height,maxScrollHeightRef=React.useRef(maxScrollHeight);maxScrollHeightRef.current=maxScrollHeight;function keepInRange(newScrollTop){var newTop=newScrollTop;return Number.isNaN(maxScrollHeightRef.current)||(newTop=Math.min(newTop,maxScrollHeightRef.current)),newTop=Math.max(newTop,0),newTop}__name(keepInRange,"keepInRange");var isScrollAtTop=offsetTop<=0,isScrollAtBottom=offsetTop>=maxScrollHeight,isScrollAtLeft=offsetLeft<=0,isScrollAtRight=offsetLeft>=scrollWidth,originScroll=useOriginScroll(isScrollAtTop,isScrollAtBottom,isScrollAtLeft,isScrollAtRight),getVirtualScrollInfo=__name(function(){return{x:isRTL?-offsetLeft:offsetLeft,y:offsetTop}},"getVirtualScrollInfo"),lastVirtualScrollInfoRef=React.useRef(getVirtualScrollInfo()),triggerScroll=useEvent(function(params){if(onVirtualScroll){var nextInfo=_objectSpread2(_objectSpread2({},getVirtualScrollInfo()),params);(lastVirtualScrollInfoRef.current.x!==nextInfo.x||lastVirtualScrollInfoRef.current.y!==nextInfo.y)&&(onVirtualScroll(nextInfo),lastVirtualScrollInfoRef.current=nextInfo)}});function onScrollBar(newScrollOffset,horizontal){var newOffset=newScrollOffset;horizontal?(ReactDOM.flushSync(function(){setOffsetLeft(newOffset)}),triggerScroll()):syncScrollTop(newOffset)}__name(onScrollBar,"onScrollBar");function onFallbackScroll(e2){var newScrollTop=e2.currentTarget.scrollTop;newScrollTop!==offsetTop&&syncScrollTop(newScrollTop),onScroll==null||onScroll(e2),triggerScroll()}__name(onFallbackScroll,"onFallbackScroll");var keepInHorizontalRange=__name(function(nextOffsetLeft){var tmpOffsetLeft=nextOffsetLeft,max=scrollWidth?scrollWidth-size.width:0;return tmpOffsetLeft=Math.max(tmpOffsetLeft,0),tmpOffsetLeft=Math.min(tmpOffsetLeft,max),tmpOffsetLeft},"keepInHorizontalRange"),onWheelDelta=useEvent(function(offsetXY,fromHorizontal){fromHorizontal?(ReactDOM.flushSync(function(){setOffsetLeft(function(left){var nextOffsetLeft=left+(isRTL?-offsetXY:offsetXY);return keepInHorizontalRange(nextOffsetLeft)})}),triggerScroll()):syncScrollTop(function(top){var newTop=top+offsetXY;return newTop})}),_useFrameWheel=useFrameWheel(useVirtual,isScrollAtTop,isScrollAtBottom,isScrollAtLeft,isScrollAtRight,!!scrollWidth,onWheelDelta),_useFrameWheel2=_slicedToArray(_useFrameWheel,2),onRawWheel=_useFrameWheel2[0],onFireFoxScroll=_useFrameWheel2[1];useMobileTouchMove(useVirtual,componentRef,function(isHorizontal,delta,smoothOffset){return originScroll(isHorizontal,delta,smoothOffset)?!1:(onRawWheel({preventDefault:__name(function(){},"preventDefault"),deltaX:isHorizontal?delta:0,deltaY:isHorizontal?0:delta}),!0)}),useLayoutEffect(function(){function onMozMousePixelScroll(e2){useVirtual&&e2.preventDefault()}__name(onMozMousePixelScroll,"onMozMousePixelScroll");var componentEle=componentRef.current;return componentEle.addEventListener("wheel",onRawWheel,{passive:!1}),componentEle.addEventListener("DOMMouseScroll",onFireFoxScroll,{passive:!0}),componentEle.addEventListener("MozMousePixelScroll",onMozMousePixelScroll,{passive:!1}),function(){componentEle.removeEventListener("wheel",onRawWheel),componentEle.removeEventListener("DOMMouseScroll",onFireFoxScroll),componentEle.removeEventListener("MozMousePixelScroll",onMozMousePixelScroll)}},[useVirtual]),useLayoutEffect(function(){if(scrollWidth){var newOffsetLeft=keepInHorizontalRange(offsetLeft);setOffsetLeft(newOffsetLeft),triggerScroll({x:newOffsetLeft})}},[size.width,scrollWidth]);var delayHideScrollBar=__name(function(){var _verticalScrollBarRef,_horizontalScrollBarR;(_verticalScrollBarRef=verticalScrollBarRef.current)===null||_verticalScrollBarRef===void 0||_verticalScrollBarRef.delayHidden(),(_horizontalScrollBarR=horizontalScrollBarRef.current)===null||_horizontalScrollBarR===void 0||_horizontalScrollBarR.delayHidden()},"delayHideScrollBar"),_scrollTo=useScrollTo(componentRef,mergedData,heights,itemHeight,getKey,function(){return collectHeight(!0)},syncScrollTop,delayHideScrollBar);React__namespace.useImperativeHandle(ref,function(){return{nativeElement:containerRef.current,getScrollInfo:getVirtualScrollInfo,scrollTo:__name(function(config){function isPosScroll(arg){return arg&&_typeof(arg)==="object"&&("left"in arg||"top"in arg)}__name(isPosScroll,"isPosScroll"),isPosScroll(config)?(config.left!==void 0&&setOffsetLeft(keepInHorizontalRange(config.left)),_scrollTo(config.top)):_scrollTo(config)},"scrollTo")}}),useLayoutEffect(function(){if(onVisibleChange){var renderList=mergedData.slice(start,end+1);onVisibleChange(renderList,mergedData)}},[start,end,mergedData]);var getSize=useGetSize(mergedData,getKey,heights,itemHeight),extraContent=extraRender==null?void 0:extraRender({start,end,virtual:inVirtual,offsetX:offsetLeft,offsetY:fillerOffset,rtl:isRTL,getSize}),listChildren=useChildren(mergedData,start,end,scrollWidth,offsetLeft,setInstanceRef,children,sharedConfig),componentStyle=null;height&&(componentStyle=_objectSpread2(_defineProperty({},fullHeight?"height":"maxHeight",height),ScrollStyle),useVirtual&&(componentStyle.overflowY="hidden",scrollWidth&&(componentStyle.overflowX="hidden"),scrollMoving&&(componentStyle.pointerEvents="none")));var containerProps={};return isRTL&&(containerProps.dir="rtl"),React__namespace.createElement("div",_extends({ref:containerRef,style:_objectSpread2(_objectSpread2({},style),{},{position:"relative"}),className:mergedClassName},containerProps,restProps),React__namespace.createElement(RefResizeObserver,{onResize:onHolderResize},React__namespace.createElement(Component,{className:"".concat(prefixCls,"-holder"),style:componentStyle,ref:componentRef,onScroll:onFallbackScroll,onMouseEnter:delayHideScrollBar},React__namespace.createElement(Filler,{prefixCls,height:scrollHeight,offsetX:offsetLeft,offsetY:fillerOffset,scrollWidth,onInnerResize:collectHeight,ref:fillerInnerRef,innerProps,rtl:isRTL,extra:extraContent},listChildren))),inVirtual&&scrollHeight>height&&React__namespace.createElement(ScrollBar,{ref:verticalScrollBarRef,prefixCls,scrollOffset:offsetTop,scrollRange:scrollHeight,rtl:isRTL,onScroll:onScrollBar,onStartMove:onScrollbarStartMove,onStopMove:onScrollbarStopMove,spinSize:verticalScrollBarSpinSize,containerSize:size.height,style:styles2==null?void 0:styles2.verticalScrollBar,thumbStyle:styles2==null?void 0:styles2.verticalScrollBarThumb}),inVirtual&&scrollWidth>size.width&&React__namespace.createElement(ScrollBar,{ref:horizontalScrollBarRef,prefixCls,scrollOffset:offsetLeft,scrollRange:scrollWidth,rtl:isRTL,onScroll:onScrollBar,onStartMove:onScrollbarStartMove,onStopMove:onScrollbarStopMove,spinSize:horizontalScrollBarSpinSize,containerSize:size.width,horizontal:!0,style:styles2==null?void 0:styles2.horizontalScrollBar,thumbStyle:styles2==null?void 0:styles2.horizontalScrollBarThumb}))}__name(RawList,"RawList");var List=React__namespace.forwardRef(RawList);List.displayName="List";function FilterByValue(props){const{model}=props,localeService=core.useDependency(core.LocaleService),searchText=ui.useObservable(model.searchString$,"",!0),items=ui.useObservable(model.filterItems$,void 0,!0),filterOnly=localeService.t("sheets-filter.panel.filter-only"),stat=statisticFilterByValueItems(items),allChecked=stat.checked>0&&stat.unchecked===0,indeterminate=stat.checked>0&&stat.unchecked>0,onFilterCheckToggled=React.useCallback((item,checked)=>{model.onFilterCheckToggled(item,checked)},[model]),onFilterOnlyClicked=React.useCallback(item=>{model.onFilterOnly(item)},[model]),onCheckAllToggled=React.useCallback(()=>{model.onCheckAllToggled(!allChecked)},[model,allChecked]),onSearchValueChange=React.useCallback(str=>{model.setSearchString(str)},[model]);return React.createElement("div",{className:styles.sheetsFilterPanelValuesContainer},React.createElement(design.Input,{autoFocus:!0,value:searchText,placeholder:localeService.t("sheets-filter.panel.search-placeholder"),onChange:onSearchValueChange}),React.createElement("div",{className:styles.sheetsFilterPanelValuesList},React.createElement("div",{className:styles.sheetsFilterPanelValuesItem},React.createElement("div",{className:styles.sheetsFilterPanelValuesItemInner},React.createElement(design.Checkbox,{indeterminate,disabled:items.length===0,checked:allChecked,onChange:onCheckAllToggled}),React.createElement("span",{className:styles.sheetsFilterPanelValuesItemText},`${localeService.t("sheets-filter.panel.select-all")}`),React.createElement("span",{className:styles.sheetsFilterPanelValuesItemCount},`(${stat.checked}/${stat.checked+stat.unchecked})`))),React.createElement("div",{className:styles.sheetsFilterPanelValuesVirtual},React.createElement(List,{style:{paddingRight:8},data:items,height:190,itemHeight:32,itemKey:__name(item=>`${item.value}----${item.checked}`,"itemKey")},item=>React.createElement("div",{className:styles.sheetsFilterPanelValuesItem},React.createElement("div",{className:styles.sheetsFilterPanelValuesItemInner},React.createElement(design.Checkbox,{checked:item.checked,onChange:__name(()=>onFilterCheckToggled(item,!item.checked),"onChange")}),React.createElement(design.Tooltip,{showIfEllipsis:!0,placement:"top",title:item.value},React.createElement("span",{className:styles.sheetsFilterPanelValuesItemText},item.value)),React.createElement("span",{className:styles.sheetsFilterPanelValuesItemCount},`(${item.count})`),React.createElement(design.Button,{className:styles.sheetsFilterPanelValuesItemExcludeButton,size:"small",type:"link",onClick:__name(()=>onFilterOnlyClicked(item),"onClick")},filterOnly)))))))}__name(FilterByValue,"FilterByValue");function FilterPanel(){var _a13;const sheetsFilterPanelService=core.useDependency(SheetsFilterPanelService),localeService=core.useDependency(core.LocaleService),commandService=core.useDependency(core.ICommandService),filterBy=ui.useObservable(sheetsFilterPanelService.filterBy$,void 0,!0),filterByModel=ui.useObservable(sheetsFilterPanelService.filterByModel$,void 0,!1),canApply=ui.useObservable(()=>(filterByModel==null?void 0:filterByModel.canApply$)||rxjs.of(!1),void 0,!1,[filterByModel]),options=useFilterByOptions(localeService),clearFilterDisabled=!ui.useObservable(sheetsFilterPanelService.hasCriteria$),onFilterByTypeChange=React.useCallback(value=>{commandService.executeCommand(ChangeFilterByOperation.id,{filterBy:value})},[commandService]),onClearCriteria=React.useCallback(async()=>{await(filterByModel==null?void 0:filterByModel.clear()),commandService.executeCommand(CloseFilterPanelOperation.id)},[filterByModel,commandService]),onCancel=React.useCallback(()=>{commandService.executeCommand(CloseFilterPanelOperation.id)},[commandService]),onApply=React.useCallback(async()=>{await(filterByModel==null?void 0:filterByModel.apply()),commandService.executeCommand(CloseFilterPanelOperation.id)},[filterByModel,commandService]),range=(_a13=core.useDependency(sheetsFilter.SheetsFilterService).activeFilterModel)==null?void 0:_a13.getRange(),colIndex=sheetsFilterPanelService.col,FilterPanelEmbedPointPart=ui.useComponentsOfPart(sheetsUi.SheetsUIPart.FILTER_PANEL_EMBED_POINT);return React.createElement("div",{className:styles.sheetsFilterPanel},React.createElement(ui.ComponentContainer,{components:FilterPanelEmbedPointPart,sharedProps:{range,colIndex,onClose:onCancel}}),React.createElement("div",{className:styles.sheetsFilterPanelHeader},React.createElement(design.Segmented,{value:filterBy,options,onChange:__name(value=>onFilterByTypeChange(value),"onChange")})),filterByModel?React.createElement("div",{className:styles.sheetsFilterPanelContent},filterBy===FilterBy.VALUES?React.createElement(FilterByValue,{model:filterByModel}):React.createElement(FilterByCondition,{model:filterByModel})):React.createElement("div",{style:{flex:1}}),React.createElement("div",{className:styles.sheetsFilterPanelFooter},React.createElement(design.Button,{type:"link",onClick:onClearCriteria,disabled:clearFilterDisabled},localeService.t("sheets-filter.panel.clear-filter")),React.createElement("span",{className:styles.sheetsFilterPanelFooterPrimaryButtons},React.createElement(design.Button,{type:"default",onClick:onCancel},localeService.t("sheets-filter.panel.cancel")),React.createElement(design.Button,{disabled:!canApply,type:"primary",onClick:onApply},localeService.t("sheets-filter.panel.confirm")))))}__name(FilterPanel,"FilterPanel");function useFilterByOptions(localeService){const locale=localeService.getCurrentLocale();return React.useMemo(()=>[{label:localeService.t("sheets-filter.panel.by-values"),value:FilterBy.VALUES},{label:localeService.t("sheets-filter.panel.by-conditions"),value:FilterBy.CONDITIONS}],[locale,localeService])}__name(useFilterByOptions,"useFilterByOptions");const SmartToggleFilterShortcut={id:SmartToggleSheetsFilterCommand.id,binding:ui.KeyCode.L|ui.MetaKeys.CTRL_COMMAND|ui.MetaKeys.SHIFT,description:"sheets-filter.shortcut.smart-toggle-filter",preconditions:sheetsUi.whenSheetEditorFocused,group:"4_sheet-edit"},BUTTON_VIEWPORT=16,FILTER_BUTTON_EMPTY=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"),_FilterButton=class _FilterButton{static drawNoCriteria(ctx,size,fgColor,bgColor){ctx.save(),engineRender.Rect.drawWith(ctx,{radius:2,width:BUTTON_VIEWPORT,height:BUTTON_VIEWPORT,fill:bgColor}),ctx.lineCap="square",ctx.strokeStyle=fgColor,ctx.scale(size/BUTTON_VIEWPORT,size/BUTTON_VIEWPORT),ctx.beginPath(),ctx.lineWidth=1,ctx.lineCap="round",ctx.moveTo(3,4),ctx.lineTo(13,4),ctx.moveTo(4.5,8),ctx.lineTo(11.5,8),ctx.moveTo(6,12),ctx.lineTo(10,12),ctx.stroke(),ctx.restore()}static drawHasCriteria(ctx,size,fgColor,bgColor){ctx.save(),engineRender.Rect.drawWith(ctx,{radius:2,width:BUTTON_VIEWPORT,height:BUTTON_VIEWPORT,fill:bgColor}),ctx.scale(size/BUTTON_VIEWPORT,size/BUTTON_VIEWPORT),ctx.fillStyle=fgColor,ctx.fill(FILTER_BUTTON_EMPTY),ctx.restore()}};__name(_FilterButton,"FilterButton");let FilterButton=_FilterButton;var __defProp$6=Object.defineProperty,__getOwnPropDesc$6=Object.getOwnPropertyDescriptor,__decorateClass$6=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$6(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$6(target,key,result),result},"__decorateClass$6"),__decorateParam$6=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$6");const FILTER_ICON_SIZE=16,FILTER_ICON_PADDING=1;var _a6;let SheetsFilterButtonShape=(_a6=class extends engineRender.Shape{constructor(key,props,_contextService,_commandService,_themeService){super(key,props);__publicField(this,"_cellWidth",0);__publicField(this,"_cellHeight",0);__publicField(this,"_filterParams");__publicField(this,"_hovered",!1);this._contextService=_contextService,this._commandService=_commandService,this._themeService=_themeService,this.setShapeProps(props),this.onPointerDown$.subscribeEvent(evt=>this.onPointerDown(evt)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(props){typeof props.cellHeight<"u"&&(this._cellHeight=props.cellHeight),typeof props.cellWidth<"u"&&(this._cellWidth=props.cellWidth),typeof props.filterParams<"u"&&(this._filterParams=props.filterParams),this.transformByState({width:props.width,height:props.height})}_draw(ctx){const cellHeight=this._cellHeight,cellWidth=this._cellWidth,left=FILTER_ICON_SIZE-cellWidth,top=FILTER_ICON_SIZE-cellHeight;ctx.save();const cellRegion=new Path2D;cellRegion.rect(left,top,cellWidth,cellHeight),ctx.clip(cellRegion);const{hasCriteria}=this._filterParams,fgColor=this._themeService.getCurrentTheme().primaryColor,bgColor=this._hovered?this._themeService.getCurrentTheme().grey50:"rgba(255, 255, 255, 1.0)";hasCriteria?FilterButton.drawHasCriteria(ctx,FILTER_ICON_SIZE,fgColor,bgColor):FilterButton.drawNoCriteria(ctx,FILTER_ICON_SIZE,fgColor,bgColor),ctx.restore()}onPointerDown(evt){if(evt.button===2)return;const{col,unitId,subUnitId}=this._filterParams;this._contextService.getContextValue(FILTER_PANEL_OPENED_KEY)||!this._commandService.hasCommand(OpenFilterPanelOperation.id)||setTimeout(()=>{this._commandService.executeCommand(OpenFilterPanelOperation.id,{unitId,subUnitId,col})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}},__name(_a6,"SheetsFilterButtonShape"),_a6);SheetsFilterButtonShape=__decorateClass$6([__decorateParam$6(2,core.IContextService),__decorateParam$6(3,core.ICommandService),__decorateParam$6(4,core.Inject(core.ThemeService))],SheetsFilterButtonShape);var __defProp$5=Object.defineProperty,__getOwnPropDesc$5=Object.getOwnPropertyDescriptor,__decorateClass$5=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$5(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$5(target,key,result),result},"__decorateClass$5"),__decorateParam$5=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$5");const DEFAULT_Z_INDEX=1e3,SHEETS_FILTER_BUTTON_Z_INDEX=5e3;var _a7;let SheetsFilterRenderController=(_a7=class extends core.RxDisposable{constructor(_context,_injector,_sheetSkeletonManagerService,_sheetsFilterService,_themeService,_sheetInterceptorService,_commandService,_selectionRenderService){super();__publicField(this,"_filterRangeShape",null);__publicField(this,"_buttonRenderDisposable",null);__publicField(this,"_filterButtonShapes",[]);this._context=_context,this._injector=_injector,this._sheetSkeletonManagerService=_sheetSkeletonManagerService,this._sheetsFilterService=_sheetsFilterService,this._themeService=_themeService,this._sheetInterceptorService=_sheetInterceptorService,this._commandService=_commandService,this._selectionRenderService=_selectionRenderService,this._initRenderer()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){this._sheetSkeletonManagerService.currentSkeleton$.pipe(rxjs.switchMap(skeletonParams=>{var _a13,_b;if(!skeletonParams)return rxjs.of(null);const{unit:workbook,unitId}=this._context,worksheetId=((_a13=workbook.getActiveSheet())==null?void 0:_a13.getSheetId())||"",filterModel=(_b=this._sheetsFilterService.getFilterModel(unitId,worksheetId))!=null?_b:void 0,getParams=__name(()=>({unitId,worksheetId,filterModel,range:filterModel==null?void 0:filterModel.getRange(),skeleton:skeletonParams.skeleton}),"getParams");return core.fromCallback(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(rxjs.filter(([command])=>{var _a14;return command.type===core.CommandType.MUTATION&&((_a14=command.params)==null?void 0:_a14.unitId)===workbook.getUnitId()&&(sheetsFilter.FILTER_MUTATIONS.has(command.id)||command.id===sheets.SetRangeValuesMutation.id)}),rxjs.throttleTime(20,void 0,{leading:!1,trailing:!0}),rxjs.map(getParams),rxjs.startWith(getParams()))}),rxjs.takeUntil(this.dispose$)).subscribe(renderParams=>{this._disposeRendering(),!(!renderParams||!renderParams.range)&&(this._renderRange(renderParams.range,renderParams.skeleton),this._renderButtons(renderParams))})}_renderRange(range,skeleton){const{scene}=this._context,{rangeWithCoord,style}=this._selectionRenderService.attachSelectionWithCoord({range,primary:null,style:null}),{rowHeaderWidth,columnHeaderHeight}=skeleton,filterRangeShape=this._filterRangeShape=new sheetsUi.SelectionShape(scene,DEFAULT_Z_INDEX,this._themeService,!0);filterRangeShape.update(rangeWithCoord,rowHeaderWidth,columnHeaderHeight,{hasAutoFill:!1,fill:"rgba(0, 0, 0, 0.0)",...style}),filterRangeShape.setEvent(!1),scene.makeDirty(!0)}_renderButtons(params){const{range,filterModel,unitId,skeleton,worksheetId}=params,{scene}=this._context;this._interceptCellContent(unitId,worksheetId,params.range);const{startColumn,endColumn,startRow}=range;for(let col=startColumn;col<=endColumn;col++){const key=`sheets-filter-button-${col}`,startPosition=sheetsUi.getCoordByCell(startRow,col,scene,skeleton),{startX,startY,endX,endY}=startPosition,cellWidth=endX-startX,cellHeight=endY-startY;if(cellHeight<=FILTER_ICON_PADDING||cellWidth<=FILTER_ICON_PADDING)continue;const hasCriteria=!!filterModel.getFilterColumn(col),iconStartX=endX-FILTER_ICON_SIZE-FILTER_ICON_PADDING,iconStartY=endY-FILTER_ICON_SIZE-FILTER_ICON_PADDING,props={left:iconStartX,top:iconStartY,height:FILTER_ICON_SIZE,width:FILTER_ICON_SIZE,zIndex:SHEETS_FILTER_BUTTON_Z_INDEX,cellHeight,cellWidth,filterParams:{unitId,subUnitId:worksheetId,col,hasCriteria}},buttonShape=this._injector.createInstance(SheetsFilterButtonShape,key,props);this._filterButtonShapes.push(buttonShape)}scene.addObjects(this._filterButtonShapes),scene.makeDirty()}_interceptCellContent(workbookId,worksheetId,range){const{startRow,startColumn,endColumn}=range;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(sheets.INTERCEPTOR_POINT.CELL_CONTENT,{effect:core.InterceptorEffectEnum.Style,handler:__name((cell,pos,next)=>{const{row,col,unitId,subUnitId}=pos;return unitId!==workbookId||subUnitId!==worksheetId||row!==startRow||col<startColumn||col>endColumn?next(cell):next({...cell,fontRenderExtension:{...cell==null?void 0:cell.fontRenderExtension,rightOffset:FILTER_ICON_SIZE}})},"handler"),priority:10})}_disposeRendering(){var _a13,_b;(_a13=this._filterRangeShape)==null||_a13.dispose(),this._filterButtonShapes.forEach(s=>s.dispose()),(_b=this._buttonRenderDisposable)==null||_b.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}},__name(_a7,"SheetsFilterRenderController"),_a7);SheetsFilterRenderController=__decorateClass$5([__decorateParam$5(1,core.Inject(core.Injector)),__decorateParam$5(2,core.Inject(sheetsUi.SheetSkeletonManagerService)),__decorateParam$5(3,core.Inject(sheetsFilter.SheetsFilterService)),__decorateParam$5(4,core.Inject(core.ThemeService)),__decorateParam$5(5,core.Inject(sheets.SheetInterceptorService)),__decorateParam$5(6,core.ICommandService),__decorateParam$5(7,sheetsUi.ISheetSelectionRenderService)],SheetsFilterRenderController);var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$4=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$4(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$4(target,key,result),result},"__decorateClass$4"),__decorateParam$4=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$4"),_a8;let SheetsFilterUIMobileController=(_a8=class extends core.RxDisposable{constructor(_renderManagerService,_sheetsRenderService){super(),this._renderManagerService=_renderManagerService,this._sheetsRenderService=_sheetsRenderService,[sheetsFilter.SetSheetsFilterRangeMutation,sheetsFilter.SetSheetsFilterCriteriaMutation,sheetsFilter.RemoveSheetsFilterMutation,sheetsFilter.ReCalcSheetsFilterMutation].forEach(m2=>this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(m2.id))),this.disposeWithMe(this._renderManagerService.registerRenderModule(core.UniverInstanceType.UNIVER_SHEET,[SheetsFilterRenderController]))}},__name(_a8,"SheetsFilterUIMobileController"),_a8);SheetsFilterUIMobileController=__decorateClass$4([__decorateParam$4(0,engineRender.IRenderManagerService),__decorateParam$4(1,core.Inject(sheetsUi.SheetsRenderService))],SheetsFilterUIMobileController);function SmartToggleFilterMenuItemFactory(accessor){const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService);return{id:SmartToggleSheetsFilterCommand.id,type:ui.MenuItemType.BUTTON_SELECTOR,icon:"FilterSingle",tooltip:"sheets-filter.toolbar.smart-toggle-filter-tooltip",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SHEET),activated$:sheetsFilterService.activeFilterModel$.pipe(rxjs.map(model=>!!model)),disabled$:sheetsUi.getObservableWithExclusiveRange$(accessor,sheetsUi.getCurrentRangeDisable$(accessor,{worksheetTypes:[sheets.WorksheetFilterPermission,sheets.WorksheetViewPermission],rangeTypes:[sheets.RangeProtectionPermissionViewPoint]}))}}__name(SmartToggleFilterMenuItemFactory,"SmartToggleFilterMenuItemFactory");function ClearFilterCriteriaMenuItemFactory(accessor){const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService);return{id:ClearSheetsFilterCriteriaCommand.id,type:ui.MenuItemType.BUTTON,title:"sheets-filter.toolbar.clear-filter-criteria",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SHEET),disabled$:sheetsFilterService.activeFilterModel$.pipe(rxjs.switchMap(model=>{var _a13;return(_a13=model==null?void 0:model.hasCriteria$.pipe(rxjs.map(m2=>!m2)))!=null?_a13:rxjs.of(!0)}))}}__name(ClearFilterCriteriaMenuItemFactory,"ClearFilterCriteriaMenuItemFactory");function ReCalcFilterMenuItemFactory(accessor){const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService);return{id:ReCalcSheetsFilterCommand.id,type:ui.MenuItemType.BUTTON,title:"sheets-filter.toolbar.re-calc-filter-conditions",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SHEET),disabled$:sheetsFilterService.activeFilterModel$.pipe(rxjs.switchMap(model=>{var _a13;return(_a13=model==null?void 0:model.hasCriteria$.pipe(rxjs.map(m2=>!m2)))!=null?_a13:rxjs.of(!0)}))}}__name(ReCalcFilterMenuItemFactory,"ReCalcFilterMenuItemFactory");const menuSchema={[ui.RibbonStartGroup.FORMULAS_INSERT]:{[SmartToggleSheetsFilterCommand.id]:{order:10,menuItemFactory:SmartToggleFilterMenuItemFactory,[ClearSheetsFilterCriteriaCommand.id]:{order:0,menuItemFactory:ClearFilterCriteriaMenuItemFactory},[ReCalcSheetsFilterCommand.id]:{order:1,menuItemFactory:ReCalcFilterMenuItemFactory}}}};var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$3");const FILTER_PANEL_POPUP_KEY="FILTER_PANEL_POPUP";var _a9;let SheetsFilterUIDesktopController=(_a9=class extends SheetsFilterUIMobileController{constructor(_injector,_componentManager,_sheetsFilterPanelService,_sheetCanvasPopupService,_sheetsFilterService,_localeService,_shortcutService,_commandService,_menuManagerService,_contextService,_messageService,sheetsRenderService,renderManagerService){super(renderManagerService,sheetsRenderService);__publicField(this,"_popupDisposable");this._injector=_injector,this._componentManager=_componentManager,this._sheetsFilterPanelService=_sheetsFilterPanelService,this._sheetCanvasPopupService=_sheetCanvasPopupService,this._sheetsFilterService=_sheetsFilterService,this._localeService=_localeService,this._shortcutService=_shortcutService,this._commandService=_commandService,this._menuManagerService=_menuManagerService,this._contextService=_contextService,this._messageService=_messageService,this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[SmartToggleFilterShortcut].forEach(shortcut=>{this.disposeWithMe(this._shortcutService.registerShortcut(shortcut))})}_initCommands(){[SmartToggleSheetsFilterCommand,RemoveSheetFilterCommand,SetSheetFilterRangeCommand,SetSheetsFilterCriteriaCommand,ClearSheetsFilterCriteriaCommand,ReCalcSheetsFilterCommand,ChangeFilterByOperation,OpenFilterPanelOperation,CloseFilterPanelOperation].forEach(c2=>{this.disposeWithMe(this._commandService.registerCommand(c2))})}_initMenuItems(){this._menuManagerService.mergeMenu(menuSchema)}_initUI(){this.disposeWithMe(this._componentManager.register(FILTER_PANEL_POPUP_KEY,FilterPanel)),this.disposeWithMe(this._componentManager.register("FilterSingle",FilterSingle)),this.disposeWithMe(this._contextService.subscribeContextValue$(FILTER_PANEL_OPENED_KEY).pipe(rxjs.distinctUntilChanged()).subscribe(open=>{open?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(content=>{content&&this._messageService.show({type:design.MessageType.Error,content:this._localeService.t(content)})}))}_openFilterPopup(){const currentFilterModel=this._sheetsFilterPanelService.filterModel;if(!currentFilterModel)throw new Error("[SheetsFilterUIController]: no filter model when opening filter popup!");const range=currentFilterModel.getRange(),col=this._sheetsFilterPanelService.col,{startRow}=range;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(startRow,col,{componentKey:FILTER_PANEL_POPUP_KEY,direction:"horizontal",onClickOutside:__name(()=>this._commandService.syncExecuteCommand(CloseFilterPanelOperation.id),"onClickOutside"),offset:[5,0]})}_closeFilterPopup(){var _a13;(_a13=this._popupDisposable)==null||_a13.dispose(),this._popupDisposable=null}},__name(_a9,"SheetsFilterUIDesktopController"),_a9);SheetsFilterUIDesktopController=__decorateClass$3([__decorateParam$3(0,core.Inject(core.Injector)),__decorateParam$3(1,core.Inject(ui.ComponentManager)),__decorateParam$3(2,core.Inject(SheetsFilterPanelService)),__decorateParam$3(3,core.Inject(sheetsUi.SheetCanvasPopManagerService)),__decorateParam$3(4,core.Inject(sheetsFilter.SheetsFilterService)),__decorateParam$3(5,core.Inject(core.LocaleService)),__decorateParam$3(6,ui.IShortcutService),__decorateParam$3(7,core.ICommandService),__decorateParam$3(8,ui.IMenuManagerService),__decorateParam$3(9,core.IContextService),__decorateParam$3(10,ui.IMessageService),__decorateParam$3(11,core.Inject(sheetsUi.SheetsRenderService)),__decorateParam$3(12,engineRender.IRenderManagerService)],SheetsFilterUIDesktopController);var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__defNormalProp$1=__name((obj,key,value)=>key in obj?__defProp$2(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value,"__defNormalProp$1"),__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$2"),__publicField$1=__name((obj,key,value)=>__defNormalProp$1(obj,typeof key!="symbol"?key+"":key,value),"__publicField$1");const NAME$1="SHEET_FILTER_UI_PLUGIN";var _a10;exports.UniverSheetsFilterUIPlugin=(_a10=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_configService,_rpcChannelService){super(),this._config=_config,this._injector=_injector,this._configService=_configService,this._rpcChannelService=_rpcChannelService;const{menu,...rest}=this._config;menu&&this._configService.setConfig("menu",menu,{merge:!0}),this._configService.setConfig(PLUGIN_CONFIG_KEY,rest)}onStarting(){[[SheetsFilterPanelService],[SheetsFilterPermissionController],[SheetsFilterUIDesktopController]].forEach(d2=>this._injector.add(d2)),this._config.useRemoteFilterValuesGenerator&&this._rpcChannelService&&this._injector.add([ISheetsGenerateFilterValuesService,{useFactory:__name(()=>rpc.toModule(this._rpcChannelService.requestChannel(SHEETS_GENERATE_FILTER_VALUES_SERVICE_NAME)),"useFactory")}])}onReady(){this._injector.get(SheetsFilterPermissionController)}onRendered(){this._injector.get(SheetsFilterUIDesktopController)}},__name(_a10,"UniverSheetsFilterUIPlugin"),_a10);__publicField$1(exports.UniverSheetsFilterUIPlugin,"type",core.UniverInstanceType.UNIVER_SHEET);__publicField$1(exports.UniverSheetsFilterUIPlugin,"pluginName",NAME$1);exports.UniverSheetsFilterUIPlugin=__decorateClass$2([core.DependentOn(sheetsFilter.UniverSheetsFilterPlugin),__decorateParam$2(1,core.Inject(core.Injector)),__decorateParam$2(2,core.IConfigService),__decorateParam$2(3,core.Optional(rpc.IRPCChannelService))],exports.UniverSheetsFilterUIPlugin);var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__defNormalProp2=__name((obj,key,value)=>key in obj?__defProp$1(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value,"__defNormalProp"),__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$1"),__publicField2=__name((obj,key,value)=>__defNormalProp2(obj,typeof key!="symbol"?key+"":key,value),"__publicField");const NAME="SHEET_FILTER_UI_PLUGIN";var _a11;exports.UniverSheetsFilterMobileUIPlugin=(_a11=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_configService){super(),this._config=_config,this._injector=_injector,this._configService=_configService;const{menu,...rest}=this._config;menu&&this._configService.setConfig("menu",menu,{merge:!0}),this._configService.setConfig(PLUGIN_CONFIG_KEY,rest)}onStarting(){[[SheetsFilterPermissionController],[SheetsFilterUIMobileController]].forEach(d2=>this._injector.add(d2))}onReady(){this._injector.get(SheetsFilterPermissionController)}onRendered(){this._injector.get(SheetsFilterUIMobileController)}},__name(_a11,"UniverSheetsFilterMobileUIPlugin"),_a11);__publicField2(exports.UniverSheetsFilterMobileUIPlugin,"type",core.UniverInstanceType.UNIVER_SHEET);__publicField2(exports.UniverSheetsFilterMobileUIPlugin,"pluginName",NAME);exports.UniverSheetsFilterMobileUIPlugin=__decorateClass$1([core.DependentOn(sheetsFilter.UniverSheetsFilterPlugin),__decorateParam$1(1,core.Inject(core.Injector)),__decorateParam$1(2,core.IConfigService)],exports.UniverSheetsFilterMobileUIPlugin);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam"),_a12;exports.UniverSheetsFilterUIWorkerPlugin=(_a12=class extends core.Plugin{constructor(_config,_injector,_rpcChannelService){super(),this._config=_config,this._injector=_injector,this._rpcChannelService=_rpcChannelService}onStarting(){[[ISheetsGenerateFilterValuesService,{useClass:SheetsGenerateFilterValuesService}]].forEach(d2=>this._injector.add(d2))}onReady(){this._rpcChannelService.registerChannel(SHEETS_GENERATE_FILTER_VALUES_SERVICE_NAME,rpc.fromModule(this._injector.get(ISheetsGenerateFilterValuesService)))}},__name(_a12,"UniverSheetsFilterUIWorkerPlugin"),__publicField(_a12,"type",core.UniverInstanceType.UNIVER_SHEET),__publicField(_a12,"pluginName","SHEET_FILTER_UI_WORKER_PLUGIN"),_a12);exports.UniverSheetsFilterUIWorkerPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,rpc.IRPCChannelService)],exports.UniverSheetsFilterUIWorkerPlugin);exports.ChangeFilterByOperation=ChangeFilterByOperation;exports.ClearSheetsFilterCriteriaCommand=ClearSheetsFilterCriteriaCommand;exports.CloseFilterPanelOperation=CloseFilterPanelOperation;exports.OpenFilterPanelOperation=OpenFilterPanelOperation;exports.ReCalcSheetsFilterCommand=ReCalcSheetsFilterCommand;exports.RemoveSheetFilterCommand=RemoveSheetFilterCommand;exports.SetSheetFilterRangeCommand=SetSheetFilterRangeCommand;exports.SetSheetsFilterCriteriaCommand=SetSheetsFilterCriteriaCommand;exports.SmartToggleSheetsFilterCommand=SmartToggleSheetsFilterCommand;