@rowsncolumns/spreadsheet 10.5.5 → 10.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
  2. package/dist/cjs/components/canvas-grid/index.js +119 -64
  3. package/dist/cjs/components/canvas-grid/typings.d.ts +24 -1
  4. package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
  5. package/dist/cjs/components/cell/index.d.ts.map +1 -1
  6. package/dist/cjs/components/cell/index.js +15 -6
  7. package/dist/cjs/components/cell/line-height.d.ts +10 -10
  8. package/dist/cjs/components/cell/line-height.d.ts.map +1 -1
  9. package/dist/cjs/components/cell/line-height.js +17 -19
  10. package/dist/cjs/components/cell/typings.d.ts +3 -1
  11. package/dist/cjs/components/cell/typings.d.ts.map +1 -1
  12. package/dist/cjs/components/cell-editor/index.d.ts +1 -1
  13. package/dist/cjs/components/cell-editor/index.d.ts.map +1 -1
  14. package/dist/cjs/components/cell-editor/index.js +24 -8
  15. package/dist/cjs/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
  16. package/dist/cjs/components/cell-input/formula-bar-cell-input.js +49 -6
  17. package/dist/cjs/helpers.d.ts.map +1 -1
  18. package/dist/cjs/helpers.js +2 -1
  19. package/dist/cjs/hooks/use-context-setter.d.ts.map +1 -1
  20. package/dist/cjs/hooks/use-context-setter.js +3 -1
  21. package/dist/cjs/hooks/use-editable.d.ts +29 -1
  22. package/dist/cjs/hooks/use-editable.d.ts.map +1 -1
  23. package/dist/cjs/hooks/use-editable.js +70 -13
  24. package/dist/cjs/hooks/use-editor-change.d.ts.map +1 -1
  25. package/dist/cjs/hooks/use-editor-change.js +9 -3
  26. package/dist/cjs/hooks/use-editor-keydown.d.ts +2 -1
  27. package/dist/cjs/hooks/use-editor-keydown.d.ts.map +1 -1
  28. package/dist/cjs/hooks/use-editor-keydown.js +5 -3
  29. package/dist/cjs/hooks/use-filter.d.ts +1 -1
  30. package/dist/cjs/hooks/use-filter.d.ts.map +1 -1
  31. package/dist/cjs/hooks/use-filter.js +4 -2
  32. package/dist/cjs/hooks/use-keyboard-handler.d.ts +9 -1
  33. package/dist/cjs/hooks/use-keyboard-handler.d.ts.map +1 -1
  34. package/dist/cjs/hooks/use-keyboard-handler.js +88 -39
  35. package/dist/cjs/hooks/use-sizer.d.ts +3 -1
  36. package/dist/cjs/hooks/use-sizer.d.ts.map +1 -1
  37. package/dist/cjs/hooks/use-sizer.js +7 -4
  38. package/dist/cjs/platform.d.ts +9 -0
  39. package/dist/cjs/platform.d.ts.map +1 -0
  40. package/dist/cjs/platform.js +21 -0
  41. package/dist/cjs/release-date.js +1 -1
  42. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  43. package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
  44. package/dist/esm/components/canvas-grid/index.js +57 -5
  45. package/dist/esm/components/canvas-grid/typings.d.ts +24 -1
  46. package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
  47. package/dist/esm/components/cell/index.d.ts.map +1 -1
  48. package/dist/esm/components/cell/index.js +17 -8
  49. package/dist/esm/components/cell/line-height.d.ts +10 -10
  50. package/dist/esm/components/cell/line-height.d.ts.map +1 -1
  51. package/dist/esm/components/cell/line-height.js +15 -15
  52. package/dist/esm/components/cell/typings.d.ts +3 -1
  53. package/dist/esm/components/cell/typings.d.ts.map +1 -1
  54. package/dist/esm/components/cell-editor/index.d.ts +1 -1
  55. package/dist/esm/components/cell-editor/index.d.ts.map +1 -1
  56. package/dist/esm/components/cell-editor/index.js +20 -4
  57. package/dist/esm/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
  58. package/dist/esm/components/cell-input/formula-bar-cell-input.js +49 -7
  59. package/dist/esm/helpers.d.ts.map +1 -1
  60. package/dist/esm/helpers.js +2 -1
  61. package/dist/esm/hooks/use-context-setter.d.ts.map +1 -1
  62. package/dist/esm/hooks/use-context-setter.js +3 -1
  63. package/dist/esm/hooks/use-editable.d.ts +29 -1
  64. package/dist/esm/hooks/use-editable.d.ts.map +1 -1
  65. package/dist/esm/hooks/use-editable.js +67 -7
  66. package/dist/esm/hooks/use-editor-change.d.ts.map +1 -1
  67. package/dist/esm/hooks/use-editor-change.js +10 -4
  68. package/dist/esm/hooks/use-editor-keydown.d.ts +2 -1
  69. package/dist/esm/hooks/use-editor-keydown.d.ts.map +1 -1
  70. package/dist/esm/hooks/use-editor-keydown.js +5 -3
  71. package/dist/esm/hooks/use-filter.d.ts +1 -1
  72. package/dist/esm/hooks/use-filter.d.ts.map +1 -1
  73. package/dist/esm/hooks/use-filter.js +4 -2
  74. package/dist/esm/hooks/use-keyboard-handler.d.ts +9 -1
  75. package/dist/esm/hooks/use-keyboard-handler.d.ts.map +1 -1
  76. package/dist/esm/hooks/use-keyboard-handler.js +88 -39
  77. package/dist/esm/hooks/use-sizer.d.ts +3 -1
  78. package/dist/esm/hooks/use-sizer.d.ts.map +1 -1
  79. package/dist/esm/hooks/use-sizer.js +8 -5
  80. package/dist/esm/platform.d.ts +9 -0
  81. package/dist/esm/platform.d.ts.map +1 -0
  82. package/dist/esm/platform.js +16 -0
  83. package/dist/esm/release-date.js +1 -1
  84. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  85. package/package.json +2 -2
@@ -133,7 +133,7 @@ function isDetachedEditor(editor) {
133
133
  }
