@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
package/README.md CHANGED
@@ -132,40 +132,45 @@ The hook accepts the following options:
132
132
  - `queryResult` - Optional callback when query results are received
133
133
  - `enabled` - Whether to automatically connect when mosaic is ready (default: `true`)
134
134
 
135
- ### Mosaic Profiler Primitives
135
+ ### Data Table Explorer Primitives
136
136
 
137
- The profiler primitives let you build a Quake-style cross-filtered table with
138
- per-column summaries on top of `MosaicSlice`.
137
+ The Data Table Explorer primitives let you build a Quake-style cross-filtered
138
+ table with per-column summaries on top of `MosaicSlice`.
139
139
 
140
140
  ```tsx
141
- import {MosaicProfiler} from '@sqlrooms/mosaic';
141
+ import {DataTableExplorer} from '@sqlrooms/mosaic';
142
142
  import {ScrollArea} from '@sqlrooms/ui';
143
143
  import {useMemo} from 'react';
144
144
  import {useRoomStore} from './store';
145
145
 
146
- function EarthquakeProfiler() {
146
+ function EarthquakeExplorer() {
147
147
  const mosaic = useRoomStore((state) => state.mosaic);
148
148
  const brush = useMemo(() => mosaic.getSelection('brush'), [mosaic]);
149
149
 
150
150
  return (
151
- <MosaicProfiler tableName="earthquakes" selection={brush} pageSize={25}>
151
+ <DataTableExplorer tableName="earthquakes" selection={brush} pageSize={25}>
152
152
  <div className="flex min-h-0 flex-col border">
153
153
  <ScrollArea className="min-h-0 flex-1">
154
- <MosaicProfiler.Table>
155
- <MosaicProfiler.Header />
156
- <MosaicProfiler.Rows />
157
- </MosaicProfiler.Table>
154
+ <DataTableExplorer.Table>
155
+ <DataTableExplorer.Header />
156
+ <DataTableExplorer.Rows />
157
+ </DataTableExplorer.Table>
158
158
  </ScrollArea>
159
- <MosaicProfiler.StatusBar />
159
+ <DataTableExplorer.StatusBar />
160
160
  </div>
161
- </MosaicProfiler>
161
+ </DataTableExplorer>
162
162
  );
163
163
  }
164
164
  ```
165
165
 
166
- For the common case, prefer the compound `MosaicProfiler` API. `useMosaicProfiler`
167
- is still available when you need direct access to the profiler state for custom
168
- layout, sizing, or advanced composition.
166
+ For the common case, prefer the compound `DataTableExplorer` API.
167
+ `useDataTableExplorer` is still available when you need direct access to the
168
+ explorer state for custom layout, sizing, or advanced composition.
169
+
170
+ `DataTableBlockRenderer` wraps the same explorer UI as a stateful block
171
+ renderer for `@sqlrooms/documents` block documents. Register it with a
172
+ host-provided stateful block type such as `data-table` when a document or
173
+ worksheet surface should embed an interactive Data Table Explorer directly.
169
174
 
170
175
  ### Mosaic Dashboard Panels
171
176
 
@@ -176,7 +181,7 @@ runtime add-panel actions when creating the dashboard slice.
176
181
  ```tsx
177
182
  import {
178
183
  createDefaultMosaicDashboardPanelRenderers,
179
- createMosaicDashboardProfilerPanelConfig,
184
+ createMosaicDashboardDataTableExplorerPanelConfig,
180
185
  createMosaicDashboardChartPanelConfig,
181
186
  createMosaicDashboardSlice,
182
187
  MosaicDashboard,
@@ -192,10 +197,10 @@ function Dashboard() {
192
197
  return <MosaicDashboard dashboardId="main" />;
193
198
  }
194
199
 
195
- function addProfiler(store: RoomStore) {
200
+ function addDataTableExplorer(store: RoomStore) {
196
201
  store.getState().mosaicDashboard.addPanel(
197
202
  'main',
198
- createMosaicDashboardProfilerPanelConfig({
203
+ createMosaicDashboardDataTableExplorerPanelConfig({
199
204
  source: {tableName: 'earthquakes'},
200
205
  }),
201
206
  );
@@ -226,10 +231,34 @@ panel omits a source it falls back to the dashboard selected table. Panel render
226
231
  definitions and chart builder definitions are runtime-only and intentionally
227
232
  live outside persisted dashboard config.
228
233
 
234
+ ### Dashboard Stateful Block Adapter
235
+
236
+ `createMosaicDashboardBlockDefinition` exposes Mosaic dashboards as stateful
237
+ block implementations. This lets host packages render the same dashboard
238
+ implementation either inside a block host or through an artifact shell created
239
+ with `@sqlrooms/artifacts`.
240
+
241
+ ```tsx
242
+ import {createArtifactTypeFromStatefulBlock} from '@sqlrooms/artifacts';
243
+ import {createMosaicDashboardBlockDefinition} from '@sqlrooms/mosaic';
244
+
245
+ const dashboardBlockDefinition = createMosaicDashboardBlockDefinition({
246
+ render: DashboardArtifact,
247
+ });
248
+
249
+ export const dashboardArtifactType = createArtifactTypeFromStatefulBlock(
250
+ dashboardBlockDefinition,
251
+ );
252
+ ```
253
+
254
+ The adapter preserves existing dashboard state in
255
+ `mosaicDashboard.config.dashboardsById` and delegates lifecycle work to the
256
+ dashboard slice.
257
+
229
258
  ### Dashboard AI Tools
230
259
 
231
260
  `@sqlrooms/mosaic` provides reusable assistant tools for dashboard authoring,
232
- including chart tools, profiler/text panel tools, panel management tools, and an
261
+ including chart tools, Data Table Explorer/text panel tools, panel management tools, and an
233
262
  optional exploratory `dashboard_agent`. Client apps supply a small adapter that
234
263
  maps Mosaic's generic dashboard operations to their store, artifact model, table
235
264
  metadata, and AI run context. When an AI run context is present, implicit
@@ -3,14 +3,14 @@
3
3
  *
4
4
  * @example
5
5
  * ```tsx
6
- * <MosaicChart.Container spec={mySpec} onSpecChange={save}>
7
- * <MosaicChart.Display />
8
- * <MosaicChart.SpecEditor />
9
- * <MosaicChart.Actions />
10
- * </MosaicChart.Container>
6
+ * <MosaicSpecChart.Container spec={mySpec} onSpecChange={save}>
7
+ * <MosaicSpecChart.Display />
8
+ * <MosaicSpecChart.SpecEditor />
9
+ * <MosaicSpecChart.Actions />
10
+ * </MosaicSpecChart.Container>
11
11
  * ```
12
12
  */
13
- export declare const MosaicChart: {
13
+ export declare const MosaicSpecChart: {
14
14
  readonly Container: import("react").FC<import(".").MosaicChartContainerProps>;
15
15
  readonly Display: import("react").FC<import(".").MosaicChartDisplayProps>;
16
16
  readonly SpecEditor: import("react").FC<import(".").MosaicSpecEditorPanelProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"MosaicChart.d.ts","sourceRoot":"","sources":["../src/MosaicChart.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW;;;;;;CAMd,CAAC"}
1
+ {"version":3,"file":"MosaicChart.d.ts","sourceRoot":"","sources":["../src/MosaicChart.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC"}
@@ -8,14 +8,14 @@ import { MosaicCodeMirrorEditor } from './editor/MosaicCodeMirrorEditor';
8
8
  *
9
9
  * @example
10
10
  * ```tsx
