@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,12 +0,0 @@
1
- import { useCallback } from 'react';
2
- export function useChartFieldForm({ fields, values, onChange, }) {
3
- const handleFieldChange = useCallback((fieldKey, value) => {
4
- onChange(fieldKey, value);
5
- }, [onChange]);
6
- return {
7
- fields,
8
- values,
9
- handleFieldChange,
10
- };
11
- }
12
- //# sourceMappingURL=useChartFieldForm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useChartFieldForm.js","sourceRoot":"","sources":["../../../src/chart-builders/hooks/useChartFieldForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,OAAO,CAAC;AASlC,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,MAAM,EACN,QAAQ,GACe;IACvB,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,QAAgB,EAAE,KAAc,EAAE,EAAE;QACnC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,OAAO;QACL,MAAM;QACN,MAAM;QACN,iBAAiB;KAClB,CAAC;AACJ,CAAC","sourcesContent":["import {useCallback} from 'react';\nimport type {ChartBuilderField} from '../types';\n\ninterface UseChartFieldFormProps {\n fields: ChartBuilderField[];\n values: Record<string, unknown>;\n onChange: (key: string, value: unknown) => void;\n}\n\nexport function useChartFieldForm({\n fields,\n values,\n onChange,\n}: UseChartFieldFormProps) {\n const handleFieldChange = useCallback(\n (fieldKey: string, value: unknown) => {\n onChange(fieldKey, value);\n },\n [onChange],\n );\n\n return {\n fields,\n values,\n handleFieldChange,\n };\n}\n"]}
@@ -1,23 +0,0 @@
1
- import type { ComponentType } from 'react';
2
- import type { ChartTypeDefinition, ChartBuilderField, ChartBuilderColumn } from '../chart-types/base-types';
3
- export type { ChartTypeDefinition, ChartBuilderField, ChartBuilderColumn };
4
- /**
5
- * Describes a chart builder template that generates Mosaic JSON specs
6
- * (includes an icon for the chart-type grid).
7
- */
8
- export interface ChartBuilderTemplate extends ChartTypeDefinition {
9
- /** Icon component */
10
- icon: ComponentType<{
11
- className?: string;
12
- }>;
13
- }
14
- /**
15
- * Backward-compatible alias for earlier chart-builder helper APIs.
16
- * Prefer {@link ChartTypeDefinition} for new code.
17
- */
18
- export type ChartSpec = ChartTypeDefinition;
19
- /** Strip UI-only fields from a template for non-UI chart-type contexts. */
20
- export declare function toChartTypeDefinition(template: ChartBuilderTemplate): ChartTypeDefinition;
21
- /** Backward-compatible alias for earlier helper APIs. */
22
- export declare const toChartSpec: typeof toChartTypeDefinition;
23
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/chart-builders/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AACzC,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EAAC,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAC,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,qBAAqB;IACrB,IAAI,EAAE,aAAa,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,mBAAmB,CAAC;AAE5C,2EAA2E;AAC3E,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,oBAAoB,GAC7B,mBAAmB,CAqBrB;AAED,yDAAyD;AACzD,eAAO,MAAM,WAAW,8BAAwB,CAAC"}
@@ -1,17 +0,0 @@
1
- /** Strip UI-only fields from a template for non-UI chart-type contexts. */
2
- export function toChartTypeDefinition(template) {
3
- const { id, label, description, fields, createSpec, buildTitle, isAvailable, aiDescription, } = template;
4
- return {
5
- id,
6
- label,
7
- description,
8
- fields,
9
- createSpec,
10
- buildTitle,
11
- isAvailable,
12
- aiDescription,
13
- };
14
- }
15
- /** Backward-compatible alias for earlier helper APIs. */
16
- export const toChartSpec = toChartTypeDefinition;
17
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/chart-builders/types.ts"],"names":[],"mappings":"AAyBA,2EAA2E;AAC3E,MAAM,UAAU,qBAAqB,CACnC,QAA8B;IAE9B,MAAM,EACJ,EAAE,EACF,KAAK,EACL,WAAW,EACX,MAAM,EACN,UAAU,EACV,UAAU,EACV,WAAW,EACX,aAAa,GACd,GAAG,QAAQ,CAAC;IACb,OAAO;QACL,EAAE;QACF,KAAK;QACL,WAAW;QACX,MAAM;QACN,UAAU;QACV,UAAU;QACV,WAAW;QACX,aAAa;KACd,CAAC;AACJ,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,WAAW,GAAG,qBAAqB,CAAC","sourcesContent":["import type {ComponentType} from 'react';\nimport type {\n ChartTypeDefinition,\n ChartBuilderField,\n ChartBuilderColumn,\n} from '../chart-types/base-types';\n\n// Re-export for backward compatibility\nexport type {ChartTypeDefinition, ChartBuilderField, ChartBuilderColumn};\n\n/**\n * Describes a chart builder template that generates Mosaic JSON specs\n * (includes an icon for the chart-type grid).\n */\nexport interface ChartBuilderTemplate extends ChartTypeDefinition {\n /** Icon component */\n icon: ComponentType<{className?: string}>;\n}\n\n/**\n * Backward-compatible alias for earlier chart-builder helper APIs.\n * Prefer {@link ChartTypeDefinition} for new code.\n */\nexport type ChartSpec = ChartTypeDefinition;\n\n/** Strip UI-only fields from a template for non-UI chart-type contexts. */\nexport function toChartTypeDefinition(\n template: ChartBuilderTemplate,\n): ChartTypeDefinition {\n const {\n id,\n label,\n description,\n fields,\n createSpec,\n buildTitle,\n isAvailable,\n aiDescription,\n } = template;\n return {\n id,\n label,\n description,\n fields,\n createSpec,\n buildTitle,\n isAvailable,\n aiDescription,\n };\n}\n\n/** Backward-compatible alias for earlier helper APIs. */\nexport const toChartSpec = toChartTypeDefinition;\n"]}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chart-types/box-plot/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chart-types/box-plot/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC","sourcesContent":["export * from './schema';\nexport * from './definition';\n"]}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chart-types/bubble-chart/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chart-types/bubble-chart/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC","sourcesContent":["export * from './schema';\nexport * from './definition';\n"]}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chart-types/count-plot/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chart-types/count-plot/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC","sourcesContent":["export * from './schema';\nexport * from './definition';\n"]}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chart-types/custom-spec/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chart-types/custom-spec/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC","sourcesContent":["export * from './schema';\nexport * from './definition';\n"]}
@@ -1,4 +0,0 @@
1
- import type { ChartTypeDefinition } from '../base-types';
2
- import type { EcdfChartSettings } from './schema';
3
- export declare const ecdfChartType: ChartTypeDefinition<EcdfChartSettings>;
4
- //# sourceMappingURL=definition.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../src/chart-types/ecdf/definition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,UAAU,CAAC;AAOhD,eAAO,MAAM,aAAa,EAAE,mBAAmB,CAAC,iBAAiB,CA4ChE,CAAC"}
@@ -1,47 +0,0 @@
1
- import { QUANTITATIVE_COLUMN_TYPES } from '../../chart-builders/constants';
2
- import { titleFromDescription } from '../../chart-builders/chartTypeUtils';
3
- const FG_COLOR = 'var(--color-chart-1)';
4
- const DESCRIPTION = 'Create an eCDF chart of a field';
5
- export const ecdfChartType = {
6
- id: 'ecdf',
7
- label: 'eCDF',
8
- description: DESCRIPTION,
9
- aiDescription: 'Use for a cumulative distribution curve over one numeric or temporal column.',
10
- fields: [
11
- {
12
- key: 'field',
13
- label: 'Field',
14
- required: true,
15
- types: [...QUANTITATIVE_COLUMN_TYPES],
16
- description: 'Numeric or temporal column used to build the cumulative distribution.',
17
- },
18
- ],
19
- buildTitle: titleFromDescription(DESCRIPTION),
20
- createSpec: (tableName, { field }) => ({
21
- plot: [
22
- {
23
- mark: 'areaY',
24
- data: { from: tableName, filterBy: '$brush' },
25
- x: field,
26
- y: { sum: field, cumulative: true },
27
- fill: FG_COLOR,
28
- fillOpacity: 0.3,
29
- },
30
- {
31
- mark: 'lineY',
32
- data: { from: tableName, filterBy: '$brush' },
33
- x: field,
34
- y: { sum: field, cumulative: true },
35
- stroke: FG_COLOR,
36
- },
37
- { select: 'intervalX', as: '$brush' },
38
- ],
39
- xLabel: field,
40
- yLabel: 'Cumulative',
41
- height: 250,
42
- width: 380,
43
- margins: { left: 50, right: 20, top: 20, bottom: 50 },
44
- params: { brush: { select: 'crossfilter' } },
45
- }),
46
- };
47
- //# sourceMappingURL=definition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../src/chart-types/ecdf/definition.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,oBAAoB,EAAC,MAAM,qCAAqC,CAAC;AAEzE,MAAM,QAAQ,GAAG,sBAAsB,CAAC;AACxC,MAAM,WAAW,GAAG,iCAAiC,CAAC;AAEtD,MAAM,CAAC,MAAM,aAAa,GAA2C;IACnE,EAAE,EAAE,MAAM;IACV,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,WAAW;IACxB,aAAa,EACX,8EAA8E;IAChF,MAAM,EAAE;QACN;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,CAAC,GAAG,yBAAyB,CAAC;YACrC,WAAW,EACT,uEAAuE;SAC1E;KACF;IACD,UAAU,EAAE,oBAAoB,CAAC,WAAW,CAAC;IAC7C,UAAU,EAAE,CAAC,SAAS,EAAE,EAAC,KAAK,EAAC,EAAQ,EAAE,CACvC,CAAC;QACC,IAAI,EAAE;YACJ;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAC;gBAC3C,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,EAAC,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAC;gBACjC,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,GAAG;aACjB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAC;gBAC3C,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,EAAC,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAC;gBACjC,MAAM,EAAE,QAAQ;aACjB;YACD,EAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAC;SACpC;QACD,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAC;QACnD,MAAM,EAAE,EAAC,KAAK,EAAE,EAAC,MAAM,EAAE,aAAa,EAAC,EAAC;KACzC,CAAS;CACb,CAAC","sourcesContent":["import type {Spec} from '@uwdata/mosaic-spec';\nimport type {ChartTypeDefinition} from '../base-types';\nimport type {EcdfChartSettings} from './schema';\nimport {QUANTITATIVE_COLUMN_TYPES} from '../../chart-builders/constants';\nimport {titleFromDescription} from '../../chart-builders/chartTypeUtils';\n\nconst FG_COLOR = 'var(--color-chart-1)';\nconst DESCRIPTION = 'Create an eCDF chart of a field';\n\nexport const ecdfChartType: ChartTypeDefinition<EcdfChartSettings> = {\n id: 'ecdf',\n label: 'eCDF',\n description: DESCRIPTION,\n aiDescription:\n 'Use for a cumulative distribution curve over one numeric or temporal column.',\n fields: [\n {\n key: 'field',\n label: 'Field',\n required: true,\n types: [...QUANTITATIVE_COLUMN_TYPES],\n description:\n 'Numeric or temporal column used to build the cumulative distribution.',\n },\n ],\n buildTitle: titleFromDescription(DESCRIPTION),\n createSpec: (tableName, {field}): Spec =>\n ({\n plot: [\n {\n mark: 'areaY',\n data: {from: tableName, filterBy: '$brush'},\n x: field,\n y: {sum: field, cumulative: true},\n fill: FG_COLOR,\n fillOpacity: 0.3,\n },\n {\n mark: 'lineY',\n data: {from: tableName, filterBy: '$brush'},\n x: field,\n y: {sum: field, cumulative: true},\n stroke: FG_COLOR,\n },\n {select: 'intervalX', as: '$brush'},\n ],\n xLabel: field,\n yLabel: 'Cumulative',\n height: 250,\n width: 380,\n margins: {left: 50, right: 20, top: 20, bottom: 50},\n params: {brush: {select: 'crossfilter'}},\n }) as Spec,\n};\n"]}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chart-types/ecdf/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chart-types/ecdf/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC","sourcesContent":["export * from './schema';\nexport * from './definition';\n"]}
@@ -1,15 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const EcdfChartSettings: z.ZodObject<{
3
- field: z.ZodOptional<z.ZodString>;
4
- }, z.core.$strip>;
5
- export type EcdfChartSettings = z.infer<typeof EcdfChartSettings>;
6
- export declare const EcdfChartConfig: z.ZodObject<{
7
- chartType: z.ZodLiteral<"ecdf">;
8
- settings: z.ZodObject<{
9
- field: z.ZodOptional<z.ZodString>;
10
- }, z.core.$strip>;
11
- vgplot: z.ZodUnknown;
12
- settingsOpen: z.ZodOptional<z.ZodBoolean>;
13
- }, z.core.$strip>;
14
- export type EcdfChartConfig = z.infer<typeof EcdfChartConfig>;
15
- //# sourceMappingURL=schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/chart-types/ecdf/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,eAAe;;;;;;;iBAK1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -1,11 +0,0 @@
1
- import { z } from 'zod';
2
- export const EcdfChartSettings = z.object({
3
- field: z.string().optional(),
4
- });
5
- export const EcdfChartConfig = z.object({
6
- chartType: z.literal('ecdf'),
7
- settings: EcdfChartSettings,
8
- vgplot: z.unknown(),
9
- settingsOpen: z.boolean().optional(),
10
- });
11
- //# sourceMappingURL=schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/chart-types/ecdf/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC5B,QAAQ,EAAE,iBAAiB;IAC3B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC","sourcesContent":["import {z} from 'zod';\n\nexport const EcdfChartSettings = z.object({\n field: z.string().optional(),\n});\n\nexport type EcdfChartSettings = z.infer<typeof EcdfChartSettings>;\n\nexport const EcdfChartConfig = z.object({\n chartType: z.literal('ecdf'),\n settings: EcdfChartSettings,\n vgplot: z.unknown(),\n settingsOpen: z.boolean().optional(),\n});\n\nexport type EcdfChartConfig = z.infer<typeof EcdfChartConfig>;\n"]}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chart-types/heatmap/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chart-types/heatmap/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC","sourcesContent":["export * from './schema';\nexport * from './definition';\n"]}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chart-types/histogram/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chart-types/histogram/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC","sourcesContent":["export * from './schema';\nexport * from './definition';\n"]}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chart-types/line-chart/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './schema';
2
- export * from './definition';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chart-types/line-chart/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC","sourcesContent":["export * from './schema';\nexport * from './definition';\n"]}
@@ -1,5 +0,0 @@
1
- import type { ChartTypeDefinition } from './base-types';
2
- export declare function registerChartType(definition: ChartTypeDefinition): void;
3
- export declare function getChartTypeDefinition(id: string): ChartTypeDefinition | undefined;
4
- export declare function getAllChartTypes(): ChartTypeDefinition[];
5
- //# sourceMappingURL=registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/chart-types/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAsBtD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,QAEhE;AAED,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,GACT,mBAAmB,GAAG,SAAS,CAEjC;AAED,wBAAgB,gBAAgB,IAAI,mBAAmB,EAAE,CAExD"}
@@ -1,28 +0,0 @@
1
- import { histogramChartType } from './histogram';
2
- import { lineChartChartType } from './line-chart';
3
- import { countPlotChartType } from './count-plot';
4
- import { ecdfChartType } from './ecdf';
5
- import { heatmapChartType } from './heatmap';
6
- import { boxPlotChartType } from './box-plot';
7
- import { bubbleChartChartType } from './bubble-chart';
8
- import { customSpecChartType } from './custom-spec';
9
- const chartTypeRegistry = new Map();
10
- // Register all chart types
11
- registerChartType(histogramChartType);
12
- registerChartType(lineChartChartType);
13
- registerChartType(countPlotChartType);
14
- registerChartType(ecdfChartType);
15
- registerChartType(heatmapChartType);
16
- registerChartType(boxPlotChartType);
17
- registerChartType(bubbleChartChartType);
18
- registerChartType(customSpecChartType);
19
- export function registerChartType(definition) {
20
- chartTypeRegistry.set(definition.id, definition);
21
- }
22
- export function getChartTypeDefinition(id) {
23
- return chartTypeRegistry.get(id);
24
- }
25
- export function getAllChartTypes() {
26
- return Array.from(chartTypeRegistry.values());
27
- }
28
- //# sourceMappingURL=registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/chart-types/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAC,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAC,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAChD,OAAO,EAAC,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAChD,OAAO,EAAC,aAAa,EAAC,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAC,gBAAgB,EAAC,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAC,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAC,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAElD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA+B,CAAC;AAEjE,2BAA2B;AAC3B,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AACtC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AACtC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AACtC,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACjC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AACpC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AACpC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AACxC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;AAEvC,MAAM,UAAU,iBAAiB,CAAC,UAA+B;IAC/D,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,EAAU;IAEV,OAAO,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;AAChD,CAAC","sourcesContent":["import type {ChartTypeDefinition} from './base-types';\nimport {histogramChartType} from './histogram';\nimport {lineChartChartType} from './line-chart';\nimport {countPlotChartType} from './count-plot';\nimport {ecdfChartType} from './ecdf';\nimport {heatmapChartType} from './heatmap';\nimport {boxPlotChartType} from './box-plot';\nimport {bubbleChartChartType} from './bubble-chart';\nimport {customSpecChartType} from './custom-spec';\n\nconst chartTypeRegistry = new Map<string, ChartTypeDefinition>();\n\n// Register all chart types\nregisterChartType(histogramChartType);\nregisterChartType(lineChartChartType);\nregisterChartType(countPlotChartType);\nregisterChartType(ecdfChartType);\nregisterChartType(heatmapChartType);\nregisterChartType(boxPlotChartType);\nregisterChartType(bubbleChartChartType);\nregisterChartType(customSpecChartType);\n\nexport function registerChartType(definition: ChartTypeDefinition) {\n chartTypeRegistry.set(definition.id, definition);\n}\n\nexport function getChartTypeDefinition(\n id: string,\n): ChartTypeDefinition | undefined {\n return chartTypeRegistry.get(id);\n}\n\nexport function getAllChartTypes(): ChartTypeDefinition[] {\n return Array.from(chartTypeRegistry.values());\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MosaicDashboardProfilerPanelRenderer.d.ts","sourceRoot":"","sources":["../../src/dashboard/MosaicDashboardProfilerPanelRenderer.tsx"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,4BAA4B,EACjC,aAAa,EAGd,MAAM,wBAAwB,CAAC;AAyDhC,eAAO,MAAM,oCAAoC,EAAE,4BAA4B,CAAC,aAAa,CAI1F,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MosaicDashboardProfilerPanelRenderer.js","sourceRoot":"","sources":["../../src/dashboard/MosaicDashboardProfilerPanelRenderer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AACzC,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,cAAc,GAEf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAIL,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAEhC,SAAS,+BAA+B,CAAC,EACvC,KAAK,EACL,cAAc,EACd,aAAa,GACc;IAC3B,MAAM,UAAU,GAAG,2BAA2B,CAC5C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CACnC,CAAC;IACF,MAAM,SAAS,GAAG,cAAc,EAAE,SAAS,CAAC;IAC5C,MAAM,QAAQ,GACZ,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ;QACvC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ;QACvB,CAAC,CAAC,SAAS,CAAC;IAEhB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CACL,cAAK,SAAS,EAAC,2EAA2E,wDAEpF,CACP,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,KAAC,WAAW,IAAC,SAAS,EAAC,eAAe,GAAG,CAAC;IACnD,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO,CACL,cAAK,SAAS,EAAC,2EAA2E,gDAEpF,CACP,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG;QACpB,SAAS;QACT,QAAQ,EAAE,QAAQ,IAAI,EAAE;QACxB,aAAa;KACgB,CAAC;IAEhC,OAAO,CACL,KAAC,cAAc,OAAK,aAAa,YAC/B,eAAK,SAAS,EAAC,8BAA8B,aAC3C,cAAK,SAAS,EAAC,8BAA8B,YAC3C,MAAC,cAAc,CAAC,KAAK,eACnB,KAAC,cAAc,CAAC,MAAM,KAAG,EACzB,KAAC,cAAc,CAAC,IAAI,KAAG,IACF,GACnB,EACN,KAAC,cAAc,CAAC,SAAS,KAAG,IACxB,GACS,CAClB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,oCAAoC,GAC/C;IACE,SAAS,EAAE,+BAA+B;IAC1C,IAAI,EAAE,mBAAmB;CAC1B,CAAC","sourcesContent":["import {SpinnerPane} from '@sqlrooms/ui';\nimport {TablePropertiesIcon} from 'lucide-react';\nimport {\n MosaicProfiler,\n type MosaicProfilerProps,\n} from '../profiler/MosaicProfiler';\nimport {\n type MosaicDashboardPanelRenderer,\n ProfilerPanel,\n type ProfilerPanelRendererProps,\n useStoreWithMosaicDashboard,\n} from './MosaicDashboardSlice';\n\nfunction MosaicDashboardProfilerRenderer({\n panel,\n resolvedSource,\n selectionName,\n}: ProfilerPanelRendererProps) {\n const connection = useStoreWithMosaicDashboard(\n (state) => state.mosaic.connection,\n );\n const tableName = resolvedSource?.tableName;\n const pageSize =\n typeof panel.config.pageSize === 'number'\n ? panel.config.pageSize\n : undefined;\n\n if (!tableName) {\n return (\n <div className=\"text-muted-foreground flex h-full items-center justify-center p-4 text-sm\">\n Profiler panels require a table source.\n </div>\n );\n }\n\n if (connection.status === 'loading') {\n return <SpinnerPane className=\"h-full w-full\" />;\n }\n\n if (connection.status !== 'ready') {\n return (\n <div className=\"text-muted-foreground flex h-full items-center justify-center p-4 text-sm\">\n Mosaic connection is not ready.\n </div>\n );\n }\n\n const profilerProps = {\n tableName,\n pageSize: pageSize ?? 10,\n selectionName,\n } satisfies MosaicProfilerProps;\n\n return (\n <MosaicProfiler {...profilerProps}>\n <div className=\"flex h-full min-h-0 flex-col\">\n <div className=\"min-h-0 flex-1 overflow-auto\">\n <MosaicProfiler.Table>\n <MosaicProfiler.Header />\n <MosaicProfiler.Rows />\n </MosaicProfiler.Table>\n </div>\n <MosaicProfiler.StatusBar />\n </div>\n </MosaicProfiler>\n );\n}\n\nexport const mosaicDashboardProfilerPanelRenderer: MosaicDashboardPanelRenderer<ProfilerPanel> =\n {\n component: MosaicDashboardProfilerRenderer,\n icon: TablePropertiesIcon,\n };\n"]}
@@ -1,4 +0,0 @@
1
- import { type FC } from 'react';
2
- import { type VgPlotPanelRendererProps } from './MosaicDashboardSlice';
3
- export declare const MosaicDashboardVgPlotHeaderActions: FC<VgPlotPanelRendererProps>;
4
- //# sourceMappingURL=MosaicDashboardVgPlotHeaderActions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MosaicDashboardVgPlotHeaderActions.d.ts","sourceRoot":"","sources":["../../src/dashboard/MosaicDashboardVgPlotHeaderActions.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,EAAE,EAAc,MAAM,OAAO,CAAC;AAE3C,OAAO,EAEL,KAAK,wBAAwB,EAE9B,MAAM,wBAAwB,CAAC;AAShC,eAAO,MAAM,kCAAkC,EAAE,EAAE,CACjD,wBAAwB,CA6CzB,CAAC"}
@@ -1,29 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Button, Tooltip, TooltipContent, TooltipTrigger } from '@sqlrooms/ui';
3
- import { SettingsIcon } from 'lucide-react';
4
- import { useCallback } from 'react';
5
- import { VgPlotSpecPopoverEditor } from './VgPlotSpecPopoverEditor';
6
- import { useStoreWithMosaicDashboard, } from './MosaicDashboardSlice';
7
- function getVgPlotSpec(panel) {
8
- const spec = panel.config.vgplot;
9
- return spec && typeof spec === 'object' && !Array.isArray(spec)
10
- ? spec
11
- : null;
12
- }
13
- export const MosaicDashboardVgPlotHeaderActions = ({ dashboardId, panel }) => {
14
- const updatePanel = useStoreWithMosaicDashboard((state) => state.mosaicDashboard.updatePanel);
15
- const spec = getVgPlotSpec(panel);
16
- const isSettingsOpen = Boolean(panel.config.settingsOpen);
17
- const handleSpecApply = useCallback((newSpec) => {
18
- updatePanel(dashboardId, panel.id, {
19
- config: { ...panel.config, vgplot: newSpec },
20
- });
21
- }, [dashboardId, panel.config, panel.id, updatePanel]);
22
- const handleToggleSettings = useCallback(() => {
23
- updatePanel(dashboardId, panel.id, {
24
- config: { ...panel.config, settingsOpen: !isSettingsOpen },
25
- });
26
- }, [dashboardId, isSettingsOpen, panel.config, panel.id, updatePanel]);
27
- return (_jsxs(_Fragment, { children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon", className: "data-[state=active]:bg-accent h-6 w-6", "aria-label": "Chart settings", onClick: handleToggleSettings, "data-state": isSettingsOpen ? 'active' : 'inactive', children: _jsx(SettingsIcon, { className: "h-3.5 w-3.5" }) }) }), _jsx(TooltipContent, { children: "Chart settings" })] }), spec ? (_jsx(VgPlotSpecPopoverEditor, { value: spec, onApply: handleSpecApply })) : null] }));
28
- };
29
- //# sourceMappingURL=MosaicDashboardVgPlotHeaderActions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MosaicDashboardVgPlotHeaderActions.js","sourceRoot":"","sources":["../../src/dashboard/MosaicDashboardVgPlotHeaderActions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAC,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAU,WAAW,EAAC,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAGL,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAEhC,SAAS,aAAa,CAAC,KAAwB;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IACjC,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAC7D,CAAC,CAAE,IAAgC;QACnC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,kCAAkC,GAE3C,CAAC,EAAC,WAAW,EAAE,KAAK,EAAC,EAAE,EAAE;IAC3B,MAAM,WAAW,GAAG,2BAA2B,CAC7C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAC7C,CAAC;IACF,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAE1D,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,OAAgC,EAAE,EAAE;QACnC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE;YACjC,MAAM,EAAE,EAAC,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC;SAC3C,CAAC,CAAC;IACL,CAAC,EACD,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CACnD,CAAC;IAEF,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE;YACjC,MAAM,EAAE,EAAC,GAAG,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,cAAc,EAAC;SACzD,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IAEvE,OAAO,CACL,8BACE,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,uCAAuC,gBACtC,gBAAgB,EAC3B,OAAO,EAAE,oBAAoB,gBACjB,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,YAElD,KAAC,YAAY,IAAC,SAAS,EAAC,aAAa,GAAG,GACjC,GACM,EACjB,KAAC,cAAc,iCAAgC,IACvC,EACT,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,uBAAuB,IAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,GAAI,CACnE,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import {Button, Tooltip, TooltipContent, TooltipTrigger} from '@sqlrooms/ui';\nimport {SettingsIcon} from 'lucide-react';\nimport {type FC, useCallback} from 'react';\nimport {VgPlotSpecPopoverEditor} from './VgPlotSpecPopoverEditor';\nimport {\n VgPlotPanelConfig,\n type VgPlotPanelRendererProps,\n useStoreWithMosaicDashboard,\n} from './MosaicDashboardSlice';\n\nfunction getVgPlotSpec(panel: VgPlotPanelConfig) {\n const spec = panel.config.vgplot;\n return spec && typeof spec === 'object' && !Array.isArray(spec)\n ? (spec as Record<string, unknown>)\n : null;\n}\n\nexport const MosaicDashboardVgPlotHeaderActions: FC<\n VgPlotPanelRendererProps\n> = ({dashboardId, panel}) => {\n const updatePanel = useStoreWithMosaicDashboard(\n (state) => state.mosaicDashboard.updatePanel,\n );\n const spec = getVgPlotSpec(panel);\n const isSettingsOpen = Boolean(panel.config.settingsOpen);\n\n const handleSpecApply = useCallback(\n (newSpec: Record<string, unknown>) => {\n updatePanel(dashboardId, panel.id, {\n config: {...panel.config, vgplot: newSpec},\n });\n },\n [dashboardId, panel.config, panel.id, updatePanel],\n );\n\n const handleToggleSettings = useCallback(() => {\n updatePanel(dashboardId, panel.id, {\n config: {...panel.config, settingsOpen: !isSettingsOpen},\n });\n }, [dashboardId, isSettingsOpen, panel.config, panel.id, updatePanel]);\n\n return (\n <>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"data-[state=active]:bg-accent h-6 w-6\"\n aria-label=\"Chart settings\"\n onClick={handleToggleSettings}\n data-state={isSettingsOpen ? 'active' : 'inactive'}\n >\n <SettingsIcon className=\"h-3.5 w-3.5\" />\n </Button>\n </TooltipTrigger>\n <TooltipContent>Chart settings</TooltipContent>\n </Tooltip>\n {spec ? (\n <VgPlotSpecPopoverEditor value={spec} onApply={handleSpecApply} />\n ) : null}\n </>\n );\n};\n"]}
@@ -1,3 +0,0 @@
1
- import { type MosaicDashboardPanelRenderer, type VgPlotPanelConfig } from './MosaicDashboardSlice';
2
- export declare const mosaicDashboardVgPlotPanelRenderer: MosaicDashboardPanelRenderer<VgPlotPanelConfig>;
3
- //# sourceMappingURL=MosaicDashboardVgPlotPanelRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MosaicDashboardVgPlotPanelRenderer.d.ts","sourceRoot":"","sources":["../../src/dashboard/MosaicDashboardVgPlotPanelRenderer.tsx"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EAGvB,MAAM,wBAAwB,CAAC;AAwIhC,eAAO,MAAM,kCAAkC,EAAE,4BAA4B,CAAC,iBAAiB,CAK5F,CAAC"}
@@ -1,68 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { SpinnerPane } from '@sqlrooms/ui';
3
- import { BarChart3Icon } from 'lucide-react';
4
- import { useCallback, useEffect, useMemo } from 'react';
5
- import { VgPlotChart } from '../VgPlotChart';
6
- import { ChartSettingsPanel } from './chart-settings';
7
- import { MosaicDashboardPanelLayout } from './MosaicDashboardPanelLayout';
8
- import { MosaicDashboardVgPlotHeaderActions } from './MosaicDashboardVgPlotHeaderActions';
9
- import { useStoreWithMosaicDashboard, } from './MosaicDashboardSlice';
10
- function toRenderableMosaicSpec(vgplot) {
11
- try {
12
- if (!vgplot || typeof vgplot !== 'object' || Array.isArray(vgplot)) {
13
- return null;
14
- }
15
- const vgplotRecord = vgplot;
16
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
- const { $schema, ...mosaicSpec } = vgplotRecord;
18
- return mosaicSpec;
19
- }
20
- catch (error) {
21
- console.error('[toRenderableMosaicSpec] Failed to parse spec:', error);
22
- return null;
23
- }
24
- }
25
- const MosaicDashboardVgPlotRenderer = ({ dashboardId, panel, selectionName, }) => {
26
- const connection = useStoreWithMosaicDashboard((state) => state.mosaic.connection);
27
- const brushSelection = useStoreWithMosaicDashboard((state) => state.mosaic.selections[selectionName]);
28
- const getSelection = useStoreWithMosaicDashboard((state) => state.mosaic.getSelection);
29
- const retainedChart = useStoreWithMosaicDashboard((state) => state.mosaicDashboard.getRetainedChart(dashboardId, panel.id));
30
- const setRetainedChart = useStoreWithMosaicDashboard((state) => state.mosaicDashboard.setRetainedChart);
31
- const spec = useMemo(() => toRenderableMosaicSpec(panel.config.vgplot), [panel.config.vgplot]);
32
- const updatePanel = useStoreWithMosaicDashboard((state) => state.mosaicDashboard.updatePanel);
33
- const isSettingsOpen = panel.config.settingsOpen;
34
- const handleOpenChange = useCallback((isOpen) => {
35
- updatePanel(dashboardId, panel.id, {
36
- config: { ...panel.config, settingsOpen: isOpen },
37
- });
38
- }, [dashboardId, panel.config, panel.id, updatePanel]);
39
- useEffect(() => {
40
- if (!brushSelection) {
41
- getSelection(selectionName, 'crossfilter');
42
- }
43
- }, [brushSelection, getSelection, selectionName]);
44
- const params = useMemo(() => brushSelection
45
- ? new Map([['brush', brushSelection]])
46
- : undefined, [brushSelection]);
47
- const retention = useMemo(() => ({
48
- chart: retainedChart,
49
- setChart: (chart) => setRetainedChart(dashboardId, panel.id, chart),
50
- }), [dashboardId, panel.id, retainedChart, setRetainedChart]);
51
- const tableName = panel.source?.tableName;
52
- const handleSettingsChange = useCallback((config) => {
53
- updatePanel(dashboardId, panel.id, {
54
- config,
55
- });
56
- }, [dashboardId, panel.id, updatePanel]);
57
- const settingsContent = (_jsx(ChartSettingsPanel, { tableName: tableName, config: panel.config, onChange: handleSettingsChange, onClose: () => handleOpenChange(false) }));
58
- const chartContent = (_jsx("div", { className: "h-full overflow-auto p-2", children: connection.status === 'loading' ? (_jsx(SpinnerPane, { className: "h-full w-full" })) : connection.status === 'ready' && spec && params ? (_jsx("div", { className: "bg-background text-foreground flex h-full w-full items-center justify-center rounded-md p-2", children: _jsx(VgPlotChart, { spec: spec, params: params, retention: retention }) })) : connection.status === 'ready' && spec ? (_jsx(SpinnerPane, { className: "h-full w-full" })) : (_jsx("div", { className: "text-muted-foreground flex h-full items-center justify-center text-sm", children: connection.status === 'error'
59
- ? 'Mosaic connection failed'
60
- : 'No valid chart spec' })) }));
61
- return (_jsx("div", { className: "h-full min-h-0", children: _jsx(MosaicDashboardPanelLayout, { isOpen: isSettingsOpen, onIsOpenChange: handleOpenChange, settings: settingsContent, content: chartContent }) }));
62
- };
63
- export const mosaicDashboardVgPlotPanelRenderer = {
64
- component: MosaicDashboardVgPlotRenderer,
65
- headerActions: MosaicDashboardVgPlotHeaderActions,
66
- icon: BarChart3Icon,
67
- };
68
- //# sourceMappingURL=MosaicDashboardVgPlotPanelRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MosaicDashboardVgPlotPanelRenderer.js","sourceRoot":"","sources":["../../src/dashboard/MosaicDashboardVgPlotPanelRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["import {SpinnerPane} from '@sqlrooms/ui';\nimport type {Selection} from '@uwdata/mosaic-core';\nimport type {Spec} from '@uwdata/mosaic-spec';\nimport {BarChart3Icon} from 'lucide-react';\nimport {type FC, useCallback, useEffect, useMemo} from 'react';\nimport {VgPlotChart} from '../VgPlotChart';\nimport {ChartSettingsPanel} from './chart-settings';\nimport {MosaicDashboardPanelLayout} from './MosaicDashboardPanelLayout';\nimport {MosaicDashboardVgPlotHeaderActions} from './MosaicDashboardVgPlotHeaderActions';\nimport {\n type MosaicDashboardPanelRenderer,\n type VgPlotPanelConfig,\n type VgPlotPanelRendererProps,\n useStoreWithMosaicDashboard,\n} from './MosaicDashboardSlice';\nimport {VgPlotChartConfig} from '../chart-types';\n\nfunction toRenderableMosaicSpec(vgplot: unknown): Spec | null {\n try {\n if (!vgplot || typeof vgplot !== 'object' || Array.isArray(vgplot)) {\n return null;\n }\n\n const vgplotRecord = vgplot as Spec;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {$schema, ...mosaicSpec} = vgplotRecord;\n\n return mosaicSpec;\n } catch (error) {\n console.error('[toRenderableMosaicSpec] Failed to parse spec:', error);\n return null;\n }\n}\n\nconst MosaicDashboardVgPlotRenderer: FC<VgPlotPanelRendererProps> = ({\n dashboardId,\n panel,\n selectionName,\n}) => {\n const connection = useStoreWithMosaicDashboard(\n (state) => state.mosaic.connection,\n );\n const brushSelection = useStoreWithMosaicDashboard(\n (state) => state.mosaic.selections[selectionName],\n );\n const getSelection = useStoreWithMosaicDashboard(\n (state) => state.mosaic.getSelection,\n );\n const retainedChart = useStoreWithMosaicDashboard((state) =>\n state.mosaicDashboard.getRetainedChart(dashboardId, panel.id),\n );\n const setRetainedChart = useStoreWithMosaicDashboard(\n (state) => state.mosaicDashboard.setRetainedChart,\n );\n\n const spec = useMemo(\n () => toRenderableMosaicSpec(panel.config.vgplot),\n [panel.config.vgplot],\n );\n\n const updatePanel = useStoreWithMosaicDashboard(\n (state) => state.mosaicDashboard.updatePanel,\n );\n const isSettingsOpen = panel.config.settingsOpen;\n\n const handleOpenChange = useCallback(\n (isOpen: boolean) => {\n updatePanel(dashboardId, panel.id, {\n config: {...panel.config, settingsOpen: isOpen},\n });\n },\n [dashboardId, panel.config, panel.id, updatePanel],\n );\n\n useEffect(() => {\n if (!brushSelection) {\n getSelection(selectionName, 'crossfilter');\n }\n }, [brushSelection, getSelection, selectionName]);\n\n const params = useMemo(\n () =>\n brushSelection\n ? new Map<string, Selection>([['brush', brushSelection]])\n : undefined,\n [brushSelection],\n );\n\n const retention = useMemo(\n () => ({\n chart: retainedChart,\n setChart: (chart: NonNullable<typeof retainedChart>) =>\n setRetainedChart(dashboardId, panel.id, chart),\n }),\n [dashboardId, panel.id, retainedChart, setRetainedChart],\n );\n\n const tableName = panel.source?.tableName;\n\n const handleSettingsChange = useCallback(\n (config: VgPlotChartConfig) => {\n updatePanel(dashboardId, panel.id, {\n config,\n });\n },\n [dashboardId, panel.id, updatePanel],\n );\n\n const settingsContent = (\n <ChartSettingsPanel\n tableName={tableName}\n config={panel.config}\n onChange={handleSettingsChange}\n onClose={() => handleOpenChange(false)}\n />\n );\n\n const chartContent = (\n <div className=\"h-full overflow-auto p-2\">\n {connection.status === 'loading' ? (\n <SpinnerPane className=\"h-full w-full\" />\n ) : connection.status === 'ready' && spec && params ? (\n <div className=\"bg-background text-foreground flex h-full w-full items-center justify-center rounded-md p-2\">\n <VgPlotChart spec={spec} params={params} retention={retention} />\n </div>\n ) : connection.status === 'ready' && spec ? (\n <SpinnerPane className=\"h-full w-full\" />\n ) : (\n <div className=\"text-muted-foreground flex h-full items-center justify-center text-sm\">\n {connection.status === 'error'\n ? 'Mosaic connection failed'\n : 'No valid chart spec'}\n </div>\n )}\n </div>\n );\n\n return (\n <div className=\"h-full min-h-0\">\n <MosaicDashboardPanelLayout\n isOpen={isSettingsOpen}\n onIsOpenChange={handleOpenChange}\n settings={settingsContent}\n content={chartContent}\n />\n </div>\n );\n};\n\nexport const mosaicDashboardVgPlotPanelRenderer: MosaicDashboardPanelRenderer<VgPlotPanelConfig> =\n {\n component: MosaicDashboardVgPlotRenderer,\n headerActions: MosaicDashboardVgPlotHeaderActions,\n icon: BarChart3Icon,\n };\n"]}
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- interface VgPlotSpecPopoverEditorProps {
3
- value: Record<string, unknown>;
4
- onApply: (value: Record<string, unknown>) => void;
5
- }
6
- export declare const VgPlotSpecPopoverEditor: React.FC<VgPlotSpecPopoverEditorProps>;
7
- export {};
8
- //# sourceMappingURL=VgPlotSpecPopoverEditor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VgPlotSpecPopoverEditor.d.ts","sourceRoot":"","sources":["../../src/dashboard/VgPlotSpecPopoverEditor.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,UAAU,4BAA4B;IACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACnD;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAC5C,4BAA4B,CAuF7B,CAAC"}
@@ -1,40 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button, Popover, PopoverContent, PopoverTrigger, Tooltip, TooltipContent, TooltipTrigger, } from '@sqlrooms/ui';
3
- import { PencilIcon } from 'lucide-react';
4
- import { useCallback, useState } from 'react';
5
- import { MosaicCodeMirrorEditor } from '../editor/MosaicCodeMirrorEditor';
6
- export const VgPlotSpecPopoverEditor = ({ value, onApply }) => {
7
- const [open, setOpen] = useState(false);
8
- const [draft, setDraft] = useState(() => JSON.stringify(value, null, 2));
9
- const handleOpenChange = useCallback((nextOpen) => {
10
- setOpen(nextOpen);
11
- if (nextOpen) {
12
- setDraft(JSON.stringify(value, null, 2));
13
- }
14
- }, [value]);
15
- const handleApply = useCallback(() => {
16
- try {
17
- const parsed = JSON.parse(draft);
18
- onApply(parsed);
19
- setOpen(false);
20
- }
21
- catch {
22
- // Invalid JSON — keep the editor open.
23
- }
24
- }, [draft, onApply]);
25
- const serializedValue = JSON.stringify(value, null, 2);
26
- const isDirty = draft !== serializedValue;
27
- let isValidJson = false;
28
- try {
29
- JSON.parse(draft);
30
- isValidJson = true;
31
- }
32
- catch {
33
- // ignore
34
- }
35
- return (_jsxs(Popover, { open: open, onOpenChange: handleOpenChange, children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6", "aria-label": "Edit spec", children: _jsx(PencilIcon, { className: "h-3.5 w-3.5" }) }) }) }), _jsx(TooltipContent, { children: "Edit spec" })] }), _jsx(PopoverContent, { side: "bottom", align: "end", className: "w-[500px] p-0", onInteractOutside: (event) => {
36
- if (isDirty)
37
- event.preventDefault();
38
- }, children: _jsxs("div", { className: "flex flex-col", children: [_jsx("div", { className: "h-72 overflow-hidden", children: _jsx(MosaicCodeMirrorEditor, { value: draft, onChange: (nextValue) => setDraft(nextValue ?? ''), className: "h-full", enableSchemaValidation: true }) }), _jsxs("div", { className: "flex items-center justify-end gap-2 border-t p-2", children: [_jsx(Button, { variant: "outline", size: "sm", onClick: () => setOpen(false), children: "Cancel" }), _jsx(Button, { size: "sm", disabled: !isDirty || !isValidJson, onClick: handleApply, children: "Apply" })] })] }) })] }));
39
- };
40
- //# sourceMappingURL=VgPlotSpecPopoverEditor.js.map