@fileverse-dev/fortune-react 1.1.99 → 1.2.0-patch-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.
Files changed (51) hide show
  1. package/es/components/ContextMenu/Menu.d.ts +1 -0
  2. package/es/components/ContextMenu/Menu.js +5 -2
  3. package/es/components/ContextMenu/index.css +4 -1
  4. package/es/components/ContextMenu/index.js +37 -10
  5. package/es/components/DataVerification/ColorPicker.js +31 -7
  6. package/es/components/DataVerification/DropdownList.js +20 -1
  7. package/es/components/DataVerification/DropdownOption.js +5 -2
  8. package/es/components/DataVerification/RangeDialog.js +1 -5
  9. package/es/components/DataVerification/index.css +21 -1
  10. package/es/components/DataVerification/index.js +31 -5
  11. package/es/components/SheetOverlay/ColumnHeader.js +89 -7
  12. package/es/components/SheetOverlay/FormulaHint/index.js +13 -2
  13. package/es/components/SheetOverlay/FormulaSearch/index.css +0 -1
  14. package/es/components/SheetOverlay/FormulaSearch/index.js +1 -1
  15. package/es/components/SheetOverlay/InputBox.js +1 -1
  16. package/es/components/SheetOverlay/RowHeader.js +83 -7
  17. package/es/components/SheetOverlay/drag_and_drop/column-helpers.js +20 -18
  18. package/es/components/SheetOverlay/drag_and_drop/row-helpers.js +20 -18
  19. package/es/components/SheetOverlay/helper.js +3 -3
  20. package/es/components/SheetOverlay/index.css +26 -7
  21. package/es/components/Toolbar/Combo.js +5 -2
  22. package/es/components/Toolbar/index.css +17 -1
  23. package/es/components/Toolbar/index.js +28 -19
  24. package/es/components/Workbook/index.d.ts +1 -1
  25. package/es/components/Workbook/index.js +5 -0
  26. package/lib/components/ContextMenu/Menu.d.ts +1 -0
  27. package/lib/components/ContextMenu/Menu.js +5 -2
  28. package/lib/components/ContextMenu/index.css +4 -1
  29. package/lib/components/ContextMenu/index.js +36 -9
  30. package/lib/components/DataVerification/ColorPicker.js +30 -6
  31. package/lib/components/DataVerification/DropdownList.js +20 -1
  32. package/lib/components/DataVerification/DropdownOption.js +5 -2
  33. package/lib/components/DataVerification/RangeDialog.js +1 -5
  34. package/lib/components/DataVerification/index.css +21 -1
  35. package/lib/components/DataVerification/index.js +31 -5
  36. package/lib/components/SheetOverlay/ColumnHeader.js +87 -6
  37. package/lib/components/SheetOverlay/FormulaHint/index.js +13 -2
  38. package/lib/components/SheetOverlay/FormulaSearch/index.css +0 -1
  39. package/lib/components/SheetOverlay/FormulaSearch/index.js +1 -1
  40. package/lib/components/SheetOverlay/InputBox.js +1 -1
  41. package/lib/components/SheetOverlay/RowHeader.js +81 -6
  42. package/lib/components/SheetOverlay/drag_and_drop/column-helpers.js +20 -18
  43. package/lib/components/SheetOverlay/drag_and_drop/row-helpers.js +20 -18
  44. package/lib/components/SheetOverlay/helper.js +3 -3
  45. package/lib/components/SheetOverlay/index.css +26 -7
  46. package/lib/components/Toolbar/Combo.js +4 -1
  47. package/lib/components/Toolbar/index.css +17 -1
  48. package/lib/components/Toolbar/index.js +27 -19
  49. package/lib/components/Workbook/index.d.ts +1 -1
  50. package/lib/components/Workbook/index.js +5 -0
  51. package/package.json +2 -2
