@fileverse-dev/fortune-react 1.0.2-mod-25-patch-1 → 1.0.2-mod-26

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
@@ -8,7 +8,6 @@ var produce = require('immer');
8
8
  var _ = require('lodash');
9
9
  var ui = require('@fileverse/ui');
10
10
  var regeneratorRuntime = require('regenerator-runtime');
11
- var Tippy = require('@tippyjs/react');
12
11
 
13
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
13
 
@@ -16,7 +15,6 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
15
  var produce__default = /*#__PURE__*/_interopDefaultLegacy(produce);
17
16
  var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
18
17
  var regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(regeneratorRuntime);
19
- var Tippy__default = /*#__PURE__*/_interopDefaultLegacy(Tippy);
20
18
 
21
19
  function _arrayLikeToArray(r, a) {
22
20
  (null == a || a > r.length) && (a = r.length);
@@ -807,14 +805,55 @@ var FormulaSearch = function FormulaSearch(props) {
807
805
  key: v.n,
808
806
  "data-func": v.n,
809
807
  className: "luckysheet-formula-search-item ".concat(index === 0 ? "luckysheet-formula-search-item-active" : "")
808
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
809
+ style: {
810
+ display: "flex",
811
+ justifyContent: "space-between"
812
+ }
810
813
  }, /*#__PURE__*/React__default['default'].createElement("div", {
811
814
  className: "luckysheet-formula-search-func"
812
815
  }, v.n), /*#__PURE__*/React__default['default'].createElement("div", {
816
+ style: {
817
+ display: "flex",
818
+ gap: "4px"
819
+ }
820
+ }, v.LOGO && /*#__PURE__*/React__default['default'].createElement("img", {
821
+ src: v.LOGO,
822
+ alt: "Service Logo",
823
+ width: 32,
824
+ height: 32
825
+ }), v.API_KEY && /*#__PURE__*/React__default['default'].createElement("div", {
826
+ style: {
827
+ borderRadius: "4px",
828
+ width: "20px",
829
+ height: "20px",
830
+ backgroundColor: "".concat(localStorage.getItem(v.API_KEY) ? "#177E23" : "#F9A92B")
831
+ }
832
+ }, /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
833
+ name: "Key",
834
+ style: {
835
+ color: "white"
836
+ }
837
+ })))), /*#__PURE__*/React__default['default'].createElement("div", {
813
838
  className: "luckysheet-formula-search-detail"
814
839
  }, v.d));
815
840
  }));
816
841
  };
817
842
 
843
+ function lightenHexColor(hex) {
844
+ var amount = 100;
845
+ if (hex.startsWith('#')) {
846
+ hex = hex.slice(1);
847
+ }
848
+ var r = parseInt(hex.slice(0, 2), 16);
849
+ var g = parseInt(hex.slice(2, 4), 16);
850
+ var b = parseInt(hex.slice(4, 6), 16);
851
+ r = Math.min(255, r + amount);
852
+ g = Math.min(255, g + amount);
853
+ b = Math.min(255, b + amount);
854
+ var newHex = '#' + (1 << 24 | r << 16 | g << 8 | b).toString(16).slice(1).toUpperCase();
855
+ return newHex;
856
+ }
818
857
  var FormulaHint = function FormulaHint(props) {
819
858
  var _useContext = React.useContext(WorkbookContext),
820
859
  context = _useContext.context;
@@ -823,9 +862,21 @@ var FormulaHint = function FormulaHint(props) {
823
862
  if (!context.functionHint) return null;
824
863
  var fn = context.formulaCache.functionlistMap[context.functionHint];
825
864
  if (!fn) return null;
865
+ var _useState = React.useState(localStorage.getItem(fn.API_KEY)),
866
+ _useState2 = _slicedToArray(_useState, 2),
867
+ API_KEY = _useState2[0],
868
+ setAPI_KEY = _useState2[1];
869
+ var _useState3 = React.useState(!API_KEY),
870
+ _useState4 = _slicedToArray(_useState3, 2),
871
+ showAPInput = _useState4[0],
872
+ setShowAPInput = _useState4[1];
826
873
  return /*#__PURE__*/React__default['default'].createElement("div", _objectSpread2(_objectSpread2({}, props), {}, {
827
874
  id: "luckysheet-formula-help-c",
828
- className: "luckysheet-formula-help-c"
875
+ className: "luckysheet-formula-help-c",
876
+ style: {
877
+ border: "1px solid ".concat(fn.BRAND_COLOR),
878
+ backgroundColor: "".concat(fn.BRAND_COLOR ? lightenHexColor(fn.BRAND_COLOR) : '#F8F9FA')
879
+ }
829
880
  }), /*#__PURE__*/React__default['default'].createElement("div", {
830
881
  className: "luckysheet-formula-help-close",
831
882
  title: "\u5173\u95ED"
@@ -839,7 +890,10 @@ var FormulaHint = function FormulaHint(props) {
839
890
  className: "fa fa-angle-up",
840
891
  "aria-hidden": "true"
841
892
  })), /*#__PURE__*/React__default['default'].createElement("div", {
842
- className: "luckysheet-formula-help-title"
893
+ className: "luckysheet-formula-help-title formula-title",
894
+ style: {
895
+ backgroundColor: "".concat(fn.BRAND_COLOR ? lightenHexColor(fn.BRAND_COLOR) : '#F8F9FA')
896
+ }
843
897
  }, /*#__PURE__*/React__default['default'].createElement("div", {
844
898
  className: "luckysheet-formula-help-title-formula"
845
899
  }, /*#__PURE__*/React__default['default'].createElement("span", {
@@ -863,16 +917,98 @@ var FormulaHint = function FormulaHint(props) {
863
917
  }, name, i !== fn.p.length - 1 && ", ");
864
918
  })), /*#__PURE__*/React__default['default'].createElement("span", {
865
919
  className: "luckysheet-arguments-paren"
866
- }, ")"))), /*#__PURE__*/React__default['default'].createElement("div", {
867
- className: "luckysheet-formula-help-content"
920
+ }, ")")), /*#__PURE__*/React__default['default'].createElement("div", {
921
+ style: {
922
+ display: "flex",
923
+ gap: "4px"
924
+ }
925
+ }, fn.LOGO && /*#__PURE__*/React__default['default'].createElement("img", {
926
+ src: fn.LOGO,
927
+ alt: "Service Logo",
928
+ width: 32,
929
+ height: 32
930
+ }), fn.API_KEY && /*#__PURE__*/React__default['default'].createElement("div", {
931
+ style: {
932
+ borderRadius: "4px",
933
+ width: "20px",
934
+ height: "20px",
935
+ backgroundColor: "".concat(localStorage.getItem(fn.API_KEY) ? "#177E23" : "#F9A92B")
936
+ }
937
+ }, /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
938
+ name: "Key",
939
+ style: {
940
+ color: "white"
941
+ }
942
+ })))), /*#__PURE__*/React__default['default'].createElement("div", {
943
+ className: "luckysheet-formula-help-content",
944
+ style: {
945
+ backgroundColor: "".concat(fn.BRAND_COLOR ? lightenHexColor(fn.BRAND_COLOR) : '#F8F9FA')
946
+ }
947
+ }, fn.API_KEY && /*#__PURE__*/React__default['default'].createElement("div", {
948
+ style: {
949
+ borderLeft: "4px solid ".concat(API_KEY ? "#177E23" : "#fb923c"),
950
+ backgroundColor: 'white',
951
+ padding: '16px',
952
+ margin: '4px 4px 0px 4px',
953
+ borderRadius: '4px'
954
+ }
955
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
956
+ style: {
957
+ display: "flex",
958
+ justifyContent: "space-between",
959
+ cursor: "pointer"
960
+ },
961
+ onClick: function onClick() {
962
+ return setShowAPInput(!showAPInput);
963
+ }
964
+ }, /*#__PURE__*/React__default['default'].createElement("h3", {
965
+ style: {
966
+ fontSize: '14px',
967
+ fontWeight: '600',
968
+ color: '#1f2937',
969
+ margin: '0 0 8px 0'
970
+ }
971
+ }, "API key is required"), /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
972
+ name: "ChevronDown",
973
+ width: 24,
974
+ height: 24
975
+ })), showAPInput && /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("p", {
976
+ style: {
977
+ color: '#6b7280',
978
+ margin: '0 0 16px 0'
979
+ }
980
+ }, "This function is require API key. Please paste it below and press \"Ok\"."), /*#__PURE__*/React__default['default'].createElement("div", {
981
+ style: {
982
+ display: 'flex',
983
+ gap: '12px'
984
+ }
985
+ }, /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
986
+ value: API_KEY,
987
+ id: "function-api-key",
988
+ type: "text",
989
+ placeholder: "API key",
990
+ onChange: function onChange(e) {
991
+ setAPI_KEY(e.target.value);
992
+ }
993
+ }), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
994
+ onClick: function onClick() {
995
+ localStorage.setItem(fn.API_KEY, API_KEY);
996
+ }
997
+ }, "Ok")))), /*#__PURE__*/React__default['default'].createElement("div", {
998
+ style: {
999
+ backgroundColor: 'white',
1000
+ padding: '6px',
1001
+ margin: '4px 4px 0px 4px',
1002
+ borderRadius: '4px'
1003
+ }
868
1004
  }, /*#__PURE__*/React__default['default'].createElement("div", {
869
1005
  className: "luckysheet-formula-help-content-example"
870
1006
  }, /*#__PURE__*/React__default['default'].createElement("div", {
871
- className: "luckysheet-arguments-help-section-title"
1007
+ className: "luckysheet-arguments-help-section-title example-title"
872
1008
  }, formulaMore.helpExample), /*#__PURE__*/React__default['default'].createElement("div", {
873
1009
  className: "luckysheet-arguments-help-formula"
874
1010
  }, /*#__PURE__*/React__default['default'].createElement("span", {
875
- className: "luckysheet-arguments-help-function-name"
1011
+ className: "luckysheet-arguments-help-function-name example-value"
876
1012
  }, fn.n), /*#__PURE__*/React__default['default'].createElement("span", {
877
1013
  className: "luckysheet-arguments-paren"
878
1014
  }, "("), /*#__PURE__*/React__default['default'].createElement("span", {
@@ -886,13 +1022,16 @@ var FormulaHint = function FormulaHint(props) {
886
1022
  })), /*#__PURE__*/React__default['default'].createElement("span", {
887
1023
  className: "luckysheet-arguments-paren"
888
1024
  }, ")"))), /*#__PURE__*/React__default['default'].createElement("div", {
889
- className: "luckysheet-formula-help-content-detail"
1025
+ className: "luckysheet-formula-help-content-detail",
1026
+ style: {
1027
+ paddingBottom: '6px'
1028
+ }
890
1029
  }, /*#__PURE__*/React__default['default'].createElement("div", {
891
1030
  className: "luckysheet-arguments-help-section"
892
1031
  }, /*#__PURE__*/React__default['default'].createElement("div", {
893
- className: "luckysheet-arguments-help-section-title luckysheet-arguments-help-parameter-name"
894
- }, formulaMore.helpAbstract), /*#__PURE__*/React__default['default'].createElement("span", {
895
- className: "luckysheet-arguments-help-parameter-content"
1032
+ className: "luckysheet-arguments-help-section-title luckysheet-arguments-help-parameter-name example-title"
1033
+ }, "About"), /*#__PURE__*/React__default['default'].createElement("span", {
1034
+ className: "luckysheet-arguments-help-parameter-content example-value"
896
1035
  }, fn.d))), /*#__PURE__*/React__default['default'].createElement("div", {
897
1036
  className: "luckysheet-formula-help-content-param"
898
1037
  }, fn.p.map(function (param) {
@@ -900,15 +1039,24 @@ var FormulaHint = function FormulaHint(props) {
900
1039
  className: "luckysheet-arguments-help-section",
901
1040
  key: param.name
902
1041
  }, /*#__PURE__*/React__default['default'].createElement("div", {
903
- className: "luckysheet-arguments-help-section-title"
1042
+ className: "luckysheet-arguments-help-section-title example-title"
904
1043
  }, param.name, param.repeat === "y" && (/*#__PURE__*/React__default['default'].createElement("span", {
905
- className: "luckysheet-arguments-help-argument-info"
1044
+ className: "luckysheet-arguments-help-argument-info example-value",
1045
+ style: {
1046
+ marginTop: '2px'
1047
+ }
906
1048
  }, "...-", formulaMore.allowRepeatText)), param.require === "o" && (/*#__PURE__*/React__default['default'].createElement("span", {
907
- className: "luckysheet-arguments-help-argument-info"
1049
+ className: "luckysheet-arguments-help-argument-info example-value",
1050
+ style: {
1051
+ marginTop: '2px'
1052
+ }
908
1053
  }, "-[", formulaMore.allowOptionText, "]"))), /*#__PURE__*/React__default['default'].createElement("span", {
909
- className: "luckysheet-arguments-help-parameter-content"
1054
+ className: "luckysheet-arguments-help-parameter-content example-value",
1055
+ style: {
1056
+ marginTop: '2px'
1057
+ }
910
1058
  }, param.detail));
911
- }))), /*#__PURE__*/React__default['default'].createElement("div", {
1059
+ })))), /*#__PURE__*/React__default['default'].createElement("div", {
912
1060
  className: "luckysheet-formula-help-foot"
913
1061
  }));
914
1062
  };
@@ -1233,8 +1381,7 @@ var Dialog = function Dialog(_ref) {
1233
1381
  onCancel = _ref.onCancel,
1234
1382
  children = _ref.children,
1235
1383
  containerStyle = _ref.containerStyle,
1236
- contentStyle = _ref.contentStyle,
1237
- title = _ref.title;
1384
+ contentStyle = _ref.contentStyle;
1238
1385
  var _useContext = React.useContext(WorkbookContext),
1239
1386
  context = _useContext.context;
1240
1387
  var _locale = fortuneCore.locale(context),
@@ -1243,12 +1390,8 @@ var Dialog = function Dialog(_ref) {
1243
1390
  className: "fortune-dialog",
1244
1391
  style: containerStyle
1245
1392
  }, /*#__PURE__*/React__default['default'].createElement("div", {
1246
- className: ui.cn("flex items-center justify-end border-b color-border-default py-3 px-6", {
1247
- "justify-between": title
1248
- })
1249
- }, title && /*#__PURE__*/React__default['default'].createElement("div", {
1250
- className: "text-heading-sm"
1251
- }, title), /*#__PURE__*/React__default['default'].createElement(ui.IconButton, {
1393
+ className: "flex items-center justify-end border-b color-border-default py-3 px-6"
1394
+ }, /*#__PURE__*/React__default['default'].createElement(ui.IconButton, {
1252
1395
  icon: "X",
1253
1396
  variant: "ghost",
1254
1397
  onClick: onCancel,
@@ -1365,7 +1508,8 @@ var SearchReplace = function SearchReplace(_ref) {
1365
1508
  setContext = _useContext.setContext,
1366
1509
  refs = _useContext.refs;
1367
1510
  var _locale = fortuneCore.locale(context),
1368
- findAndReplace = _locale.findAndReplace;
1511
+ findAndReplace = _locale.findAndReplace,
1512
+ button = _locale.button;
1369
1513
  var _useState = React.useState(""),
1370
1514
  _useState2 = _slicedToArray(_useState, 2),
1371
1515
  searchText = _useState2[0],
@@ -1429,7 +1573,9 @@ var SearchReplace = function SearchReplace(_ref) {
1429
1573
  fortuneCore.onSearchDialogMoveStart(refs.globalCache, nativeEvent, getContainer());
1430
1574
  e.stopPropagation();
1431
1575
  }
1432
- }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("div", {
1576
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
1577
+ className: ""
1578
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
1433
1579
  className: "flex items-center justify-between border-b color-border-default py-3 px-6"
1434
1580
  }, /*#__PURE__*/React__default['default'].createElement("h3", {
1435
1581
  className: "text-heading-sm"
@@ -1465,10 +1611,7 @@ var SearchReplace = function SearchReplace(_ref) {
1465
1611
  },
1466
1612
  value: searchText,
1467
1613
  onChange: function onChange(e) {
1468
- if (e.target.value.length === 0) {
1469
- setSearchResult([]);
1470
- }
1471
- setSearchText(e.target.value);
1614
+ return setSearchText(e.target.value);
1472
1615
  }
1473
1616
  })), /*#__PURE__*/React__default['default'].createElement("div", {
1474
1617
  id: "replaceInput",
@@ -1528,8 +1671,13 @@ var SearchReplace = function SearchReplace(_ref) {
1528
1671
  }), /*#__PURE__*/React__default['default'].createElement("span", null, findAndReplace.wholeTextbox)))), /*#__PURE__*/React__default['default'].createElement(ui.Divider, {
1529
1672
  className: "w-full border-t-[1px]"
1530
1673
  }), /*#__PURE__*/React__default['default'].createElement("div", {
1531
- className: "flex flex-row gap-2 justify-center items-center mb-4"
1674
+ className: "flex flex-row gap-2 justify-center items-center"
1532
1675
  }, /*#__PURE__*/React__default['default'].createElement(ui.Button, {
1676
+ variant: "secondary",
1677
+ className: "min-w-fit",
1678
+ onClick: closeDialog,
1679
+ tabIndex: 0
1680
+ }, button.close), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
1533
1681
  id: "replaceAllBtn",
1534
1682
  variant: "secondary",
1535
1683
  className: "min-w-fit",
@@ -1540,8 +1688,7 @@ var SearchReplace = function SearchReplace(_ref) {
1540
1688
  showAlert(alertMsg);
1541
1689
  });
1542
1690
  },
1543
- tabIndex: 0,
1544
- disabled: searchText.length === 0 || replaceText.length === 0
1691
+ tabIndex: 0
1545
1692
  }, findAndReplace.allReplaceBtn), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
