@rowsncolumns/spreadsheet 10.5.5 → 10.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/cjs/components/canvas-grid/index.js +119 -64
- package/dist/cjs/components/canvas-grid/typings.d.ts +24 -1
- package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/cjs/components/cell/index.d.ts.map +1 -1
- package/dist/cjs/components/cell/index.js +15 -6
- package/dist/cjs/components/cell/line-height.d.ts +10 -10
- package/dist/cjs/components/cell/line-height.d.ts.map +1 -1
- package/dist/cjs/components/cell/line-height.js +17 -19
- package/dist/cjs/components/cell/typings.d.ts +3 -1
- package/dist/cjs/components/cell/typings.d.ts.map +1 -1
- package/dist/cjs/components/cell-editor/index.d.ts +1 -1
- package/dist/cjs/components/cell-editor/index.d.ts.map +1 -1
- package/dist/cjs/components/cell-editor/index.js +24 -8
- package/dist/cjs/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
- package/dist/cjs/components/cell-input/formula-bar-cell-input.js +49 -6
- package/dist/cjs/helpers.d.ts.map +1 -1
- package/dist/cjs/helpers.js +2 -1
- package/dist/cjs/hooks/use-context-setter.d.ts.map +1 -1
- package/dist/cjs/hooks/use-context-setter.js +3 -1
- package/dist/cjs/hooks/use-editable.d.ts +29 -1
- package/dist/cjs/hooks/use-editable.d.ts.map +1 -1
- package/dist/cjs/hooks/use-editable.js +70 -13
- package/dist/cjs/hooks/use-editor-change.d.ts.map +1 -1
- package/dist/cjs/hooks/use-editor-change.js +9 -3
- package/dist/cjs/hooks/use-editor-keydown.d.ts +2 -1
- package/dist/cjs/hooks/use-editor-keydown.d.ts.map +1 -1
- package/dist/cjs/hooks/use-editor-keydown.js +5 -3
- package/dist/cjs/hooks/use-filter.d.ts +1 -1
- package/dist/cjs/hooks/use-filter.d.ts.map +1 -1
- package/dist/cjs/hooks/use-filter.js +4 -2
- package/dist/cjs/hooks/use-keyboard-handler.d.ts +9 -1
- package/dist/cjs/hooks/use-keyboard-handler.d.ts.map +1 -1
- package/dist/cjs/hooks/use-keyboard-handler.js +88 -39
- package/dist/cjs/hooks/use-sizer.d.ts +3 -1
- package/dist/cjs/hooks/use-sizer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-sizer.js +7 -4
- package/dist/cjs/platform.d.ts +9 -0
- package/dist/cjs/platform.d.ts.map +1 -0
- package/dist/cjs/platform.js +21 -0
- package/dist/cjs/release-date.js +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/esm/components/canvas-grid/index.js +57 -5
- package/dist/esm/components/canvas-grid/typings.d.ts +24 -1
- package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/esm/components/cell/index.d.ts.map +1 -1
- package/dist/esm/components/cell/index.js +17 -8
- package/dist/esm/components/cell/line-height.d.ts +10 -10
- package/dist/esm/components/cell/line-height.d.ts.map +1 -1
- package/dist/esm/components/cell/line-height.js +15 -15
- package/dist/esm/components/cell/typings.d.ts +3 -1
- package/dist/esm/components/cell/typings.d.ts.map +1 -1
- package/dist/esm/components/cell-editor/index.d.ts +1 -1
- package/dist/esm/components/cell-editor/index.d.ts.map +1 -1
- package/dist/esm/components/cell-editor/index.js +20 -4
- package/dist/esm/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
- package/dist/esm/components/cell-input/formula-bar-cell-input.js +49 -7
- package/dist/esm/helpers.d.ts.map +1 -1
- package/dist/esm/helpers.js +2 -1
- package/dist/esm/hooks/use-context-setter.d.ts.map +1 -1
- package/dist/esm/hooks/use-context-setter.js +3 -1
- package/dist/esm/hooks/use-editable.d.ts +29 -1
- package/dist/esm/hooks/use-editable.d.ts.map +1 -1
- package/dist/esm/hooks/use-editable.js +67 -7
- package/dist/esm/hooks/use-editor-change.d.ts.map +1 -1
- package/dist/esm/hooks/use-editor-change.js +10 -4
- package/dist/esm/hooks/use-editor-keydown.d.ts +2 -1
- package/dist/esm/hooks/use-editor-keydown.d.ts.map +1 -1
- package/dist/esm/hooks/use-editor-keydown.js +5 -3
- package/dist/esm/hooks/use-filter.d.ts +1 -1
- package/dist/esm/hooks/use-filter.d.ts.map +1 -1
- package/dist/esm/hooks/use-filter.js +4 -2
- package/dist/esm/hooks/use-keyboard-handler.d.ts +9 -1
- package/dist/esm/hooks/use-keyboard-handler.d.ts.map +1 -1
- package/dist/esm/hooks/use-keyboard-handler.js +88 -39
- package/dist/esm/hooks/use-sizer.d.ts +3 -1
- package/dist/esm/hooks/use-sizer.d.ts.map +1 -1
- package/dist/esm/hooks/use-sizer.js +8 -5
- package/dist/esm/platform.d.ts +9 -0
- package/dist/esm/platform.d.ts.map +1 -0
- package/dist/esm/platform.js +16 -0
- package/dist/esm/release-date.js +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -63,11 +63,19 @@ type FormattingKeyboardProps = {
|
|
|
63
63
|
onRequestGoTo?: CanvasGridProps["onRequestGoTo"];
|
|
64
64
|
/** Ctrl+Alt+V — Paste Special dialog (Excel). */
|
|
65
65
|
onRequestPasteSpecial?: () => void;
|
|
66
|
+
/** ⌃U on a Mac under the Excel keymap: edit the active cell, as F2. */
|
|
67
|
+
onRequestEditCell?(sheetId: number, cell: CellInterface): void;
|
|
68
|
+
/**
|
|
69
|
+
* Alt+↓ under the Excel keymap: open the active cell's list — a filter
|
|
70
|
+
* header's menu or a list validation's dropdown. Returns whether one
|
|
71
|
+
* opened; the key is left alone otherwise.
|
|
72
|
+
*/
|
|
73
|
+
onShowCellList?(sheetId: number, cell: CellInterface): boolean;
|
|
66
74
|
/** Ctrl+' / Ctrl+Shift+" write the cell above into the active cell */
|
|
67
75
|
onChangeBatch?: CanvasGridProps["onChangeBatch"];
|
|
68
76
|
getUserEnteredValue?(sheetId: number, rowIndex: number, columnIndex: number): string | undefined | null;
|
|
69
77
|
getEffectiveValue?(sheetId: number, rowIndex: number, columnIndex: number): Maybe<ExtendedValue>;
|
|
70
78
|
};
|
|
71
|
-
export declare const useKeyboardHandler: ({ sheetId, locale, selectedRows, selectedColumns, selectedRowHeadersIds, selectedColumnHeadersIds, showFormulas, keymap, defaultFontSizePoint, onShowFormulas, onChangeFormatting, onRepeatFormatting, onClearFormatting, onSelectNextSheet, onSelectPreviousSheet, onCreateNewSheet, onFillRange, disableFillRightShortcut, onInsertTime, onInsertDate, onInsertDateTime, onInsertNote, onInsertAutoSum, onRedo, onUndo, onRequestSearch, onRequestReplace, onRequestFormatCells, onRequestInsertComment, onRequestInsertLink, onCreateTable, onRequestCreateTable, onCreateBasicFilter, clearCopiedSelections, getCellFormat, onShowContextMenu, onHideColumn, onShowColumn, onGroupColumns, onUngroupColumns, onHideRow, onShowRow, onGroupRows, onUngroupRows, onDeleteRow, onInsertRow, onAddQuickEdit, onCalculateNow, onRequestGoTo, onRequestPasteSpecial, onChangeBatch, getUserEnteredValue, getEffectiveValue, canEditCell, isSheetFocused, activeCell, selections, }: FormattingKeyboardProps) => (e: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
79
|
+
export declare const useKeyboardHandler: ({ sheetId, locale, selectedRows, selectedColumns, selectedRowHeadersIds, selectedColumnHeadersIds, showFormulas, keymap, defaultFontSizePoint, onShowFormulas, onChangeFormatting, onRepeatFormatting, onClearFormatting, onSelectNextSheet, onSelectPreviousSheet, onCreateNewSheet, onFillRange, disableFillRightShortcut, onInsertTime, onInsertDate, onInsertDateTime, onInsertNote, onInsertAutoSum, onRedo, onUndo, onRequestSearch, onRequestReplace, onRequestFormatCells, onRequestInsertComment, onRequestInsertLink, onCreateTable, onRequestCreateTable, onCreateBasicFilter, clearCopiedSelections, getCellFormat, onShowContextMenu, onHideColumn, onShowColumn, onGroupColumns, onUngroupColumns, onHideRow, onShowRow, onGroupRows, onUngroupRows, onDeleteRow, onInsertRow, onAddQuickEdit, onCalculateNow, onRequestGoTo, onRequestPasteSpecial, onRequestEditCell, onShowCellList, onChangeBatch, getUserEnteredValue, getEffectiveValue, canEditCell, isSheetFocused, activeCell, selections, }: FormattingKeyboardProps) => (e: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
72
80
|
export {};
|
|
73
81
|
//# sourceMappingURL=use-keyboard-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-keyboard-handler.d.ts","sourceRoot":"","sources":["../../../hooks/use-keyboard-handler.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AASvE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACpB,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"use-keyboard-handler.d.ts","sourceRoot":"","sources":["../../../hooks/use-keyboard-handler.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var grid_1 = require("@rowsncolumns/grid");
|
|
6
6
|
var utils_1 = require("@rowsncolumns/utils");
|
|
7
7
|
var react_1 = require("react");
|
|
8
|
+
var platform_1 = require("../platform");
|
|
8
9
|
var use_callback_ref_1 = require("./use-callback-ref");
|
|
9
10
|
/**
|
|
10
11
|
* The computed value of a cell as the constant Excel's Ctrl+Shift+" writes
|
|
@@ -60,17 +61,41 @@ var useKeyboardHandler = function (_a) {
|
|
|
60
61
|
// Quick edit
|
|
61
62
|
onAddQuickEdit = _a.onAddQuickEdit,
|
|
62
63
|
// Excel keymap
|
|
63
|
-
onCalculateNow = _a.onCalculateNow, onRequestGoTo = _a.onRequestGoTo, onRequestPasteSpecial = _a.onRequestPasteSpecial, onChangeBatch = _a.onChangeBatch, getUserEnteredValue = _a.getUserEnteredValue, getEffectiveValue = _a.getEffectiveValue, canEditCell = _a.canEditCell, isSheetFocused = _a.isSheetFocused, activeCell = _a.activeCell, selections = _a.selections;
|
|
64
|
+
onCalculateNow = _a.onCalculateNow, onRequestGoTo = _a.onRequestGoTo, onRequestPasteSpecial = _a.onRequestPasteSpecial, onRequestEditCell = _a.onRequestEditCell, onShowCellList = _a.onShowCellList, onChangeBatch = _a.onChangeBatch, getUserEnteredValue = _a.getUserEnteredValue, getEffectiveValue = _a.getEffectiveValue, canEditCell = _a.canEditCell, isSheetFocused = _a.isSheetFocused, activeCell = _a.activeCell, selections = _a.selections;
|
|
64
65
|
return (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function (e) {
|
|
65
66
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
66
67
|
var isCtrl = e.ctrlKey; // Ctrl
|
|
67
|
-
|
|
68
|
+
// Under the Excel keymap on a Mac ⌃ is a modifier of its own, as in
|
|
69
|
+
// Excel for Mac; only ⌘ is the command key there. Everywhere else
|
|
70
|
+
// (Windows, Linux, the Sheets keymap) Ctrl is the command key.
|
|
71
|
+
var isMacControl = keymap === "excel" && isCtrl && !e.metaKey && (0, platform_1.isMacPlatform)();
|
|
72
|
+
var isMeta = e.metaKey || (!e.metaKey && e.ctrlKey && !isMacControl); // Command
|
|
68
73
|
var isShift = e.shiftKey; // Shift
|
|
69
74
|
var isAlt = e.altKey; // option
|
|
70
75
|
// Layout-independent: Cyrillic/Greek layouts and macOS Option dead
|
|
71
76
|
// characters resolve to the physical key (#539)
|
|
72
77
|
var key = (0, utils_1.getHotkeyKey)(e);
|
|
73
78
|
var code = e.code;
|
|
79
|
+
// Excel for Mac's own ⌃ chords the grid has an action for. ⌃U edits
|
|
80
|
+
// the active cell (as F2); ⇧⌃U expands the host's formula bar, so the
|
|
81
|
+
// grid leaves it alone; ⌃⌥V is Paste Special. Any other ⌃ chord that
|
|
82
|
+
// is not one of the grid's Ctrl bindings below (Ctrl+Shift+1…6
|
|
83
|
+
// number formats, Ctrl+~ — ⌃ in Excel for Mac too) falls through
|
|
84
|
+
// untouched, for macOS's text-field keys (⌃A / ⌃E / ⌃K) and the host.
|
|
85
|
+
if (isMacControl && code === "KeyU" && !isAlt) {
|
|
86
|
+
if (!isShift && onRequestEditCell) {
|
|
87
|
+
onRequestEditCell(sheetId, activeCell);
|
|
88
|
+
e.preventDefault();
|
|
89
|
+
}
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (isMacControl && isAlt && !isShift && code === "KeyV") {
|
|
93
|
+
if (onRequestPasteSpecial) {
|
|
94
|
+
onRequestPasteSpecial();
|
|
95
|
+
e.preventDefault();
|
|
96
|
+
}
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
74
99
|
var longDateFormat = (0, utils_1.getLongDateFormat)(locale);
|
|
75
100
|
var currencySymbol = "$";
|
|
76
101
|
var rowIndex = activeCell.rowIndex, columnIndex = activeCell.columnIndex;
|
|
@@ -209,13 +234,28 @@ var useKeyboardHandler = function (_a) {
|
|
|
209
234
|
}
|
|
210
235
|
if (isAlt) {
|
|
211
236
|
switch (key) {
|
|
212
|
-
// Option/Alt + ArrowUp
|
|
237
|
+
// Option/Alt + ArrowUp — previous sheet (Sheets). Nothing in
|
|
238
|
+
// Excel, so the Excel keymap leaves the key alone.
|
|
213
239
|
case "ArrowUp":
|
|
240
|
+
if (keymap === "excel") {
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
214
243
|
onSelectPreviousSheet === null || onSelectPreviousSheet === void 0 ? void 0 : onSelectPreviousSheet(sheetId);
|
|
215
244
|
e.preventDefault();
|
|
216
245
|
return;
|
|
217
|
-
// Option/Alt + ArrowDown
|
|
246
|
+
// Option/Alt + ArrowDown — next sheet (Sheets). In Excel it opens
|
|
247
|
+
// the active cell's list: a filter header's menu, else a list
|
|
248
|
+
// validation's dropdown, else nothing.
|
|
218
249
|
case "ArrowDown":
|
|
250
|
+
if (keymap === "excel") {
|
|
251
|
+
if (!isMeta &&
|
|
252
|
+
!isCtrl &&
|
|
253
|
+
!isShift &&
|
|
254
|
+
(onShowCellList === null || onShowCellList === void 0 ? void 0 : onShowCellList(sheetId, activeCell))) {
|
|
255
|
+
e.preventDefault();
|
|
256
|
+
}
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
219
259
|
onSelectNextSheet === null || onSelectNextSheet === void 0 ? void 0 : onSelectNextSheet(sheetId);
|
|
220
260
|
e.preventDefault();
|
|
221
261
|
return;
|
|
@@ -327,16 +367,6 @@ var useKeyboardHandler = function (_a) {
|
|
|
327
367
|
}, [[value]]);
|
|
328
368
|
break;
|
|
329
369
|
}
|
|
330
|
-
// Cmd/Ctrl + ;
|
|
331
|
-
case ";":
|
|
332
|
-
e.preventDefault();
|
|
333
|
-
if (isShift) {
|
|
334
|
-
onInsertTime === null || onInsertTime === void 0 ? void 0 : onInsertTime(sheetId, activeCell, selections);
|
|
335
|
-
}
|
|
336
|
-
else {
|
|
337
|
-
onInsertDate === null || onInsertDate === void 0 ? void 0 : onInsertDate(sheetId, activeCell, selections);
|
|
338
|
-
}
|
|
339
|
-
break;
|
|
340
370
|
// Cmd/Ctrl + Shift + L/E/R (or Cmd/Ctrl + R for fill right)
|
|
341
371
|
case "l":
|
|
342
372
|
case "e":
|
|
@@ -383,30 +413,6 @@ var useKeyboardHandler = function (_a) {
|
|
|
383
413
|
e.preventDefault();
|
|
384
414
|
}
|
|
385
415
|
break;
|
|
386
|
-
// Cmd/Ctrl + Shift + , or .
|
|
387
|
-
case ",":
|
|
388
|
-
case ".":
|
|
389
|
-
if (isShift) {
|
|
390
|
-
var fontSize = (_l = (_k = (_j = getCellFormat === null || getCellFormat === void 0 ? void 0 : getCellFormat(sheetId, rowIndex, columnIndex)) === null || _j === void 0 ? void 0 : _j.textFormat) === null || _k === void 0 ? void 0 : _k.fontSize) !== null && _l !== void 0 ? _l : defaultFontSizePoint;
|
|
391
|
-
onChangeFormatting === null || onChangeFormatting === void 0 ? void 0 : onChangeFormatting(sheetId, activeCell, selections, "textFormat", {
|
|
392
|
-
fontSize: Number(fontSize) + (key === "," ? -1 : 1),
|
|
393
|
-
});
|
|
394
|
-
}
|
|
395
|
-
break;
|
|
396
|
-
// Cmd/Ctrl + Shift + -
|
|
397
|
-
case "-":
|
|
398
|
-
if (isShift) {
|
|
399
|
-
onDeleteRow === null || onDeleteRow === void 0 ? void 0 : onDeleteRow(sheetId, [rowIndex]);
|
|
400
|
-
e.preventDefault();
|
|
401
|
-
}
|
|
402
|
-
break;
|
|
403
|
-
// Cmd/Ctrl + Shift + =
|
|
404
|
-
case "=":
|
|
405
|
-
if (isShift) {
|
|
406
|
-
onInsertRow === null || onInsertRow === void 0 ? void 0 : onInsertRow(sheetId, rowIndex, 1);
|
|
407
|
-
e.preventDefault();
|
|
408
|
-
}
|
|
409
|
-
break;
|
|
410
416
|
}
|
|
411
417
|
// Digiits
|
|
412
418
|
switch (code) {
|
|
@@ -423,7 +429,7 @@ var useKeyboardHandler = function (_a) {
|
|
|
423
429
|
case "Digit5":
|
|
424
430
|
if (!isAlt && !isShift) {
|
|
425
431
|
onChangeFormatting === null || onChangeFormatting === void 0 ? void 0 : onChangeFormatting(sheetId, activeCell, selections, "textFormat", {
|
|
426
|
-
strikethrough: !((
|
|
432
|
+
strikethrough: !((_k = (_j = getCellFormat === null || getCellFormat === void 0 ? void 0 : getCellFormat(sheetId, rowIndex, columnIndex)) === null || _j === void 0 ? void 0 : _j.textFormat) === null || _k === void 0 ? void 0 : _k.strikethrough),
|
|
427
433
|
});
|
|
428
434
|
e.preventDefault();
|
|
429
435
|
}
|
|
@@ -470,6 +476,47 @@ var useKeyboardHandler = function (_a) {
|
|
|
470
476
|
onShowFormulas === null || onShowFormulas === void 0 ? void 0 : onShowFormulas(sheetId, !showFormulas);
|
|
471
477
|
}
|
|
472
478
|
break;
|
|
479
|
+
// Shifted punctuation is matched by code: `getHotkeyKey` returns
|
|
480
|
+
// the printed character (`:`, `<`, `>`, `+`, `_` on a US layout),
|
|
481
|
+
// so the unshifted character never matches with Shift held.
|
|
482
|
+
// Cmd/Ctrl + ; (date) or Cmd/Ctrl + Shift + ; (time).
|
|
483
|
+
// Cmd/Ctrl + Option/Alt + Shift + ; is date and time, below.
|
|
484
|
+
case "Semicolon":
|
|
485
|
+
if (isAlt)
|
|
486
|
+
break;
|
|
487
|
+
e.preventDefault();
|
|
488
|
+
if (isShift) {
|
|
489
|
+
onInsertTime === null || onInsertTime === void 0 ? void 0 : onInsertTime(sheetId, activeCell, selections);
|
|
490
|
+
}
|
|
491
|
+
else {
|
|
492
|
+
onInsertDate === null || onInsertDate === void 0 ? void 0 : onInsertDate(sheetId, activeCell, selections);
|
|
493
|
+
}
|
|
494
|
+
break;
|
|
495
|
+
// Cmd/Ctrl + Shift + , or . — font size down / up
|
|
496
|
+
case "Comma":
|
|
497
|
+
case "Period":
|
|
498
|
+
if (isShift) {
|
|
499
|
+
var fontSize = (_o = (_m = (_l = getCellFormat === null || getCellFormat === void 0 ? void 0 : getCellFormat(sheetId, rowIndex, columnIndex)) === null || _l === void 0 ? void 0 : _l.textFormat) === null || _m === void 0 ? void 0 : _m.fontSize) !== null && _o !== void 0 ? _o : defaultFontSizePoint;
|
|
500
|
+
onChangeFormatting === null || onChangeFormatting === void 0 ? void 0 : onChangeFormatting(sheetId, activeCell, selections, "textFormat", {
|
|
501
|
+
fontSize: Number(fontSize) + (code === "Comma" ? -1 : 1),
|
|
502
|
+
});
|
|
503
|
+
}
|
|
504
|
+
break;
|
|
505
|
+
// Cmd/Ctrl + - deletes the row (Excel). Cmd/Ctrl + Shift + - is
|
|
506
|
+
// Excel's remove borders (typed as `_`), so it is left alone.
|
|
507
|
+
case "Minus":
|
|
508
|
+
if (!isShift) {
|
|
509
|
+
onDeleteRow === null || onDeleteRow === void 0 ? void 0 : onDeleteRow(sheetId, [rowIndex]);
|
|
510
|
+
e.preventDefault();
|
|
511
|
+
}
|
|
512
|
+
break;
|
|
513
|
+
// Cmd/Ctrl + Shift + = (Excel's Ctrl+Shift+Plus) inserts a row
|
|
514
|
+
case "Equal":
|
|
515
|
+
if (isShift) {
|
|
516
|
+
onInsertRow === null || onInsertRow === void 0 ? void 0 : onInsertRow(sheetId, rowIndex, 1);
|
|
517
|
+
e.preventDefault();
|
|
518
|
+
}
|
|
519
|
+
break;
|
|
473
520
|
}
|
|
474
521
|
}
|
|
475
522
|
// Alt key is pressed
|
|
@@ -637,6 +684,8 @@ var useKeyboardHandler = function (_a) {
|
|
|
637
684
|
onCalculateNow,
|
|
638
685
|
onRequestGoTo,
|
|
639
686
|
onRequestPasteSpecial,
|
|
687
|
+
onRequestEditCell,
|
|
688
|
+
onShowCellList,
|
|
640
689
|
onChangeBatch,
|
|
641
690
|
getUserEnteredValue,
|
|
642
691
|
getEffectiveValue,
|
|
@@ -30,7 +30,9 @@ export interface UseSizerProps {
|
|
|
30
30
|
minColumnDimension?: number;
|
|
31
31
|
minRowDimension?: number;
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
33
|
+
* Spacing added around the measured text — the painter's padding on both
|
|
34
|
+
* sides and the border. Wrapping does not use it: the sizer wraps at
|
|
35
|
+
* `getTextWrapWidth`, where the painter wraps (#1182).
|
|
34
36
|
*/
|
|
35
37
|
cellVerticalSpacing?: number;
|
|
36
38
|
cellHorizontalSpacing?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-sizer.d.ts","sourceRoot":"","sources":["../../../hooks/use-sizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,UAAU,EACV,cAAc,EACd,aAAa,EACd,MAAM,oBAAoB,CAAC;AAI5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AASzE,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAI3D,KAAK,qBAAqB,GAAG;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,aAAa,CACX,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,UAAU,CAAC;IACd;;;;;;OAMG;IACH,iBAAiB,CAAC,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,aAAa,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB
|
|
1
|
+
{"version":3,"file":"use-sizer.d.ts","sourceRoot":"","sources":["../../../hooks/use-sizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -102,6 +102,8 @@ var useSizer = function (_a) {
|
|
|
102
102
|
var totalWidth = 0;
|
|
103
103
|
var totalHeight = 0;
|
|
104
104
|
var lineCount = 0;
|
|
105
|
+
// `getTextBlockHeight` with each line's own box: the leading goes
|
|
106
|
+
// between lines only.
|
|
105
107
|
var pushLine = function (box, leading) {
|
|
106
108
|
totalHeight += lineCount === 0 ? box : leading + box;
|
|
107
109
|
lineCount++;
|
|
@@ -257,10 +259,11 @@ var useSizer = function (_a) {
|
|
|
257
259
|
// Update autosizer format
|
|
258
260
|
var scale_1 = scaleRef.current;
|
|
259
261
|
setAutoSizerTextFormat(textFormat, scale_1);
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
262
|
+
// Wrap where the painter wraps: the cell minus Konva `Text`'s
|
|
263
|
+
// padding, which is not scaled (#1182).
|
|
264
|
+
var scaledWidth = (0, grid_1.getTextWrapWidth)((((_b = options === null || options === void 0 ? void 0 : options.boundedWidth) !== null && _b !== void 0 ? _b : getActualCellWidth(sheetId, rowIndex, columnIndex)) -
|
|
265
|
+
cellAdditionalSpacing) *
|
|
266
|
+
scale_1);
|
|
264
267
|
var horizontalSpacing = (cellAdditionalSpacing + cellHorizontalSpacing) * scale_1;
|
|
265
268
|
var verticalSpacing = cellVerticalSpacing * scale_1;
|
|
266
269
|
// If the cell carries per-segment rich-text runs, measure
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether the grid runs on macOS, where the Excel keymap reads ⌃ as a
|
|
3
|
+
* modifier of its own (⌘ is the command key, as in Excel for Mac). Reads the
|
|
4
|
+
* UA client hints platform where the browser reports one, else
|
|
5
|
+
* `navigator.platform`; `false` off the DOM. Specs mock this module to pin
|
|
6
|
+
* the platform.
|
|
7
|
+
*/
|
|
8
|
+
export declare const isMacPlatform: () => boolean;
|
|
9
|
+
//# sourceMappingURL=platform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../platform.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,QAAO,OAQhC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isMacPlatform = void 0;
|
|
4
|
+
var grid_1 = require("@rowsncolumns/grid");
|
|
5
|
+
/**
|
|
6
|
+
* Whether the grid runs on macOS, where the Excel keymap reads ⌃ as a
|
|
7
|
+
* modifier of its own (⌘ is the command key, as in Excel for Mac). Reads the
|
|
8
|
+
* UA client hints platform where the browser reports one, else
|
|
9
|
+
* `navigator.platform`; `false` off the DOM. Specs mock this module to pin
|
|
10
|
+
* the platform.
|
|
11
|
+
*/
|
|
12
|
+
var isMacPlatform = function () {
|
|
13
|
+
var _a, _b;
|
|
14
|
+
if (!grid_1.canUseDOM) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
var platform = (_b = (_a = navigator
|
|
18
|
+
.userAgentData) === null || _a === void 0 ? void 0 : _a.platform) !== null && _b !== void 0 ? _b : navigator.platform;
|
|
19
|
+
return /mac/i.test(platform !== null && platform !== void 0 ? platform : "");
|
|
20
|
+
};
|
|
21
|
+
exports.isMacPlatform = isMacPlatform;
|
package/dist/cjs/release-date.js
CHANGED
|
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.releaseDate = void 0;
|
|
5
5
|
exports.releaseDate =
|
|
6
6
|
// @ts-ignore
|
|
7
|
-
(_a = new Date("2026-10-
|
|
7
|
+
(_a = new Date("2026-10-20")) !== null && _a !== void 0 ? _a : new Date("2025-06-18");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../../config.ts","../../helpers.ts","../../index.tsx","../../release-date.ts","../../test-setup.ts","../../themes.ts","../../types.ts","../../vitest.config.ts","../../api/animate.ts","../../api/banded-ranges.ts","../../api/calculated-column-fill.ts","../../api/cf-engine.ts","../../api/cf-overlays.ts","../../api/cf-window.ts","../../api/chart-sheet.ts","../../api/chart-source-ranges.ts","../../api/colors.ts","../../api/copy-paste.ts","../../api/evaluate-formula.ts","../../api/excel-validation-kinds.ts","../../api/fill-patterns.ts","../../api/fill-series.ts","../../api/font-loader.ts","../../api/go-to-special.ts","../../api/go-to.ts","../../api/heatmap.ts","../../api/insert-options.ts","../../api/move-overwrite.ts","../../api/multi-selection.ts","../../api/scheduler.ts","../../api/scroller.ts","../../api/selections.ts","../../api/spreadsheet-api.ts","../../api/table-auto-expansion.ts","../../api/table.ts","../../api/validation-tooltip.tsx","../../api/validation.ts","../../atoms/active-editor.atom.ts","../../atoms/advanced-filter-dialog.atom.ts","../../atoms/calculated-column-fill.atom.ts","../../atoms/cell-input-context.atom.ts","../../atoms/chart-actions.atom.ts","../../atoms/editing-cell.atom.ts","../../atoms/evaluate-formula-dialog.atom.ts","../../atoms/fill-options.atom.ts","../../atoms/fill-series-dialog.atom.ts","../../atoms/formula-bar-editor-value.atom.ts","../../atoms/formula-mode.atom.ts","../../atoms/formula-selection-state.atom.ts","../../atoms/formula-selections.atom.ts","../../atoms/go-to-dialog.atom.ts","../../atoms/goal-seek-dialog.atom.ts","../../atoms/index.ts","../../atoms/insert-cells-dialog.atom.ts","../../atoms/insert-options.atom.ts","../../atoms/loading-indicator.atom.ts","../../atoms/magic-fill-state.atom.ts","../../atoms/move-chart-dialog.atom.ts","../../atoms/move-overwrite-confirm.atom.ts","../../atoms/paste-menu.atom.ts","../../atoms/paste-special-dialog.atom.ts","../../atoms/persistent-tooltip.atom.ts","../../atoms/popover.atom.ts","../../atoms/range-selector.atom.ts","../../atoms/remove-duplicates-dialog.atom.ts","../../atoms/selected-chart-embed.atom.ts","../../atoms/selected-chart-series.atom.ts","../../atoms/sheet-context.atom.ts","../../atoms/sheet-status-display.atom.ts","../../atoms/show-formula-help.atom.ts","../../atoms/sort-dialog.atom.ts","../../atoms/sparkline-dialog.atom.ts","../../atoms/spreadsheet-api.atom.ts","../../atoms/subtotal-dialog.atom.ts","../../atoms/table-auto-expansion.atom.ts","../../atoms/text-to-columns-dialog.atom.ts","../../atoms/validation-alert.atom.ts","../../atoms/watch-window.atom.ts","../../components/advanced-filter-dialog/index.tsx","../../components/bottom-bar/index.tsx","../../components/calculated-column-smart-tag/index.tsx","../../components/calculation-options-dialog/index.tsx","../../components/canvas-grid/helpers.ts","../../components/canvas-grid/index.tsx","../../components/canvas-grid/typings.ts","../../components/cell/alignment.ts","../../components/cell/cell-background.tsx","../../components/cell/cell-text-runs.tsx","../../components/cell/helpers.ts","../../components/cell/index.tsx","../../components/cell/line-height.ts","../../components/cell/rich-text.ts","../../components/cell/typings.ts","../../components/cell-arrow/index.tsx","../../components/cell-calculated/index.tsx","../../components/cell-checkbox/index.tsx","../../components/cell-diff/index.tsx","../../components/cell-editor/calendar-popup.tsx","../../components/cell-editor/formula-result-preview.tsx","../../components/cell-editor/helpers.ts","../../components/cell-editor/index.tsx","../../components/cell-editor/style.tsx","../../components/cell-error/index.tsx","../../components/cell-expand/index.tsx","../../components/cell-filter/index.tsx","../../components/cell-group/index.tsx","../../components/cell-input/cell-input.tsx","../../components/cell-input/formula-bar-cell-input.tsx","../../components/cell-input/index.tsx","../../components/cell-input/style.tsx","../../components/cell-overlay/index.tsx","../../components/cell-structured/index.tsx","../../components/cell-structured/sparkline-math.ts","../../components/cell-structured/sparkline.tsx","../../components/cell-structured/types.ts","../../components/cell-tooltip/index.tsx","../../components/cell-tooltip/note-editor.tsx","../../components/cell-tooltip/style.tsx","../../components/chart-sheet-view/index.tsx","../../components/context-menu/embed-context-menu.tsx","../../components/context-menu/index.tsx","../../components/context-menu/menu.tsx","../../components/context-menu/style.tsx","../../components/context-menu/total-row-function-menu.tsx","../../components/context-menu/total-row-functions.ts","../../components/embeds/chart-component.tsx","../../components/embeds/embed-component.tsx","../../components/embeds/embed-draggable.tsx","../../components/embeds/index.tsx","../../components/embeds/shape-geometry.ts","../../components/embeds/shape-svg.tsx","../../components/embeds/slicer-component.tsx","../../components/evaluate-formula-dialog/index.tsx","../../components/fill-handle/index.tsx","../../components/fill-series-dialog/index.tsx","../../components/filter-box/date-tree.ts","../../components/filter-box/filter-by-color.tsx","../../components/filter-box/filter-by-condition.tsx","../../components/filter-box/filter-by-value.tsx","../../components/filter-box/index.tsx","../../components/floating-cell-editor/index.tsx","../../components/formula-bar/index.tsx","../../components/formula-bar/style.tsx","../../components/formula-input/index.tsx","../../components/go-to-dialog/index.tsx","../../components/goal-seek-dialog/index.tsx","../../components/grid-footer/index.tsx","../../components/header-cell/index.tsx","../../components/header-menu/index.tsx","../../components/header-move/index.tsx","../../components/header-resizer/index.tsx","../../components/hidden-markers/index.tsx","../../components/hidden-markers/style.tsx","../../components/insert-cells-dialog/index.tsx","../../components/insert-function-dialog/index.tsx","../../components/insert-options-smart-tag/index.tsx","../../components/loading-indicator/index.tsx","../../components/move-chart-dialog/index.tsx","../../components/move-overwrite-confirm-dialog/index.tsx","../../components/outline-gutter/index.tsx","../../components/paste-special-dialog/index.tsx","../../components/pivot-placeholder/index.tsx","../../components/print-preview/cell-styles.ts","../../components/print-preview/index.ts","../../components/print-preview/page-block.tsx","../../components/print-preview/print-preview-dialog.tsx","../../components/print-preview/run-print.ts","../../components/print-preview/settings.ts","../../components/print-preview/use-page-layout.ts","../../components/range-selector/index.tsx","../../components/remove-duplicates-dialog/index.tsx","../../components/resizer/index.tsx","../../components/selection/avatar.tsx","../../components/selection/fill-options-menu.tsx","../../components/selection/index.tsx","../../components/selection/magic-fill.tsx","../../components/selection/paste-menu.tsx","../../components/selection/quick-edit.tsx","../../components/selection/style.tsx","../../components/selection/suggestion-action.tsx","../../components/selection/title.tsx","../../components/selection/types.ts","../../components/selection-input/index.tsx","../../components/selection-input/style.tsx","../../components/sheet-search/index.tsx","../../components/sheet-status/index.tsx","../../components/sheet-status/style.tsx","../../components/sheet-switcher/index.tsx","../../components/sheet-switcher/new-sheet-button.tsx","../../components/sheet-tabs/context-menu.tsx","../../components/sheet-tabs/index.tsx","../../components/sheet-tabs/sheet-tab.tsx","../../components/sheet-tabs/style.tsx","../../components/sheet-tabs/types.ts","../../components/sort-range-dialog/index.tsx","../../components/sparkline-dialog/index.tsx","../../components/subtotal-dialog/index.tsx","../../components/table-auto-expansion-smart-tag/index.tsx","../../components/text-to-columns-dialog/index.tsx","../../components/toolbar/background-color-selector.tsx","../../components/toolbar/border-color-selector.tsx","../../components/toolbar/border-line-style-options.tsx","../../components/toolbar/border-line-style-selector.tsx","../../components/toolbar/border-location-options.tsx","../../components/toolbar/border-selector.tsx","../../components/toolbar/buttons.tsx","../../components/toolbar/cell-style-selector.tsx","../../components/toolbar/color-selector.tsx","../../components/toolbar/fill-selectors.tsx","../../components/toolbar/font-family-selector.tsx","../../components/toolbar/font-size-selector.tsx","../../components/toolbar/index.tsx","../../components/toolbar/insert-menu.tsx","../../components/toolbar/merge-cells-selector.tsx","../../components/toolbar/scale-selector.tsx","../../components/toolbar/sparkline-actions.tsx","../../components/toolbar/style.tsx","../../components/toolbar/table-actions.tsx","../../components/toolbar/table-style-editor.tsx","../../components/toolbar/table-style-selector.tsx","../../components/toolbar/text-color-selector.tsx","../../components/toolbar/text-format-selector.tsx","../../components/toolbar/text-horizontal-align-selector.tsx","../../components/toolbar/text-rotation-selector.tsx","../../components/toolbar/text-vertical-align-selector.tsx","../../components/toolbar/text-wrap-selector.tsx","../../components/toolbar/theme-selector.tsx","../../components/toolbar/toolbar.tsx","../../components/toolbar/types.ts","../../components/toolbar/view-menu.tsx","../../components/validation-alert-dialog/index.tsx","../../components/watch-window/index.tsx","../../helpers/merged-cell-borders.ts","../../hooks/export-range-tiles.ts","../../hooks/index.ts","../../hooks/show-zeros.ts","../../hooks/use-async.ts","../../hooks/use-border-styles.ts","../../hooks/use-callback-ref.ts","../../hooks/use-cell-diff-highlight.ts","../../hooks/use-cell-popover.tsx","../../hooks/use-cell-renderer.tsx","../../hooks/use-chart-clipboard.ts","../../hooks/use-chart-source-ranges.ts","../../hooks/use-column-color-icons.ts","../../hooks/use-conditional-formatting.ts","../../hooks/use-context-menu.tsx","../../hooks/use-context-setter.ts","../../hooks/use-copy-paste-cut.tsx","../../hooks/use-create-address-from-selection.ts","../../hooks/use-create-formula-tokenizer.ts","../../hooks/use-delayed-value.ts","../../hooks/use-editable.tsx","../../hooks/use-editor-cancel.ts","../../hooks/use-editor-change.ts","../../hooks/use-editor-keydown.ts","../../hooks/use-editor-submit.ts","../../hooks/use-embeds-charts.tsx","../../hooks/use-expand-cell.tsx","../../hooks/use-export-range.ts","../../hooks/use-filter.ts","../../hooks/use-flash.ts","../../hooks/use-fonts.ts","../../hooks/use-formula-range-helpers.ts","../../hooks/use-get-tooltip.tsx","../../hooks/use-get-values-from-range.ts","../../hooks/use-grid-children.tsx","../../hooks/use-header-actions.tsx","../../hooks/use-hidden-dimension-markers.tsx","../../hooks/use-hidden-dimensions.ts","../../hooks/use-hovered-selection-ids.ts","../../hooks/use-isomorphic-layout-effect.ts","../../hooks/use-keyboard-handler.tsx","../../hooks/use-licensekey-validator.tsx","../../hooks/use-memo-compare.ts","../../hooks/use-merge.refs.ts","../../hooks/use-move-columns-rows.tsx","../../hooks/use-navigate-sheet-range.ts","../../hooks/use-previous.ts","../../hooks/use-raf.ts","../../hooks/use-resize-observer.ts","../../hooks/use-reveal-chart-embed.ts","../../hooks/use-scale-listener.ts","../../hooks/use-selected-rows-columns.ts","../../hooks/use-selection-aware-formatting.ts","../../hooks/use-selection-change.ts","../../hooks/use-selection-interceptors.ts","../../hooks/use-selection-move.ts","../../hooks/use-selection-renderer.tsx","../../hooks/use-selection-resize.ts","../../hooks/use-selection.ts","../../hooks/use-sheet-change-handler.ts","../../hooks/use-sizer.ts","../../hooks/use-spreadsheet-theme.ts","../../hooks/use-stable-ref.ts","../../hooks/use-structured-reference-selection.ts","../../hooks/use-table-hit-zones.ts","../../hooks/use-table-resizer.tsx","../../hooks/use-text-dimensions.ts","../../hooks/use-tooltip.ts","../../hooks/use-touch.ts","../../providers/spreadsheet-provider.tsx","../../signals/scroll-subscriber.ts","../../utils/copy-as-picture.ts","../../utils/maybe.ts","../../utils/pivot-chart-field-buttons.ts","../../utils/z-order.ts"],"version":"5.8.3"}
|
|
1
|
+
{"root":["../../config.ts","../../helpers.ts","../../index.tsx","../../platform.ts","../../release-date.ts","../../test-setup.ts","../../themes.ts","../../types.ts","../../vitest.config.ts","../../api/animate.ts","../../api/banded-ranges.ts","../../api/calculated-column-fill.ts","../../api/cf-engine.ts","../../api/cf-overlays.ts","../../api/cf-window.ts","../../api/chart-sheet.ts","../../api/chart-source-ranges.ts","../../api/colors.ts","../../api/copy-paste.ts","../../api/evaluate-formula.ts","../../api/excel-validation-kinds.ts","../../api/fill-patterns.ts","../../api/fill-series.ts","../../api/font-loader.ts","../../api/go-to-special.ts","../../api/go-to.ts","../../api/heatmap.ts","../../api/insert-options.ts","../../api/move-overwrite.ts","../../api/multi-selection.ts","../../api/scheduler.ts","../../api/scroller.ts","../../api/selections.ts","../../api/spreadsheet-api.ts","../../api/table-auto-expansion.ts","../../api/table.ts","../../api/validation-tooltip.tsx","../../api/validation.ts","../../atoms/active-editor.atom.ts","../../atoms/advanced-filter-dialog.atom.ts","../../atoms/calculated-column-fill.atom.ts","../../atoms/cell-input-context.atom.ts","../../atoms/chart-actions.atom.ts","../../atoms/editing-cell.atom.ts","../../atoms/evaluate-formula-dialog.atom.ts","../../atoms/fill-options.atom.ts","../../atoms/fill-series-dialog.atom.ts","../../atoms/formula-bar-editor-value.atom.ts","../../atoms/formula-mode.atom.ts","../../atoms/formula-selection-state.atom.ts","../../atoms/formula-selections.atom.ts","../../atoms/go-to-dialog.atom.ts","../../atoms/goal-seek-dialog.atom.ts","../../atoms/index.ts","../../atoms/insert-cells-dialog.atom.ts","../../atoms/insert-options.atom.ts","../../atoms/loading-indicator.atom.ts","../../atoms/magic-fill-state.atom.ts","../../atoms/move-chart-dialog.atom.ts","../../atoms/move-overwrite-confirm.atom.ts","../../atoms/paste-menu.atom.ts","../../atoms/paste-special-dialog.atom.ts","../../atoms/persistent-tooltip.atom.ts","../../atoms/popover.atom.ts","../../atoms/range-selector.atom.ts","../../atoms/remove-duplicates-dialog.atom.ts","../../atoms/selected-chart-embed.atom.ts","../../atoms/selected-chart-series.atom.ts","../../atoms/sheet-context.atom.ts","../../atoms/sheet-status-display.atom.ts","../../atoms/show-formula-help.atom.ts","../../atoms/sort-dialog.atom.ts","../../atoms/sparkline-dialog.atom.ts","../../atoms/spreadsheet-api.atom.ts","../../atoms/subtotal-dialog.atom.ts","../../atoms/table-auto-expansion.atom.ts","../../atoms/text-to-columns-dialog.atom.ts","../../atoms/validation-alert.atom.ts","../../atoms/watch-window.atom.ts","../../components/advanced-filter-dialog/index.tsx","../../components/bottom-bar/index.tsx","../../components/calculated-column-smart-tag/index.tsx","../../components/calculation-options-dialog/index.tsx","../../components/canvas-grid/helpers.ts","../../components/canvas-grid/index.tsx","../../components/canvas-grid/typings.ts","../../components/cell/alignment.ts","../../components/cell/cell-background.tsx","../../components/cell/cell-text-runs.tsx","../../components/cell/helpers.ts","../../components/cell/index.tsx","../../components/cell/line-height.ts","../../components/cell/rich-text.ts","../../components/cell/typings.ts","../../components/cell-arrow/index.tsx","../../components/cell-calculated/index.tsx","../../components/cell-checkbox/index.tsx","../../components/cell-diff/index.tsx","../../components/cell-editor/calendar-popup.tsx","../../components/cell-editor/formula-result-preview.tsx","../../components/cell-editor/helpers.ts","../../components/cell-editor/index.tsx","../../components/cell-editor/style.tsx","../../components/cell-error/index.tsx","../../components/cell-expand/index.tsx","../../components/cell-filter/index.tsx","../../components/cell-group/index.tsx","../../components/cell-input/cell-input.tsx","../../components/cell-input/formula-bar-cell-input.tsx","../../components/cell-input/index.tsx","../../components/cell-input/style.tsx","../../components/cell-overlay/index.tsx","../../components/cell-structured/index.tsx","../../components/cell-structured/sparkline-math.ts","../../components/cell-structured/sparkline.tsx","../../components/cell-structured/types.ts","../../components/cell-tooltip/index.tsx","../../components/cell-tooltip/note-editor.tsx","../../components/cell-tooltip/style.tsx","../../components/chart-sheet-view/index.tsx","../../components/context-menu/embed-context-menu.tsx","../../components/context-menu/index.tsx","../../components/context-menu/menu.tsx","../../components/context-menu/style.tsx","../../components/context-menu/total-row-function-menu.tsx","../../components/context-menu/total-row-functions.ts","../../components/embeds/chart-component.tsx","../../components/embeds/embed-component.tsx","../../components/embeds/embed-draggable.tsx","../../components/embeds/index.tsx","../../components/embeds/shape-geometry.ts","../../components/embeds/shape-svg.tsx","../../components/embeds/slicer-component.tsx","../../components/evaluate-formula-dialog/index.tsx","../../components/fill-handle/index.tsx","../../components/fill-series-dialog/index.tsx","../../components/filter-box/date-tree.ts","../../components/filter-box/filter-by-color.tsx","../../components/filter-box/filter-by-condition.tsx","../../components/filter-box/filter-by-value.tsx","../../components/filter-box/index.tsx","../../components/floating-cell-editor/index.tsx","../../components/formula-bar/index.tsx","../../components/formula-bar/style.tsx","../../components/formula-input/index.tsx","../../components/go-to-dialog/index.tsx","../../components/goal-seek-dialog/index.tsx","../../components/grid-footer/index.tsx","../../components/header-cell/index.tsx","../../components/header-menu/index.tsx","../../components/header-move/index.tsx","../../components/header-resizer/index.tsx","../../components/hidden-markers/index.tsx","../../components/hidden-markers/style.tsx","../../components/insert-cells-dialog/index.tsx","../../components/insert-function-dialog/index.tsx","../../components/insert-options-smart-tag/index.tsx","../../components/loading-indicator/index.tsx","../../components/move-chart-dialog/index.tsx","../../components/move-overwrite-confirm-dialog/index.tsx","../../components/outline-gutter/index.tsx","../../components/paste-special-dialog/index.tsx","../../components/pivot-placeholder/index.tsx","../../components/print-preview/cell-styles.ts","../../components/print-preview/index.ts","../../components/print-preview/page-block.tsx","../../components/print-preview/print-preview-dialog.tsx","../../components/print-preview/run-print.ts","../../components/print-preview/settings.ts","../../components/print-preview/use-page-layout.ts","../../components/range-selector/index.tsx","../../components/remove-duplicates-dialog/index.tsx","../../components/resizer/index.tsx","../../components/selection/avatar.tsx","../../components/selection/fill-options-menu.tsx","../../components/selection/index.tsx","../../components/selection/magic-fill.tsx","../../components/selection/paste-menu.tsx","../../components/selection/quick-edit.tsx","../../components/selection/style.tsx","../../components/selection/suggestion-action.tsx","../../components/selection/title.tsx","../../components/selection/types.ts","../../components/selection-input/index.tsx","../../components/selection-input/style.tsx","../../components/sheet-search/index.tsx","../../components/sheet-status/index.tsx","../../components/sheet-status/style.tsx","../../components/sheet-switcher/index.tsx","../../components/sheet-switcher/new-sheet-button.tsx","../../components/sheet-tabs/context-menu.tsx","../../components/sheet-tabs/index.tsx","../../components/sheet-tabs/sheet-tab.tsx","../../components/sheet-tabs/style.tsx","../../components/sheet-tabs/types.ts","../../components/sort-range-dialog/index.tsx","../../components/sparkline-dialog/index.tsx","../../components/subtotal-dialog/index.tsx","../../components/table-auto-expansion-smart-tag/index.tsx","../../components/text-to-columns-dialog/index.tsx","../../components/toolbar/background-color-selector.tsx","../../components/toolbar/border-color-selector.tsx","../../components/toolbar/border-line-style-options.tsx","../../components/toolbar/border-line-style-selector.tsx","../../components/toolbar/border-location-options.tsx","../../components/toolbar/border-selector.tsx","../../components/toolbar/buttons.tsx","../../components/toolbar/cell-style-selector.tsx","../../components/toolbar/color-selector.tsx","../../components/toolbar/fill-selectors.tsx","../../components/toolbar/font-family-selector.tsx","../../components/toolbar/font-size-selector.tsx","../../components/toolbar/index.tsx","../../components/toolbar/insert-menu.tsx","../../components/toolbar/merge-cells-selector.tsx","../../components/toolbar/scale-selector.tsx","../../components/toolbar/sparkline-actions.tsx","../../components/toolbar/style.tsx","../../components/toolbar/table-actions.tsx","../../components/toolbar/table-style-editor.tsx","../../components/toolbar/table-style-selector.tsx","../../components/toolbar/text-color-selector.tsx","../../components/toolbar/text-format-selector.tsx","../../components/toolbar/text-horizontal-align-selector.tsx","../../components/toolbar/text-rotation-selector.tsx","../../components/toolbar/text-vertical-align-selector.tsx","../../components/toolbar/text-wrap-selector.tsx","../../components/toolbar/theme-selector.tsx","../../components/toolbar/toolbar.tsx","../../components/toolbar/types.ts","../../components/toolbar/view-menu.tsx","../../components/validation-alert-dialog/index.tsx","../../components/watch-window/index.tsx","../../helpers/merged-cell-borders.ts","../../hooks/export-range-tiles.ts","../../hooks/index.ts","../../hooks/show-zeros.ts","../../hooks/use-async.ts","../../hooks/use-border-styles.ts","../../hooks/use-callback-ref.ts","../../hooks/use-cell-diff-highlight.ts","../../hooks/use-cell-popover.tsx","../../hooks/use-cell-renderer.tsx","../../hooks/use-chart-clipboard.ts","../../hooks/use-chart-source-ranges.ts","../../hooks/use-column-color-icons.ts","../../hooks/use-conditional-formatting.ts","../../hooks/use-context-menu.tsx","../../hooks/use-context-setter.ts","../../hooks/use-copy-paste-cut.tsx","../../hooks/use-create-address-from-selection.ts","../../hooks/use-create-formula-tokenizer.ts","../../hooks/use-delayed-value.ts","../../hooks/use-editable.tsx","../../hooks/use-editor-cancel.ts","../../hooks/use-editor-change.ts","../../hooks/use-editor-keydown.ts","../../hooks/use-editor-submit.ts","../../hooks/use-embeds-charts.tsx","../../hooks/use-expand-cell.tsx","../../hooks/use-export-range.ts","../../hooks/use-filter.ts","../../hooks/use-flash.ts","../../hooks/use-fonts.ts","../../hooks/use-formula-range-helpers.ts","../../hooks/use-get-tooltip.tsx","../../hooks/use-get-values-from-range.ts","../../hooks/use-grid-children.tsx","../../hooks/use-header-actions.tsx","../../hooks/use-hidden-dimension-markers.tsx","../../hooks/use-hidden-dimensions.ts","../../hooks/use-hovered-selection-ids.ts","../../hooks/use-isomorphic-layout-effect.ts","../../hooks/use-keyboard-handler.tsx","../../hooks/use-licensekey-validator.tsx","../../hooks/use-memo-compare.ts","../../hooks/use-merge.refs.ts","../../hooks/use-move-columns-rows.tsx","../../hooks/use-navigate-sheet-range.ts","../../hooks/use-previous.ts","../../hooks/use-raf.ts","../../hooks/use-resize-observer.ts","../../hooks/use-reveal-chart-embed.ts","../../hooks/use-scale-listener.ts","../../hooks/use-selected-rows-columns.ts","../../hooks/use-selection-aware-formatting.ts","../../hooks/use-selection-change.ts","../../hooks/use-selection-interceptors.ts","../../hooks/use-selection-move.ts","../../hooks/use-selection-renderer.tsx","../../hooks/use-selection-resize.ts","../../hooks/use-selection.ts","../../hooks/use-sheet-change-handler.ts","../../hooks/use-sizer.ts","../../hooks/use-spreadsheet-theme.ts","../../hooks/use-stable-ref.ts","../../hooks/use-structured-reference-selection.ts","../../hooks/use-table-hit-zones.ts","../../hooks/use-table-resizer.tsx","../../hooks/use-text-dimensions.ts","../../hooks/use-tooltip.ts","../../hooks/use-touch.ts","../../providers/spreadsheet-provider.tsx","../../signals/scroll-subscriber.ts","../../utils/copy-as-picture.ts","../../utils/maybe.ts","../../utils/pivot-chart-field-buttons.ts","../../utils/z-order.ts"],"version":"5.8.3"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/canvas-grid/index.tsx"],"names":[],"mappings":"AAoDA,OAAO,KASN,MAAM,OAAO,CAAC;AAqNf,OAAO,KAAK,EAGV,QAAQ,EAWT,MAAM,aAAa,CAAC;AAoBrB,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EAEhB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/canvas-grid/index.tsx"],"names":[],"mappings":"AAoDA,OAAO,KASN,MAAM,OAAO,CAAC;AAqNf,OAAO,KAAK,EAGV,QAAQ,EAWT,MAAM,aAAa,CAAC;AAoBrB,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EAEhB,MAAM,WAAW,CAAC;AAu+LnB,eAAO,MAAM,UAAU,EAA4C,CACjE,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,EAEvB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GACvB,wBAAwB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAAE,KAChE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC"}
|
|
@@ -127,7 +127,7 @@ function isDetachedEditor(editor) {
|
|
|
127
127
|
return element != null && !element.isConnected;
|
|
128
128
|
}
|
|
129
129
|
function CanvasGridComponent(props, forwardedRef) {
|
|
130
|
-
const { licenseKey, sheetId, sheetType, ChartSheetView: ChartSheetViewComponent = ChartSheetView, instanceId, activeCell = DEFAULT_ACTIVE_CELL, selections = DEFAULT_ARRAY, frozenColumnCount = 0, frozenRowCount = 0, rowCount = DEFAULT_ROW_COUNT, columnCount = DEFAULT_COLUMN_COUNT, autoFocus, basicFilter, tables, namedRanges, bandedRanges = DEFAULT_ARRAY, tableBorderColor = "#008000", filterIconColor = "#008000", conditionalFormats, showFilterIcon = true, showCalculatedColumnIcon = true, showHeaders = true, defaultColumnWidth = DEFAULT_COLUMN_WIDTH, defaultRowHeight = DEFAULT_ROW_HEIGHT, lineHeightMode = "fontMetrics", columnHeaderHeight = COLUMN_HEADER_HEIGHT, rowHeaderWidth = ROW_HEADER_WIDTH, gridLineColor = GRIDLINE_COLOR, cellBackgroundColor = DEFAULT_CELL_BACKGROUND_COLOR, cellColor = DEFAULT_CELL_COLOR, headerBorderColor = DEFAULT_HEADER_BORDER_COLOR, headerBackgroundColor = DEFAULT_HEADER_BG, headerColor = DEFAULT_HEADER_COLOR, headerActiveBackgroundColor = DEFAULT_HEADER_ACTIVE_BG, headerSelectedBackgroundColor = DEFAULT_HEADER_SELECTED_BG, headerSelectedColor = "white", headerTableBackgroundColor = DEFAULT_HEADER_TABLE_BG, headerTableActiveBackgroundColor = DEFAULT_HEADER_ACTIVE_TABLE_BG, headerTableSelectedBackgroundColor = DEFAULT_HEADER_SELECTED_TABLE_BG, frozenShadowColor = headerBorderColor, frozenShadowThickness = 1, selectionBackgroundColor = SELECTION_BG, selectionBorderColor = SELECTION_BORDER, selectionStrokeWidth, showActiveCellBorderInSelection, selectionDragBorderColor = SELECTION_BORDER, chartSelectedColor, chipBackgroundColor = CHIP_COLOR, merges = DEFAULT_ARRAY, borderStyles, protectedRanges, isWorkbookProtected: isWorkbookProtectedProp = false, getSheetProtection, pivotTables, charts, onUpdateChart, onChangeZOrder, embeds, slicers, rowMetadata = DEFAULT_ARRAY, columnMetadata = DEFAULT_ARRAY, scale = 1, zoomSpeed = 1, overscanCount = 3, enableEditOnEnterKey
|
|
130
|
+
const { licenseKey, sheetId, sheetType, ChartSheetView: ChartSheetViewComponent = ChartSheetView, instanceId, activeCell = DEFAULT_ACTIVE_CELL, selections = DEFAULT_ARRAY, frozenColumnCount = 0, frozenRowCount = 0, rowCount = DEFAULT_ROW_COUNT, columnCount = DEFAULT_COLUMN_COUNT, autoFocus, basicFilter, tables, namedRanges, bandedRanges = DEFAULT_ARRAY, tableBorderColor = "#008000", filterIconColor = "#008000", conditionalFormats, showFilterIcon = true, showCalculatedColumnIcon = true, showHeaders = true, defaultColumnWidth = DEFAULT_COLUMN_WIDTH, defaultRowHeight = DEFAULT_ROW_HEIGHT, lineHeightMode = "fontMetrics", columnHeaderHeight = COLUMN_HEADER_HEIGHT, rowHeaderWidth = ROW_HEADER_WIDTH, gridLineColor = GRIDLINE_COLOR, cellBackgroundColor = DEFAULT_CELL_BACKGROUND_COLOR, cellColor = DEFAULT_CELL_COLOR, headerBorderColor = DEFAULT_HEADER_BORDER_COLOR, headerBackgroundColor = DEFAULT_HEADER_BG, headerColor = DEFAULT_HEADER_COLOR, headerActiveBackgroundColor = DEFAULT_HEADER_ACTIVE_BG, headerSelectedBackgroundColor = DEFAULT_HEADER_SELECTED_BG, headerSelectedColor = "white", headerTableBackgroundColor = DEFAULT_HEADER_TABLE_BG, headerTableActiveBackgroundColor = DEFAULT_HEADER_ACTIVE_TABLE_BG, headerTableSelectedBackgroundColor = DEFAULT_HEADER_SELECTED_TABLE_BG, frozenShadowColor = headerBorderColor, frozenShadowThickness = 1, selectionBackgroundColor = SELECTION_BG, selectionBorderColor = SELECTION_BORDER, selectionStrokeWidth, showActiveCellBorderInSelection, selectionDragBorderColor = SELECTION_BORDER, chartSelectedColor, chipBackgroundColor = CHIP_COLOR, merges = DEFAULT_ARRAY, borderStyles, protectedRanges, isWorkbookProtected: isWorkbookProtectedProp = false, getSheetProtection, pivotTables, charts, onUpdateChart, onChangeZOrder, embeds, slicers, rowMetadata = DEFAULT_ARRAY, columnMetadata = DEFAULT_ARRAY, scale = 1, zoomSpeed = 1, overscanCount = 3, enableEditOnEnterKey: enableEditOnEnterKeyProp, shouldHandleKeyDown, enableTextOverflow = true, showGridLines: _showGridLines, showFormulas = false, protectFormulas = false, showFrozenSeparator = true, HeaderCell = DefaultHeaderCell, Cell = DefaultCell, SelectionTitleComponent = SelectionTitle, CellEditor = DefaultCellEditor, CellTooltip, ContextMenu = DefaultContextMenu, ContextMenuWrapper = DefaultContextMenuWrapper, FilterBox = DefaultFilterBox, HeaderMoveDragComponent = DefaultHeaderMoveDragComponent, SuggestionsDropdown, stickyEditor = true, scrollSnap = false, scrollThrottleTimeout, preventBrowserDefaultScroll, mouseMoveThrottleTimeout = 60, tooltipIntentInterval = 60, selectionPolicy, users, userId, renderCollaboratorCursor, functionDescriptions, showHeaderMenuButton = true, scrollbarSize = SCROLLBAR_SIZE, theme = defaultSpreadsheetTheme, showNotes = true, showComments = true, locale, formulaLocale: formulaLocaleProp, agentSuggestions, onReviewSuggestion, onShowFormulas, getDataRowCount, getDataRegion, getChartComponent, getEmbedComponent, getSlicerComponent, onChange, onChangeBatch, onExpandCollapse, onPivotDrillDown, onDelete, onChangeEditorValue, onFill, onRequestCalculate, onChangeActiveCell, onChangeActiveSheet, onChangeSelections, getSheetName, getSheetId, getCellData, getNote: getNoteProp, getTextFormatRuns, getDataValidation, getEffectiveFormat, getFormattedValue: getFormattedValueProp, getTooltipContent, errorResolutionComponent, getEffectiveValue: getEffectiveValueProp, getSparklineGroup, getUserEnteredExtendedValue, getEffectiveExtendedValue, getSheetRowCount, getSheetColumnCount, getCellPopoverContent, onScroll, onViewPortChange, windowConditionalFormats = false, engineConditionalFormatResults = false, onResize, onAutoResize, onHideColumn, onHideRow, onShowColumn, onShowRow, onGroupRows, onUngroupRows, onCollapseRowGroup, onExpandRowGroup, onGroupColumns, onUngroupColumns, onCollapseColumnGroup, onExpandColumnGroup, onSetOutlineDepth, onDeleteRow, onDeleteColumn, onInsertRow, onInsertColumn, onChangeAutoExpandTables, onChangeAutoCalculatedColumns, onInsertCellsShiftDown, onInsertCellsShiftRight, onDeleteCellsShiftLeft, onDeleteCellsShiftUp, onClearContents, onMoveColumns, onMoveRows, onSelectNextSheet, onSelectPreviousSheet, onCreateNewSheet, onKeyDown, onChangeFormatting, onRepeatFormatting, onClearFormatting, onRequestEditProtectedRange, onMoveChart, onResizeChart, onDeleteChart, onCutChart, onCopyChart, onMoveEmbed, onResizeEmbed, onDeleteEmbed, onRequestEditEmbed, onMoveSlicer, onResizeSlicer, onDeleteSlicer, onRequestEditSlicer, onFillRange, disableFillRightShortcut, keymap, onCalculateNow, onRequestGoTo, onMoveSelection, onInsertCutCells, onInsertTime, onInsertDate, onInsertDateTime, onInsertAutoSum, onUndo, onRedo, batchHistory, onPaste, onCopy, onCut, onSortColumn, onSortTable, onFilterTable, onFilterPivot, onResizeTable, onUndoTableAutoExpansion, onUndoCalculatedColumn, onOverwriteCalculatedColumn, onRequestEditTable, onRequestEditPivotTable, onRequestDeletePivotTable, onRequestCreatePivotChart, onRemoveTable, onCreateTable, onRequestCreateTable, onInsertTableColumn, onDeleteTableColumn, onInsertTableRow, onDeleteTableRow, onUpdateTable, onRequestResizeTable, onRequestInsertSlicer, onCreateBasicFilter, onRequestDefineNamedRange, onRequestFormatCells, onRequestConditionalFormat, onRequestDataValidation, onRequestInsertComment, onRequestInsertLink, onFreezeColumn, onFreezeRow, onUpdateNote, onProtectRange, onUnProtectRange, onSortRange, onRequestSearch, onRequestReplace, onRequestResize, getRowHeaderText = getDefaultRowHeader, getColumnHeaderText = getDefaultColumnHeader, getAdditionalCellSpacing, tokenizer: defaultTokenizer = defaultFormulaTokenizer, onChangeScale, onRemoveLink, onSelectLink, onSplitTextToColumns, onRemoveDuplicates, onGoalSeek, onSubtotal, onAdvancedFilter, onRequestExpand, cellExpandPredicate, StructuredResult = DefaultStructuredResult, getMentions, getStructuredProperties: getStructuredPropertiesProp, getFunctionParameterSuggestions, shouldFetchFunctionParameters, MentionTagComponent, MentionDropdownItemComponent, showSelectionResizeHandles = true, enableMagicFill, enableQuickEdit = true, MagicFillComponent, MagicFillContent, QuickEdit, PasteMenu, SuggestionAction, HiddenRowMarkers, HiddenColumnMarkers, enableResizerOverflow, className, defaultFontSizePoint = DEFAULT_FONT_SIZE_PT, defaultCellFormat, readonly, isComparing = false, getCellDiff, enableDataBoundaryNavigation, footerHeight, footerComponent, arrowComponents,
|
|
131
131
|
// Host-driven filter props. `hostHiddenRowRanges`
|
|
132
132
|
// supplies compact [start, end] hidden-row tuples; `getFilterValues` supplies a
|
|
133
133
|
// column's distinct values. Both let a million-row filter render without scanning
|
|
@@ -140,6 +140,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
140
140
|
getValidationSourceValue,
|
|
141
141
|
// Unused props only for api
|
|
142
142
|
getDataColumnCount, onDeleteNamedRange, onChangeBorder, onDuplicateSheet, onCreateConditionalFormattingRule, onDeleteConditionalFormattingRule, onUpdateConditionalFormattingRule, onCreateDataValidationRule, onUpdateDataValidationRule, onDeleteDataValidationRule, onCreateChart, onDeleteSheet, onCreateEmbed, onDecreaseIndent, onIncreaseIndent, onChangeTheme, onChangeDecimals, onUpdateSheet, onChangeBatchStream, onBlur, ...rest } = props;
|
|
143
|
+
// Enter on a cell opens the editor in Google Sheets and moves down in
|
|
144
|
+
// Excel; a host's explicit value wins under either keymap.
|
|
145
|
+
const enableEditOnEnterKey = enableEditOnEnterKeyProp ?? keymap !== "excel";
|
|
143
146
|
/**
|
|
144
147
|
* Fire onBlur only when the cell editor blurs to an element outside the
|
|
145
148
|
* spreadsheet. Routed through `useEditable` so we hook the always-focused
|
|
@@ -501,6 +504,15 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
501
504
|
onRequestEditProtectedRange,
|
|
502
505
|
getPivotTableAtCell,
|
|
503
506
|
]));
|
|
507
|
+
/**
|
|
508
|
+
* A readonly grid still opens a cell read-only on F2 / Enter / double-click,
|
|
509
|
+
* so a value that does not fit its cell can be read in full and copied
|
|
510
|
+
* (rowsncolumns/spreadsheet#1183). Locked cells of a protected sheet keep
|
|
511
|
+
* Excel's refusal (the host's protected-range dialog), as do pivot cells.
|
|
512
|
+
*/
|
|
513
|
+
const canViewCell = useCallbackRef(useCallback((_sheetId, cell) => readonly === true &&
|
|
514
|
+
!isRowHeader(cell.columnIndex) &&
|
|
515
|
+
!isColumnHeader(cell.rowIndex), [readonly, isRowHeader, isColumnHeader]));
|
|
504
516
|
/**
|
|
505
517
|
* Can edit sheet
|
|
506
518
|
*/
|
|
@@ -2714,6 +2726,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2714
2726
|
*/
|
|
2715
2727
|
const onEditorKeyDown = useEditorKeydown({
|
|
2716
2728
|
sheetId,
|
|
2729
|
+
keymap,
|
|
2717
2730
|
onSelectNextSheet,
|
|
2718
2731
|
onSelectPreviousSheet,
|
|
2719
2732
|
onKeyDownSelection,
|
|
@@ -2782,6 +2795,22 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2782
2795
|
* context menu reach it.
|
|
2783
2796
|
*/
|
|
2784
2797
|
const requestEditCell = useCallbackRef((targetSheetId, cell, initialValue) => editCell(targetSheetId, cell, initialValue));
|
|
2798
|
+
/**
|
|
2799
|
+
* Alt+↓ under the Excel keymap: open the cell's list — a filter header's
|
|
2800
|
+
* menu, else a list validation's dropdown (the editor, with the list a
|
|
2801
|
+
* click on the cell's arrow opens), else nothing.
|
|
2802
|
+
*/
|
|
2803
|
+
const showCellList = useCallbackRef((targetSheetId, cell) => {
|
|
2804
|
+
if (showFilterMenu(cell)) {
|
|
2805
|
+
return true;
|
|
2806
|
+
}
|
|
2807
|
+
const type = getDataValidationRule(targetSheetId, cell.rowIndex, cell.columnIndex)?.condition?.type;
|
|
2808
|
+
if (type !== "ONE_OF_LIST" && type !== "ONE_OF_RANGE") {
|
|
2809
|
+
return false;
|
|
2810
|
+
}
|
|
2811
|
+
editCell(targetSheetId, cell);
|
|
2812
|
+
return true;
|
|
2813
|
+
});
|
|
2785
2814
|
/**
|
|
2786
2815
|
* The context menu's table Select items: replace the selection with a
|
|
2787
2816
|
* range and park the active cell at its top-left, without scrolling.
|
|
@@ -2944,6 +2973,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2944
2973
|
onCalculateNow,
|
|
2945
2974
|
onRequestGoTo: requestGoTo,
|
|
2946
2975
|
onRequestPasteSpecial: requestPasteSpecial,
|
|
2976
|
+
onRequestEditCell: requestEditCell,
|
|
2977
|
+
onShowCellList: showCellList,
|
|
2947
2978
|
onChangeBatch,
|
|
2948
2979
|
getUserEnteredValue: getUserEnteredStringValue,
|
|
2949
2980
|
getEffectiveValue,
|
|
@@ -2997,8 +3028,12 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2997
3028
|
const { onMouseDown: onMouseDownEditable, onDoubleClick: onDoubleClickEditable, editorComponent, isEditInProgress, makeEditable, editCell, setEditorValue, hideEditor, getNextFocusableCell, submitEditor, cancelEditor, commit, } = useEditable({
|
|
2998
3029
|
sheetId,
|
|
2999
3030
|
enableEditOnEnterKey,
|
|
3031
|
+
keymap,
|
|
3032
|
+
clearSelections,
|
|
3033
|
+
onRequestCut: cut,
|
|
3000
3034
|
shouldHandleKeyDown,
|
|
3001
3035
|
canEdit: canEditCell,
|
|
3036
|
+
canView: canViewCell,
|
|
3002
3037
|
sticky: stickyEditor,
|
|
3003
3038
|
getScrollPosition,
|
|
3004
3039
|
hideOnBlur: formulaMode && canSelectCells ? false : true,
|
|
@@ -3234,18 +3269,34 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3234
3269
|
disabled: isRestricted,
|
|
3235
3270
|
readonly,
|
|
3236
3271
|
});
|
|
3272
|
+
/**
|
|
3273
|
+
* The basic filter or table whose range holds a cell
|
|
3274
|
+
*/
|
|
3275
|
+
const getFilterAtCell = useCallback((cell) => basicFilter && isCellWithinBounds(cell, basicFilter?.range)
|
|
3276
|
+
? basicFilter
|
|
3277
|
+
: activeTables?.find((table) => isCellWithinBounds(cell, table.range)), [basicFilter, activeTables]);
|
|
3237
3278
|
/**
|
|
3238
3279
|
* Callback when user clicks Filter icon
|
|
3239
3280
|
* Show Filter dropdown here
|
|
3240
3281
|
*/
|
|
3241
3282
|
const handleFilterClick = useCallback((cell) => {
|
|
3242
|
-
const activeFilter =
|
|
3243
|
-
? basicFilter
|
|
3244
|
-
: activeTables?.find((table) => isCellWithinBounds(cell, table.range));
|
|
3283
|
+
const activeFilter = getFilterAtCell(cell);
|
|
3245
3284
|
if (activeFilter) {
|
|
3246
3285
|
showFilter(cell, activeFilter);
|
|
3247
3286
|
}
|
|
3248
|
-
}, [showFilter,
|
|
3287
|
+
}, [showFilter, getFilterAtCell]);
|
|
3288
|
+
/**
|
|
3289
|
+
* Open a filter header's menu from the outside (a host's Alt+Down), as a
|
|
3290
|
+
* click on its button does. Only a cell that draws a filter button opens
|
|
3291
|
+
* one — the button is also what a readonly grid withholds.
|
|
3292
|
+
*/
|
|
3293
|
+
const showFilterMenu = useCallback((cell) => {
|
|
3294
|
+
if (readonly || !isTableFilterVisible(cell.rowIndex, cell.columnIndex)) {
|
|
3295
|
+
return false;
|
|
3296
|
+
}
|
|
3297
|
+
const activeFilter = getFilterAtCell(cell);
|
|
3298
|
+
return activeFilter ? showFilter(cell, activeFilter) : false;
|
|
3299
|
+
}, [readonly, isTableFilterVisible, getFilterAtCell, showFilter]);
|
|
3249
3300
|
/**
|
|
3250
3301
|
* Callback when user checks a cell
|
|
3251
3302
|
*/
|
|
@@ -3954,6 +4005,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3954
4005
|
onPinToolTip,
|
|
3955
4006
|
onUnpinTooltip,
|
|
3956
4007
|
showCellPopover,
|
|
4008
|
+
showFilterMenu,
|
|
3957
4009
|
redrawGrid,
|
|
3958
4010
|
flash,
|
|
3959
4011
|
navigateToSheetRange,
|