@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.esm.js CHANGED
@@ -1,10 +1,9 @@
1
- import { defaultContext, defaultSettings, getSheetIndex, colLocationByIndex, fixPositionOnFrozenCells, colLocation, getFlowdata, isAllowEdit, handleColumnHeaderMouseDown, handleColSizeHandleMouseDown, handleColFreezeHandleMouseDown, handleContextMenu, selectTitlesMap, selectTitlesRange, fixColumnStyleOverflowInFreeze, rowLocationByIndex, rowLocation, handleRowHeaderMouseDown, handleRowSizeHandleMouseDown, handleRowFreezeHandleMouseDown, fixRowStyleOverflowInFreeze, locale, getStyleByCell, getCellValue, createRangeHightlight, isInlineStringCell, getInlineStringHTML, valueShowEs, escapeHTMLTag, escapeScriptTag, moveToEnd, isShowHidenCR, getrangeseleciton, cancelNormalSelected, moveHighlightCell, israngeseleciton, handleFormulaInput, onSearchDialogMoveStart, replaceAll, replace, searchAll, searchNext, normalizeSelection, scrollToHighlightCell, isLinkValid, getRangetxt, goToLink, replaceHtml, removeHyperlink, onRangeSelectionModalMoveStart, saveHyperlink, createFilterOptions, onImageMoveStart, onImageResizeStart, showComments, setEditingComment, onCommentBoxMoveStart, confirmMessage, getRangeByTxt, getDropdownList, setCellValue, setConditionRules, mergeBorder, setDropcownValue, handleCellAreaMouseDown, handleCellAreaDoubleClick, selectAll, showLinkCard, getCellRowColumn, getCellHyperlink, handleOverlayMouseMove, handleOverlayMouseUp, handleKeydownForZoom, handleOverlayTouchStart, handleOverlayTouchMove, handleOverlayTouchEnd, insertRowCol, drawArrow, onCellsMoveStart, createDropCellRange, updateContextWithSheetData, updateContextWithCanvas, initFreeze, Canvas, handleGlobalWheel, getDataArr, updateMoreCell, getRegStr, getOptionValue, getSelectRange, applyLocation, updateItem, update, normalizedCellAttr, updateFormat, handleTextSize, handleHorizontalAlign, handleVerticalAlign, handleScreenShot, showImgChooser, insertImage, editComment, deleteComment, showHideComment, showHideAllComments, newComment, handleSum, autoSelectionFormula, handleMerge, handleBorder, handleFreeze, handleSort, createFilter, clearFilter, toolbarItemSelectedFunc, toolbarItemClickHandler, handleTextColor, handleTextBackground, getInlineStringNoStyle, rangeHightlightselected, updateCell, editSheetName, cancelActiveImgItem, MAX_ZOOM_RATIO, MIN_ZOOM_RATIO, addSheet, getFreezeState, toggleFreeze, jfrefreshgrid, handleCopy, deleteRowCol, hideSelected, showSelected, api, removeActiveImage, deleteSelectedCellText, sortSelection, handleLink, handlePasteByClick, deleteSheet, opToPatch, setCaretPosition, orderbydatafiler, getFilterColumnValues, getFilterColumnColors, saveFilter, calcSelectionInfo, patchToOp, filterPatch, inverseRowColOptions, ensureSheetIndex, initSheetIndex, handleGlobalKeyDown, handlePaste, groupValuesRefresh } from '@fileverse-dev/fortune-core';
1
+ import { defaultContext, defaultSettings, getSheetIndex, colLocationByIndex, fixPositionOnFrozenCells, colLocation, getFlowdata, isAllowEdit, handleColumnHeaderMouseDown, handleColSizeHandleMouseDown, handleColFreezeHandleMouseDown, handleContextMenu, selectTitlesMap, selectTitlesRange, fixColumnStyleOverflowInFreeze, rowLocationByIndex, rowLocation, handleRowHeaderMouseDown, handleRowSizeHandleMouseDown, handleRowFreezeHandleMouseDown, fixRowStyleOverflowInFreeze, locale, getStyleByCell, getCellValue, createRangeHightlight, isInlineStringCell, getInlineStringHTML, valueShowEs, escapeHTMLTag, escapeScriptTag, moveToEnd, isShowHidenCR, getrangeseleciton, cancelNormalSelected, moveHighlightCell, israngeseleciton, handleFormulaInput, onSearchDialogMoveStart, replaceAll, replace, searchAll, searchNext, normalizeSelection, scrollToHighlightCell, isLinkValid, getRangetxt, goToLink, replaceHtml, removeHyperlink, onRangeSelectionModalMoveStart, saveHyperlink, createFilterOptions, onImageMoveStart, onImageResizeStart, showComments, setEditingComment, onCommentBoxMoveStart, confirmMessage, getRangeByTxt, getDropdownList, setCellValue, setConditionRules, mergeBorder, setDropcownValue, handleCellAreaMouseDown, handleCellAreaDoubleClick, selectAll, showLinkCard, getCellRowColumn, getCellHyperlink, handleOverlayMouseMove, handleOverlayMouseUp, handleKeydownForZoom, handleOverlayTouchStart, handleOverlayTouchMove, handleOverlayTouchEnd, insertRowCol, drawArrow, onCellsMoveStart, createDropCellRange, updateContextWithSheetData, updateContextWithCanvas, initFreeze, Canvas, handleGlobalWheel, setCaretPosition, getDataArr, updateMoreCell, getRegStr, getOptionValue, getSelectRange, applyLocation, updateItem, update, normalizedCellAttr, updateFormat, handleTextSize, handleHorizontalAlign, handleVerticalAlign, handleScreenShot, showImgChooser, insertImage, editComment, deleteComment, showHideComment, showHideAllComments, newComment, handleSum, autoSelectionFormula, handleMerge, handleBorder, handleFreeze, handleSort, createFilter, clearFilter, toolbarItemSelectedFunc, toolbarItemClickHandler, handleTextColor, handleTextBackground, getInlineStringNoStyle, rangeHightlightselected, updateCell, editSheetName, cancelActiveImgItem, MAX_ZOOM_RATIO, MIN_ZOOM_RATIO, addSheet, indexToColumnChar, sortSelection, handleCopy, deleteRowCol, hideSelected, showSelected, api, removeActiveImage, deleteSelectedCellText, jfrefreshgrid, handleLink, handlePasteByClick, deleteSheet, opToPatch, orderbydatafiler, getFilterColumnValues, getFilterColumnColors, saveFilter, calcSelectionInfo, patchToOp, filterPatch, inverseRowColOptions, ensureSheetIndex, initSheetIndex, handleGlobalKeyDown, handlePaste, groupValuesRefresh } from '@fileverse-dev/fortune-core';
2
2
  import React, { useContext, useRef, useState, useMemo, useCallback, useEffect, useLayoutEffect, useImperativeHandle } from 'react';
3
3
  import produce, { applyPatches, enablePatches, produceWithPatches } from 'immer';
4
4
  import _ from 'lodash';
5
- import { cn, IconButton, Button as Button$1, TextField, Checkbox, Divider as Divider$2, Table, TableHeader, TableRow, TableHead, TableBody, TableCell, Select as Select$1, SelectTrigger, SelectValue, SelectContent, SelectItem as SelectItem$1, LucideIcon } from '@fileverse/ui';
5
+ import { LucideIcon, TextField, Button as Button$1, IconButton, Checkbox, Divider as Divider$2, Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from '@fileverse/ui';
6
6
  import regeneratorRuntime from 'regenerator-runtime';
7
- import Tippy from '@tippyjs/react';
8
7
 
9
8
  function _arrayLikeToArray(r, a) {
10
9
  (null == a || a > r.length) && (a = r.length);
@@ -795,14 +794,55 @@ var FormulaSearch = function FormulaSearch(props) {
795
794
  key: v.n,
796
795
  "data-func": v.n,
797
796
  className: "luckysheet-formula-search-item ".concat(index === 0 ? "luckysheet-formula-search-item-active" : "")
797
+ }, /*#__PURE__*/React.createElement("div", {
798
+ style: {
799
+ display: "flex",
800
+ justifyContent: "space-between"
801
+ }
798
802
  }, /*#__PURE__*/React.createElement("div", {
799
803
  className: "luckysheet-formula-search-func"
800
804
  }, v.n), /*#__PURE__*/React.createElement("div", {
805
+ style: {
806
+ display: "flex",
807
+ gap: "4px"
808
+ }
809
+ }, v.LOGO && /*#__PURE__*/React.createElement("img", {
810
+ src: v.LOGO,
811
+ alt: "Service Logo",
812
+ width: 32,
813
+ height: 32
814
+ }), v.API_KEY && /*#__PURE__*/React.createElement("div", {
815
+ style: {
816
+ borderRadius: "4px",
817
+ width: "20px",
818
+ height: "20px",
819
+ backgroundColor: "".concat(localStorage.getItem(v.API_KEY) ? "#177E23" : "#F9A92B")
820
+ }
821
+ }, /*#__PURE__*/React.createElement(LucideIcon, {
822
+ name: "Key",
823
+ style: {
824
+ color: "white"
825
+ }
826
+ })))), /*#__PURE__*/React.createElement("div", {
801
827
  className: "luckysheet-formula-search-detail"
802
828
  }, v.d));
803
829
  }));
804
830
  };
805
831
 