1546
1693
  id: "replaceBtn",
1547
1694
  variant: "secondary",
@@ -1555,8 +1702,7 @@ var SearchReplace = function SearchReplace(_ref) {
1555
1702
  }
1556
1703
  });
1557
1704
  },
1558
- tabIndex: 0,
1559
- disabled: searchText.length === 0 || replaceText.length === 0
1705
+ tabIndex: 0
1560
1706
  }, findAndReplace.replaceBtn), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
1561
1707
  id: "searchAllBtn",
1562
1708
  variant: "secondary",
@@ -1570,11 +1716,10 @@ var SearchReplace = function SearchReplace(_ref) {
1570
1716
  if (___default['default'].isEmpty(res)) showAlert(findAndReplace.noFindTip);
1571
1717
  });
1572
1718
  },
1573
- tabIndex: 0,
1574
- disabled: searchText.length === 0
1719
+ tabIndex: 0
1575
1720
  }, findAndReplace.allFindBtn), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
1576
1721
  id: "searchNextBtn",
1577
- variant: "default",
1722
+ variant: "secondary",
1578
1723
  className: "min-w-fit",
1579
1724
  onClick: function onClick() {
1580
1725
  return setContext(function (draftCtx) {
@@ -1583,13 +1728,10 @@ var SearchReplace = function SearchReplace(_ref) {
1583
1728
  if (alertMsg != null) showAlert(alertMsg);
1584
1729
  });
1585
1730
  },
1586
- tabIndex: 0,
1587
- disabled: searchText.length === 0
1588
- }, findAndReplace.findBtn))), searchResult.length > 0 && (/*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(ui.Divider, {
1589
- className: "w-full border-t-[1px] mb-4"
1590
- }), /*#__PURE__*/React__default['default'].createElement("div", {
1731
+ tabIndex: 0
1732
+ }, findAndReplace.findBtn)))), searchResult.length > 0 && (/*#__PURE__*/React__default['default'].createElement("div", {
1591
1733
  ref: tableContainerRef,
1592
- className: "mb-6 table-container max-h-[300px] overflow-y-auto",
1734
+ className: "px-6 pb-6 max-h-[300px] overflow-y-auto",
1593
1735
  onMouseDown: function onMouseDown(e) {
1594
1736
  var _tableContainerRef$cu;
1595
1737
  if (e.target === tableContainerRef.current || ((_tableContainerRef$cu = tableContainerRef.current) === null || _tableContainerRef$cu === void 0 ? void 0 : _tableContainerRef$cu.contains(e.target))) {
@@ -1598,19 +1740,6 @@ var SearchReplace = function SearchReplace(_ref) {
1598
1740
  (_tableContainerRef$cu2 = tableContainerRef.current) === null || _tableContainerRef$cu2 === void 0 ? void 0 : _tableContainerRef$cu2.focus();
1599
1741
  }
1600
1742
  },
1601
- onWheel: function onWheel(e) {
1602
- e.preventDefault();
1603
- e.stopPropagation();
1604
- if (tableContainerRef.current) {
1605
- tableContainerRef.current.scrollTop += e.deltaY;
1606
- }
1607
- },
1608
- onTouchStart: function onTouchStart(e) {
1609
- e.stopPropagation();
1610
- },
1611
- onTouchMove: function onTouchMove(e) {
1612
- e.stopPropagation();
1613
- },
1614
1743
  tabIndex: 0
1615
1744
  }, /*#__PURE__*/React__default['default'].createElement(ui.Table, {
1616
1745
  id: "searchAllbox"
@@ -1618,10 +1747,10 @@ var SearchReplace = function SearchReplace(_ref) {
1618
1747
  className: "color-bg-secondary"
1619
1748
  }, /*#__PURE__*/React__default['default'].createElement(ui.TableRow, null, /*#__PURE__*/React__default['default'].createElement(ui.TableHead, null, findAndReplace.searchTargetSheet), /*#__PURE__*/React__default['default'].createElement(ui.TableHead, null, findAndReplace.searchTargetCell), /*#__PURE__*/React__default['default'].createElement(ui.TableHead, null, findAndReplace.searchTargetValue))), /*#__PURE__*/React__default['default'].createElement(ui.TableBody, null, searchResult.map(function (v) {
1620
1749
  return /*#__PURE__*/React__default['default'].createElement(ui.TableRow, {
1621
- className: ui.cn(___default['default'].isEqual(selectedCell, {
1750
+ className: "".concat(___default['default'].isEqual(selectedCell, {
1622
1751
  r: v.r,
1623
1752
  c: v.c
1624
- }) ? "color-bg-default-selected" : ""),
1753
+ }) ? "on" : ""),
1625
1754
  key: v.cellPosition,
1626
1755
  onClick: function onClick() {
1627
1756
  setContext(function (draftCtx) {
@@ -1644,7 +1773,7 @@ var SearchReplace = function SearchReplace(_ref) {
1644
1773
  }, v.cellPosition), /*#__PURE__*/React__default['default'].createElement(ui.TableCell, {
1645
1774
  className: "find-replace-table-cell"
1646
1775
  }, v.value));
1647
- })))))))));
1776
+ })))))));
1648
1777
  };
1649
1778
 
1650
1779
  var LinkEditCard = function LinkEditCard(_ref) {
@@ -2373,14 +2502,13 @@ function useDialog() {
2373
2502
  var _useContext = React.useContext(ModalContext),
2374
2503
  showModal = _useContext.showModal,
2375
2504
  hideModal = _useContext.hideModal;
2376
- var showDialog = React.useCallback(function (content, type, title) {
2377
- var onOk = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : hideModal;
2378
- var onCancel = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : hideModal;
2505
+ var showDialog = React.useCallback(function (content, type) {
2506
+ var onOk = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : hideModal;
2507
+ var onCancel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : hideModal;
2379
2508
  showModal(/*#__PURE__*/React__default['default'].createElement(Dialog, {
2380
2509
  type: type,
2381
2510
  onOk: onOk,
2382
- onCancel: onCancel,
2383
- title: title
2511
+ onCancel: onCancel
2384
2512
  }, content));
2385
2513
  }, [hideModal, showModal]);
2386
2514
  return {
@@ -2894,21 +3022,6 @@ var DataVerification = function DataVerification() {
2894
3022
  }, button.cancel));
2895
3023
  };
2896
3024
 
2897
- function getDisplayedRangeTxt(context) {
2898
- var _context$rangeDialog$, _context$rangeDialog;
2899
- if (context.luckysheet_select_save) {
2900
- var range = context.luckysheet_select_save[context.luckysheet_select_save.length - 1];
2901
- return fortuneCore.getRangetxt(context, context.currentSheetId, range, context.currentSheetId);
2902
- }
2903
- return (_context$rangeDialog$ = (_context$rangeDialog = context.rangeDialog) === null || _context$rangeDialog === void 0 ? void 0 : _context$rangeDialog.rangeTxt) !== null && _context$rangeDialog$ !== void 0 ? _context$rangeDialog$ : "";
2904
- }
2905
-
2906
- var datepickerStyles = "\n .datepicker-toggle {\n display: inline-block;\n position: relative;\n width: 100%;\n }\n \n .datepicker-toggle-button {\n opacity: 0.3;\n position: absolute;\n right: 12px;\n top: 50%;\n transform: translateY(-50%);\n width: 16px;\n height: 16px;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxyZWN0IHg9IjMiIHk9IjQiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PGxpbmUgeDE9IjE2IiB5MT0iMiIgeDI9IjE2IiB5Mj0iNiI+PC9saW5lPjxsaW5lIHgxPSI4IiB5MT0iMiIgeDI9IjgiIHkyPSI2Ij48L2xpbmU+PGxpbmUgeDE9IjMiIHkxPSIxMCIgeDI9IjIxIiB5Mj0iMTAiPjwvbGluZT48L3N2Zz4=');\n background-repeat: no-repeat;\n background-position: center;\n pointer-events: none;\n }\n \n .datepicker-input {\n width: 100%;\n padding: 8px 12px;\n border: 1px solid #e2e8f0;\n border-radius: 6px;\n font-size: 14px;\n line-height: 1.5;\n color: #1a202c;\n background-color: #fff;\n cursor: pointer;\n }\n \n .datepicker-input::-webkit-calendar-picker-indicator {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n cursor: pointer;\n opacity: 0;\n }\n \n .datepicker-input:focus {\n outline: none;\n border-color: #4299e1;\n box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.1);\n }\n";
2907
- if (typeof document !== "undefined") {
2908
- var styleSheet = document.createElement("style");
2909
- styleSheet.textContent = datepickerStyles;
2910
- document.head.appendChild(styleSheet);
2911
- }
2912
3025
  var ConditionRules = function ConditionRules(_ref) {
2913
3026
  var type = _ref.type;
2914
3027
  var _useContext = React.useContext(WorkbookContext),
@@ -2922,23 +3035,12 @@ var ConditionRules = function ConditionRules(_ref) {
2922
3035
  protection = _locale.protection,
2923
3036
  generalDialog = _locale.generalDialog;
2924
3037
  var _useState = React.useState({
2925
- textColor: "#FFFFFF",
2926
- cellColor: "#D82E2A"
3038
+ textColor: "#000000",
3039
+ cellColor: "#000000"
2927
3040
  }),
2928
3041
  _useState2 = _slicedToArray(_useState, 2),
2929
3042
  colorRules = _useState2[0],
2930
3043
  setColorRules = _useState2[1];
2931
- var dataSelectRange = React.useCallback(function (selectType) {
2932
- hideDialog();
2933
- setContext(function (ctx) {
2934
- ctx.conditionRules.textColor.color = colorRules.textColor;
2935
- ctx.conditionRules.cellColor.color = colorRules.cellColor;
2936
- ctx.rangeDialog.show = true;
2937
- ctx.rangeDialog.type = selectType;
2938
- ctx.rangeDialog.rangeTxt = ctx.conditionRules.rulesValue;
2939
- ctx.rangeDialog.singleSelect = true;
2940
- });
2941
- }, [colorRules.cellColor, colorRules.textColor, hideDialog, setContext]);
2942
3044
  var close = React.useCallback(function (closeType) {
2943
3045
  if (closeType === "confirm") {
2944
3046
  setContext(function (ctx) {
@@ -3007,16 +3109,17 @@ var ConditionRules = function ConditionRules(_ref) {
3007
3109
  ctx.rangeDialog.rangeTxt = "";
3008
3110
  });
3009
3111
  }, []);
3010
- var titleType = type === "top10_percent" ? "top10" : type === "last10_percent" ? "last10" : type;
3011
3112
  return /*#__PURE__*/React__default['default'].createElement("div", {
3012
3113
  className: "condition-rules"
3013
- }, !["aboveAverage", "belowAverage"].includes(type) && (/*#__PURE__*/React__default['default'].createElement("div", {
3014
- className: "flex flex-col"
3015
3114
  }, /*#__PURE__*/React__default['default'].createElement("div", {
3016
- className: "condition-rules-value text-heading-xsm"
3017
- }, conditionformat["conditionformat_".concat(titleType, "_title")]), (type === "greaterThan" || type === "lessThan" || type === "equal" || type === "textContains") && (/*#__PURE__*/React__default['default'].createElement("div", {
3018
- className: "w-full"
3019
- }, /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
3115
+ className: "condition-rules-title"
3116
+ }, conditionformat["conditionformat_".concat(type)]), /*#__PURE__*/React__default['default'].createElement("div", {
3117
+ className: "conditin-rules-value"
3118
+ }, conditionformat["conditionformat_".concat(type, "_title")]), (type === "greaterThan" || type === "lessThan" || type === "equal" || type === "textContains") && (/*#__PURE__*/React__default['default'].createElement("div", {
3119
+ className: "condition-rules-inpbox"
3120
+ }, /*#__PURE__*/React__default['default'].createElement("input", {
3121
+ className: "condition-rules-input",
3122
+ type: "text",
3020
3123
  value: context.conditionRules.rulesValue,
3021
3124
  onChange: function onChange(e) {
3022
3125
  var value = e.target.value;
@@ -3025,11 +3128,12 @@ var ConditionRules = function ConditionRules(_ref) {
3025
3128
  });
3026
3129
  }
3027
3130
  }))), type === "between" && (/*#__PURE__*/React__default['default'].createElement("div", {
3028
- className: "w-full flex gap-2 items-center"
3131
+ className: "condition-rules-between-box"
3029
3132
  }, /*#__PURE__*/React__default['default'].createElement("div", {
3030
- className: "w-full"
3031
- }, /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
3032
- placeholder: "From",
3133
+ className: "condition-rules-between-inpbox"
3134
+ }, /*#__PURE__*/React__default['default'].createElement("input", {
3135
+ className: "condition-rules-between-input",
3136
+ type: "text",
3033
3137
  value: context.conditionRules.betweenValue.value1,
3034
3138
  onChange: function onChange(e) {
3035
3139
  var value = e.target.value;
@@ -3037,10 +3141,15 @@ var ConditionRules = function ConditionRules(_ref) {
3037
3141
  ctx.conditionRules.betweenValue.value1 = value;
3038
3142
  });
3039
3143
  }
3040
- })), /*#__PURE__*/React__default['default'].createElement("div", {
3041
- className: "w-full"
3042
- }, /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
3043
- placeholder: "To",
3144
+ })), /*#__PURE__*/React__default['default'].createElement("span", {
3145
+ style: {
3146
+ margin: "0px 4px"
3147
+ }
3148
+ }, conditionformat.to), /*#__PURE__*/React__default['default'].createElement("div", {
3149
+ className: "condition-rules-between-inpbox"
3150
+ }, /*#__PURE__*/React__default['default'].createElement("input", {
3151
+ className: "condition-rules-between-input",
3152
+ type: "text",
3044
3153
  value: context.conditionRules.betweenValue.value2,
3045
3154
  onChange: function onChange(e) {
3046
3155
  var value = e.target.value;
@@ -3049,10 +3158,10 @@ var ConditionRules = function ConditionRules(_ref) {
3049
3158
  });
3050
3159
  }
3051
3160
  })))), type === "occurrenceDate" && (/*#__PURE__*/React__default['default'].createElement("div", {
3052
- className: "datepicker-toggle"
3161
+ className: "condition-rules-inpbox"
3053
3162
  }, /*#__PURE__*/React__default['default'].createElement("input", {
3054
3163
  type: "date",
3055
- className: "datepicker-input",
3164
+ className: "condition-rules-date",
3056
3165
  value: context.conditionRules.dateValue,
3057
3166
  onChange: function onChange(e) {
3058
3167
  var value = e.target.value;
@@ -3060,101 +3169,50 @@ var ConditionRules = function ConditionRules(_ref) {
3060
3169
  ctx.conditionRules.dateValue = value;
3061
3170
  });
3062
3171
  }
3063
- }), /*#__PURE__*/React__default['default'].createElement("span", {
3064
- className: "datepicker-toggle-button"
3065
- }))), type === "duplicateValue" && (/*#__PURE__*/React__default['default'].createElement(ui.Select, {
3066
- value: context.conditionRules.repeatValue,
3067
- onValueChange: function onValueChange(value) {
3172
+ }))), type === "duplicateValue" && (/*#__PURE__*/React__default['default'].createElement("select", {
3173
+ className: "condition-rules-select",
3174
+ onChange: function onChange(e) {
3175
+ var value = e.target.value;
3068
3176
  setContext(function (ctx) {
3069
3177
  ctx.conditionRules.repeatValue = value;
3070
3178
  });
3071
3179
  }
3072
- }, /*#__PURE__*/React__default['default'].createElement(ui.SelectTrigger, null, /*#__PURE__*/React__default['default'].createElement(ui.SelectValue, null)), /*#__PURE__*/React__default['default'].createElement(ui.SelectContent, {
3073
- className: "condition-rules-select"
3074
- }, /*#__PURE__*/React__default['default'].createElement(ui.SelectItem, {
3180
+ }, /*#__PURE__*/React__default['default'].createElement("option", {
3075
3181
  value: "0"
3076
- }, conditionformat.duplicateValue), /*#__PURE__*/React__default['default'].createElement(ui.SelectItem, {
3182
+ }, conditionformat.duplicateValue), /*#__PURE__*/React__default['default'].createElement("option", {
3077
3183
  value: "1"
3078
- }, conditionformat.uniqueValue)))), (type === "top10" || type === "top10_percent" || type === "last10" || type === "last10_percent") && (/*#__PURE__*/React__default['default'].createElement("div", {
3184
+ }, conditionformat.uniqueValue))), (type === "top10" || type === "top10_percent" || type === "last10" || type === "last10_percent") && (/*#__PURE__*/React__default['default'].createElement("div", {
3079
3185
  className: "condition-rules-project-box"
3080
- }, type === "top10" || type === "top10_percent" ? conditionformat.top : conditionformat.last, /*#__PURE__*/React__default['default'].createElement("div", {
3081
- className: "flex items-center"
3082
- }, /*#__PURE__*/React__default['default'].createElement(ui.IconButton, {
3083
- icon: "Minus",
3084
- variant: "ghost",
3085
- className: "!bg-transparent",
3086
- disabled: Number(context.conditionRules.projectValue) <= 1,
3087
- onClick: function onClick() {
3088
- setContext(function (ctx) {
3089
- var current = Number(ctx.conditionRules.projectValue) || 0;
3090
- ctx.conditionRules.projectValue = String(Math.max(current - 1, 1));
3091
- });
3092
- }
3093
- }), /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
3094
- className: "condition-rules-project-input pr-0",
3186
+ }, type === "top10" || type === "top10_percent" ? conditionformat.top : conditionformat.last, /*#__PURE__*/React__default['default'].createElement("input", {
3187
+ className: "condition-rules-project-input",
3095
3188
  type: "number",
3096
- min: 1,
3097
- max: type === "top10" || type === "last10" ? 10 : 100,
3098
3189
  value: context.conditionRules.projectValue,
3099
3190
  onChange: function onChange(e) {
3100
3191
  var value = e.target.value;
3101
3192
  setContext(function (ctx) {
3102
3193
  ctx.conditionRules.projectValue = value;
3103
3194
  });
3104
- },
3105
- rightIcon: type === "top10" || type === "last10" ? (/*#__PURE__*/React__default['default'].createElement("span", {
3106
- className: "color-icon-secondary"
3107
- }, conditionformat.oneself)) : (/*#__PURE__*/React__default['default'].createElement("span", {
3108
- className: "color-icon-secondary"
3109
- }, "%"))
3110
- }), /*#__PURE__*/React__default['default'].createElement(ui.IconButton, {
3111
- icon: "Plus",
3112
- variant: "ghost",
3113
- className: "!bg-transparent",
3114
- disabled: Number(context.conditionRules.projectValue) >= (type === "top10" || type === "last10" ? 10 : 100),
3115
- onClick: function onClick() {
3116
- setContext(function (ctx) {
3117
- var current = Number(ctx.conditionRules.projectValue) || 0;
3118
- ctx.conditionRules.projectValue = String(current + 1);
3119
- });
3120
- }
3121
- })))))), /*#__PURE__*/React__default['default'].createElement("div", {
3122
- className: "flex flex-col"
3123
- }, /*#__PURE__*/React__default['default'].createElement("div", {
3124
- className: "condition-rules-value text-heading-xsm"
3125
- }, conditionformat.applyRange), /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
3126
- rightIcon: /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
3127
- name: "Grid2x2",
3128
- size: "sm"
3129
- }),
3130
- "aria-hidden": "true",
3131
- readOnly: true,
3132
- placeholder: conditionformat.selectRange,
3133
- value: getDisplayedRangeTxt(context),
3134
- onClick: function onClick() {
3135
- dataSelectRange("conditionRules".concat(type));
3136
3195
  }