@@ -65,7 +65,9 @@ var ColorSection = exports.ColorSection = function ColorSection(_a) {
65
65
  }, /*#__PURE__*/_react.default.createElement("div", {
66
66
  className: "flex items-center justify-between color-picker rounded transition-all cursor-pointer border border-gray-300",
67
67
  style: {
68
- padding: "7px"
68
+ padding: "7px",
69
+ border: "var(--border-width-md, 1px) solid hsl(var(--color-border-default, #E8EBEC))",
70
+ borderRadius: "var(--border-radius-sm, 4px)"
69
71
  }
70
72
  }, /*#__PURE__*/_react.default.createElement("div", {
71
73
  className: "flex items-center gap-3 color-text-secondary"
@@ -80,7 +82,7 @@ var ColorSection = exports.ColorSection = function ColorSection(_a) {
80
82
  })))), /*#__PURE__*/_react.default.createElement(_ui.PopoverContent, {
81
83
  align: "start",
82
84
  alignOffset: 0,
83
- className: "w-[200px] export-content-popover",
85
+ className: "color-picker-container",
84
86
  elevation: 2,
85
87
  side: "bottom",
86
88
  sideOffset: 4
@@ -89,18 +91,40 @@ var ColorSection = exports.ColorSection = function ColorSection(_a) {
89
91
  }, /*#__PURE__*/_react.default.createElement("div", {
90
92
  className: "flex gap-2 flex-wrap w-full"
91
93
  }, TEXT_COLORS.map(function (color) {
92
- return /*#__PURE__*/_react.default.createElement("button", {
94
+ return /*#__PURE__*/_react.default.createElement("div", {
95
+ key: color.value,
96
+ className: "w-7 h-7 rounded-full transition-all hover:scale-110 hover:shadow-md",
97
+ style: {
98
+ border: "".concat(color.value) === trigerColor ? "2px solid rgb(".concat(color.value, ")") : "none",
99
+ padding: "2px"
100
+ }
101
+ }, /*#__PURE__*/_react.default.createElement("button", {
93
102
  type: "button",
94
103
  key: color.value,
95
104
  onClick: function onClick() {
96
105
  onPick(color.value);
97
106
  setIsOpen(false);
98
107
  },
99
- className: "w-7 h-7 rounded-full transition-all hover:scale-110 hover:shadow-md",
108
+ className: "w-full h-full rounded-full transition-all hover:scale-110 hover:shadow-md",
100
109
  style: {
101
110
  backgroundColor: "rgb(".concat(color.value, ")")
102
111
  },
103
112
  title: color.name
104
- });
105
- })))));
113
+ }));
114
+ }), /*#__PURE__*/_react.default.createElement("div", {
115
+ className: "w-full flex justify-center",
116
+ onClick: function onClick() {
117
+ onPick("228, 232, 237");
118
+ setIsOpen(false);
119
+ }
120
+ }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
121
+ icon: "DropletOff",
122
+ size: "md",
123
+ variant: "ghost",
124
+ className: "color-picker-icon"
125
+ }), /*#__PURE__*/_react.default.createElement(_ui.Button, {
126
+ size: "md",
127
+ variant: "ghost",
128
+ className: "color-picker-reset"
129
+ }, "Reset"))))));
106
130
  };
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _fortuneCore = require("@fileverse-dev/fortune-core");
9
9
  var _react = _interopRequireWildcard(require("react"));
10
+ var _ui = require("@fileverse/ui");
10
11
  var _context = _interopRequireDefault(require("../../context"));
11
12
  var _useOutsideClick = require("../../hooks/useOutsideClick");
12
13
  var _SVGIcon = _interopRequireDefault(require("../SVGIcon"));
@@ -154,6 +155,24 @@ var DropDownList = function DropDownList() {
154
155
  display: isMul && selected.indexOf(v) >= 0 ? "inline" : "none"
155
156
  }
156
157
  }), v);
157
- }));
158
+ }), /*#__PURE__*/_react.default.createElement("div", {
159
+ className: "w-full flex align-center",
160
+ style: {
161
+ height: "28px"
162
+ },
163
+ onClick: function onClick() {
164
+ var _a;
165
+ (_a = window === null || window === void 0 ? void 0 : window.dataVerificationClick) === null || _a === void 0 ? void 0 : _a.call(window);
166
+ }
167
+ }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
168
+ icon: "Pencil",
169
+ size: "sm",
170
+ variant: "ghost",
171
+ className: "color-picker-icon pt-2 color-picker"
172
+ }), /*#__PURE__*/_react.default.createElement(_ui.Button, {
173
+ size: "md",
174
+ variant: "ghost",
175
+ className: "color-picker-reset color-picker"
176
+ }, "Edit")));
158
177
  };
159
178
  var _default = exports.default = DropDownList;
@@ -181,7 +181,7 @@ var DynamicInputList = function DynamicInputList(_a) {
181
181
  }, optionItems.map(function (item, index) {
182
182
  return /*#__PURE__*/_react.default.createElement("li", {
183
183
  key: item.id,
184
- className: (0, _ui.cn)("relative flex optionItems-center gap-3 transition mb-4", draggingIndex === index && "scale-[0.99] opacity-80 shadow-lg rounded-xl"),
184
+ className: (0, _ui.cn)("relative flex optionItems-center gap-2 transition mb-4", draggingIndex === index && "scale-[0.99] opacity-80 shadow-lg rounded-xl"),
185
185
  onDragOver: function onDragOver(e) {
186
186
  return onDragOverRow(index, e);
187
187
  },
@@ -276,7 +276,10 @@ var DynamicInputList = function DynamicInputList(_a) {
276
276
  }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
277
277
  variant: "secondary",
278
278
  onClick: handleAdd,
279
- className: ""
279
+ size: "sm",
280
+ style: {
281
+ fontWeight: 500
282
+ }
280
283
  }, "Add another item")));
