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

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 (312) hide show
  1. package/README.md +120 -0
  2. package/dist/MosaicChartBuilder.d.ts +48 -13
  3. package/dist/MosaicChartBuilder.d.ts.map +1 -1
  4. package/dist/MosaicChartBuilder.js +28 -30
  5. package/dist/MosaicChartBuilder.js.map +1 -1
  6. package/dist/MosaicSlice.d.ts +11 -0
  7. package/dist/MosaicSlice.d.ts.map +1 -1
  8. package/dist/MosaicSlice.js +73 -10
  9. package/dist/MosaicSlice.js.map +1 -1
  10. package/dist/ResponsivePlot.d.ts +23 -0
  11. package/dist/ResponsivePlot.d.ts.map +1 -0
  12. package/dist/ResponsivePlot.js +43 -0
  13. package/dist/ResponsivePlot.js.map +1 -0
  14. package/dist/VgPlotChart.d.ts +18 -2
  15. package/dist/VgPlotChart.d.ts.map +1 -1
  16. package/dist/VgPlotChart.js +112 -26
  17. package/dist/VgPlotChart.js.map +1 -1
  18. package/dist/chart-builders/ChartBuilderActions.d.ts +6 -0
  19. package/dist/chart-builders/ChartBuilderActions.d.ts.map +1 -0
  20. package/dist/chart-builders/ChartBuilderActions.js +28 -0
  21. package/dist/chart-builders/ChartBuilderActions.js.map +1 -0
  22. package/dist/chart-builders/ChartBuilderContent.d.ts +13 -11
  23. package/dist/chart-builders/ChartBuilderContent.d.ts.map +1 -1
  24. package/dist/chart-builders/ChartBuilderContent.js +21 -52
  25. package/dist/chart-builders/ChartBuilderContent.js.map +1 -1
  26. package/dist/chart-builders/ChartBuilderContext.d.ts +9 -4
  27. package/dist/chart-builders/ChartBuilderContext.d.ts.map +1 -1
  28. package/dist/chart-builders/ChartBuilderContext.js +5 -0
  29. package/dist/chart-builders/ChartBuilderContext.js.map +1 -1
  30. package/dist/chart-builders/ChartBuilderDialog.d.ts +31 -6
  31. package/dist/chart-builders/ChartBuilderDialog.d.ts.map +1 -1
  32. package/dist/chart-builders/ChartBuilderDialog.js +25 -10
  33. package/dist/chart-builders/ChartBuilderDialog.js.map +1 -1
  34. package/dist/chart-builders/ChartBuilderFields.d.ts +6 -0
  35. package/dist/chart-builders/ChartBuilderFields.d.ts.map +1 -0
  36. package/dist/chart-builders/ChartBuilderFields.js +25 -0
  37. package/dist/chart-builders/ChartBuilderFields.js.map +1 -0
  38. package/dist/chart-builders/ChartBuilderRoot.d.ts +27 -0
  39. package/dist/chart-builders/ChartBuilderRoot.d.ts.map +1 -0
  40. package/dist/chart-builders/ChartBuilderRoot.js +61 -0
  41. package/dist/chart-builders/ChartBuilderRoot.js.map +1 -0
  42. package/dist/chart-builders/ChartBuilderTypeGrid.d.ts +7 -0
  43. package/dist/chart-builders/ChartBuilderTypeGrid.d.ts.map +1 -0
  44. package/dist/chart-builders/ChartBuilderTypeGrid.js +23 -0
  45. package/dist/chart-builders/ChartBuilderTypeGrid.js.map +1 -0
  46. package/dist/chart-builders/FieldSelectorInput.d.ts.map +1 -1
  47. package/dist/chart-builders/FieldSelectorInput.js +2 -2
  48. package/dist/chart-builders/FieldSelectorInput.js.map +1 -1
  49. package/dist/chart-builders/builders.d.ts +28 -1
  50. package/dist/chart-builders/builders.d.ts.map +1 -1
  51. package/dist/chart-builders/builders.js +44 -273
  52. package/dist/chart-builders/builders.js.map +1 -1
  53. package/dist/chart-builders/chartSpecTitle.d.ts +3 -4
  54. package/dist/chart-builders/chartSpecTitle.d.ts.map +1 -1
  55. package/dist/chart-builders/chartSpecTitle.js +3 -5
  56. package/dist/chart-builders/chartSpecTitle.js.map +1 -1
  57. package/dist/chart-builders/chartTypeUtils.d.ts +17 -0
  58. package/dist/chart-builders/chartTypeUtils.d.ts.map +1 -0
  59. package/dist/chart-builders/chartTypeUtils.js +55 -0
  60. package/dist/chart-builders/chartTypeUtils.js.map +1 -0
  61. package/dist/chart-builders/constants.d.ts +7 -0
  62. package/dist/chart-builders/constants.d.ts.map +1 -0
  63. package/dist/chart-builders/constants.js +34 -0
  64. package/dist/chart-builders/constants.js.map +1 -0
  65. package/dist/chart-builders/createChartBuilderStore.d.ts +11 -0
  66. package/dist/chart-builders/createChartBuilderStore.d.ts.map +1 -0
  67. package/dist/chart-builders/createChartBuilderStore.js +26 -0
  68. package/dist/chart-builders/createChartBuilderStore.js.map +1 -0
  69. package/dist/chart-builders/describeChartSpecs.d.ts +5 -3
  70. package/dist/chart-builders/describeChartSpecs.d.ts.map +1 -1
  71. package/dist/chart-builders/describeChartSpecs.js +11 -8
  72. package/dist/chart-builders/describeChartSpecs.js.map +1 -1
  73. package/dist/chart-builders/hooks/useChartFieldForm.d.ts +13 -0
  74. package/dist/chart-builders/hooks/useChartFieldForm.d.ts.map +1 -0
  75. package/dist/chart-builders/hooks/useChartFieldForm.js +12 -0
  76. package/dist/chart-builders/hooks/useChartFieldForm.js.map +1 -0
  77. package/dist/chart-builders/types.d.ts +12 -29
  78. package/dist/chart-builders/types.d.ts.map +1 -1
  79. package/dist/chart-builders/types.js +16 -1
  80. package/dist/chart-builders/types.js.map +1 -1
  81. package/dist/chart-types/base-types.d.ts +54 -0
  82. package/dist/chart-types/base-types.d.ts.map +1 -0
  83. package/dist/chart-types/base-types.js +6 -0
  84. package/dist/chart-types/base-types.js.map +1 -0
  85. package/dist/chart-types/box-plot/definition.d.ts +4 -0
  86. package/dist/chart-types/box-plot/definition.d.ts.map +1 -0
  87. package/dist/chart-types/box-plot/definition.js +45 -0
  88. package/dist/chart-types/box-plot/definition.js.map +1 -0
  89. package/dist/chart-types/box-plot/index.d.ts +3 -0
  90. package/dist/chart-types/box-plot/index.d.ts.map +1 -0
  91. package/dist/chart-types/box-plot/index.js +3 -0
  92. package/dist/chart-types/box-plot/index.js.map +1 -0
  93. package/dist/chart-types/box-plot/schema.d.ts +17 -0
  94. package/dist/chart-types/box-plot/schema.d.ts.map +1 -0
  95. package/dist/chart-types/box-plot/schema.js +12 -0
  96. package/dist/chart-types/box-plot/schema.js.map +1 -0
  97. package/dist/chart-types/bubble-chart/definition.d.ts +4 -0
  98. package/dist/chart-types/bubble-chart/definition.d.ts.map +1 -0
  99. package/dist/chart-types/bubble-chart/definition.js +48 -0
  100. package/dist/chart-types/bubble-chart/definition.js.map +1 -0
  101. package/dist/chart-types/bubble-chart/index.d.ts +3 -0
  102. package/dist/chart-types/bubble-chart/index.d.ts.map +1 -0
  103. package/dist/chart-types/bubble-chart/index.js +3 -0
  104. package/dist/chart-types/bubble-chart/index.js.map +1 -0
  105. package/dist/chart-types/bubble-chart/schema.d.ts +17 -0
  106. package/dist/chart-types/bubble-chart/schema.d.ts.map +1 -0
  107. package/dist/chart-types/bubble-chart/schema.js +12 -0
  108. package/dist/chart-types/bubble-chart/schema.js.map +1 -0
  109. package/dist/chart-types/count-plot/definition.d.ts +4 -0
  110. package/dist/chart-types/count-plot/definition.d.ts.map +1 -0
  111. package/dist/chart-types/count-plot/definition.js +50 -0
  112. package/dist/chart-types/count-plot/definition.js.map +1 -0
  113. package/dist/chart-types/count-plot/index.d.ts +3 -0
  114. package/dist/chart-types/count-plot/index.d.ts.map +1 -0
  115. package/dist/chart-types/count-plot/index.js +3 -0
  116. package/dist/chart-types/count-plot/index.js.map +1 -0
  117. package/dist/chart-types/count-plot/schema.d.ts +15 -0
  118. package/dist/chart-types/count-plot/schema.d.ts.map +1 -0
  119. package/dist/chart-types/count-plot/schema.js +11 -0
  120. package/dist/chart-types/count-plot/schema.js.map +1 -0
  121. package/dist/chart-types/custom-spec/definition.d.ts +4 -0
  122. package/dist/chart-types/custom-spec/definition.d.ts.map +1 -0
  123. package/dist/chart-types/custom-spec/definition.js +28 -0
  124. package/dist/chart-types/custom-spec/definition.js.map +1 -0
  125. package/dist/chart-types/custom-spec/index.d.ts +3 -0
  126. package/dist/chart-types/custom-spec/index.d.ts.map +1 -0
  127. package/dist/chart-types/custom-spec/index.js +3 -0
  128. package/dist/chart-types/custom-spec/index.js.map +1 -0
  129. package/dist/chart-types/custom-spec/schema.d.ts +11 -0
  130. package/dist/chart-types/custom-spec/schema.d.ts.map +1 -0
  131. package/dist/chart-types/custom-spec/schema.js +9 -0
  132. package/dist/chart-types/custom-spec/schema.js.map +1 -0
  133. package/dist/chart-types/ecdf/definition.d.ts +4 -0
  134. package/dist/chart-types/ecdf/definition.d.ts.map +1 -0
  135. package/dist/chart-types/ecdf/definition.js +47 -0
  136. package/dist/chart-types/ecdf/definition.js.map +1 -0
  137. package/dist/chart-types/ecdf/index.d.ts +3 -0
  138. package/dist/chart-types/ecdf/index.d.ts.map +1 -0
  139. package/dist/chart-types/ecdf/index.js +3 -0
  140. package/dist/chart-types/ecdf/index.js.map +1 -0
  141. package/dist/chart-types/ecdf/schema.d.ts +15 -0
  142. package/dist/chart-types/ecdf/schema.d.ts.map +1 -0
  143. package/dist/chart-types/ecdf/schema.js +11 -0
  144. package/dist/chart-types/ecdf/schema.js.map +1 -0
  145. package/dist/chart-types/heatmap/definition.d.ts +4 -0
  146. package/dist/chart-types/heatmap/definition.d.ts.map +1 -0
  147. package/dist/chart-types/heatmap/definition.js +49 -0
  148. package/dist/chart-types/heatmap/definition.js.map +1 -0
  149. package/dist/chart-types/heatmap/index.d.ts +3 -0
  150. package/dist/chart-types/heatmap/index.d.ts.map +1 -0
  151. package/dist/chart-types/heatmap/index.js +3 -0
  152. package/dist/chart-types/heatmap/index.js.map +1 -0
  153. package/dist/chart-types/heatmap/schema.d.ts +17 -0
  154. package/dist/chart-types/heatmap/schema.d.ts.map +1 -0
  155. package/dist/chart-types/heatmap/schema.js +12 -0
  156. package/dist/chart-types/heatmap/schema.js.map +1 -0
  157. package/dist/chart-types/histogram/definition.d.ts +4 -0
  158. package/dist/chart-types/histogram/definition.d.ts.map +1 -0
  159. package/dist/chart-types/histogram/definition.js +49 -0
  160. package/dist/chart-types/histogram/definition.js.map +1 -0
  161. package/dist/chart-types/histogram/index.d.ts +3 -0
  162. package/dist/chart-types/histogram/index.d.ts.map +1 -0
  163. package/dist/chart-types/histogram/index.js +3 -0
  164. package/dist/chart-types/histogram/index.js.map +1 -0
  165. package/dist/chart-types/histogram/schema.d.ts +15 -0
  166. package/dist/chart-types/histogram/schema.d.ts.map +1 -0
  167. package/dist/chart-types/histogram/schema.js +11 -0
  168. package/dist/chart-types/histogram/schema.js.map +1 -0
  169. package/dist/chart-types/index.d.ts +109 -0
  170. package/dist/chart-types/index.d.ts.map +1 -0
  171. package/dist/chart-types/index.js +70 -0
  172. package/dist/chart-types/index.js.map +1 -0
  173. package/dist/chart-types/line-chart/definition.d.ts +4 -0
  174. package/dist/chart-types/line-chart/definition.d.ts.map +1 -0
  175. package/dist/chart-types/line-chart/definition.js +46 -0
  176. package/dist/chart-types/line-chart/definition.js.map +1 -0
  177. package/dist/chart-types/line-chart/index.d.ts +3 -0
  178. package/dist/chart-types/line-chart/index.d.ts.map +1 -0
  179. package/dist/chart-types/line-chart/index.js +3 -0
  180. package/dist/chart-types/line-chart/index.js.map +1 -0
  181. package/dist/chart-types/line-chart/schema.d.ts +17 -0
  182. package/dist/chart-types/line-chart/schema.d.ts.map +1 -0
  183. package/dist/chart-types/line-chart/schema.js +12 -0
  184. package/dist/chart-types/line-chart/schema.js.map +1 -0
  185. package/dist/chart-types/registry.d.ts +5 -0
  186. package/dist/chart-types/registry.d.ts.map +1 -0
  187. package/dist/chart-types/registry.js +28 -0
  188. package/dist/chart-types/registry.js.map +1 -0
  189. package/dist/dashboard/DashboardPanelErrorBoundary.d.ts +17 -0
  190. package/dist/dashboard/DashboardPanelErrorBoundary.d.ts.map +1 -0
  191. package/dist/dashboard/DashboardPanelErrorBoundary.js +21 -0
  192. package/dist/dashboard/DashboardPanelErrorBoundary.js.map +1 -0
  193. package/dist/dashboard/MosaicDashboard.d.ts +2 -4
  194. package/dist/dashboard/MosaicDashboard.d.ts.map +1 -1
  195. package/dist/dashboard/MosaicDashboard.js +42 -19
  196. package/dist/dashboard/MosaicDashboard.js.map +1 -1
  197. package/dist/dashboard/MosaicDashboardContext.d.ts +1 -0
  198. package/dist/dashboard/MosaicDashboardContext.d.ts.map +1 -1
  199. package/dist/dashboard/MosaicDashboardContext.js.map +1 -1
  200. package/dist/dashboard/MosaicDashboardPanel.d.ts +3 -0
  201. package/dist/dashboard/MosaicDashboardPanel.d.ts.map +1 -0
  202. package/dist/dashboard/MosaicDashboardPanel.js +26 -0
  203. package/dist/dashboard/MosaicDashboardPanel.js.map +1 -0
  204. package/dist/dashboard/MosaicDashboardPanelDragOverlay.d.ts +8 -0
  205. package/dist/dashboard/MosaicDashboardPanelDragOverlay.d.ts.map +1 -0
  206. package/dist/dashboard/MosaicDashboardPanelDragOverlay.js +17 -0
  207. package/dist/dashboard/MosaicDashboardPanelDragOverlay.js.map +1 -0
  208. package/dist/dashboard/MosaicDashboardPanelHeader.d.ts +13 -0
  209. package/dist/dashboard/MosaicDashboardPanelHeader.d.ts.map +1 -0
  210. package/dist/dashboard/MosaicDashboardPanelHeader.js +30 -0
  211. package/dist/dashboard/MosaicDashboardPanelHeader.js.map +1 -0
  212. package/dist/dashboard/MosaicDashboardPanelLayout.d.ts +10 -0
  213. package/dist/dashboard/MosaicDashboardPanelLayout.d.ts.map +1 -0
  214. package/dist/dashboard/MosaicDashboardPanelLayout.js +25 -0
  215. package/dist/dashboard/MosaicDashboardPanelLayout.js.map +1 -0
  216. package/dist/dashboard/MosaicDashboardPanels.d.ts +2 -0
  217. package/dist/dashboard/MosaicDashboardPanels.d.ts.map +1 -0
  218. package/dist/dashboard/MosaicDashboardPanels.js +52 -0
  219. package/dist/dashboard/MosaicDashboardPanels.js.map +1 -0
  220. package/dist/dashboard/MosaicDashboardProfilerPanelRenderer.d.ts +3 -0
  221. package/dist/dashboard/MosaicDashboardProfilerPanelRenderer.d.ts.map +1 -0
  222. package/dist/dashboard/MosaicDashboardProfilerPanelRenderer.js +32 -0
  223. package/dist/dashboard/MosaicDashboardProfilerPanelRenderer.js.map +1 -0
  224. package/dist/dashboard/MosaicDashboardSlice.d.ts +482 -27
  225. package/dist/dashboard/MosaicDashboardSlice.d.ts.map +1 -1
  226. package/dist/dashboard/MosaicDashboardSlice.js +478 -93
  227. package/dist/dashboard/MosaicDashboardSlice.js.map +1 -1
  228. package/dist/dashboard/MosaicDashboardToolbar.d.ts.map +1 -1
  229. package/dist/dashboard/MosaicDashboardToolbar.js +69 -7
  230. package/dist/dashboard/MosaicDashboardToolbar.js.map +1 -1
  231. package/dist/dashboard/MosaicDashboardVgPlotHeaderActions.d.ts +4 -0
  232. package/dist/dashboard/MosaicDashboardVgPlotHeaderActions.d.ts.map +1 -0
  233. package/dist/dashboard/MosaicDashboardVgPlotHeaderActions.js +29 -0
  234. package/dist/dashboard/MosaicDashboardVgPlotHeaderActions.js.map +1 -0
  235. package/dist/dashboard/MosaicDashboardVgPlotPanelRenderer.d.ts +3 -0
  236. package/dist/dashboard/MosaicDashboardVgPlotPanelRenderer.d.ts.map +1 -0
  237. package/dist/dashboard/MosaicDashboardVgPlotPanelRenderer.js +68 -0
  238. package/dist/dashboard/MosaicDashboardVgPlotPanelRenderer.js.map +1 -0
  239. package/dist/dashboard/VgPlotSpecPopoverEditor.d.ts.map +1 -1
  240. package/dist/dashboard/VgPlotSpecPopoverEditor.js +2 -2
  241. package/dist/dashboard/VgPlotSpecPopoverEditor.js.map +1 -1
  242. package/dist/dashboard/chart-settings/ChartSettings.d.ts +39 -0
  243. package/dist/dashboard/chart-settings/ChartSettings.d.ts.map +1 -0
  244. package/dist/dashboard/chart-settings/ChartSettings.js +90 -0
  245. package/dist/dashboard/chart-settings/ChartSettings.js.map +1 -0
  246. package/dist/dashboard/chart-settings/ChartSettingsContext.d.ts +20 -0
  247. package/dist/dashboard/chart-settings/ChartSettingsContext.d.ts.map +1 -0
  248. package/dist/dashboard/chart-settings/ChartSettingsContext.js +14 -0
  249. package/dist/dashboard/chart-settings/ChartSettingsContext.js.map +1 -0
  250. package/dist/dashboard/chart-settings/ChartSettingsPanel.d.ts +11 -0
  251. package/dist/dashboard/chart-settings/ChartSettingsPanel.d.ts.map +1 -0
  252. package/dist/dashboard/chart-settings/ChartSettingsPanel.js +8 -0
  253. package/dist/dashboard/chart-settings/ChartSettingsPanel.js.map +1 -0
  254. package/dist/dashboard/chart-settings/ChartTypeSelector.d.ts +11 -0
  255. package/dist/dashboard/chart-settings/ChartTypeSelector.d.ts.map +1 -0
  256. package/dist/dashboard/chart-settings/ChartTypeSelector.js +17 -0
  257. package/dist/dashboard/chart-settings/ChartTypeSelector.js.map +1 -0
  258. package/dist/dashboard/chart-settings/DynamicChartSettings.d.ts +11 -0
  259. package/dist/dashboard/chart-settings/DynamicChartSettings.d.ts.map +1 -0
  260. package/dist/dashboard/chart-settings/DynamicChartSettings.js +19 -0
  261. package/dist/dashboard/chart-settings/DynamicChartSettings.js.map +1 -0
  262. package/dist/dashboard/chart-settings/index.d.ts +6 -0
  263. package/dist/dashboard/chart-settings/index.d.ts.map +1 -0
  264. package/dist/dashboard/chart-settings/index.js +6 -0
  265. package/dist/dashboard/chart-settings/index.js.map +1 -0
  266. package/dist/dashboard/chart-settings/useTableColumns.d.ts +3 -0
  267. package/dist/dashboard/chart-settings/useTableColumns.d.ts.map +1 -0
  268. package/dist/dashboard/chart-settings/useTableColumns.js +12 -0
  269. package/dist/dashboard/chart-settings/useTableColumns.js.map +1 -0
  270. package/dist/dashboard/defaultPanelRenderers.d.ts +3 -0
  271. package/dist/dashboard/defaultPanelRenderers.d.ts.map +1 -0
  272. package/dist/dashboard/defaultPanelRenderers.js +11 -0
  273. package/dist/dashboard/defaultPanelRenderers.js.map +1 -0
  274. package/dist/dashboard/generateMosaicChartSpec.d.ts +15 -0
  275. package/dist/dashboard/generateMosaicChartSpec.d.ts.map +1 -0
  276. package/dist/dashboard/generateMosaicChartSpec.js +30 -0
  277. package/dist/dashboard/generateMosaicChartSpec.js.map +1 -0
  278. package/dist/editor/MosaicChartDisplay.d.ts.map +1 -1
  279. package/dist/editor/MosaicChartDisplay.js +6 -1
  280. package/dist/editor/MosaicChartDisplay.js.map +1 -1
  281. package/dist/index.d.ts +31 -5
  282. package/dist/index.d.ts.map +1 -1
  283. package/dist/index.js +21 -2
  284. package/dist/index.js.map +1 -1
  285. package/dist/profiler/useMosaicProfiler.d.ts.map +1 -1
  286. package/dist/profiler/useMosaicProfiler.js.map +1 -1
  287. package/dist/tableInterop.js.map +1 -1
  288. package/dist/useMosaicClient.d.ts +4 -15
  289. package/dist/useMosaicClient.d.ts.map +1 -1
  290. package/dist/useMosaicClient.js +10 -4
  291. package/dist/useMosaicClient.js.map +1 -1
  292. package/package.json +15 -9
  293. package/dist/chart-builders/createMosaicChartTool.d.ts +0 -45
  294. package/dist/chart-builders/createMosaicChartTool.d.ts.map +0 -1
  295. package/dist/chart-builders/createMosaicChartTool.js +0 -109
  296. package/dist/chart-builders/createMosaicChartTool.js.map +0 -1
  297. package/dist/dashboard/MosaicDashboardChartPanel.d.ts +0 -3
  298. package/dist/dashboard/MosaicDashboardChartPanel.d.ts.map +0 -1
  299. package/dist/dashboard/MosaicDashboardChartPanel.js +0 -49
  300. package/dist/dashboard/MosaicDashboardChartPanel.js.map +0 -1
  301. package/dist/dashboard/MosaicDashboardCharts.d.ts +0 -3
  302. package/dist/dashboard/MosaicDashboardCharts.d.ts.map +0 -1
  303. package/dist/dashboard/MosaicDashboardCharts.js +0 -45
  304. package/dist/dashboard/MosaicDashboardCharts.js.map +0 -1
  305. package/dist/dashboard/MosaicDashboardProfiler.d.ts +0 -3
  306. package/dist/dashboard/MosaicDashboardProfiler.d.ts.map +0 -1
  307. package/dist/dashboard/MosaicDashboardProfiler.js +0 -21
  308. package/dist/dashboard/MosaicDashboardProfiler.js.map +0 -1
  309. package/dist/use-mosaic.d.ts +0 -11
  310. package/dist/use-mosaic.d.ts.map +0 -1
  311. package/dist/use-mosaic.js +0 -42
  312. package/dist/use-mosaic.js.map +0 -1