3137
- })), /*#__PURE__*/React__default['default'].createElement("div", {
3138
- className: "flex flex-col"
3139
- }, /*#__PURE__*/React__default['default'].createElement("div", {
3140
- className: "condition-rules-set-title text-heading-xsm"
3196
+ }), type === "top10" || type === "last10" ? conditionformat.oneself : "%")), /*#__PURE__*/React__default['default'].createElement("div", {
3197
+ className: "condition-rules-set-title"
3141
3198
  }, "".concat(conditionformat.setAs, "\uFF1A")), /*#__PURE__*/React__default['default'].createElement("div", {
3142
3199
  className: "condition-rules-setbox"
3143
3200
  }, /*#__PURE__*/React__default['default'].createElement("div", {
3144
3201
  className: "condition-rules-set"
3145
3202
  }, /*#__PURE__*/React__default['default'].createElement("div", {
3146
3203
  className: "condition-rules-color"
3147
- }, /*#__PURE__*/React__default['default'].createElement("span", {
3148
- id: "checkTextColor"
3149
- }, /*#__PURE__*/React__default['default'].createElement(ui.Checkbox, {
3204
+ }, /*#__PURE__*/React__default['default'].createElement("input", {
3205
+ id: "checkTextColor",
3206
+ type: "checkbox",
3207
+ className: "condition-rules-check",
3150
3208
  checked: context.conditionRules.textColor.check,
3151
- onCheckedChange: function onCheckedChange(e) {
3209
+ onChange: function onChange(e) {
3152
3210
  var checked = e.target.checked;
3153
3211
  setContext(function (ctx) {
3154
3212
  ctx.conditionRules.textColor.check = checked;
3155
3213
  });
3156
3214
  }
3157
- })), /*#__PURE__*/React__default['default'].createElement("label", {
3215
+ }), /*#__PURE__*/React__default['default'].createElement("label", {
3158
3216
  htmlFor: "checkTextColor",
3159
3217
  className: "condition-rules-label"
3160
3218
  }, conditionformat.textColor), /*#__PURE__*/React__default['default'].createElement("input", {
@@ -3171,17 +3229,18 @@ var ConditionRules = function ConditionRules(_ref) {
3171
3229
  className: "condition-rules-set"
3172
3230
  }, /*#__PURE__*/React__default['default'].createElement("div", {
3173
3231
  className: "condition-rules-color"
3174
- }, /*#__PURE__*/React__default['default'].createElement("span", {
3175
- id: "checkCellColor"
3176
- }, /*#__PURE__*/React__default['default'].createElement(ui.Checkbox, {
3232
+ }, /*#__PURE__*/React__default['default'].createElement("input", {
3233
+ id: "checkCellColor",
3234
+ type: "checkbox",
3235
+ className: "condition-rules-check",
3177
3236
  checked: context.conditionRules.cellColor.check,
3178
- onCheckedChange: function onCheckedChange(e) {
3237
+ onChange: function onChange(e) {
3179
3238
  var checked = e.target.checked;
3180
3239
  setContext(function (ctx) {
3181
3240
  ctx.conditionRules.cellColor.check = checked;
3182
3241
  });
3183
3242
  }
3184
- })), /*#__PURE__*/React__default['default'].createElement("label", {
3243
+ }), /*#__PURE__*/React__default['default'].createElement("label", {
3185
3244
  htmlFor: "checkCellColor",
3186
3245
  className: "condition-rules-label"
3187
3246
  }, conditionformat.cellColor), /*#__PURE__*/React__default['default'].createElement("input", {
@@ -3194,32 +3253,23 @@ var ConditionRules = function ConditionRules(_ref) {
3194
3253
  draft.cellColor = value;
3195
3254
  }));
3196
3255
  }
3197
- }))))), /*#__PURE__*/React__default['default'].createElement(ui.Divider, {
3198
- className: "w-full border-t-[1px]"
3199
- }), /*#__PURE__*/React__default['default'].createElement("div", {
3200
- className: "flex gap-2 justify-end"
3201
- }, /*#__PURE__*/React__default['default'].createElement(ui.Button, {
3202
- variant: "secondary",
3203
- style: {
3204
- minWidth: "80px"
3205
- },
3256
+ })))), /*#__PURE__*/React__default['default'].createElement("div", {
3257
+ className: "button-basic button-primary",
3206
3258
  onClick: function onClick() {
3207
- close("close");
3259
+ close("confirm");
3208
3260
  },
3209
3261
  tabIndex: 0
3210
- }, button.cancel), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
3211
- variant: "default",
3212
- style: {
3213
- minWidth: "80px"
3214
- },
3262
+ }, button.confirm), /*#__PURE__*/React__default['default'].createElement("div", {
3263
+ className: "button-basic button-close",
3215
3264
  onClick: function onClick() {
3216
- close("confirm");
3265
+ close("close");
3217
3266
  },
3218
3267
  tabIndex: 0
3219
- }, button.apply)));
3268
+ }, button.cancel));
3220
3269
  };
3221
3270
 
3222
3271
  var RangeDialog = function RangeDialog() {
3272
+ var _context$rangeDialog$, _context$rangeDialog;
3223
3273
  var _useContext = React.useContext(WorkbookContext),
3224
3274
  context = _useContext.context,
3225
3275
  setContext = _useContext.setContext;
@@ -3228,7 +3278,7 @@ var RangeDialog = function RangeDialog() {
3228
3278
  var _locale = fortuneCore.locale(context),
3229
3279
  dataVerification = _locale.dataVerification,
3230
3280
  button = _locale.button;
3231
- var _useState = React.useState(getDisplayedRangeTxt(context)),
3281
+ var _useState = React.useState((_context$rangeDialog$ = (_context$rangeDialog = context.rangeDialog) === null || _context$rangeDialog === void 0 ? void 0 : _context$rangeDialog.rangeTxt) !== null && _context$rangeDialog$ !== void 0 ? _context$rangeDialog$ : ""),
3232
3282
  _useState2 = _slicedToArray(_useState, 2),
3233
3283
  rangeTxt2 = _useState2[0],
3234
3284
  setRangeTxt2 = _useState2[1];
@@ -3242,24 +3292,30 @@ var RangeDialog = function RangeDialog() {
3242
3292
  if (rangeDialogType.indexOf("between") >= 0) {
3243
3293
  showDialog(/*#__PURE__*/React__default['default'].createElement(ConditionRules, {
3244
3294
  type: "between"
3245
- }), undefined, fortuneCore.locale(context).conditionformat.conditionformat_between);
3295
+ }));
3246
3296
  return;
3247
3297
  }
3248
3298
  if (rangeDialogType.indexOf("conditionRules") >= 0) {
3249
3299
  var rulesType = rangeDialogType.substring("conditionRules".length, rangeDialogType.length);
3250
3300
  showDialog(/*#__PURE__*/React__default['default'].createElement(ConditionRules, {
3251
3301
  type: rulesType
3252
- }), undefined, fortuneCore.locale(context).conditionformat["conditionformat_".concat(rulesType)]);
3302
+ }));
3253
3303
  return;
3254
3304
  }
3255
3305
  showDialog(/*#__PURE__*/React__default['default'].createElement(DataVerification, null));
3256
- }, [setContext, showDialog, context]);
3306
+ }, [context.rangeDialog, setContext, showDialog]);
3257
3307
  React.useEffect(function () {
3258
- setRangeTxt2(getDisplayedRangeTxt(context));
3308
+ setRangeTxt2(function (r) {
3309
+ if (context.luckysheet_select_save) {
3310
+ var range = context.luckysheet_select_save[context.luckysheet_select_save.length - 1];
3311
+ r = fortuneCore.getRangetxt(context, context.currentSheetId, range, context.currentSheetId);
3312
+ return r;
3313
+ }
3314
+ return "";
3315
+ });
3259
3316
  }, [context, context.luckysheet_select_save]);
3260
3317
  return /*#__PURE__*/React__default['default'].createElement("div", {
3261
3318
  id: "range-dialog",
3262
- className: "fortune-dialog",
3263
3319
  onClick: function onClick(e) {
3264
3320
  return e.stopPropagation();
3265
3321
  },
@@ -3277,34 +3333,15 @@ var RangeDialog = function RangeDialog() {
3277
3333
  },
3278
3334
  tabIndex: 0
3279
3335
  }, /*#__PURE__*/React__default['default'].createElement("div", {
3280
- className: ui.cn("flex items-center justify-between border-b color-border-default py-3 px-6")
3281
- }, /*#__PURE__*/React__default['default'].createElement("div", {
3282
- className: "text-heading-sm"
3283
- }, dataVerification.selectCellRange), /*#__PURE__*/React__default['default'].createElement(ui.IconButton, {
3284
- icon: "X",
3285
- variant: "ghost",
3286
- onClick: close,
3287
- tabIndex: 0
3288
- })), /*#__PURE__*/React__default['default'].createElement("div", {
3289
- className: "px-6 pb-6 pt-4 text-body-sm"
3290
- }, /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
3291
- className: "w-full",
3336
+ className: "dialog-title"
3337
+ }, dataVerification.selectCellRange), /*#__PURE__*/React__default['default'].createElement("input", {
3292
3338
  readOnly: true,
3293
3339
  placeholder: dataVerification.selectCellRange2,
3294
3340
  value: rangeTxt2
3295
- })), /*#__PURE__*/React__default['default'].createElement("div", {
3296
- className: "px-6 pb-6 flex flex-row gap-2 justify-end"
3297
- }, /*#__PURE__*/React__default['default'].createElement(ui.Button, {
3298
- variant: "secondary",
3299
- style: {
3300
- minWidth: "80px"
3301
- },
3302
- onClick: close,
3303
- tabIndex: 0
3304
- }, button.close), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
3305
- variant: "default",
3341
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
3342
+ className: "button-basic button-primary",
3306
3343
  style: {
3307
- minWidth: "80px"
3344
+ marginLeft: "6px"
3308
3345
  },
3309
3346
  onClick: function onClick() {
3310
3347
  setContext(function (ctx) {
@@ -3313,7 +3350,13 @@ var RangeDialog = function RangeDialog() {
3313
3350
  close();
3314
3351
  },
3315
3352
  tabIndex: 0
3316
- }, button.confirm)));
3353
+ }, button.confirm), /*#__PURE__*/React__default['default'].createElement("div", {
3354
+ className: "button-basic button-close",
3355
+ onClick: function onClick() {
3356
+ close();
3357
+ },
3358
+ tabIndex: 0
3359
+ }, button.close));
3317
3360
  };
3318
3361
 
3319
3362
  function useOutsideClick(containerRef, handler, deps, optionalContainerRef) {
@@ -4232,6 +4275,7 @@ var Combo = function Combo(_ref) {
4232
4275
  var openState = React.useRef(false);
4233
4276
  var triggerRef = React.useRef(null);
4234
4277
  useOutsideClick(popupRef, function () {
4278
+ console.log("Combo useOutsideClick", openState.current);
4235
4279
  setOpen(false);
4236
4280
  openState.current = false;
4237
4281
  }, [], triggerRef);
@@ -4263,8 +4307,10 @@ var Combo = function Combo(_ref) {
4263
4307
  ref: triggerRef,
4264
4308
  className: "fortune-toolbar-combo-button",
4265
4309
  onClick: function onClick(e) {
4310
+ console.log("Combo onClick pop ref", popupRef.current, "ll", document.getElementsByClassName("fortune-toolbar-combo-popup"));
4266
4311
  openState.current = !openState.current;
4267
4312
  setOpen(openState.current);
4313
+ console.log("Combo onClick", iconId, _onClick, open, openState.current, e, e.target);
4268
4314
  if (_onClick) _onClick(e);else setOpen(openState.current);
4269
4315
  },
4270
4316
  tabIndex: 0,
@@ -4280,7 +4326,7 @@ var Combo = function Combo(_ref) {
4280
4326
  className: "fortune-tooltip"
4281
4327
  }, tooltip)), open && (/*#__PURE__*/React__default['default'].createElement("div", {
4282
4328
  ref: popupRef,
4283
- className: "fortune-toolbar-combo-popup color-text-default",
4329
+ className: "fortune-toolbar-combo-popup",
4284
4330
  style: popupPosition
4285
4331
  }, children === null || children === void 0 ? void 0 : children(setOpen))));
4286
4332
  };
@@ -4312,42 +4358,241 @@ var Option = function Option(_ref2) {
4312
4358
  }, iconId && /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
4313
4359
  name: iconId
