@fileverse-dev/dsheet 2.0.36-shortcut-2 → 2.0.36-shortcut-3
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/{constants-CnhOvijG.js → constants-yStXQJiK.js} +35 -14
- package/dist/constants.d.ts +4 -0
- package/dist/constants.js +6 -3
- package/dist/editor/components/collab-status-chip.d.ts +8 -0
- package/dist/editor/contexts/editor-context.d.ts +15 -5
- package/dist/editor/dsheet-editor.d.ts +1 -1
- package/dist/editor/hooks/use-collab-awareness.d.ts +17 -0
- package/dist/editor/hooks/use-editor-data.d.ts +2 -1
- package/dist/editor/hooks/use-editor-sync.d.ts +9 -6
- package/dist/editor/types.d.ts +2 -2
- package/dist/editor/utils/after-update-cell.d.ts +12 -0
- package/dist/editor/utils/formula-ui-sync.d.ts +3 -1
- package/dist/editor/utils/remote-apply-guard.d.ts +19 -0
- package/dist/{executeStringFunction-6r6Tl4Z6.js → executeStringFunction-tdvZ0KTi.js} +4646 -4612
- package/dist/formula.js +1 -1
- package/dist/index-D_IxoHMJ.js +52167 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.es.js +46 -41
- package/dist/sheet-engine/core/api/cell.d.ts +21 -0
- package/dist/sheet-engine/core/events/index.d.ts +1 -0
- package/dist/sheet-engine/core/events/keyboard-shortcut-utils.d.ts +61 -0
- package/dist/sheet-engine/core/index.d.ts +2 -2
- package/dist/sheet-engine/core/modules/filter.d.ts +13 -0
- package/dist/sheet-engine/core/modules/index.d.ts +2 -2
- package/dist/sheet-engine/core/modules/selection.d.ts +1 -0
- package/dist/sheet-engine/core/modules/zoom.d.ts +0 -1
- package/dist/sheet-engine/core/settings.d.ts +3 -0
- package/dist/sheet-engine/core/types.d.ts +1 -0
- package/dist/sheet-engine/react/components/Workbook/api.d.ts +23 -0
- package/dist/sheet-engine/react/components/Workbook/index.d.ts +15 -0
- package/dist/style.css +1 -1
- package/dist/sync-local/SyncManager.d.ts +69 -0
- package/dist/sync-local/collabStateMachine.d.ts +23 -0
- package/dist/sync-local/crypto/index.d.ts +6 -0
- package/dist/sync-local/index.d.ts +3 -0
- package/dist/sync-local/socketClient.d.ts +68 -0
- package/dist/sync-local/types/index.d.ts +212 -0
- package/dist/sync-local/useSyncManager.d.ts +12 -0
- package/dist/sync-local/utils/createAwarenessUpdateHandler.d.ts +8 -0
- package/dist/sync-local/utils/objectToFile.d.ts +1 -0
- package/dist/{use-xlsx-import-impl-CKG0a1fz.js → use-xlsx-import-impl-AI2QDZt1.js} +2 -2
- package/dist/{xlsx-export-impl-BLKOiPKJ.js → xlsx-export-impl-Buly1jC6.js} +293 -295
- package/package.json +13 -9
- package/dist/editor/hooks/use-editor-collaboration.d.ts +0 -9
- package/dist/index-DXRs6xeV.js +0 -40363
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
export { default as DSheetEditor } from './editor/dsheet-editor';
|
|
2
|
+
export { default as DSheetSkeleton } from './editor/components/skeleton-loader';
|
|
2
3
|
export { formulaResponseUiSync } from './editor/utils/formula-ui-sync';
|
|
3
4
|
export { executeStringFunction } from './editor/utils/executeStringFunction';
|
|
4
5
|
export { FLVURL } from '@fileverse-dev/formulajs';
|
|
5
6
|
export { loadLocale } from './sheet-engine/core';
|
|
6
7
|
export type { ErrorMessageHandlerReturnType } from './editor/types';
|
|
7
8
|
export type { WorkbookInstance } from './sheet-engine/react';
|
|
9
|
+
export type { CollaborationProps, CollabConnectionConfig, CollabSessionMeta, CollabServices, CollabCallbacks, CollabState, CollabStatus, CollabError, CollabErrorCode, CollabUser, } from './sync-local/types';
|
|
8
10
|
export { ERROR_MESSAGES_FLAG, SERVICES_API_KEY, } from './editor/constants/shared-constants';
|
|
9
11
|
export { TEMPLATES } from '@fileverse-dev/dsheets-templates/template-metadata-list';
|
|
10
12
|
export { handleCSVUpload } from './editor/utils/csv-import';
|
|
@@ -13,5 +15,5 @@ export { handleExportToCSV } from './editor/utils/csv-export';
|
|
|
13
15
|
export { handleExportToJSON } from './editor/utils/json-export';
|
|
14
16
|
export { useXLSXImport } from './editor/hooks/use-xlsx-import';
|
|
15
17
|
export * as FortuneCore from './sheet-engine/core';
|
|
16
|
-
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, } 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, isBrowserZoomShortcut, isFormulaListShortcut, isOpenShortcutsModalShortcut, } from './sheet-engine/core';
|
|
17
19
|
export type { PatchOptions } from './sheet-engine/core';
|
package/dist/index.es.js
CHANGED
|
@@ -1,45 +1,50 @@
|
|
|
1
|
-
import { S as s,
|
|
2
|
-
import {
|
|
3
|
-
import { FLVURL as
|
|
4
|
-
import { E as
|
|
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 C, n as p, o as u, 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 T, A as w, B as I, C as V, D as k } from "./index-D_IxoHMJ.js";
|
|
2
|
+
import { bP as z, bQ as P, bR as X, bV as _, bg as v, e as y, f as B, h as D, a as O, cf as U, aq as j, cm as q } from "./executeStringFunction-tdvZ0KTi.js";
|
|
3
|
+
import { FLVURL as H } from "@fileverse-dev/formulajs";
|
|
4
|
+
import { E as K, S as N } from "./constants-yStXQJiK.js";
|
|
5
5
|
export {
|
|
6
6
|
s as DSheetEditor,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
o as DSheetSkeleton,
|
|
8
|
+
K as ERROR_MESSAGES_FLAG,
|
|
9
|
+
H as FLVURL,
|
|
10
|
+
t as FortuneCore,
|
|
11
|
+
N as SERVICES_API_KEY,
|
|
12
|
+
l as TEMPLATES,
|
|
12
13
|
r as api,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
i as
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
E as
|
|
33
|
-
F as
|
|
34
|
-
x as
|
|
35
|
-
g as
|
|
36
|
-
f as
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
14
|
+
z as clearColumnsCellsFormat,
|
|
15
|
+
n as clearFilter,
|
|
16
|
+
P as clearRowsCellsFormat,
|
|
17
|
+
X as clearSelectedCellFormat,
|
|
18
|
+
d as createFilter,
|
|
19
|
+
_ as deleteRowCol,
|
|
20
|
+
v as deleteSelectedCellText,
|
|
21
|
+
S as describeMatchedShortcut,
|
|
22
|
+
y as executeStringFunction,
|
|
23
|
+
B as formulaResponseUiSync,
|
|
24
|
+
D as getFlowdata,
|
|
25
|
+
O as getSheetIndex,
|
|
26
|
+
h as handleCSVUpload,
|
|
27
|
+
c as handleCopy,
|
|
28
|
+
i as handleExportToCSV,
|
|
29
|
+
m as handleExportToJSON,
|
|
30
|
+
C as handleExportToXLSX,
|
|
31
|
+
p as handleFreeze,
|
|
32
|
+
u 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,
|
|
39
|
+
U as insertRowCol,
|
|
40
|
+
L as isBrowserZoomShortcut,
|
|
41
|
+
b as isFormulaListShortcut,
|
|
42
|
+
A as isOpenShortcutsModalShortcut,
|
|
43
|
+
j as jfrefreshgrid,
|
|
44
|
+
q as loadLocale,
|
|
45
|
+
T as removeActiveImage,
|
|
46
|
+
w as showImgChooser,
|
|
47
|
+
I as toolbarItemClickHandler,
|
|
48
|
+
V as updateFormat,
|
|
49
|
+
k as useXLSXImport
|
|
45
50
|
};
|
|
@@ -6,6 +6,27 @@ export declare function getCellValue(ctx: Context, row: number, column: number,
|
|
|
6
6
|
type?: keyof Cell;
|
|
7
7
|
}): any;
|
|
8
8
|
export declare function setCellValue(ctx: Context, row: number, column: number, value: any, cellInput: HTMLDivElement | null, options?: CommonOptions, callAfterUpdate?: boolean): void;
|
|
9
|
+
/**
|
|
10
|
+
* Apply a cell value coming from a remote RTC peer, verbatim.
|
|
11
|
+
*
|
|
12
|
+
* This differs from `setCellValue` in two important ways and must be used for
|
|
13
|
+
* every Yjs-driven remote apply:
|
|
14
|
+
*
|
|
15
|
+
* 1. It NEVER runs the formula engine and NEVER fires the local-edit hooks
|
|
16
|
+
* (`onLocalCellEdit` / `afterUpdateCell`). The peer already computed the
|
|
17
|
+
* value, so we use the synced `v`/`m`/`f` as-is. This avoids both
|
|
18
|
+
* recomputation divergence and an update loop back into Yjs.
|
|
19
|
+
*
|
|
20
|
+
* 2. It PRESERVES the formula calc list. The regular `setCellValue` object
|
|
21
|
+
* branch calls `delFunctionGroup`, which removes the cell from `calcChain`
|
|
22
|
+
* and strips its dependency edges. Because `execFunctionGroup` walks
|
|
23
|
+
* `calcChain` to decide what to recompute, dropping a formula cell there
|
|
24
|
+
* permanently breaks its reactivity on that client (even after RTC stops).
|
|
25
|
+
* Here we instead keep formula cells registered via
|
|
26
|
+
* `insertUpdateFunctionGroup`, so they stay reactive to future local edits
|
|
27
|
+
* on both owner and peer.
|
|
28
|
+
*/
|
|
29
|
+
export declare function applyRemoteCellValue(ctx: Context, row: number, column: number, value: any, options?: CommonOptions): void;
|
|
9
30
|
export declare function clearCell(ctx: Context, row: number, column: number, options?: CommonOptions): void;
|
|
10
31
|
export declare function setCellFormat(ctx: Context, row: number, column: number, attr: keyof Cell, value: any, options?: CommonOptions): void;
|
|
11
32
|
export declare function autoFillCell(ctx: Context, copyRange: SingleRange, applyRange: SingleRange, direction: 'up' | 'down' | 'left' | 'right'): void;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { handleCopy } from './copy';
|
|
2
2
|
export { handleGlobalKeyDown } from './keyboard';
|
|
3
|
+
export { describeMatchedShortcut, isBrowserZoomShortcut, isOpenShortcutsModalShortcut, isFormulaListShortcut, } from './keyboard-shortcut-utils';
|
|
3
4
|
export { fixPositionOnFrozenCells, handleCellAreaMouseDown, handleCellAreaDoubleClick, handleContextMenu, mouseRender, handleOverlayMouseMove, handleOverlayMouseUp, handleRowHeaderMouseDown, handleColumnHeaderMouseDown, handleColSizeHandleMouseDown, handleColSizeHandleDoubleClick, handleRowSizeHandleMouseDown, handleColFreezeHandleMouseDown, handleRowFreezeHandleMouseDown, } from './mouse';
|
|
4
5
|
export { handlePaste, handlePasteByClick } from './paste';
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Google Sheets–style keyboard matchers.
|
|
3
|
+
* - Letters / digits / F-keys: physical `code`
|
|
4
|
+
* - Punctuation (docs show characters): `code` + `key` + modifiers
|
|
5
|
+
*/
|
|
6
|
+
export declare function hasMod(e: KeyboardEvent): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Insert date — Cmd/Ctrl+; (Google Sheets).
|
|
9
|
+
* Match on typed `;` character (AZERTY often uses Shift+, → code Comma).
|
|
10
|
+
* US QWERTY: physical Semicolon key without shift.
|
|
11
|
+
*/
|
|
12
|
+
export declare function isInsertDateShortcut(e: KeyboardEvent): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Insert time — Cmd/Ctrl+Shift+; (Google Sheets).
|
|
15
|
+
* US QWERTY: Shift+; → key ":" code Semicolon.
|
|
16
|
+
* AZERTY (runtime): Cmd+Shift+; → code Comma with key "." or ","; Cmd+Shift+. → code Period with key "/" or ".".
|
|
17
|
+
*/
|
|
18
|
+
export declare function isInsertTimeShortcut(e: KeyboardEvent): boolean;
|
|
19
|
+
/** Google Mac: ⌘+Option+Shift+; — insert date and time (AZERTY-safe). */
|
|
20
|
+
export declare function isInsertDateTimeShortcut(e: KeyboardEvent): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* US / EU: Cmd/Ctrl+Shift+" — insert date and time.
|
|
23
|
+
* Mac AZERTY: `"` is Shift+3, but ⌘+Shift+3 is macOS screenshot (never reaches the page).
|
|
24
|
+
* Use ⌘+Option+Shift+3/; or Ctrl+Shift+3 instead (Google Mac alternates).
|
|
25
|
+
*/
|
|
26
|
+
export declare function isUsInsertDateTimeQuoteShortcut(e: KeyboardEvent): boolean;
|
|
27
|
+
export declare function isPlainTextFormatShortcut(e: KeyboardEvent): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Strikethrough — Google Sheets:
|
|
30
|
+
* Mac: Cmd+Shift+X, Ctrl+Option+Shift+5
|
|
31
|
+
* Win: Alt+Shift+5, Ctrl+Shift+X
|
|
32
|
+
*/
|
|
33
|
+
export declare function isStrikethroughShortcut(e: KeyboardEvent): boolean;
|
|
34
|
+
/** Google / dSheets: Cmd+Option+M (Mac), Ctrl+Alt+M (Win). AZERTY M-key slot. */
|
|
35
|
+
export declare function isInsertCommentShortcut(e: KeyboardEvent): boolean;
|
|
36
|
+
/** Google Sheets: Cmd/Ctrl+A — select all. AZERTY types "a" on physical KeyQ. */
|
|
37
|
+
export declare function isSelectAllShortcut(e: KeyboardEvent): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Number formats — Google Mac: Ctrl+Shift+1–6; also Cmd/Ctrl+Shift+1–6.
|
|
40
|
+
*/
|
|
41
|
+
export declare function isNumberFormatModifier(e: KeyboardEvent): boolean;
|
|
42
|
+
export declare function isDigitFormatKey(e: KeyboardEvent, digit: string): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Formula list — Ctrl/Cmd+Shift+) (Google Sheets).
|
|
45
|
+
* US: Shift+0 → ")"; AZERTY: Shift+5 → ")".
|
|
46
|
+
*/
|
|
47
|
+
export declare function isFormulaListShortcut(e: KeyboardEvent): boolean;
|
|
48
|
+
export declare function isFindShortcut(e: KeyboardEvent): boolean;
|
|
49
|
+
export declare function isFindReplaceShortcut(e: KeyboardEvent): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Browser page zoom (Cmd/Ctrl + +/−). Never intercept — sheet has no keyboard zoom.
|
|
52
|
+
* Match by physical `code` and by AZERTY-remapped `key` values.
|
|
53
|
+
*/
|
|
54
|
+
export declare function isBrowserZoomShortcut(e: KeyboardEvent): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Open shortcuts modal.
|
|
57
|
+
* Win: Ctrl+/. Mac/AZERTY: Option+/ or Option+: (WY). US fallback: Cmd+/.
|
|
58
|
+
*/
|
|
59
|
+
export declare function isOpenShortcutsModalShortcut(e: KeyboardEvent): boolean;
|
|
60
|
+
/** Label which engine shortcut would match (best-effort; for host debug tooling). */
|
|
61
|
+
export declare function describeMatchedShortcut(e: KeyboardEvent): string | null;
|
|
@@ -5,9 +5,9 @@ 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, } 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, 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,
|
|
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, 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';
|
|
@@ -46,3 +46,16 @@ export declare function getFilterColumnColors(ctx: Context, col: number, startRo
|
|
|
46
46
|
fcColors: FilterColor[];
|
|
47
47
|
};
|
|
48
48
|
export declare function saveFilter(ctx: Context, optionState: boolean, hiddenRows: Record<string, number>, caljs: any, st_r: number, ed_r: number, cindex: number, st_c: number, ed_c: number): void;
|
|
49
|
+
type SheetFilterState = {
|
|
50
|
+
filter?: Record<string, any> | null;
|
|
51
|
+
filter_select?: {
|
|
52
|
+
row: number[];
|
|
53
|
+
column: number[];
|
|
54
|
+
} | null;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Apply filter state from Yjs on a remote RTC peer without a Workbook remount.
|
|
58
|
+
* Bypasses isAllowEdit — caller must only invoke for remote-origin updates.
|
|
59
|
+
*/
|
|
60
|
+
export declare function applySheetFilterState(ctx: Context, sheetId: string, state: SheetFilterState): void;
|
|
61
|
+
export {};
|
|
@@ -22,7 +22,7 @@ export { sortSelection, sortSheetBySelectedColumn, spillSortResult, } from './so
|
|
|
22
22
|
export { searchAll, searchNext, replace, replaceAll, replaceAllScoped, getSearchIndexArr, getSearchIndexArrAsync, getFindRangeOnCurrentSheet, getQuickSearchIndexArr, getQuickSearchHiddenConfig, expandCellRectForMerge, shouldQuickSearchUseAsync, runQuickSearchIndexArrAsync, QUICK_SEARCH_ASYNC_ROW_THRESHOLD, parseRangeText, } from './searchReplace';
|
|
23
23
|
export type { CheckModes, HyperlinkMap, FindSearchScope, ReplaceScope, SearchHiddenConfig, SearchNextResult, ReplaceAllResult, } from './searchReplace';
|
|
24
24
|
export { getCellRowColumn, getCellHyperlink, getCellHyperlinks, getHyperlinkDisplayTextInCell, getInlineLinkPlainRange, getUniformLinkCoveringPlainRange, getUniformLinkAtPlainOffset, saveHyperlink, removeHyperlink, removeHyperlinkForLink, updateHyperlinkForLink, syncLinkCardAfterHyperlinkChange, showLinkCard, goToLink, isLinkValid, } from './hyperlink';
|
|
25
|
-
export { createFilterOptions, clearFilter, clearFilterForColumn, toggleViewerFilter, createFilter, getFilterColumnValues, getFilterColumnColors, orderbydatafiler, saveFilter, } from './filter';
|
|
25
|
+
export { createFilterOptions, clearFilter, clearFilterForColumn, toggleViewerFilter, createFilter, applySheetFilterState, getFilterColumnValues, getFilterColumnColors, orderbydatafiler, saveFilter, } from './filter';
|
|
26
26
|
export type { FilterDate, FilterValue, FilterColor } from './filter';
|
|
27
27
|
export { onCellsMoveStart, onCellsMove, onCellsMoveEnd } from './moveCells';
|
|
28
28
|
export { cfSplitRange } from './conditionalFormat';
|
|
@@ -32,7 +32,7 @@ export { applyLocation, getOptionValue, getSelectRange, } from './locationCondit
|
|
|
32
32
|
export { getDropdownList, setDropdownValue, confirmMessage, cellFocus, validateCellData, } from './dataVerification';
|
|
33
33
|
export { setConditionRules, CF_DATE_DEFAULT_FORMAT, parseCfDateConditionForUi, formatCfDatePresetSnapshot, parseDdMmYyyyToSerial, } from './ConditionFormat';
|
|
34
34
|
export { handleOverlayTouchStart, handleOverlayTouchEnd } from './mobile';
|
|
35
|
-
export { MAX_ZOOM_RATIO, MIN_ZOOM_RATIO
|
|
35
|
+
export { MAX_ZOOM_RATIO, MIN_ZOOM_RATIO } from './zoom';
|
|
36
36
|
export { jfrefreshgrid } from './refresh';
|
|
37
37
|
export { sanitizeDuneUrl, insertDuneChart, onIframeMoveStart, onIframeResizeStart, onIframeMove, onIframeMoveEnd, onIframeResize, onIframeResizeEnd, } from './iframe';
|
|
38
38
|
export { setCellError, clearCellError, overShowError, } from './error-state-helpers';
|
|
@@ -70,6 +70,7 @@ export declare function fillDownData(ctx: Context): string;
|
|
|
70
70
|
export declare function textFormat(ctx: Context, type: 'left' | 'center' | 'right'): string;
|
|
71
71
|
export declare function fillDate(ctx: Context): string;
|
|
72
72
|
export declare function fillTime(ctx: Context): string;
|
|
73
|
+
export declare function fillDateTime(ctx: Context): string;
|
|
73
74
|
export declare function selectIsOverlap(ctx: Context, range?: any): boolean;
|
|
74
75
|
export declare function selectAll(ctx: Context): void;
|
|
75
76
|
export declare function fixRowStyleOverflowInFreeze(ctx: Context, r1: number, r2: number, freeze: Freezen | undefined): {
|
|
@@ -25,6 +25,8 @@ export type Hooks = {
|
|
|
25
25
|
updateCellYdoc?: (changes: SheetChangePath[]) => void;
|
|
26
26
|
updateAllCell?: (sheetId: string) => void;
|
|
27
27
|
beforeUpdateCell?: (r: number, c: number, value: any) => boolean;
|
|
28
|
+
/** Clears RTC remote-apply lock so local edits can run data-block formulas. */
|
|
29
|
+
onLocalCellEdit?: () => void;
|
|
28
30
|
afterUpdateCell?: (row: number, column: number, oldValue: any, newValue: any) => void;
|
|
29
31
|
afterSelectionChange?: (sheetId: string, selection: Selection) => void;
|
|
30
32
|
beforeRenderRowHeaderCell?: (rowNumber: string, rowIndex: number, top: number, width: number, height: number, ctx: CanvasRenderingContext2D) => boolean;
|
|
@@ -131,6 +133,7 @@ export type Settings = {
|
|
|
131
133
|
onSheetCountChange?: (count: number) => void;
|
|
132
134
|
isAuthorized?: boolean;
|
|
133
135
|
isFlvReadOnly?: boolean;
|
|
136
|
+
isRTCActive?: boolean;
|
|
134
137
|
dateBaseLocale?: DateBaseLocale;
|
|
135
138
|
/** When true, do not auto-select A1 on load (e.g. onboarding modal runs first). */
|
|
136
139
|
suppressInitialCellSelection?: boolean;
|
|
@@ -19,6 +19,17 @@ export declare function generateAPIs(context: Context, setContext: (recipe: (ctx
|
|
|
19
19
|
setCellValue: (row: number, column: number, value: any, options?: api.CommonOptions & {
|
|
20
20
|
type?: keyof Cell;
|
|
21
21
|
}, callAfterUpdate?: boolean) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Apply a cell value coming from a remote RTC peer, verbatim.
|
|
24
|
+
*
|
|
25
|
+
* Use this (instead of `setCellValue`) for every Yjs-driven remote apply:
|
|
26
|
+
* it writes the synced value/formula as-is without running the formula
|
|
27
|
+
* engine and without firing local-edit hooks, while keeping formula cells
|
|
28
|
+
* registered in `calcChain` so they remain reactive to future local edits.
|
|
29
|
+
*/
|
|
30
|
+
applyRemoteCellValue: (row: number, column: number, value: any, options?: api.CommonOptions & {
|
|
31
|
+
type?: keyof Cell;
|
|
32
|
+
}) => void;
|
|
22
33
|
setCellError: (row: number, column: number, errorMessage: {
|
|
23
34
|
title: string;
|
|
24
35
|
message: string;
|
|
@@ -126,6 +137,18 @@ export declare function generateAPIs(context: Context, setContext: (recipe: (ctx
|
|
|
126
137
|
activateSheet: (options?: api.CommonOptions) => void;
|
|
127
138
|
setSheetName: (name: string, options?: api.CommonOptions) => void;
|
|
128
139
|
setSheetOrder: (orderList: Record<string, number>) => void;
|
|
140
|
+
setSheetImages: (images: any[], options?: api.CommonOptions) => void;
|
|
141
|
+
setSheetIframes: (iframes: any[], options?: api.CommonOptions) => void;
|
|
142
|
+
setSheetDataVerification: (dataVerification: Record<string, any>, options?: api.CommonOptions) => void;
|
|
143
|
+
setSheetFilterState: (state: {
|
|
144
|
+
filter?: Record<string, any> | null;
|
|
145
|
+
filter_select?: {
|
|
146
|
+
row: number[];
|
|
147
|
+
column: number[];
|
|
148
|
+
} | null;
|
|
149
|
+
}, options?: api.CommonOptions) => void;
|
|
150
|
+
setSheetMapField: (field: string, value: Record<string, any> | null | undefined, options?: api.CommonOptions) => void;
|
|
151
|
+
setSheetConditionFormatRules: (rules: any[], options?: api.CommonOptions) => void;
|
|
129
152
|
scroll: (options: {
|
|
130
153
|
scrollLeft?: number;
|
|
131
154
|
scrollTop?: number;
|
|
@@ -23,6 +23,9 @@ declare const Workbook: React.ForwardRefExoticComponent<Settings & AdditionalPro
|
|
|
23
23
|
setCellValue: (row: number, column: number, value: any, options?: api.CommonOptions & {
|
|
24
24
|
type?: keyof import('../../../core').Cell;
|
|
25
25
|
}, callAfterUpdate?: boolean) => void;
|
|
26
|
+
applyRemoteCellValue: (row: number, column: number, value: any, options?: api.CommonOptions & {
|
|
27
|
+
type?: keyof import('../../../core').Cell;
|
|
28
|
+
}) => void;
|
|
26
29
|
setCellError: (row: number, column: number, errorMessage: {
|
|
27
30
|
title: string;
|
|
28
31
|
message: string;
|
|
@@ -130,6 +133,18 @@ declare const Workbook: React.ForwardRefExoticComponent<Settings & AdditionalPro
|
|
|
130
133
|
activateSheet: (options?: api.CommonOptions) => void;
|
|
131
134
|
setSheetName: (name: string, options?: api.CommonOptions) => void;
|
|
132
135
|
setSheetOrder: (orderList: Record<string, number>) => void;
|
|
136
|
+
setSheetImages: (images: any[], options?: api.CommonOptions) => void;
|
|
137
|
+
setSheetIframes: (iframes: any[], options?: api.CommonOptions) => void;
|
|
138
|
+
setSheetDataVerification: (dataVerification: Record<string, any>, options?: api.CommonOptions) => void;
|
|
139
|
+
setSheetFilterState: (state: {
|
|
140
|
+
filter?: Record<string, any> | null;
|
|
141
|
+
filter_select?: {
|
|
142
|
+
row: number[];
|
|
143
|
+
column: number[];
|
|
144
|
+
} | null;
|
|
145
|
+
}, options?: api.CommonOptions) => void;
|
|
146
|
+
setSheetMapField: (field: string, value: Record<string, any> | null | undefined, options?: api.CommonOptions) => void;
|
|
147
|
+
setSheetConditionFormatRules: (rules: any[], options?: api.CommonOptions) => void;
|
|
133
148
|
scroll: (options: {
|
|
134
149
|
scrollLeft?: number;
|
|
135
150
|
scrollTop?: number;
|