@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
@@ -17,10 +17,22 @@ var react_1 = tslib_1.__importStar(require("react"));
17
17
  var ui_1 = require("@rowsncolumns/ui");
18
18
  var icons_1 = require("@rowsncolumns/icons");
19
19
  var page_block_1 = require("./page-block");
20
+ var chart_actions_atom_1 = require("../../atoms/chart-actions.atom");
20
21
  var config_1 = require("../../config");
21
22
  var settings_1 = require("./settings");
22
23
  var use_page_layout_1 = require("./use-page-layout");
23
24
  var run_print_1 = require("./run-print");
25
+ /** A PNG blob as a `data:` URL — the print iframe needs no live object URLs. */
26
+ var blobToDataUrl = function (blob) {
27
+ return new Promise(function (resolve) {
28
+ var reader = new FileReader();
29
+ reader.onload = function () {
30
+ return resolve(typeof reader.result === "string" ? reader.result : undefined);
31
+ };
32
+ reader.onerror = function () { return resolve(undefined); };
33
+ reader.readAsDataURL(blob);
34
+ });
35
+ };
24
36
  var resolveSheet = function (sheet, options) {
25
37
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
26
38
  var defaultColumnWidth = (_a = sheet.defaultColumnWidth) !== null && _a !== void 0 ? _a : config_1.DEFAULT_COLUMN_WIDTH;
@@ -41,9 +53,10 @@ var labelClass = "text-xs font-medium text-rnc-foreground/80 mb-1 block";
41
53
  var fieldRowClass = "mb-3";
42
54
  var controlClass = "w-full text-xs border border-solid border-rnc-border rounded-sm px-2 py-1.5 bg-rnc-background text-rnc-foreground focus:outline-none focus:ring-1 focus:ring-ring";
43
55
  var PrintPreviewDialog = function (_a) {
44
- var isOpen = _a.isOpen, onClose = _a.onClose, sheets = _a.sheets, activeSheetId = _a.activeSheetId, selections = _a.selections, title = _a.title, getFormattedValue = _a.getFormattedValue, getEffectiveFormat = _a.getEffectiveFormat, getDataRowCount = _a.getDataRowCount, getDataColumnCount = _a.getDataColumnCount, getCellData = _a.getCellData;
56
+ var isOpen = _a.isOpen, onClose = _a.onClose, sheets = _a.sheets, activeSheetId = _a.activeSheetId, selections = _a.selections, title = _a.title, getFormattedValue = _a.getFormattedValue, getEffectiveFormat = _a.getEffectiveFormat, getDataRowCount = _a.getDataRowCount, getDataColumnCount = _a.getDataColumnCount, getCellData = _a.getCellData, charts = _a.charts;
45
57
  var _b = tslib_1.__read((0, react_1.useState)(settings_1.DEFAULT_PRINT_SETTINGS), 2), settings = _b[0], setSettings = _b[1];
46
58
  var printContainerRef = (0, react_1.useRef)(null);
59
+ var getChartActions = (0, chart_actions_atom_1.useGetChartActions)();
47
60
  // Look up the active sheet from the supplied list. When the id
48
61
  // doesn't match anything (shouldn't happen) we render nothing.
49
62
  var activeSheetSource = (0, react_1.useMemo)(function () { return sheets.find(function (s) { return s.sheetId === activeSheetId; }); }, [sheets, activeSheetId]);
@@ -155,6 +168,133 @@ var PrintPreviewDialog = function (_a) {
155
168
  }
156
169
  return out;
157
170
  }, [isOpen, settings, sheetsForScope]);
171
+ // Chart PNGs, captured from the mounted renderers each time the dialog
172
+ // opens (a Data → chart edit while it is open is not re-captured).
173
+ var _c = tslib_1.__read((0, react_1.useState)({}), 2), chartImages = _c[0], setChartImages = _c[1];
174
+ (0, react_1.useEffect)(function () {
175
+ if (!isOpen || !(charts === null || charts === void 0 ? void 0 : charts.length))
176
+ return;
177
+ var cancelled = false;
178
+ var sheetIds = new Set(sheetsForScope.map(function (sheet) { return sheet.sheetId; }));
179
+ void Promise.all(charts
180
+ .filter(function (chart) { var _a; return sheetIds.has((_a = chart.position) === null || _a === void 0 ? void 0 : _a.sheetId); })
181
+ .map(function (chart) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
182
+ var blob, url, _a;
183
+ var _b, _c;
184
+ return tslib_1.__generator(this, function (_d) {
185
+ switch (_d.label) {
186
+ case 0: return [4 /*yield*/, ((_c = (_b = getChartActions(chart.chartId)) === null || _b === void 0 ? void 0 : _b.exportPng) === null || _c === void 0 ? void 0 : _c.call(_b).catch(function () { return undefined; }))];
187
+ case 1:
188
+ blob = _d.sent();
189
+ if (!blob) return [3 /*break*/, 3];
190
+ return [4 /*yield*/, blobToDataUrl(blob)];
191
+ case 2:
192
+ _a = _d.sent();
193
+ return [3 /*break*/, 4];
194
+ case 3:
195
+ _a = undefined;
196
+ _d.label = 4;
197
+ case 4:
198
+ url = _a;
199
+ return [2 /*return*/, [String(chart.chartId), url]];
200
+ }
201
+ });
202
+ }); })).then(function (entries) {
203
+ var e_3, _a;
204
+ if (cancelled)
205
+ return;
206
+ var next = {};
207
+ try {
208
+ for (var entries_1 = tslib_1.__values(entries), entries_1_1 = entries_1.next(); !entries_1_1.done; entries_1_1 = entries_1.next()) {
209
+ var _b = tslib_1.__read(entries_1_1.value, 2), chartId = _b[0], url = _b[1];
210
+ if (url)
211
+ next[chartId] = url;
212
+ }
213
+ }
214
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
215
+ finally {
216
+ try {
217
+ if (entries_1_1 && !entries_1_1.done && (_a = entries_1.return)) _a.call(entries_1);
218
+ }
219
+ finally { if (e_3) throw e_3.error; }
220
+ }
221
+ setChartImages(next);
222
+ });
223
+ return function () {
224
+ cancelled = true;
225
+ };
226
+ }, [isOpen, charts, sheetsForScope, getChartActions]);
227
+ // Which page each chart prints on (Excel: the page its anchor lands on).
228
+ var printedCharts = (0, react_1.useMemo)(function () {
229
+ var e_4, _a;
230
+ var _b;
231
+ var bySheetAndPage = new Map();
232
+ if (!(charts === null || charts === void 0 ? void 0 : charts.length))
233
+ return bySheetAndPage;
234
+ var _loop_1 = function (sheet) {
235
+ var e_5, _c;
236
+ var bounds = (_b = sheet.printBounds) !== null && _b !== void 0 ? _b : {
237
+ startRow: 1,
238
+ endRow: Math.max(1, sheet.rowCount),
239
+ startColumn: 1,
240
+ endColumn: Math.max(1, sheet.columnCount),
241
+ };
242
+ var blocks = pages
243
+ .filter(function (page) { return page.sheet === sheet; })
244
+ .map(function (page) { return page.block; });
245
+ var placed = (0, use_page_layout_1.placeChartsOnPages)({
246
+ charts: charts
247
+ .filter(function (chart) { var _a, _b; return (_b = (_a = chart.position) === null || _a === void 0 ? void 0 : _a.overlayPosition) === null || _b === void 0 ? void 0 : _b.anchorCell; })
248
+ .map(function (chart) { return ({
249
+ chartId: chart.chartId,
250
+ title: chart.spec.title,
251
+ sheetId: chart.position.sheetId,
252
+ anchorCell: chart.position.overlayPosition.anchorCell,
253
+ offsetXPixels: chart.position.overlayPosition.offsetXPixels,
254
+ offsetYPixels: chart.position.overlayPosition.offsetYPixels,
255
+ widthPixels: chart.position.overlayPosition.widthPixels,
256
+ heightPixels: chart.position.overlayPosition.heightPixels,
257
+ }); }),
258
+ sheetId: sheet.sheetId,
259
+ blocks: blocks,
260
+ startRow: bounds.startRow,
261
+ startColumn: bounds.startColumn,
262
+ repeatRows: settings.repeatFrozenRows && sheet.frozenRows ? sheet.frozenRows : 0,
263
+ repeatColumns: settings.repeatFrozenColumns && sheet.frozenColumns
264
+ ? sheet.frozenColumns
265
+ : 0,
266
+ getColumnWidth: sheet.getColumnWidth,
267
+ getRowHeight: sheet.getRowHeight,
268
+ });
269
+ try {
270
+ for (var placed_1 = (e_5 = void 0, tslib_1.__values(placed)), placed_1_1 = placed_1.next(); !placed_1_1.done; placed_1_1 = placed_1.next()) {
271
+ var _d = tslib_1.__read(placed_1_1.value, 2), pageIndex = _d[0], list = _d[1];
272
+ bySheetAndPage.set("".concat(sheet.sheetId, ":").concat(pageIndex), list);
273
+ }
274
+ }
275
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
276
+ finally {
277
+ try {
278
+ if (placed_1_1 && !placed_1_1.done && (_c = placed_1.return)) _c.call(placed_1);
279
+ }
280
+ finally { if (e_5) throw e_5.error; }
281
+ }
282
+ };
283
+ try {
284
+ for (var sheetsForScope_2 = tslib_1.__values(sheetsForScope), sheetsForScope_2_1 = sheetsForScope_2.next(); !sheetsForScope_2_1.done; sheetsForScope_2_1 = sheetsForScope_2.next()) {
285
+ var sheet = sheetsForScope_2_1.value;
286
+ _loop_1(sheet);
287
+ }
288
+ }
289
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
290
+ finally {
291
+ try {
292
+ if (sheetsForScope_2_1 && !sheetsForScope_2_1.done && (_a = sheetsForScope_2.return)) _a.call(sheetsForScope_2);
293
+ }
294
+ finally { if (e_4) throw e_4.error; }
295
+ }
296
+ return bySheetAndPage;
297
+ }, [charts, sheetsForScope, pages, settings.repeatFrozenRows, settings.repeatFrozenColumns]);
158
298
  // Single Date snapshot reused by every page so the printed copies