832
+ function lightenHexColor(hex) {
833
+ var amount = 100;
834
+ if (hex.startsWith('#')) {
835
+ hex = hex.slice(1);
836
+ }
837
+ var r = parseInt(hex.slice(0, 2), 16);
838
+ var g = parseInt(hex.slice(2, 4), 16);
839
+ var b = parseInt(hex.slice(4, 6), 16);
840
+ r = Math.min(255, r + amount);
841
+ g = Math.min(255, g + amount);
842
+ b = Math.min(255, b + amount);
843
+ var newHex = '#' + (1 << 24 | r << 16 | g << 8 | b).toString(16).slice(1).toUpperCase();
844
+ return newHex;
845
+ }
806
846
  var FormulaHint = function FormulaHint(props) {
807
847
  var _useContext = useContext(WorkbookContext),
808
848
  context = _useContext.context;
@@ -811,9 +851,21 @@ var FormulaHint = function FormulaHint(props) {
811
851
  if (!context.functionHint) return null;
812
852
  var fn = context.formulaCache.functionlistMap[context.functionHint];
813
853
  if (!fn) return null;
854
+ var _useState = useState(localStorage.getItem(fn.API_KEY)),
855
+ _useState2 = _slicedToArray(_useState, 2),
856
+ API_KEY = _useState2[0],
857
+ setAPI_KEY = _useState2[1];
858
+ var _useState3 = useState(!API_KEY),
859
+ _useState4 = _slicedToArray(_useState3, 2),
860
+ showAPInput = _useState4[0],
861
+ setShowAPInput = _useState4[1];
814
862
  return /*#__PURE__*/React.createElement("div", _objectSpread2(_objectSpread2({}, props), {}, {
815
863
  id: "luckysheet-formula-help-c",
816
- className: "luckysheet-formula-help-c"
864
+ className: "luckysheet-formula-help-c",
865
+ style: {
866
+ border: "1px solid ".concat(fn.BRAND_COLOR),
867
+ backgroundColor: "".concat(fn.BRAND_COLOR ? lightenHexColor(fn.BRAND_COLOR) : '#F8F9FA')
868
+ }
817
869
  }), /*#__PURE__*/React.createElement("div", {
818
870
  className: "luckysheet-formula-help-close",
819
871
  title: "\u5173\u95ED"
@@ -827,7 +879,10 @@ var FormulaHint = function FormulaHint(props) {
827
879
  className: "fa fa-angle-up",
828
880
  "aria-hidden": "true"
829
881
  })), /*#__PURE__*/React.createElement("div", {
830
- className: "luckysheet-formula-help-title"
882
+ className: "luckysheet-formula-help-title formula-title",
883
+ style: {
884
+ backgroundColor: "".concat(fn.BRAND_COLOR ? lightenHexColor(fn.BRAND_COLOR) : '#F8F9FA')
885
+ }
831
886
  }, /*#__PURE__*/React.createElement("div", {
832
887
  className: "luckysheet-formula-help-title-formula"
833
888
  }, /*#__PURE__*/React.createElement("span", {
@@ -851,16 +906,98 @@ var FormulaHint = function FormulaHint(props) {
851
906
  }, name, i !== fn.p.length - 1 && ", ");
852
907
  })), /*#__PURE__*/React.createElement("span", {
853
908
  className: "luckysheet-arguments-paren"
854
- }, ")"))), /*#__PURE__*/React.createElement("div", {
855
- className: "luckysheet-formula-help-content"
909
+ }, ")")), /*#__PURE__*/React.createElement("div", {
910
+ style: {
911
+ display: "flex",
912
+ gap: "4px"
913
+ }
914
+ }, fn.LOGO && /*#__PURE__*/React.createElement("img", {
915
+ src: fn.LOGO,
916
+ alt: "Service Logo",
917
+ width: 32,
918
+ height: 32
919
+ }), fn.API_KEY && /*#__PURE__*/React.createElement("div", {
920
+ style: {
921
+ borderRadius: "4px",
922
+ width: "20px",
923
+ height: "20px",
924
+ backgroundColor: "".concat(localStorage.getItem(fn.API_KEY) ? "#177E23" : "#F9A92B")
925
+ }
926
+ }, /*#__PURE__*/React.createElement(LucideIcon, {
927
+ name: "Key",
928
+ style: {
929
+ color: "white"
930
+ }
931
+ })))), /*#__PURE__*/React.createElement("div", {
932
+ className: "luckysheet-formula-help-content",
933
+ style: {
934
+ backgroundColor: "".concat(fn.BRAND_COLOR ? lightenHexColor(fn.BRAND_COLOR) : '#F8F9FA')
935
+ }
936
+ }, fn.API_KEY && /*#__PURE__*/React.createElement("div", {
937
+ style: {
938
+ borderLeft: "4px solid ".concat(API_KEY ? "#177E23" : "#fb923c"),
939
+ backgroundColor: 'white',
940
+ padding: '16px',
941
+ margin: '4px 4px 0px 4px',
942
+ borderRadius: '4px'
943
+ }
944
+ }, /*#__PURE__*/React.createElement("div", {
945
+ style: {
946
+ display: "flex",
947
+ justifyContent: "space-between",
948
+ cursor: "pointer"
949
+ },
950
+ onClick: function onClick() {
951
+ return setShowAPInput(!showAPInput);
952
+ }
953
+ }, /*#__PURE__*/React.createElement("h3", {
954
+ style: {
955
+ fontSize: '14px',
956
+ fontWeight: '600',
957
+ color: '#1f2937',
958
+ margin: '0 0 8px 0'
959
+ }
960
+ }, "API key is required"), /*#__PURE__*/React.createElement(LucideIcon, {
961
+ name: "ChevronDown",
962
+ width: 24,
963
+ height: 24
964
+ })), showAPInput && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("p", {
965
+ style: {
966
+ color: '#6b7280',
967
+ margin: '0 0 16px 0'
968
+ }
969
+ }, "This function is require API key. Please paste it below and press \"Ok\"."), /*#__PURE__*/React.createElement("div", {
970
+ style: {
971
+ display: 'flex',
972
+ gap: '12px'
973
+ }
974
+ }, /*#__PURE__*/React.createElement(TextField, {
975
+ value: API_KEY,
976
+ id: "function-api-key",
977
+ type: "text",
978
+ placeholder: "API key",
979
+ onChange: function onChange(e) {
980
+ setAPI_KEY(e.target.value);
981
+ }
982
+ }), /*#__PURE__*/React.createElement(Button$1, {
983
+ onClick: function onClick() {
984
+ localStorage.setItem(fn.API_KEY, API_KEY);
985
+ }
986
+ }, "Ok")))), /*#__PURE__*/React.createElement("div", {
987
+ style: {
988
+ backgroundColor: 'white',
989
+ padding: '6px',
990
+ margin: '4px 4px 0px 4px',
991
+ borderRadius: '4px'
992
+ }
856
993
  }, /*#__PURE__*/React.createElement("div", {
857
994
  className: "luckysheet-formula-help-content-example"
858
995
  }, /*#__PURE__*/React.createElement("div", {
859
- className: "luckysheet-arguments-help-section-title"
996
+ className: "luckysheet-arguments-help-section-title example-title"
860
997
  }, formulaMore.helpExample), /*#__PURE__*/React.createElement("div", {
861
998
  className: "luckysheet-arguments-help-formula"
862
999
  }, /*#__PURE__*/React.createElement("span", {
863
- className: "luckysheet-arguments-help-function-name"
1000
+ className: "luckysheet-arguments-help-function-name example-value"
864
1001
  }, fn.n), /*#__PURE__*/React.createElement("span", {
865
1002
  className: "luckysheet-arguments-paren"
866
1003
  }, "("), /*#__PURE__*/React.createElement("span", {
@@ -874,13 +1011,16 @@ var FormulaHint = function FormulaHint(props) {
874
1011
  })), /*#__PURE__*/React.createElement("span", {
875
1012
  className: "luckysheet-arguments-paren"
876
1013
  }, ")"))), /*#__PURE__*/React.createElement("div", {
877
- className: "luckysheet-formula-help-content-detail"
1014
+ className: "luckysheet-formula-help-content-detail",
1015
+ style: {
1016
+ paddingBottom: '6px'
1017
+ }
878
1018
  }, /*#__PURE__*/React.createElement("div", {
879
1019
  className: "luckysheet-arguments-help-section"
880
1020
  }, /*#__PURE__*/React.createElement("div", {
881
- className: "luckysheet-arguments-help-section-title luckysheet-arguments-help-parameter-name"
882
- }, formulaMore.helpAbstract), /*#__PURE__*/React.createElement("span", {
883
- className: "luckysheet-arguments-help-parameter-content"
1021
+ className: "luckysheet-arguments-help-section-title luckysheet-arguments-help-parameter-name example-title"
1022
+ }, "About"), /*#__PURE__*/React.createElement("span", {
1023
+ className: "luckysheet-arguments-help-parameter-content example-value"
884
1024
  }, fn.d))), /*#__PURE__*/React.createElement("div", {
885
1025
  className: "luckysheet-formula-help-content-param"
886
1026
  }, fn.p.map(function (param) {
@@ -888,15 +1028,24 @@ var FormulaHint = function FormulaHint(props) {
888
1028
  className: "luckysheet-arguments-help-section",
889
1029
  key: param.name
890
1030
  }, /*#__PURE__*/React.createElement("div", {
891
- className: "luckysheet-arguments-help-section-title"
1031
+ className: "luckysheet-arguments-help-section-title example-title"
892
1032
  }, param.name, param.repeat === "y" && (/*#__PURE__*/React.createElement("span", {
893
- className: "luckysheet-arguments-help-argument-info"
1033
+ className: "luckysheet-arguments-help-argument-info example-value",
1034
+ style: {
1035
+ marginTop: '2px'
1036
+ }
894
1037
  }, "...-", formulaMore.allowRepeatText)), param.require === "o" && (/*#__PURE__*/React.createElement("span", {
895
- className: "luckysheet-arguments-help-argument-info"
1038
+ className: "luckysheet-arguments-help-argument-info example-value",
1039
+ style: {
1040
+ marginTop: '2px'
1041
+ }
896
1042
  }, "-[", formulaMore.allowOptionText, "]"))), /*#__PURE__*/React.createElement("span", {
897
- className: "luckysheet-arguments-help-parameter-content"
1043
+ className: "luckysheet-arguments-help-parameter-content example-value",
1044
+ style: {
1045
+ marginTop: '2px'
1046
+ }
898
1047
  }, param.detail));
899
- }))), /*#__PURE__*/React.createElement("div", {
1048
+ })))), /*#__PURE__*/React.createElement("div", {
900
1049
  className: "luckysheet-formula-help-foot"
901
1050
  }));
902
1051
  };
@@ -1221,8 +1370,7 @@ var Dialog = function Dialog(_ref) {
1221
1370
  onCancel = _ref.onCancel,
1222
1371
  children = _ref.children,
1223
1372
  containerStyle = _ref.containerStyle,
1224
- contentStyle = _ref.contentStyle,
1225
- title = _ref.title;
1373
+ contentStyle = _ref.contentStyle;
1226
1374
  var _useContext = useContext(WorkbookContext),
1227
1375
  context = _useContext.context;
1228
1376
  var _locale = locale(context),
@@ -1231,12 +1379,8 @@ var Dialog = function Dialog(_ref) {
1231
1379
  className: "fortune-dialog",
1232
1380
  style: containerStyle
1233
1381
  }, /*#__PURE__*/React.createElement("div", {
1234
- className: cn("flex items-center justify-end border-b color-border-default py-3 px-6", {
1235
- "justify-between": title
1236
- })
1237
- }, title && /*#__PURE__*/React.createElement("div", {
1238
- className: "text-heading-sm"
1239
- }, title), /*#__PURE__*/React.createElement(IconButton, {
1382
+ className: "flex items-center justify-end border-b color-border-default py-3 px-6"
1383
+ }, /*#__PURE__*/React.createElement(IconButton, {
1240
1384
  icon: "X",
1241
1385
  variant: "ghost",
1242
1386
  onClick: onCancel,
@@ -1353,7 +1497,8 @@ var SearchReplace = function SearchReplace(_ref) {
1353
1497
  setContext = _useContext.setContext,
1354
1498
  refs = _useContext.refs;
1355
1499
  var _locale = locale(context),
1356
- findAndReplace = _locale.findAndReplace;
1500
+ findAndReplace = _locale.findAndReplace,
1501
+ button = _locale.button;
1357
1502
  var _useState = useState(""),
1358
1503
  _useState2 = _slicedToArray(_useState, 2),
1359
1504
  searchText = _useState2[0],
@@ -1417,7 +1562,9 @@ var SearchReplace = function SearchReplace(_ref) {
1417
1562
  onSearchDialogMoveStart(refs.globalCache, nativeEvent, getContainer());
1418
1563
  e.stopPropagation();
1419
1564
  }
1420
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
1565
+ }, /*#__PURE__*/React.createElement("div", {
1566
+ className: ""
1567
+ }, /*#__PURE__*/React.createElement("div", {
1421
1568
  className: "flex items-center justify-between border-b color-border-default py-3 px-6"
1422
1569
  }, /*#__PURE__*/React.createElement("h3", {
1423
1570
  className: "text-heading-sm"
@@ -1453,10 +1600,7 @@ var SearchReplace = function SearchReplace(_ref) {
1453
1600
  },
1454
1601
  value: searchText,
1455
1602
  onChange: function onChange(e) {
1456
- if (e.target.value.length === 0) {
1457
- setSearchResult([]);
1458
- }
1459
- setSearchText(e.target.value);
1603
+ return setSearchText(e.target.value);
1460
1604
  }
1461
1605
  })), /*#__PURE__*/React.createElement("div", {
1462
1606
  id: "replaceInput",
@@ -1516,8 +1660,13 @@ var SearchReplace = function SearchReplace(_ref) {
1516
1660
  }), /*#__PURE__*/React.createElement("span", null, findAndReplace.wholeTextbox)))), /*#__PURE__*/React.createElement(Divider$2, {
1517
1661
  className: "w-full border-t-[1px]"
1518
1662
  }), /*#__PURE__*/React.createElement("div", {
1519
- className: "flex flex-row gap-2 justify-center items-center mb-4"
1663
+ className: "flex flex-row gap-2 justify-center items-center"
1520
1664
  }, /*#__PURE__*/React.createElement(Button$1, {
1665
+ variant: "secondary",
1666
+ className: "min-w-fit",
1667
+ onClick: closeDialog,
1668
+ tabIndex: 0
1669
+ }, button.close), /*#__PURE__*/React.createElement(Button$1, {
1521
1670
  id: "replaceAllBtn",
1522
1671
  variant: "secondary",
1523
1672
  className: "min-w-fit",
@@ -1528,8 +1677,7 @@ var SearchReplace = function SearchReplace(_ref) {
1528
1677
  showAlert(alertMsg);
1529
1678
  });
1530
1679
  },
1531
- tabIndex: 0,
1532
- disabled: searchText.length === 0 || replaceText.length === 0
1680
+ tabIndex: 0
1533
1681
  }, findAndReplace.allReplaceBtn), /*#__PURE__*/React.createElement(Button$1, {
1534
1682
  id: "replaceBtn",
1535
1683
  variant: "secondary",
@@ -1543,8 +1691,7 @@ var SearchReplace = function SearchReplace(_ref) {
1543
1691
  }
1544
1692
  });
1545
1693
  },
1546
- tabIndex: 0,
1547
- disabled: searchText.length === 0 || replaceText.length === 0
1694
+ tabIndex: 0
1548
1695
  }, findAndReplace.replaceBtn), /*#__PURE__*/React.createElement(Button$1, {
1549
1696
  id: "searchAllBtn",
1550
1697
  variant: "secondary",
@@ -1558,11 +1705,10 @@ var SearchReplace = function SearchReplace(_ref) {
1558
1705
  if (_.isEmpty(res)) showAlert(findAndReplace.noFindTip);
1559
1706
  });
1560
1707
  },
1561
- tabIndex: 0,
1562
- disabled: searchText.length === 0
1708
+ tabIndex: 0
1563
1709
  }, findAndReplace.allFindBtn), /*#__PURE__*/React.createElement(Button$1, {
1564
1710
  id: "searchNextBtn",
1565
- variant: "default",
1711
+ variant: "secondary",
1566
1712
  className: "min-w-fit",
1567
1713
  onClick: function onClick() {
1568
1714
  return setContext(function (draftCtx) {
@@ -1571,13 +1717,10 @@ var SearchReplace = function SearchReplace(_ref) {
1571
1717
  if (alertMsg != null) showAlert(alertMsg);
1572
1718
  });
1573
1719
  },
1574
- tabIndex: 0,
1575
- disabled: searchText.length === 0
1576
- }, findAndReplace.findBtn))), searchResult.length > 0 && (/*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider$2, {
1577
- className: "w-full border-t-[1px] mb-4"
1578
- }), /*#__PURE__*/React.createElement("div", {
1720
+ tabIndex: 0
1721
+ }, findAndReplace.findBtn)))), searchResult.length > 0 && (/*#__PURE__*/React.createElement("div", {
1579
1722
  ref: tableContainerRef,
1580
- className: "mb-6 table-container max-h-[300px] overflow-y-auto",
1723
+ className: "px-6 pb-6 max-h-[300px] overflow-y-auto",
1581
1724
  onMouseDown: function onMouseDown(e) {
1582
1725
  var _tableContainerRef$cu;
1583
1726
  if (e.target === tableContainerRef.current || ((_tableContainerRef$cu = tableContainerRef.current) === null || _tableContainerRef$cu === void 0 ? void 0 : _tableContainerRef$cu.contains(e.target))) {
@@ -1586,19 +1729,6 @@ var SearchReplace = function SearchReplace(_ref) {
1586
1729
  (_tableContainerRef$cu2 = tableContainerRef.current) === null || _tableContainerRef$cu2 === void 0 ? void 0 : _tableContainerRef$cu2.focus();
1587
1730
  }
1588
1731
  },
1589
- onWheel: function onWheel(e) {
1590
- e.preventDefault();
1591
- e.stopPropagation();
1592
- if (tableContainerRef.current) {
1593
- tableContainerRef.current.scrollTop += e.deltaY;
1594
- }
1595
- },
1596
- onTouchStart: function onTouchStart(e) {
1597
- e.stopPropagation();
1598
- },
1599
- onTouchMove: function onTouchMove(e) {
1600
- e.stopPropagation();
1601
- },
1602
1732
  tabIndex: 0
1603
1733
  }, /*#__PURE__*/React.createElement(Table, {
1604
1734
  id: "searchAllbox"
@@ -1606,10 +1736,10 @@ var SearchReplace = function SearchReplace(_ref) {
1606
1736
  className: "color-bg-secondary"
1607
1737
  }, /*#__PURE__*/React.createElement(TableRow, null, /*#__PURE__*/React.createElement(TableHead, null, findAndReplace.searchTargetSheet), /*#__PURE__*/React.createElement(TableHead, null, findAndReplace.searchTargetCell), /*#__PURE__*/React.createElement(TableHead, null, findAndReplace.searchTargetValue))), /*#__PURE__*/React.createElement(TableBody, null, searchResult.map(function (v) {
1608
1738
  return /*#__PURE__*/React.createElement(TableRow, {
1609
- className: cn(_.isEqual(selectedCell, {
1739
+ className: "".concat(_.isEqual(selectedCell, {
1610
1740
  r: v.r,
1611
1741
  c: v.c
1612
- }) ? "color-bg-default-selected" : ""),
1742
+ }) ? "on" : ""),
1613
1743
  key: v.cellPosition,
1614
1744
  onClick: function onClick() {
1615
1745
  setContext(function (draftCtx) {
@@ -1632,7 +1762,7 @@ var SearchReplace = function SearchReplace(_ref) {
1632
1762
  }, v.cellPosition), /*#__PURE__*/React.createElement(TableCell, {
1633
1763
  className: "find-replace-table-cell"
1634
1764
  }, v.value));
1635
- })))))))));
1765
+ })))))));
1636
1766
  };
