@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.
Files changed (633) hide show
  1. package/dist/cjs/api/anchored-objects.d.ts +122 -6
  2. package/dist/cjs/api/anchored-objects.d.ts.map +1 -1
  3. package/dist/cjs/api/anchored-objects.js +464 -43
  4. package/dist/cjs/api/copy-paste.d.ts +8 -2
  5. package/dist/cjs/api/copy-paste.d.ts.map +1 -1
  6. package/dist/cjs/api/copy-paste.js +4 -4
  7. package/dist/cjs/api/filter.d.ts +15 -1
  8. package/dist/cjs/api/filter.d.ts.map +1 -1
  9. package/dist/cjs/api/filter.js +32 -2
  10. package/dist/cjs/api/formula.d.ts +63 -0
  11. package/dist/cjs/api/formula.d.ts.map +1 -1
  12. package/dist/cjs/api/formula.js +278 -8
  13. package/dist/cjs/api/immer-utils.d.ts +11 -1
  14. package/dist/cjs/api/immer-utils.d.ts.map +1 -1
  15. package/dist/cjs/api/immer-utils.js +17 -1
  16. package/dist/cjs/api/insert-cut-cells.d.ts +35 -0
  17. package/dist/cjs/api/insert-cut-cells.d.ts.map +1 -0
  18. package/dist/cjs/api/insert-cut-cells.js +60 -0
  19. package/dist/cjs/api/merges.d.ts +8 -0
  20. package/dist/cjs/api/merges.d.ts.map +1 -1
  21. package/dist/cjs/api/merges.js +11 -0
  22. package/dist/cjs/api/paint-format.d.ts +22 -1
  23. package/dist/cjs/api/paint-format.d.ts.map +1 -1
  24. package/dist/cjs/api/paint-format.js +57 -1
  25. package/dist/cjs/api/sort.d.ts +23 -1
  26. package/dist/cjs/api/sort.d.ts.map +1 -1
  27. package/dist/cjs/api/sort.js +52 -6
  28. package/dist/cjs/api/structural-guards.d.ts +57 -0
  29. package/dist/cjs/api/structural-guards.d.ts.map +1 -1
  30. package/dist/cjs/api/structural-guards.js +93 -1
  31. package/dist/cjs/api/structural-table-refs.d.ts +58 -3
  32. package/dist/cjs/api/structural-table-refs.d.ts.map +1 -1
  33. package/dist/cjs/api/structural-table-refs.js +177 -16
  34. package/dist/cjs/api/subtotal.d.ts +20 -13
  35. package/dist/cjs/api/subtotal.d.ts.map +1 -1
  36. package/dist/cjs/api/subtotal.js +26 -19
  37. package/dist/cjs/api/table.d.ts +26 -2
  38. package/dist/cjs/api/table.d.ts.map +1 -1
  39. package/dist/cjs/api/table.js +93 -60
  40. package/dist/cjs/api/validation.d.ts.map +1 -1
  41. package/dist/cjs/api/validation.js +53 -8
  42. package/dist/cjs/atoms/creating-table.atom.d.ts +22 -0
  43. package/dist/cjs/atoms/creating-table.atom.d.ts.map +1 -0
  44. package/dist/cjs/atoms/creating-table.atom.js +4 -0
  45. package/dist/cjs/atoms/dialog-state.atom.d.ts +8 -0
  46. package/dist/cjs/atoms/dialog-state.atom.d.ts.map +1 -1
  47. package/dist/cjs/atoms/dialog-state.atom.js +28 -0
  48. package/dist/cjs/atoms/editing-slicer.atom.d.ts +9 -0
  49. package/dist/cjs/atoms/editing-slicer.atom.d.ts.map +1 -0
  50. package/dist/cjs/atoms/editing-slicer.atom.js +6 -0
  51. package/dist/cjs/atoms/index.d.ts +4 -0
  52. package/dist/cjs/atoms/index.d.ts.map +1 -1
  53. package/dist/cjs/atoms/index.js +4 -0
  54. package/dist/cjs/atoms/inserting-slicer.atom.d.ts +8 -0
  55. package/dist/cjs/atoms/inserting-slicer.atom.d.ts.map +1 -0
  56. package/dist/cjs/atoms/inserting-slicer.atom.js +5 -0
  57. package/dist/cjs/atoms/resizing-table.atom.d.ts +8 -0
  58. package/dist/cjs/atoms/resizing-table.atom.d.ts.map +1 -0
  59. package/dist/cjs/atoms/resizing-table.atom.js +5 -0
  60. package/dist/cjs/commands.d.ts +138 -2
  61. package/dist/cjs/commands.d.ts.map +1 -1
  62. package/dist/cjs/components/editors/embed-editor.d.ts +4 -2
  63. package/dist/cjs/components/editors/embed-editor.d.ts.map +1 -1
  64. package/dist/cjs/components/editors/embed-editor.js +38 -9
  65. package/dist/cjs/components/editors/slicer-editor.d.ts +15 -0
  66. package/dist/cjs/components/editors/slicer-editor.d.ts.map +1 -0
  67. package/dist/cjs/components/editors/slicer-editor.js +87 -0
  68. package/dist/cjs/components/editors/table-editor.d.ts +58 -2
  69. package/dist/cjs/components/editors/table-editor.d.ts.map +1 -1
  70. package/dist/cjs/components/editors/table-editor.js +261 -20
  71. package/dist/cjs/components/index.d.ts +1 -0
  72. package/dist/cjs/components/index.d.ts.map +1 -1
  73. package/dist/cjs/components/index.js +1 -0
  74. package/dist/cjs/constants.d.ts +9 -1
  75. package/dist/cjs/constants.d.ts.map +1 -1
  76. package/dist/cjs/constants.js +12 -0
  77. package/dist/cjs/generated-names.d.ts +13 -3
  78. package/dist/cjs/generated-names.d.ts.map +1 -1
  79. package/dist/cjs/generated-names.js +3 -1
  80. package/dist/cjs/helpers.d.ts +5 -0
  81. package/dist/cjs/helpers.d.ts.map +1 -1
  82. package/dist/cjs/helpers.js +10 -1
  83. package/dist/cjs/hooks/use-on-change-batch.d.ts +19 -2
  84. package/dist/cjs/hooks/use-on-change-batch.d.ts.map +1 -1
  85. package/dist/cjs/hooks/use-on-change-batch.js +43 -35
  86. package/dist/cjs/hooks/use-on-change-calculated-column.d.ts +10 -1
  87. package/dist/cjs/hooks/use-on-change-calculated-column.d.ts.map +1 -1
  88. package/dist/cjs/hooks/use-on-change-calculated-column.js +17 -5
  89. package/dist/cjs/hooks/use-on-change-table-column.d.ts +6 -1
  90. package/dist/cjs/hooks/use-on-change-table-column.d.ts.map +1 -1
  91. package/dist/cjs/hooks/use-on-change-table-column.js +17 -5
  92. package/dist/cjs/hooks/use-on-change.d.ts +36 -3
  93. package/dist/cjs/hooks/use-on-change.d.ts.map +1 -1
  94. package/dist/cjs/hooks/use-on-change.js +218 -136
  95. package/dist/cjs/hooks/use-on-copy.d.ts +1 -1
  96. package/dist/cjs/hooks/use-on-copy.d.ts.map +1 -1
  97. package/dist/cjs/hooks/use-on-copy.js +2 -3
  98. package/dist/cjs/hooks/use-on-create-custom-table-style.d.ts +17 -0
  99. package/dist/cjs/hooks/use-on-create-custom-table-style.d.ts.map +1 -0
  100. package/dist/cjs/hooks/use-on-create-custom-table-style.js +28 -0
  101. package/dist/cjs/hooks/use-on-create-named-range.d.ts +4 -2
  102. package/dist/cjs/hooks/use-on-create-named-range.d.ts.map +1 -1
  103. package/dist/cjs/hooks/use-on-create-named-range.js +11 -1
  104. package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts +2 -1
  105. package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
  106. package/dist/cjs/hooks/use-on-delete-cells-shift-left.js +3 -1
  107. package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts +2 -1
  108. package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
  109. package/dist/cjs/hooks/use-on-delete-cells-shift-up.js +3 -1
  110. package/dist/cjs/hooks/use-on-delete-column.d.ts +2 -1
  111. package/dist/cjs/hooks/use-on-delete-column.d.ts.map +1 -1
  112. package/dist/cjs/hooks/use-on-delete-column.js +3 -1
  113. package/dist/cjs/hooks/use-on-delete-row.d.ts +2 -1
  114. package/dist/cjs/hooks/use-on-delete-row.d.ts.map +1 -1
  115. package/dist/cjs/hooks/use-on-delete-row.js +3 -1
  116. package/dist/cjs/hooks/use-on-delete-sheet.d.ts +9 -1
  117. package/dist/cjs/hooks/use-on-delete-sheet.d.ts.map +1 -1
  118. package/dist/cjs/hooks/use-on-delete-sheet.js +17 -1
  119. package/dist/cjs/hooks/use-on-delete-table-row.d.ts +4 -1
  120. package/dist/cjs/hooks/use-on-delete-table-row.d.ts.map +1 -1
  121. package/dist/cjs/hooks/use-on-delete-table-row.js +19 -1
  122. package/dist/cjs/hooks/use-on-delete.d.ts +5 -2
  123. package/dist/cjs/hooks/use-on-delete.d.ts.map +1 -1
  124. package/dist/cjs/hooks/use-on-delete.js +5 -1
  125. package/dist/cjs/hooks/use-on-embeds.d.ts +7 -4
  126. package/dist/cjs/hooks/use-on-embeds.d.ts.map +1 -1
  127. package/dist/cjs/hooks/use-on-embeds.js +26 -24
  128. package/dist/cjs/hooks/use-on-fill.d.ts +17 -2
  129. package/dist/cjs/hooks/use-on-fill.d.ts.map +1 -1
  130. package/dist/cjs/hooks/use-on-fill.js +29 -15
  131. package/dist/cjs/hooks/use-on-filter-table.d.ts.map +1 -1
  132. package/dist/cjs/hooks/use-on-filter-table.js +209 -103
  133. package/dist/cjs/hooks/use-on-import-excel.d.ts +2 -1
  134. package/dist/cjs/hooks/use-on-import-excel.d.ts.map +1 -1
  135. package/dist/cjs/hooks/use-on-import-excel.js +22 -19
  136. package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts +2 -1
  137. package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
  138. package/dist/cjs/hooks/use-on-insert-cells-shift-down.js +3 -1
  139. package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts +2 -1
  140. package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
  141. package/dist/cjs/hooks/use-on-insert-cells-shift-right.js +3 -1
  142. package/dist/cjs/hooks/use-on-insert-column.d.ts +2 -1
  143. package/dist/cjs/hooks/use-on-insert-column.d.ts.map +1 -1
  144. package/dist/cjs/hooks/use-on-insert-column.js +3 -1
  145. package/dist/cjs/hooks/use-on-insert-row.d.ts +2 -1
  146. package/dist/cjs/hooks/use-on-insert-row.d.ts.map +1 -1
  147. package/dist/cjs/hooks/use-on-insert-row.js +3 -1
  148. package/dist/cjs/hooks/use-on-insert-table-row.d.ts +5 -2
  149. package/dist/cjs/hooks/use-on-insert-table-row.d.ts.map +1 -1
  150. package/dist/cjs/hooks/use-on-insert-table-row.js +19 -1
  151. package/dist/cjs/hooks/use-on-merge-unmerge-cells.d.ts +3 -2
  152. package/dist/cjs/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
  153. package/dist/cjs/hooks/use-on-merge-unmerge-cells.js +14 -1
  154. package/dist/cjs/hooks/use-on-move-columns.d.ts +4 -1
  155. package/dist/cjs/hooks/use-on-move-columns.d.ts.map +1 -1
  156. package/dist/cjs/hooks/use-on-move-columns.js +28 -6
  157. package/dist/cjs/hooks/use-on-move-rows.d.ts +18 -1
  158. package/dist/cjs/hooks/use-on-move-rows.d.ts.map +1 -1
  159. package/dist/cjs/hooks/use-on-move-rows.js +44 -6
  160. package/dist/cjs/hooks/use-on-move-selection.d.ts +9 -2
  161. package/dist/cjs/hooks/use-on-move-selection.d.ts.map +1 -1
  162. package/dist/cjs/hooks/use-on-move-selection.js +101 -25
  163. package/dist/cjs/hooks/use-on-paste.d.ts +33 -2
  164. package/dist/cjs/hooks/use-on-paste.d.ts.map +1 -1
  165. package/dist/cjs/hooks/use-on-paste.js +1005 -740
  166. package/dist/cjs/hooks/use-on-remove-duplicates.d.ts +5 -2
  167. package/dist/cjs/hooks/use-on-remove-duplicates.d.ts.map +1 -1
  168. package/dist/cjs/hooks/use-on-remove-duplicates.js +5 -1
  169. package/dist/cjs/hooks/use-on-request-create-table.d.ts +13 -0
  170. package/dist/cjs/hooks/use-on-request-create-table.d.ts.map +1 -0
  171. package/dist/cjs/hooks/use-on-request-create-table.js +44 -0
  172. package/dist/cjs/hooks/use-on-request-insert-slicer.d.ts +7 -0
  173. package/dist/cjs/hooks/use-on-request-insert-slicer.d.ts.map +1 -0
  174. package/dist/cjs/hooks/use-on-request-insert-slicer.js +15 -0
  175. package/dist/cjs/hooks/use-on-request-resize-table.d.ts +7 -0
  176. package/dist/cjs/hooks/use-on-request-resize-table.d.ts.map +1 -0
  177. package/dist/cjs/hooks/use-on-request-resize-table.js +15 -0
  178. package/dist/cjs/hooks/use-on-resize-table.d.ts +5 -1
  179. package/dist/cjs/hooks/use-on-resize-table.d.ts.map +1 -1
  180. package/dist/cjs/hooks/use-on-resize-table.js +110 -33
  181. package/dist/cjs/hooks/use-on-sort-column.d.ts +28 -3
  182. package/dist/cjs/hooks/use-on-sort-column.d.ts.map +1 -1
  183. package/dist/cjs/hooks/use-on-sort-column.js +136 -90
  184. package/dist/cjs/hooks/use-on-sort-range.d.ts +26 -3
  185. package/dist/cjs/hooks/use-on-sort-range.d.ts.map +1 -1
  186. package/dist/cjs/hooks/use-on-sort-range.js +113 -67
  187. package/dist/cjs/hooks/use-on-sort-table.d.ts +18 -1
  188. package/dist/cjs/hooks/use-on-sort-table.d.ts.map +1 -1
  189. package/dist/cjs/hooks/use-on-sort-table.js +128 -98
  190. package/dist/cjs/hooks/use-on-subtotal.d.ts +10 -3
  191. package/dist/cjs/hooks/use-on-subtotal.d.ts.map +1 -1
  192. package/dist/cjs/hooks/use-on-subtotal.js +13 -9
  193. package/dist/cjs/hooks/use-on-table.d.ts +39 -7
  194. package/dist/cjs/hooks/use-on-table.d.ts.map +1 -1
  195. package/dist/cjs/hooks/use-on-table.js +257 -49
  196. package/dist/cjs/hooks/use-on-undo-calculated-column.d.ts +23 -0
  197. package/dist/cjs/hooks/use-on-undo-calculated-column.d.ts.map +1 -0
  198. package/dist/cjs/hooks/use-on-undo-calculated-column.js +70 -0
  199. package/dist/cjs/hooks/use-on-undo-table-auto-expansion.d.ts +28 -0
  200. package/dist/cjs/hooks/use-on-undo-table-auto-expansion.d.ts.map +1 -0
  201. package/dist/cjs/hooks/use-on-undo-table-auto-expansion.js +96 -0
  202. package/dist/cjs/hooks/use-on-update-named-range.d.ts +4 -2
  203. package/dist/cjs/hooks/use-on-update-named-range.d.ts.map +1 -1
  204. package/dist/cjs/hooks/use-on-update-named-range.js +13 -1
  205. package/dist/cjs/hooks/use-sheet-properties.d.ts +1 -0
  206. package/dist/cjs/hooks/use-sheet-properties.d.ts.map +1 -1
  207. package/dist/cjs/hooks/use-sheet-properties.js +54 -34
  208. package/dist/cjs/hooks/use-slicers.d.ts +2 -2
  209. package/dist/cjs/hooks/use-slicers.d.ts.map +1 -1
  210. package/dist/cjs/hooks/use-slicers.js +17 -26
  211. package/dist/cjs/hooks/use-sparkline-groups.d.ts +50 -0
  212. package/dist/cjs/hooks/use-sparkline-groups.d.ts.map +1 -0
  213. package/dist/cjs/hooks/use-sparkline-groups.js +192 -0
  214. package/dist/cjs/hooks/use-spreadsheet-state.d.ts +69 -12
  215. package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
  216. package/dist/cjs/hooks/use-spreadsheet-state.js +383 -84
  217. package/dist/cjs/hooks/use-structured-reference.d.ts.map +1 -1
  218. package/dist/cjs/hooks/use-structured-reference.js +17 -0
  219. package/dist/cjs/hooks/use-undo-redo-actions.d.ts +2 -1
  220. package/dist/cjs/hooks/use-undo-redo-actions.d.ts.map +1 -1
  221. package/dist/cjs/hooks/use-undo-redo-actions.js +10 -2
  222. package/dist/cjs/hooks/use-undo-redo.d.ts +12 -0
  223. package/dist/cjs/hooks/use-undo-redo.d.ts.map +1 -1
  224. package/dist/cjs/hooks/use-undo-redo.js +169 -10
  225. package/dist/cjs/hooks/utils/sort-rows.d.ts.map +1 -1
  226. package/dist/cjs/hooks/utils/sort-rows.js +4 -3
  227. package/dist/cjs/index.d.ts +8 -0
  228. package/dist/cjs/index.d.ts.map +1 -1
  229. package/dist/cjs/index.js +9 -0
  230. package/dist/cjs/interface/apply-fill.d.ts +26 -3
  231. package/dist/cjs/interface/apply-fill.d.ts.map +1 -1
  232. package/dist/cjs/interface/apply-fill.js +207 -98
  233. package/dist/cjs/interface/change-batch.d.ts +1 -1
  234. package/dist/cjs/interface/change-batch.d.ts.map +1 -1
  235. package/dist/cjs/interface/change-batch.js +112 -15
  236. package/dist/cjs/interface/change-calculated-column.d.ts +6 -2
  237. package/dist/cjs/interface/change-calculated-column.d.ts.map +1 -1
  238. package/dist/cjs/interface/change-calculated-column.js +87 -17
  239. package/dist/cjs/interface/change-table-column.d.ts +81 -7
  240. package/dist/cjs/interface/change-table-column.d.ts.map +1 -1
  241. package/dist/cjs/interface/change-table-column.js +336 -76
  242. package/dist/cjs/interface/create-table.d.ts +15 -3
  243. package/dist/cjs/interface/create-table.d.ts.map +1 -1
  244. package/dist/cjs/interface/create-table.js +100 -25
  245. package/dist/cjs/interface/delete-cells-shift-left.d.ts +1 -1
  246. package/dist/cjs/interface/delete-cells-shift-left.d.ts.map +1 -1
  247. package/dist/cjs/interface/delete-cells-shift-left.js +10 -1
  248. package/dist/cjs/interface/delete-cells-shift-up.d.ts +1 -1
  249. package/dist/cjs/interface/delete-cells-shift-up.d.ts.map +1 -1
  250. package/dist/cjs/interface/delete-cells-shift-up.js +10 -1
  251. package/dist/cjs/interface/delete-cells.d.ts +1 -1
  252. package/dist/cjs/interface/delete-cells.d.ts.map +1 -1
  253. package/dist/cjs/interface/delete-cells.js +81 -25
  254. package/dist/cjs/interface/delete-column.d.ts +1 -1
  255. package/dist/cjs/interface/delete-column.d.ts.map +1 -1
  256. package/dist/cjs/interface/delete-column.js +29 -22
  257. package/dist/cjs/interface/delete-row.d.ts +1 -1
  258. package/dist/cjs/interface/delete-row.d.ts.map +1 -1
  259. package/dist/cjs/interface/delete-row.js +244 -39
  260. package/dist/cjs/interface/delete-sheet.d.ts +2 -2
  261. package/dist/cjs/interface/delete-sheet.d.ts.map +1 -1
  262. package/dist/cjs/interface/delete-sheet.js +118 -1
  263. package/dist/cjs/interface/delete-table-column.d.ts +1 -1
  264. package/dist/cjs/interface/delete-table-column.d.ts.map +1 -1
  265. package/dist/cjs/interface/delete-table-column.js +11 -1
  266. package/dist/cjs/interface/delete-table-row.d.ts +1 -1
  267. package/dist/cjs/interface/delete-table-row.d.ts.map +1 -1
  268. package/dist/cjs/interface/delete-table-row.js +361 -275
  269. package/dist/cjs/interface/duplicate-sheet.d.ts.map +1 -1
  270. package/dist/cjs/interface/duplicate-sheet.js +83 -31
  271. package/dist/cjs/interface/embeds.d.ts +10 -1
  272. package/dist/cjs/interface/embeds.d.ts.map +1 -1
  273. package/dist/cjs/interface/embeds.js +120 -6
  274. package/dist/cjs/interface/insert-cells-shift-down.d.ts +1 -1
  275. package/dist/cjs/interface/insert-cells-shift-down.d.ts.map +1 -1
  276. package/dist/cjs/interface/insert-cells-shift-down.js +10 -1
  277. package/dist/cjs/interface/insert-cells-shift-right.d.ts +1 -1
  278. package/dist/cjs/interface/insert-cells-shift-right.d.ts.map +1 -1
  279. package/dist/cjs/interface/insert-cells-shift-right.js +10 -1
  280. package/dist/cjs/interface/insert-column.d.ts +2 -2
  281. package/dist/cjs/interface/insert-column.d.ts.map +1 -1
  282. package/dist/cjs/interface/insert-column.js +101 -56
  283. package/dist/cjs/interface/insert-row.d.ts +1 -1
  284. package/dist/cjs/interface/insert-row.d.ts.map +1 -1
  285. package/dist/cjs/interface/insert-row.js +25 -7
  286. package/dist/cjs/interface/insert-table-row.d.ts +2 -1
  287. package/dist/cjs/interface/insert-table-row.d.ts.map +1 -1
  288. package/dist/cjs/interface/insert-table-row.js +70 -19
  289. package/dist/cjs/interface/remove-duplicates.d.ts +1 -1
  290. package/dist/cjs/interface/remove-duplicates.d.ts.map +1 -1
  291. package/dist/cjs/interface/remove-duplicates.js +46 -6
  292. package/dist/cjs/interface/remove-table.d.ts +1 -1
  293. package/dist/cjs/interface/remove-table.d.ts.map +1 -1
  294. package/dist/cjs/interface/remove-table.js +72 -16
  295. package/dist/cjs/interface/slicers.d.ts +12 -1
  296. package/dist/cjs/interface/slicers.d.ts.map +1 -1
  297. package/dist/cjs/interface/slicers.js +47 -2
  298. package/dist/cjs/interface/spreadsheet-interface.d.ts +1 -1
  299. package/dist/cjs/interface/spreadsheet-interface.d.ts.map +1 -1
  300. package/dist/cjs/interface/spreadsheet-interface.js +64 -1
  301. package/dist/cjs/interface/table-totalrow.d.ts +13 -1
  302. package/dist/cjs/interface/table-totalrow.d.ts.map +1 -1
  303. package/dist/cjs/interface/table-totalrow.js +107 -73
  304. package/dist/cjs/interface/table-utils.d.ts +59 -6
  305. package/dist/cjs/interface/table-utils.d.ts.map +1 -1
  306. package/dist/cjs/interface/table-utils.js +211 -15
  307. package/dist/cjs/interface/update-table.d.ts +16 -1
  308. package/dist/cjs/interface/update-table.d.ts.map +1 -1
  309. package/dist/cjs/interface/update-table.js +190 -44
  310. package/dist/cjs/sheet-cell.d.ts.map +1 -1
  311. package/dist/cjs/test-setup.d.ts.map +1 -1
  312. package/dist/cjs/test-setup.js +6 -0
  313. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  314. package/dist/cjs/validation-schema/table.schema.d.ts +11 -0
  315. package/dist/cjs/validation-schema/table.schema.d.ts.map +1 -1
  316. package/dist/cjs/validation-schema/table.schema.js +20 -3
  317. package/dist/esm/api/anchored-objects.d.ts +122 -6
  318. package/dist/esm/api/anchored-objects.d.ts.map +1 -1
  319. package/dist/esm/api/anchored-objects.js +375 -15
  320. package/dist/esm/api/copy-paste.d.ts +8 -2
  321. package/dist/esm/api/copy-paste.d.ts.map +1 -1
  322. package/dist/esm/api/copy-paste.js +4 -4
  323. package/dist/esm/api/filter.d.ts +15 -1
  324. package/dist/esm/api/filter.d.ts.map +1 -1
  325. package/dist/esm/api/filter.js +28 -0
  326. package/dist/esm/api/formula.d.ts +63 -0
  327. package/dist/esm/api/formula.d.ts.map +1 -1
  328. package/dist/esm/api/formula.js +235 -8
  329. package/dist/esm/api/immer-utils.d.ts +11 -1
  330. package/dist/esm/api/immer-utils.d.ts.map +1 -1
  331. package/dist/esm/api/immer-utils.js +16 -0
  332. package/dist/esm/api/insert-cut-cells.d.ts +35 -0
  333. package/dist/esm/api/insert-cut-cells.d.ts.map +1 -0
  334. package/dist/esm/api/insert-cut-cells.js +67 -0
  335. package/dist/esm/api/merges.d.ts +8 -0
  336. package/dist/esm/api/merges.d.ts.map +1 -1
  337. package/dist/esm/api/merges.js +9 -0
  338. package/dist/esm/api/paint-format.d.ts +22 -1
  339. package/dist/esm/api/paint-format.d.ts.map +1 -1
  340. package/dist/esm/api/paint-format.js +44 -1
  341. package/dist/esm/api/sort.d.ts +23 -1
  342. package/dist/esm/api/sort.d.ts.map +1 -1
  343. package/dist/esm/api/sort.js +45 -6
  344. package/dist/esm/api/structural-guards.d.ts +57 -0
  345. package/dist/esm/api/structural-guards.d.ts.map +1 -1
  346. package/dist/esm/api/structural-guards.js +85 -0
  347. package/dist/esm/api/structural-table-refs.d.ts +58 -3
  348. package/dist/esm/api/structural-table-refs.d.ts.map +1 -1
  349. package/dist/esm/api/structural-table-refs.js +126 -6
  350. package/dist/esm/api/subtotal.d.ts +20 -13
  351. package/dist/esm/api/subtotal.d.ts.map +1 -1
  352. package/dist/esm/api/subtotal.js +15 -8
  353. package/dist/esm/api/table.d.ts +26 -2
  354. package/dist/esm/api/table.d.ts.map +1 -1
  355. package/dist/esm/api/table.js +70 -48
  356. package/dist/esm/api/validation.d.ts.map +1 -1
  357. package/dist/esm/api/validation.js +53 -8
  358. package/dist/esm/atoms/creating-table.atom.d.ts +22 -0
  359. package/dist/esm/atoms/creating-table.atom.d.ts.map +1 -0
  360. package/dist/esm/atoms/creating-table.atom.js +4 -0
  361. package/dist/esm/atoms/dialog-state.atom.d.ts +8 -0
  362. package/dist/esm/atoms/dialog-state.atom.d.ts.map +1 -1
  363. package/dist/esm/atoms/dialog-state.atom.js +12 -0
  364. package/dist/esm/atoms/editing-slicer.atom.d.ts +9 -0
  365. package/dist/esm/atoms/editing-slicer.atom.d.ts.map +1 -0
  366. package/dist/esm/atoms/editing-slicer.atom.js +6 -0
  367. package/dist/esm/atoms/index.d.ts +4 -0
  368. package/dist/esm/atoms/index.d.ts.map +1 -1
  369. package/dist/esm/atoms/index.js +4 -0
  370. package/dist/esm/atoms/inserting-slicer.atom.d.ts +8 -0
  371. package/dist/esm/atoms/inserting-slicer.atom.d.ts.map +1 -0
  372. package/dist/esm/atoms/inserting-slicer.atom.js +5 -0
  373. package/dist/esm/atoms/resizing-table.atom.d.ts +8 -0
  374. package/dist/esm/atoms/resizing-table.atom.d.ts.map +1 -0
  375. package/dist/esm/atoms/resizing-table.atom.js +5 -0
  376. package/dist/esm/commands.d.ts +138 -2
  377. package/dist/esm/commands.d.ts.map +1 -1
  378. package/dist/esm/components/editors/embed-editor.d.ts +4 -2
  379. package/dist/esm/components/editors/embed-editor.d.ts.map +1 -1
  380. package/dist/esm/components/editors/embed-editor.js +40 -6
  381. package/dist/esm/components/editors/slicer-editor.d.ts +15 -0
  382. package/dist/esm/components/editors/slicer-editor.d.ts.map +1 -0
  383. package/dist/esm/components/editors/slicer-editor.js +85 -0
  384. package/dist/esm/components/editors/table-editor.d.ts +58 -2
  385. package/dist/esm/components/editors/table-editor.d.ts.map +1 -1
  386. package/dist/esm/components/editors/table-editor.js +243 -19
  387. package/dist/esm/components/index.d.ts +1 -0
  388. package/dist/esm/components/index.d.ts.map +1 -1
  389. package/dist/esm/components/index.js +1 -0
  390. package/dist/esm/constants.d.ts +9 -1
  391. package/dist/esm/constants.d.ts.map +1 -1
  392. package/dist/esm/constants.js +12 -0
  393. package/dist/esm/generated-names.d.ts +13 -3
  394. package/dist/esm/generated-names.d.ts.map +1 -1
  395. package/dist/esm/generated-names.js +3 -1
  396. package/dist/esm/helpers.d.ts +5 -0
  397. package/dist/esm/helpers.d.ts.map +1 -1
  398. package/dist/esm/helpers.js +7 -1
  399. package/dist/esm/hooks/use-on-change-batch.d.ts +19 -2
  400. package/dist/esm/hooks/use-on-change-batch.d.ts.map +1 -1
  401. package/dist/esm/hooks/use-on-change-batch.js +19 -3
  402. package/dist/esm/hooks/use-on-change-calculated-column.d.ts +10 -1
  403. package/dist/esm/hooks/use-on-change-calculated-column.d.ts.map +1 -1
  404. package/dist/esm/hooks/use-on-change-calculated-column.js +17 -5
  405. package/dist/esm/hooks/use-on-change-table-column.d.ts +6 -1
  406. package/dist/esm/hooks/use-on-change-table-column.d.ts.map +1 -1
  407. package/dist/esm/hooks/use-on-change-table-column.js +17 -5
  408. package/dist/esm/hooks/use-on-change.d.ts +36 -3
  409. package/dist/esm/hooks/use-on-change.d.ts.map +1 -1
  410. package/dist/esm/hooks/use-on-change.js +214 -124
  411. package/dist/esm/hooks/use-on-copy.d.ts +1 -1
  412. package/dist/esm/hooks/use-on-copy.d.ts.map +1 -1
  413. package/dist/esm/hooks/use-on-copy.js +2 -3
  414. package/dist/esm/hooks/use-on-create-custom-table-style.d.ts +17 -0
  415. package/dist/esm/hooks/use-on-create-custom-table-style.d.ts.map +1 -0
  416. package/dist/esm/hooks/use-on-create-custom-table-style.js +26 -0
  417. package/dist/esm/hooks/use-on-create-named-range.d.ts +4 -2
  418. package/dist/esm/hooks/use-on-create-named-range.d.ts.map +1 -1
  419. package/dist/esm/hooks/use-on-create-named-range.js +11 -1
  420. package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts +2 -1
  421. package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
  422. package/dist/esm/hooks/use-on-delete-cells-shift-left.js +3 -1
  423. package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts +2 -1
  424. package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
  425. package/dist/esm/hooks/use-on-delete-cells-shift-up.js +3 -1
  426. package/dist/esm/hooks/use-on-delete-column.d.ts +2 -1
  427. package/dist/esm/hooks/use-on-delete-column.d.ts.map +1 -1
  428. package/dist/esm/hooks/use-on-delete-column.js +3 -1
  429. package/dist/esm/hooks/use-on-delete-row.d.ts +2 -1
  430. package/dist/esm/hooks/use-on-delete-row.d.ts.map +1 -1
  431. package/dist/esm/hooks/use-on-delete-row.js +3 -1
  432. package/dist/esm/hooks/use-on-delete-sheet.d.ts +9 -1
  433. package/dist/esm/hooks/use-on-delete-sheet.d.ts.map +1 -1
  434. package/dist/esm/hooks/use-on-delete-sheet.js +17 -1
  435. package/dist/esm/hooks/use-on-delete-table-row.d.ts +4 -1
  436. package/dist/esm/hooks/use-on-delete-table-row.d.ts.map +1 -1
  437. package/dist/esm/hooks/use-on-delete-table-row.js +19 -1
  438. package/dist/esm/hooks/use-on-delete.d.ts +5 -2
  439. package/dist/esm/hooks/use-on-delete.d.ts.map +1 -1
  440. package/dist/esm/hooks/use-on-delete.js +5 -1
  441. package/dist/esm/hooks/use-on-embeds.d.ts +7 -4
  442. package/dist/esm/hooks/use-on-embeds.d.ts.map +1 -1
  443. package/dist/esm/hooks/use-on-embeds.js +23 -6
  444. package/dist/esm/hooks/use-on-fill.d.ts +17 -2
  445. package/dist/esm/hooks/use-on-fill.d.ts.map +1 -1
  446. package/dist/esm/hooks/use-on-fill.js +27 -1
  447. package/dist/esm/hooks/use-on-filter-table.d.ts.map +1 -1
  448. package/dist/esm/hooks/use-on-filter-table.js +97 -26
  449. package/dist/esm/hooks/use-on-import-excel.d.ts +2 -1
  450. package/dist/esm/hooks/use-on-import-excel.d.ts.map +1 -1
  451. package/dist/esm/hooks/use-on-import-excel.js +4 -1
  452. package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts +2 -1
  453. package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
  454. package/dist/esm/hooks/use-on-insert-cells-shift-down.js +3 -1
  455. package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts +2 -1
  456. package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
  457. package/dist/esm/hooks/use-on-insert-cells-shift-right.js +3 -1
  458. package/dist/esm/hooks/use-on-insert-column.d.ts +2 -1
  459. package/dist/esm/hooks/use-on-insert-column.d.ts.map +1 -1
  460. package/dist/esm/hooks/use-on-insert-column.js +3 -1
  461. package/dist/esm/hooks/use-on-insert-row.d.ts +2 -1
  462. package/dist/esm/hooks/use-on-insert-row.d.ts.map +1 -1
  463. package/dist/esm/hooks/use-on-insert-row.js +3 -1
  464. package/dist/esm/hooks/use-on-insert-table-row.d.ts +5 -2
  465. package/dist/esm/hooks/use-on-insert-table-row.d.ts.map +1 -1
  466. package/dist/esm/hooks/use-on-insert-table-row.js +19 -1
  467. package/dist/esm/hooks/use-on-merge-unmerge-cells.d.ts +3 -2
  468. package/dist/esm/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
  469. package/dist/esm/hooks/use-on-merge-unmerge-cells.js +12 -1
  470. package/dist/esm/hooks/use-on-move-columns.d.ts +4 -1
  471. package/dist/esm/hooks/use-on-move-columns.d.ts.map +1 -1
  472. package/dist/esm/hooks/use-on-move-columns.js +28 -6
  473. package/dist/esm/hooks/use-on-move-rows.d.ts +18 -1
  474. package/dist/esm/hooks/use-on-move-rows.d.ts.map +1 -1
  475. package/dist/esm/hooks/use-on-move-rows.js +44 -6
  476. package/dist/esm/hooks/use-on-move-selection.d.ts +9 -2
  477. package/dist/esm/hooks/use-on-move-selection.d.ts.map +1 -1
  478. package/dist/esm/hooks/use-on-move-selection.js +57 -1
  479. package/dist/esm/hooks/use-on-paste.d.ts +33 -2
  480. package/dist/esm/hooks/use-on-paste.d.ts.map +1 -1
  481. package/dist/esm/hooks/use-on-paste.js +825 -643
  482. package/dist/esm/hooks/use-on-remove-duplicates.d.ts +5 -2
  483. package/dist/esm/hooks/use-on-remove-duplicates.d.ts.map +1 -1
  484. package/dist/esm/hooks/use-on-remove-duplicates.js +5 -1
  485. package/dist/esm/hooks/use-on-request-create-table.d.ts +13 -0
  486. package/dist/esm/hooks/use-on-request-create-table.d.ts.map +1 -0
  487. package/dist/esm/hooks/use-on-request-create-table.js +43 -0
  488. package/dist/esm/hooks/use-on-request-insert-slicer.d.ts +7 -0
  489. package/dist/esm/hooks/use-on-request-insert-slicer.d.ts.map +1 -0
  490. package/dist/esm/hooks/use-on-request-insert-slicer.js +15 -0
  491. package/dist/esm/hooks/use-on-request-resize-table.d.ts +7 -0
  492. package/dist/esm/hooks/use-on-request-resize-table.d.ts.map +1 -0
  493. package/dist/esm/hooks/use-on-request-resize-table.js +15 -0
  494. package/dist/esm/hooks/use-on-resize-table.d.ts +5 -1
  495. package/dist/esm/hooks/use-on-resize-table.d.ts.map +1 -1
  496. package/dist/esm/hooks/use-on-resize-table.js +107 -27
  497. package/dist/esm/hooks/use-on-sort-column.d.ts +28 -3
  498. package/dist/esm/hooks/use-on-sort-column.d.ts.map +1 -1
  499. package/dist/esm/hooks/use-on-sort-column.js +105 -68
  500. package/dist/esm/hooks/use-on-sort-range.d.ts +26 -3
  501. package/dist/esm/hooks/use-on-sort-range.d.ts.map +1 -1
  502. package/dist/esm/hooks/use-on-sort-range.js +100 -64
  503. package/dist/esm/hooks/use-on-sort-table.d.ts +18 -1
  504. package/dist/esm/hooks/use-on-sort-table.d.ts.map +1 -1
  505. package/dist/esm/hooks/use-on-sort-table.js +107 -86
  506. package/dist/esm/hooks/use-on-subtotal.d.ts +10 -3
  507. package/dist/esm/hooks/use-on-subtotal.d.ts.map +1 -1
  508. package/dist/esm/hooks/use-on-subtotal.js +7 -5
  509. package/dist/esm/hooks/use-on-table.d.ts +39 -7
  510. package/dist/esm/hooks/use-on-table.d.ts.map +1 -1
  511. package/dist/esm/hooks/use-on-table.js +234 -26
  512. package/dist/esm/hooks/use-on-undo-calculated-column.d.ts +23 -0
  513. package/dist/esm/hooks/use-on-undo-calculated-column.d.ts.map +1 -0
  514. package/dist/esm/hooks/use-on-undo-calculated-column.js +62 -0
  515. package/dist/esm/hooks/use-on-undo-table-auto-expansion.d.ts +28 -0
  516. package/dist/esm/hooks/use-on-undo-table-auto-expansion.d.ts.map +1 -0
  517. package/dist/esm/hooks/use-on-undo-table-auto-expansion.js +75 -0
  518. package/dist/esm/hooks/use-on-update-named-range.d.ts +4 -2
  519. package/dist/esm/hooks/use-on-update-named-range.d.ts.map +1 -1
  520. package/dist/esm/hooks/use-on-update-named-range.js +13 -1
  521. package/dist/esm/hooks/use-sheet-properties.d.ts +1 -0
  522. package/dist/esm/hooks/use-sheet-properties.d.ts.map +1 -1
  523. package/dist/esm/hooks/use-sheet-properties.js +38 -19
  524. package/dist/esm/hooks/use-slicers.d.ts +2 -2
  525. package/dist/esm/hooks/use-slicers.d.ts.map +1 -1
  526. package/dist/esm/hooks/use-slicers.js +16 -8
  527. package/dist/esm/hooks/use-sparkline-groups.d.ts +50 -0
  528. package/dist/esm/hooks/use-sparkline-groups.d.ts.map +1 -0
  529. package/dist/esm/hooks/use-sparkline-groups.js +146 -0
  530. package/dist/esm/hooks/use-spreadsheet-state.d.ts +69 -12
  531. package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
  532. package/dist/esm/hooks/use-spreadsheet-state.js +321 -14
  533. package/dist/esm/hooks/use-structured-reference.d.ts.map +1 -1
  534. package/dist/esm/hooks/use-structured-reference.js +17 -0
  535. package/dist/esm/hooks/use-undo-redo-actions.d.ts +2 -1
  536. package/dist/esm/hooks/use-undo-redo-actions.d.ts.map +1 -1
  537. package/dist/esm/hooks/use-undo-redo-actions.js +8 -2
  538. package/dist/esm/hooks/use-undo-redo.d.ts +12 -0
  539. package/dist/esm/hooks/use-undo-redo.d.ts.map +1 -1
  540. package/dist/esm/hooks/use-undo-redo.js +158 -7
  541. package/dist/esm/hooks/utils/sort-rows.d.ts.map +1 -1
  542. package/dist/esm/hooks/utils/sort-rows.js +4 -3
  543. package/dist/esm/index.d.ts +8 -0
  544. package/dist/esm/index.d.ts.map +1 -1
  545. package/dist/esm/index.js +9 -0
  546. package/dist/esm/interface/apply-fill.d.ts +26 -3
  547. package/dist/esm/interface/apply-fill.d.ts.map +1 -1
  548. package/dist/esm/interface/apply-fill.js +188 -88
  549. package/dist/esm/interface/change-batch.d.ts +1 -1
  550. package/dist/esm/interface/change-batch.d.ts.map +1 -1
  551. package/dist/esm/interface/change-batch.js +89 -8
  552. package/dist/esm/interface/change-calculated-column.d.ts +6 -2
  553. package/dist/esm/interface/change-calculated-column.d.ts.map +1 -1
  554. package/dist/esm/interface/change-calculated-column.js +81 -16
  555. package/dist/esm/interface/change-table-column.d.ts +81 -7
  556. package/dist/esm/interface/change-table-column.d.ts.map +1 -1
  557. package/dist/esm/interface/change-table-column.js +295 -67
  558. package/dist/esm/interface/create-table.d.ts +15 -3
  559. package/dist/esm/interface/create-table.d.ts.map +1 -1
  560. package/dist/esm/interface/create-table.js +103 -27
  561. package/dist/esm/interface/delete-cells-shift-left.d.ts +1 -1
  562. package/dist/esm/interface/delete-cells-shift-left.d.ts.map +1 -1
  563. package/dist/esm/interface/delete-cells-shift-left.js +10 -1
  564. package/dist/esm/interface/delete-cells-shift-up.d.ts +1 -1
  565. package/dist/esm/interface/delete-cells-shift-up.d.ts.map +1 -1
  566. package/dist/esm/interface/delete-cells-shift-up.js +10 -1
  567. package/dist/esm/interface/delete-cells.d.ts +1 -1
  568. package/dist/esm/interface/delete-cells.d.ts.map +1 -1
  569. package/dist/esm/interface/delete-cells.js +47 -14
  570. package/dist/esm/interface/delete-column.d.ts +1 -1
  571. package/dist/esm/interface/delete-column.d.ts.map +1 -1
  572. package/dist/esm/interface/delete-column.js +26 -30
  573. package/dist/esm/interface/delete-row.d.ts +1 -1
  574. package/dist/esm/interface/delete-row.d.ts.map +1 -1
  575. package/dist/esm/interface/delete-row.js +191 -44
  576. package/dist/esm/interface/delete-sheet.d.ts +2 -2
  577. package/dist/esm/interface/delete-sheet.d.ts.map +1 -1
  578. package/dist/esm/interface/delete-sheet.js +113 -1
  579. package/dist/esm/interface/delete-table-column.d.ts +1 -1
  580. package/dist/esm/interface/delete-table-column.d.ts.map +1 -1
  581. package/dist/esm/interface/delete-table-column.js +11 -1
  582. package/dist/esm/interface/delete-table-row.d.ts +1 -1
  583. package/dist/esm/interface/delete-table-row.d.ts.map +1 -1
  584. package/dist/esm/interface/delete-table-row.js +312 -232
  585. package/dist/esm/interface/duplicate-sheet.d.ts.map +1 -1
  586. package/dist/esm/interface/duplicate-sheet.js +73 -26
  587. package/dist/esm/interface/embeds.d.ts +10 -1
  588. package/dist/esm/interface/embeds.d.ts.map +1 -1
  589. package/dist/esm/interface/embeds.js +84 -5
  590. package/dist/esm/interface/insert-cells-shift-down.d.ts +1 -1
  591. package/dist/esm/interface/insert-cells-shift-down.d.ts.map +1 -1
  592. package/dist/esm/interface/insert-cells-shift-down.js +10 -1
  593. package/dist/esm/interface/insert-cells-shift-right.d.ts +1 -1
  594. package/dist/esm/interface/insert-cells-shift-right.d.ts.map +1 -1
  595. package/dist/esm/interface/insert-cells-shift-right.js +10 -1
  596. package/dist/esm/interface/insert-column.d.ts +2 -2
  597. package/dist/esm/interface/insert-column.d.ts.map +1 -1
  598. package/dist/esm/interface/insert-column.js +70 -33
  599. package/dist/esm/interface/insert-row.d.ts +1 -1
  600. package/dist/esm/interface/insert-row.d.ts.map +1 -1
  601. package/dist/esm/interface/insert-row.js +22 -6
  602. package/dist/esm/interface/insert-table-row.d.ts +2 -1
  603. package/dist/esm/interface/insert-table-row.d.ts.map +1 -1
  604. package/dist/esm/interface/insert-table-row.js +67 -12
  605. package/dist/esm/interface/remove-duplicates.d.ts +1 -1
  606. package/dist/esm/interface/remove-duplicates.d.ts.map +1 -1
  607. package/dist/esm/interface/remove-duplicates.js +41 -6
  608. package/dist/esm/interface/remove-table.d.ts +1 -1
  609. package/dist/esm/interface/remove-table.d.ts.map +1 -1
  610. package/dist/esm/interface/remove-table.js +58 -10
  611. package/dist/esm/interface/slicers.d.ts +12 -1
  612. package/dist/esm/interface/slicers.d.ts.map +1 -1
  613. package/dist/esm/interface/slicers.js +44 -2
  614. package/dist/esm/interface/spreadsheet-interface.d.ts +1 -1
  615. package/dist/esm/interface/spreadsheet-interface.d.ts.map +1 -1
  616. package/dist/esm/interface/spreadsheet-interface.js +73 -1
  617. package/dist/esm/interface/table-totalrow.d.ts +13 -1
  618. package/dist/esm/interface/table-totalrow.d.ts.map +1 -1
  619. package/dist/esm/interface/table-totalrow.js +98 -68
  620. package/dist/esm/interface/table-utils.d.ts +59 -6
  621. package/dist/esm/interface/table-utils.d.ts.map +1 -1
  622. package/dist/esm/interface/table-utils.js +155 -14
  623. package/dist/esm/interface/update-table.d.ts +16 -1
  624. package/dist/esm/interface/update-table.d.ts.map +1 -1
  625. package/dist/esm/interface/update-table.js +203 -42
  626. package/dist/esm/sheet-cell.d.ts.map +1 -1
  627. package/dist/esm/test-setup.d.ts.map +1 -1
  628. package/dist/esm/test-setup.js +6 -0
  629. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  630. package/dist/esm/validation-schema/table.schema.d.ts +11 -0
  631. package/dist/esm/validation-schema/table.schema.d.ts.map +1 -1
  632. package/dist/esm/validation-schema/table.schema.js +15 -2
  633. package/package.json +25 -17