@@ -1,28 +1,365 @@
1
1
  import { DbSliceState } from '@sqlrooms/db';
2
- import { type DuckDbSliceState } from '@sqlrooms/duckdb';
3
- import type { LayoutMosaicSubNode } from '@sqlrooms/layout-config';
4
- import { LayoutSliceState } from '@sqlrooms/layout';
2
+ import { type DataTable, type DuckDbSliceState } from '@sqlrooms/duckdb';
3
+ import { type LayoutSliceState } from '@sqlrooms/layout';
4
+ import { type LayoutNode } from '@sqlrooms/layout-config';
5
5
  import { BaseRoomStoreState, SliceFunctions } from '@sqlrooms/room-store';
6
+ import type { ComponentType } from 'react';
6
7
  import { z } from 'zod';
8
+ import type { ChartBuilderTemplate, ChartTypeDefinition } from '../chart-builders/types';
7
9
  import { type MosaicSliceState } from '../MosaicSlice';
8
- export declare const DEFAULT_MOSAIC_DASHBOARD_CHART_VGPLOT: string;
9
- export declare const DEFAULT_MOSAIC_DASHBOARD_CHART_SPEC: Record<string, unknown>;
10
- export declare const MosaicDashboardChartConfig: z.ZodObject<{
10
+ import { type RetainedVgPlotChart } from '../VgPlotChart';
11
+ import { VgPlotChartConfig } from '../chart-types';
12
+ /**
13
+ * Panel key used for function-form panel definitions registered by
14
+ * `MosaicDashboardPanels`. Individual dashboard panels are represented as
15
+ * `LayoutPanelNode` entries whose `panel` property carries
16
+ * `{ key: MOSAIC_DASHBOARD_PANEL, meta: { dashboardId, panelId } }`.
17
+ */
18
+ export declare const MOSAIC_DASHBOARD_PANEL = "mosaic-dashboard-panel";
19
+ export declare const MOSAIC_DASHBOARD_VGPLOT_PANEL_TYPE = "vgplot";
20
+ export declare const MOSAIC_DASHBOARD_PROFILER_PANEL_TYPE = "profiler";
21
+ export declare const MosaicDashboardLayoutType: z.ZodEnum<{
22
+ grid: "grid";
23
+ dock: "dock";
24
+ }>;
25
+ export type MosaicDashboardLayoutType = z.infer<typeof MosaicDashboardLayoutType>;
26
+ export declare const MosaicDashboardPanelSource: z.ZodObject<{
27
+ tableName: z.ZodOptional<z.ZodString>;
28
+ sqlQuery: z.ZodOptional<z.ZodString>;
29
+ }, z.core.$strip>;
30
+ export type MosaicDashboardPanelSource = z.infer<typeof MosaicDashboardPanelSource>;
31
+ export declare const ProfilerPanelConfig: z.ZodObject<{
32
+ pageSize: z.ZodOptional<z.ZodNumber>;
33
+ }, z.core.$strip>;
34
+ export type ProfilerPanelConfig = z.infer<typeof ProfilerPanelConfig>;
35
+ export declare const VgPlotPanelConfig: z.ZodObject<{
36
+ id: z.ZodString;
37
+ type: z.ZodLiteral<"vgplot">;
38
+ title: z.ZodDefault<z.ZodString>;
39
+ source: z.ZodOptional<z.ZodObject<{
40
+ tableName: z.ZodOptional<z.ZodString>;
41
+ sqlQuery: z.ZodOptional<z.ZodString>;
42
+ }, z.core.$strip>>;
43
+ config: z.ZodDiscriminatedUnion<[z.ZodObject<{
44
+ chartType: z.ZodLiteral<"histogram">;
45
+ settings: z.ZodObject<{
46
+ field: z.ZodOptional<z.ZodString>;
47
+ }, z.core.$strip>;
48
+ vgplot: z.ZodUnknown;
49
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
50
+ }, z.core.$strip>, z.ZodObject<{
51
+ chartType: z.ZodLiteral<"count-plot">;
52
+ settings: z.ZodObject<{
53
+ field: z.ZodOptional<z.ZodString>;
54
+ }, z.core.$strip>;
55
+ vgplot: z.ZodUnknown;
56
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
57
+ }, z.core.$strip>, z.ZodObject<{
58
+ chartType: z.ZodLiteral<"ecdf">;
59
+ settings: z.ZodObject<{
60
+ field: z.ZodOptional<z.ZodString>;
61
+ }, z.core.$strip>;
62
+ vgplot: z.ZodUnknown;
63
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
64
+ }, z.core.$strip>, z.ZodObject<{
65
+ chartType: z.ZodLiteral<"line-chart">;
66
+ settings: z.ZodObject<{
67
+ x: z.ZodOptional<z.ZodString>;
68
+ y: z.ZodOptional<z.ZodString>;
69
+ }, z.core.$strip>;
70
+ vgplot: z.ZodUnknown;
71
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
72
+ }, z.core.$strip>, z.ZodObject<{
73
+ chartType: z.ZodLiteral<"bubble-chart">;
74
+ settings: z.ZodObject<{
75
+ x: z.ZodOptional<z.ZodString>;
76
+ y: z.ZodOptional<z.ZodString>;
77
+ }, z.core.$strip>;
78
+ vgplot: z.ZodUnknown;
79
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
80
+ }, z.core.$strip>, z.ZodObject<{
81
+ chartType: z.ZodLiteral<"heatmap">;
82
+ settings: z.ZodObject<{
83
+ x: z.ZodOptional<z.ZodString>;
84
+ y: z.ZodOptional<z.ZodString>;
85
+ }, z.core.$strip>;
86
+ vgplot: z.ZodUnknown;
87
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
88
+ }, z.core.$strip>, z.ZodObject<{
89
+ chartType: z.ZodLiteral<"box-plot">;
90
+ settings: z.ZodObject<{
91
+ x: z.ZodOptional<z.ZodString>;
92
+ y: z.ZodOptional<z.ZodString>;
93
+ }, z.core.$strip>;
94
+ vgplot: z.ZodUnknown;
95
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
96
+ }, z.core.$strip>, z.ZodObject<{
97
+ chartType: z.ZodLiteral<"custom-spec">;
98
+ vgplot: z.ZodUnknown;
99
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
100
+ settings: z.ZodRecord<z.ZodString, z.ZodUnknown>;
101
+ }, z.core.$strip>], "chartType">;
102
+ }, z.core.$strip>;
103
+ export type VgPlotPanelConfig = z.infer<typeof VgPlotPanelConfig>;
104
+ export declare const ProfilerPanel: z.ZodObject<{
105
+ id: z.ZodString;
106
+ type: z.ZodLiteral<"profiler">;
107
+ title: z.ZodDefault<z.ZodString>;
108
+ source: z.ZodOptional<z.ZodObject<{
109
+ tableName: z.ZodOptional<z.ZodString>;
110
+ sqlQuery: z.ZodOptional<z.ZodString>;
111
+ }, z.core.$strip>>;
112
+ config: z.ZodObject<{
113
+ pageSize: z.ZodOptional<z.ZodNumber>;
114
+ }, z.core.$strip>;
115
+ }, z.core.$strip>;
116
+ export type ProfilerPanel = z.infer<typeof ProfilerPanel>;
117
+ export declare const LegacyPanelConfig: z.ZodObject<{
11
118
  id: z.ZodString;
119
+ type: z.ZodString;
12
120
  title: z.ZodDefault<z.ZodString>;
13
- vgplot: z.ZodDefault<z.ZodObject<{}, z.core.$loose>>;
121
+ source: z.ZodOptional<z.ZodObject<{
122
+ tableName: z.ZodOptional<z.ZodString>;
123
+ sqlQuery: z.ZodOptional<z.ZodString>;
124
+ }, z.core.$strip>>;
125
+ config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
14
126
  }, z.core.$strip>;
15
- export type MosaicDashboardChartConfig = z.infer<typeof MosaicDashboardChartConfig>;
127
+ export type LegacyPanelConfig = z.infer<typeof LegacyPanelConfig>;
128
+ export declare const MosaicDashboardPanelConfig: z.ZodUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
129
+ id: z.ZodString;
130
+ type: z.ZodLiteral<"vgplot">;
131
+ title: z.ZodDefault<z.ZodString>;
132
+ source: z.ZodOptional<z.ZodObject<{
133
+ tableName: z.ZodOptional<z.ZodString>;
134
+ sqlQuery: z.ZodOptional<z.ZodString>;
135
+ }, z.core.$strip>>;
136
+ config: z.ZodDiscriminatedUnion<[z.ZodObject<{
137
+ chartType: z.ZodLiteral<"histogram">;
138
+ settings: z.ZodObject<{
139
+ field: z.ZodOptional<z.ZodString>;
140
+ }, z.core.$strip>;
141
+ vgplot: z.ZodUnknown;
142
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
143
+ }, z.core.$strip>, z.ZodObject<{
144
+ chartType: z.ZodLiteral<"count-plot">;
145
+ settings: z.ZodObject<{
146
+ field: z.ZodOptional<z.ZodString>;
147
+ }, z.core.$strip>;
148
+ vgplot: z.ZodUnknown;
149
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
150
+ }, z.core.$strip>, z.ZodObject<{
151
+ chartType: z.ZodLiteral<"ecdf">;
152
+ settings: z.ZodObject<{
153
+ field: z.ZodOptional<z.ZodString>;
154
+ }, z.core.$strip>;
155
+ vgplot: z.ZodUnknown;
156
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
157
+ }, z.core.$strip>, z.ZodObject<{
158
+ chartType: z.ZodLiteral<"line-chart">;
159
+ settings: z.ZodObject<{
160
+ x: z.ZodOptional<z.ZodString>;
161
+ y: z.ZodOptional<z.ZodString>;
162
+ }, z.core.$strip>;
163
+ vgplot: z.ZodUnknown;
164
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
165
+ }, z.core.$strip>, z.ZodObject<{
166
+ chartType: z.ZodLiteral<"bubble-chart">;
167
+ settings: z.ZodObject<{
168
+ x: z.ZodOptional<z.ZodString>;
169
+ y: z.ZodOptional<z.ZodString>;
170
+ }, z.core.$strip>;
171
+ vgplot: z.ZodUnknown;
172
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
173
+ }, z.core.$strip>, z.ZodObject<{
174
+ chartType: z.ZodLiteral<"heatmap">;
175
+ settings: z.ZodObject<{
176
+ x: z.ZodOptional<z.ZodString>;
177
+ y: z.ZodOptional<z.ZodString>;
178
+ }, z.core.$strip>;
179
+ vgplot: z.ZodUnknown;
180
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
181
+ }, z.core.$strip>, z.ZodObject<{
182
+ chartType: z.ZodLiteral<"box-plot">;
183
+ settings: z.ZodObject<{
184
+ x: z.ZodOptional<z.ZodString>;
185
+ y: z.ZodOptional<z.ZodString>;
186
+ }, z.core.$strip>;
187
+ vgplot: z.ZodUnknown;
188
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
189
+ }, z.core.$strip>, z.ZodObject<{
190
+ chartType: z.ZodLiteral<"custom-spec">;
191
+ vgplot: z.ZodUnknown;
192
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
193
+ settings: z.ZodRecord<z.ZodString, z.ZodUnknown>;
194
+ }, z.core.$strip>], "chartType">;
195
+ }, z.core.$strip>, z.ZodObject<{
196
+ id: z.ZodString;
197
+ type: z.ZodLiteral<"profiler">;
198
+ title: z.ZodDefault<z.ZodString>;
199
+ source: z.ZodOptional<z.ZodObject<{
200
+ tableName: z.ZodOptional<z.ZodString>;
201
+ sqlQuery: z.ZodOptional<z.ZodString>;
202
+ }, z.core.$strip>>;
203
+ config: z.ZodObject<{
204
+ pageSize: z.ZodOptional<z.ZodNumber>;
205
+ }, z.core.$strip>;
206
+ }, z.core.$strip>], "type">, z.ZodObject<{
207
+ id: z.ZodString;
208
+ type: z.ZodString;
209
+ title: z.ZodDefault<z.ZodString>;
210
+ source: z.ZodOptional<z.ZodObject<{
211
+ tableName: z.ZodOptional<z.ZodString>;
212
+ sqlQuery: z.ZodOptional<z.ZodString>;
213
+ }, z.core.$strip>>;
214
+ config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
215
+ }, z.core.$strip>]>;
216
+ export type MosaicDashboardPanelConfig = z.infer<typeof MosaicDashboardPanelConfig>;
217
+ export type MosaicDashboardPanelRendererProps<TPanel extends MosaicDashboardPanelConfig = MosaicDashboardPanelConfig> = {
218
+ dashboardId: string;
219
+ dashboard: MosaicDashboardEntry;
220
+ panel: TPanel;
221
+ selectionName: string;
222
+ resolvedSource?: MosaicDashboardPanelSource;
223
+ };
224
+ export type VgPlotPanelRendererProps = MosaicDashboardPanelRendererProps<VgPlotPanelConfig>;
225
+ export type ProfilerPanelRendererProps = MosaicDashboardPanelRendererProps<ProfilerPanel>;
226
+ export type MosaicDashboardPanelRenderer<TPanel extends MosaicDashboardPanelConfig = MosaicDashboardPanelConfig> = {
227
+ component: ComponentType<MosaicDashboardPanelRendererProps<TPanel>>;
228
+ headerActions?: ComponentType<MosaicDashboardPanelRendererProps<TPanel>>;
229
+ icon?: ComponentType<{
230
+ className?: string;
231
+ }>;
232
+ };
233
+ export type AnyPanelRenderer = {
234
+ component: ComponentType<any>;
235
+ headerActions?: ComponentType<any>;
236
+ icon?: ComponentType<{
237
+ className?: string;
238
+ }>;
239
+ };
240
+ export type PanelTypeMap = {
241
+ [MOSAIC_DASHBOARD_VGPLOT_PANEL_TYPE]: VgPlotPanelConfig;
242
+ [MOSAIC_DASHBOARD_PROFILER_PANEL_TYPE]: ProfilerPanel;
243
+ };
244
+ export type PanelRenderersRecord = Record<string, AnyPanelRenderer>;
245
+ export type MosaicDashboardAddPanelActionContext = {
246
+ dashboardId: string;
247
+ dashboard: MosaicDashboardEntry | undefined;
248
+ selectedTable: DataTable | undefined;
249
+ tables: DataTable[];
250
+ };
251
+ export type MosaicDashboardAddPanelAction = {
252
+ type: string;
253
+ label: string;
254
+ icon?: ComponentType<{
255
+ className?: string;
256
+ }>;
257
+ isEnabled?: (context: MosaicDashboardAddPanelActionContext) => boolean;
258
+ createPanel: (context: MosaicDashboardAddPanelActionContext) => MosaicDashboardPanelConfig | undefined;
259
+ };
260
+ export declare function createMosaicDashboardVgPlotPanelConfig(title: string, config: VgPlotChartConfig, source?: MosaicDashboardPanelSource): VgPlotPanelConfig;
261
+ export declare function createMosaicDashboardProfilerPanelConfig(options?: {
262
+ title?: string;
263
+ source?: MosaicDashboardPanelSource;
264
+ pageSize?: number;
265
+ }): MosaicDashboardPanelConfig;
16
266
  export declare const MosaicDashboardEntry: z.ZodObject<{
17
267
  id: z.ZodString;
18
268
  title: z.ZodDefault<z.ZodString>;
269
+ layoutType: z.ZodDefault<z.ZodEnum<{
270
+ grid: "grid";
271
+ dock: "dock";
272
+ }>>;
19
273
  selectedTable: z.ZodOptional<z.ZodString>;
20
- charts: z.ZodDefault<z.ZodArray<z.ZodObject<{
274
+ panels: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
21
275
  id: z.ZodString;
276
+ type: z.ZodLiteral<"vgplot">;
22
277
  title: z.ZodDefault<z.ZodString>;
23
- vgplot: z.ZodDefault<z.ZodObject<{}, z.core.$loose>>;
24
- }, z.core.$strip>>>;
25
- layout: z.ZodDefault<z.ZodNullable<z.ZodType<LayoutMosaicSubNode, unknown, z.core.$ZodTypeInternals<LayoutMosaicSubNode, unknown>>>>;
278
+ source: z.ZodOptional<z.ZodObject<{
279
+ tableName: z.ZodOptional<z.ZodString>;
280
+ sqlQuery: z.ZodOptional<z.ZodString>;
281
+ }, z.core.$strip>>;
282
+ config: z.ZodDiscriminatedUnion<[z.ZodObject<{
283
+ chartType: z.ZodLiteral<"histogram">;
284
+ settings: z.ZodObject<{
285
+ field: z.ZodOptional<z.ZodString>;
286
+ }, z.core.$strip>;
287
+ vgplot: z.ZodUnknown;
288
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
289
+ }, z.core.$strip>, z.ZodObject<{
290
+ chartType: z.ZodLiteral<"count-plot">;
291
+ settings: z.ZodObject<{
292
+ field: z.ZodOptional<z.ZodString>;
293
+ }, z.core.$strip>;
294
+ vgplot: z.ZodUnknown;
295
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
296
+ }, z.core.$strip>, z.ZodObject<{
297
+ chartType: z.ZodLiteral<"ecdf">;
298
+ settings: z.ZodObject<{
299
+ field: z.ZodOptional<z.ZodString>;
300
+ }, z.core.$strip>;
301
+ vgplot: z.ZodUnknown;
302
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
303
+ }, z.core.$strip>, z.ZodObject<{
304
+ chartType: z.ZodLiteral<"line-chart">;
305
+ settings: z.ZodObject<{
306
+ x: z.ZodOptional<z.ZodString>;
307
+ y: z.ZodOptional<z.ZodString>;
308
+ }, z.core.$strip>;
309
+ vgplot: z.ZodUnknown;
310
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
311
+ }, z.core.$strip>, z.ZodObject<{
312
+ chartType: z.ZodLiteral<"bubble-chart">;
313
+ settings: z.ZodObject<{
314
+ x: z.ZodOptional<z.ZodString>;
315
+ y: z.ZodOptional<z.ZodString>;
316
+ }, z.core.$strip>;
317
+ vgplot: z.ZodUnknown;
318
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
319
+ }, z.core.$strip>, z.ZodObject<{
320
+ chartType: z.ZodLiteral<"heatmap">;
321
+ settings: z.ZodObject<{
322
+ x: z.ZodOptional<z.ZodString>;
323
+ y: z.ZodOptional<z.ZodString>;
324
+ }, z.core.$strip>;
325
+ vgplot: z.ZodUnknown;
326
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
327
+ }, z.core.$strip>, z.ZodObject<{
328
+ chartType: z.ZodLiteral<"box-plot">;
329
+ settings: z.ZodObject<{
330
+ x: z.ZodOptional<z.ZodString>;
331
+ y: z.ZodOptional<z.ZodString>;
332
+ }, z.core.$strip>;
333
+ vgplot: z.ZodUnknown;
334
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
335
+ }, z.core.$strip>, z.ZodObject<{
336
+ chartType: z.ZodLiteral<"custom-spec">;
337
+ vgplot: z.ZodUnknown;
338
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
339
+ settings: z.ZodRecord<z.ZodString, z.ZodUnknown>;
340
+ }, z.core.$strip>], "chartType">;
341
+ }, z.core.$strip>, z.ZodObject<{
342
+ id: z.ZodString;
343
+ type: z.ZodLiteral<"profiler">;
344
+ title: z.ZodDefault<z.ZodString>;
345
+ source: z.ZodOptional<z.ZodObject<{
346
+ tableName: z.ZodOptional<z.ZodString>;
347
+ sqlQuery: z.ZodOptional<z.ZodString>;
348
+ }, z.core.$strip>>;
349
+ config: z.ZodObject<{
350
+ pageSize: z.ZodOptional<z.ZodNumber>;
351
+ }, z.core.$strip>;
352
+ }, z.core.$strip>], "type">, z.ZodObject<{
353
+ id: z.ZodString;
354
+ type: z.ZodString;
355
+ title: z.ZodDefault<z.ZodString>;
356
+ source: z.ZodOptional<z.ZodObject<{
357
+ tableName: z.ZodOptional<z.ZodString>;
358
+ sqlQuery: z.ZodOptional<z.ZodString>;
359
+ }, z.core.$strip>>;
360
+ config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
361
+ }, z.core.$strip>]>>>;
362
+ layout: z.ZodDefault<z.ZodNullable<z.ZodType<LayoutNode, unknown, z.core.$ZodTypeInternals<LayoutNode, unknown>>>>;
26
363
  updatedAt: z.ZodDefault<z.ZodNumber>;
