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

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 (572) hide show
  1. package/LICENSE.md +2 -1
  2. package/README.md +179 -35
  3. package/dist/MosaicSlice.d.ts +1 -0
  4. package/dist/MosaicSlice.d.ts.map +1 -1
  5. package/dist/MosaicSlice.js.map +1 -1
  6. package/dist/VgPlotChart.d.ts.map +1 -1
  7. package/dist/VgPlotChart.js +9 -3
  8. package/dist/VgPlotChart.js.map +1 -1
  9. package/dist/ai/agentIntent.d.ts +5 -0
  10. package/dist/ai/agentIntent.d.ts.map +1 -0
  11. package/dist/ai/agentIntent.js +8 -0
  12. package/dist/ai/agentIntent.js.map +1 -0
  13. package/dist/ai/block-document/constants.d.ts +9 -0
  14. package/dist/ai/block-document/constants.d.ts.map +1 -0
  15. package/dist/ai/block-document/constants.js +9 -0
  16. package/dist/ai/block-document/constants.js.map +1 -0
  17. package/dist/ai/block-document/createAddMosaicDashboardBlockTool.d.ts +48 -0
  18. package/dist/ai/block-document/createAddMosaicDashboardBlockTool.d.ts.map +1 -0
  19. package/dist/ai/block-document/createAddMosaicDashboardBlockTool.js +59 -0
  20. package/dist/ai/block-document/createAddMosaicDashboardBlockTool.js.map +1 -0
  21. package/dist/ai/block-document/createBlockDocumentChartTools.d.ts +19 -0
  22. package/dist/ai/block-document/createBlockDocumentChartTools.d.ts.map +1 -0
  23. package/dist/ai/block-document/createBlockDocumentChartTools.js +37 -0
  24. package/dist/ai/block-document/createBlockDocumentChartTools.js.map +1 -0
  25. package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.d.ts +32 -0
  26. package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.d.ts.map +1 -0
  27. package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.js +37 -0
  28. package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.js.map +1 -0
  29. package/dist/ai/constants.d.ts +3 -0
  30. package/dist/ai/constants.d.ts.map +1 -0
  31. package/dist/ai/constants.js +3 -0
  32. package/dist/ai/constants.js.map +1 -0
  33. package/dist/ai/createDataTableExplorerTool.d.ts +69 -0
  34. package/dist/ai/createDataTableExplorerTool.d.ts.map +1 -0
  35. package/dist/ai/createDataTableExplorerTool.js +68 -0
  36. package/dist/ai/createDataTableExplorerTool.js.map +1 -0
  37. package/dist/ai/dashboard/constants.d.ts +6 -0
  38. package/dist/ai/dashboard/constants.d.ts.map +1 -0
  39. package/dist/ai/dashboard/constants.js +6 -0
  40. package/dist/ai/dashboard/constants.js.map +1 -0
  41. package/dist/ai/dashboard/createDashboardAgentTool.d.ts +17 -0
  42. package/dist/ai/dashboard/createDashboardAgentTool.d.ts.map +1 -0
  43. package/dist/ai/dashboard/createDashboardAgentTool.js +205 -0
  44. package/dist/ai/dashboard/createDashboardAgentTool.js.map +1 -0
  45. package/dist/ai/dashboard/createDashboardAiAdapter.d.ts +14 -0
  46. package/dist/ai/dashboard/createDashboardAiAdapter.d.ts.map +1 -0
  47. package/dist/ai/dashboard/createDashboardAiAdapter.js +75 -0
  48. package/dist/ai/dashboard/createDashboardAiAdapter.js.map +1 -0
  49. package/dist/ai/dashboard/createDashboardAiTools.d.ts +26 -0
  50. package/dist/ai/dashboard/createDashboardAiTools.d.ts.map +1 -0
  51. package/dist/ai/dashboard/createDashboardAiTools.js +40 -0
  52. package/dist/ai/dashboard/createDashboardAiTools.js.map +1 -0
  53. package/dist/ai/dashboard/createDashboardChartTools.d.ts +27 -0
  54. package/dist/ai/dashboard/createDashboardChartTools.d.ts.map +1 -0
  55. package/dist/ai/dashboard/createDashboardChartTools.js +55 -0
  56. package/dist/ai/dashboard/createDashboardChartTools.js.map +1 -0
  57. package/dist/ai/dashboard/createDashboardDataTableExplorerTool.d.ts +23 -0
  58. package/dist/ai/dashboard/createDashboardDataTableExplorerTool.d.ts.map +1 -0
  59. package/dist/ai/dashboard/createDashboardDataTableExplorerTool.js +29 -0
  60. package/dist/ai/dashboard/createDashboardDataTableExplorerTool.js.map +1 -0
  61. package/dist/ai/dashboard/createListDashboardPanelsTool.d.ts +28 -0
  62. package/dist/ai/dashboard/createListDashboardPanelsTool.d.ts.map +1 -0
  63. package/dist/ai/dashboard/createListDashboardPanelsTool.js +54 -0
  64. package/dist/ai/dashboard/createListDashboardPanelsTool.js.map +1 -0
  65. package/dist/ai/dashboard/dashboard-types.d.ts +59 -0
  66. package/dist/ai/dashboard/dashboard-types.d.ts.map +1 -0
  67. package/dist/ai/dashboard/dashboard-types.js +2 -0
  68. package/dist/ai/dashboard/dashboard-types.js.map +1 -0
  69. package/dist/ai/database-types.d.ts +12 -0
  70. package/dist/ai/database-types.d.ts.map +1 -0
  71. package/dist/ai/database-types.js +2 -0
  72. package/dist/ai/database-types.js.map +1 -0
  73. package/dist/ai/errors.d.ts +8 -0
  74. package/dist/ai/errors.d.ts.map +1 -0
  75. package/dist/ai/errors.js +11 -0
  76. package/dist/ai/errors.js.map +1 -0
  77. package/dist/ai/tool-helpers.d.ts +28 -29
  78. package/dist/ai/tool-helpers.d.ts.map +1 -1
  79. package/dist/ai/tool-helpers.js +38 -76
  80. package/dist/ai/tool-helpers.js.map +1 -1
  81. package/dist/ai/tool-schemas.d.ts +9 -4
  82. package/dist/ai/tool-schemas.d.ts.map +1 -1
  83. package/dist/ai/tool-schemas.js +12 -12
  84. package/dist/ai/tool-schemas.js.map +1 -1
  85. package/dist/ai/tool-types.d.ts +19 -1
  86. package/dist/ai/tool-types.d.ts.map +1 -1
  87. package/dist/ai/tool-types.js.map +1 -1
  88. package/dist/ai/types.d.ts +64 -0
  89. package/dist/ai/types.d.ts.map +1 -0
  90. package/dist/ai/types.js +2 -0
  91. package/dist/ai/types.js.map +1 -0
  92. package/dist/ai.d.ts +16 -2
  93. package/dist/ai.d.ts.map +1 -1
  94. package/dist/ai.js +14 -5
  95. package/dist/ai.js.map +1 -1
  96. package/dist/charts/MosaicChart.d.ts +3 -1
  97. package/dist/charts/MosaicChart.d.ts.map +1 -1
  98. package/dist/charts/MosaicChart.js +2 -2
  99. package/dist/charts/MosaicChart.js.map +1 -1
  100. package/dist/charts/MosaicChartError.d.ts +8 -2
  101. package/dist/charts/MosaicChartError.d.ts.map +1 -1
  102. package/dist/charts/MosaicChartError.js +29 -3
  103. package/dist/charts/MosaicChartError.js.map +1 -1
  104. package/dist/charts/MosaicChartSettingsButton.d.ts +15 -0
  105. package/dist/charts/MosaicChartSettingsButton.d.ts.map +1 -0
  106. package/dist/charts/MosaicChartSettingsButton.js +7 -0
  107. package/dist/charts/MosaicChartSettingsButton.js.map +1 -0
  108. package/dist/charts/MosaicChartView.d.ts +2 -0
  109. package/dist/charts/MosaicChartView.d.ts.map +1 -1
  110. package/dist/charts/MosaicChartView.js +19 -7
  111. package/dist/charts/MosaicChartView.js.map +1 -1
  112. package/dist/charts/chart-settings/MosaicChartSettings.d.ts.map +1 -1
  113. package/dist/charts/chart-settings/MosaicChartSettings.js +3 -3
  114. package/dist/charts/chart-settings/MosaicChartSettings.js.map +1 -1
  115. package/dist/charts/chart-settings/MosaicChartSettingsPanel.js +1 -1
  116. package/dist/charts/chart-settings/MosaicChartSettingsPanel.js.map +1 -1
  117. package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.d.ts.map +1 -1
  118. package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.js +2 -1
  119. package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.js.map +1 -1
  120. package/dist/charts/chart-settings/MosaicChartTypeSelector.d.ts.map +1 -1
  121. package/dist/charts/chart-settings/MosaicChartTypeSelector.js +3 -3
  122. package/dist/charts/chart-settings/MosaicChartTypeSelector.js.map +1 -1
  123. package/dist/charts/chart-types/base-types.d.ts +40 -25
  124. package/dist/charts/chart-types/base-types.d.ts.map +1 -1
  125. package/dist/charts/chart-types/base-types.js +5 -0
  126. package/dist/charts/chart-types/base-types.js.map +1 -1
  127. package/dist/charts/chart-types/box-plot/definition.d.ts.map +1 -1
  128. package/dist/charts/chart-types/box-plot/definition.js +1 -0
  129. package/dist/charts/chart-types/box-plot/definition.js.map +1 -1
  130. package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.d.ts +37 -3
  131. package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.d.ts.map +1 -1
  132. package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.js +28 -13
  133. package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.js.map +1 -1
  134. package/dist/charts/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js +2 -2
  135. package/dist/charts/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js.map +1 -1
  136. package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.d.ts +12 -1
  137. package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.d.ts.map +1 -1
  138. package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.js +13 -3
  139. package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.js.map +1 -1
  140. package/dist/charts/chart-types/box-plot/tool.d.ts +20 -24
  141. package/dist/charts/chart-types/box-plot/tool.d.ts.map +1 -1
  142. package/dist/charts/chart-types/box-plot/tool.js +25 -33
  143. package/dist/charts/chart-types/box-plot/tool.js.map +1 -1
  144. package/dist/charts/chart-types/box-plot/validation.d.ts +9 -0
  145. package/dist/charts/chart-types/box-plot/validation.d.ts.map +1 -0
  146. package/dist/charts/chart-types/box-plot/validation.js +32 -0
  147. package/dist/charts/chart-types/box-plot/validation.js.map +1 -0
  148. package/dist/charts/chart-types/chart-config.d.ts +3 -1
  149. package/dist/charts/chart-types/chart-config.d.ts.map +1 -1
  150. package/dist/charts/chart-types/chart-config.js +2 -2
  151. package/dist/charts/chart-types/chart-config.js.map +1 -1
  152. package/dist/charts/chart-types/column-types.d.ts +8 -0
  153. package/dist/charts/chart-types/column-types.d.ts.map +1 -0
  154. package/dist/charts/chart-types/column-types.js +2 -0
  155. package/dist/charts/chart-types/column-types.js.map +1 -0
  156. package/dist/charts/chart-types/count-plot/definition.d.ts.map +1 -1
  157. package/dist/charts/chart-types/count-plot/definition.js +1 -0
  158. package/dist/charts/chart-types/count-plot/definition.js.map +1 -1
  159. package/dist/charts/chart-types/count-plot/spec.d.ts +2 -1
  160. package/dist/charts/chart-types/count-plot/spec.d.ts.map +1 -1
  161. package/dist/charts/chart-types/count-plot/spec.js +47 -34
  162. package/dist/charts/chart-types/count-plot/spec.js.map +1 -1
  163. package/dist/charts/chart-types/count-plot/tool.d.ts +19 -24
  164. package/dist/charts/chart-types/count-plot/tool.d.ts.map +1 -1
  165. package/dist/charts/chart-types/count-plot/tool.js +26 -33
  166. package/dist/charts/chart-types/count-plot/tool.js.map +1 -1
  167. package/dist/charts/chart-types/count-plot/validation.d.ts +8 -0
  168. package/dist/charts/chart-types/count-plot/validation.d.ts.map +1 -0
  169. package/dist/charts/chart-types/count-plot/validation.js +20 -0
  170. package/dist/charts/chart-types/count-plot/validation.js.map +1 -0
  171. package/dist/charts/chart-types/createChartInstructions.d.ts +3 -0
  172. package/dist/charts/chart-types/createChartInstructions.d.ts.map +1 -0
  173. package/dist/charts/chart-types/createChartInstructions.js +12 -0
  174. package/dist/charts/chart-types/createChartInstructions.js.map +1 -0
  175. package/dist/charts/chart-types/createChartTools.d.ts +15 -9
  176. package/dist/charts/chart-types/createChartTools.d.ts.map +1 -1
  177. package/dist/charts/chart-types/createChartTools.js +16 -10
  178. package/dist/charts/chart-types/createChartTools.js.map +1 -1
  179. package/dist/charts/chart-types/createDefaultChartTypes.js +2 -2
  180. package/dist/charts/chart-types/createDefaultChartTypes.js.map +1 -1
  181. package/dist/charts/chart-types/custom-spec/definition.d.ts.map +1 -1
  182. package/dist/charts/chart-types/custom-spec/definition.js +1 -0
  183. package/dist/charts/chart-types/custom-spec/definition.js.map +1 -1
  184. package/dist/charts/chart-types/custom-spec/spec.d.ts +2 -1
  185. package/dist/charts/chart-types/custom-spec/spec.d.ts.map +1 -1
  186. package/dist/charts/chart-types/custom-spec/spec.js +16 -12
  187. package/dist/charts/chart-types/custom-spec/spec.js.map +1 -1
  188. package/dist/charts/chart-types/errors.d.ts +35 -0
  189. package/dist/charts/chart-types/errors.d.ts.map +1 -1
  190. package/dist/charts/chart-types/errors.js +56 -0
  191. package/dist/charts/chart-types/errors.js.map +1 -1
  192. package/dist/charts/chart-types/heatmap/definition.d.ts.map +1 -1
  193. package/dist/charts/chart-types/heatmap/definition.js +1 -0
  194. package/dist/charts/chart-types/heatmap/definition.js.map +1 -1
  195. package/dist/charts/chart-types/heatmap/spec.d.ts +2 -1
  196. package/dist/charts/chart-types/heatmap/spec.d.ts.map +1 -1
  197. package/dist/charts/chart-types/heatmap/spec.js +21 -21
  198. package/dist/charts/chart-types/heatmap/spec.js.map +1 -1
  199. package/dist/charts/chart-types/heatmap/tool.d.ts +20 -24
  200. package/dist/charts/chart-types/heatmap/tool.d.ts.map +1 -1
  201. package/dist/charts/chart-types/heatmap/tool.js +27 -37
  202. package/dist/charts/chart-types/heatmap/tool.js.map +1 -1
  203. package/dist/charts/chart-types/heatmap/validation.d.ts +9 -0
  204. package/dist/charts/chart-types/heatmap/validation.d.ts.map +1 -0
  205. package/dist/charts/chart-types/heatmap/validation.js +34 -0
  206. package/dist/charts/chart-types/heatmap/validation.js.map +1 -0
  207. package/dist/charts/chart-types/histogram/HistogramSettings.d.ts.map +1 -1
  208. package/dist/charts/chart-types/histogram/HistogramSettings.js +3 -1
  209. package/dist/charts/chart-types/histogram/HistogramSettings.js.map +1 -1
  210. package/dist/charts/chart-types/histogram/definition.d.ts.map +1 -1
  211. package/dist/charts/chart-types/histogram/definition.js +1 -0
  212. package/dist/charts/chart-types/histogram/definition.js.map +1 -1
  213. package/dist/charts/chart-types/histogram/schema.d.ts +2 -0
  214. package/dist/charts/chart-types/histogram/schema.d.ts.map +1 -1
  215. package/dist/charts/chart-types/histogram/schema.js +1 -0
  216. package/dist/charts/chart-types/histogram/schema.js.map +1 -1
  217. package/dist/charts/chart-types/histogram/spec.d.ts +2 -1
  218. package/dist/charts/chart-types/histogram/spec.d.ts.map +1 -1
  219. package/dist/charts/chart-types/histogram/spec.js +31 -28
  220. package/dist/charts/chart-types/histogram/spec.js.map +1 -1
  221. package/dist/charts/chart-types/histogram/tool.d.ts +39 -24
  222. package/dist/charts/chart-types/histogram/tool.d.ts.map +1 -1
  223. package/dist/charts/chart-types/histogram/tool.js +39 -33
  224. package/dist/charts/chart-types/histogram/tool.js.map +1 -1
  225. package/dist/charts/chart-types/histogram/validation.d.ts +9 -0
  226. package/dist/charts/chart-types/histogram/validation.d.ts.map +1 -0
  227. package/dist/charts/chart-types/histogram/validation.js +22 -0
  228. package/dist/charts/chart-types/histogram/validation.js.map +1 -0
  229. package/dist/charts/chart-types/index.d.ts +5 -11
  230. package/dist/charts/chart-types/index.d.ts.map +1 -1
  231. package/dist/charts/chart-types/index.js +6 -12
  232. package/dist/charts/chart-types/index.js.map +1 -1
  233. package/dist/charts/chart-types/line-chart/LineChartSettings.d.ts.map +1 -1
  234. package/dist/charts/chart-types/line-chart/LineChartSettings.js +4 -13
  235. package/dist/charts/chart-types/line-chart/LineChartSettings.js.map +1 -1
  236. package/dist/charts/chart-types/line-chart/LineChartXFieldSelector.d.ts +7 -0
  237. package/dist/charts/chart-types/line-chart/LineChartXFieldSelector.d.ts.map +1 -0
  238. package/dist/charts/chart-types/line-chart/LineChartXFieldSelector.js +22 -0
  239. package/dist/charts/chart-types/line-chart/LineChartXFieldSelector.js.map +1 -0
  240. package/dist/charts/chart-types/line-chart/LineChartYFieldsSelector.d.ts +7 -0
  241. package/dist/charts/chart-types/line-chart/LineChartYFieldsSelector.d.ts.map +1 -0
  242. package/dist/charts/chart-types/line-chart/LineChartYFieldsSelector.js +42 -0
  243. package/dist/charts/chart-types/line-chart/LineChartYFieldsSelector.js.map +1 -0
  244. package/dist/charts/chart-types/line-chart/definition.d.ts.map +1 -1
  245. package/dist/charts/chart-types/line-chart/definition.js +1 -0
  246. package/dist/charts/chart-types/line-chart/definition.js.map +1 -1
  247. package/dist/charts/chart-types/line-chart/schema.d.ts +2 -0
  248. package/dist/charts/chart-types/line-chart/schema.d.ts.map +1 -1
  249. package/dist/charts/chart-types/line-chart/schema.js +5 -0
  250. package/dist/charts/chart-types/line-chart/schema.js.map +1 -1
  251. package/dist/charts/chart-types/line-chart/spec.d.ts +2 -1
  252. package/dist/charts/chart-types/line-chart/spec.d.ts.map +1 -1
  253. package/dist/charts/chart-types/line-chart/spec.js +56 -65
  254. package/dist/charts/chart-types/line-chart/spec.js.map +1 -1
  255. package/dist/charts/chart-types/line-chart/tool.d.ts +28 -24
  256. package/dist/charts/chart-types/line-chart/tool.d.ts.map +1 -1
  257. package/dist/charts/chart-types/line-chart/tool.js +27 -39
  258. package/dist/charts/chart-types/line-chart/tool.js.map +1 -1
  259. package/dist/charts/chart-types/line-chart/utils.d.ts +7 -0
  260. package/dist/charts/chart-types/line-chart/utils.d.ts.map +1 -0
  261. package/dist/charts/chart-types/line-chart/utils.js +17 -0
  262. package/dist/charts/chart-types/line-chart/utils.js.map +1 -0
  263. package/dist/charts/chart-types/line-chart/validation.d.ts +16 -0
  264. package/dist/charts/chart-types/line-chart/validation.d.ts.map +1 -0
  265. package/dist/charts/chart-types/line-chart/validation.js +43 -0
  266. package/dist/charts/chart-types/line-chart/validation.js.map +1 -0
  267. package/dist/charts/chart-types/mosaicChartTypes.d.ts +4 -2
  268. package/dist/charts/chart-types/mosaicChartTypes.d.ts.map +1 -1
  269. package/dist/charts/chart-types/mosaicChartTypes.js +2 -2
  270. package/dist/charts/chart-types/mosaicChartTypes.js.map +1 -1
  271. package/dist/charts/chart-types/resolveChartTypes.d.ts +3 -0
  272. package/dist/charts/chart-types/resolveChartTypes.d.ts.map +1 -0
  273. package/dist/charts/chart-types/resolveChartTypes.js +8 -0
  274. package/dist/charts/chart-types/resolveChartTypes.js.map +1 -0
  275. package/dist/charts/chart-types/scatter-plot/ScatterPlotSettings.d.ts +3 -0
  276. package/dist/charts/chart-types/scatter-plot/ScatterPlotSettings.d.ts.map +1 -0
  277. package/dist/charts/chart-types/{bubble-chart/BubbleChartSettings.js → scatter-plot/ScatterPlotSettings.js} +4 -4
  278. package/dist/charts/chart-types/scatter-plot/ScatterPlotSettings.js.map +1 -0
  279. package/dist/charts/chart-types/scatter-plot/definition.d.ts +4 -0
  280. package/dist/charts/chart-types/scatter-plot/definition.d.ts.map +1 -0
  281. package/dist/charts/chart-types/scatter-plot/definition.js +25 -0
  282. package/dist/charts/chart-types/scatter-plot/definition.js.map +1 -0
  283. package/dist/charts/chart-types/{bubble-chart → scatter-plot}/schema.d.ts +5 -5
  284. package/dist/charts/chart-types/scatter-plot/schema.d.ts.map +1 -0
  285. package/dist/charts/chart-types/{bubble-chart → scatter-plot}/schema.js +5 -5
  286. package/dist/charts/chart-types/scatter-plot/schema.js.map +1 -0
  287. package/dist/charts/chart-types/scatter-plot/spec.d.ts +5 -0
  288. package/dist/charts/chart-types/scatter-plot/spec.d.ts.map +1 -0
  289. package/dist/charts/chart-types/scatter-plot/spec.js +37 -0
  290. package/dist/charts/chart-types/scatter-plot/spec.js.map +1 -0
  291. package/dist/charts/chart-types/scatter-plot/tool.d.ts +39 -0
  292. package/dist/charts/chart-types/scatter-plot/tool.d.ts.map +1 -0
  293. package/dist/charts/chart-types/scatter-plot/tool.js +57 -0
  294. package/dist/charts/chart-types/scatter-plot/tool.js.map +1 -0
  295. package/dist/charts/chart-types/scatter-plot/validation.d.ts +13 -0
  296. package/dist/charts/chart-types/scatter-plot/validation.d.ts.map +1 -0
  297. package/dist/charts/chart-types/scatter-plot/validation.js +52 -0
  298. package/dist/charts/chart-types/scatter-plot/validation.js.map +1 -0
  299. package/dist/charts/chart-types/tool-types.d.ts +43 -0
  300. package/dist/charts/chart-types/tool-types.d.ts.map +1 -0
  301. package/dist/charts/chart-types/tool-types.js +2 -0
  302. package/dist/charts/chart-types/tool-types.js.map +1 -0
  303. package/dist/charts/chart-types/utils.d.ts +3 -0
  304. package/dist/charts/chart-types/utils.d.ts.map +1 -0
  305. package/dist/charts/chart-types/utils.js +4 -0
  306. package/dist/charts/chart-types/utils.js.map +1 -0
  307. package/dist/charts/dashboard/MosaicDashboardChartHeaderActions.d.ts.map +1 -1
  308. package/dist/charts/dashboard/MosaicDashboardChartHeaderActions.js +12 -5
  309. package/dist/charts/dashboard/MosaicDashboardChartHeaderActions.js.map +1 -1
  310. package/dist/charts/dashboard/MosaicDashboardChartRenderer.d.ts.map +1 -1
  311. package/dist/charts/dashboard/MosaicDashboardChartRenderer.js +6 -4
  312. package/dist/charts/dashboard/MosaicDashboardChartRenderer.js.map +1 -1
  313. package/dist/charts/useChartDataPolicy.d.ts.map +1 -1
  314. package/dist/charts/useChartDataPolicy.js +2 -1
  315. package/dist/charts/useChartDataPolicy.js.map +1 -1
  316. package/dist/charts/useChartPanelClients.d.ts +8 -0
  317. package/dist/charts/useChartPanelClients.d.ts.map +1 -0
  318. package/dist/charts/useChartPanelClients.js +22 -0
  319. package/dist/charts/useChartPanelClients.js.map +1 -0
  320. package/dist/charts/useMosaicChartRenderContext.d.ts +2 -3
  321. package/dist/charts/useMosaicChartRenderContext.d.ts.map +1 -1
  322. package/dist/charts/useMosaicChartRenderContext.js +15 -15
  323. package/dist/charts/useMosaicChartRenderContext.js.map +1 -1
  324. package/dist/charts/worksheet/ChartBlockHeader.d.ts.map +1 -1
  325. package/dist/charts/worksheet/ChartBlockHeader.js +4 -3
  326. package/dist/charts/worksheet/ChartBlockHeader.js.map +1 -1
  327. package/dist/charts/worksheet/ChartBlockRenderer.d.ts.map +1 -1
  328. package/dist/charts/worksheet/ChartBlockRenderer.js +3 -13
  329. package/dist/charts/worksheet/ChartBlockRenderer.js.map +1 -1
  330. package/dist/column-types-utils.d.ts.map +1 -1
  331. package/dist/column-types-utils.js +12 -4
  332. package/dist/column-types-utils.js.map +1 -1
  333. package/dist/components/AggregationSelector.d.ts.map +1 -1
  334. package/dist/components/AggregationSelector.js +9 -2
  335. package/dist/components/AggregationSelector.js.map +1 -1
  336. package/dist/components/BlockCaptionEditor.d.ts +20 -0
  337. package/dist/components/BlockCaptionEditor.d.ts.map +1 -0
  338. package/dist/components/BlockCaptionEditor.js +15 -0
  339. package/dist/components/BlockCaptionEditor.js.map +1 -0
  340. package/dist/components/ColorSelector.d.ts +12 -0
  341. package/dist/components/ColorSelector.d.ts.map +1 -0
  342. package/dist/components/ColorSelector.js +13 -0
  343. package/dist/components/ColorSelector.js.map +1 -0
  344. package/dist/components/ColumnSelector.d.ts +1 -0
  345. package/dist/components/ColumnSelector.d.ts.map +1 -1
  346. package/dist/components/ColumnSelector.js +2 -2
  347. package/dist/components/ColumnSelector.js.map +1 -1
  348. package/dist/components/FieldSelectorInput.d.ts +1 -0
  349. package/dist/components/FieldSelectorInput.d.ts.map +1 -1
  350. package/dist/components/FieldSelectorInput.js +4 -9
  351. package/dist/components/FieldSelectorInput.js.map +1 -1
  352. package/dist/components/MultiFieldSelector.d.ts +4 -1
  353. package/dist/components/MultiFieldSelector.d.ts.map +1 -1
  354. package/dist/components/MultiFieldSelector.js +4 -13
  355. package/dist/components/MultiFieldSelector.js.map +1 -1
  356. package/dist/components/TemporalGranularitySelector.d.ts.map +1 -1
  357. package/dist/components/TemporalGranularitySelector.js +13 -9
  358. package/dist/components/TemporalGranularitySelector.js.map +1 -1
  359. package/dist/constants/chart-colors.d.ts +3 -0
  360. package/dist/constants/chart-colors.d.ts.map +1 -0
  361. package/dist/constants/chart-colors.js +5 -0
  362. package/dist/constants/chart-colors.js.map +1 -0
  363. package/dist/dashboard/DefaultMosaicDashboardBlock.d.ts +2 -1
  364. package/dist/dashboard/DefaultMosaicDashboardBlock.d.ts.map +1 -1
  365. package/dist/dashboard/DefaultMosaicDashboardBlock.js +1 -1
  366. package/dist/dashboard/DefaultMosaicDashboardBlock.js.map +1 -1
  367. package/dist/dashboard/MosaicDashboardCommands.d.ts +19 -0
  368. package/dist/dashboard/MosaicDashboardCommands.d.ts.map +1 -0
  369. package/dist/dashboard/MosaicDashboardCommands.js +226 -0
  370. package/dist/dashboard/MosaicDashboardCommands.js.map +1 -0
  371. package/dist/dashboard/MosaicDashboardSlice.d.ts +22 -4
  372. package/dist/dashboard/MosaicDashboardSlice.d.ts.map +1 -1
  373. package/dist/dashboard/MosaicDashboardSlice.js +55 -0
  374. package/dist/dashboard/MosaicDashboardSlice.js.map +1 -1
  375. package/dist/dashboard/components/ResetFiltersButton.d.ts +14 -0
  376. package/dist/dashboard/components/ResetFiltersButton.d.ts.map +1 -0
  377. package/dist/dashboard/components/ResetFiltersButton.js +15 -0
  378. package/dist/dashboard/components/ResetFiltersButton.js.map +1 -0
  379. package/dist/dashboard/dashboard-types.d.ts +9 -3
  380. package/dist/dashboard/dashboard-types.d.ts.map +1 -1
  381. package/dist/dashboard/dashboard-types.js.map +1 -1
  382. package/dist/dashboard/hooks/useDashboardResetFilters.d.ts +14 -0
  383. package/dist/dashboard/hooks/useDashboardResetFilters.d.ts.map +1 -0
  384. package/dist/dashboard/hooks/useDashboardResetFilters.js +39 -0
  385. package/dist/dashboard/hooks/useDashboardResetFilters.js.map +1 -0
  386. package/dist/dashboard/hooks/usePanelResetFilters.d.ts +16 -0
  387. package/dist/dashboard/hooks/usePanelResetFilters.d.ts.map +1 -0
  388. package/dist/dashboard/hooks/usePanelResetFilters.js +47 -0
  389. package/dist/dashboard/hooks/usePanelResetFilters.js.map +1 -0
  390. package/dist/dashboard/panel/MosaicDashboardPanel.d.ts.map +1 -1
  391. package/dist/dashboard/panel/MosaicDashboardPanel.js +1 -1
  392. package/dist/dashboard/panel/MosaicDashboardPanel.js.map +1 -1
  393. package/dist/dashboard/panel/MosaicDashboardPanelLayout.d.ts.map +1 -1
  394. package/dist/dashboard/panel/MosaicDashboardPanelLayout.js +3 -3
  395. package/dist/dashboard/panel/MosaicDashboardPanelLayout.js.map +1 -1
  396. package/dist/dashboard/panel/MosaicDashboardPanels.d.ts.map +1 -1
  397. package/dist/dashboard/panel/MosaicDashboardPanels.js +4 -2
  398. package/dist/dashboard/panel/MosaicDashboardPanels.js.map +1 -1
  399. package/dist/dashboard/toolbar/MosaicDashboardAddPanelDropdown.d.ts.map +1 -1
  400. package/dist/dashboard/toolbar/MosaicDashboardAddPanelDropdown.js +3 -3
  401. package/dist/dashboard/toolbar/MosaicDashboardAddPanelDropdown.js.map +1 -1
  402. package/dist/dashboard/toolbar/MosaicDashboardDataTableSelector.d.ts +7 -0
  403. package/dist/dashboard/toolbar/MosaicDashboardDataTableSelector.d.ts.map +1 -0
  404. package/dist/dashboard/toolbar/MosaicDashboardDataTableSelector.js +18 -0
  405. package/dist/dashboard/toolbar/MosaicDashboardDataTableSelector.js.map +1 -0
  406. package/dist/dashboard/toolbar/MosaicDashboardResetFiltersButton.d.ts.map +1 -1
  407. package/dist/dashboard/toolbar/MosaicDashboardResetFiltersButton.js +4 -32
  408. package/dist/dashboard/toolbar/MosaicDashboardResetFiltersButton.js.map +1 -1
  409. package/dist/dashboard/toolbar/MosaicDashboardToolbar.d.ts +2 -2
  410. package/dist/dashboard/toolbar/MosaicDashboardToolbar.d.ts.map +1 -1
  411. package/dist/dashboard/toolbar/MosaicDashboardToolbar.js +14 -10
  412. package/dist/dashboard/toolbar/MosaicDashboardToolbar.js.map +1 -1
  413. package/dist/dashboard/usePanelClientRegistration.d.ts +7 -0
  414. package/dist/dashboard/usePanelClientRegistration.d.ts.map +1 -0
  415. package/dist/dashboard/usePanelClientRegistration.js +30 -0
  416. package/dist/dashboard/usePanelClientRegistration.js.map +1 -0
  417. package/dist/dashboard/usePanelClients.d.ts +7 -0
  418. package/dist/dashboard/usePanelClients.d.ts.map +1 -0
  419. package/dist/dashboard/usePanelClients.js +13 -0
  420. package/dist/dashboard/usePanelClients.js.map +1 -0
  421. package/dist/dashboard/useSelectedOrFirstTable.d.ts +1 -1
  422. package/dist/dashboard/useSelectedOrFirstTable.d.ts.map +1 -1
  423. package/dist/dashboard/useSelectedOrFirstTable.js +10 -8
  424. package/dist/dashboard/useSelectedOrFirstTable.js.map +1 -1
  425. package/dist/data-table-explorer/DataTableExplorer.d.ts +4 -2
  426. package/dist/data-table-explorer/DataTableExplorer.d.ts.map +1 -1
  427. package/dist/data-table-explorer/DataTableExplorer.js +4 -4
  428. package/dist/data-table-explorer/DataTableExplorer.js.map +1 -1
  429. package/dist/data-table-explorer/DataTableExplorerCategoryClient.d.ts +3 -2
  430. package/dist/data-table-explorer/DataTableExplorerCategoryClient.d.ts.map +1 -1
  431. package/dist/data-table-explorer/DataTableExplorerCategoryClient.js +4 -3
  432. package/dist/data-table-explorer/DataTableExplorerCategoryClient.js.map +1 -1
  433. package/dist/data-table-explorer/DataTableExplorerCountClient.d.ts +3 -1
  434. package/dist/data-table-explorer/DataTableExplorerCountClient.d.ts.map +1 -1
  435. package/dist/data-table-explorer/DataTableExplorerCountClient.js +3 -3
  436. package/dist/data-table-explorer/DataTableExplorerCountClient.js.map +1 -1
  437. package/dist/data-table-explorer/DataTableExplorerHistogramClient.d.ts +3 -2
  438. package/dist/data-table-explorer/DataTableExplorerHistogramClient.d.ts.map +1 -1
  439. package/dist/data-table-explorer/DataTableExplorerHistogramClient.js +4 -4
  440. package/dist/data-table-explorer/DataTableExplorerHistogramClient.js.map +1 -1
  441. package/dist/data-table-explorer/DataTableExplorerPageClient.d.ts +3 -1
  442. package/dist/data-table-explorer/DataTableExplorerPageClient.d.ts.map +1 -1
  443. package/dist/data-table-explorer/DataTableExplorerPageClient.js +3 -1
  444. package/dist/data-table-explorer/DataTableExplorerPageClient.js.map +1 -1
  445. package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.d.ts +3 -2
  446. package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.d.ts.map +1 -1
  447. package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.js +3 -3
  448. package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.js.map +1 -1
  449. package/dist/data-table-explorer/createDataTableExplorerStore.d.ts +3 -0
  450. package/dist/data-table-explorer/createDataTableExplorerStore.d.ts.map +1 -1
  451. package/dist/data-table-explorer/createDataTableExplorerStore.js +6 -0
  452. package/dist/data-table-explorer/createDataTableExplorerStore.js.map +1 -1
  453. package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerHeaderActions.d.ts +4 -0
  454. package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerHeaderActions.d.ts.map +1 -0
  455. package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerHeaderActions.js +13 -0
  456. package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerHeaderActions.js.map +1 -0
  457. package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.d.ts.map +1 -1
  458. package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.js +26 -8
  459. package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.js.map +1 -1
  460. package/dist/data-table-explorer/dashboard/useDataTableExplorerPanelClients.d.ts +13 -0
  461. package/dist/data-table-explorer/dashboard/useDataTableExplorerPanelClients.d.ts.map +1 -0
  462. package/dist/data-table-explorer/dashboard/useDataTableExplorerPanelClients.js +32 -0
  463. package/dist/data-table-explorer/dashboard/useDataTableExplorerPanelClients.js.map +1 -0
  464. package/dist/data-table-explorer/dataTableExplorerController.d.ts +63 -3
  465. package/dist/data-table-explorer/dataTableExplorerController.d.ts.map +1 -1
  466. package/dist/data-table-explorer/dataTableExplorerController.js +73 -10
  467. package/dist/data-table-explorer/dataTableExplorerController.js.map +1 -1
  468. package/dist/data-table-explorer/hooks/useDataTableExplorerColumns.d.ts +12 -0
  469. package/dist/data-table-explorer/hooks/useDataTableExplorerColumns.d.ts.map +1 -0
  470. package/dist/data-table-explorer/hooks/useDataTableExplorerColumns.js +19 -0
  471. package/dist/data-table-explorer/hooks/useDataTableExplorerColumns.js.map +1 -0
  472. package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.d.ts +52 -0
  473. package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.d.ts.map +1 -0
  474. package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.js +153 -0
  475. package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.js.map +1 -0
  476. package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.d.ts +42 -0
  477. package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.d.ts.map +1 -0
  478. package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.js +43 -0
  479. package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.js.map +1 -0
  480. package/dist/data-table-explorer/hooks/useDataTableExplorerSelection.d.ts +13 -0
  481. package/dist/data-table-explorer/hooks/useDataTableExplorerSelection.d.ts.map +1 -0
  482. package/dist/data-table-explorer/hooks/useDataTableExplorerSelection.js +40 -0
  483. package/dist/data-table-explorer/hooks/useDataTableExplorerSelection.js.map +1 -0
  484. package/dist/data-table-explorer/hooks/useDataTableExplorerStatus.d.ts +18 -0
  485. package/dist/data-table-explorer/hooks/useDataTableExplorerStatus.d.ts.map +1 -0
  486. package/dist/data-table-explorer/hooks/useDataTableExplorerStatus.js +23 -0
  487. package/dist/data-table-explorer/hooks/useDataTableExplorerStatus.js.map +1 -0
  488. package/dist/data-table-explorer/hooks/useDataTableExplorerStoreState.d.ts +27 -0
  489. package/dist/data-table-explorer/hooks/useDataTableExplorerStoreState.d.ts.map +1 -0
  490. package/dist/data-table-explorer/hooks/useDataTableExplorerStoreState.js +28 -0
  491. package/dist/data-table-explorer/hooks/useDataTableExplorerStoreState.js.map +1 -0
  492. package/dist/data-table-explorer/hooks/useDataTableExplorerVisiblePage.d.ts +15 -0
  493. package/dist/data-table-explorer/hooks/useDataTableExplorerVisiblePage.d.ts.map +1 -0
  494. package/dist/data-table-explorer/hooks/useDataTableExplorerVisiblePage.js +21 -0
  495. package/dist/data-table-explorer/hooks/useDataTableExplorerVisiblePage.js.map +1 -0
  496. package/dist/data-table-explorer/types.d.ts +16 -3
  497. package/dist/data-table-explorer/types.d.ts.map +1 -1
  498. package/dist/data-table-explorer/types.js.map +1 -1
  499. package/dist/data-table-explorer/useDataTableExplorer.d.ts.map +1 -1
  500. package/dist/data-table-explorer/useDataTableExplorer.js +20 -279
  501. package/dist/data-table-explorer/useDataTableExplorer.js.map +1 -1
  502. package/dist/data-table-explorer/utils.d.ts +64 -6
  503. package/dist/data-table-explorer/utils.d.ts.map +1 -1
  504. package/dist/data-table-explorer/utils.js +58 -0
  505. package/dist/data-table-explorer/utils.js.map +1 -1
  506. package/dist/data-table-explorer/worksheet/DataTableBlockHeader.d.ts +1 -0
  507. package/dist/data-table-explorer/worksheet/DataTableBlockHeader.d.ts.map +1 -1
  508. package/dist/data-table-explorer/worksheet/DataTableBlockHeader.js +4 -2
  509. package/dist/data-table-explorer/worksheet/DataTableBlockHeader.js.map +1 -1
  510. package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.d.ts.map +1 -1
  511. package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.js +4 -4
  512. package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.js.map +1 -1
  513. package/dist/index.d.ts +55 -31
  514. package/dist/index.d.ts.map +1 -1
  515. package/dist/index.js +86 -26
  516. package/dist/index.js.map +1 -1
  517. package/dist/mosaicTableReference.d.ts +59 -0
  518. package/dist/mosaicTableReference.d.ts.map +1 -0
  519. package/dist/mosaicTableReference.js +68 -0
  520. package/dist/mosaicTableReference.js.map +1 -0
  521. package/dist/useVgPlotChartRender.d.ts.map +1 -1
  522. package/dist/useVgPlotChartRender.js +151 -25
  523. package/dist/useVgPlotChartRender.js.map +1 -1
  524. package/dist/useVgPlotChartRetention.d.ts +11 -0
  525. package/dist/useVgPlotChartRetention.d.ts.map +1 -1
  526. package/dist/useVgPlotChartRetention.js.map +1 -1
  527. package/dist/utils/table-lookup.d.ts +7 -0
  528. package/dist/utils/table-lookup.d.ts.map +1 -0
  529. package/dist/utils/table-lookup.js +10 -0
  530. package/dist/utils/table-lookup.js.map +1 -0
  531. package/package.json +14 -14
  532. package/dist/ai/ai.d.ts +0 -103
  533. package/dist/ai/ai.d.ts.map +0 -1
  534. package/dist/ai/ai.js +0 -419
  535. package/dist/ai/ai.js.map +0 -1
  536. package/dist/ai/data-table-explorer-tool.d.ts +0 -40
  537. package/dist/ai/data-table-explorer-tool.d.ts.map +0 -1
  538. package/dist/ai/data-table-explorer-tool.js +0 -75
  539. package/dist/ai/data-table-explorer-tool.js.map +0 -1
  540. package/dist/ai/list-panels-tool.d.ts +0 -35
  541. package/dist/ai/list-panels-tool.d.ts.map +0 -1
  542. package/dist/ai/list-panels-tool.js +0 -66
  543. package/dist/ai/list-panels-tool.js.map +0 -1
  544. package/dist/ai/remove-panel-tool.d.ts +0 -31
  545. package/dist/ai/remove-panel-tool.d.ts.map +0 -1
  546. package/dist/ai/remove-panel-tool.js +0 -55
  547. package/dist/ai/remove-panel-tool.js.map +0 -1
  548. package/dist/ai/tool-validation.d.ts +0 -3
  549. package/dist/ai/tool-validation.d.ts.map +0 -1
  550. package/dist/ai/tool-validation.js +0 -11
  551. package/dist/ai/tool-validation.js.map +0 -1
  552. package/dist/charts/chart-types/bubble-chart/BubbleChartSettings.d.ts +0 -3
  553. package/dist/charts/chart-types/bubble-chart/BubbleChartSettings.d.ts.map +0 -1
  554. package/dist/charts/chart-types/bubble-chart/BubbleChartSettings.js.map +0 -1
  555. package/dist/charts/chart-types/bubble-chart/definition.d.ts +0 -4
  556. package/dist/charts/chart-types/bubble-chart/definition.d.ts.map +0 -1
  557. package/dist/charts/chart-types/bubble-chart/definition.js +0 -24
  558. package/dist/charts/chart-types/bubble-chart/definition.js.map +0 -1
  559. package/dist/charts/chart-types/bubble-chart/schema.d.ts.map +0 -1
  560. package/dist/charts/chart-types/bubble-chart/schema.js.map +0 -1
  561. package/dist/charts/chart-types/bubble-chart/spec.d.ts +0 -4
  562. package/dist/charts/chart-types/bubble-chart/spec.d.ts.map +0 -1
  563. package/dist/charts/chart-types/bubble-chart/spec.js +0 -31
  564. package/dist/charts/chart-types/bubble-chart/spec.js.map +0 -1
  565. package/dist/charts/chart-types/bubble-chart/tool.d.ts +0 -42
  566. package/dist/charts/chart-types/bubble-chart/tool.d.ts.map +0 -1
  567. package/dist/charts/chart-types/bubble-chart/tool.js +0 -66
  568. package/dist/charts/chart-types/bubble-chart/tool.js.map +0 -1
  569. package/dist/hooks/useDataTable.d.ts +0 -3
  570. package/dist/hooks/useDataTable.d.ts.map +0 -1
  571. package/dist/hooks/useDataTable.js +0 -28
  572. package/dist/hooks/useDataTable.js.map +0 -1
