@rowsncolumns/spreadsheet-state 29.0.0 → 29.1.1

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 (603) hide show
  1. package/dist/cjs/api/anchored-objects.d.ts +131 -7
  2. package/dist/cjs/api/anchored-objects.d.ts.map +1 -1
  3. package/dist/cjs/api/anchored-objects.js +488 -43
  4. package/dist/cjs/api/copy-paste.d.ts +1 -2
  5. package/dist/cjs/api/copy-paste.d.ts.map +1 -1
  6. package/dist/cjs/api/copy-paste.js +1 -3
  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/paint-format.d.ts +22 -1
  14. package/dist/cjs/api/paint-format.d.ts.map +1 -1
  15. package/dist/cjs/api/paint-format.js +57 -1
  16. package/dist/cjs/api/sort.d.ts +23 -1
  17. package/dist/cjs/api/sort.d.ts.map +1 -1
  18. package/dist/cjs/api/sort.js +52 -6
  19. package/dist/cjs/api/structural-guards.d.ts +57 -0
  20. package/dist/cjs/api/structural-guards.d.ts.map +1 -1
  21. package/dist/cjs/api/structural-guards.js +93 -1
  22. package/dist/cjs/api/structural-table-refs.d.ts +58 -3
  23. package/dist/cjs/api/structural-table-refs.d.ts.map +1 -1
  24. package/dist/cjs/api/structural-table-refs.js +177 -16
  25. package/dist/cjs/api/table.d.ts +26 -2
  26. package/dist/cjs/api/table.d.ts.map +1 -1
  27. package/dist/cjs/api/table.js +93 -60
  28. package/dist/cjs/api/validation.d.ts.map +1 -1
  29. package/dist/cjs/api/validation.js +53 -8
  30. package/dist/cjs/atoms/creating-table.atom.d.ts +22 -0
  31. package/dist/cjs/atoms/creating-table.atom.d.ts.map +1 -0
  32. package/dist/cjs/atoms/creating-table.atom.js +4 -0
  33. package/dist/cjs/atoms/dialog-state.atom.d.ts +8 -0
  34. package/dist/cjs/atoms/dialog-state.atom.d.ts.map +1 -1
  35. package/dist/cjs/atoms/dialog-state.atom.js +28 -0
  36. package/dist/cjs/atoms/editing-slicer.atom.d.ts +9 -0
  37. package/dist/cjs/atoms/editing-slicer.atom.d.ts.map +1 -0
  38. package/dist/cjs/atoms/editing-slicer.atom.js +6 -0
  39. package/dist/cjs/atoms/index.d.ts +4 -0
  40. package/dist/cjs/atoms/index.d.ts.map +1 -1
  41. package/dist/cjs/atoms/index.js +4 -0
  42. package/dist/cjs/atoms/inserting-slicer.atom.d.ts +8 -0
  43. package/dist/cjs/atoms/inserting-slicer.atom.d.ts.map +1 -0
  44. package/dist/cjs/atoms/inserting-slicer.atom.js +5 -0
  45. package/dist/cjs/atoms/resizing-table.atom.d.ts +8 -0
  46. package/dist/cjs/atoms/resizing-table.atom.d.ts.map +1 -0
  47. package/dist/cjs/atoms/resizing-table.atom.js +5 -0
  48. package/dist/cjs/commands.d.ts +129 -2
  49. package/dist/cjs/commands.d.ts.map +1 -1
  50. package/dist/cjs/components/editors/embed-editor.d.ts +4 -2
  51. package/dist/cjs/components/editors/embed-editor.d.ts.map +1 -1
  52. package/dist/cjs/components/editors/embed-editor.js +38 -9
  53. package/dist/cjs/components/editors/slicer-editor.d.ts +15 -0
  54. package/dist/cjs/components/editors/slicer-editor.d.ts.map +1 -0
  55. package/dist/cjs/components/editors/slicer-editor.js +87 -0
  56. package/dist/cjs/components/editors/table-editor.d.ts +58 -2
  57. package/dist/cjs/components/editors/table-editor.d.ts.map +1 -1
  58. package/dist/cjs/components/editors/table-editor.js +261 -20
  59. package/dist/cjs/components/index.d.ts +1 -0
  60. package/dist/cjs/components/index.d.ts.map +1 -1
  61. package/dist/cjs/components/index.js +1 -0
  62. package/dist/cjs/constants.d.ts +9 -1
  63. package/dist/cjs/constants.d.ts.map +1 -1
  64. package/dist/cjs/constants.js +12 -0
  65. package/dist/cjs/generated-names.d.ts +13 -3
  66. package/dist/cjs/generated-names.d.ts.map +1 -1
  67. package/dist/cjs/generated-names.js +3 -1
  68. package/dist/cjs/helpers.d.ts +5 -0
  69. package/dist/cjs/helpers.d.ts.map +1 -1
  70. package/dist/cjs/helpers.js +10 -1
  71. package/dist/cjs/hooks/use-on-change-batch.d.ts +19 -2
  72. package/dist/cjs/hooks/use-on-change-batch.d.ts.map +1 -1
  73. package/dist/cjs/hooks/use-on-change-batch.js +43 -35
  74. package/dist/cjs/hooks/use-on-change-calculated-column.d.ts +10 -1
  75. package/dist/cjs/hooks/use-on-change-calculated-column.d.ts.map +1 -1
  76. package/dist/cjs/hooks/use-on-change-calculated-column.js +17 -5
  77. package/dist/cjs/hooks/use-on-change-table-column.d.ts +6 -1
  78. package/dist/cjs/hooks/use-on-change-table-column.d.ts.map +1 -1
  79. package/dist/cjs/hooks/use-on-change-table-column.js +17 -5
  80. package/dist/cjs/hooks/use-on-change.d.ts +36 -3
  81. package/dist/cjs/hooks/use-on-change.d.ts.map +1 -1
  82. package/dist/cjs/hooks/use-on-change.js +218 -136
  83. package/dist/cjs/hooks/use-on-create-custom-table-style.d.ts +17 -0
  84. package/dist/cjs/hooks/use-on-create-custom-table-style.d.ts.map +1 -0
  85. package/dist/cjs/hooks/use-on-create-custom-table-style.js +28 -0
  86. package/dist/cjs/hooks/use-on-create-named-range.d.ts +4 -2
  87. package/dist/cjs/hooks/use-on-create-named-range.d.ts.map +1 -1
  88. package/dist/cjs/hooks/use-on-create-named-range.js +11 -1
  89. package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts +2 -1
  90. package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
  91. package/dist/cjs/hooks/use-on-delete-cells-shift-left.js +3 -1
  92. package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts +2 -1
  93. package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
  94. package/dist/cjs/hooks/use-on-delete-cells-shift-up.js +3 -1
  95. package/dist/cjs/hooks/use-on-delete-column.d.ts +2 -1
  96. package/dist/cjs/hooks/use-on-delete-column.d.ts.map +1 -1
  97. package/dist/cjs/hooks/use-on-delete-column.js +3 -1
  98. package/dist/cjs/hooks/use-on-delete-row.d.ts +2 -1
  99. package/dist/cjs/hooks/use-on-delete-row.d.ts.map +1 -1
  100. package/dist/cjs/hooks/use-on-delete-row.js +3 -1
  101. package/dist/cjs/hooks/use-on-delete-sheet.d.ts +10 -1
  102. package/dist/cjs/hooks/use-on-delete-sheet.d.ts.map +1 -1
  103. package/dist/cjs/hooks/use-on-delete-sheet.js +19 -1
  104. package/dist/cjs/hooks/use-on-delete-table-row.d.ts +4 -1
  105. package/dist/cjs/hooks/use-on-delete-table-row.d.ts.map +1 -1
  106. package/dist/cjs/hooks/use-on-delete-table-row.js +19 -1
  107. package/dist/cjs/hooks/use-on-delete.d.ts +5 -2
  108. package/dist/cjs/hooks/use-on-delete.d.ts.map +1 -1
  109. package/dist/cjs/hooks/use-on-delete.js +5 -1
  110. package/dist/cjs/hooks/use-on-embeds.d.ts +7 -4
  111. package/dist/cjs/hooks/use-on-embeds.d.ts.map +1 -1
  112. package/dist/cjs/hooks/use-on-embeds.js +26 -24
  113. package/dist/cjs/hooks/use-on-fill.d.ts +17 -2
  114. package/dist/cjs/hooks/use-on-fill.d.ts.map +1 -1
  115. package/dist/cjs/hooks/use-on-fill.js +29 -15
  116. package/dist/cjs/hooks/use-on-filter-table.d.ts.map +1 -1
  117. package/dist/cjs/hooks/use-on-filter-table.js +209 -103
  118. package/dist/cjs/hooks/use-on-import-excel.d.ts +2 -1
  119. package/dist/cjs/hooks/use-on-import-excel.d.ts.map +1 -1
  120. package/dist/cjs/hooks/use-on-import-excel.js +22 -19
  121. package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts +2 -1
  122. package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
  123. package/dist/cjs/hooks/use-on-insert-cells-shift-down.js +3 -1
  124. package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts +2 -1
  125. package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
  126. package/dist/cjs/hooks/use-on-insert-cells-shift-right.js +3 -1
  127. package/dist/cjs/hooks/use-on-insert-column.d.ts +2 -1
  128. package/dist/cjs/hooks/use-on-insert-column.d.ts.map +1 -1
  129. package/dist/cjs/hooks/use-on-insert-column.js +3 -1
  130. package/dist/cjs/hooks/use-on-insert-row.d.ts +2 -1
  131. package/dist/cjs/hooks/use-on-insert-row.d.ts.map +1 -1
  132. package/dist/cjs/hooks/use-on-insert-row.js +3 -1
  133. package/dist/cjs/hooks/use-on-insert-table-row.d.ts +5 -2
  134. package/dist/cjs/hooks/use-on-insert-table-row.d.ts.map +1 -1
  135. package/dist/cjs/hooks/use-on-insert-table-row.js +19 -1
  136. package/dist/cjs/hooks/use-on-merge-unmerge-cells.d.ts +3 -2
  137. package/dist/cjs/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
  138. package/dist/cjs/hooks/use-on-merge-unmerge-cells.js +14 -1
  139. package/dist/cjs/hooks/use-on-move-columns.d.ts +3 -1
  140. package/dist/cjs/hooks/use-on-move-columns.d.ts.map +1 -1
  141. package/dist/cjs/hooks/use-on-move-columns.js +14 -1
  142. package/dist/cjs/hooks/use-on-move-rows.d.ts +3 -1
  143. package/dist/cjs/hooks/use-on-move-rows.d.ts.map +1 -1
  144. package/dist/cjs/hooks/use-on-move-rows.js +14 -1
  145. package/dist/cjs/hooks/use-on-move-selection.d.ts +3 -1
  146. package/dist/cjs/hooks/use-on-move-selection.d.ts.map +1 -1
  147. package/dist/cjs/hooks/use-on-move-selection.js +88 -25
  148. package/dist/cjs/hooks/use-on-paste.d.ts +22 -1
  149. package/dist/cjs/hooks/use-on-paste.d.ts.map +1 -1
  150. package/dist/cjs/hooks/use-on-paste.js +993 -776
  151. package/dist/cjs/hooks/use-on-remove-duplicates.d.ts +5 -2
  152. package/dist/cjs/hooks/use-on-remove-duplicates.d.ts.map +1 -1
  153. package/dist/cjs/hooks/use-on-remove-duplicates.js +5 -1
  154. package/dist/cjs/hooks/use-on-request-create-table.d.ts +13 -0
  155. package/dist/cjs/hooks/use-on-request-create-table.d.ts.map +1 -0
  156. package/dist/cjs/hooks/use-on-request-create-table.js +44 -0
  157. package/dist/cjs/hooks/use-on-request-insert-slicer.d.ts +7 -0
  158. package/dist/cjs/hooks/use-on-request-insert-slicer.d.ts.map +1 -0
  159. package/dist/cjs/hooks/use-on-request-insert-slicer.js +15 -0
  160. package/dist/cjs/hooks/use-on-request-resize-table.d.ts +7 -0
  161. package/dist/cjs/hooks/use-on-request-resize-table.d.ts.map +1 -0
  162. package/dist/cjs/hooks/use-on-request-resize-table.js +15 -0
  163. package/dist/cjs/hooks/use-on-resize-table.d.ts +5 -1
  164. package/dist/cjs/hooks/use-on-resize-table.d.ts.map +1 -1
  165. package/dist/cjs/hooks/use-on-resize-table.js +110 -33
  166. package/dist/cjs/hooks/use-on-sort-column.d.ts +28 -3
  167. package/dist/cjs/hooks/use-on-sort-column.d.ts.map +1 -1
  168. package/dist/cjs/hooks/use-on-sort-column.js +136 -90
  169. package/dist/cjs/hooks/use-on-sort-range.d.ts +26 -3
  170. package/dist/cjs/hooks/use-on-sort-range.d.ts.map +1 -1
  171. package/dist/cjs/hooks/use-on-sort-range.js +113 -67
  172. package/dist/cjs/hooks/use-on-sort-table.d.ts +18 -1
  173. package/dist/cjs/hooks/use-on-sort-table.d.ts.map +1 -1
  174. package/dist/cjs/hooks/use-on-sort-table.js +128 -98
  175. package/dist/cjs/hooks/use-on-subtotal.d.ts +10 -3
  176. package/dist/cjs/hooks/use-on-subtotal.d.ts.map +1 -1
  177. package/dist/cjs/hooks/use-on-subtotal.js +13 -9
  178. package/dist/cjs/hooks/use-on-table.d.ts +39 -7
  179. package/dist/cjs/hooks/use-on-table.d.ts.map +1 -1
  180. package/dist/cjs/hooks/use-on-table.js +257 -49
  181. package/dist/cjs/hooks/use-on-undo-calculated-column.d.ts +23 -0
  182. package/dist/cjs/hooks/use-on-undo-calculated-column.d.ts.map +1 -0
  183. package/dist/cjs/hooks/use-on-undo-calculated-column.js +70 -0
  184. package/dist/cjs/hooks/use-on-undo-table-auto-expansion.d.ts +28 -0
  185. package/dist/cjs/hooks/use-on-undo-table-auto-expansion.d.ts.map +1 -0
  186. package/dist/cjs/hooks/use-on-undo-table-auto-expansion.js +96 -0
  187. package/dist/cjs/hooks/use-on-update-named-range.d.ts +4 -2
  188. package/dist/cjs/hooks/use-on-update-named-range.d.ts.map +1 -1
  189. package/dist/cjs/hooks/use-on-update-named-range.js +13 -1
  190. package/dist/cjs/hooks/use-sheet-properties.d.ts +1 -0
  191. package/dist/cjs/hooks/use-sheet-properties.d.ts.map +1 -1
  192. package/dist/cjs/hooks/use-sheet-properties.js +54 -34
  193. package/dist/cjs/hooks/use-slicers.d.ts +2 -2
  194. package/dist/cjs/hooks/use-slicers.d.ts.map +1 -1
  195. package/dist/cjs/hooks/use-slicers.js +17 -26
  196. package/dist/cjs/hooks/use-sparkline-groups.d.ts +50 -0
  197. package/dist/cjs/hooks/use-sparkline-groups.d.ts.map +1 -0
  198. package/dist/cjs/hooks/use-sparkline-groups.js +192 -0
  199. package/dist/cjs/hooks/use-spreadsheet-state.d.ts +56 -10
  200. package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
  201. package/dist/cjs/hooks/use-spreadsheet-state.js +323 -100
  202. package/dist/cjs/hooks/use-structured-reference.d.ts.map +1 -1
  203. package/dist/cjs/hooks/use-structured-reference.js +17 -0
  204. package/dist/cjs/hooks/use-undo-redo-actions.d.ts +2 -1
  205. package/dist/cjs/hooks/use-undo-redo-actions.d.ts.map +1 -1
  206. package/dist/cjs/hooks/use-undo-redo-actions.js +10 -2
  207. package/dist/cjs/hooks/use-undo-redo.d.ts +12 -0
  208. package/dist/cjs/hooks/use-undo-redo.d.ts.map +1 -1
  209. package/dist/cjs/hooks/use-undo-redo.js +169 -10
  210. package/dist/cjs/hooks/utils/sort-rows.d.ts.map +1 -1
  211. package/dist/cjs/hooks/utils/sort-rows.js +4 -3
  212. package/dist/cjs/index.d.ts +7 -0
  213. package/dist/cjs/index.d.ts.map +1 -1
  214. package/dist/cjs/index.js +8 -0
  215. package/dist/cjs/interface/apply-fill.d.ts +26 -3
  216. package/dist/cjs/interface/apply-fill.d.ts.map +1 -1
  217. package/dist/cjs/interface/apply-fill.js +207 -98
  218. package/dist/cjs/interface/change-batch.d.ts +1 -1
  219. package/dist/cjs/interface/change-batch.d.ts.map +1 -1
  220. package/dist/cjs/interface/change-batch.js +112 -15
  221. package/dist/cjs/interface/change-calculated-column.d.ts +6 -2
  222. package/dist/cjs/interface/change-calculated-column.d.ts.map +1 -1
  223. package/dist/cjs/interface/change-calculated-column.js +87 -17
  224. package/dist/cjs/interface/change-table-column.d.ts +81 -7
  225. package/dist/cjs/interface/change-table-column.d.ts.map +1 -1
  226. package/dist/cjs/interface/change-table-column.js +336 -76
  227. package/dist/cjs/interface/create-table.d.ts +15 -3
  228. package/dist/cjs/interface/create-table.d.ts.map +1 -1
  229. package/dist/cjs/interface/create-table.js +100 -25
  230. package/dist/cjs/interface/delete-cells-shift-left.d.ts +1 -1
  231. package/dist/cjs/interface/delete-cells-shift-left.d.ts.map +1 -1
  232. package/dist/cjs/interface/delete-cells-shift-left.js +17 -2
  233. package/dist/cjs/interface/delete-cells-shift-up.d.ts +1 -1
  234. package/dist/cjs/interface/delete-cells-shift-up.d.ts.map +1 -1
  235. package/dist/cjs/interface/delete-cells-shift-up.js +17 -2
  236. package/dist/cjs/interface/delete-cells.d.ts +1 -1
  237. package/dist/cjs/interface/delete-cells.d.ts.map +1 -1
  238. package/dist/cjs/interface/delete-cells.js +106 -44
  239. package/dist/cjs/interface/delete-column.d.ts +1 -1
  240. package/dist/cjs/interface/delete-column.d.ts.map +1 -1
  241. package/dist/cjs/interface/delete-column.js +16 -3
  242. package/dist/cjs/interface/delete-row.d.ts +1 -1
  243. package/dist/cjs/interface/delete-row.d.ts.map +1 -1
  244. package/dist/cjs/interface/delete-row.js +230 -19
  245. package/dist/cjs/interface/delete-sheet.d.ts +2 -2
  246. package/dist/cjs/interface/delete-sheet.d.ts.map +1 -1
  247. package/dist/cjs/interface/delete-sheet.js +149 -2
  248. package/dist/cjs/interface/delete-table-column.d.ts +1 -1
  249. package/dist/cjs/interface/delete-table-column.d.ts.map +1 -1
  250. package/dist/cjs/interface/delete-table-column.js +11 -1
  251. package/dist/cjs/interface/delete-table-row.d.ts +1 -1
  252. package/dist/cjs/interface/delete-table-row.d.ts.map +1 -1
  253. package/dist/cjs/interface/delete-table-row.js +361 -275
  254. package/dist/cjs/interface/duplicate-sheet.d.ts.map +1 -1
  255. package/dist/cjs/interface/duplicate-sheet.js +83 -31
  256. package/dist/cjs/interface/embeds.d.ts +10 -1
  257. package/dist/cjs/interface/embeds.d.ts.map +1 -1
  258. package/dist/cjs/interface/embeds.js +120 -6
  259. package/dist/cjs/interface/insert-cells-shift-down.d.ts +1 -1
  260. package/dist/cjs/interface/insert-cells-shift-down.d.ts.map +1 -1
  261. package/dist/cjs/interface/insert-cells-shift-down.js +11 -1
  262. package/dist/cjs/interface/insert-cells-shift-right.d.ts +1 -1
  263. package/dist/cjs/interface/insert-cells-shift-right.d.ts.map +1 -1
  264. package/dist/cjs/interface/insert-cells-shift-right.js +11 -1
  265. package/dist/cjs/interface/insert-column.d.ts +2 -2
  266. package/dist/cjs/interface/insert-column.d.ts.map +1 -1
  267. package/dist/cjs/interface/insert-column.js +68 -38
  268. package/dist/cjs/interface/insert-row.d.ts +1 -1
  269. package/dist/cjs/interface/insert-row.d.ts.map +1 -1
  270. package/dist/cjs/interface/insert-row.js +10 -2
  271. package/dist/cjs/interface/insert-table-row.d.ts +2 -1
  272. package/dist/cjs/interface/insert-table-row.d.ts.map +1 -1
  273. package/dist/cjs/interface/insert-table-row.js +70 -19
  274. package/dist/cjs/interface/remove-duplicates.d.ts +1 -1
  275. package/dist/cjs/interface/remove-duplicates.d.ts.map +1 -1
  276. package/dist/cjs/interface/remove-duplicates.js +46 -6
  277. package/dist/cjs/interface/remove-table.d.ts +1 -1
  278. package/dist/cjs/interface/remove-table.d.ts.map +1 -1
  279. package/dist/cjs/interface/remove-table.js +72 -16
  280. package/dist/cjs/interface/slicers.d.ts +12 -1
  281. package/dist/cjs/interface/slicers.d.ts.map +1 -1
  282. package/dist/cjs/interface/slicers.js +47 -2
  283. package/dist/cjs/interface/spreadsheet-interface.d.ts +1 -1
  284. package/dist/cjs/interface/spreadsheet-interface.d.ts.map +1 -1
  285. package/dist/cjs/interface/spreadsheet-interface.js +64 -1
  286. package/dist/cjs/interface/table-totalrow.d.ts +13 -1
  287. package/dist/cjs/interface/table-totalrow.d.ts.map +1 -1
  288. package/dist/cjs/interface/table-totalrow.js +107 -73
  289. package/dist/cjs/interface/table-utils.d.ts +59 -6
  290. package/dist/cjs/interface/table-utils.d.ts.map +1 -1
  291. package/dist/cjs/interface/table-utils.js +211 -15
  292. package/dist/cjs/interface/update-table.d.ts +16 -1
  293. package/dist/cjs/interface/update-table.d.ts.map +1 -1
  294. package/dist/cjs/interface/update-table.js +190 -44
  295. package/dist/cjs/sheet-cell.d.ts.map +1 -1
  296. package/dist/cjs/test-setup.d.ts.map +1 -1
  297. package/dist/cjs/test-setup.js +6 -0
  298. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  299. package/dist/cjs/validation-schema/table.schema.d.ts +11 -0
  300. package/dist/cjs/validation-schema/table.schema.d.ts.map +1 -1
  301. package/dist/cjs/validation-schema/table.schema.js +20 -3
  302. package/dist/esm/api/anchored-objects.d.ts +131 -7
  303. package/dist/esm/api/anchored-objects.d.ts.map +1 -1
  304. package/dist/esm/api/anchored-objects.js +399 -15
  305. package/dist/esm/api/copy-paste.d.ts +1 -2
  306. package/dist/esm/api/copy-paste.d.ts.map +1 -1
  307. package/dist/esm/api/copy-paste.js +1 -3
  308. package/dist/esm/api/filter.d.ts +15 -1
  309. package/dist/esm/api/filter.d.ts.map +1 -1
  310. package/dist/esm/api/filter.js +28 -0
  311. package/dist/esm/api/formula.d.ts +63 -0
  312. package/dist/esm/api/formula.d.ts.map +1 -1
  313. package/dist/esm/api/formula.js +235 -8
  314. package/dist/esm/api/paint-format.d.ts +22 -1
  315. package/dist/esm/api/paint-format.d.ts.map +1 -1
  316. package/dist/esm/api/paint-format.js +44 -1
  317. package/dist/esm/api/sort.d.ts +23 -1
  318. package/dist/esm/api/sort.d.ts.map +1 -1
  319. package/dist/esm/api/sort.js +45 -6
  320. package/dist/esm/api/structural-guards.d.ts +57 -0
  321. package/dist/esm/api/structural-guards.d.ts.map +1 -1
  322. package/dist/esm/api/structural-guards.js +85 -0
  323. package/dist/esm/api/structural-table-refs.d.ts +58 -3
  324. package/dist/esm/api/structural-table-refs.d.ts.map +1 -1
  325. package/dist/esm/api/structural-table-refs.js +126 -6
  326. package/dist/esm/api/table.d.ts +26 -2
  327. package/dist/esm/api/table.d.ts.map +1 -1
  328. package/dist/esm/api/table.js +70 -48
  329. package/dist/esm/api/validation.d.ts.map +1 -1
  330. package/dist/esm/api/validation.js +53 -8
  331. package/dist/esm/atoms/creating-table.atom.d.ts +22 -0
  332. package/dist/esm/atoms/creating-table.atom.d.ts.map +1 -0
  333. package/dist/esm/atoms/creating-table.atom.js +4 -0
  334. package/dist/esm/atoms/dialog-state.atom.d.ts +8 -0
  335. package/dist/esm/atoms/dialog-state.atom.d.ts.map +1 -1
  336. package/dist/esm/atoms/dialog-state.atom.js +12 -0
  337. package/dist/esm/atoms/editing-slicer.atom.d.ts +9 -0
  338. package/dist/esm/atoms/editing-slicer.atom.d.ts.map +1 -0
  339. package/dist/esm/atoms/editing-slicer.atom.js +6 -0
  340. package/dist/esm/atoms/index.d.ts +4 -0
  341. package/dist/esm/atoms/index.d.ts.map +1 -1
  342. package/dist/esm/atoms/index.js +4 -0
  343. package/dist/esm/atoms/inserting-slicer.atom.d.ts +8 -0
  344. package/dist/esm/atoms/inserting-slicer.atom.d.ts.map +1 -0
  345. package/dist/esm/atoms/inserting-slicer.atom.js +5 -0
  346. package/dist/esm/atoms/resizing-table.atom.d.ts +8 -0
  347. package/dist/esm/atoms/resizing-table.atom.d.ts.map +1 -0
  348. package/dist/esm/atoms/resizing-table.atom.js +5 -0
  349. package/dist/esm/commands.d.ts +129 -2
  350. package/dist/esm/commands.d.ts.map +1 -1
  351. package/dist/esm/components/editors/embed-editor.d.ts +4 -2
  352. package/dist/esm/components/editors/embed-editor.d.ts.map +1 -1
  353. package/dist/esm/components/editors/embed-editor.js +40 -6
  354. package/dist/esm/components/editors/slicer-editor.d.ts +15 -0
  355. package/dist/esm/components/editors/slicer-editor.d.ts.map +1 -0
  356. package/dist/esm/components/editors/slicer-editor.js +85 -0
  357. package/dist/esm/components/editors/table-editor.d.ts +58 -2
  358. package/dist/esm/components/editors/table-editor.d.ts.map +1 -1
  359. package/dist/esm/components/editors/table-editor.js +243 -19
  360. package/dist/esm/components/index.d.ts +1 -0
  361. package/dist/esm/components/index.d.ts.map +1 -1
  362. package/dist/esm/components/index.js +1 -0
  363. package/dist/esm/constants.d.ts +9 -1
  364. package/dist/esm/constants.d.ts.map +1 -1
  365. package/dist/esm/constants.js +12 -0
  366. package/dist/esm/generated-names.d.ts +13 -3
  367. package/dist/esm/generated-names.d.ts.map +1 -1
  368. package/dist/esm/generated-names.js +3 -1
  369. package/dist/esm/helpers.d.ts +5 -0
  370. package/dist/esm/helpers.d.ts.map +1 -1
  371. package/dist/esm/helpers.js +7 -1
  372. package/dist/esm/hooks/use-on-change-batch.d.ts +19 -2
  373. package/dist/esm/hooks/use-on-change-batch.d.ts.map +1 -1
  374. package/dist/esm/hooks/use-on-change-batch.js +19 -3
  375. package/dist/esm/hooks/use-on-change-calculated-column.d.ts +10 -1
  376. package/dist/esm/hooks/use-on-change-calculated-column.d.ts.map +1 -1
  377. package/dist/esm/hooks/use-on-change-calculated-column.js +17 -5
  378. package/dist/esm/hooks/use-on-change-table-column.d.ts +6 -1
  379. package/dist/esm/hooks/use-on-change-table-column.d.ts.map +1 -1
  380. package/dist/esm/hooks/use-on-change-table-column.js +17 -5
  381. package/dist/esm/hooks/use-on-change.d.ts +36 -3
  382. package/dist/esm/hooks/use-on-change.d.ts.map +1 -1
  383. package/dist/esm/hooks/use-on-change.js +214 -124
  384. package/dist/esm/hooks/use-on-create-custom-table-style.d.ts +17 -0
  385. package/dist/esm/hooks/use-on-create-custom-table-style.d.ts.map +1 -0
  386. package/dist/esm/hooks/use-on-create-custom-table-style.js +26 -0
  387. package/dist/esm/hooks/use-on-create-named-range.d.ts +4 -2
  388. package/dist/esm/hooks/use-on-create-named-range.d.ts.map +1 -1
  389. package/dist/esm/hooks/use-on-create-named-range.js +11 -1
  390. package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts +2 -1
  391. package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
  392. package/dist/esm/hooks/use-on-delete-cells-shift-left.js +3 -1
  393. package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts +2 -1
  394. package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
  395. package/dist/esm/hooks/use-on-delete-cells-shift-up.js +3 -1
  396. package/dist/esm/hooks/use-on-delete-column.d.ts +2 -1
  397. package/dist/esm/hooks/use-on-delete-column.d.ts.map +1 -1
  398. package/dist/esm/hooks/use-on-delete-column.js +3 -1
  399. package/dist/esm/hooks/use-on-delete-row.d.ts +2 -1
  400. package/dist/esm/hooks/use-on-delete-row.d.ts.map +1 -1
  401. package/dist/esm/hooks/use-on-delete-row.js +3 -1
  402. package/dist/esm/hooks/use-on-delete-sheet.d.ts +10 -1
  403. package/dist/esm/hooks/use-on-delete-sheet.d.ts.map +1 -1
  404. package/dist/esm/hooks/use-on-delete-sheet.js +19 -1
  405. package/dist/esm/hooks/use-on-delete-table-row.d.ts +4 -1
  406. package/dist/esm/hooks/use-on-delete-table-row.d.ts.map +1 -1
  407. package/dist/esm/hooks/use-on-delete-table-row.js +19 -1
  408. package/dist/esm/hooks/use-on-delete.d.ts +5 -2
  409. package/dist/esm/hooks/use-on-delete.d.ts.map +1 -1
  410. package/dist/esm/hooks/use-on-delete.js +5 -1
  411. package/dist/esm/hooks/use-on-embeds.d.ts +7 -4
  412. package/dist/esm/hooks/use-on-embeds.d.ts.map +1 -1
  413. package/dist/esm/hooks/use-on-embeds.js +23 -6
  414. package/dist/esm/hooks/use-on-fill.d.ts +17 -2
  415. package/dist/esm/hooks/use-on-fill.d.ts.map +1 -1
  416. package/dist/esm/hooks/use-on-fill.js +27 -1
  417. package/dist/esm/hooks/use-on-filter-table.d.ts.map +1 -1
  418. package/dist/esm/hooks/use-on-filter-table.js +97 -26
  419. package/dist/esm/hooks/use-on-import-excel.d.ts +2 -1
  420. package/dist/esm/hooks/use-on-import-excel.d.ts.map +1 -1
  421. package/dist/esm/hooks/use-on-import-excel.js +4 -1
  422. package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts +2 -1
  423. package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
  424. package/dist/esm/hooks/use-on-insert-cells-shift-down.js +3 -1
  425. package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts +2 -1
  426. package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
  427. package/dist/esm/hooks/use-on-insert-cells-shift-right.js +3 -1
  428. package/dist/esm/hooks/use-on-insert-column.d.ts +2 -1
  429. package/dist/esm/hooks/use-on-insert-column.d.ts.map +1 -1
  430. package/dist/esm/hooks/use-on-insert-column.js +3 -1
  431. package/dist/esm/hooks/use-on-insert-row.d.ts +2 -1
  432. package/dist/esm/hooks/use-on-insert-row.d.ts.map +1 -1
  433. package/dist/esm/hooks/use-on-insert-row.js +3 -1
  434. package/dist/esm/hooks/use-on-insert-table-row.d.ts +5 -2
  435. package/dist/esm/hooks/use-on-insert-table-row.d.ts.map +1 -1
  436. package/dist/esm/hooks/use-on-insert-table-row.js +19 -1
  437. package/dist/esm/hooks/use-on-merge-unmerge-cells.d.ts +3 -2
  438. package/dist/esm/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
  439. package/dist/esm/hooks/use-on-merge-unmerge-cells.js +12 -1
  440. package/dist/esm/hooks/use-on-move-columns.d.ts +3 -1
  441. package/dist/esm/hooks/use-on-move-columns.d.ts.map +1 -1
  442. package/dist/esm/hooks/use-on-move-columns.js +14 -1
  443. package/dist/esm/hooks/use-on-move-rows.d.ts +3 -1
  444. package/dist/esm/hooks/use-on-move-rows.d.ts.map +1 -1
  445. package/dist/esm/hooks/use-on-move-rows.js +14 -1
  446. package/dist/esm/hooks/use-on-move-selection.d.ts +3 -1
  447. package/dist/esm/hooks/use-on-move-selection.d.ts.map +1 -1
  448. package/dist/esm/hooks/use-on-move-selection.js +44 -1
  449. package/dist/esm/hooks/use-on-paste.d.ts +22 -1
  450. package/dist/esm/hooks/use-on-paste.d.ts.map +1 -1
  451. package/dist/esm/hooks/use-on-paste.js +815 -672
  452. package/dist/esm/hooks/use-on-remove-duplicates.d.ts +5 -2
  453. package/dist/esm/hooks/use-on-remove-duplicates.d.ts.map +1 -1
  454. package/dist/esm/hooks/use-on-remove-duplicates.js +5 -1
  455. package/dist/esm/hooks/use-on-request-create-table.d.ts +13 -0
  456. package/dist/esm/hooks/use-on-request-create-table.d.ts.map +1 -0
  457. package/dist/esm/hooks/use-on-request-create-table.js +43 -0
  458. package/dist/esm/hooks/use-on-request-insert-slicer.d.ts +7 -0
  459. package/dist/esm/hooks/use-on-request-insert-slicer.d.ts.map +1 -0
  460. package/dist/esm/hooks/use-on-request-insert-slicer.js +15 -0
  461. package/dist/esm/hooks/use-on-request-resize-table.d.ts +7 -0
  462. package/dist/esm/hooks/use-on-request-resize-table.d.ts.map +1 -0
  463. package/dist/esm/hooks/use-on-request-resize-table.js +15 -0
  464. package/dist/esm/hooks/use-on-resize-table.d.ts +5 -1
  465. package/dist/esm/hooks/use-on-resize-table.d.ts.map +1 -1
  466. package/dist/esm/hooks/use-on-resize-table.js +107 -27
  467. package/dist/esm/hooks/use-on-sort-column.d.ts +28 -3
  468. package/dist/esm/hooks/use-on-sort-column.d.ts.map +1 -1
  469. package/dist/esm/hooks/use-on-sort-column.js +105 -68
  470. package/dist/esm/hooks/use-on-sort-range.d.ts +26 -3
  471. package/dist/esm/hooks/use-on-sort-range.d.ts.map +1 -1
  472. package/dist/esm/hooks/use-on-sort-range.js +100 -64
  473. package/dist/esm/hooks/use-on-sort-table.d.ts +18 -1
  474. package/dist/esm/hooks/use-on-sort-table.d.ts.map +1 -1
  475. package/dist/esm/hooks/use-on-sort-table.js +107 -86
  476. package/dist/esm/hooks/use-on-subtotal.d.ts +10 -3
  477. package/dist/esm/hooks/use-on-subtotal.d.ts.map +1 -1
  478. package/dist/esm/hooks/use-on-subtotal.js +7 -5
  479. package/dist/esm/hooks/use-on-table.d.ts +39 -7
  480. package/dist/esm/hooks/use-on-table.d.ts.map +1 -1
  481. package/dist/esm/hooks/use-on-table.js +234 -26
  482. package/dist/esm/hooks/use-on-undo-calculated-column.d.ts +23 -0
  483. package/dist/esm/hooks/use-on-undo-calculated-column.d.ts.map +1 -0
  484. package/dist/esm/hooks/use-on-undo-calculated-column.js +62 -0
  485. package/dist/esm/hooks/use-on-undo-table-auto-expansion.d.ts +28 -0
  486. package/dist/esm/hooks/use-on-undo-table-auto-expansion.d.ts.map +1 -0
  487. package/dist/esm/hooks/use-on-undo-table-auto-expansion.js +75 -0
  488. package/dist/esm/hooks/use-on-update-named-range.d.ts +4 -2
  489. package/dist/esm/hooks/use-on-update-named-range.d.ts.map +1 -1
  490. package/dist/esm/hooks/use-on-update-named-range.js +13 -1
  491. package/dist/esm/hooks/use-sheet-properties.d.ts +1 -0
  492. package/dist/esm/hooks/use-sheet-properties.d.ts.map +1 -1
  493. package/dist/esm/hooks/use-sheet-properties.js +38 -19
  494. package/dist/esm/hooks/use-slicers.d.ts +2 -2
  495. package/dist/esm/hooks/use-slicers.d.ts.map +1 -1
  496. package/dist/esm/hooks/use-slicers.js +16 -8
  497. package/dist/esm/hooks/use-sparkline-groups.d.ts +50 -0
  498. package/dist/esm/hooks/use-sparkline-groups.d.ts.map +1 -0
  499. package/dist/esm/hooks/use-sparkline-groups.js +146 -0
  500. package/dist/esm/hooks/use-spreadsheet-state.d.ts +56 -10
  501. package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
  502. package/dist/esm/hooks/use-spreadsheet-state.js +260 -30
  503. package/dist/esm/hooks/use-structured-reference.d.ts.map +1 -1
  504. package/dist/esm/hooks/use-structured-reference.js +17 -0
  505. package/dist/esm/hooks/use-undo-redo-actions.d.ts +2 -1
  506. package/dist/esm/hooks/use-undo-redo-actions.d.ts.map +1 -1
  507. package/dist/esm/hooks/use-undo-redo-actions.js +8 -2
  508. package/dist/esm/hooks/use-undo-redo.d.ts +12 -0
  509. package/dist/esm/hooks/use-undo-redo.d.ts.map +1 -1
  510. package/dist/esm/hooks/use-undo-redo.js +158 -7
  511. package/dist/esm/hooks/utils/sort-rows.d.ts.map +1 -1
  512. package/dist/esm/hooks/utils/sort-rows.js +4 -3
  513. package/dist/esm/index.d.ts +7 -0
  514. package/dist/esm/index.d.ts.map +1 -1
  515. package/dist/esm/index.js +8 -0
  516. package/dist/esm/interface/apply-fill.d.ts +26 -3
  517. package/dist/esm/interface/apply-fill.d.ts.map +1 -1
  518. package/dist/esm/interface/apply-fill.js +188 -88
  519. package/dist/esm/interface/change-batch.d.ts +1 -1
  520. package/dist/esm/interface/change-batch.d.ts.map +1 -1
  521. package/dist/esm/interface/change-batch.js +89 -8
  522. package/dist/esm/interface/change-calculated-column.d.ts +6 -2
  523. package/dist/esm/interface/change-calculated-column.d.ts.map +1 -1
  524. package/dist/esm/interface/change-calculated-column.js +81 -16
  525. package/dist/esm/interface/change-table-column.d.ts +81 -7
  526. package/dist/esm/interface/change-table-column.d.ts.map +1 -1
  527. package/dist/esm/interface/change-table-column.js +295 -67
  528. package/dist/esm/interface/create-table.d.ts +15 -3
  529. package/dist/esm/interface/create-table.d.ts.map +1 -1
  530. package/dist/esm/interface/create-table.js +103 -27
  531. package/dist/esm/interface/delete-cells-shift-left.d.ts +1 -1
  532. package/dist/esm/interface/delete-cells-shift-left.d.ts.map +1 -1
  533. package/dist/esm/interface/delete-cells-shift-left.js +17 -2
  534. package/dist/esm/interface/delete-cells-shift-up.d.ts +1 -1
  535. package/dist/esm/interface/delete-cells-shift-up.d.ts.map +1 -1
  536. package/dist/esm/interface/delete-cells-shift-up.js +17 -2
  537. package/dist/esm/interface/delete-cells.d.ts +1 -1
  538. package/dist/esm/interface/delete-cells.d.ts.map +1 -1
  539. package/dist/esm/interface/delete-cells.js +69 -30
  540. package/dist/esm/interface/delete-column.d.ts +1 -1
  541. package/dist/esm/interface/delete-column.d.ts.map +1 -1
  542. package/dist/esm/interface/delete-column.js +16 -3
  543. package/dist/esm/interface/delete-row.d.ts +1 -1
  544. package/dist/esm/interface/delete-row.d.ts.map +1 -1
  545. package/dist/esm/interface/delete-row.js +180 -16
  546. package/dist/esm/interface/delete-sheet.d.ts +2 -2
  547. package/dist/esm/interface/delete-sheet.d.ts.map +1 -1
  548. package/dist/esm/interface/delete-sheet.js +132 -1
  549. package/dist/esm/interface/delete-table-column.d.ts +1 -1
  550. package/dist/esm/interface/delete-table-column.d.ts.map +1 -1
  551. package/dist/esm/interface/delete-table-column.js +11 -1
  552. package/dist/esm/interface/delete-table-row.d.ts +1 -1
  553. package/dist/esm/interface/delete-table-row.d.ts.map +1 -1
  554. package/dist/esm/interface/delete-table-row.js +312 -232
  555. package/dist/esm/interface/duplicate-sheet.d.ts.map +1 -1
  556. package/dist/esm/interface/duplicate-sheet.js +73 -26
  557. package/dist/esm/interface/embeds.d.ts +10 -1
  558. package/dist/esm/interface/embeds.d.ts.map +1 -1
  559. package/dist/esm/interface/embeds.js +84 -5
  560. package/dist/esm/interface/insert-cells-shift-down.d.ts +1 -1
  561. package/dist/esm/interface/insert-cells-shift-down.d.ts.map +1 -1
  562. package/dist/esm/interface/insert-cells-shift-down.js +11 -1
  563. package/dist/esm/interface/insert-cells-shift-right.d.ts +1 -1
  564. package/dist/esm/interface/insert-cells-shift-right.d.ts.map +1 -1
  565. package/dist/esm/interface/insert-cells-shift-right.js +11 -1
  566. package/dist/esm/interface/insert-column.d.ts +2 -2
  567. package/dist/esm/interface/insert-column.d.ts.map +1 -1
  568. package/dist/esm/interface/insert-column.js +49 -23
  569. package/dist/esm/interface/insert-row.d.ts +1 -1
  570. package/dist/esm/interface/insert-row.d.ts.map +1 -1
  571. package/dist/esm/interface/insert-row.js +10 -2
  572. package/dist/esm/interface/insert-table-row.d.ts +2 -1
  573. package/dist/esm/interface/insert-table-row.d.ts.map +1 -1
  574. package/dist/esm/interface/insert-table-row.js +67 -12
  575. package/dist/esm/interface/remove-duplicates.d.ts +1 -1
  576. package/dist/esm/interface/remove-duplicates.d.ts.map +1 -1
  577. package/dist/esm/interface/remove-duplicates.js +41 -6
  578. package/dist/esm/interface/remove-table.d.ts +1 -1
  579. package/dist/esm/interface/remove-table.d.ts.map +1 -1
  580. package/dist/esm/interface/remove-table.js +58 -10
  581. package/dist/esm/interface/slicers.d.ts +12 -1
  582. package/dist/esm/interface/slicers.d.ts.map +1 -1
  583. package/dist/esm/interface/slicers.js +44 -2
  584. package/dist/esm/interface/spreadsheet-interface.d.ts +1 -1
  585. package/dist/esm/interface/spreadsheet-interface.d.ts.map +1 -1
  586. package/dist/esm/interface/spreadsheet-interface.js +73 -1
  587. package/dist/esm/interface/table-totalrow.d.ts +13 -1
  588. package/dist/esm/interface/table-totalrow.d.ts.map +1 -1
  589. package/dist/esm/interface/table-totalrow.js +98 -68
  590. package/dist/esm/interface/table-utils.d.ts +59 -6
  591. package/dist/esm/interface/table-utils.d.ts.map +1 -1
  592. package/dist/esm/interface/table-utils.js +155 -14
  593. package/dist/esm/interface/update-table.d.ts +16 -1
  594. package/dist/esm/interface/update-table.d.ts.map +1 -1
  595. package/dist/esm/interface/update-table.js +203 -42
  596. package/dist/esm/sheet-cell.d.ts.map +1 -1
  597. package/dist/esm/test-setup.d.ts.map +1 -1
  598. package/dist/esm/test-setup.js +6 -0
  599. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  600. package/dist/esm/validation-schema/table.schema.d.ts +11 -0
  601. package/dist/esm/validation-schema/table.schema.d.ts.map +1 -1
  602. package/dist/esm/validation-schema/table.schema.js +15 -2
  603. package/package.json +19 -11
