@rowsncolumns/spreadsheet 10.3.1 → 10.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (452) hide show
  1. package/dist/cjs/api/banded-ranges.d.ts.map +1 -1
  2. package/dist/cjs/api/banded-ranges.js +40 -14
  3. package/dist/cjs/api/calculated-column-fill.d.ts +43 -0
  4. package/dist/cjs/api/calculated-column-fill.d.ts.map +1 -0
  5. package/dist/cjs/api/calculated-column-fill.js +16 -0
  6. package/dist/cjs/api/chart-sheet.d.ts +8 -0
  7. package/dist/cjs/api/chart-sheet.d.ts.map +1 -0
  8. package/dist/cjs/api/chart-sheet.js +20 -0
  9. package/dist/cjs/api/chart-source-ranges.d.ts +64 -0
  10. package/dist/cjs/api/chart-source-ranges.d.ts.map +1 -0
  11. package/dist/cjs/api/chart-source-ranges.js +175 -0
  12. package/dist/cjs/api/selections.d.ts +3 -3
  13. package/dist/cjs/api/selections.d.ts.map +1 -1
  14. package/dist/cjs/api/selections.js +28 -2
  15. package/dist/cjs/api/spreadsheet-api.d.ts +16 -3
  16. package/dist/cjs/api/spreadsheet-api.d.ts.map +1 -1
  17. package/dist/cjs/api/spreadsheet-api.js +22 -2
  18. package/dist/cjs/api/table-auto-expansion.d.ts +37 -0
  19. package/dist/cjs/api/table-auto-expansion.d.ts.map +1 -0
  20. package/dist/cjs/api/table-auto-expansion.js +16 -0
  21. package/dist/cjs/api/table.d.ts +49 -1
  22. package/dist/cjs/api/table.d.ts.map +1 -1
  23. package/dist/cjs/api/table.js +145 -1
  24. package/dist/cjs/api/validation.d.ts +26 -1
  25. package/dist/cjs/api/validation.d.ts.map +1 -1
  26. package/dist/cjs/api/validation.js +127 -9
  27. package/dist/cjs/atoms/calculated-column-fill.atom.d.ts +15 -0
  28. package/dist/cjs/atoms/calculated-column-fill.atom.d.ts.map +1 -0
  29. package/dist/cjs/atoms/calculated-column-fill.atom.js +18 -0
  30. package/dist/cjs/atoms/chart-actions.atom.d.ts +40 -0
  31. package/dist/cjs/atoms/chart-actions.atom.d.ts.map +1 -0
  32. package/dist/cjs/atoms/chart-actions.atom.js +66 -0
  33. package/dist/cjs/atoms/index.d.ts +5 -0
  34. package/dist/cjs/atoms/index.d.ts.map +1 -1
  35. package/dist/cjs/atoms/index.js +5 -0
  36. package/dist/cjs/atoms/move-chart-dialog.atom.d.ts +28 -0
  37. package/dist/cjs/atoms/move-chart-dialog.atom.d.ts.map +1 -0
  38. package/dist/cjs/atoms/move-chart-dialog.atom.js +34 -0
  39. package/dist/cjs/atoms/selected-chart-embed.atom.d.ts +9 -1
  40. package/dist/cjs/atoms/selected-chart-embed.atom.d.ts.map +1 -1
  41. package/dist/cjs/atoms/selected-chart-embed.atom.js +18 -1
  42. package/dist/cjs/atoms/selected-chart-series.atom.d.ts +24 -0
  43. package/dist/cjs/atoms/selected-chart-series.atom.d.ts.map +1 -0
  44. package/dist/cjs/atoms/selected-chart-series.atom.js +11 -0
  45. package/dist/cjs/atoms/sheet-context.atom.d.ts +2 -0
  46. package/dist/cjs/atoms/sheet-context.atom.d.ts.map +1 -1
  47. package/dist/cjs/atoms/sheet-context.atom.js +5 -2
  48. package/dist/cjs/atoms/sparkline-dialog.atom.d.ts +34 -0
  49. package/dist/cjs/atoms/sparkline-dialog.atom.d.ts.map +1 -0
  50. package/dist/cjs/atoms/sparkline-dialog.atom.js +30 -0
  51. package/dist/cjs/atoms/table-auto-expansion.atom.d.ts +14 -0
  52. package/dist/cjs/atoms/table-auto-expansion.atom.d.ts.map +1 -0
  53. package/dist/cjs/atoms/table-auto-expansion.atom.js +17 -0
  54. package/dist/cjs/components/calculated-column-smart-tag/index.d.ts +25 -0
  55. package/dist/cjs/components/calculated-column-smart-tag/index.d.ts.map +1 -0
  56. package/dist/cjs/components/calculated-column-smart-tag/index.js +31 -0
  57. package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
  58. package/dist/cjs/components/canvas-grid/index.js +393 -72
  59. package/dist/cjs/components/canvas-grid/typings.d.ts +127 -14
  60. package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
  61. package/dist/cjs/components/cell/index.d.ts.map +1 -1
  62. package/dist/cjs/components/cell/index.js +3 -3
  63. package/dist/cjs/components/cell/typings.d.ts +13 -0
  64. package/dist/cjs/components/cell/typings.d.ts.map +1 -1
  65. package/dist/cjs/components/cell-filter/index.d.ts.map +1 -1
  66. package/dist/cjs/components/cell-filter/index.js +13 -2
  67. package/dist/cjs/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
  68. package/dist/cjs/components/cell-input/formula-bar-cell-input.js +4 -1
  69. package/dist/cjs/components/cell-structured/sparkline-math.d.ts +28 -5
  70. package/dist/cjs/components/cell-structured/sparkline-math.d.ts.map +1 -1
  71. package/dist/cjs/components/cell-structured/sparkline-math.js +93 -5
  72. package/dist/cjs/components/cell-structured/sparkline.d.ts +1 -1
  73. package/dist/cjs/components/cell-structured/sparkline.d.ts.map +1 -1
  74. package/dist/cjs/components/cell-structured/sparkline.js +3 -3
  75. package/dist/cjs/components/cell-structured/types.d.ts +1 -1
  76. package/dist/cjs/components/cell-structured/types.d.ts.map +1 -1
  77. package/dist/cjs/components/chart-sheet-view/index.d.ts +27 -0
  78. package/dist/cjs/components/chart-sheet-view/index.d.ts.map +1 -0
  79. package/dist/cjs/components/chart-sheet-view/index.js +35 -0
  80. package/dist/cjs/components/context-menu/embed-context-menu.d.ts +48 -0
  81. package/dist/cjs/components/context-menu/embed-context-menu.d.ts.map +1 -0
  82. package/dist/cjs/components/context-menu/embed-context-menu.js +123 -0
  83. package/dist/cjs/components/context-menu/index.d.ts +23 -2
  84. package/dist/cjs/components/context-menu/index.d.ts.map +1 -1
  85. package/dist/cjs/components/context-menu/index.js +217 -39
  86. package/dist/cjs/components/context-menu/total-row-function-menu.d.ts +33 -0
  87. package/dist/cjs/components/context-menu/total-row-function-menu.d.ts.map +1 -0
  88. package/dist/cjs/components/context-menu/total-row-function-menu.js +58 -0
  89. package/dist/cjs/components/context-menu/total-row-functions.d.ts +12 -12
  90. package/dist/cjs/components/context-menu/total-row-functions.d.ts.map +1 -1
  91. package/dist/cjs/components/context-menu/total-row-functions.js +39 -39
  92. package/dist/cjs/components/embeds/chart-component.d.ts +17 -0
  93. package/dist/cjs/components/embeds/chart-component.d.ts.map +1 -1
  94. package/dist/cjs/components/embeds/embed-draggable.d.ts +61 -4
  95. package/dist/cjs/components/embeds/embed-draggable.d.ts.map +1 -1
  96. package/dist/cjs/components/embeds/embed-draggable.js +214 -39
  97. package/dist/cjs/components/filter-box/date-tree.d.ts +28 -0
  98. package/dist/cjs/components/filter-box/date-tree.d.ts.map +1 -0
  99. package/dist/cjs/components/filter-box/date-tree.js +147 -0
  100. package/dist/cjs/components/filter-box/filter-by-condition.d.ts +14 -2
  101. package/dist/cjs/components/filter-box/filter-by-condition.d.ts.map +1 -1
  102. package/dist/cjs/components/filter-box/filter-by-condition.js +95 -19
  103. package/dist/cjs/components/filter-box/filter-by-value.d.ts.map +1 -1
  104. package/dist/cjs/components/filter-box/filter-by-value.js +126 -40
  105. package/dist/cjs/components/filter-box/index.d.ts +7 -1
  106. package/dist/cjs/components/filter-box/index.d.ts.map +1 -1
  107. package/dist/cjs/components/filter-box/index.js +102 -11
  108. package/dist/cjs/components/move-chart-dialog/index.d.ts +34 -0
  109. package/dist/cjs/components/move-chart-dialog/index.d.ts.map +1 -0
  110. package/dist/cjs/components/move-chart-dialog/index.js +96 -0
  111. package/dist/cjs/components/print-preview/page-block.d.ts +9 -1
  112. package/dist/cjs/components/print-preview/page-block.d.ts.map +1 -1
  113. package/dist/cjs/components/print-preview/page-block.js +28 -2
  114. package/dist/cjs/components/print-preview/print-preview-dialog.d.ts +8 -1
  115. package/dist/cjs/components/print-preview/print-preview-dialog.d.ts.map +1 -1
  116. package/dist/cjs/components/print-preview/print-preview-dialog.js +144 -3
  117. package/dist/cjs/components/print-preview/run-print.d.ts.map +1 -1
  118. package/dist/cjs/components/print-preview/run-print.js +19 -7
  119. package/dist/cjs/components/print-preview/use-page-layout.d.ts +47 -0
  120. package/dist/cjs/components/print-preview/use-page-layout.d.ts.map +1 -1
  121. package/dist/cjs/components/print-preview/use-page-layout.js +81 -7
  122. package/dist/cjs/components/selection/index.d.ts +1 -1
  123. package/dist/cjs/components/selection/index.d.ts.map +1 -1
  124. package/dist/cjs/components/selection/index.js +6 -2
  125. package/dist/cjs/components/selection/types.d.ts +15 -0
  126. package/dist/cjs/components/selection/types.d.ts.map +1 -1
  127. package/dist/cjs/components/sheet-tabs/index.d.ts.map +1 -1
  128. package/dist/cjs/components/sheet-tabs/index.js +2 -2
  129. package/dist/cjs/components/sheet-tabs/sheet-tab.d.ts +1 -1
  130. package/dist/cjs/components/sheet-tabs/sheet-tab.d.ts.map +1 -1
  131. package/dist/cjs/components/sheet-tabs/sheet-tab.js +3 -1
  132. package/dist/cjs/components/sparkline-dialog/index.d.ts +43 -0
  133. package/dist/cjs/components/sparkline-dialog/index.d.ts.map +1 -0
  134. package/dist/cjs/components/sparkline-dialog/index.js +127 -0
  135. package/dist/cjs/components/subtotal-dialog/index.d.ts.map +1 -1
  136. package/dist/cjs/components/subtotal-dialog/index.js +10 -1
  137. package/dist/cjs/components/table-auto-expansion-smart-tag/index.d.ts +24 -0
  138. package/dist/cjs/components/table-auto-expansion-smart-tag/index.d.ts.map +1 -0
  139. package/dist/cjs/components/table-auto-expansion-smart-tag/index.js +31 -0
  140. package/dist/cjs/components/toolbar/index.d.ts +1 -0
  141. package/dist/cjs/components/toolbar/index.d.ts.map +1 -1
  142. package/dist/cjs/components/toolbar/index.js +1 -0
  143. package/dist/cjs/components/toolbar/insert-menu.d.ts +2 -1
  144. package/dist/cjs/components/toolbar/insert-menu.d.ts.map +1 -1
  145. package/dist/cjs/components/toolbar/insert-menu.js +24 -1
  146. package/dist/cjs/components/toolbar/merge-cells-selector.d.ts +4 -1
  147. package/dist/cjs/components/toolbar/merge-cells-selector.d.ts.map +1 -1
  148. package/dist/cjs/components/toolbar/merge-cells-selector.js +11 -5
  149. package/dist/cjs/components/toolbar/sparkline-actions.d.ts +31 -0
  150. package/dist/cjs/components/toolbar/sparkline-actions.d.ts.map +1 -0
  151. package/dist/cjs/components/toolbar/sparkline-actions.js +273 -0
  152. package/dist/cjs/components/toolbar/table-actions.d.ts +9 -1
  153. package/dist/cjs/components/toolbar/table-actions.d.ts.map +1 -1
  154. package/dist/cjs/components/toolbar/table-actions.js +17 -7
  155. package/dist/cjs/components/toolbar/table-style-selector.d.ts +38 -2
  156. package/dist/cjs/components/toolbar/table-style-selector.d.ts.map +1 -1
  157. package/dist/cjs/components/toolbar/table-style-selector.js +241 -389
  158. package/dist/cjs/config.d.ts +2 -0
  159. package/dist/cjs/config.d.ts.map +1 -1
  160. package/dist/cjs/config.js +31 -1
  161. package/dist/cjs/helpers.d.ts +1 -1
  162. package/dist/cjs/helpers.d.ts.map +1 -1
  163. package/dist/cjs/helpers.js +13 -2
  164. package/dist/cjs/hooks/use-cell-renderer.d.ts +16 -1
  165. package/dist/cjs/hooks/use-cell-renderer.d.ts.map +1 -1
  166. package/dist/cjs/hooks/use-cell-renderer.js +20 -8
  167. package/dist/cjs/hooks/use-chart-clipboard.d.ts +55 -0
  168. package/dist/cjs/hooks/use-chart-clipboard.d.ts.map +1 -0
  169. package/dist/cjs/hooks/use-chart-clipboard.js +231 -0
  170. package/dist/cjs/hooks/use-chart-source-ranges.d.ts +27 -0
  171. package/dist/cjs/hooks/use-chart-source-ranges.d.ts.map +1 -0
  172. package/dist/cjs/hooks/use-chart-source-ranges.js +211 -0
  173. package/dist/cjs/hooks/use-context-setter.d.ts.map +1 -1
  174. package/dist/cjs/hooks/use-context-setter.js +3 -1
  175. package/dist/cjs/hooks/use-editable.d.ts +9 -1
  176. package/dist/cjs/hooks/use-editable.d.ts.map +1 -1
  177. package/dist/cjs/hooks/use-editable.js +25 -1
  178. package/dist/cjs/hooks/use-embeds-charts.d.ts +64 -4
  179. package/dist/cjs/hooks/use-embeds-charts.d.ts.map +1 -1
  180. package/dist/cjs/hooks/use-embeds-charts.js +412 -41
  181. package/dist/cjs/hooks/use-grid-children.d.ts +2 -2
  182. package/dist/cjs/hooks/use-grid-children.d.ts.map +1 -1
  183. package/dist/cjs/hooks/use-grid-children.js +12 -6
  184. package/dist/cjs/hooks/use-isomorphic-layout-effect.d.ts +2 -2
  185. package/dist/cjs/hooks/use-isomorphic-layout-effect.d.ts.map +1 -1
  186. package/dist/cjs/hooks/use-keyboard-handler.d.ts +2 -1
  187. package/dist/cjs/hooks/use-keyboard-handler.d.ts.map +1 -1
  188. package/dist/cjs/hooks/use-keyboard-handler.js +8 -2
  189. package/dist/cjs/hooks/use-reveal-chart-embed.d.ts +17 -0
  190. package/dist/cjs/hooks/use-reveal-chart-embed.d.ts.map +1 -0
  191. package/dist/cjs/hooks/use-reveal-chart-embed.js +40 -0
  192. package/dist/cjs/hooks/use-selection-renderer.d.ts +13 -1
  193. package/dist/cjs/hooks/use-selection-renderer.d.ts.map +1 -1
  194. package/dist/cjs/hooks/use-selection-renderer.js +37 -7
  195. package/dist/cjs/hooks/use-selection.d.ts +9 -1
  196. package/dist/cjs/hooks/use-selection.d.ts.map +1 -1
  197. package/dist/cjs/hooks/use-selection.js +118 -30
  198. package/dist/cjs/hooks/use-structured-reference-selection.d.ts +1 -1
  199. package/dist/cjs/hooks/use-structured-reference-selection.d.ts.map +1 -1
  200. package/dist/cjs/hooks/use-structured-reference-selection.js +10 -0
  201. package/dist/cjs/hooks/use-table-hit-zones.d.ts +61 -0
  202. package/dist/cjs/hooks/use-table-hit-zones.d.ts.map +1 -0
  203. package/dist/cjs/hooks/use-table-hit-zones.js +157 -0
  204. package/dist/cjs/hooks/use-table-resizer.d.ts +7 -0
  205. package/dist/cjs/hooks/use-table-resizer.d.ts.map +1 -1
  206. package/dist/cjs/hooks/use-table-resizer.js +22 -10
  207. package/dist/cjs/index.d.ts +13 -0
  208. package/dist/cjs/index.d.ts.map +1 -1
  209. package/dist/cjs/index.js +17 -1
  210. package/dist/cjs/release-date.js +1 -1
  211. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  212. package/dist/cjs/types.d.ts +289 -4
  213. package/dist/cjs/types.d.ts.map +1 -1
  214. package/dist/cjs/utils/copy-as-picture.d.ts +13 -0
  215. package/dist/cjs/utils/copy-as-picture.d.ts.map +1 -0
  216. package/dist/cjs/utils/copy-as-picture.js +70 -0
  217. package/dist/cjs/utils/pivot-chart-field-buttons.d.ts +19 -0
  218. package/dist/cjs/utils/pivot-chart-field-buttons.d.ts.map +1 -0
  219. package/dist/cjs/utils/pivot-chart-field-buttons.js +25 -0
  220. package/dist/cjs/utils/z-order.d.ts +47 -0
  221. package/dist/cjs/utils/z-order.d.ts.map +1 -0
  222. package/dist/cjs/utils/z-order.js +124 -0
  223. package/dist/esm/api/banded-ranges.d.ts.map +1 -1
  224. package/dist/esm/api/banded-ranges.js +39 -12
  225. package/dist/esm/api/calculated-column-fill.d.ts +43 -0
  226. package/dist/esm/api/calculated-column-fill.d.ts.map +1 -0
  227. package/dist/esm/api/calculated-column-fill.js +10 -0
  228. package/dist/esm/api/chart-sheet.d.ts +8 -0
  229. package/dist/esm/api/chart-sheet.d.ts.map +1 -0
  230. package/dist/esm/api/chart-sheet.js +15 -0
  231. package/dist/esm/api/chart-source-ranges.d.ts +64 -0
  232. package/dist/esm/api/chart-source-ranges.d.ts.map +1 -0
  233. package/dist/esm/api/chart-source-ranges.js +168 -0
  234. package/dist/esm/api/selections.d.ts +3 -3
  235. package/dist/esm/api/selections.d.ts.map +1 -1
  236. package/dist/esm/api/selections.js +26 -2
  237. package/dist/esm/api/spreadsheet-api.d.ts +16 -3
  238. package/dist/esm/api/spreadsheet-api.d.ts.map +1 -1
  239. package/dist/esm/api/spreadsheet-api.js +18 -2
  240. package/dist/esm/api/table-auto-expansion.d.ts +37 -0
  241. package/dist/esm/api/table-auto-expansion.d.ts.map +1 -0
  242. package/dist/esm/api/table-auto-expansion.js +10 -0
  243. package/dist/esm/api/table.d.ts +49 -1
  244. package/dist/esm/api/table.d.ts.map +1 -1
  245. package/dist/esm/api/table.js +138 -1
  246. package/dist/esm/api/validation.d.ts +26 -1
  247. package/dist/esm/api/validation.d.ts.map +1 -1
  248. package/dist/esm/api/validation.js +119 -9
  249. package/dist/esm/atoms/calculated-column-fill.atom.d.ts +15 -0
  250. package/dist/esm/atoms/calculated-column-fill.atom.d.ts.map +1 -0
  251. package/dist/esm/atoms/calculated-column-fill.atom.js +12 -0
  252. package/dist/esm/atoms/chart-actions.atom.d.ts +40 -0
  253. package/dist/esm/atoms/chart-actions.atom.d.ts.map +1 -0
  254. package/dist/esm/atoms/chart-actions.atom.js +58 -0
  255. package/dist/esm/atoms/index.d.ts +5 -0
  256. package/dist/esm/atoms/index.d.ts.map +1 -1
  257. package/dist/esm/atoms/index.js +5 -0
  258. package/dist/esm/atoms/move-chart-dialog.atom.d.ts +28 -0
  259. package/dist/esm/atoms/move-chart-dialog.atom.d.ts.map +1 -0
  260. package/dist/esm/atoms/move-chart-dialog.atom.js +25 -0
  261. package/dist/esm/atoms/selected-chart-embed.atom.d.ts +9 -1
  262. package/dist/esm/atoms/selected-chart-embed.atom.d.ts.map +1 -1
  263. package/dist/esm/atoms/selected-chart-embed.atom.js +19 -2
  264. package/dist/esm/atoms/selected-chart-series.atom.d.ts +24 -0
  265. package/dist/esm/atoms/selected-chart-series.atom.d.ts.map +1 -0
  266. package/dist/esm/atoms/selected-chart-series.atom.js +4 -0
  267. package/dist/esm/atoms/sheet-context.atom.d.ts +2 -0
  268. package/dist/esm/atoms/sheet-context.atom.d.ts.map +1 -1
  269. package/dist/esm/atoms/sheet-context.atom.js +2 -0
  270. package/dist/esm/atoms/sparkline-dialog.atom.d.ts +34 -0
  271. package/dist/esm/atoms/sparkline-dialog.atom.d.ts.map +1 -0
  272. package/dist/esm/atoms/sparkline-dialog.atom.js +21 -0
  273. package/dist/esm/atoms/table-auto-expansion.atom.d.ts +14 -0
  274. package/dist/esm/atoms/table-auto-expansion.atom.d.ts.map +1 -0
  275. package/dist/esm/atoms/table-auto-expansion.atom.js +11 -0
  276. package/dist/esm/components/calculated-column-smart-tag/index.d.ts +25 -0
  277. package/dist/esm/components/calculated-column-smart-tag/index.d.ts.map +1 -0
  278. package/dist/esm/components/calculated-column-smart-tag/index.js +25 -0
  279. package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
  280. package/dist/esm/components/canvas-grid/index.js +332 -21
  281. package/dist/esm/components/canvas-grid/typings.d.ts +127 -14
  282. package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
  283. package/dist/esm/components/cell/index.d.ts.map +1 -1
  284. package/dist/esm/components/cell/index.js +3 -3
  285. package/dist/esm/components/cell/typings.d.ts +13 -0
  286. package/dist/esm/components/cell/typings.d.ts.map +1 -1
  287. package/dist/esm/components/cell-filter/index.d.ts.map +1 -1
  288. package/dist/esm/components/cell-filter/index.js +14 -3
  289. package/dist/esm/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
  290. package/dist/esm/components/cell-input/formula-bar-cell-input.js +4 -1
  291. package/dist/esm/components/cell-structured/sparkline-math.d.ts +28 -5
  292. package/dist/esm/components/cell-structured/sparkline-math.d.ts.map +1 -1
  293. package/dist/esm/components/cell-structured/sparkline-math.js +58 -4
  294. package/dist/esm/components/cell-structured/sparkline.d.ts +1 -1
  295. package/dist/esm/components/cell-structured/sparkline.d.ts.map +1 -1
  296. package/dist/esm/components/cell-structured/sparkline.js +3 -3
  297. package/dist/esm/components/cell-structured/types.d.ts +1 -1
  298. package/dist/esm/components/cell-structured/types.d.ts.map +1 -1
  299. package/dist/esm/components/chart-sheet-view/index.d.ts +27 -0
  300. package/dist/esm/components/chart-sheet-view/index.d.ts.map +1 -0
  301. package/dist/esm/components/chart-sheet-view/index.js +30 -0
  302. package/dist/esm/components/context-menu/embed-context-menu.d.ts +48 -0
  303. package/dist/esm/components/context-menu/embed-context-menu.d.ts.map +1 -0
  304. package/dist/esm/components/context-menu/embed-context-menu.js +112 -0
  305. package/dist/esm/components/context-menu/index.d.ts +23 -2
  306. package/dist/esm/components/context-menu/index.d.ts.map +1 -1
  307. package/dist/esm/components/context-menu/index.js +174 -38
  308. package/dist/esm/components/context-menu/total-row-function-menu.d.ts +33 -0
  309. package/dist/esm/components/context-menu/total-row-function-menu.d.ts.map +1 -0
  310. package/dist/esm/components/context-menu/total-row-function-menu.js +50 -0
  311. package/dist/esm/components/context-menu/total-row-functions.d.ts +12 -12
  312. package/dist/esm/components/context-menu/total-row-functions.d.ts.map +1 -1
  313. package/dist/esm/components/context-menu/total-row-functions.js +29 -31
  314. package/dist/esm/components/embeds/chart-component.d.ts +17 -0
  315. package/dist/esm/components/embeds/chart-component.d.ts.map +1 -1
  316. package/dist/esm/components/embeds/embed-draggable.d.ts +61 -4
  317. package/dist/esm/components/embeds/embed-draggable.d.ts.map +1 -1
  318. package/dist/esm/components/embeds/embed-draggable.js +204 -45
  319. package/dist/esm/components/filter-box/date-tree.d.ts +28 -0
  320. package/dist/esm/components/filter-box/date-tree.d.ts.map +1 -0
  321. package/dist/esm/components/filter-box/date-tree.js +107 -0
  322. package/dist/esm/components/filter-box/filter-by-condition.d.ts +14 -2
  323. package/dist/esm/components/filter-box/filter-by-condition.d.ts.map +1 -1
  324. package/dist/esm/components/filter-box/filter-by-condition.js +72 -16
  325. package/dist/esm/components/filter-box/filter-by-value.d.ts.map +1 -1
  326. package/dist/esm/components/filter-box/filter-by-value.js +110 -39
  327. package/dist/esm/components/filter-box/index.d.ts +7 -1
  328. package/dist/esm/components/filter-box/index.d.ts.map +1 -1
  329. package/dist/esm/components/filter-box/index.js +88 -2
  330. package/dist/esm/components/move-chart-dialog/index.d.ts +34 -0
  331. package/dist/esm/components/move-chart-dialog/index.d.ts.map +1 -0
  332. package/dist/esm/components/move-chart-dialog/index.js +88 -0
  333. package/dist/esm/components/print-preview/page-block.d.ts +9 -1
  334. package/dist/esm/components/print-preview/page-block.d.ts.map +1 -1
  335. package/dist/esm/components/print-preview/page-block.js +27 -2
  336. package/dist/esm/components/print-preview/print-preview-dialog.d.ts +8 -1
  337. package/dist/esm/components/print-preview/print-preview-dialog.d.ts.map +1 -1
  338. package/dist/esm/components/print-preview/print-preview-dialog.js +92 -4
  339. package/dist/esm/components/print-preview/run-print.d.ts.map +1 -1
  340. package/dist/esm/components/print-preview/run-print.js +17 -7
  341. package/dist/esm/components/print-preview/use-page-layout.d.ts +47 -0
  342. package/dist/esm/components/print-preview/use-page-layout.d.ts.map +1 -1
  343. package/dist/esm/components/print-preview/use-page-layout.js +55 -0
  344. package/dist/esm/components/selection/index.d.ts +1 -1
  345. package/dist/esm/components/selection/index.d.ts.map +1 -1
  346. package/dist/esm/components/selection/index.js +6 -2
  347. package/dist/esm/components/selection/types.d.ts +15 -0
  348. package/dist/esm/components/selection/types.d.ts.map +1 -1
  349. package/dist/esm/components/sheet-tabs/index.d.ts.map +1 -1
  350. package/dist/esm/components/sheet-tabs/index.js +2 -2
  351. package/dist/esm/components/sheet-tabs/sheet-tab.d.ts +1 -1
  352. package/dist/esm/components/sheet-tabs/sheet-tab.d.ts.map +1 -1
  353. package/dist/esm/components/sheet-tabs/sheet-tab.js +4 -2
  354. package/dist/esm/components/sparkline-dialog/index.d.ts +43 -0
  355. package/dist/esm/components/sparkline-dialog/index.d.ts.map +1 -0
  356. package/dist/esm/components/sparkline-dialog/index.js +123 -0
  357. package/dist/esm/components/subtotal-dialog/index.d.ts.map +1 -1
  358. package/dist/esm/components/subtotal-dialog/index.js +10 -1
  359. package/dist/esm/components/table-auto-expansion-smart-tag/index.d.ts +24 -0
  360. package/dist/esm/components/table-auto-expansion-smart-tag/index.d.ts.map +1 -0
  361. package/dist/esm/components/table-auto-expansion-smart-tag/index.js +25 -0
  362. package/dist/esm/components/toolbar/index.d.ts +1 -0
  363. package/dist/esm/components/toolbar/index.d.ts.map +1 -1
  364. package/dist/esm/components/toolbar/index.js +1 -0
  365. package/dist/esm/components/toolbar/insert-menu.d.ts +2 -1
  366. package/dist/esm/components/toolbar/insert-menu.d.ts.map +1 -1
  367. package/dist/esm/components/toolbar/insert-menu.js +24 -1
  368. package/dist/esm/components/toolbar/merge-cells-selector.d.ts +4 -1
  369. package/dist/esm/components/toolbar/merge-cells-selector.d.ts.map +1 -1
  370. package/dist/esm/components/toolbar/merge-cells-selector.js +10 -6
  371. package/dist/esm/components/toolbar/sparkline-actions.d.ts +31 -0
  372. package/dist/esm/components/toolbar/sparkline-actions.d.ts.map +1 -0
  373. package/dist/esm/components/toolbar/sparkline-actions.js +238 -0
  374. package/dist/esm/components/toolbar/table-actions.d.ts +9 -1
  375. package/dist/esm/components/toolbar/table-actions.d.ts.map +1 -1
  376. package/dist/esm/components/toolbar/table-actions.js +15 -7
  377. package/dist/esm/components/toolbar/table-style-selector.d.ts +38 -2
  378. package/dist/esm/components/toolbar/table-style-selector.d.ts.map +1 -1
  379. package/dist/esm/components/toolbar/table-style-selector.js +210 -399
  380. package/dist/esm/config.d.ts +2 -0
  381. package/dist/esm/config.d.ts.map +1 -1
  382. package/dist/esm/config.js +30 -0
  383. package/dist/esm/helpers.d.ts +1 -1
  384. package/dist/esm/helpers.d.ts.map +1 -1
  385. package/dist/esm/helpers.js +12 -1
  386. package/dist/esm/hooks/use-cell-renderer.d.ts +16 -1
  387. package/dist/esm/hooks/use-cell-renderer.d.ts.map +1 -1
  388. package/dist/esm/hooks/use-cell-renderer.js +14 -4
  389. package/dist/esm/hooks/use-chart-clipboard.d.ts +55 -0
  390. package/dist/esm/hooks/use-chart-clipboard.d.ts.map +1 -0
  391. package/dist/esm/hooks/use-chart-clipboard.js +213 -0
  392. package/dist/esm/hooks/use-chart-source-ranges.d.ts +27 -0
  393. package/dist/esm/hooks/use-chart-source-ranges.d.ts.map +1 -0
  394. package/dist/esm/hooks/use-chart-source-ranges.js +186 -0
  395. package/dist/esm/hooks/use-context-setter.d.ts.map +1 -1
  396. package/dist/esm/hooks/use-context-setter.js +3 -1
  397. package/dist/esm/hooks/use-editable.d.ts +9 -1
  398. package/dist/esm/hooks/use-editable.d.ts.map +1 -1
  399. package/dist/esm/hooks/use-editable.js +25 -1
  400. package/dist/esm/hooks/use-embeds-charts.d.ts +64 -4
  401. package/dist/esm/hooks/use-embeds-charts.d.ts.map +1 -1
  402. package/dist/esm/hooks/use-embeds-charts.js +394 -39
  403. package/dist/esm/hooks/use-grid-children.d.ts +2 -2
  404. package/dist/esm/hooks/use-grid-children.d.ts.map +1 -1
  405. package/dist/esm/hooks/use-grid-children.js +8 -2
  406. package/dist/esm/hooks/use-isomorphic-layout-effect.d.ts +2 -2
  407. package/dist/esm/hooks/use-isomorphic-layout-effect.d.ts.map +1 -1
  408. package/dist/esm/hooks/use-keyboard-handler.d.ts +2 -1
  409. package/dist/esm/hooks/use-keyboard-handler.d.ts.map +1 -1
  410. package/dist/esm/hooks/use-keyboard-handler.js +8 -2
  411. package/dist/esm/hooks/use-reveal-chart-embed.d.ts +17 -0
  412. package/dist/esm/hooks/use-reveal-chart-embed.d.ts.map +1 -0
  413. package/dist/esm/hooks/use-reveal-chart-embed.js +35 -0
  414. package/dist/esm/hooks/use-selection-renderer.d.ts +13 -1
  415. package/dist/esm/hooks/use-selection-renderer.d.ts.map +1 -1
  416. package/dist/esm/hooks/use-selection-renderer.js +35 -6
  417. package/dist/esm/hooks/use-selection.d.ts +9 -1
  418. package/dist/esm/hooks/use-selection.d.ts.map +1 -1
  419. package/dist/esm/hooks/use-selection.js +122 -30
  420. package/dist/esm/hooks/use-structured-reference-selection.d.ts +1 -1
  421. package/dist/esm/hooks/use-structured-reference-selection.d.ts.map +1 -1
  422. package/dist/esm/hooks/use-structured-reference-selection.js +16 -0
  423. package/dist/esm/hooks/use-table-hit-zones.d.ts +61 -0
  424. package/dist/esm/hooks/use-table-hit-zones.d.ts.map +1 -0
  425. package/dist/esm/hooks/use-table-hit-zones.js +146 -0
  426. package/dist/esm/hooks/use-table-resizer.d.ts +7 -0
  427. package/dist/esm/hooks/use-table-resizer.d.ts.map +1 -1
  428. package/dist/esm/hooks/use-table-resizer.js +21 -10
  429. package/dist/esm/index.d.ts +13 -0
  430. package/dist/esm/index.d.ts.map +1 -1
  431. package/dist/esm/index.js +13 -0
  432. package/dist/esm/release-date.js +1 -1
  433. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  434. package/dist/esm/types.d.ts +289 -4
  435. package/dist/esm/types.d.ts.map +1 -1
  436. package/dist/esm/utils/copy-as-picture.d.ts +13 -0
  437. package/dist/esm/utils/copy-as-picture.d.ts.map +1 -0
  438. package/dist/esm/utils/copy-as-picture.js +45 -0
  439. package/dist/esm/utils/pivot-chart-field-buttons.d.ts +19 -0
  440. package/dist/esm/utils/pivot-chart-field-buttons.d.ts.map +1 -0
  441. package/dist/esm/utils/pivot-chart-field-buttons.js +18 -0
  442. package/dist/esm/utils/z-order.d.ts +47 -0
  443. package/dist/esm/utils/z-order.d.ts.map +1 -0
  444. package/dist/esm/utils/z-order.js +111 -0
  445. package/dist/spreadsheet.min.css +1 -1
  446. package/package.json +12 -10
  447. package/dist/cjs/components/cell-editor/helpers.spec.d.ts +0 -2
  448. package/dist/cjs/components/cell-editor/helpers.spec.d.ts.map +0 -1
  449. package/dist/cjs/components/cell-editor/helpers.spec.js +0 -32
  450. package/dist/esm/components/cell-editor/helpers.spec.d.ts +0 -2
  451. package/dist/esm/components/cell-editor/helpers.spec.d.ts.map +0 -1
  452. package/dist/esm/components/cell-editor/helpers.spec.js +0 -30
