@sqlrooms/mosaic 0.29.0-rc.5 → 0.29.0-rc.6

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 (334) hide show
  1. package/README.md +43 -39
  2. package/dist/DataPointLimitError.d.ts +9 -0
  3. package/dist/DataPointLimitError.d.ts.map +1 -0
  4. package/dist/DataPointLimitError.js +14 -0
  5. package/dist/DataPointLimitError.js.map +1 -0
  6. package/dist/MosaicSlice.d.ts.map +1 -1
  7. package/dist/MosaicSlice.js +3 -3
  8. package/dist/MosaicSlice.js.map +1 -1
  9. package/dist/VgPlotChart.d.ts +8 -11
  10. package/dist/VgPlotChart.d.ts.map +1 -1
  11. package/dist/VgPlotChart.js +74 -90
  12. package/dist/VgPlotChart.js.map +1 -1
  13. package/dist/VgPlotChartError.d.ts +7 -0
  14. package/dist/VgPlotChartError.d.ts.map +1 -0
  15. package/dist/VgPlotChartError.js +9 -0
  16. package/dist/VgPlotChartError.js.map +1 -0
  17. package/dist/ai.d.ts +103 -0
  18. package/dist/ai.d.ts.map +1 -0
  19. package/dist/ai.js +445 -0
  20. package/dist/ai.js.map +1 -0
  21. package/dist/boxplot/BoxPlotClient.d.ts +7 -0
  22. package/dist/boxplot/BoxPlotClient.d.ts.map +1 -1
  23. package/dist/boxplot/BoxPlotClient.js +22 -0
  24. package/dist/boxplot/BoxPlotClient.js.map +1 -1
  25. package/dist/chart/ChartRuntimeIssuePanel.d.ts +7 -0
  26. package/dist/chart/ChartRuntimeIssuePanel.d.ts.map +1 -0
  27. package/dist/chart/ChartRuntimeIssuePanel.js +10 -0
  28. package/dist/chart/ChartRuntimeIssuePanel.js.map +1 -0
  29. package/dist/chart/MosaicDashboardChart.d.ts +1 -1
  30. package/dist/chart/MosaicDashboardChart.d.ts.map +1 -1
  31. package/dist/chart/MosaicDashboardChart.js +1 -1
  32. package/dist/chart/MosaicDashboardChart.js.map +1 -1
  33. package/dist/chart/MosaicDashboardChartContent.d.ts +1 -1
  34. package/dist/chart/MosaicDashboardChartContent.d.ts.map +1 -1
  35. package/dist/chart/MosaicDashboardChartContent.js +29 -2
  36. package/dist/chart/MosaicDashboardChartContent.js.map +1 -1
  37. package/dist/chart/MosaicDashboardChartRenderer.d.ts +2 -1
  38. package/dist/chart/MosaicDashboardChartRenderer.d.ts.map +1 -1
  39. package/dist/chart/MosaicDashboardChartRenderer.js +2 -2
  40. package/dist/chart/MosaicDashboardChartRenderer.js.map +1 -1
  41. package/dist/chart/MosaicDashboardComponentChart.d.ts +5 -1
  42. package/dist/chart/MosaicDashboardComponentChart.d.ts.map +1 -1
  43. package/dist/chart/MosaicDashboardComponentChart.js +4 -1
  44. package/dist/chart/MosaicDashboardComponentChart.js.map +1 -1
  45. package/dist/chart/MosaicDashboardVgPlotChart.d.ts +4 -0
  46. package/dist/chart/MosaicDashboardVgPlotChart.d.ts.map +1 -1
  47. package/dist/chart/MosaicDashboardVgPlotChart.js +2 -2
  48. package/dist/chart/MosaicDashboardVgPlotChart.js.map +1 -1
  49. package/dist/chart/addChartPanelAction.d.ts +3 -0
  50. package/dist/chart/addChartPanelAction.d.ts.map +1 -0
  51. package/dist/chart/addChartPanelAction.js +14 -0
  52. package/dist/chart/addChartPanelAction.js.map +1 -0
  53. package/dist/chart/chart-settings/ChartSettings.d.ts.map +1 -1
  54. package/dist/chart/chart-settings/ChartSettings.js +7 -4
  55. package/dist/chart/chart-settings/ChartSettings.js.map +1 -1
  56. package/dist/chart/chart-settings/ChartSettingsContent.d.ts +1 -1
  57. package/dist/chart/chart-settings/ChartSettingsContent.d.ts.map +1 -1
  58. package/dist/chart/chart-settings/ChartSettingsContent.js.map +1 -1
  59. package/dist/chart/chart-settings/ChartSettingsContext.d.ts +0 -2
  60. package/dist/chart/chart-settings/ChartSettingsContext.d.ts.map +1 -1
  61. package/dist/chart/chart-settings/ChartSettingsContext.js +6 -7
  62. package/dist/chart/chart-settings/ChartSettingsContext.js.map +1 -1
  63. package/dist/chart/chart-settings/ChartSettingsPanel.d.ts +1 -1
  64. package/dist/chart/chart-settings/ChartSettingsPanel.d.ts.map +1 -1
  65. package/dist/chart/chart-settings/ChartSettingsPanel.js +1 -1
  66. package/dist/chart/chart-settings/ChartSettingsPanel.js.map +1 -1
  67. package/dist/chart/chart-settings/ChartTypeSelector.d.ts.map +1 -1
  68. package/dist/chart/chart-settings/ChartTypeSelector.js +5 -5
  69. package/dist/chart/chart-settings/ChartTypeSelector.js.map +1 -1
  70. package/dist/chart-builders/ColumnSelector.d.ts +0 -2
  71. package/dist/chart-builders/ColumnSelector.d.ts.map +1 -1
  72. package/dist/chart-builders/ColumnSelector.js +4 -5
  73. package/dist/chart-builders/ColumnSelector.js.map +1 -1
  74. package/dist/chart-builders/ColumnsContext.d.ts +13 -0
  75. package/dist/chart-builders/ColumnsContext.d.ts.map +1 -0
  76. package/dist/chart-builders/ColumnsContext.js +15 -0
  77. package/dist/chart-builders/ColumnsContext.js.map +1 -0
  78. package/dist/chart-builders/MultiFieldSelector.js +4 -4
  79. package/dist/chart-builders/MultiFieldSelector.js.map +1 -1
  80. package/dist/chart-builders/TableSelector.d.ts +14 -0
  81. package/dist/chart-builders/TableSelector.d.ts.map +1 -0
  82. package/dist/chart-builders/TableSelector.js +23 -0
  83. package/dist/chart-builders/TableSelector.js.map +1 -0
  84. package/dist/chart-runtime.d.ts +50 -0
  85. package/dist/chart-runtime.d.ts.map +1 -0
  86. package/dist/chart-runtime.js +76 -0
  87. package/dist/chart-runtime.js.map +1 -0
  88. package/dist/chart-types/base-types.d.ts +45 -25
  89. package/dist/chart-types/base-types.d.ts.map +1 -1
  90. package/dist/chart-types/base-types.js.map +1 -1
  91. package/dist/chart-types/box-plot/definition.d.ts.map +1 -1
  92. package/dist/chart-types/box-plot/definition.js +5 -0
  93. package/dist/chart-types/box-plot/definition.js.map +1 -1
  94. package/dist/chart-types/box-plot/renderer/BoxPlotPanelRenderer.d.ts.map +1 -1
  95. package/dist/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js +4 -1
  96. package/dist/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js.map +1 -1
  97. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.d.ts +4 -0
  98. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.d.ts.map +1 -1
  99. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.js +13 -2
  100. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.js.map +1 -1
  101. package/dist/chart-types/box-plot/schema.d.ts +5 -0
  102. package/dist/chart-types/box-plot/schema.d.ts.map +1 -1
  103. package/dist/chart-types/box-plot/schema.js +2 -0
  104. package/dist/chart-types/box-plot/schema.js.map +1 -1
  105. package/dist/chart-types/box-plot/tool.d.ts +5 -9
  106. package/dist/chart-types/box-plot/tool.d.ts.map +1 -1
  107. package/dist/chart-types/box-plot/tool.js +14 -6
  108. package/dist/chart-types/box-plot/tool.js.map +1 -1
  109. package/dist/chart-types/bubble-chart/definition.d.ts.map +1 -1
  110. package/dist/chart-types/bubble-chart/definition.js +5 -0
  111. package/dist/chart-types/bubble-chart/definition.js.map +1 -1
  112. package/dist/chart-types/bubble-chart/schema.d.ts +5 -0
  113. package/dist/chart-types/bubble-chart/schema.d.ts.map +1 -1
  114. package/dist/chart-types/bubble-chart/schema.js +2 -0
  115. package/dist/chart-types/bubble-chart/schema.js.map +1 -1
  116. package/dist/chart-types/bubble-chart/tool.d.ts +5 -9
  117. package/dist/chart-types/bubble-chart/tool.d.ts.map +1 -1
  118. package/dist/chart-types/bubble-chart/tool.js +17 -9
  119. package/dist/chart-types/bubble-chart/tool.js.map +1 -1
  120. package/dist/chart-types/chart-config.d.ts +46 -0
  121. package/dist/chart-types/chart-config.d.ts.map +1 -1
  122. package/dist/chart-types/chart-config.js +2 -0
  123. package/dist/chart-types/chart-config.js.map +1 -1
  124. package/dist/chart-types/count-plot/schema.d.ts +5 -0
  125. package/dist/chart-types/count-plot/schema.d.ts.map +1 -1
  126. package/dist/chart-types/count-plot/schema.js +2 -0
  127. package/dist/chart-types/count-plot/schema.js.map +1 -1
  128. package/dist/chart-types/count-plot/tool.d.ts +5 -9
  129. package/dist/chart-types/count-plot/tool.d.ts.map +1 -1
  130. package/dist/chart-types/count-plot/tool.js +14 -6
  131. package/dist/chart-types/count-plot/tool.js.map +1 -1
  132. package/dist/chart-types/custom-spec/definition.d.ts.map +1 -1
  133. package/dist/chart-types/custom-spec/definition.js +5 -0
  134. package/dist/chart-types/custom-spec/definition.js.map +1 -1
  135. package/dist/chart-types/custom-spec/schema.d.ts +5 -0
  136. package/dist/chart-types/custom-spec/schema.d.ts.map +1 -1
  137. package/dist/chart-types/custom-spec/schema.js +2 -0
  138. package/dist/chart-types/custom-spec/schema.js.map +1 -1
  139. package/dist/chart-types/data-policy-schema.d.ts +8 -0
  140. package/dist/chart-types/data-policy-schema.d.ts.map +1 -0
  141. package/dist/chart-types/data-policy-schema.js +7 -0
  142. package/dist/chart-types/data-policy-schema.js.map +1 -0
  143. package/dist/chart-types/heatmap/schema.d.ts +5 -0
  144. package/dist/chart-types/heatmap/schema.d.ts.map +1 -1
  145. package/dist/chart-types/heatmap/schema.js +2 -0
  146. package/dist/chart-types/heatmap/schema.js.map +1 -1
  147. package/dist/chart-types/heatmap/tool.d.ts +5 -9
  148. package/dist/chart-types/heatmap/tool.d.ts.map +1 -1
  149. package/dist/chart-types/heatmap/tool.js +16 -8
  150. package/dist/chart-types/heatmap/tool.js.map +1 -1
  151. package/dist/chart-types/histogram/HistogramSettings.d.ts.map +1 -1
  152. package/dist/chart-types/histogram/HistogramSettings.js +4 -2
  153. package/dist/chart-types/histogram/HistogramSettings.js.map +1 -1
  154. package/dist/chart-types/histogram/schema.d.ts +10 -0
  155. package/dist/chart-types/histogram/schema.d.ts.map +1 -1
  156. package/dist/chart-types/histogram/schema.js +13 -0
  157. package/dist/chart-types/histogram/schema.js.map +1 -1
  158. package/dist/chart-types/histogram/spec.d.ts +1 -1
  159. package/dist/chart-types/histogram/spec.d.ts.map +1 -1
  160. package/dist/chart-types/histogram/spec.js +4 -3
  161. package/dist/chart-types/histogram/spec.js.map +1 -1
  162. package/dist/chart-types/histogram/tool.d.ts +7 -9
  163. package/dist/chart-types/histogram/tool.d.ts.map +1 -1
  164. package/dist/chart-types/histogram/tool.js +17 -7
  165. package/dist/chart-types/histogram/tool.js.map +1 -1
  166. package/dist/chart-types/index.d.ts +45 -3
  167. package/dist/chart-types/index.d.ts.map +1 -1
  168. package/dist/chart-types/index.js +8 -2
  169. package/dist/chart-types/index.js.map +1 -1
  170. package/dist/chart-types/line-chart/LineChartSettings.d.ts.map +1 -1
  171. package/dist/chart-types/line-chart/LineChartSettings.js +3 -1
  172. package/dist/chart-types/line-chart/LineChartSettings.js.map +1 -1
  173. package/dist/chart-types/line-chart/definition.d.ts.map +1 -1
  174. package/dist/chart-types/line-chart/definition.js +7 -0
  175. package/dist/chart-types/line-chart/definition.js.map +1 -1
  176. package/dist/chart-types/line-chart/schema.d.ts +5 -0
  177. package/dist/chart-types/line-chart/schema.d.ts.map +1 -1
  178. package/dist/chart-types/line-chart/schema.js +2 -0
  179. package/dist/chart-types/line-chart/schema.js.map +1 -1
  180. package/dist/chart-types/line-chart/tool.d.ts +5 -9
  181. package/dist/chart-types/line-chart/tool.d.ts.map +1 -1
  182. package/dist/chart-types/line-chart/tool.js +16 -8
  183. package/dist/chart-types/line-chart/tool.js.map +1 -1
  184. package/dist/chart-types/list-panels-tool.d.ts +35 -0
  185. package/dist/chart-types/list-panels-tool.d.ts.map +1 -0
  186. package/dist/chart-types/list-panels-tool.js +66 -0
  187. package/dist/chart-types/list-panels-tool.js.map +1 -0
  188. package/dist/chart-types/profiler-tool.d.ts +40 -0
  189. package/dist/chart-types/profiler-tool.d.ts.map +1 -0
  190. package/dist/chart-types/profiler-tool.js +73 -0
  191. package/dist/chart-types/profiler-tool.js.map +1 -0
  192. package/dist/chart-types/remove-panel-tool.d.ts +31 -0
  193. package/dist/chart-types/remove-panel-tool.d.ts.map +1 -0
  194. package/dist/chart-types/remove-panel-tool.js +55 -0
  195. package/dist/chart-types/remove-panel-tool.js.map +1 -0
  196. package/dist/chart-types/text-panel-tool.d.ts +42 -0
  197. package/dist/chart-types/text-panel-tool.d.ts.map +1 -0
  198. package/dist/chart-types/text-panel-tool.js +71 -0
  199. package/dist/chart-types/text-panel-tool.js.map +1 -0
  200. package/dist/chart-types/tool-helpers.d.ts +44 -0
  201. package/dist/chart-types/tool-helpers.d.ts.map +1 -0
  202. package/dist/chart-types/tool-helpers.js +129 -0
  203. package/dist/chart-types/tool-helpers.js.map +1 -0
  204. package/dist/chart-types/tool-schemas.d.ts +1 -0
  205. package/dist/chart-types/tool-schemas.d.ts.map +1 -1
  206. package/dist/chart-types/tool-schemas.js +5 -1
  207. package/dist/chart-types/tool-schemas.js.map +1 -1
  208. package/dist/dashboard/MosaicDashboard.d.ts +5 -2
  209. package/dist/dashboard/MosaicDashboard.d.ts.map +1 -1
  210. package/dist/dashboard/MosaicDashboard.js +20 -39
  211. package/dist/dashboard/MosaicDashboard.js.map +1 -1
  212. package/dist/dashboard/MosaicDashboardContext.d.ts +2 -0
  213. package/dist/dashboard/MosaicDashboardContext.d.ts.map +1 -1
  214. package/dist/dashboard/MosaicDashboardContext.js.map +1 -1
  215. package/dist/dashboard/MosaicDashboardEmptyState.d.ts.map +1 -1
  216. package/dist/dashboard/MosaicDashboardEmptyState.js +8 -44
  217. package/dist/dashboard/MosaicDashboardEmptyState.js.map +1 -1
  218. package/dist/dashboard/MosaicDashboardPanel.d.ts.map +1 -1
  219. package/dist/dashboard/MosaicDashboardPanel.js +2 -5
  220. package/dist/dashboard/MosaicDashboardPanel.js.map +1 -1
  221. package/dist/dashboard/MosaicDashboardPanelHeader.d.ts +2 -2
  222. package/dist/dashboard/MosaicDashboardPanelHeader.d.ts.map +1 -1
  223. package/dist/dashboard/MosaicDashboardPanelHeader.js +2 -2
  224. package/dist/dashboard/MosaicDashboardPanelHeader.js.map +1 -1
  225. package/dist/dashboard/MosaicDashboardPanels.d.ts.map +1 -1
  226. package/dist/dashboard/MosaicDashboardPanels.js +3 -2
  227. package/dist/dashboard/MosaicDashboardPanels.js.map +1 -1
  228. package/dist/dashboard/MosaicDashboardSlice.d.ts +185 -107
  229. package/dist/dashboard/MosaicDashboardSlice.d.ts.map +1 -1
  230. package/dist/dashboard/MosaicDashboardSlice.js +80 -57
  231. package/dist/dashboard/MosaicDashboardSlice.js.map +1 -1
  232. package/dist/dashboard/action-types.d.ts +25 -0
  233. package/dist/dashboard/action-types.d.ts.map +1 -0
  234. package/dist/dashboard/action-types.js +5 -0
  235. package/dist/dashboard/action-types.js.map +1 -0
  236. package/dist/dashboard/core-types.d.ts +26 -0
  237. package/dist/dashboard/core-types.d.ts.map +1 -0
  238. package/dist/dashboard/core-types.js +21 -0
  239. package/dist/dashboard/core-types.js.map +1 -0
  240. package/dist/dashboard/dashboard-types.d.ts +491 -0
  241. package/dist/dashboard/dashboard-types.d.ts.map +1 -0
  242. package/dist/dashboard/dashboard-types.js +54 -0
  243. package/dist/dashboard/dashboard-types.js.map +1 -0
  244. package/dist/dashboard/defaultPanelActions.d.ts +3 -0
  245. package/dist/dashboard/defaultPanelActions.d.ts.map +1 -0
  246. package/dist/dashboard/defaultPanelActions.js +9 -0
  247. package/dist/dashboard/defaultPanelActions.js.map +1 -0
  248. package/dist/dashboard/defaultPanelRenderers.d.ts.map +1 -1
  249. package/dist/dashboard/defaultPanelRenderers.js +1 -1
  250. package/dist/dashboard/defaultPanelRenderers.js.map +1 -1
  251. package/dist/dashboard/initial-state/BuildDashboardManuallyPanel.d.ts +6 -0
  252. package/dist/dashboard/initial-state/BuildDashboardManuallyPanel.d.ts.map +1 -0
  253. package/dist/dashboard/initial-state/BuildDashboardManuallyPanel.js +46 -0
  254. package/dist/dashboard/initial-state/BuildDashboardManuallyPanel.js.map +1 -0
  255. package/dist/dashboard/initial-state/BuildDashboardWithAIPanel.d.ts +7 -0
  256. package/dist/dashboard/initial-state/BuildDashboardWithAIPanel.d.ts.map +1 -0
  257. package/dist/dashboard/initial-state/BuildDashboardWithAIPanel.js +29 -0
  258. package/dist/dashboard/initial-state/BuildDashboardWithAIPanel.js.map +1 -0
  259. package/dist/dashboard/initial-state/MosaicDashboardInitialState.d.ts +6 -0
  260. package/dist/dashboard/initial-state/MosaicDashboardInitialState.d.ts.map +1 -0
  261. package/dist/dashboard/initial-state/MosaicDashboardInitialState.js +9 -0
  262. package/dist/dashboard/initial-state/MosaicDashboardInitialState.js.map +1 -0
  263. package/dist/dashboard/toolbar/MosaicDashboardAddPanelDropdown.d.ts +7 -0
  264. package/dist/dashboard/toolbar/MosaicDashboardAddPanelDropdown.d.ts.map +1 -0
  265. package/dist/dashboard/toolbar/MosaicDashboardAddPanelDropdown.js +12 -0
  266. package/dist/dashboard/toolbar/MosaicDashboardAddPanelDropdown.js.map +1 -0
  267. package/dist/dashboard/toolbar/MosaicDashboardResetFiltersButton.d.ts +7 -0
  268. package/dist/dashboard/toolbar/MosaicDashboardResetFiltersButton.d.ts.map +1 -0
  269. package/dist/dashboard/toolbar/MosaicDashboardResetFiltersButton.js +36 -0
  270. package/dist/dashboard/toolbar/MosaicDashboardResetFiltersButton.js.map +1 -0
  271. package/dist/dashboard/toolbar/MosaicDashboardToolbar.d.ts.map +1 -0
  272. package/dist/dashboard/toolbar/MosaicDashboardToolbar.js +15 -0
  273. package/dist/dashboard/toolbar/MosaicDashboardToolbar.js.map +1 -0
  274. package/dist/dashboard/useAddPanelActions.d.ts +10 -0
  275. package/dist/dashboard/useAddPanelActions.d.ts.map +1 -0
  276. package/dist/dashboard/useAddPanelActions.js +26 -0
  277. package/dist/dashboard/useAddPanelActions.js.map +1 -0
  278. package/dist/dashboard/useMosaicDashboardAddPanelActionContext.d.ts +3 -0
  279. package/dist/dashboard/useMosaicDashboardAddPanelActionContext.d.ts.map +1 -0
  280. package/dist/dashboard/useMosaicDashboardAddPanelActionContext.js +18 -0
  281. package/dist/dashboard/useMosaicDashboardAddPanelActionContext.js.map +1 -0
  282. package/dist/dashboard/useSelectedOrFirstTable.d.ts +10 -0
  283. package/dist/dashboard/useSelectedOrFirstTable.d.ts.map +1 -0
  284. package/dist/dashboard/useSelectedOrFirstTable.js +25 -0
  285. package/dist/dashboard/useSelectedOrFirstTable.js.map +1 -0
  286. package/dist/dashboard/useTablesWithColumns.d.ts +9 -0
  287. package/dist/dashboard/useTablesWithColumns.d.ts.map +1 -0
  288. package/dist/dashboard/useTablesWithColumns.js +13 -0
  289. package/dist/dashboard/useTablesWithColumns.js.map +1 -0
  290. package/dist/index.d.ts +25 -4
  291. package/dist/index.d.ts.map +1 -1
  292. package/dist/index.js +22 -2
  293. package/dist/index.js.map +1 -1
  294. package/dist/profiler/MosaicDashboardProfilerPanelRenderer.d.ts +2 -1
  295. package/dist/profiler/MosaicDashboardProfilerPanelRenderer.d.ts.map +1 -1
  296. package/dist/profiler/MosaicDashboardProfilerPanelRenderer.js +3 -3
  297. package/dist/profiler/MosaicDashboardProfilerPanelRenderer.js.map +1 -1
  298. package/dist/profiler/addProfilerPanelAction.d.ts +3 -0
  299. package/dist/profiler/addProfilerPanelAction.d.ts.map +1 -0
  300. package/dist/profiler/addProfilerPanelAction.js +9 -0
  301. package/dist/profiler/addProfilerPanelAction.js.map +1 -0
  302. package/dist/text/MosaicDashboardTextRenderer.d.ts +2 -1
  303. package/dist/text/MosaicDashboardTextRenderer.d.ts.map +1 -1
  304. package/dist/text/MosaicDashboardTextRenderer.js +4 -4
  305. package/dist/text/MosaicDashboardTextRenderer.js.map +1 -1
  306. package/dist/text/addTextPanelAction.d.ts +3 -0
  307. package/dist/text/addTextPanelAction.d.ts.map +1 -0
  308. package/dist/text/addTextPanelAction.js +9 -0
  309. package/dist/text/addTextPanelAction.js.map +1 -0
  310. package/dist/useMosaicClient.d.ts +4 -0
  311. package/dist/useMosaicClient.d.ts.map +1 -1
  312. package/dist/useMosaicClient.js +33 -3
  313. package/dist/useMosaicClient.js.map +1 -1
  314. package/dist/useVgPlotChartError.d.ts +13 -0
  315. package/dist/useVgPlotChartError.d.ts.map +1 -0
  316. package/dist/useVgPlotChartError.js +18 -0
  317. package/dist/useVgPlotChartError.js.map +1 -0
  318. package/dist/useVgPlotChartRender.d.ts +24 -0
  319. package/dist/useVgPlotChartRender.d.ts.map +1 -0
  320. package/dist/useVgPlotChartRender.js +152 -0
  321. package/dist/useVgPlotChartRender.js.map +1 -0
  322. package/dist/useVgPlotChartRetention.d.ts +21 -0
  323. package/dist/useVgPlotChartRetention.d.ts.map +1 -0
  324. package/dist/useVgPlotChartRetention.js +63 -0
  325. package/dist/useVgPlotChartRetention.js.map +1 -0
  326. package/dist/wrapCoordinatorWithValidation.d.ts +11 -0
  327. package/dist/wrapCoordinatorWithValidation.d.ts.map +1 -0
  328. package/dist/wrapCoordinatorWithValidation.js +23 -0
  329. package/dist/wrapCoordinatorWithValidation.js.map +1 -0
  330. package/package.json +31 -13
  331. package/dist/dashboard/MosaicDashboardToolbar.d.ts.map +0 -1
  332. package/dist/dashboard/MosaicDashboardToolbar.js +0 -86
  333. package/dist/dashboard/MosaicDashboardToolbar.js.map +0 -1
  334. /package/dist/dashboard/{MosaicDashboardToolbar.d.ts → toolbar/MosaicDashboardToolbar.d.ts} +0 -0
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Dashboard action types - separated to avoid circular dependencies with chart types.
3
+ */
4
+ import type { ComponentType } from 'react';
5
+ import type { DataTable } from '@sqlrooms/db';
6
+ import type { ChartTypeDefinition } from '../chart-types/base-types';
7
+ import type { MosaicDashboardEntry, MosaicDashboardPanelConfig } from './dashboard-types';
8
+ export type MosaicDashboardAddPanelActionContext = {
9
+ dashboardId: string;
10
+ dashboard: MosaicDashboardEntry | undefined;
11
+ selectedTable: DataTable | undefined;
12
+ tables: DataTable[];
13
+ chartTypes: ChartTypeDefinition[] | undefined;
14
+ };
15
+ export type MosaicDashboardAddPanelAction = {
16
+ type: string;
17
+ label: string;
18
+ icon?: ComponentType<{
19
+ className?: string;
20
+ }>;
21
+ isEnabled?: (context: MosaicDashboardAddPanelActionContext) => boolean;
22
+ createPanel: (context: MosaicDashboardAddPanelActionContext) => MosaicDashboardPanelConfig | undefined;
23
+ };
24
+ export type OnStartDashboard = (prompt: string) => void | Promise<void>;
25
+ //# sourceMappingURL=action-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-types.d.ts","sourceRoot":"","sources":["../../src/dashboard/action-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AACzC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,oCAAoC,GAAG;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC5C,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,UAAU,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,aAAa,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,oCAAoC,KAAK,OAAO,CAAC;IACvE,WAAW,EAAE,CACX,OAAO,EAAE,oCAAoC,KAC1C,0BAA0B,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Dashboard action types - separated to avoid circular dependencies with chart types.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=action-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-types.js","sourceRoot":"","sources":["../../src/dashboard/action-types.ts"],"names":[],"mappings":"AAAA;;GAEG","sourcesContent":["/**\n * Dashboard action types - separated to avoid circular dependencies with chart types.\n */\n\nimport type {ComponentType} from 'react';\nimport type {DataTable} from '@sqlrooms/db';\nimport type {ChartTypeDefinition} from '../chart-types/base-types';\nimport type {\n MosaicDashboardEntry,\n MosaicDashboardPanelConfig,\n} from './dashboard-types';\n\nexport type MosaicDashboardAddPanelActionContext = {\n dashboardId: string;\n dashboard: MosaicDashboardEntry | undefined;\n selectedTable: DataTable | undefined;\n tables: DataTable[];\n chartTypes: ChartTypeDefinition[] | undefined;\n};\n\nexport type MosaicDashboardAddPanelAction = {\n type: string;\n label: string;\n icon?: ComponentType<{className?: string}>;\n isEnabled?: (context: MosaicDashboardAddPanelActionContext) => boolean;\n createPanel: (\n context: MosaicDashboardAddPanelActionContext,\n ) => MosaicDashboardPanelConfig | undefined;\n};\n\nexport type OnStartDashboard = (prompt: string) => void | Promise<void>;\n"]}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Core dashboard data types - no dependencies on chart-types.
3
+ * These types can be safely imported by chart-types without creating circular dependencies.
4
+ */
5
+ import { z } from 'zod';
6
+ export declare const ProfilerPanelConfig: z.ZodObject<{
7
+ pageSize: z.ZodOptional<z.ZodNumber>;
8
+ }, z.core.$strip>;
9
+ export type ProfilerPanelConfig = z.infer<typeof ProfilerPanelConfig>;
10
+ export declare const TextPanelConfig: z.ZodObject<{
11
+ content: z.ZodDefault<z.ZodString>;
12
+ toolbarOpen: z.ZodDefault<z.ZodBoolean>;
13
+ sourcePanelOpen: z.ZodDefault<z.ZodBoolean>;
14
+ }, z.core.$strip>;
15
+ export type TextPanelConfig = z.infer<typeof TextPanelConfig>;
16
+ export declare const MosaicDashboardLayoutType: z.ZodEnum<{
17
+ grid: "grid";
18
+ dock: "dock";
19
+ }>;
20
+ export type MosaicDashboardLayoutType = z.infer<typeof MosaicDashboardLayoutType>;
21
+ export declare const MosaicDashboardPanelSource: z.ZodObject<{
22
+ tableName: z.ZodOptional<z.ZodString>;
23
+ sqlQuery: z.ZodOptional<z.ZodString>;
24
+ }, z.core.$strip>;
25
+ export type MosaicDashboardPanelSource = z.infer<typeof MosaicDashboardPanelSource>;
26
+ //# sourceMappingURL=core-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-types.d.ts","sourceRoot":"","sources":["../../src/dashboard/core-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB,eAAO,MAAM,mBAAmB;;iBAE9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAGtE,eAAO,MAAM,eAAe;;;;iBAI1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,yBAAyB;;;EAA2B,CAAC;AAClE,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;iBAGrC,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Core dashboard data types - no dependencies on chart-types.
3
+ * These types can be safely imported by chart-types without creating circular dependencies.
4
+ */
5
+ import { z } from 'zod';
6
+ // Profiler panel config
7
+ export const ProfilerPanelConfig = z.object({
8
+ pageSize: z.number().optional(),
9
+ });
10
+ // Text panel config
11
+ export const TextPanelConfig = z.object({
12
+ content: z.string().default(''),
13
+ toolbarOpen: z.boolean().default(false),
14
+ sourcePanelOpen: z.boolean().default(false),
15
+ });
16
+ export const MosaicDashboardLayoutType = z.enum(['dock', 'grid']);
17
+ export const MosaicDashboardPanelSource = z.object({
18
+ tableName: z.string().optional(),
19
+ sqlQuery: z.string().optional(),
20
+ });
21
+ //# sourceMappingURL=core-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-types.js","sourceRoot":"","sources":["../../src/dashboard/core-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,wBAAwB;AACxB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAGH,oBAAoB;AACpB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACvC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC5C,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAKlE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC","sourcesContent":["/**\n * Core dashboard data types - no dependencies on chart-types.\n * These types can be safely imported by chart-types without creating circular dependencies.\n */\n\nimport {z} from 'zod';\n\n// Profiler panel config\nexport const ProfilerPanelConfig = z.object({\n pageSize: z.number().optional(),\n});\nexport type ProfilerPanelConfig = z.infer<typeof ProfilerPanelConfig>;\n\n// Text panel config\nexport const TextPanelConfig = z.object({\n content: z.string().default(''),\n toolbarOpen: z.boolean().default(false),\n sourcePanelOpen: z.boolean().default(false),\n});\nexport type TextPanelConfig = z.infer<typeof TextPanelConfig>;\n\nexport const MosaicDashboardLayoutType = z.enum(['dock', 'grid']);\nexport type MosaicDashboardLayoutType = z.infer<\n typeof MosaicDashboardLayoutType\n>;\n\nexport const MosaicDashboardPanelSource = z.object({\n tableName: z.string().optional(),\n sqlQuery: z.string().optional(),\n});\nexport type MosaicDashboardPanelSource = z.infer<\n typeof MosaicDashboardPanelSource\n>;\n"]}
@@ -0,0 +1,491 @@
1
+ /**
2
+ * Core dashboard types - separated to avoid circular dependencies.
3
+ */
4
+ import { LayoutNode as LayoutNodeSchema } from '@sqlrooms/layout-config';
5
+ import { z } from 'zod';
6
+ export declare const MOSAIC_DASHBOARD_CHART_PANEL_TYPE = "vgplot";
7
+ export declare const MOSAIC_DASHBOARD_PROFILER_PANEL_TYPE = "profiler";
8
+ export declare const MOSAIC_DASHBOARD_TEXT_PANEL_TYPE = "text";
9
+ export declare const ChartPanelConfig: z.ZodObject<{
10
+ id: z.ZodString;
11
+ type: z.ZodLiteral<"vgplot">;
12
+ title: z.ZodDefault<z.ZodString>;
13
+ source: z.ZodOptional<z.ZodObject<{
14
+ tableName: z.ZodOptional<z.ZodString>;
15
+ sqlQuery: z.ZodOptional<z.ZodString>;
16
+ }, z.core.$strip>>;
17
+ config: z.ZodUnion<[z.ZodDiscriminatedUnion<readonly [z.ZodObject<{
18
+ chartType: z.ZodLiteral<"histogram">;
19
+ settings: z.ZodObject<{
20
+ field: z.ZodOptional<z.ZodString>;
21
+ maxBins: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
22
+ }, z.core.$strip>;
23
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
24
+ dataPolicy: z.ZodOptional<z.ZodObject<{
25
+ disabled: z.ZodOptional<z.ZodBoolean>;
26
+ maxRows: z.ZodOptional<z.ZodNumber>;
27
+ reason: z.ZodOptional<z.ZodString>;
28
+ }, z.core.$strip>>;
29
+ }, z.core.$strip>, z.ZodObject<{
30
+ chartType: z.ZodLiteral<"count-plot">;
31
+ settings: z.ZodObject<{
32
+ field: z.ZodOptional<z.ZodString>;
33
+ }, z.core.$strip>;
34
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
35
+ dataPolicy: z.ZodOptional<z.ZodObject<{
36
+ disabled: z.ZodOptional<z.ZodBoolean>;
37
+ maxRows: z.ZodOptional<z.ZodNumber>;
38
+ reason: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$strip>>;
40
+ }, z.core.$strip>, z.ZodObject<{
41
+ chartType: z.ZodLiteral<"line-chart">;
42
+ settings: z.ZodObject<{
43
+ x: z.ZodOptional<z.ZodString>;
44
+ xInterval: z.ZodOptional<z.ZodEnum<{
45
+ second: "second";
46
+ minute: "minute";
47
+ hour: "hour";
48
+ day: "day";
49
+ week: "week";
50
+ month: "month";
51
+ quarter: "quarter";
52
+ year: "year";
53
+ }>>;
54
+ yFields: z.ZodOptional<z.ZodArray<z.ZodObject<{
55
+ field: z.ZodString;
56
+ color: z.ZodOptional<z.ZodString>;
57
+ aggregate: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
58
+ sum: "sum";
59
+ max: "max";
60
+ min: "min";
61
+ avg: "avg";
62
+ }>>>;
63
+ }, z.core.$strip>>>;
64
+ }, z.core.$strip>;
65
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
66
+ dataPolicy: z.ZodOptional<z.ZodObject<{
67
+ disabled: z.ZodOptional<z.ZodBoolean>;
68
+ maxRows: z.ZodOptional<z.ZodNumber>;
69
+ reason: z.ZodOptional<z.ZodString>;
70
+ }, z.core.$strip>>;
71
+ }, z.core.$strip>, z.ZodObject<{
72
+ chartType: z.ZodLiteral<"bubble-chart">;
73
+ settings: z.ZodObject<{
74
+ x: z.ZodOptional<z.ZodString>;
75
+ y: z.ZodOptional<z.ZodString>;
76
+ size: z.ZodOptional<z.ZodString>;
77
+ }, z.core.$strip>;
78
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
79
+ dataPolicy: z.ZodOptional<z.ZodObject<{
80
+ disabled: z.ZodOptional<z.ZodBoolean>;
81
+ maxRows: z.ZodOptional<z.ZodNumber>;
82
+ reason: z.ZodOptional<z.ZodString>;
83
+ }, z.core.$strip>>;
84
+ }, z.core.$strip>, z.ZodObject<{
85
+ chartType: z.ZodLiteral<"heatmap">;
86
+ settings: z.ZodObject<{
87
+ x: z.ZodOptional<z.ZodString>;
88
+ y: z.ZodOptional<z.ZodString>;
89
+ }, z.core.$strip>;
90
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
91
+ dataPolicy: z.ZodOptional<z.ZodObject<{
92
+ disabled: z.ZodOptional<z.ZodBoolean>;
93
+ maxRows: z.ZodOptional<z.ZodNumber>;
94
+ reason: z.ZodOptional<z.ZodString>;
95
+ }, z.core.$strip>>;
96
+ }, z.core.$strip>, z.ZodObject<{
97
+ chartType: z.ZodLiteral<"box-plot">;
98
+ settings: z.ZodObject<{
99
+ x: z.ZodString;
100
+ y: z.ZodString;
101
+ }, z.core.$strip>;
102
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
103
+ dataPolicy: z.ZodOptional<z.ZodObject<{
104
+ disabled: z.ZodOptional<z.ZodBoolean>;
105
+ maxRows: z.ZodOptional<z.ZodNumber>;
106
+ reason: z.ZodOptional<z.ZodString>;
107
+ }, z.core.$strip>>;
108
+ }, z.core.$strip>, z.ZodObject<{
109
+ chartType: z.ZodLiteral<"custom-spec">;
110
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
111
+ settings: z.ZodObject<{
112
+ vgPlotSpec: z.ZodOptional<z.ZodUnknown>;
113
+ }, z.core.$strip>;
114
+ dataPolicy: z.ZodOptional<z.ZodObject<{
115
+ disabled: z.ZodOptional<z.ZodBoolean>;
116
+ maxRows: z.ZodOptional<z.ZodNumber>;
117
+ reason: z.ZodOptional<z.ZodString>;
118
+ }, z.core.$strip>>;
119
+ }, z.core.$strip>], "chartType">, z.ZodObject<{
120
+ chartType: z.ZodString;
121
+ settings: z.ZodRecord<z.ZodString, z.ZodUnknown>;
122
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
123
+ dataPolicy: z.ZodOptional<z.ZodObject<{
124
+ disabled: z.ZodOptional<z.ZodBoolean>;
125
+ maxRows: z.ZodOptional<z.ZodNumber>;
126
+ reason: z.ZodOptional<z.ZodString>;
127
+ }, z.core.$strip>>;
128
+ }, z.core.$strip>]>;
129
+ }, z.core.$strip>;
130
+ export type ChartPanelConfig = z.infer<typeof ChartPanelConfig>;
131
+ export declare const ProfilerPanel: z.ZodObject<{
132
+ id: z.ZodString;
133
+ type: z.ZodLiteral<"profiler">;
134
+ title: z.ZodDefault<z.ZodString>;
135
+ source: z.ZodOptional<z.ZodObject<{
136
+ tableName: z.ZodOptional<z.ZodString>;
137
+ sqlQuery: z.ZodOptional<z.ZodString>;
138
+ }, z.core.$strip>>;
139
+ config: z.ZodObject<{
140
+ pageSize: z.ZodOptional<z.ZodNumber>;
141
+ }, z.core.$strip>;
142
+ }, z.core.$strip>;
143
+ export type ProfilerPanel = z.infer<typeof ProfilerPanel>;
144
+ export declare const TextPanel: z.ZodObject<{
145
+ id: z.ZodString;
146
+ type: z.ZodLiteral<"text">;
147
+ title: z.ZodDefault<z.ZodString>;
148
+ source: z.ZodOptional<z.ZodObject<{
149
+ tableName: z.ZodOptional<z.ZodString>;
150
+ sqlQuery: z.ZodOptional<z.ZodString>;
151
+ }, z.core.$strip>>;
152
+ config: z.ZodObject<{
153
+ content: z.ZodDefault<z.ZodString>;
154
+ toolbarOpen: z.ZodDefault<z.ZodBoolean>;
155
+ sourcePanelOpen: z.ZodDefault<z.ZodBoolean>;
156
+ }, z.core.$strip>;
157
+ }, z.core.$strip>;
158
+ export type TextPanel = z.infer<typeof TextPanel>;
159
+ export declare const LegacyPanelConfig: z.ZodObject<{
160
+ id: z.ZodString;
161
+ type: z.ZodString;
162
+ title: z.ZodDefault<z.ZodString>;
163
+ source: z.ZodOptional<z.ZodObject<{
164
+ tableName: z.ZodOptional<z.ZodString>;
165
+ sqlQuery: z.ZodOptional<z.ZodString>;
166
+ }, z.core.$strip>>;
167
+ config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
168
+ }, z.core.$strip>;
169
+ export type LegacyPanelConfig = z.infer<typeof LegacyPanelConfig>;
170
+ export declare const MosaicDashboardPanelConfig: z.ZodUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
171
+ id: z.ZodString;
172
+ type: z.ZodLiteral<"vgplot">;
173
+ title: z.ZodDefault<z.ZodString>;
174
+ source: z.ZodOptional<z.ZodObject<{
175
+ tableName: z.ZodOptional<z.ZodString>;
176
+ sqlQuery: z.ZodOptional<z.ZodString>;
177
+ }, z.core.$strip>>;
178
+ config: z.ZodUnion<[z.ZodDiscriminatedUnion<readonly [z.ZodObject<{
179
+ chartType: z.ZodLiteral<"histogram">;
180
+ settings: z.ZodObject<{
181
+ field: z.ZodOptional<z.ZodString>;
182
+ maxBins: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
183
+ }, z.core.$strip>;
184
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
185
+ dataPolicy: z.ZodOptional<z.ZodObject<{
186
+ disabled: z.ZodOptional<z.ZodBoolean>;
187
+ maxRows: z.ZodOptional<z.ZodNumber>;
188
+ reason: z.ZodOptional<z.ZodString>;
189
+ }, z.core.$strip>>;
190
+ }, z.core.$strip>, z.ZodObject<{
191
+ chartType: z.ZodLiteral<"count-plot">;
192
+ settings: z.ZodObject<{
193
+ field: z.ZodOptional<z.ZodString>;
194
+ }, z.core.$strip>;
195
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
196
+ dataPolicy: z.ZodOptional<z.ZodObject<{
197
+ disabled: z.ZodOptional<z.ZodBoolean>;
198
+ maxRows: z.ZodOptional<z.ZodNumber>;
199
+ reason: z.ZodOptional<z.ZodString>;
200
+ }, z.core.$strip>>;
201
+ }, z.core.$strip>, z.ZodObject<{
202
+ chartType: z.ZodLiteral<"line-chart">;
203
+ settings: z.ZodObject<{
204
+ x: z.ZodOptional<z.ZodString>;
205
+ xInterval: z.ZodOptional<z.ZodEnum<{
206
+ second: "second";
207
+ minute: "minute";
208
+ hour: "hour";
209
+ day: "day";
210
+ week: "week";
211
+ month: "month";
212
+ quarter: "quarter";
213
+ year: "year";
214
+ }>>;
215
+ yFields: z.ZodOptional<z.ZodArray<z.ZodObject<{
216
+ field: z.ZodString;
217
+ color: z.ZodOptional<z.ZodString>;
218
+ aggregate: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
219
+ sum: "sum";
220
+ max: "max";
221
+ min: "min";
222
+ avg: "avg";
223
+ }>>>;
224
+ }, z.core.$strip>>>;
225
+ }, z.core.$strip>;
226
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
227
+ dataPolicy: z.ZodOptional<z.ZodObject<{
228
+ disabled: z.ZodOptional<z.ZodBoolean>;
229
+ maxRows: z.ZodOptional<z.ZodNumber>;
230
+ reason: z.ZodOptional<z.ZodString>;
231
+ }, z.core.$strip>>;
232
+ }, z.core.$strip>, z.ZodObject<{
233
+ chartType: z.ZodLiteral<"bubble-chart">;
234
+ settings: z.ZodObject<{
235
+ x: z.ZodOptional<z.ZodString>;
236
+ y: z.ZodOptional<z.ZodString>;
237
+ size: z.ZodOptional<z.ZodString>;
238
+ }, z.core.$strip>;
239
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
240
+ dataPolicy: z.ZodOptional<z.ZodObject<{
241
+ disabled: z.ZodOptional<z.ZodBoolean>;
242
+ maxRows: z.ZodOptional<z.ZodNumber>;
243
+ reason: z.ZodOptional<z.ZodString>;
244
+ }, z.core.$strip>>;
245
+ }, z.core.$strip>, z.ZodObject<{
246
+ chartType: z.ZodLiteral<"heatmap">;
247
+ settings: z.ZodObject<{
248
+ x: z.ZodOptional<z.ZodString>;
249
+ y: z.ZodOptional<z.ZodString>;
250
+ }, z.core.$strip>;
251
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
252
+ dataPolicy: z.ZodOptional<z.ZodObject<{
253
+ disabled: z.ZodOptional<z.ZodBoolean>;
254
+ maxRows: z.ZodOptional<z.ZodNumber>;
255
+ reason: z.ZodOptional<z.ZodString>;
256
+ }, z.core.$strip>>;
257
+ }, z.core.$strip>, z.ZodObject<{
258
+ chartType: z.ZodLiteral<"box-plot">;
259
+ settings: z.ZodObject<{
260
+ x: z.ZodString;
261
+ y: z.ZodString;
262
+ }, z.core.$strip>;
263
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
264
+ dataPolicy: z.ZodOptional<z.ZodObject<{
265
+ disabled: z.ZodOptional<z.ZodBoolean>;
266
+ maxRows: z.ZodOptional<z.ZodNumber>;
267
+ reason: z.ZodOptional<z.ZodString>;
268
+ }, z.core.$strip>>;
269
+ }, z.core.$strip>, z.ZodObject<{
270
+ chartType: z.ZodLiteral<"custom-spec">;
271
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
272
+ settings: z.ZodObject<{
273
+ vgPlotSpec: z.ZodOptional<z.ZodUnknown>;
274
+ }, z.core.$strip>;
275
+ dataPolicy: z.ZodOptional<z.ZodObject<{
276
+ disabled: z.ZodOptional<z.ZodBoolean>;
277
+ maxRows: z.ZodOptional<z.ZodNumber>;
278
+ reason: z.ZodOptional<z.ZodString>;
279
+ }, z.core.$strip>>;
280
+ }, z.core.$strip>], "chartType">, z.ZodObject<{
281
+ chartType: z.ZodString;
282
+ settings: z.ZodRecord<z.ZodString, z.ZodUnknown>;
283
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
284
+ dataPolicy: z.ZodOptional<z.ZodObject<{
285
+ disabled: z.ZodOptional<z.ZodBoolean>;
286
+ maxRows: z.ZodOptional<z.ZodNumber>;
287
+ reason: z.ZodOptional<z.ZodString>;
288
+ }, z.core.$strip>>;
289
+ }, z.core.$strip>]>;
290
+ }, z.core.$strip>, z.ZodObject<{
291
+ id: z.ZodString;
292
+ type: z.ZodLiteral<"profiler">;
293
+ title: z.ZodDefault<z.ZodString>;
294
+ source: z.ZodOptional<z.ZodObject<{
295
+ tableName: z.ZodOptional<z.ZodString>;
296
+ sqlQuery: z.ZodOptional<z.ZodString>;
297
+ }, z.core.$strip>>;
298
+ config: z.ZodObject<{
299
+ pageSize: z.ZodOptional<z.ZodNumber>;
300
+ }, z.core.$strip>;
301
+ }, z.core.$strip>, z.ZodObject<{
302
+ id: z.ZodString;
303
+ type: z.ZodLiteral<"text">;
304
+ title: z.ZodDefault<z.ZodString>;
305
+ source: z.ZodOptional<z.ZodObject<{
306
+ tableName: z.ZodOptional<z.ZodString>;
307
+ sqlQuery: z.ZodOptional<z.ZodString>;
308
+ }, z.core.$strip>>;
309
+ config: z.ZodObject<{
310
+ content: z.ZodDefault<z.ZodString>;
311
+ toolbarOpen: z.ZodDefault<z.ZodBoolean>;
312
+ sourcePanelOpen: z.ZodDefault<z.ZodBoolean>;
313
+ }, z.core.$strip>;
314
+ }, z.core.$strip>], "type">, z.ZodObject<{
315
+ id: z.ZodString;
316
+ type: z.ZodString;
317
+ title: z.ZodDefault<z.ZodString>;
318
+ source: z.ZodOptional<z.ZodObject<{
319
+ tableName: z.ZodOptional<z.ZodString>;
320
+ sqlQuery: z.ZodOptional<z.ZodString>;
321
+ }, z.core.$strip>>;
322
+ config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
323
+ }, z.core.$strip>]>;
324
+ export type MosaicDashboardPanelConfig = z.infer<typeof MosaicDashboardPanelConfig>;
325
+ export declare const MosaicDashboardEntry: z.ZodObject<{
326
+ id: z.ZodString;
327
+ title: z.ZodDefault<z.ZodString>;
328
+ layoutType: z.ZodDefault<z.ZodEnum<{
329
+ grid: "grid";
330
+ dock: "dock";
331
+ }>>;
332
+ selectedTable: z.ZodOptional<z.ZodString>;
333
+ panels: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
334
+ id: z.ZodString;
335
+ type: z.ZodLiteral<"vgplot">;
336
+ title: z.ZodDefault<z.ZodString>;
337
+ source: z.ZodOptional<z.ZodObject<{
338
+ tableName: z.ZodOptional<z.ZodString>;
339
+ sqlQuery: z.ZodOptional<z.ZodString>;
340
+ }, z.core.$strip>>;
341
+ config: z.ZodUnion<[z.ZodDiscriminatedUnion<readonly [z.ZodObject<{
342
+ chartType: z.ZodLiteral<"histogram">;
343
+ settings: z.ZodObject<{
344
+ field: z.ZodOptional<z.ZodString>;
345
+ maxBins: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
346
+ }, z.core.$strip>;
347
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
348
+ dataPolicy: z.ZodOptional<z.ZodObject<{
349
+ disabled: z.ZodOptional<z.ZodBoolean>;
350
+ maxRows: z.ZodOptional<z.ZodNumber>;
351
+ reason: z.ZodOptional<z.ZodString>;
352
+ }, z.core.$strip>>;
353
+ }, z.core.$strip>, z.ZodObject<{
354
+ chartType: z.ZodLiteral<"count-plot">;
355
+ settings: z.ZodObject<{
356
+ field: z.ZodOptional<z.ZodString>;
357
+ }, z.core.$strip>;
358
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
359
+ dataPolicy: z.ZodOptional<z.ZodObject<{
360
+ disabled: z.ZodOptional<z.ZodBoolean>;
361
+ maxRows: z.ZodOptional<z.ZodNumber>;
362
+ reason: z.ZodOptional<z.ZodString>;
363
+ }, z.core.$strip>>;
364
+ }, z.core.$strip>, z.ZodObject<{
365
+ chartType: z.ZodLiteral<"line-chart">;
366
+ settings: z.ZodObject<{
367
+ x: z.ZodOptional<z.ZodString>;
368
+ xInterval: z.ZodOptional<z.ZodEnum<{
369
+ second: "second";
370
+ minute: "minute";
371
+ hour: "hour";
372
+ day: "day";
373
+ week: "week";
374
+ month: "month";
375
+ quarter: "quarter";
376
+ year: "year";
377
+ }>>;
378
+ yFields: z.ZodOptional<z.ZodArray<z.ZodObject<{
379
+ field: z.ZodString;
380
+ color: z.ZodOptional<z.ZodString>;
381
+ aggregate: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
382
+ sum: "sum";
383
+ max: "max";
384
+ min: "min";
385
+ avg: "avg";
386
+ }>>>;
387
+ }, z.core.$strip>>>;
388
+ }, z.core.$strip>;
389
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
390
+ dataPolicy: z.ZodOptional<z.ZodObject<{
391
+ disabled: z.ZodOptional<z.ZodBoolean>;
392
+ maxRows: z.ZodOptional<z.ZodNumber>;
393
+ reason: z.ZodOptional<z.ZodString>;
394
+ }, z.core.$strip>>;
395
+ }, z.core.$strip>, z.ZodObject<{
396
+ chartType: z.ZodLiteral<"bubble-chart">;
397
+ settings: z.ZodObject<{
398
+ x: z.ZodOptional<z.ZodString>;
399
+ y: z.ZodOptional<z.ZodString>;
400
+ size: z.ZodOptional<z.ZodString>;
401
+ }, z.core.$strip>;
402
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
403
+ dataPolicy: z.ZodOptional<z.ZodObject<{
404
+ disabled: z.ZodOptional<z.ZodBoolean>;
405
+ maxRows: z.ZodOptional<z.ZodNumber>;
406
+ reason: z.ZodOptional<z.ZodString>;
407
+ }, z.core.$strip>>;
408
+ }, z.core.$strip>, z.ZodObject<{
409
+ chartType: z.ZodLiteral<"heatmap">;
410
+ settings: z.ZodObject<{
411
+ x: z.ZodOptional<z.ZodString>;
412
+ y: z.ZodOptional<z.ZodString>;
413
+ }, z.core.$strip>;
414
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
415
+ dataPolicy: z.ZodOptional<z.ZodObject<{
416
+ disabled: z.ZodOptional<z.ZodBoolean>;
417
+ maxRows: z.ZodOptional<z.ZodNumber>;
418
+ reason: z.ZodOptional<z.ZodString>;
419
+ }, z.core.$strip>>;
420
+ }, z.core.$strip>, z.ZodObject<{
421
+ chartType: z.ZodLiteral<"box-plot">;
422
+ settings: z.ZodObject<{
423
+ x: z.ZodString;
424
+ y: z.ZodString;
425
+ }, z.core.$strip>;
426
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
427
+ dataPolicy: z.ZodOptional<z.ZodObject<{
428
+ disabled: z.ZodOptional<z.ZodBoolean>;
429
+ maxRows: z.ZodOptional<z.ZodNumber>;
430
+ reason: z.ZodOptional<z.ZodString>;
431
+ }, z.core.$strip>>;
432
+ }, z.core.$strip>, z.ZodObject<{
433
+ chartType: z.ZodLiteral<"custom-spec">;
434
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
435
+ settings: z.ZodObject<{
436
+ vgPlotSpec: z.ZodOptional<z.ZodUnknown>;
437
+ }, z.core.$strip>;
438
+ dataPolicy: z.ZodOptional<z.ZodObject<{
439
+ disabled: z.ZodOptional<z.ZodBoolean>;
440
+ maxRows: z.ZodOptional<z.ZodNumber>;
441
+ reason: z.ZodOptional<z.ZodString>;
442
+ }, z.core.$strip>>;
443
+ }, z.core.$strip>], "chartType">, z.ZodObject<{
444
+ chartType: z.ZodString;
445
+ settings: z.ZodRecord<z.ZodString, z.ZodUnknown>;
446
+ settingsOpen: z.ZodOptional<z.ZodBoolean>;
447
+ dataPolicy: z.ZodOptional<z.ZodObject<{
448
+ disabled: z.ZodOptional<z.ZodBoolean>;
449
+ maxRows: z.ZodOptional<z.ZodNumber>;
450
+ reason: z.ZodOptional<z.ZodString>;
451
+ }, z.core.$strip>>;
452
+ }, z.core.$strip>]>;
453
+ }, z.core.$strip>, z.ZodObject<{
454
+ id: z.ZodString;
455
+ type: z.ZodLiteral<"profiler">;
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.ZodObject<{
462
+ pageSize: z.ZodOptional<z.ZodNumber>;
463
+ }, z.core.$strip>;
464
+ }, z.core.$strip>, z.ZodObject<{
465
+ id: z.ZodString;
466
+ type: z.ZodLiteral<"text">;
467
+ title: z.ZodDefault<z.ZodString>;
468
+ source: z.ZodOptional<z.ZodObject<{
469
+ tableName: z.ZodOptional<z.ZodString>;
470
+ sqlQuery: z.ZodOptional<z.ZodString>;
471
+ }, z.core.$strip>>;
472
+ config: z.ZodObject<{
473
+ content: z.ZodDefault<z.ZodString>;
474
+ toolbarOpen: z.ZodDefault<z.ZodBoolean>;
475
+ sourcePanelOpen: z.ZodDefault<z.ZodBoolean>;
476
+ }, z.core.$strip>;
477
+ }, z.core.$strip>], "type">, z.ZodObject<{
478
+ id: z.ZodString;
479
+ type: z.ZodString;
480
+ title: z.ZodDefault<z.ZodString>;
481
+ source: z.ZodOptional<z.ZodObject<{
482
+ tableName: z.ZodOptional<z.ZodString>;
483
+ sqlQuery: z.ZodOptional<z.ZodString>;
484
+ }, z.core.$strip>>;
485
+ config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
486
+ }, z.core.$strip>]>>>;
487
+ layout: z.ZodDefault<z.ZodNullable<z.ZodType<LayoutNodeSchema, unknown, z.core.$ZodTypeInternals<LayoutNodeSchema, unknown>>>>;
488
+ updatedAt: z.ZodDefault<z.ZodNumber>;
489
+ }, z.core.$strip>;
490
+ export type MosaicDashboardEntry = z.infer<typeof MosaicDashboardEntry>;
491
+ //# sourceMappingURL=dashboard-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-types.d.ts","sourceRoot":"","sources":["../../src/dashboard/dashboard-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAC,UAAU,IAAI,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAStB,eAAO,MAAM,iCAAiC,WAAW,CAAC;AAC1D,eAAO,MAAM,oCAAoC,aAAa,CAAC;AAC/D,eAAO,MAAM,gCAAgC,SAAS,CAAC;AAGvD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,aAAa;;;;;;;;;;;iBAMxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,eAAO,MAAM,SAAS;;;;;;;;;;;;;iBAMpB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAGlD,eAAO,MAAM,iBAAiB;;;;;;;;;iBAM5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAGlE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAEf,CAAC;AACzB,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Core dashboard types - separated to avoid circular dependencies.
3
+ */
4
+ import { LayoutNode as LayoutNodeSchema } from '@sqlrooms/layout-config';
5
+ import { z } from 'zod';
6
+ import { ChartConfig } from '../chart-types/chart-config';
7
+ import { ProfilerPanelConfig, TextPanelConfig, MosaicDashboardLayoutType, MosaicDashboardPanelSource, } from './core-types';
8
+ export const MOSAIC_DASHBOARD_CHART_PANEL_TYPE = 'vgplot';
9
+ export const MOSAIC_DASHBOARD_PROFILER_PANEL_TYPE = 'profiler';
10
+ export const MOSAIC_DASHBOARD_TEXT_PANEL_TYPE = 'text';
11
+ // Panel configs discriminated by type
12
+ export const ChartPanelConfig = z.object({
13
+ id: z.string(),
14
+ type: z.literal(MOSAIC_DASHBOARD_CHART_PANEL_TYPE),
15
+ title: z.string().default('Panel'),
16
+ source: MosaicDashboardPanelSource.optional(),
17
+ config: ChartConfig,
18
+ });
19
+ export const ProfilerPanel = z.object({
20
+ id: z.string(),
21
+ type: z.literal(MOSAIC_DASHBOARD_PROFILER_PANEL_TYPE),
22
+ title: z.string().default('Panel'),
23
+ source: MosaicDashboardPanelSource.optional(),
24
+ config: ProfilerPanelConfig,
25
+ });
26
+ export const TextPanel = z.object({
27
+ id: z.string(),
28
+ type: z.literal(MOSAIC_DASHBOARD_TEXT_PANEL_TYPE),
29
+ title: z.string().default('Text'),
30
+ source: MosaicDashboardPanelSource.optional(),
31
+ config: TextPanelConfig,
32
+ });
33
+ // Legacy panel for backward compatibility
34
+ export const LegacyPanelConfig = z.object({
35
+ id: z.string(),
36
+ type: z.string(),
37
+ title: z.string().default('Panel'),
38
+ source: MosaicDashboardPanelSource.optional(),
39
+ config: z.record(z.string(), z.unknown()).default({}),
40
+ });
41
+ // Discriminated union of all panel types
42
+ export const MosaicDashboardPanelConfig = z
43
+ .discriminatedUnion('type', [ChartPanelConfig, ProfilerPanel, TextPanel])
44
+ .or(LegacyPanelConfig);
45
+ export const MosaicDashboardEntry = z.object({
46
+ id: z.string(),
47
+ title: z.string().default('Dashboard'),
48
+ layoutType: MosaicDashboardLayoutType.default('dock'),
49
+ selectedTable: z.string().optional(),
50
+ panels: z.array(MosaicDashboardPanelConfig).default([]),
51
+ layout: LayoutNodeSchema.nullable().default(null),
52
+ updatedAt: z.number().default(0),
53
+ });
54
+ //# sourceMappingURL=dashboard-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-types.js","sourceRoot":"","sources":["../../src/dashboard/dashboard-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAC,UAAU,IAAI,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AAEtB,MAAM,CAAC,MAAM,iCAAiC,GAAG,QAAQ,CAAC;AAC1D,MAAM,CAAC,MAAM,oCAAoC,GAAG,UAAU,CAAC;AAC/D,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC;AAEvD,sCAAsC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iCAAiC,CAAC;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IAClC,MAAM,EAAE,0BAA0B,CAAC,QAAQ,EAAE;IAC7C,MAAM,EAAE,WAAW;CACpB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,oCAAoC,CAAC;IACrD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IAClC,MAAM,EAAE,0BAA0B,CAAC,QAAQ,EAAE;IAC7C,MAAM,EAAE,mBAAmB;CAC5B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IACjC,MAAM,EAAE,0BAA0B,CAAC,QAAQ,EAAE;IAC7C,MAAM,EAAE,eAAe;CACxB,CAAC,CAAC;AAGH,0CAA0C;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IAClC,MAAM,EAAE,0BAA0B,CAAC,QAAQ,EAAE;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACtD,CAAC,CAAC;AAGH,yCAAyC;AACzC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,kBAAkB,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;KACxE,EAAE,CAAC,iBAAiB,CAAC,CAAC;AAKzB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IACtC,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC;IACrD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACvD,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACjC,CAAC,CAAC","sourcesContent":["/**\n * Core dashboard types - separated to avoid circular dependencies.\n */\n\nimport {LayoutNode as LayoutNodeSchema} from '@sqlrooms/layout-config';\nimport {z} from 'zod';\nimport {ChartConfig} from '../chart-types/chart-config';\nimport {\n ProfilerPanelConfig,\n TextPanelConfig,\n MosaicDashboardLayoutType,\n MosaicDashboardPanelSource,\n} from './core-types';\n\nexport const MOSAIC_DASHBOARD_CHART_PANEL_TYPE = 'vgplot';\nexport const MOSAIC_DASHBOARD_PROFILER_PANEL_TYPE = 'profiler';\nexport const MOSAIC_DASHBOARD_TEXT_PANEL_TYPE = 'text';\n\n// Panel configs discriminated by type\nexport const ChartPanelConfig = z.object({\n id: z.string(),\n type: z.literal(MOSAIC_DASHBOARD_CHART_PANEL_TYPE),\n title: z.string().default('Panel'),\n source: MosaicDashboardPanelSource.optional(),\n config: ChartConfig,\n});\nexport type ChartPanelConfig = z.infer<typeof ChartPanelConfig>;\n\nexport const ProfilerPanel = z.object({\n id: z.string(),\n type: z.literal(MOSAIC_DASHBOARD_PROFILER_PANEL_TYPE),\n title: z.string().default('Panel'),\n source: MosaicDashboardPanelSource.optional(),\n config: ProfilerPanelConfig,\n});\nexport type ProfilerPanel = z.infer<typeof ProfilerPanel>;\n\nexport const TextPanel = z.object({\n id: z.string(),\n type: z.literal(MOSAIC_DASHBOARD_TEXT_PANEL_TYPE),\n title: z.string().default('Text'),\n source: MosaicDashboardPanelSource.optional(),\n config: TextPanelConfig,\n});\nexport type TextPanel = z.infer<typeof TextPanel>;\n\n// Legacy panel for backward compatibility\nexport const LegacyPanelConfig = z.object({\n id: z.string(),\n type: z.string(),\n title: z.string().default('Panel'),\n source: MosaicDashboardPanelSource.optional(),\n config: z.record(z.string(), z.unknown()).default({}),\n});\nexport type LegacyPanelConfig = z.infer<typeof LegacyPanelConfig>;\n\n// Discriminated union of all panel types\nexport const MosaicDashboardPanelConfig = z\n .discriminatedUnion('type', [ChartPanelConfig, ProfilerPanel, TextPanel])\n .or(LegacyPanelConfig);\nexport type MosaicDashboardPanelConfig = z.infer<\n typeof MosaicDashboardPanelConfig\n>;\n\nexport const MosaicDashboardEntry = z.object({\n id: z.string(),\n title: z.string().default('Dashboard'),\n layoutType: MosaicDashboardLayoutType.default('dock'),\n selectedTable: z.string().optional(),\n panels: z.array(MosaicDashboardPanelConfig).default([]),\n layout: LayoutNodeSchema.nullable().default(null),\n updatedAt: z.number().default(0),\n});\nexport type MosaicDashboardEntry = z.infer<typeof MosaicDashboardEntry>;\n"]}