@rowsncolumns/spreadsheet-state 29.0.0 → 29.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/anchored-objects.d.ts +122 -6
- package/dist/cjs/api/anchored-objects.d.ts.map +1 -1
- package/dist/cjs/api/anchored-objects.js +464 -43
- package/dist/cjs/api/copy-paste.d.ts +1 -2
- package/dist/cjs/api/copy-paste.d.ts.map +1 -1
- package/dist/cjs/api/copy-paste.js +1 -3
- package/dist/cjs/api/filter.d.ts +15 -1
- package/dist/cjs/api/filter.d.ts.map +1 -1
- package/dist/cjs/api/filter.js +32 -2
- package/dist/cjs/api/formula.d.ts +63 -0
- package/dist/cjs/api/formula.d.ts.map +1 -1
- package/dist/cjs/api/formula.js +278 -8
- package/dist/cjs/api/paint-format.d.ts +22 -1
- package/dist/cjs/api/paint-format.d.ts.map +1 -1
- package/dist/cjs/api/paint-format.js +57 -1
- package/dist/cjs/api/sort.d.ts +23 -1
- package/dist/cjs/api/sort.d.ts.map +1 -1
- package/dist/cjs/api/sort.js +52 -6
- package/dist/cjs/api/structural-guards.d.ts +57 -0
- package/dist/cjs/api/structural-guards.d.ts.map +1 -1
- package/dist/cjs/api/structural-guards.js +93 -1
- package/dist/cjs/api/structural-table-refs.d.ts +58 -3
- package/dist/cjs/api/structural-table-refs.d.ts.map +1 -1
- package/dist/cjs/api/structural-table-refs.js +177 -16
- package/dist/cjs/api/table.d.ts +26 -2
- package/dist/cjs/api/table.d.ts.map +1 -1
- package/dist/cjs/api/table.js +93 -60
- package/dist/cjs/api/validation.d.ts.map +1 -1
- package/dist/cjs/api/validation.js +53 -8
- package/dist/cjs/atoms/creating-table.atom.d.ts +22 -0
- package/dist/cjs/atoms/creating-table.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/creating-table.atom.js +4 -0
- package/dist/cjs/atoms/dialog-state.atom.d.ts +8 -0
- package/dist/cjs/atoms/dialog-state.atom.d.ts.map +1 -1
- package/dist/cjs/atoms/dialog-state.atom.js +28 -0
- package/dist/cjs/atoms/editing-slicer.atom.d.ts +9 -0
- package/dist/cjs/atoms/editing-slicer.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/editing-slicer.atom.js +6 -0
- package/dist/cjs/atoms/index.d.ts +4 -0
- package/dist/cjs/atoms/index.d.ts.map +1 -1
- package/dist/cjs/atoms/index.js +4 -0
- package/dist/cjs/atoms/inserting-slicer.atom.d.ts +8 -0
- package/dist/cjs/atoms/inserting-slicer.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/inserting-slicer.atom.js +5 -0
- package/dist/cjs/atoms/resizing-table.atom.d.ts +8 -0
- package/dist/cjs/atoms/resizing-table.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/resizing-table.atom.js +5 -0
- package/dist/cjs/commands.d.ts +129 -2
- package/dist/cjs/commands.d.ts.map +1 -1
- package/dist/cjs/components/editors/embed-editor.d.ts +4 -2
- package/dist/cjs/components/editors/embed-editor.d.ts.map +1 -1
- package/dist/cjs/components/editors/embed-editor.js +38 -9
- package/dist/cjs/components/editors/slicer-editor.d.ts +15 -0
- package/dist/cjs/components/editors/slicer-editor.d.ts.map +1 -0
- package/dist/cjs/components/editors/slicer-editor.js +87 -0
- package/dist/cjs/components/editors/table-editor.d.ts +58 -2
- package/dist/cjs/components/editors/table-editor.d.ts.map +1 -1
- package/dist/cjs/components/editors/table-editor.js +261 -20
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.d.ts.map +1 -1
- package/dist/cjs/components/index.js +1 -0
- package/dist/cjs/constants.d.ts +9 -1
- package/dist/cjs/constants.d.ts.map +1 -1
- package/dist/cjs/constants.js +12 -0
- package/dist/cjs/generated-names.d.ts +13 -3
- package/dist/cjs/generated-names.d.ts.map +1 -1
- package/dist/cjs/generated-names.js +3 -1
- package/dist/cjs/helpers.d.ts +5 -0
- package/dist/cjs/helpers.d.ts.map +1 -1
- package/dist/cjs/helpers.js +10 -1
- package/dist/cjs/hooks/use-on-change-batch.d.ts +19 -2
- package/dist/cjs/hooks/use-on-change-batch.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-change-batch.js +43 -35
- package/dist/cjs/hooks/use-on-change-calculated-column.d.ts +10 -1
- package/dist/cjs/hooks/use-on-change-calculated-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-change-calculated-column.js +17 -5
- package/dist/cjs/hooks/use-on-change-table-column.d.ts +6 -1
- package/dist/cjs/hooks/use-on-change-table-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-change-table-column.js +17 -5
- package/dist/cjs/hooks/use-on-change.d.ts +36 -3
- package/dist/cjs/hooks/use-on-change.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-change.js +218 -136
- package/dist/cjs/hooks/use-on-create-custom-table-style.d.ts +17 -0
- package/dist/cjs/hooks/use-on-create-custom-table-style.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-create-custom-table-style.js +28 -0
- package/dist/cjs/hooks/use-on-create-named-range.d.ts +4 -2
- package/dist/cjs/hooks/use-on-create-named-range.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-create-named-range.js +11 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts +2 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-left.js +3 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts +2 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-up.js +3 -1
- package/dist/cjs/hooks/use-on-delete-column.d.ts +2 -1
- package/dist/cjs/hooks/use-on-delete-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-column.js +3 -1
- package/dist/cjs/hooks/use-on-delete-row.d.ts +2 -1
- package/dist/cjs/hooks/use-on-delete-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-row.js +3 -1
- package/dist/cjs/hooks/use-on-delete-sheet.d.ts +9 -1
- package/dist/cjs/hooks/use-on-delete-sheet.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-sheet.js +17 -1
- package/dist/cjs/hooks/use-on-delete-table-row.d.ts +4 -1
- package/dist/cjs/hooks/use-on-delete-table-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-table-row.js +19 -1
- package/dist/cjs/hooks/use-on-delete.d.ts +5 -2
- package/dist/cjs/hooks/use-on-delete.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete.js +5 -1
- package/dist/cjs/hooks/use-on-embeds.d.ts +7 -4
- package/dist/cjs/hooks/use-on-embeds.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-embeds.js +26 -24
- package/dist/cjs/hooks/use-on-fill.d.ts +17 -2
- package/dist/cjs/hooks/use-on-fill.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-fill.js +29 -15
- package/dist/cjs/hooks/use-on-filter-table.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-filter-table.js +209 -103
- package/dist/cjs/hooks/use-on-import-excel.d.ts +2 -1
- package/dist/cjs/hooks/use-on-import-excel.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-import-excel.js +22 -19
- package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts +2 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-down.js +3 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts +2 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-right.js +3 -1
- package/dist/cjs/hooks/use-on-insert-column.d.ts +2 -1
- package/dist/cjs/hooks/use-on-insert-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-column.js +3 -1
- package/dist/cjs/hooks/use-on-insert-row.d.ts +2 -1
- package/dist/cjs/hooks/use-on-insert-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-row.js +3 -1
- package/dist/cjs/hooks/use-on-insert-table-row.d.ts +5 -2
- package/dist/cjs/hooks/use-on-insert-table-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-table-row.js +19 -1
- package/dist/cjs/hooks/use-on-merge-unmerge-cells.d.ts +3 -2
- package/dist/cjs/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-merge-unmerge-cells.js +14 -1
- package/dist/cjs/hooks/use-on-move-columns.d.ts +3 -1
- package/dist/cjs/hooks/use-on-move-columns.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-columns.js +14 -1
- package/dist/cjs/hooks/use-on-move-rows.d.ts +3 -1
- package/dist/cjs/hooks/use-on-move-rows.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-rows.js +14 -1
- package/dist/cjs/hooks/use-on-move-selection.d.ts +3 -1
- package/dist/cjs/hooks/use-on-move-selection.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-selection.js +88 -25
- package/dist/cjs/hooks/use-on-paste.d.ts +22 -1
- package/dist/cjs/hooks/use-on-paste.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-paste.js +993 -776
- package/dist/cjs/hooks/use-on-remove-duplicates.d.ts +5 -2
- package/dist/cjs/hooks/use-on-remove-duplicates.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-remove-duplicates.js +5 -1
- package/dist/cjs/hooks/use-on-request-create-table.d.ts +13 -0
- package/dist/cjs/hooks/use-on-request-create-table.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-request-create-table.js +44 -0
- package/dist/cjs/hooks/use-on-request-insert-slicer.d.ts +7 -0
- package/dist/cjs/hooks/use-on-request-insert-slicer.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-request-insert-slicer.js +15 -0
- package/dist/cjs/hooks/use-on-request-resize-table.d.ts +7 -0
- package/dist/cjs/hooks/use-on-request-resize-table.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-request-resize-table.js +15 -0
- package/dist/cjs/hooks/use-on-resize-table.d.ts +5 -1
- package/dist/cjs/hooks/use-on-resize-table.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-resize-table.js +110 -33
- package/dist/cjs/hooks/use-on-sort-column.d.ts +28 -3
- package/dist/cjs/hooks/use-on-sort-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-sort-column.js +136 -90
- package/dist/cjs/hooks/use-on-sort-range.d.ts +26 -3
- package/dist/cjs/hooks/use-on-sort-range.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-sort-range.js +113 -67
- package/dist/cjs/hooks/use-on-sort-table.d.ts +18 -1
- package/dist/cjs/hooks/use-on-sort-table.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-sort-table.js +128 -98
- package/dist/cjs/hooks/use-on-subtotal.d.ts +10 -3
- package/dist/cjs/hooks/use-on-subtotal.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-subtotal.js +13 -9
- package/dist/cjs/hooks/use-on-table.d.ts +39 -7
- package/dist/cjs/hooks/use-on-table.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-table.js +257 -49
- package/dist/cjs/hooks/use-on-undo-calculated-column.d.ts +23 -0
- package/dist/cjs/hooks/use-on-undo-calculated-column.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-undo-calculated-column.js +70 -0
- package/dist/cjs/hooks/use-on-undo-table-auto-expansion.d.ts +28 -0
- package/dist/cjs/hooks/use-on-undo-table-auto-expansion.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-undo-table-auto-expansion.js +96 -0
- package/dist/cjs/hooks/use-on-update-named-range.d.ts +4 -2
- package/dist/cjs/hooks/use-on-update-named-range.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-update-named-range.js +13 -1
- package/dist/cjs/hooks/use-sheet-properties.d.ts +1 -0
- package/dist/cjs/hooks/use-sheet-properties.d.ts.map +1 -1
- package/dist/cjs/hooks/use-sheet-properties.js +54 -34
- package/dist/cjs/hooks/use-slicers.d.ts +2 -2
- package/dist/cjs/hooks/use-slicers.d.ts.map +1 -1
- package/dist/cjs/hooks/use-slicers.js +17 -26
- package/dist/cjs/hooks/use-sparkline-groups.d.ts +50 -0
- package/dist/cjs/hooks/use-sparkline-groups.d.ts.map +1 -0
- package/dist/cjs/hooks/use-sparkline-groups.js +192 -0
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts +56 -10
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/cjs/hooks/use-spreadsheet-state.js +322 -100
- package/dist/cjs/hooks/use-structured-reference.d.ts.map +1 -1
- package/dist/cjs/hooks/use-structured-reference.js +17 -0
- package/dist/cjs/hooks/use-undo-redo-actions.d.ts +2 -1
- package/dist/cjs/hooks/use-undo-redo-actions.d.ts.map +1 -1
- package/dist/cjs/hooks/use-undo-redo-actions.js +10 -2
- package/dist/cjs/hooks/use-undo-redo.d.ts +12 -0
- package/dist/cjs/hooks/use-undo-redo.d.ts.map +1 -1
- package/dist/cjs/hooks/use-undo-redo.js +169 -10
- package/dist/cjs/hooks/utils/sort-rows.d.ts.map +1 -1
- package/dist/cjs/hooks/utils/sort-rows.js +4 -3
- package/dist/cjs/index.d.ts +7 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/interface/apply-fill.d.ts +26 -3
- package/dist/cjs/interface/apply-fill.d.ts.map +1 -1
- package/dist/cjs/interface/apply-fill.js +207 -98
- package/dist/cjs/interface/change-batch.d.ts +1 -1
- package/dist/cjs/interface/change-batch.d.ts.map +1 -1
- package/dist/cjs/interface/change-batch.js +112 -15
- package/dist/cjs/interface/change-calculated-column.d.ts +6 -2
- package/dist/cjs/interface/change-calculated-column.d.ts.map +1 -1
- package/dist/cjs/interface/change-calculated-column.js +87 -17
- package/dist/cjs/interface/change-table-column.d.ts +81 -7
- package/dist/cjs/interface/change-table-column.d.ts.map +1 -1
- package/dist/cjs/interface/change-table-column.js +336 -76
- package/dist/cjs/interface/create-table.d.ts +15 -3
- package/dist/cjs/interface/create-table.d.ts.map +1 -1
- package/dist/cjs/interface/create-table.js +100 -25
- package/dist/cjs/interface/delete-cells-shift-left.d.ts +1 -1
- package/dist/cjs/interface/delete-cells-shift-left.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells-shift-left.js +10 -1
- package/dist/cjs/interface/delete-cells-shift-up.d.ts +1 -1
- package/dist/cjs/interface/delete-cells-shift-up.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells-shift-up.js +10 -1
- package/dist/cjs/interface/delete-cells.d.ts +1 -1
- package/dist/cjs/interface/delete-cells.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells.js +81 -25
- package/dist/cjs/interface/delete-column.d.ts +1 -1
- package/dist/cjs/interface/delete-column.d.ts.map +1 -1
- package/dist/cjs/interface/delete-column.js +9 -2
- package/dist/cjs/interface/delete-row.d.ts +1 -1
- package/dist/cjs/interface/delete-row.d.ts.map +1 -1
- package/dist/cjs/interface/delete-row.js +223 -18
- package/dist/cjs/interface/delete-sheet.d.ts +2 -2
- package/dist/cjs/interface/delete-sheet.d.ts.map +1 -1
- package/dist/cjs/interface/delete-sheet.js +118 -1
- package/dist/cjs/interface/delete-table-column.d.ts +1 -1
- package/dist/cjs/interface/delete-table-column.d.ts.map +1 -1
- package/dist/cjs/interface/delete-table-column.js +11 -1
- package/dist/cjs/interface/delete-table-row.d.ts +1 -1
- package/dist/cjs/interface/delete-table-row.d.ts.map +1 -1
- package/dist/cjs/interface/delete-table-row.js +361 -275
- package/dist/cjs/interface/duplicate-sheet.d.ts.map +1 -1
- package/dist/cjs/interface/duplicate-sheet.js +83 -31
- package/dist/cjs/interface/embeds.d.ts +10 -1
- package/dist/cjs/interface/embeds.d.ts.map +1 -1
- package/dist/cjs/interface/embeds.js +120 -6
- package/dist/cjs/interface/insert-cells-shift-down.d.ts +1 -1
- package/dist/cjs/interface/insert-cells-shift-down.d.ts.map +1 -1
- package/dist/cjs/interface/insert-cells-shift-down.js +10 -1
- package/dist/cjs/interface/insert-cells-shift-right.d.ts +1 -1
- package/dist/cjs/interface/insert-cells-shift-right.d.ts.map +1 -1
- package/dist/cjs/interface/insert-cells-shift-right.js +10 -1
- package/dist/cjs/interface/insert-column.d.ts +2 -2
- package/dist/cjs/interface/insert-column.d.ts.map +1 -1
- package/dist/cjs/interface/insert-column.js +67 -38
- package/dist/cjs/interface/insert-row.d.ts +1 -1
- package/dist/cjs/interface/insert-row.d.ts.map +1 -1
- package/dist/cjs/interface/insert-row.js +9 -2
- package/dist/cjs/interface/insert-table-row.d.ts +2 -1
- package/dist/cjs/interface/insert-table-row.d.ts.map +1 -1
- package/dist/cjs/interface/insert-table-row.js +70 -19
- package/dist/cjs/interface/remove-duplicates.d.ts +1 -1
- package/dist/cjs/interface/remove-duplicates.d.ts.map +1 -1
- package/dist/cjs/interface/remove-duplicates.js +46 -6
- package/dist/cjs/interface/remove-table.d.ts +1 -1
- package/dist/cjs/interface/remove-table.d.ts.map +1 -1
- package/dist/cjs/interface/remove-table.js +72 -16
- package/dist/cjs/interface/slicers.d.ts +12 -1
- package/dist/cjs/interface/slicers.d.ts.map +1 -1
- package/dist/cjs/interface/slicers.js +47 -2
- package/dist/cjs/interface/spreadsheet-interface.d.ts +1 -1
- package/dist/cjs/interface/spreadsheet-interface.d.ts.map +1 -1
- package/dist/cjs/interface/spreadsheet-interface.js +64 -1
- package/dist/cjs/interface/table-totalrow.d.ts +13 -1
- package/dist/cjs/interface/table-totalrow.d.ts.map +1 -1
- package/dist/cjs/interface/table-totalrow.js +107 -73
- package/dist/cjs/interface/table-utils.d.ts +59 -6
- package/dist/cjs/interface/table-utils.d.ts.map +1 -1
- package/dist/cjs/interface/table-utils.js +211 -15
- package/dist/cjs/interface/update-table.d.ts +16 -1
- package/dist/cjs/interface/update-table.d.ts.map +1 -1
- package/dist/cjs/interface/update-table.js +190 -44
- package/dist/cjs/sheet-cell.d.ts.map +1 -1
- package/dist/cjs/test-setup.d.ts.map +1 -1
- package/dist/cjs/test-setup.js +6 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/validation-schema/table.schema.d.ts +11 -0
- package/dist/cjs/validation-schema/table.schema.d.ts.map +1 -1
- package/dist/cjs/validation-schema/table.schema.js +20 -3
- package/dist/esm/api/anchored-objects.d.ts +122 -6
- package/dist/esm/api/anchored-objects.d.ts.map +1 -1
- package/dist/esm/api/anchored-objects.js +375 -15
- package/dist/esm/api/copy-paste.d.ts +1 -2
- package/dist/esm/api/copy-paste.d.ts.map +1 -1
- package/dist/esm/api/copy-paste.js +1 -3
- package/dist/esm/api/filter.d.ts +15 -1
- package/dist/esm/api/filter.d.ts.map +1 -1
- package/dist/esm/api/filter.js +28 -0
- package/dist/esm/api/formula.d.ts +63 -0
- package/dist/esm/api/formula.d.ts.map +1 -1
- package/dist/esm/api/formula.js +235 -8
- package/dist/esm/api/paint-format.d.ts +22 -1
- package/dist/esm/api/paint-format.d.ts.map +1 -1
- package/dist/esm/api/paint-format.js +44 -1
- package/dist/esm/api/sort.d.ts +23 -1
- package/dist/esm/api/sort.d.ts.map +1 -1
- package/dist/esm/api/sort.js +45 -6
- package/dist/esm/api/structural-guards.d.ts +57 -0
- package/dist/esm/api/structural-guards.d.ts.map +1 -1
- package/dist/esm/api/structural-guards.js +85 -0
- package/dist/esm/api/structural-table-refs.d.ts +58 -3
- package/dist/esm/api/structural-table-refs.d.ts.map +1 -1
- package/dist/esm/api/structural-table-refs.js +126 -6
- package/dist/esm/api/table.d.ts +26 -2
- package/dist/esm/api/table.d.ts.map +1 -1
- package/dist/esm/api/table.js +70 -48
- package/dist/esm/api/validation.d.ts.map +1 -1
- package/dist/esm/api/validation.js +53 -8
- package/dist/esm/atoms/creating-table.atom.d.ts +22 -0
- package/dist/esm/atoms/creating-table.atom.d.ts.map +1 -0
- package/dist/esm/atoms/creating-table.atom.js +4 -0
- package/dist/esm/atoms/dialog-state.atom.d.ts +8 -0
- package/dist/esm/atoms/dialog-state.atom.d.ts.map +1 -1
- package/dist/esm/atoms/dialog-state.atom.js +12 -0
- package/dist/esm/atoms/editing-slicer.atom.d.ts +9 -0
- package/dist/esm/atoms/editing-slicer.atom.d.ts.map +1 -0
- package/dist/esm/atoms/editing-slicer.atom.js +6 -0
- package/dist/esm/atoms/index.d.ts +4 -0
- package/dist/esm/atoms/index.d.ts.map +1 -1
- package/dist/esm/atoms/index.js +4 -0
- package/dist/esm/atoms/inserting-slicer.atom.d.ts +8 -0
- package/dist/esm/atoms/inserting-slicer.atom.d.ts.map +1 -0
- package/dist/esm/atoms/inserting-slicer.atom.js +5 -0
- package/dist/esm/atoms/resizing-table.atom.d.ts +8 -0
- package/dist/esm/atoms/resizing-table.atom.d.ts.map +1 -0
- package/dist/esm/atoms/resizing-table.atom.js +5 -0
- package/dist/esm/commands.d.ts +129 -2
- package/dist/esm/commands.d.ts.map +1 -1
- package/dist/esm/components/editors/embed-editor.d.ts +4 -2
- package/dist/esm/components/editors/embed-editor.d.ts.map +1 -1
- package/dist/esm/components/editors/embed-editor.js +40 -6
- package/dist/esm/components/editors/slicer-editor.d.ts +15 -0
- package/dist/esm/components/editors/slicer-editor.d.ts.map +1 -0
- package/dist/esm/components/editors/slicer-editor.js +85 -0
- package/dist/esm/components/editors/table-editor.d.ts +58 -2
- package/dist/esm/components/editors/table-editor.d.ts.map +1 -1
- package/dist/esm/components/editors/table-editor.js +243 -19
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/constants.d.ts +9 -1
- package/dist/esm/constants.d.ts.map +1 -1
- package/dist/esm/constants.js +12 -0
- package/dist/esm/generated-names.d.ts +13 -3
- package/dist/esm/generated-names.d.ts.map +1 -1
- package/dist/esm/generated-names.js +3 -1
- package/dist/esm/helpers.d.ts +5 -0
- package/dist/esm/helpers.d.ts.map +1 -1
- package/dist/esm/helpers.js +7 -1
- package/dist/esm/hooks/use-on-change-batch.d.ts +19 -2
- package/dist/esm/hooks/use-on-change-batch.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-change-batch.js +19 -3
- package/dist/esm/hooks/use-on-change-calculated-column.d.ts +10 -1
- package/dist/esm/hooks/use-on-change-calculated-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-change-calculated-column.js +17 -5
- package/dist/esm/hooks/use-on-change-table-column.d.ts +6 -1
- package/dist/esm/hooks/use-on-change-table-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-change-table-column.js +17 -5
- package/dist/esm/hooks/use-on-change.d.ts +36 -3
- package/dist/esm/hooks/use-on-change.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-change.js +214 -124
- package/dist/esm/hooks/use-on-create-custom-table-style.d.ts +17 -0
- package/dist/esm/hooks/use-on-create-custom-table-style.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-create-custom-table-style.js +26 -0
- package/dist/esm/hooks/use-on-create-named-range.d.ts +4 -2
- package/dist/esm/hooks/use-on-create-named-range.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-create-named-range.js +11 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts +2 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-left.js +3 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts +2 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-up.js +3 -1
- package/dist/esm/hooks/use-on-delete-column.d.ts +2 -1
- package/dist/esm/hooks/use-on-delete-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-column.js +3 -1
- package/dist/esm/hooks/use-on-delete-row.d.ts +2 -1
- package/dist/esm/hooks/use-on-delete-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-row.js +3 -1
- package/dist/esm/hooks/use-on-delete-sheet.d.ts +9 -1
- package/dist/esm/hooks/use-on-delete-sheet.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-sheet.js +17 -1
- package/dist/esm/hooks/use-on-delete-table-row.d.ts +4 -1
- package/dist/esm/hooks/use-on-delete-table-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-table-row.js +19 -1
- package/dist/esm/hooks/use-on-delete.d.ts +5 -2
- package/dist/esm/hooks/use-on-delete.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete.js +5 -1
- package/dist/esm/hooks/use-on-embeds.d.ts +7 -4
- package/dist/esm/hooks/use-on-embeds.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-embeds.js +23 -6
- package/dist/esm/hooks/use-on-fill.d.ts +17 -2
- package/dist/esm/hooks/use-on-fill.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-fill.js +27 -1
- package/dist/esm/hooks/use-on-filter-table.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-filter-table.js +97 -26
- package/dist/esm/hooks/use-on-import-excel.d.ts +2 -1
- package/dist/esm/hooks/use-on-import-excel.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-import-excel.js +4 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts +2 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-down.js +3 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts +2 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-right.js +3 -1
- package/dist/esm/hooks/use-on-insert-column.d.ts +2 -1
- package/dist/esm/hooks/use-on-insert-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-column.js +3 -1
- package/dist/esm/hooks/use-on-insert-row.d.ts +2 -1
- package/dist/esm/hooks/use-on-insert-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-row.js +3 -1
- package/dist/esm/hooks/use-on-insert-table-row.d.ts +5 -2
- package/dist/esm/hooks/use-on-insert-table-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-table-row.js +19 -1
- package/dist/esm/hooks/use-on-merge-unmerge-cells.d.ts +3 -2
- package/dist/esm/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-merge-unmerge-cells.js +12 -1
- package/dist/esm/hooks/use-on-move-columns.d.ts +3 -1
- package/dist/esm/hooks/use-on-move-columns.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-columns.js +14 -1
- package/dist/esm/hooks/use-on-move-rows.d.ts +3 -1
- package/dist/esm/hooks/use-on-move-rows.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-rows.js +14 -1
- package/dist/esm/hooks/use-on-move-selection.d.ts +3 -1
- package/dist/esm/hooks/use-on-move-selection.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-selection.js +44 -1
- package/dist/esm/hooks/use-on-paste.d.ts +22 -1
- package/dist/esm/hooks/use-on-paste.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-paste.js +815 -672
- package/dist/esm/hooks/use-on-remove-duplicates.d.ts +5 -2
- package/dist/esm/hooks/use-on-remove-duplicates.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-remove-duplicates.js +5 -1
- package/dist/esm/hooks/use-on-request-create-table.d.ts +13 -0
- package/dist/esm/hooks/use-on-request-create-table.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-request-create-table.js +43 -0
- package/dist/esm/hooks/use-on-request-insert-slicer.d.ts +7 -0
- package/dist/esm/hooks/use-on-request-insert-slicer.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-request-insert-slicer.js +15 -0
- package/dist/esm/hooks/use-on-request-resize-table.d.ts +7 -0
- package/dist/esm/hooks/use-on-request-resize-table.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-request-resize-table.js +15 -0
- package/dist/esm/hooks/use-on-resize-table.d.ts +5 -1
- package/dist/esm/hooks/use-on-resize-table.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-resize-table.js +107 -27
- package/dist/esm/hooks/use-on-sort-column.d.ts +28 -3
- package/dist/esm/hooks/use-on-sort-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-sort-column.js +105 -68
- package/dist/esm/hooks/use-on-sort-range.d.ts +26 -3
- package/dist/esm/hooks/use-on-sort-range.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-sort-range.js +100 -64
- package/dist/esm/hooks/use-on-sort-table.d.ts +18 -1
- package/dist/esm/hooks/use-on-sort-table.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-sort-table.js +107 -86
- package/dist/esm/hooks/use-on-subtotal.d.ts +10 -3
- package/dist/esm/hooks/use-on-subtotal.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-subtotal.js +7 -5
- package/dist/esm/hooks/use-on-table.d.ts +39 -7
- package/dist/esm/hooks/use-on-table.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-table.js +234 -26
- package/dist/esm/hooks/use-on-undo-calculated-column.d.ts +23 -0
- package/dist/esm/hooks/use-on-undo-calculated-column.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-undo-calculated-column.js +62 -0
- package/dist/esm/hooks/use-on-undo-table-auto-expansion.d.ts +28 -0
- package/dist/esm/hooks/use-on-undo-table-auto-expansion.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-undo-table-auto-expansion.js +75 -0
- package/dist/esm/hooks/use-on-update-named-range.d.ts +4 -2
- package/dist/esm/hooks/use-on-update-named-range.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-update-named-range.js +13 -1
- package/dist/esm/hooks/use-sheet-properties.d.ts +1 -0
- package/dist/esm/hooks/use-sheet-properties.d.ts.map +1 -1
- package/dist/esm/hooks/use-sheet-properties.js +38 -19
- package/dist/esm/hooks/use-slicers.d.ts +2 -2
- package/dist/esm/hooks/use-slicers.d.ts.map +1 -1
- package/dist/esm/hooks/use-slicers.js +16 -8
- package/dist/esm/hooks/use-sparkline-groups.d.ts +50 -0
- package/dist/esm/hooks/use-sparkline-groups.d.ts.map +1 -0
- package/dist/esm/hooks/use-sparkline-groups.js +146 -0
- package/dist/esm/hooks/use-spreadsheet-state.d.ts +56 -10
- package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/esm/hooks/use-spreadsheet-state.js +259 -30
- package/dist/esm/hooks/use-structured-reference.d.ts.map +1 -1
- package/dist/esm/hooks/use-structured-reference.js +17 -0
- package/dist/esm/hooks/use-undo-redo-actions.d.ts +2 -1
- package/dist/esm/hooks/use-undo-redo-actions.d.ts.map +1 -1
- package/dist/esm/hooks/use-undo-redo-actions.js +8 -2
- package/dist/esm/hooks/use-undo-redo.d.ts +12 -0
- package/dist/esm/hooks/use-undo-redo.d.ts.map +1 -1
- package/dist/esm/hooks/use-undo-redo.js +158 -7
- package/dist/esm/hooks/utils/sort-rows.d.ts.map +1 -1
- package/dist/esm/hooks/utils/sort-rows.js +4 -3
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +8 -0
- package/dist/esm/interface/apply-fill.d.ts +26 -3
- package/dist/esm/interface/apply-fill.d.ts.map +1 -1
- package/dist/esm/interface/apply-fill.js +188 -88
- package/dist/esm/interface/change-batch.d.ts +1 -1
- package/dist/esm/interface/change-batch.d.ts.map +1 -1
- package/dist/esm/interface/change-batch.js +89 -8
- package/dist/esm/interface/change-calculated-column.d.ts +6 -2
- package/dist/esm/interface/change-calculated-column.d.ts.map +1 -1
- package/dist/esm/interface/change-calculated-column.js +81 -16
- package/dist/esm/interface/change-table-column.d.ts +81 -7
- package/dist/esm/interface/change-table-column.d.ts.map +1 -1
- package/dist/esm/interface/change-table-column.js +295 -67
- package/dist/esm/interface/create-table.d.ts +15 -3
- package/dist/esm/interface/create-table.d.ts.map +1 -1
- package/dist/esm/interface/create-table.js +103 -27
- package/dist/esm/interface/delete-cells-shift-left.d.ts +1 -1
- package/dist/esm/interface/delete-cells-shift-left.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells-shift-left.js +10 -1
- package/dist/esm/interface/delete-cells-shift-up.d.ts +1 -1
- package/dist/esm/interface/delete-cells-shift-up.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells-shift-up.js +10 -1
- package/dist/esm/interface/delete-cells.d.ts +1 -1
- package/dist/esm/interface/delete-cells.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells.js +47 -14
- package/dist/esm/interface/delete-column.d.ts +1 -1
- package/dist/esm/interface/delete-column.d.ts.map +1 -1
- package/dist/esm/interface/delete-column.js +9 -2
- package/dist/esm/interface/delete-row.d.ts +1 -1
- package/dist/esm/interface/delete-row.d.ts.map +1 -1
- package/dist/esm/interface/delete-row.js +173 -15
- package/dist/esm/interface/delete-sheet.d.ts +2 -2
- package/dist/esm/interface/delete-sheet.d.ts.map +1 -1
- package/dist/esm/interface/delete-sheet.js +113 -1
- package/dist/esm/interface/delete-table-column.d.ts +1 -1
- package/dist/esm/interface/delete-table-column.d.ts.map +1 -1
- package/dist/esm/interface/delete-table-column.js +11 -1
- package/dist/esm/interface/delete-table-row.d.ts +1 -1
- package/dist/esm/interface/delete-table-row.d.ts.map +1 -1
- package/dist/esm/interface/delete-table-row.js +312 -232
- package/dist/esm/interface/duplicate-sheet.d.ts.map +1 -1
- package/dist/esm/interface/duplicate-sheet.js +73 -26
- package/dist/esm/interface/embeds.d.ts +10 -1
- package/dist/esm/interface/embeds.d.ts.map +1 -1
- package/dist/esm/interface/embeds.js +84 -5
- package/dist/esm/interface/insert-cells-shift-down.d.ts +1 -1
- package/dist/esm/interface/insert-cells-shift-down.d.ts.map +1 -1
- package/dist/esm/interface/insert-cells-shift-down.js +10 -1
- package/dist/esm/interface/insert-cells-shift-right.d.ts +1 -1
- package/dist/esm/interface/insert-cells-shift-right.d.ts.map +1 -1
- package/dist/esm/interface/insert-cells-shift-right.js +10 -1
- package/dist/esm/interface/insert-column.d.ts +2 -2
- package/dist/esm/interface/insert-column.d.ts.map +1 -1
- package/dist/esm/interface/insert-column.js +48 -23
- package/dist/esm/interface/insert-row.d.ts +1 -1
- package/dist/esm/interface/insert-row.d.ts.map +1 -1
- package/dist/esm/interface/insert-row.js +9 -2
- package/dist/esm/interface/insert-table-row.d.ts +2 -1
- package/dist/esm/interface/insert-table-row.d.ts.map +1 -1
- package/dist/esm/interface/insert-table-row.js +67 -12
- package/dist/esm/interface/remove-duplicates.d.ts +1 -1
- package/dist/esm/interface/remove-duplicates.d.ts.map +1 -1
- package/dist/esm/interface/remove-duplicates.js +41 -6
- package/dist/esm/interface/remove-table.d.ts +1 -1
- package/dist/esm/interface/remove-table.d.ts.map +1 -1
- package/dist/esm/interface/remove-table.js +58 -10
- package/dist/esm/interface/slicers.d.ts +12 -1
- package/dist/esm/interface/slicers.d.ts.map +1 -1
- package/dist/esm/interface/slicers.js +44 -2
- package/dist/esm/interface/spreadsheet-interface.d.ts +1 -1
- package/dist/esm/interface/spreadsheet-interface.d.ts.map +1 -1
- package/dist/esm/interface/spreadsheet-interface.js +73 -1
- package/dist/esm/interface/table-totalrow.d.ts +13 -1
- package/dist/esm/interface/table-totalrow.d.ts.map +1 -1
- package/dist/esm/interface/table-totalrow.js +98 -68
- package/dist/esm/interface/table-utils.d.ts +59 -6
- package/dist/esm/interface/table-utils.d.ts.map +1 -1
- package/dist/esm/interface/table-utils.js +155 -14
- package/dist/esm/interface/update-table.d.ts +16 -1
- package/dist/esm/interface/update-table.d.ts.map +1 -1
- package/dist/esm/interface/update-table.js +203 -42
- package/dist/esm/sheet-cell.d.ts.map +1 -1
- package/dist/esm/test-setup.d.ts.map +1 -1
- package/dist/esm/test-setup.js +6 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/validation-schema/table.schema.d.ts +11 -0
- package/dist/esm/validation-schema/table.schema.d.ts.map +1 -1
- package/dist/esm/validation-schema/table.schema.js +15 -2
- package/package.json +19 -11
package/dist/cjs/api/table.d.ts
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { type ParsedToken } from "@rowsncolumns/calculator";
|
|
2
|
-
import type { CellInterface, GridRange } from "@rowsncolumns/common-types";
|
|
2
|
+
import type { CellInterface, ExtendedValue, GridRange } from "@rowsncolumns/common-types";
|
|
3
3
|
import type { BandedRange, FilterView, TableView } from "@rowsncolumns/spreadsheet";
|
|
4
|
+
/**
|
|
5
|
+
* Excel's default for the Create Table dialog's "My table has headers": checked when the
|
|
6
|
+
* range's first row reads as a header row — it holds at least one value, every value in it is
|
|
7
|
+
* text (a number or boolean there means the data starts on the first row), and at least one row
|
|
8
|
+
* of data lies below it. A single-row range defaults to unchecked.
|
|
9
|
+
*/
|
|
10
|
+
export declare const guessTableHasHeaders: ({ sheetId, range, getEffectiveExtendedValue, }: {
|
|
11
|
+
sheetId: number;
|
|
12
|
+
range: GridRange;
|
|
13
|
+
getEffectiveExtendedValue: (sheetId: number, rowIndex: number, columnIndex: number) => ExtendedValue | null | undefined;
|
|
14
|
+
}) => boolean;
|
|
4
15
|
/**
|
|
5
16
|
* Get table column index
|
|
6
17
|
* @param sheetId
|
|
@@ -25,7 +36,20 @@ export declare const findAdjacentTable: (sheetId: number, cell: CellInterface, t
|
|
|
25
36
|
* @returns
|
|
26
37
|
*/
|
|
27
38
|
export declare const findAdjacentBandedRange: (sheetId: number, cell: CellInterface, bandedRanges: BandedRange[] | undefined, getUserEnteredValue: (sheetId: number, rowIndex: number, columnIndex: number) => string | undefined) => readonly [BandedRange | undefined, boolean, boolean];
|
|
28
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Excel's calculated-column fill decision, shared with the Rust engine's
|
|
41
|
+
* `auto_fill_calculated_column` (rowsncolumns/spreadsheet#681): a formula just
|
|
42
|
+
* written into a table body cell fills the whole column when every OTHER body
|
|
43
|
+
* cell of that column is either empty (a fresh column) or holds the same
|
|
44
|
+
* formula relative to its row (a consistent calculated column, which the new
|
|
45
|
+
* formula overwrites). A literal anywhere, or two rows that disagree, leave
|
|
46
|
+
* the edit a one-cell exception. The column's cells are the reference — not
|
|
47
|
+
* the formula recorded on `columns[].formula`, which has no row of its own —
|
|
48
|
+
* so the overwrite works from any row, not only the one the column was
|
|
49
|
+
* created from (#668 T-50). A consistent column is a calculated column
|
|
50
|
+
* whatever its formula references (`=TODAY()`, `=1`), like Excel (#668 T-29).
|
|
51
|
+
*/
|
|
52
|
+
export declare const isTableColumnCellsFillable: (sheetId: number, range: GridRange, excludeCell: CellInterface, currentValue: string | boolean | undefined, activeSheetName: string, getUserEnteredValue: (sheetId: number, rowIndex: number, columnIndex: number) => string | undefined) => boolean;
|
|
29
53
|
export declare const addTableNameToTokens: (tokens: ParsedToken[], title: string) => string;
|
|
30
54
|
export declare const removeTableName: (tokens: ParsedToken[], title: string) => string;
|
|
31
55
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../api/table.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../api/table.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAEjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,SAAS,EACV,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACV,MAAM,2BAA2B,CAAC;AAmBnC;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,gDAIlC;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,yBAAyB,EAAE,CACzB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC;CACvC,KAAG,OA8BH,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,MAAM,aAAa,EACnB,QAAQ,SAAS,EAAE,GAAG,SAAS,uBAiBhC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,SAAS,MAAM,EACf,MAAM,aAAa,EACnB,QAAQ,SAAS,EAAE,GAAG,SAAS,GAAG,IAAI,0BAMvC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EACf,MAAM,aAAa,EACnB,QAAQ,SAAS,EAAE,GAAG,SAAS,EAC/B,qBAAqB,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,MAAM,GAAG,SAAS,uDA8DxB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,MAAM,aAAa,EACnB,cAAc,WAAW,EAAE,GAAG,SAAS,EACvC,qBAAqB,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,MAAM,GAAG,SAAS,yDA8CxB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,OAAO,SAAS,EAChB,aAAa,aAAa,EAC1B,cAAc,MAAM,GAAG,OAAO,GAAG,SAAS,EAC1C,iBAAiB,MAAM,EACvB,qBAAqB,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,MAAM,GAAG,SAAS,YAuDxB,CAAC;AAGF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,WAAW,EAAE,EAAE,OAAO,MAAM,WAyBxE,CAAC;AAcF,eAAO,MAAM,eAAe,GAAI,QAAQ,WAAW,EAAE,EAAE,OAAO,MAAM,WA2BnE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,SAAS,GAAG,UAAU,EAC7B,MAAM,MAAM,EAAE,EACd,gBAAgB,MAAM,SAoDvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,OAAO,SAAS,GAAG,UAAU,EAC7B,MAAM,MAAM,EAAE,EACd,gBAAgB,MAAM,SAoDvB,CAAC"}
|
package/dist/cjs/api/table.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
var _a, _b, _c;
|
|
2
1
|
import { __assign, __read, __spreadArray, __values } from "tslib";
|
|
3
|
-
import {
|
|
2
|
+
import { tokenVocabulary, } from "@rowsncolumns/calculator";
|
|
4
3
|
import { Direction } from "@rowsncolumns/common-types";
|
|
5
|
-
import { isAFormula, isCellWithinBounds, isNil, iterateCellsInRange, } from "@rowsncolumns/utils";
|
|
4
|
+
import { areaIntersects, isAFormula, isCellWithinBounds, isNil, iterateCellsInRange, } from "@rowsncolumns/utils";
|
|
6
5
|
import { SheetCell } from "../sheet-cell";
|
|
7
6
|
import { detokenize } from "./formula";
|
|
8
7
|
import { moveFilterView, moveRange } from "./selection";
|
|
@@ -12,6 +11,35 @@ var isTableColumnToken = function (token) {
|
|
|
12
11
|
var isTableNameToken = function (token) {
|
|
13
12
|
return token.tokenType.name === tokenVocabulary.TableName.name;
|
|
14
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* Excel's default for the Create Table dialog's "My table has headers": checked when the
|
|
16
|
+
* range's first row reads as a header row — it holds at least one value, every value in it is
|
|
17
|
+
* text (a number or boolean there means the data starts on the first row), and at least one row
|
|
18
|
+
* of data lies below it. A single-row range defaults to unchecked.
|
|
19
|
+
*/
|
|
20
|
+
export var guessTableHasHeaders = function (_a) {
|
|
21
|
+
var _b, _c, _d;
|
|
22
|
+
var sheetId = _a.sheetId, range = _a.range, getEffectiveExtendedValue = _a.getEffectiveExtendedValue;
|
|
23
|
+
if (range.endRowIndex <= range.startRowIndex) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
var sawText = false;
|
|
27
|
+
for (var columnIndex = range.startColumnIndex; columnIndex <= range.endColumnIndex; columnIndex++) {
|
|
28
|
+
var value = getEffectiveExtendedValue(sheetId, range.startRowIndex, columnIndex);
|
|
29
|
+
if (!value) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
if (!isNil((_b = value.nv) !== null && _b !== void 0 ? _b : value.numberValue) ||
|
|
33
|
+
!isNil((_c = value.bv) !== null && _c !== void 0 ? _c : value.boolValue)) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
var text = (_d = value.sv) !== null && _d !== void 0 ? _d : value.stringValue;
|
|
37
|
+
if (!isNil(text) && text !== "") {
|
|
38
|
+
sawText = true;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return sawText;
|
|
42
|
+
};
|
|
15
43
|
/**
|
|
16
44
|
* Get table column index
|
|
17
45
|
* @param sheetId
|
|
@@ -75,15 +103,25 @@ export var findAdjacentTable = function (sheetId, cell, tables, getUserEnteredVa
|
|
|
75
103
|
startColumnIndex: cell.columnIndex,
|
|
76
104
|
endColumnIndex: cell.columnIndex,
|
|
77
105
|
}));
|
|
106
|
+
// Excel never merges tables: a line that belongs to another table is not free to grow over.
|
|
107
|
+
if (tables === null || tables === void 0 ? void 0 : tables.some(function (other) {
|
|
108
|
+
return other.id !== table.id &&
|
|
109
|
+
other.sheetId === sheetId &&
|
|
110
|
+
areaIntersects(other.range, lookupRange);
|
|
111
|
+
})) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
78
114
|
return (isAdjacent &&
|
|
79
115
|
__spreadArray([], __read(iterateCellsInRange(lookupRange)), false).every(function (_a) {
|
|
80
116
|
var _b = __read(_a, 2), rowIndex = _b[0], columnIndex = _b[1];
|
|
81
117
|
return isNil(getUserEnteredValue(sheetId, rowIndex, columnIndex));
|
|
82
118
|
}));
|
|
83
119
|
});
|
|
84
|
-
|
|
120
|
+
// A table with a totals row never grows by rows (Excel): the cell right of its totals row is
|
|
121
|
+
// a column expansion only.
|
|
85
122
|
var isRowExpansion = adjacentTable
|
|
86
|
-
? adjacentTable.range.endRowIndex + 1
|
|
123
|
+
? adjacentTable.range.endRowIndex + 1 === cell.rowIndex &&
|
|
124
|
+
!adjacentTable.totalRow
|
|
87
125
|
: false;
|
|
88
126
|
var isColumnExpansion = adjacentTable
|
|
89
127
|
? adjacentTable.range.endColumnIndex + 1 === cell.columnIndex
|
|
@@ -129,66 +167,61 @@ export var findAdjacentBandedRange = function (sheetId, cell, bandedRanges, getU
|
|
|
129
167
|
: false;
|
|
130
168
|
return [adjacentTable, isRowExpansion, isColumnExpansion];
|
|
131
169
|
};
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
var
|
|
148
|
-
if (
|
|
170
|
+
/**
|
|
171
|
+
* Excel's calculated-column fill decision, shared with the Rust engine's
|
|
172
|
+
* `auto_fill_calculated_column` (rowsncolumns/spreadsheet#681): a formula just
|
|
173
|
+
* written into a table body cell fills the whole column when every OTHER body
|
|
174
|
+
* cell of that column is either empty (a fresh column) or holds the same
|
|
175
|
+
* formula relative to its row (a consistent calculated column, which the new
|
|
176
|
+
* formula overwrites). A literal anywhere, or two rows that disagree, leave
|
|
177
|
+
* the edit a one-cell exception. The column's cells are the reference — not
|
|
178
|
+
* the formula recorded on `columns[].formula`, which has no row of its own —
|
|
179
|
+
* so the overwrite works from any row, not only the one the column was
|
|
180
|
+
* created from (#668 T-50). A consistent column is a calculated column
|
|
181
|
+
* whatever its formula references (`=TODAY()`, `=1`), like Excel (#668 T-29).
|
|
182
|
+
*/
|
|
183
|
+
export var isTableColumnCellsFillable = function (sheetId, range, excludeCell, currentValue, activeSheetName, getUserEnteredValue) {
|
|
184
|
+
var e_2, _a;
|
|
185
|
+
var _b;
|
|
186
|
+
if (!isAFormula(currentValue)) {
|
|
149
187
|
return false;
|
|
150
188
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
189
|
+
// The column's existing formula, relativised to the edited cell — every
|
|
190
|
+
// non-empty body cell must agree on it.
|
|
191
|
+
var existingTemplate;
|
|
192
|
+
try {
|
|
193
|
+
for (var _c = __values(iterateCellsInRange(range)), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
194
|
+
var _e = __read(_d.value, 2), rowIndex = _e[0], columnIndex = _e[1];
|
|
195
|
+
if (rowIndex === excludeCell.rowIndex &&
|
|
196
|
+
columnIndex === excludeCell.columnIndex) {
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
var userEnteredValue = getUserEnteredValue(sheetId, rowIndex, columnIndex);
|
|
200
|
+
if (isNil(userEnteredValue) || userEnteredValue === "") {
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
if (!isAFormula(userEnteredValue)) {
|
|
204
|
+
return false;
|
|
205
|
+
}
|
|
206
|
+
// `$`-anchored references stay put from row to row (Excel), so they must
|
|
207
|
+
// not be shifted for the comparison.
|
|
208
|
+
var relativeFormula = (_b = SheetCell.getRelativeFormula(userEnteredValue, { rowIndex: rowIndex, columnIndex: columnIndex }, excludeCell, activeSheetName, undefined, false, undefined, undefined, true)) !== null && _b !== void 0 ? _b : userEnteredValue;
|
|
209
|
+
if (existingTemplate === undefined) {
|
|
210
|
+
existingTemplate = relativeFormula;
|
|
211
|
+
}
|
|
212
|
+
else if (existingTemplate !== relativeFormula) {
|
|
213
|
+
return false;
|
|
214
|
+
}
|
|
163
215
|
}
|
|
164
|
-
var relativeFormula = SheetCell.getRelativeFormula(userEnteredValue, { rowIndex: rowIndex, columnIndex: columnIndex }, excludeCell, activeSheetName);
|
|
165
|
-
var comparable = relativeFormula !== null && relativeFormula !== void 0 ? relativeFormula : userEnteredValue;
|
|
166
|
-
return normalizedTemplate === comparable;
|
|
167
|
-
});
|
|
168
|
-
};
|
|
169
|
-
var formulaHasCellReferences = function (formula) {
|
|
170
|
-
if (!formula || typeof formula !== "string" || !formula.startsWith("=")) {
|
|
171
|
-
return false;
|
|
172
|
-
}
|
|
173
|
-
var tokens = lexify(formula).tokens;
|
|
174
|
-
return tokens.some(function (token) {
|
|
175
|
-
return CELL_REFERENCE_TOKEN_NAMES.has(token.tokenType.name);
|
|
176
|
-
});
|
|
177
|
-
};
|
|
178
|
-
var CELL_REFERENCE_TOKEN_NAMES = new Set([
|
|
179
|
-
(_a = tokenVocabulary.Cell) === null || _a === void 0 ? void 0 : _a.name,
|
|
180
|
-
(_b = tokenVocabulary.Column) === null || _b === void 0 ? void 0 : _b.name,
|
|
181
|
-
(_c = tokenVocabulary.TableColumnName) === null || _c === void 0 ? void 0 : _c.name,
|
|
182
|
-
].filter(function (tokenName) { return Boolean(tokenName); }));
|
|
183
|
-
var normalizeFormulaString = function (value) {
|
|
184
|
-
if (typeof value !== "string") {
|
|
185
|
-
return undefined;
|
|
186
216
|
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
217
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
218
|
+
finally {
|
|
219
|
+
try {
|
|
220
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
221
|
+
}
|
|
222
|
+
finally { if (e_2) throw e_2.error; }
|
|
190
223
|
}
|
|
191
|
-
return
|
|
224
|
+
return true;
|
|
192
225
|
};
|
|
193
226
|
// Add table name to formula
|
|
194
227
|
export var addTableNameToTokens = function (tokens, title) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../api/validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../api/validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAkBpF,KAAK,mBAAmB,GACpB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,IAAI,GACJ,SAAS,GACT;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAoBxC,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,SA6BlD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,kBAAkB,GAAG,SAAS,EACrC,QAAQ,mBAAmB,EAC3B,gBAAgB,mBAAmB,EACnC,iBAAiB,CAAC,OAAO,EAAE,MAAM,KAAK,cAAc,EAAE,EACtD,UAAU,uBAAuB,wBA2WlC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { checkIfStringIsReference, escapeCharacters, isNil, stripDataValidationTextPrefix, toDate, toSerial, } from "@rowsncolumns/utils";
|
|
1
|
+
import { checkIfStringIsReference, escapeCharacters, isNil, matchesWildcardPattern, stripDataValidationTextPrefix, toDate, toSerial, } from "@rowsncolumns/utils";
|
|
2
2
|
import { convertToNumber } from "./datatype";
|
|
3
3
|
var EMAIL_REGEX = /(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/;
|
|
4
4
|
var URL_REGEX = /^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$/;
|
|
@@ -151,6 +151,33 @@ export var checkBooleanRule = function (rule, value, previousValue, getRangeValu
|
|
|
151
151
|
var end = new Date(today.getFullYear(), today.getMonth() + 2, 0);
|
|
152
152
|
return { start: startOfDay(start), end: endOfDay(end) };
|
|
153
153
|
}
|
|
154
|
+
// Calendar quarters / years, like Excel's Date Filters. `new Date` rolls a
|
|
155
|
+
// month index past December (or before January) into the adjacent year.
|
|
156
|
+
case "DATE_THIS_QUARTER":
|
|
157
|
+
case "DATE_LAST_QUARTER":
|
|
158
|
+
case "DATE_NEXT_QUARTER": {
|
|
159
|
+
var shift = type === "DATE_LAST_QUARTER" ? -3 : type === "DATE_NEXT_QUARTER" ? 3 : 0;
|
|
160
|
+
var firstMonth = Math.floor(today.getMonth() / 3) * 3 + shift;
|
|
161
|
+
var start = new Date(today.getFullYear(), firstMonth, 1);
|
|
162
|
+
var end = new Date(today.getFullYear(), firstMonth + 3, 0);
|
|
163
|
+
return { start: startOfDay(start), end: endOfDay(end) };
|
|
164
|
+
}
|
|
165
|
+
case "DATE_THIS_YEAR":
|
|
166
|
+
case "DATE_LAST_YEAR":
|
|
167
|
+
case "DATE_NEXT_YEAR": {
|
|
168
|
+
var year = today.getFullYear() +
|
|
169
|
+
(type === "DATE_LAST_YEAR" ? -1 : type === "DATE_NEXT_YEAR" ? 1 : 0);
|
|
170
|
+
return {
|
|
171
|
+
start: startOfDay(new Date(year, 0, 1)),
|
|
172
|
+
end: endOfDay(new Date(year, 11, 31)),
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
case "DATE_YEAR_TO_DATE": {
|
|
176
|
+
return {
|
|
177
|
+
start: startOfDay(new Date(today.getFullYear(), 0, 1)),
|
|
178
|
+
end: endOfDay(today),
|
|
179
|
+
};
|
|
180
|
+
}
|
|
154
181
|
default:
|
|
155
182
|
return undefined;
|
|
156
183
|
}
|
|
@@ -166,9 +193,20 @@ export var checkBooleanRule = function (rule, value, previousValue, getRangeValu
|
|
|
166
193
|
var type = condition.type, values = condition.values;
|
|
167
194
|
var valuesArray = values !== null && values !== void 0 ? values : [];
|
|
168
195
|
var firstValue = (_a = valuesArray[0]) !== null && _a !== void 0 ? _a : { userEnteredValue: "" };
|
|
196
|
+
// "All Dates in the Period" (`DATE_IN_Q1`..`Q4`, `DATE_IN_M1`..`M12`): the
|
|
197
|
+
// cell's quarter / month in any year.
|
|
198
|
+
var periodMatch = /^DATE_IN_([QM])(\d+)$/.exec(type);
|
|
199
|
+
if (periodMatch) {
|
|
200
|
+
var dateValue = toComparableDate(value);
|
|
201
|
+
if (!dateValue)
|
|
202
|
+
return false;
|
|
203
|
+
var month = dateValue.getMonth() + 1;
|
|
204
|
+
var period = periodMatch[1] === "Q" ? Math.ceil(month / 3) : month;
|
|
205
|
+
return period === Number(periodMatch[2]);
|
|
206
|
+
}
|
|
169
207
|
switch (type) {
|
|
170
208
|
case "TEXT_EQ":
|
|
171
|
-
return
|
|
209
|
+
return matchesWildcardPattern(firstValue.userEnteredValue, String(value), "equals");
|
|
172
210
|
case "BLANK":
|
|
173
211
|
return value === "" || isNil(value);
|
|
174
212
|
case "BOOLEAN":
|
|
@@ -212,17 +250,17 @@ export var checkBooleanRule = function (rule, value, previousValue, getRangeValu
|
|
|
212
250
|
case "NUMBER_NOT_EQ":
|
|
213
251
|
return parseNumber(value) !== parseNumber(firstValue.userEnteredValue);
|
|
214
252
|
case "TEXT_CONTAINS":
|
|
215
|
-
return
|
|
253
|
+
return matchesWildcardPattern(firstValue.userEnteredValue, String(value), "contains");
|
|
216
254
|
case "TEXT_ENDS_WITH":
|
|
217
|
-
return
|
|
255
|
+
return matchesWildcardPattern(firstValue.userEnteredValue, String(value), "endsWith");
|
|
218
256
|
case "TEXT_NOT_CONTAINS":
|
|
219
|
-
return !
|
|
257
|
+
return !matchesWildcardPattern(firstValue.userEnteredValue, String(value), "contains");
|
|
220
258
|
case "NOT_BLANK":
|
|
221
259
|
return !(isNil(value) || value === "");
|
|
222
260
|
case "TEXT_NOT_EQ":
|
|
223
|
-
return !
|
|
261
|
+
return !matchesWildcardPattern(firstValue.userEnteredValue, String(value), "equals");
|
|
224
262
|
case "TEXT_STARTS_WITH":
|
|
225
|
-
return
|
|
263
|
+
return matchesWildcardPattern(firstValue.userEnteredValue, String(value), "startsWith");
|
|
226
264
|
case "ONE_OF_RANGE":
|
|
227
265
|
case "ONE_OF_LIST": {
|
|
228
266
|
if (allowBlank && !value) {
|
|
@@ -267,7 +305,14 @@ export var checkBooleanRule = function (rule, value, previousValue, getRangeValu
|
|
|
267
305
|
case "DATE_NEXT_WEEK":
|
|
268
306
|
case "DATE_LAST_MONTH":
|
|
269
307
|
case "DATE_THIS_MONTH":
|
|
270
|
-
case "DATE_NEXT_MONTH":
|
|
308
|
+
case "DATE_NEXT_MONTH":
|
|
309
|
+
case "DATE_THIS_QUARTER":
|
|
310
|
+
case "DATE_LAST_QUARTER":
|
|
311
|
+
case "DATE_NEXT_QUARTER":
|
|
312
|
+
case "DATE_THIS_YEAR":
|
|
313
|
+
case "DATE_LAST_YEAR":
|
|
314
|
+
case "DATE_NEXT_YEAR":
|
|
315
|
+
case "DATE_YEAR_TO_DATE": {
|
|
271
316
|
var dateValue = toComparableDate(value);
|
|
272
317
|
if (!dateValue)
|
|
273
318
|
return false;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { CellInterface, GridRange, SelectionArea } from "@rowsncolumns/common-types";
|
|
2
|
+
import type { BandedDefinition, SelectionAttributes, TableTheme } from "@rowsncolumns/spreadsheet";
|
|
3
|
+
/**
|
|
4
|
+
* What the Create Table dialog was opened for: the selection it came from, the range it
|
|
5
|
+
* pre-fills (the selection, else the data region around the active cell), Excel's guess for
|
|
6
|
+
* "My table has headers", and the style the entry point chose (Format as Table / context menu).
|
|
7
|
+
*/
|
|
8
|
+
export type CreateTableRequest = {
|
|
9
|
+
sheetId: number;
|
|
10
|
+
activeCell: CellInterface;
|
|
11
|
+
selections: SelectionArea<SelectionAttributes>[];
|
|
12
|
+
range: GridRange;
|
|
13
|
+
hasHeaders: boolean;
|
|
14
|
+
theme?: TableTheme;
|
|
15
|
+
bandedRange?: BandedDefinition;
|
|
16
|
+
};
|
|
17
|
+
export declare const creatingTableAtom: import("jotai").PrimitiveAtom<CreateTableRequest | undefined> & {
|
|
18
|
+
init: CreateTableRequest | undefined;
|
|
19
|
+
};
|
|
20
|
+
export declare const useCreatingTable: () => CreateTableRequest | undefined;
|
|
21
|
+
export declare const useSetCreatingTable: () => (args_0: CreateTableRequest | ((prev: CreateTableRequest | undefined) => CreateTableRequest | undefined) | undefined) => void;
|
|
22
|
+
//# sourceMappingURL=creating-table.atom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creating-table.atom.d.ts","sourceRoot":"","sources":["../../../atoms/creating-table.atom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACX,MAAM,2BAA2B,CAAC;AAGnC;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACjD,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;CAE7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,sCAAwC,CAAC;AACtE,eAAO,MAAM,mBAAmB,qIAAsC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { atom, useAtomValue, useSetAtom } from "jotai";
|
|
2
|
+
export var creatingTableAtom = atom(undefined);
|
|
3
|
+
export var useCreatingTable = function () { return useAtomValue(creatingTableAtom); };
|
|
4
|
+
export var useSetCreatingTable = function () { return useSetAtom(creatingTableAtom); };
|
|
@@ -3,6 +3,14 @@ export declare const dialogStateAtom: import("jotai/vanilla/utils/atomFamily").A
|
|
|
3
3
|
}>;
|
|
4
4
|
export declare const useEditTableDialogState: () => [boolean, (args_0: boolean | ((prev: boolean) => boolean)) => void];
|
|
5
5
|
export declare const useSetEditTableDialogValue: () => (args_0: boolean | ((prev: boolean) => boolean)) => void;
|
|
6
|
+
export declare const useCreateTableDialogState: () => [boolean, (args_0: boolean | ((prev: boolean) => boolean)) => void];
|
|
7
|
+
export declare const useSetCreateTableDialogValue: () => (args_0: boolean | ((prev: boolean) => boolean)) => void;
|
|
8
|
+
export declare const useResizeTableDialogState: () => [boolean, (args_0: boolean | ((prev: boolean) => boolean)) => void];
|
|
9
|
+
export declare const useSetResizeTableDialogValue: () => (args_0: boolean | ((prev: boolean) => boolean)) => void;
|
|
10
|
+
export declare const useInsertSlicerDialogState: () => [boolean, (args_0: boolean | ((prev: boolean) => boolean)) => void];
|
|
11
|
+
export declare const useSetInsertSlicerDialogValue: () => (args_0: boolean | ((prev: boolean) => boolean)) => void;
|
|
12
|
+
export declare const useEditSlicerDialogState: () => [boolean, (args_0: boolean | ((prev: boolean) => boolean)) => void];
|
|
13
|
+
export declare const useSetEditSlicerDialogState: () => (args_0: boolean | ((prev: boolean) => boolean)) => void;
|
|
6
14
|
export declare const useDeletSheetConfirmationDialogState: () => [boolean, (args_0: boolean | ((prev: boolean) => boolean)) => void];
|
|
7
15
|
export declare const useEditNamedRangeDialogState: () => [boolean, (args_0: boolean | ((prev: boolean) => boolean)) => void];
|
|
8
16
|
export declare const useSetEditNamedRangeDialogState: () => (args_0: boolean | ((prev: boolean) => boolean)) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-state.atom.d.ts","sourceRoot":"","sources":["../../../atoms/dialog-state.atom.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe;;EAAyC,CAAC;AAGtE,eAAO,MAAM,uBAAuB,2EACG,CAAC;AAExC,eAAO,MAAM,0BAA0B,gEACG,CAAC;AAG3C,eAAO,MAAM,oCAAoC,2EACR,CAAC;AAG1C,eAAO,MAAM,4BAA4B,2EACG,CAAC;AAE7C,eAAO,MAAM,+BAA+B,gEACG,CAAC;AAGhD,eAAO,MAAM,uBAAuB,2EACG,CAAC;AAExC,eAAO,MAAM,0BAA0B,gEACG,CAAC;AAG3C,eAAO,MAAM,6BAA6B,2EACG,CAAC;AAE9C,eAAO,MAAM,gCAAgC,gEACG,CAAC;AAGjD,eAAO,MAAM,yBAAyB,2EACG,CAAC;AAE1C,eAAO,MAAM,4BAA4B,gEACG,CAAC;AAG7C,eAAO,MAAM,+BAA+B,2EACG,CAAC;AAEhD,eAAO,MAAM,kCAAkC,gEACG,CAAC;AAGnD,eAAO,MAAM,yBAAyB,2EACG,CAAC;AAE1C,eAAO,MAAM,4BAA4B,gEACG,CAAC;AAG7C,eAAO,MAAM,wBAAwB,2EACG,CAAC;AAEzC,eAAO,MAAM,2BAA2B,gEACG,CAAC;AAG5C,eAAO,MAAM,4BAA4B,2EACG,CAAC;AAE7C,eAAO,MAAM,gCAAgC,gEACE,CAAC"}
|
|
1
|
+
{"version":3,"file":"dialog-state.atom.d.ts","sourceRoot":"","sources":["../../../atoms/dialog-state.atom.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe;;EAAyC,CAAC;AAGtE,eAAO,MAAM,uBAAuB,2EACG,CAAC;AAExC,eAAO,MAAM,0BAA0B,gEACG,CAAC;AAG3C,eAAO,MAAM,yBAAyB,2EACG,CAAC;AAE1C,eAAO,MAAM,4BAA4B,gEACG,CAAC;AAG7C,eAAO,MAAM,yBAAyB,2EACG,CAAC;AAE1C,eAAO,MAAM,4BAA4B,gEACG,CAAC;AAG7C,eAAO,MAAM,0BAA0B,2EACG,CAAC;AAE3C,eAAO,MAAM,6BAA6B,gEACG,CAAC;AAG9C,eAAO,MAAM,wBAAwB,2EACG,CAAC;AAEzC,eAAO,MAAM,2BAA2B,gEACG,CAAC;AAG5C,eAAO,MAAM,oCAAoC,2EACR,CAAC;AAG1C,eAAO,MAAM,4BAA4B,2EACG,CAAC;AAE7C,eAAO,MAAM,+BAA+B,gEACG,CAAC;AAGhD,eAAO,MAAM,uBAAuB,2EACG,CAAC;AAExC,eAAO,MAAM,0BAA0B,gEACG,CAAC;AAG3C,eAAO,MAAM,6BAA6B,2EACG,CAAC;AAE9C,eAAO,MAAM,gCAAgC,gEACG,CAAC;AAGjD,eAAO,MAAM,yBAAyB,2EACG,CAAC;AAE1C,eAAO,MAAM,4BAA4B,gEACG,CAAC;AAG7C,eAAO,MAAM,+BAA+B,2EACG,CAAC;AAEhD,eAAO,MAAM,kCAAkC,gEACG,CAAC;AAGnD,eAAO,MAAM,yBAAyB,2EACG,CAAC;AAE1C,eAAO,MAAM,4BAA4B,gEACG,CAAC;AAG7C,eAAO,MAAM,wBAAwB,2EACG,CAAC;AAEzC,eAAO,MAAM,2BAA2B,gEACG,CAAC;AAG5C,eAAO,MAAM,4BAA4B,2EACG,CAAC;AAE7C,eAAO,MAAM,gCAAgC,gEACE,CAAC"}
|
|
@@ -10,6 +10,34 @@ export var useEditTableDialogState = function () {
|
|
|
10
10
|
export var useSetEditTableDialogValue = function () {
|
|
11
11
|
return useSetAtom(dialogStateAtom("editTable"));
|
|
12
12
|
};
|
|
13
|
+
// Create Table Dialog (Ctrl+T / Insert → Table / Format as Table)
|
|
14
|
+
export var useCreateTableDialogState = function () {
|
|
15
|
+
return useAtom(dialogStateAtom("createTable"));
|
|
16
|
+
};
|
|
17
|
+
export var useSetCreateTableDialogValue = function () {
|
|
18
|
+
return useSetAtom(dialogStateAtom("createTable"));
|
|
19
|
+
};
|
|
20
|
+
// Resize Table Dialog (Table Design → Resize Table)
|
|
21
|
+
export var useResizeTableDialogState = function () {
|
|
22
|
+
return useAtom(dialogStateAtom("resizeTable"));
|
|
23
|
+
};
|
|
24
|
+
export var useSetResizeTableDialogValue = function () {
|
|
25
|
+
return useSetAtom(dialogStateAtom("resizeTable"));
|
|
26
|
+
};
|
|
27
|
+
// Insert Slicers Dialog (Table Design → Insert Slicer, Table → Insert Slicer…)
|
|
28
|
+
export var useInsertSlicerDialogState = function () {
|
|
29
|
+
return useAtom(dialogStateAtom("insertSlicer"));
|
|
30
|
+
};
|
|
31
|
+
export var useSetInsertSlicerDialogValue = function () {
|
|
32
|
+
return useSetAtom(dialogStateAtom("insertSlicer"));
|
|
33
|
+
};
|
|
34
|
+
// Edit Slicer Dialog (Slicer → Slicer Settings…)
|
|
35
|
+
export var useEditSlicerDialogState = function () {
|
|
36
|
+
return useAtom(dialogStateAtom("editSlicer"));
|
|
37
|
+
};
|
|
38
|
+
export var useSetEditSlicerDialogState = function () {
|
|
39
|
+
return useSetAtom(dialogStateAtom("editSlicer"));
|
|
40
|
+
};
|
|
13
41
|
// Delete Sheet Confirmation Dialog
|
|
14
42
|
export var useDeletSheetConfirmationDialogState = function () {
|
|
15
43
|
return useAtom(dialogStateAtom("deleteSheet"));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Slicer } from "@rowsncolumns/spreadsheet";
|
|
2
|
+
/** The slicer Excel's "Slicer Settings" dialog was opened for (`onRequestEditSlicer`). */
|
|
3
|
+
export declare const editingSlicerAtom: import("jotai").PrimitiveAtom<Slicer | undefined> & {
|
|
4
|
+
init: Slicer | undefined;
|
|
5
|
+
};
|
|
6
|
+
export declare const useEditingSlicer: () => Slicer | undefined;
|
|
7
|
+
export declare const useSetEditingSlicer: () => (args_0: Slicer | ((prev: Slicer | undefined) => Slicer | undefined) | undefined) => void;
|
|
8
|
+
export declare const useEditingSlicerState: () => [Slicer | undefined, (args_0: Slicer | ((prev: Slicer | undefined) => Slicer | undefined) | undefined) => void];
|
|
9
|
+
//# sourceMappingURL=editing-slicer.atom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editing-slicer.atom.d.ts","sourceRoot":"","sources":["../../../atoms/editing-slicer.atom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAGxD,0FAA0F;AAC1F,eAAO,MAAM,iBAAiB;;CAAsC,CAAC;AAErE,eAAO,MAAM,gBAAgB,0BAAwC,CAAC;AACtE,eAAO,MAAM,mBAAmB,iGAAsC,CAAC;AACvE,eAAO,MAAM,qBAAqB,uHAAmC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { atom, useAtom, useAtomValue, useSetAtom } from "jotai";
|
|
2
|
+
/** The slicer Excel's "Slicer Settings" dialog was opened for (`onRequestEditSlicer`). */
|
|
3
|
+
export var editingSlicerAtom = atom(undefined);
|
|
4
|
+
export var useEditingSlicer = function () { return useAtomValue(editingSlicerAtom); };
|
|
5
|
+
export var useSetEditingSlicer = function () { return useSetAtom(editingSlicerAtom); };
|
|
6
|
+
export var useEditingSlicerState = function () { return useAtom(editingSlicerAtom); };
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export * from "./error-state.atom";
|
|
2
2
|
export * from "./dialog-state.atom";
|
|
3
3
|
export * from "./editing-embed.atom";
|
|
4
|
+
export * from "./creating-table.atom";
|
|
5
|
+
export * from "./resizing-table.atom";
|
|
6
|
+
export * from "./inserting-slicer.atom";
|
|
7
|
+
export * from "./editing-slicer.atom";
|
|
4
8
|
export * from "./sheet-observer.atom";
|
|
5
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../atoms/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../atoms/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
|
package/dist/cjs/atoms/index.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export * from "./error-state.atom";
|
|
2
2
|
export * from "./dialog-state.atom";
|
|
3
3
|
export * from "./editing-embed.atom";
|
|
4
|
+
export * from "./creating-table.atom";
|
|
5
|
+
export * from "./resizing-table.atom";
|
|
6
|
+
export * from "./inserting-slicer.atom";
|
|
7
|
+
export * from "./editing-slicer.atom";
|
|
4
8
|
export * from "./sheet-observer.atom";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TableView } from "@rowsncolumns/spreadsheet";
|
|
2
|
+
/** The table Excel's "Insert Slicers" dialog was opened for. */
|
|
3
|
+
export declare const insertingSlicerAtom: import("jotai").PrimitiveAtom<TableView | undefined> & {
|
|
4
|
+
init: TableView | undefined;
|
|
5
|
+
};
|
|
6
|
+
export declare const useInsertingSlicer: () => TableView | undefined;
|
|
7
|
+
export declare const useSetInsertingSlicer: () => (args_0: TableView | ((prev: TableView | undefined) => TableView | undefined) | undefined) => void;
|
|
8
|
+
//# sourceMappingURL=inserting-slicer.atom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inserting-slicer.atom.d.ts","sourceRoot":"","sources":["../../../atoms/inserting-slicer.atom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG3D,gEAAgE;AAChE,eAAO,MAAM,mBAAmB;;CAAyC,CAAC;AAE1E,eAAO,MAAM,kBAAkB,6BAA0C,CAAC;AAC1E,eAAO,MAAM,qBAAqB,0GAAwC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { atom, useAtomValue, useSetAtom } from "jotai";
|
|
2
|
+
/** The table Excel's "Insert Slicers" dialog was opened for. */
|
|
3
|
+
export var insertingSlicerAtom = atom(undefined);
|
|
4
|
+
export var useInsertingSlicer = function () { return useAtomValue(insertingSlicerAtom); };
|
|
5
|
+
export var useSetInsertingSlicer = function () { return useSetAtom(insertingSlicerAtom); };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TableView } from "@rowsncolumns/spreadsheet";
|
|
2
|
+
/** The table Excel's "Resize Table" dialog was opened for. */
|
|
3
|
+
export declare const resizingTableAtom: import("jotai").PrimitiveAtom<TableView | undefined> & {
|
|
4
|
+
init: TableView | undefined;
|
|
5
|
+
};
|
|
6
|
+
export declare const useResizingTable: () => TableView | undefined;
|
|
7
|
+
export declare const useSetResizingTable: () => (args_0: TableView | ((prev: TableView | undefined) => TableView | undefined) | undefined) => void;
|
|
8
|
+
//# sourceMappingURL=resizing-table.atom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resizing-table.atom.d.ts","sourceRoot":"","sources":["../../../atoms/resizing-table.atom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG3D,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB;;CAAyC,CAAC;AAExE,eAAO,MAAM,gBAAgB,6BAAwC,CAAC;AACtE,eAAO,MAAM,mBAAmB,0GAAsC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { atom, useAtomValue, useSetAtom } from "jotai";
|
|
2
|
+
/** The table Excel's "Resize Table" dialog was opened for. */
|
|
3
|
+
export var resizingTableAtom = atom(undefined);
|
|
4
|
+
export var useResizingTable = function () { return useAtomValue(resizingTableAtom); };
|
|
5
|
+
export var useSetResizingTable = function () { return useSetAtom(resizingTableAtom); };
|