@fileverse-dev/fortune-react 1.0.2-mod-28-patch-2 → 1.0.2-mod-34

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