1637
1767
 
1638
1768
  var LinkEditCard = function LinkEditCard(_ref) {
@@ -2361,14 +2491,13 @@ function useDialog() {
2361
2491
  var _useContext = useContext(ModalContext),
2362
2492
  showModal = _useContext.showModal,
2363
2493
  hideModal = _useContext.hideModal;
2364
- var showDialog = useCallback(function (content, type, title) {
2365
- var onOk = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : hideModal;
2366
- var onCancel = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : hideModal;
2494
+ var showDialog = useCallback(function (content, type) {
2495
+ var onOk = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : hideModal;
2496
+ var onCancel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : hideModal;
2367
2497
  showModal(/*#__PURE__*/React.createElement(Dialog, {
2368
2498
  type: type,
2369
2499
  onOk: onOk,
2370
- onCancel: onCancel,
2371
- title: title
2500
+ onCancel: onCancel
2372
2501
  }, content));
2373
2502
  }, [hideModal, showModal]);
2374
2503
  return {
@@ -2882,21 +3011,6 @@ var DataVerification = function DataVerification() {
2882
3011
  }, button.cancel));
2883
3012
  };
2884
3013
 
2885
- function getDisplayedRangeTxt(context) {
2886
- var _context$rangeDialog$, _context$rangeDialog;
2887
- if (context.luckysheet_select_save) {
2888
- var range = context.luckysheet_select_save[context.luckysheet_select_save.length - 1];
2889
- return getRangetxt(context, context.currentSheetId, range, context.currentSheetId);
2890
- }
2891
- return (_context$rangeDialog$ = (_context$rangeDialog = context.rangeDialog) === null || _context$rangeDialog === void 0 ? void 0 : _context$rangeDialog.rangeTxt) !== null && _context$rangeDialog$ !== void 0 ? _context$rangeDialog$ : "";
2892
- }
2893
-
2894
- 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";
2895
- if (typeof document !== "undefined") {
2896
- var styleSheet = document.createElement("style");
2897
- styleSheet.textContent = datepickerStyles;
2898
- document.head.appendChild(styleSheet);
2899
- }
2900
3014
  var ConditionRules = function ConditionRules(_ref) {
2901
3015
  var type = _ref.type;
2902
3016
  var _useContext = useContext(WorkbookContext),
@@ -2910,23 +3024,12 @@ var ConditionRules = function ConditionRules(_ref) {
2910
3024
  protection = _locale.protection,
2911
3025
  generalDialog = _locale.generalDialog;
2912
3026
  var _useState = useState({
2913
- textColor: "#FFFFFF",
2914
- cellColor: "#D82E2A"
3027
+ textColor: "#000000",
3028
+ cellColor: "#000000"
2915
3029
  }),
2916
3030
  _useState2 = _slicedToArray(_useState, 2),
2917
3031
  colorRules = _useState2[0],
2918
3032
  setColorRules = _useState2[1];
2919
- var dataSelectRange = useCallback(function (selectType) {
2920
- hideDialog();
2921
- setContext(function (ctx) {
2922
- ctx.conditionRules.textColor.color = colorRules.textColor;
2923
- ctx.conditionRules.cellColor.color = colorRules.cellColor;
2924
- ctx.rangeDialog.show = true;
2925
- ctx.rangeDialog.type = selectType;
2926
- ctx.rangeDialog.rangeTxt = ctx.conditionRules.rulesValue;
2927
- ctx.rangeDialog.singleSelect = true;
2928
- });
2929
- }, [colorRules.cellColor, colorRules.textColor, hideDialog, setContext]);
2930
3033
  var close = useCallback(function (closeType) {
2931
3034
  if (closeType === "confirm") {
2932
3035
  setContext(function (ctx) {
@@ -2995,16 +3098,17 @@ var ConditionRules = function ConditionRules(_ref) {
2995
3098
  ctx.rangeDialog.rangeTxt = "";
2996
3099
  });
2997
3100
  }, []);
2998
- var titleType = type === "top10_percent" ? "top10" : type === "last10_percent" ? "last10" : type;
2999
3101
  return /*#__PURE__*/React.createElement("div", {
3000
3102
  className: "condition-rules"
3001
- }, !["aboveAverage", "belowAverage"].includes(type) && (/*#__PURE__*/React.createElement("div", {
3002
- className: "flex flex-col"
3003
3103
  }, /*#__PURE__*/React.createElement("div", {
3004
- className: "condition-rules-value text-heading-xsm"
3005
- }, conditionformat["conditionformat_".concat(titleType, "_title")]), (type === "greaterThan" || type === "lessThan" || type === "equal" || type === "textContains") && (/*#__PURE__*/React.createElement("div", {
3006
- className: "w-full"
3007
- }, /*#__PURE__*/React.createElement(TextField, {
3104
+ className: "condition-rules-title"
3105
+ }, conditionformat["conditionformat_".concat(type)]), /*#__PURE__*/React.createElement("div", {
3106
+ className: "conditin-rules-value"
3107
+ }, conditionformat["conditionformat_".concat(type, "_title")]), (type === "greaterThan" || type === "lessThan" || type === "equal" || type === "textContains") && (/*#__PURE__*/React.createElement("div", {
3108
+ className: "condition-rules-inpbox"
3109
+ }, /*#__PURE__*/React.createElement("input", {
3110
+ className: "condition-rules-input",
3111
+ type: "text",
3008
3112
  value: context.conditionRules.rulesValue,
3009
3113
  onChange: function onChange(e) {
3010
3114
  var value = e.target.value;
@@ -3013,11 +3117,12 @@ var ConditionRules = function ConditionRules(_ref) {
3013
3117
  });
3014
3118
  }
3015
3119
  }))), type === "between" && (/*#__PURE__*/React.createElement("div", {
3016
- className: "w-full flex gap-2 items-center"
3120
+ className: "condition-rules-between-box"
3017
3121
  }, /*#__PURE__*/React.createElement("div", {
3018
- className: "w-full"
3019
- }, /*#__PURE__*/React.createElement(TextField, {
3020
- placeholder: "From",
3122
+ className: "condition-rules-between-inpbox"
3123
+ }, /*#__PURE__*/React.createElement("input", {
3124
+ className: "condition-rules-between-input",
3125
+ type: "text",
3021
3126
  value: context.conditionRules.betweenValue.value1,
3022
3127
  onChange: function onChange(e) {
3023
3128
  var value = e.target.value;
@@ -3025,10 +3130,15 @@ var ConditionRules = function ConditionRules(_ref) {
3025
3130
  ctx.conditionRules.betweenValue.value1 = value;
3026
3131
  });
3027
3132
  }
3028
- })), /*#__PURE__*/React.createElement("div", {
3029
- className: "w-full"
3030
- }, /*#__PURE__*/React.createElement(TextField, {
3031
- placeholder: "To",
3133
+ })), /*#__PURE__*/React.createElement("span", {
3134
+ style: {
3135
+ margin: "0px 4px"
3136
+ }
3137
+ }, conditionformat.to), /*#__PURE__*/React.createElement("div", {
3138
+ className: "condition-rules-between-inpbox"
3139
+ }, /*#__PURE__*/React.createElement("input", {
3140
+ className: "condition-rules-between-input",
3141
+ type: "text",
3032
3142
  value: context.conditionRules.betweenValue.value2,
3033
3143
  onChange: function onChange(e) {
3034
3144
  var value = e.target.value;
@@ -3037,10 +3147,10 @@ var ConditionRules = function ConditionRules(_ref) {
3037
3147
  });
3038
3148
  }
3039
3149
  })))), type === "occurrenceDate" && (/*#__PURE__*/React.createElement("div", {
3040
- className: "datepicker-toggle"
3150
+ className: "condition-rules-inpbox"
3041
3151
  }, /*#__PURE__*/React.createElement("input", {
3042
3152
  type: "date",
3043
- className: "datepicker-input",
3153
+ className: "condition-rules-date",
3044
3154
  value: context.conditionRules.dateValue,
3045
3155
  onChange: function onChange(e) {
3046
3156
  var value = e.target.value;
@@ -3048,101 +3158,50 @@ var ConditionRules = function ConditionRules(_ref) {
3048
3158
  ctx.conditionRules.dateValue = value;
3049
3159
  });
3050
3160
  }
3051
- }), /*#__PURE__*/React.createElement("span", {
3052
- className: "datepicker-toggle-button"
3053
- }))), type === "duplicateValue" && (/*#__PURE__*/React.createElement(Select$1, {
3054
- value: context.conditionRules.repeatValue,
3055
- onValueChange: function onValueChange(value) {
3161
+ }))), type === "duplicateValue" && (/*#__PURE__*/React.createElement("select", {
3162
+ className: "condition-rules-select",
3163
+ onChange: function onChange(e) {
3164
+ var value = e.target.value;
3056
3165
  setContext(function (ctx) {
3057
3166
  ctx.conditionRules.repeatValue = value;
3058
3167
  });
3059
3168
  }
3060
- }, /*#__PURE__*/React.createElement(SelectTrigger, null, /*#__PURE__*/React.createElement(SelectValue, null)), /*#__PURE__*/React.createElement(SelectContent, {
3061
- className: "condition-rules-select"
3062
- }, /*#__PURE__*/React.createElement(SelectItem$1, {
3169
+ }, /*#__PURE__*/React.createElement("option", {
3063
3170
  value: "0"
3064
- }, conditionformat.duplicateValue), /*#__PURE__*/React.createElement(SelectItem$1, {
3171
+ }, conditionformat.duplicateValue), /*#__PURE__*/React.createElement("option", {
3065
3172
  value: "1"
3066
- }, conditionformat.uniqueValue)))), (type === "top10" || type === "top10_percent" || type === "last10" || type === "last10_percent") && (/*#__PURE__*/React.createElement("div", {
3173
+ }, conditionformat.uniqueValue))), (type === "top10" || type === "top10_percent" || type === "last10" || type === "last10_percent") && (/*#__PURE__*/React.createElement("div", {
3067
3174
  className: "condition-rules-project-box"
3068
- }, type === "top10" || type === "top10_percent" ? conditionformat.top : conditionformat.last, /*#__PURE__*/React.createElement("div", {
3069
- className: "flex items-center"
3070
- }, /*#__PURE__*/React.createElement(IconButton, {
3071
- icon: "Minus",
3072
- variant: "ghost",
3073
- className: "!bg-transparent",
3074
- disabled: Number(context.conditionRules.projectValue) <= 1,
3075
- onClick: function onClick() {
3076
- setContext(function (ctx) {
3077
- var current = Number(ctx.conditionRules.projectValue) || 0;
3078
- ctx.conditionRules.projectValue = String(Math.max(current - 1, 1));
3079
- });
3080
- }
3081
- }), /*#__PURE__*/React.createElement(TextField, {
3082
- className: "condition-rules-project-input pr-0",
3175
+ }, type === "top10" || type === "top10_percent" ? conditionformat.top : conditionformat.last, /*#__PURE__*/React.createElement("input", {
3176
+ className: "condition-rules-project-input",
3083
3177
  type: "number",
3084
- min: 1,
3085
- max: type === "top10" || type === "last10" ? 10 : 100,
3086
3178
  value: context.conditionRules.projectValue,
3087
3179
  onChange: function onChange(e) {
3088
3180
  var value = e.target.value;
3089
3181
  setContext(function (ctx) {
3090
3182
  ctx.conditionRules.projectValue = value;
3091
3183
  });
3092
- },
3093
- rightIcon: type === "top10" || type === "last10" ? (/*#__PURE__*/React.createElement("span", {
3094
- className: "color-icon-secondary"
3095
- }, conditionformat.oneself)) : (/*#__PURE__*/React.createElement("span", {
3096
- className: "color-icon-secondary"
3097
- }, "%"))
3098
- }), /*#__PURE__*/React.createElement(IconButton, {
3099
- icon: "Plus",
3100
- variant: "ghost",
3101
- className: "!bg-transparent",
3102
- disabled: Number(context.conditionRules.projectValue) >= (type === "top10" || type === "last10" ? 10 : 100),
3103
- onClick: function onClick() {
3104
- setContext(function (ctx) {
3105
- var current = Number(ctx.conditionRules.projectValue) || 0;
3106
- ctx.conditionRules.projectValue = String(current + 1);
3107
- });
3108
- }
3109
- })))))), /*#__PURE__*/React.createElement("div", {
3110
- className: "flex flex-col"
3111
- }, /*#__PURE__*/React.createElement("div", {
3112
- className: "condition-rules-value text-heading-xsm"
3113
- }, conditionformat.applyRange), /*#__PURE__*/React.createElement(TextField, {
3114
- rightIcon: /*#__PURE__*/React.createElement(LucideIcon, {
3115
- name: "Grid2x2",
3116
- size: "sm"
3117
- }),
3118
- "aria-hidden": "true",
3119
- readOnly: true,
3120
- placeholder: conditionformat.selectRange,
3121
- value: getDisplayedRangeTxt(context),
3122
- onClick: function onClick() {
3123
- dataSelectRange("conditionRules".concat(type));
3124
3184
  }
3125
- })), /*#__PURE__*/React.createElement("div", {
3126
- className: "flex flex-col"
3127
- }, /*#__PURE__*/React.createElement("div", {
3128
- className: "condition-rules-set-title text-heading-xsm"
3185
+ }), type === "top10" || type === "last10" ? conditionformat.oneself : "%")), /*#__PURE__*/React.createElement("div", {
3186
+ className: "condition-rules-set-title"
3129
3187
  }, "".concat(conditionformat.setAs, "\uFF1A")), /*#__PURE__*/React.createElement("div", {
3130
3188
  className: "condition-rules-setbox"
3131
3189
  }, /*#__PURE__*/React.createElement("div", {
3132
3190
  className: "condition-rules-set"
3133
3191
  }, /*#__PURE__*/React.createElement("div", {
3134
3192
  className: "condition-rules-color"
3135
- }, /*#__PURE__*/React.createElement("span", {
3136
- id: "checkTextColor"
3137
- }, /*#__PURE__*/React.createElement(Checkbox, {
3193
+ }, /*#__PURE__*/React.createElement("input", {
3194
+ id: "checkTextColor",
3195
+ type: "checkbox",
3196
+ className: "condition-rules-check",
3138
3197
  checked: context.conditionRules.textColor.check,
3139
- onCheckedChange: function onCheckedChange(e) {
3198
+ onChange: function onChange(e) {
3140
3199
  var checked = e.target.checked;
3141
3200
  setContext(function (ctx) {
3142
3201
  ctx.conditionRules.textColor.check = checked;
3143
3202
  });
3144
3203
  }
3145
- })), /*#__PURE__*/React.createElement("label", {
3204
+ }), /*#__PURE__*/React.createElement("label", {
3146
3205
  htmlFor: "checkTextColor",
3147
3206
  className: "condition-rules-label"
3148
3207
  }, conditionformat.textColor), /*#__PURE__*/React.createElement("input", {
@@ -3159,17 +3218,18 @@ var ConditionRules = function ConditionRules(_ref) {
3159
3218
  className: "condition-rules-set"
3160
3219
  }, /*#__PURE__*/React.createElement("div", {
3161
3220
  className: "condition-rules-color"
3162
- }, /*#__PURE__*/React.createElement("span", {
3163
- id: "checkCellColor"
3164
- }, /*#__PURE__*/React.createElement(Checkbox, {
3221
+ }, /*#__PURE__*/React.createElement("input", {
3222
+ id: "checkCellColor",
3223
+ type: "checkbox",
3224
+ className: "condition-rules-check",
3165
3225
  checked: context.conditionRules.cellColor.check,
3166
- onCheckedChange: function onCheckedChange(e) {
3226
+ onChange: function onChange(e) {
3167
3227
  var checked = e.target.checked;
3168
3228
  setContext(function (ctx) {
3169
3229
  ctx.conditionRules.cellColor.check = checked;
3170
3230
  });
3171
3231
  }
3172
- })), /*#__PURE__*/React.createElement("label", {
3232
+ }), /*#__PURE__*/React.createElement("label", {
3173
3233
  htmlFor: "checkCellColor",
3174
3234
  className: "condition-rules-label"
3175
3235
  }, conditionformat.cellColor), /*#__PURE__*/React.createElement("input", {
@@ -3182,32 +3242,23 @@ var ConditionRules = function ConditionRules(_ref) {
3182
3242
  draft.cellColor = value;
3183
3243
  }));
3184
3244
  }
3185
- }))))), /*#__PURE__*/React.createElement(Divider$2, {
3186
- className: "w-full border-t-[1px]"
3187
- }), /*#__PURE__*/React.createElement("div", {
3188
- className: "flex gap-2 justify-end"
3189
- }, /*#__PURE__*/React.createElement(Button$1, {
3190
- variant: "secondary",
3191
- style: {
3192
- minWidth: "80px"
3193
- },
3245
+ })))), /*#__PURE__*/React.createElement("div", {
3246
+ className: "button-basic button-primary",
3194
3247
  onClick: function onClick() {
3195
- close("close");
3248
+ close("confirm");
3196
3249
  },
3197
3250
  tabIndex: 0
3198
- }, button.cancel), /*#__PURE__*/React.createElement(Button$1, {
3199
- variant: "default",
3200
- style: {
3201
- minWidth: "80px"
3202
- },
3251
+ }, button.confirm), /*#__PURE__*/React.createElement("div", {
3252
+ className: "button-basic button-close",
3203
3253
  onClick: function onClick() {
3204
- close("confirm");
3254
+ close("close");
3205
3255
  },
3206
3256
  tabIndex: 0
3207
- }, button.apply)));
3257
+ }, button.cancel));
3208
3258
  };
3209
3259
 
3210
3260
  var RangeDialog = function RangeDialog() {
3261
+ var _context$rangeDialog$, _context$rangeDialog;
3211
3262
  var _useContext = useContext(WorkbookContext),
3212
3263
  context = _useContext.context,
3213
3264
  setContext = _useContext.setContext;
@@ -3216,7 +3267,7 @@ var RangeDialog = function RangeDialog() {
3216
3267
  var _locale = locale(context),
3217
3268
  dataVerification = _locale.dataVerification,
3218
3269
  button = _locale.button;
3219
- var _useState = useState(getDisplayedRangeTxt(context)),
3270
+ var _useState = useState((_context$rangeDialog$ = (_context$rangeDialog = context.rangeDialog) === null || _context$rangeDialog === void 0 ? void 0 : _context$rangeDialog.rangeTxt) !== null && _context$rangeDialog$ !== void 0 ? _context$rangeDialog$ : ""),
3220
3271
  _useState2 = _slicedToArray(_useState, 2),
3221
3272
  rangeTxt2 = _useState2[0],
3222
3273
  setRangeTxt2 = _useState2[1];
@@ -3230,24 +3281,30 @@ var RangeDialog = function RangeDialog() {
3230
3281
  if (rangeDialogType.indexOf("between") >= 0) {
3231
3282
  showDialog(/*#__PURE__*/React.createElement(ConditionRules, {
3232
3283
  type: "between"
3233
- }), undefined, locale(context).conditionformat.conditionformat_between);
3284
+ }));
3234
3285
  return;
3235
3286
  }
3236
3287
  if (rangeDialogType.indexOf("conditionRules") >= 0) {
3237
3288
  var rulesType = rangeDialogType.substring("conditionRules".length, rangeDialogType.length);
3238
3289
  showDialog(/*#__PURE__*/React.createElement(ConditionRules, {
3239
3290
  type: rulesType
3240
- }), undefined, locale(context).conditionformat["conditionformat_".concat(rulesType)]);
3291
+ }));
3241
3292
  return;
