@rowsncolumns/spreadsheet 10.5.17 → 10.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/cf-data-bar.d.ts +73 -0
- package/dist/cjs/api/cf-data-bar.d.ts.map +1 -0
- package/dist/cjs/api/cf-data-bar.js +182 -0
- package/dist/cjs/api/cf-icons.d.ts +73 -0
- package/dist/cjs/api/cf-icons.d.ts.map +1 -0
- package/dist/cjs/api/cf-icons.js +322 -0
- package/dist/cjs/api/cf-overlays.d.ts +89 -3
- package/dist/cjs/api/cf-overlays.d.ts.map +1 -1
- package/dist/cjs/api/cf-overlays.js +256 -80
- package/dist/cjs/api/cf-priority.d.ts +34 -0
- package/dist/cjs/api/cf-priority.d.ts.map +1 -0
- package/dist/cjs/api/cf-priority.js +94 -0
- package/dist/cjs/api/heatmap.d.ts +7 -1
- package/dist/cjs/api/heatmap.d.ts.map +1 -1
- package/dist/cjs/api/heatmap.js +27 -11
- package/dist/cjs/api/selections.d.ts +2 -2
- package/dist/cjs/api/validation.d.ts +6 -0
- package/dist/cjs/api/validation.d.ts.map +1 -1
- package/dist/cjs/api/validation.js +10 -1
- package/dist/cjs/atoms/goal-seek-dialog.atom.d.ts +8 -3
- package/dist/cjs/atoms/goal-seek-dialog.atom.d.ts.map +1 -1
- package/dist/cjs/atoms/index.d.ts +4 -0
- package/dist/cjs/atoms/index.d.ts.map +1 -1
- package/dist/cjs/atoms/index.js +4 -0
- package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/cjs/components/canvas-grid/index.js +194 -51
- package/dist/cjs/components/canvas-grid/overflow.d.ts +37 -0
- package/dist/cjs/components/canvas-grid/overflow.d.ts.map +1 -0
- package/dist/cjs/components/canvas-grid/overflow.js +49 -0
- package/dist/cjs/components/canvas-grid/page-breaks.d.ts +15 -0
- package/dist/cjs/components/canvas-grid/page-breaks.d.ts.map +1 -0
- package/dist/cjs/components/canvas-grid/page-breaks.js +77 -0
- package/dist/cjs/components/canvas-grid/typings.d.ts +32 -3
- package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/cjs/components/cell/alignment.d.ts +58 -1
- package/dist/cjs/components/cell/alignment.d.ts.map +1 -1
- package/dist/cjs/components/cell/alignment.js +144 -1
- package/dist/cjs/components/cell/cell-background.d.ts +2 -0
- package/dist/cjs/components/cell/cell-background.d.ts.map +1 -1
- package/dist/cjs/components/cell/cell-background.js +5 -6
- package/dist/cjs/components/cell/cell-backgrounds.d.ts.map +1 -1
- package/dist/cjs/components/cell/cell-backgrounds.js +5 -1
- package/dist/cjs/components/cell/cell-text-runs.js +1 -1
- package/dist/cjs/components/cell/index.d.ts.map +1 -1
- package/dist/cjs/components/cell/index.js +378 -37
- package/dist/cjs/components/cell/number-format-layout.d.ts +35 -0
- package/dist/cjs/components/cell/number-format-layout.d.ts.map +1 -0
- package/dist/cjs/components/cell/number-format-layout.js +106 -0
- package/dist/cjs/components/cell/typings.d.ts +22 -0
- package/dist/cjs/components/cell/typings.d.ts.map +1 -1
- package/dist/cjs/components/cell-editor/index.js +2 -2
- package/dist/cjs/components/cell-filter/index.d.ts.map +1 -1
- package/dist/cjs/components/cell-filter/index.js +3 -3
- package/dist/cjs/components/cell-overlay/index.d.ts +20 -0
- package/dist/cjs/components/cell-overlay/index.d.ts.map +1 -1
- package/dist/cjs/components/cell-overlay/index.js +155 -28
- package/dist/cjs/components/cf-icon-preview/index.d.ts +16 -0
- package/dist/cjs/components/cf-icon-preview/index.d.ts.map +1 -0
- package/dist/cjs/components/cf-icon-preview/index.js +48 -0
- package/dist/cjs/components/context-menu/index.d.ts.map +1 -1
- package/dist/cjs/components/context-menu/index.js +11 -3
- package/dist/cjs/components/embeds/embed-component.d.ts.map +1 -1
- package/dist/cjs/components/embeds/embed-component.js +3 -2
- package/dist/cjs/components/goal-seek-dialog/index.d.ts +15 -5
- package/dist/cjs/components/goal-seek-dialog/index.d.ts.map +1 -1
- package/dist/cjs/components/goal-seek-dialog/index.js +145 -42
- package/dist/cjs/components/hidden-markers/index.d.ts.map +1 -1
- package/dist/cjs/components/hidden-markers/index.js +8 -7
- package/dist/cjs/components/hidden-markers/style.d.ts +7 -0
- package/dist/cjs/components/hidden-markers/style.d.ts.map +1 -1
- package/dist/cjs/components/hidden-markers/style.js +13 -2
- package/dist/cjs/components/protect-sheet-dialog/index.d.ts +67 -0
- package/dist/cjs/components/protect-sheet-dialog/index.d.ts.map +1 -0
- package/dist/cjs/components/protect-sheet-dialog/index.js +196 -0
- package/dist/cjs/components/toolbar/types.d.ts +1 -1
- package/dist/cjs/components/toolbar/types.d.ts.map +1 -1
- package/dist/cjs/config.d.ts +13 -1
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +15 -3
- package/dist/cjs/helpers.d.ts +10 -5
- package/dist/cjs/helpers.d.ts.map +1 -1
- package/dist/cjs/helpers.js +43 -31
- package/dist/cjs/hooks/use-border-styles.d.ts.map +1 -1
- package/dist/cjs/hooks/use-border-styles.js +5 -28
- package/dist/cjs/hooks/use-cell-renderer.d.ts +35 -3
- package/dist/cjs/hooks/use-cell-renderer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-cell-renderer.js +85 -47
- package/dist/cjs/hooks/use-conditional-formatting.d.ts +13 -1
- package/dist/cjs/hooks/use-conditional-formatting.d.ts.map +1 -1
- package/dist/cjs/hooks/use-conditional-formatting.js +281 -230
- package/dist/cjs/index.d.ts +7 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +13 -1
- package/dist/cjs/release-date.js +1 -1
- package/dist/cjs/themes.d.ts +8 -0
- package/dist/cjs/themes.d.ts.map +1 -1
- package/dist/cjs/themes.js +21 -3
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/types.d.ts +115 -5
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/api/cf-data-bar.d.ts +73 -0
- package/dist/esm/api/cf-data-bar.d.ts.map +1 -0
- package/dist/esm/api/cf-data-bar.js +178 -0
- package/dist/esm/api/cf-icons.d.ts +73 -0
- package/dist/esm/api/cf-icons.d.ts.map +1 -0
- package/dist/esm/api/cf-icons.js +306 -0
- package/dist/esm/api/cf-overlays.d.ts +89 -3
- package/dist/esm/api/cf-overlays.d.ts.map +1 -1
- package/dist/esm/api/cf-overlays.js +223 -67
- package/dist/esm/api/cf-priority.d.ts +34 -0
- package/dist/esm/api/cf-priority.d.ts.map +1 -0
- package/dist/esm/api/cf-priority.js +61 -0
- package/dist/esm/api/heatmap.d.ts +7 -1
- package/dist/esm/api/heatmap.d.ts.map +1 -1
- package/dist/esm/api/heatmap.js +24 -9
- package/dist/esm/api/selections.d.ts +2 -2
- package/dist/esm/api/validation.d.ts +6 -0
- package/dist/esm/api/validation.d.ts.map +1 -1
- package/dist/esm/api/validation.js +6 -0
- package/dist/esm/atoms/goal-seek-dialog.atom.d.ts +8 -3
- package/dist/esm/atoms/goal-seek-dialog.atom.d.ts.map +1 -1
- package/dist/esm/atoms/index.d.ts +4 -0
- package/dist/esm/atoms/index.d.ts.map +1 -1
- package/dist/esm/atoms/index.js +4 -0
- package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/esm/components/canvas-grid/index.js +163 -47
- package/dist/esm/components/canvas-grid/overflow.d.ts +37 -0
- package/dist/esm/components/canvas-grid/overflow.d.ts.map +1 -0
- package/dist/esm/components/canvas-grid/overflow.js +39 -0
- package/dist/esm/components/canvas-grid/page-breaks.d.ts +15 -0
- package/dist/esm/components/canvas-grid/page-breaks.d.ts.map +1 -0
- package/dist/esm/components/canvas-grid/page-breaks.js +50 -0
- package/dist/esm/components/canvas-grid/typings.d.ts +32 -3
- package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/esm/components/cell/alignment.d.ts +58 -1
- package/dist/esm/components/cell/alignment.d.ts.map +1 -1
- package/dist/esm/components/cell/alignment.js +110 -1
- package/dist/esm/components/cell/cell-background.d.ts +2 -0
- package/dist/esm/components/cell/cell-background.d.ts.map +1 -1
- package/dist/esm/components/cell/cell-background.js +4 -5
- package/dist/esm/components/cell/cell-backgrounds.d.ts.map +1 -1
- package/dist/esm/components/cell/cell-backgrounds.js +5 -1
- package/dist/esm/components/cell/cell-text-runs.js +2 -2
- package/dist/esm/components/cell/index.d.ts.map +1 -1
- package/dist/esm/components/cell/index.js +339 -39
- package/dist/esm/components/cell/number-format-layout.d.ts +35 -0
- package/dist/esm/components/cell/number-format-layout.d.ts.map +1 -0
- package/dist/esm/components/cell/number-format-layout.js +99 -0
- package/dist/esm/components/cell/typings.d.ts +22 -0
- package/dist/esm/components/cell/typings.d.ts.map +1 -1
- package/dist/esm/components/cell-editor/index.js +2 -2
- package/dist/esm/components/cell-filter/index.d.ts.map +1 -1
- package/dist/esm/components/cell-filter/index.js +4 -4
- package/dist/esm/components/cell-overlay/index.d.ts +20 -0
- package/dist/esm/components/cell-overlay/index.d.ts.map +1 -1
- package/dist/esm/components/cell-overlay/index.js +111 -25
- package/dist/esm/components/cf-icon-preview/index.d.ts +16 -0
- package/dist/esm/components/cf-icon-preview/index.d.ts.map +1 -0
- package/dist/esm/components/cf-icon-preview/index.js +41 -0
- package/dist/esm/components/context-menu/index.d.ts.map +1 -1
- package/dist/esm/components/context-menu/index.js +11 -3
- package/dist/esm/components/embeds/embed-component.d.ts.map +1 -1
- package/dist/esm/components/embeds/embed-component.js +4 -3
- package/dist/esm/components/goal-seek-dialog/index.d.ts +15 -5
- package/dist/esm/components/goal-seek-dialog/index.d.ts.map +1 -1
- package/dist/esm/components/goal-seek-dialog/index.js +126 -29
- package/dist/esm/components/hidden-markers/index.d.ts.map +1 -1
- package/dist/esm/components/hidden-markers/index.js +9 -8
- package/dist/esm/components/hidden-markers/style.d.ts +7 -0
- package/dist/esm/components/hidden-markers/style.d.ts.map +1 -1
- package/dist/esm/components/hidden-markers/style.js +8 -1
- package/dist/esm/components/protect-sheet-dialog/index.d.ts +67 -0
- package/dist/esm/components/protect-sheet-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/protect-sheet-dialog/index.js +154 -0
- package/dist/esm/components/toolbar/types.d.ts +1 -1
- package/dist/esm/components/toolbar/types.d.ts.map +1 -1
- package/dist/esm/config.d.ts +13 -1
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +13 -1
- package/dist/esm/helpers.d.ts +10 -5
- package/dist/esm/helpers.d.ts.map +1 -1
- package/dist/esm/helpers.js +40 -28
- package/dist/esm/hooks/use-border-styles.d.ts.map +1 -1
- package/dist/esm/hooks/use-border-styles.js +5 -26
- package/dist/esm/hooks/use-cell-renderer.d.ts +35 -3
- package/dist/esm/hooks/use-cell-renderer.d.ts.map +1 -1
- package/dist/esm/hooks/use-cell-renderer.js +83 -42
- package/dist/esm/hooks/use-conditional-formatting.d.ts +13 -1
- package/dist/esm/hooks/use-conditional-formatting.d.ts.map +1 -1
- package/dist/esm/hooks/use-conditional-formatting.js +215 -120
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +7 -0
- package/dist/esm/release-date.js +1 -1
- package/dist/esm/themes.d.ts +8 -0
- package/dist/esm/themes.d.ts.map +1 -1
- package/dist/esm/themes.js +20 -3
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/types.d.ts +115 -5
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/spreadsheet.min.css +1 -1
- package/package.json +4 -4
|
@@ -18,6 +18,7 @@ var banded_ranges_1 = require("../../api/banded-ranges");
|
|
|
18
18
|
var insert_options_1 = require("../../api/insert-options");
|
|
19
19
|
var calculated_column_fill_1 = require("../../api/calculated-column-fill");
|
|
20
20
|
var table_auto_expansion_1 = require("../../api/table-auto-expansion");
|
|
21
|
+
var cf_overlays_1 = require("../../api/cf-overlays");
|
|
21
22
|
var cf_window_1 = require("../../api/cf-window");
|
|
22
23
|
var selections_1 = require("../../api/selections");
|
|
23
24
|
var spreadsheet_api_1 = require("../../api/spreadsheet-api");
|
|
@@ -42,6 +43,8 @@ var use_border_styles_1 = require("../../hooks/use-border-styles");
|
|
|
42
43
|
var use_callback_ref_1 = require("../../hooks/use-callback-ref");
|
|
43
44
|
var use_cell_popover_1 = require("../../hooks/use-cell-popover");
|
|
44
45
|
var use_cell_renderer_1 = require("../../hooks/use-cell-renderer");
|
|
46
|
+
var overflow_1 = require("./overflow");
|
|
47
|
+
var page_breaks_1 = require("./page-breaks");
|
|
45
48
|
var use_chart_source_ranges_1 = require("../../hooks/use-chart-source-ranges");
|
|
46
49
|
var use_conditional_formatting_1 = require("../../hooks/use-conditional-formatting");
|
|
47
50
|
var use_context_menu_1 = require("../../hooks/use-context-menu");
|
|
@@ -133,7 +136,7 @@ function isDetachedEditor(editor) {
|
|
|
133
136
|
}
|
|
134
137
|
function CanvasGridComponent(props, forwardedRef) {
|
|
135
138
|
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, 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,
|
|
139
|
+
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 ? config_1.FILTER_BUTTON_GLYPH_COLOR : _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, showZeros = props.showZeros, pageBreaks = props.pageBreaks, _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, getConditionalFormatRuleStats = props.getConditionalFormatRuleStats, 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
140
|
// Host-driven filter props. `hostHiddenRowRanges`
|
|
138
141
|
// supplies compact [start, end] hidden-row tuples; `getFilterValues` supplies a
|
|
139
142
|
// column's distinct values. Both let a million-row filter render without scanning
|
|
@@ -148,7 +151,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
148
151
|
// (formula-valued names, structured references, OFFSET/INDIRECT/FILTER/UNIQUE).
|
|
149
152
|
resolveValidationSourceValues = props.resolveValidationSourceValues,
|
|
150
153
|
// Unused props only for api
|
|
151
|
-
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", "resolveValidationSourceValues", "getDataColumnCount", "onDeleteNamedRange", "onChangeBorder", "onDuplicateSheet", "onCreateConditionalFormattingRule", "onDeleteConditionalFormattingRule", "onUpdateConditionalFormattingRule", "onCreateDataValidationRule", "onUpdateDataValidationRule", "onDeleteDataValidationRule", "onCreateChart", "onDeleteSheet", "onCreateEmbed", "onDecreaseIndent", "onIncreaseIndent", "onChangeTheme", "onChangeDecimals", "onUpdateSheet", "onChangeBatchStream", "onBlur"]);
|
|
154
|
+
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", "showZeros", "pageBreaks", "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", "getConditionalFormatRuleStats", "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", "resolveValidationSourceValues", "getDataColumnCount", "onDeleteNamedRange", "onChangeBorder", "onDuplicateSheet", "onCreateConditionalFormattingRule", "onDeleteConditionalFormattingRule", "onUpdateConditionalFormattingRule", "onCreateDataValidationRule", "onUpdateDataValidationRule", "onDeleteDataValidationRule", "onCreateChart", "onDeleteSheet", "onCreateEmbed", "onDecreaseIndent", "onIncreaseIndent", "onChangeTheme", "onChangeDecimals", "onUpdateSheet", "onChangeBatchStream", "onBlur"]);
|
|
152
155
|
// Enter on a cell opens the editor in Google Sheets and moves down in
|
|
153
156
|
// Excel; a host's explicit value wins under either keymap.
|
|
154
157
|
var enableEditOnEnterKey = enableEditOnEnterKeyProp !== null && enableEditOnEnterKeyProp !== void 0 ? enableEditOnEnterKeyProp : keymap !== "excel";
|
|
@@ -1111,10 +1114,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1111
1114
|
* Check if a cell data is a number
|
|
1112
1115
|
*/
|
|
1113
1116
|
var isNumberValue = (0, react_1.useCallback)(function (sheetId, rowIndex, columnIndex) {
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
return !!((_a = cellFormat === null || cellFormat === void 0 ? void 0 : cellFormat.numberFormat) === null || _a === void 0 ? void 0 : _a.type);
|
|
1117
|
-
}, [getCellFormat]);
|
|
1117
|
+
return (0, cf_overlays_1.isConditionalFormatNumberCell)(getEffectiveValue(sheetId, rowIndex, columnIndex), getCellFormat === null || getCellFormat === void 0 ? void 0 : getCellFormat(sheetId, rowIndex, columnIndex));
|
|
1118
|
+
}, [getCellFormat, getEffectiveValue]);
|
|
1118
1119
|
/**
|
|
1119
1120
|
* Get value entered by the user in a cell
|
|
1120
1121
|
* If its a formula cell, formulaValue is used
|
|
@@ -1230,6 +1231,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1230
1231
|
getConditionalFormatResult: engineConditionalFormatResults
|
|
1231
1232
|
? getFormulaValidationValue
|
|
1232
1233
|
: undefined,
|
|
1234
|
+
getConditionalFormatRuleStats: getConditionalFormatRuleStats,
|
|
1233
1235
|
});
|
|
1234
1236
|
/**
|
|
1235
1237
|
* Get conditional format of a cell
|
|
@@ -1237,6 +1239,29 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1237
1239
|
var getConditionalCellFormat = (0, react_1.useCallback)(function (sheetId, rowIndex, columnIndex) {
|
|
1238
1240
|
return conditionalFormatByCell.get((0, grid_5.cellIdentifier)(rowIndex, columnIndex));
|
|
1239
1241
|
}, [conditionalFormatByCell]);
|
|
1242
|
+
/**
|
|
1243
|
+
* The text a cell paints: a true conditional format's number format
|
|
1244
|
+
* (Format Cells ▸ Number in the rule) re-formats a numeric value, as in
|
|
1245
|
+
* Excel; otherwise the cell's own formatted value.
|
|
1246
|
+
*/
|
|
1247
|
+
var getDisplayFormattedValue = (0, react_1.useCallback)(function (sheetId, rowIndex, columnIndex) {
|
|
1248
|
+
var _a, _b;
|
|
1249
|
+
var pattern = (_b = (_a = conditionalFormatByCell.get((0, grid_5.cellIdentifier)(rowIndex, columnIndex))) === null || _a === void 0 ? void 0 : _a.numberFormat) === null || _b === void 0 ? void 0 : _b.pattern;
|
|
1250
|
+
if (pattern && !(showFormulas && !protectFormulas)) {
|
|
1251
|
+
var numberValue = (0, helpers_1.getExtendedValueNumber)(getEffectiveValue(sheetId, rowIndex, columnIndex));
|
|
1252
|
+
if (typeof numberValue === "number") {
|
|
1253
|
+
return (0, utils_1.ssfFormat)(pattern, numberValue, locale);
|
|
1254
|
+
}
|
|
1255
|
+
}
|
|
1256
|
+
return getFormattedValue(sheetId, rowIndex, columnIndex);
|
|
1257
|
+
}, [
|
|
1258
|
+
conditionalFormatByCell,
|
|
1259
|
+
getEffectiveValue,
|
|
1260
|
+
getFormattedValue,
|
|
1261
|
+
locale,
|
|
1262
|
+
protectFormulas,
|
|
1263
|
+
showFormulas,
|
|
1264
|
+
]);
|
|
1240
1265
|
/**
|
|
1241
1266
|
* Get conditional format of a cell
|
|
1242
1267
|
*/
|
|
@@ -1293,15 +1318,18 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1293
1318
|
var _textFormat = defaultCellFormat.textFormat, rest = tslib_1.__rest(defaultCellFormat, ["textFormat"]);
|
|
1294
1319
|
return Object.keys(rest).length ? rest : undefined;
|
|
1295
1320
|
}, [defaultCellFormat]);
|
|
1321
|
+
var isDarkGrid = (0, react_1.useMemo)(function () { return (0, cf_overlays_1.isDarkCssColor)((0, themes_1.getStringifiedColor)(cellBackgroundColor, theme)); }, [cellBackgroundColor, theme]);
|
|
1296
1322
|
var getEffectiveCellFormat = (0, react_1.useCallback)(function (sheetId, rowIndex, columnIndex) {
|
|
1297
1323
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
1298
1324
|
var cellFormat = getCellFormat(sheetId, rowIndex, columnIndex);
|
|
1299
1325
|
var isHyperlink = Boolean(getHyperlink(sheetId, rowIndex, columnIndex));
|
|
1300
1326
|
var conditionalCellFormat = getConditionalCellFormat(sheetId, rowIndex, columnIndex);
|
|
1301
1327
|
var bandedCellFormat = getBandedCellFormat(sheetId, rowIndex, columnIndex);
|
|
1302
|
-
//
|
|
1303
|
-
//
|
|
1304
|
-
|
|
1328
|
+
// A fill-only rule keeps the cell's font colour (Excel). Only a dark
|
|
1329
|
+
// grid swaps to a contrasting text colour, so the default light text
|
|
1330
|
+
// stays readable on the rule's (usually light) fill.
|
|
1331
|
+
var conditionalFormatColor = isDarkGrid &&
|
|
1332
|
+
(conditionalCellFormat === null || conditionalCellFormat === void 0 ? void 0 : conditionalCellFormat.backgroundColor) &&
|
|
1305
1333
|
!((_a = conditionalCellFormat === null || conditionalCellFormat === void 0 ? void 0 : conditionalCellFormat.textFormat) === null || _a === void 0 ? void 0 : _a.color)
|
|
1306
1334
|
? (0, utils_1.getContrastColor)((0, themes_1.getStringifiedColor)(conditionalCellFormat.backgroundColor, theme), (0, themes_1.getStringifiedColor)({ theme: 1 }, theme), (0, themes_1.getStringifiedColor)({ theme: 1, tint: 1 }, theme))
|
|
1307
1335
|
: undefined;
|
|
@@ -1367,6 +1395,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1367
1395
|
cellColor,
|
|
1368
1396
|
defaultCellTextFormat,
|
|
1369
1397
|
defaultCellFormatRest,
|
|
1398
|
+
isDarkGrid,
|
|
1370
1399
|
]);
|
|
1371
1400
|
/**
|
|
1372
1401
|
* Get horizontal alignment of editor
|
|
@@ -1755,37 +1784,24 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1755
1784
|
*/
|
|
1756
1785
|
var canOverflowToNextCell = (0, react_1.useCallback)(function (_a) {
|
|
1757
1786
|
var rowIndex = _a.rowIndex, columnIndex = _a.columnIndex;
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
return false;
|
|
1769
|
-
}
|
|
1770
|
-
var _b = tslib_1.__read(getCellGroupingInfo(sheetId, rowIndex, columnIndex), 1), expandable = _b[0];
|
|
1771
|
-
if (expandable) {
|
|
1772
|
-
return false;
|
|
1773
|
-
}
|
|
1774
|
-
var formattedValue = getFormattedValue === null || getFormattedValue === void 0 ? void 0 : getFormattedValue(sheetId, rowIndex, columnIndex);
|
|
1775
|
-
return (getNote(sheetId, rowIndex, columnIndex) === undefined &&
|
|
1776
|
-
(0, utils_1.isNilOrBlank)(formattedValue) &&
|
|
1777
|
-
getCellImageUrl(sheetId, rowIndex, columnIndex) === undefined);
|
|
1787
|
+
// Only content stops the spill (Excel): a value, a formula result
|
|
1788
|
+
// (`=""` included), an image. Data validation, notes, tables and
|
|
1789
|
+
// banding are not content.
|
|
1790
|
+
return !(0, overflow_1.blocksOverflow)({
|
|
1791
|
+
isHeader: isRowHeader(columnIndex) || isColumnHeader(rowIndex),
|
|
1792
|
+
isExpandable: getCellGroupingInfo(sheetId, rowIndex, columnIndex)[0],
|
|
1793
|
+
formattedValue: getFormattedValue === null || getFormattedValue === void 0 ? void 0 : getFormattedValue(sheetId, rowIndex, columnIndex),
|
|
1794
|
+
effectiveValue: getEffectiveValue(sheetId, rowIndex, columnIndex),
|
|
1795
|
+
hasImage: getCellImageUrl(sheetId, rowIndex, columnIndex) !== undefined,
|
|
1796
|
+
});
|
|
1778
1797
|
}, [
|
|
1779
1798
|
sheetId,
|
|
1780
1799
|
getFormattedValue,
|
|
1800
|
+
getEffectiveValue,
|
|
1781
1801
|
getCellGroupingInfo,
|
|
1782
1802
|
getCellImageUrl,
|
|
1783
|
-
getNote,
|
|
1784
|
-
getDataValidationRule,
|
|
1785
1803
|
isRowHeader,
|
|
1786
1804
|
isColumnHeader,
|
|
1787
|
-
isTableHeader,
|
|
1788
|
-
isBandedCell,
|
|
1789
1805
|
]);
|
|
1790
1806
|
/**
|
|
1791
1807
|
* If a cell is hidden,
|
|
@@ -2016,18 +2032,19 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2016
2032
|
if (axis === "x") {
|
|
2017
2033
|
return 0;
|
|
2018
2034
|
}
|
|
2019
|
-
/* Data validation arrow */
|
|
2020
|
-
var dataValidation = getDataValidationRule(sheetId, rowIndex, columnIndex);
|
|
2021
2035
|
var additionalCellSpacing = (_a = getAdditionalCellSpacing === null || getAdditionalCellSpacing === void 0 ? void 0 : getAdditionalCellSpacing(sheetId, rowIndex, columnIndex)) !== null && _a !== void 0 ? _a : 0;
|
|
2022
|
-
|
|
2023
|
-
|
|
2036
|
+
// A data-validation list's dropdown paints beside the active cell, so
|
|
2037
|
+
// only the table totals arrow takes room inside the cell.
|
|
2038
|
+
var showArrow = isTableTotalsCell(rowIndex, columnIndex);
|
|
2024
2039
|
var showChip = getCellMetaType(sheetId, rowIndex, columnIndex) === "people";
|
|
2025
2040
|
var _d = tslib_1.__read(getCellGroupingInfo(sheetId, rowIndex, columnIndex), 1), expandable = _d[0];
|
|
2026
2041
|
var iconSpacing = config_1.DEFAULT_CELL_SPACING;
|
|
2027
2042
|
var expandableSpacing = expandable
|
|
2028
2043
|
? (config_1.EXPAND_COLLAPSE_ICON_WIDTH + iconSpacing) * scale
|
|
2029
2044
|
: 0;
|
|
2030
|
-
var indentSpacing = ((_b = getCellIndent(sheetId, rowIndex, columnIndex)) !== null && _b !== void 0 ? _b : 0) *
|
|
2045
|
+
var indentSpacing = ((_b = getCellIndent(sheetId, rowIndex, columnIndex)) !== null && _b !== void 0 ? _b : 0) *
|
|
2046
|
+
config_1.INDENT_SPACING *
|
|
2047
|
+
scale;
|
|
2031
2048
|
// Cell has dropdown icon
|
|
2032
2049
|
var arrowSpacing = showArrow
|
|
2033
2050
|
? (config_1.ARROW_DOWN_WIDTH + iconSpacing) * scale
|
|
@@ -2060,7 +2077,6 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2060
2077
|
additionalCellSpacing);
|
|
2061
2078
|
}, [
|
|
2062
2079
|
isTableFilterVisible,
|
|
2063
|
-
getDataValidationRule,
|
|
2064
2080
|
getCellMetaType,
|
|
2065
2081
|
getCellIndent,
|
|
2066
2082
|
showCalculatedColumnIcon,
|
|
@@ -2090,7 +2106,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2090
2106
|
isHiddenColumn: isHiddenColumn,
|
|
2091
2107
|
getTextFormat: getTextFormat,
|
|
2092
2108
|
getTextFormatRuns: getTextFormatRuns,
|
|
2093
|
-
getTextValue:
|
|
2109
|
+
getTextValue: getDisplayFormattedValue,
|
|
2094
2110
|
getSpacing: getCellSpacing,
|
|
2095
2111
|
getActualCellWidth: getActualCellWidth,
|
|
2096
2112
|
shouldWrapCell: shouldWrapCell,
|
|
@@ -3793,23 +3809,133 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3793
3809
|
}
|
|
3794
3810
|
onKeyDownEditable(e);
|
|
3795
3811
|
}, [onKeyDownEditable]);
|
|
3812
|
+
/**
|
|
3813
|
+
* Center Across Selection: a `centerContinuous` cell centres its text over
|
|
3814
|
+
* the empty neighbours on either side that carry the same alignment
|
|
3815
|
+
* (Format Cells ▸ Alignment ▸ Horizontal).
|
|
3816
|
+
*/
|
|
3817
|
+
var getCenterAcrossSelectionSpan = (0, react_1.useCallback)(function (sheetId, rowIndex, columnIndex) {
|
|
3818
|
+
var e_12, _a;
|
|
3819
|
+
var _b;
|
|
3820
|
+
var canSpan = function (index) {
|
|
3821
|
+
var _a;
|
|
3822
|
+
return ((_a = getEffectiveCellFormat(sheetId, rowIndex, index)) === null || _a === void 0 ? void 0 : _a.horizontalAlignment) === "centerContinuous" &&
|
|
3823
|
+
canOverflowToNextCell({ rowIndex: rowIndex, columnIndex: index });
|
|
3824
|
+
};
|
|
3825
|
+
var scaledWidth = function (index) { return columnWidth(index) * scale; };
|
|
3826
|
+
var left = (0, overflow_1.walkOverflowColumns)({
|
|
3827
|
+
start: columnIndex,
|
|
3828
|
+
step: -1,
|
|
3829
|
+
need: Infinity,
|
|
3830
|
+
canOverflow: canSpan,
|
|
3831
|
+
columnWidth: scaledWidth,
|
|
3832
|
+
});
|
|
3833
|
+
var right = (0, overflow_1.walkOverflowColumns)({
|
|
3834
|
+
start: columnIndex,
|
|
3835
|
+
step: 1,
|
|
3836
|
+
need: Infinity,
|
|
3837
|
+
canOverflow: canSpan,
|
|
3838
|
+
columnWidth: scaledWidth,
|
|
3839
|
+
});
|
|
3840
|
+
if (!left.columns.length && !right.columns.length)
|
|
3841
|
+
return undefined;
|
|
3842
|
+
var spans = [];
|
|
3843
|
+
try {
|
|
3844
|
+
for (var _c = tslib_1.__values(tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(left.columns), false), tslib_1.__read(right.columns), false)), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
3845
|
+
var index = _d.value;
|
|
3846
|
+
spans.push([
|
|
3847
|
+
index,
|
|
3848
|
+
getColumnOffset(index),
|
|
3849
|
+
scaledWidth(index),
|
|
3850
|
+
(_b = getEffectiveCellFormat(sheetId, rowIndex, index)) === null || _b === void 0 ? void 0 : _b.backgroundColor,
|
|
3851
|
+
]);
|
|
3852
|
+
}
|
|
3853
|
+
}
|
|
3854
|
+
catch (e_12_1) { e_12 = { error: e_12_1 }; }
|
|
3855
|
+
finally {
|
|
3856
|
+
try {
|
|
3857
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
3858
|
+
}
|
|
3859
|
+
finally { if (e_12) throw e_12.error; }
|
|
3860
|
+
}
|
|
3861
|
+
return [
|
|
3862
|
+
scaledWidth(columnIndex) + left.width + right.width,
|
|
3863
|
+
spans,
|
|
3864
|
+
left.width,
|
|
3865
|
+
];
|
|
3866
|
+
}, [
|
|
3867
|
+
canOverflowToNextCell,
|
|
3868
|
+
columnWidth,
|
|
3869
|
+
getColumnOffset,
|
|
3870
|
+
getEffectiveCellFormat,
|
|
3871
|
+
scale,
|
|
3872
|
+
]);
|
|
3796
3873
|
/**
|
|
3797
3874
|
* Get maximum text width
|
|
3798
3875
|
* before it overflows into next cell
|
|
3799
3876
|
*/
|
|
3800
|
-
var getMaximumOverflowTextWidth = (0, react_1.useCallback)(function (formattedValue, sheetId, rowIndex, columnIndex, canOverflowToNextCell, textFormat, shouldWrapOverride, direction) {
|
|
3801
|
-
var
|
|
3877
|
+
var getMaximumOverflowTextWidth = (0, react_1.useCallback)(function (formattedValue, sheetId, rowIndex, columnIndex, canOverflowToNextCell, textFormat, shouldWrapOverride, direction, centered) {
|
|
3878
|
+
var e_13, _a;
|
|
3879
|
+
var _b, _c, _d, _e, _f, _g;
|
|
3802
3880
|
if (direction === void 0) { direction = grid_1.Direction.Right; }
|
|
3881
|
+
if (centered === void 0) { centered = false; }
|
|
3803
3882
|
// A format override makes the sizer measure the whole text
|
|
3804
3883
|
// uniformly, ignoring per-segment rich-text runs. For cells that
|
|
3805
3884
|
// carry runs (e.g. imported xlsx titles with mixed font sizes),
|
|
3806
3885
|
// skip the override so run-aware measurement is used.
|
|
3807
|
-
var hasRichRuns = ((
|
|
3886
|
+
var hasRichRuns = ((_c = (_b = getTextFormatRuns === null || getTextFormatRuns === void 0 ? void 0 : getTextFormatRuns(sheetId, rowIndex, columnIndex)) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) > 0;
|
|
3808
3887
|
var textWidth = getCellDimensions(sheetId, rowIndex, columnIndex, "y", tslib_1.__assign(tslib_1.__assign({ textOverride: formattedValue }, (hasRichRuns ? {} : { textFormatOverride: textFormat })), { shouldWrapOverride: shouldWrapOverride })).width;
|
|
3809
3888
|
var colWidth = columnWidth(columnIndex) * scale;
|
|
3810
3889
|
if (textWidth < colWidth) {
|
|
3811
3890
|
return [textWidth, config_1.DEFAULT_ARRAY];
|
|
3812
3891
|
}
|
|
3892
|
+
if (centered) {
|
|
3893
|
+
// Centred text spills half its excess each way (Excel); a blocked
|
|
3894
|
+
// side clips while the text stays centred on its own cell.
|
|
3895
|
+
var need = (textWidth - colWidth) / 2;
|
|
3896
|
+
var scaledWidth = function (index) { return columnWidth(index) * scale; };
|
|
3897
|
+
var canOverflow = function (index) {
|
|
3898
|
+
return canOverflowToNextCell({ rowIndex: rowIndex, columnIndex: index });
|
|
3899
|
+
};
|
|
3900
|
+
var left = (0, overflow_1.walkOverflowColumns)({
|
|
3901
|
+
start: columnIndex,
|
|
3902
|
+
step: -1,
|
|
3903
|
+
need: need,
|
|
3904
|
+
canOverflow: canOverflow,
|
|
3905
|
+
columnWidth: scaledWidth,
|
|
3906
|
+
});
|
|
3907
|
+
var right = (0, overflow_1.walkOverflowColumns)({
|
|
3908
|
+
start: columnIndex,
|
|
3909
|
+
step: 1,
|
|
3910
|
+
need: need,
|
|
3911
|
+
canOverflow: canOverflow,
|
|
3912
|
+
columnWidth: scaledWidth,
|
|
3913
|
+
});
|
|
3914
|
+
var spans = [];
|
|
3915
|
+
try {
|
|
3916
|
+
for (var _h = tslib_1.__values(tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(left.columns), false), tslib_1.__read(right.columns), false)), _j = _h.next(); !_j.done; _j = _h.next()) {
|
|
3917
|
+
var index = _j.value;
|
|
3918
|
+
spans.push([
|
|
3919
|
+
index,
|
|
3920
|
+
getColumnOffset(index),
|
|
3921
|
+
scaledWidth(index),
|
|
3922
|
+
(_d = getEffectiveCellFormat(sheetId, rowIndex, index)) === null || _d === void 0 ? void 0 : _d.backgroundColor,
|
|
3923
|
+
]);
|
|
3924
|
+
}
|
|
3925
|
+
}
|
|
3926
|
+
catch (e_13_1) { e_13 = { error: e_13_1 }; }
|
|
3927
|
+
finally {
|
|
3928
|
+
try {
|
|
3929
|
+
if (_j && !_j.done && (_a = _h.return)) _a.call(_h);
|
|
3930
|
+
}
|
|
3931
|
+
finally { if (e_13) throw e_13.error; }
|
|
3932
|
+
}
|
|
3933
|
+
return [
|
|
3934
|
+
colWidth + Math.min(left.width, need) + Math.min(right.width, need),
|
|
3935
|
+
spans,
|
|
3936
|
+
Math.min(left.width, need),
|
|
3937
|
+
];
|
|
3938
|
+
}
|
|
3813
3939
|
var start = columnIndex;
|
|
3814
3940
|
var columnSpans = [];
|
|
3815
3941
|
var isMovingRight = direction === grid_1.Direction.Right;
|
|
@@ -3820,7 +3946,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3820
3946
|
colWidth < textWidth) {
|
|
3821
3947
|
var prev = isMovingRight ? start - 1 : start + 1;
|
|
3822
3948
|
// For right aligned texts
|
|
3823
|
-
var borderColor = (
|
|
3949
|
+
var borderColor = (_f = (_e = getEffectiveCellFormat(sheetId, rowIndex, isMovingRight ? start : prev)) === null || _e === void 0 ? void 0 : _e.backgroundColor) !== null && _f !== void 0 ? _f : (_g = getEffectiveCellFormat(sheetId, rowIndex, isMovingRight ? prev : start)) === null || _g === void 0 ? void 0 : _g.backgroundColor;
|
|
3824
3950
|
var nextColWidth = columnWidth(start) * scale;
|
|
3825
3951
|
columnSpans.push([
|
|
3826
3952
|
start,
|
|
@@ -3847,7 +3973,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3847
3973
|
isTableTotalsCell: isTableTotalsCell,
|
|
3848
3974
|
onTotalsArrowClick: handleTotalsArrowClick,
|
|
3849
3975
|
formulaLocale: formulaLocale,
|
|
3976
|
+
locale: locale,
|
|
3850
3977
|
showGridLines: showGridLines,
|
|
3978
|
+
showZeros: showZeros,
|
|
3851
3979
|
scale: scale,
|
|
3852
3980
|
enableTextOverflow: enableTextOverflow,
|
|
3853
3981
|
isRowHeader: isRowHeader,
|
|
@@ -3885,7 +4013,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3885
4013
|
getComment: getComment,
|
|
3886
4014
|
getEffectiveValue: getEffectiveValue,
|
|
3887
4015
|
getSparklineGroup: getSparklineGroup,
|
|
3888
|
-
getFormattedValue:
|
|
4016
|
+
getFormattedValue: getDisplayFormattedValue,
|
|
3889
4017
|
getCellImageUrl: getCellImageUrl,
|
|
3890
4018
|
getEffectiveCellFormat: getEffectiveCellFormat,
|
|
3891
4019
|
getCellBounds: getCellBounds,
|
|
@@ -3893,6 +4021,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3893
4021
|
getRowHeaderText: getRowHeaderText,
|
|
3894
4022
|
getColumnHeaderText: getColumnHeaderText,
|
|
3895
4023
|
getMaximumOverflowTextWidth: getMaximumOverflowTextWidth,
|
|
4024
|
+
getCenterAcrossSelectionSpan: getCenterAcrossSelectionSpan,
|
|
4025
|
+
activeCell: activeCell,
|
|
3896
4026
|
getTextDimension: getTextDimension,
|
|
3897
4027
|
getCellGroupingInfo: getCellGroupingInfo,
|
|
3898
4028
|
getTextFormatRuns: getTextFormatRuns,
|
|
@@ -4078,10 +4208,13 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
4078
4208
|
quickEditValues: quickEditValues,
|
|
4079
4209
|
});
|
|
4080
4210
|
// A selected chart's source outlines draw on top of the other range borders.
|
|
4211
|
+
// Page breaks (when the host shows them) dash across the sheet, Excel's
|
|
4212
|
+
// Normal-view page-break lines.
|
|
4213
|
+
var pageBreakBorderStyles = (0, react_1.useMemo)(function () { return (0, page_breaks_1.getPageBreakBorderStyles)(pageBreaks, rowCount, columnCount); }, [pageBreaks, rowCount, columnCount]);
|
|
4081
4214
|
var gridBorderStyles = (0, react_1.useMemo)(function () {
|
|
4082
|
-
return chartSourceBorderStyles.length
|
|
4083
|
-
? tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(finalBorderStyles), false), tslib_1.__read(chartSourceBorderStyles), false) : finalBorderStyles;
|
|
4084
|
-
}, [finalBorderStyles, chartSourceBorderStyles]);
|
|
4215
|
+
return chartSourceBorderStyles.length || pageBreakBorderStyles.length
|
|
4216
|
+
? tslib_1.__spreadArray(tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(pageBreakBorderStyles), false), tslib_1.__read(finalBorderStyles), false), tslib_1.__read(chartSourceBorderStyles), false) : finalBorderStyles;
|
|
4217
|
+
}, [finalBorderStyles, chartSourceBorderStyles, pageBreakBorderStyles]);
|
|
4085
4218
|
// Hidden column markers
|
|
4086
4219
|
var _88 = tslib_1.__read((0, use_hidden_dimension_markers_1.useHiddenDimensionMarkers)({
|
|
4087
4220
|
sheetId: sheetId,
|
|
@@ -4281,7 +4414,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
4281
4414
|
});
|
|
4282
4415
|
// Pivot placeholders
|
|
4283
4416
|
var pivotPlaceholders = (0, react_1.useMemo)(function () {
|
|
4284
|
-
var
|
|
4417
|
+
var e_14, _a;
|
|
4285
4418
|
var _b, _c;
|
|
4286
4419
|
var placeholders = [];
|
|
4287
4420
|
var displayIdx = 0;
|
|
@@ -4297,12 +4430,12 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
4297
4430
|
}
|
|
4298
4431
|
}
|
|
4299
4432
|
}
|
|
4300
|
-
catch (
|
|
4433
|
+
catch (e_14_1) { e_14 = { error: e_14_1 }; }
|
|
4301
4434
|
finally {
|
|
4302
4435
|
try {
|
|
4303
4436
|
if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
|
|
4304
4437
|
}
|
|
4305
|
-
finally { if (
|
|
4438
|
+
finally { if (e_14) throw e_14.error; }
|
|
4306
4439
|
}
|
|
4307
4440
|
return placeholders;
|
|
4308
4441
|
}, [pivotTables, sheetId, onRequestEditPivotTable, getCellOffsetFromCoords]);
|
|
@@ -4396,6 +4529,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
4396
4529
|
}, []);
|
|
4397
4530
|
// Update formulabar input value when activecell changes
|
|
4398
4531
|
(0, use_isomorphic_layout_effect_1.useIsomorphicLayoutEffect)(function () {
|
|
4532
|
+
var _a;
|
|
4399
4533
|
if (formulaMode) {
|
|
4400
4534
|
return;
|
|
4401
4535
|
}
|
|
@@ -4406,6 +4540,13 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
4406
4540
|
return;
|
|
4407
4541
|
}
|
|
4408
4542
|
var rowIndex = activeCell.rowIndex, columnIndex = activeCell.columnIndex;
|
|
4543
|
+
// Excel's Format Cells ▸ Protection ▸ Hidden: while the sheet is protected, a hidden
|
|
4544
|
+
// cell's contents never show in the formula bar ("Protect a worksheet").
|
|
4545
|
+
if ((0, validation_1.isCellFormulaHiddenUnderProtection)(getSheetProtection === null || getSheetProtection === void 0 ? void 0 : getSheetProtection(sheetId), (_a = getCellData === null || getCellData === void 0 ? void 0 : getCellData(sheetId, rowIndex, columnIndex)) === null || _a === void 0 ? void 0 : _a.protection)) {
|
|
4546
|
+
setFormulabarEditorValue("");
|
|
4547
|
+
setFormulaBarTextFormatRuns(undefined);
|
|
4548
|
+
return;
|
|
4549
|
+
}
|
|
4409
4550
|
var value = getUserEnteredStringValue(sheetId, rowIndex, columnIndex);
|
|
4410
4551
|
var textFormatRuns = getTextFormatRuns === null || getTextFormatRuns === void 0 ? void 0 : getTextFormatRuns(sheetId, rowIndex, columnIndex);
|
|
4411
4552
|
// Update formula bar input (in the grid's formula locale, like the cell editor)
|
|
@@ -4416,6 +4557,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
4416
4557
|
formulaMode,
|
|
4417
4558
|
sheetId,
|
|
4418
4559
|
editingCellCoordinate,
|
|
4560
|
+
getSheetProtection,
|
|
4561
|
+
getCellData,
|
|
4419
4562
|
getUserEnteredStringValue,
|
|
4420
4563
|
formulaLocale,
|
|
4421
4564
|
setFormulabarEditorValue,
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ExtendedValue } from "@rowsncolumns/common-types";
|
|
2
|
+
/** What the grid knows about the cell text wants to spill into. */
|
|
3
|
+
export type OverflowNeighbour = {
|
|
4
|
+
formattedValue?: string | null;
|
|
5
|
+
effectiveValue?: ExtendedValue | null;
|
|
6
|
+
hasImage?: boolean;
|
|
7
|
+
/** An outline expand / collapse button paints in the cell. */
|
|
8
|
+
isExpandable?: boolean;
|
|
9
|
+
/** Row / column header cells. */
|
|
10
|
+
isHeader?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Present for the matrix test's sake: none of these block overflow in
|
|
13
|
+
* Excel, so the decision below never reads them.
|
|
14
|
+
*/
|
|
15
|
+
hasDataValidation?: boolean;
|
|
16
|
+
hasNote?: boolean;
|
|
17
|
+
isTableCell?: boolean;
|
|
18
|
+
isBanded?: boolean;
|
|
19
|
+
};
|
|
20
|
+
/** Does this cell stop text spilling from its neighbour? */
|
|
21
|
+
export declare const blocksOverflow: (cell: OverflowNeighbour) => boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Columns text claims walking from `start` by `step` (±1) until `need`
|
|
24
|
+
* pixels are covered or a blocking cell stops it.
|
|
25
|
+
*/
|
|
26
|
+
export declare const walkOverflowColumns: ({ start, step, need, canOverflow, columnWidth, maxSteps, }: {
|
|
27
|
+
start: number;
|
|
28
|
+
step: 1 | -1;
|
|
29
|
+
need: number;
|
|
30
|
+
canOverflow: (columnIndex: number) => boolean;
|
|
31
|
+
columnWidth: (columnIndex: number) => number;
|
|
32
|
+
maxSteps?: number;
|
|
33
|
+
}) => {
|
|
34
|
+
columns: number[];
|
|
35
|
+
width: number;
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=overflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overflow.d.ts","sourceRoot":"","sources":["../../../../components/canvas-grid/overflow.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAaF,4DAA4D;AAC5D,eAAO,MAAM,cAAc,GAAI,MAAM,iBAAiB,KAAG,OAK1B,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,4DAOjC;IACD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,KAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAWrC,CAAC"}
|