@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../api/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,UAAU,EACV,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,uBAAuB,GAAG;IACpC,oEAAoE;IACpE,WAAW,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACzC,mEAAmE;IACnE,UAAU,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../api/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,uBAAuB,GAAG;IACpC,oEAAoE;IACpE,WAAW,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACzC,mEAAmE;IACnE,UAAU,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACvC;;;OAGG;IACH,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,aAAa,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC5C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAAI,UAAU,cAAc,KAAG,OAO/D,CAAC;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAC5B,aAAa,UAAU,EAAE,GAAG,SAAS,EACrC,aAAa,MAAM,EACnB,eAAe,aAAa,GAAG,SAAS,EACxC,iBAAiB,cAAc,EAAE,GAAG,SAAS,EAC7C,eAAe,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI,EAC1C,SAAQ,uBAA4B,KACnC,UAAU,EAuDZ,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GACzC,cAAa,UAAU,EAAO,+BAO/B,CAAC"}
|
package/dist/cjs/api/filter.js
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
import { __assign, __read, __spreadArray, __values } from "tslib";
|
|
2
|
+
/**
|
|
3
|
+
* Whether a column's criteria still filter anything. An entry with no
|
|
4
|
+
* condition, no value whitelist and no color / icon criterion is inert, so
|
|
5
|
+
* `createFilterSpecs` drops it — Excel's "Clear Filter From <column>" —
|
|
6
|
+
* instead of leaving a stale spec behind (the rnc engine's
|
|
7
|
+
* `upsert_filter_spec` removes such entries the same way).
|
|
8
|
+
*/
|
|
9
|
+
export var isFilterCriteriaActive = function (criteria) {
|
|
10
|
+
var _a, _b, _c;
|
|
11
|
+
return Boolean(((_a = criteria.condition) === null || _a === void 0 ? void 0 : _a.type) ||
|
|
12
|
+
((_b = criteria.condition2) === null || _b === void 0 ? void 0 : _b.type) ||
|
|
13
|
+
((_c = criteria.visibleValues) === null || _c === void 0 ? void 0 : _c.length) ||
|
|
14
|
+
criteria.colorFilter ||
|
|
15
|
+
criteria.iconFilter);
|
|
16
|
+
};
|
|
2
17
|
/**
|
|
3
18
|
* Create a new filterspec
|
|
4
19
|
* @param filterSpecs
|
|
@@ -9,13 +24,13 @@ import { __assign, __read, __spreadArray, __values } from "tslib";
|
|
|
9
24
|
* @param extras Optional colorFilter / iconFilter criteria.
|
|
10
25
|
*/
|
|
11
26
|
export var createFilterSpecs = function (filterSpecs, columnIndex, conditionType, conditionValues, visibleValues, extras) {
|
|
12
|
-
var _a, _b;
|
|
27
|
+
var _a, _b, _c, _d;
|
|
13
28
|
if (extras === void 0) { extras = {}; }
|
|
14
29
|
var exists = filterSpecs === null || filterSpecs === void 0 ? void 0 : filterSpecs.find(function (spec) { return spec.columnIndex === columnIndex; });
|
|
15
30
|
// Spec
|
|
16
31
|
var filterSpec = {
|
|
17
32
|
columnIndex: columnIndex,
|
|
18
|
-
filterCriteria: __assign(__assign({ condition: {
|
|
33
|
+
filterCriteria: __assign(__assign(__assign({ condition: {
|
|
19
34
|
type: conditionType,
|
|
20
35
|
values: conditionValues,
|
|
21
36
|
}, visibleValues: visibleValues }, (extras.colorFilter !== undefined
|
|
@@ -26,8 +41,23 @@ export var createFilterSpecs = function (filterSpecs, columnIndex, conditionType
|
|
|
26
41
|
? { iconFilter: (_b = extras.iconFilter) !== null && _b !== void 0 ? _b : undefined }
|
|
27
42
|
: (exists === null || exists === void 0 ? void 0 : exists.filterCriteria.iconFilter)
|
|
28
43
|
? { iconFilter: exists.filterCriteria.iconFilter }
|
|
44
|
+
: {})), (extras.condition2 !== undefined
|
|
45
|
+
? extras.condition2
|
|
46
|
+
? {
|
|
47
|
+
condition2: extras.condition2,
|
|
48
|
+
conditionJoin: (_c = extras.conditionJoin) !== null && _c !== void 0 ? _c : "AND",
|
|
49
|
+
}
|
|
50
|
+
: {}
|
|
51
|
+
: (exists === null || exists === void 0 ? void 0 : exists.filterCriteria.condition2)
|
|
52
|
+
? {
|
|
53
|
+
condition2: exists.filterCriteria.condition2,
|
|
54
|
+
conditionJoin: (_d = exists.filterCriteria.conditionJoin) !== null && _d !== void 0 ? _d : "AND",
|
|
55
|
+
}
|
|
29
56
|
: {})),
|
|
30
57
|
};
|
|
58
|
+
if (!isFilterCriteriaActive(filterSpec.filterCriteria)) {
|
|
59
|
+
return (filterSpecs !== null && filterSpecs !== void 0 ? filterSpecs : []).filter(function (spec) { return spec.columnIndex !== columnIndex; });
|
|
60
|
+
}
|
|
31
61
|
if (exists && filterSpecs) {
|
|
32
62
|
return filterSpecs.map(function (spec) {
|
|
33
63
|
if (spec.columnIndex === columnIndex) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { GridRange } from "@rowsncolumns/common-types";
|
|
1
2
|
import type { ParsedToken } from "@rowsncolumns/spreadsheet";
|
|
2
3
|
export { ERROR_CIRCULAR_DEPENDENCY, ERROR_REFERENCE, formulaToRelativeReference, } from "@rowsncolumns/calculator";
|
|
3
4
|
export type { FormulaToRelativeReferenceOptions } from "@rowsncolumns/calculator";
|
|
@@ -39,6 +40,68 @@ export declare const breakTableReferencesInFormula: (formulaValue: string, table
|
|
|
39
40
|
* `=Table1[@#REF!]*2`). Keeps every other character of the reference as typed.
|
|
40
41
|
*/
|
|
41
42
|
export declare const breakTableColumnsInFormula: (formulaValue: string, tableName: string | undefined, columnNames: string[]) => string;
|
|
43
|
+
/**
|
|
44
|
+
* Rename the column `oldName` → `newName` inside the structured references to
|
|
45
|
+
* `tableName` (or, when `tableName` is undefined, the bare this-row form
|
|
46
|
+
* `[@Col]` whose table is implied by the formula's own cell): `Table1[Qty]`,
|
|
47
|
+
* `[@Qty]`, `Table1[[#Headers],[Qty]]` and `Table1[[Qty]:[Price]]` all follow
|
|
48
|
+
* a header-cell edit in Excel. Column names compare case-insensitively; every
|
|
49
|
+
* other character of the reference is kept as typed.
|
|
50
|
+
*/
|
|
51
|
+
export declare const renameTableColumnInFormula: (formulaValue: string, tableName: string | undefined, oldName: string, newName: string) => string;
|
|
52
|
+
/**
|
|
53
|
+
* Rename several columns of `tableName` at once — `renames` maps each
|
|
54
|
+
* LOWER-CASED old name to its new name. One pass over the formula, so
|
|
55
|
+
* `Name` → `Qty` and `Qty` → `Name` swap instead of chaining into the same
|
|
56
|
+
* column (a header row re-derived after a row delete, or several header cells
|
|
57
|
+
* written by one paste / change-batch).
|
|
58
|
+
*/
|
|
59
|
+
export declare const renameTableColumnsInFormula: (formulaValue: string, tableName: string | undefined, renames: ReadonlyMap<string, string>) => string;
|
|
60
|
+
/**
|
|
61
|
+
* Rename the table `oldName` → `newName` in every structured reference
|
|
62
|
+
* (`Old[Col]`, `Old[@Col]`, `Old[[#Headers],[Col]]`, `Old[#All]`) — Excel
|
|
63
|
+
* rewrites them all when a table is renamed. Table names compare
|
|
64
|
+
* case-insensitively; the bare `[@Col]` form names no table and is left alone.
|
|
65
|
+
*/
|
|
66
|
+
export declare const renameTableInFormula: (formulaValue: string, oldName: string, newName: string) => string;
|
|
67
|
+
/**
|
|
68
|
+
* Rename several tables at once — `renames` maps each LOWER-CASED old name to
|
|
69
|
+
* its new name. One pass, so `Sales` → `Sales2` and `Sales2` → `Sales3` never
|
|
70
|
+
* chain (a sheet duplicated with both tables re-points each reference exactly
|
|
71
|
+
* once).
|
|
72
|
+
*/
|
|
73
|
+
export declare const renameTablesInFormula: (formulaValue: string, renames: ReadonlyMap<string, string>) => string;
|
|
74
|
+
/** The table geometry a structured reference resolves against — the `TableView` fields that matter. */
|
|
75
|
+
export type StructuredRefTable = {
|
|
76
|
+
title: string;
|
|
77
|
+
range: GridRange;
|
|
78
|
+
headerRow?: boolean | null;
|
|
79
|
+
totalRow?: boolean | null;
|
|
80
|
+
/** Column names in header order. */
|
|
81
|
+
columnNames: string[];
|
|
82
|
+
};
|
|
83
|
+
export type ConvertStructuredRefsOptions = {
|
|
84
|
+
/** Name of the sheet the table lives on. */
|
|
85
|
+
tableSheetName: string;
|
|
86
|
+
/** Name of the sheet the formula cell lives on — the reference is sheet-qualified when it differs. */
|
|
87
|
+
formulaSheetName: string;
|
|
88
|
+
/** Row of the formula cell: what a this-row item (`[@Col]`) resolves to. */
|
|
89
|
+
formulaRowIndex: number;
|
|
90
|
+
/** Whether the formula cell sits inside the table, which the bare `[@Col]` / `[Col]` forms name. */
|
|
91
|
+
inTable: boolean;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Rewrite every structured reference into `table` — `T[Col]`, `T[[#Headers],[Col]]`, `T[#All]`,
|
|
95
|
+
* `T[[A]:[B]]`, `T[@Col]`, `T[[#This Row],[Col]]` and, inside the table, the bare `[@Col]` /
|
|
96
|
+
* `[Col]` forms — to the plain A1 reference it resolves to, the way Excel's Convert to Range
|
|
97
|
+
* rewrites formulas so their values keep working once the table is gone. Column, header, totals
|
|
98
|
+
* and whole-table items become absolute (`$B$2:$B$9`, `$B$1`), this-row items the relative
|
|
99
|
+
* same-row reference (`B3`), and the reference is qualified with the table's sheet when the
|
|
100
|
+
* formula lives on another one. A reference that cannot resolve (an unknown column, `#Headers`
|
|
101
|
+
* on a headerless table, `@` outside the table's data rows) becomes the `#REF!` it would have
|
|
102
|
+
* evaluated to. Returns the input unchanged when the formula never references the table.
|
|
103
|
+
*/
|
|
104
|
+
export declare const convertStructuredRefsToA1InFormula: (formulaValue: string, table: StructuredRefTable, options: ConvertStructuredRefsOptions) => string;
|
|
42
105
|
/**
|
|
43
106
|
* Converts tokens to string
|
|
44
107
|
* @param tokens
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula.d.ts","sourceRoot":"","sources":["../../../api/formula.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"formula.d.ts","sourceRoot":"","sources":["../../../api/formula.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/api/formula.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { __assign, __read, __values } from "tslib";
|
|
2
|
-
import { cleanupColumnName, cleanupTableName, isRangeToken, lexify, stripPropertyFromCellRef, tokenVocabulary, } from "@rowsncolumns/calculator";
|
|
1
|
+
import { __assign, __read, __spreadArray, __values } from "tslib";
|
|
2
|
+
import { cleanupColumnName, cleanupSpecialItem, cleanupTableName, detectCurrentRow, isRangeToken, lexify, stripPropertyFromCellRef, tokenVocabulary, } from "@rowsncolumns/calculator";
|
|
3
3
|
import { addressToCell, alpha2number, cellToAddress, desanitizeSheetName, number2Alpha, sanitizeSheetName, } from "@rowsncolumns/utils";
|
|
4
4
|
export { ERROR_CIRCULAR_DEPENDENCY, ERROR_REFERENCE, formulaToRelativeReference, } from "@rowsncolumns/calculator";
|
|
5
5
|
/**
|
|
@@ -193,10 +193,99 @@ export var breakTableReferencesInFormula = function (formulaValue, tableName) {
|
|
|
193
193
|
* `=Table1[@#REF!]*2`). Keeps every other character of the reference as typed.
|
|
194
194
|
*/
|
|
195
195
|
export var breakTableColumnsInFormula = function (formulaValue, tableName, columnNames) {
|
|
196
|
-
|
|
196
|
+
return replaceTableColumnsInFormula(formulaValue, tableName, columnNames, REF_ERROR_COLUMN);
|
|
197
|
+
};
|
|
198
|
+
/**
|
|
199
|
+
* Rename the column `oldName` → `newName` inside the structured references to
|
|
200
|
+
* `tableName` (or, when `tableName` is undefined, the bare this-row form
|
|
201
|
+
* `[@Col]` whose table is implied by the formula's own cell): `Table1[Qty]`,
|
|
202
|
+
* `[@Qty]`, `Table1[[#Headers],[Qty]]` and `Table1[[Qty]:[Price]]` all follow
|
|
203
|
+
* a header-cell edit in Excel. Column names compare case-insensitively; every
|
|
204
|
+
* other character of the reference is kept as typed.
|
|
205
|
+
*/
|
|
206
|
+
export var renameTableColumnInFormula = function (formulaValue, tableName, oldName, newName) {
|
|
207
|
+
return oldName && newName && oldName !== newName
|
|
208
|
+
? renameTableColumnsInFormula(formulaValue, tableName, new Map([[oldName.toLowerCase(), newName]]))
|
|
209
|
+
: formulaValue;
|
|
210
|
+
};
|
|
211
|
+
/**
|
|
212
|
+
* Rename several columns of `tableName` at once — `renames` maps each
|
|
213
|
+
* LOWER-CASED old name to its new name. One pass over the formula, so
|
|
214
|
+
* `Name` → `Qty` and `Qty` → `Name` swap instead of chaining into the same
|
|
215
|
+
* column (a header row re-derived after a row delete, or several header cells
|
|
216
|
+
* written by one paste / change-batch).
|
|
217
|
+
*/
|
|
218
|
+
export var renameTableColumnsInFormula = function (formulaValue, tableName, renames) {
|
|
219
|
+
return rewriteTableColumnsInFormula(formulaValue, tableName, function (name) {
|
|
220
|
+
return renames.get(name);
|
|
221
|
+
});
|
|
222
|
+
};
|
|
223
|
+
/**
|
|
224
|
+
* Rename the table `oldName` → `newName` in every structured reference
|
|
225
|
+
* (`Old[Col]`, `Old[@Col]`, `Old[[#Headers],[Col]]`, `Old[#All]`) — Excel
|
|
226
|
+
* rewrites them all when a table is renamed. Table names compare
|
|
227
|
+
* case-insensitively; the bare `[@Col]` form names no table and is left alone.
|
|
228
|
+
*/
|
|
229
|
+
export var renameTableInFormula = function (formulaValue, oldName, newName) {
|
|
230
|
+
if (!oldName || !newName || oldName === newName) {
|
|
231
|
+
return formulaValue;
|
|
232
|
+
}
|
|
233
|
+
return renameTablesInFormula(formulaValue, new Map([[oldName.toLowerCase(), newName]]));
|
|
234
|
+
};
|
|
235
|
+
/**
|
|
236
|
+
* Rename several tables at once — `renames` maps each LOWER-CASED old name to
|
|
237
|
+
* its new name. One pass, so `Sales` → `Sales2` and `Sales2` → `Sales3` never
|
|
238
|
+
* chain (a sheet duplicated with both tables re-points each reference exactly
|
|
239
|
+
* once).
|
|
240
|
+
*/
|
|
241
|
+
export var renameTablesInFormula = function (formulaValue, renames) {
|
|
242
|
+
var e_5, _a;
|
|
243
|
+
if (!formulaValue.includes("[") || renames.size === 0) {
|
|
244
|
+
return formulaValue;
|
|
245
|
+
}
|
|
246
|
+
var tokens = cloneTokens(lexify(formulaValue).tokens);
|
|
247
|
+
var hasChanges = false;
|
|
248
|
+
try {
|
|
249
|
+
for (var tokens_4 = __values(tokens), tokens_4_1 = tokens_4.next(); !tokens_4_1.done; tokens_4_1 = tokens_4.next()) {
|
|
250
|
+
var token = tokens_4_1.value;
|
|
251
|
+
if (!isTableNameToken(token))
|
|
252
|
+
continue;
|
|
253
|
+
var newName = renames.get(cleanupTableName(token.image).trim().toLowerCase());
|
|
254
|
+
if (newName === undefined)
|
|
255
|
+
continue;
|
|
256
|
+
// The image is the name as typed plus its opening bracket.
|
|
257
|
+
token.image = newName + token.image.slice(token.image.indexOf("["));
|
|
258
|
+
hasChanges = true;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
262
|
+
finally {
|
|
263
|
+
try {
|
|
264
|
+
if (tokens_4_1 && !tokens_4_1.done && (_a = tokens_4.return)) _a.call(tokens_4);
|
|
265
|
+
}
|
|
266
|
+
finally { if (e_5) throw e_5.error; }
|
|
267
|
+
}
|
|
268
|
+
return hasChanges ? detokenize(tokens) : formulaValue;
|
|
269
|
+
};
|
|
270
|
+
var replaceTableColumnsInFormula = function (formulaValue, tableName, columnNames, replacement) {
|
|
271
|
+
if (columnNames.length === 0) {
|
|
197
272
|
return formulaValue;
|
|
198
273
|
}
|
|
199
274
|
var targets = new Set(columnNames.map(function (name) { return name.toLowerCase(); }));
|
|
275
|
+
return rewriteTableColumnsInFormula(formulaValue, tableName, function (name) {
|
|
276
|
+
return targets.has(name) ? replacement : undefined;
|
|
277
|
+
});
|
|
278
|
+
};
|
|
279
|
+
/**
|
|
280
|
+
* Rewrite the column items of every structured reference into `tableName`
|
|
281
|
+
* (or, when undefined, the bare `[@Col]` forms) through `resolve`, which maps
|
|
282
|
+
* a LOWER-CASED column name to its replacement or `undefined` to leave it.
|
|
283
|
+
* Each item is resolved once, so a set of renames applies in a single pass.
|
|
284
|
+
*/
|
|
285
|
+
var rewriteTableColumnsInFormula = function (formulaValue, tableName, resolve) {
|
|
286
|
+
if (!formulaValue.includes("[")) {
|
|
287
|
+
return formulaValue;
|
|
288
|
+
}
|
|
200
289
|
var target = tableName === null || tableName === void 0 ? void 0 : tableName.toLowerCase();
|
|
201
290
|
var tokens = cloneTokens(lexify(formulaValue).tokens);
|
|
202
291
|
var hasChanges = false;
|
|
@@ -209,8 +298,9 @@ export var breakTableColumnsInFormula = function (formulaValue, tableName, colum
|
|
|
209
298
|
cleanupTableName(token.image).trim().toLowerCase() === target;
|
|
210
299
|
if (matches) {
|
|
211
300
|
for (var j = i + 1; j < end; j++) {
|
|
212
|
-
if (
|
|
301
|
+
if (replaceColumnToken(tokens[j], resolve)) {
|
|
213
302
|
hasChanges = true;
|
|
303
|
+
}
|
|
214
304
|
}
|
|
215
305
|
}
|
|
216
306
|
i = end;
|
|
@@ -218,26 +308,206 @@ export var breakTableColumnsInFormula = function (formulaValue, tableName, colum
|
|
|
218
308
|
}
|
|
219
309
|
// A bare `[@Col]` / `[Col]` names the table the formula cell sits in.
|
|
220
310
|
if (target === undefined && isTableColumnToken(token)) {
|
|
221
|
-
if (
|
|
311
|
+
if (replaceColumnToken(token, resolve))
|
|
222
312
|
hasChanges = true;
|
|
223
313
|
}
|
|
224
314
|
i++;
|
|
225
315
|
}
|
|
226
316
|
return hasChanges ? detokenize(tokens) : formulaValue;
|
|
227
317
|
};
|
|
228
|
-
var
|
|
318
|
+
var replaceColumnToken = function (token, resolve) {
|
|
229
319
|
if (!token || !isTableColumnToken(token))
|
|
230
320
|
return false;
|
|
231
321
|
var name = cleanupColumnName(token.image);
|
|
232
|
-
if (!name
|
|
322
|
+
if (!name)
|
|
323
|
+
return false;
|
|
324
|
+
var replacement = resolve(name.toLowerCase());
|
|
325
|
+
if (replacement === undefined)
|
|
233
326
|
return false;
|
|
234
327
|
var at = token.image.indexOf(name);
|
|
235
328
|
if (at === -1)
|
|
236
329
|
return false;
|
|
237
330
|
token.image =
|
|
238
|
-
token.image.slice(0, at) +
|
|
331
|
+
token.image.slice(0, at) + replacement + token.image.slice(at + name.length);
|
|
239
332
|
return true;
|
|
240
333
|
};
|
|
334
|
+
/**
|
|
335
|
+
* Rewrite every structured reference into `table` — `T[Col]`, `T[[#Headers],[Col]]`, `T[#All]`,
|
|
336
|
+
* `T[[A]:[B]]`, `T[@Col]`, `T[[#This Row],[Col]]` and, inside the table, the bare `[@Col]` /
|
|
337
|
+
* `[Col]` forms — to the plain A1 reference it resolves to, the way Excel's Convert to Range
|
|
338
|
+
* rewrites formulas so their values keep working once the table is gone. Column, header, totals
|
|
339
|
+
* and whole-table items become absolute (`$B$2:$B$9`, `$B$1`), this-row items the relative
|
|
340
|
+
* same-row reference (`B3`), and the reference is qualified with the table's sheet when the
|
|
341
|
+
* formula lives on another one. A reference that cannot resolve (an unknown column, `#Headers`
|
|
342
|
+
* on a headerless table, `@` outside the table's data rows) becomes the `#REF!` it would have
|
|
343
|
+
* evaluated to. Returns the input unchanged when the formula never references the table.
|
|
344
|
+
*/
|
|
345
|
+
export var convertStructuredRefsToA1InFormula = function (formulaValue, table, options) {
|
|
346
|
+
if (!formulaValue.includes("["))
|
|
347
|
+
return formulaValue;
|
|
348
|
+
var target = table.title.toLowerCase();
|
|
349
|
+
var tokens = cloneTokens(lexify(formulaValue).tokens);
|
|
350
|
+
var newTokens = [];
|
|
351
|
+
var hasChanges = false;
|
|
352
|
+
var i = 0;
|
|
353
|
+
while (i < tokens.length) {
|
|
354
|
+
var token = tokens[i];
|
|
355
|
+
if (isTableNameToken(token)) {
|
|
356
|
+
var end = structuredReferenceEnd(tokens, i);
|
|
357
|
+
if (cleanupTableName(token.image).trim().toLowerCase() !== target) {
|
|
358
|
+
// Another table's reference: keep it whole (its `@Col` items are not bare forms).
|
|
359
|
+
newTokens.push.apply(newTokens, __spreadArray([], __read(tokens.slice(i, end)), false));
|
|
360
|
+
i = end;
|
|
361
|
+
continue;
|
|
362
|
+
}
|
|
363
|
+
newTokens.push(collapseToReference(token, tokens[end - 1], resolveStructuredReference(table, tokens.slice(i + 1, end), options)));
|
|
364
|
+
hasChanges = true;
|
|
365
|
+
i = end;
|
|
366
|
+
continue;
|
|
367
|
+
}
|
|
368
|
+
// A bare `[@Col]` / `[Col]` names the table the formula cell sits in.
|
|
369
|
+
if (options.inTable &&
|
|
370
|
+
isTableColumnToken(token) &&
|
|
371
|
+
token.image.startsWith("[")) {
|
|
372
|
+
var end = structuredReferenceEnd(tokens, i);
|
|
373
|
+
newTokens.push(collapseToReference(token, tokens[end - 1], resolveStructuredReference(table, tokens.slice(i, end), options)));
|
|
374
|
+
hasChanges = true;
|
|
375
|
+
i = end;
|
|
376
|
+
continue;
|
|
377
|
+
}
|
|
378
|
+
newTokens.push(token);
|
|
379
|
+
i++;
|
|
380
|
+
}
|
|
381
|
+
return hasChanges ? detokenize(newTokens) : formulaValue;
|
|
382
|
+
};
|
|
383
|
+
/** One reference token (or `#REF!`) standing in for the run `start … end` (see `collapseToRefError`). */
|
|
384
|
+
var collapseToReference = function (start, end, image) {
|
|
385
|
+
var _a, _b;
|
|
386
|
+
return (__assign(__assign({}, start), { image: image, tokenType: image === REF_ERROR_TOKEN
|
|
387
|
+
? tokenVocabulary.RefError
|
|
388
|
+
: tokenVocabulary.Cell, endOffset: (_a = end === null || end === void 0 ? void 0 : end.endOffset) !== null && _a !== void 0 ? _a : start.endOffset, endColumn: (_b = end === null || end === void 0 ? void 0 : end.endColumn) !== null && _b !== void 0 ? _b : start.endColumn }));
|
|
389
|
+
};
|
|
390
|
+
/**
|
|
391
|
+
* The A1 text the structured-reference `specifier` tokens (everything after the table name up to
|
|
392
|
+
* the closing bracket, or the bare column form) resolve to against `table`, or `#REF!`.
|
|
393
|
+
*/
|
|
394
|
+
var resolveStructuredReference = function (table, specifier, _a) {
|
|
395
|
+
var e_6, _b, _c, e_7, _d;
|
|
396
|
+
var _e, _f;
|
|
397
|
+
var tableSheetName = _a.tableSheetName, formulaSheetName = _a.formulaSheetName, formulaRowIndex = _a.formulaRowIndex;
|
|
398
|
+
var thisRow = false;
|
|
399
|
+
var items = new Set();
|
|
400
|
+
var columns = [];
|
|
401
|
+
try {
|
|
402
|
+
for (var specifier_1 = __values(specifier), specifier_1_1 = specifier_1.next(); !specifier_1_1.done; specifier_1_1 = specifier_1.next()) {
|
|
403
|
+
var token = specifier_1_1.value;
|
|
404
|
+
var name_1 = token.tokenType.name;
|
|
405
|
+
if (name_1 === tokenVocabulary.SpecialItem.name) {
|
|
406
|
+
var item = cleanupSpecialItem(token.image).trim().toLowerCase();
|
|
407
|
+
if (item === "#this row")
|
|
408
|
+
thisRow = true;
|
|
409
|
+
else
|
|
410
|
+
items.add(item);
|
|
411
|
+
}
|
|
412
|
+
else if (name_1 === tokenVocabulary.TableColumnName.name) {
|
|
413
|
+
if (detectCurrentRow(token.image))
|
|
414
|
+
thisRow = true;
|
|
415
|
+
var column = cleanupColumnName(token.image).trim();
|
|
416
|
+
if (column)
|
|
417
|
+
columns.push(column);
|
|
418
|
+
}
|
|
419
|
+
else if (name_1 === tokenVocabulary.At.name) {
|
|
420
|
+
thisRow = true;
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
425
|
+
finally {
|
|
426
|
+
try {
|
|
427
|
+
if (specifier_1_1 && !specifier_1_1.done && (_b = specifier_1.return)) _b.call(specifier_1);
|
|
428
|
+
}
|
|
429
|
+
finally { if (e_6) throw e_6.error; }
|
|
430
|
+
}
|
|
431
|
+
var range = table.range;
|
|
432
|
+
var headerRow = (_e = table.headerRow) !== null && _e !== void 0 ? _e : true;
|
|
433
|
+
var totalRow = (_f = table.totalRow) !== null && _f !== void 0 ? _f : false;
|
|
434
|
+
var dataStartRowIndex = range.startRowIndex + (headerRow ? 1 : 0);
|
|
435
|
+
var dataEndRowIndex = range.endRowIndex - (totalRow ? 1 : 0);
|
|
436
|
+
// Column span: the named column, or the `[A]:[B]` pair (either order); none → every column.
|
|
437
|
+
var startColumnIndex = range.startColumnIndex;
|
|
438
|
+
var endColumnIndex = range.endColumnIndex;
|
|
439
|
+
if (columns.length) {
|
|
440
|
+
if (columns.length > 2)
|
|
441
|
+
return REF_ERROR_TOKEN;
|
|
442
|
+
var offsets = columns.map(function (column) {
|
|
443
|
+
return table.columnNames.findIndex(function (candidate) { return candidate.toLowerCase() === column.toLowerCase(); });
|
|
444
|
+
});
|
|
445
|
+
if (offsets.some(function (offset) { return offset === -1; }))
|
|
446
|
+
return REF_ERROR_TOKEN;
|
|
447
|
+
startColumnIndex = range.startColumnIndex + Math.min.apply(Math, __spreadArray([], __read(offsets), false));
|
|
448
|
+
endColumnIndex = range.startColumnIndex + Math.max.apply(Math, __spreadArray([], __read(offsets), false));
|
|
449
|
+
}
|
|
450
|
+
// Row band.
|
|
451
|
+
var startRowIndex;
|
|
452
|
+
var endRowIndex;
|
|
453
|
+
if (thisRow) {
|
|
454
|
+
if (items.size ||
|
|
455
|
+
formulaRowIndex < dataStartRowIndex ||
|
|
456
|
+
formulaRowIndex > range.endRowIndex) {
|
|
457
|
+
return REF_ERROR_TOKEN;
|
|
458
|
+
}
|
|
459
|
+
startRowIndex = endRowIndex = formulaRowIndex;
|
|
460
|
+
}
|
|
461
|
+
else if (items.has("#all")) {
|
|
462
|
+
startRowIndex = range.startRowIndex;
|
|
463
|
+
endRowIndex = range.endRowIndex;
|
|
464
|
+
}
|
|
465
|
+
else {
|
|
466
|
+
var bands = [];
|
|
467
|
+
if (items.has("#headers")) {
|
|
468
|
+
if (!headerRow)
|
|
469
|
+
return REF_ERROR_TOKEN;
|
|
470
|
+
bands.push([range.startRowIndex, range.startRowIndex]);
|
|
471
|
+
}
|
|
472
|
+
if (items.has("#data") || (!items.has("#headers") && !items.has("#totals"))) {
|
|
473
|
+
if (dataStartRowIndex > dataEndRowIndex)
|
|
474
|
+
return REF_ERROR_TOKEN;
|
|
475
|
+
bands.push([dataStartRowIndex, dataEndRowIndex]);
|
|
476
|
+
}
|
|
477
|
+
if (items.has("#totals")) {
|
|
478
|
+
if (!totalRow)
|
|
479
|
+
return REF_ERROR_TOKEN;
|
|
480
|
+
bands.push([range.endRowIndex, range.endRowIndex]);
|
|
481
|
+
}
|
|
482
|
+
bands.sort(function (a, b) { return a[0] - b[0]; });
|
|
483
|
+
_c = __read(bands[0], 2), startRowIndex = _c[0], endRowIndex = _c[1];
|
|
484
|
+
try {
|
|
485
|
+
for (var _g = __values(bands.slice(1)), _h = _g.next(); !_h.done; _h = _g.next()) {
|
|
486
|
+
var _j = __read(_h.value, 2), bandStart = _j[0], bandEnd = _j[1];
|
|
487
|
+
// `[#Headers],[#Totals]` skips the data rows: not one rectangle.
|
|
488
|
+
if (bandStart > endRowIndex + 1)
|
|
489
|
+
return REF_ERROR_TOKEN;
|
|
490
|
+
endRowIndex = Math.max(endRowIndex, bandEnd);
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
494
|
+
finally {
|
|
495
|
+
try {
|
|
496
|
+
if (_h && !_h.done && (_d = _g.return)) _d.call(_g);
|
|
497
|
+
}
|
|
498
|
+
finally { if (e_7) throw e_7.error; }
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
var absolute = !thisRow;
|
|
502
|
+
var start = cellToAddress({ rowIndex: startRowIndex, columnIndex: startColumnIndex }, absolute, absolute);
|
|
503
|
+
var end = cellToAddress({ rowIndex: endRowIndex, columnIndex: endColumnIndex }, absolute, absolute);
|
|
504
|
+
if (!start || !end)
|
|
505
|
+
return REF_ERROR_TOKEN;
|
|
506
|
+
var prefix = tableSheetName.toLowerCase() !== formulaSheetName.toLowerCase()
|
|
507
|
+
? "".concat(sanitizeSheetName(tableSheetName), "!")
|
|
508
|
+
: "";
|
|
509
|
+
return start === end ? "".concat(prefix).concat(start) : "".concat(prefix).concat(start, ":").concat(end);
|
|
510
|
+
};
|
|
241
511
|
/**
|
|
242
512
|
* Converts tokens to string
|
|
243
513
|
* @param tokens
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
import type { RowDataWithValue as SpreadsheetRowDataWithValue, SheetData as SpreadsheetSheetData } from "@rowsncolumns/common-types";
|
|
2
2
|
import type { CellNode, CellRangeNode, StaticNode } from "@rowsncolumns/dag";
|
|
3
|
-
import type { CellData, NumberFormat, NumberFormatType, ParsedToken } from "@rowsncolumns/spreadsheet";
|
|
3
|
+
import type { CellData, DimensionProperties, NumberFormat, NumberFormatType, ParsedToken } from "@rowsncolumns/spreadsheet";
|
|
4
4
|
import { type Draft } from "immer";
|
|
5
5
|
import type { CellXfsRegistry } from "../hooks/use-cellxfs-registry";
|
|
6
6
|
import type { useSheetProperties } from "../hooks/use-sheet-properties";
|
|
7
7
|
type SheetData<T extends CellData> = SpreadsheetSheetData<T>;
|
|
8
8
|
type RowDataWithValue<T extends CellData | null | undefined> = SpreadsheetRowDataWithValue<T>;
|
|
9
9
|
export declare const createSheetDraft: <T extends CellData>(draft: Draft<SheetData<T>>, sheetId: number, rowIndex?: number) => Draft<RowDataWithValue<T | null | undefined>>[];
|
|
10
|
+
/**
|
|
11
|
+
* Row/column metadata an inserted band inherits — Excel's "Format Same As
|
|
12
|
+
* Above / Left" (FMT-01 / FMT-02) carries the neighbour's height or width and
|
|
13
|
+
* hidden state along with its cell formats. The neighbour is the entry just
|
|
14
|
+
* before `referenceIndex`; an insert at index 1 has none and takes the entry
|
|
15
|
+
* being pushed away instead. The `collapsed` outline marker and filter-hiding
|
|
16
|
+
* stay with the original row / column. Returns `undefined` when there is
|
|
17
|
+
* nothing to inherit.
|
|
18
|
+
*/
|
|
19
|
+
export declare const inheritedDimensionMetadata: (metadata: readonly (DimensionProperties | null | undefined)[], referenceIndex: number) => DimensionProperties | undefined;
|
|
10
20
|
export declare const cloneRowWithFormatting: <T extends CellData>(rowData: Draft<RowDataWithValue<T | null | undefined>> | undefined) => Draft<RowDataWithValue<T | null | undefined>>;
|
|
11
21
|
export declare const cloneCellWithFormatting: <T extends CellData>(celLData: Draft<T> | undefined | null) => Draft<T> | null;
|
|
12
22
|
export declare const getFunctionNamesFromFormula: (formula: string) => string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"immer-utils.d.ts","sourceRoot":"","sources":["../../../api/immer-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,IAAI,2BAA2B,EAC/C,SAAS,IAAI,oBAAoB,EAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI7E,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACZ,MAAM,2BAA2B,CAAC;AASnC,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAQxE,KAAK,SAAS,CAAC,CAAC,SAAS,QAAQ,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC7D,KAAK,gBAAgB,CAAC,CAAC,SAAS,QAAQ,GAAG,IAAI,GAAG,SAAS,IACzD,2BAA2B,CAAC,CAAC,CAAC,CAAC;AAEjC,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,QAAQ,EACjD,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC1B,SAAS,MAAM,EACf,WAAW,MAAM,KAgBD,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,EAC9D,CAAC;AAGF,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,QAAQ,EACvD,SAAS,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,KACjE,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAa9C,CAAC;AAGF,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,QAAQ,EACxD,UAAU,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,oBAItC,CAAC;AAkUF,eAAO,MAAM,2BAA2B,GAAI,SAAS,MAAM,aAW1D,CAAC;AA0IF,eAAO,MAAM,yCAAyC,GAAI,CAAC,SAAS,QAAQ,EAC1E,SAAS,MAAM,GAAG,SAAc,EAChC,YAAY,CAAC,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAC,EAAE,EACrD,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EACzC,WAAW,CAAC,GAAG,EAAE,MAAM,KAAK,WAAW,EAAE,EACzC,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,aAAa,MAAM,EACnB,QAAQ,MAAM,GAAG,SAAS,EAC1B,YAAY,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EACzC,kBAAkB,eAAe,EACjC,wBAAwB,UAAU,CAChC,OAAO,kBAAkB,CAC1B,CAAC,uBAAuB,CAAC,EAC1B,kBAAkB,MAAM,GAAG,MAAM,GAAG,IAAI;AACxC;;;;;;;;GAQG;AACH,+BAA+B,CAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,YAAY,GAAG,SAAS,GAAG,IAAI,KACnC,YAAY,GAAG,SAAS,GAAG,IA2X7B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,sCAAsC,GAAI,CAAC,SAAS,QAAQ,EACvE,SAAS,MAAM,GAAG,SAAS,EAC3B,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,aAAa,MAAM,EACnB,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EACzC,WAAW,CAAC,GAAG,EAAE,MAAM,KAAK,WAAW,EAAE,EACzC,YAAY,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EACzC,SAAS,MAAM,EACf,kBAAkB,eAAe,EACjC,wBAAwB,UAAU,CAChC,OAAO,kBAAkB,CAC1B,CAAC,uBAAuB,CAAC,EAC1B,kBAAkB,MAAM,GAAG,MAAM,GAAG,IAAI,KACvC,YAAY,GAAG,SAAS,GAAG,IA0C7B,CAAC;AAipBF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GAAI,CAAC,SAAS,QAAQ,EAC/D,SAAS,MAAM,EACf,qBAAqB,YAAY,EACjC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EACzC,WAAW,CAAC,GAAG,EAAE,MAAM,KAAK,WAAW,EAAE,EACzC,SAAS,MAAM,EACf,YAAY,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EACzC,kBAAkB,eAAe,EACjC,wBAAwB,UAAU,CAChC,OAAO,kBAAkB,CAC1B,CAAC,uBAAuB,CAAC,KACzB,gBAAgB,GAAG,SAarB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,GAAI,CAAC,SAAS,QAAQ,EAC9D,SAAS,MAAM,EACf,qBAAqB,YAAY,EACjC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EACzC,WAAW,CAAC,GAAG,EAAE,MAAM,KAAK,WAAW,EAAE,EACzC,SAAS,MAAM,EACf,YAAY,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EACzC,kBAAkB,eAAe,EACjC,wBAAwB,UAAU,CAChC,OAAO,kBAAkB,CAC1B,CAAC,uBAAuB,CAAC,EAC1B,SAAS,MAAM,KACd,YAAY,GAAG,SAoDjB,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,QAAQ,EACjD,OAAO,WAAW,GAAG,SAAS,EAC9B,SAAS,MAAM,EACf,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EACzC,kBAAkB,eAAe,EACjC,wBAAwB,UAAU,CAChC,OAAO,kBAAkB,CAC1B,CAAC,uBAAuB,CAAC,YAc3B,CAAC;AAGF,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,QAAQ,EAC3C,OAAO,WAAW,GAAG,SAAS,EAC9B,SAAS,MAAM,EACf,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EACzC,kBAAkB,eAAe,EACjC,wBAAwB,UAAU,CAChC,OAAO,kBAAkB,CAC1B,CAAC,uBAAuB,CAAC,YAc3B,CAAC;AAkFF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,UAAU,gBAAgB,CAAC,CAAC,CAAC;;;;;;;;;CAY5D,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,QAAQ,EACzD,SAAS,MAAM,GAAG,SAAc,EAChC,YAAY,CAAC,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAC,EAAE,EACrD,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EACzC,SAAS,MAAM,EACf,QAAQ,MAAM,GAAG,SAAS,EAC1B,kBAAkB,eAAe,gCA2ClC,CAAC"}
|
|
1
|
+
{"version":3,"file":"immer-utils.d.ts","sourceRoot":"","sources":["../../../api/immer-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __assign, __generator, __read, __values } from "tslib";
|
|
1
|
+
import { __assign, __generator, __read, __rest, __values } from "tslib";
|
|
2
2
|
import { isStaticNode } from "@rowsncolumns/dag";
|
|
3
3
|
import { isCellCoordinate } from "@rowsncolumns/dag";
|
|
4
4
|
import { tokenVocabulary } from "@rowsncolumns/fast-formula-parser";
|
|
@@ -20,6 +20,22 @@ export var createSheetDraft = function (draft, sheetId, rowIndex) {
|
|
|
20
20
|
}
|
|
21
21
|
return sheet;
|
|
22
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* Row/column metadata an inserted band inherits — Excel's "Format Same As
|
|
25
|
+
* Above / Left" (FMT-01 / FMT-02) carries the neighbour's height or width and
|
|
26
|
+
* hidden state along with its cell formats. The neighbour is the entry just
|
|
27
|
+
* before `referenceIndex`; an insert at index 1 has none and takes the entry
|
|
28
|
+
* being pushed away instead. The `collapsed` outline marker and filter-hiding
|
|
29
|
+
* stay with the original row / column. Returns `undefined` when there is
|
|
30
|
+
* nothing to inherit.
|
|
31
|
+
*/
|
|
32
|
+
export var inheritedDimensionMetadata = function (metadata, referenceIndex) {
|
|
33
|
+
var source = metadata[referenceIndex > 1 ? referenceIndex - 1 : referenceIndex];
|
|
34
|
+
if (!source)
|
|
35
|
+
return undefined;
|
|
36
|
+
var _collapsed = source.collapsed, _hiddenByFilter = source.hiddenByFilter, inherited = __rest(source, ["collapsed", "hiddenByFilter"]);
|
|
37
|
+
return Object.keys(inherited).length ? inherited : undefined;
|
|
38
|
+
};
|
|
23
39
|
// Clone entire row
|
|
24
40
|
export var cloneRowWithFormatting = function (rowData) {
|
|
25
41
|
var _a;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { GridRange } from "@rowsncolumns/common-types";
|
|
2
|
+
/** How the destination band opens for an Insert Cut Cells block move. */
|
|
3
|
+
export type InsertCutCellsShift = "down" | "right";
|
|
4
|
+
export type InsertCutCellsPlan = {
|
|
5
|
+
/**
|
|
6
|
+
* `"down"` for a vertical move (the block changes rows), `"right"` when it slides along its
|
|
7
|
+
* own rows — the axis the destination band opens and the vacated source closes along.
|
|
8
|
+
*/
|
|
9
|
+
shift: InsertCutCellsShift;
|
|
10
|
+
/**
|
|
11
|
+
* The source once the destination band has opened: it slides along by the block's size when
|
|
12
|
+
* it sits in that band (a block dragged UP within its own columns), else it is `from` as is.
|
|
13
|
+
*/
|
|
14
|
+
shiftedSource: GridRange;
|
|
15
|
+
/**
|
|
16
|
+
* The bands the move shifts (each open-ended along `shift`): the destination band from `to`
|
|
17
|
+
* on, and the source band from the block on. A merge one of them covers only partially would
|
|
18
|
+
* be torn — Excel refuses the move ("We can't do that to a merged cell.").
|
|
19
|
+
*/
|
|
20
|
+
bands: GridRange[];
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Excel "Insert Cut Cells" / Shift+drag of a cell block, as the three structural steps the
|
|
24
|
+
* legacy hooks already own: open the destination band (`insertCells…` at `to`), move the block
|
|
25
|
+
* into the opening, then close the gap the block left (`deleteCells…` on the vacated source).
|
|
26
|
+
* The sheet keeps its cell count — Shift+drag A5 to A2 over r1..r6 gives r1 r5 r2 r3 r4 r6, never
|
|
27
|
+
* a blank — and a forward move within its own lanes lands `size` lines before `to`, Excel's
|
|
28
|
+
* pre-removal reference (cut A2, drop at row 6 → r1 r3 r4 r5 r2 r6), because the closing shift
|
|
29
|
+
* pulls the landed block up. `null` when the move is a no-op (the drop is inside the block or
|
|
30
|
+
* right after it) or cannot land the block whole (destination lanes overlapping the source
|
|
31
|
+
* lanes only partially — the closing shift would tear the block); the rnc engine's
|
|
32
|
+
* `move-range { insert }` applies the same rules.
|
|
33
|
+
*/
|
|
34
|
+
export declare const planInsertCutCells: (from: GridRange, to: GridRange) => InsertCutCellsPlan | null;
|
|
35
|
+
//# sourceMappingURL=insert-cut-cells.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insert-cut-cells.d.ts","sourceRoot":"","sources":["../../../api/insert-cut-cells.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D,yEAAyE;AACzE,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnD,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,KAAK,EAAE,mBAAmB,CAAC;IAC3B;;;OAGG;IACH,aAAa,EAAE,SAAS,CAAC;IACzB;;;;OAIG;IACH,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB,CAAC;AAIF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,SAAS,EACf,IAAI,SAAS,KACZ,kBAAkB,GAAG,IAsDvB,CAAC"}
|