27
364
  }, z.core.$strip>;
28
365
  export type MosaicDashboardEntry = z.infer<typeof MosaicDashboardEntry>;
@@ -30,13 +367,100 @@ export declare const MosaicDashboardSliceConfig: z.ZodObject<{
30
367
  dashboardsById: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
31
368
  id: z.ZodString;
32
369
  title: z.ZodDefault<z.ZodString>;
370
+ layoutType: z.ZodDefault<z.ZodEnum<{
371
+ grid: "grid";
372
+ dock: "dock";
373
+ }>>;
33
374
  selectedTable: z.ZodOptional<z.ZodString>;
34
- charts: z.ZodDefault<z.ZodArray<z.ZodObject<{
375
+ panels: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
376
+ id: z.ZodString;
377
+ type: z.ZodLiteral<"vgplot">;
378
+ title: z.ZodDefault<z.ZodString>;
379
+ source: z.ZodOptional<z.ZodObject<{
380
+ tableName: z.ZodOptional<z.ZodString>;
381
+ sqlQuery: z.ZodOptional<z.ZodString>;
382
+ }, z.core.$strip>>;
383
+ config: z.ZodDiscriminatedUnion<[z.ZodObject<{
384
+ chartType: z.ZodLiteral<"histogram">;
385
+ settings: z.ZodObject<{
386
+ field: z.ZodOptional<z.ZodString>;
387
+ }, z.core.$strip>;
388
+ vgplot: z.ZodUnknown;
389
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
390
+ }, z.core.$strip>, z.ZodObject<{
391
+ chartType: z.ZodLiteral<"count-plot">;
392
+ settings: z.ZodObject<{
393
+ field: z.ZodOptional<z.ZodString>;
394
+ }, z.core.$strip>;
395
+ vgplot: z.ZodUnknown;
396
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
397
+ }, z.core.$strip>, z.ZodObject<{
398
+ chartType: z.ZodLiteral<"ecdf">;
399
+ settings: z.ZodObject<{
400
+ field: z.ZodOptional<z.ZodString>;
401
+ }, z.core.$strip>;
402
+ vgplot: z.ZodUnknown;
403
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
404
+ }, z.core.$strip>, z.ZodObject<{
405
+ chartType: z.ZodLiteral<"line-chart">;
406
+ settings: z.ZodObject<{
407
+ x: z.ZodOptional<z.ZodString>;
408
+ y: z.ZodOptional<z.ZodString>;
409
+ }, z.core.$strip>;
410
+ vgplot: z.ZodUnknown;
411
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
412
+ }, z.core.$strip>, z.ZodObject<{
413
+ chartType: z.ZodLiteral<"bubble-chart">;
414
+ settings: z.ZodObject<{
415
+ x: z.ZodOptional<z.ZodString>;
416
+ y: z.ZodOptional<z.ZodString>;
417
+ }, z.core.$strip>;
418
+ vgplot: z.ZodUnknown;
419
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
420
+ }, z.core.$strip>, z.ZodObject<{
421
+ chartType: z.ZodLiteral<"heatmap">;
422
+ settings: z.ZodObject<{
423
+ x: z.ZodOptional<z.ZodString>;
424
+ y: z.ZodOptional<z.ZodString>;
425
+ }, z.core.$strip>;
426
+ vgplot: z.ZodUnknown;
427
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
428
+ }, z.core.$strip>, z.ZodObject<{
429
+ chartType: z.ZodLiteral<"box-plot">;
430
+ settings: z.ZodObject<{
431
+ x: z.ZodOptional<z.ZodString>;
432
+ y: z.ZodOptional<z.ZodString>;
433
+ }, z.core.$strip>;
434
+ vgplot: z.ZodUnknown;
435
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
436
+ }, z.core.$strip>, z.ZodObject<{
437
+ chartType: z.ZodLiteral<"custom-spec">;
438
+ vgplot: z.ZodUnknown;
439
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
440
+ settings: z.ZodRecord<z.ZodString, z.ZodUnknown>;
441
+ }, z.core.$strip>], "chartType">;
442
+ }, z.core.$strip>, z.ZodObject<{
35
443
  id: z.ZodString;
444
+ type: z.ZodLiteral<"profiler">;
36
445
  title: z.ZodDefault<z.ZodString>;
37
- vgplot: z.ZodDefault<z.ZodObject<{}, z.core.$loose>>;
38
- }, z.core.$strip>>>;
39
- layout: z.ZodDefault<z.ZodNullable<z.ZodType<LayoutMosaicSubNode, unknown, z.core.$ZodTypeInternals<LayoutMosaicSubNode, unknown>>>>;
446
+ source: z.ZodOptional<z.ZodObject<{
447
+ tableName: z.ZodOptional<z.ZodString>;
448
+ sqlQuery: z.ZodOptional<z.ZodString>;
449
+ }, z.core.$strip>>;
450
+ config: z.ZodObject<{
451
+ pageSize: z.ZodOptional<z.ZodNumber>;
452
+ }, z.core.$strip>;
453
+ }, z.core.$strip>], "type">, z.ZodObject<{
454
+ id: z.ZodString;
455
+ type: z.ZodString;
456
+ title: z.ZodDefault<z.ZodString>;
457
+ source: z.ZodOptional<z.ZodObject<{
458
+ tableName: z.ZodOptional<z.ZodString>;
459
+ sqlQuery: z.ZodOptional<z.ZodString>;
460
+ }, z.core.$strip>>;
461
+ config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
462
+ }, z.core.$strip>]>>>;
463
+ layout: z.ZodDefault<z.ZodNullable<z.ZodType<LayoutNode, unknown, z.core.$ZodTypeInternals<LayoutNode, unknown>>>>;
40
464
  updatedAt: z.ZodDefault<z.ZodNumber>;
