@rowsncolumns/spreadsheet-state 29.0.0 → 29.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (603) 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 +1 -2
  5. package/dist/cjs/api/copy-paste.d.ts.map +1 -1
  6. package/dist/cjs/api/copy-paste.js +1 -3
  7. package/dist/cjs/api/filter.d.ts +15 -1
  8. package/dist/cjs/api/filter.d.ts.map +1 -1
  9. package/dist/cjs/api/filter.js +32 -2
  10. package/dist/cjs/api/formula.d.ts +63 -0
  11. package/dist/cjs/api/formula.d.ts.map +1 -1
  12. package/dist/cjs/api/formula.js +278 -8
  13. package/dist/cjs/api/paint-format.d.ts +22 -1
  14. package/dist/cjs/api/paint-format.d.ts.map +1 -1
  15. package/dist/cjs/api/paint-format.js +57 -1
  16. package/dist/cjs/api/sort.d.ts +23 -1
  17. package/dist/cjs/api/sort.d.ts.map +1 -1
  18. package/dist/cjs/api/sort.js +52 -6
  19. package/dist/cjs/api/structural-guards.d.ts +57 -0
  20. package/dist/cjs/api/structural-guards.d.ts.map +1 -1
  21. package/dist/cjs/api/structural-guards.js +93 -1
  22. package/dist/cjs/api/structural-table-refs.d.ts +58 -3
  23. package/dist/cjs/api/structural-table-refs.d.ts.map +1 -1
  24. package/dist/cjs/api/structural-table-refs.js +177 -16
  25. package/dist/cjs/api/table.d.ts +26 -2
  26. package/dist/cjs/api/table.d.ts.map +1 -1
  27. package/dist/cjs/api/table.js +93 -60
  28. package/dist/cjs/api/validation.d.ts.map +1 -1
  29. package/dist/cjs/api/validation.js +53 -8
  30. package/dist/cjs/atoms/creating-table.atom.d.ts +22 -0
  31. package/dist/cjs/atoms/creating-table.atom.d.ts.map +1 -0
  32. package/dist/cjs/atoms/creating-table.atom.js +4 -0
  33. package/dist/cjs/atoms/dialog-state.atom.d.ts +8 -0
  34. package/dist/cjs/atoms/dialog-state.atom.d.ts.map +1 -1
  35. package/dist/cjs/atoms/dialog-state.atom.js +28 -0
  36. package/dist/cjs/atoms/editing-slicer.atom.d.ts +9 -0
  37. package/dist/cjs/atoms/editing-slicer.atom.d.ts.map +1 -0
  38. package/dist/cjs/atoms/editing-slicer.atom.js +6 -0
  39. package/dist/cjs/atoms/index.d.ts +4 -0
  40. package/dist/cjs/atoms/index.d.ts.map +1 -1
  41. package/dist/cjs/atoms/index.js +4 -0
  42. package/dist/cjs/atoms/inserting-slicer.atom.d.ts +8 -0
  43. package/dist/cjs/atoms/inserting-slicer.atom.d.ts.map +1 -0
  44. package/dist/cjs/atoms/inserting-slicer.atom.js +5 -0
  45. package/dist/cjs/atoms/resizing-table.atom.d.ts +8 -0
  46. package/dist/cjs/atoms/resizing-table.atom.d.ts.map +1 -0
  47. package/dist/cjs/atoms/resizing-table.atom.js +5 -0
  48. package/dist/cjs/commands.d.ts +129 -2
  49. package/dist/cjs/commands.d.ts.map +1 -1
  50. package/dist/cjs/components/editors/embed-editor.d.ts +4 -2
  51. package/dist/cjs/components/editors/embed-editor.d.ts.map +1 -1
  52. package/dist/cjs/components/editors/embed-editor.js +38 -9
  53. package/dist/cjs/components/editors/slicer-editor.d.ts +15 -0
  54. package/dist/cjs/components/editors/slicer-editor.d.ts.map +1 -0
  55. package/dist/cjs/components/editors/slicer-editor.js +87 -0
  56. package/dist/cjs/components/editors/table-editor.d.ts +58 -2
  57. package/dist/cjs/components/editors/table-editor.d.ts.map +1 -1
  58. package/dist/cjs/components/editors/table-editor.js +261 -20
  59. package/dist/cjs/components/index.d.ts +1 -0
  60. package/dist/cjs/components/index.d.ts.map +1 -1
  61. package/dist/cjs/components/index.js +1 -0
  62. package/dist/cjs/constants.d.ts +9 -1
  63. package/dist/cjs/constants.d.ts.map +1 -1
  64. package/dist/cjs/constants.js +12 -0
  65. package/dist/cjs/generated-names.d.ts +13 -3
  66. package/dist/cjs/generated-names.d.ts.map +1 -1
  67. package/dist/cjs/generated-names.js +3 -1
  68. package/dist/cjs/helpers.d.ts +5 -0
  69. package/dist/cjs/helpers.d.ts.map +1 -1
  70. package/dist/cjs/helpers.js +10 -1
  71. package/dist/cjs/hooks/use-on-change-batch.d.ts +19 -2
  72. package/dist/cjs/hooks/use-on-change-batch.d.ts.map +1 -1
  73. package/dist/cjs/hooks/use-on-change-batch.js +43 -35
  74. package/dist/cjs/hooks/use-on-change-calculated-column.d.ts +10 -1
  75. package/dist/cjs/hooks/use-on-change-calculated-column.d.ts.map +1 -1
  76. package/dist/cjs/hooks/use-on-change-calculated-column.js +17 -5
  77. package/dist/cjs/hooks/use-on-change-table-column.d.ts +6 -1
  78. package/dist/cjs/hooks/use-on-change-table-column.d.ts.map +1 -1
  79. package/dist/cjs/hooks/use-on-change-table-column.js +17 -5
  80. package/dist/cjs/hooks/use-on-change.d.ts +36 -3
  81. package/dist/cjs/hooks/use-on-change.d.ts.map +1 -1
  82. package/dist/cjs/hooks/use-on-change.js +218 -136
  83. package/dist/cjs/hooks/use-on-create-custom-table-style.d.ts +17 -0
  84. package/dist/cjs/hooks/use-on-create-custom-table-style.d.ts.map +1 -0
  85. package/dist/cjs/hooks/use-on-create-custom-table-style.js +28 -0
  86. package/dist/cjs/hooks/use-on-create-named-range.d.ts +4 -2
  87. package/dist/cjs/hooks/use-on-create-named-range.d.ts.map +1 -1
  88. package/dist/cjs/hooks/use-on-create-named-range.js +11 -1
  89. package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts +2 -1
  90. package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
  91. package/dist/cjs/hooks/use-on-delete-cells-shift-left.js +3 -1
  92. package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts +2 -1
  93. package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
  94. package/dist/cjs/hooks/use-on-delete-cells-shift-up.js +3 -1
  95. package/dist/cjs/hooks/use-on-delete-column.d.ts +2 -1
  96. package/dist/cjs/hooks/use-on-delete-column.d.ts.map +1 -1
  97. package/dist/cjs/hooks/use-on-delete-column.js +3 -1
  98. package/dist/cjs/hooks/use-on-delete-row.d.ts +2 -1
  99. package/dist/cjs/hooks/use-on-delete-row.d.ts.map +1 -1
  100. package/dist/cjs/hooks/use-on-delete-row.js +3 -1
  101. package/dist/cjs/hooks/use-on-delete-sheet.d.ts +9 -1
  102. package/dist/cjs/hooks/use-on-delete-sheet.d.ts.map +1 -1
  103. package/dist/cjs/hooks/use-on-delete-sheet.js +17 -1
  104. package/dist/cjs/hooks/use-on-delete-table-row.d.ts +4 -1
  105. package/dist/cjs/hooks/use-on-delete-table-row.d.ts.map +1 -1
  106. package/dist/cjs/hooks/use-on-delete-table-row.js +19 -1
  107. package/dist/cjs/hooks/use-on-delete.d.ts +5 -2
  108. package/dist/cjs/hooks/use-on-delete.d.ts.map +1 -1
  109. package/dist/cjs/hooks/use-on-delete.js +5 -1
  110. package/dist/cjs/hooks/use-on-embeds.d.ts +7 -4
  111. package/dist/cjs/hooks/use-on-embeds.d.ts.map +1 -1
  112. package/dist/cjs/hooks/use-on-embeds.js +26 -24
  113. package/dist/cjs/hooks/use-on-fill.d.ts +17 -2
  114. package/dist/cjs/hooks/use-on-fill.d.ts.map +1 -1
  115. package/dist/cjs/hooks/use-on-fill.js +29 -15
  116. package/dist/cjs/hooks/use-on-filter-table.d.ts.map +1 -1
  117. package/dist/cjs/hooks/use-on-filter-table.js +209 -103
  118. package/dist/cjs/hooks/use-on-import-excel.d.ts +2 -1
  119. package/dist/cjs/hooks/use-on-import-excel.d.ts.map +1 -1
  120. package/dist/cjs/hooks/use-on-import-excel.js +22 -19
  121. package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts +2 -1
  122. package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
  123. package/dist/cjs/hooks/use-on-insert-cells-shift-down.js +3 -1
  124. package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts +2 -1
  125. package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
  126. package/dist/cjs/hooks/use-on-insert-cells-shift-right.js +3 -1
  127. package/dist/cjs/hooks/use-on-insert-column.d.ts +2 -1
  128. package/dist/cjs/hooks/use-on-insert-column.d.ts.map +1 -1
  129. package/dist/cjs/hooks/use-on-insert-column.js +3 -1
  130. package/dist/cjs/hooks/use-on-insert-row.d.ts +2 -1
  131. package/dist/cjs/hooks/use-on-insert-row.d.ts.map +1 -1
  132. package/dist/cjs/hooks/use-on-insert-row.js +3 -1
  133. package/dist/cjs/hooks/use-on-insert-table-row.d.ts +5 -2
  134. package/dist/cjs/hooks/use-on-insert-table-row.d.ts.map +1 -1
  135. package/dist/cjs/hooks/use-on-insert-table-row.js +19 -1
  136. package/dist/cjs/hooks/use-on-merge-unmerge-cells.d.ts +3 -2
  137. package/dist/cjs/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
  138. package/dist/cjs/hooks/use-on-merge-unmerge-cells.js +14 -1
  139. package/dist/cjs/hooks/use-on-move-columns.d.ts +3 -1
  140. package/dist/cjs/hooks/use-on-move-columns.d.ts.map +1 -1
  141. package/dist/cjs/hooks/use-on-move-columns.js +14 -1
  142. package/dist/cjs/hooks/use-on-move-rows.d.ts +3 -1
  143. package/dist/cjs/hooks/use-on-move-rows.d.ts.map +1 -1
  144. package/dist/cjs/hooks/use-on-move-rows.js +14 -1
  145. package/dist/cjs/hooks/use-on-move-selection.d.ts +3 -1
  146. package/dist/cjs/hooks/use-on-move-selection.d.ts.map +1 -1
  147. package/dist/cjs/hooks/use-on-move-selection.js +88 -25
  148. package/dist/cjs/hooks/use-on-paste.d.ts +22 -1
  149. package/dist/cjs/hooks/use-on-paste.d.ts.map +1 -1
  150. package/dist/cjs/hooks/use-on-paste.js +993 -776
  151. package/dist/cjs/hooks/use-on-remove-duplicates.d.ts +5 -2
  152. package/dist/cjs/hooks/use-on-remove-duplicates.d.ts.map +1 -1
  153. package/dist/cjs/hooks/use-on-remove-duplicates.js +5 -1
  154. package/dist/cjs/hooks/use-on-request-create-table.d.ts +13 -0
  155. package/dist/cjs/hooks/use-on-request-create-table.d.ts.map +1 -0
  156. package/dist/cjs/hooks/use-on-request-create-table.js +44 -0
  157. package/dist/cjs/hooks/use-on-request-insert-slicer.d.ts +7 -0
  158. package/dist/cjs/hooks/use-on-request-insert-slicer.d.ts.map +1 -0
  159. package/dist/cjs/hooks/use-on-request-insert-slicer.js +15 -0
  160. package/dist/cjs/hooks/use-on-request-resize-table.d.ts +7 -0
  161. package/dist/cjs/hooks/use-on-request-resize-table.d.ts.map +1 -0
  162. package/dist/cjs/hooks/use-on-request-resize-table.js +15 -0
  163. package/dist/cjs/hooks/use-on-resize-table.d.ts +5 -1
  164. package/dist/cjs/hooks/use-on-resize-table.d.ts.map +1 -1
  165. package/dist/cjs/hooks/use-on-resize-table.js +110 -33
  166. package/dist/cjs/hooks/use-on-sort-column.d.ts +28 -3
  167. package/dist/cjs/hooks/use-on-sort-column.d.ts.map +1 -1
  168. package/dist/cjs/hooks/use-on-sort-column.js +136 -90
  169. package/dist/cjs/hooks/use-on-sort-range.d.ts +26 -3
  170. package/dist/cjs/hooks/use-on-sort-range.d.ts.map +1 -1
  171. package/dist/cjs/hooks/use-on-sort-range.js +113 -67
  172. package/dist/cjs/hooks/use-on-sort-table.d.ts +18 -1
  173. package/dist/cjs/hooks/use-on-sort-table.d.ts.map +1 -1
  174. package/dist/cjs/hooks/use-on-sort-table.js +128 -98
  175. package/dist/cjs/hooks/use-on-subtotal.d.ts +10 -3
  176. package/dist/cjs/hooks/use-on-subtotal.d.ts.map +1 -1
  177. package/dist/cjs/hooks/use-on-subtotal.js +13 -9
  178. package/dist/cjs/hooks/use-on-table.d.ts +39 -7
  179. package/dist/cjs/hooks/use-on-table.d.ts.map +1 -1
  180. package/dist/cjs/hooks/use-on-table.js +257 -49
  181. package/dist/cjs/hooks/use-on-undo-calculated-column.d.ts +23 -0
  182. package/dist/cjs/hooks/use-on-undo-calculated-column.d.ts.map +1 -0
  183. package/dist/cjs/hooks/use-on-undo-calculated-column.js +70 -0
  184. package/dist/cjs/hooks/use-on-undo-table-auto-expansion.d.ts +28 -0
  185. package/dist/cjs/hooks/use-on-undo-table-auto-expansion.d.ts.map +1 -0
  186. package/dist/cjs/hooks/use-on-undo-table-auto-expansion.js +96 -0
  187. package/dist/cjs/hooks/use-on-update-named-range.d.ts +4 -2
  188. package/dist/cjs/hooks/use-on-update-named-range.d.ts.map +1 -1
  189. package/dist/cjs/hooks/use-on-update-named-range.js +13 -1
  190. package/dist/cjs/hooks/use-sheet-properties.d.ts +1 -0
  191. package/dist/cjs/hooks/use-sheet-properties.d.ts.map +1 -1
  192. package/dist/cjs/hooks/use-sheet-properties.js +54 -34
  193. package/dist/cjs/hooks/use-slicers.d.ts +2 -2
  194. package/dist/cjs/hooks/use-slicers.d.ts.map +1 -1
  195. package/dist/cjs/hooks/use-slicers.js +17 -26
  196. package/dist/cjs/hooks/use-sparkline-groups.d.ts +50 -0
  197. package/dist/cjs/hooks/use-sparkline-groups.d.ts.map +1 -0
  198. package/dist/cjs/hooks/use-sparkline-groups.js +192 -0
  199. package/dist/cjs/hooks/use-spreadsheet-state.d.ts +56 -10
  200. package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
  201. package/dist/cjs/hooks/use-spreadsheet-state.js +322 -100
  202. package/dist/cjs/hooks/use-structured-reference.d.ts.map +1 -1
  203. package/dist/cjs/hooks/use-structured-reference.js +17 -0
  204. package/dist/cjs/hooks/use-undo-redo-actions.d.ts +2 -1
  205. package/dist/cjs/hooks/use-undo-redo-actions.d.ts.map +1 -1
  206. package/dist/cjs/hooks/use-undo-redo-actions.js +10 -2
  207. package/dist/cjs/hooks/use-undo-redo.d.ts +12 -0
  208. package/dist/cjs/hooks/use-undo-redo.d.ts.map +1 -1
  209. package/dist/cjs/hooks/use-undo-redo.js +169 -10
  210. package/dist/cjs/hooks/utils/sort-rows.d.ts.map +1 -1
  211. package/dist/cjs/hooks/utils/sort-rows.js +4 -3
  212. package/dist/cjs/index.d.ts +7 -0
  213. package/dist/cjs/index.d.ts.map +1 -1
  214. package/dist/cjs/index.js +8 -0
  215. package/dist/cjs/interface/apply-fill.d.ts +26 -3
  216. package/dist/cjs/interface/apply-fill.d.ts.map +1 -1
  217. package/dist/cjs/interface/apply-fill.js +207 -98
  218. package/dist/cjs/interface/change-batch.d.ts +1 -1
  219. package/dist/cjs/interface/change-batch.d.ts.map +1 -1
  220. package/dist/cjs/interface/change-batch.js +112 -15
  221. package/dist/cjs/interface/change-calculated-column.d.ts +6 -2
  222. package/dist/cjs/interface/change-calculated-column.d.ts.map +1 -1
  223. package/dist/cjs/interface/change-calculated-column.js +87 -17
  224. package/dist/cjs/interface/change-table-column.d.ts +81 -7
  225. package/dist/cjs/interface/change-table-column.d.ts.map +1 -1
  226. package/dist/cjs/interface/change-table-column.js +336 -76
  227. package/dist/cjs/interface/create-table.d.ts +15 -3
  228. package/dist/cjs/interface/create-table.d.ts.map +1 -1
  229. package/dist/cjs/interface/create-table.js +100 -25
  230. package/dist/cjs/interface/delete-cells-shift-left.d.ts +1 -1
  231. package/dist/cjs/interface/delete-cells-shift-left.d.ts.map +1 -1
  232. package/dist/cjs/interface/delete-cells-shift-left.js +10 -1
  233. package/dist/cjs/interface/delete-cells-shift-up.d.ts +1 -1
  234. package/dist/cjs/interface/delete-cells-shift-up.d.ts.map +1 -1
  235. package/dist/cjs/interface/delete-cells-shift-up.js +10 -1
  236. package/dist/cjs/interface/delete-cells.d.ts +1 -1
  237. package/dist/cjs/interface/delete-cells.d.ts.map +1 -1
  238. package/dist/cjs/interface/delete-cells.js +81 -25
  239. package/dist/cjs/interface/delete-column.d.ts +1 -1
  240. package/dist/cjs/interface/delete-column.d.ts.map +1 -1
  241. package/dist/cjs/interface/delete-column.js +9 -2
  242. package/dist/cjs/interface/delete-row.d.ts +1 -1
  243. package/dist/cjs/interface/delete-row.d.ts.map +1 -1
  244. package/dist/cjs/interface/delete-row.js +223 -18
  245. package/dist/cjs/interface/delete-sheet.d.ts +2 -2
  246. package/dist/cjs/interface/delete-sheet.d.ts.map +1 -1
  247. package/dist/cjs/interface/delete-sheet.js +118 -1
  248. package/dist/cjs/interface/delete-table-column.d.ts +1 -1
  249. package/dist/cjs/interface/delete-table-column.d.ts.map +1 -1
  250. package/dist/cjs/interface/delete-table-column.js +11 -1
  251. package/dist/cjs/interface/delete-table-row.d.ts +1 -1
  252. package/dist/cjs/interface/delete-table-row.d.ts.map +1 -1
  253. package/dist/cjs/interface/delete-table-row.js +361 -275
  254. package/dist/cjs/interface/duplicate-sheet.d.ts.map +1 -1
  255. package/dist/cjs/interface/duplicate-sheet.js +83 -31
  256. package/dist/cjs/interface/embeds.d.ts +10 -1
  257. package/dist/cjs/interface/embeds.d.ts.map +1 -1
  258. package/dist/cjs/interface/embeds.js +120 -6
  259. package/dist/cjs/interface/insert-cells-shift-down.d.ts +1 -1
  260. package/dist/cjs/interface/insert-cells-shift-down.d.ts.map +1 -1
  261. package/dist/cjs/interface/insert-cells-shift-down.js +10 -1
  262. package/dist/cjs/interface/insert-cells-shift-right.d.ts +1 -1
  263. package/dist/cjs/interface/insert-cells-shift-right.d.ts.map +1 -1
  264. package/dist/cjs/interface/insert-cells-shift-right.js +10 -1
  265. package/dist/cjs/interface/insert-column.d.ts +2 -2
  266. package/dist/cjs/interface/insert-column.d.ts.map +1 -1
  267. package/dist/cjs/interface/insert-column.js +67 -38
  268. package/dist/cjs/interface/insert-row.d.ts +1 -1
  269. package/dist/cjs/interface/insert-row.d.ts.map +1 -1
  270. package/dist/cjs/interface/insert-row.js +9 -2
  271. package/dist/cjs/interface/insert-table-row.d.ts +2 -1
  272. package/dist/cjs/interface/insert-table-row.d.ts.map +1 -1
  273. package/dist/cjs/interface/insert-table-row.js +70 -19
  274. package/dist/cjs/interface/remove-duplicates.d.ts +1 -1
  275. package/dist/cjs/interface/remove-duplicates.d.ts.map +1 -1
  276. package/dist/cjs/interface/remove-duplicates.js +46 -6
  277. package/dist/cjs/interface/remove-table.d.ts +1 -1
  278. package/dist/cjs/interface/remove-table.d.ts.map +1 -1
  279. package/dist/cjs/interface/remove-table.js +72 -16
  280. package/dist/cjs/interface/slicers.d.ts +12 -1
  281. package/dist/cjs/interface/slicers.d.ts.map +1 -1
  282. package/dist/cjs/interface/slicers.js +47 -2
  283. package/dist/cjs/interface/spreadsheet-interface.d.ts +1 -1
  284. package/dist/cjs/interface/spreadsheet-interface.d.ts.map +1 -1
  285. package/dist/cjs/interface/spreadsheet-interface.js +64 -1
  286. package/dist/cjs/interface/table-totalrow.d.ts +13 -1
  287. package/dist/cjs/interface/table-totalrow.d.ts.map +1 -1
  288. package/dist/cjs/interface/table-totalrow.js +107 -73
  289. package/dist/cjs/interface/table-utils.d.ts +59 -6
  290. package/dist/cjs/interface/table-utils.d.ts.map +1 -1
  291. package/dist/cjs/interface/table-utils.js +211 -15
  292. package/dist/cjs/interface/update-table.d.ts +16 -1
  293. package/dist/cjs/interface/update-table.d.ts.map +1 -1
  294. package/dist/cjs/interface/update-table.js +190 -44
  295. package/dist/cjs/sheet-cell.d.ts.map +1 -1
  296. package/dist/cjs/test-setup.d.ts.map +1 -1
  297. package/dist/cjs/test-setup.js +6 -0
  298. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  299. package/dist/cjs/validation-schema/table.schema.d.ts +11 -0
  300. package/dist/cjs/validation-schema/table.schema.d.ts.map +1 -1
  301. package/dist/cjs/validation-schema/table.schema.js +20 -3
  302. package/dist/esm/api/anchored-objects.d.ts +122 -6
  303. package/dist/esm/api/anchored-objects.d.ts.map +1 -1
  304. package/dist/esm/api/anchored-objects.js +375 -15
  305. package/dist/esm/api/copy-paste.d.ts +1 -2
  306. package/dist/esm/api/copy-paste.d.ts.map +1 -1
  307. package/dist/esm/api/copy-paste.js +1 -3
  308. package/dist/esm/api/filter.d.ts +15 -1
  309. package/dist/esm/api/filter.d.ts.map +1 -1
  310. package/dist/esm/api/filter.js +28 -0
  311. package/dist/esm/api/formula.d.ts +63 -0
  312. package/dist/esm/api/formula.d.ts.map +1 -1
  313. package/dist/esm/api/formula.js +235 -8
  314. package/dist/esm/api/paint-format.d.ts +22 -1
  315. package/dist/esm/api/paint-format.d.ts.map +1 -1
  316. package/dist/esm/api/paint-format.js +44 -1
  317. package/dist/esm/api/sort.d.ts +23 -1
  318. package/dist/esm/api/sort.d.ts.map +1 -1
  319. package/dist/esm/api/sort.js +45 -6
  320. package/dist/esm/api/structural-guards.d.ts +57 -0
  321. package/dist/esm/api/structural-guards.d.ts.map +1 -1
  322. package/dist/esm/api/structural-guards.js +85 -0
  323. package/dist/esm/api/structural-table-refs.d.ts +58 -3
  324. package/dist/esm/api/structural-table-refs.d.ts.map +1 -1
  325. package/dist/esm/api/structural-table-refs.js +126 -6
  326. package/dist/esm/api/table.d.ts +26 -2
  327. package/dist/esm/api/table.d.ts.map +1 -1
  328. package/dist/esm/api/table.js +70 -48
  329. package/dist/esm/api/validation.d.ts.map +1 -1
  330. package/dist/esm/api/validation.js +53 -8
  331. package/dist/esm/atoms/creating-table.atom.d.ts +22 -0
  332. package/dist/esm/atoms/creating-table.atom.d.ts.map +1 -0
  333. package/dist/esm/atoms/creating-table.atom.js +4 -0
  334. package/dist/esm/atoms/dialog-state.atom.d.ts +8 -0
  335. package/dist/esm/atoms/dialog-state.atom.d.ts.map +1 -1
  336. package/dist/esm/atoms/dialog-state.atom.js +12 -0
  337. package/dist/esm/atoms/editing-slicer.atom.d.ts +9 -0
  338. package/dist/esm/atoms/editing-slicer.atom.d.ts.map +1 -0
  339. package/dist/esm/atoms/editing-slicer.atom.js +6 -0
  340. package/dist/esm/atoms/index.d.ts +4 -0
  341. package/dist/esm/atoms/index.d.ts.map +1 -1
  342. package/dist/esm/atoms/index.js +4 -0
  343. package/dist/esm/atoms/inserting-slicer.atom.d.ts +8 -0
  344. package/dist/esm/atoms/inserting-slicer.atom.d.ts.map +1 -0
  345. package/dist/esm/atoms/inserting-slicer.atom.js +5 -0
  346. package/dist/esm/atoms/resizing-table.atom.d.ts +8 -0
  347. package/dist/esm/atoms/resizing-table.atom.d.ts.map +1 -0
  348. package/dist/esm/atoms/resizing-table.atom.js +5 -0
  349. package/dist/esm/commands.d.ts +129 -2
  350. package/dist/esm/commands.d.ts.map +1 -1
  351. package/dist/esm/components/editors/embed-editor.d.ts +4 -2
  352. package/dist/esm/components/editors/embed-editor.d.ts.map +1 -1
  353. package/dist/esm/components/editors/embed-editor.js +40 -6
  354. package/dist/esm/components/editors/slicer-editor.d.ts +15 -0
  355. package/dist/esm/components/editors/slicer-editor.d.ts.map +1 -0
  356. package/dist/esm/components/editors/slicer-editor.js +85 -0
  357. package/dist/esm/components/editors/table-editor.d.ts +58 -2
  358. package/dist/esm/components/editors/table-editor.d.ts.map +1 -1
  359. package/dist/esm/components/editors/table-editor.js +243 -19
  360. package/dist/esm/components/index.d.ts +1 -0
  361. package/dist/esm/components/index.d.ts.map +1 -1
  362. package/dist/esm/components/index.js +1 -0
  363. package/dist/esm/constants.d.ts +9 -1
  364. package/dist/esm/constants.d.ts.map +1 -1
  365. package/dist/esm/constants.js +12 -0
  366. package/dist/esm/generated-names.d.ts +13 -3
  367. package/dist/esm/generated-names.d.ts.map +1 -1
  368. package/dist/esm/generated-names.js +3 -1
  369. package/dist/esm/helpers.d.ts +5 -0
  370. package/dist/esm/helpers.d.ts.map +1 -1
  371. package/dist/esm/helpers.js +7 -1
  372. package/dist/esm/hooks/use-on-change-batch.d.ts +19 -2
  373. package/dist/esm/hooks/use-on-change-batch.d.ts.map +1 -1
  374. package/dist/esm/hooks/use-on-change-batch.js +19 -3
  375. package/dist/esm/hooks/use-on-change-calculated-column.d.ts +10 -1
  376. package/dist/esm/hooks/use-on-change-calculated-column.d.ts.map +1 -1
  377. package/dist/esm/hooks/use-on-change-calculated-column.js +17 -5
  378. package/dist/esm/hooks/use-on-change-table-column.d.ts +6 -1
  379. package/dist/esm/hooks/use-on-change-table-column.d.ts.map +1 -1
  380. package/dist/esm/hooks/use-on-change-table-column.js +17 -5
  381. package/dist/esm/hooks/use-on-change.d.ts +36 -3
  382. package/dist/esm/hooks/use-on-change.d.ts.map +1 -1
  383. package/dist/esm/hooks/use-on-change.js +214 -124
  384. package/dist/esm/hooks/use-on-create-custom-table-style.d.ts +17 -0
  385. package/dist/esm/hooks/use-on-create-custom-table-style.d.ts.map +1 -0
  386. package/dist/esm/hooks/use-on-create-custom-table-style.js +26 -0
  387. package/dist/esm/hooks/use-on-create-named-range.d.ts +4 -2
  388. package/dist/esm/hooks/use-on-create-named-range.d.ts.map +1 -1
  389. package/dist/esm/hooks/use-on-create-named-range.js +11 -1
  390. package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts +2 -1
  391. package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
  392. package/dist/esm/hooks/use-on-delete-cells-shift-left.js +3 -1
  393. package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts +2 -1
  394. package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
  395. package/dist/esm/hooks/use-on-delete-cells-shift-up.js +3 -1
  396. package/dist/esm/hooks/use-on-delete-column.d.ts +2 -1
  397. package/dist/esm/hooks/use-on-delete-column.d.ts.map +1 -1
  398. package/dist/esm/hooks/use-on-delete-column.js +3 -1
  399. package/dist/esm/hooks/use-on-delete-row.d.ts +2 -1
  400. package/dist/esm/hooks/use-on-delete-row.d.ts.map +1 -1
  401. package/dist/esm/hooks/use-on-delete-row.js +3 -1
  402. package/dist/esm/hooks/use-on-delete-sheet.d.ts +9 -1
  403. package/dist/esm/hooks/use-on-delete-sheet.d.ts.map +1 -1
  404. package/dist/esm/hooks/use-on-delete-sheet.js +17 -1
  405. package/dist/esm/hooks/use-on-delete-table-row.d.ts +4 -1
  406. package/dist/esm/hooks/use-on-delete-table-row.d.ts.map +1 -1
  407. package/dist/esm/hooks/use-on-delete-table-row.js +19 -1
  408. package/dist/esm/hooks/use-on-delete.d.ts +5 -2
  409. package/dist/esm/hooks/use-on-delete.d.ts.map +1 -1
  410. package/dist/esm/hooks/use-on-delete.js +5 -1
  411. package/dist/esm/hooks/use-on-embeds.d.ts +7 -4
  412. package/dist/esm/hooks/use-on-embeds.d.ts.map +1 -1
  413. package/dist/esm/hooks/use-on-embeds.js +23 -6
  414. package/dist/esm/hooks/use-on-fill.d.ts +17 -2
  415. package/dist/esm/hooks/use-on-fill.d.ts.map +1 -1
  416. package/dist/esm/hooks/use-on-fill.js +27 -1
  417. package/dist/esm/hooks/use-on-filter-table.d.ts.map +1 -1
  418. package/dist/esm/hooks/use-on-filter-table.js +97 -26
  419. package/dist/esm/hooks/use-on-import-excel.d.ts +2 -1
  420. package/dist/esm/hooks/use-on-import-excel.d.ts.map +1 -1
  421. package/dist/esm/hooks/use-on-import-excel.js +4 -1
  422. package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts +2 -1
  423. package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
  424. package/dist/esm/hooks/use-on-insert-cells-shift-down.js +3 -1
  425. package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts +2 -1
  426. package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
  427. package/dist/esm/hooks/use-on-insert-cells-shift-right.js +3 -1
  428. package/dist/esm/hooks/use-on-insert-column.d.ts +2 -1
  429. package/dist/esm/hooks/use-on-insert-column.d.ts.map +1 -1
  430. package/dist/esm/hooks/use-on-insert-column.js +3 -1
  431. package/dist/esm/hooks/use-on-insert-row.d.ts +2 -1
  432. package/dist/esm/hooks/use-on-insert-row.d.ts.map +1 -1
  433. package/dist/esm/hooks/use-on-insert-row.js +3 -1
  434. package/dist/esm/hooks/use-on-insert-table-row.d.ts +5 -2
  435. package/dist/esm/hooks/use-on-insert-table-row.d.ts.map +1 -1
  436. package/dist/esm/hooks/use-on-insert-table-row.js +19 -1
  437. package/dist/esm/hooks/use-on-merge-unmerge-cells.d.ts +3 -2
  438. package/dist/esm/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
  439. package/dist/esm/hooks/use-on-merge-unmerge-cells.js +12 -1
  440. package/dist/esm/hooks/use-on-move-columns.d.ts +3 -1
  441. package/dist/esm/hooks/use-on-move-columns.d.ts.map +1 -1
  442. package/dist/esm/hooks/use-on-move-columns.js +14 -1
  443. package/dist/esm/hooks/use-on-move-rows.d.ts +3 -1
  444. package/dist/esm/hooks/use-on-move-rows.d.ts.map +1 -1
  445. package/dist/esm/hooks/use-on-move-rows.js +14 -1
  446. package/dist/esm/hooks/use-on-move-selection.d.ts +3 -1
  447. package/dist/esm/hooks/use-on-move-selection.d.ts.map +1 -1
  448. package/dist/esm/hooks/use-on-move-selection.js +44 -1
  449. package/dist/esm/hooks/use-on-paste.d.ts +22 -1
  450. package/dist/esm/hooks/use-on-paste.d.ts.map +1 -1
  451. package/dist/esm/hooks/use-on-paste.js +815 -672
  452. package/dist/esm/hooks/use-on-remove-duplicates.d.ts +5 -2
  453. package/dist/esm/hooks/use-on-remove-duplicates.d.ts.map +1 -1
  454. package/dist/esm/hooks/use-on-remove-duplicates.js +5 -1
  455. package/dist/esm/hooks/use-on-request-create-table.d.ts +13 -0
  456. package/dist/esm/hooks/use-on-request-create-table.d.ts.map +1 -0
  457. package/dist/esm/hooks/use-on-request-create-table.js +43 -0
  458. package/dist/esm/hooks/use-on-request-insert-slicer.d.ts +7 -0
  459. package/dist/esm/hooks/use-on-request-insert-slicer.d.ts.map +1 -0
  460. package/dist/esm/hooks/use-on-request-insert-slicer.js +15 -0
  461. package/dist/esm/hooks/use-on-request-resize-table.d.ts +7 -0
  462. package/dist/esm/hooks/use-on-request-resize-table.d.ts.map +1 -0
  463. package/dist/esm/hooks/use-on-request-resize-table.js +15 -0
  464. package/dist/esm/hooks/use-on-resize-table.d.ts +5 -1
  465. package/dist/esm/hooks/use-on-resize-table.d.ts.map +1 -1
  466. package/dist/esm/hooks/use-on-resize-table.js +107 -27
  467. package/dist/esm/hooks/use-on-sort-column.d.ts +28 -3
  468. package/dist/esm/hooks/use-on-sort-column.d.ts.map +1 -1
  469. package/dist/esm/hooks/use-on-sort-column.js +105 -68
  470. package/dist/esm/hooks/use-on-sort-range.d.ts +26 -3
  471. package/dist/esm/hooks/use-on-sort-range.d.ts.map +1 -1
  472. package/dist/esm/hooks/use-on-sort-range.js +100 -64
  473. package/dist/esm/hooks/use-on-sort-table.d.ts +18 -1
  474. package/dist/esm/hooks/use-on-sort-table.d.ts.map +1 -1
  475. package/dist/esm/hooks/use-on-sort-table.js +107 -86
  476. package/dist/esm/hooks/use-on-subtotal.d.ts +10 -3
  477. package/dist/esm/hooks/use-on-subtotal.d.ts.map +1 -1
  478. package/dist/esm/hooks/use-on-subtotal.js +7 -5
  479. package/dist/esm/hooks/use-on-table.d.ts +39 -7
  480. package/dist/esm/hooks/use-on-table.d.ts.map +1 -1
  481. package/dist/esm/hooks/use-on-table.js +234 -26
  482. package/dist/esm/hooks/use-on-undo-calculated-column.d.ts +23 -0
  483. package/dist/esm/hooks/use-on-undo-calculated-column.d.ts.map +1 -0
  484. package/dist/esm/hooks/use-on-undo-calculated-column.js +62 -0
  485. package/dist/esm/hooks/use-on-undo-table-auto-expansion.d.ts +28 -0
  486. package/dist/esm/hooks/use-on-undo-table-auto-expansion.d.ts.map +1 -0
  487. package/dist/esm/hooks/use-on-undo-table-auto-expansion.js +75 -0
  488. package/dist/esm/hooks/use-on-update-named-range.d.ts +4 -2
  489. package/dist/esm/hooks/use-on-update-named-range.d.ts.map +1 -1
  490. package/dist/esm/hooks/use-on-update-named-range.js +13 -1
  491. package/dist/esm/hooks/use-sheet-properties.d.ts +1 -0
  492. package/dist/esm/hooks/use-sheet-properties.d.ts.map +1 -1
  493. package/dist/esm/hooks/use-sheet-properties.js +38 -19
  494. package/dist/esm/hooks/use-slicers.d.ts +2 -2
  495. package/dist/esm/hooks/use-slicers.d.ts.map +1 -1
  496. package/dist/esm/hooks/use-slicers.js +16 -8
  497. package/dist/esm/hooks/use-sparkline-groups.d.ts +50 -0
  498. package/dist/esm/hooks/use-sparkline-groups.d.ts.map +1 -0
  499. package/dist/esm/hooks/use-sparkline-groups.js +146 -0
  500. package/dist/esm/hooks/use-spreadsheet-state.d.ts +56 -10
  501. package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
  502. package/dist/esm/hooks/use-spreadsheet-state.js +259 -30
  503. package/dist/esm/hooks/use-structured-reference.d.ts.map +1 -1
  504. package/dist/esm/hooks/use-structured-reference.js +17 -0
  505. package/dist/esm/hooks/use-undo-redo-actions.d.ts +2 -1
  506. package/dist/esm/hooks/use-undo-redo-actions.d.ts.map +1 -1
  507. package/dist/esm/hooks/use-undo-redo-actions.js +8 -2
  508. package/dist/esm/hooks/use-undo-redo.d.ts +12 -0
  509. package/dist/esm/hooks/use-undo-redo.d.ts.map +1 -1
  510. package/dist/esm/hooks/use-undo-redo.js +158 -7
  511. package/dist/esm/hooks/utils/sort-rows.d.ts.map +1 -1
  512. package/dist/esm/hooks/utils/sort-rows.js +4 -3
  513. package/dist/esm/index.d.ts +7 -0
  514. package/dist/esm/index.d.ts.map +1 -1
  515. package/dist/esm/index.js +8 -0
  516. package/dist/esm/interface/apply-fill.d.ts +26 -3
  517. package/dist/esm/interface/apply-fill.d.ts.map +1 -1
  518. package/dist/esm/interface/apply-fill.js +188 -88
  519. package/dist/esm/interface/change-batch.d.ts +1 -1
  520. package/dist/esm/interface/change-batch.d.ts.map +1 -1
  521. package/dist/esm/interface/change-batch.js +89 -8
  522. package/dist/esm/interface/change-calculated-column.d.ts +6 -2
  523. package/dist/esm/interface/change-calculated-column.d.ts.map +1 -1
  524. package/dist/esm/interface/change-calculated-column.js +81 -16
  525. package/dist/esm/interface/change-table-column.d.ts +81 -7
  526. package/dist/esm/interface/change-table-column.d.ts.map +1 -1
  527. package/dist/esm/interface/change-table-column.js +295 -67
  528. package/dist/esm/interface/create-table.d.ts +15 -3
  529. package/dist/esm/interface/create-table.d.ts.map +1 -1
  530. package/dist/esm/interface/create-table.js +103 -27
  531. package/dist/esm/interface/delete-cells-shift-left.d.ts +1 -1
  532. package/dist/esm/interface/delete-cells-shift-left.d.ts.map +1 -1
  533. package/dist/esm/interface/delete-cells-shift-left.js +10 -1
  534. package/dist/esm/interface/delete-cells-shift-up.d.ts +1 -1
  535. package/dist/esm/interface/delete-cells-shift-up.d.ts.map +1 -1
  536. package/dist/esm/interface/delete-cells-shift-up.js +10 -1
  537. package/dist/esm/interface/delete-cells.d.ts +1 -1
  538. package/dist/esm/interface/delete-cells.d.ts.map +1 -1
  539. package/dist/esm/interface/delete-cells.js +47 -14
  540. package/dist/esm/interface/delete-column.d.ts +1 -1
  541. package/dist/esm/interface/delete-column.d.ts.map +1 -1
  542. package/dist/esm/interface/delete-column.js +9 -2
  543. package/dist/esm/interface/delete-row.d.ts +1 -1
  544. package/dist/esm/interface/delete-row.d.ts.map +1 -1
  545. package/dist/esm/interface/delete-row.js +173 -15
  546. package/dist/esm/interface/delete-sheet.d.ts +2 -2
  547. package/dist/esm/interface/delete-sheet.d.ts.map +1 -1
  548. package/dist/esm/interface/delete-sheet.js +113 -1
  549. package/dist/esm/interface/delete-table-column.d.ts +1 -1
  550. package/dist/esm/interface/delete-table-column.d.ts.map +1 -1
  551. package/dist/esm/interface/delete-table-column.js +11 -1
  552. package/dist/esm/interface/delete-table-row.d.ts +1 -1
  553. package/dist/esm/interface/delete-table-row.d.ts.map +1 -1
  554. package/dist/esm/interface/delete-table-row.js +312 -232
  555. package/dist/esm/interface/duplicate-sheet.d.ts.map +1 -1
  556. package/dist/esm/interface/duplicate-sheet.js +73 -26
  557. package/dist/esm/interface/embeds.d.ts +10 -1
  558. package/dist/esm/interface/embeds.d.ts.map +1 -1
  559. package/dist/esm/interface/embeds.js +84 -5
  560. package/dist/esm/interface/insert-cells-shift-down.d.ts +1 -1
  561. package/dist/esm/interface/insert-cells-shift-down.d.ts.map +1 -1
  562. package/dist/esm/interface/insert-cells-shift-down.js +10 -1
  563. package/dist/esm/interface/insert-cells-shift-right.d.ts +1 -1
  564. package/dist/esm/interface/insert-cells-shift-right.d.ts.map +1 -1
  565. package/dist/esm/interface/insert-cells-shift-right.js +10 -1
  566. package/dist/esm/interface/insert-column.d.ts +2 -2
  567. package/dist/esm/interface/insert-column.d.ts.map +1 -1
  568. package/dist/esm/interface/insert-column.js +48 -23
  569. package/dist/esm/interface/insert-row.d.ts +1 -1
  570. package/dist/esm/interface/insert-row.d.ts.map +1 -1
  571. package/dist/esm/interface/insert-row.js +9 -2
  572. package/dist/esm/interface/insert-table-row.d.ts +2 -1
  573. package/dist/esm/interface/insert-table-row.d.ts.map +1 -1
  574. package/dist/esm/interface/insert-table-row.js +67 -12
  575. package/dist/esm/interface/remove-duplicates.d.ts +1 -1
  576. package/dist/esm/interface/remove-duplicates.d.ts.map +1 -1
  577. package/dist/esm/interface/remove-duplicates.js +41 -6
  578. package/dist/esm/interface/remove-table.d.ts +1 -1
  579. package/dist/esm/interface/remove-table.d.ts.map +1 -1
  580. package/dist/esm/interface/remove-table.js +58 -10
  581. package/dist/esm/interface/slicers.d.ts +12 -1
  582. package/dist/esm/interface/slicers.d.ts.map +1 -1
  583. package/dist/esm/interface/slicers.js +44 -2
  584. package/dist/esm/interface/spreadsheet-interface.d.ts +1 -1
  585. package/dist/esm/interface/spreadsheet-interface.d.ts.map +1 -1
  586. package/dist/esm/interface/spreadsheet-interface.js +73 -1
  587. package/dist/esm/interface/table-totalrow.d.ts +13 -1
  588. package/dist/esm/interface/table-totalrow.d.ts.map +1 -1
  589. package/dist/esm/interface/table-totalrow.js +98 -68
  590. package/dist/esm/interface/table-utils.d.ts +59 -6
  591. package/dist/esm/interface/table-utils.d.ts.map +1 -1
  592. package/dist/esm/interface/table-utils.js +155 -14
  593. package/dist/esm/interface/update-table.d.ts +16 -1
  594. package/dist/esm/interface/update-table.d.ts.map +1 -1
  595. package/dist/esm/interface/update-table.js +203 -42
  596. package/dist/esm/sheet-cell.d.ts.map +1 -1
  597. package/dist/esm/test-setup.d.ts.map +1 -1
  598. package/dist/esm/test-setup.js +6 -0
  599. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  600. package/dist/esm/validation-schema/table.schema.d.ts +11 -0
  601. package/dist/esm/validation-schema/table.schema.d.ts.map +1 -1
  602. package/dist/esm/validation-schema/table.schema.js +15 -2
  603. package/package.json +19 -11