@@ -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;AAiBpF,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,wBAsTlC,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 new RegExp("^" + escapeCharacters(firstValue.userEnteredValue) + "$", "gi").test(String(value));
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 new RegExp(escapeCharacters(firstValue.userEnteredValue), "gi").test(String(value));
253
+ return matchesWildcardPattern(firstValue.userEnteredValue, String(value), "contains");
216
254
  case "TEXT_ENDS_WITH":
217
- return new RegExp(escapeCharacters(firstValue.userEnteredValue) + "$", "gi").test(String(value));
255
+ return matchesWildcardPattern(firstValue.userEnteredValue, String(value), "endsWith");
218
256
  case "TEXT_NOT_CONTAINS":
219
- return !new RegExp(escapeCharacters(firstValue.userEnteredValue), "gi").test(String(value));
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 !new RegExp(escapeCharacters(firstValue.userEnteredValue), "gi").test(String(value));
261
+ return !matchesWildcardPattern(firstValue.userEnteredValue, String(value), "equals");
224
262
  case "TEXT_STARTS_WITH":
225
- return new RegExp("^" + escapeCharacters(firstValue.userEnteredValue), "gi").test(String(value));
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"}
@@ -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); };
@@ -1,5 +1,5 @@
1
1
  import type { CellData, CellInterface, Citation, Color, Direction, GridRange, SelectionArea, SheetRange, SortOrder } from "@rowsncolumns/common-types";
