@univerjs/sheets-filter-ui 1.0.0-alpha.6 → 1.0.0-alpha.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -599,7 +599,7 @@ function statisticFilterByValueItems(items) {
599
599
  }
600
600
 
601
601
  //#endregion
602
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorateParam.js
602
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
603
603
  function __decorateParam(paramIndex, decorator) {
604
604
  return function(target, key) {
605
605
  decorator(target, key, paramIndex);
@@ -607,7 +607,7 @@ function __decorateParam(paramIndex, decorator) {
607
607
  }
608
608
 
609
609
  //#endregion
610
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorate.js
610
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
611
611
  function __decorate(decorators, target, key, desc) {
612
612
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
613
613
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -837,7 +837,7 @@ function searchTree(items, searchKeywords) {
837
837
  }
838
838
 
839
839
  //#endregion
840
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/typeof.js
840
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
841
841
  function _typeof(o) {
842
842
  "@babel/helpers - typeof";
843
843
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -848,7 +848,7 @@ function _typeof(o) {
848
848
  }
849
849
 
850
850
  //#endregion
851
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPrimitive.js
851
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
852
852
  function toPrimitive(t, r) {
853
853
  if ("object" != _typeof(t) || !t) return t;
854
854
  var e = t[Symbol.toPrimitive];
@@ -861,14 +861,14 @@ function toPrimitive(t, r) {
861
861
  }
862
862
 
863
863
  //#endregion
864
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPropertyKey.js
864
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
865
865
  function toPropertyKey(t) {
866
866
  var i = toPrimitive(t, "string");
867
867
  return "symbol" == _typeof(i) ? i : i + "";
868
868
  }
869
869
 
870
870
  //#endregion
871
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/defineProperty.js
871
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
872
872
  function _defineProperty(e, r, t) {
873
873
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
874
874
  value: t,
@@ -880,7 +880,9 @@ function _defineProperty(e, r, t) {
880
880
 
881
881
  //#endregion
882
882
  //#region src/services/sheets-filter-panel.service.ts
883
- var _ByConditionsModel, _ByValuesModel, _ByColorsModel;
883
+ var _ByConditionsModel;
884
+ var _ByValuesModel;
885
+ var _ByColorsModel;
884
886
  const ISheetsFilterPanelService = (0, _univerjs_core.createIdentifier)("sheets-filter-ui.sheets-filter-panel.service");
885
887
  let SheetsFilterPanelService = class SheetsFilterPanelService extends _univerjs_core.Disposable {
886
888
  get filterBy() {
@@ -1146,7 +1148,7 @@ let ByValuesModel = _ByValuesModel = class ByValuesModel extends _univerjs_core.
1146
1148
  const localeService = injector.get(_univerjs_core.LocaleService);
1147
1149
  const generateFilterValuesService = injector.get(ISheetsGenerateFilterValuesService, _univerjs_core.Quantity.OPTIONAL);
1148
1150
  const { unitId, subUnitId } = filterModel;
1149
- const workbook = univerInstanceService.getUniverSheetInstance(unitId);
1151
+ const workbook = univerInstanceService.getUnit(unitId, _univerjs_core.UniverInstanceType.UNIVER_SHEET);
1150
1152
  if (!workbook) throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${unitId}!`);
1151
1153
  const worksheet = workbook === null || workbook === void 0 ? void 0 : workbook.getSheetBySheetId(subUnitId);
1152
1154
  if (!worksheet) throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${unitId} and subUnitId: ${subUnitId}!`);
@@ -1325,7 +1327,7 @@ let ByColorsModel = _ByColorsModel = class ByColorsModel extends _univerjs_core.
1325
1327
  var _filterModel$getFilte, _colorFilters$cellFil, _colorFilters$cellTex;
1326
1328
  const univerInstanceService = injector.get(_univerjs_core.IUniverInstanceService);
1327
1329
  const { unitId, subUnitId } = filterModel;
1328
- const workbook = univerInstanceService.getUniverSheetInstance(unitId);
1330
+ const workbook = univerInstanceService.getUnit(unitId, _univerjs_core.UniverInstanceType.UNIVER_SHEET);
1329
1331
  if (!workbook) throw new Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${unitId}!`);
1330
1332
  const worksheet = workbook === null || workbook === void 0 ? void 0 : workbook.getSheetBySheetId(subUnitId);
1331
1333
  if (!worksheet) throw new Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${unitId} and subUnitId: ${subUnitId}!`);
@@ -1563,6 +1565,10 @@ function ReCalcFilterMenuItemFactory(accessor) {
1563
1565
  //#region src/menu/schema.ts
1564
1566
  const menuSchema = { [_univerjs_ui.RibbonDataGroup.ORGANIZATION]: { [_univerjs_sheets_filter.SmartToggleSheetsFilterCommand.id]: {
1565
1567
  order: 2,
1568
+ gridLayout: {
1569
+ row: 1,
1570
+ column: 2
1571
+ },
1566
1572
  menuItemFactory: SmartToggleFilterMenuItemFactory,
1567
1573
  [_univerjs_sheets_filter.ClearSheetsFilterCriteriaCommand.id]: {
1568
1574
  order: 0,
@@ -1577,7 +1583,7 @@ const menuSchema = { [_univerjs_ui.RibbonDataGroup.ORGANIZATION]: { [_univerjs_s
1577
1583
  //#endregion
1578
1584
  //#region package.json
1579
1585
  var name = "@univerjs/sheets-filter-ui";
1580
- var version = "1.0.0-alpha.6";
1586
+ var version = "1.0.0-alpha.8";
1581
1587
 
1582
1588
  //#endregion
1583
1589
  //#region src/config/config.ts
@@ -2438,7 +2444,7 @@ _defineProperty(UniverSheetsFilterMobileUIPlugin, "pluginName", "SHEET_FILTER_UI
2438
2444
  _defineProperty(UniverSheetsFilterMobileUIPlugin, "packageName", name);
2439
2445
  _defineProperty(UniverSheetsFilterMobileUIPlugin, "version", version);
2440
2446
  UniverSheetsFilterMobileUIPlugin = __decorate([
2441
- (0, _univerjs_core.DependentOn)(_univerjs_sheets_filter.UniverSheetsFilterPlugin),
2447
+ (0, _univerjs_core.DependentOn)(_univerjs_engine_render.UniverRenderEnginePlugin, _univerjs_sheets.UniverSheetsPlugin, _univerjs_ui.UniverMobileUIPlugin, _univerjs_sheets_filter.UniverSheetsFilterPlugin, _univerjs_sheets_ui.UniverSheetsMobileUIPlugin),
2442
2448
  __decorateParam(1, (0, _univerjs_core.Inject)(_univerjs_core.Injector)),
2443
2449
  __decorateParam(2, _univerjs_core.IConfigService)
2444
2450
  ], UniverSheetsFilterMobileUIPlugin);
@@ -2578,7 +2584,7 @@ _defineProperty(UniverSheetsFilterUIPlugin, "pluginName", "SHEET_FILTER_UI_PLUGI
2578
2584
  _defineProperty(UniverSheetsFilterUIPlugin, "packageName", name);
2579
2585
  _defineProperty(UniverSheetsFilterUIPlugin, "version", version);
2580
2586
  UniverSheetsFilterUIPlugin = __decorate([
2581
- (0, _univerjs_core.DependentOn)(_univerjs_sheets_filter.UniverSheetsFilterPlugin),
2587
+ (0, _univerjs_core.DependentOn)(_univerjs_engine_render.UniverRenderEnginePlugin, _univerjs_sheets.UniverSheetsPlugin, _univerjs_ui.UniverUIPlugin, _univerjs_sheets_filter.UniverSheetsFilterPlugin, _univerjs_sheets_ui.UniverSheetsUIPlugin),
2582
2588
  __decorateParam(1, (0, _univerjs_core.Inject)(_univerjs_core.Injector)),
2583
2589
  __decorateParam(2, _univerjs_core.IConfigService),
2584
2590
  __decorateParam(3, (0, _univerjs_core.Optional)(_univerjs_rpc.IRPCChannelService))
package/lib/es/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { BooleanNumber, ColorKit, CommandType, DependentOn, Disposable, ICommandService, IConfigService, IContextService, ILogService, IUniverInstanceService, Inject, Injector, InterceptorEffectEnum, LocaleService, Optional, Plugin, Quantity, RxDisposable, ThemeService, Tools, UniverInstanceType, VerticalAlign, createIdentifier, extractPureTextFromCell, fromCallback, isNumeric, merge, numfmt, registerDependencies, touchDependencies } from "@univerjs/core";
2
2
  import { ClearSheetsFilterCriteriaCommand, CustomFilterOperator, FILTER_MUTATIONS, FilterBy, ReCalcSheetsFilterCommand, ReCalcSheetsFilterMutation, RemoveSheetsFilterMutation, SetSheetsFilterCriteriaCommand, SetSheetsFilterCriteriaMutation, SetSheetsFilterRangeMutation, SheetsFilterService, SheetsFilterSyncController, SmartToggleSheetsFilterCommand, UniverSheetsFilterPlugin } from "@univerjs/sheets-filter";
3
- import { IEditorBridgeService, ISheetSelectionRenderService, SelectionControl, SetCellEditVisibleOperation, SheetCanvasPopManagerService, SheetSkeletonManagerService, SheetsRenderService, SheetsUIPart, getCoordByCell, getCurrentRangeDisable$, getObservableWithExclusiveRange$, whenSheetEditorFocused } from "@univerjs/sheets-ui";
4
- import { ComponentContainer, ComponentManager, ILayoutService, IMenuManagerService, IMessageService, IShortcutService, IconManager, KeyCode, MenuItemType, MetaKeys, RibbonDataGroup, getMenuHiddenObservable, useComponentsOfPart, useDependency, useObservable } from "@univerjs/ui";
5
- import { COLOR_BLACK_RGB, IRenderManagerService, Rect, Shape } from "@univerjs/engine-render";
6
- import { INTERCEPTOR_POINT, RangeProtectionPermissionViewPoint, RefRangeService, SetRangeValuesMutation, SheetInterceptorService, SheetPermissionCheckController, SheetsSelectionsService, WorksheetFilterPermission, WorksheetViewPermission, attachSelectionWithCoord, expandToContinuousRange, getSheetCommandTarget } from "@univerjs/sheets";
3
+ import { IEditorBridgeService, ISheetSelectionRenderService, SelectionControl, SetCellEditVisibleOperation, SheetCanvasPopManagerService, SheetSkeletonManagerService, SheetsRenderService, SheetsUIPart, UniverSheetsMobileUIPlugin, UniverSheetsUIPlugin, getCoordByCell, getCurrentRangeDisable$, getObservableWithExclusiveRange$, whenSheetEditorFocused } from "@univerjs/sheets-ui";
4
+ import { ComponentContainer, ComponentManager, ILayoutService, IMenuManagerService, IMessageService, IShortcutService, IconManager, KeyCode, MenuItemType, MetaKeys, RibbonDataGroup, UniverMobileUIPlugin, UniverUIPlugin, getMenuHiddenObservable, useComponentsOfPart, useDependency, useObservable } from "@univerjs/ui";
5
+ import { COLOR_BLACK_RGB, IRenderManagerService, Rect, Shape, UniverRenderEnginePlugin } from "@univerjs/engine-render";
6
+ import { INTERCEPTOR_POINT, RangeProtectionPermissionViewPoint, RefRangeService, SetRangeValuesMutation, SheetInterceptorService, SheetPermissionCheckController, SheetsSelectionsService, UniverSheetsPlugin, WorksheetFilterPermission, WorksheetViewPermission, attachSelectionWithCoord, expandToContinuousRange, getSheetCommandTarget } from "@univerjs/sheets";
7
7
  import { BehaviorSubject, ReplaySubject, Subject, combineLatest, distinctUntilChanged, filter, map, merge as merge$1, of, shareReplay, startWith, switchMap, takeUntil, throttleTime } from "rxjs";
8
8
  import { AIcon, BanIcon, FilterIcon, InfoIcon, SuccessIcon } from "@univerjs/icons";
9
9
  import { Button, Checkbox, Input, MessageType, Radio, RadioGroup, Segmented, Select, Switch, Tooltip, Tree, borderClassName, clsx } from "@univerjs/design";
@@ -598,7 +598,7 @@ function statisticFilterByValueItems(items) {
598
598
  }
599
599
 
600
600
  //#endregion
601
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorateParam.js
601
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
602
602
  function __decorateParam(paramIndex, decorator) {
603
603
  return function(target, key) {
604
604
  decorator(target, key, paramIndex);
@@ -606,7 +606,7 @@ function __decorateParam(paramIndex, decorator) {
606
606
  }
607
607
 
608
608
  //#endregion
609
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorate.js
609
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
610
610
  function __decorate(decorators, target, key, desc) {
611
611
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
612
612
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -836,7 +836,7 @@ function searchTree(items, searchKeywords) {
836
836
  }
837
837
 
838
838
  //#endregion
839
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/typeof.js
839
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
840
840
  function _typeof(o) {
841
841
  "@babel/helpers - typeof";
842
842
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -847,7 +847,7 @@ function _typeof(o) {
847
847
  }
848
848
 
849
849
  //#endregion
850
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPrimitive.js
850
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
851
851
  function toPrimitive(t, r) {
852
852
  if ("object" != _typeof(t) || !t) return t;
853
853
  var e = t[Symbol.toPrimitive];
@@ -860,14 +860,14 @@ function toPrimitive(t, r) {
860
860
  }
861
861
 
862
862
  //#endregion
863
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPropertyKey.js
863
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
864
864
  function toPropertyKey(t) {
865
865
  var i = toPrimitive(t, "string");
866
866
  return "symbol" == _typeof(i) ? i : i + "";
867
867
  }
868
868
 
869
869
  //#endregion
870
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/defineProperty.js
870
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
871
871
  function _defineProperty(e, r, t) {
872
872
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
873
873
  value: t,
@@ -879,7 +879,9 @@ function _defineProperty(e, r, t) {
879
879
 
880
880
  //#endregion
881
881
  //#region src/services/sheets-filter-panel.service.ts
882
- var _ByConditionsModel, _ByValuesModel, _ByColorsModel;
882
+ var _ByConditionsModel;
883
+ var _ByValuesModel;
884
+ var _ByColorsModel;
883
885
  const ISheetsFilterPanelService = createIdentifier("sheets-filter-ui.sheets-filter-panel.service");
884
886
  let SheetsFilterPanelService = class SheetsFilterPanelService extends Disposable {
885
887
  get filterBy() {
@@ -1145,7 +1147,7 @@ let ByValuesModel = _ByValuesModel = class ByValuesModel extends Disposable {
1145
1147
  const localeService = injector.get(LocaleService);
1146
1148
  const generateFilterValuesService = injector.get(ISheetsGenerateFilterValuesService, Quantity.OPTIONAL);
1147
1149
  const { unitId, subUnitId } = filterModel;
1148
- const workbook = univerInstanceService.getUniverSheetInstance(unitId);
1150
+ const workbook = univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET);
1149
1151
  if (!workbook) throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${unitId}!`);
1150
1152
  const worksheet = workbook === null || workbook === void 0 ? void 0 : workbook.getSheetBySheetId(subUnitId);
1151
1153
  if (!worksheet) throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${unitId} and subUnitId: ${subUnitId}!`);
@@ -1324,7 +1326,7 @@ let ByColorsModel = _ByColorsModel = class ByColorsModel extends Disposable {
1324
1326
  var _filterModel$getFilte, _colorFilters$cellFil, _colorFilters$cellTex;
1325
1327
  const univerInstanceService = injector.get(IUniverInstanceService);
1326
1328
  const { unitId, subUnitId } = filterModel;
1327
- const workbook = univerInstanceService.getUniverSheetInstance(unitId);
1329
+ const workbook = univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET);
1328
1330
  if (!workbook) throw new Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${unitId}!`);
1329
1331
  const worksheet = workbook === null || workbook === void 0 ? void 0 : workbook.getSheetBySheetId(subUnitId);
1330
1332
  if (!worksheet) throw new Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${unitId} and subUnitId: ${subUnitId}!`);
@@ -1562,6 +1564,10 @@ function ReCalcFilterMenuItemFactory(accessor) {
1562
1564
  //#region src/menu/schema.ts
1563
1565
  const menuSchema = { [RibbonDataGroup.ORGANIZATION]: { [SmartToggleSheetsFilterCommand.id]: {
1564
1566
  order: 2,
1567
+ gridLayout: {
1568
+ row: 1,
1569
+ column: 2
1570
+ },
1565
1571
  menuItemFactory: SmartToggleFilterMenuItemFactory,
1566
1572
  [ClearSheetsFilterCriteriaCommand.id]: {
1567
1573
  order: 0,
@@ -1576,7 +1582,7 @@ const menuSchema = { [RibbonDataGroup.ORGANIZATION]: { [SmartToggleSheetsFilterC
1576
1582
  //#endregion
1577
1583
  //#region package.json
1578
1584
  var name = "@univerjs/sheets-filter-ui";
1579
- var version = "1.0.0-alpha.6";
1585
+ var version = "1.0.0-alpha.8";
1580
1586
 
1581
1587
  //#endregion
1582
1588
  //#region src/config/config.ts
@@ -2437,7 +2443,7 @@ _defineProperty(UniverSheetsFilterMobileUIPlugin, "pluginName", "SHEET_FILTER_UI
2437
2443
  _defineProperty(UniverSheetsFilterMobileUIPlugin, "packageName", name);
2438
2444
  _defineProperty(UniverSheetsFilterMobileUIPlugin, "version", version);
2439
2445
  UniverSheetsFilterMobileUIPlugin = __decorate([
2440
- DependentOn(UniverSheetsFilterPlugin),
2446
+ DependentOn(UniverRenderEnginePlugin, UniverSheetsPlugin, UniverMobileUIPlugin, UniverSheetsFilterPlugin, UniverSheetsMobileUIPlugin),
2441
2447
  __decorateParam(1, Inject(Injector)),
2442
2448
  __decorateParam(2, IConfigService)
2443
2449
  ], UniverSheetsFilterMobileUIPlugin);
@@ -2577,7 +2583,7 @@ _defineProperty(UniverSheetsFilterUIPlugin, "pluginName", "SHEET_FILTER_UI_PLUGI
2577
2583
  _defineProperty(UniverSheetsFilterUIPlugin, "packageName", name);
2578
2584
  _defineProperty(UniverSheetsFilterUIPlugin, "version", version);
2579
2585
  UniverSheetsFilterUIPlugin = __decorate([
2580
- DependentOn(UniverSheetsFilterPlugin),
2586
+ DependentOn(UniverRenderEnginePlugin, UniverSheetsPlugin, UniverUIPlugin, UniverSheetsFilterPlugin, UniverSheetsUIPlugin),
2581
2587
  __decorateParam(1, Inject(Injector)),
2582
2588
  __decorateParam(2, IConfigService),
2583
2589
  __decorateParam(3, Optional(IRPCChannelService))
package/lib/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { BooleanNumber, ColorKit, CommandType, DependentOn, Disposable, ICommandService, IConfigService, IContextService, ILogService, IUniverInstanceService, Inject, Injector, InterceptorEffectEnum, LocaleService, Optional, Plugin, Quantity, RxDisposable, ThemeService, Tools, UniverInstanceType, VerticalAlign, createIdentifier, extractPureTextFromCell, fromCallback, isNumeric, merge, numfmt, registerDependencies, touchDependencies } from "@univerjs/core";
2
2
  import { ClearSheetsFilterCriteriaCommand, CustomFilterOperator, FILTER_MUTATIONS, FilterBy, ReCalcSheetsFilterCommand, ReCalcSheetsFilterMutation, RemoveSheetsFilterMutation, SetSheetsFilterCriteriaCommand, SetSheetsFilterCriteriaMutation, SetSheetsFilterRangeMutation, SheetsFilterService, SheetsFilterSyncController, SmartToggleSheetsFilterCommand, UniverSheetsFilterPlugin } from "@univerjs/sheets-filter";
3
- import { IEditorBridgeService, ISheetSelectionRenderService, SelectionControl, SetCellEditVisibleOperation, SheetCanvasPopManagerService, SheetSkeletonManagerService, SheetsRenderService, SheetsUIPart, getCoordByCell, getCurrentRangeDisable$, getObservableWithExclusiveRange$, whenSheetEditorFocused } from "@univerjs/sheets-ui";
4
- import { ComponentContainer, ComponentManager, ILayoutService, IMenuManagerService, IMessageService, IShortcutService, IconManager, KeyCode, MenuItemType, MetaKeys, RibbonDataGroup, getMenuHiddenObservable, useComponentsOfPart, useDependency, useObservable } from "@univerjs/ui";
5
- import { COLOR_BLACK_RGB, IRenderManagerService, Rect, Shape } from "@univerjs/engine-render";
6
- import { INTERCEPTOR_POINT, RangeProtectionPermissionViewPoint, RefRangeService, SetRangeValuesMutation, SheetInterceptorService, SheetPermissionCheckController, SheetsSelectionsService, WorksheetFilterPermission, WorksheetViewPermission, attachSelectionWithCoord, expandToContinuousRange, getSheetCommandTarget } from "@univerjs/sheets";
3
+ import { IEditorBridgeService, ISheetSelectionRenderService, SelectionControl, SetCellEditVisibleOperation, SheetCanvasPopManagerService, SheetSkeletonManagerService, SheetsRenderService, SheetsUIPart, UniverSheetsMobileUIPlugin, UniverSheetsUIPlugin, getCoordByCell, getCurrentRangeDisable$, getObservableWithExclusiveRange$, whenSheetEditorFocused } from "@univerjs/sheets-ui";
4
+ import { ComponentContainer, ComponentManager, ILayoutService, IMenuManagerService, IMessageService, IShortcutService, IconManager, KeyCode, MenuItemType, MetaKeys, RibbonDataGroup, UniverMobileUIPlugin, UniverUIPlugin, getMenuHiddenObservable, useComponentsOfPart, useDependency, useObservable } from "@univerjs/ui";
5
+ import { COLOR_BLACK_RGB, IRenderManagerService, Rect, Shape, UniverRenderEnginePlugin } from "@univerjs/engine-render";
6
+ import { INTERCEPTOR_POINT, RangeProtectionPermissionViewPoint, RefRangeService, SetRangeValuesMutation, SheetInterceptorService, SheetPermissionCheckController, SheetsSelectionsService, UniverSheetsPlugin, WorksheetFilterPermission, WorksheetViewPermission, attachSelectionWithCoord, expandToContinuousRange, getSheetCommandTarget } from "@univerjs/sheets";
7
7
  import { BehaviorSubject, ReplaySubject, Subject, combineLatest, distinctUntilChanged, filter, map, merge as merge$1, of, shareReplay, startWith, switchMap, takeUntil, throttleTime } from "rxjs";
8
8
  import { AIcon, BanIcon, FilterIcon, InfoIcon, SuccessIcon } from "@univerjs/icons";
9
9
  import { Button, Checkbox, Input, MessageType, Radio, RadioGroup, Segmented, Select, Switch, Tooltip, Tree, borderClassName, clsx } from "@univerjs/design";
@@ -598,7 +598,7 @@ function statisticFilterByValueItems(items) {
598
598
  }
599
599
 
600
600
  //#endregion
601
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorateParam.js
601
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
602
602
  function __decorateParam(paramIndex, decorator) {
603
603
  return function(target, key) {
604
604
  decorator(target, key, paramIndex);
@@ -606,7 +606,7 @@ function __decorateParam(paramIndex, decorator) {
606
606
  }
607
607
 
608
608
  //#endregion
609
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorate.js
609
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
610
610
  function __decorate(decorators, target, key, desc) {
611
611
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
612
612
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -836,7 +836,7 @@ function searchTree(items, searchKeywords) {
836
836
  }
837
837
 
838
838
  //#endregion
839
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/typeof.js
839
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
840
840
  function _typeof(o) {
841
841
  "@babel/helpers - typeof";
842
842
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -847,7 +847,7 @@ function _typeof(o) {
847
847
  }
848
848
 
849
849
  //#endregion
850
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPrimitive.js
850
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
851
851
  function toPrimitive(t, r) {
852
852
  if ("object" != _typeof(t) || !t) return t;
853
853
  var e = t[Symbol.toPrimitive];
@@ -860,14 +860,14 @@ function toPrimitive(t, r) {
860
860
  }
861
861
 
862
862
  //#endregion
863
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPropertyKey.js
863
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
864
864
  function toPropertyKey(t) {
865
865
  var i = toPrimitive(t, "string");
866
866
  return "symbol" == _typeof(i) ? i : i + "";
867
867
  }
868
868
 
869
869
  //#endregion
870
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/defineProperty.js
870
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
871
871
  function _defineProperty(e, r, t) {
872
872
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
873
873
  value: t,
@@ -879,7 +879,9 @@ function _defineProperty(e, r, t) {
879
879
 
880
880
  //#endregion
881
881
  //#region src/services/sheets-filter-panel.service.ts
882
- var _ByConditionsModel, _ByValuesModel, _ByColorsModel;
882
+ var _ByConditionsModel;
883
+ var _ByValuesModel;
884
+ var _ByColorsModel;
883
885
  const ISheetsFilterPanelService = createIdentifier("sheets-filter-ui.sheets-filter-panel.service");
884
886
  let SheetsFilterPanelService = class SheetsFilterPanelService extends Disposable {
885
887
  get filterBy() {
@@ -1145,7 +1147,7 @@ let ByValuesModel = _ByValuesModel = class ByValuesModel extends Disposable {
1145
1147
  const localeService = injector.get(LocaleService);
1146
1148
  const generateFilterValuesService = injector.get(ISheetsGenerateFilterValuesService, Quantity.OPTIONAL);
1147
1149
  const { unitId, subUnitId } = filterModel;
1148
- const workbook = univerInstanceService.getUniverSheetInstance(unitId);
1150
+ const workbook = univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET);
1149
1151
  if (!workbook) throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${unitId}!`);
1150
1152
  const worksheet = workbook === null || workbook === void 0 ? void 0 : workbook.getSheetBySheetId(subUnitId);
1151
1153
  if (!worksheet) throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${unitId} and subUnitId: ${subUnitId}!`);
@@ -1324,7 +1326,7 @@ let ByColorsModel = _ByColorsModel = class ByColorsModel extends Disposable {
1324
1326
  var _filterModel$getFilte, _colorFilters$cellFil, _colorFilters$cellTex;
1325
1327
  const univerInstanceService = injector.get(IUniverInstanceService);
1326
1328
  const { unitId, subUnitId } = filterModel;
1327
- const workbook = univerInstanceService.getUniverSheetInstance(unitId);
1329
+ const workbook = univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET);
1328
1330
  if (!workbook) throw new Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${unitId}!`);
1329
1331
  const worksheet = workbook === null || workbook === void 0 ? void 0 : workbook.getSheetBySheetId(subUnitId);
1330
1332
  if (!worksheet) throw new Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${unitId} and subUnitId: ${subUnitId}!`);
@@ -1562,6 +1564,10 @@ function ReCalcFilterMenuItemFactory(accessor) {
1562
1564
  //#region src/menu/schema.ts
1563
1565
  const menuSchema = { [RibbonDataGroup.ORGANIZATION]: { [SmartToggleSheetsFilterCommand.id]: {
1564
1566
  order: 2,
1567
+ gridLayout: {
1568
+ row: 1,
1569
+ column: 2
1570
+ },
1565
1571
  menuItemFactory: SmartToggleFilterMenuItemFactory,
1566
1572
  [ClearSheetsFilterCriteriaCommand.id]: {
1567
1573
  order: 0,
@@ -1576,7 +1582,7 @@ const menuSchema = { [RibbonDataGroup.ORGANIZATION]: { [SmartToggleSheetsFilterC
1576
1582
  //#endregion
1577
1583
  //#region package.json
1578
1584
  var name = "@univerjs/sheets-filter-ui";
1579
- var version = "1.0.0-alpha.6";
1585
+ var version = "1.0.0-alpha.8";
1580
1586
 
1581
1587
  //#endregion
1582
1588
  //#region src/config/config.ts
@@ -2437,7 +2443,7 @@ _defineProperty(UniverSheetsFilterMobileUIPlugin, "pluginName", "SHEET_FILTER_UI
2437
2443
  _defineProperty(UniverSheetsFilterMobileUIPlugin, "packageName", name);
2438
2444
  _defineProperty(UniverSheetsFilterMobileUIPlugin, "version", version);
2439
2445
  UniverSheetsFilterMobileUIPlugin = __decorate([
2440
- DependentOn(UniverSheetsFilterPlugin),
2446
+ DependentOn(UniverRenderEnginePlugin, UniverSheetsPlugin, UniverMobileUIPlugin, UniverSheetsFilterPlugin, UniverSheetsMobileUIPlugin),
2441
2447
  __decorateParam(1, Inject(Injector)),
2442
2448
  __decorateParam(2, IConfigService)
2443
2449
  ], UniverSheetsFilterMobileUIPlugin);
@@ -2577,7 +2583,7 @@ _defineProperty(UniverSheetsFilterUIPlugin, "pluginName", "SHEET_FILTER_UI_PLUGI
2577
2583
  _defineProperty(UniverSheetsFilterUIPlugin, "packageName", name);
2578
2584
  _defineProperty(UniverSheetsFilterUIPlugin, "version", version);
2579
2585
  UniverSheetsFilterUIPlugin = __decorate([
2580
- DependentOn(UniverSheetsFilterPlugin),
2586
+ DependentOn(UniverRenderEnginePlugin, UniverSheetsPlugin, UniverUIPlugin, UniverSheetsFilterPlugin, UniverSheetsUIPlugin),
2581
2587
  __decorateParam(1, Inject(Injector)),
2582
2588
  __decorateParam(2, IConfigService),
2583
2589
  __decorateParam(3, Optional(IRPCChannelService))
package/lib/umd/index.js CHANGED
@@ -1,7 +1,7 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/sheets-filter"),require("@univerjs/sheets-ui"),require("@univerjs/ui"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("rxjs"),require("react"),require("@univerjs/design"),require("react/jsx-runtime"),require("@univerjs/rpc")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets-filter`,`@univerjs/sheets-ui`,`@univerjs/ui`,`@univerjs/engine-render`,`@univerjs/sheets`,`rxjs`,`react`,`@univerjs/design`,`react/jsx-runtime`,`@univerjs/rpc`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsFilterUi={},e.UniverCore,e.UniverSheetsFilter,e.UniverSheetsUi,e.UniverUi,e.UniverEngineRender,e.UniverSheets,e.rxjs,e.React,e.UniverDesign,e.React,e.UniverRpc))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let f;(function(e){let r=e.NONE={label:`sheets-filter-ui.conditions.none`,operator:`none`,order:1,numOfParameters:0,getDefaultFormParams:()=>{throw Error(`[FilterConditionItems.NONE]: should not have initial form params!`)},testMappingParams:e=>e.operator1===`none`,mapToFilterColumn:()=>null,testMappingFilterColumn:e=>!e.customFilters&&!e.filters?{}:!1},i=e.ALL_CONDITIONS=[r,e.EMPTY={label:`sheets-filter-ui.conditions.empty`,operator:`empty`,order:1,numOfParameters:0,getDefaultFormParams:()=>{throw Error(`[FilterConditionItems.EMPTY]: should not have initial form params!`)},testMappingParams:({operator1:e})=>e===`empty`,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:``}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0];return n.val===``&&n.operator===void 0?{operator1:`empty`}:!1}},e.NOT_EMPTY={label:`sheets-filter-ui.conditions.not-empty`,operator:`notEmpty`,order:1,numOfParameters:0,getDefaultFormParams:()=>{throw Error(`[FilterConditionItems.NOT_EMPTY]: should not have initial form params!`)},testMappingParams:({operator1:e})=>e===`notEmpty`,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:``,operator:n.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.val===` `&&r.operator===n.CustomFilterOperator.NOT_EQUALS?{operator1:`notEmpty`}:!1}},e.TEXT_CONTAINS={label:`sheets-filter-ui.conditions.text-contains`,operator:`contains`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`contains`,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===`contains`},mapToFilterColumn:e=>{let{val1:t}=e;return t===``?null:{customFilters:{customFilters:[{val:`*${t}*`}]}}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0],r=n.val.toString();return!n.operator&&r.startsWith(`*`)&&r.endsWith(`*`)?{operator1:`contains`,val1:r.slice(1,-1)}:!1}},e.DOES_NOT_CONTAIN={label:`sheets-filter-ui.conditions.does-not-contain`,operator:`doesNotContain`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`doesNotContain`,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:`*${e.val1}*`,operator:n.CustomFilterOperator.NOT_EQUALS}]}}),testMappingParams:e=>{let[t]=p(e);return t===`doesNotContain`},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0],i=r.val.toString();return r.operator===n.CustomFilterOperator.NOT_EQUALS&&i.startsWith(`*`)&&i.endsWith(`*`)?{operator1:`doesNotContain`,val1:i.slice(1,-1)}:!1}},e.STARTS_WITH={label:`sheets-filter-ui.conditions.starts-with`,operator:`startsWith`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`startsWith`,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:`${e.val1}*`}]}}),testMappingParams:e=>{let[t]=p(e);return t===`startsWith`},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0],r=n.val.toString();return!n.operator&&r.endsWith(`*`)&&!r.startsWith(`*`)?{operator1:`startsWith`,val1:r.slice(0,-1)}:!1}},e.ENDS_WITH={label:`sheets-filter-ui.conditions.ends-with`,operator:`endsWith`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`endsWith`,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:`*${e.val1}`}]}}),testMappingParams:e=>{let[t]=p(e);return t===`endsWith`},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0],r=n.val.toString();return!n.operator&&r.startsWith(`*`)&&!r.endsWith(`*`)?{operator1:`endsWith`,val1:r.slice(1)}:!1}},e.EQUALS={label:`sheets-filter-ui.conditions.equals`,operator:`equals`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`equals`,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===`equals`},mapToFilterColumn:e=>{let{val1:t}=e;return t===``?null:{customFilters:{customFilters:[{val:t}]}}},testMappingFilterColumn:e=>{var t,n;return((t=e.filters)==null||(t=t.filters)==null?void 0:t.length)===1?{operator1:`equals`,val1:``}:((n=e.customFilters)==null?void 0:n.customFilters.length)===1&&!e.customFilters.customFilters[0].operator?{operator1:`equals`,val1:e.customFilters.customFilters[0].val.toString()}:!1}},e.GREATER_THAN={label:`sheets-filter-ui.conditions.greater-than`,operator:n.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.GREATER_THAN,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.GREATER_THAN}]}}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.GREATER_THAN},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.GREATER_THAN?{operator1:n.CustomFilterOperator.GREATER_THAN,val1:r.val.toString()}:!1}},e.GREATER_THAN_OR_EQUAL={label:`sheets-filter-ui.conditions.greater-than-or-equal`,operator:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL?{operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:r.val.toString()}:!1}},e.LESS_THAN={label:`sheets-filter-ui.conditions.less-than`,operator:n.CustomFilterOperator.LESS_THAN,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.LESS_THAN,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.LESS_THAN},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.LESS_THAN}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.LESS_THAN?{operator1:n.CustomFilterOperator.LESS_THAN,val1:r.val.toString()}:!1}},e.LESS_THAN_OR_EQUAL={label:`sheets-filter-ui.conditions.less-than-or-equal`,operator:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.LESS_THAN_OR_EQUAL},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.LESS_THAN_OR_EQUAL?{operator1:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:r.val.toString()}:!1}},e.EQUAL={label:`sheets-filter-ui.conditions.equal`,operator:n.CustomFilterOperator.EQUAL,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.EQUAL,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.EQUAL},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.EQUAL}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.EQUAL?{operator1:n.CustomFilterOperator.EQUAL,val1:r.val.toString()}:!1}},e.NOT_EQUAL={label:`sheets-filter-ui.conditions.not-equal`,operator:n.CustomFilterOperator.NOT_EQUALS,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.NOT_EQUALS,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.NOT_EQUALS},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.NOT_EQUALS?{operator1:n.CustomFilterOperator.NOT_EQUALS,val1:r.val.toString()}:!1}},e.BETWEEN={label:`sheets-filter-ui.conditions.between`,operator:`between`,order:1,numOfParameters:2,getDefaultFormParams:()=>({and:!0,operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:``,operator2:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:``}),testMappingParams:e=>{let{and:t,operator1:r,operator2:i}=e;if(!t)return!1;let a=[r,i];return a.includes(n.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&a.includes(n.CustomFilterOperator.LESS_THAN_OR_EQUAL)},mapToFilterColumn:e=>{let{val1:r,val2:i,operator1:a}=e,o=a===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:t.BooleanNumber.TRUE,customFilters:[{val:o?r:i,operator:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:o?i:r,operator:n.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==2)return!1;let[r,i]=e.customFilters.customFilters;return r.operator===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&i.operator===n.CustomFilterOperator.LESS_THAN_OR_EQUAL&&e.customFilters.and?{and:!0,operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:r.val.toString(),operator2:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:i.val.toString()}:i.operator===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&r.operator===n.CustomFilterOperator.LESS_THAN_OR_EQUAL&&e.customFilters.and?{and:!0,operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:i.val.toString(),operator2:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:r.val.toLocaleString()}:!1}},e.NOT_BETWEEN={label:`sheets-filter-ui.conditions.not-between`,operator:`notBetween`,order:1,numOfParameters:2,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.LESS_THAN,val1:``,operator2:n.CustomFilterOperator.GREATER_THAN,val2:``}),testMappingParams:e=>{let{and:t,operator1:r,operator2:i}=e;if(t)return!1;let a=[r,i];return a.includes(n.CustomFilterOperator.GREATER_THAN)&&a.includes(n.CustomFilterOperator.LESS_THAN)},mapToFilterColumn:e=>{let{val1:t,val2:r,operator1:i}=e,a=i===n.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:a?t:r,operator:n.CustomFilterOperator.GREATER_THAN},{val:a?r:t,operator:n.CustomFilterOperator.LESS_THAN}]}}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==2)return!1;let[r,i]=e.customFilters.customFilters;return r.operator===n.CustomFilterOperator.LESS_THAN&&i.operator===n.CustomFilterOperator.GREATER_THAN&&!e.customFilters.and?{operator1:n.CustomFilterOperator.LESS_THAN,val1:r.val.toString(),operator2:n.CustomFilterOperator.GREATER_THAN,val2:i.val.toString()}:i.operator===n.CustomFilterOperator.LESS_THAN&&r.operator===n.CustomFilterOperator.GREATER_THAN&&!e.customFilters.and?{operator1:n.CustomFilterOperator.GREATER_THAN,val1:i.val.toString(),operator2:n.CustomFilterOperator.LESS_THAN,val2:r.val.toLocaleString()}:!1}},e.CUSTOM={label:`sheets-filter-ui.conditions.custom`,operator:`custom`,order:1,numOfParameters:2,getDefaultFormParams:()=>({operator1:`none`,val1:``,operator2:`none`,val2:``}),testMappingParams:()=>!0,mapToFilterColumn:e=>{let{and:n,val1:a,val2:o,operator1:s,operator2:c}=e;function l(e,t){for(let n of i)if(n.operator===e)return n.mapToFilterColumn({val1:t,operator1:e})}let u=!s||s===f.NONE.operator,d=!c||c===f.NONE.operator;if(u&&d)return r.mapToFilterColumn({});if(u)return l(c,o);if(d)return l(s,a);let p=l(s,a),m=l(c,o),h={customFilters:[p.customFilters.customFilters[0],m.customFilters.customFilters[0]]};return n&&(h.and=t.BooleanNumber.TRUE),{customFilters:h}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==2)return!1;let n=e.customFilters.customFilters.map(e=>l({customFilters:{customFilters:[e]}})),r={operator1:n[0][0].operator,val1:n[0][1].val1,operator2:n[1][0].operator,val2:n[1][1].val1};return e.customFilters.and&&(r.and=!0),r}}];function a(e){let t=i.find(t=>t.operator===e);if(!t)throw Error(`[SheetsFilter]: no condition item found for operator: ${e}`);return t}e.getItemByOperator=a;function o(e,t){for(let n of i.filter(e=>e.numOfParameters===t))if(n.numOfParameters!==0&&n.testMappingParams(e))return n;for(let t of i)if(t.testMappingParams(e))return t;throw Error(`[SheetsFilter]: no condition item can be mapped from the filter map params!`)}e.testMappingParams=o;function s(e){let t=i.find(t=>t.operator===e);return(t==null?void 0:t.numOfParameters)===0?{operator1:t.operator}:t.getDefaultFormParams()}e.getInitialFormParams=s;function c(e,t){return e.mapToFilterColumn(t)}e.mapToFilterColumn=c;function l(e){if(!e)return[r,{}];for(let t of i){let n=t.testMappingFilterColumn(e);if(n)return[t,n]}return[r,{}]}e.testMappingFilterColumn=l})(f||(f={}));function p(e){let{operator1:t,operator2:n,val1:r,val2:i}=e;if(t&&n)throw Error(`Both operator1 and operator2 are set!`);if(!t&&!n)throw Error(`Neither operator1 and operator2 and both not set!`);return t?[t,r]:[n,i]}function m(e){let t=[],n=[],r=0,i=0;function a(e){e.leaf&&(e.checked?(t.push(e),r+=e.count):(n.push(e),i+=e.count)),e.children&&e.children.forEach(a)}return e.forEach(a),{checkedItems:t,uncheckedItems:n,checked:r,unchecked:i}}function h(e,t){return function(n,r){t(n,r,e)}}function g(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let _=`sheets-filter.generate-filter-values.service`,v=(0,t.createIdentifier)(_),y=class extends t.Disposable{constructor(e,t,n){super(),this._localeService=e,this._univerInstanceService=t,this._logService=n}async getFilterValues(e){var t;let{unitId:n,subUnitId:r,filteredOutRowsByOtherColumns:i,filterColumn:a,filters:o,blankChecked:s,iterateRange:c,alreadyChecked:l}=e,u=this._univerInstanceService.getUnit(n),d=(t=this._univerInstanceService.getUnit(n))==null?void 0:t.getSheetBySheetId(r);return!u||!d?[]:(this._logService.debug(`[SheetsGenerateFilterValuesService]`,`getFilterValues for`,{unitId:n,subUnitId:r}),b(o,this._localeService,c,d,new Set(i),a,new Set(l.map(String)),s,u.getStyles()))}};y=g([h(0,(0,t.Inject)(t.LocaleService)),h(1,t.IUniverInstanceService),h(2,t.ILogService)],y);function b(e,r,i,a,o,s,c,l,u){var d;let f=new Map,p=new Map,m=`empty`,h=!e&&((s==null?void 0:s.filterBy)===n.FilterBy.COLORS||(s==null?void 0:s.filterBy)===n.FilterBy.CONDITIONS)&&((d=s.filteredOutRows)==null?void 0:d.size),g=0;for(let e of a.iterateByColumn(i,!1,!1)){let{row:n,rowSpan:i=1}=e,s=0;for(;s<i;){var _,v,y;let d=n+s;if(o.has(d)){s++;continue}let m=e!=null&&e.value?(0,t.extractPureTextFromCell)(e.value):``;if(!m){g+=1,s+=i;continue}let x=(_=e.value)!=null&&_.v&&!e.value.p?(v=u.get((y=e.value)==null?void 0:y.s))==null||(v=v.n)==null?void 0:v.pattern:``,E=x&&t.numfmt.getFormatInfo(x).isDate,D=!1;if(E){let{year:e,month:n,day:r}=t.numfmt.getFormatDateInfo(x);D=e||n||r}if(x&&E&&D){var b,S,C;let n=(b=a.getCellRaw(e.row,e.col))==null?void 0:b.v;if(!n){s++;continue}let[i,o,u]=t.numfmt.format(`yyyy-mm-dd`,Number(n)).split(`-`).map(Number),d=f.get(`${i}`);d||(d={title:`${i}`,key:`${i}`,children:[],count:0,leaf:!1,checked:!1},f.set(`${i}`,d),p.set(`${i}`,[`${i}`]));let g=(S=d.children)==null?void 0:S.find(e=>e.key===`${i}-${o}`);if(!g){var w;g={title:r.t(`sheets-filter-ui.date.${o}`),key:`${i}-${o}`,children:[],count:0,leaf:!1,checked:!1},(w=d.children)==null||w.push(g),p.set(`${i}-${o}`,[`${i}`,`${i}-${o}`])}let _=g==null||(C=g.children)==null?void 0:C.find(e=>e.key===`${i}-${o}-${u}`);if(_)_.originValues.add(m),_.count++,g.count++,d.count++;else{var T;(T=g.children)==null||T.push({title:`${u}`,key:`${i}-${o}-${u}`,count:1,originValues:new Set([m]),leaf:!0,checked:h?!1:c.size?c.has(m):!l}),g.count++,d.count++,p.set(`${i}-${o}-${u}`,[`${i}`,`${i}-${o}`,`${i}-${o}-${u}`])}}else{let e=m,t=f.get(e);t?t.count++:(t={title:m,leaf:!0,checked:h?!1:c.size?c.has(m):!l,key:e,count:1},f.set(e,t),p.set(e,[e]))}s++}}let E=h?!1:e?l:!0;if(g>0){let e={title:r.t(`sheets-filter-ui.panel.empty`),count:g,leaf:!0,checked:E,key:m};f.set(`empty`,e),p.set(`empty`,[m])}return{filterTreeItems:x(Array.from(f.values())),filterTreeMapCache:p}}function x(e){return Array.from(e).sort((e,t)=>e.children&&!t.children?-1:!e.children&&t.children?1:S(e.title,t.title)).map(e=>(e.children&&e.children.sort((e,t)=>Number.parseInt(e.key.split(`-`)[1],10)-Number.parseInt(t.key.split(`-`)[1],10)).forEach(e=>{e.children&&e.children.sort((e,t)=>Number.parseInt(e.key.split(`-`)[2],10)-Number.parseInt(t.key.split(`-`)[2],10))}),e))}function S(e,n){let r=(0,t.isNumeric)(e),i=(0,t.isNumeric)(n);return r&&i?Number.parseFloat(e)-Number.parseFloat(n):r&&!i?-1:!r&&i?1:e.localeCompare(n)}function C(e,t){for(let n of e){if(n.key===t)return n;if(n.children){let e=C(n.children,t);if(e)return e}}return null}function w(e){return e.leaf?e.checked:e.children?e.children.every(e=>w(e)):!0}function T(e,t){e.leaf&&(t===void 0?e.checked=!e.checked:e.checked=t),e.children&&e.children.forEach(e=>T(e,t))}function E(e,t){let n=[];return e.forEach(e=>{let r=e.originValues?t.some(t=>Array.from(e.originValues).some(e=>e.toLowerCase().includes(t.toLowerCase()))):!1,i=!r&&t.some(t=>e.title.toLowerCase().includes(t.toLowerCase()));if(r||i)n.push({...e});else if(e.children){let r=E(e.children,t);if(r.length>0){let t=r.reduce((e,t)=>e+t.count,0);n.push({...e,count:t,children:r})}}}),n}function D(e){"@babel/helpers - typeof";return D=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},D(e)}function ee(e,t){if(D(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(D(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function te(e){var t=ee(e,`string`);return D(t)==`symbol`?t:t+``}function O(e,t,n){return(t=te(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var k,A,j;let M=(0,t.createIdentifier)(`sheets-filter-ui.sheets-filter-panel.service`),N=class extends t.Disposable{get filterBy(){return this._filterBy$.getValue()}get filterByModel(){return this._filterByModel}set filterByModel(e){this._filterByModel=e,this._filterByModel$.next(e)}get filterModel(){return this._filterModel}get col(){return this._col$.getValue()}constructor(e,t){super(),this._injector=e,this._refRangeService=t,O(this,`_filterBy$`,new s.BehaviorSubject(n.FilterBy.VALUES)),O(this,`filterBy$`,this._filterBy$.asObservable()),O(this,`_filterByModel$`,new s.ReplaySubject(1)),O(this,`filterByModel$`,this._filterByModel$.asObservable()),O(this,`_filterByModel`,null),O(this,`_hasCriteria$`,new s.BehaviorSubject(!1)),O(this,`hasCriteria$`,this._hasCriteria$.asObservable()),O(this,`_filterModel`,null),O(this,`_col$`,new s.BehaviorSubject(-1)),O(this,`col$`,this._col$.asObservable()),O(this,`_filterHeaderListener`,null)}dispose(){this._filterBy$.complete(),this._filterByModel$.complete(),this._hasCriteria$.complete()}setupCol(e,t){this.terminate(),this._filterModel=e,this._col$.next(t);let n=e.getFilterColumn(t);if(n){let r=n.getColumnData();if(r.customFilters){this._hasCriteria$.next(!0),this._setupByConditions(e,t);return}if(r.colorFilters){this._hasCriteria$.next(!0),this._setupByColors(e,t);return}if(r.filters){this._hasCriteria$.next(!0),this._setupByValues(e,t);return}this._hasCriteria$.next(!1),this._setupByValues(e,t);return}this._hasCriteria$.next(!1),this._setupByValues(e,t)}changeFilterBy(e){if(!this._filterModel||this.col===-1)return!1;switch(e){case n.FilterBy.VALUES:this._setupByValues(this._filterModel,this.col);break;case n.FilterBy.COLORS:this._setupByColors(this._filterModel,this.col);break;case n.FilterBy.CONDITIONS:this._setupByConditions(this._filterModel,this.col);break}return!0}terminate(){return this._filterModel=null,this._col$.next(-1),this._disposeFilterHeaderChangeListener(),!0}_disposeFilterHeaderChangeListener(){var e;(e=this._filterHeaderListener)==null||e.dispose(),this._filterHeaderListener=null}_listenToFilterHeaderChange(e,t){this._disposeFilterHeaderChangeListener();let n=e.unitId,r=e.subUnitId,i=e.getRange(),a={startColumn:t,startRow:i.startRow,endRow:i.startRow,endColumn:t};this._filterHeaderListener=this._refRangeService.watchRange(n,r,a,(e,t)=>{if(!t)this.terminate();else{let n=t.startColumn-e.startColumn;n!==0&&this._filterByModel.deltaCol(n)}})}async _setupByValues(e,t){this._disposePreviousModel();let r=e.getRange();if(r.startRow===r.endRow)return!1;let i=await F.fromFilterColumn(this._injector,e,t);return this.filterByModel=i,this._filterBy$.next(n.FilterBy.VALUES),this._listenToFilterHeaderChange(e,t),!0}async _setupByColors(e,t){this._disposePreviousModel();let r=e.getRange();if(r.startRow===r.endRow)return!1;let i=await I.fromFilterColumn(this._injector,e,t);return this.filterByModel=i,this._filterBy$.next(n.FilterBy.COLORS),this._listenToFilterHeaderChange(e,t),!0}_setupByConditions(e,t){this._disposePreviousModel();let r=e.getRange();if(r.startRow===r.endRow)return!1;let i=P.fromFilterColumn(this._injector,e,t,e.getFilterColumn(t));return this.filterByModel=i,this._filterBy$.next(n.FilterBy.CONDITIONS),this._listenToFilterHeaderChange(e,t),!0}_disposePreviousModel(){var e;(e=this._filterByModel)==null||e.dispose(),this.filterByModel=null}};N=g([h(0,(0,t.Inject)(t.Injector)),h(1,(0,t.Inject)(o.RefRangeService))],N);let P=k=class extends t.Disposable{static fromFilterColumn(e,t,n,r){let[i,a]=f.testMappingFilterColumn(r==null?void 0:r.getColumnData());return e.createInstance(k,t,n,i,a)}get conditionItem(){return this._conditionItem$.getValue()}get filterConditionFormParams(){return this._filterConditionFormParams$.getValue()}constructor(e,t,n,r,i){super(),this._filterModel=e,this.col=t,this._commandService=i,O(this,`canApply$`,(0,s.of)(!0)),O(this,`_conditionItem$`,void 0),O(this,`conditionItem$`,void 0),O(this,`_filterConditionFormParams$`,void 0),O(this,`filterConditionFormParams$`,void 0),this._conditionItem$=new s.BehaviorSubject(n),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new s.BehaviorSubject(r),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}dispose(){super.dispose(),this._conditionItem$.complete(),this._filterConditionFormParams$.complete()}deltaCol(e){this.col+=e}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;let e=f.mapToFilterColumn(this.conditionItem,this.filterConditionFormParams);return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:e})}onPrimaryConditionChange(e){let t=f.ALL_CONDITIONS.find(t=>t.operator===e);if(!t)throw Error(`[ByConditionsModel]: condition item not found for operator: ${e}!`);this._conditionItem$.next(t),this._filterConditionFormParams$.next(f.getInitialFormParams(e))}onConditionFormChange(e){let t={...this.filterConditionFormParams,...e};if(t.and!==!0&&delete t.and,e.and!==void 0||e.operator1!==void 0||e.operator2!==void 0){let e=f.testMappingParams(t,this.conditionItem.numOfParameters);this._conditionItem$.next(e)}this._filterConditionFormParams$.next(t)}};P=k=g([h(4,t.ICommandService)],P);let F=A=class extends t.Disposable{static async fromFilterColumn(e,n,r){let i=e.get(t.IUniverInstanceService),a=e.get(t.LocaleService),o=e.get(v,t.Quantity.OPTIONAL),{unitId:s,subUnitId:c}=n,l=i.getUniverSheetInstance(s);if(!l)throw Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${s}!`);let u=l==null?void 0:l.getSheetBySheetId(c);if(!u)throw Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${s} and subUnitId: ${c}!`);let d=n.getRange(),f=r,p=n.getFilterColumn(r),m=p==null?void 0:p.getColumnData().filters,h=new Set(m==null?void 0:m.filters),g=!!(m&&m.blank),_=n.getFilteredOutRowsExceptCol(r),y={...d,startRow:d.startRow+1,startColumn:f,endColumn:f},x,S;if(o){let e=await o.getFilterValues({unitId:s,subUnitId:c,filteredOutRowsByOtherColumns:Array.from(_),filterColumn:p,filters:!!m,blankChecked:g,iterateRange:y,alreadyChecked:Array.from(h)});x=e.filterTreeItems,S=e.filterTreeMapCache}else{let e=b(!!m,a,y,u,_,p,h,g,l.getStyles());x=e.filterTreeItems,S=e.filterTreeMapCache}return e.createInstance(A,n,r,x,S)}get rawFilterItems(){return this._rawFilterItems$.getValue()}get filterItems(){return this._filterItems}get treeMapCache(){return this._treeMapCache}constructor(e,t,n,r,i){super(),this._filterModel=e,this.col=t,this._commandService=i,O(this,`_rawFilterItems$`,void 0),O(this,`rawFilterItems$`,void 0),O(this,`filterItems$`,void 0),O(this,`_filterItems`,[]),O(this,`_treeMapCache`,void 0),O(this,`canApply$`,void 0),O(this,`_manuallyUpdateFilterItems$`,void 0),O(this,`_searchString$`,void 0),O(this,`searchString$`,void 0),this._treeMapCache=r,this._searchString$=new s.BehaviorSubject(``),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new s.BehaviorSubject(n),this.rawFilterItems$=this._rawFilterItems$.asObservable(),this._manuallyUpdateFilterItems$=new s.Subject,this.filterItems$=(0,s.merge)((0,s.combineLatest)([this._searchString$.pipe((0,s.throttleTime)(500,void 0,{leading:!0,trailing:!0}),(0,s.startWith)(void 0)),this._rawFilterItems$]).pipe((0,s.map)(([e,t])=>e?E(t,e.toLowerCase().split(/\s+/).filter(e=>!!e)):t)),this._manuallyUpdateFilterItems$).pipe((0,s.shareReplay)({bufferSize:1,refCount:!0})),this.canApply$=this.filterItems$.pipe((0,s.map)(e=>m(e).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(e=>this._filterItems=e))}dispose(){this._rawFilterItems$.complete(),this._searchString$.complete()}deltaCol(e){this.col+=e}setSearchString(e){this._searchString$.next(e)}onCheckAllToggled(e){let n=t.Tools.deepClone(this._filterItems);n.forEach(t=>T(t,e)),this._manuallyUpdateFilterItems(n)}onFilterCheckToggled(e){let n=t.Tools.deepClone(this._filterItems),r=C(n,e.key);r&&(T(r,!w(r)),this._manuallyUpdateFilterItems(n))}onFilterOnly(e){let n=t.Tools.deepClone(this._filterItems);n.forEach(e=>T(e,!1)),e.forEach(e=>{let t=C(n,e);t&&T(t,!0)}),this._manuallyUpdateFilterItems(n)}_manuallyUpdateFilterItems(e){this._manuallyUpdateFilterItems$.next(e)}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;let e=m(this._filterItems),{checked:t,checkedItems:r}=e,i=this.rawFilterItems,a=0;for(let e of i)a+=e.count;let o=t===0,s=e.checked===a,c={colId:this.col};if(o)throw Error(`[ByValuesModel]: no checked items!`);if(s)return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});{c.filters={};let e=r.filter(e=>e.key!==`empty`);e.length>0&&(c.filters={filters:e.flatMap(e=>e.originValues?Array.from(e.originValues):[e.title])}),e.length!==r.length&&(c.filters.blank=!0)}return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:c})}};F=A=g([h(4,t.ICommandService)],F);let I=j=class extends t.Disposable{static async fromFilterColumn(e,n,r){var i,o,s;let c=e.get(t.IUniverInstanceService),{unitId:l,subUnitId:u}=n,d=c.getUniverSheetInstance(l);if(!d)throw Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${l}!`);let f=d==null?void 0:d.getSheetBySheetId(u);if(!f)throw Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${l} and subUnitId: ${u}!`);let p=n.getRange(),m=r,h=(i=n.getFilterColumn(r))==null?void 0:i.getColumnData().colorFilters,g=n.getFilteredOutRowsExceptCol(r),_={...p,startRow:p.startRow+1,startColumn:m,endColumn:m},v=new Map,y=new Set((o=h==null?void 0:h.cellFillColors)==null?[]:o),b=new Map,x=new Set((s=h==null?void 0:h.cellTextColors)==null?[]:s);for(let e of f.iterateByColumn(_,!1,!0)){let{row:n,col:r,value:i}=e;if(g.has(n))continue;let o=f.getComposedCellStyleByCellData(n,r,i);if(o.bg&&o.bg.rgb){let e=new t.ColorKit(o.bg.rgb).toRgbString();v.has(e)||v.set(e,{color:e,checked:y.has(e)})}else v.set(`default-fill-color`,{color:null,checked:y.has(null)});if(o.cl&&o.cl.rgb){let e=new t.ColorKit(o.cl.rgb).toRgbString();b.has(e)||b.set(e,{color:e,checked:x.has(e)})}else b.set(`default-font-color`,{color:a.COLOR_BLACK_RGB,checked:x.has(a.COLOR_BLACK_RGB)})}return e.createInstance(j,n,r,v,b)}get cellFillColors(){return this._cellFillColors$.getValue()}get cellTextColors(){return this._cellTextColors$.getValue()}constructor(e,t,n,r,i){super(),this._filterModel=e,this.col=t,this._commandService=i,O(this,`canApply$`,(0,s.of)(!0)),O(this,`_cellFillColors$`,void 0),O(this,`cellFillColors$`,void 0),O(this,`_cellTextColors$`,void 0),O(this,`cellTextColors$`,void 0),this._cellFillColors$=new s.BehaviorSubject(Array.from(n.values())),this.cellFillColors$=this._cellFillColors$.asObservable(),this._cellTextColors$=new s.BehaviorSubject(Array.from(r.values())),this.cellTextColors$=this._cellTextColors$.asObservable()}dispose(){super.dispose(),this._cellFillColors$.complete()}deltaCol(e){this.col+=e}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}onFilterCheckToggled(e,t=!0){let n=t?this.cellFillColors:this.cellTextColors,r=[],i=!1;for(let t=0;t<n.length;t++){let a=n[t];if(a.color===e.color){i=!0,r.push({color:a.color,checked:!a.checked});continue}r.push({color:a.color,checked:a.checked})}i&&(this._resetColorsCheckedStatus(!t),t?this._cellFillColors$.next([...r]):this._cellTextColors$.next([...r]))}_resetColorsCheckedStatus(e=!0){let t=e?this.cellFillColors:this.cellTextColors,n=[];for(let e=0;e<t.length;e++)n.push({color:t[e].color,checked:!1});e?this._cellFillColors$.next([...n]):this._cellTextColors$.next([...n])}async apply(){if(this._disposed)return!1;let e=this.cellFillColors.filter(e=>e.checked).map(e=>e.color),t=this.cellTextColors.filter(e=>e.checked).map(e=>e.color);if(e.length===0&&t.length===0)return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});let r={colId:this.col};return e.length>0?r.colorFilters={cellFillColors:e}:t.length>0&&(r.colorFilters={cellTextColors:t}),this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:r})}};I=j=g([h(4,t.ICommandService)],I);let ne=`FILTER_PANEL_OPENED`,L={id:`sheet.operation.open-filter-panel`,type:t.CommandType.OPERATION,handler:(e,i)=>{let a=e.get(t.IContextService),o=e.get(n.SheetsFilterService),s=e.get(M),c=e.get(t.ICommandService),l=e.has(r.IEditorBridgeService)?e.get(r.IEditorBridgeService):null;l!=null&&l.isVisible().visible&&c.syncExecuteCommand(r.SetCellEditVisibleOperation.id,{visible:!1});let{unitId:u,subUnitId:d,col:f}=i,p=o.getFilterModel(u,d);return p?(s.setupCol(p,f),a.getContextValue(`FILTER_PANEL_OPENED`)||a.setContextValue(ne,!0),!0):!1}},R={id:`sheet.operation.close-filter-panel`,type:t.CommandType.OPERATION,handler:e=>{let n=e.get(t.IContextService),r=e.get(M),a=e.get(i.ILayoutService,t.Quantity.OPTIONAL);return n.getContextValue(`FILTER_PANEL_OPENED`)?(n.setContextValue(ne,!1),a==null||a.focus(),r.terminate()):!1}},z={id:`sheet.operation.apply-filter`,type:t.CommandType.OPERATION,handler:(e,t)=>{let{filterBy:n}=t;return e.get(M).changeFilterBy(n)}};function re(e){let a=e.get(n.SheetsFilterService);return{id:n.SmartToggleSheetsFilterCommand.id,type:i.MenuItemType.BUTTON_SELECTOR,icon:`FilterIcon`,tooltip:`sheets-filter-ui.toolbar.smart-toggle-filter-tooltip`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),activated$:a.activeFilterModel$.pipe((0,s.map)(e=>!!e)),disabled$:(0,r.getObservableWithExclusiveRange$)(e,(0,r.getCurrentRangeDisable$)(e,{worksheetTypes:[o.WorksheetFilterPermission,o.WorksheetViewPermission],rangeTypes:[o.RangeProtectionPermissionViewPoint]}))}}function ie(e){let r=e.get(n.SheetsFilterService);return{id:n.ClearSheetsFilterCriteriaCommand.id,type:i.MenuItemType.BUTTON,title:`sheets-filter-ui.toolbar.clear-filter-criteria`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:r.activeFilterModel$.pipe((0,s.switchMap)(e=>{var t;return(t=e==null?void 0:e.hasCriteria$.pipe((0,s.map)(e=>!e)))==null?(0,s.of)(!0):t}))}}function ae(e){let r=e.get(n.SheetsFilterService);return{id:n.ReCalcSheetsFilterCommand.id,type:i.MenuItemType.BUTTON,title:`sheets-filter-ui.toolbar.re-calc-filter-conditions`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:r.activeFilterModel$.pipe((0,s.switchMap)(e=>{var t;return(t=e==null?void 0:e.hasCriteria$.pipe((0,s.map)(e=>!e)))==null?(0,s.of)(!0):t}))}}let oe={[i.RibbonDataGroup.ORGANIZATION]:{[n.SmartToggleSheetsFilterCommand.id]:{order:2,menuItemFactory:re,[n.ClearSheetsFilterCriteriaCommand.id]:{order:0,menuItemFactory:ie},[n.ReCalcSheetsFilterCommand.id]:{order:1,menuItemFactory:ae}}}};var B=`@univerjs/sheets-filter-ui`,V=`1.0.0-alpha.6`;let H=`sheets-filter-ui.config`,U={};function W({ref:e,...t}){let{icon:n,id:r,className:i,extend:a,...o}=t,s=`univerjs-icon univerjs-icon-${r} ${i||``}`.trim(),l=(0,c.useRef)(`_${ue()}`);return se(n,`${r}`,{defIds:n.defIds,idSuffix:l.current},{ref:e,className:s,...o},a)}function se(e,t,n,r,i){return(0,c.createElement)(e.tag,{key:t,...ce(e,n,i),...r},(le(e,n).children||[]).map((r,a)=>se(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function ce(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),n!=null&&n.colorChannel1&&r.stroke===`colorChannel1`&&(r.stroke=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function le(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function ue(){return Math.random().toString(36).substring(2,8)}W.displayName=`UniverIcon`;let de={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 20 20`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M10 1.05957C10.356 1.05957 10.6816 1.26162 10.8408 1.58008L18.8408 17.5801L18.8799 17.668C19.0486 18.1134 18.8551 18.6232 18.4199 18.8408C17.9557 19.0727 17.3913 18.8841 17.1592 18.4199L10 4.10156L2.84082 18.4199C2.60871 18.8841 2.04434 19.0727 1.58008 18.8408C1.11587 18.6087 0.92731 18.0443 1.15918 17.5801L9.15918 1.58008C9.31841 1.26162 9.64395 1.05957 10 1.05957Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M15.3337 11.7261L15.4294 11.731C15.9035 11.779 16.2732 12.1798 16.2732 12.6665C16.2732 13.1532 15.9035 13.554 15.4294 13.602L15.3337 13.6069H4.66675C4.1476 13.6069 3.72632 13.1856 3.72632 12.6665C3.72632 12.1474 4.1476 11.7261 4.66675 11.7261H15.3337Z`}}]},fe=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`a-icon`,ref:t,icon:de}))});fe.displayName=`AIcon`;let pe={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 20 20`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M17.0596 10C17.0596 6.10087 13.8992 2.94043 10 2.94043C6.10087 2.94043 2.94043 6.10087 2.94043 10C2.94043 13.8992 6.10087 17.0596 10 17.0596C13.8992 17.0596 17.0596 13.8992 17.0596 10ZM18.9404 10C18.9404 14.9374 14.9374 18.9404 10 18.9404C5.06257 18.9404 1.05957 14.9374 1.05957 10C1.05957 5.06257 5.06257 1.05957 10 1.05957C14.9374 1.05957 18.9404 5.06257 18.9404 10Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M4.29492 4.13476C4.63911 3.79057 5.1845 3.76906 5.55371 4.07031L5.625 4.13476L16.0244 14.5352L16.0889 14.6064C16.3902 14.9757 16.3686 15.52 16.0244 15.8643C15.6573 16.2313 15.0624 16.2313 14.6953 15.8643L4.29492 5.46484L4.23047 5.39355C3.92922 5.02434 3.95073 4.47895 4.29492 4.13476Z`}}]},me=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`ban-icon`,ref:t,icon:pe}))});me.displayName=`BanIcon`;let he={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 17 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M3.32182 2.60967C2.98161 2.60967 2.79671 3.0074 3.01601 3.2675L6.85819 7.8246C6.94943 7.93282 6.99947 8.06981 6.99947 8.21136V12.7338C6.99947 12.898 7.0998 13.0455 7.2525 13.1058L8.73833 13.6928C9.00085 13.7965 9.28531 13.6031 9.28531 13.3208V8.21136C9.28531 8.06981 9.33535 7.93282 9.42659 7.8246L13.2688 3.2675C13.4881 3.0074 13.3032 2.60967 12.963 2.60967H3.32182ZM2.09858 4.04101C1.22139 3.0006 1.96097 1.40967 3.32182 1.40967H12.963C14.3238 1.40967 15.0634 3.0006 14.1862 4.04101L10.4853 8.43054V13.3208C10.4853 14.4498 9.34747 15.2237 8.29742 14.8089L6.81158 14.2219C6.20078 13.9806 5.79947 13.3905 5.79947 12.7338V8.43054L2.09858 4.04101Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},ge=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`filter-icon`,ref:t,icon:he}))});ge.displayName=`FilterIcon`;let _e={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8.00016 1.33203C6.68162 1.33203 5.39269 1.72302 4.29636 2.45557C3.20004 3.18811 2.34555 4.2293 1.84097 5.44747C1.33638 6.66565 1.20436 8.00609 1.4616 9.2993C1.71883 10.5925 2.35377 11.7804 3.28612 12.7127C4.21847 13.6451 5.40636 14.28 6.69956 14.5373C7.99277 14.7945 9.33321 14.6625 10.5514 14.1579C11.7696 13.6533 12.8108 12.7988 13.5433 11.7025C14.2758 10.6062 14.6668 9.31724 14.6668 7.9987C14.6649 6.23118 13.9619 4.53662 12.7121 3.2868C11.4622 2.03697 9.76768 1.33397 8.00016 1.33203ZM7.66683 3.9987C7.86461 3.9987 8.05795 4.05735 8.2224 4.16723C8.38685 4.27711 8.51502 4.43329 8.59071 4.61601C8.6664 4.79874 8.6862 4.99981 8.64762 5.19379C8.60903 5.38777 8.51379 5.56595 8.37394 5.7058C8.23409 5.84566 8.0559 5.9409 7.86192 5.97948C7.66794 6.01807 7.46687 5.99826 7.28415 5.92258C7.10142 5.84689 6.94524 5.71872 6.83536 5.55427C6.72548 5.38982 6.66683 5.19648 6.66683 4.9987C6.66683 4.73348 6.77219 4.47913 6.95972 4.29159C7.14726 4.10405 7.40162 3.9987 7.66683 3.9987ZM9.3335 11.332H6.66683C6.49002 11.332 6.32045 11.2618 6.19543 11.1368C6.0704 11.0117 6.00016 10.8422 6.00016 10.6654C6.00016 10.4886 6.0704 10.319 6.19543 10.194C6.32045 10.0689 6.49002 9.9987 6.66683 9.9987H7.3335V7.9987H6.66683C6.49002 7.9987 6.32045 7.92846 6.19543 7.80343C6.0704 7.67841 6.00016 7.50884 6.00016 7.33203C6.00016 7.15522 6.0704 6.98565 6.19543 6.86063C6.32045 6.7356 6.49002 6.66536 6.66683 6.66536H8.00016C8.17698 6.66536 8.34655 6.7356 8.47157 6.86063C8.59659 6.98565 8.66683 7.15522 8.66683 7.33203V9.9987H9.3335C9.51031 9.9987 9.67988 10.0689 9.8049 10.194C9.92993 10.319 10.0002 10.4886 10.0002 10.6654C10.0002 10.8422 9.92993 11.0117 9.8049 11.1368C9.67988 11.2618 9.51031 11.332 9.3335 11.332Z`}}]},ve=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`info-icon`,ref:t,icon:_e}))});ve.displayName=`InfoIcon`;let ye={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8 15C11.866 15 15 11.866 15 8C15 4.13401 11.866 1 8 1C4.13401 1 1 4.13401 1 8C1 11.866 4.13401 15 8 15ZM11.7245 6.42417C11.9588 6.18985 11.9588 5.80995 11.7245 5.57564C11.4901 5.34132 11.1102 5.34132 10.8759 5.57564L7.3002 9.15137L5.72446 7.57564C5.49014 7.34132 5.11025 7.34132 4.87593 7.57564C4.64162 7.80995 4.64162 8.18985 4.87593 8.42417L6.87593 10.4242C7.11025 10.6585 7.49014 10.6585 7.72446 10.4242L11.7245 6.42417Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},be=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`success-icon`,ref:t,icon:ye}))});be.displayName=`SuccessIcon`;function xe(e){let{model:n}=e,r=(0,i.useDependency)(t.LocaleService),a=(0,i.useObservable)(n.cellFillColors$,[],!0),o=(0,i.useObservable)(n.cellTextColors$,[],!0),s=(0,c.useCallback)(e=>{n.onFilterCheckToggled(e)},[n]),d=(0,c.useCallback)(e=>{n.onFilterCheckToggled(e,!1)},[n]);return(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-colors-container`,className:`univer-flex univer-h-full univer-min-h-[300px] univer-flex-col`,children:(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel`,className:(0,l.clsx)(`univer-mt-2 univer-box-border univer-flex univer-h-[300px] univer-flex-grow univer-flex-col univer-gap-4 univer-overflow-auto univer-rounded-md univer-px-2 univer-py-2.5`,l.borderClassName),children:[a.length>1&&(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`div`,{className:`univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white`,children:r.t(`sheets-filter-ui.panel.filter-by-cell-fill-color`)}),(0,u.jsx)(`div`,{className:`univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2`,children:a.map((e,t)=>(0,u.jsxs)(`div`,{className:`univer-relative univer-size-6`,onClick:()=>s(e),children:[e.color?(0,u.jsx)(`button`,{type:`button`,className:(0,l.clsx)(`univer-box-border univer-size-6 univer-cursor-pointer univer-rounded-full univer-border univer-border-solid univer-border-transparent univer-bg-gray-300 univer-transition-shadow hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white`),style:{backgroundColor:e.color}}):(0,u.jsx)(me,{className:`univer-size-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white`}),e.checked&&(0,u.jsx)(Se,{})]},`sheets-filter-cell-fill-color-${t}`))})]}),o.length>1&&(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`div`,{className:`univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white`,children:r.t(`sheets-filter-ui.panel.filter-by-cell-text-color`)}),(0,u.jsx)(`div`,{className:`univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2`,children:o.map((e,t)=>(0,u.jsxs)(`div`,{className:`univer-relative univer-size-6`,onClick:()=>d(e),children:[(0,u.jsx)(`div`,{className:`univer-box-border univer-flex univer-size-full univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-border univer-border-solid univer-border-[rgba(13,13,13,0.06)] univer-p-0.5 hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white dark:!univer-border-[rgba(255,255,255,0.06)]`,children:(0,u.jsx)(fe,{style:{color:e.color}})}),e.checked&&(0,u.jsx)(Se,{})]},`sheets-filter-cell-text-color-${t}`))})]}),a.length<=1&&o.length<=1&&(0,u.jsx)(`div`,{className:`univer-flex univer-size-full univer-items-center univer-justify-center univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200`,children:r.t(`sheets-filter-ui.panel.filter-by-color-none`)})]})})}function Se(){return(0,u.jsx)(`div`,{className:`univer-absolute -univer-bottom-0.5 -univer-right-0.5 univer-flex univer-size-3 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white`,children:(0,u.jsx)(be,{className:`univer-size-full univer-font-bold univer-text-[#418F1F]`})})}let Ce=[[f.NONE],[f.EMPTY,f.NOT_EMPTY],[f.TEXT_CONTAINS,f.DOES_NOT_CONTAIN,f.STARTS_WITH,f.ENDS_WITH,f.EQUALS],[f.GREATER_THAN,f.GREATER_THAN_OR_EQUAL,f.LESS_THAN,f.LESS_THAN_OR_EQUAL,f.EQUAL,f.NOT_EQUAL,f.BETWEEN,f.NOT_BETWEEN],[f.CUSTOM]];function we(e){var n,r;let{model:a}=e,o=(0,i.useDependency)(t.LocaleService),s=(0,i.useObservable)(a.conditionItem$,void 0),d=(0,i.useObservable)(a.filterConditionFormParams$,void 0),p=d!=null&&d.and?`AND`:`OR`,m=(0,c.useCallback)(e=>{a.onConditionFormChange({and:e===`AND`})},[a]),h=Ce.map(e=>({options:e.map(e=>({label:o.t(e.label),value:e.operator}))})),g=(0,c.useCallback)(e=>{a.onPrimaryConditionChange(e)},[a]),_=f.ALL_CONDITIONS.filter(e=>e.numOfParameters!==2).map(e=>({label:o.t(e.label),value:e.operator})),v=(0,c.useCallback)(e=>{a.onConditionFormChange(e)},[a]),y=o.t(`sheets-filter-ui.panel.input-values-placeholder`);function b(e,t,n){let r=f.getItemByOperator(e).numOfParameters===1;return(0,u.jsxs)(u.Fragment,{children:[n===`operator2`&&(0,u.jsxs)(l.RadioGroup,{value:p,onChange:m,children:[(0,u.jsx)(l.Radio,{value:`AND`,children:o.t(`sheets-filter-ui.panel.and`)}),(0,u.jsx)(l.Radio,{value:`OR`,children:o.t(`sheets-filter-ui.panel.or`)})]}),(0,u.jsx)(l.Select,{value:e,options:_,onChange:e=>v({[n]:e})}),r&&(0,u.jsx)(`div`,{children:(0,u.jsx)(l.Input,{className:`univer-mt-2`,value:t,placeholder:y,onChange:e=>v({[n===`operator1`?`val1`:`val2`]:e})})})]})}return(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-conditions-container`,className:`univer-flex univer-h-full univer-min-h-[300px] univer-flex-col`,children:s&&d&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(l.Select,{value:s.operator,options:h,onChange:g}),f.getItemByOperator(s.operator).numOfParameters===0?null:(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-conditions-container-inner`,className:(0,l.clsx)(`univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2`,l.borderClassName),children:[s.numOfParameters>=1&&b(d.operator1,(n=d.val1)==null?``:n,`operator1`),s.numOfParameters>=2&&b(d.operator2,(r=d.val2)==null?``:r,`operator2`),(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-conditions-desc`,className:`univer-mt-2 univer-text-xs univer-text-gray-500`,children:[o.t(`sheets-filter-ui.panel.?`),(0,u.jsx)(`br`,{}),o.t(`sheets-filter-ui.panel.*`)]})]})]})})}function Te(e){let{model:n}=e,r=(0,i.useDependency)(t.LocaleService),a=(0,i.useObservable)(n.searchString$,``,!0),o=(0,i.useObservable)(n.filterItems$,void 0,!0),s=r.t(`sheets-filter-ui.panel.filter-only`),d=m(o),f=d.checked>0&&d.unchecked===0,p=d.checked>0&&d.unchecked>0,h=n.treeMapCache,g=(0,c.useCallback)(()=>{n.onCheckAllToggled(!f)},[n,f]),_=(0,c.useCallback)(e=>{n.setSearchString(e)},[n]);function v(e){let t=[];return e.forEach(e=>{e.checked&&t.push(e.key),e.children&&(t=t.concat(v(e.children)))}),t}return(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-values-container`,className:`univer-flex univer-h-full univer-min-h-[300px] univer-flex-col`,children:[(0,u.jsx)(l.Input,{autoFocus:!0,value:a,placeholder:r.t(`sheets-filter-ui.panel.search-placeholder`),onChange:_}),(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel`,className:(0,l.clsx)(`univer-mt-2 univer-box-border univer-flex univer-flex-grow univer-flex-col univer-overflow-hidden univer-rounded-md univer-px-2 univer-py-2.5`,l.borderClassName),children:[(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-values-item`,className:`univer-box-border univer-h-8 univer-w-full univer-py-0.5`,children:(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-values-item-inner`,className:`univer-box-border univer-flex univer-h-7 univer-items-center univer-rounded-md univer-py-0 univer-pl-5 univer-pr-0.5 univer-text-sm`,children:[(0,u.jsx)(l.Checkbox,{indeterminate:p,disabled:o.length===0,checked:f,onChange:g}),(0,u.jsx)(`span`,{"data-u-comp":`sheets-filter-panel-values-item-text`,className:`univer-mx-1 univer-inline-block univer-flex-shrink univer-truncate univer-text-gray-900 dark:!univer-text-white`,children:`${r.t(`sheets-filter-ui.panel.select-all`)}`}),(0,u.jsx)(`span`,{"data-u-comp":`sheets-filter-panel-values-item-count`,className:`univer-text-gray-400 dark:!univer-text-gray-500`,children:`(${d.checked}/${d.checked+d.unchecked})`})]})}),(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-values-virtual`,className:`univer-flex-grow`,children:(0,u.jsx)(l.Tree,{data:o,defaultExpandAll:!1,valueGroup:v(o),onChange:e=>{n.onFilterCheckToggled(e)},defaultCache:h,itemHeight:28,treeNodeClassName:`
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/sheets-filter"),require("@univerjs/sheets-ui"),require("@univerjs/ui"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("rxjs"),require("react"),require("@univerjs/design"),require("react/jsx-runtime"),require("@univerjs/rpc")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets-filter`,`@univerjs/sheets-ui`,`@univerjs/ui`,`@univerjs/engine-render`,`@univerjs/sheets`,`rxjs`,`react`,`@univerjs/design`,`react/jsx-runtime`,`@univerjs/rpc`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsFilterUi={},e.UniverCore,e.UniverSheetsFilter,e.UniverSheetsUi,e.UniverUi,e.UniverEngineRender,e.UniverSheets,e.rxjs,e.React,e.UniverDesign,e.React,e.UniverRpc))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let f;(function(e){let r=e.NONE={label:`sheets-filter-ui.conditions.none`,operator:`none`,order:1,numOfParameters:0,getDefaultFormParams:()=>{throw Error(`[FilterConditionItems.NONE]: should not have initial form params!`)},testMappingParams:e=>e.operator1===`none`,mapToFilterColumn:()=>null,testMappingFilterColumn:e=>!e.customFilters&&!e.filters&&{}},i=e.ALL_CONDITIONS=[r,e.EMPTY={label:`sheets-filter-ui.conditions.empty`,operator:`empty`,order:1,numOfParameters:0,getDefaultFormParams:()=>{throw Error(`[FilterConditionItems.EMPTY]: should not have initial form params!`)},testMappingParams:({operator1:e})=>e===`empty`,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:``}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0];return n.val!==``||n.operator!==void 0?!1:{operator1:`empty`}}},e.NOT_EMPTY={label:`sheets-filter-ui.conditions.not-empty`,operator:`notEmpty`,order:1,numOfParameters:0,getDefaultFormParams:()=>{throw Error(`[FilterConditionItems.NOT_EMPTY]: should not have initial form params!`)},testMappingParams:({operator1:e})=>e===`notEmpty`,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:``,operator:n.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.val!==` `||r.operator!==n.CustomFilterOperator.NOT_EQUALS?!1:{operator1:`notEmpty`}}},e.TEXT_CONTAINS={label:`sheets-filter-ui.conditions.text-contains`,operator:`contains`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`contains`,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===`contains`},mapToFilterColumn:e=>{let{val1:t}=e;return t===``?null:{customFilters:{customFilters:[{val:`*${t}*`}]}}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0],r=n.val.toString();return!n.operator&&r.startsWith(`*`)&&r.endsWith(`*`)?{operator1:`contains`,val1:r.slice(1,-1)}:!1}},e.DOES_NOT_CONTAIN={label:`sheets-filter-ui.conditions.does-not-contain`,operator:`doesNotContain`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`doesNotContain`,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:`*${e.val1}*`,operator:n.CustomFilterOperator.NOT_EQUALS}]}}),testMappingParams:e=>{let[t]=p(e);return t===`doesNotContain`},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0],i=r.val.toString();return r.operator===n.CustomFilterOperator.NOT_EQUALS&&i.startsWith(`*`)&&i.endsWith(`*`)?{operator1:`doesNotContain`,val1:i.slice(1,-1)}:!1}},e.STARTS_WITH={label:`sheets-filter-ui.conditions.starts-with`,operator:`startsWith`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`startsWith`,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:`${e.val1}*`}]}}),testMappingParams:e=>{let[t]=p(e);return t===`startsWith`},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0],r=n.val.toString();return!n.operator&&r.endsWith(`*`)&&!r.startsWith(`*`)?{operator1:`startsWith`,val1:r.slice(0,-1)}:!1}},e.ENDS_WITH={label:`sheets-filter-ui.conditions.ends-with`,operator:`endsWith`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`endsWith`,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:`*${e.val1}`}]}}),testMappingParams:e=>{let[t]=p(e);return t===`endsWith`},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0],r=n.val.toString();return!n.operator&&r.startsWith(`*`)&&!r.endsWith(`*`)?{operator1:`endsWith`,val1:r.slice(1)}:!1}},e.EQUALS={label:`sheets-filter-ui.conditions.equals`,operator:`equals`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`equals`,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===`equals`},mapToFilterColumn:e=>{let{val1:t}=e;return t===``?null:{customFilters:{customFilters:[{val:t}]}}},testMappingFilterColumn:e=>{var t,n;return((t=e.filters)==null||(t=t.filters)==null?void 0:t.length)===1?{operator1:`equals`,val1:``}:((n=e.customFilters)==null?void 0:n.customFilters.length)===1&&!e.customFilters.customFilters[0].operator&&{operator1:`equals`,val1:e.customFilters.customFilters[0].val.toString()}}},e.GREATER_THAN={label:`sheets-filter-ui.conditions.greater-than`,operator:n.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.GREATER_THAN,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.GREATER_THAN}]}}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.GREATER_THAN},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.GREATER_THAN&&{operator1:n.CustomFilterOperator.GREATER_THAN,val1:r.val.toString()}}},e.GREATER_THAN_OR_EQUAL={label:`sheets-filter-ui.conditions.greater-than-or-equal`,operator:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&{operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:r.val.toString()}}},e.LESS_THAN={label:`sheets-filter-ui.conditions.less-than`,operator:n.CustomFilterOperator.LESS_THAN,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.LESS_THAN,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.LESS_THAN},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.LESS_THAN}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.LESS_THAN&&{operator1:n.CustomFilterOperator.LESS_THAN,val1:r.val.toString()}}},e.LESS_THAN_OR_EQUAL={label:`sheets-filter-ui.conditions.less-than-or-equal`,operator:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.LESS_THAN_OR_EQUAL},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.LESS_THAN_OR_EQUAL&&{operator1:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:r.val.toString()}}},e.EQUAL={label:`sheets-filter-ui.conditions.equal`,operator:n.CustomFilterOperator.EQUAL,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.EQUAL,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.EQUAL},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.EQUAL}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.EQUAL&&{operator1:n.CustomFilterOperator.EQUAL,val1:r.val.toString()}}},e.NOT_EQUAL={label:`sheets-filter-ui.conditions.not-equal`,operator:n.CustomFilterOperator.NOT_EQUALS,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.NOT_EQUALS,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.NOT_EQUALS},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.NOT_EQUALS&&{operator1:n.CustomFilterOperator.NOT_EQUALS,val1:r.val.toString()}}},e.BETWEEN={label:`sheets-filter-ui.conditions.between`,operator:`between`,order:1,numOfParameters:2,getDefaultFormParams:()=>({and:!0,operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:``,operator2:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:``}),testMappingParams:e=>{let{and:t,operator1:r,operator2:i}=e;if(!t)return!1;let a=[r,i];return a.includes(n.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&a.includes(n.CustomFilterOperator.LESS_THAN_OR_EQUAL)},mapToFilterColumn:e=>{let{val1:r,val2:i,operator1:a}=e,o=a===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:t.BooleanNumber.TRUE,customFilters:[{val:o?r:i,operator:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:o?i:r,operator:n.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==2)return!1;let[r,i]=e.customFilters.customFilters;return r.operator===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&i.operator===n.CustomFilterOperator.LESS_THAN_OR_EQUAL&&e.customFilters.and?{and:!0,operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:r.val.toString(),operator2:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:i.val.toString()}:i.operator===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&r.operator===n.CustomFilterOperator.LESS_THAN_OR_EQUAL&&e.customFilters.and?{and:!0,operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:i.val.toString(),operator2:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:r.val.toLocaleString()}:!1}},e.NOT_BETWEEN={label:`sheets-filter-ui.conditions.not-between`,operator:`notBetween`,order:1,numOfParameters:2,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.LESS_THAN,val1:``,operator2:n.CustomFilterOperator.GREATER_THAN,val2:``}),testMappingParams:e=>{let{and:t,operator1:r,operator2:i}=e;if(t)return!1;let a=[r,i];return a.includes(n.CustomFilterOperator.GREATER_THAN)&&a.includes(n.CustomFilterOperator.LESS_THAN)},mapToFilterColumn:e=>{let{val1:t,val2:r,operator1:i}=e,a=i===n.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:a?t:r,operator:n.CustomFilterOperator.GREATER_THAN},{val:a?r:t,operator:n.CustomFilterOperator.LESS_THAN}]}}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==2)return!1;let[r,i]=e.customFilters.customFilters;return r.operator===n.CustomFilterOperator.LESS_THAN&&i.operator===n.CustomFilterOperator.GREATER_THAN&&!e.customFilters.and?{operator1:n.CustomFilterOperator.LESS_THAN,val1:r.val.toString(),operator2:n.CustomFilterOperator.GREATER_THAN,val2:i.val.toString()}:i.operator===n.CustomFilterOperator.LESS_THAN&&r.operator===n.CustomFilterOperator.GREATER_THAN&&!e.customFilters.and&&{operator1:n.CustomFilterOperator.GREATER_THAN,val1:i.val.toString(),operator2:n.CustomFilterOperator.LESS_THAN,val2:r.val.toLocaleString()}}},e.CUSTOM={label:`sheets-filter-ui.conditions.custom`,operator:`custom`,order:1,numOfParameters:2,getDefaultFormParams:()=>({operator1:`none`,val1:``,operator2:`none`,val2:``}),testMappingParams:()=>!0,mapToFilterColumn:e=>{let{and:n,val1:a,val2:o,operator1:s,operator2:c}=e;function l(e,t){for(let n of i)if(n.operator===e)return n.mapToFilterColumn({val1:t,operator1:e})}let u=!s||s===f.NONE.operator,d=!c||c===f.NONE.operator;if(u&&d)return r.mapToFilterColumn({});if(u)return l(c,o);if(d)return l(s,a);let p=l(s,a),m=l(c,o),h={customFilters:[p.customFilters.customFilters[0],m.customFilters.customFilters[0]]};return n&&(h.and=t.BooleanNumber.TRUE),{customFilters:h}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==2)return!1;let n=e.customFilters.customFilters.map(e=>l({customFilters:{customFilters:[e]}})),r={operator1:n[0][0].operator,val1:n[0][1].val1,operator2:n[1][0].operator,val2:n[1][1].val1};return e.customFilters.and&&(r.and=!0),r}}];function a(e){let t=i.find(t=>t.operator===e);if(!t)throw Error(`[SheetsFilter]: no condition item found for operator: ${e}`);return t}e.getItemByOperator=a;function o(e,t){for(let n of i.filter(e=>e.numOfParameters===t))if(n.numOfParameters!==0&&n.testMappingParams(e))return n;for(let t of i)if(t.testMappingParams(e))return t;throw Error(`[SheetsFilter]: no condition item can be mapped from the filter map params!`)}e.testMappingParams=o;function s(e){let t=i.find(t=>t.operator===e);return(t==null?void 0:t.numOfParameters)===0?{operator1:t.operator}:t.getDefaultFormParams()}e.getInitialFormParams=s;function c(e,t){return e.mapToFilterColumn(t)}e.mapToFilterColumn=c;function l(e){if(!e)return[r,{}];for(let t of i){let n=t.testMappingFilterColumn(e);if(n)return[t,n]}return[r,{}]}e.testMappingFilterColumn=l})(f||(f={}));function p(e){let{operator1:t,operator2:n,val1:r,val2:i}=e;if(t&&n)throw Error(`Both operator1 and operator2 are set!`);if(!t&&!n)throw Error(`Neither operator1 and operator2 and both not set!`);return t?[t,r]:[n,i]}function m(e){let t=[],n=[],r=0,i=0;function a(e){e.leaf&&(e.checked?(t.push(e),r+=e.count):(n.push(e),i+=e.count)),e.children&&e.children.forEach(a)}return e.forEach(a),{checkedItems:t,uncheckedItems:n,checked:r,unchecked:i}}function h(e,t){return function(n,r){t(n,r,e)}}function g(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let _=`sheets-filter.generate-filter-values.service`,v=(0,t.createIdentifier)(_),y=class extends t.Disposable{constructor(e,t,n){super(),this._localeService=e,this._univerInstanceService=t,this._logService=n}async getFilterValues(e){var t;let{unitId:n,subUnitId:r,filteredOutRowsByOtherColumns:i,filterColumn:a,filters:o,blankChecked:s,iterateRange:c,alreadyChecked:l}=e,u=this._univerInstanceService.getUnit(n),d=(t=this._univerInstanceService.getUnit(n))==null?void 0:t.getSheetBySheetId(r);return!u||!d?[]:(this._logService.debug(`[SheetsGenerateFilterValuesService]`,`getFilterValues for`,{unitId:n,subUnitId:r}),b(o,this._localeService,c,d,new Set(i),a,new Set(l.map(String)),s,u.getStyles()))}};y=g([h(0,(0,t.Inject)(t.LocaleService)),h(1,t.IUniverInstanceService),h(2,t.ILogService)],y);function b(e,r,i,a,o,s,c,l,u){var d;let f=new Map,p=new Map,m=`empty`,h=!e&&((s==null?void 0:s.filterBy)===n.FilterBy.COLORS||(s==null?void 0:s.filterBy)===n.FilterBy.CONDITIONS)&&((d=s.filteredOutRows)==null?void 0:d.size),g=0;for(let e of a.iterateByColumn(i,!1,!1)){let{row:n,rowSpan:i=1}=e,s=0;for(;s<i;){var _,v,y;let d=n+s;if(o.has(d)){s++;continue}let m=e!=null&&e.value?(0,t.extractPureTextFromCell)(e.value):``;if(!m){g+=1,s+=i;continue}let x=(_=e.value)!=null&&_.v&&!e.value.p?(v=u.get((y=e.value)==null?void 0:y.s))==null||(v=v.n)==null?void 0:v.pattern:``,E=x&&t.numfmt.getFormatInfo(x).isDate,D=!1;if(E){let{year:e,month:n,day:r}=t.numfmt.getFormatDateInfo(x);D=e||n||r}if(x&&E&&D){var b,S,C;let n=(b=a.getCellRaw(e.row,e.col))==null?void 0:b.v;if(!n){s++;continue}let[i,o,u]=t.numfmt.format(`yyyy-mm-dd`,Number(n)).split(`-`).map(Number),d=f.get(`${i}`);d||(d={title:`${i}`,key:`${i}`,children:[],count:0,leaf:!1,checked:!1},f.set(`${i}`,d),p.set(`${i}`,[`${i}`]));let g=(S=d.children)==null?void 0:S.find(e=>e.key===`${i}-${o}`);if(!g){var w;g={title:r.t(`sheets-filter-ui.date.${o}`),key:`${i}-${o}`,children:[],count:0,leaf:!1,checked:!1},(w=d.children)==null||w.push(g),p.set(`${i}-${o}`,[`${i}`,`${i}-${o}`])}let _=g==null||(C=g.children)==null?void 0:C.find(e=>e.key===`${i}-${o}-${u}`);if(_)_.originValues.add(m),_.count++,g.count++,d.count++;else{var T;(T=g.children)==null||T.push({title:`${u}`,key:`${i}-${o}-${u}`,count:1,originValues:new Set([m]),leaf:!0,checked:h?!1:c.size?c.has(m):!l}),g.count++,d.count++,p.set(`${i}-${o}-${u}`,[`${i}`,`${i}-${o}`,`${i}-${o}-${u}`])}}else{let e=m,t=f.get(e);t?t.count++:(t={title:m,leaf:!0,checked:h?!1:c.size?c.has(m):!l,key:e,count:1},f.set(e,t),p.set(e,[e]))}s++}}let E=h?!1:!e||l;if(g>0){let e={title:r.t(`sheets-filter-ui.panel.empty`),count:g,leaf:!0,checked:E,key:m};f.set(`empty`,e),p.set(`empty`,[m])}return{filterTreeItems:x(Array.from(f.values())),filterTreeMapCache:p}}function x(e){return Array.from(e).sort((e,t)=>e.children&&!t.children?-1:!e.children&&t.children?1:S(e.title,t.title)).map(e=>(e.children&&e.children.sort((e,t)=>Number.parseInt(e.key.split(`-`)[1],10)-Number.parseInt(t.key.split(`-`)[1],10)).forEach(e=>{e.children&&e.children.sort((e,t)=>Number.parseInt(e.key.split(`-`)[2],10)-Number.parseInt(t.key.split(`-`)[2],10))}),e))}function S(e,n){let r=(0,t.isNumeric)(e),i=(0,t.isNumeric)(n);return r&&i?Number.parseFloat(e)-Number.parseFloat(n):r&&!i?-1:!r&&i?1:e.localeCompare(n)}function C(e,t){for(let n of e){if(n.key===t)return n;if(n.children){let e=C(n.children,t);if(e)return e}}return null}function w(e){return e.leaf?e.checked:!e.children||e.children.every(e=>w(e))}function T(e,t){e.leaf&&(t===void 0?e.checked=!e.checked:e.checked=t),e.children&&e.children.forEach(e=>T(e,t))}function E(e,t){let n=[];return e.forEach(e=>{let r=e.originValues?t.some(t=>Array.from(e.originValues).some(e=>e.toLowerCase().includes(t.toLowerCase()))):!1,i=!r&&t.some(t=>e.title.toLowerCase().includes(t.toLowerCase()));if(r||i)n.push({...e});else if(e.children){let r=E(e.children,t);if(r.length>0){let t=r.reduce((e,t)=>e+t.count,0);n.push({...e,count:t,children:r})}}}),n}function D(e){"@babel/helpers - typeof";return D=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},D(e)}function ee(e,t){if(D(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(D(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function te(e){var t=ee(e,`string`);return D(t)==`symbol`?t:t+``}function O(e,t,n){return(t=te(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var k,A,j;let M=(0,t.createIdentifier)(`sheets-filter-ui.sheets-filter-panel.service`),N=class extends t.Disposable{get filterBy(){return this._filterBy$.getValue()}get filterByModel(){return this._filterByModel}set filterByModel(e){this._filterByModel=e,this._filterByModel$.next(e)}get filterModel(){return this._filterModel}get col(){return this._col$.getValue()}constructor(e,t){super(),this._injector=e,this._refRangeService=t,O(this,`_filterBy$`,new s.BehaviorSubject(n.FilterBy.VALUES)),O(this,`filterBy$`,this._filterBy$.asObservable()),O(this,`_filterByModel$`,new s.ReplaySubject(1)),O(this,`filterByModel$`,this._filterByModel$.asObservable()),O(this,`_filterByModel`,null),O(this,`_hasCriteria$`,new s.BehaviorSubject(!1)),O(this,`hasCriteria$`,this._hasCriteria$.asObservable()),O(this,`_filterModel`,null),O(this,`_col$`,new s.BehaviorSubject(-1)),O(this,`col$`,this._col$.asObservable()),O(this,`_filterHeaderListener`,null)}dispose(){this._filterBy$.complete(),this._filterByModel$.complete(),this._hasCriteria$.complete()}setupCol(e,t){this.terminate(),this._filterModel=e,this._col$.next(t);let n=e.getFilterColumn(t);if(n){let r=n.getColumnData();if(r.customFilters){this._hasCriteria$.next(!0),this._setupByConditions(e,t);return}if(r.colorFilters){this._hasCriteria$.next(!0),this._setupByColors(e,t);return}if(r.filters){this._hasCriteria$.next(!0),this._setupByValues(e,t);return}this._hasCriteria$.next(!1),this._setupByValues(e,t);return}this._hasCriteria$.next(!1),this._setupByValues(e,t)}changeFilterBy(e){if(!this._filterModel||this.col===-1)return!1;switch(e){case n.FilterBy.VALUES:this._setupByValues(this._filterModel,this.col);break;case n.FilterBy.COLORS:this._setupByColors(this._filterModel,this.col);break;case n.FilterBy.CONDITIONS:this._setupByConditions(this._filterModel,this.col);break}return!0}terminate(){return this._filterModel=null,this._col$.next(-1),this._disposeFilterHeaderChangeListener(),!0}_disposeFilterHeaderChangeListener(){var e;(e=this._filterHeaderListener)==null||e.dispose(),this._filterHeaderListener=null}_listenToFilterHeaderChange(e,t){this._disposeFilterHeaderChangeListener();let n=e.unitId,r=e.subUnitId,i=e.getRange(),a={startColumn:t,startRow:i.startRow,endRow:i.startRow,endColumn:t};this._filterHeaderListener=this._refRangeService.watchRange(n,r,a,(e,t)=>{if(!t)this.terminate();else{let n=t.startColumn-e.startColumn;n!==0&&this._filterByModel.deltaCol(n)}})}async _setupByValues(e,t){this._disposePreviousModel();let r=e.getRange();if(r.startRow===r.endRow)return!1;let i=await F.fromFilterColumn(this._injector,e,t);return this.filterByModel=i,this._filterBy$.next(n.FilterBy.VALUES),this._listenToFilterHeaderChange(e,t),!0}async _setupByColors(e,t){this._disposePreviousModel();let r=e.getRange();if(r.startRow===r.endRow)return!1;let i=await I.fromFilterColumn(this._injector,e,t);return this.filterByModel=i,this._filterBy$.next(n.FilterBy.COLORS),this._listenToFilterHeaderChange(e,t),!0}_setupByConditions(e,t){this._disposePreviousModel();let r=e.getRange();if(r.startRow===r.endRow)return!1;let i=P.fromFilterColumn(this._injector,e,t,e.getFilterColumn(t));return this.filterByModel=i,this._filterBy$.next(n.FilterBy.CONDITIONS),this._listenToFilterHeaderChange(e,t),!0}_disposePreviousModel(){var e;(e=this._filterByModel)==null||e.dispose(),this.filterByModel=null}};N=g([h(0,(0,t.Inject)(t.Injector)),h(1,(0,t.Inject)(o.RefRangeService))],N);let P=k=class extends t.Disposable{static fromFilterColumn(e,t,n,r){let[i,a]=f.testMappingFilterColumn(r==null?void 0:r.getColumnData());return e.createInstance(k,t,n,i,a)}get conditionItem(){return this._conditionItem$.getValue()}get filterConditionFormParams(){return this._filterConditionFormParams$.getValue()}constructor(e,t,n,r,i){super(),this._filterModel=e,this.col=t,this._commandService=i,O(this,`canApply$`,(0,s.of)(!0)),O(this,`_conditionItem$`,void 0),O(this,`conditionItem$`,void 0),O(this,`_filterConditionFormParams$`,void 0),O(this,`filterConditionFormParams$`,void 0),this._conditionItem$=new s.BehaviorSubject(n),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new s.BehaviorSubject(r),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}dispose(){super.dispose(),this._conditionItem$.complete(),this._filterConditionFormParams$.complete()}deltaCol(e){this.col+=e}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;let e=f.mapToFilterColumn(this.conditionItem,this.filterConditionFormParams);return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:e})}onPrimaryConditionChange(e){let t=f.ALL_CONDITIONS.find(t=>t.operator===e);if(!t)throw Error(`[ByConditionsModel]: condition item not found for operator: ${e}!`);this._conditionItem$.next(t),this._filterConditionFormParams$.next(f.getInitialFormParams(e))}onConditionFormChange(e){let t={...this.filterConditionFormParams,...e};if(t.and!==!0&&delete t.and,e.and!==void 0||e.operator1!==void 0||e.operator2!==void 0){let e=f.testMappingParams(t,this.conditionItem.numOfParameters);this._conditionItem$.next(e)}this._filterConditionFormParams$.next(t)}};P=k=g([h(4,t.ICommandService)],P);let F=A=class extends t.Disposable{static async fromFilterColumn(e,n,r){let i=e.get(t.IUniverInstanceService),a=e.get(t.LocaleService),o=e.get(v,t.Quantity.OPTIONAL),{unitId:s,subUnitId:c}=n,l=i.getUnit(s,t.UniverInstanceType.UNIVER_SHEET);if(!l)throw Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${s}!`);let u=l==null?void 0:l.getSheetBySheetId(c);if(!u)throw Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${s} and subUnitId: ${c}!`);let d=n.getRange(),f=r,p=n.getFilterColumn(r),m=p==null?void 0:p.getColumnData().filters,h=new Set(m==null?void 0:m.filters),g=!!(m&&m.blank),_=n.getFilteredOutRowsExceptCol(r),y={...d,startRow:d.startRow+1,startColumn:f,endColumn:f},x,S;if(o){let e=await o.getFilterValues({unitId:s,subUnitId:c,filteredOutRowsByOtherColumns:Array.from(_),filterColumn:p,filters:!!m,blankChecked:g,iterateRange:y,alreadyChecked:Array.from(h)});x=e.filterTreeItems,S=e.filterTreeMapCache}else{let e=b(!!m,a,y,u,_,p,h,g,l.getStyles());x=e.filterTreeItems,S=e.filterTreeMapCache}return e.createInstance(A,n,r,x,S)}get rawFilterItems(){return this._rawFilterItems$.getValue()}get filterItems(){return this._filterItems}get treeMapCache(){return this._treeMapCache}constructor(e,t,n,r,i){super(),this._filterModel=e,this.col=t,this._commandService=i,O(this,`_rawFilterItems$`,void 0),O(this,`rawFilterItems$`,void 0),O(this,`filterItems$`,void 0),O(this,`_filterItems`,[]),O(this,`_treeMapCache`,void 0),O(this,`canApply$`,void 0),O(this,`_manuallyUpdateFilterItems$`,void 0),O(this,`_searchString$`,void 0),O(this,`searchString$`,void 0),this._treeMapCache=r,this._searchString$=new s.BehaviorSubject(``),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new s.BehaviorSubject(n),this.rawFilterItems$=this._rawFilterItems$.asObservable(),this._manuallyUpdateFilterItems$=new s.Subject,this.filterItems$=(0,s.merge)((0,s.combineLatest)([this._searchString$.pipe((0,s.throttleTime)(500,void 0,{leading:!0,trailing:!0}),(0,s.startWith)(void 0)),this._rawFilterItems$]).pipe((0,s.map)(([e,t])=>e?E(t,e.toLowerCase().split(/\s+/).filter(e=>!!e)):t)),this._manuallyUpdateFilterItems$).pipe((0,s.shareReplay)({bufferSize:1,refCount:!0})),this.canApply$=this.filterItems$.pipe((0,s.map)(e=>m(e).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(e=>this._filterItems=e))}dispose(){this._rawFilterItems$.complete(),this._searchString$.complete()}deltaCol(e){this.col+=e}setSearchString(e){this._searchString$.next(e)}onCheckAllToggled(e){let n=t.Tools.deepClone(this._filterItems);n.forEach(t=>T(t,e)),this._manuallyUpdateFilterItems(n)}onFilterCheckToggled(e){let n=t.Tools.deepClone(this._filterItems),r=C(n,e.key);r&&(T(r,!w(r)),this._manuallyUpdateFilterItems(n))}onFilterOnly(e){let n=t.Tools.deepClone(this._filterItems);n.forEach(e=>T(e,!1)),e.forEach(e=>{let t=C(n,e);t&&T(t,!0)}),this._manuallyUpdateFilterItems(n)}_manuallyUpdateFilterItems(e){this._manuallyUpdateFilterItems$.next(e)}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;let e=m(this._filterItems),{checked:t,checkedItems:r}=e,i=this.rawFilterItems,a=0;for(let e of i)a+=e.count;let o=t===0,s=e.checked===a,c={colId:this.col};if(o)throw Error(`[ByValuesModel]: no checked items!`);if(s)return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});{c.filters={};let e=r.filter(e=>e.key!==`empty`);e.length>0&&(c.filters={filters:e.flatMap(e=>e.originValues?Array.from(e.originValues):[e.title])}),e.length!==r.length&&(c.filters.blank=!0)}return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:c})}};F=A=g([h(4,t.ICommandService)],F);let I=j=class extends t.Disposable{static async fromFilterColumn(e,n,r){var i,o,s;let c=e.get(t.IUniverInstanceService),{unitId:l,subUnitId:u}=n,d=c.getUnit(l,t.UniverInstanceType.UNIVER_SHEET);if(!d)throw Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${l}!`);let f=d==null?void 0:d.getSheetBySheetId(u);if(!f)throw Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${l} and subUnitId: ${u}!`);let p=n.getRange(),m=r,h=(i=n.getFilterColumn(r))==null?void 0:i.getColumnData().colorFilters,g=n.getFilteredOutRowsExceptCol(r),_={...p,startRow:p.startRow+1,startColumn:m,endColumn:m},v=new Map,y=new Set((o=h==null?void 0:h.cellFillColors)==null?[]:o),b=new Map,x=new Set((s=h==null?void 0:h.cellTextColors)==null?[]:s);for(let e of f.iterateByColumn(_,!1,!0)){let{row:n,col:r,value:i}=e;if(g.has(n))continue;let o=f.getComposedCellStyleByCellData(n,r,i);if(o.bg&&o.bg.rgb){let e=new t.ColorKit(o.bg.rgb).toRgbString();v.has(e)||v.set(e,{color:e,checked:y.has(e)})}else v.set(`default-fill-color`,{color:null,checked:y.has(null)});if(o.cl&&o.cl.rgb){let e=new t.ColorKit(o.cl.rgb).toRgbString();b.has(e)||b.set(e,{color:e,checked:x.has(e)})}else b.set(`default-font-color`,{color:a.COLOR_BLACK_RGB,checked:x.has(a.COLOR_BLACK_RGB)})}return e.createInstance(j,n,r,v,b)}get cellFillColors(){return this._cellFillColors$.getValue()}get cellTextColors(){return this._cellTextColors$.getValue()}constructor(e,t,n,r,i){super(),this._filterModel=e,this.col=t,this._commandService=i,O(this,`canApply$`,(0,s.of)(!0)),O(this,`_cellFillColors$`,void 0),O(this,`cellFillColors$`,void 0),O(this,`_cellTextColors$`,void 0),O(this,`cellTextColors$`,void 0),this._cellFillColors$=new s.BehaviorSubject(Array.from(n.values())),this.cellFillColors$=this._cellFillColors$.asObservable(),this._cellTextColors$=new s.BehaviorSubject(Array.from(r.values())),this.cellTextColors$=this._cellTextColors$.asObservable()}dispose(){super.dispose(),this._cellFillColors$.complete()}deltaCol(e){this.col+=e}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}onFilterCheckToggled(e,t=!0){let n=t?this.cellFillColors:this.cellTextColors,r=[],i=!1;for(let t=0;t<n.length;t++){let a=n[t];if(a.color===e.color){i=!0,r.push({color:a.color,checked:!a.checked});continue}r.push({color:a.color,checked:a.checked})}i&&(this._resetColorsCheckedStatus(!t),t?this._cellFillColors$.next([...r]):this._cellTextColors$.next([...r]))}_resetColorsCheckedStatus(e=!0){let t=e?this.cellFillColors:this.cellTextColors,n=[];for(let e=0;e<t.length;e++)n.push({color:t[e].color,checked:!1});e?this._cellFillColors$.next([...n]):this._cellTextColors$.next([...n])}async apply(){if(this._disposed)return!1;let e=this.cellFillColors.filter(e=>e.checked).map(e=>e.color),t=this.cellTextColors.filter(e=>e.checked).map(e=>e.color);if(e.length===0&&t.length===0)return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});let r={colId:this.col};return e.length>0?r.colorFilters={cellFillColors:e}:t.length>0&&(r.colorFilters={cellTextColors:t}),this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:r})}};I=j=g([h(4,t.ICommandService)],I);let ne=`FILTER_PANEL_OPENED`,L={id:`sheet.operation.open-filter-panel`,type:t.CommandType.OPERATION,handler:(e,i)=>{let a=e.get(t.IContextService),o=e.get(n.SheetsFilterService),s=e.get(M),c=e.get(t.ICommandService),l=e.has(r.IEditorBridgeService)?e.get(r.IEditorBridgeService):null;l!=null&&l.isVisible().visible&&c.syncExecuteCommand(r.SetCellEditVisibleOperation.id,{visible:!1});let{unitId:u,subUnitId:d,col:f}=i,p=o.getFilterModel(u,d);return p?(s.setupCol(p,f),a.getContextValue(`FILTER_PANEL_OPENED`)||a.setContextValue(ne,!0),!0):!1}},R={id:`sheet.operation.close-filter-panel`,type:t.CommandType.OPERATION,handler:e=>{let n=e.get(t.IContextService),r=e.get(M),a=e.get(i.ILayoutService,t.Quantity.OPTIONAL);return n.getContextValue(`FILTER_PANEL_OPENED`)?(n.setContextValue(ne,!1),a==null||a.focus(),r.terminate()):!1}},z={id:`sheet.operation.apply-filter`,type:t.CommandType.OPERATION,handler:(e,t)=>{let{filterBy:n}=t;return e.get(M).changeFilterBy(n)}};function re(e){let a=e.get(n.SheetsFilterService);return{id:n.SmartToggleSheetsFilterCommand.id,type:i.MenuItemType.BUTTON_SELECTOR,icon:`FilterIcon`,tooltip:`sheets-filter-ui.toolbar.smart-toggle-filter-tooltip`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),activated$:a.activeFilterModel$.pipe((0,s.map)(e=>!!e)),disabled$:(0,r.getObservableWithExclusiveRange$)(e,(0,r.getCurrentRangeDisable$)(e,{worksheetTypes:[o.WorksheetFilterPermission,o.WorksheetViewPermission],rangeTypes:[o.RangeProtectionPermissionViewPoint]}))}}function ie(e){let r=e.get(n.SheetsFilterService);return{id:n.ClearSheetsFilterCriteriaCommand.id,type:i.MenuItemType.BUTTON,title:`sheets-filter-ui.toolbar.clear-filter-criteria`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:r.activeFilterModel$.pipe((0,s.switchMap)(e=>{var t;return(t=e==null?void 0:e.hasCriteria$.pipe((0,s.map)(e=>!e)))==null?(0,s.of)(!0):t}))}}function ae(e){let r=e.get(n.SheetsFilterService);return{id:n.ReCalcSheetsFilterCommand.id,type:i.MenuItemType.BUTTON,title:`sheets-filter-ui.toolbar.re-calc-filter-conditions`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:r.activeFilterModel$.pipe((0,s.switchMap)(e=>{var t;return(t=e==null?void 0:e.hasCriteria$.pipe((0,s.map)(e=>!e)))==null?(0,s.of)(!0):t}))}}let oe={[i.RibbonDataGroup.ORGANIZATION]:{[n.SmartToggleSheetsFilterCommand.id]:{order:2,gridLayout:{row:1,column:2},menuItemFactory:re,[n.ClearSheetsFilterCriteriaCommand.id]:{order:0,menuItemFactory:ie},[n.ReCalcSheetsFilterCommand.id]:{order:1,menuItemFactory:ae}}}};var B=`@univerjs/sheets-filter-ui`,V=`1.0.0-alpha.8`;let H=`sheets-filter-ui.config`,U={};function W({ref:e,...t}){let{icon:n,id:r,className:i,extend:a,...o}=t,s=`univerjs-icon univerjs-icon-${r} ${i||``}`.trim(),l=(0,c.useRef)(`_${ue()}`);return se(n,`${r}`,{defIds:n.defIds,idSuffix:l.current},{ref:e,className:s,...o},a)}function se(e,t,n,r,i){return(0,c.createElement)(e.tag,{key:t,...ce(e,n,i),...r},(le(e,n).children||[]).map((r,a)=>se(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function ce(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),n!=null&&n.colorChannel1&&r.stroke===`colorChannel1`&&(r.stroke=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function le(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function ue(){return Math.random().toString(36).substring(2,8)}W.displayName=`UniverIcon`;let de={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 20 20`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M10 1.05957C10.356 1.05957 10.6816 1.26162 10.8408 1.58008L18.8408 17.5801L18.8799 17.668C19.0486 18.1134 18.8551 18.6232 18.4199 18.8408C17.9557 19.0727 17.3913 18.8841 17.1592 18.4199L10 4.10156L2.84082 18.4199C2.60871 18.8841 2.04434 19.0727 1.58008 18.8408C1.11587 18.6087 0.92731 18.0443 1.15918 17.5801L9.15918 1.58008C9.31841 1.26162 9.64395 1.05957 10 1.05957Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M15.3337 11.7261L15.4294 11.731C15.9035 11.779 16.2732 12.1798 16.2732 12.6665C16.2732 13.1532 15.9035 13.554 15.4294 13.602L15.3337 13.6069H4.66675C4.1476 13.6069 3.72632 13.1856 3.72632 12.6665C3.72632 12.1474 4.1476 11.7261 4.66675 11.7261H15.3337Z`}}]},fe=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`a-icon`,ref:t,icon:de}))});fe.displayName=`AIcon`;let pe={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 20 20`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M17.0596 10C17.0596 6.10087 13.8992 2.94043 10 2.94043C6.10087 2.94043 2.94043 6.10087 2.94043 10C2.94043 13.8992 6.10087 17.0596 10 17.0596C13.8992 17.0596 17.0596 13.8992 17.0596 10ZM18.9404 10C18.9404 14.9374 14.9374 18.9404 10 18.9404C5.06257 18.9404 1.05957 14.9374 1.05957 10C1.05957 5.06257 5.06257 1.05957 10 1.05957C14.9374 1.05957 18.9404 5.06257 18.9404 10Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M4.29492 4.13476C4.63911 3.79057 5.1845 3.76906 5.55371 4.07031L5.625 4.13476L16.0244 14.5352L16.0889 14.6064C16.3902 14.9757 16.3686 15.52 16.0244 15.8643C15.6573 16.2313 15.0624 16.2313 14.6953 15.8643L4.29492 5.46484L4.23047 5.39355C3.92922 5.02434 3.95073 4.47895 4.29492 4.13476Z`}}]},me=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`ban-icon`,ref:t,icon:pe}))});me.displayName=`BanIcon`;let he={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 17 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M3.32182 2.60967C2.98161 2.60967 2.79671 3.0074 3.01601 3.2675L6.85819 7.8246C6.94943 7.93282 6.99947 8.06981 6.99947 8.21136V12.7338C6.99947 12.898 7.0998 13.0455 7.2525 13.1058L8.73833 13.6928C9.00085 13.7965 9.28531 13.6031 9.28531 13.3208V8.21136C9.28531 8.06981 9.33535 7.93282 9.42659 7.8246L13.2688 3.2675C13.4881 3.0074 13.3032 2.60967 12.963 2.60967H3.32182ZM2.09858 4.04101C1.22139 3.0006 1.96097 1.40967 3.32182 1.40967H12.963C14.3238 1.40967 15.0634 3.0006 14.1862 4.04101L10.4853 8.43054V13.3208C10.4853 14.4498 9.34747 15.2237 8.29742 14.8089L6.81158 14.2219C6.20078 13.9806 5.79947 13.3905 5.79947 12.7338V8.43054L2.09858 4.04101Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},ge=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`filter-icon`,ref:t,icon:he}))});ge.displayName=`FilterIcon`;let _e={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8.00016 1.33203C6.68162 1.33203 5.39269 1.72302 4.29636 2.45557C3.20004 3.18811 2.34555 4.2293 1.84097 5.44747C1.33638 6.66565 1.20436 8.00609 1.4616 9.2993C1.71883 10.5925 2.35377 11.7804 3.28612 12.7127C4.21847 13.6451 5.40636 14.28 6.69956 14.5373C7.99277 14.7945 9.33321 14.6625 10.5514 14.1579C11.7696 13.6533 12.8108 12.7988 13.5433 11.7025C14.2758 10.6062 14.6668 9.31724 14.6668 7.9987C14.6649 6.23118 13.9619 4.53662 12.7121 3.2868C11.4622 2.03697 9.76768 1.33397 8.00016 1.33203ZM7.66683 3.9987C7.86461 3.9987 8.05795 4.05735 8.2224 4.16723C8.38685 4.27711 8.51502 4.43329 8.59071 4.61601C8.6664 4.79874 8.6862 4.99981 8.64762 5.19379C8.60903 5.38777 8.51379 5.56595 8.37394 5.7058C8.23409 5.84566 8.0559 5.9409 7.86192 5.97948C7.66794 6.01807 7.46687 5.99826 7.28415 5.92258C7.10142 5.84689 6.94524 5.71872 6.83536 5.55427C6.72548 5.38982 6.66683 5.19648 6.66683 4.9987C6.66683 4.73348 6.77219 4.47913 6.95972 4.29159C7.14726 4.10405 7.40162 3.9987 7.66683 3.9987ZM9.3335 11.332H6.66683C6.49002 11.332 6.32045 11.2618 6.19543 11.1368C6.0704 11.0117 6.00016 10.8422 6.00016 10.6654C6.00016 10.4886 6.0704 10.319 6.19543 10.194C6.32045 10.0689 6.49002 9.9987 6.66683 9.9987H7.3335V7.9987H6.66683C6.49002 7.9987 6.32045 7.92846 6.19543 7.80343C6.0704 7.67841 6.00016 7.50884 6.00016 7.33203C6.00016 7.15522 6.0704 6.98565 6.19543 6.86063C6.32045 6.7356 6.49002 6.66536 6.66683 6.66536H8.00016C8.17698 6.66536 8.34655 6.7356 8.47157 6.86063C8.59659 6.98565 8.66683 7.15522 8.66683 7.33203V9.9987H9.3335C9.51031 9.9987 9.67988 10.0689 9.8049 10.194C9.92993 10.319 10.0002 10.4886 10.0002 10.6654C10.0002 10.8422 9.92993 11.0117 9.8049 11.1368C9.67988 11.2618 9.51031 11.332 9.3335 11.332Z`}}]},ve=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`info-icon`,ref:t,icon:_e}))});ve.displayName=`InfoIcon`;let ye={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8 15C11.866 15 15 11.866 15 8C15 4.13401 11.866 1 8 1C4.13401 1 1 4.13401 1 8C1 11.866 4.13401 15 8 15ZM11.7245 6.42417C11.9588 6.18985 11.9588 5.80995 11.7245 5.57564C11.4901 5.34132 11.1102 5.34132 10.8759 5.57564L7.3002 9.15137L5.72446 7.57564C5.49014 7.34132 5.11025 7.34132 4.87593 7.57564C4.64162 7.80995 4.64162 8.18985 4.87593 8.42417L6.87593 10.4242C7.11025 10.6585 7.49014 10.6585 7.72446 10.4242L11.7245 6.42417Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},be=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`success-icon`,ref:t,icon:ye}))});be.displayName=`SuccessIcon`;function xe(e){let{model:n}=e,r=(0,i.useDependency)(t.LocaleService),a=(0,i.useObservable)(n.cellFillColors$,[],!0),o=(0,i.useObservable)(n.cellTextColors$,[],!0),s=(0,c.useCallback)(e=>{n.onFilterCheckToggled(e)},[n]),d=(0,c.useCallback)(e=>{n.onFilterCheckToggled(e,!1)},[n]);return(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-colors-container`,className:`univer-flex univer-h-full univer-min-h-[300px] univer-flex-col`,children:(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel`,className:(0,l.clsx)(`univer-mt-2 univer-box-border univer-flex univer-h-[300px] univer-flex-grow univer-flex-col univer-gap-4 univer-overflow-auto univer-rounded-md univer-px-2 univer-py-2.5`,l.borderClassName),children:[a.length>1&&(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`div`,{className:`univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white`,children:r.t(`sheets-filter-ui.panel.filter-by-cell-fill-color`)}),(0,u.jsx)(`div`,{className:`univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2`,children:a.map((e,t)=>(0,u.jsxs)(`div`,{className:`univer-relative univer-size-6`,onClick:()=>s(e),children:[e.color?(0,u.jsx)(`button`,{type:`button`,className:(0,l.clsx)(`univer-box-border univer-size-6 univer-cursor-pointer univer-rounded-full univer-border univer-border-solid univer-border-transparent univer-bg-gray-300 univer-transition-shadow hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white`),style:{backgroundColor:e.color}}):(0,u.jsx)(me,{className:`univer-size-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white`}),e.checked&&(0,u.jsx)(Se,{})]},`sheets-filter-cell-fill-color-${t}`))})]}),o.length>1&&(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`div`,{className:`univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white`,children:r.t(`sheets-filter-ui.panel.filter-by-cell-text-color`)}),(0,u.jsx)(`div`,{className:`univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2`,children:o.map((e,t)=>(0,u.jsxs)(`div`,{className:`univer-relative univer-size-6`,onClick:()=>d(e),children:[(0,u.jsx)(`div`,{className:`univer-box-border univer-flex univer-size-full univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-border univer-border-solid univer-border-[rgba(13,13,13,0.06)] univer-p-0.5 hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white dark:!univer-border-[rgba(255,255,255,0.06)]`,children:(0,u.jsx)(fe,{style:{color:e.color}})}),e.checked&&(0,u.jsx)(Se,{})]},`sheets-filter-cell-text-color-${t}`))})]}),a.length<=1&&o.length<=1&&(0,u.jsx)(`div`,{className:`univer-flex univer-size-full univer-items-center univer-justify-center univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200`,children:r.t(`sheets-filter-ui.panel.filter-by-color-none`)})]})})}function Se(){return(0,u.jsx)(`div`,{className:`univer-absolute -univer-bottom-0.5 -univer-right-0.5 univer-flex univer-size-3 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white`,children:(0,u.jsx)(be,{className:`univer-size-full univer-font-bold univer-text-[#418F1F]`})})}let Ce=[[f.NONE],[f.EMPTY,f.NOT_EMPTY],[f.TEXT_CONTAINS,f.DOES_NOT_CONTAIN,f.STARTS_WITH,f.ENDS_WITH,f.EQUALS],[f.GREATER_THAN,f.GREATER_THAN_OR_EQUAL,f.LESS_THAN,f.LESS_THAN_OR_EQUAL,f.EQUAL,f.NOT_EQUAL,f.BETWEEN,f.NOT_BETWEEN],[f.CUSTOM]];function we(e){var n,r;let{model:a}=e,o=(0,i.useDependency)(t.LocaleService),s=(0,i.useObservable)(a.conditionItem$,void 0),d=(0,i.useObservable)(a.filterConditionFormParams$,void 0),p=d!=null&&d.and?`AND`:`OR`,m=(0,c.useCallback)(e=>{a.onConditionFormChange({and:e===`AND`})},[a]),h=Ce.map(e=>({options:e.map(e=>({label:o.t(e.label),value:e.operator}))})),g=(0,c.useCallback)(e=>{a.onPrimaryConditionChange(e)},[a]),_=f.ALL_CONDITIONS.filter(e=>e.numOfParameters!==2).map(e=>({label:o.t(e.label),value:e.operator})),v=(0,c.useCallback)(e=>{a.onConditionFormChange(e)},[a]),y=o.t(`sheets-filter-ui.panel.input-values-placeholder`);function b(e,t,n){let r=f.getItemByOperator(e).numOfParameters===1;return(0,u.jsxs)(u.Fragment,{children:[n===`operator2`&&(0,u.jsxs)(l.RadioGroup,{value:p,onChange:m,children:[(0,u.jsx)(l.Radio,{value:`AND`,children:o.t(`sheets-filter-ui.panel.and`)}),(0,u.jsx)(l.Radio,{value:`OR`,children:o.t(`sheets-filter-ui.panel.or`)})]}),(0,u.jsx)(l.Select,{value:e,options:_,onChange:e=>v({[n]:e})}),r&&(0,u.jsx)(`div`,{children:(0,u.jsx)(l.Input,{className:`univer-mt-2`,value:t,placeholder:y,onChange:e=>v({[n===`operator1`?`val1`:`val2`]:e})})})]})}return(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-conditions-container`,className:`univer-flex univer-h-full univer-min-h-[300px] univer-flex-col`,children:s&&d&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(l.Select,{value:s.operator,options:h,onChange:g}),f.getItemByOperator(s.operator).numOfParameters===0?null:(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-conditions-container-inner`,className:(0,l.clsx)(`univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2`,l.borderClassName),children:[s.numOfParameters>=1&&b(d.operator1,(n=d.val1)==null?``:n,`operator1`),s.numOfParameters>=2&&b(d.operator2,(r=d.val2)==null?``:r,`operator2`),(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-conditions-desc`,className:`univer-mt-2 univer-text-xs univer-text-gray-500`,children:[o.t(`sheets-filter-ui.panel.?`),(0,u.jsx)(`br`,{}),o.t(`sheets-filter-ui.panel.*`)]})]})]})})}function Te(e){let{model:n}=e,r=(0,i.useDependency)(t.LocaleService),a=(0,i.useObservable)(n.searchString$,``,!0),o=(0,i.useObservable)(n.filterItems$,void 0,!0),s=r.t(`sheets-filter-ui.panel.filter-only`),d=m(o),f=d.checked>0&&d.unchecked===0,p=d.checked>0&&d.unchecked>0,h=n.treeMapCache,g=(0,c.useCallback)(()=>{n.onCheckAllToggled(!f)},[n,f]),_=(0,c.useCallback)(e=>{n.setSearchString(e)},[n]);function v(e){let t=[];return e.forEach(e=>{e.checked&&t.push(e.key),e.children&&(t=t.concat(v(e.children)))}),t}return(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-values-container`,className:`univer-flex univer-h-full univer-min-h-[300px] univer-flex-col`,children:[(0,u.jsx)(l.Input,{autoFocus:!0,value:a,placeholder:r.t(`sheets-filter-ui.panel.search-placeholder`),onChange:_}),(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel`,className:(0,l.clsx)(`univer-mt-2 univer-box-border univer-flex univer-flex-grow univer-flex-col univer-overflow-hidden univer-rounded-md univer-px-2 univer-py-2.5`,l.borderClassName),children:[(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-values-item`,className:`univer-box-border univer-h-8 univer-w-full univer-py-0.5`,children:(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-values-item-inner`,className:`univer-box-border univer-flex univer-h-7 univer-items-center univer-rounded-md univer-py-0 univer-pl-5 univer-pr-0.5 univer-text-sm`,children:[(0,u.jsx)(l.Checkbox,{indeterminate:p,disabled:o.length===0,checked:f,onChange:g}),(0,u.jsx)(`span`,{"data-u-comp":`sheets-filter-panel-values-item-text`,className:`univer-mx-1 univer-inline-block univer-flex-shrink univer-truncate univer-text-gray-900 dark:!univer-text-white`,children:`${r.t(`sheets-filter-ui.panel.select-all`)}`}),(0,u.jsx)(`span`,{"data-u-comp":`sheets-filter-panel-values-item-count`,className:`univer-text-gray-400 dark:!univer-text-gray-500`,children:`(${d.checked}/${d.checked+d.unchecked})`})]})}),(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-values-virtual`,className:`univer-flex-grow`,children:(0,u.jsx)(l.Tree,{data:o,defaultExpandAll:!1,valueGroup:v(o),onChange:e=>{n.onFilterCheckToggled(e)},defaultCache:h,itemHeight:28,treeNodeClassName:`
2
2
  univer-pr-2 univer-border-box univer-rounded-md
3
3
  [&:hover_a]:univer-inline-block
4
4
  hover:univer-bg-gray-50 univer-h-full
5
5
  univer-text-gray-900 dark:hover:!univer-bg-gray-900
6
6
  dark:!univer-text-white
7
- `,attachRender:e=>(0,u.jsxs)(`div`,{className:`univer-ml-1 univer-flex univer-h-5 univer-flex-1 univer-cursor-pointer univer-items-center univer-justify-between univer-text-sm univer-text-primary-500`,children:[(0,u.jsx)(`span`,{"data-u-comp":`sheets-filter-panel-values-item-count`,className:`univer-text-gray-400 dark:!univer-text-gray-500`,children:`(${e.count})`}),(0,u.jsx)(`a`,{className:`univer-box-border univer-hidden univer-h-4 univer-whitespace-nowrap univer-px-1.5`,onClick:()=>{let t=[];e.children?e.children.forEach(e=>{e.children?e.children.forEach(e=>{t.push(e.key)}):t.push(e.key)}):t.push(e.key),n.onFilterOnly(t)},children:s})]})})})]})]})}function Ee(){let e=(0,i.useDependency)(n.SheetsFilterSyncController),r=(0,i.useObservable)(e.visible$,void 0,!0),a=(0,i.useDependency)(t.LocaleService),o=(0,i.useDependency)(i.IMessageService),s=(0,i.useObservable)(e.enabled$,void 0,!0);return r?(0,u.jsxs)(`div`,{className:`univer-mt-2 univer-flex univer-items-center univer-justify-between univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200`,children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-1`,children:[(0,u.jsx)(`span`,{children:a.t(`sheets-filter-ui.sync.title`)}),(0,u.jsx)(l.Tooltip,{title:s?a.t(`sheets-filter-ui.sync.statusTips.off`):a.t(`sheets-filter-ui.sync.statusTips.on`),asChild:!0,children:(0,u.jsx)(ve,{className:`univer-block`})})]}),(0,u.jsx)(l.Switch,{defaultChecked:s,onChange:t=>{let n=t?a.t(`sheets-filter-ui.sync.switchTips.on`):a.t(`sheets-filter-ui.sync.switchTips.off`);e.setEnabled(t),o.show({content:n,type:l.MessageType.Success,duration:2e3})}})]}):null}let De=[{label:`sheets-filter-ui.panel.by-values`,value:n.FilterBy.VALUES},{label:`sheets-filter-ui.panel.by-colors`,value:n.FilterBy.COLORS},{label:`sheets-filter-ui.panel.by-conditions`,value:n.FilterBy.CONDITIONS}];function Oe(){var e;let a=(0,i.useDependency)(M),o=(0,i.useDependency)(t.LocaleService),d=(0,i.useDependency)(t.ICommandService),f=(0,i.useObservable)(a.filterBy$,void 0,!0),p=(0,i.useObservable)(a.filterByModel$,void 0,!1),m=(0,i.useObservable)(()=>(p==null?void 0:p.canApply$)||(0,s.of)(!1),void 0,!1,[p]),h=De.map(e=>({...e,label:o.t(e.label)})),g=!(0,i.useObservable)(a.hasCriteria$),_=(0,c.useCallback)(e=>{d.executeCommand(z.id,{filterBy:e})},[d]),v=(0,c.useCallback)(async()=>{await(p==null?void 0:p.clear()),d.executeCommand(R.id)},[p,d]),y=(0,c.useCallback)(()=>{d.executeCommand(R.id)},[d]),b=(0,c.useCallback)(async()=>{await(p==null?void 0:p.apply()),d.executeCommand(R.id)},[p,d]),x=(e=(0,i.useDependency)(n.SheetsFilterService).activeFilterModel)==null?void 0:e.getRange(),S=a.col;return(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel`,className:`univer-box-border univer-flex univer-max-h-[500px] univer-w-[400px] univer-flex-col univer-rounded-lg univer-bg-white univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-700`,children:[(0,u.jsx)(i.ComponentContainer,{components:(0,i.useComponentsOfPart)(r.SheetsUIPart.FILTER_PANEL_EMBED_POINT),sharedProps:{range:x,colIndex:S,onClose:y}}),(0,u.jsx)(`div`,{className:`univer-mb-1 univer-flex-shrink-0 univer-flex-grow-0`,children:(0,u.jsx)(l.Segmented,{value:f,items:h,onChange:e=>_(e)})}),p?(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-content`,className:`univer-flex-shrink univer-flex-grow univer-pt-2`,children:f===n.FilterBy.VALUES?(0,u.jsx)(Te,{model:p}):f===n.FilterBy.COLORS?(0,u.jsx)(xe,{model:p}):(0,u.jsx)(we,{model:p})}):(0,u.jsx)(`div`,{className:`univer-flex-1`}),(0,u.jsx)(Ee,{}),(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-footer`,className:`univer-mt-4 univer-inline-flex univer-flex-shrink-0 univer-flex-grow-0 univer-flex-nowrap univer-justify-between univer-overflow-hidden`,children:[(0,u.jsx)(l.Button,{variant:`link`,onClick:v,disabled:g,children:o.t(`sheets-filter-ui.panel.clear-filter`)}),(0,u.jsxs)(`span`,{className:`univer-flex univer-gap-2`,children:[(0,u.jsx)(l.Button,{variant:`default`,onClick:y,children:o.t(`sheets-filter-ui.panel.cancel`)}),(0,u.jsx)(l.Button,{disabled:!m,variant:`primary`,onClick:b,children:o.t(`sheets-filter-ui.panel.confirm`)})]})]})]})}let ke=`FILTER_PANEL_POPUP`,G=class extends t.Disposable{constructor(e,t){super(),this._componentManager=e,this._iconManager=t,this._registerIcons(),this._registerComponents()}_registerIcons(){this.disposeWithMe(this._iconManager.register({FilterIcon:ge}))}_registerComponents(){[[ke,Oe]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}};G=g([h(0,(0,t.Inject)(i.ComponentManager)),h(1,(0,t.Inject)(i.IconManager))],G);let K=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._sheetsFilterService=e,this._localeService=t,this._commandService=n,this._sheetPermissionCheckPermission=r,this._injector=i,this._sheetsSelectionService=a,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===n.SmartToggleSheetsFilterCommand.id){var r;let e=(0,o.getSheetCommandTarget)(this._injector.get(t.IUniverInstanceService));if(!e)return;let{unitId:n,subUnitId:a,worksheet:s}=e,c=(r=this._sheetsFilterService.getFilterModel(n,a))==null?void 0:r.getRange(),l;if(c)l=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetFilterPermission,o.WorksheetViewPermission]},[c],n,a);else{var i;let e=(i=this._sheetsSelectionService.getCurrentLastSelection())==null?void 0:i.range;if(e){let t={...e};t=e.startColumn===e.endColumn&&e.startRow===e.endRow?(0,o.expandToContinuousRange)(t,{left:!0,right:!0,up:!0,down:!0},s):t,l=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetViewPermission,o.WorksheetFilterPermission]},[t],n,a)}else l=this._sheetPermissionCheckPermission.permissionCheckWithoutRange({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetViewPermission,o.WorksheetFilterPermission]})}l||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t(`sheets-filter-ui.permission.filterErr`))}if(e.id===L.id){var a;let n=e.params,{unitId:r,subUnitId:i}=n,s=(a=this._sheetsFilterService.getFilterModel(r,i))==null?void 0:a.getRange(),c=t.Tools.deepClone(s);c&&(c.startColumn=n.col,c.endColumn=n.col,this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetFilterPermission,o.WorksheetViewPermission]},[c],r,i)||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t(`sheets-filter-ui.permission.filterErr`)))}}))}};K=g([h(0,(0,t.Inject)(n.SheetsFilterService)),h(1,(0,t.Inject)(t.LocaleService)),h(2,t.ICommandService),h(3,(0,t.Inject)(o.SheetPermissionCheckController)),h(4,(0,t.Inject)(t.Injector)),h(5,(0,t.Inject)(o.SheetsSelectionsService))],K);let Ae=new Path2D(`M3.30363 3C2.79117 3 2.51457 3.60097 2.84788 3.99024L6.8 8.60593V12.5662C6.8 12.7184 6.8864 12.8575 7.02289 12.9249L8.76717 13.7863C8.96655 13.8847 9.2 13.7396 9.2 13.5173V8.60593L13.1521 3.99024C13.4854 3.60097 13.2088 3 12.6964 3H3.30363Z`);var je=class{static drawNoCriteria(e,t,n,r){e.save(),a.Rect.drawWith(e,{radius:2,width:16,height:16,fill:r}),e.lineCap=`square`,e.strokeStyle=n,e.scale(t/16,t/16),e.beginPath(),e.lineWidth=1,e.lineCap=`round`,e.moveTo(3,4),e.lineTo(13,4),e.moveTo(4.5,8),e.lineTo(11.5,8),e.moveTo(6,12),e.lineTo(10,12),e.stroke(),e.restore()}static drawHasCriteria(e,t,n,r){e.save(),a.Rect.drawWith(e,{radius:2,width:16,height:16,fill:r}),e.scale(t/16,t/16),e.fillStyle=n,e.fill(Ae),e.restore()}};let q=class extends a.Shape{constructor(e,t,n,r,i){super(e,t),this._contextService=n,this._commandService=r,this._themeService=i,O(this,`_cellWidth`,0),O(this,`_cellHeight`,0),O(this,`_filterParams`,void 0),O(this,`_hovered`,!1),this.setShapeProps(t),this.onPointerDown$.subscribeEvent(e=>this.onPointerDown(e)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(e){e.cellHeight!==void 0&&(this._cellHeight=e.cellHeight),e.cellWidth!==void 0&&(this._cellWidth=e.cellWidth),e.filterParams!==void 0&&(this._filterParams=e.filterParams),this.transformByState({width:e.width,height:e.height})}_draw(e){let t=this._cellHeight,n=this._cellWidth,r=16-n,i=16-t;e.save();let a=new Path2D;a.rect(r,i,n,t),e.clip(a);let{hasCriteria:o}=this._filterParams,s=this._themeService.getColorFromTheme(`primary.600`),c=this._hovered?this._themeService.getColorFromTheme(`gray.50`):`rgba(255, 255, 255, 1.0)`;o?je.drawHasCriteria(e,16,s,c):je.drawNoCriteria(e,16,s,c),e.restore()}onPointerDown(e){if(e.button===2)return;let{col:t,unitId:n,subUnitId:r}=this._filterParams;this._contextService.getContextValue(`FILTER_PANEL_OPENED`)||!this._commandService.hasCommand(L.id)||setTimeout(()=>{this._commandService.executeCommand(L.id,{unitId:n,subUnitId:r,col:t})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};q=g([h(2,t.IContextService),h(3,t.ICommandService),h(4,(0,t.Inject)(t.ThemeService))],q);function Me(e,n,r,i){switch(i){case t.VerticalAlign.TOP:return e+1;case t.VerticalAlign.MIDDLE:return e+Math.max(0,(r-16)/2);case t.VerticalAlign.BOTTOM:default:return n-16-1}}let J=class extends t.RxDisposable{constructor(e,t,n,r,i,a,o,s){super(),this._context=e,this._injector=t,this._sheetSkeletonManagerService=n,this._sheetsFilterService=r,this._themeService=i,this._sheetInterceptorService=a,this._commandService=o,this._selectionRenderService=s,O(this,`_currentRenderParams`,null),O(this,`_filterRangeShape`,null),O(this,`_buttonRenderDisposable`,null),O(this,`_filterButtonShapes`,[]),this._initRenderer()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){this.disposeWithMe(this._themeService.currentTheme$.subscribe(()=>{this._refreshRendering(this._currentRenderParams)})),this._sheetSkeletonManagerService.currentSkeleton$.pipe((0,s.switchMap)(e=>{var r,i;if(!e)return(0,s.of)(null);let{unit:a,unitId:c}=this._context,l=((r=a.getActiveSheet())==null?void 0:r.getSheetId())||``,u=(i=this._sheetsFilterService.getFilterModel(c,l))==null?void 0:i,d=()=>({unitId:c,worksheetId:l,filterModel:u,range:u==null?void 0:u.getRange(),skeleton:e.skeleton});return(0,t.fromCallback)(this._commandService.onCommandExecuted.bind(this._commandService)).pipe((0,s.filter)(([e])=>{var r;return e.type===t.CommandType.MUTATION&&((r=e.params)==null?void 0:r.unitId)===a.getUnitId()&&(n.FILTER_MUTATIONS.has(e.id)||e.id===o.SetRangeValuesMutation.id)}),(0,s.throttleTime)(20,void 0,{leading:!1,trailing:!0}),(0,s.map)(d),(0,s.startWith)(d()))}),(0,s.takeUntil)(this.dispose$)).subscribe(e=>{this._currentRenderParams=e,this._refreshRendering(e)})}_refreshRendering(e){this._disposeRendering(),!(!e||!e.range)&&(this._renderRange(e.range,e.skeleton),this._renderButtons(e))}_renderRange(e,t){let{scene:n}=this._context,{rowHeaderWidth:i,columnHeaderHeight:a}=t,s=this._filterRangeShape=new r.SelectionControl(n,1e3,this._themeService,{rowHeaderWidth:i,columnHeaderHeight:a,enableAutoFill:!1,highlightHeader:!1}),c=(0,o.attachSelectionWithCoord)({range:e,primary:null,style:{fill:`rgba(0, 0, 0, 0.0)`}},t);s.updateRangeBySelectionWithCoord(c),s.setEvent(!1),n.makeDirty(!0)}_renderButtons(e){let{range:n,filterModel:i,unitId:a,skeleton:o,worksheetId:s}=e,{unit:c,scene:l}=this._context,u=c.getSheetBySheetId(s);if(!u)return;this._interceptCellContent(a,s,e.range);let{startColumn:d,endColumn:f,startRow:p}=n;for(let e=d;e<=f;e++){let n=`sheets-filter-button-${e}`,c=(0,r.getCoordByCell)(p,e,l,o),d=u.getComposedCellStyle(p,e),f=(d==null?void 0:d.vt)||t.VerticalAlign.BOTTOM,{startX:m,startY:h,endX:g,endY:_}=c,v=g-m,y=_-h;if(y<=1||v<=1)continue;let b=!!i.getFilterColumn(e),x={left:g-16-1,top:Me(h,_,y,f),height:16,width:16,zIndex:5e3,cellHeight:y,cellWidth:v,filterParams:{unitId:a,subUnitId:s,col:e,hasCriteria:b}},S=this._injector.createInstance(q,n,x);this._filterButtonShapes.push(S)}l.addObjects(this._filterButtonShapes),l.makeDirty()}_interceptCellContent(e,n,r){let{startRow:i,startColumn:a,endColumn:s}=r;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(o.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t.InterceptorEffectEnum.Style,handler:(t,r,o)=>{let{row:c,col:l,unitId:u,subUnitId:d}=r;return u!==e||d!==n||c!==i||l<a||l>s?o(t):((!t||t===r.rawData)&&(t={...r.rawData}),t.fontRenderExtension={...t==null?void 0:t.fontRenderExtension,rightOffset:16},o(t))},priority:10})}_disposeRendering(){var e,t;(e=this._filterRangeShape)==null||e.dispose(),this._filterButtonShapes.forEach(e=>e.dispose()),(t=this._buttonRenderDisposable)==null||t.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}};J=g([h(1,(0,t.Inject)(t.Injector)),h(2,(0,t.Inject)(r.SheetSkeletonManagerService)),h(3,(0,t.Inject)(n.SheetsFilterService)),h(4,(0,t.Inject)(t.ThemeService)),h(5,(0,t.Inject)(o.SheetInterceptorService)),h(6,t.ICommandService),h(7,r.ISheetSelectionRenderService)],J);let Y=class extends t.RxDisposable{constructor(e,r){super(),this._renderManagerService=e,this._sheetsRenderService=r,[n.SetSheetsFilterRangeMutation,n.SetSheetsFilterCriteriaMutation,n.RemoveSheetsFilterMutation,n.ReCalcSheetsFilterMutation].forEach(e=>this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(e.id))),this.disposeWithMe(this._renderManagerService.registerRenderModule(t.UniverInstanceType.UNIVER_SHEET,[J]))}};Y=g([h(0,a.IRenderManagerService),h(1,(0,t.Inject)(r.SheetsRenderService))],Y);let X=class extends t.Plugin{constructor(e=U,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{menu:i,...a}=(0,t.merge)({},U,this._config);i&&this._configService.setConfig(`menu`,i,{merge:!0}),this._configService.setConfig(H,a)}onStarting(){this._injector.add([G]),this._injector.get(G),[[K],[Y]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(K)}onRendered(){this._injector.get(Y)}};O(X,`type`,t.UniverInstanceType.UNIVER_SHEET),O(X,`pluginName`,`SHEET_FILTER_UI_PLUGIN`),O(X,`packageName`,B),O(X,`version`,V),X=g([(0,t.DependentOn)(n.UniverSheetsFilterPlugin),h(1,(0,t.Inject)(t.Injector)),h(2,t.IConfigService)],X);let Ne={id:n.SmartToggleSheetsFilterCommand.id,binding:i.KeyCode.L|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,description:`sheets-filter-ui.shortcut.smart-toggle-filter`,preconditions:r.whenSheetEditorFocused,group:`4_sheet-edit`,groupTitle:`sheets-ui.shortcut.sheet-edit`},Z=class extends Y{constructor(e,t,n,r,i,a,o,s,c,l,u,d){super(d,u),this._injector=e,this._sheetsFilterPanelService=t,this._sheetCanvasPopupService=n,this._sheetsFilterService=r,this._localeService=i,this._shortcutService=a,this._commandService=o,this._menuManagerService=s,this._contextService=c,this._messageService=l,O(this,`_popupDisposable`,void 0),this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[Ne].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initCommands(){[n.SmartToggleSheetsFilterCommand,z,L,R].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenuItems(){this._menuManagerService.mergeMenu(oe)}_initUI(){this.disposeWithMe(this._contextService.subscribeContextValue$(ne).pipe((0,s.distinctUntilChanged)()).subscribe(e=>{e?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(e=>{e&&this._messageService.show({type:l.MessageType.Error,content:this._localeService.t(e)})}))}_openFilterPopup(){let e=this._sheetsFilterPanelService.filterModel;if(!e)throw Error(`[SheetsFilterUIController]: no filter model when opening filter popup!`);let t=e.getRange(),n=this._sheetsFilterPanelService.col,{startRow:r}=t;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(r,n,{componentKey:ke,direction:`horizontal`,onClickOutside:()=>this._commandService.syncExecuteCommand(R.id),offset:[5,0]})}_closeFilterPopup(){var e;(e=this._popupDisposable)==null||e.dispose(),this._popupDisposable=null}};Z=g([h(0,(0,t.Inject)(t.Injector)),h(1,M),h(2,(0,t.Inject)(r.SheetCanvasPopManagerService)),h(3,(0,t.Inject)(n.SheetsFilterService)),h(4,(0,t.Inject)(t.LocaleService)),h(5,i.IShortcutService),h(6,t.ICommandService),h(7,i.IMenuManagerService),h(8,t.IContextService),h(9,i.IMessageService),h(10,(0,t.Inject)(r.SheetsRenderService)),h(11,a.IRenderManagerService)],Z);let Q=class extends t.Plugin{constructor(e=U,n,r,i){super(),this._config=e,this._injector=n,this._configService=r,this._rpcChannelService=i;let{menu:a,...o}=(0,t.merge)({},U,this._config);a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(H,o)}onStarting(){this._injector.add([G]),this._injector.get(G),(0,t.registerDependencies)(this._injector,[[M,{useClass:N}],[K],[Z]]),this._config.useRemoteFilterValuesGenerator&&this._rpcChannelService&&this._injector.add([v,{useFactory:()=>(0,d.toModule)(this._rpcChannelService.requestChannel(_))}])}onReady(){(0,t.touchDependencies)(this._injector,[[K]])}onRendered(){(0,t.touchDependencies)(this._injector,[[Z]])}};O(Q,`type`,t.UniverInstanceType.UNIVER_SHEET),O(Q,`pluginName`,`SHEET_FILTER_UI_PLUGIN`),O(Q,`packageName`,B),O(Q,`version`,V),Q=g([(0,t.DependentOn)(n.UniverSheetsFilterPlugin),h(1,(0,t.Inject)(t.Injector)),h(2,t.IConfigService),h(3,(0,t.Optional)(d.IRPCChannelService))],Q);let $=class extends t.Plugin{constructor(e=U,n,r,i){super(),this._config=e,this._injector=n,this._configService=r,this._rpcChannelService=i;let{...a}=(0,t.merge)({},U,this._config);this._configService.setConfig(H,a)}onStarting(){[[v,{useClass:y}]].forEach(e=>this._injector.add(e))}onReady(){this._rpcChannelService.registerChannel(_,(0,d.fromModule)(this._injector.get(v)))}};O($,`type`,t.UniverInstanceType.UNIVER_SHEET),O($,`pluginName`,`SHEET_FILTER_UI_WORKER_PLUGIN`),O($,`packageName`,B),O($,`version`,V),$=g([h(1,(0,t.Inject)(t.Injector)),h(2,t.IConfigService),h(3,d.IRPCChannelService)],$),e.ChangeFilterByOperation=z,e.CloseFilterPanelOperation=R,e.OpenFilterPanelOperation=L,e.SheetsFilterUIMenuSchema=oe,Object.defineProperty(e,"UniverSheetsFilterMobileUIPlugin",{enumerable:!0,get:function(){return X}}),Object.defineProperty(e,"UniverSheetsFilterUIPlugin",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(e,"UniverSheetsFilterUIWorkerPlugin",{enumerable:!0,get:function(){return $}})});
7
+ `,attachRender:e=>(0,u.jsxs)(`div`,{className:`univer-ml-1 univer-flex univer-h-5 univer-flex-1 univer-cursor-pointer univer-items-center univer-justify-between univer-text-sm univer-text-primary-500`,children:[(0,u.jsx)(`span`,{"data-u-comp":`sheets-filter-panel-values-item-count`,className:`univer-text-gray-400 dark:!univer-text-gray-500`,children:`(${e.count})`}),(0,u.jsx)(`a`,{className:`univer-box-border univer-hidden univer-h-4 univer-whitespace-nowrap univer-px-1.5`,onClick:()=>{let t=[];e.children?e.children.forEach(e=>{e.children?e.children.forEach(e=>{t.push(e.key)}):t.push(e.key)}):t.push(e.key),n.onFilterOnly(t)},children:s})]})})})]})]})}function Ee(){let e=(0,i.useDependency)(n.SheetsFilterSyncController),r=(0,i.useObservable)(e.visible$,void 0,!0),a=(0,i.useDependency)(t.LocaleService),o=(0,i.useDependency)(i.IMessageService),s=(0,i.useObservable)(e.enabled$,void 0,!0);return r?(0,u.jsxs)(`div`,{className:`univer-mt-2 univer-flex univer-items-center univer-justify-between univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200`,children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-1`,children:[(0,u.jsx)(`span`,{children:a.t(`sheets-filter-ui.sync.title`)}),(0,u.jsx)(l.Tooltip,{title:s?a.t(`sheets-filter-ui.sync.statusTips.off`):a.t(`sheets-filter-ui.sync.statusTips.on`),asChild:!0,children:(0,u.jsx)(ve,{className:`univer-block`})})]}),(0,u.jsx)(l.Switch,{defaultChecked:s,onChange:t=>{let n=t?a.t(`sheets-filter-ui.sync.switchTips.on`):a.t(`sheets-filter-ui.sync.switchTips.off`);e.setEnabled(t),o.show({content:n,type:l.MessageType.Success,duration:2e3})}})]}):null}let De=[{label:`sheets-filter-ui.panel.by-values`,value:n.FilterBy.VALUES},{label:`sheets-filter-ui.panel.by-colors`,value:n.FilterBy.COLORS},{label:`sheets-filter-ui.panel.by-conditions`,value:n.FilterBy.CONDITIONS}];function Oe(){var e;let a=(0,i.useDependency)(M),o=(0,i.useDependency)(t.LocaleService),d=(0,i.useDependency)(t.ICommandService),f=(0,i.useObservable)(a.filterBy$,void 0,!0),p=(0,i.useObservable)(a.filterByModel$,void 0,!1),m=(0,i.useObservable)(()=>(p==null?void 0:p.canApply$)||(0,s.of)(!1),void 0,!1,[p]),h=De.map(e=>({...e,label:o.t(e.label)})),g=!(0,i.useObservable)(a.hasCriteria$),_=(0,c.useCallback)(e=>{d.executeCommand(z.id,{filterBy:e})},[d]),v=(0,c.useCallback)(async()=>{await(p==null?void 0:p.clear()),d.executeCommand(R.id)},[p,d]),y=(0,c.useCallback)(()=>{d.executeCommand(R.id)},[d]),b=(0,c.useCallback)(async()=>{await(p==null?void 0:p.apply()),d.executeCommand(R.id)},[p,d]),x=(e=(0,i.useDependency)(n.SheetsFilterService).activeFilterModel)==null?void 0:e.getRange(),S=a.col;return(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel`,className:`univer-box-border univer-flex univer-max-h-[500px] univer-w-[400px] univer-flex-col univer-rounded-lg univer-bg-white univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-700`,children:[(0,u.jsx)(i.ComponentContainer,{components:(0,i.useComponentsOfPart)(r.SheetsUIPart.FILTER_PANEL_EMBED_POINT),sharedProps:{range:x,colIndex:S,onClose:y}}),(0,u.jsx)(`div`,{className:`univer-mb-1 univer-flex-shrink-0 univer-flex-grow-0`,children:(0,u.jsx)(l.Segmented,{value:f,items:h,onChange:e=>_(e)})}),p?(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-content`,className:`univer-flex-shrink univer-flex-grow univer-pt-2`,children:f===n.FilterBy.VALUES?(0,u.jsx)(Te,{model:p}):f===n.FilterBy.COLORS?(0,u.jsx)(xe,{model:p}):(0,u.jsx)(we,{model:p})}):(0,u.jsx)(`div`,{className:`univer-flex-1`}),(0,u.jsx)(Ee,{}),(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-footer`,className:`univer-mt-4 univer-inline-flex univer-flex-shrink-0 univer-flex-grow-0 univer-flex-nowrap univer-justify-between univer-overflow-hidden`,children:[(0,u.jsx)(l.Button,{variant:`link`,onClick:v,disabled:g,children:o.t(`sheets-filter-ui.panel.clear-filter`)}),(0,u.jsxs)(`span`,{className:`univer-flex univer-gap-2`,children:[(0,u.jsx)(l.Button,{variant:`default`,onClick:y,children:o.t(`sheets-filter-ui.panel.cancel`)}),(0,u.jsx)(l.Button,{disabled:!m,variant:`primary`,onClick:b,children:o.t(`sheets-filter-ui.panel.confirm`)})]})]})]})}let ke=`FILTER_PANEL_POPUP`,G=class extends t.Disposable{constructor(e,t){super(),this._componentManager=e,this._iconManager=t,this._registerIcons(),this._registerComponents()}_registerIcons(){this.disposeWithMe(this._iconManager.register({FilterIcon:ge}))}_registerComponents(){[[ke,Oe]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}};G=g([h(0,(0,t.Inject)(i.ComponentManager)),h(1,(0,t.Inject)(i.IconManager))],G);let K=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._sheetsFilterService=e,this._localeService=t,this._commandService=n,this._sheetPermissionCheckPermission=r,this._injector=i,this._sheetsSelectionService=a,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===n.SmartToggleSheetsFilterCommand.id){var r;let e=(0,o.getSheetCommandTarget)(this._injector.get(t.IUniverInstanceService));if(!e)return;let{unitId:n,subUnitId:a,worksheet:s}=e,c=(r=this._sheetsFilterService.getFilterModel(n,a))==null?void 0:r.getRange(),l;if(c)l=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetFilterPermission,o.WorksheetViewPermission]},[c],n,a);else{var i;let e=(i=this._sheetsSelectionService.getCurrentLastSelection())==null?void 0:i.range;if(e){let t={...e};t=e.startColumn===e.endColumn&&e.startRow===e.endRow?(0,o.expandToContinuousRange)(t,{left:!0,right:!0,up:!0,down:!0},s):t,l=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetViewPermission,o.WorksheetFilterPermission]},[t],n,a)}else l=this._sheetPermissionCheckPermission.permissionCheckWithoutRange({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetViewPermission,o.WorksheetFilterPermission]})}l||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t(`sheets-filter-ui.permission.filterErr`))}if(e.id===L.id){var a;let n=e.params,{unitId:r,subUnitId:i}=n,s=(a=this._sheetsFilterService.getFilterModel(r,i))==null?void 0:a.getRange(),c=t.Tools.deepClone(s);c&&(c.startColumn=n.col,c.endColumn=n.col,this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetFilterPermission,o.WorksheetViewPermission]},[c],r,i)||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t(`sheets-filter-ui.permission.filterErr`)))}}))}};K=g([h(0,(0,t.Inject)(n.SheetsFilterService)),h(1,(0,t.Inject)(t.LocaleService)),h(2,t.ICommandService),h(3,(0,t.Inject)(o.SheetPermissionCheckController)),h(4,(0,t.Inject)(t.Injector)),h(5,(0,t.Inject)(o.SheetsSelectionsService))],K);let Ae=new Path2D(`M3.30363 3C2.79117 3 2.51457 3.60097 2.84788 3.99024L6.8 8.60593V12.5662C6.8 12.7184 6.8864 12.8575 7.02289 12.9249L8.76717 13.7863C8.96655 13.8847 9.2 13.7396 9.2 13.5173V8.60593L13.1521 3.99024C13.4854 3.60097 13.2088 3 12.6964 3H3.30363Z`);var je=class{static drawNoCriteria(e,t,n,r){e.save(),a.Rect.drawWith(e,{radius:2,width:16,height:16,fill:r}),e.lineCap=`square`,e.strokeStyle=n,e.scale(t/16,t/16),e.beginPath(),e.lineWidth=1,e.lineCap=`round`,e.moveTo(3,4),e.lineTo(13,4),e.moveTo(4.5,8),e.lineTo(11.5,8),e.moveTo(6,12),e.lineTo(10,12),e.stroke(),e.restore()}static drawHasCriteria(e,t,n,r){e.save(),a.Rect.drawWith(e,{radius:2,width:16,height:16,fill:r}),e.scale(t/16,t/16),e.fillStyle=n,e.fill(Ae),e.restore()}};let q=class extends a.Shape{constructor(e,t,n,r,i){super(e,t),this._contextService=n,this._commandService=r,this._themeService=i,O(this,`_cellWidth`,0),O(this,`_cellHeight`,0),O(this,`_filterParams`,void 0),O(this,`_hovered`,!1),this.setShapeProps(t),this.onPointerDown$.subscribeEvent(e=>this.onPointerDown(e)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(e){e.cellHeight!==void 0&&(this._cellHeight=e.cellHeight),e.cellWidth!==void 0&&(this._cellWidth=e.cellWidth),e.filterParams!==void 0&&(this._filterParams=e.filterParams),this.transformByState({width:e.width,height:e.height})}_draw(e){let t=this._cellHeight,n=this._cellWidth,r=16-n,i=16-t;e.save();let a=new Path2D;a.rect(r,i,n,t),e.clip(a);let{hasCriteria:o}=this._filterParams,s=this._themeService.getColorFromTheme(`primary.600`),c=this._hovered?this._themeService.getColorFromTheme(`gray.50`):`rgba(255, 255, 255, 1.0)`;o?je.drawHasCriteria(e,16,s,c):je.drawNoCriteria(e,16,s,c),e.restore()}onPointerDown(e){if(e.button===2)return;let{col:t,unitId:n,subUnitId:r}=this._filterParams;this._contextService.getContextValue(`FILTER_PANEL_OPENED`)||!this._commandService.hasCommand(L.id)||setTimeout(()=>{this._commandService.executeCommand(L.id,{unitId:n,subUnitId:r,col:t})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};q=g([h(2,t.IContextService),h(3,t.ICommandService),h(4,(0,t.Inject)(t.ThemeService))],q);function Me(e,n,r,i){switch(i){case t.VerticalAlign.TOP:return e+1;case t.VerticalAlign.MIDDLE:return e+Math.max(0,(r-16)/2);case t.VerticalAlign.BOTTOM:default:return n-16-1}}let J=class extends t.RxDisposable{constructor(e,t,n,r,i,a,o,s){super(),this._context=e,this._injector=t,this._sheetSkeletonManagerService=n,this._sheetsFilterService=r,this._themeService=i,this._sheetInterceptorService=a,this._commandService=o,this._selectionRenderService=s,O(this,`_currentRenderParams`,null),O(this,`_filterRangeShape`,null),O(this,`_buttonRenderDisposable`,null),O(this,`_filterButtonShapes`,[]),this._initRenderer()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){this.disposeWithMe(this._themeService.currentTheme$.subscribe(()=>{this._refreshRendering(this._currentRenderParams)})),this._sheetSkeletonManagerService.currentSkeleton$.pipe((0,s.switchMap)(e=>{var r,i;if(!e)return(0,s.of)(null);let{unit:a,unitId:c}=this._context,l=((r=a.getActiveSheet())==null?void 0:r.getSheetId())||``,u=(i=this._sheetsFilterService.getFilterModel(c,l))==null?void 0:i,d=()=>({unitId:c,worksheetId:l,filterModel:u,range:u==null?void 0:u.getRange(),skeleton:e.skeleton});return(0,t.fromCallback)(this._commandService.onCommandExecuted.bind(this._commandService)).pipe((0,s.filter)(([e])=>{var r;return e.type===t.CommandType.MUTATION&&((r=e.params)==null?void 0:r.unitId)===a.getUnitId()&&(n.FILTER_MUTATIONS.has(e.id)||e.id===o.SetRangeValuesMutation.id)}),(0,s.throttleTime)(20,void 0,{leading:!1,trailing:!0}),(0,s.map)(d),(0,s.startWith)(d()))}),(0,s.takeUntil)(this.dispose$)).subscribe(e=>{this._currentRenderParams=e,this._refreshRendering(e)})}_refreshRendering(e){this._disposeRendering(),!(!e||!e.range)&&(this._renderRange(e.range,e.skeleton),this._renderButtons(e))}_renderRange(e,t){let{scene:n}=this._context,{rowHeaderWidth:i,columnHeaderHeight:a}=t,s=this._filterRangeShape=new r.SelectionControl(n,1e3,this._themeService,{rowHeaderWidth:i,columnHeaderHeight:a,enableAutoFill:!1,highlightHeader:!1}),c=(0,o.attachSelectionWithCoord)({range:e,primary:null,style:{fill:`rgba(0, 0, 0, 0.0)`}},t);s.updateRangeBySelectionWithCoord(c),s.setEvent(!1),n.makeDirty(!0)}_renderButtons(e){let{range:n,filterModel:i,unitId:a,skeleton:o,worksheetId:s}=e,{unit:c,scene:l}=this._context,u=c.getSheetBySheetId(s);if(!u)return;this._interceptCellContent(a,s,e.range);let{startColumn:d,endColumn:f,startRow:p}=n;for(let e=d;e<=f;e++){let n=`sheets-filter-button-${e}`,c=(0,r.getCoordByCell)(p,e,l,o),d=u.getComposedCellStyle(p,e),f=(d==null?void 0:d.vt)||t.VerticalAlign.BOTTOM,{startX:m,startY:h,endX:g,endY:_}=c,v=g-m,y=_-h;if(y<=1||v<=1)continue;let b=!!i.getFilterColumn(e),x={left:g-16-1,top:Me(h,_,y,f),height:16,width:16,zIndex:5e3,cellHeight:y,cellWidth:v,filterParams:{unitId:a,subUnitId:s,col:e,hasCriteria:b}},S=this._injector.createInstance(q,n,x);this._filterButtonShapes.push(S)}l.addObjects(this._filterButtonShapes),l.makeDirty()}_interceptCellContent(e,n,r){let{startRow:i,startColumn:a,endColumn:s}=r;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(o.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t.InterceptorEffectEnum.Style,handler:(t,r,o)=>{let{row:c,col:l,unitId:u,subUnitId:d}=r;return u!==e||d!==n||c!==i||l<a||l>s?o(t):((!t||t===r.rawData)&&(t={...r.rawData}),t.fontRenderExtension={...t==null?void 0:t.fontRenderExtension,rightOffset:16},o(t))},priority:10})}_disposeRendering(){var e,t;(e=this._filterRangeShape)==null||e.dispose(),this._filterButtonShapes.forEach(e=>e.dispose()),(t=this._buttonRenderDisposable)==null||t.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}};J=g([h(1,(0,t.Inject)(t.Injector)),h(2,(0,t.Inject)(r.SheetSkeletonManagerService)),h(3,(0,t.Inject)(n.SheetsFilterService)),h(4,(0,t.Inject)(t.ThemeService)),h(5,(0,t.Inject)(o.SheetInterceptorService)),h(6,t.ICommandService),h(7,r.ISheetSelectionRenderService)],J);let Y=class extends t.RxDisposable{constructor(e,r){super(),this._renderManagerService=e,this._sheetsRenderService=r,[n.SetSheetsFilterRangeMutation,n.SetSheetsFilterCriteriaMutation,n.RemoveSheetsFilterMutation,n.ReCalcSheetsFilterMutation].forEach(e=>this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(e.id))),this.disposeWithMe(this._renderManagerService.registerRenderModule(t.UniverInstanceType.UNIVER_SHEET,[J]))}};Y=g([h(0,a.IRenderManagerService),h(1,(0,t.Inject)(r.SheetsRenderService))],Y);let X=class extends t.Plugin{constructor(e=U,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{menu:i,...a}=(0,t.merge)({},U,this._config);i&&this._configService.setConfig(`menu`,i,{merge:!0}),this._configService.setConfig(H,a)}onStarting(){this._injector.add([G]),this._injector.get(G),[[K],[Y]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(K)}onRendered(){this._injector.get(Y)}};O(X,`type`,t.UniverInstanceType.UNIVER_SHEET),O(X,`pluginName`,`SHEET_FILTER_UI_PLUGIN`),O(X,`packageName`,B),O(X,`version`,V),X=g([(0,t.DependentOn)(a.UniverRenderEnginePlugin,o.UniverSheetsPlugin,i.UniverMobileUIPlugin,n.UniverSheetsFilterPlugin,r.UniverSheetsMobileUIPlugin),h(1,(0,t.Inject)(t.Injector)),h(2,t.IConfigService)],X);let Ne={id:n.SmartToggleSheetsFilterCommand.id,binding:i.KeyCode.L|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,description:`sheets-filter-ui.shortcut.smart-toggle-filter`,preconditions:r.whenSheetEditorFocused,group:`4_sheet-edit`,groupTitle:`sheets-ui.shortcut.sheet-edit`},Z=class extends Y{constructor(e,t,n,r,i,a,o,s,c,l,u,d){super(d,u),this._injector=e,this._sheetsFilterPanelService=t,this._sheetCanvasPopupService=n,this._sheetsFilterService=r,this._localeService=i,this._shortcutService=a,this._commandService=o,this._menuManagerService=s,this._contextService=c,this._messageService=l,O(this,`_popupDisposable`,void 0),this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[Ne].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initCommands(){[n.SmartToggleSheetsFilterCommand,z,L,R].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenuItems(){this._menuManagerService.mergeMenu(oe)}_initUI(){this.disposeWithMe(this._contextService.subscribeContextValue$(ne).pipe((0,s.distinctUntilChanged)()).subscribe(e=>{e?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(e=>{e&&this._messageService.show({type:l.MessageType.Error,content:this._localeService.t(e)})}))}_openFilterPopup(){let e=this._sheetsFilterPanelService.filterModel;if(!e)throw Error(`[SheetsFilterUIController]: no filter model when opening filter popup!`);let t=e.getRange(),n=this._sheetsFilterPanelService.col,{startRow:r}=t;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(r,n,{componentKey:ke,direction:`horizontal`,onClickOutside:()=>this._commandService.syncExecuteCommand(R.id),offset:[5,0]})}_closeFilterPopup(){var e;(e=this._popupDisposable)==null||e.dispose(),this._popupDisposable=null}};Z=g([h(0,(0,t.Inject)(t.Injector)),h(1,M),h(2,(0,t.Inject)(r.SheetCanvasPopManagerService)),h(3,(0,t.Inject)(n.SheetsFilterService)),h(4,(0,t.Inject)(t.LocaleService)),h(5,i.IShortcutService),h(6,t.ICommandService),h(7,i.IMenuManagerService),h(8,t.IContextService),h(9,i.IMessageService),h(10,(0,t.Inject)(r.SheetsRenderService)),h(11,a.IRenderManagerService)],Z);let Q=class extends t.Plugin{constructor(e=U,n,r,i){super(),this._config=e,this._injector=n,this._configService=r,this._rpcChannelService=i;let{menu:a,...o}=(0,t.merge)({},U,this._config);a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(H,o)}onStarting(){this._injector.add([G]),this._injector.get(G),(0,t.registerDependencies)(this._injector,[[M,{useClass:N}],[K],[Z]]),this._config.useRemoteFilterValuesGenerator&&this._rpcChannelService&&this._injector.add([v,{useFactory:()=>(0,d.toModule)(this._rpcChannelService.requestChannel(_))}])}onReady(){(0,t.touchDependencies)(this._injector,[[K]])}onRendered(){(0,t.touchDependencies)(this._injector,[[Z]])}};O(Q,`type`,t.UniverInstanceType.UNIVER_SHEET),O(Q,`pluginName`,`SHEET_FILTER_UI_PLUGIN`),O(Q,`packageName`,B),O(Q,`version`,V),Q=g([(0,t.DependentOn)(a.UniverRenderEnginePlugin,o.UniverSheetsPlugin,i.UniverUIPlugin,n.UniverSheetsFilterPlugin,r.UniverSheetsUIPlugin),h(1,(0,t.Inject)(t.Injector)),h(2,t.IConfigService),h(3,(0,t.Optional)(d.IRPCChannelService))],Q);let $=class extends t.Plugin{constructor(e=U,n,r,i){super(),this._config=e,this._injector=n,this._configService=r,this._rpcChannelService=i;let{...a}=(0,t.merge)({},U,this._config);this._configService.setConfig(H,a)}onStarting(){[[v,{useClass:y}]].forEach(e=>this._injector.add(e))}onReady(){this._rpcChannelService.registerChannel(_,(0,d.fromModule)(this._injector.get(v)))}};O($,`type`,t.UniverInstanceType.UNIVER_SHEET),O($,`pluginName`,`SHEET_FILTER_UI_WORKER_PLUGIN`),O($,`packageName`,B),O($,`version`,V),$=g([h(1,(0,t.Inject)(t.Injector)),h(2,t.IConfigService),h(3,d.IRPCChannelService)],$),e.ChangeFilterByOperation=z,e.CloseFilterPanelOperation=R,e.OpenFilterPanelOperation=L,e.SheetsFilterUIMenuSchema=oe,Object.defineProperty(e,"UniverSheetsFilterMobileUIPlugin",{enumerable:!0,get:function(){return X}}),Object.defineProperty(e,"UniverSheetsFilterUIPlugin",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(e,"UniverSheetsFilterUIWorkerPlugin",{enumerable:!0,get:function(){return $}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/sheets-filter-ui",
3
- "version": "1.0.0-alpha.6",
3
+ "version": "1.0.0-alpha.8",
4
4
  "private": false,
5
5
  "description": "Filtering menus and panels for Univer Sheets.",
6
6
  "author": "DreamNum Co., Ltd. <developer@univer.ai>",
@@ -58,25 +58,24 @@
58
58
  "rxjs": ">=7.0.0"
59
59
  },
60
60
  "dependencies": {
61
- "@univerjs/icons": "1.29.0",
62
- "@univerjs/core": "1.0.0-alpha.6",
63
- "@univerjs/design": "1.0.0-alpha.6",
64
- "@univerjs/engine-render": "1.0.0-alpha.6",
65
- "@univerjs/rpc": "1.0.0-alpha.6",
66
- "@univerjs/sheets-filter": "1.0.0-alpha.6",
67
- "@univerjs/sheets-ui": "1.0.0-alpha.6",
68
- "@univerjs/sheets": "1.0.0-alpha.6",
69
- "@univerjs/ui": "1.0.0-alpha.6"
61
+ "@univerjs/icons": "1.34.0",
62
+ "@univerjs/core": "1.0.0-alpha.8",
63
+ "@univerjs/design": "1.0.0-alpha.8",
64
+ "@univerjs/engine-render": "1.0.0-alpha.8",
65
+ "@univerjs/rpc": "1.0.0-alpha.8",
66
+ "@univerjs/sheets": "1.0.0-alpha.8",
67
+ "@univerjs/sheets-filter": "1.0.0-alpha.8",
68
+ "@univerjs/sheets-ui": "1.0.0-alpha.8",
69
+ "@univerjs/ui": "1.0.0-alpha.8"
70
70
  },
71
71
  "devDependencies": {
72
- "postcss": "^8.5.19",
72
+ "postcss": "^8.5.23",
73
73
  "react": "18.3.1",
74
74
  "rxjs": "^7.8.2",
75
75
  "tailwindcss": "3.4.18",
76
76
  "typescript": "^6.0.3",
77
77
  "vitest": "^4.1.10",
78
- "@univerjs-infra/shared": "1.0.0-alpha.6",
79
- "@univerjs/engine-formula": "1.0.0-alpha.6"
78
+ "@univerjs-infra/shared": "1.0.0-alpha.8"
80
79
  },
81
80
  "scripts": {
82
81
  "test": "vitest run",