@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
@@ -0,0 +1,273 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SparklineActions = exports.SPARKLINE_TYPES = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var icons_1 = require("@rowsncolumns/icons");
6
+ var ui_1 = require("@rowsncolumns/ui");
7
+ var utils_1 = require("@rowsncolumns/utils");
8
+ var react_1 = tslib_1.__importStar(require("react"));
9
+ var selections_1 = require("../../api/selections");
10
+ var atoms_1 = require("../../atoms");
11
+ var sparkline_dialog_atom_1 = require("../../atoms/sparkline-dialog.atom");
12
+ var themes_1 = require("../../themes");
13
+ exports.SPARKLINE_TYPES = [
14
+ { value: "line", label: "Line" },
15
+ { value: "column", label: "Column" },
16
+ { value: "winloss", label: "Win/Loss" },
17
+ ];
18
+ /** Excel's Show group: each point toggle and the colour option it highlights with. */
19
+ var POINT_TOGGLES = [
20
+ { key: "high", colorKey: "colorHigh", label: "High Point" },
21
+ { key: "low", colorKey: "colorLow", label: "Low Point" },
22
+ { key: "negative", colorKey: "colorNegative", label: "Negative Points" },
23
+ { key: "first", colorKey: "colorFirst", label: "First Point" },
24
+ { key: "last", colorKey: "colorLast", label: "Last Point" },
25
+ { key: "markers", colorKey: "colorMarkers", label: "Markers" },
26
+ ];
27
+ var EMPTY_CELLS = [
28
+ { value: undefined, label: "Gaps" },
29
+ { value: "zero", label: "Zero" },
30
+ { value: "span", label: "Connect data points with line" },
31
+ ];
32
+ var AXIS_TYPES = [
33
+ { value: "individual", label: "Automatic for Each Sparkline" },
34
+ { value: "group", label: "Same for All Sparklines" },
35
+ ];
36
+ var SparklineIcon = function () { return (react_1.default.createElement("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true" },
37
+ react_1.default.createElement("polyline", { points: "1,12 4,7 7,9 10,3 13,8 15,5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }))); };
38
+ var Check = function () { return (react_1.default.createElement(ui_1.DropdownMenuItemIndicator, null,
39
+ react_1.default.createElement(icons_1.CheckIcon, null))); };
40
+ /**
41
+ * Excel's Sparklines ribbon: Insert → Sparklines (Line / Column / Win-Loss → the Create
42
+ * Sparklines dialog) and, when the active cell is in a sparkline group, the Sparkline Design tab —
43
+ * Edit Data & Location, Type, Show (points + markers), Sparkline / marker colours, Axis (show
44
+ * axis, right-to-left, hidden data, empty cells, vertical min/max) and Group / Clear.
45
+ */
46
+ var SparklineActions = function (_a) {
47
+ var sheetId = _a.sheetId, activeCell = _a.activeCell, selections = _a.selections, getSparklineGroup = _a.getSparklineGroup, onUpdateSparklineGroup = _a.onUpdateSparklineGroup, onDeleteSparklineGroup = _a.onDeleteSparklineGroup, onClearSparklines = _a.onClearSparklines, onGroupSparklines = _a.onGroupSparklines, readonly = _a.readonly;
48
+ var focusSheet = (0, atoms_1.useFocusSheet)();
49
+ var openDialog = (0, sparkline_dialog_atom_1.useOpenSparklineDialog)();
50
+ var shouldFocusSheetRef = (0, react_1.useRef)(true);
51
+ var group = (0, react_1.useMemo)(function () { return getSparklineGroup === null || getSparklineGroup === void 0 ? void 0 : getSparklineGroup(sheetId, activeCell); }, [getSparklineGroup, sheetId, activeCell]);
52
+ var selectedCells = (0, react_1.useMemo)(function () {
53
+ var e_1, _a, e_2, _b;
54
+ var cells = [];
55
+ try {
56
+ for (var _c = tslib_1.__values((0, selections_1.getUserSelections)(activeCell, selections)), _d = _c.next(); !_d.done; _d = _c.next()) {
57
+ var selection = _d.value;
58
+ try {
59
+ for (var _e = (e_2 = void 0, tslib_1.__values((0, utils_1.iterateCellsInRange)(selection.range))), _f = _e.next(); !_f.done; _f = _e.next()) {
60
+ var _g = tslib_1.__read(_f.value, 2), rowIndex = _g[0], columnIndex = _g[1];
61
+ cells.push({ rowIndex: rowIndex, columnIndex: columnIndex });
62
+ }
63
+ }
64
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
65
+ finally {
66
+ try {
67
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
68
+ }
69
+ finally { if (e_2) throw e_2.error; }
70
+ }
71
+ }
72
+ }
73
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
74
+ finally {
75
+ try {
76
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
77
+ }
78
+ finally { if (e_1) throw e_1.error; }
79
+ }
80
+ return cells;
81
+ }, [activeCell, selections]);
82
+ var update = (0, react_1.useCallback)(function (patch) {
83
+ if (group)
84
+ onUpdateSparklineGroup === null || onUpdateSparklineGroup === void 0 ? void 0 : onUpdateSparklineGroup(group, patch);
85
+ }, [group, onUpdateSparklineGroup]);
86
+ var setOption = (0, react_1.useCallback)(function (key, value) {
87
+ if (!group)
88
+ return;
89
+ var options = tslib_1.__assign({}, group.options);
90
+ if (value === undefined || value === false) {
91
+ delete options[key];
92
+ }
93
+ else {
94
+ options[key] = value;
95
+ }
96
+ update({ options: options });
97
+ }, [group, update]);
98
+ var colorSubmenu = function (label, key) { return (react_1.default.createElement(ui_1.DropdownMenuSub, null,
99
+ react_1.default.createElement(ui_1.DropdownMenuSubTrigger, { disabled: readonly },
100
+ label,
101
+ react_1.default.createElement(ui_1.DropdownRightSlot, null,
102
+ react_1.default.createElement(icons_1.ChevronRightIcon, null))),
103
+ react_1.default.createElement(ui_1.DropdownMenuSubContent, { sideOffset: 2, alignOffset: -5 },
104
+ react_1.default.createElement("div", { className: "p-2 flex flex-col gap-2" },
105
+ react_1.default.createElement(ui_1.ColorPicker, { colors: themes_1.STANDARD_COLORS, value: group === null || group === void 0 ? void 0 : group.options[key], onChange: function (color) { return setOption(key, color); } }),
106
+ react_1.default.createElement(ui_1.DropdownMenuItem, { onSelect: function () { return setOption(key, undefined); } }, "Automatic"))))); };
107
+ var axisBoundSubmenu = function (label, typeKey, valueKey) {
108
+ var _a, _b;
109
+ var current = (_a = group === null || group === void 0 ? void 0 : group.options[typeKey]) !== null && _a !== void 0 ? _a : ((group === null || group === void 0 ? void 0 : group.options[valueKey]) != null ? "custom" : "individual");
110
+ return (react_1.default.createElement(ui_1.DropdownMenuSub, null,
111
+ react_1.default.createElement(ui_1.DropdownMenuSubTrigger, { disabled: readonly },
112
+ label,
113
+ react_1.default.createElement(ui_1.DropdownRightSlot, null,
114
+ react_1.default.createElement(icons_1.ChevronRightIcon, null))),
115
+ react_1.default.createElement(ui_1.DropdownMenuSubContent, { sideOffset: 2, alignOffset: -5 },
116
+ AXIS_TYPES.map(function (entry) { return (react_1.default.createElement(ui_1.DropdownMenuCheckboxItem, { key: entry.value, checked: current === entry.value, onSelect: function () {
117
+ if (!group)
118
+ return;
119
+ var options = tslib_1.__assign({}, group.options);
120
+ delete options[valueKey];
121
+ if (entry.value === "individual")
122
+ delete options[typeKey];
123
+ else
124
+ options[typeKey] = entry.value;
125
+ update({ options: options });
126
+ } },
127
+ react_1.default.createElement(Check, null),
128
+ entry.label)); }),
129
+ react_1.default.createElement(ui_1.DropdownMenuSeparator, null),
130
+ react_1.default.createElement(ui_1.DropdownMenuItem, { onSelect: function (event) { return event.preventDefault(); }, className: "flex items-center gap-2" },
131
+ current === "custom" ? react_1.default.createElement(Check, null) : null,
132
+ react_1.default.createElement("span", null, "Custom Value"),
133
+ react_1.default.createElement("input", { type: "number", "aria-label": "".concat(label, " custom value"), className: "w-[70px] text-xs border border-rnc-border rounded px-1 bg-transparent", defaultValue: (_b = group === null || group === void 0 ? void 0 : group.options[valueKey]) !== null && _b !== void 0 ? _b : "", onKeyDown: function (event) {
134
+ var _a;
135
+ event.stopPropagation();
136
+ if (event.key !== "Enter" || !group)
137
+ return;
138
+ var value = Number(event.target.value);
139
+ if (!Number.isFinite(value))
140
+ return;
141
+ update({
142
+ options: tslib_1.__assign(tslib_1.__assign({}, group.options), (_a = {}, _a[typeKey] = "custom", _a[valueKey] = value, _a)),
143
+ });
144
+ } })))));
145
+ };
146
+ var hasGroup = !!group;
147
+ var sparklineCellsSelected = hasGroup &&
148
+ selectedCells.filter(function (cell) { return getSparklineGroup === null || getSparklineGroup === void 0 ? void 0 : getSparklineGroup(sheetId, cell); }).length > 1;
149
+ return (react_1.default.createElement(ui_1.DropdownMenu, { modal: false },
150
+ react_1.default.createElement(ui_1.Stack, { className: "shrink-0" },
151
+ react_1.default.createElement(ui_1.DropdownMenuTrigger, { asChild: true },
152
+ react_1.default.createElement(ui_1.IconButton, { size: "lg", tooltip: hasGroup ? "Sparkline Design" : "Insert sparklines", className: "gap-1", disabled: readonly },
153
+ react_1.default.createElement(SparklineIcon, null),
154
+ react_1.default.createElement("span", { className: "text-xs" }, "Sparklines"),
155
+ react_1.default.createElement(icons_1.MdOutlineArrowDropDown, null))),
156
+ react_1.default.createElement(ui_1.DropdownMenuPortal, null,
157
+ react_1.default.createElement(ui_1.DropdownMenuContent, { align: "start", onCloseAutoFocus: function (event) {
158
+ event.preventDefault();
159
+ if (shouldFocusSheetRef.current)
160
+ focusSheet === null || focusSheet === void 0 ? void 0 : focusSheet();
161
+ shouldFocusSheetRef.current = true;
162
+ } },
163
+ react_1.default.createElement(ui_1.DropdownMenuSub, null,
164
+ react_1.default.createElement(ui_1.DropdownMenuSubTrigger, { disabled: readonly },
165
+ "Insert",
166
+ react_1.default.createElement(ui_1.DropdownRightSlot, null,
167
+ react_1.default.createElement(icons_1.ChevronRightIcon, null))),
168
+ react_1.default.createElement(ui_1.DropdownMenuSubContent, { sideOffset: 2, alignOffset: -5 }, exports.SPARKLINE_TYPES.map(function (entry) { return (react_1.default.createElement(ui_1.DropdownMenuItem, { key: entry.value, onSelect: function () {
169
+ shouldFocusSheetRef.current = false;
170
+ openDialog({
171
+ mode: "create",
172
+ sheetId: sheetId,
173
+ type: entry.value,
174
+ activeCell: activeCell,
175
+ selections: selections,
176
+ });
177
+ } }, entry.label)); }))),
178
+ react_1.default.createElement(ui_1.DropdownMenuSeparator, null),
179
+ react_1.default.createElement(ui_1.DropdownMenuItem, { disabled: !hasGroup || readonly, onSelect: function () {
180
+ if (!group)
181
+ return;
182
+ shouldFocusSheetRef.current = false;
183
+ openDialog({ mode: "edit", group: group });
184
+ } }, "Edit Group Location & Data\u2026"),
185
+ react_1.default.createElement(ui_1.DropdownMenuSub, null,
186
+ react_1.default.createElement(ui_1.DropdownMenuSubTrigger, { disabled: !hasGroup || readonly },
187
+ "Type",
188
+ react_1.default.createElement(ui_1.DropdownRightSlot, null,
189
+ react_1.default.createElement(icons_1.ChevronRightIcon, null))),
190
+ react_1.default.createElement(ui_1.DropdownMenuSubContent, { sideOffset: 2, alignOffset: -5 }, exports.SPARKLINE_TYPES.map(function (entry) { return (react_1.default.createElement(ui_1.DropdownMenuCheckboxItem, { key: entry.value, checked: (group === null || group === void 0 ? void 0 : group.type) === entry.value, onSelect: function () { return update({ type: entry.value }); } },
191
+ react_1.default.createElement(Check, null),
192
+ entry.label)); }))),
193
+ react_1.default.createElement(ui_1.DropdownMenuSub, null,
194
+ react_1.default.createElement(ui_1.DropdownMenuSubTrigger, { disabled: !hasGroup || readonly },
195
+ "Show",
196
+ react_1.default.createElement(ui_1.DropdownRightSlot, null,
197
+ react_1.default.createElement(icons_1.ChevronRightIcon, null))),
198
+ react_1.default.createElement(ui_1.DropdownMenuSubContent, { sideOffset: 2, alignOffset: -5 }, POINT_TOGGLES.map(function (entry) { return (react_1.default.createElement(ui_1.DropdownMenuCheckboxItem, { key: entry.key, checked: !!(group === null || group === void 0 ? void 0 : group.options[entry.key]), onSelect: function () { return setOption(entry.key, !(group === null || group === void 0 ? void 0 : group.options[entry.key])); } },
199
+ react_1.default.createElement(Check, null),
200
+ entry.label)); }))),
201
+ react_1.default.createElement(ui_1.DropdownMenuSub, null,
202
+ react_1.default.createElement(ui_1.DropdownMenuSubTrigger, { disabled: !hasGroup || readonly },
203
+ "Style",
204
+ react_1.default.createElement(ui_1.DropdownRightSlot, null,
205
+ react_1.default.createElement(icons_1.ChevronRightIcon, null))),
206
+ react_1.default.createElement(ui_1.DropdownMenuSubContent, { sideOffset: 2, alignOffset: -5 },
207
+ colorSubmenu("Sparkline Color", "color"),
208
+ react_1.default.createElement(ui_1.DropdownMenuSub, null,
209
+ react_1.default.createElement(ui_1.DropdownMenuSubTrigger, { disabled: readonly },
210
+ "Marker Color",
211
+ react_1.default.createElement(ui_1.DropdownRightSlot, null,
212
+ react_1.default.createElement(icons_1.ChevronRightIcon, null))),
213
+ react_1.default.createElement(ui_1.DropdownMenuSubContent, { sideOffset: 2, alignOffset: -5 }, POINT_TOGGLES.map(function (entry) {
214
+ return colorSubmenu(entry.label, entry.colorKey);
215
+ }))),
216
+ react_1.default.createElement(ui_1.DropdownMenuSub, null,
217
+ react_1.default.createElement(ui_1.DropdownMenuSubTrigger, { disabled: readonly },
218
+ "Weight",
219
+ react_1.default.createElement(ui_1.DropdownRightSlot, null,
220
+ react_1.default.createElement(icons_1.ChevronRightIcon, null))),
221
+ react_1.default.createElement(ui_1.DropdownMenuSubContent, { sideOffset: 2, alignOffset: -5 }, [0.25, 0.5, 0.75, 1, 1.5, 2.25, 3, 4.5, 6].map(function (weight) {
222
+ var _a;
223
+ return (react_1.default.createElement(ui_1.DropdownMenuCheckboxItem, { key: weight, checked: ((_a = group === null || group === void 0 ? void 0 : group.options.lineweight) !== null && _a !== void 0 ? _a : 1) === weight, onSelect: function () {
224
+ return setOption("lineweight", weight === 1 ? undefined : weight);
225
+ } },
226
+ react_1.default.createElement(Check, null),
227
+ weight,
228
+ " pt"));
229
+ }))))),
230
+ react_1.default.createElement(ui_1.DropdownMenuSub, null,
231
+ react_1.default.createElement(ui_1.DropdownMenuSubTrigger, { disabled: !hasGroup || readonly },
232
+ "Axis",
233
+ react_1.default.createElement(ui_1.DropdownRightSlot, null,
234
+ react_1.default.createElement(icons_1.ChevronRightIcon, null))),
235
+ react_1.default.createElement(ui_1.DropdownMenuSubContent, { sideOffset: 2, alignOffset: -5 },
236
+ react_1.default.createElement(ui_1.DropdownMenuCheckboxItem, { checked: !!(group === null || group === void 0 ? void 0 : group.options.axis), onSelect: function () { return setOption("axis", !(group === null || group === void 0 ? void 0 : group.options.axis)); } },
237
+ react_1.default.createElement(Check, null),
238
+ "Show Axis"),
239
+ react_1.default.createElement(ui_1.DropdownMenuCheckboxItem, { checked: !!(group === null || group === void 0 ? void 0 : group.options.rtl), onSelect: function () { return setOption("rtl", !(group === null || group === void 0 ? void 0 : group.options.rtl)); } },
240
+ react_1.default.createElement(Check, null),
241
+ "Plot Data Right-to-Left"),
242
+ react_1.default.createElement(ui_1.DropdownMenuCheckboxItem, { checked: !!(group === null || group === void 0 ? void 0 : group.options.displayhidden), onSelect: function () { return setOption("displayhidden", !(group === null || group === void 0 ? void 0 : group.options.displayhidden)); } },
243
+ react_1.default.createElement(Check, null),
244
+ "Show Data in Hidden Rows and Columns"),
245
+ react_1.default.createElement(ui_1.DropdownMenuSeparator, null),
246
+ react_1.default.createElement(ui_1.DropdownMenuSub, null,
247
+ react_1.default.createElement(ui_1.DropdownMenuSubTrigger, { disabled: readonly },
248
+ "Show Empty Cells As",
249
+ react_1.default.createElement(ui_1.DropdownRightSlot, null,
250
+ react_1.default.createElement(icons_1.ChevronRightIcon, null))),
251
+ react_1.default.createElement(ui_1.DropdownMenuSubContent, { sideOffset: 2, alignOffset: -5 }, EMPTY_CELLS.map(function (entry) { return (react_1.default.createElement(ui_1.DropdownMenuCheckboxItem, { key: entry.label, checked: entry.value === undefined
252
+ ? (group === null || group === void 0 ? void 0 : group.options.emptycells) === undefined ||
253
+ (group === null || group === void 0 ? void 0 : group.options.emptycells) === "gap"
254
+ : (group === null || group === void 0 ? void 0 : group.options.emptycells) === entry.value, onSelect: function () { return setOption("emptycells", entry.value); } },
255
+ react_1.default.createElement(Check, null),
256
+ entry.label)); }))),
257
+ axisBoundSubmenu("Vertical Axis Minimum", "minaxistype", "min"),
258
+ axisBoundSubmenu("Vertical Axis Maximum", "maxaxistype", "max"))),
259
+ react_1.default.createElement(ui_1.DropdownMenuSeparator, null),
260
+ react_1.default.createElement(ui_1.DropdownMenuItem, { disabled: !sparklineCellsSelected || readonly, onSelect: function () { return onGroupSparklines === null || onGroupSparklines === void 0 ? void 0 : onGroupSparklines(sheetId, activeCell, selectedCells); } }, "Group"),
261
+ react_1.default.createElement(ui_1.DropdownMenuSub, null,
262
+ react_1.default.createElement(ui_1.DropdownMenuSubTrigger, { disabled: !hasGroup || readonly },
263
+ "Clear",
264
+ react_1.default.createElement(ui_1.DropdownRightSlot, null,
265
+ react_1.default.createElement(icons_1.ChevronRightIcon, null))),
266
+ react_1.default.createElement(ui_1.DropdownMenuSubContent, { sideOffset: 2, alignOffset: -5 },
267
+ react_1.default.createElement(ui_1.DropdownMenuItem, { onSelect: function () { return onClearSparklines === null || onClearSparklines === void 0 ? void 0 : onClearSparklines(sheetId, selectedCells); } }, "Clear Selected Sparklines"),
268
+ react_1.default.createElement(ui_1.DropdownMenuItem, { onSelect: function () {
269
+ if (group)
270
+ onDeleteSparklineGroup === null || onDeleteSparklineGroup === void 0 ? void 0 : onDeleteSparklineGroup(group);
271
+ } }, "Clear Selected Sparkline Groups"))))))));
272
+ };
273
+ exports.SparklineActions = SparklineActions;
@@ -9,7 +9,15 @@ type TableActionsProps = {
9
9
  activeCell: CellInterface;
10
10
  onRequestEditTable?(table: TableView): void;
11
11
  onCreateTable?(sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[], tableProperties?: Partial<TableView>): void;
12
+ /** Opens the Create Table dialog; when absent, "Insert table" calls `onCreateTable` directly. */
13
+ onRequestCreateTable?(sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]): void;
14
+ /** "Convert to range" — same path as the context menu's item. */
15
+ onRemoveTable?(table: TableView): void;
16
+ /** "Resize table" — opens Excel's Resize Table dialog for the active table. */
17
+ onRequestResizeTable?(table: TableView): void;
18
+ /** "Insert slicer" — opens Excel's Insert Slicers dialog for the active table. */
19
+ onRequestInsertSlicer?(table: TableView): void;
12
20
  };
13
- export declare const TableActions: ({ tables, sheetId, activeCell, selections, onRequestEditTable, onCreateTable, }: TableActionsProps) => React.JSX.Element;
21
+ export declare const TableActions: ({ tables, sheetId, activeCell, selections, onRequestEditTable, onCreateTable, onRequestCreateTable, onRemoveTable, onRequestResizeTable, onRequestInsertSlicer, }: TableActionsProps) => React.JSX.Element;
14
22
  export {};
15
23
  //# sourceMappingURL=table-actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-actions.d.ts","sourceRoot":"","sources":["../../../../components/toolbar/table-actions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAYvE,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,KAAK,iBAAiB,GAAG;IACvB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACjD,UAAU,EAAE,aAAa,CAAC;IAC1B,kBAAkB,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5C,aAAa,CAAC,CACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,eAAe,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GACnC,IAAI,CAAC;CACT,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,iFAO1B,iBAAiB,sBA6DnB,CAAC"}
1
+ {"version":3,"file":"table-actions.d.ts","sourceRoot":"","sources":["../../../../components/toolbar/table-actions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAYvE,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,KAAK,iBAAiB,GAAG;IACvB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACjD,UAAU,EAAE,aAAa,CAAC;IAC1B,kBAAkB,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5C,aAAa,CAAC,CACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,eAAe,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GACnC,IAAI,CAAC;IACR,iGAAiG;IACjG,oBAAoB,CAAC,CACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,GAC/C,IAAI,CAAC;IACR,iEAAiE;IACjE,aAAa,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACvC,+EAA+E;IAC/E,oBAAoB,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAC9C,kFAAkF;IAClF,qBAAqB,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CAChD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,mKAW1B,iBAAiB,sBAmFnB,CAAC"}
@@ -8,7 +8,7 @@ var ui_1 = require("@rowsncolumns/ui");
8
8
  var react_1 = tslib_1.__importStar(require("react"));
9
9
  var atoms_1 = require("../../atoms");
10
10
  var TableActions = function (_a) {
11
- var tables = _a.tables, sheetId = _a.sheetId, activeCell = _a.activeCell, selections = _a.selections, onRequestEditTable = _a.onRequestEditTable, onCreateTable = _a.onCreateTable;
11
+ var tables = _a.tables, sheetId = _a.sheetId, activeCell = _a.activeCell, selections = _a.selections, onRequestEditTable = _a.onRequestEditTable, onCreateTable = _a.onCreateTable, onRequestCreateTable = _a.onRequestCreateTable, onRemoveTable = _a.onRemoveTable, onRequestResizeTable = _a.onRequestResizeTable, onRequestInsertSlicer = _a.onRequestInsertSlicer;
12
12
  var focusSheet = (0, atoms_1.useFocusSheet)();
13
13
  var table = (0, react_1.useMemo)(function () {
14
14
  return tables === null || tables === void 0 ? void 0 : tables.find(function (table) {
@@ -17,13 +17,13 @@ var TableActions = function (_a) {
17
17
  });
18
18
  }, [tables, sheetId, activeCell]);
19
19
  var disableMenu = !table;
20
- var onConvertToRange = function () {
21
- // Calling this will remove the table if present
22
- onCreateTable === null || onCreateTable === void 0 ? void 0 : onCreateTable(sheetId, activeCell, selections);
23
- };
24
20
  return (react_1.default.createElement(ui_1.DropdownMenu, { modal: false },
25
21
  react_1.default.createElement(ui_1.Stack, { className: "shrink-0" },
26
- react_1.default.createElement(ui_1.IconButton, { size: "lg", tooltip: "Convert selection to a table", className: "gap-1", onClick: function () { return onCreateTable === null || onCreateTable === void 0 ? void 0 : onCreateTable(sheetId, activeCell, selections); } },
22
+ react_1.default.createElement(ui_1.IconButton, { size: "lg", tooltip: "Convert selection to a table", className: "gap-1", onClick: function () {
23
+ return onRequestCreateTable
24
+ ? onRequestCreateTable(sheetId, activeCell, selections)
25
+ : onCreateTable === null || onCreateTable === void 0 ? void 0 : onCreateTable(sheetId, activeCell, selections);
26
+ } },
27
27
  react_1.default.createElement(icons_1.TableIcon, null),
28
28
  react_1.default.createElement("span", { className: "text-xs" }, "Insert table")),
29
29
  react_1.default.createElement(ui_1.DropdownMenuTrigger, { disabled: disableMenu, asChild: true },
@@ -37,9 +37,19 @@ var TableActions = function (_a) {
37
37
  focusSheet === null || focusSheet === void 0 ? void 0 : focusSheet();
38
38
  }
39
39
  } }, "Edit table"),
40
+ onRequestResizeTable ? (react_1.default.createElement(ui_1.DropdownMenuItem, { onClick: function () {
41
+ if (table) {
42
+ onRequestResizeTable(table);
43
+ }
44
+ } }, "Resize table")) : null,
45
+ onRequestInsertSlicer ? (react_1.default.createElement(ui_1.DropdownMenuItem, { onClick: function () {
46
+ if (table) {
47
+ onRequestInsertSlicer(table);
48
+ }
49
+ } }, "Insert slicer")) : null,
40
50
  react_1.default.createElement(ui_1.DropdownMenuItem, { onClick: function () {
41
51
  if (table) {
42
- onConvertToRange();
52
+ onRemoveTable === null || onRemoveTable === void 0 ? void 0 : onRemoveTable(table);
43
53
  focusSheet === null || focusSheet === void 0 ? void 0 : focusSheet();
44
54
  }
45
55
  } }, "Convert to range"))))));
@@ -2,7 +2,7 @@ import type { CellInterface, SelectionArea } from "@rowsncolumns/grid";
2
2
  import { findMatchingBandProperty } from "@rowsncolumns/utils";
3
3
  import React from "react";
4
4
  export { findMatchingBandProperty };
5
- import type { BandedDefinition, TableTheme, TableView } from "../../types";
5
+ import type { BandedDefinition, CustomTableStyle, TableStylePreview, TableTheme, TableView } from "../../types";
6
6
  import type { CanvasGridProps, SelectionAttributes, SpreadsheetTheme } from "../canvas-grid/typings";
7
7
  export type TableStyleSelectorProps = {
8
8
  tables?: TableView[];
@@ -12,7 +12,39 @@ export type TableStyleSelectorProps = {
12
12
  activeCell: CellInterface;
13
13
  onUpdateTable?(sheetId: number, tableId: TableView["id"], updatedTable: Partial<TableView>): void;
14
14
  onCreateTable: CanvasGridProps["onCreateTable"];
15
+ /** Format as Table on a plain range opens the Create Table dialog with the picked style. */
16
+ onRequestCreateTable?: CanvasGridProps["onRequestCreateTable"];
17
+ /**
18
+ * Live preview: the hovered swatch's style is painted over the active table while the pointer
19
+ * rests on it (`null` reverts). UI-only — nothing is written to the table or its history.
20
+ */
21
+ onPreviewTableStyle?(preview: TableStylePreview | null): void;
22
+ /** Styles created with "New Table Style…", offered in the gallery's Custom section. */
23
+ customTableStyles?: CustomTableStyle[];
24
+ /**
25
+ * Called with the style "New Table Style…" creates so the host can keep it with the workbook;
26
+ * without it the selector keeps the styles it created for the session.
27
+ */
28
+ onCreateCustomTableStyle?(style: CustomTableStyle): void;
15
29
  };
30
+ /** Excel's Table Style Options (Table Design tab), in ribbon order. */
31
+ declare const STYLE_OPTIONS: Array<{
32
+ key: "headerRow" | "totalRow" | "showRowStripes" | "showColumnStripes" | "showFirstColumn" | "showLastColumn" | "filterButton";
33
+ label: string;
34
+ defaultValue: boolean;
35
+ }>;
36
+ /**
37
+ * The table update a Style Options toggle produces. Flipping Banded Rows / Banded Columns on a
38
+ * built-in style re-resolves the banding for the new stripe toggles (what the Edit Table dialog
39
+ * does); a custom style has no palette to re-resolve from and keeps its banding.
40
+ */
41
+ export declare const getStyleOptionUpdate: (table: TableView, key: (typeof STYLE_OPTIONS)[number]["key"], checked: boolean) => Partial<TableView>;
42
+ /** The banding a New Table Style paints from its three colours (unset elements stay unpainted). */
43
+ export declare const buildCustomTableStyle: (name: string, colors: {
44
+ header?: string;
45
+ firstBand?: string;
46
+ secondBand?: string;
47
+ }) => CustomTableStyle;
16
48
  type TableStyleList = [
17
49
  theme: TableTheme,
18
50
  firtBandStripeTint: number | undefined,
@@ -20,6 +52,10 @@ type TableStyleList = [
20
52
  bandDefinition: BandedDefinition | undefined,
21
53
  style?: React.CSSProperties
22
54
  ];
55
+ /**
56
+ * The gallery's table styles: the shared palette (`@rowsncolumns/utils` — the same banding the
57
+ * importers and both engines resolve a theme name into) plus a per-swatch preview style.
58
+ */
23
59
  export declare const getTableBorderStyles: (showRowStripes: boolean | undefined, showColumnStripes: boolean | undefined, theme?: SpreadsheetTheme) => Map<string, TableStyleList[]>;
24
- export declare const TableStyleSelector: React.MemoExoticComponent<({ tables, sheetId, theme, activeCell, selections, onUpdateTable, onCreateTable, }: TableStyleSelectorProps) => React.JSX.Element>;
60
+ export declare const TableStyleSelector: React.MemoExoticComponent<({ tables, sheetId, theme, activeCell, selections, onUpdateTable, onCreateTable, onRequestCreateTable, onPreviewTableStyle, customTableStyles, onCreateCustomTableStyle, }: TableStyleSelectorProps) => React.JSX.Element>;
25
61
  //# sourceMappingURL=table-style-selector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-style-selector.d.ts","sourceRoot":"","sources":["../../../../components/toolbar/table-style-selector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAavE,OAAO,EAEL,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAA6C,MAAM,OAAO,CAAC;AAGlE,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAMpC,OAAO,KAAK,EACV,gBAAgB,EAGhB,UAAU,EACV,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACjD,UAAU,EAAE,aAAa,CAAC;IAC1B,aAAa,CAAC,CACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,EACxB,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,GAC/B,IAAI,CAAC;IACR,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CACjD,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,UAAU;IACjB,kBAAkB,EAAE,MAAM,GAAG,SAAS;IACtC,cAAc,EAAE,MAAM,GAAG,SAAS;IAClC,cAAc,EAAE,gBAAgB,GAAG,SAAS;IAC5C,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;CAC5B,CAAC;AAIF,eAAO,MAAM,oBAAoB,GAC/B,gBAAgB,OAAO,GAAG,SAAS,EACnC,mBAAmB,OAAO,GAAG,SAAS,EACtC,QAAQ,gBAAgB,kCAiYzB,CAAC;AAEF,eAAO,MAAM,kBAAkB,gHAS1B,uBAAuB,uBAsI3B,CAAC"}
1
+ {"version":3,"file":"table-style-selector.d.ts","sourceRoot":"","sources":["../../../../components/toolbar/table-style-selector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAkBvE,OAAO,EACL,wBAAwB,EAGzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAuD,MAAM,OAAO,CAAC;AAG5E,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAKpC,OAAO,KAAK,EACV,gBAAgB,EAEhB,gBAAgB,EAEhB,iBAAiB,EACjB,UAAU,EACV,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACjD,UAAU,EAAE,aAAa,CAAC;IAC1B,aAAa,CAAC,CACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,EACxB,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,GAC/B,IAAI,CAAC;IACR,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IAChD,4FAA4F;IAC5F,oBAAoB,CAAC,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAC/D;;;OAGG;IACH,mBAAmB,CAAC,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9D,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC;;;OAGG;IACH,wBAAwB,CAAC,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC1D,CAAC;AAEF,uEAAuE;AACvE,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC;IACzB,GAAG,EACC,WAAW,GACX,UAAU,GACV,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;CACvB,CAQA,CAAC;AAKF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,SAAS,EAChB,KAAK,CAAC,OAAO,aAAa,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAC1C,SAAS,OAAO,KACf,OAAO,CAAC,SAAS,CAqBnB,CAAC;AAsBF,mGAAmG;AACnG,eAAO,MAAM,qBAAqB,GAChC,MAAM,MAAM,EACZ,QAAQ;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,KACnE,gBASD,CAAC;AAEH,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,UAAU;IACjB,kBAAkB,EAAE,MAAM,GAAG,SAAS;IACtC,cAAc,EAAE,MAAM,GAAG,SAAS;IAClC,cAAc,EAAE,gBAAgB,GAAG,SAAS;IAC5C,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;CAC5B,CAAC;AAKF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,gBAAgB,OAAO,GAAG,SAAS,EACnC,mBAAmB,OAAO,GAAG,SAAS,EACtC,QAAQ,gBAAgB,kCAoBzB,CAAC;AAEF,eAAO,MAAM,kBAAkB,wMAa1B,uBAAuB,uBAoS3B,CAAC"}