@rowsncolumns/spreadsheet-state 29.0.0 → 29.1.0
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/anchored-objects.d.ts +122 -6
- package/dist/cjs/api/anchored-objects.d.ts.map +1 -1
- package/dist/cjs/api/anchored-objects.js +464 -43
- package/dist/cjs/api/copy-paste.d.ts +1 -2
- package/dist/cjs/api/copy-paste.d.ts.map +1 -1
- package/dist/cjs/api/copy-paste.js +1 -3
- package/dist/cjs/api/filter.d.ts +15 -1
- package/dist/cjs/api/filter.d.ts.map +1 -1
- package/dist/cjs/api/filter.js +32 -2
- package/dist/cjs/api/formula.d.ts +63 -0
- package/dist/cjs/api/formula.d.ts.map +1 -1
- package/dist/cjs/api/formula.js +278 -8
- package/dist/cjs/api/paint-format.d.ts +22 -1
- package/dist/cjs/api/paint-format.d.ts.map +1 -1
- package/dist/cjs/api/paint-format.js +57 -1
- package/dist/cjs/api/sort.d.ts +23 -1
- package/dist/cjs/api/sort.d.ts.map +1 -1
- package/dist/cjs/api/sort.js +52 -6
- package/dist/cjs/api/structural-guards.d.ts +57 -0
- package/dist/cjs/api/structural-guards.d.ts.map +1 -1
- package/dist/cjs/api/structural-guards.js +93 -1
- package/dist/cjs/api/structural-table-refs.d.ts +58 -3
- package/dist/cjs/api/structural-table-refs.d.ts.map +1 -1
- package/dist/cjs/api/structural-table-refs.js +177 -16
- package/dist/cjs/api/table.d.ts +26 -2
- package/dist/cjs/api/table.d.ts.map +1 -1
- package/dist/cjs/api/table.js +93 -60
- package/dist/cjs/api/validation.d.ts.map +1 -1
- package/dist/cjs/api/validation.js +53 -8
- package/dist/cjs/atoms/creating-table.atom.d.ts +22 -0
- package/dist/cjs/atoms/creating-table.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/creating-table.atom.js +4 -0
- package/dist/cjs/atoms/dialog-state.atom.d.ts +8 -0
- package/dist/cjs/atoms/dialog-state.atom.d.ts.map +1 -1
- package/dist/cjs/atoms/dialog-state.atom.js +28 -0
- package/dist/cjs/atoms/editing-slicer.atom.d.ts +9 -0
- package/dist/cjs/atoms/editing-slicer.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/editing-slicer.atom.js +6 -0
- package/dist/cjs/atoms/index.d.ts +4 -0
- package/dist/cjs/atoms/index.d.ts.map +1 -1
- package/dist/cjs/atoms/index.js +4 -0
- package/dist/cjs/atoms/inserting-slicer.atom.d.ts +8 -0
- package/dist/cjs/atoms/inserting-slicer.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/inserting-slicer.atom.js +5 -0
- package/dist/cjs/atoms/resizing-table.atom.d.ts +8 -0
- package/dist/cjs/atoms/resizing-table.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/resizing-table.atom.js +5 -0
- package/dist/cjs/commands.d.ts +129 -2
- package/dist/cjs/commands.d.ts.map +1 -1
- package/dist/cjs/components/editors/embed-editor.d.ts +4 -2
- package/dist/cjs/components/editors/embed-editor.d.ts.map +1 -1
- package/dist/cjs/components/editors/embed-editor.js +38 -9
- package/dist/cjs/components/editors/slicer-editor.d.ts +15 -0
- package/dist/cjs/components/editors/slicer-editor.d.ts.map +1 -0
- package/dist/cjs/components/editors/slicer-editor.js +87 -0
- package/dist/cjs/components/editors/table-editor.d.ts +58 -2
- package/dist/cjs/components/editors/table-editor.d.ts.map +1 -1
- package/dist/cjs/components/editors/table-editor.js +261 -20
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.d.ts.map +1 -1
- package/dist/cjs/components/index.js +1 -0
- package/dist/cjs/constants.d.ts +9 -1
- package/dist/cjs/constants.d.ts.map +1 -1
- package/dist/cjs/constants.js +12 -0
- package/dist/cjs/generated-names.d.ts +13 -3
- package/dist/cjs/generated-names.d.ts.map +1 -1
- package/dist/cjs/generated-names.js +3 -1
- package/dist/cjs/helpers.d.ts +5 -0
- package/dist/cjs/helpers.d.ts.map +1 -1
- package/dist/cjs/helpers.js +10 -1
- package/dist/cjs/hooks/use-on-change-batch.d.ts +19 -2
- package/dist/cjs/hooks/use-on-change-batch.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-change-batch.js +43 -35
- package/dist/cjs/hooks/use-on-change-calculated-column.d.ts +10 -1
- package/dist/cjs/hooks/use-on-change-calculated-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-change-calculated-column.js +17 -5
- package/dist/cjs/hooks/use-on-change-table-column.d.ts +6 -1
- package/dist/cjs/hooks/use-on-change-table-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-change-table-column.js +17 -5
- package/dist/cjs/hooks/use-on-change.d.ts +36 -3
- package/dist/cjs/hooks/use-on-change.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-change.js +218 -136
- package/dist/cjs/hooks/use-on-create-custom-table-style.d.ts +17 -0
- package/dist/cjs/hooks/use-on-create-custom-table-style.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-create-custom-table-style.js +28 -0
- package/dist/cjs/hooks/use-on-create-named-range.d.ts +4 -2
- package/dist/cjs/hooks/use-on-create-named-range.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-create-named-range.js +11 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts +2 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-left.js +3 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts +2 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-up.js +3 -1
- package/dist/cjs/hooks/use-on-delete-column.d.ts +2 -1
- package/dist/cjs/hooks/use-on-delete-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-column.js +3 -1
- package/dist/cjs/hooks/use-on-delete-row.d.ts +2 -1
- package/dist/cjs/hooks/use-on-delete-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-row.js +3 -1
- package/dist/cjs/hooks/use-on-delete-sheet.d.ts +9 -1
- package/dist/cjs/hooks/use-on-delete-sheet.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-sheet.js +17 -1
- package/dist/cjs/hooks/use-on-delete-table-row.d.ts +4 -1
- package/dist/cjs/hooks/use-on-delete-table-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-table-row.js +19 -1
- package/dist/cjs/hooks/use-on-delete.d.ts +5 -2
- package/dist/cjs/hooks/use-on-delete.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete.js +5 -1
- package/dist/cjs/hooks/use-on-embeds.d.ts +7 -4
- package/dist/cjs/hooks/use-on-embeds.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-embeds.js +26 -24
- package/dist/cjs/hooks/use-on-fill.d.ts +17 -2
- package/dist/cjs/hooks/use-on-fill.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-fill.js +29 -15
- package/dist/cjs/hooks/use-on-filter-table.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-filter-table.js +209 -103
- package/dist/cjs/hooks/use-on-import-excel.d.ts +2 -1
- package/dist/cjs/hooks/use-on-import-excel.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-import-excel.js +22 -19
- package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts +2 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-down.js +3 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts +2 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-right.js +3 -1
- package/dist/cjs/hooks/use-on-insert-column.d.ts +2 -1
- package/dist/cjs/hooks/use-on-insert-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-column.js +3 -1
- package/dist/cjs/hooks/use-on-insert-row.d.ts +2 -1
- package/dist/cjs/hooks/use-on-insert-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-row.js +3 -1
- package/dist/cjs/hooks/use-on-insert-table-row.d.ts +5 -2
- package/dist/cjs/hooks/use-on-insert-table-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-table-row.js +19 -1
- package/dist/cjs/hooks/use-on-merge-unmerge-cells.d.ts +3 -2
- package/dist/cjs/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-merge-unmerge-cells.js +14 -1
- package/dist/cjs/hooks/use-on-move-columns.d.ts +3 -1
- package/dist/cjs/hooks/use-on-move-columns.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-columns.js +14 -1
- package/dist/cjs/hooks/use-on-move-rows.d.ts +3 -1
- package/dist/cjs/hooks/use-on-move-rows.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-rows.js +14 -1
- package/dist/cjs/hooks/use-on-move-selection.d.ts +3 -1
- package/dist/cjs/hooks/use-on-move-selection.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-selection.js +88 -25
- package/dist/cjs/hooks/use-on-paste.d.ts +22 -1
- package/dist/cjs/hooks/use-on-paste.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-paste.js +993 -776
- package/dist/cjs/hooks/use-on-remove-duplicates.d.ts +5 -2
- package/dist/cjs/hooks/use-on-remove-duplicates.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-remove-duplicates.js +5 -1
- package/dist/cjs/hooks/use-on-request-create-table.d.ts +13 -0
- package/dist/cjs/hooks/use-on-request-create-table.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-request-create-table.js +44 -0
- package/dist/cjs/hooks/use-on-request-insert-slicer.d.ts +7 -0
- package/dist/cjs/hooks/use-on-request-insert-slicer.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-request-insert-slicer.js +15 -0
- package/dist/cjs/hooks/use-on-request-resize-table.d.ts +7 -0
- package/dist/cjs/hooks/use-on-request-resize-table.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-request-resize-table.js +15 -0
- package/dist/cjs/hooks/use-on-resize-table.d.ts +5 -1
- package/dist/cjs/hooks/use-on-resize-table.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-resize-table.js +110 -33
- package/dist/cjs/hooks/use-on-sort-column.d.ts +28 -3
- package/dist/cjs/hooks/use-on-sort-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-sort-column.js +136 -90
- package/dist/cjs/hooks/use-on-sort-range.d.ts +26 -3
- package/dist/cjs/hooks/use-on-sort-range.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-sort-range.js +113 -67
- package/dist/cjs/hooks/use-on-sort-table.d.ts +18 -1
- package/dist/cjs/hooks/use-on-sort-table.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-sort-table.js +128 -98
- package/dist/cjs/hooks/use-on-subtotal.d.ts +10 -3
- package/dist/cjs/hooks/use-on-subtotal.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-subtotal.js +13 -9
- package/dist/cjs/hooks/use-on-table.d.ts +39 -7
- package/dist/cjs/hooks/use-on-table.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-table.js +257 -49
- package/dist/cjs/hooks/use-on-undo-calculated-column.d.ts +23 -0
- package/dist/cjs/hooks/use-on-undo-calculated-column.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-undo-calculated-column.js +70 -0
- package/dist/cjs/hooks/use-on-undo-table-auto-expansion.d.ts +28 -0
- package/dist/cjs/hooks/use-on-undo-table-auto-expansion.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-undo-table-auto-expansion.js +96 -0
- package/dist/cjs/hooks/use-on-update-named-range.d.ts +4 -2
- package/dist/cjs/hooks/use-on-update-named-range.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-update-named-range.js +13 -1
- package/dist/cjs/hooks/use-sheet-properties.d.ts +1 -0
- package/dist/cjs/hooks/use-sheet-properties.d.ts.map +1 -1
- package/dist/cjs/hooks/use-sheet-properties.js +54 -34
- package/dist/cjs/hooks/use-slicers.d.ts +2 -2
- package/dist/cjs/hooks/use-slicers.d.ts.map +1 -1
- package/dist/cjs/hooks/use-slicers.js +17 -26
- package/dist/cjs/hooks/use-sparkline-groups.d.ts +50 -0
- package/dist/cjs/hooks/use-sparkline-groups.d.ts.map +1 -0
- package/dist/cjs/hooks/use-sparkline-groups.js +192 -0
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts +56 -10
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/cjs/hooks/use-spreadsheet-state.js +322 -100
- package/dist/cjs/hooks/use-structured-reference.d.ts.map +1 -1
- package/dist/cjs/hooks/use-structured-reference.js +17 -0
- package/dist/cjs/hooks/use-undo-redo-actions.d.ts +2 -1
- package/dist/cjs/hooks/use-undo-redo-actions.d.ts.map +1 -1
- package/dist/cjs/hooks/use-undo-redo-actions.js +10 -2
- package/dist/cjs/hooks/use-undo-redo.d.ts +12 -0
- package/dist/cjs/hooks/use-undo-redo.d.ts.map +1 -1
- package/dist/cjs/hooks/use-undo-redo.js +169 -10
- package/dist/cjs/hooks/utils/sort-rows.d.ts.map +1 -1
- package/dist/cjs/hooks/utils/sort-rows.js +4 -3
- package/dist/cjs/index.d.ts +7 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/interface/apply-fill.d.ts +26 -3
- package/dist/cjs/interface/apply-fill.d.ts.map +1 -1
- package/dist/cjs/interface/apply-fill.js +207 -98
- package/dist/cjs/interface/change-batch.d.ts +1 -1
- package/dist/cjs/interface/change-batch.d.ts.map +1 -1
- package/dist/cjs/interface/change-batch.js +112 -15
- package/dist/cjs/interface/change-calculated-column.d.ts +6 -2
- package/dist/cjs/interface/change-calculated-column.d.ts.map +1 -1
- package/dist/cjs/interface/change-calculated-column.js +87 -17
- package/dist/cjs/interface/change-table-column.d.ts +81 -7
- package/dist/cjs/interface/change-table-column.d.ts.map +1 -1
- package/dist/cjs/interface/change-table-column.js +336 -76
- package/dist/cjs/interface/create-table.d.ts +15 -3
- package/dist/cjs/interface/create-table.d.ts.map +1 -1
- package/dist/cjs/interface/create-table.js +100 -25
- package/dist/cjs/interface/delete-cells-shift-left.d.ts +1 -1
- package/dist/cjs/interface/delete-cells-shift-left.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells-shift-left.js +10 -1
- package/dist/cjs/interface/delete-cells-shift-up.d.ts +1 -1
- package/dist/cjs/interface/delete-cells-shift-up.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells-shift-up.js +10 -1
- package/dist/cjs/interface/delete-cells.d.ts +1 -1
- package/dist/cjs/interface/delete-cells.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells.js +81 -25
- package/dist/cjs/interface/delete-column.d.ts +1 -1
- package/dist/cjs/interface/delete-column.d.ts.map +1 -1
- package/dist/cjs/interface/delete-column.js +9 -2
- package/dist/cjs/interface/delete-row.d.ts +1 -1
- package/dist/cjs/interface/delete-row.d.ts.map +1 -1
- package/dist/cjs/interface/delete-row.js +223 -18
- package/dist/cjs/interface/delete-sheet.d.ts +2 -2
- package/dist/cjs/interface/delete-sheet.d.ts.map +1 -1
- package/dist/cjs/interface/delete-sheet.js +118 -1
- package/dist/cjs/interface/delete-table-column.d.ts +1 -1
- package/dist/cjs/interface/delete-table-column.d.ts.map +1 -1
- package/dist/cjs/interface/delete-table-column.js +11 -1
- package/dist/cjs/interface/delete-table-row.d.ts +1 -1
- package/dist/cjs/interface/delete-table-row.d.ts.map +1 -1
- package/dist/cjs/interface/delete-table-row.js +361 -275
- package/dist/cjs/interface/duplicate-sheet.d.ts.map +1 -1
- package/dist/cjs/interface/duplicate-sheet.js +83 -31
- package/dist/cjs/interface/embeds.d.ts +10 -1
- package/dist/cjs/interface/embeds.d.ts.map +1 -1
- package/dist/cjs/interface/embeds.js +120 -6
- package/dist/cjs/interface/insert-cells-shift-down.d.ts +1 -1
- package/dist/cjs/interface/insert-cells-shift-down.d.ts.map +1 -1
- package/dist/cjs/interface/insert-cells-shift-down.js +10 -1
- package/dist/cjs/interface/insert-cells-shift-right.d.ts +1 -1
- package/dist/cjs/interface/insert-cells-shift-right.d.ts.map +1 -1
- package/dist/cjs/interface/insert-cells-shift-right.js +10 -1
- package/dist/cjs/interface/insert-column.d.ts +2 -2
- package/dist/cjs/interface/insert-column.d.ts.map +1 -1
- package/dist/cjs/interface/insert-column.js +67 -38
- package/dist/cjs/interface/insert-row.d.ts +1 -1
- package/dist/cjs/interface/insert-row.d.ts.map +1 -1
- package/dist/cjs/interface/insert-row.js +9 -2
- package/dist/cjs/interface/insert-table-row.d.ts +2 -1
- package/dist/cjs/interface/insert-table-row.d.ts.map +1 -1
- package/dist/cjs/interface/insert-table-row.js +70 -19
- package/dist/cjs/interface/remove-duplicates.d.ts +1 -1
- package/dist/cjs/interface/remove-duplicates.d.ts.map +1 -1
- package/dist/cjs/interface/remove-duplicates.js +46 -6
- package/dist/cjs/interface/remove-table.d.ts +1 -1
- package/dist/cjs/interface/remove-table.d.ts.map +1 -1
- package/dist/cjs/interface/remove-table.js +72 -16
- package/dist/cjs/interface/slicers.d.ts +12 -1
- package/dist/cjs/interface/slicers.d.ts.map +1 -1
- package/dist/cjs/interface/slicers.js +47 -2
- package/dist/cjs/interface/spreadsheet-interface.d.ts +1 -1
- package/dist/cjs/interface/spreadsheet-interface.d.ts.map +1 -1
- package/dist/cjs/interface/spreadsheet-interface.js +64 -1
- package/dist/cjs/interface/table-totalrow.d.ts +13 -1
- package/dist/cjs/interface/table-totalrow.d.ts.map +1 -1
- package/dist/cjs/interface/table-totalrow.js +107 -73
- package/dist/cjs/interface/table-utils.d.ts +59 -6
- package/dist/cjs/interface/table-utils.d.ts.map +1 -1
- package/dist/cjs/interface/table-utils.js +211 -15
- package/dist/cjs/interface/update-table.d.ts +16 -1
- package/dist/cjs/interface/update-table.d.ts.map +1 -1
- package/dist/cjs/interface/update-table.js +190 -44
- package/dist/cjs/sheet-cell.d.ts.map +1 -1
- package/dist/cjs/test-setup.d.ts.map +1 -1
- package/dist/cjs/test-setup.js +6 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/validation-schema/table.schema.d.ts +11 -0
- package/dist/cjs/validation-schema/table.schema.d.ts.map +1 -1
- package/dist/cjs/validation-schema/table.schema.js +20 -3
- package/dist/esm/api/anchored-objects.d.ts +122 -6
- package/dist/esm/api/anchored-objects.d.ts.map +1 -1
- package/dist/esm/api/anchored-objects.js +375 -15
- package/dist/esm/api/copy-paste.d.ts +1 -2
- package/dist/esm/api/copy-paste.d.ts.map +1 -1
- package/dist/esm/api/copy-paste.js +1 -3
- package/dist/esm/api/filter.d.ts +15 -1
- package/dist/esm/api/filter.d.ts.map +1 -1
- package/dist/esm/api/filter.js +28 -0
- package/dist/esm/api/formula.d.ts +63 -0
- package/dist/esm/api/formula.d.ts.map +1 -1
- package/dist/esm/api/formula.js +235 -8
- package/dist/esm/api/paint-format.d.ts +22 -1
- package/dist/esm/api/paint-format.d.ts.map +1 -1
- package/dist/esm/api/paint-format.js +44 -1
- package/dist/esm/api/sort.d.ts +23 -1
- package/dist/esm/api/sort.d.ts.map +1 -1
- package/dist/esm/api/sort.js +45 -6
- package/dist/esm/api/structural-guards.d.ts +57 -0
- package/dist/esm/api/structural-guards.d.ts.map +1 -1
- package/dist/esm/api/structural-guards.js +85 -0
- package/dist/esm/api/structural-table-refs.d.ts +58 -3
- package/dist/esm/api/structural-table-refs.d.ts.map +1 -1
- package/dist/esm/api/structural-table-refs.js +126 -6
- package/dist/esm/api/table.d.ts +26 -2
- package/dist/esm/api/table.d.ts.map +1 -1
- package/dist/esm/api/table.js +70 -48
- package/dist/esm/api/validation.d.ts.map +1 -1
- package/dist/esm/api/validation.js +53 -8
- package/dist/esm/atoms/creating-table.atom.d.ts +22 -0
- package/dist/esm/atoms/creating-table.atom.d.ts.map +1 -0
- package/dist/esm/atoms/creating-table.atom.js +4 -0
- package/dist/esm/atoms/dialog-state.atom.d.ts +8 -0
- package/dist/esm/atoms/dialog-state.atom.d.ts.map +1 -1
- package/dist/esm/atoms/dialog-state.atom.js +12 -0
- package/dist/esm/atoms/editing-slicer.atom.d.ts +9 -0
- package/dist/esm/atoms/editing-slicer.atom.d.ts.map +1 -0
- package/dist/esm/atoms/editing-slicer.atom.js +6 -0
- package/dist/esm/atoms/index.d.ts +4 -0
- package/dist/esm/atoms/index.d.ts.map +1 -1
- package/dist/esm/atoms/index.js +4 -0
- package/dist/esm/atoms/inserting-slicer.atom.d.ts +8 -0
- package/dist/esm/atoms/inserting-slicer.atom.d.ts.map +1 -0
- package/dist/esm/atoms/inserting-slicer.atom.js +5 -0
- package/dist/esm/atoms/resizing-table.atom.d.ts +8 -0
- package/dist/esm/atoms/resizing-table.atom.d.ts.map +1 -0
- package/dist/esm/atoms/resizing-table.atom.js +5 -0
- package/dist/esm/commands.d.ts +129 -2
- package/dist/esm/commands.d.ts.map +1 -1
- package/dist/esm/components/editors/embed-editor.d.ts +4 -2
- package/dist/esm/components/editors/embed-editor.d.ts.map +1 -1
- package/dist/esm/components/editors/embed-editor.js +40 -6
- package/dist/esm/components/editors/slicer-editor.d.ts +15 -0
- package/dist/esm/components/editors/slicer-editor.d.ts.map +1 -0
- package/dist/esm/components/editors/slicer-editor.js +85 -0
- package/dist/esm/components/editors/table-editor.d.ts +58 -2
- package/dist/esm/components/editors/table-editor.d.ts.map +1 -1
- package/dist/esm/components/editors/table-editor.js +243 -19
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/constants.d.ts +9 -1
- package/dist/esm/constants.d.ts.map +1 -1
- package/dist/esm/constants.js +12 -0
- package/dist/esm/generated-names.d.ts +13 -3
- package/dist/esm/generated-names.d.ts.map +1 -1
- package/dist/esm/generated-names.js +3 -1
- package/dist/esm/helpers.d.ts +5 -0
- package/dist/esm/helpers.d.ts.map +1 -1
- package/dist/esm/helpers.js +7 -1
- package/dist/esm/hooks/use-on-change-batch.d.ts +19 -2
- package/dist/esm/hooks/use-on-change-batch.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-change-batch.js +19 -3
- package/dist/esm/hooks/use-on-change-calculated-column.d.ts +10 -1
- package/dist/esm/hooks/use-on-change-calculated-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-change-calculated-column.js +17 -5
- package/dist/esm/hooks/use-on-change-table-column.d.ts +6 -1
- package/dist/esm/hooks/use-on-change-table-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-change-table-column.js +17 -5
- package/dist/esm/hooks/use-on-change.d.ts +36 -3
- package/dist/esm/hooks/use-on-change.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-change.js +214 -124
- package/dist/esm/hooks/use-on-create-custom-table-style.d.ts +17 -0
- package/dist/esm/hooks/use-on-create-custom-table-style.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-create-custom-table-style.js +26 -0
- package/dist/esm/hooks/use-on-create-named-range.d.ts +4 -2
- package/dist/esm/hooks/use-on-create-named-range.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-create-named-range.js +11 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts +2 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-left.js +3 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts +2 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-up.js +3 -1
- package/dist/esm/hooks/use-on-delete-column.d.ts +2 -1
- package/dist/esm/hooks/use-on-delete-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-column.js +3 -1
- package/dist/esm/hooks/use-on-delete-row.d.ts +2 -1
- package/dist/esm/hooks/use-on-delete-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-row.js +3 -1
- package/dist/esm/hooks/use-on-delete-sheet.d.ts +9 -1
- package/dist/esm/hooks/use-on-delete-sheet.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-sheet.js +17 -1
- package/dist/esm/hooks/use-on-delete-table-row.d.ts +4 -1
- package/dist/esm/hooks/use-on-delete-table-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-table-row.js +19 -1
- package/dist/esm/hooks/use-on-delete.d.ts +5 -2
- package/dist/esm/hooks/use-on-delete.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete.js +5 -1
- package/dist/esm/hooks/use-on-embeds.d.ts +7 -4
- package/dist/esm/hooks/use-on-embeds.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-embeds.js +23 -6
- package/dist/esm/hooks/use-on-fill.d.ts +17 -2
- package/dist/esm/hooks/use-on-fill.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-fill.js +27 -1
- package/dist/esm/hooks/use-on-filter-table.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-filter-table.js +97 -26
- package/dist/esm/hooks/use-on-import-excel.d.ts +2 -1
- package/dist/esm/hooks/use-on-import-excel.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-import-excel.js +4 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts +2 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-down.js +3 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts +2 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-right.js +3 -1
- package/dist/esm/hooks/use-on-insert-column.d.ts +2 -1
- package/dist/esm/hooks/use-on-insert-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-column.js +3 -1
- package/dist/esm/hooks/use-on-insert-row.d.ts +2 -1
- package/dist/esm/hooks/use-on-insert-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-row.js +3 -1
- package/dist/esm/hooks/use-on-insert-table-row.d.ts +5 -2
- package/dist/esm/hooks/use-on-insert-table-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-table-row.js +19 -1
- package/dist/esm/hooks/use-on-merge-unmerge-cells.d.ts +3 -2
- package/dist/esm/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-merge-unmerge-cells.js +12 -1
- package/dist/esm/hooks/use-on-move-columns.d.ts +3 -1
- package/dist/esm/hooks/use-on-move-columns.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-columns.js +14 -1
- package/dist/esm/hooks/use-on-move-rows.d.ts +3 -1
- package/dist/esm/hooks/use-on-move-rows.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-rows.js +14 -1
- package/dist/esm/hooks/use-on-move-selection.d.ts +3 -1
- package/dist/esm/hooks/use-on-move-selection.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-selection.js +44 -1
- package/dist/esm/hooks/use-on-paste.d.ts +22 -1
- package/dist/esm/hooks/use-on-paste.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-paste.js +815 -672
- package/dist/esm/hooks/use-on-remove-duplicates.d.ts +5 -2
- package/dist/esm/hooks/use-on-remove-duplicates.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-remove-duplicates.js +5 -1
- package/dist/esm/hooks/use-on-request-create-table.d.ts +13 -0
- package/dist/esm/hooks/use-on-request-create-table.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-request-create-table.js +43 -0
- package/dist/esm/hooks/use-on-request-insert-slicer.d.ts +7 -0
- package/dist/esm/hooks/use-on-request-insert-slicer.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-request-insert-slicer.js +15 -0
- package/dist/esm/hooks/use-on-request-resize-table.d.ts +7 -0
- package/dist/esm/hooks/use-on-request-resize-table.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-request-resize-table.js +15 -0
- package/dist/esm/hooks/use-on-resize-table.d.ts +5 -1
- package/dist/esm/hooks/use-on-resize-table.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-resize-table.js +107 -27
- package/dist/esm/hooks/use-on-sort-column.d.ts +28 -3
- package/dist/esm/hooks/use-on-sort-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-sort-column.js +105 -68
- package/dist/esm/hooks/use-on-sort-range.d.ts +26 -3
- package/dist/esm/hooks/use-on-sort-range.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-sort-range.js +100 -64
- package/dist/esm/hooks/use-on-sort-table.d.ts +18 -1
- package/dist/esm/hooks/use-on-sort-table.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-sort-table.js +107 -86
- package/dist/esm/hooks/use-on-subtotal.d.ts +10 -3
- package/dist/esm/hooks/use-on-subtotal.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-subtotal.js +7 -5
- package/dist/esm/hooks/use-on-table.d.ts +39 -7
- package/dist/esm/hooks/use-on-table.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-table.js +234 -26
- package/dist/esm/hooks/use-on-undo-calculated-column.d.ts +23 -0
- package/dist/esm/hooks/use-on-undo-calculated-column.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-undo-calculated-column.js +62 -0
- package/dist/esm/hooks/use-on-undo-table-auto-expansion.d.ts +28 -0
- package/dist/esm/hooks/use-on-undo-table-auto-expansion.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-undo-table-auto-expansion.js +75 -0
- package/dist/esm/hooks/use-on-update-named-range.d.ts +4 -2
- package/dist/esm/hooks/use-on-update-named-range.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-update-named-range.js +13 -1
- package/dist/esm/hooks/use-sheet-properties.d.ts +1 -0
- package/dist/esm/hooks/use-sheet-properties.d.ts.map +1 -1
- package/dist/esm/hooks/use-sheet-properties.js +38 -19
- package/dist/esm/hooks/use-slicers.d.ts +2 -2
- package/dist/esm/hooks/use-slicers.d.ts.map +1 -1
- package/dist/esm/hooks/use-slicers.js +16 -8
- package/dist/esm/hooks/use-sparkline-groups.d.ts +50 -0
- package/dist/esm/hooks/use-sparkline-groups.d.ts.map +1 -0
- package/dist/esm/hooks/use-sparkline-groups.js +146 -0
- package/dist/esm/hooks/use-spreadsheet-state.d.ts +56 -10
- package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/esm/hooks/use-spreadsheet-state.js +259 -30
- package/dist/esm/hooks/use-structured-reference.d.ts.map +1 -1
- package/dist/esm/hooks/use-structured-reference.js +17 -0
- package/dist/esm/hooks/use-undo-redo-actions.d.ts +2 -1
- package/dist/esm/hooks/use-undo-redo-actions.d.ts.map +1 -1
- package/dist/esm/hooks/use-undo-redo-actions.js +8 -2
- package/dist/esm/hooks/use-undo-redo.d.ts +12 -0
- package/dist/esm/hooks/use-undo-redo.d.ts.map +1 -1
- package/dist/esm/hooks/use-undo-redo.js +158 -7
- package/dist/esm/hooks/utils/sort-rows.d.ts.map +1 -1
- package/dist/esm/hooks/utils/sort-rows.js +4 -3
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +8 -0
- package/dist/esm/interface/apply-fill.d.ts +26 -3
- package/dist/esm/interface/apply-fill.d.ts.map +1 -1
- package/dist/esm/interface/apply-fill.js +188 -88
- package/dist/esm/interface/change-batch.d.ts +1 -1
- package/dist/esm/interface/change-batch.d.ts.map +1 -1
- package/dist/esm/interface/change-batch.js +89 -8
- package/dist/esm/interface/change-calculated-column.d.ts +6 -2
- package/dist/esm/interface/change-calculated-column.d.ts.map +1 -1
- package/dist/esm/interface/change-calculated-column.js +81 -16
- package/dist/esm/interface/change-table-column.d.ts +81 -7
- package/dist/esm/interface/change-table-column.d.ts.map +1 -1
- package/dist/esm/interface/change-table-column.js +295 -67
- package/dist/esm/interface/create-table.d.ts +15 -3
- package/dist/esm/interface/create-table.d.ts.map +1 -1
- package/dist/esm/interface/create-table.js +103 -27
- package/dist/esm/interface/delete-cells-shift-left.d.ts +1 -1
- package/dist/esm/interface/delete-cells-shift-left.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells-shift-left.js +10 -1
- package/dist/esm/interface/delete-cells-shift-up.d.ts +1 -1
- package/dist/esm/interface/delete-cells-shift-up.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells-shift-up.js +10 -1
- package/dist/esm/interface/delete-cells.d.ts +1 -1
- package/dist/esm/interface/delete-cells.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells.js +47 -14
- package/dist/esm/interface/delete-column.d.ts +1 -1
- package/dist/esm/interface/delete-column.d.ts.map +1 -1
- package/dist/esm/interface/delete-column.js +9 -2
- package/dist/esm/interface/delete-row.d.ts +1 -1
- package/dist/esm/interface/delete-row.d.ts.map +1 -1
- package/dist/esm/interface/delete-row.js +173 -15
- package/dist/esm/interface/delete-sheet.d.ts +2 -2
- package/dist/esm/interface/delete-sheet.d.ts.map +1 -1
- package/dist/esm/interface/delete-sheet.js +113 -1
- package/dist/esm/interface/delete-table-column.d.ts +1 -1
- package/dist/esm/interface/delete-table-column.d.ts.map +1 -1
- package/dist/esm/interface/delete-table-column.js +11 -1
- package/dist/esm/interface/delete-table-row.d.ts +1 -1
- package/dist/esm/interface/delete-table-row.d.ts.map +1 -1
- package/dist/esm/interface/delete-table-row.js +312 -232
- package/dist/esm/interface/duplicate-sheet.d.ts.map +1 -1
- package/dist/esm/interface/duplicate-sheet.js +73 -26
- package/dist/esm/interface/embeds.d.ts +10 -1
- package/dist/esm/interface/embeds.d.ts.map +1 -1
- package/dist/esm/interface/embeds.js +84 -5
- package/dist/esm/interface/insert-cells-shift-down.d.ts +1 -1
- package/dist/esm/interface/insert-cells-shift-down.d.ts.map +1 -1
- package/dist/esm/interface/insert-cells-shift-down.js +10 -1
- package/dist/esm/interface/insert-cells-shift-right.d.ts +1 -1
- package/dist/esm/interface/insert-cells-shift-right.d.ts.map +1 -1
- package/dist/esm/interface/insert-cells-shift-right.js +10 -1
- package/dist/esm/interface/insert-column.d.ts +2 -2
- package/dist/esm/interface/insert-column.d.ts.map +1 -1
- package/dist/esm/interface/insert-column.js +48 -23
- package/dist/esm/interface/insert-row.d.ts +1 -1
- package/dist/esm/interface/insert-row.d.ts.map +1 -1
- package/dist/esm/interface/insert-row.js +9 -2
- package/dist/esm/interface/insert-table-row.d.ts +2 -1
- package/dist/esm/interface/insert-table-row.d.ts.map +1 -1
- package/dist/esm/interface/insert-table-row.js +67 -12
- package/dist/esm/interface/remove-duplicates.d.ts +1 -1
- package/dist/esm/interface/remove-duplicates.d.ts.map +1 -1
- package/dist/esm/interface/remove-duplicates.js +41 -6
- package/dist/esm/interface/remove-table.d.ts +1 -1
- package/dist/esm/interface/remove-table.d.ts.map +1 -1
- package/dist/esm/interface/remove-table.js +58 -10
- package/dist/esm/interface/slicers.d.ts +12 -1
- package/dist/esm/interface/slicers.d.ts.map +1 -1
- package/dist/esm/interface/slicers.js +44 -2
- package/dist/esm/interface/spreadsheet-interface.d.ts +1 -1
- package/dist/esm/interface/spreadsheet-interface.d.ts.map +1 -1
- package/dist/esm/interface/spreadsheet-interface.js +73 -1
- package/dist/esm/interface/table-totalrow.d.ts +13 -1
- package/dist/esm/interface/table-totalrow.d.ts.map +1 -1
- package/dist/esm/interface/table-totalrow.js +98 -68
- package/dist/esm/interface/table-utils.d.ts +59 -6
- package/dist/esm/interface/table-utils.d.ts.map +1 -1
- package/dist/esm/interface/table-utils.js +155 -14
- package/dist/esm/interface/update-table.d.ts +16 -1
- package/dist/esm/interface/update-table.d.ts.map +1 -1
- package/dist/esm/interface/update-table.js +203 -42
- package/dist/esm/sheet-cell.d.ts.map +1 -1
- package/dist/esm/test-setup.d.ts.map +1 -1
- package/dist/esm/test-setup.js +6 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/validation-schema/table.schema.d.ts +11 -0
- package/dist/esm/validation-schema/table.schema.d.ts.map +1 -1
- package/dist/esm/validation-schema/table.schema.js +15 -2
- package/package.json +19 -11
|
@@ -6,13 +6,18 @@ import { getBandedCells } from "@rowsncolumns/spreadsheet";
|
|
|
6
6
|
import { defaultSpreadsheetTheme, useCallbackRef, useSpreadsheetTheme, } from "@rowsncolumns/spreadsheet";
|
|
7
7
|
import { findMatchingBandProperty, getCurrentLocale, getFormulaLocale, isNil, setDefaultEnableAtFormula, uuid, } from "@rowsncolumns/utils";
|
|
8
8
|
import { enableMapSet, enablePatches, setUseStrictShallowCopy } from "immer";
|
|
9
|
-
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
9
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
10
10
|
import { getAutoFillValues as defaultGetAutoFillValues } from "../api/fill";
|
|
11
|
+
import { planInsertCutCells } from "../api/insert-cut-cells";
|
|
12
|
+
import { getMoveRangeRefusal } from "../api/structural-guards";
|
|
13
|
+
import { findPartiallyCoveredMerge, MERGED_CELL_MOVE_ERROR } from "../api/merges";
|
|
14
|
+
import { useShowError } from "../atoms/error-state.atom";
|
|
11
15
|
import { getGeneratedSheetName } from "../generated-names";
|
|
12
16
|
import { SheetCell } from "../sheet-cell";
|
|
13
17
|
import { useCalculation } from "./use-calculation";
|
|
14
18
|
import { useCalculationInitialize } from "./use-calculation-initialize";
|
|
15
19
|
import { useCalculationWorker } from "./use-calculation-worker";
|
|
20
|
+
import { SHEET_PROTECTION_ERROR_TITLE, useCanEditCellRange, useCanPerformSheetAction, } from "./use-can-edit-cellrange";
|
|
16
21
|
import { useCellXfsRegistry } from "./use-cellxfs-registry";
|
|
17
22
|
import { useCitations } from "./use-citations";
|
|
18
23
|
import { useComments } from "./use-comments";
|
|
@@ -31,6 +36,7 @@ import { useOnChangeBatchStream } from "./use-on-change-batch-stream";
|
|
|
31
36
|
import { useOnChangeDecimals } from "./use-on-change-decimals";
|
|
32
37
|
import { useOnChangeFormatting } from "./use-on-change-formatting";
|
|
33
38
|
import { useOnChangeSheetTabcolor } from "./use-on-change-sheet-tabcolor";
|
|
39
|
+
import { useOnChangeTableColumn } from "./use-on-change-table-column";
|
|
34
40
|
import { useOnChangeTheme } from "./use-on-change-theme";
|
|
35
41
|
import { useOnClearFormatting } from "./use-on-clear-formatting";
|
|
36
42
|
import { useOnCollapseColumnGroup } from "./use-on-collapse-column-group";
|
|
@@ -49,6 +55,7 @@ import { useOnDeleteTableRow } from "./use-on-delete-table-row";
|
|
|
49
55
|
import { useOnDragnDrop } from "./use-on-drag-n-drop";
|
|
50
56
|
import { useOnDuplicateSheet } from "./use-on-duplicate-sheet";
|
|
51
57
|
import { useOnEmbeds } from "./use-on-embeds";
|
|
58
|
+
import { useSparklineGroups } from "./use-sparkline-groups";
|
|
52
59
|
import { useOnExpandColumnGroup } from "./use-on-expand-column-group";
|
|
53
60
|
import { useOnExpandRowGroup } from "./use-on-expand-row-group";
|
|
54
61
|
import { useOnFill } from "./use-on-fill";
|
|
@@ -83,22 +90,22 @@ import { useOnMergeUnMergeCells } from "./use-on-merge-unmerge-cells";
|
|
|
83
90
|
import { useOnMoveColumns } from "./use-on-move-columns";
|
|
84
91
|
import { useOnMoveRows } from "./use-on-move-rows";
|
|
85
92
|
import { useOnMoveSelection } from "./use-on-move-selection";
|
|
86
|
-
import { planInsertCutCells } from "../api/insert-cut-cells";
|
|
87
|
-
import { findPartiallyCoveredMerge, MERGED_CELL_MOVE_ERROR } from "../api/merges";
|
|
88
|
-
import { useShowError } from "../atoms/error-state.atom";
|
|
89
|
-
import { SHEET_PROTECTION_ERROR_TITLE, useCanEditCellRange, useCanPerformSheetAction, } from "./use-can-edit-cellrange";
|
|
90
93
|
import { useOnMoveSheet } from "./use-on-move-sheet";
|
|
91
94
|
import { useOnPaste } from "./use-on-paste";
|
|
95
|
+
import { useOnCreateCustomTableStyle } from "./use-on-create-custom-table-style";
|
|
92
96
|
import { useOnProtectRange } from "./use-on-protect-range";
|
|
93
97
|
import { useOnProtectSheet } from "./use-on-protect-sheet";
|
|
94
98
|
import { useOnRemoveDuplicates } from "./use-on-remove-duplicates";
|
|
95
99
|
import { useOnRenameSheet } from "./use-on-rename-sheet";
|
|
96
100
|
import { useOnRequestCalculateWrapper } from "./use-on-request-calculate-wrapper";
|
|
97
101
|
import { useOnRequestConditionalFormat } from "./use-on-request-conditional-format";
|
|
102
|
+
import { useOnRequestCreateTable } from "./use-on-request-create-table";
|
|
98
103
|
import { useOnRequestDataValidation } from "./use-on-request-data-validation";
|
|
99
104
|
import { useOnRequestDefineNamedRange } from "./use-on-request-define-named-range";
|
|
100
105
|
import { useOnRequestDeleteSheet } from "./use-on-request-delete-sheet";
|
|
101
106
|
import { useOnRequestEditTable } from "./use-on-request-edit-table";
|
|
107
|
+
import { useOnRequestInsertSlicer } from "./use-on-request-insert-slicer";
|
|
108
|
+
import { useOnRequestResizeTable } from "./use-on-request-resize-table";
|
|
102
109
|
import { useOnRequestFormatCells } from "./use-on-request-format-cells";
|
|
103
110
|
import { useOnRequestInsertImage } from "./use-on-request-insert-image";
|
|
104
111
|
import { useOnRequestInsertLink } from "./use-on-request-insert-link";
|
|
@@ -106,6 +113,9 @@ import { useOnRequestResize } from "./use-on-request-resize";
|
|
|
106
113
|
import { useOnRequestUpdateNamedRange } from "./use-on-request-update-named-range";
|
|
107
114
|
import { useOnResize } from "./use-on-resize";
|
|
108
115
|
import { useOnResizeTable } from "./use-on-resize-table";
|
|
116
|
+
import { useOnUndoTableAutoExpansion } from "./use-on-undo-table-auto-expansion";
|
|
117
|
+
import { useOnUndoCalculatedColumn } from "./use-on-undo-calculated-column";
|
|
118
|
+
import { useOnChangeCalculatedColumn } from "./use-on-change-calculated-column";
|
|
109
119
|
import { useOnSetOutlineDepth } from "./use-on-set-outline-depth";
|
|
110
120
|
import { useOnShowColumn } from "./use-on-show-column";
|
|
111
121
|
import { useOnShowRow } from "./use-on-show-row";
|
|
@@ -158,13 +168,20 @@ export const deriveBuiltInTableBanding = (table) => {
|
|
|
158
168
|
return undefined;
|
|
159
169
|
}
|
|
160
170
|
if (!showRowStripes && banded.rowProperties) {
|
|
161
|
-
const { headerColor, headerBorder, totalRowColor, totalRowBorder } = banded.rowProperties;
|
|
162
|
-
if (headerColor ||
|
|
171
|
+
const { headerColor, headerBorder, totalRowColor, totalRowBorder, firstColumnColor, lastColumnColor, } = banded.rowProperties;
|
|
172
|
+
if (headerColor ||
|
|
173
|
+
headerBorder ||
|
|
174
|
+
totalRowColor ||
|
|
175
|
+
totalRowBorder ||
|
|
176
|
+
firstColumnColor ||
|
|
177
|
+
lastColumnColor) {
|
|
163
178
|
banded.rowProperties = {
|
|
164
179
|
headerColor,
|
|
165
180
|
headerBorder,
|
|
166
181
|
totalRowColor,
|
|
167
182
|
totalRowBorder,
|
|
183
|
+
firstColumnColor,
|
|
184
|
+
lastColumnColor,
|
|
168
185
|
};
|
|
169
186
|
}
|
|
170
187
|
else {
|
|
@@ -179,6 +196,15 @@ export const deriveBuiltInTableBanding = (table) => {
|
|
|
179
196
|
}
|
|
180
197
|
return banded;
|
|
181
198
|
};
|
|
199
|
+
/**
|
|
200
|
+
* `table` as the gallery's hovered style would leave it: the preview's theme and banding replace
|
|
201
|
+
* the table's own (a preview with neither paints it unstyled — the "None" style).
|
|
202
|
+
*/
|
|
203
|
+
export const previewTableStyle = (table, preview) => ({
|
|
204
|
+
...table,
|
|
205
|
+
theme: preview.theme ?? undefined,
|
|
206
|
+
bandedRange: preview.bandedRange ?? undefined,
|
|
207
|
+
});
|
|
182
208
|
/**
|
|
183
209
|
* Use Spreadsheet Hook
|
|
184
210
|
* @param param0
|
|
@@ -210,7 +236,7 @@ onChangeHistory,
|
|
|
210
236
|
// Semantic command stream
|
|
211
237
|
onCommand: onCommandProp,
|
|
212
238
|
// Theme
|
|
213
|
-
onChangeTheme, namedCellStyles, onChangeNamedCellStyles,
|
|
239
|
+
onChangeTheme, namedCellStyles, onChangeNamedCellStyles, customTableStyles, onChangeCustomTableStyles,
|
|
214
240
|
// error handler
|
|
215
241
|
onError,
|
|
216
242
|
// Get auto fill values
|
|
@@ -227,7 +253,7 @@ colorMode,
|
|
|
227
253
|
// on-demand
|
|
228
254
|
fonts,
|
|
229
255
|
// Drag and drop
|
|
230
|
-
enableDragnDrop = true,
|
|
256
|
+
enableDragnDrop = true, autoExpandTables = true, autoCalculatedColumns = true,
|
|
231
257
|
// Enable undo/redo functionality
|
|
232
258
|
enabledUndoRedo = true,
|
|
233
259
|
// Current locale
|
|
@@ -372,17 +398,28 @@ sanitizeHtml, }) => {
|
|
|
372
398
|
* built-in table styles persist only the name, and the grid paints tables
|
|
373
399
|
* exclusively from bandedRange, so without the fallback they render unstyled.
|
|
374
400
|
*/
|
|
401
|
+
const [tableStylePreview, setTableStylePreview] = useState(null);
|
|
402
|
+
// The gallery's hovered style paints over the table's own while the pointer rests on the
|
|
403
|
+
// swatch — UI state only, never written to the table or its history.
|
|
404
|
+
const onPreviewTableStyle = useCallback((preview) => setTableStylePreview(preview), []);
|
|
375
405
|
const bandedRanges = useMemo(() => {
|
|
376
406
|
return tables
|
|
377
407
|
?.filter(({ sheetId }) => sheetId === activeSheetId)
|
|
378
408
|
.map((table) => {
|
|
379
|
-
const
|
|
380
|
-
|
|
409
|
+
const previewed = tableStylePreview?.sheetId === table.sheetId &&
|
|
410
|
+
tableStylePreview.tableId === table.id
|
|
411
|
+
? previewTableStyle(table, tableStylePreview)
|
|
412
|
+
: table;
|
|
413
|
+
const banded = previewed.bandedRange ??
|
|
414
|
+
deriveBuiltInTableBanding(previewed);
|
|
381
415
|
if (isNil(banded)) {
|
|
382
416
|
return undefined;
|
|
383
417
|
}
|
|
384
418
|
return {
|
|
385
|
-
bandedRangeId: `${table.id}-${
|
|
419
|
+
bandedRangeId: `${table.id}-${previewed.theme}`,
|
|
420
|
+
showFirstColumn: table.showFirstColumn,
|
|
421
|
+
showLastColumn: table.showLastColumn,
|
|
422
|
+
totalRow: table.totalRow ?? false,
|
|
386
423
|
// Add sheet Id to range
|
|
387
424
|
range: {
|
|
388
425
|
...table.range,
|
|
@@ -392,7 +429,7 @@ sanitizeHtml, }) => {
|
|
|
392
429
|
};
|
|
393
430
|
})
|
|
394
431
|
.filter((band) => !isNil(band));
|
|
395
|
-
}, [tables, activeSheetId]);
|
|
432
|
+
}, [tables, activeSheetId, tableStylePreview]);
|
|
396
433
|
const getCellDimensions = useGetCellDimensions();
|
|
397
434
|
const getCurrentRowHeight = useGetRowHeight();
|
|
398
435
|
const getContentfulRangeAroundCell = useGetContentfulRangeAroundCell();
|
|
@@ -404,7 +441,7 @@ sanitizeHtml, }) => {
|
|
|
404
441
|
const getPrecedentsRef = useRef(undefined);
|
|
405
442
|
const getPrecedentsForward = useCallback((cell) => getPrecedentsRef.current?.(cell) ?? [], []);
|
|
406
443
|
// Sheet properties
|
|
407
|
-
const { getDataRowCount, getNonEmptyRowCount, getNonEmptyColumnCount, getDataColumnCount, getSheetId, getSheetName, getSheetCount, getSheetIndex, getSheetNames, getSheetProperties, getCellData, getMentionsFromCell, getTextFormatRuns, getEffectiveValue, getEffectiveValueForCalculation, getUserEnteredValue, getUserEnteredValueStable, getConditionalFormatFormula, getDataValidationFormula, getDataValidation, getDefaultHorizontalAlignment, getDataValidationById, getActiveSheetId, getUserEnteredFormat, getEffectiveFormat, getFormattedValue, getFormulaValue, getSeriesValuesFromRange, getFormattingFromRange, getUserEnteredValuesFromRange, getFormulasFromRange, getDomainValuesFromRange, getColumnarDataFromRange, isColumnHidden, isHiddenRow, isHiddenByFilterRow, getRowOutlineLevel, getSheetRowCount, getSheetColumnCount, getColumnWidth, getRowHeight, getEffectiveExtendedValue, getUserEnteredExtendedValue, getFrozenRowCount, getErrorValue, } = useSheetProperties({
|
|
444
|
+
const { getDataRowCount, getNonEmptyRowCount, getNonEmptyColumnCount, getDataColumnCount, getSheetId, getSheetName, getSheetCount, getSheetIndex, getSheetNames, getSheetProperties, getCellData, getMentionsFromCell, getTextFormatRuns, getEffectiveValue, getEffectiveValueForCalculation, getUserEnteredValue, getUserEnteredValueStable, getConditionalFormatFormula, getDataValidationFormula, getDataValidation, getDefaultHorizontalAlignment, getDataValidationById, getActiveSheetId, getUserEnteredFormat, getEffectiveFormat, getFormattedValue, getFormulaValue, getSeriesValuesFromRange, getFormattingFromRange, getUserEnteredValuesFromRange, getFormulasFromRange, getDomainValuesFromRange, getColumnarDataFromRange, isColumnHidden, isHiddenRow, isHiddenByFilterRow, isManuallyHiddenRow, getRowOutlineLevel, getSheetRowCount, getSheetColumnCount, getColumnWidth, getRowHeight, getEffectiveExtendedValue, getUserEnteredExtendedValue, getFrozenRowCount, getErrorValue, } = useSheetProperties({
|
|
408
445
|
getEffectiveStructuredValue,
|
|
409
446
|
conditionalFormats,
|
|
410
447
|
sheetData,
|
|
@@ -600,6 +637,7 @@ sanitizeHtml, }) => {
|
|
|
600
637
|
onChangeConditionalFormats,
|
|
601
638
|
onChangeDataValidations,
|
|
602
639
|
onChangeProtectedRanges,
|
|
640
|
+
onChangeCustomTableStyles,
|
|
603
641
|
onChangePivotTables,
|
|
604
642
|
onChangeCellXfs,
|
|
605
643
|
onChangeTheme,
|
|
@@ -610,7 +648,7 @@ sanitizeHtml, }) => {
|
|
|
610
648
|
clearRangeCache,
|
|
611
649
|
});
|
|
612
650
|
// Undo manager
|
|
613
|
-
const { createHistory, createHistoryWithoutPointer, onRedo, onUndo, canUndo, canRedo, onClearHistory, } = useUndoRedo({
|
|
651
|
+
const { createHistory, createHistoryWithoutPointer, batchHistory, onRedo, onUndo, canUndo, canRedo, onClearHistory, } = useUndoRedo({
|
|
614
652
|
isEnabled: enabledUndoRedo,
|
|
615
653
|
onUndoAction,
|
|
616
654
|
onRedoAction,
|
|
@@ -647,6 +685,14 @@ sanitizeHtml, }) => {
|
|
|
647
685
|
createHistory,
|
|
648
686
|
onChangeSheetData,
|
|
649
687
|
onChangeSheets,
|
|
688
|
+
onChangeCharts,
|
|
689
|
+
onChangeEmbeds,
|
|
690
|
+
onChangeSlicers,
|
|
691
|
+
onChangeTables,
|
|
692
|
+
onChangeConditionalFormats,
|
|
693
|
+
onChangeDataValidations,
|
|
694
|
+
onChangeNamedRanges,
|
|
695
|
+
onChangeProtectedRanges,
|
|
650
696
|
onChangeActiveSheet,
|
|
651
697
|
enqueueGraphOperation,
|
|
652
698
|
onCommand,
|
|
@@ -820,16 +866,22 @@ sanitizeHtml, }) => {
|
|
|
820
866
|
isMergedCell,
|
|
821
867
|
onChangeSheetData,
|
|
822
868
|
onChangeTables,
|
|
869
|
+
onChangeCharts,
|
|
823
870
|
onChangeSheets,
|
|
824
871
|
enqueueCalculation,
|
|
825
872
|
enqueueGraphOperation,
|
|
826
873
|
createHistory,
|
|
874
|
+
batchHistory,
|
|
875
|
+
autoExpandTables,
|
|
876
|
+
autoCalculatedColumns,
|
|
827
877
|
getDependents,
|
|
878
|
+
getGraphNodes,
|
|
828
879
|
getUserEnteredValue: getUserEnteredValueStable,
|
|
829
880
|
getTextFormatRuns,
|
|
830
881
|
getSheetName,
|
|
831
882
|
onCommand,
|
|
832
883
|
generatedNames,
|
|
884
|
+
onRequestCalculate: onRequestCalculateWithoutFormatting,
|
|
833
885
|
});
|
|
834
886
|
// onChange batch
|
|
835
887
|
const onChangeBatch = useOnChangeBatch({
|
|
@@ -845,12 +897,16 @@ sanitizeHtml, }) => {
|
|
|
845
897
|
onChangeSheetData,
|
|
846
898
|
onChangeSheets,
|
|
847
899
|
onChangeTables,
|
|
900
|
+
onChangeCharts,
|
|
848
901
|
getFormattedValue,
|
|
849
902
|
getCellDimensions,
|
|
850
903
|
getRowHeight: getCurrentRowHeight,
|
|
851
904
|
isMergedCell,
|
|
852
905
|
tables,
|
|
853
906
|
createHistory,
|
|
907
|
+
batchHistory,
|
|
908
|
+
autoExpandTables,
|
|
909
|
+
autoCalculatedColumns,
|
|
854
910
|
onChangeCitations,
|
|
855
911
|
onCommand,
|
|
856
912
|
generatedNames,
|
|
@@ -874,8 +930,17 @@ sanitizeHtml, }) => {
|
|
|
874
930
|
onChangeActiveCell,
|
|
875
931
|
isArrayFormula,
|
|
876
932
|
getRowHeight: getCurrentRowHeight,
|
|
933
|
+
tables,
|
|
934
|
+
generatedNames,
|
|
877
935
|
onCommand,
|
|
878
936
|
});
|
|
937
|
+
// Excel sparkline groups (runs of =SPARKLINE() cells sharing one option set)
|
|
938
|
+
const { getSparklineGroup, getSparklineAt, onCreateSparklineGroup, onUpdateSparklineGroup, onDeleteSparklineGroup, onClearSparklines, onGroupSparklines, } = useSparklineGroups({
|
|
939
|
+
onChangeBatch,
|
|
940
|
+
onDelete,
|
|
941
|
+
batchHistory,
|
|
942
|
+
getUserEnteredValue: getUserEnteredValueStable,
|
|
943
|
+
});
|
|
879
944
|
// Formatting change
|
|
880
945
|
const { onChangeFormatting, onChangeBorder, onRepeatFormatting } = useOnChangeFormatting({
|
|
881
946
|
locale,
|
|
@@ -895,6 +960,7 @@ sanitizeHtml, }) => {
|
|
|
895
960
|
const { onMergeCells, onUnMergeCells } = useOnMergeUnMergeCells({
|
|
896
961
|
locale,
|
|
897
962
|
merges,
|
|
963
|
+
tables,
|
|
898
964
|
cellXfsRegistry,
|
|
899
965
|
sharedStringRegistry,
|
|
900
966
|
onChangeSelections,
|
|
@@ -919,6 +985,9 @@ sanitizeHtml, }) => {
|
|
|
919
985
|
continue;
|
|
920
986
|
bands.push({
|
|
921
987
|
bandedRangeId: `${table.id}-${table.theme}`,
|
|
988
|
+
showFirstColumn: table.showFirstColumn,
|
|
989
|
+
showLastColumn: table.showLastColumn,
|
|
990
|
+
totalRow: table.totalRow ?? false,
|
|
922
991
|
range: { ...table.range, sheetId },
|
|
923
992
|
...banded,
|
|
924
993
|
});
|
|
@@ -1014,6 +1083,21 @@ sanitizeHtml, }) => {
|
|
|
1014
1083
|
// `onMergeCells` clears the selection; the filled range stays selected like Excel.
|
|
1015
1084
|
onChangeSelections?.(sheetId, [{ range: selectRange }]);
|
|
1016
1085
|
}, [onUnMergeCells, onMergeCells, onChangeSelections]);
|
|
1086
|
+
// The expansion the fill handle triggers when dragged past a table's edge (T-11).
|
|
1087
|
+
const onFillChangeTableColumn = useOnChangeTableColumn({
|
|
1088
|
+
locale,
|
|
1089
|
+
cellXfsRegistry,
|
|
1090
|
+
sharedStringRegistry,
|
|
1091
|
+
onChangeSheetData,
|
|
1092
|
+
onChangeTables,
|
|
1093
|
+
getDependents,
|
|
1094
|
+
enqueueCalculation: enqueueGraphOperation,
|
|
1095
|
+
enqueueGraphOperation,
|
|
1096
|
+
createHistory,
|
|
1097
|
+
onCommand,
|
|
1098
|
+
generatedNames,
|
|
1099
|
+
tables,
|
|
1100
|
+
});
|
|
1017
1101
|
const onFill = useOnFill({
|
|
1018
1102
|
locale,
|
|
1019
1103
|
cellXfsRegistry,
|
|
@@ -1032,6 +1116,11 @@ sanitizeHtml, }) => {
|
|
|
1032
1116
|
onCommand,
|
|
1033
1117
|
getMerges: getPaintMerges,
|
|
1034
1118
|
onFillMerges,
|
|
1119
|
+
tables,
|
|
1120
|
+
getUserEnteredValue: getUserEnteredValueStable,
|
|
1121
|
+
onChangeTableColumn: onFillChangeTableColumn,
|
|
1122
|
+
batchHistory,
|
|
1123
|
+
autoExpandTables,
|
|
1035
1124
|
});
|
|
1036
1125
|
// Delete row
|
|
1037
1126
|
const onDeleteRow = useOnDeleteRow({
|
|
@@ -1060,6 +1149,7 @@ sanitizeHtml, }) => {
|
|
|
1060
1149
|
onChangePivotTables,
|
|
1061
1150
|
onChangeNamedRanges,
|
|
1062
1151
|
onChangeEmbeds,
|
|
1152
|
+
onChangeSlicers,
|
|
1063
1153
|
onChangeCharts,
|
|
1064
1154
|
onChangeProtectedRanges,
|
|
1065
1155
|
getSheetName,
|
|
@@ -1094,6 +1184,7 @@ sanitizeHtml, }) => {
|
|
|
1094
1184
|
onChangePivotTables,
|
|
1095
1185
|
onChangeNamedRanges,
|
|
1096
1186
|
onChangeEmbeds,
|
|
1187
|
+
onChangeSlicers,
|
|
1097
1188
|
onChangeCharts,
|
|
1098
1189
|
onChangeProtectedRanges,
|
|
1099
1190
|
getSheetName,
|
|
@@ -1120,6 +1211,7 @@ sanitizeHtml, }) => {
|
|
|
1120
1211
|
onChangeSheetData,
|
|
1121
1212
|
onChangeTables,
|
|
1122
1213
|
onChangeCitations,
|
|
1214
|
+
onChangeCharts,
|
|
1123
1215
|
onCommand,
|
|
1124
1216
|
sheetData,
|
|
1125
1217
|
sheets,
|
|
@@ -1144,6 +1236,7 @@ sanitizeHtml, }) => {
|
|
|
1144
1236
|
onChangeSheetData,
|
|
1145
1237
|
onChangeTables,
|
|
1146
1238
|
onChangeCitations,
|
|
1239
|
+
onChangeCharts,
|
|
1147
1240
|
onCommand,
|
|
1148
1241
|
sheetData,
|
|
1149
1242
|
sheets,
|
|
@@ -1168,6 +1261,7 @@ sanitizeHtml, }) => {
|
|
|
1168
1261
|
onChangeSheetData,
|
|
1169
1262
|
onChangeTables,
|
|
1170
1263
|
onChangeCitations,
|
|
1264
|
+
onChangeCharts,
|
|
1171
1265
|
onCommand,
|
|
1172
1266
|
sheetData,
|
|
1173
1267
|
sheets,
|
|
@@ -1192,6 +1286,7 @@ sanitizeHtml, }) => {
|
|
|
1192
1286
|
onChangeSheetData,
|
|
1193
1287
|
onChangeTables,
|
|
1194
1288
|
onChangeCitations,
|
|
1289
|
+
onChangeCharts,
|
|
1195
1290
|
onCommand,
|
|
1196
1291
|
sheetData,
|
|
1197
1292
|
sheets,
|
|
@@ -1222,6 +1317,7 @@ sanitizeHtml, }) => {
|
|
|
1222
1317
|
onChangePivotTables,
|
|
1223
1318
|
onChangeNamedRanges,
|
|
1224
1319
|
onChangeEmbeds,
|
|
1320
|
+
onChangeSlicers,
|
|
1225
1321
|
onChangeCharts,
|
|
1226
1322
|
onChangeProtectedRanges,
|
|
1227
1323
|
onChangeTables,
|
|
@@ -1254,6 +1350,7 @@ sanitizeHtml, }) => {
|
|
|
1254
1350
|
onChangePivotTables,
|
|
1255
1351
|
onChangeNamedRanges,
|
|
1256
1352
|
onChangeEmbeds,
|
|
1353
|
+
onChangeSlicers,
|
|
1257
1354
|
onChangeCharts,
|
|
1258
1355
|
onChangeProtectedRanges,
|
|
1259
1356
|
getActiveCell,
|
|
@@ -1277,6 +1374,7 @@ sanitizeHtml, }) => {
|
|
|
1277
1374
|
onChangeSheetData,
|
|
1278
1375
|
onChangeConditionalFormats,
|
|
1279
1376
|
onChangeDataValidations,
|
|
1377
|
+
onChangeCharts,
|
|
1280
1378
|
getDependents,
|
|
1281
1379
|
getDataRowCount,
|
|
1282
1380
|
onCommand,
|
|
@@ -1295,6 +1393,7 @@ sanitizeHtml, }) => {
|
|
|
1295
1393
|
onChangeSheetData,
|
|
1296
1394
|
onChangeTables,
|
|
1297
1395
|
onChangeNamedRanges,
|
|
1396
|
+
onChangeCharts,
|
|
1298
1397
|
onChangeConditionalFormats,
|
|
1299
1398
|
onChangeDataValidations,
|
|
1300
1399
|
getDependents,
|
|
@@ -1314,6 +1413,7 @@ sanitizeHtml, }) => {
|
|
|
1314
1413
|
onChangeSheets,
|
|
1315
1414
|
onChangeTables,
|
|
1316
1415
|
onChangeNamedRanges,
|
|
1416
|
+
onChangeCharts,
|
|
1317
1417
|
onChangeDataValidations,
|
|
1318
1418
|
onChangeConditionalFormats,
|
|
1319
1419
|
onChangePivotTables,
|
|
@@ -1331,7 +1431,7 @@ sanitizeHtml, }) => {
|
|
|
1331
1431
|
// opening, close the gap it left — so Shift+drag A5 to A2 over r1..r6 gives r1 r5 r2 r3 r4 r6 and
|
|
1332
1432
|
// a forward move lands before Excel's pre-removal reference row. The refusals are decided up
|
|
1333
1433
|
// front — a merge the block or a shifted band covers only partially, a protected range — so a
|
|
1334
|
-
// refused move never leaves the band opened.
|
|
1434
|
+
// refused move never leaves the band opened. The three steps record ONE undo entry.
|
|
1335
1435
|
const showError = useShowError();
|
|
1336
1436
|
const canEditCellRange = useCanEditCellRange();
|
|
1337
1437
|
const canPerformSheetAction = useCanPerformSheetAction();
|
|
@@ -1345,6 +1445,17 @@ sanitizeHtml, }) => {
|
|
|
1345
1445
|
showError({ message: MERGED_CELL_MOVE_ERROR });
|
|
1346
1446
|
return;
|
|
1347
1447
|
}
|
|
1448
|
+
// A block covering part of a table never moves (T-46) — refused before the band opens.
|
|
1449
|
+
const tableRefusal = getMoveRangeRefusal({
|
|
1450
|
+
sheetId,
|
|
1451
|
+
from: from.range,
|
|
1452
|
+
to: to.range,
|
|
1453
|
+
tables,
|
|
1454
|
+
});
|
|
1455
|
+
if (tableRefusal) {
|
|
1456
|
+
showError({ title: tableRefusal.title, message: tableRefusal.message });
|
|
1457
|
+
return;
|
|
1458
|
+
}
|
|
1348
1459
|
const vertical = plan.shift === "down";
|
|
1349
1460
|
if (!canEditCellRange(sheetId, from.range) ||
|
|
1350
1461
|
!canEditCellRange(sheetId, to.range) ||
|
|
@@ -1360,28 +1471,31 @@ sanitizeHtml, }) => {
|
|
|
1360
1471
|
rowIndex: to.range.startRowIndex,
|
|
1361
1472
|
columnIndex: to.range.startColumnIndex,
|
|
1362
1473
|
};
|
|
1363
|
-
if (vertical) {
|
|
1364
|
-
onInsertCellsShiftDown(sheetId, target, [to]);
|
|
1365
|
-
}
|
|
1366
|
-
else {
|
|
1367
|
-
onInsertCellsShiftRight(sheetId, target, [to]);
|
|
1368
|
-
}
|
|
1369
1474
|
const source = {
|
|
1370
1475
|
...from,
|
|
1371
1476
|
range: plan.shiftedSource,
|
|
1372
1477
|
};
|
|
1373
|
-
onMoveSelection(sheetId, source, to);
|
|
1374
1478
|
const vacated = {
|
|
1375
1479
|
rowIndex: plan.shiftedSource.startRowIndex,
|
|
1376
1480
|
columnIndex: plan.shiftedSource.startColumnIndex,
|
|
1377
1481
|
};
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1482
|
+
batchHistory(() => {
|
|
1483
|
+
if (vertical) {
|
|
1484
|
+
onInsertCellsShiftDown(sheetId, target, [to]);
|
|
1485
|
+
}
|
|
1486
|
+
else {
|
|
1487
|
+
onInsertCellsShiftRight(sheetId, target, [to]);
|
|
1488
|
+
}
|
|
1489
|
+
onMoveSelection(sheetId, source, to);
|
|
1490
|
+
if (vertical) {
|
|
1491
|
+
onDeleteCellsShiftUp(sheetId, vacated, [source]);
|
|
1492
|
+
}
|
|
1493
|
+
else {
|
|
1494
|
+
onDeleteCellsShiftLeft(sheetId, vacated, [source]);
|
|
1495
|
+
}
|
|
1496
|
+
});
|
|
1384
1497
|
}, [
|
|
1498
|
+
batchHistory,
|
|
1385
1499
|
getPaintMerges,
|
|
1386
1500
|
showError,
|
|
1387
1501
|
canEditCellRange,
|
|
@@ -1399,11 +1513,15 @@ sanitizeHtml, }) => {
|
|
|
1399
1513
|
locale,
|
|
1400
1514
|
sharedStringRegistry,
|
|
1401
1515
|
onChangeSheetData,
|
|
1516
|
+
onChangeSheets,
|
|
1402
1517
|
enqueueCalculation,
|
|
1403
1518
|
enqueueStructureChange,
|
|
1404
1519
|
enqueueGraphOperation,
|
|
1405
1520
|
createHistory,
|
|
1521
|
+
getCellData,
|
|
1522
|
+
getDataRowCount,
|
|
1406
1523
|
isHiddenRow,
|
|
1524
|
+
isManuallyHiddenRow,
|
|
1407
1525
|
getDependents,
|
|
1408
1526
|
getFrozenRowCount,
|
|
1409
1527
|
getSheetName,
|
|
@@ -1419,12 +1537,14 @@ sanitizeHtml, }) => {
|
|
|
1419
1537
|
enqueueGraphOperation,
|
|
1420
1538
|
enqueueCalculation,
|
|
1421
1539
|
enqueueStructureChange,
|
|
1540
|
+
getCellData,
|
|
1422
1541
|
getDependents,
|
|
1423
1542
|
createHistory,
|
|
1424
1543
|
onChangeTables,
|
|
1425
1544
|
onChangeSheets,
|
|
1426
1545
|
getActiveCell,
|
|
1427
1546
|
isHiddenRow,
|
|
1547
|
+
isManuallyHiddenRow,
|
|
1428
1548
|
getFrozenRowCount,
|
|
1429
1549
|
getSheetName,
|
|
1430
1550
|
getEffectiveFormat,
|
|
@@ -1453,18 +1573,64 @@ sanitizeHtml, }) => {
|
|
|
1453
1573
|
columnCount,
|
|
1454
1574
|
locale,
|
|
1455
1575
|
tables,
|
|
1576
|
+
merges,
|
|
1456
1577
|
basicFilter,
|
|
1457
1578
|
getActiveCell,
|
|
1458
1579
|
createHistory,
|
|
1459
1580
|
onChangeTables,
|
|
1460
1581
|
onChangeSheetData,
|
|
1582
|
+
onChangeCharts,
|
|
1461
1583
|
enqueueCalculation,
|
|
1462
1584
|
enqueueGraphOperation,
|
|
1463
1585
|
getFormattedValue,
|
|
1464
1586
|
getDependents,
|
|
1587
|
+
getSheetName,
|
|
1465
1588
|
onCommand,
|
|
1466
1589
|
generatedNames,
|
|
1467
1590
|
});
|
|
1591
|
+
// The AutoCorrect smart tag's "Undo Table AutoExpansion"
|
|
1592
|
+
const onUndoTableAutoExpansion = useOnUndoTableAutoExpansion({
|
|
1593
|
+
locale,
|
|
1594
|
+
cellXfsRegistry,
|
|
1595
|
+
tables,
|
|
1596
|
+
createHistory,
|
|
1597
|
+
batchHistory,
|
|
1598
|
+
onResizeTable,
|
|
1599
|
+
onChangeSheetData,
|
|
1600
|
+
enqueueCalculation,
|
|
1601
|
+
onCommand,
|
|
1602
|
+
});
|
|
1603
|
+
// The AutoCorrect smart tag's "Undo Calculated Column" / "Overwrite all cells in this column
|
|
1604
|
+
// with this formula"
|
|
1605
|
+
const onUndoCalculatedColumn = useOnUndoCalculatedColumn({
|
|
1606
|
+
tables,
|
|
1607
|
+
createHistory,
|
|
1608
|
+
batchHistory,
|
|
1609
|
+
onChangeSheetData,
|
|
1610
|
+
onChangeTables,
|
|
1611
|
+
enqueueCalculation,
|
|
1612
|
+
onCommand,
|
|
1613
|
+
});
|
|
1614
|
+
const onFillCalculatedColumn = useOnChangeCalculatedColumn({
|
|
1615
|
+
locale,
|
|
1616
|
+
cellXfsRegistry,
|
|
1617
|
+
sharedStringRegistry,
|
|
1618
|
+
onChangeTables,
|
|
1619
|
+
onChangeSheetData,
|
|
1620
|
+
getUserEnteredValue: getUserEnteredValueStable,
|
|
1621
|
+
getSheetName,
|
|
1622
|
+
createHistory,
|
|
1623
|
+
enqueueCalculation,
|
|
1624
|
+
onCommand,
|
|
1625
|
+
});
|
|
1626
|
+
const onOverwriteCalculatedColumn = useCallback((fill) => {
|
|
1627
|
+
const table = tables?.find((candidate) => candidate.id === fill.tableId && candidate.sheetId === fill.sheetId);
|
|
1628
|
+
if (!table)
|
|
1629
|
+
return;
|
|
1630
|
+
batchHistory(() => {
|
|
1631
|
+
onFillCalculatedColumn(fill.sheetId, fill.anchor, fill.formula, table, { force: true });
|
|
1632
|
+
});
|
|
1633
|
+
}, [tables, batchHistory, onFillCalculatedColumn]);
|
|
1468
1634
|
// Copy
|
|
1469
1635
|
const onCopy = useOnCopy({
|
|
1470
1636
|
theme,
|
|
@@ -1488,6 +1654,7 @@ sanitizeHtml, }) => {
|
|
|
1488
1654
|
locale,
|
|
1489
1655
|
sheetData,
|
|
1490
1656
|
onChangeNamedRanges,
|
|
1657
|
+
onChangeCharts,
|
|
1491
1658
|
getSheetMerges: getPaintMerges,
|
|
1492
1659
|
getDataValidationById,
|
|
1493
1660
|
preserveFormatting: preserveFormattingOnPaste,
|
|
@@ -1506,6 +1673,9 @@ sanitizeHtml, }) => {
|
|
|
1506
1673
|
enqueueStructureChange,
|
|
1507
1674
|
enqueueGraphOperation,
|
|
1508
1675
|
createHistory,
|
|
1676
|
+
batchHistory,
|
|
1677
|
+
autoExpandTables,
|
|
1678
|
+
autoCalculatedColumns,
|
|
1509
1679
|
onChangeSheetData,
|
|
1510
1680
|
onChangeSheets,
|
|
1511
1681
|
onChangeSelections,
|
|
@@ -1527,7 +1697,15 @@ sanitizeHtml, }) => {
|
|
|
1527
1697
|
rowCount,
|
|
1528
1698
|
columnCount,
|
|
1529
1699
|
tables,
|
|
1700
|
+
namedRanges,
|
|
1530
1701
|
basicFilter,
|
|
1702
|
+
sheetData,
|
|
1703
|
+
sheets,
|
|
1704
|
+
batchHistory,
|
|
1705
|
+
getActiveCell,
|
|
1706
|
+
getSelections,
|
|
1707
|
+
onChangeCitations,
|
|
1708
|
+
onChangeCharts,
|
|
1531
1709
|
cellXfsRegistry,
|
|
1532
1710
|
sharedStringRegistry,
|
|
1533
1711
|
theme,
|
|
@@ -1542,11 +1720,15 @@ sanitizeHtml, }) => {
|
|
|
1542
1720
|
getEffectiveValue,
|
|
1543
1721
|
onRequestCalculate,
|
|
1544
1722
|
getDependents,
|
|
1723
|
+
getGraphNodes,
|
|
1724
|
+
getBandedCells: getPaintBandedCells,
|
|
1545
1725
|
enqueueGraphOperation,
|
|
1546
1726
|
getContentfulRangeAroundCell,
|
|
1547
1727
|
getSheetName,
|
|
1548
1728
|
onCommand,
|
|
1549
1729
|
generatedNames,
|
|
1730
|
+
onChangeDataValidations,
|
|
1731
|
+
onChangeConditionalFormats,
|
|
1550
1732
|
});
|
|
1551
1733
|
// Insert table row
|
|
1552
1734
|
const onInsertTableRow = useOnInsertTableRow({
|
|
@@ -1563,10 +1745,12 @@ sanitizeHtml, }) => {
|
|
|
1563
1745
|
onChangeSheetData,
|
|
1564
1746
|
onChangeSheets,
|
|
1565
1747
|
onChangeTables,
|
|
1748
|
+
onChangeCharts,
|
|
1566
1749
|
onChangeConditionalFormats,
|
|
1567
1750
|
onChangeDataValidations,
|
|
1568
1751
|
getSheetName,
|
|
1569
1752
|
onCommand,
|
|
1753
|
+
tables,
|
|
1570
1754
|
});
|
|
1571
1755
|
// Delete table row
|
|
1572
1756
|
const onDeleteTableRow = useOnDeleteTableRow({
|
|
@@ -1582,18 +1766,21 @@ sanitizeHtml, }) => {
|
|
|
1582
1766
|
onChangeSheetData,
|
|
1583
1767
|
onChangeSheets,
|
|
1584
1768
|
onChangeTables,
|
|
1769
|
+
onChangeCharts,
|
|
1585
1770
|
onChangeConditionalFormats,
|
|
1586
1771
|
onChangeDataValidations,
|
|
1587
1772
|
getSheetName,
|
|
1588
1773
|
onCommand,
|
|
1774
|
+
tables,
|
|
1589
1775
|
});
|
|
1590
1776
|
// Fill range
|
|
1591
1777
|
const onFillRange = useOnFillRange({
|
|
1592
1778
|
onFill,
|
|
1593
1779
|
});
|
|
1594
1780
|
// Embeds
|
|
1595
|
-
const { onDeleteEmbed, onMoveEmbed, onResizeEmbed, onCreateEmbed, onRequestEditEmbed, } = useOnEmbeds({
|
|
1781
|
+
const { onDeleteEmbed, onMoveEmbed, onResizeEmbed, onCreateEmbed, onUpdateEmbed, onRequestEditEmbed, onChangeZOrder, } = useOnEmbeds({
|
|
1596
1782
|
onChangeEmbeds,
|
|
1783
|
+
onChangeCharts,
|
|
1597
1784
|
createHistory,
|
|
1598
1785
|
onCommand,
|
|
1599
1786
|
});
|
|
@@ -1605,6 +1792,14 @@ sanitizeHtml, }) => {
|
|
|
1605
1792
|
});
|
|
1606
1793
|
// Show modal dialog for table editor
|
|
1607
1794
|
const onRequestEditTable = useOnRequestEditTable();
|
|
1795
|
+
// Show the Resize Table dialog (Table Design → Resize Table)
|
|
1796
|
+
const onRequestResizeTable = useOnRequestResizeTable();
|
|
1797
|
+
// Show the Insert Slicers dialog (Table Design → Insert Slicer)
|
|
1798
|
+
const onRequestInsertSlicer = useOnRequestInsertSlicer();
|
|
1799
|
+
// Show the Create Table dialog (Ctrl+T / Insert → Table / Format as Table)
|
|
1800
|
+
const onRequestCreateTable = useOnRequestCreateTable({
|
|
1801
|
+
getEffectiveExtendedValue,
|
|
1802
|
+
});
|
|
1608
1803
|
// Show modal dialog for table editor
|
|
1609
1804
|
const onRequestDefineNamedRange = useOnRequestDefineNamedRange({
|
|
1610
1805
|
namedRanges,
|
|
@@ -1614,6 +1809,7 @@ sanitizeHtml, }) => {
|
|
|
1614
1809
|
// Update named range
|
|
1615
1810
|
const onUpdateNamedRange = useOnUpdateNamedRange({
|
|
1616
1811
|
locale,
|
|
1812
|
+
tables,
|
|
1617
1813
|
getDependents,
|
|
1618
1814
|
getActiveCell,
|
|
1619
1815
|
enqueueCalculation,
|
|
@@ -1624,6 +1820,7 @@ sanitizeHtml, }) => {
|
|
|
1624
1820
|
});
|
|
1625
1821
|
// Update named range
|
|
1626
1822
|
const onCreateNamedRange = useOnCreateNamedRange({
|
|
1823
|
+
tables,
|
|
1627
1824
|
enqueueCalculation,
|
|
1628
1825
|
createHistory,
|
|
1629
1826
|
onChangeNamedRanges,
|
|
@@ -1703,8 +1900,11 @@ sanitizeHtml, }) => {
|
|
|
1703
1900
|
enqueueStructureChange,
|
|
1704
1901
|
enqueueGraphOperation,
|
|
1705
1902
|
onChangeSheetData,
|
|
1903
|
+
onChangeSheets,
|
|
1904
|
+
getCellData,
|
|
1706
1905
|
getDependents,
|
|
1707
1906
|
isHiddenRow,
|
|
1907
|
+
isManuallyHiddenRow,
|
|
1708
1908
|
getFrozenRowCount,
|
|
1709
1909
|
getSheetName,
|
|
1710
1910
|
getEffectiveFormat,
|
|
@@ -1717,6 +1917,12 @@ sanitizeHtml, }) => {
|
|
|
1717
1917
|
onChangeProtectedRanges,
|
|
1718
1918
|
onCommand,
|
|
1719
1919
|
});
|
|
1920
|
+
// Custom table styles (Excel's New Table Style)
|
|
1921
|
+
const onCreateCustomTableStyle = useOnCreateCustomTableStyle({
|
|
1922
|
+
createHistory,
|
|
1923
|
+
onChangeCustomTableStyles,
|
|
1924
|
+
onCommand,
|
|
1925
|
+
});
|
|
1720
1926
|
// Indent
|
|
1721
1927
|
const { onIncreaseIndent, onDecreaseIndent, onChangeIndent } = useIndent({
|
|
1722
1928
|
locale,
|
|
@@ -1833,6 +2039,7 @@ sanitizeHtml, }) => {
|
|
|
1833
2039
|
onCreateDataValidationRule,
|
|
1834
2040
|
onChangeTheme,
|
|
1835
2041
|
onChangeNamedCellStyles,
|
|
2042
|
+
onChangeCustomTableStyles,
|
|
1836
2043
|
onClearHistory,
|
|
1837
2044
|
evaluateConditionalFormatting,
|
|
1838
2045
|
evaluateDataValidations,
|
|
@@ -1913,11 +2120,13 @@ sanitizeHtml, }) => {
|
|
|
1913
2120
|
createHistory,
|
|
1914
2121
|
enqueueCalculation,
|
|
1915
2122
|
onChangeSheetData,
|
|
2123
|
+
onChangeTables,
|
|
1916
2124
|
locale,
|
|
1917
2125
|
cellXfsRegistry,
|
|
1918
2126
|
sharedStringRegistry,
|
|
1919
2127
|
getFormattedValue,
|
|
1920
2128
|
onCommand,
|
|
2129
|
+
tables,
|
|
1921
2130
|
});
|
|
1922
2131
|
// Goal Seek — scratch-evaluates through the calculator, commits via onChange
|
|
1923
2132
|
const onGoalSeek = useOnGoalSeek({
|
|
@@ -1938,6 +2147,7 @@ sanitizeHtml, }) => {
|
|
|
1938
2147
|
onChangeBatch,
|
|
1939
2148
|
onGroupRows,
|
|
1940
2149
|
onUngroupRows,
|
|
2150
|
+
batchHistory,
|
|
1941
2151
|
});
|
|
1942
2152
|
// Data → Advanced filter (criteria range) over the hide/show/write callbacks
|
|
1943
2153
|
const onAdvancedFilter = useOnAdvancedFilter({
|
|
@@ -1967,6 +2177,8 @@ sanitizeHtml, }) => {
|
|
|
1967
2177
|
});
|
|
1968
2178
|
return {
|
|
1969
2179
|
namedCellStyles,
|
|
2180
|
+
customTableStyles,
|
|
2181
|
+
onCreateCustomTableStyle,
|
|
1970
2182
|
activeCellBySheetId,
|
|
1971
2183
|
selectionsBySheetId,
|
|
1972
2184
|
activeCell,
|
|
@@ -1983,6 +2195,7 @@ sanitizeHtml, }) => {
|
|
|
1983
2195
|
columnMetadata,
|
|
1984
2196
|
merges,
|
|
1985
2197
|
bandedRanges,
|
|
2198
|
+
onPreviewTableStyle,
|
|
1986
2199
|
basicFilter,
|
|
1987
2200
|
spreadsheetColors,
|
|
1988
2201
|
isDarkMode,
|
|
@@ -2009,6 +2222,7 @@ sanitizeHtml, }) => {
|
|
|
2009
2222
|
getUserEnteredValue,
|
|
2010
2223
|
getFormattedValue,
|
|
2011
2224
|
createHistory,
|
|
2225
|
+
batchHistory,
|
|
2012
2226
|
onRequestCalculate,
|
|
2013
2227
|
enqueueCalculation,
|
|
2014
2228
|
enqueueGraphOperation,
|
|
@@ -2069,13 +2283,22 @@ sanitizeHtml, }) => {
|
|
|
2069
2283
|
onResizeEmbed,
|
|
2070
2284
|
onDeleteEmbed,
|
|
2071
2285
|
onCreateEmbed,
|
|
2286
|
+
onUpdateEmbed,
|
|
2072
2287
|
onRequestEditEmbed,
|
|
2288
|
+
onChangeZOrder,
|
|
2073
2289
|
onMoveSlicer,
|
|
2074
2290
|
onResizeSlicer,
|
|
2075
2291
|
onDeleteSlicer,
|
|
2076
2292
|
onCreateSlicer,
|
|
2077
2293
|
onUpdateSlicer,
|
|
2078
2294
|
onRequestEditSlicer,
|
|
2295
|
+
getSparklineGroup,
|
|
2296
|
+
getSparklineAt,
|
|
2297
|
+
onCreateSparklineGroup,
|
|
2298
|
+
onUpdateSparklineGroup,
|
|
2299
|
+
onDeleteSparklineGroup,
|
|
2300
|
+
onClearSparklines,
|
|
2301
|
+
onGroupSparklines,
|
|
2079
2302
|
onDeleteRow,
|
|
2080
2303
|
onDeleteColumn,
|
|
2081
2304
|
onDeleteCellsShiftUp,
|
|
@@ -2093,6 +2316,9 @@ sanitizeHtml, }) => {
|
|
|
2093
2316
|
onFilterTable,
|
|
2094
2317
|
onDeleteFilter,
|
|
2095
2318
|
onResizeTable,
|
|
2319
|
+
onUndoTableAutoExpansion,
|
|
2320
|
+
onUndoCalculatedColumn,
|
|
2321
|
+
onOverwriteCalculatedColumn,
|
|
2096
2322
|
onInsertTableColumn,
|
|
2097
2323
|
onInsertTableRow,
|
|
2098
2324
|
onDeleteTableColumn,
|
|
@@ -2101,8 +2327,11 @@ sanitizeHtml, }) => {
|
|
|
2101
2327
|
onPaste,
|
|
2102
2328
|
onCreateBasicFilter,
|
|
2103
2329
|
onCreateTable,
|
|
2330
|
+
onRequestCreateTable,
|
|
2104
2331
|
onRemoveTable,
|
|
2105
2332
|
onRequestEditTable,
|
|
2333
|
+
onRequestResizeTable,
|
|
2334
|
+
onRequestInsertSlicer,
|
|
2106
2335
|
onUpdateTable,
|
|
2107
2336
|
onRequestDefineNamedRange,
|
|
2108
2337
|
onRequestUpdateNamedRange,
|