@fileverse-dev/fortune-react 1.0.2-mod-23 → 1.0.2-mod-20-patch-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1,8 +1,7 @@
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, getFreezeState, toggleFreeze, jfrefreshgrid, handleCopy, deleteRowCol, hideSelected, showSelected, api, removeActiveImage, deleteSelectedCellText, handleLink, handlePasteByClick, deleteSheet, opToPatch, 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 { IconButton, Button as Button$1, TextField, Checkbox, Divider as Divider$2, Table, TableHeader, TableRow, TableHead, TableBody, cn, TableCell } from '@fileverse/ui';
6
5
  import regeneratorRuntime from 'regenerator-runtime';
7
6
 
8
7
  function _arrayLikeToArray(r, a) {
@@ -1229,39 +1228,35 @@ var Dialog = function Dialog(_ref) {
1229
1228
  className: "fortune-dialog",
1230
1229
  style: containerStyle
1231
1230
  }, /*#__PURE__*/React.createElement("div", {
1232
- className: "flex items-center justify-end border-b color-border-default py-3 px-6"
1233
- }, /*#__PURE__*/React.createElement(IconButton, {
1234
- icon: "X",
1235
- variant: "ghost",
1231
+ className: "fortune-modal-dialog-header"
1232
+ }, /*#__PURE__*/React.createElement("div", {
1233
+ className: "fortune-modal-dialog-icon-close",
1236
1234
  onClick: onCancel,
1237
1235
  tabIndex: 0
1238
- })), /*#__PURE__*/React.createElement("div", {
1239
- className: "px-6 pb-6 pt-4 text-body-sm",
1236
+ }, /*#__PURE__*/React.createElement(SVGIcon, {
1237
+ name: "close",
1238
+ style: {
1239
+ padding: 7,
1240
+ cursor: "pointer"
1241
+ }
1242
+ }))), /*#__PURE__*/React.createElement("div", {
1243
+ className: "fortune-dialog-box-content",
1240
1244
  style: contentStyle
1241
1245
  }, children), type != null && (/*#__PURE__*/React.createElement("div", {
1242
- className: "px-6 pb-6 flex flex-row gap-2 justify-end"
1243
- }, type === "ok" ? (/*#__PURE__*/React.createElement(Button$1, {
1244
- variant: "default",
1245
- style: {
1246
- minWidth: "80px"
1247
- },
1246
+ className: "fortune-dialog-box-button-container"
1247
+ }, type === "ok" ? (/*#__PURE__*/React.createElement("div", {
1248
+ className: "fortune-message-box-button button-default",
1248
1249
  onClick: onOk,
1249
1250
  tabIndex: 0
1250
- }, button.confirm)) : (/*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button$1, {
1251
- variant: "secondary",
1252
- style: {
1253
- minWidth: "80px"
1254
- },
1255
- onClick: onCancel,
1256
- tabIndex: 0
1257
- }, button.cancel), /*#__PURE__*/React.createElement(Button$1, {
1258
- variant: "default",
1259
- style: {
1260
- minWidth: "80px"
1261
- },
1251
+ }, button.confirm)) : (/*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
1252
+ className: "fortune-message-box-button button-primary",
1262
1253
  onClick: onOk,
1263
1254
  tabIndex: 0
1264
- }, button.confirm))))));
1255
+ }, button.confirm), /*#__PURE__*/React.createElement("div", {
1256
+ className: "fortune-message-box-button button-default",
1257
+ onClick: onCancel,
1258
+ tabIndex: 0
1259
+ }, button.cancel))))));
1265
1260
  };
1266
1261
 
