@rowsncolumns/spreadsheet 10.5.6 → 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 +96 -58
- 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 +24 -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 +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-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 +36 -1
- 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 +20 -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 +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-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;
|
|
@@ -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,7 +350,8 @@ 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));
|
|
346
355
|
}
|
|
347
356
|
}
|
|
348
357
|
return [2 /*return*/];
|
|
@@ -350,6 +359,7 @@ var useEditable = function (_a) {
|
|
|
350
359
|
}); }, [
|
|
351
360
|
onBeforeEdit,
|
|
352
361
|
canEdit,
|
|
362
|
+
canView,
|
|
353
363
|
getValue,
|
|
354
364
|
getTextFormatRuns,
|
|
355
365
|
getCellPosition,
|
|
@@ -537,10 +547,30 @@ var useEditable = function (_a) {
|
|
|
537
547
|
e.preventDefault();
|
|
538
548
|
}
|
|
539
549
|
else if (key === "Delete" || key === "Backspace") {
|
|
550
|
+
var isExcelKeymap = keymap === "excel";
|
|
551
|
+
// Excel: Shift+Backspace selects only the active cell of a
|
|
552
|
+
// selection, Shift+Delete cuts the selection
|
|
553
|
+
if (isExcelKeymap && nativeEvent.shiftKey) {
|
|
554
|
+
if (key === "Backspace") {
|
|
555
|
+
if (selections.length) {
|
|
556
|
+
clearSelections === null || clearSelections === void 0 ? void 0 : clearSelections();
|
|
557
|
+
}
|
|
558
|
+
e.preventDefault();
|
|
559
|
+
}
|
|
560
|
+
else if (onRequestCut) {
|
|
561
|
+
onRequestCut();
|
|
562
|
+
e.preventDefault();
|
|
563
|
+
}
|
|
564
|
+
return;
|
|
565
|
+
}
|
|
566
|
+
// Excel's Backspace clears the active cell alone and edits it;
|
|
567
|
+
// Delete (and Sheets' Backspace) clears every selected cell
|
|
568
|
+
var clearsActiveCellOnly = isExcelKeymap && key === "Backspace";
|
|
569
|
+
var targets = clearsActiveCellOnly ? config_1.DEFAULT_ARRAY : selections;
|
|
540
570
|
// Excel refuses Delete / Backspace when any selected cell is a locked cell of a
|
|
541
571
|
// protected sheet — the same `canEdit` gate typing goes through in `makeEditable`
|
|
542
572
|
// (rowsncolumns/spreadsheet#939 U-35). Nothing is cleared; Excel's dialog is shown.
|
|
543
|
-
if (!canEditSelection(sheetId, activeCell,
|
|
573
|
+
if (!canEditSelection(sheetId, activeCell, targets)) {
|
|
544
574
|
void showValidationAlert({
|
|
545
575
|
style: "stop",
|
|
546
576
|
title: utils_1.SHEET_PROTECTION_ERROR_TITLE,
|
|
@@ -550,10 +580,13 @@ var useEditable = function (_a) {
|
|
|
550
580
|
e.preventDefault();
|
|
551
581
|
return;
|
|
552
582
|
}
|
|
553
|
-
onDelete === null || onDelete === void 0 ? void 0 : onDelete(sheetId, activeCell,
|
|
583
|
+
onDelete === null || onDelete === void 0 ? void 0 : onDelete(sheetId, activeCell, targets);
|
|
554
584
|
// Delete value
|
|
555
585
|
setValue("");
|
|
556
586
|
setFormulaMode(false);
|
|
587
|
+
if (clearsActiveCellOnly) {
|
|
588
|
+
makeEditable(sheetId, { rowIndex: rowIndex, columnIndex: columnIndex }, "");
|
|
589
|
+
}
|
|
557
590
|
}
|
|
558
591
|
else {
|
|
559
592
|
var initialValue = isEnter || isF2 // Enter key
|
|
@@ -587,6 +620,9 @@ var useEditable = function (_a) {
|
|
|
587
620
|
onEditorKeyDown,
|
|
588
621
|
onKeyDown,
|
|
589
622
|
enableEditOnEnterKey,
|
|
623
|
+
keymap,
|
|
624
|
+
clearSelections,
|
|
625
|
+
onRequestCut,
|
|
590
626
|
shouldHandleKeyDown,
|
|
591
627
|
setFormulaMode,
|
|
592
628
|
]);
|
|
@@ -693,6 +729,19 @@ var useEditable = function (_a) {
|
|
|
693
729
|
/* Save the value */
|
|
694
730
|
var handleSubmit = (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function (newValue, textFormatRuns, sheetId, activeCell, nextActiveCell, shouldFocusGrid, options) {
|
|
695
731
|
if (shouldFocusGrid === void 0) { shouldFocusGrid = true; }
|
|
732
|
+
/* A read-only view commits nothing: the commit key closes it and
|
|
733
|
+
* moves the active cell where the commit would have. */
|
|
734
|
+
if (isViewOnlyRef.current) {
|
|
735
|
+
hideEditor();
|
|
736
|
+
setTextFormatRuns(undefined);
|
|
737
|
+
onCancel === null || onCancel === void 0 ? void 0 : onCancel();
|
|
738
|
+
if (nextActiveCell) {
|
|
739
|
+
setActiveCell === null || setActiveCell === void 0 ? void 0 : setActiveCell(sheetId, nextActiveCell);
|
|
740
|
+
}
|
|
741
|
+
if (shouldFocusGrid)
|
|
742
|
+
focusGrid();
|
|
743
|
+
return;
|
|
744
|
+
}
|
|
696
745
|
/**
|
|
697
746
|
* Hide the editor first, so that we can handle onBlur events
|
|
698
747
|
* 1. Editor hides -> Submit
|
|
@@ -710,6 +759,8 @@ var useEditable = function (_a) {
|
|
|
710
759
|
focusGrid();
|
|
711
760
|
}, [
|
|
712
761
|
onSubmit,
|
|
762
|
+
onCancel,
|
|
763
|
+
setActiveCell,
|
|
713
764
|
setTextFormatRuns,
|
|
714
765
|
setValue,
|
|
715
766
|
hideEditor,
|
|
@@ -782,7 +833,8 @@ var useEditable = function (_a) {
|
|
|
782
833
|
setInitialActiveCell,
|
|
783
834
|
]);
|
|
784
835
|
var handleChange = (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function (newValue, textFormatRuns, sheetId, activeCell) {
|
|
785
|
-
|
|
836
|
+
// A read-only view owns no entry: nothing it reports is state or a change.
|
|
837
|
+
if (!currentActiveCellRef.current || isViewOnlyRef.current) {
|
|
786
838
|
return;
|
|
787
839
|
}
|
|
788
840
|
// Update state
|
|
@@ -877,6 +929,7 @@ var useEditable = function (_a) {
|
|
|
877
929
|
containerHeight: containerHeight,
|
|
878
930
|
isPointerDevice: isPointerDeviceRef.current,
|
|
879
931
|
navigationMode: !isEditInProgress,
|
|
932
|
+
readOnly: isEditInProgress && isViewOnlyRef.current,
|
|
880
933
|
onCopy: handleCopy,
|
|
881
934
|
onPaste: handlePaste,
|
|
882
935
|
onCut: handleCut,
|
|
@@ -891,6 +944,10 @@ var useEditable = function (_a) {
|
|
|
891
944
|
*/
|
|
892
945
|
var editCell = (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function (sheetId, cell, initialValue, options) {
|
|
893
946
|
if (isEditInProgress && cellEditorInstance && initialValue != null) {
|
|
947
|
+
// A read-only view takes no text.
|
|
948
|
+
if (isViewOnlyRef.current) {
|
|
949
|
+
return;
|
|
950
|
+
}
|
|
894
951
|
// Already editing — insert at the cursor instead of reopening.
|
|
895
952
|
cellEditorInstance.update(initialValue);
|
|
896
953
|
cellEditorInstance.focus(true);
|
|
@@ -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");
|