281
284
  };
282
285
  var _default = exports.default = DynamicInputList;
@@ -8,7 +8,6 @@ exports.default = void 0;
8
8
  var _fortuneCore = require("@fileverse-dev/fortune-core");
9
9
  var _ui = require("@fileverse/ui");
10
10
  var _react = _interopRequireWildcard(require("react"));
11
- var _ = _interopRequireDefault(require("."));
12
11
  var _context = _interopRequireDefault(require("../../context"));
13
12
  var _useDialog = require("../../hooks/useDialog");
14
13
  var _ConditionRules = _interopRequireDefault(require("../ConditionFormat/ConditionRules"));
@@ -23,8 +22,7 @@ var RangeDialog = function RangeDialog() {
23
22
  var showDialog = (0, _useDialog.useDialog)().showDialog;
24
23
  var _b = (0, _fortuneCore.locale)(context),
25
24
  dataVerification = _b.dataVerification,
26
- button = _b.button,
27
- toolbar = _b.toolbar;
25
+ button = _b.button;
28
26
  var _c = (0, _react.useState)((0, _getDisplayedRangeTxt.getDisplayedRangeTxt)(context)),
29
27
  rangeTxt2 = _c[0],
30
28
  setRangeTxt2 = _c[1];
@@ -46,9 +44,7 @@ var RangeDialog = function RangeDialog() {
46
44
  showDialog(/*#__PURE__*/_react.default.createElement(_ConditionRules.default, {
47
45
  type: rulesType
48
46
  }), undefined, (0, _fortuneCore.locale)(context).conditionformat["conditionformat_".concat(rulesType)]);
49
- return;
50
47
  }
51
- showDialog(/*#__PURE__*/_react.default.createElement(_.default, null), undefined, toolbar.dataVerification);
52
48
  }, [setContext, showDialog, context]);
53
49
  (0, _react.useEffect)(function () {
54
50
  setRangeTxt2((0, _getDisplayedRangeTxt.getDisplayedRangeTxt)(context));
@@ -202,5 +202,25 @@
202
202
  }
203
203
 
204
204
  .color-picker:hover {
205
- background: hsl(var(--color-bg-default-hover, #F2F4F5));
205
+ background: hsl(var(--color-bg-default-hover, #F2F4F5))!important;
206
+ }
207
+
208
+ .color-picker-container {
209
+ border: 1px solid hsl(var(--color-border-default, #E8EBEC)) !important;
210
+ box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.15);
211
+ width: 230px !important;
212
+ }
213
+
214
+ .color-picker-reset {
215
+ min-width: 0px !important;
216
+ padding-left: 0px !important;
217
+ margin-left: 0px !important;
218
+ }
219
+
220
+ .color-picker-reset:hover {
221
+ background-color: white!important;
222
+ }
223
+
224
+ .color-picker-icon:hover {
225
+ background-color: white!important;
206
226
  }
@@ -93,6 +93,14 @@ var DataVerification = function DataVerification() {
93
93
  }));
94
94
  }
95
95
  }, []);
96
+ var dataSelectRange = (0, _react.useCallback)(function (type, value) {
97
+ hideDialog();
98
+ setContext(function (ctx) {
99
+ ctx.rangeDialog.show = true;
100
+ ctx.rangeDialog.type = type;
101
+ ctx.rangeDialog.rangeTxt = value;
102
+ });
103
+ }, [hideDialog, setContext]);
96
104
  var btn = (0, _react.useCallback)(function (type) {
97
105
  if (type === "confirm") {
98
106
  setContext(function (ctx) {
@@ -219,7 +227,7 @@ var DataVerification = function DataVerification() {
219
227
  return /*#__PURE__*/_react.default.createElement("div", {
220
228
  id: "fortune-data-verification"
221
229
  }, /*#__PURE__*/_react.default.createElement("div", {
222
- className: "flex flex-col gap-4",
230
+ className: "flex flex-col gap-4 h-[calc(100vh-270px)] overflow-y-auto no-scrollbar",
223
231
  style: {
224
232
  width: "345px",
225
233
  padding: "16px"
@@ -235,7 +243,19 @@ var DataVerification = function DataVerification() {
235
243
  }),
236
244
  "aria-hidden": "true",
237
245
  readOnly: true,
238
- value: (_a = context.dataVerification.dataRegulation) === null || _a === void 0 ? void 0 : _a.rangeTxt
246
+ value: (_a = context.dataVerification.dataRegulation) === null || _a === void 0 ? void 0 : _a.rangeTxt,
247
+ onChange: function onChange(e) {
248
+ var value = e.target.value;
249
+ setContext(function (ctx) {
250
+ ctx.dataVerification.dataRegulation.rangeTxt = value;
251
+ });
252
+ },
253
+ onClick: function onClick() {
254
+ var _a;
255
+ (_a = document.getElementById("data-verification-button")) === null || _a === void 0 ? void 0 : _a.click();
256
+ hideDialog();
257
+ dataSelectRange("rangeTxt", context.dataVerification.dataRegulation.value1);
258
+ }
239
259
  })), /*#__PURE__*/_react.default.createElement("div", {
240
260
  className: "flex flex-col"
241
261
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -280,7 +300,7 @@ var DataVerification = function DataVerification() {
280
300
  });
281
301
  }
282
302
  }), /*#__PURE__*/_react.default.createElement("span", {
283
- className: "ml-2"
303
+ className: "ml-2 text-body-sm"
284
304
  }, dataVerification.allowMultiSelect)))), ((_e = (_d = context.dataVerification) === null || _d === void 0 ? void 0 : _d.dataRegulation) === null || _e === void 0 ? void 0 : _e.type) === "checkbox" && (/*#__PURE__*/_react.default.createElement("div", {
285
305
  className: "mt-4 space-y-2"
286
306
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -396,7 +416,7 @@ var DataVerification = function DataVerification() {
396
416
  });
397
417
  }
398
418
  }), /*#__PURE__*/_react.default.createElement("span", {
399
- className: "ml-2"
419
+ className: "ml-2 text-body-sm"
400
420
  }, dataVerification[v]));