3242
3293
  }
3243
3294
  showDialog(/*#__PURE__*/React.createElement(DataVerification, null));
3244
- }, [setContext, showDialog, context]);
3295
+ }, [context.rangeDialog, setContext, showDialog]);
3245
3296
  useEffect(function () {
3246
- setRangeTxt2(getDisplayedRangeTxt(context));
3297
+ setRangeTxt2(function (r) {
3298
+ if (context.luckysheet_select_save) {
3299
+ var range = context.luckysheet_select_save[context.luckysheet_select_save.length - 1];
3300
+ r = getRangetxt(context, context.currentSheetId, range, context.currentSheetId);
3301
+ return r;
3302
+ }
3303
+ return "";
3304
+ });
3247
3305
  }, [context, context.luckysheet_select_save]);
3248
3306
  return /*#__PURE__*/React.createElement("div", {
3249
3307
  id: "range-dialog",
3250
- className: "fortune-dialog",
3251
3308
  onClick: function onClick(e) {
3252
3309
  return e.stopPropagation();
3253
3310
  },
@@ -3265,34 +3322,15 @@ var RangeDialog = function RangeDialog() {
3265
3322
  },
3266
3323
  tabIndex: 0
3267
3324
  }, /*#__PURE__*/React.createElement("div", {
3268
- className: cn("flex items-center justify-between border-b color-border-default py-3 px-6")
3269
- }, /*#__PURE__*/React.createElement("div", {
3270
- className: "text-heading-sm"
3271
- }, dataVerification.selectCellRange), /*#__PURE__*/React.createElement(IconButton, {
3272
- icon: "X",
3273
- variant: "ghost",
3274
- onClick: close,
3275
- tabIndex: 0
3276
- })), /*#__PURE__*/React.createElement("div", {
3277
- className: "px-6 pb-6 pt-4 text-body-sm"
3278
- }, /*#__PURE__*/React.createElement(TextField, {
3279
- className: "w-full",
3325
+ className: "dialog-title"
3326
+ }, dataVerification.selectCellRange), /*#__PURE__*/React.createElement("input", {
3280
3327
  readOnly: true,
3281
3328
  placeholder: dataVerification.selectCellRange2,
3282
3329
  value: rangeTxt2
3283
- })), /*#__PURE__*/React.createElement("div", {
3284
- className: "px-6 pb-6 flex flex-row gap-2 justify-end"
3285
- }, /*#__PURE__*/React.createElement(Button$1, {
3286
- variant: "secondary",
3287
- style: {
3288
- minWidth: "80px"
3289
- },
3290
- onClick: close,
3291
- tabIndex: 0
3292
- }, button.close), /*#__PURE__*/React.createElement(Button$1, {
3293
- variant: "default",
3330
+ }), /*#__PURE__*/React.createElement("div", {
3331
+ className: "button-basic button-primary",
3294
3332
  style: {
3295
- minWidth: "80px"
3333
+ marginLeft: "6px"
3296
3334
  },
3297
3335
  onClick: function onClick() {
3298
3336
  setContext(function (ctx) {
@@ -3301,7 +3339,13 @@ var RangeDialog = function RangeDialog() {
3301
3339
  close();
3302
3340
  },
3303
3341
  tabIndex: 0
3304
- }, button.confirm)));
3342
+ }, button.confirm), /*#__PURE__*/React.createElement("div", {
3343
+ className: "button-basic button-close",
3344
+ onClick: function onClick() {
3345
+ close();
3346
+ },
3347
+ tabIndex: 0
3348
+ }, button.close));
3305
3349
  };
3306
3350
 
3307
3351
  function useOutsideClick(containerRef, handler, deps, optionalContainerRef) {
@@ -4220,6 +4264,7 @@ var Combo = function Combo(_ref) {
4220
4264
  var openState = useRef(false);
4221
4265
  var triggerRef = useRef(null);
4222
4266
  useOutsideClick(popupRef, function () {
4267
+ console.log("Combo useOutsideClick", openState.current);
4223
4268
  setOpen(false);
4224
4269
  openState.current = false;
4225
4270
  }, [], triggerRef);
@@ -4251,8 +4296,10 @@ var Combo = function Combo(_ref) {
4251
4296
  ref: triggerRef,
4252
4297
  className: "fortune-toolbar-combo-button",
4253
4298
  onClick: function onClick(e) {
4299
+ console.log("Combo onClick pop ref", popupRef.current, "ll", document.getElementsByClassName("fortune-toolbar-combo-popup"));
4254
4300
  openState.current = !openState.current;
4255
4301
  setOpen(openState.current);
4302
+ console.log("Combo onClick", iconId, _onClick, open, openState.current, e, e.target);
4256
4303
  if (_onClick) _onClick(e);else setOpen(openState.current);
4257
4304
  },
4258
4305
  tabIndex: 0,
@@ -4268,7 +4315,7 @@ var Combo = function Combo(_ref) {
4268
4315
  className: "fortune-tooltip"
4269
4316
  }, tooltip)), open && (/*#__PURE__*/React.createElement("div", {
4270
4317
  ref: popupRef,
4271
- className: "fortune-toolbar-combo-popup color-text-default",
4318
+ className: "fortune-toolbar-combo-popup",
4272
4319
  style: popupPosition
4273
4320
  }, children === null || children === void 0 ? void 0 : children(setOpen))));
4274
4321
  };
@@ -4300,42 +4347,241 @@ var Option = function Option(_ref2) {
4300
4347
  }, iconId && /*#__PURE__*/React.createElement(SVGIcon, {
4301
4348
  name: iconId
4302
4349
  }), /*#__PURE__*/React.createElement("div", {
4303
- className: "fortuen-toolbar-text color-text-default text-body-sm"
4350
+ className: "fortuen-toolbar-text"
4304
4351
  }, children));
4305
4352
  };
4306
4353
 