@@ -1,6 +1,7 @@
1
1
  import type { CellInterface, GridRange } from "@rowsncolumns/common-types";
2
- import type { EmbeddedChart, EmbeddedObject, ProtectedRange } from "@rowsncolumns/spreadsheet";
2
+ import type { EmbeddedChart, EmbeddedObject, OverlayPosition, OverlayToAnchor, ProtectedRange, Slicer, TableView } from "@rowsncolumns/spreadsheet";
3
3
  import type { Draft } from "immer";
4
+ import type { RangeBandSpan } from "./formula";
4
5
  /**
5
6
  * Structural (whole row / whole column insert or delete) relocation of the
6
7
  * objects Excel anchors to cells rather than storing inside them: floating
@@ -11,8 +12,11 @@ import type { Draft } from "immer";
11
12
  * - A floating object's anchor cell shifts like any cell: pushed down/right by
12
13
  * an insert at or before it, pulled up/left by a delete before it. When the
13
14
  * anchor row/column itself is deleted the object snaps to the first
14
- * surviving cell at the deletion index (Move-and-size / Move-don't-size both
15
- * move; only absolute anchors stay put). Size never changes.
15
+ * surviving cell at the deletion index. `moveAndSize` (Excel's default)
16
+ * shifts its second anchor the same way, so an insert between the corners
17
+ * stretches the frame and a delete inside shrinks it; a delete consuming
18
+ * the whole span removes the object. `moveOnly` moves with a fixed size;
19
+ * `absolute` (Don't move or size with cells) stays put.
16
20
  * - A range (chart series, AllowEditRange) shifts like a formula reference:
17
21
  * insert at/before the start moves it, insert strictly inside grows it,
18
22
  * delete inside shrinks it, delete of the whole span removes it (`#REF!`).
@@ -49,18 +53,130 @@ export declare const shiftGridRangeLikeReference: <R extends GridRange>(range: R
49
53
  * (`sources`), nulled on properties (`dataRange`) — the chart's `#REF!`.
50
54
  * Unknown keys are left untouched. Mutates in place; returns whether anything
51
55
  * changed.
56
+ *
57
+ * `band` restricts the rewrite to ranges whose PERPENDICULAR span lies wholly
58
+ * inside it — the insert/delete-CELLS shift of columns `B:C` only touches
59
+ * ranges living entirely in B..C, exactly like `expandRangesInFormula` /
60
+ * `contractRangesInFormula` with the same `bandSpan` (SHF-07 / SHF-08), so a
61
+ * chart and a formula reading the same cells always agree. A range that only
62
+ * partially overlaps the band keeps its address, as in Excel.
63
+ */
64
+ export declare const shiftChartSpecRanges: (spec: unknown, sheetId: number, axis: StructuralAxis, op: StructuralOp, index: number, count: number, band?: RangeBandSpan) => boolean;
65
+ /**
66
+ * Record (or clear) the second anchor a move / resize gesture reported —
67
+ * `moveAndSize` objects carry one, `moveOnly` / `absolute` never do.
52
68
  */