401
421
  }), ((_o = (_m = context.dataVerification) === null || _m === void 0 ? void 0 : _m.dataRegulation) === null || _o === void 0 ? void 0 : _o.hintShow) && (/*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_ui.TextField, {
402
422
  placeholder: dataVerification.placeholder5,
@@ -408,7 +428,11 @@ var DataVerification = function DataVerification() {
408
428
  });
409
429
  }
410
430
  }))))), /*#__PURE__*/_react.default.createElement(_ui.Divider, {
411
- className: "w-full border-t-[1px] my-4"
431
+ className: "border-t-[1px]",
432
+ style: {
433
+ width: "315px",
434
+ margin: "0 16px 16px 16px"
435
+ }
412
436
  }), /*#__PURE__*/_react.default.createElement("div", {
413
437
  className: "flex gap-2 justify-between items-center",
414
438
  style: {
@@ -432,7 +456,9 @@ var DataVerification = function DataVerification() {
432
456
  minWidth: "80px"
433
457
  },
434
458
  onClick: function onClick() {
459
+ var _a;
435
460
  btn("confirm");
461
+ (_a = document.getElementById("data-verification-button")) === null || _a === void 0 ? void 0 : _a.click();
436
462
  }
437
463
  }, button.confirm))));
438
464
  };
@@ -82,13 +82,13 @@ var ColumnHeader = function ColumnHeader() {
82
82
  }]);
83
83
  }, [context, hoverLocation.col_index, refs.globalCache.freezen]);
84
84
  var onMouseDown = (0, _react.useCallback)(function (e) {
85
- if (e.button === 0 && e.target.tagName === "use") {
85
+ if (e.button === 0 && e.target.tagName === "use" || e.button === 2) {
86
86
  var nativeEvent_1 = e.nativeEvent;
87
87
  setContext(function (draft) {
88
88
  (0, _fortuneCore.handleColumnHeaderMouseDown)(draft, refs.globalCache, nativeEvent_1, containerRef.current, refs.cellInput.current, refs.fxInput.current);
89
89
  });
90
90
  }
91
- if (e.button !== 0) return;
91
+ if (e.button !== 0 || context.isFlvReadOnly) return;
92
92
  var targetEl = e.target;
93
93
  if (targetEl.closest(".fortune-cols-change-size") || targetEl.closest(".fortune-cols-freeze-handle") || targetEl.closest(".header-arrow")) return;
94
94
  var headerEl = containerRef.current;
@@ -163,6 +163,44 @@ var ColumnHeader = function ColumnHeader() {
163
163
  }
164
164
  setSelectedLocation(selects);
165
165
  }, [context.luckysheet_select_save, context.visibledatacolumn]);
166
+ var _g = (0, _react.useState)([]),
167
+ hiddenPointers = _g[0],
168
+ setHiddenPointers = _g[1];
169
+ (0, _react.useEffect)(function () {
170
+ var _a, _b;
171
+ if (sheetIndex == null) return;
172
+ var tempPointers = [];
173
+ var colhidden = (_b = (_a = context.luckysheetfile[sheetIndex]) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.colhidden;
174
+ if (colhidden) {
175
+ Object.keys(colhidden).forEach(function (key) {
176
+ var item = {
177
+ col: key,
178
+ left: context.visibledatacolumn[Number(key) - 1]
179
+ };
180
+ tempPointers.push(item);
181
+ });
182
+ console.log(tempPointers);
183
+ setHiddenPointers(tempPointers);
184
+ } else {
185
+ setHiddenPointers([]);
186
+ }
187
+ }, [context.visibledatacolumn, sheetIndex]);
188
+ var showColumn = function showColumn(e, item) {
189
+ if (context.isFlvReadOnly) return;
190
+ e.stopPropagation();
191
+ setContext(function (ctx) {
192
+ var _a;
193
+ _fortuneCore.api.setSelection(ctx, [{
194
+ row: [0, (_a = context.visibledatarow) === null || _a === void 0 ? void 0 : _a.length],
195
+ column: [Number(item.col) - 1, Number(item.col) + 1]
196
+ }], {
197
+ id: context.currentSheetId
198
+ });
199
+ });
200
+ setContext(function (ctx) {
201
+ (0, _fortuneCore.showSelected)(ctx, "column");
202
+ });
203
+ };
166
204
  (0, _react.useEffect)(function () {
167
205
  containerRef.current.scrollLeft = context.scrollLeft;
168
206
  }, [context.scrollLeft]);
@@ -185,7 +223,51 @@ var ColumnHeader = function ColumnHeader() {
185
223
  };
186
224
  });