4307
- var SplitColumn = function SplitColumn() {
4354
+ var FormulaSearch$1 = function FormulaSearch(_ref) {
4355
+ var _onCancel = _ref.onCancel;
4308
4356
  var _useContext = useContext(WorkbookContext),
4309
4357
  context = _useContext.context,
4310
- setContext = _useContext.setContext;
4311
- var _locale = locale(context),
4312
- splitText = _locale.splitText,
4313
- button = _locale.button;
4314
- var _useState = useState(""),
4358
+ setContext = _useContext.setContext,
4359
+ _useContext$refs = _useContext.refs,
4360
+ cellInput = _useContext$refs.cellInput,
4361
+ globalCache = _useContext$refs.globalCache;
4362
+ var _useState = useState(20),
4315
4363
  _useState2 = _slicedToArray(_useState, 2),
4316
- splitOperate = _useState2[0],
4317
- setSplitOperate = _useState2[1];
4318
- var _useState3 = useState(false),
4364
+ selectedType = _useState2[0],
4365
+ setSelectedType = _useState2[1];
4366
+ var _useState3 = useState(0),
4319
4367
  _useState4 = _slicedToArray(_useState3, 2),
4320
- otherFlag = _useState4[0],
4321
- setOtherFlag = _useState4[1];
4322
- var _useState5 = useState([]),
4368
+ selectedFuncIndex = _useState4[0],
4369
+ setSelectedFuncIndex = _useState4[1];
4370
+ var _useState5 = useState(""),
4323
4371
  _useState6 = _slicedToArray(_useState5, 2),
4324
- tableData = _useState6[0],
4325
- setTableData = _useState6[1];
4326
- var splitSymbols = useRef(null);
4327
- var _useDialog = useDialog(),
4328
- showDialog = _useDialog.showDialog,
4329
- hideDialog = _useDialog.hideDialog;
4330
- var certainBtn = useCallback(function () {
4331
- hideDialog();
4332
- var dataArr = getDataArr(splitOperate, context);
4333
- var r = context.luckysheet_select_save[0].row[0];
4334
- var c = context.luckysheet_select_save[0].column[0];
4335
- if (dataArr[0].length === 1) {
4336
- return;
4372
+ searchText = _useState6[0],
4373
+ setSearchText = _useState6[1];
4374
+ var _locale = locale(context),
4375
+ formulaMore = _locale.formulaMore,
4376
+ functionlist = _locale.functionlist,
4377
+ button = _locale.button;
4378
+ var typeList = useMemo(function () {
4379
+ return [{
4380
+ t: 20,
4381
+ n: formulaMore.Crypto
4382
+ }, {
4383
+ t: 0,
4384
+ n: formulaMore.Math
4385
+ }, {
4386
+ t: 1,
4387
+ n: formulaMore.Statistical
4388
+ }, {
4389
+ t: 2,
4390
+ n: formulaMore.Lookup
4391
+ }, {
4392
+ t: 3,
4393
+ n: formulaMore.luckysheet
4394
+ }, {
4395
+ t: 4,
4396
+ n: formulaMore.dataMining
4397
+ }, {
4398
+ t: 5,
4399
+ n: formulaMore.Database
4400
+ }, {
4401
+ t: 6,
4402
+ n: formulaMore.Date
4403
+ }, {
4404
+ t: 7,
4405
+ n: formulaMore.Filter
4406
+ }, {
4407
+ t: 8,
4408
+ n: formulaMore.Financial
4409
+ }, {
4410
+ t: 9,
4411
+ n: formulaMore.Engineering
4412
+ }, {
4413
+ t: 10,
4414
+ n: formulaMore.Logical
4415
+ }, {
4416
+ t: 11,
4417
+ n: formulaMore.Operator
4418
+ }, {
4419
+ t: 12,
4420
+ n: formulaMore.Text
4421
+ }, {
4422
+ t: 13,
4423
+ n: formulaMore.Parser
4424
+ }, {
4425
+ t: 14,
4426
+ n: formulaMore.Array
4427
+ }, {
4428
+ t: -1,
4429
+ n: formulaMore.other
4430
+ }];
4431
+ }, [formulaMore]);
4432
+ var filteredFunctionList = useMemo(function () {
4433
+ if (searchText) {
4434
+ var list = [];
4435
+ var text = _.cloneDeep(searchText.toUpperCase());
4436
+ for (var i = 0; i < functionlist.length; i += 1) {
4437
+ if (/^[a-zA-Z]+$/.test(text)) {
4438
+ if (functionlist[i].n.indexOf(text) !== -1) {
4439
+ list.push(functionlist[i]);
4440
+ }
4441
+ } else if (functionlist[i].a.indexOf(text) !== -1) {
4442
+ list.push(functionlist[i]);
4443
+ }
4444
+ }
4445
+ return list;
4337
4446
  }
4338
- var dataCover = false;
4447
+ return _.filter(functionlist, function (v) {
4448
+ return v.t === selectedType;
4449
+ });
4450
+ }, [functionlist, selectedType, searchText]);
4451
+ var onConfirm = useCallback(function () {
4452
+ var _context$luckysheet_s;
4453
+ 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];
4454
+ var row_index = last === null || last === void 0 ? void 0 : last.row_focus;
4455
+ var col_index = last === null || last === void 0 ? void 0 : last.column_focus;
4456
+ if (!last) {
4457
+ row_index = 0;
4458
+ col_index = 0;
4459
+ } else {
4460
+ if (row_index == null) {
4461
+ var _last$row = _slicedToArray(last.row, 1);
4462
+ row_index = _last$row[0];
4463
+ }
4464
+ if (col_index == null) {
4465
+ var _last$column = _slicedToArray(last.column, 1);
4466
+ col_index = _last$column[0];
4467
+ }
4468
+ }
4469
+ 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>");
4470
+ setContext(function (ctx) {
4471
+ if (cellInput.current != null) {
4472
+ ctx.luckysheetCellUpdate = [row_index, col_index];
4473
+ globalCache.doNotUpdateCell = true;
4474
+ cellInput.current.innerHTML = formulaTxt;
4475
+ var spans = cellInput.current.childNodes;
4476
+ if (!_.isEmpty(spans)) {
4477
+ setCaretPosition(ctx, spans[spans.length - 1], 0, 1);
4478
+ }
4479
+ ctx.functionHint = filteredFunctionList[selectedFuncIndex].n.toUpperCase();
4480
+ ctx.functionCandidates = [];
4481
+ if (_.isEmpty(ctx.formulaCache.functionlistMap)) {
4482
+ for (var i = 0; i < functionlist.length; i += 1) {
4483
+ ctx.formulaCache.functionlistMap[functionlist[i].n] = functionlist[i];
4484
+ }
4485
+ }
4486
+ _onCancel();
4487
+ }
4488
+ });
4489
+ }, [cellInput, context.luckysheet_select_save, filteredFunctionList, globalCache, selectedFuncIndex, setContext, _onCancel, functionlist]);
4490
+ var onCancel = useCallback(function () {
4491
+ setContext(function (ctx) {
4492
+ cancelNormalSelected(ctx);
4493
+ if (cellInput.current) {
4494
+ cellInput.current.innerHTML = "";
4495
+ }
4496
+ });
4497
+ _onCancel();
4498
+ }, [_onCancel, cellInput, setContext]);
4499
+ return /*#__PURE__*/React.createElement("div", {
4500
+ id: "luckysheet-search-formula"
4501
+ }, /*#__PURE__*/React.createElement("div", {
4502
+ className: "inpbox"
4503
+ }, /*#__PURE__*/React.createElement("div", null, formulaMore.findFunctionTitle, "\uFF1A"), /*#__PURE__*/React.createElement("input", {
4504
+ className: "formulaInputFocus",
4505
+ id: "searchFormulaListInput",
4506
+ placeholder: formulaMore.tipInputFunctionName,
4507
+ spellCheck: "false",
4508
+ onChange: function onChange(e) {
4509
+ return setSearchText(e.target.value);
4510
+ }
4511
+ })), /*#__PURE__*/React.createElement("div", {
4512
+ className: "selbox"
4513
+ }, /*#__PURE__*/React.createElement("span", null, formulaMore.selectCategory, "\uFF1A"), /*#__PURE__*/React.createElement("select", {
4514
+ id: "formulaTypeSelect",
4515
+ onChange: function onChange(e) {
4516
+ setSelectedType(parseInt(e.target.value, 10));
4517
+ setSelectedFuncIndex(0);
4518
+ }
4519
+ }, typeList.map(function (v) {
4520
+ return /*#__PURE__*/React.createElement("option", {
4521
+ key: v.t,
4522
+ value: v.t
4523
+ }, v.n);
4524
+ }))), /*#__PURE__*/React.createElement("div", {
4525
+ className: "listbox",
4526
+ style: {
4527
+ height: 200
4528
+ }
4529
+ }, /*#__PURE__*/React.createElement("div", null, formulaMore.selectFunctionTitle, "\uFF1A"), /*#__PURE__*/React.createElement("div", {
4530
+ className: "formulaList"
4531
+ }, filteredFunctionList.map(function (v, index) {
4532
+ return /*#__PURE__*/React.createElement("div", {
4533
+ className: "listBox".concat(index === selectedFuncIndex ? " on" : ""),
4534
+ key: v.n,
4535
+ onClick: function onClick() {
4536
+ return setSelectedFuncIndex(index);
4537
+ },
4538
+ tabIndex: 0
4539
+ }, /*#__PURE__*/React.createElement("div", null, v.n), /*#__PURE__*/React.createElement("div", null, v.a));
4540
+ }))), /*#__PURE__*/React.createElement("div", {
4541
+ className: "fortune-dialog-box-button-container"
4542
+ }, /*#__PURE__*/React.createElement("div", {
4543
+ className: "fortune-message-box-button button-primary",
4544
+ onClick: onConfirm,
4545
+ tabIndex: 0
4546
+ }, button.confirm), /*#__PURE__*/React.createElement("div", {
4547
+ className: "fortune-message-box-button button-default",
4548
+ onClick: onCancel,
4549
+ tabIndex: 0
4550
+ }, button.cancel)));
4551
+ };
4552
+
4553
+ var SplitColumn = function SplitColumn() {
4554
+ var _useContext = useContext(WorkbookContext),
4555
+ context = _useContext.context,
4556
+ setContext = _useContext.setContext;
4557
+ var _locale = locale(context),
4558
+ splitText = _locale.splitText,
4559
+ button = _locale.button;
4560
+ var _useState = useState(""),
4561
+ _useState2 = _slicedToArray(_useState, 2),
4562
+ splitOperate = _useState2[0],
4563
+ setSplitOperate = _useState2[1];
4564
+ var _useState3 = useState(false),
4565
+ _useState4 = _slicedToArray(_useState3, 2),
4566
+ otherFlag = _useState4[0],
4567
+ setOtherFlag = _useState4[1];
4568
+ var _useState5 = useState([]),
4569
+ _useState6 = _slicedToArray(_useState5, 2),
4570
+ tableData = _useState6[0],
4571
+ setTableData = _useState6[1];
4572
+ var splitSymbols = useRef(null);
4573
+ var _useDialog = useDialog(),
4574
+ showDialog = _useDialog.showDialog,
4575
+ hideDialog = _useDialog.hideDialog;
4576
+ var certainBtn = useCallback(function () {
4577
+ hideDialog();
4578
+ var dataArr = getDataArr(splitOperate, context);
4579
+ var r = context.luckysheet_select_save[0].row[0];
4580
+ var c = context.luckysheet_select_save[0].column[0];
4581
+ if (dataArr[0].length === 1) {
4582
+ return;
4583
+ }
4584
+ var dataCover = false;
4339
4585
  var data = getFlowdata(context);
4340
4586
  for (var i = 0; i < dataArr.length; i += 1) {
4341
4587
  for (var j = 1; j < dataArr[0].length; j += 1) {
@@ -4347,7 +4593,7 @@ var SplitColumn = function SplitColumn() {
4347
4593
  }
4348
4594
  }
4349
4595
  if (dataCover) {
4350
- showDialog(splitText.splitConfirmToExe, "yesno", undefined, function () {
4596
+ showDialog(splitText.splitConfirmToExe, "yesno", function () {
4351
4597
  hideDialog();
4352
4598
  setContext(function (ctx) {
4353
4599
  updateMoreCell(r, c, dataArr, ctx);
@@ -4670,53 +4916,33 @@ var ConditionalFormat = function ConditionalFormat(_ref) {
4670
4916
  showDialog = _useDialog.showDialog;
4671
4917
  var _locale = locale(context),
4672
4918
  conditionformat = _locale.conditionformat;
4673
- var activeSubMenuRef = useRef(null);
4674
- var updateSubMenuPosition = useCallback(function (subMenu, menuItem) {
4675
- var menuItemRect = menuItem.getBoundingClientRect();
4676
- var workbookContainerRect = refs.workbookContainer.current.getBoundingClientRect();
4677
- var subMenuWidth = subMenu.offsetWidth;
4678
- var availableSpace = workbookContainerRect.right - menuItemRect.right;
4679
- if (availableSpace < subMenuWidth) {
4680
- subMenu.style.right = "108%";
4681
- } else {
4682
- subMenu.style.right = "-100%";
4683
- }
4684
- }, [refs.workbookContainer]);
4685
4919
  var showSubMenu = useCallback(function (e) {
4686
4920
  var target = e.target;
4687
4921
  var menuItem = target.className === "fortune-toolbar-menu-line" ? target.parentElement : target;
4922
+ var menuItemRect = menuItem.getBoundingClientRect();
4923
+ var workbookContainerRect = refs.workbookContainer.current.getBoundingClientRect();
4688
4924
  var subMenu = menuItem.querySelector(".condition-format-sub-menu");
4689
4925
  if (_.isNil(subMenu)) return;
4690
- subMenu.style.display = "block";
4691
- activeSubMenuRef.current = subMenu;
4692
- updateSubMenuPosition(subMenu, menuItem);
4693
- }, [updateSubMenuPosition]);
4926
+ var menuItemStyle = window.getComputedStyle(menuItem);
4927
+ var menuItemPaddingRight = parseFloat(menuItemStyle.getPropertyValue("padding-right").replace("px", ""));
4928
+ if (workbookContainerRect.right - menuItemRect.right < parseFloat(subMenu.style.width.replace("px", ""))) {
4929
+ subMenu.style.display = "block";
4930
+ subMenu.style.right = "".concat(menuItemRect.width - menuItemPaddingRight, "px");
4931
+ } else {
4932
+ subMenu.style.display = "block";
4933
+ subMenu.style.right = "".concat(-(parseFloat(subMenu.style.width.replace("px", "")) + menuItemPaddingRight), "px");
4934
+ }
4935
+ }, [refs.workbookContainer]);
4694
4936
  var hideSubMenu = useCallback(function (e) {
4695
4937
  var target = e.target;
4696
4938
  if (target.className === "condition-format-sub-menu") {
4697
4939
  target.style.display = "none";
4698
- activeSubMenuRef.current = null;
4699
4940
  return;
4700
4941
  }
4701
4942
  var subMenu = target.className === "condition-format-item" ? target.parentElement : target.querySelector(".condition-format-sub-menu");
4702
4943
  if (_.isNil(subMenu)) return;
4703
4944
  subMenu.style.display = "none";
4704
- activeSubMenuRef.current = null;
4705
4945
  }, []);
4706
- useEffect(function () {
4707
- var handleResize = function handleResize() {
4708
- if (activeSubMenuRef.current) {
4709
- var menuItem = activeSubMenuRef.current.parentElement;
4710
- if (menuItem) {
4711
- updateSubMenuPosition(activeSubMenuRef.current, menuItem);
4712
- }
4713
- }
4714
- };
4715
- window.addEventListener("resize", handleResize);
4716
- return function () {
4717
- window.removeEventListener("resize", handleResize);
4718
- };
4719
- }, [updateSubMenuPosition]);
4720
4946
  var getConditionFormatItem = useCallback(function (name) {
4721
4947
  if (name === "-") {
4722
4948
  return /*#__PURE__*/React.createElement(MenuDivider, {
@@ -4737,7 +4963,8 @@ var ConditionalFormat = function ConditionalFormat(_ref) {
4737
4963
  }), /*#__PURE__*/React.createElement("div", {
4738
4964
  className: "condition-format-sub-menu",
4739
4965
  style: {
4740
- display: "none"
4966
+ display: "none",
4967
+ width: 150
4741
4968
  }
4742
4969
  }, [{
4743
4970
  text: "greaterThan",
@@ -4762,13 +4989,13 @@ var ConditionalFormat = function ConditionalFormat(_ref) {
4762
4989
  value: "##"
4763
4990
  }].map(function (v) {
4764
4991
  return /*#__PURE__*/React.createElement("div", {
4765
- className: "condition-format-item text-body-sm color-text-default",
4992
+ className: "condition-format-item",
4766
4993
  key: v.text,
4767
4994
  onClick: function onClick() {
4768
- setOpen === null || setOpen === void 0 ? void 0 : setOpen(false);
4995
+ setOpen(false);
4769
4996
  showDialog(/*#__PURE__*/React.createElement(ConditionRules, {
4770
4997
  type: v.text
4771
- }), undefined, conditionformat["conditionformat_".concat(v.text)]);
4998
+ }));
4772
4999
  },
4773
5000
  tabIndex: 0
4774
5001
  }, conditionformat[v.text], /*#__PURE__*/React.createElement("span", null, v.value));
@@ -4787,7 +5014,8 @@ var ConditionalFormat = function ConditionalFormat(_ref) {
4787
5014
  }), /*#__PURE__*/React.createElement("div", {
4788
5015
  className: "condition-format-sub-menu",
4789
5016
  style: {
4790
- display: "none"
5017
+ display: "none",
5018
+ width: 180
4791
5019
  }
4792
5020
  }, [{
4793
5021
  text: "top10",
@@ -4809,13 +5037,13 @@ var ConditionalFormat = function ConditionalFormat(_ref) {
4809
5037
  value: conditionformat.below
4810
5038
  }].map(function (v) {
4811
5039
  return /*#__PURE__*/React.createElement("div", {
4812
- className: "condition-format-item text-body-sm color-text-default",
5040
+ className: "condition-format-item",
4813
5041
  key: v.text,
4814
5042
  onClick: function onClick() {
4815
- setOpen === null || setOpen === void 0 ? void 0 : setOpen(false);
5043
+ setOpen(false);
4816
5044
  showDialog(/*#__PURE__*/React.createElement(ConditionRules, {
4817
5045
  type: v.text
4818
- }), undefined, conditionformat["conditionformat_".concat(v.text)]);
5046
+ }));
4819
5047
  },
4820
5048
  tabIndex: 0
4821
5049
  }, conditionformat[v.text], /*#__PURE__*/React.createElement("span", null, v.value));
@@ -4864,11 +5092,12 @@ var ConditionalFormat = function ConditionalFormat(_ref) {
4864
5092
  }), /*#__PURE__*/React.createElement("div", {
4865
5093
  className: "condition-format-sub-menu",
4866
5094
  style: {
4867
- display: "none"
5095
+ display: "none",
5096
+ width: 150
4868
5097
  }
4869
5098
  }, ["deleteSheetRule"].map(function (v) {
4870
5099
  return /*#__PURE__*/React.createElement("div", {
4871
- className: "condition-format-item text-body-sm color-text-default",
5100
+ className: "condition-format-item",
4872
5101
  key: v,
4873
5102
  style: {
4874
5103
  padding: "6px 10px"
@@ -6107,10 +6336,9 @@ var Toolbar = function Toolbar(_ref) {
6107
6336
  }), /*#__PURE__*/React.createElement(MenuDivider, null), /*#__PURE__*/React.createElement(Option, {
6108
6337
  key: "formula",
6109
6338
  onClick: function onClick() {
6110
- var button = document.getElementById("function-button");
6111
- if (button) {
6112
- button.click();
6113
- }
6339
+ showDialog(/*#__PURE__*/React.createElement(FormulaSearch$1, {
6340
+ onCancel: hideDialog
6341
+ }));
6114
6342
  setOpen(false);
6115
6343
  }
6116
6344
  }, "".concat(formula.find, "...")));
@@ -6435,11 +6663,7 @@ var Toolbar = function Toolbar(_ref) {
6435
6663
  key: name,
6436
6664
  tooltip: toolbar.sortAndFilter
6437
6665
  }, function (setOpen) {
6438
- return /*#__PURE__*/React.createElement(Select, {
6439
- style: {
6440
- minWidth: "11.25rem"
6441
- }
6442
- }, _items8.map(function (_ref11, index) {
6666
+ return /*#__PURE__*/React.createElement(Select, null, _items8.map(function (_ref11, index) {
6443
6667
  var text = _ref11.text,
6444
6668
  iconId = _ref11.iconId,
6445
6669
  value = _ref11.value,
@@ -6451,13 +6675,10 @@ var Toolbar = function Toolbar(_ref) {
6451
6675
  setOpen(false);
6452
6676
  }
6453
6677
  }, /*#__PURE__*/React.createElement("div", {
6454
- className: "fortune-toolbar-menu-line gap-1",
6455
- style: {
6456
- justifyContent: "start"
6457
- }
6458
- }, /*#__PURE__*/React.createElement(SVGIcon, {
6678
+ className: "fortune-toolbar-menu-line"
6679
+ }, text, /*#__PURE__*/React.createElement(SVGIcon, {
6459
6680
  name: iconId
6460
- }), text))) : (/*#__PURE__*/React.createElement(MenuDivider, {
6681
+ })))) : (/*#__PURE__*/React.createElement(MenuDivider, {
6461
6682
  key: "divider-".concat(index)
6462
6683
  }));
6463
6684
  }));
@@ -7215,6 +7436,120 @@ var Menu = function Menu(_ref) {
7215
7436
  }, children));
7216
7437
  };
7217
7438
 
7439
+ var CustomSort = function CustomSort() {
7440
+ var _useState = useState([]),
7441
+ _useState2 = _slicedToArray(_useState, 2),
7442
+ rangeColChar = _useState2[0],
7443
+ setRangeColChar = _useState2[1];
7444
+ var _useState3 = useState(true),
7445
+ _useState4 = _slicedToArray(_useState3, 2),
7446
+ ascOrDesc = _useState4[0],
7447
+ setAscOrDesc = _useState4[1];
7448
+ var _useContext = useContext(WorkbookContext),
7449
+ context = _useContext.context,
7450
+ setContext = _useContext.setContext;
7451
+ var _useState5 = useState("0"),
7452
+ _useState6 = _slicedToArray(_useState5, 2),
7453
+ selectedValue = _useState6[0],
7454
+ setSelectedValue = _useState6[1];
7455
+ var _useState7 = useState(false),
7456
+ _useState8 = _slicedToArray(_useState7, 2),
7457
+ isTitleChange = _useState8[0],
7458
+ setIstitleChange = _useState8[1];
7459
+ var _locale = locale(context),
7460
+ sort = _locale.sort;
7461
+ var _useDialog = useDialog(),
7462
+ hideDialog = _useDialog.hideDialog;
7463
+ var col_start = context.luckysheet_select_save[0].column[0];
7464
+ var col_end = context.luckysheet_select_save[0].column[1];
7465
+ var row_start = context.luckysheet_select_save[0].row[0];
7466
+ var row_end = context.luckysheet_select_save[0].row[1];
7467
+ var sheetIndex = getSheetIndex(context, context.currentSheetId);
7468
+ var handleSelectChange = function handleSelectChange(event) {
7469
+ setSelectedValue(event.target.value);
7470
+ };
7471
+ var handleRadioChange = useCallback(function (e) {
7472
+ var sortValue = e.target.value;
7473
+ setAscOrDesc(sortValue === "asc");
7474
+ }, []);
7475
+ var handleTitleChange = useCallback(function (e) {
7476
+ var value = e.target.checked;
7477
+ setIstitleChange(value);
7478
+ }, []);
7479
+ useEffect(function () {
7480
+ var list = [];
7481
+ if (isTitleChange) {
7482
+ for (var i = col_start; i <= col_end; i += 1) {
7483
+ var _context$luckysheetfi, _context$luckysheetfi2;
7484
+ 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];
7485
+ var colHeaderValue = (cell === null || cell === void 0 ? void 0 : cell.m) || (cell === null || cell === void 0 ? void 0 : cell.v);
7486
+ if (colHeaderValue) {
7487
+ list.push(colHeaderValue);
7488
+ } else {
7489
+ var ColumnChar = indexToColumnChar(i);
7490
+ list.push("".concat(sort.columnOperation, " ").concat(ColumnChar));
7491
+ }
7492
+ }
7493
+ } else {
7494
+ for (var _i = col_start; _i <= col_end; _i += 1) {
7495
+ var _ColumnChar = indexToColumnChar(_i);
7496
+ list.push(_ColumnChar);
7497
+ }
7498
+ }
7499
+ setRangeColChar(list);
7500
+ }, [col_end, col_start, context.luckysheetfile, isTitleChange, row_start, sheetIndex, sort.columnOperation]);
7501
+ return /*#__PURE__*/React.createElement("div", {
7502
+ className: "fortune-sort"
7503
+ }, /*#__PURE__*/React.createElement("div", {
7504
+ className: "fortune-sort-title"
7505
+ }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("span", null, sort.sortRangeTitle), indexToColumnChar(col_start), row_start + 1, /*#__PURE__*/React.createElement("span", null, sort.sortRangeTitleTo), indexToColumnChar(col_end), row_end + 1)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
7506
+ className: "fortune-sort-modal"
7507
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("input", {
7508
+ type: "checkbox",
7509
+ id: "fortune-sort-haveheader",
7510
+ onChange: handleTitleChange
7511
+ }), /*#__PURE__*/React.createElement("span", null, sort.hasTitle)), /*#__PURE__*/React.createElement("div", {
7512
+ className: "fortune-sort-tablec"
7513
+ }, /*#__PURE__*/React.createElement("table", {
7514
+ cellSpacing: "0"
7515
+ }, /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", {
7516
+ style: {
7517
+ width: "190px"
7518
+ }
7519
+ }, sort.sortBy, /*#__PURE__*/React.createElement("select", {
7520
+ name: "sort_0",
7521
+ onChange: handleSelectChange
7522
+ }, rangeColChar.map(function (col, index) {
7523
+ return /*#__PURE__*/React.createElement("option", {
7524
+ value: index,
7525
+ key: index
7526
+ }, col);
7527
+ }))), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("input", {
7528
+ type: "radio",
7529
+ value: "asc",
7530
+ defaultChecked: true,
7531
+ name: "sort_0",
7532
+ onChange: handleRadioChange
7533
+ }), /*#__PURE__*/React.createElement("span", null, sort.asc)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("input", {
7534
+ type: "radio",
7535
+ value: "desc",
7536
+ name: "sort_0",
7537
+ onChange: handleRadioChange
7538
+ }), /*#__PURE__*/React.createElement("span", null, sort.desc))))))))), /*#__PURE__*/React.createElement("div", {
7539
+ className: "fortune-sort-button"
7540
+ }, /*#__PURE__*/React.createElement("div", {
7541
+ className: "button-basic button-primary",
7542
+ onClick: function onClick() {
7543
+ setContext(function (draftCtx) {
7544
+ sortSelection(draftCtx, ascOrDesc, parseInt(selectedValue, 10));
7545
+ draftCtx.contextMenu = {};
7546
+ });
7547
+ hideDialog();
7548
+ },
7549
+ tabIndex: 0
7550
+ }, sort.confirm)));
7551
+ };
7552
+
7218
7553
  var ContextMenu = function ContextMenu() {
7219
7554
  var _useDialog = useDialog(),
7220
7555
  showDialog = _useDialog.showDialog;
@@ -7240,65 +7575,6 @@ var ContextMenu = function ContextMenu() {
7240
7575
  key: "divider-".concat(i)
7241
7576
  });
7242
7577
  }
7243
- if (name === "freeze-row") {
7244
- var freezeState = getFreezeState(context);
7245
- var isFrozen = freezeState.isRowFrozen;
7246
- var isEntireRowSelected = (selection === null || selection === void 0 ? void 0 : selection.row_select) === true;
7247
- if (!isEntireRowSelected) return null;
7248
- return /*#__PURE__*/React.createElement(Menu, {
7249
- key: "freeze-row",
7250
- onClick: function onClick() {
7251
- setContext(function (draftCtx) {
7252
- if (isFrozen) {
7253
- toggleFreeze(draftCtx, "unfreeze-row");
7254
- } else {
7255
- toggleFreeze(draftCtx, "row");
7256
- }
7257
- draftCtx.contextMenu = {};
7258
- });
7259
- }
7260
- }, /*#__PURE__*/React.createElement("div", {
7261
- className: "context-item"
7262
- }, /*#__PURE__*/React.createElement(SVGIcon, {
7263
- name: "freeze-flv",
7264
- width: 18,
7265
- height: 18,
7266
- style: {
7267
- marginTop: "4px",
7268
- marginRight: "4px"
7269
- }
7270
- }), isFrozen ? "Unfreeze row" : "Freeze to current row"));
7271
- }
7272
- if (name === "freeze-column") {
7273
- var _freezeState = getFreezeState(context);
7274
- var _isFrozen = _freezeState.isColFrozen;
7275
- var isEntireColumnSelected = (selection === null || selection === void 0 ? void 0 : selection.column_select) === true;
7276
- if (!isEntireColumnSelected) return null;
7277
- return /*#__PURE__*/React.createElement(Menu, {
7278
- key: "freeze-column",
7279
- onClick: function onClick() {
7280
- setContext(function (draftCtx) {
7281
- if (_isFrozen) {
7282
- toggleFreeze(draftCtx, "unfreeze-column");
7283
- } else {
7284
- toggleFreeze(draftCtx, "column");
7285
- jfrefreshgrid(draftCtx, null, undefined, false);
7286
- }
7287
- draftCtx.contextMenu = {};
7288
- });
7289
- }
7290
- }, /*#__PURE__*/React.createElement("div", {
7291
- className: "context-item"
7292
- }, /*#__PURE__*/React.createElement(SVGIcon, {
7293
- name: "freeze-flv",
7294
- width: 18,
7295
- height: 18,
7296
- style: {
7297
- marginTop: "4px",
7298
- marginRight: "4px"
7299
- }
7300
- }), /*#__PURE__*/React.createElement("p", null, _isFrozen ? "Unfreeze column" : "Freeze to current column")));
7301
- }
7302
7578
  if (name === "comment") {
7303
7579
  return /*#__PURE__*/React.createElement(Menu, {
7304
7580
  key: name,
@@ -7417,14 +7693,19 @@ var ContextMenu = function ContextMenu() {
7417
7693
  }, /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SVGIcon, {
7418
7694
  name: "insert-flv",
7419
7695
  width: 18,
7420
- height: 18
7421
- }), /*#__PURE__*/React.createElement("div", null, _.startsWith((_context$lang = context.lang) !== null && _context$lang !== void 0 ? _context$lang : "", "zh") && (/*#__PURE__*/React.createElement(React.Fragment, null, rightclick.to, /*#__PURE__*/React.createElement("span", {
7696
+ height: 18,
7697
+ style: {
7698
+ marginRight: "8px",
7699
+ position: "relative",
7700
+ top: "3px"
7701
+ }
7702
+ }), _.startsWith((_context$lang = context.lang) !== null && _context$lang !== void 0 ? _context$lang : "", "zh") && (/*#__PURE__*/React.createElement(React.Fragment, null, rightclick.to, /*#__PURE__*/React.createElement("span", {
7422
7703
  className: "luckysheet-cols-rows-shift-".concat(dir)
7423
7704
  }, rightclick[dir]))), "".concat(rightclick.insert, " "), "1", /*#__PURE__*/React.createElement("span", {
7424
7705
  className: "luckysheet-cols-rows-shift-word luckysheet-mousedown-cancel"
7425
7706
  }, " ".concat(rightclick.column, " ")), !_.startsWith((_context$lang2 = context.lang) !== null && _context$lang2 !== void 0 ? _context$lang2 : "", "zh") && (/*#__PURE__*/React.createElement("span", {
7426
7707
  className: "luckysheet-cols-rows-shift-".concat(dir)
7427
- }, rightclick[dir])))));
7708
+ }, rightclick[dir]))));
7428
7709
  });
7429
7710
  }
7430
7711
  if (name === "insert-row") {
@@ -7460,14 +7741,19 @@ var ContextMenu = function ContextMenu() {
7460
7741
  }, /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SVGIcon, {
7461
7742
  name: "insert-flv",
7462
7743
  width: 18,
7463
- height: 18
7464
- }), /*#__PURE__*/React.createElement("div", null, _.startsWith((_context$lang3 = context.lang) !== null && _context$lang3 !== void 0 ? _context$lang3 : "", "zh") && (/*#__PURE__*/React.createElement(React.Fragment, null, rightclick.to, /*#__PURE__*/React.createElement("span", {
7744
+ height: 18,
7745
+ style: {
7746
+ marginRight: "8px",
7747
+ position: "relative",
7748
+ top: "3px"
7749
+ }
7750
+ }), _.startsWith((_context$lang3 = context.lang) !== null && _context$lang3 !== void 0 ? _context$lang3 : "", "zh") && (/*#__PURE__*/React.createElement(React.Fragment, null, rightclick.to, /*#__PURE__*/React.createElement("span", {
7465
7751
  className: "luckysheet-cols-rows-shift-".concat(dir)
7466
7752
  }, rightclick[dir]))), "".concat(rightclick.insert, " "), "1", /*#__PURE__*/React.createElement("span", {
7467
7753
  className: "luckysheet-cols-rows-shift-word luckysheet-mousedown-cancel"
7468
7754
  }, " ".concat(rightclick.row, " ")), !_.startsWith((_context$lang4 = context.lang) !== null && _context$lang4 !== void 0 ? _context$lang4 : "", "zh") && (/*#__PURE__*/React.createElement("span", {
7469
7755
  className: "luckysheet-cols-rows-shift-".concat(dir)
7470
- }, rightclick[dir])))));
7756
+ }, rightclick[dir]))));
7471
7757
  });