1267
1262
  var MessageBox = function MessageBox(_ref) {
@@ -1273,7 +1268,15 @@ var MessageBox = function MessageBox(_ref) {
1273
1268
  return /*#__PURE__*/React.createElement(Dialog, {
1274
1269
  type: type,
1275
1270
  onOk: onOk,
1276
- onCancel: onCancel
1271
+ onCancel: onCancel,
1272
+ contentStyle: {
1273
+ width: 300,
1274
+ paddingTop: 20,
1275
+ paddingBottom: 30,
1276
+ display: "flex",
1277
+ justifyContent: "center",
1278
+ alignItems: "center"
1279
+ }
1277
1280
  }, children);
1278
1281
  };
1279
1282
 
@@ -1347,7 +1350,8 @@ var SearchReplace = function SearchReplace(_ref) {
1347
1350
  setContext = _useContext.setContext,
1348
1351
  refs = _useContext.refs;
1349
1352
  var _locale = locale(context),
1350
- findAndReplace = _locale.findAndReplace;
1353
+ findAndReplace = _locale.findAndReplace,
1354
+ button = _locale.button;
1351
1355
  var _useState = useState(""),
1352
1356
  _useState2 = _slicedToArray(_useState, 2),
1353
1357
  searchText = _useState2[0],
@@ -1356,27 +1360,28 @@ var SearchReplace = function SearchReplace(_ref) {
1356
1360
  _useState4 = _slicedToArray(_useState3, 2),
1357
1361
  replaceText = _useState4[0],
1358
1362
  setReplaceText = _useState4[1];
1359
- var _useState5 = useState([]),
1363
+ var _useState5 = useState(context.showReplace),
1360
1364
  _useState6 = _slicedToArray(_useState5, 2),
1361
- searchResult = _useState6[0],
1362
- setSearchResult = _useState6[1];
1363
- var _useState7 = useState(),
1365
+ showReplace = _useState6[0],
1366
+ setShowReplace = _useState6[1];
1367
+ var _useState7 = useState([]),
1364
1368
  _useState8 = _slicedToArray(_useState7, 2),
1365
- selectedCell = _useState8[0],
1366
- setSelectedCell = _useState8[1];
1369
+ searchResult = _useState8[0],
1370
+ setSearchResult = _useState8[1];
1371
+ var _useState9 = useState(),
1372
+ _useState0 = _slicedToArray(_useState9, 2),
1373
+ selectedCell = _useState0[0],
1374
+ setSelectedCell = _useState0[1];
1367
1375
  var _useAlert = useAlert(),
1368
1376
  showAlert = _useAlert.showAlert;
1369
- var tableContainerRef = useRef(null);
1370
- var searchInputRef = useRef(null);
1371
- var replaceInputRef = useRef(null);
1372
- var _useState9 = useState({
1377
+ var _useState1 = useState({
1373
1378
  regCheck: false,
1374
1379
  wordCheck: false,
1375
1380
  caseCheck: false
1376
1381
  }),
1377
- _useState0 = _slicedToArray(_useState9, 2),
1378
- checkMode = _useState0[0],
1379
- checkModeReplace = _useState0[1];
1382
+ _useState10 = _slicedToArray(_useState1, 2),
1383
+ checkMode = _useState10[0],
1384
+ checkModeReplace = _useState10[1];
1380
1385
  var closeDialog = useCallback(function () {
1381
1386
  _.set(refs.globalCache, "searchDialog.mouseEnter", false);
1382
1387
  setContext(function (draftCtx) {
@@ -1411,110 +1416,98 @@ var SearchReplace = function SearchReplace(_ref) {
1411
1416
  onSearchDialogMoveStart(refs.globalCache, nativeEvent, getContainer());
1412
1417
  e.stopPropagation();
1413
1418
  }
1414
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
1415
- className: "flex items-center justify-between border-b color-border-default py-3 px-6"
1416
- }, /*#__PURE__*/React.createElement("h3", {
1417
- className: "text-heading-sm"
1418
- }, "Find and replace"), /*#__PURE__*/React.createElement(IconButton, {
1419
- icon: "X",
1420
- variant: "ghost",
1419
+ }, /*#__PURE__*/React.createElement("div", {
1420
+ className: "container",
1421
+ onMouseDown: function onMouseDown(e) {
1422
+ return e.stopPropagation();
1423
+ }
1424
+ }, /*#__PURE__*/React.createElement("div", {
1425
+ className: "icon-close fortune-modal-dialog-icon-close",
1421
1426
  onClick: closeDialog,
1422
1427
  tabIndex: 0
1428
+ }, /*#__PURE__*/React.createElement(SVGIcon, {
1429
+ name: "close",
1430
+ style: {
1431
+ padding: 7,
1432
+ cursor: "pointer"
1433
+ }
1423
1434
  })), /*#__PURE__*/React.createElement("div", {
1424
- className: "px-6 pb-6 pt-4"
1435
+ className: "tabBox"
1436
+ }, /*#__PURE__*/React.createElement("span", {
1437
+ id: "searchTab",
1438
+ className: showReplace ? "" : "on",
1439
+ onClick: function onClick() {
1440
+ return setShowReplace(false);
1441
+ },
1442
+ tabIndex: 0
1443
+ }, findAndReplace.find), /*#__PURE__*/React.createElement("span", {
1444
+ id: "replaceTab",
1445
+ className: showReplace ? "on" : "",
1446
+ onClick: function onClick() {
1447
+ return setShowReplace(true);
1448
+ },
1449
+ tabIndex: 0
1450
+ }, findAndReplace.replace)), /*#__PURE__*/React.createElement("div", {
1451
+ className: "ctBox"
1425
1452
  }, /*#__PURE__*/React.createElement("div", {
1426
- className: "flex flex-col gap-4"
1453
+ className: "row"
1427
1454
  }, /*#__PURE__*/React.createElement("div", {
1428
- className: "flex flex-col gap-4"
1455
+ className: "inputBox"
1429
1456
  }, /*#__PURE__*/React.createElement("div", {
1430
- id: "searchInput",
1431
- className: "flex flex-row gap-2 items-center"
1432
- }, /*#__PURE__*/React.createElement("span", {
1433
- className: "find-replace-label text-heading-xsm"
1434
- }, findAndReplace.findTextbox, "\uFF1A"), /*#__PURE__*/React.createElement(TextField, {
1435
- ref: searchInputRef,
1457
+ className: "textboxs",
1458
+ id: "searchInput"
1459
+ }, findAndReplace.findTextbox, "\uFF1A", /*#__PURE__*/React.createElement("input", {
1436
1460
  className: "formulaInputFocus",
1437
1461
  autoFocus: true,
1438
1462
  spellCheck: "false",
1439
1463
  onKeyDown: function onKeyDown(e) {
1440
1464
  return e.stopPropagation();
1441
1465
  },
1442
- onMouseDown: function onMouseDown(e) {
1443
- var _searchInputRef$curre;
1444
- if (e.target === searchInputRef.current || ((_searchInputRef$curre = searchInputRef.current) === null || _searchInputRef$curre === void 0 ? void 0 : _searchInputRef$curre.contains(e.target))) {
1445
- e.stopPropagation();
1446
- }
1447
- },
1448
1466
  value: searchText,
1449
1467
  onChange: function onChange(e) {
1450
- if (e.target.value.length === 0) {
1451
- setSearchResult([]);
1452
- }
1453
- setSearchText(e.target.value);
1468
+ return setSearchText(e.target.value);
1454
1469
  }
1455
- })), /*#__PURE__*/React.createElement("div", {
1456
- id: "replaceInput",
1457
- className: "flex flex-row gap-2 items-center"
1458
- }, /*#__PURE__*/React.createElement("span", {
1459
- className: "find-replace-label text-heading-xsm"
1460
- }, findAndReplace.replaceTextbox, "\uFF1A"), /*#__PURE__*/React.createElement(TextField, {
1461
- ref: replaceInputRef,
1470
+ })), showReplace && (/*#__PURE__*/React.createElement("div", {
1471
+ className: "textboxs",
1472
+ id: "replaceInput"
1473
+ }, findAndReplace.replaceTextbox, "\uFF1A", /*#__PURE__*/React.createElement("input", {
1462
1474
  className: "formulaInputFocus",
1463
1475
  spellCheck: "false",
1464
1476
  onKeyDown: function onKeyDown(e) {
1465
1477
  return e.stopPropagation();
1466
1478
  },
1467
- onMouseDown: function onMouseDown(e) {
1468
- var _replaceInputRef$curr;
1469
- if (e.target === replaceInputRef.current || ((_replaceInputRef$curr = replaceInputRef.current) === null || _replaceInputRef$curr === void 0 ? void 0 : _replaceInputRef$curr.contains(e.target))) {
1470
- e.stopPropagation();
1471
- }
1472
- },
1473
1479
  value: replaceText,
1474
1480
  onChange: function onChange(e) {
1475
1481
  return setReplaceText(e.target.value);
1476
1482
  }
1477
- }))), /*#__PURE__*/React.createElement("div", {
1478
- className: "flex flex-row gap-2"
1479
- }, /*#__PURE__*/React.createElement("div", {
1480
- className: "find-replace-label"
1481
- }), /*#__PURE__*/React.createElement("div", {
1482
- className: "flex flex-col gap-2 text-body-sm"
1483
+ })))), /*#__PURE__*/React.createElement("div", {
1484
+ className: "checkboxs"
1483
1485
  }, /*#__PURE__*/React.createElement("div", {
1484
- id: "regCheck",
1485
- className: "flex flex-row gap-2 items-center"
1486
- }, /*#__PURE__*/React.createElement(Checkbox, {
1487
- className: "border-2",
1488
- checked: checkMode.regCheck,
1489
- onCheckedChange: function onCheckedChange(e) {
1486
+ id: "regCheck"
1487
+ }, /*#__PURE__*/React.createElement("input", {
1488
+ type: "checkbox",
1489
+ onChange: function onChange(e) {
1490
1490
  return setCheckMode("regCheck", e.target.checked);
1491
1491
  }
1492
1492
  }), /*#__PURE__*/React.createElement("span", null, findAndReplace.regexTextbox)), /*#__PURE__*/React.createElement("div", {
1493
- id: "caseCheck",
1494
- className: "flex flex-row gap-2 items-center"
1495
- }, /*#__PURE__*/React.createElement(Checkbox, {
1496
- className: "border-2",
1497
- checked: checkMode.caseCheck,
1498
- onCheckedChange: function onCheckedChange(e) {
1499
- return setCheckMode("caseCheck", e.target.checked);
1500
- }
1501
- }), /*#__PURE__*/React.createElement("span", null, findAndReplace.distinguishTextbox)), /*#__PURE__*/React.createElement("div", {
1502
- id: "wordCheck",
1503
- className: "flex flex-row gap-2 items-center"
1504
- }, /*#__PURE__*/React.createElement(Checkbox, {
1505
- className: "border-2",
1506
- checked: checkMode.wordCheck,
1507
- onCheckedChange: function onCheckedChange(e) {
1493
+ id: "wordCheck"
1494
+ }, /*#__PURE__*/React.createElement("input", {
1495
+ type: "checkbox",
1496
+ onChange: function onChange(e) {
1508
1497
  return setCheckMode("wordCheck", e.target.checked);
1509
1498
  }
1510
- }), /*#__PURE__*/React.createElement("span", null, findAndReplace.wholeTextbox)))), /*#__PURE__*/React.createElement(Divider$2, {
1511
- className: "w-full border-t-[1px]"
1512
- }), /*#__PURE__*/React.createElement("div", {
1513
- className: "flex flex-row gap-2 justify-center items-center mb-4"
1514
- }, /*#__PURE__*/React.createElement(Button$1, {
1499
+ }), /*#__PURE__*/React.createElement("span", null, findAndReplace.wholeTextbox)), /*#__PURE__*/React.createElement("div", {
1500
+ id: "caseCheck"
1501
+ }, /*#__PURE__*/React.createElement("input", {
1502
+ type: "checkbox",
1503
+ onChange: function onChange(e) {
1504
+ return setCheckMode("caseCheck", e.target.checked);
1505
+ }
1506
+ }), /*#__PURE__*/React.createElement("span", null, findAndReplace.distinguishTextbox)))), /*#__PURE__*/React.createElement("div", {
1507
+ className: "btnBox"
1508
+ }, showReplace && (/*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
1515
1509
  id: "replaceAllBtn",
1516
- variant: "secondary",
1517
- className: "min-w-fit",
1510
+ className: "fortune-message-box-button button-default",
1518
1511
  onClick: function onClick() {
1519
1512
  setContext(function (draftCtx) {
1520
1513
  setSelectedCell(undefined);
@@ -1522,12 +1515,10 @@ var SearchReplace = function SearchReplace(_ref) {
1522
1515
  showAlert(alertMsg);
1523
1516
  });
1524
1517
  },
1525
- tabIndex: 0,
1526
- disabled: searchText.length === 0 || replaceText.length === 0
1527
- }, findAndReplace.allReplaceBtn), /*#__PURE__*/React.createElement(Button$1, {
1518
+ tabIndex: 0
1519
+ }, findAndReplace.allReplaceBtn), /*#__PURE__*/React.createElement("div", {
1528
1520
  id: "replaceBtn",
1529
- variant: "secondary",
1530
- className: "min-w-fit",
1521
+ className: "fortune-message-box-button button-default",
1531
1522
  onClick: function onClick() {
1532
1523
  return setContext(function (draftCtx) {
1533
1524
  setSelectedCell(undefined);
@@ -1537,12 +1528,10 @@ var SearchReplace = function SearchReplace(_ref) {
1537
1528
  }
1538
1529
  });
1539
1530
  },
1540
- tabIndex: 0,
1541
- disabled: searchText.length === 0 || replaceText.length === 0
1542
- }, findAndReplace.replaceBtn), /*#__PURE__*/React.createElement(Button$1, {
1531
+ tabIndex: 0
1532
+ }, findAndReplace.replaceBtn))), /*#__PURE__*/React.createElement("div", {
1543
1533
  id: "searchAllBtn",
1544
- variant: "secondary",
1545
- className: "min-w-fit",
1534
+ className: "fortune-message-box-button button-default",
1546
1535
  onClick: function onClick() {
1547
1536
  return setContext(function (draftCtx) {
1548
1537
  setSelectedCell(undefined);
@@ -1552,12 +1541,10 @@ var SearchReplace = function SearchReplace(_ref) {
1552
1541
  if (_.isEmpty(res)) showAlert(findAndReplace.noFindTip);
1553
1542
  });
1554
1543
  },
1555
- tabIndex: 0,
1556
- disabled: searchText.length === 0
1557
- }, findAndReplace.allFindBtn), /*#__PURE__*/React.createElement(Button$1, {
1544
+ tabIndex: 0
1545
+ }, findAndReplace.allFindBtn), /*#__PURE__*/React.createElement("div", {
1558
1546
  id: "searchNextBtn",
1559
- variant: "default",
1560
- className: "min-w-fit",
1547
+ className: "fortune-message-box-button button-default",
1561
1548
  onClick: function onClick() {
1562
1549
  return setContext(function (draftCtx) {
1563
1550
  setSearchResult([]);
@@ -1565,45 +1552,23 @@ var SearchReplace = function SearchReplace(_ref) {
1565
1552
  if (alertMsg != null) showAlert(alertMsg);
1566
1553
  });
1567
1554
  },
1568
- tabIndex: 0,
1569
- disabled: searchText.length === 0
1570
- }, findAndReplace.findBtn))), searchResult.length > 0 && (/*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider$2, {
1571
- className: "w-full border-t-[1px] mb-4"
1572
- }), /*#__PURE__*/React.createElement("div", {
1573
- ref: tableContainerRef,
1574
- className: "mb-6 table-container max-h-[300px] overflow-y-auto",
1575
- onMouseDown: function onMouseDown(e) {
1576
- var _tableContainerRef$cu;
1577
- if (e.target === tableContainerRef.current || ((_tableContainerRef$cu = tableContainerRef.current) === null || _tableContainerRef$cu === void 0 ? void 0 : _tableContainerRef$cu.contains(e.target))) {
1578
- var _tableContainerRef$cu2;
1579
- e.stopPropagation();
1580
- (_tableContainerRef$cu2 = tableContainerRef.current) === null || _tableContainerRef$cu2 === void 0 ? void 0 : _tableContainerRef$cu2.focus();
1581
- }
1582
- },
1583
- onWheel: function onWheel(e) {
1584
- e.preventDefault();
1585
- e.stopPropagation();
1586
- if (tableContainerRef.current) {
1587
- tableContainerRef.current.scrollTop += e.deltaY;
1588
- }
1589
- },
1590
- onTouchStart: function onTouchStart(e) {
1591
- e.stopPropagation();
1592
- },
1593
- onTouchMove: function onTouchMove(e) {
1594
- e.stopPropagation();
1595
- },
1596
1555
  tabIndex: 0
1597
- }, /*#__PURE__*/React.createElement(Table, {
1556
+ }, findAndReplace.findBtn))), /*#__PURE__*/React.createElement("div", {
1557
+ className: "close-button fortune-message-box-button button-default",
1558
+ onClick: closeDialog,
1559
+ tabIndex: 0
1560
+ }, button.close), searchResult.length > 0 && (/*#__PURE__*/React.createElement("div", {
1598
1561
  id: "searchAllbox"
1599
- }, /*#__PURE__*/React.createElement(TableHeader, {
1600
- className: "color-bg-secondary"
1601
- }, /*#__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) {
1602
- return /*#__PURE__*/React.createElement(TableRow, {
1603
- className: cn(_.isEqual(selectedCell, {
1562
+ }, /*#__PURE__*/React.createElement("div", {
1563
+ className: "boxTitle"
1564
+ }, /*#__PURE__*/React.createElement("span", null, findAndReplace.searchTargetSheet), /*#__PURE__*/React.createElement("span", null, findAndReplace.searchTargetCell), /*#__PURE__*/React.createElement("span", null, findAndReplace.searchTargetValue)), /*#__PURE__*/React.createElement("div", {
1565
+ className: "boxMain"
1566
+ }, searchResult.map(function (v) {
1567
+ return /*#__PURE__*/React.createElement("div", {
1568
+ className: "boxItem ".concat(_.isEqual(selectedCell, {
1604
1569
  r: v.r,
1605
1570
  c: v.c
1606
- }) ? "color-bg-default-selected" : ""),
1571
+ }) ? "on" : ""),
1607
1572
  key: v.cellPosition,
1608
1573
  onClick: function onClick() {
1609
1574
  setContext(function (draftCtx) {
@@ -1619,14 +1584,8 @@ var SearchReplace = function SearchReplace(_ref) {
1619
1584
  });
1620
1585
  },
1621
1586
  tabIndex: 0
1622
- }, /*#__PURE__*/React.createElement(TableCell, {
1623
- className: "find-replace-table-cell"
1624
- }, v.sheetName), /*#__PURE__*/React.createElement(TableCell, {
1625
- className: "find-replace-table-cell"
1626
- }, v.cellPosition), /*#__PURE__*/React.createElement(TableCell, {
1627
- className: "find-replace-table-cell"
1628
- }, v.value));
1629
- })))))))));
1587
+ }, /*#__PURE__*/React.createElement("span", null, v.sheetName), /*#__PURE__*/React.createElement("span", null, v.cellPosition), /*#__PURE__*/React.createElement("span", null, v.value));
1588
+ }))))));
1630
1589
  };
1631
1590
 
1632
1591
  var LinkEditCard = function LinkEditCard(_ref) {
@@ -7439,65 +7398,6 @@ var ContextMenu = function ContextMenu() {
7439
7398
  key: "divider-".concat(i)
7440
7399
  });
7441
7400
  }
