@fileverse-dev/dsheet 2.1.0-shortcut-2 → 2.1.1-remove-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.d.ts CHANGED
@@ -15,5 +15,5 @@ export { handleExportToCSV } from './editor/utils/csv-export';
15
15
  export { handleExportToJSON } from './editor/utils/json-export';
16
16
  export { useXLSXImport } from './editor/hooks/use-xlsx-import';
17
17
  export * as FortuneCore from './sheet-engine/core';
18
- export { createFilter, clearFilter, handleSort, handleCopy, handlePasteByClick, removeActiveImage, jfrefreshgrid, deleteSelectedCellText, deleteRowCol, getFlowdata, updateFormat, handleTextSize, handleHorizontalAlign, handleVerticalAlign, toolbarItemClickHandler, getSheetIndex, handleMerge, clearSelectedCellFormat, clearColumnsCellsFormat, clearRowsCellsFormat, handleFreeze, insertRowCol, showImgChooser, handleLink, api, describeMatchedShortcut, isFormulaListShortcut, isOpenShortcutsModalShortcut, isZoomInShortcut, isZoomOutShortcut, } from './sheet-engine/core';
18
+ export { createFilter, clearFilter, handleSort, getRemoveDuplicatesPreview, removeDuplicates, getRemoveDuplicatesErrorMessage, handleCopy, handlePasteByClick, removeActiveImage, jfrefreshgrid, deleteSelectedCellText, deleteRowCol, getFlowdata, updateFormat, handleTextSize, handleHorizontalAlign, handleVerticalAlign, toolbarItemClickHandler, getSheetIndex, handleMerge, clearSelectedCellFormat, clearColumnsCellsFormat, clearRowsCellsFormat, handleFreeze, insertRowCol, showImgChooser, handleLink, api, describeMatchedShortcut, isBrowserZoomShortcut, isFormulaListShortcut, isOpenShortcutsModalShortcut, } from './sheet-engine/core';
19
19
  export type { PatchOptions } from './sheet-engine/core';