@@ -1,9 +1,10 @@
1
1
  import { type ComponentProps, type PropsWithChildren, type ReactElement } from 'react';
2
- import { Button, Table } from '@sqlrooms/ui';
2
+ import { Table } from '@sqlrooms/ui';
3
3
  import { type DataTableExplorerHeaderProps } from './DataTableExplorerHeader';
4
4
  import { type DataTableExplorerRowsProps } from './DataTableExplorerRows';
5
5
  import { type DataTableExplorerStatusBarProps } from './DataTableExplorerStatusBar';
6
6
  import type { DataTableExplorerOptions, UseDataTableExplorerReturn } from './types';
7
+ import { ResetFiltersButton } from '../dashboard/components/ResetFiltersButton';
7
8
  export type DataTableExplorerRootProps = PropsWithChildren<{
8
9
  explorer: UseDataTableExplorerReturn;
9
10
  }>;
@@ -20,7 +21,8 @@ export type DataTableExplorerCompoundStatusBarProps = Omit<DataTableExplorerStat
20
21
  declare function DataTableExplorerCompoundStatusBar(props: DataTableExplorerCompoundStatusBarProps): import("react/jsx-runtime").JSX.Element;
21
22
  export type DataTableExplorerCompoundTableProps = ComponentProps<typeof Table>;
