@rowsncolumns/spreadsheet-state 28.0.76 → 29.1.0

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