@rowsncolumns/spreadsheet 10.5.2 → 10.5.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.
Files changed (85) hide show
  1. package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
  2. package/dist/cjs/components/canvas-grid/index.js +85 -70
  3. package/dist/cjs/components/canvas-grid/typings.d.ts +18 -1
  4. package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
  5. package/dist/cjs/components/cell/cell-text-runs.d.ts +10 -3
  6. package/dist/cjs/components/cell/cell-text-runs.d.ts.map +1 -1
  7. package/dist/cjs/components/cell/cell-text-runs.js +21 -9
  8. package/dist/cjs/components/cell/index.d.ts.map +1 -1
  9. package/dist/cjs/components/cell/index.js +9 -5
  10. package/dist/cjs/components/cell/line-height.d.ts +22 -0
  11. package/dist/cjs/components/cell/line-height.d.ts.map +1 -0
  12. package/dist/cjs/components/cell/line-height.js +32 -0
  13. package/dist/cjs/components/cell/typings.d.ts +8 -2
  14. package/dist/cjs/components/cell/typings.d.ts.map +1 -1
  15. package/dist/cjs/hooks/export-range-tiles.d.ts +81 -0
  16. package/dist/cjs/hooks/export-range-tiles.d.ts.map +1 -0
  17. package/dist/cjs/hooks/export-range-tiles.js +171 -0
  18. package/dist/cjs/hooks/use-cell-renderer.d.ts +6 -1
  19. package/dist/cjs/hooks/use-cell-renderer.d.ts.map +1 -1
  20. package/dist/cjs/hooks/use-cell-renderer.js +3 -2
  21. package/dist/cjs/hooks/use-copy-paste-cut.d.ts +5 -1
  22. package/dist/cjs/hooks/use-copy-paste-cut.d.ts.map +1 -1
  23. package/dist/cjs/hooks/use-copy-paste-cut.js +19 -5
  24. package/dist/cjs/hooks/use-editor-submit.d.ts +7 -1
  25. package/dist/cjs/hooks/use-editor-submit.d.ts.map +1 -1
  26. package/dist/cjs/hooks/use-editor-submit.js +36 -16
  27. package/dist/cjs/hooks/use-export-range.d.ts +14 -6
  28. package/dist/cjs/hooks/use-export-range.d.ts.map +1 -1
  29. package/dist/cjs/hooks/use-export-range.js +240 -158
  30. package/dist/cjs/hooks/use-grid-children.d.ts +4 -1
  31. package/dist/cjs/hooks/use-grid-children.d.ts.map +1 -1
  32. package/dist/cjs/hooks/use-grid-children.js +4 -2
  33. package/dist/cjs/hooks/use-navigate-sheet-range.d.ts.map +1 -1
  34. package/dist/cjs/hooks/use-navigate-sheet-range.js +5 -2
  35. package/dist/cjs/hooks/use-sizer.d.ts +8 -2
  36. package/dist/cjs/hooks/use-sizer.d.ts.map +1 -1
  37. package/dist/cjs/hooks/use-sizer.js +54 -33
  38. package/dist/cjs/providers/spreadsheet-provider.d.ts +11 -2
  39. package/dist/cjs/providers/spreadsheet-provider.d.ts.map +1 -1
  40. package/dist/cjs/providers/spreadsheet-provider.js +7 -5
  41. package/dist/cjs/release-date.js +1 -1
  42. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  43. package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
  44. package/dist/esm/components/canvas-grid/index.js +27 -12
  45. package/dist/esm/components/canvas-grid/typings.d.ts +18 -1
  46. package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
  47. package/dist/esm/components/cell/cell-text-runs.d.ts +10 -3
  48. package/dist/esm/components/cell/cell-text-runs.d.ts.map +1 -1
  49. package/dist/esm/components/cell/cell-text-runs.js +14 -9
  50. package/dist/esm/components/cell/index.d.ts.map +1 -1
  51. package/dist/esm/components/cell/index.js +7 -3
  52. package/dist/esm/components/cell/line-height.d.ts +22 -0
  53. package/dist/esm/components/cell/line-height.d.ts.map +1 -0
  54. package/dist/esm/components/cell/line-height.js +25 -0
  55. package/dist/esm/components/cell/typings.d.ts +8 -2
  56. package/dist/esm/components/cell/typings.d.ts.map +1 -1
  57. package/dist/esm/hooks/export-range-tiles.d.ts +81 -0
  58. package/dist/esm/hooks/export-range-tiles.d.ts.map +1 -0
  59. package/dist/esm/hooks/export-range-tiles.js +126 -0
  60. package/dist/esm/hooks/use-cell-renderer.d.ts +6 -1
  61. package/dist/esm/hooks/use-cell-renderer.d.ts.map +1 -1
  62. package/dist/esm/hooks/use-cell-renderer.js +3 -2
  63. package/dist/esm/hooks/use-copy-paste-cut.d.ts +5 -1
  64. package/dist/esm/hooks/use-copy-paste-cut.d.ts.map +1 -1
  65. package/dist/esm/hooks/use-copy-paste-cut.js +17 -3
  66. package/dist/esm/hooks/use-editor-submit.d.ts +7 -1
  67. package/dist/esm/hooks/use-editor-submit.d.ts.map +1 -1
  68. package/dist/esm/hooks/use-editor-submit.js +24 -6
  69. package/dist/esm/hooks/use-export-range.d.ts +14 -6
  70. package/dist/esm/hooks/use-export-range.d.ts.map +1 -1
  71. package/dist/esm/hooks/use-export-range.js +158 -120
  72. package/dist/esm/hooks/use-grid-children.d.ts +4 -1
  73. package/dist/esm/hooks/use-grid-children.d.ts.map +1 -1
  74. package/dist/esm/hooks/use-grid-children.js +4 -2
  75. package/dist/esm/hooks/use-navigate-sheet-range.d.ts.map +1 -1
  76. package/dist/esm/hooks/use-navigate-sheet-range.js +5 -2
  77. package/dist/esm/hooks/use-sizer.d.ts +8 -2
  78. package/dist/esm/hooks/use-sizer.d.ts.map +1 -1
  79. package/dist/esm/hooks/use-sizer.js +53 -31
  80. package/dist/esm/providers/spreadsheet-provider.d.ts +11 -2
  81. package/dist/esm/providers/spreadsheet-provider.d.ts.map +1 -1
  82. package/dist/esm/providers/spreadsheet-provider.js +8 -6
  83. package/dist/esm/release-date.js +1 -1
  84. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  85. package/package.json +6 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-range-tiles.d.ts","sourceRoot":"","sources":["../../../hooks/export-range-tiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,YAAY,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAErE,iFAAiF;AACjF,MAAM,MAAM,UAAU,GAAG;IACvB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,4DAA4D;IAC5D,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,8EAA8E;IAC9E,IAAI,EAAE,UAAU,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,GAAG,cAAc,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,gBAAgB,CAAC;IACzB,CAAC,EAAE,UAAU,CAAC;IACd,CAAC,EAAE,UAAU,CAAC;CACf,CAAC;AAEF,oFAAoF;AACpF,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAKvC,eAAO,MAAM,cAAc,GAAI,2FAQ5B,eAAe,KAAG,cA8DpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,EAAE,eAAe,CAAC;IACnB,CAAC,EAAE,eAAe,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,eAAe,KAAG,UAAU,EA+CrE,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,YAAY,GAAI,MAAM,UAAU,EAAE,QAAQ,MAAM,WACb,CAAC"}
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ /**
3
+ * Tiling plan for `exportRange`.
4
+ *
5
+ * The grid paints one viewport: body cells at `documentOffset - scroll`, clipped
6
+ * to the body pane, and frozen rows/columns at their document offset whatever
7
+ * the scroll. A range larger than the body pane is captured by scrolling it
8
+ * through the pane one band at a time and compositing each band into the
9
+ * output at its own offset. Everything here is in CSS pixels at the grid's
10
+ * current scale; the caller multiplies by the device pixel ratio when it copies.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.sourceOffset = exports.planExportStops = exports.planExportAxis = exports.FROZEN_PANE_SEPARATOR = void 0;
14
+ var tslib_1 = require("tslib");
15
+ /**
16
+ * The grid clips every frozen pane one pixel past its last row/column so the
17
+ * frozen separator paints over the body's first pixel row; a band that starts
18
+ * on that pixel would copy the separator instead of the cell edge.
19
+ */
20
+ exports.FROZEN_PANE_SEPARATOR = 1;
21
+ var clamp = function (value, min, max) {
22
+ return Math.min(Math.max(value, min), max);
23
+ };
24
+ var planExportAxis = function (_a) {
25
+ var rangeStart = _a.rangeStart, rangeEnd = _a.rangeEnd, frozenSize = _a.frozenSize, viewportSize = _a.viewportSize, maxScroll = _a.maxScroll, currentScroll = _a.currentScroll, headerSize = _a.headerSize;
26
+ var dest = function (start) { return headerSize + (start - rangeStart); };
27
+ var frozenEnd = Math.min(rangeEnd, frozenSize);
28
+ var frozen = rangeStart < frozenEnd
29
+ ? {
30
+ start: rangeStart,
31
+ size: frozenEnd - rangeStart,
32
+ dest: dest(rangeStart),
33
+ frozen: true,
34
+ scroll: 0,
35
+ }
36
+ : null;
37
+ var bodyStart = Math.max(rangeStart, frozenSize);
38
+ var body = [];
39
+ if (bodyStart >= rangeEnd)
40
+ return { frozen: frozen, body: body };
41
+ // Already in view: copy without scrolling.
42
+ if (bodyStart - currentScroll >= frozenSize &&
43
+ rangeEnd - currentScroll <= viewportSize) {
44
+ body.push({
45
+ start: bodyStart,
46
+ size: rangeEnd - bodyStart,
47
+ dest: dest(bodyStart),
48
+ frozen: false,
49
+ scroll: currentScroll,
50
+ });
51
+ return { frozen: frozen, body: body };
52
+ }
53
+ var paneStart = frozenSize > 0 ? frozenSize + exports.FROZEN_PANE_SEPARATOR : frozenSize;
54
+ if (paneStart >= viewportSize) {
55
+ throw new Error("exportRange: the grid's body pane has no visible area");
56
+ }
57
+ var position = bodyStart;
58
+ while (position < rangeEnd) {
59
+ // Integer scrolls keep the band on whole pixels; the clamp keeps the band's
60
+ // top edge at or below the pane's first row (it never scrolls past the
61
+ // sheet, and the range is inside the sheet so the band stays in the pane).
62
+ var scroll_1 = clamp(Math.floor(position - paneStart), 0, maxScroll);
63
+ var source = position - scroll_1;
64
+ var size = Math.min(rangeEnd - position, viewportSize - source);
65
+ if (size <= 0) {
66
+ throw new Error("exportRange: the range extends past the grid's scrollable area");
67
+ }
68
+ body.push({
69
+ start: position,
70
+ size: size,
71
+ dest: dest(position),
72
+ frozen: false,
73
+ scroll: scroll_1,
74
+ });
75
+ position += size;
76
+ }
77
+ return { frozen: frozen, body: body };
78
+ };
79
+ exports.planExportAxis = planExportAxis;
80
+ /**
81
+ * Orders the capture as scroll stops: every body band on each axis is one
82
+ * stop, the frozen part of each axis is copied at the first stop along the
83
+ * other axis (so it, and each header strip, is copied exactly once), and
84
+ * header strips are copied at the first stop along the other axis.
85
+ */
86
+ var planExportStops = function (_a) {
87
+ var x = _a.x, y = _a.y;
88
+ var xPlan = (0, exports.planExportAxis)(x);
89
+ var yPlan = (0, exports.planExportAxis)(y);
90
+ var columnHeader = y.headerSize > 0
91
+ ? { start: 0, size: y.headerSize, dest: 0, frozen: true, scroll: 0 }
92
+ : null;
93
+ var rowHeader = x.headerSize > 0
94
+ ? { start: 0, size: x.headerSize, dest: 0, frozen: true, scroll: 0 }
95
+ : null;
96
+ var xStops = xPlan.body.length ? xPlan.body : [null];
97
+ var yStops = yPlan.body.length ? yPlan.body : [null];
98
+ var stops = [];
99
+ yStops.forEach(function (yBand, yi) {
100
+ xStops.forEach(function (xBand, xi) {
101
+ var e_1, _a, e_2, _b, e_3, _c;
102
+ var _d, _e;
103
+ var xSpans = [];
104
+ if (xi === 0 && xPlan.frozen)
105
+ xSpans.push(xPlan.frozen);
106
+ if (xBand)
107
+ xSpans.push(xBand);
108
+ var ySpans = [];
109
+ if (yi === 0 && yPlan.frozen)
110
+ ySpans.push(yPlan.frozen);
111
+ if (yBand)
112
+ ySpans.push(yBand);
113
+ var pieces = [];
114
+ try {
115
+ for (var ySpans_1 = tslib_1.__values(ySpans), ySpans_1_1 = ySpans_1.next(); !ySpans_1_1.done; ySpans_1_1 = ySpans_1.next()) {
116
+ var ySpan = ySpans_1_1.value;
117
+ try {
118
+ for (var xSpans_1 = (e_2 = void 0, tslib_1.__values(xSpans)), xSpans_1_1 = xSpans_1.next(); !xSpans_1_1.done; xSpans_1_1 = xSpans_1.next()) {
119
+ var xSpan = xSpans_1_1.value;
120
+ pieces.push({ canvas: "body", x: xSpan, y: ySpan });
121
+ }
122
+ }
123
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
124
+ finally {
125
+ try {
126
+ if (xSpans_1_1 && !xSpans_1_1.done && (_b = xSpans_1.return)) _b.call(xSpans_1);
127
+ }
128
+ finally { if (e_2) throw e_2.error; }
129
+ }
130
+ if (xi === 0 && rowHeader) {
131
+ pieces.push({ canvas: "rowHeader", x: rowHeader, y: ySpan });
132
+ }
133
+ }
134
+ }
135
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
136
+ finally {
137
+ try {
138
+ if (ySpans_1_1 && !ySpans_1_1.done && (_a = ySpans_1.return)) _a.call(ySpans_1);
139
+ }
140
+ finally { if (e_1) throw e_1.error; }
141
+ }
142
+ if (yi === 0 && columnHeader) {
143
+ try {
144
+ for (var xSpans_2 = tslib_1.__values(xSpans), xSpans_2_1 = xSpans_2.next(); !xSpans_2_1.done; xSpans_2_1 = xSpans_2.next()) {
145
+ var xSpan = xSpans_2_1.value;
146
+ pieces.push({ canvas: "columnHeader", x: xSpan, y: columnHeader });
147
+ }
148
+ }
149
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
150
+ finally {
151
+ try {
152
+ if (xSpans_2_1 && !xSpans_2_1.done && (_c = xSpans_2.return)) _c.call(xSpans_2);
153
+ }
154
+ finally { if (e_3) throw e_3.error; }
155
+ }
156
+ }
157
+ stops.push({
158
+ scrollTop: (_d = yBand === null || yBand === void 0 ? void 0 : yBand.scroll) !== null && _d !== void 0 ? _d : y.currentScroll,
159
+ scrollLeft: (_e = xBand === null || xBand === void 0 ? void 0 : xBand.scroll) !== null && _e !== void 0 ? _e : x.currentScroll,
160
+ pieces: pieces,
161
+ });
162
+ });
163
+ });
164
+ return stops;
165
+ };
166
+ exports.planExportStops = planExportStops;
167
+ /** Where a span sits on the canvas once the grid has landed at `scroll`. */
168
+ var sourceOffset = function (span, scroll) {
169
+ return span.frozen ? span.start : span.start - scroll;
170
+ };
171
+ exports.sourceOffset = sourceOffset;
@@ -213,6 +213,11 @@ export type CellRendererProps<T extends CellData = CellData> = {
213
213
  * Default font size
214
214
  */
215
215
  defaultFontSizePoint: NonNullable<CanvasGridProps["defaultFontSizePoint"]>;
216
+ /**
217
+ * Line-height source for the painter — the same value the sizer fits
218
+ * rows with (see `CanvasGridProps.lineHeightMode`).
219
+ */
220
+ lineHeightMode: NonNullable<CanvasGridProps["lineHeightMode"]>;
216
221
  /**
217
222
  * Is the sheet readonly
218
223
  */
@@ -243,5 +248,5 @@ export type CellRendererProps<T extends CellData = CellData> = {
243
248
  */
244
249
  getDefaultHorizontalAlignment(sheetId: number, rowIndex: number, columnIndex: number): HorizontalAlign | undefined;
245
250
  };
246
- export declare const useCellRenderer: <T extends CellData = CellData>({ sheetId, scale, showGridLines, showZeros, isRowHeader, isColumnHeader, selectedRows, selectedColumns, selectedRowHeaders, selectedColumnHeaders, cellBackgroundColor, headerBorderColor, headerBackgroundColor, headerColor, headerActiveBackgroundColor, headerSelectedBackgroundColor, headerSelectedColor, headerTableBackgroundColor, headerTableActiveBackgroundColor, headerTableSelectedBackgroundColor, chipBackgroundColor, filterIconColor, showCalculatedColumnIcon, enableTextOverflow, showHeaders, theme, getDefaultHorizontalAlignment, isTableFilterVisible, columnContainsTable, rowsContainsTable, canOverflowToNextCell, getTableHeaderSortOrder, getDataValidation, getErrorValue, formulaLocale, getEffectiveValue, getSparklineGroup, getFormattedValue, getNote, getComment, getEffectiveCellFormat, getCellBounds, getCellImageUrl, getCellMetaType, getRowHeaderText, getColumnHeaderText, getMaximumOverflowTextWidth, getTextDimension, getCellGroupingInfo, getTextFormatRuns, onRequestEdit, onFilterClick, onCheckboxClick, isTableHeader, isTableTotalsCell, onTotalsArrowClick, isCalculatedColumnHeader, isTableHeaderFilterActive, HeaderCell, Cell, StructuredResult, gridLineWidth, showNotes, showComments, defaultFontSizePoint, readonly, onExpandCollapse, onOverflow, isComparing, getCellDiff, }: CellRendererProps<T>) => ((props: RendererProps) => React.JSX.Element | null | undefined)[];
251
+ export declare const useCellRenderer: <T extends CellData = CellData>({ sheetId, scale, showGridLines, showZeros, isRowHeader, isColumnHeader, selectedRows, selectedColumns, selectedRowHeaders, selectedColumnHeaders, cellBackgroundColor, headerBorderColor, headerBackgroundColor, headerColor, headerActiveBackgroundColor, headerSelectedBackgroundColor, headerSelectedColor, headerTableBackgroundColor, headerTableActiveBackgroundColor, headerTableSelectedBackgroundColor, chipBackgroundColor, filterIconColor, showCalculatedColumnIcon, enableTextOverflow, showHeaders, theme, getDefaultHorizontalAlignment, isTableFilterVisible, columnContainsTable, rowsContainsTable, canOverflowToNextCell, getTableHeaderSortOrder, getDataValidation, getErrorValue, formulaLocale, getEffectiveValue, getSparklineGroup, getFormattedValue, getNote, getComment, getEffectiveCellFormat, getCellBounds, getCellImageUrl, getCellMetaType, getRowHeaderText, getColumnHeaderText, getMaximumOverflowTextWidth, getTextDimension, getCellGroupingInfo, getTextFormatRuns, onRequestEdit, onFilterClick, onCheckboxClick, isTableHeader, isTableTotalsCell, onTotalsArrowClick, isCalculatedColumnHeader, isTableHeaderFilterActive, HeaderCell, Cell, StructuredResult, gridLineWidth, showNotes, showComments, defaultFontSizePoint, lineHeightMode, readonly, onExpandCollapse, onOverflow, isComparing, getCellDiff, }: CellRendererProps<T>) => ((props: RendererProps) => React.JSX.Element | null | undefined)[];
247
252
  //# sourceMappingURL=use-cell-renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-cell-renderer.d.ts","sourceRoot":"","sources":["../../../hooks/use-cell-renderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-cell-renderer.d.ts","sourceRoot":"","sources":["../../../hooks/use-cell-renderer.tsx"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ var themes_1 = require("../themes");
19
19
  var show_zeros_1 = require("./show-zeros");
20
20
  var use_cell_diff_highlight_1 = require("./use-cell-diff-highlight");
21
21
  var useCellRenderer = function (_a) {
22
- var sheetId = _a.sheetId, scale = _a.scale, showGridLines = _a.showGridLines, showZeros = _a.showZeros, isRowHeader = _a.isRowHeader, isColumnHeader = _a.isColumnHeader, selectedRows = _a.selectedRows, selectedColumns = _a.selectedColumns, selectedRowHeaders = _a.selectedRowHeaders, selectedColumnHeaders = _a.selectedColumnHeaders, cellBackgroundColor = _a.cellBackgroundColor, headerBorderColor = _a.headerBorderColor, headerBackgroundColor = _a.headerBackgroundColor, headerColor = _a.headerColor, headerActiveBackgroundColor = _a.headerActiveBackgroundColor, headerSelectedBackgroundColor = _a.headerSelectedBackgroundColor, headerSelectedColor = _a.headerSelectedColor, headerTableBackgroundColor = _a.headerTableBackgroundColor, headerTableActiveBackgroundColor = _a.headerTableActiveBackgroundColor, headerTableSelectedBackgroundColor = _a.headerTableSelectedBackgroundColor, chipBackgroundColor = _a.chipBackgroundColor, filterIconColor = _a.filterIconColor, showCalculatedColumnIcon = _a.showCalculatedColumnIcon, enableTextOverflow = _a.enableTextOverflow, showHeaders = _a.showHeaders, theme = _a.theme, getDefaultHorizontalAlignment = _a.getDefaultHorizontalAlignment, isTableFilterVisible = _a.isTableFilterVisible, columnContainsTable = _a.columnContainsTable, rowsContainsTable = _a.rowsContainsTable, canOverflowToNextCell = _a.canOverflowToNextCell, getTableHeaderSortOrder = _a.getTableHeaderSortOrder, getDataValidation = _a.getDataValidation, getErrorValue = _a.getErrorValue, formulaLocale = _a.formulaLocale, getEffectiveValue = _a.getEffectiveValue, getSparklineGroup = _a.getSparklineGroup, getFormattedValue = _a.getFormattedValue, getNote = _a.getNote, getComment = _a.getComment, getEffectiveCellFormat = _a.getEffectiveCellFormat, getCellBounds = _a.getCellBounds, getCellImageUrl = _a.getCellImageUrl, getCellMetaType = _a.getCellMetaType, getRowHeaderText = _a.getRowHeaderText, getColumnHeaderText = _a.getColumnHeaderText, getMaximumOverflowTextWidth = _a.getMaximumOverflowTextWidth, getTextDimension = _a.getTextDimension, getCellGroupingInfo = _a.getCellGroupingInfo, getTextFormatRuns = _a.getTextFormatRuns, onRequestEdit = _a.onRequestEdit, onFilterClick = _a.onFilterClick, onCheckboxClick = _a.onCheckboxClick, isTableHeader = _a.isTableHeader, isTableTotalsCell = _a.isTableTotalsCell, onTotalsArrowClick = _a.onTotalsArrowClick, isCalculatedColumnHeader = _a.isCalculatedColumnHeader, isTableHeaderFilterActive = _a.isTableHeaderFilterActive, HeaderCell = _a.HeaderCell, Cell = _a.Cell, StructuredResult = _a.StructuredResult, gridLineWidth = _a.gridLineWidth, showNotes = _a.showNotes, showComments = _a.showComments, defaultFontSizePoint = _a.defaultFontSizePoint, readonly = _a.readonly, onExpandCollapse = _a.onExpandCollapse, onOverflow = _a.onOverflow, _b = _a.isComparing, isComparing = _b === void 0 ? false : _b, getCellDiff = _a.getCellDiff;
22
+ var sheetId = _a.sheetId, scale = _a.scale, showGridLines = _a.showGridLines, showZeros = _a.showZeros, isRowHeader = _a.isRowHeader, isColumnHeader = _a.isColumnHeader, selectedRows = _a.selectedRows, selectedColumns = _a.selectedColumns, selectedRowHeaders = _a.selectedRowHeaders, selectedColumnHeaders = _a.selectedColumnHeaders, cellBackgroundColor = _a.cellBackgroundColor, headerBorderColor = _a.headerBorderColor, headerBackgroundColor = _a.headerBackgroundColor, headerColor = _a.headerColor, headerActiveBackgroundColor = _a.headerActiveBackgroundColor, headerSelectedBackgroundColor = _a.headerSelectedBackgroundColor, headerSelectedColor = _a.headerSelectedColor, headerTableBackgroundColor = _a.headerTableBackgroundColor, headerTableActiveBackgroundColor = _a.headerTableActiveBackgroundColor, headerTableSelectedBackgroundColor = _a.headerTableSelectedBackgroundColor, chipBackgroundColor = _a.chipBackgroundColor, filterIconColor = _a.filterIconColor, showCalculatedColumnIcon = _a.showCalculatedColumnIcon, enableTextOverflow = _a.enableTextOverflow, showHeaders = _a.showHeaders, theme = _a.theme, getDefaultHorizontalAlignment = _a.getDefaultHorizontalAlignment, isTableFilterVisible = _a.isTableFilterVisible, columnContainsTable = _a.columnContainsTable, rowsContainsTable = _a.rowsContainsTable, canOverflowToNextCell = _a.canOverflowToNextCell, getTableHeaderSortOrder = _a.getTableHeaderSortOrder, getDataValidation = _a.getDataValidation, getErrorValue = _a.getErrorValue, formulaLocale = _a.formulaLocale, getEffectiveValue = _a.getEffectiveValue, getSparklineGroup = _a.getSparklineGroup, getFormattedValue = _a.getFormattedValue, getNote = _a.getNote, getComment = _a.getComment, getEffectiveCellFormat = _a.getEffectiveCellFormat, getCellBounds = _a.getCellBounds, getCellImageUrl = _a.getCellImageUrl, getCellMetaType = _a.getCellMetaType, getRowHeaderText = _a.getRowHeaderText, getColumnHeaderText = _a.getColumnHeaderText, getMaximumOverflowTextWidth = _a.getMaximumOverflowTextWidth, getTextDimension = _a.getTextDimension, getCellGroupingInfo = _a.getCellGroupingInfo, getTextFormatRuns = _a.getTextFormatRuns, onRequestEdit = _a.onRequestEdit, onFilterClick = _a.onFilterClick, onCheckboxClick = _a.onCheckboxClick, isTableHeader = _a.isTableHeader, isTableTotalsCell = _a.isTableTotalsCell, onTotalsArrowClick = _a.onTotalsArrowClick, isCalculatedColumnHeader = _a.isCalculatedColumnHeader, isTableHeaderFilterActive = _a.isTableHeaderFilterActive, HeaderCell = _a.HeaderCell, Cell = _a.Cell, StructuredResult = _a.StructuredResult, gridLineWidth = _a.gridLineWidth, showNotes = _a.showNotes, showComments = _a.showComments, defaultFontSizePoint = _a.defaultFontSizePoint, lineHeightMode = _a.lineHeightMode, readonly = _a.readonly, onExpandCollapse = _a.onExpandCollapse, onOverflow = _a.onOverflow, _b = _a.isComparing, isComparing = _b === void 0 ? false : _b, getCellDiff = _a.getCellDiff;
23
23
  // Version comparison diff highlighting - only active when isComparing is true
24
24
  var _c = (0, use_cell_diff_highlight_1.useCellDiffHighlight)(isComparing ? getCellDiff : undefined), mergeCellFormatWithDiff = _c.mergeCellFormatWithDiff, getDiffHighlight = _c.getDiffHighlight;
25
25
  // Edit
@@ -177,7 +177,7 @@ var useCellRenderer = function (_a) {
177
177
  var _a;
178
178
  return (_a = getEffectiveValue(sheetId, cell.rowIndex, cell.columnIndex)) === null || _a === void 0 ? void 0 : _a.structuredValue;
179
179
  })
180
- : undefined, defaultFontSizePoint: defaultFontSizePoint, sortOrder: sortOrder, StructuredResult: StructuredResult, textFormatRuns: textFormatRuns, readonly: readonly, onExpandCollapse: function () {
180
+ : undefined, defaultFontSizePoint: defaultFontSizePoint, lineHeightMode: lineHeightMode, sortOrder: sortOrder, StructuredResult: StructuredResult, textFormatRuns: textFormatRuns, readonly: readonly, onExpandCollapse: function () {
181
181
  var args = [];
182
182
  for (var _i = 0; _i < arguments.length; _i++) {
183
183
  args[_i] = arguments[_i];
@@ -193,6 +193,7 @@ var useCellRenderer = function (_a) {
193
193
  showNotes,
194
194
  showComments,
195
195
  defaultFontSizePoint,
196
+ lineHeightMode,
196
197
  cellBackgroundColor,
197
198
  chipBackgroundColor,
198
199
  filterIconColor,
@@ -13,6 +13,10 @@ export type UseCopyPasteCutProps = {
13
13
  * Current sheet selection
14
14
  */
15
15
  selections: SelectionArea[];
16
+ /**
17
+ * Grid is readonly: paste and cut are refused, copy stays allowed
18
+ */
19
+ readonly?: boolean;
16
20
  /**
17
21
  * Programmatically focus the sheet
18
22
  */
@@ -50,7 +54,7 @@ export type PasteSpecialOptions = {
50
54
  };
51
55
  /** Argument accepted by `paste()` — a legacy single mode or the full dialog request. */
52
56
  export type PasteSpecialRequest = PasteSpecialType | PasteSpecialOptions;
53
- export declare const useCopyPasteCut: ({ selections, activeCell, sheetId, onPaste, onCopy, onCut, focusSheet, }: UseCopyPasteCutProps) => {
57
+ export declare const useCopyPasteCut: ({ selections, activeCell, sheetId, readonly, onPaste, onCopy, onCut, focusSheet, }: UseCopyPasteCutProps) => {
54
58
  selections: SelectionArea[];
55
59
  copy: () => void;
56
60
  cut: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-copy-paste-cut.d.ts","sourceRoot":"","sources":["../../../hooks/use-copy-paste-cut.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAYvE,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,mCAAmC,CAAC;AAK3C,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,EAAE,aAAa,CAAC;IAC1B;;OAEG;IACH,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B;;OAEG;IACH,UAAU,IAAI,IAAI,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACpC;;OAEG;IACH,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,YAAY,GACZ,OAAO,GACP,SAAS,GACT,MAAM,CAAC;AAEX,2FAA2F;AAC3F,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/E;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAClD,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wFAAwF;AACxF,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;AAEzE,eAAO,MAAM,eAAe,GAAI,0EAQ7B,oBAAoB;;;;2BAsSG,mBAAmB;;IA4DzC,wEAAwE;;IAExE,kDAAkD;;;;wBA1O9C,cAAc;yBAwDd,cAAc;uBAvBd,cAAc;CAiNrB,CAAC"}
1
+ {"version":3,"file":"use-copy-paste-cut.d.ts","sourceRoot":"","sources":["../../../hooks/use-copy-paste-cut.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAYvE,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,mCAAmC,CAAC;AAK3C,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,EAAE,aAAa,CAAC;IAC1B;;OAEG;IACH,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,UAAU,IAAI,IAAI,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACpC;;OAEG;IACH,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,YAAY,GACZ,OAAO,GACP,SAAS,GACT,MAAM,CAAC;AAEX,2FAA2F;AAC3F,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/E;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAClD,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wFAAwF;AACxF,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;AAEzE,eAAO,MAAM,eAAe,GAAI,oFAS7B,oBAAoB;;;;2BAqTG,mBAAmB;;IA4DzC,wEAAwE;;IAExE,kDAAkD;;;;wBAzP9C,cAAc;yBA8Dd,cAAc;uBA3Bd,cAAc;CA8NrB,CAAC"}
@@ -12,10 +12,10 @@ var config_1 = require("../config");
12
12
  var use_callback_ref_1 = require("./use-callback-ref");
13
13
  var use_isomorphic_layout_effect_1 = require("./use-isomorphic-layout-effect");
14
14
  var useCopyPasteCut = function (_a) {
15
- var selections = _a.selections, activeCell = _a.activeCell, sheetId = _a.sheetId, onPaste = _a.onPaste, onCopy = _a.onCopy, onCut = _a.onCut, focusSheet = _a.focusSheet;
15
+ var selections = _a.selections, activeCell = _a.activeCell, sheetId = _a.sheetId, _b = _a.readonly, readonly = _b === void 0 ? false : _b, onPaste = _a.onPaste, onCopy = _a.onCopy, onCut = _a.onCut, focusSheet = _a.focusSheet;
16
16
  var cellEditorInstance = (0, atoms_1.useCellEditorInstance)();
17
17
  var getCellBounds = (0, atoms_1.useGetCellBounds)();
18
- var _b = tslib_1.__read((0, react_1.useState)(config_1.DEFAULT_ARRAY), 2), copiedSelections = _b[0], setCopiedSelections = _b[1];
18
+ var _c = tslib_1.__read((0, react_1.useState)(config_1.DEFAULT_ARRAY), 2), copiedSelections = _c[0], setCopiedSelections = _c[1];
19
19
  // SheetId of the copied selection
20
20
  var copiedSheetIdRef = (0, react_1.useRef)(undefined);
21
21
  var getActiveSheetId = (0, use_callback_ref_1.useCallbackRef)(function () { return sheetId; });
@@ -24,7 +24,7 @@ var useCopyPasteCut = function (_a) {
24
24
  // Render-visible twin of `isCutOperation` (a ref, so it can't drive the
25
25
  // context menu's "Insert Cut Cells" item): true from Ctrl+X until the cut is
26
26
  // pasted / inserted or the marquee is dismissed.
27
- var _c = tslib_1.__read((0, react_1.useState)(false), 2), isCutPending = _c[0], setIsCutPending = _c[1];
27
+ var _d = tslib_1.__read((0, react_1.useState)(false), 2), isCutPending = _d[0], setIsCutPending = _d[1];
28
28
  // Saved copied selection state to show dashed borders. Cleared everytime user does `Paste`
29
29
  var copiedSelectionRef = (0, react_1.useRef)(undefined);
30
30
  // Saves copied selection, Only clears when user does `Cut/Paste`
@@ -129,8 +129,14 @@ var useCopyPasteCut = function (_a) {
129
129
  initialCopiedSelectionRef.current = currentSelections;
130
130
  return true;
131
131
  }, [onCopyRef, getSelections, getActiveSheetId, sheetId]);
132
- // Cut operation
132
+ // Cut operation. A readonly grid cannot remove the cells, so the gesture
133
+ // degrades to a copy: the clipboard still receives the selection, but no
134
+ // cut is pending and `onCut` is never reached.
133
135
  var handleCut = (0, react_1.useCallback)(function (e) {
136
+ if (readonly) {
137
+ handleCopy(e, false);
138
+ return;
139
+ }
134
140
  // Copy the selections
135
141
  if (!handleCopy(e, true)) {
136
142
  return;
@@ -139,7 +145,7 @@ var useCopyPasteCut = function (_a) {
139
145
  setIsCutPending(true);
140
146
  // Oncut
141
147
  onCutRef === null || onCutRef === void 0 ? void 0 : onCutRef(e, sheetId);
142
- }, [handleCopy, onCutRef, sheetId]);
148
+ }, [handleCopy, onCutRef, readonly, sheetId]);
143
149
  /**
144
150
  * Paste handler
145
151
  * 1. If user has made any selections
@@ -150,6 +156,13 @@ var useCopyPasteCut = function (_a) {
150
156
  var handlePaste = (0, react_1.useCallback)(function (e) {
151
157
  // Prevent the default behavior.
152
158
  e.preventDefault();
159
+ // Every paste into the grid arrives here — the cell editor's native
160
+ // paste event, the context menu's and Paste Special's dispatched
161
+ // ClipboardEvent — so this is the one place the readonly refusal
162
+ // covers them all. Keyboard writes stop in CanvasGrid's handleKeyDown.
163
+ if (readonly) {
164
+ return;
165
+ }
153
166
  if (activeCellRef.current) {
154
167
  /* Get current selections */
155
168
  var currentSelections = selectionsRef.current;
@@ -191,6 +204,7 @@ var useCopyPasteCut = function (_a) {
191
204
  isCutOperation,
192
205
  clearCopiedSelections,
193
206
  onPasteRef,
207
+ readonly,
194
208
  sheetId,
195
209
  setShowPasteMenu,
196
210
  ]);
@@ -70,6 +70,12 @@ type UseEditorSubmitProps = {
70
70
  * serves both engines (legacy `changeBatch`, rnc `change-batch`).
71
71
  */
72
72
  onChangeBatch?: CanvasGridProps["onChangeBatch"];
73
+ /**
74
+ * Runs the Ctrl+Enter commit — the active cell's `onChange` and every `onChangeBatch`
75
+ * rectangle — as ONE undo entry (rowsncolumns/spreadsheet#1145). Each write reaches the engine
76
+ * as its own command; without a batcher each is its own undo step.
77
+ */
78
+ batchHistory?: CanvasGridProps["batchHistory"];
73
79
  /**
74
80
  * Resolve the data-validation enforcement decision for a value about to be
75
81
  * committed at a cell. Returns `undefined` when there is nothing to enforce
@@ -89,6 +95,6 @@ type UseEditorSubmitProps = {
89
95
  */
90
96
  formulaLocale?: FormulaLocale;
91
97
  };
92
- export declare const useEditorSubmit: ({ sheetId, onChangeActiveSheet, setActiveCell, onChange, onComplete, getCommitValidation, showValidationAlert, selections, onChangeBatch, formulaLocale, }: UseEditorSubmitProps) => (value: string | boolean, textFormatRuns: TextFormatRun[] | undefined | null, previousValue: string | boolean | undefined | null, editingSheetId: number, activeCell: CellInterface, nextActiveCell?: CellInterface | null, isDirty?: boolean, options?: EditorSubmitOptions) => Promise<void>;
98
+ export declare const useEditorSubmit: ({ sheetId, onChangeActiveSheet, setActiveCell, onChange, onComplete, getCommitValidation, showValidationAlert, selections, onChangeBatch, batchHistory, formulaLocale, }: UseEditorSubmitProps) => (value: string | boolean, textFormatRuns: TextFormatRun[] | undefined | null, previousValue: string | boolean | undefined | null, editingSheetId: number, activeCell: CellInterface, nextActiveCell?: CellInterface | null, isDirty?: boolean, options?: EditorSubmitOptions) => Promise<void>;
93
99
  export {};
94
100
  //# sourceMappingURL=use-editor-submit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-editor-submit.d.ts","sourceRoot":"","sources":["../../../hooks/use-editor-submit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,KAAK,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnC,uFAAuF;AACvF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;CACxB,CAAC;AAKF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,UAAU,EACjB,YAAY,aAAa,EACzB,MAAM,aAAa,KAClB,UAGQ,CAAC;AAwCZ;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,UAAU,EACjB,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,KAC/C,cAAc,EAgBhB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,uBAAuB,CAAC;CAChC,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B;;OAEG;IACH,mBAAmB,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC5D;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,aAAa,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC;IAChE;;;;;OAKG;IACH,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACtC;;OAEG;IACH,UAAU,CAAC,IAAI,IAAI,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;IAClD;;;;OAIG;IACH,aAAa,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACjD;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,CACpB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GAAG,OAAO,EACvB,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,KAC/C,gBAAgB,GAAG,SAAS,CAAC;IAClC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,4JAW7B,oBAAoB,aAQV,MAAM,GAAG,OAAO,kBACP,aAAa,EAAE,GAAG,SAAS,GAAG,IAAI,iBACnC,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,kBAClC,MAAM,cACV,aAAa,mBACR,aAAa,GAAG,IAAI,YAC3B,OAAO,YACP,mBAAmB,kBAsHlC,CAAC"}
1
+ {"version":3,"file":"use-editor-submit.d.ts","sourceRoot":"","sources":["../../../hooks/use-editor-submit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,KAAK,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnC,uFAAuF;AACvF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;CACxB,CAAC;AAKF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,UAAU,EACjB,YAAY,aAAa,EACzB,MAAM,aAAa,KAClB,UAGQ,CAAC;AAwCZ;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,UAAU,EACjB,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,KAC/C,cAAc,EAgBhB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,uBAAuB,CAAC;CAChC,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B;;OAEG;IACH,mBAAmB,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC5D;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,aAAa,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC;IAChE;;;;;OAKG;IACH,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACtC;;OAEG;IACH,UAAU,CAAC,IAAI,IAAI,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;IAClD;;;;OAIG;IACH,aAAa,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACjD;;;;OAIG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IAC/C;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,CACpB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GAAG,OAAO,EACvB,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,KAC/C,gBAAgB,GAAG,SAAS,CAAC;IAClC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,0KAY7B,oBAAoB,aAQV,MAAM,GAAG,OAAO,kBACP,aAAa,EAAE,GAAG,SAAS,GAAG,IAAI,iBACnC,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,kBAClC,MAAM,cACV,aAAa,mBACR,aAAa,GAAG,IAAI,YAC3B,OAAO,YACP,mBAAmB,kBAoIlC,CAAC"}
@@ -94,7 +94,7 @@ var planEntryFill = function (value, activeCell, selections) {
94
94
  };
95
95
  exports.planEntryFill = planEntryFill;
96
96
  var useEditorSubmit = function (_a) {
97
- var sheetId = _a.sheetId, onChangeActiveSheet = _a.onChangeActiveSheet, setActiveCell = _a.setActiveCell, onChange = _a.onChange, onComplete = _a.onComplete, getCommitValidation = _a.getCommitValidation, showValidationAlert = _a.showValidationAlert, selections = _a.selections, onChangeBatch = _a.onChangeBatch, formulaLocale = _a.formulaLocale;
97
+ var sheetId = _a.sheetId, onChangeActiveSheet = _a.onChangeActiveSheet, setActiveCell = _a.setActiveCell, onChange = _a.onChange, onComplete = _a.onComplete, getCommitValidation = _a.getCommitValidation, showValidationAlert = _a.showValidationAlert, selections = _a.selections, onChangeBatch = _a.onChangeBatch, batchHistory = _a.batchHistory, formulaLocale = _a.formulaLocale;
98
98
  var _b = tslib_1.__read((0, formula_mode_atom_1.useFormulaMode)(), 2), formulaMode = _b[0], setFormulaMode = _b[1];
99
99
  var _c = tslib_1.__read((0, editing_cell_atom_1.useEditingCell)(), 2), _ = _c[0], setEditingCellCoordinate = _c[1];
100
100
  var setActiveEditor = (0, atoms_1.useSetActiveEditor)();
@@ -124,25 +124,44 @@ var useEditorSubmit = function (_a) {
124
124
  onComplete === null || onComplete === void 0 ? void 0 : onComplete();
125
125
  };
126
126
  commit = function () {
127
- var e_3, _a;
128
- var _b;
129
- onChange === null || onChange === void 0 ? void 0 : onChange(editingSheetId, activeCell, value, textFormatRuns, previousValue, isDirty);
127
+ var _a;
128
+ var writeActiveCell = function () {
129
+ return onChange === null || onChange === void 0 ? void 0 : onChange(editingSheetId, activeCell, value, textFormatRuns, previousValue, isDirty);
130
+ };
130
131
  // Ctrl+Enter: the same entry into every other selected cell (formulas shift per cell).
131
132
  // Explicit per-cell values — never a read-back of the cell just written — so the spread
132
- // is correct even when the engine applies `onChange` asynchronously (legacy setState).
133
- if ((options === null || options === void 0 ? void 0 : options.fillSelection) && onChangeBatch) {
134
- try {
135
- for (var _c = tslib_1.__values((0, exports.planEntryFill)(value, activeCell, (_b = selectionsRef.current) !== null && _b !== void 0 ? _b : [])), _d = _c.next(); !_d.done; _d = _c.next()) {
136
- var write = _d.value;
137
- onChangeBatch(editingSheetId, write.range, write.values);
138
- }
139
- }
140
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
141
- finally {
133
+ // is correct even when the engine applies `onChange` asynchronously (legacy setState),
134
+ // and so the writes can share one history batch (the rnc batcher defers them all).
135
+ var fillWrites = (options === null || options === void 0 ? void 0 : options.fillSelection) && onChangeBatch
136
+ ? (0, exports.planEntryFill)(value, activeCell, (_a = selectionsRef.current) !== null && _a !== void 0 ? _a : [])
137
+ : [];
138
+ if (fillWrites.length === 0) {
139
+ writeActiveCell();
140
+ }
141
+ else {
142
+ // One gesture, one undo entry: the active cell and every rectangle together.
143
+ var writeAll = function () {
144
+ var e_3, _a;
145
+ writeActiveCell();
142
146
  try {
143
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
147
+ for (var fillWrites_1 = tslib_1.__values(fillWrites), fillWrites_1_1 = fillWrites_1.next(); !fillWrites_1_1.done; fillWrites_1_1 = fillWrites_1.next()) {
148
+ var write = fillWrites_1_1.value;
149
+ onChangeBatch === null || onChangeBatch === void 0 ? void 0 : onChangeBatch(editingSheetId, write.range, write.values);
150
+ }
144
151
  }
145
- finally { if (e_3) throw e_3.error; }
152
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
153
+ finally {
154
+ try {
155
+ if (fillWrites_1_1 && !fillWrites_1_1.done && (_a = fillWrites_1.return)) _a.call(fillWrites_1);
156
+ }
157
+ finally { if (e_3) throw e_3.error; }
158
+ }
159
+ };
160
+ if (batchHistory) {
161
+ batchHistory(writeAll);
162
+ }
163
+ else {
164
+ writeAll();
146
165
  }
147
166
  }
148
167
  // Switch to active sheet
@@ -208,6 +227,7 @@ var useEditorSubmit = function (_a) {
208
227
  getCommitValidation,
209
228
  showValidationAlert,
210
229
  onChangeBatch,
230
+ batchHistory,
211
231
  formulaLocale,
212
232
  ]);
213
233
  };
@@ -1,24 +1,32 @@
1
- import type { CellInterface, CellPosition, ScrollCoords, ViewPortProps } from "@rowsncolumns/grid";
1
+ import type { ScrollCoords } from "@rowsncolumns/grid";
2
2
  import type { Layer } from "konva/lib/Layer";
3
3
  import type { CanvasGridMethods, CanvasGridProps, ExportFormats } from "../components/canvas-grid/typings";
4
4
  import type { SheetRange } from "../types";
5
+ export type GridDimensions = {
6
+ containerWidth: number;
7
+ containerHeight: number;
8
+ estimatedTotalWidth: number;
9
+ estimatedTotalHeight: number;
10
+ };
5
11
  export type UseExportRangeProps = {
6
12
  sheetId: number;
7
13
  gridLineWidth: number;
8
14
  cellBackgroundColor: string;
15
+ /** Frozen row count as the grid sees it (the header row included). */
16
+ frozenRows: number;
17
+ /** Frozen column count as the grid sees it (the header column included). */
18
+ frozenColumns: number;
9
19
  getCanvasLayers: () => Layer[] | undefined;
10
20
  getRowHeaderCanvasLayer: () => Layer[] | undefined;
11
21
  getColumnHeaderCanvasLayer: () => Layer[] | undefined;
12
22
  getSheetName: CanvasGridProps["getSheetName"];
13
- getCellOffsetFromCoords(cell: CellInterface): CellPosition | undefined;
14
23
  getR1C1AddressFromSelection: CanvasGridMethods["getR1C1AddressFromSelection"];
15
24
  getScrollPosition(): ScrollCoords;
16
- getViewPort(): ViewPortProps;
17
25
  getRowOffset(rowIndex: number): number;
18
26
  getColumnOffset(columnIndex: number): number;
19
27
  getSheetDimensions(): readonly [number, number];
20
- scrollTo?(scrollCoords: ScrollCoords, immediate?: boolean): void;
21
- scrollToCell?: CanvasGridMethods["scrollToCell"];
28
+ getGridDimensions(): GridDimensions | undefined;
29
+ scrollTo(scrollCoords: ScrollCoords, immediate?: boolean): void;
22
30
  scale?: number;
23
31
  onChangeScale?(scale: number): void;
24
32
  };
@@ -32,5 +40,5 @@ export type ExportRangeOutput = {
32
40
  (range: SheetRange, options: ExportRangeOptions<"clipboard">): Promise<void>;
33
41
  (range: SheetRange, options?: ExportRangeOptions): Promise<ArrayBuffer | Blob | void> | undefined;
34
42
  };
35
- export declare const useExportRange: ({ sheetId, gridLineWidth, cellBackgroundColor, getCanvasLayers, getColumnHeaderCanvasLayer, getRowHeaderCanvasLayer, getSheetName, getCellOffsetFromCoords, getR1C1AddressFromSelection, getScrollPosition, getViewPort, getRowOffset, getColumnOffset, getSheetDimensions, scrollTo, scrollToCell, scale, onChangeScale, }: UseExportRangeProps) => ExportRangeOutput;
43
+ export declare const useExportRange: ({ sheetId, gridLineWidth, cellBackgroundColor, frozenRows, frozenColumns, getCanvasLayers, getColumnHeaderCanvasLayer, getRowHeaderCanvasLayer, getSheetName, getR1C1AddressFromSelection, getScrollPosition, getRowOffset, getColumnOffset, getSheetDimensions, getGridDimensions, scrollTo, scale, onChangeScale, }: UseExportRangeProps) => ExportRangeOutput;
36
44
  //# sourceMappingURL=use-export-range.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-export-range.d.ts","sourceRoot":"","sources":["../../../hooks/use-export-range.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,aAAa,EACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,KAAK,EAAE,GAAG,SAAS,CAAC;IAC3C,uBAAuB,EAAE,MAAM,KAAK,EAAE,GAAG,SAAS,CAAC;IACnD,0BAA0B,EAAE,MAAM,KAAK,EAAE,GAAG,SAAS,CAAC;IACtD,YAAY,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IAC9C,uBAAuB,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,GAAG,SAAS,CAAC;IACvE,2BAA2B,EAAE,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;IAC9E,iBAAiB,IAAI,YAAY,CAAC;IAClC,WAAW,IAAI,aAAa,CAAC;IAC7B,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C,kBAAkB,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACjE,YAAY,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAC5C,OAAO,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,GAClC,SAAS,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,6TAmB5B,mBAAmB,KAAG,iBAkTxB,CAAC"}
1
+ {"version":3,"file":"use-export-range.d.ts","sourceRoot":"","sources":["../../../hooks/use-export-range.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,aAAa,EACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAU3C,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,KAAK,EAAE,GAAG,SAAS,CAAC;IAC3C,uBAAuB,EAAE,MAAM,KAAK,EAAE,GAAG,SAAS,CAAC;IACnD,0BAA0B,EAAE,MAAM,KAAK,EAAE,GAAG,SAAS,CAAC;IACtD,YAAY,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IAC9C,2BAA2B,EAAE,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;IAC9E,iBAAiB,IAAI,YAAY,CAAC;IAClC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C,kBAAkB,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAC5C,OAAO,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,GAClC,SAAS,CAAC;CACf,CAAC;AA2EF,eAAO,MAAM,cAAc,GAAI,uTAmB5B,mBAAmB,KAAG,iBAoPxB,CAAC"}