53
- export declare const shiftChartSpecRanges: (spec: unknown, sheetId: number, axis: StructuralAxis, op: StructuralOp, index: number, count: number) => boolean;
54
- /** Shift the anchor cell of every embed (picture, shape, text box…) on the edited sheet. */
69
+ export declare const setOverlayToAnchor: (overlay: Draft<OverlayPosition>, toAnchor: OverlayToAnchor | undefined) => void;
70
+ /**
71
+ * Shift a floating object's anchors for a whole row / column insert or
72
+ * delete, per its placement mode. Returns `"removed"` when a delete consumed
73
+ * the whole span of a `moveAndSize` object (Excel deletes it), otherwise
74
+ * whether anything moved.
75
+ */
76
+ export declare const shiftOverlayOnStructuralChange: (overlay: Draft<OverlayPosition>, axis: StructuralAxis, op: StructuralOp, index: number, count: number) => boolean | "removed";
77
+ /** Shift the anchors of every embed (picture, shape, text box…) on the edited sheet. */
55
78
  export declare const shiftEmbedsOnStructuralChange: (draft: Draft<EmbeddedObject>[], sheetId: number, axis: StructuralAxis, op: StructuralOp, index: number, count: number) => void;
56
79
  /**
57
- * Shift every chart on the edited sheet: its anchor cell like a floating
80
+ * Shift the anchors of every slicer on the edited sheet — a slicer is a
81
+ * floating frame with the same placement modes as a picture (#668 C-46).
82
+ */
83
+ export declare const shiftSlicersOnStructuralChange: (draft: Draft<Slicer>[], sheetId: number, axis: StructuralAxis, op: StructuralOp, index: number, count: number) => void;
84
+ /**
85
+ * Shift every chart on the edited sheet: its anchors like a floating
58
86
  * object, and the ranges inside its spec like references.
59
87
  */