package/dist/index.es.js CHANGED
@@ -1,51 +1,53 @@
1
- import { S as s, a as o, i as t, T as l, b as r, d as n, e as d, f as S, h, g as c, j as i, k as m, l as u, n as C, o as p, p as E, q as F, r as x, s as g, t as f, u as R, v as L, w as b, x as A, z as I, A as T, B as w, C as V, D as k, E as M } from "./index-llRXqdgK.js";
2
- import { bP as O, bQ as P, bR as X, bV as _, bg as v, e as y, f as D, h as U, a as j, cf as q, aq as B, cm as G } from "./executeStringFunction-tdvZ0KTi.js";
3
- import { FLVURL as Z } from "@fileverse-dev/formulajs";
4
- import { E as K, S as N } from "./constants-yStXQJiK.js";
1
+ import { S as s, a as o, i as t, T as r, b as l, d as n, e as d, f as S, g as h, h as i, j as c, k as m, l as p, n as u, o as C, p as E, q as F, r as g, s as x, t as R, u as f, v as L, w, x as A, z as T, A as b, B as v, C as I, D, E as M, F as k, G as V } from "./index-DzIdZpns.js";
2
+ import { bQ as P, bR as X, bS as _, ar as y, bh as B, e as G, f as O, h as U, a as j, cf as q, aq as H, cm as J } from "./executeStringFunction-CGbxAbbw.js";
3
+ import { FLVURL as N } from "@fileverse-dev/formulajs";
4
+ import { E as Y, S as Z } from "./constants-yStXQJiK.js";
5
5
  export {
6
6
  s as DSheetEditor,
7
7
  o as DSheetSkeleton,
8
- K as ERROR_MESSAGES_FLAG,
9
- Z as FLVURL,
8
+ Y as ERROR_MESSAGES_FLAG,
9
+ N as FLVURL,
10
10
  t as FortuneCore,
11
- N as SERVICES_API_KEY,
12
- l as TEMPLATES,
13
- r as api,
14
- O as clearColumnsCellsFormat,
11
+ Z as SERVICES_API_KEY,
12
+ r as TEMPLATES,
13
+ l as api,
14
+ P as clearColumnsCellsFormat,
15
15
  n as clearFilter,
16
- P as clearRowsCellsFormat,
17
- X as clearSelectedCellFormat,
16
+ X as clearRowsCellsFormat,
17
+ _ as clearSelectedCellFormat,
18
18
  d as createFilter,
19
- _ as deleteRowCol,
20
- v as deleteSelectedCellText,
19
+ y as deleteRowCol,
20
+ B as deleteSelectedCellText,
21
21
  S as describeMatchedShortcut,
22
- y as executeStringFunction,
23
- D as formulaResponseUiSync,
22
+ G as executeStringFunction,
23
+ O as formulaResponseUiSync,
24
24
  U as getFlowdata,
25
+ h as getRemoveDuplicatesErrorMessage,
26
+ i as getRemoveDuplicatesPreview,
25
27
  j as getSheetIndex,
26
- h as handleCSVUpload,
27
- c as handleCopy,
28
- i as handleExportToCSV,
29
- m as handleExportToJSON,
30
- u as handleExportToXLSX,
31
- C as handleFreeze,
32
- p as handleHorizontalAlign,
33
- E as handleLink,
34
- F as handleMerge,
35
- x as handlePasteByClick,
36
- g as handleSort,
37
- f as handleTextSize,
38
- R as handleVerticalAlign,
28
+ c as handleCSVUpload,
29
+ m as handleCopy,
30
+ p as handleExportToCSV,
31
+ u as handleExportToJSON,
32
+ C as handleExportToXLSX,
33
+ E as handleFreeze,
34
+ F as handleHorizontalAlign,
35
+ g as handleLink,
36
+ x as handleMerge,
37
+ R as handlePasteByClick,
38
+ f as handleSort,
39
+ L as handleTextSize,
40
+ w as handleVerticalAlign,
39
41
  q as insertRowCol,
40
- L as isFormulaListShortcut,
42
+ A as isBrowserZoomShortcut,
43
+ T as isFormulaListShortcut,
41
44
  b as isOpenShortcutsModalShortcut,
42
- A as isZoomInShortcut,
43
- I as isZoomOutShortcut,
44
- B as jfrefreshgrid,
45
- G as loadLocale,
46
- T as removeActiveImage,
47
- w as showImgChooser,
48
- V as toolbarItemClickHandler,
45
+ H as jfrefreshgrid,
46
+ J as loadLocale,
47
+ v as removeActiveImage,
48
+ I as removeDuplicates,
49
+ D as showImgChooser,
50
+ M as toolbarItemClickHandler,
49
51
  k as updateFormat,
50
- M as useXLSXImport
52
+ V as useXLSXImport
51
53
  };
@@ -1,5 +1,5 @@
1
1
  export { handleCopy } from './copy';
2
2
  export { handleGlobalKeyDown } from './keyboard';
3
- export { describeMatchedShortcut, isOpenShortcutsModalShortcut, isFormulaListShortcut, isZoomInShortcut, isZoomOutShortcut, } from './keyboard-shortcut-utils';
3
+ export { describeMatchedShortcut, isBrowserZoomShortcut, isOpenShortcutsModalShortcut, isFormulaListShortcut, } from './keyboard-shortcut-utils';
4
4
  export { fixPositionOnFrozenCells, handleCellAreaMouseDown, handleCellAreaDoubleClick, handleContextMenu, mouseRender, handleOverlayMouseMove, handleOverlayMouseUp, handleRowHeaderMouseDown, handleColumnHeaderMouseDown, handleColSizeHandleMouseDown, handleColSizeHandleDoubleClick, handleRowSizeHandleMouseDown, handleColFreezeHandleMouseDown, handleRowFreezeHandleMouseDown, } from './mouse';
5
5
  export { handlePaste, handlePasteByClick } from './paste';
@@ -40,18 +40,23 @@ export declare function isSelectAllShortcut(e: KeyboardEvent): boolean;
40
40
  */
