@rowsncolumns/spreadsheet 10.5.1 → 10.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/cjs/components/canvas-grid/index.js +103 -71
- package/dist/cjs/components/canvas-grid/typings.d.ts +18 -1
- package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/cjs/components/cell/cell-text-runs.d.ts +10 -3
- package/dist/cjs/components/cell/cell-text-runs.d.ts.map +1 -1
- package/dist/cjs/components/cell/cell-text-runs.js +21 -9
- package/dist/cjs/components/cell/index.d.ts.map +1 -1
- package/dist/cjs/components/cell/index.js +9 -5
- package/dist/cjs/components/cell/line-height.d.ts +22 -0
- package/dist/cjs/components/cell/line-height.d.ts.map +1 -0
- package/dist/cjs/components/cell/line-height.js +32 -0
- package/dist/cjs/components/cell/typings.d.ts +8 -2
- package/dist/cjs/components/cell/typings.d.ts.map +1 -1
- package/dist/cjs/components/formula-input/index.d.ts.map +1 -1
- package/dist/cjs/components/formula-input/index.js +28 -1
- package/dist/cjs/hooks/export-range-tiles.d.ts +81 -0
- package/dist/cjs/hooks/export-range-tiles.d.ts.map +1 -0
- package/dist/cjs/hooks/export-range-tiles.js +171 -0
- package/dist/cjs/hooks/use-cell-renderer.d.ts +6 -1
- package/dist/cjs/hooks/use-cell-renderer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-cell-renderer.js +3 -2
- package/dist/cjs/hooks/use-copy-paste-cut.d.ts +5 -1
- package/dist/cjs/hooks/use-copy-paste-cut.d.ts.map +1 -1
- package/dist/cjs/hooks/use-copy-paste-cut.js +19 -5
- package/dist/cjs/hooks/use-editor-submit.d.ts +7 -1
- package/dist/cjs/hooks/use-editor-submit.d.ts.map +1 -1
- package/dist/cjs/hooks/use-editor-submit.js +36 -16
- package/dist/cjs/hooks/use-export-range.d.ts +14 -6
- package/dist/cjs/hooks/use-export-range.d.ts.map +1 -1
- package/dist/cjs/hooks/use-export-range.js +240 -158
- package/dist/cjs/hooks/use-grid-children.d.ts +4 -1
- package/dist/cjs/hooks/use-grid-children.d.ts.map +1 -1
- package/dist/cjs/hooks/use-grid-children.js +4 -2
- package/dist/cjs/hooks/use-navigate-sheet-range.d.ts.map +1 -1
- package/dist/cjs/hooks/use-navigate-sheet-range.js +5 -2
- package/dist/cjs/hooks/use-sizer.d.ts +8 -2
- package/dist/cjs/hooks/use-sizer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-sizer.js +54 -33
- package/dist/cjs/providers/spreadsheet-provider.d.ts +11 -2
- package/dist/cjs/providers/spreadsheet-provider.d.ts.map +1 -1
- package/dist/cjs/providers/spreadsheet-provider.js +7 -5
- package/dist/cjs/release-date.js +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/esm/components/canvas-grid/index.js +44 -13
- package/dist/esm/components/canvas-grid/typings.d.ts +18 -1
- package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/esm/components/cell/cell-text-runs.d.ts +10 -3
- package/dist/esm/components/cell/cell-text-runs.d.ts.map +1 -1
- package/dist/esm/components/cell/cell-text-runs.js +14 -9
- package/dist/esm/components/cell/index.d.ts.map +1 -1
- package/dist/esm/components/cell/index.js +7 -3
- package/dist/esm/components/cell/line-height.d.ts +22 -0
- package/dist/esm/components/cell/line-height.d.ts.map +1 -0
- package/dist/esm/components/cell/line-height.js +25 -0
- package/dist/esm/components/cell/typings.d.ts +8 -2
- package/dist/esm/components/cell/typings.d.ts.map +1 -1
- package/dist/esm/components/formula-input/index.d.ts.map +1 -1
- package/dist/esm/components/formula-input/index.js +26 -1
- package/dist/esm/hooks/export-range-tiles.d.ts +81 -0
- package/dist/esm/hooks/export-range-tiles.d.ts.map +1 -0
- package/dist/esm/hooks/export-range-tiles.js +126 -0
- package/dist/esm/hooks/use-cell-renderer.d.ts +6 -1
- package/dist/esm/hooks/use-cell-renderer.d.ts.map +1 -1
- package/dist/esm/hooks/use-cell-renderer.js +3 -2
- package/dist/esm/hooks/use-copy-paste-cut.d.ts +5 -1
- package/dist/esm/hooks/use-copy-paste-cut.d.ts.map +1 -1
- package/dist/esm/hooks/use-copy-paste-cut.js +17 -3
- package/dist/esm/hooks/use-editor-submit.d.ts +7 -1
- package/dist/esm/hooks/use-editor-submit.d.ts.map +1 -1
- package/dist/esm/hooks/use-editor-submit.js +24 -6
- package/dist/esm/hooks/use-export-range.d.ts +14 -6
- package/dist/esm/hooks/use-export-range.d.ts.map +1 -1
- package/dist/esm/hooks/use-export-range.js +158 -120
- package/dist/esm/hooks/use-grid-children.d.ts +4 -1
- package/dist/esm/hooks/use-grid-children.d.ts.map +1 -1
- package/dist/esm/hooks/use-grid-children.js +4 -2
- package/dist/esm/hooks/use-navigate-sheet-range.d.ts.map +1 -1
- package/dist/esm/hooks/use-navigate-sheet-range.js +5 -2
- package/dist/esm/hooks/use-sizer.d.ts +8 -2
- package/dist/esm/hooks/use-sizer.d.ts.map +1 -1
- package/dist/esm/hooks/use-sizer.js +53 -31
- package/dist/esm/providers/spreadsheet-provider.d.ts +11 -2
- package/dist/esm/providers/spreadsheet-provider.d.ts.map +1 -1
- package/dist/esm/providers/spreadsheet-provider.js +8 -6
- package/dist/esm/release-date.js +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +6 -6
|
@@ -120,9 +120,20 @@ var helpers_2 = require("./helpers");
|
|
|
120
120
|
*/
|
|
121
121
|
/** Where the grid focuses when no cell is given (A1); mirrors spreadsheet-state's `defaultCellCoords` without importing it — that package depends on this one. */
|
|
122
122
|
var defaultCellCoords = { rowIndex: 1, columnIndex: 1 };
|
|
123
|
+
/**
|
|
124
|
+
* Whether a registered editor's DOM has been removed: an input that unmounted while focused
|
|
125
|
+
* gets no blur from Chromium, so its `activeEditor` registration can outlive it. Such an editor
|
|
126
|
+
* cannot hold focus, so the grid treats it as absent (rowsncolumns/spreadsheet#1131). An editor
|
|
127
|
+
* that exposes no element is trusted as live.
|
|
128
|
+
*/
|
|
129
|
+
function isDetachedEditor(editor) {
|
|
130
|
+
var _a;
|
|
131
|
+
var element = (_a = editor.el) === null || _a === void 0 ? void 0 : _a.call(editor);
|
|
132
|
+
return element != null && !element.isConnected;
|
|
133
|
+
}
|
|
123
134
|
function CanvasGridComponent(props, forwardedRef) {
|
|
124
135
|
var _a, _b, _c, _d;
|
|
125
|
-
var licenseKey = props.licenseKey, sheetId = props.sheetId, sheetType = props.sheetType, _e = props.ChartSheetView, ChartSheetViewComponent = _e === void 0 ? chart_sheet_view_1.ChartSheetView : _e, instanceId = props.instanceId, _f = props.activeCell, activeCell = _f === void 0 ? config_1.DEFAULT_ACTIVE_CELL : _f, _g = props.selections, selections = _g === void 0 ? config_1.DEFAULT_ARRAY : _g, _h = props.frozenColumnCount, frozenColumnCount = _h === void 0 ? 0 : _h, _j = props.frozenRowCount, frozenRowCount = _j === void 0 ? 0 : _j, _k = props.rowCount, rowCount = _k === void 0 ? config_1.DEFAULT_ROW_COUNT : _k, _l = props.columnCount, columnCount = _l === void 0 ? config_1.DEFAULT_COLUMN_COUNT : _l, autoFocus = props.autoFocus, basicFilter = props.basicFilter, tables = props.tables, namedRanges = props.namedRanges, _m = props.bandedRanges, bandedRanges = _m === void 0 ? config_1.DEFAULT_ARRAY : _m, _o = props.tableBorderColor, tableBorderColor = _o === void 0 ? "#008000" : _o, _p = props.filterIconColor, filterIconColor = _p === void 0 ? "#008000" : _p, conditionalFormats = props.conditionalFormats, _q = props.showFilterIcon, showFilterIcon = _q === void 0 ? true : _q, _r = props.showCalculatedColumnIcon, showCalculatedColumnIcon = _r === void 0 ? true : _r, _s = props.showHeaders, showHeaders = _s === void 0 ? true : _s, _t = props.defaultColumnWidth, defaultColumnWidth = _t === void 0 ? config_1.DEFAULT_COLUMN_WIDTH : _t, _u = props.defaultRowHeight, defaultRowHeight = _u === void 0 ? config_1.DEFAULT_ROW_HEIGHT : _u, _v = props.columnHeaderHeight, columnHeaderHeight = _v === void 0 ? config_1.COLUMN_HEADER_HEIGHT : _v, _w = props.rowHeaderWidth, rowHeaderWidth = _w === void 0 ? config_1.ROW_HEADER_WIDTH : _w, _x = props.gridLineColor, gridLineColor = _x === void 0 ? config_1.GRIDLINE_COLOR : _x, _y = props.cellBackgroundColor, cellBackgroundColor = _y === void 0 ? config_1.DEFAULT_CELL_BACKGROUND_COLOR : _y, _z = props.cellColor, cellColor = _z === void 0 ? config_1.DEFAULT_CELL_COLOR : _z, _0 = props.headerBorderColor, headerBorderColor = _0 === void 0 ? config_1.DEFAULT_HEADER_BORDER_COLOR : _0, _1 = props.headerBackgroundColor, headerBackgroundColor = _1 === void 0 ? config_1.DEFAULT_HEADER_BG : _1, _2 = props.headerColor, headerColor = _2 === void 0 ? config_1.DEFAULT_HEADER_COLOR : _2, _3 = props.headerActiveBackgroundColor, headerActiveBackgroundColor = _3 === void 0 ? config_1.DEFAULT_HEADER_ACTIVE_BG : _3, _4 = props.headerSelectedBackgroundColor, headerSelectedBackgroundColor = _4 === void 0 ? config_1.DEFAULT_HEADER_SELECTED_BG : _4, _5 = props.headerSelectedColor, headerSelectedColor = _5 === void 0 ? "white" : _5, _6 = props.headerTableBackgroundColor, headerTableBackgroundColor = _6 === void 0 ? config_1.DEFAULT_HEADER_TABLE_BG : _6, _7 = props.headerTableActiveBackgroundColor, headerTableActiveBackgroundColor = _7 === void 0 ? config_1.DEFAULT_HEADER_ACTIVE_TABLE_BG : _7, _8 = props.headerTableSelectedBackgroundColor, headerTableSelectedBackgroundColor = _8 === void 0 ? config_1.DEFAULT_HEADER_SELECTED_TABLE_BG : _8, _9 = props.frozenShadowColor, frozenShadowColor = _9 === void 0 ? headerBorderColor : _9, _10 = props.frozenShadowThickness, frozenShadowThickness = _10 === void 0 ? 1 : _10, _11 = props.selectionBackgroundColor, selectionBackgroundColor = _11 === void 0 ? config_1.SELECTION_BG : _11, _12 = props.selectionBorderColor, selectionBorderColor = _12 === void 0 ? config_1.SELECTION_BORDER : _12, _13 = props.selectionDragBorderColor, selectionDragBorderColor = _13 === void 0 ? config_1.SELECTION_BORDER : _13, chartSelectedColor = props.chartSelectedColor, _14 = props.chipBackgroundColor, chipBackgroundColor = _14 === void 0 ? config_1.CHIP_COLOR : _14, _15 = props.merges, merges = _15 === void 0 ? config_1.DEFAULT_ARRAY : _15, borderStyles = props.borderStyles, protectedRanges = props.protectedRanges, _16 = props.isWorkbookProtected, isWorkbookProtectedProp = _16 === void 0 ? false : _16, getSheetProtection = props.getSheetProtection, pivotTables = props.pivotTables, charts = props.charts, onUpdateChart = props.onUpdateChart, onChangeZOrder = props.onChangeZOrder, embeds = props.embeds, slicers = props.slicers, _17 = props.rowMetadata, rowMetadata = _17 === void 0 ? config_1.DEFAULT_ARRAY : _17, _18 = props.columnMetadata, columnMetadata = _18 === void 0 ? config_1.DEFAULT_ARRAY : _18, _19 = props.scale, scale = _19 === void 0 ? 1 : _19, _20 = props.zoomSpeed, zoomSpeed = _20 === void 0 ? 1 : _20, _21 = props.overscanCount, overscanCount = _21 === void 0 ? 3 : _21, _22 = props.enableEditOnEnterKey, enableEditOnEnterKey = _22 === void 0 ? true : _22, _23 = props.enableTextOverflow, enableTextOverflow = _23 === void 0 ? true : _23, _showGridLines = props.showGridLines, _24 = props.showFormulas, showFormulas = _24 === void 0 ? false : _24, _25 = props.protectFormulas, protectFormulas = _25 === void 0 ? false : _25, _26 = props.showFrozenSeparator, showFrozenSeparator = _26 === void 0 ? true : _26, _27 = props.HeaderCell, HeaderCell = _27 === void 0 ? header_cell_1.HeaderCell : _27, _28 = props.Cell, Cell = _28 === void 0 ? cell_1.Cell : _28, _29 = props.SelectionTitleComponent, SelectionTitleComponent = _29 === void 0 ? title_1.SelectionTitle : _29, _30 = props.CellEditor, CellEditor = _30 === void 0 ? cell_editor_1.CellEditor : _30, CellTooltip = props.CellTooltip, _31 = props.ContextMenu, ContextMenu = _31 === void 0 ? context_menu_1.ContextMenu : _31, _32 = props.ContextMenuWrapper, ContextMenuWrapper = _32 === void 0 ? use_context_menu_1.DefaultContextMenuWrapper : _32, _33 = props.FilterBox, FilterBox = _33 === void 0 ? filter_box_1.FilterBox : _33, _34 = props.HeaderMoveDragComponent, HeaderMoveDragComponent = _34 === void 0 ? header_move_1.HeaderMoveDragComponent : _34, SuggestionsDropdown = props.SuggestionsDropdown, _35 = props.stickyEditor, stickyEditor = _35 === void 0 ? true : _35, _36 = props.scrollSnap, scrollSnap = _36 === void 0 ? false : _36, scrollThrottleTimeout = props.scrollThrottleTimeout, preventBrowserDefaultScroll = props.preventBrowserDefaultScroll, _37 = props.mouseMoveThrottleTimeout, mouseMoveThrottleTimeout = _37 === void 0 ? 60 : _37, _38 = props.tooltipIntentInterval, tooltipIntentInterval = _38 === void 0 ? 60 : _38, selectionPolicy = props.selectionPolicy, users = props.users, userId = props.userId, renderCollaboratorCursor = props.renderCollaboratorCursor, functionDescriptions = props.functionDescriptions, _39 = props.showHeaderMenuButton, showHeaderMenuButton = _39 === void 0 ? true : _39, _40 = props.scrollbarSize, scrollbarSize = _40 === void 0 ? config_1.SCROLLBAR_SIZE : _40, _41 = props.theme, theme = _41 === void 0 ? config_1.defaultSpreadsheetTheme : _41, _42 = props.showNotes, showNotes = _42 === void 0 ? true : _42, _43 = props.showComments, showComments = _43 === void 0 ? true : _43, locale = props.locale, formulaLocaleProp = props.formulaLocale, agentSuggestions = props.agentSuggestions, onReviewSuggestion = props.onReviewSuggestion, onShowFormulas = props.onShowFormulas, getDataRowCount = props.getDataRowCount, getDataRegion = props.getDataRegion, 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, getSparklineGroup = props.getSparklineGroup, getUserEnteredExtendedValue = props.getUserEnteredExtendedValue, getEffectiveExtendedValue = props.getEffectiveExtendedValue, getSheetRowCount = props.getSheetRowCount, getSheetColumnCount = props.getSheetColumnCount, getCellPopoverContent = props.getCellPopoverContent, onScroll = props.onScroll, onViewPortChange = props.onViewPortChange, _44 = props.windowConditionalFormats, windowConditionalFormats = _44 === void 0 ? false : _44, _45 = props.engineConditionalFormatResults, engineConditionalFormatResults = _45 === void 0 ? false : _45, 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, onChangeAutoExpandTables = props.onChangeAutoExpandTables, onChangeAutoCalculatedColumns = props.onChangeAutoCalculatedColumns, 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, onCutChart = props.onCutChart, onCopyChart = props.onCopyChart, 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, onUndoTableAutoExpansion = props.onUndoTableAutoExpansion, onUndoCalculatedColumn = props.onUndoCalculatedColumn, onOverwriteCalculatedColumn = props.onOverwriteCalculatedColumn, onRequestEditTable = props.onRequestEditTable, onRequestEditPivotTable = props.onRequestEditPivotTable, onRequestDeletePivotTable = props.onRequestDeletePivotTable, onRequestCreatePivotChart = props.onRequestCreatePivotChart, onRemoveTable = props.onRemoveTable, onCreateTable = props.onCreateTable, onRequestCreateTable = props.onRequestCreateTable, onInsertTableColumn = props.onInsertTableColumn, onDeleteTableColumn = props.onDeleteTableColumn, onInsertTableRow = props.onInsertTableRow, onDeleteTableRow = props.onDeleteTableRow, onUpdateTable = props.onUpdateTable, onRequestResizeTable = props.onRequestResizeTable, onRequestInsertSlicer = props.onRequestInsertSlicer, 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, _46 = props.getRowHeaderText, getRowHeaderText = _46 === void 0 ? helpers_1.getDefaultRowHeader : _46, _47 = props.getColumnHeaderText, getColumnHeaderText = _47 === void 0 ? helpers_1.getDefaultColumnHeader : _47, getAdditionalCellSpacing = props.getAdditionalCellSpacing, _48 = props.tokenizer, defaultTokenizer = _48 === void 0 ? calculator_1.tokenize : _48, 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, _49 = props.StructuredResult, StructuredResult = _49 === void 0 ? cell_structured_1.StructuredResultRenderer : _49, getMentions = props.getMentions, getStructuredPropertiesProp = props.getStructuredProperties, getFunctionParameterSuggestions = props.getFunctionParameterSuggestions, shouldFetchFunctionParameters = props.shouldFetchFunctionParameters, MentionTagComponent = props.MentionTagComponent, MentionDropdownItemComponent = props.MentionDropdownItemComponent, _50 = props.showSelectionResizeHandles, showSelectionResizeHandles = _50 === void 0 ? true : _50, enableMagicFill = props.enableMagicFill, _51 = props.enableQuickEdit, enableQuickEdit = _51 === void 0 ? true : _51, 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, _52 = props.defaultFontSizePoint, defaultFontSizePoint = _52 === void 0 ? config_1.DEFAULT_FONT_SIZE_PT : _52, defaultCellFormat = props.defaultCellFormat, readonly = props.readonly, _53 = props.isComparing, isComparing = _53 === void 0 ? false : _53, getCellDiff = props.getCellDiff, enableDataBoundaryNavigation = props.enableDataBoundaryNavigation, footerHeight = props.footerHeight, footerComponent = props.footerComponent, arrowComponents = props.arrowComponents,
|
|
136
|
+
var licenseKey = props.licenseKey, sheetId = props.sheetId, sheetType = props.sheetType, _e = props.ChartSheetView, ChartSheetViewComponent = _e === void 0 ? chart_sheet_view_1.ChartSheetView : _e, instanceId = props.instanceId, _f = props.activeCell, activeCell = _f === void 0 ? config_1.DEFAULT_ACTIVE_CELL : _f, _g = props.selections, selections = _g === void 0 ? config_1.DEFAULT_ARRAY : _g, _h = props.frozenColumnCount, frozenColumnCount = _h === void 0 ? 0 : _h, _j = props.frozenRowCount, frozenRowCount = _j === void 0 ? 0 : _j, _k = props.rowCount, rowCount = _k === void 0 ? config_1.DEFAULT_ROW_COUNT : _k, _l = props.columnCount, columnCount = _l === void 0 ? config_1.DEFAULT_COLUMN_COUNT : _l, autoFocus = props.autoFocus, basicFilter = props.basicFilter, tables = props.tables, namedRanges = props.namedRanges, _m = props.bandedRanges, bandedRanges = _m === void 0 ? config_1.DEFAULT_ARRAY : _m, _o = props.tableBorderColor, tableBorderColor = _o === void 0 ? "#008000" : _o, _p = props.filterIconColor, filterIconColor = _p === void 0 ? "#008000" : _p, conditionalFormats = props.conditionalFormats, _q = props.showFilterIcon, showFilterIcon = _q === void 0 ? true : _q, _r = props.showCalculatedColumnIcon, showCalculatedColumnIcon = _r === void 0 ? true : _r, _s = props.showHeaders, showHeaders = _s === void 0 ? true : _s, _t = props.defaultColumnWidth, defaultColumnWidth = _t === void 0 ? config_1.DEFAULT_COLUMN_WIDTH : _t, _u = props.defaultRowHeight, defaultRowHeight = _u === void 0 ? config_1.DEFAULT_ROW_HEIGHT : _u, _v = props.lineHeightMode, lineHeightMode = _v === void 0 ? "fontMetrics" : _v, _w = props.columnHeaderHeight, columnHeaderHeight = _w === void 0 ? config_1.COLUMN_HEADER_HEIGHT : _w, _x = props.rowHeaderWidth, rowHeaderWidth = _x === void 0 ? config_1.ROW_HEADER_WIDTH : _x, _y = props.gridLineColor, gridLineColor = _y === void 0 ? config_1.GRIDLINE_COLOR : _y, _z = props.cellBackgroundColor, cellBackgroundColor = _z === void 0 ? config_1.DEFAULT_CELL_BACKGROUND_COLOR : _z, _0 = props.cellColor, cellColor = _0 === void 0 ? config_1.DEFAULT_CELL_COLOR : _0, _1 = props.headerBorderColor, headerBorderColor = _1 === void 0 ? config_1.DEFAULT_HEADER_BORDER_COLOR : _1, _2 = props.headerBackgroundColor, headerBackgroundColor = _2 === void 0 ? config_1.DEFAULT_HEADER_BG : _2, _3 = props.headerColor, headerColor = _3 === void 0 ? config_1.DEFAULT_HEADER_COLOR : _3, _4 = props.headerActiveBackgroundColor, headerActiveBackgroundColor = _4 === void 0 ? config_1.DEFAULT_HEADER_ACTIVE_BG : _4, _5 = props.headerSelectedBackgroundColor, headerSelectedBackgroundColor = _5 === void 0 ? config_1.DEFAULT_HEADER_SELECTED_BG : _5, _6 = props.headerSelectedColor, headerSelectedColor = _6 === void 0 ? "white" : _6, _7 = props.headerTableBackgroundColor, headerTableBackgroundColor = _7 === void 0 ? config_1.DEFAULT_HEADER_TABLE_BG : _7, _8 = props.headerTableActiveBackgroundColor, headerTableActiveBackgroundColor = _8 === void 0 ? config_1.DEFAULT_HEADER_ACTIVE_TABLE_BG : _8, _9 = props.headerTableSelectedBackgroundColor, headerTableSelectedBackgroundColor = _9 === void 0 ? config_1.DEFAULT_HEADER_SELECTED_TABLE_BG : _9, _10 = props.frozenShadowColor, frozenShadowColor = _10 === void 0 ? headerBorderColor : _10, _11 = props.frozenShadowThickness, frozenShadowThickness = _11 === void 0 ? 1 : _11, _12 = props.selectionBackgroundColor, selectionBackgroundColor = _12 === void 0 ? config_1.SELECTION_BG : _12, _13 = props.selectionBorderColor, selectionBorderColor = _13 === void 0 ? config_1.SELECTION_BORDER : _13, _14 = props.selectionDragBorderColor, selectionDragBorderColor = _14 === void 0 ? config_1.SELECTION_BORDER : _14, chartSelectedColor = props.chartSelectedColor, _15 = props.chipBackgroundColor, chipBackgroundColor = _15 === void 0 ? config_1.CHIP_COLOR : _15, _16 = props.merges, merges = _16 === void 0 ? config_1.DEFAULT_ARRAY : _16, borderStyles = props.borderStyles, protectedRanges = props.protectedRanges, _17 = props.isWorkbookProtected, isWorkbookProtectedProp = _17 === void 0 ? false : _17, getSheetProtection = props.getSheetProtection, pivotTables = props.pivotTables, charts = props.charts, onUpdateChart = props.onUpdateChart, onChangeZOrder = props.onChangeZOrder, embeds = props.embeds, slicers = props.slicers, _18 = props.rowMetadata, rowMetadata = _18 === void 0 ? config_1.DEFAULT_ARRAY : _18, _19 = props.columnMetadata, columnMetadata = _19 === void 0 ? config_1.DEFAULT_ARRAY : _19, _20 = props.scale, scale = _20 === void 0 ? 1 : _20, _21 = props.zoomSpeed, zoomSpeed = _21 === void 0 ? 1 : _21, _22 = props.overscanCount, overscanCount = _22 === void 0 ? 3 : _22, _23 = props.enableEditOnEnterKey, enableEditOnEnterKey = _23 === void 0 ? true : _23, _24 = props.enableTextOverflow, enableTextOverflow = _24 === void 0 ? true : _24, _showGridLines = props.showGridLines, _25 = props.showFormulas, showFormulas = _25 === void 0 ? false : _25, _26 = props.protectFormulas, protectFormulas = _26 === void 0 ? false : _26, _27 = props.showFrozenSeparator, showFrozenSeparator = _27 === void 0 ? true : _27, _28 = props.HeaderCell, HeaderCell = _28 === void 0 ? header_cell_1.HeaderCell : _28, _29 = props.Cell, Cell = _29 === void 0 ? cell_1.Cell : _29, _30 = props.SelectionTitleComponent, SelectionTitleComponent = _30 === void 0 ? title_1.SelectionTitle : _30, _31 = props.CellEditor, CellEditor = _31 === void 0 ? cell_editor_1.CellEditor : _31, CellTooltip = props.CellTooltip, _32 = props.ContextMenu, ContextMenu = _32 === void 0 ? context_menu_1.ContextMenu : _32, _33 = props.ContextMenuWrapper, ContextMenuWrapper = _33 === void 0 ? use_context_menu_1.DefaultContextMenuWrapper : _33, _34 = props.FilterBox, FilterBox = _34 === void 0 ? filter_box_1.FilterBox : _34, _35 = props.HeaderMoveDragComponent, HeaderMoveDragComponent = _35 === void 0 ? header_move_1.HeaderMoveDragComponent : _35, SuggestionsDropdown = props.SuggestionsDropdown, _36 = props.stickyEditor, stickyEditor = _36 === void 0 ? true : _36, _37 = props.scrollSnap, scrollSnap = _37 === void 0 ? false : _37, scrollThrottleTimeout = props.scrollThrottleTimeout, preventBrowserDefaultScroll = props.preventBrowserDefaultScroll, _38 = props.mouseMoveThrottleTimeout, mouseMoveThrottleTimeout = _38 === void 0 ? 60 : _38, _39 = props.tooltipIntentInterval, tooltipIntentInterval = _39 === void 0 ? 60 : _39, selectionPolicy = props.selectionPolicy, users = props.users, userId = props.userId, renderCollaboratorCursor = props.renderCollaboratorCursor, functionDescriptions = props.functionDescriptions, _40 = props.showHeaderMenuButton, showHeaderMenuButton = _40 === void 0 ? true : _40, _41 = props.scrollbarSize, scrollbarSize = _41 === void 0 ? config_1.SCROLLBAR_SIZE : _41, _42 = props.theme, theme = _42 === void 0 ? config_1.defaultSpreadsheetTheme : _42, _43 = props.showNotes, showNotes = _43 === void 0 ? true : _43, _44 = props.showComments, showComments = _44 === void 0 ? true : _44, locale = props.locale, formulaLocaleProp = props.formulaLocale, agentSuggestions = props.agentSuggestions, onReviewSuggestion = props.onReviewSuggestion, onShowFormulas = props.onShowFormulas, getDataRowCount = props.getDataRowCount, getDataRegion = props.getDataRegion, 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, getSparklineGroup = props.getSparklineGroup, getUserEnteredExtendedValue = props.getUserEnteredExtendedValue, getEffectiveExtendedValue = props.getEffectiveExtendedValue, getSheetRowCount = props.getSheetRowCount, getSheetColumnCount = props.getSheetColumnCount, getCellPopoverContent = props.getCellPopoverContent, onScroll = props.onScroll, onViewPortChange = props.onViewPortChange, _45 = props.windowConditionalFormats, windowConditionalFormats = _45 === void 0 ? false : _45, _46 = props.engineConditionalFormatResults, engineConditionalFormatResults = _46 === void 0 ? false : _46, 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, onChangeAutoExpandTables = props.onChangeAutoExpandTables, onChangeAutoCalculatedColumns = props.onChangeAutoCalculatedColumns, 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, onCutChart = props.onCutChart, onCopyChart = props.onCopyChart, 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, batchHistory = props.batchHistory, onPaste = props.onPaste, onCopy = props.onCopy, onCut = props.onCut, onSortColumn = props.onSortColumn, onSortTable = props.onSortTable, onFilterTable = props.onFilterTable, onFilterPivot = props.onFilterPivot, onResizeTable = props.onResizeTable, onUndoTableAutoExpansion = props.onUndoTableAutoExpansion, onUndoCalculatedColumn = props.onUndoCalculatedColumn, onOverwriteCalculatedColumn = props.onOverwriteCalculatedColumn, onRequestEditTable = props.onRequestEditTable, onRequestEditPivotTable = props.onRequestEditPivotTable, onRequestDeletePivotTable = props.onRequestDeletePivotTable, onRequestCreatePivotChart = props.onRequestCreatePivotChart, onRemoveTable = props.onRemoveTable, onCreateTable = props.onCreateTable, onRequestCreateTable = props.onRequestCreateTable, onInsertTableColumn = props.onInsertTableColumn, onDeleteTableColumn = props.onDeleteTableColumn, onInsertTableRow = props.onInsertTableRow, onDeleteTableRow = props.onDeleteTableRow, onUpdateTable = props.onUpdateTable, onRequestResizeTable = props.onRequestResizeTable, onRequestInsertSlicer = props.onRequestInsertSlicer, 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, _47 = props.getRowHeaderText, getRowHeaderText = _47 === void 0 ? helpers_1.getDefaultRowHeader : _47, _48 = props.getColumnHeaderText, getColumnHeaderText = _48 === void 0 ? helpers_1.getDefaultColumnHeader : _48, getAdditionalCellSpacing = props.getAdditionalCellSpacing, _49 = props.tokenizer, defaultTokenizer = _49 === void 0 ? calculator_1.tokenize : _49, 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, _50 = props.StructuredResult, StructuredResult = _50 === void 0 ? cell_structured_1.StructuredResultRenderer : _50, getMentions = props.getMentions, getStructuredPropertiesProp = props.getStructuredProperties, getFunctionParameterSuggestions = props.getFunctionParameterSuggestions, shouldFetchFunctionParameters = props.shouldFetchFunctionParameters, MentionTagComponent = props.MentionTagComponent, MentionDropdownItemComponent = props.MentionDropdownItemComponent, _51 = props.showSelectionResizeHandles, showSelectionResizeHandles = _51 === void 0 ? true : _51, enableMagicFill = props.enableMagicFill, _52 = props.enableQuickEdit, enableQuickEdit = _52 === void 0 ? true : _52, 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, _53 = props.defaultFontSizePoint, defaultFontSizePoint = _53 === void 0 ? config_1.DEFAULT_FONT_SIZE_PT : _53, defaultCellFormat = props.defaultCellFormat, readonly = props.readonly, _54 = props.isComparing, isComparing = _54 === void 0 ? false : _54, getCellDiff = props.getCellDiff, enableDataBoundaryNavigation = props.enableDataBoundaryNavigation, footerHeight = props.footerHeight, footerComponent = props.footerComponent, arrowComponents = props.arrowComponents,
|
|
126
137
|
// Host-driven filter props. `hostHiddenRowRanges`
|
|
127
138
|
// supplies compact [start, end] hidden-row tuples; `getFilterValues` supplies a
|
|
128
139
|
// column's distinct values. Both let a million-row filter render without scanning
|
|
@@ -134,7 +145,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
134
145
|
// defaults to `getFormattedValue` inside `useGetValuesFromRange`.
|
|
135
146
|
getValidationSourceValue = props.getValidationSourceValue,
|
|
136
147
|
// Unused props only for api
|
|
137
|
-
getDataColumnCount = props.getDataColumnCount, onDeleteNamedRange = props.onDeleteNamedRange, 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", "sheetType", "ChartSheetView", "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", "onUpdateChart", "onChangeZOrder", "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", "getDataRegion", "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", "getSparklineGroup", "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", "onChangeAutoExpandTables", "onChangeAutoCalculatedColumns", "onInsertCellsShiftDown", "onInsertCellsShiftRight", "onDeleteCellsShiftLeft", "onDeleteCellsShiftUp", "onClearContents", "onMoveColumns", "onMoveRows", "onSelectNextSheet", "onSelectPreviousSheet", "onCreateNewSheet", "onKeyDown", "onChangeFormatting", "onRepeatFormatting", "onClearFormatting", "onRequestEditProtectedRange", "onMoveChart", "onResizeChart", "onDeleteChart", "onCutChart", "onCopyChart", "onMoveEmbed", "onResizeEmbed", "onDeleteEmbed", "onRequestEditEmbed", "onMoveSlicer", "onResizeSlicer", "onDeleteSlicer", "onRequestEditSlicer", "onFillRange", "disableFillRightShortcut", "keymap", "onCalculateNow", "onRequestGoTo", "onMoveSelection", "onInsertCutCells", "onInsertTime", "onInsertDate", "onInsertDateTime", "onInsertAutoSum", "onUndo", "onRedo", "onPaste", "onCopy", "onCut", "onSortColumn", "onSortTable", "onFilterTable", "onFilterPivot", "onResizeTable", "onUndoTableAutoExpansion", "onUndoCalculatedColumn", "onOverwriteCalculatedColumn", "onRequestEditTable", "onRequestEditPivotTable", "onRequestDeletePivotTable", "onRequestCreatePivotChart", "onRemoveTable", "onCreateTable", "onRequestCreateTable", "onInsertTableColumn", "onDeleteTableColumn", "onInsertTableRow", "onDeleteTableRow", "onUpdateTable", "onRequestResizeTable", "onRequestInsertSlicer", "onCreateBasicFilter", "onRequestDefineNamedRange", "onRequestFormatCells", "onRequestConditionalFormat", "onRequestDataValidation", "onRequestInsertComment", "onRequestInsertLink", "onFreezeColumn", "onFreezeRow", "onUpdateNote", "onProtectRange", "onUnProtectRange", "onSortRange", "onRequestSearch", "onRequestReplace", "onRequestResize", "getRowHeaderText", "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", "defaultCellFormat", "readonly", "isComparing", "getCellDiff", "enableDataBoundaryNavigation", "footerHeight", "footerComponent", "arrowComponents", "hostHiddenRowRanges", "getFilterValues", "getFilterColors", "getValidationSourceValue", "getDataColumnCount", "onDeleteNamedRange", "onChangeBorder", "onDuplicateSheet", "onCreateConditionalFormattingRule", "onDeleteConditionalFormattingRule", "onUpdateConditionalFormattingRule", "onCreateDataValidationRule", "onUpdateDataValidationRule", "onDeleteDataValidationRule", "onCreateChart", "onDeleteSheet", "onCreateEmbed", "onDecreaseIndent", "onIncreaseIndent", "onChangeTheme", "onChangeDecimals", "onUpdateSheet", "onChangeBatchStream", "onBlur"]);
|
|
148
|
+
getDataColumnCount = props.getDataColumnCount, onDeleteNamedRange = props.onDeleteNamedRange, 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", "sheetType", "ChartSheetView", "instanceId", "activeCell", "selections", "frozenColumnCount", "frozenRowCount", "rowCount", "columnCount", "autoFocus", "basicFilter", "tables", "namedRanges", "bandedRanges", "tableBorderColor", "filterIconColor", "conditionalFormats", "showFilterIcon", "showCalculatedColumnIcon", "showHeaders", "defaultColumnWidth", "defaultRowHeight", "lineHeightMode", "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", "onUpdateChart", "onChangeZOrder", "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", "getDataRegion", "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", "getSparklineGroup", "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", "onChangeAutoExpandTables", "onChangeAutoCalculatedColumns", "onInsertCellsShiftDown", "onInsertCellsShiftRight", "onDeleteCellsShiftLeft", "onDeleteCellsShiftUp", "onClearContents", "onMoveColumns", "onMoveRows", "onSelectNextSheet", "onSelectPreviousSheet", "onCreateNewSheet", "onKeyDown", "onChangeFormatting", "onRepeatFormatting", "onClearFormatting", "onRequestEditProtectedRange", "onMoveChart", "onResizeChart", "onDeleteChart", "onCutChart", "onCopyChart", "onMoveEmbed", "onResizeEmbed", "onDeleteEmbed", "onRequestEditEmbed", "onMoveSlicer", "onResizeSlicer", "onDeleteSlicer", "onRequestEditSlicer", "onFillRange", "disableFillRightShortcut", "keymap", "onCalculateNow", "onRequestGoTo", "onMoveSelection", "onInsertCutCells", "onInsertTime", "onInsertDate", "onInsertDateTime", "onInsertAutoSum", "onUndo", "onRedo", "batchHistory", "onPaste", "onCopy", "onCut", "onSortColumn", "onSortTable", "onFilterTable", "onFilterPivot", "onResizeTable", "onUndoTableAutoExpansion", "onUndoCalculatedColumn", "onOverwriteCalculatedColumn", "onRequestEditTable", "onRequestEditPivotTable", "onRequestDeletePivotTable", "onRequestCreatePivotChart", "onRemoveTable", "onCreateTable", "onRequestCreateTable", "onInsertTableColumn", "onDeleteTableColumn", "onInsertTableRow", "onDeleteTableRow", "onUpdateTable", "onRequestResizeTable", "onRequestInsertSlicer", "onCreateBasicFilter", "onRequestDefineNamedRange", "onRequestFormatCells", "onRequestConditionalFormat", "onRequestDataValidation", "onRequestInsertComment", "onRequestInsertLink", "onFreezeColumn", "onFreezeRow", "onUpdateNote", "onProtectRange", "onUnProtectRange", "onSortRange", "onRequestSearch", "onRequestReplace", "onRequestResize", "getRowHeaderText", "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", "defaultCellFormat", "readonly", "isComparing", "getCellDiff", "enableDataBoundaryNavigation", "footerHeight", "footerComponent", "arrowComponents", "hostHiddenRowRanges", "getFilterValues", "getFilterColors", "getValidationSourceValue", "getDataColumnCount", "onDeleteNamedRange", "onChangeBorder", "onDuplicateSheet", "onCreateConditionalFormattingRule", "onDeleteConditionalFormattingRule", "onUpdateConditionalFormattingRule", "onCreateDataValidationRule", "onUpdateDataValidationRule", "onDeleteDataValidationRule", "onCreateChart", "onDeleteSheet", "onCreateEmbed", "onDecreaseIndent", "onIncreaseIndent", "onChangeTheme", "onChangeDecimals", "onUpdateSheet", "onChangeBatchStream", "onBlur"]);
|
|
138
149
|
/**
|
|
139
150
|
* Fire onBlur only when the cell editor blurs to an element outside the
|
|
140
151
|
* spreadsheet. Routed through `useEditable` so we hook the always-focused
|
|
@@ -150,7 +161,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
150
161
|
var showGridLines = _showGridLines !== null && _showGridLines !== void 0 ? _showGridLines : true;
|
|
151
162
|
var gridRef = (0, react_1.useRef)(null);
|
|
152
163
|
// Hovered cell state (immediate, updated on mousemove)
|
|
153
|
-
var
|
|
164
|
+
var _55 = tslib_1.__read((0, react_1.useState)(), 2), hoveredCell = _55[0], setHoveredCell = _55[1];
|
|
154
165
|
// Delayed hovered cell for tooltips and selection titles
|
|
155
166
|
var delayedHoveredCell = (0, use_delayed_value_1.useDelayedValue)(hoveredCell, tooltipIntentInterval);
|
|
156
167
|
// Text overflow functionality
|
|
@@ -242,17 +253,17 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
242
253
|
// Cell editor
|
|
243
254
|
var cellEditorInstance = (0, formula_bar_editor_value_atom_1.useCellEditorInstance)();
|
|
244
255
|
// Paste menu
|
|
245
|
-
var
|
|
256
|
+
var _56 = tslib_1.__read((0, atoms_1.useShowPasteMenu)(), 2), showPasteMenu = _56[0], setShowPasteMenu = _56[1];
|
|
246
257
|
// Auto Fill Options smart tag / right-drag fill menu + Series dialog
|
|
247
|
-
var
|
|
248
|
-
var
|
|
249
|
-
var
|
|
250
|
-
var
|
|
258
|
+
var _57 = tslib_1.__read((0, atoms_1.useFillOptionsState)(), 2), fillOptions = _57[0], setFillOptions = _57[1];
|
|
259
|
+
var _58 = tslib_1.__read((0, atoms_1.useInsertOptionsState)(), 2), insertOptions = _58[0], setInsertOptions = _58[1];
|
|
260
|
+
var _59 = tslib_1.__read((0, atoms_1.useTableAutoExpansionState)(), 2), tableAutoExpansion = _59[0], setTableAutoExpansion = _59[1];
|
|
261
|
+
var _60 = tslib_1.__read((0, atoms_1.useCalculatedColumnFillState)(), 2), calculatedColumnFill = _60[0], setCalculatedColumnFill = _60[1];
|
|
251
262
|
var openFillSeriesDialog = (0, atoms_1.useOpenFillSeriesDialog)();
|
|
252
263
|
// Shared state
|
|
253
264
|
var formulaMode = (0, atoms_1.useFormulaModeValue)();
|
|
254
265
|
var formulaSelections = (0, formula_selections_atom_1.useFormulaSelections)();
|
|
255
|
-
var
|
|
266
|
+
var _61 = tslib_1.__read((0, editing_cell_atom_1.useEditingCell)(), 2), editingCellCoordinate = _61[0], setEditingCellCoordinate = _61[1];
|
|
256
267
|
var setFormulabarEditorValue = (0, formula_bar_editor_value_atom_1.useSetFormulabarEditorValue)();
|
|
257
268
|
/**
|
|
258
269
|
* The formula SYNTAX the editor / formula bar speak (rowsncolumns/spreadsheet#655): Excel follows
|
|
@@ -270,7 +281,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
270
281
|
var setFormulaState = (0, formula_selection_state_atom_1.useSetFormulaSelectionState)();
|
|
271
282
|
var activeEditor = (0, active_editor_atom_1.useActiveEditor)();
|
|
272
283
|
// Magic fill state
|
|
273
|
-
var
|
|
284
|
+
var _62 = tslib_1.__read((0, magic_fill_state_atom_1.useQuickEditState)(), 2), quickEditValues = _62[0], setQuickEditState = _62[1];
|
|
274
285
|
var setNoteEditorCell = (0, atoms_1.useSetNoteEditorCell)();
|
|
275
286
|
var setPinnedTooltip = (0, atoms_1.useSetPinnedTooltip)();
|
|
276
287
|
var setSpreadsheetApi = (0, spreadsheet_api_atom_1.useSetSpreadsheetApi)();
|
|
@@ -281,7 +292,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
281
292
|
var instanceStore = (0, jotai_1.useStore)({ store: spreadsheet_provider_1.multiInstanceStore });
|
|
282
293
|
// To access closures
|
|
283
294
|
var hoveredCellRef = (0, use_stable_ref_1.useStableRef)(hoveredCell);
|
|
284
|
-
var
|
|
295
|
+
var _63 = tslib_1.__read((0, use_resize_observer_1.useResizeObserver)(), 2), gridContainerRef = _63[0], _64 = _63[1], width = _64.width, height = _64.height;
|
|
285
296
|
var defaultFrozenDims = showHeaders ? 1 : 0;
|
|
286
297
|
var frozenRows = Math.max(defaultFrozenDims, (frozenRowCount !== null && frozenRowCount !== void 0 ? frozenRowCount : 0) + defaultFrozenDims);
|
|
287
298
|
var frozenColumns = Math.max(defaultFrozenDims, (frozenColumnCount !== null && frozenColumnCount !== void 0 ? frozenColumnCount : 0) + defaultFrozenDims);
|
|
@@ -293,9 +304,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
293
304
|
var sheetRowCount = Math.min(config_1.MAX_ROW_COUNT + 1, rowCount + 1);
|
|
294
305
|
var sheetColumnCount = Math.min(config_1.MAX_COLUMN_COUNT + 1, columnCount + 1);
|
|
295
306
|
// License key validator
|
|
296
|
-
var
|
|
307
|
+
var _65 = tslib_1.__read((0, use_licensekey_validator_1.useLicenseKeyValidator)({
|
|
297
308
|
licenseKey: licenseKey,
|
|
298
|
-
}), 3), _ =
|
|
309
|
+
}), 3), _ = _65[0], licenseType = _65[1], validatorResult = _65[2];
|
|
299
310
|
var isRestricted = licenseType === "solo";
|
|
300
311
|
// Grid line width
|
|
301
312
|
var gridLineWidth = 1 * scale;
|
|
@@ -817,10 +828,20 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
817
828
|
!gridContainer.contains(activeElement)) {
|
|
818
829
|
return;
|
|
819
830
|
}
|
|
820
|
-
|
|
831
|
+
// An editor whose DOM is gone cannot be the one holding focus: a host that unmounted an
|
|
832
|
+
// input without a blur (Chromium fires none for a removed focused element) can leave a
|
|
833
|
+
// stale `activeEditor` behind, and honouring it would lock the grid out of keyboard input
|
|
834
|
+
// (rowsncolumns/spreadsheet#1131).
|
|
835
|
+
if (!activeEditor ||
|
|
836
|
+
activeEditor === cellEditorInstance ||
|
|
837
|
+
isDetachedEditor(activeEditor)) {
|
|
821
838
|
cellEditorInstance === null || cellEditorInstance === void 0 ? void 0 : cellEditorInstance.focus();
|
|
822
839
|
}
|
|
823
840
|
}, [activeEditor, cellEditorInstance]);
|
|
841
|
+
/**
|
|
842
|
+
* Container and total size of the grid, as the grid measures them
|
|
843
|
+
*/
|
|
844
|
+
var getGridDimensions = (0, react_1.useCallback)(function () { var _a; return (_a = gridRef.current) === null || _a === void 0 ? void 0 : _a.getDimensions(); }, []);
|
|
824
845
|
/**
|
|
825
846
|
* Canvas layers
|
|
826
847
|
*/
|
|
@@ -1148,11 +1169,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1148
1169
|
* Touch support
|
|
1149
1170
|
* Mainly for scrolling
|
|
1150
1171
|
*/
|
|
1151
|
-
var
|
|
1172
|
+
var _66 = (0, use_touch_1.useTouch)({
|
|
1152
1173
|
scrollTo: scrollTo,
|
|
1153
1174
|
scale: scale,
|
|
1154
1175
|
onChangeScale: onChangeScale,
|
|
1155
|
-
}), onTouchStart =
|
|
1176
|
+
}), onTouchStart = _66.onTouchStart, onDimensionsChange = _66.onDimensionsChange, scrollToTouchDevice = _66.scrollToTouchDevice, onAfterScrollToCell = _66.onAfterScrollToCell;
|
|
1156
1177
|
/**
|
|
1157
1178
|
* Conditional-formatting evaluation window: the padded, tile-quantized
|
|
1158
1179
|
* viewport. The raw viewport lives in a ref (no render per scroll frame);
|
|
@@ -1160,7 +1181,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1160
1181
|
* `startTransition` so the CF recompute is low-priority and interruptible —
|
|
1161
1182
|
* scrolling never blocks on it.
|
|
1162
1183
|
*/
|
|
1163
|
-
var
|
|
1184
|
+
var _67 = tslib_1.__read((0, react_1.useState)(cf_window_1.CF_INITIAL_WINDOW), 2), cfWindow = _67[0], setCfWindow = _67[1];
|
|
1164
1185
|
var cfWindowRef = (0, react_1.useRef)(null);
|
|
1165
1186
|
var handleViewPortChange = (0, react_1.useCallback)(function (viewport) {
|
|
1166
1187
|
onViewPortChange === null || onViewPortChange === void 0 ? void 0 : onViewPortChange(viewport);
|
|
@@ -1427,14 +1448,14 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1427
1448
|
: localeTokenizerBase,
|
|
1428
1449
|
});
|
|
1429
1450
|
// Helper function to convert a selection to readable selection address
|
|
1430
|
-
var
|
|
1451
|
+
var _68 = tslib_1.__read((0, use_create_address_from_selection_1.useCreateAddressFromSelection)({
|
|
1431
1452
|
sheetId: sheetId,
|
|
1432
1453
|
rowCount: rowCount,
|
|
1433
1454
|
columnCount: columnCount,
|
|
1434
1455
|
tables: tables !== null && tables !== void 0 ? tables : undefined,
|
|
1435
1456
|
namedRanges: namedRanges !== null && namedRanges !== void 0 ? namedRanges : undefined,
|
|
1436
1457
|
merges: merges,
|
|
1437
|
-
}), 2), getAddressFromSelection =
|
|
1458
|
+
}), 2), getAddressFromSelection = _68[0], getR1C1AddressFromSelection = _68[1];
|
|
1438
1459
|
/**
|
|
1439
1460
|
* Exports a data region as image
|
|
1440
1461
|
*/
|
|
@@ -1442,19 +1463,19 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1442
1463
|
sheetId: sheetId,
|
|
1443
1464
|
cellBackgroundColor: cellBackgroundColor,
|
|
1444
1465
|
gridLineWidth: gridLineWidth,
|
|
1466
|
+
frozenRows: frozenRows,
|
|
1467
|
+
frozenColumns: frozenColumns,
|
|
1445
1468
|
getCanvasLayers: getCanvasLayers,
|
|
1446
1469
|
getRowHeaderCanvasLayer: getRowHeaderCanvasLayer,
|
|
1447
1470
|
getColumnHeaderCanvasLayer: getColumnHeaderCanvasLayer,
|
|
1448
|
-
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
1449
1471
|
getR1C1AddressFromSelection: getR1C1AddressFromSelection,
|
|
1450
1472
|
getSheetName: getSheetName,
|
|
1451
1473
|
getScrollPosition: getScrollPosition,
|
|
1452
|
-
getViewPort: getViewPort,
|
|
1453
1474
|
getRowOffset: getRowOffset,
|
|
1454
1475
|
getColumnOffset: getColumnOffset,
|
|
1455
1476
|
getSheetDimensions: getSheetDimensions,
|
|
1477
|
+
getGridDimensions: getGridDimensions,
|
|
1456
1478
|
scrollTo: scrollTo,
|
|
1457
|
-
scrollToCell: scrollToCell,
|
|
1458
1479
|
scale: scale,
|
|
1459
1480
|
onChangeScale: onChangeScale,
|
|
1460
1481
|
});
|
|
@@ -1480,7 +1501,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1480
1501
|
* Get user entered value from a range
|
|
1481
1502
|
* of cells
|
|
1482
1503
|
*/
|
|
1483
|
-
var
|
|
1504
|
+
var _69 = tslib_1.__read((0, use_get_values_from_range_1.useGetValuesFromRange)({
|
|
1484
1505
|
sheetId: sheetId,
|
|
1485
1506
|
getSelectionsFromFormula: getSelectionsFromFormula,
|
|
1486
1507
|
getFormattedValue: getFormattedValue,
|
|
@@ -1488,7 +1509,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1488
1509
|
getSheetId: getSheetId,
|
|
1489
1510
|
onRequestCalculate: onRequestCalculate,
|
|
1490
1511
|
getValidationSourceValue: getValidationSourceValue,
|
|
1491
|
-
}), 3), getFormattedValuesFromAddress =
|
|
1512
|
+
}), 3), getFormattedValuesFromAddress = _69[0], getEffectiveValuesFromRange = _69[1], getFormattedValuesFromAddressAsync = _69[2];
|
|
1492
1513
|
/**
|
|
1493
1514
|
* Get all formatted values from range as a single 1d array
|
|
1494
1515
|
*/
|
|
@@ -1819,7 +1840,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1819
1840
|
* O(n)
|
|
1820
1841
|
* Reduces Space Complexity by using `all`
|
|
1821
1842
|
*/
|
|
1822
|
-
var
|
|
1843
|
+
var _70 = tslib_1.__read((0, use_selected_rows_columns_1.useSelectedRowsColumns)({
|
|
1823
1844
|
activeCell: activeCell,
|
|
1824
1845
|
selections: selections,
|
|
1825
1846
|
selectionLeftBound: selectionLeftBound,
|
|
@@ -1827,7 +1848,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1827
1848
|
rowCount: rowCount,
|
|
1828
1849
|
columnCount: columnCount,
|
|
1829
1850
|
getCellBounds: getCellBounds,
|
|
1830
|
-
}), 6), selectedRows =
|
|
1851
|
+
}), 6), selectedRows = _70[0], selectedColumns = _70[1], selectedRowHeaders = _70[2], selectedColumnHeaders = _70[3], selectedRowHeadersIds = _70[4], selectedColumnHeadersIds = _70[5];
|
|
1831
1852
|
// Named ranges for editor dropdown
|
|
1832
1853
|
var getNamedRanges = (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function () {
|
|
1833
1854
|
return namedRanges === null || namedRanges === void 0 ? void 0 : namedRanges.map(function (range) { return ({
|
|
@@ -1897,7 +1918,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1897
1918
|
* user can select entire column or row when selecting
|
|
1898
1919
|
* header cells
|
|
1899
1920
|
*/
|
|
1900
|
-
var
|
|
1921
|
+
var _71 = (0, use_selection_interceptors_1.useSelectionInterceptors)({
|
|
1901
1922
|
sheetId: sheetId,
|
|
1902
1923
|
rowCount: rowCount,
|
|
1903
1924
|
columnCount: columnCount,
|
|
@@ -1913,7 +1934,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1913
1934
|
onChangeActiveCell: onChangeActiveCell,
|
|
1914
1935
|
scrollToCell: scrollToCell,
|
|
1915
1936
|
isMergedCell: isMergedCell,
|
|
1916
|
-
}), onMouseDownInterceptor =
|
|
1937
|
+
}), onMouseDownInterceptor = _71.onMouseDownInterceptor, onMouseMoveInterceptor = _71.onMouseMoveInterceptor;
|
|
1917
1938
|
/**
|
|
1918
1939
|
* When user selections full rows
|
|
1919
1940
|
* or columns, we have to ignore
|
|
@@ -2003,7 +2024,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2003
2024
|
* Enables auto resizing
|
|
2004
2025
|
* rows and columns
|
|
2005
2026
|
*/
|
|
2006
|
-
var
|
|
2027
|
+
var _72 = (0, use_sizer_1.useSizer)({
|
|
2007
2028
|
frozenRows: frozenRows,
|
|
2008
2029
|
frozenColumns: frozenColumns,
|
|
2009
2030
|
scale: scale,
|
|
@@ -2027,8 +2048,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2027
2048
|
// Measure with the same font the painter draws with (#1117).
|
|
2028
2049
|
fontFamily: defaultFontFamily,
|
|
2029
2050
|
fontSize: defaultFontSize,
|
|
2051
|
+
lineHeightMode: lineHeightMode,
|
|
2030
2052
|
resizeStrategy: "full",
|
|
2031
|
-
}), getColumnWidth =
|
|
2053
|
+
}), getColumnWidth = _72.getColumnWidth, getRowHeight = _72.getRowHeight, getCellDimensions = _72.getCellDimensions, getCellDimensionsStable = _72.getCellDimensionsStable, getTextDimension = _72.getTextDimension;
|
|
2032
2054
|
/**
|
|
2033
2055
|
* Called when user tries to
|
|
2034
2056
|
* autofit a column or row
|
|
@@ -2107,7 +2129,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2107
2129
|
/**
|
|
2108
2130
|
* Popover cell
|
|
2109
2131
|
*/
|
|
2110
|
-
var
|
|
2132
|
+
var _73 = (0, use_cell_popover_1.useCellPopover)({
|
|
2111
2133
|
sheetId: sheetId,
|
|
2112
2134
|
getCellPopoverContent: getCellPopoverContent !== null && getCellPopoverContent !== void 0 ? getCellPopoverContent : getFormattedValue,
|
|
2113
2135
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
@@ -2115,7 +2137,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2115
2137
|
isFrozenColumn: isFrozenColumn,
|
|
2116
2138
|
isFrozenRow: isFrozenRow,
|
|
2117
2139
|
onChangeActiveSheet: onChangeActiveSheet,
|
|
2118
|
-
}), popoverComponent =
|
|
2140
|
+
}), popoverComponent = _73.popoverComponent, popoverRange = _73.popoverRange, showCellPopover = _73.showCellPopover, hideCellPopover = _73.hideCellPopover;
|
|
2119
2141
|
/**
|
|
2120
2142
|
* Get tooltip component of a cell
|
|
2121
2143
|
* Only error, invalid values are
|
|
@@ -2542,7 +2564,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2542
2564
|
/**
|
|
2543
2565
|
* Handle grid selections
|
|
2544
2566
|
*/
|
|
2545
|
-
var
|
|
2567
|
+
var _74 = (0, use_selection_1.useSelection)({
|
|
2546
2568
|
sheetId: sheetId,
|
|
2547
2569
|
getDataRowCount: getDataRowCount,
|
|
2548
2570
|
getDataRegion: getDataRegion,
|
|
@@ -2570,10 +2592,12 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2570
2592
|
focus: focusSheet,
|
|
2571
2593
|
scrollToCell: scrollToCell,
|
|
2572
2594
|
isMergedCell: isMergedCell,
|
|
2573
|
-
|
|
2595
|
+
// A readonly grid gets no write handler: a fill-handle drag or a
|
|
2596
|
+
// selection drag-move then changes nothing, whatever started the gesture.
|
|
2597
|
+
onFill: readonly ? undefined : onFill,
|
|
2574
2598
|
onFillHandleRelease: handleFillHandleRelease,
|
|
2575
|
-
onFillShrink: handleFillShrink,
|
|
2576
|
-
onMoveSelection: onMoveSelection,
|
|
2599
|
+
onFillShrink: readonly ? undefined : handleFillShrink,
|
|
2600
|
+
onMoveSelection: readonly ? undefined : onMoveSelection,
|
|
2577
2601
|
onInsertCutCells: onInsertCutCells,
|
|
2578
2602
|
confirmMoveOverwrite: confirmMoveOverwrite,
|
|
2579
2603
|
isHiddenColumn: isHiddenColumn,
|
|
@@ -2584,19 +2608,20 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2584
2608
|
dataRegionBoundaries: dataRegionBoundaries,
|
|
2585
2609
|
tables: tables,
|
|
2586
2610
|
onInsertTableRow: onInsertTableRow,
|
|
2587
|
-
}), onMouseDownSelection =
|
|
2611
|
+
}), onMouseDownSelection = _74.onMouseDown, onPointerDownSelection = _74.onPointerDown, onKeyDownSelection = _74.onKeyDown, fillSelection = _74.fillSelection, fillShrink = _74.fillShrink, onFillHandleMouseDown = _74.onFillHandleMouseDown, onFillHandleDoubleClick = _74.onFillHandleDoubleClick, isDragging = _74.isDragging, isFilling = _74.isFilling, isSelectionInProgress = _74.isSelectionInProgress, draggedSelection = _74.draggedSelection, onSelectionMouseDown = _74.onSelectionMouseDown, setActiveCell = _74.setActiveCell, initialDraggedSelection = _74.initialDraggedSelection, updateSelectionStartEndReference = _74.updateSelectionStartEndReference, selectColumn = _74.selectColumn, getContentfulGridRangeAroundCell = _74.getContentfulGridRangeAroundCell, newSelection = _74.newSelection, modifySelection = _74.modifySelection, clearSelections = _74.clearSelections;
|
|
2588
2612
|
/**
|
|
2589
2613
|
* Copy, Paste and Cut hook
|
|
2590
2614
|
*/
|
|
2591
|
-
var
|
|
2615
|
+
var _75 = (0, use_copy_paste_cut_1.useCopyPasteCut)({
|
|
2592
2616
|
activeCell: activeCell,
|
|
2593
2617
|
selections: selections,
|
|
2594
2618
|
sheetId: sheetId,
|
|
2619
|
+
readonly: readonly,
|
|
2595
2620
|
focusSheet: focusSheet,
|
|
2596
2621
|
onPaste: onPaste,
|
|
2597
2622
|
onCopy: onCopy,
|
|
2598
2623
|
onCut: onCut,
|
|
2599
|
-
}), copiedSelections =
|
|
2624
|
+
}), copiedSelections = _75.copiedSelections, isCutPending = _75.isCutPending, copiedSheetId = _75.copiedSheetId, cancelCut = _75.cancelCut, clearCopiedSelections = _75.clearCopiedSelections, copy = _75.copy, cut = _75.cut, paste = _75.paste, onInternalCopy = _75.onInternalCopy, onInternalCut = _75.onInternalCut, onInternalPaste = _75.onInternalPaste;
|
|
2600
2625
|
/**
|
|
2601
2626
|
* Ctrl+C / Ctrl+X / Ctrl+V / Ctrl+D on a selected chart. The focused chart is
|
|
2602
2627
|
* the target of those events (see `EmbedDraggable`); a paste that lands in the
|
|
@@ -2839,6 +2864,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2839
2864
|
showValidationAlert: showValidationAlert,
|
|
2840
2865
|
selections: selections,
|
|
2841
2866
|
onChangeBatch: onChangeBatch,
|
|
2867
|
+
batchHistory: batchHistory,
|
|
2842
2868
|
formulaLocale: formulaLocale,
|
|
2843
2869
|
});
|
|
2844
2870
|
/**
|
|
@@ -2936,7 +2962,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2936
2962
|
onChangeSelections === null || onChangeSelections === void 0 ? void 0 : onChangeSelections(targetSheetId, [{ range: range }]);
|
|
2937
2963
|
}, [setActiveCell, onChangeSelections]);
|
|
2938
2964
|
// Excel's table hit zones (header top edge / corner / row left edge).
|
|
2939
|
-
var
|
|
2965
|
+
var _76 = (0, use_table_hit_zones_1.useTableHitZones)({
|
|
2940
2966
|
sheetId: sheetId,
|
|
2941
2967
|
tables: activeTables,
|
|
2942
2968
|
selections: selections,
|
|
@@ -2947,7 +2973,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2947
2973
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
2948
2974
|
getScrollPosition: getScrollPosition,
|
|
2949
2975
|
onSelectRange: selectRangeFromMenu,
|
|
2950
|
-
}), tableHitCursor =
|
|
2976
|
+
}), tableHitCursor = _76.cursor, onMouseMoveTableHitZones = _76.onMouseMove, onMouseDownTableHitZones = _76.onMouseDown, clearTableHitZone = _76.clearHitZone;
|
|
2951
2977
|
/**
|
|
2952
2978
|
* Get context Menu component
|
|
2953
2979
|
*/
|
|
@@ -3049,7 +3075,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3049
3075
|
* Displays Context menu when user right clicks
|
|
3050
3076
|
* the grid
|
|
3051
3077
|
*/
|
|
3052
|
-
var
|
|
3078
|
+
var _77 = (0, use_context_menu_1.useContextMenu)({
|
|
3053
3079
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
3054
3080
|
getRelativePositionFromOffset: getRelativePositionFromOffset,
|
|
3055
3081
|
isRowHeader: isRowHeader,
|
|
@@ -3058,7 +3084,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3058
3084
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
3059
3085
|
getScrollPosition: getScrollPosition,
|
|
3060
3086
|
ContextMenuWrapper: ContextMenuWrapper,
|
|
3061
|
-
}), onContextMenu =
|
|
3087
|
+
}), onContextMenu = _77.onContextMenu, contextMenuComponent = _77.contextMenuComponent, onRequestCloseContextMenu = _77.onRequestClose, showContextMenu = _77.showContextMenu;
|
|
3062
3088
|
/**
|
|
3063
3089
|
* Shortcut handlers for formatting
|
|
3064
3090
|
* TODO: Decide on the output
|
|
@@ -3139,7 +3165,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3139
3165
|
/**
|
|
3140
3166
|
* Allow grid to be ediable
|
|
3141
3167
|
*/
|
|
3142
|
-
var
|
|
3168
|
+
var _78 = (0, use_editable_1.useEditable)({
|
|
3143
3169
|
sheetId: sheetId,
|
|
3144
3170
|
enableEditOnEnterKey: enableEditOnEnterKey,
|
|
3145
3171
|
canEdit: canEditCell,
|
|
@@ -3190,11 +3216,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3190
3216
|
onCut: handleEditorCut,
|
|
3191
3217
|
tables: tables,
|
|
3192
3218
|
onInsertTableRow: onInsertTableRow,
|
|
3193
|
-
}), onMouseDownEditable =
|
|
3219
|
+
}), onMouseDownEditable = _78.onMouseDown, onDoubleClickEditable = _78.onDoubleClick, editorComponent = _78.editorComponent, isEditInProgress = _78.isEditInProgress, makeEditable = _78.makeEditable, editCell = _78.editCell, setEditorValue = _78.setEditorValue, hideEditor = _78.hideEditor, getNextFocusableCell = _78.getNextFocusableCell, submitEditor = _78.submitEditor, cancelEditor = _78.cancelEditor, commit = _78.commit;
|
|
3194
3220
|
/**
|
|
3195
3221
|
* Move rows and columns
|
|
3196
3222
|
*/
|
|
3197
|
-
var
|
|
3223
|
+
var _79 = (0, use_move_columns_rows_1.useMoveColumnsAndRows)({
|
|
3198
3224
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
3199
3225
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
3200
3226
|
getRelativePositionFromOffset: getRelativePositionFromOffset,
|
|
@@ -3217,11 +3243,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3217
3243
|
sheetId: sheetId,
|
|
3218
3244
|
disabled: isRestricted,
|
|
3219
3245
|
HeaderMoveDragComponent: HeaderMoveDragComponent,
|
|
3220
|
-
}), draggableColumns =
|
|
3246
|
+
}), draggableColumns = _79.draggableColumns, draggableRows = _79.draggableRows, isDraggingRowsAndColumns = _79.isDragging;
|
|
3221
3247
|
/**
|
|
3222
3248
|
* Header actions
|
|
3223
3249
|
*/
|
|
3224
|
-
var
|
|
3250
|
+
var _80 = (0, use_header_actions_1.useHeaderActions)({
|
|
3225
3251
|
activeCell: isSelectionInProgress || isFilling || isDragging ? null : hoveredCell,
|
|
3226
3252
|
getScrollPosition: getScrollPosition,
|
|
3227
3253
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
@@ -3235,20 +3261,21 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3235
3261
|
selectionTopBound: selectionTopBound,
|
|
3236
3262
|
showHeaderMenuButton: showHeaderMenuButton,
|
|
3237
3263
|
scale: scale,
|
|
3238
|
-
|
|
3264
|
+
// Column widths and row heights are sheet writes too
|
|
3265
|
+
onResize: readonly ? undefined : onResize,
|
|
3239
3266
|
focusSheet: focusSheet,
|
|
3240
3267
|
isRowHeader: isRowHeader,
|
|
3241
3268
|
isColumnHeader: isColumnHeader,
|
|
3242
3269
|
isHiddenColumn: isHiddenColumn,
|
|
3243
3270
|
containerWidth: width - scrollbarSize,
|
|
3244
3271
|
containerHeight: height - scrollbarSize,
|
|
3245
|
-
onAutoFit: handleAutoFit,
|
|
3272
|
+
onAutoFit: readonly ? undefined : handleAutoFit,
|
|
3246
3273
|
backgroundColor: selectionBorderColor,
|
|
3247
3274
|
sheetId: sheetId,
|
|
3248
3275
|
selectedRowHeadersIds: selectedRowHeadersIds,
|
|
3249
3276
|
selectedColumnHeadersIds: selectedColumnHeadersIds,
|
|
3250
3277
|
enableResizerOverflow: enableResizerOverflow,
|
|
3251
|
-
}), headerMenuComponent =
|
|
3278
|
+
}), headerMenuComponent = _80.headerMenuComponent, isHeaderMenuInFrozenColumn = _80.isHeaderMenuInFrozenColumn, headerResizer = _80.headerResizer, isDraggingHeader = _80.isDragging;
|
|
3252
3279
|
/**
|
|
3253
3280
|
* Close tooltip
|
|
3254
3281
|
*/
|
|
@@ -3290,7 +3317,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3290
3317
|
/**
|
|
3291
3318
|
* Show basicFilter panels
|
|
3292
3319
|
*/
|
|
3293
|
-
var
|
|
3320
|
+
var _81 = (0, use_filter_1.useFilter)({
|
|
3294
3321
|
sheetId: sheetId,
|
|
3295
3322
|
scale: scale,
|
|
3296
3323
|
theme: theme,
|
|
@@ -3315,9 +3342,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3315
3342
|
// Live filter state so the open popup tracks Auto-apply spec changes.
|
|
3316
3343
|
basicFilter: basicFilter,
|
|
3317
3344
|
tables: activeTables,
|
|
3318
|
-
}), showFilter =
|
|
3345
|
+
}), showFilter = _81.showFilter, hideFilter = _81.hideFilter, filterComponent = _81.filterComponent;
|
|
3319
3346
|
// Table resize
|
|
3320
|
-
var
|
|
3347
|
+
var _82 = (0, use_table_resizer_1.useTableResizer)({
|
|
3321
3348
|
sheetId: sheetId,
|
|
3322
3349
|
tables: tables !== null && tables !== void 0 ? tables : undefined,
|
|
3323
3350
|
theme: theme,
|
|
@@ -3328,11 +3355,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3328
3355
|
scrollToCell: scrollToCell,
|
|
3329
3356
|
onResizeTable: onResizeTable,
|
|
3330
3357
|
focusSheet: focusSheet,
|
|
3331
|
-
}), tableResizers =
|
|
3358
|
+
}), tableResizers = _82.tableResizers, isResizingTable = _82.isResizingTable;
|
|
3332
3359
|
/**
|
|
3333
3360
|
* Displays resizable/draggable charts
|
|
3334
3361
|
*/
|
|
3335
|
-
var
|
|
3362
|
+
var _83 = (0, use_embeds_charts_1.useEmbedsCharts)({
|
|
3336
3363
|
charts: charts,
|
|
3337
3364
|
embeds: embeds,
|
|
3338
3365
|
slicers: slicers,
|
|
@@ -3376,7 +3403,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3376
3403
|
backgroundColor: cellBackgroundColor,
|
|
3377
3404
|
disabled: isRestricted,
|
|
3378
3405
|
readonly: readonly,
|
|
3379
|
-
}), chartComponents =
|
|
3406
|
+
}), chartComponents = _83.chartComponents, embedComponents = _83.embedComponents, slicerComponents = _83.slicerComponents, embedContextMenuComponent = _83.contextMenuComponent, onMouseDownCharts = _83.onMouseDown, requestChartContextMenu = _83.requestChartContextMenu;
|
|
3380
3407
|
/**
|
|
3381
3408
|
* Callback when user clicks Filter icon
|
|
3382
3409
|
* Show Filter dropdown here
|
|
@@ -3435,7 +3462,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3435
3462
|
* The totals-function picker a totals cell's in-cell arrow opens (Excel):
|
|
3436
3463
|
* anchored at the cell's bottom-right corner like the filter dropdown.
|
|
3437
3464
|
*/
|
|
3438
|
-
var
|
|
3465
|
+
var _84 = tslib_1.__read((0, react_1.useState)(null), 2), totalsPicker = _84[0], setTotalsPicker = _84[1];
|
|
3439
3466
|
var closeTotalsPicker = (0, react_1.useCallback)(function () { return setTotalsPicker(null); }, []);
|
|
3440
3467
|
var handleTotalsArrowClick = (0, react_1.useCallback)(function (cell) {
|
|
3441
3468
|
var table = activeTables === null || activeTables === void 0 ? void 0 : activeTables.find(function (candidate) {
|
|
@@ -3691,7 +3718,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3691
3718
|
/**
|
|
3692
3719
|
* Render Cells in the grid
|
|
3693
3720
|
*/
|
|
3694
|
-
var
|
|
3721
|
+
var _85 = tslib_1.__read((0, use_cell_renderer_1.useCellRenderer)({
|
|
3695
3722
|
sheetId: sheetId,
|
|
3696
3723
|
isTableTotalsCell: isTableTotalsCell,
|
|
3697
3724
|
onTotalsArrowClick: handleTotalsArrowClick,
|
|
@@ -3750,6 +3777,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3750
3777
|
onCheckboxClick: handleCheckboxClick,
|
|
3751
3778
|
onExpandCollapse: handleExpandCollapse,
|
|
3752
3779
|
defaultFontSizePoint: defaultFontSize,
|
|
3780
|
+
lineHeightMode: lineHeightMode,
|
|
3753
3781
|
Cell: Cell,
|
|
3754
3782
|
HeaderCell: HeaderCell,
|
|
3755
3783
|
theme: theme,
|
|
@@ -3761,7 +3789,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3761
3789
|
onOverflow: handleOverflow,
|
|
3762
3790
|
isComparing: isComparing,
|
|
3763
3791
|
getCellDiff: getCellDiff,
|
|
3764
|
-
}), 4), cellBackgroundRenderer =
|
|
3792
|
+
}), 4), cellBackgroundRenderer = _85[0], cellRenderer = _85[1], cellOverlayRenderer = _85[2], headerCellRenderer = _85[3];
|
|
3765
3793
|
/**
|
|
3766
3794
|
* When user selects a selection for moving
|
|
3767
3795
|
* If its a table, we select the entire column
|
|
@@ -3797,16 +3825,16 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3797
3825
|
tokenizer: localeTokenizer,
|
|
3798
3826
|
});
|
|
3799
3827
|
// Selection move: drag a formula reference via its border covers
|
|
3800
|
-
var
|
|
3828
|
+
var _86 = (0, use_selection_move_1.useSelectionMove)({
|
|
3801
3829
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
3802
3830
|
scrollToCell: scrollToCell,
|
|
3803
3831
|
tokenizer: localeTokenizer,
|
|
3804
|
-
}), onMouseDownMoveSelection =
|
|
3832
|
+
}), onMouseDownMoveSelection = _86.onMouseDownMoveSelection, isDraggingMoveSelection = _86.isDragging;
|
|
3805
3833
|
/**
|
|
3806
3834
|
* Selected chart: outline its source ranges on this sheet and re-bind
|
|
3807
3835
|
* them when a corner handle is dragged (Excel's chart data highlight).
|
|
3808
3836
|
*/
|
|
3809
|
-
var
|
|
3837
|
+
var _87 = (0, use_chart_source_ranges_1.useChartSourceRanges)({
|
|
3810
3838
|
charts: charts,
|
|
3811
3839
|
sheetId: sheetId,
|
|
3812
3840
|
getSheetName: getSheetName,
|
|
@@ -3815,22 +3843,24 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3815
3843
|
getCellBounds: getCellBounds,
|
|
3816
3844
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
3817
3845
|
scrollToCell: scrollToCell,
|
|
3818
|
-
}), chartSourceBorderStyles =
|
|
3846
|
+
}), chartSourceBorderStyles = _87.chartSourceBorderStyles, onMouseDownChartSourceResizeHandle = _87.onMouseDownChartSourceResizeHandle;
|
|
3819
3847
|
/**
|
|
3820
3848
|
* Hide fill handle
|
|
3821
3849
|
* 1. When user is in edit mode
|
|
3822
3850
|
* 2. When user is in formula mode and user has made selections
|
|
3851
|
+
* 3. When the grid is readonly — a fill is a write
|
|
3823
3852
|
*/
|
|
3824
|
-
var showFillHandle = !
|
|
3853
|
+
var showFillHandle = !readonly &&
|
|
3854
|
+
!isSelectionInProgress &&
|
|
3825
3855
|
!isEditInProgress &&
|
|
3826
3856
|
!isResizingTable &&
|
|
3827
3857
|
!(formulaMode && formulaSelections.length);
|
|
3828
3858
|
/**
|
|
3829
3859
|
* Flashing
|
|
3830
3860
|
*/
|
|
3831
|
-
var
|
|
3861
|
+
var _88 = (0, use_flash_1.useFlash)({
|
|
3832
3862
|
theme: theme,
|
|
3833
|
-
}), flash =
|
|
3863
|
+
}), flash = _88.flash, mark = _88.mark, unmark = _88.unmark, onFlashEnd = _88.onFlashEnd, flashingBorders = _88.flashingBorders;
|
|
3834
3864
|
// Cache hover ids
|
|
3835
3865
|
var cachedHoveredSelectionIds = (0, use_hovered_selection_ids_1.useHoveredSelectionIds)({
|
|
3836
3866
|
selections: selections,
|
|
@@ -3927,7 +3957,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3927
3957
|
? tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(finalBorderStyles), false), tslib_1.__read(chartSourceBorderStyles), false) : finalBorderStyles;
|
|
3928
3958
|
}, [finalBorderStyles, chartSourceBorderStyles]);
|
|
3929
3959
|
// Hidden column markers
|
|
3930
|
-
var
|
|
3960
|
+
var _89 = tslib_1.__read((0, use_hidden_dimension_markers_1.useHiddenDimensionMarkers)({
|
|
3931
3961
|
sheetId: sheetId,
|
|
3932
3962
|
columnMetadata: columnMetadata,
|
|
3933
3963
|
rowMetadata: rowMetadata,
|
|
@@ -3940,7 +3970,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3940
3970
|
columnCount: columnCount,
|
|
3941
3971
|
HiddenRowMarkers: HiddenRowMarkers,
|
|
3942
3972
|
HiddenColumnMarkers: HiddenColumnMarkers,
|
|
3943
|
-
}), 4), hiddenColumnMarkers =
|
|
3973
|
+
}), 4), hiddenColumnMarkers = _89[0], frozenHiddenColumnMarkers = _89[1], hiddenRowMarkers = _89[2], frozenHiddenRowMarkers = _89[3];
|
|
3944
3974
|
// Zoom lister
|
|
3945
3975
|
var onMouseWheel = (0, use_scale_listener_1.useScaleListener)({
|
|
3946
3976
|
zoomSpeed: zoomSpeed,
|
|
@@ -4292,12 +4322,14 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
4292
4322
|
popoverComponent: popoverComponent,
|
|
4293
4323
|
popoverRange: popoverRange,
|
|
4294
4324
|
cellExpandComponent: cellExpandComponent,
|
|
4325
|
+
arrowComponents: arrowComponents,
|
|
4295
4326
|
});
|
|
4296
4327
|
/**
|
|
4297
4328
|
* Only enable selection drag if user is not editing and not
|
|
4298
|
-
* in formula mode
|
|
4329
|
+
* in formula mode. A readonly grid has nothing to move, so the
|
|
4330
|
+
* gesture does not start at all (no move cursor, no selection jump).
|
|
4299
4331
|
*/
|
|
4300
|
-
var enableSelectionDrag = !isSelectionInProgress && !isEditInProgress && !formulaMode;
|
|
4332
|
+
var enableSelectionDrag = !readonly && !isSelectionInProgress && !isEditInProgress && !formulaMode;
|
|
4301
4333
|
// A chartsheet IS its chart: no grid, headers, editor or cell menus — only the chart and its
|
|
4302
4334
|
// context menu (Excel).
|
|
4303
4335
|
if (sheetType === "chartsheet") {
|