2
- import type { AXIS, BandedDefinition, BandedRange, BorderLocation, BorderStyle, CellFormat, ColorFilterCriteria, ConditionalFormatRule, ConditionType, ConditionValue, DataValidationRuleRecord, EmbeddedChart, EmbeddedObject, FillModifier, FillSeriesSpec, FilterView, IconFilterCriteria, NamedRange, PivotTable, ProtectedRange, SelectionAttributes, Sheet, Slicer, SpreadsheetTheme, TableTheme, TableView, TextFormatRun } from "@rowsncolumns/spreadsheet";
2
+ import type { AXIS, BandedDefinition, BandedRange, BorderLocation, BorderStyle, CellFormat, ColorFilterCriteria, ConditionalFormatRule, ConditionType, ConditionValue, DataValidationRuleRecord, EmbeddedChart, EmbeddedObject, FillModifier, FillSeriesSpec, FilterView, IconFilterCriteria, NamedRange, PivotTable, ProtectedRange, SelectionAttributes, Sheet, Slicer, SortSpecs, SpreadsheetTheme, CalculatedColumnPreviousCell, TableAutoExpansionWrites, TableTheme, TableView, TextFormatRun, BooleanCondition, FilterConditionJoin, CustomTableStyle } from "@rowsncolumns/spreadsheet";
3
3
  import type { AutoFillType } from "./api/fill";