7472
7758
  }
7473
7759
  if (name === "delete-column") {
@@ -7729,152 +8015,49 @@ var ContextMenu = function ContextMenu() {
7729
8015
  }
7730
8016
  }), /*#__PURE__*/React.createElement("p", null, rightclick.clearContent)));
7731
8017
  }
8018
+ if (name === "orderAZ") {
8019
+ return /*#__PURE__*/React.createElement(Menu, {
8020
+ key: name,
8021
+ onClick: function onClick() {
8022
+ setContext(function (draftCtx) {
8023
+ sortSelection(draftCtx, true);
8024
+ draftCtx.contextMenu = {};
8025
+ });
8026
+ }
8027
+ }, rightclick.orderAZ);
8028
+ }
8029
+ if (name === "orderZA") {
8030
+ return /*#__PURE__*/React.createElement(Menu, {
8031
+ key: name,
8032
+ onClick: function onClick() {
8033
+ setContext(function (draftCtx) {
8034
+ sortSelection(draftCtx, false);
8035
+ draftCtx.contextMenu = {};
8036
+ });
8037
+ }
8038
+ }, rightclick.orderZA);
8039
+ }
7732
8040
  if (name === "sort") {
7733
- var _locale2 = locale(context),
7734
- sort = _locale2.sort;
7735
- return /*#__PURE__*/React.createElement(Tippy, {
8041
+ return /*#__PURE__*/React.createElement(Menu, {
7736
8042
  key: name,
7737
- placement: "right-start",
7738
- interactive: true,
7739
- interactiveBorder: 50,
7740
- offset: [0, 0],
7741
- arrow: false,
7742
- zIndex: 3000,
7743
- appendTo: document.body,
7744
- content: /*#__PURE__*/React.createElement("div", {
7745
- className: "fortune-toolbar-select",
7746
- style: {
7747
- minWidth: "11.25rem"
7748
- }
7749
- }, /*#__PURE__*/React.createElement("div", {
7750
- className: "flex flex-col color-text-default text-body-sm"
7751
- }, /*#__PURE__*/React.createElement(Menu, {
7752
- onClick: function onClick() {
7753
- setContext(function (draftCtx) {
7754
- sortSelection(draftCtx, true);
7755
- draftCtx.contextMenu = {};
7756
- });
7757
- }
7758
- }, /*#__PURE__*/React.createElement("div", {
7759
- className: "context-item p-2 w-full",
7760
- style: {
7761
- height: "40px"
7762
- }
7763
- }, /*#__PURE__*/React.createElement(SVGIcon, {
7764
- name: "sort-asc",
7765
- width: 22,
7766
- style: {
7767
- marginRight: "4px"
7768
- }
7769
- }), /*#__PURE__*/React.createElement("p", null, sort.asc))), /*#__PURE__*/React.createElement(Menu, {
7770
- onClick: function onClick() {
7771
- setContext(function (draftCtx) {
7772
- sortSelection(draftCtx, false);
7773
- draftCtx.contextMenu = {};
7774
- });
7775
- }
7776
- }, /*#__PURE__*/React.createElement("div", {
7777
- className: "context-item p-2 w-full",
7778
- style: {
7779
- height: "40px"
7780
- }
7781
- }, /*#__PURE__*/React.createElement(SVGIcon, {
7782
- name: "sort-desc",
7783
- width: 22,
7784
- style: {
7785
- marginRight: "4px"
7786
- }
7787
- }), /*#__PURE__*/React.createElement("p", null, sort.desc))))),
7788
- trigger: "mouseenter focus",
7789
- hideOnClick: false
7790
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement("div", {
7791
- className: "flex items-center justify-between w-full"
7792
- }, /*#__PURE__*/React.createElement("div", {
7793
- className: "context-item"
7794
- }, /*#__PURE__*/React.createElement(SVGIcon, {
7795
- name: "sort-flv",
7796
- width: 18,
7797
- height: 18,
7798
- style: {
7799
- marginRight: "8px"
8043
+ onClick: function onClick() {
8044
+ setContext(function (draftCtx) {
8045
+ showDialog(/*#__PURE__*/React.createElement(CustomSort, null));
8046
+ draftCtx.contextMenu = {};
8047
+ });
7800
8048
  }
7801
- }), /*#__PURE__*/React.createElement("p", null, rightclick.sortSelection)), /*#__PURE__*/React.createElement(SVGIcon, {
7802
- name: "rightArrow",
7803
- width: 18
7804
- })))));
8049
+ }, rightclick.sortSelection);
7805
8050
  }
