@fileverse-dev/dsheet 2.0.0 → 2.0.1-search-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.
Files changed (37) hide show
  1. package/dist/editor/components/import-button-ui.d.ts +1 -1
  2. package/dist/editor/open-find-and-replace.d.ts +11 -0
  3. package/dist/editor/utils/csv-import.d.ts +1 -1
  4. package/dist/editor/utils/custom-toolbar-item.d.ts +1 -1
  5. package/dist/editor/utils/export-filename.d.ts +1 -0
  6. package/dist/{es-DHiiPgkU.js → es-BJ3y6kL2.js} +38 -5
  7. package/dist/{hi-DgkuC9mD.js → hi-BLJfbm0w.js} +38 -5
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.es.js +20289 -18395
  10. package/dist/sheet-engine/core/api/cell.d.ts +1 -1
  11. package/dist/sheet-engine/core/context.d.ts +36 -0
  12. package/dist/sheet-engine/core/events/mouse.d.ts +1 -1
  13. package/dist/sheet-engine/core/index.d.ts +2 -1
  14. package/dist/sheet-engine/core/locale/en.d.ts +33 -0
  15. package/dist/sheet-engine/core/locale/es.d.ts +33 -0
  16. package/dist/sheet-engine/core/locale/hi.d.ts +33 -0
  17. package/dist/sheet-engine/core/locale/zh.d.ts +33 -0
  18. package/dist/sheet-engine/core/locale/zh_tw.d.ts +33 -0
  19. package/dist/sheet-engine/core/modules/cell.d.ts +5 -0
  20. package/dist/sheet-engine/core/modules/formula.d.ts +13 -4
  21. package/dist/sheet-engine/core/modules/index.d.ts +5 -4
  22. package/dist/sheet-engine/core/modules/inline-string.d.ts +6 -6
  23. package/dist/sheet-engine/core/modules/rowcol.d.ts +7 -3
  24. package/dist/sheet-engine/core/modules/searchReplace.d.ts +118 -26
  25. package/dist/sheet-engine/core/modules/selection.d.ts +12 -6
  26. package/dist/sheet-engine/core/modules/validation.d.ts +11 -0
  27. package/dist/sheet-engine/core/types.d.ts +4 -2
  28. package/dist/sheet-engine/core/utils/patch.d.ts +2 -0
  29. package/dist/sheet-engine/react/components/QuickSearch/index.d.ts +4 -0
  30. package/dist/sheet-engine/react/components/ResetRowHeight/index.d.ts +3 -0
  31. package/dist/sheet-engine/react/components/Workbook/api.d.ts +6 -0
  32. package/dist/sheet-engine/react/components/Workbook/index.d.ts +4 -0
  33. package/dist/sheet-engine/react/hooks/useFormulaEditorHistory.d.ts +1 -1
  34. package/dist/style.css +1 -1
  35. package/dist/{zh-ForBOJJx.js → zh-DNw41bZD.js} +38 -5
  36. package/dist/{zh_tw-CjJceJE_.js → zh_tw-MZjDyZzy.js} +38 -5
  37. package/package.json +1 -1