60
88
  export declare const shiftChartsOnStructuralChange: (draft: Draft<EmbeddedChart>[], sheetId: number, axis: StructuralAxis, op: StructuralOp, index: number, count: number) => void;
89
+ /**
90
+ * Insert/delete CELLS with shift (SHF-*): only the ranges a chart reads move —
91
+ * those wholly inside the shifted band's columns (shift down/up) or rows
92
+ * (shift right/left), with the reference rule along the shift axis. Excel
93
+ * moves drawing anchors only for whole row/column edits, so the chart frame
94
+ * stays where it is.
95
+ */
96
+ export declare const shiftChartsOnCellShift: (draft: Draft<EmbeddedChart>[], sheetId: number, axis: StructuralAxis, op: StructuralOp, index: number, count: number, band: RangeBandSpan) => void;
61
97
  /**
62
98
  * Shift AllowEditRange rectangles. A protected range without a rectangle
63
99
  * (sheet-scoped protection) is untouched; one the delete consumes is removed.
64
100
  */
65
101
  export declare const shiftProtectedRangesOnStructuralChange: (draft: Draft<ProtectedRange>[], sheetId: number, axis: StructuralAxis, op: StructuralOp, index: number, count: number) => void;
102
+ /**
103
+ * Deleting a sheet consumes every range on it: a chart elsewhere whose series
104
+ * / category / data range read the deleted sheet keeps the chart but loses
105
+ * that range (Excel's empty `#REF!` series).
106
+ */
107
+ export declare const removeChartSpecRangesOnSheet: (spec: unknown, sheetId: number) => boolean;
108
+ /**
109
+ * Re-point every range on `fromSheetId` at `toSheetId` — a duplicated sheet's
110
+ * charts read the copy's own cells (Excel), while ranges on other sheets keep
111
+ * reading the original.
112
+ */
113
+ export declare const retargetChartSpecRanges: (spec: unknown, fromSheetId: number, toSheetId: number) => boolean;
114
+ /**
115
+ * Relocate the ranges inside a chart spec when the block `from` on
116
+ * `fromSheetId` is moved (drag-move, cut → paste) to `to` on `toSheetId`, the
117
+ * way Excel re-points series like references: a range that lies ENTIRELY
118
+ * inside the moved block travels with it (shifted by the move delta and onto
119
+ * the destination sheet); a range the block covers only partially, and any
120
+ * range outside it, keeps referring to its original cells. Mirrors
121
+ * `move_spec_sheet_ranges` in `rnc-store`.
122
+ */
123
+ export declare const moveChartSpecRanges: (spec: unknown, fromSheetId: number, from: GridRange, toSheetId: number, to: GridRange) => boolean;
124
+ /** Re-point the ranges of every chart when a cell block is moved (see `moveChartSpecRanges`). */
125
+ export declare const moveChartsOnRangeMove: (draft: Draft<EmbeddedChart>[], fromSheetId: number, from: GridRange, toSheetId: number, to: GridRange) => void;
126
+ /**
127
+ * Where line `index` (a row or column) ends up after the whole lines `lines`
128
+ * (sorted ascending) are moved so the block lands at `target` in the
129
+ * post-removal frame — the permutation a row/column move applies to every
130
+ * cell. A moved line lands at `target` + its rank in the block; a line outside
131
+ * closes the gap the block left and is pushed by the block landing at or
132
+ * before it. Mirrors `moved_line_index` in `rnc-store`.
133
+ */
134
+ export declare const movedLineIndex: (lines: readonly number[], target: number, index: number) => number;
135
+ /**
136
+ * Re-point the ranges inside a chart spec when whole rows / columns of
137
+ * `sheetId` are moved (`lines` land at `target`), with the rule the engines
138
+ * apply to formula references: both edges follow their line, and the range is
139
+ * rewritten only when that yields a range of the same size — so a range wholly
140
+ * inside the moved block relocates with it, one wholly inside the displaced
141
+ * band shifts by the block size, and one straddling the block and its
142
+ * neighbours keeps its text (it still covers the same cells). Mirrors
143
+ * `permute_spec_sheet_ranges` in `rnc-store` / `remap_formula_axis`.
144
+ */
145
+ export declare const reorderChartSpecRanges: (spec: unknown, sheetId: number, axis: StructuralAxis, lines: readonly number[], target: number) => boolean;
146
+ /** Re-point the ranges of every chart when whole rows / columns are moved (see `reorderChartSpecRanges`). */
147
+ export declare const reorderChartsOnLineMove: (draft: Draft<EmbeddedChart>[], sheetId: number, axis: StructuralAxis, lines: readonly number[], target: number) => void;
148
+ /**
149
+ * The table a chart range may be bound to — Excel's ListObject binding, taken BEFORE the table
150
+ * edit: `range` is the table's range, `rowStarts` the rows a bound range may begin at (the header
151
+ * row when shown, the first body row) and `bodyEndRowIndex` its last body row (the totals row
152
+ * excluded). Mirrors `TableBinding` in `rnc-store`.
153
+ */
154
+ export type TableBinding = {
155
+ range: GridRange;
156
+ rowStarts: readonly number[];
157
+ bodyEndRowIndex: number;
158
+ };
159
+ export declare const tableBinding: (table: Pick<TableView, "range" | "headerRow" | "totalRow">) => TableBinding;
160
+ /**
161
+ * Insert / delete table rows (or columns): the cells inside the table's columns (rows) at/after
162
+ * `index` move, so every chart range wholly inside that band follows the reference rule like
163
+ * insert/delete-cells — except a range bound to the table (`isTableBoundRange`), which grows /
164
+ * shrinks by `count` even when the rows are appended below the last body row (where the
165
+ * reference rule would leave it alone) or inserted above the first one (where it would shift):
166
+ * Excel keeps the series on the table column. A range that collapses is removed (`#REF!`).
167
+ * Mutates in place; returns whether anything changed. Mirrors
168
+ * `shift_spec_sheet_ranges_for_table_edit` in `rnc-store`.
169
+ */
170
+ export declare const shiftChartSpecRangesOnTableEdit: (spec: unknown, sheetId: number, binding: TableBinding, axis: StructuralAxis, op: StructuralOp, index: number, count: number) => boolean;
171
+ /**
172
+ * Table growth without a cell shift — the resize handle, typing below / to the right of the
173
+ * table: a range bound to the table (`isTableBoundRange`) grows / shrinks with its body by
174
+ * `rowDelta` rows, then by `columnDelta` columns against the row-grown table. Mutates in place;
175
+ * returns whether anything changed. Mirrors `grow_table_bound_spec_ranges` in `rnc-store`.
176
+ */
177
+ export declare const growTableBoundChartSpecRanges: (spec: unknown, sheetId: number, binding: TableBinding, rowDelta: number, columnDelta: number) => boolean;
178
+ /** Every chart's ranges follow a table-local row / column insert or delete (see `shiftChartSpecRangesOnTableEdit`). */
179
+ export declare const shiftChartsOnTableEdit: (draft: Draft<EmbeddedChart>[], sheetId: number, binding: TableBinding, axis: StructuralAxis, op: StructuralOp, index: number, count: number) => void;
180
+ /** Every chart's table-bound ranges grow / shrink with a resized or auto-expanded table (see `growTableBoundChartSpecRanges`). */
181
+ export declare const growChartsWithTable: (draft: Draft<EmbeddedChart>[], sheetId: number, binding: TableBinding, rowDelta: number, columnDelta: number) => void;
66
182
  //# sourceMappingURL=anchored-objects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anchored-objects.d.ts","sourceRoot":"","sources":["../../../api/anchored-objects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EAEV,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,CAAC;AAC9C,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,OAAO,MAAM,EACb,KAAK,MAAM,EACX,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAerB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,aAAa,MAAM,EACnB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,MASF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,aAAa,EACrB,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,aASF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GAAI,CAAC,SAAS,SAAS,EAC7D,OAAO,CAAC,EACR,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,CAAC,GAAG,IAgBN,CAAC;AAgBF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,OAAO,EACb,SAAS,MAAM,EACf,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,OAoCF,CAAC;AAEF,4FAA4F;AAC5F,eAAO,MAAM,6BAA6B,GACxC,OAAO,KAAK,CAAC,cAAc,CAAC,EAAE,EAC9B,SAAS,MAAM,EACf,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,SAUd,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GACxC,OAAO,KAAK,CAAC,aAAa,CAAC,EAAE,EAC7B,SAAS,MAAM,EACf,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,SAad,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sCAAsC,GACjD,OAAO,KAAK,CAAC,cAAc,CAAC,EAAE,EAC9B,SAAS,MAAM,EACf,MAAM,cAAc,EACpB,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,OAAO,MAAM,SAyCd,CAAC"}