41
465
  }, z.core.$strip>>>;
42
466
  }, z.core.$strip>;
@@ -44,25 +468,56 @@ export type MosaicDashboardSliceConfig = z.infer<typeof MosaicDashboardSliceConf
44
468
  export type MosaicDashboardSliceState = {
45
469
  mosaicDashboard: SliceFunctions & {
46
470
  config: MosaicDashboardSliceConfig;
47
- createDashboard: (title?: string) => string;
48
- ensureDashboard: (dashboardId: string, title?: string) => void;
471
+ runtime: {
472
+ /**
473
+ * Live vgplot chart instances retained across transient dashboard panel
474
+ * remounts, keyed by `getMosaicDashboardPanelId(dashboardId, panelId)`.
475
+ *
476
+ * This is runtime-only state: entries are never serialized with dashboard
477
+ * config and must be evicted when their panel/dashboard lifecycle ends.
478
+ */
479
+ retainedChartsByPanelId: Record<string, RetainedVgPlotChart>;
480
+ };
481
+ chartBuilders?: ChartBuilderTemplate[];
482
+ chartTypes?: ChartTypeDefinition[];
483
+ addPanelActions: MosaicDashboardAddPanelAction[];
484
+ createDashboard: (title?: string, layoutType?: MosaicDashboardLayoutType) => string;
485
+ ensureDashboard: (dashboardId: string, title?: string, layoutType?: MosaicDashboardLayoutType) => void;
49
486
  removeDashboard: (dashboardId: string) => void;
50
487
  getDashboard: (dashboardId: string) => MosaicDashboardEntry | undefined;
51
488
  setSelectedTable: (dashboardId: string, tableName: string) => void;
52
- addChart: (dashboardId: string, chart: MosaicDashboardChartConfig) => MosaicDashboardChartConfig['id'];
53
- updateChart: (dashboardId: string, chartId: string, patch: Partial<Pick<MosaicDashboardChartConfig, 'title' | 'vgplot'>>) => void;
54
- removeChart: (dashboardId: string, chartId: string) => void;
55
- setLayout: (dashboardId: string, layout: LayoutMosaicSubNode | null) => void;
489
+ panelRenderers: PanelRenderersRecord;
490
+ registerPanelRenderer: (type: string, renderer: AnyPanelRenderer) => void;
491
+ unregisterPanelRenderer: (type: string) => void;
492
+ addPanel: (dashboardId: string, panel: MosaicDashboardPanelConfig) => MosaicDashboardPanelConfig['id'];
493
+ updatePanel: (dashboardId: string, panelId: string, patch: Partial<Omit<MosaicDashboardPanelConfig, 'id'>>) => void;
494
+ removePanel: (dashboardId: string, panelId: string) => void;
495
+ getRetainedChart: (dashboardId: string, panelId: string) => RetainedVgPlotChart | undefined;
496
+ setRetainedChart: (dashboardId: string, panelId: string, chart: RetainedVgPlotChart) => void;
497
+ evictPanelRuntime: (dashboardId: string, panelId: string) => void;
498
+ evictDashboardRuntime: (dashboardId: string, options?: {
499
+ resetSelection?: boolean;
500
+ }) => void;
501
+ clearAllDashboardRuntime: () => void;
502
+ setLayout: (dashboardId: string, layout: LayoutNode | null) => void;
56
503
  };
57
504
  };
