@univerjs/sheets-conditional-formatting-ui 0.4.1 → 0.4.2-nightly.202410301606

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/es/index.js CHANGED
@@ -2,18 +2,17 @@ var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
3
3
  var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
5
- import { CommandType, ICommandService, IUniverInstanceService, IUndoRedoService, ObjectMatrix, Range, sequenceExecute, ColorKit, BooleanNumber, Inject, LocaleService, Disposable, useDependency, Injector, UniverInstanceType, Rectangle, createInternalEditorID, Tools, get, set, createInterceptorKey, InterceptorManager, generateRandomId, InterceptorEffectEnum, toDisposable, DependentOn, Plugin, IConfigService, BuildTextUtils, registerDependencies, touchDependencies } from "@univerjs/core";
6
- import { ConditionalFormattingRuleModel, CFRuleType, CFSubRuleType, AddConditionalRuleMutation, CFNumberOperator, setConditionalRuleMutationUndoFactory, SetConditionalRuleMutation, DeleteConditionalRuleMutationUndoFactory, DeleteConditionalRuleMutation, transformSupportSymmetryAnchor, MoveConditionalRuleMutationUndoFactory, MoveConditionalRuleMutation, getColorScaleFromValue, iconMap, DEFAULT_BG_COLOR, DEFAULT_FONT_COLOR, defaultDataBarPositiveColor, defaultDataBarNativeColor, AddConditionalRuleMutationUndoFactory, CFValueType, createDefaultValueByValueType, SHEET_CONDITIONAL_FORMATTING_PLUGIN, removeUndefinedAttr, createDefaultValue, CFTextOperator, CFTimePeriodOperator, iconGroup, getOppositeOperator, compareWithNumber, EMPTY_ICON_TYPE, createDefaultRule, ConditionalFormattingService, ConditionalFormattingViewModel, DEFAULT_PADDING, DEFAULT_WIDTH, isRangesEqual, UniverSheetsConditionalFormattingPlugin } from "@univerjs/sheets-conditional-formatting";
7
- import { getSheetCommandTarget, SheetsSelectionsService, findAllRectangle, createTopMatrixFromMatrix, SetWorksheetActiveOperation, SetSelectionsOperation, checkRangesEditablePermission, RemoveSheetMutation, setEndForRange, SheetInterceptorService, INTERCEPTOR_POINT, RefRangeService, handleDefaultRangeChangeWithEffectRefCommands, WorkbookEditablePermission, RangeProtectionPermissionEditPoint, WorksheetEditPermission, WorksheetSetCellStylePermission, ClearSelectionFormatCommand, ClearSelectionAllCommand, RangeMergeUtil } from "@univerjs/sheets";
8
- import { useObservable, ComponentManager, ILayoutService, useScrollYOverContainer, ISidebarService, MenuItemType, getMenuHiddenObservable, RibbonStartGroup, IMenuManagerService } from "@univerjs/ui";
5
+ import { CommandType, ICommandService, IUniverInstanceService, IUndoRedoService, ObjectMatrix, Range, sequenceExecute, ColorKit, BooleanNumber, Inject, LocaleService, Disposable, useDependency, Injector, UniverInstanceType, Rectangle, Tools, get, set, createInterceptorKey, InterceptorManager, generateRandomId, InterceptorEffectEnum, toDisposable, DependentOn, Plugin, IConfigService, BuildTextUtils, registerDependencies, touchDependencies } from "@univerjs/core";
6
+ import { ConditionalFormattingRuleModel, CFRuleType, CFSubRuleType, AddConditionalRuleMutation, CFNumberOperator, setConditionalRuleMutationUndoFactory, SetConditionalRuleMutation, DeleteConditionalRuleMutationUndoFactory, DeleteConditionalRuleMutation, transformSupportSymmetryAnchor, MoveConditionalRuleMutationUndoFactory, MoveConditionalRuleMutation, getColorScaleFromValue, iconMap, DEFAULT_BG_COLOR, DEFAULT_FONT_COLOR, defaultDataBarPositiveColor, defaultDataBarNativeColor, AddConditionalRuleMutationUndoFactory, CFValueType, createDefaultValueByValueType, removeUndefinedAttr, createDefaultValue, CFTextOperator, CFTimePeriodOperator, iconGroup, getOppositeOperator, compareWithNumber, EMPTY_ICON_TYPE, createDefaultRule, ConditionalFormattingService, ConditionalFormattingViewModel, DEFAULT_PADDING, DEFAULT_WIDTH, SHEET_CONDITIONAL_FORMATTING_PLUGIN, isRangesEqual, UniverSheetsConditionalFormattingPlugin } from "@univerjs/sheets-conditional-formatting";
7
+ import { getSheetCommandTarget, SheetsSelectionsService, findAllRectangle, createTopMatrixFromMatrix, SetWorksheetActiveOperation, SetSelectionsOperation, checkRangesEditablePermission, RemoveSheetMutation, setEndForRange, SheetInterceptorService, INTERCEPTOR_POINT, RefRangeService, handleDefaultRangeChangeWithEffectRefCommands, WorkbookEditablePermission, RangeProtectionPermissionEditPoint, WorksheetEditPermission, WorksheetSetCellStylePermission, ClearSelectionFormatCommand, ClearSelectionAllCommand, RangeMergeUtil, AFTER_CELL_EDIT } from "@univerjs/sheets";
8
+ import { useObservable, ComponentManager, useSidebarClick, ILayoutService, useScrollYOverContainer, ISidebarService, MenuItemType, getMenuHiddenObservable, RibbonStartGroup, IMenuManagerService } from "@univerjs/ui";
9
9
  import require$$0, { forwardRef, useRef, createElement, useMemo, useState, useEffect } from "react";
10
10
  import { Select, Tooltip, Dropdown, ColorPicker as ColorPicker$1, InputNumber, RadioGroup, Radio, Checkbox, Input, Button } from "@univerjs/design";
11
- import { useHighlightRange, SheetSkeletonManagerService, ISheetClipboardService, COPY_TYPE, rangeToDiscreteRange, PREDEFINED_HOOK_NAME, virtualizeDiscreteRanges, getRepeatRange, SheetPermissionInterceptorBaseController, IAutoFillService, APPLY_TYPE, getAutoFillRepeatRange, IEditorBridgeService, getCurrentRangeDisable$, IFormatPainterService, FormatPainterStatus } from "@univerjs/sheets-ui";
11
+ import { useHighlightRange, SheetSkeletonManagerService, ISheetClipboardService, COPY_TYPE, rangeToDiscreteRange, PREDEFINED_HOOK_NAME, virtualizeDiscreteRanges, getRepeatRange, SheetPermissionInterceptorBaseController, IAutoFillService, APPLY_TYPE, getAutoFillRepeatRange, getCurrentRangeDisable$, IFormatPainterService, FormatPainterStatus } from "@univerjs/sheets-ui";
12
12
  import { serializeRange, deserializeRangeWithSheet } from "@univerjs/engine-formula";
13
13
  import require$$2$1 from "react-dom";
14
14
  import { Observable, debounceTime, merge } from "rxjs";
15
- import { RangeSelector } from "@univerjs/sheets-formula-ui";
16
- import { TextEditor } from "@univerjs/docs-ui";
15
+ import { FormulaEditor, RangeSelector } from "@univerjs/sheets-formula-ui";
17
16
  import { IRenderManagerService } from "@univerjs/engine-render";
18
17
  import { bufferTime, filter, debounceTime as debounceTime$1 } from "rxjs/operators";
