@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,10 +1,12 @@
1
- import { __read, __spreadArray, __values } from "tslib";
1
+ import { __assign, __read, __spreadArray, __values } from "tslib";
2
2
  import { findActiveTableWithinCell, useGetEffectiveValuesFromRange, useTokenizer, } from "@rowsncolumns/spreadsheet";
3
3
  import { convertCellToRange, isAFormula, isNil } from "@rowsncolumns/utils";
4
4
  import { produceWithPatches } from "immer";
5
- import { useCallback } from "react";
5
+ import { useCallback, useRef } from "react";
6
6
  import { createSheetCellIdentifier } from "../api/formula";
7
+ import { renameTableColumnInFormulas } from "../api/structural-table-refs";
7
8
  import { findAdjacentTable, findTableColumnIndex, removeTableName, } from "../api/table";
9
+ import { getTypedTableHeaderName } from "../interface/change-table-column";
8
10
  import { createSheetDraft } from "./../api/immer-utils";
9
11
  import { SheetCell } from "./../sheet-cell";
10
12
  import { useCanEditCellRange } from "./use-can-edit-cellrange";
@@ -69,20 +71,31 @@ var areTextFormatRunsEqual = function (a, b) {
69
71
  }
70
72
  return true;
71
73
  };
72
- /**
73
- * Change handler
74
- * Undo history order
75
- * 1. Cell change
76
- * 2. If Table
77
- * 1. Add column
78
- * 2. If computed column - Fill all computed columns
79
- *
80
- * Refactor use-on-change and use-on-paste.
81
- * @param param0
82
- * @returns
83
- */
74
+ /** Is `coords` a table's header cell — inside the table, or the header of a column typed just right of it? */
75
+ var isTableHeaderCell = function (sheetId, coords, tables, getUserEnteredValue) {
76
+ var table = findActiveTableWithinCell(sheetId, coords, tables);
77
+ if (table) {
78
+ return (table.headerRow !== false && coords.rowIndex === table.range.startRowIndex);
79
+ }
80
+ var _a = __read(findAdjacentTable(sheetId, coords, tables, getUserEnteredValue), 3), adjacentTable = _a[0], isColumnExpansion = _a[2];
81
+ return (!!adjacentTable &&
82
+ isColumnExpansion &&
83
+ adjacentTable.headerRow !== false &&
84
+ coords.rowIndex === adjacentTable.range.startRowIndex);
85
+ };
86
+ /** The header text a scratch-evaluated formula result stores; `undefined` when it has no value. */
87
+ var headerResultText = function (result) {
88
+ var scalar = Array.isArray(result) ? result.flat()[0] : result;
89
+ if (typeof scalar === "string")
90
+ return scalar;
91
+ if (typeof scalar === "number" && Number.isFinite(scalar))
92
+ return String(scalar);
93
+ if (typeof scalar === "boolean")
94
+ return scalar ? "TRUE" : "FALSE";
95
+ return undefined;
96
+ };
84
97
  export var useOnChange = function (_a) {
85
- var locale = _a.locale, tables = _a.tables, cellXfsRegistry = _a.cellXfsRegistry, sharedStringRegistry = _a.sharedStringRegistry, getUserEnteredValue = _a.getUserEnteredValue, getTextFormatRuns = _a.getTextFormatRuns, onChangeSheetData = _a.onChangeSheetData, onChangeTables = _a.onChangeTables, onChangeSheets = _a.onChangeSheets, getDependents = _a.getDependents, enqueueCalculation = _a.enqueueCalculation, enqueueGraphOperation = _a.enqueueGraphOperation, createHistory = _a.createHistory, getDataValidationById = _a.getDataValidationById, getSheetName = _a.getSheetName, onCommand = _a.onCommand, generatedNames = _a.generatedNames;
98
+ var locale = _a.locale, tables = _a.tables, cellXfsRegistry = _a.cellXfsRegistry, sharedStringRegistry = _a.sharedStringRegistry, getUserEnteredValue = _a.getUserEnteredValue, getTextFormatRuns = _a.getTextFormatRuns, onChangeSheetData = _a.onChangeSheetData, onChangeTables = _a.onChangeTables, onChangeCharts = _a.onChangeCharts, onChangeSheets = _a.onChangeSheets, getDependents = _a.getDependents, getGraphNodes = _a.getGraphNodes, enqueueCalculation = _a.enqueueCalculation, enqueueGraphOperation = _a.enqueueGraphOperation, createHistory = _a.createHistory, getDataValidationById = _a.getDataValidationById, getSheetName = _a.getSheetName, onCommand = _a.onCommand, generatedNames = _a.generatedNames, _b = _a.batchHistory, batchHistory = _b === void 0 ? function (action) { return action(); } : _b, onRequestCalculate = _a.onRequestCalculate, _c = _a.autoExpandTables, autoExpandTables = _c === void 0 ? true : _c, _d = _a.autoCalculatedColumns, autoCalculatedColumns = _d === void 0 ? true : _d;
86
99
  // Allowed values
87
100
  var getEffectiveValuesFromRange = useGetEffectiveValuesFromRange();
88
101
  var onChangeCalculatedColumn = useOnChangeCalculatedColumn({
@@ -94,6 +107,7 @@ export var useOnChange = function (_a) {
94
107
  onChangeTables: onChangeTables,
95
108
  getSheetName: getSheetName,
96
109
  onCommand: onCommand,
110
+ autoCalculatedColumns: autoCalculatedColumns,
97
111
  });
98
112
  var onChangeTableColumn = useOnChangeTableColumn({
99
113
  locale: locale,
@@ -102,22 +116,41 @@ export var useOnChange = function (_a) {
102
116
  enqueueGraphOperation: enqueueGraphOperation,
103
117
  onChangeSheetData: onChangeSheetData,
104
118
  onChangeTables: onChangeTables,
119
+ onChangeCharts: onChangeCharts,
105
120
  getDependents: getDependents,
121
+ getSheetName: getSheetName,
106
122
  onCommand: onCommand,
107
123
  generatedNames: generatedNames,
124
+ tables: tables,
108
125
  });
109
126
  var adjustRowHeight = useOnAdjustRowHeight({
110
127
  onChangeSheets: onChangeSheets,
111
128
  });
112
129
  var canEditCellRange = useCanEditCellRange();
113
130
  var tokenizer = useTokenizer();
114
- return useCallback(function (sheetId, coords, value, textFormatRuns, previousValue, isDirty, previousTextFormatRuns) {
131
+ // The handler re-enters itself with a header formula's result text.
132
+ var selfRef = useRef(null);
133
+ var onChange = useCallback(function (sheetId, coords, value, textFormatRuns, previousValue, isDirty, previousTextFormatRuns, options) {
134
+ var _a, _b, _c, _d, _e;
115
135
  if (!canEditCellRange(sheetId, coords)) {
116
136
  console.debug("This range is protected, users cannot edit this cell range.");
117
137
  return;
118
138
  }
119
- // Trigger formula changes always
120
- var isFormula = isAFormula(value);
139
+ // Trigger formula changes always. A header's evaluated result re-enters
140
+ // as plain text even when it reads like a formula.
141
+ var isFormula = !(options === null || options === void 0 ? void 0 : options.headerResult) && isAFormula(value);
142
+ // Excel stores a formula typed into a table header cell as its RESULT
143
+ // text: evaluate it once and re-enter with the text as the typed value.
144
+ if (isFormula &&
145
+ onRequestCalculate &&
146
+ isTableHeaderCell(sheetId, coords, tables, getUserEnteredValue)) {
147
+ void onRequestCalculate(value, sheetId, coords.rowIndex, coords.columnIndex, { disablePreview: true }).then(function (result) {
148
+ var _a;
149
+ var text = headerResultText(result);
150
+ (_a = selfRef.current) === null || _a === void 0 ? void 0 : _a.call(selfRef, sheetId, coords, text !== null && text !== void 0 ? text : value, textFormatRuns, previousValue, isDirty, previousTextFormatRuns, { headerResult: text !== undefined });
151
+ });
152
+ return;
153
+ }
121
154
  // We need to track this for history. Precedent cells
122
155
  var recalcCells = new Map();
123
156
  // Resolve previous runs: prefer the caller's snapshot, then fall
@@ -139,7 +172,9 @@ export var useOnChange = function (_a) {
139
172
  var tableHeaderColumnIndex = findTableColumnIndex(sheetId, coords, tables);
140
173
  // When user enters a value in the last row of a
141
174
  // table and if the entire row is empty
142
- var _a = __read(findAdjacentTable(sheetId, coords, tables, getUserEnteredValue), 3), adjacentTable = _a[0], isRowExpansion = _a[1], isColumnExpansion = _a[2];
175
+ var _f = __read(autoExpandTables
176
+ ? findAdjacentTable(sheetId, coords, tables, getUserEnteredValue)
177
+ : [undefined, false, false], 3), adjacentTable = _f[0], isRowExpansion = _f[1], isColumnExpansion = _f[2];
143
178
  // Calculated columns
144
179
  var currentTable = isColumnExpansion && adjacentTable
145
180
  ? adjacentTable
@@ -149,132 +184,169 @@ export var useOnChange = function (_a) {
149
184
  var isAdjacentColumn = currentTable &&
150
185
  coords.columnIndex === currentTable.range.endColumnIndex + 1;
151
186
  var rowIndex = coords.rowIndex, columnIndex = coords.columnIndex;
152
- var saveHistory = createHistory();
153
- // Update sheet data
154
- onChangeSheetData === null || onChangeSheetData === void 0 ? void 0 : onChangeSheetData(function (prevSheetData) {
155
- var _a = __read(produceWithPatches(prevSheetData, function (draft) {
156
- var _a;
157
- var currentSheet = createSheetDraft(draft, sheetId, rowIndex);
158
- var cellData = (_a = currentSheet[rowIndex].values) === null || _a === void 0 ? void 0 : _a[columnIndex];
159
- // Create a cell
160
- var sheetCell = new SheetCell(sheetId, coords, cellData, {
161
- getRangeValues: getEffectiveValuesFromRange,
162
- locale: locale,
163
- cellXfsRegistry: cellXfsRegistry,
164
- getDataValidationById: getDataValidationById,
165
- });
166
- // TODO: User is changing table column
167
- if (!isNil(tableHeaderColumnIndex)) {
168
- // Update all formulas and change table column name
169
- }
170
- // Set text value of the cell
171
- sheetCell.setUserEnteredValue(value, textFormatRuns);
172
- // Match Excel's Alt+Enter behavior: wrapText tracks the presence
173
- // of a hard line break in the committed value. Inserting the
174
- // first newline enables wrap; backspacing the last newline out
175
- // disables it. Synced only on a transition so wrap toggled
176
- // manually on plain-text cells is preserved.
177
- var prevHasNewline = typeof previousValue === "string" && previousValue.includes("\n");
178
- var valueHasNewline = typeof value === "string" && value.includes("\n");
179
- if (valueHasNewline && !prevHasNewline) {
180
- sheetCell.setUserEnteredFormat("wrapStrategy", "wrap");
181
- }
182
- else if (!valueHasNewline && prevHasNewline) {
183
- sheetCell.setUserEnteredFormat("wrapStrategy", undefined);
184
- }
185
- sharedStringRegistry === null || sharedStringRegistry === void 0 ? void 0 : sharedStringRegistry.registerCell(sheetCell);
186
- // Set cell data
187
- currentSheet[rowIndex].values[columnIndex] =
188
- sheetCell.getCellData();
189
- // Register cellXfs
190
- cellXfsRegistry === null || cellXfsRegistry === void 0 ? void 0 : cellXfsRegistry.registerCellXfs(sheetCell);
191
- // Enqueue
192
- enqueueCalculation({
193
- position: { rowIndex: rowIndex, columnIndex: columnIndex, sheetId: sheetId },
194
- type: "add",
195
- force: true,
196
- });
197
- // Add to recalc cells
198
- recalcCells.set(createSheetCellIdentifier(sheetId, rowIndex, columnIndex), {
199
- rowIndex: rowIndex,
200
- columnIndex: columnIndex,
201
- sheetId: sheetId,
202
- force: true,
203
- });
204
- }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
205
- // Save history
206
- saveHistory({
207
- sheetData: {
208
- inversePatches: inversePatches,
209
- patches: patches,
210
- },
211
- activeCell: { undo: coords, redo: coords },
212
- sheetId: { undo: sheetId, redo: sheetId },
213
- recalcCells: { undo: recalcCells, redo: recalcCells },
214
- });
215
- return nextState;
216
- });
217
- // Save cellXfs
218
- cellXfsRegistry === null || cellXfsRegistry === void 0 ? void 0 : cellXfsRegistry.getPatches(saveHistory);
219
- // Save shared strings patches
220
- sharedStringRegistry === null || sharedStringRegistry === void 0 ? void 0 : sharedStringRegistry.getPatches(saveHistory);
221
- // Update table columns if necessary
222
- // User is updating table column name
223
- if (!isNil(tableHeaderColumnIndex) && currentTable) {
224
- onChangeTables === null || onChangeTables === void 0 ? void 0 : onChangeTables(function (prevTableData) {
225
- var _a = __read(produceWithPatches(prevTableData, function (draft) {
187
+ // A table's header cell IS its column name (Excel): editing it renames the
188
+ // column — a duplicate takes the next free suffix (`Name2`), a cleared
189
+ // header the first free `ColumnN` — and every structured reference to the
190
+ // old name follows, in this same edit. A formula typed there was
191
+ // evaluated above; without an evaluator it is left as typed.
192
+ var renamedColumn = !isNil(tableHeaderColumnIndex) &&
193
+ currentTable &&
194
+ currentTable.headerRow !== false
195
+ ? {
196
+ oldName: (_b = (_a = currentTable.columns) === null || _a === void 0 ? void 0 : _a[tableHeaderColumnIndex]) === null || _b === void 0 ? void 0 : _b.name,
197
+ newName: getTypedTableHeaderName(value, ((_c = currentTable.columns) !== null && _c !== void 0 ? _c : []).filter(function (_, index) { return index !== tableHeaderColumnIndex; }), generatedNames),
198
+ }
199
+ : undefined;
200
+ // A header typed just right of the table names its new column the same way.
201
+ var grownHeaderName = isColumnExpansion &&
202
+ adjacentTable &&
203
+ rowIndex === adjacentTable.range.startRowIndex
204
+ ? getTypedTableHeaderName(value, (_d = adjacentTable.columns) !== null && _d !== void 0 ? _d : [], generatedNames)
205
+ : undefined;
206
+ // Header cells are always text (a `2024` header is the string "2024").
207
+ var headerText = isFormula
208
+ ? undefined
209
+ : (_e = renamedColumn === null || renamedColumn === void 0 ? void 0 : renamedColumn.newName) !== null && _e !== void 0 ? _e : grownHeaderName;
210
+ // The cell write and the table growth / calculated-column fill it triggers undo as ONE step.
211
+ batchHistory(function () {
212
+ var saveHistory = createHistory();
213
+ // Update sheet data
214
+ onChangeSheetData === null || onChangeSheetData === void 0 ? void 0 : onChangeSheetData(function (prevSheetData) {
215
+ var _a = __read(produceWithPatches(prevSheetData, function (draft) {
226
216
  var _a;
227
- var table = draft.find(function (table) {
228
- return table.range.startRowIndex === rowIndex &&
229
- table.sheetId === sheetId &&
230
- table.id === currentTable.id;
217
+ var currentSheet = createSheetDraft(draft, sheetId, rowIndex);
218
+ var cellData = (_a = currentSheet[rowIndex].values) === null || _a === void 0 ? void 0 : _a[columnIndex];
219
+ // Create a cell
220
+ var sheetCell = new SheetCell(sheetId, coords, cellData, {
221
+ getRangeValues: getEffectiveValuesFromRange,
222
+ locale: locale,
223
+ cellXfsRegistry: cellXfsRegistry,
224
+ getDataValidationById: getDataValidationById,
231
225
  });
232
- // Update table name
233
- if (table && ((_a = table.columns) === null || _a === void 0 ? void 0 : _a.length)) {
234
- if (!table.columns[tableHeaderColumnIndex]) {
235
- table.columns[tableHeaderColumnIndex] = {
236
- name: String(value),
237
- };
238
- }
239
- else {
240
- // Update name
241
- table.columns[tableHeaderColumnIndex].name = String(value);
242
- }
226
+ if ((renamedColumn === null || renamedColumn === void 0 ? void 0 : renamedColumn.oldName) && currentTable) {
227
+ renameTableColumnInFormulas({
228
+ draft: draft,
229
+ table: currentTable,
230
+ oldName: renamedColumn.oldName,
231
+ newName: renamedColumn.newName,
232
+ getGraphNodes: getGraphNodes,
233
+ enqueueCalculation: enqueueCalculation,
234
+ enqueueGraphOperation: enqueueGraphOperation,
235
+ recalcCells: recalcCells,
236
+ locale: locale,
237
+ cellXfsRegistry: cellXfsRegistry,
238
+ sharedStringRegistry: sharedStringRegistry,
239
+ });
240
+ }
241
+ // Set text value of the cell
242
+ if (headerText !== undefined) {
243
+ sheetCell.setUserEnteredValue(headerText, textFormatRuns, {
244
+ disableTypeInference: true,
245
+ });
246
+ }
247
+ else {
248
+ sheetCell.setUserEnteredValue(value, textFormatRuns);
249
+ }
250
+ // Match Excel's Alt+Enter behavior: wrapText tracks the presence
251
+ // of a hard line break in the committed value. Inserting the
252
+ // first newline enables wrap; backspacing the last newline out
253
+ // disables it. Synced only on a transition so wrap toggled
254
+ // manually on plain-text cells is preserved.
255
+ var prevHasNewline = typeof previousValue === "string" && previousValue.includes("\n");
256
+ var valueHasNewline = typeof value === "string" && value.includes("\n");
257
+ if (valueHasNewline && !prevHasNewline) {
258
+ sheetCell.setUserEnteredFormat("wrapStrategy", "wrap");
243
259
  }
260
+ else if (!valueHasNewline && prevHasNewline) {
261
+ sheetCell.setUserEnteredFormat("wrapStrategy", undefined);
262
+ }
263
+ sharedStringRegistry === null || sharedStringRegistry === void 0 ? void 0 : sharedStringRegistry.registerCell(sheetCell);
264
+ // Set cell data
265
+ currentSheet[rowIndex].values[columnIndex] =
266
+ sheetCell.getCellData();
267
+ // Register cellXfs
268
+ cellXfsRegistry === null || cellXfsRegistry === void 0 ? void 0 : cellXfsRegistry.registerCellXfs(sheetCell);
269
+ // Enqueue
270
+ enqueueCalculation({
271
+ position: { rowIndex: rowIndex, columnIndex: columnIndex, sheetId: sheetId },
272
+ type: "add",
273
+ force: true,
274
+ });
275
+ // Add to recalc cells
276
+ recalcCells.set(createSheetCellIdentifier(sheetId, rowIndex, columnIndex), {
277
+ rowIndex: rowIndex,
278
+ columnIndex: columnIndex,
279
+ sheetId: sheetId,
280
+ force: true,
281
+ });
244
282
  }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
283
+ // Save history
245
284
  saveHistory({
246
- tables: { patches: patches, inversePatches: inversePatches },
285
+ sheetData: {
286
+ inversePatches: inversePatches,
287
+ patches: patches,
288
+ },
289
+ activeCell: { undo: coords, redo: coords },
290
+ sheetId: { undo: sheetId, redo: sheetId },
291
+ recalcCells: { undo: recalcCells, redo: recalcCells },
247
292
  });
248
293
  return nextState;
249
294
  });
250
- }
251
- // Update sheets to maintain rowHeight
252
- if (isDirty && !isFormula) {
253
- adjustRowHeight(sheetId, rowIndex, columnIndex, value, undefined, undefined, saveHistory,
254
- // `null` (not undefined) when the commit has no runs, so the
255
- // sizer measures uniformly instead of reading the stale
256
- // pre-commit runs from the store.
257
- textFormatRuns !== null && textFormatRuns !== void 0 ? textFormatRuns : null);
258
- }
259
- // Adds new column to table and cell to sheet
260
- // User is adding a table column
261
- // Add banded range too
262
- onChangeTableColumn(sheetId, coords, value, adjacentTable, isRowExpansion, isColumnExpansion, convertCellToRange(coords));
263
- // Add calculated column
264
- // User is adding a computed column
265
- onChangeCalculatedColumn(sheetId, coords, isAdjacentColumn
266
- ? removeTableName(tokenizer(value), currentTable.title)
267
- : value, currentTable);
268
- // Emit semantic command for collaboration layer
269
- onCommand === null || onCommand === void 0 ? void 0 : onCommand({
270
- command: "set-value",
271
- sheetId: sheetId,
272
- coords: coords,
273
- value: value,
274
- textFormatRuns: textFormatRuns,
275
- previousValue: previousValue,
276
- isDirty: isDirty,
295
+ // Save cellXfs
296
+ cellXfsRegistry === null || cellXfsRegistry === void 0 ? void 0 : cellXfsRegistry.getPatches(saveHistory);
297
+ // Save shared strings patches
298
+ sharedStringRegistry === null || sharedStringRegistry === void 0 ? void 0 : sharedStringRegistry.getPatches(saveHistory);
299
+ // Update table columns if necessary
300
+ // User is updating table column name
301
+ if (!isNil(tableHeaderColumnIndex) && currentTable && renamedColumn) {
302
+ onChangeTables === null || onChangeTables === void 0 ? void 0 : onChangeTables(function (prevTableData) {
303
+ var _a = __read(produceWithPatches(prevTableData, function (draft) {
304
+ var _a;
305
+ var table = draft.find(function (table) {
306
+ return table.range.startRowIndex === rowIndex &&
307
+ table.sheetId === sheetId &&
308
+ table.id === currentTable.id;
309
+ });
310
+ // Update table name
311
+ if (table && ((_a = table.columns) === null || _a === void 0 ? void 0 : _a.length)) {
312
+ if (!table.columns[tableHeaderColumnIndex]) {
313
+ table.columns[tableHeaderColumnIndex] = {
314
+ name: renamedColumn.newName,
315
+ };
316
+ }
317
+ else {
318
+ // Update name
319
+ table.columns[tableHeaderColumnIndex].name =
320
+ renamedColumn.newName;
321
+ }
322
+ }
323
+ }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
324
+ saveHistory({
325
+ tables: { patches: patches, inversePatches: inversePatches },
326
+ });
327
+ return nextState;
328
+ });
329
+ }
330
+ // Update sheets to maintain rowHeight
331
+ if (isDirty && !isFormula) {
332
+ adjustRowHeight(sheetId, rowIndex, columnIndex, value, undefined, undefined, saveHistory,
333
+ // `null` (not undefined) when the commit has no runs, so the
334
+ // sizer measures uniformly instead of reading the stale
335
+ // pre-commit runs from the store.
336
+ textFormatRuns !== null && textFormatRuns !== void 0 ? textFormatRuns : null);
337
+ }
338
+ // Adds new column to table and cell to sheet
339
+ // User is adding a table column
340
+ // Add banded range too
341
+ onChangeTableColumn(sheetId, coords, value, adjacentTable, isRowExpansion, isColumnExpansion, convertCellToRange(coords));
342
+ // Add calculated column
343
+ // User is adding a computed column
344
+ onChangeCalculatedColumn(sheetId, coords, isAdjacentColumn
345
+ ? removeTableName(tokenizer(value), currentTable.title)
346
+ : value, currentTable);
277
347
  });
348
+ // Emit semantic command for collaboration layer
349
+ onCommand === null || onCommand === void 0 ? void 0 : onCommand(__assign(__assign({ command: "set-value", sheetId: sheetId, coords: coords, value: value, textFormatRuns: textFormatRuns, previousValue: previousValue, isDirty: isDirty }, (autoExpandTables ? {} : { autoExpandTables: autoExpandTables })), (autoCalculatedColumns ? {} : { autoCalculatedColumns: autoCalculatedColumns })));
278
350
  }, [
279
351
  locale,
280
352
  tables,
@@ -285,7 +357,10 @@ export var useOnChange = function (_a) {
285
357
  onChangeTableColumn,
286
358
  onChangeSheetData,
287
359
  onChangeTables,
360
+ onChangeCharts,
288
361
  enqueueCalculation,
362
+ enqueueGraphOperation,
363
+ getGraphNodes,
289
364
  createHistory,
290
365
  adjustRowHeight,
291
366
  getUserEnteredValue,
@@ -294,5 +369,12 @@ export var useOnChange = function (_a) {
294
369
  canEditCellRange,
295
370
  getDataValidationById,
296
371
  onCommand,
372
+ generatedNames,
373
+ batchHistory,
374
+ onRequestCalculate,
375
+ autoExpandTables,
376
+ autoCalculatedColumns,
297
377
  ]);
378
+ selfRef.current = onChange;
379
+ return onChange;
298
380
  };
@@ -3,7 +3,7 @@ import { type GridRange, type SelectionArea } from "@rowsncolumns/grid";
3
3
  import type { SpreadsheetTheme } from "@rowsncolumns/spreadsheet";
4
4
  import type { BandedRange, TableView } from "@rowsncolumns/spreadsheet";
5
5
  import { type CellData, type CellFormat, type SelectionAttributes } from "@rowsncolumns/spreadsheet";
6
- import type { CellXfs, SharedStringValue, SharedStrings } from "../types";
6
+ import type { CellXfs, SharedStrings, SharedStringValue } from "../types";
7
7
  import type { useSheetProperties } from "./use-sheet-properties";
8
8
  /**
9
9
  * Excel/Sheets copy a multi-area selection only when every area spans the same
@@ -1 +1 @@
1
- {"version":3,"file":"use-on-copy.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-copy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-on-copy.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-copy.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { __assign, __read, __spreadArray, __values } from "tslib";
2
2
  import { areaInsideArea, cellIdentifier, } from "@rowsncolumns/grid";
3
- import { getBandedCells, getStringifiedColor, } from "@rowsncolumns/spreadsheet";
4
- import { cellToAddress, getStyleId, getCellUserEnteredValue, getExtendedValueFormula, isNil, iterateCellsInRange, } from "@rowsncolumns/utils";
3
+ import { getBandedCells, getStringifiedColor, MULTIPLE_SELECTIONS_ERROR, } from "@rowsncolumns/spreadsheet";
4
+ import { cellToAddress, getCellUserEnteredValue, getExtendedValueFormula, getStyleId, isNil, iterateCellsInRange, } from "@rowsncolumns/utils";
5
5
  import { useCallback, useMemo } from "react";
6
6
  import { useShowError } from "../atoms/error-state.atom";
7
7
  import { isStyleReference } from "../sheet-cell";
@@ -13,7 +13,6 @@ var escapeHtmlAttribute = function (value) {
13
13
  .replace(/</g, "&lt;")
14
14
  .replace(/>/g, "&gt;");
15
15
  };
16
- var MULTIPLE_SELECTIONS_ERROR = "This action won't work on multiple selections.";
17
16
  /**
18
17
  * Excel/Sheets copy a multi-area selection only when every area spans the same
19
18
  * rows (areas sit side by side, left to right) or the same columns (areas stack,
@@ -0,0 +1,17 @@
1
+ import type { CellData, CustomTableStyle, Sheet } from "@rowsncolumns/spreadsheet";
2
+ import type { OnCommand } from "../commands";
3
+ import type { UseSpreadsheetProps } from "./use-spreadsheet-state";
4
+ import type { SpreadsheetPatch } from "./use-undo-redo";
5
+ type UseOnCreateCustomTableStyleProps<T extends CellData, S extends Sheet> = {
6
+ onChangeCustomTableStyles: UseSpreadsheetProps<T, S>["onChangeCustomTableStyles"];
7
+ createHistory(): (patches: SpreadsheetPatch) => void;
8
+ onCommand?: OnCommand;
9
+ };
10
+ /**
11
+ * Excel's New Table Style (#668 T-103): the style is a workbook-level facet — persisted with the
12
+ * document, one undo step, and the gallery lists it on reload. A style with the same name replaces
13
+ * the earlier one (Excel's Modify Table Style).
14
+ */
15
+ export declare const useOnCreateCustomTableStyle: <T extends CellData, S extends Sheet>({ onChangeCustomTableStyles, createHistory, onCommand, }: UseOnCreateCustomTableStyleProps<T, S>) => (style: CustomTableStyle) => void;
16
+ export {};
17
+ //# sourceMappingURL=use-on-create-custom-table-style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-on-create-custom-table-style.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-create-custom-table-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAInF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,KAAK,gCAAgC,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IAC3E,yBAAyB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAClF,aAAa,IAAI,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACrD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,0DAI9E,gCAAgC,CAAC,CAAC,EAAE,CAAC,CAAC,aAE7B,gBAAgB,SAqB3B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { __read } from "tslib";
2
+ import { produceWithPatches } from "immer";
3
+ import { useCallback } from "react";
4
+ /**
5
+ * Excel's New Table Style (#668 T-103): the style is a workbook-level facet — persisted with the
6
+ * document, one undo step, and the gallery lists it on reload. A style with the same name replaces
7
+ * the earlier one (Excel's Modify Table Style).
8
+ */
9
+ export var useOnCreateCustomTableStyle = function (_a) {
10
+ var onChangeCustomTableStyles = _a.onChangeCustomTableStyles, createHistory = _a.createHistory, onCommand = _a.onCommand;
11
+ return useCallback(function (style) {
12
+ var saveHistory = createHistory();
13
+ onChangeCustomTableStyles === null || onChangeCustomTableStyles === void 0 ? void 0 : onChangeCustomTableStyles(function (prevStyles) {
14
+ var _a = __read(produceWithPatches(prevStyles !== null && prevStyles !== void 0 ? prevStyles : [], function (draft) {
15
+ var index = draft.findIndex(function (s) { return s.name === style.name; });
16
+ if (index === -1) {
17
+ draft.push(style);
18
+ }
19
+ else {
20
+ draft[index] = style;
21
+ }
22
+ }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
23
+ saveHistory({ customTableStyles: { patches: patches, inversePatches: inversePatches } });
24
+ return nextState;
25
+ });
26
+ onCommand === null || onCommand === void 0 ? void 0 : onCommand({ command: "create-table-style", style: style });
27
+ }, [createHistory, onChangeCustomTableStyles, onCommand]);
28
+ };
@@ -1,13 +1,15 @@
1
- import type { CellData, NamedRange } from "@rowsncolumns/spreadsheet";
1
+ import type { CellData, NamedRange, TableView } from "@rowsncolumns/spreadsheet";
2
2
  import type { OnCommand } from "../commands";
3
3
  import type { useCalculation } from "./use-calculation";
4
4
  import type { UseSpreadsheetProps } from "./use-spreadsheet-state";
5
5
  import type { SpreadsheetPatch } from "./use-undo-redo";
6
6
  export type UseOnCreateNamedRangeProps<T extends CellData> = {
7
+ /** The workbook's tables — a defined name may not be spelled like one (Excel's single namespace). */
8
+ tables?: TableView[];
7
9
  enqueueCalculation: ReturnType<typeof useCalculation>["enqueueCalculation"];
8
10
  onChangeNamedRanges: UseSpreadsheetProps<T>["onChangeNamedRanges"];
9
11
  createHistory(): (patches: SpreadsheetPatch) => void;
10
12
  onCommand?: OnCommand;
11
13
  };
12
- export declare const useOnCreateNamedRange: <T extends CellData>({ enqueueCalculation, createHistory, onChangeNamedRanges, onCommand, }: UseOnCreateNamedRangeProps<T>) => (sheetId: number, namedRange: NamedRange) => void;
14
+ export declare const useOnCreateNamedRange: <T extends CellData>({ tables, enqueueCalculation, createHistory, onChangeNamedRanges, onCommand, }: UseOnCreateNamedRangeProps<T>) => (sheetId: number, namedRange: NamedRange) => void;
13
15
  //# sourceMappingURL=use-on-create-named-range.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-on-create-named-range.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-create-named-range.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC3D,kBAAkB,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5E,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACnE,aAAa,IAAI,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACrD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,QAAQ,EAAE,wEAKvD,0BAA0B,CAAC,CAAC,CAAC,eAGlB,MAAM,cAAc,UAAU,SA+B3C,CAAC"}
1
+ {"version":3,"file":"use-on-create-named-range.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-create-named-range.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EACV,MAAM,2BAA2B,CAAC;AAKnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC3D,qGAAqG;IACrG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,kBAAkB,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5E,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACnE,aAAa,IAAI,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACrD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,QAAQ,EAAE,gFAMvD,0BAA0B,CAAC,CAAC,CAAC,eAIlB,MAAM,cAAc,UAAU,SAyC3C,CAAC"}
@@ -1,10 +1,18 @@
1
+ import { validateDefinedNameAgainstTables } from "@rowsncolumns/utils";
1
2
  import { useCallback } from "react";
3
+ import { useShowError } from "../atoms/error-state.atom";
2
4
  import { createNamedRange } from "../interface/named-range-operations";
3
5
  import { useCanEditSheet } from "./use-can-edit-cellrange";
4
6
  export var useOnCreateNamedRange = function (_a) {
5
- var enqueueCalculation = _a.enqueueCalculation, createHistory = _a.createHistory, onChangeNamedRanges = _a.onChangeNamedRanges, onCommand = _a.onCommand;
7
+ var tables = _a.tables, enqueueCalculation = _a.enqueueCalculation, createHistory = _a.createHistory, onChangeNamedRanges = _a.onChangeNamedRanges, onCommand = _a.onCommand;
6
8
  var canEditSheet = useCanEditSheet();
9
+ var showError = useShowError();
7
10
  return useCallback(function (sheetId, namedRange) {
11
+ var nameError = validateDefinedNameAgainstTables(namedRange.name, tables === null || tables === void 0 ? void 0 : tables.map(function (table) { return table.title; }));
12
+ if (nameError) {
13
+ showError({ title: "Error", message: nameError });
14
+ return;
15
+ }
8
16
  // Protection — defer to host policy via canEditSheet. Sheet-
9
17
  // scoped names belong to the sheet identified by `sheetId`;
10
18
  // workbook-scoped names are typically authored from a sheet
@@ -24,10 +32,12 @@ export var useOnCreateNamedRange = function (_a) {
24
32
  namedRange: namedRange,
25
33
  });
26
34
  }, [
35
+ tables,
27
36
  onChangeNamedRanges,
28
37
  createHistory,
29
38
  enqueueCalculation,
30
39
  onCommand,
31
40
  canEditSheet,
41
+ showError,
32
42
  ]);
33
43
  };
@@ -25,6 +25,7 @@ export type UseOnDeleteCellsShiftLeftProps<T extends CellData, S extends Sheet>
25
25
  onChangeSheets: UseSpreadsheetProps<T, S>["onChangeSheets"];
26
26
  onChangeCitations?: UseSpreadsheetProps<T, S>["onChangeCitations"];
27
27
  onChangeTables?: UseSpreadsheetProps<T, S>["onChangeTables"];
28
+ onChangeCharts?: UseSpreadsheetProps<T, S>["onChangeCharts"];
28
29
  onCommand?: OnCommand;
29
30
  /** Current document facets, read by the Excel refusal guards (`getShiftCellsRefusal`). */
30
31
  sheetData?: SheetData<T>;
@@ -34,5 +35,5 @@ export type UseOnDeleteCellsShiftLeftProps<T extends CellData, S extends Sheet>
34
35
  getArrayRanges?: (sheetId: number) => GridRange[] | undefined;
35
36
  getSheetName?: (sheetId: number) => string;
36
37
  };
37
- export declare const useOnDeleteCellsShiftLeft: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeCitations, onChangeTables, onCommand, sheetData, sheets, tables, getArrayRanges, getSheetName, }: UseOnDeleteCellsShiftLeftProps<T, S>) => (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
38
+ export declare const useOnDeleteCellsShiftLeft: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeCitations, onChangeTables, onChangeCharts, onCommand, sheetData, sheets, tables, getArrayRanges, getSheetName, }: UseOnDeleteCellsShiftLeftProps<T, S>) => (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
38
39
  //# sourceMappingURL=use-on-delete-cells-shift-left.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-on-delete-cells-shift-left.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-delete-cells-shift-left.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,MAAM,8BAA8B,CACxC,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,KAAK,IACb;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,aAAa,EAAE,MAAM,aAAa,CAAC;IACnC,aAAa,IAAI,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACtD,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,aAAa,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC;IAClE,kBAAkB,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5E,sBAAsB,CAAC,EAAE,UAAU,CACjC,OAAO,cAAc,CACtB,CAAC,wBAAwB,CAAC,CAAC;IAC5B,qBAAqB,EAAE,UAAU,CAC/B,OAAO,cAAc,CACtB,CAAC,uBAAuB,CAAC,CAAC;IAC3B,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAClE,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnE,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IACb,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,yFAAyF;IACzF,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,GAAG,SAAS,CAAC;IAC9D,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,oVAuB5E,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,eAMxB,MAAM,cACH,aAAa,cACb,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAsFrD,CAAC"}
1
+ {"version":3,"file":"use-on-delete-cells-shift-left.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-delete-cells-shift-left.ts"],"names":[],"mappings":"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"}