4314
4360
  }), /*#__PURE__*/React__default['default'].createElement("div", {
4315
- className: "fortuen-toolbar-text color-text-default text-body-sm"
4361
+ className: "fortuen-toolbar-text"
4316
4362
  }, children));
4317
4363
  };
4318
4364
 
4319
- var SplitColumn = function SplitColumn() {
4365
+ var FormulaSearch$1 = function FormulaSearch(_ref) {
4366
+ var _onCancel = _ref.onCancel;
4320
4367
  var _useContext = React.useContext(WorkbookContext),
4321
4368
  context = _useContext.context,
4322
- setContext = _useContext.setContext;
4323
- var _locale = fortuneCore.locale(context),
4324
- splitText = _locale.splitText,
4325
- button = _locale.button;
4326
- var _useState = React.useState(""),
4369
+ setContext = _useContext.setContext,
4370
+ _useContext$refs = _useContext.refs,
4371
+ cellInput = _useContext$refs.cellInput,
4372
+ globalCache = _useContext$refs.globalCache;
4373
+ var _useState = React.useState(20),
4327
4374
  _useState2 = _slicedToArray(_useState, 2),
4328
- splitOperate = _useState2[0],
4329
- setSplitOperate = _useState2[1];
4330
- var _useState3 = React.useState(false),
4375
+ selectedType = _useState2[0],
4376
+ setSelectedType = _useState2[1];
4377
+ var _useState3 = React.useState(0),
4331
4378
  _useState4 = _slicedToArray(_useState3, 2),
4332
- otherFlag = _useState4[0],
4333
- setOtherFlag = _useState4[1];
4334
- var _useState5 = React.useState([]),
4379
+ selectedFuncIndex = _useState4[0],
4380
+ setSelectedFuncIndex = _useState4[1];
4381
+ var _useState5 = React.useState(""),
4335
4382
  _useState6 = _slicedToArray(_useState5, 2),
4336
- tableData = _useState6[0],
4337
- setTableData = _useState6[1];
4338
- var splitSymbols = React.useRef(null);
4339
- var _useDialog = useDialog(),
4340
- showDialog = _useDialog.showDialog,
4341
- hideDialog = _useDialog.hideDialog;
4342
- var certainBtn = React.useCallback(function () {
4343
- hideDialog();
4344
- var dataArr = fortuneCore.getDataArr(splitOperate, context);
4345
- var r = context.luckysheet_select_save[0].row[0];
4346
- var c = context.luckysheet_select_save[0].column[0];
4347
- if (dataArr[0].length === 1) {
4348
- return;
4383
+ searchText = _useState6[0],
4384
+ setSearchText = _useState6[1];
4385
+ var _locale = fortuneCore.locale(context),
4386
+ formulaMore = _locale.formulaMore,
4387
+ functionlist = _locale.functionlist,
4388
+ button = _locale.button;
4389
+ var typeList = React.useMemo(function () {
4390
+ return [{
4391
+ t: 20,
4392
+ n: formulaMore.Crypto
4393
+ }, {
4394
+ t: 0,
4395
+ n: formulaMore.Math
4396
+ }, {
4397
+ t: 1,
4398
+ n: formulaMore.Statistical
4399
+ }, {
4400
+ t: 2,
4401
+ n: formulaMore.Lookup
4402
+ }, {
4403
+ t: 3,
4404
+ n: formulaMore.luckysheet
4405
+ }, {
4406
+ t: 4,
4407
+ n: formulaMore.dataMining
4408
+ }, {
4409
+ t: 5,
4410
+ n: formulaMore.Database
4411
+ }, {
4412
+ t: 6,
4413
+ n: formulaMore.Date
4414
+ }, {
4415
+ t: 7,
4416
+ n: formulaMore.Filter
4417
+ }, {
4418
+ t: 8,
4419
+ n: formulaMore.Financial
4420
+ }, {
4421
+ t: 9,
4422
+ n: formulaMore.Engineering
4423
+ }, {
4424
+ t: 10,
4425
+ n: formulaMore.Logical
4426
+ }, {
4427
+ t: 11,
4428
+ n: formulaMore.Operator
4429
+ }, {
4430
+ t: 12,
4431
+ n: formulaMore.Text
4432
+ }, {
4433
+ t: 13,
4434
+ n: formulaMore.Parser
4435
+ }, {
4436
+ t: 14,
4437
+ n: formulaMore.Array
4438
+ }, {
4439
+ t: -1,
4440
+ n: formulaMore.other
4441
+ }];
4442
+ }, [formulaMore]);
4443
+ var filteredFunctionList = React.useMemo(function () {
4444
+ if (searchText) {
4445
+ var list = [];
4446
+ var text = ___default['default'].cloneDeep(searchText.toUpperCase());
4447
+ for (var i = 0; i < functionlist.length; i += 1) {
4448
+ if (/^[a-zA-Z]+$/.test(text)) {
4449
+ if (functionlist[i].n.indexOf(text) !== -1) {
4450
+ list.push(functionlist[i]);
4451
+ }
4452
+ } else if (functionlist[i].a.indexOf(text) !== -1) {
4453
+ list.push(functionlist[i]);
4454
+ }
4455
+ }
4456
+ return list;
4349
4457
  }
4350
- var dataCover = false;
4458
+ return ___default['default'].filter(functionlist, function (v) {
4459
+ return v.t === selectedType;
4460
+ });
4461
+ }, [functionlist, selectedType, searchText]);
4462
+ var onConfirm = React.useCallback(function () {
4463
+ var _context$luckysheet_s;
4464
+ var last = (_context$luckysheet_s = context.luckysheet_select_save) === null || _context$luckysheet_s === void 0 ? void 0 : _context$luckysheet_s[context.luckysheet_select_save.length - 1];
4465
+ var row_index = last === null || last === void 0 ? void 0 : last.row_focus;
4466
+ var col_index = last === null || last === void 0 ? void 0 : last.column_focus;
4467
+ if (!last) {
4468
+ row_index = 0;
4469
+ col_index = 0;
4470
+ } else {
4471
+ if (row_index == null) {
4472
+ var _last$row = _slicedToArray(last.row, 1);
4473
+ row_index = _last$row[0];
4474
+ }
4475
+ if (col_index == null) {
4476
+ var _last$column = _slicedToArray(last.column, 1);
4477
+ col_index = _last$column[0];
4478
+ }
4479
+ }
4480
+ var formulaTxt = "<span dir=\"auto\" class=\"luckysheet-formula-text-color\">=</span><span dir=\"auto\" class=\"luckysheet-formula-text-color\">".concat(filteredFunctionList[selectedFuncIndex].n.toUpperCase(), "</span><span dir=\"auto\" class=\"luckysheet-formula-text-color\">(</span>");
4481
+ setContext(function (ctx) {
4482
+ if (cellInput.current != null) {
4483
+ ctx.luckysheetCellUpdate = [row_index, col_index];
4484
+ globalCache.doNotUpdateCell = true;
4485
+ cellInput.current.innerHTML = formulaTxt;
4486
+ var spans = cellInput.current.childNodes;
4487
+ if (!___default['default'].isEmpty(spans)) {
4488
+ fortuneCore.setCaretPosition(ctx, spans[spans.length - 1], 0, 1);
4489
+ }
4490
+ ctx.functionHint = filteredFunctionList[selectedFuncIndex].n.toUpperCase();
4491
+ ctx.functionCandidates = [];
4492
+ if (___default['default'].isEmpty(ctx.formulaCache.functionlistMap)) {
4493
+ for (var i = 0; i < functionlist.length; i += 1) {
4494
+ ctx.formulaCache.functionlistMap[functionlist[i].n] = functionlist[i];
4495
+ }
4496
+ }
4497
+ _onCancel();
4498
+ }
4499
+ });
4500
+ }, [cellInput, context.luckysheet_select_save, filteredFunctionList, globalCache, selectedFuncIndex, setContext, _onCancel, functionlist]);
4501
+ var onCancel = React.useCallback(function () {
4502
+ setContext(function (ctx) {
4503
+ fortuneCore.cancelNormalSelected(ctx);
4504
+ if (cellInput.current) {
4505
+ cellInput.current.innerHTML = "";
4506
+ }
4507
+ });
4508
+ _onCancel();
4509
+ }, [_onCancel, cellInput, setContext]);
4510
+ return /*#__PURE__*/React__default['default'].createElement("div", {
4511
+ id: "luckysheet-search-formula"
4512
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
4513
+ className: "inpbox"
4514
+ }, /*#__PURE__*/React__default['default'].createElement("div", null, formulaMore.findFunctionTitle, "\uFF1A"), /*#__PURE__*/React__default['default'].createElement("input", {
4515
+ className: "formulaInputFocus",
4516
+ id: "searchFormulaListInput",
4517
+ placeholder: formulaMore.tipInputFunctionName,
4518
+ spellCheck: "false",
4519
+ onChange: function onChange(e) {
4520
+ return setSearchText(e.target.value);
4521
+ }
4522
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
4523
+ className: "selbox"
4524
+ }, /*#__PURE__*/React__default['default'].createElement("span", null, formulaMore.selectCategory, "\uFF1A"), /*#__PURE__*/React__default['default'].createElement("select", {
4525
+ id: "formulaTypeSelect",
4526
+ onChange: function onChange(e) {
4527
+ setSelectedType(parseInt(e.target.value, 10));
4528
+ setSelectedFuncIndex(0);
4529
+ }
4530
+ }, typeList.map(function (v) {
4531
+ return /*#__PURE__*/React__default['default'].createElement("option", {
4532
+ key: v.t,
4533
+ value: v.t
4534
+ }, v.n);
4535
+ }))), /*#__PURE__*/React__default['default'].createElement("div", {
4536
+ className: "listbox",
4537
+ style: {
4538
+ height: 200
4539
+ }
4540
+ }, /*#__PURE__*/React__default['default'].createElement("div", null, formulaMore.selectFunctionTitle, "\uFF1A"), /*#__PURE__*/React__default['default'].createElement("div", {
4541
+ className: "formulaList"
4542
+ }, filteredFunctionList.map(function (v, index) {
4543
+ return /*#__PURE__*/React__default['default'].createElement("div", {
4544
+ className: "listBox".concat(index === selectedFuncIndex ? " on" : ""),
4545
+ key: v.n,
4546
+ onClick: function onClick() {
4547
+ return setSelectedFuncIndex(index);
4548
+ },
4549
+ tabIndex: 0
4550
+ }, /*#__PURE__*/React__default['default'].createElement("div", null, v.n), /*#__PURE__*/React__default['default'].createElement("div", null, v.a));
4551
+ }))), /*#__PURE__*/React__default['default'].createElement("div", {
4552
+ className: "fortune-dialog-box-button-container"
4553
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
4554
+ className: "fortune-message-box-button button-primary",
4555
+ onClick: onConfirm,
4556
+ tabIndex: 0
4557
+ }, button.confirm), /*#__PURE__*/React__default['default'].createElement("div", {
4558
+ className: "fortune-message-box-button button-default",
4559
+ onClick: onCancel,
4560
+ tabIndex: 0
4561
+ }, button.cancel)));
4562
+ };
4563
+
4564
+ var SplitColumn = function SplitColumn() {
4565
+ var _useContext = React.useContext(WorkbookContext),
4566
+ context = _useContext.context,
4567
+ setContext = _useContext.setContext;
4568
+ var _locale = fortuneCore.locale(context),
4569
+ splitText = _locale.splitText,
4570
+ button = _locale.button;
4571
+ var _useState = React.useState(""),
4572
+ _useState2 = _slicedToArray(_useState, 2),
4573
+ splitOperate = _useState2[0],
4574
+ setSplitOperate = _useState2[1];
4575
+ var _useState3 = React.useState(false),
4576
+ _useState4 = _slicedToArray(_useState3, 2),
4577
+ otherFlag = _useState4[0],
4578
+ setOtherFlag = _useState4[1];
4579
+ var _useState5 = React.useState([]),
4580
+ _useState6 = _slicedToArray(_useState5, 2),
4581
+ tableData = _useState6[0],
4582
+ setTableData = _useState6[1];
4583
+ var splitSymbols = React.useRef(null);
4584
+ var _useDialog = useDialog(),
4585
+ showDialog = _useDialog.showDialog,
4586
+ hideDialog = _useDialog.hideDialog;
4587
+ var certainBtn = React.useCallback(function () {
4588
+ hideDialog();
4589
+ var dataArr = fortuneCore.getDataArr(splitOperate, context);
4590
+ var r = context.luckysheet_select_save[0].row[0];
4591
+ var c = context.luckysheet_select_save[0].column[0];
4592
+ if (dataArr[0].length === 1) {
4593
+ return;
4594
+ }
4595
+ var dataCover = false;
4351
4596
  var data = fortuneCore.getFlowdata(context);
4352
4597
  for (var i = 0; i < dataArr.length; i += 1) {
4353
4598
  for (var j = 1; j < dataArr[0].length; j += 1) {
@@ -4359,7 +4604,7 @@ var SplitColumn = function SplitColumn() {
4359
4604
  }
4360
4605
  }
4361
4606
  if (dataCover) {
4362
- showDialog(splitText.splitConfirmToExe, "yesno", undefined, function () {
4607
+ showDialog(splitText.splitConfirmToExe, "yesno", function () {
4363
4608
  hideDialog();
4364
4609
  setContext(function (ctx) {
4365
4610
  fortuneCore.updateMoreCell(r, c, dataArr, ctx);
@@ -4682,53 +4927,33 @@ var ConditionalFormat = function ConditionalFormat(_ref) {
4682
4927
  showDialog = _useDialog.showDialog;
4683
4928
  var _locale = fortuneCore.locale(context),
4684
4929
  conditionformat = _locale.conditionformat;
4685
- var activeSubMenuRef = React.useRef(null);
4686
- var updateSubMenuPosition = React.useCallback(function (subMenu, menuItem) {
4687
- var menuItemRect = menuItem.getBoundingClientRect();
4688
- var workbookContainerRect = refs.workbookContainer.current.getBoundingClientRect();
4689
- var subMenuWidth = subMenu.offsetWidth;
4690
- var availableSpace = workbookContainerRect.right - menuItemRect.right;
4691
- if (availableSpace < subMenuWidth) {
4692
- subMenu.style.right = "108%";
4693
- } else {
4694
- subMenu.style.right = "-100%";
4695
- }
4696
- }, [refs.workbookContainer]);
4697
4930
  var showSubMenu = React.useCallback(function (e) {
4698
4931
  var target = e.target;
4699
4932
  var menuItem = target.className === "fortune-toolbar-menu-line" ? target.parentElement : target;
4933
+ var menuItemRect = menuItem.getBoundingClientRect();
4934
+ var workbookContainerRect = refs.workbookContainer.current.getBoundingClientRect();
4700
4935
  var subMenu = menuItem.querySelector(".condition-format-sub-menu");
4701
4936
  if (___default['default'].isNil(subMenu)) return;
4702
- subMenu.style.display = "block";
4703
- activeSubMenuRef.current = subMenu;
4704
- updateSubMenuPosition(subMenu, menuItem);
4705
- }, [updateSubMenuPosition]);
4937
+ var menuItemStyle = window.getComputedStyle(menuItem);
4938
+ var menuItemPaddingRight = parseFloat(menuItemStyle.getPropertyValue("padding-right").replace("px", ""));
4939
+ if (workbookContainerRect.right - menuItemRect.right < parseFloat(subMenu.style.width.replace("px", ""))) {
4940
+ subMenu.style.display = "block";
4941
+ subMenu.style.right = "".concat(menuItemRect.width - menuItemPaddingRight, "px");
4942
+ } else {
4943
+ subMenu.style.display = "block";
4944
+ subMenu.style.right = "".concat(-(parseFloat(subMenu.style.width.replace("px", "")) + menuItemPaddingRight), "px");
4945
+ }
4946
+ }, [refs.workbookContainer]);
4706
4947
  var hideSubMenu = React.useCallback(function (e) {
4707
4948
  var target = e.target;
4708
4949
  if (target.className === "condition-format-sub-menu") {
4709
4950
  target.style.display = "none";
4710
- activeSubMenuRef.current = null;
4711
4951
  return;
4712
4952
  }
4713
4953
  var subMenu = target.className === "condition-format-item" ? target.parentElement : target.querySelector(".condition-format-sub-menu");
4714
4954
  if (___default['default'].isNil(subMenu)) return;
4715
4955
  subMenu.style.display = "none";
4716
- activeSubMenuRef.current = null;
4717
4956
  }, []);
4718
- React.useEffect(function () {
4719
- var handleResize = function handleResize() {
4720
- if (activeSubMenuRef.current) {
4721
- var menuItem = activeSubMenuRef.current.parentElement;
4722
- if (menuItem) {
4723
- updateSubMenuPosition(activeSubMenuRef.current, menuItem);
4724
- }
4725
- }
4726
- };
4727
- window.addEventListener("resize", handleResize);
4728
- return function () {
4729
- window.removeEventListener("resize", handleResize);
4730
- };
4731
- }, [updateSubMenuPosition]);
4732
4957
  var getConditionFormatItem = React.useCallback(function (name) {
4733
4958
  if (name === "-") {
4734
4959
  return /*#__PURE__*/React__default['default'].createElement(MenuDivider, {
@@ -4749,7 +4974,8 @@ var ConditionalFormat = function ConditionalFormat(_ref) {
4749
4974
  }), /*#__PURE__*/React__default['default'].createElement("div", {
4750
4975
  className: "condition-format-sub-menu",
4751
4976
  style: {
4752
- display: "none"
4977
+ display: "none",
4978
+ width: 150
4753
4979
  }
4754
4980
  }, [{
4755
4981
  text: "greaterThan",
@@ -4774,13 +5000,13 @@ var ConditionalFormat = function ConditionalFormat(_ref) {
4774
5000
  value: "##"
4775
5001
  }].map(function (v) {
4776
5002
  return /*#__PURE__*/React__default['default'].createElement("div", {
4777
- className: "condition-format-item text-body-sm color-text-default",
5003
+ className: "condition-format-item",
4778
5004
  key: v.text,
4779
5005
  onClick: function onClick() {
4780
- setOpen === null || setOpen === void 0 ? void 0 : setOpen(false);
5006
+ setOpen(false);
4781
5007
  showDialog(/*#__PURE__*/React__default['default'].createElement(ConditionRules, {
4782
5008
  type: v.text
4783
- }), undefined, conditionformat["conditionformat_".concat(v.text)]);
5009
+ }));
4784
5010
  },
4785
5011
  tabIndex: 0
4786
5012
  }, conditionformat[v.text], /*#__PURE__*/React__default['default'].createElement("span", null, v.value));
@@ -4799,7 +5025,8 @@ var ConditionalFormat = function ConditionalFormat(_ref) {
4799
5025
  }), /*#__PURE__*/React__default['default'].createElement("div", {
4800
5026
  className: "condition-format-sub-menu",
4801
5027
  style: {
4802
- display: "none"
5028
+ display: "none",
5029
+ width: 180
4803
5030
  }
4804
5031
  }, [{
4805
5032
  text: "top10",
@@ -4821,13 +5048,13 @@ var ConditionalFormat = function ConditionalFormat(_ref) {
4821
5048
  value: conditionformat.below
4822
5049
  }].map(function (v) {
4823
5050
  return /*#__PURE__*/React__default['default'].createElement("div", {
4824
- className: "condition-format-item text-body-sm color-text-default",
5051
+ className: "condition-format-item",
4825
5052
  key: v.text,
4826
5053
  onClick: function onClick() {
4827
- setOpen === null || setOpen === void 0 ? void 0 : setOpen(false);
5054
+ setOpen(false);
4828
5055
  showDialog(/*#__PURE__*/React__default['default'].createElement(ConditionRules, {
4829
5056
  type: v.text
4830
- }), undefined, conditionformat["conditionformat_".concat(v.text)]);
5057
+ }));
4831
5058
  },
4832
5059
  tabIndex: 0
4833
5060
  }, conditionformat[v.text], /*#__PURE__*/React__default['default'].createElement("span", null, v.value));
@@ -4876,11 +5103,12 @@ var ConditionalFormat = function ConditionalFormat(_ref) {
4876
5103
  }), /*#__PURE__*/React__default['default'].createElement("div", {
4877
5104
  className: "condition-format-sub-menu",
4878
5105
  style: {
4879
- display: "none"
5106
+ display: "none",
5107
+ width: 150
4880
5108
  }
4881
5109
  }, ["deleteSheetRule"].map(function (v) {
4882
5110
  return /*#__PURE__*/React__default['default'].createElement("div", {
4883
- className: "condition-format-item text-body-sm color-text-default",
5111
+ className: "condition-format-item",
4884
5112
  key: v,
4885
5113
  style: {
4886
5114
  padding: "6px 10px"
@@ -6119,10 +6347,9 @@ var Toolbar = function Toolbar(_ref) {
6119
6347
  }), /*#__PURE__*/React__default['default'].createElement(MenuDivider, null), /*#__PURE__*/React__default['default'].createElement(Option, {
6120
6348
  key: "formula",
6121
6349
  onClick: function onClick() {
6122
- var button = document.getElementById("function-button");
6123
- if (button) {
6124
- button.click();
6125
- }
6350
+ showDialog(/*#__PURE__*/React__default['default'].createElement(FormulaSearch$1, {
6351
+ onCancel: hideDialog
6352
+ }));
6126
6353
  setOpen(false);
6127
6354
  }
6128
6355
  }, "".concat(formula.find, "...")));
@@ -6447,11 +6674,7 @@ var Toolbar = function Toolbar(_ref) {
6447
6674
  key: name,
6448
6675
  tooltip: toolbar.sortAndFilter
6449
6676
  }, function (setOpen) {
6450
- return /*#__PURE__*/React__default['default'].createElement(Select, {
6451
- style: {
6452
- minWidth: "11.25rem"
6453
- }
6454
- }, _items8.map(function (_ref11, index) {
6677
+ return /*#__PURE__*/React__default['default'].createElement(Select, null, _items8.map(function (_ref11, index) {
6455
6678
  var text = _ref11.text,
6456
6679
  iconId = _ref11.iconId,
6457
6680
  value = _ref11.value,
@@ -6463,13 +6686,10 @@ var Toolbar = function Toolbar(_ref) {
6463
6686
  setOpen(false);
6464
6687
  }
6465
6688
  }, /*#__PURE__*/React__default['default'].createElement("div", {
6466
- className: "fortune-toolbar-menu-line gap-1",
6467
- style: {
6468
- justifyContent: "start"
6469
- }
6470
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
6689
+ className: "fortune-toolbar-menu-line"
6690
+ }, text, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
6471
6691
  name: iconId
6472
- }), text))) : (/*#__PURE__*/React__default['default'].createElement(MenuDivider, {
6692
+ })))) : (/*#__PURE__*/React__default['default'].createElement(MenuDivider, {
6473
6693
  key: "divider-".concat(index)
6474
6694
  }));
6475
6695
  }));
@@ -7227,6 +7447,120 @@ var Menu = function Menu(_ref) {
7227
7447
  }, children));
7228
7448
  };
7229
7449
 
7450
+ var CustomSort = function CustomSort() {
7451
+ var _useState = React.useState([]),
7452
+ _useState2 = _slicedToArray(_useState, 2),
7453
+ rangeColChar = _useState2[0],
7454
+ setRangeColChar = _useState2[1];
7455
+ var _useState3 = React.useState(true),
7456
+ _useState4 = _slicedToArray(_useState3, 2),
7457
+ ascOrDesc = _useState4[0],
7458
+ setAscOrDesc = _useState4[1];
7459
+ var _useContext = React.useContext(WorkbookContext),
7460
+ context = _useContext.context,
7461
+ setContext = _useContext.setContext;
7462
+ var _useState5 = React.useState("0"),
7463
+ _useState6 = _slicedToArray(_useState5, 2),
7464
+ selectedValue = _useState6[0],
7465
+ setSelectedValue = _useState6[1];
7466
+ var _useState7 = React.useState(false),
7467
+ _useState8 = _slicedToArray(_useState7, 2),
7468
+ isTitleChange = _useState8[0],
7469
+ setIstitleChange = _useState8[1];
7470
+ var _locale = fortuneCore.locale(context),
7471
+ sort = _locale.sort;
7472
+ var _useDialog = useDialog(),
7473
+ hideDialog = _useDialog.hideDialog;
7474
+ var col_start = context.luckysheet_select_save[0].column[0];
7475
+ var col_end = context.luckysheet_select_save[0].column[1];
7476
+ var row_start = context.luckysheet_select_save[0].row[0];
7477
+ var row_end = context.luckysheet_select_save[0].row[1];
7478
+ var sheetIndex = fortuneCore.getSheetIndex(context, context.currentSheetId);
7479
+ var handleSelectChange = function handleSelectChange(event) {
7480
+ setSelectedValue(event.target.value);
7481
+ };
7482
+ var handleRadioChange = React.useCallback(function (e) {
7483
+ var sortValue = e.target.value;
7484
+ setAscOrDesc(sortValue === "asc");
7485
+ }, []);
7486
+ var handleTitleChange = React.useCallback(function (e) {
7487
+ var value = e.target.checked;
7488
+ setIstitleChange(value);
7489
+ }, []);
7490
+ React.useEffect(function () {
7491
+ var list = [];
7492
+ if (isTitleChange) {
7493
+ for (var i = col_start; i <= col_end; i += 1) {
7494
+ var _context$luckysheetfi, _context$luckysheetfi2;
7495
+ var cell = (_context$luckysheetfi = context.luckysheetfile[sheetIndex].data) === null || _context$luckysheetfi === void 0 ? void 0 : (_context$luckysheetfi2 = _context$luckysheetfi[row_start]) === null || _context$luckysheetfi2 === void 0 ? void 0 : _context$luckysheetfi2[i];
7496
+ var colHeaderValue = (cell === null || cell === void 0 ? void 0 : cell.m) || (cell === null || cell === void 0 ? void 0 : cell.v);
7497
+ if (colHeaderValue) {
7498
+ list.push(colHeaderValue);
7499
+ } else {
7500
+ var ColumnChar = fortuneCore.indexToColumnChar(i);
7501
+ list.push("".concat(sort.columnOperation, " ").concat(ColumnChar));
7502
+ }
7503
+ }
7504
+ } else {
7505
+ for (var _i = col_start; _i <= col_end; _i += 1) {
7506
+ var _ColumnChar = fortuneCore.indexToColumnChar(_i);
7507
+ list.push(_ColumnChar);
7508
+ }
7509
+ }
7510
+ setRangeColChar(list);
7511
+ }, [col_end, col_start, context.luckysheetfile, isTitleChange, row_start, sheetIndex, sort.columnOperation]);
7512
+ return /*#__PURE__*/React__default['default'].createElement("div", {
7513
+ className: "fortune-sort"
7514
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
7515
+ className: "fortune-sort-title"
7516
+ }, /*#__PURE__*/React__default['default'].createElement("span", null, /*#__PURE__*/React__default['default'].createElement("span", null, sort.sortRangeTitle), fortuneCore.indexToColumnChar(col_start), row_start + 1, /*#__PURE__*/React__default['default'].createElement("span", null, sort.sortRangeTitleTo), fortuneCore.indexToColumnChar(col_end), row_end + 1)), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("div", {
7517
+ className: "fortune-sort-modal"
7518
+ }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("input", {
7519
+ type: "checkbox",
7520
+ id: "fortune-sort-haveheader",
7521
+ onChange: handleTitleChange
7522
+ }), /*#__PURE__*/React__default['default'].createElement("span", null, sort.hasTitle)), /*#__PURE__*/React__default['default'].createElement("div", {
7523
+ className: "fortune-sort-tablec"
7524
+ }, /*#__PURE__*/React__default['default'].createElement("table", {
7525
+ cellSpacing: "0"
7526
+ }, /*#__PURE__*/React__default['default'].createElement("tbody", null, /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("td", {
7527
+ style: {
7528
+ width: "190px"
7529
+ }
7530
+ }, sort.sortBy, /*#__PURE__*/React__default['default'].createElement("select", {
7531
+ name: "sort_0",
7532
+ onChange: handleSelectChange
7533
+ }, rangeColChar.map(function (col, index) {
7534
+ return /*#__PURE__*/React__default['default'].createElement("option", {
7535
+ value: index,
7536
+ key: index
7537
+ }, col);
7538
+ }))), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("input", {
7539
+ type: "radio",
7540
+ value: "asc",
7541
+ defaultChecked: true,
7542
+ name: "sort_0",
7543
+ onChange: handleRadioChange
7544
+ }), /*#__PURE__*/React__default['default'].createElement("span", null, sort.asc)), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("input", {
7545
+ type: "radio",
7546
+ value: "desc",
7547
+ name: "sort_0",
7548
+ onChange: handleRadioChange
7549
+ }), /*#__PURE__*/React__default['default'].createElement("span", null, sort.desc))))))))), /*#__PURE__*/React__default['default'].createElement("div", {
7550
+ className: "fortune-sort-button"
7551
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
7552
+ className: "button-basic button-primary",
7553
+ onClick: function onClick() {
7554
+ setContext(function (draftCtx) {
7555
+ fortuneCore.sortSelection(draftCtx, ascOrDesc, parseInt(selectedValue, 10));
7556
+ draftCtx.contextMenu = {};
7557
+ });
7558
+ hideDialog();
7559
+ },
7560
+ tabIndex: 0
7561
+ }, sort.confirm)));
7562
+ };
7563
+
7230
7564
  var ContextMenu = function ContextMenu() {
7231
7565
  var _useDialog = useDialog(),
7232
7566
  showDialog = _useDialog.showDialog;
@@ -7252,65 +7586,6 @@ var ContextMenu = function ContextMenu() {
7252
7586
  key: "divider-".concat(i)
7253
7587
  });
7254
7588
  }
7255
- if (name === "freeze-row") {
7256
- var freezeState = fortuneCore.getFreezeState(context);
7257
- var isFrozen = freezeState.isRowFrozen;
7258
- var isEntireRowSelected = (selection === null || selection === void 0 ? void 0 : selection.row_select) === true;
7259
- if (!isEntireRowSelected) return null;
7260
- return /*#__PURE__*/React__default['default'].createElement(Menu, {
7261
- key: "freeze-row",
7262
- onClick: function onClick() {
7263
- setContext(function (draftCtx) {
7264
- if (isFrozen) {
7265
- fortuneCore.toggleFreeze(draftCtx, "unfreeze-row");
7266
- } else {
7267
- fortuneCore.toggleFreeze(draftCtx, "row");
7268
- }
7269
- draftCtx.contextMenu = {};
7270
- });
7271
- }
7272
- }, /*#__PURE__*/React__default['default'].createElement("div", {
7273
- className: "context-item"
7274
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7275
- name: "freeze-flv",
7276
- width: 18,
7277
- height: 18,
7278
- style: {
7279
- marginTop: "4px",
7280
- marginRight: "4px"
7281
- }
7282
- }), isFrozen ? "Unfreeze row" : "Freeze to current row"));
7283
- }
7284
- if (name === "freeze-column") {
7285
- var _freezeState = fortuneCore.getFreezeState(context);
7286
- var _isFrozen = _freezeState.isColFrozen;
7287
- var isEntireColumnSelected = (selection === null || selection === void 0 ? void 0 : selection.column_select) === true;
7288
- if (!isEntireColumnSelected) return null;
7289
- return /*#__PURE__*/React__default['default'].createElement(Menu, {
7290
- key: "freeze-column",
7291
- onClick: function onClick() {
7292
- setContext(function (draftCtx) {
7293
- if (_isFrozen) {
7294
- fortuneCore.toggleFreeze(draftCtx, "unfreeze-column");
7295
- } else {
7296
- fortuneCore.toggleFreeze(draftCtx, "column");
7297
- fortuneCore.jfrefreshgrid(draftCtx, null, undefined, false);
7298
- }
7299
- draftCtx.contextMenu = {};
7300
- });
7301
- }
7302
- }, /*#__PURE__*/React__default['default'].createElement("div", {
7303
- className: "context-item"
7304
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7305
- name: "freeze-flv",
7306
- width: 18,
7307
- height: 18,
7308
- style: {
7309
- marginTop: "4px",
7310
- marginRight: "4px"
7311
- }
7312
- }), /*#__PURE__*/React__default['default'].createElement("p", null, _isFrozen ? "Unfreeze column" : "Freeze to current column")));
7313
- }
7314
7589
  if (name === "comment") {
7315
7590
  return /*#__PURE__*/React__default['default'].createElement(Menu, {
7316
7591
  key: name,
@@ -7429,14 +7704,19 @@ var ContextMenu = function ContextMenu() {
7429
7704
  }, /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7430
7705
  name: "insert-flv",
7431
7706
  width: 18,
7432
- height: 18
7433
- }), /*#__PURE__*/React__default['default'].createElement("div", null, ___default['default'].startsWith((_context$lang = context.lang) !== null && _context$lang !== void 0 ? _context$lang : "", "zh") && (/*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, rightclick.to, /*#__PURE__*/React__default['default'].createElement("span", {
7707
+ height: 18,
7708
+ style: {
7709
+ marginRight: "8px",
7710
+ position: "relative",
7711
+ top: "3px"
7712
+ }
7713
+ }), ___default['default'].startsWith((_context$lang = context.lang) !== null && _context$lang !== void 0 ? _context$lang : "", "zh") && (/*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, rightclick.to, /*#__PURE__*/React__default['default'].createElement("span", {
7434
7714
  className: "luckysheet-cols-rows-shift-".concat(dir)
7435
7715
  }, rightclick[dir]))), "".concat(rightclick.insert, " "), "1", /*#__PURE__*/React__default['default'].createElement("span", {
7436
7716
  className: "luckysheet-cols-rows-shift-word luckysheet-mousedown-cancel"
7437
7717
  }, " ".concat(rightclick.column, " ")), !___default['default'].startsWith((_context$lang2 = context.lang) !== null && _context$lang2 !== void 0 ? _context$lang2 : "", "zh") && (/*#__PURE__*/React__default['default'].createElement("span", {
7438
7718
  className: "luckysheet-cols-rows-shift-".concat(dir)
7439
- }, rightclick[dir])))));
7719
+ }, rightclick[dir]))));
7440
7720
  });