134
134
  function CanvasGridComponent(props, forwardedRef) {
135
135
  var _a, _b, _c, _d;
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, selectionStrokeWidth = props.selectionStrokeWidth, showActiveCellBorderInSelection = props.showActiveCellBorderInSelection, _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, shouldHandleKeyDown = props.shouldHandleKeyDown, _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,
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, selectionStrokeWidth = props.selectionStrokeWidth, showActiveCellBorderInSelection = props.showActiveCellBorderInSelection, _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, enableEditOnEnterKeyProp = props.enableEditOnEnterKey, shouldHandleKeyDown = props.shouldHandleKeyDown, _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, 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, _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,
137
137
  // Host-driven filter props. `hostHiddenRowRanges`
138
138
  // supplies compact [start, end] hidden-row tuples; `getFilterValues` supplies a
139
139
  // column's distinct values. Both let a million-row filter render without scanning
@@ -146,6 +146,9 @@ function CanvasGridComponent(props, forwardedRef) {
146
146
  getValidationSourceValue = props.getValidationSourceValue,
147
147
  // Unused props only for api
148
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", "selectionStrokeWidth", "showActiveCellBorderInSelection", "selectionDragBorderColor", "chartSelectedColor", "chipBackgroundColor", "merges", "borderStyles", "protectedRanges", "isWorkbookProtected", "getSheetProtection", "pivotTables", "charts", "onUpdateChart", "onChangeZOrder", "embeds", "slicers", "rowMetadata", "columnMetadata", "scale", "zoomSpeed", "overscanCount", "enableEditOnEnterKey", "shouldHandleKeyDown", "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"]);
149
+ // Enter on a cell opens the editor in Google Sheets and moves down in
150
+ // Excel; a host's explicit value wins under either keymap.
151
+ var enableEditOnEnterKey = enableEditOnEnterKeyProp !== null && enableEditOnEnterKeyProp !== void 0 ? enableEditOnEnterKeyProp : keymap !== "excel";
149
152
  /**
150
153
  * Fire onBlur only when the cell editor blurs to an element outside the
151
154
  * spreadsheet. Routed through `useEditable` so we hook the always-focused
@@ -161,7 +164,7 @@ function CanvasGridComponent(props, forwardedRef) {
161
164
  var showGridLines = _showGridLines !== null && _showGridLines !== void 0 ? _showGridLines : true;
162
165
  var gridRef = (0, react_1.useRef)(null);
163
166
  // Hovered cell state (immediate, updated on mousemove)
164
- var _55 = tslib_1.__read((0, react_1.useState)(), 2), hoveredCell = _55[0], setHoveredCell = _55[1];
167
+ var _54 = tslib_1.__read((0, react_1.useState)(), 2), hoveredCell = _54[0], setHoveredCell = _54[1];
165
168
  // Delayed hovered cell for tooltips and selection titles
166
169
  var delayedHoveredCell = (0, use_delayed_value_1.useDelayedValue)(hoveredCell, tooltipIntentInterval);
167
170
  // Text overflow functionality
@@ -253,17 +256,17 @@ function CanvasGridComponent(props, forwardedRef) {
253
256
  // Cell editor
254
257
  var cellEditorInstance = (0, formula_bar_editor_value_atom_1.useCellEditorInstance)();
255
258
  // Paste menu
256
- var _56 = tslib_1.__read((0, atoms_1.useShowPasteMenu)(), 2), showPasteMenu = _56[0], setShowPasteMenu = _56[1];
259
+ var _55 = tslib_1.__read((0, atoms_1.useShowPasteMenu)(), 2), showPasteMenu = _55[0], setShowPasteMenu = _55[1];
257
260
  // Auto Fill Options smart tag / right-drag fill menu + Series dialog
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];
261
+ var _56 = tslib_1.__read((0, atoms_1.useFillOptionsState)(), 2), fillOptions = _56[0], setFillOptions = _56[1];
262
+ var _57 = tslib_1.__read((0, atoms_1.useInsertOptionsState)(), 2), insertOptions = _57[0], setInsertOptions = _57[1];
263
+ var _58 = tslib_1.__read((0, atoms_1.useTableAutoExpansionState)(), 2), tableAutoExpansion = _58[0], setTableAutoExpansion = _58[1];
264
+ var _59 = tslib_1.__read((0, atoms_1.useCalculatedColumnFillState)(), 2), calculatedColumnFill = _59[0], setCalculatedColumnFill = _59[1];
262
265
  var openFillSeriesDialog = (0, atoms_1.useOpenFillSeriesDialog)();
263
266
  // Shared state
264
267
  var formulaMode = (0, atoms_1.useFormulaModeValue)();
265
268
  var formulaSelections = (0, formula_selections_atom_1.useFormulaSelections)();
266
- var _61 = tslib_1.__read((0, editing_cell_atom_1.useEditingCell)(), 2), editingCellCoordinate = _61[0], setEditingCellCoordinate = _61[1];
269
+ var _60 = tslib_1.__read((0, editing_cell_atom_1.useEditingCell)(), 2), editingCellCoordinate = _60[0], setEditingCellCoordinate = _60[1];
267
270
  var setFormulabarEditorValue = (0, formula_bar_editor_value_atom_1.useSetFormulabarEditorValue)();
268
271
  /**
269
272
  * The formula SYNTAX the editor / formula bar speak (rowsncolumns/spreadsheet#655): Excel follows
@@ -281,7 +284,7 @@ function CanvasGridComponent(props, forwardedRef) {
281
284
  var setFormulaState = (0, formula_selection_state_atom_1.useSetFormulaSelectionState)();
282
285
  var activeEditor = (0, active_editor_atom_1.useActiveEditor)();
283
286
  // Magic fill state
284
- var _62 = tslib_1.__read((0, magic_fill_state_atom_1.useQuickEditState)(), 2), quickEditValues = _62[0], setQuickEditState = _62[1];
287
+ var _61 = tslib_1.__read((0, magic_fill_state_atom_1.useQuickEditState)(), 2), quickEditValues = _61[0], setQuickEditState = _61[1];
285
288
  var setNoteEditorCell = (0, atoms_1.useSetNoteEditorCell)();
286
289
  var setPinnedTooltip = (0, atoms_1.useSetPinnedTooltip)();
287
290
  var setSpreadsheetApi = (0, spreadsheet_api_atom_1.useSetSpreadsheetApi)();
@@ -292,7 +295,7 @@ function CanvasGridComponent(props, forwardedRef) {
292
295
  var instanceStore = (0, jotai_1.useStore)({ store: spreadsheet_provider_1.multiInstanceStore });
293
296
  // To access closures
294
297
  var hoveredCellRef = (0, use_stable_ref_1.useStableRef)(hoveredCell);
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;
298
+ var _62 = tslib_1.__read((0, use_resize_observer_1.useResizeObserver)(), 2), gridContainerRef = _62[0], _63 = _62[1], width = _63.width, height = _63.height;
296
299
  var defaultFrozenDims = showHeaders ? 1 : 0;
297
300
  var frozenRows = Math.max(defaultFrozenDims, (frozenRowCount !== null && frozenRowCount !== void 0 ? frozenRowCount : 0) + defaultFrozenDims);
298
301
  var frozenColumns = Math.max(defaultFrozenDims, (frozenColumnCount !== null && frozenColumnCount !== void 0 ? frozenColumnCount : 0) + defaultFrozenDims);
@@ -304,9 +307,9 @@ function CanvasGridComponent(props, forwardedRef) {
304
307
  var sheetRowCount = Math.min(config_1.MAX_ROW_COUNT + 1, rowCount + 1);
305
308
  var sheetColumnCount = Math.min(config_1.MAX_COLUMN_COUNT + 1, columnCount + 1);
306
309
  // License key validator
307
- var _65 = tslib_1.__read((0, use_licensekey_validator_1.useLicenseKeyValidator)({
310
+ var _64 = tslib_1.__read((0, use_licensekey_validator_1.useLicenseKeyValidator)({
308
311
  licenseKey: licenseKey,
309
- }), 3), _ = _65[0], licenseType = _65[1], validatorResult = _65[2];
312
+ }), 3), _ = _64[0], licenseType = _64[1], validatorResult = _64[2];
310
313
  var isRestricted = licenseType === "solo";
311
314
  // Grid line width
312
315
  var gridLineWidth = 1 * scale;
@@ -596,6 +599,17 @@ function CanvasGridComponent(props, forwardedRef) {
596
599
  onRequestEditProtectedRange,
597
600
  getPivotTableAtCell,
598
601
  ]));
602
+ /**
603
+ * A readonly grid still opens a cell read-only on F2 / Enter / double-click,
604
+ * so a value that does not fit its cell can be read in full and copied
605
+ * (rowsncolumns/spreadsheet#1183). Locked cells of a protected sheet keep
606
+ * Excel's refusal (the host's protected-range dialog), as do pivot cells.
607
+ */
608
+ var canViewCell = (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function (_sheetId, cell) {
609
+ return readonly === true &&
610
+ !isRowHeader(cell.columnIndex) &&
611
+ !isColumnHeader(cell.rowIndex);
612
+ }, [readonly, isRowHeader, isColumnHeader]));
599
613
  /**
600
614
  * Can edit sheet
601
615
  */
@@ -1169,11 +1183,11 @@ function CanvasGridComponent(props, forwardedRef) {
1169
1183
  * Touch support
1170
1184
  * Mainly for scrolling
1171
1185
  */
1172
- var _66 = (0, use_touch_1.useTouch)({
1186
+ var _65 = (0, use_touch_1.useTouch)({
1173
1187
  scrollTo: scrollTo,
1174
1188
  scale: scale,
1175
1189
  onChangeScale: onChangeScale,
1176
- }), onTouchStart = _66.onTouchStart, onDimensionsChange = _66.onDimensionsChange, scrollToTouchDevice = _66.scrollToTouchDevice, onAfterScrollToCell = _66.onAfterScrollToCell;
1190
+ }), onTouchStart = _65.onTouchStart, onDimensionsChange = _65.onDimensionsChange, scrollToTouchDevice = _65.scrollToTouchDevice, onAfterScrollToCell = _65.onAfterScrollToCell;
1177
1191
  /**
1178
1192
  * Conditional-formatting evaluation window: the padded, tile-quantized
1179
1193
  * viewport. The raw viewport lives in a ref (no render per scroll frame);
@@ -1181,7 +1195,7 @@ function CanvasGridComponent(props, forwardedRef) {
1181
1195
  * `startTransition` so the CF recompute is low-priority and interruptible —
1182
1196
  * scrolling never blocks on it.
1183
1197
  */
1184
- var _67 = tslib_1.__read((0, react_1.useState)(cf_window_1.CF_INITIAL_WINDOW), 2), cfWindow = _67[0], setCfWindow = _67[1];
1198
+ var _66 = tslib_1.__read((0, react_1.useState)(cf_window_1.CF_INITIAL_WINDOW), 2), cfWindow = _66[0], setCfWindow = _66[1];
1185
1199
  var cfWindowRef = (0, react_1.useRef)(null);
1186
1200
  var handleViewPortChange = (0, react_1.useCallback)(function (viewport) {
1187
1201
  onViewPortChange === null || onViewPortChange === void 0 ? void 0 : onViewPortChange(viewport);
@@ -1448,14 +1462,14 @@ function CanvasGridComponent(props, forwardedRef) {
1448
1462
  : localeTokenizerBase,
1449
1463
  });
1450
1464
  // Helper function to convert a selection to readable selection address
1451
- var _68 = tslib_1.__read((0, use_create_address_from_selection_1.useCreateAddressFromSelection)({
1465
+ var _67 = tslib_1.__read((0, use_create_address_from_selection_1.useCreateAddressFromSelection)({
1452
1466
  sheetId: sheetId,
1453
1467
  rowCount: rowCount,
1454
1468
  columnCount: columnCount,
1455
1469
  tables: tables !== null && tables !== void 0 ? tables : undefined,
1456
1470
  namedRanges: namedRanges !== null && namedRanges !== void 0 ? namedRanges : undefined,
1457
1471
  merges: merges,
1458
- }), 2), getAddressFromSelection = _68[0], getR1C1AddressFromSelection = _68[1];
1472
+ }), 2), getAddressFromSelection = _67[0], getR1C1AddressFromSelection = _67[1];
1459
1473
  /**
1460
1474
  * Exports a data region as image
1461
1475
  */
@@ -1501,7 +1515,7 @@ function CanvasGridComponent(props, forwardedRef) {
1501
1515
  * Get user entered value from a range
1502
1516
  * of cells
1503
1517
  */
1504
- var _69 = tslib_1.__read((0, use_get_values_from_range_1.useGetValuesFromRange)({
1518
+ var _68 = tslib_1.__read((0, use_get_values_from_range_1.useGetValuesFromRange)({
1505
1519
  sheetId: sheetId,
1506
1520
  getSelectionsFromFormula: getSelectionsFromFormula,
1507
1521
  getFormattedValue: getFormattedValue,
@@ -1509,7 +1523,7 @@ function CanvasGridComponent(props, forwardedRef) {
1509
1523
  getSheetId: getSheetId,
1510
1524
  onRequestCalculate: onRequestCalculate,
1511
1525
  getValidationSourceValue: getValidationSourceValue,
1512
- }), 3), getFormattedValuesFromAddress = _69[0], getEffectiveValuesFromRange = _69[1], getFormattedValuesFromAddressAsync = _69[2];
1526
+ }), 3), getFormattedValuesFromAddress = _68[0], getEffectiveValuesFromRange = _68[1], getFormattedValuesFromAddressAsync = _68[2];
1513
1527
  /**
1514
1528
  * Get all formatted values from range as a single 1d array
1515
1529
  */
@@ -1840,7 +1854,7 @@ function CanvasGridComponent(props, forwardedRef) {
1840
1854
  * O(n)
1841
1855
  * Reduces Space Complexity by using `all`
1842
1856
  */
1843
- var _70 = tslib_1.__read((0, use_selected_rows_columns_1.useSelectedRowsColumns)({
1857
+ var _69 = tslib_1.__read((0, use_selected_rows_columns_1.useSelectedRowsColumns)({
1844
1858
  activeCell: activeCell,
1845
1859
  selections: selections,
1846
1860
  selectionLeftBound: selectionLeftBound,
@@ -1848,7 +1862,7 @@ function CanvasGridComponent(props, forwardedRef) {
1848
1862
  rowCount: rowCount,
1849
1863
  columnCount: columnCount,
1850
1864
  getCellBounds: getCellBounds,
1851
- }), 6), selectedRows = _70[0], selectedColumns = _70[1], selectedRowHeaders = _70[2], selectedColumnHeaders = _70[3], selectedRowHeadersIds = _70[4], selectedColumnHeadersIds = _70[5];
1865
+ }), 6), selectedRows = _69[0], selectedColumns = _69[1], selectedRowHeaders = _69[2], selectedColumnHeaders = _69[3], selectedRowHeadersIds = _69[4], selectedColumnHeadersIds = _69[5];
1852
1866
  // Named ranges for editor dropdown
1853
1867
  var getNamedRanges = (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function () {
1854
1868
  return namedRanges === null || namedRanges === void 0 ? void 0 : namedRanges.map(function (range) { return ({
@@ -1918,7 +1932,7 @@ function CanvasGridComponent(props, forwardedRef) {
1918
1932
  * user can select entire column or row when selecting
1919
1933
  * header cells
1920
1934
  */
1921
- var _71 = (0, use_selection_interceptors_1.useSelectionInterceptors)({
1935
+ var _70 = (0, use_selection_interceptors_1.useSelectionInterceptors)({
1922
1936
  sheetId: sheetId,
1923
1937
  rowCount: rowCount,
1924
1938
  columnCount: columnCount,
@@ -1934,7 +1948,7 @@ function CanvasGridComponent(props, forwardedRef) {
1934
1948
  onChangeActiveCell: onChangeActiveCell,
1935
1949
  scrollToCell: scrollToCell,
1936
1950
  isMergedCell: isMergedCell,
1937
- }), onMouseDownInterceptor = _71.onMouseDownInterceptor, onMouseMoveInterceptor = _71.onMouseMoveInterceptor;
1951
+ }), onMouseDownInterceptor = _70.onMouseDownInterceptor, onMouseMoveInterceptor = _70.onMouseMoveInterceptor;
1938
1952
  /**
1939
1953
  * When user selections full rows
1940
1954
  * or columns, we have to ignore
@@ -2024,7 +2038,7 @@ function CanvasGridComponent(props, forwardedRef) {
2024
2038
  * Enables auto resizing
2025
2039
  * rows and columns
2026
2040
  */
2027
- var _72 = (0, use_sizer_1.useSizer)({
2041
+ var _71 = (0, use_sizer_1.useSizer)({
2028
2042
  frozenRows: frozenRows,
2029
2043
  frozenColumns: frozenColumns,
2030
2044
  scale: scale,
@@ -2050,7 +2064,7 @@ function CanvasGridComponent(props, forwardedRef) {
2050
2064
  fontSize: defaultFontSize,
2051
2065
  lineHeightMode: lineHeightMode,
2052
2066
  resizeStrategy: "full",
2053
- }), getColumnWidth = _72.getColumnWidth, getRowHeight = _72.getRowHeight, getCellDimensions = _72.getCellDimensions, getCellDimensionsStable = _72.getCellDimensionsStable, getTextDimension = _72.getTextDimension;
2067
+ }), getColumnWidth = _71.getColumnWidth, getRowHeight = _71.getRowHeight, getCellDimensions = _71.getCellDimensions, getCellDimensionsStable = _71.getCellDimensionsStable, getTextDimension = _71.getTextDimension;
2054
2068
  /**
2055
2069
  * Called when user tries to
2056
2070
  * autofit a column or row
@@ -2129,7 +2143,7 @@ function CanvasGridComponent(props, forwardedRef) {
2129
2143
  /**
2130
2144
  * Popover cell
2131
2145
  */
2132
- var _73 = (0, use_cell_popover_1.useCellPopover)({
2146
+ var _72 = (0, use_cell_popover_1.useCellPopover)({
2133
2147
  sheetId: sheetId,
2134
2148
  getCellPopoverContent: getCellPopoverContent !== null && getCellPopoverContent !== void 0 ? getCellPopoverContent : getFormattedValue,
2135
2149
  getCellOffsetFromCoords: getCellOffsetFromCoords,
@@ -2137,7 +2151,7 @@ function CanvasGridComponent(props, forwardedRef) {
2137
2151
  isFrozenColumn: isFrozenColumn,
2138
2152
  isFrozenRow: isFrozenRow,
2139
2153
  onChangeActiveSheet: onChangeActiveSheet,
2140
- }), popoverComponent = _73.popoverComponent, popoverRange = _73.popoverRange, showCellPopover = _73.showCellPopover, hideCellPopover = _73.hideCellPopover;
2154
+ }), popoverComponent = _72.popoverComponent, popoverRange = _72.popoverRange, showCellPopover = _72.showCellPopover, hideCellPopover = _72.hideCellPopover;
2141
2155
  /**
2142
2156
  * Get tooltip component of a cell
2143
2157
  * Only error, invalid values are
@@ -2564,7 +2578,7 @@ function CanvasGridComponent(props, forwardedRef) {
2564
2578
  /**
2565
2579
  * Handle grid selections
2566
2580
  */
2567
- var _74 = (0, use_selection_1.useSelection)({
2581
+ var _73 = (0, use_selection_1.useSelection)({
2568
2582
  sheetId: sheetId,
2569
2583
  getDataRowCount: getDataRowCount,
2570
2584
  getDataRegion: getDataRegion,
@@ -2608,11 +2622,11 @@ function CanvasGridComponent(props, forwardedRef) {
2608
2622
  dataRegionBoundaries: dataRegionBoundaries,
2609
2623
  tables: tables,
2610
2624
  onInsertTableRow: onInsertTableRow,
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;
2625
+ }), onMouseDownSelection = _73.onMouseDown, onPointerDownSelection = _73.onPointerDown, onKeyDownSelection = _73.onKeyDown, fillSelection = _73.fillSelection, fillShrink = _73.fillShrink, onFillHandleMouseDown = _73.onFillHandleMouseDown, onFillHandleDoubleClick = _73.onFillHandleDoubleClick, isDragging = _73.isDragging, isFilling = _73.isFilling, isSelectionInProgress = _73.isSelectionInProgress, draggedSelection = _73.draggedSelection, onSelectionMouseDown = _73.onSelectionMouseDown, setActiveCell = _73.setActiveCell, initialDraggedSelection = _73.initialDraggedSelection, updateSelectionStartEndReference = _73.updateSelectionStartEndReference, selectColumn = _73.selectColumn, getContentfulGridRangeAroundCell = _73.getContentfulGridRangeAroundCell, newSelection = _73.newSelection, modifySelection = _73.modifySelection, clearSelections = _73.clearSelections;
2612
2626
  /**
2613
2627
  * Copy, Paste and Cut hook
2614
2628
  */
2615
- var _75 = (0, use_copy_paste_cut_1.useCopyPasteCut)({
2629
+ var _74 = (0, use_copy_paste_cut_1.useCopyPasteCut)({
2616
2630
  activeCell: activeCell,
2617
2631
  selections: selections,
2618
2632
  sheetId: sheetId,
@@ -2621,7 +2635,7 @@ function CanvasGridComponent(props, forwardedRef) {
2621
2635
  onPaste: onPaste,
2622
2636
  onCopy: onCopy,
2623
2637
  onCut: onCut,
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;
2638
+ }), copiedSelections = _74.copiedSelections, isCutPending = _74.isCutPending, copiedSheetId = _74.copiedSheetId, cancelCut = _74.cancelCut, clearCopiedSelections = _74.clearCopiedSelections, copy = _74.copy, cut = _74.cut, paste = _74.paste, onInternalCopy = _74.onInternalCopy, onInternalCut = _74.onInternalCut, onInternalPaste = _74.onInternalPaste;
2625
2639
  /**
2626
2640
  * Ctrl+C / Ctrl+X / Ctrl+V / Ctrl+D on a selected chart. The focused chart is
2627
2641
  * the target of those events (see `EmbedDraggable`); a paste that lands in the
@@ -2889,6 +2903,7 @@ function CanvasGridComponent(props, forwardedRef) {
2889
2903
  */
2890
2904
  var onEditorKeyDown = (0, use_editor_keydown_1.useEditorKeydown)({
2891
2905
  sheetId: sheetId,
2906
+ keymap: keymap,
2892
2907
  onSelectNextSheet: onSelectNextSheet,
2893
2908
  onSelectPreviousSheet: onSelectPreviousSheet,
2894
2909
  onKeyDownSelection: onKeyDownSelection,
@@ -2953,6 +2968,23 @@ function CanvasGridComponent(props, forwardedRef) {
2953
2968
  var requestEditCell = (0, use_callback_ref_1.useCallbackRef)(function (targetSheetId, cell, initialValue) {
2954
2969
  return editCell(targetSheetId, cell, initialValue);
2955
2970
  });
2971
+ /**
2972
+ * Alt+↓ under the Excel keymap: open the cell's list — a filter header's
2973
+ * menu, else a list validation's dropdown (the editor, with the list a
2974
+ * click on the cell's arrow opens), else nothing.
2975
+ */
2976
+ var showCellList = (0, use_callback_ref_1.useCallbackRef)(function (targetSheetId, cell) {
2977
+ var _a, _b;
2978
+ if (showFilterMenu(cell)) {
2979
+ return true;
2980
+ }
2981
+ var type = (_b = (_a = getDataValidationRule(targetSheetId, cell.rowIndex, cell.columnIndex)) === null || _a === void 0 ? void 0 : _a.condition) === null || _b === void 0 ? void 0 : _b.type;
2982
+ if (type !== "ONE_OF_LIST" && type !== "ONE_OF_RANGE") {
2983
+ return false;
2984
+ }
2985
+ editCell(targetSheetId, cell);
2986
+ return true;
2987
+ });
2956
2988
  /**
2957
2989
  * The context menu's table Select items: replace the selection with a
2958
2990
  * range and park the active cell at its top-left, without scrolling.
@@ -2962,7 +2994,7 @@ function CanvasGridComponent(props, forwardedRef) {
2962
2994
  onChangeSelections === null || onChangeSelections === void 0 ? void 0 : onChangeSelections(targetSheetId, [{ range: range }]);
2963
2995
  }, [setActiveCell, onChangeSelections]);
2964
2996
  // Excel's table hit zones (header top edge / corner / row left edge).
2965
- var _76 = (0, use_table_hit_zones_1.useTableHitZones)({
2997
+ var _75 = (0, use_table_hit_zones_1.useTableHitZones)({
2966
2998
  sheetId: sheetId,
2967
2999
  tables: activeTables,
2968
3000
  selections: selections,
@@ -2973,7 +3005,7 @@ function CanvasGridComponent(props, forwardedRef) {
2973
3005
  getCellOffsetFromCoords: getCellOffsetFromCoords,
2974
3006
  getScrollPosition: getScrollPosition,
2975
3007
  onSelectRange: selectRangeFromMenu,
2976
- }), tableHitCursor = _76.cursor, onMouseMoveTableHitZones = _76.onMouseMove, onMouseDownTableHitZones = _76.onMouseDown, clearTableHitZone = _76.clearHitZone;
3008
+ }), tableHitCursor = _75.cursor, onMouseMoveTableHitZones = _75.onMouseMove, onMouseDownTableHitZones = _75.onMouseDown, clearTableHitZone = _75.clearHitZone;
2977
3009
  /**
2978
3010
  * Get context Menu component
2979
3011
  */
@@ -3075,7 +3107,7 @@ function CanvasGridComponent(props, forwardedRef) {
3075
3107
  * Displays Context menu when user right clicks
3076
3108
  * the grid
3077
3109
  */
3078
- var _77 = (0, use_context_menu_1.useContextMenu)({
3110
+ var _76 = (0, use_context_menu_1.useContextMenu)({
3079
3111
  getCellCoordsFromOffset: getCellCoordsFromOffset,
3080
3112
  getRelativePositionFromOffset: getRelativePositionFromOffset,
3081
3113
  isRowHeader: isRowHeader,
@@ -3084,7 +3116,7 @@ function CanvasGridComponent(props, forwardedRef) {
3084
3116
  getCellOffsetFromCoords: getCellOffsetFromCoords,
3085
3117
  getScrollPosition: getScrollPosition,
3086
3118
  ContextMenuWrapper: ContextMenuWrapper,
3087
- }), onContextMenu = _77.onContextMenu, contextMenuComponent = _77.contextMenuComponent, onRequestCloseContextMenu = _77.onRequestClose, showContextMenu = _77.showContextMenu;
3119
+ }), onContextMenu = _76.onContextMenu, contextMenuComponent = _76.contextMenuComponent, onRequestCloseContextMenu = _76.onRequestClose, showContextMenu = _76.showContextMenu;
3088
3120
  /**
3089
3121
  * Shortcut handlers for formatting
3090
3122
  * TODO: Decide on the output
@@ -3115,6 +3147,8 @@ function CanvasGridComponent(props, forwardedRef) {
3115
3147
  onCalculateNow: onCalculateNow,
3116
3148
  onRequestGoTo: requestGoTo,
3117
3149
  onRequestPasteSpecial: requestPasteSpecial,
3150
+ onRequestEditCell: requestEditCell,
3151
+ onShowCellList: showCellList,
3118
3152
  onChangeBatch: onChangeBatch,
3119
3153
  getUserEnteredValue: getUserEnteredStringValue,
3120
3154
  getEffectiveValue: getEffectiveValue,
@@ -3165,11 +3199,15 @@ function CanvasGridComponent(props, forwardedRef) {
3165
3199
  /**
3166
3200
  * Allow grid to be ediable
3167
3201
  */
3168
- var _78 = (0, use_editable_1.useEditable)({
3202
+ var _77 = (0, use_editable_1.useEditable)({
3169
3203
  sheetId: sheetId,
3170
3204
  enableEditOnEnterKey: enableEditOnEnterKey,
3205
+ keymap: keymap,
3206
+ clearSelections: clearSelections,
3207
+ onRequestCut: cut,
3171
3208
  shouldHandleKeyDown: shouldHandleKeyDown,
3172
3209
  canEdit: canEditCell,
3210
+ canView: canViewCell,
3173
3211
  sticky: stickyEditor,
3174
3212
  getScrollPosition: getScrollPosition,
3175
3213
  hideOnBlur: formulaMode && canSelectCells ? false : true,
@@ -3217,11 +3255,11 @@ function CanvasGridComponent(props, forwardedRef) {
3217
3255
  onCut: handleEditorCut,
3218
3256
  tables: tables,
3219
3257
  onInsertTableRow: onInsertTableRow,
3220
- }), 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;
3258
+ }), onMouseDownEditable = _77.onMouseDown, onDoubleClickEditable = _77.onDoubleClick, editorComponent = _77.editorComponent, isEditInProgress = _77.isEditInProgress, makeEditable = _77.makeEditable, editCell = _77.editCell, setEditorValue = _77.setEditorValue, hideEditor = _77.hideEditor, getNextFocusableCell = _77.getNextFocusableCell, submitEditor = _77.submitEditor, cancelEditor = _77.cancelEditor, commit = _77.commit;
3221
3259
  /**
3222
3260
  * Move rows and columns
3223
3261
  */
3224
- var _79 = (0, use_move_columns_rows_1.useMoveColumnsAndRows)({
3262
+ var _78 = (0, use_move_columns_rows_1.useMoveColumnsAndRows)({
3225
3263
  getCellOffsetFromCoords: getCellOffsetFromCoords,
3226
3264
  getCellCoordsFromOffset: getCellCoordsFromOffset,
3227
3265
  getRelativePositionFromOffset: getRelativePositionFromOffset,
@@ -3244,11 +3282,11 @@ function CanvasGridComponent(props, forwardedRef) {
3244
3282
  sheetId: sheetId,
3245
3283
  disabled: isRestricted,
3246
3284
  HeaderMoveDragComponent: HeaderMoveDragComponent,
3247
- }), draggableColumns = _79.draggableColumns, draggableRows = _79.draggableRows, isDraggingRowsAndColumns = _79.isDragging;
3285
+ }), draggableColumns = _78.draggableColumns, draggableRows = _78.draggableRows, isDraggingRowsAndColumns = _78.isDragging;
3248
3286
  /**
3249
3287
  * Header actions
3250
3288
  */
3251
- var _80 = (0, use_header_actions_1.useHeaderActions)({
3289
+ var _79 = (0, use_header_actions_1.useHeaderActions)({
3252
3290
  activeCell: isSelectionInProgress || isFilling || isDragging ? null : hoveredCell,
3253
3291
  getScrollPosition: getScrollPosition,
3254
3292
  getCellOffsetFromCoords: getCellOffsetFromCoords,
@@ -3276,7 +3314,7 @@ function CanvasGridComponent(props, forwardedRef) {
3276
3314
  selectedRowHeadersIds: selectedRowHeadersIds,
3277
3315
  selectedColumnHeadersIds: selectedColumnHeadersIds,
3278
3316
  enableResizerOverflow: enableResizerOverflow,
3279
- }), headerMenuComponent = _80.headerMenuComponent, isHeaderMenuInFrozenColumn = _80.isHeaderMenuInFrozenColumn, headerResizer = _80.headerResizer, isDraggingHeader = _80.isDragging;
3317
+ }), headerMenuComponent = _79.headerMenuComponent, isHeaderMenuInFrozenColumn = _79.isHeaderMenuInFrozenColumn, headerResizer = _79.headerResizer, isDraggingHeader = _79.isDragging;
3280
3318
  /**
3281
3319
  * Close tooltip
3282
3320
  */
@@ -3318,7 +3356,7 @@ function CanvasGridComponent(props, forwardedRef) {
3318
3356
  /**
3319
3357
  * Show basicFilter panels
3320
3358
  */
3321
- var _81 = (0, use_filter_1.useFilter)({
3359
+ var _80 = (0, use_filter_1.useFilter)({
3322
3360
  sheetId: sheetId,
3323
3361
  scale: scale,
3324
3362
  theme: theme,
@@ -3343,9 +3381,9 @@ function CanvasGridComponent(props, forwardedRef) {
3343
3381
  // Live filter state so the open popup tracks Auto-apply spec changes.
3344
3382
  basicFilter: basicFilter,
3345
3383
  tables: activeTables,
3346
- }), showFilter = _81.showFilter, hideFilter = _81.hideFilter, filterComponent = _81.filterComponent;
3384
+ }), showFilter = _80.showFilter, hideFilter = _80.hideFilter, filterComponent = _80.filterComponent;
3347
3385
  // Table resize
3348
- var _82 = (0, use_table_resizer_1.useTableResizer)({
3386
+ var _81 = (0, use_table_resizer_1.useTableResizer)({
3349
3387
  sheetId: sheetId,
3350
3388
  tables: tables !== null && tables !== void 0 ? tables : undefined,
3351
3389
  theme: theme,
@@ -3356,11 +3394,11 @@ function CanvasGridComponent(props, forwardedRef) {
3356
3394
  scrollToCell: scrollToCell,
3357
3395
  onResizeTable: onResizeTable,
3358
3396
  focusSheet: focusSheet,
3359
- }), tableResizers = _82.tableResizers, isResizingTable = _82.isResizingTable;
3397
+ }), tableResizers = _81.tableResizers, isResizingTable = _81.isResizingTable;
3360
3398
  /**
3361
3399
  * Displays resizable/draggable charts
3362
3400
  */
3363
- var _83 = (0, use_embeds_charts_1.useEmbedsCharts)({
3401
+ var _82 = (0, use_embeds_charts_1.useEmbedsCharts)({
3364
3402
  charts: charts,
3365
3403
  embeds: embeds,
3366
3404
  slicers: slicers,
@@ -3404,21 +3442,37 @@ function CanvasGridComponent(props, forwardedRef) {
3404
3442
  backgroundColor: cellBackgroundColor,
3405
3443
  disabled: isRestricted,
3406
3444
  readonly: readonly,
3407
- }), chartComponents = _83.chartComponents, embedComponents = _83.embedComponents, slicerComponents = _83.slicerComponents, embedContextMenuComponent = _83.contextMenuComponent, onMouseDownCharts = _83.onMouseDown, requestChartContextMenu = _83.requestChartContextMenu;
3445
+ }), chartComponents = _82.chartComponents, embedComponents = _82.embedComponents, slicerComponents = _82.slicerComponents, embedContextMenuComponent = _82.contextMenuComponent, onMouseDownCharts = _82.onMouseDown, requestChartContextMenu = _82.requestChartContextMenu;
3446
+ /**
3447
+ * The basic filter or table whose range holds a cell
3448
+ */
3449
+ var getFilterAtCell = (0, react_1.useCallback)(function (cell) {
3450
+ return basicFilter && (0, grid_4.isCellWithinBounds)(cell, basicFilter === null || basicFilter === void 0 ? void 0 : basicFilter.range)
3451
+ ? basicFilter
3452
+ : activeTables === null || activeTables === void 0 ? void 0 : activeTables.find(function (table) { return (0, grid_4.isCellWithinBounds)(cell, table.range); });
3453
+ }, [basicFilter, activeTables]);
3408
3454
  /**
3409
3455
  * Callback when user clicks Filter icon
3410
3456
  * Show Filter dropdown here
3411
3457
  */
3412
3458
  var handleFilterClick = (0, react_1.useCallback)(function (cell) {
3413
- var activeFilter = basicFilter && (0, grid_4.isCellWithinBounds)(cell, basicFilter === null || basicFilter === void 0 ? void 0 : basicFilter.range)
3414
- ? basicFilter
3415
- : activeTables === null || activeTables === void 0 ? void 0 : activeTables.find(function (table) {
3416
- return (0, grid_4.isCellWithinBounds)(cell, table.range);
3417
- });
3459
+ var activeFilter = getFilterAtCell(cell);
3418
3460
  if (activeFilter) {
3419
3461
  showFilter(cell, activeFilter);
3420
3462
  }
3421
- }, [showFilter, basicFilter, activeTables]);
3463
+ }, [showFilter, getFilterAtCell]);
3464
+ /**
3465
+ * Open a filter header's menu from the outside (a host's Alt+Down), as a
3466
+ * click on its button does. Only a cell that draws a filter button opens
3467
+ * one — the button is also what a readonly grid withholds.
3468
+ */
3469
+ var showFilterMenu = (0, react_1.useCallback)(function (cell) {
3470
+ if (readonly || !isTableFilterVisible(cell.rowIndex, cell.columnIndex)) {
3471
+ return false;
3472
+ }
3473
+ var activeFilter = getFilterAtCell(cell);
3474
+ return activeFilter ? showFilter(cell, activeFilter) : false;
3475
+ }, [readonly, isTableFilterVisible, getFilterAtCell, showFilter]);
3422
3476
  /**
3423
3477
  * Callback when user checks a cell
3424
3478
  */
@@ -3463,7 +3517,7 @@ function CanvasGridComponent(props, forwardedRef) {
3463
3517
  * The totals-function picker a totals cell's in-cell arrow opens (Excel):
3464
3518
  * anchored at the cell's bottom-right corner like the filter dropdown.
3465
3519
  */
3466
- var _84 = tslib_1.__read((0, react_1.useState)(null), 2), totalsPicker = _84[0], setTotalsPicker = _84[1];
3520
+ var _83 = tslib_1.__read((0, react_1.useState)(null), 2), totalsPicker = _83[0], setTotalsPicker = _83[1];
3467
3521
  var closeTotalsPicker = (0, react_1.useCallback)(function () { return setTotalsPicker(null); }, []);
3468
3522
  var handleTotalsArrowClick = (0, react_1.useCallback)(function (cell) {
3469
3523
  var table = activeTables === null || activeTables === void 0 ? void 0 : activeTables.find(function (candidate) {
@@ -3719,7 +3773,7 @@ function CanvasGridComponent(props, forwardedRef) {
3719
3773
  /**
3720
3774
  * Render Cells in the grid
3721
3775
  */
3722
- var _85 = tslib_1.__read((0, use_cell_renderer_1.useCellRenderer)({
3776
+ var _84 = tslib_1.__read((0, use_cell_renderer_1.useCellRenderer)({
3723
3777
  sheetId: sheetId,
3724
3778
  isTableTotalsCell: isTableTotalsCell,
3725
3779
  onTotalsArrowClick: handleTotalsArrowClick,
@@ -3790,7 +3844,7 @@ function CanvasGridComponent(props, forwardedRef) {
3790
3844
  onOverflow: handleOverflow,
3791
3845
  isComparing: isComparing,
3792
3846
  getCellDiff: getCellDiff,
3793
- }), 4), cellBackgroundRenderer = _85[0], cellRenderer = _85[1], cellOverlayRenderer = _85[2], headerCellRenderer = _85[3];
3847
+ }), 4), cellBackgroundRenderer = _84[0], cellRenderer = _84[1], cellOverlayRenderer = _84[2], headerCellRenderer = _84[3];
3794
3848
  /**
3795
3849
  * When user selects a selection for moving
3796
3850
  * If its a table, we select the entire column
@@ -3826,16 +3880,16 @@ function CanvasGridComponent(props, forwardedRef) {
3826
3880
  tokenizer: localeTokenizer,
3827
3881
  });
3828
3882
  // Selection move: drag a formula reference via its border covers
3829
- var _86 = (0, use_selection_move_1.useSelectionMove)({
3883
+ var _85 = (0, use_selection_move_1.useSelectionMove)({
3830
3884
  getCellCoordsFromOffset: getCellCoordsFromOffset,
3831
3885
  scrollToCell: scrollToCell,
3832
3886
  tokenizer: localeTokenizer,
3833
- }), onMouseDownMoveSelection = _86.onMouseDownMoveSelection, isDraggingMoveSelection = _86.isDragging;
3887
+ }), onMouseDownMoveSelection = _85.onMouseDownMoveSelection, isDraggingMoveSelection = _85.isDragging;
3834
3888
  /**
3835
3889
  * Selected chart: outline its source ranges on this sheet and re-bind
3836
3890
  * them when a corner handle is dragged (Excel's chart data highlight).
3837
3891
  */
3838
- var _87 = (0, use_chart_source_ranges_1.useChartSourceRanges)({
3892
+ var _86 = (0, use_chart_source_ranges_1.useChartSourceRanges)({
3839
3893
  charts: charts,
3840
3894
  sheetId: sheetId,
3841
3895
  getSheetName: getSheetName,
@@ -3844,7 +3898,7 @@ function CanvasGridComponent(props, forwardedRef) {
3844
3898
  getCellBounds: getCellBounds,
3845
3899
  getCellCoordsFromOffset: getCellCoordsFromOffset,
3846
3900
  scrollToCell: scrollToCell,
3847
- }), chartSourceBorderStyles = _87.chartSourceBorderStyles, onMouseDownChartSourceResizeHandle = _87.onMouseDownChartSourceResizeHandle;
3901
+ }), chartSourceBorderStyles = _86.chartSourceBorderStyles, onMouseDownChartSourceResizeHandle = _86.onMouseDownChartSourceResizeHandle;
3848
3902
  /**
3849
3903
  * Hide fill handle
3850
3904
  * 1. When user is in edit mode
@@ -3859,9 +3913,9 @@ function CanvasGridComponent(props, forwardedRef) {
3859
3913
  /**
3860
3914
  * Flashing
3861
3915
  */
3862
- var _88 = (0, use_flash_1.useFlash)({
3916
+ var _87 = (0, use_flash_1.useFlash)({
3863
3917
  theme: theme,
3864
- }), flash = _88.flash, mark = _88.mark, unmark = _88.unmark, onFlashEnd = _88.onFlashEnd, flashingBorders = _88.flashingBorders;
3918
+ }), flash = _87.flash, mark = _87.mark, unmark = _87.unmark, onFlashEnd = _87.onFlashEnd, flashingBorders = _87.flashingBorders;
3865
3919
  // Cache hover ids
3866
3920
  var cachedHoveredSelectionIds = (0, use_hovered_selection_ids_1.useHoveredSelectionIds)({
3867
3921
  selections: selections,
@@ -3960,7 +4014,7 @@ function CanvasGridComponent(props, forwardedRef) {
3960
4014
  ? tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(finalBorderStyles), false), tslib_1.__read(chartSourceBorderStyles), false) : finalBorderStyles;
3961
4015
  }, [finalBorderStyles, chartSourceBorderStyles]);
3962
4016
  // Hidden column markers
3963
- var _89 = tslib_1.__read((0, use_hidden_dimension_markers_1.useHiddenDimensionMarkers)({
4017
+ var _88 = tslib_1.__read((0, use_hidden_dimension_markers_1.useHiddenDimensionMarkers)({
3964
4018
  sheetId: sheetId,
3965
4019
  columnMetadata: columnMetadata,
3966
4020
  rowMetadata: rowMetadata,
@@ -3973,7 +4027,7 @@ function CanvasGridComponent(props, forwardedRef) {
3973
4027
  columnCount: columnCount,
3974
4028
  HiddenRowMarkers: HiddenRowMarkers,
3975
4029
  HiddenColumnMarkers: HiddenColumnMarkers,
3976
- }), 4), hiddenColumnMarkers = _89[0], frozenHiddenColumnMarkers = _89[1], hiddenRowMarkers = _89[2], frozenHiddenRowMarkers = _89[3];
4030
+ }), 4), hiddenColumnMarkers = _88[0], frozenHiddenColumnMarkers = _88[1], hiddenRowMarkers = _88[2], frozenHiddenRowMarkers = _88[3];
3977
4031
  // Zoom lister
3978
4032
  var onMouseWheel = (0, use_scale_listener_1.useScaleListener)({
3979
4033
  zoomSpeed: zoomSpeed,
@@ -4126,6 +4180,7 @@ function CanvasGridComponent(props, forwardedRef) {
4126
4180
  onPinToolTip: onPinToolTip,
4127
4181
  onUnpinTooltip: onUnpinTooltip,
4128
4182
  showCellPopover: showCellPopover,
4183
+ showFilterMenu: showFilterMenu,
4129
4184
  redrawGrid: redrawGrid,
4130
4185
  flash: flash,
4131
4186
  navigateToSheetRange: navigateToSheetRange,