58
505
  export type MosaicDashboardStoreState = BaseRoomStoreState & DbSliceState & DuckDbSliceState & LayoutSliceState & MosaicSliceState & MosaicDashboardSliceState;
59
- export declare function getMosaicDashboardPanelId(dashboardId: string, chartId: string): string;
60
- export declare function getMosaicDashboardMosaicId(dashboardId: string): string;
506
+ export declare function isVgPlotPanelConfig(panel: MosaicDashboardPanelConfig): panel is VgPlotPanelConfig;
507
+ export declare function getMosaicDashboardPanelId(dashboardId: string, panelId: string): string;
508
+ export declare function getMosaicDashboardDockId(dashboardId: string): string;
509
+ export declare function getMosaicDashboardGridId(dashboardId: string): string;
61
510
  export declare function getMosaicDashboardSelectionName(dashboardId: string): string;
62
- export declare function parseMosaicDashboardChartId(dashboardId: string, panelId: string): string | undefined;
511
+ export declare function resolveMosaicDashboardPanelSource(dashboard: MosaicDashboardEntry, panel: MosaicDashboardPanelConfig): MosaicDashboardPanelSource | undefined;
63
512
  export declare function createDefaultMosaicDashboardConfig(props?: Partial<MosaicDashboardSliceConfig>): MosaicDashboardSliceConfig;