7441
7721
  }
7442
7722
  if (name === "insert-row") {
@@ -7472,14 +7752,19 @@ var ContextMenu = function ContextMenu() {
7472
7752
  }, /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7473
7753
  name: "insert-flv",
7474
7754
  width: 18,
7475
- height: 18
7476
- }), /*#__PURE__*/React__default['default'].createElement("div", null, ___default['default'].startsWith((_context$lang3 = context.lang) !== null && _context$lang3 !== void 0 ? _context$lang3 : "", "zh") && (/*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, rightclick.to, /*#__PURE__*/React__default['default'].createElement("span", {
7755
+ height: 18,
7756
+ style: {
7757
+ marginRight: "8px",
7758
+ position: "relative",
7759
+ top: "3px"
7760
+ }
7761
+ }), ___default['default'].startsWith((_context$lang3 = context.lang) !== null && _context$lang3 !== void 0 ? _context$lang3 : "", "zh") && (/*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, rightclick.to, /*#__PURE__*/React__default['default'].createElement("span", {
7477
7762
  className: "luckysheet-cols-rows-shift-".concat(dir)
7478
7763
  }, rightclick[dir]))), "".concat(rightclick.insert, " "), "1", /*#__PURE__*/React__default['default'].createElement("span", {
7479
7764
  className: "luckysheet-cols-rows-shift-word luckysheet-mousedown-cancel"
7480
7765
  }, " ".concat(rightclick.row, " ")), !___default['default'].startsWith((_context$lang4 = context.lang) !== null && _context$lang4 !== void 0 ? _context$lang4 : "", "zh") && (/*#__PURE__*/React__default['default'].createElement("span", {
7481
7766
  className: "luckysheet-cols-rows-shift-".concat(dir)
7482
- }, rightclick[dir])))));
7767
+ }, rightclick[dir]))));
7483
7768
  });
