@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,19 +1,22 @@
1
- import { __awaiter, __generator, __read } from "tslib";
1
+ import { __assign, __awaiter, __generator, __read } from "tslib";
2
2
  import { useLoadingIndicator, } from "@rowsncolumns/spreadsheet";
3
3
  import { error } from "@rowsncolumns/utils";
4
4
  import { useCallback } from "react";
5
5
  import { MergedFillSizeError } from "../api/fill";
6
+ import { getFillTotalsRowRefusal, resolveShiftSelection, } from "../api/structural-guards";
7
+ import { useShowError } from "../atoms/error-state.atom";
6
8
  import { applyFill } from "../interface/apply-fill";
7
9
  import { useCanEditCellRange } from "./use-can-edit-cellrange";
8
10
  export var useOnFill = function (_a) {
9
- var locale = _a.locale, cellXfsRegistry = _a.cellXfsRegistry, sharedStringRegistry = _a.sharedStringRegistry, getCellData = _a.getCellData, getDataValidationById = _a.getDataValidationById, getEffectiveValue = _a.getEffectiveValue, getFormattedValue = _a.getFormattedValue, getAutoFillValues = _a.getAutoFillValues, getSheetName = _a.getSheetName, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, onChangeSheetData = _a.onChangeSheetData, onChangeDataValidations = _a.onChangeDataValidations, createHistory = _a.createHistory, onCommand = _a.onCommand, getMerges = _a.getMerges, onFillMerges = _a.onFillMerges;
11
+ var locale = _a.locale, cellXfsRegistry = _a.cellXfsRegistry, sharedStringRegistry = _a.sharedStringRegistry, getCellData = _a.getCellData, getDataValidationById = _a.getDataValidationById, getEffectiveValue = _a.getEffectiveValue, getFormattedValue = _a.getFormattedValue, getAutoFillValues = _a.getAutoFillValues, getSheetName = _a.getSheetName, enqueueCalculation = _a.enqueueCalculation, enqueueStructureChange = _a.enqueueStructureChange, onChangeSheetData = _a.onChangeSheetData, onChangeDataValidations = _a.onChangeDataValidations, createHistory = _a.createHistory, onCommand = _a.onCommand, getMerges = _a.getMerges, onFillMerges = _a.onFillMerges, tables = _a.tables, getUserEnteredValue = _a.getUserEnteredValue, onChangeTableColumn = _a.onChangeTableColumn, batchHistory = _a.batchHistory, _b = _a.autoExpandTables, autoExpandTables = _b === void 0 ? true : _b;
10
12
  var canEditCellRange = useCanEditCellRange();
11
- var _b = __read(useLoadingIndicator(), 2), showLoader = _b[0], hideLoader = _b[1];
13
+ var showError = useShowError();
14
+ var _c = __read(useLoadingIndicator(), 2), showLoader = _c[0], hideLoader = _c[1];
12
15
  return useCallback(function (sheetId, activeCell, fillSelection, selections, fillableSelections, fillType,
13
16
  // Modifier held on the fill handle / Series-dialog parameters. The
14
17
  // positional `fillType` keeps working; `options.fillType` is a fallback.
15
18
  options) { return __awaiter(void 0, void 0, void 0, function () {
16
- var resolvedFillType, err_1;
19
+ var resolvedFillType, totalsRefusal, err_1;
17
20
  return __generator(this, function (_a) {
18
21
  switch (_a.label) {
19
22
  case 0:
@@ -22,6 +25,16 @@ export var useOnFill = function (_a) {
22
25
  console.debug("This range is protected, users cannot edit this cell range.");
23
26
  return [2 /*return*/];
24
27
  }
28
+ totalsRefusal = getFillTotalsRowRefusal({
29
+ sheetId: sheetId,
30
+ source: resolveShiftSelection(activeCell, selections).range,
31
+ target: fillSelection.range,
32
+ tables: tables,
33
+ });
34
+ if (totalsRefusal) {
35
+ showError({ title: totalsRefusal.title, message: totalsRefusal.message });
36
+ return [2 /*return*/];
37
+ }
25
38
  // Show loading
26
39
  showLoader();
27
40
  _a.label = 1;
@@ -44,6 +57,11 @@ export var useOnFill = function (_a) {
44
57
  createHistory: createHistory,
45
58
  getMerges: getMerges,
46
59
  onFillMerges: onFillMerges,
60
+ tables: tables,
61
+ getUserEnteredValue: getUserEnteredValue,
62
+ onChangeTableColumn: onChangeTableColumn,
63
+ batchHistory: batchHistory,
64
+ autoExpandTables: autoExpandTables,
47
65
  })(sheetId, activeCell, fillSelection, selections, fillableSelections, resolvedFillType, options)];
48
66
  case 2:
49
67
  _a.sent();
@@ -60,17 +78,7 @@ export var useOnFill = function (_a) {
60
78
  hideLoader();
61
79
  return [7 /*endfinally*/];
62
80
  case 5:
63
- onCommand === null || onCommand === void 0 ? void 0 : onCommand({
64
- command: "fill",
65
- sheetId: sheetId,
66
- activeCell: activeCell,
67
- fillSelection: fillSelection,
68
- selections: selections,
69
- fillableSelections: fillableSelections,
70
- fillType: resolvedFillType,
71
- modifier: options === null || options === void 0 ? void 0 : options.modifier,
72
- series: options === null || options === void 0 ? void 0 : options.series,
73
- });
81
+ onCommand === null || onCommand === void 0 ? void 0 : onCommand(__assign({ command: "fill", sheetId: sheetId, activeCell: activeCell, fillSelection: fillSelection, selections: selections, fillableSelections: fillableSelections, fillType: resolvedFillType, modifier: options === null || options === void 0 ? void 0 : options.modifier, series: options === null || options === void 0 ? void 0 : options.series }, (autoExpandTables ? {} : { autoExpandTables: autoExpandTables })));
74
82
  return [2 /*return*/];
75
83
  }
76
84
  });
@@ -79,6 +87,7 @@ export var useOnFill = function (_a) {
79
87
  cellXfsRegistry,
80
88
  sharedStringRegistry,
81
89
  getDataValidationById,
90
+ showError,
82
91
  showLoader,
83
92
  hideLoader,
84
93
  getCellData,
@@ -95,5 +104,10 @@ export var useOnFill = function (_a) {
95
104
  onCommand,
96
105
  getMerges,
97
106
  onFillMerges,
107
+ tables,
108
+ getUserEnteredValue,
109
+ onChangeTableColumn,
110
+ batchHistory,
111
+ autoExpandTables,
98
112
  ]);
99
113
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-on-filter-table.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-filter-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-on-filter-table.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-filter-table.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { __assign, __awaiter, __generator, __read, __spreadArray, __values } from "tslib";
2
- import { BLANK_LABEL, checkFilterRule, getStringifiedColor, ICON_SET_GLYPHS, pickIconBucket, resolveThreshold, } from "@rowsncolumns/spreadsheet";
2
+ import { BLANK_LABEL, checkFilterCondition, getStringifiedColor, ICON_SET_GLYPHS, isAggregateFilterCondition, passesAggregateFilterThreshold, pickIconBucket, resolveAggregateFilterThreshold, resolveThreshold, } from "@rowsncolumns/spreadsheet";
3
3
  import { cellToAddress, isNil } from "@rowsncolumns/utils";
4
4
  import { produceWithPatches } from "immer";
5
5
  import set from "lodash/set";
@@ -106,6 +106,8 @@ export var useOnFilterTable = function (_a) {
106
106
  visibleValues: visibleValues,
107
107
  colorFilter: extras.colorFilter,
108
108
  iconFilter: extras.iconFilter,
109
+ condition2: extras.condition2,
110
+ conditionJoin: extras.conditionJoin,
109
111
  });
110
112
  return [2 /*return*/];
111
113
  }
@@ -133,7 +135,12 @@ export var useOnFilterTable = function (_a) {
133
135
  var result;
134
136
  return __generator(this, function (_a) {
135
137
  switch (_a.label) {
136
- case 0: return [4 /*yield*/, (onFilterTable === null || onFilterTable === void 0 ? void 0 : onFilterTable(sheetId, filter, columnIndex, undefined, undefined, []))];
138
+ case 0: return [4 /*yield*/, (onFilterTable === null || onFilterTable === void 0 ? void 0 : onFilterTable(sheetId, filter, columnIndex, undefined, undefined, [], {
139
+ colorFilter: null,
140
+ iconFilter: null,
141
+ condition2: null,
142
+ conditionJoin: null,
143
+ }))];
137
144
  case 1:
138
145
  result = _a.sent();
139
146
  onCommand === null || onCommand === void 0 ? void 0 : onCommand({
@@ -305,11 +312,78 @@ var matchesCellIcon = function (iconFilter, ctx, sheetId, rowIndex, columnIndex,
305
312
  * value: "9/29/2026" contains "29", the serial 46294 behind it is irrelevant.
306
313
  */
307
314
  var DISPLAY_TEXT_CONDITION_TYPES = new Set([
315
+ "TEXT_EQ",
316
+ "TEXT_NOT_EQ",
308
317
  "TEXT_CONTAINS",
309
318
  "TEXT_NOT_CONTAINS",
310
319
  "TEXT_STARTS_WITH",
311
320
  "TEXT_ENDS_WITH",
312
321
  ]);
322
+ /**
323
+ * The clauses of a column's criteria that rank against the whole column
324
+ * (Top 10 / above average), resolved once per filter pass: per body-column
325
+ * scan of the numeric effective values, keyed by `columnIndex:clause`.
326
+ * Recomputing the cutoff per row would be quadratic.
327
+ */
328
+ var buildAggregateThresholds = function (sheetId, filterRange, startRowIndex, endRowIndex, filterSpecs, getEffectiveValue) {
329
+ var e_4, _a, e_5, _b;
330
+ var _c, _d;
331
+ var thresholds = new Map();
332
+ try {
333
+ for (var filterSpecs_2 = __values(filterSpecs), filterSpecs_2_1 = filterSpecs_2.next(); !filterSpecs_2_1.done; filterSpecs_2_1 = filterSpecs_2.next()) {
334
+ var spec = filterSpecs_2_1.value;
335
+ var clauses = [
336
+ ["1", (_c = spec.filterCriteria) === null || _c === void 0 ? void 0 : _c.condition],
337
+ ["2", (_d = spec.filterCriteria) === null || _d === void 0 ? void 0 : _d.condition2],
338
+ ];
339
+ var columnValues = void 0;
340
+ try {
341
+ for (var clauses_1 = (e_5 = void 0, __values(clauses)), clauses_1_1 = clauses_1.next(); !clauses_1_1.done; clauses_1_1 = clauses_1.next()) {
342
+ var _e = __read(clauses_1_1.value, 2), clause = _e[0], condition = _e[1];
343
+ if (!condition || !isAggregateFilterCondition(condition))
344
+ continue;
345
+ if (!columnValues) {
346
+ columnValues = [];
347
+ var columnIndex = filterRange.startColumnIndex + spec.columnIndex;
348
+ for (var rowIndex = startRowIndex; rowIndex <= endRowIndex; rowIndex++) {
349
+ var value = getEffectiveValue(sheetId, rowIndex, columnIndex);
350
+ if (typeof value === "number" && Number.isFinite(value)) {
351
+ columnValues.push(value);
352
+ }
353
+ }
354
+ }
355
+ thresholds.set("".concat(spec.columnIndex, ":").concat(clause), resolveAggregateFilterThreshold(condition, columnValues));
356
+ }
357
+ }
358
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
359
+ finally {
360
+ try {
361
+ if (clauses_1_1 && !clauses_1_1.done && (_b = clauses_1.return)) _b.call(clauses_1);
362
+ }
363
+ finally { if (e_5) throw e_5.error; }
364
+ }
365
+ }
366
+ }
367
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
368
+ finally {
369
+ try {
370
+ if (filterSpecs_2_1 && !filterSpecs_2_1.done && (_a = filterSpecs_2.return)) _a.call(filterSpecs_2);
371
+ }
372
+ finally { if (e_4) throw e_4.error; }
373
+ }
374
+ return thresholds;
375
+ };
376
+ /**
377
+ * Combine a Custom AutoFilter's two clause results with its And / Or join.
378
+ * `undefined` is an absent clause; a lone clause decides on its own.
379
+ */
380
+ var joinConditionResults = function (criteria, first, second) {
381
+ if (first === undefined)
382
+ return second !== null && second !== void 0 ? second : true;
383
+ if (second === undefined)
384
+ return first;
385
+ return criteria.conditionJoin === "OR" ? first || second : first && second;
386
+ };
313
387
  var isDisplayTextCondition = function (type) {
314
388
  return type != null && DISPLAY_TEXT_CONDITION_TYPES.has(type);
315
389
  };
@@ -328,122 +402,154 @@ conditionalFormats,
328
402
  // `FilterTableExtras`). Lets `colorFilter` match CF-painted fills/font
329
403
  // colors, which the effective format doesn't carry.
330
404
  getCellConditionalFormat) { return __awaiter(void 0, void 0, void 0, function () {
331
- var activeSheetName, hiddenRows, filterSpecByColumnIndex, range, iconEvalByColumn, headerRow, totalRow, startRowIndex, endRowIndex, rowIndex, columnIndex, dimensionIndex, columnFilter, filterApplied, condition, matchesDisplayText, formulaRule, isFormulaRule, baseCellRef, baseFormula, formulaValue, currentVisibleValues, visibleValuesSet, showBlanks, effectiveValue, formattedValue, validationResult, _a, _b, _c, isBlanksVisible, isRowVisible, colorFilter, iconFilter, effectiveFormat, cellConditionalFormat, matchesColorFilter, iconCtx, matchesIconFilter, isHidden;
332
- var _d, _e, _f, _g, _h;
333
- return __generator(this, function (_j) {
334
- switch (_j.label) {
405
+ var activeSheetName, hiddenRows, filterSpecByColumnIndex, range, iconEvalByColumn, headerRow, totalRow, startRowIndex, endRowIndex, aggregateThresholds, _loop_3, rowIndex;
406
+ var _a, _b, _c, _d, _e;
407
+ return __generator(this, function (_f) {
408
+ switch (_f.label) {
335
409
  case 0:
336
410
  activeSheetName = getSheetName(sheetId);
337
411
  hiddenRows = new Set();
338
412
  filterSpecByColumnIndex = createFilterSpecsByColumnIndex(filterSpecs);
339
413
  range = filterView.range;
340
414
  iconEvalByColumn = buildIconEvalByColumn(sheetId, range, filterSpecs, conditionalFormats, getEffectiveValue);
341
- headerRow = (_d = filterView.headerRow) !== null && _d !== void 0 ? _d : true;
415
+ headerRow = (_a = filterView.headerRow) !== null && _a !== void 0 ? _a : true;
342
416
  totalRow = filterView.totalRow;
343
417
  startRowIndex = range.startRowIndex + (headerRow ? 1 : 0);
344
418
  endRowIndex = range.endRowIndex - (totalRow ? 1 : 0);
419
+ aggregateThresholds = buildAggregateThresholds(sheetId, range, startRowIndex, endRowIndex, filterSpecs, getEffectiveValue);
420
+ _loop_3 = function (rowIndex) {
421
+ var _loop_4, columnIndex;
422
+ return __generator(this, function (_g) {
423
+ switch (_g.label) {
424
+ case 0:
425
+ _loop_4 = function (columnIndex) {
426
+ var dimensionIndex, columnFilter, filterApplied, currentVisibleValues, visibleValuesSet, showBlanks, effectiveValue, formattedValue, evaluateCondition, firstResult, secondResult, validationResult, isBlanksVisible, isRowVisible, colorFilter, iconFilter, effectiveFormat, cellConditionalFormat, matchesColorFilter, iconCtx, matchesIconFilter, isHidden;
427
+ return __generator(this, function (_h) {
428
+ switch (_h.label) {
429
+ case 0:
430
+ dimensionIndex = columnIndex - range.startColumnIndex;
431
+ columnFilter = filterSpecByColumnIndex[dimensionIndex];
432
+ filterApplied = Boolean(((_b = columnFilter === null || columnFilter === void 0 ? void 0 : columnFilter.filterCriteria.condition) === null || _b === void 0 ? void 0 : _b.type) ||
433
+ ((_c = columnFilter === null || columnFilter === void 0 ? void 0 : columnFilter.filterCriteria.condition2) === null || _c === void 0 ? void 0 : _c.type) ||
434
+ ((_d = columnFilter === null || columnFilter === void 0 ? void 0 : columnFilter.filterCriteria.visibleValues) === null || _d === void 0 ? void 0 : _d.length) ||
435
+ (columnFilter === null || columnFilter === void 0 ? void 0 : columnFilter.filterCriteria.colorFilter) ||
436
+ (columnFilter === null || columnFilter === void 0 ? void 0 : columnFilter.filterCriteria.iconFilter));
437
+ if (!columnFilter || !filterApplied) {
438
+ return [2 /*return*/, "continue"];
439
+ }
440
+ currentVisibleValues = columnFilter === null || columnFilter === void 0 ? void 0 : columnFilter.filterCriteria.visibleValues;
441
+ visibleValuesSet = currentVisibleValues
442
+ ? new Set(currentVisibleValues)
443
+ : undefined;
444
+ showBlanks = (_e = visibleValuesSet === null || visibleValuesSet === void 0 ? void 0 : visibleValuesSet.has(BLANK_LABEL)) !== null && _e !== void 0 ? _e : false;
445
+ effectiveValue = getEffectiveValue(sheetId, rowIndex, columnIndex);
446
+ formattedValue = getFormattedValue(sheetId, rowIndex, columnIndex);
447
+ evaluateCondition = function (condition, clause) { return __awaiter(void 0, void 0, void 0, function () {
448
+ var matchesDisplayText, formulaRule, isFormulaRule, baseCellRef, baseFormula, formulaValue;
449
+ var _a;
450
+ return __generator(this, function (_b) {
451
+ switch (_b.label) {
452
+ case 0:
453
+ if (!(condition === null || condition === void 0 ? void 0 : condition.type)) {
454
+ return [2 /*return*/, undefined];
455
+ }
456
+ if (isAggregateFilterCondition(condition)) {
457
+ return [2 /*return*/, passesAggregateFilterThreshold(aggregateThresholds.get("".concat(dimensionIndex, ":").concat(clause)), effectiveValue)];
458
+ }
459
+ matchesDisplayText = isDisplayTextCondition(condition.type);
460
+ if (matchesDisplayText) {
461
+ return [2 /*return*/, checkFilterCondition(condition, formattedValue !== null && formattedValue !== void 0 ? formattedValue : "")];
462
+ }
463
+ formulaRule = { condition: condition };
464
+ isFormulaRule = isDataValidationFormulaRule(formulaRule);
465
+ baseCellRef = (_a = cellToAddress({ rowIndex: startRowIndex, columnIndex: columnIndex })) !== null && _a !== void 0 ? _a : "A1";
466
+ baseFormula = isFormulaRule
467
+ ? buildDataValidationExpression(formulaRule, baseCellRef, locale)
468
+ : undefined;
469
+ formulaValue = baseFormula
470
+ ? formulaToRelativeReference(baseFormula, { rowIndex: startRowIndex, columnIndex: columnIndex }, { rowIndex: rowIndex, columnIndex: columnIndex }, activeSheetName, { ignoreCircular: true })
471
+ : undefined;
472
+ if (!formulaValue) return [3 /*break*/, 2];
473
+ return [4 /*yield*/, onRequestCalculate(formulaValue, sheetId, rowIndex, columnIndex)];
474
+ case 1:
475
+ // Only an explicit FALSE hides the row: a FormulaError (or a calc
476
+ // that has not settled) leaves it visible, as before.
477
+ return [2 /*return*/, ((_b.sent()) !== false)];
478
+ case 2: return [2 /*return*/, checkFilterCondition(condition, effectiveValue)];
479
+ }
480
+ });
481
+ }); };
482
+ return [4 /*yield*/, evaluateCondition(columnFilter.filterCriteria.condition, "1")];
483
+ case 1:
484
+ firstResult = _h.sent();
485
+ return [4 /*yield*/, evaluateCondition(columnFilter.filterCriteria.condition2, "2")];
486
+ case 2:
487
+ secondResult = _h.sent();
488
+ validationResult = joinConditionResults(columnFilter.filterCriteria, firstResult, secondResult);
489
+ isBlanksVisible = showBlanks
490
+ ? isNil(formattedValue) || formattedValue === ""
491
+ : false;
492
+ isRowVisible = currentVisibleValues
493
+ ? isBlanksVisible ||
494
+ (formattedValue && (visibleValuesSet === null || visibleValuesSet === void 0 ? void 0 : visibleValuesSet.has(formattedValue)))
495
+ : true;
496
+ colorFilter = columnFilter.filterCriteria.colorFilter;
497
+ iconFilter = columnFilter.filterCriteria.iconFilter;
498
+ effectiveFormat = colorFilter && getEffectiveFormat
499
+ ? getEffectiveFormat(sheetId, rowIndex, columnIndex)
500
+ : undefined;
501
+ cellConditionalFormat = colorFilter && getCellConditionalFormat
502
+ ? getCellConditionalFormat(sheetId, rowIndex, columnIndex)
503
+ : undefined;
504
+ matchesColorFilter = !colorFilter || (!getEffectiveFormat && !getCellConditionalFormat)
505
+ ? true
506
+ : matchesCellColor(colorFilter, effectiveFormat, cellConditionalFormat, theme);
507
+ iconCtx = iconFilter
508
+ ? iconEvalByColumn.get(columnIndex)
509
+ : undefined;
510
+ matchesIconFilter = !iconFilter
511
+ ? true
512
+ : !iconCtx
513
+ ? false
514
+ : matchesCellIcon(iconFilter, iconCtx, sheetId, rowIndex, columnIndex, getEffectiveValue);
515
+ isHidden = !isRowVisible ||
516
+ validationResult === false ||
517
+ !matchesColorFilter ||
518
+ !matchesIconFilter;
519
+ if (isHidden) {
520
+ hiddenRows.add(rowIndex);
521
+ }
522
+ return [2 /*return*/];
523
+ }
524
+ });
525
+ };
526
+ columnIndex = range.startColumnIndex;
527
+ _g.label = 1;
528
+ case 1:
529
+ if (!(columnIndex <= range.endColumnIndex)) return [3 /*break*/, 4];
530
+ return [5 /*yield**/, _loop_4(columnIndex)];
531
+ case 2:
532
+ _g.sent();
533
+ _g.label = 3;
534
+ case 3:
535
+ columnIndex++;
536
+ return [3 /*break*/, 1];
537
+ case 4: return [2 /*return*/];
538
+ }
539
+ });
540
+ };
345
541
  rowIndex = startRowIndex;
346
- _j.label = 1;
542
+ _f.label = 1;
347
543
  case 1:
348
- if (!(rowIndex <= endRowIndex)) return [3 /*break*/, 12];
349
- columnIndex = range.startColumnIndex;
350
- _j.label = 2;
544
+ if (!(rowIndex <= endRowIndex)) return [3 /*break*/, 4];
545
+ return [5 /*yield**/, _loop_3(rowIndex)];
351
546
  case 2:
352
- if (!(columnIndex <= range.endColumnIndex)) return [3 /*break*/, 11];
353
- dimensionIndex = columnIndex - range.startColumnIndex;
354
- columnFilter = filterSpecByColumnIndex[dimensionIndex];
355
- filterApplied = Boolean(((_e = columnFilter === null || columnFilter === void 0 ? void 0 : columnFilter.filterCriteria.condition) === null || _e === void 0 ? void 0 : _e.type) ||
356
- ((_f = columnFilter === null || columnFilter === void 0 ? void 0 : columnFilter.filterCriteria.visibleValues) === null || _f === void 0 ? void 0 : _f.length) ||
357
- (columnFilter === null || columnFilter === void 0 ? void 0 : columnFilter.filterCriteria.colorFilter) ||
358
- (columnFilter === null || columnFilter === void 0 ? void 0 : columnFilter.filterCriteria.iconFilter));
359
- if (!columnFilter || !filterApplied) {
360
- return [3 /*break*/, 10];
361
- }
362
- condition = columnFilter.filterCriteria.condition;
363
- matchesDisplayText = isDisplayTextCondition(condition === null || condition === void 0 ? void 0 : condition.type);
364
- formulaRule = condition && !matchesDisplayText
365
- ? { condition: condition }
366
- : undefined;
367
- isFormulaRule = isDataValidationFormulaRule(formulaRule);
368
- baseCellRef = (_g = cellToAddress({ rowIndex: startRowIndex, columnIndex: columnIndex })) !== null && _g !== void 0 ? _g : "A1";
369
- baseFormula = isFormulaRule
370
- ? buildDataValidationExpression(formulaRule, baseCellRef, locale)
371
- : undefined;
372
- formulaValue = baseFormula
373
- ? formulaToRelativeReference(baseFormula, { rowIndex: startRowIndex, columnIndex: columnIndex }, { rowIndex: rowIndex, columnIndex: columnIndex }, activeSheetName, { ignoreCircular: true })
374
- : undefined;
375
- currentVisibleValues = columnFilter === null || columnFilter === void 0 ? void 0 : columnFilter.filterCriteria.visibleValues;
376
- visibleValuesSet = currentVisibleValues
377
- ? new Set(currentVisibleValues)
378
- : undefined;
379
- showBlanks = (_h = visibleValuesSet === null || visibleValuesSet === void 0 ? void 0 : visibleValuesSet.has(BLANK_LABEL)) !== null && _h !== void 0 ? _h : false;
380
- effectiveValue = getEffectiveValue(sheetId, rowIndex, columnIndex);
381
- formattedValue = getFormattedValue(sheetId, rowIndex, columnIndex);
382
- if (!(condition === null || condition === void 0 ? void 0 : condition.type)) return [3 /*break*/, 8];
383
- if (!matchesDisplayText) return [3 /*break*/, 3];
384
- _b = checkFilterRule(columnFilter.filterCriteria, formattedValue !== null && formattedValue !== void 0 ? formattedValue : "");
385
- return [3 /*break*/, 7];
547
+ _f.sent();
548
+ _f.label = 3;
386
549
  case 3:
387
- if (!formulaValue) return [3 /*break*/, 5];
388
- return [4 /*yield*/, onRequestCalculate(formulaValue, sheetId, rowIndex, columnIndex)];
389
- case 4:
390
- _c = _j.sent();
391
- return [3 /*break*/, 6];
392
- case 5:
393
- _c = checkFilterRule(columnFilter.filterCriteria, effectiveValue);
394
- _j.label = 6;
395
- case 6:
396
- _b = _c;
397
- _j.label = 7;
398
- case 7:
399
- _a = _b;
400
- return [3 /*break*/, 9];
401
- case 8:
402
- _a = true;
403
- _j.label = 9;
404
- case 9:
405
- validationResult = _a;
406
- isBlanksVisible = showBlanks
407
- ? isNil(formattedValue) || formattedValue === ""
408
- : false;
409
- isRowVisible = currentVisibleValues
410
- ? isBlanksVisible ||
411
- (formattedValue && (visibleValuesSet === null || visibleValuesSet === void 0 ? void 0 : visibleValuesSet.has(formattedValue)))
412
- : true;
413
- colorFilter = columnFilter.filterCriteria.colorFilter;
414
- iconFilter = columnFilter.filterCriteria.iconFilter;
415
- effectiveFormat = colorFilter && getEffectiveFormat
416
- ? getEffectiveFormat(sheetId, rowIndex, columnIndex)
417
- : undefined;
418
- cellConditionalFormat = colorFilter && getCellConditionalFormat
419
- ? getCellConditionalFormat(sheetId, rowIndex, columnIndex)
420
- : undefined;
421
- matchesColorFilter = !colorFilter || (!getEffectiveFormat && !getCellConditionalFormat)
422
- ? true
423
- : matchesCellColor(colorFilter, effectiveFormat, cellConditionalFormat, theme);
424
- iconCtx = iconFilter
425
- ? iconEvalByColumn.get(columnIndex)
426
- : undefined;
427
- matchesIconFilter = !iconFilter
428
- ? true
429
- : !iconCtx
430
- ? false
431
- : matchesCellIcon(iconFilter, iconCtx, sheetId, rowIndex, columnIndex, getEffectiveValue);
432
- isHidden = !isRowVisible ||
433
- validationResult === false ||
434
- !matchesColorFilter ||
435
- !matchesIconFilter;
436
- if (isHidden) {
437
- hiddenRows.add(rowIndex);
438
- }
439
- _j.label = 10;
440
- case 10:
441
- columnIndex++;
442
- return [3 /*break*/, 2];
443
- case 11:
444
550
  rowIndex++;
445
551
  return [3 /*break*/, 1];
446
- case 12: return [2 /*return*/, hiddenRows];
552
+ case 4: return [2 /*return*/, hiddenRows];
447
553
  }
448
554
  });
449
555
  }); };
@@ -20,6 +20,7 @@ export type UseOnImportExcelFileProps<T extends CellData, S extends Sheet> = {
20
20
  onRequestFonts: UseSpreadsheetProps<T, S>["onRequestFonts"];
21
21
  onChangeTheme: UseSpreadsheetProps<T, S>["onChangeTheme"];
22
22
  onChangeNamedCellStyles?: UseSpreadsheetProps<T, S>["onChangeNamedCellStyles"];
23
+ onChangeCustomTableStyles?: UseSpreadsheetProps<T, S>["onChangeCustomTableStyles"];
23
24
  onChangeSlicers: UseSpreadsheetProps<T, S>["onChangeSlicers"];
24
25
  /**
25
26
  * Phase D1 — pivot table import. Worker emits
@@ -68,7 +69,7 @@ export type ExcelImportOptions = {
68
69
  */
69
70
  prompt?: UseSpreadsheetProps["onPrompt"];
70
71
  };
71
- export declare const useOnImportExcelFile: <T extends CellData, S extends Sheet>({ enableExcelImportHistory, onChangeSheetData, onChangeSheets, onChangeTables, onChangeEmbeds, onChangeNamedRanges, onChangeSharedStrings, onChangeConditionalFormats, onChangeDataValidations, onChangeCellXfs, onChangeCharts, onRequestFonts, onChangeTheme, onChangeNamedCellStyles, onCreateDataValidationRule, onClearHistory, onChangeHistory, onChangeSlicers, onChangePivotTables, evaluateConditionalFormatting, evaluateDataValidations, clearRangeCache, onConfirm, onPrompt, }: UseOnImportExcelFileProps<T, S>) => {
72
+ export declare const useOnImportExcelFile: <T extends CellData, S extends Sheet>({ enableExcelImportHistory, onChangeSheetData, onChangeSheets, onChangeTables, onChangeEmbeds, onChangeNamedRanges, onChangeSharedStrings, onChangeConditionalFormats, onChangeDataValidations, onChangeCellXfs, onChangeCharts, onRequestFonts, onChangeTheme, onChangeNamedCellStyles, onChangeCustomTableStyles, onCreateDataValidationRule, onClearHistory, onChangeHistory, onChangeSlicers, onChangePivotTables, evaluateConditionalFormatting, evaluateDataValidations, clearRangeCache, onConfirm, onPrompt, }: UseOnImportExcelFileProps<T, S>) => {
72
73
  importExcelFile: (file: File | ArrayBuffer, options?: ExcelImportOptions) => Promise<ExcelImportResponse>;
73
74
  isImportingExcelfile: boolean;
74
75
  generateStatePatches: () => Promise<SpreadsheetPatch>;
@@ -1 +1 @@
1
- {"version":3,"file":"use-on-import-excel.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-import-excel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-on-import-excel.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-import-excel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,KAAK,EACV,QAAQ,EAKR,KAAK,EACN,MAAM,2BAA2B,CAAC;AAoBnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IAC3E,cAAc,IAAI,IAAI,CAAC;IACvB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,eAAe,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IACxD,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAClE,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,qBAAqB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC1E,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACvE,eAAe,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/D,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,aAAa,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAC1D,uBAAuB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC/E,yBAAyB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;IACnF,eAAe,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC9D;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACvE,0BAA0B,EAAE,UAAU,CACpC,OAAO,sBAAsB,CAC9B,CAAC,4BAA4B,CAAC,CAAC;IAChC,uBAAuB,CAAC,EAAE,mBAAmB,CAC3C,CAAC,EACD,CAAC,CACF,CAAC,yBAAyB,CAAC,CAAC;IAC7B,0BAA0B,CAAC,EAAE,mBAAmB,CAC9C,CAAC,EACD,CAAC,CACF,CAAC,4BAA4B,CAAC,CAAC;IAChC,6BAA6B,CAAC,EAAE,UAAU,CACxC,OAAO,wBAAwB,CAChC,CAAC,+BAA+B,CAAC,CAAC;IACnC,uBAAuB,CAAC,EAAE,UAAU,CAClC,OAAO,wBAAwB,CAChC,CAAC,yBAAyB,CAAC,CAAC;IAC7B,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACvE,SAAS,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC3C;;OAEG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;CAC1C,CAAC;AAIF,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,wfA0BvE,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC;4BA+Sf,IAAI,GAAG,WAAW,YAAY,kBAAkB;;;CAggBlE,CAAC"}