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

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
@@ -1324,7 +1324,7 @@ let ByColorsModel = _ByColorsModel = class ByColorsModel extends _univerjs_core.
1324
1324
  * @returns the model to control the panel's state
1325
1325
  */
1326
1326
  static async fromFilterColumn(injector, filterModel, col) {
1327
- var _filterModel$getFilte, _colorFilters$cellFil, _colorFilters$cellTex;
1327
+ var _filterModel$getFilte;
1328
1328
  const univerInstanceService = injector.get(_univerjs_core.IUniverInstanceService);
1329
1329
  const { unitId, subUnitId } = filterModel;
1330
1330
  const workbook = univerInstanceService.getUnit(unitId, _univerjs_core.UniverInstanceType.UNIVER_SHEET);
@@ -1342,9 +1342,9 @@ let ByColorsModel = _ByColorsModel = class ByColorsModel extends _univerjs_core.
1342
1342
  endColumn: column
1343
1343
  };
1344
1344
  const cellFillColors = /* @__PURE__ */ new Map();
1345
- const cellFillColorsChecked = new Set((_colorFilters$cellFil = colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellFillColors) !== null && _colorFilters$cellFil !== void 0 ? _colorFilters$cellFil : []);
1345
+ const cellFillColorsChecked = new Set((colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellFillColors) ?? []);
1346
1346
  const cellTextColors = /* @__PURE__ */ new Map();
1347
- const cellTextColorsChecked = new Set((_colorFilters$cellTex = colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellTextColors) !== null && _colorFilters$cellTex !== void 0 ? _colorFilters$cellTex : []);
1347
+ const cellTextColorsChecked = new Set((colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellTextColors) ?? []);
1348
1348
  for (const cell of worksheet.iterateByColumn(iterateRange, false, true)) {
1349
1349
  const { row, col, value } = cell;
1350
1350
  if (filteredOutRowsByOtherColumns.has(row)) continue;
@@ -1541,10 +1541,7 @@ function ClearFilterCriteriaMenuItemFactory(accessor) {
1541
1541
  type: _univerjs_ui.MenuItemType.BUTTON,
1542
1542
  title: "sheets-filter-ui.toolbar.clear-filter-criteria",
1543
1543
  hidden$: (0, _univerjs_ui.getMenuHiddenObservable)(accessor, _univerjs_core.UniverInstanceType.UNIVER_SHEET),
1544
- disabled$: sheetsFilterService.activeFilterModel$.pipe((0, rxjs.switchMap)((model) => {
1545
- var _model$hasCriteria$$p;
1546
- return (_model$hasCriteria$$p = model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe((0, rxjs.map)((m) => !m))) !== null && _model$hasCriteria$$p !== void 0 ? _model$hasCriteria$$p : (0, rxjs.of)(true);
1547
- }))
1544
+ disabled$: sheetsFilterService.activeFilterModel$.pipe((0, rxjs.switchMap)((model) => (model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe((0, rxjs.map)((m) => !m))) ?? (0, rxjs.of)(true)))
1548
1545
  };
1549
1546
  }
1550
1547
  function ReCalcFilterMenuItemFactory(accessor) {
@@ -1554,10 +1551,7 @@ function ReCalcFilterMenuItemFactory(accessor) {
1554
1551
  type: _univerjs_ui.MenuItemType.BUTTON,
1555
1552
  title: "sheets-filter-ui.toolbar.re-calc-filter-conditions",
1556
1553
  hidden$: (0, _univerjs_ui.getMenuHiddenObservable)(accessor, _univerjs_core.UniverInstanceType.UNIVER_SHEET),
1557
- disabled$: sheetsFilterService.activeFilterModel$.pipe((0, rxjs.switchMap)((model) => {
1558
- var _model$hasCriteria$$p2;
1559
- return (_model$hasCriteria$$p2 = model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe((0, rxjs.map)((m) => !m))) !== null && _model$hasCriteria$$p2 !== void 0 ? _model$hasCriteria$$p2 : (0, rxjs.of)(true);
1560
- }))
1554
+ disabled$: sheetsFilterService.activeFilterModel$.pipe((0, rxjs.switchMap)((model) => (model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe((0, rxjs.map)((m) => !m))) ?? (0, rxjs.of)(true)))
1561
1555
  };
1562
1556
  }
1563
1557
 
@@ -1583,7 +1577,7 @@ const menuSchema = { [_univerjs_ui.RibbonDataGroup.ORGANIZATION]: { [_univerjs_s
1583
1577
  //#endregion
1584
1578
  //#region package.json
1585
1579
  var name = "@univerjs/sheets-filter-ui";
1586
- var version = "1.0.0-alpha.8";
1580
+ var version = "1.0.0-beta.1";
1587
1581
 
1588
1582
  //#endregion
1589
1583
  //#region src/config/config.ts
@@ -1615,22 +1609,22 @@ function FilterByColor(props) {
1615
1609
  className: (0, _univerjs_design.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", _univerjs_design.borderClassName),
1616
1610
  children: [
1617
1611
  cellFillColors.length > 1 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1618
- className: "univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",
1612
+ className: "univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-gray-0",
1619
1613
  children: localeService.t("sheets-filter-ui.panel.filter-by-cell-fill-color")
1620
1614
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1621
1615
  className: "univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",
1622
1616
  children: cellFillColors.map((color, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1623
1617
  className: "univer-relative univer-size-6",
1624
1618
  onClick: () => handleSelectCellFillColor(color),
1625
- children: [!color.color ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.BanIcon, { className: "univer-size-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
1619
+ children: [!color.color ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.BanIcon, { className: "univer-size-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-gray-0" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
1626
1620
  type: "button",
1627
- className: (0, _univerjs_design.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"),
1621
+ className: (0, _univerjs_design.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-gray-0"),
1628
1622
  style: { backgroundColor: color.color }
1629
1623
  }), color.checked && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CheckedIcon, {})]
1630
1624
  }, `sheets-filter-cell-fill-color-${index}`))
1631
1625
  })] }),
1632
1626
  cellTextColors.length > 1 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1633
- className: "univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",
1627
+ className: "univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-gray-0",
1634
1628
  children: localeService.t("sheets-filter-ui.panel.filter-by-cell-text-color")
1635
1629
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1636
1630
  className: "univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",
@@ -1638,7 +1632,7 @@ function FilterByColor(props) {
1638
1632
  className: "univer-relative univer-size-6",
1639
1633
  onClick: () => handleSelectCellTextColor(color),
1640
1634
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1641
- 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)]",
1635
+ 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-gray-0 dark:!univer-border-[rgba(255,255,255,0.06)]",
1642
1636
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.AIcon, { style: { color: color.color } })
1643
1637
  }), color.checked && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CheckedIcon, {})]
