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

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 (962) hide show
  1. package/README.md +48 -19
  2. package/dist/MosaicChart.d.ts +6 -6
  3. package/dist/MosaicChart.d.ts.map +1 -1
  4. package/dist/MosaicChart.js +6 -6
  5. package/dist/MosaicChart.js.map +1 -1
  6. package/dist/MosaicChartBuilder.d.ts +1 -1
  7. package/dist/MosaicChartBuilder.d.ts.map +1 -1
  8. package/dist/MosaicChartBuilder.js +1 -1
  9. package/dist/MosaicChartBuilder.js.map +1 -1
  10. package/dist/MosaicColorLegend.d.ts.map +1 -1
  11. package/dist/MosaicColorLegend.js +0 -1
  12. package/dist/MosaicColorLegend.js.map +1 -1
  13. package/dist/VgPlotChart.d.ts.map +1 -1
  14. package/dist/VgPlotChart.js +6 -3
  15. package/dist/VgPlotChart.js.map +1 -1
  16. package/dist/ai/ai.d.ts +103 -0
  17. package/dist/ai/ai.d.ts.map +1 -0
  18. package/dist/ai/ai.js +419 -0
  19. package/dist/ai/ai.js.map +1 -0
  20. package/dist/ai/data-table-explorer-tool.d.ts +40 -0
  21. package/dist/ai/data-table-explorer-tool.d.ts.map +1 -0
  22. package/dist/ai/data-table-explorer-tool.js +75 -0
  23. package/dist/ai/data-table-explorer-tool.js.map +1 -0
  24. package/dist/ai/list-panels-tool.d.ts +35 -0
  25. package/dist/ai/list-panels-tool.d.ts.map +1 -0
  26. package/dist/ai/list-panels-tool.js.map +1 -0
  27. package/dist/ai/remove-panel-tool.d.ts +31 -0
  28. package/dist/ai/remove-panel-tool.d.ts.map +1 -0
  29. package/dist/ai/remove-panel-tool.js.map +1 -0
  30. package/dist/ai/tool-helpers.d.ts +34 -0
  31. package/dist/ai/tool-helpers.d.ts.map +1 -0
  32. package/dist/ai/tool-helpers.js +93 -0
  33. package/dist/ai/tool-helpers.js.map +1 -0
  34. package/dist/ai/tool-schemas.d.ts.map +1 -0
  35. package/dist/ai/tool-schemas.js.map +1 -0
  36. package/dist/ai/tool-types.d.ts +26 -0
  37. package/dist/ai/tool-types.d.ts.map +1 -0
  38. package/dist/ai/tool-types.js.map +1 -0
  39. package/dist/ai/tool-validation.d.ts +3 -0
  40. package/dist/ai/tool-validation.d.ts.map +1 -0
  41. package/dist/ai/tool-validation.js.map +1 -0
  42. package/dist/ai.d.ts +2 -99
  43. package/dist/ai.d.ts.map +1 -1
  44. package/dist/ai.js +2 -441
  45. package/dist/ai.js.map +1 -1
  46. package/dist/chart-builders/ChartBuilderActions.js.map +1 -1
  47. package/dist/chart-builders/ChartBuilderContent.d.ts +2 -2
  48. package/dist/chart-builders/ChartBuilderContent.d.ts.map +1 -1
  49. package/dist/chart-builders/ChartBuilderContent.js.map +1 -1
  50. package/dist/chart-builders/ChartBuilderContext.d.ts +2 -2
  51. package/dist/chart-builders/ChartBuilderContext.d.ts.map +1 -1
  52. package/dist/chart-builders/ChartBuilderContext.js.map +1 -1
  53. package/dist/chart-builders/ChartBuilderDialog.d.ts +2 -2
  54. package/dist/chart-builders/ChartBuilderDialog.d.ts.map +1 -1
  55. package/dist/chart-builders/ChartBuilderDialog.js.map +1 -1
  56. package/dist/chart-builders/ChartBuilderFields.js +2 -2
  57. package/dist/chart-builders/ChartBuilderFields.js.map +1 -1
  58. package/dist/chart-builders/ChartBuilderRoot.d.ts +2 -2
  59. package/dist/chart-builders/ChartBuilderRoot.d.ts.map +1 -1
  60. package/dist/chart-builders/ChartBuilderRoot.js.map +1 -1
  61. package/dist/chart-builders/chartSpecTitle.d.ts +1 -1
  62. package/dist/chart-builders/chartSpecTitle.d.ts.map +1 -1
  63. package/dist/chart-builders/chartSpecTitle.js.map +1 -1
  64. package/dist/chart-builders/chartTypeUtils.d.ts +1 -2
  65. package/dist/chart-builders/chartTypeUtils.d.ts.map +1 -1
  66. package/dist/chart-builders/chartTypeUtils.js +0 -1
  67. package/dist/chart-builders/chartTypeUtils.js.map +1 -1
  68. package/dist/chart-builders/createChartBuilderStore.d.ts +1 -1
  69. package/dist/chart-builders/createChartBuilderStore.d.ts.map +1 -1
  70. package/dist/chart-builders/createChartBuilderStore.js.map +1 -1
  71. package/dist/charts/MosaicChart.d.ts +12 -0
  72. package/dist/charts/MosaicChart.d.ts.map +1 -0
  73. package/dist/charts/MosaicChart.js +13 -0
  74. package/dist/charts/MosaicChart.js.map +1 -0
  75. package/dist/charts/MosaicChartError.d.ts +8 -0
  76. package/dist/charts/MosaicChartError.d.ts.map +1 -0
  77. package/dist/charts/MosaicChartError.js +5 -0
  78. package/dist/charts/MosaicChartError.js.map +1 -0
  79. package/dist/charts/MosaicChartRuntimeIssuePanel.d.ts +7 -0
  80. package/dist/charts/MosaicChartRuntimeIssuePanel.d.ts.map +1 -0
  81. package/dist/charts/MosaicChartRuntimeIssuePanel.js +10 -0
  82. package/dist/charts/MosaicChartRuntimeIssuePanel.js.map +1 -0
  83. package/dist/charts/MosaicChartSettingsPanel.d.ts +11 -0
  84. package/dist/charts/MosaicChartSettingsPanel.d.ts.map +1 -0
  85. package/dist/charts/MosaicChartSettingsPanel.js +21 -0
  86. package/dist/charts/MosaicChartSettingsPanel.js.map +1 -0
  87. package/dist/charts/MosaicChartView.d.ts +13 -0
  88. package/dist/charts/MosaicChartView.d.ts.map +1 -0
  89. package/dist/charts/MosaicChartView.js +56 -0
  90. package/dist/charts/MosaicChartView.js.map +1 -0
  91. package/dist/charts/addChartPanelAction.d.ts.map +1 -0
  92. package/dist/charts/addChartPanelAction.js.map +1 -0
  93. package/dist/charts/chart-settings/MosaicChartSettings.d.ts +43 -0
  94. package/dist/charts/chart-settings/MosaicChartSettings.d.ts.map +1 -0
  95. package/dist/charts/chart-settings/MosaicChartSettings.js +74 -0
  96. package/dist/charts/chart-settings/MosaicChartSettings.js.map +1 -0
  97. package/dist/charts/chart-settings/MosaicChartSettingsContent.d.ts +13 -0
  98. package/dist/charts/chart-settings/MosaicChartSettingsContent.d.ts.map +1 -0
  99. package/dist/charts/chart-settings/MosaicChartSettingsContent.js +18 -0
  100. package/dist/charts/chart-settings/MosaicChartSettingsContent.js.map +1 -0
  101. package/dist/charts/chart-settings/MosaicChartSettingsContext.d.ts +24 -0
  102. package/dist/charts/chart-settings/MosaicChartSettingsContext.d.ts.map +1 -0
  103. package/dist/charts/chart-settings/MosaicChartSettingsContext.js +34 -0
  104. package/dist/charts/chart-settings/MosaicChartSettingsContext.js.map +1 -0
  105. package/dist/charts/chart-settings/MosaicChartSettingsPanel.d.ts +14 -0
  106. package/dist/charts/chart-settings/MosaicChartSettingsPanel.d.ts.map +1 -0
  107. package/dist/charts/chart-settings/MosaicChartSettingsPanel.js +17 -0
  108. package/dist/charts/chart-settings/MosaicChartSettingsPanel.js.map +1 -0
  109. package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.d.ts +9 -0
  110. package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.d.ts.map +1 -0
  111. package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.js +11 -0
  112. package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.js.map +1 -0
  113. package/dist/charts/chart-settings/MosaicChartTypeSelector.d.ts +9 -0
  114. package/dist/charts/chart-settings/MosaicChartTypeSelector.d.ts.map +1 -0
  115. package/dist/charts/chart-settings/MosaicChartTypeSelector.js +16 -0
  116. package/dist/charts/chart-settings/MosaicChartTypeSelector.js.map +1 -0
  117. package/dist/charts/chart-types/base-types.d.ts +168 -0
  118. package/dist/charts/chart-types/base-types.d.ts.map +1 -0
  119. package/dist/charts/chart-types/base-types.js.map +1 -0
  120. package/dist/charts/chart-types/box-plot/BoxPlotSettings.d.ts.map +1 -0
  121. package/dist/charts/chart-types/box-plot/BoxPlotSettings.js +9 -0
  122. package/dist/charts/chart-types/box-plot/BoxPlotSettings.js.map +1 -0
  123. package/dist/charts/chart-types/box-plot/definition.d.ts.map +1 -0
  124. package/dist/charts/chart-types/box-plot/definition.js +24 -0
  125. package/dist/charts/chart-types/box-plot/definition.js.map +1 -0
  126. package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.d.ts +67 -0
  127. package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.d.ts.map +1 -0
  128. package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.js +286 -0
  129. package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.js.map +1 -0
  130. package/dist/charts/chart-types/box-plot/renderer/BoxPlotErrorBoundary.d.ts.map +1 -0
  131. package/dist/charts/chart-types/box-plot/renderer/BoxPlotErrorBoundary.js.map +1 -0
  132. package/dist/charts/chart-types/box-plot/renderer/BoxPlotPanelRenderer.d.ts.map +1 -0
  133. package/dist/charts/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js +118 -0
  134. package/dist/charts/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js.map +1 -0
  135. package/dist/charts/chart-types/box-plot/renderer/constants.d.ts +24 -0
  136. package/dist/charts/chart-types/box-plot/renderer/constants.d.ts.map +1 -0
  137. package/dist/charts/chart-types/box-plot/renderer/constants.js.map +1 -0
  138. package/dist/charts/chart-types/box-plot/renderer/plot.d.ts +14 -0
  139. package/dist/charts/chart-types/box-plot/renderer/plot.d.ts.map +1 -0
  140. package/dist/charts/chart-types/box-plot/renderer/plot.js.map +1 -0
  141. package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.d.ts +18 -0
  142. package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.d.ts.map +1 -0
  143. package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.js +63 -0
  144. package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.js.map +1 -0
  145. package/dist/charts/chart-types/box-plot/renderer/utils.d.ts +6 -0
  146. package/dist/charts/chart-types/box-plot/renderer/utils.d.ts.map +1 -0
  147. package/dist/charts/chart-types/box-plot/renderer/utils.js.map +1 -0
  148. package/dist/charts/chart-types/box-plot/schema.d.ts +21 -0
  149. package/dist/charts/chart-types/box-plot/schema.d.ts.map +1 -0
  150. package/dist/charts/chart-types/box-plot/schema.js +16 -0
  151. package/dist/charts/chart-types/box-plot/schema.js.map +1 -0
  152. package/dist/charts/chart-types/box-plot/tool.d.ts +40 -0
  153. package/dist/charts/chart-types/box-plot/tool.d.ts.map +1 -0
  154. package/dist/charts/chart-types/box-plot/tool.js +67 -0
  155. package/dist/charts/chart-types/box-plot/tool.js.map +1 -0
  156. package/dist/charts/chart-types/bubble-chart/BubbleChartSettings.d.ts.map +1 -0
  157. package/dist/charts/chart-types/bubble-chart/BubbleChartSettings.js +9 -0
  158. package/dist/charts/chart-types/bubble-chart/BubbleChartSettings.js.map +1 -0
  159. package/dist/charts/chart-types/bubble-chart/definition.d.ts.map +1 -0
  160. package/dist/charts/chart-types/bubble-chart/definition.js +24 -0
  161. package/dist/charts/chart-types/bubble-chart/definition.js.map +1 -0
  162. package/dist/charts/chart-types/bubble-chart/schema.d.ts.map +1 -0
  163. package/dist/charts/chart-types/bubble-chart/schema.js.map +1 -0
  164. package/dist/charts/chart-types/bubble-chart/spec.d.ts.map +1 -0
  165. package/dist/charts/chart-types/bubble-chart/spec.js +31 -0
  166. package/dist/charts/chart-types/bubble-chart/spec.js.map +1 -0
  167. package/dist/charts/chart-types/bubble-chart/tool.d.ts.map +1 -0
  168. package/dist/charts/chart-types/bubble-chart/tool.js +66 -0
  169. package/dist/charts/chart-types/bubble-chart/tool.js.map +1 -0
  170. package/dist/charts/chart-types/chart-config.d.ts +138 -0
  171. package/dist/charts/chart-types/chart-config.d.ts.map +1 -0
  172. package/dist/charts/chart-types/chart-config.js +41 -0
  173. package/dist/charts/chart-types/chart-config.js.map +1 -0
  174. package/dist/charts/chart-types/count-plot/CountPlotSettings.d.ts.map +1 -0
  175. package/dist/charts/chart-types/count-plot/CountPlotSettings.js +9 -0
  176. package/dist/charts/chart-types/count-plot/CountPlotSettings.js.map +1 -0
  177. package/dist/charts/chart-types/count-plot/definition.d.ts.map +1 -0
  178. package/dist/charts/chart-types/count-plot/definition.js +19 -0
  179. package/dist/charts/chart-types/count-plot/definition.js.map +1 -0
  180. package/dist/charts/chart-types/count-plot/schema.d.ts.map +1 -0
  181. package/dist/charts/chart-types/count-plot/schema.js.map +1 -0
  182. package/dist/charts/chart-types/count-plot/spec.d.ts.map +1 -0
  183. package/dist/charts/chart-types/count-plot/spec.js +49 -0
  184. package/dist/charts/chart-types/count-plot/spec.js.map +1 -0
  185. package/dist/charts/chart-types/count-plot/tool.d.ts.map +1 -0
  186. package/dist/charts/chart-types/count-plot/tool.js +63 -0
  187. package/dist/charts/chart-types/count-plot/tool.js.map +1 -0
  188. package/dist/charts/chart-types/createChartTools.d.ts +17 -0
  189. package/dist/charts/chart-types/createChartTools.d.ts.map +1 -0
  190. package/dist/charts/chart-types/createChartTools.js +24 -0
  191. package/dist/charts/chart-types/createChartTools.js.map +1 -0
  192. package/dist/charts/chart-types/createDefaultChartTypes.d.ts +12 -0
  193. package/dist/charts/chart-types/createDefaultChartTypes.d.ts.map +1 -0
  194. package/dist/charts/chart-types/createDefaultChartTypes.js +30 -0
  195. package/dist/charts/chart-types/createDefaultChartTypes.js.map +1 -0
  196. package/dist/charts/chart-types/custom-spec/CustomSpecSettings.d.ts.map +1 -0
  197. package/dist/charts/chart-types/custom-spec/CustomSpecSettings.js +30 -0
  198. package/dist/charts/chart-types/custom-spec/CustomSpecSettings.js.map +1 -0
  199. package/dist/charts/chart-types/custom-spec/definition.d.ts.map +1 -0
  200. package/dist/charts/chart-types/custom-spec/definition.js +22 -0
  201. package/dist/charts/chart-types/custom-spec/definition.js.map +1 -0
  202. package/dist/charts/chart-types/custom-spec/schema.d.ts.map +1 -0
  203. package/dist/charts/chart-types/custom-spec/schema.js.map +1 -0
  204. package/dist/charts/chart-types/custom-spec/spec.d.ts.map +1 -0
  205. package/dist/charts/chart-types/custom-spec/spec.js.map +1 -0
  206. package/dist/charts/chart-types/data-policy-schema.d.ts.map +1 -0
  207. package/dist/charts/chart-types/data-policy-schema.js.map +1 -0
  208. package/dist/charts/chart-types/errors.d.ts +7 -0
  209. package/dist/charts/chart-types/errors.d.ts.map +1 -0
  210. package/dist/charts/chart-types/errors.js +10 -0
  211. package/dist/charts/chart-types/errors.js.map +1 -0
  212. package/dist/charts/chart-types/heatmap/HeatmapSettings.d.ts.map +1 -0
  213. package/dist/charts/chart-types/heatmap/HeatmapSettings.js +9 -0
  214. package/dist/charts/chart-types/heatmap/HeatmapSettings.js.map +1 -0
  215. package/dist/charts/chart-types/heatmap/definition.d.ts.map +1 -0
  216. package/dist/charts/chart-types/heatmap/definition.js +19 -0
  217. package/dist/charts/chart-types/heatmap/definition.js.map +1 -0
  218. package/dist/charts/chart-types/heatmap/schema.d.ts.map +1 -0
  219. package/dist/charts/chart-types/heatmap/schema.js.map +1 -0
  220. package/dist/charts/chart-types/heatmap/spec.d.ts.map +1 -0
  221. package/dist/charts/chart-types/heatmap/spec.js +32 -0
  222. package/dist/charts/chart-types/heatmap/spec.js.map +1 -0
  223. package/dist/charts/chart-types/heatmap/tool.d.ts.map +1 -0
  224. package/dist/charts/chart-types/heatmap/tool.js +67 -0
  225. package/dist/charts/chart-types/heatmap/tool.js.map +1 -0
  226. package/dist/charts/chart-types/histogram/HistogramSettings.d.ts.map +1 -0
  227. package/dist/charts/chart-types/histogram/HistogramSettings.js +11 -0
  228. package/dist/charts/chart-types/histogram/HistogramSettings.js.map +1 -0
  229. package/dist/charts/chart-types/histogram/definition.d.ts.map +1 -0
  230. package/dist/charts/chart-types/histogram/definition.js +19 -0
  231. package/dist/charts/chart-types/histogram/definition.js.map +1 -0
  232. package/dist/charts/chart-types/histogram/schema.d.ts.map +1 -0
  233. package/dist/charts/chart-types/histogram/schema.js.map +1 -0
  234. package/dist/charts/chart-types/histogram/spec.d.ts.map +1 -0
  235. package/dist/charts/chart-types/histogram/spec.js +37 -0
  236. package/dist/charts/chart-types/histogram/spec.js.map +1 -0
  237. package/dist/charts/chart-types/histogram/tool.d.ts.map +1 -0
  238. package/dist/charts/chart-types/histogram/tool.js +65 -0
  239. package/dist/charts/chart-types/histogram/tool.js.map +1 -0
  240. package/dist/charts/chart-types/index.d.ts +42 -0
  241. package/dist/charts/chart-types/index.d.ts.map +1 -0
  242. package/dist/charts/chart-types/index.js +53 -0
  243. package/dist/charts/chart-types/index.js.map +1 -0
  244. package/dist/charts/chart-types/line-chart/LineChartSettings.d.ts.map +1 -0
  245. package/dist/charts/chart-types/line-chart/LineChartSettings.js +24 -0
  246. package/dist/charts/chart-types/line-chart/LineChartSettings.js.map +1 -0
  247. package/dist/charts/chart-types/line-chart/definition.d.ts.map +1 -0
  248. package/dist/charts/chart-types/line-chart/definition.js +26 -0
  249. package/dist/charts/chart-types/line-chart/definition.js.map +1 -0
  250. package/dist/charts/chart-types/line-chart/schema.d.ts +70 -0
  251. package/dist/charts/chart-types/line-chart/schema.d.ts.map +1 -0
  252. package/dist/charts/chart-types/line-chart/schema.js +29 -0
  253. package/dist/charts/chart-types/line-chart/schema.js.map +1 -0
  254. package/dist/charts/chart-types/line-chart/spec.d.ts.map +1 -0
  255. package/dist/charts/chart-types/line-chart/spec.js +91 -0
  256. package/dist/charts/chart-types/line-chart/spec.js.map +1 -0
  257. package/dist/charts/chart-types/line-chart/tool.d.ts.map +1 -0
  258. package/dist/charts/chart-types/line-chart/tool.js +75 -0
  259. package/dist/charts/chart-types/line-chart/tool.js.map +1 -0
  260. package/dist/charts/chart-types/mosaicChartTypes.d.ts +101 -0
  261. package/dist/charts/chart-types/mosaicChartTypes.d.ts.map +1 -0
  262. package/dist/charts/chart-types/mosaicChartTypes.js +20 -0
  263. package/dist/charts/chart-types/mosaicChartTypes.js.map +1 -0
  264. package/dist/charts/dashboard/MosaicDashboardChartHeaderActions.d.ts +4 -0
  265. package/dist/charts/dashboard/MosaicDashboardChartHeaderActions.d.ts.map +1 -0
  266. package/dist/charts/dashboard/MosaicDashboardChartHeaderActions.js +16 -0
  267. package/dist/charts/dashboard/MosaicDashboardChartHeaderActions.js.map +1 -0
  268. package/dist/charts/dashboard/MosaicDashboardChartRenderer.d.ts +4 -0
  269. package/dist/charts/dashboard/MosaicDashboardChartRenderer.d.ts.map +1 -0
  270. package/dist/charts/dashboard/MosaicDashboardChartRenderer.js +23 -0
  271. package/dist/charts/dashboard/MosaicDashboardChartRenderer.js.map +1 -0
  272. package/dist/charts/useBrushSelectionParams.d.ts +3 -0
  273. package/dist/charts/useBrushSelectionParams.d.ts.map +1 -0
  274. package/dist/charts/useBrushSelectionParams.js +16 -0
  275. package/dist/charts/useBrushSelectionParams.js.map +1 -0
  276. package/dist/charts/useChartDataPolicy.d.ts +5 -0
  277. package/dist/charts/useChartDataPolicy.d.ts.map +1 -0
  278. package/dist/charts/useChartDataPolicy.js +17 -0
  279. package/dist/charts/useChartDataPolicy.js.map +1 -0
  280. package/dist/charts/useChartRetainer.d.ts +4 -0
  281. package/dist/charts/useChartRetainer.d.ts.map +1 -0
  282. package/dist/charts/useChartRetainer.js +18 -0
  283. package/dist/charts/useChartRetainer.js.map +1 -0
  284. package/dist/charts/useChartTypeDefinition.d.ts +3 -0
  285. package/dist/charts/useChartTypeDefinition.d.ts.map +1 -0
  286. package/dist/charts/useChartTypeDefinition.js.map +1 -0
  287. package/dist/charts/useMosaicChartRenderContext.d.ts +21 -0
  288. package/dist/charts/useMosaicChartRenderContext.d.ts.map +1 -0
  289. package/dist/charts/useMosaicChartRenderContext.js +63 -0
  290. package/dist/charts/useMosaicChartRenderContext.js.map +1 -0
  291. package/dist/charts/useParseChartConfig.d.ts +12 -0
  292. package/dist/charts/useParseChartConfig.d.ts.map +1 -0
  293. package/dist/charts/useParseChartConfig.js +28 -0
  294. package/dist/charts/useParseChartConfig.js.map +1 -0
  295. package/dist/charts/useRuntimeIssueReporter.d.ts +7 -0
  296. package/dist/charts/useRuntimeIssueReporter.d.ts.map +1 -0
  297. package/dist/charts/useRuntimeIssueReporter.js +19 -0
  298. package/dist/charts/useRuntimeIssueReporter.js.map +1 -0
  299. package/dist/charts/worksheet/ChartBlockHeader.d.ts +15 -0
  300. package/dist/charts/worksheet/ChartBlockHeader.d.ts.map +1 -0
  301. package/dist/charts/worksheet/ChartBlockHeader.js +9 -0
  302. package/dist/charts/worksheet/ChartBlockHeader.js.map +1 -0
  303. package/dist/charts/worksheet/ChartBlockRenderer.d.ts +4 -0
  304. package/dist/charts/worksheet/ChartBlockRenderer.d.ts.map +1 -0
  305. package/dist/charts/worksheet/ChartBlockRenderer.js +47 -0
  306. package/dist/charts/worksheet/ChartBlockRenderer.js.map +1 -0
  307. package/dist/charts/worksheet/ChartSelectorEmptyState.d.ts +15 -0
  308. package/dist/charts/worksheet/ChartSelectorEmptyState.d.ts.map +1 -0
  309. package/dist/charts/worksheet/ChartSelectorEmptyState.js +10 -0
  310. package/dist/charts/worksheet/ChartSelectorEmptyState.js.map +1 -0
  311. package/dist/column-types-utils.d.ts +12 -0
  312. package/dist/column-types-utils.d.ts.map +1 -0
  313. package/dist/column-types-utils.js +47 -0
  314. package/dist/column-types-utils.js.map +1 -0
  315. package/dist/components/AggregationSelector.d.ts +11 -0
  316. package/dist/components/AggregationSelector.d.ts.map +1 -0
  317. package/dist/components/AggregationSelector.js.map +1 -0
  318. package/dist/components/ColumnSelector.d.ts.map +1 -0
  319. package/dist/components/ColumnSelector.js +30 -0
  320. package/dist/components/ColumnSelector.js.map +1 -0
  321. package/dist/components/ColumnsContext.d.ts +11 -0
  322. package/dist/components/ColumnsContext.d.ts.map +1 -0
  323. package/dist/components/ColumnsContext.js +15 -0
  324. package/dist/components/ColumnsContext.js.map +1 -0
  325. package/dist/components/DataTableSelector.d.ts +22 -0
  326. package/dist/components/DataTableSelector.d.ts.map +1 -0
  327. package/dist/components/DataTableSelector.js +66 -0
  328. package/dist/components/DataTableSelector.js.map +1 -0
  329. package/dist/components/Field.d.ts.map +1 -0
  330. package/dist/components/Field.js.map +1 -0
  331. package/dist/components/FieldSelectorInput.d.ts +14 -0
  332. package/dist/components/FieldSelectorInput.d.ts.map +1 -0
  333. package/dist/components/FieldSelectorInput.js.map +1 -0
  334. package/dist/components/MultiFieldSelector.d.ts +14 -0
  335. package/dist/components/MultiFieldSelector.d.ts.map +1 -0
  336. package/dist/components/MultiFieldSelector.js +53 -0
  337. package/dist/components/MultiFieldSelector.js.map +1 -0
  338. package/dist/components/TableSelector.d.ts.map +1 -0
  339. package/dist/components/TableSelector.js +23 -0
  340. package/dist/components/TableSelector.js.map +1 -0
  341. package/dist/components/TemporalGranularitySelector.d.ts +10 -0
  342. package/dist/components/TemporalGranularitySelector.d.ts.map +1 -0
  343. package/dist/components/TemporalGranularitySelector.js +37 -0
  344. package/dist/components/TemporalGranularitySelector.js.map +1 -0
  345. package/dist/dashboard/DefaultMosaicDashboardBlock.d.ts +4 -0
  346. package/dist/dashboard/DefaultMosaicDashboardBlock.d.ts.map +1 -0
  347. package/dist/dashboard/DefaultMosaicDashboardBlock.js +6 -0
  348. package/dist/dashboard/DefaultMosaicDashboardBlock.js.map +1 -0
  349. package/dist/dashboard/MosaicDashboard.d.ts +2 -5
  350. package/dist/dashboard/MosaicDashboard.d.ts.map +1 -1
  351. package/dist/dashboard/MosaicDashboard.js +4 -6
  352. package/dist/dashboard/MosaicDashboard.js.map +1 -1
  353. package/dist/dashboard/MosaicDashboardContext.d.ts +0 -2
  354. package/dist/dashboard/MosaicDashboardContext.d.ts.map +1 -1
  355. package/dist/dashboard/MosaicDashboardContext.js.map +1 -1
  356. package/dist/dashboard/MosaicDashboardSlice.d.ts +30 -75
  357. package/dist/dashboard/MosaicDashboardSlice.d.ts.map +1 -1
  358. package/dist/dashboard/MosaicDashboardSlice.js +47 -52
  359. package/dist/dashboard/MosaicDashboardSlice.js.map +1 -1
  360. package/dist/dashboard/action-types.d.ts +1 -1
  361. package/dist/dashboard/action-types.d.ts.map +1 -1
  362. package/dist/dashboard/action-types.js.map +1 -1
  363. package/dist/dashboard/core-types.d.ts +2 -8
  364. package/dist/dashboard/core-types.d.ts.map +1 -1
  365. package/dist/dashboard/core-types.js +2 -8
  366. package/dist/dashboard/core-types.js.map +1 -1
  367. package/dist/dashboard/createDefaultMosaicDashboardPanelRenderers.d.ts +3 -0
  368. package/dist/dashboard/createDefaultMosaicDashboardPanelRenderers.d.ts.map +1 -0
  369. package/dist/dashboard/createDefaultMosaicDashboardPanelRenderers.js +11 -0
  370. package/dist/dashboard/createDefaultMosaicDashboardPanelRenderers.js.map +1 -0
  371. package/dist/dashboard/createMosaicDashboardBlockDefinition.d.ts +12 -0
  372. package/dist/dashboard/createMosaicDashboardBlockDefinition.d.ts.map +1 -0
  373. package/dist/dashboard/createMosaicDashboardBlockDefinition.js +32 -0
  374. package/dist/dashboard/createMosaicDashboardBlockDefinition.js.map +1 -0
  375. package/dist/dashboard/dashboard-types.d.ts +12 -54
  376. package/dist/dashboard/dashboard-types.d.ts.map +1 -1
  377. package/dist/dashboard/dashboard-types.js +7 -15
  378. package/dist/dashboard/dashboard-types.js.map +1 -1
  379. package/dist/dashboard/defaultPanelActions.d.ts.map +1 -1
  380. package/dist/dashboard/defaultPanelActions.js +3 -5
  381. package/dist/dashboard/defaultPanelActions.js.map +1 -1
  382. package/dist/dashboard/panel/MosaicDashboardPanel.d.ts.map +1 -0
  383. package/dist/dashboard/panel/MosaicDashboardPanel.js +23 -0
  384. package/dist/dashboard/panel/MosaicDashboardPanel.js.map +1 -0
  385. package/dist/dashboard/panel/MosaicDashboardPanelDragOverlay.d.ts.map +1 -0
  386. package/dist/dashboard/panel/MosaicDashboardPanelDragOverlay.js +17 -0
  387. package/dist/dashboard/panel/MosaicDashboardPanelDragOverlay.js.map +1 -0
  388. package/dist/dashboard/panel/MosaicDashboardPanelErrorBoundary.d.ts +17 -0
  389. package/dist/dashboard/panel/MosaicDashboardPanelErrorBoundary.d.ts.map +1 -0
  390. package/dist/dashboard/panel/MosaicDashboardPanelErrorBoundary.js +21 -0
  391. package/dist/dashboard/panel/MosaicDashboardPanelErrorBoundary.js.map +1 -0
  392. package/dist/dashboard/panel/MosaicDashboardPanelHeader.d.ts +13 -0
  393. package/dist/dashboard/panel/MosaicDashboardPanelHeader.d.ts.map +1 -0
  394. package/dist/dashboard/panel/MosaicDashboardPanelHeader.js +30 -0
  395. package/dist/dashboard/panel/MosaicDashboardPanelHeader.js.map +1 -0
  396. package/dist/dashboard/panel/MosaicDashboardPanelLayout.d.ts.map +1 -0
  397. package/dist/dashboard/panel/MosaicDashboardPanelLayout.js.map +1 -0
  398. package/dist/dashboard/panel/MosaicDashboardPanels.d.ts.map +1 -0
  399. package/dist/dashboard/panel/MosaicDashboardPanels.js +63 -0
  400. package/dist/dashboard/panel/MosaicDashboardPanels.js.map +1 -0
  401. package/dist/dashboard/toolbar/MosaicDashboardAddPanelDropdown.js +1 -1
  402. package/dist/dashboard/toolbar/MosaicDashboardAddPanelDropdown.js.map +1 -1
  403. package/dist/dashboard/toolbar/MosaicDashboardToolbar.d.ts.map +1 -1
  404. package/dist/dashboard/toolbar/MosaicDashboardToolbar.js +13 -4
  405. package/dist/dashboard/toolbar/MosaicDashboardToolbar.js.map +1 -1
  406. package/dist/dashboard/useMosaicDashboardAddPanelActionContext.js +1 -1
  407. package/dist/dashboard/useMosaicDashboardAddPanelActionContext.js.map +1 -1
  408. package/dist/dashboard/useSelectedOrFirstTable.js +1 -1
  409. package/dist/dashboard/useSelectedOrFirstTable.js.map +1 -1
  410. package/dist/data-table-explorer/DataTableExplorer.d.ts +37 -0
  411. package/dist/data-table-explorer/DataTableExplorer.d.ts.map +1 -0
  412. package/dist/data-table-explorer/DataTableExplorer.js +67 -0
  413. package/dist/data-table-explorer/DataTableExplorer.js.map +1 -0
  414. package/dist/data-table-explorer/DataTableExplorerCategoryClient.d.ts +50 -0
  415. package/dist/data-table-explorer/DataTableExplorerCategoryClient.d.ts.map +1 -0
  416. package/dist/data-table-explorer/DataTableExplorerCategoryClient.js +121 -0
  417. package/dist/data-table-explorer/DataTableExplorerCategoryClient.js.map +1 -0
  418. package/dist/data-table-explorer/DataTableExplorerCountClient.d.ts +28 -0
  419. package/dist/data-table-explorer/DataTableExplorerCountClient.d.ts.map +1 -0
  420. package/dist/data-table-explorer/DataTableExplorerCountClient.js +51 -0
  421. package/dist/data-table-explorer/DataTableExplorerCountClient.js.map +1 -0
  422. package/dist/data-table-explorer/DataTableExplorerHeader.d.ts +7 -0
  423. package/dist/data-table-explorer/DataTableExplorerHeader.d.ts.map +1 -0
  424. package/dist/data-table-explorer/DataTableExplorerHeader.js +195 -0
  425. package/dist/data-table-explorer/DataTableExplorerHeader.js.map +1 -0
  426. package/dist/data-table-explorer/DataTableExplorerHistogramClient.d.ts +69 -0
  427. package/dist/data-table-explorer/DataTableExplorerHistogramClient.d.ts.map +1 -0
  428. package/dist/data-table-explorer/DataTableExplorerHistogramClient.js +179 -0
  429. package/dist/data-table-explorer/DataTableExplorerHistogramClient.js.map +1 -0
  430. package/dist/data-table-explorer/DataTableExplorerPageClient.d.ts +37 -0
  431. package/dist/data-table-explorer/DataTableExplorerPageClient.d.ts.map +1 -0
  432. package/dist/data-table-explorer/DataTableExplorerPageClient.js +65 -0
  433. package/dist/data-table-explorer/DataTableExplorerPageClient.js.map +1 -0
  434. package/dist/data-table-explorer/DataTableExplorerRows.d.ts +9 -0
  435. package/dist/data-table-explorer/DataTableExplorerRows.d.ts.map +1 -0
  436. package/dist/data-table-explorer/DataTableExplorerRows.js +65 -0
  437. package/dist/data-table-explorer/DataTableExplorerRows.js.map +1 -0
  438. package/dist/data-table-explorer/DataTableExplorerStatusBar.d.ts +9 -0
  439. package/dist/data-table-explorer/DataTableExplorerStatusBar.d.ts.map +1 -0
  440. package/dist/data-table-explorer/DataTableExplorerStatusBar.js +28 -0
  441. package/dist/data-table-explorer/DataTableExplorerStatusBar.js.map +1 -0
  442. package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.d.ts +24 -0
  443. package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.d.ts.map +1 -0
  444. package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.js +51 -0
  445. package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.js.map +1 -0
  446. package/dist/data-table-explorer/addDataTableExplorerPanelAction.d.ts +3 -0
  447. package/dist/data-table-explorer/addDataTableExplorerPanelAction.d.ts.map +1 -0
  448. package/dist/data-table-explorer/addDataTableExplorerPanelAction.js +9 -0
  449. package/dist/data-table-explorer/addDataTableExplorerPanelAction.js.map +1 -0
  450. package/dist/data-table-explorer/createDataTableExplorerStore.d.ts +46 -0
  451. package/dist/data-table-explorer/createDataTableExplorerStore.d.ts.map +1 -0
  452. package/dist/data-table-explorer/createDataTableExplorerStore.js +126 -0
  453. package/dist/data-table-explorer/createDataTableExplorerStore.js.map +1 -0
  454. package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.d.ts +4 -0
  455. package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.d.ts.map +1 -0
  456. package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.js +28 -0
  457. package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.js.map +1 -0
  458. package/dist/data-table-explorer/dataTableExplorerController.d.ts +64 -0
  459. package/dist/data-table-explorer/dataTableExplorerController.d.ts.map +1 -0
  460. package/dist/data-table-explorer/dataTableExplorerController.js +127 -0
  461. package/dist/data-table-explorer/dataTableExplorerController.js.map +1 -0
  462. package/dist/data-table-explorer/layout.d.ts +11 -0
  463. package/dist/data-table-explorer/layout.d.ts.map +1 -0
  464. package/dist/data-table-explorer/layout.js +23 -0
  465. package/dist/data-table-explorer/layout.js.map +1 -0
  466. package/dist/data-table-explorer/types.d.ts +87 -0
  467. package/dist/data-table-explorer/types.d.ts.map +1 -0
  468. package/dist/data-table-explorer/types.js.map +1 -0
  469. package/dist/data-table-explorer/useDataTableExplorer.d.ts +7 -0
  470. package/dist/data-table-explorer/useDataTableExplorer.d.ts.map +1 -0
  471. package/dist/data-table-explorer/useDataTableExplorer.js +358 -0
  472. package/dist/data-table-explorer/useDataTableExplorer.js.map +1 -0
  473. package/dist/data-table-explorer/utils.d.ts +61 -0
  474. package/dist/data-table-explorer/utils.d.ts.map +1 -0
  475. package/dist/data-table-explorer/utils.js +349 -0
  476. package/dist/data-table-explorer/utils.js.map +1 -0
  477. package/dist/data-table-explorer/worksheet/DataTableBlockHeader.d.ts +11 -0
  478. package/dist/data-table-explorer/worksheet/DataTableBlockHeader.d.ts.map +1 -0
  479. package/dist/data-table-explorer/worksheet/DataTableBlockHeader.js +7 -0
  480. package/dist/data-table-explorer/worksheet/DataTableBlockHeader.js.map +1 -0
  481. package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.d.ts +4 -0
  482. package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.d.ts.map +1 -0
  483. package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.js +35 -0
  484. package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.js.map +1 -0
  485. package/dist/editor/MosaicChartContainer.d.ts +4 -4
  486. package/dist/editor/MosaicChartContainer.js +4 -4
  487. package/dist/editor/MosaicChartContainer.js.map +1 -1
  488. package/dist/hooks/useDataTable.d.ts +3 -0
  489. package/dist/hooks/useDataTable.d.ts.map +1 -0
  490. package/dist/hooks/useDataTable.js +28 -0
  491. package/dist/hooks/useDataTable.js.map +1 -0
  492. package/dist/hooks/useTablesWithColumns.d.ts.map +1 -0
  493. package/dist/hooks/useTablesWithColumns.js +13 -0
  494. package/dist/hooks/useTablesWithColumns.js.map +1 -0
  495. package/dist/index.d.ts +42 -32
  496. package/dist/index.d.ts.map +1 -1
  497. package/dist/index.js +35 -25
  498. package/dist/index.js.map +1 -1
  499. package/dist/schemas/common.d.ts +20 -0
  500. package/dist/schemas/common.d.ts.map +1 -0
  501. package/dist/schemas/common.js +15 -0
  502. package/dist/schemas/common.js.map +1 -0
  503. package/dist/schemas/index.d.ts +2 -0
  504. package/dist/schemas/index.d.ts.map +1 -0
  505. package/dist/schemas/index.js +2 -0
  506. package/dist/schemas/index.js.map +1 -0
  507. package/dist/useVgPlotChartRender.d.ts.map +1 -1
  508. package/dist/useVgPlotChartRender.js +17 -7
  509. package/dist/useVgPlotChartRender.js.map +1 -1
  510. package/package.json +14 -13
  511. package/dist/boxplot/BoxPlotClient.d.ts +0 -65
  512. package/dist/boxplot/BoxPlotClient.d.ts.map +0 -1
  513. package/dist/boxplot/BoxPlotClient.js +0 -286
  514. package/dist/boxplot/BoxPlotClient.js.map +0 -1
  515. package/dist/chart/ChartRuntimeIssuePanel.d.ts +0 -7
  516. package/dist/chart/ChartRuntimeIssuePanel.d.ts.map +0 -1
  517. package/dist/chart/ChartRuntimeIssuePanel.js +0 -10
  518. package/dist/chart/ChartRuntimeIssuePanel.js.map +0 -1
  519. package/dist/chart/MosaicDashboardChart.d.ts +0 -14
  520. package/dist/chart/MosaicDashboardChart.d.ts.map +0 -1
  521. package/dist/chart/MosaicDashboardChart.js +0 -21
  522. package/dist/chart/MosaicDashboardChart.js.map +0 -1
  523. package/dist/chart/MosaicDashboardChartContent.d.ts +0 -16
  524. package/dist/chart/MosaicDashboardChartContent.d.ts.map +0 -1
  525. package/dist/chart/MosaicDashboardChartContent.js +0 -45
  526. package/dist/chart/MosaicDashboardChartContent.js.map +0 -1
  527. package/dist/chart/MosaicDashboardChartHeaderActions.d.ts +0 -4
  528. package/dist/chart/MosaicDashboardChartHeaderActions.d.ts.map +0 -1
  529. package/dist/chart/MosaicDashboardChartHeaderActions.js +0 -16
  530. package/dist/chart/MosaicDashboardChartHeaderActions.js.map +0 -1
  531. package/dist/chart/MosaicDashboardChartRenderer.d.ts +0 -4
  532. package/dist/chart/MosaicDashboardChartRenderer.d.ts.map +0 -1
  533. package/dist/chart/MosaicDashboardChartRenderer.js +0 -31
  534. package/dist/chart/MosaicDashboardChartRenderer.js.map +0 -1
  535. package/dist/chart/MosaicDashboardComponentChart.d.ts +0 -18
  536. package/dist/chart/MosaicDashboardComponentChart.d.ts.map +0 -1
  537. package/dist/chart/MosaicDashboardComponentChart.js +0 -14
  538. package/dist/chart/MosaicDashboardComponentChart.js.map +0 -1
  539. package/dist/chart/MosaicDashboardVgPlotChart.d.ts +0 -14
  540. package/dist/chart/MosaicDashboardVgPlotChart.d.ts.map +0 -1
  541. package/dist/chart/MosaicDashboardVgPlotChart.js +0 -10
  542. package/dist/chart/MosaicDashboardVgPlotChart.js.map +0 -1
  543. package/dist/chart/MosaicDashboardVgPlotError.d.ts +0 -8
  544. package/dist/chart/MosaicDashboardVgPlotError.d.ts.map +0 -1
  545. package/dist/chart/MosaicDashboardVgPlotError.js +0 -11
  546. package/dist/chart/MosaicDashboardVgPlotError.js.map +0 -1
  547. package/dist/chart/addChartPanelAction.d.ts.map +0 -1
  548. package/dist/chart/addChartPanelAction.js.map +0 -1
  549. package/dist/chart/chart-settings/ChartSettings.d.ts +0 -44
  550. package/dist/chart/chart-settings/ChartSettings.d.ts.map +0 -1
  551. package/dist/chart/chart-settings/ChartSettings.js +0 -74
  552. package/dist/chart/chart-settings/ChartSettings.js.map +0 -1
  553. package/dist/chart/chart-settings/ChartSettingsContent.d.ts +0 -13
  554. package/dist/chart/chart-settings/ChartSettingsContent.d.ts.map +0 -1
  555. package/dist/chart/chart-settings/ChartSettingsContent.js +0 -18
  556. package/dist/chart/chart-settings/ChartSettingsContent.js.map +0 -1
  557. package/dist/chart/chart-settings/ChartSettingsContext.d.ts +0 -25
  558. package/dist/chart/chart-settings/ChartSettingsContext.d.ts.map +0 -1
  559. package/dist/chart/chart-settings/ChartSettingsContext.js +0 -34
  560. package/dist/chart/chart-settings/ChartSettingsContext.js.map +0 -1
  561. package/dist/chart/chart-settings/ChartSettingsPanel.d.ts +0 -14
  562. package/dist/chart/chart-settings/ChartSettingsPanel.d.ts.map +0 -1
  563. package/dist/chart/chart-settings/ChartSettingsPanel.js +0 -17
  564. package/dist/chart/chart-settings/ChartSettingsPanel.js.map +0 -1
  565. package/dist/chart/chart-settings/ChartSpecViewerPanel.d.ts +0 -9
  566. package/dist/chart/chart-settings/ChartSpecViewerPanel.d.ts.map +0 -1
  567. package/dist/chart/chart-settings/ChartSpecViewerPanel.js +0 -11
  568. package/dist/chart/chart-settings/ChartSpecViewerPanel.js.map +0 -1
  569. package/dist/chart/chart-settings/ChartTypeSelector.d.ts +0 -9
  570. package/dist/chart/chart-settings/ChartTypeSelector.d.ts.map +0 -1
  571. package/dist/chart/chart-settings/ChartTypeSelector.js +0 -16
  572. package/dist/chart/chart-settings/ChartTypeSelector.js.map +0 -1
  573. package/dist/chart/chart-settings/useTableColumns.d.ts +0 -3
  574. package/dist/chart/chart-settings/useTableColumns.d.ts.map +0 -1
  575. package/dist/chart/chart-settings/useTableColumns.js +0 -12
  576. package/dist/chart/chart-settings/useTableColumns.js.map +0 -1
  577. package/dist/chart/useBrushSelectionParams.d.ts +0 -3
  578. package/dist/chart/useBrushSelectionParams.d.ts.map +0 -1
  579. package/dist/chart/useBrushSelectionParams.js +0 -16
  580. package/dist/chart/useBrushSelectionParams.js.map +0 -1
  581. package/dist/chart/useChartRetainer.d.ts +0 -3
  582. package/dist/chart/useChartRetainer.d.ts.map +0 -1
  583. package/dist/chart/useChartRetainer.js +0 -11
  584. package/dist/chart/useChartRetainer.js.map +0 -1
  585. package/dist/chart/useGenerateSpec.d.ts +0 -13
  586. package/dist/chart/useGenerateSpec.d.ts.map +0 -1
  587. package/dist/chart/useGenerateSpec.js +0 -32
  588. package/dist/chart/useGenerateSpec.js.map +0 -1
  589. package/dist/chart-builders/AggregationSelector.d.ts +0 -11
  590. package/dist/chart-builders/AggregationSelector.d.ts.map +0 -1
  591. package/dist/chart-builders/AggregationSelector.js.map +0 -1
  592. package/dist/chart-builders/ColumnSelector.d.ts.map +0 -1
  593. package/dist/chart-builders/ColumnSelector.js +0 -30
  594. package/dist/chart-builders/ColumnSelector.js.map +0 -1
  595. package/dist/chart-builders/ColumnsContext.d.ts +0 -13
  596. package/dist/chart-builders/ColumnsContext.d.ts.map +0 -1
  597. package/dist/chart-builders/ColumnsContext.js +0 -15
  598. package/dist/chart-builders/ColumnsContext.js.map +0 -1
  599. package/dist/chart-builders/Field.d.ts.map +0 -1
  600. package/dist/chart-builders/Field.js.map +0 -1
  601. package/dist/chart-builders/FieldSelectorInput.d.ts +0 -14
  602. package/dist/chart-builders/FieldSelectorInput.d.ts.map +0 -1
  603. package/dist/chart-builders/FieldSelectorInput.js.map +0 -1
  604. package/dist/chart-builders/MultiFieldSelector.d.ts +0 -14
  605. package/dist/chart-builders/MultiFieldSelector.d.ts.map +0 -1
  606. package/dist/chart-builders/MultiFieldSelector.js +0 -53
  607. package/dist/chart-builders/MultiFieldSelector.js.map +0 -1
  608. package/dist/chart-builders/TableSelector.d.ts.map +0 -1
  609. package/dist/chart-builders/TableSelector.js +0 -23
  610. package/dist/chart-builders/TableSelector.js.map +0 -1
  611. package/dist/chart-builders/TemporalGranularitySelector.d.ts +0 -10
  612. package/dist/chart-builders/TemporalGranularitySelector.d.ts.map +0 -1
  613. package/dist/chart-builders/TemporalGranularitySelector.js +0 -37
  614. package/dist/chart-builders/TemporalGranularitySelector.js.map +0 -1
  615. package/dist/chart-builders/constants.d.ts +0 -12
  616. package/dist/chart-builders/constants.d.ts.map +0 -1
  617. package/dist/chart-builders/constants.js +0 -47
  618. package/dist/chart-builders/constants.js.map +0 -1
  619. package/dist/chart-types/base-types.d.ts +0 -168
  620. package/dist/chart-types/base-types.d.ts.map +0 -1
  621. package/dist/chart-types/base-types.js.map +0 -1
  622. package/dist/chart-types/box-plot/BoxPlotSettings.d.ts.map +0 -1
  623. package/dist/chart-types/box-plot/BoxPlotSettings.js +0 -9
  624. package/dist/chart-types/box-plot/BoxPlotSettings.js.map +0 -1
  625. package/dist/chart-types/box-plot/definition.d.ts.map +0 -1
  626. package/dist/chart-types/box-plot/definition.js +0 -24
  627. package/dist/chart-types/box-plot/definition.js.map +0 -1
  628. package/dist/chart-types/box-plot/renderer/BoxPlotErrorBoundary.d.ts.map +0 -1
  629. package/dist/chart-types/box-plot/renderer/BoxPlotErrorBoundary.js.map +0 -1
  630. package/dist/chart-types/box-plot/renderer/BoxPlotPanelRenderer.d.ts.map +0 -1
  631. package/dist/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js +0 -118
  632. package/dist/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js.map +0 -1
  633. package/dist/chart-types/box-plot/renderer/constants.d.ts +0 -24
  634. package/dist/chart-types/box-plot/renderer/constants.d.ts.map +0 -1
  635. package/dist/chart-types/box-plot/renderer/constants.js.map +0 -1
  636. package/dist/chart-types/box-plot/renderer/plot.d.ts +0 -14
  637. package/dist/chart-types/box-plot/renderer/plot.d.ts.map +0 -1
  638. package/dist/chart-types/box-plot/renderer/plot.js.map +0 -1
  639. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.d.ts +0 -18
  640. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.d.ts.map +0 -1
  641. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.js +0 -56
  642. package/dist/chart-types/box-plot/renderer/useBoxPlotClient.js.map +0 -1
  643. package/dist/chart-types/box-plot/renderer/utils.d.ts +0 -6
  644. package/dist/chart-types/box-plot/renderer/utils.d.ts.map +0 -1
  645. package/dist/chart-types/box-plot/renderer/utils.js.map +0 -1
  646. package/dist/chart-types/box-plot/schema.d.ts +0 -21
  647. package/dist/chart-types/box-plot/schema.d.ts.map +0 -1
  648. package/dist/chart-types/box-plot/schema.js +0 -13
  649. package/dist/chart-types/box-plot/schema.js.map +0 -1
  650. package/dist/chart-types/box-plot/tool.d.ts +0 -40
  651. package/dist/chart-types/box-plot/tool.d.ts.map +0 -1
  652. package/dist/chart-types/box-plot/tool.js +0 -67
  653. package/dist/chart-types/box-plot/tool.js.map +0 -1
  654. package/dist/chart-types/bubble-chart/BubbleChartSettings.d.ts.map +0 -1
  655. package/dist/chart-types/bubble-chart/BubbleChartSettings.js +0 -9
  656. package/dist/chart-types/bubble-chart/BubbleChartSettings.js.map +0 -1
  657. package/dist/chart-types/bubble-chart/definition.d.ts.map +0 -1
  658. package/dist/chart-types/bubble-chart/definition.js +0 -24
  659. package/dist/chart-types/bubble-chart/definition.js.map +0 -1
  660. package/dist/chart-types/bubble-chart/schema.d.ts.map +0 -1
  661. package/dist/chart-types/bubble-chart/schema.js.map +0 -1
  662. package/dist/chart-types/bubble-chart/spec.d.ts.map +0 -1
  663. package/dist/chart-types/bubble-chart/spec.js +0 -31
  664. package/dist/chart-types/bubble-chart/spec.js.map +0 -1
  665. package/dist/chart-types/bubble-chart/tool.d.ts.map +0 -1
  666. package/dist/chart-types/bubble-chart/tool.js +0 -66
  667. package/dist/chart-types/bubble-chart/tool.js.map +0 -1
  668. package/dist/chart-types/chart-config.d.ts +0 -138
  669. package/dist/chart-types/chart-config.d.ts.map +0 -1
  670. package/dist/chart-types/chart-config.js +0 -49
  671. package/dist/chart-types/chart-config.js.map +0 -1
  672. package/dist/chart-types/count-plot/CountPlotSettings.d.ts.map +0 -1
  673. package/dist/chart-types/count-plot/CountPlotSettings.js +0 -9
  674. package/dist/chart-types/count-plot/CountPlotSettings.js.map +0 -1
  675. package/dist/chart-types/count-plot/definition.d.ts.map +0 -1
  676. package/dist/chart-types/count-plot/definition.js +0 -19
  677. package/dist/chart-types/count-plot/definition.js.map +0 -1
  678. package/dist/chart-types/count-plot/schema.d.ts.map +0 -1
  679. package/dist/chart-types/count-plot/schema.js.map +0 -1
  680. package/dist/chart-types/count-plot/spec.d.ts.map +0 -1
  681. package/dist/chart-types/count-plot/spec.js +0 -49
  682. package/dist/chart-types/count-plot/spec.js.map +0 -1
  683. package/dist/chart-types/count-plot/tool.d.ts.map +0 -1
  684. package/dist/chart-types/count-plot/tool.js +0 -63
  685. package/dist/chart-types/count-plot/tool.js.map +0 -1
  686. package/dist/chart-types/custom-spec/CustomSpecSettings.d.ts.map +0 -1
  687. package/dist/chart-types/custom-spec/CustomSpecSettings.js +0 -30
  688. package/dist/chart-types/custom-spec/CustomSpecSettings.js.map +0 -1
  689. package/dist/chart-types/custom-spec/definition.d.ts.map +0 -1
  690. package/dist/chart-types/custom-spec/definition.js +0 -22
  691. package/dist/chart-types/custom-spec/definition.js.map +0 -1
  692. package/dist/chart-types/custom-spec/schema.d.ts.map +0 -1
  693. package/dist/chart-types/custom-spec/schema.js.map +0 -1
  694. package/dist/chart-types/custom-spec/spec.d.ts.map +0 -1
  695. package/dist/chart-types/custom-spec/spec.js.map +0 -1
  696. package/dist/chart-types/data-policy-schema.d.ts.map +0 -1
  697. package/dist/chart-types/data-policy-schema.js.map +0 -1
  698. package/dist/chart-types/errors.d.ts +0 -23
  699. package/dist/chart-types/errors.d.ts.map +0 -1
  700. package/dist/chart-types/errors.js +0 -26
  701. package/dist/chart-types/errors.js.map +0 -1
  702. package/dist/chart-types/heatmap/HeatmapSettings.d.ts.map +0 -1
  703. package/dist/chart-types/heatmap/HeatmapSettings.js +0 -9
  704. package/dist/chart-types/heatmap/HeatmapSettings.js.map +0 -1
  705. package/dist/chart-types/heatmap/definition.d.ts.map +0 -1
  706. package/dist/chart-types/heatmap/definition.js +0 -19
  707. package/dist/chart-types/heatmap/definition.js.map +0 -1
  708. package/dist/chart-types/heatmap/schema.d.ts.map +0 -1
  709. package/dist/chart-types/heatmap/schema.js.map +0 -1
  710. package/dist/chart-types/heatmap/spec.d.ts.map +0 -1
  711. package/dist/chart-types/heatmap/spec.js +0 -32
  712. package/dist/chart-types/heatmap/spec.js.map +0 -1
  713. package/dist/chart-types/heatmap/tool.d.ts.map +0 -1
  714. package/dist/chart-types/heatmap/tool.js +0 -67
  715. package/dist/chart-types/heatmap/tool.js.map +0 -1
  716. package/dist/chart-types/histogram/HistogramSettings.d.ts.map +0 -1
  717. package/dist/chart-types/histogram/HistogramSettings.js +0 -11
  718. package/dist/chart-types/histogram/HistogramSettings.js.map +0 -1
  719. package/dist/chart-types/histogram/definition.d.ts.map +0 -1
  720. package/dist/chart-types/histogram/definition.js +0 -19
  721. package/dist/chart-types/histogram/definition.js.map +0 -1
  722. package/dist/chart-types/histogram/schema.d.ts.map +0 -1
  723. package/dist/chart-types/histogram/schema.js.map +0 -1
  724. package/dist/chart-types/histogram/spec.d.ts.map +0 -1
  725. package/dist/chart-types/histogram/spec.js +0 -37
  726. package/dist/chart-types/histogram/spec.js.map +0 -1
  727. package/dist/chart-types/histogram/tool.d.ts.map +0 -1
  728. package/dist/chart-types/histogram/tool.js +0 -65
  729. package/dist/chart-types/histogram/tool.js.map +0 -1
  730. package/dist/chart-types/index.d.ts +0 -157
  731. package/dist/chart-types/index.d.ts.map +0 -1
  732. package/dist/chart-types/index.js +0 -106
  733. package/dist/chart-types/index.js.map +0 -1
  734. package/dist/chart-types/line-chart/LineChartSettings.d.ts.map +0 -1
  735. package/dist/chart-types/line-chart/LineChartSettings.js +0 -24
  736. package/dist/chart-types/line-chart/LineChartSettings.js.map +0 -1
  737. package/dist/chart-types/line-chart/definition.d.ts.map +0 -1
  738. package/dist/chart-types/line-chart/definition.js +0 -26
  739. package/dist/chart-types/line-chart/definition.js.map +0 -1
  740. package/dist/chart-types/line-chart/schema.d.ts +0 -88
  741. package/dist/chart-types/line-chart/schema.d.ts.map +0 -1
  742. package/dist/chart-types/line-chart/schema.js +0 -41
  743. package/dist/chart-types/line-chart/schema.js.map +0 -1
  744. package/dist/chart-types/line-chart/spec.d.ts.map +0 -1
  745. package/dist/chart-types/line-chart/spec.js +0 -91
  746. package/dist/chart-types/line-chart/spec.js.map +0 -1
  747. package/dist/chart-types/line-chart/tool.d.ts.map +0 -1
  748. package/dist/chart-types/line-chart/tool.js +0 -74
  749. package/dist/chart-types/line-chart/tool.js.map +0 -1
  750. package/dist/chart-types/list-panels-tool.d.ts +0 -35
  751. package/dist/chart-types/list-panels-tool.d.ts.map +0 -1
  752. package/dist/chart-types/list-panels-tool.js.map +0 -1
  753. package/dist/chart-types/profiler-tool.d.ts +0 -40
  754. package/dist/chart-types/profiler-tool.d.ts.map +0 -1
  755. package/dist/chart-types/profiler-tool.js +0 -73
  756. package/dist/chart-types/profiler-tool.js.map +0 -1
  757. package/dist/chart-types/remove-panel-tool.d.ts +0 -31
  758. package/dist/chart-types/remove-panel-tool.d.ts.map +0 -1
  759. package/dist/chart-types/remove-panel-tool.js.map +0 -1
  760. package/dist/chart-types/text-panel-tool.d.ts +0 -42
  761. package/dist/chart-types/text-panel-tool.d.ts.map +0 -1
  762. package/dist/chart-types/text-panel-tool.js +0 -71
  763. package/dist/chart-types/text-panel-tool.js.map +0 -1
  764. package/dist/chart-types/tool-helpers.d.ts +0 -44
  765. package/dist/chart-types/tool-helpers.d.ts.map +0 -1
  766. package/dist/chart-types/tool-helpers.js +0 -129
  767. package/dist/chart-types/tool-helpers.js.map +0 -1
  768. package/dist/chart-types/tool-schemas.d.ts.map +0 -1
  769. package/dist/chart-types/tool-schemas.js.map +0 -1
  770. package/dist/chart-types/tool-types.d.ts +0 -26
  771. package/dist/chart-types/tool-types.d.ts.map +0 -1
  772. package/dist/chart-types/tool-types.js.map +0 -1
  773. package/dist/chart-types/tool-validation.d.ts +0 -3
  774. package/dist/chart-types/tool-validation.d.ts.map +0 -1
  775. package/dist/chart-types/tool-validation.js.map +0 -1
  776. package/dist/chart-types/useChartTypeDefinition.d.ts +0 -3
  777. package/dist/chart-types/useChartTypeDefinition.d.ts.map +0 -1
  778. package/dist/chart-types/useChartTypeDefinition.js.map +0 -1
  779. package/dist/dashboard/DashboardPanelErrorBoundary.d.ts +0 -17
  780. package/dist/dashboard/DashboardPanelErrorBoundary.d.ts.map +0 -1
  781. package/dist/dashboard/DashboardPanelErrorBoundary.js +0 -21
  782. package/dist/dashboard/DashboardPanelErrorBoundary.js.map +0 -1
  783. package/dist/dashboard/MosaicDashboardEmptyState.d.ts +0 -2
  784. package/dist/dashboard/MosaicDashboardEmptyState.d.ts.map +0 -1
  785. package/dist/dashboard/MosaicDashboardEmptyState.js +0 -14
  786. package/dist/dashboard/MosaicDashboardEmptyState.js.map +0 -1
  787. package/dist/dashboard/MosaicDashboardPanel.d.ts.map +0 -1
  788. package/dist/dashboard/MosaicDashboardPanel.js +0 -23
  789. package/dist/dashboard/MosaicDashboardPanel.js.map +0 -1
  790. package/dist/dashboard/MosaicDashboardPanelDragOverlay.d.ts.map +0 -1
  791. package/dist/dashboard/MosaicDashboardPanelDragOverlay.js +0 -17
  792. package/dist/dashboard/MosaicDashboardPanelDragOverlay.js.map +0 -1
  793. package/dist/dashboard/MosaicDashboardPanelHeader.d.ts +0 -13
  794. package/dist/dashboard/MosaicDashboardPanelHeader.d.ts.map +0 -1
  795. package/dist/dashboard/MosaicDashboardPanelHeader.js +0 -30
  796. package/dist/dashboard/MosaicDashboardPanelHeader.js.map +0 -1
  797. package/dist/dashboard/MosaicDashboardPanelLayout.d.ts.map +0 -1
  798. package/dist/dashboard/MosaicDashboardPanelLayout.js.map +0 -1
  799. package/dist/dashboard/MosaicDashboardPanels.d.ts.map +0 -1
  800. package/dist/dashboard/MosaicDashboardPanels.js +0 -54
  801. package/dist/dashboard/MosaicDashboardPanels.js.map +0 -1
  802. package/dist/dashboard/defaultPanelRenderers.d.ts +0 -3
  803. package/dist/dashboard/defaultPanelRenderers.d.ts.map +0 -1
  804. package/dist/dashboard/defaultPanelRenderers.js +0 -13
  805. package/dist/dashboard/defaultPanelRenderers.js.map +0 -1
  806. package/dist/dashboard/initial-state/BuildDashboardManuallyPanel.d.ts +0 -6
  807. package/dist/dashboard/initial-state/BuildDashboardManuallyPanel.d.ts.map +0 -1
  808. package/dist/dashboard/initial-state/BuildDashboardManuallyPanel.js +0 -46
  809. package/dist/dashboard/initial-state/BuildDashboardManuallyPanel.js.map +0 -1
  810. package/dist/dashboard/initial-state/BuildDashboardWithAIPanel.d.ts +0 -7
  811. package/dist/dashboard/initial-state/BuildDashboardWithAIPanel.d.ts.map +0 -1
  812. package/dist/dashboard/initial-state/BuildDashboardWithAIPanel.js +0 -29
  813. package/dist/dashboard/initial-state/BuildDashboardWithAIPanel.js.map +0 -1
  814. package/dist/dashboard/initial-state/MosaicDashboardInitialState.d.ts +0 -6
  815. package/dist/dashboard/initial-state/MosaicDashboardInitialState.d.ts.map +0 -1
  816. package/dist/dashboard/initial-state/MosaicDashboardInitialState.js +0 -9
  817. package/dist/dashboard/initial-state/MosaicDashboardInitialState.js.map +0 -1
  818. package/dist/dashboard/useTablesWithColumns.d.ts.map +0 -1
  819. package/dist/dashboard/useTablesWithColumns.js +0 -13
  820. package/dist/dashboard/useTablesWithColumns.js.map +0 -1
  821. package/dist/profiler/MosaicDashboardProfilerPanelRenderer.d.ts +0 -4
  822. package/dist/profiler/MosaicDashboardProfilerPanelRenderer.d.ts.map +0 -1
  823. package/dist/profiler/MosaicDashboardProfilerPanelRenderer.js +0 -32
  824. package/dist/profiler/MosaicDashboardProfilerPanelRenderer.js.map +0 -1
  825. package/dist/profiler/MosaicProfiler.d.ts +0 -32
  826. package/dist/profiler/MosaicProfiler.d.ts.map +0 -1
  827. package/dist/profiler/MosaicProfiler.js +0 -57
  828. package/dist/profiler/MosaicProfiler.js.map +0 -1
  829. package/dist/profiler/MosaicProfilerHeader.d.ts +0 -7
  830. package/dist/profiler/MosaicProfilerHeader.d.ts.map +0 -1
  831. package/dist/profiler/MosaicProfilerHeader.js +0 -196
  832. package/dist/profiler/MosaicProfilerHeader.js.map +0 -1
  833. package/dist/profiler/MosaicProfilerRows.d.ts +0 -9
  834. package/dist/profiler/MosaicProfilerRows.d.ts.map +0 -1
  835. package/dist/profiler/MosaicProfilerRows.js +0 -65
  836. package/dist/profiler/MosaicProfilerRows.js.map +0 -1
  837. package/dist/profiler/MosaicProfilerStatusBar.d.ts +0 -9
  838. package/dist/profiler/MosaicProfilerStatusBar.d.ts.map +0 -1
  839. package/dist/profiler/MosaicProfilerStatusBar.js +0 -28
  840. package/dist/profiler/MosaicProfilerStatusBar.js.map +0 -1
  841. package/dist/profiler/ProfilerCategoryClient.d.ts +0 -50
  842. package/dist/profiler/ProfilerCategoryClient.d.ts.map +0 -1
  843. package/dist/profiler/ProfilerCategoryClient.js +0 -121
  844. package/dist/profiler/ProfilerCategoryClient.js.map +0 -1
  845. package/dist/profiler/ProfilerCountClient.d.ts +0 -28
  846. package/dist/profiler/ProfilerCountClient.d.ts.map +0 -1
  847. package/dist/profiler/ProfilerCountClient.js +0 -51
  848. package/dist/profiler/ProfilerCountClient.js.map +0 -1
  849. package/dist/profiler/ProfilerHistogramClient.d.ts +0 -69
  850. package/dist/profiler/ProfilerHistogramClient.d.ts.map +0 -1
  851. package/dist/profiler/ProfilerHistogramClient.js +0 -179
  852. package/dist/profiler/ProfilerHistogramClient.js.map +0 -1
  853. package/dist/profiler/ProfilerPageClient.d.ts +0 -37
  854. package/dist/profiler/ProfilerPageClient.d.ts.map +0 -1
  855. package/dist/profiler/ProfilerPageClient.js +0 -65
  856. package/dist/profiler/ProfilerPageClient.js.map +0 -1
  857. package/dist/profiler/ProfilerUnsupportedSummaryClient.d.ts +0 -24
  858. package/dist/profiler/ProfilerUnsupportedSummaryClient.d.ts.map +0 -1
  859. package/dist/profiler/ProfilerUnsupportedSummaryClient.js +0 -51
  860. package/dist/profiler/ProfilerUnsupportedSummaryClient.js.map +0 -1
  861. package/dist/profiler/addProfilerPanelAction.d.ts +0 -3
  862. package/dist/profiler/addProfilerPanelAction.d.ts.map +0 -1
  863. package/dist/profiler/addProfilerPanelAction.js +0 -9
  864. package/dist/profiler/addProfilerPanelAction.js.map +0 -1
  865. package/dist/profiler/createProfilerStore.d.ts +0 -45
  866. package/dist/profiler/createProfilerStore.d.ts.map +0 -1
  867. package/dist/profiler/createProfilerStore.js +0 -120
  868. package/dist/profiler/createProfilerStore.js.map +0 -1
  869. package/dist/profiler/layout.d.ts +0 -7
  870. package/dist/profiler/layout.d.ts.map +0 -1
  871. package/dist/profiler/layout.js +0 -13
  872. package/dist/profiler/layout.js.map +0 -1
  873. package/dist/profiler/profilerController.d.ts +0 -64
  874. package/dist/profiler/profilerController.d.ts.map +0 -1
  875. package/dist/profiler/profilerController.js +0 -123
  876. package/dist/profiler/profilerController.js.map +0 -1
  877. package/dist/profiler/types.d.ts +0 -86
  878. package/dist/profiler/types.d.ts.map +0 -1
  879. package/dist/profiler/types.js.map +0 -1
  880. package/dist/profiler/useMosaicProfiler.d.ts +0 -7
  881. package/dist/profiler/useMosaicProfiler.d.ts.map +0 -1
  882. package/dist/profiler/useMosaicProfiler.js +0 -339
  883. package/dist/profiler/useMosaicProfiler.js.map +0 -1
  884. package/dist/profiler/utils.d.ts +0 -61
  885. package/dist/profiler/utils.d.ts.map +0 -1
  886. package/dist/profiler/utils.js +0 -347
  887. package/dist/profiler/utils.js.map +0 -1
  888. package/dist/text/MosaicDashboardTextRenderer.d.ts +0 -4
  889. package/dist/text/MosaicDashboardTextRenderer.d.ts.map +0 -1
  890. package/dist/text/MosaicDashboardTextRenderer.js +0 -46
  891. package/dist/text/MosaicDashboardTextRenderer.js.map +0 -1
  892. package/dist/text/addTextPanelAction.d.ts +0 -3
  893. package/dist/text/addTextPanelAction.d.ts.map +0 -1
  894. package/dist/text/addTextPanelAction.js +0 -9
  895. package/dist/text/addTextPanelAction.js.map +0 -1
  896. /package/dist/{chart-types → ai}/list-panels-tool.js +0 -0
  897. /package/dist/{chart-types → ai}/remove-panel-tool.js +0 -0
  898. /package/dist/{chart-types → ai}/tool-schemas.d.ts +0 -0
  899. /package/dist/{chart-types → ai}/tool-schemas.js +0 -0
  900. /package/dist/{chart-types → ai}/tool-types.js +0 -0
  901. /package/dist/{chart-types → ai}/tool-validation.js +0 -0
  902. /package/dist/{chart → charts}/addChartPanelAction.d.ts +0 -0
  903. /package/dist/{chart → charts}/addChartPanelAction.js +0 -0
  904. /package/dist/{chart-types → charts/chart-types}/base-types.js +0 -0
  905. /package/dist/{chart-types → charts/chart-types}/box-plot/BoxPlotSettings.d.ts +0 -0
  906. /package/dist/{chart-types → charts/chart-types}/box-plot/definition.d.ts +0 -0
  907. /package/dist/{chart-types → charts/chart-types}/box-plot/renderer/BoxPlotErrorBoundary.d.ts +0 -0
  908. /package/dist/{chart-types → charts/chart-types}/box-plot/renderer/BoxPlotErrorBoundary.js +0 -0
  909. /package/dist/{chart-types → charts/chart-types}/box-plot/renderer/BoxPlotPanelRenderer.d.ts +0 -0
  910. /package/dist/{chart-types → charts/chart-types}/box-plot/renderer/constants.js +0 -0
  911. /package/dist/{chart-types → charts/chart-types}/box-plot/renderer/plot.js +0 -0
  912. /package/dist/{chart-types → charts/chart-types}/box-plot/renderer/utils.js +0 -0
  913. /package/dist/{chart-types → charts/chart-types}/bubble-chart/BubbleChartSettings.d.ts +0 -0
  914. /package/dist/{chart-types → charts/chart-types}/bubble-chart/definition.d.ts +0 -0
  915. /package/dist/{chart-types → charts/chart-types}/bubble-chart/schema.d.ts +0 -0
  916. /package/dist/{chart-types → charts/chart-types}/bubble-chart/schema.js +0 -0
  917. /package/dist/{chart-types → charts/chart-types}/bubble-chart/spec.d.ts +0 -0
  918. /package/dist/{chart-types → charts/chart-types}/bubble-chart/tool.d.ts +0 -0
  919. /package/dist/{chart-types → charts/chart-types}/count-plot/CountPlotSettings.d.ts +0 -0
  920. /package/dist/{chart-types → charts/chart-types}/count-plot/definition.d.ts +0 -0
  921. /package/dist/{chart-types → charts/chart-types}/count-plot/schema.d.ts +0 -0
  922. /package/dist/{chart-types → charts/chart-types}/count-plot/schema.js +0 -0
  923. /package/dist/{chart-types → charts/chart-types}/count-plot/spec.d.ts +0 -0
  924. /package/dist/{chart-types → charts/chart-types}/count-plot/tool.d.ts +0 -0
  925. /package/dist/{chart-types → charts/chart-types}/custom-spec/CustomSpecSettings.d.ts +0 -0
  926. /package/dist/{chart-types → charts/chart-types}/custom-spec/definition.d.ts +0 -0
  927. /package/dist/{chart-types → charts/chart-types}/custom-spec/schema.d.ts +0 -0
  928. /package/dist/{chart-types → charts/chart-types}/custom-spec/schema.js +0 -0
  929. /package/dist/{chart-types → charts/chart-types}/custom-spec/spec.d.ts +0 -0
  930. /package/dist/{chart-types → charts/chart-types}/custom-spec/spec.js +0 -0
  931. /package/dist/{chart-types → charts/chart-types}/data-policy-schema.d.ts +0 -0
  932. /package/dist/{chart-types → charts/chart-types}/data-policy-schema.js +0 -0
  933. /package/dist/{chart-types → charts/chart-types}/heatmap/HeatmapSettings.d.ts +0 -0
  934. /package/dist/{chart-types → charts/chart-types}/heatmap/definition.d.ts +0 -0
  935. /package/dist/{chart-types → charts/chart-types}/heatmap/schema.d.ts +0 -0
  936. /package/dist/{chart-types → charts/chart-types}/heatmap/schema.js +0 -0
  937. /package/dist/{chart-types → charts/chart-types}/heatmap/spec.d.ts +0 -0
  938. /package/dist/{chart-types → charts/chart-types}/heatmap/tool.d.ts +0 -0
  939. /package/dist/{chart-types → charts/chart-types}/histogram/HistogramSettings.d.ts +0 -0
  940. /package/dist/{chart-types → charts/chart-types}/histogram/definition.d.ts +0 -0
  941. /package/dist/{chart-types → charts/chart-types}/histogram/schema.d.ts +0 -0
  942. /package/dist/{chart-types → charts/chart-types}/histogram/schema.js +0 -0
  943. /package/dist/{chart-types → charts/chart-types}/histogram/spec.d.ts +0 -0
  944. /package/dist/{chart-types → charts/chart-types}/histogram/tool.d.ts +0 -0
  945. /package/dist/{chart-types → charts/chart-types}/line-chart/LineChartSettings.d.ts +0 -0
  946. /package/dist/{chart-types → charts/chart-types}/line-chart/definition.d.ts +0 -0
  947. /package/dist/{chart-types → charts/chart-types}/line-chart/spec.d.ts +0 -0
  948. /package/dist/{chart-types → charts/chart-types}/line-chart/tool.d.ts +0 -0
  949. /package/dist/{chart-types → charts}/useChartTypeDefinition.js +0 -0
  950. /package/dist/{chart-builders → components}/AggregationSelector.js +0 -0
  951. /package/dist/{chart-builders → components}/ColumnSelector.d.ts +0 -0
  952. /package/dist/{chart-builders → components}/Field.d.ts +0 -0
  953. /package/dist/{chart-builders → components}/Field.js +0 -0
  954. /package/dist/{chart-builders → components}/FieldSelectorInput.js +0 -0
  955. /package/dist/{chart-builders → components}/TableSelector.d.ts +0 -0
  956. /package/dist/dashboard/{MosaicDashboardPanel.d.ts → panel/MosaicDashboardPanel.d.ts} +0 -0
  957. /package/dist/dashboard/{MosaicDashboardPanelDragOverlay.d.ts → panel/MosaicDashboardPanelDragOverlay.d.ts} +0 -0
  958. /package/dist/dashboard/{MosaicDashboardPanelLayout.d.ts → panel/MosaicDashboardPanelLayout.d.ts} +0 -0
  959. /package/dist/dashboard/{MosaicDashboardPanelLayout.js → panel/MosaicDashboardPanelLayout.js} +0 -0
  960. /package/dist/dashboard/{MosaicDashboardPanels.d.ts → panel/MosaicDashboardPanels.d.ts} +0 -0
  961. /package/dist/{profiler → data-table-explorer}/types.js +0 -0
  962. /package/dist/{dashboard → hooks}/useTablesWithColumns.d.ts +0 -0
