@fileverse-dev/fortune-react 1.0.2-mod-28-patch-3 → 1.0.2-mod-35

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/dist/index.js CHANGED
@@ -1916,8 +1916,7 @@ var LinkEditCard = function LinkEditCard(_ref) {
1916
1916
  originType = _ref.originType,
1917
1917
  originAddress = _ref.originAddress,
1918
1918
  isEditing = _ref.isEditing,
1919
- position = _ref.position,
1920
- selectingCellRange = _ref.selectingCellRange;
1919
+ position = _ref.position;
1921
1920
  var _useContext = React.useContext(WorkbookContext),
1922
1921
  context = _useContext.context,
1923
1922
  setContext = _useContext.setContext,
@@ -1936,29 +1935,24 @@ var LinkEditCard = function LinkEditCard(_ref) {
1936
1935
  setLinkType = _useState6[1];
1937
1936
  var _locale = fortuneCore.locale(context),
1938
1937
  insertLink = _locale.insertLink,
1939
- linkTypeList = _locale.linkTypeList,
1940
- button = _locale.button;
1941
- var lastCell = React.useRef(fortuneCore.normalizeSelection(context, [{
1942
- row: [r, r],
1943
- column: [c, c]
1944
- }]));
1945
- var skipCellRangeSet = React.useRef(true);
1938
+ linkTypeList = _locale.linkTypeList;
1946
1939
  var isLinkAddressValid = fortuneCore.isLinkValid(context, linkType, linkAddress);
1947
- var tooltip = /*#__PURE__*/React__default['default'].createElement("div", {
1948
- className: "validation-input-tip"
1949
- }, isLinkAddressValid.tooltip);
1940
+ var isButtonDisabled = React.useMemo(function () {
1941
+ if (!linkText.trim()) return true;
1942
+ if (linkType === "webpage") {
1943
+ return !linkAddress.trim() || !isLinkAddressValid.isValid;
1944
+ }
1945
+ if (linkType === "sheet") {
1946
+ return !linkAddress.trim();
1947
+ }
1948
+ return false;
1949
+ }, [linkText, linkAddress, linkType, isLinkAddressValid.isValid]);
1950
1950
  var hideLinkCard = React.useCallback(function () {
1951
1951
  ___default['default'].set(refs.globalCache, "linkCard.mouseEnter", false);
1952
1952
  setContext(function (draftCtx) {
1953
1953
  draftCtx.linkCard = undefined;
1954
1954
  });
1955
1955
  }, [refs.globalCache, setContext]);
1956
- var setRangeModalVisible = React.useCallback(function (visible) {
1957
- return setContext(function (draftCtx) {
1958
- draftCtx.luckysheet_select_save = lastCell.current;
1959
- if (draftCtx.linkCard != null) draftCtx.linkCard.selectingCellRange = visible;
1960
- });
1961
- }, [setContext]);
1962
1956
  var containerEvent = React.useMemo(function () {
1963
1957
  return {
1964
1958
  onMouseEnter: function onMouseEnter() {
@@ -1984,19 +1978,6 @@ var LinkEditCard = function LinkEditCard(_ref) {
1984
1978
  }
1985
1979
  };
1986
1980
  }, [refs.globalCache]);
1987
- var renderBottomButton = React.useCallback(function (onOk, onCancel) {
1988
- return /*#__PURE__*/React__default['default'].createElement("div", {
1989
- className: "button-group"
1990
- }, /*#__PURE__*/React__default['default'].createElement("div", {
1991
- className: "button-basic button-default",
1992
- onClick: onCancel,
1993
- tabIndex: 0
1994
- }, button.cancel), /*#__PURE__*/React__default['default'].createElement("div", {
1995
- className: "button-basic button-primary",
1996
- onClick: onOk,
1997
- tabIndex: 0
1998
- }, button.confirm));
1999
- }, [button]);
2000
1981
  var renderToolbarButton = React.useCallback(function (iconId, onClick) {
2001
1982
  return /*#__PURE__*/React__default['default'].createElement("div", {
2002
1983
  className: "fortune-toolbar-button",
@@ -2015,23 +1996,6 @@ var LinkEditCard = function LinkEditCard(_ref) {
2015
1996
  setLinkText(originText);
2016
1997
  setLinkType(originType);
2017
1998
  }, [rc, originAddress, originText, originType]);
2018
- React.useLayoutEffect(function () {
2019
- if (selectingCellRange) {
2020
- skipCellRangeSet.current = true;
2021
- }
2022
- }, [selectingCellRange]);
2023
- React.useLayoutEffect(function () {
2024
- if (skipCellRangeSet.current) {
2025
- skipCellRangeSet.current = false;
2026
- return;
2027
- }
2028
- if (selectingCellRange) {
2029
- var len = ___default['default'].size(context.luckysheet_select_save);
2030
- if (len > 0) {
2031
- setLinkAddress(fortuneCore.getRangetxt(context, context.currentSheetId, context.luckysheet_select_save[len - 1], ""));
2032
- }
2033
- }
2034
- }, [context, selectingCellRange]);
2035
1999
  if (!isEditing) {
2036
2000
  return /*#__PURE__*/React__default['default'].createElement("div", _objectSpread2(_objectSpread2({}, containerEvent), {}, {
2037
2001
  onKeyDown: function onKeyDown(e) {
@@ -2072,69 +2036,16 @@ var LinkEditCard = function LinkEditCard(_ref) {
2072
2036
  });
2073
2037
  }));
2074
2038
  }
2075
- return selectingCellRange ? (/*#__PURE__*/React__default['default'].createElement("div", _objectSpread2(_objectSpread2({
2076
- className: "fortune-link-modify-modal range-selection-modal",
2077
- style: {
2078
- left: position.cellLeft,
2079
- top: position.cellBottom + 5
2080
- }
2081
- }, ___default['default'].omit(containerEvent, ["onMouseDown", "onMouseMove", "onMouseUp"])), {}, {
2082
- onMouseDown: function onMouseDown(e) {
2083
- var nativeEvent = e.nativeEvent;
2084
- fortuneCore.onRangeSelectionModalMoveStart(context, refs.globalCache, nativeEvent);
2085
- e.stopPropagation();
2086
- }
2087
- }), /*#__PURE__*/React__default['default'].createElement("div", {
2088
- className: "modal-icon-close",
2089
- onClick: function onClick() {
2090
- return setRangeModalVisible(false);
2091
- },
2092
- tabIndex: 0
2093
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
2094
- name: "close"
2095
- })), /*#__PURE__*/React__default['default'].createElement("div", {
2096
- className: "modal-title"
2097
- }, insertLink.selectCellRange), /*#__PURE__*/React__default['default'].createElement("input", _objectSpread2(_objectSpread2({}, containerEvent), {}, {
2098
- className: "range-selection-input ".concat(!linkAddress || isLinkAddressValid.isValid ? "" : "error-input"),
2099
- placeholder: insertLink.cellRangePlaceholder,
2100
- onChange: function onChange(e) {
2101
- return setLinkAddress(e.target.value);
2102
- },
2103
- value: linkAddress
2104
- })), tooltip, /*#__PURE__*/React__default['default'].createElement("div", {
2105
- className: "modal-footer"
2106
- }, renderBottomButton(function () {
2107
- if (isLinkAddressValid.isValid) setRangeModalVisible(false);
2108
- }, function () {
2109
- setLinkAddress(originAddress);
2110
- setRangeModalVisible(false);
2111
- })))) : (/*#__PURE__*/React__default['default'].createElement("div", _objectSpread2({
2112
- className: "fortune-link-modify-modal",
2039
+ return /*#__PURE__*/React__default['default'].createElement("div", _objectSpread2({
2040
+ className: "fortune-link-card",
2113
2041
  style: {
2114
2042
  left: position.cellLeft + 20,
2115
2043
  top: position.cellBottom
2116
2044
  }
2117
- }, containerEvent), /*#__PURE__*/React__default['default'].createElement("div", {
2118
- className: "fortune-link-modify-line"
2119
- }, /*#__PURE__*/React__default['default'].createElement("div", {
2120
- className: "fortune-link-modify-title"
2121
- }, insertLink.linkText), /*#__PURE__*/React__default['default'].createElement("input", {
2122
- className: "fortune-link-modify-input",
2123
- spellCheck: "false",
2124
- autoFocus: true,
2125
- value: linkText,
2126
- onChange: function onChange(e) {
2127
- return setLinkText(e.target.value);
2128
- }
2129
- })), /*#__PURE__*/React__default['default'].createElement("div", {
2130
- className: "fortune-link-modify-line"
2131
- }, /*#__PURE__*/React__default['default'].createElement("div", {
2132
- className: "fortune-link-modify-title"
2133
- }, insertLink.linkType), /*#__PURE__*/React__default['default'].createElement("select", {
2134
- className: "fortune-link-modify-select",
2045
+ }, containerEvent), /*#__PURE__*/React__default['default'].createElement(ui.Select, {
2135
2046
  value: linkType,
2136
- onChange: function onChange(e) {
2137
- if (e.target.value === "sheet") {
2047
+ onValueChange: function onValueChange(value) {
2048
+ if (value === "sheet") {
2138
2049
  if (!linkText) {
2139
2050
  setLinkText(context.luckysheetfile[0].name);
2140
2051
  }
@@ -2142,65 +2053,79 @@ var LinkEditCard = function LinkEditCard(_ref) {
2142
2053
  } else {
2143
2054
  setLinkAddress("");
2144
2055
  }
2145
- if (e.target.value === "cellrange") setRangeModalVisible(true);
2146
- setLinkType(e.target.value);
2147
- }
2148
- }, linkTypeList.map(function (type) {
2149
- return /*#__PURE__*/React__default['default'].createElement("option", {
2056
+ setLinkType(value);
2057
+ }
2058
+ }, /*#__PURE__*/React__default['default'].createElement(ui.SelectTrigger, {
2059
+ className: "fortune-link-type-select"
2060
+ }, /*#__PURE__*/React__default['default'].createElement(ui.SelectValue, null)), /*#__PURE__*/React__default['default'].createElement(ui.SelectContent, {
2061
+ className: "fortune-link-type-dropdown"
2062
+ }, linkTypeList.filter(function (type) {
2063
+ return type.value !== "cellrange";
2064
+ }).map(function (type) {
2065
+ return /*#__PURE__*/React__default['default'].createElement(ui.SelectItem, {
2150
2066
  key: type.value,
2151
2067
  value: type.value
2152
2068
  }, type.text);
2153
2069
  }))), /*#__PURE__*/React__default['default'].createElement("div", {
2154
- className: "fortune-link-modify-line"
2155
- }, linkType === "webpage" && (/*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
2156
- className: "fortune-link-modify-title"
2157
- }, insertLink.linkAddress), /*#__PURE__*/React__default['default'].createElement("input", {
2158
- className: "fortune-link-modify-input ".concat(!linkAddress || isLinkAddressValid.isValid ? "" : "error-input"),
2159
- spellCheck: "false",
2160
- value: linkAddress,
2070
+ className: "fortune-input-with-icon"
2071
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
2072
+ className: "input-icon"
2073
+ }, /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
2074
+ name: "ALargeSmall"
2075
+ })), /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
2076
+ placeholder: "Display text",
2077
+ value: linkText,
2161
2078
  onChange: function onChange(e) {
2162
- return setLinkAddress(e.target.value);
2163
- }
2164
- }), tooltip)), linkType === "cellrange" && (/*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
2165
- className: "fortune-link-modify-title"
2166
- }, insertLink.linkCell), /*#__PURE__*/React__default['default'].createElement("input", {
2167
- className: "fortune-link-modify-input ".concat(!linkAddress || isLinkAddressValid.isValid ? "" : "error-input"),
2168
- spellCheck: "false",
2079
+ return setLinkText(e.target.value);
2080
+ },
2081
+ className: "fortune-link-input"
2082
+ })), linkType === "webpage" && (/*#__PURE__*/React__default['default'].createElement("div", {
2083
+ className: "fortune-input-with-icon"
2084
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
2085
+ className: "input-icon"
2086
+ }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
2087
+ name: "link"
2088
+ })), /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
2089
+ placeholder: "Paste URL",
2169
2090
  value: linkAddress,
2170
2091
  onChange: function onChange(e) {
2171
2092
  return setLinkAddress(e.target.value);
2172
- }
2173
- }), /*#__PURE__*/React__default['default'].createElement("div", {
2174
- className: "fortune-link-modify-cell-selector",
2175
- onClick: function onClick() {
2176
- return setRangeModalVisible(true);
2177
2093
  },
2178
- tabIndex: 0
2094
+ className: "fortune-link-input ".concat(!linkAddress || isLinkAddressValid.isValid ? "" : "error-input")
2095
+ }))), linkType === "sheet" && (/*#__PURE__*/React__default['default'].createElement("div", {
2096
+ className: "fortune-input-with-icon"
2097
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
2098
+ className: "input-icon"
2179
2099
  }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
2180
- name: "border-all"
2181
- })), tooltip)), linkType === "sheet" && (/*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
2182
- className: "fortune-link-modify-title"
2183
- }, insertLink.linkSheet), /*#__PURE__*/React__default['default'].createElement("select", {
2184
- className: "fortune-link-modify-select",
2185
- onChange: function onChange(e) {
2186
- if (!linkText) setLinkText(e.target.value);
2187
- setLinkAddress(e.target.value);
2100
+ name: "link"
2101
+ })), /*#__PURE__*/React__default['default'].createElement(ui.Select, {
2102
+ onValueChange: function onValueChange(value) {
2103
+ if (!linkText) setLinkText(value);
2104
+ setLinkAddress(value);
2188
2105
  },
2189
2106
  value: linkAddress
2107
+ }, /*#__PURE__*/React__default['default'].createElement(ui.SelectTrigger, {
2108
+ className: "fortune-sheet-select"
2109
+ }, /*#__PURE__*/React__default['default'].createElement(ui.SelectValue, {
2110
+ placeholder: "[Sheet name]"
2111
+ })), /*#__PURE__*/React__default['default'].createElement(ui.SelectContent, {
2112
+ className: "fortune-sheet-dropdown"
2190
2113
  }, context.luckysheetfile.map(function (sheet) {
2191
- return /*#__PURE__*/React__default['default'].createElement("option", {
2114
+ return /*#__PURE__*/React__default['default'].createElement(ui.SelectItem, {
2192
2115
  key: sheet.id,
2193
2116
  value: sheet.name
2194
2117
  }, sheet.name);
2195
- })), tooltip))), /*#__PURE__*/React__default['default'].createElement("div", {
2196
- className: "modal-footer"
2197
- }, renderBottomButton(function () {
2198
- if (!isLinkAddressValid.isValid) return;
2199
- ___default['default'].set(refs.globalCache, "linkCard.mouseEnter", false);
2200
- setContext(function (draftCtx) {
2201
- return fortuneCore.saveHyperlink(draftCtx, r, c, linkText, linkType, linkAddress);
2202
- });
2203
- }, hideLinkCard))));
2118
+ }))))), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
2119
+ className: "fortune-insert-button",
2120
+ disabled: isButtonDisabled,
2121
+ onClick: function onClick() {
2122
+ if (isButtonDisabled) return;
2123
+ ___default['default'].set(refs.globalCache, "linkCard.mouseEnter", false);
2124
+ setContext(function (draftCtx) {
2125
+ return fortuneCore.saveHyperlink(draftCtx, r, c, linkText, linkType, linkAddress);
2126
+ });
2127
+ }
2128
+ }, "Insert link"));
2204
2129
  };
