@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
|
@@ -9,6 +9,7 @@ var grid_4 = require("@rowsncolumns/grid");
|
|
|
9
9
|
var react_1 = require("react");
|
|
10
10
|
var scheduler_1 = require("../api/scheduler");
|
|
11
11
|
var move_overwrite_1 = require("../api/move-overwrite");
|
|
12
|
+
var table_1 = require("../api/table");
|
|
12
13
|
var config_1 = require("../config");
|
|
13
14
|
var helpers_1 = require("../helpers");
|
|
14
15
|
var use_callback_ref_1 = require("./use-callback-ref");
|
|
@@ -98,7 +99,7 @@ var defaultConfirmMoveOverwrite = function (message) {
|
|
|
98
99
|
: window.confirm(message);
|
|
99
100
|
};
|
|
100
101
|
var useSelection = function (_a) {
|
|
101
|
-
var sheetId = _a.sheetId, activeCell = _a.activeCell, onChangeActiveCell = _a.onChangeActiveCell, selections = _a.selections, onChangeSelections = _a.onChangeSelections, _b = _a.columnCount, columnCount = _b === void 0 ? 0 : _b, _c = _a.rowCount, rowCount = _c === void 0 ? 0 : _c, _d = _a.selectionPolicy, selectionPolicy = _d === void 0 ? "multiple" : _d, _e = _a.newSelectionMode, newSelectionMode = _e === void 0 ? "clear" : _e, _f = _a.allowDeselectSelection, allowDeselectSelection = _f === void 0 ? true : _f, onFill = _a.onFill, onFillHandleRelease = _a.onFillHandleRelease, onFillShrink = _a.onFillShrink, onInsertCutCells = _a.onInsertCutCells, _g = _a.confirmMoveOverwrite, confirmMoveOverwrite = _g === void 0 ? defaultConfirmMoveOverwrite : _g, _h = _a.isHiddenRow, isHiddenRow = _h === void 0 ? defaultIsHidden : _h, _j = _a.isHiddenColumn, isHiddenColumn = _j === void 0 ? defaultIsHidden : _j, _k = _a.alwaysScrollToActiveCell, alwaysScrollToActiveCell = _k === void 0 ? true : _k, _l = _a.selectionTopBound, selectionTopBound = _l === void 0 ? 0 : _l, _m = _a.selectionBottomBound, selectionBottomBound = _m === void 0 ? rowCount : _m, _o = _a.selectionLeftBound, selectionLeftBound = _o === void 0 ? 0 : _o, _p = _a.selectionRightBound, selectionRightBound = _p === void 0 ? columnCount : _p, mouseDownInterceptor = _a.mouseDownInterceptor, mouseMoveInterceptor = _a.mouseMoveInterceptor, _q = _a.mergedCells, mergedCells = _q === void 0 ? config_1.DEFAULT_ARRAY : _q, _r = _a.canSelectionSpanMergedCells, canSelectionSpanMergedCells = _r === void 0 ? defaultSelectionSpan : _r, getValue = _a.getValue, onMoveSelection = _a.onMoveSelection, getCellCoordsFromOffset = _a.getCellCoordsFromOffset, getCellBounds = _a.getCellBounds, getViewPort = _a.getViewPort, focus = _a.focus, scrollToCell = _a.scrollToCell, isMergedCell = _a.isMergedCell, enableSelectOnEnterKey = _a.enableSelectOnEnterKey, formulaMode = _a.formulaMode, isTouchDevice = _a.isTouchDevice, getDataRowCount = _a.getDataRowCount, isRowHeader = _a.isRowHeader, isColumnHeader = _a.isColumnHeader, _s = _a.enableDataBoundaryNavigation, enableDataBoundaryNavigation = _s === void 0 ? false : _s;
|
|
102
|
+
var sheetId = _a.sheetId, activeCell = _a.activeCell, onChangeActiveCell = _a.onChangeActiveCell, selections = _a.selections, onChangeSelections = _a.onChangeSelections, _b = _a.columnCount, columnCount = _b === void 0 ? 0 : _b, _c = _a.rowCount, rowCount = _c === void 0 ? 0 : _c, _d = _a.selectionPolicy, selectionPolicy = _d === void 0 ? "multiple" : _d, _e = _a.newSelectionMode, newSelectionMode = _e === void 0 ? "clear" : _e, _f = _a.allowDeselectSelection, allowDeselectSelection = _f === void 0 ? true : _f, onFill = _a.onFill, onFillHandleRelease = _a.onFillHandleRelease, onFillShrink = _a.onFillShrink, onInsertCutCells = _a.onInsertCutCells, _g = _a.confirmMoveOverwrite, confirmMoveOverwrite = _g === void 0 ? defaultConfirmMoveOverwrite : _g, _h = _a.isHiddenRow, isHiddenRow = _h === void 0 ? defaultIsHidden : _h, _j = _a.isHiddenColumn, isHiddenColumn = _j === void 0 ? defaultIsHidden : _j, _k = _a.alwaysScrollToActiveCell, alwaysScrollToActiveCell = _k === void 0 ? true : _k, _l = _a.selectionTopBound, selectionTopBound = _l === void 0 ? 0 : _l, _m = _a.selectionBottomBound, selectionBottomBound = _m === void 0 ? rowCount : _m, _o = _a.selectionLeftBound, selectionLeftBound = _o === void 0 ? 0 : _o, _p = _a.selectionRightBound, selectionRightBound = _p === void 0 ? columnCount : _p, mouseDownInterceptor = _a.mouseDownInterceptor, mouseMoveInterceptor = _a.mouseMoveInterceptor, _q = _a.mergedCells, mergedCells = _q === void 0 ? config_1.DEFAULT_ARRAY : _q, _r = _a.canSelectionSpanMergedCells, canSelectionSpanMergedCells = _r === void 0 ? defaultSelectionSpan : _r, getValue = _a.getValue, onMoveSelection = _a.onMoveSelection, getCellCoordsFromOffset = _a.getCellCoordsFromOffset, getCellBounds = _a.getCellBounds, getViewPort = _a.getViewPort, focus = _a.focus, scrollToCell = _a.scrollToCell, isMergedCell = _a.isMergedCell, enableSelectOnEnterKey = _a.enableSelectOnEnterKey, formulaMode = _a.formulaMode, isTouchDevice = _a.isTouchDevice, getDataRowCount = _a.getDataRowCount, isRowHeader = _a.isRowHeader, isColumnHeader = _a.isColumnHeader, _s = _a.enableDataBoundaryNavigation, enableDataBoundaryNavigation = _s === void 0 ? false : _s, tables = _a.tables, onInsertTableRow = _a.onInsertTableRow;
|
|
102
103
|
var _t = tslib_1.__read((0, react_1.useState)(), 2), fillSelection = _t[0], setFillSelection = _t[1];
|
|
103
104
|
var _u = tslib_1.__read((0, react_1.useState)(), 2), fillShrink = _u[0], setFillShrink = _u[1];
|
|
104
105
|
var fillShrinkRef = (0, react_1.useRef)(undefined);
|
|
@@ -589,12 +590,64 @@ var useSelection = function (_a) {
|
|
|
589
590
|
selectionLeftBound,
|
|
590
591
|
selectionRightBound,
|
|
591
592
|
]);
|
|
593
|
+
// Select all
|
|
594
|
+
var selectAll = (0, react_1.useCallback)(function () {
|
|
595
|
+
selectionStart.current = {
|
|
596
|
+
rowIndex: selectionTopBound,
|
|
597
|
+
columnIndex: selectionLeftBound,
|
|
598
|
+
};
|
|
599
|
+
modifySelection({
|
|
600
|
+
rowIndex: selectionBottomBound,
|
|
601
|
+
columnIndex: selectionRightBound,
|
|
602
|
+
});
|
|
603
|
+
}, [
|
|
604
|
+
selectionTopBound,
|
|
605
|
+
selectionLeftBound,
|
|
606
|
+
selectionRightBound,
|
|
607
|
+
selectionBottomBound,
|
|
608
|
+
modifySelection,
|
|
609
|
+
]);
|
|
610
|
+
/**
|
|
611
|
+
* Inside a table Ctrl+A / Ctrl+Space / Shift+Space walk Excel's table
|
|
612
|
+
* cycle before falling back to the sheet-wide behaviour. Applies `range`
|
|
613
|
+
* (keeping the active cell) and reports whether a table handled the key;
|
|
614
|
+
* a `null` cycle step means "the sheet-wide step" and returns false.
|
|
615
|
+
*/
|
|
616
|
+
var currentSingleArea = function () {
|
|
617
|
+
return selections.length === 1 ? selections[0].range : undefined;
|
|
618
|
+
};
|
|
619
|
+
var applyTableRange = (0, react_1.useCallback)(function (range) {
|
|
620
|
+
if (!range) {
|
|
621
|
+
return false;
|
|
622
|
+
}
|
|
623
|
+
selectionStart.current = {
|
|
624
|
+
rowIndex: range.startRowIndex,
|
|
625
|
+
columnIndex: range.startColumnIndex,
|
|
626
|
+
};
|
|
627
|
+
modifySelection({
|
|
628
|
+
rowIndex: range.endRowIndex,
|
|
629
|
+
columnIndex: range.endColumnIndex,
|
|
630
|
+
});
|
|
631
|
+
return true;
|
|
632
|
+
}, [modifySelection]);
|
|
633
|
+
var activeTable = activeCell
|
|
634
|
+
? (0, table_1.findActiveTableWithinCell)(sheetId, activeCell, tables)
|
|
635
|
+
: undefined;
|
|
592
636
|
// ⌘A or ⌘+Shift+Space
|
|
593
637
|
// Select all cells in bounding area
|
|
594
638
|
var selectAllBoundedCells = (0, react_1.useCallback)(function () {
|
|
595
639
|
if (!selectionEnd.current || !selectionStart.current) {
|
|
596
640
|
return;
|
|
597
641
|
}
|
|
642
|
+
if (activeTable) {
|
|
643
|
+
var step = (0, table_1.getTableSelectAllRange)(activeTable, currentSingleArea());
|
|
644
|
+
if (step === null) {
|
|
645
|
+
selectAll();
|
|
646
|
+
return;
|
|
647
|
+
}
|
|
648
|
+
applyTableRange(step);
|
|
649
|
+
return;
|
|
650
|
+
}
|
|
598
651
|
var topBound = findLastContentfulCellInDirection(sheetId, selectionStart.current, selectionEnd.current, grid_4.Direction.Up);
|
|
599
652
|
var bottomBound = findLastContentfulCellInDirection(sheetId, selectionStart.current, selectionEnd.current, grid_4.Direction.Down);
|
|
600
653
|
var leftBound = findLastContentfulCellInDirection(sheetId, selectionStart.current, selectionEnd.current, grid_4.Direction.Left);
|
|
@@ -625,30 +678,38 @@ var useSelection = function (_a) {
|
|
|
625
678
|
selectionTopBound,
|
|
626
679
|
selectionLeftBound,
|
|
627
680
|
selectionRightBound,
|
|
681
|
+
activeTable,
|
|
682
|
+
selections,
|
|
683
|
+
applyTableRange,
|
|
684
|
+
selectAll,
|
|
628
685
|
]);
|
|
629
|
-
// Select
|
|
630
|
-
var
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
columnIndex
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
});
|
|
639
|
-
}, [
|
|
640
|
-
selectionTopBound,
|
|
641
|
-
selectionLeftBound,
|
|
642
|
-
selectionRightBound,
|
|
643
|
-
selectionBottomBound,
|
|
644
|
-
modifySelection,
|
|
645
|
-
]);
|
|
686
|
+
// Select entire column
|
|
687
|
+
var selectEntireColumn = (0, react_1.useCallback)(function (columnIndex) {
|
|
688
|
+
if (!selectionEnd.current ||
|
|
689
|
+
!selectionStart.current ||
|
|
690
|
+
columnIndex === void 0)
|
|
691
|
+
return;
|
|
692
|
+
selectionStart.current = tslib_1.__assign(tslib_1.__assign({}, selectionStart.current), { rowIndex: selectionTopBound });
|
|
693
|
+
modifySelection(tslib_1.__assign(tslib_1.__assign({}, selectionEnd.current), { rowIndex: selectionBottomBound }));
|
|
694
|
+
}, [modifySelection, selectionBottomBound, selectionTopBound]);
|
|
646
695
|
// Ctrl+Space
|
|
647
696
|
var selectColumn = (0, react_1.useCallback)(function (columnIndex) {
|
|
648
697
|
if (!selectionEnd.current ||
|
|
649
698
|
!selectionStart.current ||
|
|
650
699
|
columnIndex === void 0)
|
|
651
700
|
return;
|
|
701
|
+
if (activeTable) {
|
|
702
|
+
var step = (0, table_1.getTableColumnSelectRange)(activeTable, {
|
|
703
|
+
start: selectionStart.current.columnIndex,
|
|
704
|
+
end: selectionEnd.current.columnIndex,
|
|
705
|
+
}, currentSingleArea());
|
|
706
|
+
if (step === null) {
|
|
707
|
+
selectEntireColumn(columnIndex);
|
|
708
|
+
return;
|
|
709
|
+
}
|
|
710
|
+
applyTableRange(step);
|
|
711
|
+
return;
|
|
712
|
+
}
|
|
652
713
|
var topBound = findLastContentfulCellInDirection(sheetId, selectionStart.current, selectionEnd.current, grid_4.Direction.Up);
|
|
653
714
|
var bottomBound = findLastContentfulCellInDirection(sheetId, selectionStart.current, selectionEnd.current, grid_4.Direction.Down);
|
|
654
715
|
var isSameVerticalBounds = topBound === bottomBound;
|
|
@@ -664,16 +725,11 @@ var useSelection = function (_a) {
|
|
|
664
725
|
sheetId,
|
|
665
726
|
selectionTopBound,
|
|
666
727
|
selectionBottomBound,
|
|
728
|
+
activeTable,
|
|
729
|
+
selections,
|
|
730
|
+
applyTableRange,
|
|
731
|
+
selectEntireColumn,
|
|
667
732
|
]);
|
|
668
|
-
// Select entire column
|
|
669
|
-
var selectEntireColumn = (0, react_1.useCallback)(function (columnIndex) {
|
|
670
|
-
if (!selectionEnd.current ||
|
|
671
|
-
!selectionStart.current ||
|
|
672
|
-
columnIndex === void 0)
|
|
673
|
-
return;
|
|
674
|
-
selectionStart.current = tslib_1.__assign(tslib_1.__assign({}, selectionStart.current), { rowIndex: selectionTopBound });
|
|
675
|
-
modifySelection(tslib_1.__assign(tslib_1.__assign({}, selectionEnd.current), { rowIndex: selectionBottomBound }));
|
|
676
|
-
}, [modifySelection, selectionBottomBound, selectionTopBound]);
|
|
677
733
|
// Shift+Space
|
|
678
734
|
var selectRow = (0, react_1.useCallback)(function (rowIndex) {
|
|
679
735
|
if (!selectionEnd.current ||
|
|
@@ -681,6 +737,19 @@ var useSelection = function (_a) {
|
|
|
681
737
|
rowIndex === void 0) {
|
|
682
738
|
return;
|
|
683
739
|
}
|
|
740
|
+
if (activeTable) {
|
|
741
|
+
var step = (0, table_1.getTableRowSelectRange)(activeTable, {
|
|
742
|
+
start: selectionStart.current.rowIndex,
|
|
743
|
+
end: selectionEnd.current.rowIndex,
|
|
744
|
+
}, currentSingleArea());
|
|
745
|
+
if (step !== null) {
|
|
746
|
+
applyTableRange(step);
|
|
747
|
+
return;
|
|
748
|
+
}
|
|
749
|
+
selectionStart.current = tslib_1.__assign(tslib_1.__assign({}, selectionStart.current), { columnIndex: selectionLeftBound });
|
|
750
|
+
modifySelection(tslib_1.__assign(tslib_1.__assign({}, selectionEnd.current), { columnIndex: selectionRightBound }));
|
|
751
|
+
return;
|
|
752
|
+
}
|
|
684
753
|
var leftBound = findLastContentfulCellInDirection(sheetId, selectionStart.current, selectionEnd.current, grid_4.Direction.Left);
|
|
685
754
|
var rightBound = findLastContentfulCellInDirection(sheetId, selectionStart.current, selectionEnd.current, grid_4.Direction.Right);
|
|
686
755
|
var isSameHorizontalBounds = leftBound === rightBound;
|
|
@@ -694,6 +763,9 @@ var useSelection = function (_a) {
|
|
|
694
763
|
findLastContentfulCellInDirection,
|
|
695
764
|
modifySelection,
|
|
696
765
|
sheetId,
|
|
766
|
+
activeTable,
|
|
767
|
+
selections,
|
|
768
|
+
applyTableRange,
|
|
697
769
|
selectionRightBound,
|
|
698
770
|
selectionLeftBound,
|
|
699
771
|
]);
|
|
@@ -1099,11 +1171,22 @@ var useSelection = function (_a) {
|
|
|
1099
1171
|
}
|
|
1100
1172
|
}
|
|
1101
1173
|
else {
|
|
1102
|
-
|
|
1103
|
-
|
|
1174
|
+
var direction = isShiftKey ? grid_4.Direction.Left : grid_4.Direction.Right;
|
|
1175
|
+
var table = activeCell
|
|
1176
|
+
? (0, table_1.findActiveTableWithinCell)(sheetId, activeCell, tables)
|
|
1177
|
+
: undefined;
|
|
1178
|
+
var tableTarget = table
|
|
1179
|
+
? (0, table_1.getNextCellInTable)(table, activeCell, direction, isHiddenRow, isHiddenColumn)
|
|
1180
|
+
: null;
|
|
1181
|
+
if (table && tableTarget) {
|
|
1182
|
+
if (tableTarget.insertRow) {
|
|
1183
|
+
onInsertTableRow === null || onInsertTableRow === void 0 ? void 0 : onInsertTableRow(table);
|
|
1184
|
+
}
|
|
1185
|
+
newSelection(tableTarget.cell);
|
|
1186
|
+
scrollToCell(tableTarget.cell);
|
|
1104
1187
|
}
|
|
1105
1188
|
else {
|
|
1106
|
-
keyNavigate(
|
|
1189
|
+
keyNavigate(direction);
|
|
1107
1190
|
}
|
|
1108
1191
|
}
|
|
1109
1192
|
e.preventDefault();
|
|
@@ -1150,6 +1233,11 @@ var useSelection = function (_a) {
|
|
|
1150
1233
|
selectFirstCellInSheet,
|
|
1151
1234
|
selectLastCellInSheet,
|
|
1152
1235
|
enableSelectOnEnterKey,
|
|
1236
|
+
newSelection,
|
|
1237
|
+
isHiddenRow,
|
|
1238
|
+
isHiddenColumn,
|
|
1239
|
+
tables,
|
|
1240
|
+
onInsertTableRow,
|
|
1153
1241
|
]);
|
|
1154
1242
|
/**
|
|
1155
1243
|
* TODO
|
|
@@ -11,12 +11,12 @@ export declare const useOnStructuredReferenceSelection: ({ tables, getSheetName,
|
|
|
11
11
|
endColumnIndex: number;
|
|
12
12
|
startRowIndex: number;
|
|
13
13
|
endRowIndex: number;
|
|
14
|
-
sheetId: number;
|
|
15
14
|
} | {
|
|
16
15
|
startColumnIndex: number;
|
|
17
16
|
endColumnIndex: number;
|
|
18
17
|
startRowIndex: number;
|
|
19
18
|
endRowIndex: number;
|
|
19
|
+
sheetId: number;
|
|
20
20
|
};
|
|
21
21
|
sheetName: string | undefined;
|
|
22
22
|
} | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-structured-reference-selection.d.ts","sourceRoot":"","sources":["../../../hooks/use-structured-reference-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,iCAAiC,GAAI,2BAG/C;IACD,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;CAC/C,eAGc,MAAM,QACT,aAAa,GAAG,SAAS,aACpB,MAAM,GAAG,SAAS,eAChB,MAAM,EAAE,GAAG,SAAS,WACxB,OAAO,GAAG,SAAS,gBACd,WAAW,CAAC,aAAa,CAAC;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"use-structured-reference-selection.d.ts","sourceRoot":"","sources":["../../../hooks/use-structured-reference-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,iCAAiC,GAAI,2BAG/C;IACD,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;CAC/C,eAGc,MAAM,QACT,aAAa,GAAG,SAAS,aACpB,MAAM,GAAG,SAAS,eAChB,MAAM,EAAE,GAAG,SAAS,WACxB,OAAO,GAAG,SAAS,gBACd,WAAW,CAAC,aAAa,CAAC;;;;;;;;;;;;;;aA8I7C,CAAC"}
|
|
@@ -51,6 +51,16 @@ var useOnStructuredReferenceSelection = function (_a) {
|
|
|
51
51
|
sheetName: sheetName,
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
|
+
// Totals row only (the table's last row); nothing to highlight while it is off.
|
|
55
|
+
if (specialItem === "#Totals") {
|
|
56
|
+
if (!totalRow) {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
range: tslib_1.__assign(tslib_1.__assign({}, range), { startColumnIndex: startColumnIndex, endColumnIndex: endColumnIndex, startRowIndex: range.endRowIndex, endRowIndex: range.endRowIndex }),
|
|
61
|
+
sheetName: sheetName,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
54
64
|
// All
|
|
55
65
|
if (specialItem === "#All") {
|
|
56
66
|
return {
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { CellInterface, CellPosition, GridRange, PosXYRequired, ScrollCoords, SelectionArea } from "@rowsncolumns/grid";
|
|
2
|
+
import type React from "react";
|
|
3
|
+
import type { CanvasGridProps } from "../components/canvas-grid/typings";
|
|
4
|
+
import type { TableView } from "../types";
|
|
5
|
+
/** Width of the edge bands (px, in grid coordinates) that count as a table hit zone. */
|
|
6
|
+
export declare const TABLE_HIT_BAND = 4;
|
|
7
|
+
export type TableHitZone = {
|
|
8
|
+
/**
|
|
9
|
+
* `column`: the top edge of a header cell (selects the column data, then
|
|
10
|
+
* the entire table column). `corner`: the header's top-left corner (selects
|
|
11
|
+
* the data body, then the whole table). `row`: the left edge of the first
|
|
12
|
+
* column (selects the table row).
|
|
13
|
+
*/
|
|
14
|
+
kind: "column" | "corner" | "row";
|
|
15
|
+
table: TableView;
|
|
16
|
+
cell: CellInterface;
|
|
17
|
+
};
|
|
18
|
+
/** Excel's black selection arrows: down on a header edge, right on a row edge, diagonal on the corner. */
|
|
19
|
+
export declare const TABLE_HIT_CURSORS: Record<TableHitZone["kind"], string>;
|
|
20
|
+
/**
|
|
21
|
+
* Classify a pointer position inside `cell` against the table it belongs to.
|
|
22
|
+
* `offset` is the pointer's position relative to the cell's top-left corner.
|
|
23
|
+
*/
|
|
24
|
+
export declare const getTableHitZone: (table: TableView | undefined, cell: CellInterface, offset: {
|
|
25
|
+
x: number;
|
|
26
|
+
y: number;
|
|
27
|
+
}, band?: number) => TableHitZone | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* The range a click on `zone` selects, given the single selected area (if
|
|
30
|
+
* any): a header edge selects the column data first and the entire table
|
|
31
|
+
* column on the next click; the corner toggles data body ↔ whole table; a row
|
|
32
|
+
* edge selects the table row.
|
|
33
|
+
*/
|
|
34
|
+
export declare const getTableHitZoneRange: (zone: TableHitZone, current: GridRange | undefined) => GridRange;
|
|
35
|
+
export type UseTableHitZonesOptions = {
|
|
36
|
+
sheetId: number;
|
|
37
|
+
tables: CanvasGridProps["tables"];
|
|
38
|
+
selections: SelectionArea[];
|
|
39
|
+
frozenRows: number;
|
|
40
|
+
frozenColumns: number;
|
|
41
|
+
getCellCoordsFromOffset: (x: number, y: number) => CellInterface | undefined;
|
|
42
|
+
getRelativePositionFromOffset: (x: number, y: number) => PosXYRequired | null | undefined;
|
|
43
|
+
getCellOffsetFromCoords: (cell: CellInterface) => CellPosition | undefined;
|
|
44
|
+
getScrollPosition: () => ScrollCoords | undefined;
|
|
45
|
+
/** Replaces the selection with `range`, active cell at its top-left. */
|
|
46
|
+
onSelectRange: (sheetId: number, range: GridRange) => void;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Excel's table hit zones: hovering the top edge of a header cell, the
|
|
50
|
+
* header's top-left corner or the left edge of a row shows the black
|
|
51
|
+
* selection arrow; a click there selects the table column data / body / row
|
|
52
|
+
* instead of starting a cell selection.
|
|
53
|
+
*/
|
|
54
|
+
export declare const useTableHitZones: ({ sheetId, tables, selections, frozenRows, frozenColumns, getCellCoordsFromOffset, getRelativePositionFromOffset, getCellOffsetFromCoords, getScrollPosition, onSelectRange, }: UseTableHitZonesOptions) => {
|
|
55
|
+
hitZone: TableHitZone | undefined;
|
|
56
|
+
cursor: string | undefined;
|
|
57
|
+
onMouseMove: (e: React.MouseEvent<HTMLElement>) => void;
|
|
58
|
+
onMouseDown: (e: React.MouseEvent<HTMLElement>) => boolean;
|
|
59
|
+
clearHitZone: () => void;
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=use-table-hit-zones.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-table-hit-zones.d.ts","sourceRoot":"","sources":["../../../hooks/use-table-hit-zones.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACZ,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,wFAAwF;AACxF,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,MAAM,MAAM,YAAY,GAAG;IACzB;;;;;OAKG;IACH,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IAClC,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAOF,0GAA0G;AAC1G,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,CAIlE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,SAAS,GAAG,SAAS,EAC5B,MAAM,aAAa,EACnB,QAAQ;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAChC,aAAqB,KACpB,YAAY,GAAG,SA0BjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,YAAY,EAClB,SAAS,SAAS,GAAG,SAAS,KAC7B,SA+BF,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClC,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;IAC7E,6BAA6B,EAAE,CAC7B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,KACN,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,uBAAuB,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,YAAY,GAAG,SAAS,CAAC;IAC3E,iBAAiB,EAAE,MAAM,YAAY,GAAG,SAAS,CAAC;IAClD,wEAAwE;IACxE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CAC5D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,gLAW9B,uBAAuB;;;qBAyClB,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;qBAqB7B,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;;CA4BpC,CAAC"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useTableHitZones = exports.getTableHitZoneRange = exports.getTableHitZone = exports.TABLE_HIT_CURSORS = exports.TABLE_HIT_BAND = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var react_1 = require("react");
|
|
6
|
+
var table_1 = require("../api/table");
|
|
7
|
+
/** Width of the edge bands (px, in grid coordinates) that count as a table hit zone. */
|
|
8
|
+
exports.TABLE_HIT_BAND = 4;
|
|
9
|
+
var arrowCursor = function (rotate, fallback) {
|
|
10
|
+
return "url(\"data:image/svg+xml;utf8,".concat(encodeURIComponent("<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><g transform='rotate(".concat(rotate, " 8 8)'><path d='M8 1v10.5M4 8l4 4 4-4' fill='none' stroke='#fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/><path d='M8 1v10.5M4 8l4 4 4-4' fill='none' stroke='#000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></g></svg>")), "\") 8 8, ").concat(fallback);
|
|
11
|
+
};
|
|
12
|
+
/** Excel's black selection arrows: down on a header edge, right on a row edge, diagonal on the corner. */
|
|
13
|
+
exports.TABLE_HIT_CURSORS = {
|
|
14
|
+
column: arrowCursor(0, "default"),
|
|
15
|
+
row: arrowCursor(-90, "default"),
|
|
16
|
+
corner: arrowCursor(-45, "default"),
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Classify a pointer position inside `cell` against the table it belongs to.
|
|
20
|
+
* `offset` is the pointer's position relative to the cell's top-left corner.
|
|
21
|
+
*/
|
|
22
|
+
var getTableHitZone = function (table, cell, offset, band) {
|
|
23
|
+
if (band === void 0) { band = exports.TABLE_HIT_BAND; }
|
|
24
|
+
if (!table) {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
var range = table.range;
|
|
28
|
+
var isFirstRow = cell.rowIndex === range.startRowIndex;
|
|
29
|
+
var isFirstColumn = cell.columnIndex === range.startColumnIndex;
|
|
30
|
+
var nearTop = offset.y >= 0 && offset.y < band;
|
|
31
|
+
var nearLeft = offset.x >= 0 && offset.x < band;
|
|
32
|
+
if (isFirstRow &&
|
|
33
|
+
isFirstColumn &&
|
|
34
|
+
offset.x >= 0 &&
|
|
35
|
+
offset.y >= 0 &&
|
|
36
|
+
offset.x < band * 2 &&
|
|
37
|
+
offset.y < band * 2) {
|
|
38
|
+
return { kind: "corner", table: table, cell: cell };
|
|
39
|
+
}
|
|
40
|
+
if (isFirstRow && nearTop) {
|
|
41
|
+
return { kind: "column", table: table, cell: cell };
|
|
42
|
+
}
|
|
43
|
+
if (isFirstColumn && nearLeft) {
|
|
44
|
+
return { kind: "row", table: table, cell: cell };
|
|
45
|
+
}
|
|
46
|
+
return undefined;
|
|
47
|
+
};
|
|
48
|
+
exports.getTableHitZone = getTableHitZone;
|
|
49
|
+
/**
|
|
50
|
+
* The range a click on `zone` selects, given the single selected area (if
|
|
51
|
+
* any): a header edge selects the column data first and the entire table
|
|
52
|
+
* column on the next click; the corner toggles data body ↔ whole table; a row
|
|
53
|
+
* edge selects the table row.
|
|
54
|
+
*/
|
|
55
|
+
var getTableHitZoneRange = function (zone, current) {
|
|
56
|
+
var _a, _b;
|
|
57
|
+
var table = zone.table, cell = zone.cell;
|
|
58
|
+
var columns = { start: cell.columnIndex, end: cell.columnIndex };
|
|
59
|
+
switch (zone.kind) {
|
|
60
|
+
case "column":
|
|
61
|
+
return ((_a = (0, table_1.getTableColumnSelectRange)(table, columns, current)) !== null && _a !== void 0 ? _a : tslib_1.__assign(tslib_1.__assign({}, table.range), { startColumnIndex: cell.columnIndex, endColumnIndex: cell.columnIndex }));
|
|
62
|
+
case "corner": {
|
|
63
|
+
var body = (0, table_1.getTableBodyRange)(table);
|
|
64
|
+
var isBody = !!current &&
|
|
65
|
+
current.startRowIndex === body.startRowIndex &&
|
|
66
|
+
current.endRowIndex === body.endRowIndex &&
|
|
67
|
+
current.startColumnIndex === body.startColumnIndex &&
|
|
68
|
+
current.endColumnIndex === body.endColumnIndex;
|
|
69
|
+
return isBody ? tslib_1.__assign({}, table.range) : body;
|
|
70
|
+
}
|
|
71
|
+
case "row":
|
|
72
|
+
return ((_b = (0, table_1.getTableRowSelectRange)(table, { start: cell.rowIndex, end: cell.rowIndex }, undefined)) !== null && _b !== void 0 ? _b : tslib_1.__assign({}, table.range));
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
exports.getTableHitZoneRange = getTableHitZoneRange;
|
|
76
|
+
/**
|
|
77
|
+
* Excel's table hit zones: hovering the top edge of a header cell, the
|
|
78
|
+
* header's top-left corner or the left edge of a row shows the black
|
|
79
|
+
* selection arrow; a click there selects the table column data / body / row
|
|
80
|
+
* instead of starting a cell selection.
|
|
81
|
+
*/
|
|
82
|
+
var useTableHitZones = function (_a) {
|
|
83
|
+
var sheetId = _a.sheetId, tables = _a.tables, selections = _a.selections, frozenRows = _a.frozenRows, frozenColumns = _a.frozenColumns, getCellCoordsFromOffset = _a.getCellCoordsFromOffset, getRelativePositionFromOffset = _a.getRelativePositionFromOffset, getCellOffsetFromCoords = _a.getCellOffsetFromCoords, getScrollPosition = _a.getScrollPosition, onSelectRange = _a.onSelectRange;
|
|
84
|
+
var _b = tslib_1.__read((0, react_1.useState)(), 2), hitZone = _b[0], setHitZone = _b[1];
|
|
85
|
+
var hitZoneAt = (0, react_1.useCallback)(function (clientX, clientY) {
|
|
86
|
+
var _a;
|
|
87
|
+
var cell = getCellCoordsFromOffset(clientX, clientY);
|
|
88
|
+
if (!cell) {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
var table = (0, table_1.findActiveTableWithinCell)(sheetId, cell, tables);
|
|
92
|
+
if (!table) {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
var position = getRelativePositionFromOffset(clientX, clientY);
|
|
96
|
+
var cellPosition = getCellOffsetFromCoords(cell);
|
|
97
|
+
if (!position || !cellPosition) {
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
var _b = (_a = getScrollPosition()) !== null && _a !== void 0 ? _a : {}, _c = _b.scrollLeft, scrollLeft = _c === void 0 ? 0 : _c, _d = _b.scrollTop, scrollTop = _d === void 0 ? 0 : _d;
|
|
101
|
+
// Frozen rows / columns do not scroll.
|
|
102
|
+
var x = position.x +
|
|
103
|
+
(cell.columnIndex < frozenColumns ? 0 : scrollLeft) -
|
|
104
|
+
cellPosition.x;
|
|
105
|
+
var y = position.y + (cell.rowIndex < frozenRows ? 0 : scrollTop) - cellPosition.y;
|
|
106
|
+
return (0, exports.getTableHitZone)(table, cell, { x: x, y: y });
|
|
107
|
+
}, [
|
|
108
|
+
sheetId,
|
|
109
|
+
tables,
|
|
110
|
+
frozenRows,
|
|
111
|
+
frozenColumns,
|
|
112
|
+
getCellCoordsFromOffset,
|
|
113
|
+
getRelativePositionFromOffset,
|
|
114
|
+
getCellOffsetFromCoords,
|
|
115
|
+
getScrollPosition,
|
|
116
|
+
]);
|
|
117
|
+
var onMouseMove = (0, react_1.useCallback)(function (e) {
|
|
118
|
+
var next = (tables === null || tables === void 0 ? void 0 : tables.length) ? hitZoneAt(e.clientX, e.clientY) : undefined;
|
|
119
|
+
setHitZone(function (prev) {
|
|
120
|
+
return (prev === null || prev === void 0 ? void 0 : prev.kind) === (next === null || next === void 0 ? void 0 : next.kind) &&
|
|
121
|
+
(prev === null || prev === void 0 ? void 0 : prev.table.id) === (next === null || next === void 0 ? void 0 : next.table.id) &&
|
|
122
|
+
(prev === null || prev === void 0 ? void 0 : prev.cell.rowIndex) === (next === null || next === void 0 ? void 0 : next.cell.rowIndex) &&
|
|
123
|
+
(prev === null || prev === void 0 ? void 0 : prev.cell.columnIndex) === (next === null || next === void 0 ? void 0 : next.cell.columnIndex)
|
|
124
|
+
? prev
|
|
125
|
+
: next;
|
|
126
|
+
});
|
|
127
|
+
}, [tables, hitZoneAt]);
|
|
128
|
+
var clearHitZone = (0, react_1.useCallback)(function () { return setHitZone(undefined); }, []);
|
|
129
|
+
/**
|
|
130
|
+
* Returns true when the mousedown landed on a hit zone and selected the
|
|
131
|
+
* table part — the caller then skips the regular cell selection.
|
|
132
|
+
*/
|
|
133
|
+
var onMouseDown = (0, react_1.useCallback)(function (e) {
|
|
134
|
+
if (!(tables === null || tables === void 0 ? void 0 : tables.length) ||
|
|
135
|
+
e.button !== 0 ||
|
|
136
|
+
e.shiftKey ||
|
|
137
|
+
e.ctrlKey ||
|
|
138
|
+
e.metaKey) {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
var zone = hitZoneAt(e.clientX, e.clientY);
|
|
142
|
+
if (!zone) {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
var current = selections.length === 1 ? selections[0].range : undefined;
|
|
146
|
+
onSelectRange(sheetId, (0, exports.getTableHitZoneRange)(zone, current));
|
|
147
|
+
return true;
|
|
148
|
+
}, [tables, hitZoneAt, selections, onSelectRange, sheetId]);
|
|
149
|
+
return {
|
|
150
|
+
hitZone: hitZone,
|
|
151
|
+
cursor: hitZone ? exports.TABLE_HIT_CURSORS[hitZone.kind] : undefined,
|
|
152
|
+
onMouseMove: onMouseMove,
|
|
153
|
+
onMouseDown: onMouseDown,
|
|
154
|
+
clearHitZone: clearHitZone,
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
exports.useTableHitZones = useTableHitZones;
|
|
@@ -14,6 +14,13 @@ type UseTableResizerProps = {
|
|
|
14
14
|
scrollToCell: (cell: OptionalCellInterface, align?: Align | undefined) => void | undefined;
|
|
15
15
|
focusSheet(): void;
|
|
16
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* The smallest table Excel's resize handle allows: the header row (when shown) plus one data row
|
|
19
|
+
* plus the totals row (when shown), and one column. The pointer may travel above / left of that
|
|
20
|
+
* while dragging, so the drop point is clamped the same way the drag preview is — releasing above
|
|
21
|
+
* the header must not produce a headerless or inverted range.
|
|
22
|
+
*/
|
|
23
|
+
export declare const clampTableCornerCell: (cell: CellInterface, table: Pick<TableView, "range" | "headerRow" | "totalRow">) => CellInterface;
|
|
17
24
|
export declare const useTableResizer: ({ sheetId, tables, theme, newSelection, modifySelection, clearSelections, onResizeTable, getCellCoordsFromOffset, scrollToCell, focusSheet, }: UseTableResizerProps) => {
|
|
18
25
|
tableResizers: React.JSX.Element[] | undefined;
|
|
19
26
|
isResizingTable: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-resizer.d.ts","sourceRoot":"","sources":["../../../hooks/use-table-resizer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,aAAa,EACb,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;IACxB,YAAY,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAClE,eAAe,EAAE,CACf,MAAM,EAAE,aAAa,EACrB,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,KAChC,IAAI,CAAC;IACV,eAAe,IAAI,IAAI,CAAC;IACxB,uBAAuB,EAAE,CACvB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,aAAa,CAAC,EAAE,OAAO,KACpB,aAAa,GAAG,SAAS,CAAC;IAC/B,aAAa,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACjD,YAAY,EAAE,CACZ,IAAI,EAAE,qBAAqB,EAC3B,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,KACtB,IAAI,GAAG,SAAS,CAAC;IACtB,UAAU,IAAI,IAAI,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,+IAW7B,oBAAoB;;;
|
|
1
|
+
{"version":3,"file":"use-table-resizer.d.ts","sourceRoot":"","sources":["../../../hooks/use-table-resizer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,aAAa,EACb,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;IACxB,YAAY,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAClE,eAAe,EAAE,CACf,MAAM,EAAE,aAAa,EACrB,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,KAChC,IAAI,CAAC;IACV,eAAe,IAAI,IAAI,CAAC;IACxB,uBAAuB,EAAE,CACvB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,aAAa,CAAC,EAAE,OAAO,KACpB,aAAa,GAAG,SAAS,CAAC;IAC/B,aAAa,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACjD,YAAY,EAAE,CACZ,IAAI,EAAE,qBAAqB,EAC3B,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,KACtB,IAAI,GAAG,SAAS,CAAC;IACtB,UAAU,IAAI,IAAI,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,aAAa,EACnB,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC,KACzD,aASF,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,+IAW7B,oBAAoB;;;CAyHtB,CAAC;AAYF,eAAO,MAAM,kBAAkB,wKAa7B,CAAC"}
|
|
@@ -1,11 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StyledResizeButton = exports.useTableResizer = void 0;
|
|
3
|
+
exports.StyledResizeButton = exports.useTableResizer = exports.clampTableCornerCell = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var grid_1 = require("@rowsncolumns/grid");
|
|
6
6
|
var ui_1 = require("@rowsncolumns/ui");
|
|
7
7
|
var utils_1 = require("@rowsncolumns/utils");
|
|
8
8
|
var react_1 = tslib_1.__importStar(require("react"));
|
|
9
|
+
/**
|
|
10
|
+
* The smallest table Excel's resize handle allows: the header row (when shown) plus one data row
|
|
11
|
+
* plus the totals row (when shown), and one column. The pointer may travel above / left of that
|
|
12
|
+
* while dragging, so the drop point is clamped the same way the drag preview is — releasing above
|
|
13
|
+
* the header must not produce a headerless or inverted range.
|
|
14
|
+
*/
|
|
15
|
+
var clampTableCornerCell = function (cell, table) {
|
|
16
|
+
var minRowIndex = table.range.startRowIndex +
|
|
17
|
+
(table.headerRow !== false ? 1 : 0) +
|
|
18
|
+
(table.totalRow ? 1 : 0);
|
|
19
|
+
return {
|
|
20
|
+
rowIndex: Math.max(cell.rowIndex, minRowIndex),
|
|
21
|
+
columnIndex: Math.max(cell.columnIndex, table.range.startColumnIndex),
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
exports.clampTableCornerCell = clampTableCornerCell;
|
|
9
25
|
var useTableResizer = function (_a) {
|
|
10
26
|
var sheetId = _a.sheetId, tables = _a.tables, theme = _a.theme, newSelection = _a.newSelection, modifySelection = _a.modifySelection, clearSelections = _a.clearSelections, onResizeTable = _a.onResizeTable, getCellCoordsFromOffset = _a.getCellCoordsFromOffset, scrollToCell = _a.scrollToCell, focusSheet = _a.focusSheet;
|
|
11
27
|
var _b = tslib_1.__read((0, react_1.useState)(false), 2), isResizingTable = _b[0], setIsResizingTable = _b[1];
|
|
@@ -13,15 +29,10 @@ var useTableResizer = function (_a) {
|
|
|
13
29
|
var onMouseMove = (0, react_1.useCallback)(function (event) {
|
|
14
30
|
var cell = getCellCoordsFromOffset(event.clientX, event.clientY, false);
|
|
15
31
|
if (cell && tableRef.current) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var minRowIndex = tableRef.current.range.startRowIndex + (showHeader ? 1 : 0);
|
|
19
|
-
var minColumnIndex = tableRef.current.range.startColumnIndex;
|
|
20
|
-
cell.rowIndex = Math.max(cell.rowIndex, minRowIndex);
|
|
21
|
-
cell.columnIndex = Math.max(cell.columnIndex, minColumnIndex);
|
|
22
|
-
modifySelection(cell);
|
|
32
|
+
var clamped = (0, exports.clampTableCornerCell)(cell, tableRef.current);
|
|
33
|
+
modifySelection(clamped);
|
|
23
34
|
// Scroll to active cell
|
|
24
|
-
scrollToCell(
|
|
35
|
+
scrollToCell(clamped);
|
|
25
36
|
}
|
|
26
37
|
}, [getCellCoordsFromOffset, modifySelection, scrollToCell]);
|
|
27
38
|
var onMouseUp = (0, react_1.useCallback)(function (event) {
|
|
@@ -33,7 +44,8 @@ var useTableResizer = function (_a) {
|
|
|
33
44
|
// Clear selections
|
|
34
45
|
clearSelections();
|
|
35
46
|
if (tableRef.current && endCell) {
|
|
36
|
-
var
|
|
47
|
+
var corner = (0, exports.clampTableCornerCell)(endCell, tableRef.current);
|
|
48
|
+
var tableRange = tslib_1.__assign(tslib_1.__assign({}, tableRef.current.range), { endColumnIndex: corner.columnIndex, endRowIndex: corner.rowIndex });
|
|
37
49
|
// Callback
|
|
38
50
|
onResizeTable === null || onResizeTable === void 0 ? void 0 : onResizeTable(sheetId, tableRef.current, tableRange);
|
|
39
51
|
}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -30,7 +30,15 @@ export * from "./components/goal-seek-dialog";
|
|
|
30
30
|
export * from "./components/advanced-filter-dialog";
|
|
31
31
|
export * from "./components/validation-alert-dialog";
|
|
32
32
|
export * from "./components/insert-cells-dialog";
|
|
33
|
+
export * from "./components/move-chart-dialog";
|
|
34
|
+
export * from "./atoms/move-chart-dialog.atom";
|
|
35
|
+
export * from "./components/chart-sheet-view";
|
|
36
|
+
export * from "./api/chart-sheet";
|
|
37
|
+
export * from "./components/sparkline-dialog";
|
|
33
38
|
export * from "./components/insert-options-smart-tag";
|
|
39
|
+
export * from "./components/table-auto-expansion-smart-tag";
|
|
40
|
+
export * from "./components/calculated-column-smart-tag";
|
|
41
|
+
export * from "./api/calculated-column-fill";
|
|
34
42
|
export * from "./components/cell-input";
|
|
35
43
|
export * from "./components/formula-bar";
|
|
36
44
|
export * from "./components/bottom-bar";
|
|
@@ -52,6 +60,7 @@ export * from "./atoms";
|
|
|
52
60
|
export * from "./api/validation";
|
|
53
61
|
export * from "./api/multi-selection";
|
|
54
62
|
export * from "./api/insert-options";
|
|
63
|
+
export * from "./api/table-auto-expansion";
|
|
55
64
|
export * from "./api/copy-paste";
|
|
56
65
|
export * from "./api/selections";
|
|
57
66
|
export * from "./api/table";
|
|
@@ -70,13 +79,17 @@ export * from "./components/cell";
|
|
|
70
79
|
export * from "./components/header-cell";
|
|
71
80
|
export * from "./components/cell-editor";
|
|
72
81
|
export * from "./components/context-menu";
|
|
82
|
+
export * from "./components/context-menu/embed-context-menu";
|
|
73
83
|
export { StyledFakeTriggerButton } from "./components/context-menu/style";
|
|
74
84
|
export { type ContextMenuWrapperProps } from "./hooks/use-context-menu";
|
|
75
85
|
export * from "./api/scheduler";
|
|
76
86
|
export * from "./themes";
|
|
77
87
|
export * from "./signals/scroll-subscriber";
|
|
78
88
|
export type { PasteSpecialOperation, PasteSpecialOptions, PasteSpecialRequest, PasteSpecialType, } from "./hooks/use-copy-paste-cut";
|
|
89
|
+
export { CHART_CLIPBOARD_MIME, CHART_PASTE_OFFSET_PIXELS, type UseChartClipboardProps, useChartClipboard, } from "./hooks/use-chart-clipboard";
|
|
79
90
|
export * from "./hooks/use-formula-range-helpers";
|
|
91
|
+
export * from "./utils/z-order";
|
|
92
|
+
export * from "./utils/pivot-chart-field-buttons";
|
|
80
93
|
export * from "./components/cell-structured";
|
|
81
94
|
export * from "./components/cell-structured/types";
|
|
82
95
|
export * from "./components/selection/types";
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.tsx"],"names":[],"mappings":"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"}
|