41
41
  export declare function isNumberFormatModifier(e: KeyboardEvent): boolean;
42
42
  export declare function isDigitFormatKey(e: KeyboardEvent, digit: string): boolean;
43
+ /** Ctrl/Cmd+Shift+1–6 — number format (TEC-2311 §8). */
44
+ export declare function isNumberFormatShortcut(e: KeyboardEvent): boolean;
43
45
  /**
44
- * Formula list — Ctrl/Cmd+) (Google Sheets).
45
- * US: Shift+0 → ")"; AZERTY: Shift+5 → ")" (code Digit5, often Equal-adjacent noise).
46
+ * Formula list — Ctrl/Cmd+Shift+) (Google Sheets).
47
+ * US: Shift+0 → ")"; AZERTY: Shift+5 → ")".
46
48
  */
47
49
  export declare function isFormulaListShortcut(e: KeyboardEvent): boolean;
48
50
  export declare function isFindShortcut(e: KeyboardEvent): boolean;
49
51
  export declare function isFindReplaceShortcut(e: KeyboardEvent): boolean;
50
- export declare function isZoomInShortcut(e: KeyboardEvent): boolean;
51
- export declare function isZoomOutShortcut(e: KeyboardEvent): boolean;
52
52
  /**
53
- * Open shortcuts modal Ctrl/Cmd+/ (Google Sheets).
54
- * AZERTY Mac: `/` is Shift+7; must not overlap zoom (+/=) or formula list `)`.
53
+ * Browser page zoom (Cmd/Ctrl + +/−). Never intercept — sheet has no keyboard zoom.
54
+ * Match by physical `code` and by AZERTY-remapped `key` values.
55
+ */
56
+ export declare function isBrowserZoomShortcut(e: KeyboardEvent): boolean;
57
+ /**
58
+ * Open shortcuts modal.
59
+ * Win: Ctrl+/. Mac/AZERTY: Option+/ or Option+: (WY). US fallback: Cmd+/.
55
60
  */
56
61
  export declare function isOpenShortcutsModalShortcut(e: KeyboardEvent): boolean;
57
62
  /** Label which engine shortcut would match (best-effort; for host debug tooling). */