7484
7769
  }
7485
7770
  if (name === "delete-column") {
@@ -7741,152 +8026,49 @@ var ContextMenu = function ContextMenu() {
7741
8026
  }
7742
8027
  }), /*#__PURE__*/React__default['default'].createElement("p", null, rightclick.clearContent)));
7743
8028
  }
8029
+ if (name === "orderAZ") {
8030
+ return /*#__PURE__*/React__default['default'].createElement(Menu, {
8031
+ key: name,
8032
+ onClick: function onClick() {
8033
+ setContext(function (draftCtx) {
8034
+ fortuneCore.sortSelection(draftCtx, true);
8035
+ draftCtx.contextMenu = {};
8036
+ });
8037
+ }
8038
+ }, rightclick.orderAZ);
8039
+ }
8040
+ if (name === "orderZA") {
8041
+ return /*#__PURE__*/React__default['default'].createElement(Menu, {
8042
+ key: name,
8043
+ onClick: function onClick() {
8044
+ setContext(function (draftCtx) {
8045
+ fortuneCore.sortSelection(draftCtx, false);
8046
+ draftCtx.contextMenu = {};
8047
+ });
8048
+ }
8049
+ }, rightclick.orderZA);
8050
+ }
7744
8051
  if (name === "sort") {
7745
- var _locale2 = fortuneCore.locale(context),
7746
- sort = _locale2.sort;
7747
- return /*#__PURE__*/React__default['default'].createElement(Tippy__default['default'], {
8052
+ return /*#__PURE__*/React__default['default'].createElement(Menu, {
7748
8053
  key: name,
7749
- placement: "right-start",
7750
- interactive: true,
7751
- interactiveBorder: 50,
7752
- offset: [0, 0],
7753
- arrow: false,
7754
- zIndex: 3000,
7755
- appendTo: document.body,
7756
- content: /*#__PURE__*/React__default['default'].createElement("div", {
7757
- className: "fortune-toolbar-select",
7758
- style: {
7759
- minWidth: "11.25rem"
7760
- }
7761
- }, /*#__PURE__*/React__default['default'].createElement("div", {
7762
- className: "flex flex-col color-text-default text-body-sm"
7763
- }, /*#__PURE__*/React__default['default'].createElement(Menu, {
7764
- onClick: function onClick() {
7765
- setContext(function (draftCtx) {
7766
- fortuneCore.sortSelection(draftCtx, true);
7767
- draftCtx.contextMenu = {};
7768
- });
7769
- }
7770
- }, /*#__PURE__*/React__default['default'].createElement("div", {
7771
- className: "context-item p-2 w-full",
7772
- style: {
7773
- height: "40px"
7774
- }
7775
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7776
- name: "sort-asc",
7777
- width: 22,
7778
- style: {
7779
- marginRight: "4px"
7780
- }
7781
- }), /*#__PURE__*/React__default['default'].createElement("p", null, sort.asc))), /*#__PURE__*/React__default['default'].createElement(Menu, {
7782
- onClick: function onClick() {
7783
- setContext(function (draftCtx) {
7784
- fortuneCore.sortSelection(draftCtx, false);
7785
- draftCtx.contextMenu = {};
7786
- });
7787
- }
7788
- }, /*#__PURE__*/React__default['default'].createElement("div", {
7789
- className: "context-item p-2 w-full",
7790
- style: {
7791
- height: "40px"
7792
- }
7793
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7794
- name: "sort-desc",
7795
- width: 22,
7796
- style: {
7797
- marginRight: "4px"
7798
- }
7799
- }), /*#__PURE__*/React__default['default'].createElement("p", null, sort.desc))))),
7800
- trigger: "mouseenter focus",
7801
- hideOnClick: false
7802
- }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(Menu, null, /*#__PURE__*/React__default['default'].createElement("div", {
7803
- className: "flex items-center justify-between w-full"
7804
- }, /*#__PURE__*/React__default['default'].createElement("div", {
7805
- className: "context-item"
7806
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7807
- name: "sort-flv",
7808
- width: 18,
7809
- height: 18,
7810
- style: {
7811
- marginRight: "8px"
8054
+ onClick: function onClick() {
8055
+ setContext(function (draftCtx) {
8056
+ showDialog(/*#__PURE__*/React__default['default'].createElement(CustomSort, null));
8057
+ draftCtx.contextMenu = {};
8058
+ });
7812
8059
  }
7813
- }), /*#__PURE__*/React__default['default'].createElement("p", null, rightclick.sortSelection)), /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7814
- name: "rightArrow",
7815
- width: 18
7816
- })))));
8060
+ }, rightclick.sortSelection);
7817
8061
  }
7818
8062
  if (name === "filter") {
7819
- var _locale3 = fortuneCore.locale(context),
7820
- filter = _locale3.filter;
7821
- return /*#__PURE__*/React__default['default'].createElement(Tippy__default['default'], {
8063
+ return /*#__PURE__*/React__default['default'].createElement(Menu, {
7822
8064
  key: name,
7823
- placement: "right-start",
7824
- interactive: true,
7825
- interactiveBorder: 50,
7826
- offset: [0, 0],
7827
- arrow: false,
7828
- zIndex: 3000,
7829
- appendTo: document.body,
7830
- content: /*#__PURE__*/React__default['default'].createElement("div", {
7831
- className: "fortune-toolbar-select",
7832
- style: {
7833
- minWidth: "11.25rem"
7834
- }
7835
- }, /*#__PURE__*/React__default['default'].createElement("div", {
7836
- className: "flex flex-col color-text-default text-body-sm"
7837
- }, /*#__PURE__*/React__default['default'].createElement(Menu, {
7838
- onClick: function onClick() {
7839
- setContext(function (draftCtx) {
7840
- fortuneCore.createFilter(draftCtx);
7841
- draftCtx.contextMenu = {};
7842
- });
7843
- }
7844
- }, /*#__PURE__*/React__default['default'].createElement("div", {
7845
- className: "context-item p-2 w-full",
7846
- style: {
7847
- height: "40px"
7848
- }
7849
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7850
- name: "filter",
7851
- width: 22,
7852
- style: {
7853
- marginRight: "4px"
7854
- }
7855
- }), /*#__PURE__*/React__default['default'].createElement("p", null, filter.filter))), /*#__PURE__*/React__default['default'].createElement(Menu, {
7856
- onClick: function onClick() {
7857
- setContext(function (draftCtx) {
7858
- fortuneCore.clearFilter(draftCtx);
7859
- draftCtx.contextMenu = {};
7860
- });
7861
- }
7862
- }, /*#__PURE__*/React__default['default'].createElement("div", {
7863
- className: "context-item p-2 w-full",
7864
- style: {
7865
- height: "40px"
7866
- }
7867
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7868
- name: "eraser",
7869
- width: 22,
7870
- style: {
7871
- marginRight: "4px"
7872
- }
7873
- }), /*#__PURE__*/React__default['default'].createElement("p", null, filter.clearFilter))))),
7874
- trigger: "mouseenter focus",
7875
- hideOnClick: false
7876
- }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(Menu, null, /*#__PURE__*/React__default['default'].createElement("div", {
7877
- className: "flex items-center justify-between w-full"
7878
- }, /*#__PURE__*/React__default['default'].createElement("div", {
7879
- className: "context-item"
7880
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7881
- name: "filter",
7882
- width: 22,
7883
- style: {
7884
- marginRight: "4px"
8065
+ onClick: function onClick() {
8066
+ setContext(function (draftCtx) {
8067
+ fortuneCore.createFilter(draftCtx);
8068
+ draftCtx.contextMenu = {};
8069
+ });
7885
8070
  }
7886
- }), /*#__PURE__*/React__default['default'].createElement("p", null, rightclick.filterSelection)), /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7887
- name: "rightArrow",
7888
- width: 18
7889
- })))));
8071
+ }, rightclick.filterSelection);
7890
8072
  }
7891
8073
  if (name === "image") {
7892
8074
  return /*#__PURE__*/React__default['default'].createElement(Menu, {
@@ -7910,45 +8092,8 @@ var ContextMenu = function ContextMenu() {
7910
8092
  }
7911
8093
  }, rightclick.link);
7912
8094
  }
7913
- if (name === "conditionFormat") {
7914
- var closeContextMenu = function closeContextMenu() {
7915
- return setContext(function (ctx) {
7916
- ctx.contextMenu = {};
7917
- });
7918
- };
7919
- return /*#__PURE__*/React__default['default'].createElement(Tippy__default['default'], {
7920
- key: name,
7921
- placement: "right-start",
7922
- interactive: true,
7923
- interactiveBorder: 50,
7924
- offset: [0, 0],
7925
- arrow: false,
7926
- zIndex: 3000,
7927
- appendTo: document.body,
7928
- content: /*#__PURE__*/React__default['default'].createElement("div", {
7929
- style: {
7930
- minWidth: 220
7931
- }
7932
- }, /*#__PURE__*/React__default['default'].createElement(ConditionalFormat, {
7933
- items: ["highlightCellRules", "itemSelectionRules", "-", "deleteRule"],
7934
- setOpen: closeContextMenu
7935
- })),
7936
- trigger: "mouseenter focus",
7937
- hideOnClick: false
7938
- }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(Menu, null, /*#__PURE__*/React__default['default'].createElement("div", {
7939
- className: "flex items-center justify-between w-full"
7940
- }, /*#__PURE__*/React__default['default'].createElement("div", {
7941
- className: "flex items-center gap-2"
7942
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7943
- name: "conditionFormat",
7944
- width: 18
7945
- }), /*#__PURE__*/React__default['default'].createElement("p", null, rightclick.conditionFormat || "Conditional Format")), /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7946
- name: "rightArrow",
7947
- width: 18
7948
- })))));
7949
- }
7950
8095
  return null;