64
- export declare function createMosaicDashboardSlice(props?: {
513
+ type CreateMosaicDashboardSliceProps = {
65
514
  config?: Partial<MosaicDashboardSliceConfig>;
66
- }): import("zustand").StateCreator<MosaicDashboardSliceState>;
515
+ panelRenderers?: Record<string, MosaicDashboardPanelRenderer>;
516
+ addPanelActions?: MosaicDashboardAddPanelAction[];
517
+ chartTypes?: ChartTypeDefinition[];
518
+ chartBuilders?: ChartBuilderTemplate[];
519
+ };
520
+ export type { CreateMosaicDashboardSliceProps };
521
+ export declare function createMosaicDashboardSlice(props?: CreateMosaicDashboardSliceProps): import("zustand").StateCreator<MosaicDashboardSliceState>;
67
522
  export declare function useStoreWithMosaicDashboard<T>(selector: (state: MosaicDashboardStoreState) => T): T;
68
523
  //# sourceMappingURL=MosaicDashboardSlice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MosaicDashboardSlice.d.ts","sourceRoot":"","sources":["../../src/dashboard/MosaicDashboardSlice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MosaicDashboardSlice.d.ts","sourceRoot":"","sources":["../../src/dashboard/MosaicDashboardSlice.ts"],"names":[],"mappings":"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"}