4
4
  import type { ChangeBatchOptions } from "./interface/change-batch";
5
5
  import type { ClearType } from "./interface/delete-cells";
@@ -25,6 +25,14 @@ export type Command = {
25
25
  textFormatRuns: TextFormatRun[] | undefined | null;
26
26
  previousValue?: string | boolean | undefined;
27
27
  isDirty?: boolean;
28
+ /**
29
+ * `false` when the host turned Excel's "Include new rows and columns in table" AutoCorrect
30
+ * option off (`autoExpandTables: false`): an engine executing the command must not
31
+ * auto-expand a table over the written cells. Omitted = expand.
32
+ */
33
+ autoExpandTables?: boolean;
34
+ /** `false` when the host turned Excel's "Fill formulas in tables to create calculated columns" option off (#668 T-51). */
35
+ autoCalculatedColumns?: boolean;
28
36
  } | {
29
37
  command: "delete-cells";
30
38
  sheetId: number;
@@ -39,6 +47,14 @@ export type Command = {
39
47
  formatting?: (CellFormat | undefined | null)[][] | CellFormat | null | undefined;
40
48
  citations?: (string | undefined | null)[][] | string | null | undefined;
41
49
  options?: ChangeBatchOptions;
50
+ /**
51
+ * `false` when the host turned Excel's "Include new rows and columns in table" AutoCorrect
52
+ * option off (`autoExpandTables: false`): an engine executing the command must not
53
+ * auto-expand a table over the written cells. Omitted = expand.
54
+ */
55
+ autoExpandTables?: boolean;
56
+ /** `false` when the host turned Excel's "Fill formulas in tables to create calculated columns" option off (#668 T-51). */
57
+ autoCalculatedColumns?: boolean;
42
58
  } | {
43
59
  command: "paste";
44
60
  sheetId: number;
@@ -53,6 +69,8 @@ export type Command = {
53
69
  value: string | null;
54
70
  format?: CellFormat | null;
55
71
  hyperlink?: string | null;
72
+ /** The cell's note — carried on copy, moved on cut (Excel parity). */
73
+ note?: string | null;
56
74
  /** Paste Special "Skip blanks": leave the destination untouched (value, format,
57
75
  * hyperlink) — unlike `null`, which clears it. The other fields are then only a
58
76
  * fallback for an engine build predating `skip`. */
@@ -65,6 +83,14 @@ export type Command = {
65
83
  } | null;
66
84
  /** Paste Special "formatting only": apply each cell's `format`, leave destination values intact. */
67
85
  formatOnly?: boolean;
86
+ /**
87
+ * `false` when the host turned Excel's "Include new rows and columns in table" AutoCorrect
88
+ * option off (`autoExpandTables: false`): an engine executing the command must not
89
+ * auto-expand a table over the written cells. Omitted = expand.
90
+ */
91
+ autoExpandTables?: boolean;
92
+ /** `false` when the host turned Excel's "Fill formulas in tables to create calculated columns" option off (#668 T-51). */
93
+ autoCalculatedColumns?: boolean;
68
94
  } | {
69
95
  command: "fill";
70
96
  sheetId: number;
@@ -83,6 +109,14 @@ export type Command = {
83
109
  * engine that executes the command (the legacy engine resolves them in-process).
84
110
  */
85
111
  customLists?: string[][];
112
+ /**
113
+ * `false` when the host turned Excel's "Include new rows and columns in table" AutoCorrect
114
+ * option off (`autoExpandTables: false`): an engine executing the command must not
115
+ * auto-expand a table over the written cells. Omitted = expand.
116
+ */
117
+ autoExpandTables?: boolean;
118
+ /** `false` when the host turned Excel's "Fill formulas in tables to create calculated columns" option off (#668 T-51). */
119
+ autoCalculatedColumns?: boolean;
86
120
  } | {
87
121
  command: "remove-duplicates";
88
122
  sheetId: number;
@@ -206,16 +240,23 @@ export type Command = {
206
240
  sheetId: number;
207
241
  rows: number[];
208
242
  referenceRowIndex: number;
243
+ insertBefore?: boolean;
209
244
  } | {
210
245
  command: "move-columns";
211
246
  sheetId: number;
212
247
  columns: number[];
213
248
  referenceColumnIndex: number;
249
+ insertBefore?: boolean;
214
250
  } | {
215
251
  command: "move-range";
216
252
  sheetId: number;
217
253
  from: GridRange;
218
254
  to: GridRange;
255
+ /** Excel Shift+drag / Insert Cut Cells: open the destination band (down for a vertical move,
256
+ * right for a horizontal one), place the block there and close the gap it left — nothing is
257
+ * overwritten, no blank remains; a forward move within its own lanes lands `size` lines
258
+ * before `to` (Excel's pre-removal reference). */
259
+ insert?: boolean;
219
260
  } | {
220
261
  command: "hide-row";
221
262
  sheetId: number;
@@ -363,8 +404,17 @@ export type Command = {
363
404
  command: "sort-table";
364
405
  sheetId: number;
365
406
  filter: TableView | FilterView;
407
+ /** The primary level's column (offset from the filter range's first column). */
366
408
  dimensionIndex: number;
367
409
  sortOrder: SortOrder;
410
+ /**
411
+ * The full ordered level list (primary first, then tiebreakers) — the custom-sort dialog's
412
+ * `SortSpecs[]`, with `sortBy` (value / cellColor / fontColor / icon), the chosen
413
+ * `sortColor` / `sortIcon` and any `customList`. Authoritative when present;
414
+ * `dimensionIndex` / `sortOrder` mirror its first entry. Persisted on the table / basic
415
+ * filter as `sortSpecs`.
416
+ */
417
+ sortSpecs?: SortSpecs[];
368
418
  } | {
369
419
  command: "filter-table";
370
420
  sheetId: number;
@@ -377,11 +427,19 @@ export type Command = {
377
427
  colorFilter?: ColorFilterCriteria | null;
378
428
  /** Filter-by-CF-icon criterion. Absent → carry the column's existing one; `null` → clear. */
379
429
  iconFilter?: IconFilterCriteria | null;
430
+ /** Custom AutoFilter second clause + join. Absent → carry the existing one; `null` → clear. */
431
+ condition2?: BooleanCondition | null;
432
+ conditionJoin?: FilterConditionJoin | null;
380
433
  } | {
381
434
  command: "delete-filter";
382
435
  sheetId: number;
383
436
  filter: TableView | FilterView;
384
- columnIndex: number;
437
+ /**
438
+ * Filter-relative column (like `filter-table`'s) whose criteria are
439
+ * cleared — Excel's "Clear Filter From <column>". Omitted → the whole
440
+ * filter is removed.
441
+ */
442
+ columnIndex?: number;
385
443
  } | {
386
444
  command: "create-basic-filter";
387
445
  sheetId: number;
@@ -396,6 +454,8 @@ export type Command = {
396
454
  tableSpec?: Partial<TableView>;
397
455
  theme?: TableTheme;
398
456
  bandedRange?: BandedDefinition;
457
+ /** Excel's "My table has headers" (`CreateTableOptions.hasHeaders`); `false` inserts a `Column1..N` header row above the data. */
458
+ hasHeaders?: boolean;
399
459
  } | {
400
460
  command: "remove-table";
401
461
  tableView: TableView;
@@ -407,6 +467,12 @@ export type Command = {
407
467
  } | {
408
468
  command: "insert-table-row";
409
469
  tableView: TableView;
470
+ /**
471
+ * Insert position counted from `range.startRowIndex` (the header row when
472
+ * the table has one): `activeCell.rowIndex - range.startRowIndex` inserts
473
+ * at the active row. Clamped to the body; with a totals row the new row
474
+ * goes above it. Absent = after the last data row.
475
+ */
410
476
  relativeRowIndex?: number;
411
477
  rowData?: Record<string, string | undefined | null>[];
412
478
  } | {
@@ -418,6 +484,8 @@ export type Command = {
418
484
  tableView: TableView;
419
485
  dimensionIndex: number;
420
486
  direction: Direction.Left | Direction.Right;
487
+ /** Columns to insert (Excel inserts as many as are selected); default 1. */
488
+ count?: number;
421
489
  } | {
422
490
  command: "delete-table-column";
423
491
  tableView: TableView;
@@ -427,6 +495,30 @@ export type Command = {
427
495
  sheetId: number;
428
496
  table: TableView;
429
497
  range: GridRange;
498
+ }
499
+ /**
500
+ * The AutoCorrect smart tag's "Undo Table AutoExpansion": the table resizes back to
501
+ * `previousRange` and the cells the growth itself wrote (`writes` — calculated-column
502
+ * formulas, generated headers, inherited formats) are cleared, in one undo step. The user's
503
+ * own value stays.
504
+ */
505
+ | {
506
+ command: "undo-table-auto-expansion";
507
+ sheetId: number;
508
+ tableId: TableView["id"];
509
+ previousRange: GridRange;
510
+ writes: TableAutoExpansionWrites;
511
+ }
512
+ /**
513
+ * The AutoCorrect smart tag's "Undo Calculated Column": restore the body cells the fill
514
+ * overwrote (`previous`) and drop the column's calculated formula — the typed cell stays.
515
+ */
516
+ | {
517
+ command: "undo-calculated-column";
518
+ sheetId: number;
519
+ tableId: TableView["id"];
520
+ columnIndex: number;
521
+ previous: CalculatedColumnPreviousCell[];
430
522
  } | {
431
523
  command: "move-table-columns";
432
524
  sheetId: number;
@@ -548,6 +640,10 @@ export type Command = {
548
640
  command: "add-banded-range";
549
641
  sheetId: number;
550
642
  bandedRange: BandedRange;
643
+ } | {
644
+ /** Excel's New Table Style: a workbook-level custom table style (#668 T-103). */
645
+ command: "create-table-style";
646
+ style: CustomTableStyle;
551
647
  } | {
552
648
  command: "remove-banded-range";
553
649
  sheetId: number;
@@ -583,6 +679,10 @@ export type Command = {
583
679
  anchorCell: CellInterface;
584
680
  offsetXPixels: number;
585
681
  offsetYPixels: number;
682
+ /** `moveAndSize` objects — the cell the bottom-right corner landed in. */
683
+ toCell?: CellInterface;
684
+ toOffsetXPixels?: number;
685
+ toOffsetYPixels?: number;
586
686
  } | {
587
687
  command: "resize-embed";
588
688
  embedId: EmbeddedObject["embedId"];
@@ -592,6 +692,10 @@ export type Command = {
592
692
  offsetYPixels: number;
593
693
  width: number;
594
694
  height: number;
695
+ /** `moveAndSize` objects — the cell the bottom-right corner landed in. */
696
+ toCell?: CellInterface;
697
+ toOffsetXPixels?: number;
698
+ toOffsetYPixels?: number;
595
699
  } | {
596
700
  command: "create-slicer";
597
701
  slicer: Slicer;
@@ -608,6 +712,10 @@ export type Command = {
608
712
  anchorCell: CellInterface;
609
713
  offsetXPixels: number;
610
714
  offsetYPixels: number;
715
+ /** `moveAndSize` slicers — the cell the bottom-right corner landed in. */
716
+ toCell?: CellInterface;
717
+ toOffsetXPixels?: number;
718
+ toOffsetYPixels?: number;
611
719
  } | {
612
720
  command: "resize-slicer";
613
721
  slicerId: Slicer["slicerId"];
@@ -617,6 +725,10 @@ export type Command = {
617
725
  offsetYPixels: number;
618
726
  width: number;
619
727
  height: number;
728
+ /** `moveAndSize` slicers — the cell the bottom-right corner landed in. */
729
+ toCell?: CellInterface;
730
+ toOffsetXPixels?: number;
731
+ toOffsetYPixels?: number;
620
732
  } | {
621
733
  command: "change-theme";
622
734
  theme: SpreadsheetTheme;
@@ -632,6 +744,14 @@ export type Command = {
632
744
  } | {
633
745
  command: "delete-chart";
634
746
  chartId: EmbeddedChart["chartId"];
747
+ } | {
748
+ /** Excel's "Move Chart…" (#668 C-17). */
749
+ command: "move-chart-to-sheet";
750
+ chartId: EmbeddedChart["chartId"];
751
+ /** "Object in" — the worksheet to land on (at A1). Absent = "New sheet". */
752
+ sheetId?: number;
753
+ /** "New sheet" — the chartsheet's name; absent or taken = the first free `Chart{n}`. */
754
+ title?: string;
635
755
  } | {
636
756
  command: "move-chart";
637
757
  chartId: EmbeddedChart["chartId"];
@@ -639,6 +759,10 @@ export type Command = {
639
759
  anchorCell: CellInterface;
640
760
  offsetXPixels: number;
641
761
  offsetYPixels: number;
762
+ /** `moveAndSize` objects — the cell the bottom-right corner landed in. */
763
+ toCell?: CellInterface;
764
+ toOffsetXPixels?: number;
765
+ toOffsetYPixels?: number;
642
766
  } | {
643
767
  command: "resize-chart";
644
768
  chartId: EmbeddedChart["chartId"];
@@ -648,6 +772,10 @@ export type Command = {
648
772
  offsetYPixels: number;
649
773
  width: number;
650
774
  height: number;
775
+ /** `moveAndSize` objects — the cell the bottom-right corner landed in. */
776
+ toCell?: CellInterface;
777
+ toOffsetXPixels?: number;
778
+ toOffsetYPixels?: number;
651
779
  } | {
652
780
  command: "create-pivot-table";
653
781
  pivotTable: PivotTable;
@@ -688,6 +816,14 @@ export type Command = {
688
816
  rowIndex: number;
689
817
  columnIndex: number;
690
818
  };
819
+ } | {
820
+ /** Several commands as ONE user action: applied in order, streamed as one merged change-set
821
+ * and recorded as a single undo step (Excel undoes Data → Subtotal — row inserts, total-row
822
+ * writes, outline groups — in one Ctrl+Z). `undo` / `redo` members are skipped; a nested
823
+ * batch flattens into the outer step. Handled by the Rust engine (`@rowsncolumns/rnc-engine`);
824
+ * `useSpreadsheetState` composes the same actions through `batchHistory`. */
825
+ command: "batch";
826
+ commands: Command[];
691
827
  } | {
692
828
  command: "undo";
693
829
  } | {