7951
- }, [context, setContext, refs.globalCache, rightclick, showAlert, showDialog, drag.noMulti, info.tipRowHeightLimit, info.tipColumnWidthLimit, generalDialog.partiallyError, generalDialog.readOnlyError, generalDialog.dataNullError]);
8096
+ }, [context.currentSheetId, context.lang, context.luckysheet_select_save, context.defaultrowlen, context.defaultcollen, rightclick, info, setContext, showAlert, showDialog, drag, generalDialog]);
7952
8097
  React.useLayoutEffect(function () {
7953
8098
  var _refs$workbookContain;
7954
8099
  if (!containerRef.current) {
@@ -9216,41 +9361,31 @@ var SVGDefines = function SVGDefines(_ref) {
9216
9361
  stroke: "#535A68",
9217
9362
  strokeWidth: "1.5"
9218
9363
  })), /*#__PURE__*/React__default['default'].createElement("symbol", {
9219
- id: "sort-desc",
9220
- width: "18",
9221
- height: "18",
9222
- viewBox: "0 0 18 18",
9223
- fill: "none"
9364
+ viewBox: "0 0 1024 1024",
9365
+ fill: "#535A68",
9366
+ id: "sort-desc"
9224
9367
  }, /*#__PURE__*/React__default['default'].createElement("path", {
9225
- d: "M6.75 12.75C7.16421 12.75 7.5 13.0858 7.5 13.5C7.5 13.9142 7.16421 14.25 6.75 14.25H5.25C4.83579 14.25 4.5 13.9142 4.5 13.5C4.5 13.0858 4.83579 12.75 5.25 12.75H6.75Z",
9226
- fill: "#363B3F"
9368
+ d: "M839.6 433.8L749 150.5c-1.2-3.9-4.8-6.5-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-0.3 0.9-0.5 1.9-0.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-0.1 2.8-0.4 2.4-0.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7 0.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2z",
9369
+ "p-id": "2016"
9227
9370
  }), /*#__PURE__*/React__default['default'].createElement("path", {
9228
- d: "M9 9.75C9.41421 9.75 9.75 10.0858 9.75 10.5C9.75 10.9142 9.41421 11.25 9 11.25H5.25C4.83579 11.25 4.5 10.9142 4.5 10.5C4.5 10.0858 4.83579 9.75 5.25 9.75H9Z",
9229
- fill: "#363B3F"
9371
+ d: "M806.8 818.4H677.2v-0.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v0.4L587.7 828.9c-1.1 1.6-1.7 3.4-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43c0.1-5.1-4.1-9.3-9.2-9.3z",
9372
+ "p-id": "2017"
9230
9373
  }), /*#__PURE__*/React__default['default'].createElement("path", {
9231
- d: "M11.25 6.75C11.6642 6.75 12 7.08579 12 7.5C12 7.91421 11.6642 8.25 11.25 8.25H5.25C4.83579 8.25 4.5 7.91421 4.5 7.5C4.5 7.08579 4.83579 6.75 5.25 6.75H11.25Z",
9232
- fill: "#363B3F"
9233
- }), /*#__PURE__*/React__default['default'].createElement("path", {
9234
- d: "M13.5 3.75C13.9142 3.75 14.25 4.08579 14.25 4.5C14.25 4.91421 13.9142 5.25 13.5 5.25H5.25C4.83579 5.25 4.5 4.91421 4.5 4.5C4.5 4.08579 4.83579 3.75 5.25 3.75H13.5Z",
9235
- fill: "#363B3F"
9236
- })), /*#__PURE__*/React__default['default'].createElement("symbol", {
9237
- id: "sort-asc",
9238
- width: "18",
9239
- height: "18",
9240
- viewBox: "0 0 18 18",
9241
- fill: "none"
9374
+ d: "M416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9c3.2 4.1 9.4 4.1 12.6 0l112-141.9c4.1-5.2 0.4-13-6.3-13z",
9375
+ "p-id": "2018"
9376
+ })), /*#__PURE__*/React__default['default'].createElement("svg", {
9377
+ viewBox: "0 0 1024 1024",
9378
+ fill: "#535A68",
9379
+ id: "sort-asc"
9242
9380
  }, /*#__PURE__*/React__default['default'].createElement("path", {
9243
- d: "M13.5 12.75C13.9142 12.75 14.25 13.0858 14.25 13.5C14.25 13.9142 13.9142 14.25 13.5 14.25H5.25C4.83579 14.25 4.5 13.9142 4.5 13.5C4.5 13.0858 4.83579 12.75 5.25 12.75H13.5Z",
9244
- fill: "#363B3F"
9245
- }), /*#__PURE__*/React__default['default'].createElement("path", {
9246
- d: "M11.25 9.75C11.6642 9.75 12 10.0858 12 10.5C12 10.9142 11.6642 11.25 11.25 11.25H5.25C4.83579 11.25 4.5 10.9142 4.5 10.5C4.5 10.0858 4.83579 9.75 5.25 9.75H11.25Z",
9247
- fill: "#363B3F"
9381
+ d: "M839.6 433.8L749 150.5c-1.2-3.9-4.8-6.5-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-0.3 0.9-0.5 1.9-0.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-0.1 2.8-0.4 2.4-0.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7 0.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2z",
9382
+ "p-id": "2263"
9248
9383
  }), /*#__PURE__*/React__default['default'].createElement("path", {
9249
- d: "M9 6.75C9.41421 6.75 9.75 7.08579 9.75 7.5C9.75 7.91421 9.41421 8.25 9 8.25H5.25C4.83579 8.25 4.5 7.91421 4.5 7.5C4.5 7.08579 4.83579 6.75 5.25 6.75H9Z",
9250
- fill: "#363B3F"
9384
+ d: "M806.8 818.4H677.2v-0.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v0.4L587.7 828.9c-1.1 1.6-1.7 3.4-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43c0.1-5.1-4.1-9.3-9.2-9.3z",
9385
+ "p-id": "2264"
9251
9386
  }), /*#__PURE__*/React__default['default'].createElement("path", {
9252
- d: "M6.75 3.75C7.16421 3.75 7.5 4.08579 7.5 4.5C7.5 4.91421 7.16421 5.25 6.75 5.25H5.25C4.83579 5.25 4.5 4.91421 4.5 4.5C4.5 4.08579 4.83579 3.75 5.25 3.75H6.75Z",
9253
- fill: "#363B3F"
9387
+ d: "M310.3 167.1c-3.2-4.1-9.4-4.1-12.6 0L185.7 309c-4.2 5.3-0.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z",
9388
+ "p-id": "2265"
9254
9389
  })), /*#__PURE__*/React__default['default'].createElement("symbol", {
9255
9390
  viewBox: "0 0 1024 1024",
9256
9391
  fill: "#535A68",
@@ -9313,16 +9448,13 @@ var SVGDefines = function SVGDefines(_ref) {
9313
9448
  d: "M4.66663 1.33334C4.66663 0.965149 4.36815 0.666672 3.99996 0.666672C3.63177 0.666672 3.33329 0.965149 3.33329 1.33334V3.33334H1.33329C0.965103 3.33334 0.666626 3.63182 0.666626 4C0.666626 4.36819 0.965103 4.66667 1.33329 4.66667H3.33329V10.6667C3.33329 11.1971 3.54401 11.7058 3.91908 12.0809C4.29415 12.456 4.80286 12.6667 5.33329 12.6667H11.3333V14.6667C11.3333 15.0349 11.6318 15.3333 12 15.3333C12.3681 15.3333 12.6666 15.0349 12.6666 14.6667V12.6667H14.6666C15.0348 12.6667 15.3333 12.3682 15.3333 12C15.3333 11.6318 15.0348 11.3333 14.6666 11.3333H12.6666V5.33334C12.6666 4.8029 12.4559 4.2942 12.0808 3.91912C11.7058 3.54405 11.1971 3.33334 10.6666 3.33334H4.66663V1.33334ZM4.66663 4.66667V10.6667C4.66663 10.8435 4.73686 11.0131 4.86189 11.1381C4.98691 11.2631 5.15648 11.3333 5.33329 11.3333H11.3333V5.33334C11.3333 5.15653 11.2631 4.98696 11.138 4.86193C11.013 4.73691 10.8434 4.66667 10.6666 4.66667H4.66663Z",
9314
9449
  fill: "#363B3F"
9315
9450
  }))), /*#__PURE__*/React__default['default'].createElement("symbol", {
9316
- width: "20",
9317
- height: "24",
9318
- viewBox: "0 0 16 16",
9319
- fill: "none",
9320
- id: "conditionFormat"
9451
+ viewBox: "0 0 1024 1024",
9452
+ fill: "#535A68",
9453
+ id: "conditionFormat",
9454
+ width: "20"
9321
9455
  }, /*#__PURE__*/React__default['default'].createElement("path", {
9322
- "fill-rule": "evenodd",
9323
- "clip-rule": "evenodd",
9324
- d: "M11.4661 0.673182C11.7715 0.703436 12.0585 0.838439 12.2773 1.0573C12.5274 1.30735 12.668 1.64638 12.668 2.00001V7.51303C12.7678 7.57076 12.861 7.64098 12.944 7.72396C13.1941 7.97401 13.3346 8.31305 13.3346 8.66667V9.33334C13.3346 9.86377 13.1238 10.3723 12.7487 10.7474C12.3736 11.1225 11.8651 11.3333 11.3346 11.3333H10.0013V13.2669C10.0012 13.7973 9.79038 14.306 9.41536 14.681C9.0403 15.056 8.53167 15.2669 8.0013 15.2669C7.47093 15.2669 6.9623 15.056 6.58724 14.681C6.21223 14.306 6.00137 13.7973 6.0013 13.2669V11.3333H4.66797C4.13754 11.3333 3.62898 11.1225 3.25391 10.7474C2.92577 10.4193 2.72324 9.98901 2.67773 9.53125L2.66797 9.33334V8.66667C2.66797 8.31305 2.80855 7.97401 3.05859 7.72396C3.14158 7.64098 3.23477 7.57076 3.33464 7.51303V2.00001C3.33464 1.64638 3.47521 1.30734 3.72526 1.0573C3.97531 0.807248 4.31435 0.666672 4.66797 0.666672H11.3346L11.4661 0.673182ZM4.0013 8.66667V9.33334L4.00456 9.39909C4.01968 9.55176 4.08719 9.69526 4.19661 9.80469C4.32164 9.92972 4.49116 10 4.66797 10H6.0013C6.35492 10 6.69396 10.1406 6.94401 10.3906C7.19406 10.6407 7.33464 10.9797 7.33464 11.3333V13.2669C7.3347 13.4436 7.40498 13.6133 7.52995 13.7383C7.65496 13.8632 7.82455 13.9336 8.0013 13.9336C8.17805 13.9336 8.34764 13.8632 8.47266 13.7383C8.59762 13.6133 8.6679 13.4436 8.66797 13.2669V11.3333C8.66797 10.9797 8.80855 10.6407 9.05859 10.3906C9.30864 10.1406 9.64768 10 10.0013 10H11.3346C11.5114 10 11.681 9.92972 11.806 9.80469C11.931 9.67967 12.0013 9.51015 12.0013 9.33334V8.66667H4.0013ZM4.66797 7.33334H11.3346V2.00001H10.0013V4C10.0013 4.36819 9.70283 4.66667 9.33463 4.66667C8.96644 4.66667 8.66797 4.36819 8.66797 4V2.00001H7.33464V2.66667C7.33464 3.03486 7.03616 3.33334 6.66797 3.33334C6.29978 3.33334 6.0013 3.03486 6.0013 2.66667V2.00001H4.66797V7.33334Z",
9325
- fill: "#363B3F"
9456
+ d: "M128 128h768v768H128V128z m64 512v128h128v-128H192z m256 0v128h192v-128H448zM192 448v128h128V448H192z m0-192v128h128V256H192z m192 0v128h192V256H384z m320 384v128h128v-128h-128z m0-192v128h128V448h-128z m0-192v128h128V256h-128z",
9457
+ "p-id": "1955"
9326
9458
  })), /*#__PURE__*/React__default['default'].createElement("symbol", {
9327
9459
  viewBox: "0 0 1024 1024",
9328
9460
  fill: "#535A68",
@@ -9428,29 +9560,19 @@ var SVGDefines = function SVGDefines(_ref) {
9428
9560
  d: "M0.728617 1.71942C0.837856 1.48397 1.07381 1.33333 1.33336 1.33333H14.6667C14.9262 1.33333 15.1622 1.48397 15.2714 1.71942C15.3807 1.95486 15.3433 2.2323 15.1757 2.43048L10 8.55077V14C10 14.2311 9.88039 14.4456 9.68385 14.5671C9.48731 14.6886 9.24188 14.6996 9.03522 14.5963L6.36855 13.263C6.1427 13.15 6.00003 12.9192 6.00003 12.6667V8.55077L0.824316 2.43048C0.656718 2.2323 0.619379 1.95486 0.728617 1.71942ZM2.77023 2.66667L7.17574 7.87618C7.27752 7.99653 7.33336 8.14905 7.33336 8.30667V12.2546L8.6667 12.9213V8.30667C8.6667 8.14905 8.72254 7.99653 8.82432 7.87618L13.2298 2.66667H2.77023Z",
9429
9561
  fill: "#363B3F"
9430
9562
  }))), /*#__PURE__*/React__default['default'].createElement("symbol", {
9431
- id: "filter1",
9432
- width: "18",
9433
- height: "18",
9434
- viewBox: "0 0 18 18",
9435
- fill: "none"
9563
+ viewBox: "0 0 1024 1024",
9564
+ fill: "#535A68",
9565
+ id: "filter1"
9436
9566
  }, /*#__PURE__*/React__default['default'].createElement("path", {
9437
- d: "M10.0149 1.5C10.4291 1.5 10.7649 1.83579 10.7649 2.25C10.7649 2.66421 10.4291 3 10.0149 3H2.24975L7.66821 8.99121L7.80004 9.15161C8.09041 9.53914 8.24953 10.0121 8.24975 10.5V15.0007L9.74902 15.75L9.74975 10.5C9.75 9.9426 9.95667 9.4046 10.3306 8.99121L11.2439 7.98047L11.2988 7.92627C11.5809 7.67149 12.0156 7.66669 12.3037 7.927C12.6108 8.20473 12.6348 8.67881 12.3572 8.98608L11.4438 9.99683L11.4431 9.99756C11.3186 10.1353 11.2499 10.3143 11.2498 10.5V15.75L11.2468 15.8452C11.2327 16.0677 11.1689 16.2847 11.0601 16.4802C10.9356 16.7036 10.756 16.8914 10.5386 17.0259C10.3211 17.1604 10.0726 17.237 9.81713 17.2485C9.5937 17.2586 9.37132 17.2188 9.16601 17.1321L9.07885 17.0918L7.57885 16.3418C7.32961 16.2172 7.11961 16.0259 6.97314 15.7888C6.84501 15.5814 6.77019 15.3462 6.75341 15.104L6.74975 15V10.5C6.7496 10.3375 6.69633 10.1801 6.5996 10.051L6.55566 9.99756L1.13647 4.00562C0.94211 3.79026 0.81445 3.52231 0.768793 3.23584C0.723182 2.94943 0.760896 2.65567 0.878656 2.39062C0.996448 2.12559 1.18922 1.90053 1.43237 1.74243C1.67547 1.58442 1.95908 1.50014 2.24902 1.5H10.0149Z",
9438
- fill: "#363B3F"
9439
- }), /*#__PURE__*/React__default['default'].createElement("path", {
9440
- d: "M14.2498 1.5C14.6638 1.50014 14.9998 1.83587 14.9998 2.25V3.75H16.4998C16.9138 3.75014 17.2498 4.08587 17.2498 4.5C17.2498 4.91413 16.9138 5.24986 16.4998 5.25H14.9998V6.75C14.9998 7.16413 14.6638 7.49986 14.2498 7.5C13.8355 7.5 13.4998 7.16421 13.4998 6.75V5.25H11.9998C11.5855 5.25 11.2498 4.91421 11.2498 4.5C11.2498 4.08579 11.5855 3.75 11.9998 3.75H13.4998V2.25C13.4998 1.83579 13.8355 1.5 14.2498 1.5Z",
9441
- fill: "#363B3F"
9567
+ d: "M608 864C588.8 864 576 851.2 576 832L576 448c0-6.4 6.4-19.2 12.8-25.6L787.2 256c6.4-6.4 6.4-19.2 0-19.2 0-6.4-6.4-12.8-19.2-12.8L256 224c-12.8 0-19.2 6.4-19.2 12.8 0 6.4-6.4 12.8 6.4 19.2l198.4 166.4C441.6 428.8 448 441.6 448 448l0 256c0 19.2-12.8 32-32 32S384 723.2 384 704L384 460.8 198.4 307.2c-25.6-25.6-32-64-19.2-96C185.6 179.2 217.6 160 256 160L768 160c32 0 64 19.2 76.8 51.2 12.8 32 6.4 70.4-19.2 89.6l-192 160L633.6 832C640 851.2 627.2 864 608 864z",
9568
+ "p-id": "43727"
9442
9569
  })), /*#__PURE__*/React__default['default'].createElement("symbol", {
9443
- id: "eraser",
9444
- width: "18",
9445
- height: "18",
9446
- viewBox: "0 0 18 18",
9447
- fill: "none"
9570
+ viewBox: "0 0 1024 1024",
9571
+ fill: "#535A68",
9572
+ id: "eraser"
9448
9573
  }, /*#__PURE__*/React__default['default'].createElement("path", {
9449
- d: "M9.39746 1.5C9.81167 1.5 10.1475 1.83579 10.1475 2.25C10.1475 2.66421 9.81167 3 9.39746 3H2.24975L7.66821 8.99121L7.80004 9.15161C8.09041 9.53914 8.24953 10.0121 8.24975 10.5V15.0007L9.74902 15.75L9.74975 10.5C9.75 9.94243 9.95719 9.40465 10.3313 8.99121L10.6506 8.63672L10.7048 8.58252C10.9867 8.32757 11.4214 8.32258 11.7097 8.58252C12.0172 8.86008 12.0415 9.33487 11.7639 9.64233L11.4438 9.99683L11.4431 9.99756C11.3186 10.1353 11.2499 10.3143 11.2498 10.5V15.75L11.2468 15.8452C11.2327 16.0677 11.1689 16.2847 11.0601 16.4802C10.9356 16.7036 10.756 16.8914 10.5386 17.0259C10.3211 17.1604 10.0726 17.237 9.81713 17.2485C9.5937 17.2586 9.37132 17.2188 9.16601 17.1321L9.07885 17.0918L7.57885 16.3418C7.32961 16.2172 7.11961 16.0259 6.97314 15.7888C6.84501 15.5814 6.77019 15.3462 6.75341 15.104L6.74975 15V10.5C6.7496 10.3375 6.69633 10.1801 6.5996 10.051L6.55566 9.99756L1.13647 4.00562C0.94211 3.79026 0.81445 3.52231 0.768793 3.23584C0.723182 2.94943 0.760896 2.65567 0.878656 2.39062C0.996448 2.12559 1.18922 1.90053 1.43237 1.74243C1.67547 1.58442 1.95908 1.50014 2.24902 1.5H9.39746Z",
9450
- fill: "#363B3F"
9451
- }), /*#__PURE__*/React__default['default'].createElement("path", {
9452
- d: "M11.8445 2.09473C12.1191 1.82027 12.5534 1.80323 12.8479 2.04346L12.905 2.09473L14.2498 3.43945L15.5945 2.09473L15.6516 2.04346C15.9462 1.80333 16.3805 1.82019 16.655 2.09473C16.9294 2.36928 16.9464 2.80361 16.7063 3.09814L16.655 3.15527L15.3103 4.5L16.655 5.84473L16.7063 5.90186C16.9464 6.19639 16.9294 6.63072 16.655 6.90527C16.3805 7.17981 15.9462 7.19667 15.6516 6.95654L15.5945 6.90527L14.2498 5.56055L12.905 6.90527C12.6122 7.19812 12.1374 7.19804 11.8445 6.90527C11.5516 6.61238 11.5516 6.13762 11.8445 5.84473L13.1892 4.5L11.8445 3.15527L11.7932 3.09814C11.5529 2.80356 11.5699 2.36931 11.8445 2.09473Z",
9453
- fill: "#363B3F"
9574
+ d: "M596.437333 85.333333a42.837333 42.837333 0 0 0-30.549333 13.824l-469.333333 512a42.666667 42.666667 0 0 0 1.28 59.008l170.666666 170.666667A42.496 42.496 0 0 0 298.666667 853.333333h512v-85.333333h-195.669334l311.168-311.168a42.538667 42.538667 0 0 0 0-60.330667l-298.666666-298.666666A43.221333 43.221333 0 0 0 596.437333 85.333333z m-102.144 682.666667H316.330667l-129.28-129.28 268.8-293.205333 230.485333 230.485333-192.042667 192z m252.373334-252.330667l-233.130667-233.130666 85.12-92.842667L835.669333 426.666667 746.666667 515.669333z",
9575
+ "p-id": "50819"
9454
9576
  })), /*#__PURE__*/React__default['default'].createElement("symbol", {
9455
9577
  viewBox: "0 0 1057 1024",
9456
9578
  fill: "#535A68",
@@ -9504,16 +9626,12 @@ var SVGDefines = function SVGDefines(_ref) {
9504
9626
  fill: "",
9505
9627
  "p-id": "5612"
9506
9628
  })), /*#__PURE__*/React__default['default'].createElement("symbol", {
9507
- width: "16",
9508
- height: "24",
9509
- viewBox: "0 0 16 16",
9510
- fill: "none",
9629
+ viewBox: "0 0 1024 1024",
9630
+ fill: "#A8ABB0",
9511
9631
  id: "rightArrow"
9512
9632
  }, /*#__PURE__*/React__default['default'].createElement("path", {
9513
- "fill-rule": "evenodd",
9514
- "clip-rule": "evenodd",
9515
- d: "M5.52729 3.52859C5.78764 3.26824 6.20975 3.26824 6.4701 3.52859L10.4701 7.52859C10.7305 7.78894 10.7305 8.21105 10.4701 8.4714L6.4701 12.4714C6.20975 12.7317 5.78764 12.7317 5.52729 12.4714C5.26694 12.2111 5.26694 11.7889 5.52729 11.5286L9.05589 8L5.52729 4.4714C5.26694 4.21105 5.26694 3.78894 5.52729 3.52859Z",
9516
- fill: "#77818A"
9633
+ d: "M781.963636 495.709091l-418.909091-323.490909c-20.945455-16.290909-37.236364-9.309091-37.236363 16.290909v646.981818c0 25.6 16.290909 32.581818 37.236363 16.290909l418.909091-323.490909c11.636364-9.309091 11.636364-23.272727 0-32.581818z",
9634
+ "p-id": "5380"
9517
9635
  })), /*#__PURE__*/React__default['default'].createElement("symbol", {
9518
9636
  viewBox: "0 0 1024 1024",
9519
9637
  id: "downArrow"
@@ -9603,20 +9721,6 @@ var SVGDefines = function SVGDefines(_ref) {
9603
9721
  "clip-rule": "evenodd",
9604
9722
  d: "M3.75 1.5C3.15326 1.5 2.58097 1.73705 2.15901 2.15901C1.73705 2.58097 1.5 3.15326 1.5 3.75V15.75C1.5 16.0533 1.68273 16.3268 1.96299 16.4429C2.24324 16.559 2.56583 16.4948 2.78033 16.2803L5.56066 13.5H14.25C14.8467 13.5 15.419 13.2629 15.841 12.841C16.2629 12.419 16.5 11.8467 16.5 11.25V3.75C16.5 3.15326 16.2629 2.58097 15.841 2.15901C15.419 1.73705 14.8467 1.5 14.25 1.5H3.75ZM3.21967 3.21967C3.36032 3.07902 3.55109 3 3.75 3H14.25C14.4489 3 14.6397 3.07902 14.7803 3.21967C14.921 3.36032 15 3.55109 15 3.75V11.25C15 11.4489 14.921 11.6397 14.7803 11.7803C14.6397 11.921 14.4489 12 14.25 12H5.25C5.05109 12 4.86032 12.079 4.71967 12.2197L3 13.9393V3.75C3 3.55109 3.07902 3.36032 3.21967 3.21967Z",
9605
9723
  fill: "#363B3F"
9606
- }))), /*#__PURE__*/React__default['default'].createElement("symbol", {
9607
- id: "freeze-flv",
9608
- viewBox: "0 0 24 24"
9609
- }, /*#__PURE__*/React__default['default'].createElement("svg", {
9610
- width: "18",
9611
- height: "16",
9612
- viewBox: "0 0 18 16",
9613
- fill: "none",
9614
- xmlns: "http://www.w3.org/2000/svg"
9615
- }, /*#__PURE__*/React__default['default'].createElement("path", {
9616
- "fill-rule": "evenodd",
9617
- "clip-rule": "evenodd",
9618
- d: "M13.4208 1.58557C13.6061 1.21509 13.4559 0.764586 13.0854 0.579344C12.7149 0.394102 12.2644 0.54427 12.0792 0.914754L11.4375 2.19811L11.1708 1.66475C10.9856 1.29427 10.5351 1.1441 10.1646 1.32934C9.79411 1.51459 9.64394 1.96509 9.82918 2.33557L10.599 3.87516L10.0365 5.00016H7.96353L7.40103 3.87516L8.17083 2.33557C8.35607 1.96509 8.2059 1.51459 7.83541 1.32934C7.46493 1.1441 7.01443 1.29427 6.82918 1.66475L6.5625 2.19811L5.92082 0.914754C5.73558 0.54427 5.28508 0.394102 4.91459 0.579344C4.54411 0.764586 4.39394 1.21509 4.57918 1.58557L5.22086 2.86893L4.63417 2.76226C4.22664 2.68817 3.8362 2.95847 3.7621 3.366C3.688 3.77353 3.95831 4.16397 4.36584 4.23807L6.05939 4.54598L6.66148 5.75016L5.91147 7.25016H4.49999L3.6 6.05018C3.35147 5.71881 2.88137 5.65165 2.55 5.90018C2.21863 6.14871 2.15147 6.61881 2.4 6.95018L2.62499 7.25016H1.5C1.08579 7.25016 0.75 7.58595 0.75 8.00016C0.75 8.41438 1.08579 8.75016 1.5 8.75016H2.62501L2.4 9.05018C2.15147 9.38155 2.21863 9.85165 2.55 10.1002C2.88137 10.3487 3.35147 10.2816 3.6 9.95018L4.50001 8.75016H5.91148L6.66148 10.2502L6.05938 11.4544L4.36584 11.7623C3.95831 11.8364 3.688 12.2268 3.7621 12.6344C3.8362 13.0419 4.22664 13.3122 4.63417 13.2381L5.22085 13.1314L4.57918 14.4148C4.39394 14.7852 4.54411 15.2357 4.91459 15.421C5.28508 15.6062 5.73558 15.4561 5.92082 15.0856L6.5625 13.8022L6.82918 14.3356C7.01443 14.7061 7.46493 14.8562 7.83541 14.671C8.2059 14.4858 8.35607 14.0353 8.17083 13.6648L7.40102 12.1252L7.96352 11.0002H10.0365L10.599 12.1252L9.82918 13.6648C9.64394 14.0353 9.79411 14.4858 10.1646 14.671C10.5351 14.8562 10.9856 14.7061 11.1708 14.3356L11.4375 13.8022L12.0792 15.0856C12.2644 15.4561 12.7149 15.6062 13.0854 15.421C13.4559 15.2358 13.6061 14.7853 13.4208 14.4148L12.7791 13.1314L13.3658 13.2381C13.7734 13.3122 14.1638 13.0419 14.2379 12.6344C14.312 12.2268 14.0417 11.8364 13.6342 11.7623L11.9406 11.4544L11.3385 10.2502L12.0885 8.75018H13.5L14.4 9.95018C14.6485 10.2816 15.1186 10.3487 15.45 10.1002C15.7814 9.85165 15.8485 9.38155 15.6 9.05018L15.375 8.75018H16.5C16.9142 8.75018 17.25 8.4144 17.25 8.00018C17.25 7.58597 16.9142 7.25018 16.5 7.25018H15.375L15.6 6.95018C15.8485 6.61881 15.7814 6.14871 15.45 5.90018C15.1186 5.65165 14.6485 5.71881 14.4 6.05018L13.5 7.25018H12.0885L11.3385 5.75016L11.9406 4.54599L13.6342 4.23807C14.0417 4.16397 14.312 3.77353 14.2379 3.366C14.1638 2.95847 13.7734 2.68817 13.3658 2.76226L12.7791 2.86893L13.4208 1.58557ZM7.96353 6.50016L7.21353 8.00016L7.96354 9.50018H10.0365L10.7865 8.00018L10.0365 6.50016H7.96353Z",
9619
- fill: "#363B3F"
9620
9724
  }))), /*#__PURE__*/React__default['default'].createElement("symbol", {
9621
9725
  viewBox: "0 0 1024 1024",
9622
9726
  id: "tab"
@@ -9631,32 +9735,6 @@ var SVGDefines = function SVGDefines(_ref) {
9631
9735
  d: "M844.8 896c25.6 0 51.2-19.2 51.2-51.2v-185.6h-51.2c-44.8 0-83.2-38.4-83.2-83.2s38.4-83.2 83.2-83.2h51.2V313.6c0-25.6-19.2-51.2-51.2-51.2h-134.4c0-70.4-57.6-128-128-128S448 185.6 448 256H313.6c-25.6 0-51.2 19.2-51.2 51.2V448C185.6 448 128 505.6 128 576s57.6 128 128 128v134.4c0 25.6 19.2 51.2 51.2 51.2h185.6v-51.2c0-44.8 38.4-83.2 83.2-83.2 44.8 0 83.2 38.4 83.2 83.2v57.6h185.6zM576 710.4c-70.4 0-128 57.6-128 128H307.2v-185.6H256c-44.8 0-83.2-38.4-83.2-83.2S211.2 492.8 256 492.8h51.2V307.2h185.6V256c0-44.8 38.4-83.2 83.2-83.2 44.8 0 83.2 38.4 83.2 83.2v51.2h185.6V448c-70.4 0-128 57.6-128 128s57.6 128 128 128v140.8H704c6.4-70.4-51.2-134.4-128-134.4z",
9632
9736
  fill: "",
9633
9737
  "p-id": "36983"
9634
- })), /*#__PURE__*/React__default['default'].createElement("symbol", {
9635
- id: "sort-flv",
9636
- width: "18",
9637
- height: "18",
9638
- viewBox: "0 0 18 18",
9639
- fill: "none"
9640
- }, /*#__PURE__*/React__default['default'].createElement("path", {
9641
- "fill-rule": "evenodd",
9642
- "clip-rule": "evenodd",
9643
- d: "M1.71967 11.4697C2.01256 11.1768 2.48744 11.1768 2.78033 11.4697L5.25 13.9393L7.71967 11.4697C8.01256 11.1768 8.48744 11.1768 8.78033 11.4697C9.07322 11.7626 9.07322 12.2374 8.78033 12.5303L5.78033 15.5303C5.48744 15.8232 5.01256 15.8232 4.71967 15.5303L1.71967 12.5303C1.42678 12.2374 1.42678 11.7626 1.71967 11.4697Z",
9644
- fill: "#363B3F"
9645
- }), /*#__PURE__*/React__default['default'].createElement("path", {
9646
- "fill-rule": "evenodd",
9647
- "clip-rule": "evenodd",
9648
- d: "M5.25 2.25C5.66421 2.25 6 2.58579 6 3V15C6 15.4142 5.66421 15.75 5.25 15.75C4.83579 15.75 4.5 15.4142 4.5 15V3C4.5 2.58579 4.83579 2.25 5.25 2.25Z",
9649
- fill: "#363B3F"
9650
- }), /*#__PURE__*/React__default['default'].createElement("path", {
9651
- "fill-rule": "evenodd",
9652
- "clip-rule": "evenodd",
9653
- d: "M12.2197 2.46967C12.5126 2.17678 12.9874 2.17678 13.2803 2.46967L16.2803 5.46967C16.5732 5.76256 16.5732 6.23744 16.2803 6.53033C15.9874 6.82322 15.5126 6.82322 15.2197 6.53033L12.75 4.06066L10.2803 6.53033C9.98744 6.82322 9.51256 6.82322 9.21967 6.53033C8.92678 6.23744 8.92678 5.76256 9.21967 5.46967L12.2197 2.46967Z",
9654
- fill: "#363B3F"
9655
- }), /*#__PURE__*/React__default['default'].createElement("path", {
9656
- "fill-rule": "evenodd",
9657
- "clip-rule": "evenodd",
9658
- d: "M12.75 2.25C13.1642 2.25 13.5 2.58579 13.5 3V15C13.5 15.4142 13.1642 15.75 12.75 15.75C12.3358 15.75 12 15.4142 12 15V3C12 2.58579 12.3358 2.25 12.75 2.25Z",
9659
- fill: "#363B3F"
9660
9738
  }))));