22
23
  declare function DataTableExplorerCompoundTable({ className, disableWrapper, style, ...props }: DataTableExplorerCompoundTableProps): import("react/jsx-runtime").JSX.Element;
23
- export type DataTableExplorerCompoundResetButtonProps = Omit<ComponentProps<typeof Button>, 'onClick'> & {
24
+ export type DataTableExplorerCompoundResetButtonProps = Omit<ComponentProps<typeof ResetFiltersButton>, 'disabled' | 'onClick'> & {
25
+ disabled?: boolean;
24
26
  onClick?: () => void;
25
27
  };
26
28
  declare function DataTableExplorerCompoundResetButton({ className, disabled: disabledProp, onClick, ...props }: DataTableExplorerCompoundResetButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableExplorer.d.ts","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AACf,OAAO,EAAC,MAAM,EAAM,KAAK,EAAC,MAAM,cAAc,CAAC;AAG/C,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,SAAS,CAAC;AAiBjB,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;IACzD,QAAQ,EAAE,0BAA0B,CAAC;CACtC,CAAC,CAAC;AAEH;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,QAAQ,GACT,EAAE,0BAA0B,2CAM5B;AAED,MAAM,MAAM,sBAAsB,GAChC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AAkB9C,MAAM,MAAM,oCAAoC,GAAG,IAAI,CACrD,4BAA4B,EAC5B,UAAU,CACX,CAAC;AAEF,iBAAS,+BAA+B,CACtC,KAAK,EAAE,oCAAoC,2CAI5C;AAED,MAAM,MAAM,kCAAkC,GAAG,IAAI,CACnD,0BAA0B,EAC1B,UAAU,CACX,CAAC;AAEF,iBAAS,6BAA6B,CACpC,KAAK,EAAE,kCAAkC,2CAI1C;AAED,MAAM,MAAM,uCAAuC,GAAG,IAAI,CACxD,+BAA+B,EAC/B,UAAU,CACX,CAAC;AAEF,iBAAS,kCAAkC,CACzC,KAAK,EAAE,uCAAuC,2CAI/C;AAED,MAAM,MAAM,mCAAmC,GAAG,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC;AAE/E,iBAAS,8BAA8B,CAAC,EACtC,SAAS,EACT,cAAqB,EACrB,KAAK,EACL,GAAG,KAAK,EACT,EAAE,mCAAmC,2CAcrC;AAED,MAAM,MAAM,yCAAyC,GAAG,IAAI,CAC1D,cAAc,CAAC,OAAO,MAAM,CAAC,EAC7B,SAAS,CACV,GAAG;IACF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,iBAAS,oCAAoC,CAAC,EAC5C,SAAS,EACT,QAAQ,EAAE,YAAY,EACtB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,yCAAyC,2CAsB3C;AAED,KAAK,kCAAkC,GAAG,CAAC,CACzC,KAAK,EAAE,sBAAsB,KAC1B,YAAY,CAAC,GAAG;IACnB,MAAM,EAAE,OAAO,+BAA+B,CAAC;IAC/C,WAAW,EAAE,OAAO,oCAAoC,CAAC;IACzD,IAAI,EAAE,OAAO,qBAAqB,CAAC;IACnC,IAAI,EAAE,OAAO,6BAA6B,CAAC;IAC3C,SAAS,EAAE,OAAO,kCAAkC,CAAC;IACrD,KAAK,EAAE,OAAO,8BAA8B,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,kCAQ5B,CAAC"}
1
+ {"version":3,"file":"DataTableExplorer.d.ts","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AACf,OAAO,EAAK,KAAK,EAAC,MAAM,cAAc,CAAC;AAEvC,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAC,kBAAkB,EAAC,MAAM,4CAA4C,CAAC;AAgB9E,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;IACzD,QAAQ,EAAE,0BAA0B,CAAC;CACtC,CAAC,CAAC;AAEH;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,QAAQ,GACT,EAAE,0BAA0B,2CAM5B;AAED,MAAM,MAAM,sBAAsB,GAChC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AAkB9C,MAAM,MAAM,oCAAoC,GAAG,IAAI,CACrD,4BAA4B,EAC5B,UAAU,CACX,CAAC;AAEF,iBAAS,+BAA+B,CACtC,KAAK,EAAE,oCAAoC,2CAI5C;AAED,MAAM,MAAM,kCAAkC,GAAG,IAAI,CACnD,0BAA0B,EAC1B,UAAU,CACX,CAAC;AAEF,iBAAS,6BAA6B,CACpC,KAAK,EAAE,kCAAkC,2CAI1C;AAED,MAAM,MAAM,uCAAuC,GAAG,IAAI,CACxD,+BAA+B,EAC/B,UAAU,CACX,CAAC;AAEF,iBAAS,kCAAkC,CACzC,KAAK,EAAE,uCAAuC,2CAI/C;AAED,MAAM,MAAM,mCAAmC,GAAG,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC;AAE/E,iBAAS,8BAA8B,CAAC,EACtC,SAAS,EACT,cAAqB,EACrB,KAAK,EACL,GAAG,KAAK,EACT,EAAE,mCAAmC,2CAcrC;AAED,MAAM,MAAM,yCAAyC,GAAG,IAAI,CAC1D,cAAc,CAAC,OAAO,kBAAkB,CAAC,EACzC,UAAU,GAAG,SAAS,CACvB,GAAG;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,iBAAS,oCAAoC,CAAC,EAC5C,SAAS,EACT,QAAQ,EAAE,YAAY,EACtB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,yCAAyC,2CAiB3C;AAED,KAAK,kCAAkC,GAAG,CAAC,CACzC,KAAK,EAAE,sBAAsB,KAC1B,YAAY,CAAC,GAAG;IACnB,MAAM,EAAE,OAAO,+BAA+B,CAAC;IAC/C,WAAW,EAAE,OAAO,oCAAoC,CAAC;IACzD,IAAI,EAAE,OAAO,qBAAqB,CAAC;IACnC,IAAI,EAAE,OAAO,6BAA6B,CAAC;IAC3C,SAAS,EAAE,OAAO,kCAAkC,CAAC;IACrD,KAAK,EAAE,OAAO,8BAA8B,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,kCAQ5B,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createContext, useContext, } from 'react';
3
- import { Button, cn, Table } from '@sqlrooms/ui';
4
- import { FilterX } from 'lucide-react';
3
+ import { cn, Table } from '@sqlrooms/ui';
5
4
  import { getDataTableExplorerTableWidth } from './layout';
6
5
  import { DataTableExplorerHeader, } from './DataTableExplorerHeader';
7
6
  import { DataTableExplorerRows, } from './DataTableExplorerRows';
8
7
  import { DataTableExplorerStatusBar, } from './DataTableExplorerStatusBar';
9
8
  import { useDataTableExplorer } from './useDataTableExplorer';
9
+ import { ResetFiltersButton } from '../dashboard/components/ResetFiltersButton';
10
10
  const explorerContext = createContext(null);
11
11
  function useDataTableExplorerCompoundContext() {
12
12
  const explorer = useContext(explorerContext);
@@ -51,10 +51,10 @@ function DataTableExplorerCompoundTable({ className, disableWrapper = true, styl
51
51
  function DataTableExplorerCompoundResetButton({ className, disabled: disabledProp, onClick, ...props }) {
52
52
  const explorer = useDataTableExplorerCompoundContext();
53
53
  const disabled = disabledProp ?? !explorer.hasFilters;
54
- return (_jsx(Button, { type: "button", size: "icon", variant: "ghost", className: cn('h-7 w-7', className), "aria-label": "Reset filters", title: "Reset filters", disabled: disabled, onClick: () => {
54
+ return (_jsx(ResetFiltersButton, { className: cn('h-7 w-7', className), iconClassName: "h-3.5 w-3.5", disabled: disabled, onClick: () => {
55
55
  explorer.reset();
56
56
  onClick?.();
57
- }, ...props, children: _jsx(FilterX, { className: "h-4 w-4" }) }));
57
+ }, tooltip: "Reset filters", ...props }));
58
58
  }
59
59
  export const DataTableExplorer = Object.assign(DataTableExplorerComponent, {
60
60
  Header: DataTableExplorerCompoundHeader,
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableExplorer.js","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorer.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n createContext,\n useContext,\n type ComponentProps,\n type PropsWithChildren,\n type ReactElement,\n} from 'react';\nimport {Button, cn, Table} from '@sqlrooms/ui';\nimport {FilterX} from 'lucide-react';\nimport {getDataTableExplorerTableWidth} from './layout';\nimport {\n DataTableExplorerHeader,\n type DataTableExplorerHeaderProps,\n} from './DataTableExplorerHeader';\nimport {\n DataTableExplorerRows,\n type DataTableExplorerRowsProps,\n} from './DataTableExplorerRows';\nimport {\n DataTableExplorerStatusBar,\n type DataTableExplorerStatusBarProps,\n} from './DataTableExplorerStatusBar';\nimport type {\n DataTableExplorerOptions,\n UseDataTableExplorerReturn,\n} from './types';\nimport {useDataTableExplorer} from './useDataTableExplorer';\n\nconst explorerContext = createContext<UseDataTableExplorerReturn | null>(null);\n\nfunction useDataTableExplorerCompoundContext() {\n const explorer = useContext(explorerContext);\n\n if (!explorer) {\n throw new Error(\n 'DataTableExplorer compound components must be rendered inside <DataTableExplorer> or <DataTableExplorer.Root>.',\n );\n }\n\n return explorer;\n}\n\nexport type DataTableExplorerRootProps = PropsWithChildren<{\n explorer: UseDataTableExplorerReturn;\n}>;\n\n/**\n * Provides an existing explorer instance to compound explorer subcomponents.\n */\nexport function DataTableExplorerRoot({\n children,\n explorer,\n}: DataTableExplorerRootProps) {\n return (\n <explorerContext.Provider value={explorer}>\n {children}\n </explorerContext.Provider>\n );\n}\n\nexport type DataTableExplorerProps =\n PropsWithChildren<DataTableExplorerOptions>;\n\n/**\n * Creates an explorer instance and exposes it to compound explorer\n * subcomponents through context.\n */\nfunction DataTableExplorerComponent({\n children,\n ...options\n}: DataTableExplorerProps): ReactElement {\n const explorer = useDataTableExplorer(options);\n return (\n <DataTableExplorerRoot explorer={explorer}>\n {children}\n </DataTableExplorerRoot>\n );\n}\n\nexport type DataTableExplorerCompoundHeaderProps = Omit<\n DataTableExplorerHeaderProps,\n 'explorer'\n>;\n\nfunction DataTableExplorerCompoundHeader(\n props: DataTableExplorerCompoundHeaderProps,\n) {\n const explorer = useDataTableExplorerCompoundContext();\n return <DataTableExplorerHeader {...props} explorer={explorer} />;\n}\n\nexport type DataTableExplorerCompoundRowsProps = Omit<\n DataTableExplorerRowsProps,\n 'explorer'\n>;\n\nfunction DataTableExplorerCompoundRows(\n props: DataTableExplorerCompoundRowsProps,\n) {\n const explorer = useDataTableExplorerCompoundContext();\n return <DataTableExplorerRows {...props} explorer={explorer} />;\n}\n\nexport type DataTableExplorerCompoundStatusBarProps = Omit<\n DataTableExplorerStatusBarProps,\n 'explorer'\n>;\n\nfunction DataTableExplorerCompoundStatusBar(\n props: DataTableExplorerCompoundStatusBarProps,\n) {\n const explorer = useDataTableExplorerCompoundContext();\n return <DataTableExplorerStatusBar {...props} explorer={explorer} />;\n}\n\nexport type DataTableExplorerCompoundTableProps = ComponentProps<typeof Table>;\n\nfunction DataTableExplorerCompoundTable({\n className,\n disableWrapper = true,\n style,\n ...props\n}: DataTableExplorerCompoundTableProps) {\n const explorer = useDataTableExplorerCompoundContext();\n const tableWidth = getDataTableExplorerTableWidth(explorer.columns);\n\n return (\n <Table\n disableWrapper={disableWrapper}\n className={['min-w-full table-fixed', className]\n .filter(Boolean)\n .join(' ')}\n style={{width: `${tableWidth}px`, ...style}}\n {...props}\n />\n );\n}\n\nexport type DataTableExplorerCompoundResetButtonProps = Omit<\n ComponentProps<typeof Button>,\n 'onClick'\n> & {\n onClick?: () => void;\n};\n\nfunction DataTableExplorerCompoundResetButton({\n className,\n disabled: disabledProp,\n onClick,\n ...props\n}: DataTableExplorerCompoundResetButtonProps) {\n const explorer = useDataTableExplorerCompoundContext();\n const disabled = disabledProp ?? !explorer.hasFilters;\n\n return (\n <Button\n type=\"button\"\n size=\"icon\"\n variant=\"ghost\"\n className={cn('h-7 w-7', className)}\n aria-label=\"Reset filters\"\n title=\"Reset filters\"\n disabled={disabled}\n onClick={() => {\n explorer.reset();\n onClick?.();\n }}\n {...props}\n >\n <FilterX className=\"h-4 w-4\" />\n </Button>\n );\n}\n\ntype DataTableExplorerCompoundComponent = ((\n props: DataTableExplorerProps,\n) => ReactElement) & {\n Header: typeof DataTableExplorerCompoundHeader;\n ResetButton: typeof DataTableExplorerCompoundResetButton;\n Root: typeof DataTableExplorerRoot;\n Rows: typeof DataTableExplorerCompoundRows;\n StatusBar: typeof DataTableExplorerCompoundStatusBar;\n Table: typeof DataTableExplorerCompoundTable;\n};\n\nexport const DataTableExplorer: DataTableExplorerCompoundComponent =\n Object.assign(DataTableExplorerComponent, {\n Header: DataTableExplorerCompoundHeader,\n ResetButton: DataTableExplorerCompoundResetButton,\n Root: DataTableExplorerRoot,\n Rows: DataTableExplorerCompoundRows,\n StatusBar: DataTableExplorerCompoundStatusBar,\n Table: DataTableExplorerCompoundTable,\n });\n"]}
1
+ {"version":3,"file":"DataTableExplorer.js","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorer.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n createContext,\n useContext,\n type ComponentProps,\n type PropsWithChildren,\n type ReactElement,\n} from 'react';\nimport {cn, Table} from '@sqlrooms/ui';\nimport {getDataTableExplorerTableWidth} from './layout';\nimport {\n DataTableExplorerHeader,\n type DataTableExplorerHeaderProps,\n} from './DataTableExplorerHeader';\nimport {\n DataTableExplorerRows,\n type DataTableExplorerRowsProps,\n} from './DataTableExplorerRows';\nimport {\n DataTableExplorerStatusBar,\n type DataTableExplorerStatusBarProps,\n} from './DataTableExplorerStatusBar';\nimport type {\n DataTableExplorerOptions,\n UseDataTableExplorerReturn,\n} from './types';\nimport {useDataTableExplorer} from './useDataTableExplorer';\nimport {ResetFiltersButton} from '../dashboard/components/ResetFiltersButton';\n\nconst explorerContext = createContext<UseDataTableExplorerReturn | null>(null);\n\nfunction useDataTableExplorerCompoundContext() {\n const explorer = useContext(explorerContext);\n\n if (!explorer) {\n throw new Error(\n 'DataTableExplorer compound components must be rendered inside <DataTableExplorer> or <DataTableExplorer.Root>.',\n );\n }\n\n return explorer;\n}\n\nexport type DataTableExplorerRootProps = PropsWithChildren<{\n explorer: UseDataTableExplorerReturn;\n}>;\n\n/**\n * Provides an existing explorer instance to compound explorer subcomponents.\n */\nexport function DataTableExplorerRoot({\n children,\n explorer,\n}: DataTableExplorerRootProps) {\n return (\n <explorerContext.Provider value={explorer}>\n {children}\n </explorerContext.Provider>\n );\n}\n\nexport type DataTableExplorerProps =\n PropsWithChildren<DataTableExplorerOptions>;\n\n/**\n * Creates an explorer instance and exposes it to compound explorer\n * subcomponents through context.\n */\nfunction DataTableExplorerComponent({\n children,\n ...options\n}: DataTableExplorerProps): ReactElement {\n const explorer = useDataTableExplorer(options);\n return (\n <DataTableExplorerRoot explorer={explorer}>\n {children}\n </DataTableExplorerRoot>\n );\n}\n\nexport type DataTableExplorerCompoundHeaderProps = Omit<\n DataTableExplorerHeaderProps,\n 'explorer'\n>;\n\nfunction DataTableExplorerCompoundHeader(\n props: DataTableExplorerCompoundHeaderProps,\n) {\n const explorer = useDataTableExplorerCompoundContext();\n return <DataTableExplorerHeader {...props} explorer={explorer} />;\n}\n\nexport type DataTableExplorerCompoundRowsProps = Omit<\n DataTableExplorerRowsProps,\n 'explorer'\n>;\n\nfunction DataTableExplorerCompoundRows(\n props: DataTableExplorerCompoundRowsProps,\n) {\n const explorer = useDataTableExplorerCompoundContext();\n return <DataTableExplorerRows {...props} explorer={explorer} />;\n}\n\nexport type DataTableExplorerCompoundStatusBarProps = Omit<\n DataTableExplorerStatusBarProps,\n 'explorer'\n>;\n\nfunction DataTableExplorerCompoundStatusBar(\n props: DataTableExplorerCompoundStatusBarProps,\n) {\n const explorer = useDataTableExplorerCompoundContext();\n return <DataTableExplorerStatusBar {...props} explorer={explorer} />;\n}\n\nexport type DataTableExplorerCompoundTableProps = ComponentProps<typeof Table>;\n\nfunction DataTableExplorerCompoundTable({\n className,\n disableWrapper = true,\n style,\n ...props\n}: DataTableExplorerCompoundTableProps) {\n const explorer = useDataTableExplorerCompoundContext();\n const tableWidth = getDataTableExplorerTableWidth(explorer.columns);\n\n return (\n <Table\n disableWrapper={disableWrapper}\n className={['min-w-full table-fixed', className]\n .filter(Boolean)\n .join(' ')}\n style={{width: `${tableWidth}px`, ...style}}\n {...props}\n />\n );\n}\n\nexport type DataTableExplorerCompoundResetButtonProps = Omit<\n ComponentProps<typeof ResetFiltersButton>,\n 'disabled' | 'onClick'\n> & {\n disabled?: boolean;\n onClick?: () => void;\n};\n\nfunction DataTableExplorerCompoundResetButton({\n className,\n disabled: disabledProp,\n onClick,\n ...props\n}: DataTableExplorerCompoundResetButtonProps) {\n const explorer = useDataTableExplorerCompoundContext();\n const disabled = disabledProp ?? !explorer.hasFilters;\n\n return (\n <ResetFiltersButton\n className={cn('h-7 w-7', className)}\n iconClassName=\"h-3.5 w-3.5\"\n disabled={disabled}\n onClick={() => {\n explorer.reset();\n onClick?.();\n }}\n tooltip=\"Reset filters\"\n {...props}\n />\n );\n}\n\ntype DataTableExplorerCompoundComponent = ((\n props: DataTableExplorerProps,\n) => ReactElement) & {\n Header: typeof DataTableExplorerCompoundHeader;\n ResetButton: typeof DataTableExplorerCompoundResetButton;\n Root: typeof DataTableExplorerRoot;\n Rows: typeof DataTableExplorerCompoundRows;\n StatusBar: typeof DataTableExplorerCompoundStatusBar;\n Table: typeof DataTableExplorerCompoundTable;\n};\n\nexport const DataTableExplorer: DataTableExplorerCompoundComponent =\n Object.assign(DataTableExplorerComponent, {\n Header: DataTableExplorerCompoundHeader,\n ResetButton: DataTableExplorerCompoundResetButton,\n Root: DataTableExplorerRoot,\n Rows: DataTableExplorerCompoundRows,\n StatusBar: DataTableExplorerCompoundStatusBar,\n Table: DataTableExplorerCompoundTable,\n });\n"]}
@@ -1,7 +1,7 @@
1
1
  import { MosaicClient, type Selection } from '@uwdata/mosaic-core';
2
2
  import { type ExprNode, Query } from '@uwdata/mosaic-sql';
3
3
  import type * as arrow from 'apache-arrow';
4
- import type { DataTableExplorerCategorySummary } from './types';
4
+ import type { DataTableExplorerCategorySummary, DataTableExplorerSqlTableReference } from './types';
5
5
  import { type CategoryCountRow } from './utils';
6
6
  type CategoryClientOptions = {
7
7
  categoryLimit: number;
@@ -9,6 +9,7 @@ type CategoryClientOptions = {
9
9
  onStateChange: (summary: DataTableExplorerCategorySummary) => void;
10
10
  selection: Selection;
11
11
  tableName: string;
12
+ tableReference?: DataTableExplorerSqlTableReference;
12
13
  };
13
14
  export declare class DataTableExplorerCategoryClient extends MosaicClient {
14
15
  private readonly categoryLimit;
@@ -18,7 +19,7 @@ export declare class DataTableExplorerCategoryClient extends MosaicClient {
18
19
  private readonly onStateChange;
19
20
  private selectedKey?;
20
21
  private filteredRows?;
21
- private readonly tableName;
22
+ private readonly tableReference;
22
23
  private totalError?;
23
24
  private totalLoading;
24
25
  private totalRows?;
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableExplorerCategoryClient.d.ts","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerCategoryClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAe,KAAK,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAC,KAAK,QAAQ,EAAE,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAC,gCAAgC,EAAC,MAAM,SAAS,CAAC;AAC9D,OAAO,EAIL,KAAK,gBAAgB,EAGtB,MAAM,SAAS,CAAC;AAEjB,KAAK,qBAAqB,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IACnB,aAAa,EAAE,CAAC,OAAO,EAAE,gCAAgC,KAAK,IAAI,CAAC;IACnE,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,qBAAa,+BAAgC,SAAQ,YAAY;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,aAAa,CAAC,CAAQ;IAC9B,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAEpB;IACV,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAC,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,SAAS,CAAC,CAAqB;gBAE3B,OAAO,EAAE,qBAAqB;IAQ1C,IAAa,YAAY,IAAI,OAAO,CAEnC;IAED,OAAO,CAAC,WAAW;IAuBnB,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK;IAM3B,eAAe,CAAC,SAAS,EAAE,OAAO;IAQlC,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE;IAY5B,YAAY,IAAI,IAAI;IAOpB,KAAK,CAAC,MAAM,GAAE,KAAK,CAAC,QAAQ,CAAM,GAAG,KAAK;IAI1C,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAchC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAOvC,KAAK;IAKL,WAAW,CAAC,GAAG,EAAE,MAAM;CAiBxB;AAED,KAAK,2CAA2C,GAAG;IACjD,aAAa,EAAE,+BAA+B,CAAC;CAChD,CAAC;AAEF,qBAAa,oCAAqC,SAAQ,YAAY;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;gBAEpD,OAAO,EAAE,2CAA2C;IAKvD,YAAY,IAAI,IAAI;IAKpB,KAAK,CAAC,MAAM,GAAE,KAAK,CAAC,QAAQ,CAAM,GAAG,KAAK;IAI1C,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAOhC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CAIxC"}
1
+ {"version":3,"file":"DataTableExplorerCategoryClient.d.ts","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerCategoryClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAe,KAAK,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAC,KAAK,QAAQ,EAAE,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EACV,gCAAgC,EAChC,kCAAkC,EACnC,MAAM,SAAS,CAAC;AACjB,OAAO,EAIL,KAAK,gBAAgB,EAGtB,MAAM,SAAS,CAAC;AAEjB,KAAK,qBAAqB,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IACnB,aAAa,EAAE,CAAC,OAAO,EAAE,gCAAgC,KAAK,IAAI,CAAC;IACnE,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,kCAAkC,CAAC;CACrD,CAAC;AAEF,qBAAa,+BAAgC,SAAQ,YAAY;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,aAAa,CAAC,CAAQ;IAC9B,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAEpB;IACV,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAC,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqC;IACpE,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,SAAS,CAAC,CAAqB;gBAE3B,OAAO,EAAE,qBAAqB;IAQ1C,IAAa,YAAY,IAAI,OAAO,CAEnC;IAED,OAAO,CAAC,WAAW;IAwBnB,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK;IAM3B,eAAe,CAAC,SAAS,EAAE,OAAO;IAQlC,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE;IAY5B,YAAY,IAAI,IAAI;IAOpB,KAAK,CAAC,MAAM,GAAE,KAAK,CAAC,QAAQ,CAAM,GAAG,KAAK;IAQ1C,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAchC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAOvC,KAAK;IAKL,WAAW,CAAC,GAAG,EAAE,MAAM;CAiBxB;AAED,KAAK,2CAA2C,GAAG;IACjD,aAAa,EAAE,+BAA+B,CAAC;CAChD,CAAC;AAEF,qBAAa,oCAAqC,SAAQ,YAAY;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;gBAEpD,OAAO,EAAE,2CAA2C;IAKvD,YAAY,IAAI,IAAI;IAKpB,KAAK,CAAC,MAAM,GAAE,KAAK,CAAC,QAAQ,CAAM,GAAG,KAAK;IAI1C,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAOhC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CAIxC"}
@@ -8,7 +8,7 @@ export class DataTableExplorerCategoryClient extends MosaicClient {
8
8
  onStateChange;
9
9
  selectedKey;
10
10
  filteredRows;
11
- tableName;
11
+ tableReference;
12
12
  totalError;
13
13
  totalLoading = true;
14
14
  totalRows;
@@ -17,7 +17,7 @@ export class DataTableExplorerCategoryClient extends MosaicClient {
17
17
  this.categoryLimit = options.categoryLimit;
18
18
  this.field = options.field;
19
19
  this.onStateChange = options.onStateChange;
20
- this.tableName = options.tableName;
20
+ this.tableReference = options.tableReference ?? options.tableName;
21
21
  }
22
22
  get filterStable() {
23
23
  return false;
@@ -29,6 +29,7 @@ export class DataTableExplorerCategoryClient extends MosaicClient {
29
29
  this.onStateChange({
30
30
  bucketCount,
31
31
  buckets,
32
+ client: this,
32
33
  error: this.filteredError ?? this.totalError,
33
34
  isLoading: this.filteredLoading || this.totalLoading,
34
35
  kind: 'category',
@@ -63,7 +64,7 @@ export class DataTableExplorerCategoryClient extends MosaicClient {
63
64
  return this;
64
65
  }
65
66
  query(filter = []) {
66
- return buildCategorySummaryQuery(this.tableName, this.field.name, filter);
67
+ return buildCategorySummaryQuery(this.tableReference, this.field.name, filter);
67
68
  }
68
69
  queryResult(data) {
69
70
  const rows = rowsFromQueryResult(data)
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableExplorerCategoryClient.js","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerCategoryClient.ts"],"names":[],"mappings":"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","sourcesContent":["import {MosaicClient, clausePoint, type Selection} from '@uwdata/mosaic-core';\nimport {type ExprNode, Query} from '@uwdata/mosaic-sql';\nimport type * as arrow from 'apache-arrow';\nimport type {DataTableExplorerCategorySummary} from './types';\nimport {\n buildCategoryBuckets,\n buildCategorySummaryQuery,\n categoryKeyToSelectionValue,\n type CategoryCountRow,\n isSelectableCategoryKey,\n rowsFromQueryResult,\n} from './utils';\n\ntype CategoryClientOptions = {\n categoryLimit: number;\n field: arrow.Field;\n onStateChange: (summary: DataTableExplorerCategorySummary) => void;\n selection: Selection;\n tableName: string;\n};\n\nexport class DataTableExplorerCategoryClient extends MosaicClient {\n private readonly categoryLimit: number;\n private filteredError?: Error;\n private filteredLoading = true;\n private readonly field: arrow.Field;\n private readonly onStateChange: (\n summary: DataTableExplorerCategorySummary,\n ) => void;\n private selectedKey?: string;\n private filteredRows?: CategoryCountRow[];\n private readonly tableName: string;\n private totalError?: Error;\n private totalLoading = true;\n private totalRows?: CategoryCountRow[];\n\n constructor(options: CategoryClientOptions) {\n super(options.selection);\n this.categoryLimit = options.categoryLimit;\n this.field = options.field;\n this.onStateChange = options.onStateChange;\n this.tableName = options.tableName;\n }\n\n override get filterStable(): boolean {\n return false;\n }\n\n private emitSummary() {\n const filteredRows =\n this.filteredRows ?? (this.filteredLoading ? (this.totalRows ?? []) : []);\n const totalRows =\n this.totalRows ?? (this.totalLoading ? (this.filteredRows ?? []) : []);\n const {bucketCount, buckets} = buildCategoryBuckets(\n filteredRows,\n totalRows,\n this.categoryLimit,\n this.selectedKey,\n );\n\n this.onStateChange({\n bucketCount,\n buckets,\n error: this.filteredError ?? this.totalError,\n isLoading: this.filteredLoading || this.totalLoading,\n kind: 'category',\n selectedKey: this.selectedKey,\n toggleValue: (key) => this.toggleValue(key),\n });\n }\n\n setTotalError(error?: Error) {\n this.totalError = error;\n this.totalLoading = false;\n this.emitSummary();\n }\n\n setTotalLoading(isLoading: boolean) {\n this.totalLoading = isLoading;\n if (isLoading) {\n this.totalError = undefined;\n }\n this.emitSummary();\n }\n\n setTotalRows(rows: CategoryCountRow[]) {\n this.totalRows = rows\n .slice()\n .sort(\n (left: CategoryCountRow, right: CategoryCountRow) =>\n right.total - left.total,\n );\n this.totalError = undefined;\n this.totalLoading = false;\n this.emitSummary();\n }\n\n override queryPending(): this {\n this.filteredLoading = true;\n this.filteredError = undefined;\n this.emitSummary();\n return this;\n }\n\n override query(filter: Array<ExprNode> = []): Query {\n return buildCategorySummaryQuery(this.tableName, this.field.name, filter);\n }\n\n override queryResult(data: unknown): this {\n const rows = rowsFromQueryResult<CategoryCountRow>(data)\n .slice()\n .sort(\n (left: CategoryCountRow, right: CategoryCountRow) =>\n right.total - left.total,\n );\n this.filteredRows = rows;\n this.filteredError = undefined;\n this.filteredLoading = false;\n this.emitSummary();\n return this;\n }\n\n override queryError(error: Error): this {\n this.filteredError = error;\n this.filteredLoading = false;\n this.emitSummary();\n return this;\n }\n\n reset() {\n this.selectedKey = undefined;\n this.emitSummary();\n }\n\n toggleValue(key: string) {\n if (!isSelectableCategoryKey(key)) {\n return;\n }\n\n this.selectedKey = this.selectedKey === key ? undefined : key;\n this.filterBy?.update(\n clausePoint(\n this.field.name,\n categoryKeyToSelectionValue(this.selectedKey),\n {\n source: this,\n },\n ),\n );\n this.emitSummary();\n }\n}\n\ntype DataTableExplorerCategoryTotalClientOptions = {\n summaryClient: DataTableExplorerCategoryClient;\n};\n\nexport class DataTableExplorerCategoryTotalClient extends MosaicClient {\n private readonly summaryClient: DataTableExplorerCategoryClient;\n\n constructor(options: DataTableExplorerCategoryTotalClientOptions) {\n super();\n this.summaryClient = options.summaryClient;\n }\n\n override queryPending(): this {\n this.summaryClient.setTotalLoading(true);\n return this;\n }\n\n override query(filter: Array<ExprNode> = []): Query {\n return this.summaryClient.query(filter);\n }\n\n override queryResult(data: unknown): this {\n this.summaryClient.setTotalRows(\n rowsFromQueryResult<CategoryCountRow>(data),\n );\n return this;\n }\n\n override queryError(error: Error): this {\n this.summaryClient.setTotalError(error);\n return this;\n }\n}\n"]}
1
+ {"version":3,"file":"DataTableExplorerCategoryClient.js","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerCategoryClient.ts"],"names":[],"mappings":"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","sourcesContent":["import {MosaicClient, clausePoint, type Selection} from '@uwdata/mosaic-core';\nimport {type ExprNode, Query} from '@uwdata/mosaic-sql';\nimport type * as arrow from 'apache-arrow';\nimport type {\n DataTableExplorerCategorySummary,\n DataTableExplorerSqlTableReference,\n} from './types';\nimport {\n buildCategoryBuckets,\n buildCategorySummaryQuery,\n categoryKeyToSelectionValue,\n type CategoryCountRow,\n isSelectableCategoryKey,\n rowsFromQueryResult,\n} from './utils';\n\ntype CategoryClientOptions = {\n categoryLimit: number;\n field: arrow.Field;\n onStateChange: (summary: DataTableExplorerCategorySummary) => void;\n selection: Selection;\n tableName: string;\n tableReference?: DataTableExplorerSqlTableReference;\n};\n\nexport class DataTableExplorerCategoryClient extends MosaicClient {\n private readonly categoryLimit: number;\n private filteredError?: Error;\n private filteredLoading = true;\n private readonly field: arrow.Field;\n private readonly onStateChange: (\n summary: DataTableExplorerCategorySummary,\n ) => void;\n private selectedKey?: string;\n private filteredRows?: CategoryCountRow[];\n private readonly tableReference: DataTableExplorerSqlTableReference;\n private totalError?: Error;\n private totalLoading = true;\n private totalRows?: CategoryCountRow[];\n\n constructor(options: CategoryClientOptions) {\n super(options.selection);\n this.categoryLimit = options.categoryLimit;\n this.field = options.field;\n this.onStateChange = options.onStateChange;\n this.tableReference = options.tableReference ?? options.tableName;\n }\n\n override get filterStable(): boolean {\n return false;\n }\n\n private emitSummary() {\n const filteredRows =\n this.filteredRows ?? (this.filteredLoading ? (this.totalRows ?? []) : []);\n const totalRows =\n this.totalRows ?? (this.totalLoading ? (this.filteredRows ?? []) : []);\n const {bucketCount, buckets} = buildCategoryBuckets(\n filteredRows,\n totalRows,\n this.categoryLimit,\n this.selectedKey,\n );\n\n this.onStateChange({\n bucketCount,\n buckets,\n client: this,\n error: this.filteredError ?? this.totalError,\n isLoading: this.filteredLoading || this.totalLoading,\n kind: 'category',\n selectedKey: this.selectedKey,\n toggleValue: (key) => this.toggleValue(key),\n });\n }\n\n setTotalError(error?: Error) {\n this.totalError = error;\n this.totalLoading = false;\n this.emitSummary();\n }\n\n setTotalLoading(isLoading: boolean) {\n this.totalLoading = isLoading;\n if (isLoading) {\n this.totalError = undefined;\n }\n this.emitSummary();\n }\n\n setTotalRows(rows: CategoryCountRow[]) {\n this.totalRows = rows\n .slice()\n .sort(\n (left: CategoryCountRow, right: CategoryCountRow) =>\n right.total - left.total,\n );\n this.totalError = undefined;\n this.totalLoading = false;\n this.emitSummary();\n }\n\n override queryPending(): this {\n this.filteredLoading = true;\n this.filteredError = undefined;\n this.emitSummary();\n return this;\n }\n\n override query(filter: Array<ExprNode> = []): Query {\n return buildCategorySummaryQuery(\n this.tableReference,\n this.field.name,\n filter,\n );\n }\n\n override queryResult(data: unknown): this {\n const rows = rowsFromQueryResult<CategoryCountRow>(data)\n .slice()\n .sort(\n (left: CategoryCountRow, right: CategoryCountRow) =>\n right.total - left.total,\n );\n this.filteredRows = rows;\n this.filteredError = undefined;\n this.filteredLoading = false;\n this.emitSummary();\n return this;\n }\n\n override queryError(error: Error): this {\n this.filteredError = error;\n this.filteredLoading = false;\n this.emitSummary();\n return this;\n }\n\n reset() {\n this.selectedKey = undefined;\n this.emitSummary();\n }\n\n toggleValue(key: string) {\n if (!isSelectableCategoryKey(key)) {\n return;\n }\n\n this.selectedKey = this.selectedKey === key ? undefined : key;\n this.filterBy?.update(\n clausePoint(\n this.field.name,\n categoryKeyToSelectionValue(this.selectedKey),\n {\n source: this,\n },\n ),\n );\n this.emitSummary();\n }\n}\n\ntype DataTableExplorerCategoryTotalClientOptions = {\n summaryClient: DataTableExplorerCategoryClient;\n};\n\nexport class DataTableExplorerCategoryTotalClient extends MosaicClient {\n private readonly summaryClient: DataTableExplorerCategoryClient;\n\n constructor(options: DataTableExplorerCategoryTotalClientOptions) {\n super();\n this.summaryClient = options.summaryClient;\n }\n\n override queryPending(): this {\n this.summaryClient.setTotalLoading(true);\n return this;\n }\n\n override query(filter: Array<ExprNode> = []): Query {\n return this.summaryClient.query(filter);\n }\n\n override queryResult(data: unknown): this {\n this.summaryClient.setTotalRows(\n rowsFromQueryResult<CategoryCountRow>(data),\n );\n return this;\n }\n\n override queryError(error: Error): this {\n this.summaryClient.setTotalError(error);\n return this;\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { MosaicClient, type Selection } from '@uwdata/mosaic-core';
2
2
  import { type ExprNode, type Query } from '@uwdata/mosaic-sql';
3
+ import type { DataTableExplorerSqlTableReference } from './types';
3
4
  export type DataTableExplorerCountState = {
4
5
  count?: number;
5
6
  error?: Error;
@@ -10,13 +11,14 @@ type DataTableExplorerCountClientOptions = {
10
11
  onStateChange: (state: DataTableExplorerCountState) => void;
11
12
  selection?: Selection;
12
13
  tableName: string;
14
+ tableReference?: DataTableExplorerSqlTableReference;
13
15
  };
14
16
  export declare class DataTableExplorerCountClient extends MosaicClient {
15
17
  private count?;
16
18
  private error?;
17
19
  private readonly isFilterStable;
18
20
  private readonly onStateChange;
19
- private readonly tableName;
21
+ private readonly tableReference;
20
22
  constructor(options: DataTableExplorerCountClientOptions);
21
23
  get filterStable(): boolean;
22
24
  queryPending(): this;
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableExplorerCountClient.d.ts","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerCountClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,KAAK,SAAS,EAAC,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAC,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAG7D,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,mCAAmC,GAAG;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;IAC5D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,qBAAa,4BAA6B,SAAQ,YAAY;IAC5D,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+C;IAC7E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,EAAE,mCAAmC;IAOxD,IAAa,YAAY,IAAI,OAAO,CAEnC;IAEQ,YAAY,IAAI,IAAI;IASpB,KAAK,CAAC,MAAM,GAAE,KAAK,CAAC,QAAQ,CAAM,GAAG,KAAK;IAO1C,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAUhC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CASxC"}
1
+ {"version":3,"file":"DataTableExplorerCountClient.d.ts","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerCountClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,KAAK,SAAS,EAAC,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAC,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAC,kCAAkC,EAAC,MAAM,SAAS,CAAC;AAGhE,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,mCAAmC,GAAG;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;IAC5D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,kCAAkC,CAAC;CACrD,CAAC;AAEF,qBAAa,4BAA6B,SAAQ,YAAY;IAC5D,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+C;IAC7E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqC;gBAExD,OAAO,EAAE,mCAAmC;IAOxD,IAAa,YAAY,IAAI,OAAO,CAEnC;IAEQ,YAAY,IAAI,IAAI;IASpB,KAAK,CAAC,MAAM,GAAE,KAAK,CAAC,QAAQ,CAAM,GAAG,KAAK;IAO1C,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAUhC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CASxC"}
@@ -5,12 +5,12 @@ export class DataTableExplorerCountClient extends MosaicClient {
5
5
  error;
6
6
  isFilterStable;
7
7
  onStateChange;
8
- tableName;
8
+ tableReference;
9
9
  constructor(options) {
10
10
  super(options.selection);
11
11
  this.isFilterStable = options.filterStable ?? false;
12
12
  this.onStateChange = options.onStateChange;
13
- this.tableName = options.tableName;
13
+ this.tableReference = options.tableReference ?? options.tableName;
14
14
  }
15
15
  get filterStable() {
16
16
  return this.isFilterStable;
@@ -26,7 +26,7 @@ export class DataTableExplorerCountClient extends MosaicClient {
26
26
  query(filter = []) {
27
27
  return buildCountQuery({
28
28
  filter,
29
- tableName: this.tableName,
29
+ tableName: this.tableReference,
30
30
  });
31
31
  }
32
32
  queryResult(data) {
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableExplorerCountClient.js","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerCountClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAiB,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAevD,MAAM,OAAO,4BAA6B,SAAQ,YAAY;IACpD,KAAK,CAAU;IACf,KAAK,CAAS;IACL,cAAc,CAAU;IACxB,aAAa,CAA+C;IAC5D,SAAS,CAAS;IAEnC,YAAY,OAA4C;QACtD,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,IAAa,YAAY;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEQ,YAAY;QACnB,IAAI,CAAC,aAAa,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,KAAK,CAAC,SAA0B,EAAE;QACzC,OAAO,eAAe,CAAC;YACrB,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;IAEQ,WAAW,CAAC,IAAa;QAChC,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,UAAU,CAAC,KAAY;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK;YACL,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import {MosaicClient, type Selection} from '@uwdata/mosaic-core';\nimport {type ExprNode, type Query} from '@uwdata/mosaic-sql';\nimport {buildCountQuery, readCountData} from './utils';\n\nexport type DataTableExplorerCountState = {\n count?: number;\n error?: Error;\n isLoading: boolean;\n};\n\ntype DataTableExplorerCountClientOptions = {\n filterStable?: boolean;\n onStateChange: (state: DataTableExplorerCountState) => void;\n selection?: Selection;\n tableName: string;\n};\n\nexport class DataTableExplorerCountClient extends MosaicClient {\n private count?: number;\n private error?: Error;\n private readonly isFilterStable: boolean;\n private readonly onStateChange: (state: DataTableExplorerCountState) => void;\n private readonly tableName: string;\n\n constructor(options: DataTableExplorerCountClientOptions) {\n super(options.selection);\n this.isFilterStable = options.filterStable ?? false;\n this.onStateChange = options.onStateChange;\n this.tableName = options.tableName;\n }\n\n override get filterStable(): boolean {\n return this.isFilterStable;\n }\n\n override queryPending(): this {\n this.onStateChange({\n count: this.count,\n error: this.error,\n isLoading: true,\n });\n return this;\n }\n\n override query(filter: Array<ExprNode> = []): Query {\n return buildCountQuery({\n filter,\n tableName: this.tableName,\n });\n }\n\n override queryResult(data: unknown): this {\n this.count = readCountData(data);\n this.error = undefined;\n this.onStateChange({\n count: this.count,\n isLoading: false,\n });\n return this;\n }\n\n override queryError(error: Error): this {\n this.error = error;\n this.onStateChange({\n count: this.count,\n error,\n isLoading: false,\n });\n return this;\n }\n}\n"]}
1
+ {"version":3,"file":"DataTableExplorerCountClient.js","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerCountClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAiB,MAAM,qBAAqB,CAAC;AAGjE,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAgBvD,MAAM,OAAO,4BAA6B,SAAQ,YAAY;IACpD,KAAK,CAAU;IACf,KAAK,CAAS;IACL,cAAc,CAAU;IACxB,aAAa,CAA+C;IAC5D,cAAc,CAAqC;IAEpE,YAAY,OAA4C;QACtD,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,SAAS,CAAC;IACpE,CAAC;IAED,IAAa,YAAY;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEQ,YAAY;QACnB,IAAI,CAAC,aAAa,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,KAAK,CAAC,SAA0B,EAAE;QACzC,OAAO,eAAe,CAAC;YACrB,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,cAAc;SAC/B,CAAC,CAAC;IACL,CAAC;IAEQ,WAAW,CAAC,IAAa;QAChC,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,UAAU,CAAC,KAAY;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK;YACL,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import {MosaicClient, type Selection} from '@uwdata/mosaic-core';\nimport {type ExprNode, type Query} from '@uwdata/mosaic-sql';\nimport type {DataTableExplorerSqlTableReference} from './types';\nimport {buildCountQuery, readCountData} from './utils';\n\nexport type DataTableExplorerCountState = {\n count?: number;\n error?: Error;\n isLoading: boolean;\n};\n\ntype DataTableExplorerCountClientOptions = {\n filterStable?: boolean;\n onStateChange: (state: DataTableExplorerCountState) => void;\n selection?: Selection;\n tableName: string;\n tableReference?: DataTableExplorerSqlTableReference;\n};\n\nexport class DataTableExplorerCountClient extends MosaicClient {\n private count?: number;\n private error?: Error;\n private readonly isFilterStable: boolean;\n private readonly onStateChange: (state: DataTableExplorerCountState) => void;\n private readonly tableReference: DataTableExplorerSqlTableReference;\n\n constructor(options: DataTableExplorerCountClientOptions) {\n super(options.selection);\n this.isFilterStable = options.filterStable ?? false;\n this.onStateChange = options.onStateChange;\n this.tableReference = options.tableReference ?? options.tableName;\n }\n\n override get filterStable(): boolean {\n return this.isFilterStable;\n }\n\n override queryPending(): this {\n this.onStateChange({\n count: this.count,\n error: this.error,\n isLoading: true,\n });\n return this;\n }\n\n override query(filter: Array<ExprNode> = []): Query {\n return buildCountQuery({\n filter,\n tableName: this.tableReference,\n });\n }\n\n override queryResult(data: unknown): this {\n this.count = readCountData(data);\n this.error = undefined;\n this.onStateChange({\n count: this.count,\n isLoading: false,\n });\n return this;\n }\n\n override queryError(error: Error): this {\n this.error = error;\n this.onStateChange({\n count: this.count,\n error,\n isLoading: false,\n });\n return this;\n }\n}\n"]}
@@ -2,7 +2,7 @@ import type { FieldInfo } from '@uwdata/mosaic-core';
2
2
  import { MosaicClient, type Selection } from '@uwdata/mosaic-core';
3
3
  import { type ExprNode, Query } from '@uwdata/mosaic-sql';
4
4
  import type * as arrow from 'apache-arrow';
5
- import type { DataTableExplorerHistogramSummary } from './types';
5
+ import type { DataTableExplorerHistogramSummary, DataTableExplorerSqlTableReference } from './types';
6
6
  type HistogramStateChange = (summary: DataTableExplorerHistogramSummary) => void;
7
7
  type HistogramClientOptions = {
8
8
  field: arrow.Field;
@@ -10,6 +10,7 @@ type HistogramClientOptions = {
10
10
  selection: Selection;
11
11
  steps: number;
12
12
  tableName: string;
13
+ tableReference?: DataTableExplorerSqlTableReference;
13
14
  valueType: 'date' | 'number';
14
15
  };
15
16
  type HistogramRow = {
@@ -29,7 +30,7 @@ export declare class DataTableExplorerHistogramClient extends MosaicClient {
29
30
  private readonly interactor;
30
31
  private readonly onStateChange;
31
32
  private readonly select;
32
- private readonly tableName;
33
+ private readonly tableReference;
33
34
  private totalBins?;
34
35
  private totalError?;
35
36
  private totalLoading;
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableExplorerHistogramClient.d.ts","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerHistogramClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataTableExplorerHistogramClient.d.ts","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerHistogramClient.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export class DataTableExplorerHistogramClient extends MosaicClient {
14
14
  interactor;
15
15
  onStateChange;
16
16
  select;
17
- tableName;
17
+ tableReference;
18
18
  totalBins;
19
19
  totalError;
20
20
  totalLoading = true;
@@ -24,7 +24,7 @@ export class DataTableExplorerHistogramClient extends MosaicClient {
24
24
  super(options.selection);
25
25
  this.field = options.field;
26
26
  this.onStateChange = options.onStateChange;
27
- this.tableName = options.tableName;
27
+ this.tableReference = options.tableReference ?? options.tableName;
28
28
  this.valueType = options.valueType;
29
29
  const binned = bin(options.field.name, { steps: options.steps })(this, 'x');
30
30
  this.select = { x1: binned.x1, x2: binned.x2, y: count() };
@@ -65,7 +65,7 @@ export class DataTableExplorerHistogramClient extends MosaicClient {
65
65
  if (!this.fieldInfoPromise) {
66
66
  this.fieldInfoPromise = queryFieldInfo(this.coordinator, [
67
67
  {
68
- table: this.tableName,
68
+ table: this.tableReference,
69
69
  column: this.field.name,
70
70
  stats: ['min', 'max'],
71
71
  },
@@ -111,7 +111,7 @@ export class DataTableExplorerHistogramClient extends MosaicClient {
111
111
  await this.ensureFieldInfo();
112
112
  }
113
113
  query(filter = []) {
114
- return Query.from({ source: this.tableName })
114
+ return Query.from({ source: this.tableReference })
115
115
  .select(this.select)
116
116
  .groupby([this.select.x1, this.select.x2])
117
117
  .where(filter);
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableExplorerHistogramClient.js","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerHistogramClient.ts"],"names":[],"mappings":"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","sourcesContent":["import type {FieldInfo} from '@uwdata/mosaic-core';\nimport {\n MosaicClient,\n queryFieldInfo,\n type Selection,\n} from '@uwdata/mosaic-core';\nimport {Interval1D, bin} from '@uwdata/mosaic-plot';\nimport {count, type ExprNode, Query} from '@uwdata/mosaic-sql';\nimport type * as arrow from 'apache-arrow';\nimport type {DataTableExplorerHistogramSummary} from './types';\nimport {rowsFromQueryResult, splitHistogramBins} from './utils';\n\ntype HistogramStateChange = (\n summary: DataTableExplorerHistogramSummary,\n) => void;\n\ntype HistogramClientOptions = {\n field: arrow.Field;\n onStateChange: HistogramStateChange;\n selection: Selection;\n steps: number;\n tableName: string;\n valueType: 'date' | 'number';\n};\n\ntype HistogramRow = {\n x1: number | Date | null;\n x2: number | Date | null;\n y: number;\n};\n\nexport class DataTableExplorerHistogramClient extends MosaicClient {\n readonly type = 'rectY';\n private filteredError?: Error;\n private filteredLoading = true;\n private readonly field: arrow.Field;\n private fieldInfo?: FieldInfo;\n private fieldInfoPromise?: Promise<void>;\n private filteredBins?: HistogramRow[];\n private filteredNullCount?: number;\n private readonly interactor: Interval1D;\n private readonly onStateChange: HistogramStateChange;\n private readonly select: {\n x1: ExprNode;\n x2: ExprNode;\n y: ExprNode;\n };\n private readonly tableName: string;\n private totalBins?: HistogramRow[];\n private totalError?: Error;\n private totalLoading = true;\n private totalNullCount?: number;\n private readonly valueType: 'date' | 'number';\n\n constructor(options: HistogramClientOptions) {\n super(options.selection);\n this.field = options.field;\n this.onStateChange = options.onStateChange;\n this.tableName = options.tableName;\n this.valueType = options.valueType;\n\n const binned = bin(options.field.name, {steps: options.steps})(\n this,\n 'x',\n ) as unknown as {\n x1: ExprNode;\n x2: ExprNode;\n };\n this.select = {x1: binned.x1, x2: binned.x2, y: count()};\n this.interactor = new Interval1D(this, {\n brush: undefined,\n channel: 'x',\n field: options.field.name,\n peers: false,\n selection: options.selection,\n });\n }\n\n override get filterStable(): boolean {\n return true;\n }\n\n private emitSummary() {\n const totalRows =\n this.totalBins ?? (this.totalLoading ? (this.filteredBins ?? []) : []);\n const total = splitHistogramBins(totalRows);\n const filteredRows =\n this.filteredBins ?? (this.filteredLoading ? (this.totalBins ?? []) : []);\n const filtered = splitHistogramBins(filteredRows);\n\n this.onStateChange({\n error: this.filteredError ?? this.totalError,\n filteredBins: filtered.bins,\n filteredNullCount:\n this.filteredNullCount ??\n (this.filteredLoading ? total.nullCount : filtered.nullCount),\n interactor: this.interactor,\n isLoading: this.filteredLoading || this.totalLoading,\n kind: 'histogram',\n totalBins: total.bins,\n totalNullCount:\n this.totalNullCount ??\n (this.totalLoading ? filtered.nullCount : total.nullCount),\n valueType: this.valueType,\n });\n }\n\n async ensureFieldInfo(): Promise<void> {\n if (this.fieldInfo) {\n return;\n }\n\n if (!this.fieldInfoPromise) {\n this.fieldInfoPromise = queryFieldInfo(this.coordinator!, [\n {\n table: this.tableName,\n column: this.field.name,\n stats: ['min', 'max'],\n },\n ])\n .then(([info]) => {\n this.fieldInfo = info;\n })\n .catch((error) => {\n this.fieldInfo = undefined;\n this.fieldInfoPromise = undefined;\n throw error;\n });\n }\n\n await this.fieldInfoPromise;\n }\n\n setTotalError(error?: Error) {\n this.totalError = error;\n this.totalLoading = false;\n this.emitSummary();\n }\n\n setTotalLoading(isLoading: boolean) {\n this.totalLoading = isLoading;\n if (isLoading) {\n this.totalError = undefined;\n }\n this.emitSummary();\n }\n\n setTotalRows(rows: HistogramRow[]) {\n const {nullCount} = splitHistogramBins(rows);\n this.totalBins = rows;\n this.totalNullCount = nullCount;\n this.totalError = undefined;\n this.totalLoading = false;\n this.emitSummary();\n }\n\n override queryPending(): this {\n this.filteredLoading = true;\n this.filteredError = undefined;\n this.emitSummary();\n return this;\n }\n\n override async prepare(): Promise<void> {\n await this.ensureFieldInfo();\n }\n\n override query(filter: Array<ExprNode> = []): Query {\n return Query.from({source: this.tableName})\n .select(this.select)\n .groupby([this.select.x1, this.select.x2])\n .where(filter);\n }\n\n override queryResult(data: unknown): this {\n const rows = rowsFromQueryResult<HistogramRow>(data);\n const {nullCount} = splitHistogramBins(rows);\n this.filteredBins = rows;\n this.filteredNullCount = nullCount;\n this.filteredError = undefined;\n this.filteredLoading = false;\n this.emitSummary();\n return this;\n }\n\n override queryError(error: Error): this {\n this.filteredError = error;\n this.filteredLoading = false;\n this.emitSummary();\n return this;\n }\n\n channelField(channel: string) {\n if (channel !== 'x') {\n throw new Error('DataTableExplorerHistogramClient only supports x bins');\n }\n if (!this.fieldInfo) {\n throw new Error('Field info is required before histogram binning');\n }\n return this.fieldInfo;\n }\n\n get plot(): {\n getAttribute(name: string): undefined;\n markSet: Set<DataTableExplorerHistogramClient>;\n } {\n const markSet = new Set([this]);\n return {\n getAttribute(_name: string) {\n return undefined;\n },\n markSet,\n };\n }\n}\n\ntype DataTableExplorerHistogramTotalClientOptions = {\n summaryClient: DataTableExplorerHistogramClient;\n};\n\nexport class DataTableExplorerHistogramTotalClient extends MosaicClient {\n private readonly summaryClient: DataTableExplorerHistogramClient;\n\n constructor(options: DataTableExplorerHistogramTotalClientOptions) {\n super();\n this.summaryClient = options.summaryClient;\n }\n\n override async prepare(): Promise<void> {\n await this.summaryClient.ensureFieldInfo();\n }\n\n override queryPending(): this {\n this.summaryClient.setTotalLoading(true);\n return this;\n }\n\n override query(filter: Array<ExprNode> = []): Query {\n return this.summaryClient.query(filter);\n }\n\n override queryResult(data: unknown): this {\n this.summaryClient.setTotalRows(rowsFromQueryResult<HistogramRow>(data));\n return this;\n }\n\n override queryError(error: Error): this {\n this.summaryClient.setTotalError(error);\n return this;\n }\n}\n"]}
1
+ {"version":3,"file":"DataTableExplorerHistogramClient.js","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerHistogramClient.ts"],"names":[],"mappings":"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","sourcesContent":["import type {FieldInfo} from '@uwdata/mosaic-core';\nimport {\n MosaicClient,\n queryFieldInfo,\n type Selection,\n} from '@uwdata/mosaic-core';\nimport {Interval1D, bin} from '@uwdata/mosaic-plot';\nimport {count, type ExprNode, Query} from '@uwdata/mosaic-sql';\nimport type * as arrow from 'apache-arrow';\nimport type {\n DataTableExplorerHistogramSummary,\n DataTableExplorerSqlTableReference,\n} from './types';\nimport {rowsFromQueryResult, splitHistogramBins} from './utils';\n\ntype HistogramStateChange = (\n summary: DataTableExplorerHistogramSummary,\n) => void;\n\ntype HistogramClientOptions = {\n field: arrow.Field;\n onStateChange: HistogramStateChange;\n selection: Selection;\n steps: number;\n tableName: string;\n tableReference?: DataTableExplorerSqlTableReference;\n valueType: 'date' | 'number';\n};\n\ntype HistogramRow = {\n x1: number | Date | null;\n x2: number | Date | null;\n y: number;\n};\n\nexport class DataTableExplorerHistogramClient extends MosaicClient {\n readonly type = 'rectY';\n private filteredError?: Error;\n private filteredLoading = true;\n private readonly field: arrow.Field;\n private fieldInfo?: FieldInfo;\n private fieldInfoPromise?: Promise<void>;\n private filteredBins?: HistogramRow[];\n private filteredNullCount?: number;\n private readonly interactor: Interval1D;\n private readonly onStateChange: HistogramStateChange;\n private readonly select: {\n x1: ExprNode;\n x2: ExprNode;\n y: ExprNode;\n };\n private readonly tableReference: DataTableExplorerSqlTableReference;\n private totalBins?: HistogramRow[];\n private totalError?: Error;\n private totalLoading = true;\n private totalNullCount?: number;\n private readonly valueType: 'date' | 'number';\n\n constructor(options: HistogramClientOptions) {\n super(options.selection);\n this.field = options.field;\n this.onStateChange = options.onStateChange;\n this.tableReference = options.tableReference ?? options.tableName;\n this.valueType = options.valueType;\n\n const binned = bin(options.field.name, {steps: options.steps})(\n this,\n 'x',\n ) as unknown as {\n x1: ExprNode;\n x2: ExprNode;\n };\n this.select = {x1: binned.x1, x2: binned.x2, y: count()};\n this.interactor = new Interval1D(this, {\n brush: undefined,\n channel: 'x',\n field: options.field.name,\n peers: false,\n selection: options.selection,\n });\n }\n\n override get filterStable(): boolean {\n return true;\n }\n\n private emitSummary() {\n const totalRows =\n this.totalBins ?? (this.totalLoading ? (this.filteredBins ?? []) : []);\n const total = splitHistogramBins(totalRows);\n const filteredRows =\n this.filteredBins ?? (this.filteredLoading ? (this.totalBins ?? []) : []);\n const filtered = splitHistogramBins(filteredRows);\n\n this.onStateChange({\n error: this.filteredError ?? this.totalError,\n filteredBins: filtered.bins,\n filteredNullCount:\n this.filteredNullCount ??\n (this.filteredLoading ? total.nullCount : filtered.nullCount),\n interactor: this.interactor,\n isLoading: this.filteredLoading || this.totalLoading,\n kind: 'histogram',\n totalBins: total.bins,\n totalNullCount:\n this.totalNullCount ??\n (this.totalLoading ? filtered.nullCount : total.nullCount),\n valueType: this.valueType,\n });\n }\n\n async ensureFieldInfo(): Promise<void> {\n if (this.fieldInfo) {\n return;\n }\n\n if (!this.fieldInfoPromise) {\n this.fieldInfoPromise = queryFieldInfo(this.coordinator!, [\n {\n table: this.tableReference as unknown as string,\n column: this.field.name,\n stats: ['min', 'max'],\n },\n ])\n .then(([info]) => {\n this.fieldInfo = info;\n })\n .catch((error) => {\n this.fieldInfo = undefined;\n this.fieldInfoPromise = undefined;\n throw error;\n });\n }\n\n await this.fieldInfoPromise;\n }\n\n setTotalError(error?: Error) {\n this.totalError = error;\n this.totalLoading = false;\n this.emitSummary();\n }\n\n setTotalLoading(isLoading: boolean) {\n this.totalLoading = isLoading;\n if (isLoading) {\n this.totalError = undefined;\n }\n this.emitSummary();\n }\n\n setTotalRows(rows: HistogramRow[]) {\n const {nullCount} = splitHistogramBins(rows);\n this.totalBins = rows;\n this.totalNullCount = nullCount;\n this.totalError = undefined;\n this.totalLoading = false;\n this.emitSummary();\n }\n\n override queryPending(): this {\n this.filteredLoading = true;\n this.filteredError = undefined;\n this.emitSummary();\n return this;\n }\n\n override async prepare(): Promise<void> {\n await this.ensureFieldInfo();\n }\n\n override query(filter: Array<ExprNode> = []): Query {\n return Query.from({source: this.tableReference})\n .select(this.select)\n .groupby([this.select.x1, this.select.x2])\n .where(filter);\n }\n\n override queryResult(data: unknown): this {\n const rows = rowsFromQueryResult<HistogramRow>(data);\n const {nullCount} = splitHistogramBins(rows);\n this.filteredBins = rows;\n this.filteredNullCount = nullCount;\n this.filteredError = undefined;\n this.filteredLoading = false;\n this.emitSummary();\n return this;\n }\n\n override queryError(error: Error): this {\n this.filteredError = error;\n this.filteredLoading = false;\n this.emitSummary();\n return this;\n }\n\n channelField(channel: string) {\n if (channel !== 'x') {\n throw new Error('DataTableExplorerHistogramClient only supports x bins');\n }\n if (!this.fieldInfo) {\n throw new Error('Field info is required before histogram binning');\n }\n return this.fieldInfo;\n }\n\n get plot(): {\n getAttribute(name: string): undefined;\n markSet: Set<DataTableExplorerHistogramClient>;\n } {\n const markSet = new Set([this]);\n return {\n getAttribute(_name: string) {\n return undefined;\n },\n markSet,\n };\n }\n}\n\ntype DataTableExplorerHistogramTotalClientOptions = {\n summaryClient: DataTableExplorerHistogramClient;\n};\n\nexport class DataTableExplorerHistogramTotalClient extends MosaicClient {\n private readonly summaryClient: DataTableExplorerHistogramClient;\n\n constructor(options: DataTableExplorerHistogramTotalClientOptions) {\n super();\n this.summaryClient = options.summaryClient;\n }\n\n override async prepare(): Promise<void> {\n await this.summaryClient.ensureFieldInfo();\n }\n\n override queryPending(): this {\n this.summaryClient.setTotalLoading(true);\n return this;\n }\n\n override query(filter: Array<ExprNode> = []): Query {\n return this.summaryClient.query(filter);\n }\n\n override queryResult(data: unknown): this {\n this.summaryClient.setTotalRows(rowsFromQueryResult<HistogramRow>(data));\n return this;\n }\n\n override queryError(error: Error): this {\n this.summaryClient.setTotalError(error);\n return this;\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { MosaicClient, type Selection } from '@uwdata/mosaic-core';
2
2
  import { type ExprNode, type Query } from '@uwdata/mosaic-sql';
3
3
  import type { Table } from 'apache-arrow';
4
- import type { DataTableExplorerPaginationState, DataTableExplorerSorting } from './types';
4
+ import type { DataTableExplorerPaginationState, DataTableExplorerSqlTableReference, DataTableExplorerSorting } from './types';
5
5
  export type DataTableExplorerPageState = {
6
6
  datasetId?: string;
7
7
  error?: Error;
@@ -15,6 +15,7 @@ type DataTableExplorerPageClientOptions = {
15
15
  pagination: DataTableExplorerPaginationState;
16
16
  sorting: DataTableExplorerSorting;
17
17
  tableName: string;
18
+ tableReference?: DataTableExplorerSqlTableReference;
18
19
  };
19
20
  export declare class DataTableExplorerPageClient extends MosaicClient {
20
21
  private readonly columns;
@@ -26,6 +27,7 @@ export declare class DataTableExplorerPageClient extends MosaicClient {
26
27
  private pageTable?;
27
28
  private readonly sorting;
28
29
  private readonly tableName;
30
+ private readonly tableReference;
29
31
  constructor(options: DataTableExplorerPageClientOptions);
30
32
  get filterStable(): boolean;
31
33
  queryPending(): this;
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableExplorerPageClient.d.ts","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerPageClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,KAAK,SAAS,EAAC,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAC,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EACV,gCAAgC,EAChC,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAMjB,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB,CAAC;AAEF,KAAK,kCAAkC,GAAG;IACxC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5C,aAAa,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAC3D,UAAU,EAAE,gCAAgC,CAAC;IAC7C,OAAO,EAAE,wBAAwB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,qBAAa,2BAA4B,SAAQ,YAAY;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAqC;IAC7D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8C;IAC5E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAC9D,OAAO,CAAC,SAAS,CAAC,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,EAAE,kCAAkC;IAWvD,IAAa,YAAY,IAAI,OAAO,CAEnC;IAEQ,YAAY,IAAI,IAAI;IAUpB,KAAK,CAAC,MAAM,GAAE,KAAK,CAAC,QAAQ,CAAM,GAAG,KAAK;IAa1C,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAWhC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CAUxC"}
1
+ {"version":3,"file":"DataTableExplorerPageClient.d.ts","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerPageClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,KAAK,SAAS,EAAC,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAC,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EACV,gCAAgC,EAChC,kCAAkC,EAClC,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAMjB,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB,CAAC;AAEF,KAAK,kCAAkC,GAAG;IACxC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5C,aAAa,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAC3D,UAAU,EAAE,gCAAgC,CAAC;IAC7C,OAAO,EAAE,wBAAwB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,kCAAkC,CAAC;CACrD,CAAC;AAEF,qBAAa,2BAA4B,SAAQ,YAAY;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAqC;IAC7D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8C;IAC5E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAC9D,OAAO,CAAC,SAAS,CAAC,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqC;gBAExD,OAAO,EAAE,kCAAkC;IAYvD,IAAa,YAAY,IAAI,OAAO,CAEnC;IAEQ,YAAY,IAAI,IAAI;IAUpB,KAAK,CAAC,MAAM,GAAE,KAAK,CAAC,QAAQ,CAAM,GAAG,KAAK;IAa1C,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAWhC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CAUxC"}
@@ -10,6 +10,7 @@ export class DataTableExplorerPageClient extends MosaicClient {
10
10
  pageTable;
11
11
  sorting;
12
12
  tableName;
13
+ tableReference;
13
14
  constructor(options) {
14
15
  super();
15
16
  this.columns = options.columns;
@@ -19,6 +20,7 @@ export class DataTableExplorerPageClient extends MosaicClient {
19
20
  this.pagination = options.pagination;
20
21
  this.sorting = options.sorting;
21
22
  this.tableName = options.tableName;
23
+ this.tableReference = options.tableReference ?? options.tableName;
22
24
  }
23
25
  get filterStable() {
24
26
  return false;
@@ -38,7 +40,7 @@ export class DataTableExplorerPageClient extends MosaicClient {
38
40
  columns: this.columns,
39
41
  filter: resolvedFilter,
40
42
  sorting: this.sorting,
41
- tableName: this.tableName,
43
+ tableName: this.tableReference,
42
44
  }), this.pagination);
43
45
  }
44
46
  queryResult(data) {
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableExplorerPageClient.js","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerPageClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAiB,MAAM,qBAAqB,CAAC;AAOjE,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,SAAS,CAAC;AAkBjB,MAAM,OAAO,2BAA4B,SAAQ,YAAY;IAC1C,OAAO,CAAW;IAClB,SAAS,CAAS;IAC3B,KAAK,CAAS;IACL,MAAM,CAAsC;IAC5C,aAAa,CAA8C;IAC3D,UAAU,CAAmC;IACtD,SAAS,CAAS;IACT,OAAO,CAA2B;IAClC,SAAS,CAAS;IAEnC,YAAY,OAA2C;QACrD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,IAAa,YAAY;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAEQ,YAAY;QACnB,IAAI,CAAC,aAAa,CAAC;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,KAAK,CAAC,SAA0B,EAAE;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;QAC7C,OAAO,+BAA+B,CACpC,+BAA+B,CAAC;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,EACF,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;IAEQ,WAAW,CAAC,IAAa;QAChC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAa,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,UAAU,CAAC,KAAY;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK;YACL,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import {MosaicClient, type Selection} from '@uwdata/mosaic-core';\nimport {type ExprNode, type Query} from '@uwdata/mosaic-sql';\nimport type {Table} from 'apache-arrow';\nimport type {\n DataTableExplorerPaginationState,\n DataTableExplorerSorting,\n} from './types';\nimport {\n buildDataTableExplorerBaseQuery,\n buildDataTableExplorerPageQuery,\n} from './utils';\n\nexport type DataTableExplorerPageState = {\n datasetId?: string;\n error?: Error;\n isLoading: boolean;\n pageTable?: Table;\n};\n\ntype DataTableExplorerPageClientOptions = {\n columns: string[];\n filter?: ReturnType<Selection['predicate']>;\n onStateChange: (state: DataTableExplorerPageState) => void;\n pagination: DataTableExplorerPaginationState;\n sorting: DataTableExplorerSorting;\n tableName: string;\n};\n\nexport class DataTableExplorerPageClient extends MosaicClient {\n private readonly columns: string[];\n private readonly datasetId: string;\n private error?: Error;\n private readonly filter?: ReturnType<Selection['predicate']>;\n private readonly onStateChange: (state: DataTableExplorerPageState) => void;\n private readonly pagination: DataTableExplorerPaginationState;\n private pageTable?: Table;\n private readonly sorting: DataTableExplorerSorting;\n private readonly tableName: string;\n\n constructor(options: DataTableExplorerPageClientOptions) {\n super();\n this.columns = options.columns;\n this.datasetId = [options.tableName, ...options.columns].join('\\u0001');\n this.filter = options.filter ?? [];\n this.onStateChange = options.onStateChange;\n this.pagination = options.pagination;\n this.sorting = options.sorting;\n this.tableName = options.tableName;\n }\n\n override get filterStable(): boolean {\n return false;\n }\n\n override queryPending(): this {\n this.onStateChange({\n datasetId: this.datasetId,\n error: this.error,\n isLoading: true,\n pageTable: this.pageTable,\n });\n return this;\n }\n\n override query(filter: Array<ExprNode> = []): Query {\n const resolvedFilter = this.filter ?? filter;\n return buildDataTableExplorerPageQuery(\n buildDataTableExplorerBaseQuery({\n columns: this.columns,\n filter: resolvedFilter,\n sorting: this.sorting,\n tableName: this.tableName,\n }),\n this.pagination,\n );\n }\n\n override queryResult(data: unknown): this {\n this.error = undefined;\n this.pageTable = data as Table;\n this.onStateChange({\n datasetId: this.datasetId,\n isLoading: false,\n pageTable: this.pageTable,\n });\n return this;\n }\n\n override queryError(error: Error): this {\n this.error = error;\n this.onStateChange({\n datasetId: this.datasetId,\n error,\n isLoading: false,\n pageTable: this.pageTable,\n });\n return this;\n }\n}\n"]}
1
+ {"version":3,"file":"DataTableExplorerPageClient.js","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerPageClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAiB,MAAM,qBAAqB,CAAC;AAQjE,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,SAAS,CAAC;AAmBjB,MAAM,OAAO,2BAA4B,SAAQ,YAAY;IAC1C,OAAO,CAAW;IAClB,SAAS,CAAS;IAC3B,KAAK,CAAS;IACL,MAAM,CAAsC;IAC5C,aAAa,CAA8C;IAC3D,UAAU,CAAmC;IACtD,SAAS,CAAS;IACT,OAAO,CAA2B;IAClC,SAAS,CAAS;IAClB,cAAc,CAAqC;IAEpE,YAAY,OAA2C;QACrD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,SAAS,CAAC;IACpE,CAAC;IAED,IAAa,YAAY;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAEQ,YAAY;QACnB,IAAI,CAAC,aAAa,CAAC;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,KAAK,CAAC,SAA0B,EAAE;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;QAC7C,OAAO,+BAA+B,CACpC,+BAA+B,CAAC;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,cAAc;SAC/B,CAAC,EACF,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;IAEQ,WAAW,CAAC,IAAa;QAChC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAa,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,UAAU,CAAC,KAAY;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK;YACL,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import {MosaicClient, type Selection} from '@uwdata/mosaic-core';\nimport {type ExprNode, type Query} from '@uwdata/mosaic-sql';\nimport type {Table} from 'apache-arrow';\nimport type {\n DataTableExplorerPaginationState,\n DataTableExplorerSqlTableReference,\n DataTableExplorerSorting,\n} from './types';\nimport {\n buildDataTableExplorerBaseQuery,\n buildDataTableExplorerPageQuery,\n} from './utils';\n\nexport type DataTableExplorerPageState = {\n datasetId?: string;\n error?: Error;\n isLoading: boolean;\n pageTable?: Table;\n};\n\ntype DataTableExplorerPageClientOptions = {\n columns: string[];\n filter?: ReturnType<Selection['predicate']>;\n onStateChange: (state: DataTableExplorerPageState) => void;\n pagination: DataTableExplorerPaginationState;\n sorting: DataTableExplorerSorting;\n tableName: string;\n tableReference?: DataTableExplorerSqlTableReference;\n};\n\nexport class DataTableExplorerPageClient extends MosaicClient {\n private readonly columns: string[];\n private readonly datasetId: string;\n private error?: Error;\n private readonly filter?: ReturnType<Selection['predicate']>;\n private readonly onStateChange: (state: DataTableExplorerPageState) => void;\n private readonly pagination: DataTableExplorerPaginationState;\n private pageTable?: Table;\n private readonly sorting: DataTableExplorerSorting;\n private readonly tableName: string;\n private readonly tableReference: DataTableExplorerSqlTableReference;\n\n constructor(options: DataTableExplorerPageClientOptions) {\n super();\n this.columns = options.columns;\n this.datasetId = [options.tableName, ...options.columns].join('\\u0001');\n this.filter = options.filter ?? [];\n this.onStateChange = options.onStateChange;\n this.pagination = options.pagination;\n this.sorting = options.sorting;\n this.tableName = options.tableName;\n this.tableReference = options.tableReference ?? options.tableName;\n }\n\n override get filterStable(): boolean {\n return false;\n }\n\n override queryPending(): this {\n this.onStateChange({\n datasetId: this.datasetId,\n error: this.error,\n isLoading: true,\n pageTable: this.pageTable,\n });\n return this;\n }\n\n override query(filter: Array<ExprNode> = []): Query {\n const resolvedFilter = this.filter ?? filter;\n return buildDataTableExplorerPageQuery(\n buildDataTableExplorerBaseQuery({\n columns: this.columns,\n filter: resolvedFilter,\n sorting: this.sorting,\n tableName: this.tableReference,\n }),\n this.pagination,\n );\n }\n\n override queryResult(data: unknown): this {\n this.error = undefined;\n this.pageTable = data as Table;\n this.onStateChange({\n datasetId: this.datasetId,\n isLoading: false,\n pageTable: this.pageTable,\n });\n return this;\n }\n\n override queryError(error: Error): this {\n this.error = error;\n this.onStateChange({\n datasetId: this.datasetId,\n error,\n isLoading: false,\n pageTable: this.pageTable,\n });\n return this;\n }\n}\n"]}
@@ -1,18 +1,19 @@
1
1
  import { MosaicClient, type Selection } from '@uwdata/mosaic-core';
2
2
  import { type ExprNode, type Query } from '@uwdata/mosaic-sql';
3
3
  import type * as arrow from 'apache-arrow';
4
- import type { DataTableExplorerUnsupportedSummary } from './types';
4
+ import type { DataTableExplorerSqlTableReference, DataTableExplorerUnsupportedSummary } from './types';
5
5
  type UnsupportedSummaryClientOptions = {
6
6
  field: arrow.Field;
7
7
  onStateChange: (summary: DataTableExplorerUnsupportedSummary) => void;
8
8
  selection: Selection;
9
9
  tableName: string;
10
+ tableReference?: DataTableExplorerSqlTableReference;
10
11
  };
11
12
  export declare class DataTableExplorerUnsupportedSummaryClient extends MosaicClient {
12
13
  private count;
13
14
  private readonly field;
14
15
  private readonly onStateChange;
15
- private readonly tableName;
16
+ private readonly tableReference;
16
17
  constructor(options: UnsupportedSummaryClientOptions);
17
18
  get filterStable(): boolean;
18
19
  queryPending(): this;
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableExplorerUnsupportedSummaryClient.d.ts","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,KAAK,SAAS,EAAC,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAC,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAC,mCAAmC,EAAC,MAAM,SAAS,CAAC;AAGjE,KAAK,+BAA+B,GAAG;IACrC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IACnB,aAAa,EAAE,CAAC,OAAO,EAAE,mCAAmC,KAAK,IAAI,CAAC;IACtE,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,qBAAa,yCAA0C,SAAQ,YAAY;IACzE,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAEpB;IACV,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,EAAE,+BAA+B;IAOpD,IAAa,YAAY,IAAI,OAAO,CAEnC;IAEQ,YAAY,IAAI,IAAI;IASpB,KAAK,CAAC,MAAM,GAAE,KAAK,CAAC,QAAQ,CAAM,GAAG,KAAK;IAQ1C,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAUhC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CASxC"}
1
+ {"version":3,"file":"DataTableExplorerUnsupportedSummaryClient.d.ts","sourceRoot":"","sources":["../../src/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,KAAK,SAAS,EAAC,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAC,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EACV,kCAAkC,EAClC,mCAAmC,EACpC,MAAM,SAAS,CAAC;AAGjB,KAAK,+BAA+B,GAAG;IACrC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IACnB,aAAa,EAAE,CAAC,OAAO,EAAE,mCAAmC,KAAK,IAAI,CAAC;IACtE,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,kCAAkC,CAAC;CACrD,CAAC;AAEF,qBAAa,yCAA0C,SAAQ,YAAY;IACzE,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAEpB;IACV,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqC;gBAExD,OAAO,EAAE,+BAA+B;IAOpD,IAAa,YAAY,IAAI,OAAO,CAEnC;IAEQ,YAAY,IAAI,IAAI;IASpB,KAAK,CAAC,MAAM,GAAE,KAAK,CAAC,QAAQ,CAAM,GAAG,KAAK;IAQ1C,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAUhC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CASxC"}
@@ -4,12 +4,12 @@ export class DataTableExplorerUnsupportedSummaryClient extends MosaicClient {
4
4
  count = 0;
5
5
  field;
6
6
  onStateChange;
7
- tableName;
7
+ tableReference;
8
8
  constructor(options) {
9
9
  super(options.selection);
10
10
  this.field = options.field;
11
11
  this.onStateChange = options.onStateChange;
12
- this.tableName = options.tableName;
12
+ this.tableReference = options.tableReference ?? options.tableName;
13
13
  }
14
14
  get filterStable() {
15
15
  return false;
@@ -26,7 +26,7 @@ export class DataTableExplorerUnsupportedSummaryClient extends MosaicClient {
26
26
  return buildDistinctCountQuery({
27
27
  fieldName: this.field.name,
28
28
  filter,
29
- tableName: this.tableName,
29
+ tableName: this.tableReference,
30
30
  });
31
31
  }
32
32
  queryResult(data) {