@@ -7,13 +7,18 @@ import { getBandedCells } from "@rowsncolumns/spreadsheet";
7
7
  import { defaultSpreadsheetTheme, useCallbackRef, useSpreadsheetTheme, } from "@rowsncolumns/spreadsheet";
8
8
  import { findMatchingBandProperty, getCurrentLocale, getFormulaLocale, isNil, setDefaultEnableAtFormula, uuid, } from "@rowsncolumns/utils";
9
9
  import { enableMapSet, enablePatches, setUseStrictShallowCopy } from "immer";
10
- import { useCallback, useEffect, useMemo, useRef } from "react";
10
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
11
11
  import { getAutoFillValues as defaultGetAutoFillValues } from "../api/fill";
12
+ import { planInsertCutCells } from "../api/insert-cut-cells";
13
+ import { getMoveRangeRefusal } from "../api/structural-guards";
14
+ import { findPartiallyCoveredMerge, MERGED_CELL_MOVE_ERROR } from "../api/merges";
15
+ import { useShowError } from "../atoms/error-state.atom";
12
16
  import { getGeneratedSheetName } from "../generated-names";
13
17
  import { SheetCell } from "../sheet-cell";
14
18
  import { useCalculation } from "./use-calculation";
15
19
  import { useCalculationInitialize } from "./use-calculation-initialize";
