@rowsncolumns/spreadsheet 10.2.76 → 10.3.0
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 +284 -63
- 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/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/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/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 +19 -0
- 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-move-columns-rows.d.ts.map +1 -1
- package/dist/cjs/hooks/use-move-columns-rows.js +6 -0
- 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.d.ts +13 -5
- package/dist/cjs/hooks/use-selection.d.ts.map +1 -1
- package/dist/cjs/hooks/use-selection.js +48 -6
- 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/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/types.d.ts +8 -0
- package/dist/cjs/types.d.ts.map +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 +236 -19
- 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/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/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/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 +19 -0
- 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-move-columns-rows.d.ts.map +1 -1
- package/dist/esm/hooks/use-move-columns-rows.js +6 -0
- 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.d.ts +13 -5
- package/dist/esm/hooks/use-selection.d.ts.map +1 -1
- package/dist/esm/hooks/use-selection.js +39 -3
- 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/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/types.d.ts +8 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/spreadsheet.min.css +1 -1
- package/package.json +8 -7
|
@@ -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;
|
|
@@ -900,7 +910,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
900
910
|
if (showFormulas && !protectFormulas) {
|
|
901
911
|
var formulaValue = getFormulaValue(sheetId, rowIndex, columnIndex);
|
|
902
912
|
if (formulaValue) {
|
|
903
|
-
|
|
913
|
+
// "Show Formulas" paints the formula the way the editor would show it.
|
|
914
|
+
return (0, utils_1.localizeFormula)(formulaValue, formulaLocale);
|
|
904
915
|
}
|
|
905
916
|
}
|
|
906
917
|
var formattedValue = getFormattedValueProp
|
|
@@ -921,6 +932,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
921
932
|
isColumnHeader,
|
|
922
933
|
getRowHeaderText,
|
|
923
934
|
getColumnHeaderText,
|
|
935
|
+
formulaLocale,
|
|
924
936
|
]);
|
|
925
937
|
/**
|
|
926
938
|
* Get information about cell grouping
|
|
@@ -1065,6 +1077,15 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1065
1077
|
]);
|
|
1066
1078
|
// Add a stable reference to get userEnteredString value
|
|
1067
1079
|
var getUserEnteredStringValueStable = (0, use_callback_ref_1.useCallbackRef)(getUserEnteredStringValue);
|
|
1080
|
+
/**
|
|
1081
|
+
* What the cell editor / formula bar open with: the stored (canonical) entry rendered in the
|
|
1082
|
+
* grid's formula locale — `=SUM(1.5,A1)` shows as `=СУММ(1,5;A1)` in ru-RU, a stored `#VALUE!`
|
|
1083
|
+
* as `#ЗНАЧ!`. `useEditorSubmit` canonicalizes the text again on commit.
|
|
1084
|
+
*/
|
|
1085
|
+
var getEditorDisplayValue = (0, react_1.useCallback)(function (sheetId, rowIndex, columnIndex) {
|
|
1086
|
+
var value = getUserEnteredStringValue(sheetId, rowIndex, columnIndex);
|
|
1087
|
+
return (0, utils_1.isNil)(value) ? value : (0, utils_1.localizeCellInput)(value, formulaLocale);
|
|
1088
|
+
}, [getUserEnteredStringValue, formulaLocale]);
|
|
1068
1089
|
/**
|
|
1069
1090
|
* Get cell value used for validations
|
|
1070
1091
|
*/
|
|
@@ -1085,11 +1106,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1085
1106
|
* Touch support
|
|
1086
1107
|
* Mainly for scrolling
|
|
1087
1108
|
*/
|
|
1088
|
-
var
|
|
1109
|
+
var _58 = (0, use_touch_1.useTouch)({
|
|
1089
1110
|
scrollTo: scrollTo,
|
|
1090
1111
|
scale: scale,
|
|
1091
1112
|
onChangeScale: onChangeScale,
|
|
1092
|
-
}), onTouchStart =
|
|
1113
|
+
}), onTouchStart = _58.onTouchStart, onDimensionsChange = _58.onDimensionsChange, scrollToTouchDevice = _58.scrollToTouchDevice, onAfterScrollToCell = _58.onAfterScrollToCell;
|
|
1093
1114
|
/**
|
|
1094
1115
|
* Conditional-formatting evaluation window: the padded, tile-quantized
|
|
1095
1116
|
* viewport. The raw viewport lives in a ref (no render per scroll frame);
|
|
@@ -1097,7 +1118,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1097
1118
|
* `startTransition` so the CF recompute is low-priority and interruptible —
|
|
1098
1119
|
* scrolling never blocks on it.
|
|
1099
1120
|
*/
|
|
1100
|
-
var
|
|
1121
|
+
var _59 = tslib_1.__read((0, react_1.useState)(cf_window_1.CF_INITIAL_WINDOW), 2), cfWindow = _59[0], setCfWindow = _59[1];
|
|
1101
1122
|
var cfWindowRef = (0, react_1.useRef)(null);
|
|
1102
1123
|
var handleViewPortChange = (0, react_1.useCallback)(function (viewport) {
|
|
1103
1124
|
onViewPortChange === null || onViewPortChange === void 0 ? void 0 : onViewPortChange(viewport);
|
|
@@ -1328,15 +1349,29 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1328
1349
|
activeCell: activeCell,
|
|
1329
1350
|
tokenizer: defaultTokenizer,
|
|
1330
1351
|
});
|
|
1352
|
+
/**
|
|
1353
|
+
* The editor's text is in the formula locale's syntax; this tokenizer reads it as such (token
|
|
1354
|
+
* TYPES stay canonical, positions and images are the localized text's). The canonical
|
|
1355
|
+
* `tokenizer` above is what the state hooks and the public context keep using for stored formulas.
|
|
1356
|
+
*/
|
|
1357
|
+
var localeTokenizerBase = (0, react_1.useCallback)(function (value, sheetName) { return defaultTokenizer(value, sheetName, formulaLocale); }, [defaultTokenizer, formulaLocale]);
|
|
1358
|
+
var localeTokenizer = (0, use_create_formula_tokenizer_1.useCreateFormulaTokenizer)({
|
|
1359
|
+
getSelectionFromNamedRange: getSelectionFromNamedRange,
|
|
1360
|
+
getSelectionFromTable: getSelectionFromTable,
|
|
1361
|
+
editingCellCoordinate: editingCellCoordinate,
|
|
1362
|
+
sheetId: sheetId,
|
|
1363
|
+
activeCell: activeCell,
|
|
1364
|
+
tokenizer: formulaLocale.isCanonical ? defaultTokenizer : localeTokenizerBase,
|
|
1365
|
+
});
|
|
1331
1366
|
// Helper function to convert a selection to readable selection address
|
|
1332
|
-
var
|
|
1367
|
+
var _60 = tslib_1.__read((0, use_create_address_from_selection_1.useCreateAddressFromSelection)({
|
|
1333
1368
|
sheetId: sheetId,
|
|
1334
1369
|
rowCount: rowCount,
|
|
1335
1370
|
columnCount: columnCount,
|
|
1336
1371
|
tables: tables !== null && tables !== void 0 ? tables : undefined,
|
|
1337
1372
|
namedRanges: namedRanges !== null && namedRanges !== void 0 ? namedRanges : undefined,
|
|
1338
1373
|
merges: merges,
|
|
1339
|
-
}), 2), getAddressFromSelection =
|
|
1374
|
+
}), 2), getAddressFromSelection = _60[0], getR1C1AddressFromSelection = _60[1];
|
|
1340
1375
|
/**
|
|
1341
1376
|
* Exports a data region as image
|
|
1342
1377
|
*/
|
|
@@ -1367,12 +1402,12 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1367
1402
|
var _a, _b;
|
|
1368
1403
|
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
1404
|
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,
|
|
1405
|
+
return (0, selections_1.generateSelectionsFromFormula)(value, editingSheetId, editingSheetName, cell, rowCount, columnCount, localeTokenizer, getSelectionFromTable, getSelectionFromNamedRange);
|
|
1371
1406
|
}, [
|
|
1372
1407
|
rowCount,
|
|
1373
1408
|
columnCount,
|
|
1374
1409
|
editingCellCoordinate,
|
|
1375
|
-
|
|
1410
|
+
localeTokenizer,
|
|
1376
1411
|
getSelectionFromTable,
|
|
1377
1412
|
getSheetName,
|
|
1378
1413
|
getSelectionFromNamedRange,
|
|
@@ -1382,7 +1417,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1382
1417
|
* Get user entered value from a range
|
|
1383
1418
|
* of cells
|
|
1384
1419
|
*/
|
|
1385
|
-
var
|
|
1420
|
+
var _61 = tslib_1.__read((0, use_get_values_from_range_1.useGetValuesFromRange)({
|
|
1386
1421
|
sheetId: sheetId,
|
|
1387
1422
|
getSelectionsFromFormula: getSelectionsFromFormula,
|
|
1388
1423
|
getFormattedValue: getFormattedValue,
|
|
@@ -1390,7 +1425,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1390
1425
|
getSheetId: getSheetId,
|
|
1391
1426
|
onRequestCalculate: onRequestCalculate,
|
|
1392
1427
|
getValidationSourceValue: getValidationSourceValue,
|
|
1393
|
-
}), 3), getFormattedValuesFromAddress =
|
|
1428
|
+
}), 3), getFormattedValuesFromAddress = _61[0], getEffectiveValuesFromRange = _61[1], getFormattedValuesFromAddressAsync = _61[2];
|
|
1394
1429
|
/**
|
|
1395
1430
|
* Get all formatted values from range as a single 1d array
|
|
1396
1431
|
*/
|
|
@@ -1727,7 +1762,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1727
1762
|
* O(n)
|
|
1728
1763
|
* Reduces Space Complexity by using `all`
|
|
1729
1764
|
*/
|
|
1730
|
-
var
|
|
1765
|
+
var _62 = tslib_1.__read((0, use_selected_rows_columns_1.useSelectedRowsColumns)({
|
|
1731
1766
|
activeCell: activeCell,
|
|
1732
1767
|
selections: selections,
|
|
1733
1768
|
selectionLeftBound: selectionLeftBound,
|
|
@@ -1735,7 +1770,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1735
1770
|
rowCount: rowCount,
|
|
1736
1771
|
columnCount: columnCount,
|
|
1737
1772
|
getCellBounds: getCellBounds,
|
|
1738
|
-
}), 6), selectedRows =
|
|
1773
|
+
}), 6), selectedRows = _62[0], selectedColumns = _62[1], selectedRowHeaders = _62[2], selectedColumnHeaders = _62[3], selectedRowHeadersIds = _62[4], selectedColumnHeadersIds = _62[5];
|
|
1739
1774
|
// Named ranges for editor dropdown
|
|
1740
1775
|
var getNamedRanges = (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function () {
|
|
1741
1776
|
return namedRanges === null || namedRanges === void 0 ? void 0 : namedRanges.map(function (range) { return ({
|
|
@@ -1805,7 +1840,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1805
1840
|
* user can select entire column or row when selecting
|
|
1806
1841
|
* header cells
|
|
1807
1842
|
*/
|
|
1808
|
-
var
|
|
1843
|
+
var _63 = (0, use_selection_interceptors_1.useSelectionInterceptors)({
|
|
1809
1844
|
sheetId: sheetId,
|
|
1810
1845
|
rowCount: rowCount,
|
|
1811
1846
|
columnCount: columnCount,
|
|
@@ -1821,7 +1856,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1821
1856
|
onChangeActiveCell: onChangeActiveCell,
|
|
1822
1857
|
scrollToCell: scrollToCell,
|
|
1823
1858
|
isMergedCell: isMergedCell,
|
|
1824
|
-
}), onMouseDownInterceptor =
|
|
1859
|
+
}), onMouseDownInterceptor = _63.onMouseDownInterceptor, onMouseMoveInterceptor = _63.onMouseMoveInterceptor;
|
|
1825
1860
|
/**
|
|
1826
1861
|
* When user selections full rows
|
|
1827
1862
|
* or columns, we have to ignore
|
|
@@ -1909,7 +1944,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1909
1944
|
* Enables auto resizing
|
|
1910
1945
|
* rows and columns
|
|
1911
1946
|
*/
|
|
1912
|
-
var
|
|
1947
|
+
var _64 = (0, use_sizer_1.useSizer)({
|
|
1913
1948
|
frozenRows: frozenRows,
|
|
1914
1949
|
frozenColumns: frozenColumns,
|
|
1915
1950
|
scale: scale,
|
|
@@ -1932,7 +1967,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1932
1967
|
getDataRowCount: getDataRowCount,
|
|
1933
1968
|
fontSize: defaultFontSizePoint,
|
|
1934
1969
|
resizeStrategy: "full",
|
|
1935
|
-
}), getColumnWidth =
|
|
1970
|
+
}), getColumnWidth = _64.getColumnWidth, getRowHeight = _64.getRowHeight, getCellDimensions = _64.getCellDimensions, getCellDimensionsStable = _64.getCellDimensionsStable, getTextDimension = _64.getTextDimension;
|
|
1936
1971
|
/**
|
|
1937
1972
|
* Called when user tries to
|
|
1938
1973
|
* autofit a column or row
|
|
@@ -1969,7 +2004,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1969
2004
|
var editingSheetName = getSheetName === null || getSheetName === void 0 ? void 0 : getSheetName(editingSheetId);
|
|
1970
2005
|
var effectiveValue = getEffectiveValue(editingSheetId, rowIndex, columnIndex);
|
|
1971
2006
|
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:
|
|
2007
|
+
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
2008
|
}, [
|
|
1974
2009
|
scale,
|
|
1975
2010
|
getEffectiveCellFormat,
|
|
@@ -1980,10 +2015,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1980
2015
|
showFormulaHelp,
|
|
1981
2016
|
onHideFormulaHelp,
|
|
1982
2017
|
onShowFormulaHelp,
|
|
1983
|
-
|
|
2018
|
+
localeTokenizer,
|
|
2019
|
+
formulaLocale,
|
|
1984
2020
|
cellBackgroundColor,
|
|
1985
2021
|
cellColor,
|
|
1986
|
-
|
|
2022
|
+
localizedFunctionDescriptions,
|
|
1987
2023
|
getNamedRanges,
|
|
1988
2024
|
getTableNames,
|
|
1989
2025
|
getStructuredProperties,
|
|
@@ -2005,7 +2041,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2005
2041
|
/**
|
|
2006
2042
|
* Popover cell
|
|
2007
2043
|
*/
|
|
2008
|
-
var
|
|
2044
|
+
var _65 = (0, use_cell_popover_1.useCellPopover)({
|
|
2009
2045
|
sheetId: sheetId,
|
|
2010
2046
|
getCellPopoverContent: getCellPopoverContent !== null && getCellPopoverContent !== void 0 ? getCellPopoverContent : getFormattedValue,
|
|
2011
2047
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
@@ -2013,7 +2049,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2013
2049
|
isFrozenColumn: isFrozenColumn,
|
|
2014
2050
|
isFrozenRow: isFrozenRow,
|
|
2015
2051
|
onChangeActiveSheet: onChangeActiveSheet,
|
|
2016
|
-
}), popoverComponent =
|
|
2052
|
+
}), popoverComponent = _65.popoverComponent, popoverRange = _65.popoverRange, showCellPopover = _65.showCellPopover, hideCellPopover = _65.hideCellPopover;
|
|
2017
2053
|
/**
|
|
2018
2054
|
* Get tooltip component of a cell
|
|
2019
2055
|
* Only error, invalid values are
|
|
@@ -2128,6 +2164,121 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2128
2164
|
if ((fillOptions === null || fillOptions === void 0 ? void 0 : fillOptions.mode) === "menu")
|
|
2129
2165
|
setFillOptions(null);
|
|
2130
2166
|
}, [fillOptions, setFillOptions]);
|
|
2167
|
+
/**
|
|
2168
|
+
* Row / column inserts driven from this grid (context menu, Insert dialog,
|
|
2169
|
+
* Ctrl+Shift+=) also arm Excel's Insert Options smart tag on the new band.
|
|
2170
|
+
* The engine already applied "Format Same As Above / Left" (#647 FMT-01/02);
|
|
2171
|
+
* the tag lets the user switch to the other neighbour or clear.
|
|
2172
|
+
*/
|
|
2173
|
+
var insertRowWithOptions = (0, react_1.useCallback)(function (targetSheetId, rowIndex, numRows) {
|
|
2174
|
+
if (!onInsertRow)
|
|
2175
|
+
return;
|
|
2176
|
+
onInsertRow(targetSheetId, rowIndex, numRows);
|
|
2177
|
+
if (numRows > 0) {
|
|
2178
|
+
setInsertOptions({
|
|
2179
|
+
sheetId: targetSheetId,
|
|
2180
|
+
axis: "row",
|
|
2181
|
+
start: rowIndex,
|
|
2182
|
+
count: numRows,
|
|
2183
|
+
option: "before",
|
|
2184
|
+
});
|
|
2185
|
+
}
|
|
2186
|
+
}, [onInsertRow, setInsertOptions]);
|
|
2187
|
+
var insertColumnWithOptions = (0, react_1.useCallback)(function (targetSheetId, columnIndex, numColumns) {
|
|
2188
|
+
if (!onInsertColumn)
|
|
2189
|
+
return;
|
|
2190
|
+
onInsertColumn(targetSheetId, columnIndex, numColumns);
|
|
2191
|
+
if (numColumns > 0) {
|
|
2192
|
+
setInsertOptions({
|
|
2193
|
+
sheetId: targetSheetId,
|
|
2194
|
+
axis: "column",
|
|
2195
|
+
start: columnIndex,
|
|
2196
|
+
count: numColumns,
|
|
2197
|
+
option: "before",
|
|
2198
|
+
});
|
|
2199
|
+
}
|
|
2200
|
+
}, [onInsertColumn, setInsertOptions]);
|
|
2201
|
+
/**
|
|
2202
|
+
* User-entered format of a cell for the Insert Options re-format. A legacy
|
|
2203
|
+
* `StyleReference` (xlsx-imported style id) cannot be copied verbatim, so
|
|
2204
|
+
* it resolves through `getEffectiveFormat` instead.
|
|
2205
|
+
*/
|
|
2206
|
+
var readInsertFormat = (0, react_1.useCallback)(function (rowIndex, columnIndex) {
|
|
2207
|
+
var _a;
|
|
2208
|
+
var uf = (_a = getCellData === null || getCellData === void 0 ? void 0 : getCellData(sheetId, rowIndex, columnIndex)) === null || _a === void 0 ? void 0 : _a.uf;
|
|
2209
|
+
if (!uf)
|
|
2210
|
+
return undefined;
|
|
2211
|
+
var isStyleReference = "sid" in uf || "styleId" in uf;
|
|
2212
|
+
return isStyleReference
|
|
2213
|
+
? getEffectiveFormat === null || getEffectiveFormat === void 0 ? void 0 : getEffectiveFormat(sheetId, rowIndex, columnIndex)
|
|
2214
|
+
: uf;
|
|
2215
|
+
}, [getCellData, getEffectiveFormat, sheetId]);
|
|
2216
|
+
/**
|
|
2217
|
+
* Insert Options smart tag choice. "Same As Above / Below" (Left / Right)
|
|
2218
|
+
* re-paints the band with the neighbour's per-cell formats through the same
|
|
2219
|
+
* paint-format path both engines share (`onChangeFormatting` with a format
|
|
2220
|
+
* grid + `replace`), so the earlier choice does not linger; "Clear
|
|
2221
|
+
* Formatting" wipes the band. A band that already holds values was not
|
|
2222
|
+
* (or is no longer) a fresh insert — the refused-insert case — so the tag
|
|
2223
|
+
* just goes away instead of re-formatting live data.
|
|
2224
|
+
*/
|
|
2225
|
+
var handleChooseInsertOption = (0, react_1.useCallback)(function (option) {
|
|
2226
|
+
if (!insertOptions || insertOptions.sheetId !== sheetId)
|
|
2227
|
+
return;
|
|
2228
|
+
var band = {
|
|
2229
|
+
axis: insertOptions.axis,
|
|
2230
|
+
start: insertOptions.start,
|
|
2231
|
+
count: insertOptions.count,
|
|
2232
|
+
};
|
|
2233
|
+
var limit = band.axis === "row" ? columnCount : rowCount;
|
|
2234
|
+
var hasValue = function (rowIndex, columnIndex) {
|
|
2235
|
+
var _a;
|
|
2236
|
+
var cell = getCellData === null || getCellData === void 0 ? void 0 : getCellData(sheetId, rowIndex, columnIndex);
|
|
2237
|
+
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);
|
|
2238
|
+
};
|
|
2239
|
+
if ((0, insert_options_1.insertedBandHasValues)(band, hasValue, limit)) {
|
|
2240
|
+
setInsertOptions(null);
|
|
2241
|
+
return;
|
|
2242
|
+
}
|
|
2243
|
+
var clearBand = function () {
|
|
2244
|
+
var range = (0, insert_options_1.clearRangeForInsertedBand)(band, readInsertFormat, limit);
|
|
2245
|
+
if (range)
|
|
2246
|
+
onClearFormatting === null || onClearFormatting === void 0 ? void 0 : onClearFormatting(sheetId, activeCell, [{ range: range }]);
|
|
2247
|
+
};
|
|
2248
|
+
if (option === "clear") {
|
|
2249
|
+
clearBand();
|
|
2250
|
+
}
|
|
2251
|
+
else {
|
|
2252
|
+
var plan = (0, insert_options_1.formatsForInsertOption)(band, option, readInsertFormat, limit);
|
|
2253
|
+
if (plan) {
|
|
2254
|
+
// Both engines accept the paint-format shape (format grid + replace);
|
|
2255
|
+
// the grid prop type only names the key/value overload.
|
|
2256
|
+
onChangeFormatting === null || onChangeFormatting === void 0 ? void 0 : onChangeFormatting(sheetId, activeCell, plan.selections, plan.formats, { replace: true });
|
|
2257
|
+
}
|
|
2258
|
+
else {
|
|
2259
|
+
clearBand();
|
|
2260
|
+
}
|
|
2261
|
+
}
|
|
2262
|
+
setInsertOptions(tslib_1.__assign(tslib_1.__assign({}, insertOptions), { option: option }));
|
|
2263
|
+
focusSheet();
|
|
2264
|
+
}, [
|
|
2265
|
+
insertOptions,
|
|
2266
|
+
sheetId,
|
|
2267
|
+
columnCount,
|
|
2268
|
+
rowCount,
|
|
2269
|
+
getCellData,
|
|
2270
|
+
readInsertFormat,
|
|
2271
|
+
onClearFormatting,
|
|
2272
|
+
onChangeFormatting,
|
|
2273
|
+
activeCell,
|
|
2274
|
+
setInsertOptions,
|
|
2275
|
+
focusSheet,
|
|
2276
|
+
]);
|
|
2277
|
+
// The smart tag belongs to one insert; moving on (a new active cell or
|
|
2278
|
+
// sheet) drops it. Keyed on coordinates like the fill-options tag.
|
|
2279
|
+
(0, react_1.useEffect)(function () {
|
|
2280
|
+
setInsertOptions(null);
|
|
2281
|
+
}, [activeCell.rowIndex, activeCell.columnIndex, sheetId, setInsertOptions]);
|
|
2131
2282
|
/**
|
|
2132
2283
|
* Run Excel's Series dialog result: the target range's first row (Series
|
|
2133
2284
|
* in Columns) / first column (Rows) is the seed line; `stop` may shrink or
|
|
@@ -2201,6 +2352,14 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2201
2352
|
(0, react_1.useEffect)(function () {
|
|
2202
2353
|
setFillOptions(null);
|
|
2203
2354
|
}, [activeCell.rowIndex, activeCell.columnIndex, sheetId, setFillOptions]);
|
|
2355
|
+
/**
|
|
2356
|
+
* Drag-move overwrite prompt ("There's already data here. Do you want to replace it?").
|
|
2357
|
+
* Routed to the host-mounted `MoveOverwriteConfirmDialogHost` when there is one; the
|
|
2358
|
+
* selection hook falls back to `window.confirm` otherwise.
|
|
2359
|
+
*/
|
|
2360
|
+
var openMoveOverwriteConfirm = (0, atoms_1.useOpenMoveOverwriteConfirm)();
|
|
2361
|
+
var isMoveOverwriteConfirmMounted = (0, atoms_1.useIsMoveOverwriteConfirmMounted)();
|
|
2362
|
+
var confirmMoveOverwrite = (0, react_1.useMemo)(function () { return (isMoveOverwriteConfirmMounted ? openMoveOverwriteConfirm : undefined); }, [isMoveOverwriteConfirmMounted, openMoveOverwriteConfirm]);
|
|
2204
2363
|
/**
|
|
2205
2364
|
* Fill handle dragged BACK inside the selection (Excel): the dragged-over cells lose their
|
|
2206
2365
|
* contents — formats stay unless Ctrl/Cmd was held — through the same `onDelete` path as the
|
|
@@ -2212,7 +2371,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2212
2371
|
/**
|
|
2213
2372
|
* Handle grid selections
|
|
2214
2373
|
*/
|
|
2215
|
-
var
|
|
2374
|
+
var _66 = (0, use_selection_1.useSelection)({
|
|
2216
2375
|
sheetId: sheetId,
|
|
2217
2376
|
getDataRowCount: getDataRowCount,
|
|
2218
2377
|
enableDataBoundaryNavigation: enableDataBoundaryNavigation,
|
|
@@ -2243,17 +2402,19 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2243
2402
|
onFillHandleRelease: handleFillHandleRelease,
|
|
2244
2403
|
onFillShrink: handleFillShrink,
|
|
2245
2404
|
onMoveSelection: onMoveSelection,
|
|
2405
|
+
onInsertCutCells: onInsertCutCells,
|
|
2406
|
+
confirmMoveOverwrite: confirmMoveOverwrite,
|
|
2246
2407
|
isHiddenColumn: isHiddenColumn,
|
|
2247
2408
|
isHiddenRow: isHiddenRow,
|
|
2248
2409
|
isRowHeader: isRowHeader,
|
|
2249
2410
|
isColumnHeader: isColumnHeader,
|
|
2250
2411
|
isTouchDevice: helpers_1.isTouchDevice,
|
|
2251
2412
|
dataRegionBoundaries: dataRegionBoundaries,
|
|
2252
|
-
}), onMouseDownSelection =
|
|
2413
|
+
}), 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
2414
|
/**
|
|
2254
2415
|
* Copy, Paste and Cut hook
|
|
2255
2416
|
*/
|
|
2256
|
-
var
|
|
2417
|
+
var _67 = (0, use_copy_paste_cut_1.useCopyPasteCut)({
|
|
2257
2418
|
activeCell: activeCell,
|
|
2258
2419
|
selections: selections,
|
|
2259
2420
|
sheetId: sheetId,
|
|
@@ -2261,7 +2422,57 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2261
2422
|
onPaste: onPaste,
|
|
2262
2423
|
onCopy: onCopy,
|
|
2263
2424
|
onCut: onCut,
|
|
2264
|
-
}), copiedSelections =
|
|
2425
|
+
}), 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;
|
|
2426
|
+
/**
|
|
2427
|
+
* Context menu "Insert Cut Cells" (Excel: Ctrl+X, right-click the destination). A cut of
|
|
2428
|
+
* whole rows / columns dropped on a row / column header inserts them BEFORE the clicked
|
|
2429
|
+
* header in pre-removal numbering (`insertBefore`); anything else inserts the cut block at
|
|
2430
|
+
* the active cell, displacing the cells there (`onInsertCutCells`). Consumes the cut.
|
|
2431
|
+
*/
|
|
2432
|
+
var insertCutCellsFromMenu = (0, react_1.useCallback)(function (target) {
|
|
2433
|
+
var from = copiedSelections[0];
|
|
2434
|
+
if (!from || !isCutPending)
|
|
2435
|
+
return;
|
|
2436
|
+
var range = from.range;
|
|
2437
|
+
var wholeRows = range.startColumnIndex <= 1 && range.endColumnIndex >= columnCount;
|
|
2438
|
+
var wholeColumns = range.startRowIndex <= 1 && range.endRowIndex >= rowCount;
|
|
2439
|
+
var span = function (start, end) {
|
|
2440
|
+
return Array.from({ length: end - start + 1 }, function (_, i) { return start + i; });
|
|
2441
|
+
};
|
|
2442
|
+
if (target === "rows" && wholeRows) {
|
|
2443
|
+
onMoveRows === null || onMoveRows === void 0 ? void 0 : onMoveRows(sheetId, span(range.startRowIndex, range.endRowIndex), activeCell.rowIndex, {
|
|
2444
|
+
insertBefore: true,
|
|
2445
|
+
});
|
|
2446
|
+
}
|
|
2447
|
+
else if (target === "columns" && wholeColumns) {
|
|
2448
|
+
onMoveColumns === null || onMoveColumns === void 0 ? void 0 : onMoveColumns(sheetId, span(range.startColumnIndex, range.endColumnIndex), activeCell.columnIndex, { insertBefore: true });
|
|
2449
|
+
}
|
|
2450
|
+
else {
|
|
2451
|
+
var to = {
|
|
2452
|
+
range: {
|
|
2453
|
+
startRowIndex: activeCell.rowIndex,
|
|
2454
|
+
startColumnIndex: activeCell.columnIndex,
|
|
2455
|
+
endRowIndex: activeCell.rowIndex + (range.endRowIndex - range.startRowIndex),
|
|
2456
|
+
endColumnIndex: activeCell.columnIndex + (range.endColumnIndex - range.startColumnIndex),
|
|
2457
|
+
},
|
|
2458
|
+
};
|
|
2459
|
+
onInsertCutCells === null || onInsertCutCells === void 0 ? void 0 : onInsertCutCells(sheetId, from, to);
|
|
2460
|
+
}
|
|
2461
|
+
cancelCut();
|
|
2462
|
+
focusSheet();
|
|
2463
|
+
}, [
|
|
2464
|
+
copiedSelections,
|
|
2465
|
+
isCutPending,
|
|
2466
|
+
columnCount,
|
|
2467
|
+
rowCount,
|
|
2468
|
+
sheetId,
|
|
2469
|
+
activeCell,
|
|
2470
|
+
onMoveRows,
|
|
2471
|
+
onMoveColumns,
|
|
2472
|
+
onInsertCutCells,
|
|
2473
|
+
cancelCut,
|
|
2474
|
+
focusSheet,
|
|
2475
|
+
]);
|
|
2265
2476
|
/**
|
|
2266
2477
|
* Paste Special dialog (context menu → Paste special…, Ctrl+Alt+V). The
|
|
2267
2478
|
* dialog is host-mounted (`PasteSpecialDialogHost`); its request routes
|
|
@@ -2376,6 +2587,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2376
2587
|
onChangeSelections: onChangeSelections,
|
|
2377
2588
|
getSelectionsFromFormula: getSelectionsFromFormula,
|
|
2378
2589
|
onChangeEditorValue: onChangeEditorValue,
|
|
2590
|
+
formulaLocale: formulaLocale,
|
|
2379
2591
|
});
|
|
2380
2592
|
// Get final row height to expand to based on value of a cell
|
|
2381
2593
|
var getFinalRowHeight = (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function (sheetId, rowIndex, columnIndex, options) {
|
|
@@ -2421,6 +2633,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2421
2633
|
showValidationAlert: showValidationAlert,
|
|
2422
2634
|
selections: selections,
|
|
2423
2635
|
onChangeBatch: onChangeBatch,
|
|
2636
|
+
formulaLocale: formulaLocale,
|
|
2424
2637
|
});
|
|
2425
2638
|
/**
|
|
2426
2639
|
* User cancels editing the cell
|
|
@@ -2500,7 +2713,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2500
2713
|
* Get context Menu component
|
|
2501
2714
|
*/
|
|
2502
2715
|
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:
|
|
2716
|
+
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
2717
|
}, [
|
|
2505
2718
|
isRestricted,
|
|
2506
2719
|
activeCell,
|
|
@@ -2513,8 +2726,10 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2513
2726
|
onHideRow,
|
|
2514
2727
|
onDeleteColumn,
|
|
2515
2728
|
onDeleteRow,
|
|
2516
|
-
|
|
2517
|
-
|
|
2729
|
+
insertColumnWithOptions,
|
|
2730
|
+
insertRowWithOptions,
|
|
2731
|
+
rowCount,
|
|
2732
|
+
columnCount,
|
|
2518
2733
|
onInsertCellsShiftDown,
|
|
2519
2734
|
onInsertCellsShiftRight,
|
|
2520
2735
|
onDeleteCellsShiftLeft,
|
|
@@ -2588,7 +2803,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2588
2803
|
* Displays Context menu when user right clicks
|
|
2589
2804
|
* the grid
|
|
2590
2805
|
*/
|
|
2591
|
-
var
|
|
2806
|
+
var _68 = (0, use_context_menu_1.useContextMenu)({
|
|
2592
2807
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
2593
2808
|
getRelativePositionFromOffset: getRelativePositionFromOffset,
|
|
2594
2809
|
isRowHeader: isRowHeader,
|
|
@@ -2597,7 +2812,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2597
2812
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
2598
2813
|
getScrollPosition: getScrollPosition,
|
|
2599
2814
|
ContextMenuWrapper: ContextMenuWrapper,
|
|
2600
|
-
}), onContextMenu =
|
|
2815
|
+
}), onContextMenu = _68.onContextMenu, contextMenuComponent = _68.contextMenuComponent, onRequestCloseContextMenu = _68.onRequestClose, showContextMenu = _68.showContextMenu;
|
|
2601
2816
|
/**
|
|
2602
2817
|
* Shortcut handlers for formatting
|
|
2603
2818
|
* TODO: Decide on the output
|
|
@@ -2652,7 +2867,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2652
2867
|
onGroupColumns: onGroupColumns,
|
|
2653
2868
|
onUngroupColumns: onUngroupColumns,
|
|
2654
2869
|
onDeleteRow: onDeleteRow,
|
|
2655
|
-
onInsertRow:
|
|
2870
|
+
onInsertRow: insertRowWithOptions,
|
|
2656
2871
|
onInsertAutoSum: onInsertAutoSum,
|
|
2657
2872
|
onShowColumn: onShowColumn,
|
|
2658
2873
|
onShowRow: onShowRow,
|
|
@@ -2677,7 +2892,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2677
2892
|
/**
|
|
2678
2893
|
* Allow grid to be ediable
|
|
2679
2894
|
*/
|
|
2680
|
-
var
|
|
2895
|
+
var _69 = (0, use_editable_1.useEditable)({
|
|
2681
2896
|
sheetId: sheetId,
|
|
2682
2897
|
enableEditOnEnterKey: enableEditOnEnterKey,
|
|
2683
2898
|
canEdit: canEditCell,
|
|
@@ -2694,7 +2909,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2694
2909
|
selections: selections,
|
|
2695
2910
|
getSheetColumnCount: getSheetColumnCount,
|
|
2696
2911
|
getSheetRowCount: getSheetRowCount,
|
|
2697
|
-
getValue:
|
|
2912
|
+
getValue: getEditorDisplayValue,
|
|
2698
2913
|
getTextFormatRuns: getTextFormatRuns,
|
|
2699
2914
|
getBooleanValue: getBooleanValue,
|
|
2700
2915
|
getDataValidation: getDataValidationRule,
|
|
@@ -2726,11 +2941,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2726
2941
|
onCopy: onInternalCopy,
|
|
2727
2942
|
onPaste: onInternalPaste,
|
|
2728
2943
|
onCut: onInternalCut,
|
|
2729
|
-
}), onMouseDownEditable =
|
|
2944
|
+
}), 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
2945
|
/**
|
|
2731
2946
|
* Move rows and columns
|
|
2732
2947
|
*/
|
|
2733
|
-
var
|
|
2948
|
+
var _70 = (0, use_move_columns_rows_1.useMoveColumnsAndRows)({
|
|
2734
2949
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
2735
2950
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
2736
2951
|
getRelativePositionFromOffset: getRelativePositionFromOffset,
|
|
@@ -2753,11 +2968,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2753
2968
|
sheetId: sheetId,
|
|
2754
2969
|
disabled: isRestricted,
|
|
2755
2970
|
HeaderMoveDragComponent: HeaderMoveDragComponent,
|
|
2756
|
-
}), draggableColumns =
|
|
2971
|
+
}), draggableColumns = _70.draggableColumns, draggableRows = _70.draggableRows, isDraggingRowsAndColumns = _70.isDragging;
|
|
2757
2972
|
/**
|
|
2758
2973
|
* Header actions
|
|
2759
2974
|
*/
|
|
2760
|
-
var
|
|
2975
|
+
var _71 = (0, use_header_actions_1.useHeaderActions)({
|
|
2761
2976
|
activeCell: isSelectionInProgress || isFilling || isDragging ? null : hoveredCell,
|
|
2762
2977
|
getScrollPosition: getScrollPosition,
|
|
2763
2978
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
@@ -2784,7 +2999,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2784
2999
|
selectedRowHeadersIds: selectedRowHeadersIds,
|
|
2785
3000
|
selectedColumnHeadersIds: selectedColumnHeadersIds,
|
|
2786
3001
|
enableResizerOverflow: enableResizerOverflow,
|
|
2787
|
-
}), headerMenuComponent =
|
|
3002
|
+
}), headerMenuComponent = _71.headerMenuComponent, isHeaderMenuInFrozenColumn = _71.isHeaderMenuInFrozenColumn, headerResizer = _71.headerResizer, isDraggingHeader = _71.isDragging;
|
|
2788
3003
|
/**
|
|
2789
3004
|
* Close tooltip
|
|
2790
3005
|
*/
|
|
@@ -2826,7 +3041,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2826
3041
|
/**
|
|
2827
3042
|
* Show basicFilter panels
|
|
2828
3043
|
*/
|
|
2829
|
-
var
|
|
3044
|
+
var _72 = (0, use_filter_1.useFilter)({
|
|
2830
3045
|
sheetId: sheetId,
|
|
2831
3046
|
scale: scale,
|
|
2832
3047
|
theme: theme,
|
|
@@ -2851,9 +3066,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2851
3066
|
// Live filter state so the open popup tracks Auto-apply spec changes.
|
|
2852
3067
|
basicFilter: basicFilter,
|
|
2853
3068
|
tables: activeTables,
|
|
2854
|
-
}), showFilter =
|
|
3069
|
+
}), showFilter = _72.showFilter, hideFilter = _72.hideFilter, filterComponent = _72.filterComponent;
|
|
2855
3070
|
// Table resize
|
|
2856
|
-
var
|
|
3071
|
+
var _73 = (0, use_table_resizer_1.useTableResizer)({
|
|
2857
3072
|
sheetId: sheetId,
|
|
2858
3073
|
tables: tables !== null && tables !== void 0 ? tables : undefined,
|
|
2859
3074
|
theme: theme,
|
|
@@ -2864,11 +3079,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2864
3079
|
scrollToCell: scrollToCell,
|
|
2865
3080
|
onResizeTable: onResizeTable,
|
|
2866
3081
|
focusSheet: focusSheet,
|
|
2867
|
-
}), tableResizers =
|
|
3082
|
+
}), tableResizers = _73.tableResizers, isResizingTable = _73.isResizingTable;
|
|
2868
3083
|
/**
|
|
2869
3084
|
* Displays resizable/draggable charts
|
|
2870
3085
|
*/
|
|
2871
|
-
var
|
|
3086
|
+
var _74 = (0, use_embeds_charts_1.useEmbedsCharts)({
|
|
2872
3087
|
charts: charts,
|
|
2873
3088
|
embeds: embeds,
|
|
2874
3089
|
slicers: slicers,
|
|
@@ -2905,7 +3120,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2905
3120
|
backgroundColor: cellBackgroundColor,
|
|
2906
3121
|
disabled: isRestricted,
|
|
2907
3122
|
readonly: readonly,
|
|
2908
|
-
}), chartComponents =
|
|
3123
|
+
}), chartComponents = _74.chartComponents, embedComponents = _74.embedComponents, slicerComponents = _74.slicerComponents, onMouseDownCharts = _74.onMouseDown;
|
|
2909
3124
|
/**
|
|
2910
3125
|
* Callback when user clicks Filter icon
|
|
2911
3126
|
* Show Filter dropdown here
|
|
@@ -3163,8 +3378,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3163
3378
|
/**
|
|
3164
3379
|
* Render Cells in the grid
|
|
3165
3380
|
*/
|
|
3166
|
-
var
|
|
3381
|
+
var _75 = tslib_1.__read((0, use_cell_renderer_1.useCellRenderer)({
|
|
3167
3382
|
sheetId: sheetId,
|
|
3383
|
+
formulaLocale: formulaLocale,
|
|
3168
3384
|
showGridLines: showGridLines,
|
|
3169
3385
|
scale: scale,
|
|
3170
3386
|
enableTextOverflow: enableTextOverflow,
|
|
@@ -3229,7 +3445,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3229
3445
|
onOverflow: handleOverflow,
|
|
3230
3446
|
isComparing: isComparing,
|
|
3231
3447
|
getCellDiff: getCellDiff,
|
|
3232
|
-
}), 4), cellBackgroundRenderer =
|
|
3448
|
+
}), 4), cellBackgroundRenderer = _75[0], cellRenderer = _75[1], cellOverlayRenderer = _75[2], headerCellRenderer = _75[3];
|
|
3233
3449
|
/**
|
|
3234
3450
|
* When user selects a selection for moving
|
|
3235
3451
|
* If its a table, we select the entire column
|
|
@@ -3262,14 +3478,14 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3262
3478
|
getCellBounds: getCellBounds,
|
|
3263
3479
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
3264
3480
|
scrollToCell: scrollToCell,
|
|
3265
|
-
tokenizer:
|
|
3481
|
+
tokenizer: localeTokenizer,
|
|
3266
3482
|
});
|
|
3267
3483
|
// Selection move: drag a formula reference via its border covers
|
|
3268
|
-
var
|
|
3484
|
+
var _76 = (0, use_selection_move_1.useSelectionMove)({
|
|
3269
3485
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
3270
3486
|
scrollToCell: scrollToCell,
|
|
3271
|
-
tokenizer:
|
|
3272
|
-
}), onMouseDownMoveSelection =
|
|
3487
|
+
tokenizer: localeTokenizer,
|
|
3488
|
+
}), onMouseDownMoveSelection = _76.onMouseDownMoveSelection, isDraggingMoveSelection = _76.isDragging;
|
|
3273
3489
|
/**
|
|
3274
3490
|
* Hide fill handle
|
|
3275
3491
|
* 1. When user is in edit mode
|
|
@@ -3282,9 +3498,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3282
3498
|
/**
|
|
3283
3499
|
* Flashing
|
|
3284
3500
|
*/
|
|
3285
|
-
var
|
|
3501
|
+
var _77 = (0, use_flash_1.useFlash)({
|
|
3286
3502
|
theme: theme,
|
|
3287
|
-
}), flash =
|
|
3503
|
+
}), flash = _77.flash, mark = _77.mark, unmark = _77.unmark, onFlashEnd = _77.onFlashEnd, flashingBorders = _77.flashingBorders;
|
|
3288
3504
|
// Cache hover ids
|
|
3289
3505
|
var cachedHoveredSelectionIds = (0, use_hovered_selection_ids_1.useHoveredSelectionIds)({
|
|
3290
3506
|
selections: selections,
|
|
@@ -3332,6 +3548,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3332
3548
|
onChooseFillType: handleChooseFillType,
|
|
3333
3549
|
onOpenFillSeriesDialog: handleOpenFillSeriesDialog,
|
|
3334
3550
|
onCloseFillOptions: handleCloseFillOptions,
|
|
3551
|
+
insertOptions: insertOptions,
|
|
3552
|
+
onChooseInsertOption: handleChooseInsertOption,
|
|
3335
3553
|
hoveredCell: delayedHoveredCell,
|
|
3336
3554
|
onRemoveQuickEdit: onRemoveQuickEdit,
|
|
3337
3555
|
onAddQuickEdit: onAddQuickEdit,
|
|
@@ -3367,7 +3585,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3367
3585
|
quickEditValues: quickEditValues,
|
|
3368
3586
|
});
|
|
3369
3587
|
// Hidden column markers
|
|
3370
|
-
var
|
|
3588
|
+
var _78 = tslib_1.__read((0, use_hidden_dimension_markers_1.useHiddenDimensionMarkers)({
|
|
3371
3589
|
sheetId: sheetId,
|
|
3372
3590
|
columnMetadata: columnMetadata,
|
|
3373
3591
|
rowMetadata: rowMetadata,
|
|
@@ -3380,7 +3598,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3380
3598
|
columnCount: columnCount,
|
|
3381
3599
|
HiddenRowMarkers: HiddenRowMarkers,
|
|
3382
3600
|
HiddenColumnMarkers: HiddenColumnMarkers,
|
|
3383
|
-
}), 4), hiddenColumnMarkers =
|
|
3601
|
+
}), 4), hiddenColumnMarkers = _78[0], frozenHiddenColumnMarkers = _78[1], hiddenRowMarkers = _78[2], frozenHiddenRowMarkers = _78[3];
|
|
3384
3602
|
// Zoom lister
|
|
3385
3603
|
var onMouseWheel = (0, use_scale_listener_1.useScaleListener)({
|
|
3386
3604
|
zoomSpeed: zoomSpeed,
|
|
@@ -3506,6 +3724,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3506
3724
|
getAddressFromSelection: getAddressFromSelection,
|
|
3507
3725
|
getR1C1AddressFromSelection: getR1C1AddressFromSelection,
|
|
3508
3726
|
tokenizer: tokenizer,
|
|
3727
|
+
localeTokenizer: localeTokenizer,
|
|
3728
|
+
formulaLocale: formulaLocale,
|
|
3509
3729
|
setEditorValue: setEditorValue,
|
|
3510
3730
|
getCellBounds: getCellBounds,
|
|
3511
3731
|
getNamedRanges: getNamedRanges,
|
|
@@ -3683,8 +3903,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3683
3903
|
var rowIndex = activeCell.rowIndex, columnIndex = activeCell.columnIndex;
|
|
3684
3904
|
var value = getUserEnteredStringValue(sheetId, rowIndex, columnIndex);
|
|
3685
3905
|
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 : "");
|
|
3906
|
+
// Update formula bar input (in the grid's formula locale, like the cell editor)
|
|
3907
|
+
setFormulabarEditorValue((0, utils_1.localizeCellInput)(value !== null && value !== void 0 ? value : "", formulaLocale));
|
|
3688
3908
|
setFormulaBarTextFormatRuns(textFormatRuns);
|
|
3689
3909
|
}, [
|
|
3690
3910
|
activeCell,
|
|
@@ -3692,6 +3912,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3692
3912
|
sheetId,
|
|
3693
3913
|
editingCellCoordinate,
|
|
3694
3914
|
getUserEnteredStringValue,
|
|
3915
|
+
formulaLocale,
|
|
3695
3916
|
setFormulabarEditorValue,
|
|
3696
3917
|
setFormulaBarTextFormatRuns,
|
|
3697
3918
|
]);
|