@rowsncolumns/spreadsheet 10.2.77 → 10.3.1
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/api/insert-options.d.ts +67 -0
- package/dist/cjs/api/insert-options.d.ts.map +1 -0
- package/dist/cjs/api/insert-options.js +104 -0
- package/dist/cjs/api/move-overwrite.d.ts +14 -0
- package/dist/cjs/api/move-overwrite.d.ts.map +1 -0
- package/dist/cjs/api/move-overwrite.js +29 -0
- package/dist/cjs/api/multi-selection.d.ts +59 -0
- package/dist/cjs/api/multi-selection.d.ts.map +1 -0
- package/dist/cjs/api/multi-selection.js +166 -0
- package/dist/cjs/atoms/index.d.ts +3 -0
- package/dist/cjs/atoms/index.d.ts.map +1 -1
- package/dist/cjs/atoms/index.js +3 -0
- package/dist/cjs/atoms/insert-cells-dialog.atom.d.ts +36 -0
- package/dist/cjs/atoms/insert-cells-dialog.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/insert-cells-dialog.atom.js +34 -0
- package/dist/cjs/atoms/insert-options.atom.d.ts +21 -0
- package/dist/cjs/atoms/insert-options.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/insert-options.atom.js +11 -0
- package/dist/cjs/atoms/move-overwrite-confirm.atom.d.ts +24 -0
- package/dist/cjs/atoms/move-overwrite-confirm.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/move-overwrite-confirm.atom.js +42 -0
- package/dist/cjs/atoms/sheet-context.atom.d.ts +2 -0
- package/dist/cjs/atoms/sheet-context.atom.d.ts.map +1 -1
- package/dist/cjs/atoms/sheet-context.atom.js +15 -2
- package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/cjs/components/canvas-grid/index.js +298 -68
- package/dist/cjs/components/canvas-grid/typings.d.ts +47 -5
- package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/cjs/components/cell-editor/formula-result-preview.d.ts +4 -1
- package/dist/cjs/components/cell-editor/formula-result-preview.d.ts.map +1 -1
- package/dist/cjs/components/cell-editor/formula-result-preview.js +2 -2
- package/dist/cjs/components/cell-editor/index.d.ts +7 -1
- package/dist/cjs/components/cell-editor/index.d.ts.map +1 -1
- package/dist/cjs/components/cell-editor/index.js +3 -3
- package/dist/cjs/components/cell-input/cell-input.d.ts +13 -0
- package/dist/cjs/components/cell-input/cell-input.d.ts.map +1 -1
- package/dist/cjs/components/cell-input/cell-input.js +8 -3
- 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 +3 -1
- package/dist/cjs/components/context-menu/index.d.ts +16 -1
- package/dist/cjs/components/context-menu/index.d.ts.map +1 -1
- package/dist/cjs/components/context-menu/index.js +245 -24
- package/dist/cjs/components/embeds/embed-draggable.d.ts.map +1 -1
- package/dist/cjs/components/embeds/embed-draggable.js +4 -3
- package/dist/cjs/components/floating-cell-editor/index.d.ts.map +1 -1
- package/dist/cjs/components/floating-cell-editor/index.js +13 -5
- package/dist/cjs/components/insert-cells-dialog/index.d.ts +35 -0
- package/dist/cjs/components/insert-cells-dialog/index.d.ts.map +1 -0
- package/dist/cjs/components/insert-cells-dialog/index.js +84 -0
- package/dist/cjs/components/insert-options-smart-tag/index.d.ts +25 -0
- package/dist/cjs/components/insert-options-smart-tag/index.d.ts.map +1 -0
- package/dist/cjs/components/insert-options-smart-tag/index.js +41 -0
- package/dist/cjs/components/move-overwrite-confirm-dialog/index.d.ts +8 -0
- package/dist/cjs/components/move-overwrite-confirm-dialog/index.d.ts.map +1 -0
- package/dist/cjs/components/move-overwrite-confirm-dialog/index.js +34 -0
- package/dist/cjs/components/resizer/index.d.ts.map +1 -1
- package/dist/cjs/components/resizer/index.js +10 -5
- package/dist/cjs/components/selection/index.d.ts +1 -1
- package/dist/cjs/components/selection/index.d.ts.map +1 -1
- package/dist/cjs/components/selection/index.js +4 -2
- package/dist/cjs/components/selection/types.d.ts +8 -0
- package/dist/cjs/components/selection/types.d.ts.map +1 -1
- package/dist/cjs/components/sheet-search/index.d.ts.map +1 -1
- package/dist/cjs/components/sheet-search/index.js +6 -2
- package/dist/cjs/config.d.ts +6 -0
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +7 -1
- package/dist/cjs/hooks/use-cell-renderer.d.ts +7 -1
- package/dist/cjs/hooks/use-cell-renderer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-cell-renderer.js +8 -3
- package/dist/cjs/hooks/use-context-setter.d.ts.map +1 -1
- package/dist/cjs/hooks/use-context-setter.js +5 -1
- package/dist/cjs/hooks/use-copy-paste-cut.d.ts +5 -0
- package/dist/cjs/hooks/use-copy-paste-cut.d.ts.map +1 -1
- package/dist/cjs/hooks/use-copy-paste-cut.js +25 -3
- package/dist/cjs/hooks/use-editor-change.d.ts +4 -1
- package/dist/cjs/hooks/use-editor-change.d.ts.map +1 -1
- package/dist/cjs/hooks/use-editor-change.js +4 -3
- package/dist/cjs/hooks/use-editor-submit.d.ts +8 -1
- package/dist/cjs/hooks/use-editor-submit.d.ts.map +1 -1
- package/dist/cjs/hooks/use-editor-submit.js +9 -1
- package/dist/cjs/hooks/use-header-actions.d.ts.map +1 -1
- package/dist/cjs/hooks/use-header-actions.js +17 -10
- package/dist/cjs/hooks/use-move-columns-rows.d.ts.map +1 -1
- package/dist/cjs/hooks/use-move-columns-rows.js +27 -15
- package/dist/cjs/hooks/use-selection-move.d.ts.map +1 -1
- package/dist/cjs/hooks/use-selection-move.js +14 -6
- package/dist/cjs/hooks/use-selection-renderer.d.ts +9 -1
- package/dist/cjs/hooks/use-selection-renderer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-selection-renderer.js +26 -2
- package/dist/cjs/hooks/use-selection-resize.d.ts.map +1 -1
- package/dist/cjs/hooks/use-selection-resize.js +13 -6
- package/dist/cjs/hooks/use-selection.d.ts +13 -5
- package/dist/cjs/hooks/use-selection.d.ts.map +1 -1
- package/dist/cjs/hooks/use-selection.js +107 -31
- package/dist/cjs/hooks/use-table-resizer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-table-resizer.js +16 -8
- package/dist/cjs/hooks/use-touch.d.ts.map +1 -1
- package/dist/cjs/hooks/use-touch.js +16 -8
- package/dist/cjs/index.d.ts +7 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +7 -0
- package/dist/cjs/release-date.js +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/api/insert-options.d.ts +67 -0
- package/dist/esm/api/insert-options.d.ts.map +1 -0
- package/dist/esm/api/insert-options.js +91 -0
- package/dist/esm/api/move-overwrite.d.ts +14 -0
- package/dist/esm/api/move-overwrite.d.ts.map +1 -0
- package/dist/esm/api/move-overwrite.js +25 -0
- package/dist/esm/api/multi-selection.d.ts +59 -0
- package/dist/esm/api/multi-selection.d.ts.map +1 -0
- package/dist/esm/api/multi-selection.js +92 -0
- package/dist/esm/atoms/index.d.ts +3 -0
- package/dist/esm/atoms/index.d.ts.map +1 -1
- package/dist/esm/atoms/index.js +3 -0
- package/dist/esm/atoms/insert-cells-dialog.atom.d.ts +36 -0
- package/dist/esm/atoms/insert-cells-dialog.atom.d.ts.map +1 -0
- package/dist/esm/atoms/insert-cells-dialog.atom.js +25 -0
- package/dist/esm/atoms/insert-options.atom.d.ts +21 -0
- package/dist/esm/atoms/insert-options.atom.d.ts.map +1 -0
- package/dist/esm/atoms/insert-options.atom.js +5 -0
- package/dist/esm/atoms/move-overwrite-confirm.atom.d.ts +24 -0
- package/dist/esm/atoms/move-overwrite-confirm.atom.d.ts.map +1 -0
- package/dist/esm/atoms/move-overwrite-confirm.atom.js +29 -0
- package/dist/esm/atoms/sheet-context.atom.d.ts +2 -0
- package/dist/esm/atoms/sheet-context.atom.d.ts.map +1 -1
- package/dist/esm/atoms/sheet-context.atom.js +10 -0
- package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/esm/components/canvas-grid/index.js +250 -24
- package/dist/esm/components/canvas-grid/typings.d.ts +47 -5
- package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/esm/components/cell-editor/formula-result-preview.d.ts +4 -1
- package/dist/esm/components/cell-editor/formula-result-preview.d.ts.map +1 -1
- package/dist/esm/components/cell-editor/formula-result-preview.js +3 -3
- package/dist/esm/components/cell-editor/index.d.ts +7 -1
- package/dist/esm/components/cell-editor/index.d.ts.map +1 -1
- package/dist/esm/components/cell-editor/index.js +3 -3
- package/dist/esm/components/cell-input/cell-input.d.ts +13 -0
- package/dist/esm/components/cell-input/cell-input.d.ts.map +1 -1
- package/dist/esm/components/cell-input/cell-input.js +10 -5
- 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 +3 -1
- package/dist/esm/components/context-menu/index.d.ts +16 -1
- package/dist/esm/components/context-menu/index.d.ts.map +1 -1
- package/dist/esm/components/context-menu/index.js +193 -16
- package/dist/esm/components/embeds/embed-draggable.d.ts.map +1 -1
- package/dist/esm/components/embeds/embed-draggable.js +3 -2
- package/dist/esm/components/floating-cell-editor/index.d.ts.map +1 -1
- package/dist/esm/components/floating-cell-editor/index.js +12 -6
- package/dist/esm/components/insert-cells-dialog/index.d.ts +35 -0
- package/dist/esm/components/insert-cells-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/insert-cells-dialog/index.js +79 -0
- package/dist/esm/components/insert-options-smart-tag/index.d.ts +25 -0
- package/dist/esm/components/insert-options-smart-tag/index.d.ts.map +1 -0
- package/dist/esm/components/insert-options-smart-tag/index.js +35 -0
- package/dist/esm/components/move-overwrite-confirm-dialog/index.d.ts +8 -0
- package/dist/esm/components/move-overwrite-confirm-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/move-overwrite-confirm-dialog/index.js +30 -0
- package/dist/esm/components/resizer/index.d.ts.map +1 -1
- package/dist/esm/components/resizer/index.js +8 -4
- package/dist/esm/components/selection/index.d.ts +1 -1
- package/dist/esm/components/selection/index.d.ts.map +1 -1
- package/dist/esm/components/selection/index.js +4 -2
- package/dist/esm/components/selection/types.d.ts +8 -0
- package/dist/esm/components/selection/types.d.ts.map +1 -1
- package/dist/esm/components/sheet-search/index.d.ts.map +1 -1
- package/dist/esm/components/sheet-search/index.js +5 -2
- package/dist/esm/config.d.ts +6 -0
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +6 -0
- package/dist/esm/hooks/use-cell-renderer.d.ts +7 -1
- package/dist/esm/hooks/use-cell-renderer.d.ts.map +1 -1
- package/dist/esm/hooks/use-cell-renderer.js +9 -4
- package/dist/esm/hooks/use-context-setter.d.ts.map +1 -1
- package/dist/esm/hooks/use-context-setter.js +5 -1
- package/dist/esm/hooks/use-copy-paste-cut.d.ts +5 -0
- package/dist/esm/hooks/use-copy-paste-cut.d.ts.map +1 -1
- package/dist/esm/hooks/use-copy-paste-cut.js +25 -4
- package/dist/esm/hooks/use-editor-change.d.ts +4 -1
- package/dist/esm/hooks/use-editor-change.d.ts.map +1 -1
- package/dist/esm/hooks/use-editor-change.js +5 -4
- package/dist/esm/hooks/use-editor-submit.d.ts +8 -1
- package/dist/esm/hooks/use-editor-submit.d.ts.map +1 -1
- package/dist/esm/hooks/use-editor-submit.js +10 -2
- package/dist/esm/hooks/use-header-actions.d.ts.map +1 -1
- package/dist/esm/hooks/use-header-actions.js +11 -4
- package/dist/esm/hooks/use-move-columns-rows.d.ts.map +1 -1
- package/dist/esm/hooks/use-move-columns-rows.js +18 -6
- package/dist/esm/hooks/use-selection-move.d.ts.map +1 -1
- package/dist/esm/hooks/use-selection-move.js +11 -4
- package/dist/esm/hooks/use-selection-renderer.d.ts +9 -1
- package/dist/esm/hooks/use-selection-renderer.d.ts.map +1 -1
- package/dist/esm/hooks/use-selection-renderer.js +26 -2
- package/dist/esm/hooks/use-selection-resize.d.ts.map +1 -1
- package/dist/esm/hooks/use-selection-resize.js +11 -5
- package/dist/esm/hooks/use-selection.d.ts +13 -5
- package/dist/esm/hooks/use-selection.d.ts.map +1 -1
- package/dist/esm/hooks/use-selection.js +89 -27
- package/dist/esm/hooks/use-table-resizer.d.ts.map +1 -1
- package/dist/esm/hooks/use-table-resizer.js +15 -9
- package/dist/esm/hooks/use-touch.d.ts.map +1 -1
- package/dist/esm/hooks/use-touch.js +15 -7
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +7 -0
- package/dist/esm/release-date.js +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/spreadsheet.min.css +1 -1
- package/package.json +6 -6
|
@@ -16,6 +16,7 @@ var merge_1 = tslib_1.__importDefault(require("lodash/merge"));
|
|
|
16
16
|
var throttle_1 = tslib_1.__importDefault(require("lodash/throttle"));
|
|
17
17
|
var react_1 = tslib_1.__importStar(require("react"));
|
|
18
18
|
var banded_ranges_1 = require("../../api/banded-ranges");
|
|
19
|
+
var insert_options_1 = require("../../api/insert-options");
|
|
19
20
|
var cf_window_1 = require("../../api/cf-window");
|
|
20
21
|
var selections_1 = require("../../api/selections");
|
|
21
22
|
var spreadsheet_api_1 = require("../../api/spreadsheet-api");
|
|
@@ -109,7 +110,7 @@ var helpers_2 = require("./helpers");
|
|
|
109
110
|
* @returns
|
|
110
111
|
*/
|
|
111
112
|
function CanvasGridComponent(props, forwardedRef) {
|
|
112
|
-
var licenseKey = props.licenseKey, sheetId = props.sheetId, instanceId = props.instanceId, _a = props.activeCell, activeCell = _a === void 0 ? config_1.DEFAULT_ACTIVE_CELL : _a, _b = props.selections, selections = _b === void 0 ? config_1.DEFAULT_ARRAY : _b, _c = props.frozenColumnCount, frozenColumnCount = _c === void 0 ? 0 : _c, _d = props.frozenRowCount, frozenRowCount = _d === void 0 ? 0 : _d, _e = props.rowCount, rowCount = _e === void 0 ? config_1.DEFAULT_ROW_COUNT : _e, _f = props.columnCount, columnCount = _f === void 0 ? config_1.DEFAULT_COLUMN_COUNT : _f, autoFocus = props.autoFocus, basicFilter = props.basicFilter, tables = props.tables, namedRanges = props.namedRanges, _g = props.bandedRanges, bandedRanges = _g === void 0 ? config_1.DEFAULT_ARRAY : _g, _h = props.tableBorderColor, tableBorderColor = _h === void 0 ? "#008000" : _h, _j = props.filterIconColor, filterIconColor = _j === void 0 ? "#008000" : _j, conditionalFormats = props.conditionalFormats, _k = props.showFilterIcon, showFilterIcon = _k === void 0 ? true : _k, _l = props.showCalculatedColumnIcon, showCalculatedColumnIcon = _l === void 0 ? true : _l, _m = props.showHeaders, showHeaders = _m === void 0 ? true : _m, _o = props.defaultColumnWidth, defaultColumnWidth = _o === void 0 ? config_1.DEFAULT_COLUMN_WIDTH : _o, _p = props.defaultRowHeight, defaultRowHeight = _p === void 0 ? config_1.DEFAULT_ROW_HEIGHT : _p, _q = props.columnHeaderHeight, columnHeaderHeight = _q === void 0 ? config_1.COLUMN_HEADER_HEIGHT : _q, _r = props.rowHeaderWidth, rowHeaderWidth = _r === void 0 ? config_1.ROW_HEADER_WIDTH : _r, _s = props.gridLineColor, gridLineColor = _s === void 0 ? config_1.GRIDLINE_COLOR : _s, _t = props.cellBackgroundColor, cellBackgroundColor = _t === void 0 ? config_1.DEFAULT_CELL_BACKGROUND_COLOR : _t, _u = props.cellColor, cellColor = _u === void 0 ? config_1.DEFAULT_CELL_COLOR : _u, _v = props.headerBorderColor, headerBorderColor = _v === void 0 ? config_1.DEFAULT_HEADER_BORDER_COLOR : _v, _w = props.headerBackgroundColor, headerBackgroundColor = _w === void 0 ? config_1.DEFAULT_HEADER_BG : _w, _x = props.headerColor, headerColor = _x === void 0 ? config_1.DEFAULT_HEADER_COLOR : _x, _y = props.headerActiveBackgroundColor, headerActiveBackgroundColor = _y === void 0 ? config_1.DEFAULT_HEADER_ACTIVE_BG : _y, _z = props.headerSelectedBackgroundColor, headerSelectedBackgroundColor = _z === void 0 ? config_1.DEFAULT_HEADER_SELECTED_BG : _z, _0 = props.headerSelectedColor, headerSelectedColor = _0 === void 0 ? "white" : _0, _1 = props.headerTableBackgroundColor, headerTableBackgroundColor = _1 === void 0 ? config_1.DEFAULT_HEADER_TABLE_BG : _1, _2 = props.headerTableActiveBackgroundColor, headerTableActiveBackgroundColor = _2 === void 0 ? config_1.DEFAULT_HEADER_ACTIVE_TABLE_BG : _2, _3 = props.headerTableSelectedBackgroundColor, headerTableSelectedBackgroundColor = _3 === void 0 ? config_1.DEFAULT_HEADER_SELECTED_TABLE_BG : _3, _4 = props.frozenShadowColor, frozenShadowColor = _4 === void 0 ? headerBorderColor : _4, _5 = props.frozenShadowThickness, frozenShadowThickness = _5 === void 0 ? 1 : _5, _6 = props.selectionBackgroundColor, selectionBackgroundColor = _6 === void 0 ? config_1.SELECTION_BG : _6, _7 = props.selectionBorderColor, selectionBorderColor = _7 === void 0 ? config_1.SELECTION_BORDER : _7, _8 = props.selectionDragBorderColor, selectionDragBorderColor = _8 === void 0 ? config_1.SELECTION_BORDER : _8, chartSelectedColor = props.chartSelectedColor, _9 = props.chipBackgroundColor, chipBackgroundColor = _9 === void 0 ? config_1.CHIP_COLOR : _9, _10 = props.merges, merges = _10 === void 0 ? config_1.DEFAULT_ARRAY : _10, borderStyles = props.borderStyles, protectedRanges = props.protectedRanges, _11 = props.isWorkbookProtected, isWorkbookProtectedProp = _11 === void 0 ? false : _11, getSheetProtection = props.getSheetProtection, pivotTables = props.pivotTables, charts = props.charts, embeds = props.embeds, slicers = props.slicers, _12 = props.rowMetadata, rowMetadata = _12 === void 0 ? config_1.DEFAULT_ARRAY : _12, _13 = props.columnMetadata, columnMetadata = _13 === void 0 ? config_1.DEFAULT_ARRAY : _13, _14 = props.scale, scale = _14 === void 0 ? 1 : _14, _15 = props.zoomSpeed, zoomSpeed = _15 === void 0 ? 1 : _15, _16 = props.overscanCount, overscanCount = _16 === void 0 ? 3 : _16, _17 = props.enableEditOnEnterKey, enableEditOnEnterKey = _17 === void 0 ? true : _17, _18 = props.enableTextOverflow, enableTextOverflow = _18 === void 0 ? true : _18, _showGridLines = props.showGridLines, _19 = props.showFormulas, showFormulas = _19 === void 0 ? false : _19, _20 = props.protectFormulas, protectFormulas = _20 === void 0 ? false : _20, _21 = props.showFrozenSeparator, showFrozenSeparator = _21 === void 0 ? true : _21, _22 = props.HeaderCell, HeaderCell = _22 === void 0 ? header_cell_1.HeaderCell : _22, _23 = props.Cell, Cell = _23 === void 0 ? cell_1.Cell : _23, _24 = props.SelectionTitleComponent, SelectionTitleComponent = _24 === void 0 ? title_1.SelectionTitle : _24, _25 = props.CellEditor, CellEditor = _25 === void 0 ? cell_editor_1.CellEditor : _25, CellTooltip = props.CellTooltip, _26 = props.ContextMenu, ContextMenu = _26 === void 0 ? context_menu_1.ContextMenu : _26, _27 = props.ContextMenuWrapper, ContextMenuWrapper = _27 === void 0 ? use_context_menu_1.DefaultContextMenuWrapper : _27, _28 = props.FilterBox, FilterBox = _28 === void 0 ? filter_box_1.FilterBox : _28, _29 = props.HeaderMoveDragComponent, HeaderMoveDragComponent = _29 === void 0 ? header_move_1.HeaderMoveDragComponent : _29, SuggestionsDropdown = props.SuggestionsDropdown, _30 = props.stickyEditor, stickyEditor = _30 === void 0 ? true : _30, _31 = props.scrollSnap, scrollSnap = _31 === void 0 ? false : _31, scrollThrottleTimeout = props.scrollThrottleTimeout, preventBrowserDefaultScroll = props.preventBrowserDefaultScroll, _32 = props.mouseMoveThrottleTimeout, mouseMoveThrottleTimeout = _32 === void 0 ? 60 : _32, _33 = props.tooltipIntentInterval, tooltipIntentInterval = _33 === void 0 ? 60 : _33, selectionPolicy = props.selectionPolicy, users = props.users, userId = props.userId, renderCollaboratorCursor = props.renderCollaboratorCursor, functionDescriptions = props.functionDescriptions, _34 = props.showHeaderMenuButton, showHeaderMenuButton = _34 === void 0 ? true : _34, _35 = props.scrollbarSize, scrollbarSize = _35 === void 0 ? config_1.SCROLLBAR_SIZE : _35, _36 = props.theme, theme = _36 === void 0 ? config_1.defaultSpreadsheetTheme : _36, _37 = props.showNotes, showNotes = _37 === void 0 ? true : _37, _38 = props.showComments, showComments = _38 === void 0 ? true : _38, locale = props.locale, agentSuggestions = props.agentSuggestions, onReviewSuggestion = props.onReviewSuggestion, onShowFormulas = props.onShowFormulas, getDataRowCount = props.getDataRowCount, getChartComponent = props.getChartComponent, getEmbedComponent = props.getEmbedComponent, getSlicerComponent = props.getSlicerComponent, onChange = props.onChange, onChangeBatch = props.onChangeBatch, onExpandCollapse = props.onExpandCollapse, onPivotDrillDown = props.onPivotDrillDown, onDelete = props.onDelete, onChangeEditorValue = props.onChangeEditorValue, onFill = props.onFill, onRequestCalculate = props.onRequestCalculate, onChangeActiveCell = props.onChangeActiveCell, onChangeActiveSheet = props.onChangeActiveSheet, onChangeSelections = props.onChangeSelections, getSheetName = props.getSheetName, getSheetId = props.getSheetId, getCellData = props.getCellData, getNoteProp = props.getNote, getTextFormatRuns = props.getTextFormatRuns, getDataValidation = props.getDataValidation, getEffectiveFormat = props.getEffectiveFormat, getFormattedValueProp = props.getFormattedValue, getTooltipContent = props.getTooltipContent, errorResolutionComponent = props.errorResolutionComponent, getEffectiveValueProp = props.getEffectiveValue, getUserEnteredExtendedValue = props.getUserEnteredExtendedValue, getEffectiveExtendedValue = props.getEffectiveExtendedValue, getSheetRowCount = props.getSheetRowCount, getSheetColumnCount = props.getSheetColumnCount, getCellPopoverContent = props.getCellPopoverContent, onScroll = props.onScroll, onViewPortChange = props.onViewPortChange, _39 = props.windowConditionalFormats, windowConditionalFormats = _39 === void 0 ? false : _39, _40 = props.engineConditionalFormatResults, engineConditionalFormatResults = _40 === void 0 ? false : _40, onResize = props.onResize, onAutoResize = props.onAutoResize, onHideColumn = props.onHideColumn, onHideRow = props.onHideRow, onShowColumn = props.onShowColumn, onShowRow = props.onShowRow, onGroupRows = props.onGroupRows, onUngroupRows = props.onUngroupRows, onCollapseRowGroup = props.onCollapseRowGroup, onExpandRowGroup = props.onExpandRowGroup, onGroupColumns = props.onGroupColumns, onUngroupColumns = props.onUngroupColumns, onCollapseColumnGroup = props.onCollapseColumnGroup, onExpandColumnGroup = props.onExpandColumnGroup, onSetOutlineDepth = props.onSetOutlineDepth, onDeleteRow = props.onDeleteRow, onDeleteColumn = props.onDeleteColumn, onInsertRow = props.onInsertRow, onInsertColumn = props.onInsertColumn, onInsertCellsShiftDown = props.onInsertCellsShiftDown, onInsertCellsShiftRight = props.onInsertCellsShiftRight, onDeleteCellsShiftLeft = props.onDeleteCellsShiftLeft, onDeleteCellsShiftUp = props.onDeleteCellsShiftUp, onClearContents = props.onClearContents, onMoveColumns = props.onMoveColumns, onMoveRows = props.onMoveRows, onSelectNextSheet = props.onSelectNextSheet, onSelectPreviousSheet = props.onSelectPreviousSheet, onCreateNewSheet = props.onCreateNewSheet, onKeyDown = props.onKeyDown, onChangeFormatting = props.onChangeFormatting, onRepeatFormatting = props.onRepeatFormatting, onClearFormatting = props.onClearFormatting, onRequestEditProtectedRange = props.onRequestEditProtectedRange, onMoveChart = props.onMoveChart, onResizeChart = props.onResizeChart, onDeleteChart = props.onDeleteChart, onMoveEmbed = props.onMoveEmbed, onResizeEmbed = props.onResizeEmbed, onDeleteEmbed = props.onDeleteEmbed, onRequestEditEmbed = props.onRequestEditEmbed, onMoveSlicer = props.onMoveSlicer, onResizeSlicer = props.onResizeSlicer, onDeleteSlicer = props.onDeleteSlicer, onRequestEditSlicer = props.onRequestEditSlicer, onFillRange = props.onFillRange, disableFillRightShortcut = props.disableFillRightShortcut, keymap = props.keymap, onCalculateNow = props.onCalculateNow, onRequestGoTo = props.onRequestGoTo, onMoveSelection = props.onMoveSelection, onInsertTime = props.onInsertTime, onInsertDate = props.onInsertDate, onInsertDateTime = props.onInsertDateTime, onInsertAutoSum = props.onInsertAutoSum, onUndo = props.onUndo, onRedo = props.onRedo, onPaste = props.onPaste, onCopy = props.onCopy, onCut = props.onCut, onSortColumn = props.onSortColumn, onSortTable = props.onSortTable, onFilterTable = props.onFilterTable, onFilterPivot = props.onFilterPivot, onResizeTable = props.onResizeTable, onRequestEditTable = props.onRequestEditTable, onRequestEditPivotTable = props.onRequestEditPivotTable, onRequestDeletePivotTable = props.onRequestDeletePivotTable, onRemoveTable = props.onRemoveTable, onCreateTable = props.onCreateTable, onInsertTableColumn = props.onInsertTableColumn, onDeleteTableColumn = props.onDeleteTableColumn, onInsertTableRow = props.onInsertTableRow, onDeleteTableRow = props.onDeleteTableRow, onCreateBasicFilter = props.onCreateBasicFilter, onRequestDefineNamedRange = props.onRequestDefineNamedRange, onRequestFormatCells = props.onRequestFormatCells, onRequestConditionalFormat = props.onRequestConditionalFormat, onRequestDataValidation = props.onRequestDataValidation, onRequestInsertComment = props.onRequestInsertComment, onRequestInsertLink = props.onRequestInsertLink, onFreezeColumn = props.onFreezeColumn, onFreezeRow = props.onFreezeRow, onUpdateNote = props.onUpdateNote, onProtectRange = props.onProtectRange, onUnProtectRange = props.onUnProtectRange, onSortRange = props.onSortRange, onRequestSearch = props.onRequestSearch, onRequestReplace = props.onRequestReplace, onRequestResize = props.onRequestResize, _41 = props.getRowHeaderText, getRowHeaderText = _41 === void 0 ? helpers_1.getDefaultRowHeader : _41, _42 = props.getColumnHeaderText, getColumnHeaderText = _42 === void 0 ? helpers_1.getDefaultColumnHeader : _42, getAdditionalCellSpacing = props.getAdditionalCellSpacing, _43 = props.tokenizer, defaultTokenizer = _43 === void 0 ? calculator_1.tokenize : _43, onChangeScale = props.onChangeScale, onRemoveLink = props.onRemoveLink, onSelectLink = props.onSelectLink, onSplitTextToColumns = props.onSplitTextToColumns, onRemoveDuplicates = props.onRemoveDuplicates, onGoalSeek = props.onGoalSeek, onSubtotal = props.onSubtotal, onAdvancedFilter = props.onAdvancedFilter, onRequestExpand = props.onRequestExpand, cellExpandPredicate = props.cellExpandPredicate, _44 = props.StructuredResult, StructuredResult = _44 === void 0 ? cell_structured_1.StructuredResultRenderer : _44, getMentions = props.getMentions, getStructuredPropertiesProp = props.getStructuredProperties, getFunctionParameterSuggestions = props.getFunctionParameterSuggestions, shouldFetchFunctionParameters = props.shouldFetchFunctionParameters, MentionTagComponent = props.MentionTagComponent, MentionDropdownItemComponent = props.MentionDropdownItemComponent, _45 = props.showSelectionResizeHandles, showSelectionResizeHandles = _45 === void 0 ? true : _45, enableMagicFill = props.enableMagicFill, _46 = props.enableQuickEdit, enableQuickEdit = _46 === void 0 ? true : _46, MagicFillComponent = props.MagicFillComponent, MagicFillContent = props.MagicFillContent, QuickEdit = props.QuickEdit, PasteMenu = props.PasteMenu, SuggestionAction = props.SuggestionAction, HiddenRowMarkers = props.HiddenRowMarkers, HiddenColumnMarkers = props.HiddenColumnMarkers, enableResizerOverflow = props.enableResizerOverflow, className = props.className, _47 = props.defaultFontSizePoint, defaultFontSizePoint = _47 === void 0 ? config_1.DEFAULT_FONT_SIZE_PT : _47, readonly = props.readonly, _48 = props.isComparing, isComparing = _48 === void 0 ? false : _48, getCellDiff = props.getCellDiff, enableDataBoundaryNavigation = props.enableDataBoundaryNavigation, footerHeight = props.footerHeight, footerComponent = props.footerComponent, arrowComponents = props.arrowComponents,
|
|
113
|
+
var licenseKey = props.licenseKey, sheetId = props.sheetId, instanceId = props.instanceId, _a = props.activeCell, activeCell = _a === void 0 ? config_1.DEFAULT_ACTIVE_CELL : _a, _b = props.selections, selections = _b === void 0 ? config_1.DEFAULT_ARRAY : _b, _c = props.frozenColumnCount, frozenColumnCount = _c === void 0 ? 0 : _c, _d = props.frozenRowCount, frozenRowCount = _d === void 0 ? 0 : _d, _e = props.rowCount, rowCount = _e === void 0 ? config_1.DEFAULT_ROW_COUNT : _e, _f = props.columnCount, columnCount = _f === void 0 ? config_1.DEFAULT_COLUMN_COUNT : _f, autoFocus = props.autoFocus, basicFilter = props.basicFilter, tables = props.tables, namedRanges = props.namedRanges, _g = props.bandedRanges, bandedRanges = _g === void 0 ? config_1.DEFAULT_ARRAY : _g, _h = props.tableBorderColor, tableBorderColor = _h === void 0 ? "#008000" : _h, _j = props.filterIconColor, filterIconColor = _j === void 0 ? "#008000" : _j, conditionalFormats = props.conditionalFormats, _k = props.showFilterIcon, showFilterIcon = _k === void 0 ? true : _k, _l = props.showCalculatedColumnIcon, showCalculatedColumnIcon = _l === void 0 ? true : _l, _m = props.showHeaders, showHeaders = _m === void 0 ? true : _m, _o = props.defaultColumnWidth, defaultColumnWidth = _o === void 0 ? config_1.DEFAULT_COLUMN_WIDTH : _o, _p = props.defaultRowHeight, defaultRowHeight = _p === void 0 ? config_1.DEFAULT_ROW_HEIGHT : _p, _q = props.columnHeaderHeight, columnHeaderHeight = _q === void 0 ? config_1.COLUMN_HEADER_HEIGHT : _q, _r = props.rowHeaderWidth, rowHeaderWidth = _r === void 0 ? config_1.ROW_HEADER_WIDTH : _r, _s = props.gridLineColor, gridLineColor = _s === void 0 ? config_1.GRIDLINE_COLOR : _s, _t = props.cellBackgroundColor, cellBackgroundColor = _t === void 0 ? config_1.DEFAULT_CELL_BACKGROUND_COLOR : _t, _u = props.cellColor, cellColor = _u === void 0 ? config_1.DEFAULT_CELL_COLOR : _u, _v = props.headerBorderColor, headerBorderColor = _v === void 0 ? config_1.DEFAULT_HEADER_BORDER_COLOR : _v, _w = props.headerBackgroundColor, headerBackgroundColor = _w === void 0 ? config_1.DEFAULT_HEADER_BG : _w, _x = props.headerColor, headerColor = _x === void 0 ? config_1.DEFAULT_HEADER_COLOR : _x, _y = props.headerActiveBackgroundColor, headerActiveBackgroundColor = _y === void 0 ? config_1.DEFAULT_HEADER_ACTIVE_BG : _y, _z = props.headerSelectedBackgroundColor, headerSelectedBackgroundColor = _z === void 0 ? config_1.DEFAULT_HEADER_SELECTED_BG : _z, _0 = props.headerSelectedColor, headerSelectedColor = _0 === void 0 ? "white" : _0, _1 = props.headerTableBackgroundColor, headerTableBackgroundColor = _1 === void 0 ? config_1.DEFAULT_HEADER_TABLE_BG : _1, _2 = props.headerTableActiveBackgroundColor, headerTableActiveBackgroundColor = _2 === void 0 ? config_1.DEFAULT_HEADER_ACTIVE_TABLE_BG : _2, _3 = props.headerTableSelectedBackgroundColor, headerTableSelectedBackgroundColor = _3 === void 0 ? config_1.DEFAULT_HEADER_SELECTED_TABLE_BG : _3, _4 = props.frozenShadowColor, frozenShadowColor = _4 === void 0 ? headerBorderColor : _4, _5 = props.frozenShadowThickness, frozenShadowThickness = _5 === void 0 ? 1 : _5, _6 = props.selectionBackgroundColor, selectionBackgroundColor = _6 === void 0 ? config_1.SELECTION_BG : _6, _7 = props.selectionBorderColor, selectionBorderColor = _7 === void 0 ? config_1.SELECTION_BORDER : _7, _8 = props.selectionDragBorderColor, selectionDragBorderColor = _8 === void 0 ? config_1.SELECTION_BORDER : _8, chartSelectedColor = props.chartSelectedColor, _9 = props.chipBackgroundColor, chipBackgroundColor = _9 === void 0 ? config_1.CHIP_COLOR : _9, _10 = props.merges, merges = _10 === void 0 ? config_1.DEFAULT_ARRAY : _10, borderStyles = props.borderStyles, protectedRanges = props.protectedRanges, _11 = props.isWorkbookProtected, isWorkbookProtectedProp = _11 === void 0 ? false : _11, getSheetProtection = props.getSheetProtection, pivotTables = props.pivotTables, charts = props.charts, embeds = props.embeds, slicers = props.slicers, _12 = props.rowMetadata, rowMetadata = _12 === void 0 ? config_1.DEFAULT_ARRAY : _12, _13 = props.columnMetadata, columnMetadata = _13 === void 0 ? config_1.DEFAULT_ARRAY : _13, _14 = props.scale, scale = _14 === void 0 ? 1 : _14, _15 = props.zoomSpeed, zoomSpeed = _15 === void 0 ? 1 : _15, _16 = props.overscanCount, overscanCount = _16 === void 0 ? 3 : _16, _17 = props.enableEditOnEnterKey, enableEditOnEnterKey = _17 === void 0 ? true : _17, _18 = props.enableTextOverflow, enableTextOverflow = _18 === void 0 ? true : _18, _showGridLines = props.showGridLines, _19 = props.showFormulas, showFormulas = _19 === void 0 ? false : _19, _20 = props.protectFormulas, protectFormulas = _20 === void 0 ? false : _20, _21 = props.showFrozenSeparator, showFrozenSeparator = _21 === void 0 ? true : _21, _22 = props.HeaderCell, HeaderCell = _22 === void 0 ? header_cell_1.HeaderCell : _22, _23 = props.Cell, Cell = _23 === void 0 ? cell_1.Cell : _23, _24 = props.SelectionTitleComponent, SelectionTitleComponent = _24 === void 0 ? title_1.SelectionTitle : _24, _25 = props.CellEditor, CellEditor = _25 === void 0 ? cell_editor_1.CellEditor : _25, CellTooltip = props.CellTooltip, _26 = props.ContextMenu, ContextMenu = _26 === void 0 ? context_menu_1.ContextMenu : _26, _27 = props.ContextMenuWrapper, ContextMenuWrapper = _27 === void 0 ? use_context_menu_1.DefaultContextMenuWrapper : _27, _28 = props.FilterBox, FilterBox = _28 === void 0 ? filter_box_1.FilterBox : _28, _29 = props.HeaderMoveDragComponent, HeaderMoveDragComponent = _29 === void 0 ? header_move_1.HeaderMoveDragComponent : _29, SuggestionsDropdown = props.SuggestionsDropdown, _30 = props.stickyEditor, stickyEditor = _30 === void 0 ? true : _30, _31 = props.scrollSnap, scrollSnap = _31 === void 0 ? false : _31, scrollThrottleTimeout = props.scrollThrottleTimeout, preventBrowserDefaultScroll = props.preventBrowserDefaultScroll, _32 = props.mouseMoveThrottleTimeout, mouseMoveThrottleTimeout = _32 === void 0 ? 60 : _32, _33 = props.tooltipIntentInterval, tooltipIntentInterval = _33 === void 0 ? 60 : _33, selectionPolicy = props.selectionPolicy, users = props.users, userId = props.userId, renderCollaboratorCursor = props.renderCollaboratorCursor, functionDescriptions = props.functionDescriptions, _34 = props.showHeaderMenuButton, showHeaderMenuButton = _34 === void 0 ? true : _34, _35 = props.scrollbarSize, scrollbarSize = _35 === void 0 ? config_1.SCROLLBAR_SIZE : _35, _36 = props.theme, theme = _36 === void 0 ? config_1.defaultSpreadsheetTheme : _36, _37 = props.showNotes, showNotes = _37 === void 0 ? true : _37, _38 = props.showComments, showComments = _38 === void 0 ? true : _38, locale = props.locale, formulaLocaleProp = props.formulaLocale, agentSuggestions = props.agentSuggestions, onReviewSuggestion = props.onReviewSuggestion, onShowFormulas = props.onShowFormulas, getDataRowCount = props.getDataRowCount, getChartComponent = props.getChartComponent, getEmbedComponent = props.getEmbedComponent, getSlicerComponent = props.getSlicerComponent, onChange = props.onChange, onChangeBatch = props.onChangeBatch, onExpandCollapse = props.onExpandCollapse, onPivotDrillDown = props.onPivotDrillDown, onDelete = props.onDelete, onChangeEditorValue = props.onChangeEditorValue, onFill = props.onFill, onRequestCalculate = props.onRequestCalculate, onChangeActiveCell = props.onChangeActiveCell, onChangeActiveSheet = props.onChangeActiveSheet, onChangeSelections = props.onChangeSelections, getSheetName = props.getSheetName, getSheetId = props.getSheetId, getCellData = props.getCellData, getNoteProp = props.getNote, getTextFormatRuns = props.getTextFormatRuns, getDataValidation = props.getDataValidation, getEffectiveFormat = props.getEffectiveFormat, getFormattedValueProp = props.getFormattedValue, getTooltipContent = props.getTooltipContent, errorResolutionComponent = props.errorResolutionComponent, getEffectiveValueProp = props.getEffectiveValue, getUserEnteredExtendedValue = props.getUserEnteredExtendedValue, getEffectiveExtendedValue = props.getEffectiveExtendedValue, getSheetRowCount = props.getSheetRowCount, getSheetColumnCount = props.getSheetColumnCount, getCellPopoverContent = props.getCellPopoverContent, onScroll = props.onScroll, onViewPortChange = props.onViewPortChange, _39 = props.windowConditionalFormats, windowConditionalFormats = _39 === void 0 ? false : _39, _40 = props.engineConditionalFormatResults, engineConditionalFormatResults = _40 === void 0 ? false : _40, onResize = props.onResize, onAutoResize = props.onAutoResize, onHideColumn = props.onHideColumn, onHideRow = props.onHideRow, onShowColumn = props.onShowColumn, onShowRow = props.onShowRow, onGroupRows = props.onGroupRows, onUngroupRows = props.onUngroupRows, onCollapseRowGroup = props.onCollapseRowGroup, onExpandRowGroup = props.onExpandRowGroup, onGroupColumns = props.onGroupColumns, onUngroupColumns = props.onUngroupColumns, onCollapseColumnGroup = props.onCollapseColumnGroup, onExpandColumnGroup = props.onExpandColumnGroup, onSetOutlineDepth = props.onSetOutlineDepth, onDeleteRow = props.onDeleteRow, onDeleteColumn = props.onDeleteColumn, onInsertRow = props.onInsertRow, onInsertColumn = props.onInsertColumn, onInsertCellsShiftDown = props.onInsertCellsShiftDown, onInsertCellsShiftRight = props.onInsertCellsShiftRight, onDeleteCellsShiftLeft = props.onDeleteCellsShiftLeft, onDeleteCellsShiftUp = props.onDeleteCellsShiftUp, onClearContents = props.onClearContents, onMoveColumns = props.onMoveColumns, onMoveRows = props.onMoveRows, onSelectNextSheet = props.onSelectNextSheet, onSelectPreviousSheet = props.onSelectPreviousSheet, onCreateNewSheet = props.onCreateNewSheet, onKeyDown = props.onKeyDown, onChangeFormatting = props.onChangeFormatting, onRepeatFormatting = props.onRepeatFormatting, onClearFormatting = props.onClearFormatting, onRequestEditProtectedRange = props.onRequestEditProtectedRange, onMoveChart = props.onMoveChart, onResizeChart = props.onResizeChart, onDeleteChart = props.onDeleteChart, onMoveEmbed = props.onMoveEmbed, onResizeEmbed = props.onResizeEmbed, onDeleteEmbed = props.onDeleteEmbed, onRequestEditEmbed = props.onRequestEditEmbed, onMoveSlicer = props.onMoveSlicer, onResizeSlicer = props.onResizeSlicer, onDeleteSlicer = props.onDeleteSlicer, onRequestEditSlicer = props.onRequestEditSlicer, onFillRange = props.onFillRange, disableFillRightShortcut = props.disableFillRightShortcut, keymap = props.keymap, onCalculateNow = props.onCalculateNow, onRequestGoTo = props.onRequestGoTo, onMoveSelection = props.onMoveSelection, onInsertCutCells = props.onInsertCutCells, onInsertTime = props.onInsertTime, onInsertDate = props.onInsertDate, onInsertDateTime = props.onInsertDateTime, onInsertAutoSum = props.onInsertAutoSum, onUndo = props.onUndo, onRedo = props.onRedo, onPaste = props.onPaste, onCopy = props.onCopy, onCut = props.onCut, onSortColumn = props.onSortColumn, onSortTable = props.onSortTable, onFilterTable = props.onFilterTable, onFilterPivot = props.onFilterPivot, onResizeTable = props.onResizeTable, onRequestEditTable = props.onRequestEditTable, onRequestEditPivotTable = props.onRequestEditPivotTable, onRequestDeletePivotTable = props.onRequestDeletePivotTable, onRemoveTable = props.onRemoveTable, onCreateTable = props.onCreateTable, onInsertTableColumn = props.onInsertTableColumn, onDeleteTableColumn = props.onDeleteTableColumn, onInsertTableRow = props.onInsertTableRow, onDeleteTableRow = props.onDeleteTableRow, onCreateBasicFilter = props.onCreateBasicFilter, onRequestDefineNamedRange = props.onRequestDefineNamedRange, onRequestFormatCells = props.onRequestFormatCells, onRequestConditionalFormat = props.onRequestConditionalFormat, onRequestDataValidation = props.onRequestDataValidation, onRequestInsertComment = props.onRequestInsertComment, onRequestInsertLink = props.onRequestInsertLink, onFreezeColumn = props.onFreezeColumn, onFreezeRow = props.onFreezeRow, onUpdateNote = props.onUpdateNote, onProtectRange = props.onProtectRange, onUnProtectRange = props.onUnProtectRange, onSortRange = props.onSortRange, onRequestSearch = props.onRequestSearch, onRequestReplace = props.onRequestReplace, onRequestResize = props.onRequestResize, _41 = props.getRowHeaderText, getRowHeaderText = _41 === void 0 ? helpers_1.getDefaultRowHeader : _41, _42 = props.getColumnHeaderText, getColumnHeaderText = _42 === void 0 ? helpers_1.getDefaultColumnHeader : _42, getAdditionalCellSpacing = props.getAdditionalCellSpacing, _43 = props.tokenizer, defaultTokenizer = _43 === void 0 ? calculator_1.tokenize : _43, onChangeScale = props.onChangeScale, onRemoveLink = props.onRemoveLink, onSelectLink = props.onSelectLink, onSplitTextToColumns = props.onSplitTextToColumns, onRemoveDuplicates = props.onRemoveDuplicates, onGoalSeek = props.onGoalSeek, onSubtotal = props.onSubtotal, onAdvancedFilter = props.onAdvancedFilter, onRequestExpand = props.onRequestExpand, cellExpandPredicate = props.cellExpandPredicate, _44 = props.StructuredResult, StructuredResult = _44 === void 0 ? cell_structured_1.StructuredResultRenderer : _44, getMentions = props.getMentions, getStructuredPropertiesProp = props.getStructuredProperties, getFunctionParameterSuggestions = props.getFunctionParameterSuggestions, shouldFetchFunctionParameters = props.shouldFetchFunctionParameters, MentionTagComponent = props.MentionTagComponent, MentionDropdownItemComponent = props.MentionDropdownItemComponent, _45 = props.showSelectionResizeHandles, showSelectionResizeHandles = _45 === void 0 ? true : _45, enableMagicFill = props.enableMagicFill, _46 = props.enableQuickEdit, enableQuickEdit = _46 === void 0 ? true : _46, MagicFillComponent = props.MagicFillComponent, MagicFillContent = props.MagicFillContent, QuickEdit = props.QuickEdit, PasteMenu = props.PasteMenu, SuggestionAction = props.SuggestionAction, HiddenRowMarkers = props.HiddenRowMarkers, HiddenColumnMarkers = props.HiddenColumnMarkers, enableResizerOverflow = props.enableResizerOverflow, className = props.className, _47 = props.defaultFontSizePoint, defaultFontSizePoint = _47 === void 0 ? config_1.DEFAULT_FONT_SIZE_PT : _47, readonly = props.readonly, _48 = props.isComparing, isComparing = _48 === void 0 ? false : _48, getCellDiff = props.getCellDiff, enableDataBoundaryNavigation = props.enableDataBoundaryNavigation, footerHeight = props.footerHeight, footerComponent = props.footerComponent, arrowComponents = props.arrowComponents,
|
|
113
114
|
// Host-driven filter props. `hostHiddenRowRanges`
|
|
114
115
|
// supplies compact [start, end] hidden-row tuples; `getFilterValues` supplies a
|
|
115
116
|
// column's distinct values. Both let a million-row filter render without scanning
|
|
@@ -121,7 +122,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
121
122
|
// defaults to `getFormattedValue` inside `useGetValuesFromRange`.
|
|
122
123
|
getValidationSourceValue = props.getValidationSourceValue,
|
|
123
124
|
// Unused props only for api
|
|
124
|
-
onChangeBorder = props.onChangeBorder, onDuplicateSheet = props.onDuplicateSheet, onCreateConditionalFormattingRule = props.onCreateConditionalFormattingRule, onDeleteConditionalFormattingRule = props.onDeleteConditionalFormattingRule, onUpdateConditionalFormattingRule = props.onUpdateConditionalFormattingRule, onCreateDataValidationRule = props.onCreateDataValidationRule, onUpdateDataValidationRule = props.onUpdateDataValidationRule, onDeleteDataValidationRule = props.onDeleteDataValidationRule, onCreateChart = props.onCreateChart, onDeleteSheet = props.onDeleteSheet, onCreateEmbed = props.onCreateEmbed, onDecreaseIndent = props.onDecreaseIndent, onIncreaseIndent = props.onIncreaseIndent, onChangeTheme = props.onChangeTheme, onChangeDecimals = props.onChangeDecimals, onUpdateSheet = props.onUpdateSheet, onChangeBatchStream = props.onChangeBatchStream, onBlur = props.onBlur, rest = tslib_1.__rest(props, ["licenseKey", "sheetId", "instanceId", "activeCell", "selections", "frozenColumnCount", "frozenRowCount", "rowCount", "columnCount", "autoFocus", "basicFilter", "tables", "namedRanges", "bandedRanges", "tableBorderColor", "filterIconColor", "conditionalFormats", "showFilterIcon", "showCalculatedColumnIcon", "showHeaders", "defaultColumnWidth", "defaultRowHeight", "columnHeaderHeight", "rowHeaderWidth", "gridLineColor", "cellBackgroundColor", "cellColor", "headerBorderColor", "headerBackgroundColor", "headerColor", "headerActiveBackgroundColor", "headerSelectedBackgroundColor", "headerSelectedColor", "headerTableBackgroundColor", "headerTableActiveBackgroundColor", "headerTableSelectedBackgroundColor", "frozenShadowColor", "frozenShadowThickness", "selectionBackgroundColor", "selectionBorderColor", "selectionDragBorderColor", "chartSelectedColor", "chipBackgroundColor", "merges", "borderStyles", "protectedRanges", "isWorkbookProtected", "getSheetProtection", "pivotTables", "charts", "embeds", "slicers", "rowMetadata", "columnMetadata", "scale", "zoomSpeed", "overscanCount", "enableEditOnEnterKey", "enableTextOverflow", "showGridLines", "showFormulas", "protectFormulas", "showFrozenSeparator", "HeaderCell", "Cell", "SelectionTitleComponent", "CellEditor", "CellTooltip", "ContextMenu", "ContextMenuWrapper", "FilterBox", "HeaderMoveDragComponent", "SuggestionsDropdown", "stickyEditor", "scrollSnap", "scrollThrottleTimeout", "preventBrowserDefaultScroll", "mouseMoveThrottleTimeout", "tooltipIntentInterval", "selectionPolicy", "users", "userId", "renderCollaboratorCursor", "functionDescriptions", "showHeaderMenuButton", "scrollbarSize", "theme", "showNotes", "showComments", "locale", "agentSuggestions", "onReviewSuggestion", "onShowFormulas", "getDataRowCount", "getChartComponent", "getEmbedComponent", "getSlicerComponent", "onChange", "onChangeBatch", "onExpandCollapse", "onPivotDrillDown", "onDelete", "onChangeEditorValue", "onFill", "onRequestCalculate", "onChangeActiveCell", "onChangeActiveSheet", "onChangeSelections", "getSheetName", "getSheetId", "getCellData", "getNote", "getTextFormatRuns", "getDataValidation", "getEffectiveFormat", "getFormattedValue", "getTooltipContent", "errorResolutionComponent", "getEffectiveValue", "getUserEnteredExtendedValue", "getEffectiveExtendedValue", "getSheetRowCount", "getSheetColumnCount", "getCellPopoverContent", "onScroll", "onViewPortChange", "windowConditionalFormats", "engineConditionalFormatResults", "onResize", "onAutoResize", "onHideColumn", "onHideRow", "onShowColumn", "onShowRow", "onGroupRows", "onUngroupRows", "onCollapseRowGroup", "onExpandRowGroup", "onGroupColumns", "onUngroupColumns", "onCollapseColumnGroup", "onExpandColumnGroup", "onSetOutlineDepth", "onDeleteRow", "onDeleteColumn", "onInsertRow", "onInsertColumn", "onInsertCellsShiftDown", "onInsertCellsShiftRight", "onDeleteCellsShiftLeft", "onDeleteCellsShiftUp", "onClearContents", "onMoveColumns", "onMoveRows", "onSelectNextSheet", "onSelectPreviousSheet", "onCreateNewSheet", "onKeyDown", "onChangeFormatting", "onRepeatFormatting", "onClearFormatting", "onRequestEditProtectedRange", "onMoveChart", "onResizeChart", "onDeleteChart", "onMoveEmbed", "onResizeEmbed", "onDeleteEmbed", "onRequestEditEmbed", "onMoveSlicer", "onResizeSlicer", "onDeleteSlicer", "onRequestEditSlicer", "onFillRange", "disableFillRightShortcut", "keymap", "onCalculateNow", "onRequestGoTo", "onMoveSelection", "onInsertTime", "onInsertDate", "onInsertDateTime", "onInsertAutoSum", "onUndo", "onRedo", "onPaste", "onCopy", "onCut", "onSortColumn", "onSortTable", "onFilterTable", "onFilterPivot", "onResizeTable", "onRequestEditTable", "onRequestEditPivotTable", "onRequestDeletePivotTable", "onRemoveTable", "onCreateTable", "onInsertTableColumn", "onDeleteTableColumn", "onInsertTableRow", "onDeleteTableRow", "onCreateBasicFilter", "onRequestDefineNamedRange", "onRequestFormatCells", "onRequestConditionalFormat", "onRequestDataValidation", "onRequestInsertComment", "onRequestInsertLink", "onFreezeColumn", "onFreezeRow", "onUpdateNote", "onProtectRange", "onUnProtectRange", "onSortRange", "onRequestSearch", "onRequestReplace", "onRequestResize", "getRowHeaderText", "getColumnHeaderText", "getAdditionalCellSpacing", "tokenizer", "onChangeScale", "onRemoveLink", "onSelectLink", "onSplitTextToColumns", "onRemoveDuplicates", "onGoalSeek", "onSubtotal", "onAdvancedFilter", "onRequestExpand", "cellExpandPredicate", "StructuredResult", "getMentions", "getStructuredProperties", "getFunctionParameterSuggestions", "shouldFetchFunctionParameters", "MentionTagComponent", "MentionDropdownItemComponent", "showSelectionResizeHandles", "enableMagicFill", "enableQuickEdit", "MagicFillComponent", "MagicFillContent", "QuickEdit", "PasteMenu", "SuggestionAction", "HiddenRowMarkers", "HiddenColumnMarkers", "enableResizerOverflow", "className", "defaultFontSizePoint", "readonly", "isComparing", "getCellDiff", "enableDataBoundaryNavigation", "footerHeight", "footerComponent", "arrowComponents", "hostHiddenRowRanges", "getFilterValues", "getFilterColors", "getValidationSourceValue", "onChangeBorder", "onDuplicateSheet", "onCreateConditionalFormattingRule", "onDeleteConditionalFormattingRule", "onUpdateConditionalFormattingRule", "onCreateDataValidationRule", "onUpdateDataValidationRule", "onDeleteDataValidationRule", "onCreateChart", "onDeleteSheet", "onCreateEmbed", "onDecreaseIndent", "onIncreaseIndent", "onChangeTheme", "onChangeDecimals", "onUpdateSheet", "onChangeBatchStream", "onBlur"]);
|
|
125
|
+
onChangeBorder = props.onChangeBorder, onDuplicateSheet = props.onDuplicateSheet, onCreateConditionalFormattingRule = props.onCreateConditionalFormattingRule, onDeleteConditionalFormattingRule = props.onDeleteConditionalFormattingRule, onUpdateConditionalFormattingRule = props.onUpdateConditionalFormattingRule, onCreateDataValidationRule = props.onCreateDataValidationRule, onUpdateDataValidationRule = props.onUpdateDataValidationRule, onDeleteDataValidationRule = props.onDeleteDataValidationRule, onCreateChart = props.onCreateChart, onDeleteSheet = props.onDeleteSheet, onCreateEmbed = props.onCreateEmbed, onDecreaseIndent = props.onDecreaseIndent, onIncreaseIndent = props.onIncreaseIndent, onChangeTheme = props.onChangeTheme, onChangeDecimals = props.onChangeDecimals, onUpdateSheet = props.onUpdateSheet, onChangeBatchStream = props.onChangeBatchStream, onBlur = props.onBlur, rest = tslib_1.__rest(props, ["licenseKey", "sheetId", "instanceId", "activeCell", "selections", "frozenColumnCount", "frozenRowCount", "rowCount", "columnCount", "autoFocus", "basicFilter", "tables", "namedRanges", "bandedRanges", "tableBorderColor", "filterIconColor", "conditionalFormats", "showFilterIcon", "showCalculatedColumnIcon", "showHeaders", "defaultColumnWidth", "defaultRowHeight", "columnHeaderHeight", "rowHeaderWidth", "gridLineColor", "cellBackgroundColor", "cellColor", "headerBorderColor", "headerBackgroundColor", "headerColor", "headerActiveBackgroundColor", "headerSelectedBackgroundColor", "headerSelectedColor", "headerTableBackgroundColor", "headerTableActiveBackgroundColor", "headerTableSelectedBackgroundColor", "frozenShadowColor", "frozenShadowThickness", "selectionBackgroundColor", "selectionBorderColor", "selectionDragBorderColor", "chartSelectedColor", "chipBackgroundColor", "merges", "borderStyles", "protectedRanges", "isWorkbookProtected", "getSheetProtection", "pivotTables", "charts", "embeds", "slicers", "rowMetadata", "columnMetadata", "scale", "zoomSpeed", "overscanCount", "enableEditOnEnterKey", "enableTextOverflow", "showGridLines", "showFormulas", "protectFormulas", "showFrozenSeparator", "HeaderCell", "Cell", "SelectionTitleComponent", "CellEditor", "CellTooltip", "ContextMenu", "ContextMenuWrapper", "FilterBox", "HeaderMoveDragComponent", "SuggestionsDropdown", "stickyEditor", "scrollSnap", "scrollThrottleTimeout", "preventBrowserDefaultScroll", "mouseMoveThrottleTimeout", "tooltipIntentInterval", "selectionPolicy", "users", "userId", "renderCollaboratorCursor", "functionDescriptions", "showHeaderMenuButton", "scrollbarSize", "theme", "showNotes", "showComments", "locale", "formulaLocale", "agentSuggestions", "onReviewSuggestion", "onShowFormulas", "getDataRowCount", "getChartComponent", "getEmbedComponent", "getSlicerComponent", "onChange", "onChangeBatch", "onExpandCollapse", "onPivotDrillDown", "onDelete", "onChangeEditorValue", "onFill", "onRequestCalculate", "onChangeActiveCell", "onChangeActiveSheet", "onChangeSelections", "getSheetName", "getSheetId", "getCellData", "getNote", "getTextFormatRuns", "getDataValidation", "getEffectiveFormat", "getFormattedValue", "getTooltipContent", "errorResolutionComponent", "getEffectiveValue", "getUserEnteredExtendedValue", "getEffectiveExtendedValue", "getSheetRowCount", "getSheetColumnCount", "getCellPopoverContent", "onScroll", "onViewPortChange", "windowConditionalFormats", "engineConditionalFormatResults", "onResize", "onAutoResize", "onHideColumn", "onHideRow", "onShowColumn", "onShowRow", "onGroupRows", "onUngroupRows", "onCollapseRowGroup", "onExpandRowGroup", "onGroupColumns", "onUngroupColumns", "onCollapseColumnGroup", "onExpandColumnGroup", "onSetOutlineDepth", "onDeleteRow", "onDeleteColumn", "onInsertRow", "onInsertColumn", "onInsertCellsShiftDown", "onInsertCellsShiftRight", "onDeleteCellsShiftLeft", "onDeleteCellsShiftUp", "onClearContents", "onMoveColumns", "onMoveRows", "onSelectNextSheet", "onSelectPreviousSheet", "onCreateNewSheet", "onKeyDown", "onChangeFormatting", "onRepeatFormatting", "onClearFormatting", "onRequestEditProtectedRange", "onMoveChart", "onResizeChart", "onDeleteChart", "onMoveEmbed", "onResizeEmbed", "onDeleteEmbed", "onRequestEditEmbed", "onMoveSlicer", "onResizeSlicer", "onDeleteSlicer", "onRequestEditSlicer", "onFillRange", "disableFillRightShortcut", "keymap", "onCalculateNow", "onRequestGoTo", "onMoveSelection", "onInsertCutCells", "onInsertTime", "onInsertDate", "onInsertDateTime", "onInsertAutoSum", "onUndo", "onRedo", "onPaste", "onCopy", "onCut", "onSortColumn", "onSortTable", "onFilterTable", "onFilterPivot", "onResizeTable", "onRequestEditTable", "onRequestEditPivotTable", "onRequestDeletePivotTable", "onRemoveTable", "onCreateTable", "onInsertTableColumn", "onDeleteTableColumn", "onInsertTableRow", "onDeleteTableRow", "onCreateBasicFilter", "onRequestDefineNamedRange", "onRequestFormatCells", "onRequestConditionalFormat", "onRequestDataValidation", "onRequestInsertComment", "onRequestInsertLink", "onFreezeColumn", "onFreezeRow", "onUpdateNote", "onProtectRange", "onUnProtectRange", "onSortRange", "onRequestSearch", "onRequestReplace", "onRequestResize", "getRowHeaderText", "getColumnHeaderText", "getAdditionalCellSpacing", "tokenizer", "onChangeScale", "onRemoveLink", "onSelectLink", "onSplitTextToColumns", "onRemoveDuplicates", "onGoalSeek", "onSubtotal", "onAdvancedFilter", "onRequestExpand", "cellExpandPredicate", "StructuredResult", "getMentions", "getStructuredProperties", "getFunctionParameterSuggestions", "shouldFetchFunctionParameters", "MentionTagComponent", "MentionDropdownItemComponent", "showSelectionResizeHandles", "enableMagicFill", "enableQuickEdit", "MagicFillComponent", "MagicFillContent", "QuickEdit", "PasteMenu", "SuggestionAction", "HiddenRowMarkers", "HiddenColumnMarkers", "enableResizerOverflow", "className", "defaultFontSizePoint", "readonly", "isComparing", "getCellDiff", "enableDataBoundaryNavigation", "footerHeight", "footerComponent", "arrowComponents", "hostHiddenRowRanges", "getFilterValues", "getFilterColors", "getValidationSourceValue", "onChangeBorder", "onDuplicateSheet", "onCreateConditionalFormattingRule", "onDeleteConditionalFormattingRule", "onUpdateConditionalFormattingRule", "onCreateDataValidationRule", "onUpdateDataValidationRule", "onDeleteDataValidationRule", "onCreateChart", "onDeleteSheet", "onCreateEmbed", "onDecreaseIndent", "onIncreaseIndent", "onChangeTheme", "onChangeDecimals", "onUpdateSheet", "onChangeBatchStream", "onBlur"]);
|
|
125
126
|
/**
|
|
126
127
|
* Fire onBlur only when the cell editor blurs to an element outside the
|
|
127
128
|
* spreadsheet. Routed through `useEditable` so we hook the always-focused
|
|
@@ -232,19 +233,28 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
232
233
|
var _50 = tslib_1.__read((0, atoms_1.useShowPasteMenu)(), 2), showPasteMenu = _50[0], setShowPasteMenu = _50[1];
|
|
233
234
|
// Auto Fill Options smart tag / right-drag fill menu + Series dialog
|
|
234
235
|
var _51 = tslib_1.__read((0, atoms_1.useFillOptionsState)(), 2), fillOptions = _51[0], setFillOptions = _51[1];
|
|
236
|
+
var _52 = tslib_1.__read((0, atoms_1.useInsertOptionsState)(), 2), insertOptions = _52[0], setInsertOptions = _52[1];
|
|
235
237
|
var openFillSeriesDialog = (0, atoms_1.useOpenFillSeriesDialog)();
|
|
236
238
|
// Shared state
|
|
237
239
|
var formulaMode = (0, atoms_1.useFormulaModeValue)();
|
|
238
240
|
var formulaSelections = (0, formula_selections_atom_1.useFormulaSelections)();
|
|
239
|
-
var
|
|
241
|
+
var _53 = tslib_1.__read((0, editing_cell_atom_1.useEditingCell)(), 2), editingCellCoordinate = _53[0], setEditingCellCoordinate = _53[1];
|
|
240
242
|
var setFormulabarEditorValue = (0, formula_bar_editor_value_atom_1.useSetFormulabarEditorValue)();
|
|
243
|
+
/**
|
|
244
|
+
* The formula SYNTAX the editor / formula bar speak (rowsncolumns/spreadsheet#655): Excel follows
|
|
245
|
+
* the user's language, so it defaults to `locale`. Everything that crosses the grid boundary stays
|
|
246
|
+
* canonical — see `formulaLocale` on `CanvasGridProps`.
|
|
247
|
+
*/
|
|
248
|
+
var formulaLocale = (0, react_1.useMemo)(function () { return (0, utils_1.getFormulaLocale)(formulaLocaleProp !== null && formulaLocaleProp !== void 0 ? formulaLocaleProp : locale); }, [formulaLocaleProp, locale]);
|
|
249
|
+
// Autocomplete + argument hints show the locale's function names and syntax.
|
|
250
|
+
var localizedFunctionDescriptions = (0, react_1.useMemo)(function () { return (0, utils_1.localizeFunctionDescriptions)(functionDescriptions !== null && functionDescriptions !== void 0 ? functionDescriptions : undefined, formulaLocale); }, [functionDescriptions, formulaLocale]);
|
|
241
251
|
var setFormulaBarTextFormatRuns = (0, formula_bar_editor_value_atom_1.useSetFormulaBarTextFormatRuns)();
|
|
242
252
|
var canSelectCells = (0, formula_selection_state_atom_1.useFormulaCanSelectCells)();
|
|
243
253
|
var selectionMode = (0, formula_selection_state_atom_1.useFormulaSelectionMode)();
|
|
244
254
|
var setFormulaState = (0, formula_selection_state_atom_1.useSetFormulaSelectionState)();
|
|
245
255
|
var activeEditor = (0, active_editor_atom_1.useActiveEditor)();
|
|
246
256
|
// Magic fill state
|
|
247
|
-
var
|
|
257
|
+
var _54 = tslib_1.__read((0, magic_fill_state_atom_1.useQuickEditState)(), 2), quickEditValues = _54[0], setQuickEditState = _54[1];
|
|
248
258
|
var setNoteEditorCell = (0, atoms_1.useSetNoteEditorCell)();
|
|
249
259
|
var setPinnedTooltip = (0, atoms_1.useSetPinnedTooltip)();
|
|
250
260
|
var setSpreadsheetApi = (0, spreadsheet_api_atom_1.useSetSpreadsheetApi)();
|
|
@@ -255,7 +265,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
255
265
|
var instanceStore = (0, jotai_1.useStore)({ store: spreadsheet_provider_1.multiInstanceStore });
|
|
256
266
|
// To access closures
|
|
257
267
|
var hoveredCellRef = (0, use_stable_ref_1.useStableRef)(hoveredCell);
|
|
258
|
-
var
|
|
268
|
+
var _55 = tslib_1.__read((0, use_resize_observer_1.useResizeObserver)(), 2), gridContainerRef = _55[0], _56 = _55[1], width = _56.width, height = _56.height;
|
|
259
269
|
var defaultFrozenDims = showHeaders ? 1 : 0;
|
|
260
270
|
var frozenRows = Math.max(defaultFrozenDims, (frozenRowCount !== null && frozenRowCount !== void 0 ? frozenRowCount : 0) + defaultFrozenDims);
|
|
261
271
|
var frozenColumns = Math.max(defaultFrozenDims, (frozenColumnCount !== null && frozenColumnCount !== void 0 ? frozenColumnCount : 0) + defaultFrozenDims);
|
|
@@ -267,9 +277,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
267
277
|
var sheetRowCount = Math.min(config_1.MAX_ROW_COUNT + 1, rowCount + 1);
|
|
268
278
|
var sheetColumnCount = Math.min(config_1.MAX_COLUMN_COUNT + 1, columnCount + 1);
|
|
269
279
|
// License key validator
|
|
270
|
-
var
|
|
280
|
+
var _57 = tslib_1.__read((0, use_licensekey_validator_1.useLicenseKeyValidator)({
|
|
271
281
|
licenseKey: licenseKey,
|
|
272
|
-
}), 3), _ =
|
|
282
|
+
}), 3), _ = _57[0], licenseType = _57[1], validatorResult = _57[2];
|
|
273
283
|
var isRestricted = licenseType === "solo";
|
|
274
284
|
// Grid line width
|
|
275
285
|
var gridLineWidth = 1 * scale;
|
|
@@ -757,16 +767,20 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
757
767
|
* Focus sheet
|
|
758
768
|
*/
|
|
759
769
|
var focusSheet = (0, use_raf_1.useRaf)(function () {
|
|
770
|
+
var _a;
|
|
760
771
|
// Only suppress refocus when we're certain focus moved to a focusable
|
|
761
772
|
// element outside the grid (e.g. another asset pane in a split view).
|
|
762
773
|
// Mirrors the relatedTarget-outside-grid guard in handleEditorBlur. A
|
|
763
774
|
// user gesture on the grid focuses the tabIndex=0 container first, so
|
|
764
775
|
// this only suppresses render-driven refocus; a null container ref
|
|
765
776
|
// (mid mount/unmount) falls through to the original focus behavior.
|
|
766
|
-
|
|
777
|
+
// The grid may render into a popout window: read focus from its own
|
|
778
|
+
// document, never from the bundle's global one.
|
|
779
|
+
var ownerDocument = (0, grid_2.getOwnerDocument)(gridContainerRef.current);
|
|
780
|
+
var activeElement = (_a = ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.activeElement) !== null && _a !== void 0 ? _a : null;
|
|
767
781
|
var gridContainer = gridContainerRef.current;
|
|
768
782
|
if (activeElement &&
|
|
769
|
-
activeElement !==
|
|
783
|
+
activeElement !== (ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.body) &&
|
|
770
784
|
gridContainer &&
|
|
771
785
|
!gridContainer.contains(activeElement)) {
|
|
772
786
|
return;
|
|
@@ -900,7 +914,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
900
914
|
if (showFormulas && !protectFormulas) {
|
|
901
915
|
var formulaValue = getFormulaValue(sheetId, rowIndex, columnIndex);
|
|
902
916
|
if (formulaValue) {
|
|
903
|
-
|
|
917
|
+
// "Show Formulas" paints the formula the way the editor would show it.
|
|
918
|
+
return (0, utils_1.localizeFormula)(formulaValue, formulaLocale);
|
|
904
919
|
}
|
|
905
920
|
}
|
|
906
921
|
var formattedValue = getFormattedValueProp
|
|
@@ -921,6 +936,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
921
936
|
isColumnHeader,
|
|
922
937
|
getRowHeaderText,
|
|
923
938
|
getColumnHeaderText,
|
|
939
|
+
formulaLocale,
|
|
924
940
|
]);
|
|
925
941
|
/**
|
|
926
942
|
* Get information about cell grouping
|
|
@@ -1065,6 +1081,15 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1065
1081
|
]);
|
|
1066
1082
|
// Add a stable reference to get userEnteredString value
|
|
1067
1083
|
var getUserEnteredStringValueStable = (0, use_callback_ref_1.useCallbackRef)(getUserEnteredStringValue);
|
|
1084
|
+
/**
|
|
1085
|
+
* What the cell editor / formula bar open with: the stored (canonical) entry rendered in the
|
|
1086
|
+
* grid's formula locale — `=SUM(1.5,A1)` shows as `=СУММ(1,5;A1)` in ru-RU, a stored `#VALUE!`
|
|
1087
|
+
* as `#ЗНАЧ!`. `useEditorSubmit` canonicalizes the text again on commit.
|
|
1088
|
+
*/
|
|
1089
|
+
var getEditorDisplayValue = (0, react_1.useCallback)(function (sheetId, rowIndex, columnIndex) {
|
|
1090
|
+
var value = getUserEnteredStringValue(sheetId, rowIndex, columnIndex);
|
|
1091
|
+
return (0, utils_1.isNil)(value) ? value : (0, utils_1.localizeCellInput)(value, formulaLocale);
|
|
1092
|
+
}, [getUserEnteredStringValue, formulaLocale]);
|
|
1068
1093
|
/**
|
|
1069
1094
|
* Get cell value used for validations
|
|
1070
1095
|
*/
|
|
@@ -1085,11 +1110,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1085
1110
|
* Touch support
|
|
1086
1111
|
* Mainly for scrolling
|
|
1087
1112
|
*/
|
|
1088
|
-
var
|
|
1113
|
+
var _58 = (0, use_touch_1.useTouch)({
|
|
1089
1114
|
scrollTo: scrollTo,
|
|
1090
1115
|
scale: scale,
|
|
1091
1116
|
onChangeScale: onChangeScale,
|
|
1092
|
-
}), onTouchStart =
|
|
1117
|
+
}), onTouchStart = _58.onTouchStart, onDimensionsChange = _58.onDimensionsChange, scrollToTouchDevice = _58.scrollToTouchDevice, onAfterScrollToCell = _58.onAfterScrollToCell;
|
|
1093
1118
|
/**
|
|
1094
1119
|
* Conditional-formatting evaluation window: the padded, tile-quantized
|
|
1095
1120
|
* viewport. The raw viewport lives in a ref (no render per scroll frame);
|
|
@@ -1097,7 +1122,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1097
1122
|
* `startTransition` so the CF recompute is low-priority and interruptible —
|
|
1098
1123
|
* scrolling never blocks on it.
|
|
1099
1124
|
*/
|
|
1100
|
-
var
|
|
1125
|
+
var _59 = tslib_1.__read((0, react_1.useState)(cf_window_1.CF_INITIAL_WINDOW), 2), cfWindow = _59[0], setCfWindow = _59[1];
|
|
1101
1126
|
var cfWindowRef = (0, react_1.useRef)(null);
|
|
1102
1127
|
var handleViewPortChange = (0, react_1.useCallback)(function (viewport) {
|
|
1103
1128
|
onViewPortChange === null || onViewPortChange === void 0 ? void 0 : onViewPortChange(viewport);
|
|
@@ -1328,15 +1353,29 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1328
1353
|
activeCell: activeCell,
|
|
1329
1354
|
tokenizer: defaultTokenizer,
|
|
1330
1355
|
});
|
|
1356
|
+
/**
|
|
1357
|
+
* The editor's text is in the formula locale's syntax; this tokenizer reads it as such (token
|
|
1358
|
+
* TYPES stay canonical, positions and images are the localized text's). The canonical
|
|
1359
|
+
* `tokenizer` above is what the state hooks and the public context keep using for stored formulas.
|
|
1360
|
+
*/
|
|
1361
|
+
var localeTokenizerBase = (0, react_1.useCallback)(function (value, sheetName) { return defaultTokenizer(value, sheetName, formulaLocale); }, [defaultTokenizer, formulaLocale]);
|
|
1362
|
+
var localeTokenizer = (0, use_create_formula_tokenizer_1.useCreateFormulaTokenizer)({
|
|
1363
|
+
getSelectionFromNamedRange: getSelectionFromNamedRange,
|
|
1364
|
+
getSelectionFromTable: getSelectionFromTable,
|
|
1365
|
+
editingCellCoordinate: editingCellCoordinate,
|
|
1366
|
+
sheetId: sheetId,
|
|
1367
|
+
activeCell: activeCell,
|
|
1368
|
+
tokenizer: formulaLocale.isCanonical ? defaultTokenizer : localeTokenizerBase,
|
|
1369
|
+
});
|
|
1331
1370
|
// Helper function to convert a selection to readable selection address
|
|
1332
|
-
var
|
|
1371
|
+
var _60 = tslib_1.__read((0, use_create_address_from_selection_1.useCreateAddressFromSelection)({
|
|
1333
1372
|
sheetId: sheetId,
|
|
1334
1373
|
rowCount: rowCount,
|
|
1335
1374
|
columnCount: columnCount,
|
|
1336
1375
|
tables: tables !== null && tables !== void 0 ? tables : undefined,
|
|
1337
1376
|
namedRanges: namedRanges !== null && namedRanges !== void 0 ? namedRanges : undefined,
|
|
1338
1377
|
merges: merges,
|
|
1339
|
-
}), 2), getAddressFromSelection =
|
|
1378
|
+
}), 2), getAddressFromSelection = _60[0], getR1C1AddressFromSelection = _60[1];
|
|
1340
1379
|
/**
|
|
1341
1380
|
* Exports a data region as image
|
|
1342
1381
|
*/
|
|
@@ -1367,12 +1406,12 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1367
1406
|
var _a, _b;
|
|
1368
1407
|
var editingSheetName = getSheetName === null || getSheetName === void 0 ? void 0 : getSheetName((_a = editingCellCoordinate === null || editingCellCoordinate === void 0 ? void 0 : editingCellCoordinate.sheetId) !== null && _a !== void 0 ? _a : sheetId);
|
|
1369
1408
|
var editingSheetId = (_b = editingCellCoordinate === null || editingCellCoordinate === void 0 ? void 0 : editingCellCoordinate.sheetId) !== null && _b !== void 0 ? _b : sheetId;
|
|
1370
|
-
return (0, selections_1.generateSelectionsFromFormula)(value, editingSheetId, editingSheetName, cell, rowCount, columnCount,
|
|
1409
|
+
return (0, selections_1.generateSelectionsFromFormula)(value, editingSheetId, editingSheetName, cell, rowCount, columnCount, localeTokenizer, getSelectionFromTable, getSelectionFromNamedRange);
|
|
1371
1410
|
}, [
|
|
1372
1411
|
rowCount,
|
|
1373
1412
|
columnCount,
|
|
1374
1413
|
editingCellCoordinate,
|
|
1375
|
-
|
|
1414
|
+
localeTokenizer,
|
|
1376
1415
|
getSelectionFromTable,
|
|
1377
1416
|
getSheetName,
|
|
1378
1417
|
getSelectionFromNamedRange,
|
|
@@ -1382,7 +1421,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1382
1421
|
* Get user entered value from a range
|
|
1383
1422
|
* of cells
|
|
1384
1423
|
*/
|
|
1385
|
-
var
|
|
1424
|
+
var _61 = tslib_1.__read((0, use_get_values_from_range_1.useGetValuesFromRange)({
|
|
1386
1425
|
sheetId: sheetId,
|
|
1387
1426
|
getSelectionsFromFormula: getSelectionsFromFormula,
|
|
1388
1427
|
getFormattedValue: getFormattedValue,
|
|
@@ -1390,7 +1429,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1390
1429
|
getSheetId: getSheetId,
|
|
1391
1430
|
onRequestCalculate: onRequestCalculate,
|
|
1392
1431
|
getValidationSourceValue: getValidationSourceValue,
|
|
1393
|
-
}), 3), getFormattedValuesFromAddress =
|
|
1432
|
+
}), 3), getFormattedValuesFromAddress = _61[0], getEffectiveValuesFromRange = _61[1], getFormattedValuesFromAddressAsync = _61[2];
|
|
1394
1433
|
/**
|
|
1395
1434
|
* Get all formatted values from range as a single 1d array
|
|
1396
1435
|
*/
|
|
@@ -1727,7 +1766,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1727
1766
|
* O(n)
|
|
1728
1767
|
* Reduces Space Complexity by using `all`
|
|
1729
1768
|
*/
|
|
1730
|
-
var
|
|
1769
|
+
var _62 = tslib_1.__read((0, use_selected_rows_columns_1.useSelectedRowsColumns)({
|
|
1731
1770
|
activeCell: activeCell,
|
|
1732
1771
|
selections: selections,
|
|
1733
1772
|
selectionLeftBound: selectionLeftBound,
|
|
@@ -1735,7 +1774,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1735
1774
|
rowCount: rowCount,
|
|
1736
1775
|
columnCount: columnCount,
|
|
1737
1776
|
getCellBounds: getCellBounds,
|
|
1738
|
-
}), 6), selectedRows =
|
|
1777
|
+
}), 6), selectedRows = _62[0], selectedColumns = _62[1], selectedRowHeaders = _62[2], selectedColumnHeaders = _62[3], selectedRowHeadersIds = _62[4], selectedColumnHeadersIds = _62[5];
|
|
1739
1778
|
// Named ranges for editor dropdown
|
|
1740
1779
|
var getNamedRanges = (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function () {
|
|
1741
1780
|
return namedRanges === null || namedRanges === void 0 ? void 0 : namedRanges.map(function (range) { return ({
|
|
@@ -1805,7 +1844,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1805
1844
|
* user can select entire column or row when selecting
|
|
1806
1845
|
* header cells
|
|
1807
1846
|
*/
|
|
1808
|
-
var
|
|
1847
|
+
var _63 = (0, use_selection_interceptors_1.useSelectionInterceptors)({
|
|
1809
1848
|
sheetId: sheetId,
|
|
1810
1849
|
rowCount: rowCount,
|
|
1811
1850
|
columnCount: columnCount,
|
|
@@ -1821,7 +1860,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1821
1860
|
onChangeActiveCell: onChangeActiveCell,
|
|
1822
1861
|
scrollToCell: scrollToCell,
|
|
1823
1862
|
isMergedCell: isMergedCell,
|
|
1824
|
-
}), onMouseDownInterceptor =
|
|
1863
|
+
}), onMouseDownInterceptor = _63.onMouseDownInterceptor, onMouseMoveInterceptor = _63.onMouseMoveInterceptor;
|
|
1825
1864
|
/**
|
|
1826
1865
|
* When user selections full rows
|
|
1827
1866
|
* or columns, we have to ignore
|
|
@@ -1909,7 +1948,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1909
1948
|
* Enables auto resizing
|
|
1910
1949
|
* rows and columns
|
|
1911
1950
|
*/
|
|
1912
|
-
var
|
|
1951
|
+
var _64 = (0, use_sizer_1.useSizer)({
|
|
1913
1952
|
frozenRows: frozenRows,
|
|
1914
1953
|
frozenColumns: frozenColumns,
|
|
1915
1954
|
scale: scale,
|
|
@@ -1932,7 +1971,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1932
1971
|
getDataRowCount: getDataRowCount,
|
|
1933
1972
|
fontSize: defaultFontSizePoint,
|
|
1934
1973
|
resizeStrategy: "full",
|
|
1935
|
-
}), getColumnWidth =
|
|
1974
|
+
}), getColumnWidth = _64.getColumnWidth, getRowHeight = _64.getRowHeight, getCellDimensions = _64.getCellDimensions, getCellDimensionsStable = _64.getCellDimensionsStable, getTextDimension = _64.getTextDimension;
|
|
1936
1975
|
/**
|
|
1937
1976
|
* Called when user tries to
|
|
1938
1977
|
* autofit a column or row
|
|
@@ -1952,7 +1991,12 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1952
1991
|
]);
|
|
1953
1992
|
/* Check if sheet is focused */
|
|
1954
1993
|
var isSheetFocused = (0, react_1.useCallback)(function () {
|
|
1955
|
-
|
|
1994
|
+
var _a;
|
|
1995
|
+
var editorElement = cellEditorInstance === null || cellEditorInstance === void 0 ? void 0 : cellEditorInstance.el();
|
|
1996
|
+
if (!editorElement) {
|
|
1997
|
+
return false;
|
|
1998
|
+
}
|
|
1999
|
+
return ((_a = (0, grid_2.getOwnerDocument)(editorElement)) === null || _a === void 0 ? void 0 : _a.activeElement) === editorElement;
|
|
1956
2000
|
}, [cellEditorInstance]);
|
|
1957
2001
|
/**
|
|
1958
2002
|
* Get Cell Editor
|
|
@@ -1969,7 +2013,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1969
2013
|
var editingSheetName = getSheetName === null || getSheetName === void 0 ? void 0 : getSheetName(editingSheetId);
|
|
1970
2014
|
var effectiveValue = getEffectiveValue(editingSheetId, rowIndex, columnIndex);
|
|
1971
2015
|
var horizontalAlignment = getEditorHorizontalAlignment(editingSheetId, rowIndex, columnIndex);
|
|
1972
|
-
return (react_1.default.createElement(CellEditor, tslib_1.__assign({}, props, { locale: locale, effectiveValue: effectiveValue, format: cellFormat, dataValidation: dataValidation, getRangeValues: getFormattedValuesFromAddress, getRangeValuesAsync: getFormattedValuesFromAddressAsync, scale: scale, sheetName: sheetName, editingSheetId: editingSheetId, sheetId: sheetId, editingSheetName: editingSheetName, address: address, theme: theme, tokenizer:
|
|
2016
|
+
return (react_1.default.createElement(CellEditor, tslib_1.__assign({}, props, { locale: locale, effectiveValue: effectiveValue, format: cellFormat, dataValidation: dataValidation, getRangeValues: getFormattedValuesFromAddress, getRangeValuesAsync: getFormattedValuesFromAddressAsync, scale: scale, sheetName: sheetName, editingSheetId: editingSheetId, sheetId: sheetId, editingSheetName: editingSheetName, address: address, theme: theme, tokenizer: localeTokenizer, formulaLocale: formulaLocale, horizontalAlignment: horizontalAlignment, defaultBackgroundColor: cellBackgroundColor, defaultTextColor: (0, themes_1.getStringifiedColor)(cellColor, theme), functionDescriptions: localizedFunctionDescriptions, getNamedRanges: getNamedRanges, getTableNames: getTableNames, getStructuredProperties: getStructuredProperties, getTableColumnNames: getTableColumnNames, showFormulaHelp: showFormulaHelp, onHideFormulaHelp: onHideFormulaHelp, onShowFormulaHelp: onShowFormulaHelp, onRequestCalculate: onRequestCalculate, SuggestionsDropdown: SuggestionsDropdown, stickyEditor: stickyEditor, defaultFontSizePoint: defaultFontSizePoint, getMentions: getMentions, getFunctionParameterSuggestions: getFunctionParameterSuggestions, shouldFetchFunctionParameters: shouldFetchFunctionParameters, MentionTagComponent: MentionTagComponent, MentionDropdownItemComponent: MentionDropdownItemComponent })));
|
|
1973
2017
|
}, [
|
|
1974
2018
|
scale,
|
|
1975
2019
|
getEffectiveCellFormat,
|
|
@@ -1980,10 +2024,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1980
2024
|
showFormulaHelp,
|
|
1981
2025
|
onHideFormulaHelp,
|
|
1982
2026
|
onShowFormulaHelp,
|
|
1983
|
-
|
|
2027
|
+
localeTokenizer,
|
|
2028
|
+
formulaLocale,
|
|
1984
2029
|
cellBackgroundColor,
|
|
1985
2030
|
cellColor,
|
|
1986
|
-
|
|
2031
|
+
localizedFunctionDescriptions,
|
|
1987
2032
|
getNamedRanges,
|
|
1988
2033
|
getTableNames,
|
|
1989
2034
|
getStructuredProperties,
|
|
@@ -2005,7 +2050,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2005
2050
|
/**
|
|
2006
2051
|
* Popover cell
|
|
2007
2052
|
*/
|
|
2008
|
-
var
|
|
2053
|
+
var _65 = (0, use_cell_popover_1.useCellPopover)({
|
|
2009
2054
|
sheetId: sheetId,
|
|
2010
2055
|
getCellPopoverContent: getCellPopoverContent !== null && getCellPopoverContent !== void 0 ? getCellPopoverContent : getFormattedValue,
|
|
2011
2056
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
@@ -2013,7 +2058,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2013
2058
|
isFrozenColumn: isFrozenColumn,
|
|
2014
2059
|
isFrozenRow: isFrozenRow,
|
|
2015
2060
|
onChangeActiveSheet: onChangeActiveSheet,
|
|
2016
|
-
}), popoverComponent =
|
|
2061
|
+
}), popoverComponent = _65.popoverComponent, popoverRange = _65.popoverRange, showCellPopover = _65.showCellPopover, hideCellPopover = _65.hideCellPopover;
|
|
2017
2062
|
/**
|
|
2018
2063
|
* Get tooltip component of a cell
|
|
2019
2064
|
* Only error, invalid values are
|
|
@@ -2128,6 +2173,121 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2128
2173
|
if ((fillOptions === null || fillOptions === void 0 ? void 0 : fillOptions.mode) === "menu")
|
|
2129
2174
|
setFillOptions(null);
|
|
2130
2175
|
}, [fillOptions, setFillOptions]);
|
|
2176
|
+
/**
|
|
2177
|
+
* Row / column inserts driven from this grid (context menu, Insert dialog,
|
|
2178
|
+
* Ctrl+Shift+=) also arm Excel's Insert Options smart tag on the new band.
|
|
2179
|
+
* The engine already applied "Format Same As Above / Left" (#647 FMT-01/02);
|
|
2180
|
+
* the tag lets the user switch to the other neighbour or clear.
|
|
2181
|
+
*/
|
|
2182
|
+
var insertRowWithOptions = (0, react_1.useCallback)(function (targetSheetId, rowIndex, numRows) {
|
|
2183
|
+
if (!onInsertRow)
|
|
2184
|
+
return;
|
|
2185
|
+
onInsertRow(targetSheetId, rowIndex, numRows);
|
|
2186
|
+
if (numRows > 0) {
|
|
2187
|
+
setInsertOptions({
|
|
2188
|
+
sheetId: targetSheetId,
|
|
2189
|
+
axis: "row",
|
|
2190
|
+
start: rowIndex,
|
|
2191
|
+
count: numRows,
|
|
2192
|
+
option: "before",
|
|
2193
|
+
});
|
|
2194
|
+
}
|
|
2195
|
+
}, [onInsertRow, setInsertOptions]);
|
|
2196
|
+
var insertColumnWithOptions = (0, react_1.useCallback)(function (targetSheetId, columnIndex, numColumns) {
|
|
2197
|
+
if (!onInsertColumn)
|
|
2198
|
+
return;
|
|
2199
|
+
onInsertColumn(targetSheetId, columnIndex, numColumns);
|
|
2200
|
+
if (numColumns > 0) {
|
|
2201
|
+
setInsertOptions({
|
|
2202
|
+
sheetId: targetSheetId,
|
|
2203
|
+
axis: "column",
|
|
2204
|
+
start: columnIndex,
|
|
2205
|
+
count: numColumns,
|
|
2206
|
+
option: "before",
|
|
2207
|
+
});
|
|
2208
|
+
}
|
|
2209
|
+
}, [onInsertColumn, setInsertOptions]);
|
|
2210
|
+
/**
|
|
2211
|
+
* User-entered format of a cell for the Insert Options re-format. A legacy
|
|
2212
|
+
* `StyleReference` (xlsx-imported style id) cannot be copied verbatim, so
|
|
2213
|
+
* it resolves through `getEffectiveFormat` instead.
|
|
2214
|
+
*/
|
|
2215
|
+
var readInsertFormat = (0, react_1.useCallback)(function (rowIndex, columnIndex) {
|
|
2216
|
+
var _a;
|
|
2217
|
+
var uf = (_a = getCellData === null || getCellData === void 0 ? void 0 : getCellData(sheetId, rowIndex, columnIndex)) === null || _a === void 0 ? void 0 : _a.uf;
|
|
2218
|
+
if (!uf)
|
|
2219
|
+
return undefined;
|
|
2220
|
+
var isStyleReference = "sid" in uf || "styleId" in uf;
|
|
2221
|
+
return isStyleReference
|
|
2222
|
+
? getEffectiveFormat === null || getEffectiveFormat === void 0 ? void 0 : getEffectiveFormat(sheetId, rowIndex, columnIndex)
|
|
2223
|
+
: uf;
|
|
2224
|
+
}, [getCellData, getEffectiveFormat, sheetId]);
|
|
2225
|
+
/**
|
|
2226
|
+
* Insert Options smart tag choice. "Same As Above / Below" (Left / Right)
|
|
2227
|
+
* re-paints the band with the neighbour's per-cell formats through the same
|
|
2228
|
+
* paint-format path both engines share (`onChangeFormatting` with a format
|
|
2229
|
+
* grid + `replace`), so the earlier choice does not linger; "Clear
|
|
2230
|
+
* Formatting" wipes the band. A band that already holds values was not
|
|
2231
|
+
* (or is no longer) a fresh insert — the refused-insert case — so the tag
|
|
2232
|
+
* just goes away instead of re-formatting live data.
|
|
2233
|
+
*/
|
|
2234
|
+
var handleChooseInsertOption = (0, react_1.useCallback)(function (option) {
|
|
2235
|
+
if (!insertOptions || insertOptions.sheetId !== sheetId)
|
|
2236
|
+
return;
|
|
2237
|
+
var band = {
|
|
2238
|
+
axis: insertOptions.axis,
|
|
2239
|
+
start: insertOptions.start,
|
|
2240
|
+
count: insertOptions.count,
|
|
2241
|
+
};
|
|
2242
|
+
var limit = band.axis === "row" ? columnCount : rowCount;
|
|
2243
|
+
var hasValue = function (rowIndex, columnIndex) {
|
|
2244
|
+
var _a;
|
|
2245
|
+
var cell = getCellData === null || getCellData === void 0 ? void 0 : getCellData(sheetId, rowIndex, columnIndex);
|
|
2246
|
+
return !(0, utils_1.isNil)((_a = cell === null || cell === void 0 ? void 0 : cell.ue) !== null && _a !== void 0 ? _a : cell === null || cell === void 0 ? void 0 : cell.userEnteredValue);
|
|
2247
|
+
};
|
|
2248
|
+
if ((0, insert_options_1.insertedBandHasValues)(band, hasValue, limit)) {
|
|
2249
|
+
setInsertOptions(null);
|
|
2250
|
+
return;
|
|
2251
|
+
}
|
|
2252
|
+
var clearBand = function () {
|
|
2253
|
+
var range = (0, insert_options_1.clearRangeForInsertedBand)(band, readInsertFormat, limit);
|
|
2254
|
+
if (range)
|
|
2255
|
+
onClearFormatting === null || onClearFormatting === void 0 ? void 0 : onClearFormatting(sheetId, activeCell, [{ range: range }]);
|
|
2256
|
+
};
|
|
2257
|
+
if (option === "clear") {
|
|
2258
|
+
clearBand();
|
|
2259
|
+
}
|
|
2260
|
+
else {
|
|
2261
|
+
var plan = (0, insert_options_1.formatsForInsertOption)(band, option, readInsertFormat, limit);
|
|
2262
|
+
if (plan) {
|
|
2263
|
+
// Both engines accept the paint-format shape (format grid + replace);
|
|
2264
|
+
// the grid prop type only names the key/value overload.
|
|
2265
|
+
onChangeFormatting === null || onChangeFormatting === void 0 ? void 0 : onChangeFormatting(sheetId, activeCell, plan.selections, plan.formats, { replace: true });
|
|
2266
|
+
}
|
|
2267
|
+
else {
|
|
2268
|
+
clearBand();
|
|
2269
|
+
}
|
|
2270
|
+
}
|
|
2271
|
+
setInsertOptions(tslib_1.__assign(tslib_1.__assign({}, insertOptions), { option: option }));
|
|
2272
|
+
focusSheet();
|
|
2273
|
+
}, [
|
|
2274
|
+
insertOptions,
|
|
2275
|
+
sheetId,
|
|
2276
|
+
columnCount,
|
|
2277
|
+
rowCount,
|
|
2278
|
+
getCellData,
|
|
2279
|
+
readInsertFormat,
|
|
2280
|
+
onClearFormatting,
|
|
2281
|
+
onChangeFormatting,
|
|
2282
|
+
activeCell,
|
|
2283
|
+
setInsertOptions,
|
|
2284
|
+
focusSheet,
|
|
2285
|
+
]);
|
|
2286
|
+
// The smart tag belongs to one insert; moving on (a new active cell or
|
|
2287
|
+
// sheet) drops it. Keyed on coordinates like the fill-options tag.
|
|
2288
|
+
(0, react_1.useEffect)(function () {
|
|
2289
|
+
setInsertOptions(null);
|
|
2290
|
+
}, [activeCell.rowIndex, activeCell.columnIndex, sheetId, setInsertOptions]);
|
|
2131
2291
|
/**
|
|
2132
2292
|
* Run Excel's Series dialog result: the target range's first row (Series
|
|
2133
2293
|
* in Columns) / first column (Rows) is the seed line; `stop` may shrink or
|
|
@@ -2201,6 +2361,14 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2201
2361
|
(0, react_1.useEffect)(function () {
|
|
2202
2362
|
setFillOptions(null);
|
|
2203
2363
|
}, [activeCell.rowIndex, activeCell.columnIndex, sheetId, setFillOptions]);
|
|
2364
|
+
/**
|
|
2365
|
+
* Drag-move overwrite prompt ("There's already data here. Do you want to replace it?").
|
|
2366
|
+
* Routed to the host-mounted `MoveOverwriteConfirmDialogHost` when there is one; the
|
|
2367
|
+
* selection hook falls back to `window.confirm` otherwise.
|
|
2368
|
+
*/
|
|
2369
|
+
var openMoveOverwriteConfirm = (0, atoms_1.useOpenMoveOverwriteConfirm)();
|
|
2370
|
+
var isMoveOverwriteConfirmMounted = (0, atoms_1.useIsMoveOverwriteConfirmMounted)();
|
|
2371
|
+
var confirmMoveOverwrite = (0, react_1.useMemo)(function () { return (isMoveOverwriteConfirmMounted ? openMoveOverwriteConfirm : undefined); }, [isMoveOverwriteConfirmMounted, openMoveOverwriteConfirm]);
|
|
2204
2372
|
/**
|
|
2205
2373
|
* Fill handle dragged BACK inside the selection (Excel): the dragged-over cells lose their
|
|
2206
2374
|
* contents — formats stay unless Ctrl/Cmd was held — through the same `onDelete` path as the
|
|
@@ -2212,7 +2380,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2212
2380
|
/**
|
|
2213
2381
|
* Handle grid selections
|
|
2214
2382
|
*/
|
|
2215
|
-
var
|
|
2383
|
+
var _66 = (0, use_selection_1.useSelection)({
|
|
2216
2384
|
sheetId: sheetId,
|
|
2217
2385
|
getDataRowCount: getDataRowCount,
|
|
2218
2386
|
enableDataBoundaryNavigation: enableDataBoundaryNavigation,
|
|
@@ -2243,17 +2411,19 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2243
2411
|
onFillHandleRelease: handleFillHandleRelease,
|
|
2244
2412
|
onFillShrink: handleFillShrink,
|
|
2245
2413
|
onMoveSelection: onMoveSelection,
|
|
2414
|
+
onInsertCutCells: onInsertCutCells,
|
|
2415
|
+
confirmMoveOverwrite: confirmMoveOverwrite,
|
|
2246
2416
|
isHiddenColumn: isHiddenColumn,
|
|
2247
2417
|
isHiddenRow: isHiddenRow,
|
|
2248
2418
|
isRowHeader: isRowHeader,
|
|
2249
2419
|
isColumnHeader: isColumnHeader,
|
|
2250
2420
|
isTouchDevice: helpers_1.isTouchDevice,
|
|
2251
2421
|
dataRegionBoundaries: dataRegionBoundaries,
|
|
2252
|
-
}), onMouseDownSelection =
|
|
2422
|
+
}), onMouseDownSelection = _66.onMouseDown, onPointerDownSelection = _66.onPointerDown, onKeyDownSelection = _66.onKeyDown, fillSelection = _66.fillSelection, fillShrink = _66.fillShrink, onFillHandleMouseDown = _66.onFillHandleMouseDown, onFillHandleDoubleClick = _66.onFillHandleDoubleClick, isDragging = _66.isDragging, isFilling = _66.isFilling, isSelectionInProgress = _66.isSelectionInProgress, draggedSelection = _66.draggedSelection, onSelectionMouseDown = _66.onSelectionMouseDown, setActiveCell = _66.setActiveCell, initialDraggedSelection = _66.initialDraggedSelection, updateSelectionStartEndReference = _66.updateSelectionStartEndReference, selectColumn = _66.selectColumn, getContentfulGridRangeAroundCell = _66.getContentfulGridRangeAroundCell, newSelection = _66.newSelection, modifySelection = _66.modifySelection, clearSelections = _66.clearSelections;
|
|
2253
2423
|
/**
|
|
2254
2424
|
* Copy, Paste and Cut hook
|
|
2255
2425
|
*/
|
|
2256
|
-
var
|
|
2426
|
+
var _67 = (0, use_copy_paste_cut_1.useCopyPasteCut)({
|
|
2257
2427
|
activeCell: activeCell,
|
|
2258
2428
|
selections: selections,
|
|
2259
2429
|
sheetId: sheetId,
|
|
@@ -2261,7 +2431,57 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2261
2431
|
onPaste: onPaste,
|
|
2262
2432
|
onCopy: onCopy,
|
|
2263
2433
|
onCut: onCut,
|
|
2264
|
-
}), copiedSelections =
|
|
2434
|
+
}), copiedSelections = _67.copiedSelections, isCutPending = _67.isCutPending, copiedSheetId = _67.copiedSheetId, cancelCut = _67.cancelCut, clearCopiedSelections = _67.clearCopiedSelections, copy = _67.copy, cut = _67.cut, paste = _67.paste, onInternalCopy = _67.onInternalCopy, onInternalCut = _67.onInternalCut, onInternalPaste = _67.onInternalPaste;
|
|
2435
|
+
/**
|
|
2436
|
+
* Context menu "Insert Cut Cells" (Excel: Ctrl+X, right-click the destination). A cut of
|
|
2437
|
+
* whole rows / columns dropped on a row / column header inserts them BEFORE the clicked
|
|
2438
|
+
* header in pre-removal numbering (`insertBefore`); anything else inserts the cut block at
|
|
2439
|
+
* the active cell, displacing the cells there (`onInsertCutCells`). Consumes the cut.
|
|
2440
|
+
*/
|
|
2441
|
+
var insertCutCellsFromMenu = (0, react_1.useCallback)(function (target) {
|
|
2442
|
+
var from = copiedSelections[0];
|
|
2443
|
+
if (!from || !isCutPending)
|
|
2444
|
+
return;
|
|
2445
|
+
var range = from.range;
|
|
2446
|
+
var wholeRows = range.startColumnIndex <= 1 && range.endColumnIndex >= columnCount;
|
|
2447
|
+
var wholeColumns = range.startRowIndex <= 1 && range.endRowIndex >= rowCount;
|
|
2448
|
+
var span = function (start, end) {
|
|
2449
|
+
return Array.from({ length: end - start + 1 }, function (_, i) { return start + i; });
|
|
2450
|
+
};
|
|
2451
|
+
if (target === "rows" && wholeRows) {
|
|
2452
|
+
onMoveRows === null || onMoveRows === void 0 ? void 0 : onMoveRows(sheetId, span(range.startRowIndex, range.endRowIndex), activeCell.rowIndex, {
|
|
2453
|
+
insertBefore: true,
|
|
2454
|
+
});
|
|
2455
|
+
}
|
|
2456
|
+
else if (target === "columns" && wholeColumns) {
|
|
2457
|
+
onMoveColumns === null || onMoveColumns === void 0 ? void 0 : onMoveColumns(sheetId, span(range.startColumnIndex, range.endColumnIndex), activeCell.columnIndex, { insertBefore: true });
|
|
2458
|
+
}
|
|
2459
|
+
else {
|
|
2460
|
+
var to = {
|
|
2461
|
+
range: {
|
|
2462
|
+
startRowIndex: activeCell.rowIndex,
|
|
2463
|
+
startColumnIndex: activeCell.columnIndex,
|
|
2464
|
+
endRowIndex: activeCell.rowIndex + (range.endRowIndex - range.startRowIndex),
|
|
2465
|
+
endColumnIndex: activeCell.columnIndex + (range.endColumnIndex - range.startColumnIndex),
|
|
2466
|
+
},
|
|
2467
|
+
};
|
|
2468
|
+
onInsertCutCells === null || onInsertCutCells === void 0 ? void 0 : onInsertCutCells(sheetId, from, to);
|
|
2469
|
+
}
|
|
2470
|
+
cancelCut();
|
|
2471
|
+
focusSheet();
|
|
2472
|
+
}, [
|
|
2473
|
+
copiedSelections,
|
|
2474
|
+
isCutPending,
|
|
2475
|
+
columnCount,
|
|
2476
|
+
rowCount,
|
|
2477
|
+
sheetId,
|
|
2478
|
+
activeCell,
|
|
2479
|
+
onMoveRows,
|
|
2480
|
+
onMoveColumns,
|
|
2481
|
+
onInsertCutCells,
|
|
2482
|
+
cancelCut,
|
|
2483
|
+
focusSheet,
|
|
2484
|
+
]);
|
|
2265
2485
|
/**
|
|
2266
2486
|
* Paste Special dialog (context menu → Paste special…, Ctrl+Alt+V). The
|
|
2267
2487
|
* dialog is host-mounted (`PasteSpecialDialogHost`); its request routes
|
|
@@ -2376,6 +2596,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2376
2596
|
onChangeSelections: onChangeSelections,
|
|
2377
2597
|
getSelectionsFromFormula: getSelectionsFromFormula,
|
|
2378
2598
|
onChangeEditorValue: onChangeEditorValue,
|
|
2599
|
+
formulaLocale: formulaLocale,
|
|
2379
2600
|
});
|
|
2380
2601
|
// Get final row height to expand to based on value of a cell
|
|
2381
2602
|
var getFinalRowHeight = (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function (sheetId, rowIndex, columnIndex, options) {
|
|
@@ -2421,6 +2642,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2421
2642
|
showValidationAlert: showValidationAlert,
|
|
2422
2643
|
selections: selections,
|
|
2423
2644
|
onChangeBatch: onChangeBatch,
|
|
2645
|
+
formulaLocale: formulaLocale,
|
|
2424
2646
|
});
|
|
2425
2647
|
/**
|
|
2426
2648
|
* User cancels editing the cell
|
|
@@ -2500,7 +2722,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2500
2722
|
* Get context Menu component
|
|
2501
2723
|
*/
|
|
2502
2724
|
var getContextMenu = (0, react_1.useCallback)(function (cell) {
|
|
2503
|
-
return (react_1.default.createElement(ContextMenu, { activeCell: activeCell, selections: selections, sheetId: sheetId, frozenRows: frozenRows, frozenColumns: frozenColumns, onHideColumn: isRestricted ? undefined : onHideColumn, onShowColumn: isRestricted ? undefined : onShowColumn, onShowRow: isRestricted ? undefined : onShowRow, onHideRow: isRestricted ? undefined : onHideRow, onGroupRows: isRestricted ? undefined : onGroupRows, onUngroupRows: isRestricted ? undefined : onUngroupRows, onGroupColumns: isRestricted ? undefined : onGroupColumns, onUngroupColumns: isRestricted ? undefined : onUngroupColumns, isHiddenColumn: isHiddenColumn, isHiddenRow: isHiddenRow, onDeleteColumn: onDeleteColumn, onDeleteRow: onDeleteRow, onInsertRow:
|
|
2725
|
+
return (react_1.default.createElement(ContextMenu, { activeCell: activeCell, selections: selections, sheetId: sheetId, frozenRows: frozenRows, frozenColumns: frozenColumns, onHideColumn: isRestricted ? undefined : onHideColumn, onShowColumn: isRestricted ? undefined : onShowColumn, onShowRow: isRestricted ? undefined : onShowRow, onHideRow: isRestricted ? undefined : onHideRow, onGroupRows: isRestricted ? undefined : onGroupRows, onUngroupRows: isRestricted ? undefined : onUngroupRows, onGroupColumns: isRestricted ? undefined : onGroupColumns, onUngroupColumns: isRestricted ? undefined : onUngroupColumns, isHiddenColumn: isHiddenColumn, isHiddenRow: isHiddenRow, onDeleteColumn: onDeleteColumn, onDeleteRow: onDeleteRow, onInsertRow: insertRowWithOptions, onInsertColumn: insertColumnWithOptions, rowCount: rowCount, columnCount: columnCount, onInsertCellsShiftDown: onInsertCellsShiftDown, onInsertCellsShiftRight: onInsertCellsShiftRight, onDeleteCellsShiftLeft: onDeleteCellsShiftLeft, onDeleteCellsShiftUp: onDeleteCellsShiftUp, onClearContents: onClearContents, onFreezeColumn: onFreezeColumn, onFreezeRow: onFreezeRow, focusSheet: focusSheet, onSortColumn: onSortColumn, onInsertNote: onInsertNote, onProtectRange: onProtectRange, onUnProtectRange: onUnProtectRange, onSortRange: onSortRange, onRequestDefineNamedRange: onRequestDefineNamedRange, protectedRanges: protectedRanges, isRowHeader: isRowHeader(cell.columnIndex), isColumnHeader: isColumnHeader(cell.rowIndex), selectedRowHeadersIds: selectedRowHeadersIds, selectedColumnHeadersIds: selectedColumnHeadersIds, onCopy: copy, onCut: cut, hasCutSelection: isCutPending && copiedSheetId === sheetId, onInsertCutCells: insertCutCellsFromMenu, onPaste: paste, onRequestPasteSpecial: requestPasteSpecial, onRequestEvaluateFormula: requestEvaluateFormula, onRequestAddWatch: requestAddWatch, isActiveCellFormula: Boolean(getFormulaValue(sheetId, activeCell.rowIndex, activeCell.columnIndex)), onRequestResize: onRequestResize, isSheetFocused: isSheetFocused, tables: activeTables, pivotTables: pivotTables, basicFilter: basicFilter, onRequestEditTable: onRequestEditTable, onRequestEditPivotTable: onRequestEditPivotTable, onRemoveTable: onRemoveTable, onRequestDeletePivotTable: onRequestDeletePivotTable, onPivotDrillDown: onPivotDrillDown, onRequestFormatCells: onRequestFormatCells, onRequestConditionalFormat: onRequestConditionalFormat, onRequestDataValidation: onRequestDataValidation, onClearFormatting: onClearFormatting, onCreateTable: onCreateTable, onCreateBasicFilter: onCreateBasicFilter, onInsertTableColumn: onInsertTableColumn, onDeleteTableColumn: onDeleteTableColumn, onInsertTableRow: onInsertTableRow, onDeleteTableRow: onDeleteTableRow, onFilterTable: onFilterTable, onSortTable: onSortTable, getFormattedValue: getFormattedValue, getFormattedValuesFromRange: getFormattedValuesFromRange, isTableHeader: isTableHeader, readonly: readonly, onSplitTextToColumns: onSplitTextToColumns, onRemoveDuplicates: onRemoveDuplicates, onGoalSeek: onGoalSeek, onSubtotal: onSubtotal, onAdvancedFilter: onAdvancedFilter, onChange: onChange, getCellData: getCellData, onAddQuickEdit: onAddQuickEdit, enableMagicFill: enableMagicFill }));
|
|
2504
2726
|
}, [
|
|
2505
2727
|
isRestricted,
|
|
2506
2728
|
activeCell,
|
|
@@ -2513,8 +2735,10 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2513
2735
|
onHideRow,
|
|
2514
2736
|
onDeleteColumn,
|
|
2515
2737
|
onDeleteRow,
|
|
2516
|
-
|
|
2517
|
-
|
|
2738
|
+
insertColumnWithOptions,
|
|
2739
|
+
insertRowWithOptions,
|
|
2740
|
+
rowCount,
|
|
2741
|
+
columnCount,
|
|
2518
2742
|
onInsertCellsShiftDown,
|
|
2519
2743
|
onInsertCellsShiftRight,
|
|
2520
2744
|
onDeleteCellsShiftLeft,
|
|
@@ -2588,7 +2812,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2588
2812
|
* Displays Context menu when user right clicks
|
|
2589
2813
|
* the grid
|
|
2590
2814
|
*/
|
|
2591
|
-
var
|
|
2815
|
+
var _68 = (0, use_context_menu_1.useContextMenu)({
|
|
2592
2816
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
2593
2817
|
getRelativePositionFromOffset: getRelativePositionFromOffset,
|
|
2594
2818
|
isRowHeader: isRowHeader,
|
|
@@ -2597,7 +2821,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2597
2821
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
2598
2822
|
getScrollPosition: getScrollPosition,
|
|
2599
2823
|
ContextMenuWrapper: ContextMenuWrapper,
|
|
2600
|
-
}), onContextMenu =
|
|
2824
|
+
}), onContextMenu = _68.onContextMenu, contextMenuComponent = _68.contextMenuComponent, onRequestCloseContextMenu = _68.onRequestClose, showContextMenu = _68.showContextMenu;
|
|
2601
2825
|
/**
|
|
2602
2826
|
* Shortcut handlers for formatting
|
|
2603
2827
|
* TODO: Decide on the output
|
|
@@ -2652,7 +2876,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2652
2876
|
onGroupColumns: onGroupColumns,
|
|
2653
2877
|
onUngroupColumns: onUngroupColumns,
|
|
2654
2878
|
onDeleteRow: onDeleteRow,
|
|
2655
|
-
onInsertRow:
|
|
2879
|
+
onInsertRow: insertRowWithOptions,
|
|
2656
2880
|
onInsertAutoSum: onInsertAutoSum,
|
|
2657
2881
|
onShowColumn: onShowColumn,
|
|
2658
2882
|
onShowRow: onShowRow,
|
|
@@ -2677,7 +2901,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2677
2901
|
/**
|
|
2678
2902
|
* Allow grid to be ediable
|
|
2679
2903
|
*/
|
|
2680
|
-
var
|
|
2904
|
+
var _69 = (0, use_editable_1.useEditable)({
|
|
2681
2905
|
sheetId: sheetId,
|
|
2682
2906
|
enableEditOnEnterKey: enableEditOnEnterKey,
|
|
2683
2907
|
canEdit: canEditCell,
|
|
@@ -2694,7 +2918,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2694
2918
|
selections: selections,
|
|
2695
2919
|
getSheetColumnCount: getSheetColumnCount,
|
|
2696
2920
|
getSheetRowCount: getSheetRowCount,
|
|
2697
|
-
getValue:
|
|
2921
|
+
getValue: getEditorDisplayValue,
|
|
2698
2922
|
getTextFormatRuns: getTextFormatRuns,
|
|
2699
2923
|
getBooleanValue: getBooleanValue,
|
|
2700
2924
|
getDataValidation: getDataValidationRule,
|
|
@@ -2726,11 +2950,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2726
2950
|
onCopy: onInternalCopy,
|
|
2727
2951
|
onPaste: onInternalPaste,
|
|
2728
2952
|
onCut: onInternalCut,
|
|
2729
|
-
}), onMouseDownEditable =
|
|
2953
|
+
}), onMouseDownEditable = _69.onMouseDown, onDoubleClickEditable = _69.onDoubleClick, editorComponent = _69.editorComponent, isEditInProgress = _69.isEditInProgress, makeEditable = _69.makeEditable, editCell = _69.editCell, setEditorValue = _69.setEditorValue, hideEditor = _69.hideEditor, getNextFocusableCell = _69.getNextFocusableCell, submitEditor = _69.submitEditor, cancelEditor = _69.cancelEditor, commit = _69.commit;
|
|
2730
2954
|
/**
|
|
2731
2955
|
* Move rows and columns
|
|
2732
2956
|
*/
|
|
2733
|
-
var
|
|
2957
|
+
var _70 = (0, use_move_columns_rows_1.useMoveColumnsAndRows)({
|
|
2734
2958
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
2735
2959
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
2736
2960
|
getRelativePositionFromOffset: getRelativePositionFromOffset,
|
|
@@ -2753,11 +2977,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2753
2977
|
sheetId: sheetId,
|
|
2754
2978
|
disabled: isRestricted,
|
|
2755
2979
|
HeaderMoveDragComponent: HeaderMoveDragComponent,
|
|
2756
|
-
}), draggableColumns =
|
|
2980
|
+
}), draggableColumns = _70.draggableColumns, draggableRows = _70.draggableRows, isDraggingRowsAndColumns = _70.isDragging;
|
|
2757
2981
|
/**
|
|
2758
2982
|
* Header actions
|
|
2759
2983
|
*/
|
|
2760
|
-
var
|
|
2984
|
+
var _71 = (0, use_header_actions_1.useHeaderActions)({
|
|
2761
2985
|
activeCell: isSelectionInProgress || isFilling || isDragging ? null : hoveredCell,
|
|
2762
2986
|
getScrollPosition: getScrollPosition,
|
|
2763
2987
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
@@ -2784,7 +3008,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2784
3008
|
selectedRowHeadersIds: selectedRowHeadersIds,
|
|
2785
3009
|
selectedColumnHeadersIds: selectedColumnHeadersIds,
|
|
2786
3010
|
enableResizerOverflow: enableResizerOverflow,
|
|
2787
|
-
}), headerMenuComponent =
|
|
3011
|
+
}), headerMenuComponent = _71.headerMenuComponent, isHeaderMenuInFrozenColumn = _71.isHeaderMenuInFrozenColumn, headerResizer = _71.headerResizer, isDraggingHeader = _71.isDragging;
|
|
2788
3012
|
/**
|
|
2789
3013
|
* Close tooltip
|
|
2790
3014
|
*/
|
|
@@ -2826,7 +3050,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2826
3050
|
/**
|
|
2827
3051
|
* Show basicFilter panels
|
|
2828
3052
|
*/
|
|
2829
|
-
var
|
|
3053
|
+
var _72 = (0, use_filter_1.useFilter)({
|
|
2830
3054
|
sheetId: sheetId,
|
|
2831
3055
|
scale: scale,
|
|
2832
3056
|
theme: theme,
|
|
@@ -2851,9 +3075,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2851
3075
|
// Live filter state so the open popup tracks Auto-apply spec changes.
|
|
2852
3076
|
basicFilter: basicFilter,
|
|
2853
3077
|
tables: activeTables,
|
|
2854
|
-
}), showFilter =
|
|
3078
|
+
}), showFilter = _72.showFilter, hideFilter = _72.hideFilter, filterComponent = _72.filterComponent;
|
|
2855
3079
|
// Table resize
|
|
2856
|
-
var
|
|
3080
|
+
var _73 = (0, use_table_resizer_1.useTableResizer)({
|
|
2857
3081
|
sheetId: sheetId,
|
|
2858
3082
|
tables: tables !== null && tables !== void 0 ? tables : undefined,
|
|
2859
3083
|
theme: theme,
|
|
@@ -2864,11 +3088,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2864
3088
|
scrollToCell: scrollToCell,
|
|
2865
3089
|
onResizeTable: onResizeTable,
|
|
2866
3090
|
focusSheet: focusSheet,
|
|
2867
|
-
}), tableResizers =
|
|
3091
|
+
}), tableResizers = _73.tableResizers, isResizingTable = _73.isResizingTable;
|
|
2868
3092
|
/**
|
|
2869
3093
|
* Displays resizable/draggable charts
|
|
2870
3094
|
*/
|
|
2871
|
-
var
|
|
3095
|
+
var _74 = (0, use_embeds_charts_1.useEmbedsCharts)({
|
|
2872
3096
|
charts: charts,
|
|
2873
3097
|
embeds: embeds,
|
|
2874
3098
|
slicers: slicers,
|
|
@@ -2905,7 +3129,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2905
3129
|
backgroundColor: cellBackgroundColor,
|
|
2906
3130
|
disabled: isRestricted,
|
|
2907
3131
|
readonly: readonly,
|
|
2908
|
-
}), chartComponents =
|
|
3132
|
+
}), chartComponents = _74.chartComponents, embedComponents = _74.embedComponents, slicerComponents = _74.slicerComponents, onMouseDownCharts = _74.onMouseDown;
|
|
2909
3133
|
/**
|
|
2910
3134
|
* Callback when user clicks Filter icon
|
|
2911
3135
|
* Show Filter dropdown here
|
|
@@ -3163,8 +3387,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3163
3387
|
/**
|
|
3164
3388
|
* Render Cells in the grid
|
|
3165
3389
|
*/
|
|
3166
|
-
var
|
|
3390
|
+
var _75 = tslib_1.__read((0, use_cell_renderer_1.useCellRenderer)({
|
|
3167
3391
|
sheetId: sheetId,
|
|
3392
|
+
formulaLocale: formulaLocale,
|
|
3168
3393
|
showGridLines: showGridLines,
|
|
3169
3394
|
scale: scale,
|
|
3170
3395
|
enableTextOverflow: enableTextOverflow,
|
|
@@ -3229,7 +3454,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3229
3454
|
onOverflow: handleOverflow,
|
|
3230
3455
|
isComparing: isComparing,
|
|
3231
3456
|
getCellDiff: getCellDiff,
|
|
3232
|
-
}), 4), cellBackgroundRenderer =
|
|
3457
|
+
}), 4), cellBackgroundRenderer = _75[0], cellRenderer = _75[1], cellOverlayRenderer = _75[2], headerCellRenderer = _75[3];
|
|
3233
3458
|
/**
|
|
3234
3459
|
* When user selects a selection for moving
|
|
3235
3460
|
* If its a table, we select the entire column
|
|
@@ -3262,14 +3487,14 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3262
3487
|
getCellBounds: getCellBounds,
|
|
3263
3488
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
3264
3489
|
scrollToCell: scrollToCell,
|
|
3265
|
-
tokenizer:
|
|
3490
|
+
tokenizer: localeTokenizer,
|
|
3266
3491
|
});
|
|
3267
3492
|
// Selection move: drag a formula reference via its border covers
|
|
3268
|
-
var
|
|
3493
|
+
var _76 = (0, use_selection_move_1.useSelectionMove)({
|
|
3269
3494
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
3270
3495
|
scrollToCell: scrollToCell,
|
|
3271
|
-
tokenizer:
|
|
3272
|
-
}), onMouseDownMoveSelection =
|
|
3496
|
+
tokenizer: localeTokenizer,
|
|
3497
|
+
}), onMouseDownMoveSelection = _76.onMouseDownMoveSelection, isDraggingMoveSelection = _76.isDragging;
|
|
3273
3498
|
/**
|
|
3274
3499
|
* Hide fill handle
|
|
3275
3500
|
* 1. When user is in edit mode
|
|
@@ -3282,9 +3507,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3282
3507
|
/**
|
|
3283
3508
|
* Flashing
|
|
3284
3509
|
*/
|
|
3285
|
-
var
|
|
3510
|
+
var _77 = (0, use_flash_1.useFlash)({
|
|
3286
3511
|
theme: theme,
|
|
3287
|
-
}), flash =
|
|
3512
|
+
}), flash = _77.flash, mark = _77.mark, unmark = _77.unmark, onFlashEnd = _77.onFlashEnd, flashingBorders = _77.flashingBorders;
|
|
3288
3513
|
// Cache hover ids
|
|
3289
3514
|
var cachedHoveredSelectionIds = (0, use_hovered_selection_ids_1.useHoveredSelectionIds)({
|
|
3290
3515
|
selections: selections,
|
|
@@ -3332,6 +3557,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3332
3557
|
onChooseFillType: handleChooseFillType,
|
|
3333
3558
|
onOpenFillSeriesDialog: handleOpenFillSeriesDialog,
|
|
3334
3559
|
onCloseFillOptions: handleCloseFillOptions,
|
|
3560
|
+
insertOptions: insertOptions,
|
|
3561
|
+
onChooseInsertOption: handleChooseInsertOption,
|
|
3335
3562
|
hoveredCell: delayedHoveredCell,
|
|
3336
3563
|
onRemoveQuickEdit: onRemoveQuickEdit,
|
|
3337
3564
|
onAddQuickEdit: onAddQuickEdit,
|
|
@@ -3367,7 +3594,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3367
3594
|
quickEditValues: quickEditValues,
|
|
3368
3595
|
});
|
|
3369
3596
|
// Hidden column markers
|
|
3370
|
-
var
|
|
3597
|
+
var _78 = tslib_1.__read((0, use_hidden_dimension_markers_1.useHiddenDimensionMarkers)({
|
|
3371
3598
|
sheetId: sheetId,
|
|
3372
3599
|
columnMetadata: columnMetadata,
|
|
3373
3600
|
rowMetadata: rowMetadata,
|
|
@@ -3380,7 +3607,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3380
3607
|
columnCount: columnCount,
|
|
3381
3608
|
HiddenRowMarkers: HiddenRowMarkers,
|
|
3382
3609
|
HiddenColumnMarkers: HiddenColumnMarkers,
|
|
3383
|
-
}), 4), hiddenColumnMarkers =
|
|
3610
|
+
}), 4), hiddenColumnMarkers = _78[0], frozenHiddenColumnMarkers = _78[1], hiddenRowMarkers = _78[2], frozenHiddenRowMarkers = _78[3];
|
|
3384
3611
|
// Zoom lister
|
|
3385
3612
|
var onMouseWheel = (0, use_scale_listener_1.useScaleListener)({
|
|
3386
3613
|
zoomSpeed: zoomSpeed,
|
|
@@ -3506,6 +3733,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3506
3733
|
getAddressFromSelection: getAddressFromSelection,
|
|
3507
3734
|
getR1C1AddressFromSelection: getR1C1AddressFromSelection,
|
|
3508
3735
|
tokenizer: tokenizer,
|
|
3736
|
+
localeTokenizer: localeTokenizer,
|
|
3737
|
+
formulaLocale: formulaLocale,
|
|
3509
3738
|
setEditorValue: setEditorValue,
|
|
3510
3739
|
getCellBounds: getCellBounds,
|
|
3511
3740
|
getNamedRanges: getNamedRanges,
|
|
@@ -3613,7 +3842,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3613
3842
|
}
|
|
3614
3843
|
// Wait for sheet change to finish
|
|
3615
3844
|
requestAnimationFrame(function () {
|
|
3616
|
-
var _a;
|
|
3845
|
+
var _a, _b;
|
|
3617
3846
|
// If user is not in formula mode and changing sheet.
|
|
3618
3847
|
// The edit belongs to the sheet it was started on, so flush it —
|
|
3619
3848
|
// `hideEditor()` alone threw the typed value away, leaving the cell
|
|
@@ -3650,7 +3879,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3650
3879
|
// Keep focus back on sheet
|
|
3651
3880
|
// Check if user is focused on the context menu
|
|
3652
3881
|
if (grid_2.canUseDOM &&
|
|
3653
|
-
((_a =
|
|
3882
|
+
((_b = (_a = (0, grid_2.getOwnerDocument)(gridContainerRef.current)) === null || _a === void 0 ? void 0 : _a.activeElement) === null || _b === void 0 ? void 0 : _b.getAttribute("role")) !== "menu") {
|
|
3654
3883
|
focusSheet();
|
|
3655
3884
|
}
|
|
3656
3885
|
}
|
|
@@ -3683,8 +3912,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3683
3912
|
var rowIndex = activeCell.rowIndex, columnIndex = activeCell.columnIndex;
|
|
3684
3913
|
var value = getUserEnteredStringValue(sheetId, rowIndex, columnIndex);
|
|
3685
3914
|
var textFormatRuns = getTextFormatRuns === null || getTextFormatRuns === void 0 ? void 0 : getTextFormatRuns(sheetId, rowIndex, columnIndex);
|
|
3686
|
-
// Update formula bar input
|
|
3687
|
-
setFormulabarEditorValue(value !== null && value !== void 0 ? value : "");
|
|
3915
|
+
// Update formula bar input (in the grid's formula locale, like the cell editor)
|
|
3916
|
+
setFormulabarEditorValue((0, utils_1.localizeCellInput)(value !== null && value !== void 0 ? value : "", formulaLocale));
|
|
3688
3917
|
setFormulaBarTextFormatRuns(textFormatRuns);
|
|
3689
3918
|
}, [
|
|
3690
3919
|
activeCell,
|
|
@@ -3692,6 +3921,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3692
3921
|
sheetId,
|
|
3693
3922
|
editingCellCoordinate,
|
|
3694
3923
|
getUserEnteredStringValue,
|
|
3924
|
+
formulaLocale,
|
|
3695
3925
|
setFormulabarEditorValue,
|
|
3696
3926
|
setFormulaBarTextFormatRuns,
|
|
3697
3927
|
]);
|