16
20
  import { useCalculationWorker } from "./use-calculation-worker";
21
+ import { SHEET_PROTECTION_ERROR_TITLE, useCanEditCellRange, useCanPerformSheetAction, } from "./use-can-edit-cellrange";
17
22
  import { useCellXfsRegistry } from "./use-cellxfs-registry";
18
23
  import { useCitations } from "./use-citations";
19
24
  import { useComments } from "./use-comments";
@@ -32,6 +37,7 @@ import { useOnChangeBatchStream } from "./use-on-change-batch-stream";
32
37
  import { useOnChangeDecimals } from "./use-on-change-decimals";
33
38
  import { useOnChangeFormatting } from "./use-on-change-formatting";
34
39
  import { useOnChangeSheetTabcolor } from "./use-on-change-sheet-tabcolor";
40
+ import { useOnChangeTableColumn } from "./use-on-change-table-column";
35
41
  import { useOnChangeTheme } from "./use-on-change-theme";
36
42
  import { useOnClearFormatting } from "./use-on-clear-formatting";
37
43
  import { useOnCollapseColumnGroup } from "./use-on-collapse-column-group";
@@ -50,6 +56,7 @@ import { useOnDeleteTableRow } from "./use-on-delete-table-row";
50
56
  import { useOnDragnDrop } from "./use-on-drag-n-drop";
51
57
  import { useOnDuplicateSheet } from "./use-on-duplicate-sheet";
52
58
  import { useOnEmbeds } from "./use-on-embeds";
59
+ import { useSparklineGroups } from "./use-sparkline-groups";
53
60
  import { useOnExpandColumnGroup } from "./use-on-expand-column-group";
54
61
  import { useOnExpandRowGroup } from "./use-on-expand-row-group";
55
62
  import { useOnFill } from "./use-on-fill";
@@ -84,22 +91,22 @@ import { useOnMergeUnMergeCells } from "./use-on-merge-unmerge-cells";
84
91
  import { useOnMoveColumns } from "./use-on-move-columns";
85
92
  import { useOnMoveRows } from "./use-on-move-rows";
86
93
  import { useOnMoveSelection } from "./use-on-move-selection";
87
- import { planInsertCutCells } from "../api/insert-cut-cells";
88
- import { findPartiallyCoveredMerge, MERGED_CELL_MOVE_ERROR } from "../api/merges";
89
- import { useShowError } from "../atoms/error-state.atom";
90
- import { SHEET_PROTECTION_ERROR_TITLE, useCanEditCellRange, useCanPerformSheetAction, } from "./use-can-edit-cellrange";
91
94
  import { useOnMoveSheet } from "./use-on-move-sheet";
92
95
  import { useOnPaste } from "./use-on-paste";
96
+ import { useOnCreateCustomTableStyle } from "./use-on-create-custom-table-style";
93
97
  import { useOnProtectRange } from "./use-on-protect-range";
94
98
  import { useOnProtectSheet } from "./use-on-protect-sheet";
95
99
  import { useOnRemoveDuplicates } from "./use-on-remove-duplicates";
96
100
  import { useOnRenameSheet } from "./use-on-rename-sheet";
97
101
  import { useOnRequestCalculateWrapper } from "./use-on-request-calculate-wrapper";