@@ -1,4 +1,21 @@
1
- import { atom, useAtom, useSetAtom } from "jotai";
1
+ import { atom, useAtom, useAtomValue, useSetAtom } from "jotai";
2
+ import { useCallback } from "react";
3
+ import { scrollToChartSelector } from "./sheet-context.atom";
2
4
  export const selectedChartEmbedAtom = atom(undefined);
3
5
  export const useSelectedChartEmbed = () => useAtom(selectedChartEmbedAtom);
4
- export const useFocusEmbedOrChart = () => useSetAtom(selectedChartEmbedAtom);
6
+ /**
7
+ * Select a chart / picture the way Excel does after inserting or restoring one: the object is
8
+ * selected and scrolled into view (`CanvasGridMethods.scrollToChart`, once the grid renders it).
9
+ * A functional update only re-derives the selection (an undo step deselecting a removed object)
10
+ * and clearing it never scrolls.
11
+ */
12
+ export const useFocusEmbedOrChart = () => {
13
+ const setSelected = useSetAtom(selectedChartEmbedAtom);
14
+ const scrollToChart = useAtomValue(scrollToChartSelector);
15
+ return useCallback((update) => {
16
+ setSelected(update);
17
+ if (typeof update !== "function" && update !== undefined) {
18
+ scrollToChart?.(update);
19
+ }
20
+ }, [setSelected, scrollToChart]);
21
+ };
@@ -0,0 +1,24 @@
1
+ import type { EmbeddedChart } from "../types";
2
+ /**
3
+ * The data series a user clicked inside a chart, like Excel's series
4
+ * selection: the grid narrows the chart's source-range outlines to that
5
+ * series (plus the categories). Cleared by clicking empty chart area or
6
+ * pressing Escape; ignored once another chart is selected.
7
+ */
8
+ export type SelectedChartSeries = {
9
+ chartId: EmbeddedChart["chartId"];
10
+ /** Index into `spec.series`. */
11
+ seriesIndex: number;
12
+ /**
13
+ * Position of the clicked data point along the series (a category
14
+ * index). Excel narrows the outline further to that point's value and
15
+ * category cells; absent when the whole series is selected.
16
+ */
17
+ dataIndex?: number;
18
+ };
19
+ export declare const selectedChartSeriesAtom: import("jotai").PrimitiveAtom<SelectedChartSeries | undefined> & {
20
+ init: SelectedChartSeries | undefined;
21
+ };
22
+ export declare const useSelectedChartSeries: () => [SelectedChartSeries | undefined, (args_0: SelectedChartSeries | ((prev: SelectedChartSeries | undefined) => SelectedChartSeries | undefined) | undefined) => void];
23
+ export declare const useSetSelectedChartSeries: () => (args_0: SelectedChartSeries | ((prev: SelectedChartSeries | undefined) => SelectedChartSeries | undefined) | undefined) => void;
24
+ //# sourceMappingURL=selected-chart-series.atom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selected-chart-series.atom.d.ts","sourceRoot":"","sources":["../../../atoms/selected-chart-series.atom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAClC,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,uBAAuB;;CAEnC,CAAC;AAEF,eAAO,MAAM,sBAAsB,2KAAyC,CAAC;AAE7E,eAAO,MAAM,yBAAyB,wIACD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { atom, useAtom, useSetAtom } from "jotai";
2
+ export const selectedChartSeriesAtom = atom(undefined);
3
+ export const useSelectedChartSeries = () => useAtom(selectedChartSeriesAtom);
4
+ export const useSetSelectedChartSeries = () => useSetAtom(selectedChartSeriesAtom);
@@ -55,6 +55,8 @@ export declare const getShowCellPopoverSelector: import("jotai").Atom<((popoverR
55
55
  export declare const useShowCellPopover: () => ((popoverRange: import("@rowsncolumns/common-types").SheetRange | import("@rowsncolumns/common-types").SheetCoordinate, content: import("..").Maybe<React.ReactNode | React.ComponentType>) => void) | undefined;
56
56
  export declare const scrollToCellSelector: import("jotai").Atom<((cell: import("@rowsncolumns/grid").OptionalCellInterface, align?: import("@rowsncolumns/grid").Align) => void) | undefined>;
57
57
  export declare const useScrollToCell: () => ((cell: import("@rowsncolumns/grid").OptionalCellInterface, align?: import("@rowsncolumns/grid").Align) => void) | undefined;
58
+ export declare const scrollToChartSelector: import("jotai").Atom<((id: import("..").EmbeddedObject["embedId"]) => void) | undefined>;
59
+ export declare const useScrollToChart: () => ((id: import("..").EmbeddedObject["embedId"]) => void) | undefined;
58
60
  export declare const redrawGridSelector: import("jotai").Atom<(() => void) | undefined>;
59
61
  export declare const useRedrawGrid: () => (() => void) | undefined;
60
62
  export declare const getViewPortSelector: import("jotai").Atom<(() => import("@rowsncolumns/grid").ViewPortProps) | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"sheet-context.atom.d.ts","sourceRoot":"","sources":["../../../atoms/sheet-context.atom.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,eAAO,MAAM,sBAAsB;;CAEjC,CAAC;AAEH,eAAO,MAAM,cAAc,yBAA6C,CAAC;AAGzE,eAAO,MAAM,iBAAiB,mEAE7B,CAAC;AAEF,eAAO,MAAM,YAAY,mDAAwC,CAAC;AAQlE,eAAO,MAAM,kBAAkB,mDAA8C,CAAC;AAO9E,eAAO,MAAM,gBAAgB,mDAA4C,CAAC;AAE1E,eAAO,MAAM,wBAAwB,8FACD,CAAC;AAOrC,eAAO,MAAM,gBAAgB,sJAA4C,CAAC;AAO1E,eAAO,MAAM,2BAA2B,+MACK,CAAC;AAO9C,eAAO,MAAM,0BAA0B,uQACM,CAAC;AAO9C,eAAO,MAAM,8BAA8B,+GACM,CAAC;AAMlD,eAAO,MAAM,oBAAoB;;;cACQ,CAAC;AAM1C,eAAO,MAAM,eAAe,+GAA2C,CAAC;AAMxE,eAAO,MAAM,iBAAiB;;;;yBAA6C,CAAC;AAM5E,eAAO,MAAM,+BAA+B,wIACY,CAAC;AAMzD,eAAO,MAAM,0BAA0B,8HACQ,CAAC;AAMhD,eAAO,MAAM,0BAA0B,iIACQ,CAAC;AAEhD,eAAO,MAAM,wCAAwC,oPAEpD,CAAC;AAEF,eAAO,MAAM,mCAAmC,oOACQ,CAAC;AAEzD,eAAO,MAAM,mBAAmB,oHAE/B,CAAC;AAEF,eAAO,MAAM,cAAc,oGAA0C,CAAC;AAEtE,eAAO,MAAM,wBAAwB,kEAEpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,kDAA+C,CAAC;AAEhF,eAAO,MAAM,2BAA2B,mDAEvC,CAAC;AAEF,eAAO,MAAM,sBAAsB,mCACQ,CAAC;AAE5C,eAAO,MAAM,0BAA0B,0GAEtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,0FACQ,CAAC;AAE3C,eAAO,MAAM,mCAAmC,gHAE/C,CAAC;AAEF,eAAO,MAAM,8BAA8B,gGACQ,CAAC;AAEpD,eAAO,MAAM,kBAAkB,4OAE9B,CAAC;AAEF,eAAO,MAAM,aAAa,4NAAyC,CAAC;AAEpE,eAAO,MAAM,kBAAkB,gDAE9B,CAAC;AAEF,eAAO,MAAM,aAAa,gCAAyC,CAAC;AAEpE,eAAO,MAAM,0BAA0B,oFAEtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,oEACQ,CAAC;AAE3C,eAAO,MAAM,yBAAyB,oMAErC,CAAC;AAEF,eAAO,MAAM,oBAAoB,oLACQ,CAAC;AAE1C,eAAO,MAAM,uBAAuB,sFAEnC,CAAC;AAEF,eAAO,MAAM,kBAAkB,sEAA8C,CAAC;AAE9E,eAAO,MAAM,oBAAoB,iEAEhC,CAAC;AAEF,eAAO,MAAM,eAAe,iDAA2C,CAAC;AAExE,eAAO,MAAM,kBAAkB,+EAE9B,CAAC;AAEF,eAAO,MAAM,aAAa,+DAAyC,CAAC;AAEpE,eAAO,MAAM,0BAA0B,wOAEtC,CAAC;AAEF,eAAO,MAAM,kBAAkB,wNACW,CAAC;AAE3C,eAAO,MAAM,oBAAoB,oJAEhC,CAAC;AAEF,eAAO,MAAM,eAAe,oIAA2C,CAAC;AAExE,eAAO,MAAM,kBAAkB,gDAE9B,CAAC;AAEF,eAAO,MAAM,aAAa,gCAAyC,CAAC;AAEpE,eAAO,MAAM,mBAAmB,sFAE/B,CAAC;AAEF,eAAO,MAAM,cAAc,sEAA0C,CAAC;AAEtE,eAAO,MAAM,sBAAsB,+FAElC,CAAC;AAEF,eAAO,MAAM,iBAAiB,+EAA6C,CAAC;AAE5E,eAAO,MAAM,kBAAkB,uFAE9B,CAAC;AACF,eAAO,MAAM,aAAa,uEAAyC,CAAC;AAEpE,eAAO,MAAM,4BAA4B,kLAExC,CAAC;AACF,eAAO,MAAM,uBAAuB,kKACQ,CAAC"}
1
+ {"version":3,"file":"sheet-context.atom.d.ts","sourceRoot":"","sources":["../../../atoms/sheet-context.atom.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,eAAO,MAAM,sBAAsB;;CAEjC,CAAC;AAEH,eAAO,MAAM,cAAc,yBAA6C,CAAC;AAGzE,eAAO,MAAM,iBAAiB,mEAE7B,CAAC;AAEF,eAAO,MAAM,YAAY,mDAAwC,CAAC;AAQlE,eAAO,MAAM,kBAAkB,mDAA8C,CAAC;AAO9E,eAAO,MAAM,gBAAgB,mDAA4C,CAAC;AAE1E,eAAO,MAAM,wBAAwB,8FACD,CAAC;AAOrC,eAAO,MAAM,gBAAgB,sJAA4C,CAAC;AAO1E,eAAO,MAAM,2BAA2B,+MACK,CAAC;AAO9C,eAAO,MAAM,0BAA0B,uQACM,CAAC;AAO9C,eAAO,MAAM,8BAA8B,+GACM,CAAC;AAMlD,eAAO,MAAM,oBAAoB;;;cACQ,CAAC;AAM1C,eAAO,MAAM,eAAe,+GAA2C,CAAC;AAMxE,eAAO,MAAM,iBAAiB;;;;yBAA6C,CAAC;AAM5E,eAAO,MAAM,+BAA+B,wIACY,CAAC;AAMzD,eAAO,MAAM,0BAA0B,8HACQ,CAAC;AAMhD,eAAO,MAAM,0BAA0B,iIACQ,CAAC;AAEhD,eAAO,MAAM,wCAAwC,oPAEpD,CAAC;AAEF,eAAO,MAAM,mCAAmC,oOACQ,CAAC;AAEzD,eAAO,MAAM,mBAAmB,oHAE/B,CAAC;AAEF,eAAO,MAAM,cAAc,oGAA0C,CAAC;AAEtE,eAAO,MAAM,wBAAwB,kEAEpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,kDAA+C,CAAC;AAEhF,eAAO,MAAM,2BAA2B,mDAEvC,CAAC;AAEF,eAAO,MAAM,sBAAsB,mCACQ,CAAC;AAE5C,eAAO,MAAM,0BAA0B,0GAEtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,0FACQ,CAAC;AAE3C,eAAO,MAAM,mCAAmC,gHAE/C,CAAC;AAEF,eAAO,MAAM,8BAA8B,gGACQ,CAAC;AAEpD,eAAO,MAAM,kBAAkB,4OAE9B,CAAC;AAEF,eAAO,MAAM,aAAa,4NAAyC,CAAC;AAEpE,eAAO,MAAM,kBAAkB,gDAE9B,CAAC;AAEF,eAAO,MAAM,aAAa,gCAAyC,CAAC;AAEpE,eAAO,MAAM,0BAA0B,oFAEtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,oEACQ,CAAC;AAE3C,eAAO,MAAM,yBAAyB,oMAErC,CAAC;AAEF,eAAO,MAAM,oBAAoB,oLACQ,CAAC;AAE1C,eAAO,MAAM,uBAAuB,sFAEnC,CAAC;AAEF,eAAO,MAAM,kBAAkB,sEAA8C,CAAC;AAE9E,eAAO,MAAM,oBAAoB,iEAEhC,CAAC;AAEF,eAAO,MAAM,eAAe,iDAA2C,CAAC;AAExE,eAAO,MAAM,kBAAkB,+EAE9B,CAAC;AAEF,eAAO,MAAM,aAAa,+DAAyC,CAAC;AAEpE,eAAO,MAAM,0BAA0B,wOAEtC,CAAC;AAEF,eAAO,MAAM,kBAAkB,wNACW,CAAC;AAE3C,eAAO,MAAM,oBAAoB,oJAEhC,CAAC;AAEF,eAAO,MAAM,eAAe,oIAA2C,CAAC;AAExE,eAAO,MAAM,qBAAqB,0FAEjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,0EAA4C,CAAC;AAE1E,eAAO,MAAM,kBAAkB,gDAE9B,CAAC;AAEF,eAAO,MAAM,aAAa,gCAAyC,CAAC;AAEpE,eAAO,MAAM,mBAAmB,sFAE/B,CAAC;AAEF,eAAO,MAAM,cAAc,sEAA0C,CAAC;AAEtE,eAAO,MAAM,sBAAsB,+FAElC,CAAC;AAEF,eAAO,MAAM,iBAAiB,+EAA6C,CAAC;AAE5E,eAAO,MAAM,kBAAkB,uFAE9B,CAAC;AACF,eAAO,MAAM,aAAa,uEAAyC,CAAC;AAEpE,eAAO,MAAM,4BAA4B,kLAExC,CAAC;AACF,eAAO,MAAM,uBAAuB,kKACQ,CAAC"}
@@ -71,6 +71,8 @@ export const getShowCellPopoverSelector = atom((get) => get(spreadsheetContextAt
71
71
  export const useShowCellPopover = () => useAtomValue(getShowCellPopoverSelector);
72
72
  export const scrollToCellSelector = atom((get) => get(spreadsheetContextAtom).scrollToCell);
73
73
  export const useScrollToCell = () => useAtomValue(scrollToCellSelector);
74
+ export const scrollToChartSelector = atom((get) => get(spreadsheetContextAtom).scrollToChart);
75
+ export const useScrollToChart = () => useAtomValue(scrollToChartSelector);
74
76
  export const redrawGridSelector = atom((get) => get(spreadsheetContextAtom).redrawGrid);
75
77
  export const useRedrawGrid = () => useAtomValue(redrawGridSelector);
76
78
  export const getViewPortSelector = atom((get) => get(spreadsheetContextAtom).getViewPort);
@@ -0,0 +1,34 @@
1
+ import type { CellInterface, SelectionArea } from "@rowsncolumns/grid";
2
+ import type { SparklineGroup, SparklineGroupType } from "@rowsncolumns/utils";
3
+ import type { SelectionAttributes } from "../components/canvas-grid/typings";
4
+ /**
5
+ * Open-state + payload for Excel's Create Sparklines dialog (Insert → Sparklines → Line / Column /
6
+ * Win-Loss) and its Edit Sparklines twin (Sparkline Design → Edit Data → Edit Group Location &
7
+ * Data…). The dialog is host-mounted (`SparklineDialogHost`) and submits through the state hook's
8
+ * `onCreateSparklineGroup` / `onUpdateSparklineGroup`.
9
+ */
10
+ export type SparklineDialogRequest = {
11
+ mode: "create";
12
+ sheetId: number;
13
+ type: SparklineGroupType;
14
+ activeCell: CellInterface;
15
+ selections: SelectionArea<SelectionAttributes>[];
16
+ } | {
17
+ mode: "edit";
18
+ group: SparklineGroup;
19
+ };
20
+ export declare const sparklineDialogAtom: import("jotai").PrimitiveAtom<SparklineDialogRequest | null> & {
21
+ init: SparklineDialogRequest | null;
22
+ };
23
+ export declare const useSparklineDialogState: () => [SparklineDialogRequest | null, (args_0: SparklineDialogRequest | ((prev: SparklineDialogRequest | null) => SparklineDialogRequest | null) | null) => void];
24
+ /** Number of mounted `SparklineDialogHost`s — menus only offer sparkline entries while one exists. */
25
+ export declare const sparklineDialogHostCountAtom: import("jotai").PrimitiveAtom<number> & {
26
+ init: number;
27
+ };
28
+ /** True when at least one `SparklineDialogHost` is mounted. */
29
+ export declare const useIsSparklineDialogMounted: () => boolean;
30
+ /** Registers the calling component as a dialog host for its lifetime. */
31
+ export declare const useRegisterSparklineDialogHost: () => void;
32
+ /** Returns a function that opens the host-mounted Create / Edit Sparklines dialog. */
33
+ export declare const useOpenSparklineDialog: () => (request: SparklineDialogRequest) => void;
34
+ //# sourceMappingURL=sparkline-dialog.atom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sparkline-dialog.atom.d.ts","sourceRoot":"","sources":["../../../atoms/sparkline-dialog.atom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAI9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAC9B;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,kBAAkB,CAAC;IACzB,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;CAClD,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AAEN,eAAO,MAAM,mBAAmB;;CAA4C,CAAC;AAE7E,eAAO,MAAM,uBAAuB,mKAAqC,CAAC;AAE1E,sGAAsG;AACtG,eAAO,MAAM,4BAA4B;;CAAU,CAAC;AAEpD,+DAA+D;AAC/D,eAAO,MAAM,2BAA2B,eACQ,CAAC;AAEjD,yEAAyE;AACzE,eAAO,MAAM,8BAA8B,YAM1C,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,sBAAsB,kBAGrB,sBAAsB,SAGnC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { atom, useAtom, useAtomValue, useSetAtom } from "jotai";
2
+ import { useCallback, useEffect } from "react";
3
+ export const sparklineDialogAtom = atom(null);
4
+ export const useSparklineDialogState = () => useAtom(sparklineDialogAtom);
5
+ /** Number of mounted `SparklineDialogHost`s — menus only offer sparkline entries while one exists. */
6
+ export const sparklineDialogHostCountAtom = atom(0);
7
+ /** True when at least one `SparklineDialogHost` is mounted. */
8
+ export const useIsSparklineDialogMounted = () => useAtomValue(sparklineDialogHostCountAtom) > 0;
9
+ /** Registers the calling component as a dialog host for its lifetime. */
10
+ export const useRegisterSparklineDialogHost = () => {
11
+ const setCount = useSetAtom(sparklineDialogHostCountAtom);
12
+ useEffect(() => {
13
+ setCount((count) => count + 1);
14
+ return () => setCount((count) => count - 1);
15
+ }, [setCount]);
16
+ };
17
+ /** Returns a function that opens the host-mounted Create / Edit Sparklines dialog. */
18
+ export const useOpenSparklineDialog = () => {
19
+ const setRequest = useSetAtom(sparklineDialogAtom);
20
+ return useCallback((request) => setRequest(request), [setRequest]);
21
+ };
@@ -0,0 +1,14 @@
1
+ import type { TableAutoExpansion } from "../api/table-auto-expansion";
2
+ /**
3
+ * The table that just auto-expanded, waiting for Excel's AutoCorrect smart tag ("Undo Table
4
+ * AutoExpansion" / "Stop Automatically Expanding Tables"). Set by the engines' table-growth path
5
+ * (`useOnChangeTableColumn` in `@rowsncolumns/spreadsheet-state`; the rnc engine's commit fold),
6
+ * read by `CanvasGrid`. Dropped when the user moves away from the grown table or switches sheet.
7
+ */
8
+ export declare const tableAutoExpansionAtom: import("jotai").PrimitiveAtom<TableAutoExpansion | null> & {
9
+ init: TableAutoExpansion | null;
10
+ };
11
+ export declare const useTableAutoExpansionState: () => [TableAutoExpansion | null, (args_0: TableAutoExpansion | ((prev: TableAutoExpansion | null) => TableAutoExpansion | null) | null) => void];
12
+ export declare const useTableAutoExpansionValue: () => TableAutoExpansion | null;
13
+ export declare const useSetTableAutoExpansion: () => (args_0: TableAutoExpansion | ((prev: TableAutoExpansion | null) => TableAutoExpansion | null) | null) => void;
14
+ //# sourceMappingURL=table-auto-expansion.atom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-auto-expansion.atom.d.ts","sourceRoot":"","sources":["../../../atoms/table-auto-expansion.atom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;CAAwC,CAAC;AAE5E,eAAO,MAAM,0BAA0B,mJAAwC,CAAC;AAChF,eAAO,MAAM,0BAA0B,iCAA6C,CAAC;AACrF,eAAO,MAAM,wBAAwB,sHAA2C,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { atom, useAtom, useAtomValue, useSetAtom } from "jotai";
2
+ /**
3
+ * The table that just auto-expanded, waiting for Excel's AutoCorrect smart tag ("Undo Table
4
+ * AutoExpansion" / "Stop Automatically Expanding Tables"). Set by the engines' table-growth path
5
+ * (`useOnChangeTableColumn` in `@rowsncolumns/spreadsheet-state`; the rnc engine's commit fold),
6
+ * read by `CanvasGrid`. Dropped when the user moves away from the grown table or switches sheet.
7
+ */
8
+ export const tableAutoExpansionAtom = atom(null);
9
+ export const useTableAutoExpansionState = () => useAtom(tableAutoExpansionAtom);
10
+ export const useTableAutoExpansionValue = () => useAtomValue(tableAutoExpansionAtom);
11
+ export const useSetTableAutoExpansion = () => useSetAtom(tableAutoExpansionAtom);
@@ -0,0 +1,25 @@
1
+ import React from "react";
2
+ import type { CalculatedColumnFillKind, CalculatedColumnOption } from "../../api/calculated-column-fill";
3
+ export type CalculatedColumnSmartTagProps = {
4
+ /** Position/size of the selection the tag is anchored to (bottom-left). */
5
+ x: number;
6
+ y: number;
7
+ width: number;
8
+ height: number;
9
+ kind: CalculatedColumnFillKind;
10
+ /** Whether the host can turn calculated columns off ("Stop automatically creating calculated columns"). */
11
+ canStop: boolean;
12
+ onChooseOption(option: CalculatedColumnOption): void;
13
+ };
14
+ /**
15
+ * Excel's AutoCorrect Options smart tag after a formula typed into a table column: "Undo Calculated
16
+ * Column" when the formula filled the column (the fill alone reverts, the typed cell stays),
17
+ * "Overwrite all cells in this column with this formula" when the column held cells that kept it
18
+ * from filling, and "Stop automatically creating calculated columns" (when the host wires
19
+ * `onChangeAutoCalculatedColumns`). Same skin as the Table AutoExpansion tag.
20
+ */
21
+ export declare const CalculatedColumnSmartTag: {
22
+ ({ x, y, width: _width, height, kind, canStop, onChooseOption, }: CalculatedColumnSmartTagProps): React.JSX.Element;
23
+ displayName: string;
24
+ };
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/calculated-column-smart-tag/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EACV,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,MAAM,6BAA6B,GAAG;IAC1C,2EAA2E;IAC3E,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,wBAAwB,CAAC;IAC/B,2GAA2G;IAC3G,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;CACtD,CAAC;AASF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;sEAQlC,6BAA6B;;CA2C/B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuPortal, DropdownMenuTrigger, IconButton, } from "@rowsncolumns/ui";
2
+ import React, { useState } from "react";
3
+ /** Excel's AutoCorrect Options lightning bolt. */
4
+ const LightningIcon = () => (React.createElement("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true" },
5
+ React.createElement("path", { d: "M13 2 4 14h6l-1 8 9-12h-6l1-8z" })));
6
+ /**
7
+ * Excel's AutoCorrect Options smart tag after a formula typed into a table column: "Undo Calculated
8
+ * Column" when the formula filled the column (the fill alone reverts, the typed cell stays),
9
+ * "Overwrite all cells in this column with this formula" when the column held cells that kept it
10
+ * from filling, and "Stop automatically creating calculated columns" (when the host wires
11
+ * `onChangeAutoCalculatedColumns`). Same skin as the Table AutoExpansion tag.
12
+ */
13
+ export const CalculatedColumnSmartTag = ({ x, y, width: _width, height, kind, canStop, onChooseOption, }) => {
14
+ const [open, setOpen] = useState(false);
15
+ return (React.createElement("div", { className: "absolute pointer-events-auto flex items-start justify-start", style: { left: x, top: y + height }, onMouseDown: (e) => e.stopPropagation(), "data-testid": "calculated-column" },
16
+ React.createElement(DropdownMenu, { modal: false, open: open, onOpenChange: setOpen },
17
+ React.createElement(DropdownMenuTrigger, { asChild: true },
18
+ React.createElement(IconButton, { tooltip: "AutoCorrect Options", "aria-label": "AutoCorrect Options", className: "shadow-sm bg-rnc-background border-rnc-border border border-solid rounded-md" },
19
+ React.createElement(LightningIcon, null))),
20
+ React.createElement(DropdownMenuPortal, null,
21
+ React.createElement(DropdownMenuContent, { align: "start", onCloseAutoFocus: (event) => event.preventDefault() },
22
+ kind === "filled" ? (React.createElement(DropdownMenuItem, { onSelect: () => onChooseOption("undo") }, "Undo Calculated Column")) : (React.createElement(DropdownMenuItem, { onSelect: () => onChooseOption("overwrite") }, "Overwrite all cells in this column with this formula")),
23
+ canStop ? (React.createElement(DropdownMenuItem, { onSelect: () => onChooseOption("stop") }, "Stop automatically creating calculated columns")) : null)))));
24
+ };
25
+ CalculatedColumnSmartTag.displayName = "CalculatedColumnSmartTag";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/canvas-grid/index.tsx"],"names":[],"mappings":"AA+CA,OAAO,KASN,MAAM,OAAO,CAAC;AAuMf,OAAO,KAAK,EAGV,QAAQ,EAUT,MAAM,aAAa,CAAC;AAcrB,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EAEhB,MAAM,WAAW,CAAC;AAy1KnB,eAAO,MAAM,UAAU,EAA4C,CACjE,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,EAEvB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GACvB,wBAAwB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAAE,KAChE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/canvas-grid/index.tsx"],"names":[],"mappings":"AAoDA,OAAO,KASN,MAAM,OAAO,CAAC;AAsNf,OAAO,KAAK,EAGV,QAAQ,EAWT,MAAM,aAAa,CAAC;AAiBrB,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EAEhB,MAAM,WAAW,CAAC;AAgyLnB,eAAO,MAAM,UAAU,EAA4C,CACjE,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,EAEvB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GACvB,wBAAwB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAAE,KAChE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC"}