@rowsncolumns/spreadsheet 10.3.1 → 10.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/banded-ranges.d.ts.map +1 -1
- package/dist/cjs/api/banded-ranges.js +40 -14
- package/dist/cjs/api/calculated-column-fill.d.ts +43 -0
- package/dist/cjs/api/calculated-column-fill.d.ts.map +1 -0
- package/dist/cjs/api/calculated-column-fill.js +16 -0
- package/dist/cjs/api/chart-sheet.d.ts +8 -0
- package/dist/cjs/api/chart-sheet.d.ts.map +1 -0
- package/dist/cjs/api/chart-sheet.js +20 -0
- package/dist/cjs/api/chart-source-ranges.d.ts +64 -0
- package/dist/cjs/api/chart-source-ranges.d.ts.map +1 -0
- package/dist/cjs/api/chart-source-ranges.js +175 -0
- package/dist/cjs/api/selections.d.ts +3 -3
- package/dist/cjs/api/selections.d.ts.map +1 -1
- package/dist/cjs/api/selections.js +28 -2
- package/dist/cjs/api/spreadsheet-api.d.ts +16 -3
- package/dist/cjs/api/spreadsheet-api.d.ts.map +1 -1
- package/dist/cjs/api/spreadsheet-api.js +22 -2
- package/dist/cjs/api/table-auto-expansion.d.ts +37 -0
- package/dist/cjs/api/table-auto-expansion.d.ts.map +1 -0
- package/dist/cjs/api/table-auto-expansion.js +16 -0
- package/dist/cjs/api/table.d.ts +49 -1
- package/dist/cjs/api/table.d.ts.map +1 -1
- package/dist/cjs/api/table.js +145 -1
- package/dist/cjs/api/validation.d.ts +26 -1
- package/dist/cjs/api/validation.d.ts.map +1 -1
- package/dist/cjs/api/validation.js +127 -9
- package/dist/cjs/atoms/calculated-column-fill.atom.d.ts +15 -0
- package/dist/cjs/atoms/calculated-column-fill.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/calculated-column-fill.atom.js +18 -0
- package/dist/cjs/atoms/chart-actions.atom.d.ts +40 -0
- package/dist/cjs/atoms/chart-actions.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/chart-actions.atom.js +66 -0
- package/dist/cjs/atoms/index.d.ts +5 -0
- package/dist/cjs/atoms/index.d.ts.map +1 -1
- package/dist/cjs/atoms/index.js +5 -0
- package/dist/cjs/atoms/move-chart-dialog.atom.d.ts +28 -0
- package/dist/cjs/atoms/move-chart-dialog.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/move-chart-dialog.atom.js +34 -0
- package/dist/cjs/atoms/selected-chart-embed.atom.d.ts +9 -1
- package/dist/cjs/atoms/selected-chart-embed.atom.d.ts.map +1 -1
- package/dist/cjs/atoms/selected-chart-embed.atom.js +18 -1
- package/dist/cjs/atoms/selected-chart-series.atom.d.ts +24 -0
- package/dist/cjs/atoms/selected-chart-series.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/selected-chart-series.atom.js +11 -0
- package/dist/cjs/atoms/sheet-context.atom.d.ts +2 -0
- package/dist/cjs/atoms/sheet-context.atom.d.ts.map +1 -1
- package/dist/cjs/atoms/sheet-context.atom.js +5 -2
- package/dist/cjs/atoms/sparkline-dialog.atom.d.ts +34 -0
- package/dist/cjs/atoms/sparkline-dialog.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/sparkline-dialog.atom.js +30 -0
- package/dist/cjs/atoms/table-auto-expansion.atom.d.ts +14 -0
- package/dist/cjs/atoms/table-auto-expansion.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/table-auto-expansion.atom.js +17 -0
- package/dist/cjs/components/calculated-column-smart-tag/index.d.ts +25 -0
- package/dist/cjs/components/calculated-column-smart-tag/index.d.ts.map +1 -0
- package/dist/cjs/components/calculated-column-smart-tag/index.js +31 -0
- package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/cjs/components/canvas-grid/index.js +393 -72
- package/dist/cjs/components/canvas-grid/typings.d.ts +127 -14
- package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/cjs/components/cell/index.d.ts.map +1 -1
- package/dist/cjs/components/cell/index.js +3 -3
- package/dist/cjs/components/cell/typings.d.ts +13 -0
- package/dist/cjs/components/cell/typings.d.ts.map +1 -1
- package/dist/cjs/components/cell-filter/index.d.ts.map +1 -1
- package/dist/cjs/components/cell-filter/index.js +13 -2
- package/dist/cjs/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
- package/dist/cjs/components/cell-input/formula-bar-cell-input.js +4 -1
- package/dist/cjs/components/cell-structured/sparkline-math.d.ts +28 -5
- package/dist/cjs/components/cell-structured/sparkline-math.d.ts.map +1 -1
- package/dist/cjs/components/cell-structured/sparkline-math.js +93 -5
- package/dist/cjs/components/cell-structured/sparkline.d.ts +1 -1
- package/dist/cjs/components/cell-structured/sparkline.d.ts.map +1 -1
- package/dist/cjs/components/cell-structured/sparkline.js +3 -3
- package/dist/cjs/components/cell-structured/types.d.ts +1 -1
- package/dist/cjs/components/cell-structured/types.d.ts.map +1 -1
- package/dist/cjs/components/chart-sheet-view/index.d.ts +27 -0
- package/dist/cjs/components/chart-sheet-view/index.d.ts.map +1 -0
- package/dist/cjs/components/chart-sheet-view/index.js +35 -0
- package/dist/cjs/components/context-menu/embed-context-menu.d.ts +48 -0
- package/dist/cjs/components/context-menu/embed-context-menu.d.ts.map +1 -0
- package/dist/cjs/components/context-menu/embed-context-menu.js +123 -0
- package/dist/cjs/components/context-menu/index.d.ts +23 -2
- package/dist/cjs/components/context-menu/index.d.ts.map +1 -1
- package/dist/cjs/components/context-menu/index.js +217 -39
- package/dist/cjs/components/context-menu/total-row-function-menu.d.ts +33 -0
- package/dist/cjs/components/context-menu/total-row-function-menu.d.ts.map +1 -0
- package/dist/cjs/components/context-menu/total-row-function-menu.js +58 -0
- package/dist/cjs/components/context-menu/total-row-functions.d.ts +12 -12
- package/dist/cjs/components/context-menu/total-row-functions.d.ts.map +1 -1
- package/dist/cjs/components/context-menu/total-row-functions.js +39 -39
- package/dist/cjs/components/embeds/chart-component.d.ts +17 -0
- package/dist/cjs/components/embeds/chart-component.d.ts.map +1 -1
- package/dist/cjs/components/embeds/embed-draggable.d.ts +61 -4
- package/dist/cjs/components/embeds/embed-draggable.d.ts.map +1 -1
- package/dist/cjs/components/embeds/embed-draggable.js +214 -39
- package/dist/cjs/components/filter-box/date-tree.d.ts +28 -0
- package/dist/cjs/components/filter-box/date-tree.d.ts.map +1 -0
- package/dist/cjs/components/filter-box/date-tree.js +147 -0
- package/dist/cjs/components/filter-box/filter-by-condition.d.ts +14 -2
- package/dist/cjs/components/filter-box/filter-by-condition.d.ts.map +1 -1
- package/dist/cjs/components/filter-box/filter-by-condition.js +95 -19
- package/dist/cjs/components/filter-box/filter-by-value.d.ts.map +1 -1
- package/dist/cjs/components/filter-box/filter-by-value.js +126 -40
- package/dist/cjs/components/filter-box/index.d.ts +7 -1
- package/dist/cjs/components/filter-box/index.d.ts.map +1 -1
- package/dist/cjs/components/filter-box/index.js +102 -11
- package/dist/cjs/components/move-chart-dialog/index.d.ts +34 -0
- package/dist/cjs/components/move-chart-dialog/index.d.ts.map +1 -0
- package/dist/cjs/components/move-chart-dialog/index.js +96 -0
- package/dist/cjs/components/print-preview/page-block.d.ts +9 -1
- package/dist/cjs/components/print-preview/page-block.d.ts.map +1 -1
- package/dist/cjs/components/print-preview/page-block.js +28 -2
- package/dist/cjs/components/print-preview/print-preview-dialog.d.ts +8 -1
- package/dist/cjs/components/print-preview/print-preview-dialog.d.ts.map +1 -1
- package/dist/cjs/components/print-preview/print-preview-dialog.js +144 -3
- package/dist/cjs/components/print-preview/run-print.d.ts.map +1 -1
- package/dist/cjs/components/print-preview/run-print.js +19 -7
- package/dist/cjs/components/print-preview/use-page-layout.d.ts +47 -0
- package/dist/cjs/components/print-preview/use-page-layout.d.ts.map +1 -1
- package/dist/cjs/components/print-preview/use-page-layout.js +81 -7
- package/dist/cjs/components/selection/index.d.ts +1 -1
- package/dist/cjs/components/selection/index.d.ts.map +1 -1
- package/dist/cjs/components/selection/index.js +6 -2
- package/dist/cjs/components/selection/types.d.ts +15 -0
- package/dist/cjs/components/selection/types.d.ts.map +1 -1
- package/dist/cjs/components/sheet-tabs/index.d.ts.map +1 -1
- package/dist/cjs/components/sheet-tabs/index.js +2 -2
- package/dist/cjs/components/sheet-tabs/sheet-tab.d.ts +1 -1
- package/dist/cjs/components/sheet-tabs/sheet-tab.d.ts.map +1 -1
- package/dist/cjs/components/sheet-tabs/sheet-tab.js +3 -1
- package/dist/cjs/components/sparkline-dialog/index.d.ts +43 -0
- package/dist/cjs/components/sparkline-dialog/index.d.ts.map +1 -0
- package/dist/cjs/components/sparkline-dialog/index.js +127 -0
- package/dist/cjs/components/subtotal-dialog/index.d.ts.map +1 -1
- package/dist/cjs/components/subtotal-dialog/index.js +10 -1
- package/dist/cjs/components/table-auto-expansion-smart-tag/index.d.ts +24 -0
- package/dist/cjs/components/table-auto-expansion-smart-tag/index.d.ts.map +1 -0
- package/dist/cjs/components/table-auto-expansion-smart-tag/index.js +31 -0
- package/dist/cjs/components/toolbar/index.d.ts +1 -0
- package/dist/cjs/components/toolbar/index.d.ts.map +1 -1
- package/dist/cjs/components/toolbar/index.js +1 -0
- package/dist/cjs/components/toolbar/insert-menu.d.ts +2 -1
- package/dist/cjs/components/toolbar/insert-menu.d.ts.map +1 -1
- package/dist/cjs/components/toolbar/insert-menu.js +24 -1
- package/dist/cjs/components/toolbar/merge-cells-selector.d.ts +4 -1
- package/dist/cjs/components/toolbar/merge-cells-selector.d.ts.map +1 -1
- package/dist/cjs/components/toolbar/merge-cells-selector.js +11 -5
- package/dist/cjs/components/toolbar/sparkline-actions.d.ts +31 -0
- package/dist/cjs/components/toolbar/sparkline-actions.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/sparkline-actions.js +273 -0
- package/dist/cjs/components/toolbar/table-actions.d.ts +9 -1
- package/dist/cjs/components/toolbar/table-actions.d.ts.map +1 -1
- package/dist/cjs/components/toolbar/table-actions.js +17 -7
- package/dist/cjs/components/toolbar/table-style-selector.d.ts +38 -2
- package/dist/cjs/components/toolbar/table-style-selector.d.ts.map +1 -1
- package/dist/cjs/components/toolbar/table-style-selector.js +241 -389
- package/dist/cjs/config.d.ts +2 -0
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +31 -1
- package/dist/cjs/helpers.d.ts +1 -1
- package/dist/cjs/helpers.d.ts.map +1 -1
- package/dist/cjs/helpers.js +13 -2
- package/dist/cjs/hooks/use-cell-renderer.d.ts +16 -1
- package/dist/cjs/hooks/use-cell-renderer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-cell-renderer.js +20 -8
- package/dist/cjs/hooks/use-chart-clipboard.d.ts +55 -0
- package/dist/cjs/hooks/use-chart-clipboard.d.ts.map +1 -0
- package/dist/cjs/hooks/use-chart-clipboard.js +231 -0
- package/dist/cjs/hooks/use-chart-source-ranges.d.ts +27 -0
- package/dist/cjs/hooks/use-chart-source-ranges.d.ts.map +1 -0
- package/dist/cjs/hooks/use-chart-source-ranges.js +211 -0
- package/dist/cjs/hooks/use-context-setter.d.ts.map +1 -1
- package/dist/cjs/hooks/use-context-setter.js +3 -1
- package/dist/cjs/hooks/use-editable.d.ts +9 -1
- package/dist/cjs/hooks/use-editable.d.ts.map +1 -1
- package/dist/cjs/hooks/use-editable.js +25 -1
- package/dist/cjs/hooks/use-embeds-charts.d.ts +64 -4
- package/dist/cjs/hooks/use-embeds-charts.d.ts.map +1 -1
- package/dist/cjs/hooks/use-embeds-charts.js +412 -41
- package/dist/cjs/hooks/use-grid-children.d.ts +2 -2
- package/dist/cjs/hooks/use-grid-children.d.ts.map +1 -1
- package/dist/cjs/hooks/use-grid-children.js +12 -6
- package/dist/cjs/hooks/use-isomorphic-layout-effect.d.ts +2 -2
- package/dist/cjs/hooks/use-isomorphic-layout-effect.d.ts.map +1 -1
- package/dist/cjs/hooks/use-keyboard-handler.d.ts +2 -1
- package/dist/cjs/hooks/use-keyboard-handler.d.ts.map +1 -1
- package/dist/cjs/hooks/use-keyboard-handler.js +8 -2
- package/dist/cjs/hooks/use-reveal-chart-embed.d.ts +17 -0
- package/dist/cjs/hooks/use-reveal-chart-embed.d.ts.map +1 -0
- package/dist/cjs/hooks/use-reveal-chart-embed.js +40 -0
- package/dist/cjs/hooks/use-selection-renderer.d.ts +13 -1
- package/dist/cjs/hooks/use-selection-renderer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-selection-renderer.js +37 -7
- package/dist/cjs/hooks/use-selection.d.ts +9 -1
- package/dist/cjs/hooks/use-selection.d.ts.map +1 -1
- package/dist/cjs/hooks/use-selection.js +118 -30
- package/dist/cjs/hooks/use-structured-reference-selection.d.ts +1 -1
- package/dist/cjs/hooks/use-structured-reference-selection.d.ts.map +1 -1
- package/dist/cjs/hooks/use-structured-reference-selection.js +10 -0
- package/dist/cjs/hooks/use-table-hit-zones.d.ts +61 -0
- package/dist/cjs/hooks/use-table-hit-zones.d.ts.map +1 -0
- package/dist/cjs/hooks/use-table-hit-zones.js +157 -0
- package/dist/cjs/hooks/use-table-resizer.d.ts +7 -0
- package/dist/cjs/hooks/use-table-resizer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-table-resizer.js +22 -10
- package/dist/cjs/index.d.ts +13 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +17 -1
- package/dist/cjs/release-date.js +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/types.d.ts +289 -4
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/utils/copy-as-picture.d.ts +13 -0
- package/dist/cjs/utils/copy-as-picture.d.ts.map +1 -0
- package/dist/cjs/utils/copy-as-picture.js +70 -0
- package/dist/cjs/utils/pivot-chart-field-buttons.d.ts +19 -0
- package/dist/cjs/utils/pivot-chart-field-buttons.d.ts.map +1 -0
- package/dist/cjs/utils/pivot-chart-field-buttons.js +25 -0
- package/dist/cjs/utils/z-order.d.ts +47 -0
- package/dist/cjs/utils/z-order.d.ts.map +1 -0
- package/dist/cjs/utils/z-order.js +124 -0
- package/dist/esm/api/banded-ranges.d.ts.map +1 -1
- package/dist/esm/api/banded-ranges.js +39 -12
- package/dist/esm/api/calculated-column-fill.d.ts +43 -0
- package/dist/esm/api/calculated-column-fill.d.ts.map +1 -0
- package/dist/esm/api/calculated-column-fill.js +10 -0
- package/dist/esm/api/chart-sheet.d.ts +8 -0
- package/dist/esm/api/chart-sheet.d.ts.map +1 -0
- package/dist/esm/api/chart-sheet.js +15 -0
- package/dist/esm/api/chart-source-ranges.d.ts +64 -0
- package/dist/esm/api/chart-source-ranges.d.ts.map +1 -0
- package/dist/esm/api/chart-source-ranges.js +168 -0
- package/dist/esm/api/selections.d.ts +3 -3
- package/dist/esm/api/selections.d.ts.map +1 -1
- package/dist/esm/api/selections.js +26 -2
- package/dist/esm/api/spreadsheet-api.d.ts +16 -3
- package/dist/esm/api/spreadsheet-api.d.ts.map +1 -1
- package/dist/esm/api/spreadsheet-api.js +18 -2
- package/dist/esm/api/table-auto-expansion.d.ts +37 -0
- package/dist/esm/api/table-auto-expansion.d.ts.map +1 -0
- package/dist/esm/api/table-auto-expansion.js +10 -0
- package/dist/esm/api/table.d.ts +49 -1
- package/dist/esm/api/table.d.ts.map +1 -1
- package/dist/esm/api/table.js +138 -1
- package/dist/esm/api/validation.d.ts +26 -1
- package/dist/esm/api/validation.d.ts.map +1 -1
- package/dist/esm/api/validation.js +119 -9
- package/dist/esm/atoms/calculated-column-fill.atom.d.ts +15 -0
- package/dist/esm/atoms/calculated-column-fill.atom.d.ts.map +1 -0
- package/dist/esm/atoms/calculated-column-fill.atom.js +12 -0
- package/dist/esm/atoms/chart-actions.atom.d.ts +40 -0
- package/dist/esm/atoms/chart-actions.atom.d.ts.map +1 -0
- package/dist/esm/atoms/chart-actions.atom.js +58 -0
- package/dist/esm/atoms/index.d.ts +5 -0
- package/dist/esm/atoms/index.d.ts.map +1 -1
- package/dist/esm/atoms/index.js +5 -0
- package/dist/esm/atoms/move-chart-dialog.atom.d.ts +28 -0
- package/dist/esm/atoms/move-chart-dialog.atom.d.ts.map +1 -0
- package/dist/esm/atoms/move-chart-dialog.atom.js +25 -0
- package/dist/esm/atoms/selected-chart-embed.atom.d.ts +9 -1
- package/dist/esm/atoms/selected-chart-embed.atom.d.ts.map +1 -1
- package/dist/esm/atoms/selected-chart-embed.atom.js +19 -2
- package/dist/esm/atoms/selected-chart-series.atom.d.ts +24 -0
- package/dist/esm/atoms/selected-chart-series.atom.d.ts.map +1 -0
- package/dist/esm/atoms/selected-chart-series.atom.js +4 -0
- package/dist/esm/atoms/sheet-context.atom.d.ts +2 -0
- package/dist/esm/atoms/sheet-context.atom.d.ts.map +1 -1
- package/dist/esm/atoms/sheet-context.atom.js +2 -0
- package/dist/esm/atoms/sparkline-dialog.atom.d.ts +34 -0
- package/dist/esm/atoms/sparkline-dialog.atom.d.ts.map +1 -0
- package/dist/esm/atoms/sparkline-dialog.atom.js +21 -0
- package/dist/esm/atoms/table-auto-expansion.atom.d.ts +14 -0
- package/dist/esm/atoms/table-auto-expansion.atom.d.ts.map +1 -0
- package/dist/esm/atoms/table-auto-expansion.atom.js +11 -0
- package/dist/esm/components/calculated-column-smart-tag/index.d.ts +25 -0
- package/dist/esm/components/calculated-column-smart-tag/index.d.ts.map +1 -0
- package/dist/esm/components/calculated-column-smart-tag/index.js +25 -0
- package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/esm/components/canvas-grid/index.js +332 -21
- package/dist/esm/components/canvas-grid/typings.d.ts +127 -14
- package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/esm/components/cell/index.d.ts.map +1 -1
- package/dist/esm/components/cell/index.js +3 -3
- package/dist/esm/components/cell/typings.d.ts +13 -0
- package/dist/esm/components/cell/typings.d.ts.map +1 -1
- package/dist/esm/components/cell-filter/index.d.ts.map +1 -1
- package/dist/esm/components/cell-filter/index.js +14 -3
- package/dist/esm/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
- package/dist/esm/components/cell-input/formula-bar-cell-input.js +4 -1
- package/dist/esm/components/cell-structured/sparkline-math.d.ts +28 -5
- package/dist/esm/components/cell-structured/sparkline-math.d.ts.map +1 -1
- package/dist/esm/components/cell-structured/sparkline-math.js +58 -4
- package/dist/esm/components/cell-structured/sparkline.d.ts +1 -1
- package/dist/esm/components/cell-structured/sparkline.d.ts.map +1 -1
- package/dist/esm/components/cell-structured/sparkline.js +3 -3
- package/dist/esm/components/cell-structured/types.d.ts +1 -1
- package/dist/esm/components/cell-structured/types.d.ts.map +1 -1
- package/dist/esm/components/chart-sheet-view/index.d.ts +27 -0
- package/dist/esm/components/chart-sheet-view/index.d.ts.map +1 -0
- package/dist/esm/components/chart-sheet-view/index.js +30 -0
- package/dist/esm/components/context-menu/embed-context-menu.d.ts +48 -0
- package/dist/esm/components/context-menu/embed-context-menu.d.ts.map +1 -0
- package/dist/esm/components/context-menu/embed-context-menu.js +112 -0
- package/dist/esm/components/context-menu/index.d.ts +23 -2
- package/dist/esm/components/context-menu/index.d.ts.map +1 -1
- package/dist/esm/components/context-menu/index.js +174 -38
- package/dist/esm/components/context-menu/total-row-function-menu.d.ts +33 -0
- package/dist/esm/components/context-menu/total-row-function-menu.d.ts.map +1 -0
- package/dist/esm/components/context-menu/total-row-function-menu.js +50 -0
- package/dist/esm/components/context-menu/total-row-functions.d.ts +12 -12
- package/dist/esm/components/context-menu/total-row-functions.d.ts.map +1 -1
- package/dist/esm/components/context-menu/total-row-functions.js +29 -31
- package/dist/esm/components/embeds/chart-component.d.ts +17 -0
- package/dist/esm/components/embeds/chart-component.d.ts.map +1 -1
- package/dist/esm/components/embeds/embed-draggable.d.ts +61 -4
- package/dist/esm/components/embeds/embed-draggable.d.ts.map +1 -1
- package/dist/esm/components/embeds/embed-draggable.js +204 -45
- package/dist/esm/components/filter-box/date-tree.d.ts +28 -0
- package/dist/esm/components/filter-box/date-tree.d.ts.map +1 -0
- package/dist/esm/components/filter-box/date-tree.js +107 -0
- package/dist/esm/components/filter-box/filter-by-condition.d.ts +14 -2
- package/dist/esm/components/filter-box/filter-by-condition.d.ts.map +1 -1
- package/dist/esm/components/filter-box/filter-by-condition.js +72 -16
- package/dist/esm/components/filter-box/filter-by-value.d.ts.map +1 -1
- package/dist/esm/components/filter-box/filter-by-value.js +110 -39
- package/dist/esm/components/filter-box/index.d.ts +7 -1
- package/dist/esm/components/filter-box/index.d.ts.map +1 -1
- package/dist/esm/components/filter-box/index.js +88 -2
- package/dist/esm/components/move-chart-dialog/index.d.ts +34 -0
- package/dist/esm/components/move-chart-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/move-chart-dialog/index.js +88 -0
- package/dist/esm/components/print-preview/page-block.d.ts +9 -1
- package/dist/esm/components/print-preview/page-block.d.ts.map +1 -1
- package/dist/esm/components/print-preview/page-block.js +27 -2
- package/dist/esm/components/print-preview/print-preview-dialog.d.ts +8 -1
- package/dist/esm/components/print-preview/print-preview-dialog.d.ts.map +1 -1
- package/dist/esm/components/print-preview/print-preview-dialog.js +92 -4
- package/dist/esm/components/print-preview/run-print.d.ts.map +1 -1
- package/dist/esm/components/print-preview/run-print.js +17 -7
- package/dist/esm/components/print-preview/use-page-layout.d.ts +47 -0
- package/dist/esm/components/print-preview/use-page-layout.d.ts.map +1 -1
- package/dist/esm/components/print-preview/use-page-layout.js +55 -0
- package/dist/esm/components/selection/index.d.ts +1 -1
- package/dist/esm/components/selection/index.d.ts.map +1 -1
- package/dist/esm/components/selection/index.js +6 -2
- package/dist/esm/components/selection/types.d.ts +15 -0
- package/dist/esm/components/selection/types.d.ts.map +1 -1
- package/dist/esm/components/sheet-tabs/index.d.ts.map +1 -1
- package/dist/esm/components/sheet-tabs/index.js +2 -2
- package/dist/esm/components/sheet-tabs/sheet-tab.d.ts +1 -1
- package/dist/esm/components/sheet-tabs/sheet-tab.d.ts.map +1 -1
- package/dist/esm/components/sheet-tabs/sheet-tab.js +4 -2
- package/dist/esm/components/sparkline-dialog/index.d.ts +43 -0
- package/dist/esm/components/sparkline-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/sparkline-dialog/index.js +123 -0
- package/dist/esm/components/subtotal-dialog/index.d.ts.map +1 -1
- package/dist/esm/components/subtotal-dialog/index.js +10 -1
- package/dist/esm/components/table-auto-expansion-smart-tag/index.d.ts +24 -0
- package/dist/esm/components/table-auto-expansion-smart-tag/index.d.ts.map +1 -0
- package/dist/esm/components/table-auto-expansion-smart-tag/index.js +25 -0
- package/dist/esm/components/toolbar/index.d.ts +1 -0
- package/dist/esm/components/toolbar/index.d.ts.map +1 -1
- package/dist/esm/components/toolbar/index.js +1 -0
- package/dist/esm/components/toolbar/insert-menu.d.ts +2 -1
- package/dist/esm/components/toolbar/insert-menu.d.ts.map +1 -1
- package/dist/esm/components/toolbar/insert-menu.js +24 -1
- package/dist/esm/components/toolbar/merge-cells-selector.d.ts +4 -1
- package/dist/esm/components/toolbar/merge-cells-selector.d.ts.map +1 -1
- package/dist/esm/components/toolbar/merge-cells-selector.js +10 -6
- package/dist/esm/components/toolbar/sparkline-actions.d.ts +31 -0
- package/dist/esm/components/toolbar/sparkline-actions.d.ts.map +1 -0
- package/dist/esm/components/toolbar/sparkline-actions.js +238 -0
- package/dist/esm/components/toolbar/table-actions.d.ts +9 -1
- package/dist/esm/components/toolbar/table-actions.d.ts.map +1 -1
- package/dist/esm/components/toolbar/table-actions.js +15 -7
- package/dist/esm/components/toolbar/table-style-selector.d.ts +38 -2
- package/dist/esm/components/toolbar/table-style-selector.d.ts.map +1 -1
- package/dist/esm/components/toolbar/table-style-selector.js +210 -399
- package/dist/esm/config.d.ts +2 -0
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +30 -0
- package/dist/esm/helpers.d.ts +1 -1
- package/dist/esm/helpers.d.ts.map +1 -1
- package/dist/esm/helpers.js +12 -1
- package/dist/esm/hooks/use-cell-renderer.d.ts +16 -1
- package/dist/esm/hooks/use-cell-renderer.d.ts.map +1 -1
- package/dist/esm/hooks/use-cell-renderer.js +14 -4
- package/dist/esm/hooks/use-chart-clipboard.d.ts +55 -0
- package/dist/esm/hooks/use-chart-clipboard.d.ts.map +1 -0
- package/dist/esm/hooks/use-chart-clipboard.js +213 -0
- package/dist/esm/hooks/use-chart-source-ranges.d.ts +27 -0
- package/dist/esm/hooks/use-chart-source-ranges.d.ts.map +1 -0
- package/dist/esm/hooks/use-chart-source-ranges.js +186 -0
- package/dist/esm/hooks/use-context-setter.d.ts.map +1 -1
- package/dist/esm/hooks/use-context-setter.js +3 -1
- package/dist/esm/hooks/use-editable.d.ts +9 -1
- package/dist/esm/hooks/use-editable.d.ts.map +1 -1
- package/dist/esm/hooks/use-editable.js +25 -1
- package/dist/esm/hooks/use-embeds-charts.d.ts +64 -4
- package/dist/esm/hooks/use-embeds-charts.d.ts.map +1 -1
- package/dist/esm/hooks/use-embeds-charts.js +394 -39
- package/dist/esm/hooks/use-grid-children.d.ts +2 -2
- package/dist/esm/hooks/use-grid-children.d.ts.map +1 -1
- package/dist/esm/hooks/use-grid-children.js +8 -2
- package/dist/esm/hooks/use-isomorphic-layout-effect.d.ts +2 -2
- package/dist/esm/hooks/use-isomorphic-layout-effect.d.ts.map +1 -1
- package/dist/esm/hooks/use-keyboard-handler.d.ts +2 -1
- package/dist/esm/hooks/use-keyboard-handler.d.ts.map +1 -1
- package/dist/esm/hooks/use-keyboard-handler.js +8 -2
- package/dist/esm/hooks/use-reveal-chart-embed.d.ts +17 -0
- package/dist/esm/hooks/use-reveal-chart-embed.d.ts.map +1 -0
- package/dist/esm/hooks/use-reveal-chart-embed.js +35 -0
- package/dist/esm/hooks/use-selection-renderer.d.ts +13 -1
- package/dist/esm/hooks/use-selection-renderer.d.ts.map +1 -1
- package/dist/esm/hooks/use-selection-renderer.js +35 -6
- package/dist/esm/hooks/use-selection.d.ts +9 -1
- package/dist/esm/hooks/use-selection.d.ts.map +1 -1
- package/dist/esm/hooks/use-selection.js +122 -30
- package/dist/esm/hooks/use-structured-reference-selection.d.ts +1 -1
- package/dist/esm/hooks/use-structured-reference-selection.d.ts.map +1 -1
- package/dist/esm/hooks/use-structured-reference-selection.js +16 -0
- package/dist/esm/hooks/use-table-hit-zones.d.ts +61 -0
- package/dist/esm/hooks/use-table-hit-zones.d.ts.map +1 -0
- package/dist/esm/hooks/use-table-hit-zones.js +146 -0
- package/dist/esm/hooks/use-table-resizer.d.ts +7 -0
- package/dist/esm/hooks/use-table-resizer.d.ts.map +1 -1
- package/dist/esm/hooks/use-table-resizer.js +21 -10
- package/dist/esm/index.d.ts +13 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +13 -0
- package/dist/esm/release-date.js +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/types.d.ts +289 -4
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/utils/copy-as-picture.d.ts +13 -0
- package/dist/esm/utils/copy-as-picture.d.ts.map +1 -0
- package/dist/esm/utils/copy-as-picture.js +45 -0
- package/dist/esm/utils/pivot-chart-field-buttons.d.ts +19 -0
- package/dist/esm/utils/pivot-chart-field-buttons.d.ts.map +1 -0
- package/dist/esm/utils/pivot-chart-field-buttons.js +18 -0
- package/dist/esm/utils/z-order.d.ts +47 -0
- package/dist/esm/utils/z-order.d.ts.map +1 -0
- package/dist/esm/utils/z-order.js +111 -0
- package/dist/spreadsheet.min.css +1 -1
- package/package.json +12 -10
- package/dist/cjs/components/cell-editor/helpers.spec.d.ts +0 -2
- package/dist/cjs/components/cell-editor/helpers.spec.d.ts.map +0 -1
- package/dist/cjs/components/cell-editor/helpers.spec.js +0 -32
- package/dist/esm/components/cell-editor/helpers.spec.d.ts +0 -2
- package/dist/esm/components/cell-editor/helpers.spec.d.ts.map +0 -1
- package/dist/esm/components/cell-editor/helpers.spec.js +0 -30
|
@@ -8,7 +8,6 @@ var grid_2 = require("@rowsncolumns/grid");
|
|
|
8
8
|
var grid_3 = require("@rowsncolumns/grid");
|
|
9
9
|
var grid_4 = require("@rowsncolumns/grid");
|
|
10
10
|
var grid_5 = require("@rowsncolumns/grid");
|
|
11
|
-
var spreadsheet_state_1 = require("@rowsncolumns/spreadsheet-state");
|
|
12
11
|
var ui_1 = require("@rowsncolumns/ui");
|
|
13
12
|
var utils_1 = require("@rowsncolumns/utils");
|
|
14
13
|
var jotai_1 = require("jotai");
|
|
@@ -17,6 +16,8 @@ var throttle_1 = tslib_1.__importDefault(require("lodash/throttle"));
|
|
|
17
16
|
var react_1 = tslib_1.__importStar(require("react"));
|
|
18
17
|
var banded_ranges_1 = require("../../api/banded-ranges");
|
|
19
18
|
var insert_options_1 = require("../../api/insert-options");
|
|
19
|
+
var calculated_column_fill_1 = require("../../api/calculated-column-fill");
|
|
20
|
+
var table_auto_expansion_1 = require("../../api/table-auto-expansion");
|
|
20
21
|
var cf_window_1 = require("../../api/cf-window");
|
|
21
22
|
var selections_1 = require("../../api/selections");
|
|
22
23
|
var spreadsheet_api_1 = require("../../api/spreadsheet-api");
|
|
@@ -41,9 +42,12 @@ var use_border_styles_1 = require("../../hooks/use-border-styles");
|
|
|
41
42
|
var use_callback_ref_1 = require("../../hooks/use-callback-ref");
|
|
42
43
|
var use_cell_popover_1 = require("../../hooks/use-cell-popover");
|
|
43
44
|
var use_cell_renderer_1 = require("../../hooks/use-cell-renderer");
|
|
45
|
+
var use_chart_source_ranges_1 = require("../../hooks/use-chart-source-ranges");
|
|
44
46
|
var use_conditional_formatting_1 = require("../../hooks/use-conditional-formatting");
|
|
45
47
|
var use_context_menu_1 = require("../../hooks/use-context-menu");
|
|
46
48
|
var use_context_setter_1 = require("../../hooks/use-context-setter");
|
|
49
|
+
var use_reveal_chart_embed_1 = require("../../hooks/use-reveal-chart-embed");
|
|
50
|
+
var use_chart_clipboard_1 = require("../../hooks/use-chart-clipboard");
|
|
47
51
|
var use_copy_paste_cut_1 = require("../../hooks/use-copy-paste-cut");
|
|
48
52
|
var use_create_address_from_selection_1 = require("../../hooks/use-create-address-from-selection");
|
|
49
53
|
var use_create_formula_tokenizer_1 = require("../../hooks/use-create-formula-tokenizer");
|
|
@@ -53,6 +57,7 @@ var use_editor_change_1 = require("../../hooks/use-editor-change");
|
|
|
53
57
|
var use_editor_keydown_1 = require("../../hooks/use-editor-keydown");
|
|
54
58
|
var use_editor_submit_1 = require("../../hooks/use-editor-submit");
|
|
55
59
|
var use_embeds_charts_1 = require("../../hooks/use-embeds-charts");
|
|
60
|
+
var chart_sheet_view_1 = require("../chart-sheet-view");
|
|
56
61
|
var use_expand_cell_1 = require("../../hooks/use-expand-cell");
|
|
57
62
|
var use_export_range_1 = require("../../hooks/use-export-range");
|
|
58
63
|
var use_filter_1 = require("../../hooks/use-filter");
|
|
@@ -84,6 +89,7 @@ var use_sheet_change_handler_1 = require("../../hooks/use-sheet-change-handler")
|
|
|
84
89
|
var use_sizer_1 = require("../../hooks/use-sizer");
|
|
85
90
|
var use_stable_ref_1 = require("../../hooks/use-stable-ref");
|
|
86
91
|
var use_structured_reference_selection_1 = require("../../hooks/use-structured-reference-selection");
|
|
92
|
+
var use_table_hit_zones_1 = require("../../hooks/use-table-hit-zones");
|
|
87
93
|
var use_table_resizer_1 = require("../../hooks/use-table-resizer");
|
|
88
94
|
var use_delayed_value_1 = require("../../hooks/use-delayed-value");
|
|
89
95
|
var use_tooltip_1 = require("../../hooks/use-tooltip");
|
|
@@ -95,6 +101,9 @@ var fill_series_1 = require("../../api/fill-series");
|
|
|
95
101
|
var cell_1 = require("../cell");
|
|
96
102
|
var cell_editor_1 = require("../cell-editor");
|
|
97
103
|
var context_menu_1 = require("../context-menu");
|
|
104
|
+
var menu_1 = require("../context-menu/menu");
|
|
105
|
+
var style_1 = require("../context-menu/style");
|
|
106
|
+
var total_row_function_menu_1 = require("../context-menu/total-row-function-menu");
|
|
98
107
|
var fill_handle_1 = require("../fill-handle");
|
|
99
108
|
var filter_box_1 = require("../filter-box");
|
|
100
109
|
var header_cell_1 = require("../header-cell");
|
|
@@ -109,8 +118,10 @@ var helpers_2 = require("./helpers");
|
|
|
109
118
|
* @param CanvasGridMethods
|
|
110
119
|
* @returns
|
|
111
120
|
*/
|
|
121
|
+
/** Where the grid focuses when no cell is given (A1); mirrors spreadsheet-state's `defaultCellCoords` without importing it — that package depends on this one. */
|
|
122
|
+
var defaultCellCoords = { rowIndex: 1, columnIndex: 1 };
|
|
112
123
|
function CanvasGridComponent(props, forwardedRef) {
|
|
113
|
-
var licenseKey = props.licenseKey, sheetId = props.sheetId, instanceId = props.instanceId, _a = props.activeCell, activeCell = _a === void 0 ? config_1.DEFAULT_ACTIVE_CELL : _a, _b = props.selections, selections = _b === void 0 ? config_1.DEFAULT_ARRAY : _b, _c = props.frozenColumnCount, frozenColumnCount = _c === void 0 ? 0 : _c, _d = props.frozenRowCount, frozenRowCount = _d === void 0 ? 0 : _d, _e = props.rowCount, rowCount = _e === void 0 ? config_1.DEFAULT_ROW_COUNT : _e, _f = props.columnCount, columnCount = _f === void 0 ? config_1.DEFAULT_COLUMN_COUNT : _f, autoFocus = props.autoFocus, basicFilter = props.basicFilter, tables = props.tables, namedRanges = props.namedRanges, _g = props.bandedRanges, bandedRanges = _g === void 0 ? config_1.DEFAULT_ARRAY : _g, _h = props.tableBorderColor, tableBorderColor = _h === void 0 ? "#008000" : _h, _j = props.filterIconColor, filterIconColor = _j === void 0 ? "#008000" : _j, conditionalFormats = props.conditionalFormats, _k = props.showFilterIcon, showFilterIcon = _k === void 0 ? true : _k, _l = props.showCalculatedColumnIcon, showCalculatedColumnIcon = _l === void 0 ? true : _l, _m = props.showHeaders, showHeaders = _m === void 0 ? true : _m, _o = props.defaultColumnWidth, defaultColumnWidth = _o === void 0 ? config_1.DEFAULT_COLUMN_WIDTH : _o, _p = props.defaultRowHeight, defaultRowHeight = _p === void 0 ? config_1.DEFAULT_ROW_HEIGHT : _p, _q = props.columnHeaderHeight, columnHeaderHeight = _q === void 0 ? config_1.COLUMN_HEADER_HEIGHT : _q, _r = props.rowHeaderWidth, rowHeaderWidth = _r === void 0 ? config_1.ROW_HEADER_WIDTH : _r, _s = props.gridLineColor, gridLineColor = _s === void 0 ? config_1.GRIDLINE_COLOR : _s, _t = props.cellBackgroundColor, cellBackgroundColor = _t === void 0 ? config_1.DEFAULT_CELL_BACKGROUND_COLOR : _t, _u = props.cellColor, cellColor = _u === void 0 ? config_1.DEFAULT_CELL_COLOR : _u, _v = props.headerBorderColor, headerBorderColor = _v === void 0 ? config_1.DEFAULT_HEADER_BORDER_COLOR : _v, _w = props.headerBackgroundColor, headerBackgroundColor = _w === void 0 ? config_1.DEFAULT_HEADER_BG : _w, _x = props.headerColor, headerColor = _x === void 0 ? config_1.DEFAULT_HEADER_COLOR : _x, _y = props.headerActiveBackgroundColor, headerActiveBackgroundColor = _y === void 0 ? config_1.DEFAULT_HEADER_ACTIVE_BG : _y, _z = props.headerSelectedBackgroundColor, headerSelectedBackgroundColor = _z === void 0 ? config_1.DEFAULT_HEADER_SELECTED_BG : _z, _0 = props.headerSelectedColor, headerSelectedColor = _0 === void 0 ? "white" : _0, _1 = props.headerTableBackgroundColor, headerTableBackgroundColor = _1 === void 0 ? config_1.DEFAULT_HEADER_TABLE_BG : _1, _2 = props.headerTableActiveBackgroundColor, headerTableActiveBackgroundColor = _2 === void 0 ? config_1.DEFAULT_HEADER_ACTIVE_TABLE_BG : _2, _3 = props.headerTableSelectedBackgroundColor, headerTableSelectedBackgroundColor = _3 === void 0 ? config_1.DEFAULT_HEADER_SELECTED_TABLE_BG : _3, _4 = props.frozenShadowColor, frozenShadowColor = _4 === void 0 ? headerBorderColor : _4, _5 = props.frozenShadowThickness, frozenShadowThickness = _5 === void 0 ? 1 : _5, _6 = props.selectionBackgroundColor, selectionBackgroundColor = _6 === void 0 ? config_1.SELECTION_BG : _6, _7 = props.selectionBorderColor, selectionBorderColor = _7 === void 0 ? config_1.SELECTION_BORDER : _7, _8 = props.selectionDragBorderColor, selectionDragBorderColor = _8 === void 0 ? config_1.SELECTION_BORDER : _8, chartSelectedColor = props.chartSelectedColor, _9 = props.chipBackgroundColor, chipBackgroundColor = _9 === void 0 ? config_1.CHIP_COLOR : _9, _10 = props.merges, merges = _10 === void 0 ? config_1.DEFAULT_ARRAY : _10, borderStyles = props.borderStyles, protectedRanges = props.protectedRanges, _11 = props.isWorkbookProtected, isWorkbookProtectedProp = _11 === void 0 ? false : _11, getSheetProtection = props.getSheetProtection, pivotTables = props.pivotTables, charts = props.charts, embeds = props.embeds, slicers = props.slicers, _12 = props.rowMetadata, rowMetadata = _12 === void 0 ? config_1.DEFAULT_ARRAY : _12, _13 = props.columnMetadata, columnMetadata = _13 === void 0 ? config_1.DEFAULT_ARRAY : _13, _14 = props.scale, scale = _14 === void 0 ? 1 : _14, _15 = props.zoomSpeed, zoomSpeed = _15 === void 0 ? 1 : _15, _16 = props.overscanCount, overscanCount = _16 === void 0 ? 3 : _16, _17 = props.enableEditOnEnterKey, enableEditOnEnterKey = _17 === void 0 ? true : _17, _18 = props.enableTextOverflow, enableTextOverflow = _18 === void 0 ? true : _18, _showGridLines = props.showGridLines, _19 = props.showFormulas, showFormulas = _19 === void 0 ? false : _19, _20 = props.protectFormulas, protectFormulas = _20 === void 0 ? false : _20, _21 = props.showFrozenSeparator, showFrozenSeparator = _21 === void 0 ? true : _21, _22 = props.HeaderCell, HeaderCell = _22 === void 0 ? header_cell_1.HeaderCell : _22, _23 = props.Cell, Cell = _23 === void 0 ? cell_1.Cell : _23, _24 = props.SelectionTitleComponent, SelectionTitleComponent = _24 === void 0 ? title_1.SelectionTitle : _24, _25 = props.CellEditor, CellEditor = _25 === void 0 ? cell_editor_1.CellEditor : _25, CellTooltip = props.CellTooltip, _26 = props.ContextMenu, ContextMenu = _26 === void 0 ? context_menu_1.ContextMenu : _26, _27 = props.ContextMenuWrapper, ContextMenuWrapper = _27 === void 0 ? use_context_menu_1.DefaultContextMenuWrapper : _27, _28 = props.FilterBox, FilterBox = _28 === void 0 ? filter_box_1.FilterBox : _28, _29 = props.HeaderMoveDragComponent, HeaderMoveDragComponent = _29 === void 0 ? header_move_1.HeaderMoveDragComponent : _29, SuggestionsDropdown = props.SuggestionsDropdown, _30 = props.stickyEditor, stickyEditor = _30 === void 0 ? true : _30, _31 = props.scrollSnap, scrollSnap = _31 === void 0 ? false : _31, scrollThrottleTimeout = props.scrollThrottleTimeout, preventBrowserDefaultScroll = props.preventBrowserDefaultScroll, _32 = props.mouseMoveThrottleTimeout, mouseMoveThrottleTimeout = _32 === void 0 ? 60 : _32, _33 = props.tooltipIntentInterval, tooltipIntentInterval = _33 === void 0 ? 60 : _33, selectionPolicy = props.selectionPolicy, users = props.users, userId = props.userId, renderCollaboratorCursor = props.renderCollaboratorCursor, functionDescriptions = props.functionDescriptions, _34 = props.showHeaderMenuButton, showHeaderMenuButton = _34 === void 0 ? true : _34, _35 = props.scrollbarSize, scrollbarSize = _35 === void 0 ? config_1.SCROLLBAR_SIZE : _35, _36 = props.theme, theme = _36 === void 0 ? config_1.defaultSpreadsheetTheme : _36, _37 = props.showNotes, showNotes = _37 === void 0 ? true : _37, _38 = props.showComments, showComments = _38 === void 0 ? true : _38, locale = props.locale, formulaLocaleProp = props.formulaLocale, agentSuggestions = props.agentSuggestions, onReviewSuggestion = props.onReviewSuggestion, onShowFormulas = props.onShowFormulas, getDataRowCount = props.getDataRowCount, getChartComponent = props.getChartComponent, getEmbedComponent = props.getEmbedComponent, getSlicerComponent = props.getSlicerComponent, onChange = props.onChange, onChangeBatch = props.onChangeBatch, onExpandCollapse = props.onExpandCollapse, onPivotDrillDown = props.onPivotDrillDown, onDelete = props.onDelete, onChangeEditorValue = props.onChangeEditorValue, onFill = props.onFill, onRequestCalculate = props.onRequestCalculate, onChangeActiveCell = props.onChangeActiveCell, onChangeActiveSheet = props.onChangeActiveSheet, onChangeSelections = props.onChangeSelections, getSheetName = props.getSheetName, getSheetId = props.getSheetId, getCellData = props.getCellData, getNoteProp = props.getNote, getTextFormatRuns = props.getTextFormatRuns, getDataValidation = props.getDataValidation, getEffectiveFormat = props.getEffectiveFormat, getFormattedValueProp = props.getFormattedValue, getTooltipContent = props.getTooltipContent, errorResolutionComponent = props.errorResolutionComponent, getEffectiveValueProp = props.getEffectiveValue, getUserEnteredExtendedValue = props.getUserEnteredExtendedValue, getEffectiveExtendedValue = props.getEffectiveExtendedValue, getSheetRowCount = props.getSheetRowCount, getSheetColumnCount = props.getSheetColumnCount, getCellPopoverContent = props.getCellPopoverContent, onScroll = props.onScroll, onViewPortChange = props.onViewPortChange, _39 = props.windowConditionalFormats, windowConditionalFormats = _39 === void 0 ? false : _39, _40 = props.engineConditionalFormatResults, engineConditionalFormatResults = _40 === void 0 ? false : _40, onResize = props.onResize, onAutoResize = props.onAutoResize, onHideColumn = props.onHideColumn, onHideRow = props.onHideRow, onShowColumn = props.onShowColumn, onShowRow = props.onShowRow, onGroupRows = props.onGroupRows, onUngroupRows = props.onUngroupRows, onCollapseRowGroup = props.onCollapseRowGroup, onExpandRowGroup = props.onExpandRowGroup, onGroupColumns = props.onGroupColumns, onUngroupColumns = props.onUngroupColumns, onCollapseColumnGroup = props.onCollapseColumnGroup, onExpandColumnGroup = props.onExpandColumnGroup, onSetOutlineDepth = props.onSetOutlineDepth, onDeleteRow = props.onDeleteRow, onDeleteColumn = props.onDeleteColumn, onInsertRow = props.onInsertRow, onInsertColumn = props.onInsertColumn, onInsertCellsShiftDown = props.onInsertCellsShiftDown, onInsertCellsShiftRight = props.onInsertCellsShiftRight, onDeleteCellsShiftLeft = props.onDeleteCellsShiftLeft, onDeleteCellsShiftUp = props.onDeleteCellsShiftUp, onClearContents = props.onClearContents, onMoveColumns = props.onMoveColumns, onMoveRows = props.onMoveRows, onSelectNextSheet = props.onSelectNextSheet, onSelectPreviousSheet = props.onSelectPreviousSheet, onCreateNewSheet = props.onCreateNewSheet, onKeyDown = props.onKeyDown, onChangeFormatting = props.onChangeFormatting, onRepeatFormatting = props.onRepeatFormatting, onClearFormatting = props.onClearFormatting, onRequestEditProtectedRange = props.onRequestEditProtectedRange, onMoveChart = props.onMoveChart, onResizeChart = props.onResizeChart, onDeleteChart = props.onDeleteChart, onMoveEmbed = props.onMoveEmbed, onResizeEmbed = props.onResizeEmbed, onDeleteEmbed = props.onDeleteEmbed, onRequestEditEmbed = props.onRequestEditEmbed, onMoveSlicer = props.onMoveSlicer, onResizeSlicer = props.onResizeSlicer, onDeleteSlicer = props.onDeleteSlicer, onRequestEditSlicer = props.onRequestEditSlicer, onFillRange = props.onFillRange, disableFillRightShortcut = props.disableFillRightShortcut, keymap = props.keymap, onCalculateNow = props.onCalculateNow, onRequestGoTo = props.onRequestGoTo, onMoveSelection = props.onMoveSelection, onInsertCutCells = props.onInsertCutCells, onInsertTime = props.onInsertTime, onInsertDate = props.onInsertDate, onInsertDateTime = props.onInsertDateTime, onInsertAutoSum = props.onInsertAutoSum, onUndo = props.onUndo, onRedo = props.onRedo, onPaste = props.onPaste, onCopy = props.onCopy, onCut = props.onCut, onSortColumn = props.onSortColumn, onSortTable = props.onSortTable, onFilterTable = props.onFilterTable, onFilterPivot = props.onFilterPivot, onResizeTable = props.onResizeTable, onRequestEditTable = props.onRequestEditTable, onRequestEditPivotTable = props.onRequestEditPivotTable, onRequestDeletePivotTable = props.onRequestDeletePivotTable, onRemoveTable = props.onRemoveTable, onCreateTable = props.onCreateTable, onInsertTableColumn = props.onInsertTableColumn, onDeleteTableColumn = props.onDeleteTableColumn, onInsertTableRow = props.onInsertTableRow, onDeleteTableRow = props.onDeleteTableRow, onCreateBasicFilter = props.onCreateBasicFilter, onRequestDefineNamedRange = props.onRequestDefineNamedRange, onRequestFormatCells = props.onRequestFormatCells, onRequestConditionalFormat = props.onRequestConditionalFormat, onRequestDataValidation = props.onRequestDataValidation, onRequestInsertComment = props.onRequestInsertComment, onRequestInsertLink = props.onRequestInsertLink, onFreezeColumn = props.onFreezeColumn, onFreezeRow = props.onFreezeRow, onUpdateNote = props.onUpdateNote, onProtectRange = props.onProtectRange, onUnProtectRange = props.onUnProtectRange, onSortRange = props.onSortRange, onRequestSearch = props.onRequestSearch, onRequestReplace = props.onRequestReplace, onRequestResize = props.onRequestResize, _41 = props.getRowHeaderText, getRowHeaderText = _41 === void 0 ? helpers_1.getDefaultRowHeader : _41, _42 = props.getColumnHeaderText, getColumnHeaderText = _42 === void 0 ? helpers_1.getDefaultColumnHeader : _42, getAdditionalCellSpacing = props.getAdditionalCellSpacing, _43 = props.tokenizer, defaultTokenizer = _43 === void 0 ? calculator_1.tokenize : _43, onChangeScale = props.onChangeScale, onRemoveLink = props.onRemoveLink, onSelectLink = props.onSelectLink, onSplitTextToColumns = props.onSplitTextToColumns, onRemoveDuplicates = props.onRemoveDuplicates, onGoalSeek = props.onGoalSeek, onSubtotal = props.onSubtotal, onAdvancedFilter = props.onAdvancedFilter, onRequestExpand = props.onRequestExpand, cellExpandPredicate = props.cellExpandPredicate, _44 = props.StructuredResult, StructuredResult = _44 === void 0 ? cell_structured_1.StructuredResultRenderer : _44, getMentions = props.getMentions, getStructuredPropertiesProp = props.getStructuredProperties, getFunctionParameterSuggestions = props.getFunctionParameterSuggestions, shouldFetchFunctionParameters = props.shouldFetchFunctionParameters, MentionTagComponent = props.MentionTagComponent, MentionDropdownItemComponent = props.MentionDropdownItemComponent, _45 = props.showSelectionResizeHandles, showSelectionResizeHandles = _45 === void 0 ? true : _45, enableMagicFill = props.enableMagicFill, _46 = props.enableQuickEdit, enableQuickEdit = _46 === void 0 ? true : _46, MagicFillComponent = props.MagicFillComponent, MagicFillContent = props.MagicFillContent, QuickEdit = props.QuickEdit, PasteMenu = props.PasteMenu, SuggestionAction = props.SuggestionAction, HiddenRowMarkers = props.HiddenRowMarkers, HiddenColumnMarkers = props.HiddenColumnMarkers, enableResizerOverflow = props.enableResizerOverflow, className = props.className, _47 = props.defaultFontSizePoint, defaultFontSizePoint = _47 === void 0 ? config_1.DEFAULT_FONT_SIZE_PT : _47, readonly = props.readonly, _48 = props.isComparing, isComparing = _48 === void 0 ? false : _48, getCellDiff = props.getCellDiff, enableDataBoundaryNavigation = props.enableDataBoundaryNavigation, footerHeight = props.footerHeight, footerComponent = props.footerComponent, arrowComponents = props.arrowComponents,
|
|
124
|
+
var licenseKey = props.licenseKey, sheetId = props.sheetId, sheetType = props.sheetType, _a = props.ChartSheetView, ChartSheetViewComponent = _a === void 0 ? chart_sheet_view_1.ChartSheetView : _a, instanceId = props.instanceId, _b = props.activeCell, activeCell = _b === void 0 ? config_1.DEFAULT_ACTIVE_CELL : _b, _c = props.selections, selections = _c === void 0 ? config_1.DEFAULT_ARRAY : _c, _d = props.frozenColumnCount, frozenColumnCount = _d === void 0 ? 0 : _d, _e = props.frozenRowCount, frozenRowCount = _e === void 0 ? 0 : _e, _f = props.rowCount, rowCount = _f === void 0 ? config_1.DEFAULT_ROW_COUNT : _f, _g = props.columnCount, columnCount = _g === void 0 ? config_1.DEFAULT_COLUMN_COUNT : _g, autoFocus = props.autoFocus, basicFilter = props.basicFilter, tables = props.tables, namedRanges = props.namedRanges, _h = props.bandedRanges, bandedRanges = _h === void 0 ? config_1.DEFAULT_ARRAY : _h, _j = props.tableBorderColor, tableBorderColor = _j === void 0 ? "#008000" : _j, _k = props.filterIconColor, filterIconColor = _k === void 0 ? "#008000" : _k, conditionalFormats = props.conditionalFormats, _l = props.showFilterIcon, showFilterIcon = _l === void 0 ? true : _l, _m = props.showCalculatedColumnIcon, showCalculatedColumnIcon = _m === void 0 ? true : _m, _o = props.showHeaders, showHeaders = _o === void 0 ? true : _o, _p = props.defaultColumnWidth, defaultColumnWidth = _p === void 0 ? config_1.DEFAULT_COLUMN_WIDTH : _p, _q = props.defaultRowHeight, defaultRowHeight = _q === void 0 ? config_1.DEFAULT_ROW_HEIGHT : _q, _r = props.columnHeaderHeight, columnHeaderHeight = _r === void 0 ? config_1.COLUMN_HEADER_HEIGHT : _r, _s = props.rowHeaderWidth, rowHeaderWidth = _s === void 0 ? config_1.ROW_HEADER_WIDTH : _s, _t = props.gridLineColor, gridLineColor = _t === void 0 ? config_1.GRIDLINE_COLOR : _t, _u = props.cellBackgroundColor, cellBackgroundColor = _u === void 0 ? config_1.DEFAULT_CELL_BACKGROUND_COLOR : _u, _v = props.cellColor, cellColor = _v === void 0 ? config_1.DEFAULT_CELL_COLOR : _v, _w = props.headerBorderColor, headerBorderColor = _w === void 0 ? config_1.DEFAULT_HEADER_BORDER_COLOR : _w, _x = props.headerBackgroundColor, headerBackgroundColor = _x === void 0 ? config_1.DEFAULT_HEADER_BG : _x, _y = props.headerColor, headerColor = _y === void 0 ? config_1.DEFAULT_HEADER_COLOR : _y, _z = props.headerActiveBackgroundColor, headerActiveBackgroundColor = _z === void 0 ? config_1.DEFAULT_HEADER_ACTIVE_BG : _z, _0 = props.headerSelectedBackgroundColor, headerSelectedBackgroundColor = _0 === void 0 ? config_1.DEFAULT_HEADER_SELECTED_BG : _0, _1 = props.headerSelectedColor, headerSelectedColor = _1 === void 0 ? "white" : _1, _2 = props.headerTableBackgroundColor, headerTableBackgroundColor = _2 === void 0 ? config_1.DEFAULT_HEADER_TABLE_BG : _2, _3 = props.headerTableActiveBackgroundColor, headerTableActiveBackgroundColor = _3 === void 0 ? config_1.DEFAULT_HEADER_ACTIVE_TABLE_BG : _3, _4 = props.headerTableSelectedBackgroundColor, headerTableSelectedBackgroundColor = _4 === void 0 ? config_1.DEFAULT_HEADER_SELECTED_TABLE_BG : _4, _5 = props.frozenShadowColor, frozenShadowColor = _5 === void 0 ? headerBorderColor : _5, _6 = props.frozenShadowThickness, frozenShadowThickness = _6 === void 0 ? 1 : _6, _7 = props.selectionBackgroundColor, selectionBackgroundColor = _7 === void 0 ? config_1.SELECTION_BG : _7, _8 = props.selectionBorderColor, selectionBorderColor = _8 === void 0 ? config_1.SELECTION_BORDER : _8, _9 = props.selectionDragBorderColor, selectionDragBorderColor = _9 === void 0 ? config_1.SELECTION_BORDER : _9, chartSelectedColor = props.chartSelectedColor, _10 = props.chipBackgroundColor, chipBackgroundColor = _10 === void 0 ? config_1.CHIP_COLOR : _10, _11 = props.merges, merges = _11 === void 0 ? config_1.DEFAULT_ARRAY : _11, borderStyles = props.borderStyles, protectedRanges = props.protectedRanges, _12 = props.isWorkbookProtected, isWorkbookProtectedProp = _12 === void 0 ? false : _12, getSheetProtection = props.getSheetProtection, pivotTables = props.pivotTables, charts = props.charts, onUpdateChart = props.onUpdateChart, onChangeZOrder = props.onChangeZOrder, embeds = props.embeds, slicers = props.slicers, _13 = props.rowMetadata, rowMetadata = _13 === void 0 ? config_1.DEFAULT_ARRAY : _13, _14 = props.columnMetadata, columnMetadata = _14 === void 0 ? config_1.DEFAULT_ARRAY : _14, _15 = props.scale, scale = _15 === void 0 ? 1 : _15, _16 = props.zoomSpeed, zoomSpeed = _16 === void 0 ? 1 : _16, _17 = props.overscanCount, overscanCount = _17 === void 0 ? 3 : _17, _18 = props.enableEditOnEnterKey, enableEditOnEnterKey = _18 === void 0 ? true : _18, _19 = props.enableTextOverflow, enableTextOverflow = _19 === void 0 ? true : _19, _showGridLines = props.showGridLines, _20 = props.showFormulas, showFormulas = _20 === void 0 ? false : _20, _21 = props.protectFormulas, protectFormulas = _21 === void 0 ? false : _21, _22 = props.showFrozenSeparator, showFrozenSeparator = _22 === void 0 ? true : _22, _23 = props.HeaderCell, HeaderCell = _23 === void 0 ? header_cell_1.HeaderCell : _23, _24 = props.Cell, Cell = _24 === void 0 ? cell_1.Cell : _24, _25 = props.SelectionTitleComponent, SelectionTitleComponent = _25 === void 0 ? title_1.SelectionTitle : _25, _26 = props.CellEditor, CellEditor = _26 === void 0 ? cell_editor_1.CellEditor : _26, CellTooltip = props.CellTooltip, _27 = props.ContextMenu, ContextMenu = _27 === void 0 ? context_menu_1.ContextMenu : _27, _28 = props.ContextMenuWrapper, ContextMenuWrapper = _28 === void 0 ? use_context_menu_1.DefaultContextMenuWrapper : _28, _29 = props.FilterBox, FilterBox = _29 === void 0 ? filter_box_1.FilterBox : _29, _30 = props.HeaderMoveDragComponent, HeaderMoveDragComponent = _30 === void 0 ? header_move_1.HeaderMoveDragComponent : _30, SuggestionsDropdown = props.SuggestionsDropdown, _31 = props.stickyEditor, stickyEditor = _31 === void 0 ? true : _31, _32 = props.scrollSnap, scrollSnap = _32 === void 0 ? false : _32, scrollThrottleTimeout = props.scrollThrottleTimeout, preventBrowserDefaultScroll = props.preventBrowserDefaultScroll, _33 = props.mouseMoveThrottleTimeout, mouseMoveThrottleTimeout = _33 === void 0 ? 60 : _33, _34 = props.tooltipIntentInterval, tooltipIntentInterval = _34 === void 0 ? 60 : _34, selectionPolicy = props.selectionPolicy, users = props.users, userId = props.userId, renderCollaboratorCursor = props.renderCollaboratorCursor, functionDescriptions = props.functionDescriptions, _35 = props.showHeaderMenuButton, showHeaderMenuButton = _35 === void 0 ? true : _35, _36 = props.scrollbarSize, scrollbarSize = _36 === void 0 ? config_1.SCROLLBAR_SIZE : _36, _37 = props.theme, theme = _37 === void 0 ? config_1.defaultSpreadsheetTheme : _37, _38 = props.showNotes, showNotes = _38 === void 0 ? true : _38, _39 = props.showComments, showComments = _39 === void 0 ? true : _39, locale = props.locale, formulaLocaleProp = props.formulaLocale, agentSuggestions = props.agentSuggestions, onReviewSuggestion = props.onReviewSuggestion, onShowFormulas = props.onShowFormulas, getDataRowCount = props.getDataRowCount, getChartComponent = props.getChartComponent, getEmbedComponent = props.getEmbedComponent, getSlicerComponent = props.getSlicerComponent, onChange = props.onChange, onChangeBatch = props.onChangeBatch, onExpandCollapse = props.onExpandCollapse, onPivotDrillDown = props.onPivotDrillDown, onDelete = props.onDelete, onChangeEditorValue = props.onChangeEditorValue, onFill = props.onFill, onRequestCalculate = props.onRequestCalculate, onChangeActiveCell = props.onChangeActiveCell, onChangeActiveSheet = props.onChangeActiveSheet, onChangeSelections = props.onChangeSelections, getSheetName = props.getSheetName, getSheetId = props.getSheetId, getCellData = props.getCellData, getNoteProp = props.getNote, getTextFormatRuns = props.getTextFormatRuns, getDataValidation = props.getDataValidation, getEffectiveFormat = props.getEffectiveFormat, getFormattedValueProp = props.getFormattedValue, getTooltipContent = props.getTooltipContent, errorResolutionComponent = props.errorResolutionComponent, getEffectiveValueProp = props.getEffectiveValue, getSparklineGroup = props.getSparklineGroup, getUserEnteredExtendedValue = props.getUserEnteredExtendedValue, getEffectiveExtendedValue = props.getEffectiveExtendedValue, getSheetRowCount = props.getSheetRowCount, getSheetColumnCount = props.getSheetColumnCount, getCellPopoverContent = props.getCellPopoverContent, onScroll = props.onScroll, onViewPortChange = props.onViewPortChange, _40 = props.windowConditionalFormats, windowConditionalFormats = _40 === void 0 ? false : _40, _41 = props.engineConditionalFormatResults, engineConditionalFormatResults = _41 === void 0 ? false : _41, onResize = props.onResize, onAutoResize = props.onAutoResize, onHideColumn = props.onHideColumn, onHideRow = props.onHideRow, onShowColumn = props.onShowColumn, onShowRow = props.onShowRow, onGroupRows = props.onGroupRows, onUngroupRows = props.onUngroupRows, onCollapseRowGroup = props.onCollapseRowGroup, onExpandRowGroup = props.onExpandRowGroup, onGroupColumns = props.onGroupColumns, onUngroupColumns = props.onUngroupColumns, onCollapseColumnGroup = props.onCollapseColumnGroup, onExpandColumnGroup = props.onExpandColumnGroup, onSetOutlineDepth = props.onSetOutlineDepth, onDeleteRow = props.onDeleteRow, onDeleteColumn = props.onDeleteColumn, onInsertRow = props.onInsertRow, onInsertColumn = props.onInsertColumn, onChangeAutoExpandTables = props.onChangeAutoExpandTables, onChangeAutoCalculatedColumns = props.onChangeAutoCalculatedColumns, onInsertCellsShiftDown = props.onInsertCellsShiftDown, onInsertCellsShiftRight = props.onInsertCellsShiftRight, onDeleteCellsShiftLeft = props.onDeleteCellsShiftLeft, onDeleteCellsShiftUp = props.onDeleteCellsShiftUp, onClearContents = props.onClearContents, onMoveColumns = props.onMoveColumns, onMoveRows = props.onMoveRows, onSelectNextSheet = props.onSelectNextSheet, onSelectPreviousSheet = props.onSelectPreviousSheet, onCreateNewSheet = props.onCreateNewSheet, onKeyDown = props.onKeyDown, onChangeFormatting = props.onChangeFormatting, onRepeatFormatting = props.onRepeatFormatting, onClearFormatting = props.onClearFormatting, onRequestEditProtectedRange = props.onRequestEditProtectedRange, onMoveChart = props.onMoveChart, onResizeChart = props.onResizeChart, onDeleteChart = props.onDeleteChart, onCutChart = props.onCutChart, onCopyChart = props.onCopyChart, onMoveEmbed = props.onMoveEmbed, onResizeEmbed = props.onResizeEmbed, onDeleteEmbed = props.onDeleteEmbed, onRequestEditEmbed = props.onRequestEditEmbed, onMoveSlicer = props.onMoveSlicer, onResizeSlicer = props.onResizeSlicer, onDeleteSlicer = props.onDeleteSlicer, onRequestEditSlicer = props.onRequestEditSlicer, onFillRange = props.onFillRange, disableFillRightShortcut = props.disableFillRightShortcut, keymap = props.keymap, onCalculateNow = props.onCalculateNow, onRequestGoTo = props.onRequestGoTo, onMoveSelection = props.onMoveSelection, onInsertCutCells = props.onInsertCutCells, onInsertTime = props.onInsertTime, onInsertDate = props.onInsertDate, onInsertDateTime = props.onInsertDateTime, onInsertAutoSum = props.onInsertAutoSum, onUndo = props.onUndo, onRedo = props.onRedo, onPaste = props.onPaste, onCopy = props.onCopy, onCut = props.onCut, onSortColumn = props.onSortColumn, onSortTable = props.onSortTable, onFilterTable = props.onFilterTable, onFilterPivot = props.onFilterPivot, onResizeTable = props.onResizeTable, onUndoTableAutoExpansion = props.onUndoTableAutoExpansion, onUndoCalculatedColumn = props.onUndoCalculatedColumn, onOverwriteCalculatedColumn = props.onOverwriteCalculatedColumn, onRequestEditTable = props.onRequestEditTable, onRequestEditPivotTable = props.onRequestEditPivotTable, onRequestDeletePivotTable = props.onRequestDeletePivotTable, onRequestCreatePivotChart = props.onRequestCreatePivotChart, onRemoveTable = props.onRemoveTable, onCreateTable = props.onCreateTable, onRequestCreateTable = props.onRequestCreateTable, onInsertTableColumn = props.onInsertTableColumn, onDeleteTableColumn = props.onDeleteTableColumn, onInsertTableRow = props.onInsertTableRow, onDeleteTableRow = props.onDeleteTableRow, onUpdateTable = props.onUpdateTable, onRequestResizeTable = props.onRequestResizeTable, onRequestInsertSlicer = props.onRequestInsertSlicer, onCreateBasicFilter = props.onCreateBasicFilter, onRequestDefineNamedRange = props.onRequestDefineNamedRange, onRequestFormatCells = props.onRequestFormatCells, onRequestConditionalFormat = props.onRequestConditionalFormat, onRequestDataValidation = props.onRequestDataValidation, onRequestInsertComment = props.onRequestInsertComment, onRequestInsertLink = props.onRequestInsertLink, onFreezeColumn = props.onFreezeColumn, onFreezeRow = props.onFreezeRow, onUpdateNote = props.onUpdateNote, onProtectRange = props.onProtectRange, onUnProtectRange = props.onUnProtectRange, onSortRange = props.onSortRange, onRequestSearch = props.onRequestSearch, onRequestReplace = props.onRequestReplace, onRequestResize = props.onRequestResize, _42 = props.getRowHeaderText, getRowHeaderText = _42 === void 0 ? helpers_1.getDefaultRowHeader : _42, _43 = props.getColumnHeaderText, getColumnHeaderText = _43 === void 0 ? helpers_1.getDefaultColumnHeader : _43, getAdditionalCellSpacing = props.getAdditionalCellSpacing, _44 = props.tokenizer, defaultTokenizer = _44 === void 0 ? calculator_1.tokenize : _44, 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, _45 = props.StructuredResult, StructuredResult = _45 === void 0 ? cell_structured_1.StructuredResultRenderer : _45, getMentions = props.getMentions, getStructuredPropertiesProp = props.getStructuredProperties, getFunctionParameterSuggestions = props.getFunctionParameterSuggestions, shouldFetchFunctionParameters = props.shouldFetchFunctionParameters, MentionTagComponent = props.MentionTagComponent, MentionDropdownItemComponent = props.MentionDropdownItemComponent, _46 = props.showSelectionResizeHandles, showSelectionResizeHandles = _46 === void 0 ? true : _46, enableMagicFill = props.enableMagicFill, _47 = props.enableQuickEdit, enableQuickEdit = _47 === void 0 ? true : _47, 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, _48 = props.defaultFontSizePoint, defaultFontSizePoint = _48 === void 0 ? config_1.DEFAULT_FONT_SIZE_PT : _48, readonly = props.readonly, _49 = props.isComparing, isComparing = _49 === void 0 ? false : _49, getCellDiff = props.getCellDiff, enableDataBoundaryNavigation = props.enableDataBoundaryNavigation, footerHeight = props.footerHeight, footerComponent = props.footerComponent, arrowComponents = props.arrowComponents,
|
|
114
125
|
// Host-driven filter props. `hostHiddenRowRanges`
|
|
115
126
|
// supplies compact [start, end] hidden-row tuples; `getFilterValues` supplies a
|
|
116
127
|
// column's distinct values. Both let a million-row filter render without scanning
|
|
@@ -122,7 +133,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
122
133
|
// defaults to `getFormattedValue` inside `useGetValuesFromRange`.
|
|
123
134
|
getValidationSourceValue = props.getValidationSourceValue,
|
|
124
135
|
// Unused props only for api
|
|
125
|
-
onChangeBorder = props.onChangeBorder, onDuplicateSheet = props.onDuplicateSheet, onCreateConditionalFormattingRule = props.onCreateConditionalFormattingRule, onDeleteConditionalFormattingRule = props.onDeleteConditionalFormattingRule, onUpdateConditionalFormattingRule = props.onUpdateConditionalFormattingRule, onCreateDataValidationRule = props.onCreateDataValidationRule, onUpdateDataValidationRule = props.onUpdateDataValidationRule, onDeleteDataValidationRule = props.onDeleteDataValidationRule, onCreateChart = props.onCreateChart, onDeleteSheet = props.onDeleteSheet, onCreateEmbed = props.onCreateEmbed, onDecreaseIndent = props.onDecreaseIndent, onIncreaseIndent = props.onIncreaseIndent, onChangeTheme = props.onChangeTheme, onChangeDecimals = props.onChangeDecimals, onUpdateSheet = props.onUpdateSheet, onChangeBatchStream = props.onChangeBatchStream, onBlur = props.onBlur, rest = tslib_1.__rest(props, ["licenseKey", "sheetId", "instanceId", "activeCell", "selections", "frozenColumnCount", "frozenRowCount", "rowCount", "columnCount", "autoFocus", "basicFilter", "tables", "namedRanges", "bandedRanges", "tableBorderColor", "filterIconColor", "conditionalFormats", "showFilterIcon", "showCalculatedColumnIcon", "showHeaders", "defaultColumnWidth", "defaultRowHeight", "columnHeaderHeight", "rowHeaderWidth", "gridLineColor", "cellBackgroundColor", "cellColor", "headerBorderColor", "headerBackgroundColor", "headerColor", "headerActiveBackgroundColor", "headerSelectedBackgroundColor", "headerSelectedColor", "headerTableBackgroundColor", "headerTableActiveBackgroundColor", "headerTableSelectedBackgroundColor", "frozenShadowColor", "frozenShadowThickness", "selectionBackgroundColor", "selectionBorderColor", "selectionDragBorderColor", "chartSelectedColor", "chipBackgroundColor", "merges", "borderStyles", "protectedRanges", "isWorkbookProtected", "getSheetProtection", "pivotTables", "charts", "embeds", "slicers", "rowMetadata", "columnMetadata", "scale", "zoomSpeed", "overscanCount", "enableEditOnEnterKey", "enableTextOverflow", "showGridLines", "showFormulas", "protectFormulas", "showFrozenSeparator", "HeaderCell", "Cell", "SelectionTitleComponent", "CellEditor", "CellTooltip", "ContextMenu", "ContextMenuWrapper", "FilterBox", "HeaderMoveDragComponent", "SuggestionsDropdown", "stickyEditor", "scrollSnap", "scrollThrottleTimeout", "preventBrowserDefaultScroll", "mouseMoveThrottleTimeout", "tooltipIntentInterval", "selectionPolicy", "users", "userId", "renderCollaboratorCursor", "functionDescriptions", "showHeaderMenuButton", "scrollbarSize", "theme", "showNotes", "showComments", "locale", "formulaLocale", "agentSuggestions", "onReviewSuggestion", "onShowFormulas", "getDataRowCount", "getChartComponent", "getEmbedComponent", "getSlicerComponent", "onChange", "onChangeBatch", "onExpandCollapse", "onPivotDrillDown", "onDelete", "onChangeEditorValue", "onFill", "onRequestCalculate", "onChangeActiveCell", "onChangeActiveSheet", "onChangeSelections", "getSheetName", "getSheetId", "getCellData", "getNote", "getTextFormatRuns", "getDataValidation", "getEffectiveFormat", "getFormattedValue", "getTooltipContent", "errorResolutionComponent", "getEffectiveValue", "getUserEnteredExtendedValue", "getEffectiveExtendedValue", "getSheetRowCount", "getSheetColumnCount", "getCellPopoverContent", "onScroll", "onViewPortChange", "windowConditionalFormats", "engineConditionalFormatResults", "onResize", "onAutoResize", "onHideColumn", "onHideRow", "onShowColumn", "onShowRow", "onGroupRows", "onUngroupRows", "onCollapseRowGroup", "onExpandRowGroup", "onGroupColumns", "onUngroupColumns", "onCollapseColumnGroup", "onExpandColumnGroup", "onSetOutlineDepth", "onDeleteRow", "onDeleteColumn", "onInsertRow", "onInsertColumn", "onInsertCellsShiftDown", "onInsertCellsShiftRight", "onDeleteCellsShiftLeft", "onDeleteCellsShiftUp", "onClearContents", "onMoveColumns", "onMoveRows", "onSelectNextSheet", "onSelectPreviousSheet", "onCreateNewSheet", "onKeyDown", "onChangeFormatting", "onRepeatFormatting", "onClearFormatting", "onRequestEditProtectedRange", "onMoveChart", "onResizeChart", "onDeleteChart", "onMoveEmbed", "onResizeEmbed", "onDeleteEmbed", "onRequestEditEmbed", "onMoveSlicer", "onResizeSlicer", "onDeleteSlicer", "onRequestEditSlicer", "onFillRange", "disableFillRightShortcut", "keymap", "onCalculateNow", "onRequestGoTo", "onMoveSelection", "onInsertCutCells", "onInsertTime", "onInsertDate", "onInsertDateTime", "onInsertAutoSum", "onUndo", "onRedo", "onPaste", "onCopy", "onCut", "onSortColumn", "onSortTable", "onFilterTable", "onFilterPivot", "onResizeTable", "onRequestEditTable", "onRequestEditPivotTable", "onRequestDeletePivotTable", "onRemoveTable", "onCreateTable", "onInsertTableColumn", "onDeleteTableColumn", "onInsertTableRow", "onDeleteTableRow", "onCreateBasicFilter", "onRequestDefineNamedRange", "onRequestFormatCells", "onRequestConditionalFormat", "onRequestDataValidation", "onRequestInsertComment", "onRequestInsertLink", "onFreezeColumn", "onFreezeRow", "onUpdateNote", "onProtectRange", "onUnProtectRange", "onSortRange", "onRequestSearch", "onRequestReplace", "onRequestResize", "getRowHeaderText", "getColumnHeaderText", "getAdditionalCellSpacing", "tokenizer", "onChangeScale", "onRemoveLink", "onSelectLink", "onSplitTextToColumns", "onRemoveDuplicates", "onGoalSeek", "onSubtotal", "onAdvancedFilter", "onRequestExpand", "cellExpandPredicate", "StructuredResult", "getMentions", "getStructuredProperties", "getFunctionParameterSuggestions", "shouldFetchFunctionParameters", "MentionTagComponent", "MentionDropdownItemComponent", "showSelectionResizeHandles", "enableMagicFill", "enableQuickEdit", "MagicFillComponent", "MagicFillContent", "QuickEdit", "PasteMenu", "SuggestionAction", "HiddenRowMarkers", "HiddenColumnMarkers", "enableResizerOverflow", "className", "defaultFontSizePoint", "readonly", "isComparing", "getCellDiff", "enableDataBoundaryNavigation", "footerHeight", "footerComponent", "arrowComponents", "hostHiddenRowRanges", "getFilterValues", "getFilterColors", "getValidationSourceValue", "onChangeBorder", "onDuplicateSheet", "onCreateConditionalFormattingRule", "onDeleteConditionalFormattingRule", "onUpdateConditionalFormattingRule", "onCreateDataValidationRule", "onUpdateDataValidationRule", "onDeleteDataValidationRule", "onCreateChart", "onDeleteSheet", "onCreateEmbed", "onDecreaseIndent", "onIncreaseIndent", "onChangeTheme", "onChangeDecimals", "onUpdateSheet", "onChangeBatchStream", "onBlur"]);
|
|
136
|
+
onChangeBorder = props.onChangeBorder, onDuplicateSheet = props.onDuplicateSheet, onCreateConditionalFormattingRule = props.onCreateConditionalFormattingRule, onDeleteConditionalFormattingRule = props.onDeleteConditionalFormattingRule, onUpdateConditionalFormattingRule = props.onUpdateConditionalFormattingRule, onCreateDataValidationRule = props.onCreateDataValidationRule, onUpdateDataValidationRule = props.onUpdateDataValidationRule, onDeleteDataValidationRule = props.onDeleteDataValidationRule, onCreateChart = props.onCreateChart, onDeleteSheet = props.onDeleteSheet, onCreateEmbed = props.onCreateEmbed, onDecreaseIndent = props.onDecreaseIndent, onIncreaseIndent = props.onIncreaseIndent, onChangeTheme = props.onChangeTheme, onChangeDecimals = props.onChangeDecimals, onUpdateSheet = props.onUpdateSheet, onChangeBatchStream = props.onChangeBatchStream, onBlur = props.onBlur, rest = tslib_1.__rest(props, ["licenseKey", "sheetId", "sheetType", "ChartSheetView", "instanceId", "activeCell", "selections", "frozenColumnCount", "frozenRowCount", "rowCount", "columnCount", "autoFocus", "basicFilter", "tables", "namedRanges", "bandedRanges", "tableBorderColor", "filterIconColor", "conditionalFormats", "showFilterIcon", "showCalculatedColumnIcon", "showHeaders", "defaultColumnWidth", "defaultRowHeight", "columnHeaderHeight", "rowHeaderWidth", "gridLineColor", "cellBackgroundColor", "cellColor", "headerBorderColor", "headerBackgroundColor", "headerColor", "headerActiveBackgroundColor", "headerSelectedBackgroundColor", "headerSelectedColor", "headerTableBackgroundColor", "headerTableActiveBackgroundColor", "headerTableSelectedBackgroundColor", "frozenShadowColor", "frozenShadowThickness", "selectionBackgroundColor", "selectionBorderColor", "selectionDragBorderColor", "chartSelectedColor", "chipBackgroundColor", "merges", "borderStyles", "protectedRanges", "isWorkbookProtected", "getSheetProtection", "pivotTables", "charts", "onUpdateChart", "onChangeZOrder", "embeds", "slicers", "rowMetadata", "columnMetadata", "scale", "zoomSpeed", "overscanCount", "enableEditOnEnterKey", "enableTextOverflow", "showGridLines", "showFormulas", "protectFormulas", "showFrozenSeparator", "HeaderCell", "Cell", "SelectionTitleComponent", "CellEditor", "CellTooltip", "ContextMenu", "ContextMenuWrapper", "FilterBox", "HeaderMoveDragComponent", "SuggestionsDropdown", "stickyEditor", "scrollSnap", "scrollThrottleTimeout", "preventBrowserDefaultScroll", "mouseMoveThrottleTimeout", "tooltipIntentInterval", "selectionPolicy", "users", "userId", "renderCollaboratorCursor", "functionDescriptions", "showHeaderMenuButton", "scrollbarSize", "theme", "showNotes", "showComments", "locale", "formulaLocale", "agentSuggestions", "onReviewSuggestion", "onShowFormulas", "getDataRowCount", "getChartComponent", "getEmbedComponent", "getSlicerComponent", "onChange", "onChangeBatch", "onExpandCollapse", "onPivotDrillDown", "onDelete", "onChangeEditorValue", "onFill", "onRequestCalculate", "onChangeActiveCell", "onChangeActiveSheet", "onChangeSelections", "getSheetName", "getSheetId", "getCellData", "getNote", "getTextFormatRuns", "getDataValidation", "getEffectiveFormat", "getFormattedValue", "getTooltipContent", "errorResolutionComponent", "getEffectiveValue", "getSparklineGroup", "getUserEnteredExtendedValue", "getEffectiveExtendedValue", "getSheetRowCount", "getSheetColumnCount", "getCellPopoverContent", "onScroll", "onViewPortChange", "windowConditionalFormats", "engineConditionalFormatResults", "onResize", "onAutoResize", "onHideColumn", "onHideRow", "onShowColumn", "onShowRow", "onGroupRows", "onUngroupRows", "onCollapseRowGroup", "onExpandRowGroup", "onGroupColumns", "onUngroupColumns", "onCollapseColumnGroup", "onExpandColumnGroup", "onSetOutlineDepth", "onDeleteRow", "onDeleteColumn", "onInsertRow", "onInsertColumn", "onChangeAutoExpandTables", "onChangeAutoCalculatedColumns", "onInsertCellsShiftDown", "onInsertCellsShiftRight", "onDeleteCellsShiftLeft", "onDeleteCellsShiftUp", "onClearContents", "onMoveColumns", "onMoveRows", "onSelectNextSheet", "onSelectPreviousSheet", "onCreateNewSheet", "onKeyDown", "onChangeFormatting", "onRepeatFormatting", "onClearFormatting", "onRequestEditProtectedRange", "onMoveChart", "onResizeChart", "onDeleteChart", "onCutChart", "onCopyChart", "onMoveEmbed", "onResizeEmbed", "onDeleteEmbed", "onRequestEditEmbed", "onMoveSlicer", "onResizeSlicer", "onDeleteSlicer", "onRequestEditSlicer", "onFillRange", "disableFillRightShortcut", "keymap", "onCalculateNow", "onRequestGoTo", "onMoveSelection", "onInsertCutCells", "onInsertTime", "onInsertDate", "onInsertDateTime", "onInsertAutoSum", "onUndo", "onRedo", "onPaste", "onCopy", "onCut", "onSortColumn", "onSortTable", "onFilterTable", "onFilterPivot", "onResizeTable", "onUndoTableAutoExpansion", "onUndoCalculatedColumn", "onOverwriteCalculatedColumn", "onRequestEditTable", "onRequestEditPivotTable", "onRequestDeletePivotTable", "onRequestCreatePivotChart", "onRemoveTable", "onCreateTable", "onRequestCreateTable", "onInsertTableColumn", "onDeleteTableColumn", "onInsertTableRow", "onDeleteTableRow", "onUpdateTable", "onRequestResizeTable", "onRequestInsertSlicer", "onCreateBasicFilter", "onRequestDefineNamedRange", "onRequestFormatCells", "onRequestConditionalFormat", "onRequestDataValidation", "onRequestInsertComment", "onRequestInsertLink", "onFreezeColumn", "onFreezeRow", "onUpdateNote", "onProtectRange", "onUnProtectRange", "onSortRange", "onRequestSearch", "onRequestReplace", "onRequestResize", "getRowHeaderText", "getColumnHeaderText", "getAdditionalCellSpacing", "tokenizer", "onChangeScale", "onRemoveLink", "onSelectLink", "onSplitTextToColumns", "onRemoveDuplicates", "onGoalSeek", "onSubtotal", "onAdvancedFilter", "onRequestExpand", "cellExpandPredicate", "StructuredResult", "getMentions", "getStructuredProperties", "getFunctionParameterSuggestions", "shouldFetchFunctionParameters", "MentionTagComponent", "MentionDropdownItemComponent", "showSelectionResizeHandles", "enableMagicFill", "enableQuickEdit", "MagicFillComponent", "MagicFillContent", "QuickEdit", "PasteMenu", "SuggestionAction", "HiddenRowMarkers", "HiddenColumnMarkers", "enableResizerOverflow", "className", "defaultFontSizePoint", "readonly", "isComparing", "getCellDiff", "enableDataBoundaryNavigation", "footerHeight", "footerComponent", "arrowComponents", "hostHiddenRowRanges", "getFilterValues", "getFilterColors", "getValidationSourceValue", "onChangeBorder", "onDuplicateSheet", "onCreateConditionalFormattingRule", "onDeleteConditionalFormattingRule", "onUpdateConditionalFormattingRule", "onCreateDataValidationRule", "onUpdateDataValidationRule", "onDeleteDataValidationRule", "onCreateChart", "onDeleteSheet", "onCreateEmbed", "onDecreaseIndent", "onIncreaseIndent", "onChangeTheme", "onChangeDecimals", "onUpdateSheet", "onChangeBatchStream", "onBlur"]);
|
|
126
137
|
/**
|
|
127
138
|
* Fire onBlur only when the cell editor blurs to an element outside the
|
|
128
139
|
* spreadsheet. Routed through `useEditable` so we hook the always-focused
|
|
@@ -138,7 +149,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
138
149
|
var showGridLines = _showGridLines !== null && _showGridLines !== void 0 ? _showGridLines : true;
|
|
139
150
|
var gridRef = (0, react_1.useRef)(null);
|
|
140
151
|
// Hovered cell state (immediate, updated on mousemove)
|
|
141
|
-
var
|
|
152
|
+
var _50 = tslib_1.__read((0, react_1.useState)(), 2), hoveredCell = _50[0], setHoveredCell = _50[1];
|
|
142
153
|
// Delayed hovered cell for tooltips and selection titles
|
|
143
154
|
var delayedHoveredCell = (0, use_delayed_value_1.useDelayedValue)(hoveredCell, tooltipIntentInterval);
|
|
144
155
|
// Text overflow functionality
|
|
@@ -230,15 +241,17 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
230
241
|
// Cell editor
|
|
231
242
|
var cellEditorInstance = (0, formula_bar_editor_value_atom_1.useCellEditorInstance)();
|
|
232
243
|
// Paste menu
|
|
233
|
-
var
|
|
244
|
+
var _51 = tslib_1.__read((0, atoms_1.useShowPasteMenu)(), 2), showPasteMenu = _51[0], setShowPasteMenu = _51[1];
|
|
234
245
|
// Auto Fill Options smart tag / right-drag fill menu + Series dialog
|
|
235
|
-
var
|
|
236
|
-
var
|
|
246
|
+
var _52 = tslib_1.__read((0, atoms_1.useFillOptionsState)(), 2), fillOptions = _52[0], setFillOptions = _52[1];
|
|
247
|
+
var _53 = tslib_1.__read((0, atoms_1.useInsertOptionsState)(), 2), insertOptions = _53[0], setInsertOptions = _53[1];
|
|
248
|
+
var _54 = tslib_1.__read((0, atoms_1.useTableAutoExpansionState)(), 2), tableAutoExpansion = _54[0], setTableAutoExpansion = _54[1];
|
|
249
|
+
var _55 = tslib_1.__read((0, atoms_1.useCalculatedColumnFillState)(), 2), calculatedColumnFill = _55[0], setCalculatedColumnFill = _55[1];
|
|
237
250
|
var openFillSeriesDialog = (0, atoms_1.useOpenFillSeriesDialog)();
|
|
238
251
|
// Shared state
|
|
239
252
|
var formulaMode = (0, atoms_1.useFormulaModeValue)();
|
|
240
253
|
var formulaSelections = (0, formula_selections_atom_1.useFormulaSelections)();
|
|
241
|
-
var
|
|
254
|
+
var _56 = tslib_1.__read((0, editing_cell_atom_1.useEditingCell)(), 2), editingCellCoordinate = _56[0], setEditingCellCoordinate = _56[1];
|
|
242
255
|
var setFormulabarEditorValue = (0, formula_bar_editor_value_atom_1.useSetFormulabarEditorValue)();
|
|
243
256
|
/**
|
|
244
257
|
* The formula SYNTAX the editor / formula bar speak (rowsncolumns/spreadsheet#655): Excel follows
|
|
@@ -254,7 +267,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
254
267
|
var setFormulaState = (0, formula_selection_state_atom_1.useSetFormulaSelectionState)();
|
|
255
268
|
var activeEditor = (0, active_editor_atom_1.useActiveEditor)();
|
|
256
269
|
// Magic fill state
|
|
257
|
-
var
|
|
270
|
+
var _57 = tslib_1.__read((0, magic_fill_state_atom_1.useQuickEditState)(), 2), quickEditValues = _57[0], setQuickEditState = _57[1];
|
|
258
271
|
var setNoteEditorCell = (0, atoms_1.useSetNoteEditorCell)();
|
|
259
272
|
var setPinnedTooltip = (0, atoms_1.useSetPinnedTooltip)();
|
|
260
273
|
var setSpreadsheetApi = (0, spreadsheet_api_atom_1.useSetSpreadsheetApi)();
|
|
@@ -265,7 +278,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
265
278
|
var instanceStore = (0, jotai_1.useStore)({ store: spreadsheet_provider_1.multiInstanceStore });
|
|
266
279
|
// To access closures
|
|
267
280
|
var hoveredCellRef = (0, use_stable_ref_1.useStableRef)(hoveredCell);
|
|
268
|
-
var
|
|
281
|
+
var _58 = tslib_1.__read((0, use_resize_observer_1.useResizeObserver)(), 2), gridContainerRef = _58[0], _59 = _58[1], width = _59.width, height = _59.height;
|
|
269
282
|
var defaultFrozenDims = showHeaders ? 1 : 0;
|
|
270
283
|
var frozenRows = Math.max(defaultFrozenDims, (frozenRowCount !== null && frozenRowCount !== void 0 ? frozenRowCount : 0) + defaultFrozenDims);
|
|
271
284
|
var frozenColumns = Math.max(defaultFrozenDims, (frozenColumnCount !== null && frozenColumnCount !== void 0 ? frozenColumnCount : 0) + defaultFrozenDims);
|
|
@@ -277,9 +290,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
277
290
|
var sheetRowCount = Math.min(config_1.MAX_ROW_COUNT + 1, rowCount + 1);
|
|
278
291
|
var sheetColumnCount = Math.min(config_1.MAX_COLUMN_COUNT + 1, columnCount + 1);
|
|
279
292
|
// License key validator
|
|
280
|
-
var
|
|
293
|
+
var _60 = tslib_1.__read((0, use_licensekey_validator_1.useLicenseKeyValidator)({
|
|
281
294
|
licenseKey: licenseKey,
|
|
282
|
-
}), 3), _ =
|
|
295
|
+
}), 3), _ = _60[0], licenseType = _60[1], validatorResult = _60[2];
|
|
283
296
|
var isRestricted = licenseType === "solo";
|
|
284
297
|
// Grid line width
|
|
285
298
|
var gridLineWidth = 1 * scale;
|
|
@@ -593,6 +606,15 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
593
606
|
var tableHeaderCells = (0, react_1.useMemo)(function () {
|
|
594
607
|
return (0, helpers_1.getTableHeaderCells)(activeTables, basicFilter);
|
|
595
608
|
}, [activeTables, basicFilter]);
|
|
609
|
+
/** A cell on a table's totals row (its in-cell arrow opens the function picker). */
|
|
610
|
+
var isTableTotalsCell = (0, react_1.useCallback)(function (rowIndex, columnIndex) {
|
|
611
|
+
return !!(activeTables === null || activeTables === void 0 ? void 0 : activeTables.some(function (table) {
|
|
612
|
+
return table.totalRow &&
|
|
613
|
+
rowIndex === table.range.endRowIndex &&
|
|
614
|
+
columnIndex >= table.range.startColumnIndex &&
|
|
615
|
+
columnIndex <= table.range.endColumnIndex;
|
|
616
|
+
}));
|
|
617
|
+
}, [activeTables]);
|
|
596
618
|
/**
|
|
597
619
|
* Retrieve banded cells
|
|
598
620
|
*/
|
|
@@ -621,6 +643,13 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
621
643
|
lastScheduledScrollRef.current = Date.now();
|
|
622
644
|
(_a = gridRef.current) === null || _a === void 0 ? void 0 : _a.scrollToCell(cell, align);
|
|
623
645
|
}, []);
|
|
646
|
+
// Excel scrolls to a chart / picture it has just inserted or restored.
|
|
647
|
+
var scrollToChart = (0, use_reveal_chart_embed_1.useRevealChartEmbed)({
|
|
648
|
+
charts: charts,
|
|
649
|
+
embeds: embeds,
|
|
650
|
+
sheetId: sheetId,
|
|
651
|
+
scrollToCell: scrollToCell,
|
|
652
|
+
});
|
|
624
653
|
/**
|
|
625
654
|
* Scroll to bottom of the sheet
|
|
626
655
|
*/
|
|
@@ -807,7 +836,13 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
807
836
|
*/
|
|
808
837
|
var getRelativePositionFromOffset = (0, react_1.useCallback)(function (x, y) {
|
|
809
838
|
var _a;
|
|
810
|
-
|
|
839
|
+
var grid = gridRef.current;
|
|
840
|
+
if (grid) {
|
|
841
|
+
return grid.getRelativePositionFromOffset(x, y);
|
|
842
|
+
}
|
|
843
|
+
// A chartsheet mounts no grid; overlays position against the wrapper itself.
|
|
844
|
+
var rect = (_a = gridContainerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
|
|
845
|
+
return rect ? { x: x - rect.left, y: y - rect.top } : undefined;
|
|
811
846
|
}, []);
|
|
812
847
|
/**
|
|
813
848
|
* Get scroll position
|
|
@@ -1110,11 +1145,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1110
1145
|
* Touch support
|
|
1111
1146
|
* Mainly for scrolling
|
|
1112
1147
|
*/
|
|
1113
|
-
var
|
|
1148
|
+
var _61 = (0, use_touch_1.useTouch)({
|
|
1114
1149
|
scrollTo: scrollTo,
|
|
1115
1150
|
scale: scale,
|
|
1116
1151
|
onChangeScale: onChangeScale,
|
|
1117
|
-
}), onTouchStart =
|
|
1152
|
+
}), onTouchStart = _61.onTouchStart, onDimensionsChange = _61.onDimensionsChange, scrollToTouchDevice = _61.scrollToTouchDevice, onAfterScrollToCell = _61.onAfterScrollToCell;
|
|
1118
1153
|
/**
|
|
1119
1154
|
* Conditional-formatting evaluation window: the padded, tile-quantized
|
|
1120
1155
|
* viewport. The raw viewport lives in a ref (no render per scroll frame);
|
|
@@ -1122,7 +1157,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1122
1157
|
* `startTransition` so the CF recompute is low-priority and interruptible —
|
|
1123
1158
|
* scrolling never blocks on it.
|
|
1124
1159
|
*/
|
|
1125
|
-
var
|
|
1160
|
+
var _62 = tslib_1.__read((0, react_1.useState)(cf_window_1.CF_INITIAL_WINDOW), 2), cfWindow = _62[0], setCfWindow = _62[1];
|
|
1126
1161
|
var cfWindowRef = (0, react_1.useRef)(null);
|
|
1127
1162
|
var handleViewPortChange = (0, react_1.useCallback)(function (viewport) {
|
|
1128
1163
|
onViewPortChange === null || onViewPortChange === void 0 ? void 0 : onViewPortChange(viewport);
|
|
@@ -1200,7 +1235,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1200
1235
|
* We are generating conditionalFormatting on the component level,
|
|
1201
1236
|
*/
|
|
1202
1237
|
var getEffectiveCellFormat = (0, react_1.useCallback)(function (sheetId, rowIndex, columnIndex) {
|
|
1203
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
1238
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
1204
1239
|
var cellFormat = getCellFormat(sheetId, rowIndex, columnIndex);
|
|
1205
1240
|
var isHyperlink = Boolean(getHyperlink(sheetId, rowIndex, columnIndex));
|
|
1206
1241
|
var conditionalCellFormat = getConditionalCellFormat(sheetId, rowIndex, columnIndex);
|
|
@@ -1238,14 +1273,14 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1238
1273
|
// time — `uf.textFormat.underline` is merged on top below, so a user
|
|
1239
1274
|
// who explicitly sets underline=false still wins.
|
|
1240
1275
|
var defaultTextFormat = {
|
|
1241
|
-
bold: isTableHeader(rowIndex, columnIndex) &&
|
|
1276
|
+
bold: (_f = (_e = bandedCellFormat === null || bandedCellFormat === void 0 ? void 0 : bandedCellFormat.textFormat) === null || _e === void 0 ? void 0 : _e.bold) !== null && _f !== void 0 ? _f : (isTableHeader(rowIndex, columnIndex) &&
|
|
1242
1277
|
isTableHeaderThemed(rowIndex, columnIndex)
|
|
1243
1278
|
? true
|
|
1244
|
-
: undefined,
|
|
1279
|
+
: undefined),
|
|
1245
1280
|
fontFamily: theme.primaryFontFamily,
|
|
1246
1281
|
color: isHyperlink
|
|
1247
1282
|
? theme.themeColors.hyperlink
|
|
1248
|
-
: (
|
|
1283
|
+
: (_j = (_h = patternColor !== null && patternColor !== void 0 ? patternColor : (_g = bandedCellFormat === null || bandedCellFormat === void 0 ? void 0 : bandedCellFormat.textFormat) === null || _g === void 0 ? void 0 : _g.color) !== null && _h !== void 0 ? _h : conditionalFormatColor) !== null && _j !== void 0 ? _j : (0, themes_1.getStringifiedColor)(cellColor, theme),
|
|
1249
1284
|
underline: isHyperlink ? true : undefined,
|
|
1250
1285
|
};
|
|
1251
1286
|
var mergedFormat = (0, merge_1.default)({
|
|
@@ -1256,7 +1291,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1256
1291
|
// hyperlink color.
|
|
1257
1292
|
if (patternColor &&
|
|
1258
1293
|
!isHyperlink &&
|
|
1259
|
-
!((
|
|
1294
|
+
!((_k = conditionalCellFormat === null || conditionalCellFormat === void 0 ? void 0 : conditionalCellFormat.textFormat) === null || _k === void 0 ? void 0 : _k.color)) {
|
|
1260
1295
|
mergedFormat.textFormat = tslib_1.__assign(tslib_1.__assign({}, mergedFormat.textFormat), { color: patternColor });
|
|
1261
1296
|
}
|
|
1262
1297
|
return tslib_1.__assign(tslib_1.__assign({}, bandedCellFormat), mergedFormat);
|
|
@@ -1368,14 +1403,14 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1368
1403
|
tokenizer: formulaLocale.isCanonical ? defaultTokenizer : localeTokenizerBase,
|
|
1369
1404
|
});
|
|
1370
1405
|
// Helper function to convert a selection to readable selection address
|
|
1371
|
-
var
|
|
1406
|
+
var _63 = tslib_1.__read((0, use_create_address_from_selection_1.useCreateAddressFromSelection)({
|
|
1372
1407
|
sheetId: sheetId,
|
|
1373
1408
|
rowCount: rowCount,
|
|
1374
1409
|
columnCount: columnCount,
|
|
1375
1410
|
tables: tables !== null && tables !== void 0 ? tables : undefined,
|
|
1376
1411
|
namedRanges: namedRanges !== null && namedRanges !== void 0 ? namedRanges : undefined,
|
|
1377
1412
|
merges: merges,
|
|
1378
|
-
}), 2), getAddressFromSelection =
|
|
1413
|
+
}), 2), getAddressFromSelection = _63[0], getR1C1AddressFromSelection = _63[1];
|
|
1379
1414
|
/**
|
|
1380
1415
|
* Exports a data region as image
|
|
1381
1416
|
*/
|
|
@@ -1421,7 +1456,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1421
1456
|
* Get user entered value from a range
|
|
1422
1457
|
* of cells
|
|
1423
1458
|
*/
|
|
1424
|
-
var
|
|
1459
|
+
var _64 = tslib_1.__read((0, use_get_values_from_range_1.useGetValuesFromRange)({
|
|
1425
1460
|
sheetId: sheetId,
|
|
1426
1461
|
getSelectionsFromFormula: getSelectionsFromFormula,
|
|
1427
1462
|
getFormattedValue: getFormattedValue,
|
|
@@ -1429,7 +1464,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1429
1464
|
getSheetId: getSheetId,
|
|
1430
1465
|
onRequestCalculate: onRequestCalculate,
|
|
1431
1466
|
getValidationSourceValue: getValidationSourceValue,
|
|
1432
|
-
}), 3), getFormattedValuesFromAddress =
|
|
1467
|
+
}), 3), getFormattedValuesFromAddress = _64[0], getEffectiveValuesFromRange = _64[1], getFormattedValuesFromAddressAsync = _64[2];
|
|
1433
1468
|
/**
|
|
1434
1469
|
* Get all formatted values from range as a single 1d array
|
|
1435
1470
|
*/
|
|
@@ -1766,7 +1801,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1766
1801
|
* O(n)
|
|
1767
1802
|
* Reduces Space Complexity by using `all`
|
|
1768
1803
|
*/
|
|
1769
|
-
var
|
|
1804
|
+
var _65 = tslib_1.__read((0, use_selected_rows_columns_1.useSelectedRowsColumns)({
|
|
1770
1805
|
activeCell: activeCell,
|
|
1771
1806
|
selections: selections,
|
|
1772
1807
|
selectionLeftBound: selectionLeftBound,
|
|
@@ -1774,7 +1809,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1774
1809
|
rowCount: rowCount,
|
|
1775
1810
|
columnCount: columnCount,
|
|
1776
1811
|
getCellBounds: getCellBounds,
|
|
1777
|
-
}), 6), selectedRows =
|
|
1812
|
+
}), 6), selectedRows = _65[0], selectedColumns = _65[1], selectedRowHeaders = _65[2], selectedColumnHeaders = _65[3], selectedRowHeadersIds = _65[4], selectedColumnHeadersIds = _65[5];
|
|
1778
1813
|
// Named ranges for editor dropdown
|
|
1779
1814
|
var getNamedRanges = (0, use_callback_ref_1.useCallbackRef)((0, react_1.useCallback)(function () {
|
|
1780
1815
|
return namedRanges === null || namedRanges === void 0 ? void 0 : namedRanges.map(function (range) { return ({
|
|
@@ -1844,7 +1879,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1844
1879
|
* user can select entire column or row when selecting
|
|
1845
1880
|
* header cells
|
|
1846
1881
|
*/
|
|
1847
|
-
var
|
|
1882
|
+
var _66 = (0, use_selection_interceptors_1.useSelectionInterceptors)({
|
|
1848
1883
|
sheetId: sheetId,
|
|
1849
1884
|
rowCount: rowCount,
|
|
1850
1885
|
columnCount: columnCount,
|
|
@@ -1860,7 +1895,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1860
1895
|
onChangeActiveCell: onChangeActiveCell,
|
|
1861
1896
|
scrollToCell: scrollToCell,
|
|
1862
1897
|
isMergedCell: isMergedCell,
|
|
1863
|
-
}), onMouseDownInterceptor =
|
|
1898
|
+
}), onMouseDownInterceptor = _66.onMouseDownInterceptor, onMouseMoveInterceptor = _66.onMouseMoveInterceptor;
|
|
1864
1899
|
/**
|
|
1865
1900
|
* When user selections full rows
|
|
1866
1901
|
* or columns, we have to ignore
|
|
@@ -1892,7 +1927,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1892
1927
|
/* Data validation arrow */
|
|
1893
1928
|
var dataValidation = getDataValidationRule(sheetId, rowIndex, columnIndex);
|
|
1894
1929
|
var additionalCellSpacing = (_a = getAdditionalCellSpacing === null || getAdditionalCellSpacing === void 0 ? void 0 : getAdditionalCellSpacing(sheetId, rowIndex, columnIndex)) !== null && _a !== void 0 ? _a : 0;
|
|
1895
|
-
var showArrow = (0, validation_1.showValidationDropdownArrow)(dataValidation)
|
|
1930
|
+
var showArrow = (0, validation_1.showValidationDropdownArrow)(dataValidation) ||
|
|
1931
|
+
isTableTotalsCell(rowIndex, columnIndex);
|
|
1896
1932
|
var showChip = getCellMetaType(sheetId, rowIndex, columnIndex) === "people";
|
|
1897
1933
|
var _d = tslib_1.__read(getCellGroupingInfo(sheetId, rowIndex, columnIndex), 1), expandable = _d[0];
|
|
1898
1934
|
var iconSpacing = config_1.DEFAULT_CELL_SPACING;
|
|
@@ -1942,13 +1978,14 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1942
1978
|
getCellGroupingInfo,
|
|
1943
1979
|
getAdditionalCellSpacing,
|
|
1944
1980
|
getEffectiveCellFormat,
|
|
1981
|
+
isTableTotalsCell,
|
|
1945
1982
|
]);
|
|
1946
1983
|
/**
|
|
1947
1984
|
* Column resizer
|
|
1948
1985
|
* Enables auto resizing
|
|
1949
1986
|
* rows and columns
|
|
1950
1987
|
*/
|
|
1951
|
-
var
|
|
1988
|
+
var _67 = (0, use_sizer_1.useSizer)({
|
|
1952
1989
|
frozenRows: frozenRows,
|
|
1953
1990
|
frozenColumns: frozenColumns,
|
|
1954
1991
|
scale: scale,
|
|
@@ -1971,7 +2008,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1971
2008
|
getDataRowCount: getDataRowCount,
|
|
1972
2009
|
fontSize: defaultFontSizePoint,
|
|
1973
2010
|
resizeStrategy: "full",
|
|
1974
|
-
}), getColumnWidth =
|
|
2011
|
+
}), getColumnWidth = _67.getColumnWidth, getRowHeight = _67.getRowHeight, getCellDimensions = _67.getCellDimensions, getCellDimensionsStable = _67.getCellDimensionsStable, getTextDimension = _67.getTextDimension;
|
|
1975
2012
|
/**
|
|
1976
2013
|
* Called when user tries to
|
|
1977
2014
|
* autofit a column or row
|
|
@@ -2002,8 +2039,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2002
2039
|
* Get Cell Editor
|
|
2003
2040
|
*/
|
|
2004
2041
|
var getEditor = (0, react_1.useCallback)(function (props) {
|
|
2005
|
-
var _a = props.cell, cell = _a === void 0 ?
|
|
2006
|
-
var _c = cell !== null && cell !== void 0 ? cell :
|
|
2042
|
+
var _a = props.cell, cell = _a === void 0 ? defaultCellCoords : _a, sheetId = props.sheetId, _b = props.editingSheetId, editingSheetId = _b === void 0 ? sheetId : _b;
|
|
2043
|
+
var _c = cell !== null && cell !== void 0 ? cell : defaultCellCoords, rowIndex = _c.rowIndex, columnIndex = _c.columnIndex;
|
|
2007
2044
|
var cellFormat = !(0, utils_1.isNil)(props.editingSheetId)
|
|
2008
2045
|
? getEffectiveCellFormat(props.editingSheetId, rowIndex, columnIndex)
|
|
2009
2046
|
: undefined;
|
|
@@ -2050,7 +2087,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2050
2087
|
/**
|
|
2051
2088
|
* Popover cell
|
|
2052
2089
|
*/
|
|
2053
|
-
var
|
|
2090
|
+
var _68 = (0, use_cell_popover_1.useCellPopover)({
|
|
2054
2091
|
sheetId: sheetId,
|
|
2055
2092
|
getCellPopoverContent: getCellPopoverContent !== null && getCellPopoverContent !== void 0 ? getCellPopoverContent : getFormattedValue,
|
|
2056
2093
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
@@ -2058,7 +2095,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2058
2095
|
isFrozenColumn: isFrozenColumn,
|
|
2059
2096
|
isFrozenRow: isFrozenRow,
|
|
2060
2097
|
onChangeActiveSheet: onChangeActiveSheet,
|
|
2061
|
-
}), popoverComponent =
|
|
2098
|
+
}), popoverComponent = _68.popoverComponent, popoverRange = _68.popoverRange, showCellPopover = _68.showCellPopover, hideCellPopover = _68.hideCellPopover;
|
|
2062
2099
|
/**
|
|
2063
2100
|
* Get tooltip component of a cell
|
|
2064
2101
|
* Only error, invalid values are
|
|
@@ -2288,6 +2325,103 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2288
2325
|
(0, react_1.useEffect)(function () {
|
|
2289
2326
|
setInsertOptions(null);
|
|
2290
2327
|
}, [activeCell.rowIndex, activeCell.columnIndex, sheetId, setInsertOptions]);
|
|
2328
|
+
/**
|
|
2329
|
+
* Excel's AutoCorrect smart tag after a table auto-expanded. "Undo Table
|
|
2330
|
+
* AutoExpansion" resizes the table back to its pre-growth range and clears
|
|
2331
|
+
* what the growth wrote (calculated-column formulas, generated headers,
|
|
2332
|
+
* inherited formats) in one undo step — the user's own value stays, like
|
|
2333
|
+
* Excel; "Stop Automatically Expanding Tables" hands the option to the host.
|
|
2334
|
+
*/
|
|
2335
|
+
var handleChooseTableAutoExpansionOption = (0, react_1.useCallback)(function (option) {
|
|
2336
|
+
if (!tableAutoExpansion)
|
|
2337
|
+
return;
|
|
2338
|
+
if (option === "undo") {
|
|
2339
|
+
if (onUndoTableAutoExpansion) {
|
|
2340
|
+
onUndoTableAutoExpansion(tableAutoExpansion);
|
|
2341
|
+
}
|
|
2342
|
+
else {
|
|
2343
|
+
var table = tables === null || tables === void 0 ? void 0 : tables.find(function (candidate) {
|
|
2344
|
+
return candidate.id === tableAutoExpansion.tableId &&
|
|
2345
|
+
candidate.sheetId === tableAutoExpansion.sheetId;
|
|
2346
|
+
});
|
|
2347
|
+
if (table) {
|
|
2348
|
+
onResizeTable === null || onResizeTable === void 0 ? void 0 : onResizeTable(tableAutoExpansion.sheetId, table, tableAutoExpansion.previousRange);
|
|
2349
|
+
}
|
|
2350
|
+
}
|
|
2351
|
+
}
|
|
2352
|
+
else {
|
|
2353
|
+
onChangeAutoExpandTables === null || onChangeAutoExpandTables === void 0 ? void 0 : onChangeAutoExpandTables(false);
|
|
2354
|
+
}
|
|
2355
|
+
setTableAutoExpansion(null);
|
|
2356
|
+
focusSheet();
|
|
2357
|
+
}, [
|
|
2358
|
+
tableAutoExpansion,
|
|
2359
|
+
tables,
|
|
2360
|
+
onResizeTable,
|
|
2361
|
+
onUndoTableAutoExpansion,
|
|
2362
|
+
onChangeAutoExpandTables,
|
|
2363
|
+
setTableAutoExpansion,
|
|
2364
|
+
focusSheet,
|
|
2365
|
+
]);
|
|
2366
|
+
// The tag survives the commit's own cursor advance (Enter / Tab) and any cell
|
|
2367
|
+
// of the grown table; moving anywhere else, or switching sheet, drops it.
|
|
2368
|
+
(0, react_1.useEffect)(function () {
|
|
2369
|
+
if (tableAutoExpansion &&
|
|
2370
|
+
!(0, table_auto_expansion_1.keepsTableAutoExpansionTag)(tableAutoExpansion, sheetId, activeCell)) {
|
|
2371
|
+
setTableAutoExpansion(null);
|
|
2372
|
+
}
|
|
2373
|
+
}, [
|
|
2374
|
+
tableAutoExpansion,
|
|
2375
|
+
activeCell.rowIndex,
|
|
2376
|
+
activeCell.columnIndex,
|
|
2377
|
+
activeCell,
|
|
2378
|
+
sheetId,
|
|
2379
|
+
setTableAutoExpansion,
|
|
2380
|
+
]);
|
|
2381
|
+
/**
|
|
2382
|
+
* Excel's AutoCorrect smart tag after a formula typed into a table column.
|
|
2383
|
+
* "Undo Calculated Column" reverts the fill alone (the typed cell keeps its
|
|
2384
|
+
* formula); "Overwrite all cells in this column with this formula" fills the
|
|
2385
|
+
* column over the cells that kept it from filling; "Stop automatically
|
|
2386
|
+
* creating calculated columns" hands the option to the host.
|
|
2387
|
+
*/
|
|
2388
|
+
var handleChooseCalculatedColumnOption = (0, react_1.useCallback)(function (option) {
|
|
2389
|
+
if (!calculatedColumnFill)
|
|
2390
|
+
return;
|
|
2391
|
+
if (option === "undo") {
|
|
2392
|
+
onUndoCalculatedColumn === null || onUndoCalculatedColumn === void 0 ? void 0 : onUndoCalculatedColumn(calculatedColumnFill);
|
|
2393
|
+
}
|
|
2394
|
+
else if (option === "overwrite") {
|
|
2395
|
+
onOverwriteCalculatedColumn === null || onOverwriteCalculatedColumn === void 0 ? void 0 : onOverwriteCalculatedColumn(calculatedColumnFill);
|
|
2396
|
+
}
|
|
2397
|
+
else {
|
|
2398
|
+
onChangeAutoCalculatedColumns === null || onChangeAutoCalculatedColumns === void 0 ? void 0 : onChangeAutoCalculatedColumns(false);
|
|
2399
|
+
}
|
|
2400
|
+
setCalculatedColumnFill(null);
|
|
2401
|
+
focusSheet();
|
|
2402
|
+
}, [
|
|
2403
|
+
calculatedColumnFill,
|
|
2404
|
+
onUndoCalculatedColumn,
|
|
2405
|
+
onOverwriteCalculatedColumn,
|
|
2406
|
+
onChangeAutoCalculatedColumns,
|
|
2407
|
+
setCalculatedColumnFill,
|
|
2408
|
+
focusSheet,
|
|
2409
|
+
]);
|
|
2410
|
+
// The tag survives the commit's own cursor advance and any cell of the
|
|
2411
|
+
// column; moving anywhere else, or switching sheet, drops it.
|
|
2412
|
+
(0, react_1.useEffect)(function () {
|
|
2413
|
+
if (calculatedColumnFill &&
|
|
2414
|
+
!(0, calculated_column_fill_1.keepsCalculatedColumnTag)(calculatedColumnFill, sheetId, activeCell)) {
|
|
2415
|
+
setCalculatedColumnFill(null);
|
|
2416
|
+
}
|
|
2417
|
+
}, [
|
|
2418
|
+
calculatedColumnFill,
|
|
2419
|
+
activeCell.rowIndex,
|
|
2420
|
+
activeCell.columnIndex,
|
|
2421
|
+
activeCell,
|
|
2422
|
+
sheetId,
|
|
2423
|
+
setCalculatedColumnFill,
|
|
2424
|
+
]);
|
|
2291
2425
|
/**
|
|
2292
2426
|
* Run Excel's Series dialog result: the target range's first row (Series
|
|
2293
2427
|
* in Columns) / first column (Rows) is the seed line; `stop` may shrink or
|
|
@@ -2380,7 +2514,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2380
2514
|
/**
|
|
2381
2515
|
* Handle grid selections
|
|
2382
2516
|
*/
|
|
2383
|
-
var
|
|
2517
|
+
var _69 = (0, use_selection_1.useSelection)({
|
|
2384
2518
|
sheetId: sheetId,
|
|
2385
2519
|
getDataRowCount: getDataRowCount,
|
|
2386
2520
|
enableDataBoundaryNavigation: enableDataBoundaryNavigation,
|
|
@@ -2419,11 +2553,13 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2419
2553
|
isColumnHeader: isColumnHeader,
|
|
2420
2554
|
isTouchDevice: helpers_1.isTouchDevice,
|
|
2421
2555
|
dataRegionBoundaries: dataRegionBoundaries,
|
|
2422
|
-
|
|
2556
|
+
tables: tables,
|
|
2557
|
+
onInsertTableRow: onInsertTableRow,
|
|
2558
|
+
}), onMouseDownSelection = _69.onMouseDown, onPointerDownSelection = _69.onPointerDown, onKeyDownSelection = _69.onKeyDown, fillSelection = _69.fillSelection, fillShrink = _69.fillShrink, onFillHandleMouseDown = _69.onFillHandleMouseDown, onFillHandleDoubleClick = _69.onFillHandleDoubleClick, isDragging = _69.isDragging, isFilling = _69.isFilling, isSelectionInProgress = _69.isSelectionInProgress, draggedSelection = _69.draggedSelection, onSelectionMouseDown = _69.onSelectionMouseDown, setActiveCell = _69.setActiveCell, initialDraggedSelection = _69.initialDraggedSelection, updateSelectionStartEndReference = _69.updateSelectionStartEndReference, selectColumn = _69.selectColumn, getContentfulGridRangeAroundCell = _69.getContentfulGridRangeAroundCell, newSelection = _69.newSelection, modifySelection = _69.modifySelection, clearSelections = _69.clearSelections;
|
|
2423
2559
|
/**
|
|
2424
2560
|
* Copy, Paste and Cut hook
|
|
2425
2561
|
*/
|
|
2426
|
-
var
|
|
2562
|
+
var _70 = (0, use_copy_paste_cut_1.useCopyPasteCut)({
|
|
2427
2563
|
activeCell: activeCell,
|
|
2428
2564
|
selections: selections,
|
|
2429
2565
|
sheetId: sheetId,
|
|
@@ -2431,7 +2567,38 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2431
2567
|
onPaste: onPaste,
|
|
2432
2568
|
onCopy: onCopy,
|
|
2433
2569
|
onCut: onCut,
|
|
2434
|
-
}), copiedSelections =
|
|
2570
|
+
}), copiedSelections = _70.copiedSelections, isCutPending = _70.isCutPending, copiedSheetId = _70.copiedSheetId, cancelCut = _70.cancelCut, clearCopiedSelections = _70.clearCopiedSelections, copy = _70.copy, cut = _70.cut, paste = _70.paste, onInternalCopy = _70.onInternalCopy, onInternalCut = _70.onInternalCut, onInternalPaste = _70.onInternalPaste;
|
|
2571
|
+
/**
|
|
2572
|
+
* Ctrl+C / Ctrl+X / Ctrl+V / Ctrl+D on a selected chart. The focused chart is
|
|
2573
|
+
* the target of those events (see `EmbedDraggable`); a paste that lands in the
|
|
2574
|
+
* cell editor while a chart is on the clipboard is claimed here first.
|
|
2575
|
+
*/
|
|
2576
|
+
var chartClipboard = (0, use_chart_clipboard_1.useChartClipboard)({
|
|
2577
|
+
sheetId: sheetId,
|
|
2578
|
+
activeCell: activeCell,
|
|
2579
|
+
charts: charts,
|
|
2580
|
+
readonly: readonly,
|
|
2581
|
+
onCreateChart: onCreateChart,
|
|
2582
|
+
onDeleteChart: onDeleteChart,
|
|
2583
|
+
onCopyChart: onCopyChart,
|
|
2584
|
+
onCutChart: onCutChart,
|
|
2585
|
+
focusSheet: focusSheet,
|
|
2586
|
+
});
|
|
2587
|
+
var copyChart = chartClipboard.copyChart, cutChart = chartClipboard.cutChart, pasteChart = chartClipboard.pasteChart, duplicateChart = chartClipboard.duplicateChart, clearChartClipboard = chartClipboard.clearChartClipboard;
|
|
2588
|
+
var handleEditorCopy = (0, react_1.useCallback)(function (e) {
|
|
2589
|
+
clearChartClipboard();
|
|
2590
|
+
onInternalCopy(e);
|
|
2591
|
+
}, [clearChartClipboard, onInternalCopy]);
|
|
2592
|
+
var handleEditorCut = (0, react_1.useCallback)(function (e) {
|
|
2593
|
+
clearChartClipboard();
|
|
2594
|
+
onInternalCut(e);
|
|
2595
|
+
}, [clearChartClipboard, onInternalCut]);
|
|
2596
|
+
var handleEditorPaste = (0, react_1.useCallback)(function (e) {
|
|
2597
|
+
if (pasteChart(e)) {
|
|
2598
|
+
return;
|
|
2599
|
+
}
|
|
2600
|
+
onInternalPaste(e);
|
|
2601
|
+
}, [pasteChart, onInternalPaste]);
|
|
2435
2602
|
/**
|
|
2436
2603
|
* Context menu "Insert Cut Cells" (Excel: Ctrl+X, right-click the destination). A cut of
|
|
2437
2604
|
* whole rows / columns dropped on a row / column header inserts them BEFORE the clicked
|
|
@@ -2672,14 +2839,18 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2672
2839
|
});
|
|
2673
2840
|
/**
|
|
2674
2841
|
* Get bounds of chart overlay
|
|
2675
|
-
* Within the grid body
|
|
2842
|
+
* Within the grid body: from the first cell's top-left corner to the last
|
|
2843
|
+
* row's bottom edge and last column's right edge, so an object can never be
|
|
2844
|
+
* dragged or resized past the sheet (Excel snaps it back inside).
|
|
2676
2845
|
*/
|
|
2677
2846
|
var getChartBounds = (0, react_1.useCallback)(function () {
|
|
2678
2847
|
return {
|
|
2679
2848
|
left: getColumnOffset(1),
|
|
2680
2849
|
top: getRowOffset(1),
|
|
2850
|
+
right: getColumnOffset(columnCount + 1),
|
|
2851
|
+
bottom: getRowOffset(rowCount + 1),
|
|
2681
2852
|
};
|
|
2682
|
-
}, [getRowOffset, getColumnOffset]);
|
|
2853
|
+
}, [getRowOffset, getColumnOffset, rowCount, columnCount]);
|
|
2683
2854
|
// Show notes editor
|
|
2684
2855
|
var onInsertNote = (0, react_1.useCallback)(function (sheetId, cell) {
|
|
2685
2856
|
setNoteEditorCell(tslib_1.__assign(tslib_1.__assign({}, cell), { sheetId: sheetId }));
|
|
@@ -2718,11 +2889,40 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2718
2889
|
});
|
|
2719
2890
|
focusSheet();
|
|
2720
2891
|
}, [setQuickEditState, enableQuickEdit, focusSheet]);
|
|
2892
|
+
/**
|
|
2893
|
+
* Opens the cell editor pre-filled (the totals row's "More Functions…").
|
|
2894
|
+
* `editCell` comes from `useEditable` below; this stable wrapper lets the
|
|
2895
|
+
* context menu reach it.
|
|
2896
|
+
*/
|
|
2897
|
+
var requestEditCell = (0, use_callback_ref_1.useCallbackRef)(function (targetSheetId, cell, initialValue) {
|
|
2898
|
+
return editCell(targetSheetId, cell, initialValue);
|
|
2899
|
+
});
|
|
2900
|
+
/**
|
|
2901
|
+
* The context menu's table Select items: replace the selection with a
|
|
2902
|
+
* range and park the active cell at its top-left, without scrolling.
|
|
2903
|
+
*/
|
|
2904
|
+
var selectRangeFromMenu = (0, react_1.useCallback)(function (targetSheetId, range) {
|
|
2905
|
+
setActiveCell(targetSheetId, { rowIndex: range.startRowIndex, columnIndex: range.startColumnIndex }, false);
|
|
2906
|
+
onChangeSelections === null || onChangeSelections === void 0 ? void 0 : onChangeSelections(targetSheetId, [{ range: range }]);
|
|
2907
|
+
}, [setActiveCell, onChangeSelections]);
|
|
2908
|
+
// Excel's table hit zones (header top edge / corner / row left edge).
|
|
2909
|
+
var _71 = (0, use_table_hit_zones_1.useTableHitZones)({
|
|
2910
|
+
sheetId: sheetId,
|
|
2911
|
+
tables: activeTables,
|
|
2912
|
+
selections: selections,
|
|
2913
|
+
frozenRows: frozenRows,
|
|
2914
|
+
frozenColumns: frozenColumns,
|
|
2915
|
+
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
2916
|
+
getRelativePositionFromOffset: getRelativePositionFromOffset,
|
|
2917
|
+
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
2918
|
+
getScrollPosition: getScrollPosition,
|
|
2919
|
+
onSelectRange: selectRangeFromMenu,
|
|
2920
|
+
}), tableHitCursor = _71.cursor, onMouseMoveTableHitZones = _71.onMouseMove, onMouseDownTableHitZones = _71.onMouseDown, clearTableHitZone = _71.clearHitZone;
|
|
2721
2921
|
/**
|
|
2722
2922
|
* Get context Menu component
|
|
2723
2923
|
*/
|
|
2724
2924
|
var getContextMenu = (0, react_1.useCallback)(function (cell) {
|
|
2725
|
-
return (react_1.default.createElement(ContextMenu, { activeCell: activeCell, selections: selections, sheetId: sheetId, frozenRows: frozenRows, frozenColumns: frozenColumns, onHideColumn: isRestricted ? undefined : onHideColumn, onShowColumn: isRestricted ? undefined : onShowColumn, onShowRow: isRestricted ? undefined : onShowRow, onHideRow: isRestricted ? undefined : onHideRow, onGroupRows: isRestricted ? undefined : onGroupRows, onUngroupRows: isRestricted ? undefined : onUngroupRows, onGroupColumns: isRestricted ? undefined : onGroupColumns, onUngroupColumns: isRestricted ? undefined : onUngroupColumns, isHiddenColumn: isHiddenColumn, isHiddenRow: isHiddenRow, onDeleteColumn: onDeleteColumn, onDeleteRow: onDeleteRow, onInsertRow: insertRowWithOptions, onInsertColumn: insertColumnWithOptions, rowCount: rowCount, columnCount: columnCount, onInsertCellsShiftDown: onInsertCellsShiftDown, onInsertCellsShiftRight: onInsertCellsShiftRight, onDeleteCellsShiftLeft: onDeleteCellsShiftLeft, onDeleteCellsShiftUp: onDeleteCellsShiftUp, onClearContents: onClearContents, onFreezeColumn: onFreezeColumn, onFreezeRow: onFreezeRow, focusSheet: focusSheet, onSortColumn: onSortColumn, onInsertNote: onInsertNote, onProtectRange: onProtectRange, onUnProtectRange: onUnProtectRange, onSortRange: onSortRange, onRequestDefineNamedRange: onRequestDefineNamedRange, protectedRanges: protectedRanges, isRowHeader: isRowHeader(cell.columnIndex), isColumnHeader: isColumnHeader(cell.rowIndex), selectedRowHeadersIds: selectedRowHeadersIds, selectedColumnHeadersIds: selectedColumnHeadersIds, onCopy: copy, onCut: cut, hasCutSelection: isCutPending && copiedSheetId === sheetId, onInsertCutCells: insertCutCellsFromMenu, onPaste: paste, onRequestPasteSpecial: requestPasteSpecial, onRequestEvaluateFormula: requestEvaluateFormula, onRequestAddWatch: requestAddWatch, isActiveCellFormula: Boolean(getFormulaValue(sheetId, activeCell.rowIndex, activeCell.columnIndex)), onRequestResize: onRequestResize, isSheetFocused: isSheetFocused, tables: activeTables, pivotTables: pivotTables, basicFilter: basicFilter, onRequestEditTable: onRequestEditTable, onRequestEditPivotTable: onRequestEditPivotTable, onRemoveTable: onRemoveTable, onRequestDeletePivotTable: onRequestDeletePivotTable, onPivotDrillDown: onPivotDrillDown, onRequestFormatCells: onRequestFormatCells, onRequestConditionalFormat: onRequestConditionalFormat, onRequestDataValidation: onRequestDataValidation, onClearFormatting: onClearFormatting, onCreateTable: onCreateTable, onCreateBasicFilter: onCreateBasicFilter, onInsertTableColumn: onInsertTableColumn, onDeleteTableColumn: onDeleteTableColumn, onInsertTableRow: onInsertTableRow, onDeleteTableRow: onDeleteTableRow, onFilterTable: onFilterTable, onSortTable: onSortTable, getFormattedValue: getFormattedValue, getFormattedValuesFromRange: getFormattedValuesFromRange, isTableHeader: isTableHeader, readonly: readonly, onSplitTextToColumns: onSplitTextToColumns, onRemoveDuplicates: onRemoveDuplicates, onGoalSeek: onGoalSeek, onSubtotal: onSubtotal, onAdvancedFilter: onAdvancedFilter, onChange: onChange, getCellData: getCellData, onAddQuickEdit: onAddQuickEdit, enableMagicFill: enableMagicFill }));
|
|
2925
|
+
return (react_1.default.createElement(ContextMenu, { activeCell: activeCell, selections: selections, sheetId: sheetId, frozenRows: frozenRows, frozenColumns: frozenColumns, onHideColumn: isRestricted ? undefined : onHideColumn, onShowColumn: isRestricted ? undefined : onShowColumn, onShowRow: isRestricted ? undefined : onShowRow, onHideRow: isRestricted ? undefined : onHideRow, onGroupRows: isRestricted ? undefined : onGroupRows, onUngroupRows: isRestricted ? undefined : onUngroupRows, onGroupColumns: isRestricted ? undefined : onGroupColumns, onUngroupColumns: isRestricted ? undefined : onUngroupColumns, isHiddenColumn: isHiddenColumn, isHiddenRow: isHiddenRow, onDeleteColumn: onDeleteColumn, onDeleteRow: onDeleteRow, onInsertRow: insertRowWithOptions, onInsertColumn: insertColumnWithOptions, rowCount: rowCount, columnCount: columnCount, onInsertCellsShiftDown: onInsertCellsShiftDown, onInsertCellsShiftRight: onInsertCellsShiftRight, onDeleteCellsShiftLeft: onDeleteCellsShiftLeft, onDeleteCellsShiftUp: onDeleteCellsShiftUp, onClearContents: onClearContents, onFreezeColumn: onFreezeColumn, onFreezeRow: onFreezeRow, focusSheet: focusSheet, onSortColumn: onSortColumn, onInsertNote: onInsertNote, onProtectRange: onProtectRange, onUnProtectRange: onUnProtectRange, onSortRange: onSortRange, onRequestDefineNamedRange: onRequestDefineNamedRange, protectedRanges: protectedRanges, isRowHeader: isRowHeader(cell.columnIndex), isColumnHeader: isColumnHeader(cell.rowIndex), selectedRowHeadersIds: selectedRowHeadersIds, selectedColumnHeadersIds: selectedColumnHeadersIds, onCopy: copy, onCut: cut, hasCutSelection: isCutPending && copiedSheetId === sheetId, onInsertCutCells: insertCutCellsFromMenu, onPaste: paste, onRequestPasteSpecial: requestPasteSpecial, onRequestEvaluateFormula: requestEvaluateFormula, onRequestAddWatch: requestAddWatch, isActiveCellFormula: Boolean(getFormulaValue(sheetId, activeCell.rowIndex, activeCell.columnIndex)), onRequestResize: onRequestResize, isSheetFocused: isSheetFocused, tables: activeTables, pivotTables: pivotTables, basicFilter: basicFilter, onRequestEditTable: onRequestEditTable, onRequestResizeTable: onRequestResizeTable, onRequestInsertSlicer: onRequestInsertSlicer, onRequestEditPivotTable: onRequestEditPivotTable, onRemoveTable: onRemoveTable, onRequestDeletePivotTable: onRequestDeletePivotTable, onRequestCreatePivotChart: onRequestCreatePivotChart, onPivotDrillDown: onPivotDrillDown, onRequestFormatCells: onRequestFormatCells, onRequestConditionalFormat: onRequestConditionalFormat, onRequestDataValidation: onRequestDataValidation, onClearFormatting: onClearFormatting, onCreateTable: onCreateTable, onRequestCreateTable: onRequestCreateTable, onCreateBasicFilter: onCreateBasicFilter, onInsertTableColumn: onInsertTableColumn, onDeleteTableColumn: onDeleteTableColumn, onInsertTableRow: onInsertTableRow, onDeleteTableRow: onDeleteTableRow, onUpdateTable: onUpdateTable, onRequestEditCell: requestEditCell, onSelectRange: selectRangeFromMenu, onFilterTable: onFilterTable, onSortTable: onSortTable, getFormattedValue: getFormattedValue, getFormattedValuesFromRange: getFormattedValuesFromRange, isTableHeader: isTableHeader, readonly: readonly, onSplitTextToColumns: onSplitTextToColumns, onRemoveDuplicates: onRemoveDuplicates, onGoalSeek: onGoalSeek, onSubtotal: onSubtotal, onAdvancedFilter: onAdvancedFilter, onChange: onChange, getCellData: getCellData, onAddQuickEdit: onAddQuickEdit, enableMagicFill: enableMagicFill }));
|
|
2726
2926
|
}, [
|
|
2727
2927
|
isRestricted,
|
|
2728
2928
|
activeCell,
|
|
@@ -2773,6 +2973,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2773
2973
|
onFilterTable,
|
|
2774
2974
|
onSortTable,
|
|
2775
2975
|
onRequestEditTable,
|
|
2976
|
+
onRequestResizeTable,
|
|
2977
|
+
onRequestInsertSlicer,
|
|
2776
2978
|
onRequestEditPivotTable,
|
|
2777
2979
|
onRemoveTable,
|
|
2778
2980
|
onRequestFormatCells,
|
|
@@ -2781,8 +2983,12 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2781
2983
|
onRequestDataValidation,
|
|
2782
2984
|
onCreateBasicFilter,
|
|
2783
2985
|
onCreateTable,
|
|
2986
|
+
onRequestCreateTable,
|
|
2784
2987
|
onDeleteTableColumn,
|
|
2785
2988
|
onInsertTableRow,
|
|
2989
|
+
onUpdateTable,
|
|
2990
|
+
requestEditCell,
|
|
2991
|
+
selectRangeFromMenu,
|
|
2786
2992
|
getFormattedValue,
|
|
2787
2993
|
getFormattedValuesFromRange,
|
|
2788
2994
|
onInsertTableColumn,
|
|
@@ -2798,6 +3004,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2798
3004
|
onChange,
|
|
2799
3005
|
getCellData,
|
|
2800
3006
|
onRequestDeletePivotTable,
|
|
3007
|
+
onRequestCreatePivotChart,
|
|
2801
3008
|
isHiddenColumn,
|
|
2802
3009
|
isHiddenRow,
|
|
2803
3010
|
onShowColumn,
|
|
@@ -2812,7 +3019,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2812
3019
|
* Displays Context menu when user right clicks
|
|
2813
3020
|
* the grid
|
|
2814
3021
|
*/
|
|
2815
|
-
var
|
|
3022
|
+
var _72 = (0, use_context_menu_1.useContextMenu)({
|
|
2816
3023
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
2817
3024
|
getRelativePositionFromOffset: getRelativePositionFromOffset,
|
|
2818
3025
|
isRowHeader: isRowHeader,
|
|
@@ -2821,7 +3028,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2821
3028
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
2822
3029
|
getScrollPosition: getScrollPosition,
|
|
2823
3030
|
ContextMenuWrapper: ContextMenuWrapper,
|
|
2824
|
-
}), onContextMenu =
|
|
3031
|
+
}), onContextMenu = _72.onContextMenu, contextMenuComponent = _72.contextMenuComponent, onRequestCloseContextMenu = _72.onRequestClose, showContextMenu = _72.showContextMenu;
|
|
2825
3032
|
/**
|
|
2826
3033
|
* Shortcut handlers for formatting
|
|
2827
3034
|
* TODO: Decide on the output
|
|
@@ -2861,6 +3068,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2861
3068
|
onUndo: onUndo,
|
|
2862
3069
|
onRedo: onRedo,
|
|
2863
3070
|
onCreateTable: onCreateTable,
|
|
3071
|
+
onRequestCreateTable: onRequestCreateTable,
|
|
2864
3072
|
onCreateBasicFilter: onCreateBasicFilter,
|
|
2865
3073
|
clearCopiedSelections: clearCopiedSelections,
|
|
2866
3074
|
onRequestSearch: onRequestSearch,
|
|
@@ -2901,7 +3109,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2901
3109
|
/**
|
|
2902
3110
|
* Allow grid to be ediable
|
|
2903
3111
|
*/
|
|
2904
|
-
var
|
|
3112
|
+
var _73 = (0, use_editable_1.useEditable)({
|
|
2905
3113
|
sheetId: sheetId,
|
|
2906
3114
|
enableEditOnEnterKey: enableEditOnEnterKey,
|
|
2907
3115
|
canEdit: canEditCell,
|
|
@@ -2947,14 +3155,16 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2947
3155
|
scrollToCell: scrollToCell,
|
|
2948
3156
|
containerWidth: width,
|
|
2949
3157
|
containerHeight: height,
|
|
2950
|
-
onCopy:
|
|
2951
|
-
onPaste:
|
|
2952
|
-
onCut:
|
|
2953
|
-
|
|
3158
|
+
onCopy: handleEditorCopy,
|
|
3159
|
+
onPaste: handleEditorPaste,
|
|
3160
|
+
onCut: handleEditorCut,
|
|
3161
|
+
tables: tables,
|
|
3162
|
+
onInsertTableRow: onInsertTableRow,
|
|
3163
|
+
}), onMouseDownEditable = _73.onMouseDown, onDoubleClickEditable = _73.onDoubleClick, editorComponent = _73.editorComponent, isEditInProgress = _73.isEditInProgress, makeEditable = _73.makeEditable, editCell = _73.editCell, setEditorValue = _73.setEditorValue, hideEditor = _73.hideEditor, getNextFocusableCell = _73.getNextFocusableCell, submitEditor = _73.submitEditor, cancelEditor = _73.cancelEditor, commit = _73.commit;
|
|
2954
3164
|
/**
|
|
2955
3165
|
* Move rows and columns
|
|
2956
3166
|
*/
|
|
2957
|
-
var
|
|
3167
|
+
var _74 = (0, use_move_columns_rows_1.useMoveColumnsAndRows)({
|
|
2958
3168
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
2959
3169
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
2960
3170
|
getRelativePositionFromOffset: getRelativePositionFromOffset,
|
|
@@ -2977,11 +3187,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2977
3187
|
sheetId: sheetId,
|
|
2978
3188
|
disabled: isRestricted,
|
|
2979
3189
|
HeaderMoveDragComponent: HeaderMoveDragComponent,
|
|
2980
|
-
}), draggableColumns =
|
|
3190
|
+
}), draggableColumns = _74.draggableColumns, draggableRows = _74.draggableRows, isDraggingRowsAndColumns = _74.isDragging;
|
|
2981
3191
|
/**
|
|
2982
3192
|
* Header actions
|
|
2983
3193
|
*/
|
|
2984
|
-
var
|
|
3194
|
+
var _75 = (0, use_header_actions_1.useHeaderActions)({
|
|
2985
3195
|
activeCell: isSelectionInProgress || isFilling || isDragging ? null : hoveredCell,
|
|
2986
3196
|
getScrollPosition: getScrollPosition,
|
|
2987
3197
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
@@ -3008,7 +3218,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3008
3218
|
selectedRowHeadersIds: selectedRowHeadersIds,
|
|
3009
3219
|
selectedColumnHeadersIds: selectedColumnHeadersIds,
|
|
3010
3220
|
enableResizerOverflow: enableResizerOverflow,
|
|
3011
|
-
}), headerMenuComponent =
|
|
3221
|
+
}), headerMenuComponent = _75.headerMenuComponent, isHeaderMenuInFrozenColumn = _75.isHeaderMenuInFrozenColumn, headerResizer = _75.headerResizer, isDraggingHeader = _75.isDragging;
|
|
3012
3222
|
/**
|
|
3013
3223
|
* Close tooltip
|
|
3014
3224
|
*/
|
|
@@ -3050,7 +3260,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3050
3260
|
/**
|
|
3051
3261
|
* Show basicFilter panels
|
|
3052
3262
|
*/
|
|
3053
|
-
var
|
|
3263
|
+
var _76 = (0, use_filter_1.useFilter)({
|
|
3054
3264
|
sheetId: sheetId,
|
|
3055
3265
|
scale: scale,
|
|
3056
3266
|
theme: theme,
|
|
@@ -3075,9 +3285,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3075
3285
|
// Live filter state so the open popup tracks Auto-apply spec changes.
|
|
3076
3286
|
basicFilter: basicFilter,
|
|
3077
3287
|
tables: activeTables,
|
|
3078
|
-
}), showFilter =
|
|
3288
|
+
}), showFilter = _76.showFilter, hideFilter = _76.hideFilter, filterComponent = _76.filterComponent;
|
|
3079
3289
|
// Table resize
|
|
3080
|
-
var
|
|
3290
|
+
var _77 = (0, use_table_resizer_1.useTableResizer)({
|
|
3081
3291
|
sheetId: sheetId,
|
|
3082
3292
|
tables: tables !== null && tables !== void 0 ? tables : undefined,
|
|
3083
3293
|
theme: theme,
|
|
@@ -3088,11 +3298,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3088
3298
|
scrollToCell: scrollToCell,
|
|
3089
3299
|
onResizeTable: onResizeTable,
|
|
3090
3300
|
focusSheet: focusSheet,
|
|
3091
|
-
}), tableResizers =
|
|
3301
|
+
}), tableResizers = _77.tableResizers, isResizingTable = _77.isResizingTable;
|
|
3092
3302
|
/**
|
|
3093
3303
|
* Displays resizable/draggable charts
|
|
3094
3304
|
*/
|
|
3095
|
-
var
|
|
3305
|
+
var _78 = (0, use_embeds_charts_1.useEmbedsCharts)({
|
|
3096
3306
|
charts: charts,
|
|
3097
3307
|
embeds: embeds,
|
|
3098
3308
|
slicers: slicers,
|
|
@@ -3103,14 +3313,20 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3103
3313
|
getCellOffsetFromCoords: getCellOffsetFromCoords,
|
|
3104
3314
|
getAbsolutePositionFromOffset: getAbsolutePositionFromOffset,
|
|
3105
3315
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
3316
|
+
getRelativePositionFromOffset: getRelativePositionFromOffset,
|
|
3106
3317
|
getScrollPosition: getScrollPosition,
|
|
3318
|
+
ContextMenuWrapper: ContextMenuWrapper,
|
|
3319
|
+
focusSheet: focusSheet,
|
|
3107
3320
|
selectedColor: chartSelectedColor,
|
|
3108
3321
|
onMoveChart: onMoveChart,
|
|
3109
3322
|
onResizeChart: onResizeChart,
|
|
3323
|
+
chartClipboard: chartClipboard,
|
|
3110
3324
|
onMoveEmbed: onMoveEmbed,
|
|
3111
3325
|
onResizeEmbed: onResizeEmbed,
|
|
3112
3326
|
onDeleteEmbed: onDeleteEmbed,
|
|
3113
3327
|
onDeleteChart: onDeleteChart,
|
|
3328
|
+
onUpdateChart: onUpdateChart,
|
|
3329
|
+
onChangeZOrder: onChangeZOrder,
|
|
3114
3330
|
onRequestEditEmbed: onRequestEditEmbed,
|
|
3115
3331
|
onMoveSlicer: onMoveSlicer,
|
|
3116
3332
|
onResizeSlicer: onResizeSlicer,
|
|
@@ -3129,7 +3345,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3129
3345
|
backgroundColor: cellBackgroundColor,
|
|
3130
3346
|
disabled: isRestricted,
|
|
3131
3347
|
readonly: readonly,
|
|
3132
|
-
}), chartComponents =
|
|
3348
|
+
}), chartComponents = _78.chartComponents, embedComponents = _78.embedComponents, slicerComponents = _78.slicerComponents, embedContextMenuComponent = _78.contextMenuComponent, onMouseDownCharts = _78.onMouseDown, requestChartContextMenu = _78.requestChartContextMenu;
|
|
3133
3349
|
/**
|
|
3134
3350
|
* Callback when user clicks Filter icon
|
|
3135
3351
|
* Show Filter dropdown here
|
|
@@ -3184,6 +3400,57 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3184
3400
|
onExpandCollapse === null || onExpandCollapse === void 0 ? void 0 : onExpandCollapse(sheetId, cell, groupKeys, newExpandedState, childrenCount);
|
|
3185
3401
|
}
|
|
3186
3402
|
}, [onExpandCollapse, getCellGroupKeys, getChildrenCount]);
|
|
3403
|
+
/**
|
|
3404
|
+
* The totals-function picker a totals cell's in-cell arrow opens (Excel):
|
|
3405
|
+
* anchored at the cell's bottom-right corner like the filter dropdown.
|
|
3406
|
+
*/
|
|
3407
|
+
var _79 = tslib_1.__read((0, react_1.useState)(null), 2), totalsPicker = _79[0], setTotalsPicker = _79[1];
|
|
3408
|
+
var closeTotalsPicker = (0, react_1.useCallback)(function () { return setTotalsPicker(null); }, []);
|
|
3409
|
+
var handleTotalsArrowClick = (0, react_1.useCallback)(function (cell) {
|
|
3410
|
+
var table = activeTables === null || activeTables === void 0 ? void 0 : activeTables.find(function (candidate) {
|
|
3411
|
+
return candidate.totalRow &&
|
|
3412
|
+
cell.rowIndex === candidate.range.endRowIndex &&
|
|
3413
|
+
(0, grid_4.isCellWithinBounds)(cell, candidate.range);
|
|
3414
|
+
});
|
|
3415
|
+
var cellPosition = getCellOffsetFromCoords(cell);
|
|
3416
|
+
var scrollPosition = getScrollPosition();
|
|
3417
|
+
if (!table || !cellPosition) {
|
|
3418
|
+
return;
|
|
3419
|
+
}
|
|
3420
|
+
var _a = cellPosition.x, x = _a === void 0 ? 0 : _a, _b = cellPosition.y, y = _b === void 0 ? 0 : _b, _c = cellPosition.width, width = _c === void 0 ? 0 : _c, _d = cellPosition.height, height = _d === void 0 ? 0 : _d;
|
|
3421
|
+
var scrollX = isFrozenColumn(cell.columnIndex)
|
|
3422
|
+
? 0
|
|
3423
|
+
: scrollPosition.scrollLeft;
|
|
3424
|
+
var scrollY = isFrozenRow(cell.rowIndex) ? 0 : scrollPosition.scrollTop;
|
|
3425
|
+
setActiveCell(sheetId, cell, false);
|
|
3426
|
+
setTotalsPicker({
|
|
3427
|
+
table: table,
|
|
3428
|
+
cell: cell,
|
|
3429
|
+
left: x + width - scrollX,
|
|
3430
|
+
top: y + height - scrollY,
|
|
3431
|
+
});
|
|
3432
|
+
}, [
|
|
3433
|
+
activeTables,
|
|
3434
|
+
getCellOffsetFromCoords,
|
|
3435
|
+
getScrollPosition,
|
|
3436
|
+
isFrozenColumn,
|
|
3437
|
+
isFrozenRow,
|
|
3438
|
+
setActiveCell,
|
|
3439
|
+
sheetId,
|
|
3440
|
+
]);
|
|
3441
|
+
var totalsPickerComponent = totalsPicker ? (react_1.default.createElement(style_1.StyledContextMenuWrapper, { style: {
|
|
3442
|
+
transform: "translate3d(".concat(totalsPicker.left, "px, ").concat(totalsPicker.top, "px, 0)"),
|
|
3443
|
+
} },
|
|
3444
|
+
react_1.default.createElement(menu_1.ContextMenuDropdown, { isOpen: true, onOpenChange: function (open) {
|
|
3445
|
+
if (!open)
|
|
3446
|
+
closeTotalsPicker();
|
|
3447
|
+
} },
|
|
3448
|
+
react_1.default.createElement(ui_1.DropdownMenuPortal, null,
|
|
3449
|
+
react_1.default.createElement(ui_1.DropdownMenuContent, { align: "end", sideOffset: 0, onCloseAutoFocus: function (event) {
|
|
3450
|
+
event.preventDefault();
|
|
3451
|
+
focusSheet();
|
|
3452
|
+
}, onMouseMove: function (e) { return e.stopPropagation(); } },
|
|
3453
|
+
react_1.default.createElement(total_row_function_menu_1.TotalRowFunctionMenuItems, { sheetId: sheetId, table: totalsPicker.table, cell: totalsPicker.cell, readonly: readonly, getCellData: getCellData, onChange: onChange, onClearContents: onClearContents, onUpdateTable: onUpdateTable, onRequestEditCell: requestEditCell })))))) : null;
|
|
3187
3454
|
/**
|
|
3188
3455
|
* Capture mouse move events
|
|
3189
3456
|
*/
|
|
@@ -3194,8 +3461,10 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3194
3461
|
isDraggingHeader ||
|
|
3195
3462
|
isSelectionInProgress ||
|
|
3196
3463
|
isFilling) {
|
|
3464
|
+
clearTableHitZone();
|
|
3197
3465
|
return;
|
|
3198
3466
|
}
|
|
3467
|
+
onMouseMoveTableHitZones(e);
|
|
3199
3468
|
var coords = getCellCoordsFromOffset(e.clientX, e.clientY);
|
|
3200
3469
|
if (!coords || (0, grid_5.isEqualCells)(hoveredCellRef.current, coords)) {
|
|
3201
3470
|
return;
|
|
@@ -3209,6 +3478,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3209
3478
|
isSelectionInProgress,
|
|
3210
3479
|
isFilling,
|
|
3211
3480
|
hoveredCellRef,
|
|
3481
|
+
onMouseMoveTableHitZones,
|
|
3482
|
+
clearTableHitZone,
|
|
3212
3483
|
]);
|
|
3213
3484
|
// Mouse move throttler
|
|
3214
3485
|
var mouseMoveThrottler = (0, use_callback_ref_1.useCallbackRef)((0, throttle_1.default)(handleMouseMove, mouseMoveThrottleTimeout, {
|
|
@@ -3242,8 +3513,12 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3242
3513
|
if (formulaMode && isMetaKey) {
|
|
3243
3514
|
setFormulaState(function (prev) { return (tslib_1.__assign(tslib_1.__assign({}, prev), { selectionMode: "append" })); });
|
|
3244
3515
|
}
|
|
3245
|
-
//
|
|
3246
|
-
|
|
3516
|
+
// A table hit zone (header edge / corner / row edge) selects the table
|
|
3517
|
+
// part instead of starting a cell selection.
|
|
3518
|
+
if (!onMouseDownTableHitZones(e)) {
|
|
3519
|
+
// Pass it on to use selection hook
|
|
3520
|
+
onMouseDownSelection(e);
|
|
3521
|
+
}
|
|
3247
3522
|
// Charts
|
|
3248
3523
|
onMouseDownCharts === null || onMouseDownCharts === void 0 ? void 0 : onMouseDownCharts();
|
|
3249
3524
|
/**
|
|
@@ -3255,6 +3530,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3255
3530
|
}
|
|
3256
3531
|
// Hide filter
|
|
3257
3532
|
hideFilter();
|
|
3533
|
+
closeTotalsPicker();
|
|
3258
3534
|
// Hide popover
|
|
3259
3535
|
hideCellPopover();
|
|
3260
3536
|
// Hide paste mnenu
|
|
@@ -3265,8 +3541,10 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3265
3541
|
onUnpinTooltip();
|
|
3266
3542
|
}, [
|
|
3267
3543
|
onMouseDownSelection,
|
|
3544
|
+
onMouseDownTableHitZones,
|
|
3268
3545
|
onRequestCloseContextMenu,
|
|
3269
3546
|
hideFilter,
|
|
3547
|
+
closeTotalsPicker,
|
|
3270
3548
|
onMouseDownCharts,
|
|
3271
3549
|
formulaMode,
|
|
3272
3550
|
setFormulaState,
|
|
@@ -3387,8 +3665,10 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3387
3665
|
/**
|
|
3388
3666
|
* Render Cells in the grid
|
|
3389
3667
|
*/
|
|
3390
|
-
var
|
|
3668
|
+
var _80 = tslib_1.__read((0, use_cell_renderer_1.useCellRenderer)({
|
|
3391
3669
|
sheetId: sheetId,
|
|
3670
|
+
isTableTotalsCell: isTableTotalsCell,
|
|
3671
|
+
onTotalsArrowClick: handleTotalsArrowClick,
|
|
3392
3672
|
formulaLocale: formulaLocale,
|
|
3393
3673
|
showGridLines: showGridLines,
|
|
3394
3674
|
scale: scale,
|
|
@@ -3427,6 +3707,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3427
3707
|
getNote: getNote,
|
|
3428
3708
|
getComment: getComment,
|
|
3429
3709
|
getEffectiveValue: getEffectiveValue,
|
|
3710
|
+
getSparklineGroup: getSparklineGroup,
|
|
3430
3711
|
getFormattedValue: getFormattedValue,
|
|
3431
3712
|
getCellImageUrl: getCellImageUrl,
|
|
3432
3713
|
getEffectiveCellFormat: getEffectiveCellFormat,
|
|
@@ -3454,7 +3735,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3454
3735
|
onOverflow: handleOverflow,
|
|
3455
3736
|
isComparing: isComparing,
|
|
3456
3737
|
getCellDiff: getCellDiff,
|
|
3457
|
-
}), 4), cellBackgroundRenderer =
|
|
3738
|
+
}), 4), cellBackgroundRenderer = _80[0], cellRenderer = _80[1], cellOverlayRenderer = _80[2], headerCellRenderer = _80[3];
|
|
3458
3739
|
/**
|
|
3459
3740
|
* When user selects a selection for moving
|
|
3460
3741
|
* If its a table, we select the entire column
|
|
@@ -3490,11 +3771,25 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3490
3771
|
tokenizer: localeTokenizer,
|
|
3491
3772
|
});
|
|
3492
3773
|
// Selection move: drag a formula reference via its border covers
|
|
3493
|
-
var
|
|
3774
|
+
var _81 = (0, use_selection_move_1.useSelectionMove)({
|
|
3494
3775
|
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
3495
3776
|
scrollToCell: scrollToCell,
|
|
3496
3777
|
tokenizer: localeTokenizer,
|
|
3497
|
-
}), onMouseDownMoveSelection =
|
|
3778
|
+
}), onMouseDownMoveSelection = _81.onMouseDownMoveSelection, isDraggingMoveSelection = _81.isDragging;
|
|
3779
|
+
/**
|
|
3780
|
+
* Selected chart: outline its source ranges on this sheet and re-bind
|
|
3781
|
+
* them when a corner handle is dragged (Excel's chart data highlight).
|
|
3782
|
+
*/
|
|
3783
|
+
var _82 = (0, use_chart_source_ranges_1.useChartSourceRanges)({
|
|
3784
|
+
charts: charts,
|
|
3785
|
+
sheetId: sheetId,
|
|
3786
|
+
getSheetName: getSheetName,
|
|
3787
|
+
readonly: readonly,
|
|
3788
|
+
onUpdateChart: onUpdateChart,
|
|
3789
|
+
getCellBounds: getCellBounds,
|
|
3790
|
+
getCellCoordsFromOffset: getCellCoordsFromOffset,
|
|
3791
|
+
scrollToCell: scrollToCell,
|
|
3792
|
+
}), chartSourceBorderStyles = _82.chartSourceBorderStyles, onMouseDownChartSourceResizeHandle = _82.onMouseDownChartSourceResizeHandle;
|
|
3498
3793
|
/**
|
|
3499
3794
|
* Hide fill handle
|
|
3500
3795
|
* 1. When user is in edit mode
|
|
@@ -3507,9 +3802,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3507
3802
|
/**
|
|
3508
3803
|
* Flashing
|
|
3509
3804
|
*/
|
|
3510
|
-
var
|
|
3805
|
+
var _83 = (0, use_flash_1.useFlash)({
|
|
3511
3806
|
theme: theme,
|
|
3512
|
-
}), flash =
|
|
3807
|
+
}), flash = _83.flash, mark = _83.mark, unmark = _83.unmark, onFlashEnd = _83.onFlashEnd, flashingBorders = _83.flashingBorders;
|
|
3513
3808
|
// Cache hover ids
|
|
3514
3809
|
var cachedHoveredSelectionIds = (0, use_hovered_selection_ids_1.useHoveredSelectionIds)({
|
|
3515
3810
|
selections: selections,
|
|
@@ -3527,6 +3822,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3527
3822
|
isFillShrink: fillShrink !== undefined,
|
|
3528
3823
|
onSelectionMouseDown: onSelectionElementMouseDown,
|
|
3529
3824
|
onMouseDownResizeHandle: onMouseDownResizeHandle,
|
|
3825
|
+
onMouseDownChartSourceResizeHandle: onMouseDownChartSourceResizeHandle,
|
|
3530
3826
|
onMouseDownMoveSelection: onMouseDownMoveSelection,
|
|
3531
3827
|
isDraggingMoveSelection: isDraggingMoveSelection,
|
|
3532
3828
|
onChangeActiveCell: onChangeActiveCell,
|
|
@@ -3559,6 +3855,12 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3559
3855
|
onCloseFillOptions: handleCloseFillOptions,
|
|
3560
3856
|
insertOptions: insertOptions,
|
|
3561
3857
|
onChooseInsertOption: handleChooseInsertOption,
|
|
3858
|
+
tableAutoExpansion: tableAutoExpansion,
|
|
3859
|
+
canStopAutoExpandingTables: !!onChangeAutoExpandTables,
|
|
3860
|
+
onChooseTableAutoExpansionOption: handleChooseTableAutoExpansionOption,
|
|
3861
|
+
calculatedColumnFill: calculatedColumnFill,
|
|
3862
|
+
canStopAutoCalculatedColumns: !!onChangeAutoCalculatedColumns,
|
|
3863
|
+
onChooseCalculatedColumnOption: handleChooseCalculatedColumnOption,
|
|
3562
3864
|
hoveredCell: delayedHoveredCell,
|
|
3563
3865
|
onRemoveQuickEdit: onRemoveQuickEdit,
|
|
3564
3866
|
onAddQuickEdit: onAddQuickEdit,
|
|
@@ -3593,8 +3895,13 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3593
3895
|
agentSuggestions: agentSuggestions,
|
|
3594
3896
|
quickEditValues: quickEditValues,
|
|
3595
3897
|
});
|
|
3898
|
+
// A selected chart's source outlines draw on top of the other range borders.
|
|
3899
|
+
var gridBorderStyles = (0, react_1.useMemo)(function () {
|
|
3900
|
+
return chartSourceBorderStyles.length
|
|
3901
|
+
? tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(finalBorderStyles), false), tslib_1.__read(chartSourceBorderStyles), false) : finalBorderStyles;
|
|
3902
|
+
}, [finalBorderStyles, chartSourceBorderStyles]);
|
|
3596
3903
|
// Hidden column markers
|
|
3597
|
-
var
|
|
3904
|
+
var _84 = tslib_1.__read((0, use_hidden_dimension_markers_1.useHiddenDimensionMarkers)({
|
|
3598
3905
|
sheetId: sheetId,
|
|
3599
3906
|
columnMetadata: columnMetadata,
|
|
3600
3907
|
rowMetadata: rowMetadata,
|
|
@@ -3607,7 +3914,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3607
3914
|
columnCount: columnCount,
|
|
3608
3915
|
HiddenRowMarkers: HiddenRowMarkers,
|
|
3609
3916
|
HiddenColumnMarkers: HiddenColumnMarkers,
|
|
3610
|
-
}), 4), hiddenColumnMarkers =
|
|
3917
|
+
}), 4), hiddenColumnMarkers = _84[0], frozenHiddenColumnMarkers = _84[1], hiddenRowMarkers = _84[2], frozenHiddenRowMarkers = _84[3];
|
|
3611
3918
|
// Zoom lister
|
|
3612
3919
|
var onMouseWheel = (0, use_scale_listener_1.useScaleListener)({
|
|
3613
3920
|
zoomSpeed: zoomSpeed,
|
|
@@ -3723,6 +4030,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3723
4030
|
getNextFocusableCell: getNextFocusableCell,
|
|
3724
4031
|
onEditorKeyDown: onEditorKeyDown,
|
|
3725
4032
|
scrollToCell: scrollToCell,
|
|
4033
|
+
scrollToChart: scrollToChart,
|
|
3726
4034
|
scrollToBottom: scrollToBottom,
|
|
3727
4035
|
focusSheet: focusSheet,
|
|
3728
4036
|
canEditCell: canEditCell,
|
|
@@ -3895,6 +4203,10 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3895
4203
|
scrollToCell: scrollToCell,
|
|
3896
4204
|
commit: commit,
|
|
3897
4205
|
openFillSeriesDialog: function () { var _a; return (_a = openFillSeriesDialogForRef.current) === null || _a === void 0 ? void 0 : _a.call(openFillSeriesDialogForRef); },
|
|
4206
|
+
copyChart: copyChart,
|
|
4207
|
+
cutChart: cutChart,
|
|
4208
|
+
pasteChart: pasteChart,
|
|
4209
|
+
duplicateChart: duplicateChart,
|
|
3898
4210
|
};
|
|
3899
4211
|
setSpreadsheetApi(new spreadsheet_api_1.SpreadsheetApi(propsReferenceRef, stableMethods, store, instanceStore, instanceId));
|
|
3900
4212
|
}, []);
|
|
@@ -3959,6 +4271,13 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3959
4271
|
* in formula mode
|
|
3960
4272
|
*/
|
|
3961
4273
|
var enableSelectionDrag = !isSelectionInProgress && !isEditInProgress && !formulaMode;
|
|
4274
|
+
// A chartsheet IS its chart: no grid, headers, editor or cell menus — only the chart and its
|
|
4275
|
+
// context menu (Excel).
|
|
4276
|
+
if (sheetType === "chartsheet") {
|
|
4277
|
+
return (react_1.default.createElement("div", tslib_1.__assign({ className: (0, ui_1.cn)("rnc-canvas-wrapper after:box-border before:box-border [&_*]:box-border flex min-h-0 min-w-0 relative z-[1] flex-1 bg-rnc-background", className), ref: gridContainerRef, role: "application", "aria-label": "Chart sheet" }, rest),
|
|
4278
|
+
react_1.default.createElement(ChartSheetViewComponent, { sheetId: sheetId, chart: charts === null || charts === void 0 ? void 0 : charts.find(function (chart) { var _a; return ((_a = chart.position) === null || _a === void 0 ? void 0 : _a.sheetId) === sheetId; }), width: width, height: height, theme: theme, backgroundColor: cellBackgroundColor, readonly: readonly, getChartComponent: getChartComponent, onDeleteChart: onDeleteChart, onUpdateChart: onUpdateChart, onRequestContextMenu: requestChartContextMenu }),
|
|
4279
|
+
embedContextMenuComponent));
|
|
4280
|
+
}
|
|
3962
4281
|
return (react_1.default.createElement("div", tslib_1.__assign({ className: (0, ui_1.cn)("rnc-canvas-wrapper after:box-border before:box-border [&_*]:box-border flex min-h-0 min-w-0 relative z-[1] flex-1 bg-rnc-background", className), ref: gridContainerRef,
|
|
3963
4282
|
// The grid paints to <canvas>, so there is no per-cell DOM for a screen
|
|
3964
4283
|
// reader to traverse. role="application" passes keystrokes through to our
|
|
@@ -3973,11 +4292,11 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3973
4292
|
// Bind to outer container, so it always takes
|
|
3974
4293
|
// priority over other components
|
|
3975
4294
|
// generated by hooks
|
|
3976
|
-
onMouseMove: mouseMoveThrottler, onWheel: onMouseWheel }, rest),
|
|
4295
|
+
onMouseMove: mouseMoveThrottler, onWheel: onMouseWheel }, rest, { style: tableHitCursor ? tslib_1.__assign(tslib_1.__assign({}, rest.style), { cursor: tableHitCursor }) : rest.style }),
|
|
3977
4296
|
width === 0 || height === 0 ? (react_1.default.createElement("div", { className: "flex border-solid border-rnc-border border border-t border-b flex-1 justify-center items-center" },
|
|
3978
4297
|
react_1.default.createElement("div", { className: "space-y-2" },
|
|
3979
4298
|
react_1.default.createElement(ui_1.Skeleton, { className: "h-4 w-[250px]" }),
|
|
3980
|
-
react_1.default.createElement(ui_1.Skeleton, { className: "h-4 w-[250px]" })))) : (react_1.default.createElement(grid_5.Grid, { ref: gridRef, overscanCount: overscanCount, rowCount: sheetRowCount, columnCount: sheetColumnCount, rowHeight: rowHeight, columnWidth: columnWidth, itemRenderer: cellRenderer, headerRenderer: headerCellRenderer, selectionRenderer: selectionRenderer, gridLineColor: gridLineColor, gridLineWidth: gridLineWidth, borderStyles:
|
|
4299
|
+
react_1.default.createElement(ui_1.Skeleton, { className: "h-4 w-[250px]" })))) : (react_1.default.createElement(grid_5.Grid, { ref: gridRef, overscanCount: overscanCount, rowCount: sheetRowCount, columnCount: sheetColumnCount, rowHeight: rowHeight, columnWidth: columnWidth, itemRenderer: cellRenderer, headerRenderer: headerCellRenderer, selectionRenderer: selectionRenderer, gridLineColor: gridLineColor, gridLineWidth: gridLineWidth, borderStyles: gridBorderStyles, mergedCells: merges, scale: scale, width: width, height: height, frozenColumns: frozenColumns, frozenRows: frozenRows, activeCell: activeCell, selections: formulaMode ? formulaSelections : selections, FillHandle: fill_handle_1.FillHandle, showFillHandle: showFillHandle, fillHandleSize: fillHandleSize, showGridLines: showGridLines, enableCellOverlay: true, enableCellBackground: true, enableSelectionDrag: enableSelectionDrag, showFrozenColumnShadow: showFrozenSeparator, showFrozenRowShadow: showFrozenSeparator, selectionBorderColor: selectionBorderColor, selectionBackgroundColor: selectionBackgroundColor, fillhandleBorderColor: cellBackgroundColor, isDraggingSelection: isDragging, fillSelection: fillShrinkOverlay !== null && fillShrinkOverlay !== void 0 ? fillShrinkOverlay : fillSelection, onPointerDown: handlePointerDown, onPointerUp: handlePointerUp, onMouseDown: handleMouseDown, onDoubleClick: handleDoubleClick, onFillHandleMouseDown: onFillHandleMouseDown, onFillHandleDoubleClick: onFillHandleDoubleClick,
|
|
3981
4300
|
// Dimension of fill handle
|
|
3982
4301
|
scrollToCellOffset: 4, scrollbarSize: scrollbarSize, isHiddenCell: isHiddenCell, isHiddenColumn: isHiddenColumn, isHiddenRow: isHiddenRow, visibleRowRanges: visibleRowRanges, isHiddenOverlay: isHiddenOverlay, isHiddenBackground: isHiddenBackground, overlayRenderer: cellOverlayRenderer, backgroundRenderer: cellBackgroundRenderer, shadowSettings: shadowSettings, onScroll: handleScroll, onViewPortChange: handleViewPortChange, autoFocus: autoFocus, snap: scrollSnap, scrollThrottleTimeout: scrollThrottleTimeout, preventBrowserDefaultScroll: preventBrowserDefaultScroll, showHeaders: showHeaders, gridChildren: gridChildren, onTouchStart: onTouchStart, onDimensionsChange: onDimensionsChange, extendScrollSize: helpers_1.isTouchDevice || helpers_1.isFirefox, isTouchDevice: helpers_1.isTouchDevice, frozenShadowThickness: frozenShadowThickness, onAfterScrollToCell: onAfterScrollToCell, estimatedRowHeight: defaultRowHeight, estimatedColumnWidth: defaultColumnWidth, footerHeight: footerHeight, footerComponent: footerComponent, getOverflowBuffer: getOverflowBuffer, getFrozenColumnOverflowCells: getFrozenColumnOverflowCells })),
|
|
3983
4302
|
tooltipComponent,
|
|
@@ -3985,7 +4304,9 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3985
4304
|
draggableColumns,
|
|
3986
4305
|
draggableRows,
|
|
3987
4306
|
contextMenuComponent,
|
|
4307
|
+
embedContextMenuComponent,
|
|
3988
4308
|
filterComponent,
|
|
4309
|
+
totalsPickerComponent,
|
|
3989
4310
|
headerResizer,
|
|
3990
4311
|
validatorResult,
|
|
3991
4312
|
react_1.default.createElement("div", { "aria-live": "polite", "aria-atomic": "true", style: {
|