@rowsncolumns/spreadsheet-state 28.0.76 → 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 +8 -2
- package/dist/cjs/api/copy-paste.d.ts.map +1 -1
- package/dist/cjs/api/copy-paste.js +4 -4
- 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/immer-utils.d.ts +11 -1
- package/dist/cjs/api/immer-utils.d.ts.map +1 -1
- package/dist/cjs/api/immer-utils.js +17 -1
- package/dist/cjs/api/insert-cut-cells.d.ts +35 -0
- package/dist/cjs/api/insert-cut-cells.d.ts.map +1 -0
- package/dist/cjs/api/insert-cut-cells.js +60 -0
- package/dist/cjs/api/merges.d.ts +8 -0
- package/dist/cjs/api/merges.d.ts.map +1 -1
- package/dist/cjs/api/merges.js +11 -0
- 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/subtotal.d.ts +20 -13
- package/dist/cjs/api/subtotal.d.ts.map +1 -1
- package/dist/cjs/api/subtotal.js +26 -19
- 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 +138 -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-copy.d.ts +1 -1
- package/dist/cjs/hooks/use-on-copy.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-copy.js +2 -3
- 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 +4 -1
- package/dist/cjs/hooks/use-on-move-columns.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-columns.js +28 -6
- package/dist/cjs/hooks/use-on-move-rows.d.ts +18 -1
- package/dist/cjs/hooks/use-on-move-rows.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-rows.js +44 -6
- package/dist/cjs/hooks/use-on-move-selection.d.ts +9 -2
- package/dist/cjs/hooks/use-on-move-selection.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-selection.js +101 -25
- package/dist/cjs/hooks/use-on-paste.d.ts +33 -2
- package/dist/cjs/hooks/use-on-paste.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-paste.js +1005 -740
- 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 +69 -12
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/cjs/hooks/use-spreadsheet-state.js +383 -84
- 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 +8 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +9 -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 +29 -22
- 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 +244 -39
- 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 +101 -56
- 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 +25 -7
- 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 +8 -2
- package/dist/esm/api/copy-paste.d.ts.map +1 -1
- package/dist/esm/api/copy-paste.js +4 -4
- 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/immer-utils.d.ts +11 -1
- package/dist/esm/api/immer-utils.d.ts.map +1 -1
- package/dist/esm/api/immer-utils.js +16 -0
- package/dist/esm/api/insert-cut-cells.d.ts +35 -0
- package/dist/esm/api/insert-cut-cells.d.ts.map +1 -0
- package/dist/esm/api/insert-cut-cells.js +67 -0
- package/dist/esm/api/merges.d.ts +8 -0
- package/dist/esm/api/merges.d.ts.map +1 -1
- package/dist/esm/api/merges.js +9 -0
- 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/subtotal.d.ts +20 -13
- package/dist/esm/api/subtotal.d.ts.map +1 -1
- package/dist/esm/api/subtotal.js +15 -8
- 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 +138 -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-copy.d.ts +1 -1
- package/dist/esm/hooks/use-on-copy.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-copy.js +2 -3
- 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 +4 -1
- package/dist/esm/hooks/use-on-move-columns.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-columns.js +28 -6
- package/dist/esm/hooks/use-on-move-rows.d.ts +18 -1
- package/dist/esm/hooks/use-on-move-rows.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-rows.js +44 -6
- package/dist/esm/hooks/use-on-move-selection.d.ts +9 -2
- package/dist/esm/hooks/use-on-move-selection.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-selection.js +57 -1
- package/dist/esm/hooks/use-on-paste.d.ts +33 -2
- package/dist/esm/hooks/use-on-paste.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-paste.js +825 -643
- 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 +69 -12
- package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/esm/hooks/use-spreadsheet-state.js +321 -14
- 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 +8 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +9 -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 +26 -30
- 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 +191 -44
- 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 +70 -33
- 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 +22 -6
- 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 +25 -17
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
import { __assign, __read } from "tslib";
|
|
1
|
+
import { __assign, __read, __spreadArray, __values } from "tslib";
|
|
2
2
|
import { Cross2Icon } from "@rowsncolumns/icons";
|
|
3
3
|
import { findMatchingBandProperty, FormulaInput, useFocusSheet, useFormulaInputState, useSetFormulaMode, useSetFormulaSelections, } from "@rowsncolumns/spreadsheet";
|
|
4
4
|
import { Button, Dialog, DialogBody, DialogCloseButton, DialogContent, DialogDescription, DialogTitle, Input, Stack, } from "@rowsncolumns/ui";
|
|
5
5
|
import { useFormik } from "formik";
|
|
6
|
-
import React, { useCallback } from "react";
|
|
7
|
-
import {
|
|
6
|
+
import React, { useCallback, useMemo, useState } from "react";
|
|
7
|
+
import { useCreatingTable, } from "../../atoms/creating-table.atom";
|
|
8
|
+
import { useCreateTableDialogState, useEditTableDialogState, useInsertSlicerDialogState, useResizeTableDialogState, } from "../../atoms/dialog-state.atom";
|
|
8
9
|
import { useEditingTable } from "../../atoms/editing-table.atom";
|
|
9
|
-
import {
|
|
10
|
+
import { useInsertingSlicer } from "../../atoms/inserting-slicer.atom";
|
|
11
|
+
import { useResizingTable } from "../../atoms/resizing-table.atom";
|
|
12
|
+
import { buildTableSlicers, getTableSlicerColumnNames, } from "../../interface/slicers";
|
|
13
|
+
import { createTableSchema } from "../../validation-schema/table.schema";
|
|
10
14
|
export var TableEditor = function (_a) {
|
|
11
|
-
var sheetId = _a.sheetId, theme = _a.theme, onSubmit = _a.onSubmit, onRemoveTable = _a.onRemoveTable;
|
|
15
|
+
var sheetId = _a.sheetId, theme = _a.theme, tables = _a.tables, namedRanges = _a.namedRanges, onSubmit = _a.onSubmit, onRemoveTable = _a.onRemoveTable, onCreateTable = _a.onCreateTable, onResizeTable = _a.onResizeTable, onCreateSlicer = _a.onCreateSlicer;
|
|
12
16
|
var _b = __read(useEditTableDialogState(), 2), isOpen = _b[0], onOpenChange = _b[1];
|
|
13
17
|
var setFormulaMode = useSetFormulaMode();
|
|
14
18
|
var setFormulaSelections = useSetFormulaSelections();
|
|
@@ -24,25 +28,247 @@ export var TableEditor = function (_a) {
|
|
|
24
28
|
onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(sheetId, tableId, table);
|
|
25
29
|
closeDialog();
|
|
26
30
|
}, [onSubmit, closeDialog]);
|
|
31
|
+
return (React.createElement(React.Fragment, null,
|
|
32
|
+
onCreateTable ? (React.createElement(CreateTableEditor, { onCreateTable: onCreateTable })) : null,
|
|
33
|
+
onResizeTable ? (React.createElement(ResizeTableEditor, { onResizeTable: onResizeTable })) : null,
|
|
34
|
+
onCreateSlicer ? (React.createElement(InsertSlicerEditor, { onCreateSlicer: onCreateSlicer })) : null,
|
|
35
|
+
React.createElement(Dialog, { modal: false, open: isOpen },
|
|
36
|
+
React.createElement(DialogContent, { onEscapeKeyDown: closeDialog, onCloseAutoFocus: function (e) {
|
|
37
|
+
e.preventDefault();
|
|
38
|
+
focusSheet === null || focusSheet === void 0 ? void 0 : focusSheet();
|
|
39
|
+
} },
|
|
40
|
+
React.createElement(DialogTitle, { className: "rnc-drag-handle cursor-move" }, "Edit table"),
|
|
41
|
+
React.createElement(DialogDescription, null, "Update data range and table properties"),
|
|
42
|
+
React.createElement(DialogBody, null, table ? (React.createElement(TableEditorForm, { onSubmit: handleSubmit, table: table, tables: tables, namedRanges: namedRanges, sheetId: sheetId, theme: theme, onCancel: closeDialog, onRemoveTable: onRemoveTable })) : null),
|
|
43
|
+
React.createElement(DialogCloseButton, { onClick: function () {
|
|
44
|
+
closeDialog();
|
|
45
|
+
} },
|
|
46
|
+
React.createElement(Cross2Icon, null))))));
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Excel's "Create Table" dialog: the data range (pre-filled with the selection or the data region
|
|
50
|
+
* around the active cell) and "My table has headers". Unchecked, a `Column1..N` header row is
|
|
51
|
+
* inserted above the data (`CreateTableOptions.hasHeaders: false`).
|
|
52
|
+
*/
|
|
53
|
+
export var CreateTableEditor = function (_a) {
|
|
54
|
+
var onCreateTable = _a.onCreateTable;
|
|
55
|
+
var _b = __read(useCreateTableDialogState(), 2), isOpen = _b[0], onOpenChange = _b[1];
|
|
56
|
+
var request = useCreatingTable();
|
|
57
|
+
var setFormulaMode = useSetFormulaMode();
|
|
58
|
+
var setFormulaSelections = useSetFormulaSelections();
|
|
59
|
+
var focusSheet = useFocusSheet();
|
|
60
|
+
var closeDialog = useCallback(function () {
|
|
61
|
+
setFormulaMode(false);
|
|
62
|
+
setFormulaSelections([]);
|
|
63
|
+
onOpenChange(false);
|
|
64
|
+
}, [setFormulaMode, setFormulaSelections, onOpenChange]);
|
|
65
|
+
var handleSubmit = useCallback(function (range, hasHeaders) {
|
|
66
|
+
if (!request) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
onCreateTable(request.sheetId, request.activeCell, [{ range: range }], { range: range }, request.theme, request.bandedRange, { hasHeaders: hasHeaders });
|
|
70
|
+
closeDialog();
|
|
71
|
+
}, [request, onCreateTable, closeDialog]);
|
|
27
72
|
return (React.createElement(Dialog, { modal: false, open: isOpen },
|
|
28
73
|
React.createElement(DialogContent, { onEscapeKeyDown: closeDialog, onCloseAutoFocus: function (e) {
|
|
29
74
|
e.preventDefault();
|
|
30
75
|
focusSheet === null || focusSheet === void 0 ? void 0 : focusSheet();
|
|
31
76
|
} },
|
|
32
|
-
React.createElement(DialogTitle, { className: "rnc-drag-handle cursor-move" }, "
|
|
33
|
-
React.createElement(DialogDescription, null, "
|
|
34
|
-
React.createElement(DialogBody, null,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
77
|
+
React.createElement(DialogTitle, { className: "rnc-drag-handle cursor-move" }, "Create Table"),
|
|
78
|
+
React.createElement(DialogDescription, null, "Where is the data for your table?"),
|
|
79
|
+
React.createElement(DialogBody, null, request && isOpen ? (React.createElement(CreateTableForm
|
|
80
|
+
// A fresh form per request: its fields are seeded from the request once.
|
|
81
|
+
, {
|
|
82
|
+
// A fresh form per request: its fields are seeded from the request once.
|
|
83
|
+
key: "".concat(request.sheetId, ":").concat(request.range.startRowIndex, ":").concat(request.range.startColumnIndex, ":").concat(request.range.endRowIndex, ":").concat(request.range.endColumnIndex), request: request, onSubmit: handleSubmit, onCancel: closeDialog })) : null),
|
|
84
|
+
React.createElement(DialogCloseButton, { onClick: closeDialog },
|
|
85
|
+
React.createElement(Cross2Icon, null)))));
|
|
86
|
+
};
|
|
87
|
+
var CreateTableForm = function (_a) {
|
|
88
|
+
var request = _a.request, onSubmit = _a.onSubmit, onCancel = _a.onCancel;
|
|
89
|
+
var _b = __read(useState(request.range), 2), range = _b[0], setRange = _b[1];
|
|
90
|
+
var _c = __read(useState(request.hasHeaders), 2), hasHeaders = _c[0], setHasHeaders = _c[1];
|
|
91
|
+
var formulaInput = useFormulaInputState(request.sheetId, __assign(__assign({}, request.range), { sheetId: request.sheetId }));
|
|
92
|
+
return (React.createElement("form", { onSubmit: function (e) {
|
|
93
|
+
e.preventDefault();
|
|
94
|
+
if (range) {
|
|
95
|
+
onSubmit(range, hasHeaders);
|
|
96
|
+
}
|
|
97
|
+
}, className: "m-0 p-0" },
|
|
98
|
+
React.createElement(Stack, { direction: "vertical", className: "pb-2 gap-2" },
|
|
99
|
+
React.createElement(FormulaInput, { onChange: function (value) {
|
|
100
|
+
// An unparsable range disables OK until the text reads as a range again.
|
|
101
|
+
setRange(undefined);
|
|
102
|
+
formulaInput.onChange(value, function (parsed) {
|
|
103
|
+
setRange(parsed);
|
|
104
|
+
});
|
|
105
|
+
}, value: formulaInput.value, required: true }),
|
|
106
|
+
React.createElement("label", { className: "font-system text-sm flex items-center gap-1" },
|
|
107
|
+
React.createElement("input", { type: "checkbox", id: "rnc-table-has-headers-element", checked: hasHeaders, name: "hasHeaders", onChange: function (e) { return setHasHeaders(e.target.checked); } }),
|
|
108
|
+
"My table has headers")),
|
|
109
|
+
React.createElement("div", { className: "flex gap-1 pt-2" },
|
|
110
|
+
React.createElement(Button, { type: "submit", variant: "primary", size: "xs", disabled: !range }, "OK"),
|
|
111
|
+
React.createElement(Button, { size: "xs", onClick: onCancel, type: "button" }, "Cancel"))));
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Excel's rule for a resized table: the header row stays where it is and the new range must
|
|
115
|
+
* overlap the original one. Overlaps with other tables or merged cells are refused by the engines
|
|
116
|
+
* themselves (`onResizeTable`).
|
|
117
|
+
*/
|
|
118
|
+
export var RESIZE_TABLE_RANGE_ERROR = "The header row must remain in the same row, and the resulting table range must overlap the original table range.";
|
|
119
|
+
export var getResizeTableRangeError = function (table, range) {
|
|
120
|
+
var overlapsColumns = range.startColumnIndex <= table.range.endColumnIndex &&
|
|
121
|
+
range.endColumnIndex >= table.range.startColumnIndex;
|
|
122
|
+
return range.startRowIndex === table.range.startRowIndex && overlapsColumns
|
|
123
|
+
? undefined
|
|
124
|
+
: RESIZE_TABLE_RANGE_ERROR;
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Excel's "Resize Table" dialog: the table's range, editable, submitted through
|
|
128
|
+
* `onResizeTable` once it keeps the header row and overlaps the original range.
|
|
129
|
+
*/
|
|
130
|
+
export var ResizeTableEditor = function (_a) {
|
|
131
|
+
var onResizeTable = _a.onResizeTable;
|
|
132
|
+
var _b = __read(useResizeTableDialogState(), 2), isOpen = _b[0], onOpenChange = _b[1];
|
|
133
|
+
var table = useResizingTable();
|
|
134
|
+
var setFormulaMode = useSetFormulaMode();
|
|
135
|
+
var setFormulaSelections = useSetFormulaSelections();
|
|
136
|
+
var focusSheet = useFocusSheet();
|
|
137
|
+
var closeDialog = useCallback(function () {
|
|
138
|
+
setFormulaMode(false);
|
|
139
|
+
setFormulaSelections([]);
|
|
140
|
+
onOpenChange(false);
|
|
141
|
+
}, [setFormulaMode, setFormulaSelections, onOpenChange]);
|
|
142
|
+
var handleSubmit = useCallback(function (range) {
|
|
143
|
+
if (!table) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
onResizeTable(table.sheetId, table, range);
|
|
147
|
+
closeDialog();
|
|
148
|
+
}, [table, onResizeTable, closeDialog]);
|
|
149
|
+
return (React.createElement(Dialog, { modal: false, open: isOpen },
|
|
150
|
+
React.createElement(DialogContent, { onEscapeKeyDown: closeDialog, onCloseAutoFocus: function (e) {
|
|
151
|
+
e.preventDefault();
|
|
152
|
+
focusSheet === null || focusSheet === void 0 ? void 0 : focusSheet();
|
|
153
|
+
} },
|
|
154
|
+
React.createElement(DialogTitle, { className: "rnc-drag-handle cursor-move" }, "Resize Table"),
|
|
155
|
+
React.createElement(DialogDescription, null, "Select the new data range for your table:"),
|
|
156
|
+
React.createElement(DialogBody, null, table && isOpen ? (React.createElement(ResizeTableForm
|
|
157
|
+
// A fresh form per table: its field is seeded from the table once.
|
|
158
|
+
, {
|
|
159
|
+
// A fresh form per table: its field is seeded from the table once.
|
|
160
|
+
key: "".concat(table.sheetId, ":").concat(table.id, ":").concat(table.range.startRowIndex, ":").concat(table.range.startColumnIndex, ":").concat(table.range.endRowIndex, ":").concat(table.range.endColumnIndex), table: table, onSubmit: handleSubmit, onCancel: closeDialog })) : null),
|
|
161
|
+
React.createElement(DialogCloseButton, { onClick: closeDialog },
|
|
162
|
+
React.createElement(Cross2Icon, null)))));
|
|
163
|
+
};
|
|
164
|
+
var ResizeTableForm = function (_a) {
|
|
165
|
+
var table = _a.table, onSubmit = _a.onSubmit, onCancel = _a.onCancel;
|
|
166
|
+
var _b = __read(useState(table.range), 2), range = _b[0], setRange = _b[1];
|
|
167
|
+
var _c = __read(useState(), 2), error = _c[0], setError = _c[1];
|
|
168
|
+
var formulaInput = useFormulaInputState(table.sheetId, __assign(__assign({}, table.range), { sheetId: table.sheetId }));
|
|
169
|
+
return (React.createElement("form", { onSubmit: function (e) {
|
|
170
|
+
e.preventDefault();
|
|
171
|
+
if (!range) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
var rangeError = getResizeTableRangeError(table, range);
|
|
175
|
+
setError(rangeError);
|
|
176
|
+
if (!rangeError) {
|
|
177
|
+
onSubmit(range);
|
|
178
|
+
}
|
|
179
|
+
}, className: "m-0 p-0" },
|
|
180
|
+
React.createElement(Stack, { direction: "vertical", className: "pb-2 gap-2" },
|
|
181
|
+
React.createElement(FormulaInput, { onChange: function (value) {
|
|
182
|
+
// An unparsable range disables OK until the text reads as a range again.
|
|
183
|
+
setRange(undefined);
|
|
184
|
+
setError(undefined);
|
|
185
|
+
formulaInput.onChange(value, function (parsed) {
|
|
186
|
+
setRange(parsed);
|
|
187
|
+
});
|
|
188
|
+
}, value: formulaInput.value, required: true }),
|
|
189
|
+
React.createElement("p", { className: "font-system text-xs text-rnc-muted-foreground m-0" }, "Note: The headers must remain in the same row, and the resulting table range must overlap the original table range."),
|
|
190
|
+
error ? (React.createElement("p", { role: "alert", className: "font-system text-xs text-rnc-destructive m-0" }, error)) : null),
|
|
191
|
+
React.createElement("div", { className: "flex gap-1 pt-2" },
|
|
192
|
+
React.createElement(Button, { type: "submit", variant: "primary", size: "xs", disabled: !range }, "OK"),
|
|
193
|
+
React.createElement(Button, { size: "xs", onClick: onCancel, type: "button" }, "Cancel"))));
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
* Excel's "Insert Slicers" dialog: the table's columns as checkboxes; OK creates one table-bound
|
|
197
|
+
* slicer per checked column (`buildTableSlicers`), placed right of the table.
|
|
198
|
+
*/
|
|
199
|
+
export var InsertSlicerEditor = function (_a) {
|
|
200
|
+
var onCreateSlicer = _a.onCreateSlicer;
|
|
201
|
+
var _b = __read(useInsertSlicerDialogState(), 2), isOpen = _b[0], onOpenChange = _b[1];
|
|
202
|
+
var table = useInsertingSlicer();
|
|
203
|
+
var focusSheet = useFocusSheet();
|
|
204
|
+
var closeDialog = useCallback(function () { return onOpenChange(false); }, [onOpenChange]);
|
|
205
|
+
var handleSubmit = useCallback(function (columnIndexes) {
|
|
206
|
+
var e_1, _a;
|
|
207
|
+
if (!table) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
try {
|
|
211
|
+
for (var _b = __values(buildTableSlicers(table, columnIndexes)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
212
|
+
var slicer = _c.value;
|
|
213
|
+
onCreateSlicer(slicer);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
217
|
+
finally {
|
|
218
|
+
try {
|
|
219
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
220
|
+
}
|
|
221
|
+
finally { if (e_1) throw e_1.error; }
|
|
222
|
+
}
|
|
223
|
+
closeDialog();
|
|
224
|
+
}, [table, onCreateSlicer, closeDialog]);
|
|
225
|
+
return (React.createElement(Dialog, { modal: false, open: isOpen },
|
|
226
|
+
React.createElement(DialogContent, { onEscapeKeyDown: closeDialog, onCloseAutoFocus: function (e) {
|
|
227
|
+
e.preventDefault();
|
|
228
|
+
focusSheet === null || focusSheet === void 0 ? void 0 : focusSheet();
|
|
229
|
+
} },
|
|
230
|
+
React.createElement(DialogTitle, { className: "rnc-drag-handle cursor-move" }, "Insert Slicers"),
|
|
231
|
+
React.createElement(DialogDescription, null, "Choose the columns to filter the table by:"),
|
|
232
|
+
React.createElement(DialogBody, null, table && isOpen ? (React.createElement(InsertSlicerForm
|
|
233
|
+
// A fresh form per table: its checkboxes are seeded from the table once.
|
|
234
|
+
, {
|
|
235
|
+
// A fresh form per table: its checkboxes are seeded from the table once.
|
|
236
|
+
key: "".concat(table.sheetId, ":").concat(table.id), table: table, onSubmit: handleSubmit, onCancel: closeDialog })) : null),
|
|
237
|
+
React.createElement(DialogCloseButton, { onClick: closeDialog },
|
|
38
238
|
React.createElement(Cross2Icon, null)))));
|
|
39
239
|
};
|
|
240
|
+
var InsertSlicerForm = function (_a) {
|
|
241
|
+
var table = _a.table, onSubmit = _a.onSubmit, onCancel = _a.onCancel;
|
|
242
|
+
var names = useMemo(function () { return getTableSlicerColumnNames(table); }, [table]);
|
|
243
|
+
var _b = __read(useState([]), 2), checked = _b[0], setChecked = _b[1];
|
|
244
|
+
return (React.createElement("form", { onSubmit: function (e) {
|
|
245
|
+
e.preventDefault();
|
|
246
|
+
if (checked.length) {
|
|
247
|
+
onSubmit(__spreadArray([], __read(checked), false).sort(function (a, b) { return a - b; }));
|
|
248
|
+
}
|
|
249
|
+
}, className: "m-0 p-0" },
|
|
250
|
+
React.createElement(Stack, { direction: "vertical", className: "pb-2 gap-1" }, names.map(function (name, index) { return (React.createElement("label", { key: index, className: "font-system text-sm flex items-center gap-1" },
|
|
251
|
+
React.createElement("input", { type: "checkbox", name: "slicerColumn", value: index, checked: checked.includes(index), onChange: function (e) {
|
|
252
|
+
return setChecked(function (prev) {
|
|
253
|
+
return e.target.checked
|
|
254
|
+
? __spreadArray(__spreadArray([], __read(prev), false), [index], false) : prev.filter(function (i) { return i !== index; });
|
|
255
|
+
});
|
|
256
|
+
} }),
|
|
257
|
+
name)); })),
|
|
258
|
+
React.createElement("div", { className: "flex gap-1 pt-2" },
|
|
259
|
+
React.createElement(Button, { type: "submit", variant: "primary", size: "xs", disabled: !checked.length }, "OK"),
|
|
260
|
+
React.createElement(Button, { size: "xs", onClick: onCancel, type: "button" }, "Cancel"))));
|
|
261
|
+
};
|
|
40
262
|
var TableEditorForm = function (_a) {
|
|
41
|
-
var table = _a.table, sheetId = _a.sheetId, theme = _a.theme, onSubmit = _a.onSubmit, onCancel = _a.onCancel, onRemoveTable = _a.onRemoveTable;
|
|
263
|
+
var table = _a.table, tables = _a.tables, namedRanges = _a.namedRanges, sheetId = _a.sheetId, theme = _a.theme, onSubmit = _a.onSubmit, onCancel = _a.onCancel, onRemoveTable = _a.onRemoveTable;
|
|
264
|
+
var validationSchema = useMemo(function () {
|
|
265
|
+
var _a, _b;
|
|
266
|
+
return createTableSchema((_a = tables === null || tables === void 0 ? void 0 : tables.filter(function (t) { return t.id !== table.id; }).map(function (t) { return t.title; })) !== null && _a !== void 0 ? _a : [], (_b = namedRanges === null || namedRanges === void 0 ? void 0 : namedRanges.map(function (namedRange) { return namedRange.name; })) !== null && _b !== void 0 ? _b : []);
|
|
267
|
+
}, [tables, namedRanges, table.id]);
|
|
42
268
|
var _b = useFormik({
|
|
43
269
|
initialValues: table,
|
|
44
270
|
enableReinitialize: true,
|
|
45
|
-
validationSchema:
|
|
271
|
+
validationSchema: validationSchema,
|
|
46
272
|
onSubmit: function (values) {
|
|
47
273
|
var _a;
|
|
48
274
|
var tableTheme = (_a = values.theme) !== null && _a !== void 0 ? _a : "TableStyleLight1";
|
|
@@ -61,7 +287,7 @@ var TableEditorForm = function (_a) {
|
|
|
61
287
|
onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(sheetId, newTable.id, newTable);
|
|
62
288
|
}
|
|
63
289
|
},
|
|
64
|
-
}), _c = _b.values, title = _c.title, _d = _c.showRowStripes, showRowStripes = _d === void 0 ? true : _d, _e = _c.showColumnStripes, showColumnStripes = _e === void 0 ? false : _e, _f = _c.filterButton, filterButton =
|
|
290
|
+
}), _c = _b.values, title = _c.title, _d = _c.showRowStripes, showRowStripes = _d === void 0 ? true : _d, _e = _c.showColumnStripes, showColumnStripes = _e === void 0 ? false : _e, _f = _c.showFirstColumn, showFirstColumn = _f === void 0 ? false : _f, _g = _c.showLastColumn, showLastColumn = _g === void 0 ? false : _g, _h = _c.filterButton, filterButton = _h === void 0 ? true : _h, range = _c.range, _j = _c.headerRow, headerRow = _j === void 0 ? true : _j, _k = _c.totalRow, totalRow = _k === void 0 ? false : _k, errors = _b.errors, handleChange = _b.handleChange, handleSubmit = _b.handleSubmit, setFieldValue = _b.setFieldValue, resetForm = _b.resetForm;
|
|
65
291
|
// Formula input helper
|
|
66
292
|
var formulaInput = useFormulaInputState(sheetId, __assign(__assign({}, range), { sheetId: sheetId }));
|
|
67
293
|
return (React.createElement("form", { onSubmit: handleSubmit, className: "m-0 p-0" },
|
|
@@ -77,6 +303,16 @@ var TableEditorForm = function (_a) {
|
|
|
77
303
|
});
|
|
78
304
|
}, value: formulaInput.value, required: true })),
|
|
79
305
|
React.createElement(Stack, { direction: "horizontal", className: "grid grid-cols-2 gap-2" },
|
|
306
|
+
React.createElement("label", { className: "font-system text-sm flex items-center gap-1" },
|
|
307
|
+
React.createElement("input", { type: "checkbox", id: "rnc-header-row-element", checked: headerRow !== null && headerRow !== void 0 ? headerRow : true, name: "headerRow", onChange: function (e) {
|
|
308
|
+
setFieldValue("headerRow", e.target.checked);
|
|
309
|
+
} }),
|
|
310
|
+
"Header row"),
|
|
311
|
+
React.createElement("label", { className: "font-system text-sm flex items-center gap-1" },
|
|
312
|
+
React.createElement("input", { type: "checkbox", id: "rnc-total-row-element", checked: totalRow !== null && totalRow !== void 0 ? totalRow : false, name: "totalRow", onChange: function (e) {
|
|
313
|
+
setFieldValue("totalRow", e.target.checked);
|
|
314
|
+
} }),
|
|
315
|
+
"Show total row"),
|
|
80
316
|
React.createElement("label", { className: "font-system text-sm flex items-center gap-1" },
|
|
81
317
|
React.createElement("input", { type: "checkbox", checked: showRowStripes !== null && showRowStripes !== void 0 ? showRowStripes : undefined, name: "showRowStripes", onChange: function (e) {
|
|
82
318
|
setFieldValue("showRowStripes", e.target.checked);
|
|
@@ -88,15 +324,20 @@ var TableEditorForm = function (_a) {
|
|
|
88
324
|
} }),
|
|
89
325
|
"Banded columns"),
|
|
90
326
|
React.createElement("label", { className: "font-system text-sm flex items-center gap-1" },
|
|
91
|
-
React.createElement("input", { type: "checkbox", id: "rnc-
|
|
92
|
-
setFieldValue("
|
|
327
|
+
React.createElement("input", { type: "checkbox", id: "rnc-first-column-element", checked: showFirstColumn !== null && showFirstColumn !== void 0 ? showFirstColumn : false, name: "showFirstColumn", onChange: function (e) {
|
|
328
|
+
setFieldValue("showFirstColumn", e.target.checked);
|
|
93
329
|
} }),
|
|
94
|
-
"
|
|
330
|
+
"First column"),
|
|
95
331
|
React.createElement("label", { className: "font-system text-sm flex items-center gap-1" },
|
|
96
|
-
React.createElement("input", { type: "checkbox", id: "rnc-
|
|
97
|
-
setFieldValue("
|
|
332
|
+
React.createElement("input", { type: "checkbox", id: "rnc-last-column-element", checked: showLastColumn !== null && showLastColumn !== void 0 ? showLastColumn : false, name: "showLastColumn", onChange: function (e) {
|
|
333
|
+
setFieldValue("showLastColumn", e.target.checked);
|
|
334
|
+
} }),
|
|
335
|
+
"Last column"),
|
|
336
|
+
React.createElement("label", { className: "font-system text-sm flex items-center gap-1" },
|
|
337
|
+
React.createElement("input", { type: "checkbox", id: "rnc-filter-button-element", checked: filterButton !== null && filterButton !== void 0 ? filterButton : undefined, name: "filterButton", disabled: headerRow === false, onChange: function (e) {
|
|
338
|
+
setFieldValue("filterButton", e.target.checked);
|
|
98
339
|
} }),
|
|
99
|
-
"Show
|
|
340
|
+
"Show filter button"))),
|
|
100
341
|
React.createElement("div", { className: "flex gap-1 pt-2" },
|
|
101
342
|
React.createElement(Button, { type: "submit", variant: "primary", size: "xs" }, "Save"),
|
|
102
343
|
React.createElement(Button, { size: "xs", onClick: function () {
|
|
@@ -10,4 +10,5 @@ export * from "./editors/insert-image-editor";
|
|
|
10
10
|
export * from "./editors/insert-link-editor";
|
|
11
11
|
export * from "./editors/data-validation-editor";
|
|
12
12
|
export * from "./editors/embed-editor";
|
|
13
|
+
export * from "./editors/slicer-editor";
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
|
package/dist/cjs/constants.d.ts
CHANGED
|
@@ -13,8 +13,16 @@ export declare const MERGED_CELL_REFUSAL_MESSAGE = "We can't do that to a merged
|
|
|
13
13
|
export declare const TABLE_SHIFT_REFUSAL_MESSAGE = "This won't work because it would move cells in a table on your worksheet.";
|
|
14
14
|
/** ANC-14 — the shifted band covers only part of a CSE / dynamic array. */
|
|
15
15
|
export declare const ARRAY_REFUSAL_MESSAGE = "You can't change part of an array.";
|
|
16
|
+
/** T-42 — a merge whose region touches a table (Excel refuses every merge inside a table). */
|
|
17
|
+
export declare const TABLE_MERGE_REFUSAL_MESSAGE = "This operation is not allowed. The operation is attempting to shift cells in a table on your worksheet.";
|
|
18
|
+
/** T-17 — a table resize whose new range would overlap another table on the sheet. */
|
|
19
|
+
export declare const TABLE_OVERLAP_REFUSAL_MESSAGE = "A table cannot overlap another table.";
|
|
20
|
+
/** T-17 — a table resize whose new range would cover a merged cell. */
|
|
21
|
+
export declare const TABLE_MERGED_CELLS_REFUSAL_MESSAGE = "A table cannot overlap a range that contains a PivotTable report, query results, protected cells or merged cells.";
|
|
22
|
+
/** T-81 — a fill whose target reaches a table's totals row (Excel's fill handle never extends over it). */
|
|
23
|
+
export declare const TABLE_TOTALS_FILL_REFUSAL_MESSAGE = "This won't work because it would overwrite the totals row of a table on your worksheet.";
|
|
16
24
|
/** Machine-readable refusal codes — the rnc engine's `CommitResult.rejected.code` uses the same set. */
|
|
17
|
-
export type StructuralRefusalCode = "off-sheet-push" | "torn-merge" | "torn-table" | "torn-array";
|
|
25
|
+
export type StructuralRefusalCode = "off-sheet-push" | "torn-merge" | "torn-table" | "torn-array" | "table-merge" | "table-overlap" | "table-merged-cells" | "table-totals-fill";
|
|
18
26
|
export type StructuralRefusal = {
|
|
19
27
|
code: StructuralRefusalCode;
|
|
20
28
|
title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,oBAAoB,CAAC;AAE1D,2GAA2G;AAC3G,eAAO,MAAM,sBAAsB,ySACqQ,CAAC;AAEzS,4EAA4E;AAC5E,eAAO,MAAM,2BAA2B,uCAAuC,CAAC;AAEhF,0DAA0D;AAC1D,eAAO,MAAM,2BAA2B,8EACqC,CAAC;AAE9E,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,uCAAuC,CAAC;AAE1E,wGAAwG;AACxG,MAAM,MAAM,qBAAqB,GAC7B,gBAAgB,GAChB,YAAY,GACZ,YAAY,GACZ,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,oBAAoB,CAAC;AAE1D,2GAA2G;AAC3G,eAAO,MAAM,sBAAsB,ySACqQ,CAAC;AAEzS,4EAA4E;AAC5E,eAAO,MAAM,2BAA2B,uCAAuC,CAAC;AAEhF,0DAA0D;AAC1D,eAAO,MAAM,2BAA2B,8EACqC,CAAC;AAE9E,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,uCAAuC,CAAC;AAE1E,8FAA8F;AAC9F,eAAO,MAAM,2BAA2B,4GACmE,CAAC;AAE5G,sFAAsF;AACtF,eAAO,MAAM,6BAA6B,0CACD,CAAC;AAE1C,uEAAuE;AACvE,eAAO,MAAM,kCAAkC,sHACsE,CAAC;AAEtH,2GAA2G;AAC3G,eAAO,MAAM,iCAAiC,4FAC6C,CAAC;AAE5F,wGAAwG;AACxG,MAAM,MAAM,qBAAqB,GAC7B,gBAAgB,GAChB,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,mBAAmB,CAAC;AAExB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAS7E,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,qBAAqB,KAC1B,iBAID,CAAC"}
|
package/dist/cjs/constants.js
CHANGED
|
@@ -13,11 +13,23 @@ export var MERGED_CELL_REFUSAL_MESSAGE = "We can't do that to a merged cell.";
|
|
|
13
13
|
export var TABLE_SHIFT_REFUSAL_MESSAGE = "This won't work because it would move cells in a table on your worksheet.";
|
|
14
14
|
/** ANC-14 — the shifted band covers only part of a CSE / dynamic array. */
|
|
15
15
|
export var ARRAY_REFUSAL_MESSAGE = "You can't change part of an array.";
|
|
16
|
+
/** T-42 — a merge whose region touches a table (Excel refuses every merge inside a table). */
|
|
17
|
+
export var TABLE_MERGE_REFUSAL_MESSAGE = "This operation is not allowed. The operation is attempting to shift cells in a table on your worksheet.";
|
|
18
|
+
/** T-17 — a table resize whose new range would overlap another table on the sheet. */
|
|
19
|
+
export var TABLE_OVERLAP_REFUSAL_MESSAGE = "A table cannot overlap another table.";
|
|
20
|
+
/** T-17 — a table resize whose new range would cover a merged cell. */
|
|
21
|
+
export var TABLE_MERGED_CELLS_REFUSAL_MESSAGE = "A table cannot overlap a range that contains a PivotTable report, query results, protected cells or merged cells.";
|
|
22
|
+
/** T-81 — a fill whose target reaches a table's totals row (Excel's fill handle never extends over it). */
|
|
23
|
+
export var TABLE_TOTALS_FILL_REFUSAL_MESSAGE = "This won't work because it would overwrite the totals row of a table on your worksheet.";
|
|
16
24
|
export var STRUCTURAL_REFUSAL_MESSAGES = {
|
|
17
25
|
"off-sheet-push": OFF_SHEET_PUSH_MESSAGE,
|
|
18
26
|
"torn-merge": MERGED_CELL_REFUSAL_MESSAGE,
|
|
19
27
|
"torn-table": TABLE_SHIFT_REFUSAL_MESSAGE,
|
|
20
28
|
"torn-array": ARRAY_REFUSAL_MESSAGE,
|
|
29
|
+
"table-merge": TABLE_MERGE_REFUSAL_MESSAGE,
|
|
30
|
+
"table-overlap": TABLE_OVERLAP_REFUSAL_MESSAGE,
|
|
31
|
+
"table-merged-cells": TABLE_MERGED_CELLS_REFUSAL_MESSAGE,
|
|
32
|
+
"table-totals-fill": TABLE_TOTALS_FILL_REFUSAL_MESSAGE,
|
|
21
33
|
};
|
|
22
34
|
export var structuralRefusal = function (code) { return ({
|
|
23
35
|
code: code,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Formatters for auto-generated names such as "Sheet1", "
|
|
2
|
+
* Formatters for auto-generated names such as "Sheet1", "Table1",
|
|
3
3
|
* "Column1" and "Copy of Sheet1".
|
|
4
4
|
*
|
|
5
5
|
* Pass `generatedNames` to `useSpreadsheetState` to customize or
|
|
@@ -31,11 +31,19 @@ export interface GeneratedNames {
|
|
|
31
31
|
*/
|
|
32
32
|
sheetCopy?: (title: string) => string | undefined;
|
|
33
33
|
/**
|
|
34
|
-
* Title for a
|
|
34
|
+
* Title for a chartsheet created by "Move Chart → New sheet". Default:
|
|
35
|
+
* `Chart${index}` (Excel's pattern — the first unused number is picked).
|
|
36
|
+
*/
|
|
37
|
+
chartSheet?: (index: number) => string | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Title for a newly created table. Default: `Table${index}` (Excel's
|
|
40
|
+
* pattern — no space; the first unused number is picked).
|
|
35
41
|
*/
|
|
36
42
|
table?: (index: number) => string | undefined;
|
|
37
43
|
/**
|
|
38
|
-
*
|
|
44
|
+
* @deprecated No longer applied: a pasted table is named like a new one
|
|
45
|
+
* (the next free `Table${index}`, via `table`), as in Excel — `Copy of
|
|
46
|
+
* ${title}` is not a valid table name.
|
|
39
47
|
*/
|
|
40
48
|
tableCopy?: (title: string) => string | undefined;
|
|
41
49
|
/**
|
|
@@ -45,7 +53,9 @@ export interface GeneratedNames {
|
|
|
45
53
|
}
|
|
46
54
|
export declare const getGeneratedSheetName: (index: number, generatedNames?: GeneratedNames) => string;
|
|
47
55
|
export declare const getGeneratedSheetCopyName: (title: string, generatedNames?: GeneratedNames) => string;
|
|
56
|
+
export declare const getGeneratedChartSheetName: (index: number, generatedNames?: GeneratedNames) => string;
|
|
48
57
|
export declare const getGeneratedTableName: (index: number, generatedNames?: GeneratedNames) => string;
|
|
58
|
+
/** @deprecated See `GeneratedNames.tableCopy`. */
|
|
49
59
|
export declare const getGeneratedTableCopyName: (title: string, generatedNames?: GeneratedNames) => string;
|
|
50
60
|
export declare const getGeneratedTableColumnName: (index: number, generatedNames?: GeneratedNames) => string;
|
|
51
61
|
//# sourceMappingURL=generated-names.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generated-names.d.ts","sourceRoot":"","sources":["../../generated-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9C;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAClD
|
|
1
|
+
{"version":3,"file":"generated-names.d.ts","sourceRoot":"","sources":["../../generated-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9C;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAClD;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACnD;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9C;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAClD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACrD;AAED,eAAO,MAAM,qBAAqB,GAChC,OAAO,MAAM,EACb,iBAAiB,cAAc,KAC9B,MAA2D,CAAC;AAE/D,eAAO,MAAM,yBAAyB,GACpC,OAAO,MAAM,EACb,iBAAiB,cAAc,KAC9B,MAAkE,CAAC;AAEtE,eAAO,MAAM,0BAA0B,GACrC,OAAO,MAAM,EACb,iBAAiB,cAAc,KAC9B,MAAgE,CAAC;AAEpE,eAAO,MAAM,qBAAqB,GAChC,OAAO,MAAM,EACb,iBAAiB,cAAc,KAC9B,MAA2D,CAAC;AAE/D,kDAAkD;AAClD,eAAO,MAAM,yBAAyB,GACpC,OAAO,MAAM,EACb,iBAAiB,cAAc,KAC9B,MAAkE,CAAC;AAEtE,eAAO,MAAM,2BAA2B,GACtC,OAAO,MAAM,EACb,iBAAiB,cAAc,KAC9B,MAAkE,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export var getGeneratedSheetName = function (index, generatedNames) { var _a, _b; return (_b = (_a = generatedNames === null || generatedNames === void 0 ? void 0 : generatedNames.sheet) === null || _a === void 0 ? void 0 : _a.call(generatedNames, index)) !== null && _b !== void 0 ? _b : "Sheet".concat(index); };
|
|
2
2
|
export var getGeneratedSheetCopyName = function (title, generatedNames) { var _a, _b; return (_b = (_a = generatedNames === null || generatedNames === void 0 ? void 0 : generatedNames.sheetCopy) === null || _a === void 0 ? void 0 : _a.call(generatedNames, title)) !== null && _b !== void 0 ? _b : "Copy of ".concat(title); };
|
|
3
|
-
export var
|
|
3
|
+
export var getGeneratedChartSheetName = function (index, generatedNames) { var _a, _b; return (_b = (_a = generatedNames === null || generatedNames === void 0 ? void 0 : generatedNames.chartSheet) === null || _a === void 0 ? void 0 : _a.call(generatedNames, index)) !== null && _b !== void 0 ? _b : "Chart".concat(index); };
|
|
4
|
+
export var getGeneratedTableName = function (index, generatedNames) { var _a, _b; return (_b = (_a = generatedNames === null || generatedNames === void 0 ? void 0 : generatedNames.table) === null || _a === void 0 ? void 0 : _a.call(generatedNames, index)) !== null && _b !== void 0 ? _b : "Table".concat(index); };
|
|
5
|
+
/** @deprecated See `GeneratedNames.tableCopy`. */
|
|
4
6
|
export var getGeneratedTableCopyName = function (title, generatedNames) { var _a, _b; return (_b = (_a = generatedNames === null || generatedNames === void 0 ? void 0 : generatedNames.tableCopy) === null || _a === void 0 ? void 0 : _a.call(generatedNames, title)) !== null && _b !== void 0 ? _b : "Copy of ".concat(title); };
|
|
5
7
|
export var getGeneratedTableColumnName = function (index, generatedNames) { var _a, _b; return (_b = (_a = generatedNames === null || generatedNames === void 0 ? void 0 : generatedNames.tableColumn) === null || _a === void 0 ? void 0 : _a.call(generatedNames, index)) !== null && _b !== void 0 ? _b : "Column".concat(index); };
|
package/dist/cjs/helpers.d.ts
CHANGED
|
@@ -28,6 +28,11 @@ export declare function combineMapIterators<K, V>(...mapIterators: IterableItera
|
|
|
28
28
|
* @returns
|
|
29
29
|
*/
|
|
30
30
|
export declare function combineMapIteratorsWithFormatting<K, V, F>(...mapIterators: IterableIterator<[K, V, formatting?: F]>[]): IterableIterator<[K, V, formatting?: F]>;
|
|
31
|
+
/**
|
|
32
|
+
* Default title for a new table — `Table1`, `Table2`, … with the lowest
|
|
33
|
+
* number no existing table uses (case-insensitive), like Excel.
|
|
34
|
+
*/
|
|
35
|
+
export declare const getNextTableTitle: (tables?: Pick<TableView, "title">[] | null, generatedNames?: GeneratedNames) => string;
|
|
31
36
|
/**
|
|
32
37
|
* Get unique table column name
|
|
33
38
|
* @param columns
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAI7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQxD;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,QAAQ,EACvD,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EACnE,gBAAwB,KACvB,OAAO,CAAC,CAAC,CAAC,EAeZ,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,UAAU,GAAG,SAAS,KAC7B,MAAM,IAAI,SAEZ,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EACtC,GAAG,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAC1C,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAkB1B;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACvD,GAAG,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAC1D,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAkB1C;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAC1C,iBAAiB,cAAc,WAK9B,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,EAAE,GAAG,IAAI,EACzB,iBAAiB,cAAc,WAYhC,CAAC;AAIF,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,SAAS,EAAE,GAAG,SAAS,EAC/B,aAAa,SAAS,0BAsBvB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,WA6BxD,CAAC;AAEF,eAAO,MAAM,oBAAoB,WAAW,CAAC"}
|
package/dist/cjs/helpers.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getNextTableName } from "@rowsncolumns/utils";
|
|
2
|
+
import { getGeneratedTableColumnName, getGeneratedTableName, } from "./generated-names";
|
|
2
3
|
import { defaultCellCoords, defaultSheetId, SheetCell } from "./sheet-cell";
|
|
3
4
|
/**
|
|
4
5
|
* Convert
|
|
@@ -88,6 +89,14 @@ export function combineMapIteratorsWithFormatting() {
|
|
|
88
89
|
},
|
|
89
90
|
_a;
|
|
90
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Default title for a new table — `Table1`, `Table2`, … with the lowest
|
|
94
|
+
* number no existing table uses (case-insensitive), like Excel.
|
|
95
|
+
*/
|
|
96
|
+
export var getNextTableTitle = function (tables, generatedNames) {
|
|
97
|
+
var _a;
|
|
98
|
+
return getNextTableName((_a = tables === null || tables === void 0 ? void 0 : tables.map(function (table) { return table.title; })) !== null && _a !== void 0 ? _a : [], function (index) { return getGeneratedTableName(index, generatedNames); });
|
|
99
|
+
};
|
|
91
100
|
/**
|
|
92
101
|
* Get unique table column name
|
|
93
102
|
* @param columns
|
|
@@ -33,11 +33,12 @@ export type UseOnChangeBatchProps<T extends CellData, S extends Sheet = Sheet> =
|
|
|
33
33
|
onChangeSheetData: UseSpreadsheetProps<T, S>["onChangeSheetData"];
|
|
34
34
|
onChangeSheets: UseSpreadsheetProps<T, S>["onChangeSheets"];
|
|
35
35
|
onChangeTables?: UseSpreadsheetProps<T, S>["onChangeTables"];
|
|
36
|
+
onChangeCharts?: UseSpreadsheetProps<T, S>["onChangeCharts"];
|
|
36
37
|
onChangeCitations?: UseSpreadsheetProps<T, S>["onChangeCitations"];
|
|
37
38
|
onChangeTableColumn?: (sheetId: number, coords: {
|
|
38
39
|
rowIndex: number;
|
|
39
40
|
columnIndex: number;
|
|
40
|
-
}, value: string | boolean | undefined, currentTable: TableView | undefined, isRowExpansion: boolean, isColumnExpansion: boolean, range: GridRange) => void;
|
|
41
|
+
}, value: string | boolean | undefined, currentTable: TableView | undefined, isRowExpansion: boolean, isColumnExpansion: boolean, range: GridRange, headerValues?: (string | boolean | number | null | undefined)[]) => void;
|
|
41
42
|
onChangeCalculatedColumn?: (sheetId: number, coords: {
|
|
42
43
|
rowIndex: number;
|
|
43
44
|
columnIndex: number;
|
|
@@ -49,6 +50,22 @@ export type UseOnChangeBatchProps<T extends CellData, S extends Sheet = Sheet> =
|
|
|
49
50
|
tokenizer?(value: string): ParsedToken[];
|
|
50
51
|
onCommand?: OnCommand;
|
|
51
52
|
generatedNames?: GeneratedNames;
|
|
53
|
+
/** `useUndoRedo`'s `batchHistory`: the writes and the table growth they trigger undo as one step when wired. */
|
|
54
|
+
batchHistory?: <R>(action: () => R) => R;
|
|
55
|
+
/**
|
|
56
|
+
* Excel's "Include new rows and columns in table" AutoCorrect option: a value typed, pasted or
|
|
57
|
+
* filled into the row below / column right of a table grows the table. `false` turns the
|
|
58
|
+
* auto-expansion off (the "Stop Automatically Expanding Tables" smart-tag action).
|
|
59
|
+
* @default true
|
|
60
|
+
*/
|
|
61
|
+
autoExpandTables?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Excel's "Fill formulas in tables to create calculated columns" AutoCorrect option. `false`
|
|
64
|
+
* leaves a formula typed into a table column a one-cell edit (the "Stop automatically creating
|
|
65
|
+
* calculated columns" smart-tag action).
|
|
66
|
+
* @default true
|
|
67
|
+
*/
|
|
68
|
+
autoCalculatedColumns?: boolean;
|
|
52
69
|
};
|
|
53
|
-
export declare const useOnChangeBatch: <T extends CellData, K extends CellFormat, S extends Sheet = Sheet>({ locale, cellXfsRegistry, sharedStringRegistry, getDataValidationById, enqueueCalculation, onChangeSheetData, onChangeSheets, onChangeTables, tables, createHistory, getFormattedValue, getUserEnteredValue, getCellDimensions, getRowHeight, isMergedCell, enqueueGraphOperation, getDependents, getSheetName, onChangeCitations, onCommand, generatedNames, }: UseOnChangeBatchProps<T, S>) => (sheetId: number, ranges: GridRange[] | GridRange, values: (string | boolean | number | null | undefined)[][] | string | boolean | number | null | undefined, formatting?: (K | undefined | null)[][] | K | null | undefined, citations?: (string | undefined | null)[][] | string | null | undefined, changeBatchOptions?: ChangeBatchOptions) => void;
|
|
70
|
+
export declare const useOnChangeBatch: <T extends CellData, K extends CellFormat, S extends Sheet = Sheet>({ locale, cellXfsRegistry, sharedStringRegistry, getDataValidationById, enqueueCalculation, onChangeSheetData, onChangeSheets, onChangeTables, onChangeCharts, tables, createHistory, getFormattedValue, getUserEnteredValue, getCellDimensions, getRowHeight, isMergedCell, enqueueGraphOperation, getDependents, getSheetName, onChangeCitations, onCommand, generatedNames, batchHistory, autoExpandTables, autoCalculatedColumns, }: UseOnChangeBatchProps<T, S>) => (sheetId: number, ranges: GridRange[] | GridRange, values: (string | boolean | number | null | undefined)[][] | string | boolean | number | null | undefined, formatting?: (K | undefined | null)[][] | K | null | undefined, citations?: (string | undefined | null)[][] | string | null | undefined, changeBatchOptions?: ChangeBatchOptions) => void;
|
|
54
71
|
//# sourceMappingURL=use-on-change-batch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-on-change-batch.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-change-batch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"use-on-change-batch.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-change-batch.ts"],"names":[],"mappings":"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"}
|