@fileverse-dev/dsheet 2.0.36 → 2.1.0

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 (41) hide show
  1. package/dist/{constants-CnhOvijG.js → constants-yStXQJiK.js} +35 -14
  2. package/dist/constants.d.ts +4 -0
  3. package/dist/constants.js +6 -3
  4. package/dist/editor/components/collab-status-chip.d.ts +8 -0
  5. package/dist/editor/contexts/editor-context.d.ts +15 -5
  6. package/dist/editor/dsheet-editor.d.ts +1 -1
  7. package/dist/editor/hooks/use-collab-awareness.d.ts +17 -0
  8. package/dist/editor/hooks/use-editor-data.d.ts +2 -1
  9. package/dist/editor/hooks/use-editor-sync.d.ts +9 -6
  10. package/dist/editor/types.d.ts +2 -2
  11. package/dist/editor/utils/after-update-cell.d.ts +12 -0
  12. package/dist/editor/utils/formula-ui-sync.d.ts +3 -1
  13. package/dist/editor/utils/remote-apply-guard.d.ts +19 -0
  14. package/dist/{executeStringFunction-Bl4AYetV.js → executeStringFunction-F9mb-SpN.js} +4425 -4435
  15. package/dist/formula.js +1 -1
  16. package/dist/index-BPpCmYwh.js +51899 -0
  17. package/dist/index.d.ts +2 -0
  18. package/dist/index.es.js +31 -30
  19. package/dist/sheet-engine/core/api/cell.d.ts +21 -0
  20. package/dist/sheet-engine/core/index.d.ts +1 -1
  21. package/dist/sheet-engine/core/modules/filter.d.ts +13 -0
  22. package/dist/sheet-engine/core/modules/index.d.ts +1 -1
  23. package/dist/sheet-engine/core/settings.d.ts +3 -0
  24. package/dist/sheet-engine/core/types.d.ts +1 -0
  25. package/dist/sheet-engine/react/components/Workbook/api.d.ts +23 -0
  26. package/dist/sheet-engine/react/components/Workbook/index.d.ts +15 -0
  27. package/dist/style.css +1 -1
  28. package/dist/sync-local/SyncManager.d.ts +69 -0
  29. package/dist/sync-local/collabStateMachine.d.ts +23 -0
  30. package/dist/sync-local/crypto/index.d.ts +6 -0
  31. package/dist/sync-local/index.d.ts +3 -0
  32. package/dist/sync-local/socketClient.d.ts +68 -0
  33. package/dist/sync-local/types/index.d.ts +212 -0
  34. package/dist/sync-local/useSyncManager.d.ts +12 -0
  35. package/dist/sync-local/utils/createAwarenessUpdateHandler.d.ts +8 -0
  36. package/dist/sync-local/utils/objectToFile.d.ts +1 -0
  37. package/dist/{use-xlsx-import-impl-BIdckUWG.js → use-xlsx-import-impl-B1zexYKE.js} +2 -2
  38. package/dist/{xlsx-export-impl-BEVF8Y2c.js → xlsx-export-impl-Df--S5zo.js} +293 -295
  39. package/package.json +14 -10
  40. package/dist/editor/hooks/use-editor-collaboration.d.ts +0 -9
  41. package/dist/index-CqPhp0yr.js +0 -40212
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';
package/dist/index.es.js CHANGED
@@ -1,45 +1,46 @@
1
- import { S as s, i as l, T as o, a as r, c as t, b as n, h as d, d as S, e as h, f as c, g as i, j as m, k as C, l as p, n as E, o as F, p as x, q as g, r as R, s as f, t as L, u as b, v as u, w as T } from "./index-CqPhp0yr.js";
2
- import { bL as I, bM as w, bN as V, bR as k, bb as M, e as X, f as _, h as j, a as v, cc as y, aq as z, cj as P } from "./executeStringFunction-Bl4AYetV.js";
3
- import { FLVURL as q } from "@fileverse-dev/formulajs";
4
- import { E as H, S as N } from "./constants-CnhOvijG.js";
1
+ import { S as s, a as l, i as o, T as t, b as r, d as n, e as d, h as S, f as h, g as i, j as c, k as m, l as C, n as p, o as E, p as x, q as F, r as g, s as R, t as f, u as L, v as b, w as u, x as T, z as A } from "./index-BPpCmYwh.js";
2
+ import { bL as w, bM as k, bN as V, bR as z, bb as M, e as X, f as _, h as j, a as v, cc as y, aq as P, cj as U } from "./executeStringFunction-F9mb-SpN.js";
3
+ import { FLVURL as D } from "@fileverse-dev/formulajs";
4
+ import { E as H, S as N } from "./constants-yStXQJiK.js";
5
5
  export {
6
6
  s as DSheetEditor,
7
+ l as DSheetSkeleton,
7
8
  H as ERROR_MESSAGES_FLAG,
8
- q as FLVURL,
9
- l as FortuneCore,
9
+ D as FLVURL,
10
+ o as FortuneCore,
10
11
  N as SERVICES_API_KEY,
11
- o as TEMPLATES,
12
+ t as TEMPLATES,
12
13
  r as api,
13
- I as clearColumnsCellsFormat,
14
- t as clearFilter,
15
- w as clearRowsCellsFormat,
14
+ w as clearColumnsCellsFormat,
15
+ n as clearFilter,
16
+ k as clearRowsCellsFormat,
16
17
  V as clearSelectedCellFormat,
17
- n as createFilter,
18
- k as deleteRowCol,
18
+ d as createFilter,
19
+ z as deleteRowCol,
19
20
  M as deleteSelectedCellText,
20
21
  X as executeStringFunction,
21
22
  _ as formulaResponseUiSync,
22
23
  j as getFlowdata,
23
24
  v as getSheetIndex,
24
- d as handleCSVUpload,
25
- S as handleCopy,
26
- h as handleExportToCSV,
25
+ S as handleCSVUpload,
26
+ h as handleCopy,
27
+ i as handleExportToCSV,
27
28
  c as handleExportToJSON,
28
- i as handleExportToXLSX,
29
- m as handleFreeze,
30
- C as handleHorizontalAlign,
31
- p as handleLink,
32
- E as handleMerge,
29
+ m as handleExportToXLSX,
30
+ C as handleFreeze,
31
+ p as handleHorizontalAlign,
32
+ E as handleLink,
33
+ x as handleMerge,
33
34
  F as handlePasteByClick,
34
- x as handleSort,
35
- g as handleTextSize,
36
- R as handleVerticalAlign,
35
+ g as handleSort,
36
+ R as handleTextSize,
37
+ f as handleVerticalAlign,
37
38
  y as insertRowCol,
38
- z as jfrefreshgrid,
39
- P as loadLocale,
40
- f as removeActiveImage,
41
- L as showImgChooser,
42
- b as toolbarItemClickHandler,
43
- u as updateFormat,
44
- T as useXLSXImport
39
+ P as jfrefreshgrid,
40
+ U as loadLocale,
41
+ L as removeActiveImage,
42
+ b as showImgChooser,
43
+ u as toolbarItemClickHandler,
44
+ T as updateFormat,
45
+ A as useXLSXImport
45
46
  };
@@ -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;
@@ -7,7 +7,7 @@ export { defaultSettings } from './settings';
7
7
  export type { Settings, Hooks, DateBaseLocale } 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, 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, 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, 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';
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';
@@ -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;
@@ -112,6 +112,7 @@ export type Presence = {
112
112
  username: string;
113
113
  userId?: string;
114
114
  color: string;
115
+ isEns?: boolean;
115
116
  selection: {
116
117
  r: number;
117
118
  c: number;
@@ -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;