11
- * <MosaicChart.Container spec={mySpec} onSpecChange={save}>
12
- * <MosaicChart.Display />
13
- * <MosaicChart.SpecEditor />
14
- * <MosaicChart.Actions />
15
- * </MosaicChart.Container>
11
+ * <MosaicSpecChart.Container spec={mySpec} onSpecChange={save}>
12
+ * <MosaicSpecChart.Display />
13
+ * <MosaicSpecChart.SpecEditor />
14
+ * <MosaicSpecChart.Actions />
15
+ * </MosaicSpecChart.Container>
16
16
  * ```
17
17
  */
18
- export const MosaicChart = {
18
+ export const MosaicSpecChart = {
19
19
  Container: MosaicChartContainer,
20
20
  Display: MosaicChartDisplay,
21
21
  SpecEditor: MosaicSpecEditorPanel,
@@ -1 +1 @@
1
- {"version":3,"file":"MosaicChart.js","sourceRoot":"","sources":["../src/MosaicChart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAC,qBAAqB,EAAC,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAC,wBAAwB,EAAC,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAC,sBAAsB,EAAC,MAAM,iCAAiC,CAAC;AAEvE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS,EAAE,oBAAoB;IAC/B,OAAO,EAAE,kBAAkB;IAC3B,UAAU,EAAE,qBAAqB;IACjC,OAAO,EAAE,wBAAwB;IACjC,gBAAgB,EAAE,sBAAsB;CAChC,CAAC","sourcesContent":["import {MosaicChartContainer} from './editor/MosaicChartContainer';\nimport {MosaicChartDisplay} from './editor/MosaicChartDisplay';\nimport {MosaicSpecEditorPanel} from './editor/MosaicSpecEditorPanel';\nimport {MosaicChartEditorActions} from './editor/MosaicChartEditorActions';\nimport {MosaicCodeMirrorEditor} from './editor/MosaicCodeMirrorEditor';\n\n/**\n * Compound component for composable Mosaic chart editing.\n *\n * @example\n * ```tsx\n * <MosaicChart.Container spec={mySpec} onSpecChange={save}>\n * <MosaicChart.Display />\n * <MosaicChart.SpecEditor />\n * <MosaicChart.Actions />\n * </MosaicChart.Container>\n * ```\n */\nexport const MosaicChart = {\n Container: MosaicChartContainer,\n Display: MosaicChartDisplay,\n SpecEditor: MosaicSpecEditorPanel,\n Actions: MosaicChartEditorActions,\n CodeMirrorEditor: MosaicCodeMirrorEditor,\n} as const;\n"]}
1
+ {"version":3,"file":"MosaicChart.js","sourceRoot":"","sources":["../src/MosaicChart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAC,qBAAqB,EAAC,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAC,wBAAwB,EAAC,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAC,sBAAsB,EAAC,MAAM,iCAAiC,CAAC;AAEvE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,SAAS,EAAE,oBAAoB;IAC/B,OAAO,EAAE,kBAAkB;IAC3B,UAAU,EAAE,qBAAqB;IACjC,OAAO,EAAE,wBAAwB;IACjC,gBAAgB,EAAE,sBAAsB;CAChC,CAAC","sourcesContent":["import {MosaicChartContainer} from './editor/MosaicChartContainer';\nimport {MosaicChartDisplay} from './editor/MosaicChartDisplay';\nimport {MosaicSpecEditorPanel} from './editor/MosaicSpecEditorPanel';\nimport {MosaicChartEditorActions} from './editor/MosaicChartEditorActions';\nimport {MosaicCodeMirrorEditor} from './editor/MosaicCodeMirrorEditor';\n\n/**\n * Compound component for composable Mosaic chart editing.\n *\n * @example\n * ```tsx\n * <MosaicSpecChart.Container spec={mySpec} onSpecChange={save}>\n * <MosaicSpecChart.Display />\n * <MosaicSpecChart.SpecEditor />\n * <MosaicSpecChart.Actions />\n * </MosaicSpecChart.Container>\n * ```\n */\nexport const MosaicSpecChart = {\n Container: MosaicChartContainer,\n Display: MosaicChartDisplay,\n SpecEditor: MosaicSpecEditorPanel,\n Actions: MosaicChartEditorActions,\n CodeMirrorEditor: MosaicCodeMirrorEditor,\n} as const;\n"]}
@@ -5,7 +5,7 @@ import { ChartBuilderDialog, ChartBuilderDialogContent, ChartBuilderTrigger } fr
5
5
  import { ChartBuilderRoot, type ChartBuilderRootProps } from './chart-builders/ChartBuilderRoot';
6
6
  import { ChartBuilderFields } from './chart-builders/ChartBuilderFields';
7
7
  import { ChartBuilderTypeGrid } from './chart-builders/ChartBuilderTypeGrid';
8
- import { FieldSelectorInput } from './chart-builders/FieldSelectorInput';
8
+ import { FieldSelectorInput } from './components/FieldSelectorInput';
9
9
  /**
10
10
  * Compound component for building Mosaic charts from templates.
11
11
  *
@@ -1 +1 @@
1
- {"version":3,"file":"MosaicChartBuilder.d.ts","sourceRoot":"","sources":["../src/MosaicChartBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,OAAO,CAAC;AACxC,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,EAC3B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,kBAAkB,EAAC,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAC,oBAAoB,EAAC,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAC,kBAAkB,EAAC,MAAM,qCAAqC,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,KAAK,mCAAmC,GAAG,CAAC,CAC1C,KAAK,EAAE,qBAAqB,KACzB,YAAY,CAAC,GAAG;IACnB,IAAI,EAAE,OAAO,gBAAgB,CAAC;IAC9B,OAAO,EAAE,OAAO,mBAAmB,CAAC;IACpC,MAAM,EAAE,OAAO,yBAAyB,CAAC;IACzC,OAAO,EAAE,OAAO,mBAAmB,CAAC;IACpC,QAAQ,EAAE,OAAO,oBAAoB,CAAC;IACtC,MAAM,EAAE,OAAO,kBAAkB,CAAC;IAClC,OAAO,EAAE,OAAO,mBAAmB,CAAC;IACpC,aAAa,EAAE,OAAO,kBAAkB,CAAC;IACzC,YAAY,EAAE,OAAO,kBAAkB,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,mCAsB9B,CAAC"}
1
+ {"version":3,"file":"MosaicChartBuilder.d.ts","sourceRoot":"","sources":["../src/MosaicChartBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,OAAO,CAAC;AACxC,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,EAC3B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,kBAAkB,EAAC,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAC,oBAAoB,EAAC,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,KAAK,mCAAmC,GAAG,CAAC,CAC1C,KAAK,EAAE,qBAAqB,KACzB,YAAY,CAAC,GAAG;IACnB,IAAI,EAAE,OAAO,gBAAgB,CAAC;IAC9B,OAAO,EAAE,OAAO,mBAAmB,CAAC;IACpC,MAAM,EAAE,OAAO,yBAAyB,CAAC;IACzC,OAAO,EAAE,OAAO,mBAAmB,CAAC;IACpC,QAAQ,EAAE,OAAO,oBAAoB,CAAC;IACtC,MAAM,EAAE,OAAO,kBAAkB,CAAC;IAClC,OAAO,EAAE,OAAO,mBAAmB,CAAC;IACpC,aAAa,EAAE,OAAO,kBAAkB,CAAC;IACzC,YAAY,EAAE,OAAO,kBAAkB,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,mCAsB9B,CAAC"}
@@ -4,7 +4,7 @@ import { ChartBuilderDialog, ChartBuilderDialogContent, ChartBuilderTrigger, } f
4
4
  import { ChartBuilderRoot, } from './chart-builders/ChartBuilderRoot';
5
5
  import { ChartBuilderFields } from './chart-builders/ChartBuilderFields';
6
6
  import { ChartBuilderTypeGrid } from './chart-builders/ChartBuilderTypeGrid';
7
- import { FieldSelectorInput } from './chart-builders/FieldSelectorInput';
7
+ import { FieldSelectorInput } from './components/FieldSelectorInput';
8
8
  export const MosaicChartBuilder = Object.assign(ChartBuilderRoot, {
9
9
  Root: ChartBuilderRoot,
10
10
  /** Default trigger button; customize via ButtonProps or children. */
@@ -1 +1 @@
1
- {"version":3,"file":"MosaicChartBuilder.js","sourceRoot":"","sources":["../src/MosaicChartBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,gBAAgB,GAEjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,kBAAkB,EAAC,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAC,oBAAoB,EAAC,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAC,kBAAkB,EAAC,MAAM,qCAAqC,CAAC;AA0DvE,MAAM,CAAC,MAAM,kBAAkB,GAC7B,MAAM,CAAC,MAAM,CACX,gBAAkE,EAClE;IACE,IAAI,EAAE,gBAAgB;IACtB,qEAAqE;IACrE,OAAO,EAAE,mBAAmB;IAC5B,oDAAoD;IACpD,MAAM,EAAE,yBAAyB;IACjC,iDAAiD;IACjD,OAAO,EAAE,mBAAmB;IAC5B,uCAAuC;IACvC,QAAQ,EAAE,oBAAoB;IAC9B,6DAA6D;IAC7D,MAAM,EAAE,kBAAkB;IAC1B,gEAAgE;IAChE,OAAO,EAAE,mBAAmB;IAC5B,gCAAgC;IAChC,aAAa,EAAE,kBAAkB;IACjC,oDAAoD;IACpD,YAAY,EAAE,kBAAkB;CACjC,CACF,CAAC","sourcesContent":["import type {ReactElement} from 'react';\nimport {ChartBuilderActions} from './chart-builders/ChartBuilderActions';\nimport {ChartBuilderContent} from './chart-builders/ChartBuilderContent';\nimport {\n ChartBuilderDialog,\n ChartBuilderDialogContent,\n ChartBuilderTrigger,\n} from './chart-builders/ChartBuilderDialog';\nimport {\n ChartBuilderRoot,\n type ChartBuilderRootProps,\n} from './chart-builders/ChartBuilderRoot';\nimport {ChartBuilderFields} from './chart-builders/ChartBuilderFields';\nimport {ChartBuilderTypeGrid} from './chart-builders/ChartBuilderTypeGrid';\nimport {FieldSelectorInput} from './chart-builders/FieldSelectorInput';\n\n/**\n * Compound component for building Mosaic charts from templates.\n *\n * Use `<MosaicChartBuilder>` as the root; it provides context and wraps a\n * Radix Dialog.\n *\n * @example Compound usage (recommended)\n * ```tsx\n * <MosaicChartBuilder\n * tableName=\"my_table\"\n * columns={columns}\n * onCreateChart={handleCreate}\n * >\n * <MosaicChartBuilder.Trigger />\n * <MosaicChartBuilder.Dialog />\n * </MosaicChartBuilder>\n * ```\n *\n * @example Custom trigger button\n * ```tsx\n * <MosaicChartBuilder\n * tableName=\"my_table\"\n * columns={columns}\n * onCreateChart={handleCreate}\n * >\n * <MosaicChartBuilder.Trigger variant=\"ghost\" size=\"icon\">\n * <PlusIcon />\n * </MosaicChartBuilder.Trigger>\n * <MosaicChartBuilder.Dialog />\n * </MosaicChartBuilder>\n * ```\n *\n * @example Inline builder (no dialog)\n * ```tsx\n * <MosaicChartBuilder.Content\n * tableName=\"my_table\"\n * columns={columns}\n * onCreateChart={handleCreate}\n * />\n * ```\n */\n\ntype MosaicChartBuilderCompoundComponent = ((\n props: ChartBuilderRootProps,\n) => ReactElement) & {\n Root: typeof ChartBuilderRoot;\n Trigger: typeof ChartBuilderTrigger;\n Dialog: typeof ChartBuilderDialogContent;\n Content: typeof ChartBuilderContent;\n TypeGrid: typeof ChartBuilderTypeGrid;\n Fields: typeof ChartBuilderFields;\n Actions: typeof ChartBuilderActions;\n FieldSelector: typeof FieldSelectorInput;\n LegacyDialog: typeof ChartBuilderDialog;\n};\n\nexport const MosaicChartBuilder: MosaicChartBuilderCompoundComponent =\n Object.assign(\n ChartBuilderRoot as (props: ChartBuilderRootProps) => ReactElement,\n {\n Root: ChartBuilderRoot,\n /** Default trigger button; customize via ButtonProps or children. */\n Trigger: ChartBuilderTrigger,\n /** Dialog content pane with chart-builder steps. */\n Dialog: ChartBuilderDialogContent,\n /** Standalone builder UI (no dialog wrapper). */\n Content: ChartBuilderContent,\n /** Built-in chart-type picker grid. */\n TypeGrid: ChartBuilderTypeGrid,\n /** Field selectors for the currently selected chart type. */\n Fields: ChartBuilderFields,\n /** Back/Create actions for the current chart type selection. */\n Actions: ChartBuilderActions,\n /** Field selector primitive. */\n FieldSelector: FieldSelectorInput,\n /** Legacy one-shot dialog (backward-compatible). */\n LegacyDialog: ChartBuilderDialog,\n },\n );\n"]}
1
+ {"version":3,"file":"MosaicChartBuilder.js","sourceRoot":"","sources":["../src/MosaicChartBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,gBAAgB,GAEjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,kBAAkB,EAAC,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAC,oBAAoB,EAAC,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AA0DnE,MAAM,CAAC,MAAM,kBAAkB,GAC7B,MAAM,CAAC,MAAM,CACX,gBAAkE,EAClE;IACE,IAAI,EAAE,gBAAgB;IACtB,qEAAqE;IACrE,OAAO,EAAE,mBAAmB;IAC5B,oDAAoD;IACpD,MAAM,EAAE,yBAAyB;IACjC,iDAAiD;IACjD,OAAO,EAAE,mBAAmB;IAC5B,uCAAuC;IACvC,QAAQ,EAAE,oBAAoB;IAC9B,6DAA6D;IAC7D,MAAM,EAAE,kBAAkB;IAC1B,gEAAgE;IAChE,OAAO,EAAE,mBAAmB;IAC5B,gCAAgC;IAChC,aAAa,EAAE,kBAAkB;IACjC,oDAAoD;IACpD,YAAY,EAAE,kBAAkB;CACjC,CACF,CAAC","sourcesContent":["import type {ReactElement} from 'react';\nimport {ChartBuilderActions} from './chart-builders/ChartBuilderActions';\nimport {ChartBuilderContent} from './chart-builders/ChartBuilderContent';\nimport {\n ChartBuilderDialog,\n ChartBuilderDialogContent,\n ChartBuilderTrigger,\n} from './chart-builders/ChartBuilderDialog';\nimport {\n ChartBuilderRoot,\n type ChartBuilderRootProps,\n} from './chart-builders/ChartBuilderRoot';\nimport {ChartBuilderFields} from './chart-builders/ChartBuilderFields';\nimport {ChartBuilderTypeGrid} from './chart-builders/ChartBuilderTypeGrid';\nimport {FieldSelectorInput} from './components/FieldSelectorInput';\n\n/**\n * Compound component for building Mosaic charts from templates.\n *\n * Use `<MosaicChartBuilder>` as the root; it provides context and wraps a\n * Radix Dialog.\n *\n * @example Compound usage (recommended)\n * ```tsx\n * <MosaicChartBuilder\n * tableName=\"my_table\"\n * columns={columns}\n * onCreateChart={handleCreate}\n * >\n * <MosaicChartBuilder.Trigger />\n * <MosaicChartBuilder.Dialog />\n * </MosaicChartBuilder>\n * ```\n *\n * @example Custom trigger button\n * ```tsx\n * <MosaicChartBuilder\n * tableName=\"my_table\"\n * columns={columns}\n * onCreateChart={handleCreate}\n * >\n * <MosaicChartBuilder.Trigger variant=\"ghost\" size=\"icon\">\n * <PlusIcon />\n * </MosaicChartBuilder.Trigger>\n * <MosaicChartBuilder.Dialog />\n * </MosaicChartBuilder>\n * ```\n *\n * @example Inline builder (no dialog)\n * ```tsx\n * <MosaicChartBuilder.Content\n * tableName=\"my_table\"\n * columns={columns}\n * onCreateChart={handleCreate}\n * />\n * ```\n */\n\ntype MosaicChartBuilderCompoundComponent = ((\n props: ChartBuilderRootProps,\n) => ReactElement) & {\n Root: typeof ChartBuilderRoot;\n Trigger: typeof ChartBuilderTrigger;\n Dialog: typeof ChartBuilderDialogContent;\n Content: typeof ChartBuilderContent;\n TypeGrid: typeof ChartBuilderTypeGrid;\n Fields: typeof ChartBuilderFields;\n Actions: typeof ChartBuilderActions;\n FieldSelector: typeof FieldSelectorInput;\n LegacyDialog: typeof ChartBuilderDialog;\n};\n\nexport const MosaicChartBuilder: MosaicChartBuilderCompoundComponent =\n Object.assign(\n ChartBuilderRoot as (props: ChartBuilderRootProps) => ReactElement,\n {\n Root: ChartBuilderRoot,\n /** Default trigger button; customize via ButtonProps or children. */\n Trigger: ChartBuilderTrigger,\n /** Dialog content pane with chart-builder steps. */\n Dialog: ChartBuilderDialogContent,\n /** Standalone builder UI (no dialog wrapper). */\n Content: ChartBuilderContent,\n /** Built-in chart-type picker grid. */\n TypeGrid: ChartBuilderTypeGrid,\n /** Field selectors for the currently selected chart type. */\n Fields: ChartBuilderFields,\n /** Back/Create actions for the current chart type selection. */\n Actions: ChartBuilderActions,\n /** Field selector primitive. */\n FieldSelector: FieldSelectorInput,\n /** Legacy one-shot dialog (backward-compatible). */\n LegacyDialog: ChartBuilderDialog,\n },\n );\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MosaicColorLegend.d.ts","sourceRoot":"","sources":["../src/MosaicColorLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAK9C,KAAK,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAEhD,KAAK,kCAAkC,GAAG;IACxC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,kCAAkC,GAAG;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAuDF,wBAAgB,2BAA2B,CAAC,EAC1C,UAAU,EACV,SAAS,EACT,MAAM,EACN,KAAK,EACL,KAAW,EACX,UAAkB,GACnB,EAAE,kCAAkC,OAiDpC;AAED,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,SAAS,EACT,MAAM,EACN,KAAK,EACL,KAAK,EACL,UAAU,EACV,SAAS,GACV,EAAE,sBAAsB,kDAgDxB"}
1
+ {"version":3,"file":"MosaicColorLegend.d.ts","sourceRoot":"","sources":["../src/MosaicColorLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAK9C,KAAK,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAEhD,KAAK,kCAAkC,GAAG;IACxC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,kCAAkC,GAAG;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAuDF,wBAAgB,2BAA2B,CAAC,EAC1C,UAAU,EACV,SAAS,EACT,MAAM,EACN,KAAK,EACL,KAAW,EACX,UAAkB,GACnB,EAAE,kCAAkC,OAiDpC;AAED,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,SAAS,EACT,MAAM,EACN,KAAK,EACL,KAAK,EACL,UAAU,EACV,SAAS,GACV,EAAE,sBAAsB,kDA+CxB"}
@@ -96,7 +96,6 @@ export function MosaicColorLegend({ colorScale, selection, domain, title, width,
96
96
  width,
97
97
  tickFormat,
98
98
  });
99
- // eslint-disable-next-line react-hooks/preserve-manual-memoization
100
99
  const plot = useMemo(() => createMosaicColorLegendPlot({
101
100
  colorScale,
102
101
  selection,
@@ -1 +1 @@
1
- {"version":3,"file":"MosaicColorLegend.js","sourceRoot":"","sources":["../src/MosaicColorLegend.tsx"],"names":[],"mappings":"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","sourcesContent":["import type {ColorScaleConfig} from '@sqlrooms/color-scales';\nimport {resolveColorLegendTitle} from '@sqlrooms/color-scales';\nimport {cn, getResolvedTheme, useTheme} from '@sqlrooms/ui';\nimport {Selection} from '@uwdata/mosaic-core';\nimport * as vg from '@uwdata/vgplot';\nimport {useMemo} from 'react';\nimport {VgPlotChart} from './VgPlotChart';\n\ntype LegendDomainValue = string | number | Date;\n\ntype CreateMosaicColorLegendPlotOptions = {\n colorScale: ColorScaleConfig;\n selection?: Selection;\n domain?: ReadonlyArray<LegendDomainValue>;\n title?: string;\n width?: number;\n tickFormat?: string;\n};\n\nexport type MosaicColorLegendProps = CreateMosaicColorLegendPlotOptions & {\n className?: string;\n};\n\nfunction isExplicitNumericDomain(\n domain: 'auto' | [number, number] | [number, number, number],\n): domain is [number, number] | [number, number, number] {\n return domain !== 'auto';\n}\n\nfunction resolveLegendDomain(\n colorScale: ColorScaleConfig,\n domain?: ReadonlyArray<LegendDomainValue>,\n) {\n if (\n (colorScale.type === 'sequential' ||\n colorScale.type === 'diverging' ||\n colorScale.type === 'quantize') &&\n isExplicitNumericDomain(colorScale.domain)\n ) {\n return colorScale.domain;\n }\n\n return domain;\n}\n\nfunction getVgColorScaleType(colorScale: ColorScaleConfig) {\n switch (colorScale.type) {\n case 'sequential':\n return 'linear';\n case 'diverging':\n return 'diverging';\n case 'quantize':\n return 'quantize';\n case 'quantile':\n return 'quantile';\n case 'threshold':\n return 'threshold';\n case 'categorical':\n return 'categorical';\n default: {\n const _exhaustive: never = colorScale;\n throw new Error(\n `Unknown color scale type: ${(_exhaustive as ColorScaleConfig).type}`,\n );\n }\n }\n}\n\nfunction supportsInteractiveLegend(colorScale: ColorScaleConfig) {\n return (\n colorScale.type === 'sequential' ||\n colorScale.type === 'diverging' ||\n colorScale.type === 'categorical'\n );\n}\n\nexport function createMosaicColorLegendPlot({\n colorScale,\n selection,\n domain,\n title,\n width = 220,\n tickFormat = '.1f',\n}: CreateMosaicColorLegendPlotOptions) {\n const resolvedDomain = resolveLegendDomain(colorScale, domain);\n const legendTitle = resolveColorLegendTitle(colorScale, title);\n const plotAttributes: Array<(plot: any) => void> = [\n vg.colorScale(getVgColorScaleType(colorScale)),\n vg.colorScheme(colorScale.scheme),\n vg.colorLabel(legendTitle),\n vg.marginTop(0),\n vg.marginRight(0),\n vg.marginBottom(0),\n vg.marginLeft(0),\n ];\n\n if ('clamp' in colorScale && colorScale.clamp !== undefined) {\n plotAttributes.push(vg.colorClamp(colorScale.clamp));\n }\n\n if ('reverse' in colorScale && colorScale.reverse !== undefined) {\n plotAttributes.push(vg.colorReverse(colorScale.reverse));\n }\n\n if (colorScale.type === 'diverging') {\n if (Array.isArray(resolvedDomain) && resolvedDomain.length === 3) {\n plotAttributes.push(\n vg.colorDomain([resolvedDomain[0], resolvedDomain[2]]),\n vg.colorPivot(resolvedDomain[1]),\n );\n } else if (Array.isArray(resolvedDomain) && resolvedDomain.length === 2) {\n plotAttributes.push(vg.colorDomain(resolvedDomain));\n }\n } else if (colorScale.type === 'threshold') {\n plotAttributes.push(vg.colorDomain(colorScale.thresholds));\n } else if (resolvedDomain) {\n plotAttributes.push(vg.colorDomain(resolvedDomain));\n }\n\n if (colorScale.type === 'quantize' || colorScale.type === 'quantile') {\n plotAttributes.push(vg.colorN(colorScale.bins ?? 5));\n }\n\n const backingPlot = vg.plot(...plotAttributes);\n return vg.colorLegend({\n for: backingPlot,\n as: supportsInteractiveLegend(colorScale) ? selection : undefined,\n field: colorScale.field,\n width,\n tickFormat,\n label: legendTitle,\n });\n}\n\nexport function MosaicColorLegend({\n colorScale,\n selection,\n domain,\n title,\n width,\n tickFormat,\n className,\n}: MosaicColorLegendProps) {\n const {theme} = useTheme();\n const resolvedTheme = getResolvedTheme(theme);\n const legendSpecKey = JSON.stringify({\n colorScale,\n domain,\n title,\n width,\n tickFormat,\n });\n\n // eslint-disable-next-line react-hooks/preserve-manual-memoization\n const plot = useMemo(\n () =>\n createMosaicColorLegendPlot({\n colorScale,\n selection,\n domain,\n title,\n width,\n tickFormat,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps -- deep-equal via serialized key instead of object refs\n [legendSpecKey, selection],\n );\n\n if (!plot) {\n return null;\n }\n\n return (\n <div\n className={cn(\n 'pointer-events-auto rounded-md border px-3 py-2 shadow-lg backdrop-blur-sm',\n 'border-slate-200 bg-white/95 text-slate-900',\n 'dark:border-slate-700 dark:bg-[#1f1d1b]/90 dark:text-slate-100',\n '[&_svg]:block [&_svg]:overflow-visible',\n '[&_svg_line]:stroke-current [&_svg_path]:stroke-current [&_svg_text]:fill-current',\n resolvedTheme === 'dark' &&\n '[&_svg_.domain]:stroke-slate-500 [&_svg_line]:stroke-slate-500',\n resolvedTheme === 'light' &&\n '[&_svg_.domain]:stroke-slate-400 [&_svg_line]:stroke-slate-400',\n className,\n )}\n >\n <VgPlotChart plot={plot} />\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"MosaicColorLegend.js","sourceRoot":"","sources":["../src/MosaicColorLegend.tsx"],"names":[],"mappings":"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","sourcesContent":["import type {ColorScaleConfig} from '@sqlrooms/color-scales';\nimport {resolveColorLegendTitle} from '@sqlrooms/color-scales';\nimport {cn, getResolvedTheme, useTheme} from '@sqlrooms/ui';\nimport {Selection} from '@uwdata/mosaic-core';\nimport * as vg from '@uwdata/vgplot';\nimport {useMemo} from 'react';\nimport {VgPlotChart} from './VgPlotChart';\n\ntype LegendDomainValue = string | number | Date;\n\ntype CreateMosaicColorLegendPlotOptions = {\n colorScale: ColorScaleConfig;\n selection?: Selection;\n domain?: ReadonlyArray<LegendDomainValue>;\n title?: string;\n width?: number;\n tickFormat?: string;\n};\n\nexport type MosaicColorLegendProps = CreateMosaicColorLegendPlotOptions & {\n className?: string;\n};\n\nfunction isExplicitNumericDomain(\n domain: 'auto' | [number, number] | [number, number, number],\n): domain is [number, number] | [number, number, number] {\n return domain !== 'auto';\n}\n\nfunction resolveLegendDomain(\n colorScale: ColorScaleConfig,\n domain?: ReadonlyArray<LegendDomainValue>,\n) {\n if (\n (colorScale.type === 'sequential' ||\n colorScale.type === 'diverging' ||\n colorScale.type === 'quantize') &&\n isExplicitNumericDomain(colorScale.domain)\n ) {\n return colorScale.domain;\n }\n\n return domain;\n}\n\nfunction getVgColorScaleType(colorScale: ColorScaleConfig) {\n switch (colorScale.type) {\n case 'sequential':\n return 'linear';\n case 'diverging':\n return 'diverging';\n case 'quantize':\n return 'quantize';\n case 'quantile':\n return 'quantile';\n case 'threshold':\n return 'threshold';\n case 'categorical':\n return 'categorical';\n default: {\n const _exhaustive: never = colorScale;\n throw new Error(\n `Unknown color scale type: ${(_exhaustive as ColorScaleConfig).type}`,\n );\n }\n }\n}\n\nfunction supportsInteractiveLegend(colorScale: ColorScaleConfig) {\n return (\n colorScale.type === 'sequential' ||\n colorScale.type === 'diverging' ||\n colorScale.type === 'categorical'\n );\n}\n\nexport function createMosaicColorLegendPlot({\n colorScale,\n selection,\n domain,\n title,\n width = 220,\n tickFormat = '.1f',\n}: CreateMosaicColorLegendPlotOptions) {\n const resolvedDomain = resolveLegendDomain(colorScale, domain);\n const legendTitle = resolveColorLegendTitle(colorScale, title);\n const plotAttributes: Array<(plot: any) => void> = [\n vg.colorScale(getVgColorScaleType(colorScale)),\n vg.colorScheme(colorScale.scheme),\n vg.colorLabel(legendTitle),\n vg.marginTop(0),\n vg.marginRight(0),\n vg.marginBottom(0),\n vg.marginLeft(0),\n ];\n\n if ('clamp' in colorScale && colorScale.clamp !== undefined) {\n plotAttributes.push(vg.colorClamp(colorScale.clamp));\n }\n\n if ('reverse' in colorScale && colorScale.reverse !== undefined) {\n plotAttributes.push(vg.colorReverse(colorScale.reverse));\n }\n\n if (colorScale.type === 'diverging') {\n if (Array.isArray(resolvedDomain) && resolvedDomain.length === 3) {\n plotAttributes.push(\n vg.colorDomain([resolvedDomain[0], resolvedDomain[2]]),\n vg.colorPivot(resolvedDomain[1]),\n );\n } else if (Array.isArray(resolvedDomain) && resolvedDomain.length === 2) {\n plotAttributes.push(vg.colorDomain(resolvedDomain));\n }\n } else if (colorScale.type === 'threshold') {\n plotAttributes.push(vg.colorDomain(colorScale.thresholds));\n } else if (resolvedDomain) {\n plotAttributes.push(vg.colorDomain(resolvedDomain));\n }\n\n if (colorScale.type === 'quantize' || colorScale.type === 'quantile') {\n plotAttributes.push(vg.colorN(colorScale.bins ?? 5));\n }\n\n const backingPlot = vg.plot(...plotAttributes);\n return vg.colorLegend({\n for: backingPlot,\n as: supportsInteractiveLegend(colorScale) ? selection : undefined,\n field: colorScale.field,\n width,\n tickFormat,\n label: legendTitle,\n });\n}\n\nexport function MosaicColorLegend({\n colorScale,\n selection,\n domain,\n title,\n width,\n tickFormat,\n className,\n}: MosaicColorLegendProps) {\n const {theme} = useTheme();\n const resolvedTheme = getResolvedTheme(theme);\n const legendSpecKey = JSON.stringify({\n colorScale,\n domain,\n title,\n width,\n tickFormat,\n });\n\n const plot = useMemo(\n () =>\n createMosaicColorLegendPlot({\n colorScale,\n selection,\n domain,\n title,\n width,\n tickFormat,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps -- deep-equal via serialized key instead of object refs\n [legendSpecKey, selection],\n );\n\n if (!plot) {\n return null;\n }\n\n return (\n <div\n className={cn(\n 'pointer-events-auto rounded-md border px-3 py-2 shadow-lg backdrop-blur-sm',\n 'border-slate-200 bg-white/95 text-slate-900',\n 'dark:border-slate-700 dark:bg-[#1f1d1b]/90 dark:text-slate-100',\n '[&_svg]:block [&_svg]:overflow-visible',\n '[&_svg_line]:stroke-current [&_svg_path]:stroke-current [&_svg_text]:fill-current',\n resolvedTheme === 'dark' &&\n '[&_svg_.domain]:stroke-slate-500 [&_svg_line]:stroke-slate-500',\n resolvedTheme === 'light' &&\n '[&_svg_.domain]:stroke-slate-400 [&_svg_line]:stroke-slate-400',\n className,\n )}\n >\n <VgPlotChart plot={plot} />\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"VgPlotChart.d.ts","sourceRoot":"","sources":["../src/VgPlotChart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,SAAS,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAC;AACzC,OAAO,EACL,EAAE,EAOH,MAAM,OAAO,CAAC;AAGf,OAAO,EAGL,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AAEzB,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,IAAI,CAAC;IACX;;;;;OAKG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAC7C;;;;OAIG;IACH,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;IAC/C,oBAAoB,CAAC,EAAE,yBAAyB,CAAC;CAClD,CAAC;AACF,KAAK,SAAS,GAAG;IAAC,IAAI,EAAE,WAAW,GAAG,aAAa,CAAA;CAAC,CAAC;AACrD,KAAK,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9C,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,IAAI,SAAS,CAEvE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,IAAI,SAAS,CAEvE;AAGD,YAAY,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAC,0BAA0B,EAAC,MAAM,2BAA2B,CAAC;AACrE,YAAY,EAAC,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AAoBnE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAuI5C,CAAC"}
1
+ {"version":3,"file":"VgPlotChart.d.ts","sourceRoot":"","sources":["../src/VgPlotChart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,SAAS,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAC;AACzC,OAAO,EACL,EAAE,EAOH,MAAM,OAAO,CAAC;AAGf,OAAO,EAGL,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AAEzB,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,IAAI,CAAC;IACX;;;;;OAKG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAC7C;;;;OAIG;IACH,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;IAC/C,oBAAoB,CAAC,EAAE,yBAAyB,CAAC;CAClD,CAAC;AACF,KAAK,SAAS,GAAG;IAAC,IAAI,EAAE,WAAW,GAAG,aAAa,CAAA;CAAC,CAAC;AACrD,KAAK,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9C,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,IAAI,SAAS,CAEvE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,IAAI,SAAS,CAEvE;AAGD,YAAY,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAC,0BAA0B,EAAC,MAAM,2BAA2B,CAAC;AACrE,YAAY,EAAC,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AAoBnE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CA4I5C,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { memo, useCallback, useEffect, useMemo, useRef, useState, } from 'react';
2
+ import { memo, useCallback, useLayoutEffect, useMemo, useRef, useState, } from 'react';
3
3
  import { ResponsivePlot } from './ResponsivePlot';
4
4
  import { useVgPlotChartError } from './useVgPlotChartError';
5
5
  import { useVgPlotChartRetention, } from './useVgPlotChartRetention';
@@ -55,12 +55,15 @@ export const VgPlotChart = memo((props) => {
55
55
  }, [setCachedChart]);
56
56
  const cachedChart = useMemo(() => getCachedChart(), [getCachedChart]);
57
57
  // Handle PlotProps: directly render the provided plot element
58
- useEffect(() => {
58
+ useLayoutEffect(() => {
59
59
  const container = containerRef.current;
60
60
  if (!container || !isPlotProps(props)) {
61
61
  return;
62
62
  }
63
- container.replaceChildren(props.plot);
63
+ if (container.childNodes.length !== 1 ||
64
+ container.firstChild !== props.plot) {
65
+ container.replaceChildren(props.plot);
66
+ }
64
67
  }, [props]);
65
68
  // Handle SpecProps: render from spec using hooks
66
69
  const renderParams = useMemo(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"VgPlotChart.js","sourceRoot":"","sources":["../src/VgPlotChart.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Param, Selection} from '@uwdata/mosaic-core';\nimport {Spec} from '@uwdata/mosaic-spec';\nimport {\n FC,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {PlotSize, ResponsivePlot} from './ResponsivePlot';\nimport {useVgPlotChartError} from './useVgPlotChartError';\nimport {\n RetainedVgPlotChart,\n useVgPlotChartRetention,\n VgPlotChartRetention,\n} from './useVgPlotChartRetention';\nimport {useVgPlotChartRender} from './useVgPlotChartRender';\nimport {VgPlotChartError} from './VgPlotChartError';\nimport type {\n ChartDataPolicy,\n ChartRuntimeIssueContext,\n ChartRuntimeIssueReporter,\n} from './chart-runtime';\n\ntype SpecProps = {\n spec: Spec;\n /**\n * Pre-defined params/selections to inject when rendering the spec.\n * Keys are param names (without $), values are Param or Selection instances.\n * This allows multiple independently-rendered specs to share the same\n * Selection objects for cross-filtering.\n */\n params?: Map<string, Param<any> | Selection>;\n /**\n * Optional retention adapter for preserving the underlying vgplot\n * instance across temporary unmount/remount cycles, such as dashboard tab\n * switches.\n */\n retention?: VgPlotChartRetention;\n dataPolicy?: ChartDataPolicy | null;\n runtimeIssueContext?: ChartRuntimeIssueContext;\n runtimeIssueReporter?: ChartRuntimeIssueReporter;\n};\ntype PlotProps = {plot: HTMLElement | SVGSVGElement};\ntype VgPlotChartProps = SpecProps | PlotProps;\n\nexport function isSpecProps(props: VgPlotChartProps): props is SpecProps {\n return 'spec' in props;\n}\n\nexport function isPlotProps(props: VgPlotChartProps): props is PlotProps {\n return 'plot' in props;\n}\n\n// Re-export types for external use\nexport type {VgPlotChartRetention} from './useVgPlotChartRetention';\nexport {destroyRetainedVgPlotChart} from './useVgPlotChartRetention';\nexport type {RetainedVgPlotChart} from './useVgPlotChartRetention';\n\nfunction areEquivalentParams(\n left?: Map<string, Param<any> | Selection>,\n right?: Map<string, Param<any> | Selection>,\n) {\n if (left === right) {\n return true;\n }\n if (!left || !right || left.size !== right.size) {\n return false;\n }\n for (const [key, value] of left) {\n if (right.get(key) !== value) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Renders a Vega-Lite chart using the Mosaic library.\n *\n * @param {VgPlotChartProps} props - The component props.\n * @param {Spec} props.spec - The Vega-Lite specification for the chart.\n * @returns {React.ReactElement} The rendered chart component.\n */\nexport const VgPlotChart: FC<VgPlotChartProps> = memo(\n (props) => {\n const [containerSize, setContainerSize] = useState<PlotSize | null>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const specKey = useMemo(\n () => (isSpecProps(props) ? JSON.stringify(props.spec) : null),\n [props],\n );\n\n const {error, setError} = useVgPlotChartError(specKey);\n const {getCachedChart, setCachedChart} = useVgPlotChartRetention(\n specKey,\n isSpecProps(props) ? props.params : undefined,\n isSpecProps(props) ? props.retention : undefined,\n );\n\n const handleResize = useCallback((size: PlotSize) => {\n setContainerSize((prev) => {\n if (prev && prev.width === size.width && prev.height === size.height) {\n return prev;\n }\n return size;\n });\n }, []);\n\n const handleError = useCallback(\n (error: Error) => {\n setError(error);\n },\n [setError],\n );\n\n const handleChartCreated = useCallback(\n (chart: RetainedVgPlotChart) => {\n setCachedChart(chart);\n },\n [setCachedChart],\n );\n\n const cachedChart = useMemo(() => getCachedChart(), [getCachedChart]);\n\n // Handle PlotProps: directly render the provided plot element\n useEffect(() => {\n const container = containerRef.current;\n if (!container || !isPlotProps(props)) {\n return;\n }\n\n container.replaceChildren(props.plot);\n }, [props]);\n\n // Handle SpecProps: render from spec using hooks\n const renderParams = useMemo(() => {\n if (!isSpecProps(props)) {\n return {\n containerRef,\n spec: {} as Spec,\n specKey: null,\n params: undefined,\n containerSize: null,\n cachedChart: null,\n onChartCreated: handleChartCreated,\n onError: handleError,\n dataPolicy: undefined,\n runtimeIssueContext: undefined,\n runtimeIssueReporter: undefined,\n };\n }\n\n return {\n containerRef,\n spec: props.spec,\n specKey,\n params: props.params,\n containerSize,\n cachedChart,\n onChartCreated: handleChartCreated,\n onError: handleError,\n dataPolicy: props.dataPolicy,\n runtimeIssueContext: props.runtimeIssueContext,\n runtimeIssueReporter: props.runtimeIssueReporter,\n };\n }, [\n props,\n specKey,\n containerSize,\n cachedChart,\n handleChartCreated,\n handleError,\n ]);\n\n useVgPlotChartRender(renderParams);\n\n // Show error message if present\n if (error) {\n return <VgPlotChartError error={error} />;\n }\n\n return (\n <ResponsivePlot\n ref={containerRef}\n onResize={handleResize}\n className=\"h-full w-full\"\n />\n );\n },\n (prevProps, nextProps) => {\n if (isPlotProps(prevProps) && isPlotProps(nextProps)) {\n return prevProps.plot === nextProps.plot;\n }\n if (isSpecProps(prevProps) && isSpecProps(nextProps)) {\n const specEqual =\n JSON.stringify(prevProps.spec) === JSON.stringify(nextProps.spec);\n const paramsEqual = areEquivalentParams(\n prevProps.params,\n nextProps.params,\n );\n const retentionEqual = prevProps.retention === nextProps.retention;\n const policyEqual = prevProps.dataPolicy === nextProps.dataPolicy;\n const issueReporterEqual =\n prevProps.runtimeIssueReporter === nextProps.runtimeIssueReporter;\n const issueContextEqual =\n prevProps.runtimeIssueContext === nextProps.runtimeIssueContext;\n return (\n specEqual &&\n paramsEqual &&\n retentionEqual &&\n policyEqual &&\n issueContextEqual &&\n issueReporterEqual\n );\n }\n return false;\n },\n);\n\nVgPlotChart.displayName = 'VgPlotChart';\n"]}
1
+ {"version":3,"file":"VgPlotChart.js","sourceRoot":"","sources":["../src/VgPlotChart.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Param, Selection} from '@uwdata/mosaic-core';\nimport {Spec} from '@uwdata/mosaic-spec';\nimport {\n FC,\n memo,\n useCallback,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {PlotSize, ResponsivePlot} from './ResponsivePlot';\nimport {useVgPlotChartError} from './useVgPlotChartError';\nimport {\n RetainedVgPlotChart,\n useVgPlotChartRetention,\n VgPlotChartRetention,\n} from './useVgPlotChartRetention';\nimport {useVgPlotChartRender} from './useVgPlotChartRender';\nimport {VgPlotChartError} from './VgPlotChartError';\nimport type {\n ChartDataPolicy,\n ChartRuntimeIssueContext,\n ChartRuntimeIssueReporter,\n} from './chart-runtime';\n\ntype SpecProps = {\n spec: Spec;\n /**\n * Pre-defined params/selections to inject when rendering the spec.\n * Keys are param names (without $), values are Param or Selection instances.\n * This allows multiple independently-rendered specs to share the same\n * Selection objects for cross-filtering.\n */\n params?: Map<string, Param<any> | Selection>;\n /**\n * Optional retention adapter for preserving the underlying vgplot\n * instance across temporary unmount/remount cycles, such as dashboard tab\n * switches.\n */\n retention?: VgPlotChartRetention;\n dataPolicy?: ChartDataPolicy | null;\n runtimeIssueContext?: ChartRuntimeIssueContext;\n runtimeIssueReporter?: ChartRuntimeIssueReporter;\n};\ntype PlotProps = {plot: HTMLElement | SVGSVGElement};\ntype VgPlotChartProps = SpecProps | PlotProps;\n\nexport function isSpecProps(props: VgPlotChartProps): props is SpecProps {\n return 'spec' in props;\n}\n\nexport function isPlotProps(props: VgPlotChartProps): props is PlotProps {\n return 'plot' in props;\n}\n\n// Re-export types for external use\nexport type {VgPlotChartRetention} from './useVgPlotChartRetention';\nexport {destroyRetainedVgPlotChart} from './useVgPlotChartRetention';\nexport type {RetainedVgPlotChart} from './useVgPlotChartRetention';\n\nfunction areEquivalentParams(\n left?: Map<string, Param<any> | Selection>,\n right?: Map<string, Param<any> | Selection>,\n) {\n if (left === right) {\n return true;\n }\n if (!left || !right || left.size !== right.size) {\n return false;\n }\n for (const [key, value] of left) {\n if (right.get(key) !== value) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Renders a Vega-Lite chart using the Mosaic library.\n *\n * @param {VgPlotChartProps} props - The component props.\n * @param {Spec} props.spec - The Vega-Lite specification for the chart.\n * @returns {React.ReactElement} The rendered chart component.\n */\nexport const VgPlotChart: FC<VgPlotChartProps> = memo(\n (props) => {\n const [containerSize, setContainerSize] = useState<PlotSize | null>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const specKey = useMemo(\n () => (isSpecProps(props) ? JSON.stringify(props.spec) : null),\n [props],\n );\n\n const {error, setError} = useVgPlotChartError(specKey);\n const {getCachedChart, setCachedChart} = useVgPlotChartRetention(\n specKey,\n isSpecProps(props) ? props.params : undefined,\n isSpecProps(props) ? props.retention : undefined,\n );\n\n const handleResize = useCallback((size: PlotSize) => {\n setContainerSize((prev) => {\n if (prev && prev.width === size.width && prev.height === size.height) {\n return prev;\n }\n return size;\n });\n }, []);\n\n const handleError = useCallback(\n (error: Error) => {\n setError(error);\n },\n [setError],\n );\n\n const handleChartCreated = useCallback(\n (chart: RetainedVgPlotChart) => {\n setCachedChart(chart);\n },\n [setCachedChart],\n );\n\n const cachedChart = useMemo(() => getCachedChart(), [getCachedChart]);\n\n // Handle PlotProps: directly render the provided plot element\n useLayoutEffect(() => {\n const container = containerRef.current;\n if (!container || !isPlotProps(props)) {\n return;\n }\n\n if (\n container.childNodes.length !== 1 ||\n container.firstChild !== props.plot\n ) {\n container.replaceChildren(props.plot);\n }\n }, [props]);\n\n // Handle SpecProps: render from spec using hooks\n const renderParams = useMemo(() => {\n if (!isSpecProps(props)) {\n return {\n containerRef,\n spec: {} as Spec,\n specKey: null,\n params: undefined,\n containerSize: null,\n cachedChart: null,\n onChartCreated: handleChartCreated,\n onError: handleError,\n dataPolicy: undefined,\n runtimeIssueContext: undefined,\n runtimeIssueReporter: undefined,\n };\n }\n\n return {\n containerRef,\n spec: props.spec,\n specKey,\n params: props.params,\n containerSize,\n cachedChart,\n onChartCreated: handleChartCreated,\n onError: handleError,\n dataPolicy: props.dataPolicy,\n runtimeIssueContext: props.runtimeIssueContext,\n runtimeIssueReporter: props.runtimeIssueReporter,\n };\n }, [\n props,\n specKey,\n containerSize,\n cachedChart,\n handleChartCreated,\n handleError,\n ]);\n\n useVgPlotChartRender(renderParams);\n\n // Show error message if present\n if (error) {\n return <VgPlotChartError error={error} />;\n }\n\n return (\n <ResponsivePlot\n ref={containerRef}\n onResize={handleResize}\n className=\"h-full w-full\"\n />\n );\n },\n (prevProps, nextProps) => {\n if (isPlotProps(prevProps) && isPlotProps(nextProps)) {\n return prevProps.plot === nextProps.plot;\n }\n if (isSpecProps(prevProps) && isSpecProps(nextProps)) {\n const specEqual =\n JSON.stringify(prevProps.spec) === JSON.stringify(nextProps.spec);\n const paramsEqual = areEquivalentParams(\n prevProps.params,\n nextProps.params,\n );\n const retentionEqual = prevProps.retention === nextProps.retention;\n const policyEqual = prevProps.dataPolicy === nextProps.dataPolicy;\n const issueReporterEqual =\n prevProps.runtimeIssueReporter === nextProps.runtimeIssueReporter;\n const issueContextEqual =\n prevProps.runtimeIssueContext === nextProps.runtimeIssueContext;\n return (\n specEqual &&\n paramsEqual &&\n retentionEqual &&\n policyEqual &&\n issueContextEqual &&\n issueReporterEqual\n );\n }\n return false;\n },\n);\n\nVgPlotChart.displayName = 'VgPlotChart';\n"]}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Reusable AI helpers for Mosaic dashboards.
3
+ *
4
+ * Host apps provide a narrow adapter for their store/artifact model; Mosaic owns
5
+ * the dashboard tool behavior and prompts.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import { type LanguageModel, type Tool, ToolLoopAgent } from 'ai';
10
+ import { type ChartBuilderColumn, type ChartToolExecutionContext, type DashboardToolDeps, type PanelPatch, type ChartTypeDefinition } from '../charts/chart-types';
11
+ import type { MosaicDashboardEntry, MosaicDashboardPanelConfig } from '../dashboard/dashboard-types';
12
+ import type { MosaicDashboardLayoutType } from '../dashboard/core-types';
13
+ import { type ChartRuntimeIssue } from '../chart-runtime';
14
+ export type { ChartToolExecutionContext } from '../charts/chart-types';
15
+ export type DashboardAiStore<TState> = {
16
+ getState: () => TState;
17
+ };
18
+ export type DashboardAiTable = {
19
+ tableName: string;
20
+ columns?: ChartBuilderColumn[];
21
+ rowCount?: number;
22
+ };
23
+ export type DashboardAiAdapter<TState> = {
24
+ getTables: (state: TState) => DashboardAiTable[];
25
+ hasRunContext?: (state: TState, context?: ChartToolExecutionContext) => boolean;
26
+ resolveContextDashboardArtifactId?: (state: TState, context?: ChartToolExecutionContext) => string | undefined;
27
+ makeDashboardPrimaryForRun?: (state: TState, dashboardId: string, context?: ChartToolExecutionContext) => void;
28
+ getCurrentDashboardArtifactId: (state: TState) => string | undefined;
29
+ createDashboardArtifact: (state: TState, title?: string, layoutType?: MosaicDashboardLayoutType) => string;
30
+ isDashboardArtifact: (state: TState, artifactId: string) => boolean;
31
+ setCurrentArtifact: (state: TState, artifactId: string) => void;
32
+ ensureDashboard: (state: TState, dashboardId: string, title?: string, layoutType?: MosaicDashboardLayoutType) => void;
33
+ getDashboard: (state: TState, dashboardId: string) => MosaicDashboardEntry | undefined;
34
+ getPanelIssue?: (state: TState, dashboardId: string, panelId: string) => ChartRuntimeIssue | undefined;
35
+ setSelectedTable: (state: TState, dashboardId: string, tableName: string) => void;
36
+ addPanel: (state: TState, dashboardId: string, panel: MosaicDashboardPanelConfig) => string;
37
+ updatePanel: (state: TState, dashboardId: string, panelId: string, patch: Partial<PanelPatch>) => void;
38
+ removePanel: (state: TState, dashboardId: string, panelId: string) => void;
39
+ };
40
+ export type CreateDashboardToolDepsOptions<TState> = {
41
+ store: DashboardAiStore<TState>;
42
+ adapter: DashboardAiAdapter<TState>;
43
+ };
44
+ export type CreateDashboardAiToolsOptions<TState> = CreateDashboardToolDepsOptions<TState> & {
45
+ chartTypes?: ChartTypeDefinition<any>[];
46
+ /**
47
+ * Host-provided dashboard tools keyed by their registered tool name.
48
+ * Register geospatial map tools under MAP_TOOL_KEY so prompts and tools
49
+ * stay in sync.
50
+ */
51
+ extraTools?: (deps: DashboardToolDeps) => Record<string, Tool>;
52
+ };
53
+ export type DashboardAgentToolCall = {
54
+ toolName: string;
55
+ };
56
+ export type DashboardAgentRunResult = {
57
+ finalOutput?: string;
58
+ agentToolCalls?: DashboardAgentToolCall[];
59
+ };
60
+ export type DashboardAgentResult = {
61
+ success: boolean;
62
+ finalOutput: string;
63
+ dashboardId: string;
64
+ error?: string;
65
+ metadata?: {
66
+ tableName: string;
67
+ panelsCreated: number;
68
+ stepsExecuted: number;
69
+ queriesRun: number;
70
+ };
71
+ };
72
+ export type CreateDashboardAgentToolOptions<TState> = CreateDashboardToolDepsOptions<TState> & {
73
+ getModel: (args: {
74
+ state: TState;
75
+ }) => LanguageModel;
76
+ createQueryTools?: (args: {
77
+ store: DashboardAiStore<TState>;
78
+ }) => {
79
+ query: Tool;
80
+ };
81
+ runSubAgent: (args: {
82
+ agent: ToolLoopAgent<any, any, any>;
83
+ prompt: string;
84
+ store: DashboardAiStore<TState>;
85
+ parentToolCallId: string;
86
+ abortSignal?: AbortSignal;
87
+ }) => Promise<DashboardAgentRunResult>;
88
+ instructions?: string;
89
+ chartTypes?: ChartTypeDefinition<any>[];
90
+ /**
91
+ * Host-provided dashboard tools keyed by their registered tool name.
92
+ * Register geospatial map tools under MAP_TOOL_KEY so prompts and tools
93
+ * stay in sync.
94
+ */
95
+ extraTools?: (deps: DashboardToolDeps) => Record<string, Tool>;
96
+ };
97
+ export declare const MAP_TOOL_KEY = "create_dashboard_map";
98
+ export declare const DASHBOARD_AI_INSTRUCTIONS = "\nDashboard authoring:\n\n**When to use dashboard_agent vs individual tools:**\n- Use `dashboard_agent` for exploratory requests that require data analysis and discovery:\n - \"analyze the earthquakes dataset\"\n - \"create insights dashboard for sales data\"\n - \"find interesting patterns in customer behavior\"\n - Any request asking to \"discover\", \"explore\", \"find insights\", or \"analyze\"\n- Use individual chart tools for direct, specific requests:\n - \"create histogram of magnitude with 20 bins\"\n - \"add a line chart showing sales over time\"\n - \"update the histogram to use 30 bins\"\n\n**Individual dashboard chart tools:**\n- create_dashboard_histogram, create_dashboard_line_chart, create_dashboard_box_plot, create_dashboard_bubble_chart, create_dashboard_count_plot, create_dashboard_heatmap\n- Each chart type has its own tool with specific parameters.\n- For line charts with aggregation, use yFields array with {field: string, aggregate: \"sum\"|\"avg\"|\"min\"|\"max\"}.\n- Set xInterval for temporal binning (year, month, day, hour, etc.).\n- If the host app provides `create_dashboard_map`, use it for map/geospatial/location requests and tables with longitude/latitude or geometry columns. Author its config as native Deck JSON with layer classes in `spec.layers[].@@type`, dataset bindings in `_sqlroomsBinding.dataset`, and table/query sources in `config.datasets`. For data-driven map colors, use color accessors such as `getFillColor`, `getLineColor`, `getColor`, `getSourceColor`, or `getTargetColor` with `{\"@@function\":\"colorScale\", \"field\":\"...\", \"type\":\"sequential\"|\"diverging\"|\"quantize\"|\"quantile\"|\"categorical\", \"scheme\":\"Viridis\", \"domain\":\"auto\"}`.\n- Use `set_dashboard_vgplot` with complete JSON only when no chart tool fits your needs.\n- When calling `create_dashboard_artifact`, `layoutType` may be `grid` or `dock`; omitted values default to `grid`.\n- Ensure specs are valid JSON objects compatible with https://idl.uw.edu/mosaic/schema/latest.json.\n- `list_dashboard_panels` includes runtime issues when a chart failed. Use those issues to repair panels in place: convert too-large bubble charts to heatmaps, add `xInterval` to too-large line charts, and inspect columns/settings for SQL errors.\n";
99
+ export declare const DASHBOARD_AGENT_INSTRUCTIONS = "You are a dashboard builder agent that creates and modifies interactive data dashboards.\n\n## Your Role\n\nYou analyze data and create insightful dashboards with multiple visualizations (charts, Data Table Explorers). You can handle both direct requests (\"create histogram of magnitude\") and exploratory requests (\"find interesting insights in earthquakes dataset\").\n\n## Available Tools\n\n**Chart Tools:**\n- create_dashboard_histogram - distribution of numeric values (always safe, aggregates automatically)\n- create_dashboard_line_chart - trends over time or ordered variable (use with aggregations for >10k rows)\n- create_dashboard_box_plot - compare distributions across categories\n- create_dashboard_bubble_chart - relationship between two numeric columns (avoid for >10k rows, use heatmap instead)\n- create_dashboard_count_plot - frequency of categorical values (always safe, aggregates automatically)\n- create_dashboard_heatmap - density/patterns across two dimensions (preferred for large datasets)\n\n**Panel Tools:**\n- create_dashboard_data_table_explorer - table statistics and column summaries\n- create_dashboard_map - native Deck JSON geospatial map panel (if provided by the host app)\n\n**Data Tools:**\n- query - execute SQL queries for data exploration\n\n**Management Tools:**\n- list_dashboard_panels - discover panel IDs and what's on the dashboard\n- remove_dashboard_panel - delete a panel by ID\n\n## Workflows\n\n### Direct Requests\nWhen user provides specific instructions:\n1. Parse intent -> identify chart type\n2. Call appropriate tool with settings\n3. Done\n\nExample: \"create histogram of magnitude with 20 bins\"\n-> create_dashboard_histogram(settings: {field: \"magnitude\", bins: 20})\n\n### Exploratory Requests\nWhen user asks to discover insights:\n1. Use query tool to explore data:\n - Start with simple stats: COUNT, MIN, MAX, AVG, DISTINCT (check total row count!)\n - Check distributions: GROUP BY with COUNT\n - Find correlations: CORR(col1, col2)\n - Identify outliers and patterns\n2. Create targeted charts based on discoveries:\n - If dataset has >10k rows: avoid bubble charts and unaggregated line charts\n - Use histogram, count plot, heatmap, or aggregated visualizations instead\n3. Stop when dashboard tells coherent story\n\n### Update Requests\nTo update existing panels:\n1. Call list_dashboard_panels() to discover panel IDs\n2. Call appropriate create tool with panelId parameter\n3. Panel is updated in-place\n\n## Query Guidelines\n\n**Keep queries simple:**\n- Start with aggregations: COUNT, MIN, MAX, AVG, SUM\n- Use GROUP BY for breakdowns and distributions\n- Use LIMIT to control result size (especially with GROUP BY)\n- Avoid expensive operations: large JOINs, full table scans\n\n**Exploration strategy:**\n- Limit exploration to 5-10 queries per request\n- Start broad (overall stats), then narrow (specific patterns)\n- Stop when you have enough insights for a coherent dashboard\n\n## Best Practices\n\n- **Avoid unaggregated charts for large datasets:** For datasets >10k rows, DO NOT use bubble charts or line charts without aggregations. Use aggregated alternatives instead:\n - For scatter/bubble plots: use heatmap or binned aggregations\n - For line charts: use GROUP BY with time buckets or aggregations\n - Histograms and count plots are always safe (they aggregate automatically)\n- **Check before update:** Always call list_dashboard_panels before updating/removing panels\n- **Repair broken charts:** list_dashboard_panels may return an `issue` per panel. For `too-much-data`, switch to an aggregated chart or add aggregation. For `sql-error`, inspect available columns/types and update the broken panel in place.\n- **Validate columns:** Query tools will validate column existence and types\n- **Handle errors gracefully:** If a query or chart creation fails, try alternative approach";
100
+ export declare function createDashboardToolDeps<TState>({ store, adapter, }: CreateDashboardToolDepsOptions<TState>): DashboardToolDeps;
101
+ export declare function createDashboardAiTools<TState>({ store, adapter, chartTypes, extraTools, }: CreateDashboardAiToolsOptions<TState>): Record<string, Tool>;
102
+ export declare function createDashboardAgentTool<TState>(options: CreateDashboardAgentToolOptions<TState>): Tool;
103
+ //# sourceMappingURL=ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/ai/ai.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,IAAI,EACT,aAAa,EAGd,MAAM,IAAI,CAAC;AAEZ,OAAO,EAML,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAC,yBAAyB,EAAC,MAAM,uBAAuB,CAAC;AAErE,MAAM,MAAM,gBAAgB,CAAC,MAAM,IAAI;IACrC,QAAQ,EAAE,MAAM,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,MAAM,IAAI;IACvC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,EAAE,CAAC;IACjD,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,yBAAyB,KAChC,OAAO,CAAC;IACb,iCAAiC,CAAC,EAAE,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,yBAAyB,KAChC,MAAM,GAAG,SAAS,CAAC;IACxB,0BAA0B,CAAC,EAAE,CAC3B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,yBAAyB,KAChC,IAAI,CAAC;IACV,6BAA6B,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACrE,uBAAuB,EAAE,CACvB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,yBAAyB,KACnC,MAAM,CAAC;IACZ,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IACpE,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,eAAe,EAAE,CACf,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,yBAAyB,KACnC,IAAI,CAAC;IACV,YAAY,EAAE,CACZ,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,KAChB,oBAAoB,GAAG,SAAS,CAAC;IACtC,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,KACZ,iBAAiB,GAAG,SAAS,CAAC;IACnC,gBAAgB,EAAE,CAChB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,KACd,IAAI,CAAC;IACV,QAAQ,EAAE,CACR,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,0BAA0B,KAC9B,MAAM,CAAC;IACZ,WAAW,EAAE,CACX,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KACvB,IAAI,CAAC;IACV,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5E,CAAC;AAEF,MAAM,MAAM,8BAA8B,CAAC,MAAM,IAAI;IACnD,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,6BAA6B,CAAC,MAAM,IAC9C,8BAA8B,CAAC,MAAM,CAAC,GAAG;IACvC,UAAU,CAAC,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CAChE,CAAC;AAEJ,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,sBAAsB,EAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,+BAA+B,CAAC,MAAM,IAChD,8BAA8B,CAAC,MAAM,CAAC,GAAG;IACvC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,KAAK,aAAa,CAAC;IACnD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;KAAC,KAAK;QAC9D,KAAK,EAAE,IAAI,CAAC;KACb,CAAC;IACF,WAAW,EAAE,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACpC,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAChC,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CAChE,CAAC;AAEJ,eAAO,MAAM,YAAY,yBAAyB,CAAC;AAEnD,eAAO,MAAM,yBAAyB,uvEAwBrC,CAAC;AAEF,eAAO,MAAM,4BAA4B,m0HA8EoD,CAAC;AA8E9F,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,EAC9C,KAAK,EACL,OAAO,GACR,EAAE,8BAA8B,CAAC,MAAM,CAAC,GAAG,iBAAiB,CA+H5D;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,EAC7C,KAAK,EACL,OAAO,EACP,UAAU,EACV,UAAU,GACX,EAAE,6BAA6B,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAmD9D;AAiFD,wBAAgB,wBAAwB,CAAC,MAAM,EAC7C,OAAO,EAAE,+BAA+B,CAAC,MAAM,CAAC,GAC/C,IAAI,CAwFN"}