1644
1638
  }, `sheets-filter-cell-text-color-${index}`))
@@ -1653,7 +1647,7 @@ function FilterByColor(props) {
1653
1647
  }
1654
1648
  function CheckedIcon() {
1655
1649
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1656
- 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",
1650
+ 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-gray-0",
1657
1651
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.SuccessIcon, { className: "univer-size-full univer-font-bold univer-text-[#418F1F]" })
1658
1652
  });
1659
1653
  }
@@ -1686,7 +1680,6 @@ const PRIMARY_CONDITION_GROUPS = [
1686
1680
  * Filter by conditions.
1687
1681
  */
1688
1682
  function FilterByCondition(props) {
1689
- var _formParams$val, _formParams$val2;
1690
1683
  const { model } = props;
1691
1684
  const localeService = (0, _univerjs_ui.useDependency)(_univerjs_core.LocaleService);
1692
1685
  const condition = (0, _univerjs_ui.useObservable)(model.conditionItem$, void 0);
@@ -1748,8 +1741,8 @@ function FilterByCondition(props) {
1748
1741
  "data-u-comp": "sheets-filter-panel-conditions-container-inner",
1749
1742
  className: (0, _univerjs_design.clsx)("univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2", _univerjs_design.borderClassName),
1750
1743
  children: [
1751
- condition.numOfParameters >= 1 && renderSecondaryCondition(formParams.operator1, (_formParams$val = formParams.val1) !== null && _formParams$val !== void 0 ? _formParams$val : "", "operator1"),
1752
- condition.numOfParameters >= 2 && renderSecondaryCondition(formParams.operator2, (_formParams$val2 = formParams.val2) !== null && _formParams$val2 !== void 0 ? _formParams$val2 : "", "operator2"),
1744
+ condition.numOfParameters >= 1 && renderSecondaryCondition(formParams.operator1, formParams.val1 ?? "", "operator1"),
1745
+ condition.numOfParameters >= 2 && renderSecondaryCondition(formParams.operator2, formParams.val2 ?? "", "operator2"),
1753
1746
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1754
1747
  "data-u-comp": "sheets-filter-panel-conditions-desc",
1755
1748
  className: "univer-mt-2 univer-text-xs univer-text-gray-500",
@@ -1819,7 +1812,7 @@ function FilterByValue(props) {
1819
1812
  }),
1820
1813
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1821
1814
  "data-u-comp": "sheets-filter-panel-values-item-text",
1822
- className: "univer-mx-1 univer-inline-block univer-flex-shrink univer-truncate univer-text-gray-900 dark:!univer-text-white",
1815
+ className: "univer-mx-1 univer-inline-block univer-flex-shrink univer-truncate univer-text-gray-900 dark:!univer-text-gray-0",
1823
1816
  children: `${localeService.t("sheets-filter-ui.panel.select-all")}`
1824
1817
  }),
1825
1818
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
@@ -1846,7 +1839,7 @@ function FilterByValue(props) {
1846
1839
  [&:hover_a]:univer-inline-block
1847
1840
  hover:univer-bg-gray-50 univer-h-full
1848
1841
  univer-text-gray-900 dark:hover:!univer-bg-gray-900
1849
- dark:!univer-text-white
1842
+ dark:!univer-text-gray-0
1850
1843
  `,
1851
1844
  attachRender: (item) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1852
1845
  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",
@@ -1961,7 +1954,7 @@ function FilterPanel() {
1961
1954
  const colIndex = sheetsFilterPanelService.col;
1962
1955
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1963
1956
  "data-u-comp": "sheets-filter-panel",
1964
- 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",
1957
+ className: "univer-box-border univer-flex univer-max-h-[500px] univer-w-[400px] univer-flex-col univer-rounded-lg univer-bg-gray-0 univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-700",
1965
1958
  children: [
1966
1959
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_ui.ComponentContainer, {
1967
1960
  components: (0, _univerjs_ui.useComponentsOfPart)(_univerjs_sheets_ui.SheetsUIPart.FILTER_PANEL_EMBED_POINT),
@@ -2274,11 +2267,11 @@ let SheetsFilterRenderController = class SheetsFilterRenderController extends _u
2274
2267
  this._refreshRendering(this._currentRenderParams);
2275
2268
  }));
2276
2269
  this._sheetSkeletonManagerService.currentSkeleton$.pipe((0, rxjs.switchMap)((skeletonParams) => {
2277
- var _workbook$getActiveSh, _this$_sheetsFilterSe;
2270
+ var _workbook$getActiveSh;
2278
2271
  if (!skeletonParams) return (0, rxjs.of)(null);
2279
2272
  const { unit: workbook, unitId } = this._context;
2280
2273
  const worksheetId = ((_workbook$getActiveSh = workbook.getActiveSheet()) === null || _workbook$getActiveSh === void 0 ? void 0 : _workbook$getActiveSh.getSheetId()) || "";
2281
- const filterModel = (_this$_sheetsFilterSe = this._sheetsFilterService.getFilterModel(unitId, worksheetId)) !== null && _this$_sheetsFilterSe !== void 0 ? _this$_sheetsFilterSe : void 0;
2274
+ const filterModel = this._sheetsFilterService.getFilterModel(unitId, worksheetId) ?? void 0;
2282
2275
  const getParams = () => ({
2283
2276
  unitId,
2284
2277
  worksheetId,
@@ -2584,7 +2577,7 @@ _defineProperty(UniverSheetsFilterUIPlugin, "pluginName", "SHEET_FILTER_UI_PLUGI
2584
2577
  _defineProperty(UniverSheetsFilterUIPlugin, "packageName", name);
2585
2578
  _defineProperty(UniverSheetsFilterUIPlugin, "version", version);
2586
2579
  UniverSheetsFilterUIPlugin = __decorate([
2587
- (0, _univerjs_core.DependentOn)(_univerjs_engine_render.UniverRenderEnginePlugin, _univerjs_sheets.UniverSheetsPlugin, _univerjs_ui.UniverUIPlugin, _univerjs_sheets_filter.UniverSheetsFilterPlugin, _univerjs_sheets_ui.UniverSheetsUIPlugin),
2580
+ (0, _univerjs_core.DependentOn)(_univerjs_engine_render.UniverRenderEnginePlugin, _univerjs_sheets.UniverSheetsPlugin, _univerjs_sheets_filter.UniverSheetsFilterPlugin, _univerjs_sheets_ui.UniverSheetsUIPlugin),
2588
2581
  __decorateParam(1, (0, _univerjs_core.Inject)(_univerjs_core.Injector)),
2589
2582
  __decorateParam(2, _univerjs_core.IConfigService),
2590
2583
  __decorateParam(3, (0, _univerjs_core.Optional)(_univerjs_rpc.IRPCChannelService))
package/lib/es/index.js CHANGED
@@ -1,7 +1,7 @@
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
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";
4
+ import { ComponentContainer, ComponentManager, ILayoutService, IMenuManagerService, IMessageService, IShortcutService, IconManager, KeyCode, MenuItemType, MetaKeys, RibbonDataGroup, UniverMobileUIPlugin, getMenuHiddenObservable, useComponentsOfPart, useDependency, useObservable } from "@univerjs/ui";
5
5
  import { COLOR_BLACK_RGB, IRenderManagerService, Rect, Shape, UniverRenderEnginePlugin } from "@univerjs/engine-render";
6
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";
@@ -1323,7 +1323,7 @@ let ByColorsModel = _ByColorsModel = class ByColorsModel extends Disposable {
1323
1323
  * @returns the model to control the panel's state
1324
1324
  */
1325
1325
  static async fromFilterColumn(injector, filterModel, col) {
1326
- var _filterModel$getFilte, _colorFilters$cellFil, _colorFilters$cellTex;
1326
+ var _filterModel$getFilte;
1327
1327
  const univerInstanceService = injector.get(IUniverInstanceService);
1328
1328
  const { unitId, subUnitId } = filterModel;
1329
1329
  const workbook = univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET);
@@ -1341,9 +1341,9 @@ let ByColorsModel = _ByColorsModel = class ByColorsModel extends Disposable {
1341
1341
  endColumn: column
1342
1342
  };
1343
1343
  const cellFillColors = /* @__PURE__ */ new Map();
1344
- const cellFillColorsChecked = new Set((_colorFilters$cellFil = colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellFillColors) !== null && _colorFilters$cellFil !== void 0 ? _colorFilters$cellFil : []);
1344
+ const cellFillColorsChecked = new Set((colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellFillColors) ?? []);
1345
1345
  const cellTextColors = /* @__PURE__ */ new Map();
1346
- const cellTextColorsChecked = new Set((_colorFilters$cellTex = colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellTextColors) !== null && _colorFilters$cellTex !== void 0 ? _colorFilters$cellTex : []);
1346
+ const cellTextColorsChecked = new Set((colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellTextColors) ?? []);
1347
1347
  for (const cell of worksheet.iterateByColumn(iterateRange, false, true)) {
1348
1348
  const { row, col, value } = cell;
1349
1349
  if (filteredOutRowsByOtherColumns.has(row)) continue;
@@ -1540,10 +1540,7 @@ function ClearFilterCriteriaMenuItemFactory(accessor) {
1540
1540
  type: MenuItemType.BUTTON,
1541
1541
  title: "sheets-filter-ui.toolbar.clear-filter-criteria",
1542
1542
  hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
1543
- disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) => {
1544
- var _model$hasCriteria$$p;
1545
- return (_model$hasCriteria$$p = model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) !== null && _model$hasCriteria$$p !== void 0 ? _model$hasCriteria$$p : of(true);
1546
- }))
1543
+ disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) => (model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) ?? of(true)))
1547
1544
  };
1548
1545
  }
1549
1546
  function ReCalcFilterMenuItemFactory(accessor) {
@@ -1553,10 +1550,7 @@ function ReCalcFilterMenuItemFactory(accessor) {
1553
1550
  type: MenuItemType.BUTTON,
1554
1551
  title: "sheets-filter-ui.toolbar.re-calc-filter-conditions",
1555
1552
  hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
1556
- disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) => {
1557
- var _model$hasCriteria$$p2;
1558
- return (_model$hasCriteria$$p2 = model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) !== null && _model$hasCriteria$$p2 !== void 0 ? _model$hasCriteria$$p2 : of(true);
1559
- }))
1553
+ disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) => (model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) ?? of(true)))
1560
1554
  };
1561
1555
  }
1562
1556
 
@@ -1582,7 +1576,7 @@ const menuSchema = { [RibbonDataGroup.ORGANIZATION]: { [SmartToggleSheetsFilterC
1582
1576
  //#endregion
1583
1577
  //#region package.json
1584
1578
  var name = "@univerjs/sheets-filter-ui";
1585
- var version = "1.0.0-alpha.8";
1579
+ var version = "1.0.0-beta.1";
1586
1580
 
1587
1581
  //#endregion
1588
1582
  //#region src/config/config.ts
@@ -1614,22 +1608,22 @@ function FilterByColor(props) {
1614
1608
  className: 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", borderClassName),
1615
1609
  children: [
1616
1610
  cellFillColors.length > 1 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
1617
- className: "univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",
1611
+ className: "univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-gray-0",
1618
1612
  children: localeService.t("sheets-filter-ui.panel.filter-by-cell-fill-color")
1619
1613
  }), /* @__PURE__ */ jsx("div", {
1620
1614
  className: "univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",
1621
1615
  children: cellFillColors.map((color, index) => /* @__PURE__ */ jsxs("div", {
1622
1616
  className: "univer-relative univer-size-6",
1623
1617
  onClick: () => handleSelectCellFillColor(color),
1624
- children: [!color.color ? /* @__PURE__ */ jsx(BanIcon, { className: "univer-size-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white" }) : /* @__PURE__ */ jsx("button", {
1618
+ children: [!color.color ? /* @__PURE__ */ jsx(BanIcon, { className: "univer-size-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-gray-0" }) : /* @__PURE__ */ jsx("button", {
1625
1619
  type: "button",
1626
- className: 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"),
1620
+ className: 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-gray-0"),
1627
1621
  style: { backgroundColor: color.color }
1628
1622
  }), color.checked && /* @__PURE__ */ jsx(CheckedIcon, {})]
1629
1623
  }, `sheets-filter-cell-fill-color-${index}`))
1630
1624
  })] }),
1631
1625
  cellTextColors.length > 1 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
1632
- className: "univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",
1626
+ className: "univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-gray-0",
1633
1627
  children: localeService.t("sheets-filter-ui.panel.filter-by-cell-text-color")
1634
1628
  }), /* @__PURE__ */ jsx("div", {
1635
1629
  className: "univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",
@@ -1637,7 +1631,7 @@ function FilterByColor(props) {
1637
1631
  className: "univer-relative univer-size-6",
1638
1632
  onClick: () => handleSelectCellTextColor(color),
1639
1633
  children: [/* @__PURE__ */ jsx("div", {
1640
- 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)]",
1634
+ 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-gray-0 dark:!univer-border-[rgba(255,255,255,0.06)]",
1641
1635
  children: /* @__PURE__ */ jsx(AIcon, { style: { color: color.color } })
1642
1636
  }), color.checked && /* @__PURE__ */ jsx(CheckedIcon, {})]
1643
1637
  }, `sheets-filter-cell-text-color-${index}`))
@@ -1652,7 +1646,7 @@ function FilterByColor(props) {
1652
1646
  }
1653
1647
  function CheckedIcon() {
1654
1648
  return /* @__PURE__ */ jsx("div", {
1655
- 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",
1649
+ 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-gray-0",
1656
1650
  children: /* @__PURE__ */ jsx(SuccessIcon, { className: "univer-size-full univer-font-bold univer-text-[#418F1F]" })
1657
1651
  });
1658
1652
  }
@@ -1685,7 +1679,6 @@ const PRIMARY_CONDITION_GROUPS = [
1685
1679
  * Filter by conditions.
1686
1680
  */
1687
1681
  function FilterByCondition(props) {
1688
- var _formParams$val, _formParams$val2;
1689
1682
  const { model } = props;
1690
1683
  const localeService = useDependency(LocaleService);
1691
1684
  const condition = useObservable(model.conditionItem$, void 0);
@@ -1747,8 +1740,8 @@ function FilterByCondition(props) {
1747
1740
  "data-u-comp": "sheets-filter-panel-conditions-container-inner",
1748
1741
  className: clsx("univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2", borderClassName),
1749
1742
  children: [
1750
- condition.numOfParameters >= 1 && renderSecondaryCondition(formParams.operator1, (_formParams$val = formParams.val1) !== null && _formParams$val !== void 0 ? _formParams$val : "", "operator1"),
1751
- condition.numOfParameters >= 2 && renderSecondaryCondition(formParams.operator2, (_formParams$val2 = formParams.val2) !== null && _formParams$val2 !== void 0 ? _formParams$val2 : "", "operator2"),
1743
+ condition.numOfParameters >= 1 && renderSecondaryCondition(formParams.operator1, formParams.val1 ?? "", "operator1"),
1744
+ condition.numOfParameters >= 2 && renderSecondaryCondition(formParams.operator2, formParams.val2 ?? "", "operator2"),
1752
1745
  /* @__PURE__ */ jsxs("div", {
1753
1746
  "data-u-comp": "sheets-filter-panel-conditions-desc",
1754
1747
  className: "univer-mt-2 univer-text-xs univer-text-gray-500",
@@ -1818,7 +1811,7 @@ function FilterByValue(props) {
1818
1811
  }),
1819
1812
  /* @__PURE__ */ jsx("span", {
1820
1813
  "data-u-comp": "sheets-filter-panel-values-item-text",
1821
- className: "univer-mx-1 univer-inline-block univer-flex-shrink univer-truncate univer-text-gray-900 dark:!univer-text-white",
1814
+ className: "univer-mx-1 univer-inline-block univer-flex-shrink univer-truncate univer-text-gray-900 dark:!univer-text-gray-0",
1822
1815
  children: `${localeService.t("sheets-filter-ui.panel.select-all")}`
1823
1816
  }),
1824
1817
  /* @__PURE__ */ jsx("span", {
@@ -1845,7 +1838,7 @@ function FilterByValue(props) {
1845
1838
  [&:hover_a]:univer-inline-block
1846
1839
  hover:univer-bg-gray-50 univer-h-full
1847
1840
  univer-text-gray-900 dark:hover:!univer-bg-gray-900
1848
- dark:!univer-text-white
1841
+ dark:!univer-text-gray-0
1849
1842
  `,
1850
1843
  attachRender: (item) => /* @__PURE__ */ jsxs("div", {
1851
1844
  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",
@@ -1960,7 +1953,7 @@ function FilterPanel() {
1960
1953
  const colIndex = sheetsFilterPanelService.col;
1961
1954
  return /* @__PURE__ */ jsxs("div", {
1962
1955
  "data-u-comp": "sheets-filter-panel",
1963
- 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",
1956
+ className: "univer-box-border univer-flex univer-max-h-[500px] univer-w-[400px] univer-flex-col univer-rounded-lg univer-bg-gray-0 univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-700",
1964
1957
  children: [
1965
1958
  /* @__PURE__ */ jsx(ComponentContainer, {
1966
1959
  components: useComponentsOfPart(SheetsUIPart.FILTER_PANEL_EMBED_POINT),
@@ -2273,11 +2266,11 @@ let SheetsFilterRenderController = class SheetsFilterRenderController extends Rx
2273
2266
  this._refreshRendering(this._currentRenderParams);
2274
2267
  }));
2275
2268
  this._sheetSkeletonManagerService.currentSkeleton$.pipe(switchMap((skeletonParams) => {
2276
- var _workbook$getActiveSh, _this$_sheetsFilterSe;
2269
+ var _workbook$getActiveSh;
2277
2270
  if (!skeletonParams) return of(null);
2278
2271
  const { unit: workbook, unitId } = this._context;
2279
2272
  const worksheetId = ((_workbook$getActiveSh = workbook.getActiveSheet()) === null || _workbook$getActiveSh === void 0 ? void 0 : _workbook$getActiveSh.getSheetId()) || "";
2280
- const filterModel = (_this$_sheetsFilterSe = this._sheetsFilterService.getFilterModel(unitId, worksheetId)) !== null && _this$_sheetsFilterSe !== void 0 ? _this$_sheetsFilterSe : void 0;
2273
+ const filterModel = this._sheetsFilterService.getFilterModel(unitId, worksheetId) ?? void 0;
2281
2274
  const getParams = () => ({
2282
2275
  unitId,
2283
2276
  worksheetId,
@@ -2583,7 +2576,7 @@ _defineProperty(UniverSheetsFilterUIPlugin, "pluginName", "SHEET_FILTER_UI_PLUGI
2583
2576
  _defineProperty(UniverSheetsFilterUIPlugin, "packageName", name);
2584
2577
  _defineProperty(UniverSheetsFilterUIPlugin, "version", version);
2585
2578
  UniverSheetsFilterUIPlugin = __decorate([
2586
- DependentOn(UniverRenderEnginePlugin, UniverSheetsPlugin, UniverUIPlugin, UniverSheetsFilterPlugin, UniverSheetsUIPlugin),
2579
+ DependentOn(UniverRenderEnginePlugin, UniverSheetsPlugin, UniverSheetsFilterPlugin, UniverSheetsUIPlugin),
2587
2580
  __decorateParam(1, Inject(Injector)),
2588
2581
  __decorateParam(2, IConfigService),
2589
2582
  __decorateParam(3, Optional(IRPCChannelService))
package/lib/index.css CHANGED
@@ -232,12 +232,12 @@
232
232
  border-color: #0000;
233
233
  }
234
234
 
235
- .univer-bg-gray-300 {
236
- background-color: var(--univer-gray-300);
235
+ .univer-bg-gray-0 {
236
+ background-color: var(--univer-gray-0);
237
237
  }
238
238
 
239
- .univer-bg-white {
240
- background-color: var(--univer-white);
239
+ .univer-bg-gray-300 {
240
+ background-color: var(--univer-gray-300);
241
241
  }
242
242
 
243
243
  .univer-p-0\.5 {
@@ -356,8 +356,8 @@
356
356
  --univer-tw-ring-offset-width: 2px;
357
357
  }
358
358
 
359
- .hover\:univer-ring-offset-white:hover {
360
- --univer-tw-ring-offset-color: var(--univer-white);
359
+ .hover\:univer-ring-offset-gray-0:hover {
360
+ --univer-tw-ring-offset-color: var(--univer-gray-0);
361
361
  }
362
362
 
363
363
  .dark\:\!univer-border-\[rgba\(255\,255\,255\,0\.06\)\]:where(.univer-dark, .univer-dark *) {
@@ -372,6 +372,10 @@
372
372
  background-color: var(--univer-gray-700) !important;
373
373
  }
374
374
 
375
+ .dark\:\!univer-text-gray-0:where(.univer-dark, .univer-dark *) {
376
+ color: var(--univer-gray-0) !important;
377
+ }
378
+
375
379
  .dark\:\!univer-text-gray-200:where(.univer-dark, .univer-dark *) {
376
380
  color: var(--univer-gray-200) !important;
377
381
  }
@@ -380,10 +384,6 @@
380
384
  color: var(--univer-gray-500) !important;
381
385
  }
382
386
 
383
- .dark\:\!univer-text-white:where(.univer-dark, .univer-dark *) {
384
- color: var(--univer-white) !important;
385
- }
386
-
387
387
  .dark\:hover\:\!univer-bg-gray-900:hover:where(.univer-dark, .univer-dark *) {
388
388
  background-color: var(--univer-gray-900) !important;
389
389
  }
package/lib/index.js CHANGED
@@ -1,7 +1,7 @@
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
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";
4
+ import { ComponentContainer, ComponentManager, ILayoutService, IMenuManagerService, IMessageService, IShortcutService, IconManager, KeyCode, MenuItemType, MetaKeys, RibbonDataGroup, UniverMobileUIPlugin, getMenuHiddenObservable, useComponentsOfPart, useDependency, useObservable } from "@univerjs/ui";
5
5
  import { COLOR_BLACK_RGB, IRenderManagerService, Rect, Shape, UniverRenderEnginePlugin } from "@univerjs/engine-render";
6
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";
@@ -1323,7 +1323,7 @@ let ByColorsModel = _ByColorsModel = class ByColorsModel extends Disposable {
1323
1323
  * @returns the model to control the panel's state
1324
1324
  */
1325
1325
  static async fromFilterColumn(injector, filterModel, col) {
1326
- var _filterModel$getFilte, _colorFilters$cellFil, _colorFilters$cellTex;
1326
+ var _filterModel$getFilte;
1327
1327
  const univerInstanceService = injector.get(IUniverInstanceService);
1328
1328
  const { unitId, subUnitId } = filterModel;
1329
1329
  const workbook = univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET);
@@ -1341,9 +1341,9 @@ let ByColorsModel = _ByColorsModel = class ByColorsModel extends Disposable {
1341
1341
  endColumn: column
1342
1342
  };
1343
1343
  const cellFillColors = /* @__PURE__ */ new Map();
1344
- const cellFillColorsChecked = new Set((_colorFilters$cellFil = colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellFillColors) !== null && _colorFilters$cellFil !== void 0 ? _colorFilters$cellFil : []);
1344
+ const cellFillColorsChecked = new Set((colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellFillColors) ?? []);
1345
1345
  const cellTextColors = /* @__PURE__ */ new Map();
1346
- const cellTextColorsChecked = new Set((_colorFilters$cellTex = colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellTextColors) !== null && _colorFilters$cellTex !== void 0 ? _colorFilters$cellTex : []);
1346
+ const cellTextColorsChecked = new Set((colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellTextColors) ?? []);
1347
1347
  for (const cell of worksheet.iterateByColumn(iterateRange, false, true)) {
1348
1348
  const { row, col, value } = cell;
1349
1349
  if (filteredOutRowsByOtherColumns.has(row)) continue;
@@ -1540,10 +1540,7 @@ function ClearFilterCriteriaMenuItemFactory(accessor) {
1540
1540
  type: MenuItemType.BUTTON,
1541
1541
  title: "sheets-filter-ui.toolbar.clear-filter-criteria",
1542
1542
  hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
1543
- disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) => {
1544
- var _model$hasCriteria$$p;
1545
- return (_model$hasCriteria$$p = model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) !== null && _model$hasCriteria$$p !== void 0 ? _model$hasCriteria$$p : of(true);
1546
- }))
1543
+ disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) => (model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) ?? of(true)))
1547
1544
  };
1548
1545
  }
1549
1546
  function ReCalcFilterMenuItemFactory(accessor) {
@@ -1553,10 +1550,7 @@ function ReCalcFilterMenuItemFactory(accessor) {
1553
1550
  type: MenuItemType.BUTTON,
1554
1551
  title: "sheets-filter-ui.toolbar.re-calc-filter-conditions",
1555
1552
  hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
1556
- disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) => {
1557
- var _model$hasCriteria$$p2;
1558
- return (_model$hasCriteria$$p2 = model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) !== null && _model$hasCriteria$$p2 !== void 0 ? _model$hasCriteria$$p2 : of(true);
1559
- }))
1553
+ disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) => (model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) ?? of(true)))
1560
1554
  };
1561
1555
  }
1562
1556
 
@@ -1582,7 +1576,7 @@ const menuSchema = { [RibbonDataGroup.ORGANIZATION]: { [SmartToggleSheetsFilterC
1582
1576
  //#endregion
1583
1577
  //#region package.json
1584
1578
  var name = "@univerjs/sheets-filter-ui";
1585
- var version = "1.0.0-alpha.8";
1579
+ var version = "1.0.0-beta.1";
1586
1580
 
1587
1581
  //#endregion
1588
1582
  //#region src/config/config.ts
@@ -1614,22 +1608,22 @@ function FilterByColor(props) {
1614
1608
  className: 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", borderClassName),
1615
1609
  children: [
1616
1610
  cellFillColors.length > 1 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
1617
- className: "univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",
1611
+ className: "univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-gray-0",
1618
1612
  children: localeService.t("sheets-filter-ui.panel.filter-by-cell-fill-color")
1619
1613
  }), /* @__PURE__ */ jsx("div", {
1620
1614
  className: "univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",
1621
1615
  children: cellFillColors.map((color, index) => /* @__PURE__ */ jsxs("div", {
1622
1616
  className: "univer-relative univer-size-6",
1623
1617
  onClick: () => handleSelectCellFillColor(color),
1624
- children: [!color.color ? /* @__PURE__ */ jsx(BanIcon, { className: "univer-size-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white" }) : /* @__PURE__ */ jsx("button", {
1618
+ children: [!color.color ? /* @__PURE__ */ jsx(BanIcon, { className: "univer-size-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-gray-0" }) : /* @__PURE__ */ jsx("button", {
1625
1619
  type: "button",
1626
- className: 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"),
1620
+ className: 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-gray-0"),
1627
1621
  style: { backgroundColor: color.color }
1628
1622
  }), color.checked && /* @__PURE__ */ jsx(CheckedIcon, {})]
1629
1623
  }, `sheets-filter-cell-fill-color-${index}`))
1630
1624
  })] }),
1631
1625
  cellTextColors.length > 1 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
1632
- className: "univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",
1626
+ className: "univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-gray-0",
1633
1627
  children: localeService.t("sheets-filter-ui.panel.filter-by-cell-text-color")
1634
1628
  }), /* @__PURE__ */ jsx("div", {
1635
1629
  className: "univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",
@@ -1637,7 +1631,7 @@ function FilterByColor(props) {
1637
1631
  className: "univer-relative univer-size-6",
1638
1632
  onClick: () => handleSelectCellTextColor(color),
1639
1633
  children: [/* @__PURE__ */ jsx("div", {
1640
- 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)]",
1634
+ 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-gray-0 dark:!univer-border-[rgba(255,255,255,0.06)]",
1641
1635
  children: /* @__PURE__ */ jsx(AIcon, { style: { color: color.color } })
1642
1636
  }), color.checked && /* @__PURE__ */ jsx(CheckedIcon, {})]
1643
1637
  }, `sheets-filter-cell-text-color-${index}`))
@@ -1652,7 +1646,7 @@ function FilterByColor(props) {
1652
1646
  }
1653
1647
  function CheckedIcon() {
1654
1648
  return /* @__PURE__ */ jsx("div", {
1655
- 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",
1649
+ 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-gray-0",
1656
1650
  children: /* @__PURE__ */ jsx(SuccessIcon, { className: "univer-size-full univer-font-bold univer-text-[#418F1F]" })
1657
1651
  });
1658
1652
  }
@@ -1685,7 +1679,6 @@ const PRIMARY_CONDITION_GROUPS = [
1685
1679
  * Filter by conditions.
1686
1680
  */
1687
1681
  function FilterByCondition(props) {
1688
- var _formParams$val, _formParams$val2;
1689
1682
  const { model } = props;
1690
1683
  const localeService = useDependency(LocaleService);
1691
1684
  const condition = useObservable(model.conditionItem$, void 0);
@@ -1747,8 +1740,8 @@ function FilterByCondition(props) {
1747
1740
  "data-u-comp": "sheets-filter-panel-conditions-container-inner",
1748
1741
  className: clsx("univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2", borderClassName),
1749
1742
  children: [
1750
- condition.numOfParameters >= 1 && renderSecondaryCondition(formParams.operator1, (_formParams$val = formParams.val1) !== null && _formParams$val !== void 0 ? _formParams$val : "", "operator1"),
1751
- condition.numOfParameters >= 2 && renderSecondaryCondition(formParams.operator2, (_formParams$val2 = formParams.val2) !== null && _formParams$val2 !== void 0 ? _formParams$val2 : "", "operator2"),
1743
+ condition.numOfParameters >= 1 && renderSecondaryCondition(formParams.operator1, formParams.val1 ?? "", "operator1"),
1744
+ condition.numOfParameters >= 2 && renderSecondaryCondition(formParams.operator2, formParams.val2 ?? "", "operator2"),
1752
1745
  /* @__PURE__ */ jsxs("div", {
1753
1746
  "data-u-comp": "sheets-filter-panel-conditions-desc",
1754
1747
  className: "univer-mt-2 univer-text-xs univer-text-gray-500",
@@ -1818,7 +1811,7 @@ function FilterByValue(props) {
1818
1811
  }),
1819
1812
  /* @__PURE__ */ jsx("span", {
1820
1813
  "data-u-comp": "sheets-filter-panel-values-item-text",
1821
- className: "univer-mx-1 univer-inline-block univer-flex-shrink univer-truncate univer-text-gray-900 dark:!univer-text-white",
1814
+ className: "univer-mx-1 univer-inline-block univer-flex-shrink univer-truncate univer-text-gray-900 dark:!univer-text-gray-0",
1822
1815
  children: `${localeService.t("sheets-filter-ui.panel.select-all")}`
1823
1816
  }),
1824
1817
  /* @__PURE__ */ jsx("span", {
@@ -1845,7 +1838,7 @@ function FilterByValue(props) {
1845
1838
  [&:hover_a]:univer-inline-block
1846
1839
  hover:univer-bg-gray-50 univer-h-full
1847
1840
  univer-text-gray-900 dark:hover:!univer-bg-gray-900
1848
- dark:!univer-text-white
1841
+ dark:!univer-text-gray-0
1849
1842
  `,
1850
1843
  attachRender: (item) => /* @__PURE__ */ jsxs("div", {
1851
1844
  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",
@@ -1960,7 +1953,7 @@ function FilterPanel() {
1960
1953
  const colIndex = sheetsFilterPanelService.col;
1961
1954
  return /* @__PURE__ */ jsxs("div", {
1962
1955
  "data-u-comp": "sheets-filter-panel",
1963
- 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",
1956
+ className: "univer-box-border univer-flex univer-max-h-[500px] univer-w-[400px] univer-flex-col univer-rounded-lg univer-bg-gray-0 univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-700",
1964
1957
  children: [
1965
1958
  /* @__PURE__ */ jsx(ComponentContainer, {
1966
1959
  components: useComponentsOfPart(SheetsUIPart.FILTER_PANEL_EMBED_POINT),
@@ -2273,11 +2266,11 @@ let SheetsFilterRenderController = class SheetsFilterRenderController extends Rx
2273
2266
  this._refreshRendering(this._currentRenderParams);
2274
2267
  }));
2275
2268
  this._sheetSkeletonManagerService.currentSkeleton$.pipe(switchMap((skeletonParams) => {
2276
- var _workbook$getActiveSh, _this$_sheetsFilterSe;
2269
+ var _workbook$getActiveSh;
2277
2270
  if (!skeletonParams) return of(null);
2278
2271
  const { unit: workbook, unitId } = this._context;
2279
2272
  const worksheetId = ((_workbook$getActiveSh = workbook.getActiveSheet()) === null || _workbook$getActiveSh === void 0 ? void 0 : _workbook$getActiveSh.getSheetId()) || "";
2280
- const filterModel = (_this$_sheetsFilterSe = this._sheetsFilterService.getFilterModel(unitId, worksheetId)) !== null && _this$_sheetsFilterSe !== void 0 ? _this$_sheetsFilterSe : void 0;
2273
+ const filterModel = this._sheetsFilterService.getFilterModel(unitId, worksheetId) ?? void 0;
2281
2274
  const getParams = () => ({
2282
2275
  unitId,
2283
2276
  worksheetId,
@@ -2583,7 +2576,7 @@ _defineProperty(UniverSheetsFilterUIPlugin, "pluginName", "SHEET_FILTER_UI_PLUGI
2583
2576
  _defineProperty(UniverSheetsFilterUIPlugin, "packageName", name);
2584
2577
  _defineProperty(UniverSheetsFilterUIPlugin, "version", version);
2585
2578
  UniverSheetsFilterUIPlugin = __decorate([
2586
- DependentOn(UniverRenderEnginePlugin, UniverSheetsPlugin, UniverUIPlugin, UniverSheetsFilterPlugin, UniverSheetsUIPlugin),
2579
+ DependentOn(UniverRenderEnginePlugin, UniverSheetsPlugin, UniverSheetsFilterPlugin, UniverSheetsUIPlugin),
2587
2580
  __decorateParam(1, Inject(Injector)),
2588
2581
  __decorateParam(2, IConfigService),
2589
2582
  __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&&{}},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:`
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||={});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;let o=e.get(t.IUniverInstanceService),{unitId:s,subUnitId:c}=n,l=o.getUnit(s,t.UniverInstanceType.UNIVER_SHEET);if(!l)throw Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${s}!`);let u=l==null?void 0:l.getSheetBySheetId(c);if(!u)throw Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${s} and subUnitId: ${c}!`);let d=n.getRange(),f=r,p=(i=n.getFilterColumn(r))==null?void 0:i.getColumnData().colorFilters,m=n.getFilteredOutRowsExceptCol(r),h={...d,startRow:d.startRow+1,startColumn:f,endColumn:f},g=new Map,_=new Set((p==null?void 0:p.cellFillColors)??[]),v=new Map,y=new Set((p==null?void 0:p.cellTextColors)??[]);for(let e of u.iterateByColumn(h,!1,!0)){let{row:n,col:r,value:i}=e;if(m.has(n))continue;let o=u.getComposedCellStyleByCellData(n,r,i);if(o.bg&&o.bg.rgb){let e=new t.ColorKit(o.bg.rgb).toRgbString();g.has(e)||g.set(e,{color:e,checked:_.has(e)})}else g.set(`default-fill-color`,{color:null,checked:_.has(null)});if(o.cl&&o.cl.rgb){let e=new t.ColorKit(o.cl.rgb).toRgbString();v.has(e)||v.set(e,{color:e,checked:y.has(e)})}else v.set(`default-font-color`,{color:a.COLOR_BLACK_RGB,checked:y.has(a.COLOR_BLACK_RGB)})}return e.createInstance(j,n,r,g,v)}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=>(e==null?void 0:e.hasCriteria$.pipe((0,s.map)(e=>!e)))??(0,s.of)(!0)))}}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=>(e==null?void 0:e.hasCriteria$.pipe((0,s.map)(e=>!e)))??(0,s.of)(!0)))}}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-beta.1`;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-gray-0`,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-gray-0`),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-gray-0`}),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-gray-0`,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-gray-0 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-gray-0`,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){let{model:n}=e,r=(0,i.useDependency)(t.LocaleService),a=(0,i.useObservable)(n.conditionItem$,void 0),o=(0,i.useObservable)(n.filterConditionFormParams$,void 0),s=o!=null&&o.and?`AND`:`OR`,d=(0,c.useCallback)(e=>{n.onConditionFormChange({and:e===`AND`})},[n]),p=Ce.map(e=>({options:e.map(e=>({label:r.t(e.label),value:e.operator}))})),m=(0,c.useCallback)(e=>{n.onPrimaryConditionChange(e)},[n]),h=f.ALL_CONDITIONS.filter(e=>e.numOfParameters!==2).map(e=>({label:r.t(e.label),value:e.operator})),g=(0,c.useCallback)(e=>{n.onConditionFormChange(e)},[n]),_=r.t(`sheets-filter-ui.panel.input-values-placeholder`);function v(e,t,n){let i=f.getItemByOperator(e).numOfParameters===1;return(0,u.jsxs)(u.Fragment,{children:[n===`operator2`&&(0,u.jsxs)(l.RadioGroup,{value:s,onChange:d,children:[(0,u.jsx)(l.Radio,{value:`AND`,children:r.t(`sheets-filter-ui.panel.and`)}),(0,u.jsx)(l.Radio,{value:`OR`,children:r.t(`sheets-filter-ui.panel.or`)})]}),(0,u.jsx)(l.Select,{value:e,options:h,onChange:e=>g({[n]:e})}),i&&(0,u.jsx)(`div`,{children:(0,u.jsx)(l.Input,{className:`univer-mt-2`,value:t,placeholder:_,onChange:e=>g({[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:a&&o&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(l.Select,{value:a.operator,options:p,onChange:m}),f.getItemByOperator(a.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:[a.numOfParameters>=1&&v(o.operator1,o.val1??``,`operator1`),a.numOfParameters>=2&&v(o.operator2,o.val2??``,`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:[r.t(`sheets-filter-ui.panel.?`),(0,u.jsx)(`br`,{}),r.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-gray-0`,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
- 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)(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 $}})});
6
+ dark:!univer-text-gray-0
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-gray-0 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;if(!e)return(0,s.of)(null);let{unit:i,unitId:a}=this._context,c=((r=i.getActiveSheet())==null?void 0:r.getSheetId())||``,l=this._sheetsFilterService.getFilterModel(a,c)??void 0,u=()=>({unitId:a,worksheetId:c,filterModel:l,range:l==null?void 0:l.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)===i.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)(u),(0,s.startWith)(u()))}),(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,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.8",
3
+ "version": "1.0.0-beta.1",
4
4
  "private": false,
5
5
  "description": "Filtering menus and panels for Univer Sheets.",
6
6
  "author": "DreamNum Co., Ltd. <developer@univer.ai>",
@@ -58,24 +58,24 @@
58
58
  "rxjs": ">=7.0.0"
59
59
  },
60
60
  "dependencies": {
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"
61
+ "@univerjs/icons": "1.35.0",
62
+ "@univerjs/core": "1.0.0-beta.1",
63
+ "@univerjs/design": "1.0.0-beta.1",
64
+ "@univerjs/sheets": "1.0.0-beta.1",
65
+ "@univerjs/sheets-filter": "1.0.0-beta.1",
66
+ "@univerjs/rpc": "1.0.0-beta.1",
67
+ "@univerjs/sheets-ui": "1.0.0-beta.1",
68
+ "@univerjs/engine-render": "1.0.0-beta.1",
69
+ "@univerjs/ui": "1.0.0-beta.1"
70
70
  },
71
71
  "devDependencies": {
72
- "postcss": "^8.5.23",
72
+ "postcss": "^8.5.25",
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.8"
78
+ "@univerjs-infra/shared": "1.0.0-beta.1"
79
79
  },
80
80
  "scripts": {
81
81
  "test": "vitest run",