@@ -8,4 +8,4 @@ export declare function getCellValue(ctx: Context, row: number, column: number,
8
8
  export declare function setCellValue(ctx: Context, row: number, column: number, value: any, cellInput: HTMLDivElement | null, options?: CommonOptions, callAfterUpdate?: boolean): void;
9
9
  export declare function clearCell(ctx: Context, row: number, column: number, options?: CommonOptions): void;
10
10
  export declare function setCellFormat(ctx: Context, row: number, column: number, attr: keyof Cell, value: any, options?: CommonOptions): void;
11
- export declare function autoFillCell(ctx: Context, copyRange: SingleRange, applyRange: SingleRange, direction: "up" | "down" | "left" | "right"): void;
11
+ export declare function autoFillCell(ctx: Context, copyRange: SingleRange, applyRange: SingleRange, direction: 'up' | 'down' | 'left' | 'right'): void;
@@ -40,6 +40,37 @@ export type Context = {
40
40
  presences?: Presence[];
41
41
  showSearch?: boolean;
42
42
  showReplace?: boolean;
43
+ /**
44
+ * While picking a range for Find & Replace, the modal is closed (flags false) but
45
+ * this stays true so `SearchReplace` stays mounted and keeps form state. Restored
46
+ * when the range dialog closes.
47
+ */
48
+ findReplaceHiddenDuringRangePick?: boolean;
49
+ /** Snapshot of `showSearch` / `showReplace` before hiding for range pick. */
50
+ findReplaceRestoreVisibility?: {
51
+ showSearch: boolean;
52
+ showReplace: boolean;
53
+ };
54
+ /** In-sheet find bar (Ctrl/Cmd+F); separate from Find and Replace modal */
55
+ showQuickSearch?: boolean;
56
+ /** Bumped when Ctrl/Cmd+F is pressed while Quick Search is already open (refocus + select-all). */
57
+ quickSearchFocusNonce?: number;
58
+ /** One-shot prefill when opening Find and Replace from Quick Search; cleared after consume. */
59
+ findReplacePrefill?: string;
60
+ quickSearchLoading?: boolean;
61
+ /** Non-destructive match highlights for Quick Search; null when closed or no query. */
62
+ quickSearchHighlight?: {
63
+ matches: {
64
+ r: number;
65
+ c: number;
66
+ }[];
67
+ activeIndex: number;
68
+ } | null;
69
+ /** Highlighted region when Find & Replace scope is "Specific range"; null when not active. */
70
+ searchRangeScopeHighlight?: {
71
+ row: number[];
72
+ column: number[];
73
+ } | null;
43
74
  linkCard?: LinkCardProps;
44
75
  rangeDialog?: RangeDialogProps;
45
76
  warnDialog?: string;
@@ -192,6 +223,11 @@ export type Context = {
192
223
  luckysheetPaintSingle: boolean;
193
224
  defaultCell: Cell;
194
225
  groupValuesRefreshData: any[];
226
+ /**
227
+ * Incremented when formula `func_selectedrange` moves via keyboard (`rangeOfFormula`)
228
+ * so React re-renders — `FormulaCache` is a class and Immer does not track it.
229
+ */
230
+ formulaRangeNavRevision: number;
195
231
  formulaCache: FormulaCache;
196
232
  hooks: Hooks;
197
233
  showSheetList?: boolean;
@@ -12,7 +12,7 @@ export declare function fixPositionOnFrozenCells(freeze: Freezen | undefined, x:
12
12
  };
13
13
  export declare function handleCellAreaMouseDown(ctx: Context, globalCache: GlobalCache, e: MouseEvent, cellInput: HTMLDivElement, container: HTMLDivElement, fxInput?: HTMLDivElement | null, canvas?: CanvasRenderingContext2D): void;
14
14
  export declare function handleCellAreaDoubleClick(ctx: Context, globalCache: GlobalCache, settings: Settings, e: MouseEvent, container: HTMLElement): void;
15
- export declare function handleContextMenu(ctx: Context, settings: Settings, e: MouseEvent, workbookContainer: HTMLDivElement, container: HTMLDivElement, area: "cell" | "rowHeader" | "columnHeader"): void;
15
+ export declare function handleContextMenu(ctx: Context, settings: Settings, e: MouseEvent, workbookContainer: HTMLDivElement, container: HTMLDivElement, area: 'cell' | 'rowHeader' | 'columnHeader'): void;
16
16
  export declare function mouseRender(ctx: Context, globalCache: GlobalCache, e: MouseEvent, cellInput: HTMLDivElement, scrollX: HTMLDivElement, scrollY: HTMLDivElement, container: HTMLDivElement, fxInput?: HTMLDivElement | null): void;
17
17
  export declare function handleOverlayMouseMove(ctx: Context, globalCache: GlobalCache, e: MouseEvent, cellInput: HTMLDivElement, scrollX: HTMLDivElement, scrollY: HTMLDivElement, container: HTMLDivElement, fxInput?: HTMLDivElement | null): void;
18
18
  export declare function handleOverlayMouseUp(ctx: Context, globalCache: GlobalCache, settings: Settings, e: MouseEvent, scrollbarX: HTMLDivElement, scrollbarY: HTMLDivElement, container: HTMLDivElement, cellInput: HTMLDivElement | null, fxInput: HTMLDivElement | null): void;
@@ -7,9 +7,10 @@ export { defaultSettings } from './settings';
7
7
  export type { Settings, Hooks } from './settings';
8
8
  export { handleCopy, handleGlobalKeyDown, handlePaste, handlePasteByClick, fixPositionOnFrozenCells, handleCellAreaMouseDown, handleCellAreaDoubleClick, handleContextMenu, mouseRender, handleOverlayMouseMove, handleOverlayMouseUp, handleRowHeaderMouseDown, handleColumnHeaderMouseDown, handleColSizeHandleMouseDown, handleColSizeHandleDoubleClick, handleRowSizeHandleMouseDown, handleColFreezeHandleMouseDown, handleRowFreezeHandleMouseDown, } from './events';
9
9
  export * from './locale';
10
- export { getBorderInfoComputeRange, getBorderInfoCompute, normalizedCellAttr, normalizedAttr, getCellValue, setCellValue, getRealCellValue, mergeBorder, cancelNormalSelected, updateCell, getRangetxt, getRangeByTxt, getInlineStringHTML, getStyleByCell, clearSelectedCellFormat, clearRowsCellsFormat, clearColumnsCellsFormat, clipboard, moveToEnd, getRangeRectsByCharacterOffset, update, is_date, valueShowEs, FormulaCache, groupValuesRefresh, setCaretPosition, getrangeseleciton, getFormulaEditorOwner, rangeHightlightselected, handleFormulaInput, israngeseleciton, createRangeHightlight, maybeRecoverDirtyRangeSelection, getFormulaRangeIndexAtCaret, isCaretAtValidFormulaRangeInsertionPoint, isLegacyFormulaRangeMode, markRangeSelectionDirty, setFormulaEditorOwner, functionHTMLGenerate, suppressFormulaRangeSelectionForInitialEdit, rangeSetValue, getFormulaRangeIndexForKeyboardSync, createFormulaRangeSelect, isFormulaReferenceInputMode, initFreeze, isInlineStringCell, getInlineStringNoStyle, rowLocation, rowLocationByIndex, colLocation, colLocationByIndex, insertRowCol, deleteRowCol, hideSelected, showSelected, isShowHidenCR, scrollToHighlightCell, selectTitlesMap, selectTitlesRange, normalizeSelection, syncPrimaryCellActiveFromSelection, setPrimaryCellActive, advancePrimaryCellInLastMultiSelection, moveHighlightCell, deleteSelectedCellText, selectAll, fixRowStyleOverflowInFreeze, fixColumnStyleOverflowInFreeze, calcSelectionInfo, addSheet, deleteSheet, editSheetName, changeSheet, updateFormat, autoSelectionFormula, handleBold, handleItalic, handleStrikeThrough, handleUnderline, handleHorizontalAlign, handleVerticalAlign, handleTextColor, handleTextBackground, handleBorder, handleMerge, handleSort, handleFreeze, handleTextSize, handleSum, handleLink, toolbarItemClickHandler, toolbarItemSelectedFunc, handleScreenShot, insertImage, showImgChooser, drawArrow, setEditingComment, removeEditingComment, newComment, editComment, deleteComment, showComments, showHideComment, showHideAllComments, onCommentBoxMoveStart, removeActiveImage, cancelActiveImgItem, onImageMoveStart, onImageResizeStart, createDropCellRange, sortSelection, searchAll, searchNext, replace, replaceAll, getCellRowColumn, getCellHyperlink, saveHyperlink, removeHyperlink, showLinkCard, goToLink, isLinkValid, createFilterOptions, clearFilter, createFilter, getFilterColumnValues, getFilterColumnColors, orderbydatafiler, saveFilter, onCellsMoveStart, cfSplitRange, updateMoreCell, getRegStr, getDataArr, applyLocation, getOptionValue, getSelectRange, getDropdownList, setDropdownValue, confirmMessage, setConditionRules, handleOverlayTouchStart, handleOverlayTouchEnd, MAX_ZOOM_RATIO, MIN_ZOOM_RATIO, handleKeydownForZoom, jfrefreshgrid, sanitizeDuneUrl, insertDuneChart, onIframeMoveStart, onIframeResizeStart, onIframeMove, onIframeMoveEnd, onIframeResize, onIframeResizeEnd, setCellError, clearCellError, isdatatypemulti, diff, isdatetime, isRealNull, isRealNum, iscelldata, getcellrange, cancelFunctionrangeSelected, seletedHighlistByindex, spillSortResult, execfunction, insertUpdateFunctionGroup, remapFormulaReferencesByMap, checkCF, getComputeMap, cancelPaintModel, hideCRCount, getdatabyselection, } from './modules';
10
+ export { getBorderInfoComputeRange, getBorderInfoCompute, normalizedCellAttr, normalizedAttr, getCellValue, setCellValue, getRealCellValue, mergeBorder, cancelNormalSelected, updateCell, getRangetxt, getRangeByTxt, getInlineStringHTML, getStyleByCell, clearSelectedCellFormat, clearRowsCellsFormat, clearColumnsCellsFormat, clipboard, moveToEnd, getRangeRectsByCharacterOffset, update, is_date, valueShowEs, FormulaCache, groupValuesRefresh, execFunctionGroup, setCaretPosition, getrangeseleciton, getFormulaEditorOwner, rangeHightlightselected, handleFormulaInput, israngeseleciton, createRangeHightlight, maybeRecoverDirtyRangeSelection, getFormulaRangeIndexAtCaret, isCaretAtValidFormulaRangeInsertionPoint, isLegacyFormulaRangeMode, markRangeSelectionDirty, setFormulaEditorOwner, functionHTMLGenerate, suppressFormulaRangeSelectionForInitialEdit, rangeSetValue, getFormulaRangeIndexForKeyboardSync, createFormulaRangeSelect, isFormulaReferenceInputMode, seedFormulaFuncSelectedRangeFromLastSelection, initFreeze, isInlineStringCell, getInlineStringNoStyle, rowLocation, rowLocationByIndex, colLocation, colLocationByIndex, insertRowCol, deleteRowCol, hideSelected, showSelected, isShowHidenCR, scrollToHighlightCell, selectTitlesMap, selectTitlesRange, normalizeSelection, syncPrimaryCellActiveFromSelection, setPrimaryCellActive, advancePrimaryCellInLastMultiSelection, snapSheetSelectionFocusToCellPreserveMultiRange, moveHighlightCell, deleteSelectedCellText, selectAll, fixRowStyleOverflowInFreeze, fixColumnStyleOverflowInFreeze, calcSelectionInfo, addSheet, deleteSheet, editSheetName, changeSheet, updateFormat, autoSelectionFormula, handleBold, handleItalic, handleStrikeThrough, handleUnderline, handleHorizontalAlign, handleVerticalAlign, handleTextColor, handleTextBackground, handleBorder, handleMerge, handleSort, handleFreeze, handleTextSize, handleSum, handleLink, toolbarItemClickHandler, toolbarItemSelectedFunc, handleScreenShot, insertImage, showImgChooser, drawArrow, setEditingComment, removeEditingComment, newComment, editComment, deleteComment, showComments, showHideComment, showHideAllComments, onCommentBoxMoveStart, removeActiveImage, cancelActiveImgItem, onImageMoveStart, onImageResizeStart, createDropCellRange, sortSelection, searchAll, searchNext, replace, replaceAll, getSearchIndexArr, getSearchIndexArrAsync, getFindRangeOnCurrentSheet, getQuickSearchIndexArr, getQuickSearchHiddenConfig, expandCellRectForMerge, shouldQuickSearchUseAsync, runQuickSearchIndexArrAsync, QUICK_SEARCH_ASYNC_ROW_THRESHOLD, parseRangeText, getCellRowColumn, getCellHyperlink, saveHyperlink, removeHyperlink, showLinkCard, goToLink, isLinkValid, createFilterOptions, clearFilter, createFilter, getFilterColumnValues, getFilterColumnColors, orderbydatafiler, saveFilter, onCellsMoveStart, cfSplitRange, updateMoreCell, getRegStr, getDataArr, applyLocation, getOptionValue, getSelectRange, getDropdownList, setDropdownValue, confirmMessage, setConditionRules, handleOverlayTouchStart, handleOverlayTouchEnd, MAX_ZOOM_RATIO, MIN_ZOOM_RATIO, handleKeydownForZoom, jfrefreshgrid, sanitizeDuneUrl, insertDuneChart, onIframeMoveStart, onIframeResizeStart, onIframeMove, onIframeMoveEnd, onIframeResize, onIframeResizeEnd, setCellError, clearCellError, isdatatypemulti, diff, isdatetime, isRealNull, isRealNum, isNumericCellType, iscelldata, getcellrange, cancelFunctionrangeSelected, seletedHighlistByindex, spillSortResult, execfunction, insertUpdateFunctionGroup, remapFormulaReferencesByMap, checkCF, getComputeMap, cancelPaintModel, hideCRCount, getdatabyselection, } from './modules';
11
11
  export type { FilterDate, FilterValue, FilterColor } from './modules';
12
12
  export { getFreezeState, toggleFreeze, indexToColumnChar, escapeScriptTag, escapeHTMLTag, getSheetIndex, replaceHtml, isAllowEdit, isAllowEditReadOnly, filterPatch, patchToOp, opToPatch, inverseRowColOptions, } from './utils';
13
13
  export type { PatchOptions, ChangedSheet } from './utils';
14
14
  export type { Op, Cell, CellWithRowAndCol, CellMatrix, Selection, Presence, Sheet, GlobalCache, SingleRange, Range, SearchResult, LinkCardProps, LiveQueryData, Freezen, } from './types';
15
+ export type { CheckModes, HyperlinkMap, FindSearchScope, SearchHiddenConfig, SearchNextResult, ReplaceAllResult, } from './modules/searchReplace';
15
16
  export { cellFadeAnimator, markCellChanged } from './animate';
@@ -379,6 +379,14 @@ declare const _default: {
379
379
  cannotDeleteColumnReadOnly: string;
380
380
  cannotInsertOnRowReadOnly: string;
381
381
  cannotInsertOnColumnReadOnly: string;
382
+ insertRowAboveOne: string;
383
+ insertRowsAboveN: string;
384
+ insertRowBelowOne: string;
385
+ insertRowsBelowN: string;
386
+ insertColumnLeftOne: string;
387
+ insertColumnsLeftN: string;
388
+ insertColumnRightOne: string;
389
+ insertColumnsRightN: string;
382
390
  rowOverLimit: string;
383
391
  columnOverLimit: string;
384
392
  conditionFormat: string;
@@ -464,6 +472,20 @@ declare const _default: {
464
472
  regexTextbox: string;
465
473
  wholeTextbox: string;
466
474
  distinguishTextbox: string;
475
+ formulaTextbox: string;
476
+ linkTextbox: string;
477
+ allSheetsTextbox: string;
478
+ searchScopeLabel: string;
479
+ searchScopeAllSheets: string;
480
+ searchScopeThisSheet: string;
481
+ searchScopeSpecificRange: string;
482
+ rangeInputPlaceholder: string;
483
+ rangeInputInvalidError: string;
484
+ rangeSelectOnSheetTitle: string;
485
+ selectDataRangeTitle: string;
486
+ replaceAllWithSkippedTip: string;
487
+ replaceAllSuccessInfotext: string;
488
+ replaceAllSuccessWithSkippedInfotext: string;
467
489
  allReplaceBtn: string;
468
490
  replaceBtn: string;
469
491
  allFindBtn: string;
@@ -491,6 +513,17 @@ declare const _default: {
491
513
  locationTiplessTwoRow: string;
492
514
  locationTiplessTwoColumn: string;
493
515
  locationTipNotFindCell: string;
516
+ quickSearchPlaceholder: string;
517
+ quickSearchDialogAria: string;
518
+ quickSearchMoreOptionsTitle: string;
519
+ quickSearchOpenFindReplaceAria: string;
520
+ quickSearchNextAria: string;
521
+ quickSearchPrevAria: string;
522
+ quickSearchCloseAria: string;
523
+ quickSearchNoResults: string;
524
+ quickSearchSearching: string;
525
+ quickSearchCounterTemplate: string;
526
+ quickSearchMatchCountAria: string;
494
527
  };
495
528
  sheetconfig: {
496
529
  delete: string;
@@ -548,6 +548,14 @@ declare const _default: {
548
548
  cannotDeleteColumnReadOnly: string;
549
549
  cannotInsertOnRowReadOnly: string;
550
550
  cannotInsertOnColumnReadOnly: string;
551
+ insertRowAboveOne: string;
552
+ insertRowsAboveN: string;
553
+ insertRowBelowOne: string;
554
+ insertRowsBelowN: string;
555
+ insertColumnLeftOne: string;
556
+ insertColumnsLeftN: string;
557
+ insertColumnRightOne: string;
558
+ insertColumnsRightN: string;
551
559
  rowOverLimit: string;
552
560
  columnOverLimit: string;
553
561
  };
@@ -627,6 +635,20 @@ declare const _default: {
627
635
  regexTextbox: string;
628
636
  wholeTextbox: string;
629
637
  distinguishTextbox: string;
638
+ formulaTextbox: string;
639
+ linkTextbox: string;
640
+ allSheetsTextbox: string;
641
+ searchScopeLabel: string;
642
+ searchScopeAllSheets: string;
643
+ searchScopeThisSheet: string;
644
+ searchScopeSpecificRange: string;
645
+ rangeInputPlaceholder: string;
646
+ rangeInputInvalidError: string;
647
+ rangeSelectOnSheetTitle: string;
648
+ selectDataRangeTitle: string;
649
+ replaceAllWithSkippedTip: string;
650
+ replaceAllSuccessInfotext: string;
651
+ replaceAllSuccessWithSkippedInfotext: string;
630
652
  allReplaceBtn: string;
631
653
  replaceBtn: string;
632
654
  allFindBtn: string;
@@ -654,6 +676,17 @@ declare const _default: {
654
676
  locationTiplessTwoRow: string;
655
677
  locationTiplessTwoColumn: string;
656
678
  locationTipNotFindCell: string;
679
+ quickSearchPlaceholder: string;
680
+ quickSearchDialogAria: string;
681
+ quickSearchMoreOptionsTitle: string;
682
+ quickSearchOpenFindReplaceAria: string;
683
+ quickSearchNextAria: string;
684
+ quickSearchPrevAria: string;
685
+ quickSearchCloseAria: string;
686
+ quickSearchNoResults: string;
687
+ quickSearchSearching: string;
688
+ quickSearchCounterTemplate: string;
689
+ quickSearchMatchCountAria: string;
657
690
  };
658
691
  sheetconfig: {
659
692
  delete: string;
@@ -418,6 +418,14 @@ declare const _default: {
418
418
  cannotDeleteColumnReadOnly: string;
419
419
  cannotInsertOnRowReadOnly: string;
420
420
  cannotInsertOnColumnReadOnly: string;
421
+ insertRowAboveOne: string;
422
+ insertRowsAboveN: string;
423
+ insertRowBelowOne: string;
424
+ insertRowsBelowN: string;
425
+ insertColumnLeftOne: string;
426
+ insertColumnsLeftN: string;
427
+ insertColumnRightOne: string;
428
+ insertColumnsRightN: string;
421
429
  rowOverLimit: string;
422
430
  columnOverLimit: string;
423
431
  };
@@ -502,6 +510,20 @@ declare const _default: {
502
510
  regexTextbox: string;
503
511
  wholeTextbox: string;
504
512
  distinguishTextbox: string;
513
+ formulaTextbox: string;
514
+ linkTextbox: string;
515
+ allSheetsTextbox: string;
516
+ searchScopeLabel: string;
517
+ searchScopeAllSheets: string;
518
+ searchScopeThisSheet: string;
519
+ searchScopeSpecificRange: string;
520
+ rangeInputPlaceholder: string;
521
+ rangeInputInvalidError: string;
522
+ rangeSelectOnSheetTitle: string;
523
+ selectDataRangeTitle: string;
524
+ replaceAllWithSkippedTip: string;
525
+ replaceAllSuccessInfotext: string;
526
+ replaceAllSuccessWithSkippedInfotext: string;
505
527
  allReplaceBtn: string;
506
528
  replaceBtn: string;
507
529
  allFindBtn: string;
@@ -529,6 +551,17 @@ declare const _default: {
529
551
  locationTiplessTwoRow: string;
530
552
  locationTiplessTwoColumn: string;
531
553
  locationTipNotFindCell: string;
554
+ quickSearchPlaceholder: string;
555
+ quickSearchDialogAria: string;
556
+ quickSearchMoreOptionsTitle: string;
557
+ quickSearchOpenFindReplaceAria: string;
558
+ quickSearchNextAria: string;
559
+ quickSearchPrevAria: string;
560
+ quickSearchCloseAria: string;
561
+ quickSearchNoResults: string;
562
+ quickSearchSearching: string;
563
+ quickSearchCounterTemplate: string;
564
+ quickSearchMatchCountAria: string;
532
565
  };
533
566
  sheetconfig: {
534
567
  delete: string;
@@ -435,6 +435,14 @@ declare const _default: {
435
435
  cannotDeleteColumnReadOnly: string;
436
436
  cannotInsertOnRowReadOnly: string;
437
437
  cannotInsertOnColumnReadOnly: string;
438
+ insertRowAboveOne: string;
439
+ insertRowsAboveN: string;
440
+ insertRowBelowOne: string;
441
+ insertRowsBelowN: string;
442
+ insertColumnLeftOne: string;
443
+ insertColumnsLeftN: string;
444
+ insertColumnRightOne: string;
445
+ insertColumnsRightN: string;
438
446
  rowOverLimit: string;
439
447
  columnOverLimit: string;
440
448
  conditionFormat: string;
@@ -520,6 +528,20 @@ declare const _default: {
520
528
  regexTextbox: string;
521
529
  wholeTextbox: string;
522
530
  distinguishTextbox: string;
531
+ formulaTextbox: string;
532
+ linkTextbox: string;
533
+ allSheetsTextbox: string;
534
+ searchScopeLabel: string;
535
+ searchScopeAllSheets: string;
536
+ searchScopeThisSheet: string;
537
+ searchScopeSpecificRange: string;
538
+ rangeInputPlaceholder: string;
539
+ rangeInputInvalidError: string;
540
+ rangeSelectOnSheetTitle: string;
541
+ selectDataRangeTitle: string;
542
+ replaceAllWithSkippedTip: string;
543
+ replaceAllSuccessInfotext: string;
544
+ replaceAllSuccessWithSkippedInfotext: string;
523
545
  allReplaceBtn: string;
524
546
  replaceBtn: string;
525
547
  allFindBtn: string;
@@ -547,6 +569,17 @@ declare const _default: {
547
569
  locationTiplessTwoRow: string;
548
570
  locationTiplessTwoColumn: string;
549
571
  locationTipNotFindCell: string;
572
+ quickSearchPlaceholder: string;
573
+ quickSearchDialogAria: string;
574
+ quickSearchMoreOptionsTitle: string;
575
+ quickSearchOpenFindReplaceAria: string;
576
+ quickSearchNextAria: string;
577
+ quickSearchPrevAria: string;
578
+ quickSearchCloseAria: string;
579
+ quickSearchNoResults: string;
580
+ quickSearchSearching: string;
581
+ quickSearchCounterTemplate: string;
582
+ quickSearchMatchCountAria: string;
550
583
  };
551
584
  sheetconfig: {
552
585
  delete: string;
@@ -581,6 +581,14 @@ declare const _default: {
581
581
  cannotDeleteColumnReadOnly: string;
582
582
  cannotInsertOnRowReadOnly: string;
583
583
  cannotInsertOnColumnReadOnly: string;
584
+ insertRowAboveOne: string;
585
+ insertRowsAboveN: string;
586
+ insertRowBelowOne: string;
587
+ insertRowsBelowN: string;
588
+ insertColumnLeftOne: string;
589
+ insertColumnsLeftN: string;
590
+ insertColumnRightOne: string;
591
+ insertColumnsRightN: string;
584
592
  rowOverLimit: string;
585
593
  columnOverLimit: string;
586
594
  };
@@ -665,6 +673,20 @@ declare const _default: {
665
673
  regexTextbox: string;
666
674
  wholeTextbox: string;
667
675
  distinguishTextbox: string;
676
+ formulaTextbox: string;
677
+ linkTextbox: string;
678
+ allSheetsTextbox: string;
679
+ searchScopeLabel: string;
680
+ searchScopeAllSheets: string;
681
+ searchScopeThisSheet: string;
682
+ searchScopeSpecificRange: string;
683
+ rangeInputPlaceholder: string;
684
+ rangeInputInvalidError: string;
685
+ rangeSelectOnSheetTitle: string;
686
+ selectDataRangeTitle: string;
687
+ replaceAllWithSkippedTip: string;
688
+ replaceAllSuccessInfotext: string;
689
+ replaceAllSuccessWithSkippedInfotext: string;
668
690
  allReplaceBtn: string;
669
691
  replaceBtn: string;
670
692
  allFindBtn: string;
@@ -692,6 +714,17 @@ declare const _default: {
692
714
  locationTiplessTwoRow: string;
693
715
  locationTiplessTwoColumn: string;
694
716
  locationTipNotFindCell: string;
717
+ quickSearchPlaceholder: string;
718
+ quickSearchDialogAria: string;
719
+ quickSearchMoreOptionsTitle: string;
720
+ quickSearchOpenFindReplaceAria: string;
721
+ quickSearchNextAria: string;
722
+ quickSearchPrevAria: string;
723
+ quickSearchCloseAria: string;
724
+ quickSearchNoResults: string;
725
+ quickSearchSearching: string;
726
+ quickSearchCounterTemplate: string;
727
+ quickSearchMatchCountAria: string;
695
728
  };
696
729
  sheetconfig: {
697
730
  delete: string;
@@ -1,6 +1,11 @@
1
1
  import { Context } from '../context';
2
2
  import { Cell, CellMatrix, Range, Selection, SingleRange } from '../types';
3
3
 
4
+ /**
5
+ * Recompute auto row height for one row from wrap/inline cells; updates cfg.rowlen and ctx.config.
6
+ * Used from updateCell and deleteSelectedCellText (bulk clear).
7
+ */
8
+ export declare function recalcAutoRowHeightForRow(ctx: Context, r: number, d: CellMatrix, canvas: CanvasRenderingContext2D | null | undefined): void;
4
9
  export declare function normalizedCellAttr(cell: Cell, attr: keyof Cell, defaultFontSize?: number): any;
5
10
  export declare function normalizedAttr(data: CellMatrix, r: number, c: number, attr: keyof Cell): any;
6
11
  export declare function getCellValue(r: number, c: number, data: CellMatrix, attr?: keyof Cell): any;
@@ -23,7 +23,9 @@ export declare class FormulaCache {
23
23
  rangedrag_row_start?: boolean;
24
24
  rangeSelectionActive?: boolean | null;
25
25
  keyboardRangeSelectionLock?: boolean;
26
- formulaEditorOwner?: "cell" | "fx" | null;
26
+ /** True after arrow/Shift+arrow moved `func_selectedrange` without updating yellow selection. */
27
+ formulaKeyboardRefSync?: boolean;
28
+ formulaEditorOwner?: 'cell' | 'fx' | null;
27
29
  functionRangeIndex?: number[];
28
30
  functionlistMap: any;
29
31
  execFunctionExist?: any[];
@@ -39,6 +41,13 @@ export declare function insertUpdateFunctionGroup(ctx: Context, r: number, c: nu
39
41
  export declare function execfunction(ctx: Context, txt: string, r: number, c: number, id?: string, calcChainSet?: Set<string>, isrefresh?: boolean, notInsertFunc?: boolean): any[];
40
42
  export declare function groupValuesRefresh(ctx: Context): void;
41
43
  export declare function execFunctionGroup(ctx: Context, origin_r: number, origin_c: number, value: any, id?: string, data?: any, isForce?: boolean): void;
44
+ /**
45
+ * Before the first `moveHighlightCell/Range(..., "rangeOfFormula")` while editing
46
+ * a formula, copy the current yellow selection into `func_selectedrange` so
47
+ * keyboard navigation updates only the blue formula overlay (like mouse drag),
48
+ * without resizing `luckysheet_select_save`.
49
+ */
50
+ export declare function seedFormulaFuncSelectedRangeFromLastSelection(ctx: Context): boolean;
42
51
  export declare function createFormulaRangeSelect(ctx: Context, select: {
43
52
  rangeIndex: number;
44
53
  } & Rect): void;
@@ -51,8 +60,8 @@ export declare function functionHTMLGenerate(txt: string): string;
51
60
  export declare function getLastFormulaRangeIndex($editor: HTMLDivElement): number | null;
52
61
  /** Range cell that contains the caret, if any (inside #luckysheet-rich-text-editor tree). */
53
62
  export declare function getFormulaRangeIndexAtCaret($editor: HTMLDivElement): number | null;
54
- export declare function setFormulaEditorOwner(ctx: Context, owner: "cell" | "fx" | null): void;
55
- export declare function getFormulaEditorOwner(ctx: Context): "cell" | "fx" | null;
63
+ export declare function setFormulaEditorOwner(ctx: Context, owner: 'cell' | 'fx' | null): void;
64
+ export declare function getFormulaEditorOwner(ctx: Context): 'cell' | 'fx' | null;
56
65
  /**
57
66
  * True when the formula text looks like a truncated A1-style range: LHS has a row
58
67
  * number but RHS after ":" is only column letters (e.g. =A1:A after deleting the
@@ -86,7 +95,7 @@ export declare function isLegacyFormulaRangeMode(ctx: Context): boolean;
86
95
  export declare function israngeseleciton(ctx: Context, istooltip?: boolean): boolean;
87
96
  export declare function isFormulaReferenceInputMode(ctx: Context): boolean;
88
97
  export declare function maybeRecoverDirtyRangeSelection(ctx: Context): boolean;
89
- export declare function functionStrChange(txt: string, type: string, rc: "row" | "col", orient: string | null, stindex: number, step: number): string;
98
+ export declare function functionStrChange(txt: string, type: string, rc: 'row' | 'col', orient: string | null, stindex: number, step: number): string;
90
99
  export declare function rangeSetValue(ctx: Context, cellInput: HTMLDivElement, selected: any, fxInput?: HTMLDivElement | null): void;
91
100
  export declare function onFormulaRangeDragEnd(ctx: Context): void;
92
101
  export declare function rangeDrag(ctx: Context, e: MouseEvent, cellInput: HTMLDivElement, scrollLeft: number, scrollTop: number, container: HTMLDivElement, fxInput?: HTMLDivElement | null): void;
@@ -3,12 +3,12 @@ export { normalizedCellAttr, normalizedAttr, getCellValue, setCellValue, getReal
3
3
  export { default as clipboard } from './clipboard';
4
4
  export { moveToEnd, getRangeRectsByCharacterOffset } from './cursor';
5
5
  export { update, is_date, valueShowEs } from './format';
6
- export { FormulaCache, groupValuesRefresh, setCaretPosition, getrangeseleciton, getFormulaEditorOwner, rangeHightlightselected, handleFormulaInput, israngeseleciton, createRangeHightlight, createFormulaRangeSelect, maybeRecoverDirtyRangeSelection, delFunctionGroup, functionHTMLGenerate, onFormulaRangeDragEnd, rangeDrag, rangeSetValue, remapFormulaReferencesByMap, getFormulaRangeIndexAtCaret, isCaretAtValidFormulaRangeInsertionPoint, isLegacyFormulaRangeMode, markRangeSelectionDirty, getFormulaRangeIndexForKeyboardSync, isFormulaReferenceInputMode, functionStrChange, setFormulaEditorOwner, getAllFunctionGroup, suppressFormulaRangeSelectionForInitialEdit, } from './formula';
6
+ export { FormulaCache, groupValuesRefresh, setCaretPosition, getrangeseleciton, getFormulaEditorOwner, rangeHightlightselected, handleFormulaInput, israngeseleciton, createRangeHightlight, createFormulaRangeSelect, maybeRecoverDirtyRangeSelection, delFunctionGroup, functionHTMLGenerate, onFormulaRangeDragEnd, rangeDrag, rangeSetValue, remapFormulaReferencesByMap, getFormulaRangeIndexAtCaret, isCaretAtValidFormulaRangeInsertionPoint, isLegacyFormulaRangeMode, markRangeSelectionDirty, getFormulaRangeIndexForKeyboardSync, isFormulaReferenceInputMode, seedFormulaFuncSelectedRangeFromLastSelection, functionStrChange, setFormulaEditorOwner, getAllFunctionGroup, execFunctionGroup, suppressFormulaRangeSelectionForInitialEdit, } from './formula';
7
7
  export { initFreeze } from './freeze';
8
8
  export { isInlineStringCell, getInlineStringNoStyle } from './inline-string';
9
9
  export { rowLocation, rowLocationByIndex, colLocation, colLocationByIndex, } from './location';
10
10
  export { insertRowCol, deleteRowCol, hideSelected, showSelected, isShowHidenCR, hideCRCount, } from './rowcol';
11
- export { scrollToHighlightCell, seletedHighlistByindex, selectTitlesMap, selectTitlesRange, normalizeSelection, syncPrimaryCellActiveFromSelection, setPrimaryCellActive, advancePrimaryCellInLastMultiSelection, moveHighlightCell, deleteSelectedCellText, selectAll, fixRowStyleOverflowInFreeze, fixColumnStyleOverflowInFreeze, calcSelectionInfo, rangeValueToHtml, } from './selection';
11
+ export { scrollToHighlightCell, seletedHighlistByindex, selectTitlesMap, selectTitlesRange, normalizeSelection, syncPrimaryCellActiveFromSelection, setPrimaryCellActive, advancePrimaryCellInLastMultiSelection, snapSheetSelectionFocusToCellPreserveMultiRange, moveHighlightCell, deleteSelectedCellText, selectAll, fixRowStyleOverflowInFreeze, fixColumnStyleOverflowInFreeze, calcSelectionInfo, rangeValueToHtml, } from './selection';
12
12
  export { addSheet, deleteSheet, editSheetName, changeSheet, updateSheet, } from './sheet';
13
13
  export { updateFormat, autoSelectionFormula, handleBold, handleItalic, handleStrikeThrough, handleUnderline, handleHorizontalAlign, handleVerticalAlign, handleTextColor, handleTextBackground, handleBorder, handleMerge, handleSort, handleFreeze, handleTextSize, handleSum, handleLink, toolbarItemClickHandler, toolbarItemSelectedFunc, updateFormatCell, cancelPaintModel, } from './toolbar';
14
14
  export { handleScreenShot } from './screenshot';
@@ -17,7 +17,8 @@ export { showImgChooser, insertImage, removeActiveImage, cancelActiveImgItem, on
17
17
  export { createDropCellRange, dropCellCache, getTypeItemHide, updateDropCell, } from './dropCell';
18
18
  export { mergeCells } from './merge';
19
19
  export { sortSelection, spillSortResult } from './sort';
20
- export { searchAll, searchNext, replace, replaceAll } from './searchReplace';
20
+ export { searchAll, searchNext, replace, replaceAll, getSearchIndexArr, getSearchIndexArrAsync, getFindRangeOnCurrentSheet, getQuickSearchIndexArr, getQuickSearchHiddenConfig, expandCellRectForMerge, shouldQuickSearchUseAsync, runQuickSearchIndexArrAsync, QUICK_SEARCH_ASYNC_ROW_THRESHOLD, parseRangeText, } from './searchReplace';
21
+ export type { CheckModes, HyperlinkMap, FindSearchScope, SearchHiddenConfig, SearchNextResult, ReplaceAllResult, } from './searchReplace';
21
22
  export { getCellRowColumn, getCellHyperlink, saveHyperlink, removeHyperlink, showLinkCard, goToLink, isLinkValid, } from './hyperlink';
22
23
  export { createFilterOptions, clearFilter, createFilter, getFilterColumnValues, getFilterColumnColors, orderbydatafiler, saveFilter, } from './filter';
23
24
  export type { FilterDate, FilterValue, FilterColor } from './filter';
@@ -34,7 +35,7 @@ export { jfrefreshgrid } from './refresh';
34
35
  export { sanitizeDuneUrl, insertDuneChart, onIframeMoveStart, onIframeResizeStart, onIframeMove, onIframeMoveEnd, onIframeResize, onIframeResizeEnd, } from './iframe';
35
36
  export { setCellError, clearCellError, overShowError, } from './error-state-helpers';
36
37
  export { checkCellIsLocked } from './protection';
37
- export { isdatatypemulti, diff, isdatetime, isRealNull, isRealNum, } from './validation';
38
+ export { isdatatypemulti, diff, isdatetime, isRealNull, isRealNum, isNumericCellType, } from './validation';
38
39
  export { iscelldata, getcellrange, execfunction, insertUpdateFunctionGroup, functionCopy, } from './formula';
39
40
  export { checkCF, getComputeMap } from './ConditionFormat';
40
41
  export { getdatabyselection, getQKBorder } from './cell';
@@ -20,12 +20,12 @@ export declare const inlineStyleAffectAttribute: {
20
20
  fc: number;
21
21
  };
22
22
  export declare const inlineStyleAffectCssName: {
23
- "font-weight": number;
24
- "font-style": number;
25
- "font-family": number;
26
- "text-decoration": number;
27
- "border-bottom": number;
28
- "font-size": number;
23
+ 'font-weight': number;
24
+ 'font-style': number;
25
+ 'font-family': number;
26
+ 'text-decoration': number;
27
+ 'border-bottom': number;
28
+ 'font-size': number;
29
29
  color: number;
30
30
  };
31
31
  export declare function isInlineStringCell(cell: any): boolean;
@@ -10,14 +10,18 @@ import { Context } from '../context';
10
10
  * @returns
11
11
  */
12
12
  export declare function insertRowCol(ctx: Context, op: {
13
- type: "row" | "column";
13
+ type: 'row' | 'column';
14
14
  index: number;
15
15
  count: number;
16
- direction: "lefttop" | "rightbottom";
16
+ direction: 'lefttop' | 'rightbottom';
17
17
  id: string;
18
+ /** Pre-insert row index for each inserted row (length must equal count). */
19
+ templateSourceRows?: number[];
20
+ /** Pre-insert column index for each inserted column (length must equal count). */
21
+ templateSourceColumns?: number[];
18
22
  }, changeSelection?: boolean): void;
19
23
  export declare function deleteRowCol(ctx: Context, op: {
20
- type: "row" | "column";
24
+ type: 'row' | 'column';
21
25
  start: number;
22
26
  end: number;
23
27
  id?: string;