9661
9739
  };
9662
9740
 
@@ -9951,7 +10029,7 @@ var MoreItemsContaier = function MoreItemsContaier(_ref) {
9951
10029
  }, children);
9952
10030
  };
9953
10031
 
9954
- function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cellInput, scrollbarX, scrollbarY, globalCache) {
10032
+ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cellInput, scrollbarX, scrollbarY) {
9955
10033
  return {
9956
10034
  applyOp: function applyOp(ops) {
9957
10035
  setContext(function (ctx_) {
@@ -10252,50 +10330,6 @@ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cel
10252
10330
  },
10253
10331
  celldataToData: function celldataToData(celldata, rowCount, colCount) {
10254
10332
  return fortuneCore.api.celldataToData(celldata, rowCount, colCount);
10255
- },
10256
- insertFunction: function insertFunction(selectedFuncIndex, filteredFunctionList, callback) {
10257
- var _context$luckysheet_s2;
10258
- var last = (_context$luckysheet_s2 = context.luckysheet_select_save) === null || _context$luckysheet_s2 === void 0 ? void 0 : _context$luckysheet_s2[context.luckysheet_select_save.length - 1];
10259
- var row_index = last === null || last === void 0 ? void 0 : last.row_focus;
10260
- var col_index = last === null || last === void 0 ? void 0 : last.column_focus;
10261
- if (!last) {
10262
- row_index = 0;
10263
- col_index = 0;
10264
- } else {
10265
- if (row_index == null) {
10266
- var _last$row2 = _slicedToArray(last.row, 1);
10267
- row_index = _last$row2[0];
10268
- }
10269
- if (col_index == null) {
10270
- var _last$column2 = _slicedToArray(last.column, 1);
10271
- col_index = _last$column2[0];
10272
- }
10273
- }
10274
- var formulaTxt = "<span dir=\"auto\" class=\"luckysheet-formula-text-color\">=</span><span dir=\"auto\" class=\"luckysheet-formula-text-color\">".concat(filteredFunctionList[selectedFuncIndex].n.toUpperCase(), "</span><span dir=\"auto\" class=\"luckysheet-formula-text-color\">(</span>");
10275
- var _locale2 = fortuneCore.locale(context),
10276
- functionlist = _locale2.functionlist;
10277
- setContext(function (ctx) {
10278
- if (cellInput != null && globalCache != null) {
10279
- ctx.luckysheetCellUpdate = [row_index, col_index];
10280
- globalCache.doNotUpdateCell = true;
10281
- cellInput.innerHTML = formulaTxt;
10282
- var spans = cellInput.childNodes;
10283
- if (!___default['default'].isEmpty(spans)) {
10284
- fortuneCore.setCaretPosition(ctx, spans[spans.length - 1], 0, 1);
10285
- }
10286
- ctx.functionHint = filteredFunctionList[selectedFuncIndex].n.toUpperCase();
10287
- ctx.functionCandidates = [];
10288
- if (___default['default'].isEmpty(ctx.formulaCache.functionlistMap)) {
10289
- for (var i = 0; i < functionlist.length; i += 1) {
10290
- ctx.formulaCache.functionlistMap[functionlist[i].n] = functionlist[i];
10291
- }
10292
- }
10293
- callback === null || callback === void 0 ? void 0 : callback();
10294
- }
10295
- });
10296
- },
10297
- getLocaleContext: function getLocaleContext() {
10298
- return fortuneCore.locale(context);
10299
10333
  }
10300
10334
  };
10301
10335
  }
@@ -11503,8 +11537,8 @@ var Workbook = /*#__PURE__*/React__default['default'].forwardRef(function (_ref,
11503
11537
  };
11504
11538
  }, [onPaste]);
11505
11539
  React.useImperativeHandle(ref, function () {
11506
- return generateAPIs(context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, cellInput.current, scrollbarX.current, scrollbarY.current, globalCache.current);
11507
- }, [context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, globalCache]);
11540
+ return generateAPIs(context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, cellInput.current, scrollbarX.current, scrollbarY.current);
11541
+ }, [context, setContextWithProduce, handleUndo, handleRedo, mergedSettings]);
11508
11542
  var i = fortuneCore.getSheetIndex(context, context.currentSheetId);
11509
11543
  if (i == null) {
11510
11544
  return null;