19
18
  const AddAverageCfCommand = {
@@ -4939,22 +4938,25 @@ const RuleList = /* @__PURE__ */ __name((props) => {
4939
4938
  } : {
4940
4939
  min: Number.MIN_SAFE_INTEGER,
4941
4940
  max: Number.MAX_SAFE_INTEGER
4942
- }, [type2]);
4943
- return type2 === CFValueType.formula ? /* @__PURE__ */ jsxRuntimeExports.jsx(
4944
- TextEditor,
4941
+ }, [type2]), formulaEditorActionsRef = useRef({}), [isFocusFormulaEditor, isFocusFormulaEditorSet] = useState(!1);
4942
+ return useSidebarClick((e2) => {
4943
+ var _a16;
4944
+ const handleOutClick = (_a16 = formulaEditorActionsRef.current) == null ? void 0 : _a16.handleOutClick;
4945
+ handleOutClick && handleOutClick(e2, () => isFocusFormulaEditorSet(!1));
4946
+ }), type2 === CFValueType.formula ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { width: "100%", marginLeft: 4 }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
4947
+ FormulaEditor,
4945
4948
  {
4946
- openForSheetSubUnitId: subUnitId,
4947
- openForSheetUnitId: unitId,
4948
- id: createInternalEditorID(`${SHEET_CONDITIONAL_FORMATTING_PLUGIN}_colo_scale_${id}`),
4949
- value: formulaInitValue,
4950
- style: { maxWidth: "50%", marginLeft: 4 },
4951
- canvasStyle: { fontSize: 10 },
4952
- onlyInputFormula: !0,
4949
+ initValue: formulaInitValue,
4950
+ unitId,
4951
+ subUnitId,
4952
+ isFocus: isFocusFormulaEditor,
4953
4953
  onChange: /* @__PURE__ */ __name((v = "") => {
4954
4954
  onChange(v || "");
4955
- }, "onChange")
4955
+ }, "onChange"),
4956
+ onFocus: /* @__PURE__ */ __name(() => isFocusFormulaEditorSet(!0), "onFocus"),
4957
+ actions: formulaEditorActionsRef.current
4956
4958
  }