7442
- if (name === "freeze-row") {
7443
- var freezeState = getFreezeState(context);
7444
- var isFrozen = freezeState.isRowFrozen;
7445
- var isEntireRowSelected = (selection === null || selection === void 0 ? void 0 : selection.row_select) === true;
7446
- if (!isEntireRowSelected) return null;
7447
- return /*#__PURE__*/React.createElement(Menu, {
7448
- key: "freeze-row",
7449
- onClick: function onClick() {
7450
- setContext(function (draftCtx) {
7451
- if (isFrozen) {
7452
- toggleFreeze(draftCtx, "unfreeze-row");
7453
- } else {
7454
- toggleFreeze(draftCtx, "row");
7455
- }
7456
- draftCtx.contextMenu = {};
7457
- });
7458
- }
7459
- }, /*#__PURE__*/React.createElement("div", {
7460
- className: "context-item"
7461
- }, /*#__PURE__*/React.createElement(SVGIcon, {
7462
- name: "freeze-flv",
7463
- width: 18,
7464
- height: 18,
7465
- style: {
7466
- marginTop: "4px",
7467
- marginRight: "4px"
7468
- }
7469
- }), isFrozen ? "Unfreeze row" : "Freeze to current row"));
7470
- }
7471
- if (name === "freeze-column") {
7472
- var _freezeState = getFreezeState(context);
7473
- var _isFrozen = _freezeState.isColFrozen;
7474
- var isEntireColumnSelected = (selection === null || selection === void 0 ? void 0 : selection.column_select) === true;
7475
- if (!isEntireColumnSelected) return null;
7476
- return /*#__PURE__*/React.createElement(Menu, {
7477
- key: "freeze-column",
7478
- onClick: function onClick() {
7479
- setContext(function (draftCtx) {
7480
- if (_isFrozen) {
7481
- toggleFreeze(draftCtx, "unfreeze-column");
7482
- } else {
7483
- toggleFreeze(draftCtx, "column");
7484
- jfrefreshgrid(draftCtx, null, undefined, false);
7485
- }
7486
- draftCtx.contextMenu = {};
7487
- });
7488
- }
7489
- }, /*#__PURE__*/React.createElement("div", {
7490
- className: "context-item"
7491
- }, /*#__PURE__*/React.createElement(SVGIcon, {
7492
- name: "freeze-flv",
7493
- width: 18,
7494
- height: 18,
7495
- style: {
7496
- marginTop: "4px",
7497
- marginRight: "4px"
7498
- }
7499
- }), /*#__PURE__*/React.createElement("p", null, _isFrozen ? "Unfreeze column" : "Freeze to current column")));
7500
- }
7501
7401
  if (name === "comment") {
7502
7402
  return /*#__PURE__*/React.createElement(Menu, {
7503
7403
  key: name,
@@ -9633,20 +9533,6 @@ var SVGDefines = function SVGDefines(_ref) {
9633
9533
  "clip-rule": "evenodd",
9634
9534
  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",
9635
9535
  fill: "#363B3F"
9636
- }))), /*#__PURE__*/React.createElement("symbol", {
9637
- id: "freeze-flv",
9638
- viewBox: "0 0 24 24"
9639
- }, /*#__PURE__*/React.createElement("svg", {
9640
- width: "18",
9641
- height: "16",
9642
- viewBox: "0 0 18 16",
9643
- fill: "none",
9644
- xmlns: "http://www.w3.org/2000/svg"
9645
- }, /*#__PURE__*/React.createElement("path", {
9646
- "fill-rule": "evenodd",
9647
- "clip-rule": "evenodd",
9648
- 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",
9649
- fill: "#363B3F"
9650
9536
  }))), /*#__PURE__*/React.createElement("symbol", {
9651
9537
  viewBox: "0 0 1024 1024",
9652
9538
  id: "tab"
@@ -9955,7 +9841,7 @@ var MoreItemsContaier = function MoreItemsContaier(_ref) {
9955
9841
  }, children);
9956
9842
  };
