@rowsncolumns/spreadsheet-state 29.0.0 → 29.1.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/anchored-objects.d.ts +131 -7
- package/dist/cjs/api/anchored-objects.d.ts.map +1 -1
- package/dist/cjs/api/anchored-objects.js +488 -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 +10 -1
- package/dist/cjs/hooks/use-on-delete-sheet.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-sheet.js +19 -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 +323 -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 +17 -2
- 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 +17 -2
- 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 +106 -44
- 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 +16 -3
- 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 +230 -19
- 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 +149 -2
- 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 +11 -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 +11 -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 +68 -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 +10 -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 +131 -7
- package/dist/esm/api/anchored-objects.d.ts.map +1 -1
- package/dist/esm/api/anchored-objects.js +399 -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 +10 -1
- package/dist/esm/hooks/use-on-delete-sheet.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-sheet.js +19 -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 +260 -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 +17 -2
- 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 +17 -2
- 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 +69 -30
- 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 +16 -3
- 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 +180 -16
- 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 +132 -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 +11 -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 +11 -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 +49 -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 +10 -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,15 @@ sanitizeHtml, }) => {
|
|
|
647
685
|
createHistory,
|
|
648
686
|
onChangeSheetData,
|
|
649
687
|
onChangeSheets,
|
|
688
|
+
onChangeCitations,
|
|
689
|
+
onChangeCharts,
|
|
690
|
+
onChangeEmbeds,
|
|
691
|
+
onChangeSlicers,
|
|
692
|
+
onChangeTables,
|
|
693
|
+
onChangeConditionalFormats,
|
|
694
|
+
onChangeDataValidations,
|
|
695
|
+
onChangeNamedRanges,
|
|
696
|
+
onChangeProtectedRanges,
|
|
650
697
|
onChangeActiveSheet,
|
|
651
698
|
enqueueGraphOperation,
|
|
652
699
|
onCommand,
|
|
@@ -820,16 +867,22 @@ sanitizeHtml, }) => {
|
|
|
820
867
|
isMergedCell,
|
|
821
868
|
onChangeSheetData,
|
|
822
869
|
onChangeTables,
|
|
870
|
+
onChangeCharts,
|
|
823
871
|
onChangeSheets,
|
|
824
872
|
enqueueCalculation,
|
|
825
873
|
enqueueGraphOperation,
|
|
826
874
|
createHistory,
|
|
875
|
+
batchHistory,
|
|
876
|
+
autoExpandTables,
|
|
877
|
+
autoCalculatedColumns,
|
|
827
878
|
getDependents,
|
|
879
|
+
getGraphNodes,
|
|
828
880
|
getUserEnteredValue: getUserEnteredValueStable,
|
|
829
881
|
getTextFormatRuns,
|
|
830
882
|
getSheetName,
|
|
831
883
|
onCommand,
|
|
832
884
|
generatedNames,
|
|
885
|
+
onRequestCalculate: onRequestCalculateWithoutFormatting,
|
|
833
886
|
});
|
|
834
887
|
// onChange batch
|
|
835
888
|
const onChangeBatch = useOnChangeBatch({
|
|
@@ -845,12 +898,16 @@ sanitizeHtml, }) => {
|
|
|
845
898
|
onChangeSheetData,
|
|
846
899
|
onChangeSheets,
|
|
847
900
|
onChangeTables,
|
|
901
|
+
onChangeCharts,
|
|
848
902
|
getFormattedValue,
|
|
849
903
|
getCellDimensions,
|
|
850
904
|
getRowHeight: getCurrentRowHeight,
|
|
851
905
|
isMergedCell,
|
|
852
906
|
tables,
|
|
853
907
|
createHistory,
|
|
908
|
+
batchHistory,
|
|
909
|
+
autoExpandTables,
|
|
910
|
+
autoCalculatedColumns,
|
|
854
911
|
onChangeCitations,
|
|
855
912
|
onCommand,
|
|
856
913
|
generatedNames,
|
|
@@ -874,8 +931,17 @@ sanitizeHtml, }) => {
|
|
|
874
931
|
onChangeActiveCell,
|
|
875
932
|
isArrayFormula,
|
|
876
933
|
getRowHeight: getCurrentRowHeight,
|
|
934
|
+
tables,
|
|
935
|
+
generatedNames,
|
|
877
936
|
onCommand,
|
|
878
937
|
});
|
|
938
|
+
// Excel sparkline groups (runs of =SPARKLINE() cells sharing one option set)
|
|
939
|
+
const { getSparklineGroup, getSparklineAt, onCreateSparklineGroup, onUpdateSparklineGroup, onDeleteSparklineGroup, onClearSparklines, onGroupSparklines, } = useSparklineGroups({
|
|
940
|
+
onChangeBatch,
|
|
941
|
+
onDelete,
|
|
942
|
+
batchHistory,
|
|
943
|
+
getUserEnteredValue: getUserEnteredValueStable,
|
|
944
|
+
});
|
|
879
945
|
// Formatting change
|
|
880
946
|
const { onChangeFormatting, onChangeBorder, onRepeatFormatting } = useOnChangeFormatting({
|
|
881
947
|
locale,
|
|
@@ -895,6 +961,7 @@ sanitizeHtml, }) => {
|
|
|
895
961
|
const { onMergeCells, onUnMergeCells } = useOnMergeUnMergeCells({
|
|
896
962
|
locale,
|
|
897
963
|
merges,
|
|
964
|
+
tables,
|
|
898
965
|
cellXfsRegistry,
|
|
899
966
|
sharedStringRegistry,
|
|
900
967
|
onChangeSelections,
|
|
@@ -919,6 +986,9 @@ sanitizeHtml, }) => {
|
|
|
919
986
|
continue;
|
|
920
987
|
bands.push({
|
|
921
988
|
bandedRangeId: `${table.id}-${table.theme}`,
|
|
989
|
+
showFirstColumn: table.showFirstColumn,
|
|
990
|
+
showLastColumn: table.showLastColumn,
|
|
991
|
+
totalRow: table.totalRow ?? false,
|
|
922
992
|
range: { ...table.range, sheetId },
|
|
923
993
|
...banded,
|
|
924
994
|
});
|
|
@@ -1014,6 +1084,21 @@ sanitizeHtml, }) => {
|
|
|
1014
1084
|
// `onMergeCells` clears the selection; the filled range stays selected like Excel.
|
|
1015
1085
|
onChangeSelections?.(sheetId, [{ range: selectRange }]);
|
|
1016
1086
|
}, [onUnMergeCells, onMergeCells, onChangeSelections]);
|
|
1087
|
+
// The expansion the fill handle triggers when dragged past a table's edge (T-11).
|
|
1088
|
+
const onFillChangeTableColumn = useOnChangeTableColumn({
|
|
1089
|
+
locale,
|
|
1090
|
+
cellXfsRegistry,
|
|
1091
|
+
sharedStringRegistry,
|
|
1092
|
+
onChangeSheetData,
|
|
1093
|
+
onChangeTables,
|
|
1094
|
+
getDependents,
|
|
1095
|
+
enqueueCalculation: enqueueGraphOperation,
|
|
1096
|
+
enqueueGraphOperation,
|
|
1097
|
+
createHistory,
|
|
1098
|
+
onCommand,
|
|
1099
|
+
generatedNames,
|
|
1100
|
+
tables,
|
|
1101
|
+
});
|
|
1017
1102
|
const onFill = useOnFill({
|
|
1018
1103
|
locale,
|
|
1019
1104
|
cellXfsRegistry,
|
|
@@ -1032,6 +1117,11 @@ sanitizeHtml, }) => {
|
|
|
1032
1117
|
onCommand,
|
|
1033
1118
|
getMerges: getPaintMerges,
|
|
1034
1119
|
onFillMerges,
|
|
1120
|
+
tables,
|
|
1121
|
+
getUserEnteredValue: getUserEnteredValueStable,
|
|
1122
|
+
onChangeTableColumn: onFillChangeTableColumn,
|
|
1123
|
+
batchHistory,
|
|
1124
|
+
autoExpandTables,
|
|
1035
1125
|
});
|
|
1036
1126
|
// Delete row
|
|
1037
1127
|
const onDeleteRow = useOnDeleteRow({
|
|
@@ -1060,6 +1150,7 @@ sanitizeHtml, }) => {
|
|
|
1060
1150
|
onChangePivotTables,
|
|
1061
1151
|
onChangeNamedRanges,
|
|
1062
1152
|
onChangeEmbeds,
|
|
1153
|
+
onChangeSlicers,
|
|
1063
1154
|
onChangeCharts,
|
|
1064
1155
|
onChangeProtectedRanges,
|
|
1065
1156
|
getSheetName,
|
|
@@ -1094,6 +1185,7 @@ sanitizeHtml, }) => {
|
|
|
1094
1185
|
onChangePivotTables,
|
|
1095
1186
|
onChangeNamedRanges,
|
|
1096
1187
|
onChangeEmbeds,
|
|
1188
|
+
onChangeSlicers,
|
|
1097
1189
|
onChangeCharts,
|
|
1098
1190
|
onChangeProtectedRanges,
|
|
1099
1191
|
getSheetName,
|
|
@@ -1120,6 +1212,7 @@ sanitizeHtml, }) => {
|
|
|
1120
1212
|
onChangeSheetData,
|
|
1121
1213
|
onChangeTables,
|
|
1122
1214
|
onChangeCitations,
|
|
1215
|
+
onChangeCharts,
|
|
1123
1216
|
onCommand,
|
|
1124
1217
|
sheetData,
|
|
1125
1218
|
sheets,
|
|
@@ -1144,6 +1237,7 @@ sanitizeHtml, }) => {
|
|
|
1144
1237
|
onChangeSheetData,
|
|
1145
1238
|
onChangeTables,
|
|
1146
1239
|
onChangeCitations,
|
|
1240
|
+
onChangeCharts,
|
|
1147
1241
|
onCommand,
|
|
1148
1242
|
sheetData,
|
|
1149
1243
|
sheets,
|
|
@@ -1168,6 +1262,7 @@ sanitizeHtml, }) => {
|
|
|
1168
1262
|
onChangeSheetData,
|
|
1169
1263
|
onChangeTables,
|
|
1170
1264
|
onChangeCitations,
|
|
1265
|
+
onChangeCharts,
|
|
1171
1266
|
onCommand,
|
|
1172
1267
|
sheetData,
|
|
1173
1268
|
sheets,
|
|
@@ -1192,6 +1287,7 @@ sanitizeHtml, }) => {
|
|
|
1192
1287
|
onChangeSheetData,
|
|
1193
1288
|
onChangeTables,
|
|
1194
1289
|
onChangeCitations,
|
|
1290
|
+
onChangeCharts,
|
|
1195
1291
|
onCommand,
|
|
1196
1292
|
sheetData,
|
|
1197
1293
|
sheets,
|
|
@@ -1222,6 +1318,7 @@ sanitizeHtml, }) => {
|
|
|
1222
1318
|
onChangePivotTables,
|
|
1223
1319
|
onChangeNamedRanges,
|
|
1224
1320
|
onChangeEmbeds,
|
|
1321
|
+
onChangeSlicers,
|
|
1225
1322
|
onChangeCharts,
|
|
1226
1323
|
onChangeProtectedRanges,
|
|
1227
1324
|
onChangeTables,
|
|
@@ -1254,6 +1351,7 @@ sanitizeHtml, }) => {
|
|
|
1254
1351
|
onChangePivotTables,
|
|
1255
1352
|
onChangeNamedRanges,
|
|
1256
1353
|
onChangeEmbeds,
|
|
1354
|
+
onChangeSlicers,
|
|
1257
1355
|
onChangeCharts,
|
|
1258
1356
|
onChangeProtectedRanges,
|
|
1259
1357
|
getActiveCell,
|
|
@@ -1277,6 +1375,7 @@ sanitizeHtml, }) => {
|
|
|
1277
1375
|
onChangeSheetData,
|
|
1278
1376
|
onChangeConditionalFormats,
|
|
1279
1377
|
onChangeDataValidations,
|
|
1378
|
+
onChangeCharts,
|
|
1280
1379
|
getDependents,
|
|
1281
1380
|
getDataRowCount,
|
|
1282
1381
|
onCommand,
|
|
@@ -1295,6 +1394,7 @@ sanitizeHtml, }) => {
|
|
|
1295
1394
|
onChangeSheetData,
|
|
1296
1395
|
onChangeTables,
|
|
1297
1396
|
onChangeNamedRanges,
|
|
1397
|
+
onChangeCharts,
|
|
1298
1398
|
onChangeConditionalFormats,
|
|
1299
1399
|
onChangeDataValidations,
|
|
1300
1400
|
getDependents,
|
|
@@ -1314,6 +1414,7 @@ sanitizeHtml, }) => {
|
|
|
1314
1414
|
onChangeSheets,
|
|
1315
1415
|
onChangeTables,
|
|
1316
1416
|
onChangeNamedRanges,
|
|
1417
|
+
onChangeCharts,
|
|
1317
1418
|
onChangeDataValidations,
|
|
1318
1419
|
onChangeConditionalFormats,
|
|
1319
1420
|
onChangePivotTables,
|
|
@@ -1331,7 +1432,7 @@ sanitizeHtml, }) => {
|
|
|
1331
1432
|
// opening, close the gap it left — so Shift+drag A5 to A2 over r1..r6 gives r1 r5 r2 r3 r4 r6 and
|
|
1332
1433
|
// a forward move lands before Excel's pre-removal reference row. The refusals are decided up
|
|
1333
1434
|
// 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.
|
|
1435
|
+
// refused move never leaves the band opened. The three steps record ONE undo entry.
|
|
1335
1436
|
const showError = useShowError();
|
|
1336
1437
|
const canEditCellRange = useCanEditCellRange();
|
|
1337
1438
|
const canPerformSheetAction = useCanPerformSheetAction();
|
|
@@ -1345,6 +1446,17 @@ sanitizeHtml, }) => {
|
|
|
1345
1446
|
showError({ message: MERGED_CELL_MOVE_ERROR });
|
|
1346
1447
|
return;
|
|
1347
1448
|
}
|
|
1449
|
+
// A block covering part of a table never moves (T-46) — refused before the band opens.
|
|
1450
|
+
const tableRefusal = getMoveRangeRefusal({
|
|
1451
|
+
sheetId,
|
|
1452
|
+
from: from.range,
|
|
1453
|
+
to: to.range,
|
|
1454
|
+
tables,
|
|
1455
|
+
});
|
|
1456
|
+
if (tableRefusal) {
|
|
1457
|
+
showError({ title: tableRefusal.title, message: tableRefusal.message });
|
|
1458
|
+
return;
|
|
1459
|
+
}
|
|
1348
1460
|
const vertical = plan.shift === "down";
|
|
1349
1461
|
if (!canEditCellRange(sheetId, from.range) ||
|
|
1350
1462
|
!canEditCellRange(sheetId, to.range) ||
|
|
@@ -1360,28 +1472,31 @@ sanitizeHtml, }) => {
|
|
|
1360
1472
|
rowIndex: to.range.startRowIndex,
|
|
1361
1473
|
columnIndex: to.range.startColumnIndex,
|
|
1362
1474
|
};
|
|
1363
|
-
if (vertical) {
|
|
1364
|
-
onInsertCellsShiftDown(sheetId, target, [to]);
|
|
1365
|
-
}
|
|
1366
|
-
else {
|
|
1367
|
-
onInsertCellsShiftRight(sheetId, target, [to]);
|
|
1368
|
-
}
|
|
1369
1475
|
const source = {
|
|
1370
1476
|
...from,
|
|
1371
1477
|
range: plan.shiftedSource,
|
|
1372
1478
|
};
|
|
1373
|
-
onMoveSelection(sheetId, source, to);
|
|
1374
1479
|
const vacated = {
|
|
1375
1480
|
rowIndex: plan.shiftedSource.startRowIndex,
|
|
1376
1481
|
columnIndex: plan.shiftedSource.startColumnIndex,
|
|
1377
1482
|
};
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1483
|
+
batchHistory(() => {
|
|
1484
|
+
if (vertical) {
|
|
1485
|
+
onInsertCellsShiftDown(sheetId, target, [to]);
|
|
1486
|
+
}
|
|
1487
|
+
else {
|
|
1488
|
+
onInsertCellsShiftRight(sheetId, target, [to]);
|
|
1489
|
+
}
|
|
1490
|
+
onMoveSelection(sheetId, source, to);
|
|
1491
|
+
if (vertical) {
|
|
1492
|
+
onDeleteCellsShiftUp(sheetId, vacated, [source]);
|
|
1493
|
+
}
|
|
1494
|
+
else {
|
|
1495
|
+
onDeleteCellsShiftLeft(sheetId, vacated, [source]);
|
|
1496
|
+
}
|
|
1497
|
+
});
|
|
1384
1498
|
}, [
|
|
1499
|
+
batchHistory,
|
|
1385
1500
|
getPaintMerges,
|
|
1386
1501
|
showError,
|
|
1387
1502
|
canEditCellRange,
|
|
@@ -1399,11 +1514,15 @@ sanitizeHtml, }) => {
|
|
|
1399
1514
|
locale,
|
|
1400
1515
|
sharedStringRegistry,
|
|
1401
1516
|
onChangeSheetData,
|
|
1517
|
+
onChangeSheets,
|
|
1402
1518
|
enqueueCalculation,
|
|
1403
1519
|
enqueueStructureChange,
|
|
1404
1520
|
enqueueGraphOperation,
|
|
1405
1521
|
createHistory,
|
|
1522
|
+
getCellData,
|
|
1523
|
+
getDataRowCount,
|
|
1406
1524
|
isHiddenRow,
|
|
1525
|
+
isManuallyHiddenRow,
|
|
1407
1526
|
getDependents,
|
|
1408
1527
|
getFrozenRowCount,
|
|
1409
1528
|
getSheetName,
|
|
@@ -1419,12 +1538,14 @@ sanitizeHtml, }) => {
|
|
|
1419
1538
|
enqueueGraphOperation,
|
|
1420
1539
|
enqueueCalculation,
|
|
1421
1540
|
enqueueStructureChange,
|
|
1541
|
+
getCellData,
|
|
1422
1542
|
getDependents,
|
|
1423
1543
|
createHistory,
|
|
1424
1544
|
onChangeTables,
|
|
1425
1545
|
onChangeSheets,
|
|
1426
1546
|
getActiveCell,
|
|
1427
1547
|
isHiddenRow,
|
|
1548
|
+
isManuallyHiddenRow,
|
|
1428
1549
|
getFrozenRowCount,
|
|
1429
1550
|
getSheetName,
|
|
1430
1551
|
getEffectiveFormat,
|
|
@@ -1453,18 +1574,64 @@ sanitizeHtml, }) => {
|
|
|
1453
1574
|
columnCount,
|
|
1454
1575
|
locale,
|
|
1455
1576
|
tables,
|
|
1577
|
+
merges,
|
|
1456
1578
|
basicFilter,
|
|
1457
1579
|
getActiveCell,
|
|
1458
1580
|
createHistory,
|
|
1459
1581
|
onChangeTables,
|
|
1460
1582
|
onChangeSheetData,
|
|
1583
|
+
onChangeCharts,
|
|
1461
1584
|
enqueueCalculation,
|
|
1462
1585
|
enqueueGraphOperation,
|
|
1463
1586
|
getFormattedValue,
|
|
1464
1587
|
getDependents,
|
|
1588
|
+
getSheetName,
|
|
1465
1589
|
onCommand,
|
|
1466
1590
|
generatedNames,
|
|
1467
1591
|
});
|
|
1592
|
+
// The AutoCorrect smart tag's "Undo Table AutoExpansion"
|
|
1593
|
+
const onUndoTableAutoExpansion = useOnUndoTableAutoExpansion({
|
|
1594
|
+
locale,
|
|
1595
|
+
cellXfsRegistry,
|
|
1596
|
+
tables,
|
|
1597
|
+
createHistory,
|
|
1598
|
+
batchHistory,
|
|
1599
|
+
onResizeTable,
|
|
1600
|
+
onChangeSheetData,
|
|
1601
|
+
enqueueCalculation,
|
|
1602
|
+
onCommand,
|
|
1603
|
+
});
|
|
1604
|
+
// The AutoCorrect smart tag's "Undo Calculated Column" / "Overwrite all cells in this column
|
|
1605
|
+
// with this formula"
|
|
1606
|
+
const onUndoCalculatedColumn = useOnUndoCalculatedColumn({
|
|
1607
|
+
tables,
|
|
1608
|
+
createHistory,
|
|
1609
|
+
batchHistory,
|
|
1610
|
+
onChangeSheetData,
|
|
1611
|
+
onChangeTables,
|
|
1612
|
+
enqueueCalculation,
|
|
1613
|
+
onCommand,
|
|
1614
|
+
});
|
|
1615
|
+
const onFillCalculatedColumn = useOnChangeCalculatedColumn({
|
|
1616
|
+
locale,
|
|
1617
|
+
cellXfsRegistry,
|
|
1618
|
+
sharedStringRegistry,
|
|
1619
|
+
onChangeTables,
|
|
1620
|
+
onChangeSheetData,
|
|
1621
|
+
getUserEnteredValue: getUserEnteredValueStable,
|
|
1622
|
+
getSheetName,
|
|
1623
|
+
createHistory,
|
|
1624
|
+
enqueueCalculation,
|
|
1625
|
+
onCommand,
|
|
1626
|
+
});
|
|
1627
|
+
const onOverwriteCalculatedColumn = useCallback((fill) => {
|
|
1628
|
+
const table = tables?.find((candidate) => candidate.id === fill.tableId && candidate.sheetId === fill.sheetId);
|
|
1629
|
+
if (!table)
|
|
1630
|
+
return;
|
|
1631
|
+
batchHistory(() => {
|
|
1632
|
+
onFillCalculatedColumn(fill.sheetId, fill.anchor, fill.formula, table, { force: true });
|
|
1633
|
+
});
|
|
1634
|
+
}, [tables, batchHistory, onFillCalculatedColumn]);
|
|
1468
1635
|
// Copy
|
|
1469
1636
|
const onCopy = useOnCopy({
|
|
1470
1637
|
theme,
|
|
@@ -1488,6 +1655,7 @@ sanitizeHtml, }) => {
|
|
|
1488
1655
|
locale,
|
|
1489
1656
|
sheetData,
|
|
1490
1657
|
onChangeNamedRanges,
|
|
1658
|
+
onChangeCharts,
|
|
1491
1659
|
getSheetMerges: getPaintMerges,
|
|
1492
1660
|
getDataValidationById,
|
|
1493
1661
|
preserveFormatting: preserveFormattingOnPaste,
|
|
@@ -1506,6 +1674,9 @@ sanitizeHtml, }) => {
|
|
|
1506
1674
|
enqueueStructureChange,
|
|
1507
1675
|
enqueueGraphOperation,
|
|
1508
1676
|
createHistory,
|
|
1677
|
+
batchHistory,
|
|
1678
|
+
autoExpandTables,
|
|
1679
|
+
autoCalculatedColumns,
|
|
1509
1680
|
onChangeSheetData,
|
|
1510
1681
|
onChangeSheets,
|
|
1511
1682
|
onChangeSelections,
|
|
@@ -1527,7 +1698,15 @@ sanitizeHtml, }) => {
|
|
|
1527
1698
|
rowCount,
|
|
1528
1699
|
columnCount,
|
|
1529
1700
|
tables,
|
|
1701
|
+
namedRanges,
|
|
1530
1702
|
basicFilter,
|
|
1703
|
+
sheetData,
|
|
1704
|
+
sheets,
|
|
1705
|
+
batchHistory,
|
|
1706
|
+
getActiveCell,
|
|
1707
|
+
getSelections,
|
|
1708
|
+
onChangeCitations,
|
|
1709
|
+
onChangeCharts,
|
|
1531
1710
|
cellXfsRegistry,
|
|
1532
1711
|
sharedStringRegistry,
|
|
1533
1712
|
theme,
|
|
@@ -1542,11 +1721,15 @@ sanitizeHtml, }) => {
|
|
|
1542
1721
|
getEffectiveValue,
|
|
1543
1722
|
onRequestCalculate,
|
|
1544
1723
|
getDependents,
|
|
1724
|
+
getGraphNodes,
|
|
1725
|
+
getBandedCells: getPaintBandedCells,
|
|
1545
1726
|
enqueueGraphOperation,
|
|
1546
1727
|
getContentfulRangeAroundCell,
|
|
1547
1728
|
getSheetName,
|
|
1548
1729
|
onCommand,
|
|
1549
1730
|
generatedNames,
|
|
1731
|
+
onChangeDataValidations,
|
|
1732
|
+
onChangeConditionalFormats,
|
|
1550
1733
|
});
|
|
1551
1734
|
// Insert table row
|
|
1552
1735
|
const onInsertTableRow = useOnInsertTableRow({
|
|
@@ -1563,10 +1746,12 @@ sanitizeHtml, }) => {
|
|
|
1563
1746
|
onChangeSheetData,
|
|
1564
1747
|
onChangeSheets,
|
|
1565
1748
|
onChangeTables,
|
|
1749
|
+
onChangeCharts,
|
|
1566
1750
|
onChangeConditionalFormats,
|
|
1567
1751
|
onChangeDataValidations,
|
|
1568
1752
|
getSheetName,
|
|
1569
1753
|
onCommand,
|
|
1754
|
+
tables,
|
|
1570
1755
|
});
|
|
1571
1756
|
// Delete table row
|
|
1572
1757
|
const onDeleteTableRow = useOnDeleteTableRow({
|
|
@@ -1582,18 +1767,21 @@ sanitizeHtml, }) => {
|
|
|
1582
1767
|
onChangeSheetData,
|
|
1583
1768
|
onChangeSheets,
|
|
1584
1769
|
onChangeTables,
|
|
1770
|
+
onChangeCharts,
|
|
1585
1771
|
onChangeConditionalFormats,
|
|
1586
1772
|
onChangeDataValidations,
|
|
1587
1773
|
getSheetName,
|
|
1588
1774
|
onCommand,
|
|
1775
|
+
tables,
|
|
1589
1776
|
});
|
|
1590
1777
|
// Fill range
|
|
1591
1778
|
const onFillRange = useOnFillRange({
|
|
1592
1779
|
onFill,
|
|
1593
1780
|
});
|
|
1594
1781
|
// Embeds
|
|
1595
|
-
const { onDeleteEmbed, onMoveEmbed, onResizeEmbed, onCreateEmbed, onRequestEditEmbed, } = useOnEmbeds({
|
|
1782
|
+
const { onDeleteEmbed, onMoveEmbed, onResizeEmbed, onCreateEmbed, onUpdateEmbed, onRequestEditEmbed, onChangeZOrder, } = useOnEmbeds({
|
|
1596
1783
|
onChangeEmbeds,
|
|
1784
|
+
onChangeCharts,
|
|
1597
1785
|
createHistory,
|
|
1598
1786
|
onCommand,
|
|
1599
1787
|
});
|
|
@@ -1605,6 +1793,14 @@ sanitizeHtml, }) => {
|
|
|
1605
1793
|
});
|
|
1606
1794
|
// Show modal dialog for table editor
|
|
1607
1795
|
const onRequestEditTable = useOnRequestEditTable();
|
|
1796
|
+
// Show the Resize Table dialog (Table Design → Resize Table)
|
|
1797
|
+
const onRequestResizeTable = useOnRequestResizeTable();
|
|
1798
|
+
// Show the Insert Slicers dialog (Table Design → Insert Slicer)
|
|
1799
|
+
const onRequestInsertSlicer = useOnRequestInsertSlicer();
|
|
1800
|
+
// Show the Create Table dialog (Ctrl+T / Insert → Table / Format as Table)
|
|
1801
|
+
const onRequestCreateTable = useOnRequestCreateTable({
|
|
1802
|
+
getEffectiveExtendedValue,
|
|
1803
|
+
});
|
|
1608
1804
|
// Show modal dialog for table editor
|
|
1609
1805
|
const onRequestDefineNamedRange = useOnRequestDefineNamedRange({
|
|
1610
1806
|
namedRanges,
|
|
@@ -1614,6 +1810,7 @@ sanitizeHtml, }) => {
|
|
|
1614
1810
|
// Update named range
|
|
1615
1811
|
const onUpdateNamedRange = useOnUpdateNamedRange({
|
|
1616
1812
|
locale,
|
|
1813
|
+
tables,
|
|
1617
1814
|
getDependents,
|
|
1618
1815
|
getActiveCell,
|
|
1619
1816
|
enqueueCalculation,
|
|
@@ -1624,6 +1821,7 @@ sanitizeHtml, }) => {
|
|
|
1624
1821
|
});
|
|
1625
1822
|
// Update named range
|
|
1626
1823
|
const onCreateNamedRange = useOnCreateNamedRange({
|
|
1824
|
+
tables,
|
|
1627
1825
|
enqueueCalculation,
|
|
1628
1826
|
createHistory,
|
|
1629
1827
|
onChangeNamedRanges,
|
|
@@ -1703,8 +1901,11 @@ sanitizeHtml, }) => {
|
|
|
1703
1901
|
enqueueStructureChange,
|
|
1704
1902
|
enqueueGraphOperation,
|
|
1705
1903
|
onChangeSheetData,
|
|
1904
|
+
onChangeSheets,
|
|
1905
|
+
getCellData,
|
|
1706
1906
|
getDependents,
|
|
1707
1907
|
isHiddenRow,
|
|
1908
|
+
isManuallyHiddenRow,
|
|
1708
1909
|
getFrozenRowCount,
|
|
1709
1910
|
getSheetName,
|
|
1710
1911
|
getEffectiveFormat,
|
|
@@ -1717,6 +1918,12 @@ sanitizeHtml, }) => {
|
|
|
1717
1918
|
onChangeProtectedRanges,
|
|
1718
1919
|
onCommand,
|
|
1719
1920
|
});
|
|
1921
|
+
// Custom table styles (Excel's New Table Style)
|
|
1922
|
+
const onCreateCustomTableStyle = useOnCreateCustomTableStyle({
|
|
1923
|
+
createHistory,
|
|
1924
|
+
onChangeCustomTableStyles,
|
|
1925
|
+
onCommand,
|
|
1926
|
+
});
|
|
1720
1927
|
// Indent
|
|
1721
1928
|
const { onIncreaseIndent, onDecreaseIndent, onChangeIndent } = useIndent({
|
|
1722
1929
|
locale,
|
|
@@ -1833,6 +2040,7 @@ sanitizeHtml, }) => {
|
|
|
1833
2040
|
onCreateDataValidationRule,
|
|
1834
2041
|
onChangeTheme,
|
|
1835
2042
|
onChangeNamedCellStyles,
|
|
2043
|
+
onChangeCustomTableStyles,
|
|
1836
2044
|
onClearHistory,
|
|
1837
2045
|
evaluateConditionalFormatting,
|
|
1838
2046
|
evaluateDataValidations,
|
|
@@ -1913,11 +2121,13 @@ sanitizeHtml, }) => {
|
|
|
1913
2121
|
createHistory,
|
|
1914
2122
|
enqueueCalculation,
|
|
1915
2123
|
onChangeSheetData,
|
|
2124
|
+
onChangeTables,
|
|
1916
2125
|
locale,
|
|
1917
2126
|
cellXfsRegistry,
|
|
1918
2127
|
sharedStringRegistry,
|
|
1919
2128
|
getFormattedValue,
|
|
1920
2129
|
onCommand,
|
|
2130
|
+
tables,
|
|
1921
2131
|
});
|
|
1922
2132
|
// Goal Seek — scratch-evaluates through the calculator, commits via onChange
|
|
1923
2133
|
const onGoalSeek = useOnGoalSeek({
|
|
@@ -1938,6 +2148,7 @@ sanitizeHtml, }) => {
|
|
|
1938
2148
|
onChangeBatch,
|
|
1939
2149
|
onGroupRows,
|
|
1940
2150
|
onUngroupRows,
|
|
2151
|
+
batchHistory,
|
|
1941
2152
|
});
|
|
1942
2153
|
// Data → Advanced filter (criteria range) over the hide/show/write callbacks
|
|
1943
2154
|
const onAdvancedFilter = useOnAdvancedFilter({
|
|
@@ -1967,6 +2178,8 @@ sanitizeHtml, }) => {
|
|
|
1967
2178
|
});
|
|
1968
2179
|
return {
|
|
1969
2180
|
namedCellStyles,
|
|
2181
|
+
customTableStyles,
|
|
2182
|
+
onCreateCustomTableStyle,
|
|
1970
2183
|
activeCellBySheetId,
|
|
1971
2184
|
selectionsBySheetId,
|
|
1972
2185
|
activeCell,
|
|
@@ -1983,6 +2196,7 @@ sanitizeHtml, }) => {
|
|
|
1983
2196
|
columnMetadata,
|
|
1984
2197
|
merges,
|
|
1985
2198
|
bandedRanges,
|
|
2199
|
+
onPreviewTableStyle,
|
|
1986
2200
|
basicFilter,
|
|
1987
2201
|
spreadsheetColors,
|
|
1988
2202
|
isDarkMode,
|
|
@@ -2009,6 +2223,7 @@ sanitizeHtml, }) => {
|
|
|
2009
2223
|
getUserEnteredValue,
|
|
2010
2224
|
getFormattedValue,
|
|
2011
2225
|
createHistory,
|
|
2226
|
+
batchHistory,
|
|
2012
2227
|
onRequestCalculate,
|
|
2013
2228
|
enqueueCalculation,
|
|
2014
2229
|
enqueueGraphOperation,
|
|
@@ -2069,13 +2284,22 @@ sanitizeHtml, }) => {
|
|
|
2069
2284
|
onResizeEmbed,
|
|
2070
2285
|
onDeleteEmbed,
|
|
2071
2286
|
onCreateEmbed,
|
|
2287
|
+
onUpdateEmbed,
|
|
2072
2288
|
onRequestEditEmbed,
|
|
2289
|
+
onChangeZOrder,
|
|
2073
2290
|
onMoveSlicer,
|
|
2074
2291
|
onResizeSlicer,
|
|
2075
2292
|
onDeleteSlicer,
|
|
2076
2293
|
onCreateSlicer,
|
|
2077
2294
|
onUpdateSlicer,
|
|
2078
2295
|
onRequestEditSlicer,
|
|
2296
|
+
getSparklineGroup,
|
|
2297
|
+
getSparklineAt,
|
|
2298
|
+
onCreateSparklineGroup,
|
|
2299
|
+
onUpdateSparklineGroup,
|
|
2300
|
+
onDeleteSparklineGroup,
|
|
2301
|
+
onClearSparklines,
|
|
2302
|
+
onGroupSparklines,
|
|
2079
2303
|
onDeleteRow,
|
|
2080
2304
|
onDeleteColumn,
|
|
2081
2305
|
onDeleteCellsShiftUp,
|
|
@@ -2093,6 +2317,9 @@ sanitizeHtml, }) => {
|
|
|
2093
2317
|
onFilterTable,
|
|
2094
2318
|
onDeleteFilter,
|
|
2095
2319
|
onResizeTable,
|
|
2320
|
+
onUndoTableAutoExpansion,
|
|
2321
|
+
onUndoCalculatedColumn,
|
|
2322
|
+
onOverwriteCalculatedColumn,
|
|
2096
2323
|
onInsertTableColumn,
|
|
2097
2324
|
onInsertTableRow,
|
|
2098
2325
|
onDeleteTableColumn,
|
|
@@ -2101,8 +2328,11 @@ sanitizeHtml, }) => {
|
|
|
2101
2328
|
onPaste,
|
|
2102
2329
|
onCreateBasicFilter,
|
|
2103
2330
|
onCreateTable,
|
|
2331
|
+
onRequestCreateTable,
|
|
2104
2332
|
onRemoveTable,
|
|
2105
2333
|
onRequestEditTable,
|
|
2334
|
+
onRequestResizeTable,
|
|
2335
|
+
onRequestInsertSlicer,
|
|
2106
2336
|
onUpdateTable,
|
|
2107
2337
|
onRequestDefineNamedRange,
|
|
2108
2338
|
onRequestUpdateNamedRange,
|