98
102
  import { useOnRequestConditionalFormat } from "./use-on-request-conditional-format";
103
+ import { useOnRequestCreateTable } from "./use-on-request-create-table";
99
104
  import { useOnRequestDataValidation } from "./use-on-request-data-validation";
100
105
  import { useOnRequestDefineNamedRange } from "./use-on-request-define-named-range";
101
106
  import { useOnRequestDeleteSheet } from "./use-on-request-delete-sheet";
102
107
  import { useOnRequestEditTable } from "./use-on-request-edit-table";
108
+ import { useOnRequestInsertSlicer } from "./use-on-request-insert-slicer";
109
+ import { useOnRequestResizeTable } from "./use-on-request-resize-table";
103
110
  import { useOnRequestFormatCells } from "./use-on-request-format-cells";
104
111
  import { useOnRequestInsertImage } from "./use-on-request-insert-image";
105
112
  import { useOnRequestInsertLink } from "./use-on-request-insert-link";
@@ -107,6 +114,9 @@ import { useOnRequestResize } from "./use-on-request-resize";
107
114
  import { useOnRequestUpdateNamedRange } from "./use-on-request-update-named-range";
108
115
  import { useOnResize } from "./use-on-resize";
109
116
  import { useOnResizeTable } from "./use-on-resize-table";
117
+ import { useOnUndoTableAutoExpansion } from "./use-on-undo-table-auto-expansion";
118
+ import { useOnUndoCalculatedColumn } from "./use-on-undo-calculated-column";
119
+ import { useOnChangeCalculatedColumn } from "./use-on-change-calculated-column";
110
120
  import { useOnSetOutlineDepth } from "./use-on-set-outline-depth";
111
121
  import { useOnShowColumn } from "./use-on-show-column";
112
122
  import { useOnShowRow } from "./use-on-show-row";
@@ -159,13 +169,20 @@ export var deriveBuiltInTableBanding = function (table) {
159
169
  return undefined;
160
170
  }