4957
- ) : /* @__PURE__ */ jsxRuntimeExports.jsx(InputNumber, { className, value: Number(props.value) || 0, onChange: /* @__PURE__ */ __name((v) => props.onChange(v || 0), "onChange"), ...config });
4959
+ ) }) : /* @__PURE__ */ jsxRuntimeExports.jsx(InputNumber, { className, value: Number(props.value) || 0, onChange: /* @__PURE__ */ __name((v) => props.onChange(v || 0), "onChange"), ...config });
4958
4960
  }, "TextInput$1"), ColorScaleStyleEditor = /* @__PURE__ */ __name((props) => {
4959
4961
  var _a15;
4960
4962
  const { interceptorManager } = props, localeService = useDependency(LocaleService), rule = ((_a15 = props.rule) == null ? void 0 : _a15.type) === CFRuleType.colorScale ? props.rule : void 0, commonOptions = [createOptionItem$2(CFValueType.num, localeService), createOptionItem$2(CFValueType.percent, localeService), createOptionItem$2(CFValueType.percentile, localeService), createOptionItem$2(CFValueType.formula, localeService)], minOptions = [createOptionItem$2(CFValueType.min, localeService), ...commonOptions], medianOptions = [createOptionItem$2("none", localeService), ...commonOptions], maxOptions = [createOptionItem$2(CFValueType.max, localeService), ...commonOptions], [minType, minTypeSet] = useState(() => {
@@ -5028,6 +5030,7 @@ const RuleList = /* @__PURE__ */ __name((props) => {
5028
5030
  /* @__PURE__ */ jsxRuntimeExports.jsx(
5029
5031
  Select,
5030
5032
  {
5033
+ style: { flexShrink: 0 },
5031
5034
  options: minOptions,
5032
5035
  value: minType,
5033
5036
  onChange: /* @__PURE__ */ __name((v) => {
@@ -5065,6 +5068,7 @@ const RuleList = /* @__PURE__ */ __name((props) => {
5065
5068
  /* @__PURE__ */ jsxRuntimeExports.jsx(
5066
5069
  Select,
5067
5070
  {
5071
+ style: { flexShrink: 0 },
5068
5072
  options: medianOptions,
5069
5073
  value: medianType,
5070
5074
  onChange: /* @__PURE__ */ __name((v) => {
@@ -5102,6 +5106,7 @@ const RuleList = /* @__PURE__ */ __name((props) => {
5102
5106
  /* @__PURE__ */ jsxRuntimeExports.jsx(
5103
5107
  Select,
5104
5108
  {
5109
+ style: { flexShrink: 0 },
5105
5110
  options: maxOptions,
5106
5111
  value: maxType,
5107
5112
  onChange: /* @__PURE__ */ __name((v) => {
@@ -5137,7 +5142,13 @@ const RuleList = /* @__PURE__ */ __name((props) => {
5137
5142
  ] });
5138
5143
  }, "ColorScaleStyleEditor"), createOptionItem$1 = /* @__PURE__ */ __name((text2, localeService) => ({ label: localeService.t(`sheet.cf.valueType.${text2}`), value: text2 }), "createOptionItem$1"), InputText = /* @__PURE__ */ __name((props) => {
5139
5144
  var _a15;
5140
- const { onChange, className, value, type: type2, id, disabled: disabled2 = !1 } = props, univerInstanceService = useDependency(IUniverInstanceService), unitId = univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET).getUnitId(), subUnitId = (_a15 = univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET).getActiveSheet()) == null ? void 0 : _a15.getSheetId(), _value = useRef(value), config = useMemo(() => [CFValueType.percentile, CFValueType.percent].includes(type2) ? {
5145
+ const { onChange, className, value, type: type2, id, disabled: disabled2 = !1 } = props, univerInstanceService = useDependency(IUniverInstanceService), unitId = univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET).getUnitId(), subUnitId = (_a15 = univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET).getActiveSheet()) == null ? void 0 : _a15.getSheetId(), formulaEditorActionsRef = useRef({}), [isFocusFormulaEditor, isFocusFormulaEditorSet] = useState(!1);
5146
+ useSidebarClick((e2) => {
5147
+ var _a16;
5148
+ const handleOutClick = (_a16 = formulaEditorActionsRef.current) == null ? void 0 : _a16.handleOutClick;
5149
+ handleOutClick && handleOutClick(e2, () => isFocusFormulaEditorSet(!1));
5150
+ });
5151
+ const _value = useRef(value), config = useMemo(() => [CFValueType.percentile, CFValueType.percent].includes(type2) ? {
5141
5152
  max: 100,
5142
5153
  min: 0
5143
5154
  } : {
@@ -5146,21 +5157,20 @@ const RuleList = /* @__PURE__ */ __name((props) => {
5146
5157
  }, [type2]);
5147
5158
  if (type2 === CFValueType.formula) {
5148
5159
  const v = String(_value.current).startsWith("=") ? String(_value.current) || "" : "=";
5149
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
5150
- TextEditor,
5160
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { width: "100%", marginLeft: 12 }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
5161
+ FormulaEditor,
5151
5162
  {
5152
- id: createInternalEditorID(`${SHEET_CONDITIONAL_FORMATTING_PLUGIN}_data_bar_${id}`),
5153
- value: v,
5154
- openForSheetSubUnitId: subUnitId,
5155
- openForSheetUnitId: unitId,
5156
- style: { width: "47%", marginLeft: 14 },
5157
- canvasStyle: { fontSize: 10 },
5158
- onlyInputFormula: !0,
5163
+ initValue: v,
5164
+ unitId,
5165
+ subUnitId,
5166
+ isFocus: isFocusFormulaEditor,
5159
5167
  onChange: /* @__PURE__ */ __name((v2 = "") => {
5160
5168
  onChange(v2 || "");
5161
- }, "onChange")
5169
+ }, "onChange"),
5170
+ onFocus: /* @__PURE__ */ __name(() => isFocusFormulaEditorSet(!0), "onFocus"),
5171
+ actions: formulaEditorActionsRef.current
5162
5172
  }
5163
- );
5173
+ ) });
5164
5174
  }
5165
5175
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
5166
5176
  InputNumber,
@@ -5289,6 +5299,7 @@ const RuleList = /* @__PURE__ */ __name((props) => {
5289
5299
  /* @__PURE__ */ jsxRuntimeExports.jsx(
5290
5300
  Select,
5291
5301
  {
5302
+ style: { width: "50%", flexShrink: 0 },
5292
5303
  options: minOptions,
5293
5304
  value: minValueType,
5294
5305
  onChange: /* @__PURE__ */ __name((v) => {
@@ -5317,6 +5328,7 @@ const RuleList = /* @__PURE__ */ __name((props) => {
5317
5328
  /* @__PURE__ */ jsxRuntimeExports.jsx(
5318
5329
  Select,
5319
5330
  {
5331
+ style: { width: "50%", flexShrink: 0 },
5320
5332
  options: maxOptions,
5321
5333
  value: maxValueType,
5322
5334
  onChange: /* @__PURE__ */ __name((v) => {
@@ -5398,24 +5410,9 @@ const cfStyleEdit = "univer-cf-style-edit", buttonItem = "univer-button-item", i
5398
5410
  /* @__PURE__ */ jsxRuntimeExports.jsx(ColorPicker, { color: fontColor, onChange: fontColorSet, iconId: "FontColor" }),
5399
5411
  /* @__PURE__ */ jsxRuntimeExports.jsx(ColorPicker, { color: bgColor, onChange: bgColorSet, iconId: "PaintBucket" })
5400
5412
  ] });
5401
- }, "ConditionalStyleEditor"), WrapperError = /* @__PURE__ */ __name((props) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { position: "relative" }, children: [
5402
- /* @__PURE__ */ jsxRuntimeExports.jsx(
5403
- "div",
5404
- {
5405
- style: {
5406
- position: "absolute",
5407
- zIndex: 999,
5408
- bottom: "-13px",
5409
- fontSize: "10px",
5410
- color: "red"
5411
- },
5412
- children: props.errorText
5413
- }
5414
- ),
5415
- props.children
5416
- ] }), "WrapperError"), FormulaStyleEditor = /* @__PURE__ */ __name((props) => {
5413
+ }, "ConditionalStyleEditor"), FormulaStyleEditor = /* @__PURE__ */ __name((props) => {
5417
5414
  var _a15;
5418
- const { onChange, interceptorManager } = props, localeService = useDependency(LocaleService), workbook = useDependency(IUniverInstanceService).getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET), worksheet = workbook.getActiveSheet(), rule = ((_a15 = props.rule) == null ? void 0 : _a15.type) === CFRuleType.highlightCell ? props.rule : void 0, [style, styleSet] = useState({}), [formula, formulaSet] = useState(() => (rule == null ? void 0 : rule.subType) === CFSubRuleType.formula ? rule.value : "="), [formulaError, formulaErrorSet] = useState(""), getResult = /* @__PURE__ */ __name((config) => ({
5415
+ const { onChange, interceptorManager } = props, localeService = useDependency(LocaleService), workbook = useDependency(IUniverInstanceService).getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET), worksheet = workbook.getActiveSheet(), rule = ((_a15 = props.rule) == null ? void 0 : _a15.type) === CFRuleType.highlightCell ? props.rule : void 0, divEleRef = useRef(null), [isFocusFormulaEditor, isFocusFormulaEditorSet] = useState(!1), formulaEditorActionsRef = useRef({}), [style, styleSet] = useState({}), [formula, formulaSet] = useState(() => (rule == null ? void 0 : rule.subType) === CFSubRuleType.formula ? rule.value : "="), [formulaError, formulaErrorSet] = useState(void 0), getResult = /* @__PURE__ */ __name((config) => ({
5419
5416
  style: config.style,
5420
5417
  value: formula,
5421
5418
  type: CFRuleType.highlightCell,
@@ -5426,28 +5423,37 @@ const cfStyleEdit = "univer-cf-style-edit", buttonItem = "univer-button-item", i
5426
5423
  return getResult({ style, formula });
5427
5424
  }
5428
5425
  }), [style, formula, interceptorManager]), useEffect(() => interceptorManager.intercept(interceptorManager.getInterceptPoints().beforeSubmit, {
5429
- handler: /* @__PURE__ */ __name((v, _c, next) => !formula || formula.length === 1 || !formula.startsWith("=") ? (formulaErrorSet(localeService.t("sheet.cf.errorMessage.formulaError")), !1) : next(v), "handler")
5430
- }), [formula]);
5426
+ handler: /* @__PURE__ */ __name((v, _c, next) => formulaError || formula.length === 1 || !formula.startsWith("=") ? (formulaErrorSet(localeService.t("sheet.cf.errorMessage.formulaError")), !1) : next(v), "handler")
5427
+ }), [formulaError, formula]);
5431
5428
  const _onChange = /* @__PURE__ */ __name((config) => {
5432
5429
  onChange(getResult(config));
5433
5430
  }, "_onChange");
5434
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
5431
+ return useSidebarClick((e2) => {
5432
+ var _a16;
5433
+ const handleOutClick = (_a16 = formulaEditorActionsRef.current) == null ? void 0 : _a16.handleOutClick;
5434
+ handleOutClick && handleOutClick(e2, () => isFocusFormulaEditorSet(!1));
5435
+ }), /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: divEleRef, children: [
5435
5436
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$5.title} ${styles$5.mTBase}`, children: localeService.t("sheet.cf.panel.styleRule") }),
5436
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$5.mTSm}`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(WrapperError, { errorText: formulaError, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
5437
- TextEditor,
5437
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$5.mTSm}`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
5438
+ FormulaEditor,
5438
5439
  {
5439
- id: createInternalEditorID(`${SHEET_CONDITIONAL_FORMATTING_PLUGIN}_formula`),
5440
- openForSheetSubUnitId: worksheet == null ? void 0 : worksheet.getSheetId(),
5441
- openForSheetUnitId: workbook.getUnitId(),
5442
- value: formula,
5443
- canvasStyle: { fontSize: 10 },
5444
- onlyInputFormula: !0,
5445
- onChange: /* @__PURE__ */ __name((v = "") => {
5446
- const formula2 = v || "";
5447
- formulaSet(formula2), _onChange({ style, formula: formula2 }), formulaErrorSet("");
5448
- }, "onChange")
5440
+ onChange: /* @__PURE__ */ __name((formula2) => {
5441
+ formulaSet(formula2), _onChange({ style, formula: formula2 });
5442
+ }, "onChange"),
5443
+ onVerify: /* @__PURE__ */ __name((result, formula2) => {
5444
+ !result || formula2.length === 1 ? formulaErrorSet(localeService.t("sheet.cf.errorMessage.formulaError")) : formulaErrorSet(void 0);
5445
+ }, "onVerify"),
5446
+ errorText: formulaError,
5447
+ onFocus: /* @__PURE__ */ __name(() => {
5448
+ isFocusFormulaEditorSet(!0);
5449
+ }, "onFocus"),
5450
+ actions: formulaEditorActionsRef.current,
5451
+ isFocus: isFocusFormulaEditor,
5452
+ initValue: formula,
5453
+ unitId: workbook.getUnitId(),
5454
+ subUnitId: worksheet == null ? void 0 : worksheet.getSheetId()
5449
5455
  }
5450
- ) }) }),
5456
+ ) }),
5451
5457
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$1.cfPreviewWrap} `, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Preview, { rule: getResult({ style, formula }) }) }),
5452
5458
  /* @__PURE__ */ jsxRuntimeExports.jsx(
5453
5459
  ConditionalStyleEditor,
@@ -5460,7 +5466,22 @@ const cfStyleEdit = "univer-cf-style-edit", buttonItem = "univer-button-item", i
5460
5466
  }
5461
5467
  )
5462
5468
  ] });
5463
- }, "FormulaStyleEditor"), createOptionItem = /* @__PURE__ */ __name((text2, localeService) => ({ label: localeService.t(`sheet.cf.operator.${text2}`), value: text2 }), "createOptionItem"), HighlightCellInput = /* @__PURE__ */ __name((props) => {
5469
+ }, "FormulaStyleEditor"), WrapperError = /* @__PURE__ */ __name((props) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { position: "relative" }, children: [
5470
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
5471
+ "div",
5472
+ {
5473
+ style: {
5474
+ position: "absolute",
5475
+ zIndex: 999,
5476
+ bottom: "-13px",
5477
+ fontSize: "10px",
5478
+ color: "red"
5479
+ },
5480
+ children: props.errorText
5481
+ }
5482
+ ),
5483
+ props.children
5484
+ ] }), "WrapperError"), createOptionItem = /* @__PURE__ */ __name((text2, localeService) => ({ label: localeService.t(`sheet.cf.operator.${text2}`), value: text2 }), "createOptionItem"), HighlightCellInput = /* @__PURE__ */ __name((props) => {
5464
5485
  const { type: type2, operator, onChange, value, interceptorManager } = props, localeService = useDependency(LocaleService), [inputNumberValue, inputNumberValueSet] = useState(() => typeof value == "number" ? value : 0), [numberError, numberErrorSet] = useState(""), [inputTextValue, inputTextValueSet] = useState(() => typeof value == "string" ? value : ""), [textError, textErrorSet] = useState(""), [inputNumberMin, inputNumberMinSet] = useState(() => Array.isArray(value) ? value[0] === void 0 ? 0 : value[0] : 0), [numberMinError, numberMinErrorSet] = useState(""), [inputNumberMax, inputNumberMaxSet] = useState(() => Array.isArray(value) ? value[1] === void 0 ? 100 : value[1] : 100), [numberMaxError, numberMaxErrorSet] = useState("");
5465
5486
  switch (useEffect(() => {
5466
5487
  switch (type2) {
@@ -5725,25 +5746,29 @@ const cfStyleEdit = "univer-cf-style-edit", buttonItem = "univer-button-item", i
5725
5746
  ] });
5726
5747
  }, "HighlightCellStyleEditor"), getIcon = /* @__PURE__ */ __name((iconType, iconId) => (iconMap[iconType] || [])[Number(iconId)] || "", "getIcon"), TextInput = /* @__PURE__ */ __name((props) => {
5727
5748
  var _a15;
5728
- const univerInstanceService = useDependency(IUniverInstanceService), unitId = univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET).getUnitId(), subUnitId = (_a15 = univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET).getActiveSheet()) == null ? void 0 : _a15.getSheetId(), className = useMemo(() => props.error ? styles$1.errorInput : "", [props.error]);
5729
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$1.positionRelative, children: props.type !== CFValueType.formula ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
5749
+ const univerInstanceService = useDependency(IUniverInstanceService), unitId = univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET).getUnitId(), subUnitId = (_a15 = univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET).getActiveSheet()) == null ? void 0 : _a15.getSheetId(), className = useMemo(() => props.error ? styles$1.errorInput : "", [props.error]), formulaEditorActionsRef = useRef({}), [isFocusFormulaEditor, isFocusFormulaEditorSet] = useState(!1);
5750
+ return useSidebarClick((e2) => {
5751
+ var _a16;
5752
+ const handleOutClick = (_a16 = formulaEditorActionsRef.current) == null ? void 0 : _a16.handleOutClick;
5753
+ handleOutClick && handleOutClick(e2, () => isFocusFormulaEditorSet(!1));
5754
+ }), /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$1.positionRelative, children: props.type !== CFValueType.formula ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
5730
5755
  /* @__PURE__ */ jsxRuntimeExports.jsx(InputNumber, { className, value: Number(props.value) || 0, onChange: /* @__PURE__ */ __name((v) => props.onChange(v != null ? v : 0), "onChange") }),
5731
5756
  props.error && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$1.errorText, children: props.error })
5732
- ] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
5733
- TextEditor,
5757
+ ] }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { width: "100%" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
5758
+ FormulaEditor,
5734
5759
  {
5735
- id: createInternalEditorID(`${SHEET_CONDITIONAL_FORMATTING_PLUGIN}_icon_set_${props.id}`),
5736
- value: String(props.value).startsWith("=") ? String(props.value) : "=",
5737
- openForSheetSubUnitId: subUnitId,
5738
- openForSheetUnitId: unitId,
5739
- canvasStyle: { fontSize: 10 },
5740
- onlyInputFormula: !0,
5760
+ initValue: String(props.value),
5761
+ unitId,
5762
+ subUnitId,
5763
+ isFocus: isFocusFormulaEditor,
5741
5764
  onChange: /* @__PURE__ */ __name((v = "") => {
5742
5765
  const formula = v || "";
5743
5766
  props.onChange(formula);
5744
- }, "onChange")
5767
+ }, "onChange"),
5768
+ onFocus: /* @__PURE__ */ __name(() => isFocusFormulaEditorSet(!0), "onFocus"),
5769
+ actions: formulaEditorActionsRef.current
5745
5770
  }
5746
- ) });
5771
+ ) }) });
5747
5772
  }, "TextInput"), createDefaultConfigItem = /* @__PURE__ */ __name((iconType, index2, list) => ({
5748
5773
  operator: CFNumberOperator.greaterThan,
5749
5774
  value: { type: CFValueType.num, value: (list.length - 1 - index2) * 10 },
@@ -5800,6 +5825,8 @@ const cfStyleEdit = "univer-cf-style-edit", buttonItem = "univer-button-item", i
5800
5825
  handleValueValueChange(defaultValue, index2);
5801
5826
  }, "handleOperatorChange"), handleValueTypeChange = /* @__PURE__ */ __name((v, index2) => {
5802
5827
  onChange([String(index2), "value", "type"], v);
5828
+ const item2 = configList[index2], defaultValue = createDefaultValue(CFSubRuleType.number, item2.operator);
5829
+ handleValueValueChange(defaultValue, index2);
5803
5830
  }, "handleValueTypeChange");
5804
5831
  return useMemo(() => configList.map((item2, index2) => {
5805
5832
  const error = errorMap[index2], icon2 = getIcon(item2.iconType, item2.iconId), isEnd = index2 === configList.length - 1, isFirst = index2 === 0, preItem = configList[index2 - 1], lessThanText = (preItem == null ? void 0 : preItem.value.type) === CFValueType.formula ? localeService.t("sheet.cf.valueType.formula") : preItem == null ? void 0 : preItem.value.value, handleIconClick = /* @__PURE__ */ __name((iconType, iconId) => {
@@ -5849,9 +5876,18 @@ const cfStyleEdit = "univer-cf-style-edit", buttonItem = "univer-button-item", i
5849
5876
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$1.width45}`, children: localeService.t("sheet.cf.iconSet.value") })
5850
5877
  ] }),
5851
5878
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `${styles$5.mTSm} ${styles$1.flex}`, children: [
5852
- /* @__PURE__ */ jsxRuntimeExports.jsx(Select, { className: `${styles$1.width45} ${styles$5.mL0}`, options: valueTypeOptions, value: item2.value.type, onChange: /* @__PURE__ */ __name((v) => {
5853
- handleValueTypeChange(v, index2);
5854
- }, "onChange") }),
5879
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
5880
+ Select,
5881
+ {
5882
+ style: { flexShrink: 0 },
5883
+ className: `${styles$1.width45} ${styles$5.mL0}`,
5884
+ options: valueTypeOptions,
5885
+ value: item2.value.type,
5886
+ onChange: /* @__PURE__ */ __name((v) => {
5887
+ handleValueTypeChange(v, index2);
5888
+ }, "onChange")
5889
+ }
5890
+ ),
5855
5891
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$5.mL0} ${styles$1.width45}`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(TextInput, { id: index2, type: item2.value.type, error, value: item2.value.value || "", onChange: /* @__PURE__ */ __name((v) => handleValueValueChange(v, index2), "onChange") }) })
5856
5892
  ] })