187
225
  }
188
- }, /*#__PURE__*/_react.default.createElement("div", {
226
+ }, hiddenPointers.map(function (item) {
227
+ return /*#__PURE__*/_react.default.createElement("div", {
228
+ className: "flex gap-4 cursor-pointer hide-btn align-center",
229
+ style: {
230
+ height: context.columnHeaderHeight - 12,
231
+ left: "".concat(item.left - 12, "px")
232
+ },
233
+ onClick: function onClick(e) {
234
+ return showColumn(e, item);
235
+ }
236
+ }, /*#__PURE__*/_react.default.createElement("div", {
237
+ className: ""
238
+ }, /*#__PURE__*/_react.default.createElement("svg", {
239
+ xmlns: "http://www.w3.org/2000/svg",
240
+ width: "5",
241
+ height: "8",
242
+ viewBox: "0 0 5 8",
243
+ fill: "none"
244
+ }, /*#__PURE__*/_react.default.createElement("path", {
245
+ d: "M0.164574 4.20629L3.54376 7.58548C3.7275 7.76922 4.04167 7.63909 4.04167 7.37924L4.04167 0.620865C4.04167 0.361018 3.7275 0.230885 3.54376 0.414625L0.164575 3.79381C0.0506717 3.90772 0.0506715 4.09239 0.164574 4.20629Z",
246
+ fill: "#363B3F"
247
+ }))));
248
+ }), hiddenPointers.map(function (item) {
249
+ return /*#__PURE__*/_react.default.createElement("div", {
250
+ className: "flex gap-4 cursor-pointer hide-btn align-center",
251
+ style: {
252
+ height: context.columnHeaderHeight - 12,
253
+ left: "".concat(item.left + 6, "px")
254
+ },
255
+ onClick: function onClick(e) {
256
+ return showColumn(e, item);
257
+ }
258
+ }, /*#__PURE__*/_react.default.createElement("div", {
259
+ className: ""
260
+ }, /*#__PURE__*/_react.default.createElement("svg", {
261
+ xmlns: "http://www.w3.org/2000/svg",
262
+ width: "5",
263
+ height: "8",
264
+ viewBox: "0 0 5 8",
265
+ fill: "none"
266
+ }, /*#__PURE__*/_react.default.createElement("path", {
267
+ d: "M4.68811 4.35359L1.81188 7.22982C1.4969 7.5448 0.958328 7.32172 0.958328 6.87627L0.958328 1.12381C0.958328 0.678362 1.4969 0.455279 1.81188 0.770261L4.68811 3.64649C4.88337 3.84175 4.88337 4.15833 4.68811 4.35359Z",
268
+ fill: "#363B3F"
269
+ }))));
270
+ }), /*#__PURE__*/_react.default.createElement("div", {
189
271
  className: "fortune-cols-freeze-handle",
190
272
  onMouseDown: onColFreezeHandleMouseDown,
191
273
  style: {
@@ -208,7 +290,7 @@ var ColumnHeader = function ColumnHeader() {
208
290
  display: "block"
209
291
  }, (0, _fortuneCore.fixColumnStyleOverflowInFreeze)(context, hoverLocation.col_index, hoverLocation.col_index, (_a = refs.globalCache.freezen) === null || _a === void 0 ? void 0 : _a[context.currentSheetId]))
210
292
  }, allowEditRef.current && (/*#__PURE__*/_react.default.createElement("span", {
211
- className: "header-arrow",
293
+ className: "header-arrow mr-2",
212
294
  onClick: function onClick(e) {
213
295
  setContext(function (ctx) {
214
296
  ctx.contextMenu = {
@@ -232,13 +314,12 @@ var ColumnHeader = function ColumnHeader() {
232
314
  c1 = _a.c1,
233
315
  c2 = _a.c2;
234
316
  return /*#__PURE__*/_react.default.createElement("div", {
235
- className: "fortune-col-header-selected",
317
+ className: "fortune-col-header-selected color-bg-tertiary",
236
318
  key: i,
237
319
  style: _lodash.default.assign({
238
320
  left: col_pre,
239
321
  width: col - col_pre - 1,
240
322
  display: "block",
241
- backgroundColor: "#EFC703",
242
323
  mixBlendMode: "multiply"
243
324
  }, (0, _fortuneCore.fixColumnStyleOverflowInFreeze)(context, c1, c2, (_b = refs.globalCache.freezen) === null || _b === void 0 ? void 0 : _b[context.currentSheetId]))
244
325
  });
@@ -75,6 +75,17 @@ var FormulaHint = function FormulaHint(props) {
75
75
  var divOffset = ((_d = hintRef.current) === null || _d === void 0 ? void 0 : _d.offsetHeight) || 0;
76
76
  setTop(hintAbove ? selectionHeight - (divOffset + 30) : selectionHeight + 4);
77
77
  };
78
+ var hexToRgbString = function hexToRgbString(hex) {
79
+ hex = hex.replace("#", "");
80
+ var r = parseInt(hex.substring(0, 2), 16);
81
+ var g = parseInt(hex.substring(2, 4), 16);
82
+ var b = parseInt(hex.substring(4, 6), 16);
83
+ return "".concat(r, ", ").concat(g, ", ").concat(b);
84
+ };
85
+ var bgColor = function bgColor(BRAND_SECONDARY_COLOR) {
86
+ var bg = BRAND_SECONDARY_COLOR ? "rgb(".concat(hexToRgbString(BRAND_SECONDARY_COLOR), ", 0.4)") : "#FFDF0A";
87
+ return bg;
88
+ };
78
89
  (0, _react.useEffect)(function () {
79
90
  calcuatePopUpPlacement();
80
91
  }, []);
@@ -198,7 +209,7 @@ var FormulaHint = function FormulaHint(props) {
198
209
  dir: "auto",
199
210
  key: name,
200
211
  style: {
201
- backgroundColor: commaCount === i ? (fn === null || fn === void 0 ? void 0 : fn.BRAND_SECONDARY_COLOR) || "#FFDF0A" : "transparent"
212
+ backgroundColor: commaCount === i ? bgColor(fn.BRAND_SECONDARY_COLOR) : "transparent"
202
213
  }
203
214
  }, name, i !== fn.p.length - 1 && ", ");
204
215
  })), /*#__PURE__*/_react.default.createElement("code", {
@@ -374,7 +385,7 @@ var FormulaHint = function FormulaHint(props) {
374
385
  }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("code", {
375
386
  className: "font-family-mono mb-1 mt-2 color-text-default font-family-mono",
376
387
  style: {
377
- backgroundColor: commaCount === index ? (fn === null || fn === void 0 ? void 0 : fn.BRAND_SECONDARY_COLOR) || "#FFDF0A" : "transparent"
388
+ backgroundColor: commaCount === index ? bgColor(fn.BRAND_SECONDARY_COLOR) : "transparent"
378
389
  }
379
390
  }, param.name, param.repeat === "y" && (/*#__PURE__*/_react.default.createElement("span", {
380
391
  className: "luckysheet-arguments-help-argument-info example-value",
@@ -6,7 +6,6 @@
6
6
  background: #fff;
7
7
  z-index: 1003;
8
8
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
9
- border: 1px solid lavender;
10
9
  border-radius: 10px;
11
10
  }
12
11
 
@@ -62,7 +62,7 @@ var FormulaSearch = function FormulaSearch(props) {
62
62
  });
63
63
  if (_lodash.default.isEmpty(context.functionCandidates) && _lodash.default.isEmpty(context.defaultCandidates)) return null;
64
64
  return /*#__PURE__*/_react.default.createElement("div", {
65
- className: "flex flex-col luckysheet-formula-search-c-p custom-scroll",
65
+ className: "flex color-border-default border flex-col luckysheet-formula-search-c-p custom-scroll",
66
66
  id: "luckysheet-formula-search-c-p",
67
67
  style: {
68
68
  top: top
@@ -504,7 +504,7 @@ var InputBox = function InputBox() {
504
504
  minHeight: firstSelection.height
505
505
  }, inputBoxStyle) : {}
506
506
  }, /*#__PURE__*/_react.default.createElement(_ContentEditable.default, {
507
- onMouseUp: function onMouseUp(e) {
507
+ onMouseUp: function onMouseUp() {
508
508
  var currentCommaCount = (0, _helper.countCommasBeforeCursor)(inputRef === null || inputRef === void 0 ? void 0 : inputRef.current);
509
509
  setCommaCount(currentCommaCount);
510
510
  },
@@ -76,7 +76,13 @@ var RowHeader = function RowHeader() {
76
76
  getRowIndexClicked = _f.getRowIndexClicked,
77
77
  isRowDoubleClicked = _f.isRowDoubleClicked;
78
78
  var onMouseDown = (0, _react.useCallback)(function (e) {
79
- if (e.button !== 0) return;
79
+ if (e.button === 0 && e.target.tagName === "use" || e.button === 2) {
80
+ var nativeEvent_1 = e.nativeEvent;
81
+ setContext(function (draft) {
82
+ (0, _fortuneCore.handleRowHeaderMouseDown)(draft, refs.globalCache, nativeEvent_1, containerRef.current, refs.cellInput.current, refs.fxInput.current);
83
+ });
84
+ }
85
+ if (e.button !== 0 || context.isFlvReadOnly) return;
80
86
  var targetEl = e.target;
81
87
  if (targetEl.closest(".fortune-rows-change-size") || targetEl.closest(".fortune-rows-freeze-handle")) return;
82
88
  var headerEl = containerRef.current;
@@ -88,9 +94,9 @@ var RowHeader = function RowHeader() {
88
94
  draft.luckysheet_scroll_status = true;
89
95
  });
90
96
  } else {
91
- var nativeEvent_1 = e.nativeEvent;
97
+ var nativeEvent_2 = e.nativeEvent;
92
98
  setContext(function (draft) {
93
- (0, _fortuneCore.handleRowHeaderMouseDown)(draft, refs.globalCache, nativeEvent_1, containerRef.current, refs.cellInput.current, refs.fxInput.current);
99
+ (0, _fortuneCore.handleRowHeaderMouseDown)(draft, refs.globalCache, nativeEvent_2, containerRef.current, refs.cellInput.current, refs.fxInput.current);
94
100
  });
95
101
  return;
96
102
  }
@@ -156,6 +162,43 @@ var RowHeader = function RowHeader() {
156
162
  }
157
163
  setSelectedLocation(selects);
158
164
  }, [context.luckysheet_select_save, context.visibledatarow]);
165
+ var _g = (0, _react.useState)([]),
166
+ hiddenPointers = _g[0],
167
+ setHiddenPointers = _g[1];
168
+ (0, _react.useEffect)(function () {
169
+ var _a, _b;
170
+ if (sheetIndex == null) return;
171
+ var tempPointers = [];
172
+ var rowhidden = (_b = (_a = context.luckysheetfile[sheetIndex]) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.rowhidden;
173
+ if (rowhidden) {
174
+ Object.keys(rowhidden).forEach(function (key) {
175
+ var item = {
176
+ row: key,
177
+ top: context.visibledatarow[Number(key) - 1]
178
+ };
179
+ tempPointers.push(item);
180
+ });
181
+ setHiddenPointers(tempPointers);
182
+ } else {
183
+ setHiddenPointers([]);
184
+ }
185
+ }, [context.visibledatarow, sheetIndex]);
186
+ var showRow = function showRow(e, item) {
187
+ if (context.isFlvReadOnly) return;
188
+ e.stopPropagation();
189
+ setContext(function (ctx) {
190
+ var _a;
191
+ _fortuneCore.api.setSelection(ctx, [{
192
+ row: [Number(item.row) - 1, Number(item.row) + 1],
193
+ column: [0, (_a = context.visibledatacolumn) === null || _a === void 0 ? void 0 : _a.length]
194
+ }], {
195
+ id: context.currentSheetId
196
+ });
197
+ });
198
+ setContext(function (ctx) {
199
+ (0, _fortuneCore.showSelected)(ctx, "row");
200
+ });
201
+ };
159
202
  (0, _react.useEffect)(function () {
160
203
  containerRef.current.scrollTop = context.scrollTop;
161
204
  }, [context.scrollTop]);
@@ -170,7 +213,40 @@ var RowHeader = function RowHeader() {
170
213
  onMouseDown: onMouseDown,
171
214
  onMouseLeave: onMouseLeave,
172
215
  onContextMenu: onContextMenu
173
- }, /*#__PURE__*/_react.default.createElement("div", {
216
+ }, hiddenPointers.map(function (item) {
217
+ return /*#__PURE__*/_react.default.createElement("div", {
218
+ className: "flex flex-col gap-4 cursor-pointer align-center hide-btn-row hide-btn",
219
+ style: {
220
+ top: "".concat(item.top - 16, "px"),
221
+ zIndex: 100
222
+ },
223
+ onClick: function onClick(e) {
224
+ return showRow(e, item);
225
+ }
226
+ }, /*#__PURE__*/_react.default.createElement("div", {
227
+ className: "rotate-row-icon"
228
+ }, /*#__PURE__*/_react.default.createElement("svg", {
229
+ xmlns: "http://www.w3.org/2000/svg",
230
+ width: "5",
231
+ height: "8",
232
+ viewBox: "0 0 5 8",
233
+ fill: "none"
234
+ }, /*#__PURE__*/_react.default.createElement("path", {
235
+ d: "M0.164574 4.20629L3.54376 7.58548C3.7275 7.76922 4.04167 7.63909 4.04167 7.37924L4.04167 0.620865C4.04167 0.361018 3.7275 0.230885 3.54376 0.414625L0.164575 3.79381C0.0506717 3.90772 0.0506715 4.09239 0.164574 4.20629Z",
236
+ fill: "#363B3F"
237
+ }))), /*#__PURE__*/_react.default.createElement("div", {
238
+ className: "rotate-90"
239
+ }, /*#__PURE__*/_react.default.createElement("svg", {
240
+ xmlns: "http://www.w3.org/2000/svg",
241
+ width: "5",
242
+ height: "8",
243
+ viewBox: "0 0 5 8",
244
+ fill: "none"
245
+ }, /*#__PURE__*/_react.default.createElement("path", {
246
+ d: "M0.164574 4.20629L3.54376 7.58548C3.7275 7.76922 4.04167 7.63909 4.04167 7.37924L4.04167 0.620865C4.04167 0.361018 3.7275 0.230885 3.54376 0.414625L0.164575 3.79381C0.0506717 3.90772 0.0506715 4.09239 0.164574 4.20629Z",
247
+ fill: "#363B3F"
248
+ }))));
249
+ }), /*#__PURE__*/_react.default.createElement("div", {
174
250
  className: "fortune-rows-freeze-handle",
175
251
  onMouseDown: onRowFreezeHandleMouseDown,
176
252
  style: {
@@ -198,13 +274,12 @@ var RowHeader = function RowHeader() {
198
274
  r1 = _a.r1,
199
275
  r2 = _a.r2;
200
276
  return /*#__PURE__*/_react.default.createElement("div", {
201
- className: "fortune-row-header-selected",
277
+ className: "fortune-row-header-selected color-bg-tertiary",
202
278
  key: i,
203
279
  style: _lodash.default.assign({
204
280
  top: row_pre,
205
281
  height: row - row_pre - 1,
206
282
  display: "block",
207
- backgroundColor: "#EFC703",
208
283
  mixBlendMode: "multiply"
209
284
  }, (0, _fortuneCore.fixRowStyleOverflowInFreeze)(context, r1, r2, (_b = refs.globalCache.freezen) === null || _b === void 0 ? void 0 : _b[context.currentSheetId]))
210
285
  });
@@ -280,24 +280,26 @@ var useColumnDragAndDrop = exports.useColumnDragAndDrop = function useColumnDrag
280
280
  }
281
281
  });
282
282
  });
283
- var newDataVerification = {};
284
- Object.keys(_sheet.dataVerification).forEach(function (item) {
285
- var _a;
286
- var itemData = (_a = _sheet.dataVerification) === null || _a === void 0 ? void 0 : _a[item];
287
- var colRow = item.split("_");
288
- if (colRow.length !== 2) return;
289
- var presentcol = parseInt(colRow[1], 10);
290
- var updatedCol = presentcol;
291
- if (presentcol === sourceIndex_1) {
292
- updatedCol = targetIndex;
293
- } else if (presentcol > sourceIndex_1 && presentcol < targetIndex) {
294
- updatedCol -= 1;
295
- } else if (presentcol < sourceIndex_1 && presentcol >= targetIndex) {
296
- updatedCol += 1;
297
- }
298
- newDataVerification["".concat(colRow[0], "_").concat(updatedCol)] = itemData;
299
- });
300
- _sheet.dataVerification = newDataVerification;
283
+ if (_sheet.dataVerification) {
284
+ var newDataVerification_1 = {};
285
+ Object.keys(_sheet.dataVerification).forEach(function (item) {
286
+ var _a;
287
+ var itemData = (_a = _sheet.dataVerification) === null || _a === void 0 ? void 0 : _a[item];
288
+ var colRow = item.split("_");
289
+ if (colRow.length !== 2) return;
290
+ var presentcol = parseInt(colRow[1], 10);
291
+ var updatedCol = presentcol;
292
+ if (presentcol === sourceIndex_1) {
293
+ updatedCol = targetIndex;
294
+ } else if (presentcol > sourceIndex_1 && presentcol < targetIndex) {
295
+ updatedCol -= 1;
296
+ } else if (presentcol < sourceIndex_1 && presentcol >= targetIndex) {
297
+ updatedCol += 1;
298
+ }
299
+ newDataVerification_1["".concat(colRow[0], "_").concat(updatedCol)] = itemData;
300
+ });
301
+ _sheet.dataVerification = newDataVerification_1;
302
+ }
301
303
  (_c = _sheet.calcChain) === null || _c === void 0 ? void 0 : _c.forEach(function (item) {
302
304
  if (item.c === sourceIndex_1) {
303
305
  item.c = targetIndex;