7806
8051
  if (name === "filter") {
7807
- var _locale3 = locale(context),
7808
- filter = _locale3.filter;
7809
- return /*#__PURE__*/React.createElement(Tippy, {
8052
+ return /*#__PURE__*/React.createElement(Menu, {
7810
8053
  key: name,
7811
- placement: "right-start",
7812
- interactive: true,
7813
- interactiveBorder: 50,
7814
- offset: [0, 0],
7815
- arrow: false,
7816
- zIndex: 3000,
7817
- appendTo: document.body,
7818
- content: /*#__PURE__*/React.createElement("div", {
7819
- className: "fortune-toolbar-select",
7820
- style: {
7821
- minWidth: "11.25rem"
7822
- }
7823
- }, /*#__PURE__*/React.createElement("div", {
7824
- className: "flex flex-col color-text-default text-body-sm"
7825
- }, /*#__PURE__*/React.createElement(Menu, {
7826
- onClick: function onClick() {
7827
- setContext(function (draftCtx) {
7828
- createFilter(draftCtx);
7829
- draftCtx.contextMenu = {};
7830
- });
7831
- }
7832
- }, /*#__PURE__*/React.createElement("div", {
7833
- className: "context-item p-2 w-full",
7834
- style: {
7835
- height: "40px"
7836
- }
7837
- }, /*#__PURE__*/React.createElement(SVGIcon, {
7838
- name: "filter",
7839
- width: 22,
7840
- style: {
7841
- marginRight: "4px"
7842
- }
7843
- }), /*#__PURE__*/React.createElement("p", null, filter.filter))), /*#__PURE__*/React.createElement(Menu, {
7844
- onClick: function onClick() {
7845
- setContext(function (draftCtx) {
7846
- clearFilter(draftCtx);
7847
- draftCtx.contextMenu = {};
7848
- });
7849
- }
7850
- }, /*#__PURE__*/React.createElement("div", {
7851
- className: "context-item p-2 w-full",
7852
- style: {
7853
- height: "40px"
7854
- }
7855
- }, /*#__PURE__*/React.createElement(SVGIcon, {
7856
- name: "eraser",
7857
- width: 22,
7858
- style: {
7859
- marginRight: "4px"
7860
- }
7861
- }), /*#__PURE__*/React.createElement("p", null, filter.clearFilter))))),
7862
- trigger: "mouseenter focus",
7863
- hideOnClick: false
7864
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement("div", {
7865
- className: "flex items-center justify-between w-full"
7866
- }, /*#__PURE__*/React.createElement("div", {
7867
- className: "context-item"
7868
- }, /*#__PURE__*/React.createElement(SVGIcon, {
7869
- name: "filter",
7870
- width: 22,
7871
- style: {
7872
- marginRight: "4px"
8054
+ onClick: function onClick() {
8055
+ setContext(function (draftCtx) {
8056
+ createFilter(draftCtx);
8057
+ draftCtx.contextMenu = {};
8058
+ });
7873
8059
  }
7874
- }), /*#__PURE__*/React.createElement("p", null, rightclick.filterSelection)), /*#__PURE__*/React.createElement(SVGIcon, {
7875
- name: "rightArrow",
7876
- width: 18
7877
- })))));
8060
+ }, rightclick.filterSelection);
7878
8061
  }
7879
8062
  if (name === "image") {
7880
8063
  return /*#__PURE__*/React.createElement(Menu, {
@@ -7898,45 +8081,8 @@ var ContextMenu = function ContextMenu() {
7898
8081
  }
7899
8082
  }, rightclick.link);
7900
8083
  }
