@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.
- package/LICENSE.md +2 -1
- package/README.md +179 -35
- package/dist/MosaicSlice.d.ts +1 -0
- package/dist/MosaicSlice.d.ts.map +1 -1
- package/dist/MosaicSlice.js.map +1 -1
- package/dist/VgPlotChart.d.ts.map +1 -1
- package/dist/VgPlotChart.js +9 -3
- package/dist/VgPlotChart.js.map +1 -1
- package/dist/ai/agentIntent.d.ts +5 -0
- package/dist/ai/agentIntent.d.ts.map +1 -0
- package/dist/ai/agentIntent.js +8 -0
- package/dist/ai/agentIntent.js.map +1 -0
- package/dist/ai/block-document/constants.d.ts +9 -0
- package/dist/ai/block-document/constants.d.ts.map +1 -0
- package/dist/ai/block-document/constants.js +9 -0
- package/dist/ai/block-document/constants.js.map +1 -0
- package/dist/ai/block-document/createAddMosaicDashboardBlockTool.d.ts +48 -0
- package/dist/ai/block-document/createAddMosaicDashboardBlockTool.d.ts.map +1 -0
- package/dist/ai/block-document/createAddMosaicDashboardBlockTool.js +59 -0
- package/dist/ai/block-document/createAddMosaicDashboardBlockTool.js.map +1 -0
- package/dist/ai/block-document/createBlockDocumentChartTools.d.ts +19 -0
- package/dist/ai/block-document/createBlockDocumentChartTools.d.ts.map +1 -0
- package/dist/ai/block-document/createBlockDocumentChartTools.js +37 -0
- package/dist/ai/block-document/createBlockDocumentChartTools.js.map +1 -0
- package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.d.ts +32 -0
- package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.d.ts.map +1 -0
- package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.js +37 -0
- package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.js.map +1 -0
- package/dist/ai/constants.d.ts +3 -0
- package/dist/ai/constants.d.ts.map +1 -0
- package/dist/ai/constants.js +3 -0
- package/dist/ai/constants.js.map +1 -0
- package/dist/ai/createDataTableExplorerTool.d.ts +69 -0
- package/dist/ai/createDataTableExplorerTool.d.ts.map +1 -0
- package/dist/ai/createDataTableExplorerTool.js +68 -0
- package/dist/ai/createDataTableExplorerTool.js.map +1 -0
- package/dist/ai/dashboard/constants.d.ts +6 -0
- package/dist/ai/dashboard/constants.d.ts.map +1 -0
- package/dist/ai/dashboard/constants.js +6 -0
- package/dist/ai/dashboard/constants.js.map +1 -0
- package/dist/ai/dashboard/createDashboardAgentTool.d.ts +17 -0
- package/dist/ai/dashboard/createDashboardAgentTool.d.ts.map +1 -0
- package/dist/ai/dashboard/createDashboardAgentTool.js +205 -0
- package/dist/ai/dashboard/createDashboardAgentTool.js.map +1 -0
- package/dist/ai/dashboard/createDashboardAiAdapter.d.ts +14 -0
- package/dist/ai/dashboard/createDashboardAiAdapter.d.ts.map +1 -0
- package/dist/ai/dashboard/createDashboardAiAdapter.js +75 -0
- package/dist/ai/dashboard/createDashboardAiAdapter.js.map +1 -0
- package/dist/ai/dashboard/createDashboardAiTools.d.ts +26 -0
- package/dist/ai/dashboard/createDashboardAiTools.d.ts.map +1 -0
- package/dist/ai/dashboard/createDashboardAiTools.js +40 -0
- package/dist/ai/dashboard/createDashboardAiTools.js.map +1 -0
- package/dist/ai/dashboard/createDashboardChartTools.d.ts +27 -0
- package/dist/ai/dashboard/createDashboardChartTools.d.ts.map +1 -0
- package/dist/ai/dashboard/createDashboardChartTools.js +55 -0
- package/dist/ai/dashboard/createDashboardChartTools.js.map +1 -0
- package/dist/ai/dashboard/createDashboardDataTableExplorerTool.d.ts +23 -0
- package/dist/ai/dashboard/createDashboardDataTableExplorerTool.d.ts.map +1 -0
- package/dist/ai/dashboard/createDashboardDataTableExplorerTool.js +29 -0
- package/dist/ai/dashboard/createDashboardDataTableExplorerTool.js.map +1 -0
- package/dist/ai/dashboard/createListDashboardPanelsTool.d.ts +28 -0
- package/dist/ai/dashboard/createListDashboardPanelsTool.d.ts.map +1 -0
- package/dist/ai/dashboard/createListDashboardPanelsTool.js +54 -0
- package/dist/ai/dashboard/createListDashboardPanelsTool.js.map +1 -0
- package/dist/ai/dashboard/dashboard-types.d.ts +59 -0
- package/dist/ai/dashboard/dashboard-types.d.ts.map +1 -0
- package/dist/ai/dashboard/dashboard-types.js +2 -0
- package/dist/ai/dashboard/dashboard-types.js.map +1 -0
- package/dist/ai/database-types.d.ts +12 -0
- package/dist/ai/database-types.d.ts.map +1 -0
- package/dist/ai/database-types.js +2 -0
- package/dist/ai/database-types.js.map +1 -0
- package/dist/ai/errors.d.ts +8 -0
- package/dist/ai/errors.d.ts.map +1 -0
- package/dist/ai/errors.js +11 -0
- package/dist/ai/errors.js.map +1 -0
- package/dist/ai/tool-helpers.d.ts +28 -29
- package/dist/ai/tool-helpers.d.ts.map +1 -1
- package/dist/ai/tool-helpers.js +38 -76
- package/dist/ai/tool-helpers.js.map +1 -1
- package/dist/ai/tool-schemas.d.ts +9 -4
- package/dist/ai/tool-schemas.d.ts.map +1 -1
- package/dist/ai/tool-schemas.js +12 -12
- package/dist/ai/tool-schemas.js.map +1 -1
- package/dist/ai/tool-types.d.ts +19 -1
- package/dist/ai/tool-types.d.ts.map +1 -1
- package/dist/ai/tool-types.js.map +1 -1
- package/dist/ai/types.d.ts +64 -0
- package/dist/ai/types.d.ts.map +1 -0
- package/dist/ai/types.js +2 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/ai.d.ts +16 -2
- package/dist/ai.d.ts.map +1 -1
- package/dist/ai.js +14 -5
- package/dist/ai.js.map +1 -1
- package/dist/charts/MosaicChart.d.ts +3 -1
- package/dist/charts/MosaicChart.d.ts.map +1 -1
- package/dist/charts/MosaicChart.js +2 -2
- package/dist/charts/MosaicChart.js.map +1 -1
- package/dist/charts/MosaicChartError.d.ts +8 -2
- package/dist/charts/MosaicChartError.d.ts.map +1 -1
- package/dist/charts/MosaicChartError.js +29 -3
- package/dist/charts/MosaicChartError.js.map +1 -1
- package/dist/charts/MosaicChartSettingsButton.d.ts +15 -0
- package/dist/charts/MosaicChartSettingsButton.d.ts.map +1 -0
- package/dist/charts/MosaicChartSettingsButton.js +7 -0
- package/dist/charts/MosaicChartSettingsButton.js.map +1 -0
- package/dist/charts/MosaicChartView.d.ts +2 -0
- package/dist/charts/MosaicChartView.d.ts.map +1 -1
- package/dist/charts/MosaicChartView.js +19 -7
- package/dist/charts/MosaicChartView.js.map +1 -1
- package/dist/charts/chart-settings/MosaicChartSettings.d.ts.map +1 -1
- package/dist/charts/chart-settings/MosaicChartSettings.js +3 -3
- package/dist/charts/chart-settings/MosaicChartSettings.js.map +1 -1
- package/dist/charts/chart-settings/MosaicChartSettingsPanel.js +1 -1
- package/dist/charts/chart-settings/MosaicChartSettingsPanel.js.map +1 -1
- package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.d.ts.map +1 -1
- package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.js +2 -1
- package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.js.map +1 -1
- package/dist/charts/chart-settings/MosaicChartTypeSelector.d.ts.map +1 -1
- package/dist/charts/chart-settings/MosaicChartTypeSelector.js +3 -3
- package/dist/charts/chart-settings/MosaicChartTypeSelector.js.map +1 -1
- package/dist/charts/chart-types/base-types.d.ts +40 -25
- package/dist/charts/chart-types/base-types.d.ts.map +1 -1
- package/dist/charts/chart-types/base-types.js +5 -0
- package/dist/charts/chart-types/base-types.js.map +1 -1
- package/dist/charts/chart-types/box-plot/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/box-plot/definition.js +1 -0
- package/dist/charts/chart-types/box-plot/definition.js.map +1 -1
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.d.ts +37 -3
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.d.ts.map +1 -1
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.js +28 -13
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.js.map +1 -1
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js +2 -2
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js.map +1 -1
- package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.d.ts +12 -1
- package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.d.ts.map +1 -1
- package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.js +13 -3
- package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.js.map +1 -1
- package/dist/charts/chart-types/box-plot/tool.d.ts +20 -24
- package/dist/charts/chart-types/box-plot/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/box-plot/tool.js +25 -33
- package/dist/charts/chart-types/box-plot/tool.js.map +1 -1
- package/dist/charts/chart-types/box-plot/validation.d.ts +9 -0
- package/dist/charts/chart-types/box-plot/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/box-plot/validation.js +32 -0
- package/dist/charts/chart-types/box-plot/validation.js.map +1 -0
- package/dist/charts/chart-types/chart-config.d.ts +3 -1
- package/dist/charts/chart-types/chart-config.d.ts.map +1 -1
- package/dist/charts/chart-types/chart-config.js +2 -2
- package/dist/charts/chart-types/chart-config.js.map +1 -1
- package/dist/charts/chart-types/column-types.d.ts +8 -0
- package/dist/charts/chart-types/column-types.d.ts.map +1 -0
- package/dist/charts/chart-types/column-types.js +2 -0
- package/dist/charts/chart-types/column-types.js.map +1 -0
- package/dist/charts/chart-types/count-plot/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/count-plot/definition.js +1 -0
- package/dist/charts/chart-types/count-plot/definition.js.map +1 -1
- package/dist/charts/chart-types/count-plot/spec.d.ts +2 -1
- package/dist/charts/chart-types/count-plot/spec.d.ts.map +1 -1
- package/dist/charts/chart-types/count-plot/spec.js +47 -34
- package/dist/charts/chart-types/count-plot/spec.js.map +1 -1
- package/dist/charts/chart-types/count-plot/tool.d.ts +19 -24
- package/dist/charts/chart-types/count-plot/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/count-plot/tool.js +26 -33
- package/dist/charts/chart-types/count-plot/tool.js.map +1 -1
- package/dist/charts/chart-types/count-plot/validation.d.ts +8 -0
- package/dist/charts/chart-types/count-plot/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/count-plot/validation.js +20 -0
- package/dist/charts/chart-types/count-plot/validation.js.map +1 -0
- package/dist/charts/chart-types/createChartInstructions.d.ts +3 -0
- package/dist/charts/chart-types/createChartInstructions.d.ts.map +1 -0
- package/dist/charts/chart-types/createChartInstructions.js +12 -0
- package/dist/charts/chart-types/createChartInstructions.js.map +1 -0
- package/dist/charts/chart-types/createChartTools.d.ts +15 -9
- package/dist/charts/chart-types/createChartTools.d.ts.map +1 -1
- package/dist/charts/chart-types/createChartTools.js +16 -10
- package/dist/charts/chart-types/createChartTools.js.map +1 -1
- package/dist/charts/chart-types/createDefaultChartTypes.js +2 -2
- package/dist/charts/chart-types/createDefaultChartTypes.js.map +1 -1
- package/dist/charts/chart-types/custom-spec/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/custom-spec/definition.js +1 -0
- package/dist/charts/chart-types/custom-spec/definition.js.map +1 -1
- package/dist/charts/chart-types/custom-spec/spec.d.ts +2 -1
- package/dist/charts/chart-types/custom-spec/spec.d.ts.map +1 -1
- package/dist/charts/chart-types/custom-spec/spec.js +16 -12
- package/dist/charts/chart-types/custom-spec/spec.js.map +1 -1
- package/dist/charts/chart-types/errors.d.ts +35 -0
- package/dist/charts/chart-types/errors.d.ts.map +1 -1
- package/dist/charts/chart-types/errors.js +56 -0
- package/dist/charts/chart-types/errors.js.map +1 -1
- package/dist/charts/chart-types/heatmap/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/heatmap/definition.js +1 -0
- package/dist/charts/chart-types/heatmap/definition.js.map +1 -1
- package/dist/charts/chart-types/heatmap/spec.d.ts +2 -1
- package/dist/charts/chart-types/heatmap/spec.d.ts.map +1 -1
- package/dist/charts/chart-types/heatmap/spec.js +21 -21
- package/dist/charts/chart-types/heatmap/spec.js.map +1 -1
- package/dist/charts/chart-types/heatmap/tool.d.ts +20 -24
- package/dist/charts/chart-types/heatmap/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/heatmap/tool.js +27 -37
- package/dist/charts/chart-types/heatmap/tool.js.map +1 -1
- package/dist/charts/chart-types/heatmap/validation.d.ts +9 -0
- package/dist/charts/chart-types/heatmap/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/heatmap/validation.js +34 -0
- package/dist/charts/chart-types/heatmap/validation.js.map +1 -0
- package/dist/charts/chart-types/histogram/HistogramSettings.d.ts.map +1 -1
- package/dist/charts/chart-types/histogram/HistogramSettings.js +3 -1
- package/dist/charts/chart-types/histogram/HistogramSettings.js.map +1 -1
- package/dist/charts/chart-types/histogram/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/histogram/definition.js +1 -0
- package/dist/charts/chart-types/histogram/definition.js.map +1 -1
- package/dist/charts/chart-types/histogram/schema.d.ts +2 -0
- package/dist/charts/chart-types/histogram/schema.d.ts.map +1 -1
- package/dist/charts/chart-types/histogram/schema.js +1 -0
- package/dist/charts/chart-types/histogram/schema.js.map +1 -1
- package/dist/charts/chart-types/histogram/spec.d.ts +2 -1
- package/dist/charts/chart-types/histogram/spec.d.ts.map +1 -1
- package/dist/charts/chart-types/histogram/spec.js +31 -28
- package/dist/charts/chart-types/histogram/spec.js.map +1 -1
- package/dist/charts/chart-types/histogram/tool.d.ts +39 -24
- package/dist/charts/chart-types/histogram/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/histogram/tool.js +39 -33
- package/dist/charts/chart-types/histogram/tool.js.map +1 -1
- package/dist/charts/chart-types/histogram/validation.d.ts +9 -0
- package/dist/charts/chart-types/histogram/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/histogram/validation.js +22 -0
- package/dist/charts/chart-types/histogram/validation.js.map +1 -0
- package/dist/charts/chart-types/index.d.ts +5 -11
- package/dist/charts/chart-types/index.d.ts.map +1 -1
- package/dist/charts/chart-types/index.js +6 -12
- package/dist/charts/chart-types/index.js.map +1 -1
- package/dist/charts/chart-types/line-chart/LineChartSettings.d.ts.map +1 -1
- package/dist/charts/chart-types/line-chart/LineChartSettings.js +4 -13
- package/dist/charts/chart-types/line-chart/LineChartSettings.js.map +1 -1
- package/dist/charts/chart-types/line-chart/LineChartXFieldSelector.d.ts +7 -0
- package/dist/charts/chart-types/line-chart/LineChartXFieldSelector.d.ts.map +1 -0
- package/dist/charts/chart-types/line-chart/LineChartXFieldSelector.js +22 -0
- package/dist/charts/chart-types/line-chart/LineChartXFieldSelector.js.map +1 -0
- package/dist/charts/chart-types/line-chart/LineChartYFieldsSelector.d.ts +7 -0
- package/dist/charts/chart-types/line-chart/LineChartYFieldsSelector.d.ts.map +1 -0
- package/dist/charts/chart-types/line-chart/LineChartYFieldsSelector.js +42 -0
- package/dist/charts/chart-types/line-chart/LineChartYFieldsSelector.js.map +1 -0
- package/dist/charts/chart-types/line-chart/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/line-chart/definition.js +1 -0
- package/dist/charts/chart-types/line-chart/definition.js.map +1 -1
- package/dist/charts/chart-types/line-chart/schema.d.ts +2 -0
- package/dist/charts/chart-types/line-chart/schema.d.ts.map +1 -1
- package/dist/charts/chart-types/line-chart/schema.js +5 -0
- package/dist/charts/chart-types/line-chart/schema.js.map +1 -1
- package/dist/charts/chart-types/line-chart/spec.d.ts +2 -1
- package/dist/charts/chart-types/line-chart/spec.d.ts.map +1 -1
- package/dist/charts/chart-types/line-chart/spec.js +56 -65
- package/dist/charts/chart-types/line-chart/spec.js.map +1 -1
- package/dist/charts/chart-types/line-chart/tool.d.ts +28 -24
- package/dist/charts/chart-types/line-chart/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/line-chart/tool.js +27 -39
- package/dist/charts/chart-types/line-chart/tool.js.map +1 -1
- package/dist/charts/chart-types/line-chart/utils.d.ts +7 -0
- package/dist/charts/chart-types/line-chart/utils.d.ts.map +1 -0
- package/dist/charts/chart-types/line-chart/utils.js +17 -0
- package/dist/charts/chart-types/line-chart/utils.js.map +1 -0
- package/dist/charts/chart-types/line-chart/validation.d.ts +16 -0
- package/dist/charts/chart-types/line-chart/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/line-chart/validation.js +43 -0
- package/dist/charts/chart-types/line-chart/validation.js.map +1 -0
- package/dist/charts/chart-types/mosaicChartTypes.d.ts +4 -2
- package/dist/charts/chart-types/mosaicChartTypes.d.ts.map +1 -1
- package/dist/charts/chart-types/mosaicChartTypes.js +2 -2
- package/dist/charts/chart-types/mosaicChartTypes.js.map +1 -1
- package/dist/charts/chart-types/resolveChartTypes.d.ts +3 -0
- package/dist/charts/chart-types/resolveChartTypes.d.ts.map +1 -0
- package/dist/charts/chart-types/resolveChartTypes.js +8 -0
- package/dist/charts/chart-types/resolveChartTypes.js.map +1 -0
- package/dist/charts/chart-types/scatter-plot/ScatterPlotSettings.d.ts +3 -0
- package/dist/charts/chart-types/scatter-plot/ScatterPlotSettings.d.ts.map +1 -0
- package/dist/charts/chart-types/{bubble-chart/BubbleChartSettings.js → scatter-plot/ScatterPlotSettings.js} +4 -4
- package/dist/charts/chart-types/scatter-plot/ScatterPlotSettings.js.map +1 -0
- package/dist/charts/chart-types/scatter-plot/definition.d.ts +4 -0
- package/dist/charts/chart-types/scatter-plot/definition.d.ts.map +1 -0
- package/dist/charts/chart-types/scatter-plot/definition.js +25 -0
- package/dist/charts/chart-types/scatter-plot/definition.js.map +1 -0
- package/dist/charts/chart-types/{bubble-chart → scatter-plot}/schema.d.ts +5 -5
- package/dist/charts/chart-types/scatter-plot/schema.d.ts.map +1 -0
- package/dist/charts/chart-types/{bubble-chart → scatter-plot}/schema.js +5 -5
- package/dist/charts/chart-types/scatter-plot/schema.js.map +1 -0
- package/dist/charts/chart-types/scatter-plot/spec.d.ts +5 -0
- package/dist/charts/chart-types/scatter-plot/spec.d.ts.map +1 -0
- package/dist/charts/chart-types/scatter-plot/spec.js +37 -0
- package/dist/charts/chart-types/scatter-plot/spec.js.map +1 -0
- package/dist/charts/chart-types/scatter-plot/tool.d.ts +39 -0
- package/dist/charts/chart-types/scatter-plot/tool.d.ts.map +1 -0
- package/dist/charts/chart-types/scatter-plot/tool.js +57 -0
- package/dist/charts/chart-types/scatter-plot/tool.js.map +1 -0
- package/dist/charts/chart-types/scatter-plot/validation.d.ts +13 -0
- package/dist/charts/chart-types/scatter-plot/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/scatter-plot/validation.js +52 -0
- package/dist/charts/chart-types/scatter-plot/validation.js.map +1 -0
- package/dist/charts/chart-types/tool-types.d.ts +43 -0
- package/dist/charts/chart-types/tool-types.d.ts.map +1 -0
- package/dist/charts/chart-types/tool-types.js +2 -0
- package/dist/charts/chart-types/tool-types.js.map +1 -0
- package/dist/charts/chart-types/utils.d.ts +3 -0
- package/dist/charts/chart-types/utils.d.ts.map +1 -0
- package/dist/charts/chart-types/utils.js +4 -0
- package/dist/charts/chart-types/utils.js.map +1 -0
- package/dist/charts/dashboard/MosaicDashboardChartHeaderActions.d.ts.map +1 -1
- package/dist/charts/dashboard/MosaicDashboardChartHeaderActions.js +12 -5
- package/dist/charts/dashboard/MosaicDashboardChartHeaderActions.js.map +1 -1
- package/dist/charts/dashboard/MosaicDashboardChartRenderer.d.ts.map +1 -1
- package/dist/charts/dashboard/MosaicDashboardChartRenderer.js +6 -4
- package/dist/charts/dashboard/MosaicDashboardChartRenderer.js.map +1 -1
- package/dist/charts/useChartDataPolicy.d.ts.map +1 -1
- package/dist/charts/useChartDataPolicy.js +2 -1
- package/dist/charts/useChartDataPolicy.js.map +1 -1
- package/dist/charts/useChartPanelClients.d.ts +8 -0
- package/dist/charts/useChartPanelClients.d.ts.map +1 -0
- package/dist/charts/useChartPanelClients.js +22 -0
- package/dist/charts/useChartPanelClients.js.map +1 -0
- package/dist/charts/useMosaicChartRenderContext.d.ts +2 -3
- package/dist/charts/useMosaicChartRenderContext.d.ts.map +1 -1
- package/dist/charts/useMosaicChartRenderContext.js +15 -15
- package/dist/charts/useMosaicChartRenderContext.js.map +1 -1
- package/dist/charts/worksheet/ChartBlockHeader.d.ts.map +1 -1
- package/dist/charts/worksheet/ChartBlockHeader.js +4 -3
- package/dist/charts/worksheet/ChartBlockHeader.js.map +1 -1
- package/dist/charts/worksheet/ChartBlockRenderer.d.ts.map +1 -1
- package/dist/charts/worksheet/ChartBlockRenderer.js +3 -13
- package/dist/charts/worksheet/ChartBlockRenderer.js.map +1 -1
- package/dist/column-types-utils.d.ts.map +1 -1
- package/dist/column-types-utils.js +12 -4
- package/dist/column-types-utils.js.map +1 -1
- package/dist/components/AggregationSelector.d.ts.map +1 -1
- package/dist/components/AggregationSelector.js +9 -2
- package/dist/components/AggregationSelector.js.map +1 -1
- package/dist/components/BlockCaptionEditor.d.ts +20 -0
- package/dist/components/BlockCaptionEditor.d.ts.map +1 -0
- package/dist/components/BlockCaptionEditor.js +15 -0
- package/dist/components/BlockCaptionEditor.js.map +1 -0
- package/dist/components/ColorSelector.d.ts +12 -0
- package/dist/components/ColorSelector.d.ts.map +1 -0
- package/dist/components/ColorSelector.js +13 -0
- package/dist/components/ColorSelector.js.map +1 -0
- package/dist/components/ColumnSelector.d.ts +1 -0
- package/dist/components/ColumnSelector.d.ts.map +1 -1
- package/dist/components/ColumnSelector.js +2 -2
- package/dist/components/ColumnSelector.js.map +1 -1
- package/dist/components/FieldSelectorInput.d.ts +1 -0
- package/dist/components/FieldSelectorInput.d.ts.map +1 -1
- package/dist/components/FieldSelectorInput.js +4 -9
- package/dist/components/FieldSelectorInput.js.map +1 -1
- package/dist/components/MultiFieldSelector.d.ts +4 -1
- package/dist/components/MultiFieldSelector.d.ts.map +1 -1
- package/dist/components/MultiFieldSelector.js +4 -13
- package/dist/components/MultiFieldSelector.js.map +1 -1
- package/dist/components/TemporalGranularitySelector.d.ts.map +1 -1
- package/dist/components/TemporalGranularitySelector.js +13 -9
- package/dist/components/TemporalGranularitySelector.js.map +1 -1
- package/dist/constants/chart-colors.d.ts +3 -0
- package/dist/constants/chart-colors.d.ts.map +1 -0
- package/dist/constants/chart-colors.js +5 -0
- package/dist/constants/chart-colors.js.map +1 -0
- package/dist/dashboard/DefaultMosaicDashboardBlock.d.ts +2 -1
- package/dist/dashboard/DefaultMosaicDashboardBlock.d.ts.map +1 -1
- package/dist/dashboard/DefaultMosaicDashboardBlock.js +1 -1
- package/dist/dashboard/DefaultMosaicDashboardBlock.js.map +1 -1
- package/dist/dashboard/MosaicDashboardCommands.d.ts +19 -0
- package/dist/dashboard/MosaicDashboardCommands.d.ts.map +1 -0
- package/dist/dashboard/MosaicDashboardCommands.js +226 -0
- package/dist/dashboard/MosaicDashboardCommands.js.map +1 -0
- package/dist/dashboard/MosaicDashboardSlice.d.ts +22 -4
- package/dist/dashboard/MosaicDashboardSlice.d.ts.map +1 -1
- package/dist/dashboard/MosaicDashboardSlice.js +55 -0
- package/dist/dashboard/MosaicDashboardSlice.js.map +1 -1
- package/dist/dashboard/components/ResetFiltersButton.d.ts +14 -0
- package/dist/dashboard/components/ResetFiltersButton.d.ts.map +1 -0
- package/dist/dashboard/components/ResetFiltersButton.js +15 -0
- package/dist/dashboard/components/ResetFiltersButton.js.map +1 -0
- package/dist/dashboard/dashboard-types.d.ts +9 -3
- package/dist/dashboard/dashboard-types.d.ts.map +1 -1
- package/dist/dashboard/dashboard-types.js.map +1 -1
- package/dist/dashboard/hooks/useDashboardResetFilters.d.ts +14 -0
- package/dist/dashboard/hooks/useDashboardResetFilters.d.ts.map +1 -0
- package/dist/dashboard/hooks/useDashboardResetFilters.js +39 -0
- package/dist/dashboard/hooks/useDashboardResetFilters.js.map +1 -0
- package/dist/dashboard/hooks/usePanelResetFilters.d.ts +16 -0
- package/dist/dashboard/hooks/usePanelResetFilters.d.ts.map +1 -0
- package/dist/dashboard/hooks/usePanelResetFilters.js +47 -0
- package/dist/dashboard/hooks/usePanelResetFilters.js.map +1 -0
- package/dist/dashboard/panel/MosaicDashboardPanel.d.ts.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanel.js +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanel.js.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanelLayout.d.ts.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanelLayout.js +3 -3
- package/dist/dashboard/panel/MosaicDashboardPanelLayout.js.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanels.d.ts.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanels.js +4 -2
- package/dist/dashboard/panel/MosaicDashboardPanels.js.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardAddPanelDropdown.d.ts.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardAddPanelDropdown.js +3 -3
- package/dist/dashboard/toolbar/MosaicDashboardAddPanelDropdown.js.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardDataTableSelector.d.ts +7 -0
- package/dist/dashboard/toolbar/MosaicDashboardDataTableSelector.d.ts.map +1 -0
- package/dist/dashboard/toolbar/MosaicDashboardDataTableSelector.js +18 -0
- package/dist/dashboard/toolbar/MosaicDashboardDataTableSelector.js.map +1 -0
- package/dist/dashboard/toolbar/MosaicDashboardResetFiltersButton.d.ts.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardResetFiltersButton.js +4 -32
- package/dist/dashboard/toolbar/MosaicDashboardResetFiltersButton.js.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardToolbar.d.ts +2 -2
- package/dist/dashboard/toolbar/MosaicDashboardToolbar.d.ts.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardToolbar.js +14 -10
- package/dist/dashboard/toolbar/MosaicDashboardToolbar.js.map +1 -1
- package/dist/dashboard/usePanelClientRegistration.d.ts +7 -0
- package/dist/dashboard/usePanelClientRegistration.d.ts.map +1 -0
- package/dist/dashboard/usePanelClientRegistration.js +30 -0
- package/dist/dashboard/usePanelClientRegistration.js.map +1 -0
- package/dist/dashboard/usePanelClients.d.ts +7 -0
- package/dist/dashboard/usePanelClients.d.ts.map +1 -0
- package/dist/dashboard/usePanelClients.js +13 -0
- package/dist/dashboard/usePanelClients.js.map +1 -0
- package/dist/dashboard/useSelectedOrFirstTable.d.ts +1 -1
- package/dist/dashboard/useSelectedOrFirstTable.d.ts.map +1 -1
- package/dist/dashboard/useSelectedOrFirstTable.js +10 -8
- package/dist/dashboard/useSelectedOrFirstTable.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorer.d.ts +4 -2
- package/dist/data-table-explorer/DataTableExplorer.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorer.js +4 -4
- package/dist/data-table-explorer/DataTableExplorer.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerCategoryClient.d.ts +3 -2
- package/dist/data-table-explorer/DataTableExplorerCategoryClient.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerCategoryClient.js +4 -3
- package/dist/data-table-explorer/DataTableExplorerCategoryClient.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerCountClient.d.ts +3 -1
- package/dist/data-table-explorer/DataTableExplorerCountClient.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerCountClient.js +3 -3
- package/dist/data-table-explorer/DataTableExplorerCountClient.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerHistogramClient.d.ts +3 -2
- package/dist/data-table-explorer/DataTableExplorerHistogramClient.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerHistogramClient.js +4 -4
- package/dist/data-table-explorer/DataTableExplorerHistogramClient.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerPageClient.d.ts +3 -1
- package/dist/data-table-explorer/DataTableExplorerPageClient.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerPageClient.js +3 -1
- package/dist/data-table-explorer/DataTableExplorerPageClient.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.d.ts +3 -2
- package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.js +3 -3
- package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.js.map +1 -1
- package/dist/data-table-explorer/createDataTableExplorerStore.d.ts +3 -0
- package/dist/data-table-explorer/createDataTableExplorerStore.d.ts.map +1 -1
- package/dist/data-table-explorer/createDataTableExplorerStore.js +6 -0
- package/dist/data-table-explorer/createDataTableExplorerStore.js.map +1 -1
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerHeaderActions.d.ts +4 -0
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerHeaderActions.d.ts.map +1 -0
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerHeaderActions.js +13 -0
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerHeaderActions.js.map +1 -0
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.d.ts.map +1 -1
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.js +26 -8
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.js.map +1 -1
- package/dist/data-table-explorer/dashboard/useDataTableExplorerPanelClients.d.ts +13 -0
- package/dist/data-table-explorer/dashboard/useDataTableExplorerPanelClients.d.ts.map +1 -0
- package/dist/data-table-explorer/dashboard/useDataTableExplorerPanelClients.js +32 -0
- package/dist/data-table-explorer/dashboard/useDataTableExplorerPanelClients.js.map +1 -0
- package/dist/data-table-explorer/dataTableExplorerController.d.ts +63 -3
- package/dist/data-table-explorer/dataTableExplorerController.d.ts.map +1 -1
- package/dist/data-table-explorer/dataTableExplorerController.js +73 -10
- package/dist/data-table-explorer/dataTableExplorerController.js.map +1 -1
- package/dist/data-table-explorer/hooks/useDataTableExplorerColumns.d.ts +12 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerColumns.d.ts.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerColumns.js +19 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerColumns.js.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.d.ts +52 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.d.ts.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.js +153 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.js.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.d.ts +42 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.d.ts.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.js +43 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.js.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerSelection.d.ts +13 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerSelection.d.ts.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerSelection.js +40 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerSelection.js.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStatus.d.ts +18 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStatus.d.ts.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStatus.js +23 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStatus.js.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStoreState.d.ts +27 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStoreState.d.ts.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStoreState.js +28 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStoreState.js.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerVisiblePage.d.ts +15 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerVisiblePage.d.ts.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerVisiblePage.js +21 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerVisiblePage.js.map +1 -0
- package/dist/data-table-explorer/types.d.ts +16 -3
- package/dist/data-table-explorer/types.d.ts.map +1 -1
- package/dist/data-table-explorer/types.js.map +1 -1
- package/dist/data-table-explorer/useDataTableExplorer.d.ts.map +1 -1
- package/dist/data-table-explorer/useDataTableExplorer.js +20 -279
- package/dist/data-table-explorer/useDataTableExplorer.js.map +1 -1
- package/dist/data-table-explorer/utils.d.ts +64 -6
- package/dist/data-table-explorer/utils.d.ts.map +1 -1
- package/dist/data-table-explorer/utils.js +58 -0
- package/dist/data-table-explorer/utils.js.map +1 -1
- package/dist/data-table-explorer/worksheet/DataTableBlockHeader.d.ts +1 -0
- package/dist/data-table-explorer/worksheet/DataTableBlockHeader.d.ts.map +1 -1
- package/dist/data-table-explorer/worksheet/DataTableBlockHeader.js +4 -2
- package/dist/data-table-explorer/worksheet/DataTableBlockHeader.js.map +1 -1
- package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.d.ts.map +1 -1
- package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.js +4 -4
- package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.js.map +1 -1
- package/dist/index.d.ts +55 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +86 -26
- package/dist/index.js.map +1 -1
- package/dist/mosaicTableReference.d.ts +59 -0
- package/dist/mosaicTableReference.d.ts.map +1 -0
- package/dist/mosaicTableReference.js +68 -0
- package/dist/mosaicTableReference.js.map +1 -0
- package/dist/useVgPlotChartRender.d.ts.map +1 -1
- package/dist/useVgPlotChartRender.js +151 -25
- package/dist/useVgPlotChartRender.js.map +1 -1
- package/dist/useVgPlotChartRetention.d.ts +11 -0
- package/dist/useVgPlotChartRetention.d.ts.map +1 -1
- package/dist/useVgPlotChartRetention.js.map +1 -1
- package/dist/utils/table-lookup.d.ts +7 -0
- package/dist/utils/table-lookup.d.ts.map +1 -0
- package/dist/utils/table-lookup.js +10 -0
- package/dist/utils/table-lookup.js.map +1 -0
- package/package.json +14 -14
- package/dist/ai/ai.d.ts +0 -103
- package/dist/ai/ai.d.ts.map +0 -1
- package/dist/ai/ai.js +0 -419
- package/dist/ai/ai.js.map +0 -1
- package/dist/ai/data-table-explorer-tool.d.ts +0 -40
- package/dist/ai/data-table-explorer-tool.d.ts.map +0 -1
- package/dist/ai/data-table-explorer-tool.js +0 -75
- package/dist/ai/data-table-explorer-tool.js.map +0 -1
- package/dist/ai/list-panels-tool.d.ts +0 -35
- package/dist/ai/list-panels-tool.d.ts.map +0 -1
- package/dist/ai/list-panels-tool.js +0 -66
- package/dist/ai/list-panels-tool.js.map +0 -1
- package/dist/ai/remove-panel-tool.d.ts +0 -31
- package/dist/ai/remove-panel-tool.d.ts.map +0 -1
- package/dist/ai/remove-panel-tool.js +0 -55
- package/dist/ai/remove-panel-tool.js.map +0 -1
- package/dist/ai/tool-validation.d.ts +0 -3
- package/dist/ai/tool-validation.d.ts.map +0 -1
- package/dist/ai/tool-validation.js +0 -11
- package/dist/ai/tool-validation.js.map +0 -1
- package/dist/charts/chart-types/bubble-chart/BubbleChartSettings.d.ts +0 -3
- package/dist/charts/chart-types/bubble-chart/BubbleChartSettings.d.ts.map +0 -1
- package/dist/charts/chart-types/bubble-chart/BubbleChartSettings.js.map +0 -1
- package/dist/charts/chart-types/bubble-chart/definition.d.ts +0 -4
- package/dist/charts/chart-types/bubble-chart/definition.d.ts.map +0 -1
- package/dist/charts/chart-types/bubble-chart/definition.js +0 -24
- package/dist/charts/chart-types/bubble-chart/definition.js.map +0 -1
- package/dist/charts/chart-types/bubble-chart/schema.d.ts.map +0 -1
- package/dist/charts/chart-types/bubble-chart/schema.js.map +0 -1
- package/dist/charts/chart-types/bubble-chart/spec.d.ts +0 -4
- package/dist/charts/chart-types/bubble-chart/spec.d.ts.map +0 -1
- package/dist/charts/chart-types/bubble-chart/spec.js +0 -31
- package/dist/charts/chart-types/bubble-chart/spec.js.map +0 -1
- package/dist/charts/chart-types/bubble-chart/tool.d.ts +0 -42
- package/dist/charts/chart-types/bubble-chart/tool.d.ts.map +0 -1
- package/dist/charts/chart-types/bubble-chart/tool.js +0 -66
- package/dist/charts/chart-types/bubble-chart/tool.js.map +0 -1
- package/dist/hooks/useDataTable.d.ts +0 -3
- package/dist/hooks/useDataTable.d.ts.map +0 -1
- package/dist/hooks/useDataTable.js +0 -28
- package/dist/hooks/useDataTable.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/charts/chart-types/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAC9B,SAAmC,EACnC,cAAsB;IAEtB,OAAO,GAAG,cAAc,GAAG,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;AAC/D,CAAC","sourcesContent":["import {ChartTypeDefinition} from './base-types';\n\nexport function getChartToolName(\n chartType: ChartTypeDefinition<any>,\n toolNamePrefix: string,\n): string {\n return `${toolNamePrefix}${chartType.id.replace(/-/g, '_')}`;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MosaicDashboardChartHeaderActions.d.ts","sourceRoot":"","sources":["../../../src/charts/dashboard/MosaicDashboardChartHeaderActions.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MosaicDashboardChartHeaderActions.d.ts","sourceRoot":"","sources":["../../../src/charts/dashboard/MosaicDashboardChartHeaderActions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,EAAc,MAAM,OAAO,CAAC;AAC3C,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,sCAAsC,CAAC;AAM9C,eAAO,MAAM,iCAAiC,EAAE,EAAE,CAAC,uBAAuB,CAmCzE,CAAC"}
|
|
@@ -1,16 +1,23 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
2
|
-
import { Button, Tooltip, TooltipContent, TooltipTrigger } from '@sqlrooms/ui';
|
|
3
|
-
import { SettingsIcon } from 'lucide-react';
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
2
|
import { useCallback } from 'react';
|
|
5
3
|
import { useStoreWithMosaicDashboard, } from '../../dashboard/MosaicDashboardSlice';
|
|
6
|
-
|
|
4
|
+
import { usePanelClients } from '../../dashboard/usePanelClients';
|
|
5
|
+
import { usePanelResetFilters } from '../../dashboard/hooks/usePanelResetFilters';
|
|
6
|
+
import { ResetFiltersButton } from '../../dashboard/components/ResetFiltersButton';
|
|
7
|
+
import { MosaicChartSettingsButton } from '../MosaicChartSettingsButton';
|
|
8
|
+
export const MosaicDashboardChartHeaderActions = ({ dashboardId, panel, selectionName, }) => {
|
|
7
9
|
const updatePanel = useStoreWithMosaicDashboard((state) => state.mosaicDashboard.updatePanel);
|
|
10
|
+
const panelClients = usePanelClients(dashboardId, panel.id);
|
|
11
|
+
const { hasActiveFilters, reset } = usePanelResetFilters({
|
|
12
|
+
panelClients,
|
|
13
|
+
selectionName,
|
|
14
|
+
});
|
|
8
15
|
const isSettingsOpen = Boolean(panel.config.settingsOpen);
|
|
9
16
|
const handleToggleSettings = useCallback(() => {
|
|
10
17
|
updatePanel(dashboardId, panel.id, {
|
|
11
18
|
config: { ...panel.config, settingsOpen: !isSettingsOpen },
|
|
12
19
|
});
|
|
13
20
|
}, [dashboardId, isSettingsOpen, panel.config, panel.id, updatePanel]);
|
|
14
|
-
return (
|
|
21
|
+
return (_jsxs(_Fragment, { children: [_jsx(ResetFiltersButton, { disabled: !hasActiveFilters, onClick: reset, tooltip: "Reset panel filters" }), _jsx(MosaicChartSettingsButton, { isSettingsOpen: isSettingsOpen, onToggleSettings: handleToggleSettings })] }));
|
|
15
22
|
};
|
|
16
23
|
//# sourceMappingURL=MosaicDashboardChartHeaderActions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MosaicDashboardChartHeaderActions.js","sourceRoot":"","sources":["../../../src/charts/dashboard/MosaicDashboardChartHeaderActions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"MosaicDashboardChartHeaderActions.js","sourceRoot":"","sources":["../../../src/charts/dashboard/MosaicDashboardChartHeaderActions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAU,WAAW,EAAC,MAAM,OAAO,CAAC;AAC3C,OAAO,EAEL,2BAA2B,GAC5B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAC,oBAAoB,EAAC,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAC,kBAAkB,EAAC,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAC,yBAAyB,EAAC,MAAM,8BAA8B,CAAC;AAEvE,MAAM,CAAC,MAAM,iCAAiC,GAAgC,CAAC,EAC7E,WAAW,EACX,KAAK,EACL,aAAa,GACd,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,2BAA2B,CAC7C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAC7C,CAAC;IACF,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5D,MAAM,EAAC,gBAAgB,EAAE,KAAK,EAAC,GAAG,oBAAoB,CAAC;QACrD,YAAY;QACZ,aAAa;KACd,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAE1D,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE;YACjC,MAAM,EAAE,EAAC,GAAG,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,cAAc,EAAC;SACzD,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IAEvE,OAAO,CACL,8BACE,KAAC,kBAAkB,IACjB,QAAQ,EAAE,CAAC,gBAAgB,EAC3B,OAAO,EAAE,KAAK,EACd,OAAO,EAAC,qBAAqB,GAC7B,EACF,KAAC,yBAAyB,IACxB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,oBAAoB,GACtC,IACD,CACJ,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import {type FC, useCallback} from 'react';\nimport {\n type ChartPanelRendererProps,\n useStoreWithMosaicDashboard,\n} from '../../dashboard/MosaicDashboardSlice';\nimport {usePanelClients} from '../../dashboard/usePanelClients';\nimport {usePanelResetFilters} from '../../dashboard/hooks/usePanelResetFilters';\nimport {ResetFiltersButton} from '../../dashboard/components/ResetFiltersButton';\nimport {MosaicChartSettingsButton} from '../MosaicChartSettingsButton';\n\nexport const MosaicDashboardChartHeaderActions: FC<ChartPanelRendererProps> = ({\n dashboardId,\n panel,\n selectionName,\n}) => {\n const updatePanel = useStoreWithMosaicDashboard(\n (state) => state.mosaicDashboard.updatePanel,\n );\n const panelClients = usePanelClients(dashboardId, panel.id);\n const {hasActiveFilters, reset} = usePanelResetFilters({\n panelClients,\n selectionName,\n });\n\n const isSettingsOpen = Boolean(panel.config.settingsOpen);\n\n const handleToggleSettings = useCallback(() => {\n updatePanel(dashboardId, panel.id, {\n config: {...panel.config, settingsOpen: !isSettingsOpen},\n });\n }, [dashboardId, isSettingsOpen, panel.config, panel.id, updatePanel]);\n\n return (\n <>\n <ResetFiltersButton\n disabled={!hasActiveFilters}\n onClick={reset}\n tooltip=\"Reset panel filters\"\n />\n <MosaicChartSettingsButton\n isSettingsOpen={isSettingsOpen}\n onToggleSettings={handleToggleSettings}\n />\n </>\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MosaicDashboardChartRenderer.d.ts","sourceRoot":"","sources":["../../../src/charts/dashboard/MosaicDashboardChartRenderer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACtE,OAAO,EACL,KAAK,4BAA4B,EAIlC,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"MosaicDashboardChartRenderer.d.ts","sourceRoot":"","sources":["../../../src/charts/dashboard/MosaicDashboardChartRenderer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACtE,OAAO,EACL,KAAK,4BAA4B,EAIlC,MAAM,sCAAsC,CAAC;AA6C9C,eAAO,MAAM,4BAA4B,EAAE,4BAA4B,CAAC,gBAAgB,CAKrF,CAAC"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { BarChart3Icon } from 'lucide-react';
|
|
3
|
-
import { useCallback } from 'react';
|
|
3
|
+
import { useCallback, useMemo } from 'react';
|
|
4
4
|
import { MosaicDashboardChartHeaderActions } from './MosaicDashboardChartHeaderActions';
|
|
5
5
|
import { useStoreWithMosaicDashboard, getMosaicDashboardPanelId, } from '../../dashboard/MosaicDashboardSlice';
|
|
6
6
|
import { MosaicChart } from '../MosaicChart';
|
|
7
|
-
import {
|
|
7
|
+
import { useTablesWithColumns } from '../../hooks/useTablesWithColumns';
|
|
8
|
+
import { resolveMosaicTableReference } from '../../mosaicTableReference';
|
|
8
9
|
const MosaicDashboardChartRenderer = ({ panel, dashboardId, dashboard, selectionName, }) => {
|
|
9
10
|
const tableName = dashboard.selectedTable;
|
|
10
|
-
const
|
|
11
|
+
const tables = useTablesWithColumns();
|
|
12
|
+
const dataTable = useMemo(() => resolveMosaicTableReference(tables, tableName).table, [tableName, tables]);
|
|
11
13
|
const updatePanel = useStoreWithMosaicDashboard((state) => state.mosaicDashboard.updatePanel);
|
|
12
14
|
const runtimeKey = getMosaicDashboardPanelId(dashboardId, panel.id);
|
|
13
15
|
const handleConfigChange = useCallback((config) => {
|
|
14
16
|
updatePanel(dashboardId, panel.id, { config });
|
|
15
17
|
}, [dashboardId, panel.id, updatePanel]);
|
|
16
|
-
return (_jsx(MosaicChart, { dataTable: dataTable, selectionName: selectionName, config: panel.config, runtimeKey: runtimeKey, onConfigChange: handleConfigChange }));
|
|
18
|
+
return (_jsx(MosaicChart, { dataTable: dataTable, selectionName: selectionName, config: panel.config, runtimeKey: runtimeKey, onConfigChange: handleConfigChange, dashboardId: dashboardId, panelId: panel.id }));
|
|
17
19
|
};
|
|
18
20
|
export const mosaicDashboardChartRenderer = {
|
|
19
21
|
component: MosaicDashboardChartRenderer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MosaicDashboardChartRenderer.js","sourceRoot":"","sources":["../../../src/charts/dashboard/MosaicDashboardChartRenderer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAC,WAAW,EAAU,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MosaicDashboardChartRenderer.js","sourceRoot":"","sources":["../../../src/charts/dashboard/MosaicDashboardChartRenderer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAC,WAAW,EAAE,OAAO,EAAU,MAAM,OAAO,CAAC;AACpD,OAAO,EAAC,iCAAiC,EAAC,MAAM,qCAAqC,CAAC;AAEtF,OAAO,EAGL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,oBAAoB,EAAC,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAC,2BAA2B,EAAC,MAAM,4BAA4B,CAAC;AAEvE,MAAM,4BAA4B,GAAgC,CAAC,EACjE,KAAK,EACL,WAAW,EACX,SAAS,EACT,aAAa,GACd,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC;IAC1C,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CAAC,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,KAAK,EAC1D,CAAC,SAAS,EAAE,MAAM,CAAC,CACpB,CAAC;IAEF,MAAM,WAAW,GAAG,2BAA2B,CAC7C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAC7C,CAAC;IAEF,MAAM,UAAU,GAAG,yBAAyB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAEpE,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,MAAmB,EAAE,EAAE;QACtB,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IAC/C,CAAC,EACD,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CACrC,CAAC;IAEF,OAAO,CACL,KAAC,WAAW,IACV,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,kBAAkB,EAClC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,KAAK,CAAC,EAAE,GACjB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GACvC;IACE,SAAS,EAAE,4BAA4B;IACvC,aAAa,EAAE,iCAAiC;IAChD,IAAI,EAAE,aAAa;CACpB,CAAC","sourcesContent":["import {BarChart3Icon} from 'lucide-react';\nimport {useCallback, useMemo, type FC} from 'react';\nimport {MosaicDashboardChartHeaderActions} from './MosaicDashboardChartHeaderActions';\nimport type {ChartPanelConfig} from '../../dashboard/dashboard-types';\nimport {\n type MosaicDashboardPanelRenderer,\n type ChartPanelRendererProps,\n useStoreWithMosaicDashboard,\n getMosaicDashboardPanelId,\n} from '../../dashboard/MosaicDashboardSlice';\nimport {ChartConfig} from '../chart-types/chart-config';\nimport {MosaicChart} from '../MosaicChart';\nimport {useTablesWithColumns} from '../../hooks/useTablesWithColumns';\nimport {resolveMosaicTableReference} from '../../mosaicTableReference';\n\nconst MosaicDashboardChartRenderer: FC<ChartPanelRendererProps> = ({\n panel,\n dashboardId,\n dashboard,\n selectionName,\n}) => {\n const tableName = dashboard.selectedTable;\n const tables = useTablesWithColumns();\n const dataTable = useMemo(\n () => resolveMosaicTableReference(tables, tableName).table,\n [tableName, tables],\n );\n\n const updatePanel = useStoreWithMosaicDashboard(\n (state) => state.mosaicDashboard.updatePanel,\n );\n\n const runtimeKey = getMosaicDashboardPanelId(dashboardId, panel.id);\n\n const handleConfigChange = useCallback(\n (config: ChartConfig) => {\n updatePanel(dashboardId, panel.id, {config});\n },\n [dashboardId, panel.id, updatePanel],\n );\n\n return (\n <MosaicChart\n dataTable={dataTable}\n selectionName={selectionName}\n config={panel.config}\n runtimeKey={runtimeKey}\n onConfigChange={handleConfigChange}\n dashboardId={dashboardId}\n panelId={panel.id}\n />\n );\n};\n\nexport const mosaicDashboardChartRenderer: MosaicDashboardPanelRenderer<ChartPanelConfig> =\n {\n component: MosaicDashboardChartRenderer,\n headerActions: MosaicDashboardChartHeaderActions,\n icon: BarChart3Icon,\n };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChartDataPolicy.d.ts","sourceRoot":"","sources":["../../src/charts/useChartDataPolicy.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"useChartDataPolicy.d.ts","sourceRoot":"","sources":["../../src/charts/useChartDataPolicy.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAEvC,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,MAAM,EAAE,WAAW,GAClB,eAAe,GAAG,IAAI,CAgBxB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useMemo } from 'react';
|
|
2
2
|
import { resolveChartDataPolicy } from '../chart-runtime';
|
|
3
|
+
import { getChartTableReferenceString } from './chart-types/base-types';
|
|
3
4
|
import { useChartTypeDefinition } from './useChartTypeDefinition';
|
|
4
5
|
export function useChartDataPolicy(dataTable, config) {
|
|
5
6
|
const chartTypeDefinition = useChartTypeDefinition(config.chartType);
|
|
@@ -8,7 +9,7 @@ export function useChartDataPolicy(dataTable, config) {
|
|
|
8
9
|
return null;
|
|
9
10
|
}
|
|
10
11
|
const defaultPolicy = chartTypeDefinition.getDataPolicy({
|
|
11
|
-
tableName: dataTable
|
|
12
|
+
tableName: getChartTableReferenceString(dataTable),
|
|
12
13
|
config,
|
|
13
14
|
}) ?? null;
|
|
14
15
|
return resolveChartDataPolicy(defaultPolicy, config.dataPolicy);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChartDataPolicy.js","sourceRoot":"","sources":["../../src/charts/useChartDataPolicy.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAGhE,MAAM,UAAU,kBAAkB,CAChC,SAAgC,EAChC,MAAmB;IAEnB,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAErE,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,mBAAmB,EAAE,aAAa,IAAI,CAAC,SAAS,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GACjB,mBAAmB,CAAC,aAAa,CAAC;YAChC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"useChartDataPolicy.js","sourceRoot":"","sources":["../../src/charts/useChartDataPolicy.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAC,4BAA4B,EAAC,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAGhE,MAAM,UAAU,kBAAkB,CAChC,SAAgC,EAChC,MAAmB;IAEnB,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAErE,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,mBAAmB,EAAE,aAAa,IAAI,CAAC,SAAS,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GACjB,mBAAmB,CAAC,aAAa,CAAC;YAChC,SAAS,EAAE,4BAA4B,CAAC,SAAS,CAAC;YAClD,MAAM;SACP,CAAC,IAAI,IAAI,CAAC;QAEb,OAAO,sBAAsB,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/C,CAAC","sourcesContent":["import {useMemo} from 'react';\nimport type {ChartDataPolicy} from '../chart-runtime';\nimport {resolveChartDataPolicy} from '../chart-runtime';\nimport type {ChartConfig} from './chart-types/chart-config';\nimport {getChartTableReferenceString} from './chart-types/base-types';\nimport {useChartTypeDefinition} from './useChartTypeDefinition';\nimport {DataTable} from '@sqlrooms/db';\n\nexport function useChartDataPolicy(\n dataTable: DataTable | undefined,\n config: ChartConfig,\n): ChartDataPolicy | null {\n const chartTypeDefinition = useChartTypeDefinition(config.chartType);\n\n return useMemo(() => {\n if (!chartTypeDefinition?.getDataPolicy || !dataTable) {\n return null;\n }\n\n const defaultPolicy =\n chartTypeDefinition.getDataPolicy({\n tableName: getChartTableReferenceString(dataTable),\n config,\n }) ?? null;\n\n return resolveChartDataPolicy(defaultPolicy, config.dataPolicy);\n }, [config, chartTypeDefinition, dataTable]);\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type MosaicClient } from '@uwdata/mosaic-core';
|
|
2
|
+
import type { VgPlotChartRetention } from '../VgPlotChart';
|
|
3
|
+
/**
|
|
4
|
+
* Extracts chart interactors from a retained chart instance for panel client registration.
|
|
5
|
+
* Chart interactors create filter clauses when users interact with the chart (e.g., brushing).
|
|
6
|
+
*/
|
|
7
|
+
export declare function useChartPanelClients(retention: VgPlotChartRetention | null | undefined): MosaicClient[];
|
|
8
|
+
//# sourceMappingURL=useChartPanelClients.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChartPanelClients.d.ts","sourceRoot":"","sources":["../../src/charts/useChartPanelClients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,GACjD,YAAY,EAAE,CAoBhB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Extracts chart interactors from a retained chart instance for panel client registration.
|
|
4
|
+
* Chart interactors create filter clauses when users interact with the chart (e.g., brushing).
|
|
5
|
+
*/
|
|
6
|
+
export function useChartPanelClients(retention) {
|
|
7
|
+
return useMemo(() => {
|
|
8
|
+
if (!retention?.chart) {
|
|
9
|
+
return [];
|
|
10
|
+
}
|
|
11
|
+
// VgPlotChart element structure: element.value is the vgplot instance
|
|
12
|
+
const element = retention.chart.element;
|
|
13
|
+
const plotInstance = element?.value;
|
|
14
|
+
if (!plotInstance) {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
// Interactors create clauses, so we need to register them as "clients" for filtering
|
|
18
|
+
const interactors = plotInstance.interactors;
|
|
19
|
+
return interactors ?? [];
|
|
20
|
+
}, [retention?.chart]);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=useChartPanelClients.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChartPanelClients.js","sourceRoot":"","sources":["../../src/charts/useChartPanelClients.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAG9B;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAkD;IAElD,OAAO,OAAO,CAAiB,GAAG,EAAE;QAClC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,sEAAsE;QACtE,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;QACxC,MAAM,YAAY,GAAI,OAAe,EAAE,KAAK,CAAC;QAE7C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,qFAAqF;QACrF,MAAM,WAAW,GAAG,YAAY,CAAC,WAEpB,CAAC;QACd,OAAO,WAAW,IAAI,EAAE,CAAC;IAC3B,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AACzB,CAAC","sourcesContent":["import {type MosaicClient} from '@uwdata/mosaic-core';\nimport {useMemo} from 'react';\nimport type {VgPlotChartRetention} from '../VgPlotChart';\n\n/**\n * Extracts chart interactors from a retained chart instance for panel client registration.\n * Chart interactors create filter clauses when users interact with the chart (e.g., brushing).\n */\nexport function useChartPanelClients(\n retention: VgPlotChartRetention | null | undefined,\n): MosaicClient[] {\n return useMemo<MosaicClient[]>(() => {\n if (!retention?.chart) {\n return [];\n }\n\n // VgPlotChart element structure: element.value is the vgplot instance\n const element = retention.chart.element;\n const plotInstance = (element as any)?.value;\n\n if (!plotInstance) {\n return [];\n }\n\n // Interactors create clauses, so we need to register them as \"clients\" for filtering\n const interactors = plotInstance.interactors as\n | Array<MosaicClient>\n | undefined;\n return interactors ?? [];\n }, [retention?.chart]);\n}\n"]}
|
|
@@ -13,9 +13,8 @@ export type MosaicSpecChartRenderContext = {
|
|
|
13
13
|
};
|
|
14
14
|
export type MosaicChartRenderErrorContext = {
|
|
15
15
|
type: 'error';
|
|
16
|
-
|
|
17
|
-
message: string;
|
|
16
|
+
error: Error;
|
|
18
17
|
};
|
|
19
18
|
export type MosaicChartRenderContext = MosaicComponentChartRenderContext | MosaicSpecChartRenderContext | MosaicChartRenderErrorContext;
|
|
20
|
-
export declare function useMosaicChartRenderContext(dataTable: DataTable | undefined, config: ChartConfig): MosaicChartRenderContext;
|
|
19
|
+
export declare function useMosaicChartRenderContext(dataTable: DataTable | undefined, config: ChartConfig, selectionName?: string): MosaicChartRenderContext;
|
|
21
20
|
//# sourceMappingURL=useMosaicChartRenderContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMosaicChartRenderContext.d.ts","sourceRoot":"","sources":["../../src/charts/useMosaicChartRenderContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAC;AAE9C,OAAO,KAAK,EAAC,WAAW,EAAgB,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EACL,4BAA4B,EAI7B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAEvC,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACnD,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useMosaicChartRenderContext.d.ts","sourceRoot":"","sources":["../../src/charts/useMosaicChartRenderContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAC;AAE9C,OAAO,KAAK,EAAC,WAAW,EAAgB,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EACL,4BAA4B,EAI7B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAEvC,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACnD,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC,iCAAiC,GACjC,4BAA4B,GAC5B,6BAA6B,CAAC;AAElC,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,MAAM,EAAE,WAAW,EACnB,aAAa,CAAC,EAAE,MAAM,GACrB,wBAAwB,CAwC1B"}
|
|
@@ -2,25 +2,23 @@ import { useMemo } from 'react';
|
|
|
2
2
|
import { ChartSpecError } from './chart-types/errors';
|
|
3
3
|
import { isComponentChartType, isSpecChartType, } from './chart-types/base-types';
|
|
4
4
|
import { useChartTypeDefinition } from './useChartTypeDefinition';
|
|
5
|
-
export function useMosaicChartRenderContext(dataTable, config) {
|
|
5
|
+
export function useMosaicChartRenderContext(dataTable, config, selectionName) {
|
|
6
6
|
const chartTypeDefinition = useChartTypeDefinition(config.chartType);
|
|
7
7
|
return useMemo(() => {
|
|
8
8
|
if (!chartTypeDefinition) {
|
|
9
9
|
return {
|
|
10
10
|
type: 'error',
|
|
11
|
-
|
|
12
|
-
message: 'Invalid chart type definition',
|
|
11
|
+
error: new Error(`Invalid chart type definition`),
|
|
13
12
|
};
|
|
14
13
|
}
|
|
15
14
|
if (!dataTable) {
|
|
16
15
|
return {
|
|
17
16
|
type: 'error',
|
|
18
|
-
|
|
19
|
-
message: 'Please select a data table first',
|
|
17
|
+
error: new Error('Data table is required to render the chart'),
|
|
20
18
|
};
|
|
21
19
|
}
|
|
22
20
|
if (isSpecChartType(chartTypeDefinition)) {
|
|
23
|
-
return createMosaicSpecChartRenderContext(chartTypeDefinition, dataTable, config.settings);
|
|
21
|
+
return createMosaicSpecChartRenderContext(chartTypeDefinition, dataTable, config.settings, selectionName);
|
|
24
22
|
}
|
|
25
23
|
if (isComponentChartType(chartTypeDefinition)) {
|
|
26
24
|
return {
|
|
@@ -31,14 +29,17 @@ export function useMosaicChartRenderContext(dataTable, config) {
|
|
|
31
29
|
}
|
|
32
30
|
return {
|
|
33
31
|
type: 'error',
|
|
34
|
-
|
|
35
|
-
message: 'Unsupported chart type definition',
|
|
32
|
+
error: new Error('Unsupported chart type definition'),
|
|
36
33
|
};
|
|
37
|
-
}, [chartTypeDefinition, dataTable, config]);
|
|
34
|
+
}, [chartTypeDefinition, dataTable, config, selectionName]);
|
|
38
35
|
}
|
|
39
|
-
function createMosaicSpecChartRenderContext(chartTypeDefinition, dataTable, settings) {
|
|
36
|
+
function createMosaicSpecChartRenderContext(chartTypeDefinition, dataTable, settings, selectionName) {
|
|
40
37
|
try {
|
|
41
|
-
const spec = chartTypeDefinition.createSpec(
|
|
38
|
+
const spec = chartTypeDefinition.createSpec({
|
|
39
|
+
dataTable,
|
|
40
|
+
settings,
|
|
41
|
+
selectionName,
|
|
42
|
+
});
|
|
42
43
|
return {
|
|
43
44
|
type: 'spec',
|
|
44
45
|
spec,
|
|
@@ -49,14 +50,13 @@ function createMosaicSpecChartRenderContext(chartTypeDefinition, dataTable, sett
|
|
|
49
50
|
// ChartSpecError is expected as part of validation logic, don't log
|
|
50
51
|
return {
|
|
51
52
|
type: 'error',
|
|
52
|
-
|
|
53
|
-
message: error.message,
|
|
53
|
+
error,
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
|
+
console.error('Unexpected error creating chart spec:', error);
|
|
56
57
|
return {
|
|
57
58
|
type: 'error',
|
|
58
|
-
|
|
59
|
-
message: 'An unexpected error occurred',
|
|
59
|
+
error: new Error('An unexpected error occurred while creating the chart spec'),
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMosaicChartRenderContext.js","sourceRoot":"","sources":["../../src/charts/useMosaicChartRenderContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAEL,oBAAoB,EACpB,eAAe,GAEhB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"useMosaicChartRenderContext.js","sourceRoot":"","sources":["../../src/charts/useMosaicChartRenderContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAEL,oBAAoB,EACpB,eAAe,GAEhB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAwBhE,MAAM,UAAU,2BAA2B,CACzC,SAAgC,EAChC,MAAmB,EACnB,aAAsB;IAEtB,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAErE,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI,KAAK,CAAC,+BAA+B,CAAC;aAClD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI,KAAK,CAAC,4CAA4C,CAAC;aAC/D,CAAC;QACJ,CAAC;QAED,IAAI,eAAe,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACzC,OAAO,kCAAkC,CACvC,mBAAmB,EACnB,SAAS,EACT,MAAM,CAAC,QAAQ,EACf,aAAa,CACd,CAAC;QACJ,CAAC;QAED,IAAI,oBAAoB,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC9C,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;gBACtC,SAAS;aACV,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,KAAK,CAAC,mCAAmC,CAAC;SACtD,CAAC;IACJ,CAAC,EAAE,CAAC,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,kCAAkC,CACzC,mBAAqD,EACrD,SAAoB,EACpB,QAAuB,EACvB,aAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,mBAAmB,CAAC,UAAU,CAAC;YAC1C,SAAS;YACT,QAAQ;YACR,aAAa;SACd,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI;SACL,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;YACpC,oEAAoE;YACpE,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK;aACN,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAE9D,OAAO;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,KAAK,CACd,4DAA4D,CAC7D;SACF,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import {useMemo} from 'react';\nimport type {Spec} from '@uwdata/mosaic-spec';\nimport {ChartSpecError} from './chart-types/errors';\nimport type {ChartConfig, ChartSettings} from './chart-types/chart-config';\nimport {\n ComponentChartTypeDefinition,\n isComponentChartType,\n isSpecChartType,\n SpecChartTypeDefinition,\n} from './chart-types/base-types';\nimport {useChartTypeDefinition} from './useChartTypeDefinition';\nimport {DataTable} from '@sqlrooms/db';\n\nexport type MosaicComponentChartRenderContext = {\n type: 'component';\n renderer: ComponentChartTypeDefinition['renderer'];\n dataTable: DataTable;\n};\n\nexport type MosaicSpecChartRenderContext = {\n type: 'spec';\n spec: Spec;\n};\n\nexport type MosaicChartRenderErrorContext = {\n type: 'error';\n error: Error;\n};\n\nexport type MosaicChartRenderContext =\n | MosaicComponentChartRenderContext\n | MosaicSpecChartRenderContext\n | MosaicChartRenderErrorContext;\n\nexport function useMosaicChartRenderContext(\n dataTable: DataTable | undefined,\n config: ChartConfig,\n selectionName?: string,\n): MosaicChartRenderContext {\n const chartTypeDefinition = useChartTypeDefinition(config.chartType);\n\n return useMemo(() => {\n if (!chartTypeDefinition) {\n return {\n type: 'error',\n error: new Error(`Invalid chart type definition`),\n };\n }\n\n if (!dataTable) {\n return {\n type: 'error',\n error: new Error('Data table is required to render the chart'),\n };\n }\n\n if (isSpecChartType(chartTypeDefinition)) {\n return createMosaicSpecChartRenderContext(\n chartTypeDefinition,\n dataTable,\n config.settings,\n selectionName,\n );\n }\n\n if (isComponentChartType(chartTypeDefinition)) {\n return {\n type: 'component',\n renderer: chartTypeDefinition.renderer,\n dataTable,\n };\n }\n\n return {\n type: 'error',\n error: new Error('Unsupported chart type definition'),\n };\n }, [chartTypeDefinition, dataTable, config, selectionName]);\n}\n\nfunction createMosaicSpecChartRenderContext<TConfig extends ChartConfig>(\n chartTypeDefinition: SpecChartTypeDefinition<TConfig>,\n dataTable: DataTable,\n settings: ChartSettings,\n selectionName?: string,\n): MosaicSpecChartRenderContext | MosaicChartRenderErrorContext {\n try {\n const spec = chartTypeDefinition.createSpec({\n dataTable,\n settings,\n selectionName,\n });\n\n return {\n type: 'spec',\n spec,\n };\n } catch (error) {\n if (error instanceof ChartSpecError) {\n // ChartSpecError is expected as part of validation logic, don't log\n return {\n type: 'error',\n error,\n };\n }\n\n console.error('Unexpected error creating chart spec:', error);\n\n return {\n type: 'error',\n error: new Error(\n 'An unexpected error occurred while creating the chart spec',\n ),\n };\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartBlockHeader.d.ts","sourceRoot":"","sources":["../../../src/charts/worksheet/ChartBlockHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"ChartBlockHeader.d.ts","sourceRoot":"","sources":["../../../src/charts/worksheet/ChartBlockHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAC,EAAE,EAAC,MAAM,OAAO,CAAC;AAKzB,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACxD,oBAAoB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,aAAa,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAmCtD,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { Settings2Icon } from 'lucide-react';
|
|
2
|
+
import { cn } from '@sqlrooms/ui';
|
|
4
3
|
import { DataTableSelector } from '../../components/DataTableSelector';
|
|
4
|
+
import { MosaicChartSettingsButton } from '../MosaicChartSettingsButton';
|
|
5
|
+
import { BlockCaptionEditor } from '../../components/BlockCaptionEditor';
|
|
5
6
|
export const ChartBlockHeader = ({ caption, chartConfig, onCaptionChange, onSettingsOpenChange, onTableChange, readOnly, selectedTable, tables, }) => {
|
|
6
7
|
const tableName = selectedTable.table.table;
|
|
7
|
-
return (_jsxs("div", { className: "border-border flex min-h-10 items-center gap-2 border-b px-3 py-2", children: [
|
|
8
|
+
return (_jsxs("div", { className: "border-border flex min-h-10 items-center gap-2 border-b px-3 py-2", children: [_jsx(BlockCaptionEditor, { value: caption ?? '', placeholder: tableName || 'Chart caption', isReadOnly: readOnly, onChange: (value) => onCaptionChange?.(value || undefined) }), _jsx(DataTableSelector, { disabled: readOnly || !onTableChange, onChange: onTableChange, tables: tables, value: selectedTable }), _jsx(MosaicChartSettingsButton, { className: cn('h-8 w-8', { hidden: readOnly }), isSettingsOpen: chartConfig.settingsOpen, onToggleSettings: () => onSettingsOpenChange(!chartConfig.settingsOpen) })] }));
|
|
8
9
|
};
|
|
9
10
|
//# sourceMappingURL=ChartBlockHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartBlockHeader.js","sourceRoot":"","sources":["../../../src/charts/worksheet/ChartBlockHeader.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"ChartBlockHeader.js","sourceRoot":"","sources":["../../../src/charts/worksheet/ChartBlockHeader.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,EAAE,EAAC,MAAM,cAAc,CAAC;AAEhC,OAAO,EAAC,iBAAiB,EAAC,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAC,yBAAyB,EAAC,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAC,kBAAkB,EAAC,MAAM,qCAAqC,CAAC;AAavE,MAAM,CAAC,MAAM,gBAAgB,GAA8B,CAAC,EAC1D,OAAO,EACP,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,aAAa,EACb,MAAM,GACP,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;IAE5C,OAAO,CACL,eAAK,SAAS,EAAC,mEAAmE,aAChF,KAAC,kBAAkB,IACjB,KAAK,EAAE,OAAO,IAAI,EAAE,EACpB,WAAW,EAAE,SAAS,IAAI,eAAe,EACzC,UAAU,EAAE,QAAQ,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,IAAI,SAAS,CAAC,GAC1D,EAEF,KAAC,iBAAiB,IAChB,QAAQ,EAAE,QAAQ,IAAI,CAAC,aAAa,EACpC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,GACpB,EAEF,KAAC,yBAAyB,IACxB,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,EAC5C,cAAc,EAAE,WAAW,CAAC,YAAY,EACxC,gBAAgB,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,GACvE,IACE,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import type {DataTable} from '@sqlrooms/db';\nimport type {ChartConfig} from '../chart-types/chart-config';\nimport {cn} from '@sqlrooms/ui';\nimport {FC} from 'react';\nimport {DataTableSelector} from '../../components/DataTableSelector';\nimport {MosaicChartSettingsButton} from '../MosaicChartSettingsButton';\nimport {BlockCaptionEditor} from '../../components/BlockCaptionEditor';\n\nexport type ChartBlockHeaderProps = {\n caption?: string;\n chartConfig: ChartConfig;\n onCaptionChange?: (caption: string | undefined) => void;\n onSettingsOpenChange: (open: boolean) => void;\n onTableChange?: (table: DataTable) => void;\n readOnly?: boolean;\n tables: DataTable[];\n selectedTable: DataTable;\n};\n\nexport const ChartBlockHeader: FC<ChartBlockHeaderProps> = ({\n caption,\n chartConfig,\n onCaptionChange,\n onSettingsOpenChange,\n onTableChange,\n readOnly,\n selectedTable,\n tables,\n}) => {\n const tableName = selectedTable.table.table;\n\n return (\n <div className=\"border-border flex min-h-10 items-center gap-2 border-b px-3 py-2\">\n <BlockCaptionEditor\n value={caption ?? ''}\n placeholder={tableName || 'Chart caption'}\n isReadOnly={readOnly}\n onChange={(value) => onCaptionChange?.(value || undefined)}\n />\n\n <DataTableSelector\n disabled={readOnly || !onTableChange}\n onChange={onTableChange}\n tables={tables}\n value={selectedTable}\n />\n\n <MosaicChartSettingsButton\n className={cn('h-8 w-8', {hidden: readOnly})}\n isSettingsOpen={chartConfig.settingsOpen}\n onToggleSettings={() => onSettingsOpenChange(!chartConfig.settingsOpen)}\n />\n </div>\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartBlockRenderer.d.ts","sourceRoot":"","sources":["../../../src/charts/worksheet/ChartBlockRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,+BAA+B,EAAC,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAC,EAAE,EAAc,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ChartBlockRenderer.d.ts","sourceRoot":"","sources":["../../../src/charts/worksheet/ChartBlockRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,+BAA+B,EAAC,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAC,EAAE,EAAc,MAAM,OAAO,CAAC;AAgBtC,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,+BAA+B,CAmFlE,CAAC"}
|
|
@@ -2,27 +2,17 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useCallback } from 'react';
|
|
3
3
|
import { MosaicChart } from '../MosaicChart';
|
|
4
4
|
import { useParseChartConfig } from '../useParseChartConfig';
|
|
5
|
-
import { useDataTable } from '
|
|
5
|
+
import { useDataTable } from '@sqlrooms/db';
|
|
6
6
|
import { useTablesWithColumns } from '../../hooks/useTablesWithColumns';
|
|
7
7
|
import { ChartBlockHeader } from './ChartBlockHeader';
|
|
8
8
|
import { ChartSelectorEmptyState } from './ChartSelectorEmptyState';
|
|
9
|
-
function getBlockDocumentChartSelectionName({ documentId, blockId, selectionGroupId, }) {
|
|
10
|
-
return selectionGroupId
|
|
11
|
-
? `worksheet:${documentId}:chart-group:${selectionGroupId}:brush`
|
|
12
|
-
: `worksheet:${documentId}:chart-block:${blockId}:brush`;
|
|
13
|
-
}
|
|
14
9
|
function getBlockDocumentChartRuntimeKey({ documentId, blockId, }) {
|
|
15
10
|
return `worksheet:${documentId}:chart-block:${blockId}`;
|
|
16
11
|
}
|
|
17
|
-
export const ChartBlockRenderer = ({ documentId, blockId, tableName, config,
|
|
12
|
+
export const ChartBlockRenderer = ({ documentId, blockId, tableName, config, caption, readOnly, onTableNameChange, onConfigChange, onCaptionChange, }) => {
|
|
18
13
|
const tables = useTablesWithColumns();
|
|
19
14
|
const selectedTable = useDataTable(tableName);
|
|
20
15
|
const parseChartConfigResult = useParseChartConfig(config);
|
|
21
|
-
const selectionName = getBlockDocumentChartSelectionName({
|
|
22
|
-
documentId,
|
|
23
|
-
blockId,
|
|
24
|
-
selectionGroupId,
|
|
25
|
-
});
|
|
26
16
|
const runtimeKey = getBlockDocumentChartRuntimeKey({ documentId, blockId });
|
|
27
17
|
const handleSettingsOpenChange = useCallback((settingsOpen) => {
|
|
28
18
|
if (parseChartConfigResult.success) {
|
|
@@ -42,6 +32,6 @@ export const ChartBlockRenderer = ({ documentId, blockId, tableName, config, sel
|
|
|
42
32
|
return (_jsxs("div", { className: "text-muted-foreground flex h-full items-center justify-center text-sm", children: ["Invalid chart configuration: ", parseChartConfigResult.error] }));
|
|
43
33
|
}
|
|
44
34
|
const chartConfig = parseChartConfigResult.config;
|
|
45
|
-
return (_jsxs("div", { className: "flex h-105 min-h-80 flex-col", children: [_jsx(ChartBlockHeader, { caption: caption, chartConfig: chartConfig, selectedTable: selectedTable, onCaptionChange: onCaptionChange, onSettingsOpenChange: handleSettingsOpenChange, onTableChange: handleTableChange, readOnly: readOnly, tables: tables }), _jsx("div", { className: "min-h-0 flex-1", children: _jsx(MosaicChart, { dataTable: selectedTable,
|
|
35
|
+
return (_jsxs("div", { className: "flex h-105 min-h-80 flex-col", children: [_jsx(ChartBlockHeader, { caption: caption, chartConfig: chartConfig, selectedTable: selectedTable, onCaptionChange: onCaptionChange, onSettingsOpenChange: handleSettingsOpenChange, onTableChange: handleTableChange, readOnly: readOnly, tables: tables }), _jsx("div", { className: "min-h-0 flex-1", children: _jsx(MosaicChart, { dataTable: selectedTable, config: chartConfig, runtimeKey: runtimeKey, onConfigChange: handleConfigChange }) })] }));
|
|
46
36
|
};
|
|
47
37
|
//# sourceMappingURL=ChartBlockRenderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartBlockRenderer.js","sourceRoot":"","sources":["../../../src/charts/worksheet/ChartBlockRenderer.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAK,WAAW,EAAC,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"ChartBlockRenderer.js","sourceRoot":"","sources":["../../../src/charts/worksheet/ChartBlockRenderer.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAK,WAAW,EAAC,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAC,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAElE,SAAS,+BAA+B,CAAC,EACvC,UAAU,EACV,OAAO,GACyD;IAChE,OAAO,aAAa,UAAU,gBAAgB,OAAO,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAwC,CAAC,EACtE,UAAU,EACV,OAAO,EACP,SAAS,EACT,MAAM,EACN,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAE9C,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE3D,MAAM,UAAU,GAAG,+BAA+B,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,CAAC,CAAC;IAE1E,MAAM,wBAAwB,GAAG,WAAW,CAC1C,CAAC,YAAqB,EAAE,EAAE;QACxB,IAAI,sBAAsB,CAAC,OAAO,EAAE,CAAC;YACnC,cAAc,EAAE,CAAC,EAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,EACD,CAAC,sBAAsB,EAAE,cAAc,CAAC,CACzC,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,UAAuB,EAAE,EAAE;QAC1B,cAAc,EAAE,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,KAAgB,EAAE,EAAE;QACnB,iBAAiB,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC,EACD,CAAC,iBAAiB,CAAC,CACpB,CAAC;IAEF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CACL,KAAC,uBAAuB,IACtB,QAAQ,EAAE,QAAQ,IAAI,CAAC,iBAAiB,EACxC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,MAAM,GACd,CACH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC;QACpC,OAAO,CACL,eAAK,SAAS,EAAC,uEAAuE,8CACtD,sBAAsB,CAAC,KAAK,IACtD,CACP,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC;IAElD,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,gBAAgB,IACf,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,wBAAwB,EAC9C,aAAa,EAAE,iBAAiB,EAChC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,GACd,EACF,cAAK,SAAS,EAAC,gBAAgB,YAC7B,KAAC,WAAW,IACV,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,kBAAkB,GAClC,GACE,IACF,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import type {DataTable} from '@sqlrooms/db';\nimport type {BlockDocumentChartRendererProps} from '@sqlrooms/documents';\nimport {FC, useCallback} from 'react';\nimport type {ChartConfig} from '../chart-types/chart-config';\nimport {MosaicChart} from '../MosaicChart';\nimport {useParseChartConfig} from '../useParseChartConfig';\nimport {useDataTable} from '@sqlrooms/db';\nimport {useTablesWithColumns} from '../../hooks/useTablesWithColumns';\nimport {ChartBlockHeader} from './ChartBlockHeader';\nimport {ChartSelectorEmptyState} from './ChartSelectorEmptyState';\n\nfunction getBlockDocumentChartRuntimeKey({\n documentId,\n blockId,\n}: Pick<BlockDocumentChartRendererProps, 'documentId' | 'blockId'>) {\n return `worksheet:${documentId}:chart-block:${blockId}`;\n}\n\nexport const ChartBlockRenderer: FC<BlockDocumentChartRendererProps> = ({\n documentId,\n blockId,\n tableName,\n config,\n caption,\n readOnly,\n onTableNameChange,\n onConfigChange,\n onCaptionChange,\n}) => {\n const tables = useTablesWithColumns();\n const selectedTable = useDataTable(tableName);\n\n const parseChartConfigResult = useParseChartConfig(config);\n\n const runtimeKey = getBlockDocumentChartRuntimeKey({documentId, blockId});\n\n const handleSettingsOpenChange = useCallback(\n (settingsOpen: boolean) => {\n if (parseChartConfigResult.success) {\n onConfigChange?.({...parseChartConfigResult.config, settingsOpen});\n }\n },\n [parseChartConfigResult, onConfigChange],\n );\n\n const handleConfigChange = useCallback(\n (nextConfig: ChartConfig) => {\n onConfigChange?.(nextConfig);\n },\n [onConfigChange],\n );\n\n const handleTableChange = useCallback(\n (table: DataTable) => {\n onTableNameChange?.(table.table.toString());\n },\n [onTableNameChange],\n );\n\n if (!selectedTable) {\n return (\n <ChartSelectorEmptyState\n disabled={readOnly || !onTableNameChange}\n onChange={handleTableChange}\n tables={tables}\n />\n );\n }\n\n if (!parseChartConfigResult.success) {\n return (\n <div className=\"text-muted-foreground flex h-full items-center justify-center text-sm\">\n Invalid chart configuration: {parseChartConfigResult.error}\n </div>\n );\n }\n\n const chartConfig = parseChartConfigResult.config;\n\n return (\n <div className=\"flex h-105 min-h-80 flex-col\">\n <ChartBlockHeader\n caption={caption}\n chartConfig={chartConfig}\n selectedTable={selectedTable}\n onCaptionChange={onCaptionChange}\n onSettingsOpenChange={handleSettingsOpenChange}\n onTableChange={handleTableChange}\n readOnly={readOnly}\n tables={tables}\n />\n <div className=\"min-h-0 flex-1\">\n <MosaicChart\n dataTable={selectedTable}\n config={chartConfig}\n runtimeKey={runtimeKey}\n onConfigChange={handleConfigChange}\n />\n </div>\n </div>\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-types-utils.d.ts","sourceRoot":"","sources":["../src/column-types-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"column-types-utils.d.ts","sourceRoot":"","sources":["../src/column-types-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,eAAO,MAAM,oBAAoB,UAgBhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAQjC,CAAC;AAEF,eAAO,MAAM,yBAAyB,UAGrC,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAAsC,CAAC;AAE5E,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE7D"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Column type constants for chart field type filtering
|
|
3
3
|
*/
|
|
4
|
+
/**
|
|
5
|
+
* Normalizes DuckDB column types by removing parameter lists.
|
|
6
|
+
* E.g., "DECIMAL(10,2)" → "DECIMAL", "VARCHAR(255)" → "VARCHAR"
|
|
7
|
+
*/
|
|
8
|
+
function normalizeColumnType(columnType) {
|
|
9
|
+
const parenIndex = columnType.indexOf('(');
|
|
10
|
+
return parenIndex === -1 ? columnType : columnType.substring(0, parenIndex);
|
|
11
|
+
}
|
|
4
12
|
export const NUMERIC_COLUMN_TYPES = [
|
|
5
13
|
'BIGINT',
|
|
6
14
|
'BIT',
|
|
@@ -33,15 +41,15 @@ export const QUANTITATIVE_COLUMN_TYPES = [
|
|
|
33
41
|
];
|
|
34
42
|
export const CATEGORICAL_COLUMN_TYPES = ['VARCHAR', 'TEXT', 'BLOB', 'ENUM'];
|
|
35
43
|
export function isTemporalType(columnType) {
|
|
36
|
-
return TEMPORAL_COLUMN_TYPES.includes(columnType);
|
|
44
|
+
return TEMPORAL_COLUMN_TYPES.includes(normalizeColumnType(columnType));
|
|
37
45
|
}
|
|
38
46
|
export function isQuantitativeType(columnType) {
|
|
39
|
-
return QUANTITATIVE_COLUMN_TYPES.includes(columnType);
|
|
47
|
+
return QUANTITATIVE_COLUMN_TYPES.includes(normalizeColumnType(columnType));
|
|
40
48
|
}
|
|
41
49
|
export function isNumericType(columnType) {
|
|
42
|
-
return NUMERIC_COLUMN_TYPES.includes(columnType);
|
|
50
|
+
return NUMERIC_COLUMN_TYPES.includes(normalizeColumnType(columnType));
|
|
43
51
|
}
|
|
44
52
|
export function isCategoricalType(columnType) {
|
|
45
|
-
return CATEGORICAL_COLUMN_TYPES.includes(columnType);
|
|
53
|
+
return CATEGORICAL_COLUMN_TYPES.includes(normalizeColumnType(columnType));
|
|
46
54
|
}
|
|
47
55
|
//# sourceMappingURL=column-types-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-types-utils.js","sourceRoot":"","sources":["../src/column-types-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,QAAQ;IACR,KAAK;IACL,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,MAAM;IACN,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,WAAW;IACX,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM;IACN,MAAM;IACN,WAAW;IACX,cAAc;IACd,cAAc;IACd,aAAa;IACb,aAAa;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,GAAG,oBAAoB;IACvB,GAAG,qBAAqB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5E,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC/C,OAAO,qBAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"column-types-utils.js","sourceRoot":"","sources":["../src/column-types-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,QAAQ;IACR,KAAK;IACL,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,MAAM;IACN,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,WAAW;IACX,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM;IACN,MAAM;IACN,WAAW;IACX,cAAc;IACd,cAAc;IACd,aAAa;IACb,aAAa;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,GAAG,oBAAoB;IACvB,GAAG,qBAAqB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5E,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC/C,OAAO,qBAAqB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,OAAO,yBAAyB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC9C,OAAO,oBAAoB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,OAAO,wBAAwB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;AAC5E,CAAC","sourcesContent":["/**\n * Column type constants for chart field type filtering\n */\n\n/**\n * Normalizes DuckDB column types by removing parameter lists.\n * E.g., \"DECIMAL(10,2)\" → \"DECIMAL\", \"VARCHAR(255)\" → \"VARCHAR\"\n */\nfunction normalizeColumnType(columnType: string): string {\n const parenIndex = columnType.indexOf('(');\n return parenIndex === -1 ? columnType : columnType.substring(0, parenIndex);\n}\n\nexport const NUMERIC_COLUMN_TYPES = [\n 'BIGINT',\n 'BIT',\n 'DECIMAL',\n 'DOUBLE',\n 'FLOAT',\n 'HUGEINT',\n 'INTEGER',\n 'REAL',\n 'SMALLINT',\n 'TINYINT',\n 'UBIGINT',\n 'UHUGEINT',\n 'UINTEGER',\n 'USMALLINT',\n 'UTINYINT',\n];\n\nexport const TEMPORAL_COLUMN_TYPES = [\n 'DATE',\n 'TIME',\n 'TIMESTAMP',\n 'TIMESTAMP_MS',\n 'TIMESTAMP_NS',\n 'TIMESTAMP_S',\n 'TIMESTAMPTZ',\n];\n\nexport const QUANTITATIVE_COLUMN_TYPES = [\n ...NUMERIC_COLUMN_TYPES,\n ...TEMPORAL_COLUMN_TYPES,\n];\n\nexport const CATEGORICAL_COLUMN_TYPES = ['VARCHAR', 'TEXT', 'BLOB', 'ENUM'];\n\nexport function isTemporalType(columnType: string): boolean {\n return TEMPORAL_COLUMN_TYPES.includes(normalizeColumnType(columnType));\n}\n\nexport function isQuantitativeType(columnType: string): boolean {\n return QUANTITATIVE_COLUMN_TYPES.includes(normalizeColumnType(columnType));\n}\n\nexport function isNumericType(columnType: string): boolean {\n return NUMERIC_COLUMN_TYPES.includes(normalizeColumnType(columnType));\n}\n\nexport function isCategoricalType(columnType: string): boolean {\n return CATEGORICAL_COLUMN_TYPES.includes(normalizeColumnType(columnType));\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggregationSelector.d.ts","sourceRoot":"","sources":["../../src/components/AggregationSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,EAAE,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AggregationSelector.d.ts","sourceRoot":"","sources":["../../src/components/AggregationSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,EAAE,EAAC,MAAM,OAAO,CAAC;AAE9B,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC9C;AASD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CAoB5D,CAAC"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { Combobox } from '@sqlrooms/ui';
|
|
3
|
+
const AGGREGATION_OPTIONS = [
|
|
4
|
+
{ value: 'sum', label: 'SUM' },
|
|
5
|
+
{ value: 'avg', label: 'AVG' },
|
|
6
|
+
{ value: 'min', label: 'MIN' },
|
|
7
|
+
{ value: 'max', label: 'MAX' },
|
|
8
|
+
];
|
|
3
9
|
/**
|
|
4
10
|
* Dropdown for selecting an aggregation function (SUM, AVG, MIN, MAX).
|
|
5
11
|
*/
|
|
6
12
|
export const AggregationSelector = ({ value, onChange, }) => {
|
|
7
|
-
|
|
13
|
+
const selectedOption = AGGREGATION_OPTIONS.find((opt) => opt.value === value);
|
|
14
|
+
return (_jsxs(Combobox, { value: value, onChange: onChange, children: [_jsx(Combobox.Trigger, { className: "w-[100px] shadow-none", children: _jsx("span", { children: selectedOption?.label ?? value.toUpperCase() }) }), _jsx(Combobox.Content, { children: AGGREGATION_OPTIONS.map((option) => (_jsx(Combobox.Item, { value: option.value, children: _jsx("span", { className: "text-xs", children: option.label }) }, option.value))) })] }));
|
|
8
15
|
};
|
|
9
16
|
//# sourceMappingURL=AggregationSelector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggregationSelector.js","sourceRoot":"","sources":["../../src/components/AggregationSelector.tsx"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"AggregationSelector.js","sourceRoot":"","sources":["../../src/components/AggregationSelector.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAQtC,MAAM,mBAAmB,GAAG;IAC1B,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC;IAC5B,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC;IAC5B,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC;IAC5B,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC;CACpB,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,EAChE,KAAK,EACL,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAE9E,OAAO,CACL,MAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,aACxC,KAAC,QAAQ,CAAC,OAAO,IAAC,SAAS,EAAC,uBAAuB,YACjD,yBAAO,cAAc,EAAE,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,GAAQ,GAC1C,EACnB,KAAC,QAAQ,CAAC,OAAO,cACd,mBAAmB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACnC,KAAC,QAAQ,CAAC,IAAI,IAAoB,KAAK,EAAE,MAAM,CAAC,KAAK,YACnD,eAAM,SAAS,EAAC,SAAS,YAAE,MAAM,CAAC,KAAK,GAAQ,IAD7B,MAAM,CAAC,KAAK,CAEhB,CACjB,CAAC,GACe,IACV,CACZ,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import type {FC} from 'react';\nimport {Combobox} from '@sqlrooms/ui';\nimport type {AggregateFunction} from '../schemas';\n\nexport interface AggregationSelectorProps {\n value: AggregateFunction;\n onChange: (value: AggregateFunction) => void;\n}\n\nconst AGGREGATION_OPTIONS = [\n {value: 'sum', label: 'SUM'},\n {value: 'avg', label: 'AVG'},\n {value: 'min', label: 'MIN'},\n {value: 'max', label: 'MAX'},\n] as const;\n\n/**\n * Dropdown for selecting an aggregation function (SUM, AVG, MIN, MAX).\n */\nexport const AggregationSelector: FC<AggregationSelectorProps> = ({\n value,\n onChange,\n}) => {\n const selectedOption = AGGREGATION_OPTIONS.find((opt) => opt.value === value);\n\n return (\n <Combobox value={value} onChange={onChange}>\n <Combobox.Trigger className=\"w-[100px] shadow-none\">\n <span>{selectedOption?.label ?? value.toUpperCase()}</span>\n </Combobox.Trigger>\n <Combobox.Content>\n {AGGREGATION_OPTIONS.map((option) => (\n <Combobox.Item key={option.value} value={option.value}>\n <span className=\"text-xs\">{option.label}</span>\n </Combobox.Item>\n ))}\n </Combobox.Content>\n </Combobox>\n );\n};\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
type BlockCaptionEditorProps = {
|
|
3
|
+
className?: string;
|
|
4
|
+
value?: string;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
isReadOnly?: boolean;
|
|
7
|
+
onChange: (value: string) => void;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Editable caption field for blocks (charts, queries, etc.).
|
|
11
|
+
*
|
|
12
|
+
* @param value - Current caption text
|
|
13
|
+
* @param className - Optional CSS class name
|
|
14
|
+
* @param placeholder - Placeholder text when empty
|
|
15
|
+
* @param isReadOnly - Whether the caption is editable
|
|
16
|
+
* @param onChange - Callback when caption changes
|
|
17
|
+
*/
|
|
18
|
+
export declare const BlockCaptionEditor: FC<BlockCaptionEditorProps>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=BlockCaptionEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockCaptionEditor.d.ts","sourceRoot":"","sources":["../../src/components/BlockCaptionEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,OAAO,CAAC;AAGzB,KAAK,uBAAuB,GAAG;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CAgB1D,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn, EditableText } from '@sqlrooms/ui';
|
|
3
|
+
/**
|
|
4
|
+
* Editable caption field for blocks (charts, queries, etc.).
|
|
5
|
+
*
|
|
6
|
+
* @param value - Current caption text
|
|
7
|
+
* @param className - Optional CSS class name
|
|
8
|
+
* @param placeholder - Placeholder text when empty
|
|
9
|
+
* @param isReadOnly - Whether the caption is editable
|
|
10
|
+
* @param onChange - Callback when caption changes
|
|
11
|
+
*/
|
|
12
|
+
export const BlockCaptionEditor = ({ value, className, placeholder, isReadOnly, onChange, }) => {
|
|
13
|
+
return (_jsx(EditableText, { className: cn('h-8 min-w-0 flex-1 text-sm font-medium', className), value: value ?? '', placeholder: placeholder, isReadOnly: isReadOnly, onChange: onChange }));
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=BlockCaptionEditor.js.map
|