@@ -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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"}
@@ -4,7 +4,7 @@ import { LayoutNode, isLayoutGridNode, isLayoutNodeKey, isLayoutPanelNode, isLay
4
4
  import { createSlice, useBaseRoomStore, } from '@sqlrooms/room-store';
5
5
  import { produce } from 'immer';
6
6
  import { z } from 'zod';
7
- import { ChartConfig } from '../chart-types/chart-config';
7
+ import { ChartConfig } from '../charts/chart-types/chart-config';
8
8
  import { destroyRetainedVgPlotChart, } from '../VgPlotChart';
9
9
  /**
10
10
  * Panel key used for function-form panel definitions registered by
@@ -14,19 +14,12 @@ import { destroyRetainedVgPlotChart, } from '../VgPlotChart';
14
14
  */
15
15
  export const MOSAIC_DASHBOARD_PANEL = 'mosaic-dashboard-panel';
16
16
  export const MOSAIC_DASHBOARD_CHART_PANEL_TYPE = 'vgplot';
17
- export const MOSAIC_DASHBOARD_PROFILER_PANEL_TYPE = 'profiler';
18
- export const MOSAIC_DASHBOARD_TEXT_PANEL_TYPE = 'text';
17
+ export const MOSAIC_DASHBOARD_DATA_TABLE_EXPLORER_PANEL_TYPE = 'data-table-explorer';
19
18
  export const MosaicDashboardLayoutType = z.enum(['dock', 'grid']);
20
- // Profiler panel config
21
- export const ProfilerPanelConfig = z.object({
19
+ // DataTableExplorer panel config
20
+ export const DataTableExplorerPanelConfig = z.object({
22
21
  pageSize: z.number().optional(),
23
22
  });
24
- // Text panel config
25
- export const TextPanelConfig = z.object({
26
- content: z.string().default(''),
27
- toolbarOpen: z.boolean().default(false),
28
- sourcePanelOpen: z.boolean().default(false),
29
- });
30
23
  // Panel configs discriminated by type
31
24
  export const ChartPanelConfig = z.object({
32
25
  id: z.string(),
@@ -34,17 +27,11 @@ export const ChartPanelConfig = z.object({
34
27
  title: z.string().default('Panel'),
35
28
  config: ChartConfig,
36
29
  });
37
- export const ProfilerPanel = z.object({
30
+ export const DataTableExplorerPanel = z.object({
38
31
  id: z.string(),
39
- type: z.literal(MOSAIC_DASHBOARD_PROFILER_PANEL_TYPE),
32
+ type: z.literal(MOSAIC_DASHBOARD_DATA_TABLE_EXPLORER_PANEL_TYPE),
40
33
  title: z.string().default('Panel'),
41
- config: ProfilerPanelConfig,
42
- });
43
- export const TextPanel = z.object({
44
- id: z.string(),
45
- type: z.literal(MOSAIC_DASHBOARD_TEXT_PANEL_TYPE),
46
- title: z.string().default('Text'),
47
- config: TextPanelConfig,
34
+ config: DataTableExplorerPanelConfig,
48
35
  });
49
36
  // Legacy panel for backward compatibility
50
37
  export const LegacyPanelConfig = z.object({
@@ -55,7 +42,7 @@ export const LegacyPanelConfig = z.object({
55
42
  });
56
43
  // Discriminated union of all panel types
57
44
  export const MosaicDashboardPanelConfig = z
58
- .discriminatedUnion('type', [ChartPanelConfig, ProfilerPanel, TextPanel])
45
+ .discriminatedUnion('type', [ChartPanelConfig, DataTableExplorerPanel])
59
46
  .or(LegacyPanelConfig);
60
47
  export function createMosaicDashboardChartPanelConfig(title, config) {
61
48
  return {
@@ -65,26 +52,14 @@ export function createMosaicDashboardChartPanelConfig(title, config) {
65
52
  config,
66
53
  };
67
54
  }
68
- export function createMosaicDashboardProfilerPanelConfig(options = {}) {
55
+ export function createMosaicDashboardDataTableExplorerPanelConfig(options = {}) {
69
56
  return {
70
57
  id: createId(),
71
- type: MOSAIC_DASHBOARD_PROFILER_PANEL_TYPE,
72
- title: options.title ?? 'Profiler',
58
+ type: MOSAIC_DASHBOARD_DATA_TABLE_EXPLORER_PANEL_TYPE,
59
+ title: options.title ?? 'Data Table Explorer',
73
60
  config: options.config ?? {},
74
61
  };
75
62
  }
76
- export function createMosaicDashboardTextPanelConfig(options = {}) {
77
- return {
78
- id: createId(),
79
- type: MOSAIC_DASHBOARD_TEXT_PANEL_TYPE,
80
- title: options.title ?? 'Text',
81
- config: options.config ?? {
82
- toolbarOpen: false,
83
- sourcePanelOpen: false,
84
- content: '',
85
- },
86
- };
87
- }
88
63
  export const MosaicDashboardEntry = z.object({
89
64
  id: z.string(),
90
65
  title: z.string().default('Dashboard'),
@@ -150,8 +125,7 @@ function getLayoutChildId(node) {
150
125
  }
151
126
  function createDashboardGridItem(panelId, layout, cols = 12, panelType) {
152
127
  const effectiveCols = Math.max(1, cols);
153
- const w = panelType === MOSAIC_DASHBOARD_PROFILER_PANEL_TYPE ||
154
- panelType === MOSAIC_DASHBOARD_TEXT_PANEL_TYPE
128
+ const w = panelType === MOSAIC_DASHBOARD_DATA_TABLE_EXPLORER_PANEL_TYPE
155
129
  ? effectiveCols
156
130
  : Math.max(1, Math.ceil(effectiveCols / 2));
157
131
  const h = 2;
@@ -420,6 +394,13 @@ export function createMosaicDashboardSlice(props = {}) {
420
394
  existing.title = title;
421
395
  existing.updatedAt = Date.now();
422
396
  }
397
+ if (layoutType === 'grid' &&
398
+ existing.layoutType === 'dock' &&
399
+ existing.panels.length === 0) {
400
+ existing.layoutType = 'grid';
401
+ existing.layout = createDashboardGridLayout(dashboardId);
402
+ existing.updatedAt = Date.now();
403
+ }
423
404
  return;
424
405
  }
425
406
  draft.mosaicDashboard.config.dashboardsById[dashboardId] = {
@@ -529,11 +510,16 @@ export function createMosaicDashboardSlice(props = {}) {
529
510
  }));
530
511
  },
531
512
  getRetainedChart(dashboardId, panelId) {
532
- return get().mosaicDashboard.runtime.retainedChartsByPanelId[getMosaicDashboardPanelId(dashboardId, panelId)];
513
+ return get().mosaicDashboard.getRetainedChartByKey(getMosaicDashboardPanelId(dashboardId, panelId));
514
+ },
515
+ getRetainedChartByKey(runtimeKey) {
516
+ return get().mosaicDashboard.runtime.retainedChartsByPanelId[runtimeKey];
533
517
  },
534
518
  setRetainedChart(dashboardId, panelId, chart) {
535
- const runtimePanelId = getMosaicDashboardPanelId(dashboardId, panelId);
536
- const previous = get().mosaicDashboard.runtime.retainedChartsByPanelId[runtimePanelId];
519
+ get().mosaicDashboard.setRetainedChartByKey(getMosaicDashboardPanelId(dashboardId, panelId), chart);
520
+ },
521
+ setRetainedChartByKey(runtimeKey, chart) {
522
+ const previous = get().mosaicDashboard.runtime.retainedChartsByPanelId[runtimeKey];
537
523
  if (previous && previous !== chart) {
538
524
  destroyDashboardRuntimeChart(previous);
539
525
  }
@@ -544,17 +530,22 @@ export function createMosaicDashboardSlice(props = {}) {
544
530
  ...state.mosaicDashboard.runtime,
545
531
  retainedChartsByPanelId: {
546
532
  ...state.mosaicDashboard.runtime.retainedChartsByPanelId,
547
- [runtimePanelId]: chart,
533
+ [runtimeKey]: chart,
548
534
  },
549
535
  },
550
536
  },
551
537
  }));
552
538
  },
553
539
  getPanelIssue(dashboardId, panelId) {
554
- return get().mosaicDashboard.runtime.panelIssuesByPanelId[getMosaicDashboardPanelId(dashboardId, panelId)];
540
+ return get().mosaicDashboard.getPanelIssueByKey(getMosaicDashboardPanelId(dashboardId, panelId));
541
+ },
542
+ getPanelIssueByKey(runtimeKey) {
543
+ return get().mosaicDashboard.runtime.panelIssuesByPanelId[runtimeKey];
555
544
  },
556
545
  reportPanelIssue(dashboardId, panelId, issue) {
557
- const runtimePanelId = getMosaicDashboardPanelId(dashboardId, panelId);
546
+ get().mosaicDashboard.reportPanelIssueByKey(getMosaicDashboardPanelId(dashboardId, panelId), issue);
547
+ },
548
+ reportPanelIssueByKey(runtimeKey, issue) {
558
549
  set((state) => ({
559
550
  mosaicDashboard: {
560
551
  ...state.mosaicDashboard,
@@ -562,22 +553,24 @@ export function createMosaicDashboardSlice(props = {}) {
562
553
  ...state.mosaicDashboard.runtime,
563
554
  panelIssuesByPanelId: {
564
555
  ...state.mosaicDashboard.runtime.panelIssuesByPanelId,
565
- [runtimePanelId]: issue,
556
+ [runtimeKey]: issue,
566
557
  },
567
558
  },
568
559
  },
569
560
  }));
570
561
  },
571
562
  clearPanelIssue(dashboardId, panelId) {
572
- const runtimePanelId = getMosaicDashboardPanelId(dashboardId, panelId);
573
- if (!get().mosaicDashboard.runtime.panelIssuesByPanelId[runtimePanelId]) {
563
+ get().mosaicDashboard.clearPanelIssueByKey(getMosaicDashboardPanelId(dashboardId, panelId));
564
+ },
565
+ clearPanelIssueByKey(runtimeKey) {
566
+ if (!get().mosaicDashboard.runtime.panelIssuesByPanelId[runtimeKey]) {
574
567
  return;
575
568
  }
576
569
  set((state) => {
577
570
  const nextPanelIssuesByPanelId = {
578
571
  ...state.mosaicDashboard.runtime.panelIssuesByPanelId,
579
572
  };
580
- delete nextPanelIssuesByPanelId[runtimePanelId];
573
+ delete nextPanelIssuesByPanelId[runtimeKey];
581
574
  return {
582
575
  mosaicDashboard: {
583
576
  ...state.mosaicDashboard,
@@ -590,8 +583,10 @@ export function createMosaicDashboardSlice(props = {}) {
590
583
  });
591
584
  },
592
585
  evictPanelRuntime(dashboardId, panelId) {
593
- const runtimePanelId = getMosaicDashboardPanelId(dashboardId, panelId);
594
- const existing = get().mosaicDashboard.runtime.retainedChartsByPanelId[runtimePanelId];
586
+ get().mosaicDashboard.evictPanelRuntimeByKey(getMosaicDashboardPanelId(dashboardId, panelId));
587
+ },
588
+ evictPanelRuntimeByKey(runtimeKey) {
589
+ const existing = get().mosaicDashboard.runtime.retainedChartsByPanelId[runtimeKey];
595
590
  destroyDashboardRuntimeChart(existing);
596
591
  set((state) => {
597
592
  const nextRetainedChartsByPanelId = {
@@ -600,8 +595,8 @@ export function createMosaicDashboardSlice(props = {}) {
600
595
  const nextPanelIssuesByPanelId = {
601
596
  ...state.mosaicDashboard.runtime.panelIssuesByPanelId,
602
597
  };
603
- delete nextRetainedChartsByPanelId[runtimePanelId];
604
- delete nextPanelIssuesByPanelId[runtimePanelId];
598
+ delete nextRetainedChartsByPanelId[runtimeKey];
599
+ delete nextPanelIssuesByPanelId[runtimeKey];
605
600
  return {
606
601
  mosaicDashboard: {
607
602
  ...state.mosaicDashboard,
@@ -1 +1 @@
1
- {"version":3,"file":"MosaicDashboardSlice.js","sourceRoot":"","sources":["../../src/dashboard/MosaicDashboardSlice.ts"],"names":[],"mappings":"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","sourcesContent":["import {createId} from '@paralleldrive/cuid2';\nimport {DbSliceState} from '@sqlrooms/db';\nimport {type DuckDbSliceState} from '@sqlrooms/duckdb';\nimport {\n DEFAULT_GRID_COLS,\n getGridColsForBreakpoint,\n type LayoutSliceState,\n} from '@sqlrooms/layout';\nimport {\n type LayoutGridItem,\n type LayoutGridNode,\n LayoutNode,\n type LayoutPanelNode,\n isLayoutGridNode,\n isLayoutNodeKey,\n isLayoutPanelNode,\n isLayoutSplitNode,\n} from '@sqlrooms/layout-config';\nimport {\n BaseRoomStoreState,\n createSlice,\n SliceFunctions,\n useBaseRoomStore,\n} from '@sqlrooms/room-store';\nimport {produce} from 'immer';\nimport type {ComponentType} from 'react';\nimport {z} from 'zod';\nimport type {ChartTypeDefinition} from '../chart-types/base-types';\nimport {ChartConfig} from '../chart-types/chart-config';\nimport {type MosaicSliceState} from '../MosaicSlice';\nimport {\n destroyRetainedVgPlotChart,\n type RetainedVgPlotChart,\n} from '../VgPlotChart';\nimport type {MosaicDashboardAddPanelAction} from './action-types';\nimport type {ChartRuntimeIssue} from '../chart-runtime';\n\n/**\n * Panel key used for function-form panel definitions registered by\n * `MosaicDashboardPanels`. Individual dashboard panels are represented as\n * `LayoutPanelNode` entries whose `panel` property carries\n * `{ key: MOSAIC_DASHBOARD_PANEL, meta: { dashboardId, panelId } }`.\n */\nexport const MOSAIC_DASHBOARD_PANEL = 'mosaic-dashboard-panel';\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\nexport const MosaicDashboardLayoutType = z.enum(['dock', 'grid']);\nexport type MosaicDashboardLayoutType = z.infer<\n typeof MosaicDashboardLayoutType\n>;\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\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 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 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 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 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 type MosaicDashboardPanelRendererProps<\n TPanel extends MosaicDashboardPanelConfig = MosaicDashboardPanelConfig,\n> = {\n dashboardId: string;\n dashboard: MosaicDashboardEntry;\n panel: TPanel;\n selectionName: string;\n};\n\nexport type ChartPanelRendererProps =\n MosaicDashboardPanelRendererProps<ChartPanelConfig>;\nexport type ProfilerPanelRendererProps =\n MosaicDashboardPanelRendererProps<ProfilerPanel>;\nexport type TextPanelRendererProps =\n MosaicDashboardPanelRendererProps<TextPanel>;\n\nexport type MosaicDashboardPanelRenderer<\n TPanel extends MosaicDashboardPanelConfig = MosaicDashboardPanelConfig,\n> = {\n component: ComponentType<MosaicDashboardPanelRendererProps<TPanel>>;\n headerActions?: ComponentType<MosaicDashboardPanelRendererProps<TPanel>>;\n icon?: ComponentType<{className?: string}>;\n};\n\n// Type-erased renderer for storage (avoids circular dependency issues)\nexport type AnyPanelRenderer = {\n component: ComponentType<any>;\n headerActions?: ComponentType<any>;\n icon?: ComponentType<{className?: string}>;\n};\n\n// Map of panel type string to panel config type\nexport type PanelTypeMap = {\n [MOSAIC_DASHBOARD_CHART_PANEL_TYPE]: ChartPanelConfig;\n [MOSAIC_DASHBOARD_PROFILER_PANEL_TYPE]: ProfilerPanel;\n [MOSAIC_DASHBOARD_TEXT_PANEL_TYPE]: TextPanel;\n};\n\n// Panel renderers record - use type-erased renderers for runtime compatibility\nexport type PanelRenderersRecord = Record<string, AnyPanelRenderer>;\n\nexport function createMosaicDashboardChartPanelConfig(\n title: string,\n config: ChartConfig,\n): ChartPanelConfig {\n return {\n id: createId(),\n type: MOSAIC_DASHBOARD_CHART_PANEL_TYPE,\n title,\n config,\n };\n}\n\nexport function createMosaicDashboardProfilerPanelConfig(\n options: {\n title?: string;\n config?: ProfilerPanelConfig;\n } = {},\n): ProfilerPanel {\n return {\n id: createId(),\n type: MOSAIC_DASHBOARD_PROFILER_PANEL_TYPE,\n title: options.title ?? 'Profiler',\n config: options.config ?? {},\n };\n}\n\nexport function createMosaicDashboardTextPanelConfig(\n options: {\n title?: string;\n config?: TextPanelConfig;\n } = {},\n): TextPanel {\n return {\n id: createId(),\n type: MOSAIC_DASHBOARD_TEXT_PANEL_TYPE,\n title: options.title ?? 'Text',\n config: options.config ?? {\n toolbarOpen: false,\n sourcePanelOpen: false,\n content: '',\n },\n };\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 lastSelectedTable: z.string().optional(),\n panels: z.array(MosaicDashboardPanelConfig).default([]),\n layout: LayoutNode.nullable().default(null),\n updatedAt: z.number().default(0),\n});\nexport type MosaicDashboardEntry = z.infer<typeof MosaicDashboardEntry>;\n\nexport const MosaicDashboardSliceConfig = z.object({\n dashboardsById: z.record(z.string(), MosaicDashboardEntry).default({}),\n});\nexport type MosaicDashboardSliceConfig = z.infer<\n typeof MosaicDashboardSliceConfig\n>;\n\nexport type MosaicDashboardSliceState = {\n mosaicDashboard: SliceFunctions & {\n config: MosaicDashboardSliceConfig;\n runtime: {\n /**\n * Live vgplot chart instances retained across transient dashboard panel\n * remounts, keyed by `getMosaicDashboardPanelId(dashboardId, panelId)`.\n *\n * This is runtime-only state: entries are never serialized with dashboard\n * config and must be evicted when their panel/dashboard lifecycle ends.\n */\n retainedChartsByPanelId: Record<string, RetainedVgPlotChart>;\n /**\n * Runtime-only chart issues keyed by `getMosaicDashboardPanelId`.\n * These are live diagnostics for UI and AI tools, not persisted config.\n */\n panelIssuesByPanelId: Record<string, ChartRuntimeIssue>;\n };\n chartTypes?: ChartTypeDefinition[];\n addPanelActions: MosaicDashboardAddPanelAction[];\n createDashboard: (\n title?: string,\n layoutType?: MosaicDashboardLayoutType,\n ) => string;\n ensureDashboard: (\n dashboardId: string,\n title?: string,\n layoutType?: MosaicDashboardLayoutType,\n ) => void;\n removeDashboard: (dashboardId: string) => void;\n getDashboard: (dashboardId: string) => MosaicDashboardEntry | undefined;\n setSelectedTable: (dashboardId: string, tableName: string) => void;\n setLastSelectedTable: (dashboardId: string, tableName: string) => void;\n panelRenderers: PanelRenderersRecord;\n registerPanelRenderer: (type: string, renderer: AnyPanelRenderer) => void;\n unregisterPanelRenderer: (type: string) => void;\n addPanel: (\n dashboardId: string,\n panel: MosaicDashboardPanelConfig,\n ) => MosaicDashboardPanelConfig['id'];\n updatePanel: (\n dashboardId: string,\n panelId: string,\n patch: Partial<Omit<MosaicDashboardPanelConfig, 'id'>>,\n ) => void;\n removePanel: (dashboardId: string, panelId: string) => void;\n getRetainedChart: (\n dashboardId: string,\n panelId: string,\n ) => RetainedVgPlotChart | undefined;\n setRetainedChart: (\n dashboardId: string,\n panelId: string,\n chart: RetainedVgPlotChart,\n ) => void;\n getPanelIssue: (\n dashboardId: string,\n panelId: string,\n ) => ChartRuntimeIssue | undefined;\n reportPanelIssue: (\n dashboardId: string,\n panelId: string,\n issue: ChartRuntimeIssue,\n ) => void;\n clearPanelIssue: (dashboardId: string, panelId: string) => void;\n evictPanelRuntime: (dashboardId: string, panelId: string) => void;\n evictDashboardRuntime: (\n dashboardId: string,\n options?: {resetSelection?: boolean},\n ) => void;\n clearAllDashboardRuntime: () => void;\n setLayout: (dashboardId: string, layout: LayoutNode | null) => void;\n };\n};\n\nexport type MosaicDashboardStoreState = BaseRoomStoreState &\n DbSliceState &\n DuckDbSliceState &\n LayoutSliceState &\n MosaicSliceState &\n MosaicDashboardSliceState;\n\ntype DashboardPanelTypesByLayoutId = Record<string, string | undefined>;\n\n// ---------------------------------------------------------------------------\n// Layout tree helpers (operate on the new LayoutNode types)\n// ---------------------------------------------------------------------------\n\nfunction createDashboardPanelNode(\n dashboardId: string,\n panelId: string,\n): LayoutPanelNode {\n return {\n type: 'panel',\n id: getMosaicDashboardPanelId(dashboardId, panelId),\n minSize: 200,\n panel: {\n key: MOSAIC_DASHBOARD_PANEL,\n meta: {dashboardId, panelId},\n },\n };\n}\n\nfunction getDashboardPanelTypesByLayoutId(\n dashboardId: string,\n panels: MosaicDashboardPanelConfig[],\n): DashboardPanelTypesByLayoutId {\n return Object.fromEntries(\n panels.map((panel) => [\n getMosaicDashboardPanelId(dashboardId, panel.id),\n panel.type,\n ]),\n );\n}\n\nfunction appendPanelToLayout(\n layout: LayoutNode | null,\n panelNode: LayoutPanelNode,\n): LayoutNode {\n if (!layout) {\n return panelNode;\n }\n return {\n type: 'split',\n id: `split-${createId()}`,\n direction: 'row',\n children: [layout, panelNode],\n };\n}\n\nfunction createDashboardGridLayout(\n dashboardId: string,\n panelNode?: LayoutPanelNode,\n): LayoutGridNode {\n const children = panelNode ? [panelNode] : [];\n const layouts = createDashboardGridLayoutsForChildren(children);\n return {\n type: 'grid',\n id: getMosaicDashboardGridId(dashboardId),\n children,\n rowHeight: 150,\n margin: [12, 12],\n containerPadding: [0, 0],\n compactType: 'vertical',\n preventCollision: false,\n resizeHandles: ['e', 's', 'w', 'se', 'sw'],\n layouts,\n };\n}\n\nfunction getLayoutChildId(node: LayoutNode): string {\n return isLayoutNodeKey(node) ? node : node.id;\n}\n\nfunction createDashboardGridItem(\n panelId: string,\n layout: LayoutGridItem[],\n cols = 12,\n panelType?: string,\n): LayoutGridItem {\n const effectiveCols = Math.max(1, cols);\n const w =\n panelType === MOSAIC_DASHBOARD_PROFILER_PANEL_TYPE ||\n panelType === MOSAIC_DASHBOARD_TEXT_PANEL_TYPE\n ? effectiveCols\n : Math.max(1, Math.ceil(effectiveCols / 2));\n const h = 2;\n const bottom = layout.reduce(\n (max, item) => Math.max(max, item.y + item.h),\n 0,\n );\n\n for (let y = 0; y <= bottom; y += 1) {\n for (let x = 0; x <= effectiveCols - w; x += 1) {\n const overlaps = layout.some(\n (item) =>\n x < item.x + item.w &&\n x + w > item.x &&\n y < item.y + item.h &&\n y + h > item.y,\n );\n if (!overlaps) {\n return {\n i: panelId,\n x,\n y,\n w,\n h,\n };\n }\n }\n }\n\n return {\n i: panelId,\n x: 0,\n y: bottom,\n w,\n h,\n };\n}\n\nfunction createDashboardGridLayoutsForChildren(\n children: LayoutNode[],\n sourceLayouts?: LayoutGridNode['layouts'],\n cols?: LayoutGridNode['cols'],\n panelTypesByLayoutId: Record<string, string | undefined> = {},\n): LayoutGridNode['layouts'] {\n const childIds = new Set(children.map((child) => getLayoutChildId(child)));\n const sourceEntries = new Map<string, LayoutGridItem[]>(\n Object.keys(DEFAULT_GRID_COLS).map((breakpoint) => [breakpoint, []]),\n );\n for (const [breakpoint, breakpointLayout] of Object.entries(\n sourceLayouts ?? {},\n )) {\n sourceEntries.set(breakpoint, breakpointLayout);\n }\n\n return Object.fromEntries(\n [...sourceEntries.entries()].map(([breakpoint, breakpointLayout]) => {\n const nextLayout = breakpointLayout.filter((item) =>\n childIds.has(item.i),\n );\n const layoutItemIds = new Set(nextLayout.map((item) => item.i));\n\n for (const child of children) {\n const childId = getLayoutChildId(child);\n if (!layoutItemIds.has(childId)) {\n const item = createDashboardGridItem(\n childId,\n nextLayout,\n getGridColsForBreakpoint(cols, breakpoint),\n panelTypesByLayoutId[childId],\n );\n nextLayout.push(item);\n layoutItemIds.add(childId);\n }\n }\n\n return [breakpoint, nextLayout];\n }),\n );\n}\n\nfunction isExpectedDashboardPanelNode(\n node: LayoutNode,\n expectedPanelIds: Set<string>,\n): boolean {\n return expectedPanelIds.has(getLayoutChildId(node));\n}\n\nfunction collectDashboardPanelNodes(\n layout: LayoutNode | null,\n expectedPanelIds: Set<string>,\n nodes: LayoutNode[] = [],\n seen = new Set<string>(),\n): LayoutNode[] {\n if (!layout) return nodes;\n\n if (isLayoutNodeKey(layout) || isLayoutPanelNode(layout)) {\n if (isExpectedDashboardPanelNode(layout, expectedPanelIds)) {\n const id = getLayoutChildId(layout);\n if (!seen.has(id)) {\n nodes.push(layout);\n seen.add(id);\n }\n }\n return nodes;\n }\n\n if (isLayoutSplitNode(layout) || isLayoutGridNode(layout)) {\n for (const child of layout.children) {\n collectDashboardPanelNodes(child, expectedPanelIds, nodes, seen);\n }\n }\n\n return nodes;\n}\n\nfunction normalizeDashboardGridLayout(\n layout: LayoutNode | null,\n dashboardId: string,\n expectedPanelIds: Set<string>,\n panelTypesByLayoutId: DashboardPanelTypesByLayoutId = {},\n): LayoutGridNode {\n const collectedPanelIds = collectPanelIds(layout);\n const existingExpectedPanelIds = new Set(\n [...expectedPanelIds].filter((panelId) => collectedPanelIds.has(panelId)),\n );\n const children = collectDashboardPanelNodes(layout, existingExpectedPanelIds);\n const layouts = createDashboardGridLayoutsForChildren(\n children,\n isLayoutGridNode(layout) ? layout.layouts : undefined,\n isLayoutGridNode(layout) ? layout.cols : undefined,\n panelTypesByLayoutId,\n );\n\n if (isLayoutGridNode(layout)) {\n return {\n ...layout,\n children,\n layouts,\n };\n }\n\n return {\n ...createDashboardGridLayout(dashboardId),\n children,\n layouts,\n };\n}\n\nfunction appendPanelToGridLayout(\n layout: LayoutNode | null,\n dashboardId: string,\n panelNode: LayoutPanelNode,\n panelType?: string,\n panelTypesByLayoutId: DashboardPanelTypesByLayoutId = {},\n): LayoutGridNode {\n const nextPanelTypesByLayoutId = {\n ...panelTypesByLayoutId,\n [panelNode.id]: panelType ?? panelTypesByLayoutId[panelNode.id],\n };\n\n if (!isLayoutGridNode(layout)) {\n const dashboardPanelPrefix = `dashboard:${dashboardId}:panel:`;\n const expectedPanelIds = new Set(\n [...collectPanelIds(layout)].filter((panelId) =>\n panelId.startsWith(dashboardPanelPrefix),\n ),\n );\n expectedPanelIds.add(panelNode.id);\n const normalizedLayout = normalizeDashboardGridLayout(\n layout,\n dashboardId,\n expectedPanelIds,\n nextPanelTypesByLayoutId,\n );\n return appendPanelToGridLayout(\n normalizedLayout,\n dashboardId,\n panelNode,\n panelType,\n nextPanelTypesByLayoutId,\n );\n }\n\n const hasChild = layout.children.some((child) => {\n if (isLayoutNodeKey(child)) return child === panelNode.id;\n return child.id === panelNode.id;\n });\n const children = hasChild ? layout.children : [...layout.children, panelNode];\n const layouts = Object.fromEntries(\n Object.entries(\n createDashboardGridLayoutsForChildren(\n children,\n layout.layouts,\n layout.cols,\n nextPanelTypesByLayoutId,\n ) ?? {},\n ).map(([breakpoint, breakpointLayout]) => {\n if (breakpointLayout.some((item) => item.i === panelNode.id)) {\n return [breakpoint, breakpointLayout];\n }\n return [\n breakpoint,\n [\n ...breakpointLayout,\n createDashboardGridItem(\n panelNode.id,\n breakpointLayout,\n getGridColsForBreakpoint(layout.cols, breakpoint),\n nextPanelTypesByLayoutId[panelNode.id],\n ),\n ],\n ];\n }),\n );\n\n return {\n ...layout,\n children,\n layouts,\n };\n}\n\nfunction removePanelFromLayout(\n layout: LayoutNode | null,\n panelId: string,\n): LayoutNode | null {\n if (!layout) return null;\n\n if (isLayoutNodeKey(layout)) {\n return layout === panelId ? null : layout;\n }\n\n if (isLayoutPanelNode(layout)) {\n return layout.id === panelId ? null : layout;\n }\n\n if (isLayoutSplitNode(layout)) {\n const nextChildren = layout.children\n .map((child) => removePanelFromLayout(child, panelId))\n .filter((child): child is LayoutNode => child !== null);\n\n if (nextChildren.length === 0) return null;\n if (nextChildren.length === 1) return nextChildren[0] ?? null;\n\n return {...layout, children: nextChildren};\n }\n\n if (isLayoutGridNode(layout)) {\n const nextChildren = layout.children.filter((child) => {\n if (isLayoutNodeKey(child)) return child !== panelId;\n return child.id !== panelId;\n });\n const nextLayouts = layout.layouts\n ? Object.fromEntries(\n Object.entries(layout.layouts).map(\n ([breakpoint, breakpointLayout]) => [\n breakpoint,\n breakpointLayout.filter((item) => item.i !== panelId),\n ],\n ),\n )\n : layout.layouts;\n\n if (nextChildren.length === 0) return null;\n return {...layout, children: nextChildren, layouts: nextLayouts};\n }\n\n return layout;\n}\n\nfunction collectPanelIds(\n layout: LayoutNode | null,\n panelIds = new Set<string>(),\n): Set<string> {\n if (!layout) return panelIds;\n if (isLayoutNodeKey(layout)) {\n panelIds.add(layout);\n return panelIds;\n }\n if (isLayoutPanelNode(layout)) {\n panelIds.add(layout.id);\n return panelIds;\n }\n if (isLayoutSplitNode(layout)) {\n for (const child of layout.children) {\n collectPanelIds(child, panelIds);\n }\n }\n if (isLayoutGridNode(layout)) {\n for (const child of layout.children) {\n collectPanelIds(child, panelIds);\n }\n }\n return panelIds;\n}\n\nfunction ensureLayoutContainsDashboardPanels(\n layout: LayoutNode | null,\n dashboardId: string,\n panelIds: string[],\n layoutType: MosaicDashboardLayoutType = 'dock',\n panelTypesByLayoutId: DashboardPanelTypesByLayoutId = {},\n): LayoutNode | null {\n let nextLayout = layout;\n\n if (layoutType === 'grid') {\n const expectedPanelIds = new Set(\n panelIds.map((panelId) =>\n getMosaicDashboardPanelId(dashboardId, panelId),\n ),\n );\n nextLayout = normalizeDashboardGridLayout(\n nextLayout,\n dashboardId,\n expectedPanelIds,\n panelTypesByLayoutId,\n );\n }\n\n const existing = collectPanelIds(nextLayout);\n for (const panelId of panelIds) {\n const layoutPanelId = getMosaicDashboardPanelId(dashboardId, panelId);\n if (!existing.has(layoutPanelId)) {\n const panelNode = createDashboardPanelNode(dashboardId, panelId);\n nextLayout =\n layoutType === 'grid'\n ? appendPanelToGridLayout(\n nextLayout,\n dashboardId,\n panelNode,\n panelTypesByLayoutId[layoutPanelId],\n panelTypesByLayoutId,\n )\n : appendPanelToLayout(nextLayout, panelNode);\n existing.add(layoutPanelId);\n }\n }\n\n return nextLayout;\n}\n\nexport function isChartPanelConfig(\n panel: MosaicDashboardPanelConfig,\n): panel is ChartPanelConfig {\n return panel.type === MOSAIC_DASHBOARD_CHART_PANEL_TYPE;\n}\n\nexport function getMosaicDashboardPanelId(\n dashboardId: string,\n panelId: string,\n): string {\n return `dashboard:${dashboardId}:panel:${panelId}`;\n}\n\nexport function getMosaicDashboardDockId(dashboardId: string): string {\n return `dashboard:${dashboardId}:dock`;\n}\n\nexport function getMosaicDashboardGridId(dashboardId: string): string {\n return `dashboard:${dashboardId}:grid`;\n}\n\nexport function getMosaicDashboardSelectionName(dashboardId: string): string {\n return `dashboard:${dashboardId}:brush`;\n}\n\nfunction destroyDashboardRuntimeChart(\n chart: RetainedVgPlotChart | undefined,\n): void {\n if (!chart) return;\n destroyRetainedVgPlotChart(chart);\n}\n\nfunction evictDashboardSelection(\n state: MosaicDashboardStoreState,\n dashboardId: string,\n): void {\n state.mosaic.selections[\n getMosaicDashboardSelectionName(dashboardId)\n ]?.reset();\n}\n\nfunction shouldEvictPanelRuntimeForPatch(\n panel: MosaicDashboardPanelConfig,\n patch: Partial<Omit<MosaicDashboardPanelConfig, 'id'>>,\n): boolean {\n if (patch.type && patch.type !== panel.type) {\n return true;\n }\n\n if (panel.type === MOSAIC_DASHBOARD_CHART_PANEL_TYPE) {\n return Boolean('config' in patch && patch.config);\n }\n\n return false;\n}\n\nexport function createDefaultMosaicDashboardConfig(\n props?: Partial<MosaicDashboardSliceConfig>,\n): MosaicDashboardSliceConfig {\n return MosaicDashboardSliceConfig.parse({\n dashboardsById: {},\n ...props,\n });\n}\n\ntype CreateMosaicDashboardSliceProps = {\n config?: Partial<MosaicDashboardSliceConfig>;\n panelRenderers?: Record<string, MosaicDashboardPanelRenderer>;\n addPanelActions?: MosaicDashboardAddPanelAction[];\n chartTypes?: ChartTypeDefinition[];\n};\nexport type {CreateMosaicDashboardSliceProps};\n\nexport function createMosaicDashboardSlice(\n props: CreateMosaicDashboardSliceProps = {},\n) {\n return createSlice<MosaicDashboardSliceState, MosaicDashboardStoreState>(\n (set, get) => ({\n mosaicDashboard: {\n config: createDefaultMosaicDashboardConfig(props.config),\n runtime: {\n retainedChartsByPanelId: {},\n panelIssuesByPanelId: {},\n },\n chartTypes: props.chartTypes,\n addPanelActions: props.addPanelActions ?? [],\n panelRenderers: props.panelRenderers ?? {},\n\n createDashboard(title, layoutType) {\n const dashboardId = createId();\n get().mosaicDashboard.ensureDashboard(dashboardId, title, layoutType);\n return dashboardId;\n },\n\n ensureDashboard(dashboardId, title, layoutType) {\n set((state) =>\n produce(state, (draft) => {\n const existing =\n draft.mosaicDashboard.config.dashboardsById[dashboardId];\n if (existing) {\n if (title && existing.title !== title) {\n existing.title = title;\n existing.updatedAt = Date.now();\n }\n return;\n }\n draft.mosaicDashboard.config.dashboardsById[dashboardId] = {\n id: dashboardId,\n title: title ?? 'Dashboard',\n layoutType: layoutType ?? 'dock',\n selectedTable: undefined,\n panels: [],\n layout:\n layoutType === 'grid'\n ? createDashboardGridLayout(dashboardId)\n : null,\n updatedAt: Date.now(),\n };\n }),\n );\n },\n\n removeDashboard(dashboardId) {\n get().mosaicDashboard.evictDashboardRuntime(dashboardId, {\n resetSelection: true,\n });\n set((state) =>\n produce(state, (draft) => {\n delete draft.mosaicDashboard.config.dashboardsById[dashboardId];\n }),\n );\n },\n\n getDashboard(dashboardId) {\n return get().mosaicDashboard.config.dashboardsById[dashboardId];\n },\n\n setConfig(config: MosaicDashboardSliceConfig) {\n set((state) =>\n produce(state, (draft) => {\n draft.mosaicDashboard.config = config;\n }),\n );\n },\n\n setSelectedTable(dashboardId, tableName) {\n get().mosaicDashboard.ensureDashboard(dashboardId);\n set((state) =>\n produce(state, (draft) => {\n const dashboard =\n draft.mosaicDashboard.config.dashboardsById[dashboardId];\n if (!dashboard) return;\n dashboard.selectedTable = tableName;\n dashboard.updatedAt = Date.now();\n }),\n );\n },\n\n setLastSelectedTable(dashboardId, tableName) {\n get().mosaicDashboard.ensureDashboard(dashboardId);\n set((state) =>\n produce(state, (draft) => {\n const dashboard =\n draft.mosaicDashboard.config.dashboardsById[dashboardId];\n if (!dashboard) return;\n dashboard.lastSelectedTable = tableName;\n dashboard.updatedAt = Date.now();\n }),\n );\n },\n\n registerPanelRenderer(type, renderer) {\n set((state) =>\n produce(state, (draft) => {\n draft.mosaicDashboard.panelRenderers[type] = renderer;\n }),\n );\n },\n\n unregisterPanelRenderer(type) {\n set((state) =>\n produce(state, (draft) => {\n delete draft.mosaicDashboard.panelRenderers[type];\n }),\n );\n },\n\n addPanel(dashboardId, panel) {\n get().mosaicDashboard.ensureDashboard(dashboardId);\n set((state) =>\n produce(state, (draft) => {\n const dashboard =\n draft.mosaicDashboard.config.dashboardsById[dashboardId];\n if (!dashboard) return;\n\n dashboard.panels.push(panel);\n const panelNode = createDashboardPanelNode(dashboardId, panel.id);\n const panelTypesByLayoutId = getDashboardPanelTypesByLayoutId(\n dashboardId,\n dashboard.panels,\n );\n dashboard.layout =\n dashboard.layoutType === 'grid'\n ? appendPanelToGridLayout(\n dashboard.layout,\n dashboardId,\n panelNode,\n panel.type,\n panelTypesByLayoutId,\n )\n : appendPanelToLayout(dashboard.layout, panelNode);\n dashboard.updatedAt = Date.now();\n }),\n );\n return panel.id;\n },\n\n updatePanel(dashboardId, panelId, patch) {\n const existing = get().mosaicDashboard.config.dashboardsById[\n dashboardId\n ]?.panels.find((candidate) => candidate.id === panelId);\n const shouldEvict = existing\n ? shouldEvictPanelRuntimeForPatch(existing, patch)\n : false;\n set((state) =>\n produce(state, (draft) => {\n const dashboard =\n draft.mosaicDashboard.config.dashboardsById[dashboardId];\n if (!dashboard) return;\n\n const panel = dashboard.panels.find(\n (candidate) => candidate.id === panelId,\n );\n if (!panel) return;\n\n Object.assign(panel, patch);\n dashboard.updatedAt = Date.now();\n }),\n );\n if (shouldEvict) {\n get().mosaicDashboard.evictPanelRuntime(dashboardId, panelId);\n }\n },\n\n removePanel(dashboardId, panelId) {\n get().mosaicDashboard.evictPanelRuntime(dashboardId, panelId);\n set((state) =>\n produce(state, (draft) => {\n const dashboard =\n draft.mosaicDashboard.config.dashboardsById[dashboardId];\n if (!dashboard) return;\n\n dashboard.panels = dashboard.panels.filter(\n (panel) => panel.id !== panelId,\n );\n dashboard.layout = removePanelFromLayout(\n dashboard.layout,\n getMosaicDashboardPanelId(dashboardId, panelId),\n );\n dashboard.updatedAt = Date.now();\n }),\n );\n },\n\n getRetainedChart(dashboardId, panelId) {\n return get().mosaicDashboard.runtime.retainedChartsByPanelId[\n getMosaicDashboardPanelId(dashboardId, panelId)\n ];\n },\n\n setRetainedChart(dashboardId, panelId, chart) {\n const runtimePanelId = getMosaicDashboardPanelId(\n dashboardId,\n panelId,\n );\n const previous =\n get().mosaicDashboard.runtime.retainedChartsByPanelId[\n runtimePanelId\n ];\n if (previous && previous !== chart) {\n destroyDashboardRuntimeChart(previous);\n }\n set((state) => ({\n mosaicDashboard: {\n ...state.mosaicDashboard,\n runtime: {\n ...state.mosaicDashboard.runtime,\n retainedChartsByPanelId: {\n ...state.mosaicDashboard.runtime.retainedChartsByPanelId,\n [runtimePanelId]: chart,\n },\n },\n },\n }));\n },\n\n getPanelIssue(dashboardId, panelId) {\n return get().mosaicDashboard.runtime.panelIssuesByPanelId[\n getMosaicDashboardPanelId(dashboardId, panelId)\n ];\n },\n\n reportPanelIssue(dashboardId, panelId, issue) {\n const runtimePanelId = getMosaicDashboardPanelId(\n dashboardId,\n panelId,\n );\n set((state) => ({\n mosaicDashboard: {\n ...state.mosaicDashboard,\n runtime: {\n ...state.mosaicDashboard.runtime,\n panelIssuesByPanelId: {\n ...state.mosaicDashboard.runtime.panelIssuesByPanelId,\n [runtimePanelId]: issue,\n },\n },\n },\n }));\n },\n\n clearPanelIssue(dashboardId, panelId) {\n const runtimePanelId = getMosaicDashboardPanelId(\n dashboardId,\n panelId,\n );\n if (\n !get().mosaicDashboard.runtime.panelIssuesByPanelId[runtimePanelId]\n ) {\n return;\n }\n set((state) => {\n const nextPanelIssuesByPanelId = {\n ...state.mosaicDashboard.runtime.panelIssuesByPanelId,\n };\n delete nextPanelIssuesByPanelId[runtimePanelId];\n return {\n mosaicDashboard: {\n ...state.mosaicDashboard,\n runtime: {\n ...state.mosaicDashboard.runtime,\n panelIssuesByPanelId: nextPanelIssuesByPanelId,\n },\n },\n };\n });\n },\n\n evictPanelRuntime(dashboardId, panelId) {\n const runtimePanelId = getMosaicDashboardPanelId(\n dashboardId,\n panelId,\n );\n const existing =\n get().mosaicDashboard.runtime.retainedChartsByPanelId[\n runtimePanelId\n ];\n destroyDashboardRuntimeChart(existing);\n set((state) => {\n const nextRetainedChartsByPanelId = {\n ...state.mosaicDashboard.runtime.retainedChartsByPanelId,\n };\n const nextPanelIssuesByPanelId = {\n ...state.mosaicDashboard.runtime.panelIssuesByPanelId,\n };\n delete nextRetainedChartsByPanelId[runtimePanelId];\n delete nextPanelIssuesByPanelId[runtimePanelId];\n return {\n mosaicDashboard: {\n ...state.mosaicDashboard,\n runtime: {\n ...state.mosaicDashboard.runtime,\n retainedChartsByPanelId: nextRetainedChartsByPanelId,\n panelIssuesByPanelId: nextPanelIssuesByPanelId,\n },\n },\n };\n });\n },\n\n evictDashboardRuntime(dashboardId, options) {\n const runtimePrefix = `dashboard:${dashboardId}:panel:`;\n const existingEntries = Object.entries(\n get().mosaicDashboard.runtime.retainedChartsByPanelId,\n ).filter(([runtimePanelId]) =>\n runtimePanelId.startsWith(runtimePrefix),\n );\n const existingIssueEntries = Object.keys(\n get().mosaicDashboard.runtime.panelIssuesByPanelId,\n ).filter((runtimePanelId) =>\n runtimePanelId.startsWith(runtimePrefix),\n );\n\n existingEntries.forEach(([, chart]) => {\n destroyDashboardRuntimeChart(chart);\n });\n\n if (options?.resetSelection) {\n evictDashboardSelection(get(), dashboardId);\n }\n\n set((state) => {\n const nextRetainedChartsByPanelId = {\n ...state.mosaicDashboard.runtime.retainedChartsByPanelId,\n };\n const nextPanelIssuesByPanelId = {\n ...state.mosaicDashboard.runtime.panelIssuesByPanelId,\n };\n for (const [runtimePanelId] of existingEntries) {\n delete nextRetainedChartsByPanelId[runtimePanelId];\n }\n for (const runtimePanelId of existingIssueEntries) {\n delete nextPanelIssuesByPanelId[runtimePanelId];\n }\n return {\n mosaicDashboard: {\n ...state.mosaicDashboard,\n runtime: {\n ...state.mosaicDashboard.runtime,\n retainedChartsByPanelId: nextRetainedChartsByPanelId,\n panelIssuesByPanelId: nextPanelIssuesByPanelId,\n },\n },\n };\n });\n },\n\n clearAllDashboardRuntime() {\n Object.values(\n get().mosaicDashboard.runtime.retainedChartsByPanelId,\n ).forEach((chart) => {\n destroyDashboardRuntimeChart(chart);\n });\n set((state) => ({\n mosaicDashboard: {\n ...state.mosaicDashboard,\n runtime: {\n ...state.mosaicDashboard.runtime,\n retainedChartsByPanelId: {},\n panelIssuesByPanelId: {},\n },\n },\n }));\n },\n\n setLayout(dashboardId, layout) {\n get().mosaicDashboard.ensureDashboard(dashboardId);\n set((state) =>\n produce(state, (draft) => {\n const dashboard =\n draft.mosaicDashboard.config.dashboardsById[dashboardId];\n if (!dashboard) return;\n\n const panelIds = dashboard.panels.map((panel) => panel.id);\n const panelTypesByLayoutId = getDashboardPanelTypesByLayoutId(\n dashboardId,\n dashboard.panels,\n );\n dashboard.layout = ensureLayoutContainsDashboardPanels(\n layout,\n dashboardId,\n panelIds,\n dashboard.layoutType,\n panelTypesByLayoutId,\n );\n dashboard.updatedAt = Date.now();\n }),\n );\n },\n },\n }),\n );\n}\n\nexport function useStoreWithMosaicDashboard<T>(\n selector: (state: MosaicDashboardStoreState) => T,\n): T {\n return useBaseRoomStore<BaseRoomStoreState, T>((state) =>\n selector(state as unknown as MosaicDashboardStoreState),\n );\n}\n"]}
1
+ {"version":3,"file":"MosaicDashboardSlice.js","sourceRoot":"","sources":["../../src/dashboard/MosaicDashboardSlice.ts"],"names":[],"mappings":"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","sourcesContent":["import {createId} from '@paralleldrive/cuid2';\nimport {DbSliceState} from '@sqlrooms/db';\nimport {type DuckDbSliceState} from '@sqlrooms/duckdb';\nimport {\n DEFAULT_GRID_COLS,\n getGridColsForBreakpoint,\n type LayoutSliceState,\n} from '@sqlrooms/layout';\nimport {\n type LayoutGridItem,\n type LayoutGridNode,\n LayoutNode,\n type LayoutPanelNode,\n isLayoutGridNode,\n isLayoutNodeKey,\n isLayoutPanelNode,\n isLayoutSplitNode,\n} from '@sqlrooms/layout-config';\nimport {\n BaseRoomStoreState,\n createSlice,\n SliceFunctions,\n useBaseRoomStore,\n} from '@sqlrooms/room-store';\nimport {produce} from 'immer';\nimport type {ComponentType} from 'react';\nimport {z} from 'zod';\nimport type {ChartTypeDefinition} from '../charts/chart-types/base-types';\nimport {ChartConfig} from '../charts/chart-types/chart-config';\nimport {type MosaicSliceState} from '../MosaicSlice';\nimport {\n destroyRetainedVgPlotChart,\n type RetainedVgPlotChart,\n} from '../VgPlotChart';\nimport type {MosaicDashboardAddPanelAction} from './action-types';\nimport type {ChartRuntimeIssue} from '../chart-runtime';\n\n/**\n * Panel key used for function-form panel definitions registered by\n * `MosaicDashboardPanels`. Individual dashboard panels are represented as\n * `LayoutPanelNode` entries whose `panel` property carries\n * `{ key: MOSAIC_DASHBOARD_PANEL, meta: { dashboardId, panelId } }`.\n */\nexport const MOSAIC_DASHBOARD_PANEL = 'mosaic-dashboard-panel';\nexport const MOSAIC_DASHBOARD_CHART_PANEL_TYPE = 'vgplot';\nexport const MOSAIC_DASHBOARD_DATA_TABLE_EXPLORER_PANEL_TYPE =\n 'data-table-explorer';\n\nexport const MosaicDashboardLayoutType = z.enum(['dock', 'grid']);\nexport type MosaicDashboardLayoutType = z.infer<\n typeof MosaicDashboardLayoutType\n>;\n\n// DataTableExplorer panel config\nexport const DataTableExplorerPanelConfig = z.object({\n pageSize: z.number().optional(),\n});\nexport type DataTableExplorerPanelConfig = z.infer<\n typeof DataTableExplorerPanelConfig\n>;\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 config: ChartConfig,\n});\nexport type ChartPanelConfig = z.infer<typeof ChartPanelConfig>;\n\nexport const DataTableExplorerPanel = z.object({\n id: z.string(),\n type: z.literal(MOSAIC_DASHBOARD_DATA_TABLE_EXPLORER_PANEL_TYPE),\n title: z.string().default('Panel'),\n config: DataTableExplorerPanelConfig,\n});\nexport type DataTableExplorerPanel = z.infer<typeof DataTableExplorerPanel>;\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 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, DataTableExplorerPanel])\n .or(LegacyPanelConfig);\nexport type MosaicDashboardPanelConfig = z.infer<\n typeof MosaicDashboardPanelConfig\n>;\n\nexport type MosaicDashboardPanelRendererProps<\n TPanel extends MosaicDashboardPanelConfig = MosaicDashboardPanelConfig,\n> = {\n dashboardId: string;\n dashboard: MosaicDashboardEntry;\n panel: TPanel;\n selectionName: string;\n};\n\nexport type ChartPanelRendererProps =\n MosaicDashboardPanelRendererProps<ChartPanelConfig>;\nexport type DataTableExplorerPanelRendererProps =\n MosaicDashboardPanelRendererProps<DataTableExplorerPanel>;\n\nexport type MosaicDashboardPanelRenderer<\n TPanel extends MosaicDashboardPanelConfig = MosaicDashboardPanelConfig,\n> = {\n component: ComponentType<MosaicDashboardPanelRendererProps<TPanel>>;\n headerActions?: ComponentType<MosaicDashboardPanelRendererProps<TPanel>>;\n icon?: ComponentType<{className?: string}>;\n};\n\n// Type-erased renderer for storage (avoids circular dependency issues)\nexport type AnyPanelRenderer = {\n component: ComponentType<any>;\n headerActions?: ComponentType<any>;\n icon?: ComponentType<{className?: string}>;\n};\n\n// Map of panel type string to panel config type\nexport type PanelTypeMap = {\n [MOSAIC_DASHBOARD_CHART_PANEL_TYPE]: ChartPanelConfig;\n [MOSAIC_DASHBOARD_DATA_TABLE_EXPLORER_PANEL_TYPE]: DataTableExplorerPanel;\n};\n\n// Panel renderers record - use type-erased renderers for runtime compatibility\nexport type PanelRenderersRecord = Record<string, AnyPanelRenderer>;\n\nexport function createMosaicDashboardChartPanelConfig(\n title: string,\n config: ChartConfig,\n): ChartPanelConfig {\n return {\n id: createId(),\n type: MOSAIC_DASHBOARD_CHART_PANEL_TYPE,\n title,\n config,\n };\n}\n\nexport function createMosaicDashboardDataTableExplorerPanelConfig(\n options: {\n title?: string;\n config?: DataTableExplorerPanelConfig;\n } = {},\n): DataTableExplorerPanel {\n return {\n id: createId(),\n type: MOSAIC_DASHBOARD_DATA_TABLE_EXPLORER_PANEL_TYPE,\n title: options.title ?? 'Data Table Explorer',\n config: options.config ?? {},\n };\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 lastSelectedTable: z.string().optional(),\n panels: z.array(MosaicDashboardPanelConfig).default([]),\n layout: LayoutNode.nullable().default(null),\n updatedAt: z.number().default(0),\n});\nexport type MosaicDashboardEntry = z.infer<typeof MosaicDashboardEntry>;\n\nexport const MosaicDashboardSliceConfig = z.object({\n dashboardsById: z.record(z.string(), MosaicDashboardEntry).default({}),\n});\nexport type MosaicDashboardSliceConfig = z.infer<\n typeof MosaicDashboardSliceConfig\n>;\n\nexport type MosaicDashboardSliceState = {\n mosaicDashboard: SliceFunctions & {\n config: MosaicDashboardSliceConfig;\n runtime: {\n /**\n * Live vgplot chart instances retained across transient dashboard panel\n * remounts, keyed by `getMosaicDashboardPanelId(dashboardId, panelId)`.\n *\n * This is runtime-only state: entries are never serialized with dashboard\n * config and must be evicted when their panel/dashboard lifecycle ends.\n */\n retainedChartsByPanelId: Record<string, RetainedVgPlotChart>;\n /**\n * Runtime-only chart issues keyed by `getMosaicDashboardPanelId`.\n * These are live diagnostics for UI and AI tools, not persisted config.\n */\n panelIssuesByPanelId: Record<string, ChartRuntimeIssue>;\n };\n chartTypes?: ChartTypeDefinition[];\n addPanelActions: MosaicDashboardAddPanelAction[];\n createDashboard: (\n title?: string,\n layoutType?: MosaicDashboardLayoutType,\n ) => string;\n ensureDashboard: (\n dashboardId: string,\n title?: string,\n layoutType?: MosaicDashboardLayoutType,\n ) => void;\n removeDashboard: (dashboardId: string) => void;\n getDashboard: (dashboardId: string) => MosaicDashboardEntry | undefined;\n setSelectedTable: (dashboardId: string, tableName: string) => void;\n setLastSelectedTable: (dashboardId: string, tableName: string) => void;\n panelRenderers: PanelRenderersRecord;\n registerPanelRenderer: (type: string, renderer: AnyPanelRenderer) => void;\n unregisterPanelRenderer: (type: string) => void;\n addPanel: (\n dashboardId: string,\n panel: MosaicDashboardPanelConfig,\n ) => MosaicDashboardPanelConfig['id'];\n updatePanel: (\n dashboardId: string,\n panelId: string,\n patch: Partial<Omit<MosaicDashboardPanelConfig, 'id'>>,\n ) => void;\n removePanel: (dashboardId: string, panelId: string) => void;\n getRetainedChart: (\n dashboardId: string,\n panelId: string,\n ) => RetainedVgPlotChart | undefined;\n getRetainedChartByKey: (\n runtimeKey: string,\n ) => RetainedVgPlotChart | undefined;\n setRetainedChart: (\n dashboardId: string,\n panelId: string,\n chart: RetainedVgPlotChart,\n ) => void;\n setRetainedChartByKey: (\n runtimeKey: string,\n chart: RetainedVgPlotChart,\n ) => void;\n getPanelIssue: (\n dashboardId: string,\n panelId: string,\n ) => ChartRuntimeIssue | undefined;\n getPanelIssueByKey: (runtimeKey: string) => ChartRuntimeIssue | undefined;\n reportPanelIssue: (\n dashboardId: string,\n panelId: string,\n issue: ChartRuntimeIssue,\n ) => void;\n reportPanelIssueByKey: (\n runtimeKey: string,\n issue: ChartRuntimeIssue,\n ) => void;\n clearPanelIssue: (dashboardId: string, panelId: string) => void;\n clearPanelIssueByKey: (runtimeKey: string) => void;\n evictPanelRuntime: (dashboardId: string, panelId: string) => void;\n evictPanelRuntimeByKey: (runtimeKey: string) => void;\n evictDashboardRuntime: (\n dashboardId: string,\n options?: {resetSelection?: boolean},\n ) => void;\n clearAllDashboardRuntime: () => void;\n setLayout: (dashboardId: string, layout: LayoutNode | null) => void;\n };\n};\n\nexport type MosaicDashboardStoreState = BaseRoomStoreState &\n DbSliceState &\n DuckDbSliceState &\n LayoutSliceState &\n MosaicSliceState &\n MosaicDashboardSliceState;\n\ntype DashboardPanelTypesByLayoutId = Record<string, string | undefined>;\n\n// ---------------------------------------------------------------------------\n// Layout tree helpers (operate on the new LayoutNode types)\n// ---------------------------------------------------------------------------\n\nfunction createDashboardPanelNode(\n dashboardId: string,\n panelId: string,\n): LayoutPanelNode {\n return {\n type: 'panel',\n id: getMosaicDashboardPanelId(dashboardId, panelId),\n minSize: 200,\n panel: {\n key: MOSAIC_DASHBOARD_PANEL,\n meta: {dashboardId, panelId},\n },\n };\n}\n\nfunction getDashboardPanelTypesByLayoutId(\n dashboardId: string,\n panels: MosaicDashboardPanelConfig[],\n): DashboardPanelTypesByLayoutId {\n return Object.fromEntries(\n panels.map((panel) => [\n getMosaicDashboardPanelId(dashboardId, panel.id),\n panel.type,\n ]),\n );\n}\n\nfunction appendPanelToLayout(\n layout: LayoutNode | null,\n panelNode: LayoutPanelNode,\n): LayoutNode {\n if (!layout) {\n return panelNode;\n }\n return {\n type: 'split',\n id: `split-${createId()}`,\n direction: 'row',\n children: [layout, panelNode],\n };\n}\n\nfunction createDashboardGridLayout(\n dashboardId: string,\n panelNode?: LayoutPanelNode,\n): LayoutGridNode {\n const children = panelNode ? [panelNode] : [];\n const layouts = createDashboardGridLayoutsForChildren(children);\n return {\n type: 'grid',\n id: getMosaicDashboardGridId(dashboardId),\n children,\n rowHeight: 150,\n margin: [12, 12],\n containerPadding: [0, 0],\n compactType: 'vertical',\n preventCollision: false,\n resizeHandles: ['e', 's', 'w', 'se', 'sw'],\n layouts,\n };\n}\n\nfunction getLayoutChildId(node: LayoutNode): string {\n return isLayoutNodeKey(node) ? node : node.id;\n}\n\nfunction createDashboardGridItem(\n panelId: string,\n layout: LayoutGridItem[],\n cols = 12,\n panelType?: string,\n): LayoutGridItem {\n const effectiveCols = Math.max(1, cols);\n const w =\n panelType === MOSAIC_DASHBOARD_DATA_TABLE_EXPLORER_PANEL_TYPE\n ? effectiveCols\n : Math.max(1, Math.ceil(effectiveCols / 2));\n const h = 2;\n const bottom = layout.reduce(\n (max, item) => Math.max(max, item.y + item.h),\n 0,\n );\n\n for (let y = 0; y <= bottom; y += 1) {\n for (let x = 0; x <= effectiveCols - w; x += 1) {\n const overlaps = layout.some(\n (item) =>\n x < item.x + item.w &&\n x + w > item.x &&\n y < item.y + item.h &&\n y + h > item.y,\n );\n if (!overlaps) {\n return {\n i: panelId,\n x,\n y,\n w,\n h,\n };\n }\n }\n }\n\n return {\n i: panelId,\n x: 0,\n y: bottom,\n w,\n h,\n };\n}\n\nfunction createDashboardGridLayoutsForChildren(\n children: LayoutNode[],\n sourceLayouts?: LayoutGridNode['layouts'],\n cols?: LayoutGridNode['cols'],\n panelTypesByLayoutId: Record<string, string | undefined> = {},\n): LayoutGridNode['layouts'] {\n const childIds = new Set(children.map((child) => getLayoutChildId(child)));\n const sourceEntries = new Map<string, LayoutGridItem[]>(\n Object.keys(DEFAULT_GRID_COLS).map((breakpoint) => [breakpoint, []]),\n );\n for (const [breakpoint, breakpointLayout] of Object.entries(\n sourceLayouts ?? {},\n )) {\n sourceEntries.set(breakpoint, breakpointLayout);\n }\n\n return Object.fromEntries(\n [...sourceEntries.entries()].map(([breakpoint, breakpointLayout]) => {\n const nextLayout = breakpointLayout.filter((item) =>\n childIds.has(item.i),\n );\n const layoutItemIds = new Set(nextLayout.map((item) => item.i));\n\n for (const child of children) {\n const childId = getLayoutChildId(child);\n if (!layoutItemIds.has(childId)) {\n const item = createDashboardGridItem(\n childId,\n nextLayout,\n getGridColsForBreakpoint(cols, breakpoint),\n panelTypesByLayoutId[childId],\n );\n nextLayout.push(item);\n layoutItemIds.add(childId);\n }\n }\n\n return [breakpoint, nextLayout];\n }),\n );\n}\n\nfunction isExpectedDashboardPanelNode(\n node: LayoutNode,\n expectedPanelIds: Set<string>,\n): boolean {\n return expectedPanelIds.has(getLayoutChildId(node));\n}\n\nfunction collectDashboardPanelNodes(\n layout: LayoutNode | null,\n expectedPanelIds: Set<string>,\n nodes: LayoutNode[] = [],\n seen = new Set<string>(),\n): LayoutNode[] {\n if (!layout) return nodes;\n\n if (isLayoutNodeKey(layout) || isLayoutPanelNode(layout)) {\n if (isExpectedDashboardPanelNode(layout, expectedPanelIds)) {\n const id = getLayoutChildId(layout);\n if (!seen.has(id)) {\n nodes.push(layout);\n seen.add(id);\n }\n }\n return nodes;\n }\n\n if (isLayoutSplitNode(layout) || isLayoutGridNode(layout)) {\n for (const child of layout.children) {\n collectDashboardPanelNodes(child, expectedPanelIds, nodes, seen);\n }\n }\n\n return nodes;\n}\n\nfunction normalizeDashboardGridLayout(\n layout: LayoutNode | null,\n dashboardId: string,\n expectedPanelIds: Set<string>,\n panelTypesByLayoutId: DashboardPanelTypesByLayoutId = {},\n): LayoutGridNode {\n const collectedPanelIds = collectPanelIds(layout);\n const existingExpectedPanelIds = new Set(\n [...expectedPanelIds].filter((panelId) => collectedPanelIds.has(panelId)),\n );\n const children = collectDashboardPanelNodes(layout, existingExpectedPanelIds);\n const layouts = createDashboardGridLayoutsForChildren(\n children,\n isLayoutGridNode(layout) ? layout.layouts : undefined,\n isLayoutGridNode(layout) ? layout.cols : undefined,\n panelTypesByLayoutId,\n );\n\n if (isLayoutGridNode(layout)) {\n return {\n ...layout,\n children,\n layouts,\n };\n }\n\n return {\n ...createDashboardGridLayout(dashboardId),\n children,\n layouts,\n };\n}\n\nfunction appendPanelToGridLayout(\n layout: LayoutNode | null,\n dashboardId: string,\n panelNode: LayoutPanelNode,\n panelType?: string,\n panelTypesByLayoutId: DashboardPanelTypesByLayoutId = {},\n): LayoutGridNode {\n const nextPanelTypesByLayoutId = {\n ...panelTypesByLayoutId,\n [panelNode.id]: panelType ?? panelTypesByLayoutId[panelNode.id],\n };\n\n if (!isLayoutGridNode(layout)) {\n const dashboardPanelPrefix = `dashboard:${dashboardId}:panel:`;\n const expectedPanelIds = new Set(\n [...collectPanelIds(layout)].filter((panelId) =>\n panelId.startsWith(dashboardPanelPrefix),\n ),\n );\n expectedPanelIds.add(panelNode.id);\n const normalizedLayout = normalizeDashboardGridLayout(\n layout,\n dashboardId,\n expectedPanelIds,\n nextPanelTypesByLayoutId,\n );\n return appendPanelToGridLayout(\n normalizedLayout,\n dashboardId,\n panelNode,\n panelType,\n nextPanelTypesByLayoutId,\n );\n }\n\n const hasChild = layout.children.some((child) => {\n if (isLayoutNodeKey(child)) return child === panelNode.id;\n return child.id === panelNode.id;\n });\n const children = hasChild ? layout.children : [...layout.children, panelNode];\n const layouts = Object.fromEntries(\n Object.entries(\n createDashboardGridLayoutsForChildren(\n children,\n layout.layouts,\n layout.cols,\n nextPanelTypesByLayoutId,\n ) ?? {},\n ).map(([breakpoint, breakpointLayout]) => {\n if (breakpointLayout.some((item) => item.i === panelNode.id)) {\n return [breakpoint, breakpointLayout];\n }\n return [\n breakpoint,\n [\n ...breakpointLayout,\n createDashboardGridItem(\n panelNode.id,\n breakpointLayout,\n getGridColsForBreakpoint(layout.cols, breakpoint),\n nextPanelTypesByLayoutId[panelNode.id],\n ),\n ],\n ];\n }),\n );\n\n return {\n ...layout,\n children,\n layouts,\n };\n}\n\nfunction removePanelFromLayout(\n layout: LayoutNode | null,\n panelId: string,\n): LayoutNode | null {\n if (!layout) return null;\n\n if (isLayoutNodeKey(layout)) {\n return layout === panelId ? null : layout;\n }\n\n if (isLayoutPanelNode(layout)) {\n return layout.id === panelId ? null : layout;\n }\n\n if (isLayoutSplitNode(layout)) {\n const nextChildren = layout.children\n .map((child) => removePanelFromLayout(child, panelId))\n .filter((child): child is LayoutNode => child !== null);\n\n if (nextChildren.length === 0) return null;\n if (nextChildren.length === 1) return nextChildren[0] ?? null;\n\n return {...layout, children: nextChildren};\n }\n\n if (isLayoutGridNode(layout)) {\n const nextChildren = layout.children.filter((child) => {\n if (isLayoutNodeKey(child)) return child !== panelId;\n return child.id !== panelId;\n });\n const nextLayouts = layout.layouts\n ? Object.fromEntries(\n Object.entries(layout.layouts).map(\n ([breakpoint, breakpointLayout]) => [\n breakpoint,\n breakpointLayout.filter((item) => item.i !== panelId),\n ],\n ),\n )\n : layout.layouts;\n\n if (nextChildren.length === 0) return null;\n return {...layout, children: nextChildren, layouts: nextLayouts};\n }\n\n return layout;\n}\n\nfunction collectPanelIds(\n layout: LayoutNode | null,\n panelIds = new Set<string>(),\n): Set<string> {\n if (!layout) return panelIds;\n if (isLayoutNodeKey(layout)) {\n panelIds.add(layout);\n return panelIds;\n }\n if (isLayoutPanelNode(layout)) {\n panelIds.add(layout.id);\n return panelIds;\n }\n if (isLayoutSplitNode(layout)) {\n for (const child of layout.children) {\n collectPanelIds(child, panelIds);\n }\n }\n if (isLayoutGridNode(layout)) {\n for (const child of layout.children) {\n collectPanelIds(child, panelIds);\n }\n }\n return panelIds;\n}\n\nfunction ensureLayoutContainsDashboardPanels(\n layout: LayoutNode | null,\n dashboardId: string,\n panelIds: string[],\n layoutType: MosaicDashboardLayoutType = 'dock',\n panelTypesByLayoutId: DashboardPanelTypesByLayoutId = {},\n): LayoutNode | null {\n let nextLayout = layout;\n\n if (layoutType === 'grid') {\n const expectedPanelIds = new Set(\n panelIds.map((panelId) =>\n getMosaicDashboardPanelId(dashboardId, panelId),\n ),\n );\n nextLayout = normalizeDashboardGridLayout(\n nextLayout,\n dashboardId,\n expectedPanelIds,\n panelTypesByLayoutId,\n );\n }\n\n const existing = collectPanelIds(nextLayout);\n for (const panelId of panelIds) {\n const layoutPanelId = getMosaicDashboardPanelId(dashboardId, panelId);\n if (!existing.has(layoutPanelId)) {\n const panelNode = createDashboardPanelNode(dashboardId, panelId);\n nextLayout =\n layoutType === 'grid'\n ? appendPanelToGridLayout(\n nextLayout,\n dashboardId,\n panelNode,\n panelTypesByLayoutId[layoutPanelId],\n panelTypesByLayoutId,\n )\n : appendPanelToLayout(nextLayout, panelNode);\n existing.add(layoutPanelId);\n }\n }\n\n return nextLayout;\n}\n\nexport function isChartPanelConfig(\n panel: MosaicDashboardPanelConfig,\n): panel is ChartPanelConfig {\n return panel.type === MOSAIC_DASHBOARD_CHART_PANEL_TYPE;\n}\n\nexport function getMosaicDashboardPanelId(\n dashboardId: string,\n panelId: string,\n): string {\n return `dashboard:${dashboardId}:panel:${panelId}`;\n}\n\nexport function getMosaicDashboardDockId(dashboardId: string): string {\n return `dashboard:${dashboardId}:dock`;\n}\n\nexport function getMosaicDashboardGridId(dashboardId: string): string {\n return `dashboard:${dashboardId}:grid`;\n}\n\nexport function getMosaicDashboardSelectionName(dashboardId: string): string {\n return `dashboard:${dashboardId}:brush`;\n}\n\nfunction destroyDashboardRuntimeChart(\n chart: RetainedVgPlotChart | undefined,\n): void {\n if (!chart) return;\n destroyRetainedVgPlotChart(chart);\n}\n\nfunction evictDashboardSelection(\n state: MosaicDashboardStoreState,\n dashboardId: string,\n): void {\n state.mosaic.selections[\n getMosaicDashboardSelectionName(dashboardId)\n ]?.reset();\n}\n\nfunction shouldEvictPanelRuntimeForPatch(\n panel: MosaicDashboardPanelConfig,\n patch: Partial<Omit<MosaicDashboardPanelConfig, 'id'>>,\n): boolean {\n if (patch.type && patch.type !== panel.type) {\n return true;\n }\n\n if (panel.type === MOSAIC_DASHBOARD_CHART_PANEL_TYPE) {\n return Boolean('config' in patch && patch.config);\n }\n\n return false;\n}\n\nexport function createDefaultMosaicDashboardConfig(\n props?: Partial<MosaicDashboardSliceConfig>,\n): MosaicDashboardSliceConfig {\n return MosaicDashboardSliceConfig.parse({\n dashboardsById: {},\n ...props,\n });\n}\n\ntype CreateMosaicDashboardSliceProps = {\n config?: Partial<MosaicDashboardSliceConfig>;\n panelRenderers?: Record<string, MosaicDashboardPanelRenderer>;\n addPanelActions?: MosaicDashboardAddPanelAction[];\n chartTypes?: ChartTypeDefinition[];\n};\nexport type {CreateMosaicDashboardSliceProps};\n\nexport function createMosaicDashboardSlice(\n props: CreateMosaicDashboardSliceProps = {},\n) {\n return createSlice<MosaicDashboardSliceState, MosaicDashboardStoreState>(\n (set, get) => ({\n mosaicDashboard: {\n config: createDefaultMosaicDashboardConfig(props.config),\n runtime: {\n retainedChartsByPanelId: {},\n panelIssuesByPanelId: {},\n },\n chartTypes: props.chartTypes,\n addPanelActions: props.addPanelActions ?? [],\n panelRenderers: props.panelRenderers ?? {},\n\n createDashboard(title, layoutType) {\n const dashboardId = createId();\n get().mosaicDashboard.ensureDashboard(dashboardId, title, layoutType);\n return dashboardId;\n },\n\n ensureDashboard(dashboardId, title, layoutType) {\n set((state) =>\n produce(state, (draft) => {\n const existing =\n draft.mosaicDashboard.config.dashboardsById[dashboardId];\n if (existing) {\n if (title && existing.title !== title) {\n existing.title = title;\n existing.updatedAt = Date.now();\n }\n if (\n layoutType === 'grid' &&\n existing.layoutType === 'dock' &&\n existing.panels.length === 0\n ) {\n existing.layoutType = 'grid';\n existing.layout = createDashboardGridLayout(dashboardId);\n existing.updatedAt = Date.now();\n }\n return;\n }\n draft.mosaicDashboard.config.dashboardsById[dashboardId] = {\n id: dashboardId,\n title: title ?? 'Dashboard',\n layoutType: layoutType ?? 'dock',\n selectedTable: undefined,\n panels: [],\n layout:\n layoutType === 'grid'\n ? createDashboardGridLayout(dashboardId)\n : null,\n updatedAt: Date.now(),\n };\n }),\n );\n },\n\n removeDashboard(dashboardId) {\n get().mosaicDashboard.evictDashboardRuntime(dashboardId, {\n resetSelection: true,\n });\n set((state) =>\n produce(state, (draft) => {\n delete draft.mosaicDashboard.config.dashboardsById[dashboardId];\n }),\n );\n },\n\n getDashboard(dashboardId) {\n return get().mosaicDashboard.config.dashboardsById[dashboardId];\n },\n\n setConfig(config: MosaicDashboardSliceConfig) {\n set((state) =>\n produce(state, (draft) => {\n draft.mosaicDashboard.config = config;\n }),\n );\n },\n\n setSelectedTable(dashboardId, tableName) {\n get().mosaicDashboard.ensureDashboard(dashboardId);\n set((state) =>\n produce(state, (draft) => {\n const dashboard =\n draft.mosaicDashboard.config.dashboardsById[dashboardId];\n if (!dashboard) return;\n dashboard.selectedTable = tableName;\n dashboard.updatedAt = Date.now();\n }),\n );\n },\n\n setLastSelectedTable(dashboardId, tableName) {\n get().mosaicDashboard.ensureDashboard(dashboardId);\n set((state) =>\n produce(state, (draft) => {\n const dashboard =\n draft.mosaicDashboard.config.dashboardsById[dashboardId];\n if (!dashboard) return;\n dashboard.lastSelectedTable = tableName;\n dashboard.updatedAt = Date.now();\n }),\n );\n },\n\n registerPanelRenderer(type, renderer) {\n set((state) =>\n produce(state, (draft) => {\n draft.mosaicDashboard.panelRenderers[type] = renderer;\n }),\n );\n },\n\n unregisterPanelRenderer(type) {\n set((state) =>\n produce(state, (draft) => {\n delete draft.mosaicDashboard.panelRenderers[type];\n }),\n );\n },\n\n addPanel(dashboardId, panel) {\n get().mosaicDashboard.ensureDashboard(dashboardId);\n set((state) =>\n produce(state, (draft) => {\n const dashboard =\n draft.mosaicDashboard.config.dashboardsById[dashboardId];\n if (!dashboard) return;\n\n dashboard.panels.push(panel);\n const panelNode = createDashboardPanelNode(dashboardId, panel.id);\n const panelTypesByLayoutId = getDashboardPanelTypesByLayoutId(\n dashboardId,\n dashboard.panels,\n );\n dashboard.layout =\n dashboard.layoutType === 'grid'\n ? appendPanelToGridLayout(\n dashboard.layout,\n dashboardId,\n panelNode,\n panel.type,\n panelTypesByLayoutId,\n )\n : appendPanelToLayout(dashboard.layout, panelNode);\n dashboard.updatedAt = Date.now();\n }),\n );\n return panel.id;\n },\n\n updatePanel(dashboardId, panelId, patch) {\n const existing = get().mosaicDashboard.config.dashboardsById[\n dashboardId\n ]?.panels.find((candidate) => candidate.id === panelId);\n const shouldEvict = existing\n ? shouldEvictPanelRuntimeForPatch(existing, patch)\n : false;\n set((state) =>\n produce(state, (draft) => {\n const dashboard =\n draft.mosaicDashboard.config.dashboardsById[dashboardId];\n if (!dashboard) return;\n\n const panel = dashboard.panels.find(\n (candidate) => candidate.id === panelId,\n );\n if (!panel) return;\n\n Object.assign(panel, patch);\n dashboard.updatedAt = Date.now();\n }),\n );\n if (shouldEvict) {\n get().mosaicDashboard.evictPanelRuntime(dashboardId, panelId);\n }\n },\n\n removePanel(dashboardId, panelId) {\n get().mosaicDashboard.evictPanelRuntime(dashboardId, panelId);\n set((state) =>\n produce(state, (draft) => {\n const dashboard =\n draft.mosaicDashboard.config.dashboardsById[dashboardId];\n if (!dashboard) return;\n\n dashboard.panels = dashboard.panels.filter(\n (panel) => panel.id !== panelId,\n );\n dashboard.layout = removePanelFromLayout(\n dashboard.layout,\n getMosaicDashboardPanelId(dashboardId, panelId),\n );\n dashboard.updatedAt = Date.now();\n }),\n );\n },\n\n getRetainedChart(dashboardId, panelId) {\n return get().mosaicDashboard.getRetainedChartByKey(\n getMosaicDashboardPanelId(dashboardId, panelId),\n );\n },\n\n getRetainedChartByKey(runtimeKey) {\n return get().mosaicDashboard.runtime.retainedChartsByPanelId[\n runtimeKey\n ];\n },\n\n setRetainedChart(dashboardId, panelId, chart) {\n get().mosaicDashboard.setRetainedChartByKey(\n getMosaicDashboardPanelId(dashboardId, panelId),\n chart,\n );\n },\n\n setRetainedChartByKey(runtimeKey, chart) {\n const previous =\n get().mosaicDashboard.runtime.retainedChartsByPanelId[runtimeKey];\n if (previous && previous !== chart) {\n destroyDashboardRuntimeChart(previous);\n }\n set((state) => ({\n mosaicDashboard: {\n ...state.mosaicDashboard,\n runtime: {\n ...state.mosaicDashboard.runtime,\n retainedChartsByPanelId: {\n ...state.mosaicDashboard.runtime.retainedChartsByPanelId,\n [runtimeKey]: chart,\n },\n },\n },\n }));\n },\n\n getPanelIssue(dashboardId, panelId) {\n return get().mosaicDashboard.getPanelIssueByKey(\n getMosaicDashboardPanelId(dashboardId, panelId),\n );\n },\n\n getPanelIssueByKey(runtimeKey) {\n return get().mosaicDashboard.runtime.panelIssuesByPanelId[runtimeKey];\n },\n\n reportPanelIssue(dashboardId, panelId, issue) {\n get().mosaicDashboard.reportPanelIssueByKey(\n getMosaicDashboardPanelId(dashboardId, panelId),\n issue,\n );\n },\n\n reportPanelIssueByKey(runtimeKey, issue) {\n set((state) => ({\n mosaicDashboard: {\n ...state.mosaicDashboard,\n runtime: {\n ...state.mosaicDashboard.runtime,\n panelIssuesByPanelId: {\n ...state.mosaicDashboard.runtime.panelIssuesByPanelId,\n [runtimeKey]: issue,\n },\n },\n },\n }));\n },\n\n clearPanelIssue(dashboardId, panelId) {\n get().mosaicDashboard.clearPanelIssueByKey(\n getMosaicDashboardPanelId(dashboardId, panelId),\n );\n },\n\n clearPanelIssueByKey(runtimeKey) {\n if (!get().mosaicDashboard.runtime.panelIssuesByPanelId[runtimeKey]) {\n return;\n }\n set((state) => {\n const nextPanelIssuesByPanelId = {\n ...state.mosaicDashboard.runtime.panelIssuesByPanelId,\n };\n delete nextPanelIssuesByPanelId[runtimeKey];\n return {\n mosaicDashboard: {\n ...state.mosaicDashboard,\n runtime: {\n ...state.mosaicDashboard.runtime,\n panelIssuesByPanelId: nextPanelIssuesByPanelId,\n },\n },\n };\n });\n },\n\n evictPanelRuntime(dashboardId, panelId) {\n get().mosaicDashboard.evictPanelRuntimeByKey(\n getMosaicDashboardPanelId(dashboardId, panelId),\n );\n },\n\n evictPanelRuntimeByKey(runtimeKey) {\n const existing =\n get().mosaicDashboard.runtime.retainedChartsByPanelId[runtimeKey];\n destroyDashboardRuntimeChart(existing);\n set((state) => {\n const nextRetainedChartsByPanelId = {\n ...state.mosaicDashboard.runtime.retainedChartsByPanelId,\n };\n const nextPanelIssuesByPanelId = {\n ...state.mosaicDashboard.runtime.panelIssuesByPanelId,\n };\n delete nextRetainedChartsByPanelId[runtimeKey];\n delete nextPanelIssuesByPanelId[runtimeKey];\n return {\n mosaicDashboard: {\n ...state.mosaicDashboard,\n runtime: {\n ...state.mosaicDashboard.runtime,\n retainedChartsByPanelId: nextRetainedChartsByPanelId,\n panelIssuesByPanelId: nextPanelIssuesByPanelId,\n },\n },\n };\n });\n },\n\n evictDashboardRuntime(dashboardId, options) {\n const runtimePrefix = `dashboard:${dashboardId}:panel:`;\n const existingEntries = Object.entries(\n get().mosaicDashboard.runtime.retainedChartsByPanelId,\n ).filter(([runtimePanelId]) =>\n runtimePanelId.startsWith(runtimePrefix),\n );\n const existingIssueEntries = Object.keys(\n get().mosaicDashboard.runtime.panelIssuesByPanelId,\n ).filter((runtimePanelId) =>\n runtimePanelId.startsWith(runtimePrefix),\n );\n\n existingEntries.forEach(([, chart]) => {\n destroyDashboardRuntimeChart(chart);\n });\n\n if (options?.resetSelection) {\n evictDashboardSelection(get(), dashboardId);\n }\n\n set((state) => {\n const nextRetainedChartsByPanelId = {\n ...state.mosaicDashboard.runtime.retainedChartsByPanelId,\n };\n const nextPanelIssuesByPanelId = {\n ...state.mosaicDashboard.runtime.panelIssuesByPanelId,\n };\n for (const [runtimePanelId] of existingEntries) {\n delete nextRetainedChartsByPanelId[runtimePanelId];\n }\n for (const runtimePanelId of existingIssueEntries) {\n delete nextPanelIssuesByPanelId[runtimePanelId];\n }\n return {\n mosaicDashboard: {\n ...state.mosaicDashboard,\n runtime: {\n ...state.mosaicDashboard.runtime,\n retainedChartsByPanelId: nextRetainedChartsByPanelId,\n panelIssuesByPanelId: nextPanelIssuesByPanelId,\n },\n },\n };\n });\n },\n\n clearAllDashboardRuntime() {\n Object.values(\n get().mosaicDashboard.runtime.retainedChartsByPanelId,\n ).forEach((chart) => {\n destroyDashboardRuntimeChart(chart);\n });\n set((state) => ({\n mosaicDashboard: {\n ...state.mosaicDashboard,\n runtime: {\n ...state.mosaicDashboard.runtime,\n retainedChartsByPanelId: {},\n panelIssuesByPanelId: {},\n },\n },\n }));\n },\n\n setLayout(dashboardId, layout) {\n get().mosaicDashboard.ensureDashboard(dashboardId);\n set((state) =>\n produce(state, (draft) => {\n const dashboard =\n draft.mosaicDashboard.config.dashboardsById[dashboardId];\n if (!dashboard) return;\n\n const panelIds = dashboard.panels.map((panel) => panel.id);\n const panelTypesByLayoutId = getDashboardPanelTypesByLayoutId(\n dashboardId,\n dashboard.panels,\n );\n dashboard.layout = ensureLayoutContainsDashboardPanels(\n layout,\n dashboardId,\n panelIds,\n dashboard.layoutType,\n panelTypesByLayoutId,\n );\n dashboard.updatedAt = Date.now();\n }),\n );\n },\n },\n }),\n );\n}\n\nexport function useStoreWithMosaicDashboard<T>(\n selector: (state: MosaicDashboardStoreState) => T,\n): T {\n return useBaseRoomStore<BaseRoomStoreState, T>((state) =>\n selector(state as unknown as MosaicDashboardStoreState),\n );\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import type { ComponentType } from 'react';
5
5
  import type { DataTable } from '@sqlrooms/db';
6
- import type { ChartTypeDefinition } from '../chart-types/base-types';
6
+ import type { ChartTypeDefinition } from '../charts/chart-types/base-types';
7
7
  import type { MosaicDashboardEntry, MosaicDashboardPanelConfig } from './dashboard-types';
8
8
  export type MosaicDashboardAddPanelActionContext = {
9
9
  dashboardId: string;
@@ -1 +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"}
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,kCAAkC,CAAC;AAC1E,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"}
@@ -1 +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"]}
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 '../charts/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"]}
@@ -3,16 +3,10 @@
3
3
  * These types can be safely imported by chart-types without creating circular dependencies.
4
4
  */
5
5
  import { z } from 'zod';
6
- export declare const ProfilerPanelConfig: z.ZodObject<{
6
+ export declare const DataTableExplorerPanelConfig: z.ZodObject<{
7
7
  pageSize: z.ZodOptional<z.ZodNumber>;
8
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>;
9
+ export type DataTableExplorerPanelConfig = z.infer<typeof DataTableExplorerPanelConfig>;
16
10
  export declare const MosaicDashboardLayoutType: z.ZodEnum<{
17
11
  grid: "grid";
18
12
  dock: "dock";
@@ -1 +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"}
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,4BAA4B;;iBAEvC,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,4BAA4B,CACpC,CAAC;AAEF,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"}