7901
- if (name === "conditionFormat") {
7902
- var closeContextMenu = function closeContextMenu() {
7903
- return setContext(function (ctx) {
7904
- ctx.contextMenu = {};
7905
- });
7906
- };
7907
- return /*#__PURE__*/React.createElement(Tippy, {
7908
- key: name,
7909
- placement: "right-start",
7910
- interactive: true,
7911
- interactiveBorder: 50,
7912
- offset: [0, 0],
7913
- arrow: false,
7914
- zIndex: 3000,
7915
- appendTo: document.body,
7916
- content: /*#__PURE__*/React.createElement("div", {
7917
- style: {
7918
- minWidth: 220
7919
- }
7920
- }, /*#__PURE__*/React.createElement(ConditionalFormat, {
7921
- items: ["highlightCellRules", "itemSelectionRules", "-", "deleteRule"],
7922
- setOpen: closeContextMenu
7923
- })),
7924
- trigger: "mouseenter focus",
7925
- hideOnClick: false
7926
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement("div", {
7927
- className: "flex items-center justify-between w-full"
7928
- }, /*#__PURE__*/React.createElement("div", {
7929
- className: "flex items-center gap-2"
7930
- }, /*#__PURE__*/React.createElement(SVGIcon, {
7931
- name: "conditionFormat",
7932
- width: 18
7933
- }), /*#__PURE__*/React.createElement("p", null, rightclick.conditionFormat || "Conditional Format")), /*#__PURE__*/React.createElement(SVGIcon, {
7934
- name: "rightArrow",
7935
- width: 18
7936
- })))));
7937
- }
7938
8084
  return null;
7939
- }, [context, setContext, refs.globalCache, rightclick, showAlert, showDialog, drag.noMulti, info.tipRowHeightLimit, info.tipColumnWidthLimit, generalDialog.partiallyError, generalDialog.readOnlyError, generalDialog.dataNullError]);
8085
+ }, [context.currentSheetId, context.lang, context.luckysheet_select_save, context.defaultrowlen, context.defaultcollen, rightclick, info, setContext, showAlert, showDialog, drag, generalDialog]);
7940
8086
  useLayoutEffect(function () {
7941
8087
  var _refs$workbookContain;
7942
8088
  if (!containerRef.current) {
@@ -9204,41 +9350,31 @@ var SVGDefines = function SVGDefines(_ref) {
9204
9350
  stroke: "#535A68",
9205
9351
  strokeWidth: "1.5"
9206
9352
  })), /*#__PURE__*/React.createElement("symbol", {
9207
- id: "sort-desc",
9208
- width: "18",
9209
- height: "18",
9210
- viewBox: "0 0 18 18",
9211
- fill: "none"
9353
+ viewBox: "0 0 1024 1024",
9354
+ fill: "#535A68",
9355
+ id: "sort-desc"
9212
9356
  }, /*#__PURE__*/React.createElement("path", {
9213
- 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",
9214
- fill: "#363B3F"
9357
+ 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",
9358
+ "p-id": "2016"
9215
9359
  }), /*#__PURE__*/React.createElement("path", {
9216
- 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",
9217
- fill: "#363B3F"
9360
+ 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",
9361
+ "p-id": "2017"
9218
9362
  }), /*#__PURE__*/React.createElement("path", {
9219
- 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",
9220
- fill: "#363B3F"
9221
- }), /*#__PURE__*/React.createElement("path", {
9222
- 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",
9223
- fill: "#363B3F"
9224
- })), /*#__PURE__*/React.createElement("symbol", {
9225
- id: "sort-asc",
9226
- width: "18",
9227
- height: "18",
9228
- viewBox: "0 0 18 18",
9229
- fill: "none"
9363
+ 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",
9364
+ "p-id": "2018"
9365
+ })), /*#__PURE__*/React.createElement("svg", {
9366
+ viewBox: "0 0 1024 1024",
9367
+ fill: "#535A68",
9368
+ id: "sort-asc"
9230
9369
  }, /*#__PURE__*/React.createElement("path", {
9231
- 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",
9232
- fill: "#363B3F"
9233
- }), /*#__PURE__*/React.createElement("path", {
9234
- 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",
9235
- fill: "#363B3F"
9370
+ 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",
9371
+ "p-id": "2263"
9236
9372
  }), /*#__PURE__*/React.createElement("path", {
9237
- 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",
9238
- fill: "#363B3F"
9373
+ 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",
9374
+ "p-id": "2264"
9239
9375
  }), /*#__PURE__*/React.createElement("path", {
9240
- 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",
9241
- fill: "#363B3F"
9376
+ 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",
9377
+ "p-id": "2265"
9242
9378
  })), /*#__PURE__*/React.createElement("symbol", {
9243
9379
  viewBox: "0 0 1024 1024",
9244
9380
  fill: "#535A68",
@@ -9301,16 +9437,13 @@ var SVGDefines = function SVGDefines(_ref) {
9301
9437
  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",
9302
9438
  fill: "#363B3F"
9303
9439
  }))), /*#__PURE__*/React.createElement("symbol", {
9304
- width: "20",
9305
- height: "24",
9306
- viewBox: "0 0 16 16",
9307
- fill: "none",
9308
- id: "conditionFormat"
9440
+ viewBox: "0 0 1024 1024",
9441
+ fill: "#535A68",
9442
+ id: "conditionFormat",
9443
+ width: "20"
9309
9444
  }, /*#__PURE__*/React.createElement("path", {
9310
- "fill-rule": "evenodd",
9311
- "clip-rule": "evenodd",
9312
- 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",
9313
- fill: "#363B3F"
9445
+ d: "M128 128h768v768H128V128z m64 512v128h128v-128H192z m256 0v128h192v-128H448zM192 448v128h128V448H192z m0-192v128h128V256H192z m192 0v128h192V256H384z m320 384v128h128v-128h-128z m0-192v128h128V448h-128z m0-192v128h128V256h-128z",
9446
+ "p-id": "1955"
9314
9447
  })), /*#__PURE__*/React.createElement("symbol", {
9315
9448
  viewBox: "0 0 1024 1024",
9316
9449
  fill: "#535A68",
@@ -9416,29 +9549,19 @@ var SVGDefines = function SVGDefines(_ref) {
9416
9549
  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",
9417
9550
  fill: "#363B3F"
9418
9551
  }))), /*#__PURE__*/React.createElement("symbol", {
9419
- id: "filter1",
9420
- width: "18",
9421
- height: "18",
9422
- viewBox: "0 0 18 18",
9423
- fill: "none"
9552
+ viewBox: "0 0 1024 1024",
9553
+ fill: "#535A68",
9554
+ id: "filter1"
9424
9555
  }, /*#__PURE__*/React.createElement("path", {
9425
- 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",
9426
- fill: "#363B3F"
9427
- }), /*#__PURE__*/React.createElement("path", {
9428
- 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",
9429
- fill: "#363B3F"
9556
+ 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",
9557
+ "p-id": "43727"
9430
9558
  })), /*#__PURE__*/React.createElement("symbol", {
9431
- id: "eraser",
9432
- width: "18",
9433
- height: "18",
9434
- viewBox: "0 0 18 18",
9435
- fill: "none"
9559
+ viewBox: "0 0 1024 1024",
9560
+ fill: "#535A68",
9561
+ id: "eraser"
9436
9562
  }, /*#__PURE__*/React.createElement("path", {
9437
- 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",
9438
- fill: "#363B3F"
9439
- }), /*#__PURE__*/React.createElement("path", {
9440
- 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",
9441
- fill: "#363B3F"
9563
+ 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",
9564
+ "p-id": "50819"
9442
9565
  })), /*#__PURE__*/React.createElement("symbol", {
9443
9566
  viewBox: "0 0 1057 1024",
9444
9567
  fill: "#535A68",
@@ -9492,16 +9615,12 @@ var SVGDefines = function SVGDefines(_ref) {
9492
9615
  fill: "",
9493
9616
  "p-id": "5612"
9494
9617
  })), /*#__PURE__*/React.createElement("symbol", {
9495
- width: "16",
9496
- height: "24",
9497
- viewBox: "0 0 16 16",
9498
- fill: "none",
9618
+ viewBox: "0 0 1024 1024",
9619
+ fill: "#A8ABB0",
9499
9620
  id: "rightArrow"
9500
9621
  }, /*#__PURE__*/React.createElement("path", {
9501
- "fill-rule": "evenodd",
9502
- "clip-rule": "evenodd",
9503
- 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",
9504
- fill: "#77818A"
9622
+ 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",
9623
+ "p-id": "5380"
9505
9624
  })), /*#__PURE__*/React.createElement("symbol", {
9506
9625
  viewBox: "0 0 1024 1024",
9507
9626
  id: "downArrow"
@@ -9591,20 +9710,6 @@ var SVGDefines = function SVGDefines(_ref) {
9591
9710
  "clip-rule": "evenodd",
9592
9711
  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",
9593
9712
  fill: "#363B3F"
9594
- }))), /*#__PURE__*/React.createElement("symbol", {
9595
- id: "freeze-flv",
9596
- viewBox: "0 0 24 24"
9597
- }, /*#__PURE__*/React.createElement("svg", {
9598
- width: "18",
9599
- height: "16",
9600
- viewBox: "0 0 18 16",
9601
- fill: "none",
9602
- xmlns: "http://www.w3.org/2000/svg"
9603
- }, /*#__PURE__*/React.createElement("path", {
9604
- "fill-rule": "evenodd",
9605
- "clip-rule": "evenodd",
9606
- 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",
9607
- fill: "#363B3F"
9608
9713
  }))), /*#__PURE__*/React.createElement("symbol", {
9609
9714
  viewBox: "0 0 1024 1024",
9610
9715
  id: "tab"
@@ -9619,32 +9724,6 @@ var SVGDefines = function SVGDefines(_ref) {
9619
9724
  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",
9620
9725
  fill: "",
9621
9726
  "p-id": "36983"
9622
- })), /*#__PURE__*/React.createElement("symbol", {
9623
- id: "sort-flv",
9624
- width: "18",
9625
- height: "18",
9626
- viewBox: "0 0 18 18",
9627
- fill: "none"
9628
- }, /*#__PURE__*/React.createElement("path", {
9629
- "fill-rule": "evenodd",
9630
- "clip-rule": "evenodd",
9631
- 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",
9632
- fill: "#363B3F"
9633
- }), /*#__PURE__*/React.createElement("path", {
9634
- "fill-rule": "evenodd",
9635
- "clip-rule": "evenodd",
9636
- 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",
9637
- fill: "#363B3F"
9638
- }), /*#__PURE__*/React.createElement("path", {
9639
- "fill-rule": "evenodd",
9640
- "clip-rule": "evenodd",
9641
- 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",
9642
- fill: "#363B3F"
9643
- }), /*#__PURE__*/React.createElement("path", {
9644
- "fill-rule": "evenodd",
9645
- "clip-rule": "evenodd",
9646
- 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",
9647
- fill: "#363B3F"
9648
9727
  }))));
9649
9728
  };
9650
9729
 
@@ -9939,7 +10018,7 @@ var MoreItemsContaier = function MoreItemsContaier(_ref) {
9939
10018
  }, children);
9940
10019
  };
9941
10020
 
9942
- function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cellInput, scrollbarX, scrollbarY, globalCache) {
10021
+ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cellInput, scrollbarX, scrollbarY) {
9943
10022
  return {
9944
10023
  applyOp: function applyOp(ops) {
9945
10024
  setContext(function (ctx_) {
@@ -10240,50 +10319,6 @@ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cel
10240
10319
  },
10241
10320
  celldataToData: function celldataToData(celldata, rowCount, colCount) {
10242
10321
  return api.celldataToData(celldata, rowCount, colCount);
10243
- },
10244
- insertFunction: function insertFunction(selectedFuncIndex, filteredFunctionList, callback) {
10245
- var _context$luckysheet_s2;
10246
- 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];
10247
- var row_index = last === null || last === void 0 ? void 0 : last.row_focus;
10248
- var col_index = last === null || last === void 0 ? void 0 : last.column_focus;
10249
- if (!last) {
10250
- row_index = 0;
10251
- col_index = 0;
10252
- } else {
10253
- if (row_index == null) {
10254
- var _last$row2 = _slicedToArray(last.row, 1);
10255
- row_index = _last$row2[0];
10256
- }
10257
- if (col_index == null) {
10258
- var _last$column2 = _slicedToArray(last.column, 1);
10259
- col_index = _last$column2[0];
10260
- }
10261
- }
10262
- 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>");
10263
- var _locale2 = locale(context),
10264
- functionlist = _locale2.functionlist;
10265
- setContext(function (ctx) {
10266
- if (cellInput != null && globalCache != null) {
10267
- ctx.luckysheetCellUpdate = [row_index, col_index];
10268
- globalCache.doNotUpdateCell = true;
10269
- cellInput.innerHTML = formulaTxt;
10270
- var spans = cellInput.childNodes;
10271
- if (!_.isEmpty(spans)) {
10272
- setCaretPosition(ctx, spans[spans.length - 1], 0, 1);
10273
- }
10274
- ctx.functionHint = filteredFunctionList[selectedFuncIndex].n.toUpperCase();
10275
- ctx.functionCandidates = [];
10276
- if (_.isEmpty(ctx.formulaCache.functionlistMap)) {
10277
- for (var i = 0; i < functionlist.length; i += 1) {
10278
- ctx.formulaCache.functionlistMap[functionlist[i].n] = functionlist[i];
10279
- }
10280
- }
10281
- callback === null || callback === void 0 ? void 0 : callback();
10282
- }
10283
- });
10284
- },
10285
- getLocaleContext: function getLocaleContext() {
10286
- return locale(context);
10287
10322
  }
10288
10323
  };
10289
10324
  }
@@ -11491,8 +11526,8 @@ var Workbook = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
11491
11526
  };
11492
11527
  }, [onPaste]);
11493
11528
  useImperativeHandle(ref, function () {
11494
- return generateAPIs(context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, cellInput.current, scrollbarX.current, scrollbarY.current, globalCache.current);
11495
- }, [context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, globalCache]);
11529
+ return generateAPIs(context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, cellInput.current, scrollbarX.current, scrollbarY.current);
11530
+ }, [context, setContextWithProduce, handleUndo, handleRedo, mergedSettings]);
11496
11531
  var i = getSheetIndex(context, context.currentSheetId);
11497
11532
  if (i == null) {
11498
11533
  return null;