drizzle-cube 0.6.6 → 0.7.0
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/README.md +231 -106
- package/dist/adapters/ActivityGridChart.config-DaYILvFZ.cjs +1 -0
- package/dist/adapters/ActivityGridChart.config-_SyTBEyR.js +2 -0
- package/dist/adapters/AreaChart.config-BKh6fY1_.cjs +1 -0
- package/dist/adapters/AreaChart.config-CJoxLP3Y.js +2 -0
- package/dist/adapters/BarChart.config-Bm1bfRbI.cjs +1 -0
- package/dist/adapters/BarChart.config-CGu2Bqrx.js +2 -0
- package/dist/adapters/BoxPlotChart.config-B7M9CQaE.js +2 -0
- package/dist/adapters/BoxPlotChart.config-CXQel8Hk.cjs +1 -0
- package/dist/adapters/BubbleChart.config-BJ36IuVS.cjs +1 -0
- package/dist/adapters/BubbleChart.config-CWoXeLdm.js +2 -0
- package/dist/adapters/CandlestickChart.config-CGMLZVIy.cjs +1 -0
- package/dist/adapters/CandlestickChart.config-CzOcfF1e.js +2 -0
- package/dist/adapters/DataTable.config-CdAzueTs.cjs +1 -0
- package/dist/adapters/DataTable.config-D_KmPyxV.js +2 -0
- package/dist/adapters/FunnelChart.config-D1QAUuYl.cjs +1 -0
- package/dist/adapters/FunnelChart.config-DCRHQoFc.js +2 -0
- package/dist/adapters/GaugeChart.config-DAybRXP3.js +2 -0
- package/dist/adapters/GaugeChart.config-WUPfyLP-.cjs +1 -0
- package/dist/adapters/HeatMapChart.config-CziltPnC.cjs +1 -0
- package/dist/adapters/HeatMapChart.config-DHpXNONW.js +2 -0
- package/dist/adapters/KpiDelta.config-Bw5o0ocY.js +2 -0
- package/dist/adapters/KpiDelta.config-CdAmE1pw.cjs +1 -0
- package/dist/adapters/KpiNumber.config-CQ_wq2gx.js +2 -0
- package/dist/adapters/KpiNumber.config-wxN8x4DC.cjs +1 -0
- package/dist/adapters/KpiText.config-DIRIC97F.cjs +1 -0
- package/dist/adapters/KpiText.config-eODcP6Hn.js +2 -0
- package/dist/adapters/LineChart.config-32-9zA2V.js +2 -0
- package/dist/adapters/LineChart.config-BukeFp6z.cjs +1 -0
- package/dist/adapters/MarkdownChart.config-BVsR5LDy.js +2 -0
- package/dist/adapters/MarkdownChart.config-j4veYjcZ.cjs +1 -0
- package/dist/adapters/MeasureProfileChart.config-BRDYx1hw.js +2 -0
- package/dist/adapters/MeasureProfileChart.config-CIosBxco.cjs +1 -0
- package/dist/adapters/PieChart.config-Bj8KiA0n.cjs +1 -0
- package/dist/adapters/PieChart.config-DgAj3y-I.js +2 -0
- package/dist/adapters/ProportionBarChart.config-BfFOppHY.js +2 -0
- package/dist/adapters/ProportionBarChart.config-c8GGE1aK.cjs +1 -0
- package/dist/adapters/RadarChart.config-D7iHY1v9.js +2 -0
- package/dist/adapters/RadarChart.config-ghlANG2-.cjs +1 -0
- package/dist/adapters/RadialBarChart.config-CsXIz-0v.js +2 -0
- package/dist/adapters/RadialBarChart.config-Dsvu2CPV.cjs +1 -0
- package/dist/adapters/RetentionCombinedChart.config-CdT1kXC7.js +2 -0
- package/dist/adapters/RetentionCombinedChart.config-sDjFKH9K.cjs +1 -0
- package/dist/adapters/RetentionHeatmap.config-CvKBvQmu.cjs +1 -0
- package/dist/adapters/RetentionHeatmap.config-DbM3ICwc.js +2 -0
- package/dist/adapters/SankeyChart.config-BNBcIHaD.js +2 -0
- package/dist/adapters/SankeyChart.config-DZscz3kh.cjs +1 -0
- package/dist/adapters/ScatterChart.config-BNYIddyM.cjs +1 -0
- package/dist/adapters/ScatterChart.config-CEhtoLWc.js +2 -0
- package/dist/adapters/SunburstChart.config-ClseCzji.cjs +1 -0
- package/dist/adapters/SunburstChart.config-nnphNoVO.js +2 -0
- package/dist/adapters/TreeMapChart.config-C8-75muA.js +2 -0
- package/dist/adapters/TreeMapChart.config-DoXeUg9Y.cjs +1 -0
- package/dist/adapters/WaterfallChart.config-BOF1qxY3.cjs +1 -0
- package/dist/adapters/WaterfallChart.config-uW5YyOji.js +2 -0
- package/dist/adapters/chartConfigHelpers-BZMu_1EP.cjs +1 -0
- package/dist/adapters/{chartConfigHelpers-CcvqrIWF.js → chartConfigHelpers-BsnbxA2c.js} +30 -1
- package/dist/adapters/compiler-DAyodAnH.cjs +166 -0
- package/dist/adapters/{compiler-ZruQ85ff.js → compiler-Dq04wAjm.js} +116 -60
- package/dist/adapters/core/index.cjs +1 -1
- package/dist/adapters/core/index.js +1 -1
- package/dist/adapters/{core-BMZhIzaI.js → core-BjxfG6Uf.js} +8 -8
- package/dist/adapters/core-zV2w0hO2.cjs +1 -0
- package/dist/adapters/{dist-CH3hwAUk.js → dist-ChBfLb7x.js} +7 -4
- package/dist/adapters/{dist-BOdf-GQO.cjs → dist-CohrBmKe.cjs} +2 -2
- package/dist/adapters/express/index.cjs +1 -1
- package/dist/adapters/express/index.js +5 -5
- package/dist/adapters/fastify/index.cjs +2 -2
- package/dist/adapters/fastify/index.js +10 -6
- package/dist/adapters/google-BhvizbFR.cjs +2 -0
- package/dist/adapters/{google-CvKM9yVM.js → google-eKAc20al.js} +3 -3
- package/dist/adapters/{handler-_PXp3G47.cjs → handler-C6Hj6_Yk.cjs} +9 -9
- package/dist/adapters/{handler-xR2P1EI4.js → handler-ox6qxLw5.js} +230 -152
- package/dist/adapters/hono/index.cjs +1 -1
- package/dist/adapters/hono/index.js +26 -18
- package/dist/adapters/mcp-tools.cjs +1 -1
- package/dist/adapters/mcp-tools.js +2 -2
- package/dist/adapters/mcp-transport-C_t_p0wU.cjs +40 -0
- package/dist/adapters/mcp-transport-DFH9e6de.js +603 -0
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/nextjs/index.js +14 -11
- package/dist/{server/openai-C3-mjSAc.cjs → adapters/openai-BffpdO4n.cjs} +1 -1
- package/dist/adapters/openai-C9LNhHfK.js +9295 -0
- package/dist/adapters/{openai-B6hWZk_r.js → openai-CmyXJWti.js} +18 -17
- package/dist/adapters/openai-DlT-0VRC.cjs +19 -0
- package/dist/adapters/utils-C5FLHK04.cjs +128 -0
- package/dist/adapters/{utils-U7gV5wQL.js → utils-tjiwXFnP.js} +69 -17
- package/dist/adapters/utils.cjs +1 -1
- package/dist/adapters/utils.js +1 -1
- package/dist/cjs/client/charts/chartConfigHelpers.d.ts +20 -0
- package/dist/cjs/client/components/AgenticNotebook/AgentChatPanel.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/ChatInput.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/ChatMessage.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/NotebookCanvas.d.ts +2 -2
- package/dist/cjs/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +1 -1
- package/dist/cjs/client/components/AgenticNotebook/index.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownRow.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/BreakdownSection.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FieldSearchResults.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FlowDepthControls.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FlowModeContent.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FunnelModeContent.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FunnelStepCard.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/FunnelStepList.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/MetricItemCard.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/MetricRow.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/MetricsSection.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +2 -2
- package/dist/cjs/client/components/AnalysisBuilder/RetentionModeContent.d.ts +1 -1
- package/dist/cjs/client/components/AnalysisBuilder/SortToggleButton.d.ts +1 -1
- package/dist/cjs/client/components/DashboardPortletCard.d.ts +1 -1
- package/dist/cjs/client/components/DataBrowser/DataBrowserTable.d.ts +1 -1
- package/dist/cjs/client/components/PortletGroupCard.d.ts +18 -0
- package/dist/cjs/client/components/RowManagedLayout.d.ts +15 -3
- package/dist/cjs/client/components/analyticsPortlet/intrinsicChartHeight.d.ts +9 -0
- package/dist/cjs/client/components/charts/ActivityGridChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/AngledXAxisTick.d.ts +5 -0
- package/dist/cjs/client/components/charts/AreaChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/BarChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/BoxPlotChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/BubbleChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/CandlestickChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/ChartContainer.d.ts +7 -1
- package/dist/cjs/client/components/charts/ChartSummaryHeader.d.ts +31 -0
- package/dist/cjs/client/components/charts/DataTable.d.ts +1 -1
- package/dist/cjs/client/components/charts/FunnelChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/GaugeChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/HeatMapChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/KpiCompactLayout.d.ts +31 -0
- package/dist/cjs/client/components/charts/KpiDelta.d.ts +1 -1
- package/dist/cjs/client/components/charts/KpiDelta.helpers.d.ts +2 -0
- package/dist/cjs/client/components/charts/KpiNumber.d.ts +1 -1
- package/dist/cjs/client/components/charts/KpiStates.d.ts +7 -2
- package/dist/cjs/client/components/charts/KpiText.d.ts +1 -1
- package/dist/cjs/client/components/charts/LineChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/MarkdownChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/MeasureProfileChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/PieChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/ProportionBarChart.config.d.ts +10 -0
- package/dist/cjs/client/components/charts/ProportionBarChart.d.ts +12 -0
- package/dist/cjs/client/components/charts/RadarChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/RadialBarChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/RetentionCombinedChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/RetentionHeatmap.d.ts +1 -1
- package/dist/cjs/client/components/charts/SankeyChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/ScatterChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/SunburstChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/TreeMapChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/WaterfallChart.d.ts +1 -1
- package/dist/cjs/client/components/charts/cartesianChartHelpers.d.ts +62 -0
- package/dist/cjs/client/components/charts/chartScaffolding.d.ts +29 -0
- package/dist/cjs/client/components/dashboard/DashboardContext.d.ts +5 -1
- package/dist/cjs/client/components/dashboard/dashboardGridUtils.d.ts +2 -4
- package/dist/cjs/client/components/dashboardPortletCard/EditActionButtons.d.ts +34 -0
- package/dist/cjs/client/components/dashboardPortletCard/PortletCardHeader.d.ts +2 -12
- package/dist/cjs/client/components/dashboardPortletCard/PortletFloatingActions.d.ts +24 -0
- package/dist/cjs/client/components/dashboardPortletCard/cardStyles.d.ts +5 -0
- package/dist/cjs/client/components/dashboardPortletCard/propsEqual.d.ts +2 -0
- package/dist/cjs/client/components/mobileStackedLayout/memberDisplay.d.ts +21 -0
- package/dist/cjs/client/components.d.ts +1 -1
- package/dist/cjs/client/hooks/dashboard/groupGeometry.d.ts +23 -0
- package/dist/cjs/client/hooks/dashboard/groupUtils.d.ts +57 -0
- package/dist/cjs/client/hooks/dashboard/layoutUtils.d.ts +34 -3
- package/dist/cjs/client/hooks/dashboard/useDashboardController.d.ts +11 -3
- package/dist/cjs/client/hooks/dashboard/useRowLayoutEngine.d.ts +12 -2
- package/dist/cjs/client/hooks/useDashboardHook.d.ts +14 -1
- package/dist/cjs/client/icons/types.d.ts +1 -0
- package/dist/cjs/client/index.d.ts +1 -1
- package/dist/cjs/client/stores/dashboardStore.d.ts +11 -1
- package/dist/cjs/client/types.d.ts +37 -2
- package/dist/cli/index.cjs +6 -5
- package/dist/client/charts/chartConfigHelpers.d.ts +20 -0
- package/dist/client/charts.js +13 -13
- package/dist/client/chunks/DashboardEditModal-ByXLlXZD.js +11777 -0
- package/dist/client/chunks/DashboardEditModal-ByXLlXZD.js.map +1 -0
- package/dist/client/chunks/ProportionBarChart-lOeVz8ZC.js +109 -0
- package/dist/client/chunks/ProportionBarChart-lOeVz8ZC.js.map +1 -0
- package/dist/client/chunks/{RetentionCombinedChart-DY7wKLs5.js → RetentionCombinedChart-Mcm7zHFx.js} +8 -8
- package/dist/client/chunks/{RetentionCombinedChart-DY7wKLs5.js.map → RetentionCombinedChart-Mcm7zHFx.js.map} +1 -1
- package/dist/client/chunks/{RetentionHeatmap-iNCG-dLd.js → RetentionHeatmap-4VJx5KDM.js} +6 -6
- package/dist/client/chunks/{RetentionHeatmap-iNCG-dLd.js.map → RetentionHeatmap-4VJx5KDM.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-BDWychCW.js → analysis-builder-CWTJQQtL.js} +421 -413
- package/dist/client/chunks/analysis-builder-CWTJQQtL.js.map +1 -0
- package/dist/client/chunks/{analysis-builder-shared-DkL0e-wU.js → analysis-builder-shared-l-4WKVS1.js} +454 -452
- package/dist/client/chunks/analysis-builder-shared-l-4WKVS1.js.map +1 -0
- package/dist/client/chunks/{chart-activity-grid-DDqFVWoa.js → chart-activity-grid-DVOhLgxv.js} +61 -6
- package/dist/client/chunks/{chart-activity-grid-DDqFVWoa.js.map → chart-activity-grid-DVOhLgxv.js.map} +1 -1
- package/dist/client/chunks/chart-area-C-5ATxvi.js +963 -0
- package/dist/client/chunks/chart-area-C-5ATxvi.js.map +1 -0
- package/dist/client/chunks/{chart-bar-DAO3PPcE.js → chart-bar-CPiLaXHP.js} +71 -64
- package/dist/client/chunks/chart-bar-CPiLaXHP.js.map +1 -0
- package/dist/client/chunks/{chart-box-plot-CUpFyQQk.js → chart-box-plot-Bae5O9xC.js} +3 -3
- package/dist/client/chunks/{chart-box-plot-CUpFyQQk.js.map → chart-box-plot-Bae5O9xC.js.map} +1 -1
- package/dist/client/chunks/{chart-bubble-DvP_6_n9.js → chart-bubble-BFN5WIpf.js} +5 -5
- package/dist/client/chunks/{chart-bubble-DvP_6_n9.js.map → chart-bubble-BFN5WIpf.js.map} +1 -1
- package/dist/client/chunks/{chart-candlestick-Dx8ZCMzl.js → chart-candlestick-PBQKp_z7.js} +3 -3
- package/dist/client/chunks/{chart-candlestick-Dx8ZCMzl.js.map → chart-candlestick-PBQKp_z7.js.map} +1 -1
- package/dist/client/chunks/{chart-config-activity-grid-BU_bkvER.js → chart-config-activity-grid-C4vXGQNu.js} +2 -2
- package/dist/client/chunks/{chart-config-activity-grid-BU_bkvER.js.map → chart-config-activity-grid-C4vXGQNu.js.map} +1 -1
- package/dist/client/chunks/{chart-config-area-DxwIZ4Uf.js → chart-config-area-DsrZCIwF.js} +35 -4
- package/dist/client/chunks/chart-config-area-DsrZCIwF.js.map +1 -0
- package/dist/client/chunks/{chart-config-bar-Cc8GY9aQ.js → chart-config-bar-BixSs43E.js} +7 -7
- package/dist/client/chunks/{chart-config-bar-Cc8GY9aQ.js.map → chart-config-bar-BixSs43E.js.map} +1 -1
- package/dist/client/chunks/{chart-config-box-plot-Bs8ovYvV.js → chart-config-box-plot-DMuJZqkr.js} +2 -2
- package/dist/client/chunks/{chart-config-box-plot-Bs8ovYvV.js.map → chart-config-box-plot-DMuJZqkr.js.map} +1 -1
- package/dist/client/chunks/{chart-config-bubble-BfgY7pt8.js → chart-config-bubble-1IyZinH0.js} +2 -2
- package/dist/client/chunks/{chart-config-bubble-BfgY7pt8.js.map → chart-config-bubble-1IyZinH0.js.map} +1 -1
- package/dist/client/chunks/{chart-config-candlestick-jaeNNEtC.js → chart-config-candlestick-QwQwJB_-.js} +2 -2
- package/dist/client/chunks/{chart-config-candlestick-jaeNNEtC.js.map → chart-config-candlestick-QwQwJB_-.js.map} +1 -1
- package/dist/client/chunks/{chart-config-data-table-CRk0C0rW.js → chart-config-data-table-CrGyS7aJ.js} +2 -2
- package/dist/client/chunks/{chart-config-data-table-CRk0C0rW.js.map → chart-config-data-table-CrGyS7aJ.js.map} +1 -1
- package/dist/client/chunks/{chart-config-funnel-boT_LNfl.js → chart-config-funnel-DMLLKtPF.js} +2 -2
- package/dist/client/chunks/{chart-config-funnel-boT_LNfl.js.map → chart-config-funnel-DMLLKtPF.js.map} +1 -1
- package/dist/client/chunks/{chart-config-gauge-C5uJEr97.js → chart-config-gauge-DNafFwfS.js} +2 -2
- package/dist/client/chunks/{chart-config-gauge-C5uJEr97.js.map → chart-config-gauge-DNafFwfS.js.map} +1 -1
- package/dist/client/chunks/{chart-config-heat-map-CCarP44-.js → chart-config-heat-map-CJF65SyL.js} +2 -2
- package/dist/client/chunks/{chart-config-heat-map-CCarP44-.js.map → chart-config-heat-map-CJF65SyL.js.map} +1 -1
- package/dist/client/chunks/{chart-config-kpi-delta-DYopvwyG.js → chart-config-kpi-delta-Cl7k6jTj.js} +13 -4
- package/dist/client/chunks/chart-config-kpi-delta-Cl7k6jTj.js.map +1 -0
- package/dist/client/chunks/{chart-config-kpi-number-BhMdoArB.js → chart-config-kpi-number-DCcnANWC.js} +6 -4
- package/dist/client/chunks/chart-config-kpi-number-DCcnANWC.js.map +1 -0
- package/dist/client/chunks/{chart-config-kpi-text-DE6Zdi53.js → chart-config-kpi-text-DnnxvOSA.js} +2 -2
- package/dist/client/chunks/{chart-config-kpi-text-DE6Zdi53.js.map → chart-config-kpi-text-DnnxvOSA.js.map} +1 -1
- package/dist/client/chunks/{chart-config-line-CBfM0Rds.js → chart-config-line-CBF9Px9b.js} +9 -7
- package/dist/client/chunks/chart-config-line-CBF9Px9b.js.map +1 -0
- package/dist/client/chunks/{chart-config-markdown-BCDyBI8K.js → chart-config-markdown-C5kBQOjP.js} +2 -2
- package/dist/client/chunks/{chart-config-markdown-BCDyBI8K.js.map → chart-config-markdown-C5kBQOjP.js.map} +1 -1
- package/dist/client/chunks/{chart-config-measure-profile-BgQIH1u2.js → chart-config-measure-profile-CRSRIpKh.js} +2 -2
- package/dist/client/chunks/{chart-config-measure-profile-BgQIH1u2.js.map → chart-config-measure-profile-CRSRIpKh.js.map} +1 -1
- package/dist/client/chunks/{chart-config-pie-ChfFz6DV.js → chart-config-pie-DZLa6Eqm.js} +3 -3
- package/dist/client/chunks/{chart-config-pie-ChfFz6DV.js.map → chart-config-pie-DZLa6Eqm.js.map} +1 -1
- package/dist/client/chunks/{chart-config-radar-BlAIGnww.js → chart-config-radar-DR6vHHyd.js} +3 -3
- package/dist/client/chunks/{chart-config-radar-BlAIGnww.js.map → chart-config-radar-DR6vHHyd.js.map} +1 -1
- package/dist/client/chunks/{chart-config-radial-bar-VFerwbCO.js → chart-config-radial-bar-DVFou4fB.js} +3 -3
- package/dist/client/chunks/{chart-config-radial-bar-VFerwbCO.js.map → chart-config-radial-bar-DVFou4fB.js.map} +1 -1
- package/dist/client/chunks/{chart-config-sankey-BhrDxIgj.js → chart-config-sankey-De8E0C1A.js} +2 -2
- package/dist/client/chunks/{chart-config-sankey-BhrDxIgj.js.map → chart-config-sankey-De8E0C1A.js.map} +1 -1
- package/dist/client/chunks/{chart-config-scatter-q_olh54e.js → chart-config-scatter-CWA89oX4.js} +2 -2
- package/dist/client/chunks/{chart-config-scatter-q_olh54e.js.map → chart-config-scatter-CWA89oX4.js.map} +1 -1
- package/dist/client/chunks/{chart-config-sunburst-BOmkOnKn.js → chart-config-sunburst-B4NUYHMH.js} +2 -2
- package/dist/client/chunks/{chart-config-sunburst-BOmkOnKn.js.map → chart-config-sunburst-B4NUYHMH.js.map} +1 -1
- package/dist/client/chunks/{chart-config-tree-map-BjX88YBY.js → chart-config-tree-map-Uhise6Bx.js} +3 -3
- package/dist/client/chunks/{chart-config-tree-map-BjX88YBY.js.map → chart-config-tree-map-Uhise6Bx.js.map} +1 -1
- package/dist/client/chunks/{chart-config-waterfall-QsWXVSoF.js → chart-config-waterfall-DlQb_PLh.js} +2 -2
- package/dist/client/chunks/{chart-config-waterfall-QsWXVSoF.js.map → chart-config-waterfall-DlQb_PLh.js.map} +1 -1
- package/dist/client/chunks/{chart-data-table-BP6DMdom.js → chart-data-table-SNSqZj9B.js} +1072 -1034
- package/dist/client/chunks/chart-data-table-SNSqZj9B.js.map +1 -0
- package/dist/client/chunks/{chart-funnel-xeVGBy-p.js → chart-funnel-CkHSXp6h.js} +3 -3
- package/dist/client/chunks/{chart-funnel-xeVGBy-p.js.map → chart-funnel-CkHSXp6h.js.map} +1 -1
- package/dist/client/chunks/{chart-gauge-DXQ4r3cb.js → chart-gauge-DHIGq3TH.js} +62 -62
- package/dist/client/chunks/{chart-gauge-DXQ4r3cb.js.map → chart-gauge-DHIGq3TH.js.map} +1 -1
- package/dist/client/chunks/{chart-heat-map-Pnk6rhqQ.js → chart-heat-map-Bb8L1XQr.js} +4 -4
- package/dist/client/chunks/{chart-heat-map-Pnk6rhqQ.js.map → chart-heat-map-Bb8L1XQr.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-delta-nXQnRRBr.js → chart-kpi-delta-BJCOXE-F.js} +122 -48
- package/dist/client/chunks/chart-kpi-delta-BJCOXE-F.js.map +1 -0
- package/dist/client/chunks/chart-kpi-number-Cdqgv20g.js +263 -0
- package/dist/client/chunks/chart-kpi-number-Cdqgv20g.js.map +1 -0
- package/dist/client/chunks/{chart-kpi-text-CurpqmaD.js → chart-kpi-text-B10ZHCsI.js} +4 -4
- package/dist/client/chunks/{chart-kpi-text-CurpqmaD.js.map → chart-kpi-text-B10ZHCsI.js.map} +1 -1
- package/dist/client/chunks/chart-line-CzvVL3Be.js +117 -0
- package/dist/client/chunks/chart-line-CzvVL3Be.js.map +1 -0
- package/dist/client/chunks/{chart-markdown-BVrqqygz.js → chart-markdown-C0xxBW81.js} +1550 -1349
- package/dist/client/chunks/chart-markdown-C0xxBW81.js.map +1 -0
- package/dist/client/chunks/{chart-measure-profile-k9_QDQbB.js → chart-measure-profile-BSUPFZCR.js} +6 -5
- package/dist/client/chunks/{chart-measure-profile-k9_QDQbB.js.map → chart-measure-profile-BSUPFZCR.js.map} +1 -1
- package/dist/client/chunks/{chart-pie-BDaaYt7a.js → chart-pie-CwRfwWWZ.js} +11 -11
- package/dist/client/chunks/{chart-pie-BDaaYt7a.js.map → chart-pie-CwRfwWWZ.js.map} +1 -1
- package/dist/client/chunks/{chart-radar-Bz07PIVe.js → chart-radar-Dfql2E7i.js} +10 -10
- package/dist/client/chunks/{chart-radar-Bz07PIVe.js.map → chart-radar-Dfql2E7i.js.map} +1 -1
- package/dist/client/chunks/{chart-radial-bar-DpyxKQMj.js → chart-radial-bar-oE9OZ1IX.js} +11 -11
- package/dist/client/chunks/{chart-radial-bar-DpyxKQMj.js.map → chart-radial-bar-oE9OZ1IX.js.map} +1 -1
- package/dist/client/chunks/{chart-sankey-BAeNbI-p.js → chart-sankey-tK7Oz1bC.js} +3 -3
- package/dist/client/chunks/{chart-sankey-BAeNbI-p.js.map → chart-sankey-tK7Oz1bC.js.map} +1 -1
- package/dist/client/chunks/{chart-scatter-CRhGLCcy.js → chart-scatter-BtLfAsZb.js} +10 -10
- package/dist/client/chunks/{chart-scatter-CRhGLCcy.js.map → chart-scatter-BtLfAsZb.js.map} +1 -1
- package/dist/client/chunks/{chart-sunburst-D3wV5OrK.js → chart-sunburst-B7ryWwQ1.js} +4 -4
- package/dist/client/chunks/{chart-sunburst-D3wV5OrK.js.map → chart-sunburst-B7ryWwQ1.js.map} +1 -1
- package/dist/client/chunks/{chart-tree-map-iI3ewOKY.js → chart-tree-map-DU5M3-qe.js} +31 -29
- package/dist/client/chunks/{chart-tree-map-iI3ewOKY.js.map → chart-tree-map-DU5M3-qe.js.map} +1 -1
- package/dist/client/chunks/{chart-waterfall-BrrYTZfs.js → chart-waterfall-CAwutpzd.js} +4 -4
- package/dist/client/chunks/{chart-waterfall-BrrYTZfs.js.map → chart-waterfall-CAwutpzd.js.map} +1 -1
- package/dist/client/chunks/{charts-core-Cs-UIsQa.js → charts-core-BxBB2zBE.js} +2 -2
- package/dist/client/chunks/{charts-core-Cs-UIsQa.js.map → charts-core-BxBB2zBE.js.map} +1 -1
- package/dist/client/chunks/charts-loader-0avVzeDd.js +85 -0
- package/dist/client/chunks/charts-loader-0avVzeDd.js.map +1 -0
- package/dist/client/chunks/{core-D7vPfUIe.js → core-BWRP9s8x.js} +9 -8
- package/dist/client/chunks/core-BWRP9s8x.js.map +1 -0
- package/dist/client/chunks/{dist-BwQr11Fz.js → dist-BPmPx7kz.js} +56 -51
- package/dist/client/chunks/{dist-BwQr11Fz.js.map → dist-BPmPx7kz.js.map} +1 -1
- package/dist/client/chunks/{exceljs.min-Dey-qIFL.js → exceljs.min-DWC_b8G9.js} +236 -202
- package/dist/client/chunks/{exceljs.min-Dey-qIFL.js.map → exceljs.min-DWC_b8G9.js.map} +1 -1
- package/dist/client/chunks/{javascript-DFnKaHmQ.js → javascript-D6aJaG8F.js} +7 -5
- package/dist/client/chunks/javascript-D6aJaG8F.js.map +1 -0
- package/dist/client/chunks/json-BrJhaXJI.js +44 -0
- package/dist/client/chunks/json-BrJhaXJI.js.map +1 -0
- package/dist/client/chunks/{nl-NL-2zTAWTej.js → nl-NL-BSMhprPr.js} +57 -2
- package/dist/client/chunks/{nl-NL-2zTAWTej.js.map → nl-NL-BSMhprPr.js.map} +1 -1
- package/dist/client/chunks/{rolldown-runtime-CWhphoD1.js → rolldown-runtime-DArdT4gl.js} +2 -2
- package/dist/client/chunks/{schema-visualization-BGT_cNon.js → schema-visualization-CGbnbzj_.js} +10 -10
- package/dist/client/chunks/schema-visualization-CGbnbzj_.js.map +1 -0
- package/dist/client/chunks/{syntaxHighlighting-Bq2Bj9Xt.js → syntaxHighlighting-Cm43as8i.js} +2 -2
- package/dist/client/chunks/{syntaxHighlighting-Bq2Bj9Xt.js.map → syntaxHighlighting-Cm43as8i.js.map} +1 -1
- package/dist/client/chunks/{useDebounce-7suCFq9v.js → useDirtyStateTracking-Dc-Si4db.js} +112 -50
- package/dist/client/chunks/useDirtyStateTracking-Dc-Si4db.js.map +1 -0
- package/dist/client/chunks/{useExplainAI-DueJjb0r.js → useExplainAI-DJbc7Lu4.js} +18 -18
- package/dist/client/chunks/{useExplainAI-DueJjb0r.js.map → useExplainAI-DJbc7Lu4.js.map} +1 -1
- package/dist/client/chunks/{utils-DjLiJKS_.js → utils-CToHkuhU.js} +2 -2
- package/dist/client/chunks/{utils-DjLiJKS_.js.map → utils-CToHkuhU.js.map} +1 -1
- package/dist/client/chunks/{vendor-ChnlgSP0.js → vendor-cTfe9Kho.js} +223 -167
- package/dist/client/chunks/vendor-cTfe9Kho.js.map +1 -0
- package/dist/client/components/AgenticNotebook/AgentChatPanel.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/ChatInput.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/ChatMessage.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/NotebookCanvas.d.ts +2 -2
- package/dist/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +1 -1
- package/dist/client/components/AgenticNotebook/index.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/BreakdownRow.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/BreakdownSection.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FieldSearchResults.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FlowDepthControls.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FlowModeContent.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FunnelModeContent.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FunnelStepCard.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FunnelStepList.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/MetricItemCard.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/MetricRow.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/MetricsSection.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +2 -2
- package/dist/client/components/AnalysisBuilder/RetentionModeContent.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/SortToggleButton.d.ts +1 -1
- package/dist/client/components/DashboardPortletCard.d.ts +1 -1
- package/dist/client/components/DataBrowser/DataBrowserTable.d.ts +1 -1
- package/dist/client/components/PortletGroupCard.d.ts +18 -0
- package/dist/client/components/RowManagedLayout.d.ts +15 -3
- package/dist/client/components/analyticsPortlet/intrinsicChartHeight.d.ts +9 -0
- package/dist/client/components/charts/ActivityGridChart.d.ts +1 -1
- package/dist/client/components/charts/AngledXAxisTick.d.ts +5 -0
- package/dist/client/components/charts/AreaChart.d.ts +1 -1
- package/dist/client/components/charts/BarChart.d.ts +1 -1
- package/dist/client/components/charts/BoxPlotChart.d.ts +1 -1
- package/dist/client/components/charts/BubbleChart.d.ts +1 -1
- package/dist/client/components/charts/CandlestickChart.d.ts +1 -1
- package/dist/client/components/charts/ChartContainer.d.ts +7 -1
- package/dist/client/components/charts/ChartSummaryHeader.d.ts +31 -0
- package/dist/client/components/charts/DataTable.d.ts +1 -1
- package/dist/client/components/charts/FunnelChart.d.ts +1 -1
- package/dist/client/components/charts/GaugeChart.d.ts +1 -1
- package/dist/client/components/charts/HeatMapChart.d.ts +1 -1
- package/dist/client/components/charts/KpiCompactLayout.d.ts +31 -0
- package/dist/client/components/charts/KpiDelta.d.ts +1 -1
- package/dist/client/components/charts/KpiDelta.helpers.d.ts +2 -0
- package/dist/client/components/charts/KpiNumber.d.ts +1 -1
- package/dist/client/components/charts/KpiStates.d.ts +7 -2
- package/dist/client/components/charts/KpiText.d.ts +1 -1
- package/dist/client/components/charts/LineChart.d.ts +1 -1
- package/dist/client/components/charts/MarkdownChart.d.ts +1 -1
- package/dist/client/components/charts/MeasureProfileChart.d.ts +1 -1
- package/dist/client/components/charts/PieChart.d.ts +1 -1
- package/dist/client/components/charts/ProportionBarChart.config.d.ts +10 -0
- package/dist/client/components/charts/ProportionBarChart.d.ts +12 -0
- package/dist/client/components/charts/RadarChart.d.ts +1 -1
- package/dist/client/components/charts/RadialBarChart.d.ts +1 -1
- package/dist/client/components/charts/RetentionCombinedChart.d.ts +1 -1
- package/dist/client/components/charts/RetentionHeatmap.d.ts +1 -1
- package/dist/client/components/charts/SankeyChart.d.ts +1 -1
- package/dist/client/components/charts/ScatterChart.d.ts +1 -1
- package/dist/client/components/charts/SunburstChart.d.ts +1 -1
- package/dist/client/components/charts/TreeMapChart.d.ts +1 -1
- package/dist/client/components/charts/WaterfallChart.d.ts +1 -1
- package/dist/client/components/charts/cartesianChartHelpers.d.ts +62 -0
- package/dist/client/components/charts/chartScaffolding.d.ts +29 -0
- package/dist/client/components/dashboard/DashboardContext.d.ts +5 -1
- package/dist/client/components/dashboard/dashboardGridUtils.d.ts +2 -4
- package/dist/client/components/dashboardPortletCard/EditActionButtons.d.ts +34 -0
- package/dist/client/components/dashboardPortletCard/PortletCardHeader.d.ts +2 -12
- package/dist/client/components/dashboardPortletCard/PortletFloatingActions.d.ts +24 -0
- package/dist/client/components/dashboardPortletCard/cardStyles.d.ts +5 -0
- package/dist/client/components/dashboardPortletCard/propsEqual.d.ts +2 -0
- package/dist/client/components/mobileStackedLayout/memberDisplay.d.ts +21 -0
- package/dist/client/components.d.ts +1 -1
- package/dist/client/components.js +3 -4
- package/dist/client/hooks/dashboard/groupGeometry.d.ts +23 -0
- package/dist/client/hooks/dashboard/groupUtils.d.ts +57 -0
- package/dist/client/hooks/dashboard/layoutUtils.d.ts +34 -3
- package/dist/client/hooks/dashboard/useDashboardController.d.ts +11 -3
- package/dist/client/hooks/dashboard/useRowLayoutEngine.d.ts +12 -2
- package/dist/client/hooks/useDashboardHook.d.ts +14 -1
- package/dist/client/hooks.js +4 -5
- package/dist/client/icons/types.d.ts +1 -0
- package/dist/client/icons.js +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.js +48 -49
- package/dist/client/index.js.map +1 -1
- package/dist/client/providers.js +1 -1
- package/dist/client/schema.js +1 -1
- package/dist/client/stores/dashboardStore.d.ts +11 -1
- package/dist/client/styles.css +1 -1
- package/dist/client/styles.d.css.ts +2 -0
- package/dist/client/types.d.ts +37 -2
- package/dist/client/utils.js +13 -9
- package/dist/client/utils.js.map +1 -1
- package/dist/client-bundle-stats.html +388 -33
- package/dist/mcp-app/mcp-app.html +152 -165
- package/dist/server/chartConfigHelpers-BZMu_1EP.cjs +1 -0
- package/dist/server/{chartConfigHelpers-CcvqrIWF.js → chartConfigHelpers-BsnbxA2c.js} +30 -1
- package/dist/server/{dist-CH3hwAUk.js → dist-ChBfLb7x.js} +7 -4
- package/dist/server/{dist-BOdf-GQO.cjs → dist-CohrBmKe.cjs} +2 -2
- package/dist/server/google-BhvizbFR.cjs +2 -0
- package/dist/server/{google-CvKM9yVM.js → google-eKAc20al.js} +3 -3
- package/dist/server/index.cjs +84 -84
- package/dist/server/index.js +2436 -2260
- package/dist/server/openai-CUf4vc3Q.js +9295 -0
- package/dist/server/openai-Cu4TXXjl.cjs +19 -0
- package/dist/server/{openai-B6hWZk_r.js → openai-Czk1BdHa.js} +18 -17
- package/dist/{adapters/openai-C3-mjSAc.cjs → server/openai-DBwI1OSu.cjs} +1 -1
- package/dist/server/rolldown-runtime-B0aSnxlc.js +20 -0
- package/dist/server/rolldown-runtime-DF3sbh8G.cjs +1 -0
- package/package.json +14 -10
- package/dist/adapters/ActivityGridChart.config-BK3hB9co.cjs +0 -1
- package/dist/adapters/ActivityGridChart.config-C-68HsAw.js +0 -2
- package/dist/adapters/AreaChart.config-5G7_E-7u.cjs +0 -1
- package/dist/adapters/AreaChart.config-C7S67Qt4.js +0 -2
- package/dist/adapters/BarChart.config-C6kG_uEt.cjs +0 -1
- package/dist/adapters/BarChart.config-DQcicZYy.js +0 -2
- package/dist/adapters/BoxPlotChart.config-B4xDTwop.js +0 -2
- package/dist/adapters/BoxPlotChart.config-DifAPvo0.cjs +0 -1
- package/dist/adapters/BubbleChart.config-BS2edxZ5.cjs +0 -1
- package/dist/adapters/BubbleChart.config-C5AYou9n.js +0 -2
- package/dist/adapters/CandlestickChart.config-Duknkqyk.js +0 -2
- package/dist/adapters/CandlestickChart.config-jk3ZXIAQ.cjs +0 -1
- package/dist/adapters/DataTable.config-BG_5hx63.cjs +0 -1
- package/dist/adapters/DataTable.config-Bkv6CmFa.js +0 -2
- package/dist/adapters/FunnelChart.config-Dvy0S17e.js +0 -2
- package/dist/adapters/FunnelChart.config-DzqGZgKz.cjs +0 -1
- package/dist/adapters/GaugeChart.config-DAWIU33N.js +0 -2
- package/dist/adapters/GaugeChart.config-DC0NW8XT.cjs +0 -1
- package/dist/adapters/HeatMapChart.config-BlQDS9nY.cjs +0 -1
- package/dist/adapters/HeatMapChart.config-DccGkzHI.js +0 -2
- package/dist/adapters/KpiDelta.config-DvpALT3Z.js +0 -2
- package/dist/adapters/KpiDelta.config-u2AlJkZ3.cjs +0 -1
- package/dist/adapters/KpiNumber.config-CF_LqRh-.cjs +0 -1
- package/dist/adapters/KpiNumber.config-lhEzZOFR.js +0 -2
- package/dist/adapters/KpiText.config-BCYGZdnx.js +0 -2
- package/dist/adapters/KpiText.config-FbnsbjdV.cjs +0 -1
- package/dist/adapters/LineChart.config-B7qWURRH.js +0 -2
- package/dist/adapters/LineChart.config-B9JKd48E.cjs +0 -1
- package/dist/adapters/MarkdownChart.config-BIS9PqHh.js +0 -2
- package/dist/adapters/MarkdownChart.config-BfM9NaQe.cjs +0 -1
- package/dist/adapters/MeasureProfileChart.config-1hh--3nI.js +0 -2
- package/dist/adapters/MeasureProfileChart.config-cmL8wp6a.cjs +0 -1
- package/dist/adapters/PieChart.config-DzzCeT7z.cjs +0 -1
- package/dist/adapters/PieChart.config-aRJJwYx4.js +0 -2
- package/dist/adapters/RadarChart.config-AcZ7kWG8.js +0 -2
- package/dist/adapters/RadarChart.config-CddBTWAo.cjs +0 -1
- package/dist/adapters/RadialBarChart.config-D4qPexJV.cjs +0 -1
- package/dist/adapters/RadialBarChart.config-y-NBkq5N.js +0 -2
- package/dist/adapters/RetentionCombinedChart.config-BkRNE7lX.cjs +0 -1
- package/dist/adapters/RetentionCombinedChart.config-WoX6n6D5.js +0 -2
- package/dist/adapters/RetentionHeatmap.config-ByjWidhh.cjs +0 -1
- package/dist/adapters/RetentionHeatmap.config-DjXLk03y.js +0 -2
- package/dist/adapters/SankeyChart.config-BWO9LszQ.cjs +0 -1
- package/dist/adapters/SankeyChart.config-SuP0jjib.js +0 -2
- package/dist/adapters/ScatterChart.config-Dk1G4Eaj.cjs +0 -1
- package/dist/adapters/ScatterChart.config-DzVXd1ZM.js +0 -2
- package/dist/adapters/SunburstChart.config-Cu4ib4Ui.cjs +0 -1
- package/dist/adapters/SunburstChart.config-_0gUzNs7.js +0 -2
- package/dist/adapters/TreeMapChart.config-DbwYrje4.js +0 -2
- package/dist/adapters/TreeMapChart.config-hM8PukgE.cjs +0 -1
- package/dist/adapters/WaterfallChart.config-CjUHeE8R.js +0 -2
- package/dist/adapters/WaterfallChart.config-Dwxt0kK-.cjs +0 -1
- package/dist/adapters/chartConfigHelpers-DHQB-_v5.cjs +0 -1
- package/dist/adapters/compiler-D0v5KJhv.cjs +0 -166
- package/dist/adapters/core-VK-KVH9q.cjs +0 -1
- package/dist/adapters/google-BOnRIN1w.cjs +0 -2
- package/dist/adapters/mcp-transport-C2v5BTDF.cjs +0 -40
- package/dist/adapters/mcp-transport-CyDBoYEe.js +0 -601
- package/dist/adapters/openai-B1pC8nVM.js +0 -6178
- package/dist/adapters/openai-DQZaHN0V.cjs +0 -18
- package/dist/adapters/utils-CBR-9AMD.cjs +0 -128
- package/dist/client/chunks/ConfirmModal-D6eLc9NO.js +0 -3283
- package/dist/client/chunks/ConfirmModal-D6eLc9NO.js.map +0 -1
- package/dist/client/chunks/DashboardEditModal-9o16JNF0.js +0 -7580
- package/dist/client/chunks/DashboardEditModal-9o16JNF0.js.map +0 -1
- package/dist/client/chunks/analysis-builder-BDWychCW.js.map +0 -1
- package/dist/client/chunks/analysis-builder-shared-DkL0e-wU.js.map +0 -1
- package/dist/client/chunks/chart-area-BHxPNsmc.js +0 -775
- package/dist/client/chunks/chart-area-BHxPNsmc.js.map +0 -1
- package/dist/client/chunks/chart-bar-DAO3PPcE.js.map +0 -1
- package/dist/client/chunks/chart-config-area-DxwIZ4Uf.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-delta-DYopvwyG.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-number-BhMdoArB.js.map +0 -1
- package/dist/client/chunks/chart-config-line-CBfM0Rds.js.map +0 -1
- package/dist/client/chunks/chart-data-table-BP6DMdom.js.map +0 -1
- package/dist/client/chunks/chart-kpi-delta-nXQnRRBr.js.map +0 -1
- package/dist/client/chunks/chart-kpi-number-m8UGJfBr.js +0 -244
- package/dist/client/chunks/chart-kpi-number-m8UGJfBr.js.map +0 -1
- package/dist/client/chunks/chart-line-sJK-cJc0.js +0 -101
- package/dist/client/chunks/chart-line-sJK-cJc0.js.map +0 -1
- package/dist/client/chunks/chart-markdown-BVrqqygz.js.map +0 -1
- package/dist/client/chunks/charts-loader-DAJbAD7a.js +0 -84
- package/dist/client/chunks/charts-loader-DAJbAD7a.js.map +0 -1
- package/dist/client/chunks/core-D7vPfUIe.js.map +0 -1
- package/dist/client/chunks/javascript-DFnKaHmQ.js.map +0 -1
- package/dist/client/chunks/json-Cu6rbgWf.js +0 -38
- package/dist/client/chunks/json-Cu6rbgWf.js.map +0 -1
- package/dist/client/chunks/schema-visualization-BGT_cNon.js.map +0 -1
- package/dist/client/chunks/useDebounce-7suCFq9v.js.map +0 -1
- package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js +0 -66
- package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js.map +0 -1
- package/dist/client/chunks/vendor-ChnlgSP0.js.map +0 -1
- package/dist/server/chartConfigHelpers-DHQB-_v5.cjs +0 -1
- package/dist/server/google-BOnRIN1w.cjs +0 -2
- package/dist/server/openai-B1pC8nVM.js +0 -6178
- package/dist/server/openai-DQZaHN0V.cjs +0 -18
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PortletGroup } from '../../types.js';
|
|
2
|
+
/** Edge of a card a drag can be dropped against. Lives here, not in
|
|
3
|
+
* `groupUtils`, so `layoutUtils` can name it without importing back. */
|
|
4
|
+
export type SnapEdge = 'top' | 'right' | 'bottom' | 'left';
|
|
5
|
+
/**
|
|
6
|
+
* Split `total` integer units across `weights` using largest-remainder, never
|
|
7
|
+
* handing out less than 1. When `total < weights.length` every entry still gets
|
|
8
|
+
* 1 and the result overflows - callers accept that rather than dropping a
|
|
9
|
+
* portlet to zero size.
|
|
10
|
+
*/
|
|
11
|
+
export declare function partitionUnits(total: number, weights: number[]): number[];
|
|
12
|
+
/**
|
|
13
|
+
* Grid-unit rectangle for every portlet in a group, given the rectangle the
|
|
14
|
+
* group itself occupies. Written back onto the portlets so grid mode, the
|
|
15
|
+
* mobile stack and thumbnails keep working without knowing groups exist.
|
|
16
|
+
*/
|
|
17
|
+
export declare function deriveGroupGeometry(group: PortletGroup, x: number, y: number, w: number, h: number): Array<{
|
|
18
|
+
portletId: string;
|
|
19
|
+
x: number;
|
|
20
|
+
y: number;
|
|
21
|
+
w: number;
|
|
22
|
+
h: number;
|
|
23
|
+
}>;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { DashboardGridSettings, PortletConfig, PortletGroup, RowLayout } from '../../types.js';
|
|
2
|
+
import { SnapEdge } from './groupGeometry.js';
|
|
3
|
+
export { deriveGroupGeometry, partitionUnits } from './groupGeometry.js';
|
|
4
|
+
export type { SnapEdge } from './groupGeometry.js';
|
|
5
|
+
export interface GroupLayoutState {
|
|
6
|
+
rows: RowLayout[];
|
|
7
|
+
groups: PortletGroup[];
|
|
8
|
+
}
|
|
9
|
+
/** Where a portlet currently lives within the rows/groups structure. */
|
|
10
|
+
export interface PortletLocation {
|
|
11
|
+
rowIndex: number;
|
|
12
|
+
colIndex: number;
|
|
13
|
+
/** Set when the portlet lives inside a group rather than owning its column. */
|
|
14
|
+
groupId?: string;
|
|
15
|
+
cellIndex?: number;
|
|
16
|
+
stackIndex?: number;
|
|
17
|
+
}
|
|
18
|
+
export declare const createGroupId: () => string;
|
|
19
|
+
/** Portlet ids in visual order: cells along the main axis, stacks within each. */
|
|
20
|
+
export declare const groupPortletIds: (group: PortletGroup) => string[];
|
|
21
|
+
/** Locate a portlet across rows and groups. Returns null when it is unplaced. */
|
|
22
|
+
export declare function findPortletLocation(rows: RowLayout[], groups: PortletGroup[], portletId: string): PortletLocation | null;
|
|
23
|
+
/** Remove a portlet from whichever group holds it. Empty cells/groups are pruned. */
|
|
24
|
+
export declare function removeFromGroup(groups: PortletGroup[], portletId: string): {
|
|
25
|
+
groups: PortletGroup[];
|
|
26
|
+
groupId: string | null;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Reconcile groups against the portlets that exist and the rows that host them.
|
|
30
|
+
*
|
|
31
|
+
* Returns rows as well as groups, because the two are coupled: collapsing a
|
|
32
|
+
* one-portlet group has to rewrite its column back to a plain `portletId`, and
|
|
33
|
+
* pruning a group has to remove its column. **Always run this before
|
|
34
|
+
* `normalizeRows`** - otherwise `normalizeRows` sees a `groupId` column whose
|
|
35
|
+
* group has just been emptied and renders a blank card.
|
|
36
|
+
*/
|
|
37
|
+
export declare function normalizeGroups(groups: PortletGroup[] | undefined, portlets: PortletConfig[], rows: RowLayout[], gridSettings: DashboardGridSettings): GroupLayoutState;
|
|
38
|
+
/**
|
|
39
|
+
* Snap `movedPortletId` against an edge of `targetPortletId`.
|
|
40
|
+
*
|
|
41
|
+
* Left/right build a `row` group, top/bottom a `column` group. When the target
|
|
42
|
+
* is already grouped, a snap along the group's main axis adds a cell, and a
|
|
43
|
+
* perpendicular snap joins the target's stack (the depth-2 clamp).
|
|
44
|
+
*
|
|
45
|
+
* Returns null when the move is a no-op.
|
|
46
|
+
*/
|
|
47
|
+
export declare function snapIntoGroup(state: GroupLayoutState, movedPortletId: string, targetPortletId: string, edge: SnapEdge, gridSettings: DashboardGridSettings): GroupLayoutState | null;
|
|
48
|
+
/**
|
|
49
|
+
* Dissolve a group, replacing its column with one column per member portlet in
|
|
50
|
+
* visual order. The row is re-equalised afterwards.
|
|
51
|
+
*/
|
|
52
|
+
export declare function ungroup(state: GroupLayoutState, groupId: string, gridSettings: DashboardGridSettings): GroupLayoutState;
|
|
53
|
+
/** Remove a group and every portlet id it holds. Callers delete the portlets. */
|
|
54
|
+
export declare function deleteGroup(state: GroupLayoutState, groupId: string, gridSettings: DashboardGridSettings): {
|
|
55
|
+
state: GroupLayoutState;
|
|
56
|
+
removedPortletIds: string[];
|
|
57
|
+
};
|
|
@@ -1,7 +1,38 @@
|
|
|
1
|
-
import { DashboardGridSettings, PortletConfig, RowLayout, RowLayoutColumn } from '../../types.js';
|
|
1
|
+
import { DashboardGridSettings, PortletConfig, PortletGroup, RowLayout, RowLayoutColumn } from '../../types.js';
|
|
2
2
|
export declare const createRowId: () => string;
|
|
3
|
+
/**
|
|
4
|
+
* Correct a row insertion index for a source row that the move emptied.
|
|
5
|
+
*
|
|
6
|
+
* Splicing the source row out shifts every later index up by one, so an
|
|
7
|
+
* unadjusted index lands the row one position too low. `handleRowDrop` has
|
|
8
|
+
* always done this for column moves; new-row drops need it too, and hit it more
|
|
9
|
+
* often, because a group is usually the only column in its row.
|
|
10
|
+
*/
|
|
11
|
+
export declare const adjustInsertIndexForRemovedRow: (insertIndex: number, sourceRowIndex: number, sourceRowRemoved: boolean) => number;
|
|
12
|
+
/**
|
|
13
|
+
* Distribute `cols` evenly across the given columns, preserving each column's
|
|
14
|
+
* identity (`portletId` **or** `groupId`) so re-equalisation never drops a group
|
|
15
|
+
* reference. This is the function to use; `equalizeRowColumns` below is the
|
|
16
|
+
* legacy id-only wrapper.
|
|
17
|
+
*/
|
|
18
|
+
export declare const equalizeColumns: (columns: RowLayoutColumn[], gridSettings: DashboardGridSettings) => RowLayoutColumn[];
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated Loses `groupId`. Use {@link equalizeColumns} with the real columns.
|
|
21
|
+
*/
|
|
3
22
|
export declare const equalizeRowColumns: (portletIds: string[], gridSettings: DashboardGridSettings) => RowLayoutColumn[];
|
|
4
23
|
export declare const adjustRowWidths: (columns: RowLayoutColumn[], gridSettings: DashboardGridSettings) => RowLayoutColumn[];
|
|
5
24
|
export declare const convertPortletsToRows: (portlets: PortletConfig[], gridSettings: DashboardGridSettings) => RowLayout[];
|
|
6
|
-
|
|
7
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Drop columns whose target no longer exists, clamp row height, re-balance
|
|
27
|
+
* widths. `groups` must be the already-normalized group list - a column
|
|
28
|
+
* referencing a group is kept only when that group survives, so run
|
|
29
|
+
* `normalizeGroups` first.
|
|
30
|
+
*/
|
|
31
|
+
export declare const normalizeRows: (rows: RowLayout[], portlets: PortletConfig[], gridSettings: DashboardGridSettings, groups?: PortletGroup[]) => RowLayout[];
|
|
32
|
+
/**
|
|
33
|
+
* Re-derive every portlet's x/y/w/h from the row layout. Group columns are
|
|
34
|
+
* subdivided via `deriveGroupGeometry`, so grouped children get real grid
|
|
35
|
+
* coordinates too - that is what keeps grid mode, the mobile stack and
|
|
36
|
+
* thumbnails working without any knowledge of groups.
|
|
37
|
+
*/
|
|
38
|
+
export declare const convertRowsToPortlets: (rows: RowLayout[], portlets: PortletConfig[], groups?: PortletGroup[]) => PortletConfig[];
|
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
import { MutableRefObject, RefObject } from 'react';
|
|
2
2
|
import { StoreApi } from 'zustand';
|
|
3
|
-
import { DashboardConfig, DashboardFilterMapping, DashboardGridSettings, DashboardLayoutMode, PortletConfig, RowLayout, ThumbnailFeatureConfig } from '../../types.js';
|
|
3
|
+
import { DashboardConfig, DashboardFilterMapping, DashboardGridSettings, DashboardLayoutMode, PortletConfig, PortletGroup, RowLayout, ThumbnailFeatureConfig } from '../../types.js';
|
|
4
4
|
import { DashboardStore, DashboardStoreActions } from '../../stores/dashboardStore.js';
|
|
5
|
+
import { LayoutUpdate } from './useRowLayoutEngine.js';
|
|
6
|
+
import { SnapEdge } from './groupUtils.js';
|
|
5
7
|
interface UseDashboardControllerOptions {
|
|
6
8
|
allowedModes: DashboardLayoutMode[];
|
|
7
9
|
canChangeLayoutMode: boolean;
|
|
8
10
|
isResponsiveEditable: boolean;
|
|
9
11
|
layoutMode: DashboardLayoutMode;
|
|
10
12
|
resolvedRows: RowLayout[];
|
|
13
|
+
resolvedGroups: PortletGroup[];
|
|
11
14
|
gridSettings: DashboardGridSettings;
|
|
12
15
|
thumbnailConfig?: ThumbnailFeatureConfig;
|
|
13
16
|
dashboardRef?: RefObject<HTMLElement | null>;
|
|
14
17
|
storeApi: StoreApi<DashboardStore>;
|
|
15
|
-
storeActions: Pick<DashboardStoreActions, 'setEditMode' | 'exitFilterSelectionMode' | 'openPortletModal' | 'closePortletModal' | 'openTextModal' | 'closeTextModal' | 'openFilterConfigModal' | 'closeFilterConfigModal' | 'openDeleteConfirm' | 'closeDeleteConfirm' | 'setThumbnailDirty'>;
|
|
18
|
+
storeActions: Pick<DashboardStoreActions, 'setEditMode' | 'exitFilterSelectionMode' | 'openPortletModal' | 'closePortletModal' | 'openTextModal' | 'closeTextModal' | 'openFilterConfigModal' | 'closeFilterConfigModal' | 'openDeleteConfirm' | 'openDeleteGroupConfirm' | 'setDraftGroups' | 'closeDeleteConfirm' | 'setThumbnailDirty'>;
|
|
16
19
|
configRef: MutableRefObject<DashboardConfig>;
|
|
17
20
|
onConfigChangeRef: MutableRefObject<((config: DashboardConfig) => void) | undefined>;
|
|
18
21
|
onSaveRef: MutableRefObject<((config: DashboardConfig) => Promise<void> | void) | undefined>;
|
|
19
22
|
onSaveThumbnailRef: MutableRefObject<((thumbnailData: string) => Promise<string | void>) | undefined>;
|
|
23
|
+
updateLayout: (next: LayoutUpdate, save?: boolean) => Promise<void>;
|
|
20
24
|
updateRowLayout: (rows: RowLayout[], save?: boolean, portletsOverride?: PortletConfig[]) => Promise<void>;
|
|
21
25
|
portletComponentRefs?: MutableRefObject<Record<string, {
|
|
22
26
|
refresh: (options?: {
|
|
@@ -27,7 +31,7 @@ interface UseDashboardControllerOptions {
|
|
|
27
31
|
bustCache?: boolean;
|
|
28
32
|
}) => void;
|
|
29
33
|
}
|
|
30
|
-
export declare function useDashboardController({ allowedModes, canChangeLayoutMode, isResponsiveEditable, layoutMode, resolvedRows, gridSettings, thumbnailConfig, dashboardRef, storeApi, storeActions, configRef, onConfigChangeRef, onSaveRef, onSaveThumbnailRef, updateRowLayout, portletComponentRefs, onPortletRefresh, }: UseDashboardControllerOptions): {
|
|
34
|
+
export declare function useDashboardController({ allowedModes, canChangeLayoutMode, isResponsiveEditable, layoutMode, resolvedRows, resolvedGroups, gridSettings, thumbnailConfig, dashboardRef, storeApi, storeActions, configRef, onConfigChangeRef, onSaveRef, onSaveThumbnailRef, updateLayout, updateRowLayout, portletComponentRefs, onPortletRefresh, }: UseDashboardControllerOptions): {
|
|
31
35
|
enterEditMode: () => void;
|
|
32
36
|
exitEditMode: () => void;
|
|
33
37
|
toggleEditMode: () => void;
|
|
@@ -49,5 +53,9 @@ export declare function useDashboardController({ allowedModes, canChangeLayoutMo
|
|
|
49
53
|
selectAllForFilter: (filterId: string) => Promise<void>;
|
|
50
54
|
saveFilterConfig: (mapping: DashboardFilterMapping) => Promise<void>;
|
|
51
55
|
handlePaletteChange: (paletteName: string) => Promise<void>;
|
|
56
|
+
snapPortletIntoGroup: (movedPortletId: string, targetPortletId: string, edge: SnapEdge) => Promise<void>;
|
|
57
|
+
ungroupGroup: (groupId: string) => Promise<void>;
|
|
58
|
+
deleteGroup: (groupId: string) => void;
|
|
59
|
+
renameGroup: (groupId: string, title: string) => Promise<void>;
|
|
52
60
|
};
|
|
53
61
|
export {};
|
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
import { MutableRefObject } from 'react';
|
|
2
|
-
import { DashboardConfig, DashboardGridSettings, DashboardLayoutMode, PortletConfig, RowLayout } from '../../types.js';
|
|
2
|
+
import { DashboardConfig, DashboardGridSettings, DashboardLayoutMode, PortletConfig, PortletGroup, RowLayout } from '../../types.js';
|
|
3
|
+
/** A single layout commit. Rows and groups are coupled, so they travel together. */
|
|
4
|
+
export interface LayoutUpdate {
|
|
5
|
+
rows: RowLayout[];
|
|
6
|
+
groups?: PortletGroup[];
|
|
7
|
+
portlets?: PortletConfig[];
|
|
8
|
+
}
|
|
3
9
|
interface UseRowLayoutEngineOptions {
|
|
4
10
|
layoutMode: DashboardLayoutMode;
|
|
5
11
|
draftRows: RowLayout[] | null;
|
|
12
|
+
draftGroups: PortletGroup[] | null;
|
|
6
13
|
config: DashboardConfig;
|
|
7
14
|
gridSettings: DashboardGridSettings;
|
|
8
15
|
configRef: MutableRefObject<DashboardConfig>;
|
|
9
16
|
onConfigChangeRef: MutableRefObject<((config: DashboardConfig) => void) | undefined>;
|
|
10
17
|
onSaveRef: MutableRefObject<((config: DashboardConfig) => Promise<void> | void) | undefined>;
|
|
11
18
|
setDraftRows: (rows: RowLayout[] | null) => void;
|
|
19
|
+
setDraftGroups: (groups: PortletGroup[] | null) => void;
|
|
12
20
|
setThumbnailDirty: (dirty: boolean) => void;
|
|
13
21
|
}
|
|
14
|
-
export declare function useRowLayoutEngine({ layoutMode, draftRows, config, gridSettings, configRef, onConfigChangeRef, onSaveRef, setDraftRows, setThumbnailDirty, }: UseRowLayoutEngineOptions): {
|
|
22
|
+
export declare function useRowLayoutEngine({ layoutMode, draftRows, draftGroups, config, gridSettings, configRef, onConfigChangeRef, onSaveRef, setDraftRows, setDraftGroups, setThumbnailDirty, }: UseRowLayoutEngineOptions): {
|
|
15
23
|
resolvedRows: RowLayout[];
|
|
24
|
+
resolvedGroups: PortletGroup[];
|
|
25
|
+
updateLayout: (next: LayoutUpdate, save?: boolean) => Promise<void>;
|
|
16
26
|
updateRowLayout: (rows: RowLayout[], save?: boolean, portletsOverride?: PortletConfig[]) => Promise<void>;
|
|
17
27
|
};
|
|
18
28
|
export {};
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { PortletDebugDataEntry } from '../stores/dashboardStore.js';
|
|
3
3
|
import { LayoutItem } from 'react-grid-layout';
|
|
4
|
-
import { DashboardConfig, PortletConfig, RowLayout, DashboardFilter, DashboardFilterMapping, DashboardGridSettings, DashboardLayoutMode } from '../types.js';
|
|
4
|
+
import { DashboardConfig, PortletConfig, RowLayout, PortletGroup, DashboardFilter, DashboardFilterMapping, DashboardGridSettings, DashboardLayoutMode } from '../types.js';
|
|
5
|
+
import { SnapEdge } from './dashboard/groupUtils.js';
|
|
6
|
+
import { LayoutUpdate } from './dashboard/useRowLayoutEngine.js';
|
|
5
7
|
export interface UseDashboardOptions {
|
|
6
8
|
/** Dashboard configuration */
|
|
7
9
|
config: DashboardConfig;
|
|
@@ -55,6 +57,7 @@ export interface UseDashboardResult {
|
|
|
55
57
|
filterConfigPortlet: PortletConfig | null;
|
|
56
58
|
/** Portlet ID pending delete confirmation */
|
|
57
59
|
deleteConfirmPortletId: string | null;
|
|
60
|
+
deleteConfirmGroupId: string | null;
|
|
58
61
|
/** Draft rows during drag operations */
|
|
59
62
|
draftRows: RowLayout[] | null;
|
|
60
63
|
/** Whether a portlet is being dragged */
|
|
@@ -71,6 +74,9 @@ export interface UseDashboardResult {
|
|
|
71
74
|
selectedFilter: DashboardFilter | null;
|
|
72
75
|
/** Resolved rows for row-based layout */
|
|
73
76
|
resolvedRows: RowLayout[];
|
|
77
|
+
resolvedGroups: PortletGroup[];
|
|
78
|
+
/** Modes the toggle should offer; a subset of allowedModes. */
|
|
79
|
+
selectableModes: DashboardLayoutMode[];
|
|
74
80
|
/** Current layout mode */
|
|
75
81
|
layoutMode: DashboardLayoutMode;
|
|
76
82
|
/** Allowed layout modes */
|
|
@@ -92,6 +98,7 @@ export interface UseDashboardActions {
|
|
|
92
98
|
openFilterConfig: (portlet: PortletConfig) => void;
|
|
93
99
|
closeFilterConfig: () => void;
|
|
94
100
|
setDraftRows: (rows: RowLayout[] | null) => void;
|
|
101
|
+
setDraftGroups: (groups: PortletGroup[] | null) => void;
|
|
95
102
|
setIsDraggingPortlet: (isDragging: boolean) => void;
|
|
96
103
|
setLastKnownLayout: (layout: LayoutItem[]) => void;
|
|
97
104
|
setIsInitialized: (initialized: boolean) => void;
|
|
@@ -102,6 +109,7 @@ export interface UseDashboardActions {
|
|
|
102
109
|
} | null) => void;
|
|
103
110
|
clearDragState: () => void;
|
|
104
111
|
hasLayoutActuallyChanged: (newLayout: LayoutItem[]) => boolean;
|
|
112
|
+
updateLayout: (next: LayoutUpdate, save?: boolean) => Promise<void>;
|
|
105
113
|
updateRowLayout: (rows: RowLayout[], save?: boolean, portletsOverride?: PortletConfig[]) => Promise<void>;
|
|
106
114
|
handleLayoutModeChange: (mode: DashboardLayoutMode) => Promise<void>;
|
|
107
115
|
savePortlet: (portletData: PortletConfig | Omit<PortletConfig, 'id' | 'x' | 'y'>) => Promise<string | null>;
|
|
@@ -114,6 +122,11 @@ export interface UseDashboardActions {
|
|
|
114
122
|
selectAllForFilter: (filterId: string) => Promise<void>;
|
|
115
123
|
saveFilterConfig: (mapping: DashboardFilterMapping) => Promise<void>;
|
|
116
124
|
handlePaletteChange: (paletteName: string) => Promise<void>;
|
|
125
|
+
snapPortletIntoGroup: (movedPortletId: string, targetPortletId: string, edge: SnapEdge) => Promise<void>;
|
|
126
|
+
ungroupGroup: (groupId: string) => Promise<void>;
|
|
127
|
+
deleteGroup: (groupId: string) => void;
|
|
128
|
+
renameGroup: (groupId: string, title: string) => Promise<void>;
|
|
129
|
+
openDeleteGroupConfirm: (groupId: string) => void;
|
|
117
130
|
openDeleteConfirm: (portletId: string) => void;
|
|
118
131
|
closeDeleteConfirm: () => void;
|
|
119
132
|
confirmDelete: () => Promise<void>;
|
|
@@ -94,6 +94,7 @@ export interface IconRegistry {
|
|
|
94
94
|
chartWaterfall: IconDefinition;
|
|
95
95
|
chartCandlestick: IconDefinition;
|
|
96
96
|
chartMeasureProfile: IconDefinition;
|
|
97
|
+
chartProportionBar: IconDefinition;
|
|
97
98
|
chartGauge: IconDefinition;
|
|
98
99
|
measureCount: IconDefinition;
|
|
99
100
|
measureCountDistinct: IconDefinition;
|
|
@@ -55,7 +55,7 @@ export { useTheme } from './hooks/useTheme.js';
|
|
|
55
55
|
export { useScrollDetection } from './hooks/useScrollDetection.js';
|
|
56
56
|
export { useElementVisibility } from './hooks/useElementVisibility.js';
|
|
57
57
|
export { useDrillInteraction } from './hooks/useDrillInteraction.js';
|
|
58
|
-
export type { PortletConfig, ChartType, BuiltInChartType, ChartAxisConfig, ChartDisplayConfig, ChartProps, ColorPalette, CubeQuery, CubeQueryOptions, CubeApiOptions, DashboardConfig, FeaturesConfig, XlsExportFeatureConfig, ThumbnailFeatureConfig, MultiQueryConfig, QueryMergeStrategy, FunnelBindingKey, FunnelBindingKeyMapping, FunnelStep, FunnelConfig, FunnelStepResult, FunnelExecutionResult, FunnelChartData, FunnelValidationError, FunnelValidationResult, UseFunnelQueryOptions, UseFunnelQueryResult, ServerFlowQuery, FlowQueryConfig, FlowChartData, FlowSliceState, SankeyNode, SankeyLink, FlowStartingStep, FlowResultRow, } from './types.js';
|
|
58
|
+
export type { PortletConfig, ChartType, BuiltInChartType, ChartAxisConfig, ChartDisplayConfig, ChartProps, ColorPalette, CubeQuery, CubeQueryOptions, CubeApiOptions, DashboardConfig, PortletGroup, PortletGroupCell, FeaturesConfig, XlsExportFeatureConfig, ThumbnailFeatureConfig, MultiQueryConfig, QueryMergeStrategy, FunnelBindingKey, FunnelBindingKeyMapping, FunnelStep, FunnelConfig, FunnelStepResult, FunnelExecutionResult, FunnelChartData, FunnelValidationError, FunnelValidationResult, UseFunnelQueryOptions, UseFunnelQueryResult, ServerFlowQuery, FlowQueryConfig, FlowChartData, FlowSliceState, SankeyNode, SankeyLink, FlowStartingStep, FlowResultRow, } from './types.js';
|
|
59
59
|
export { isQueryConfig, isFunnelConfig, isFlowConfig, isRetentionConfig, isMultiQuery, isSingleQuery, isValidAnalysisConfig, createDefaultQueryConfig, createDefaultFunnelConfig, createDefaultFlowConfig, createDefaultRetentionConfig, createDefaultConfig, isValidAnalysisWorkspace, createDefaultWorkspace } from './types/analysisConfig.js';
|
|
60
60
|
export type { AnalysisConfig, QueryAnalysisConfig, FunnelAnalysisConfig, FlowAnalysisConfig, RetentionAnalysisConfig, AnalysisWorkspace } from './types/analysisConfig.js';
|
|
61
61
|
export { isMultiQueryConfig, isServerFunnelQuery, isServerFlowQuery, isSankeyData } from './types.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { StoreApi } from 'zustand';
|
|
3
3
|
import { LayoutItem } from 'react-grid-layout';
|
|
4
|
-
import { PortletConfig, RowLayout, ChartType, ChartAxisConfig, ChartDisplayConfig, CubeQuery } from '../types.js';
|
|
4
|
+
import { PortletConfig, RowLayout, PortletGroup, ChartType, ChartAxisConfig, ChartDisplayConfig, CubeQuery } from '../types.js';
|
|
5
5
|
import { FlowChartData } from '../types/flow.js';
|
|
6
6
|
import { RetentionChartData } from '../types/retention.js';
|
|
7
7
|
/**
|
|
@@ -50,12 +50,16 @@ export interface DashboardStoreState {
|
|
|
50
50
|
filterConfigPortlet: PortletConfig | null;
|
|
51
51
|
/** Portlet ID pending delete confirmation (null = no confirmation active) */
|
|
52
52
|
deleteConfirmPortletId: string | null;
|
|
53
|
+
/** Group ID pending delete confirmation (null = no confirmation active) */
|
|
54
|
+
deleteConfirmGroupId: string | null;
|
|
53
55
|
/** Whether text portlet modal is open */
|
|
54
56
|
isTextModalOpen: boolean;
|
|
55
57
|
/** Portlet being edited in text modal (null = adding new) */
|
|
56
58
|
editingTextPortlet: PortletConfig | null;
|
|
57
59
|
/** Draft row layout during drag operations (rows mode) */
|
|
58
60
|
draftRows: RowLayout[] | null;
|
|
61
|
+
/** Draft group layout during drag/resize operations (rows mode) */
|
|
62
|
+
draftGroups: PortletGroup[] | null;
|
|
59
63
|
/** Whether a portlet is currently being dragged */
|
|
60
64
|
isDraggingPortlet: boolean;
|
|
61
65
|
/** Last known layout for change detection */
|
|
@@ -95,10 +99,12 @@ export interface DashboardStoreActions {
|
|
|
95
99
|
closeTextModal: () => void;
|
|
96
100
|
/** Open delete confirmation for a portlet */
|
|
97
101
|
openDeleteConfirm: (portletId: string) => void;
|
|
102
|
+
openDeleteGroupConfirm: (groupId: string) => void;
|
|
98
103
|
/** Close delete confirmation */
|
|
99
104
|
closeDeleteConfirm: () => void;
|
|
100
105
|
/** Set draft rows during drag operations */
|
|
101
106
|
setDraftRows: (rows: RowLayout[] | null) => void;
|
|
107
|
+
setDraftGroups: (groups: PortletGroup[] | null) => void;
|
|
102
108
|
/** Set whether a portlet is being dragged */
|
|
103
109
|
setIsDraggingPortlet: (isDragging: boolean) => void;
|
|
104
110
|
/** Set last known layout for change detection */
|
|
@@ -206,6 +212,7 @@ export declare const selectModalState: (state: DashboardStore) => {
|
|
|
206
212
|
*/
|
|
207
213
|
export declare const selectLayoutState: (state: DashboardStore) => {
|
|
208
214
|
draftRows: RowLayout[] | null;
|
|
215
|
+
draftGroups: PortletGroup[] | null;
|
|
209
216
|
isDraggingPortlet: boolean;
|
|
210
217
|
lastKnownLayout: LayoutItem[];
|
|
211
218
|
isInitialized: boolean;
|
|
@@ -239,6 +246,7 @@ export declare const selectModalActions: (state: DashboardStore) => {
|
|
|
239
246
|
openFilterConfigModal: (portlet: PortletConfig) => void;
|
|
240
247
|
closeFilterConfigModal: () => void;
|
|
241
248
|
openDeleteConfirm: (portletId: string) => void;
|
|
249
|
+
openDeleteGroupConfirm: (groupId: string) => void;
|
|
242
250
|
closeDeleteConfirm: () => void;
|
|
243
251
|
};
|
|
244
252
|
/**
|
|
@@ -246,6 +254,7 @@ export declare const selectModalActions: (state: DashboardStore) => {
|
|
|
246
254
|
*/
|
|
247
255
|
export declare const selectLayoutActions: (state: DashboardStore) => {
|
|
248
256
|
setDraftRows: (rows: RowLayout[] | null) => void;
|
|
257
|
+
setDraftGroups: (groups: PortletGroup[] | null) => void;
|
|
249
258
|
setIsDraggingPortlet: (isDragging: boolean) => void;
|
|
250
259
|
setLastKnownLayout: (layout: LayoutItem[]) => void;
|
|
251
260
|
setIsInitialized: (initialized: boolean) => void;
|
|
@@ -278,6 +287,7 @@ export declare const selectAllActions: (state: DashboardStore) => {
|
|
|
278
287
|
openFilterConfigModal: (portlet: PortletConfig) => void;
|
|
279
288
|
closeFilterConfigModal: () => void;
|
|
280
289
|
openDeleteConfirm: (portletId: string) => void;
|
|
290
|
+
openDeleteGroupConfirm: (groupId: string) => void;
|
|
281
291
|
closeDeleteConfirm: () => void;
|
|
282
292
|
setDraftRows: (rows: RowLayout[] | null) => void;
|
|
283
293
|
setIsDraggingPortlet: (isDragging: boolean) => void;
|
|
@@ -71,7 +71,7 @@ export interface CubeMeta {
|
|
|
71
71
|
}
|
|
72
72
|
export type FieldLabelMap = Record<string, string>;
|
|
73
73
|
export type { ColorPalette } from './utils/colorPalettes.js';
|
|
74
|
-
export type BuiltInChartType = 'line' | 'bar' | 'pie' | 'table' | 'area' | 'scatter' | 'radar' | 'radialBar' | 'treemap' | 'bubble' | 'activityGrid' | 'kpiNumber' | 'kpiDelta' | 'kpiText' | 'markdown' | 'funnel' | 'sankey' | 'sunburst' | 'heatmap' | 'retentionHeatmap' | 'retentionCombined' | 'boxPlot' | 'waterfall' | 'candlestick' | 'measureProfile' | 'gauge';
|
|
74
|
+
export type BuiltInChartType = 'line' | 'bar' | 'pie' | 'table' | 'area' | 'scatter' | 'radar' | 'radialBar' | 'treemap' | 'bubble' | 'activityGrid' | 'kpiNumber' | 'kpiDelta' | 'kpiText' | 'markdown' | 'funnel' | 'sankey' | 'sunburst' | 'heatmap' | 'retentionHeatmap' | 'retentionCombined' | 'boxPlot' | 'waterfall' | 'candlestick' | 'proportionBar' | 'measureProfile' | 'gauge';
|
|
75
75
|
export type ChartType = BuiltInChartType | (string & {});
|
|
76
76
|
export interface AxisFormatConfig {
|
|
77
77
|
label?: string;
|
|
@@ -106,6 +106,8 @@ export interface ChartDisplayConfig {
|
|
|
106
106
|
stacked?: boolean;
|
|
107
107
|
stackType?: 'none' | 'normal' | 'percent';
|
|
108
108
|
connectNulls?: boolean;
|
|
109
|
+
showSummary?: boolean;
|
|
110
|
+
showPoints?: boolean;
|
|
109
111
|
showAllXLabels?: boolean;
|
|
110
112
|
hideHeader?: boolean;
|
|
111
113
|
innerRadius?: string;
|
|
@@ -113,6 +115,8 @@ export interface ChartDisplayConfig {
|
|
|
113
115
|
maxBubbleSize?: number;
|
|
114
116
|
bubbleOpacity?: number;
|
|
115
117
|
showLabels?: boolean;
|
|
118
|
+
showPercentages?: boolean;
|
|
119
|
+
sortSegments?: boolean;
|
|
116
120
|
fitToWidth?: boolean;
|
|
117
121
|
pivotTimeDimension?: boolean;
|
|
118
122
|
target?: string;
|
|
@@ -123,9 +127,11 @@ export interface ChartDisplayConfig {
|
|
|
123
127
|
formatValue?: (value: number | null | undefined) => string;
|
|
124
128
|
valueColor?: string;
|
|
125
129
|
valueColorIndex?: number;
|
|
130
|
+
layout?: 'auto' | 'compact';
|
|
126
131
|
positiveColorIndex?: number;
|
|
127
132
|
negativeColorIndex?: number;
|
|
128
133
|
showHistogram?: boolean;
|
|
134
|
+
showBaseline?: boolean;
|
|
129
135
|
useLastCompletePeriod?: boolean;
|
|
130
136
|
skipLastPeriod?: boolean;
|
|
131
137
|
content?: string;
|
|
@@ -232,8 +238,36 @@ export interface DashboardGridSettings {
|
|
|
232
238
|
minW: number;
|
|
233
239
|
minH: number;
|
|
234
240
|
}
|
|
241
|
+
/**
|
|
242
|
+
* One cell along a group's main axis. `portletIds` are stacked perpendicular to
|
|
243
|
+
* the group's `direction`. Cells share the main axis equally and stacks share
|
|
244
|
+
* the cross axis equally - a group is an evenly divided frame, with no
|
|
245
|
+
* per-cell sizing to set or drag.
|
|
246
|
+
*/
|
|
247
|
+
export interface PortletGroupCell {
|
|
248
|
+
portletIds: string[];
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* A "combination portlet": several portlets snapped together so they render
|
|
252
|
+
* inside one card. Layout-only - the portlets themselves stay flat in
|
|
253
|
+
* `DashboardConfig.portlets` and are referenced by id from here.
|
|
254
|
+
*
|
|
255
|
+
* Depth is deliberately capped at two (cells along one axis, a stack inside
|
|
256
|
+
* each). Snapping perpendicular onto an already-stacked portlet joins that
|
|
257
|
+
* stack rather than creating a third level.
|
|
258
|
+
*/
|
|
259
|
+
export interface PortletGroup {
|
|
260
|
+
id: string;
|
|
261
|
+
/** When absent or empty, no title bar is rendered. */
|
|
262
|
+
title?: string;
|
|
263
|
+
direction: 'row' | 'column';
|
|
264
|
+
cells: PortletGroupCell[];
|
|
265
|
+
}
|
|
235
266
|
export interface RowLayoutColumn {
|
|
236
|
-
portletId
|
|
267
|
+
/** Exactly one of `portletId` / `groupId` is set. */
|
|
268
|
+
portletId?: string;
|
|
269
|
+
/** Set when this column hosts a PortletGroup instead of a single portlet. */
|
|
270
|
+
groupId?: string;
|
|
237
271
|
w: number;
|
|
238
272
|
}
|
|
239
273
|
export interface RowLayout {
|
|
@@ -246,6 +280,7 @@ export interface DashboardConfig {
|
|
|
246
280
|
layoutMode?: DashboardLayoutMode;
|
|
247
281
|
grid?: DashboardGridSettings;
|
|
248
282
|
rows?: RowLayout[];
|
|
283
|
+
groups?: PortletGroup[];
|
|
249
284
|
layouts?: {
|
|
250
285
|
[key: string]: any;
|
|
251
286
|
};
|
package/dist/cli/index.cjs
CHANGED
|
@@ -16,7 +16,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
}
|
|
17
17
|
return to;
|
|
18
18
|
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
|
|
20
20
|
value: mod,
|
|
21
21
|
enumerable: true
|
|
22
22
|
}) : target, mod));
|
|
@@ -417,9 +417,10 @@ var { positionals } = (0, node_util.parseArgs)({
|
|
|
417
417
|
strict: false
|
|
418
418
|
});
|
|
419
419
|
var [command, subcommand] = positionals;
|
|
420
|
-
if (command === "charts")
|
|
421
|
-
|
|
422
|
-
else
|
|
420
|
+
if (command === "charts") {
|
|
421
|
+
if (subcommand === "init") chartsInit();
|
|
422
|
+
else if (subcommand === "list") chartsList();
|
|
423
|
+
else console.log(`
|
|
423
424
|
drizzle-cube charts
|
|
424
425
|
|
|
425
426
|
Commands:
|
|
@@ -428,7 +429,7 @@ Commands:
|
|
|
428
429
|
drizzle-cube charts init -o <dir> Set output directory (default: ./src/charts)
|
|
429
430
|
drizzle-cube charts list List available built-in chart types
|
|
430
431
|
`);
|
|
431
|
-
else console.log(`
|
|
432
|
+
} else console.log(`
|
|
432
433
|
drizzle-cube CLI
|
|
433
434
|
|
|
434
435
|
Commands:
|
|
@@ -36,3 +36,23 @@ export declare function valueFormatDisplayOption(description?: string): DisplayO
|
|
|
36
36
|
* per chart (bar vs area series wording).
|
|
37
37
|
*/
|
|
38
38
|
export declare function stackTypeDisplayOption(description: string): DisplayOptionConfig;
|
|
39
|
+
/**
|
|
40
|
+
* Layout density for the KPI charts.
|
|
41
|
+
*
|
|
42
|
+
* `auto` keeps the historic behaviour, where the value's font size is derived
|
|
43
|
+
* from the portlet box — which makes a wide portlet render an enormous number.
|
|
44
|
+
* `compact` uses a fixed type scale so several KPIs read as a tidy metric strip.
|
|
45
|
+
*/
|
|
46
|
+
export declare const kpiLayoutDisplayOption: DisplayOptionConfig;
|
|
47
|
+
/**
|
|
48
|
+
* Summary-band toggle for the time-series charts.
|
|
49
|
+
*
|
|
50
|
+
* Renders each series' latest value and its change since the start of the
|
|
51
|
+
* window above the plot, so the chart is readable without hovering.
|
|
52
|
+
*/
|
|
53
|
+
export declare const showSummaryDisplayOption: DisplayOptionConfig;
|
|
54
|
+
/**
|
|
55
|
+
* Data-point marker toggle for the time-series charts. Dense series (hundreds
|
|
56
|
+
* of points) read far better without a marker on every one.
|
|
57
|
+
*/
|
|
58
|
+
export declare function showPointsDisplayOption(defaultValue?: boolean): DisplayOptionConfig;
|
package/dist/client/charts.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { ct as e, dt as t, ft as n, lt as r, mt as i, pt as a, st as o, t as s, ut as c } from "./chunks/chart-data-table-
|
|
2
|
-
import { d as l, l as u, s as d, u as f } from "./chunks/chart-activity-grid-
|
|
3
|
-
import { t as p } from "./chunks/chart-funnel-
|
|
4
|
-
import { a as m, i as h, n as g, o as _, r as v, s as y, t as b } from "./chunks/charts-loader-
|
|
5
|
-
import { t as x } from "./chunks/chart-area-
|
|
6
|
-
import { i as S } from "./chunks/utils-
|
|
7
|
-
import { t as C } from "./chunks/chart-bar-
|
|
8
|
-
import { t as w } from "./chunks/chart-line-
|
|
9
|
-
import { t as T } from "./chunks/chart-pie-
|
|
10
|
-
import { t as E } from "./chunks/chart-scatter-
|
|
11
|
-
import { t as D } from "./chunks/chart-radar-
|
|
12
|
-
import { t as O } from "./chunks/chart-radial-bar-
|
|
13
|
-
import { t as k } from "./chunks/chart-tree-map-
|
|
1
|
+
import { ct as e, dt as t, ft as n, lt as r, mt as i, pt as a, st as o, t as s, ut as c } from "./chunks/chart-data-table-SNSqZj9B.js";
|
|
2
|
+
import { d as l, l as u, s as d, u as f } from "./chunks/chart-activity-grid-DVOhLgxv.js";
|
|
3
|
+
import { t as p } from "./chunks/chart-funnel-CkHSXp6h.js";
|
|
4
|
+
import { a as m, i as h, n as g, o as _, r as v, s as y, t as b } from "./chunks/charts-loader-0avVzeDd.js";
|
|
5
|
+
import { t as x } from "./chunks/chart-area-C-5ATxvi.js";
|
|
6
|
+
import { i as S } from "./chunks/utils-CToHkuhU.js";
|
|
7
|
+
import { t as C } from "./chunks/chart-bar-CPiLaXHP.js";
|
|
8
|
+
import { t as w } from "./chunks/chart-line-CzvVL3Be.js";
|
|
9
|
+
import { t as T } from "./chunks/chart-pie-CwRfwWWZ.js";
|
|
10
|
+
import { t as E } from "./chunks/chart-scatter-BtLfAsZb.js";
|
|
11
|
+
import { t as D } from "./chunks/chart-radar-Dfql2E7i.js";
|
|
12
|
+
import { t as O } from "./chunks/chart-radial-bar-oE9OZ1IX.js";
|
|
13
|
+
import { t as k } from "./chunks/chart-tree-map-DU5M3-qe.js";
|
|
14
14
|
export { d as CHART_COLORS, u as CHART_MARGINS, s as DataTable, p as FunnelChart, b as LazyChart, f as NEGATIVE_COLOR, l as POSITIVE_COLOR, x as RechartsAreaChart, C as RechartsBarChart, w as RechartsLineChart, T as RechartsPieChart, D as RechartsRadarChart, O as RechartsRadialBarChart, E as RechartsScatterChart, k as RechartsTreeMapChart, o as clearChartConfigCache, S as formatChartData, g as getAvailableChartTypes, e as getChartConfigAsync, r as getChartConfigSync, v as getUnavailableChartTypes, c as isChartConfigLoaded, h as isChartTypeAvailable, m as isValidChartType, t as loadAllChartConfigs, _ as preloadChart, n as preloadChartConfig, a as preloadChartConfigs, y as preloadCharts, i as useChartConfig };
|