@sqlrooms/mosaic 0.29.0-rc.2 → 0.29.0-rc.4

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 (454) hide show
  1. package/README.md +209 -0
  2. package/dist/MosaicChartBuilder.d.ts +44 -13
  3. package/dist/MosaicChartBuilder.d.ts.map +1 -1
  4. package/dist/MosaicChartBuilder.js +22 -30
  5. package/dist/MosaicChartBuilder.js.map +1 -1
  6. package/dist/MosaicSlice.d.ts +28 -10
  7. package/dist/MosaicSlice.d.ts.map +1 -1
  8. package/dist/MosaicSlice.js +77 -11
  9. package/dist/MosaicSlice.js.map +1 -1
  10. package/dist/ResponsivePlot.d.ts +23 -0
  11. package/dist/ResponsivePlot.d.ts.map +1 -0
  12. package/dist/ResponsivePlot.js +43 -0
  13. package/dist/ResponsivePlot.js.map +1 -0
  14. package/dist/VgPlotChart.d.ts +18 -2
  15. package/dist/VgPlotChart.d.ts.map +1 -1
  16. package/dist/VgPlotChart.js +112 -26
  17. package/dist/VgPlotChart.js.map +1 -1
  18. package/dist/boxplot/BoxPlotClient.d.ts +58 -0
  19. package/dist/boxplot/BoxPlotClient.d.ts.map +1 -0
  20. package/dist/boxplot/BoxPlotClient.js +264 -0
  21. package/dist/boxplot/BoxPlotClient.js.map +1 -0
  22. package/dist/chart/MosaicDashboardChart.d.ts +14 -0
  23. package/dist/chart/MosaicDashboardChart.d.ts.map +1 -0
  24. package/dist/chart/MosaicDashboardChart.js +21 -0
  25. package/dist/chart/MosaicDashboardChart.js.map +1 -0
  26. package/dist/chart/MosaicDashboardChartContent.d.ts +16 -0
  27. package/dist/chart/MosaicDashboardChartContent.d.ts.map +1 -0
  28. package/dist/chart/MosaicDashboardChartContent.js +18 -0
  29. package/dist/chart/MosaicDashboardChartContent.js.map +1 -0
  30. package/dist/chart/MosaicDashboardChartHeaderActions.d.ts +4 -0
  31. package/dist/chart/MosaicDashboardChartHeaderActions.d.ts.map +1 -0
  32. package/dist/chart/MosaicDashboardChartHeaderActions.js +16 -0
  33. package/dist/chart/MosaicDashboardChartHeaderActions.js.map +1 -0
  34. package/dist/chart/MosaicDashboardChartRenderer.d.ts +3 -0
  35. package/dist/chart/MosaicDashboardChartRenderer.d.ts.map +1 -0
  36. package/dist/chart/MosaicDashboardChartRenderer.js +31 -0
  37. package/dist/chart/MosaicDashboardChartRenderer.js.map +1 -0
  38. package/dist/chart/MosaicDashboardComponentChart.d.ts +14 -0
  39. package/dist/chart/MosaicDashboardComponentChart.d.ts.map +1 -0
  40. package/dist/chart/MosaicDashboardComponentChart.js +11 -0
  41. package/dist/chart/MosaicDashboardComponentChart.js.map +1 -0
  42. package/dist/chart/MosaicDashboardVgPlotChart.d.ts +10 -0
  43. package/dist/chart/MosaicDashboardVgPlotChart.d.ts.map +1 -0
  44. package/dist/chart/MosaicDashboardVgPlotChart.js +10 -0
  45. package/dist/chart/MosaicDashboardVgPlotChart.js.map +1 -0
  46. package/dist/chart/MosaicDashboardVgPlotError.d.ts +8 -0
  47. package/dist/chart/MosaicDashboardVgPlotError.d.ts.map +1 -0
  48. package/dist/chart/MosaicDashboardVgPlotError.js +11 -0
  49. package/dist/chart/MosaicDashboardVgPlotError.js.map +1 -0
  50. package/dist/chart/chart-settings/ChartSettings.d.ts +44 -0
  51. package/dist/chart/chart-settings/ChartSettings.d.ts.map +1 -0
  52. package/dist/chart/chart-settings/ChartSettings.js +71 -0
  53. package/dist/chart/chart-settings/ChartSettings.js.map +1 -0
  54. package/dist/chart/chart-settings/ChartSettingsContent.d.ts +13 -0
  55. package/dist/chart/chart-settings/ChartSettingsContent.d.ts.map +1 -0
  56. package/dist/chart/chart-settings/ChartSettingsContent.js +18 -0
  57. package/dist/chart/chart-settings/ChartSettingsContent.js.map +1 -0
  58. package/dist/chart/chart-settings/ChartSettingsContext.d.ts +27 -0
  59. package/dist/chart/chart-settings/ChartSettingsContext.d.ts.map +1 -0
  60. package/dist/chart/chart-settings/ChartSettingsContext.js +35 -0
  61. package/dist/chart/chart-settings/ChartSettingsContext.js.map +1 -0
  62. package/dist/chart/chart-settings/ChartSettingsPanel.d.ts +14 -0
  63. package/dist/chart/chart-settings/ChartSettingsPanel.d.ts.map +1 -0
  64. package/dist/chart/chart-settings/ChartSettingsPanel.js +17 -0
  65. package/dist/chart/chart-settings/ChartSettingsPanel.js.map +1 -0
  66. package/dist/chart/chart-settings/ChartSpecViewerPanel.d.ts +9 -0
  67. package/dist/chart/chart-settings/ChartSpecViewerPanel.d.ts.map +1 -0
  68. package/dist/chart/chart-settings/ChartSpecViewerPanel.js +11 -0
  69. package/dist/chart/chart-settings/ChartSpecViewerPanel.js.map +1 -0
  70. package/dist/chart/chart-settings/ChartTypeSelector.d.ts +9 -0
  71. package/dist/chart/chart-settings/ChartTypeSelector.d.ts.map +1 -0
  72. package/dist/chart/chart-settings/ChartTypeSelector.js +16 -0
  73. package/dist/chart/chart-settings/ChartTypeSelector.js.map +1 -0
  74. package/dist/chart/chart-settings/useTableColumns.d.ts +3 -0
  75. package/dist/chart/chart-settings/useTableColumns.d.ts.map +1 -0
  76. package/dist/chart/chart-settings/useTableColumns.js +12 -0
  77. package/dist/chart/chart-settings/useTableColumns.js.map +1 -0
  78. package/dist/chart/useBrushSelectionParams.d.ts +3 -0
  79. package/dist/chart/useBrushSelectionParams.d.ts.map +1 -0
  80. package/dist/chart/useBrushSelectionParams.js +16 -0
  81. package/dist/chart/useBrushSelectionParams.js.map +1 -0
  82. package/dist/chart/useChartRetainer.d.ts +3 -0
  83. package/dist/chart/useChartRetainer.d.ts.map +1 -0
  84. package/dist/chart/useChartRetainer.js +11 -0
  85. package/dist/chart/useChartRetainer.js.map +1 -0
  86. package/dist/chart/useGenerateSpec.d.ts +13 -0
  87. package/dist/chart/useGenerateSpec.d.ts.map +1 -0
  88. package/dist/chart/useGenerateSpec.js +32 -0
  89. package/dist/chart/useGenerateSpec.js.map +1 -0
  90. package/dist/chart-builders/AggregationSelector.d.ts +11 -0
  91. package/dist/chart-builders/AggregationSelector.d.ts.map +1 -0
  92. package/dist/chart-builders/AggregationSelector.js +9 -0
  93. package/dist/chart-builders/AggregationSelector.js.map +1 -0
  94. package/dist/chart-builders/ChartBuilderActions.d.ts +6 -0
  95. package/dist/chart-builders/ChartBuilderActions.d.ts.map +1 -0
  96. package/dist/chart-builders/ChartBuilderActions.js +36 -0
  97. package/dist/chart-builders/ChartBuilderActions.js.map +1 -0
  98. package/dist/chart-builders/ChartBuilderContent.d.ts +12 -12
  99. package/dist/chart-builders/ChartBuilderContent.d.ts.map +1 -1
  100. package/dist/chart-builders/ChartBuilderContent.js +21 -52
  101. package/dist/chart-builders/ChartBuilderContent.js.map +1 -1
  102. package/dist/chart-builders/ChartBuilderContext.d.ts +8 -4
  103. package/dist/chart-builders/ChartBuilderContext.d.ts.map +1 -1
  104. package/dist/chart-builders/ChartBuilderContext.js +5 -0
  105. package/dist/chart-builders/ChartBuilderContext.js.map +1 -1
  106. package/dist/chart-builders/ChartBuilderDialog.d.ts +30 -8
  107. package/dist/chart-builders/ChartBuilderDialog.d.ts.map +1 -1
  108. package/dist/chart-builders/ChartBuilderDialog.js +25 -10
  109. package/dist/chart-builders/ChartBuilderDialog.js.map +1 -1
  110. package/dist/chart-builders/ChartBuilderFields.d.ts +6 -0
  111. package/dist/chart-builders/ChartBuilderFields.d.ts.map +1 -0
  112. package/dist/chart-builders/ChartBuilderFields.js +39 -0
  113. package/dist/chart-builders/ChartBuilderFields.js.map +1 -0
  114. package/dist/chart-builders/ChartBuilderRoot.d.ts +25 -0
  115. package/dist/chart-builders/ChartBuilderRoot.d.ts.map +1 -0
  116. package/dist/chart-builders/ChartBuilderRoot.js +42 -0
  117. package/dist/chart-builders/ChartBuilderRoot.js.map +1 -0
  118. package/dist/chart-builders/ChartBuilderTypeGrid.d.ts +7 -0
  119. package/dist/chart-builders/ChartBuilderTypeGrid.d.ts.map +1 -0
  120. package/dist/chart-builders/ChartBuilderTypeGrid.js +23 -0
  121. package/dist/chart-builders/ChartBuilderTypeGrid.js.map +1 -0
  122. package/dist/chart-builders/ColumnSelector.d.ts +15 -0
  123. package/dist/chart-builders/ColumnSelector.d.ts.map +1 -0
  124. package/dist/chart-builders/ColumnSelector.js +31 -0
  125. package/dist/chart-builders/ColumnSelector.js.map +1 -0
  126. package/dist/chart-builders/Field.d.ts +11 -0
  127. package/dist/chart-builders/Field.d.ts.map +1 -0
  128. package/dist/chart-builders/Field.js +9 -0
  129. package/dist/chart-builders/Field.js.map +1 -0
  130. package/dist/chart-builders/FieldSelectorInput.d.ts +2 -1
  131. package/dist/chart-builders/FieldSelectorInput.d.ts.map +1 -1
  132. package/dist/chart-builders/FieldSelectorInput.js +5 -5
  133. package/dist/chart-builders/FieldSelectorInput.js.map +1 -1
  134. package/dist/chart-builders/MultiFieldSelector.d.ts +14 -0
  135. package/dist/chart-builders/MultiFieldSelector.d.ts.map +1 -0
  136. package/dist/chart-builders/MultiFieldSelector.js +53 -0
  137. package/dist/chart-builders/MultiFieldSelector.js.map +1 -0
  138. package/dist/chart-builders/TemporalGranularitySelector.d.ts +10 -0
  139. package/dist/chart-builders/TemporalGranularitySelector.d.ts.map +1 -0
  140. package/dist/chart-builders/TemporalGranularitySelector.js +37 -0
  141. package/dist/chart-builders/TemporalGranularitySelector.js.map +1 -0
  142. package/dist/chart-builders/chartSpecTitle.d.ts +3 -4
  143. package/dist/chart-builders/chartSpecTitle.d.ts.map +1 -1
  144. package/dist/chart-builders/chartSpecTitle.js +3 -5
  145. package/dist/chart-builders/chartSpecTitle.js.map +1 -1
  146. package/dist/chart-builders/chartTypeUtils.d.ts +13 -0
  147. package/dist/chart-builders/chartTypeUtils.d.ts.map +1 -0
  148. package/dist/chart-builders/chartTypeUtils.js +47 -0
  149. package/dist/chart-builders/chartTypeUtils.js.map +1 -0
  150. package/dist/chart-builders/constants.d.ts +12 -0
  151. package/dist/chart-builders/constants.d.ts.map +1 -0
  152. package/dist/chart-builders/constants.js +47 -0
  153. package/dist/chart-builders/constants.js.map +1 -0
  154. package/dist/chart-builders/createChartBuilderStore.d.ts +11 -0
  155. package/dist/chart-builders/createChartBuilderStore.d.ts.map +1 -0
  156. package/dist/chart-builders/createChartBuilderStore.js +26 -0
  157. package/dist/chart-builders/createChartBuilderStore.js.map +1 -0
  158. package/dist/chart-types/base-types.d.ts +148 -0
  159. package/dist/chart-types/base-types.d.ts.map +1 -0
  160. package/dist/chart-types/base-types.js +11 -0
  161. package/dist/chart-types/base-types.js.map +1 -0
  162. package/dist/chart-types/box-plot/BoxPlotSettings.d.ts +3 -0
  163. package/dist/chart-types/box-plot/BoxPlotSettings.d.ts.map +1 -0
  164. package/dist/chart-types/box-plot/BoxPlotSettings.js +9 -0
  165. package/dist/chart-types/box-plot/BoxPlotSettings.js.map +1 -0
  166. package/dist/chart-types/box-plot/definition.d.ts +4 -0
  167. package/dist/chart-types/box-plot/definition.d.ts.map +1 -0
  168. package/dist/chart-types/box-plot/definition.js +19 -0
  169. package/dist/chart-types/box-plot/definition.js.map +1 -0
  170. package/dist/chart-types/box-plot/renderer/BoxPlotErrorBoundary.d.ts +18 -0
  171. package/dist/chart-types/box-plot/renderer/BoxPlotErrorBoundary.d.ts.map +1 -0
  172. package/dist/chart-types/box-plot/renderer/BoxPlotErrorBoundary.js +28 -0
  173. package/dist/chart-types/box-plot/renderer/BoxPlotErrorBoundary.js.map +1 -0
  174. package/dist/chart-types/box-plot/renderer/BoxPlotPanelRenderer.d.ts +9 -0
  175. package/dist/chart-types/box-plot/renderer/BoxPlotPanelRenderer.d.ts.map +1 -0
  176. package/dist/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js +115 -0
  177. package/dist/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js.map +1 -0
  178. package/dist/chart-types/box-plot/renderer/constants.d.ts +24 -0
  179. package/dist/chart-types/box-plot/renderer/constants.d.ts.map +1 -0
  180. package/dist/chart-types/box-plot/renderer/constants.js +17 -0
  181. package/dist/chart-types/box-plot/renderer/constants.js.map +1 -0
  182. package/dist/chart-types/box-plot/renderer/plot.d.ts +14 -0
  183. package/dist/chart-types/box-plot/renderer/plot.d.ts.map +1 -0
  184. package/dist/chart-types/box-plot/renderer/plot.js +91 -0
  185. package/dist/chart-types/box-plot/renderer/plot.js.map +1 -0
  186. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.d.ts +14 -0
  187. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.d.ts.map +1 -0
  188. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.js +45 -0
  189. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.js.map +1 -0
  190. package/dist/chart-types/box-plot/renderer/utils.d.ts +6 -0
  191. package/dist/chart-types/box-plot/renderer/utils.d.ts.map +1 -0
  192. package/dist/chart-types/box-plot/renderer/utils.js +34 -0
  193. package/dist/chart-types/box-plot/renderer/utils.js.map +1 -0
  194. package/dist/chart-types/box-plot/schema.d.ts +16 -0
  195. package/dist/chart-types/box-plot/schema.d.ts.map +1 -0
  196. package/dist/chart-types/box-plot/schema.js +11 -0
  197. package/dist/chart-types/box-plot/schema.js.map +1 -0
  198. package/dist/chart-types/box-plot/tool.d.ts +44 -0
  199. package/dist/chart-types/box-plot/tool.d.ts.map +1 -0
  200. package/dist/chart-types/box-plot/tool.js +59 -0
  201. package/dist/chart-types/box-plot/tool.js.map +1 -0
  202. package/dist/chart-types/bubble-chart/BubbleChartSettings.d.ts +3 -0
  203. package/dist/chart-types/bubble-chart/BubbleChartSettings.d.ts.map +1 -0
  204. package/dist/chart-types/bubble-chart/BubbleChartSettings.js +9 -0
  205. package/dist/chart-types/bubble-chart/BubbleChartSettings.js.map +1 -0
  206. package/dist/chart-types/bubble-chart/definition.d.ts +4 -0
  207. package/dist/chart-types/bubble-chart/definition.d.ts.map +1 -0
  208. package/dist/chart-types/bubble-chart/definition.js +19 -0
  209. package/dist/chart-types/bubble-chart/definition.js.map +1 -0
  210. package/dist/chart-types/bubble-chart/schema.d.ts +18 -0
  211. package/dist/chart-types/bubble-chart/schema.d.ts.map +1 -0
  212. package/dist/chart-types/bubble-chart/schema.js +15 -0
  213. package/dist/chart-types/bubble-chart/schema.js.map +1 -0
  214. package/dist/chart-types/bubble-chart/spec.d.ts +4 -0
  215. package/dist/chart-types/bubble-chart/spec.d.ts.map +1 -0
  216. package/dist/chart-types/bubble-chart/spec.js +31 -0
  217. package/dist/chart-types/bubble-chart/spec.js.map +1 -0
  218. package/dist/chart-types/bubble-chart/tool.d.ts +46 -0
  219. package/dist/chart-types/bubble-chart/tool.d.ts.map +1 -0
  220. package/dist/chart-types/bubble-chart/tool.js +58 -0
  221. package/dist/chart-types/bubble-chart/tool.js.map +1 -0
  222. package/dist/chart-types/chart-config.d.ts +92 -0
  223. package/dist/chart-types/chart-config.d.ts.map +1 -0
  224. package/dist/chart-types/chart-config.js +47 -0
  225. package/dist/chart-types/chart-config.js.map +1 -0
  226. package/dist/chart-types/count-plot/CountPlotSettings.d.ts +3 -0
  227. package/dist/chart-types/count-plot/CountPlotSettings.d.ts.map +1 -0
  228. package/dist/chart-types/count-plot/CountPlotSettings.js +9 -0
  229. package/dist/chart-types/count-plot/CountPlotSettings.js.map +1 -0
  230. package/dist/chart-types/count-plot/definition.d.ts +4 -0
  231. package/dist/chart-types/count-plot/definition.d.ts.map +1 -0
  232. package/dist/chart-types/count-plot/definition.js +19 -0
  233. package/dist/chart-types/count-plot/definition.js.map +1 -0
  234. package/dist/chart-types/count-plot/schema.d.ts +14 -0
  235. package/dist/chart-types/count-plot/schema.d.ts.map +1 -0
  236. package/dist/chart-types/count-plot/schema.js +13 -0
  237. package/dist/chart-types/count-plot/schema.js.map +1 -0
  238. package/dist/chart-types/count-plot/spec.d.ts +4 -0
  239. package/dist/chart-types/count-plot/spec.d.ts.map +1 -0
  240. package/dist/chart-types/count-plot/spec.js +49 -0
  241. package/dist/chart-types/count-plot/spec.js.map +1 -0
  242. package/dist/chart-types/count-plot/tool.d.ts +42 -0
  243. package/dist/chart-types/count-plot/tool.d.ts.map +1 -0
  244. package/dist/chart-types/count-plot/tool.js +55 -0
  245. package/dist/chart-types/count-plot/tool.js.map +1 -0
  246. package/dist/chart-types/custom-spec/CustomSpecSettings.d.ts +7 -0
  247. package/dist/chart-types/custom-spec/CustomSpecSettings.d.ts.map +1 -0
  248. package/dist/chart-types/custom-spec/CustomSpecSettings.js +30 -0
  249. package/dist/chart-types/custom-spec/CustomSpecSettings.js.map +1 -0
  250. package/dist/chart-types/custom-spec/definition.d.ts +4 -0
  251. package/dist/chart-types/custom-spec/definition.d.ts.map +1 -0
  252. package/dist/chart-types/custom-spec/definition.js +17 -0
  253. package/dist/chart-types/custom-spec/definition.js.map +1 -0
  254. package/dist/chart-types/custom-spec/schema.d.ts +14 -0
  255. package/dist/chart-types/custom-spec/schema.d.ts.map +1 -0
  256. package/dist/chart-types/custom-spec/schema.js +10 -0
  257. package/dist/chart-types/custom-spec/schema.js.map +1 -0
  258. package/dist/chart-types/custom-spec/spec.d.ts +4 -0
  259. package/dist/chart-types/custom-spec/spec.d.ts.map +1 -0
  260. package/dist/chart-types/custom-spec/spec.js +24 -0
  261. package/dist/chart-types/custom-spec/spec.js.map +1 -0
  262. package/dist/chart-types/errors.d.ts +23 -0
  263. package/dist/chart-types/errors.d.ts.map +1 -0
  264. package/dist/chart-types/errors.js +26 -0
  265. package/dist/chart-types/errors.js.map +1 -0
  266. package/dist/chart-types/heatmap/HeatmapSettings.d.ts +3 -0
  267. package/dist/chart-types/heatmap/HeatmapSettings.d.ts.map +1 -0
  268. package/dist/chart-types/heatmap/HeatmapSettings.js +9 -0
  269. package/dist/chart-types/heatmap/HeatmapSettings.js.map +1 -0
  270. package/dist/chart-types/heatmap/definition.d.ts +4 -0
  271. package/dist/chart-types/heatmap/definition.d.ts.map +1 -0
  272. package/dist/chart-types/heatmap/definition.js +19 -0
  273. package/dist/chart-types/heatmap/definition.js.map +1 -0
  274. package/dist/chart-types/heatmap/schema.d.ts +16 -0
  275. package/dist/chart-types/heatmap/schema.d.ts.map +1 -0
  276. package/dist/chart-types/heatmap/schema.js +11 -0
  277. package/dist/chart-types/heatmap/schema.js.map +1 -0
  278. package/dist/chart-types/heatmap/spec.d.ts +4 -0
  279. package/dist/chart-types/heatmap/spec.d.ts.map +1 -0
  280. package/dist/chart-types/heatmap/spec.js +32 -0
  281. package/dist/chart-types/heatmap/spec.js.map +1 -0
  282. package/dist/chart-types/heatmap/tool.d.ts +44 -0
  283. package/dist/chart-types/heatmap/tool.d.ts.map +1 -0
  284. package/dist/chart-types/heatmap/tool.js +59 -0
  285. package/dist/chart-types/heatmap/tool.js.map +1 -0
  286. package/dist/chart-types/histogram/HistogramSettings.d.ts +3 -0
  287. package/dist/chart-types/histogram/HistogramSettings.d.ts.map +1 -0
  288. package/dist/chart-types/histogram/HistogramSettings.js +9 -0
  289. package/dist/chart-types/histogram/HistogramSettings.js.map +1 -0
  290. package/dist/chart-types/histogram/definition.d.ts +4 -0
  291. package/dist/chart-types/histogram/definition.d.ts.map +1 -0
  292. package/dist/chart-types/histogram/definition.js +19 -0
  293. package/dist/chart-types/histogram/definition.js.map +1 -0
  294. package/dist/chart-types/histogram/schema.d.ts +14 -0
  295. package/dist/chart-types/histogram/schema.d.ts.map +1 -0
  296. package/dist/chart-types/histogram/schema.js +13 -0
  297. package/dist/chart-types/histogram/schema.js.map +1 -0
  298. package/dist/chart-types/histogram/spec.d.ts +4 -0
  299. package/dist/chart-types/histogram/spec.d.ts.map +1 -0
  300. package/dist/chart-types/histogram/spec.js +36 -0
  301. package/dist/chart-types/histogram/spec.js.map +1 -0
  302. package/dist/chart-types/histogram/tool.d.ts +42 -0
  303. package/dist/chart-types/histogram/tool.d.ts.map +1 -0
  304. package/dist/chart-types/histogram/tool.js +55 -0
  305. package/dist/chart-types/histogram/tool.js.map +1 -0
  306. package/dist/chart-types/index.d.ts +115 -0
  307. package/dist/chart-types/index.d.ts.map +1 -0
  308. package/dist/chart-types/index.js +100 -0
  309. package/dist/chart-types/index.js.map +1 -0
  310. package/dist/chart-types/line-chart/LineChartSettings.d.ts +7 -0
  311. package/dist/chart-types/line-chart/LineChartSettings.d.ts.map +1 -0
  312. package/dist/chart-types/line-chart/LineChartSettings.js +22 -0
  313. package/dist/chart-types/line-chart/LineChartSettings.js.map +1 -0
  314. package/dist/chart-types/line-chart/definition.d.ts +4 -0
  315. package/dist/chart-types/line-chart/definition.d.ts.map +1 -0
  316. package/dist/chart-types/line-chart/definition.js +19 -0
  317. package/dist/chart-types/line-chart/definition.js.map +1 -0
  318. package/dist/chart-types/line-chart/schema.d.ts +83 -0
  319. package/dist/chart-types/line-chart/schema.d.ts.map +1 -0
  320. package/dist/chart-types/line-chart/schema.js +39 -0
  321. package/dist/chart-types/line-chart/schema.js.map +1 -0
  322. package/dist/chart-types/line-chart/spec.d.ts +4 -0
  323. package/dist/chart-types/line-chart/spec.d.ts.map +1 -0
  324. package/dist/chart-types/line-chart/spec.js +91 -0
  325. package/dist/chart-types/line-chart/spec.js.map +1 -0
  326. package/dist/chart-types/line-chart/tool.d.ts +68 -0
  327. package/dist/chart-types/line-chart/tool.d.ts.map +1 -0
  328. package/dist/chart-types/line-chart/tool.js +66 -0
  329. package/dist/chart-types/line-chart/tool.js.map +1 -0
  330. package/dist/chart-types/tool-schemas.d.ts +8 -0
  331. package/dist/chart-types/tool-schemas.d.ts.map +1 -0
  332. package/dist/chart-types/tool-schemas.js +18 -0
  333. package/dist/chart-types/tool-schemas.js.map +1 -0
  334. package/dist/chart-types/tool-types.d.ts +26 -0
  335. package/dist/chart-types/tool-types.d.ts.map +1 -0
  336. package/dist/chart-types/tool-types.js +2 -0
  337. package/dist/chart-types/tool-types.js.map +1 -0
  338. package/dist/chart-types/tool-validation.d.ts +3 -0
  339. package/dist/chart-types/tool-validation.d.ts.map +1 -0
  340. package/dist/chart-types/tool-validation.js +11 -0
  341. package/dist/chart-types/tool-validation.js.map +1 -0
  342. package/dist/chart-types/useChartTypeDefinition.d.ts +3 -0
  343. package/dist/chart-types/useChartTypeDefinition.d.ts.map +1 -0
  344. package/dist/chart-types/useChartTypeDefinition.js +8 -0
  345. package/dist/chart-types/useChartTypeDefinition.js.map +1 -0
  346. package/dist/dashboard/DashboardPanelErrorBoundary.d.ts +17 -0
  347. package/dist/dashboard/DashboardPanelErrorBoundary.d.ts.map +1 -0
  348. package/dist/dashboard/DashboardPanelErrorBoundary.js +21 -0
  349. package/dist/dashboard/DashboardPanelErrorBoundary.js.map +1 -0
  350. package/dist/dashboard/MosaicDashboard.d.ts +2 -4
  351. package/dist/dashboard/MosaicDashboard.d.ts.map +1 -1
  352. package/dist/dashboard/MosaicDashboard.js +38 -19
  353. package/dist/dashboard/MosaicDashboard.js.map +1 -1
  354. package/dist/dashboard/MosaicDashboardContext.d.ts +1 -0
  355. package/dist/dashboard/MosaicDashboardContext.d.ts.map +1 -1
  356. package/dist/dashboard/MosaicDashboardContext.js.map +1 -1
  357. package/dist/dashboard/MosaicDashboardEmptyState.d.ts +2 -0
  358. package/dist/dashboard/MosaicDashboardEmptyState.d.ts.map +1 -0
  359. package/dist/dashboard/MosaicDashboardEmptyState.js +50 -0
  360. package/dist/dashboard/MosaicDashboardEmptyState.js.map +1 -0
  361. package/dist/dashboard/MosaicDashboardPanel.d.ts +3 -0
  362. package/dist/dashboard/MosaicDashboardPanel.d.ts.map +1 -0
  363. package/dist/dashboard/MosaicDashboardPanel.js +26 -0
  364. package/dist/dashboard/MosaicDashboardPanel.js.map +1 -0
  365. package/dist/dashboard/MosaicDashboardPanelDragOverlay.d.ts +8 -0
  366. package/dist/dashboard/MosaicDashboardPanelDragOverlay.d.ts.map +1 -0
  367. package/dist/dashboard/MosaicDashboardPanelDragOverlay.js +17 -0
  368. package/dist/dashboard/MosaicDashboardPanelDragOverlay.js.map +1 -0
  369. package/dist/dashboard/MosaicDashboardPanelHeader.d.ts +13 -0
  370. package/dist/dashboard/MosaicDashboardPanelHeader.d.ts.map +1 -0
  371. package/dist/dashboard/MosaicDashboardPanelHeader.js +30 -0
  372. package/dist/dashboard/MosaicDashboardPanelHeader.js.map +1 -0
  373. package/dist/dashboard/MosaicDashboardPanelLayout.d.ts +10 -0
  374. package/dist/dashboard/MosaicDashboardPanelLayout.d.ts.map +1 -0
  375. package/dist/dashboard/MosaicDashboardPanelLayout.js +46 -0
  376. package/dist/dashboard/MosaicDashboardPanelLayout.js.map +1 -0
  377. package/dist/dashboard/MosaicDashboardPanels.d.ts +2 -0
  378. package/dist/dashboard/MosaicDashboardPanels.d.ts.map +1 -0
  379. package/dist/dashboard/MosaicDashboardPanels.js +53 -0
  380. package/dist/dashboard/MosaicDashboardPanels.js.map +1 -0
  381. package/dist/dashboard/MosaicDashboardSlice.d.ts +607 -27
  382. package/dist/dashboard/MosaicDashboardSlice.d.ts.map +1 -1
  383. package/dist/dashboard/MosaicDashboardSlice.js +525 -93
  384. package/dist/dashboard/MosaicDashboardSlice.js.map +1 -1
  385. package/dist/dashboard/MosaicDashboardToolbar.d.ts.map +1 -1
  386. package/dist/dashboard/MosaicDashboardToolbar.js +74 -7
  387. package/dist/dashboard/MosaicDashboardToolbar.js.map +1 -1
  388. package/dist/dashboard/defaultPanelRenderers.d.ts +3 -0
  389. package/dist/dashboard/defaultPanelRenderers.d.ts.map +1 -0
  390. package/dist/dashboard/defaultPanelRenderers.js +13 -0
  391. package/dist/dashboard/defaultPanelRenderers.js.map +1 -0
  392. package/dist/dashboard/utils.d.ts +3 -0
  393. package/dist/dashboard/utils.d.ts.map +1 -0
  394. package/dist/dashboard/utils.js +16 -0
  395. package/dist/dashboard/utils.js.map +1 -0
  396. package/dist/editor/MosaicChartDisplay.d.ts.map +1 -1
  397. package/dist/editor/MosaicChartDisplay.js +6 -1
  398. package/dist/editor/MosaicChartDisplay.js.map +1 -1
  399. package/dist/index.d.ts +28 -5
  400. package/dist/index.d.ts.map +1 -1
  401. package/dist/index.js +20 -3
  402. package/dist/index.js.map +1 -1
  403. package/dist/profiler/MosaicDashboardProfilerPanelRenderer.d.ts +3 -0
  404. package/dist/profiler/MosaicDashboardProfilerPanelRenderer.d.ts.map +1 -0
  405. package/dist/profiler/MosaicDashboardProfilerPanelRenderer.js +32 -0
  406. package/dist/profiler/MosaicDashboardProfilerPanelRenderer.js.map +1 -0
  407. package/dist/profiler/useMosaicProfiler.d.ts.map +1 -1
  408. package/dist/profiler/useMosaicProfiler.js.map +1 -1
  409. package/dist/tableInterop.js.map +1 -1
  410. package/dist/text/MosaicDashboardTextRenderer.d.ts +3 -0
  411. package/dist/text/MosaicDashboardTextRenderer.d.ts.map +1 -0
  412. package/dist/text/MosaicDashboardTextRenderer.js +46 -0
  413. package/dist/text/MosaicDashboardTextRenderer.js.map +1 -0
  414. package/dist/useMosaicClient.d.ts +4 -15
  415. package/dist/useMosaicClient.d.ts.map +1 -1
  416. package/dist/useMosaicClient.js +10 -4
  417. package/dist/useMosaicClient.js.map +1 -1
  418. package/package.json +40 -31
  419. package/dist/chart-builders/builders.d.ts +0 -7
  420. package/dist/chart-builders/builders.d.ts.map +0 -1
  421. package/dist/chart-builders/builders.js +0 -280
  422. package/dist/chart-builders/builders.js.map +0 -1
  423. package/dist/chart-builders/createMosaicChartTool.d.ts +0 -45
  424. package/dist/chart-builders/createMosaicChartTool.d.ts.map +0 -1
  425. package/dist/chart-builders/createMosaicChartTool.js +0 -109
  426. package/dist/chart-builders/createMosaicChartTool.js.map +0 -1
  427. package/dist/chart-builders/describeChartSpecs.d.ts +0 -7
  428. package/dist/chart-builders/describeChartSpecs.d.ts.map +0 -1
  429. package/dist/chart-builders/describeChartSpecs.js +0 -38
  430. package/dist/chart-builders/describeChartSpecs.js.map +0 -1
  431. package/dist/chart-builders/types.d.ts +0 -40
  432. package/dist/chart-builders/types.d.ts.map +0 -1
  433. package/dist/chart-builders/types.js +0 -2
  434. package/dist/chart-builders/types.js.map +0 -1
  435. package/dist/dashboard/MosaicDashboardChartPanel.d.ts +0 -3
  436. package/dist/dashboard/MosaicDashboardChartPanel.d.ts.map +0 -1
  437. package/dist/dashboard/MosaicDashboardChartPanel.js +0 -49
  438. package/dist/dashboard/MosaicDashboardChartPanel.js.map +0 -1
  439. package/dist/dashboard/MosaicDashboardCharts.d.ts +0 -3
  440. package/dist/dashboard/MosaicDashboardCharts.d.ts.map +0 -1
  441. package/dist/dashboard/MosaicDashboardCharts.js +0 -45
  442. package/dist/dashboard/MosaicDashboardCharts.js.map +0 -1
  443. package/dist/dashboard/MosaicDashboardProfiler.d.ts +0 -3
  444. package/dist/dashboard/MosaicDashboardProfiler.d.ts.map +0 -1
  445. package/dist/dashboard/MosaicDashboardProfiler.js +0 -21
  446. package/dist/dashboard/MosaicDashboardProfiler.js.map +0 -1
  447. package/dist/dashboard/VgPlotSpecPopoverEditor.d.ts +0 -8
  448. package/dist/dashboard/VgPlotSpecPopoverEditor.d.ts.map +0 -1
  449. package/dist/dashboard/VgPlotSpecPopoverEditor.js +0 -40
  450. package/dist/dashboard/VgPlotSpecPopoverEditor.js.map +0 -1
  451. package/dist/use-mosaic.d.ts +0 -11
  452. package/dist/use-mosaic.d.ts.map +0 -1
  453. package/dist/use-mosaic.js +0 -42
  454. package/dist/use-mosaic.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ import { tool } from 'ai';