2205
2130
 
2206
2131
  var FilterOptions = function FilterOptions(_ref) {
@@ -2302,15 +2227,11 @@ var FilterOptions = function FilterOptions(_ref) {
2302
2227
  width: undefined
2303
2228
  }),
2304
2229
  className: "luckysheet-filter-options ".concat(filterParam == null ? "" : "luckysheet-filter-options-active")
2305
- }, filterParam == null ? (/*#__PURE__*/React__default['default'].createElement("div", {
2306
- className: "caret down"
2307
- })) : (/*#__PURE__*/React__default['default'].createElement(SVGIcon, {
2308
- name: "filter-fill-white",
2309
- style: {
2310
- width: 15,
2311
- height: 15
2312
- }
2313
- })));
2230
+ }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
2231
+ name: "filter",
2232
+ width: 15,
2233
+ height: 15
2234
+ }));
2314
2235
  })));
2315
2236
  };
2316
2237
 
@@ -3408,6 +3329,7 @@ var ConditionRules = function ConditionRules(_ref) {
3408
3329
  }, /*#__PURE__*/React__default['default'].createElement("span", {
3409
3330
  id: "checkTextColor"
3410
3331
  }, /*#__PURE__*/React__default['default'].createElement(ui.Checkbox, {
3332
+ className: "border-2",
3411
3333
  checked: context.conditionRules.textColor.check,
3412
3334
  onCheckedChange: function onCheckedChange(e) {
3413
3335
  var checked = e.target.checked;
@@ -3435,6 +3357,7 @@ var ConditionRules = function ConditionRules(_ref) {
3435
3357
  }, /*#__PURE__*/React__default['default'].createElement("span", {
3436
3358
  id: "checkCellColor"
3437
3359
  }, /*#__PURE__*/React__default['default'].createElement(ui.Checkbox, {
3360
+ className: "border-2",
3438
3361
  checked: context.conditionRules.cellColor.check,
3439
3362
  onCheckedChange: function onCheckedChange(e) {
3440
3363
  var checked = e.target.checked;
@@ -4474,6 +4397,8 @@ var Combo = function Combo(_ref) {
4474
4397
  _onClick = _ref.onClick,
4475
4398
  text = _ref.text,
4476
4399
  iconId = _ref.iconId,
4400
+ _ref$showArrow = _ref.showArrow,
4401
+ showArrow = _ref$showArrow === void 0 ? true : _ref$showArrow,
4477
4402
  children = _ref.children;
4478
4403
  var style = {
4479
4404
  userSelect: "none"
@@ -4490,12 +4415,9 @@ var Combo = function Combo(_ref) {
4490
4415
  setPopupPosition = _useState4[1];
4491
4416
  var popupRef = React.useRef(null);
4492
4417
  var buttonRef = React.useRef(null);
4493
- var openState = React.useRef(false);
4494
- var triggerRef = React.useRef(null);
4495
4418
  useOutsideClick(popupRef, function () {
4496
4419
  setOpen(false);
4497
- openState.current = false;
4498
- }, [], triggerRef);
4420
+ });
4499
4421
  React.useLayoutEffect(function () {
4500
4422
  if (!popupRef.current) {
4501
4423
  return;
@@ -4521,27 +4443,43 @@ var Combo = function Combo(_ref) {
4521
4443
  ref: buttonRef,
4522
4444
  className: "fortune-toolbar-combo"
4523
4445
  }, /*#__PURE__*/React__default['default'].createElement("div", {
4524
- ref: triggerRef,
4525
4446
  className: "fortune-toolbar-combo-button",
4526
4447
  onClick: function onClick(e) {
4527
- openState.current = !openState.current;
4528
- setOpen(openState.current);
4529
- if (_onClick) _onClick(e);else setOpen(openState.current);
4448
+ if (_onClick) {
4449
+ _onClick(e);
4450
+ if (!showArrow) setOpen(!open);
4451
+ } else {
4452
+ setOpen(!open);
4453
+ }
4530
4454
  },
4531
4455
  tabIndex: 0,
4532
4456
  "data-tips": tooltip,
4533
4457
  role: "button",
4534
- "aria-label": tooltip,
4458
+ "aria-label": "".concat(tooltip, ": ").concat(text !== undefined ? text : ""),
4535
4459
  style: style
4536
4460
  }, iconId ? (/*#__PURE__*/React__default['default'].createElement(SVGIcon, {
4537
4461
  name: iconId
4538
4462
  })) : (/*#__PURE__*/React__default['default'].createElement("span", {
4539
4463
  className: "fortune-toolbar-combo-text"
4540
- }, text))), tooltip && /*#__PURE__*/React__default['default'].createElement("div", {
4464
+ }, text !== undefined ? text : ""))), showArrow && (/*#__PURE__*/React__default['default'].createElement("div", {
4465
+ className: "fortune-toolbar-combo-arrow",
4466
+ onClick: function onClick() {
4467
+ return setOpen(!open);
4468
+ },
4469
+ tabIndex: 0,
4470
+ "data-tips": tooltip,
4471
+ role: "button",
4472
+ "aria-label": tooltip,
4473
+ style: style
4474
+ }, /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
4475
+ name: "ChevronDown",
4476
+ width: 14,
4477
+ height: 14
4478
+ }))), tooltip && /*#__PURE__*/React__default['default'].createElement("div", {
4541
4479
  className: "fortune-tooltip"
4542
4480
  }, tooltip)), open && (/*#__PURE__*/React__default['default'].createElement("div", {
4543
4481
  ref: popupRef,
4544
- className: "fortune-toolbar-combo-popup color-text-default",
4482
+ className: "fortune-toolbar-combo-popup",
4545
4483
  style: popupPosition
4546
4484
  }, children === null || children === void 0 ? void 0 : children(setOpen))));
4547
4485
  };
@@ -5304,215 +5242,6 @@ var CustomColor = function CustomColor(_ref) {
5304
5242
  }));
5305
5243
  };
5306
5244
 
5307
- var size = [{
5308
- Text: "1",
5309
- value: "Thin",
5310
- strokeDasharray: "1,0",
5311
- strokeWidth: "1"
5312
- }, {
5313
- Text: "2",
5314
- value: "Hair",
5315
- strokeDasharray: "1,5",
5316
- strokeWidth: "1"
5317
- }, {
5318
- Text: "3",
5319
- value: "Dotted",
5320
- strokeDasharray: "2,5",
5321
- strokeWidth: "2"
5322
- }, {
5323
- Text: "4",
5324
- value: "Dashed",
5325
- strokeDasharray: "5,5",
5326
- strokeWidth: "2"
5327
- }, {
5328
- Text: "5",
5329
- value: "DashDot",
5330
- strokeDasharray: "20,5,5,10,5,5",
5331
- strokeWidth: "2"
5332
- }, {
5333
- Text: "6",
5334
- value: "DashDotDot",
5335
- strokeDasharray: "20,5,5,5,5,10,5,5,5,5",
5336
- strokeWidth: "2"
5337
- }, {
5338
- Text: "8",
5339
- value: "Medium",
5340
- strokeDasharray: "2,0",
5341
- strokeWidth: "2"
5342
- }, {
5343
- Text: "9",
5344
- value: "MediumDashed",
5345
- strokeDasharray: "3,5",
5346
- strokeWidth: "3"
5347
- }, {
5348
- Text: "10",
5349
- value: "MediumDashDot",
5350
- strokeDasharray: "20,5,5,10,5,5",
5351
- strokeWidth: "3"
5352
- }, {
5353
- Text: "11",
5354
- value: "MediumDashDotDot",
5355
- strokeDasharray: "5,5,5,5,20,5,5,5,5,10",
5356
- strokeWidth: "3"
5357
- }, {
5358
- Text: "13",
5359
- value: "Thick",
5360
- strokeDasharray: "2,0",
5361
- strokeWidth: "3"
5362
- }];
5363
- var CustomBorder = function CustomBorder(_ref) {
5364
- var onPick = _ref.onPick;
5365
- var _useContext = React.useContext(WorkbookContext),
5366
- context = _useContext.context,
5367
- refs = _useContext.refs;
5368
- var _locale = fortuneCore.locale(context),
5369
- border = _locale.border;
5370
- var _useState = React.useState("#000000"),
5371
- _useState2 = _slicedToArray(_useState, 2),
5372
- changeColor = _useState2[0],
5373
- setchangeColor = _useState2[1];
5374
- var _useState3 = React.useState("1"),
5375
- _useState4 = _slicedToArray(_useState3, 2),
5376
- changeStyle = _useState4[0],
5377
- setchangeStyle = _useState4[1];
5378
- var colorRef = React.useRef(null);
5379
- var styleRef = React.useRef(null);
5380
- var colorPreviewRef = React.useRef(null);
5381
- var _useState5 = React.useState(""),
5382
- _useState6 = _slicedToArray(_useState5, 2),
5383
- previewWith = _useState6[0],
5384
- setPreviewWith = _useState6[1];
5385
- var _useState7 = React.useState(""),
5386
- _useState8 = _slicedToArray(_useState7, 2),
5387
- previewdasharry = _useState8[0],
5388
- setPreviewdasharray = _useState8[1];
5389
- var showBorderSubMenu = React.useCallback(function (e) {
5390
- var target = e.target;
5391
- var menuItemRect = target.getBoundingClientRect();
5392
- var subMenuItem = target.querySelector(".fortune-border-select-menu");
5393
- if (___default['default'].isNil(subMenuItem)) return;
5394
- subMenuItem.style.display = "block";
5395
- var workbookContainerRect = refs.workbookContainer.current.getBoundingClientRect();
5396
- if (workbookContainerRect.width - menuItemRect.right > parseFloat(subMenuItem.style.width.replace("px", ""))) {
5397
- subMenuItem.style.left = "".concat(menuItemRect === null || menuItemRect === void 0 ? void 0 : menuItemRect.width, "px");
5398
- } else {
5399
- subMenuItem.style.left = "-".concat(subMenuItem.style.width);
5400
- }
5401
- }, [refs.workbookContainer]);
5402
- var hideBorderSubMenu = React.useCallback(function () {
5403
- styleRef.current.style.display = "none";
5404
- colorRef.current.style.display = "none";
5405
- }, []);
5406
- var changePreviewStyle = React.useCallback(function (width, dasharray) {
5407
- setPreviewWith(width);
5408
- setPreviewdasharray(dasharray);
5409
- }, []);
5410
- return /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("div", {
5411
- className: "fortune-border-select-option",
5412
- key: "borderColor",
5413
- onMouseEnter: function onMouseEnter(e) {
5414
- showBorderSubMenu(e);
5415
- },
5416
- onMouseLeave: function onMouseLeave() {
5417
- hideBorderSubMenu();
5418
- }
5419
- }, /*#__PURE__*/React__default['default'].createElement("div", {
5420
- className: "fortune-toolbar-menu-line"
5421
- }, border.borderColor, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
5422
- name: "rightArrow",
5423
- style: {
5424
- width: "14px"
5425
- }
5426
- })), /*#__PURE__*/React__default['default'].createElement("div", {
5427
- ref: colorPreviewRef,
5428
- className: "fortune-border-color-preview",
5429
- style: {
5430
- backgroundColor: changeColor
5431
- }
5432
- }), /*#__PURE__*/React__default['default'].createElement("div", {
5433
- ref: colorRef,
5434
- className: "fortune-border-select-menu",
5435
- style: {
5436
- display: "none",
5437
- width: "166px"
5438
- }
5439
- }, /*#__PURE__*/React__default['default'].createElement(CustomColor, {
5440
- onCustomPick: function onCustomPick(color) {
5441
- onPick(color, changeStyle);
5442
- colorPreviewRef.current.style.backgroundColor = changeColor;
5443
- setchangeColor(color);
5444
- },
5445
- onColorPick: function onColorPick(color) {
5446
- onPick(color, changeStyle);
5447
- setchangeColor(color);
5448
- }
5449
- }))), /*#__PURE__*/React__default['default'].createElement("div", {
5450
- className: "fortune-border-select-option",
5451
- key: "borderStyle",
5452
- onMouseEnter: function onMouseEnter(e) {
5453
- showBorderSubMenu(e);
5454
- },
5455
- onMouseLeave: function onMouseLeave() {
5456
- hideBorderSubMenu();
5457
- }
5458
- }, /*#__PURE__*/React__default['default'].createElement("div", {
5459
- className: "fortune-toolbar-menu-line"
5460
- }, border.borderStyle, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
5461
- name: "rightArrow",
5462
- style: {
5463
- width: "14px"
5464
- }
5465
- })), /*#__PURE__*/React__default['default'].createElement("div", {
5466
- className: "fortune-border-style-preview"
5467
- }, /*#__PURE__*/React__default['default'].createElement("svg", {
5468
- width: "90"
5469
- }, /*#__PURE__*/React__default['default'].createElement("g", {
5470
- fill: "none",
5471
- stroke: "black",
5472
- strokeWidth: previewWith
5473
- }, /*#__PURE__*/React__default['default'].createElement("path", {
5474
- strokeDasharray: previewdasharry,
5475
- d: "M0 0 l90 0"
5476
- })))), /*#__PURE__*/React__default['default'].createElement("div", {
5477
- ref: styleRef,
5478
- className: "fortune-border-select-menu fortune-toolbar-select",
5479
- style: {
5480
- display: "none",
5481
- width: "110px"
5482
- }
5483
- }, /*#__PURE__*/React__default['default'].createElement("div", {
5484
- className: "fortune-border-style-picker-menu fortune-border-style-reset",
5485
- onClick: function onClick() {
5486
- onPick(changeColor, "1");
5487
- changePreviewStyle("1", "1,0");
5488
- },
5489
- tabIndex: 0
5490
- }, border.borderDefault), /*#__PURE__*/React__default['default'].createElement("div", {
5491
- className: "fortune-boder-style-picker"
5492
- }, size.map(function (items, i) {
5493
- return /*#__PURE__*/React__default['default'].createElement("div", {
5494
- key: i,
5495
- className: "fortune-border-style-picker-menu",
5496
- onClick: function onClick() {
5497
- onPick(changeColor, items.Text);
5498
- setchangeStyle(items.Text);
5499
- changePreviewStyle(items.strokeWidth, items.strokeDasharray);
5500
- },
5501
- tabIndex: 0
5502
- }, /*#__PURE__*/React__default['default'].createElement("svg", {
5503
- height: "10",
5504
- width: "90"
5505
- }, /*#__PURE__*/React__default['default'].createElement("g", {
5506
- fill: "none",
5507
- stroke: "black",
5508
- strokeWidth: items.strokeWidth
5509
- }, /*#__PURE__*/React__default['default'].createElement("path", {
5510
- strokeDasharray: items.strokeDasharray,
5511
- d: "M0 5 l85 0"
5512
- }))));
5513
- })))));
5514
- };
5515
-
5516
5245
  var FormatSearch = function FormatSearch(_ref) {
5517
5246
  var type = _ref.type,
5518
5247
  _onCancel = _ref.onCancel;
@@ -5689,13 +5418,11 @@ var Toolbar = function Toolbar(_ref) {
5689
5418
  var currency = settings.currency;
5690
5419
  var defaultFormat = defaultFmt(currency);
5691
5420
  var _useState5 = React.useState("#000000"),
5692
- _useState6 = _slicedToArray(_useState5, 2),
5693
- customColor = _useState6[0],
5694
- setcustomColor = _useState6[1];
5421
+ _useState6 = _slicedToArray(_useState5, 1),
5422
+ customColor = _useState6[0];
5695
5423
  var _useState7 = React.useState("1"),
5696
- _useState8 = _slicedToArray(_useState7, 2),
5697
- customStyle = _useState8[0],
5698
- setcustomStyle = _useState8[1];
5424
+ _useState8 = _slicedToArray(_useState7, 1),
5425
+ customStyle = _useState8[0];
5699
5426
  var showSubMenu = React.useCallback(function (e, className) {
5700
5427
  var target = e.target;
5701
5428
  var menuItem = target.className === "fortune-toolbar-menu-line" ? target.parentElement : target;
@@ -5795,6 +5522,7 @@ var Toolbar = function Toolbar(_ref) {
5795
5522
  }), /*#__PURE__*/React__default['default'].createElement(Combo, {
5796
5523
  iconId: name,
5797
5524
  tooltip: tooltip,
5525
+ showArrow: false,
5798
5526
  onClick: function onClick() {
5799
5527
  var color = name === "font-color" ? refs.globalCache.recentTextColor : refs.globalCache.recentBackgroundColor;
5800
5528
  if (color) pick(color);
@@ -5827,7 +5555,8 @@ var Toolbar = function Toolbar(_ref) {
5827
5555
  return /*#__PURE__*/React__default['default'].createElement(Combo, {
5828
5556
  text: currentFmt,
5829
5557
  key: name,
5830
- tooltip: tooltip
5558
+ tooltip: tooltip,
5559
+ showArrow: false
5831
5560
  }, function (setOpen) {
5832
5561
  return /*#__PURE__*/React__default['default'].createElement(Select, null, defaultFormat.map(function (_ref2, ii) {
5833
5562
  var text = _ref2.text,
@@ -5911,7 +5640,8 @@ var Toolbar = function Toolbar(_ref) {
5911
5640
  return /*#__PURE__*/React__default['default'].createElement(Combo, {
5912
5641
  text: current,
5913
5642
  key: name,
5914
- tooltip: tooltip
5643
+ tooltip: tooltip,
5644
+ showArrow: false
5915
5645
  }, function (setOpen) {
5916
5646
  return /*#__PURE__*/React__default['default'].createElement(Select, null, fontarray.map(function (o) {
5917
5647
  return /*#__PURE__*/React__default['default'].createElement(Option, {
@@ -5933,7 +5663,8 @@ var Toolbar = function Toolbar(_ref) {
5933
5663
  return /*#__PURE__*/React__default['default'].createElement(Combo, {
5934
5664
  text: cell ? fortuneCore.normalizedCellAttr(cell, "fs", context.defaultFontSize) : context.defaultFontSize.toString(),
5935
5665
  key: name,
5936
- tooltip: tooltip
5666
+ tooltip: tooltip,
5667
+ showArrow: false
5937
5668
  }, function (setOpen) {
5938
5669
  return /*#__PURE__*/React__default['default'].createElement(Select, null, [9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72].map(function (num) {
5939
5670
  return /*#__PURE__*/React__default['default'].createElement(Option, {
@@ -5968,7 +5699,8 @@ var Toolbar = function Toolbar(_ref) {
5968
5699
  return "".concat(item.value) === "".concat(cell === null || cell === void 0 ? void 0 : cell.ht);
5969
5700
  })) === null || _$find === void 0 ? void 0 : _$find.title) || "align-left",
5970
5701
  key: name,
5971
- tooltip: toolbar.horizontalAlign
5702
+ tooltip: toolbar.horizontalAlign,
5703
+ showArrow: false
5972
5704
  }, function (setOpen) {
5973
5705
  return /*#__PURE__*/React__default['default'].createElement(Select, null, items.map(function (_ref3) {
5974
5706
  var text = _ref3.text,
@@ -6009,7 +5741,8 @@ var Toolbar = function Toolbar(_ref) {
6009
5741
  return "".concat(item.value) === "".concat(cell === null || cell === void 0 ? void 0 : cell.vt);
6010
5742
  })) === null || _$find2 === void 0 ? void 0 : _$find2.title) || "align-top",
6011
5743
  key: name,
6012
- tooltip: toolbar.verticalAlign
5744
+ tooltip: toolbar.verticalAlign,
5745
+ showArrow: false
6013
5746
  }, function (setOpen) {
6014
5747
  return /*#__PURE__*/React__default['default'].createElement(Select, null, _items.map(function (_ref4) {
6015
5748
  var text = _ref4.text,
@@ -6134,7 +5867,8 @@ var Toolbar = function Toolbar(_ref) {
6134
5867
  return /*#__PURE__*/React__default['default'].createElement(Combo, {
6135
5868
  iconId: "locationCondition",
6136
5869
  key: name,
6137
- tooltip: findAndReplace.location
5870
+ tooltip: findAndReplace.location,
5871
+ showArrow: false
6138
5872
  }, function (setOpen) {
6139
5873
  return /*#__PURE__*/React__default['default'].createElement(Select, null, _items2.map(function (_ref5) {
6140
5874
  var text = _ref5.text,
@@ -6219,7 +5953,8 @@ var Toolbar = function Toolbar(_ref) {
6219
5953
  return /*#__PURE__*/React__default['default'].createElement(Combo, {
6220
5954
  iconId: "conditionFormat",
6221
5955
  key: name,
6222
- tooltip: toolbar.conditionalFormat
5956
+ tooltip: toolbar.conditionalFormat,
5957
+ showArrow: false
6223
5958
  }, function (setOpen) {
6224
5959
  return /*#__PURE__*/React__default['default'].createElement(ConditionalFormat, {
6225
5960
  items: _items3,
@@ -6316,7 +6051,8 @@ var Toolbar = function Toolbar(_ref) {
6316
6051
  return /*#__PURE__*/React__default['default'].createElement(Combo, {
6317
6052
  iconId: name,
6318
6053
  key: name,
6319
- tooltip: tooltip
6054
+ tooltip: tooltip,
6055
+ showArrow: false
6320
6056
  }, function (setOpen) {
6321
6057
  return /*#__PURE__*/React__default['default'].createElement(Select, null, itemData.map(function (_ref6) {
6322
6058
  var key = _ref6.key,
@@ -6355,6 +6091,7 @@ var Toolbar = function Toolbar(_ref) {
6355
6091
  iconId: "formula-sum",
6356
6092
  key: name,
6357
6093
  tooltip: toolbar.autoSum,
6094
+ showArrow: false,
6358
6095
  onClick: function onClick() {
6359
6096
  return setContext(function (ctx) {
6360
6097
  fortuneCore.handleSum(ctx, refs.cellInput.current, refs.fxInput.current, refs.globalCache);
@@ -6426,12 +6163,13 @@ var Toolbar = function Toolbar(_ref) {
6426
6163
  setOpen(false);
6427
6164
  }
6428
6165
  }, /*#__PURE__*/React__default['default'].createElement("div", {
6429
- className: "fortune-toolbar-menu-line"
6430
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
6431
- name: value,
6432
6166
  style: {
6433
- marginRight: 4
6167
+ display: "flex",
6168
+ alignItems: "center",
6169
+ gap: 6
6434
6170
  }
6171
+ }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
6172
+ name: value
6435
6173
  }), text));
6436
6174
  }));
6437
6175
  });
@@ -6449,9 +6187,6 @@ var Toolbar = function Toolbar(_ref) {
6449
6187
  }, {
6450
6188
  text: border.borderRight,
6451
6189
  value: "border-right"
6452
- }, {
6453
- text: "",
6454
- value: "divider"
6455
6190
  }, {
6456
6191
  text: border.borderNone,
6457
6192
  value: "border-none"
@@ -6461,9 +6196,6 @@ var Toolbar = function Toolbar(_ref) {
6461
6196
  }, {
6462
6197
  text: border.borderOutside,
6463
6198
  value: "border-outside"
6464
- }, {
6465
- text: "",
6466
- value: "divider"
6467
6199
  }, {
6468
6200
  text: border.borderInside,
6469
6201
  value: "border-inside"
@@ -6476,44 +6208,35 @@ var Toolbar = function Toolbar(_ref) {
6476
6208
  }, {
6477
6209
  text: border.borderSlash,
6478
6210
  value: "border-slash"
6479
- }, {
6480
- text: "",
6481
- value: "divider"
6482
6211
  }];
6483
6212
  return /*#__PURE__*/React__default['default'].createElement(Combo, {
6484
6213
  iconId: "border-all",
6485
6214
  key: name,
6486
6215
  tooltip: tooltip,
6487
6216
  text: "\u8FB9\u6846\u8BBE\u7F6E",
6217
+ showArrow: false,
6488
6218
  onClick: function onClick() {
6489
6219
  return setContext(function (ctx) {
6490
6220
  fortuneCore.handleBorder(ctx, "border-all", customColor, customStyle);
6491
6221
  });
6492
6222
  }
6493
6223
  }, function (setOpen) {
6494
- return /*#__PURE__*/React__default['default'].createElement(Select, null, _items4.map(function (_ref9, ii) {
6495
- var text = _ref9.text,
6496
- value = _ref9.value;
6497
- return value !== "divider" ? (/*#__PURE__*/React__default['default'].createElement(Option, {
6224
+ return /*#__PURE__*/React__default['default'].createElement("div", {
6225
+ className: "fortune-toolbar-select fortune-border-grid"
6226
+ }, _items4.map(function (_ref9) {
6227
+ var value = _ref9.value;
6228
+ return /*#__PURE__*/React__default['default'].createElement("div", {
6498
6229
  key: value,
6230
+ className: "fortune-border-grid-item",
6499
6231
  onClick: function onClick() {
6500
6232
  setContext(function (ctx) {
6501
6233
  fortuneCore.handleBorder(ctx, value, customColor, customStyle);
6502
6234
  });
6503
6235
  setOpen(false);
6504
6236
  }
6505
- }, /*#__PURE__*/React__default['default'].createElement("div", {
6506
- className: "fortune-toolbar-menu-line"
6507
- }, text, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
6237
+ }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
6508
6238
  name: value
6509
- })))) : (/*#__PURE__*/React__default['default'].createElement(MenuDivider, {
6510
- key: ii
6511
6239
  }));
6512
- }), /*#__PURE__*/React__default['default'].createElement(CustomBorder, {
6513
- onPick: function onPick(color, style) {
6514
- setcustomColor(color);
6515
- setcustomStyle(style);
6516
- }
6517
6240
  }));
6518
6241
  });
6519
6242
  }
@@ -6535,6 +6258,7 @@ var Toolbar = function Toolbar(_ref) {
6535
6258
  iconId: "freeze-row-col",
6536
6259
  key: name,
6537
6260
  tooltip: tooltip,
6261
+ showArrow: false,
6538
6262
  onClick: function onClick() {
6539
6263
  return setContext(function (ctx) {
6540
6264
  fortuneCore.handleFreeze(ctx, "freeze-row-col");
@@ -6581,7 +6305,8 @@ var Toolbar = function Toolbar(_ref) {
6581
6305
  return /*#__PURE__*/React__default['default'].createElement(Combo, {
6582
6306
  iconId: _curr.iconId,
6583
6307
  key: name,
6584
- tooltip: toolbar.textWrap
6308
+ tooltip: toolbar.textWrap,
6309
+ showArrow: false
6585
6310
  }, function (setOpen) {
6586
6311
  return /*#__PURE__*/React__default['default'].createElement(Select, null, _items6.map(function (_ref1) {
6587
6312
  var text = _ref1.text,
@@ -6638,7 +6363,8 @@ var Toolbar = function Toolbar(_ref) {
6638
6363
  return /*#__PURE__*/React__default['default'].createElement(Combo, {
6639
6364
  iconId: _curr2.iconId,
6640
6365
  key: name,
6641
- tooltip: toolbar.textRotate
6366
+ tooltip: toolbar.textRotate,
6367
+ showArrow: false
6642
6368
  }, function (setOpen) {
6643
6369
  return /*#__PURE__*/React__default['default'].createElement(Select, null, _items7.map(function (_ref10) {
6644
6370
  var text = _ref10.text,
@@ -6706,7 +6432,8 @@ var Toolbar = function Toolbar(_ref) {
6706
6432
  return /*#__PURE__*/React__default['default'].createElement(Combo, {
6707
6433
  iconId: "filter",
6708
6434
  key: name,
6709
- tooltip: toolbar.sortAndFilter
6435
+ tooltip: toolbar.sortAndFilter,
6436
+ showArrow: false
6710
6437
  }, function (setOpen) {
6711
6438
  return /*#__PURE__*/React__default['default'].createElement(Select, {
6712
6439
  style: {
@@ -6729,7 +6456,9 @@ var Toolbar = function Toolbar(_ref) {
6729
6456
  justifyContent: "start"
6730
6457
  }
6731
6458
  }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
6732
- name: iconId
6459
+ name: iconId,
6460
+ width: 24,
6461
+ height: 18
6733
6462
  }), text))) : (/*#__PURE__*/React__default['default'].createElement(MenuDivider, {
6734
6463
  key: "divider-".concat(index)
6735
6464
  }));
@@ -6754,7 +6483,7 @@ var Toolbar = function Toolbar(_ref) {
6754
6483
  className: "fortune-toolbar",
6755
6484
  "aria-label": toolbar.toolbar
6756
6485
  }, settings.customToolbarItems.filter(function (n) {
6757
- return n.key !== "templates";
6486
+ return n.key === "import-export";
6758
6487
  }).map(function (n) {
6759
6488
  return /*#__PURE__*/React__default['default'].createElement(CustomButton, {
6760
6489
  tooltip: n.tooltip,
@@ -6791,6 +6520,18 @@ var Toolbar = function Toolbar(_ref) {
6791
6520
  icon: n.icon,
6792
6521
  iconName: n.iconName
6793
6522
  }, n.children);
6523
+ }), /*#__PURE__*/React__default['default'].createElement(Divider, {
6524
+ key: "customDivider"
6525
+ }), settings.customToolbarItems.filter(function (n) {
6526
+ return n.key !== "templates" && n.key !== "import-export";
6527
+ }).map(function (n) {
6528
+ return /*#__PURE__*/React__default['default'].createElement(CustomButton, {
6529
+ tooltip: n.tooltip,
6530
+ onClick: n.onClick,
6531
+ key: n.key,
6532
+ icon: n.icon,
6533
+ iconName: n.iconName
6534
+ }, n.children);
6794
6535
  }));
6795
6536
  };
6796
6537
 
@@ -8035,7 +7776,8 @@ var ContextMenu = function ContextMenu() {
8035
7776
  }
8036
7777
  }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
8037
7778
  name: "sort-asc",
8038
- width: 22,
7779
+ width: 24,
7780
+ height: 18,
8039
7781
  style: {
8040
7782
  marginRight: "4px"
8041
7783
  }
@@ -8053,7 +7795,8 @@ var ContextMenu = function ContextMenu() {
8053
7795
  }
8054
7796
  }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
8055
7797
  name: "sort-desc",
8056
- width: 22,
7798
+ width: 24,
7799
+ height: 18,
8057
7800
  style: {
8058
7801
  marginRight: "4px"
8059
7802
  }
@@ -8109,7 +7852,7 @@ var ContextMenu = function ContextMenu() {
8109
7852
  }
8110
7853
  }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
8111
7854
  name: "filter",
8112
- width: 22,
7855
+ width: 24,
8113
7856
  style: {
8114
7857
  marginRight: "4px"
8115
7858
  }
@@ -8127,9 +7870,11 @@ var ContextMenu = function ContextMenu() {
8127
7870
  }
8128
7871
  }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
8129
7872
  name: "eraser",
8130
- width: 22,
7873
+ width: 24,
7874
+ height: 22,
8131
7875
  style: {
8132
- marginRight: "4px"
7876
+ marginRight: "4px",
7877
+ marginLeft: "2px"
8133
7878
  }
8134
7879
  }), /*#__PURE__*/React__default['default'].createElement("p", null, filter.clearFilter))))),
8135
7880
  trigger: "mouseenter focus",
@@ -8140,7 +7885,7 @@ var ContextMenu = function ContextMenu() {
8140
7885
  className: "context-item"
8141
7886
  }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
8142
7887
  name: "filter",
8143
- width: 22,
7888
+ width: 24,
8144
7889
  style: {
8145
7890
  marginRight: "4px"
8146
7891
  }
@@ -10564,23 +10309,24 @@ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cel
10564
10309
  var SelectItem = function SelectItem(_ref) {
10565
10310
  var item = _ref.item,
10566
10311
  isChecked = _ref.isChecked,
10567
- _onChange = _ref.onChange,
10312
+ onChange = _ref.onChange,
10568
10313
  isItemVisible = _ref.isItemVisible;
10569
10314
  var checked = React.useMemo(function () {
10570
10315
  return isChecked(item.key);
10571
10316
  }, [isChecked, item.key]);
10572
10317
  return isItemVisible(item) ? (/*#__PURE__*/React__default['default'].createElement("div", {
10573
10318
  className: "select-item"
10574
- }, /*#__PURE__*/React__default['default'].createElement("input", {
10575
- className: "filter-checkbox",
10576
- type: "checkbox",
10319
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
10320
+ className: "flex items-center gap-2"
10321
+ }, /*#__PURE__*/React__default['default'].createElement(ui.Checkbox, {
10322
+ className: "border-2",
10577
10323
  checked: checked,
10578
- onChange: function onChange() {
10579
- _onChange(item, !checked);
10324
+ onCheckedChange: function onCheckedChange(e) {
10325
+ onChange(item, e.target.checked);
10580
10326
  }
10581
- }), /*#__PURE__*/React__default['default'].createElement("div", null, item.text), /*#__PURE__*/React__default['default'].createElement("span", {
10327
+ }), /*#__PURE__*/React__default['default'].createElement("span", null, item.text)), /*#__PURE__*/React__default['default'].createElement("span", {
10582
10328
  className: "count"
10583
- }, "( ".concat(item.rows.length, " )")))) : null;
10329
+ }, "".concat(item.rows.length)))) : null;
10584
10330
  };
10585
10331
  var _DateSelectTreeItem = function DateSelectTreeItem(_ref2) {
10586
10332
  var item = _ref2.item,
@@ -10589,7 +10335,7 @@ var _DateSelectTreeItem = function DateSelectTreeItem(_ref2) {
10589
10335
  initialExpand = _ref2.initialExpand,
10590
10336
  onExpand = _ref2.onExpand,
10591
10337
  isChecked = _ref2.isChecked,
10592
- _onChange2 = _ref2.onChange,
10338
+ onChange = _ref2.onChange,
10593
10339
  isItemVisible = _ref2.isItemVisible;
10594
10340
  var _useState = React.useState(initialExpand(item.key)),
10595
10341
  _useState2 = _slicedToArray(_useState, 2),
@@ -10598,39 +10344,43 @@ var _DateSelectTreeItem = function DateSelectTreeItem(_ref2) {
10598
10344
  var checked = React.useMemo(function () {
10599
10345
  return isChecked(item.key);
10600
10346
  }, [isChecked, item.key]);
10601
- return isItemVisible(item) ? (/*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("div", {
10347
+ return isItemVisible(item) ? (/*#__PURE__*/React__default['default'].createElement("div", {
10348
+ className: "flex flex-col gap-2"
10349
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
10602
10350
  className: "select-item",
10603
10351
  style: {
10604
10352
  marginLeft: -2 + depth * 20
10605
10353
  },
10606
- onClick: function onClick() {
10607
- onExpand === null || onExpand === void 0 ? void 0 : onExpand(item.key, !expand);
10608
- setExpand(!expand);
10609
- },
10610
10354
  tabIndex: 0
10355
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
10356
+ className: "flex items-center gap-2",
10357
+ style: {
10358
+ flex: 1
10359
+ },
10360
+ onClick: function onClick(e) {
10361
+ return e.stopPropagation();
10362
+ }
10611
10363
  }, ___default['default'].isEmpty(item.children) ? (/*#__PURE__*/React__default['default'].createElement("div", {
10612
10364
  style: {
10613
10365
  width: 10
10614
10366
  }
10615
- })) : (/*#__PURE__*/React__default['default'].createElement("div", {
10616
- className: "filter-caret ".concat(expand ? "down" : "right"),
10617
- style: {
10618
- cursor: "pointer"
10367
+ })) : (/*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
10368
+ name: expand ? "ChevronDown" : "ChevronRight",
10369
+ className: "cursor-pointer",
10370
+ size: "sm",
10371
+ onClick: function onClick() {
10372
+ onExpand === null || onExpand === void 0 ? void 0 : onExpand(item.key, !expand);
10373
+ setExpand(!expand);
10619
10374
  }
10620
- })), /*#__PURE__*/React__default['default'].createElement("input", {
10621
- className: "filter-checkbox",
10622
- type: "checkbox",
10375
+ })), /*#__PURE__*/React__default['default'].createElement(ui.Checkbox, {
10376
+ className: "border-2",
10623
10377
  checked: checked,
10624
- onChange: function onChange() {
10625
- _onChange2(item, !checked);
10626
- },
10627
- onClick: function onClick(e) {
10628
- return e.stopPropagation();
10629
- },
10630
- tabIndex: 0
10631
- }), /*#__PURE__*/React__default['default'].createElement("div", null, item.text), /*#__PURE__*/React__default['default'].createElement("span", {
10378
+ onCheckedChange: function onCheckedChange(e) {
10379
+ onChange(item, e.target.checked);
10380
+ }
10381
+ }), /*#__PURE__*/React__default['default'].createElement("span", null, item.text)), /*#__PURE__*/React__default['default'].createElement("span", {
10632
10382
  className: "count"
10633
- }, "( ".concat(item.rows.length, " )"))), expand && item.children.map(function (v) {
10383
+ }, "".concat(item.rows.length))), expand && item.children.map(function (v) {
10634
10384
  return /*#__PURE__*/React__default['default'].createElement(_DateSelectTreeItem, _objectSpread2({
10635
10385
  key: v.key,
10636
10386
  item: v,
@@ -10639,7 +10389,7 @@ var _DateSelectTreeItem = function DateSelectTreeItem(_ref2) {
10639
10389
  initialExpand: initialExpand,
10640
10390
  onExpand: onExpand,
10641
10391
  isChecked: isChecked,
10642
- onChange: _onChange2,
10392
+ onChange: onChange,
10643
10393
  isItemVisible: isItemVisible
10644
10394
  }));
10645
10395
  }))) : null;
@@ -10688,8 +10438,7 @@ var FilterMenu = function FilterMenu() {
10688
10438
  startCol = _ref4.startCol,
10689
10439
  endRow = _ref4.endRow,
10690
10440
  endCol = _ref4.endCol,
10691
- col = _ref4.col,
10692
- listBoxMaxHeight = _ref4.listBoxMaxHeight;
10441
+ col = _ref4.col;
10693
10442
  var _locale = fortuneCore.locale(context),
10694
10443
  filter = _locale.filter;
10695
10444
  var _useState3 = React.useState({
@@ -10764,25 +10513,6 @@ var FilterMenu = function FilterMenu() {
10764
10513
  }));
10765
10514
  }, 300);
10766
10515
  }, [data.flattenValues]);
10767
- var selectAll = React.useCallback(function () {
10768
- setDatesUncheck([]);
10769
- setValuesUncheck([]);
10770
- hiddenRows.current = [];
10771
- }, []);
10772
- var clearAll = React.useCallback(function () {
10773
- setDatesUncheck(___default['default'].keys(data.dateRowMap));
10774
- setValuesUncheck(___default['default'].keys(data.valueRowMap));
10775
- hiddenRows.current = data.visibleRows;
10776
- }, [data.dateRowMap, data.valueRowMap, data.visibleRows]);
10777
- var inverseSelect = React.useCallback(function () {
10778
- setDatesUncheck(produce__default['default'](function (draft) {
10779
- return ___default['default'].xor(draft, ___default['default'].keys(data.dateRowMap));
10780
- }));
10781
- setValuesUncheck(produce__default['default'](function (draft) {
10782
- return ___default['default'].xor(draft, ___default['default'].keys(data.valueRowMap));
10783
- }));
10784
- hiddenRows.current = ___default['default'].xor(hiddenRows.current, data.visibleRows);
10785
- }, [data.dateRowMap, data.valueRowMap, data.visibleRows]);
10786
10516
  var onColorSelectChange = React.useCallback(function (key, color, checked) {
10787
10517
  setFilterColors(produce__default['default'](function (draft) {
10788
10518
  var colorData = ___default['default'].find(___default['default'].get(draft, key), function (v) {
@@ -10912,11 +10642,12 @@ var FilterMenu = function FilterMenu() {
10912
10642
  ref: containerRef,
10913
10643
  style: {
10914
10644
  left: filterContextMenu.x,
10915
- top: filterContextMenu.y
10645
+ top: filterContextMenu.y,
10646
+ minWidth: "280px !important"
10916
10647
  }
10917
10648
  }, (_settings$filterConte = settings.filterContextMenu) === null || _settings$filterConte === void 0 ? void 0 : _settings$filterConte.map(function (name, i) {
10918
10649
  if (name === "|") {
10919
- return /*#__PURE__*/React__default['default'].createElement(Divider$1, {
10650
+ return /*#__PURE__*/React__default['default'].createElement(ui.Divider, {
10920
10651
  key: "divider-".concat(i)
10921
10652
  });
10922
10653
  }
@@ -10926,7 +10657,16 @@ var FilterMenu = function FilterMenu() {
10926
10657
  onClick: function onClick() {
10927
10658
  return sortData(true);
10928
10659
  }
10929
- }, filter.sortByAsc);
10660
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
10661
+ className: "context-item w-full"
10662
+ }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
10663
+ name: "sort-asc",
10664
+ width: 24,
10665
+ height: 18,
10666
+ style: {
10667
+ marginRight: "4px"
10668
+ }
10669
+ }), /*#__PURE__*/React__default['default'].createElement("p", null, filter.sortByAsc)));
10930
10670
  }
10931
10671
  if (name === "sort-by-desc") {
10932
10672
  return /*#__PURE__*/React__default['default'].createElement(Menu, {
@@ -10934,7 +10674,16 @@ var FilterMenu = function FilterMenu() {
10934
10674
  onClick: function onClick() {
10935
10675
  return sortData(false);
10936
10676
  }
10937
- }, filter.sortByDesc);
10677
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
10678
+ className: "context-item w-full"
10679
+ }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
10680
+ name: "sort-desc",
10681
+ width: 24,
10682
+ height: 18,
10683
+ style: {
10684
+ marginRight: "4px"
10685
+ }
10686
+ }), /*#__PURE__*/React__default['default'].createElement("p", null, filter.sortByDesc)));
10938
10687
  }
10939
10688
  if (name === "filter-by-color") {
10940
10689
  return /*#__PURE__*/React__default['default'].createElement("div", {
@@ -10962,72 +10711,22 @@ var FilterMenu = function FilterMenu() {
10962
10711
  className: "filter-caret right"
10963
10712
  }))));
10964
10713
  }
10965
- if (name === "filter-by-condition") {
10966
- return /*#__PURE__*/React__default['default'].createElement("div", {
10967
- key: "name"
10968
- }, /*#__PURE__*/React__default['default'].createElement(Menu, {
10969
- onClick: function onClick() {}
10970
- }, /*#__PURE__*/React__default['default'].createElement("div", {
10971
- className: "filter-caret right"
10972
- }), filter.filterByCondition), /*#__PURE__*/React__default['default'].createElement("div", {
10973
- className: "luckysheet-\\${menuid}-bycondition",
10974
- style: {
10975
- display: "none"
10976
- }
10977
- }, /*#__PURE__*/React__default['default'].createElement("div", {
10978
- className: "luckysheet-flat-menu-button luckysheet-mousedown-cancel",
10979
- id: "luckysheet-\\${menuid}-selected"
10980
- }, /*#__PURE__*/React__default['default'].createElement("span", {
10981
- className: "luckysheet-mousedown-cancel",
10982
- "data-value": "null",
10983
- "data-type": "0"
10984
- }, filter.filiterInputNone), /*#__PURE__*/React__default['default'].createElement("div", {
10985
- className: "luckysheet-mousedown-cancel"
10986
- }, /*#__PURE__*/React__default['default'].createElement("i", {
10987
- className: "fa fa-sort",
10988
- "aria-hidden": "true"
10989
- })))));
10990
- }
10991
10714
  if (name === "filter-by-value") {
10992
10715
  return /*#__PURE__*/React__default['default'].createElement("div", {
10993
10716
  key: name
10994
- }, /*#__PURE__*/React__default['default'].createElement(Menu, {
10995
- onClick: function onClick() {}
10996
10717
  }, /*#__PURE__*/React__default['default'].createElement("div", {
10997
- className: "filter-caret right"
10998
- }), filter.filterByValues), /*#__PURE__*/React__default['default'].createElement("div", {
10999
- className: "luckysheet-filter-byvalue"
10718
+ className: "luckysheet-filter-byvalue flex flex-col gap-2 mt-2"
11000
10719
  }, /*#__PURE__*/React__default['default'].createElement("div", {
11001
- className: "fortune-menuitem-row byvalue-btn-row"
11002
- }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("span", {
11003
- className: "fortune-byvalue-btn",
11004
- onClick: selectAll,
11005
- tabIndex: 0
11006
- }, filter.filterValueByAllBtn), " - ", /*#__PURE__*/React__default['default'].createElement("span", {
11007
- className: "fortune-byvalue-btn",
11008
- onClick: clearAll,
11009
- tabIndex: 0
11010
- }, filter.filterValueByClearBtn), " - ", /*#__PURE__*/React__default['default'].createElement("span", {
11011
- className: "fortune-byvalue-btn",
11012
- onClick: inverseSelect,
11013
- tabIndex: 0
11014
- }, filter.filterValueByInverseBtn)), /*#__PURE__*/React__default['default'].createElement("div", {
11015
- className: "byvalue-filter-icon"
11016
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
11017
- name: "filter-fill",
11018
- style: {
11019
- width: 20,
11020
- height: 20
11021
- }
11022
- }))), /*#__PURE__*/React__default['default'].createElement("div", {
11023
10720
  className: "filtermenu-input-container"
11024
- }, /*#__PURE__*/React__default['default'].createElement("input", {
11025
- type: "text",
10721
+ }, /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
10722
+ leftIcon: /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
10723
+ name: "Search",
10724
+ size: "sm"
10725
+ }),
11026
10726
  onKeyDown: function onKeyDown(e) {
11027
10727
  return e.stopPropagation();
11028
10728
  },
11029
10729
  placeholder: filter.filterValueByTip,
11030
- className: "luckysheet-mousedown-cancel",
11031
10730
  id: "luckysheet-\\${menuid}-byvalue-input",
11032
10731
  value: searchText,
11033
10732
  onChange: function onChange(e) {
@@ -11035,10 +10734,7 @@ var FilterMenu = function FilterMenu() {
11035
10734
  searchValues(e.target.value);
11036
10735
  }
11037
10736
  })), /*#__PURE__*/React__default['default'].createElement("div", {
11038
- id: "luckysheet-filter-byvalue-select",
11039
- style: {
11040
- maxHeight: listBoxMaxHeight
11041
- }
10737
+ id: "luckysheet-filter-byvalue-select"
11042
10738
  }, /*#__PURE__*/React__default['default'].createElement(DateSelectTree, {
11043
10739
  dates: data.dates,
11044
10740
  onExpand: onExpand,
@@ -11060,6 +10756,37 @@ var FilterMenu = function FilterMenu() {
11060
10756
  return v.match(item.key) != null;
11061
10757
  }) > -1;
11062
10758
  }
10759
+ }), /*#__PURE__*/React__default['default'].createElement(SelectItem, {
10760
+ item: {
10761
+ key: "all",
10762
+ text: filter.filterValueByAllBtn,
10763
+ value: "",
10764
+ mask: "",
10765
+ rows: data.values.filter(function (v) {
10766
+ return showValues.includes(v.text);
10767
+ }).flatMap(function (v) {
10768
+ return v.rows;
10769
+ })
10770
+ },
10771
+ isChecked: function isChecked() {
10772
+ var allDatesChecked = datesUncheck.length === 0;
10773
+ var allValuesChecked = valuesUncheck.length === 0;
10774
+ return allDatesChecked && allValuesChecked;
10775
+ },
10776
+ onChange: function onChange(item, checked) {
10777
+ if (checked) {
10778
+ setDatesUncheck([]);
10779
+ setValuesUncheck([]);
10780
+ hiddenRows.current = [];
10781
+ } else {
10782
+ setDatesUncheck(___default['default'].keys(data.dateRowMap));
10783
+ setValuesUncheck(___default['default'].keys(data.valueRowMap));
10784
+ hiddenRows.current = data.visibleRows;
10785
+ }
10786
+ },
10787
+ isItemVisible: function isItemVisible() {
10788
+ return true;
10789
+ }
11063
10790
  }), data.values.map(function (v) {
11064
10791
  return /*#__PURE__*/React__default['default'].createElement(SelectItem, {
11065
10792
  key: v.key,
@@ -11069,14 +10796,17 @@ var FilterMenu = function FilterMenu() {
11069
10796
  },
11070
10797
  onChange: function onChange(item, checked) {
11071
10798
  var rows = hiddenRows.current;
11072
- hiddenRows.current = checked ? ___default['default'].without.apply(___default['default'], [rows].concat(_toConsumableArray(item.rows))) : ___default['default'].concat(rows, item.rows);
11073
- setValuesUncheck(produce__default['default'](function (draft) {
11074
- if (checked) {
10799
+ if (checked) {
10800
+ hiddenRows.current = ___default['default'].without.apply(___default['default'], [rows].concat(_toConsumableArray(item.rows)));
10801
+ setValuesUncheck(produce__default['default'](function (draft) {
11075
10802
  ___default['default'].pull(draft, item.key);
11076
- } else {
10803
+ }));
10804
+ } else {
10805
+ hiddenRows.current = ___default['default'].concat(rows, item.rows);
10806
+ setValuesUncheck(produce__default['default'](function (draft) {
11077
10807
  draft.push(item.key);
11078
- }
11079
- }));
10808
+ }));
10809
+ }
11080
10810
  },
11081
10811
  isItemVisible: function isItemVisible(item) {
11082
10812
  return showValues.length === data.flattenValues.length ? true : ___default['default'].includes(showValues, item.text);
@@ -11085,40 +10815,49 @@ var FilterMenu = function FilterMenu() {
11085
10815
  }))));
11086
10816
  }
11087
10817
  return null;
11088
- }), /*#__PURE__*/React__default['default'].createElement(Divider$1, null), /*#__PURE__*/React__default['default'].createElement("div", {
11089
- className: "fortune-menuitem-row"
11090
- }, /*#__PURE__*/React__default['default'].createElement("div", {
11091
- className: "button-basic button-primary",
10818
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
10819
+ className: "fortune-menuitem-row mt-2"
10820
+ }, /*#__PURE__*/React__default['default'].createElement(ui.Button, {
10821
+ variant: "ghost",
10822
+ style: {
10823
+ minWidth: "80px"
10824
+ },
11092
10825
  onClick: function onClick() {
11093
- if (col == null) return;
11094
10826
  setContext(function (draftCtx) {
11095
- var rowHidden = ___default['default'].reduce(hiddenRows.current, function (pre, curr) {
11096
- pre[curr] = 0;
11097
- return pre;
11098
- }, {});
11099
- fortuneCore.saveFilter(draftCtx, hiddenRows.current.length > 0, rowHidden, {}, startRow, endRow, col, startCol, endCol);
11100
- hiddenRows.current = [];
11101
- draftCtx.filterContextMenu = undefined;
10827
+ fortuneCore.clearFilter(draftCtx);
11102
10828
  });
11103
10829
  },
11104
10830
  tabIndex: 0
11105
- }, filter.filterConform), /*#__PURE__*/React__default['default'].createElement("div", {
11106
- className: "button-basic button-default",
10831
+ }, filter.clearFilter), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
10832
+ variant: "secondary",
10833
+ style: {
10834
+ minWidth: "80px"
10835
+ },
11107
10836
  onClick: function onClick() {
11108
10837
  setContext(function (draftCtx) {
11109
10838
  draftCtx.filterContextMenu = undefined;
11110
10839
  });
11111
10840
  },
11112
10841
  tabIndex: 0
11113
- }, filter.filterCancel), /*#__PURE__*/React__default['default'].createElement("div", {
11114
- className: "button-basic button-danger",
10842
+ }, filter.filterCancel), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
10843
+ variant: "default",
10844
+ style: {
10845
+ minWidth: "80px"
10846
+ },
11115
10847
  onClick: function onClick() {
10848
+ if (col == null) return;
11116
10849
  setContext(function (draftCtx) {
11117
- fortuneCore.clearFilter(draftCtx);
10850
+ var rowHidden = ___default['default'].reduce(hiddenRows.current, function (pre, curr) {
10851
+ pre[curr] = 0;
10852
+ return pre;
10853
+ }, {});
10854
+ fortuneCore.saveFilter(draftCtx, hiddenRows.current.length > 0, rowHidden, {}, startRow, endRow, col, startCol, endCol);
10855
+ hiddenRows.current = [];
10856
+ draftCtx.filterContextMenu = undefined;
11118
10857
  });
11119
10858
  },
11120
10859
  tabIndex: 0
11121
- }, filter.clearFilter))), showSubMenu && (/*#__PURE__*/React__default['default'].createElement("div", {
10860
+ }, filter.filterConfirm))), showSubMenu && (/*#__PURE__*/React__default['default'].createElement("div", {
11122
10861
  ref: subMenuRef,
11123
10862
  className: "luckysheet-filter-bycolor-submenu",
11124
10863
  style: subMenuPos,
@@ -11158,7 +10897,7 @@ var FilterMenu = function FilterMenu() {
11158
10897
  });
11159
10898
  },
11160
10899
  tabIndex: 0
11161
- }, filter.filterConform))))));
10900
+ }, filter.filterConfirm))))));
11162
10901
  };
11163
10902
 
11164
10903
  var SheetHiddenButton = function SheetHiddenButton(_ref) {