@univerjs/sheets-filter-ui 0.1.15 → 0.1.17

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/index.css CHANGED
@@ -1 +1 @@
1
- .univer-sheets-filter-panel{display:flex;width:312px;height:400px;flex-direction:column;background:rgb(var(--bg-color-secondary));border-radius:10px;box-sizing:border-box;box-shadow:var(--box-shadow-lg);padding:16px;overflow:hidden}.univer-sheets-filter-panel-header{flex-grow:0;flex-shrink:0;margin-bottom:4px}.univer-sheets-filter-panel-content{flex-grow:1;flex-shrink:1;overflow:hidden;padding-top:8px}.univer-sheets-filter-panel-select-all{font-size:13px;margin-right:4px}.univer-sheets-filter-panel-select-all-count{font-size:13px;color:rgb(var(--grey-400))}.univer-sheets-filter-panel-values-container{display:flex;height:100%;flex-direction:column}.univer-sheets-filter-panel-values-container>.univer-input-affix-wrapper{flex:0 0 32px}.univer-sheets-filter-panel-values-container .univer-select,.univer-sheets-filter-panel-values-container .univer-input-affix-wrapper,.univer-sheets-filter-panel-values-container .univer-radio-group{width:100%}.univer-sheets-filter-panel-values-find{height:32px;margin-bottom:8px}.univer-sheets-filter-panel-values-list{flex-grow:1;margin-top:8px;border:1px solid rgb(var(--grey-200));box-sizing:border-box;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;padding:6px 0 6px 8px}.univer-sheets-filter-panel-values-list-inner-container{padding-right:8px}.univer-sheets-filter-panel-values-virtual{flex-grow:1}.univer-sheets-filter-panel-values-item{box-sizing:border-box;height:32px;padding:2px 0;width:100%}.univer-sheets-filter-panel-values-item-inner{align-items:center;padding:0 2px 0 24px;line-height:28px;box-sizing:border-box;border-radius:6px;height:28px;display:flex;font-size:13px}.univer-sheets-filter-panel-values-item-inner:hover{background-color:rgb(var(--grey-50))}.univer-sheets-filter-panel-values-item-inner:hover .univer-sheets-filter-panel-values-item-count{margin-right:2px}.univer-sheets-filter-panel-values-item-inner:hover .univer-sheets-filter-panel-values-item-exclude-button{box-sizing:border-box;margin-left:auto;display:inline-block;height:24px;font-size:12px;line-height:12px}.univer-sheets-filter-panel-values-item-inner:hover .univer-sheets-filter-panel-values-item-exclude-button:hover{background-color:rgb(var(--hyacinth-50))}.univer-sheets-filter-panel-values-item-inner:hover .univer-sheets-filter-panel-values-item-exclude-button:active{background-color:rgb(var(--hyacinth-100))}.univer-sheets-filter-panel-values-item-text{display:inline-block;height:100%;margin:0 4px;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.univer-sheets-filter-panel-values-item-count{color:rgb(var(--grey-400))}.univer-sheets-filter-panel-values-item-exclude-button{display:none}.univer-sheets-filter-panel-conditions-container{display:flex;flex-direction:column;height:100%}.univer-sheets-filter-panel-conditions-container .univer-select,.univer-sheets-filter-panel-conditions-container .univer-input-affix-wrapper,.univer-sheets-filter-panel-conditions-container .univer-radio-group{width:100%;margin-bottom:8px}.univer-sheets-filter-panel-conditions-container-inner{flex-grow:1;border-radius:6px;border:1px solid rgb(var(--grey-200));overflow:hidden;padding:8px}.univer-sheets-filter-panel-conditions-desc{margin-top:-6px;color:rgb(var(--grey-500));font-size:12px;line-height:18px}.univer-sheets-filter-panel-footer{margin-top:16px;flex-grow:0;flex-shrink:0;display:inline-flex;flex-wrap:nowrap;overflow:hidden;justify-content:space-between}.univer-sheets-filter-panel-footer-primary-buttons>.univer-button{margin-left:12px}.univer-sheets-filter-panel .univer-select,.univer-sheets-filter-panel .univer-input{width:100%}.univer-sheets-filter-panel .univer-form-dual-column-layout{margin-bottom:8px}
1
+ .univer-sheets-filter-panel{display:flex;height:432px;flex-direction:column;background:rgb(var(--bg-color-secondary));border-radius:10px;box-sizing:border-box;box-shadow:var(--box-shadow-lg);padding:16px;overflow:hidden}.univer-sheets-filter-panel-header{flex-grow:0;flex-shrink:0;margin-bottom:4px}.univer-sheets-filter-panel-content{flex-grow:1;flex-shrink:1;overflow:hidden;padding-top:8px}.univer-sheets-filter-panel-select-all{font-size:13px;margin-right:4px}.univer-sheets-filter-panel-select-all-count{font-size:13px;color:rgb(var(--grey-400))}.univer-sheets-filter-panel-values-container{display:flex;height:100%;flex-direction:column}.univer-sheets-filter-panel-values-container>.univer-input-affix-wrapper{flex:0 0 32px}.univer-sheets-filter-panel-values-container .univer-select,.univer-sheets-filter-panel-values-container .univer-input-affix-wrapper,.univer-sheets-filter-panel-values-container .univer-radio-group{width:100%}.univer-sheets-filter-panel-values-find{height:32px;margin-bottom:8px}.univer-sheets-filter-panel-values-list{flex-grow:1;margin-top:8px;border:1px solid rgb(var(--grey-200));box-sizing:border-box;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;padding:6px 0 6px 8px}.univer-sheets-filter-panel-values-list-inner-container{padding-right:8px}.univer-sheets-filter-panel-values-virtual{flex-grow:1}.univer-sheets-filter-panel-values-item{box-sizing:border-box;height:32px;padding:2px 0;width:100%}.univer-sheets-filter-panel-values-item-inner{align-items:center;padding:0 2px 0 24px;line-height:28px;box-sizing:border-box;border-radius:6px;height:28px;display:flex;font-size:13px}.univer-sheets-filter-panel-values-item-inner:hover{background-color:rgb(var(--grey-50))}.univer-sheets-filter-panel-values-item-inner:hover .univer-sheets-filter-panel-values-item-count{margin-right:2px}.univer-sheets-filter-panel-values-item-inner:hover .univer-sheets-filter-panel-values-item-exclude-button{box-sizing:border-box;margin-left:auto;display:inline-block;height:24px;font-size:12px;line-height:12px}.univer-sheets-filter-panel-values-item-inner:hover .univer-sheets-filter-panel-values-item-exclude-button:hover{background-color:rgb(var(--hyacinth-50))}.univer-sheets-filter-panel-values-item-inner:hover .univer-sheets-filter-panel-values-item-exclude-button:active{background-color:rgb(var(--hyacinth-100))}.univer-sheets-filter-panel-values-item-text{display:inline-block;height:100%;margin:0 4px;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.univer-sheets-filter-panel-values-item-count{color:rgb(var(--grey-400))}.univer-sheets-filter-panel-values-item-exclude-button{display:none}.univer-sheets-filter-panel-conditions-container{display:flex;flex-direction:column;height:100%}.univer-sheets-filter-panel-conditions-container .univer-select,.univer-sheets-filter-panel-conditions-container .univer-input-affix-wrapper,.univer-sheets-filter-panel-conditions-container .univer-radio-group{width:100%;margin-bottom:8px}.univer-sheets-filter-panel-conditions-container-inner{flex-grow:1;border-radius:6px;border:1px solid rgb(var(--grey-200));overflow:hidden;padding:8px}.univer-sheets-filter-panel-conditions-desc{margin-top:-6px;color:rgb(var(--grey-500));font-size:12px;line-height:18px}.univer-sheets-filter-panel-footer{margin-top:16px;flex-grow:0;flex-shrink:0;display:inline-flex;flex-wrap:nowrap;overflow:hidden;justify-content:space-between}.univer-sheets-filter-panel-footer-primary-buttons{display:flex}.univer-sheets-filter-panel-footer-primary-buttons>.univer-button{margin-left:12px}.univer-sheets-filter-panel .univer-select,.univer-sheets-filter-panel .univer-input{width:100%}.univer-sheets-filter-panel .univer-form-dual-column-layout{margin-bottom:8px}
@@ -0,0 +1,8 @@
1
+ import { RxDisposable } from '@univerjs/core';
2
+ import { IRenderManagerService } from '@univerjs/engine-render';
3
+
4
+ export declare class SheetsFilterMobileUIController extends RxDisposable {
5
+ private readonly _renderManagerService;
6
+ constructor(_renderManagerService: IRenderManagerService);
7
+ private _initRenderControllers;
8
+ }
@@ -1,10 +1,11 @@
1
- import { ICommandService, IContextService, LocaleService, RxDisposable } from '@univerjs/core';
1
+ import { ICommandService, IContextService, LocaleService } from '@univerjs/core';
2
2
  import { ComponentManager, IMenuService, IMessageService, IShortcutService, MenuConfig } from '@univerjs/ui';
3
3
  import { Injector } from '@wendellhu/redi';
4
4
  import { SheetCanvasPopManagerService } from '@univerjs/sheets-ui';
5
5
  import { IRenderManagerService } from '@univerjs/engine-render';
6
6
  import { SheetsFilterService } from '@univerjs/sheets-filter';
7
7
  import { SheetsFilterPanelService } from '../services/sheets-filter-panel.service';
8
+ import { SheetsFilterMobileUIController } from './sheets-filter-mobile-ui.controller';
8
9
 
9
10
  export interface IUniverSheetsFilterUIConfig {
10
11
  menu: MenuConfig;
@@ -14,7 +15,7 @@ export declare const FILTER_PANEL_POPUP_KEY = "FILTER_PANEL_POPUP";
14
15
  /**
15
16
  * This controller controls the UI of "filter" features. Menus, commands and filter panel etc. Except for the rendering.
16
17
  */
17
- export declare class SheetsFilterUIController extends RxDisposable {
18
+ export declare class SheetsFilterUIController extends SheetsFilterMobileUIController {
18
19
  private readonly _config;
19
20
  private readonly _injector;
20
21
  private readonly _componentManager;
@@ -22,19 +23,17 @@ export declare class SheetsFilterUIController extends RxDisposable {
22
23
  private _sheetCanvasPopupService;
23
24
  private _sheetsFilterService;
24
25
  private _localeService;
25
- private readonly _renderManagerService;
26
26
  private readonly _shortcutService;
27
27
  private readonly _commandService;
28
28
  private readonly _menuService;
29
29
  private readonly _contextService;
30
30
  private readonly _messageService;
31
- constructor(_config: Partial<IUniverSheetsFilterUIConfig>, _injector: Injector, _componentManager: ComponentManager, _sheetsFilterPanelService: SheetsFilterPanelService, _sheetCanvasPopupService: SheetCanvasPopManagerService, _sheetsFilterService: SheetsFilterService, _localeService: LocaleService, _renderManagerService: IRenderManagerService, _shortcutService: IShortcutService, _commandService: ICommandService, _menuService: IMenuService, _contextService: IContextService, _messageService: IMessageService);
31
+ constructor(_config: Partial<IUniverSheetsFilterUIConfig>, _injector: Injector, _componentManager: ComponentManager, _sheetsFilterPanelService: SheetsFilterPanelService, _sheetCanvasPopupService: SheetCanvasPopManagerService, _sheetsFilterService: SheetsFilterService, _localeService: LocaleService, _shortcutService: IShortcutService, _commandService: ICommandService, _menuService: IMenuService, _contextService: IContextService, _messageService: IMessageService, _renderManagerService: IRenderManagerService);
32
32
  dispose(): void;
33
33
  private _initShortcuts;
34
34
  private _initCommands;
35
35
  private _initMenuItems;
36
36
  private _initUI;
37
- private _initRenderControllers;
38
37
  private _popupDisposable?;
39
38
  private _openFilterPopup;
40
39
  private _closeFilterPopup;
@@ -14,9 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  export { UniverSheetsFilterUIPlugin } from './plugin';
17
- export * as zhCN from './locale/zh-CN';
18
- export * as enUS from './locale/en-US';
19
- export * as ruRU from './locale/ru-RU';
17
+ export { UniverSheetsFilterMobileUIPlugin } from './mobile-plugin';
20
18
  export { OpenFilterPanelOperation } from './commands/sheets-filter.operation';
21
19
  export type { IOpenFilterPanelOperationParams } from './commands/sheets-filter.operation';
22
20
  export { SmartToggleSheetsFilterCommand } from './commands/sheets-filter.command';
@@ -0,0 +1,12 @@
1
+ import { Plugin, UniverInstanceType } from '@univerjs/core';
2
+ import { Injector } from '@wendellhu/redi';
3
+ import { IUniverSheetsFilterUIConfig } from './controllers/sheets-filter-ui.controller';
4
+
5
+ export declare class UniverSheetsFilterMobileUIPlugin extends Plugin {
6
+ private readonly _config;
7
+ protected readonly _injector: Injector;
8
+ static type: UniverInstanceType;
9
+ static pluginName: string;
10
+ constructor(_config: Partial<IUniverSheetsFilterUIConfig>, _injector: Injector);
11
+ onStarting(injector: Injector): void;
12
+ }
package/lib/umd/index.js CHANGED
@@ -1,9 +1,9 @@
1
- (function(w,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("@univerjs/sheets-filter"),require("@univerjs/ui"),require("rxjs"),require("@univerjs/sheets-ui"),require("@univerjs/engine-render"),require("@univerjs/design"),require("@univerjs/sheets"),require("react"),require("@wendellhu/redi/react-bindings"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","@univerjs/sheets-filter","@univerjs/ui","rxjs","@univerjs/sheets-ui","@univerjs/engine-render","@univerjs/design","@univerjs/sheets","react","@wendellhu/redi/react-bindings","react-dom"],m):(w=typeof globalThis<"u"?globalThis:w||self,m(w.UniverSheetsFilterUi={},w.UniverCore,w["@wendellhu/redi"],w.UniverSheetsFilter,w.UniverUi,w.rxjs,w.UniverSheetsUi,w.UniverEngineRender,w.UniverDesign,w.UniverSheets,w.React,w["@wendellhu/redi/react-bindings"],w.ReactDOM))})(this,function(w,m,M,c,$,I,he,He,G,q,h,Be,Je){"use strict";var To=Object.defineProperty;var Fo=(w,m,M)=>m in w?To(w,m,{enumerable:!0,configurable:!0,writable:!0,value:M}):w[m]=M;var A=(w,m,M)=>(Fo(w,typeof m!="symbol"?m+"":m,M),M);function on(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const v=on(h);var oe=function(){return oe=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},oe.apply(this,arguments)},an=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r},Jt=h.forwardRef(function(e,t){var r=e.icon,n=e.id,o=e.className,s=e.extend,i=an(e,["icon","id","className","extend"]),a="univerjs-icon univerjs-icon-".concat(n," ").concat(o||"").trim(),l=h.useRef("_".concat(un()));return er(r,"".concat(n),{defIds:r.defIds,idSuffix:l.current},oe({ref:t,className:a},i),s)});function er(e,t,r,n,o){return h.createElement(e.tag,oe(oe({key:t},sn(e,r,o)),n),(ln(e,r).children||[]).map(function(s,i){return er(s,"".concat(t,"-").concat(e.tag,"-").concat(i),r,void 0,o)}))}function sn(e,t,r){var n=oe({},e.attrs);r!=null&&r.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=r.colorChannel1);var o=t.defIds;return!o||o.length===0||(e.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+t.idSuffix),Object.entries(n).forEach(function(s){var i=s[0],a=s[1];typeof a=="string"&&(n[i]=a.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))})),n}function ln(e,t){var r,n=t.defIds;return!n||n.length===0?e:e.tag==="defs"&&(!((r=e.children)===null||r===void 0)&&r.length)?oe(oe({},e),{children:e.children.map(function(o){return typeof o.attrs.id=="string"&&n&&n.indexOf(o.attrs.id)>-1?oe(oe({},o),{attrs:oe(oe({},o.attrs),{id:o.attrs.id+t.idSuffix})}):o})}):e}function un(){return Math.random().toString(36).substring(2,8)}Jt.displayName="UniverIcon";var cn={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"}}]},tr=h.forwardRef(function(e,t){return h.createElement(Jt,Object.assign({},e,{id:"filter-single",ref:t,icon:cn}))});tr.displayName="FilterSingle";const Te={id:"sheet.command.smart-toggle-filter",type:m.CommandType.COMMAND,handler:async e=>{const t=e.get(m.IUniverInstanceService),r=e.get(c.SheetsFilterService),n=e.get(m.ICommandService),o=e.get(m.IUndoRedoService),s=t.getCurrentUnitForType(m.UniverInstanceType.UNIVER_SHEET),i=s==null?void 0:s.getActiveSheet();if(!i||!s)return!1;const a=s.getUnitId(),l=i.getSheetId(),u=r.getFilterModel(a,l);if(u){const S=u==null?void 0:u.serialize(),C=fn(a,l,S),b=n.syncExecuteCommand(c.RemoveSheetsFilterMutation.id,{unitId:a,subUnitId:l});return b&&o.pushUndoRedo({unitID:a,undoMutations:C,redoMutations:[{id:c.RemoveSheetsFilterMutation.id,params:{unitId:a,subUnitId:l}}]}),b}const p=e.get(q.SelectionManagerService).getLast();if(!p)return!1;const g=p.range,d=q.isSingleCellSelection(p)?he.expandToContinuousRange(g,{left:!0,right:!0,up:!0,down:!0},i):g;if(d.endRow===d.startRow){const S=e.get($.IMessageService,M.Quantity.OPTIONAL),C=e.get(m.LocaleService);return S==null||S.show({type:G.MessageType.Warning,content:C.t("sheets-filter.command.not-valid-filter-range")}),!1}const E={id:c.SetSheetsFilterRangeMutation.id,params:{unitId:a,subUnitId:l,range:d}},_=n.syncExecuteCommand(E.id,E.params);return _&&o.pushUndoRedo({unitID:a,undoMutations:[{id:c.RemoveSheetsFilterMutation.id,params:{unitId:a,subUnitId:l}}],redoMutations:[E]}),_}},Ie={id:"sheet.command.set-filter-criteria",type:m.CommandType.COMMAND,handler:async(e,t)=>{const r=e.get(c.SheetsFilterService),n=e.get(m.ICommandService),o=e.get(m.IUndoRedoService),{unitId:s,subUnitId:i,col:a,criteria:l}=t,u=r.getFilterModel(s,i);if(!u)return!1;const f=u.getRange();if(!f||a<f.startColumn||a>f.endColumn)return!1;const p=u.getFilterColumn(a),g=dn(s,i,a,p),d={id:c.SetSheetsFilterCriteriaMutation.id,params:{unitId:s,subUnitId:i,col:a,criteria:l}},E=n.syncExecuteCommand(d.id,d.params);return E&&o.pushUndoRedo({unitID:s,undoMutations:[g],redoMutations:[d]}),E}},rr={id:"sheet.command.clear-filter-criteria",type:m.CommandType.COMMAND,handler:e=>{const t=e.get(c.SheetsFilterService),r=e.get(m.IUndoRedoService),n=e.get(m.ICommandService),o=t.activeFilterModel;if(!o)return!1;const{unitId:s,subUnitId:i}=o,a=o.serialize(),l=ir(s,i,a),u=hn(s,i,a);return m.sequenceExecute(u,n)&&r.pushUndoRedo({unitID:s,undoMutations:l,redoMutations:u}),!0}},nr={id:"sheet.command.re-calc-filter",type:m.CommandType.COMMAND,handler:e=>{const t=e.get(c.SheetsFilterService),r=e.get(m.ICommandService),n=t.activeFilterModel;if(!n)return!1;const{unitId:o,subUnitId:s}=n;return r.executeCommand(c.ReCalcSheetsFilterMutation.id,{unitId:o,subUnitId:s})}};function fn(e,t,r){const n=[],o={id:c.SetSheetsFilterRangeMutation.id,params:{unitId:e,subUnitId:t,range:r.ref}};return n.push(o),ir(e,t,r).forEach(i=>n.push(i)),n}function ir(e,t,r){var o;const n=[];return(o=r.filterColumns)==null||o.forEach(s=>{const i={id:c.SetSheetsFilterCriteriaMutation.id,params:{unitId:e,subUnitId:t,col:s.colId,criteria:s}};n.push(i)}),n}function hn(e,t,r){var o;const n=[];return(o=r.filterColumns)==null||o.forEach(s=>{const i={id:c.SetSheetsFilterCriteriaMutation.id,params:{unitId:e,subUnitId:t,col:s.colId,criteria:null}};n.push(i)}),n}function dn(e,t,r,n){if(!n)return{id:c.SetSheetsFilterCriteriaMutation.id,params:{unitId:e,subUnitId:t,col:r,criteria:null}};const o=n.serialize();return{id:c.SetSheetsFilterCriteriaMutation.id,params:{unitId:e,subUnitId:t,col:r,criteria:o}}}var V=(e=>(e[e.FIRST=0]="FIRST",e[e.SECOND=1]="SECOND",e))(V||{}),N=(e=>(e.NONE="none",e.STARTS_WITH="startsWith",e.DOES_NOT_START_WITH="doesNotStartWith",e.ENDS_WITH="endsWith",e.DOES_NOT_END_WITH="doesNotEndWith",e.CONTAINS="contains",e.DOES_NOT_CONTAIN="doesNotContain",e.EQUALS="equals",e.NOT_EQUALS="notEquals",e.EMPTY="empty",e.NOT_EMPTY="notEmpty",e.BETWEEN="between",e.NOT_BETWEEN="notBetween",e.CUSTOM="custom",e))(N||{}),T;(e=>{e.NONE={label:"sheets-filter.conditions.none",operator:N.NONE,order:V.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NONE]: should not have initial form params!")},testMappingParams:i=>i.operator1===N.NONE,mapToFilterColumn:()=>null,testMappingFilterColumn:i=>!i.customFilters&&!i.filters?{}:!1},e.EMPTY={label:"sheets-filter.conditions.empty",operator:N.EMPTY,order:V.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===N.EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:""}]}}),testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==1)return!1;const a=i.customFilters.customFilters[0];return a.val===""&&a.operator===void 0?{operator1:N.EMPTY}:!1}},e.NOT_EMPTY={label:"sheets-filter.conditions.not-empty",operator:N.NOT_EMPTY,order:V.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NOT_EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===N.NOT_EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:" ",operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==1)return!1;const a=i.customFilters.customFilters[0];return a.val===" "&&a.operator===c.CustomFilterOperator.NOT_EQUALS?{operator1:N.NOT_EMPTY}:!1}},e.TEXT_CONTAINS={label:"sheets-filter.conditions.text-contains",operator:N.CONTAINS,order:V.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:N.CONTAINS,val1:""}),testMappingParams:i=>{const[a]=de(i);return a===N.CONTAINS},mapToFilterColumn:i=>{const{val1:a}=i;return a===""?null:{customFilters:{customFilters:[{val:`*${a}*`}]}}},testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==1)return!1;const a=i.customFilters.customFilters[0],l=a.val.toString();return!a.operator&&l.startsWith("*")&&l.endsWith("*")?{operator1:N.CONTAINS,val1:l.slice(1,-1)}:!1}},e.DOES_NOT_CONTAIN={label:"sheets-filter.conditions.does-not-contain",operator:N.DOES_NOT_CONTAIN,order:V.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:N.DOES_NOT_CONTAIN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}*`,operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingParams:i=>{const[a]=de(i);return a===N.DOES_NOT_CONTAIN},testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==1)return!1;const a=i.customFilters.customFilters[0],l=a.val.toString();return a.operator===c.CustomFilterOperator.NOT_EQUALS&&l.startsWith("*")&&l.endsWith("*")?{operator1:N.DOES_NOT_CONTAIN,val1:l.slice(1,-1)}:!1}},e.STARTS_WITH={label:"sheets-filter.conditions.starts-with",operator:N.STARTS_WITH,order:V.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:N.STARTS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`${i.val1}*`}]}}),testMappingParams:i=>{const[a]=de(i);return a===N.STARTS_WITH},testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==1)return!1;const a=i.customFilters.customFilters[0],l=a.val.toString();return!a.operator&&l.endsWith("*")&&!l.startsWith("*")?{operator1:N.STARTS_WITH,val1:l.slice(0,-1)}:!1}},e.ENDS_WITH={label:"sheets-filter.conditions.ends-with",operator:N.ENDS_WITH,order:V.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:N.ENDS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}`}]}}),testMappingParams:i=>{const[a]=de(i);return a===N.ENDS_WITH},testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==1)return!1;const a=i.customFilters.customFilters[0],l=a.val.toString();return!a.operator&&l.startsWith("*")&&!l.endsWith("*")?{operator1:N.ENDS_WITH,val1:l.slice(1)}:!1}},e.EQUALS={label:"sheets-filter.conditions.equals",operator:N.EQUALS,order:V.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:N.EQUALS,val1:""}),testMappingParams:i=>{const[a]=de(i);return a===N.EQUALS},mapToFilterColumn:i=>{const{val1:a}=i;return a===""?null:{customFilters:{customFilters:[{val:a}]}}},testMappingFilterColumn:i=>{var a,l,u;return((l=(a=i.filters)==null?void 0:a.filters)==null?void 0:l.length)===1?{operator1:N.EQUALS,val1:""}:((u=i.customFilters)==null?void 0:u.customFilters.length)===1&&!i.customFilters.customFilters[0].operator?{operator1:N.EQUALS,val1:i.customFilters.customFilters[0].val.toString()}:!1}},e.GREATER_THAN={label:"sheets-filter.conditions.greater-than",operator:c.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:V.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.GREATER_THAN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.GREATER_THAN}]}}),testMappingParams:i=>{const[a]=de(i);return a===c.CustomFilterOperator.GREATER_THAN},testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const a=i.customFilters.customFilters[0];return a.operator!==c.CustomFilterOperator.GREATER_THAN?!1:{operator1:c.CustomFilterOperator.GREATER_THAN,val1:a.val.toString()}}},e.GREATER_THAN_OR_EQUAL={label:"sheets-filter.conditions.greater-than-or-equal",operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,numOfParameters:1,order:V.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[a]=de(i);return a===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const a=i.customFilters.customFilters[0];return a.operator!==c.CustomFilterOperator.GREATER_THAN_OR_EQUAL?!1:{operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:a.val.toString()}}},e.LESS_THAN={label:"sheets-filter.conditions.less-than",operator:c.CustomFilterOperator.LESS_THAN,numOfParameters:1,order:V.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN,val1:""}),testMappingParams:i=>{const[a]=de(i);return a===c.CustomFilterOperator.LESS_THAN},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.LESS_THAN}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const a=i.customFilters.customFilters[0];return a.operator!==c.CustomFilterOperator.LESS_THAN?!1:{operator1:c.CustomFilterOperator.LESS_THAN,val1:a.val.toString()}}},e.LESS_THAN_OR_EQUAL={label:"sheets-filter.conditions.less-than-or-equal",operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,numOfParameters:1,order:V.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[a]=de(i);return a===c.CustomFilterOperator.LESS_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const a=i.customFilters.customFilters[0];return a.operator!==c.CustomFilterOperator.LESS_THAN_OR_EQUAL?!1:{operator1:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:a.val.toString()}}},e.EQUAL={label:"sheets-filter.conditions.equal",operator:c.CustomFilterOperator.EQUAL,numOfParameters:1,order:V.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.EQUAL,val1:""}),testMappingParams:i=>{const[a]=de(i);return a===c.CustomFilterOperator.EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const a=i.customFilters.customFilters[0];return a.operator!==c.CustomFilterOperator.EQUAL?!1:{operator1:c.CustomFilterOperator.EQUAL,val1:a.val.toString()}}},e.NOT_EQUAL={label:"sheets-filter.conditions.not-equal",operator:c.CustomFilterOperator.NOT_EQUALS,numOfParameters:1,order:V.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.NOT_EQUALS,val1:""}),testMappingParams:i=>{const[a]=de(i);return a===c.CustomFilterOperator.NOT_EQUALS},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const a=i.customFilters.customFilters[0];return a.operator!==c.CustomFilterOperator.NOT_EQUALS?!1:{operator1:c.CustomFilterOperator.NOT_EQUALS,val1:a.val.toString()}}},e.BETWEEN={label:"sheets-filter.conditions.between",operator:N.BETWEEN,order:V.SECOND,numOfParameters:2,getDefaultFormParams:()=>({and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:"",operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:""}),testMappingParams:i=>{const{and:a,operator1:l,operator2:u}=i;if(!a)return!1;const f=[l,u];return f.includes(c.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&f.includes(c.CustomFilterOperator.LESS_THAN_OR_EQUAL)},mapToFilterColumn:i=>{const{val1:a,val2:l,operator1:u}=i,f=u===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:m.BooleanNumber.TRUE,customFilters:[{val:f?a:l,operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:f?l:a,operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==2)return!1;const[a,l]=i.customFilters.customFilters;return a.operator===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&l.operator===c.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:a.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:l.val.toString()}:l.operator===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&a.operator===c.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:l.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:a.val.toLocaleString()}:!1}},e.NOT_BETWEEN={label:"sheets-filter.conditions.not-between",operator:N.NOT_BETWEEN,order:V.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN,val1:"",operator2:c.CustomFilterOperator.GREATER_THAN,val2:""}),testMappingParams:i=>{const{and:a,operator1:l,operator2:u}=i;if(a)return!1;const f=[l,u];return f.includes(c.CustomFilterOperator.GREATER_THAN)&&f.includes(c.CustomFilterOperator.LESS_THAN)},mapToFilterColumn:i=>{const{val1:a,val2:l,operator1:u}=i,f=u===c.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:f?a:l,operator:c.CustomFilterOperator.GREATER_THAN},{val:f?l:a,operator:c.CustomFilterOperator.LESS_THAN}]}}},testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==2)return!1;const[a,l]=i.customFilters.customFilters;return a.operator===c.CustomFilterOperator.LESS_THAN&&l.operator===c.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:c.CustomFilterOperator.LESS_THAN,val1:a.val.toString(),operator2:c.CustomFilterOperator.GREATER_THAN,val2:l.val.toString()}:l.operator===c.CustomFilterOperator.LESS_THAN&&a.operator===c.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:c.CustomFilterOperator.GREATER_THAN,val1:l.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN,val2:a.val.toLocaleString()}:!1}},e.CUSTOM={label:"sheets-filter.conditions.custom",operator:N.CUSTOM,order:V.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:N.NONE,val1:"",operator2:N.NONE,val2:""}),testMappingParams:()=>!0,mapToFilterColumn:i=>{const{and:a,val1:l,val2:u,operator1:f,operator2:p}=i;function g(b,P){for(const R of e.ALL_CONDITIONS)if(R.operator===b)return R.mapToFilterColumn({val1:P,operator1:b})}const d=!f||f===e.NONE.operator,E=!p||p===e.NONE.operator;if(d&&E)return e.NONE.mapToFilterColumn({});if(d)return g(p,u);if(E)return g(f,l);const _=g(f,l),S=g(p,u),C={customFilters:[_.customFilters.customFilters[0],S.customFilters.customFilters[0]]};return a&&(C.and=m.BooleanNumber.TRUE),{customFilters:C}},testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==2)return!1;const a=i.customFilters.customFilters.map(f=>s({customFilters:{customFilters:[f]}})),l={operator1:a[0][0].operator,val1:a[0][1].val1,operator2:a[1][0].operator,val2:a[1][1].val1};return i.customFilters.and&&(l.and=!0),l}},e.ALL_CONDITIONS=[e.NONE,e.EMPTY,e.NOT_EMPTY,e.TEXT_CONTAINS,e.DOES_NOT_CONTAIN,e.STARTS_WITH,e.ENDS_WITH,e.EQUALS,e.GREATER_THAN,e.GREATER_THAN_OR_EQUAL,e.LESS_THAN,e.LESS_THAN_OR_EQUAL,e.EQUAL,e.NOT_EQUAL,e.BETWEEN,e.NOT_BETWEEN,e.CUSTOM];function t(i){const a=e.ALL_CONDITIONS.find(l=>l.operator===i);if(!a)throw new Error(`[SheetsFilter]: no condition item found for operator: ${i}`);return a}e.getItemByOperator=t;function r(i,a){for(const l of e.ALL_CONDITIONS.filter(u=>u.numOfParameters===a))if(l.numOfParameters!==0&&l.testMappingParams(i))return l;for(const l of e.ALL_CONDITIONS)if(l.testMappingParams(i))return l;throw new Error("[SheetsFilter]: no condition item can be mapped from the filter map params!")}e.testMappingParams=r;function n(i){const a=e.ALL_CONDITIONS.find(l=>l.operator===i);return(a==null?void 0:a.numOfParameters)===0?{operator1:a.operator}:a.getDefaultFormParams()}e.getInitialFormParams=n;function o(i,a){return i.mapToFilterColumn(a)}e.mapToFilterColumn=o;function s(i){if(!i)return[e.NONE,{}];for(const a of e.ALL_CONDITIONS){const l=a.testMappingFilterColumn(i);if(l)return[a,l]}return[e.NONE,{}]}e.testMappingFilterColumn=s})(T||(T={}));function de(e){const{operator1:t,operator2:r,val1:n,val2:o}=e;if(t&&r)throw new Error("Both operator1 and operator2 are set!");if(!t&&!r)throw new Error("Neither operator1 and operator2 and both not set!");return t?[t,n]:[r,o]}function wt(e){const t=[],r=[];for(const n of e)n.checked?t.push(n):r.push(n);return{checkedItems:t,uncheckedItems:r,checked:t.length,unchecked:r.length}}var mn=Object.defineProperty,pn=Object.getOwnPropertyDescriptor,At=(e,t,r,n)=>{for(var o=n>1?void 0:n?pn(t,r):t,s=e.length-1,i;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&mn(t,r,o),o},Ne=(e,t)=>(r,n)=>t(r,n,e),et=(e=>(e[e.VALUES=0]="VALUES",e[e.CONDITIONS=1]="CONDITIONS",e))(et||{});M.createIdentifier("sheets-filter-ui.sheets-filter-panel.service");let Ee=class extends m.Disposable{constructor(t,r,n,o){super();A(this,"_filterBy$",new I.BehaviorSubject(0));A(this,"filterBy$",this._filterBy$.asObservable());A(this,"_filterByModel$",new I.ReplaySubject(1));A(this,"filterByModel$",this._filterByModel$.asObservable());A(this,"_filterByModel",null);A(this,"_hasCriteria$",new I.BehaviorSubject(!1));A(this,"hasCriteria$",this._hasCriteria$.asObservable());A(this,"_filterModel",null);A(this,"_col$",new I.BehaviorSubject(-1));A(this,"col$",this._col$.asObservable());A(this,"_filterHeaderListener",null);this._injector=t,this._sheetsFilterService=r,this._univerInstanceService=n,this._refRangeService=o}get filterBy(){return this._filterBy$.getValue()}get filterByModel(){return this._filterByModel}set filterByModel(t){this._filterByModel=t,this._filterByModel$.next(t)}get filterModel(){return this._filterModel}get col(){return this._col$.getValue()}dispose(){this._filterBy$.complete(),this._filterByModel$.complete(),this._hasCriteria$.complete()}setupCol(t,r){this.terminate(),this._filterModel=t,this._col$.next(r);const n=t.getFilterColumn(r);if(n){const o=n.getColumnData();return o.customFilters?(this._hasCriteria$.next(!0),this._setupByConditions(t,r)):o.filters?(this._hasCriteria$.next(!0),this._setupByValues(t,r)):(this._hasCriteria$.next(!1),this._setupByValues(t,r))}return this._hasCriteria$.next(!1),this._setupByValues(t,r)}changeFilterBy(t){return!this._filterModel||this.col===-1?!1:(t===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 t;(t=this._filterHeaderListener)==null||t.dispose(),this._filterHeaderListener=null}_listenToFilterHeaderChange(t,r){this._disposeFilterHeaderChangeListener();const n=t.unitId,o=t.subUnitId,s=t.getRange(),i={startColumn:r,startRow:s.startRow,endRow:s.startRow,endColumn:r};this._filterHeaderListener=this._refRangeService.watchRange(n,o,i,(a,l)=>{if(!l)this.terminate();else{const u=l.startColumn-a.startColumn;u!==0&&this._filterByModel.deltaCol(u)}})}_setupByValues(t,r){this._disposePreviousModel();const n=t.getRange();if(n.startRow===n.endRow)return!1;const o=rt.fromFilterColumn(this._injector,t,r);return this.filterByModel=o,this._filterBy$.next(0),this._listenToFilterHeaderChange(t,r),!0}_setupByConditions(t,r){this._disposePreviousModel();const n=t.getRange();if(n.startRow===n.endRow)return!1;const o=tt.fromFilterColumn(this._injector,t,r,t.getFilterColumn(r));return this.filterByModel=o,this._filterBy$.next(1),this._listenToFilterHeaderChange(t,r),!0}_disposePreviousModel(){var t;(t=this._filterByModel)==null||t.dispose(),this.filterByModel=null}};Ee=At([Ne(0,M.Inject(M.Injector)),Ne(1,M.Inject(c.SheetsFilterService)),Ne(2,m.IUniverInstanceService),Ne(3,M.Inject(q.RefRangeService))],Ee);let tt=class extends m.Disposable{constructor(t,r,n,o,s){super();A(this,"canApply$",I.of(!0));A(this,"_conditionItem$");A(this,"conditionItem$");A(this,"_filterConditionFormParams$");A(this,"filterConditionFormParams$");this._filterModel=t,this.col=r,this._commandService=s,this._conditionItem$=new I.BehaviorSubject(n),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new I.BehaviorSubject(o),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}static fromFilterColumn(t,r,n,o){const[s,i]=T.testMappingFilterColumn(o==null?void 0:o.getColumnData());return t.createInstance(tt,r,n,s,i)}get conditionItem(){return this._conditionItem$.getValue()}get filterConditionFormParams(){return this._filterConditionFormParams$.getValue()}dispose(){super.dispose(),this._conditionItem$.complete(),this._filterConditionFormParams$.complete()}deltaCol(t){this.col+=t}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(Ie.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const t=T.mapToFilterColumn(this.conditionItem,this.filterConditionFormParams);return this._commandService.executeCommand(Ie.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:t})}onPrimaryConditionChange(t){const r=T.ALL_CONDITIONS.find(n=>n.operator===t);if(!r)throw new Error(`[ByConditionsModel]: condition item not found for operator: ${t}!`);this._conditionItem$.next(r),this._filterConditionFormParams$.next(T.getInitialFormParams(t))}onConditionFormChange(t){const r={...this.filterConditionFormParams,...t};if(r.and!==!0&&delete r.and,typeof t.and<"u"||typeof t.operator1<"u"||typeof t.operator2<"u"){const n=T.testMappingParams(r,this.conditionItem.numOfParameters);this._conditionItem$.next(n)}this._filterConditionFormParams$.next(r)}};tt=At([Ne(4,m.ICommandService)],tt);let rt=class extends m.Disposable{constructor(t,r,n,o){super();A(this,"_rawFilterItems$");A(this,"rawFilterItems$");A(this,"filterItems$");A(this,"_filterItems",[]);A(this,"canApply$");A(this,"_manuallyUpdateFilterItems$");A(this,"_searchString$");A(this,"searchString$");this._filterModel=t,this.col=r,this._commandService=o,this._searchString$=new I.BehaviorSubject(""),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new I.BehaviorSubject(n),this.rawFilterItems$=this._rawFilterItems$.asObservable(),this._manuallyUpdateFilterItems$=new I.Subject,this.filterItems$=I.merge(I.combineLatest([this._searchString$.pipe(I.throttleTime(500,void 0,{leading:!0,trailing:!0}),I.startWith(void 0)),this._rawFilterItems$]).pipe(I.map(([s,i])=>{if(!s)return i;const l=s.toLowerCase().split(/\s+/).filter(u=>!!u);return i.filter(u=>{const f=u.value.toLowerCase();return l.some(p=>f.includes(p))})})),this._manuallyUpdateFilterItems$).pipe(I.shareReplay(1)),this.canApply$=this.filterItems$.pipe(I.map(s=>wt(s).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(s=>this._filterItems=s))}static fromFilterColumn(t,r,n){var U;const o=t.get(m.IUniverInstanceService),s=t.get(m.LocaleService),{unitId:i,subUnitId:a}=r,l=o.getUniverSheetInstance(i);if(!l)throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${i}!`);const u=l==null?void 0:l.getSheetBySheetId(a);if(!u)throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${i} and subUnitId: ${a}!`);const f=r.getRange(),p=n,g=(U=r.getFilterColumn(n))==null?void 0:U.getColumnData().filters,d=!!(g&&g.blank),E={...f,startRow:f.startRow+1,startColumn:p,endColumn:p},_=[],S={},C=new Set(g==null?void 0:g.filters),b=r.getFilteredOutRowsExceptCol(n);let P=0,R=0;for(const F of u.iterateByColumn(E,!1,!1)){const{row:H,rowSpan:x=1}=F;let z=0;for(;z<x;){const re=H+z;if(b.has(re)){z++;continue}const K=F!=null&&F.value?m.extractPureTextFromCell(F.value):"";if(!K){R+=1,z+=x;continue}if(S[K])S[K].count++;else{const ue={value:K,checked:C.size?C.has(K):!d,count:1,index:P,isEmpty:!1};S[K]=ue,_.push(ue)}z++}P++}const k=g?d:!0;if(R>0){const F={value:s.t("sheets-filter.panel.empty"),checked:k,count:R,index:P,isEmpty:!0};_.push(F)}return t.createInstance(rt,r,n,_)}get rawFilterItems(){return this._rawFilterItems$.getValue()}get filterItems(){return this._filterItems}dispose(){this._rawFilterItems$.complete(),this._searchString$.complete()}deltaCol(t){this.col+=t}setSearchString(t){this._searchString$.next(t)}onFilterCheckToggled(t,r){const n=this._filterItems.slice(),o=n.find(s=>s.index===t.index);o.checked=r,this._manuallyUpdateFilterItems(n)}onFilterOnly(t){const r=this._filterItems.slice();r.forEach(n=>n.checked=n.index===t.index),this._manuallyUpdateFilterItems(r)}onCheckAllToggled(t){const r=this._filterItems.slice();r.forEach(n=>n.checked=t),this._manuallyUpdateFilterItems(r)}_manuallyUpdateFilterItems(t){this._manuallyUpdateFilterItems$.next(t)}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(Ie.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const t=wt(this._filterItems),{checked:r,checkedItems:n}=t,o=this.rawFilterItems,s=r===0,i=t.checked===o.length,a={colId:this.col};if(s)throw new Error("[ByValuesModel]: no checked items!");if(i)return this._commandService.executeCommand(Ie.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});{a.filters={};const l=n.filter(f=>!f.isEmpty);l.length>0&&(a.filters={filters:l.map(f=>f.value)}),l.length!==n.length&&(a.filters.blank=!0)}return this._commandService.executeCommand(Ie.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:a})}};rt=At([Ne(3,m.ICommandService)],rt);const Me="FILTER_PANEL_OPENED",nt={id:"sheet.operation.open-filter-panel",type:m.CommandType.OPERATION,handler:(e,t)=>{const r=e.get(m.IContextService),n=e.get(c.SheetsFilterService),o=e.get(Ee);e.get(m.ICommandService).syncExecuteCommand(he.SetCellEditVisibleOperation.id,{visible:!1});const{unitId:i,subUnitId:a,col:l}=t,u=n.getFilterModel(i,a);return!u||!o.setupCol(u,l)?!1:(r.getContextValue(Me)||r.setContextValue(Me,!0),!0)}},xe={id:"sheet.operation.close-filter-panel",type:m.CommandType.OPERATION,handler:e=>{const t=e.get(m.IContextService),r=e.get(Ee),n=e.get($.ILayoutService,M.Quantity.OPTIONAL);return t.getContextValue(Me)?(t.setContextValue(Me,!1),n==null||n.focus(),r.terminate()):!1}},or={id:"sheet.operation.apply-filter",type:m.CommandType.OPERATION,handler:(e,t)=>{const{filterBy:r}=t;return e.get(Ee).changeFilterBy(r)}},j={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"};function vn(e){const{model:t}=e,r=Be.useDependency(m.LocaleService),n=$.useObservable(t.conditionItem$,void 0,!0),o=$.useObservable(t.filterConditionFormParams$,void 0,!0),{operator:s,numOfParameters:i}=n,{operator1:a,operator2:l,val1:u,val2:f,and:p}=o,g=p?"AND":"OR",d=h.useCallback(R=>{t.onConditionFormChange({and:R==="AND"})},[t]),E=gn(r),_=h.useCallback(R=>{t.onPrimaryConditionChange(R)},[t]),S=_n(r),C=h.useCallback(R=>{t.onConditionFormChange(R)},[t]),b=r.t("sheets-filter.panel.input-values-placeholder");function P(R,k,U){const F=T.getItemByOperator(R).numOfParameters===1;return h.createElement(h.Fragment,null,U==="operator2"&&h.createElement(G.RadioGroup,{value:g,onChange:d},h.createElement(G.Radio,{value:"AND"},r.t("sheets-filter.panel.and")),h.createElement(G.Radio,{value:"OR"},r.t("sheets-filter.panel.or"))),h.createElement(G.Select,{value:R,options:S,onChange:H=>C({[U]:H})}),F&&h.createElement(G.Input,{value:k,placeholder:b,onChange:H=>C({[U==="operator1"?"val1":"val2"]:H})}))}return h.createElement("div",{className:j.sheetsFilterPanelConditionsContainer},h.createElement(G.Select,{value:s,options:E,onChange:_}),T.getItemByOperator(s).numOfParameters!==0?h.createElement("div",{className:j.sheetsFilterPanelConditionsContainerInner},i>=1&&P(a,u!=null?u:"","operator1"),i>=2&&P(l,f!=null?f:"","operator2"),h.createElement("div",{className:j.sheetsFilterPanelConditionsDesc},r.t("sheets-filter.panel.?"),h.createElement("br",null),r.t("sheets-filter.panel.*"))):null)}function gn(e){const t=e.getCurrentLocale();return h.useMemo(()=>[{options:[{label:e.t(T.NONE.label),value:T.NONE.operator}]},{options:[{label:e.t(T.EMPTY.label),value:T.EMPTY.operator},{label:e.t(T.NOT_EMPTY.label),value:T.NOT_EMPTY.operator}]},{options:[{label:e.t(T.TEXT_CONTAINS.label),value:T.TEXT_CONTAINS.operator},{label:e.t(T.DOES_NOT_CONTAIN.label),value:T.DOES_NOT_CONTAIN.operator},{label:e.t(T.STARTS_WITH.label),value:T.STARTS_WITH.operator},{label:e.t(T.ENDS_WITH.label),value:T.ENDS_WITH.operator},{label:e.t(T.EQUALS.label),value:T.EQUALS.operator}]},{options:[{label:e.t(T.GREATER_THAN.label),value:T.GREATER_THAN.operator},{label:e.t(T.GREATER_THAN_OR_EQUAL.label),value:T.GREATER_THAN_OR_EQUAL.operator},{label:e.t(T.LESS_THAN.label),value:T.LESS_THAN.operator},{label:e.t(T.LESS_THAN_OR_EQUAL.label),value:T.LESS_THAN_OR_EQUAL.operator},{label:e.t(T.EQUAL.label),value:T.EQUAL.operator},{label:e.t(T.NOT_EQUAL.label),value:T.NOT_EQUAL.operator},{label:e.t(T.BETWEEN.label),value:T.BETWEEN.operator},{label:e.t(T.NOT_BETWEEN.label),value:T.NOT_BETWEEN.operator}]},{options:[{label:e.t(T.CUSTOM.label),value:T.CUSTOM.operator}]}],[t,e])}function _n(e){const t=e.getCurrentLocale();return h.useMemo(()=>T.ALL_CONDITIONS.filter(r=>r.numOfParameters!==2).map(r=>({label:e.t(r.label),value:r.operator})),[t,e])}function We(){return We=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},We.apply(null,arguments)}function ae(e){"@babel/helpers - typeof";return ae=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ae(e)}function Sn(e,t){if(ae(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ae(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ar(e){var t=Sn(e,"string");return ae(t)=="symbol"?t:t+""}function J(e,t,r){return(t=ar(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Y(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?sr(Object(r),!0).forEach(function(n){J(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):sr(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function En(e){if(Array.isArray(e))return e}function bn(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,s,i,a=[],l=!0,u=!1;try{if(s=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=s.call(r)).done)&&(a.push(n.value),a.length!==t);l=!0);}catch(f){u=!0,o=f}finally{try{if(!l&&r.return!=null&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw o}}return a}}function lr(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function yn(e,t){if(e){if(typeof e=="string")return lr(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?lr(e,t):void 0}}function Cn(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function X(e,t){return En(e)||bn(e,t)||yn(e,t)||Cn()}function On(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Tn(e,t){if(e==null)return{};var r,n,o=On(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||{}.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Fn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ur={exports:{}};/*!
1
+ (function(R,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("@univerjs/sheets-filter"),require("@univerjs/ui"),require("rxjs"),require("@univerjs/sheets-ui"),require("@univerjs/engine-render"),require("@univerjs/design"),require("@univerjs/sheets"),require("react"),require("@wendellhu/redi/react-bindings"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","@univerjs/sheets-filter","@univerjs/ui","rxjs","@univerjs/sheets-ui","@univerjs/engine-render","@univerjs/design","@univerjs/sheets","react","@wendellhu/redi/react-bindings","react-dom"],m):(R=typeof globalThis<"u"?globalThis:R||self,m(R.UniverSheetsFilterUi={},R.UniverCore,R["@wendellhu/redi"],R.UniverSheetsFilter,R.UniverUi,R.rxjs,R.UniverSheetsUi,R.UniverEngineRender,R.UniverDesign,R.UniverSheets,R.React,R["@wendellhu/redi/react-bindings"],R.ReactDOM))})(this,function(R,m,M,f,$,N,oe,Re,G,Y,h,Me,rt){"use strict";var Lo=Object.defineProperty;var $o=(R,m,M)=>m in R?Lo(R,m,{enumerable:!0,configurable:!0,writable:!0,value:M}):R[m]=M;var A=(R,m,M)=>$o(R,typeof m!="symbol"?m+"":m,M);function un(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const p=un(h);var se=function(){return se=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},se.apply(this,arguments)},cn=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r},er=h.forwardRef(function(e,t){var r=e.icon,n=e.id,o=e.className,a=e.extend,i=cn(e,["icon","id","className","extend"]),s="univerjs-icon univerjs-icon-".concat(n," ").concat(o||"").trim(),l=h.useRef("_".concat(dn()));return tr(r,"".concat(n),{defIds:r.defIds,idSuffix:l.current},se({ref:t,className:s},i),a)});function tr(e,t,r,n,o){return h.createElement(e.tag,se(se({key:t},fn(e,r,o)),n),(hn(e,r).children||[]).map(function(a,i){return tr(a,"".concat(t,"-").concat(e.tag,"-").concat(i),r,void 0,o)}))}function fn(e,t,r){var n=se({},e.attrs);r!=null&&r.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=r.colorChannel1);var o=t.defIds;return!o||o.length===0||(e.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+t.idSuffix),Object.entries(n).forEach(function(a){var i=a[0],s=a[1];typeof s=="string"&&(n[i]=s.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))})),n}function hn(e,t){var r,n=t.defIds;return!n||n.length===0?e:e.tag==="defs"&&(!((r=e.children)===null||r===void 0)&&r.length)?se(se({},e),{children:e.children.map(function(o){return typeof o.attrs.id=="string"&&n&&n.indexOf(o.attrs.id)>-1?se(se({},o),{attrs:se(se({},o.attrs),{id:o.attrs.id+t.idSuffix})}):o})}):e}function dn(){return Math.random().toString(36).substring(2,8)}er.displayName="UniverIcon";var mn={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"}}]},rr=h.forwardRef(function(e,t){return h.createElement(er,Object.assign({},e,{id:"filter-single",ref:t,icon:mn}))});rr.displayName="FilterSingle";const Te={id:"sheet.command.smart-toggle-filter",type:m.CommandType.COMMAND,handler:async e=>{const t=e.get(m.IUniverInstanceService),r=e.get(f.SheetsFilterService),n=e.get(m.ICommandService),o=e.get(m.IUndoRedoService),a=t.getCurrentUnitForType(m.UniverInstanceType.UNIVER_SHEET),i=a==null?void 0:a.getActiveSheet();if(!i||!a)return!1;const s=a.getUnitId(),l=i.getSheetId(),u=r.getFilterModel(s,l);if(u){const g=u==null?void 0:u.serialize(),C=vn(s,l,g),b=n.syncExecuteCommand(f.RemoveSheetsFilterMutation.id,{unitId:s,subUnitId:l});return b&&o.pushUndoRedo({unitID:s,undoMutations:C,redoMutations:[{id:f.RemoveSheetsFilterMutation.id,params:{unitId:s,subUnitId:l}}]}),b}const v=e.get(Y.SelectionManagerService).getLast();if(!v)return!1;const _=v.range,d=Y.isSingleCellSelection(v)?oe.expandToContinuousRange(_,{left:!0,right:!0,up:!0,down:!0},i):_;if(d.endRow===d.startRow){const g=e.get($.IMessageService,M.Quantity.OPTIONAL),C=e.get(m.LocaleService);return g==null||g.show({type:G.MessageType.Warning,content:C.t("sheets-filter.command.not-valid-filter-range")}),!1}const E={id:f.SetSheetsFilterRangeMutation.id,params:{unitId:s,subUnitId:l,range:d}},S=n.syncExecuteCommand(E.id,E.params);return S&&o.pushUndoRedo({unitID:s,undoMutations:[{id:f.RemoveSheetsFilterMutation.id,params:{unitId:s,subUnitId:l}}],redoMutations:[E]}),S}},Ne={id:"sheet.command.set-filter-criteria",type:m.CommandType.COMMAND,handler:async(e,t)=>{const r=e.get(f.SheetsFilterService),n=e.get(m.ICommandService),o=e.get(m.IUndoRedoService),{unitId:a,subUnitId:i,col:s,criteria:l}=t,u=r.getFilterModel(a,i);if(!u)return!1;const c=u.getRange();if(!c||s<c.startColumn||s>c.endColumn)return!1;const v=u.getFilterColumn(s),_=_n(a,i,s,v),d={id:f.SetSheetsFilterCriteriaMutation.id,params:{unitId:a,subUnitId:i,col:s,criteria:l}},E=n.syncExecuteCommand(d.id,d.params);return E&&o.pushUndoRedo({unitID:a,undoMutations:[_],redoMutations:[d]}),E}},nr={id:"sheet.command.clear-filter-criteria",type:m.CommandType.COMMAND,handler:e=>{const t=e.get(f.SheetsFilterService),r=e.get(m.IUndoRedoService),n=e.get(m.ICommandService),o=t.activeFilterModel;if(!o)return!1;const{unitId:a,subUnitId:i}=o,s=o.serialize(),l=or(a,i,s),u=pn(a,i,s);return m.sequenceExecute(u,n)&&r.pushUndoRedo({unitID:a,undoMutations:l,redoMutations:u}),!0}},ir={id:"sheet.command.re-calc-filter",type:m.CommandType.COMMAND,handler:e=>{const t=e.get(f.SheetsFilterService),r=e.get(m.ICommandService),n=t.activeFilterModel;if(!n)return!1;const{unitId:o,subUnitId:a}=n;return r.executeCommand(f.ReCalcSheetsFilterMutation.id,{unitId:o,subUnitId:a})}};function vn(e,t,r){const n=[],o={id:f.SetSheetsFilterRangeMutation.id,params:{unitId:e,subUnitId:t,range:r.ref}};return n.push(o),or(e,t,r).forEach(i=>n.push(i)),n}function or(e,t,r){var o;const n=[];return(o=r.filterColumns)==null||o.forEach(a=>{const i={id:f.SetSheetsFilterCriteriaMutation.id,params:{unitId:e,subUnitId:t,col:a.colId,criteria:a}};n.push(i)}),n}function pn(e,t,r){var o;const n=[];return(o=r.filterColumns)==null||o.forEach(a=>{const i={id:f.SetSheetsFilterCriteriaMutation.id,params:{unitId:e,subUnitId:t,col:a.colId,criteria:null}};n.push(i)}),n}function _n(e,t,r,n){if(!n)return{id:f.SetSheetsFilterCriteriaMutation.id,params:{unitId:e,subUnitId:t,col:r,criteria:null}};const o=n.serialize();return{id:f.SetSheetsFilterCriteriaMutation.id,params:{unitId:e,subUnitId:t,col:r,criteria:o}}}var V=(e=>(e[e.FIRST=0]="FIRST",e[e.SECOND=1]="SECOND",e))(V||{}),w=(e=>(e.NONE="none",e.STARTS_WITH="startsWith",e.DOES_NOT_START_WITH="doesNotStartWith",e.ENDS_WITH="endsWith",e.DOES_NOT_END_WITH="doesNotEndWith",e.CONTAINS="contains",e.DOES_NOT_CONTAIN="doesNotContain",e.EQUALS="equals",e.NOT_EQUALS="notEquals",e.EMPTY="empty",e.NOT_EMPTY="notEmpty",e.BETWEEN="between",e.NOT_BETWEEN="notBetween",e.CUSTOM="custom",e))(w||{}),T;(e=>{e.NONE={label:"sheets-filter.conditions.none",operator:w.NONE,order:V.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NONE]: should not have initial form params!")},testMappingParams:i=>i.operator1===w.NONE,mapToFilterColumn:()=>null,testMappingFilterColumn:i=>!i.customFilters&&!i.filters?{}:!1},e.EMPTY={label:"sheets-filter.conditions.empty",operator:w.EMPTY,order:V.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===w.EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:""}]}}),testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.val===""&&s.operator===void 0?{operator1:w.EMPTY}:!1}},e.NOT_EMPTY={label:"sheets-filter.conditions.not-empty",operator:w.NOT_EMPTY,order:V.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NOT_EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===w.NOT_EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:"",operator:f.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.val===" "&&s.operator===f.CustomFilterOperator.NOT_EQUALS?{operator1:w.NOT_EMPTY}:!1}},e.TEXT_CONTAINS={label:"sheets-filter.conditions.text-contains",operator:w.CONTAINS,order:V.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:w.CONTAINS,val1:""}),testMappingParams:i=>{const[s]=de(i);return s===w.CONTAINS},mapToFilterColumn:i=>{const{val1:s}=i;return s===""?null:{customFilters:{customFilters:[{val:`*${s}*`}]}}},testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0],l=s.val.toString();return!s.operator&&l.startsWith("*")&&l.endsWith("*")?{operator1:w.CONTAINS,val1:l.slice(1,-1)}:!1}},e.DOES_NOT_CONTAIN={label:"sheets-filter.conditions.does-not-contain",operator:w.DOES_NOT_CONTAIN,order:V.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:w.DOES_NOT_CONTAIN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}*`,operator:f.CustomFilterOperator.NOT_EQUALS}]}}),testMappingParams:i=>{const[s]=de(i);return s===w.DOES_NOT_CONTAIN},testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0],l=s.val.toString();return s.operator===f.CustomFilterOperator.NOT_EQUALS&&l.startsWith("*")&&l.endsWith("*")?{operator1:w.DOES_NOT_CONTAIN,val1:l.slice(1,-1)}:!1}},e.STARTS_WITH={label:"sheets-filter.conditions.starts-with",operator:w.STARTS_WITH,order:V.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:w.STARTS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`${i.val1}*`}]}}),testMappingParams:i=>{const[s]=de(i);return s===w.STARTS_WITH},testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0],l=s.val.toString();return!s.operator&&l.endsWith("*")&&!l.startsWith("*")?{operator1:w.STARTS_WITH,val1:l.slice(0,-1)}:!1}},e.ENDS_WITH={label:"sheets-filter.conditions.ends-with",operator:w.ENDS_WITH,order:V.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:w.ENDS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}`}]}}),testMappingParams:i=>{const[s]=de(i);return s===w.ENDS_WITH},testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0],l=s.val.toString();return!s.operator&&l.startsWith("*")&&!l.endsWith("*")?{operator1:w.ENDS_WITH,val1:l.slice(1)}:!1}},e.EQUALS={label:"sheets-filter.conditions.equals",operator:w.EQUALS,order:V.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:w.EQUALS,val1:""}),testMappingParams:i=>{const[s]=de(i);return s===w.EQUALS},mapToFilterColumn:i=>{const{val1:s}=i;return s===""?null:{customFilters:{customFilters:[{val:s}]}}},testMappingFilterColumn:i=>{var s,l,u;return((l=(s=i.filters)==null?void 0:s.filters)==null?void 0:l.length)===1?{operator1:w.EQUALS,val1:""}:((u=i.customFilters)==null?void 0:u.customFilters.length)===1&&!i.customFilters.customFilters[0].operator?{operator1:w.EQUALS,val1:i.customFilters.customFilters[0].val.toString()}:!1}},e.GREATER_THAN={label:"sheets-filter.conditions.greater-than",operator:f.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:V.FIRST,getDefaultFormParams:()=>({operator1:f.CustomFilterOperator.GREATER_THAN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:f.CustomFilterOperator.GREATER_THAN}]}}),testMappingParams:i=>{const[s]=de(i);return s===f.CustomFilterOperator.GREATER_THAN},testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==f.CustomFilterOperator.GREATER_THAN?!1:{operator1:f.CustomFilterOperator.GREATER_THAN,val1:s.val.toString()}}},e.GREATER_THAN_OR_EQUAL={label:"sheets-filter.conditions.greater-than-or-equal",operator:f.CustomFilterOperator.GREATER_THAN_OR_EQUAL,numOfParameters:1,order:V.FIRST,getDefaultFormParams:()=>({operator1:f.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[s]=de(i);return s===f.CustomFilterOperator.GREATER_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:f.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==f.CustomFilterOperator.GREATER_THAN_OR_EQUAL?!1:{operator1:f.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:s.val.toString()}}},e.LESS_THAN={label:"sheets-filter.conditions.less-than",operator:f.CustomFilterOperator.LESS_THAN,numOfParameters:1,order:V.FIRST,getDefaultFormParams:()=>({operator1:f.CustomFilterOperator.LESS_THAN,val1:""}),testMappingParams:i=>{const[s]=de(i);return s===f.CustomFilterOperator.LESS_THAN},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:f.CustomFilterOperator.LESS_THAN}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==f.CustomFilterOperator.LESS_THAN?!1:{operator1:f.CustomFilterOperator.LESS_THAN,val1:s.val.toString()}}},e.LESS_THAN_OR_EQUAL={label:"sheets-filter.conditions.less-than-or-equal",operator:f.CustomFilterOperator.LESS_THAN_OR_EQUAL,numOfParameters:1,order:V.FIRST,getDefaultFormParams:()=>({operator1:f.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[s]=de(i);return s===f.CustomFilterOperator.LESS_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:f.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==f.CustomFilterOperator.LESS_THAN_OR_EQUAL?!1:{operator1:f.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:s.val.toString()}}},e.EQUAL={label:"sheets-filter.conditions.equal",operator:f.CustomFilterOperator.EQUAL,numOfParameters:1,order:V.FIRST,getDefaultFormParams:()=>({operator1:f.CustomFilterOperator.EQUAL,val1:""}),testMappingParams:i=>{const[s]=de(i);return s===f.CustomFilterOperator.EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:f.CustomFilterOperator.EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==f.CustomFilterOperator.EQUAL?!1:{operator1:f.CustomFilterOperator.EQUAL,val1:s.val.toString()}}},e.NOT_EQUAL={label:"sheets-filter.conditions.not-equal",operator:f.CustomFilterOperator.NOT_EQUALS,numOfParameters:1,order:V.FIRST,getDefaultFormParams:()=>({operator1:f.CustomFilterOperator.NOT_EQUALS,val1:""}),testMappingParams:i=>{const[s]=de(i);return s===f.CustomFilterOperator.NOT_EQUALS},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:f.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const s=i.customFilters.customFilters[0];return s.operator!==f.CustomFilterOperator.NOT_EQUALS?!1:{operator1:f.CustomFilterOperator.NOT_EQUALS,val1:s.val.toString()}}},e.BETWEEN={label:"sheets-filter.conditions.between",operator:w.BETWEEN,order:V.SECOND,numOfParameters:2,getDefaultFormParams:()=>({and:!0,operator1:f.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:"",operator2:f.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:""}),testMappingParams:i=>{const{and:s,operator1:l,operator2:u}=i;if(!s)return!1;const c=[l,u];return c.includes(f.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&c.includes(f.CustomFilterOperator.LESS_THAN_OR_EQUAL)},mapToFilterColumn:i=>{const{val1:s,val2:l,operator1:u}=i,c=u===f.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:m.BooleanNumber.TRUE,customFilters:[{val:c?s:l,operator:f.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:c?l:s,operator:f.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==2)return!1;const[s,l]=i.customFilters.customFilters;return s.operator===f.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&l.operator===f.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:f.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:s.val.toString(),operator2:f.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:l.val.toString()}:l.operator===f.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&s.operator===f.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:f.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:l.val.toString(),operator2:f.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:s.val.toLocaleString()}:!1}},e.NOT_BETWEEN={label:"sheets-filter.conditions.not-between",operator:w.NOT_BETWEEN,order:V.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:f.CustomFilterOperator.LESS_THAN,val1:"",operator2:f.CustomFilterOperator.GREATER_THAN,val2:""}),testMappingParams:i=>{const{and:s,operator1:l,operator2:u}=i;if(s)return!1;const c=[l,u];return c.includes(f.CustomFilterOperator.GREATER_THAN)&&c.includes(f.CustomFilterOperator.LESS_THAN)},mapToFilterColumn:i=>{const{val1:s,val2:l,operator1:u}=i,c=u===f.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:c?s:l,operator:f.CustomFilterOperator.GREATER_THAN},{val:c?l:s,operator:f.CustomFilterOperator.LESS_THAN}]}}},testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==2)return!1;const[s,l]=i.customFilters.customFilters;return s.operator===f.CustomFilterOperator.LESS_THAN&&l.operator===f.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:f.CustomFilterOperator.LESS_THAN,val1:s.val.toString(),operator2:f.CustomFilterOperator.GREATER_THAN,val2:l.val.toString()}:l.operator===f.CustomFilterOperator.LESS_THAN&&s.operator===f.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:f.CustomFilterOperator.GREATER_THAN,val1:l.val.toString(),operator2:f.CustomFilterOperator.LESS_THAN,val2:s.val.toLocaleString()}:!1}},e.CUSTOM={label:"sheets-filter.conditions.custom",operator:w.CUSTOM,order:V.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:w.NONE,val1:"",operator2:w.NONE,val2:""}),testMappingParams:()=>!0,mapToFilterColumn:i=>{const{and:s,val1:l,val2:u,operator1:c,operator2:v}=i;function _(b,I){for(const P of e.ALL_CONDITIONS)if(P.operator===b)return P.mapToFilterColumn({val1:I,operator1:b})}const d=!c||c===e.NONE.operator,E=!v||v===e.NONE.operator;if(d&&E)return e.NONE.mapToFilterColumn({});if(d)return _(v,u);if(E)return _(c,l);const S=_(c,l),g=_(v,u),C={customFilters:[S.customFilters.customFilters[0],g.customFilters.customFilters[0]]};return s&&(C.and=m.BooleanNumber.TRUE),{customFilters:C}},testMappingFilterColumn:i=>{var u;if(((u=i.customFilters)==null?void 0:u.customFilters.length)!==2)return!1;const s=i.customFilters.customFilters.map(c=>a({customFilters:{customFilters:[c]}})),l={operator1:s[0][0].operator,val1:s[0][1].val1,operator2:s[1][0].operator,val2:s[1][1].val1};return i.customFilters.and&&(l.and=!0),l}},e.ALL_CONDITIONS=[e.NONE,e.EMPTY,e.NOT_EMPTY,e.TEXT_CONTAINS,e.DOES_NOT_CONTAIN,e.STARTS_WITH,e.ENDS_WITH,e.EQUALS,e.GREATER_THAN,e.GREATER_THAN_OR_EQUAL,e.LESS_THAN,e.LESS_THAN_OR_EQUAL,e.EQUAL,e.NOT_EQUAL,e.BETWEEN,e.NOT_BETWEEN,e.CUSTOM];function t(i){const s=e.ALL_CONDITIONS.find(l=>l.operator===i);if(!s)throw new Error(`[SheetsFilter]: no condition item found for operator: ${i}`);return s}e.getItemByOperator=t;function r(i,s){for(const l of e.ALL_CONDITIONS.filter(u=>u.numOfParameters===s))if(l.numOfParameters!==0&&l.testMappingParams(i))return l;for(const l of e.ALL_CONDITIONS)if(l.testMappingParams(i))return l;throw new Error("[SheetsFilter]: no condition item can be mapped from the filter map params!")}e.testMappingParams=r;function n(i){const s=e.ALL_CONDITIONS.find(l=>l.operator===i);return(s==null?void 0:s.numOfParameters)===0?{operator1:s.operator}:s.getDefaultFormParams()}e.getInitialFormParams=n;function o(i,s){return i.mapToFilterColumn(s)}e.mapToFilterColumn=o;function a(i){if(!i)return[e.NONE,{}];for(const s of e.ALL_CONDITIONS){const l=s.testMappingFilterColumn(i);if(l)return[s,l]}return[e.NONE,{}]}e.testMappingFilterColumn=a})(T||(T={}));function de(e){const{operator1:t,operator2:r,val1:n,val2:o}=e;if(t&&r)throw new Error("Both operator1 and operator2 are set!");if(!t&&!r)throw new Error("Neither operator1 and operator2 and both not set!");return t?[t,n]:[r,o]}function At(e){const t=[],r=[];for(const n of e)n.checked?t.push(n):r.push(n);return{checkedItems:t,uncheckedItems:r,checked:t.length,unchecked:r.length}}var Sn=Object.defineProperty,gn=Object.getOwnPropertyDescriptor,Lt=(e,t,r,n)=>{for(var o=n>1?void 0:n?gn(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&Sn(t,r,o),o},we=(e,t)=>(r,n)=>t(r,n,e),nt=(e=>(e[e.VALUES=0]="VALUES",e[e.CONDITIONS=1]="CONDITIONS",e))(nt||{});M.createIdentifier("sheets-filter-ui.sheets-filter-panel.service");let Ee=class extends m.Disposable{constructor(t,r,n,o){super();A(this,"_filterBy$",new N.BehaviorSubject(0));A(this,"filterBy$",this._filterBy$.asObservable());A(this,"_filterByModel$",new N.ReplaySubject(1));A(this,"filterByModel$",this._filterByModel$.asObservable());A(this,"_filterByModel",null);A(this,"_hasCriteria$",new N.BehaviorSubject(!1));A(this,"hasCriteria$",this._hasCriteria$.asObservable());A(this,"_filterModel",null);A(this,"_col$",new N.BehaviorSubject(-1));A(this,"col$",this._col$.asObservable());A(this,"_filterHeaderListener",null);this._injector=t,this._sheetsFilterService=r,this._univerInstanceService=n,this._refRangeService=o}get filterBy(){return this._filterBy$.getValue()}get filterByModel(){return this._filterByModel}set filterByModel(t){this._filterByModel=t,this._filterByModel$.next(t)}get filterModel(){return this._filterModel}get col(){return this._col$.getValue()}dispose(){this._filterBy$.complete(),this._filterByModel$.complete(),this._hasCriteria$.complete()}setupCol(t,r){this.terminate(),this._filterModel=t,this._col$.next(r);const n=t.getFilterColumn(r);if(n){const o=n.getColumnData();return o.customFilters?(this._hasCriteria$.next(!0),this._setupByConditions(t,r)):o.filters?(this._hasCriteria$.next(!0),this._setupByValues(t,r)):(this._hasCriteria$.next(!1),this._setupByValues(t,r))}return this._hasCriteria$.next(!1),this._setupByValues(t,r)}changeFilterBy(t){return!this._filterModel||this.col===-1?!1:(t===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 t;(t=this._filterHeaderListener)==null||t.dispose(),this._filterHeaderListener=null}_listenToFilterHeaderChange(t,r){this._disposeFilterHeaderChangeListener();const n=t.unitId,o=t.subUnitId,a=t.getRange(),i={startColumn:r,startRow:a.startRow,endRow:a.startRow,endColumn:r};this._filterHeaderListener=this._refRangeService.watchRange(n,o,i,(s,l)=>{if(!l)this.terminate();else{const u=l.startColumn-s.startColumn;u!==0&&this._filterByModel.deltaCol(u)}})}_setupByValues(t,r){this._disposePreviousModel();const n=t.getRange();if(n.startRow===n.endRow)return!1;const o=ot.fromFilterColumn(this._injector,t,r);return this.filterByModel=o,this._filterBy$.next(0),this._listenToFilterHeaderChange(t,r),!0}_setupByConditions(t,r){this._disposePreviousModel();const n=t.getRange();if(n.startRow===n.endRow)return!1;const o=it.fromFilterColumn(this._injector,t,r,t.getFilterColumn(r));return this.filterByModel=o,this._filterBy$.next(1),this._listenToFilterHeaderChange(t,r),!0}_disposePreviousModel(){var t;(t=this._filterByModel)==null||t.dispose(),this.filterByModel=null}};Ee=Lt([we(0,M.Inject(M.Injector)),we(1,M.Inject(f.SheetsFilterService)),we(2,m.IUniverInstanceService),we(3,M.Inject(Y.RefRangeService))],Ee);let it=class extends m.Disposable{constructor(t,r,n,o,a){super();A(this,"canApply$",N.of(!0));A(this,"_conditionItem$");A(this,"conditionItem$");A(this,"_filterConditionFormParams$");A(this,"filterConditionFormParams$");this._filterModel=t,this.col=r,this._commandService=a,this._conditionItem$=new N.BehaviorSubject(n),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new N.BehaviorSubject(o),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}static fromFilterColumn(t,r,n,o){const[a,i]=T.testMappingFilterColumn(o==null?void 0:o.getColumnData());return t.createInstance(it,r,n,a,i)}get conditionItem(){return this._conditionItem$.getValue()}get filterConditionFormParams(){return this._filterConditionFormParams$.getValue()}dispose(){super.dispose(),this._conditionItem$.complete(),this._filterConditionFormParams$.complete()}deltaCol(t){this.col+=t}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(Ne.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const t=T.mapToFilterColumn(this.conditionItem,this.filterConditionFormParams);return this._commandService.executeCommand(Ne.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:t})}onPrimaryConditionChange(t){const r=T.ALL_CONDITIONS.find(n=>n.operator===t);if(!r)throw new Error(`[ByConditionsModel]: condition item not found for operator: ${t}!`);this._conditionItem$.next(r),this._filterConditionFormParams$.next(T.getInitialFormParams(t))}onConditionFormChange(t){const r={...this.filterConditionFormParams,...t};if(r.and!==!0&&delete r.and,typeof t.and<"u"||typeof t.operator1<"u"||typeof t.operator2<"u"){const n=T.testMappingParams(r,this.conditionItem.numOfParameters);this._conditionItem$.next(n)}this._filterConditionFormParams$.next(r)}};it=Lt([we(4,m.ICommandService)],it);let ot=class extends m.Disposable{constructor(t,r,n,o){super();A(this,"_rawFilterItems$");A(this,"rawFilterItems$");A(this,"filterItems$");A(this,"_filterItems",[]);A(this,"canApply$");A(this,"_manuallyUpdateFilterItems$");A(this,"_searchString$");A(this,"searchString$");this._filterModel=t,this.col=r,this._commandService=o,this._searchString$=new N.BehaviorSubject(""),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new N.BehaviorSubject(n),this.rawFilterItems$=this._rawFilterItems$.asObservable(),this._manuallyUpdateFilterItems$=new N.Subject,this.filterItems$=N.merge(N.combineLatest([this._searchString$.pipe(N.throttleTime(500,void 0,{leading:!0,trailing:!0}),N.startWith(void 0)),this._rawFilterItems$]).pipe(N.map(([a,i])=>{if(!a)return i;const l=a.toLowerCase().split(/\s+/).filter(u=>!!u);return i.filter(u=>{const c=u.value.toLowerCase();return l.some(v=>c.includes(v))})})),this._manuallyUpdateFilterItems$).pipe(N.shareReplay(1)),this.canApply$=this.filterItems$.pipe(N.map(a=>At(a).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(a=>this._filterItems=a))}static fromFilterColumn(t,r,n){var U;const o=t.get(m.IUniverInstanceService),a=t.get(m.LocaleService),{unitId:i,subUnitId:s}=r,l=o.getUniverSheetInstance(i);if(!l)throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${i}!`);const u=l==null?void 0:l.getSheetBySheetId(s);if(!u)throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${i} and subUnitId: ${s}!`);const c=r.getRange(),v=n,_=(U=r.getFilterColumn(n))==null?void 0:U.getColumnData().filters,d=!!(_&&_.blank),E={...c,startRow:c.startRow+1,startColumn:v,endColumn:v},S=[],g={},C=new Set(_==null?void 0:_.filters),b=r.getFilteredOutRowsExceptCol(n);let I=0,P=0;for(const F of u.iterateByColumn(E,!1,!1)){const{row:H,rowSpan:x=1}=F;let z=0;for(;z<x;){const re=H+z;if(b.has(re)){z++;continue}const K=F!=null&&F.value?m.extractPureTextFromCell(F.value):"";if(!K){P+=1,z+=x;continue}if(g[K])g[K].count++;else{const ce={value:K,checked:C.size?C.has(K):!d,count:1,index:I,isEmpty:!1};g[K]=ce,S.push(ce)}z++}I++}const k=_?d:!0;if(P>0){const F={value:a.t("sheets-filter.panel.empty"),checked:k,count:P,index:I,isEmpty:!0};S.push(F)}return t.createInstance(ot,r,n,S)}get rawFilterItems(){return this._rawFilterItems$.getValue()}get filterItems(){return this._filterItems}dispose(){this._rawFilterItems$.complete(),this._searchString$.complete()}deltaCol(t){this.col+=t}setSearchString(t){this._searchString$.next(t)}onFilterCheckToggled(t,r){const n=this._filterItems.slice(),o=n.find(a=>a.index===t.index);o.checked=r,this._manuallyUpdateFilterItems(n)}onFilterOnly(t){const r=this._filterItems.slice();r.forEach(n=>n.checked=n.index===t.index),this._manuallyUpdateFilterItems(r)}onCheckAllToggled(t){const r=this._filterItems.slice();r.forEach(n=>n.checked=t),this._manuallyUpdateFilterItems(r)}_manuallyUpdateFilterItems(t){this._manuallyUpdateFilterItems$.next(t)}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(Ne.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const t=At(this._filterItems),{checked:r,checkedItems:n}=t,o=this.rawFilterItems,a=r===0,i=t.checked===o.length,s={colId:this.col};if(a)throw new Error("[ByValuesModel]: no checked items!");if(i)return this._commandService.executeCommand(Ne.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});{s.filters={};const l=n.filter(c=>!c.isEmpty);l.length>0&&(s.filters={filters:l.map(c=>c.value)}),l.length!==n.length&&(s.filters.blank=!0)}return this._commandService.executeCommand(Ne.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:s})}};ot=Lt([we(3,m.ICommandService)],ot);const Ae="FILTER_PANEL_OPENED",xe={id:"sheet.operation.open-filter-panel",type:m.CommandType.OPERATION,handler:(e,t)=>{const r=e.get(m.IContextService),n=e.get(f.SheetsFilterService),o=e.get(Ee);e.get(m.ICommandService).syncExecuteCommand(oe.SetCellEditVisibleOperation.id,{visible:!1});const{unitId:i,subUnitId:s,col:l}=t,u=n.getFilterModel(i,s);return!u||!o.setupCol(u,l)?!1:(r.getContextValue(Ae)||r.setContextValue(Ae,!0),!0)}},We={id:"sheet.operation.close-filter-panel",type:m.CommandType.OPERATION,handler:e=>{const t=e.get(m.IContextService),r=e.get(Ee),n=e.get($.ILayoutService,M.Quantity.OPTIONAL);return t.getContextValue(Ae)?(t.setContextValue(Ae,!1),n==null||n.focus(),r.terminate()):!1}},sr={id:"sheet.operation.apply-filter",type:m.CommandType.OPERATION,handler:(e,t)=>{const{filterBy:r}=t;return e.get(Ee).changeFilterBy(r)}},j={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"};function En(e){const{model:t}=e,r=Me.useDependency(m.LocaleService),n=$.useObservable(t.conditionItem$,void 0,!0),o=$.useObservable(t.filterConditionFormParams$,void 0,!0),{operator:a,numOfParameters:i}=n,{operator1:s,operator2:l,val1:u,val2:c,and:v}=o,_=v?"AND":"OR",d=h.useCallback(P=>{t.onConditionFormChange({and:P==="AND"})},[t]),E=bn(r),S=h.useCallback(P=>{t.onPrimaryConditionChange(P)},[t]),g=yn(r),C=h.useCallback(P=>{t.onConditionFormChange(P)},[t]),b=r.t("sheets-filter.panel.input-values-placeholder");function I(P,k,U){const F=T.getItemByOperator(P).numOfParameters===1;return h.createElement(h.Fragment,null,U==="operator2"&&h.createElement(G.RadioGroup,{value:_,onChange:d},h.createElement(G.Radio,{value:"AND"},r.t("sheets-filter.panel.and")),h.createElement(G.Radio,{value:"OR"},r.t("sheets-filter.panel.or"))),h.createElement(G.Select,{value:P,options:g,onChange:H=>C({[U]:H})}),F&&h.createElement(G.Input,{value:k,placeholder:b,onChange:H=>C({[U==="operator1"?"val1":"val2"]:H})}))}return h.createElement("div",{className:j.sheetsFilterPanelConditionsContainer},h.createElement(G.Select,{value:a,options:E,onChange:S}),T.getItemByOperator(a).numOfParameters!==0?h.createElement("div",{className:j.sheetsFilterPanelConditionsContainerInner},i>=1&&I(s,u!=null?u:"","operator1"),i>=2&&I(l,c!=null?c:"","operator2"),h.createElement("div",{className:j.sheetsFilterPanelConditionsDesc},r.t("sheets-filter.panel.?"),h.createElement("br",null),r.t("sheets-filter.panel.*"))):null)}function bn(e){const t=e.getCurrentLocale();return h.useMemo(()=>[{options:[{label:e.t(T.NONE.label),value:T.NONE.operator}]},{options:[{label:e.t(T.EMPTY.label),value:T.EMPTY.operator},{label:e.t(T.NOT_EMPTY.label),value:T.NOT_EMPTY.operator}]},{options:[{label:e.t(T.TEXT_CONTAINS.label),value:T.TEXT_CONTAINS.operator},{label:e.t(T.DOES_NOT_CONTAIN.label),value:T.DOES_NOT_CONTAIN.operator},{label:e.t(T.STARTS_WITH.label),value:T.STARTS_WITH.operator},{label:e.t(T.ENDS_WITH.label),value:T.ENDS_WITH.operator},{label:e.t(T.EQUALS.label),value:T.EQUALS.operator}]},{options:[{label:e.t(T.GREATER_THAN.label),value:T.GREATER_THAN.operator},{label:e.t(T.GREATER_THAN_OR_EQUAL.label),value:T.GREATER_THAN_OR_EQUAL.operator},{label:e.t(T.LESS_THAN.label),value:T.LESS_THAN.operator},{label:e.t(T.LESS_THAN_OR_EQUAL.label),value:T.LESS_THAN_OR_EQUAL.operator},{label:e.t(T.EQUAL.label),value:T.EQUAL.operator},{label:e.t(T.NOT_EQUAL.label),value:T.NOT_EQUAL.operator},{label:e.t(T.BETWEEN.label),value:T.BETWEEN.operator},{label:e.t(T.NOT_BETWEEN.label),value:T.NOT_BETWEEN.operator}]},{options:[{label:e.t(T.CUSTOM.label),value:T.CUSTOM.operator}]}],[t,e])}function yn(e){const t=e.getCurrentLocale();return h.useMemo(()=>T.ALL_CONDITIONS.filter(r=>r.numOfParameters!==2).map(r=>({label:e.t(r.label),value:r.operator})),[t,e])}function je(){return je=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},je.apply(null,arguments)}function ae(e){"@babel/helpers - typeof";return ae=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ae(e)}function Cn(e,t){if(ae(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ae(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ar(e){var t=Cn(e,"string");return ae(t)=="symbol"?t:t+""}function J(e,t,r){return(t=ar(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function lr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function q(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?lr(Object(r),!0).forEach(function(n){J(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):lr(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function On(e){if(Array.isArray(e))return e}function Tn(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,a,i,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,o=c}finally{try{if(!l&&r.return!=null&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw o}}return s}}function ur(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Fn(e,t){if(e){if(typeof e=="string")return ur(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ur(e,t):void 0}}function Pn(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function X(e,t){return On(e)||Tn(e,t)||Fn(e,t)||Pn()}function In(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Rn(e,t){if(e==null)return{};var r,n,o=In(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||{}.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Mn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var cr={exports:{}};/*!
3
3
  Copyright (c) 2018 Jed Watson.
4
4
  Licensed under the MIT License (MIT), see
5
5
  http://jedwatson.github.io/classnames
6
- */(function(e){(function(){var t={}.hasOwnProperty;function r(){for(var s="",i=0;i<arguments.length;i++){var a=arguments[i];a&&(s=o(s,n(a)))}return s}function n(s){if(typeof s=="string"||typeof s=="number")return s;if(typeof s!="object")return"";if(Array.isArray(s))return r.apply(null,s);if(s.toString!==Object.prototype.toString&&!s.toString.toString().includes("[native code]"))return s.toString();var i="";for(var a in s)t.call(s,a)&&s[a]&&(i=o(i,a));return i}function o(s,i){return i?s?s+" "+i:s+i:s}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(ur);var Rn=ur.exports;const it=Fn(Rn);var cr={exports:{}},D={};/**
6
+ */(function(e){(function(){var t={}.hasOwnProperty;function r(){for(var a="",i=0;i<arguments.length;i++){var s=arguments[i];s&&(a=o(a,n(s)))}return a}function n(a){if(typeof a=="string"||typeof a=="number")return a;if(typeof a!="object")return"";if(Array.isArray(a))return r.apply(null,a);if(a.toString!==Object.prototype.toString&&!a.toString.toString().includes("[native code]"))return a.toString();var i="";for(var s in a)t.call(a,s)&&a[s]&&(i=o(i,s));return i}function o(a,i){return i?a?a+" "+i:a+i:a}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(cr);var Nn=cr.exports;const st=Mn(Nn);var fr={exports:{}},D={};/**
7
7
  * @license React
8
8
  * react-is.production.min.js
9
9
  *
@@ -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 Lt=Symbol.for("react.element"),Dt=Symbol.for("react.portal"),ot=Symbol.for("react.fragment"),at=Symbol.for("react.strict_mode"),st=Symbol.for("react.profiler"),lt=Symbol.for("react.provider"),ut=Symbol.for("react.context"),Pn=Symbol.for("react.server_context"),ct=Symbol.for("react.forward_ref"),ft=Symbol.for("react.suspense"),ht=Symbol.for("react.suspense_list"),dt=Symbol.for("react.memo"),mt=Symbol.for("react.lazy"),In=Symbol.for("react.offscreen"),fr;fr=Symbol.for("react.module.reference");function se(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case Lt:switch(e=e.type,e){case ot:case st:case at:case ft:case ht:return e;default:switch(e=e&&e.$$typeof,e){case Pn:case ut:case ct:case mt:case dt:case lt:return e;default:return t}}case Dt:return t}}}D.ContextConsumer=ut,D.ContextProvider=lt,D.Element=Lt,D.ForwardRef=ct,D.Fragment=ot,D.Lazy=mt,D.Memo=dt,D.Portal=Dt,D.Profiler=st,D.StrictMode=at,D.Suspense=ft,D.SuspenseList=ht,D.isAsyncMode=function(){return!1},D.isConcurrentMode=function(){return!1},D.isContextConsumer=function(e){return se(e)===ut},D.isContextProvider=function(e){return se(e)===lt},D.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===Lt},D.isForwardRef=function(e){return se(e)===ct},D.isFragment=function(e){return se(e)===ot},D.isLazy=function(e){return se(e)===mt},D.isMemo=function(e){return se(e)===dt},D.isPortal=function(e){return se(e)===Dt},D.isProfiler=function(e){return se(e)===st},D.isStrictMode=function(e){return se(e)===at},D.isSuspense=function(e){return se(e)===ft},D.isSuspenseList=function(e){return se(e)===ht},D.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===ot||e===st||e===at||e===ft||e===ht||e===In||typeof e=="object"&&e!==null&&(e.$$typeof===mt||e.$$typeof===dt||e.$$typeof===lt||e.$$typeof===ut||e.$$typeof===ct||e.$$typeof===fr||e.getModuleId!==void 0)},D.typeOf=se,cr.exports=D;var je=cr.exports;function $t(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=[];return h.Children.forEach(e,function(n){n==null&&!t.keepEmpty||(Array.isArray(n)?r=r.concat($t(n)):je.isFragment(n)&&n.props?r=r.concat($t(n.props.children,t)):r.push(n))}),r}function hr(e){return e instanceof HTMLElement||e instanceof SVGElement}function Nn(e){return e&&ae(e)==="object"&&hr(e.nativeElement)?e.nativeElement:hr(e)?e:null}function pt(e){var t=Nn(e);if(t)return t;if(e instanceof h.Component){var r;return(r=Je.findDOMNode)===null||r===void 0?void 0:r.call(Je,e)}return null}function Mn(e,t,r){var n=v.useRef({});return(!("value"in n.current)||r(n.current.condition,t))&&(n.current.value=e(),n.current.condition=t),n.current.value}var wn=function(t,r){typeof t=="function"?t(r):ae(t)==="object"&&t&&"current"in t&&(t.current=r)},An=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var o=r.filter(Boolean);return o.length<=1?o[0]:function(s){r.forEach(function(i){wn(i,s)})}},Ln=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return Mn(function(){return An.apply(void 0,r)},r,function(o,s){return o.length!==s.length||o.every(function(i,a){return i!==s[a]})})},Dn=function(t){var r,n,o=je.isMemo(t)?t.type.type:t.type;return!(typeof o=="function"&&!((r=o.prototype)!==null&&r!==void 0&&r.render)&&o.$$typeof!==je.ForwardRef||typeof t=="function"&&!((n=t.prototype)!==null&&n!==void 0&&n.render)&&t.$$typeof!==je.ForwardRef)};function dr(e){return h.isValidElement(e)&&!je.isFragment(e)}Number(h.version.split(".")[0])>=19;var Ut=v.createContext(null);function $n(e){var t=e.children,r=e.onBatchResize,n=v.useRef(0),o=v.useRef([]),s=v.useContext(Ut),i=v.useCallback(function(a,l,u){n.current+=1;var f=n.current;o.current.push({size:a,element:l,data:u}),Promise.resolve().then(function(){f===n.current&&(r==null||r(o.current),o.current=[])}),s==null||s(a,l,u)},[r,s]);return v.createElement(Ut.Provider,{value:i},t)}var mr=function(){if(typeof Map<"u")return Map;function e(t,r){var n=-1;return t.some(function(o,s){return o[0]===r?(n=s,!0):!1}),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(r){var n=e(this.__entries__,r),o=this.__entries__[n];return o&&o[1]},t.prototype.set=function(r,n){var o=e(this.__entries__,r);~o?this.__entries__[o][1]=n:this.__entries__.push([r,n])},t.prototype.delete=function(r){var n=this.__entries__,o=e(n,r);~o&&n.splice(o,1)},t.prototype.has=function(r){return!!~e(this.__entries__,r)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(r,n){n===void 0&&(n=null);for(var o=0,s=this.__entries__;o<s.length;o++){var i=s[o];r.call(n,i[1],i[0])}},t}()}(),Ht=typeof window<"u"&&typeof document<"u"&&window.document===document,vt=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")()}(),Un=function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(vt):function(e){return setTimeout(function(){return e(Date.now())},1e3/60)}}(),Hn=2;function Bn(e,t){var r=!1,n=!1,o=0;function s(){r&&(r=!1,e()),n&&a()}function i(){Un(s)}function a(){var l=Date.now();if(r){if(l-o<Hn)return;n=!0}else r=!0,n=!1,setTimeout(i,t);o=l}return a}var xn=20,Wn=["top","right","bottom","left","width","height","size","weight"],jn=typeof MutationObserver<"u",Vn=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=Bn(this.refresh.bind(this),xn)}return e.prototype.addObserver=function(t){~this.observers_.indexOf(t)||this.observers_.push(t),this.connected_||this.connect_()},e.prototype.removeObserver=function(t){var r=this.observers_,n=r.indexOf(t);~n&&r.splice(n,1),!r.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){var t=this.updateObservers_();t&&this.refresh()},e.prototype.updateObservers_=function(){var t=this.observers_.filter(function(r){return r.gatherActive(),r.hasActive()});return t.forEach(function(r){return r.broadcastActive()}),t.length>0},e.prototype.connect_=function(){!Ht||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),jn?(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)},e.prototype.disconnect_=function(){!Ht||!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)},e.prototype.onTransitionEnd_=function(t){var r=t.propertyName,n=r===void 0?"":r,o=Wn.some(function(s){return!!~n.indexOf(s)});o&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),pr=function(e,t){for(var r=0,n=Object.keys(t);r<n.length;r++){var o=n[r];Object.defineProperty(e,o,{value:t[o],enumerable:!1,writable:!1,configurable:!0})}return e},we=function(e){var t=e&&e.ownerDocument&&e.ownerDocument.defaultView;return t||vt},vr=_t(0,0,0,0);function gt(e){return parseFloat(e)||0}function gr(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return t.reduce(function(n,o){var s=e["border-"+o+"-width"];return n+gt(s)},0)}function kn(e){for(var t=["top","right","bottom","left"],r={},n=0,o=t;n<o.length;n++){var s=o[n],i=e["padding-"+s];r[s]=gt(i)}return r}function zn(e){var t=e.getBBox();return _t(0,0,t.width,t.height)}function Qn(e){var t=e.clientWidth,r=e.clientHeight;if(!t&&!r)return vr;var n=we(e).getComputedStyle(e),o=kn(n),s=o.left+o.right,i=o.top+o.bottom,a=gt(n.width),l=gt(n.height);if(n.boxSizing==="border-box"&&(Math.round(a+s)!==t&&(a-=gr(n,"left","right")+s),Math.round(l+i)!==r&&(l-=gr(n,"top","bottom")+i)),!qn(e)){var u=Math.round(a+s)-t,f=Math.round(l+i)-r;Math.abs(u)!==1&&(a-=u),Math.abs(f)!==1&&(l-=f)}return _t(o.left,o.top,a,l)}var Gn=function(){return typeof SVGGraphicsElement<"u"?function(e){return e instanceof we(e).SVGGraphicsElement}:function(e){return e instanceof we(e).SVGElement&&typeof e.getBBox=="function"}}();function qn(e){return e===we(e).document.documentElement}function Yn(e){return Ht?Gn(e)?zn(e):Qn(e):vr}function Xn(e){var t=e.x,r=e.y,n=e.width,o=e.height,s=typeof DOMRectReadOnly<"u"?DOMRectReadOnly:Object,i=Object.create(s.prototype);return pr(i,{x:t,y:r,width:n,height:o,top:r,right:t+n,bottom:o+r,left:t}),i}function _t(e,t,r,n){return{x:e,y:t,width:r,height:n}}var Kn=function(){function e(t){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=_t(0,0,0,0),this.target=t}return e.prototype.isActive=function(){var t=Yn(this.target);return this.contentRect_=t,t.width!==this.broadcastWidth||t.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var t=this.contentRect_;return this.broadcastWidth=t.width,this.broadcastHeight=t.height,t},e}(),Zn=function(){function e(t,r){var n=Xn(r);pr(this,{target:t,contentRect:n})}return e}(),Jn=function(){function e(t,r,n){if(this.activeObservations_=[],this.observations_=new mr,typeof t!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=t,this.controller_=r,this.callbackCtx_=n}return e.prototype.observe=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(t instanceof we(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var r=this.observations_;r.has(t)||(r.set(t,new Kn(t)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(t instanceof we(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var r=this.observations_;r.has(t)&&(r.delete(t),r.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var t=this;this.clearActive(),this.observations_.forEach(function(r){r.isActive()&&t.activeObservations_.push(r)})},e.prototype.broadcastActive=function(){if(this.hasActive()){var t=this.callbackCtx_,r=this.activeObservations_.map(function(n){return new Zn(n.target,n.broadcastRect())});this.callback_.call(t,r,t),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),_r=typeof WeakMap<"u"?new WeakMap:new mr,Sr=function(){function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=Vn.getInstance(),n=new Jn(t,r,this);_r.set(this,n)}return e}();["observe","unobserve","disconnect"].forEach(function(e){Sr.prototype[e]=function(){var t;return(t=_r.get(this))[e].apply(t,arguments)}});var ei=function(){return typeof vt.ResizeObserver<"u"?vt.ResizeObserver:Sr}(),be=new Map;function ti(e){e.forEach(function(t){var r,n=t.target;(r=be.get(n))===null||r===void 0||r.forEach(function(o){return o(n)})})}var Er=new ei(ti);function ri(e,t){be.has(e)||(be.set(e,new Set),Er.observe(e)),be.get(e).add(t)}function ni(e,t){be.has(e)&&(be.get(e).delete(t),be.get(e).size||(Er.unobserve(e),be.delete(e)))}function br(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ii(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,ar(n.key),n)}}function yr(e,t,r){return t&&ii(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Bt(e,t){return Bt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},Bt(e,t)}function oi(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Bt(e,t)}function St(e){return St=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},St(e)}function Cr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Cr=function(){return!!e})()}function ai(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function si(e,t){if(t&&(ae(t)=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ai(e)}function li(e){var t=Cr();return function(){var r,n=St(e);if(t){var o=St(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return si(this,r)}}var ui=function(e){oi(r,e);var t=li(r);function r(){return br(this,r),t.apply(this,arguments)}return yr(r,[{key:"render",value:function(){return this.props.children}}]),r}(v.Component);function ci(e,t){var r=e.children,n=e.disabled,o=v.useRef(null),s=v.useRef(null),i=v.useContext(Ut),a=typeof r=="function",l=a?r(o):r,u=v.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),f=!a&&v.isValidElement(l)&&Dn(l),p=f?l.ref:null,g=Ln(p,o),d=function(){var C;return pt(o.current)||(o.current&&ae(o.current)==="object"?pt((C=o.current)===null||C===void 0?void 0:C.nativeElement):null)||pt(s.current)};v.useImperativeHandle(t,function(){return d()});var E=v.useRef(e);E.current=e;var _=v.useCallback(function(S){var C=E.current,b=C.onResize,P=C.data,R=S.getBoundingClientRect(),k=R.width,U=R.height,F=S.offsetWidth,H=S.offsetHeight,x=Math.floor(k),z=Math.floor(U);if(u.current.width!==x||u.current.height!==z||u.current.offsetWidth!==F||u.current.offsetHeight!==H){var re={width:x,height:z,offsetWidth:F,offsetHeight:H};u.current=re;var K=F===Math.round(k)?k:F,ue=H===Math.round(U)?U:H,Z=Y(Y({},re),{},{offsetWidth:K,offsetHeight:ue});i==null||i(Z,S,P),b&&Promise.resolve().then(function(){b(Z,S)})}},[]);return v.useEffect(function(){var S=d();return S&&!n&&ri(S,_),function(){return ni(S,_)}},[o.current,n]),v.createElement(ui,{ref:s},f?v.cloneElement(l,{ref:g}):l)}var fi=v.forwardRef(ci),hi="rc-observer-key";function di(e,t){var r=e.children,n=typeof r=="function"?[r]:$t(r);return n.map(function(o,s){var i=(o==null?void 0:o.key)||"".concat(hi,"-").concat(s);return v.createElement(fi,We({},e,{key:i,ref:s===0?t:void 0}),o)})}var xt=v.forwardRef(di);xt.Collection=$n;function Or(e){var t=v.useRef();t.current=e;var r=v.useCallback(function(){for(var n,o=arguments.length,s=new Array(o),i=0;i<o;i++)s[i]=arguments[i];return(n=t.current)===null||n===void 0?void 0:n.call.apply(n,[t].concat(s))},[]);return r}function mi(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var Tr=mi()?v.useLayoutEffect:v.useEffect,Ve=function(t,r){var n=v.useRef(!0);Tr(function(){return t(n.current)},r),Tr(function(){return n.current=!1,function(){n.current=!0}},[])},Fr=v.forwardRef(function(e,t){var r=e.height,n=e.offsetY,o=e.offsetX,s=e.children,i=e.prefixCls,a=e.onInnerResize,l=e.innerProps,u=e.rtl,f=e.extra,p={},g={display:"flex",flexDirection:"column"};return n!==void 0&&(p={height:r,position:"relative",overflow:"hidden"},g=Y(Y({},g),{},J(J(J(J(J({transform:"translateY(".concat(n,"px)")},u?"marginRight":"marginLeft",-o),"position","absolute"),"left",0),"right",0),"top",0))),v.createElement("div",{style:p},v.createElement(xt,{onResize:function(E){var _=E.offsetHeight;_&&a&&a()}},v.createElement("div",We({style:g,className:it(J({},"".concat(i,"-holder-inner"),i)),ref:t},l),s,f)))});Fr.displayName="Filler";function pi(e){var t=e.children,r=e.setRef,n=v.useCallback(function(o){r(o)},[]);return v.cloneElement(t,{ref:n})}function vi(e,t,r,n,o,s,i,a){var l=a.getKey;return e.slice(t,r+1).map(function(u,f){var p=t+f,g=i(u,p,{style:{width:n},offsetX:o}),d=l(u);return v.createElement(pi,{key:d,setRef:function(_){return s(u,_)}},g)})}function gi(e,t,r){var n=e.length,o=t.length,s,i;if(n===0&&o===0)return null;n<o?(s=e,i=t):(s=t,i=e);var a={__EMPTY_ITEM__:!0};function l(E){return E!==void 0?r(E):a}for(var u=null,f=Math.abs(n-o)!==1,p=0;p<i.length;p+=1){var g=l(s[p]),d=l(i[p]);if(g!==d){u=p,f=f||g!==l(i[p+1]);break}}return u===null?null:{index:u,multiple:f}}function _i(e,t,r){var n=v.useState(e),o=X(n,2),s=o[0],i=o[1],a=v.useState(null),l=X(a,2),u=l[0],f=l[1];return v.useEffect(function(){var p=gi(s||[],e||[],t);(p==null?void 0:p.index)!==void 0&&f(e[p.index]),i(e)},[e]),[u]}var Rr=function(t){return+setTimeout(t,16)},Pr=function(t){return clearTimeout(t)};typeof window<"u"&&"requestAnimationFrame"in window&&(Rr=function(t){return window.requestAnimationFrame(t)},Pr=function(t){return window.cancelAnimationFrame(t)});var Ir=0,Wt=new Map;function Nr(e){Wt.delete(e)}var me=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;Ir+=1;var n=Ir;function o(s){if(s===0)Nr(n),t();else{var i=Rr(function(){o(s-1)});Wt.set(n,i)}}return o(r),n};me.cancel=function(e){var t=Wt.get(e);return Nr(e),Pr(t)};var Mr=(typeof navigator>"u"?"undefined":ae(navigator))==="object"&&/Firefox/i.test(navigator.userAgent);const wr=function(e,t,r,n){var o=h.useRef(!1),s=h.useRef(null);function i(){clearTimeout(s.current),o.current=!0,s.current=setTimeout(function(){o.current=!1},50)}var a=h.useRef({top:e,bottom:t,left:r,right:n});return a.current.top=e,a.current.bottom=t,a.current.left=r,a.current.right=n,function(l,u){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,p=l?u<0&&a.current.left||u>0&&a.current.right:u<0&&a.current.top||u>0&&a.current.bottom;return f&&p?(clearTimeout(s.current),o.current=!1):(!p||o.current)&&i(),!o.current&&p}};function Si(e,t,r,n,o,s,i){var a=h.useRef(0),l=h.useRef(null),u=h.useRef(null),f=h.useRef(!1),p=wr(t,r,n,o);function g(b,P){me.cancel(l.current),a.current+=P,u.current=P,!p(!1,P)&&(Mr||b.preventDefault(),l.current=me(function(){var R=f.current?10:1;i(a.current*R),a.current=0}))}function d(b,P){i(P,!0),Mr||b.preventDefault()}var E=h.useRef(null),_=h.useRef(null);function S(b){if(e){me.cancel(_.current),_.current=me(function(){E.current=null},2);var P=b.deltaX,R=b.deltaY,k=b.shiftKey,U=P,F=R;(E.current==="sx"||!E.current&&k&&R&&!P)&&(U=R,F=0,E.current="sx");var H=Math.abs(U),x=Math.abs(F);E.current===null&&(E.current=s&&H>x?"x":"y"),E.current==="y"?g(b,F):d(b,U)}}function C(b){e&&(f.current=b.detail===u.current)}return[S,C]}function Ei(e,t,r,n){var o=v.useMemo(function(){return[new Map,[]]},[e,r.id,n]),s=X(o,2),i=s[0],a=s[1],l=function(f){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f,g=i.get(f),d=i.get(p);if(g===void 0||d===void 0)for(var E=e.length,_=a.length;_<E;_+=1){var S,C=e[_],b=t(C);i.set(b,_);var P=(S=r.get(b))!==null&&S!==void 0?S:n;if(a[_]=(a[_-1]||0)+P,b===f&&(g=_),b===p&&(d=_),g!==void 0&&d!==void 0)break}return{top:a[g-1]||0,bottom:a[d]}};return l}var bi=function(){function e(){br(this,e),J(this,"maps",void 0),J(this,"id",0),this.maps=Object.create(null)}return yr(e,[{key:"set",value:function(r,n){this.maps[r]=n,this.id+=1}},{key:"get",value:function(r){return this.maps[r]}}]),e}();function yi(e,t,r){var n=v.useState(0),o=X(n,2),s=o[0],i=o[1],a=h.useRef(new Map),l=h.useRef(new bi),u=h.useRef();function f(){me.cancel(u.current)}function p(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;f();var E=function(){a.current.forEach(function(S,C){if(S&&S.offsetParent){var b=pt(S),P=b.offsetHeight;l.current.get(C)!==P&&l.current.set(C,b.offsetHeight)}}),i(function(S){return S+1})};d?E():u.current=me(E)}function g(d,E){var _=e(d);a.current.get(_),E?(a.current.set(_,E),p()):a.current.delete(_)}return h.useEffect(function(){return f},[]),[g,p,l.current,s]}var Ar=14/15;function Ci(e,t,r){var n=h.useRef(!1),o=h.useRef(0),s=h.useRef(0),i=h.useRef(null),a=h.useRef(null),l,u=function(d){if(n.current){var E=Math.ceil(d.touches[0].pageX),_=Math.ceil(d.touches[0].pageY),S=o.current-E,C=s.current-_,b=Math.abs(S)>Math.abs(C);b?o.current=E:s.current=_,r(b,b?S:C)&&d.preventDefault(),clearInterval(a.current),a.current=setInterval(function(){b?S*=Ar:C*=Ar;var P=Math.floor(b?S:C);(!r(b,P,!0)||Math.abs(P)<=.1)&&clearInterval(a.current)},16)}},f=function(){n.current=!1,l()},p=function(d){l(),d.touches.length===1&&!n.current&&(n.current=!0,o.current=Math.ceil(d.touches[0].pageX),s.current=Math.ceil(d.touches[0].pageY),i.current=d.target,i.current.addEventListener("touchmove",u),i.current.addEventListener("touchend",f))};l=function(){i.current&&(i.current.removeEventListener("touchmove",u),i.current.removeEventListener("touchend",f))},Ve(function(){return e&&t.current.addEventListener("touchstart",p),function(){var g;(g=t.current)===null||g===void 0||g.removeEventListener("touchstart",p),l(),clearInterval(a.current)}},[e])}var Oi=10;function Ti(e,t,r,n,o,s,i,a){var l=v.useRef(),u=v.useState(null),f=X(u,2),p=f[0],g=f[1];return Ve(function(){if(p&&p.times<Oi){if(!e.current){g(function(ee){return Y({},ee)});return}s();var d=p.targetAlign,E=p.originAlign,_=p.index,S=p.offset,C=e.current.clientHeight,b=!1,P=d,R=null;if(C){for(var k=d||E,U=0,F=0,H=0,x=Math.min(t.length-1,_),z=0;z<=x;z+=1){var re=o(t[z]);F=U;var K=r.get(re);H=F+(K===void 0?n:K),U=H}for(var ue=k==="top"?S:C-S,Z=x;Z>=0;Z-=1){var Ae=o(t[Z]),ne=r.get(Ae);if(ne===void 0){b=!0;break}if(ue-=ne,ue<=0)break}switch(k){case"top":R=F-S;break;case"bottom":R=H-C+S;break;default:{var Fe=e.current.scrollTop,pe=Fe+C;F<Fe?P="top":H>pe&&(P="bottom")}}R!==null&&i(R),R!==p.lastTop&&(b=!0)}b&&g(Y(Y({},p),{},{times:p.times+1,targetAlign:P,lastTop:R}))}},[p,e.current]),function(d){if(d==null){a();return}if(me.cancel(l.current),typeof d=="number")i(d);else if(d&&ae(d)==="object"){var E,_=d.align;"index"in d?E=d.index:E=t.findIndex(function(b){return o(b)===d.key});var S=d.offset,C=S===void 0?0:S;g({times:0,index:E,offset:C,originAlign:_})}}}function Lr(e,t){var r="touches"in e?e.touches[0]:e;return r[t?"pageX":"pageY"]}var Dr=v.forwardRef(function(e,t){var r=e.prefixCls,n=e.rtl,o=e.scrollOffset,s=e.scrollRange,i=e.onStartMove,a=e.onStopMove,l=e.onScroll,u=e.horizontal,f=e.spinSize,p=e.containerSize,g=e.style,d=e.thumbStyle,E=v.useState(!1),_=X(E,2),S=_[0],C=_[1],b=v.useState(null),P=X(b,2),R=P[0],k=P[1],U=v.useState(null),F=X(U,2),H=F[0],x=F[1],z=!n,re=v.useRef(),K=v.useRef(),ue=v.useState(!1),Z=X(ue,2),Ae=Z[0],ne=Z[1],Fe=v.useRef(),pe=function(){clearTimeout(Fe.current),ne(!0),Fe.current=setTimeout(function(){ne(!1)},3e3)},ee=s-p||0,ze=p-f||0,W=v.useMemo(function(){if(o===0||ee===0)return 0;var ie=o/ee;return ie*ze},[o,ee,ze]),Re=function(B){B.stopPropagation(),B.preventDefault()},Le=v.useRef({top:W,dragging:S,pageY:R,startTop:H});Le.current={top:W,dragging:S,pageY:R,startTop:H};var De=function(B){C(!0),k(Lr(B,u)),x(Le.current.top),i(),B.stopPropagation(),B.preventDefault()};v.useEffect(function(){var ie=function($e){$e.preventDefault()},B=re.current,fe=K.current;return B.addEventListener("touchstart",ie),fe.addEventListener("touchstart",De),function(){B.removeEventListener("touchstart",ie),fe.removeEventListener("touchstart",De)}},[]);var Ct=v.useRef();Ct.current=ee;var Qe=v.useRef();Qe.current=ze,v.useEffect(function(){if(S){var ie,B=function($e){var Ge=Le.current,Tt=Ge.dragging,Ft=Ge.pageY,Rt=Ge.startTop;if(me.cancel(ie),Tt){var Pt=Lr($e,u)-Ft,Ce=Rt;!z&&u?Ce-=Pt:Ce+=Pt;var qe=Ct.current,It=Qe.current,zt=It?Ce/It:0,Pe=Math.ceil(zt*qe);Pe=Math.max(Pe,0),Pe=Math.min(Pe,qe),ie=me(function(){l(Pe,u)})}},fe=function(){C(!1),a()};return window.addEventListener("mousemove",B),window.addEventListener("touchmove",B),window.addEventListener("mouseup",fe),window.addEventListener("touchend",fe),function(){window.removeEventListener("mousemove",B),window.removeEventListener("touchmove",B),window.removeEventListener("mouseup",fe),window.removeEventListener("touchend",fe),me.cancel(ie)}}},[S]),v.useEffect(function(){pe()},[o]),v.useImperativeHandle(t,function(){return{delayHidden:pe}});var te="".concat(r,"-scrollbar"),ce={position:"absolute",visibility:Ae?null:"hidden"},ve={position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"};return u?(ce.height=8,ce.left=0,ce.right=0,ce.bottom=0,ve.height="100%",ve.width=f,z?ve.left=W:ve.right=W):(ce.width=8,ce.top=0,ce.bottom=0,z?ce.right=0:ce.left=0,ve.width="100%",ve.height=f,ve.top=W),v.createElement("div",{ref:re,className:it(te,J(J(J({},"".concat(te,"-horizontal"),u),"".concat(te,"-vertical"),!u),"".concat(te,"-visible"),Ae)),style:Y(Y({},ce),g),onMouseDown:Re,onMouseMove:pe},v.createElement("div",{ref:K,className:it("".concat(te,"-thumb"),J({},"".concat(te,"-thumb-moving"),S)),style:Y(Y({},ve),d),onMouseDown:De}))}),Fi=20;function $r(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=e/t*e;return isNaN(r)&&(r=0),r=Math.max(r,Fi),Math.floor(r)}var Ri=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles"],Pi=[],Ii={overflowY:"auto",overflowAnchor:"none"};function Ni(e,t){var r=e.prefixCls,n=r===void 0?"rc-virtual-list":r,o=e.className,s=e.height,i=e.itemHeight,a=e.fullHeight,l=a===void 0?!0:a,u=e.style,f=e.data,p=e.children,g=e.itemKey,d=e.virtual,E=e.direction,_=e.scrollWidth,S=e.component,C=S===void 0?"div":S,b=e.onScroll,P=e.onVirtualScroll,R=e.onVisibleChange,k=e.innerProps,U=e.extraRender,F=e.styles,H=Tn(e,Ri),x=v.useCallback(function(O){return typeof g=="function"?g(O):O==null?void 0:O[g]},[g]),z=yi(x),re=X(z,4),K=re[0],ue=re[1],Z=re[2],Ae=re[3],ne=!!(d!==!1&&s&&i),Fe=v.useMemo(function(){return Object.values(Z.maps).reduce(function(O,y){return O+y},0)},[Z.id,Z.maps]),pe=ne&&f&&(Math.max(i*f.length,Fe)>s||!!_),ee=E==="rtl",ze=it(n,J({},"".concat(n,"-rtl"),ee),o),W=f||Pi,Re=h.useRef(),Le=h.useRef(),De=h.useRef(),Ct=h.useState(0),Qe=X(Ct,2),te=Qe[0],ce=Qe[1],ve=h.useState(0),ie=X(ve,2),B=ie[0],fe=ie[1],Ot=h.useState(!1),$e=X(Ot,2),Ge=$e[0],Tt=$e[1],Ft=function(){Tt(!0)},Rt=function(){Tt(!1)},Pt={getKey:x};function Ce(O){ce(function(y){var L;typeof O=="function"?L=O(y):L=O;var Q=mo(L);return Re.current.scrollTop=Q,Q})}var qe=h.useRef({start:0,end:W.length}),It=h.useRef(),zt=_i(W,x),Pe=X(zt,1),so=Pe[0];It.current=so;var Nt=v.useMemo(function(){if(!ne)return{scrollHeight:void 0,start:0,end:W.length-1,offset:void 0};if(!pe){var O;return{scrollHeight:((O=Le.current)===null||O===void 0?void 0:O.offsetHeight)||0,start:0,end:W.length-1,offset:void 0}}for(var y=0,L,Q,Oe,yo=W.length,Ze=0;Ze<yo;Ze+=1){var Co=W[Ze],Oo=x(Co),nn=Z.get(Oo),Zt=y+(nn===void 0?i:nn);Zt>=te&&L===void 0&&(L=Ze,Q=y),Zt>te+s&&Oe===void 0&&(Oe=Ze),y=Zt}return L===void 0&&(L=0,Q=0,Oe=Math.ceil(s/i)),Oe===void 0&&(Oe=W.length-1),Oe=Math.min(Oe+1,W.length-1),{scrollHeight:y,start:L,end:Oe,offset:Q}},[pe,ne,te,W,Ae,s]),Ue=Nt.scrollHeight,Ye=Nt.start,Xe=Nt.end,Vr=Nt.offset;qe.current.start=Ye,qe.current.end=Xe;var lo=v.useState({width:0,height:s}),kr=X(lo,2),Se=kr[0],uo=kr[1],co=function(y){uo({width:y.width||y.offsetWidth,height:y.height||y.offsetHeight})},zr=h.useRef(),Qr=h.useRef(),fo=v.useMemo(function(){return $r(Se.width,_)},[Se.width,_]),ho=v.useMemo(function(){return $r(Se.height,Ue)},[Se.height,Ue]),Qt=Ue-s,Gt=h.useRef(Qt);Gt.current=Qt;function mo(O){var y=O;return Number.isNaN(Gt.current)||(y=Math.min(y,Gt.current)),y=Math.max(y,0),y}var Gr=te<=0,qr=te>=Qt,Yr=B<=0,Xr=B>=_,po=wr(Gr,qr,Yr,Xr),qt=function(){return{x:ee?-B:B,y:te}},Yt=h.useRef(qt()),Mt=Or(function(O){if(P){var y=Y(Y({},qt()),O);(Yt.current.x!==y.x||Yt.current.y!==y.y)&&(P(y),Yt.current=y)}});function Kr(O,y){var L=O;y?(Je.flushSync(function(){fe(L)}),Mt()):Ce(L)}function vo(O){var y=O.currentTarget.scrollTop;y!==te&&Ce(y),b==null||b(O),Mt()}var Xt=function(y){var L=y,Q=_?_-Se.width:0;return L=Math.max(L,0),L=Math.min(L,Q),L},go=Or(function(O,y){y?(Je.flushSync(function(){fe(function(L){var Q=L+(ee?-O:O);return Xt(Q)})}),Mt()):Ce(function(L){var Q=L+O;return Q})}),_o=Si(ne,Gr,qr,Yr,Xr,!!_,go),Zr=X(_o,2),Kt=Zr[0],Jr=Zr[1];Ci(ne,Re,function(O,y,L){return po(O,y,L)?!1:(Kt({preventDefault:function(){},deltaX:O?y:0,deltaY:O?0:y}),!0)}),Ve(function(){function O(L){ne&&L.preventDefault()}var y=Re.current;return y.addEventListener("wheel",Kt),y.addEventListener("DOMMouseScroll",Jr),y.addEventListener("MozMousePixelScroll",O),function(){y.removeEventListener("wheel",Kt),y.removeEventListener("DOMMouseScroll",Jr),y.removeEventListener("MozMousePixelScroll",O)}},[ne]),Ve(function(){if(_){var O=Xt(B);fe(O),Mt({x:O})}},[Se.width,_]);var en=function(){var y,L;(y=zr.current)===null||y===void 0||y.delayHidden(),(L=Qr.current)===null||L===void 0||L.delayHidden()},tn=Ti(Re,W,Z,i,x,function(){return ue(!0)},Ce,en);v.useImperativeHandle(t,function(){return{nativeElement:De.current,getScrollInfo:qt,scrollTo:function(y){function L(Q){return Q&&ae(Q)==="object"&&("left"in Q||"top"in Q)}L(y)?(y.left!==void 0&&fe(Xt(y.left)),tn(y.top)):tn(y)}}}),Ve(function(){if(R){var O=W.slice(Ye,Xe+1);R(O,W)}},[Ye,Xe,W]);var So=Ei(W,x,Z,i),Eo=U==null?void 0:U({start:Ye,end:Xe,virtual:pe,offsetX:B,offsetY:Vr,rtl:ee,getSize:So}),bo=vi(W,Ye,Xe,_,B,K,p,Pt),Ke=null;s&&(Ke=Y(J({},l?"height":"maxHeight",s),Ii),ne&&(Ke.overflowY="hidden",_&&(Ke.overflowX="hidden"),Ge&&(Ke.pointerEvents="none")));var rn={};return ee&&(rn.dir="rtl"),v.createElement("div",We({ref:De,style:Y(Y({},u),{},{position:"relative"}),className:ze},rn,H),v.createElement(xt,{onResize:co},v.createElement(C,{className:"".concat(n,"-holder"),style:Ke,ref:Re,onScroll:vo,onMouseEnter:en},v.createElement(Fr,{prefixCls:n,height:Ue,offsetX:B,offsetY:Vr,scrollWidth:_,onInnerResize:ue,ref:Le,innerProps:k,rtl:ee,extra:Eo},bo))),pe&&Ue>s&&v.createElement(Dr,{ref:zr,prefixCls:n,scrollOffset:te,scrollRange:Ue,rtl:ee,onScroll:Kr,onStartMove:Ft,onStopMove:Rt,spinSize:ho,containerSize:Se.height,style:F==null?void 0:F.verticalScrollBar,thumbStyle:F==null?void 0:F.verticalScrollBarThumb}),pe&&_>Se.width&&v.createElement(Dr,{ref:Qr,prefixCls:n,scrollOffset:B,scrollRange:_,rtl:ee,onScroll:Kr,onStartMove:Ft,onStopMove:Rt,spinSize:fo,containerSize:Se.width,horizontal:!0,style:F==null?void 0:F.horizontalScrollBar,thumbStyle:F==null?void 0:F.horizontalScrollBarThumb}))}var Ur=v.forwardRef(Ni);Ur.displayName="List";function Mi(e){const{model:t}=e,r=Be.useDependency(m.LocaleService),n=$.useObservable(t.searchString$,"",!0),o=$.useObservable(t.filterItems$,void 0,!0),s=r.t("sheets-filter.panel.filter-only"),i=wt(o),a=i.checked>0&&i.unchecked===0,l=i.checked>0&&i.unchecked>0,u=h.useCallback((d,E)=>{t.onFilterCheckToggled(d,E)},[t]),f=h.useCallback(d=>{t.onFilterOnly(d)},[t]),p=h.useCallback(()=>{t.onCheckAllToggled(!a)},[t,a]),g=h.useCallback(d=>{t.setSearchString(d)},[t]);return h.createElement("div",{className:j.sheetsFilterPanelValuesContainer},h.createElement(G.Input,{value:n,placeholder:r.t("sheets-filter.panel.search-placeholder"),onChange:g}),h.createElement("div",{className:j.sheetsFilterPanelValuesList},h.createElement("div",{className:j.sheetsFilterPanelValuesItem},h.createElement("div",{className:j.sheetsFilterPanelValuesItemInner},h.createElement(G.Checkbox,{indeterminate:l,disabled:o.length===0,checked:a,onChange:p}),h.createElement("span",{className:j.sheetsFilterPanelValuesItemText},`${r.t("sheets-filter.panel.select-all")}`),h.createElement("span",{className:j.sheetsFilterPanelValuesItemCount},`(${i.checked}/${i.checked+i.unchecked})`))),h.createElement("div",{className:j.sheetsFilterPanelValuesVirtual},h.createElement(Ur,{style:{paddingRight:8},data:o,height:190,itemHeight:32,itemKey:d=>`${d.value}----${d.checked}`},d=>h.createElement("div",{className:j.sheetsFilterPanelValuesItem},h.createElement("div",{className:j.sheetsFilterPanelValuesItemInner},h.createElement(G.Checkbox,{checked:d.checked,onChange:()=>u(d,!d.checked)}),h.createElement(G.Tooltip,{showIfEllipsis:!0,placement:"top",title:d.value},h.createElement("span",{className:j.sheetsFilterPanelValuesItemText},d.value)),h.createElement("span",{className:j.sheetsFilterPanelValuesItemCount},`(${d.count})`),h.createElement(G.Button,{className:j.sheetsFilterPanelValuesItemExcludeButton,size:"small",type:"link",onClick:()=>f(d)},s)))))))}function wi(){const e=Be.useDependency(Ee),t=Be.useDependency(m.LocaleService),r=Be.useDependency(m.ICommandService),n=$.useObservable(e.filterBy$,void 0,!0),o=$.useObservable(e.filterByModel$,void 0,!1),s=$.useObservable(()=>(o==null?void 0:o.canApply$)||I.of(!1),void 0,!1,[o]),i=Ai(t),a=!$.useObservable(e.hasCriteria$),l=h.useCallback(g=>{r.executeCommand(or.id,{filterBy:g})},[r]),u=h.useCallback(async()=>{await(o==null?void 0:o.clear()),r.executeCommand(xe.id)},[o,r]),f=h.useCallback(()=>{r.executeCommand(xe.id)},[r]),p=h.useCallback(async()=>{await(o==null?void 0:o.apply()),r.executeCommand(xe.id)},[o,r]);return h.createElement("div",{className:j.sheetsFilterPanel},h.createElement("div",{className:j.sheetsFilterPanelHeader},h.createElement(G.Segmented,{value:n,options:i,onChange:g=>l(g)})),o?h.createElement("div",{className:j.sheetsFilterPanelContent},n===et.VALUES?h.createElement(Mi,{model:o}):h.createElement(vn,{model:o})):null,h.createElement("div",{className:j.sheetsFilterPanelFooter},h.createElement(G.Button,{type:"link",onClick:u,disabled:a},t.t("sheets-filter.panel.clear-filter")),h.createElement("span",{className:j.sheetsFilterPanelFooterPrimaryButtons},h.createElement(G.Button,{type:"default",onClick:f},t.t("sheets-filter.panel.cancel")),h.createElement(G.Button,{disabled:!s,type:"primary",onClick:p},t.t("sheets-filter.panel.confirm")))))}function Ai(e){const t=e.getCurrentLocale();return h.useMemo(()=>[{label:e.t("sheets-filter.panel.by-values"),value:et.VALUES},{label:e.t("sheets-filter.panel.by-conditions"),value:et.CONDITIONS}],[t,e])}const Li={id:Te.id,binding:$.KeyCode.L|$.MetaKeys.CTRL_COMMAND|$.MetaKeys.SHIFT,description:"sheets-filter.shortcut.smart-toggle-filter",preconditions:he.whenSheetEditorFocused,group:"4_sheet-edit"};function Di(e){const t=e.get(c.SheetsFilterService);return{id:Te.id,group:$.MenuGroup.TOOLBAR_FORMULAS_INSERT,type:$.MenuItemType.BUTTON_SELECTOR,icon:"FilterSingle",tooltip:"sheets-filter.toolbar.smart-toggle-filter-tooltip",positions:[$.MenuPosition.TOOLBAR_START],hidden$:$.getMenuHiddenObservable(e,m.UniverInstanceType.UNIVER_SHEET),activated$:t.activeFilterModel$.pipe(I.map(r=>!!r)),disabled$:he.getCurrentRangeDisable$(e,{workbookTypes:[q.WorkbookEditablePermission],worksheetTypes:[q.WorksheetFilterPermission,q.WorksheetEditPermission],rangeTypes:[q.RangeProtectionPermissionEditPoint]})}}function $i(e){const t=e.get(c.SheetsFilterService);return{id:rr.id,group:$.MenuGroup.TOOLBAR_OTHERS,type:$.MenuItemType.BUTTON,title:"sheets-filter.toolbar.clear-filter-criteria",positions:[Te.id],hidden$:$.getMenuHiddenObservable(e,m.UniverInstanceType.UNIVER_SHEET),disabled$:t.activeFilterModel$.pipe(I.switchMap(r=>{var n;return(n=r==null?void 0:r.hasCriteria$.pipe(I.map(o=>!o)))!=null?n:I.of(!0)}))}}function Ui(e){const t=e.get(c.SheetsFilterService);return{id:nr.id,group:$.MenuGroup.TOOLBAR_OTHERS,type:$.MenuItemType.BUTTON,title:"sheets-filter.toolbar.re-calc-filter-conditions",positions:[Te.id],hidden$:$.getMenuHiddenObservable(e,m.UniverInstanceType.UNIVER_SHEET),disabled$:t.activeFilterModel$.pipe(I.switchMap(r=>{var n;return(n=r==null?void 0:r.hasCriteria$.pipe(I.map(o=>!o)))!=null?n:I.of(!0)}))}}const ye=16,Hi=new Path2D("M3.30363 3C2.79117 3 2.51457 3.60097 2.84788 3.99024L6.8 8.60593V12.5662C6.8 12.7184 6.8864 12.8575 7.02289 12.9249L8.76717 13.7863C8.96655 13.8847 9.2 13.7396 9.2 13.5173V8.60593L13.1521 3.99024C13.4854 3.60097 13.2088 3 12.6964 3H3.30363Z");class Hr{static drawNoCriteria(t,r,n,o){t.save(),He.Rect.drawWith(t,{radius:2,width:ye,height:ye,fill:o}),t.lineCap="square",t.strokeStyle=n,t.scale(r/ye,r/ye),t.beginPath(),t.lineWidth=1,t.lineCap="round",t.moveTo(3,4),t.lineTo(13,4),t.moveTo(4.5,8),t.lineTo(11.5,8),t.moveTo(6,12),t.lineTo(10,12),t.stroke(),t.restore()}static drawHasCriteria(t,r,n,o){t.save(),He.Rect.drawWith(t,{radius:2,width:ye,height:ye,fill:o}),t.scale(r/ye,r/ye),t.fillStyle=n,t.fill(Hi),t.restore()}}var Bi=Object.defineProperty,xi=Object.getOwnPropertyDescriptor,Wi=(e,t,r,n)=>{for(var o=n>1?void 0:n?xi(t,r):t,s=e.length-1,i;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&Bi(t,r,o),o},jt=(e,t)=>(r,n)=>t(r,n,e);const ge=16,Et=1;let Vt=class extends He.Shape{constructor(t,r,n,o,s){super(t,r);A(this,"_cellWidth",0);A(this,"_cellHeight",0);A(this,"_filterParams");A(this,"_hovered",!1);this._contextService=n,this._commandService=o,this._themeService=s,this.setShapeProps(r),this.onPointerDownObserver.add(i=>this.onPointerDown(i)),this.onPointerEnterObserver.add(()=>this.onPointerEnter()),this.onPointerLeaveObserver.add(()=>this.onPointerLeave())}setShapeProps(t){typeof t.cellHeight<"u"&&(this._cellHeight=t.cellHeight),typeof t.cellWidth<"u"&&(this._cellWidth=t.cellWidth),typeof t.filterParams<"u"&&(this._filterParams=t.filterParams),this.transformByState({width:t.width,height:t.height})}_draw(t){const r=this._cellHeight,n=this._cellWidth,o=ge-n,s=ge-r;t.save();const i=new Path2D;i.rect(o,s,n,r),t.clip(i);const{hasCriteria:a}=this._filterParams,l=this._themeService.getCurrentTheme().primaryColor,u=this._hovered?this._themeService.getCurrentTheme().grey50:"rgba(255, 255, 255, 1.0)";a?Hr.drawHasCriteria(t,ge,l,u):Hr.drawNoCriteria(t,ge,l,u),t.restore()}onPointerDown(t){if(t.button===2)return;const{col:r,unitId:n,subUnitId:o}=this._filterParams;this._contextService.getContextValue(Me)||setTimeout(()=>{this._commandService.executeCommand(nt.id,{unitId:n,subUnitId:o,col:r})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};Vt=Wi([jt(2,m.IContextService),jt(3,m.ICommandService),jt(4,M.Inject(m.ThemeService))],Vt);var ji=Object.defineProperty,Vi=Object.getOwnPropertyDescriptor,ki=(e,t,r,n)=>{for(var o=n>1?void 0:n?Vi(t,r):t,s=e.length-1,i;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&ji(t,r,o),o},_e=(e,t)=>(r,n)=>t(r,n,e);const zi=1e3,Qi=5e3;let kt=class extends m.RxDisposable{constructor(t,r,n,o,s,i,a,l,u,f){super();A(this,"_filterRangeShape",null);A(this,"_buttonRenderDisposable",null);A(this,"_filterButtonShapes",[]);this._context=t,this._injector=r,this._sheetSkeletonManagerService=n,this._sheetsFilterService=o,this._themeService=s,this._sheetInterceptorService=i,this._sheetsRenderService=a,this._commandService=l,this._renderManagerService=u,this._selectionRenderService=f,[c.SetSheetsFilterRangeMutation,c.SetSheetsFilterCriteriaMutation,c.RemoveSheetsFilterMutation,c.ReCalcSheetsFilterMutation].forEach(p=>this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(p.id))),this._initRenderer()}_initRenderer(){I.combineLatest([this._selectionRenderService.usable$,this._sheetSkeletonManagerService.currentSkeleton$]).pipe(I.filter(([t])=>t),I.switchMap(([t,r])=>{var l;if(!r)return I.of(null);const{unit:n,unitId:o}=this._context,s=n.getActiveSheet().getSheetId(),i=(l=this._sheetsFilterService.getFilterModel(o,s))!=null?l:void 0,a=()=>({unitId:o,worksheetId:s,filterModel:i,range:i==null?void 0:i.getRange(),skeleton:r.skeleton});return m.fromCallback(this._commandService.onCommandExecuted).pipe(I.filter(([u])=>u.type===m.CommandType.MUTATION&&u.params.unitId===n.getUnitId()&&c.FILTER_MUTATIONS.has(u.id)),I.throttleTime(20,void 0,{leading:!1,trailing:!0}),I.map(a),I.startWith(a()))}),I.takeUntil(this.dispose$)).subscribe(t=>{this._disposeRendering(),!(!t||!t.range)&&(this._renderRange(t.unitId,t.range,t.skeleton),this._renderButtons(t))})}_renderRange(t,r,n){const o=this._renderManagerService.getRenderById(t);if(!o)return;const{scene:s}=o,{rangeWithCoord:i,style:a}=this._selectionRenderService.attachSelectionWithCoord({range:r,primary:null,style:null}),{rowHeaderWidth:l,columnHeaderHeight:u}=n,f=this._filterRangeShape=new he.SelectionShape(s,zi,!0,this._themeService);f.update(i,l,u,{hasAutoFill:!1,fill:"rgba(0, 0, 0, 0.0)",...a}),f.setEvent(!1),s.makeDirty(!0)}_renderButtons(t){const{range:r,filterModel:n,unitId:o,skeleton:s,worksheetId:i}=t,a=this._renderManagerService.getRenderById(o);if(!a)return;const{scene:l}=a;this._interceptCellContent(t.range);const{startColumn:u,endColumn:f,startRow:p}=r;for(let g=u;g<=f;g++){const d=`sheets-filter-button-${g}`,E=he.getCoordByCell(p,g,l,s),{startX:_,startY:S,endX:C,endY:b}=E,P=C-_,R=b-S;if(R<=Et||P<=Et)continue;const k=!!n.getFilterColumn(g),U=C-ge-Et,F=b-ge-Et,H={left:U,top:F,height:ge,width:ge,zIndex:Qi,cellHeight:R,cellWidth:P,filterParams:{unitId:o,subUnitId:i,col:g,hasCriteria:k}},x=this._injector.createInstance(Vt,d,H);this._filterButtonShapes.push(x)}l.addObjects(this._filterButtonShapes),l.makeDirty()}_interceptCellContent(t){const{startRow:r,startColumn:n,endColumn:o}=t;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(q.INTERCEPTOR_POINT.CELL_CONTENT,{handler:(s,i,a)=>{const{row:l,col:u}=i;return l!==r||u<n||u>o?a(s):a({...s,fontRenderExtension:{...s==null?void 0:s.fontRenderExtension,rightOffset:ge}})},priority:10})}_disposeRendering(){var t,r;(t=this._filterRangeShape)==null||t.dispose(),this._filterButtonShapes.forEach(n=>n.dispose()),(r=this._buttonRenderDisposable)==null||r.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}};kt=ki([_e(1,M.Inject(M.Injector)),_e(2,M.Inject(he.SheetSkeletonManagerService)),_e(3,M.Inject(c.SheetsFilterService)),_e(4,M.Inject(m.ThemeService)),_e(5,M.Inject(q.SheetInterceptorService)),_e(6,M.Inject(he.SheetsRenderService)),_e(7,m.ICommandService),_e(8,He.IRenderManagerService),_e(9,he.ISelectionRenderService)],kt);var Gi=Object.defineProperty,qi=Object.getOwnPropertyDescriptor,Yi=(e,t,r,n)=>{for(var o=n>1?void 0:n?qi(t,r):t,s=e.length-1,i;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&Gi(t,r,o),o},le=(e,t)=>(r,n)=>t(r,n,e);const Xi={},Br="FILTER_PANEL_POPUP";let ke=class extends m.RxDisposable{constructor(t,r,n,o,s,i,a,l,u,f,p,g,d){super();A(this,"_popupDisposable");this._config=t,this._injector=r,this._componentManager=n,this._sheetsFilterPanelService=o,this._sheetCanvasPopupService=s,this._sheetsFilterService=i,this._localeService=a,this._renderManagerService=l,this._shortcutService=u,this._commandService=f,this._menuService=p,this._contextService=g,this._messageService=d,this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI(),this._initRenderControllers()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[Li].forEach(t=>{this.disposeWithMe(this._shortcutService.registerShortcut(t))})}_initCommands(){[Te,Ie,rr,nr,or,nt,xe].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}_initMenuItems(){const{menu:t={}}=this._config;[Di,$i,Ui].forEach(r=>{this.disposeWithMe(this._menuService.addMenuItem(this._injector.invoke(r),t))})}_initUI(){this.disposeWithMe(this._componentManager.register(Br,wi)),this.disposeWithMe(this._componentManager.register("FilterSingle",tr)),this.disposeWithMe(this._contextService.subscribeContextValue$(Me).pipe(I.distinctUntilChanged()).subscribe(t=>{t?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(t=>{t&&this._messageService.show({type:G.MessageType.Error,content:this._localeService.t(t)})}))}_initRenderControllers(){this.disposeWithMe(this._renderManagerService.registerRenderController(m.UniverInstanceType.UNIVER_SHEET,kt))}_openFilterPopup(){const t=this._sheetsFilterPanelService.filterModel;if(!t)throw new Error("[SheetsFilterUIController]: no filter model when opening filter popup!");const r=t.getRange(),n=this._sheetsFilterPanelService.col,{startRow:o}=r;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(o,n,{componentKey:Br,direction:"horizontal",closeOnSelfTarget:!0,onClickOutside:()=>this._commandService.syncExecuteCommand(xe.id),offset:[5,0]})}_closeFilterPopup(){var t;(t=this._popupDisposable)==null||t.dispose(),this._popupDisposable=null}};ke=Yi([m.OnLifecycle(m.LifecycleStages.Ready,ke),le(1,M.Inject(M.Injector)),le(2,M.Inject($.ComponentManager)),le(3,M.Inject(Ee)),le(4,M.Inject(he.SheetCanvasPopManagerService)),le(5,M.Inject(c.SheetsFilterService)),le(6,M.Inject(m.LocaleService)),le(7,He.IRenderManagerService),le(8,$.IShortcutService),le(9,m.ICommandService),le(10,$.IMenuService),le(11,m.IContextService),le(12,$.IMessageService)],ke);var Ki=Object.defineProperty,Zi=Object.getOwnPropertyDescriptor,Ji=(e,t,r,n)=>{for(var o=n>1?void 0:n?Zi(t,r):t,s=e.length-1,i;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&Ki(t,r,o),o},bt=(e,t)=>(r,n)=>t(r,n,e);let yt=class extends m.Disposable{constructor(e,t,r,n){super(),this._sheetsFilterService=e,this._localeService=t,this._commandService=r,this._sheetPermissionInterceptorBaseController=n,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{var t;if(e.id===Te.id&&(this._sheetPermissionInterceptorBaseController.permissionCheckWithoutRange({workbookTypes:[q.WorkbookEditablePermission],rangeTypes:[q.RangeProtectionPermissionViewPoint],worksheetTypes:[q.WorksheetFilterPermission,q.WorksheetEditPermission]})||this._sheetPermissionInterceptorBaseController.haveNotPermissionHandle(this._localeService.t("permission.dialog.filterErr"))),e.id===nt.id){const r=e.params,{unitId:n,subUnitId:o}=r,s=(t=this._sheetsFilterService.getFilterModel(n,o))==null?void 0:t.getRange(),i=m.Tools.deepClone(s);i&&(i.startColumn=r.col,i.endColumn=r.col,this._sheetPermissionInterceptorBaseController.permissionCheckWithRanges({workbookTypes:[q.WorkbookEditablePermission],rangeTypes:[q.RangeProtectionPermissionViewPoint],worksheetTypes:[q.WorksheetFilterPermission,q.WorksheetEditPermission]},[i])||this._sheetPermissionInterceptorBaseController.haveNotPermissionHandle(this._localeService.t("permission.dialog.filterErr")))}}))}};yt=Ji([m.OnLifecycle(m.LifecycleStages.Ready,yt),bt(0,M.Inject(c.SheetsFilterService)),bt(1,M.Inject(m.LocaleService)),bt(2,m.ICommandService),bt(3,M.Inject(he.SheetPermissionInterceptorBaseController))],yt);var xr=Object.defineProperty,eo=Object.getOwnPropertyDescriptor,to=(e,t,r)=>t in e?xr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ro=(e,t,r,n)=>{for(var o=n>1?void 0:n?eo(t,r):t,s=e.length-1,i;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&xr(t,r,o),o},Wr=(e,t)=>(r,n)=>t(r,n,e),jr=(e,t,r)=>(to(e,typeof t!="symbol"?t+"":t,r),r);const no="SHEET_FILTER_UI_PLUGIN";w.UniverSheetsFilterUIPlugin=class extends m.Plugin{constructor(t={},r,n){super(),this._config=t,this._injector=r,this._localeService=n,this._config=m.Tools.deepMerge({},Xi,this._config)}onStarting(t){[[Ee],[yt],[ke,{useFactory:()=>this._injector.createInstance(ke,this._config)}]].forEach(r=>t.add(r))}},jr(w.UniverSheetsFilterUIPlugin,"type",m.UniverInstanceType.UNIVER_SHEET),jr(w.UniverSheetsFilterUIPlugin,"pluginName",no),w.UniverSheetsFilterUIPlugin=ro([m.DependentOn(c.UniverSheetsFilterPlugin),Wr(1,M.Inject(M.Injector)),Wr(2,M.Inject(m.LocaleService))],w.UniverSheetsFilterUIPlugin);const io=Object.freeze(Object.defineProperty({__proto__:null,default:{"sheets-filter":{toolbar:{"smart-toggle-filter-tooltip":"筛选","clear-filter-criteria":"清除筛选条件","re-calc-filter-conditions":"重新计算"},command:{"not-valid-filter-range":"选中的区域只有一行,无法进行筛选"},shortcut:{"smart-toggle-filter":"切换筛选"},panel:{"clear-filter":"清除筛选",cancel:"取消",confirm:"确认","by-values":"按值","by-conditions":"按条件","filter-only":"仅筛选","search-placeholder":"使用空格分隔关键字","select-all":"全选","input-values-placeholder":"请输入",or:"或",and:"和",empty:"(空白)","?":"可用 ? 代表单个字符","*":"可用 * 代表任意多个字符"},conditions:{none:"无",empty:"为空","not-empty":"不为空","text-contains":"文本包含","does-not-contain":"文本不包含","starts-with":"文本开头","ends-with":"文本结尾",equals:"文本相符","greater-than":"大于","greater-than-or-equal":"大于等于","less-than":"小于","less-than-or-equal":"小于等于",equal:"等于","not-equal":"不等于",between:"介于","not-between":"不介于",custom:"自定义"},msg:{"filter-header-forbidden":"无法移动筛选行头"}}}},Symbol.toStringTag,{value:"Module"})),oo=Object.freeze(Object.defineProperty({__proto__:null,default:{"sheets-filter":{toolbar:{"smart-toggle-filter-tooltip":"Toggle Filter","clear-filter-criteria":"Clear Filter Conditions","re-calc-filter-conditions":"Re-calc Filter Conditions"},command:{"not-valid-filter-range":"The selected range only has one row and not valid for filter."},shortcut:{"smart-toggle-filter":"Toggle Filter"},panel:{"clear-filter":"Clear Filter",cancel:"Cancel",confirm:"Confirm","by-values":"By Values","by-conditions":"By Conditions","filter-only":"Filter Only","search-placeholder":"Use space to separate keywords","select-all":"Select All","input-values-placeholder":"Input Values",and:"AND",or:"OR",empty:"(empty)","?":"Use “?” to represent a single character.","*":"Use “*” to represent multiple characters."},conditions:{none:"None",empty:"Is Empty","not-empty":"Is Not Empty","text-contains":"Text Contains","does-not-contain":"Text Does Not Contain","starts-with":"Text Starts With","ends-with":"Text Ends With",equals:"Text Equals","greater-than":"Greater Than","greater-than-or-equal":"Greater Than Or Equal To","less-than":"Less Than","less-than-or-equal":"Less Than Or Equal To",equal:"Equal","not-equal":"Not Equal",between:"Between","not-between":"Not Between",custom:"Custom"},msg:{"filter-header-forbidden":"You can't move the header row of a filter."}}}},Symbol.toStringTag,{value:"Module"})),ao=Object.freeze(Object.defineProperty({__proto__:null,default:{"sheets-filter":{toolbar:{"smart-toggle-filter-tooltip":"Переключить фильтр","clear-filter-criteria":"Очистить условия фильтра","re-calc-filter-conditions":"Пересчитать условия фильтра"},command:{"not-valid-filter-range":"Выбранный диапазон содержит только одну строку и не подходит для фильтра."},shortcut:{"smart-toggle-filter":"Переключить фильтр"},panel:{"clear-filter":"Очистить фильтр",cancel:"Отмена",confirm:"Подтвердить","by-values":"По значениям","by-conditions":"По условиям","filter-only":"Только фильтр","search-placeholder":"Используйте пробел для разделения ключевых слов","select-all":"Выбрать все","input-values-placeholder":"Введите значения",and:"И",or:"ИЛИ",empty:"(пусто)","?":"Используйте “?” для обозначения одного символа.","*":"Используйте “*” для обозначения нескольких символов."},conditions:{none:"Нет",empty:"Пусто","not-empty":"Не пусто","text-contains":"Содержит текст","does-not-contain":"Не содержит текст","starts-with":"Начинается с","ends-with":"Заканчивается на",equals:"Равно","greater-than":"Больше чем","greater-than-or-equal":"Больше или равно","less-than":"Меньше чем","less-than-or-equal":"Меньше или равно",equal:"Равно","not-equal":"Не равно",between:"Между","not-between":"Не между",custom:"Пользовательский"},msg:{"filter-header-forbidden":"Вы не можете переместить строку заголовка фильтра."}}}},Symbol.toStringTag,{value:"Module"}));w.OpenFilterPanelOperation=nt,w.SmartToggleSheetsFilterCommand=Te,w.enUS=oo,w.ruRU=ao,w.zhCN=io,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})});
14
+ */var $t=Symbol.for("react.element"),Dt=Symbol.for("react.portal"),at=Symbol.for("react.fragment"),lt=Symbol.for("react.strict_mode"),ut=Symbol.for("react.profiler"),ct=Symbol.for("react.provider"),ft=Symbol.for("react.context"),wn=Symbol.for("react.server_context"),ht=Symbol.for("react.forward_ref"),dt=Symbol.for("react.suspense"),mt=Symbol.for("react.suspense_list"),vt=Symbol.for("react.memo"),pt=Symbol.for("react.lazy"),An=Symbol.for("react.offscreen"),hr;hr=Symbol.for("react.module.reference");function le(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case $t:switch(e=e.type,e){case at:case ut:case lt:case dt:case mt:return e;default:switch(e=e&&e.$$typeof,e){case wn:case ft:case ht:case pt:case vt:case ct:return e;default:return t}}case Dt:return t}}}D.ContextConsumer=ft,D.ContextProvider=ct,D.Element=$t,D.ForwardRef=ht,D.Fragment=at,D.Lazy=pt,D.Memo=vt,D.Portal=Dt,D.Profiler=ut,D.StrictMode=lt,D.Suspense=dt,D.SuspenseList=mt,D.isAsyncMode=function(){return!1},D.isConcurrentMode=function(){return!1},D.isContextConsumer=function(e){return le(e)===ft},D.isContextProvider=function(e){return le(e)===ct},D.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===$t},D.isForwardRef=function(e){return le(e)===ht},D.isFragment=function(e){return le(e)===at},D.isLazy=function(e){return le(e)===pt},D.isMemo=function(e){return le(e)===vt},D.isPortal=function(e){return le(e)===Dt},D.isProfiler=function(e){return le(e)===ut},D.isStrictMode=function(e){return le(e)===lt},D.isSuspense=function(e){return le(e)===dt},D.isSuspenseList=function(e){return le(e)===mt},D.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===at||e===ut||e===lt||e===dt||e===mt||e===An||typeof e=="object"&&e!==null&&(e.$$typeof===pt||e.$$typeof===vt||e.$$typeof===ct||e.$$typeof===ft||e.$$typeof===ht||e.$$typeof===hr||e.getModuleId!==void 0)},D.typeOf=le,fr.exports=D;var Ve=fr.exports;function Ut(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=[];return h.Children.forEach(e,function(n){n==null&&!t.keepEmpty||(Array.isArray(n)?r=r.concat(Ut(n)):Ve.isFragment(n)&&n.props?r=r.concat(Ut(n.props.children,t)):r.push(n))}),r}function dr(e){return e instanceof HTMLElement||e instanceof SVGElement}function Ln(e){return e&&ae(e)==="object"&&dr(e.nativeElement)?e.nativeElement:dr(e)?e:null}function _t(e){var t=Ln(e);if(t)return t;if(e instanceof h.Component){var r;return(r=rt.findDOMNode)===null||r===void 0?void 0:r.call(rt,e)}return null}function $n(e,t,r){var n=p.useRef({});return(!("value"in n.current)||r(n.current.condition,t))&&(n.current.value=e(),n.current.condition=t),n.current.value}var Dn=function(t,r){typeof t=="function"?t(r):ae(t)==="object"&&t&&"current"in t&&(t.current=r)},Un=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var o=r.filter(Boolean);return o.length<=1?o[0]:function(a){r.forEach(function(i){Dn(i,a)})}},Hn=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return $n(function(){return Un.apply(void 0,r)},r,function(o,a){return o.length!==a.length||o.every(function(i,s){return i!==a[s]})})},Bn=function(t){var r,n,o=Ve.isMemo(t)?t.type.type:t.type;return!(typeof o=="function"&&!((r=o.prototype)!==null&&r!==void 0&&r.render)&&o.$$typeof!==Ve.ForwardRef||typeof t=="function"&&!((n=t.prototype)!==null&&n!==void 0&&n.render)&&t.$$typeof!==Ve.ForwardRef)};function mr(e){return h.isValidElement(e)&&!Ve.isFragment(e)}Number(h.version.split(".")[0])>=19;var Ht=p.createContext(null);function xn(e){var t=e.children,r=e.onBatchResize,n=p.useRef(0),o=p.useRef([]),a=p.useContext(Ht),i=p.useCallback(function(s,l,u){n.current+=1;var c=n.current;o.current.push({size:s,element:l,data:u}),Promise.resolve().then(function(){c===n.current&&(r==null||r(o.current),o.current=[])}),a==null||a(s,l,u)},[r,a]);return p.createElement(Ht.Provider,{value:i},t)}var vr=function(){if(typeof Map<"u")return Map;function e(t,r){var n=-1;return t.some(function(o,a){return o[0]===r?(n=a,!0):!1}),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(r){var n=e(this.__entries__,r),o=this.__entries__[n];return o&&o[1]},t.prototype.set=function(r,n){var o=e(this.__entries__,r);~o?this.__entries__[o][1]=n:this.__entries__.push([r,n])},t.prototype.delete=function(r){var n=this.__entries__,o=e(n,r);~o&&n.splice(o,1)},t.prototype.has=function(r){return!!~e(this.__entries__,r)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(r,n){n===void 0&&(n=null);for(var o=0,a=this.__entries__;o<a.length;o++){var i=a[o];r.call(n,i[1],i[0])}},t}()}(),Bt=typeof window<"u"&&typeof document<"u"&&window.document===document,St=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")()}(),Wn=function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(St):function(e){return setTimeout(function(){return e(Date.now())},1e3/60)}}(),jn=2;function Vn(e,t){var r=!1,n=!1,o=0;function a(){r&&(r=!1,e()),n&&s()}function i(){Wn(a)}function s(){var l=Date.now();if(r){if(l-o<jn)return;n=!0}else r=!0,n=!1,setTimeout(i,t);o=l}return s}var kn=20,zn=["top","right","bottom","left","width","height","size","weight"],Qn=typeof MutationObserver<"u",Gn=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=Vn(this.refresh.bind(this),kn)}return e.prototype.addObserver=function(t){~this.observers_.indexOf(t)||this.observers_.push(t),this.connected_||this.connect_()},e.prototype.removeObserver=function(t){var r=this.observers_,n=r.indexOf(t);~n&&r.splice(n,1),!r.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){var t=this.updateObservers_();t&&this.refresh()},e.prototype.updateObservers_=function(){var t=this.observers_.filter(function(r){return r.gatherActive(),r.hasActive()});return t.forEach(function(r){return r.broadcastActive()}),t.length>0},e.prototype.connect_=function(){!Bt||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Qn?(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)},e.prototype.disconnect_=function(){!Bt||!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)},e.prototype.onTransitionEnd_=function(t){var r=t.propertyName,n=r===void 0?"":r,o=zn.some(function(a){return!!~n.indexOf(a)});o&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),pr=function(e,t){for(var r=0,n=Object.keys(t);r<n.length;r++){var o=n[r];Object.defineProperty(e,o,{value:t[o],enumerable:!1,writable:!1,configurable:!0})}return e},Le=function(e){var t=e&&e.ownerDocument&&e.ownerDocument.defaultView;return t||St},_r=Et(0,0,0,0);function gt(e){return parseFloat(e)||0}function Sr(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return t.reduce(function(n,o){var a=e["border-"+o+"-width"];return n+gt(a)},0)}function Yn(e){for(var t=["top","right","bottom","left"],r={},n=0,o=t;n<o.length;n++){var a=o[n],i=e["padding-"+a];r[a]=gt(i)}return r}function qn(e){var t=e.getBBox();return Et(0,0,t.width,t.height)}function Xn(e){var t=e.clientWidth,r=e.clientHeight;if(!t&&!r)return _r;var n=Le(e).getComputedStyle(e),o=Yn(n),a=o.left+o.right,i=o.top+o.bottom,s=gt(n.width),l=gt(n.height);if(n.boxSizing==="border-box"&&(Math.round(s+a)!==t&&(s-=Sr(n,"left","right")+a),Math.round(l+i)!==r&&(l-=Sr(n,"top","bottom")+i)),!Zn(e)){var u=Math.round(s+a)-t,c=Math.round(l+i)-r;Math.abs(u)!==1&&(s-=u),Math.abs(c)!==1&&(l-=c)}return Et(o.left,o.top,s,l)}var Kn=function(){return typeof SVGGraphicsElement<"u"?function(e){return e instanceof Le(e).SVGGraphicsElement}:function(e){return e instanceof Le(e).SVGElement&&typeof e.getBBox=="function"}}();function Zn(e){return e===Le(e).document.documentElement}function Jn(e){return Bt?Kn(e)?qn(e):Xn(e):_r}function ei(e){var t=e.x,r=e.y,n=e.width,o=e.height,a=typeof DOMRectReadOnly<"u"?DOMRectReadOnly:Object,i=Object.create(a.prototype);return pr(i,{x:t,y:r,width:n,height:o,top:r,right:t+n,bottom:o+r,left:t}),i}function Et(e,t,r,n){return{x:e,y:t,width:r,height:n}}var ti=function(){function e(t){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=Et(0,0,0,0),this.target=t}return e.prototype.isActive=function(){var t=Jn(this.target);return this.contentRect_=t,t.width!==this.broadcastWidth||t.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var t=this.contentRect_;return this.broadcastWidth=t.width,this.broadcastHeight=t.height,t},e}(),ri=function(){function e(t,r){var n=ei(r);pr(this,{target:t,contentRect:n})}return e}(),ni=function(){function e(t,r,n){if(this.activeObservations_=[],this.observations_=new vr,typeof t!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=t,this.controller_=r,this.callbackCtx_=n}return e.prototype.observe=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(t instanceof Le(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var r=this.observations_;r.has(t)||(r.set(t,new ti(t)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(t instanceof Le(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var r=this.observations_;r.has(t)&&(r.delete(t),r.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var t=this;this.clearActive(),this.observations_.forEach(function(r){r.isActive()&&t.activeObservations_.push(r)})},e.prototype.broadcastActive=function(){if(this.hasActive()){var t=this.callbackCtx_,r=this.activeObservations_.map(function(n){return new ri(n.target,n.broadcastRect())});this.callback_.call(t,r,t),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),gr=typeof WeakMap<"u"?new WeakMap:new vr,Er=function(){function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=Gn.getInstance(),n=new ni(t,r,this);gr.set(this,n)}return e}();["observe","unobserve","disconnect"].forEach(function(e){Er.prototype[e]=function(){var t;return(t=gr.get(this))[e].apply(t,arguments)}});var ii=function(){return typeof St.ResizeObserver<"u"?St.ResizeObserver:Er}(),be=new Map;function oi(e){e.forEach(function(t){var r,n=t.target;(r=be.get(n))===null||r===void 0||r.forEach(function(o){return o(n)})})}var br=new ii(oi);function si(e,t){be.has(e)||(be.set(e,new Set),br.observe(e)),be.get(e).add(t)}function ai(e,t){be.has(e)&&(be.get(e).delete(t),be.get(e).size||(br.unobserve(e),be.delete(e)))}function yr(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function li(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,ar(n.key),n)}}function Cr(e,t,r){return t&&li(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function xt(e,t){return xt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},xt(e,t)}function ui(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&xt(e,t)}function bt(e){return bt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},bt(e)}function Or(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Or=function(){return!!e})()}function ci(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fi(e,t){if(t&&(ae(t)=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ci(e)}function hi(e){var t=Or();return function(){var r,n=bt(e);if(t){var o=bt(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return fi(this,r)}}var di=function(e){ui(r,e);var t=hi(r);function r(){return yr(this,r),t.apply(this,arguments)}return Cr(r,[{key:"render",value:function(){return this.props.children}}]),r}(p.Component);function mi(e,t){var r=e.children,n=e.disabled,o=p.useRef(null),a=p.useRef(null),i=p.useContext(Ht),s=typeof r=="function",l=s?r(o):r,u=p.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),c=!s&&p.isValidElement(l)&&Bn(l),v=c?l.ref:null,_=Hn(v,o),d=function(){var C;return _t(o.current)||(o.current&&ae(o.current)==="object"?_t((C=o.current)===null||C===void 0?void 0:C.nativeElement):null)||_t(a.current)};p.useImperativeHandle(t,function(){return d()});var E=p.useRef(e);E.current=e;var S=p.useCallback(function(g){var C=E.current,b=C.onResize,I=C.data,P=g.getBoundingClientRect(),k=P.width,U=P.height,F=g.offsetWidth,H=g.offsetHeight,x=Math.floor(k),z=Math.floor(U);if(u.current.width!==x||u.current.height!==z||u.current.offsetWidth!==F||u.current.offsetHeight!==H){var re={width:x,height:z,offsetWidth:F,offsetHeight:H};u.current=re;var K=F===Math.round(k)?k:F,ce=H===Math.round(U)?U:H,Z=q(q({},re),{},{offsetWidth:K,offsetHeight:ce});i==null||i(Z,g,I),b&&Promise.resolve().then(function(){b(Z,g)})}},[]);return p.useEffect(function(){var g=d();return g&&!n&&si(g,S),function(){return ai(g,S)}},[o.current,n]),p.createElement(di,{ref:a},c?p.cloneElement(l,{ref:_}):l)}var vi=p.forwardRef(mi),pi="rc-observer-key";function _i(e,t){var r=e.children,n=typeof r=="function"?[r]:Ut(r);return n.map(function(o,a){var i=(o==null?void 0:o.key)||"".concat(pi,"-").concat(a);return p.createElement(vi,je({},e,{key:i,ref:a===0?t:void 0}),o)})}var Wt=p.forwardRef(_i);Wt.Collection=xn;function Tr(e){var t=p.useRef();t.current=e;var r=p.useCallback(function(){for(var n,o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];return(n=t.current)===null||n===void 0?void 0:n.call.apply(n,[t].concat(a))},[]);return r}function Si(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var Fr=Si()?p.useLayoutEffect:p.useEffect,ke=function(t,r){var n=p.useRef(!0);Fr(function(){return t(n.current)},r),Fr(function(){return n.current=!1,function(){n.current=!0}},[])},Pr=p.forwardRef(function(e,t){var r=e.height,n=e.offsetY,o=e.offsetX,a=e.children,i=e.prefixCls,s=e.onInnerResize,l=e.innerProps,u=e.rtl,c=e.extra,v={},_={display:"flex",flexDirection:"column"};return n!==void 0&&(v={height:r,position:"relative",overflow:"hidden"},_=q(q({},_),{},J(J(J(J(J({transform:"translateY(".concat(n,"px)")},u?"marginRight":"marginLeft",-o),"position","absolute"),"left",0),"right",0),"top",0))),p.createElement("div",{style:v},p.createElement(Wt,{onResize:function(E){var S=E.offsetHeight;S&&s&&s()}},p.createElement("div",je({style:_,className:st(J({},"".concat(i,"-holder-inner"),i)),ref:t},l),a,c)))});Pr.displayName="Filler";function gi(e){var t=e.children,r=e.setRef,n=p.useCallback(function(o){r(o)},[]);return p.cloneElement(t,{ref:n})}function Ei(e,t,r,n,o,a,i,s){var l=s.getKey;return e.slice(t,r+1).map(function(u,c){var v=t+c,_=i(u,v,{style:{width:n},offsetX:o}),d=l(u);return p.createElement(gi,{key:d,setRef:function(S){return a(u,S)}},_)})}function bi(e,t,r){var n=e.length,o=t.length,a,i;if(n===0&&o===0)return null;n<o?(a=e,i=t):(a=t,i=e);var s={__EMPTY_ITEM__:!0};function l(E){return E!==void 0?r(E):s}for(var u=null,c=Math.abs(n-o)!==1,v=0;v<i.length;v+=1){var _=l(a[v]),d=l(i[v]);if(_!==d){u=v,c=c||_!==l(i[v+1]);break}}return u===null?null:{index:u,multiple:c}}function yi(e,t,r){var n=p.useState(e),o=X(n,2),a=o[0],i=o[1],s=p.useState(null),l=X(s,2),u=l[0],c=l[1];return p.useEffect(function(){var v=bi(a||[],e||[],t);(v==null?void 0:v.index)!==void 0&&c(e[v.index]),i(e)},[e]),[u]}var Ir=function(t){return+setTimeout(t,16)},Rr=function(t){return clearTimeout(t)};typeof window<"u"&&"requestAnimationFrame"in window&&(Ir=function(t){return window.requestAnimationFrame(t)},Rr=function(t){return window.cancelAnimationFrame(t)});var Mr=0,jt=new Map;function Nr(e){jt.delete(e)}var me=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;Mr+=1;var n=Mr;function o(a){if(a===0)Nr(n),t();else{var i=Ir(function(){o(a-1)});jt.set(n,i)}}return o(r),n};me.cancel=function(e){var t=jt.get(e);return Nr(e),Rr(t)};var wr=(typeof navigator>"u"?"undefined":ae(navigator))==="object"&&/Firefox/i.test(navigator.userAgent);const Ar=function(e,t,r,n){var o=h.useRef(!1),a=h.useRef(null);function i(){clearTimeout(a.current),o.current=!0,a.current=setTimeout(function(){o.current=!1},50)}var s=h.useRef({top:e,bottom:t,left:r,right:n});return s.current.top=e,s.current.bottom=t,s.current.left=r,s.current.right=n,function(l,u){var c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,v=l?u<0&&s.current.left||u>0&&s.current.right:u<0&&s.current.top||u>0&&s.current.bottom;return c&&v?(clearTimeout(a.current),o.current=!1):(!v||o.current)&&i(),!o.current&&v}};function Ci(e,t,r,n,o,a,i){var s=h.useRef(0),l=h.useRef(null),u=h.useRef(null),c=h.useRef(!1),v=Ar(t,r,n,o);function _(b,I){me.cancel(l.current),s.current+=I,u.current=I,!v(!1,I)&&(wr||b.preventDefault(),l.current=me(function(){var P=c.current?10:1;i(s.current*P),s.current=0}))}function d(b,I){i(I,!0),wr||b.preventDefault()}var E=h.useRef(null),S=h.useRef(null);function g(b){if(e){me.cancel(S.current),S.current=me(function(){E.current=null},2);var I=b.deltaX,P=b.deltaY,k=b.shiftKey,U=I,F=P;(E.current==="sx"||!E.current&&k&&P&&!I)&&(U=P,F=0,E.current="sx");var H=Math.abs(U),x=Math.abs(F);E.current===null&&(E.current=a&&H>x?"x":"y"),E.current==="y"?_(b,F):d(b,U)}}function C(b){e&&(c.current=b.detail===u.current)}return[g,C]}function Oi(e,t,r,n){var o=p.useMemo(function(){return[new Map,[]]},[e,r.id,n]),a=X(o,2),i=a[0],s=a[1],l=function(c){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c,_=i.get(c),d=i.get(v);if(_===void 0||d===void 0)for(var E=e.length,S=s.length;S<E;S+=1){var g,C=e[S],b=t(C);i.set(b,S);var I=(g=r.get(b))!==null&&g!==void 0?g:n;if(s[S]=(s[S-1]||0)+I,b===c&&(_=S),b===v&&(d=S),_!==void 0&&d!==void 0)break}return{top:s[_-1]||0,bottom:s[d]}};return l}var Ti=function(){function e(){yr(this,e),J(this,"maps",void 0),J(this,"id",0),this.maps=Object.create(null)}return Cr(e,[{key:"set",value:function(r,n){this.maps[r]=n,this.id+=1}},{key:"get",value:function(r){return this.maps[r]}}]),e}();function Fi(e,t,r){var n=p.useState(0),o=X(n,2),a=o[0],i=o[1],s=h.useRef(new Map),l=h.useRef(new Ti),u=h.useRef();function c(){me.cancel(u.current)}function v(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;c();var E=function(){s.current.forEach(function(g,C){if(g&&g.offsetParent){var b=_t(g),I=b.offsetHeight;l.current.get(C)!==I&&l.current.set(C,b.offsetHeight)}}),i(function(g){return g+1})};d?E():u.current=me(E)}function _(d,E){var S=e(d);s.current.get(S),E?(s.current.set(S,E),v()):s.current.delete(S)}return h.useEffect(function(){return c},[]),[_,v,l.current,a]}var Lr=14/15;function Pi(e,t,r){var n=h.useRef(!1),o=h.useRef(0),a=h.useRef(0),i=h.useRef(null),s=h.useRef(null),l,u=function(d){if(n.current){var E=Math.ceil(d.touches[0].pageX),S=Math.ceil(d.touches[0].pageY),g=o.current-E,C=a.current-S,b=Math.abs(g)>Math.abs(C);b?o.current=E:a.current=S,r(b,b?g:C)&&d.preventDefault(),clearInterval(s.current),s.current=setInterval(function(){b?g*=Lr:C*=Lr;var I=Math.floor(b?g:C);(!r(b,I,!0)||Math.abs(I)<=.1)&&clearInterval(s.current)},16)}},c=function(){n.current=!1,l()},v=function(d){l(),d.touches.length===1&&!n.current&&(n.current=!0,o.current=Math.ceil(d.touches[0].pageX),a.current=Math.ceil(d.touches[0].pageY),i.current=d.target,i.current.addEventListener("touchmove",u),i.current.addEventListener("touchend",c))};l=function(){i.current&&(i.current.removeEventListener("touchmove",u),i.current.removeEventListener("touchend",c))},ke(function(){return e&&t.current.addEventListener("touchstart",v),function(){var _;(_=t.current)===null||_===void 0||_.removeEventListener("touchstart",v),l(),clearInterval(s.current)}},[e])}var Ii=10;function Ri(e,t,r,n,o,a,i,s){var l=p.useRef(),u=p.useState(null),c=X(u,2),v=c[0],_=c[1];return ke(function(){if(v&&v.times<Ii){if(!e.current){_(function(ee){return q({},ee)});return}a();var d=v.targetAlign,E=v.originAlign,S=v.index,g=v.offset,C=e.current.clientHeight,b=!1,I=d,P=null;if(C){for(var k=d||E,U=0,F=0,H=0,x=Math.min(t.length-1,S),z=0;z<=x;z+=1){var re=o(t[z]);F=U;var K=r.get(re);H=F+(K===void 0?n:K),U=H}for(var ce=k==="top"?g:C-g,Z=x;Z>=0;Z-=1){var $e=o(t[Z]),ne=r.get($e);if(ne===void 0){b=!0;break}if(ce-=ne,ce<=0)break}switch(k){case"top":P=F-g;break;case"bottom":P=H-C+g;break;default:{var Fe=e.current.scrollTop,ve=Fe+C;F<Fe?I="top":H>ve&&(I="bottom")}}P!==null&&i(P),P!==v.lastTop&&(b=!0)}b&&_(q(q({},v),{},{times:v.times+1,targetAlign:I,lastTop:P}))}},[v,e.current]),function(d){if(d==null){s();return}if(me.cancel(l.current),typeof d=="number")i(d);else if(d&&ae(d)==="object"){var E,S=d.align;"index"in d?E=d.index:E=t.findIndex(function(b){return o(b)===d.key});var g=d.offset,C=g===void 0?0:g;_({times:0,index:E,offset:C,originAlign:S})}}}function $r(e,t){var r="touches"in e?e.touches[0]:e;return r[t?"pageX":"pageY"]}var Dr=p.forwardRef(function(e,t){var r=e.prefixCls,n=e.rtl,o=e.scrollOffset,a=e.scrollRange,i=e.onStartMove,s=e.onStopMove,l=e.onScroll,u=e.horizontal,c=e.spinSize,v=e.containerSize,_=e.style,d=e.thumbStyle,E=p.useState(!1),S=X(E,2),g=S[0],C=S[1],b=p.useState(null),I=X(b,2),P=I[0],k=I[1],U=p.useState(null),F=X(U,2),H=F[0],x=F[1],z=!n,re=p.useRef(),K=p.useRef(),ce=p.useState(!1),Z=X(ce,2),$e=Z[0],ne=Z[1],Fe=p.useRef(),ve=function(){clearTimeout(Fe.current),ne(!0),Fe.current=setTimeout(function(){ne(!1)},3e3)},ee=a-v||0,Ye=v-c||0,W=p.useMemo(function(){if(o===0||ee===0)return 0;var ie=o/ee;return ie*Ye},[o,ee,Ye]),Pe=function(B){B.stopPropagation(),B.preventDefault()},De=p.useRef({top:W,dragging:g,pageY:P,startTop:H});De.current={top:W,dragging:g,pageY:P,startTop:H};var Ue=function(B){C(!0),k($r(B,u)),x(De.current.top),i(),B.stopPropagation(),B.preventDefault()};p.useEffect(function(){var ie=function(He){He.preventDefault()},B=re.current,he=K.current;return B.addEventListener("touchstart",ie),he.addEventListener("touchstart",Ue),function(){B.removeEventListener("touchstart",ie),he.removeEventListener("touchstart",Ue)}},[]);var Ot=p.useRef();Ot.current=ee;var qe=p.useRef();qe.current=Ye,p.useEffect(function(){if(g){var ie,B=function(He){var Xe=De.current,Ft=Xe.dragging,Pt=Xe.pageY,It=Xe.startTop;if(me.cancel(ie),Ft){var Rt=$r(He,u)-Pt,Ce=It;!z&&u?Ce-=Rt:Ce+=Rt;var Ke=Ot.current,Mt=qe.current,Qt=Mt?Ce/Mt:0,Ie=Math.ceil(Qt*Ke);Ie=Math.max(Ie,0),Ie=Math.min(Ie,Ke),ie=me(function(){l(Ie,u)})}},he=function(){C(!1),s()};return window.addEventListener("mousemove",B),window.addEventListener("touchmove",B),window.addEventListener("mouseup",he),window.addEventListener("touchend",he),function(){window.removeEventListener("mousemove",B),window.removeEventListener("touchmove",B),window.removeEventListener("mouseup",he),window.removeEventListener("touchend",he),me.cancel(ie)}}},[g]),p.useEffect(function(){ve()},[o]),p.useImperativeHandle(t,function(){return{delayHidden:ve}});var te="".concat(r,"-scrollbar"),fe={position:"absolute",visibility:$e?null:"hidden"},pe={position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"};return u?(fe.height=8,fe.left=0,fe.right=0,fe.bottom=0,pe.height="100%",pe.width=c,z?pe.left=W:pe.right=W):(fe.width=8,fe.top=0,fe.bottom=0,z?fe.right=0:fe.left=0,pe.width="100%",pe.height=c,pe.top=W),p.createElement("div",{ref:re,className:st(te,J(J(J({},"".concat(te,"-horizontal"),u),"".concat(te,"-vertical"),!u),"".concat(te,"-visible"),$e)),style:q(q({},fe),_),onMouseDown:Pe,onMouseMove:ve},p.createElement("div",{ref:K,className:st("".concat(te,"-thumb"),J({},"".concat(te,"-thumb-moving"),g)),style:q(q({},pe),d),onMouseDown:Ue}))}),Mi=20;function Ur(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=e/t*e;return isNaN(r)&&(r=0),r=Math.max(r,Mi),Math.floor(r)}var Ni=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles"],wi=[],Ai={overflowY:"auto",overflowAnchor:"none"};function Li(e,t){var r=e.prefixCls,n=r===void 0?"rc-virtual-list":r,o=e.className,a=e.height,i=e.itemHeight,s=e.fullHeight,l=s===void 0?!0:s,u=e.style,c=e.data,v=e.children,_=e.itemKey,d=e.virtual,E=e.direction,S=e.scrollWidth,g=e.component,C=g===void 0?"div":g,b=e.onScroll,I=e.onVirtualScroll,P=e.onVisibleChange,k=e.innerProps,U=e.extraRender,F=e.styles,H=Rn(e,Ni),x=p.useCallback(function(O){return typeof _=="function"?_(O):O==null?void 0:O[_]},[_]),z=Fi(x),re=X(z,4),K=re[0],ce=re[1],Z=re[2],$e=re[3],ne=!!(d!==!1&&a&&i),Fe=p.useMemo(function(){return Object.values(Z.maps).reduce(function(O,y){return O+y},0)},[Z.id,Z.maps]),ve=ne&&c&&(Math.max(i*c.length,Fe)>a||!!S),ee=E==="rtl",Ye=st(n,J({},"".concat(n,"-rtl"),ee),o),W=c||wi,Pe=h.useRef(),De=h.useRef(),Ue=h.useRef(),Ot=h.useState(0),qe=X(Ot,2),te=qe[0],fe=qe[1],pe=h.useState(0),ie=X(pe,2),B=ie[0],he=ie[1],Tt=h.useState(!1),He=X(Tt,2),Xe=He[0],Ft=He[1],Pt=function(){Ft(!0)},It=function(){Ft(!1)},Rt={getKey:x};function Ce(O){fe(function(y){var L;typeof O=="function"?L=O(y):L=O;var Q=Co(L);return Pe.current.scrollTop=Q,Q})}var Ke=h.useRef({start:0,end:W.length}),Mt=h.useRef(),Qt=yi(W,x),Ie=X(Qt,1),_o=Ie[0];Mt.current=_o;var Nt=p.useMemo(function(){if(!ne)return{scrollHeight:void 0,start:0,end:W.length-1,offset:void 0};if(!ve){var O;return{scrollHeight:((O=De.current)===null||O===void 0?void 0:O.offsetHeight)||0,start:0,end:W.length-1,offset:void 0}}for(var y=0,L,Q,Oe,No=W.length,tt=0;tt<No;tt+=1){var wo=W[tt],Ao=x(wo),ln=Z.get(Ao),Jt=y+(ln===void 0?i:ln);Jt>=te&&L===void 0&&(L=tt,Q=y),Jt>te+a&&Oe===void 0&&(Oe=tt),y=Jt}return L===void 0&&(L=0,Q=0,Oe=Math.ceil(a/i)),Oe===void 0&&(Oe=W.length-1),Oe=Math.min(Oe+1,W.length-1),{scrollHeight:y,start:L,end:Oe,offset:Q}},[ve,ne,te,W,$e,a]),Be=Nt.scrollHeight,Ze=Nt.start,Je=Nt.end,Gr=Nt.offset;Ke.current.start=Ze,Ke.current.end=Je;var So=p.useState({width:0,height:a}),Yr=X(So,2),ge=Yr[0],go=Yr[1],Eo=function(y){go({width:y.width||y.offsetWidth,height:y.height||y.offsetHeight})},qr=h.useRef(),Xr=h.useRef(),bo=p.useMemo(function(){return Ur(ge.width,S)},[ge.width,S]),yo=p.useMemo(function(){return Ur(ge.height,Be)},[ge.height,Be]),Gt=Be-a,Yt=h.useRef(Gt);Yt.current=Gt;function Co(O){var y=O;return Number.isNaN(Yt.current)||(y=Math.min(y,Yt.current)),y=Math.max(y,0),y}var Kr=te<=0,Zr=te>=Gt,Jr=B<=0,en=B>=S,Oo=Ar(Kr,Zr,Jr,en),qt=function(){return{x:ee?-B:B,y:te}},Xt=h.useRef(qt()),wt=Tr(function(O){if(I){var y=q(q({},qt()),O);(Xt.current.x!==y.x||Xt.current.y!==y.y)&&(I(y),Xt.current=y)}});function tn(O,y){var L=O;y?(rt.flushSync(function(){he(L)}),wt()):Ce(L)}function To(O){var y=O.currentTarget.scrollTop;y!==te&&Ce(y),b==null||b(O),wt()}var Kt=function(y){var L=y,Q=S?S-ge.width:0;return L=Math.max(L,0),L=Math.min(L,Q),L},Fo=Tr(function(O,y){y?(rt.flushSync(function(){he(function(L){var Q=L+(ee?-O:O);return Kt(Q)})}),wt()):Ce(function(L){var Q=L+O;return Q})}),Po=Ci(ne,Kr,Zr,Jr,en,!!S,Fo),rn=X(Po,2),Zt=rn[0],nn=rn[1];Pi(ne,Pe,function(O,y,L){return Oo(O,y,L)?!1:(Zt({preventDefault:function(){},deltaX:O?y:0,deltaY:O?0:y}),!0)}),ke(function(){function O(L){ne&&L.preventDefault()}var y=Pe.current;return y.addEventListener("wheel",Zt),y.addEventListener("DOMMouseScroll",nn),y.addEventListener("MozMousePixelScroll",O),function(){y.removeEventListener("wheel",Zt),y.removeEventListener("DOMMouseScroll",nn),y.removeEventListener("MozMousePixelScroll",O)}},[ne]),ke(function(){if(S){var O=Kt(B);he(O),wt({x:O})}},[ge.width,S]);var on=function(){var y,L;(y=qr.current)===null||y===void 0||y.delayHidden(),(L=Xr.current)===null||L===void 0||L.delayHidden()},sn=Ri(Pe,W,Z,i,x,function(){return ce(!0)},Ce,on);p.useImperativeHandle(t,function(){return{nativeElement:Ue.current,getScrollInfo:qt,scrollTo:function(y){function L(Q){return Q&&ae(Q)==="object"&&("left"in Q||"top"in Q)}L(y)?(y.left!==void 0&&he(Kt(y.left)),sn(y.top)):sn(y)}}}),ke(function(){if(P){var O=W.slice(Ze,Je+1);P(O,W)}},[Ze,Je,W]);var Io=Oi(W,x,Z,i),Ro=U==null?void 0:U({start:Ze,end:Je,virtual:ve,offsetX:B,offsetY:Gr,rtl:ee,getSize:Io}),Mo=Ei(W,Ze,Je,S,B,K,v,Rt),et=null;a&&(et=q(J({},l?"height":"maxHeight",a),Ai),ne&&(et.overflowY="hidden",S&&(et.overflowX="hidden"),Xe&&(et.pointerEvents="none")));var an={};return ee&&(an.dir="rtl"),p.createElement("div",je({ref:Ue,style:q(q({},u),{},{position:"relative"}),className:Ye},an,H),p.createElement(Wt,{onResize:Eo},p.createElement(C,{className:"".concat(n,"-holder"),style:et,ref:Pe,onScroll:To,onMouseEnter:on},p.createElement(Pr,{prefixCls:n,height:Be,offsetX:B,offsetY:Gr,scrollWidth:S,onInnerResize:ce,ref:De,innerProps:k,rtl:ee,extra:Ro},Mo))),ve&&Be>a&&p.createElement(Dr,{ref:qr,prefixCls:n,scrollOffset:te,scrollRange:Be,rtl:ee,onScroll:tn,onStartMove:Pt,onStopMove:It,spinSize:yo,containerSize:ge.height,style:F==null?void 0:F.verticalScrollBar,thumbStyle:F==null?void 0:F.verticalScrollBarThumb}),ve&&S>ge.width&&p.createElement(Dr,{ref:Xr,prefixCls:n,scrollOffset:B,scrollRange:S,rtl:ee,onScroll:tn,onStartMove:Pt,onStopMove:It,spinSize:bo,containerSize:ge.width,horizontal:!0,style:F==null?void 0:F.horizontalScrollBar,thumbStyle:F==null?void 0:F.horizontalScrollBarThumb}))}var Hr=p.forwardRef(Li);Hr.displayName="List";function $i(e){const{model:t}=e,r=Me.useDependency(m.LocaleService),n=$.useObservable(t.searchString$,"",!0),o=$.useObservable(t.filterItems$,void 0,!0),a=r.t("sheets-filter.panel.filter-only"),i=At(o),s=i.checked>0&&i.unchecked===0,l=i.checked>0&&i.unchecked>0,u=h.useCallback((d,E)=>{t.onFilterCheckToggled(d,E)},[t]),c=h.useCallback(d=>{t.onFilterOnly(d)},[t]),v=h.useCallback(()=>{t.onCheckAllToggled(!s)},[t,s]),_=h.useCallback(d=>{t.setSearchString(d)},[t]);return h.createElement("div",{className:j.sheetsFilterPanelValuesContainer},h.createElement(G.Input,{value:n,placeholder:r.t("sheets-filter.panel.search-placeholder"),onChange:_}),h.createElement("div",{className:j.sheetsFilterPanelValuesList},h.createElement("div",{className:j.sheetsFilterPanelValuesItem},h.createElement("div",{className:j.sheetsFilterPanelValuesItemInner},h.createElement(G.Checkbox,{indeterminate:l,disabled:o.length===0,checked:s,onChange:v}),h.createElement("span",{className:j.sheetsFilterPanelValuesItemText},`${r.t("sheets-filter.panel.select-all")}`),h.createElement("span",{className:j.sheetsFilterPanelValuesItemCount},`(${i.checked}/${i.checked+i.unchecked})`))),h.createElement("div",{className:j.sheetsFilterPanelValuesVirtual},h.createElement(Hr,{style:{paddingRight:8},data:o,height:190,itemHeight:32,itemKey:d=>`${d.value}----${d.checked}`},d=>h.createElement("div",{className:j.sheetsFilterPanelValuesItem},h.createElement("div",{className:j.sheetsFilterPanelValuesItemInner},h.createElement(G.Checkbox,{checked:d.checked,onChange:()=>u(d,!d.checked)}),h.createElement(G.Tooltip,{showIfEllipsis:!0,placement:"top",title:d.value},h.createElement("span",{className:j.sheetsFilterPanelValuesItemText},d.value)),h.createElement("span",{className:j.sheetsFilterPanelValuesItemCount},`(${d.count})`),h.createElement(G.Button,{className:j.sheetsFilterPanelValuesItemExcludeButton,size:"small",type:"link",onClick:()=>c(d)},a)))))))}function Di(){var g;const e=Me.useDependency(Ee),t=Me.useDependency(m.LocaleService),r=Me.useDependency(m.ICommandService),n=$.useObservable(e.filterBy$,void 0,!0),o=$.useObservable(e.filterByModel$,void 0,!1),a=$.useObservable(()=>(o==null?void 0:o.canApply$)||N.of(!1),void 0,!1,[o]),i=Ui(t),s=!$.useObservable(e.hasCriteria$),l=h.useCallback(C=>{r.executeCommand(sr.id,{filterBy:C})},[r]),u=h.useCallback(async()=>{await(o==null?void 0:o.clear()),r.executeCommand(We.id)},[o,r]),c=h.useCallback(()=>{r.executeCommand(We.id)},[r]),v=h.useCallback(async()=>{await(o==null?void 0:o.apply()),r.executeCommand(We.id)},[o,r]),d=(g=Me.useDependency(f.SheetsFilterService).activeFilterModel)==null?void 0:g.getRange(),E=e.col,S=$.useComponentsOfPart(oe.SheetsUIPart.FILTER_PANEL_EMBED_POINT);return h.createElement("div",{className:j.sheetsFilterPanel},h.createElement($.ComponentContainer,{components:S,sharedProps:{range:d,colIndex:E,onClose:c}}),h.createElement("div",{className:j.sheetsFilterPanelHeader},h.createElement(G.Segmented,{value:n,options:i,onChange:C=>l(C)})),o?h.createElement("div",{className:j.sheetsFilterPanelContent},n===nt.VALUES?h.createElement($i,{model:o}):h.createElement(En,{model:o})):null,h.createElement("div",{className:j.sheetsFilterPanelFooter},h.createElement(G.Button,{type:"link",onClick:u,disabled:s},t.t("sheets-filter.panel.clear-filter")),h.createElement("span",{className:j.sheetsFilterPanelFooterPrimaryButtons},h.createElement(G.Button,{type:"default",onClick:c},t.t("sheets-filter.panel.cancel")),h.createElement(G.Button,{disabled:!a,type:"primary",onClick:v},t.t("sheets-filter.panel.confirm")))))}function Ui(e){const t=e.getCurrentLocale();return h.useMemo(()=>[{label:e.t("sheets-filter.panel.by-values"),value:nt.VALUES},{label:e.t("sheets-filter.panel.by-conditions"),value:nt.CONDITIONS}],[t,e])}const Hi={id:Te.id,binding:$.KeyCode.L|$.MetaKeys.CTRL_COMMAND|$.MetaKeys.SHIFT,description:"sheets-filter.shortcut.smart-toggle-filter",preconditions:oe.whenSheetEditorFocused,group:"4_sheet-edit"};function Bi(e){const t=e.get(f.SheetsFilterService);return{id:Te.id,group:$.MenuGroup.TOOLBAR_FORMULAS_INSERT,type:$.MenuItemType.BUTTON_SELECTOR,icon:"FilterSingle",tooltip:"sheets-filter.toolbar.smart-toggle-filter-tooltip",positions:[$.MenuPosition.TOOLBAR_START],hidden$:$.getMenuHiddenObservable(e,m.UniverInstanceType.UNIVER_SHEET),activated$:t.activeFilterModel$.pipe(N.map(r=>!!r)),disabled$:oe.getCurrentRangeDisable$(e,{workbookTypes:[Y.WorkbookEditablePermission],worksheetTypes:[Y.WorksheetFilterPermission,Y.WorksheetEditPermission],rangeTypes:[Y.RangeProtectionPermissionEditPoint]})}}function xi(e){const t=e.get(f.SheetsFilterService);return{id:nr.id,group:$.MenuGroup.TOOLBAR_OTHERS,type:$.MenuItemType.BUTTON,title:"sheets-filter.toolbar.clear-filter-criteria",positions:[Te.id],hidden$:$.getMenuHiddenObservable(e,m.UniverInstanceType.UNIVER_SHEET),disabled$:t.activeFilterModel$.pipe(N.switchMap(r=>{var n;return(n=r==null?void 0:r.hasCriteria$.pipe(N.map(o=>!o)))!=null?n:N.of(!0)}))}}function Wi(e){const t=e.get(f.SheetsFilterService);return{id:ir.id,group:$.MenuGroup.TOOLBAR_OTHERS,type:$.MenuItemType.BUTTON,title:"sheets-filter.toolbar.re-calc-filter-conditions",positions:[Te.id],hidden$:$.getMenuHiddenObservable(e,m.UniverInstanceType.UNIVER_SHEET),disabled$:t.activeFilterModel$.pipe(N.switchMap(r=>{var n;return(n=r==null?void 0:r.hasCriteria$.pipe(N.map(o=>!o)))!=null?n:N.of(!0)}))}}const ye=16,ji=new Path2D("M3.30363 3C2.79117 3 2.51457 3.60097 2.84788 3.99024L6.8 8.60593V12.5662C6.8 12.7184 6.8864 12.8575 7.02289 12.9249L8.76717 13.7863C8.96655 13.8847 9.2 13.7396 9.2 13.5173V8.60593L13.1521 3.99024C13.4854 3.60097 13.2088 3 12.6964 3H3.30363Z");class Br{static drawNoCriteria(t,r,n,o){t.save(),Re.Rect.drawWith(t,{radius:2,width:ye,height:ye,fill:o}),t.lineCap="square",t.strokeStyle=n,t.scale(r/ye,r/ye),t.beginPath(),t.lineWidth=1,t.lineCap="round",t.moveTo(3,4),t.lineTo(13,4),t.moveTo(4.5,8),t.lineTo(11.5,8),t.moveTo(6,12),t.lineTo(10,12),t.stroke(),t.restore()}static drawHasCriteria(t,r,n,o){t.save(),Re.Rect.drawWith(t,{radius:2,width:ye,height:ye,fill:o}),t.scale(r/ye,r/ye),t.fillStyle=n,t.fill(ji),t.restore()}}var Vi=Object.defineProperty,ki=Object.getOwnPropertyDescriptor,zi=(e,t,r,n)=>{for(var o=n>1?void 0:n?ki(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&Vi(t,r,o),o},Vt=(e,t)=>(r,n)=>t(r,n,e);const _e=16,yt=1;let kt=class extends Re.Shape{constructor(t,r,n,o,a){super(t,r);A(this,"_cellWidth",0);A(this,"_cellHeight",0);A(this,"_filterParams");A(this,"_hovered",!1);this._contextService=n,this._commandService=o,this._themeService=a,this.setShapeProps(r),this.onPointerDown$.subscribeEvent(i=>this.onPointerDown(i)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(t){typeof t.cellHeight<"u"&&(this._cellHeight=t.cellHeight),typeof t.cellWidth<"u"&&(this._cellWidth=t.cellWidth),typeof t.filterParams<"u"&&(this._filterParams=t.filterParams),this.transformByState({width:t.width,height:t.height})}_draw(t){const r=this._cellHeight,n=this._cellWidth,o=_e-n,a=_e-r;t.save();const i=new Path2D;i.rect(o,a,n,r),t.clip(i);const{hasCriteria:s}=this._filterParams,l=this._themeService.getCurrentTheme().primaryColor,u=this._hovered?this._themeService.getCurrentTheme().grey50:"rgba(255, 255, 255, 1.0)";s?Br.drawHasCriteria(t,_e,l,u):Br.drawNoCriteria(t,_e,l,u),t.restore()}onPointerDown(t){if(t.button===2)return;const{col:r,unitId:n,subUnitId:o}=this._filterParams;this._contextService.getContextValue(Ae)||!this._commandService.hasCommand(xe.id)||setTimeout(()=>{this._commandService.executeCommand(xe.id,{unitId:n,subUnitId:o,col:r})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};kt=zi([Vt(2,m.IContextService),Vt(3,m.ICommandService),Vt(4,M.Inject(m.ThemeService))],kt);var Qi=Object.defineProperty,Gi=Object.getOwnPropertyDescriptor,Yi=(e,t,r,n)=>{for(var o=n>1?void 0:n?Gi(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&Qi(t,r,o),o},Se=(e,t)=>(r,n)=>t(r,n,e);const qi=1e3,Xi=5e3;let zt=class extends m.RxDisposable{constructor(t,r,n,o,a,i,s,l,u,c){super();A(this,"_filterRangeShape",null);A(this,"_buttonRenderDisposable",null);A(this,"_filterButtonShapes",[]);this._context=t,this._injector=r,this._sheetSkeletonManagerService=n,this._sheetsFilterService=o,this._themeService=a,this._sheetInterceptorService=i,this._sheetsRenderService=s,this._commandService=l,this._renderManagerService=u,this._selectionRenderService=c,[f.SetSheetsFilterRangeMutation,f.SetSheetsFilterCriteriaMutation,f.RemoveSheetsFilterMutation,f.ReCalcSheetsFilterMutation].forEach(v=>this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(v.id))),this._initRenderer()}_initRenderer(){N.combineLatest([this._selectionRenderService.usable$,this._sheetSkeletonManagerService.currentSkeleton$]).pipe(N.filter(([t])=>t),N.switchMap(([t,r])=>{var l,u;if(!r)return N.of(null);const{unit:n,unitId:o}=this._context,a=((l=n.getActiveSheet())==null?void 0:l.getSheetId())||"",i=(u=this._sheetsFilterService.getFilterModel(o,a))!=null?u:void 0,s=()=>({unitId:o,worksheetId:a,filterModel:i,range:i==null?void 0:i.getRange(),skeleton:r.skeleton});return m.fromCallback(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(N.filter(([c])=>c.type===m.CommandType.MUTATION&&c.params.unitId===n.getUnitId()&&f.FILTER_MUTATIONS.has(c.id)),N.throttleTime(20,void 0,{leading:!1,trailing:!0}),N.map(s),N.startWith(s()))}),N.takeUntil(this.dispose$)).subscribe(t=>{this._disposeRendering(),!(!t||!t.range)&&(this._renderRange(t.unitId,t.range,t.skeleton),this._renderButtons(t))})}_renderRange(t,r,n){const o=this._renderManagerService.getRenderById(t);if(!o)return;const{scene:a}=o,{rangeWithCoord:i,style:s}=this._selectionRenderService.attachSelectionWithCoord({range:r,primary:null,style:null}),{rowHeaderWidth:l,columnHeaderHeight:u}=n,c=this._filterRangeShape=new oe.SelectionShape(a,qi,!0,this._themeService);c.update(i,l,u,{hasAutoFill:!1,fill:"rgba(0, 0, 0, 0.0)",...s}),c.setEvent(!1),a.makeDirty(!0)}_renderButtons(t){const{range:r,filterModel:n,unitId:o,skeleton:a,worksheetId:i}=t,s=this._renderManagerService.getRenderById(o);if(!s)return;const{scene:l}=s;this._interceptCellContent(t.range);const{startColumn:u,endColumn:c,startRow:v}=r;for(let _=u;_<=c;_++){const d=`sheets-filter-button-${_}`,E=oe.getCoordByCell(v,_,l,a),{startX:S,startY:g,endX:C,endY:b}=E,I=C-S,P=b-g;if(P<=yt||I<=yt)continue;const k=!!n.getFilterColumn(_),U=C-_e-yt,F=b-_e-yt,H={left:U,top:F,height:_e,width:_e,zIndex:Xi,cellHeight:P,cellWidth:I,filterParams:{unitId:o,subUnitId:i,col:_,hasCriteria:k}},x=this._injector.createInstance(kt,d,H);this._filterButtonShapes.push(x)}l.addObjects(this._filterButtonShapes),l.makeDirty()}_interceptCellContent(t){const{startRow:r,startColumn:n,endColumn:o}=t;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(Y.INTERCEPTOR_POINT.CELL_CONTENT,{handler:(a,i,s)=>{const{row:l,col:u}=i;return l!==r||u<n||u>o?s(a):s({...a,fontRenderExtension:{...a==null?void 0:a.fontRenderExtension,rightOffset:_e}})},priority:10})}_disposeRendering(){var t,r;(t=this._filterRangeShape)==null||t.dispose(),this._filterButtonShapes.forEach(n=>n.dispose()),(r=this._buttonRenderDisposable)==null||r.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}};zt=Yi([Se(1,M.Inject(M.Injector)),Se(2,M.Inject(oe.SheetSkeletonManagerService)),Se(3,M.Inject(f.SheetsFilterService)),Se(4,M.Inject(m.ThemeService)),Se(5,M.Inject(Y.SheetInterceptorService)),Se(6,M.Inject(oe.SheetsRenderService)),Se(7,m.ICommandService),Se(8,Re.IRenderManagerService),Se(9,oe.ISelectionRenderService)],zt);var Ki=Object.defineProperty,Zi=Object.getOwnPropertyDescriptor,Ji=(e,t,r,n)=>{for(var o=n>1?void 0:n?Zi(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&Ki(t,r,o),o},eo=(e,t)=>(r,n)=>t(r,n,e);let ze=class extends m.RxDisposable{constructor(e){super(),this._renderManagerService=e,this._initRenderControllers()}_initRenderControllers(){this.disposeWithMe(this._renderManagerService.registerRenderModule(m.UniverInstanceType.UNIVER_SHEET,zt))}};ze=Ji([eo(0,Re.IRenderManagerService)],ze),m.runOnLifecycle(m.LifecycleStages.Rendered,ze);var to=Object.defineProperty,ro=Object.getOwnPropertyDescriptor,no=(e,t,r,n)=>{for(var o=n>1?void 0:n?ro(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&to(t,r,o),o},ue=(e,t)=>(r,n)=>t(r,n,e);const xr={},Wr="FILTER_PANEL_POPUP";let Qe=class extends ze{constructor(t,r,n,o,a,i,s,l,u,c,v,_,d){super(d);A(this,"_popupDisposable");this._config=t,this._injector=r,this._componentManager=n,this._sheetsFilterPanelService=o,this._sheetCanvasPopupService=a,this._sheetsFilterService=i,this._localeService=s,this._shortcutService=l,this._commandService=u,this._menuService=c,this._contextService=v,this._messageService=_,this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[Hi].forEach(t=>{this.disposeWithMe(this._shortcutService.registerShortcut(t))})}_initCommands(){[Te,Ne,nr,ir,sr,xe,We].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}_initMenuItems(){const{menu:t={}}=this._config;[Bi,xi,Wi].forEach(r=>{this.disposeWithMe(this._menuService.addMenuItem(this._injector.invoke(r),t))})}_initUI(){this.disposeWithMe(this._componentManager.register(Wr,Di)),this.disposeWithMe(this._componentManager.register("FilterSingle",rr)),this.disposeWithMe(this._contextService.subscribeContextValue$(Ae).pipe(N.distinctUntilChanged()).subscribe(t=>{t?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(t=>{t&&this._messageService.show({type:G.MessageType.Error,content:this._localeService.t(t)})}))}_openFilterPopup(){const t=this._sheetsFilterPanelService.filterModel;if(!t)throw new Error("[SheetsFilterUIController]: no filter model when opening filter popup!");const r=t.getRange(),n=this._sheetsFilterPanelService.col,{startRow:o}=r;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(o,n,{componentKey:Wr,direction:"horizontal",closeOnSelfTarget:!0,onClickOutside:()=>this._commandService.syncExecuteCommand(We.id),offset:[5,0]})}_closeFilterPopup(){var t;(t=this._popupDisposable)==null||t.dispose(),this._popupDisposable=null}};Qe=no([m.OnLifecycle(m.LifecycleStages.Ready,Qe),ue(1,M.Inject(M.Injector)),ue(2,M.Inject($.ComponentManager)),ue(3,M.Inject(Ee)),ue(4,M.Inject(oe.SheetCanvasPopManagerService)),ue(5,M.Inject(f.SheetsFilterService)),ue(6,M.Inject(m.LocaleService)),ue(7,$.IShortcutService),ue(8,m.ICommandService),ue(9,$.IMenuService),ue(10,m.IContextService),ue(11,$.IMessageService),ue(12,Re.IRenderManagerService)],Qe);var io=Object.defineProperty,oo=Object.getOwnPropertyDescriptor,so=(e,t,r,n)=>{for(var o=n>1?void 0:n?oo(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&io(t,r,o),o},Ct=(e,t)=>(r,n)=>t(r,n,e);let Ge=class extends m.Disposable{constructor(e,t,r,n){super(),this._sheetsFilterService=e,this._localeService=t,this._commandService=r,this._sheetPermissionInterceptorBaseController=n,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{var t;if(e.id===Te.id&&(this._sheetPermissionInterceptorBaseController.permissionCheckWithoutRange({workbookTypes:[Y.WorkbookEditablePermission],rangeTypes:[Y.RangeProtectionPermissionViewPoint],worksheetTypes:[Y.WorksheetFilterPermission,Y.WorksheetEditPermission]})||this._sheetPermissionInterceptorBaseController.haveNotPermissionHandle(this._localeService.t("permission.dialog.filterErr"))),e.id===xe.id){const r=e.params,{unitId:n,subUnitId:o}=r,a=(t=this._sheetsFilterService.getFilterModel(n,o))==null?void 0:t.getRange(),i=m.Tools.deepClone(a);i&&(i.startColumn=r.col,i.endColumn=r.col,this._sheetPermissionInterceptorBaseController.permissionCheckWithRanges({workbookTypes:[Y.WorkbookEditablePermission],rangeTypes:[Y.RangeProtectionPermissionViewPoint],worksheetTypes:[Y.WorksheetFilterPermission,Y.WorksheetEditPermission]},[i])||this._sheetPermissionInterceptorBaseController.haveNotPermissionHandle(this._localeService.t("permission.dialog.filterErr")))}}))}};Ge=so([m.OnLifecycle(m.LifecycleStages.Ready,Ge),Ct(0,M.Inject(f.SheetsFilterService)),Ct(1,M.Inject(m.LocaleService)),Ct(2,m.ICommandService),Ct(3,M.Inject(oe.SheetPermissionInterceptorBaseController))],Ge);var jr=Object.defineProperty,ao=Object.getOwnPropertyDescriptor,lo=(e,t,r)=>t in e?jr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,uo=(e,t,r,n)=>{for(var o=n>1?void 0:n?ao(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&jr(t,r,o),o},Vr=(e,t)=>(r,n)=>t(r,n,e),kr=(e,t,r)=>lo(e,typeof t!="symbol"?t+"":t,r);const co="SHEET_FILTER_UI_PLUGIN";R.UniverSheetsFilterUIPlugin=class extends m.Plugin{constructor(t={},r,n){super(),this._config=t,this._injector=r,this._localeService=n,this._config=m.Tools.deepMerge({},xr,this._config)}onStarting(t){[[Ee],[Ge],[Qe,{useFactory:()=>this._injector.createInstance(Qe,this._config)}]].forEach(r=>t.add(r))}},kr(R.UniverSheetsFilterUIPlugin,"type",m.UniverInstanceType.UNIVER_SHEET),kr(R.UniverSheetsFilterUIPlugin,"pluginName",co),R.UniverSheetsFilterUIPlugin=uo([m.DependentOn(f.UniverSheetsFilterPlugin),Vr(1,M.Inject(M.Injector)),Vr(2,M.Inject(m.LocaleService))],R.UniverSheetsFilterUIPlugin);var zr=Object.defineProperty,fo=Object.getOwnPropertyDescriptor,ho=(e,t,r)=>t in e?zr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,mo=(e,t,r,n)=>{for(var o=n>1?void 0:n?fo(t,r):t,a=e.length-1,i;a>=0;a--)(i=e[a])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&zr(t,r,o),o},vo=(e,t)=>(r,n)=>t(r,n,e),Qr=(e,t,r)=>ho(e,typeof t!="symbol"?t+"":t,r);const po="SHEET_FILTER_UI_PLUGIN";R.UniverSheetsFilterMobileUIPlugin=class extends m.Plugin{constructor(t={},r){super(),this._config=t,this._injector=r,this._config=m.Tools.deepMerge({},xr,this._config)}onStarting(t){[[Ge],[ze]].forEach(r=>t.add(r))}},Qr(R.UniverSheetsFilterMobileUIPlugin,"type",m.UniverInstanceType.UNIVER_SHEET),Qr(R.UniverSheetsFilterMobileUIPlugin,"pluginName",po),R.UniverSheetsFilterMobileUIPlugin=mo([m.DependentOn(f.UniverSheetsFilterPlugin),vo(1,M.Inject(M.Injector))],R.UniverSheetsFilterMobileUIPlugin),R.OpenFilterPanelOperation=xe,R.SmartToggleSheetsFilterCommand=Te,Object.defineProperty(R,Symbol.toStringTag,{value:"Module"})});