2
+ import { HistogramChartSettings } from './schema';
3
+ import { BaseChartToolParameters } from '../tool-schemas';
4
+ import { validateColumnExists } from '../tool-validation';
5
+ import { QUANTITATIVE_COLUMN_TYPES } from '../../chart-builders/constants';
6
+ export const HistogramToolParameters = BaseChartToolParameters.extend({
7
+ settings: HistogramChartSettings.required(),
8
+ });
9
+ export function createHistogramAiTool(deps) {
10
+ return tool({
11
+ description: `Histogram: shows distribution of numeric values by automatically grouping data into bins/ranges.
12
+
13
+ Use when: user asks about "distribution of [numeric column]", "spread of", "range of", "how values are distributed", "show histogram".
14
+ Example queries: "distribution of population density", "show elevation distribution", "histogram of parcel areas", "how are building heights spread", "temperature range distribution".
15
+
16
+ Required: field must be quantitative not text/categorical: (${QUANTITATIVE_COLUMN_TYPES.join(', ')}).
17
+
18
+ CRITICAL: Only for quantitative continuous data to see distribution shape, outliers, skewness.
19
+ Do NOT use for: categorical data (use count-plot), relationships between columns (use bubble-chart), time series trends (use line-chart).`,
20
+ inputSchema: HistogramToolParameters,
21
+ execute: async (params, context) => {
22
+ try {
23
+ const { artifactId, tableName, columns } = deps.resolveResources(params, context);
24
+ // Validate settings
25
+ validateColumnExists(params.settings.field, QUANTITATIVE_COLUMN_TYPES, columns, 'field');
26
+ const title = `Histogram of ${params.settings.field}`;
27
+ const result = deps.createChart({
28
+ artifactId,
29
+ tableName,
30
+ config: {
31
+ chartType: 'histogram',
32
+ settings: params.settings,
33
+ },
34
+ title,
35
+ });
36
+ return {
37
+ llmResult: {
38
+ success: true,
39
+ details: `Created histogram "${result.title}".`,
40
+ data: result,
41
+ },
42
+ };
43
+ }
44
+ catch (error) {
45
+ return {
46
+ llmResult: {
47
+ success: false,
48
+ errorMessage: error instanceof Error ? error.message : String(error),
49
+ },
50
+ };
51
+ }
52
+ },
53
+ });
54
+ }
55
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/chart-types/histogram/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,IAAI,CAAC;AAExB,OAAO,EAAC,sBAAsB,EAAC,MAAM,UAAU,CAAC;AAChD,OAAO,EAAC,uBAAuB,EAAC,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AAEzE,MAAM,CAAC,MAAM,uBAAuB,GAAG,uBAAuB,CAAC,MAAM,CAAC;IACpE,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAIH,MAAM,UAAU,qBAAqB,CAAC,IAAmB;IACvD,OAAO,IAAI,CAAC;QACV,WAAW,EAAE;;;;;8DAK6C,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;;;0IAGwC;QACtI,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;YACjC,IAAI,CAAC;gBACH,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,gBAAgB,CAC5D,MAAM,EACN,OAAO,CACR,CAAC;gBAEF,oBAAoB;gBACpB,oBAAoB,CAClB,MAAM,CAAC,QAAQ,CAAC,KAAK,EACrB,yBAAyB,EACzB,OAAO,EACP,OAAO,CACR,CAAC;gBAEF,MAAM,KAAK,GAAG,gBAAgB,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;oBAC9B,UAAU;oBACV,SAAS;oBACT,MAAM,EAAE;wBACN,SAAS,EAAE,WAAW;wBACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;qBAC1B;oBACD,KAAK;iBACN,CAAC,CAAC;gBAEH,OAAO;oBACL,SAAS,EAAE;wBACT,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,sBAAsB,MAAM,CAAC,KAAK,IAAI;wBAC/C,IAAI,EAAE,MAAM;qBACb;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,SAAS,EAAE;wBACT,OAAO,EAAE,KAAK;wBACd,YAAY,EACV,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBACzD;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {tool} from 'ai';\nimport {z} from 'zod';\nimport {HistogramChartSettings} from './schema';\nimport {BaseChartToolParameters} from '../tool-schemas';\nimport type {ChartToolDeps} from '../base-types';\nimport {validateColumnExists} from '../tool-validation';\nimport {QUANTITATIVE_COLUMN_TYPES} from '../../chart-builders/constants';\n\nexport const HistogramToolParameters = BaseChartToolParameters.extend({\n settings: HistogramChartSettings.required(),\n});\n\nexport type HistogramToolParams = z.infer<typeof HistogramToolParameters>;\n\nexport function createHistogramAiTool(deps: ChartToolDeps) {\n return tool({\n description: `Histogram: shows distribution of numeric values by automatically grouping data into bins/ranges.\n\nUse when: user asks about \"distribution of [numeric column]\", \"spread of\", \"range of\", \"how values are distributed\", \"show histogram\".\nExample queries: \"distribution of population density\", \"show elevation distribution\", \"histogram of parcel areas\", \"how are building heights spread\", \"temperature range distribution\".\n\nRequired: field must be quantitative not text/categorical: (${QUANTITATIVE_COLUMN_TYPES.join(', ')}).\n\nCRITICAL: Only for quantitative continuous data to see distribution shape, outliers, skewness.\nDo NOT use for: categorical data (use count-plot), relationships between columns (use bubble-chart), time series trends (use line-chart).`,\n inputSchema: HistogramToolParameters,\n execute: async (params, context) => {\n try {\n const {artifactId, tableName, columns} = deps.resolveResources(\n params,\n context,\n );\n\n // Validate settings\n validateColumnExists(\n params.settings.field,\n QUANTITATIVE_COLUMN_TYPES,\n columns,\n 'field',\n );\n\n const title = `Histogram of ${params.settings.field}`;\n\n const result = deps.createChart({\n artifactId,\n tableName,\n config: {\n chartType: 'histogram',\n settings: params.settings,\n },\n title,\n });\n\n return {\n llmResult: {\n success: true,\n details: `Created histogram \"${result.title}\".`,\n data: result,\n },\n };\n } catch (error) {\n return {\n llmResult: {\n success: false,\n errorMessage:\n error instanceof Error ? error.message : String(error),\n },\n };\n }\n },\n });\n}\n"]}
@@ -0,0 +1,115 @@
1
+ export * from './base-types';
2
+ import type { Tool } from 'ai';
3
+ export * from './errors';
4
+ import type { ChartTypeDefinition } from './base-types';
5
+ export { ChartConfig, type ChartSettings, type ChartType } from './chart-config';
6
+ export * from './histogram/schema';
7
+ export * from './line-chart/schema';
8
+ export * from './count-plot/schema';
9
+ export * from './heatmap/schema';
10
+ export * from './box-plot/schema';
11
+ export * from './bubble-chart/schema';
12
+ export * from './custom-spec/schema';
13
+ export { HistogramSettingsComponent } from './histogram/HistogramSettings';
14
+ export { LineChartSettingsComponent } from './line-chart/LineChartSettings';
15
+ export { CountPlotSettingsComponent } from './count-plot/CountPlotSettings';
16
+ export { HeatmapSettingsComponent } from './heatmap/HeatmapSettings';
17
+ export { BoxPlotSettingsComponent } from './box-plot/BoxPlotSettings';
18
+ export { BubbleChartSettingsComponent } from './bubble-chart/BubbleChartSettings';
19
+ export { CustomSpecSettingsComponent } from './custom-spec/CustomSpecSettings';
20
+ export * from './histogram/definition';
21
+ export * from './line-chart/definition';
22
+ export * from './count-plot/definition';
23
+ export * from './heatmap/definition';
24
+ export * from './box-plot/definition';
25
+ export * from './bubble-chart/definition';
26
+ export * from './custom-spec/definition';
27
+ export * from './tool-types';
28
+ export * from './tool-schemas';
29
+ export * from './tool-validation';
30
+ export * from './histogram/tool';
31
+ export * from './line-chart/tool';
32
+ export * from './count-plot/tool';
33
+ export * from './heatmap/tool';
34
+ export * from './bubble-chart/tool';
35
+ export * from './box-plot/tool';
36
+ import type { ChartToolDeps } from './base-types';
37
+ export declare const mosaicChartTypes: {
38
+ readonly histogram: import("./base-types").SpecChartTypeDefinition<{
39
+ chartType: "histogram";
40
+ settings: {
41
+ field?: string | undefined;
42
+ };
43
+ settingsOpen?: boolean | undefined;
44
+ }>;
45
+ readonly countPlot: import("./base-types").SpecChartTypeDefinition<{
46
+ chartType: "count-plot";
47
+ settings: {
48
+ field?: string | undefined;
49
+ };
50
+ settingsOpen?: boolean | undefined;
51
+ }>;
52
+ readonly lineChart: import("./base-types").SpecChartTypeDefinition<{
53
+ chartType: "line-chart";
54
+ settings: {
55
+ x?: string | undefined;
56
+ xInterval?: "second" | "minute" | "hour" | "day" | "week" | "month" | "quarter" | "year" | undefined;
57
+ yFields?: {
58
+ field: string;
59
+ aggregate: "sum" | "max" | "min" | "avg";
60
+ color?: string | undefined;
61
+ }[] | undefined;
62
+ };
63
+ settingsOpen?: boolean | undefined;
64
+ }>;
65
+ readonly heatmap: import("./base-types").SpecChartTypeDefinition<{
66
+ chartType: "heatmap";
67
+ settings: {
68
+ x?: string | undefined;
69
+ y?: string | undefined;
70
+ };
71
+ settingsOpen?: boolean | undefined;
72
+ }>;
73
+ readonly boxPlot: import("./base-types").ComponentChartTypeDefinition<{
74
+ chartType: "box-plot";
75
+ settings: {
76
+ x: string;
77
+ y: string;
78
+ };
79
+ settingsOpen?: boolean | undefined;
80
+ }>;
81
+ readonly bubbleChart: import("./base-types").SpecChartTypeDefinition<{
82
+ chartType: "bubble-chart";
83
+ settings: {
84
+ x?: string | undefined;
85
+ y?: string | undefined;
86
+ size?: string | undefined;
87
+ };
88
+ settingsOpen?: boolean | undefined;
89
+ }>;
90
+ readonly customSpec: import("./base-types").SpecChartTypeDefinition<{
91
+ chartType: "custom-spec";
92
+ settings: {
93
+ vgPlotSpec?: unknown;
94
+ };
95
+ settingsOpen?: boolean | undefined;
96
+ }>;
97
+ };
98
+ export declare function createDefaultChartTypes(options?: {
99
+ includeCustomSpec?: boolean;
100
+ }): ChartTypeDefinition<any>[];
101
+ /**
102
+ * Dynamically generate AI tools from chart type definitions.
103
+ *
104
+ * @param chartTypes Array of chart type definitions
105
+ * @param deps Dependencies needed by tool creators (resolveResources, createChart)
106
+ * @param toolNamePrefix Prefix for generated tool names (default: 'create_dashboard_')
107
+ * @returns Record mapping tool names to tool instances
108
+ *
109
+ * @example
110
+ * const chartTypes = createDefaultChartTypes({includeCustomSpec: false});
111
+ * const tools = createChartTools(chartTypes, deps);
112
+ * // Returns: { create_dashboard_histogram: ..., create_dashboard_line_chart: ..., ... }
113
+ */
114
+ export declare function createChartTools(chartTypes: ChartTypeDefinition<any>[], deps: ChartToolDeps, toolNamePrefix?: string): Record<string, Tool>;
115
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chart-types/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAG7B,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,IAAI,CAAC;AAG7B,cAAc,UAAU,CAAC;AAGzB,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAMtD,OAAO,EAAC,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAG/E,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EAAC,0BAA0B,EAAC,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAC,0BAA0B,EAAC,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAC,0BAA0B,EAAC,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAC,wBAAwB,EAAC,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAC,4BAA4B,EAAC,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAC,2BAA2B,EAAC,MAAM,kCAAkC,CAAC;AAG7E,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AAGzC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAUhC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQnB,CAAC;AAEX,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAgB7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,EACtC,IAAI,EAAE,aAAa,EACnB,cAAc,GAAE,MAA4B,GAC3C,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAWtB"}
@@ -0,0 +1,100 @@
1
+ // Re-export base types
2
+ export * from './base-types';
3
+ // Re-export error classes for chart definitions
4
+ export * from './errors';
5
+ // CRITICAL: Export ChartConfig FIRST, before importing Settings components
6
+ // Export ChartConfig from separate file to avoid circular dependencies
7
+ // (chart-types/index imports Settings components, which import ChartSettingsContext,
8
+ // which imports ChartConfig)
9
+ export { ChartConfig } from './chart-config';
10
+ // Re-export schemas
11
+ export * from './histogram/schema';
12
+ export * from './line-chart/schema';
13
+ export * from './count-plot/schema';
14
+ export * from './heatmap/schema';
15
+ export * from './box-plot/schema';
16
+ export * from './bubble-chart/schema';
17
+ export * from './custom-spec/schema';
18
+ // Re-export Settings components
19
+ export { HistogramSettingsComponent } from './histogram/HistogramSettings';
20
+ export { LineChartSettingsComponent } from './line-chart/LineChartSettings';
21
+ export { CountPlotSettingsComponent } from './count-plot/CountPlotSettings';
22
+ export { HeatmapSettingsComponent } from './heatmap/HeatmapSettings';
23
+ export { BoxPlotSettingsComponent } from './box-plot/BoxPlotSettings';
24
+ export { BubbleChartSettingsComponent } from './bubble-chart/BubbleChartSettings';
25
+ export { CustomSpecSettingsComponent } from './custom-spec/CustomSpecSettings';
26
+ // Re-export definitions
27
+ export * from './histogram/definition';
28
+ export * from './line-chart/definition';
29
+ export * from './count-plot/definition';
30
+ export * from './heatmap/definition';
31
+ export * from './box-plot/definition';
32
+ export * from './bubble-chart/definition';
33
+ export * from './custom-spec/definition';
34
+ // Re-export tool types, schemas, validation, and AI tool creators
35
+ export * from './tool-types';
36
+ export * from './tool-schemas';
37
+ export * from './tool-validation';
38
+ export * from './histogram/tool';
39
+ export * from './line-chart/tool';
40
+ export * from './count-plot/tool';
41
+ export * from './heatmap/tool';
42
+ export * from './bubble-chart/tool';
43
+ export * from './box-plot/tool';
44
+ // Import chart type definitions for legacy exports
45
+ import { histogramChartType } from './histogram/definition';
46
+ import { lineChartChartType } from './line-chart/definition';
47
+ import { countPlotChartType } from './count-plot/definition';
48
+ import { heatmapChartType } from './heatmap/definition';
49
+ import { boxPlotChartType } from './box-plot/definition';
50
+ import { bubbleChartChartType } from './bubble-chart/definition';
51
+ import { customSpecChartType } from './custom-spec/definition';
52
+ // Legacy compatibility exports
53
+ export const mosaicChartTypes = {
54
+ histogram: histogramChartType,
55
+ countPlot: countPlotChartType,
56
+ lineChart: lineChartChartType,
57
+ heatmap: heatmapChartType,
58
+ boxPlot: boxPlotChartType,
59
+ bubbleChart: bubbleChartChartType,
60
+ customSpec: customSpecChartType,
61
+ };
62
+ export function createDefaultChartTypes(options) {
63
+ const includeCustomSpec = options?.includeCustomSpec ?? true;
64
+ const chartTypes = [
65
+ histogramChartType,
66
+ countPlotChartType,
67
+ lineChartChartType,
68
+ heatmapChartType,
69
+ boxPlotChartType,
70
+ bubbleChartChartType,
71
+ ];
72
+ if (includeCustomSpec) {
73
+ chartTypes.push(customSpecChartType);
74
+ }
75
+ return chartTypes;
76
+ }
77
+ /**
78
+ * Dynamically generate AI tools from chart type definitions.
79
+ *
80
+ * @param chartTypes Array of chart type definitions
81
+ * @param deps Dependencies needed by tool creators (resolveResources, createChart)
82
+ * @param toolNamePrefix Prefix for generated tool names (default: 'create_dashboard_')
83
+ * @returns Record mapping tool names to tool instances
84
+ *
85
+ * @example
86
+ * const chartTypes = createDefaultChartTypes({includeCustomSpec: false});
87
+ * const tools = createChartTools(chartTypes, deps);
88
+ * // Returns: { create_dashboard_histogram: ..., create_dashboard_line_chart: ..., ... }
89
+ */
90
+ export function createChartTools(chartTypes, deps, toolNamePrefix = 'create_dashboard_') {
91
+ const tools = {};
92
+ for (const chartType of chartTypes) {
93
+ if (chartType.createTool) {
94
+ const toolName = `${toolNamePrefix}${chartType.id.replace(/-/g, '_')}`;
95
+ tools[toolName] = chartType.createTool(deps);
96
+ }
97
+ }
98
+ return tools;
99
+ }
100
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chart-types/index.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,cAAc,cAAc,CAAC;AAK7B,gDAAgD;AAChD,cAAc,UAAU,CAAC;AAKzB,2EAA2E;AAC3E,uEAAuE;AACvE,qFAAqF;AACrF,6BAA6B;AAC7B,OAAO,EAAC,WAAW,EAAqC,MAAM,gBAAgB,CAAC;AAE/E,oBAAoB;AACpB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AAErC,gCAAgC;AAChC,OAAO,EAAC,0BAA0B,EAAC,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAC,0BAA0B,EAAC,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAC,0BAA0B,EAAC,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAC,wBAAwB,EAAC,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAC,4BAA4B,EAAC,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAC,2BAA2B,EAAC,MAAM,kCAAkC,CAAC;AAE7E,wBAAwB;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AAEzC,kEAAkE;AAClE,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAEhC,mDAAmD;AACnD,OAAO,EAAC,kBAAkB,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAG7D,+BAA+B;AAC/B,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS,EAAE,kBAAkB;IAC7B,SAAS,EAAE,kBAAkB;IAC7B,SAAS,EAAE,kBAAkB;IAC7B,OAAO,EAAE,gBAAgB;IACzB,OAAO,EAAE,gBAAgB;IACzB,WAAW,EAAE,oBAAoB;IACjC,UAAU,EAAE,mBAAmB;CACvB,CAAC;AAEX,MAAM,UAAU,uBAAuB,CAAC,OAEvC;IACC,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,IAAI,IAAI,CAAC;IAC7D,MAAM,UAAU,GAA+B;QAC7C,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,gBAAgB;QAChB,gBAAgB;QAChB,oBAAoB;KACrB,CAAC;IAEF,IAAI,iBAAiB,EAAE,CAAC;QACtB,UAAU,CAAC,IAAI,CAAC,mBAA+C,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAsC,EACtC,IAAmB,EACnB,iBAAyB,mBAAmB;IAE5C,MAAM,KAAK,GAAyB,EAAE,CAAC;IAEvC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,GAAG,cAAc,GAAG,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACvE,KAAK,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["// Re-export base types\nexport * from './base-types';\n\n// Import Tool type for createChartTools function\nimport type {Tool} from 'ai';\n\n// Re-export error classes for chart definitions\nexport * from './errors';\n\n// Import specific types needed before re-exports\nimport type {ChartTypeDefinition} from './base-types';\n\n// CRITICAL: Export ChartConfig FIRST, before importing Settings components\n// Export ChartConfig from separate file to avoid circular dependencies\n// (chart-types/index imports Settings components, which import ChartSettingsContext,\n// which imports ChartConfig)\nexport {ChartConfig, type ChartSettings, type ChartType} from './chart-config';\n\n// Re-export schemas\nexport * from './histogram/schema';\nexport * from './line-chart/schema';\nexport * from './count-plot/schema';\nexport * from './heatmap/schema';\nexport * from './box-plot/schema';\nexport * from './bubble-chart/schema';\nexport * from './custom-spec/schema';\n\n// Re-export Settings components\nexport {HistogramSettingsComponent} from './histogram/HistogramSettings';\nexport {LineChartSettingsComponent} from './line-chart/LineChartSettings';\nexport {CountPlotSettingsComponent} from './count-plot/CountPlotSettings';\nexport {HeatmapSettingsComponent} from './heatmap/HeatmapSettings';\nexport {BoxPlotSettingsComponent} from './box-plot/BoxPlotSettings';\nexport {BubbleChartSettingsComponent} from './bubble-chart/BubbleChartSettings';\nexport {CustomSpecSettingsComponent} from './custom-spec/CustomSpecSettings';\n\n// Re-export definitions\nexport * from './histogram/definition';\nexport * from './line-chart/definition';\nexport * from './count-plot/definition';\nexport * from './heatmap/definition';\nexport * from './box-plot/definition';\nexport * from './bubble-chart/definition';\nexport * from './custom-spec/definition';\n\n// Re-export tool types, schemas, validation, and AI tool creators\nexport * from './tool-types';\nexport * from './tool-schemas';\nexport * from './tool-validation';\nexport * from './histogram/tool';\nexport * from './line-chart/tool';\nexport * from './count-plot/tool';\nexport * from './heatmap/tool';\nexport * from './bubble-chart/tool';\nexport * from './box-plot/tool';\n\n// Import chart type definitions for legacy exports\nimport {histogramChartType} from './histogram/definition';\nimport {lineChartChartType} from './line-chart/definition';\nimport {countPlotChartType} from './count-plot/definition';\nimport {heatmapChartType} from './heatmap/definition';\nimport {boxPlotChartType} from './box-plot/definition';\nimport {bubbleChartChartType} from './bubble-chart/definition';\nimport {customSpecChartType} from './custom-spec/definition';\nimport type {ChartToolDeps} from './base-types';\n\n// Legacy compatibility exports\nexport const mosaicChartTypes = {\n histogram: histogramChartType,\n countPlot: countPlotChartType,\n lineChart: lineChartChartType,\n heatmap: heatmapChartType,\n boxPlot: boxPlotChartType,\n bubbleChart: bubbleChartChartType,\n customSpec: customSpecChartType,\n} as const;\n\nexport function createDefaultChartTypes(options?: {\n includeCustomSpec?: boolean;\n}): ChartTypeDefinition<any>[] {\n const includeCustomSpec = options?.includeCustomSpec ?? true;\n const chartTypes: ChartTypeDefinition<any>[] = [\n histogramChartType,\n countPlotChartType,\n lineChartChartType,\n heatmapChartType,\n boxPlotChartType,\n bubbleChartChartType,\n ];\n\n if (includeCustomSpec) {\n chartTypes.push(customSpecChartType as ChartTypeDefinition<any>);\n }\n\n return chartTypes;\n}\n\n/**\n * Dynamically generate AI tools from chart type definitions.\n *\n * @param chartTypes Array of chart type definitions\n * @param deps Dependencies needed by tool creators (resolveResources, createChart)\n * @param toolNamePrefix Prefix for generated tool names (default: 'create_dashboard_')\n * @returns Record mapping tool names to tool instances\n *\n * @example\n * const chartTypes = createDefaultChartTypes({includeCustomSpec: false});\n * const tools = createChartTools(chartTypes, deps);\n * // Returns: { create_dashboard_histogram: ..., create_dashboard_line_chart: ..., ... }\n */\nexport function createChartTools(\n chartTypes: ChartTypeDefinition<any>[],\n deps: ChartToolDeps,\n toolNamePrefix: string = 'create_dashboard_',\n): Record<string, Tool> {\n const tools: Record<string, Tool> = {};\n\n for (const chartType of chartTypes) {\n if (chartType.createTool) {\n const toolName = `${toolNamePrefix}${chartType.id.replace(/-/g, '_')}`;\n tools[toolName] = chartType.createTool(deps);\n }\n }\n\n return tools;\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { type FC } from 'react';
2
+ /**
3
+ * Explicit settings component for line chart.
4
+ * Composes primitive and compound components for full control over the UI.
5
+ */
6
+ export declare const LineChartSettingsComponent: FC;
7
+ //# sourceMappingURL=LineChartSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineChartSettings.d.ts","sourceRoot":"","sources":["../../../src/chart-types/line-chart/LineChartSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,EAAC,MAAM,OAAO,CAAC;AAS9B;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,EAyCxC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Field } from '../../chart-builders/Field';
3
+ import { ColumnSelector } from '../../chart-builders/ColumnSelector';
4
+ import { TemporalGranularitySelector } from '../../chart-builders/TemporalGranularitySelector';
5
+ import { useChartSettingsContext } from '../../chart/chart-settings/ChartSettingsContext';
6
+ import { MultiFieldSelector } from '../../chart-builders/MultiFieldSelector';
7
+ import { isTemporalType } from '../../chart-builders/constants';
8
+ /**
9
+ * Explicit settings component for line chart.
10
+ * Composes primitive and compound components for full control over the UI.
11
+ */
12
+ export const LineChartSettingsComponent = () => {
13
+ const { columns, onChangeConfig, config } = useChartSettingsContext('line-chart');
14
+ const xField = columns.find((c) => c.name === config.settings.x);
15
+ const isXFieldTemporal = xField && isTemporalType(xField.type);
16
+ return (_jsxs("div", { className: "space-y-4", children: [_jsx(Field, { label: "X Axis", required: true, children: _jsxs("div", { className: "grid items-end gap-2", style: {
17
+ gridTemplateColumns: isXFieldTemporal
18
+ ? 'minmax(120px, 1fr) 100px'
19
+ : '1fr',
20
+ }, children: [_jsx(ColumnSelector.Quantitative, { value: config.settings.x, onChange: (x) => onChangeConfig('x', x) }), isXFieldTemporal && (_jsx(TemporalGranularitySelector, { value: config.settings.xInterval, onChange: (xInterval) => onChangeConfig('xInterval', xInterval), xFieldType: xField.type }))] }) }), _jsx(Field, { label: "Y Axis", required: true, children: _jsx(MultiFieldSelector.Numeric, { value: config.settings.yFields ?? [], onChange: (yFields) => onChangeConfig('yFields', yFields), showAggregation: Boolean(config.settings.xInterval) }) })] }));
21
+ };
22
+ //# sourceMappingURL=LineChartSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineChartSettings.js","sourceRoot":"","sources":["../../../src/chart-types/line-chart/LineChartSettings.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,KAAK,EAAC,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAC,cAAc,EAAC,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAC,2BAA2B,EAAC,MAAM,kDAAkD,CAAC;AAC7F,OAAO,EAAC,uBAAuB,EAAC,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAO,GAAG,EAAE;IACjD,MAAM,EAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAC,GACrC,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,gBAAgB,GAAG,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/D,OAAO,CACL,eAAK,SAAS,EAAC,WAAW,aACxB,KAAC,KAAK,IAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,kBAC5B,eACE,SAAS,EAAC,sBAAsB,EAChC,KAAK,EAAE;wBACL,mBAAmB,EAAE,gBAAgB;4BACnC,CAAC,CAAC,0BAA0B;4BAC5B,CAAC,CAAC,KAAK;qBACV,aAED,KAAC,cAAc,CAAC,YAAY,IAC1B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,GACvC,EACD,gBAAgB,IAAI,CACnB,KAAC,2BAA2B,IAC1B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAChC,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,EAC/D,UAAU,EAAE,MAAM,CAAC,IAAI,GACvB,CACH,IACG,GACA,EAER,KAAC,KAAK,IAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,kBAC5B,KAAC,kBAAkB,CAAC,OAAO,IACzB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,EACpC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,EACzD,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,GACnD,GACI,IACJ,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import {type FC} from 'react';\nimport {Field} from '../../chart-builders/Field';\nimport {ColumnSelector} from '../../chart-builders/ColumnSelector';\n\nimport {TemporalGranularitySelector} from '../../chart-builders/TemporalGranularitySelector';\nimport {useChartSettingsContext} from '../../chart/chart-settings/ChartSettingsContext';\nimport {MultiFieldSelector} from '../../chart-builders/MultiFieldSelector';\nimport {isTemporalType} from '../../chart-builders/constants';\n\n/**\n * Explicit settings component for line chart.\n * Composes primitive and compound components for full control over the UI.\n */\nexport const LineChartSettingsComponent: FC = () => {\n const {columns, onChangeConfig, config} =\n useChartSettingsContext('line-chart');\n\n const xField = columns.find((c) => c.name === config.settings.x);\n const isXFieldTemporal = xField && isTemporalType(xField.type);\n\n return (\n <div className=\"space-y-4\">\n <Field label=\"X Axis\" required>\n <div\n className=\"grid items-end gap-2\"\n style={{\n gridTemplateColumns: isXFieldTemporal\n ? 'minmax(120px, 1fr) 100px'\n : '1fr',\n }}\n >\n <ColumnSelector.Quantitative\n value={config.settings.x}\n onChange={(x) => onChangeConfig('x', x)}\n />\n {isXFieldTemporal && (\n <TemporalGranularitySelector\n value={config.settings.xInterval}\n onChange={(xInterval) => onChangeConfig('xInterval', xInterval)}\n xFieldType={xField.type}\n />\n )}\n </div>\n </Field>\n\n <Field label=\"Y Axis\" required>\n <MultiFieldSelector.Numeric\n value={config.settings.yFields ?? []}\n onChange={(yFields) => onChangeConfig('yFields', yFields)}\n showAggregation={Boolean(config.settings.xInterval)}\n />\n </Field>\n </div>\n );\n};\n"]}
@@ -0,0 +1,4 @@
1
+ import type { SpecChartTypeDefinition } from '../base-types';
2
+ import { LineChartConfig } from './schema';
3
+ export declare const lineChartChartType: SpecChartTypeDefinition<LineChartConfig>;
4
+ //# sourceMappingURL=definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../src/chart-types/line-chart/definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAoB,MAAM,UAAU,CAAC;AAS5D,eAAO,MAAM,kBAAkB,EAAE,uBAAuB,CAAC,eAAe,CAUvE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { LineChartSettings } from './schema';
2
+ import { titleFromDescription } from '../../chart-builders/chartTypeUtils';
3
+ import { LineChartSettingsComponent } from './LineChartSettings';
4
+ import { createLineChartAiTool } from './tool';
5
+ import { LineChart } from 'lucide-react';
6
+ import { createLineChartSpec } from './spec';
7
+ const DESCRIPTION = 'Create a line chart of two fields';
8
+ export const lineChartChartType = {
9
+ id: 'line-chart',
10
+ label: 'Line Chart',
11
+ description: DESCRIPTION,
12
+ icon: LineChart,
13
+ schema: LineChartSettings,
14
+ settingsComponent: LineChartSettingsComponent,
15
+ buildTitle: titleFromDescription(DESCRIPTION),
16
+ createTool: createLineChartAiTool,
17
+ createSpec: createLineChartSpec,
18
+ };
19
+ //# sourceMappingURL=definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../src/chart-types/line-chart/definition.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,iBAAiB,EAAC,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAC,oBAAoB,EAAC,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAC,0BAA0B,EAAC,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAC,qBAAqB,EAAC,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,mBAAmB,EAAC,MAAM,QAAQ,CAAC;AAE3C,MAAM,WAAW,GAAG,mCAAmC,CAAC;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAA6C;IAC1E,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,WAAW;IACxB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,iBAAiB;IACzB,iBAAiB,EAAE,0BAA0B;IAC7C,UAAU,EAAE,oBAAoB,CAAC,WAAW,CAAC;IAC7C,UAAU,EAAE,qBAAqB;IACjC,UAAU,EAAE,mBAAmB;CAChC,CAAC","sourcesContent":["import type {SpecChartTypeDefinition} from '../base-types';\nimport {LineChartConfig, LineChartSettings} from './schema';\nimport {titleFromDescription} from '../../chart-builders/chartTypeUtils';\nimport {LineChartSettingsComponent} from './LineChartSettings';\nimport {createLineChartAiTool} from './tool';\nimport {LineChart} from 'lucide-react';\nimport {createLineChartSpec} from './spec';\n\nconst DESCRIPTION = 'Create a line chart of two fields';\n\nexport const lineChartChartType: SpecChartTypeDefinition<LineChartConfig> = {\n id: 'line-chart',\n label: 'Line Chart',\n description: DESCRIPTION,\n icon: LineChart,\n schema: LineChartSettings,\n settingsComponent: LineChartSettingsComponent,\n buildTitle: titleFromDescription(DESCRIPTION),\n createTool: createLineChartAiTool,\n createSpec: createLineChartSpec,\n};\n"]}
@@ -0,0 +1,83 @@
1
+ import { z } from 'zod';
2
+ export declare const TemporalInterval: z.ZodEnum<{
3
+ second: "second";
4
+ minute: "minute";
5
+ hour: "hour";
6
+ day: "day";
7
+ week: "week";
8
+ month: "month";
9
+ quarter: "quarter";
10
+ year: "year";
11
+ }>;
12
+ export type TemporalInterval = z.infer<typeof TemporalInterval>;
13
+ export declare const AggregateFunction: z.ZodEnum<{
14
+ sum: "sum";
15
+ max: "max";
16
+ min: "min";
17
+ avg: "avg";
18
+ }>;
19
+ export type AggregateFunction = z.infer<typeof AggregateFunction>;
20
+ export declare const YFieldConfig: z.ZodObject<{
21
+ field: z.ZodString;
22
+ color: z.ZodOptional<z.ZodString>;
23
+ aggregate: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
24
+ sum: "sum";
25
+ max: "max";
26
+ min: "min";
27
+ avg: "avg";
28
+ }>>>;
29
+ }, z.core.$strip>;
30
+ export type YFieldConfig = z.infer<typeof YFieldConfig>;
31
+ export declare const LineChartSettings: z.ZodObject<{
32
+ x: z.ZodOptional<z.ZodString>;
33
+ xInterval: z.ZodOptional<z.ZodEnum<{
34
+ second: "second";
35
+ minute: "minute";
36
+ hour: "hour";
37
+ day: "day";
38
+ week: "week";
39
+ month: "month";
40
+ quarter: "quarter";
41
+ year: "year";
42
+ }>>;
43
+ yFields: z.ZodOptional<z.ZodArray<z.ZodObject<{
44
+ field: z.ZodString;
45
+ color: z.ZodOptional<z.ZodString>;
46
+ aggregate: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
47
+ sum: "sum";
48
+ max: "max";
49
+ min: "min";
50
+ avg: "avg";
51
+ }>>>;
52
+ }, z.core.$strip>>>;
53
+ }, z.core.$strip>;
54
+ export type LineChartSettings = z.infer<typeof LineChartSettings>;
55
+ export declare const LineChartConfig: z.ZodObject<{
56
+ chartType: z.ZodLiteral<"line-chart">;
57
+ settings: z.ZodObject<{
58
+ x: z.ZodOptional<z.ZodString>;
59
+ xInterval: z.ZodOptional<z.ZodEnum<{
60
+ second: "second";
61
+ minute: "minute";
62
+ hour: "hour";
63
+ day: "day";
64
+ week: "week";
65
+ month: "month";
66
+ quarter: "quarter";
67
+ year: "year";
68
+ }>>;
69
+ yFields: z.ZodOptional<z.ZodArray<z.ZodObject<{
70
+ field: z.ZodString;
71
+ color: z.ZodOptional<z.ZodString>;
72
+ aggregate: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
73
+ sum: "sum";
74
+ max: "max";
75
+ min: "min";
76
+ avg: "avg";
77
+ }>>>;
78
+ }, z.core.$strip>>>;
79
+ }, z.core.$strip>;
80
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
81
+ }, z.core.$strip>;
82
+ export type LineChartConfig = z.infer<typeof LineChartConfig>;
83
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/chart-types/line-chart/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB,eAAO,MAAM,gBAAgB;;;;;;;;;EAS3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAGhE,eAAO,MAAM,iBAAiB;;;;;EAAuC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAGlE,eAAO,MAAM,YAAY;;;;;;;;;iBAMvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;iBAY5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { z } from 'zod';
2
+ // Temporal interval enum
3
+ export const TemporalInterval = z.enum([
4
+ 'year',
5
+ 'quarter',
6
+ 'month',
7
+ 'week',
8
+ 'day',
9
+ 'hour',
10
+ 'minute',
11
+ 'second',
12
+ ]);
13
+ // Aggregate function enum
14
+ export const AggregateFunction = z.enum(['sum', 'avg', 'min', 'max']);
15
+ // Y-field configuration
16
+ export const YFieldConfig = z.object({
17
+ field: z.string().describe('Numeric column name to plot on Y axis'),
18
+ color: z.string().optional().describe('Optional color for this line'),
19
+ aggregate: AggregateFunction.optional()
20
+ .default('sum')
21
+ .describe('Aggregation function: sum, avg, min, or max'),
22
+ });
23
+ export const LineChartSettings = z.object({
24
+ x: z
25
+ .string()
26
+ .optional()
27
+ .describe('Column for X axis, typically temporal (date/time)'),
28
+ xInterval: TemporalInterval.optional().describe('Temporal binning interval: year, month, day, hour, etc.'),
29
+ yFields: z
30
+ .array(YFieldConfig)
31
+ .optional()
32
+ .describe('Array of Y fields to plot, supports multiple lines'),
33
+ });
34
+ export const LineChartConfig = z.object({
35
+ chartType: z.literal('line-chart'),
36
+ settings: LineChartSettings,
37
+ settingsOpen: z.boolean().optional(),
38
+ });
39
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/chart-types/line-chart/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,yBAAyB;AACzB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC;IACrC,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;CACT,CAAC,CAAC;AAGH,0BAA0B;AAC1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAGtE,wBAAwB;AACxB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACnE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACrE,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE;SACpC,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,CAAC,EAAE,CAAC;SACD,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,SAAS,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC7C,yDAAyD,CAC1D;IACD,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,YAAY,CAAC;SACnB,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;CAClE,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAClC,QAAQ,EAAE,iBAAiB;IAC3B,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC","sourcesContent":["import {z} from 'zod';\n\n// Temporal interval enum\nexport const TemporalInterval = z.enum([\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n]);\nexport type TemporalInterval = z.infer<typeof TemporalInterval>;\n\n// Aggregate function enum\nexport const AggregateFunction = z.enum(['sum', 'avg', 'min', 'max']);\nexport type AggregateFunction = z.infer<typeof AggregateFunction>;\n\n// Y-field configuration\nexport const YFieldConfig = z.object({\n field: z.string().describe('Numeric column name to plot on Y axis'),\n color: z.string().optional().describe('Optional color for this line'),\n aggregate: AggregateFunction.optional()\n .default('sum')\n .describe('Aggregation function: sum, avg, min, or max'),\n});\nexport type YFieldConfig = z.infer<typeof YFieldConfig>;\n\nexport const LineChartSettings = z.object({\n x: z\n .string()\n .optional()\n .describe('Column for X axis, typically temporal (date/time)'),\n xInterval: TemporalInterval.optional().describe(\n 'Temporal binning interval: year, month, day, hour, etc.',\n ),\n yFields: z\n .array(YFieldConfig)\n .optional()\n .describe('Array of Y fields to plot, supports multiple lines'),\n});\n\nexport type LineChartSettings = z.infer<typeof LineChartSettings>;\n\nexport const LineChartConfig = z.object({\n chartType: z.literal('line-chart'),\n settings: LineChartSettings,\n settingsOpen: z.boolean().optional(),\n});\n\nexport type LineChartConfig = z.infer<typeof LineChartConfig>;\n"]}
@@ -0,0 +1,4 @@
1
+ import type { Spec } from '@uwdata/mosaic-spec';
2
+ import { LineChartSettings } from './schema';
3
+ export declare function createLineChartSpec(tableName: string, { x, yFields, xInterval }: LineChartSettings): Spec;
4
+ //# sourceMappingURL=spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../../src/chart-types/line-chart/spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,UAAU,CAAC;AAuB3C,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,EAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAC,EAAE,iBAAiB,GACzC,IAAI,CAkFN"}
@@ -0,0 +1,91 @@
1
+ import { SpecGenerationError } from '../errors';
2
+ // Chart color palette matching theme colors from tailwind-preset.css
3
+ const CHART_COLORS = [
4
+ '#ea7c5c', // chart-1: hsl(12, 76%, 61%)
5
+ '#2a9d8f', // chart-2: hsl(173, 58%, 39%)
6
+ '#264653', // chart-3: hsl(197, 37%, 24%)
7
+ '#e9c46a', // chart-4: hsl(43, 74%, 66%)
8
+ '#f4a261', // chart-5: hsl(27, 87%, 67%)
9
+ ];
10
+ function getLineColor(fieldConfig, index) {
11
+ if (fieldConfig.color) {
12
+ return fieldConfig.color;
13
+ }
14
+ // CHART_COLORS is non-empty, so this is always defined
15
+ return CHART_COLORS[index % CHART_COLORS.length];
16
+ }
17
+ export function createLineChartSpec(tableName, { x, yFields, xInterval }) {
18
+ if (!x) {
19
+ throw new SpecGenerationError('X field is required for line chart');
20
+ }
21
+ if (!yFields || yFields.length === 0) {
22
+ throw new SpecGenerationError('At least one Y field is required for line chart');
23
+ }
24
+ const plotMarks = [];
25
+ // When temporal aggregation is active, use SQL binning
26
+ const dataSource = xInterval
27
+ ? {
28
+ from: tableName,
29
+ filterBy: '$brush',
30
+ }
31
+ : { from: tableName, filterBy: '$brush' };
32
+ // Generate lineY and text marks for each Y field
33
+ yFields.forEach((fieldConfig, index) => {
34
+ const color = getLineColor(fieldConfig, index);
35
+ const aggregate = fieldConfig.aggregate || 'sum';
36
+ // When temporal aggregation is active, use bin for X and aggregation for Y
37
+ if (xInterval) {
38
+ // Use bin syntax for temporal aggregation
39
+ plotMarks.push({
40
+ mark: 'lineY',
41
+ data: dataSource,
42
+ x: { bin: x, interval: xInterval },
43
+ y: { [aggregate]: fieldConfig.field },
44
+ stroke: color,
45
+ });
46
+ // Text label with aggregation info
47
+ plotMarks.push({
48
+ mark: 'text',
49
+ data: dataSource,
50
+ x: { bin: x, interval: xInterval },
51
+ y: { [aggregate]: fieldConfig.field },
52
+ text: [`${fieldConfig.field} (${aggregate})`],
53
+ fill: color,
54
+ dx: 5,
55
+ dy: -5,
56
+ });
57
+ }
58
+ else {
59
+ // No aggregation - direct field references
60
+ plotMarks.push({
61
+ mark: 'lineY',
62
+ data: dataSource,
63
+ x,
64
+ y: fieldConfig.field,
65
+ stroke: color,
66
+ });
67
+ plotMarks.push({
68
+ mark: 'text',
69
+ data: dataSource,
70
+ x,
71
+ y: fieldConfig.field,
72
+ text: [fieldConfig.field],
73
+ fill: color,
74
+ dx: 5,
75
+ dy: -5,
76
+ });
77
+ }
78
+ });
79
+ // Add brush
80
+ plotMarks.push({ select: 'intervalX', as: '$brush' });
81
+ return {
82
+ plot: plotMarks,
83
+ xLabel: x,
84
+ yLabel: undefined,
85
+ height: 250,
86
+ width: 380,
87
+ margins: { left: 50, right: 20, top: 20, bottom: 50 },
88
+ params: { brush: { select: 'crossfilter' } },
89
+ };
90
+ }
91
+ //# sourceMappingURL=spec.js.map