159
299
  // agree on "now" — Google Sheets does the same so a multi-page print
160
300
  // doesn't tick over a minute mid-document.
@@ -219,7 +359,7 @@ var PrintPreviewDialog = function (_a) {
219
359
  react_1.default.createElement("div", { className: "flex-1 overflow-auto bg-rnc-muted/30 p-8" },
220
360
  react_1.default.createElement("div", { ref: printContainerRef, className: "flex flex-col items-center gap-6" },
221
361
  pages.map(function (_a, i) {
222
- var _b;
362
+ var _b, _c;
223
363
  var sheet = _a.sheet, block = _a.block;
224
364
  var bounds = (_b = sheet.printBounds) !== null && _b !== void 0 ? _b : {
225
365
  startRow: 1,
@@ -240,7 +380,8 @@ var PrintPreviewDialog = function (_a) {
240
380
  i + 1,
241
381
  " of ",
242
382
  pages.length),
243
- react_1.default.createElement(page_block_1.PageBlock, { block: block, pageWidth: pageDims.width, pageHeight: pageDims.height, margins: margins, scale: computeScaleForSheet(sheet), showGridlines: settings.showGridlines, showNotes: settings.showNotes, horizontalAlignment: settings.horizontalAlignment, verticalAlignment: settings.verticalAlignment, sheetId: sheet.sheetId, getFormattedValue: getFormattedValue, getEffectiveFormat: getEffectiveFormat, getColumnWidth: sheet.getColumnWidth, getRowHeight: sheet.getRowHeight, merges: sheet.merges, hasNote: hasNote, frozenRowStart: repeatRows > 0 ? bounds.startRow : undefined, frozenRowEnd: repeatRows > 0
383
+ react_1.default.createElement(page_block_1.PageBlock, { block: block, pageWidth: pageDims.width, pageHeight: pageDims.height, margins: margins, scale: computeScaleForSheet(sheet), showGridlines: settings.showGridlines, showNotes: settings.showNotes, horizontalAlignment: settings.horizontalAlignment, verticalAlignment: settings.verticalAlignment, sheetId: sheet.sheetId, getFormattedValue: getFormattedValue, getEffectiveFormat: getEffectiveFormat, getColumnWidth: sheet.getColumnWidth, getRowHeight: sheet.getRowHeight, merges: sheet.merges, hasNote: hasNote, charts: (_c = printedCharts
384
+ .get("".concat(sheet.sheetId, ":").concat(block.index))) === null || _c === void 0 ? void 0 : _c.map(function (chart) { return (tslib_1.__assign(tslib_1.__assign({}, chart), { imageUrl: chartImages[chart.chartId] })); }), frozenRowStart: repeatRows > 0 ? bounds.startRow : undefined, frozenRowEnd: repeatRows > 0
244
385
  ? bounds.startRow + repeatRows - 1
245
386
  : undefined, frozenColumnStart: repeatColumns > 0 ? bounds.startColumn : undefined, frozenColumnEnd: repeatColumns > 0
246
387
  ? bounds.startColumn + repeatColumns - 1
@@ -1 +1 @@
1
- {"version":3,"file":"run-print.d.ts","sourceRoot":"","sources":["../../../../components/print-preview/run-print.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,eAAe,GAAG;IAC5B,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAuDF,eAAO,MAAM,QAAQ,GAAI,MAAM,eAAe,KAAG,IAkDhD,CAAC"}
1
+ {"version":3,"file":"run-print.d.ts","sourceRoot":"","sources":["../../../../components/print-preview/run-print.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,eAAe,GAAG;IAC5B,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAuDF,eAAO,MAAM,QAAQ,GAAI,MAAM,eAAe,KAAG,IA+DhD,CAAC"}
@@ -59,13 +59,25 @@ var runPrint = function (opts) {
59
59
  // Delay so afterprint has a chance to fire first.
60
60
  setTimeout(cleanup, 1000);
61
61
  }, { once: true });
62
- try {
63
- win.focus();
64
- win.print();
65
- }
66
- catch (_a) {
67
- cleanup();
68
- }
62
+ // Chart PNGs are `<img>`s in the injected HTML; print once every one
63
+ // has decoded so no page goes out with an empty chart frame.
64
+ var pending = Array.from(win.document.images)
65
+ .filter(function (img) { return !img.complete; })
66
+ .map(function (img) {
67
+ return new Promise(function (resolve) {
68
+ img.addEventListener("load", function () { return resolve(); }, { once: true });
69
+ img.addEventListener("error", function () { return resolve(); }, { once: true });
70
+ });
71
+ });
72
+ void Promise.all(pending).then(function () {
73
+ try {
74
+ win.focus();
75
+ win.print();
76
+ }
77
+ catch (_a) {
78
+ cleanup();
79
+ }
80
+ });
69
81
  };
70
82
  iframe.addEventListener("load", onLoad, { once: true });
71
83
  };
@@ -10,6 +10,53 @@ export type PageBlock = {
10
10
  height: number;
11
11
  };
12
12
  export type PageOrder = "over-then-down" | "down-then-over";
13
+ /**
14
+ * A chart laid onto one printed page: its frame in unscaled sheet px
15
+ * relative to the page table's top-left (the repeated frozen prefix
16
+ * included), so the page's `transform: scale()` sizes it with the cells.
17
+ */
18
+ export type PrintedChart = {
19
+ chartId: string;
20
+ title?: string;
21
+ left: number;
22
+ top: number;
23
+ width: number;
24
+ height: number;
25
+ };
26
+ export type PrintedChartSource = {
27
+ chartId: string | number;
28
+ title?: string | null;
29
+ sheetId: number;
30
+ anchorCell: {
31
+ rowIndex: number;
32
+ columnIndex: number;
33
+ };
34
+ offsetXPixels?: number | null;
35
+ offsetYPixels?: number | null;
36
+ widthPixels?: number | null;
37
+ heightPixels?: number | null;
38
+ };
39
+ export type PlaceChartsInput = {
40
+ charts: readonly PrintedChartSource[];
41
+ sheetId: number;
42
+ blocks: readonly PageBlock[];
43
+ /** The printed range — where the repeated frozen prefix starts. */
44
+ startRow: number;
45
+ startColumn: number;
46
+ repeatRows?: number;
47
+ repeatColumns?: number;
48
+ getColumnWidth: (columnIndex: number) => number;
49
+ getRowHeight: (rowIndex: number) => number;
50
+ };
51
+ /**
52
+ * Excel prints a floating object on the page its anchor cell lands on.
53
+ * Each chart goes to the first page whose block (or repeated frozen
54
+ * prefix) contains the anchor; a chart anchored outside the printed
55
+ * range is not printed. The frame is positioned from the anchor cell's
56
+ * offset within that page plus the chart's own pixel offsets and keeps
57
+ * its on-sheet size — a chart that overhangs the page is clipped by it.
58
+ */
59
+ export declare const placeChartsOnPages: ({ charts, sheetId, blocks, startRow, startColumn, repeatRows, repeatColumns, getColumnWidth, getRowHeight, }: PlaceChartsInput) => Map<number, PrintedChart[]>;
13
60
  export type PageLayoutInput = {
14
61
  startRow: number;
15
62
  endRow: number;
@@ -1 +1 @@
1
- {"version":3,"file":"use-page-layout.d.ts","sourceRoot":"","sources":["../../../../components/print-preview/use-page-layout.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AA2CF,eAAO,MAAM,iBAAiB,GAAI,OAAO,eAAe,KAAG,SAAS,EAwEnE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,EAChB,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,WAAW,MAAM,EACjB,gBAAgB,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACrC,cAAc,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,KAClC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAMjC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GACvB,MAAM,KAAK,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,EACjD,aAAa,MAAM,EACnB,YAAY,MAAM,EAClB,aAAa,MAAM,EACnB,cAAc,MAAM,EACpB,eAAe,MAAM,KACpB,MAmBF,CAAC"}
1
+ {"version":3,"file":"use-page-layout.d.ts","sourceRoot":"","sources":["../../../../components/print-preview/use-page-layout.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,82 @@
13
13
  // column-band first, mirroring Excel. The opposite order would be a
14
14
  // trivial swap if/when we add the `overThenDown` toggle.
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.resolveScale = exports.measureRange = exports.computePageLayout = void 0;
16
+ exports.resolveScale = exports.measureRange = exports.computePageLayout = exports.placeChartsOnPages = void 0;
17
17
  var tslib_1 = require("tslib");
18
+ var DEFAULT_PRINTED_CHART_WIDTH = 300;
19
+ var DEFAULT_PRINTED_CHART_HEIGHT = 200;
20
+ var sumSizes = function (from, toExclusive, size) {
21
+ var total = 0;
22
+ for (var i = from; i < toExclusive; i++)
23
+ total += size(i);
24
+ return total;
25
+ };
26
+ /**
27
+ * Excel prints a floating object on the page its anchor cell lands on.
28
+ * Each chart goes to the first page whose block (or repeated frozen
29
+ * prefix) contains the anchor; a chart anchored outside the printed
30
+ * range is not printed. The frame is positioned from the anchor cell's
31
+ * offset within that page plus the chart's own pixel offsets and keeps
32
+ * its on-sheet size — a chart that overhangs the page is clipped by it.
33
+ */
34
+ var placeChartsOnPages = function (_a) {
35
+ var e_1, _b;
36
+ var _c, _d, _e, _f, _g, _h;
37
+ var charts = _a.charts, sheetId = _a.sheetId, blocks = _a.blocks, startRow = _a.startRow, startColumn = _a.startColumn, _j = _a.repeatRows, repeatRows = _j === void 0 ? 0 : _j, _k = _a.repeatColumns, repeatColumns = _k === void 0 ? 0 : _k, getColumnWidth = _a.getColumnWidth, getRowHeight = _a.getRowHeight;
38
+ var placed = new Map();
39
+ var frozenRowEnd = startRow + repeatRows - 1;
40
+ var frozenColumnEnd = startColumn + repeatColumns - 1;
41
+ var frozenRowsHeight = sumSizes(startRow, frozenRowEnd + 1, getRowHeight);
42
+ var frozenColumnsWidth = sumSizes(startColumn, frozenColumnEnd + 1, getColumnWidth);
43
+ var _loop_1 = function (chart) {
44
+ if (chart.sheetId !== sheetId)
45
+ return "continue";
46
+ var _l = chart.anchorCell, rowIndex = _l.rowIndex, columnIndex = _l.columnIndex;
47
+ var inFrozenRows = repeatRows > 0 && rowIndex >= startRow && rowIndex <= frozenRowEnd;
48
+ var inFrozenColumns = repeatColumns > 0 && columnIndex >= startColumn && columnIndex <= frozenColumnEnd;
49
+ var block = blocks.find(function (b) {
50
+ return (inFrozenRows || (rowIndex >= b.startRow && rowIndex <= b.endRow)) &&
51
+ (inFrozenColumns ||
52
+ (columnIndex >= b.startColumn && columnIndex <= b.endColumn));
53
+ });
54
+ if (!block)
55
+ return "continue";
56
+ var left = (inFrozenColumns
57
+ ? sumSizes(startColumn, columnIndex, getColumnWidth)
58
+ : frozenColumnsWidth +
59
+ sumSizes(block.startColumn, columnIndex, getColumnWidth)) +
60
+ ((_c = chart.offsetXPixels) !== null && _c !== void 0 ? _c : 0);
61
+ var top_1 = (inFrozenRows
62
+ ? sumSizes(startRow, rowIndex, getRowHeight)
63
+ : frozenRowsHeight + sumSizes(block.startRow, rowIndex, getRowHeight)) +
64
+ ((_d = chart.offsetYPixels) !== null && _d !== void 0 ? _d : 0);
65
+ var list = (_e = placed.get(block.index)) !== null && _e !== void 0 ? _e : [];
66
+ list.push({
67
+ chartId: String(chart.chartId),
68
+ title: (_f = chart.title) !== null && _f !== void 0 ? _f : undefined,
69
+ left: left,
70
+ top: top_1,
71
+ width: (_g = chart.widthPixels) !== null && _g !== void 0 ? _g : DEFAULT_PRINTED_CHART_WIDTH,
72
+ height: (_h = chart.heightPixels) !== null && _h !== void 0 ? _h : DEFAULT_PRINTED_CHART_HEIGHT,
73
+ });
74
+ placed.set(block.index, list);
75
+ };
76
+ try {
77
+ for (var charts_1 = tslib_1.__values(charts), charts_1_1 = charts_1.next(); !charts_1_1.done; charts_1_1 = charts_1.next()) {
78
+ var chart = charts_1_1.value;
79
+ _loop_1(chart);
80
+ }
81
+ }
82
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
83
+ finally {
84
+ try {
85
+ if (charts_1_1 && !charts_1_1.done && (_b = charts_1.return)) _b.call(charts_1);
86
+ }
87
+ finally { if (e_1) throw e_1.error; }
88
+ }
89
+ return placed;
90
+ };
91
+ exports.placeChartsOnPages = placeChartsOnPages;
18
92
  /**
19
93
  * Slice the [startColumn..endColumn] range into bands such that each
20
94
  * band's summed (scaled) width fits inside `contentWidth`. A single
@@ -50,7 +124,7 @@ var sliceAxis = function (start, end, getSize, limit, scale) {
50
124
  return bands;
51
125
  };
52
126
  var computePageLayout = function (input) {
53
- var e_1, _a, e_2, _b;
127
+ var e_2, _a, e_3, _b;
54
128
  var startRow = input.startRow, endRow = input.endRow, startColumn = input.startColumn, endColumn = input.endColumn, getColumnWidth = input.getColumnWidth, getRowHeight = input.getRowHeight, contentWidth = input.contentWidth, contentHeight = input.contentHeight, scale = input.scale, _c = input.pageOrder, pageOrder = _c === void 0 ? "over-then-down" : _c, _d = input.repeatRows, repeatRows = _d === void 0 ? 0 : _d, _e = input.repeatColumns, repeatColumns = _e === void 0 ? 0 : _e;
55
129
  // Sum the frozen rows/cols once — they always render at the top /
56
130
  // left of every page, eating into the available content box.
@@ -81,7 +155,7 @@ var computePageLayout = function (input) {
81
155
  for (var outer_1 = tslib_1.__values(outer), outer_1_1 = outer_1.next(); !outer_1_1.done; outer_1_1 = outer_1.next()) {
82
156
  var o = outer_1_1.value;
83
157
  try {
84
- for (var inner_1 = (e_2 = void 0, tslib_1.__values(inner)), inner_1_1 = inner_1.next(); !inner_1_1.done; inner_1_1 = inner_1.next()) {
158
+ for (var inner_1 = (e_3 = void 0, tslib_1.__values(inner)), inner_1_1 = inner_1.next(); !inner_1_1.done; inner_1_1 = inner_1.next()) {
85
159
  var i = inner_1_1.value;
86
160
  var colBand = pageOrder === "down-then-over" ? o : i;
87
161
  var rowBand = pageOrder === "down-then-over" ? i : o;
@@ -96,21 +170,21 @@ var computePageLayout = function (input) {
96
170
  });
97
171
  }
98
172
  }
99
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
173
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
100
174
  finally {
101
175
  try {
102
176
  if (inner_1_1 && !inner_1_1.done && (_b = inner_1.return)) _b.call(inner_1);
103
177
  }
104
- finally { if (e_2) throw e_2.error; }
178
+ finally { if (e_3) throw e_3.error; }
105
179
  }
106
180
  }
107
181
  }
108
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
182
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
109
183
  finally {
110
184
  try {
111
185
  if (outer_1_1 && !outer_1_1.done && (_a = outer_1.return)) _a.call(outer_1);
112
186
  }
113
- finally { if (e_1) throw e_1.error; }
187
+ finally { if (e_2) throw e_2.error; }
114
188
  }
115
189
  return blocks;
116
190
  };
@@ -5,5 +5,5 @@ import type { SelectionNewProps } from "./types";
5
5
  * @param param0
6
6
  * @returns
7
7
  */
8
- export declare const Selection: React.MemoExoticComponent<({ x, y, width, height, fillHandleSize, showFillHandle, offset, stroke, strokeLeftColor, strokeTopColor, strokeRightColor, strokeBottomColor, strokeWidth, strokeTopWidth, strokeRightWidth, strokeBottomWidth, strokeLeftWidth, strokeStyle, fillOpacity, draggable, isDragging, borderCoverWidth, type, range, title, keepTitleWithinBounds, keepTitleWithinVerticalBounds, flipTitleToBottom, table, pivotTable, onMouseDownTitle, onMouseDownResizeHandle, onMouseDownMoveHandle, TitleComponent, onMouseDown, onRequestEditTable, onRequestEditPivotTable, onFlashEnd, zIndex, index, id, showResizeHandles, resizeHandleBorderColor, resizeHandleSize, fill, duration, selectionCount, enableMagicFill, sheetId, activeCell, selection, MagicFillComponent, metadata, readonly, showPasteMenu, onSplitTextToColumns, agentSuggestion, isHovered, MagicFillContent, QuickEdit, PasteMenu, FillOptionsMenu, fillOptions, onChooseFillType, onOpenFillSeriesDialog, onCloseFillOptions, InsertOptionsSmartTag, insertOptions, onChooseInsertOption, SuggestionAction, onRemoveQuickEdit, onAddQuickEdit, }: SelectionNewProps) => React.JSX.Element>;
8
+ export declare const Selection: React.MemoExoticComponent<({ x, y, width, height, fillHandleSize, showFillHandle, offset, stroke, strokeLeftColor, strokeTopColor, strokeRightColor, strokeBottomColor, strokeWidth, strokeTopWidth, strokeRightWidth, strokeBottomWidth, strokeLeftWidth, strokeStyle, fillOpacity, draggable, isDragging, borderCoverWidth, type, range, title, keepTitleWithinBounds, keepTitleWithinVerticalBounds, flipTitleToBottom, table, pivotTable, onMouseDownTitle, onMouseDownResizeHandle, onMouseDownMoveHandle, TitleComponent, onMouseDown, onRequestEditTable, onRequestEditPivotTable, onFlashEnd, zIndex, index, id, showResizeHandles, resizeHandleBorderColor, resizeHandleSize, fill, duration, selectionCount, enableMagicFill, sheetId, activeCell, selection, MagicFillComponent, metadata, readonly, showPasteMenu, onSplitTextToColumns, agentSuggestion, isHovered, MagicFillContent, QuickEdit, PasteMenu, FillOptionsMenu, fillOptions, onChooseFillType, onOpenFillSeriesDialog, onCloseFillOptions, InsertOptionsSmartTag, insertOptions, onChooseInsertOption, tableAutoExpansion, onChooseTableAutoExpansionOption, calculatedColumnFill, onChooseCalculatedColumnOption, SuggestionAction, onRemoveQuickEdit, onAddQuickEdit, }: SelectionNewProps) => React.JSX.Element>;
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/selection/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAepC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,SAAS,2kCA0EjB,iBAAiB,uBAqUrB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/selection/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAiBpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,SAAS,urCA8EjB,iBAAiB,uBA0VrB,CAAC"}
@@ -4,6 +4,8 @@ exports.Selection = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var react_1 = tslib_1.__importStar(require("react"));
6
6
  var insert_options_smart_tag_1 = require("../insert-options-smart-tag");
7
+ var table_auto_expansion_smart_tag_1 = require("../table-auto-expansion-smart-tag");
8
+ var calculated_column_smart_tag_1 = require("../calculated-column-smart-tag");
7
9
  var fill_options_menu_1 = require("./fill-options-menu");
8
10
  var magic_fill_1 = require("./magic-fill");
9
11
  var paste_menu_1 = require("./paste-menu");
@@ -17,7 +19,7 @@ var title_1 = require("./title");
17
19
  * @returns
18
20
  */
19
21
  exports.Selection = (0, react_1.memo)(function (_a) {
20
- var _b = _a.x, x = _b === void 0 ? 0 : _b, _c = _a.y, y = _c === void 0 ? 0 : _c, _d = _a.width, width = _d === void 0 ? 0 : _d, _e = _a.height, height = _e === void 0 ? 0 : _e, _f = _a.fillHandleSize, fillHandleSize = _f === void 0 ? 8 : _f, showFillHandle = _a.showFillHandle, _g = _a.offset, offset = _g === void 0 ? 0 : _g, stroke = _a.stroke, _h = _a.strokeLeftColor, strokeLeftColor = _h === void 0 ? stroke : _h, _j = _a.strokeTopColor, strokeTopColor = _j === void 0 ? stroke : _j, _k = _a.strokeRightColor, strokeRightColor = _k === void 0 ? stroke : _k, _l = _a.strokeBottomColor, strokeBottomColor = _l === void 0 ? stroke : _l, _m = _a.strokeWidth, strokeWidth = _m === void 0 ? 0 : _m, _o = _a.strokeTopWidth, strokeTopWidth = _o === void 0 ? strokeWidth : _o, _p = _a.strokeRightWidth, strokeRightWidth = _p === void 0 ? strokeWidth : _p, _q = _a.strokeBottomWidth, strokeBottomWidth = _q === void 0 ? strokeWidth : _q, _r = _a.strokeLeftWidth, strokeLeftWidth = _r === void 0 ? strokeWidth : _r, _s = _a.strokeStyle, strokeStyle = _s === void 0 ? "solid" : _s, _t = _a.fillOpacity, fillOpacity = _t === void 0 ? 1 : _t, draggable = _a.draggable, isDragging = _a.isDragging, _u = _a.borderCoverWidth, borderCoverWidth = _u === void 0 ? 5 : _u, type = _a.type, range = _a.range, title = _a.title, keepTitleWithinBounds = _a.keepTitleWithinBounds, keepTitleWithinVerticalBounds = _a.keepTitleWithinVerticalBounds, flipTitleToBottom = _a.flipTitleToBottom, table = _a.table, pivotTable = _a.pivotTable, onMouseDownTitle = _a.onMouseDownTitle, onMouseDownResizeHandle = _a.onMouseDownResizeHandle, onMouseDownMoveHandle = _a.onMouseDownMoveHandle, _v = _a.TitleComponent, TitleComponent = _v === void 0 ? title_1.SelectionTitle : _v, onMouseDown = _a.onMouseDown, onRequestEditTable = _a.onRequestEditTable, onRequestEditPivotTable = _a.onRequestEditPivotTable, onFlashEnd = _a.onFlashEnd, zIndex = _a.zIndex, index = _a.index, id = _a.id, showResizeHandles = _a.showResizeHandles, resizeHandleBorderColor = _a.resizeHandleBorderColor, _w = _a.resizeHandleSize, resizeHandleSize = _w === void 0 ? 6 : _w, fill = _a.fill, duration = _a.duration, selectionCount = _a.selectionCount, enableMagicFill = _a.enableMagicFill, sheetId = _a.sheetId, activeCell = _a.activeCell, selection = _a.selection, _x = _a.MagicFillComponent, MagicFillComponent = _x === void 0 ? magic_fill_1.MagicFill : _x, metadata = _a.metadata, readonly = _a.readonly, showPasteMenu = _a.showPasteMenu, onSplitTextToColumns = _a.onSplitTextToColumns, agentSuggestion = _a.agentSuggestion, isHovered = _a.isHovered, MagicFillContent = _a.MagicFillContent, _y = _a.QuickEdit, QuickEdit = _y === void 0 ? quick_edit_1.QuickEdit : _y, _z = _a.PasteMenu, PasteMenu = _z === void 0 ? paste_menu_1.PasteMenu : _z, _0 = _a.FillOptionsMenu, FillOptionsMenu = _0 === void 0 ? fill_options_menu_1.FillOptionsMenu : _0, fillOptions = _a.fillOptions, onChooseFillType = _a.onChooseFillType, onOpenFillSeriesDialog = _a.onOpenFillSeriesDialog, onCloseFillOptions = _a.onCloseFillOptions, _1 = _a.InsertOptionsSmartTag, InsertOptionsSmartTag = _1 === void 0 ? insert_options_smart_tag_1.InsertOptionsSmartTag : _1, insertOptions = _a.insertOptions, onChooseInsertOption = _a.onChooseInsertOption, _2 = _a.SuggestionAction, SuggestionAction = _2 === void 0 ? suggestion_action_1.SuggestionAction : _2, onRemoveQuickEdit = _a.onRemoveQuickEdit, onAddQuickEdit = _a.onAddQuickEdit;
22
+ var _b = _a.x, x = _b === void 0 ? 0 : _b, _c = _a.y, y = _c === void 0 ? 0 : _c, _d = _a.width, width = _d === void 0 ? 0 : _d, _e = _a.height, height = _e === void 0 ? 0 : _e, _f = _a.fillHandleSize, fillHandleSize = _f === void 0 ? 8 : _f, showFillHandle = _a.showFillHandle, _g = _a.offset, offset = _g === void 0 ? 0 : _g, stroke = _a.stroke, _h = _a.strokeLeftColor, strokeLeftColor = _h === void 0 ? stroke : _h, _j = _a.strokeTopColor, strokeTopColor = _j === void 0 ? stroke : _j, _k = _a.strokeRightColor, strokeRightColor = _k === void 0 ? stroke : _k, _l = _a.strokeBottomColor, strokeBottomColor = _l === void 0 ? stroke : _l, _m = _a.strokeWidth, strokeWidth = _m === void 0 ? 0 : _m, _o = _a.strokeTopWidth, strokeTopWidth = _o === void 0 ? strokeWidth : _o, _p = _a.strokeRightWidth, strokeRightWidth = _p === void 0 ? strokeWidth : _p, _q = _a.strokeBottomWidth, strokeBottomWidth = _q === void 0 ? strokeWidth : _q, _r = _a.strokeLeftWidth, strokeLeftWidth = _r === void 0 ? strokeWidth : _r, _s = _a.strokeStyle, strokeStyle = _s === void 0 ? "solid" : _s, _t = _a.fillOpacity, fillOpacity = _t === void 0 ? 1 : _t, draggable = _a.draggable, isDragging = _a.isDragging, _u = _a.borderCoverWidth, borderCoverWidth = _u === void 0 ? 5 : _u, type = _a.type, range = _a.range, title = _a.title, keepTitleWithinBounds = _a.keepTitleWithinBounds, keepTitleWithinVerticalBounds = _a.keepTitleWithinVerticalBounds, flipTitleToBottom = _a.flipTitleToBottom, table = _a.table, pivotTable = _a.pivotTable, onMouseDownTitle = _a.onMouseDownTitle, onMouseDownResizeHandle = _a.onMouseDownResizeHandle, onMouseDownMoveHandle = _a.onMouseDownMoveHandle, _v = _a.TitleComponent, TitleComponent = _v === void 0 ? title_1.SelectionTitle : _v, onMouseDown = _a.onMouseDown, onRequestEditTable = _a.onRequestEditTable, onRequestEditPivotTable = _a.onRequestEditPivotTable, onFlashEnd = _a.onFlashEnd, zIndex = _a.zIndex, index = _a.index, id = _a.id, showResizeHandles = _a.showResizeHandles, resizeHandleBorderColor = _a.resizeHandleBorderColor, _w = _a.resizeHandleSize, resizeHandleSize = _w === void 0 ? 6 : _w, fill = _a.fill, duration = _a.duration, selectionCount = _a.selectionCount, enableMagicFill = _a.enableMagicFill, sheetId = _a.sheetId, activeCell = _a.activeCell, selection = _a.selection, _x = _a.MagicFillComponent, MagicFillComponent = _x === void 0 ? magic_fill_1.MagicFill : _x, metadata = _a.metadata, readonly = _a.readonly, showPasteMenu = _a.showPasteMenu, onSplitTextToColumns = _a.onSplitTextToColumns, agentSuggestion = _a.agentSuggestion, isHovered = _a.isHovered, MagicFillContent = _a.MagicFillContent, _y = _a.QuickEdit, QuickEdit = _y === void 0 ? quick_edit_1.QuickEdit : _y, _z = _a.PasteMenu, PasteMenu = _z === void 0 ? paste_menu_1.PasteMenu : _z, _0 = _a.FillOptionsMenu, FillOptionsMenu = _0 === void 0 ? fill_options_menu_1.FillOptionsMenu : _0, fillOptions = _a.fillOptions, onChooseFillType = _a.onChooseFillType, onOpenFillSeriesDialog = _a.onOpenFillSeriesDialog, onCloseFillOptions = _a.onCloseFillOptions, _1 = _a.InsertOptionsSmartTag, InsertOptionsSmartTag = _1 === void 0 ? insert_options_smart_tag_1.InsertOptionsSmartTag : _1, insertOptions = _a.insertOptions, onChooseInsertOption = _a.onChooseInsertOption, tableAutoExpansion = _a.tableAutoExpansion, onChooseTableAutoExpansionOption = _a.onChooseTableAutoExpansionOption, calculatedColumnFill = _a.calculatedColumnFill, onChooseCalculatedColumnOption = _a.onChooseCalculatedColumnOption, _2 = _a.SuggestionAction, SuggestionAction = _2 === void 0 ? suggestion_action_1.SuggestionAction : _2, onRemoveQuickEdit = _a.onRemoveQuickEdit, onAddQuickEdit = _a.onAddQuickEdit;
21
23
  // Show paste menu
22
24
  var finalShowPasteMenu = !showPasteMenu
23
25
  ? false
@@ -178,6 +180,8 @@ exports.Selection = (0, react_1.memo)(function (_a) {
178
180
  type === "quickedit" ? (react_1.default.createElement(QuickEdit, { x: x, y: y, width: width, height: height, range: range, sheetId: sheetId, onRemoveQuickEdit: onRemoveQuickEdit })) : null,
179
181
  finalShowPasteMenu && (react_1.default.createElement(PasteMenu, { x: x + fillHandleSize / 2, y: y + fillHandleSize / 2, width: width, height: height, onSplitTextToColumns: onSplitTextToColumns })),
180
182
  fillOptions && type === "selection" && onChooseFillType ? (react_1.default.createElement(FillOptionsMenu, { x: x + fillHandleSize / 2, y: y + fillHandleSize / 2, width: width, height: height, mode: fillOptions.mode, fillType: fillOptions.fillType, hasDates: fillOptions.hasDates, onChooseFillType: onChooseFillType, onOpenSeriesDialog: onOpenFillSeriesDialog, onClose: onCloseFillOptions })) : null,
181
- insertOptions && onChooseInsertOption ? (react_1.default.createElement(InsertOptionsSmartTag, { x: x, y: y + fillHandleSize / 2, width: width, height: height, axis: insertOptions.axis, option: insertOptions.option, onChooseOption: onChooseInsertOption })) : null));
183
+ insertOptions && onChooseInsertOption ? (react_1.default.createElement(InsertOptionsSmartTag, { x: x, y: y + fillHandleSize / 2, width: width, height: height, axis: insertOptions.axis, option: insertOptions.option, onChooseOption: onChooseInsertOption })) : null,
184
+ tableAutoExpansion && onChooseTableAutoExpansionOption ? (react_1.default.createElement(table_auto_expansion_smart_tag_1.TableAutoExpansionSmartTag, { x: x, y: y + fillHandleSize / 2, width: width, height: height, canStop: tableAutoExpansion.canStop, onChooseOption: onChooseTableAutoExpansionOption })) : null,
185
+ calculatedColumnFill && onChooseCalculatedColumnOption ? (react_1.default.createElement(calculated_column_smart_tag_1.CalculatedColumnSmartTag, { x: x, y: y + fillHandleSize / 2, width: width, height: height, kind: calculatedColumnFill.kind, canStop: calculatedColumnFill.canStop, onChooseOption: onChooseCalculatedColumnOption })) : null));
182
186
  });
183
187
  exports.Selection.displayName = "Selection";
@@ -5,6 +5,8 @@ import type { Maybe, PivotTable, SheetRange } from "../../types";
5
5
  import type { AutoFillType, TableView } from "../../types";
6
6
  import type { SelectionAttributes } from "../canvas-grid/typings";
7
7
  import type { InsertOptionsSmartTagProps } from "../insert-options-smart-tag";
8
+ import type { TableAutoExpansionSmartTagProps } from "../table-auto-expansion-smart-tag";
9
+ import type { CalculatedColumnSmartTagProps } from "../calculated-column-smart-tag";
8
10
  import type { FillOptionsMenuProps } from "./fill-options-menu";
9
11
  import type { MagicFillContentProps, MagicFillProps } from "./magic-fill";
10
12
  import type { PasteMenuProps } from "./paste-menu";
@@ -49,6 +51,19 @@ export type SelectionNewProps = SelectionProps<SelectionAttributes> & {
49
51
  */
50
52
  insertOptions?: Pick<InsertOptionsSmartTagProps, "axis" | "option">;
51
53
  onChooseInsertOption?: InsertOptionsSmartTagProps["onChooseOption"];
54
+ /**
55
+ * Pending AutoCorrect smart tag for THIS selection (present only on the active cell right after a
56
+ * table auto-expanded): "Undo Table AutoExpansion" / "Stop Automatically Expanding Tables".
57
+ */
58
+ tableAutoExpansion?: Pick<TableAutoExpansionSmartTagProps, "canStop">;
59
+ onChooseTableAutoExpansionOption?: TableAutoExpansionSmartTagProps["onChooseOption"];
60
+ /**
61
+ * Pending AutoCorrect smart tag for THIS selection (the active cell right after a formula typed
62
+ * into a table column): "Undo Calculated Column" / "Overwrite all cells in this column with this
63
+ * formula" / "Stop automatically creating calculated columns".
64
+ */
65
+ calculatedColumnFill?: Pick<CalculatedColumnSmartTagProps, "kind" | "canStop">;
66
+ onChooseCalculatedColumnOption?: CalculatedColumnSmartTagProps["onChooseOption"];
52
67
  SuggestionAction?: React.ComponentType<SuggestionActionProps>;
53
68
  readonly?: boolean;
54
69
  showPasteMenu?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../components/selection/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../components/selection/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/sheet-tabs/index.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAyB,MAAM,OAAO,CAAC;AAI9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,KAAK,EAAE,QAAQ,CAAC,EAAE,KAClB,MACjD,CAAC;AAEF;;;;GAIG;AACH,iBAAS,kBAAkB,CAAC,CAAC,SAAS,KAAK,EAAE,EAC3C,MAAM,EACN,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAiC,EACjC,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,KAAK,EACL,QAAQ,EACR,sBAA8B,GAC/B,EAAE,cAAc,CAAC,CAAC,CAAC,qBAoUnB;AAED,eAAO,MAAM,SAAS,EAA+B,OAAO,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/sheet-tabs/index.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAyB,MAAM,OAAO,CAAC;AAI9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,KAAK,EAAE,QAAQ,CAAC,EAAE,KAClB,MACjD,CAAC;AAEF;;;;GAIG;AACH,iBAAS,kBAAkB,CAAC,CAAC,SAAS,KAAK,EAAE,EAC3C,MAAM,EACN,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAiC,EACjC,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,KAAK,EACL,QAAQ,EACR,sBAA8B,GAC/B,EAAE,cAAc,CAAC,CAAC,CAAC,qBAqUnB;AAED,eAAO,MAAM,SAAS,EAA+B,OAAO,kBAAkB,CAAC"}
@@ -215,7 +215,7 @@ function SheetTabsComponent(_a) {
215
215
  react_2.default.createElement(style_1.StyledSheetTabWrapper, { ref: scrollContainerRef, className: containerClassName },
216
216
  react_2.default.createElement(ui_1.Separator, { ref: separatorRef, decorative: true, orientation: "vertical" }),
217
217
  visibleSheets.map(function (_a, index) {
218
- var sheetId = _a.sheetId, title = _a.title, tabColor = _a.tabColor;
218
+ var sheetId = _a.sheetId, title = _a.title, tabColor = _a.tabColor, type = _a.type;
219
219
  var isSelected = sheetId === activeSheetId;
220
220
  var canMoveLeft = canMoveToLeft(sheetId, index);
221
221
  var canMoveRight = canMoveToRight(sheetId, index);
@@ -225,7 +225,7 @@ function SheetTabsComponent(_a) {
225
225
  ? (0, validation_1.isProtectedSheet)(sheetId, protectedRanges)
226
226
  : false;
227
227
  return (react_2.default.createElement(react_2.Fragment, { key: sheetId },
228
- react_2.default.createElement(sheet_tab_1.SheetTab, { canDelete: canDelete, canHide: canHide, isSelected: isSelected, sheetId: sheetId, title: title, tabColor: tabColor, canMoveLeft: canMoveLeft, canMoveRight: canMoveRight, isProtected: isProtected, onRenameSheet: onRenameSheet, canRename: canRename, ContextMenu: ContextMenu, ColorSelector: ColorSelector, onMoveSheet: handleMoveSheet, onHideSheet: onHideSheet, onShowSheet: onShowSheet, hiddenSheets: hiddenSheets, onAddUserDefinedColor: onAddUserDefinedColor, onChangeSheetTabColor: onChangeSheetTabColor, onCopySheet: onCopySheet, onDeleteSheet: onDeleteSheet, onDuplicateSheet: onDuplicateSheet, onProtectSheet: onProtectSheet, onUnProtectSheet: onUnProtectSheet, userDefinedColors: userDefinedColors, tabClassName: tabClassName, onChangeActiveSheet: onChangeActiveSheet, theme: theme, readonly: readonly })));
228
+ react_2.default.createElement(sheet_tab_1.SheetTab, { canDelete: canDelete, canHide: canHide, isSelected: isSelected, sheetId: sheetId, title: title, tabColor: tabColor, type: type, canMoveLeft: canMoveLeft, canMoveRight: canMoveRight, isProtected: isProtected, onRenameSheet: onRenameSheet, canRename: canRename, ContextMenu: ContextMenu, ColorSelector: ColorSelector, onMoveSheet: handleMoveSheet, onHideSheet: onHideSheet, onShowSheet: onShowSheet, hiddenSheets: hiddenSheets, onAddUserDefinedColor: onAddUserDefinedColor, onChangeSheetTabColor: onChangeSheetTabColor, onCopySheet: onCopySheet, onDeleteSheet: onDeleteSheet, onDuplicateSheet: onDuplicateSheet, onProtectSheet: onProtectSheet, onUnProtectSheet: onUnProtectSheet, userDefinedColors: userDefinedColors, tabClassName: tabClassName, onChangeActiveSheet: onChangeActiveSheet, theme: theme, readonly: readonly })));
229
229
  }))))));
230
230
  }
231
231
  exports.SheetTabs = (0, react_2.memo)(SheetTabsComponent);
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import type { Sheet } from "../../types";
3
3
  import type { SheetTabsProps } from "./types";
4
- type SheetTabProps<S extends Sheet> = Omit<SheetTabsProps<S>, "sheets" | "activeSheetId" | "onMoveSheet"> & Pick<Sheet, "title" | "sheetId" | "tabColor"> & {
4
+ type SheetTabProps<S extends Sheet> = Omit<SheetTabsProps<S>, "sheets" | "activeSheetId" | "onMoveSheet"> & Pick<Sheet, "title" | "sheetId" | "tabColor" | "type"> & {
5
5
  isSelected?: boolean;
6
6
  canDelete?: boolean;
7
7
  canHide?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"sheet-tab.d.ts","sourceRoot":"","sources":["../../../../components/sheet-tabs/sheet-tab.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAMlE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAQzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,KAAK,aAAa,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CACxC,cAAc,CAAC,CAAC,CAAC,EACjB,QAAQ,GAAG,eAAe,GAAG,aAAa,CAC3C,GACC,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC,GAAG;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC;IACrE,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC;IACrE,YAAY,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACrD,CAAC;AA0OJ,eAAO,MAAM,QAAQ,EAA0C,CAC7D,CAAC,SAAS,KAAK,EAEf,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;CAAE,KAC1D,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"sheet-tab.d.ts","sourceRoot":"","sources":["../../../../components/sheet-tabs/sheet-tab.tsx"],"names":[],"mappings":"AAcA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAMlE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAQzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,KAAK,aAAa,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CACxC,cAAc,CAAC,CAAC,CAAC,EACjB,QAAQ,GAAG,eAAe,GAAG,aAAa,CAC3C,GACC,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC,GAAG;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC;IACrE,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC;IACrE,YAAY,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACrD,CAAC;AAoPJ,eAAO,MAAM,QAAQ,EAA0C,CAC7D,CAAC,SAAS,KAAK,EAEf,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;CAAE,KAC1D,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC"}
@@ -15,7 +15,7 @@ var themes_1 = require("../../themes");
15
15
  var context_menu_1 = require("./context-menu");
16
16
  var style_1 = require("./style");
17
17
  function SheetTabComponent(_a, forwardedRef) {
18
- var title = _a.title, sheetId = _a.sheetId, isSelected = _a.isSelected, onChangeActiveSheet = _a.onChangeActiveSheet, onRenameSheet = _a.onRenameSheet, tabClassName = _a.tabClassName, tabColor = _a.tabColor, theme = _a.theme, isProtected = _a.isProtected, onMoveSheet = _a.onMoveSheet, onHideSheet = _a.onHideSheet, onShowSheet = _a.onShowSheet, onUnProtectSheet = _a.onUnProtectSheet, onProtectSheet = _a.onProtectSheet, onDeleteSheet = _a.onDeleteSheet, onDuplicateSheet = _a.onDuplicateSheet, onChangeSheetTabColor = _a.onChangeSheetTabColor, canDelete = _a.canDelete, canRename = _a.canRename, canHide = _a.canHide, canMoveRight = _a.canMoveRight, canMoveLeft = _a.canMoveLeft, userDefinedColors = _a.userDefinedColors, onAddUserDefinedColor = _a.onAddUserDefinedColor, hiddenSheets = _a.hiddenSheets, _b = _a.ContextMenu, ContextMenu = _b === void 0 ? context_menu_1.SheetTabContextMenu : _b, ColorSelector = _a.ColorSelector, readonly = _a.readonly;
18
+ var title = _a.title, sheetId = _a.sheetId, isSelected = _a.isSelected, onChangeActiveSheet = _a.onChangeActiveSheet, onRenameSheet = _a.onRenameSheet, tabClassName = _a.tabClassName, tabColor = _a.tabColor, type = _a.type, theme = _a.theme, isProtected = _a.isProtected, onMoveSheet = _a.onMoveSheet, onHideSheet = _a.onHideSheet, onShowSheet = _a.onShowSheet, onUnProtectSheet = _a.onUnProtectSheet, onProtectSheet = _a.onProtectSheet, onDeleteSheet = _a.onDeleteSheet, onDuplicateSheet = _a.onDuplicateSheet, onChangeSheetTabColor = _a.onChangeSheetTabColor, canDelete = _a.canDelete, canRename = _a.canRename, canHide = _a.canHide, canMoveRight = _a.canMoveRight, canMoveLeft = _a.canMoveLeft, userDefinedColors = _a.userDefinedColors, onAddUserDefinedColor = _a.onAddUserDefinedColor, hiddenSheets = _a.hiddenSheets, _b = _a.ContextMenu, ContextMenu = _b === void 0 ? context_menu_1.SheetTabContextMenu : _b, ColorSelector = _a.ColorSelector, readonly = _a.readonly;
19
19
  var _c = tslib_1.__read((0, react_1.useState)(false), 2), isEditing = _c[0], setIsEditing = _c[1];
20
20
  var _d = tslib_1.__read((0, react_1.useState)(false), 2), isOpen = _d[0], setIsOpen = _d[1];
21
21
  var inputRef = (0, react_1.useRef)(null);
@@ -122,6 +122,8 @@ function SheetTabComponent(_a, forwardedRef) {
122
122
  tabColor ? (react_1.default.createElement(style_1.StyledTabColor, { style: {
123
123
  backgroundColor: (0, themes_1.getStringifiedColor)(tabColor, theme),
124
124
  } })) : null,
125
+ type === "chartsheet" ? (react_1.default.createElement(style_1.StyledIconWrapper, { className: "text-rnc-foreground/70", "data-chart-sheet-icon": "true", "aria-label": "Chart sheet" },
126
+ react_1.default.createElement(icons_1.BarChartIcon, null))) : null,
125
127
  isProtected ? (react_1.default.createElement(style_1.StyledIconWrapper, null,
126
128
  react_1.default.createElement(icons_1.LockClosedIcon, null))) : null,
127
129
  react_1.default.createElement(style_1.StyledSheetTabTitle, { role: "button", ref: inputRef, contentEditable: isEditing, onKeyDown: handleKeyDown, onDoubleClick: function () { return startEditing(); }, onBlur: handleBlur, suppressContentEditableWarning: true }, title),