@sqlrooms/mosaic 0.29.0-rc.3 → 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 (472) hide show
  1. package/README.md +90 -1
  2. package/dist/MosaicChartBuilder.d.ts +0 -4
  3. package/dist/MosaicChartBuilder.d.ts.map +1 -1
  4. package/dist/MosaicChartBuilder.js +0 -6
  5. package/dist/MosaicChartBuilder.js.map +1 -1
  6. package/dist/MosaicSlice.d.ts +17 -10
  7. package/dist/MosaicSlice.d.ts.map +1 -1
  8. package/dist/MosaicSlice.js +4 -1
  9. package/dist/MosaicSlice.js.map +1 -1
  10. package/dist/boxplot/BoxPlotClient.d.ts +58 -0
  11. package/dist/boxplot/BoxPlotClient.d.ts.map +1 -0
  12. package/dist/boxplot/BoxPlotClient.js +264 -0
  13. package/dist/boxplot/BoxPlotClient.js.map +1 -0
  14. package/dist/chart/MosaicDashboardChart.d.ts +14 -0
  15. package/dist/chart/MosaicDashboardChart.d.ts.map +1 -0
  16. package/dist/chart/MosaicDashboardChart.js +21 -0
  17. package/dist/chart/MosaicDashboardChart.js.map +1 -0
  18. package/dist/chart/MosaicDashboardChartContent.d.ts +16 -0
  19. package/dist/chart/MosaicDashboardChartContent.d.ts.map +1 -0
  20. package/dist/chart/MosaicDashboardChartContent.js +18 -0
  21. package/dist/chart/MosaicDashboardChartContent.js.map +1 -0
  22. package/dist/chart/MosaicDashboardChartHeaderActions.d.ts +4 -0
  23. package/dist/chart/MosaicDashboardChartHeaderActions.d.ts.map +1 -0
  24. package/dist/chart/MosaicDashboardChartHeaderActions.js +16 -0
  25. package/dist/chart/MosaicDashboardChartHeaderActions.js.map +1 -0
  26. package/dist/chart/MosaicDashboardChartRenderer.d.ts +3 -0
  27. package/dist/chart/MosaicDashboardChartRenderer.d.ts.map +1 -0
  28. package/dist/chart/MosaicDashboardChartRenderer.js +31 -0
  29. package/dist/chart/MosaicDashboardChartRenderer.js.map +1 -0
  30. package/dist/chart/MosaicDashboardComponentChart.d.ts +14 -0
  31. package/dist/chart/MosaicDashboardComponentChart.d.ts.map +1 -0
  32. package/dist/chart/MosaicDashboardComponentChart.js +11 -0
  33. package/dist/chart/MosaicDashboardComponentChart.js.map +1 -0
  34. package/dist/chart/MosaicDashboardVgPlotChart.d.ts +10 -0
  35. package/dist/chart/MosaicDashboardVgPlotChart.d.ts.map +1 -0
  36. package/dist/chart/MosaicDashboardVgPlotChart.js +10 -0
  37. package/dist/chart/MosaicDashboardVgPlotChart.js.map +1 -0
  38. package/dist/chart/MosaicDashboardVgPlotError.d.ts +8 -0
  39. package/dist/chart/MosaicDashboardVgPlotError.d.ts.map +1 -0
  40. package/dist/chart/MosaicDashboardVgPlotError.js +11 -0
  41. package/dist/chart/MosaicDashboardVgPlotError.js.map +1 -0
  42. package/dist/{dashboard → chart}/chart-settings/ChartSettings.d.ts +12 -7
  43. package/dist/chart/chart-settings/ChartSettings.d.ts.map +1 -0
  44. package/dist/chart/chart-settings/ChartSettings.js +71 -0
  45. package/dist/chart/chart-settings/ChartSettings.js.map +1 -0
  46. package/dist/chart/chart-settings/ChartSettingsContent.d.ts +13 -0
  47. package/dist/chart/chart-settings/ChartSettingsContent.d.ts.map +1 -0
  48. package/dist/chart/chart-settings/ChartSettingsContent.js +18 -0
  49. package/dist/chart/chart-settings/ChartSettingsContent.js.map +1 -0
  50. package/dist/chart/chart-settings/ChartSettingsContext.d.ts +27 -0
  51. package/dist/chart/chart-settings/ChartSettingsContext.d.ts.map +1 -0
  52. package/dist/chart/chart-settings/ChartSettingsContext.js +35 -0
  53. package/dist/chart/chart-settings/ChartSettingsContext.js.map +1 -0
  54. package/dist/chart/chart-settings/ChartSettingsPanel.d.ts +14 -0
  55. package/dist/chart/chart-settings/ChartSettingsPanel.d.ts.map +1 -0
  56. package/dist/chart/chart-settings/ChartSettingsPanel.js +17 -0
  57. package/dist/chart/chart-settings/ChartSettingsPanel.js.map +1 -0
  58. package/dist/chart/chart-settings/ChartSpecViewerPanel.d.ts +9 -0
  59. package/dist/chart/chart-settings/ChartSpecViewerPanel.d.ts.map +1 -0
  60. package/dist/chart/chart-settings/ChartSpecViewerPanel.js +11 -0
  61. package/dist/chart/chart-settings/ChartSpecViewerPanel.js.map +1 -0
  62. package/dist/chart/chart-settings/ChartTypeSelector.d.ts +9 -0
  63. package/dist/chart/chart-settings/ChartTypeSelector.d.ts.map +1 -0
  64. package/dist/chart/chart-settings/ChartTypeSelector.js +16 -0
  65. package/dist/chart/chart-settings/ChartTypeSelector.js.map +1 -0
  66. package/dist/chart/chart-settings/useTableColumns.d.ts.map +1 -0
  67. package/dist/{dashboard → chart}/chart-settings/useTableColumns.js +1 -1
  68. package/dist/chart/chart-settings/useTableColumns.js.map +1 -0
  69. package/dist/chart/useBrushSelectionParams.d.ts +3 -0
  70. package/dist/chart/useBrushSelectionParams.d.ts.map +1 -0
  71. package/dist/chart/useBrushSelectionParams.js +16 -0
  72. package/dist/chart/useBrushSelectionParams.js.map +1 -0
  73. package/dist/chart/useChartRetainer.d.ts +3 -0
  74. package/dist/chart/useChartRetainer.d.ts.map +1 -0
  75. package/dist/chart/useChartRetainer.js +11 -0
  76. package/dist/chart/useChartRetainer.js.map +1 -0
  77. package/dist/chart/useGenerateSpec.d.ts +13 -0
  78. package/dist/chart/useGenerateSpec.d.ts.map +1 -0
  79. package/dist/chart/useGenerateSpec.js +32 -0
  80. package/dist/chart/useGenerateSpec.js.map +1 -0
  81. package/dist/chart-builders/AggregationSelector.d.ts +11 -0
  82. package/dist/chart-builders/AggregationSelector.d.ts.map +1 -0
  83. package/dist/chart-builders/AggregationSelector.js +9 -0
  84. package/dist/chart-builders/AggregationSelector.js.map +1 -0
  85. package/dist/chart-builders/ChartBuilderActions.d.ts +2 -2
  86. package/dist/chart-builders/ChartBuilderActions.d.ts.map +1 -1
  87. package/dist/chart-builders/ChartBuilderActions.js +24 -16
  88. package/dist/chart-builders/ChartBuilderActions.js.map +1 -1
  89. package/dist/chart-builders/ChartBuilderContent.d.ts +4 -6
  90. package/dist/chart-builders/ChartBuilderContent.d.ts.map +1 -1
  91. package/dist/chart-builders/ChartBuilderContent.js.map +1 -1
  92. package/dist/chart-builders/ChartBuilderContext.d.ts +5 -6
  93. package/dist/chart-builders/ChartBuilderContext.d.ts.map +1 -1
  94. package/dist/chart-builders/ChartBuilderContext.js.map +1 -1
  95. package/dist/chart-builders/ChartBuilderDialog.d.ts +7 -10
  96. package/dist/chart-builders/ChartBuilderDialog.d.ts.map +1 -1
  97. package/dist/chart-builders/ChartBuilderDialog.js +1 -1
  98. package/dist/chart-builders/ChartBuilderDialog.js.map +1 -1
  99. package/dist/chart-builders/ChartBuilderFields.d.ts +2 -2
  100. package/dist/chart-builders/ChartBuilderFields.d.ts.map +1 -1
  101. package/dist/chart-builders/ChartBuilderFields.js +28 -14
  102. package/dist/chart-builders/ChartBuilderFields.js.map +1 -1
  103. package/dist/chart-builders/ChartBuilderRoot.d.ts +4 -6
  104. package/dist/chart-builders/ChartBuilderRoot.d.ts.map +1 -1
  105. package/dist/chart-builders/ChartBuilderRoot.js +9 -28
  106. package/dist/chart-builders/ChartBuilderRoot.js.map +1 -1
  107. package/dist/chart-builders/ColumnSelector.d.ts +15 -0
  108. package/dist/chart-builders/ColumnSelector.d.ts.map +1 -0
  109. package/dist/chart-builders/ColumnSelector.js +31 -0
  110. package/dist/chart-builders/ColumnSelector.js.map +1 -0
  111. package/dist/chart-builders/Field.d.ts +11 -0
  112. package/dist/chart-builders/Field.d.ts.map +1 -0
  113. package/dist/chart-builders/Field.js +9 -0
  114. package/dist/chart-builders/Field.js.map +1 -0
  115. package/dist/chart-builders/FieldSelectorInput.d.ts +2 -1
  116. package/dist/chart-builders/FieldSelectorInput.d.ts.map +1 -1
  117. package/dist/chart-builders/FieldSelectorInput.js +5 -5
  118. package/dist/chart-builders/FieldSelectorInput.js.map +1 -1
  119. package/dist/chart-builders/MultiFieldSelector.d.ts +14 -0
  120. package/dist/chart-builders/MultiFieldSelector.d.ts.map +1 -0
  121. package/dist/chart-builders/MultiFieldSelector.js +53 -0
  122. package/dist/chart-builders/MultiFieldSelector.js.map +1 -0
  123. package/dist/chart-builders/TemporalGranularitySelector.d.ts +10 -0
  124. package/dist/chart-builders/TemporalGranularitySelector.d.ts.map +1 -0
  125. package/dist/chart-builders/TemporalGranularitySelector.js +37 -0
  126. package/dist/chart-builders/TemporalGranularitySelector.js.map +1 -0
  127. package/dist/chart-builders/chartSpecTitle.d.ts +1 -1
  128. package/dist/chart-builders/chartSpecTitle.d.ts.map +1 -1
  129. package/dist/chart-builders/chartSpecTitle.js.map +1 -1
  130. package/dist/chart-builders/chartTypeUtils.d.ts +5 -9
  131. package/dist/chart-builders/chartTypeUtils.d.ts.map +1 -1
  132. package/dist/chart-builders/chartTypeUtils.js +24 -32
  133. package/dist/chart-builders/chartTypeUtils.js.map +1 -1
  134. package/dist/chart-builders/constants.d.ts +5 -0
  135. package/dist/chart-builders/constants.d.ts.map +1 -1
  136. package/dist/chart-builders/constants.js +13 -0
  137. package/dist/chart-builders/constants.js.map +1 -1
  138. package/dist/chart-builders/createChartBuilderStore.d.ts +5 -5
  139. package/dist/chart-builders/createChartBuilderStore.d.ts.map +1 -1
  140. package/dist/chart-builders/createChartBuilderStore.js.map +1 -1
  141. package/dist/chart-types/base-types.d.ts +112 -18
  142. package/dist/chart-types/base-types.d.ts.map +1 -1
  143. package/dist/chart-types/base-types.js +6 -1
  144. package/dist/chart-types/base-types.js.map +1 -1
  145. package/dist/chart-types/box-plot/BoxPlotSettings.d.ts +3 -0
  146. package/dist/chart-types/box-plot/BoxPlotSettings.d.ts.map +1 -0
  147. package/dist/chart-types/box-plot/BoxPlotSettings.js +9 -0
  148. package/dist/chart-types/box-plot/BoxPlotSettings.js.map +1 -0
  149. package/dist/chart-types/box-plot/definition.d.ts +3 -3
  150. package/dist/chart-types/box-plot/definition.d.ts.map +1 -1
  151. package/dist/chart-types/box-plot/definition.js +10 -36
  152. package/dist/chart-types/box-plot/definition.js.map +1 -1
  153. package/dist/chart-types/box-plot/renderer/BoxPlotErrorBoundary.d.ts +18 -0
  154. package/dist/chart-types/box-plot/renderer/BoxPlotErrorBoundary.d.ts.map +1 -0
  155. package/dist/chart-types/box-plot/renderer/BoxPlotErrorBoundary.js +28 -0
  156. package/dist/chart-types/box-plot/renderer/BoxPlotErrorBoundary.js.map +1 -0
  157. package/dist/chart-types/box-plot/renderer/BoxPlotPanelRenderer.d.ts +9 -0
  158. package/dist/chart-types/box-plot/renderer/BoxPlotPanelRenderer.d.ts.map +1 -0
  159. package/dist/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js +115 -0
  160. package/dist/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js.map +1 -0
  161. package/dist/chart-types/box-plot/renderer/constants.d.ts +24 -0
  162. package/dist/chart-types/box-plot/renderer/constants.d.ts.map +1 -0
  163. package/dist/chart-types/box-plot/renderer/constants.js +17 -0
  164. package/dist/chart-types/box-plot/renderer/constants.js.map +1 -0
  165. package/dist/chart-types/box-plot/renderer/plot.d.ts +14 -0
  166. package/dist/chart-types/box-plot/renderer/plot.d.ts.map +1 -0
  167. package/dist/chart-types/box-plot/renderer/plot.js +91 -0
  168. package/dist/chart-types/box-plot/renderer/plot.js.map +1 -0
  169. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.d.ts +14 -0
  170. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.d.ts.map +1 -0
  171. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.js +45 -0
  172. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.js.map +1 -0
  173. package/dist/chart-types/box-plot/renderer/utils.d.ts +6 -0
  174. package/dist/chart-types/box-plot/renderer/utils.d.ts.map +1 -0
  175. package/dist/chart-types/box-plot/renderer/utils.js +34 -0
  176. package/dist/chart-types/box-plot/renderer/utils.js.map +1 -0
  177. package/dist/chart-types/box-plot/schema.d.ts +4 -5
  178. package/dist/chart-types/box-plot/schema.d.ts.map +1 -1
  179. package/dist/chart-types/box-plot/schema.js +2 -3
  180. package/dist/chart-types/box-plot/schema.js.map +1 -1
  181. package/dist/chart-types/box-plot/tool.d.ts +44 -0
  182. package/dist/chart-types/box-plot/tool.d.ts.map +1 -0
  183. package/dist/chart-types/box-plot/tool.js +59 -0
  184. package/dist/chart-types/box-plot/tool.js.map +1 -0
  185. package/dist/chart-types/bubble-chart/BubbleChartSettings.d.ts +3 -0
  186. package/dist/chart-types/bubble-chart/BubbleChartSettings.d.ts.map +1 -0
  187. package/dist/chart-types/bubble-chart/BubbleChartSettings.js +9 -0
  188. package/dist/chart-types/bubble-chart/BubbleChartSettings.js.map +1 -0
  189. package/dist/chart-types/bubble-chart/definition.d.ts +3 -3
  190. package/dist/chart-types/bubble-chart/definition.d.ts.map +1 -1
  191. package/dist/chart-types/bubble-chart/definition.js +10 -39
  192. package/dist/chart-types/bubble-chart/definition.js.map +1 -1
  193. package/dist/chart-types/bubble-chart/schema.d.ts +2 -1
  194. package/dist/chart-types/bubble-chart/schema.d.ts.map +1 -1
  195. package/dist/chart-types/bubble-chart/schema.js +6 -3
  196. package/dist/chart-types/bubble-chart/schema.js.map +1 -1
  197. package/dist/chart-types/bubble-chart/spec.d.ts +4 -0
  198. package/dist/chart-types/bubble-chart/spec.d.ts.map +1 -0
  199. package/dist/chart-types/bubble-chart/spec.js +31 -0
  200. package/dist/chart-types/bubble-chart/spec.js.map +1 -0
  201. package/dist/chart-types/bubble-chart/tool.d.ts +46 -0
  202. package/dist/chart-types/bubble-chart/tool.d.ts.map +1 -0
  203. package/dist/chart-types/bubble-chart/tool.js +58 -0
  204. package/dist/chart-types/bubble-chart/tool.js.map +1 -0
  205. package/dist/chart-types/chart-config.d.ts +92 -0
  206. package/dist/chart-types/chart-config.d.ts.map +1 -0
  207. package/dist/chart-types/chart-config.js +47 -0
  208. package/dist/chart-types/chart-config.js.map +1 -0
  209. package/dist/chart-types/count-plot/CountPlotSettings.d.ts +3 -0
  210. package/dist/chart-types/count-plot/CountPlotSettings.d.ts.map +1 -0
  211. package/dist/chart-types/count-plot/CountPlotSettings.js +9 -0
  212. package/dist/chart-types/count-plot/CountPlotSettings.js.map +1 -0
  213. package/dist/chart-types/count-plot/definition.d.ts +3 -3
  214. package/dist/chart-types/count-plot/definition.d.ts.map +1 -1
  215. package/dist/chart-types/count-plot/definition.js +10 -41
  216. package/dist/chart-types/count-plot/definition.js.map +1 -1
  217. package/dist/chart-types/count-plot/schema.d.ts +0 -1
  218. package/dist/chart-types/count-plot/schema.d.ts.map +1 -1
  219. package/dist/chart-types/count-plot/schema.js +4 -2
  220. package/dist/chart-types/count-plot/schema.js.map +1 -1
  221. package/dist/chart-types/count-plot/spec.d.ts +4 -0
  222. package/dist/chart-types/count-plot/spec.d.ts.map +1 -0
  223. package/dist/chart-types/count-plot/spec.js +49 -0
  224. package/dist/chart-types/count-plot/spec.js.map +1 -0
  225. package/dist/chart-types/count-plot/tool.d.ts +42 -0
  226. package/dist/chart-types/count-plot/tool.d.ts.map +1 -0
  227. package/dist/chart-types/count-plot/tool.js +55 -0
  228. package/dist/chart-types/count-plot/tool.js.map +1 -0
  229. package/dist/chart-types/custom-spec/CustomSpecSettings.d.ts +7 -0
  230. package/dist/chart-types/custom-spec/CustomSpecSettings.d.ts.map +1 -0
  231. package/dist/chart-types/custom-spec/CustomSpecSettings.js +30 -0
  232. package/dist/chart-types/custom-spec/CustomSpecSettings.js.map +1 -0
  233. package/dist/chart-types/custom-spec/definition.d.ts +3 -3
  234. package/dist/chart-types/custom-spec/definition.d.ts.map +1 -1
  235. package/dist/chart-types/custom-spec/definition.js +8 -19
  236. package/dist/chart-types/custom-spec/definition.js.map +1 -1
  237. package/dist/chart-types/custom-spec/schema.d.ts +6 -3
  238. package/dist/chart-types/custom-spec/schema.d.ts.map +1 -1
  239. package/dist/chart-types/custom-spec/schema.js +3 -2
  240. package/dist/chart-types/custom-spec/schema.js.map +1 -1
  241. package/dist/chart-types/custom-spec/spec.d.ts +4 -0
  242. package/dist/chart-types/custom-spec/spec.d.ts.map +1 -0
  243. package/dist/chart-types/custom-spec/spec.js +24 -0
  244. package/dist/chart-types/custom-spec/spec.js.map +1 -0
  245. package/dist/chart-types/errors.d.ts +23 -0
  246. package/dist/chart-types/errors.d.ts.map +1 -0
  247. package/dist/chart-types/errors.js +26 -0
  248. package/dist/chart-types/errors.js.map +1 -0
  249. package/dist/chart-types/heatmap/HeatmapSettings.d.ts +3 -0
  250. package/dist/chart-types/heatmap/HeatmapSettings.d.ts.map +1 -0
  251. package/dist/chart-types/heatmap/HeatmapSettings.js +9 -0
  252. package/dist/chart-types/heatmap/HeatmapSettings.js.map +1 -0
  253. package/dist/chart-types/heatmap/definition.d.ts +3 -3
  254. package/dist/chart-types/heatmap/definition.d.ts.map +1 -1
  255. package/dist/chart-types/heatmap/definition.js +10 -40
  256. package/dist/chart-types/heatmap/definition.js.map +1 -1
  257. package/dist/chart-types/heatmap/schema.d.ts +0 -1
  258. package/dist/chart-types/heatmap/schema.d.ts.map +1 -1
  259. package/dist/chart-types/heatmap/schema.js +2 -3
  260. package/dist/chart-types/heatmap/schema.js.map +1 -1
  261. package/dist/chart-types/heatmap/spec.d.ts +4 -0
  262. package/dist/chart-types/heatmap/spec.d.ts.map +1 -0
  263. package/dist/chart-types/heatmap/spec.js +32 -0
  264. package/dist/chart-types/heatmap/spec.js.map +1 -0
  265. package/dist/chart-types/heatmap/tool.d.ts +44 -0
  266. package/dist/chart-types/heatmap/tool.d.ts.map +1 -0
  267. package/dist/chart-types/heatmap/tool.js +59 -0
  268. package/dist/chart-types/heatmap/tool.js.map +1 -0
  269. package/dist/chart-types/histogram/HistogramSettings.d.ts +3 -0
  270. package/dist/chart-types/histogram/HistogramSettings.d.ts.map +1 -0
  271. package/dist/chart-types/histogram/HistogramSettings.js +9 -0
  272. package/dist/chart-types/histogram/HistogramSettings.js.map +1 -0
  273. package/dist/chart-types/histogram/definition.d.ts +3 -3
  274. package/dist/chart-types/histogram/definition.d.ts.map +1 -1
  275. package/dist/chart-types/histogram/definition.js +10 -40
  276. package/dist/chart-types/histogram/definition.js.map +1 -1
  277. package/dist/chart-types/histogram/schema.d.ts +0 -1
  278. package/dist/chart-types/histogram/schema.d.ts.map +1 -1
  279. package/dist/chart-types/histogram/schema.js +4 -2
  280. package/dist/chart-types/histogram/schema.js.map +1 -1
  281. package/dist/chart-types/histogram/spec.d.ts +4 -0
  282. package/dist/chart-types/histogram/spec.d.ts.map +1 -0
  283. package/dist/chart-types/histogram/spec.js +36 -0
  284. package/dist/chart-types/histogram/spec.js.map +1 -0
  285. package/dist/chart-types/histogram/tool.d.ts +42 -0
  286. package/dist/chart-types/histogram/tool.d.ts.map +1 -0
  287. package/dist/chart-types/histogram/tool.js +55 -0
  288. package/dist/chart-types/histogram/tool.js.map +1 -0
  289. package/dist/chart-types/index.d.ts +102 -96
  290. package/dist/chart-types/index.d.ts.map +1 -1
  291. package/dist/chart-types/index.js +71 -41
  292. package/dist/chart-types/index.js.map +1 -1
  293. package/dist/chart-types/line-chart/LineChartSettings.d.ts +7 -0
  294. package/dist/chart-types/line-chart/LineChartSettings.d.ts.map +1 -0
  295. package/dist/chart-types/line-chart/LineChartSettings.js +22 -0
  296. package/dist/chart-types/line-chart/LineChartSettings.js.map +1 -0
  297. package/dist/chart-types/line-chart/definition.d.ts +3 -3
  298. package/dist/chart-types/line-chart/definition.d.ts.map +1 -1
  299. package/dist/chart-types/line-chart/definition.js +10 -37
  300. package/dist/chart-types/line-chart/definition.js.map +1 -1
  301. package/dist/chart-types/line-chart/schema.d.ts +69 -3
  302. package/dist/chart-types/line-chart/schema.d.ts.map +1 -1
  303. package/dist/chart-types/line-chart/schema.js +30 -3
  304. package/dist/chart-types/line-chart/schema.js.map +1 -1
  305. package/dist/chart-types/line-chart/spec.d.ts +4 -0
  306. package/dist/chart-types/line-chart/spec.d.ts.map +1 -0
  307. package/dist/chart-types/line-chart/spec.js +91 -0
  308. package/dist/chart-types/line-chart/spec.js.map +1 -0
  309. package/dist/chart-types/line-chart/tool.d.ts +68 -0
  310. package/dist/chart-types/line-chart/tool.d.ts.map +1 -0
  311. package/dist/chart-types/line-chart/tool.js +66 -0
  312. package/dist/chart-types/line-chart/tool.js.map +1 -0
  313. package/dist/chart-types/tool-schemas.d.ts +8 -0
  314. package/dist/chart-types/tool-schemas.d.ts.map +1 -0
  315. package/dist/chart-types/tool-schemas.js +18 -0
  316. package/dist/chart-types/tool-schemas.js.map +1 -0
  317. package/dist/chart-types/tool-types.d.ts +26 -0
  318. package/dist/chart-types/tool-types.d.ts.map +1 -0
  319. package/dist/chart-types/tool-types.js +2 -0
  320. package/dist/chart-types/tool-types.js.map +1 -0
  321. package/dist/chart-types/tool-validation.d.ts +3 -0
  322. package/dist/chart-types/tool-validation.d.ts.map +1 -0
  323. package/dist/chart-types/tool-validation.js +11 -0
  324. package/dist/chart-types/tool-validation.js.map +1 -0
  325. package/dist/chart-types/useChartTypeDefinition.d.ts +3 -0
  326. package/dist/chart-types/useChartTypeDefinition.d.ts.map +1 -0
  327. package/dist/chart-types/useChartTypeDefinition.js +8 -0
  328. package/dist/chart-types/useChartTypeDefinition.js.map +1 -0
  329. package/dist/dashboard/MosaicDashboard.d.ts.map +1 -1
  330. package/dist/dashboard/MosaicDashboard.js +7 -11
  331. package/dist/dashboard/MosaicDashboard.js.map +1 -1
  332. package/dist/dashboard/MosaicDashboardEmptyState.d.ts +2 -0
  333. package/dist/dashboard/MosaicDashboardEmptyState.d.ts.map +1 -0
  334. package/dist/dashboard/MosaicDashboardEmptyState.js +50 -0
  335. package/dist/dashboard/MosaicDashboardEmptyState.js.map +1 -0
  336. package/dist/dashboard/MosaicDashboardPanelLayout.d.ts.map +1 -1
  337. package/dist/dashboard/MosaicDashboardPanelLayout.js +23 -2
  338. package/dist/dashboard/MosaicDashboardPanelLayout.js.map +1 -1
  339. package/dist/dashboard/MosaicDashboardPanels.d.ts.map +1 -1
  340. package/dist/dashboard/MosaicDashboardPanels.js +2 -1
  341. package/dist/dashboard/MosaicDashboardPanels.js.map +1 -1
  342. package/dist/dashboard/MosaicDashboardSlice.d.ts +212 -87
  343. package/dist/dashboard/MosaicDashboardSlice.d.ts.map +1 -1
  344. package/dist/dashboard/MosaicDashboardSlice.js +65 -18
  345. package/dist/dashboard/MosaicDashboardSlice.js.map +1 -1
  346. package/dist/dashboard/MosaicDashboardToolbar.d.ts.map +1 -1
  347. package/dist/dashboard/MosaicDashboardToolbar.js +9 -4
  348. package/dist/dashboard/MosaicDashboardToolbar.js.map +1 -1
  349. package/dist/dashboard/defaultPanelRenderers.d.ts.map +1 -1
  350. package/dist/dashboard/defaultPanelRenderers.js +6 -4
  351. package/dist/dashboard/defaultPanelRenderers.js.map +1 -1
  352. package/dist/dashboard/utils.d.ts +3 -0
  353. package/dist/dashboard/utils.d.ts.map +1 -0
  354. package/dist/dashboard/utils.js +16 -0
  355. package/dist/dashboard/utils.js.map +1 -0
  356. package/dist/index.d.ts +6 -9
  357. package/dist/index.d.ts.map +1 -1
  358. package/dist/index.js +5 -7
  359. package/dist/index.js.map +1 -1
  360. package/dist/{dashboard → profiler}/MosaicDashboardProfilerPanelRenderer.d.ts +1 -1
  361. package/dist/profiler/MosaicDashboardProfilerPanelRenderer.d.ts.map +1 -0
  362. package/dist/{dashboard → profiler}/MosaicDashboardProfilerPanelRenderer.js +2 -2
  363. package/dist/profiler/MosaicDashboardProfilerPanelRenderer.js.map +1 -0
  364. package/dist/text/MosaicDashboardTextRenderer.d.ts +3 -0
  365. package/dist/text/MosaicDashboardTextRenderer.d.ts.map +1 -0
  366. package/dist/text/MosaicDashboardTextRenderer.js +46 -0
  367. package/dist/text/MosaicDashboardTextRenderer.js.map +1 -0
  368. package/package.json +38 -35
  369. package/dist/chart-builders/builders.d.ts +0 -34
  370. package/dist/chart-builders/builders.d.ts.map +0 -1
  371. package/dist/chart-builders/builders.js +0 -51
  372. package/dist/chart-builders/builders.js.map +0 -1
  373. package/dist/chart-builders/describeChartSpecs.d.ts +0 -9
  374. package/dist/chart-builders/describeChartSpecs.d.ts.map +0 -1
  375. package/dist/chart-builders/describeChartSpecs.js +0 -41
  376. package/dist/chart-builders/describeChartSpecs.js.map +0 -1
  377. package/dist/chart-builders/hooks/useChartFieldForm.d.ts +0 -13
  378. package/dist/chart-builders/hooks/useChartFieldForm.d.ts.map +0 -1
  379. package/dist/chart-builders/hooks/useChartFieldForm.js +0 -12
  380. package/dist/chart-builders/hooks/useChartFieldForm.js.map +0 -1
  381. package/dist/chart-builders/types.d.ts +0 -23
  382. package/dist/chart-builders/types.d.ts.map +0 -1
  383. package/dist/chart-builders/types.js +0 -17
  384. package/dist/chart-builders/types.js.map +0 -1
  385. package/dist/chart-types/box-plot/index.d.ts +0 -3
  386. package/dist/chart-types/box-plot/index.d.ts.map +0 -1
  387. package/dist/chart-types/box-plot/index.js +0 -3
  388. package/dist/chart-types/box-plot/index.js.map +0 -1
  389. package/dist/chart-types/bubble-chart/index.d.ts +0 -3
  390. package/dist/chart-types/bubble-chart/index.d.ts.map +0 -1
  391. package/dist/chart-types/bubble-chart/index.js +0 -3
  392. package/dist/chart-types/bubble-chart/index.js.map +0 -1
  393. package/dist/chart-types/count-plot/index.d.ts +0 -3
  394. package/dist/chart-types/count-plot/index.d.ts.map +0 -1
  395. package/dist/chart-types/count-plot/index.js +0 -3
  396. package/dist/chart-types/count-plot/index.js.map +0 -1
  397. package/dist/chart-types/custom-spec/index.d.ts +0 -3
  398. package/dist/chart-types/custom-spec/index.d.ts.map +0 -1
  399. package/dist/chart-types/custom-spec/index.js +0 -3
  400. package/dist/chart-types/custom-spec/index.js.map +0 -1
  401. package/dist/chart-types/ecdf/definition.d.ts +0 -4
  402. package/dist/chart-types/ecdf/definition.d.ts.map +0 -1
  403. package/dist/chart-types/ecdf/definition.js +0 -47
  404. package/dist/chart-types/ecdf/definition.js.map +0 -1
  405. package/dist/chart-types/ecdf/index.d.ts +0 -3
  406. package/dist/chart-types/ecdf/index.d.ts.map +0 -1
  407. package/dist/chart-types/ecdf/index.js +0 -3
  408. package/dist/chart-types/ecdf/index.js.map +0 -1
  409. package/dist/chart-types/ecdf/schema.d.ts +0 -15
  410. package/dist/chart-types/ecdf/schema.d.ts.map +0 -1
  411. package/dist/chart-types/ecdf/schema.js +0 -11
  412. package/dist/chart-types/ecdf/schema.js.map +0 -1
  413. package/dist/chart-types/heatmap/index.d.ts +0 -3
  414. package/dist/chart-types/heatmap/index.d.ts.map +0 -1
  415. package/dist/chart-types/heatmap/index.js +0 -3
  416. package/dist/chart-types/heatmap/index.js.map +0 -1
  417. package/dist/chart-types/histogram/index.d.ts +0 -3
  418. package/dist/chart-types/histogram/index.d.ts.map +0 -1
  419. package/dist/chart-types/histogram/index.js +0 -3
  420. package/dist/chart-types/histogram/index.js.map +0 -1
  421. package/dist/chart-types/line-chart/index.d.ts +0 -3
  422. package/dist/chart-types/line-chart/index.d.ts.map +0 -1
  423. package/dist/chart-types/line-chart/index.js +0 -3
  424. package/dist/chart-types/line-chart/index.js.map +0 -1
  425. package/dist/chart-types/registry.d.ts +0 -5
  426. package/dist/chart-types/registry.d.ts.map +0 -1
  427. package/dist/chart-types/registry.js +0 -28
  428. package/dist/chart-types/registry.js.map +0 -1
  429. package/dist/dashboard/MosaicDashboardProfilerPanelRenderer.d.ts.map +0 -1
  430. package/dist/dashboard/MosaicDashboardProfilerPanelRenderer.js.map +0 -1
  431. package/dist/dashboard/MosaicDashboardVgPlotHeaderActions.d.ts +0 -4
  432. package/dist/dashboard/MosaicDashboardVgPlotHeaderActions.d.ts.map +0 -1
  433. package/dist/dashboard/MosaicDashboardVgPlotHeaderActions.js +0 -29
  434. package/dist/dashboard/MosaicDashboardVgPlotHeaderActions.js.map +0 -1
  435. package/dist/dashboard/MosaicDashboardVgPlotPanelRenderer.d.ts +0 -3
  436. package/dist/dashboard/MosaicDashboardVgPlotPanelRenderer.d.ts.map +0 -1
  437. package/dist/dashboard/MosaicDashboardVgPlotPanelRenderer.js +0 -68
  438. package/dist/dashboard/MosaicDashboardVgPlotPanelRenderer.js.map +0 -1
  439. package/dist/dashboard/VgPlotSpecPopoverEditor.d.ts +0 -8
  440. package/dist/dashboard/VgPlotSpecPopoverEditor.d.ts.map +0 -1
  441. package/dist/dashboard/VgPlotSpecPopoverEditor.js +0 -40
  442. package/dist/dashboard/VgPlotSpecPopoverEditor.js.map +0 -1
  443. package/dist/dashboard/chart-settings/ChartSettings.d.ts.map +0 -1
  444. package/dist/dashboard/chart-settings/ChartSettings.js +0 -90
  445. package/dist/dashboard/chart-settings/ChartSettings.js.map +0 -1
  446. package/dist/dashboard/chart-settings/ChartSettingsContext.d.ts +0 -20
  447. package/dist/dashboard/chart-settings/ChartSettingsContext.d.ts.map +0 -1
  448. package/dist/dashboard/chart-settings/ChartSettingsContext.js +0 -14
  449. package/dist/dashboard/chart-settings/ChartSettingsContext.js.map +0 -1
  450. package/dist/dashboard/chart-settings/ChartSettingsPanel.d.ts +0 -11
  451. package/dist/dashboard/chart-settings/ChartSettingsPanel.d.ts.map +0 -1
  452. package/dist/dashboard/chart-settings/ChartSettingsPanel.js +0 -8
  453. package/dist/dashboard/chart-settings/ChartSettingsPanel.js.map +0 -1
  454. package/dist/dashboard/chart-settings/ChartTypeSelector.d.ts +0 -11
  455. package/dist/dashboard/chart-settings/ChartTypeSelector.d.ts.map +0 -1
  456. package/dist/dashboard/chart-settings/ChartTypeSelector.js +0 -17
  457. package/dist/dashboard/chart-settings/ChartTypeSelector.js.map +0 -1
  458. package/dist/dashboard/chart-settings/DynamicChartSettings.d.ts +0 -11
  459. package/dist/dashboard/chart-settings/DynamicChartSettings.d.ts.map +0 -1
  460. package/dist/dashboard/chart-settings/DynamicChartSettings.js +0 -19
  461. package/dist/dashboard/chart-settings/DynamicChartSettings.js.map +0 -1
  462. package/dist/dashboard/chart-settings/index.d.ts +0 -6
  463. package/dist/dashboard/chart-settings/index.d.ts.map +0 -1
  464. package/dist/dashboard/chart-settings/index.js +0 -6
  465. package/dist/dashboard/chart-settings/index.js.map +0 -1
  466. package/dist/dashboard/chart-settings/useTableColumns.d.ts.map +0 -1
  467. package/dist/dashboard/chart-settings/useTableColumns.js.map +0 -1
  468. package/dist/dashboard/generateMosaicChartSpec.d.ts +0 -15
  469. package/dist/dashboard/generateMosaicChartSpec.d.ts.map +0 -1
  470. package/dist/dashboard/generateMosaicChartSpec.js +0 -30
  471. package/dist/dashboard/generateMosaicChartSpec.js.map +0 -1
  472. /package/dist/{dashboard → chart}/chart-settings/useTableColumns.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"VgPlotSpecPopoverEditor.js","sourceRoot":"","sources":["../../src/dashboard/VgPlotSpecPopoverEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Button,\n Popover,\n PopoverContent,\n PopoverTrigger,\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from '@sqlrooms/ui';\nimport {PencilIcon} from 'lucide-react';\nimport React, {useCallback, useState} from 'react';\nimport {MosaicCodeMirrorEditor} from '../editor/MosaicCodeMirrorEditor';\n\ninterface VgPlotSpecPopoverEditorProps {\n value: Record<string, unknown>;\n onApply: (value: Record<string, unknown>) => void;\n}\n\nexport const VgPlotSpecPopoverEditor: React.FC<\n VgPlotSpecPopoverEditorProps\n> = ({value, onApply}) => {\n const [open, setOpen] = useState(false);\n const [draft, setDraft] = useState(() => JSON.stringify(value, null, 2));\n\n const handleOpenChange = useCallback(\n (nextOpen: boolean) => {\n setOpen(nextOpen);\n if (nextOpen) {\n setDraft(JSON.stringify(value, null, 2));\n }\n },\n [value],\n );\n\n const handleApply = useCallback(() => {\n try {\n const parsed = JSON.parse(draft);\n onApply(parsed as Record<string, unknown>);\n setOpen(false);\n } catch {\n // Invalid JSON — keep the editor open.\n }\n }, [draft, onApply]);\n\n const serializedValue = JSON.stringify(value, null, 2);\n const isDirty = draft !== serializedValue;\n let isValidJson = false;\n try {\n JSON.parse(draft);\n isValidJson = true;\n } catch {\n // ignore\n }\n\n return (\n <Popover open={open} onOpenChange={handleOpenChange}>\n <Tooltip>\n <TooltipTrigger asChild>\n <PopoverTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-6 w-6\"\n aria-label=\"Edit spec\"\n >\n <PencilIcon className=\"h-3.5 w-3.5\" />\n </Button>\n </PopoverTrigger>\n </TooltipTrigger>\n <TooltipContent>Edit spec</TooltipContent>\n </Tooltip>\n <PopoverContent\n side=\"bottom\"\n align=\"end\"\n className=\"w-[500px] p-0\"\n onInteractOutside={(event) => {\n if (isDirty) event.preventDefault();\n }}\n >\n <div className=\"flex flex-col\">\n <div className=\"h-72 overflow-hidden\">\n <MosaicCodeMirrorEditor\n value={draft}\n onChange={(nextValue: string | undefined) =>\n setDraft(nextValue ?? '')\n }\n className=\"h-full\"\n enableSchemaValidation\n />\n </div>\n <div className=\"flex items-center justify-end gap-2 border-t p-2\">\n <Button variant=\"outline\" size=\"sm\" onClick={() => setOpen(false)}>\n Cancel\n </Button>\n <Button\n size=\"sm\"\n disabled={!isDirty || !isValidJson}\n onClick={handleApply}\n >\n Apply\n </Button>\n </div>\n </div>\n </PopoverContent>\n </Popover>\n );\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChartSettings.d.ts","sourceRoot":"","sources":["../../../src/dashboard/chart-settings/ChartSettings.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAO5E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAC,KAAK,iBAAiB,EAAuB,MAAM,mBAAmB,CAAC;AAM/E,UAAU,sBAAsB;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC/C;AAqBD,KAAK,wBAAwB,GAAG,iBAAiB,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC,CAAC;AAiHH,eAAO,MAAM,aAAa;;;;;;;;CAMzB,CAAC"}
@@ -1,90 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * Chart settings compound component for configuring chart types and their parameters.
4
- *
5
- * @example
6
- * ```tsx
7
- * <ChartSettings.Root
8
- * tableName={tableName}
9
- * config={config}
10
- * columns={columns}
11
- * onChange={handleChange}
12
- * >
13
- * <ChartSettings.TypeSelector />
14
- * <ChartSettings.Fields />
15
- * </ChartSettings.Root>
16
- * ```
17
- */
18
- import { useCallback, useMemo } from 'react';
19
- import { DynamicChartSettings } from './DynamicChartSettings';
20
- import { ChartTypeSelector } from './ChartTypeSelector';
21
- import { ChartSettingsProvider, useChartSettingsContext, } from './ChartSettingsContext';
22
- import { generateMosaicChartSpec } from '../generateMosaicChartSpec';
23
- import { getChartTypeDefinition } from '../../chart-types/registry';
24
- import { Button } from '@sqlrooms/ui';
25
- import { XIcon } from 'lucide-react';
26
- const ChartSettingsRoot = ({ tableName, config, columns, onChange, children, }) => {
27
- return (_jsx(ChartSettingsProvider, { tableName: tableName, config: config, columns: columns, onChange: onChange, children: children }));
28
- };
29
- const ChartSettingsHeader = ({ children, onClose, }) => {
30
- return (_jsxs("div", { className: "flex items-center justify-between border-b px-3 py-1.5 text-xs font-medium", children: [children, onClose && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-5 w-5", onClick: onClose, children: _jsx(XIcon, { className: "h-3.5 w-3.5" }) }))] }));
31
- };
32
- const ChartSettingsContent = ({ children }) => {
33
- return _jsx("div", { className: "flex flex-col gap-2 p-2", children: children });
34
- };
35
- const ChartSettingsTypeSelector = () => {
36
- const { config, columns, onChange } = useChartSettingsContext();
37
- const handleChartTypeChange = (newChartType) => {
38
- // When changing chart type, clear settings and don't show chart
39
- // until user selects all required fields
40
- onChange({
41
- chartType: newChartType,
42
- settings: {},
43
- vgplot: null,
44
- settingsOpen: config.settingsOpen,
45
- });
46
- };
47
- return (_jsx(ChartTypeSelector, { value: config.chartType, columns: columns, onChange: handleChartTypeChange }));
48
- };
49
- const ChartSettingsFields = () => {
50
- const { tableName, config, columns, onChange } = useChartSettingsContext();
51
- const chartTypeDef = getChartTypeDefinition(config.chartType);
52
- // Memoize columns mapping
53
- const mappedColumns = useMemo(() => columns.map((col) => ({ name: col.name, type: col.type })), [columns]);
54
- const handleSettingsChange = useCallback((newSettings) => {
55
- if (!chartTypeDef)
56
- return;
57
- // Check if all required fields are filled
58
- const allRequiredFieldsFilled = chartTypeDef.fields
59
- .filter((field) => field.required !== false)
60
- .every((field) => {
61
- const value = newSettings[field.key];
62
- return value !== undefined && value !== null && value !== '';
63
- });
64
- // Generate spec
65
- const vgplot = allRequiredFieldsFilled
66
- ? generateMosaicChartSpec(tableName, config.chartType, newSettings)
67
- : null;
68
- onChange({
69
- ...config,
70
- settings: newSettings,
71
- vgplot,
72
- });
73
- }, [chartTypeDef, config, onChange, tableName]);
74
- if (!chartTypeDef) {
75
- console.error(`[ChartSettings] Unknown chart type: ${config.chartType}`);
76
- return (_jsxs("div", { className: "text-muted-foreground flex h-full items-center justify-center p-4 text-sm", children: ["Unknown chart type: ", config.chartType] }));
77
- }
78
- if (columns.length === 0) {
79
- return (_jsx("div", { className: "text-muted-foreground flex h-full items-center justify-center p-4 text-sm", children: "No columns available" }));
80
- }
81
- return (_jsx(DynamicChartSettings, { chartTypeDefinition: chartTypeDef, columns: mappedColumns, values: config.settings, onChange: handleSettingsChange }));
82
- };
83
- export const ChartSettings = {
84
- Root: ChartSettingsRoot,
85
- Header: ChartSettingsHeader,
86
- Content: ChartSettingsContent,
87
- TypeSelector: ChartSettingsTypeSelector,
88
- Fields: ChartSettingsFields,
89
- };
90
- //# sourceMappingURL=ChartSettings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChartSettings.js","sourceRoot":"","sources":["../../../src/dashboard/chart-settings/ChartSettings.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Chart settings compound component for configuring chart types and their parameters.\n *\n * @example\n * ```tsx\n * <ChartSettings.Root\n * tableName={tableName}\n * config={config}\n * columns={columns}\n * onChange={handleChange}\n * >\n * <ChartSettings.TypeSelector />\n * <ChartSettings.Fields />\n * </ChartSettings.Root>\n * ```\n */\nimport {type FC, type PropsWithChildren, useCallback, useMemo} from 'react';\nimport {DynamicChartSettings} from './DynamicChartSettings';\nimport {ChartTypeSelector} from './ChartTypeSelector';\nimport {\n ChartSettingsProvider,\n useChartSettingsContext,\n} from './ChartSettingsContext';\nimport type {TableColumn} from '@sqlrooms/duckdb';\nimport {type VgPlotChartConfig, type VgPlotChartType} from '../../chart-types';\nimport {generateMosaicChartSpec} from '../generateMosaicChartSpec';\nimport {getChartTypeDefinition} from '../../chart-types/registry';\nimport {Button} from '@sqlrooms/ui';\nimport {XIcon} from 'lucide-react';\n\ninterface ChartSettingsRootProps {\n tableName?: string;\n config: VgPlotChartConfig;\n columns: TableColumn[];\n onChange: (config: VgPlotChartConfig) => void;\n}\n\nconst ChartSettingsRoot: FC<PropsWithChildren<ChartSettingsRootProps>> = ({\n tableName,\n config,\n columns,\n onChange,\n children,\n}) => {\n return (\n <ChartSettingsProvider\n tableName={tableName}\n config={config}\n columns={columns}\n onChange={onChange}\n >\n {children}\n </ChartSettingsProvider>\n );\n};\n\ntype ChartSettingsHeaderProps = PropsWithChildren<{\n onClose?: () => void;\n}>;\n\nconst ChartSettingsHeader: FC<ChartSettingsHeaderProps> = ({\n children,\n onClose,\n}) => {\n return (\n <div className=\"flex items-center justify-between border-b px-3 py-1.5 text-xs font-medium\">\n {children}\n {onClose && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-5 w-5\"\n onClick={onClose}\n >\n <XIcon className=\"h-3.5 w-3.5\" />\n </Button>\n )}\n </div>\n );\n};\n\nconst ChartSettingsContent: FC<PropsWithChildren> = ({children}) => {\n return <div className=\"flex flex-col gap-2 p-2\">{children}</div>;\n};\n\nconst ChartSettingsTypeSelector: FC = () => {\n const {config, columns, onChange} = useChartSettingsContext();\n\n const handleChartTypeChange = (newChartType: VgPlotChartType) => {\n // When changing chart type, clear settings and don't show chart\n // until user selects all required fields\n onChange({\n chartType: newChartType,\n settings: {},\n vgplot: null,\n settingsOpen: config.settingsOpen,\n });\n };\n\n return (\n <ChartTypeSelector\n value={config.chartType}\n columns={columns}\n onChange={handleChartTypeChange}\n />\n );\n};\n\nconst ChartSettingsFields: FC = () => {\n const {tableName, config, columns, onChange} = useChartSettingsContext();\n const chartTypeDef = getChartTypeDefinition(config.chartType);\n\n // Memoize columns mapping\n const mappedColumns = useMemo(\n () => columns.map((col) => ({name: col.name, type: col.type})),\n [columns],\n );\n\n const handleSettingsChange = useCallback(\n (newSettings: Record<string, unknown>) => {\n if (!chartTypeDef) return;\n\n // Check if all required fields are filled\n const allRequiredFieldsFilled = chartTypeDef.fields\n .filter((field) => field.required !== false)\n .every((field) => {\n const value = newSettings[field.key];\n return value !== undefined && value !== null && value !== '';\n });\n\n // Generate spec\n const vgplot = allRequiredFieldsFilled\n ? generateMosaicChartSpec(tableName, config.chartType, newSettings)\n : null;\n\n onChange({\n ...config,\n settings: newSettings,\n vgplot,\n });\n },\n [chartTypeDef, config, onChange, tableName],\n );\n\n if (!chartTypeDef) {\n console.error(`[ChartSettings] Unknown chart type: ${config.chartType}`);\n return (\n <div className=\"text-muted-foreground flex h-full items-center justify-center p-4 text-sm\">\n Unknown chart type: {config.chartType}\n </div>\n );\n }\n\n if (columns.length === 0) {\n return (\n <div className=\"text-muted-foreground flex h-full items-center justify-center p-4 text-sm\">\n No columns available\n </div>\n );\n }\n\n return (\n <DynamicChartSettings\n chartTypeDefinition={chartTypeDef}\n columns={mappedColumns}\n values={config.settings}\n onChange={handleSettingsChange}\n />\n );\n};\n\nexport const ChartSettings = {\n Root: ChartSettingsRoot,\n Header: ChartSettingsHeader,\n Content: ChartSettingsContent,\n TypeSelector: ChartSettingsTypeSelector,\n Fields: ChartSettingsFields,\n};\n"]}
@@ -1,20 +0,0 @@
1
- import { type ReactNode } from 'react';
2
- import type { TableColumn } from '@sqlrooms/duckdb';
3
- import type { VgPlotChartConfig } from '../../chart-types';
4
- interface ChartSettingsContextValue {
5
- tableName?: string;
6
- config: VgPlotChartConfig;
7
- columns: TableColumn[];
8
- onChange: (config: VgPlotChartConfig) => void;
9
- }
10
- export declare function useChartSettingsContext(): ChartSettingsContextValue;
11
- interface ChartSettingsProviderProps {
12
- tableName?: string;
13
- config: VgPlotChartConfig;
14
- columns: TableColumn[];
15
- onChange: (config: VgPlotChartConfig) => void;
16
- children: ReactNode;
17
- }
18
- export declare function ChartSettingsProvider({ tableName, config, columns, onChange, children, }: ChartSettingsProviderProps): import("react/jsx-runtime").JSX.Element;
19
- export {};
20
- //# sourceMappingURL=ChartSettingsContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChartSettingsContext.d.ts","sourceRoot":"","sources":["../../../src/dashboard/chart-settings/ChartSettingsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,SAAS,EAAa,MAAM,OAAO,CAAC;AAChE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEzD,UAAU,yBAAyB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC/C;AAMD,wBAAgB,uBAAuB,8BAQtC;AAED,UAAU,0BAA0B;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAQ,GACT,EAAE,0BAA0B,2CAQ5B"}
@@ -1,14 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useContext } from 'react';
3
- const ChartSettingsContext = createContext(null);
4
- export function useChartSettingsContext() {
5
- const context = useContext(ChartSettingsContext);
6
- if (!context) {
7
- throw new Error('ChartSettings compound components must be used within ChartSettings.Root');
8
- }
9
- return context;
10
- }
11
- export function ChartSettingsProvider({ tableName, config, columns, onChange, children, }) {
12
- return (_jsx(ChartSettingsContext.Provider, { value: { tableName, config, columns, onChange }, children: children }));
13
- }
14
- //# sourceMappingURL=ChartSettingsContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChartSettingsContext.js","sourceRoot":"","sources":["../../../src/dashboard/chart-settings/ChartSettingsContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,aAAa,EAAkB,UAAU,EAAC,MAAM,OAAO,CAAC;AAWhE,MAAM,oBAAoB,GAAG,aAAa,CACxC,IAAI,CACL,CAAC;AAEF,MAAM,UAAU,uBAAuB;IACrC,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAUD,MAAM,UAAU,qBAAqB,CAAC,EACpC,SAAS,EACT,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAQ,GACmB;IAC3B,OAAO,CACL,KAAC,oBAAoB,CAAC,QAAQ,IAC5B,KAAK,EAAE,EAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAC,YAE5C,QAAQ,GACqB,CACjC,CAAC;AACJ,CAAC","sourcesContent":["import {createContext, type ReactNode, useContext} from 'react';\nimport type {TableColumn} from '@sqlrooms/duckdb';\nimport type {VgPlotChartConfig} from '../../chart-types';\n\ninterface ChartSettingsContextValue {\n tableName?: string;\n config: VgPlotChartConfig;\n columns: TableColumn[];\n onChange: (config: VgPlotChartConfig) => void;\n}\n\nconst ChartSettingsContext = createContext<ChartSettingsContextValue | null>(\n null,\n);\n\nexport function useChartSettingsContext() {\n const context = useContext(ChartSettingsContext);\n if (!context) {\n throw new Error(\n 'ChartSettings compound components must be used within ChartSettings.Root',\n );\n }\n return context;\n}\n\ninterface ChartSettingsProviderProps {\n tableName?: string;\n config: VgPlotChartConfig;\n columns: TableColumn[];\n onChange: (config: VgPlotChartConfig) => void;\n children: ReactNode;\n}\n\nexport function ChartSettingsProvider({\n tableName,\n config,\n columns,\n onChange,\n children,\n}: ChartSettingsProviderProps) {\n return (\n <ChartSettingsContext.Provider\n value={{tableName, config, columns, onChange}}\n >\n {children}\n </ChartSettingsContext.Provider>\n );\n}\n"]}
@@ -1,11 +0,0 @@
1
- import { FC } from 'react';
2
- import { VgPlotChartConfig } from '../../chart-types';
3
- interface ChartSettingsPanelProps {
4
- tableName?: string;
5
- config: VgPlotChartConfig;
6
- onChange: (settings: VgPlotChartConfig) => void;
7
- onClose?: () => void;
8
- }
9
- export declare const ChartSettingsPanel: FC<ChartSettingsPanelProps>;
10
- export {};
11
- //# sourceMappingURL=ChartSettingsPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChartSettingsPanel.d.ts","sourceRoot":"","sources":["../../../src/dashboard/chart-settings/ChartSettingsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,OAAO,CAAC;AAEzB,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAGpD,UAAU,uBAAuB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CAwB1D,CAAC"}
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ChartSettings } from './ChartSettings';
3
- import { useTableColumns } from './useTableColumns';
4
- export const ChartSettingsPanel = ({ tableName, config, onChange, onClose, }) => {
5
- const columns = useTableColumns(tableName);
6
- return (_jsxs(ChartSettings.Root, { tableName: tableName, config: config, columns: columns, onChange: onChange, children: [_jsx(ChartSettings.Header, { onClose: onClose, children: "Chart settings" }), _jsxs(ChartSettings.Content, { children: [_jsx(ChartSettings.TypeSelector, {}), _jsx(ChartSettings.Fields, {})] })] }));
7
- };
8
- //# sourceMappingURL=ChartSettingsPanel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChartSettingsPanel.js","sourceRoot":"","sources":["../../../src/dashboard/chart-settings/ChartSettingsPanel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AASlD,MAAM,CAAC,MAAM,kBAAkB,GAAgC,CAAC,EAC9D,SAAS,EACT,MAAM,EACN,QAAQ,EACR,OAAO,GACR,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAE3C,OAAO,CACL,MAAC,aAAa,CAAC,IAAI,IACjB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,aAElB,KAAC,aAAa,CAAC,MAAM,IAAC,OAAO,EAAE,OAAO,+BAEf,EACvB,MAAC,aAAa,CAAC,OAAO,eACpB,KAAC,aAAa,CAAC,YAAY,KAAG,EAC9B,KAAC,aAAa,CAAC,MAAM,KAAG,IACF,IACL,CACtB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import {FC} from 'react';\nimport {ChartSettings} from './ChartSettings';\nimport {VgPlotChartConfig} from '../../chart-types';\nimport {useTableColumns} from './useTableColumns';\n\ninterface ChartSettingsPanelProps {\n tableName?: string;\n config: VgPlotChartConfig;\n onChange: (settings: VgPlotChartConfig) => void;\n onClose?: () => void;\n}\n\nexport const ChartSettingsPanel: FC<ChartSettingsPanelProps> = ({\n tableName,\n config,\n onChange,\n onClose,\n}) => {\n const columns = useTableColumns(tableName);\n\n return (\n <ChartSettings.Root\n tableName={tableName}\n config={config}\n columns={columns}\n onChange={onChange}\n >\n <ChartSettings.Header onClose={onClose}>\n Chart settings\n </ChartSettings.Header>\n <ChartSettings.Content>\n <ChartSettings.TypeSelector />\n <ChartSettings.Fields />\n </ChartSettings.Content>\n </ChartSettings.Root>\n );\n};\n"]}
@@ -1,11 +0,0 @@
1
- import { type FC } from 'react';
2
- import type { TableColumn } from '@sqlrooms/duckdb';
3
- import { VgPlotChartType } from '../../chart-types';
4
- interface ChartTypeSelectorProps {
5
- value: VgPlotChartType;
6
- columns: TableColumn[];
7
- onChange: (chartType: VgPlotChartType) => void;
8
- }
9
- export declare const ChartTypeSelector: FC<ChartTypeSelectorProps>;
10
- export {};
11
- //# sourceMappingURL=ChartTypeSelector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChartTypeSelector.d.ts","sourceRoot":"","sources":["../../../src/dashboard/chart-settings/ChartTypeSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,EAAgB,MAAM,OAAO,CAAC;AAS7C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAC,eAAe,EAA0B,MAAM,mBAAmB,CAAC;AAG3E,UAAU,sBAAsB;IAC9B,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;CAChD;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAuDxD,CAAC"}
@@ -1,17 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { memo, useMemo } from 'react';
3
- import { Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@sqlrooms/ui';
4
- import { isChartTypeAvailable } from '../../chart-builders/chartTypeUtils';
5
- import { createChartBuilderTemplates } from '../../chart-builders/builders';
6
- import { createDefaultChartTypes } from '../../chart-types';
7
- import { useStoreWithMosaicDashboard } from '../MosaicDashboardSlice';
8
- export const ChartTypeSelector = memo(({ value, columns, onChange }) => {
9
- const chartTypesFromStore = useStoreWithMosaicDashboard((state) => state.mosaicDashboard.chartTypes);
10
- const chartTypes = useMemo(() => chartTypesFromStore || createDefaultChartTypes(), [chartTypesFromStore]);
11
- const templates = useMemo(() => createChartBuilderTemplates(chartTypes), [chartTypes]);
12
- const availableTemplates = useMemo(() => templates.filter((template) => isChartTypeAvailable(template, columns)), [columns, templates]);
13
- const selectedTemplate = useMemo(() => availableTemplates.find((template) => template.id === value), [availableTemplates, value]);
14
- return (_jsxs("div", { className: "space-y-2", children: [_jsx(Label, { className: "text-xs", children: "Chart Type" }), _jsxs(Select, { value: value, onValueChange: onChange, children: [_jsx(SelectTrigger, { className: "h-8 text-xs", children: selectedTemplate ? (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(selectedTemplate.icon, { className: "h-3.5 w-3.5" }), _jsx("span", { children: selectedTemplate.label })] })) : (_jsx(SelectValue, { placeholder: "Select chart type" })) }), _jsx(SelectContent, { className: "text-xs", children: availableTemplates.map((template) => (_jsx(SelectItem, { value: template.id, children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(template.icon, { className: "h-3.5 w-3.5" }), _jsx("span", { children: template.label })] }) }, template.id))) })] })] }));
15
- });
16
- ChartTypeSelector.displayName = 'ChartTypeSelector';
17
- //# sourceMappingURL=ChartTypeSelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChartTypeSelector.js","sourceRoot":"","sources":["../../../src/dashboard/chart-settings/ChartTypeSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAU,IAAI,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AAC7C,OAAO,EACL,KAAK,EACL,MAAM,EACN,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAC,oBAAoB,EAAC,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAkB,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAC,2BAA2B,EAAC,MAAM,yBAAyB,CAAC;AAQpE,MAAM,CAAC,MAAM,iBAAiB,GAA+B,IAAI,CAC/D,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAC,EAAE,EAAE;IAC7B,MAAM,mBAAmB,GAAG,2BAA2B,CACrD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAC5C,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,mBAAmB,IAAI,uBAAuB,EAAE,EACtD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CAAC,2BAA2B,CAAC,UAAU,CAAC,EAC7C,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,MAAM,kBAAkB,GAAG,OAAO,CAChC,GAAG,EAAE,CACH,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EACzE,CAAC,OAAO,EAAE,SAAS,CAAC,CACrB,CAAC;IAEF,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,EAClE,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAC5B,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,WAAW,aACxB,KAAC,KAAK,IAAC,SAAS,EAAC,SAAS,2BAAmB,EAC7C,MAAC,MAAM,IAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,aAC3C,KAAC,aAAa,IAAC,SAAS,EAAC,aAAa,YACnC,gBAAgB,CAAC,CAAC,CAAC,CAClB,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,gBAAgB,CAAC,IAAI,IAAC,SAAS,EAAC,aAAa,GAAG,EACjD,yBAAO,gBAAgB,CAAC,KAAK,GAAQ,IACjC,CACP,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,IAAC,WAAW,EAAC,mBAAmB,GAAG,CAChD,GACa,EAChB,KAAC,aAAa,IAAC,SAAS,EAAC,SAAS,YAC/B,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACpC,KAAC,UAAU,IAAmB,KAAK,EAAE,QAAQ,CAAC,EAAE,YAC9C,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,QAAQ,CAAC,IAAI,IAAC,SAAS,EAAC,aAAa,GAAG,EACzC,yBAAO,QAAQ,CAAC,KAAK,GAAQ,IACzB,IAJS,QAAQ,CAAC,EAAE,CAKf,CACd,CAAC,GACY,IACT,IACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,iBAAiB,CAAC,WAAW,GAAG,mBAAmB,CAAC","sourcesContent":["import {type FC, memo, useMemo} from 'react';\nimport {\n Label,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@sqlrooms/ui';\nimport type {TableColumn} from '@sqlrooms/duckdb';\nimport {isChartTypeAvailable} from '../../chart-builders/chartTypeUtils';\nimport {createChartBuilderTemplates} from '../../chart-builders/builders';\nimport {VgPlotChartType, createDefaultChartTypes} from '../../chart-types';\nimport {useStoreWithMosaicDashboard} from '../MosaicDashboardSlice';\n\ninterface ChartTypeSelectorProps {\n value: VgPlotChartType;\n columns: TableColumn[];\n onChange: (chartType: VgPlotChartType) => void;\n}\n\nexport const ChartTypeSelector: FC<ChartTypeSelectorProps> = memo(\n ({value, columns, onChange}) => {\n const chartTypesFromStore = useStoreWithMosaicDashboard(\n (state) => state.mosaicDashboard.chartTypes,\n );\n\n const chartTypes = useMemo(\n () => chartTypesFromStore || createDefaultChartTypes(),\n [chartTypesFromStore],\n );\n\n const templates = useMemo(\n () => createChartBuilderTemplates(chartTypes),\n [chartTypes],\n );\n\n const availableTemplates = useMemo(\n () =>\n templates.filter((template) => isChartTypeAvailable(template, columns)),\n [columns, templates],\n );\n\n const selectedTemplate = useMemo(\n () => availableTemplates.find((template) => template.id === value),\n [availableTemplates, value],\n );\n\n return (\n <div className=\"space-y-2\">\n <Label className=\"text-xs\">Chart Type</Label>\n <Select value={value} onValueChange={onChange}>\n <SelectTrigger className=\"h-8 text-xs\">\n {selectedTemplate ? (\n <div className=\"flex items-center gap-2\">\n <selectedTemplate.icon className=\"h-3.5 w-3.5\" />\n <span>{selectedTemplate.label}</span>\n </div>\n ) : (\n <SelectValue placeholder=\"Select chart type\" />\n )}\n </SelectTrigger>\n <SelectContent className=\"text-xs\">\n {availableTemplates.map((template) => (\n <SelectItem key={template.id} value={template.id}>\n <div className=\"flex items-center gap-2\">\n <template.icon className=\"h-3.5 w-3.5\" />\n <span>{template.label}</span>\n </div>\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n );\n },\n);\n\nChartTypeSelector.displayName = 'ChartTypeSelector';\n"]}
@@ -1,11 +0,0 @@
1
- import { type FC } from 'react';
2
- import type { ChartTypeDefinition, ChartBuilderColumn } from '../../chart-builders/types';
3
- interface DynamicChartSettingsProps {
4
- chartTypeDefinition: ChartTypeDefinition;
5
- columns: ChartBuilderColumn[];
6
- values: Record<string, unknown>;
7
- onChange: (values: Record<string, unknown>) => void;
8
- }
9
- export declare const DynamicChartSettings: FC<DynamicChartSettingsProps>;
10
- export {};
11
- //# sourceMappingURL=DynamicChartSettings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DynamicChartSettings.d.ts","sourceRoot":"","sources":["../../../src/dashboard/chart-settings/DynamicChartSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,EAAO,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAEpC,UAAU,yBAAyB;IACjC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACrD;AAED,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CAgC9D,CAAC"}
@@ -1,19 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { memo } from 'react';
3
- import { useChartFieldForm } from '../../chart-builders/hooks/useChartFieldForm';
4
- import { FieldSelectorInput } from '../../chart-builders/FieldSelectorInput';
5
- export const DynamicChartSettings = memo(({ chartTypeDefinition, columns, values, onChange }) => {
6
- const { fields, handleFieldChange } = useChartFieldForm({
7
- fields: chartTypeDefinition.fields,
8
- values,
9
- onChange: (key, value) => {
10
- onChange({ ...values, [key]: value });
11
- },
12
- });
13
- if (fields.length === 0) {
14
- return (_jsx("div", { className: "text-muted-foreground text-sm", children: "No settings available for this chart type" }));
15
- }
16
- return (_jsx("div", { className: "space-y-4", children: fields.map((field) => (_jsx(FieldSelectorInput, { field: field, columns: columns, value: values[field.key], onChange: (value) => handleFieldChange(field.key, value) }, field.key))) }));
17
- });
18
- DynamicChartSettings.displayName = 'DynamicChartSettings';
19
- //# sourceMappingURL=DynamicChartSettings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DynamicChartSettings.js","sourceRoot":"","sources":["../../../src/dashboard/chart-settings/DynamicChartSettings.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAU,IAAI,EAAC,MAAM,OAAO,CAAC;AACpC,OAAO,EAAC,iBAAiB,EAAC,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAa3E,MAAM,CAAC,MAAM,oBAAoB,GAAkC,IAAI,CACrE,CAAC,EAAC,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAC,EAAE,EAAE;IACnD,MAAM,EAAC,MAAM,EAAE,iBAAiB,EAAC,GAAG,iBAAiB,CAAC;QACpD,MAAM,EAAE,mBAAmB,CAAC,MAAM;QAClC,MAAM;QACN,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACvB,QAAQ,CAAC,EAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAC,CAAC,CAAC;QACtC,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CACL,cAAK,SAAS,EAAC,+BAA+B,0DAExC,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,WAAW,YACvB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,KAAC,kBAAkB,IAEjB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAW,EAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAJnD,KAAK,CAAC,GAAG,CAKd,CACH,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,oBAAoB,CAAC,WAAW,GAAG,sBAAsB,CAAC","sourcesContent":["import {type FC, memo} from 'react';\nimport {useChartFieldForm} from '../../chart-builders/hooks/useChartFieldForm';\nimport {FieldSelectorInput} from '../../chart-builders/FieldSelectorInput';\nimport type {\n ChartTypeDefinition,\n ChartBuilderColumn,\n} from '../../chart-builders/types';\n\ninterface DynamicChartSettingsProps {\n chartTypeDefinition: ChartTypeDefinition;\n columns: ChartBuilderColumn[];\n values: Record<string, unknown>;\n onChange: (values: Record<string, unknown>) => void;\n}\n\nexport const DynamicChartSettings: FC<DynamicChartSettingsProps> = memo(\n ({chartTypeDefinition, columns, values, onChange}) => {\n const {fields, handleFieldChange} = useChartFieldForm({\n fields: chartTypeDefinition.fields,\n values,\n onChange: (key, value) => {\n onChange({...values, [key]: value});\n },\n });\n\n if (fields.length === 0) {\n return (\n <div className=\"text-muted-foreground text-sm\">\n No settings available for this chart type\n </div>\n );\n }\n\n return (\n <div className=\"space-y-4\">\n {fields.map((field) => (\n <FieldSelectorInput\n key={field.key}\n field={field}\n columns={columns}\n value={values[field.key] as string}\n onChange={(value) => handleFieldChange(field.key, value)}\n />\n ))}\n </div>\n );\n },\n);\n\nDynamicChartSettings.displayName = 'DynamicChartSettings';\n"]}
@@ -1,6 +0,0 @@
1
- export { ChartSettingsPanel } from './ChartSettingsPanel';
2
- export { ChartSettings } from './ChartSettings';
3
- export { ChartTypeSelector } from './ChartTypeSelector';
4
- export { DynamicChartSettings } from './DynamicChartSettings';
5
- export { useChartSettingsContext } from './ChartSettingsContext';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dashboard/chart-settings/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,uBAAuB,EAAC,MAAM,wBAAwB,CAAC"}
@@ -1,6 +0,0 @@
1
- export { ChartSettingsPanel } from './ChartSettingsPanel';
2
- export { ChartSettings } from './ChartSettings';
3
- export { ChartTypeSelector } from './ChartTypeSelector';
4
- export { DynamicChartSettings } from './DynamicChartSettings';
5
- export { useChartSettingsContext } from './ChartSettingsContext';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dashboard/chart-settings/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,uBAAuB,EAAC,MAAM,wBAAwB,CAAC","sourcesContent":["export {ChartSettingsPanel} from './ChartSettingsPanel';\nexport {ChartSettings} from './ChartSettings';\nexport {ChartTypeSelector} from './ChartTypeSelector';\nexport {DynamicChartSettings} from './DynamicChartSettings';\nexport {useChartSettingsContext} from './ChartSettingsContext';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTableColumns.d.ts","sourceRoot":"","sources":["../../../src/dashboard/chart-settings/useTableColumns.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAEzC,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAQjE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTableColumns.js","sourceRoot":"","sources":["../../../src/dashboard/chart-settings/useTableColumns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAC,2BAA2B,EAAC,MAAM,yBAAyB,CAAC;AAGpE,MAAM,UAAU,eAAe,CAAC,SAAkB;IAChD,MAAM,MAAM,GAAG,2BAA2B,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAEvE,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QACtE,OAAO,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC;IACtC,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1B,CAAC","sourcesContent":["import {useMemo} from 'react';\nimport {useStoreWithMosaicDashboard} from '../MosaicDashboardSlice';\nimport {TableColumn} from '@sqlrooms/db';\n\nexport function useTableColumns(tableName?: string): TableColumn[] {\n const tables = useStoreWithMosaicDashboard((state) => state.db.tables);\n\n return useMemo(() => {\n if (!tableName) return [];\n const resolvedTable = tables.find((t) => t.table.table === tableName);\n return resolvedTable?.columns || [];\n }, [tableName, tables]);\n}\n"]}
@@ -1,15 +0,0 @@
1
- import type { Spec } from '@uwdata/mosaic-spec';
2
- import { type VgPlotChartSettings, type VgPlotChartType } from '../chart-types';
3
- /**
4
- * Generates a Mosaic chart specification from chart settings.
5
- *
6
- * @param tableName - The source table name. Returns null if undefined.
7
- * @param chartType - The type of chart to generate (histogram, line, etc.)
8
- * @param settings - Chart-specific settings matching the chart type
9
- * @returns A Mosaic Spec object or null if generation fails
10
- *
11
- * @example
12
- * const spec = generateMosaicChartSpec('sales', 'histogram', { field: 'amount' });
13
- */
14
- export declare function generateMosaicChartSpec(tableName: string | undefined, chartType: VgPlotChartType, settings: VgPlotChartSettings | Record<string, unknown>): Spec | null;
15
- //# sourceMappingURL=generateMosaicChartSpec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateMosaicChartSpec.d.ts","sourceRoot":"","sources":["../../src/dashboard/generateMosaicChartSpec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACtD,IAAI,GAAG,IAAI,CAuBb"}
@@ -1,30 +0,0 @@
1
- import { mosaicChartTypes, } from '../chart-types';
2
- /**
3
- * Generates a Mosaic chart specification from chart settings.
4
- *
5
- * @param tableName - The source table name. Returns null if undefined.
6
- * @param chartType - The type of chart to generate (histogram, line, etc.)
7
- * @param settings - Chart-specific settings matching the chart type
8
- * @returns A Mosaic Spec object or null if generation fails
9
- *
10
- * @example
11
- * const spec = generateMosaicChartSpec('sales', 'histogram', { field: 'amount' });
12
- */
13
- export function generateMosaicChartSpec(tableName, chartType, settings) {
14
- if (!tableName) {
15
- return null;
16
- }
17
- const chartTypeDef = Object.values(mosaicChartTypes).find(({ id }) => id === chartType);
18
- if (!chartTypeDef) {
19
- console.error(`[generateMosaicChartSpec] Unknown chart type: ${chartType}`);
20
- return null;
21
- }
22
- try {
23
- return chartTypeDef.createSpec(tableName, settings);
24
- }
25
- catch (error) {
26
- console.error(`[generateMosaicChartSpec] Failed to generate spec for chart type "${chartType}":`, error);
27
- return null;
28
- }
29
- }
30
- //# sourceMappingURL=generateMosaicChartSpec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateMosaicChartSpec.js","sourceRoot":"","sources":["../../src/dashboard/generateMosaicChartSpec.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,GAGjB,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAA6B,EAC7B,SAA0B,EAC1B,QAAuD;IAEvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CACvD,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAC3B,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,iDAAiD,SAAS,EAAE,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,qEAAqE,SAAS,IAAI,EAClF,KAAK,CACN,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["import type {Spec} from '@uwdata/mosaic-spec';\nimport {\n mosaicChartTypes,\n type VgPlotChartSettings,\n type VgPlotChartType,\n} from '../chart-types';\n\n/**\n * Generates a Mosaic chart specification from chart settings.\n *\n * @param tableName - The source table name. Returns null if undefined.\n * @param chartType - The type of chart to generate (histogram, line, etc.)\n * @param settings - Chart-specific settings matching the chart type\n * @returns A Mosaic Spec object or null if generation fails\n *\n * @example\n * const spec = generateMosaicChartSpec('sales', 'histogram', { field: 'amount' });\n */\nexport function generateMosaicChartSpec(\n tableName: string | undefined,\n chartType: VgPlotChartType,\n settings: VgPlotChartSettings | Record<string, unknown>,\n): Spec | null {\n if (!tableName) {\n return null;\n }\n\n const chartTypeDef = Object.values(mosaicChartTypes).find(\n ({id}) => id === chartType,\n );\n\n if (!chartTypeDef) {\n console.error(`[generateMosaicChartSpec] Unknown chart type: ${chartType}`);\n return null;\n }\n\n try {\n return chartTypeDef.createSpec(tableName, settings);\n } catch (error) {\n console.error(\n `[generateMosaicChartSpec] Failed to generate spec for chart type \"${chartType}\":`,\n error,\n );\n return null;\n }\n}\n"]}