9957
9843
 
9958
- function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cellInput, scrollbarX, scrollbarY) {
9844
+ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cellInput, scrollbarX, scrollbarY, globalCache) {
9959
9845
  return {
9960
9846
  applyOp: function applyOp(ops) {
9961
9847
  setContext(function (ctx_) {
@@ -10256,6 +10142,50 @@ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cel
10256
10142
  },
10257
10143
  celldataToData: function celldataToData(celldata, rowCount, colCount) {
10258
10144
  return api.celldataToData(celldata, rowCount, colCount);
10145
+ },
10146
+ insertFunction: function insertFunction(selectedFuncIndex, filteredFunctionList, callback) {
10147
+ var _context$luckysheet_s2;
10148
+ 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];
10149
+ var row_index = last === null || last === void 0 ? void 0 : last.row_focus;
10150
+ var col_index = last === null || last === void 0 ? void 0 : last.column_focus;
10151
+ if (!last) {
10152
+ row_index = 0;
10153
+ col_index = 0;
10154
+ } else {
10155
+ if (row_index == null) {
10156
+ var _last$row2 = _slicedToArray(last.row, 1);
10157
+ row_index = _last$row2[0];
10158
+ }
10159
+ if (col_index == null) {
10160
+ var _last$column2 = _slicedToArray(last.column, 1);
10161
+ col_index = _last$column2[0];
10162
+ }
10163
+ }
10164
+ 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>");
10165
+ var _locale2 = locale(context),
10166
+ functionlist = _locale2.functionlist;
10167
+ setContext(function (ctx) {
10168
+ if (cellInput != null && globalCache != null) {
10169
+ ctx.luckysheetCellUpdate = [row_index, col_index];
10170
+ globalCache.doNotUpdateCell = true;
10171
+ cellInput.innerHTML = formulaTxt;
10172
+ var spans = cellInput.childNodes;
10173
+ if (!_.isEmpty(spans)) {
10174
+ setCaretPosition(ctx, spans[spans.length - 1], 0, 1);
10175
+ }
10176
+ ctx.functionHint = filteredFunctionList[selectedFuncIndex].n.toUpperCase();
10177
+ ctx.functionCandidates = [];
10178
+ if (_.isEmpty(ctx.formulaCache.functionlistMap)) {
10179
+ for (var i = 0; i < functionlist.length; i += 1) {
10180
+ ctx.formulaCache.functionlistMap[functionlist[i].n] = functionlist[i];
10181
+ }
10182
+ }
10183
+ callback === null || callback === void 0 ? void 0 : callback();
10184
+ }
10185
+ });
10186
+ },
10187
+ getLocaleContext: function getLocaleContext() {
10188
+ return locale(context);
10259
10189
  }
10260
10190
  };
10261
10191
  }
@@ -11463,8 +11393,8 @@ var Workbook = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
11463
11393
  };
11464
11394
  }, [onPaste]);
11465
11395
  useImperativeHandle(ref, function () {
11466
- return generateAPIs(context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, cellInput.current, scrollbarX.current, scrollbarY.current);
11467
- }, [context, setContextWithProduce, handleUndo, handleRedo, mergedSettings]);
11396
+ return generateAPIs(context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, cellInput.current, scrollbarX.current, scrollbarY.current, globalCache.current);
11397
+ }, [context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, globalCache]);
11468
11398
  var i = getSheetIndex(context, context.currentSheetId);
11469
11399
  if (i == null) {
11470
11400
  return null;