161
171
  if (!showRowStripes && banded.rowProperties) {
162
- var _a = banded.rowProperties, headerColor = _a.headerColor, headerBorder = _a.headerBorder, totalRowColor = _a.totalRowColor, totalRowBorder = _a.totalRowBorder;
163
- if (headerColor || headerBorder || totalRowColor || totalRowBorder) {
172
+ var _a = banded.rowProperties, headerColor = _a.headerColor, headerBorder = _a.headerBorder, totalRowColor = _a.totalRowColor, totalRowBorder = _a.totalRowBorder, firstColumnColor = _a.firstColumnColor, lastColumnColor = _a.lastColumnColor;
173
+ if (headerColor ||
174
+ headerBorder ||
175
+ totalRowColor ||
176
+ totalRowBorder ||
177
+ firstColumnColor ||
178
+ lastColumnColor) {
164
179
  banded.rowProperties = {
165
180
  headerColor: headerColor,
166
181
  headerBorder: headerBorder,
167
182
  totalRowColor: totalRowColor,
168
183
  totalRowBorder: totalRowBorder,
184
+ firstColumnColor: firstColumnColor,
185
+ lastColumnColor: lastColumnColor,
169
186
  };
170
187
  }
171
188
  else {
@@ -180,6 +197,14 @@ export var deriveBuiltInTableBanding = function (table) {
180
197
  }
181
198
  return banded;
182
199
  };
200
+ /**
201
+ * `table` as the gallery's hovered style would leave it: the preview's theme and banding replace
202
+ * the table's own (a preview with neither paints it unstyled — the "None" style).
203
+ */
204
+ export var previewTableStyle = function (table, preview) {
205
+ var _a, _b;
206
+ return (__assign(__assign({}, table), { theme: (_a = preview.theme) !== null && _a !== void 0 ? _a : undefined, bandedRange: (_b = preview.bandedRange) !== null && _b !== void 0 ? _b : undefined }));
207
+ };
183
208
  /**
184
209
  * Use Spreadsheet Hook
185
210
  * @param param0
@@ -214,7 +239,7 @@ export var useSpreadsheetState = function (_a) {
214
239
  // Semantic command stream
215
240
  onCommandProp = _a.onCommand,
216
241
  // Theme
217
- onChangeTheme = _a.onChangeTheme, namedCellStyles = _a.namedCellStyles, onChangeNamedCellStyles = _a.onChangeNamedCellStyles,
242
+ onChangeTheme = _a.onChangeTheme, namedCellStyles = _a.namedCellStyles, onChangeNamedCellStyles = _a.onChangeNamedCellStyles, customTableStyles = _a.customTableStyles, onChangeCustomTableStyles = _a.onChangeCustomTableStyles,
218
243
  // error handler
219
244
  onError = _a.onError,
220
245
  // Get auto fill values
@@ -237,23 +262,23 @@ export var useSpreadsheetState = function (_a) {
237
262
  // Drag and drop
238
263
  _f = _a.enableDragnDrop,
239
264
  // Drag and drop
240
- enableDragnDrop = _f === void 0 ? true : _f,
265
+ enableDragnDrop = _f === void 0 ? true : _f, _g = _a.autoExpandTables, autoExpandTables = _g === void 0 ? true : _g, _h = _a.autoCalculatedColumns, autoCalculatedColumns = _h === void 0 ? true : _h,
241
266
  // Enable undo/redo functionality
242
- _g = _a.enabledUndoRedo,
267
+ _j = _a.enabledUndoRedo,
243
268
  // Enable undo/redo functionality
244
- enabledUndoRedo = _g === void 0 ? true : _g,
269
+ enabledUndoRedo = _j === void 0 ? true : _j,
245
270
  // Current locale
246
- _h = _a.locale,
271
+ _k = _a.locale,
247
272
  // Current locale
248
- locale = _h === void 0 ? getCurrentLocale() : _h, formulaLocaleProp = _a.formulaLocale,
273
+ locale = _k === void 0 ? getCurrentLocale() : _k, formulaLocaleProp = _a.formulaLocale,
249
274
  // Templates for auto-generated names (sheets, tables, table columns)
250
- generatedNamesProp = _a.generatedNames, _j = _a.enableAtFormula, enableAtFormula = _j === void 0 ? false : _j,
275
+ generatedNamesProp = _a.generatedNames, _l = _a.enableAtFormula, enableAtFormula = _l === void 0 ? false : _l,
251
276
  // Preserve data formatting like color, font style on paste
252
277
  preserveFormattingOnPaste = _a.preserveFormattingOnPaste,
253
278
  // Trigger manual recalculation
254
- _k = _a.recalculateOnOpen,
279
+ _m = _a.recalculateOnOpen,
255
280
  // Trigger manual recalculation
256
- recalculateOnOpen = _k === void 0 ? false : _k,
281
+ recalculateOnOpen = _m === void 0 ? false : _m,
257
282
  // Protect formulas
258
283
  protectFormulas = _a.protectFormulas,
259
284
  // Max limits
@@ -275,9 +300,9 @@ export var useSpreadsheetState = function (_a) {
275
300
  // Create calculation worker
276
301
  createCalculationWorker = _a.createCalculationWorker,
277
302
  // Calculation mode
278
- _l = _a.calculationMode,
303
+ _o = _a.calculationMode,
279
304
  // Calculation mode
280
- calculationMode = _l === void 0 ? "single" : _l, iterativeCalculation = _a.iterativeCalculation, onIterativeCalculationEnabled = _a.onIterativeCalculationEnabled,
305
+ calculationMode = _o === void 0 ? "single" : _o, iterativeCalculation = _a.iterativeCalculation, onIterativeCalculationEnabled = _a.onIterativeCalculationEnabled,
281
306
  // Stream callbacks
282
307
  onStreamStart = _a.onStreamStart, onStreamProgress = _a.onStreamProgress, onStreamEnd = _a.onStreamEnd,
283
308
  // Custom modal functions
@@ -291,10 +316,10 @@ export var useSpreadsheetState = function (_a) {
291
316
  /**
292
317
  * Sheets
293
318
  */
294
- var _m = useSheetState({
319
+ var _p = useSheetState({
295
320
  sheets: sheets,
296
321
  onChangeSheets: onChangeSheets,
297
- }), activeSheetId = _m.activeSheetId, activeCell = _m.activeCell, selections = _m.selections, activeCellBySheetId = _m.activeCellBySheetId, selectionsBySheetId = _m.selectionsBySheetId, onChangeActiveCell = _m.onChangeActiveCell, onChangeActiveSheet = _m.onChangeActiveSheet, onChangeSelections = _m.onChangeSelections;
322
+ }), activeSheetId = _p.activeSheetId, activeCell = _p.activeCell, selections = _p.selections, activeCellBySheetId = _p.activeCellBySheetId, selectionsBySheetId = _p.selectionsBySheetId, onChangeActiveCell = _p.onChangeActiveCell, onChangeActiveSheet = _p.onChangeActiveSheet, onChangeSelections = _p.onChangeSelections;
298
323
  // Load default fonts
299
324
  useFonts(fonts);
300
325
  // Disable @ formula
@@ -309,11 +334,11 @@ export var useSpreadsheetState = function (_a) {
309
334
  // CellXfs CellFormat registry
310
335
  var cellXfsRegistry = useCellXfsRegistry(cellXfs, onChangeCellXfs);
311
336
  // Themes
312
- var _o = useSpreadsheetTheme({
337
+ var _q = useSpreadsheetTheme({
313
338
  theme: theme,
314
339
  darkThemeClassName: darkThemeClassName,
315
340
  colorMode: colorMode,
316
- }), isDarkMode = _o.isDarkMode, spreadsheetColors = __rest(_o, ["isDarkMode"]);
341
+ }), isDarkMode = _q.isDarkMode, spreadsheetColors = __rest(_q, ["isDarkMode"]);
317
342
  // Consumers commonly pass an inline `onCommand` (a fresh function every
318
343
  // render). Roughly 40 derived callbacks list `onCommand` in their
319
344
  // `useCallback` deps (onSplitTextToColumns, onChangeFormatting, onPaste, …),
@@ -354,7 +379,7 @@ export var useSpreadsheetState = function (_a) {
354
379
  // Get current active cell
355
380
  var getSelections = useCallbackRef(useCallback(function () { return selections; }, [selections]));
356
381
  // Extract row count and column count
357
- var _p = useMemo(function () {
382
+ var _r = useMemo(function () {
358
383
  var _a;
359
384
  var sheet = sheets.find(function (sheet) { return sheet.sheetId === activeSheetId; });
360
385
  // For collaboration mode
@@ -371,7 +396,7 @@ export var useSpreadsheetState = function (_a) {
371
396
  maxRowCount,
372
397
  maxColumnCount,
373
398
  generatedNames,
374
- ]), _q = _p.rowCount, _rowCount = _q === void 0 ? DEFAULT_ROW_COUNT : _q, _r = _p.columnCount, _columnCount = _r === void 0 ? DEFAULT_COLUMN_COUNT : _r, frozenColumnCount = _p.frozenColumnCount, frozenRowCount = _p.frozenRowCount, rowMetadata = _p.rowMetadata, columnMetadata = _p.columnMetadata, merges = _p.merges, showGridLines = _p.showGridLines, showRowColHeaders = _p.showRowColHeaders, zoomScale = _p.zoomScale, basicFilter = _p.basicFilter;
399
+ ]), _s = _r.rowCount, _rowCount = _s === void 0 ? DEFAULT_ROW_COUNT : _s, _t = _r.columnCount, _columnCount = _t === void 0 ? DEFAULT_COLUMN_COUNT : _t, frozenColumnCount = _r.frozenColumnCount, frozenRowCount = _r.frozenRowCount, rowMetadata = _r.rowMetadata, columnMetadata = _r.columnMetadata, merges = _r.merges, showGridLines = _r.showGridLines, showRowColHeaders = _r.showRowColHeaders, zoomScale = _r.zoomScale, basicFilter = _r.basicFilter;
375
400
  // Accept defaults
376
401
  var rowCount = _rowCount !== null && _rowCount !== void 0 ? _rowCount : DEFAULT_ROW_COUNT;
377
402
  var columnCount = _columnCount !== null && _columnCount !== void 0 ? _columnCount : DEFAULT_ROW_COUNT;
@@ -392,21 +417,29 @@ export var useSpreadsheetState = function (_a) {
392
417
  * built-in table styles persist only the name, and the grid paints tables
393
418
  * exclusively from bandedRange, so without the fallback they render unstyled.
394
419
  */
420
+ var _u = __read(useState(null), 2), tableStylePreview = _u[0], setTableStylePreview = _u[1];
421
+ // The gallery's hovered style paints over the table's own while the pointer rests on the
422
+ // swatch — UI state only, never written to the table or its history.
423
+ var onPreviewTableStyle = useCallback(function (preview) { return setTableStylePreview(preview); }, []);
395
424
  var bandedRanges = useMemo(function () {
396
425
  return tables === null || tables === void 0 ? void 0 : tables.filter(function (_a) {
397
426
  var sheetId = _a.sheetId;
398
427
  return sheetId === activeSheetId;
399
428
  }).map(function (table) {
400
- var _a;
401
- var banded = (_a = table.bandedRange) !== null && _a !== void 0 ? _a : deriveBuiltInTableBanding(table);
429
+ var _a, _b;
430
+ var previewed = (tableStylePreview === null || tableStylePreview === void 0 ? void 0 : tableStylePreview.sheetId) === table.sheetId &&
431
+ tableStylePreview.tableId === table.id
432
+ ? previewTableStyle(table, tableStylePreview)
433
+ : table;
434
+ var banded = (_a = previewed.bandedRange) !== null && _a !== void 0 ? _a : deriveBuiltInTableBanding(previewed);
402
435
  if (isNil(banded)) {
403
436
  return undefined;
404
437
  }
405
- return __assign({ bandedRangeId: "".concat(table.id, "-").concat(table.theme),
438
+ return __assign({ bandedRangeId: "".concat(table.id, "-").concat(previewed.theme), showFirstColumn: table.showFirstColumn, showLastColumn: table.showLastColumn, totalRow: (_b = table.totalRow) !== null && _b !== void 0 ? _b : false,
406
439
  // Add sheet Id to range
407
440
  range: __assign(__assign({}, table.range), { sheetId: activeSheetId }) }, banded);
408
441
  }).filter(function (band) { return !isNil(band); });
409
- }, [tables, activeSheetId]);
442
+ }, [tables, activeSheetId, tableStylePreview]);
410
443
  var getCellDimensions = useGetCellDimensions();
411
444
  var getCurrentRowHeight = useGetRowHeight();
412
445
  var getContentfulRangeAroundCell = useGetContentfulRangeAroundCell();
@@ -418,7 +451,7 @@ export var useSpreadsheetState = function (_a) {
418
451
  var getPrecedentsRef = useRef(undefined);
419
452
  var getPrecedentsForward = useCallback(function (cell) { var _a, _b; return (_b = (_a = getPrecedentsRef.current) === null || _a === void 0 ? void 0 : _a.call(getPrecedentsRef, cell)) !== null && _b !== void 0 ? _b : []; }, []);
420
453
  // Sheet properties
421
- var _s = useSheetProperties({
454
+ var _v = useSheetProperties({
422
455
  getEffectiveStructuredValue: getEffectiveStructuredValue,
423
456
  conditionalFormats: conditionalFormats,
424
457
  sheetData: sheetData,
@@ -432,13 +465,13 @@ export var useSpreadsheetState = function (_a) {
432
465
  sharedStrings: sharedStrings,
433
466
  locale: locale,
434
467
  getPrecedents: getPrecedentsForward,
435
- }), getDataRowCount = _s.getDataRowCount, getNonEmptyRowCount = _s.getNonEmptyRowCount, getNonEmptyColumnCount = _s.getNonEmptyColumnCount, getDataColumnCount = _s.getDataColumnCount, getSheetId = _s.getSheetId, getSheetName = _s.getSheetName, getSheetCount = _s.getSheetCount, getSheetIndex = _s.getSheetIndex, getSheetNames = _s.getSheetNames, getSheetProperties = _s.getSheetProperties, getCellData = _s.getCellData, getMentionsFromCell = _s.getMentionsFromCell, getTextFormatRuns = _s.getTextFormatRuns, getEffectiveValue = _s.getEffectiveValue, getEffectiveValueForCalculation = _s.getEffectiveValueForCalculation, getUserEnteredValue = _s.getUserEnteredValue, getUserEnteredValueStable = _s.getUserEnteredValueStable, getConditionalFormatFormula = _s.getConditionalFormatFormula, getDataValidationFormula = _s.getDataValidationFormula, getDataValidation = _s.getDataValidation, getDefaultHorizontalAlignment = _s.getDefaultHorizontalAlignment, getDataValidationById = _s.getDataValidationById, getActiveSheetId = _s.getActiveSheetId, getUserEnteredFormat = _s.getUserEnteredFormat, getEffectiveFormat = _s.getEffectiveFormat, getFormattedValue = _s.getFormattedValue, getFormulaValue = _s.getFormulaValue, getSeriesValuesFromRange = _s.getSeriesValuesFromRange, getFormattingFromRange = _s.getFormattingFromRange, getUserEnteredValuesFromRange = _s.getUserEnteredValuesFromRange, getFormulasFromRange = _s.getFormulasFromRange, getDomainValuesFromRange = _s.getDomainValuesFromRange, getColumnarDataFromRange = _s.getColumnarDataFromRange, isColumnHidden = _s.isColumnHidden, isHiddenRow = _s.isHiddenRow, isHiddenByFilterRow = _s.isHiddenByFilterRow, getRowOutlineLevel = _s.getRowOutlineLevel, getSheetRowCount = _s.getSheetRowCount, getSheetColumnCount = _s.getSheetColumnCount, getColumnWidth = _s.getColumnWidth, getRowHeight = _s.getRowHeight, getEffectiveExtendedValue = _s.getEffectiveExtendedValue, getUserEnteredExtendedValue = _s.getUserEnteredExtendedValue, getFrozenRowCount = _s.getFrozenRowCount, getErrorValue = _s.getErrorValue;
468
+ }), getDataRowCount = _v.getDataRowCount, getNonEmptyRowCount = _v.getNonEmptyRowCount, getNonEmptyColumnCount = _v.getNonEmptyColumnCount, getDataColumnCount = _v.getDataColumnCount, getSheetId = _v.getSheetId, getSheetName = _v.getSheetName, getSheetCount = _v.getSheetCount, getSheetIndex = _v.getSheetIndex, getSheetNames = _v.getSheetNames, getSheetProperties = _v.getSheetProperties, getCellData = _v.getCellData, getMentionsFromCell = _v.getMentionsFromCell, getTextFormatRuns = _v.getTextFormatRuns, getEffectiveValue = _v.getEffectiveValue, getEffectiveValueForCalculation = _v.getEffectiveValueForCalculation, getUserEnteredValue = _v.getUserEnteredValue, getUserEnteredValueStable = _v.getUserEnteredValueStable, getConditionalFormatFormula = _v.getConditionalFormatFormula, getDataValidationFormula = _v.getDataValidationFormula, getDataValidation = _v.getDataValidation, getDefaultHorizontalAlignment = _v.getDefaultHorizontalAlignment, getDataValidationById = _v.getDataValidationById, getActiveSheetId = _v.getActiveSheetId, getUserEnteredFormat = _v.getUserEnteredFormat, getEffectiveFormat = _v.getEffectiveFormat, getFormattedValue = _v.getFormattedValue, getFormulaValue = _v.getFormulaValue, getSeriesValuesFromRange = _v.getSeriesValuesFromRange, getFormattingFromRange = _v.getFormattingFromRange, getUserEnteredValuesFromRange = _v.getUserEnteredValuesFromRange, getFormulasFromRange = _v.getFormulasFromRange, getDomainValuesFromRange = _v.getDomainValuesFromRange, getColumnarDataFromRange = _v.getColumnarDataFromRange, isColumnHidden = _v.isColumnHidden, isHiddenRow = _v.isHiddenRow, isHiddenByFilterRow = _v.isHiddenByFilterRow, isManuallyHiddenRow = _v.isManuallyHiddenRow, getRowOutlineLevel = _v.getRowOutlineLevel, getSheetRowCount = _v.getSheetRowCount, getSheetColumnCount = _v.getSheetColumnCount, getColumnWidth = _v.getColumnWidth, getRowHeight = _v.getRowHeight, getEffectiveExtendedValue = _v.getEffectiveExtendedValue, getUserEnteredExtendedValue = _v.getUserEnteredExtendedValue, getFrozenRowCount = _v.getFrozenRowCount, getErrorValue = _v.getErrorValue;
436
469
  // Subscriber
437
470
  useSheetDataSubscriber({ sheetData: sheetData });
438
- var _t = useSelectNextPrevSheet({
471
+ var _w = useSelectNextPrevSheet({
439
472
  onChangeActiveSheet: onChangeActiveSheet,
440
473
  sheets: sheets,
441
- }), onSelectNextSheet = _t.onSelectNextSheet, onSelectPreviousSheet = _t.onSelectPreviousSheet;
474
+ }), onSelectNextSheet = _w.onSelectNextSheet, onSelectPreviousSheet = _w.onSelectPreviousSheet;
442
475
  // Get structured reference
443
476
  var onStructuredReference = useStructuredReference({
444
477
  tables: tables,
@@ -549,7 +582,7 @@ export var useSpreadsheetState = function (_a) {
549
582
  enabled: calculationMode !== "worker",
550
583
  });
551
584
  // Use the appropriate calculation hook based on mode
552
- var _u = calculationMode === "worker" ? workerCalculation : singleCalculation, enqueueCalculation = _u.enqueueCalculation, enqueueGraphOperation = _u.enqueueGraphOperation, enqueueStructureChange = _u.enqueueStructureChange, clearRangeCache = _u.clearRangeCache, onRequestCalculateWithoutFormatting = _u.onRequestCalculate, getPrecedents = _u.getPrecedents, getDependents = _u.getDependents, getPrecedentsFromFormulaString = _u.getPrecedentsFromFormulaString, getGraphNodes = _u.getGraphNodes, getGraphNodesInSheet = _u.getGraphNodesInSheet, addStaticReference = _u.addStaticReference, addFormulaToGraph = _u.addFormulaToGraph, removeStaticReference = _u.removeStaticReference, onResetCalculator = _u.onResetCalculator, getDependencyGraph = _u.getDependencyGraph, updateDependencyGraph = _u.updateDependencyGraph, isArrayFormula = _u.isArrayFormula, getArrayRange = _u.getArrayRange, applyNamedRanges = _u.applyNamedRanges;
585
+ var _x = calculationMode === "worker" ? workerCalculation : singleCalculation, enqueueCalculation = _x.enqueueCalculation, enqueueGraphOperation = _x.enqueueGraphOperation, enqueueStructureChange = _x.enqueueStructureChange, clearRangeCache = _x.clearRangeCache, onRequestCalculateWithoutFormatting = _x.onRequestCalculate, getPrecedents = _x.getPrecedents, getDependents = _x.getDependents, getPrecedentsFromFormulaString = _x.getPrecedentsFromFormulaString, getGraphNodes = _x.getGraphNodes, getGraphNodesInSheet = _x.getGraphNodesInSheet, addStaticReference = _x.addStaticReference, addFormulaToGraph = _x.addFormulaToGraph, removeStaticReference = _x.removeStaticReference, onResetCalculator = _x.onResetCalculator, getDependencyGraph = _x.getDependencyGraph, updateDependencyGraph = _x.updateDependencyGraph, isArrayFormula = _x.isArrayFormula, getArrayRange = _x.getArrayRange, applyNamedRanges = _x.applyNamedRanges;
553
586
  // Bind the forward-ref so `useSheetProperties.getEffectiveFormat` can walk
554
587
  // precedents now that the calculator is initialised.
555
588
  getPrecedentsRef.current = getPrecedents;
@@ -599,7 +632,7 @@ export var useSpreadsheetState = function (_a) {
599
632
  getEffectiveFormat: getEffectiveFormat,
600
633
  });
601
634
  // Calculation initialize
602
- var _v = useCalculationInitialize({
635
+ var _y = useCalculationInitialize({
603
636
  recalculateOnOpen: recalculateOnOpen,
604
637
  sheetData: sheetData,
605
638
  conditionalFormats: conditionalFormats,
@@ -612,9 +645,9 @@ export var useSpreadsheetState = function (_a) {
612
645
  getDataValidationById: getDataValidationById,
613
646
  namedRanges: namedRanges,
614
647
  applyNamedRanges: applyNamedRanges,
615
- }), calculateNow = _v.calculateNow, evaluateConditionalFormatting = _v.evaluateConditionalFormatting, evaluateDataValidations = _v.evaluateDataValidations, evaluateConditionalFormattingForViewport = _v.evaluateConditionalFormattingForViewport, evaluateDataValidationsForViewport = _v.evaluateDataValidationsForViewport, clearEvaluatedCellsCache = _v.clearEvaluatedCellsCache, onViewPortChange = _v.onViewPortChange, reevaluateDerivationsForCells = _v.reevaluateDerivationsForCells;
648
+ }), calculateNow = _y.calculateNow, evaluateConditionalFormatting = _y.evaluateConditionalFormatting, evaluateDataValidations = _y.evaluateDataValidations, evaluateConditionalFormattingForViewport = _y.evaluateConditionalFormattingForViewport, evaluateDataValidationsForViewport = _y.evaluateDataValidationsForViewport, clearEvaluatedCellsCache = _y.clearEvaluatedCellsCache, onViewPortChange = _y.onViewPortChange, reevaluateDerivationsForCells = _y.reevaluateDerivationsForCells;
616
649
  // Undo redo action manager
617
- var _w = useUndoRedoActions({
650
+ var _z = useUndoRedoActions({
618
651
  sheetId: activeSheetId,
619
652
  onChangeActiveCell: onChangeActiveCell,
620
653
  onChangeActiveSheet: onChangeActiveSheet,
@@ -628,6 +661,7 @@ export var useSpreadsheetState = function (_a) {
628
661
  onChangeConditionalFormats: onChangeConditionalFormats,
629
662
  onChangeDataValidations: onChangeDataValidations,
630
663
  onChangeProtectedRanges: onChangeProtectedRanges,
664
+ onChangeCustomTableStyles: onChangeCustomTableStyles,
631
665
  onChangePivotTables: onChangePivotTables,
632
666
  onChangeCellXfs: onChangeCellXfs,
633
667
  onChangeTheme: onChangeTheme,
@@ -636,14 +670,14 @@ export var useSpreadsheetState = function (_a) {
636
670
  enqueueCalculation: enqueueCalculation,
637
671
  onChangeSharedStrings: onChangeSharedStrings,
638
672
  clearRangeCache: clearRangeCache,
639
- }), onRedoAction = _w.onRedoAction, onUndoAction = _w.onUndoAction, applyPatch = _w.applyPatch;
673
+ }), onRedoAction = _z.onRedoAction, onUndoAction = _z.onUndoAction, applyPatch = _z.applyPatch;
640
674
  // Undo manager
641
- var _x = useUndoRedo({
675
+ var _0 = useUndoRedo({
642
676
  isEnabled: enabledUndoRedo,
643
677
  onUndoAction: onUndoAction,
644
678
  onRedoAction: onRedoAction,
645
679
  onChangeHistory: onChangeHistory,
646
- }), createHistory = _x.createHistory, createHistoryWithoutPointer = _x.createHistoryWithoutPointer, onRedo = _x.onRedo, onUndo = _x.onUndo, canUndo = _x.canUndo, canRedo = _x.canRedo, onClearHistory = _x.onClearHistory;
680
+ }), createHistory = _0.createHistory, createHistoryWithoutPointer = _0.createHistoryWithoutPointer, batchHistory = _0.batchHistory, onRedo = _0.onRedo, onUndo = _0.onUndo, canUndo = _0.canUndo, canRedo = _0.canRedo, onClearHistory = _0.onClearHistory;
647
681
  var onChangeSpreadsheetTheme = useOnChangeTheme({
648
682
  createHistory: createHistory,
649
683
  onChangeTheme: onChangeTheme,
@@ -675,26 +709,35 @@ export var useSpreadsheetState = function (_a) {
675
709
  createHistory: createHistory,
676
710
  onChangeSheetData: onChangeSheetData,
677
711
  onChangeSheets: onChangeSheets,
712
+ onChangeCitations: onChangeCitations,
713
+ onChangeCharts: onChangeCharts,
714
+ onChangeEmbeds: onChangeEmbeds,
715
+ onChangeSlicers: onChangeSlicers,
716
+ onChangeTables: onChangeTables,
717
+ onChangeConditionalFormats: onChangeConditionalFormats,
718
+ onChangeDataValidations: onChangeDataValidations,
719
+ onChangeNamedRanges: onChangeNamedRanges,
720
+ onChangeProtectedRanges: onChangeProtectedRanges,
678
721
  onChangeActiveSheet: onChangeActiveSheet,
679
722
  enqueueGraphOperation: enqueueGraphOperation,
680
723
  onCommand: onCommand,
681
724
  });
682
725
  // Show hide sheet
683
- var _y = useOnShowHideSheet({
726
+ var _1 = useOnShowHideSheet({
684
727
  sheetId: activeSheetId,
685
728
  sheets: sheets,
686
729
  onChangeSheets: onChangeSheets,
687
730
  createHistory: createHistory,
688
731
  onChangeActiveSheet: onChangeActiveSheet,
689
732
  onCommand: onCommand,
690
- }), onHideSheet = _y.onHideSheet, onShowSheet = _y.onShowSheet;
733
+ }), onHideSheet = _1.onHideSheet, onShowSheet = _1.onShowSheet;
691
734
  // Protect sheet
692
- var _z = useOnProtectSheet({
735
+ var _2 = useOnProtectSheet({
693
736
  idCreationStrategy: idCreationStrategy,
694
737
  onChangeProtectedRanges: onChangeProtectedRanges,
695
738
  createHistory: createHistory,
696
739
  onCommand: onCommand,
697
- }), onProtectSheet = _z.onProtectSheet, onUnProtectSheet = _z.onUnProtectSheet;
740
+ }), onProtectSheet = _2.onProtectSheet, onUnProtectSheet = _2.onUnProtectSheet;
698
741
  // Move sheet
699
742
  var onMoveSheet = useOnMoveSheet({
700
743
  onChangeSheets: onChangeSheets,
@@ -848,16 +891,22 @@ export var useSpreadsheetState = function (_a) {
848
891
  isMergedCell: isMergedCell,
849
892
  onChangeSheetData: onChangeSheetData,
850
893
  onChangeTables: onChangeTables,
894
+ onChangeCharts: onChangeCharts,
851
895
  onChangeSheets: onChangeSheets,
852
896
  enqueueCalculation: enqueueCalculation,
853
897
  enqueueGraphOperation: enqueueGraphOperation,
854
898
  createHistory: createHistory,
899
+ batchHistory: batchHistory,
900
+ autoExpandTables: autoExpandTables,
901
+ autoCalculatedColumns: autoCalculatedColumns,
855
902
  getDependents: getDependents,
903
+ getGraphNodes: getGraphNodes,
856
904
  getUserEnteredValue: getUserEnteredValueStable,
857
905
  getTextFormatRuns: getTextFormatRuns,
858
906
  getSheetName: getSheetName,
859
907
  onCommand: onCommand,
860
908
  generatedNames: generatedNames,
909
+ onRequestCalculate: onRequestCalculateWithoutFormatting,
861
910
  });
862
911
  // onChange batch
863
912
  var onChangeBatch = useOnChangeBatch({
@@ -873,12 +922,16 @@ export var useSpreadsheetState = function (_a) {
873
922
  onChangeSheetData: onChangeSheetData,
874
923
  onChangeSheets: onChangeSheets,
875
924
  onChangeTables: onChangeTables,
925
+ onChangeCharts: onChangeCharts,
876
926
  getFormattedValue: getFormattedValue,
877
927
  getCellDimensions: getCellDimensions,
878
928
  getRowHeight: getCurrentRowHeight,
879
929
  isMergedCell: isMergedCell,
880
930
  tables: tables,
881
931
  createHistory: createHistory,
932
+ batchHistory: batchHistory,
933
+ autoExpandTables: autoExpandTables,
934
+ autoCalculatedColumns: autoCalculatedColumns,
882
935
  onChangeCitations: onChangeCitations,
883
936
  onCommand: onCommand,
884
937
  generatedNames: generatedNames,
@@ -902,10 +955,19 @@ export var useSpreadsheetState = function (_a) {
902
955
  onChangeActiveCell: onChangeActiveCell,
903
956
  isArrayFormula: isArrayFormula,
904
957
  getRowHeight: getCurrentRowHeight,
958
+ tables: tables,
959
+ generatedNames: generatedNames,
905
960
  onCommand: onCommand,
906
961
  });
962
+ // Excel sparkline groups (runs of =SPARKLINE() cells sharing one option set)
963
+ var _3 = useSparklineGroups({
964
+ onChangeBatch: onChangeBatch,
965
+ onDelete: onDelete,
966
+ batchHistory: batchHistory,
967
+ getUserEnteredValue: getUserEnteredValueStable,
968
+ }), getSparklineGroup = _3.getSparklineGroup, getSparklineAt = _3.getSparklineAt, onCreateSparklineGroup = _3.onCreateSparklineGroup, onUpdateSparklineGroup = _3.onUpdateSparklineGroup, onDeleteSparklineGroup = _3.onDeleteSparklineGroup, onClearSparklines = _3.onClearSparklines, onGroupSparklines = _3.onGroupSparklines;
907
969
  // Formatting change
908
- var _0 = useOnChangeFormatting({
970
+ var _4 = useOnChangeFormatting({
909
971
  locale: locale,
910
972
  cellXfsRegistry: cellXfsRegistry,
911
973
  getDataValidationById: getDataValidationById,
@@ -918,11 +980,12 @@ export var useSpreadsheetState = function (_a) {
918
980
  getCellDimensions: getCellDimensions,
919
981
  getRowHeight: getCurrentRowHeight,
920
982
  onCommand: onCommand,
921
- }), onChangeFormatting = _0.onChangeFormatting, onChangeBorder = _0.onChangeBorder, onRepeatFormatting = _0.onRepeatFormatting;
983
+ }), onChangeFormatting = _4.onChangeFormatting, onChangeBorder = _4.onChangeBorder, onRepeatFormatting = _4.onRepeatFormatting;
922
984
  // Merge unmerge
923
- var _1 = useOnMergeUnMergeCells({
985
+ var _5 = useOnMergeUnMergeCells({
924
986
  locale: locale,
925
987
  merges: merges,
988
+ tables: tables,
926
989
  cellXfsRegistry: cellXfsRegistry,
927
990
  sharedStringRegistry: sharedStringRegistry,
928
991
  onChangeSelections: onChangeSelections,
@@ -931,30 +994,30 @@ export var useSpreadsheetState = function (_a) {
931
994
  onChangeSheetData: onChangeSheetData,
932
995
  enqueueCalculation: enqueueCalculation,
933
996
  onCommand: onCommand,
934
- }), onMergeCells = _1.onMergeCells, onUnMergeCells = _1.onUnMergeCells;
997
+ }), onMergeCells = _5.onMergeCells, onUnMergeCells = _5.onUnMergeCells;
935
998
  // Paint formatting — carries the visible look of the source: effective formats layered over
936
999
  // table banding (as static fills), plus the merges inside the source block, tiled onto the
937
1000
  // target (issue #620 — Google Sheets parity).
938
1001
  var getPaintMerges = useCallback(function (sheetId) { var _a; return (_a = sheets.find(function (s) { return s.sheetId === sheetId; })) === null || _a === void 0 ? void 0 : _a.merges; }, [sheets]);
939
1002
  var getPaintBandedCells = useCallback(function (sheetId) {
940
1003
  var e_2, _a;
941
- var _b;
1004
+ var _b, _c;
942
1005
  var bands = [];
943
1006
  try {
944
- for (var _c = __values(tables !== null && tables !== void 0 ? tables : []), _d = _c.next(); !_d.done; _d = _c.next()) {
945
- var table = _d.value;
1007
+ for (var _d = __values(tables !== null && tables !== void 0 ? tables : []), _e = _d.next(); !_e.done; _e = _d.next()) {
1008
+ var table = _e.value;
946
1009
  if (table.sheetId !== sheetId)
947
1010
  continue;
948
1011
  var banded = (_b = table.bandedRange) !== null && _b !== void 0 ? _b : deriveBuiltInTableBanding(table);
949
1012
  if (isNil(banded))
950
1013
  continue;
951
- bands.push(__assign({ bandedRangeId: "".concat(table.id, "-").concat(table.theme), range: __assign(__assign({}, table.range), { sheetId: sheetId }) }, banded));
1014
+ bands.push(__assign({ bandedRangeId: "".concat(table.id, "-").concat(table.theme), showFirstColumn: table.showFirstColumn, showLastColumn: table.showLastColumn, totalRow: (_c = table.totalRow) !== null && _c !== void 0 ? _c : false, range: __assign(__assign({}, table.range), { sheetId: sheetId }) }, banded));
952
1015
  }
953
1016
  }
954
1017
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
955
1018
  finally {
956
1019
  try {
957
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
1020
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
958
1021
  }
959
1022
  finally { if (e_2) throw e_2.error; }
960
1023
  }
@@ -971,14 +1034,14 @@ export var useSpreadsheetState = function (_a) {
971
1034
  // `onMergeCells` clears the selection; the painted target stays selected like Excel.
972
1035
  onChangeSelections === null || onChangeSelections === void 0 ? void 0 : onChangeSelections(sheetId, [{ range: targetRange }]);
973
1036
  }, [onUnMergeCells, onMergeCells, onChangeSelections]);
974
- var _2 = usePaintFormat({
1037
+ var _6 = usePaintFormat({
975
1038
  onChangeSelections: onChangeSelections,
976
1039
  onChangeFormatting: onChangeFormatting,
977
1040
  getEffectiveFormat: getEffectiveFormat,
978
1041
  getMerges: getPaintMerges,
979
1042
  onPaintMerges: onPaintMerges,
980
1043
  getBandedCells: getPaintBandedCells,
981
- }), isPaintFormatActive = _2.isPaintFormatActive, paintFormat = _2.paintFormat, onApplyPaintFormat = _2.onApplyPaintFormat, onSavePaintFormat = _2.onSavePaintFormat;
1044
+ }), isPaintFormatActive = _6.isPaintFormatActive, paintFormat = _6.paintFormat, onApplyPaintFormat = _6.onApplyPaintFormat, onSavePaintFormat = _6.onSavePaintFormat;
982
1045
  // Selection interceptor
983
1046
  // for paint format
984
1047
  var onChangeSelectionsInterceptor = useCallback(function (sheetId, selections, finishedSelection) {
@@ -1049,6 +1112,21 @@ export var useSpreadsheetState = function (_a) {
1049
1112
  // `onMergeCells` clears the selection; the filled range stays selected like Excel.
1050
1113
  onChangeSelections === null || onChangeSelections === void 0 ? void 0 : onChangeSelections(sheetId, [{ range: selectRange }]);
1051
1114
  }, [onUnMergeCells, onMergeCells, onChangeSelections]);
1115
+ // The expansion the fill handle triggers when dragged past a table's edge (T-11).
1116
+ var onFillChangeTableColumn = useOnChangeTableColumn({
1117
+ locale: locale,
1118
+ cellXfsRegistry: cellXfsRegistry,
1119
+ sharedStringRegistry: sharedStringRegistry,
1120
+ onChangeSheetData: onChangeSheetData,
1121
+ onChangeTables: onChangeTables,
1122
+ getDependents: getDependents,
1123
+ enqueueCalculation: enqueueGraphOperation,
1124
+ enqueueGraphOperation: enqueueGraphOperation,
1125
+ createHistory: createHistory,
1126
+ onCommand: onCommand,
1127
+ generatedNames: generatedNames,
1128
+ tables: tables,
1129
+ });
1052
1130
  var onFill = useOnFill({
1053
1131
  locale: locale,
1054
1132
  cellXfsRegistry: cellXfsRegistry,
@@ -1067,6 +1145,11 @@ export var useSpreadsheetState = function (_a) {
1067
1145
  onCommand: onCommand,
1068
1146
  getMerges: getPaintMerges,
1069
1147
  onFillMerges: onFillMerges,
1148
+ tables: tables,
1149
+ getUserEnteredValue: getUserEnteredValueStable,
1150
+ onChangeTableColumn: onFillChangeTableColumn,
1151
+ batchHistory: batchHistory,
1152
+ autoExpandTables: autoExpandTables,
1070
1153
  });
1071
1154
  // Delete row
1072
1155
  var onDeleteRow = useOnDeleteRow({
@@ -1095,6 +1178,7 @@ export var useSpreadsheetState = function (_a) {
1095
1178
  onChangePivotTables: onChangePivotTables,
1096
1179
  onChangeNamedRanges: onChangeNamedRanges,
1097
1180
  onChangeEmbeds: onChangeEmbeds,
1181
+ onChangeSlicers: onChangeSlicers,
1098
1182
  onChangeCharts: onChangeCharts,
1099
1183
  onChangeProtectedRanges: onChangeProtectedRanges,
1100
1184
  getSheetName: getSheetName,
@@ -1129,6 +1213,7 @@ export var useSpreadsheetState = function (_a) {
1129
1213
  onChangePivotTables: onChangePivotTables,
1130
1214
  onChangeNamedRanges: onChangeNamedRanges,
1131
1215
  onChangeEmbeds: onChangeEmbeds,
1216
+ onChangeSlicers: onChangeSlicers,
1132
1217
  onChangeCharts: onChangeCharts,
1133
1218
  onChangeProtectedRanges: onChangeProtectedRanges,
1134
1219
  getSheetName: getSheetName,
@@ -1155,6 +1240,7 @@ export var useSpreadsheetState = function (_a) {
1155
1240
  onChangeSheetData: onChangeSheetData,
1156
1241
  onChangeTables: onChangeTables,
1157
1242
  onChangeCitations: onChangeCitations,
1243
+ onChangeCharts: onChangeCharts,
1158
1244
  onCommand: onCommand,
1159
1245
  sheetData: sheetData,
1160
1246
  sheets: sheets,
@@ -1179,6 +1265,7 @@ export var useSpreadsheetState = function (_a) {
1179
1265
  onChangeSheetData: onChangeSheetData,
1180
1266
  onChangeTables: onChangeTables,
1181
1267
  onChangeCitations: onChangeCitations,
1268
+ onChangeCharts: onChangeCharts,
1182
1269
  onCommand: onCommand,
1183
1270
  sheetData: sheetData,
1184
1271
  sheets: sheets,
@@ -1203,6 +1290,7 @@ export var useSpreadsheetState = function (_a) {
1203
1290
  onChangeSheetData: onChangeSheetData,
1204
1291
  onChangeTables: onChangeTables,
1205
1292
  onChangeCitations: onChangeCitations,
1293
+ onChangeCharts: onChangeCharts,
1206
1294
  onCommand: onCommand,
1207
1295
  sheetData: sheetData,
1208
1296
  sheets: sheets,
@@ -1227,6 +1315,7 @@ export var useSpreadsheetState = function (_a) {
1227
1315
  onChangeSheetData: onChangeSheetData,
1228
1316
  onChangeTables: onChangeTables,
1229
1317
  onChangeCitations: onChangeCitations,
1318
+ onChangeCharts: onChangeCharts,
1230
1319
  onCommand: onCommand,
1231
1320
  sheetData: sheetData,
1232
1321
  sheets: sheets,
@@ -1257,6 +1346,7 @@ export var useSpreadsheetState = function (_a) {
1257
1346
  onChangePivotTables: onChangePivotTables,
1258
1347
  onChangeNamedRanges: onChangeNamedRanges,
1259
1348
  onChangeEmbeds: onChangeEmbeds,
1349
+ onChangeSlicers: onChangeSlicers,
1260
1350
  onChangeCharts: onChangeCharts,
1261
1351
  onChangeProtectedRanges: onChangeProtectedRanges,
1262
1352
  onChangeTables: onChangeTables,
@@ -1289,6 +1379,7 @@ export var useSpreadsheetState = function (_a) {
1289
1379
  onChangePivotTables: onChangePivotTables,
1290
1380
  onChangeNamedRanges: onChangeNamedRanges,
1291
1381
  onChangeEmbeds: onChangeEmbeds,
1382
+ onChangeSlicers: onChangeSlicers,
1292
1383
  onChangeCharts: onChangeCharts,
1293
1384
  onChangeProtectedRanges: onChangeProtectedRanges,
1294
1385
  getActiveCell: getActiveCell,
@@ -1312,6 +1403,7 @@ export var useSpreadsheetState = function (_a) {
1312
1403
  onChangeSheetData: onChangeSheetData,
1313
1404
  onChangeConditionalFormats: onChangeConditionalFormats,
1314
1405
  onChangeDataValidations: onChangeDataValidations,
1406
+ onChangeCharts: onChangeCharts,
1315
1407
  getDependents: getDependents,
1316
1408
  getDataRowCount: getDataRowCount,
1317
1409
  onCommand: onCommand,
@@ -1330,6 +1422,7 @@ export var useSpreadsheetState = function (_a) {
1330
1422
  onChangeSheetData: onChangeSheetData,
1331
1423
  onChangeTables: onChangeTables,
1332
1424
  onChangeNamedRanges: onChangeNamedRanges,
1425
+ onChangeCharts: onChangeCharts,
1333
1426
  onChangeConditionalFormats: onChangeConditionalFormats,
1334
1427
  onChangeDataValidations: onChangeDataValidations,
1335
1428
  getDependents: getDependents,
@@ -1349,6 +1442,7 @@ export var useSpreadsheetState = function (_a) {
1349
1442
  onChangeSheets: onChangeSheets,
1350
1443
  onChangeTables: onChangeTables,
1351
1444
  onChangeNamedRanges: onChangeNamedRanges,
1445
+ onChangeCharts: onChangeCharts,
1352
1446
  onChangeDataValidations: onChangeDataValidations,
1353
1447
  onChangeConditionalFormats: onChangeConditionalFormats,
1354
1448
  onChangePivotTables: onChangePivotTables,
@@ -1366,7 +1460,7 @@ export var useSpreadsheetState = function (_a) {
1366
1460
  // opening, close the gap it left — so Shift+drag A5 to A2 over r1..r6 gives r1 r5 r2 r3 r4 r6 and
1367
1461
  // a forward move lands before Excel's pre-removal reference row. The refusals are decided up
1368
1462
  // front — a merge the block or a shifted band covers only partially, a protected range — so a
1369
- // refused move never leaves the band opened. Each step records its own undo entry.
1463
+ // refused move never leaves the band opened. The three steps record ONE undo entry.
1370
1464
  var showError = useShowError();
1371
1465
  var canEditCellRange = useCanEditCellRange();
1372
1466
  var canPerformSheetAction = useCanPerformSheetAction();
@@ -1382,6 +1476,17 @@ export var useSpreadsheetState = function (_a) {
1382
1476
  showError({ message: MERGED_CELL_MOVE_ERROR });
1383
1477
  return;
1384
1478
  }
1479
+ // A block covering part of a table never moves (T-46) — refused before the band opens.
1480
+ var tableRefusal = getMoveRangeRefusal({
1481
+ sheetId: sheetId,
1482
+ from: from.range,
1483
+ to: to.range,
1484
+ tables: tables,
1485
+ });
1486
+ if (tableRefusal) {
1487
+ showError({ title: tableRefusal.title, message: tableRefusal.message });
1488
+ return;
1489
+ }
1385
1490
  var vertical = plan.shift === "down";
1386
1491
  if (!canEditCellRange(sheetId, from.range) ||
1387
1492
  !canEditCellRange(sheetId, to.range) ||
@@ -1397,25 +1502,28 @@ export var useSpreadsheetState = function (_a) {
1397
1502
  rowIndex: to.range.startRowIndex,
1398
1503
  columnIndex: to.range.startColumnIndex,
1399
1504
  };
1400
- if (vertical) {
1401
- onInsertCellsShiftDown(sheetId, target, [to]);
1402
- }
1403
- else {
1404
- onInsertCellsShiftRight(sheetId, target, [to]);
1405
- }
1406
1505
  var source = __assign(__assign({}, from), { range: plan.shiftedSource });
1407
- onMoveSelection(sheetId, source, to);
1408
1506
  var vacated = {
1409
1507
  rowIndex: plan.shiftedSource.startRowIndex,
1410
1508
  columnIndex: plan.shiftedSource.startColumnIndex,
1411
1509
  };
1412
- if (vertical) {
1413
- onDeleteCellsShiftUp(sheetId, vacated, [source]);
1414
- }
1415
- else {
1416
- onDeleteCellsShiftLeft(sheetId, vacated, [source]);
1417
- }
1510
+ batchHistory(function () {
1511
+ if (vertical) {
1512
+ onInsertCellsShiftDown(sheetId, target, [to]);
1513
+ }
1514
+ else {
1515
+ onInsertCellsShiftRight(sheetId, target, [to]);
1516
+ }
1517
+ onMoveSelection(sheetId, source, to);
1518
+ if (vertical) {
1519
+ onDeleteCellsShiftUp(sheetId, vacated, [source]);
1520
+ }
1521
+ else {
1522
+ onDeleteCellsShiftLeft(sheetId, vacated, [source]);
1523
+ }
1524
+ });
1418
1525
  }, [
1526
+ batchHistory,
1419
1527
  getPaintMerges,
1420
1528
  showError,
1421
1529
  canEditCellRange,
@@ -1433,11 +1541,15 @@ export var useSpreadsheetState = function (_a) {
1433
1541
  locale: locale,
1434
1542
  sharedStringRegistry: sharedStringRegistry,
1435
1543
  onChangeSheetData: onChangeSheetData,
1544
+ onChangeSheets: onChangeSheets,
1436
1545
  enqueueCalculation: enqueueCalculation,
1437
1546
  enqueueStructureChange: enqueueStructureChange,
1438
1547
  enqueueGraphOperation: enqueueGraphOperation,
1439
1548
  createHistory: createHistory,
1549
+ getCellData: getCellData,
1550
+ getDataRowCount: getDataRowCount,
1440
1551
  isHiddenRow: isHiddenRow,
1552
+ isManuallyHiddenRow: isManuallyHiddenRow,
1441
1553
  getDependents: getDependents,
1442
1554
  getFrozenRowCount: getFrozenRowCount,
1443
1555
  getSheetName: getSheetName,
@@ -1453,12 +1565,14 @@ export var useSpreadsheetState = function (_a) {
1453
1565
  enqueueGraphOperation: enqueueGraphOperation,
1454
1566
  enqueueCalculation: enqueueCalculation,
1455
1567
  enqueueStructureChange: enqueueStructureChange,
1568
+ getCellData: getCellData,
1456
1569
  getDependents: getDependents,
1457
1570
  createHistory: createHistory,
1458
1571
  onChangeTables: onChangeTables,
1459
1572
  onChangeSheets: onChangeSheets,
1460
1573
  getActiveCell: getActiveCell,
1461
1574
  isHiddenRow: isHiddenRow,
1575
+ isManuallyHiddenRow: isManuallyHiddenRow,
1462
1576
  getFrozenRowCount: getFrozenRowCount,
1463
1577
  getSheetName: getSheetName,
1464
1578
  getEffectiveFormat: getEffectiveFormat,
@@ -1466,7 +1580,7 @@ export var useSpreadsheetState = function (_a) {
1466
1580
  onCommand: onCommand,
1467
1581
  });
1468
1582
  // Sort range
1469
- var _3 = __read(useOnFilterTable({
1583
+ var _7 = __read(useOnFilterTable({
1470
1584
  theme: theme,
1471
1585
  createHistory: createHistory,
1472
1586
  onChangeTables: onChangeTables,
@@ -1480,25 +1594,71 @@ export var useSpreadsheetState = function (_a) {
1480
1594
  onRequestCalculate: onRequestCalculateWithoutFormatting,
1481
1595
  onCommand: onCommand,
1482
1596
  onRowVisibilityChange: onRowVisibilityChange,
1483
- }), 2), onFilterTable = _3[0], onDeleteFilter = _3[1];
1597
+ }), 2), onFilterTable = _7[0], onDeleteFilter = _7[1];
1484
1598
  // Resize table
1485
1599
  var onResizeTable = useOnResizeTable({
1486
1600
  rowCount: rowCount,
1487
1601
  columnCount: columnCount,
1488
1602
  locale: locale,
1489
1603
  tables: tables,
1604
+ merges: merges,
1490
1605
  basicFilter: basicFilter,
1491
1606
  getActiveCell: getActiveCell,
1492
1607
  createHistory: createHistory,
1493
1608
  onChangeTables: onChangeTables,
1494
1609
  onChangeSheetData: onChangeSheetData,
1610
+ onChangeCharts: onChangeCharts,
1495
1611
  enqueueCalculation: enqueueCalculation,
1496
1612
  enqueueGraphOperation: enqueueGraphOperation,
1497
1613
  getFormattedValue: getFormattedValue,
1498
1614
  getDependents: getDependents,
1615
+ getSheetName: getSheetName,
1499
1616
  onCommand: onCommand,
1500
1617
  generatedNames: generatedNames,
1501
1618
  });
1619
+ // The AutoCorrect smart tag's "Undo Table AutoExpansion"
1620
+ var onUndoTableAutoExpansion = useOnUndoTableAutoExpansion({
1621
+ locale: locale,
1622
+ cellXfsRegistry: cellXfsRegistry,
1623
+ tables: tables,
1624
+ createHistory: createHistory,
1625
+ batchHistory: batchHistory,
1626
+ onResizeTable: onResizeTable,
1627
+ onChangeSheetData: onChangeSheetData,
1628
+ enqueueCalculation: enqueueCalculation,
1629
+ onCommand: onCommand,
1630
+ });
1631
+ // The AutoCorrect smart tag's "Undo Calculated Column" / "Overwrite all cells in this column
1632
+ // with this formula"
1633
+ var onUndoCalculatedColumn = useOnUndoCalculatedColumn({
1634
+ tables: tables,
1635
+ createHistory: createHistory,
1636
+ batchHistory: batchHistory,
1637
+ onChangeSheetData: onChangeSheetData,
1638
+ onChangeTables: onChangeTables,
1639
+ enqueueCalculation: enqueueCalculation,
1640
+ onCommand: onCommand,
1641
+ });
1642
+ var onFillCalculatedColumn = useOnChangeCalculatedColumn({
1643
+ locale: locale,
1644
+ cellXfsRegistry: cellXfsRegistry,
1645
+ sharedStringRegistry: sharedStringRegistry,
1646
+ onChangeTables: onChangeTables,
1647
+ onChangeSheetData: onChangeSheetData,
1648
+ getUserEnteredValue: getUserEnteredValueStable,
1649
+ getSheetName: getSheetName,
1650
+ createHistory: createHistory,
1651
+ enqueueCalculation: enqueueCalculation,
1652
+ onCommand: onCommand,
1653
+ });
1654
+ var onOverwriteCalculatedColumn = useCallback(function (fill) {
1655
+ var table = tables === null || tables === void 0 ? void 0 : tables.find(function (candidate) { return candidate.id === fill.tableId && candidate.sheetId === fill.sheetId; });
1656
+ if (!table)
1657
+ return;
1658
+ batchHistory(function () {
1659
+ onFillCalculatedColumn(fill.sheetId, fill.anchor, fill.formula, table, { force: true });
1660
+ });
1661
+ }, [tables, batchHistory, onFillCalculatedColumn]);
1502
1662
  // Copy
1503
1663
  var onCopy = useOnCopy({
1504
1664
  theme: theme,
@@ -1522,6 +1682,7 @@ export var useSpreadsheetState = function (_a) {
1522
1682
  locale: locale,
1523
1683
  sheetData: sheetData,
1524
1684
  onChangeNamedRanges: onChangeNamedRanges,
1685
+ onChangeCharts: onChangeCharts,
1525
1686
  getSheetMerges: getPaintMerges,
1526
1687
  getDataValidationById: getDataValidationById,
1527
1688
  preserveFormatting: preserveFormattingOnPaste,
@@ -1540,6 +1701,9 @@ export var useSpreadsheetState = function (_a) {
1540
1701
  enqueueStructureChange: enqueueStructureChange,
1541
1702
  enqueueGraphOperation: enqueueGraphOperation,
1542
1703
  createHistory: createHistory,
1704
+ batchHistory: batchHistory,
1705
+ autoExpandTables: autoExpandTables,
1706
+ autoCalculatedColumns: autoCalculatedColumns,
1543
1707
  onChangeSheetData: onChangeSheetData,
1544
1708
  onChangeSheets: onChangeSheets,
1545
1709
  onChangeSelections: onChangeSelections,
@@ -1556,12 +1720,20 @@ export var useSpreadsheetState = function (_a) {
1556
1720
  generatedNames: generatedNames,
1557
1721
  });
1558
1722
  // Create table
1559
- var _4 = useOnTable({
1723
+ var _8 = useOnTable({
1560
1724
  locale: locale,
1561
1725
  rowCount: rowCount,
1562
1726
  columnCount: columnCount,
1563
1727
  tables: tables,
1728
+ namedRanges: namedRanges,
1564
1729
  basicFilter: basicFilter,
1730
+ sheetData: sheetData,
1731
+ sheets: sheets,
1732
+ batchHistory: batchHistory,
1733
+ getActiveCell: getActiveCell,
1734
+ getSelections: getSelections,
1735
+ onChangeCitations: onChangeCitations,
1736
+ onChangeCharts: onChangeCharts,
1565
1737
  cellXfsRegistry: cellXfsRegistry,
1566
1738
  sharedStringRegistry: sharedStringRegistry,
1567
1739
  theme: theme,
@@ -1576,12 +1748,16 @@ export var useSpreadsheetState = function (_a) {
1576
1748
  getEffectiveValue: getEffectiveValue,
1577
1749
  onRequestCalculate: onRequestCalculate,
1578
1750
  getDependents: getDependents,
1751
+ getGraphNodes: getGraphNodes,
1752
+ getBandedCells: getPaintBandedCells,
1579
1753
  enqueueGraphOperation: enqueueGraphOperation,
1580
1754
  getContentfulRangeAroundCell: getContentfulRangeAroundCell,
1581
1755
  getSheetName: getSheetName,
1582
1756
  onCommand: onCommand,
1583
1757
  generatedNames: generatedNames,
1584
- }), onCreateTable = _4.onCreateTable, onRemoveTable = _4.onRemoveTable, onUpdateTable = _4.onUpdateTable, onCreateBasicFilter = _4.onCreateBasicFilter, onInsertTableColumn = _4.onInsertTableColumn, onDeleteTableColumn = _4.onDeleteTableColumn;
1758
+ onChangeDataValidations: onChangeDataValidations,
1759
+ onChangeConditionalFormats: onChangeConditionalFormats,
1760
+ }), onCreateTable = _8.onCreateTable, onRemoveTable = _8.onRemoveTable, onUpdateTable = _8.onUpdateTable, onCreateBasicFilter = _8.onCreateBasicFilter, onInsertTableColumn = _8.onInsertTableColumn, onDeleteTableColumn = _8.onDeleteTableColumn;
1585
1761
  // Insert table row
1586
1762
  var onInsertTableRow = useOnInsertTableRow({
1587
1763
  rowCount: rowCount,
@@ -1597,10 +1773,12 @@ export var useSpreadsheetState = function (_a) {
1597
1773
  onChangeSheetData: onChangeSheetData,
1598
1774
  onChangeSheets: onChangeSheets,
1599
1775
  onChangeTables: onChangeTables,
1776
+ onChangeCharts: onChangeCharts,
1600
1777
  onChangeConditionalFormats: onChangeConditionalFormats,
1601
1778
  onChangeDataValidations: onChangeDataValidations,
1602
1779
  getSheetName: getSheetName,
1603
1780
  onCommand: onCommand,
1781
+ tables: tables,
1604
1782
  });
1605
1783
  // Delete table row
1606
1784
  var onDeleteTableRow = useOnDeleteTableRow({
@@ -1616,29 +1794,40 @@ export var useSpreadsheetState = function (_a) {
1616
1794
  onChangeSheetData: onChangeSheetData,
1617
1795
  onChangeSheets: onChangeSheets,
1618
1796
  onChangeTables: onChangeTables,
1797
+ onChangeCharts: onChangeCharts,
1619
1798
  onChangeConditionalFormats: onChangeConditionalFormats,
1620
1799
  onChangeDataValidations: onChangeDataValidations,
1621
1800
  getSheetName: getSheetName,
1622
1801
  onCommand: onCommand,
1802
+ tables: tables,
1623
1803
  });
1624
1804
  // Fill range
1625
1805
  var onFillRange = useOnFillRange({
1626
1806
  onFill: onFill,
1627
1807
  });
1628
1808
  // Embeds
1629
- var _5 = useOnEmbeds({
1809
+ var _9 = useOnEmbeds({
1630
1810
  onChangeEmbeds: onChangeEmbeds,
1811
+ onChangeCharts: onChangeCharts,
1631
1812
  createHistory: createHistory,
1632
1813
  onCommand: onCommand,
1633
- }), onDeleteEmbed = _5.onDeleteEmbed, onMoveEmbed = _5.onMoveEmbed, onResizeEmbed = _5.onResizeEmbed, onCreateEmbed = _5.onCreateEmbed, onRequestEditEmbed = _5.onRequestEditEmbed;
1814
+ }), onDeleteEmbed = _9.onDeleteEmbed, onMoveEmbed = _9.onMoveEmbed, onResizeEmbed = _9.onResizeEmbed, onCreateEmbed = _9.onCreateEmbed, onUpdateEmbed = _9.onUpdateEmbed, onRequestEditEmbed = _9.onRequestEditEmbed, onChangeZOrder = _9.onChangeZOrder;
1634
1815
  // Slicers
1635
- var _6 = useSlicers({
1816
+ var _10 = useSlicers({
1636
1817
  onChangeSlicers: onChangeSlicers,
1637
1818
  createHistory: createHistory,
1638
1819
  onCommand: onCommand,
1639
- }), onDeleteSlicer = _6.onDeleteSlicer, onMoveSlicer = _6.onMoveSlicer, onResizeSlicer = _6.onResizeSlicer, onCreateSlicer = _6.onCreateSlicer, onUpdateSlicer = _6.onUpdateSlicer, onRequestEditSlicer = _6.onRequestEditSlicer;
1820
+ }), onDeleteSlicer = _10.onDeleteSlicer, onMoveSlicer = _10.onMoveSlicer, onResizeSlicer = _10.onResizeSlicer, onCreateSlicer = _10.onCreateSlicer, onUpdateSlicer = _10.onUpdateSlicer, onRequestEditSlicer = _10.onRequestEditSlicer;
1640
1821
  // Show modal dialog for table editor
1641
1822
  var onRequestEditTable = useOnRequestEditTable();
1823
+ // Show the Resize Table dialog (Table Design → Resize Table)
1824
+ var onRequestResizeTable = useOnRequestResizeTable();
1825
+ // Show the Insert Slicers dialog (Table Design → Insert Slicer)
1826
+ var onRequestInsertSlicer = useOnRequestInsertSlicer();
1827
+ // Show the Create Table dialog (Ctrl+T / Insert → Table / Format as Table)
1828
+ var onRequestCreateTable = useOnRequestCreateTable({
1829
+ getEffectiveExtendedValue: getEffectiveExtendedValue,
1830
+ });
1642
1831
  // Show modal dialog for table editor
1643
1832
  var onRequestDefineNamedRange = useOnRequestDefineNamedRange({
1644
1833
  namedRanges: namedRanges,
@@ -1648,6 +1837,7 @@ export var useSpreadsheetState = function (_a) {
1648
1837
  // Update named range
1649
1838
  var onUpdateNamedRange = useOnUpdateNamedRange({
1650
1839
  locale: locale,
1840
+ tables: tables,
1651
1841
  getDependents: getDependents,
1652
1842
  getActiveCell: getActiveCell,
1653
1843
  enqueueCalculation: enqueueCalculation,
@@ -1658,6 +1848,7 @@ export var useSpreadsheetState = function (_a) {
1658
1848
  });
1659
1849
  // Update named range
1660
1850
  var onCreateNamedRange = useOnCreateNamedRange({
1851
+ tables: tables,
1661
1852
  enqueueCalculation: enqueueCalculation,
1662
1853
  createHistory: createHistory,
1663
1854
  onChangeNamedRanges: onChangeNamedRanges,
@@ -1672,13 +1863,13 @@ export var useSpreadsheetState = function (_a) {
1672
1863
  onCommand: onCommand,
1673
1864
  });
1674
1865
  // Freeze rows and columns
1675
- var _7 = __read(useOnFreeze({
1866
+ var _11 = __read(useOnFreeze({
1676
1867
  createHistory: createHistory,
1677
1868
  onChangeSheets: onChangeSheets,
1678
1869
  onChangeEmbeds: onChangeEmbeds,
1679
1870
  onChangeCharts: onChangeCharts,
1680
1871
  onCommand: onCommand,
1681
- }), 2), onFreezeRow = _7[0], onFreezeColumn = _7[1];
1872
+ }), 2), onFreezeRow = _11[0], onFreezeColumn = _11[1];
1682
1873
  // Request insert image
1683
1874
  var onRequestInsertImage = useOnRequestInsertImage();
1684
1875
  // Insert image
@@ -1694,7 +1885,7 @@ export var useSpreadsheetState = function (_a) {
1694
1885
  // Request insert image
1695
1886
  var onRequestInsertLink = useOnRequestInsertLink();
1696
1887
  // Insert link
1697
- var _8 = __read(useOnInsertLink({
1888
+ var _12 = __read(useOnInsertLink({
1698
1889
  locale: locale,
1699
1890
  sharedStringRegistry: sharedStringRegistry,
1700
1891
  cellXfsRegistry: cellXfsRegistry,
@@ -1704,7 +1895,7 @@ export var useSpreadsheetState = function (_a) {
1704
1895
  enqueueCalculation: enqueueCalculation,
1705
1896
  onChangeSheetData: onChangeSheetData,
1706
1897
  onCommand: onCommand,
1707
- }), 3), onInsertLink = _8[0], onRemoveLink = _8[1], onSelectLink = _8[2];
1898
+ }), 3), onInsertLink = _12[0], onRemoveLink = _12[1], onSelectLink = _12[2];
1708
1899
  // Insert checkbox
1709
1900
  var onInsertCheckbox = useOnInsertCheckbox({
1710
1901
  locale: locale,
@@ -1714,11 +1905,11 @@ export var useSpreadsheetState = function (_a) {
1714
1905
  onCommand: onCommand,
1715
1906
  });
1716
1907
  // Banded range
1717
- var _9 = useOnBandedRanges({
1908
+ var _13 = useOnBandedRanges({
1718
1909
  createHistory: createHistory,
1719
1910
  onChangeBandedRanges: onChangeBandedRanges,
1720
1911
  onCommand: onCommand,
1721
- }), onAddBandedRange = _9.onAddBandedRange, onRemoveBandedRange = _9.onRemoveBandedRange;
1912
+ }), onAddBandedRange = _13.onAddBandedRange, onRemoveBandedRange = _13.onRemoveBandedRange;
1722
1913
  // Notes
1723
1914
  var onUpdateNote = useOnUpdateNote({
1724
1915
  locale: locale,
@@ -1737,22 +1928,31 @@ export var useSpreadsheetState = function (_a) {
1737
1928
  enqueueStructureChange: enqueueStructureChange,
1738
1929
  enqueueGraphOperation: enqueueGraphOperation,
1739
1930
  onChangeSheetData: onChangeSheetData,
1931
+ onChangeSheets: onChangeSheets,
1932
+ getCellData: getCellData,
1740
1933
  getDependents: getDependents,
1741
1934
  isHiddenRow: isHiddenRow,
1935
+ isManuallyHiddenRow: isManuallyHiddenRow,
1742
1936
  getFrozenRowCount: getFrozenRowCount,
1743
1937
  getSheetName: getSheetName,
1744
1938
  getEffectiveFormat: getEffectiveFormat,
1745
1939
  theme: theme,
1746
1940
  });
1747
1941
  // Protect range
1748
- var _10 = useOnProtectRange({
1942
+ var _14 = useOnProtectRange({
1749
1943
  idCreationStrategy: idCreationStrategy,
1750
1944
  createHistory: createHistory,
1751
1945
  onChangeProtectedRanges: onChangeProtectedRanges,
1752
1946
  onCommand: onCommand,
1753
- }), onProtectRange = _10.onProtectRange, onUnProtectRange = _10.onUnProtectRange;
1947
+ }), onProtectRange = _14.onProtectRange, onUnProtectRange = _14.onUnProtectRange;
1948
+ // Custom table styles (Excel's New Table Style)
1949
+ var onCreateCustomTableStyle = useOnCreateCustomTableStyle({
1950
+ createHistory: createHistory,
1951
+ onChangeCustomTableStyles: onChangeCustomTableStyles,
1952
+ onCommand: onCommand,
1953
+ });
1754
1954
  // Indent
1755
- var _11 = useIndent({
1955
+ var _15 = useIndent({
1756
1956
  locale: locale,
1757
1957
  createHistory: createHistory,
1758
1958
  onChangeSheetData: onChangeSheetData,
@@ -1760,7 +1960,7 @@ export var useSpreadsheetState = function (_a) {
1760
1960
  cellXfsRegistry: cellXfsRegistry,
1761
1961
  getDataValidationById: getDataValidationById,
1762
1962
  onCommand: onCommand,
1763
- }), onIncreaseIndent = _11.onIncreaseIndent, onDecreaseIndent = _11.onDecreaseIndent, onChangeIndent = _11.onChangeIndent;
1963
+ }), onIncreaseIndent = _15.onIncreaseIndent, onDecreaseIndent = _15.onDecreaseIndent, onChangeIndent = _15.onChangeIndent;
1764
1964
  var onAutoResize = useOnAutoResize({
1765
1965
  onChangeSheets: onChangeSheets,
1766
1966
  createHistory: createHistory,
@@ -1819,13 +2019,13 @@ export var useSpreadsheetState = function (_a) {
1819
2019
  onStreamEnd: onStreamEnd,
1820
2020
  });
1821
2021
  // Conditional format actions
1822
- var _12 = useConditionalFormattingRules({
2022
+ var _16 = useConditionalFormattingRules({
1823
2023
  enqueueCalculation: enqueueCalculation,
1824
2024
  onChangeConditionalFormats: onChangeConditionalFormats,
1825
2025
  createHistory: createHistory,
1826
- }), onCreateConditionalFormattingRule = _12.onCreateConditionalFormattingRule, onUpdateConditionalFormattingRule = _12.onUpdateConditionalFormattingRule, onDeleteConditionalFormattingRule = _12.onDeleteConditionalFormattingRule, onPreviewConditionalFormattingRule = _12.onPreviewConditionalFormattingRule;
2026
+ }), onCreateConditionalFormattingRule = _16.onCreateConditionalFormattingRule, onUpdateConditionalFormattingRule = _16.onUpdateConditionalFormattingRule, onDeleteConditionalFormattingRule = _16.onDeleteConditionalFormattingRule, onPreviewConditionalFormattingRule = _16.onPreviewConditionalFormattingRule;
1827
2027
  // Data validations
1828
- var _13 = useDataValidationRules({
2028
+ var _17 = useDataValidationRules({
1829
2029
  locale: locale,
1830
2030
  onChangeDataValidations: onChangeDataValidations,
1831
2031
  onChangeSheetData: onChangeSheetData,
@@ -1835,7 +2035,7 @@ export var useSpreadsheetState = function (_a) {
1835
2035
  getSheetName: getSheetName,
1836
2036
  cellXfsRegistry: cellXfsRegistry,
1837
2037
  sharedStringRegistry: sharedStringRegistry,
1838
- }), onCreateDataValidationRule = _13.onCreateDataValidationRule, onUpdateDataValidationRule = _13.onUpdateDataValidationRule, onDeleteDataValidationRule = _13.onDeleteDataValidationRule, onDeleteDataValidationRules = _13.onDeleteDataValidationRules;
2038
+ }), onCreateDataValidationRule = _17.onCreateDataValidationRule, onUpdateDataValidationRule = _17.onUpdateDataValidationRule, onDeleteDataValidationRule = _17.onDeleteDataValidationRule, onDeleteDataValidationRules = _17.onDeleteDataValidationRules;
1839
2039
  // Request datavalidation
1840
2040
  var onRequestDataValidation = useOnRequestDataValidation({
1841
2041
  onCreateDataValidationRule: onCreateDataValidationRule,
@@ -1851,7 +2051,7 @@ export var useSpreadsheetState = function (_a) {
1851
2051
  onCommand: onCommand,
1852
2052
  });
1853
2053
  // Read excel file
1854
- var _14 = useOnImportExcelFile({
2054
+ var _18 = useOnImportExcelFile({
1855
2055
  enableExcelImportHistory: enableExcelImportHistory,
1856
2056
  onRequestFonts: onRequestFonts,
1857
2057
  onChangeHistory: onChangeHistory,
@@ -1867,6 +2067,7 @@ export var useSpreadsheetState = function (_a) {
1867
2067
  onCreateDataValidationRule: onCreateDataValidationRule,
1868
2068
  onChangeTheme: onChangeTheme,
1869
2069
  onChangeNamedCellStyles: onChangeNamedCellStyles,
2070
+ onChangeCustomTableStyles: onChangeCustomTableStyles,
1870
2071
  onClearHistory: onClearHistory,
1871
2072
  evaluateConditionalFormatting: evaluateConditionalFormatting,
1872
2073
  evaluateDataValidations: evaluateDataValidations,
@@ -1877,7 +2078,7 @@ export var useSpreadsheetState = function (_a) {
1877
2078
  onChangePivotTables: onChangePivotTables,
1878
2079
  onConfirm: onConfirm,
1879
2080
  onPrompt: onPrompt,
1880
- }), importExcelFile = _14.importExcelFile, isImportingExcelfile = _14.isImportingExcelfile, generateStatePatches = _14.generateStatePatches;
2081
+ }), importExcelFile = _18.importExcelFile, isImportingExcelfile = _18.isImportingExcelfile, generateStatePatches = _18.generateStatePatches;
1881
2082
  // Read csv file
1882
2083
  var importCSVFile = useOnImportCSV({
1883
2084
  sheetId: activeSheetId,
@@ -1910,7 +2111,7 @@ export var useSpreadsheetState = function (_a) {
1910
2111
  getDependents: getDependents,
1911
2112
  }).importCSVFile;
1912
2113
  // Drag n drop files
1913
- var _15 = useOnDragnDrop({
2114
+ var _19 = useOnDragnDrop({
1914
2115
  sheetId: activeSheetId,
1915
2116
  locale: locale,
1916
2117
  fileSizeLimit: fileSizeLimit,
@@ -1931,7 +2132,7 @@ export var useSpreadsheetState = function (_a) {
1931
2132
  enabledSharedStrings: sharedStringRegistry.active,
1932
2133
  onConfirm: onConfirm,
1933
2134
  onPrompt: onPrompt,
1934
- }), onDragOver = _15.onDragOver, onDrop = _15.onDrop, onInsertFile = _15.onInsertFile;
2135
+ }), onDragOver = _19.onDragOver, onDrop = _19.onDrop, onInsertFile = _19.onInsertFile;
1935
2136
  // Split text to columns
1936
2137
  var onSplitTextToColumns = useSplitTextToColumns({
1937
2138
  createHistory: createHistory,
@@ -1947,11 +2148,13 @@ export var useSpreadsheetState = function (_a) {
1947
2148
  createHistory: createHistory,
1948
2149
  enqueueCalculation: enqueueCalculation,
1949
2150
  onChangeSheetData: onChangeSheetData,
2151
+ onChangeTables: onChangeTables,
1950
2152
  locale: locale,
1951
2153
  cellXfsRegistry: cellXfsRegistry,
1952
2154
  sharedStringRegistry: sharedStringRegistry,
1953
2155
  getFormattedValue: getFormattedValue,
1954
2156
  onCommand: onCommand,
2157
+ tables: tables,
1955
2158
  });
1956
2159
  // Goal Seek — scratch-evaluates through the calculator, commits via onChange
1957
2160
  var onGoalSeek = useOnGoalSeek({
@@ -1972,6 +2175,7 @@ export var useSpreadsheetState = function (_a) {
1972
2175
  onChangeBatch: onChangeBatch,
1973
2176
  onGroupRows: onGroupRows,
1974
2177
  onUngroupRows: onUngroupRows,
2178
+ batchHistory: batchHistory,
1975
2179
  });
1976
2180
  // Data → Advanced filter (criteria range) over the hide/show/write callbacks
1977
2181
  var onAdvancedFilter = useOnAdvancedFilter({
@@ -1982,25 +2186,27 @@ export var useSpreadsheetState = function (_a) {
1982
2186
  onChangeBatch: onChangeBatch,
1983
2187
  });
1984
2188
  // Trace dependents and precedents
1985
- var _16 = useOnTraceDependentsPrecedents({
2189
+ var _20 = useOnTraceDependentsPrecedents({
1986
2190
  getDependents: getDependents,
1987
2191
  getPrecedents: getPrecedents,
1988
- }), arrows = _16.arrows, onRemoveArrows = _16.onRemoveArrows, onTraceDependents = _16.onTraceDependents, onTracePrecedents = _16.onTracePrecedents;
2192
+ }), arrows = _20.arrows, onRemoveArrows = _20.onRemoveArrows, onTraceDependents = _20.onTraceDependents, onTracePrecedents = _20.onTracePrecedents;
1989
2193
  // Comments
1990
- var _17 = useComments({
2194
+ var _21 = useComments({
1991
2195
  onChangeSheetData: onChangeSheetData,
1992
2196
  createHistory: createHistory,
1993
2197
  locale: locale,
1994
- }), onInsertComment = _17.onInsertComment, onRemoveComment = _17.onRemoveComment;
2198
+ }), onInsertComment = _21.onInsertComment, onRemoveComment = _21.onRemoveComment;
1995
2199
  // Citations
1996
- var _18 = useCitations({
2200
+ var _22 = useCitations({
1997
2201
  onChangeSheetData: onChangeSheetData,
1998
2202
  onChangeCitations: onChangeCitations,
1999
2203
  createHistory: createHistory,
2000
2204
  locale: locale,
2001
- }), onCreateCitation = _18.onCreateCitation, onUpdateCitation = _18.onUpdateCitation, onRemoveCitationFromCell = _18.onRemoveCitationFromCell, onDeleteCitation = _18.onDeleteCitation;
2205
+ }), onCreateCitation = _22.onCreateCitation, onUpdateCitation = _22.onUpdateCitation, onRemoveCitationFromCell = _22.onRemoveCitationFromCell, onDeleteCitation = _22.onDeleteCitation;
2002
2206
  return {
2003
2207
  namedCellStyles: namedCellStyles,
2208
+ customTableStyles: customTableStyles,
2209
+ onCreateCustomTableStyle: onCreateCustomTableStyle,
2004
2210
  activeCellBySheetId: activeCellBySheetId,
2005
2211
  selectionsBySheetId: selectionsBySheetId,
2006
2212
  activeCell: activeCell,
@@ -2017,6 +2223,7 @@ export var useSpreadsheetState = function (_a) {
2017
2223
  columnMetadata: columnMetadata,
2018
2224
  merges: merges,
2019
2225
  bandedRanges: bandedRanges,
2226
+ onPreviewTableStyle: onPreviewTableStyle,
2020
2227
  basicFilter: basicFilter,
2021
2228
  spreadsheetColors: spreadsheetColors,
2022
2229
  isDarkMode: isDarkMode,
@@ -2043,6 +2250,7 @@ export var useSpreadsheetState = function (_a) {
2043
2250
  getUserEnteredValue: getUserEnteredValue,
2044
2251
  getFormattedValue: getFormattedValue,
2045
2252
  createHistory: createHistory,
2253
+ batchHistory: batchHistory,
2046
2254
  onRequestCalculate: onRequestCalculate,
2047
2255
  enqueueCalculation: enqueueCalculation,
2048
2256
  enqueueGraphOperation: enqueueGraphOperation,
@@ -2103,13 +2311,22 @@ export var useSpreadsheetState = function (_a) {
2103
2311
  onResizeEmbed: onResizeEmbed,
2104
2312
  onDeleteEmbed: onDeleteEmbed,
2105
2313
  onCreateEmbed: onCreateEmbed,
2314
+ onUpdateEmbed: onUpdateEmbed,
2106
2315
  onRequestEditEmbed: onRequestEditEmbed,
2316
+ onChangeZOrder: onChangeZOrder,
2107
2317
  onMoveSlicer: onMoveSlicer,
2108
2318
  onResizeSlicer: onResizeSlicer,
2109
2319
  onDeleteSlicer: onDeleteSlicer,
2110
2320
  onCreateSlicer: onCreateSlicer,
2111
2321
  onUpdateSlicer: onUpdateSlicer,
2112
2322
  onRequestEditSlicer: onRequestEditSlicer,
2323
+ getSparklineGroup: getSparklineGroup,
2324
+ getSparklineAt: getSparklineAt,
2325
+ onCreateSparklineGroup: onCreateSparklineGroup,
2326
+ onUpdateSparklineGroup: onUpdateSparklineGroup,
2327
+ onDeleteSparklineGroup: onDeleteSparklineGroup,
2328
+ onClearSparklines: onClearSparklines,
2329
+ onGroupSparklines: onGroupSparklines,
2113
2330
  onDeleteRow: onDeleteRow,
2114
2331
  onDeleteColumn: onDeleteColumn,
2115
2332
  onDeleteCellsShiftUp: onDeleteCellsShiftUp,
@@ -2127,6 +2344,9 @@ export var useSpreadsheetState = function (_a) {
2127
2344
  onFilterTable: onFilterTable,
2128
2345
  onDeleteFilter: onDeleteFilter,
2129
2346
  onResizeTable: onResizeTable,
2347
+ onUndoTableAutoExpansion: onUndoTableAutoExpansion,
2348
+ onUndoCalculatedColumn: onUndoCalculatedColumn,
2349
+ onOverwriteCalculatedColumn: onOverwriteCalculatedColumn,
2130
2350
  onInsertTableColumn: onInsertTableColumn,
2131
2351
  onInsertTableRow: onInsertTableRow,
2132
2352
  onDeleteTableColumn: onDeleteTableColumn,
@@ -2135,8 +2355,11 @@ export var useSpreadsheetState = function (_a) {
2135
2355
  onPaste: onPaste,
2136
2356
  onCreateBasicFilter: onCreateBasicFilter,
2137
2357
  onCreateTable: onCreateTable,
2358
+ onRequestCreateTable: onRequestCreateTable,
2138
2359
  onRemoveTable: onRemoveTable,
2139
2360
  onRequestEditTable: onRequestEditTable,
2361
+ onRequestResizeTable: onRequestResizeTable,
2362
+ onRequestInsertSlicer: onRequestInsertSlicer,
2140
2363
  onUpdateTable: onUpdateTable,
2141
2364
  onRequestDefineNamedRange: onRequestDefineNamedRange,
2142
2365
  onRequestUpdateNamedRange: onRequestUpdateNamedRange,