@@ -5,12 +5,13 @@ export { defaultContext, getFlowdata, ensureSheetIndex, initSheetIndex, updateCo
5
5
  export type { Context } from './context';
6
6
  export { defaultSettings } from './settings';
7
7
  export type { Settings, Hooks, DateBaseLocale } from './settings';
8
- export { handleCopy, handleGlobalKeyDown, handlePaste, handlePasteByClick, fixPositionOnFrozenCells, handleCellAreaMouseDown, handleCellAreaDoubleClick, handleContextMenu, mouseRender, handleOverlayMouseMove, handleOverlayMouseUp, handleRowHeaderMouseDown, handleColumnHeaderMouseDown, handleColSizeHandleMouseDown, handleColSizeHandleDoubleClick, handleRowSizeHandleMouseDown, handleColFreezeHandleMouseDown, handleRowFreezeHandleMouseDown, describeMatchedShortcut, isOpenShortcutsModalShortcut, isFormulaListShortcut, isZoomInShortcut, isZoomOutShortcut, } from './events';
8
+ export { handleCopy, handleGlobalKeyDown, handlePaste, handlePasteByClick, fixPositionOnFrozenCells, handleCellAreaMouseDown, handleCellAreaDoubleClick, handleContextMenu, mouseRender, handleOverlayMouseMove, handleOverlayMouseUp, handleRowHeaderMouseDown, handleColumnHeaderMouseDown, handleColSizeHandleMouseDown, handleColSizeHandleDoubleClick, handleRowSizeHandleMouseDown, handleColFreezeHandleMouseDown, handleRowFreezeHandleMouseDown, describeMatchedShortcut, isBrowserZoomShortcut, isOpenShortcutsModalShortcut, isFormulaListShortcut, } from './events';
9
9
  export * from './locale';
10
- export { getBorderInfoComputeRange, getBorderInfoCompute, normalizedCellAttr, normalizedAttr, getCellValue, setCellValue, getRealCellValue, mergeBorder, cancelNormalSelected, updateCell, getRangetxt, getRangeByTxt, isValidRangeText, getInlineStringHTML, applyLinkToSelection, getHyperlinksFromInlineSegments, getUniformLinkFromWindowSelectionInEditor, getHyperlinkAtCaretInContentEditable, getStyleByCell, clearSelectedCellFormat, clearRowsCellsFormat, clearColumnsCellsFormat, clipboard, moveToEnd, getRangeRectsByCharacterOffset, getDateBaseLocale, getCanonicalDateEditFormat, getDateEditFormatForCell, isUsDateBaseLocale, normalizeDateBaseLocale, shouldPreserveDateFormatForEdit, setDateBaseLocale, update, is_date, valueShowEs, isTypedCurrencyDisplayFormat, isCurrencyLikeNumberFormat, buildFiatCurrencyFormat, quoteSsfLiteral, 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, getFilterHiddenRowsUnionFromFilterMap, getFilterHiddenRowsUnion, ensureManualHiddenInitialized, rebuildRowHiddenUnion, scrollToHighlightCell, selectTitlesMap, selectTitlesRange, defaultLuckysheetSelectRanges, normalizeSelection, syncPrimaryCellActiveFromSelection, selectionIsExactlyOneMergeBlock, 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, mergeSelectionHasValues, handleSort, handleFreeze, handleTextSize, handleSum, handleLink, captureLinkEditorOpenSnapshot, isHyperlinkCreationBlocked, toolbarItemClickHandler, toolbarItemSelectedFunc, handleScreenShot, insertImage, showImgChooser, drawArrow, setEditingComment, removeEditingComment, removeOverShowComment, newComment, editComment, deleteComment, showComments, showHideComment, showHideAllComments, onCommentBoxMoveStart, removeActiveImage, cancelActiveImgItem, onImageMoveStart, onImageResizeStart, createDropCellRange, sortSelection, sortSheetBySelectedColumn, searchAll, searchNext, replace, replaceAll, replaceAllScoped, getSearchIndexArr, getSearchIndexArrAsync, getFindRangeOnCurrentSheet, getQuickSearchIndexArr, getQuickSearchHiddenConfig, getCellHyperlinks, getHyperlinkDisplayTextInCell, getInlineLinkPlainRange, getUniformLinkCoveringPlainRange, getUniformLinkAtPlainOffset, removeHyperlinkForLink, updateHyperlinkForLink, syncLinkCardAfterHyperlinkChange, expandCellRectForMerge, shouldQuickSearchUseAsync, runQuickSearchIndexArrAsync, QUICK_SEARCH_ASYNC_ROW_THRESHOLD, parseRangeText, getCellRowColumn, getCellHyperlink, saveHyperlink, removeHyperlink, showLinkCard, goToLink, isLinkValid, createFilterOptions, clearFilter, clearFilterForColumn, toggleViewerFilter, createFilter, applySheetFilterState, getFilterColumnValues, getFilterColumnColors, orderbydatafiler, saveFilter, onCellsMoveStart, cfSplitRange, updateMoreCell, getRegStr, getDataArr, applyLocation, getOptionValue, getSelectRange, getDropdownList, setDropdownValue, confirmMessage, setConditionRules, CF_DATE_DEFAULT_FORMAT, parseCfDateConditionForUi, formatCfDatePresetSnapshot, parseDdMmYyyyToSerial, handleOverlayTouchStart, handleOverlayTouchEnd, MAX_ZOOM_RATIO, MIN_ZOOM_RATIO, handleKeydownForZoom, jfrefreshgrid, sanitizeDuneUrl, insertDuneChart, onIframeMoveStart, onIframeResizeStart, onIframeMove, onIframeMoveEnd, onIframeResize, onIframeResizeEnd, setCellError, clearCellError, detectDateFormat, isdatatypemulti, diff, isdatetime, isRealNull, isRealNum, isNumericCellType, 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, isValidRangeText, getInlineStringHTML, applyLinkToSelection, getHyperlinksFromInlineSegments, getUniformLinkFromWindowSelectionInEditor, getHyperlinkAtCaretInContentEditable, getStyleByCell, clearSelectedCellFormat, clearRowsCellsFormat, clearColumnsCellsFormat, clipboard, moveToEnd, getRangeRectsByCharacterOffset, getDateBaseLocale, getCanonicalDateEditFormat, getDateEditFormatForCell, isUsDateBaseLocale, normalizeDateBaseLocale, shouldPreserveDateFormatForEdit, setDateBaseLocale, update, is_date, valueShowEs, isTypedCurrencyDisplayFormat, isCurrencyLikeNumberFormat, buildFiatCurrencyFormat, quoteSsfLiteral, 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, getFilterHiddenRowsUnionFromFilterMap, getFilterHiddenRowsUnion, ensureManualHiddenInitialized, rebuildRowHiddenUnion, scrollToHighlightCell, selectTitlesMap, selectTitlesRange, defaultLuckysheetSelectRanges, normalizeSelection, syncPrimaryCellActiveFromSelection, selectionIsExactlyOneMergeBlock, 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, mergeSelectionHasValues, handleSort, getRemoveDuplicatesPreview, removeDuplicates, getRemoveDuplicatesErrorMessage, handleFreeze, handleTextSize, handleSum, handleLink, captureLinkEditorOpenSnapshot, isHyperlinkCreationBlocked, toolbarItemClickHandler, toolbarItemSelectedFunc, handleScreenShot, insertImage, showImgChooser, drawArrow, setEditingComment, removeEditingComment, removeOverShowComment, newComment, editComment, deleteComment, showComments, showHideComment, showHideAllComments, onCommentBoxMoveStart, removeActiveImage, cancelActiveImgItem, onImageMoveStart, onImageResizeStart, createDropCellRange, sortSelection, sortSheetBySelectedColumn, searchAll, searchNext, replace, replaceAll, replaceAllScoped, getSearchIndexArr, getSearchIndexArrAsync, getFindRangeOnCurrentSheet, getQuickSearchIndexArr, getQuickSearchHiddenConfig, getCellHyperlinks, getHyperlinkDisplayTextInCell, getInlineLinkPlainRange, getUniformLinkCoveringPlainRange, getUniformLinkAtPlainOffset, removeHyperlinkForLink, updateHyperlinkForLink, syncLinkCardAfterHyperlinkChange, expandCellRectForMerge, shouldQuickSearchUseAsync, runQuickSearchIndexArrAsync, QUICK_SEARCH_ASYNC_ROW_THRESHOLD, parseRangeText, getCellRowColumn, getCellHyperlink, saveHyperlink, removeHyperlink, showLinkCard, goToLink, isLinkValid, createFilterOptions, clearFilter, clearFilterForColumn, toggleViewerFilter, createFilter, applySheetFilterState, getFilterColumnValues, getFilterColumnColors, orderbydatafiler, saveFilter, onCellsMoveStart, cfSplitRange, updateMoreCell, getRegStr, getDataArr, applyLocation, getOptionValue, getSelectRange, getDropdownList, setDropdownValue, confirmMessage, setConditionRules, CF_DATE_DEFAULT_FORMAT, parseCfDateConditionForUi, formatCfDatePresetSnapshot, parseDdMmYyyyToSerial, handleOverlayTouchStart, handleOverlayTouchEnd, MAX_ZOOM_RATIO, MIN_ZOOM_RATIO, jfrefreshgrid, sanitizeDuneUrl, insertDuneChart, onIframeMoveStart, onIframeResizeStart, onIframeMove, onIframeMoveEnd, onIframeResize, onIframeResizeEnd, setCellError, clearCellError, detectDateFormat, 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, HyperlinkEntry, Selection, Presence, Sheet, GlobalCache, SingleRange, Range, SearchResult, LinkCardProps, LiveQueryData, Freezen, } from './types';
15
+ export type { RemoveDuplicatesColumnOption, RemoveDuplicatesError, RemoveDuplicatesOptions, RemoveDuplicatesPreview, RemoveDuplicatesResult, } from './modules';
15
16
  export type { CheckModes, HyperlinkMap, FindSearchScope, ReplaceScope, SearchHiddenConfig, SearchNextResult, ReplaceAllResult, } from './modules/searchReplace';
16
17
  export { cellFadeAnimator, markCellChanged } from './animate';
@@ -910,6 +910,19 @@ declare const _default: {
910
910
  allowOptionText: string;
911
911
  selectCategory: string;
912
912
  };
913
+ removeDuplicates: {
914
+ title: string;
915
+ dataHasHeaderRow: string;
916
+ columnsToAnalyze: string;
917
+ selectAll: string;
918
+ removeDuplicates: string;
919
+ result: string;
920
+ noMulti: string;
921
+ noMerge: string;
922
+ noColumns: string;
923
+ noSelection: string;
924
+ readOnly: string;
925
+ };
913
926
  drag: {
914
927
  noMerge: string;
915
928
  affectPivot: string;
@@ -18,6 +18,8 @@ export { drawArrow, setEditingComment, removeEditingComment, newComment, editCom
18
18
  export { showImgChooser, insertImage, removeActiveImage, cancelActiveImgItem, onImageMoveStart, onImageResizeStart, onImageMove, onImageMoveEnd, onImageResize, onImageResizeEnd, } from './image';
19
19
  export { createDropCellRange, dropCellCache, getTypeItemHide, updateDropCell, } from './dropCell';
20
20
  export { mergeCells, mergeSelectionHasValues } from './merge';
21
+ export { getRemoveDuplicatesPreview, removeDuplicates, getRemoveDuplicatesErrorMessage, } from './removeDuplicates';
22
+ export type { RemoveDuplicatesColumnOption, RemoveDuplicatesError, RemoveDuplicatesOptions, RemoveDuplicatesPreview, RemoveDuplicatesResult, } from './removeDuplicates';
21
23
  export { sortSelection, sortSheetBySelectedColumn, spillSortResult, } from './sort';
22
24
  export { searchAll, searchNext, replace, replaceAll, replaceAllScoped, getSearchIndexArr, getSearchIndexArrAsync, getFindRangeOnCurrentSheet, getQuickSearchIndexArr, getQuickSearchHiddenConfig, expandCellRectForMerge, shouldQuickSearchUseAsync, runQuickSearchIndexArrAsync, QUICK_SEARCH_ASYNC_ROW_THRESHOLD, parseRangeText, } from './searchReplace';
23
25
  export type { CheckModes, HyperlinkMap, FindSearchScope, ReplaceScope, SearchHiddenConfig, SearchNextResult, ReplaceAllResult, } from './searchReplace';
@@ -32,7 +34,7 @@ export { applyLocation, getOptionValue, getSelectRange, } from './locationCondit
32
34
  export { getDropdownList, setDropdownValue, confirmMessage, cellFocus, validateCellData, } from './dataVerification';
33
35
  export { setConditionRules, CF_DATE_DEFAULT_FORMAT, parseCfDateConditionForUi, formatCfDatePresetSnapshot, parseDdMmYyyyToSerial, } from './ConditionFormat';
34
36
  export { handleOverlayTouchStart, handleOverlayTouchEnd } from './mobile';
35
- export { MAX_ZOOM_RATIO, MIN_ZOOM_RATIO, handleKeydownForZoom } from './zoom';
37
+ export { MAX_ZOOM_RATIO, MIN_ZOOM_RATIO } from './zoom';
36
38
  export { jfrefreshgrid } from './refresh';
37
39
  export { sanitizeDuneUrl, insertDuneChart, onIframeMoveStart, onIframeResizeStart, onIframeMove, onIframeMoveEnd, onIframeResize, onIframeResizeEnd, } from './iframe';
38
40
  export { setCellError, clearCellError, overShowError, } from './error-state-helpers';
@@ -0,0 +1,29 @@
1
+ import { Context, Selection } from '..';
2
+
3
+ export type RemoveDuplicatesError = 'readOnly' | 'noSelection' | 'noMulti' | 'noMerge' | 'noColumns' | 'cannotDeleteAllRow';
4
+ export type RemoveDuplicatesColumnOption = {
5
+ column: number;
6
+ label: string;
7
+ checked: boolean;
8
+ };
9
+ export type RemoveDuplicatesPreview = {
10
+ range: Selection;
11
+ columns: RemoveDuplicatesColumnOption[];
12
+ };
13
+ export type RemoveDuplicatesOptions = {
14
+ hasHeaderRow: boolean;
15
+ analyzedColumns: number[];
16
+ /** Range captured when the dialog opened; avoids selection drift. */
17
+ range?: Selection;
18
+ };
19
+ export type RemoveDuplicatesResult = {
20
+ removedCount: number;
21
+ remainingCount: number;
22
+ error?: RemoveDuplicatesError;
23
+ };
24
+ export declare function getRemoveDuplicatesPreview(ctx: Context): {
25
+ preview?: RemoveDuplicatesPreview;
26
+ error?: RemoveDuplicatesError;
27
+ };
28
+ export declare function removeDuplicates(ctx: Context, options: RemoveDuplicatesOptions): RemoveDuplicatesResult;
29
+ export declare function getRemoveDuplicatesErrorMessage(ctx: Context, error: RemoveDuplicatesError): string;
@@ -1,4 +1,2 @@
1
1
  export declare const MAX_ZOOM_RATIO = 4;
2
2
  export declare const MIN_ZOOM_RATIO = 0.1;
3
- export declare function handleKeydownForZoom(ev: KeyboardEvent, currentZoom: number): number;
4
- export declare function applyZoomStep(currentZoom: number, direction: 'in' | 'out' | 'reset'): number;
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+ import { RemoveDuplicatesPreview } from '../../../core';
3
+
4
+ type RemoveDuplicatesDialogProps = {
5
+ initialPreview: RemoveDuplicatesPreview;
6
+ onClose: () => void;
7
+ };
8
+ declare const RemoveDuplicatesDialog: React.FC<RemoveDuplicatesDialogProps>;
9
+ export declare function useRemoveDuplicatesDialog(): {
10
+ openRemoveDuplicatesDialog: () => void;
11
+ };
12
+ export default RemoveDuplicatesDialog;
@@ -1,6 +1,6 @@
1
- import { g as Ue } from "./executeStringFunction-tdvZ0KTi.js";
1
+ import { g as Ue } from "./executeStringFunction-CGbxAbbw.js";
2
2
  import * as qe from "yjs";
3
- import { m as Xe, y as Ze } from "./index-llRXqdgK.js";
3
+ import { m as Xe, y as Ze } from "./index-DzIdZpns.js";
4
4
  import { n as Je } from "./xlsx-hyperlink-inline-DzewAypN.js";
5
5
  import { toast as Be } from "@fileverse/ui";
6
6
  var We = { exports: {} };
@@ -2,8 +2,8 @@ import { utils as dt, write as Nt } from "xlsx-js-style";
2
2
  import { Workbook as Pt } from "exceljs";
3
3
  import { toast as Ut } from "@fileverse/ui";
4
4
  import { addFortuneImagesToWorksheet as Lt } from "./xlsx-image-utils-Cvg0qxRA.js";
5
- import { g as jt, c as xt } from "./executeStringFunction-tdvZ0KTi.js";
6
- import { c as Ct } from "./index-llRXqdgK.js";
5
+ import { g as jt, c as xt } from "./executeStringFunction-CGbxAbbw.js";
6
+ import { c as Ct } from "./index-DzIdZpns.js";
7
7
  import { c as zt, g as Wt } from "./xlsx-hyperlink-inline-DzewAypN.js";
8
8
  const Mt = {
9
9
  1: "thin",
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@fileverse-dev/dsheet",
3
3
  "private": false,
4
4
  "description": "DSheet",
5
- "version": "2.1.0-shortcut-2",
5
+ "version": "2.1.1-remove-1",
6
6
  "main": "dist/index.es.js",
7
7
  "module": "dist/index.es.js",
8
8
  "exports": {