@rowsncolumns/spreadsheet 10.5.6 → 10.5.8
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 +111 -59
- package/dist/cjs/components/canvas-grid/typings.d.ts +9 -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 +42 -8
- package/dist/cjs/helpers.d.ts.map +1 -1
- package/dist/cjs/helpers.js +2 -1
- package/dist/cjs/hooks/use-editable.d.ts +30 -1
- package/dist/cjs/hooks/use-editable.d.ts.map +1 -1
- package/dist/cjs/hooks/use-editable.js +81 -13
- 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-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 +46 -4
- 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 +51 -3
- package/dist/esm/components/canvas-grid/typings.d.ts +9 -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 +37 -4
- package/dist/esm/helpers.d.ts.map +1 -1
- package/dist/esm/helpers.js +2 -1
- package/dist/esm/hooks/use-editable.d.ts +30 -1
- package/dist/esm/hooks/use-editable.d.ts.map +1 -1
- package/dist/esm/hooks/use-editable.js +78 -7
- 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-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 +46 -4
- 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
|
@@ -136,6 +136,13 @@ export type UseEditableOptions<T extends CellData> = {
|
|
|
136
136
|
* Callback fired before editing. Can be used to prevent editing. Do not use it, Can be removed in next release.
|
|
137
137
|
*/
|
|
138
138
|
canEdit?: (sheetId: number, cell: CellInterface) => boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Whether a cell `canEdit` refuses may still be opened read-only — F2 / Enter /
|
|
141
|
+
* double-click then show its full content in the cell editor with input disabled
|
|
142
|
+
* (Google Sheets' view-only cell), and nothing is ever committed from it. A
|
|
143
|
+
* keystroke never opens it. Defaults to no cell.
|
|
144
|
+
*/
|
|
145
|
+
canView?: (sheetId: number, cell: CellInterface) => boolean;
|
|
139
146
|
/**
|
|
140
147
|
* Number of frozen columns
|
|
141
148
|
*/
|
|
@@ -184,6 +191,22 @@ export type UseEditableOptions<T extends CellData> = {
|
|
|
184
191
|
* Can user press enter key to edit
|
|
185
192
|
*/
|
|
186
193
|
enableEditOnEnterKey?: boolean;
|
|
194
|
+
/**
|
|
195
|
+
* Which product's Delete / Backspace keys the grid follows
|
|
196
|
+
* (`CanvasGridProps["keymap"]`). Under `"excel"` Backspace clears the
|
|
197
|
+
* active cell alone and edits it, Shift+Backspace selects only the active
|
|
198
|
+
* cell and Shift+Delete cuts; Delete clears every selected cell in both.
|
|
199
|
+
*/
|
|
200
|
+
keymap?: CanvasGridProps["keymap"];
|
|
201
|
+
/**
|
|
202
|
+
* Drop the cell selections, keeping the active cell (Excel's
|
|
203
|
+
* Shift+Backspace)
|
|
204
|
+
*/
|
|
205
|
+
clearSelections?: () => void;
|
|
206
|
+
/**
|
|
207
|
+
* Cut the selection to the clipboard (Excel's Shift+Delete)
|
|
208
|
+
*/
|
|
209
|
+
onRequestCut?: () => void;
|
|
187
210
|
/**
|
|
188
211
|
* Return `false` to keep a key press from the grid's key handling
|
|
189
212
|
* (`CanvasGridProps["shouldHandleKeyDown"]`).
|
|
@@ -345,6 +368,11 @@ export type SharedEditorProps = {
|
|
|
345
368
|
editorBorderOutlineColor?: string;
|
|
346
369
|
isPointerDevice?: boolean;
|
|
347
370
|
navigationMode?: boolean;
|
|
371
|
+
/**
|
|
372
|
+
* The editor shows the cell's content with input disabled (`canView`): the text can be
|
|
373
|
+
* selected and copied, nothing typed changes it and no commit comes out of it.
|
|
374
|
+
*/
|
|
375
|
+
readOnly?: boolean;
|
|
348
376
|
onCopy?(event: ClipboardEvent): void;
|
|
349
377
|
onCut?(event: ClipboardEvent): void;
|
|
350
378
|
onPaste?(event: ClipboardEvent): void;
|
|
@@ -371,7 +399,7 @@ export declare const areTextFormatRunsEqual: (a: TextFormatRun[] | undefined | n
|
|
|
371
399
|
*
|
|
372
400
|
* Moves to incorrect cell
|
|
373
401
|
*/
|
|
374
|
-
export declare const useEditable: <T extends CellData>({ getEditor, getValue, getTextFormatRuns, onChange, onSubmit, onCancel, onBlur, onDelete, sheetId, selections, activeCell, canEdit, frozenRows, frozenColumns, hideOnBlur, isHiddenRow, isHiddenColumn, rowCount, columnCount, selectionTopBound, selectionBottomBound, selectionLeftBound, selectionRightBound, enableEditOnEnterKey, shouldHandleKeyDown, sticky, editorBorderColor, editorBorderOutlineColor, onBeforeEdit, onKeyDown, onEditorKeyDown, getCellOffsetFromCoords, getCellCoordsFromOffset, getCellBounds, focus, getActualCellCoords, scrollToCell, onChangeBatch, containerWidth, containerHeight, getScrollPosition, getColumnOffset, getEditorAlignment, getSheetRowCount, getSheetColumnCount, getBooleanValue, getDataValidation, setActiveCell, onCopy, onPaste, onCut, tables, onInsertTableRow, }: UseEditableOptions<T>) => {
|
|
402
|
+
export declare const useEditable: <T extends CellData>({ getEditor, getValue, getTextFormatRuns, onChange, onSubmit, onCancel, onBlur, onDelete, sheetId, selections, activeCell, canEdit, canView, frozenRows, frozenColumns, hideOnBlur, isHiddenRow, isHiddenColumn, rowCount, columnCount, selectionTopBound, selectionBottomBound, selectionLeftBound, selectionRightBound, enableEditOnEnterKey, keymap, clearSelections, onRequestCut, shouldHandleKeyDown, sticky, editorBorderColor, editorBorderOutlineColor, onBeforeEdit, onKeyDown, onEditorKeyDown, getCellOffsetFromCoords, getCellCoordsFromOffset, getCellBounds, focus, getActualCellCoords, scrollToCell, onChangeBatch, containerWidth, containerHeight, getScrollPosition, getColumnOffset, getEditorAlignment, getSheetRowCount, getSheetColumnCount, getBooleanValue, getDataValidation, setActiveCell, onCopy, onPaste, onCut, tables, onInsertTableRow, }: UseEditableOptions<T>) => {
|
|
375
403
|
editorComponent: React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
|
|
376
404
|
onDoubleClick: (e: React.MouseEvent<HTMLElement>) => void;
|
|
377
405
|
getNextFocusableCell: (sheetId: number, currentCell: CellInterface, direction?: Direction, restrictWithinSelection?: boolean) => CellInterface | null;
|
|
@@ -386,5 +414,6 @@ export declare const useEditable: <T extends CellData>({ getEditor, getValue, ge
|
|
|
386
414
|
cancelEditor: (e?: React.KeyboardEvent<HTMLElement>, shouldFocusGrid?: boolean) => void;
|
|
387
415
|
commit: (options?: EditorSubmitOptions) => boolean;
|
|
388
416
|
onMouseDown: (e: React.MouseEvent<HTMLDivElement> | React.PointerEvent<HTMLDivElement>) => void;
|
|
417
|
+
onKeyDown: (e: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
389
418
|
};
|
|
390
419
|
//# sourceMappingURL=use-editable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-editable.d.ts","sourceRoot":"","sources":["../../../hooks/use-editable.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"use-editable.d.ts","sourceRoot":"","sources":["../../../hooks/use-editable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ var use_isomorphic_layout_effect_1 = require("./use-isomorphic-layout-effect");
|
|
|
17
17
|
var getDefaultEditor = function () { return null; };
|
|
18
18
|
exports.getDefaultEditor = getDefaultEditor;
|
|
19
19
|
var defaultCanEdit = function () { return true; };
|
|
20
|
+
var defaultCanView = function () { return false; };
|
|
20
21
|
var defaultIsHidden = function () { return false; };
|
|
21
22
|
/**
|
|
22
23
|
* Lightweight deep equality for `TextFormatRun[]`. Used by the
|
|
@@ -157,15 +158,15 @@ var MEDIA_KEYS = new Set([
|
|
|
157
158
|
*/
|
|
158
159
|
var useEditable = function (_a) {
|
|
159
160
|
var _b, _c;
|
|
160
|
-
var _d = _a.getEditor, getEditor = _d === void 0 ? exports.getDefaultEditor : _d, getValue = _a.getValue, getTextFormatRuns = _a.getTextFormatRuns, onChange = _a.onChange, onSubmit = _a.onSubmit, onCancel = _a.onCancel, onBlur = _a.onBlur, onDelete = _a.onDelete, sheetId = _a.sheetId, _e = _a.selections, selections = _e === void 0 ? config_1.DEFAULT_ARRAY : _e, activeCell = _a.activeCell, _f = _a.canEdit, canEdit = _f === void 0 ? defaultCanEdit : _f, _g = _a.
|
|
161
|
+
var _d = _a.getEditor, getEditor = _d === void 0 ? exports.getDefaultEditor : _d, getValue = _a.getValue, getTextFormatRuns = _a.getTextFormatRuns, onChange = _a.onChange, onSubmit = _a.onSubmit, onCancel = _a.onCancel, onBlur = _a.onBlur, onDelete = _a.onDelete, sheetId = _a.sheetId, _e = _a.selections, selections = _e === void 0 ? config_1.DEFAULT_ARRAY : _e, activeCell = _a.activeCell, _f = _a.canEdit, canEdit = _f === void 0 ? defaultCanEdit : _f, _g = _a.canView, canView = _g === void 0 ? defaultCanView : _g, _h = _a.frozenRows, frozenRows = _h === void 0 ? 0 : _h, _j = _a.frozenColumns, frozenColumns = _j === void 0 ? 0 : _j, _k = _a.hideOnBlur, hideOnBlur = _k === void 0 ? true : _k, _l = _a.isHiddenRow, isHiddenRow = _l === void 0 ? defaultIsHidden : _l, _m = _a.isHiddenColumn, isHiddenColumn = _m === void 0 ? defaultIsHidden : _m, rowCount = _a.rowCount, columnCount = _a.columnCount, _o = _a.selectionTopBound, selectionTopBound = _o === void 0 ? 0 : _o, _p = _a.selectionBottomBound, selectionBottomBound = _p === void 0 ? rowCount : _p, _q = _a.selectionLeftBound, selectionLeftBound = _q === void 0 ? 0 : _q, _r = _a.selectionRightBound, selectionRightBound = _r === void 0 ? columnCount : _r, _s = _a.enableEditOnEnterKey, enableEditOnEnterKey = _s === void 0 ? true : _s, _t = _a.keymap, keymap = _t === void 0 ? "sheets" : _t, clearSelections = _a.clearSelections, onRequestCut = _a.onRequestCut, shouldHandleKeyDown = _a.shouldHandleKeyDown, sticky = _a.sticky, editorBorderColor = _a.editorBorderColor, editorBorderOutlineColor = _a.editorBorderOutlineColor, onBeforeEdit = _a.onBeforeEdit, onKeyDown = _a.onKeyDown, onEditorKeyDown = _a.onEditorKeyDown, getCellOffsetFromCoords = _a.getCellOffsetFromCoords, getCellCoordsFromOffset = _a.getCellCoordsFromOffset, getCellBounds = _a.getCellBounds, focus = _a.focus, getActualCellCoords = _a.getActualCellCoords, scrollToCell = _a.scrollToCell, onChangeBatch = _a.onChangeBatch, _u = _a.containerWidth, containerWidth = _u === void 0 ? 0 : _u, _v = _a.containerHeight, containerHeight = _v === void 0 ? 0 : _v, getScrollPosition = _a.getScrollPosition, getColumnOffset = _a.getColumnOffset, getEditorAlignment = _a.getEditorAlignment, getSheetRowCount = _a.getSheetRowCount, getSheetColumnCount = _a.getSheetColumnCount, getBooleanValue = _a.getBooleanValue, getDataValidation = _a.getDataValidation, setActiveCell = _a.setActiveCell, onCopy = _a.onCopy, onPaste = _a.onPaste, onCut = _a.onCut, tables = _a.tables, onInsertTableRow = _a.onInsertTableRow;
|
|
161
162
|
var editingCellCoordinate = (0, atoms_1.useEditingCellCoordinate)();
|
|
162
|
-
var
|
|
163
|
-
var
|
|
164
|
-
var
|
|
163
|
+
var _w = tslib_1.__read((0, atoms_1.useEditorVisibility)(), 2), isEditorShown = _w[0], setShowEditor = _w[1];
|
|
164
|
+
var _x = tslib_1.__read((0, atoms_1.useCellEditorValue)(), 2), value = _x[0], setValue = _x[1];
|
|
165
|
+
var _y = tslib_1.__read((0, atoms_1.useCellEditorTextFormatRuns)(), 2), textFormatRuns = _y[0], setTextFormatRuns = _y[1];
|
|
165
166
|
var currentActiveCellRef = (0, react_1.useRef)(null);
|
|
166
167
|
var initialActiveCell = (0, react_1.useRef)(undefined);
|
|
167
|
-
var
|
|
168
|
-
var
|
|
168
|
+
var _z = tslib_1.__read((0, react_1.useState)(true), 2), autoFocus = _z[0], setAutoFocus = _z[1];
|
|
169
|
+
var _0 = tslib_1.__read((0, react_1.useState)(false), 2), isScrolling = _0[0], setIsScrolling = _0[1];
|
|
169
170
|
var isDirtyRef = (0, react_1.useRef)(false);
|
|
170
171
|
var isEnteringNewValue = (0, react_1.useRef)(false);
|
|
171
172
|
var currentValueRef = (0, react_1.useRef)(value);
|
|
@@ -179,6 +180,9 @@ var useEditable = function (_a) {
|
|
|
179
180
|
var isPointerDeviceRef = (0, react_1.useRef)(false);
|
|
180
181
|
var maxEditorDimensionsRef = (0, react_1.useRef)(undefined);
|
|
181
182
|
var isMounted = (0, react_1.useRef)(false);
|
|
183
|
+
// The open editor is a read-only view of the cell (`canView`): it never
|
|
184
|
+
// commits, and its keys only close it or move the active cell.
|
|
185
|
+
var isViewOnlyRef = (0, react_1.useRef)(false);
|
|
182
186
|
var showEditor = (0, react_1.useCallback)(function () { return setShowEditor(true); }, [setShowEditor]);
|
|
183
187
|
var setActiveEditor = (0, atoms_1.useSetActiveEditor)();
|
|
184
188
|
var cellEditorInstance = (0, atoms_1.useCellEditorInstance)();
|
|
@@ -186,6 +190,7 @@ var useEditable = function (_a) {
|
|
|
186
190
|
var hideEditor = (0, react_1.useCallback)(function () {
|
|
187
191
|
setShowEditor(false);
|
|
188
192
|
currentActiveCellRef.current = null;
|
|
193
|
+
isViewOnlyRef.current = false;
|
|
189
194
|
// Clear value
|
|
190
195
|
setValue("");
|
|
191
196
|
setFormulaMode(false);
|
|
@@ -270,7 +275,7 @@ var useEditable = function (_a) {
|
|
|
270
275
|
* @param initialValue
|
|
271
276
|
*/
|
|
272
277
|
var makeEditable = (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function (sheetId, cell, initialValue, options) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
273
|
-
var _a, _b, autoFocus, _c, isPointerDevice, _d, fromKeystroke, coords, cellValue, textFormatRuns_1, value_1, scrollPosition, cellPosition_1, _e, x, _f, y, _g, width, cellEditorBuffer, isRightAligned, frozenColumnOffset, maxWidth, isProgrammaticValue;
|
|
278
|
+
var _a, _b, autoFocus, _c, isPointerDevice, _d, fromKeystroke, coords, isEditable, isViewOnly, cellValue, textFormatRuns_1, value_1, scrollPosition, cellPosition_1, _e, x, _f, y, _g, width, cellEditorBuffer, isRightAligned, frozenColumnOffset, maxWidth, isProgrammaticValue;
|
|
274
279
|
var _h, _j, _k;
|
|
275
280
|
return tslib_1.__generator(this, function (_l) {
|
|
276
281
|
_a = options !== null && options !== void 0 ? options : {}, _b = _a.autoFocus, autoFocus = _b === void 0 ? true : _b, _c = _a.isPointerDevice, isPointerDevice = _c === void 0 ? false : _c, _d = _a.fromKeystroke, fromKeystroke = _d === void 0 ? false : _d;
|
|
@@ -283,8 +288,11 @@ var useEditable = function (_a) {
|
|
|
283
288
|
setActiveEditor(cellEditorInstance);
|
|
284
289
|
// Reset scroll position
|
|
285
290
|
setIsScrolling(false);
|
|
291
|
+
isEditable = canEdit(sheetId, coords);
|
|
292
|
+
isViewOnly = !isEditable && initialValue === void 0 && canView(sheetId, coords);
|
|
286
293
|
/* Call on before edit */
|
|
287
|
-
if (
|
|
294
|
+
if (isEditable || isViewOnly) {
|
|
295
|
+
isViewOnlyRef.current = isViewOnly;
|
|
288
296
|
/* Let user modify coords before edit */
|
|
289
297
|
onBeforeEdit === null || onBeforeEdit === void 0 ? void 0 : onBeforeEdit(sheetId, coords);
|
|
290
298
|
/* Focus */
|
|
@@ -323,7 +331,7 @@ var useEditable = function (_a) {
|
|
|
323
331
|
* So that during mousedown, onSubmit gets called
|
|
324
332
|
*/
|
|
325
333
|
isEnteringNewValue.current =
|
|
326
|
-
initialValue !== void 0 || cellValue === void 0;
|
|
334
|
+
!isViewOnly && (initialValue !== void 0 || cellValue === void 0);
|
|
327
335
|
isDirtyRef.current = !!initialValue;
|
|
328
336
|
// Todo
|
|
329
337
|
initialValueRef.current = cellValue;
|
|
@@ -342,14 +350,26 @@ var useEditable = function (_a) {
|
|
|
342
350
|
*/
|
|
343
351
|
setValue(value_1);
|
|
344
352
|
setTextFormatRuns(textFormatRuns_1);
|
|
345
|
-
|
|
353
|
+
// A formula on view is text: no reference picking, no function help.
|
|
354
|
+
setFormulaMode(!isViewOnly && (0, utils_1.isAFormula)(value_1));
|
|
355
|
+
/* The editor reports a seed as a change of its document, which
|
|
356
|
+
* carries it to the host and the formula bar. A seed equal to the
|
|
357
|
+
* text it already holds — "" between edits, so Backspace under the
|
|
358
|
+
* Excel keymap and `editCell(cell, "")` — changes nothing there and
|
|
359
|
+
* is reported here, or the bar keeps the cell's text until the
|
|
360
|
+
* first keystroke (#1190). */
|
|
361
|
+
if (!isViewOnly && value_1 === currentValueRef.current) {
|
|
362
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(value_1, textFormatRuns_1, sheetId, coords);
|
|
363
|
+
}
|
|
346
364
|
}
|
|
347
365
|
}
|
|
348
366
|
return [2 /*return*/];
|
|
349
367
|
});
|
|
350
368
|
}); }, [
|
|
351
369
|
onBeforeEdit,
|
|
370
|
+
onChange,
|
|
352
371
|
canEdit,
|
|
372
|
+
canView,
|
|
353
373
|
getValue,
|
|
354
374
|
getTextFormatRuns,
|
|
355
375
|
getCellPosition,
|
|
@@ -537,10 +557,30 @@ var useEditable = function (_a) {
|
|
|
537
557
|
e.preventDefault();
|
|
538
558
|
}
|
|
539
559
|
else if (key === "Delete" || key === "Backspace") {
|
|
560
|
+
var isExcelKeymap = keymap === "excel";
|
|
561
|
+
// Excel: Shift+Backspace selects only the active cell of a
|
|
562
|
+
// selection, Shift+Delete cuts the selection
|
|
563
|
+
if (isExcelKeymap && nativeEvent.shiftKey) {
|
|
564
|
+
if (key === "Backspace") {
|
|
565
|
+
if (selections.length) {
|
|
566
|
+
clearSelections === null || clearSelections === void 0 ? void 0 : clearSelections();
|
|
567
|
+
}
|
|
568
|
+
e.preventDefault();
|
|
569
|
+
}
|
|
570
|
+
else if (onRequestCut) {
|
|
571
|
+
onRequestCut();
|
|
572
|
+
e.preventDefault();
|
|
573
|
+
}
|
|
574
|
+
return;
|
|
575
|
+
}
|
|
576
|
+
// Excel's Backspace clears the active cell alone and edits it;
|
|
577
|
+
// Delete (and Sheets' Backspace) clears every selected cell
|
|
578
|
+
var clearsActiveCellOnly = isExcelKeymap && key === "Backspace";
|
|
579
|
+
var targets = clearsActiveCellOnly ? config_1.DEFAULT_ARRAY : selections;
|
|
540
580
|
// Excel refuses Delete / Backspace when any selected cell is a locked cell of a
|
|
541
581
|
// protected sheet — the same `canEdit` gate typing goes through in `makeEditable`
|
|
542
582
|
// (rowsncolumns/spreadsheet#939 U-35). Nothing is cleared; Excel's dialog is shown.
|
|
543
|
-
if (!canEditSelection(sheetId, activeCell,
|
|
583
|
+
if (!canEditSelection(sheetId, activeCell, targets)) {
|
|
544
584
|
void showValidationAlert({
|
|
545
585
|
style: "stop",
|
|
546
586
|
title: utils_1.SHEET_PROTECTION_ERROR_TITLE,
|
|
@@ -550,10 +590,13 @@ var useEditable = function (_a) {
|
|
|
550
590
|
e.preventDefault();
|
|
551
591
|
return;
|
|
552
592
|
}
|
|
553
|
-
onDelete === null || onDelete === void 0 ? void 0 : onDelete(sheetId, activeCell,
|
|
593
|
+
onDelete === null || onDelete === void 0 ? void 0 : onDelete(sheetId, activeCell, targets);
|
|
554
594
|
// Delete value
|
|
555
595
|
setValue("");
|
|
556
596
|
setFormulaMode(false);
|
|
597
|
+
if (clearsActiveCellOnly) {
|
|
598
|
+
makeEditable(sheetId, { rowIndex: rowIndex, columnIndex: columnIndex }, "");
|
|
599
|
+
}
|
|
557
600
|
}
|
|
558
601
|
else {
|
|
559
602
|
var initialValue = isEnter || isF2 // Enter key
|
|
@@ -587,6 +630,9 @@ var useEditable = function (_a) {
|
|
|
587
630
|
onEditorKeyDown,
|
|
588
631
|
onKeyDown,
|
|
589
632
|
enableEditOnEnterKey,
|
|
633
|
+
keymap,
|
|
634
|
+
clearSelections,
|
|
635
|
+
onRequestCut,
|
|
590
636
|
shouldHandleKeyDown,
|
|
591
637
|
setFormulaMode,
|
|
592
638
|
]);
|
|
@@ -693,6 +739,19 @@ var useEditable = function (_a) {
|
|
|
693
739
|
/* Save the value */
|
|
694
740
|
var handleSubmit = (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function (newValue, textFormatRuns, sheetId, activeCell, nextActiveCell, shouldFocusGrid, options) {
|
|
695
741
|
if (shouldFocusGrid === void 0) { shouldFocusGrid = true; }
|
|
742
|
+
/* A read-only view commits nothing: the commit key closes it and
|
|
743
|
+
* moves the active cell where the commit would have. */
|
|
744
|
+
if (isViewOnlyRef.current) {
|
|
745
|
+
hideEditor();
|
|
746
|
+
setTextFormatRuns(undefined);
|
|
747
|
+
onCancel === null || onCancel === void 0 ? void 0 : onCancel();
|
|
748
|
+
if (nextActiveCell) {
|
|
749
|
+
setActiveCell === null || setActiveCell === void 0 ? void 0 : setActiveCell(sheetId, nextActiveCell);
|
|
750
|
+
}
|
|
751
|
+
if (shouldFocusGrid)
|
|
752
|
+
focusGrid();
|
|
753
|
+
return;
|
|
754
|
+
}
|
|
696
755
|
/**
|
|
697
756
|
* Hide the editor first, so that we can handle onBlur events
|
|
698
757
|
* 1. Editor hides -> Submit
|
|
@@ -710,6 +769,8 @@ var useEditable = function (_a) {
|
|
|
710
769
|
focusGrid();
|
|
711
770
|
}, [
|
|
712
771
|
onSubmit,
|
|
772
|
+
onCancel,
|
|
773
|
+
setActiveCell,
|
|
713
774
|
setTextFormatRuns,
|
|
714
775
|
setValue,
|
|
715
776
|
hideEditor,
|
|
@@ -782,7 +843,8 @@ var useEditable = function (_a) {
|
|
|
782
843
|
setInitialActiveCell,
|
|
783
844
|
]);
|
|
784
845
|
var handleChange = (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function (newValue, textFormatRuns, sheetId, activeCell) {
|
|
785
|
-
|
|
846
|
+
// A read-only view owns no entry: nothing it reports is state or a change.
|
|
847
|
+
if (!currentActiveCellRef.current || isViewOnlyRef.current) {
|
|
786
848
|
return;
|
|
787
849
|
}
|
|
788
850
|
// Update state
|
|
@@ -877,6 +939,7 @@ var useEditable = function (_a) {
|
|
|
877
939
|
containerHeight: containerHeight,
|
|
878
940
|
isPointerDevice: isPointerDeviceRef.current,
|
|
879
941
|
navigationMode: !isEditInProgress,
|
|
942
|
+
readOnly: isEditInProgress && isViewOnlyRef.current,
|
|
880
943
|
onCopy: handleCopy,
|
|
881
944
|
onPaste: handlePaste,
|
|
882
945
|
onCut: handleCut,
|
|
@@ -891,6 +954,10 @@ var useEditable = function (_a) {
|
|
|
891
954
|
*/
|
|
892
955
|
var editCell = (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function (sheetId, cell, initialValue, options) {
|
|
893
956
|
if (isEditInProgress && cellEditorInstance && initialValue != null) {
|
|
957
|
+
// A read-only view takes no text.
|
|
958
|
+
if (isViewOnlyRef.current) {
|
|
959
|
+
return;
|
|
960
|
+
}
|
|
894
961
|
// Already editing — insert at the cursor instead of reopening.
|
|
895
962
|
cellEditorInstance.update(initialValue);
|
|
896
963
|
cellEditorInstance.focus(true);
|
|
@@ -913,6 +980,7 @@ var useEditable = function (_a) {
|
|
|
913
980
|
cancelEditor: handleCancel,
|
|
914
981
|
commit: commit,
|
|
915
982
|
onMouseDown: handleMouseDown,
|
|
983
|
+
onKeyDown: handleKeyDown,
|
|
916
984
|
};
|
|
917
985
|
};
|
|
918
986
|
exports.useEditable = useEditable;
|
|
@@ -2,10 +2,11 @@ import type React from "react";
|
|
|
2
2
|
import type { CanvasGridProps } from "../components/canvas-grid/typings";
|
|
3
3
|
type UseEditorKeydownProps = {
|
|
4
4
|
sheetId: number;
|
|
5
|
+
keymap?: CanvasGridProps["keymap"];
|
|
5
6
|
onSelectPreviousSheet: CanvasGridProps["onSelectPreviousSheet"];
|
|
6
7
|
onSelectNextSheet: CanvasGridProps["onSelectNextSheet"];
|
|
7
8
|
onKeyDownSelection?(e: React.KeyboardEvent<HTMLElement>): void;
|
|
8
9
|
};
|
|
9
|
-
export declare const useEditorKeydown: ({ sheetId, onSelectPreviousSheet, onSelectNextSheet, onKeyDownSelection, }: UseEditorKeydownProps) => (e: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
10
|
+
export declare const useEditorKeydown: ({ sheetId, keymap, onSelectPreviousSheet, onSelectNextSheet, onKeyDownSelection, }: UseEditorKeydownProps) => (e: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
10
11
|
export {};
|
|
11
12
|
//# sourceMappingURL=use-editor-keydown.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-editor-keydown.d.ts","sourceRoot":"","sources":["../../../hooks/use-editor-keydown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGzE,KAAK,qBAAqB,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAChE,iBAAiB,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACxD,kBAAkB,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CAChE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,
|
|
1
|
+
{"version":3,"file":"use-editor-keydown.d.ts","sourceRoot":"","sources":["../../../hooks/use-editor-keydown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGzE,KAAK,qBAAqB,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IACnC,qBAAqB,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAChE,iBAAiB,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACxD,kBAAkB,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CAChE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,oFAM9B,qBAAqB,SAKd,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,SAyC5C,CAAC"}
|
|
@@ -7,16 +7,17 @@ var formula_mode_atom_1 = require("../atoms/formula-mode.atom");
|
|
|
7
7
|
var formula_selection_state_atom_1 = require("../atoms/formula-selection-state.atom");
|
|
8
8
|
var use_callback_ref_1 = require("./use-callback-ref");
|
|
9
9
|
var useEditorKeydown = function (_a) {
|
|
10
|
-
var sheetId = _a.sheetId, onSelectPreviousSheet = _a.onSelectPreviousSheet, onSelectNextSheet = _a.onSelectNextSheet, onKeyDownSelection = _a.onKeyDownSelection;
|
|
10
|
+
var sheetId = _a.sheetId, _b = _a.keymap, keymap = _b === void 0 ? "sheets" : _b, onSelectPreviousSheet = _a.onSelectPreviousSheet, onSelectNextSheet = _a.onSelectNextSheet, onKeyDownSelection = _a.onKeyDownSelection;
|
|
11
11
|
var formulaMode = (0, formula_mode_atom_1.useFormulaModeValue)();
|
|
12
12
|
var canSelectCells = (0, formula_selection_state_atom_1.useFormualSelectionState)().canSelectCells;
|
|
13
13
|
return (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function (e) {
|
|
14
14
|
var isAltKey = e.altKey;
|
|
15
15
|
var isArrowKey = (0, utils_1.isAnArrowKey)(e.key);
|
|
16
16
|
/**
|
|
17
|
-
* User can navigate between sheets
|
|
17
|
+
* User can navigate between sheets (Sheets; Excel's ⌥↑ / ⌥↓ are
|
|
18
|
+
* not sheet keys, so the Excel keymap leaves them alone)
|
|
18
19
|
*/
|
|
19
|
-
if (isAltKey && isArrowKey) {
|
|
20
|
+
if (isAltKey && isArrowKey && keymap !== "excel") {
|
|
20
21
|
switch (e.key) {
|
|
21
22
|
case "ArrowUp":
|
|
22
23
|
onSelectPreviousSheet === null || onSelectPreviousSheet === void 0 ? void 0 : onSelectPreviousSheet(sheetId, e);
|
|
@@ -37,6 +38,7 @@ var useEditorKeydown = function (_a) {
|
|
|
37
38
|
}
|
|
38
39
|
}, [
|
|
39
40
|
sheetId,
|
|
41
|
+
keymap,
|
|
40
42
|
onSelectPreviousSheet,
|
|
41
43
|
onSelectNextSheet,
|
|
42
44
|
formulaMode,
|
|
@@ -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;
|
|
@@ -644,6 +684,8 @@ var useKeyboardHandler = function (_a) {
|
|
|
644
684
|
onCalculateNow,
|
|
645
685
|
onRequestGoTo,
|
|
646
686
|
onRequestPasteSpecial,
|
|
687
|
+
onRequestEditCell,
|
|
688
|
+
onShowCellList,
|
|
647
689
|
onChangeBatch,
|
|
648
690
|
getUserEnteredValue,
|
|
649
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");
|