@fileverse-dev/dsheet 2.0.33 → 2.0.34-rtc-a

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 (36) 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/{executeStringFunction-CqY9CxQI.js → executeStringFunction-DK9j8ds9.js} +4418 -4428
  14. package/dist/formula.js +1 -1
  15. package/dist/index-DMFjRgNx.js +50924 -0
  16. package/dist/index.d.ts +2 -0
  17. package/dist/index.es.js +30 -29
  18. package/dist/sheet-engine/core/index.d.ts +1 -1
  19. package/dist/sheet-engine/core/modules/index.d.ts +1 -1
  20. package/dist/sheet-engine/core/settings.d.ts +4 -1
  21. package/dist/sheet-engine/core/types.d.ts +1 -0
  22. package/dist/style.css +1 -1
  23. package/dist/sync-local/SyncManager.d.ts +67 -0
  24. package/dist/sync-local/collabStateMachine.d.ts +23 -0
  25. package/dist/sync-local/crypto/index.d.ts +6 -0
  26. package/dist/sync-local/index.d.ts +3 -0
  27. package/dist/sync-local/socketClient.d.ts +68 -0
  28. package/dist/sync-local/types/index.d.ts +211 -0
  29. package/dist/sync-local/useSyncManager.d.ts +12 -0
  30. package/dist/sync-local/utils/createAwarenessUpdateHandler.d.ts +8 -0
  31. package/dist/sync-local/utils/objectToFile.d.ts +1 -0
  32. package/dist/{use-xlsx-import-impl-DTT5GWY4.js → use-xlsx-import-impl-BtMtzSPI.js} +2 -2
  33. package/dist/{xlsx-export-impl-1HOQoC6f.js → xlsx-export-impl-BaZs-2aM.js} +293 -295
  34. package/package.json +13 -9
  35. package/dist/editor/hooks/use-editor-collaboration.d.ts +0 -9
  36. package/dist/index-DrZIJIQc.js +0 -40180
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 h, e as S, f as i, g as c, j as m, k as p, l as C, n as E, o as F, p as x, q as g, r as f, s as L, t as R, u, v as T, w as b } from "./index-DrZIJIQc.js";
2
- import { bJ as I, bK as w, bL as V, bP as k, ba as P, e as X, f as _, h as v, a as y, ca as z, ap as M, ch as U } from "./executeStringFunction-CqY9CxQI.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 p, n as C, o as E, p as x, q as F, r as g, s as f, t as L, u as R, v as u, w as T, x as b, z as A } from "./index-DMFjRgNx.js";
2
+ import { bJ as w, bK as k, bL as V, bP as z, ba as P, e as X, f as _, h as v, a as y, ca as M, ap as U, ch as j } from "./executeStringFunction-DK9j8ds9.js";
3
3
  import { FLVURL as G } from "@fileverse-dev/formulajs";
4
- import { E as J, S as K } from "./constants-CnhOvijG.js";
4
+ import { E as J, S as K } from "./constants-yStXQJiK.js";
5
5
  export {
6
6
  s as DSheetEditor,
7
+ l as DSheetSkeleton,
7
8
  J as ERROR_MESSAGES_FLAG,
8
9
  G as FLVURL,
9
- l as FortuneCore,
10
+ o as FortuneCore,
10
11
  K 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
  P as deleteSelectedCellText,
20
21
  X as executeStringFunction,
21
22
  _ as formulaResponseUiSync,
22
23
  v as getFlowdata,
23
24
  y as getSheetIndex,
24
- d as handleCSVUpload,
25
+ S as handleCSVUpload,
25
26
  h as handleCopy,
26
- S as handleExportToCSV,
27
- i as handleExportToJSON,
28
- c as handleExportToXLSX,
29
- m as handleFreeze,
30
- p as handleHorizontalAlign,
31
- C as handleLink,
32
- E as handleMerge,
27
+ i as handleExportToCSV,
28
+ c as handleExportToJSON,
29
+ m as handleExportToXLSX,
30
+ p as handleFreeze,
31
+ C as handleHorizontalAlign,
32
+ E as handleLink,
33
+ x as handleMerge,
33
34
  F as handlePasteByClick,
34
- x as handleSort,
35
- g as handleTextSize,
36
- f as handleVerticalAlign,
37
- z as insertRowCol,
38
- M as jfrefreshgrid,
39
- U as loadLocale,
40
- L as removeActiveImage,
41
- R as showImgChooser,
42
- u as toolbarItemClickHandler,
43
- T as updateFormat,
44
- b as useXLSXImport
35
+ g as handleSort,
36
+ f as handleTextSize,
37
+ L as handleVerticalAlign,
38
+ M as insertRowCol,
39
+ U as jfrefreshgrid,
40
+ j as loadLocale,
41
+ R as removeActiveImage,
42
+ u as showImgChooser,
43
+ T as toolbarItemClickHandler,
44
+ b as updateFormat,
45
+ A as useXLSXImport
45
46
  };
@@ -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, 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, 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, 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';
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,7 +14,7 @@ export { scrollToHighlightCell, seletedHighlistByindex, selectTitlesMap, selectT
14
14
  export { addSheet, deleteSheet, editSheetName, changeSheet, updateSheet, } from './sheet';
15
15
  export { updateFormat, autoSelectionFormula, handleBold, handleItalic, handleStrikeThrough, handleUnderline, handleHorizontalAlign, handleVerticalAlign, handleTextColor, handleTextBackground, handleBorder, handleMerge, handleSort, handleFreeze, handleTextSize, handleSum, handleLink, captureLinkEditorOpenSnapshot, isHyperlinkCreationBlocked, toolbarItemClickHandler, toolbarItemSelectedFunc, updateFormatCell, cancelPaintModel, } from './toolbar';
16
16
  export { handleScreenShot } from './screenshot';
17
- export { drawArrow, setEditingComment, removeEditingComment, newComment, editComment, deleteComment, showComments, showHideComment, showHideAllComments, onCommentBoxMoveStart, onCommentBoxMove, onCommentBoxMoveEnd, onCommentBoxResize, onCommentBoxResizeEnd, removeOverShowComment, } from './comment';
17
+ export { drawArrow, setEditingComment, removeEditingComment, newComment, editComment, deleteComment, showComments, showHideComment, showHideAllComments, getCommentBoxByRC, onCommentBoxMoveStart, onCommentBoxMove, onCommentBoxMoveEnd, onCommentBoxResize, onCommentBoxResizeEnd, removeOverShowComment, } from './comment';
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';
@@ -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;
@@ -115,7 +117,7 @@ export type Settings = {
115
117
  headerContextMenu?: string[];
116
118
  sheetTabContextMenu?: string[];
117
119
  filterContextMenu?: string[];
118
- getCommentCellUI?: ((row: number, column: number, dragHandler: CommentUIDragFn) => React.ReactNode) | null;
120
+ getCommentCellUI?: ((row: number, column: number, dragHandler: CommentUIDragFn, isHover?: boolean) => React.ReactNode) | null;
119
121
  generateSheetId?: () => string;
120
122
  hooks?: Hooks;
121
123
  customToolbarItems?: {
@@ -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;