5857
5893
  ] })
@@ -5908,16 +5944,20 @@ const cfStyleEdit = "univer-cf-style-edit", buttonItem = "univer-button-item", i
5908
5944
  configListSet(config), errorMapSet(checkResult(config));
5909
5945
  }, "handleClickIconList");
5910
5946
  useEffect(() => {
5911
- const dispose = interceptorManager.intercept(interceptorManager.getInterceptPoints().submit, { handler() {
5912
- return { type: CFRuleType.iconSet, isShowValue, config: configList };
5913
- } });
5947
+ const dispose = interceptorManager.intercept(interceptorManager.getInterceptPoints().submit, {
5948
+ handler() {
5949
+ return { type: CFRuleType.iconSet, isShowValue, config: configList };
5950
+ }
5951
+ });
5914
5952
  return () => {
5915
5953
  dispose();
5916
5954
  };
5917
5955
  }, [isShowValue, configList, interceptorManager]), useEffect(() => {
5918
- const dispose = interceptorManager.intercept(interceptorManager.getInterceptPoints().beforeSubmit, { handler() {
5919
- return Object.keys(errorMap).length === 0;
5920
- } });
5956
+ const dispose = interceptorManager.intercept(interceptorManager.getInterceptPoints().beforeSubmit, {
5957
+ handler() {
5958
+ return Object.keys(errorMap).length === 0;
5959
+ }
5960
+ });
5921
5961
  return () => {
5922
5962
  dispose();
5923
5963
  };
@@ -6069,10 +6109,7 @@ const cfStyleEdit = "univer-cf-style-edit", buttonItem = "univer-button-item", i
6069
6109
  return (_a15 = univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET).getActiveSheet()) == null ? void 0 : _a15.getSheetId();
6070
6110
  }, "getSubUnitId"), RuleEdit = /* @__PURE__ */ __name((props) => {
6071
6111
  var _a15, _b, _c;
6072
- const localeService = useDependency(LocaleService), commandService = useDependency(ICommandService), univerInstanceService = useDependency(IUniverInstanceService), conditionalFormattingRuleModel = useDependency(ConditionalFormattingRuleModel), selectionManagerService = useDependency(SheetsSelectionsService), unitId = getUnitId(univerInstanceService), subUnitId = getSubUnitId(univerInstanceService), [isFocusRangeSelector, isFocusRangeSelectorSet] = useState(() => {
6073
- const { rule } = props;
6074
- return (rule == null ? void 0 : rule.rule.type) === CFRuleType.highlightCell ? rule.rule.subType !== CFSubRuleType.formula : !0;
6075
- }), rangeSelectorActionsRef = useRef({}), [errorText2, errorTextSet] = useState(void 0), rangeResult = useRef((_b = (_a15 = props.rule) == null ? void 0 : _a15.ranges) != null ? _b : []), rangeString = useMemo(() => {
6112
+ const localeService = useDependency(LocaleService), commandService = useDependency(ICommandService), univerInstanceService = useDependency(IUniverInstanceService), conditionalFormattingRuleModel = useDependency(ConditionalFormattingRuleModel), selectionManagerService = useDependency(SheetsSelectionsService), unitId = getUnitId(univerInstanceService), subUnitId = getSubUnitId(univerInstanceService), [isFocusRangeSelector, isFocusRangeSelectorSet] = useState(!0), rangeSelectorActionsRef = useRef({}), [errorText2, errorTextSet] = useState(void 0), rangeResult = useRef((_b = (_a15 = props.rule) == null ? void 0 : _a15.ranges) != null ? _b : []), rangeString = useMemo(() => {
6076
6113
  var _a16, _b2, _c2;
6077
6114
  let ranges = (_a16 = props.rule) == null ? void 0 : _a16.ranges;
6078
6115
  return ranges != null && ranges.length || (ranges = (_c2 = (_b2 = selectionManagerService.getCurrentSelections()) == null ? void 0 : _b2.map((s) => s.range)) != null ? _c2 : []), rangeResult.current = ranges, ranges != null && ranges.length ? ranges.map((range) => {
@@ -6147,7 +6184,7 @@ const cfStyleEdit = "univer-cf-style-edit", buttonItem = "univer-button-item", i
6147
6184
  const onStyleChange = /* @__PURE__ */ __name((config) => {
6148
6185
  result.current = config;
6149
6186
  }, "onStyleChange"), onRangeSelectorChange = /* @__PURE__ */ __name((rangeString2) => {
6150
- const result2 = rangeString2.split(",").map(deserializeRangeWithSheet).map((item2) => item2.range);
6187
+ const result2 = rangeString2.split(",").filter((e2) => !!e2).map(deserializeRangeWithSheet).map((item2) => item2.range);
6151
6188
  rangeResult.current = result2;
6152
6189
  }, "onRangeSelectorChange"), handleSubmit = /* @__PURE__ */ __name(() => {
6153
6190
  if (errorText2)
@@ -6172,12 +6209,12 @@ const cfStyleEdit = "univer-cf-style-edit", buttonItem = "univer-button-item", i
6172
6209
  props.onCancel();
6173
6210
  }, "handleCancel"), handleVerify = /* @__PURE__ */ __name((v, rangeText) => {
6174
6211
  v ? rangeText.length < 1 ? errorTextSet(localeService.t("sheet.cf.errorMessage.rangeError")) : errorTextSet(void 0) : errorTextSet(localeService.t("sheet.cf.errorMessage.rangeError"));
6175
- }, "handleVerify"), handlePanelClick = /* @__PURE__ */ __name((e2) => {
6212
+ }, "handleVerify");
6213
+ return useSidebarClick((e2) => {
6176
6214
  var _a16;
6177
6215
  const handleOutClick = (_a16 = rangeSelectorActionsRef.current) == null ? void 0 : _a16.handleOutClick;
6178
- handleOutClick && handleOutClick(e2, isFocusRangeSelectorSet);
6179
- }, "handlePanelClick");
6180
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.cfRuleStyleEditor, onClick: handlePanelClick, children: [
6216
+ handleOutClick && handleOutClick(e2, () => isFocusRangeSelectorSet(!1));
6217
+ }), /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.cfRuleStyleEditor, children: [
6181
6218
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.title, children: localeService.t("sheet.cf.panel.range") }),
6182
6219
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$5.mTBase}`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
6183
6220
  RangeSelector,
@@ -6188,6 +6225,7 @@ const cfStyleEdit = "univer-cf-style-edit", buttonItem = "univer-button-item", i
6188
6225
  initValue: rangeString,
6189
6226
  onChange: onRangeSelectorChange,
6190
6227
  onVerify: handleVerify,
6228
+ onFocus: /* @__PURE__ */ __name(() => isFocusRangeSelectorSet(!0), "onFocus"),
6191
6229
  isFocus: isFocusRangeSelector,
6192
6230
  actions: rangeSelectorActionsRef.current
6193
6231
  }
@@ -7011,8 +7049,8 @@ var __defProp$3 = Object.defineProperty, __getOwnPropDesc$3 = Object.getOwnPrope
7011
7049
  return kind && result && __defProp$3(target, key, result), result;
7012
7050
  }, "__decorateClass$3"), __decorateParam$3 = /* @__PURE__ */ __name((index2, decorator) => (target, key) => decorator(target, key, index2), "__decorateParam$3"), _a11;
7013
7051
  let ConditionalFormattingEditorController = (_a11 = class extends Disposable {
7014
- constructor(_editorBridgeService, _conditionalFormattingService) {
7015
- super(), this._editorBridgeService = _editorBridgeService, this._conditionalFormattingService = _conditionalFormattingService, this._initInterceptorEditorEnd();
7052
+ constructor(_sheetInterceptorService, _conditionalFormattingService) {
7053
+ super(), this._sheetInterceptorService = _sheetInterceptorService, this._conditionalFormattingService = _conditionalFormattingService, this._initInterceptorEditorEnd();
7016
7054
  }
7017
7055
  /**
7018
7056
  * Process the values after edit
@@ -7022,8 +7060,8 @@ let ConditionalFormattingEditorController = (_a11 = class extends Disposable {
7022
7060
  _initInterceptorEditorEnd() {
7023
7061
  this.disposeWithMe(
7024
7062
  toDisposable(
7025
- this._editorBridgeService.interceptor.intercept(
7026
- this._editorBridgeService.interceptor.getInterceptPoints().AFTER_CELL_EDIT,
7063
+ this._sheetInterceptorService.writeCellInterceptor.intercept(
7064
+ AFTER_CELL_EDIT,
7027
7065
  {
7028
7066
  handler: /* @__PURE__ */ __name((value, context, next) => {
7029
7067
  var _a15, _b;
@@ -7048,7 +7086,7 @@ let ConditionalFormattingEditorController = (_a11 = class extends Disposable {
7048
7086
  }
7049
7087
  }, __name(_a11, "ConditionalFormattingEditorController"), _a11);
7050
7088
  ConditionalFormattingEditorController = __decorateClass$3([
7051
- __decorateParam$3(0, Inject(IEditorBridgeService)),
7089
+ __decorateParam$3(0, Inject(SheetInterceptorService)),
7052
7090
  __decorateParam$3(1, Inject(ConditionalFormattingService))
7053
7091
  ], ConditionalFormattingEditorController);
7054
7092
  const commandList = [
package/lib/index.css CHANGED
@@ -1 +1 @@
1
- .univer-conditional-formatting-wrap{height:100%;display:flex;flex-direction:column;justify-content:space-between}.univer-conditional-formatting-wrap .univer-cf-rule-item{display:flex;justify-content:space-between;align-items:center}.univer-conditional-formatting-wrap .univer-cf-rule-item .univer-preview{flex-shrink:0}.univer-conditional-formatting-wrap .univer-create-rule{margin-bottom:20px}.univer-conditional-formatting-wrap .univer-create-rule .univer-button{border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-base);display:flex;align-items:center;justify-content:center;padding:var(--padding-base);cursor:pointer;font-size:var(--font-size-sm)}.univer-conditional-formatting-wrap .univer-title{margin-top:var(--margin-base);font-size:15px;color:rgb(var(--text-color-secondary))}.univer-conditional-formatting-wrap .univer-label{font-size:12px;margin-top:var(--margin-sm);color:rgb(var(--text-color-secondary))}.univer-conditional-formatting-wrap .univer-label-container{display:flex;align-items:center}.univer-conditional-formatting-wrap .univer-label-container .univer-input-width{width:100px}.univer-conditional-formatting-wrap .univer-m-t-base{margin-top:var(--margin-base)}.univer-conditional-formatting-wrap .univer-m-t-sm{margin-top:var(--margin-sm)}.univer-conditional-formatting-wrap .univer-m-t-xl{margin-top:var(--margin-xl)}.univer-conditional-formatting-wrap .univer-m-l-sm{margin-left:var(--margin-sm)}.univer-conditional-formatting-wrap .univer-m-l-xl{margin-left:var(--margin-xl)}.univer-conditional-formatting-wrap .univer-m-l-xxs{margin-left:var(--margin-xxs)}.univer-conditional-formatting-wrap .univer-m-l-0{margin-left:0}.univer-conditional-formatting-wrap .univer-m-r-0{margin-right:0}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.univer-cf-preview{display:flex;align-items:center;justify-content:center;pointer-events:none;min-width:72px;height:20px;font-size:12px}.univer-cf-rule-list .univer-rule-selector{color:rgb(var(--text-color-secondary));font-size:12px;display:flex;justify-content:space-between;align-items:center}.univer-cf-rule-list .univer-rule-selector .univer-select{color:rgb(var(--text-color));width:138px}.univer-cf-rule-list .univer-rule-selector .univer-select .univer-select-selector{border:none;padding:0}.univer-cf-rule-list .univer-rule-selector .univer-select .univer-select-selection-item{top:-2px;left:4px}.univer-cf-rule-list .univer-rule-selector .univer-select .univer-select-selection-search-input{cursor:pointer}.univer-cf-rule-list .univer-rule-selector .univer-btn-list{font-size:16px;color:#000;display:flex;justify-content:space-between;align-items:center}.univer-cf-rule-list .univer-rule-selector .univer-btn-list .univer-gap{margin-left:8px}.univer-cf-rule-list .univer-rule-selector .univer-btn-list .univer-icon{cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-radius:4px;padding:4px}.univer-cf-rule-list .univer-rule-selector .univer-btn-list .univer-icon:hover{background:rgb(var(--grey-300))}.univer-cf-rule-list .univer-rule-selector .univer-btn-list .univer-disabled{color:rgb(var(--grey-500));display:flex;align-items:center;border-radius:4px;padding:4px}.univer-cf-rule-list .univer-rule-item{padding:8px 32px 8px 20px;display:flex;justify-content:space-between;position:relative;align-items:center;border-radius:var(--border-radius-base)}.univer-cf-rule-list .univer-rule-item .univer-rule-describe{max-width:100%;min-width:0px;overflow:hidden;flex-shrink:1;font-size:var(--font-size-sm);line-height:21px}.univer-cf-rule-list .univer-rule-item .univer-rule-describe .univer-rule-type{font-size:14px;line-height:22px;color:#1e222b}.univer-cf-rule-list .univer-rule-item .univer-rule-describe .univer-rule-range{font-size:12px;line-height:22px;color:#7a7a7a}.univer-cf-rule-list .univer-rule-item:hover,.univer-cf-rule-list .univer-rule-item.univer-active{background-color:rgb(var(--grey-100))}.univer-cf-rule-list .univer-rule-item .univer-draggableHandle{display:none;position:absolute;left:0;width:20px;height:20px;border-radius:var(--border-radius-base);cursor:grab}.univer-cf-rule-list .univer-rule-item:hover .univer-delete-item,.univer-cf-rule-list .univer-rule-item:hover .univer-draggableHandle{display:flex;align-items:center;justify-content:center}.univer-cf-rule-list .univer-rule-item .univer-delete-item{display:none;cursor:pointer;border-radius:var(--border-radius-base);position:absolute;right:4px;width:24px;height:24px}.univer-cf-rule-list .univer-rule-item .univer-delete-item:hover{background-color:rgb(var(--grey-300))}.univer-cf-rule-list .univer-rule-item .univer-active{display:flex;align-items:center;justify-content:center}.univer-cf-rule-list .univer-grid-layout-wrap{width:calc(100% - 2 * var(--padding-sm) + 2 * var(--padding-xl));margin-left:calc(-1 * var(--padding-xl));padding-left:var(--padding-sm)}.univer-cf-rule-list .univer-grid-layout-wrap .univer-react-grid-item{transition:none}.react-grid-item.react-grid-placeholder{background:rgb(var(--grey-300))}.univer-cf-color-picker{padding:var(--padding-base);font-size:var(--font-size-xs);list-style:none;background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);outline:none;box-shadow:var(--box-shadow-base)}.univer-cf-color-picker-icon{cursor:pointer;padding:4px;display:flex;align-items:center}.univer-cf-color-picker-icon:hover{background:rgb(var(--bg-color-hover));border-radius:var(--border-radius-base)}.univer-cf-color-picker-icon .univer-icon-dropdown{font-size:8px;color:rgb(var(--text-color-secondary));margin-left:6px}.univer-cf-rule-style-editor .univer-cf-preview-wrap{margin-top:var(--margin-sm);padding:var(--padding-xs) var(--padding-sm);border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-base)}.univer-cf-rule-style-editor .univer-text{font-size:var(--font-size-xxs)}.univer-cf-rule-style-editor .univer-position-relative{position:relative}.univer-cf-rule-style-editor .univer-btn-list{display:flex;justify-content:flex-end;margin-bottom:var(--margin-base)}.univer-cf-rule-style-editor .univer-util-item{display:flex;justify-content:flex-start;align-items:center;font-size:var(--font-size-xxs)}.univer-cf-rule-style-editor .univer-icon-set .univer-render-config{display:flex;align-items:center;font-size:var(--font-size-xxs);justify-content:flex-start}.univer-cf-rule-style-editor .univer-icon-set .univer-flex{display:flex;justify-content:space-between;align-items:center}.univer-cf-rule-style-editor .univer-icon-set .univer-width45{width:45%}.univer-cf-rule-style-editor .univer-icon-set .univer-icon-wrap{display:flex;align-items:center}.univer-cf-rule-style-editor .univer-icon-set .univer-icon{width:20px;height:20px}.univer-cf-rule-style-editor .univer-icon-set .univer-dropdown-icon{background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-base);display:flex;justify-content:space-between;width:100%;align-items:center;padding:var(--padding-sm) var(--padding-lg);font-size:var(--font-size-xxs);color:rgb(var(--text-color-secondary));transition:all .15s}.univer-cf-rule-style-editor .univer-icon-set .univer-dropdown-icon:hover{border-color:rgb(var(--primary-color))!important}.univer-cf-rule-style-editor .univer-icon-set .univer-dropdown-icon .univer-icon{width:16px;height:16px}.univer-cf-rule-style-editor .univer-icon-set .univer-error-input{border:1px solid rgb(var(--red-400))}.univer-cf-rule-style-editor .univer-icon-set .univer-error-text{color:rgb(var(--red-400));font-size:12px;position:absolute}.univer-icon-group-list{padding:var(--padding-base);font-size:var(--font-size-xs);box-sizing:border-box;width:328px;background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);outline:none;box-shadow:var(--box-shadow-base)}.univer-icon-group-list .univer-title{font-size:13px;margin-bottom:var(--margin-xxs)}.univer-icon-group-list .univer-group{margin-bottom:var(--margin-sm)}.univer-icon-group-list .univer-item-content{display:flex;flex-wrap:wrap}.univer-icon-group-list .univer-item-content .univer-item-wrap{display:flex;align-items:center;justify-content:flex-start;width:50%;margin-bottom:4px}.univer-icon-group-list .univer-item-content .univer-item-wrap .univer-item{border-radius:var(--border-radius-base);cursor:pointer}.univer-icon-group-list .univer-item-content .univer-item-wrap .univer-item :not(:first-child).univer-icon{margin-left:8px}.univer-icon-group-list .univer-item-content .univer-item-wrap .univer-item:hover{background-color:rgb(var(--bg-color-hover))}.univer-icon-group-list .univer-item-content .univer-item-wrap :not(:first-child).univer-icon{margin-left:8px}.univer-icon-group-list .univer-icon{width:20px;height:20px}.univer-icon-item-list-wrap{padding:var(--padding-base) 4px var(--padding-base) var(--padding-base);font-size:var(--font-size-xs);background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);outline:none;box-shadow:var(--box-shadow-base)}.univer-icon-item-list-wrap .univer-none{display:flex;align-items:center;margin-bottom:10px;cursor:pointer;padding-left:4px}.univer-icon-item-list-wrap .univer-none span{margin-left:8px}.univer-icon-item-list-wrap .univer-icon-item-list{display:flex;width:252px;flex-wrap:wrap}.univer-icon-item-list-wrap .univer-icon-item-list .univer-item{display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-base);margin-right:8px;margin-bottom:8px;cursor:pointer}.univer-icon-item-list-wrap .univer-icon-item-list .univer-item:hover{background-color:rgb(var(--bg-color-hover))}.univer-icon-item-list-wrap .univer-icon-item-list .univer-icon{width:20px;height:20px}.univer-width100{width:100%}.univer-stress{color:rgb(var(--text-color));font-weight:500}.univer-cf-style-edit{display:flex;justify-content:space-between;margin:10px 0}.univer-cf-style-edit .univer-button-item{cursor:pointer;border-radius:var(--border-radius-base);display:flex;align-items:center;padding:0 3px}.univer-cf-style-edit .univer-button-item:hover,.univer-cf-style-edit .univer-isActive{background-color:rgb(var(--grey-100))}
1
+ .univer-conditional-formatting-wrap{height:100%;display:flex;flex-direction:column;justify-content:space-between}.univer-conditional-formatting-wrap .univer-cf-rule-item{display:flex;justify-content:space-between;align-items:center}.univer-conditional-formatting-wrap .univer-cf-rule-item .univer-preview{flex-shrink:0}.univer-conditional-formatting-wrap .univer-create-rule{margin-bottom:20px}.univer-conditional-formatting-wrap .univer-create-rule .univer-button{border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-base);display:flex;align-items:center;justify-content:center;padding:var(--padding-base);cursor:pointer;font-size:var(--font-size-sm)}.univer-conditional-formatting-wrap .univer-title{margin-top:var(--margin-base);font-size:15px;color:rgb(var(--text-color-secondary))}.univer-conditional-formatting-wrap .univer-label{font-size:12px;margin-top:var(--margin-sm);color:rgb(var(--text-color-secondary))}.univer-conditional-formatting-wrap .univer-label-container{display:flex;align-items:center}.univer-conditional-formatting-wrap .univer-label-container .univer-input-width{width:100px}.univer-conditional-formatting-wrap .univer-m-t-base{margin-top:var(--margin-base)}.univer-conditional-formatting-wrap .univer-m-t-sm{margin-top:var(--margin-sm)}.univer-conditional-formatting-wrap .univer-m-t-xl{margin-top:var(--margin-xl)}.univer-conditional-formatting-wrap .univer-m-l-sm{margin-left:var(--margin-sm)}.univer-conditional-formatting-wrap .univer-m-l-xl{margin-left:var(--margin-xl)}.univer-conditional-formatting-wrap .univer-m-l-xxs{margin-left:var(--margin-xxs)}.univer-conditional-formatting-wrap .univer-m-l-0{margin-left:0}.univer-conditional-formatting-wrap .univer-m-r-0{margin-right:0}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.univer-cf-preview{display:flex;align-items:center;justify-content:center;pointer-events:none;min-width:72px;height:20px;font-size:12px}.univer-cf-rule-list .univer-rule-selector{color:rgb(var(--text-color-secondary));font-size:12px;display:flex;justify-content:space-between;align-items:center}.univer-cf-rule-list .univer-rule-selector .univer-select{color:rgb(var(--text-color));width:138px}.univer-cf-rule-list .univer-rule-selector .univer-select .univer-select-selector{border:none;padding:0}.univer-cf-rule-list .univer-rule-selector .univer-select .univer-select-selection-item{top:-2px;left:4px}.univer-cf-rule-list .univer-rule-selector .univer-select .univer-select-selection-search-input{cursor:pointer}.univer-cf-rule-list .univer-rule-selector .univer-btn-list{font-size:16px;color:#000;display:flex;justify-content:space-between;align-items:center}.univer-cf-rule-list .univer-rule-selector .univer-btn-list .univer-gap{margin-left:8px}.univer-cf-rule-list .univer-rule-selector .univer-btn-list .univer-icon{cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-radius:4px;padding:4px}.univer-cf-rule-list .univer-rule-selector .univer-btn-list .univer-icon:hover{background:rgb(var(--grey-300))}.univer-cf-rule-list .univer-rule-selector .univer-btn-list .univer-disabled{color:rgb(var(--grey-500));display:flex;align-items:center;border-radius:4px;padding:4px}.univer-cf-rule-list .univer-rule-item{padding:8px 32px 8px 20px;display:flex;justify-content:space-between;position:relative;align-items:center;border-radius:var(--border-radius-base)}.univer-cf-rule-list .univer-rule-item .univer-rule-describe{max-width:100%;min-width:0px;overflow:hidden;flex-shrink:1;font-size:var(--font-size-sm);line-height:21px}.univer-cf-rule-list .univer-rule-item .univer-rule-describe .univer-rule-type{font-size:14px;line-height:22px;color:#1e222b}.univer-cf-rule-list .univer-rule-item .univer-rule-describe .univer-rule-range{font-size:12px;line-height:22px;color:#7a7a7a}.univer-cf-rule-list .univer-rule-item:hover,.univer-cf-rule-list .univer-rule-item.univer-active{background-color:rgb(var(--grey-100))}.univer-cf-rule-list .univer-rule-item .univer-draggableHandle{display:none;position:absolute;left:0;width:20px;height:20px;border-radius:var(--border-radius-base);cursor:grab}.univer-cf-rule-list .univer-rule-item:hover .univer-delete-item,.univer-cf-rule-list .univer-rule-item:hover .univer-draggableHandle{display:flex;align-items:center;justify-content:center}.univer-cf-rule-list .univer-rule-item .univer-delete-item{display:none;cursor:pointer;border-radius:var(--border-radius-base);position:absolute;right:4px;width:24px;height:24px}.univer-cf-rule-list .univer-rule-item .univer-delete-item:hover{background-color:rgb(var(--grey-300))}.univer-cf-rule-list .univer-rule-item .univer-active{display:flex;align-items:center;justify-content:center}.univer-cf-rule-list .univer-grid-layout-wrap{width:calc(100% - 2 * var(--padding-sm) + 2 * var(--padding-xl));margin-left:calc(-1 * var(--padding-xl));padding-left:var(--padding-sm)}.univer-cf-rule-list .univer-grid-layout-wrap .univer-react-grid-item{transition:none}.react-grid-item.react-grid-placeholder{background:rgb(var(--grey-300))}.univer-cf-color-picker{padding:var(--padding-base);font-size:var(--font-size-xs);list-style:none;background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);outline:none;box-shadow:var(--box-shadow-base)}.univer-cf-color-picker-icon{cursor:pointer;padding:4px;display:flex;align-items:center}.univer-cf-color-picker-icon:hover{background:rgb(var(--bg-color-hover));border-radius:var(--border-radius-base)}.univer-cf-color-picker-icon .univer-icon-dropdown{font-size:8px;color:rgb(var(--text-color-secondary));margin-left:6px}.univer-cf-rule-style-editor .univer-cf-preview-wrap{margin-top:var(--margin-lg);padding:var(--padding-xs) var(--padding-sm);border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-base)}.univer-cf-rule-style-editor .univer-text{font-size:var(--font-size-xxs)}.univer-cf-rule-style-editor .univer-position-relative{position:relative}.univer-cf-rule-style-editor .univer-btn-list{display:flex;justify-content:flex-end;margin-bottom:var(--margin-base)}.univer-cf-rule-style-editor .univer-util-item{display:flex;justify-content:flex-start;align-items:center;font-size:var(--font-size-xxs)}.univer-cf-rule-style-editor .univer-icon-set .univer-render-config{display:flex;align-items:center;font-size:var(--font-size-xxs);justify-content:flex-start}.univer-cf-rule-style-editor .univer-icon-set .univer-flex{display:flex;justify-content:space-between;align-items:center}.univer-cf-rule-style-editor .univer-icon-set .univer-width45{width:45%}.univer-cf-rule-style-editor .univer-icon-set .univer-icon-wrap{display:flex;align-items:center}.univer-cf-rule-style-editor .univer-icon-set .univer-icon{width:20px;height:20px}.univer-cf-rule-style-editor .univer-icon-set .univer-dropdown-icon{background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-base);display:flex;justify-content:space-between;width:100%;align-items:center;padding:var(--padding-sm) var(--padding-lg);font-size:var(--font-size-xxs);color:rgb(var(--text-color-secondary));transition:all .15s}.univer-cf-rule-style-editor .univer-icon-set .univer-dropdown-icon:hover{border-color:rgb(var(--primary-color))!important}.univer-cf-rule-style-editor .univer-icon-set .univer-dropdown-icon .univer-icon{width:16px;height:16px}.univer-cf-rule-style-editor .univer-icon-set .univer-error-input{border:1px solid rgb(var(--red-400))}.univer-cf-rule-style-editor .univer-icon-set .univer-error-text{color:rgb(var(--red-400));font-size:12px;position:absolute}.univer-icon-group-list{padding:var(--padding-base);font-size:var(--font-size-xs);box-sizing:border-box;width:328px;background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);outline:none;box-shadow:var(--box-shadow-base)}.univer-icon-group-list .univer-title{font-size:13px;margin-bottom:var(--margin-xxs)}.univer-icon-group-list .univer-group{margin-bottom:var(--margin-sm)}.univer-icon-group-list .univer-item-content{display:flex;flex-wrap:wrap}.univer-icon-group-list .univer-item-content .univer-item-wrap{display:flex;align-items:center;justify-content:flex-start;width:50%;margin-bottom:4px}.univer-icon-group-list .univer-item-content .univer-item-wrap .univer-item{border-radius:var(--border-radius-base);cursor:pointer}.univer-icon-group-list .univer-item-content .univer-item-wrap .univer-item :not(:first-child).univer-icon{margin-left:8px}.univer-icon-group-list .univer-item-content .univer-item-wrap .univer-item:hover{background-color:rgb(var(--bg-color-hover))}.univer-icon-group-list .univer-item-content .univer-item-wrap :not(:first-child).univer-icon{margin-left:8px}.univer-icon-group-list .univer-icon{width:20px;height:20px}.univer-icon-item-list-wrap{padding:var(--padding-base) 4px var(--padding-base) var(--padding-base);font-size:var(--font-size-xs);background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);outline:none;box-shadow:var(--box-shadow-base)}.univer-icon-item-list-wrap .univer-none{display:flex;align-items:center;margin-bottom:10px;cursor:pointer;padding-left:4px}.univer-icon-item-list-wrap .univer-none span{margin-left:8px}.univer-icon-item-list-wrap .univer-icon-item-list{display:flex;width:252px;flex-wrap:wrap}.univer-icon-item-list-wrap .univer-icon-item-list .univer-item{display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-base);margin-right:8px;margin-bottom:8px;cursor:pointer}.univer-icon-item-list-wrap .univer-icon-item-list .univer-item:hover{background-color:rgb(var(--bg-color-hover))}.univer-icon-item-list-wrap .univer-icon-item-list .univer-icon{width:20px;height:20px}.univer-width100{width:100%}.univer-stress{color:rgb(var(--text-color));font-weight:500}.univer-cf-style-edit{display:flex;justify-content:space-between;margin:10px 0}.univer-cf-style-edit .univer-button-item{cursor:pointer;border-radius:var(--border-radius-base);display:flex;align-items:center;padding:0 3px}.univer-cf-style-edit .univer-button-item:hover,.univer-cf-style-edit .univer-isActive{background-color:rgb(var(--grey-100))}