1
+ {"version":3,"file":"anchored-objects.d.ts","sourceRoot":"","sources":["../../../api/anchored-objects.ts"],"names":[],"mappings":"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"}
@@ -87,11 +87,24 @@ const isSheetRangeLike = (value) => {
87
87
  * (`sources`), nulled on properties (`dataRange`) — the chart's `#REF!`.
88
88
  * Unknown keys are left untouched. Mutates in place; returns whether anything
89
89
  * changed.
90
+ *
91
+ * `band` restricts the rewrite to ranges whose PERPENDICULAR span lies wholly
92
+ * inside it — the insert/delete-CELLS shift of columns `B:C` only touches
93
+ * ranges living entirely in B..C, exactly like `expandRangesInFormula` /
94
+ * `contractRangesInFormula` with the same `bandSpan` (SHF-07 / SHF-08), so a
95
+ * chart and a formula reading the same cells always agree. A range that only
96
+ * partially overlaps the band keeps its address, as in Excel.
90
97
  */
91
- export const shiftChartSpecRanges = (spec, sheetId, axis, op, index, count) => {
98
+ export const shiftChartSpecRanges = (spec, sheetId, axis, op, index, count, band) => {
92
99
  let changed = false;
100
+ const [acrossStartKey, acrossEndKey] = axis === "row"
101
+ ? ["startColumnIndex", "endColumnIndex"]
102
+ : ["startRowIndex", "endRowIndex"];
103
+ const isWithinBand = (range) => !band ||
104
+ (range[acrossStartKey] >= band.startIndex &&
105
+ range[acrossEndKey] <= band.endIndex);
93
106
  const shiftRange = (range) => {
94
- if (range.sheetId !== sheetId)
107
+ if (range.sheetId !== sheetId || !isWithinBand(range))
95
108
  return range;
96
109
  const next = shiftGridRangeLikeReference(range, axis, op, index, count);
97
110
  if (next !== range)
@@ -133,38 +146,121 @@ export const shiftChartSpecRanges = (spec, sheetId, axis, op, index, count) => {
133
146
  walk(spec);
134
147
  return changed;
135
148
  };
136
- /** Shift the anchor cell of every embed (picture, shape, text box…) on the edited sheet. */
149
+ /**
150
+ * Record (or clear) the second anchor a move / resize gesture reported —
151
+ * `moveAndSize` objects carry one, `moveOnly` / `absolute` never do.
152
+ */
153
+ export const setOverlayToAnchor = (overlay, toAnchor) => {
154
+ if (toAnchor) {
155
+ overlay.toCell = toAnchor.toCell;
156
+ overlay.toOffsetXPixels = toAnchor.toOffsetXPixels;
157
+ overlay.toOffsetYPixels = toAnchor.toOffsetYPixels;
158
+ return;
159
+ }
160
+ delete overlay.toCell;
161
+ delete overlay.toOffsetXPixels;
162
+ delete overlay.toOffsetYPixels;
163
+ };
164
+ /**
165
+ * Shift a floating object's anchors for a whole row / column insert or
166
+ * delete, per its placement mode. Returns `"removed"` when a delete consumed
167
+ * the whole span of a `moveAndSize` object (Excel deletes it), otherwise
168
+ * whether anything moved.
169
+ */
170
+ export const shiftOverlayOnStructuralChange = (overlay, axis, op, index, count) => {
171
+ if (!overlay.anchorCell || overlay.placement === "absolute")
172
+ return false;
173
+ const moveAndSize = (overlay.placement ?? "moveAndSize") === "moveAndSize";
174
+ const toCell = moveAndSize ? overlay.toCell : undefined;
175
+ if (toCell && op === "delete" && count > 0) {
176
+ const key = axis === "row" ? "rowIndex" : "columnIndex";
177
+ const start = overlay.anchorCell[key];
178
+ // `to` sits on the cell the corner lands in; a corner flush with the
179
+ // cell's leading edge does not occupy it.
180
+ const offset = axis === "row" ? overlay.toOffsetYPixels : overlay.toOffsetXPixels;
181
+ const end = (offset ?? 0) > 0 ? toCell[key] : Math.max(start, toCell[key] - 1);
182
+ if (index <= start && index + count - 1 >= end)
183
+ return "removed";
184
+ }
185
+ let changed = false;
186
+ const next = shiftAnchorCell(overlay.anchorCell, axis, op, index, count);
187
+ if (next !== overlay.anchorCell) {
188
+ overlay.anchorCell = next;
189
+ changed = true;
190
+ }
191
+ if (toCell) {
192
+ const nextTo = shiftAnchorCell(toCell, axis, op, index, count);
193
+ if (nextTo !== toCell) {
194
+ overlay.toCell = nextTo;
195
+ changed = true;
196
+ }
197
+ }
198
+ return changed;
199
+ };
200
+ /** Shift the anchors of every embed (picture, shape, text box…) on the edited sheet. */
137
201
  export const shiftEmbedsOnStructuralChange = (draft, sheetId, axis, op, index, count) => {
138
- for (const embed of draft) {
139
- const position = embed.position;
202
+ for (let i = draft.length - 1; i >= 0; i--) {
203
+ const position = draft[i].position;
140
204
  if (!position || position.sheetId !== sheetId)
141
205
  continue;
142
206
  const overlay = position.overlayPosition;
143
207
  if (!overlay?.anchorCell)
144
208
  continue;
145
- const next = shiftAnchorCell(overlay.anchorCell, axis, op, index, count);
146
- if (next !== overlay.anchorCell)
147
- overlay.anchorCell = next;
209
+ if (shiftOverlayOnStructuralChange(overlay, axis, op, index, count) ===
210
+ "removed") {
211
+ draft.splice(i, 1);
212
+ }
148
213
  }
149
214
  };
150
215
  /**
151
- * Shift every chart on the edited sheet: its anchor cell like a floating
216
+ * Shift the anchors of every slicer on the edited sheet — a slicer is a
217
+ * floating frame with the same placement modes as a picture (#668 C-46).
218
+ */
219
+ export const shiftSlicersOnStructuralChange = (draft, sheetId, axis, op, index, count) => {
220
+ for (let i = draft.length - 1; i >= 0; i--) {
221
+ const position = draft[i].position;
222
+ if (!position || position.sheetId !== sheetId)
223
+ continue;
224
+ const overlay = position.overlayPosition;
225
+ if (!overlay?.anchorCell)
226
+ continue;
227
+ if (shiftOverlayOnStructuralChange(overlay, axis, op, index, count) ===
228
+ "removed") {
229
+ draft.splice(i, 1);
230
+ }
231
+ }
232
+ };
233
+ /**
234
+ * Shift every chart on the edited sheet: its anchors like a floating
152
235
  * object, and the ranges inside its spec like references.
153
236
  */
154
237
  export const shiftChartsOnStructuralChange = (draft, sheetId, axis, op, index, count) => {
155
- for (const chart of draft) {
238
+ for (let i = draft.length - 1; i >= 0; i--) {
239
+ const chart = draft[i];
156
240
  const position = chart.position;
157
- if (position?.sheetId === sheetId && position.overlayPosition?.anchorCell) {
158
- const overlay = position.overlayPosition;
159
- const next = shiftAnchorCell(overlay.anchorCell, axis, op, index, count);
160
- if (next !== overlay.anchorCell)
161
- overlay.anchorCell = next;
241
+ if (position?.sheetId === sheetId &&
242
+ position.overlayPosition?.anchorCell &&
243
+ shiftOverlayOnStructuralChange(position.overlayPosition, axis, op, index, count) === "removed") {
244
+ draft.splice(i, 1);
245
+ continue;
162
246
  }
163
247
  // Series ranges may point at ANY sheet, so the spec walk is not gated on
164
248
  // the chart's own sheet.
165
249
  shiftChartSpecRanges(chart.spec, sheetId, axis, op, index, count);
166
250
  }
167
251
  };
252
+ /**
253
+ * Insert/delete CELLS with shift (SHF-*): only the ranges a chart reads move —
254
+ * those wholly inside the shifted band's columns (shift down/up) or rows
255
+ * (shift right/left), with the reference rule along the shift axis. Excel
256
+ * moves drawing anchors only for whole row/column edits, so the chart frame
257
+ * stays where it is.
258
+ */
259
+ export const shiftChartsOnCellShift = (draft, sheetId, axis, op, index, count, band) => {
260
+ for (const chart of draft) {
261
+ shiftChartSpecRanges(chart.spec, sheetId, axis, op, index, count, band);
262
+ }
263
+ };
168
264
  /**
169
265
  * Shift AllowEditRange rectangles. A protected range without a rectangle
170
266
  * (sheet-scoped protection) is untouched; one the delete consumes is removed.
@@ -210,3 +306,267 @@ export const shiftProtectedRangesOnStructuralChange = (draft, sheetId, axis, op,
210
306
  }
211
307
  }
212
308
  };
309
+ /**
310
+ * Visit every `SheetRange` a chart spec holds — `dataRange`, per-series /
311
+ * per-domain `sources`, error-bar `plusRange` / `minusRange`, and any future
312
+ * range-valued key — replacing it with what `rewrite` returns. A range the
313
+ * rewrite returns `null` for is removed — spliced out of arrays (`sources`),
314
+ * nulled on properties (`dataRange`) — the chart's `#REF!`; a move never
315
+ * consumes a range, so its rewrites always return a range. Mutates in place;
316
+ * returns whether anything changed.
317
+ */
318
+ const rewriteChartSpecRanges = (spec, rewrite) => {
319
+ let changed = false;
320
+ const walk = (node) => {
321
+ if (!node || typeof node !== "object")
322
+ return;
323
+ if (Array.isArray(node)) {
324
+ for (let i = node.length - 1; i >= 0; i--) {
325
+ const item = node[i];
326
+ if (isSheetRangeLike(item)) {
327
+ const next = rewrite(item);
328
+ if (next === null) {
329
+ node.splice(i, 1);
330
+ changed = true;
331
+ }
332
+ else if (next !== item) {
333
+ node[i] = next;
334
+ changed = true;
335
+ }
336
+ }
337
+ else {
338
+ walk(item);
339
+ }
340
+ }
341
+ return;
342
+ }
343
+ const obj = node;
344
+ for (const key of Object.keys(obj)) {
345
+ const value = obj[key];
346
+ if (isSheetRangeLike(value)) {
347
+ const next = rewrite(value);
348
+ if (next !== value) {
349
+ obj[key] = next;
350
+ changed = true;
351
+ }
352
+ }
353
+ else {
354
+ walk(value);
355
+ }
356
+ }
357
+ };
358
+ walk(spec);
359
+ return changed;
360
+ };
361
+ /**
362
+ * Deleting a sheet consumes every range on it: a chart elsewhere whose series
363
+ * / category / data range read the deleted sheet keeps the chart but loses
364
+ * that range (Excel's empty `#REF!` series).
365
+ */
366
+ export const removeChartSpecRangesOnSheet = (spec, sheetId) => rewriteChartSpecRanges(spec, (range) => range.sheetId === sheetId ? null : range);
367
+ /**
368
+ * Re-point every range on `fromSheetId` at `toSheetId` — a duplicated sheet's
369
+ * charts read the copy's own cells (Excel), while ranges on other sheets keep
370
+ * reading the original.
371
+ */
372
+ export const retargetChartSpecRanges = (spec, fromSheetId, toSheetId) => rewriteChartSpecRanges(spec, (range) => range.sheetId === fromSheetId ? { ...range, sheetId: toSheetId } : range);
373
+ /**
374
+ * Relocate the ranges inside a chart spec when the block `from` on
375
+ * `fromSheetId` is moved (drag-move, cut → paste) to `to` on `toSheetId`, the
376
+ * way Excel re-points series like references: a range that lies ENTIRELY
377
+ * inside the moved block travels with it (shifted by the move delta and onto
378
+ * the destination sheet); a range the block covers only partially, and any
379
+ * range outside it, keeps referring to its original cells. Mirrors
380
+ * `move_spec_sheet_ranges` in `rnc-store`.
381
+ */
382
+ export const moveChartSpecRanges = (spec, fromSheetId, from, toSheetId, to) => {
383
+ const rowDelta = to.startRowIndex - from.startRowIndex;
384
+ const columnDelta = to.startColumnIndex - from.startColumnIndex;
385
+ if (rowDelta === 0 && columnDelta === 0 && fromSheetId === toSheetId) {
386
+ return false;
387
+ }
388
+ return rewriteChartSpecRanges(spec, (range) => {
389
+ if (range.sheetId !== fromSheetId ||
390
+ range.startRowIndex < from.startRowIndex ||
391
+ range.endRowIndex > from.endRowIndex ||
392
+ range.startColumnIndex < from.startColumnIndex ||
393
+ range.endColumnIndex > from.endColumnIndex) {
394
+ return range;
395
+ }
396
+ return {
397
+ ...range,
398
+ sheetId: toSheetId,
399
+ startRowIndex: range.startRowIndex + rowDelta,
400
+ endRowIndex: range.endRowIndex + rowDelta,
401
+ startColumnIndex: range.startColumnIndex + columnDelta,
402
+ endColumnIndex: range.endColumnIndex + columnDelta,
403
+ };
404
+ });
405
+ };
406
+ /** Re-point the ranges of every chart when a cell block is moved (see `moveChartSpecRanges`). */
407
+ export const moveChartsOnRangeMove = (draft, fromSheetId, from, toSheetId, to) => {
408
+ for (const chart of draft) {
409
+ moveChartSpecRanges(chart.spec, fromSheetId, from, toSheetId, to);
410
+ }
411
+ };
412
+ /**
413
+ * Where line `index` (a row or column) ends up after the whole lines `lines`
414
+ * (sorted ascending) are moved so the block lands at `target` in the
415
+ * post-removal frame — the permutation a row/column move applies to every
416
+ * cell. A moved line lands at `target` + its rank in the block; a line outside
417
+ * closes the gap the block left and is pushed by the block landing at or
418
+ * before it. Mirrors `moved_line_index` in `rnc-store`.
419
+ */
420
+ export const movedLineIndex = (lines, target, index) => {
421
+ const rank = lines.indexOf(index);
422
+ if (rank !== -1)
423
+ return target + rank;
424
+ let removedBefore = 0;
425
+ for (const line of lines) {
426
+ if (line < index)
427
+ removedBefore++;
428
+ }
429
+ const settled = index - removedBefore;
430
+ return settled < target ? settled : settled + lines.length;
431
+ };
432
+ /**
433
+ * Re-point the ranges inside a chart spec when whole rows / columns of
434
+ * `sheetId` are moved (`lines` land at `target`), with the rule the engines
435
+ * apply to formula references: both edges follow their line, and the range is
436
+ * rewritten only when that yields a range of the same size — so a range wholly
437
+ * inside the moved block relocates with it, one wholly inside the displaced
438
+ * band shifts by the block size, and one straddling the block and its
439
+ * neighbours keeps its text (it still covers the same cells). Mirrors
440
+ * `permute_spec_sheet_ranges` in `rnc-store` / `remap_formula_axis`.
441
+ */
442
+ export const reorderChartSpecRanges = (spec, sheetId, axis, lines, target) => {
443
+ if (!lines.length)
444
+ return false;
445
+ const [startKey, endKey] = axis === "row"
446
+ ? ["startRowIndex", "endRowIndex"]
447
+ : ["startColumnIndex", "endColumnIndex"];
448
+ return rewriteChartSpecRanges(spec, (range) => {
449
+ if (range.sheetId !== sheetId)
450
+ return range;
451
+ const start = range[startKey];
452
+ const end = range[endKey];
453
+ const nextStart = movedLineIndex(lines, target, start);
454
+ const nextEnd = movedLineIndex(lines, target, end);
455
+ if (nextEnd < nextStart ||
456
+ nextEnd - nextStart !== end - start ||
457
+ (nextStart === start && nextEnd === end)) {
458
+ return range;
459
+ }
460
+ return { ...range, [startKey]: nextStart, [endKey]: nextEnd };
461
+ });
462
+ };
463
+ /** Re-point the ranges of every chart when whole rows / columns are moved (see `reorderChartSpecRanges`). */
464
+ export const reorderChartsOnLineMove = (draft, sheetId, axis, lines, target) => {
465
+ for (const chart of draft) {
466
+ reorderChartSpecRanges(chart.spec, sheetId, axis, lines, target);
467
+ }
468
+ };
469
+ export const tableBinding = (table) => {
470
+ const { range } = table;
471
+ const bodyStartRowIndex = range.startRowIndex + (table.headerRow === false ? 0 : 1);
472
+ return {
473
+ range,
474
+ rowStarts: [range.startRowIndex, bodyStartRowIndex],
475
+ bodyEndRowIndex: range.endRowIndex - (table.totalRow ? 1 : 0),
476
+ };
477
+ };
478
+ /**
479
+ * A range bound to the table along `axis`: it covers the body rows (or header + body) of one or
480
+ * more table columns — for a column edit ALL of them, since a series is a column and only a range
481
+ * reading the whole table gains a column with it.
482
+ */
483
+ const isTableBoundRange = (range, binding, axis) => binding.rowStarts.includes(range.startRowIndex) &&
484
+ range.endRowIndex === binding.bodyEndRowIndex &&
485
+ range.startColumnIndex >= binding.range.startColumnIndex &&
486
+ range.endColumnIndex <= binding.range.endColumnIndex &&
487
+ (axis === "row" ||
488
+ (range.startColumnIndex === binding.range.startColumnIndex &&
489
+ range.endColumnIndex === binding.range.endColumnIndex));
490
+ /** The table's extent across `axis` — the band a table-local edit moves cells in. */
491
+ const tableBand = (binding, axis) => axis === "row"
492
+ ? {
493
+ startIndex: binding.range.startColumnIndex,
494
+ endIndex: binding.range.endColumnIndex,
495
+ }
496
+ : {
497
+ startIndex: binding.range.startRowIndex,
498
+ endIndex: binding.range.endRowIndex,
499
+ };
500
+ const growSpan = (range, axis, delta) => {
501
+ const [startKey, endKey] = axis === "row"
502
+ ? ["startRowIndex", "endRowIndex"]
503
+ : ["startColumnIndex", "endColumnIndex"];
504
+ const end = range[endKey] + delta;
505
+ return end < range[startKey] ? null : { ...range, [endKey]: end };
506
+ };
507
+ /**
508
+ * Insert / delete table rows (or columns): the cells inside the table's columns (rows) at/after
509
+ * `index` move, so every chart range wholly inside that band follows the reference rule like
510
+ * insert/delete-cells — except a range bound to the table (`isTableBoundRange`), which grows /
511
+ * shrinks by `count` even when the rows are appended below the last body row (where the
512
+ * reference rule would leave it alone) or inserted above the first one (where it would shift):
513
+ * Excel keeps the series on the table column. A range that collapses is removed (`#REF!`).
514
+ * Mutates in place; returns whether anything changed. Mirrors
515
+ * `shift_spec_sheet_ranges_for_table_edit` in `rnc-store`.
516
+ */
517
+ export const shiftChartSpecRangesOnTableEdit = (spec, sheetId, binding, axis, op, index, count) => {
518
+ const band = tableBand(binding, axis);
519
+ const [acrossStartKey, acrossEndKey] = axis === "row"
520
+ ? ["startColumnIndex", "endColumnIndex"]
521
+ : ["startRowIndex", "endRowIndex"];
522
+ return rewriteChartSpecRanges(spec, (range) => {
523
+ if (range.sheetId !== sheetId ||
524
+ range[acrossStartKey] < band.startIndex ||
525
+ range[acrossEndKey] > band.endIndex) {
526
+ return range;
527
+ }
528
+ if (isTableBoundRange(range, binding, axis)) {
529
+ return growSpan(range, axis, op === "insert" ? count : -count);
530
+ }
531
+ return shiftGridRangeLikeReference(range, axis, op, index, count);
532
+ });
533
+ };
534
+ /**
535
+ * Table growth without a cell shift — the resize handle, typing below / to the right of the
536
+ * table: a range bound to the table (`isTableBoundRange`) grows / shrinks with its body by
537
+ * `rowDelta` rows, then by `columnDelta` columns against the row-grown table. Mutates in place;
538
+ * returns whether anything changed. Mirrors `grow_table_bound_spec_ranges` in `rnc-store`.
539
+ */
540
+ export const growTableBoundChartSpecRanges = (spec, sheetId, binding, rowDelta, columnDelta) => {
541
+ if (rowDelta === 0 && columnDelta === 0)
542
+ return false;
543
+ const rowGrown = {
544
+ ...binding,
545
+ range: { ...binding.range, endRowIndex: binding.range.endRowIndex + rowDelta },
546
+ bodyEndRowIndex: binding.bodyEndRowIndex + rowDelta,
547
+ };
548
+ return rewriteChartSpecRanges(spec, (range) => {
549
+ if (range.sheetId !== sheetId)
550
+ return range;
551
+ let next = range;
552
+ if (rowDelta !== 0 && isTableBoundRange(next, binding, "row")) {
553
+ next = growSpan(next, "row", rowDelta);
554
+ }
555
+ if (next && columnDelta !== 0 && isTableBoundRange(next, rowGrown, "column")) {
556
+ next = growSpan(next, "column", columnDelta);
557
+ }
558
+ return next;
559
+ });
560
+ };
561
+ /** Every chart's ranges follow a table-local row / column insert or delete (see `shiftChartSpecRangesOnTableEdit`). */
562
+ export const shiftChartsOnTableEdit = (draft, sheetId, binding, axis, op, index, count) => {
563
+ for (const chart of draft) {
564
+ shiftChartSpecRangesOnTableEdit(chart.spec, sheetId, binding, axis, op, index, count);
565
+ }
566
+ };
567
+ /** Every chart's table-bound ranges grow / shrink with a resized or auto-expanded table (see `growTableBoundChartSpecRanges`). */
568
+ export const growChartsWithTable = (draft, sheetId, binding, rowDelta, columnDelta) => {
569
+ for (const chart of draft) {
570
+ growTableBoundChartSpecRanges(chart.spec, sheetId, binding, rowDelta, columnDelta);
571
+ }
572
+ };
@@ -1,10 +1,9 @@
1
1
  import type { CellInterface, GridRange } from "@rowsncolumns/common-types";
2
2
  import type { CellData, EmbeddedObject, TableView } from "@rowsncolumns/spreadsheet";
3
- import type { GeneratedNames } from "../generated-names";
4
3
  import type { UseSpreadsheetProps } from "../hooks/use-spreadsheet-state";
5
4
  export type ClipBoardFormat = "text/html" | "text/csv" | "text/plain" | "application/json" | "image/apng" | "image/bmp" | "image/gif" | "image/jpeg" | "image/pjpeg" | "image/png" | "image/svg+xml" | "image/tiff" | "image/webp" | "image/x-icon";
6
5
  export declare const SUPPORTED_IMAGE_TYPES: string[];
7
- export declare const generateDataFromClipboard: <T extends CellData>(e: ClipboardEvent | undefined, activeCell: CellInterface, sheetId: number, activeSheetName: string, preserveFormatting?: boolean, locale?: string, idCreationStrategy?: UseSpreadsheetProps<T>["idCreationStrategy"], forcePlainText?: boolean, sanitizeHtml?: (html: string) => string, generatedNames?: GeneratedNames, options?: {
6
+ export declare const generateDataFromClipboard: <T extends CellData>(e: ClipboardEvent | undefined, activeCell: CellInterface, sheetId: number, activeSheetName: string, preserveFormatting?: boolean, locale?: string, idCreationStrategy?: UseSpreadsheetProps<T>["idCreationStrategy"], forcePlainText?: boolean, sanitizeHtml?: (html: string) => string, options?: {
8
7
  /**
9
8
  * Re-anchor each copied formula's relative refs from its `sourceCell` to the paste
10
9
  * destination (a COPY). `false` for a CUT: Excel keeps a moved formula's text verbatim and
@@ -1 +1 @@
1
- {"version":3,"file":"copy-paste.d.ts","sourceRoot":"","sources":["../../../api/copy-paste.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,SAAS,EACV,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,SAAS,EAEV,MAAM,2BAA2B,CAAC;AAanC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAW1E,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,UAAU,GACV,YAAY,GACZ,kBAAkB,GAClB,YAAY,GACZ,WAAW,GACX,WAAW,GACX,YAAY,GACZ,aAAa,GACb,WAAW,GACX,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,cAAc,CAAC;AAEnB,eAAO,MAAM,qBAAqB,UAWjC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAU,CAAC,SAAS,QAAQ,EAChE,GAAG,cAAc,GAAG,SAAS,EAC7B,YAAY,aAAa,EACzB,SAAS,MAAM,EACf,iBAAiB,MAAM,EACvB,qBAAqB,OAAO,EAC5B,SAAS,MAAM,EACf,qBAAqB,mBAAmB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,EACjE,iBAAiB,OAAO,EACxB,eAAe,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACvC,iBAAiB,cAAc,EAC/B,UAAU;IACR;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,KACA,OAAO,CACN;IACE,OAAO,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC;IAC5C,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,GACD,SAAS,CAyQZ,CAAC;AAEF,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,SAazC;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,QAAQ,EAC/C,MAAM,EAAE,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,yCAwB9C;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAC1C,MAAM,EAAE,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,EAC7C,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,yCAkChB;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,EAC5C,MAAM,EAAE,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,EAC7C,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,yCAwBhB;AAED,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7D,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,KACnD,MAAM,EAmBR,CAAC"}
1
+ {"version":3,"file":"copy-paste.d.ts","sourceRoot":"","sources":["../../../api/copy-paste.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,SAAS,EACV,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,SAAS,EAEV,MAAM,2BAA2B,CAAC;AAcnC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAW1E,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,UAAU,GACV,YAAY,GACZ,kBAAkB,GAClB,YAAY,GACZ,WAAW,GACX,WAAW,GACX,YAAY,GACZ,aAAa,GACb,WAAW,GACX,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,cAAc,CAAC;AAEnB,eAAO,MAAM,qBAAqB,UAWjC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAU,CAAC,SAAS,QAAQ,EAChE,GAAG,cAAc,GAAG,SAAS,EAC7B,YAAY,aAAa,EACzB,SAAS,MAAM,EACf,iBAAiB,MAAM,EACvB,qBAAqB,OAAO,EAC5B,SAAS,MAAM,EACf,qBAAqB,mBAAmB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,EACjE,iBAAiB,OAAO,EACxB,eAAe,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACvC,UAAU;IACR;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,KACA,OAAO,CACN;IACE,OAAO,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC;IAC5C,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,GACD,SAAS,CAqQZ,CAAC;AAEF,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,SAazC;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,QAAQ,EAC/C,MAAM,EAAE,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,yCAwB9C;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAC1C,MAAM,EAAE,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,EAC7C,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,yCAkChB;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,EAC5C,MAAM,EAAE,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,EAC7C,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,yCAwBhB;AAED,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7D,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,KACnD,MAAM,EAmBR,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { createCellDataArrayFromCSVString, readImageFileAsDataUri, } from "@rowsncolumns/toolkit";
2
2
  import { getCellEffectiveFormat, isAFormula, isNil, log, } from "@rowsncolumns/utils";
3
3
  import { uuid } from "@rowsncolumns/utils";
4
- import { getGeneratedTableCopyName } from "../generated-names";
5
4
  import { defaultCellCoords, defaultSheetId, isStyleReference, SheetCell, } from "../sheet-cell";
6
5
  import { isRichSharedString } from "../types";
7
6
  import { isBoolean, isValidURLorEmail } from "./datatype";
@@ -18,7 +17,7 @@ export const SUPPORTED_IMAGE_TYPES = [
18
17
  "image/webp",
19
18
  "image/x-icon",
20
19
  ];
21
- export const generateDataFromClipboard = async (e, activeCell, sheetId, activeSheetName, preserveFormatting, locale, idCreationStrategy, forcePlainText, sanitizeHtml, generatedNames, options) => {
20
+ export const generateDataFromClipboard = async (e, activeCell, sheetId, activeSheetName, preserveFormatting, locale, idCreationStrategy, forcePlainText, sanitizeHtml, options) => {
22
21
  const items = e?.clipboardData?.items;
23
22
  const files = e?.clipboardData?.files;
24
23
  const formatOrder = [
@@ -84,7 +83,6 @@ export const generateDataFromClipboard = async (e, activeCell, sheetId, activeSh
84
83
  const rowSpan = table.range.endRowIndex - table.range.startRowIndex;
85
84
  const colSpan = table.range.endColumnIndex - table.range.startColumnIndex;
86
85
  table.id = idCreationStrategy?.("table") ?? uuid();
87
- table.title = getGeneratedTableCopyName(table.title, generatedNames);
88
86
  // Update sheet id
89
87
  table.sheetId = sheetId;
90
88
  table.range.startRowIndex = activeCell.rowIndex + rowDelta;