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.
Files changed (538) hide show
  1. package/README.md +231 -106
  2. package/dist/adapters/ActivityGridChart.config-DaYILvFZ.cjs +1 -0
  3. package/dist/adapters/ActivityGridChart.config-_SyTBEyR.js +2 -0
  4. package/dist/adapters/AreaChart.config-BKh6fY1_.cjs +1 -0
  5. package/dist/adapters/AreaChart.config-CJoxLP3Y.js +2 -0
  6. package/dist/adapters/BarChart.config-Bm1bfRbI.cjs +1 -0
  7. package/dist/adapters/BarChart.config-CGu2Bqrx.js +2 -0
  8. package/dist/adapters/BoxPlotChart.config-B7M9CQaE.js +2 -0
  9. package/dist/adapters/BoxPlotChart.config-CXQel8Hk.cjs +1 -0
  10. package/dist/adapters/BubbleChart.config-BJ36IuVS.cjs +1 -0
  11. package/dist/adapters/BubbleChart.config-CWoXeLdm.js +2 -0
  12. package/dist/adapters/CandlestickChart.config-CGMLZVIy.cjs +1 -0
  13. package/dist/adapters/CandlestickChart.config-CzOcfF1e.js +2 -0
  14. package/dist/adapters/DataTable.config-CdAzueTs.cjs +1 -0
  15. package/dist/adapters/DataTable.config-D_KmPyxV.js +2 -0
  16. package/dist/adapters/FunnelChart.config-D1QAUuYl.cjs +1 -0
  17. package/dist/adapters/FunnelChart.config-DCRHQoFc.js +2 -0
  18. package/dist/adapters/GaugeChart.config-DAybRXP3.js +2 -0
  19. package/dist/adapters/GaugeChart.config-WUPfyLP-.cjs +1 -0
  20. package/dist/adapters/HeatMapChart.config-CziltPnC.cjs +1 -0
  21. package/dist/adapters/HeatMapChart.config-DHpXNONW.js +2 -0
  22. package/dist/adapters/KpiDelta.config-Bw5o0ocY.js +2 -0
  23. package/dist/adapters/KpiDelta.config-CdAmE1pw.cjs +1 -0
  24. package/dist/adapters/KpiNumber.config-CQ_wq2gx.js +2 -0
  25. package/dist/adapters/KpiNumber.config-wxN8x4DC.cjs +1 -0
  26. package/dist/adapters/KpiText.config-DIRIC97F.cjs +1 -0
  27. package/dist/adapters/KpiText.config-eODcP6Hn.js +2 -0
  28. package/dist/adapters/LineChart.config-32-9zA2V.js +2 -0
  29. package/dist/adapters/LineChart.config-BukeFp6z.cjs +1 -0
  30. package/dist/adapters/MarkdownChart.config-BVsR5LDy.js +2 -0
  31. package/dist/adapters/MarkdownChart.config-j4veYjcZ.cjs +1 -0
  32. package/dist/adapters/MeasureProfileChart.config-BRDYx1hw.js +2 -0
  33. package/dist/adapters/MeasureProfileChart.config-CIosBxco.cjs +1 -0
  34. package/dist/adapters/PieChart.config-Bj8KiA0n.cjs +1 -0
  35. package/dist/adapters/PieChart.config-DgAj3y-I.js +2 -0
  36. package/dist/adapters/ProportionBarChart.config-BfFOppHY.js +2 -0
  37. package/dist/adapters/ProportionBarChart.config-c8GGE1aK.cjs +1 -0
  38. package/dist/adapters/RadarChart.config-D7iHY1v9.js +2 -0
  39. package/dist/adapters/RadarChart.config-ghlANG2-.cjs +1 -0
  40. package/dist/adapters/RadialBarChart.config-CsXIz-0v.js +2 -0
  41. package/dist/adapters/RadialBarChart.config-Dsvu2CPV.cjs +1 -0
  42. package/dist/adapters/RetentionCombinedChart.config-CdT1kXC7.js +2 -0
  43. package/dist/adapters/RetentionCombinedChart.config-sDjFKH9K.cjs +1 -0
  44. package/dist/adapters/RetentionHeatmap.config-CvKBvQmu.cjs +1 -0
  45. package/dist/adapters/RetentionHeatmap.config-DbM3ICwc.js +2 -0
  46. package/dist/adapters/SankeyChart.config-BNBcIHaD.js +2 -0
  47. package/dist/adapters/SankeyChart.config-DZscz3kh.cjs +1 -0
  48. package/dist/adapters/ScatterChart.config-BNYIddyM.cjs +1 -0
  49. package/dist/adapters/ScatterChart.config-CEhtoLWc.js +2 -0
  50. package/dist/adapters/SunburstChart.config-ClseCzji.cjs +1 -0
  51. package/dist/adapters/SunburstChart.config-nnphNoVO.js +2 -0
  52. package/dist/adapters/TreeMapChart.config-C8-75muA.js +2 -0
  53. package/dist/adapters/TreeMapChart.config-DoXeUg9Y.cjs +1 -0
  54. package/dist/adapters/WaterfallChart.config-BOF1qxY3.cjs +1 -0
  55. package/dist/adapters/WaterfallChart.config-uW5YyOji.js +2 -0
  56. package/dist/adapters/chartConfigHelpers-BZMu_1EP.cjs +1 -0
  57. package/dist/adapters/{chartConfigHelpers-CcvqrIWF.js → chartConfigHelpers-BsnbxA2c.js} +30 -1
  58. package/dist/adapters/compiler-DAyodAnH.cjs +166 -0
  59. package/dist/adapters/{compiler-ZruQ85ff.js → compiler-Dq04wAjm.js} +116 -60
  60. package/dist/adapters/core/index.cjs +1 -1
  61. package/dist/adapters/core/index.js +1 -1
  62. package/dist/adapters/{core-BMZhIzaI.js → core-BjxfG6Uf.js} +8 -8
  63. package/dist/adapters/core-zV2w0hO2.cjs +1 -0
  64. package/dist/adapters/{dist-CH3hwAUk.js → dist-ChBfLb7x.js} +7 -4
  65. package/dist/adapters/{dist-BOdf-GQO.cjs → dist-CohrBmKe.cjs} +2 -2
  66. package/dist/adapters/express/index.cjs +1 -1
  67. package/dist/adapters/express/index.js +5 -5
  68. package/dist/adapters/fastify/index.cjs +2 -2
  69. package/dist/adapters/fastify/index.js +10 -6
  70. package/dist/adapters/google-BhvizbFR.cjs +2 -0
  71. package/dist/adapters/{google-CvKM9yVM.js → google-eKAc20al.js} +3 -3
  72. package/dist/adapters/{handler-_PXp3G47.cjs → handler-C6Hj6_Yk.cjs} +9 -9
  73. package/dist/adapters/{handler-xR2P1EI4.js → handler-ox6qxLw5.js} +230 -152
  74. package/dist/adapters/hono/index.cjs +1 -1
  75. package/dist/adapters/hono/index.js +26 -18
  76. package/dist/adapters/mcp-tools.cjs +1 -1
  77. package/dist/adapters/mcp-tools.js +2 -2
  78. package/dist/adapters/mcp-transport-C_t_p0wU.cjs +40 -0
  79. package/dist/adapters/mcp-transport-DFH9e6de.js +603 -0
  80. package/dist/adapters/nextjs/index.cjs +1 -1
  81. package/dist/adapters/nextjs/index.js +14 -11
  82. package/dist/{server/openai-C3-mjSAc.cjs → adapters/openai-BffpdO4n.cjs} +1 -1
  83. package/dist/adapters/openai-C9LNhHfK.js +9295 -0
  84. package/dist/adapters/{openai-B6hWZk_r.js → openai-CmyXJWti.js} +18 -17
  85. package/dist/adapters/openai-DlT-0VRC.cjs +19 -0
  86. package/dist/adapters/utils-C5FLHK04.cjs +128 -0
  87. package/dist/adapters/{utils-U7gV5wQL.js → utils-tjiwXFnP.js} +69 -17
  88. package/dist/adapters/utils.cjs +1 -1
  89. package/dist/adapters/utils.js +1 -1
  90. package/dist/cjs/client/charts/chartConfigHelpers.d.ts +20 -0
  91. package/dist/cjs/client/components/AgenticNotebook/AgentChatPanel.d.ts +1 -1
  92. package/dist/cjs/client/components/AgenticNotebook/ChatInput.d.ts +1 -1
  93. package/dist/cjs/client/components/AgenticNotebook/ChatMessage.d.ts +1 -1
  94. package/dist/cjs/client/components/AgenticNotebook/NotebookCanvas.d.ts +2 -2
  95. package/dist/cjs/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +1 -1
  96. package/dist/cjs/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +1 -1
  97. package/dist/cjs/client/components/AgenticNotebook/index.d.ts +1 -1
  98. package/dist/cjs/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +1 -1
  99. package/dist/cjs/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +1 -1
  100. package/dist/cjs/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +1 -1
  101. package/dist/cjs/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +1 -1
  102. package/dist/cjs/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +1 -1
  103. package/dist/cjs/client/components/AnalysisBuilder/BreakdownRow.d.ts +1 -1
  104. package/dist/cjs/client/components/AnalysisBuilder/BreakdownSection.d.ts +1 -1
  105. package/dist/cjs/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +1 -1
  106. package/dist/cjs/client/components/AnalysisBuilder/FieldSearchResults.d.ts +1 -1
  107. package/dist/cjs/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +1 -1
  108. package/dist/cjs/client/components/AnalysisBuilder/FlowDepthControls.d.ts +1 -1
  109. package/dist/cjs/client/components/AnalysisBuilder/FlowModeContent.d.ts +1 -1
  110. package/dist/cjs/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +1 -1
  111. package/dist/cjs/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +1 -1
  112. package/dist/cjs/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +1 -1
  113. package/dist/cjs/client/components/AnalysisBuilder/FunnelModeContent.d.ts +1 -1
  114. package/dist/cjs/client/components/AnalysisBuilder/FunnelStepCard.d.ts +1 -1
  115. package/dist/cjs/client/components/AnalysisBuilder/FunnelStepList.d.ts +1 -1
  116. package/dist/cjs/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +1 -1
  117. package/dist/cjs/client/components/AnalysisBuilder/MetricItemCard.d.ts +1 -1
  118. package/dist/cjs/client/components/AnalysisBuilder/MetricRow.d.ts +1 -1
  119. package/dist/cjs/client/components/AnalysisBuilder/MetricsSection.d.ts +1 -1
  120. package/dist/cjs/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +2 -2
  121. package/dist/cjs/client/components/AnalysisBuilder/RetentionModeContent.d.ts +1 -1
  122. package/dist/cjs/client/components/AnalysisBuilder/SortToggleButton.d.ts +1 -1
  123. package/dist/cjs/client/components/DashboardPortletCard.d.ts +1 -1
  124. package/dist/cjs/client/components/DataBrowser/DataBrowserTable.d.ts +1 -1
  125. package/dist/cjs/client/components/PortletGroupCard.d.ts +18 -0
  126. package/dist/cjs/client/components/RowManagedLayout.d.ts +15 -3
  127. package/dist/cjs/client/components/analyticsPortlet/intrinsicChartHeight.d.ts +9 -0
  128. package/dist/cjs/client/components/charts/ActivityGridChart.d.ts +1 -1
  129. package/dist/cjs/client/components/charts/AngledXAxisTick.d.ts +5 -0
  130. package/dist/cjs/client/components/charts/AreaChart.d.ts +1 -1
  131. package/dist/cjs/client/components/charts/BarChart.d.ts +1 -1
  132. package/dist/cjs/client/components/charts/BoxPlotChart.d.ts +1 -1
  133. package/dist/cjs/client/components/charts/BubbleChart.d.ts +1 -1
  134. package/dist/cjs/client/components/charts/CandlestickChart.d.ts +1 -1
  135. package/dist/cjs/client/components/charts/ChartContainer.d.ts +7 -1
  136. package/dist/cjs/client/components/charts/ChartSummaryHeader.d.ts +31 -0
  137. package/dist/cjs/client/components/charts/DataTable.d.ts +1 -1
  138. package/dist/cjs/client/components/charts/FunnelChart.d.ts +1 -1
  139. package/dist/cjs/client/components/charts/GaugeChart.d.ts +1 -1
  140. package/dist/cjs/client/components/charts/HeatMapChart.d.ts +1 -1
  141. package/dist/cjs/client/components/charts/KpiCompactLayout.d.ts +31 -0
  142. package/dist/cjs/client/components/charts/KpiDelta.d.ts +1 -1
  143. package/dist/cjs/client/components/charts/KpiDelta.helpers.d.ts +2 -0
  144. package/dist/cjs/client/components/charts/KpiNumber.d.ts +1 -1
  145. package/dist/cjs/client/components/charts/KpiStates.d.ts +7 -2
  146. package/dist/cjs/client/components/charts/KpiText.d.ts +1 -1
  147. package/dist/cjs/client/components/charts/LineChart.d.ts +1 -1
  148. package/dist/cjs/client/components/charts/MarkdownChart.d.ts +1 -1
  149. package/dist/cjs/client/components/charts/MeasureProfileChart.d.ts +1 -1
  150. package/dist/cjs/client/components/charts/PieChart.d.ts +1 -1
  151. package/dist/cjs/client/components/charts/ProportionBarChart.config.d.ts +10 -0
  152. package/dist/cjs/client/components/charts/ProportionBarChart.d.ts +12 -0
  153. package/dist/cjs/client/components/charts/RadarChart.d.ts +1 -1
  154. package/dist/cjs/client/components/charts/RadialBarChart.d.ts +1 -1
  155. package/dist/cjs/client/components/charts/RetentionCombinedChart.d.ts +1 -1
  156. package/dist/cjs/client/components/charts/RetentionHeatmap.d.ts +1 -1
  157. package/dist/cjs/client/components/charts/SankeyChart.d.ts +1 -1
  158. package/dist/cjs/client/components/charts/ScatterChart.d.ts +1 -1
  159. package/dist/cjs/client/components/charts/SunburstChart.d.ts +1 -1
  160. package/dist/cjs/client/components/charts/TreeMapChart.d.ts +1 -1
  161. package/dist/cjs/client/components/charts/WaterfallChart.d.ts +1 -1
  162. package/dist/cjs/client/components/charts/cartesianChartHelpers.d.ts +62 -0
  163. package/dist/cjs/client/components/charts/chartScaffolding.d.ts +29 -0
  164. package/dist/cjs/client/components/dashboard/DashboardContext.d.ts +5 -1
  165. package/dist/cjs/client/components/dashboard/dashboardGridUtils.d.ts +2 -4
  166. package/dist/cjs/client/components/dashboardPortletCard/EditActionButtons.d.ts +34 -0
  167. package/dist/cjs/client/components/dashboardPortletCard/PortletCardHeader.d.ts +2 -12
  168. package/dist/cjs/client/components/dashboardPortletCard/PortletFloatingActions.d.ts +24 -0
  169. package/dist/cjs/client/components/dashboardPortletCard/cardStyles.d.ts +5 -0
  170. package/dist/cjs/client/components/dashboardPortletCard/propsEqual.d.ts +2 -0
  171. package/dist/cjs/client/components/mobileStackedLayout/memberDisplay.d.ts +21 -0
  172. package/dist/cjs/client/components.d.ts +1 -1
  173. package/dist/cjs/client/hooks/dashboard/groupGeometry.d.ts +23 -0
  174. package/dist/cjs/client/hooks/dashboard/groupUtils.d.ts +57 -0
  175. package/dist/cjs/client/hooks/dashboard/layoutUtils.d.ts +34 -3
  176. package/dist/cjs/client/hooks/dashboard/useDashboardController.d.ts +11 -3
  177. package/dist/cjs/client/hooks/dashboard/useRowLayoutEngine.d.ts +12 -2
  178. package/dist/cjs/client/hooks/useDashboardHook.d.ts +14 -1
  179. package/dist/cjs/client/icons/types.d.ts +1 -0
  180. package/dist/cjs/client/index.d.ts +1 -1
  181. package/dist/cjs/client/stores/dashboardStore.d.ts +11 -1
  182. package/dist/cjs/client/types.d.ts +37 -2
  183. package/dist/cli/index.cjs +6 -5
  184. package/dist/client/charts/chartConfigHelpers.d.ts +20 -0
  185. package/dist/client/charts.js +13 -13
  186. package/dist/client/chunks/DashboardEditModal-ByXLlXZD.js +11777 -0
  187. package/dist/client/chunks/DashboardEditModal-ByXLlXZD.js.map +1 -0
  188. package/dist/client/chunks/ProportionBarChart-lOeVz8ZC.js +109 -0
  189. package/dist/client/chunks/ProportionBarChart-lOeVz8ZC.js.map +1 -0
  190. package/dist/client/chunks/{RetentionCombinedChart-DY7wKLs5.js → RetentionCombinedChart-Mcm7zHFx.js} +8 -8
  191. package/dist/client/chunks/{RetentionCombinedChart-DY7wKLs5.js.map → RetentionCombinedChart-Mcm7zHFx.js.map} +1 -1
  192. package/dist/client/chunks/{RetentionHeatmap-iNCG-dLd.js → RetentionHeatmap-4VJx5KDM.js} +6 -6
  193. package/dist/client/chunks/{RetentionHeatmap-iNCG-dLd.js.map → RetentionHeatmap-4VJx5KDM.js.map} +1 -1
  194. package/dist/client/chunks/{analysis-builder-BDWychCW.js → analysis-builder-CWTJQQtL.js} +421 -413
  195. package/dist/client/chunks/analysis-builder-CWTJQQtL.js.map +1 -0
  196. package/dist/client/chunks/{analysis-builder-shared-DkL0e-wU.js → analysis-builder-shared-l-4WKVS1.js} +454 -452
  197. package/dist/client/chunks/analysis-builder-shared-l-4WKVS1.js.map +1 -0
  198. package/dist/client/chunks/{chart-activity-grid-DDqFVWoa.js → chart-activity-grid-DVOhLgxv.js} +61 -6
  199. package/dist/client/chunks/{chart-activity-grid-DDqFVWoa.js.map → chart-activity-grid-DVOhLgxv.js.map} +1 -1
  200. package/dist/client/chunks/chart-area-C-5ATxvi.js +963 -0
  201. package/dist/client/chunks/chart-area-C-5ATxvi.js.map +1 -0
  202. package/dist/client/chunks/{chart-bar-DAO3PPcE.js → chart-bar-CPiLaXHP.js} +71 -64
  203. package/dist/client/chunks/chart-bar-CPiLaXHP.js.map +1 -0
  204. package/dist/client/chunks/{chart-box-plot-CUpFyQQk.js → chart-box-plot-Bae5O9xC.js} +3 -3
  205. package/dist/client/chunks/{chart-box-plot-CUpFyQQk.js.map → chart-box-plot-Bae5O9xC.js.map} +1 -1
  206. package/dist/client/chunks/{chart-bubble-DvP_6_n9.js → chart-bubble-BFN5WIpf.js} +5 -5
  207. package/dist/client/chunks/{chart-bubble-DvP_6_n9.js.map → chart-bubble-BFN5WIpf.js.map} +1 -1
  208. package/dist/client/chunks/{chart-candlestick-Dx8ZCMzl.js → chart-candlestick-PBQKp_z7.js} +3 -3
  209. package/dist/client/chunks/{chart-candlestick-Dx8ZCMzl.js.map → chart-candlestick-PBQKp_z7.js.map} +1 -1
  210. package/dist/client/chunks/{chart-config-activity-grid-BU_bkvER.js → chart-config-activity-grid-C4vXGQNu.js} +2 -2
  211. package/dist/client/chunks/{chart-config-activity-grid-BU_bkvER.js.map → chart-config-activity-grid-C4vXGQNu.js.map} +1 -1
  212. package/dist/client/chunks/{chart-config-area-DxwIZ4Uf.js → chart-config-area-DsrZCIwF.js} +35 -4
  213. package/dist/client/chunks/chart-config-area-DsrZCIwF.js.map +1 -0
  214. package/dist/client/chunks/{chart-config-bar-Cc8GY9aQ.js → chart-config-bar-BixSs43E.js} +7 -7
  215. package/dist/client/chunks/{chart-config-bar-Cc8GY9aQ.js.map → chart-config-bar-BixSs43E.js.map} +1 -1
  216. package/dist/client/chunks/{chart-config-box-plot-Bs8ovYvV.js → chart-config-box-plot-DMuJZqkr.js} +2 -2
  217. package/dist/client/chunks/{chart-config-box-plot-Bs8ovYvV.js.map → chart-config-box-plot-DMuJZqkr.js.map} +1 -1
  218. package/dist/client/chunks/{chart-config-bubble-BfgY7pt8.js → chart-config-bubble-1IyZinH0.js} +2 -2
  219. package/dist/client/chunks/{chart-config-bubble-BfgY7pt8.js.map → chart-config-bubble-1IyZinH0.js.map} +1 -1
  220. package/dist/client/chunks/{chart-config-candlestick-jaeNNEtC.js → chart-config-candlestick-QwQwJB_-.js} +2 -2
  221. package/dist/client/chunks/{chart-config-candlestick-jaeNNEtC.js.map → chart-config-candlestick-QwQwJB_-.js.map} +1 -1
  222. package/dist/client/chunks/{chart-config-data-table-CRk0C0rW.js → chart-config-data-table-CrGyS7aJ.js} +2 -2
  223. package/dist/client/chunks/{chart-config-data-table-CRk0C0rW.js.map → chart-config-data-table-CrGyS7aJ.js.map} +1 -1
  224. package/dist/client/chunks/{chart-config-funnel-boT_LNfl.js → chart-config-funnel-DMLLKtPF.js} +2 -2
  225. package/dist/client/chunks/{chart-config-funnel-boT_LNfl.js.map → chart-config-funnel-DMLLKtPF.js.map} +1 -1
  226. package/dist/client/chunks/{chart-config-gauge-C5uJEr97.js → chart-config-gauge-DNafFwfS.js} +2 -2
  227. package/dist/client/chunks/{chart-config-gauge-C5uJEr97.js.map → chart-config-gauge-DNafFwfS.js.map} +1 -1
  228. package/dist/client/chunks/{chart-config-heat-map-CCarP44-.js → chart-config-heat-map-CJF65SyL.js} +2 -2
  229. package/dist/client/chunks/{chart-config-heat-map-CCarP44-.js.map → chart-config-heat-map-CJF65SyL.js.map} +1 -1
  230. package/dist/client/chunks/{chart-config-kpi-delta-DYopvwyG.js → chart-config-kpi-delta-Cl7k6jTj.js} +13 -4
  231. package/dist/client/chunks/chart-config-kpi-delta-Cl7k6jTj.js.map +1 -0
  232. package/dist/client/chunks/{chart-config-kpi-number-BhMdoArB.js → chart-config-kpi-number-DCcnANWC.js} +6 -4
  233. package/dist/client/chunks/chart-config-kpi-number-DCcnANWC.js.map +1 -0
  234. package/dist/client/chunks/{chart-config-kpi-text-DE6Zdi53.js → chart-config-kpi-text-DnnxvOSA.js} +2 -2
  235. package/dist/client/chunks/{chart-config-kpi-text-DE6Zdi53.js.map → chart-config-kpi-text-DnnxvOSA.js.map} +1 -1
  236. package/dist/client/chunks/{chart-config-line-CBfM0Rds.js → chart-config-line-CBF9Px9b.js} +9 -7
  237. package/dist/client/chunks/chart-config-line-CBF9Px9b.js.map +1 -0
  238. package/dist/client/chunks/{chart-config-markdown-BCDyBI8K.js → chart-config-markdown-C5kBQOjP.js} +2 -2
  239. package/dist/client/chunks/{chart-config-markdown-BCDyBI8K.js.map → chart-config-markdown-C5kBQOjP.js.map} +1 -1
  240. package/dist/client/chunks/{chart-config-measure-profile-BgQIH1u2.js → chart-config-measure-profile-CRSRIpKh.js} +2 -2
  241. package/dist/client/chunks/{chart-config-measure-profile-BgQIH1u2.js.map → chart-config-measure-profile-CRSRIpKh.js.map} +1 -1
  242. package/dist/client/chunks/{chart-config-pie-ChfFz6DV.js → chart-config-pie-DZLa6Eqm.js} +3 -3
  243. package/dist/client/chunks/{chart-config-pie-ChfFz6DV.js.map → chart-config-pie-DZLa6Eqm.js.map} +1 -1
  244. package/dist/client/chunks/{chart-config-radar-BlAIGnww.js → chart-config-radar-DR6vHHyd.js} +3 -3
  245. package/dist/client/chunks/{chart-config-radar-BlAIGnww.js.map → chart-config-radar-DR6vHHyd.js.map} +1 -1
  246. package/dist/client/chunks/{chart-config-radial-bar-VFerwbCO.js → chart-config-radial-bar-DVFou4fB.js} +3 -3
  247. package/dist/client/chunks/{chart-config-radial-bar-VFerwbCO.js.map → chart-config-radial-bar-DVFou4fB.js.map} +1 -1
  248. package/dist/client/chunks/{chart-config-sankey-BhrDxIgj.js → chart-config-sankey-De8E0C1A.js} +2 -2
  249. package/dist/client/chunks/{chart-config-sankey-BhrDxIgj.js.map → chart-config-sankey-De8E0C1A.js.map} +1 -1
  250. package/dist/client/chunks/{chart-config-scatter-q_olh54e.js → chart-config-scatter-CWA89oX4.js} +2 -2
  251. package/dist/client/chunks/{chart-config-scatter-q_olh54e.js.map → chart-config-scatter-CWA89oX4.js.map} +1 -1
  252. package/dist/client/chunks/{chart-config-sunburst-BOmkOnKn.js → chart-config-sunburst-B4NUYHMH.js} +2 -2
  253. package/dist/client/chunks/{chart-config-sunburst-BOmkOnKn.js.map → chart-config-sunburst-B4NUYHMH.js.map} +1 -1
  254. package/dist/client/chunks/{chart-config-tree-map-BjX88YBY.js → chart-config-tree-map-Uhise6Bx.js} +3 -3
  255. package/dist/client/chunks/{chart-config-tree-map-BjX88YBY.js.map → chart-config-tree-map-Uhise6Bx.js.map} +1 -1
  256. package/dist/client/chunks/{chart-config-waterfall-QsWXVSoF.js → chart-config-waterfall-DlQb_PLh.js} +2 -2
  257. package/dist/client/chunks/{chart-config-waterfall-QsWXVSoF.js.map → chart-config-waterfall-DlQb_PLh.js.map} +1 -1
  258. package/dist/client/chunks/{chart-data-table-BP6DMdom.js → chart-data-table-SNSqZj9B.js} +1072 -1034
  259. package/dist/client/chunks/chart-data-table-SNSqZj9B.js.map +1 -0
  260. package/dist/client/chunks/{chart-funnel-xeVGBy-p.js → chart-funnel-CkHSXp6h.js} +3 -3
  261. package/dist/client/chunks/{chart-funnel-xeVGBy-p.js.map → chart-funnel-CkHSXp6h.js.map} +1 -1
  262. package/dist/client/chunks/{chart-gauge-DXQ4r3cb.js → chart-gauge-DHIGq3TH.js} +62 -62
  263. package/dist/client/chunks/{chart-gauge-DXQ4r3cb.js.map → chart-gauge-DHIGq3TH.js.map} +1 -1
  264. package/dist/client/chunks/{chart-heat-map-Pnk6rhqQ.js → chart-heat-map-Bb8L1XQr.js} +4 -4
  265. package/dist/client/chunks/{chart-heat-map-Pnk6rhqQ.js.map → chart-heat-map-Bb8L1XQr.js.map} +1 -1
  266. package/dist/client/chunks/{chart-kpi-delta-nXQnRRBr.js → chart-kpi-delta-BJCOXE-F.js} +122 -48
  267. package/dist/client/chunks/chart-kpi-delta-BJCOXE-F.js.map +1 -0
  268. package/dist/client/chunks/chart-kpi-number-Cdqgv20g.js +263 -0
  269. package/dist/client/chunks/chart-kpi-number-Cdqgv20g.js.map +1 -0
  270. package/dist/client/chunks/{chart-kpi-text-CurpqmaD.js → chart-kpi-text-B10ZHCsI.js} +4 -4
  271. package/dist/client/chunks/{chart-kpi-text-CurpqmaD.js.map → chart-kpi-text-B10ZHCsI.js.map} +1 -1
  272. package/dist/client/chunks/chart-line-CzvVL3Be.js +117 -0
  273. package/dist/client/chunks/chart-line-CzvVL3Be.js.map +1 -0
  274. package/dist/client/chunks/{chart-markdown-BVrqqygz.js → chart-markdown-C0xxBW81.js} +1550 -1349
  275. package/dist/client/chunks/chart-markdown-C0xxBW81.js.map +1 -0
  276. package/dist/client/chunks/{chart-measure-profile-k9_QDQbB.js → chart-measure-profile-BSUPFZCR.js} +6 -5
  277. package/dist/client/chunks/{chart-measure-profile-k9_QDQbB.js.map → chart-measure-profile-BSUPFZCR.js.map} +1 -1
  278. package/dist/client/chunks/{chart-pie-BDaaYt7a.js → chart-pie-CwRfwWWZ.js} +11 -11
  279. package/dist/client/chunks/{chart-pie-BDaaYt7a.js.map → chart-pie-CwRfwWWZ.js.map} +1 -1
  280. package/dist/client/chunks/{chart-radar-Bz07PIVe.js → chart-radar-Dfql2E7i.js} +10 -10
  281. package/dist/client/chunks/{chart-radar-Bz07PIVe.js.map → chart-radar-Dfql2E7i.js.map} +1 -1
  282. package/dist/client/chunks/{chart-radial-bar-DpyxKQMj.js → chart-radial-bar-oE9OZ1IX.js} +11 -11
  283. package/dist/client/chunks/{chart-radial-bar-DpyxKQMj.js.map → chart-radial-bar-oE9OZ1IX.js.map} +1 -1
  284. package/dist/client/chunks/{chart-sankey-BAeNbI-p.js → chart-sankey-tK7Oz1bC.js} +3 -3
  285. package/dist/client/chunks/{chart-sankey-BAeNbI-p.js.map → chart-sankey-tK7Oz1bC.js.map} +1 -1
  286. package/dist/client/chunks/{chart-scatter-CRhGLCcy.js → chart-scatter-BtLfAsZb.js} +10 -10
  287. package/dist/client/chunks/{chart-scatter-CRhGLCcy.js.map → chart-scatter-BtLfAsZb.js.map} +1 -1
  288. package/dist/client/chunks/{chart-sunburst-D3wV5OrK.js → chart-sunburst-B7ryWwQ1.js} +4 -4
  289. package/dist/client/chunks/{chart-sunburst-D3wV5OrK.js.map → chart-sunburst-B7ryWwQ1.js.map} +1 -1
  290. package/dist/client/chunks/{chart-tree-map-iI3ewOKY.js → chart-tree-map-DU5M3-qe.js} +31 -29
  291. package/dist/client/chunks/{chart-tree-map-iI3ewOKY.js.map → chart-tree-map-DU5M3-qe.js.map} +1 -1
  292. package/dist/client/chunks/{chart-waterfall-BrrYTZfs.js → chart-waterfall-CAwutpzd.js} +4 -4
  293. package/dist/client/chunks/{chart-waterfall-BrrYTZfs.js.map → chart-waterfall-CAwutpzd.js.map} +1 -1
  294. package/dist/client/chunks/{charts-core-Cs-UIsQa.js → charts-core-BxBB2zBE.js} +2 -2
  295. package/dist/client/chunks/{charts-core-Cs-UIsQa.js.map → charts-core-BxBB2zBE.js.map} +1 -1
  296. package/dist/client/chunks/charts-loader-0avVzeDd.js +85 -0
  297. package/dist/client/chunks/charts-loader-0avVzeDd.js.map +1 -0
  298. package/dist/client/chunks/{core-D7vPfUIe.js → core-BWRP9s8x.js} +9 -8
  299. package/dist/client/chunks/core-BWRP9s8x.js.map +1 -0
  300. package/dist/client/chunks/{dist-BwQr11Fz.js → dist-BPmPx7kz.js} +56 -51
  301. package/dist/client/chunks/{dist-BwQr11Fz.js.map → dist-BPmPx7kz.js.map} +1 -1
  302. package/dist/client/chunks/{exceljs.min-Dey-qIFL.js → exceljs.min-DWC_b8G9.js} +236 -202
  303. package/dist/client/chunks/{exceljs.min-Dey-qIFL.js.map → exceljs.min-DWC_b8G9.js.map} +1 -1
  304. package/dist/client/chunks/{javascript-DFnKaHmQ.js → javascript-D6aJaG8F.js} +7 -5
  305. package/dist/client/chunks/javascript-D6aJaG8F.js.map +1 -0
  306. package/dist/client/chunks/json-BrJhaXJI.js +44 -0
  307. package/dist/client/chunks/json-BrJhaXJI.js.map +1 -0
  308. package/dist/client/chunks/{nl-NL-2zTAWTej.js → nl-NL-BSMhprPr.js} +57 -2
  309. package/dist/client/chunks/{nl-NL-2zTAWTej.js.map → nl-NL-BSMhprPr.js.map} +1 -1
  310. package/dist/client/chunks/{rolldown-runtime-CWhphoD1.js → rolldown-runtime-DArdT4gl.js} +2 -2
  311. package/dist/client/chunks/{schema-visualization-BGT_cNon.js → schema-visualization-CGbnbzj_.js} +10 -10
  312. package/dist/client/chunks/schema-visualization-CGbnbzj_.js.map +1 -0
  313. package/dist/client/chunks/{syntaxHighlighting-Bq2Bj9Xt.js → syntaxHighlighting-Cm43as8i.js} +2 -2
  314. package/dist/client/chunks/{syntaxHighlighting-Bq2Bj9Xt.js.map → syntaxHighlighting-Cm43as8i.js.map} +1 -1
  315. package/dist/client/chunks/{useDebounce-7suCFq9v.js → useDirtyStateTracking-Dc-Si4db.js} +112 -50
  316. package/dist/client/chunks/useDirtyStateTracking-Dc-Si4db.js.map +1 -0
  317. package/dist/client/chunks/{useExplainAI-DueJjb0r.js → useExplainAI-DJbc7Lu4.js} +18 -18
  318. package/dist/client/chunks/{useExplainAI-DueJjb0r.js.map → useExplainAI-DJbc7Lu4.js.map} +1 -1
  319. package/dist/client/chunks/{utils-DjLiJKS_.js → utils-CToHkuhU.js} +2 -2
  320. package/dist/client/chunks/{utils-DjLiJKS_.js.map → utils-CToHkuhU.js.map} +1 -1
  321. package/dist/client/chunks/{vendor-ChnlgSP0.js → vendor-cTfe9Kho.js} +223 -167
  322. package/dist/client/chunks/vendor-cTfe9Kho.js.map +1 -0
  323. package/dist/client/components/AgenticNotebook/AgentChatPanel.d.ts +1 -1
  324. package/dist/client/components/AgenticNotebook/ChatInput.d.ts +1 -1
  325. package/dist/client/components/AgenticNotebook/ChatMessage.d.ts +1 -1
  326. package/dist/client/components/AgenticNotebook/NotebookCanvas.d.ts +2 -2
  327. package/dist/client/components/AgenticNotebook/NotebookMarkdownBlock.d.ts +1 -1
  328. package/dist/client/components/AgenticNotebook/NotebookPortletBlock.d.ts +1 -1
  329. package/dist/client/components/AgenticNotebook/index.d.ts +1 -1
  330. package/dist/client/components/AnalysisBuilder/AnalysisQueryPanel.d.ts +1 -1
  331. package/dist/client/components/AnalysisBuilder/AnalysisResultsPanel.d.ts +1 -1
  332. package/dist/client/components/AnalysisBuilder/AnalysisTypeSelector.d.ts +1 -1
  333. package/dist/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +1 -1
  334. package/dist/client/components/AnalysisBuilder/BreakdownItemCard.d.ts +1 -1
  335. package/dist/client/components/AnalysisBuilder/BreakdownRow.d.ts +1 -1
  336. package/dist/client/components/AnalysisBuilder/BreakdownSection.d.ts +1 -1
  337. package/dist/client/components/AnalysisBuilder/ExecutionPlanPanel.d.ts +1 -1
  338. package/dist/client/components/AnalysisBuilder/FieldSearchResults.d.ts +1 -1
  339. package/dist/client/components/AnalysisBuilder/FlowConfigPanel.d.ts +1 -1
  340. package/dist/client/components/AnalysisBuilder/FlowDepthControls.d.ts +1 -1
  341. package/dist/client/components/AnalysisBuilder/FlowModeContent.d.ts +1 -1
  342. package/dist/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +1 -1
  343. package/dist/client/components/AnalysisBuilder/FunnelBindingKeySelector.d.ts +1 -1
  344. package/dist/client/components/AnalysisBuilder/FunnelConfigPanel.d.ts +1 -1
  345. package/dist/client/components/AnalysisBuilder/FunnelModeContent.d.ts +1 -1
  346. package/dist/client/components/AnalysisBuilder/FunnelStepCard.d.ts +1 -1
  347. package/dist/client/components/AnalysisBuilder/FunnelStepList.d.ts +1 -1
  348. package/dist/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +1 -1
  349. package/dist/client/components/AnalysisBuilder/MetricItemCard.d.ts +1 -1
  350. package/dist/client/components/AnalysisBuilder/MetricRow.d.ts +1 -1
  351. package/dist/client/components/AnalysisBuilder/MetricsSection.d.ts +1 -1
  352. package/dist/client/components/AnalysisBuilder/RetentionConfigPanel.d.ts +2 -2
  353. package/dist/client/components/AnalysisBuilder/RetentionModeContent.d.ts +1 -1
  354. package/dist/client/components/AnalysisBuilder/SortToggleButton.d.ts +1 -1
  355. package/dist/client/components/DashboardPortletCard.d.ts +1 -1
  356. package/dist/client/components/DataBrowser/DataBrowserTable.d.ts +1 -1
  357. package/dist/client/components/PortletGroupCard.d.ts +18 -0
  358. package/dist/client/components/RowManagedLayout.d.ts +15 -3
  359. package/dist/client/components/analyticsPortlet/intrinsicChartHeight.d.ts +9 -0
  360. package/dist/client/components/charts/ActivityGridChart.d.ts +1 -1
  361. package/dist/client/components/charts/AngledXAxisTick.d.ts +5 -0
  362. package/dist/client/components/charts/AreaChart.d.ts +1 -1
  363. package/dist/client/components/charts/BarChart.d.ts +1 -1
  364. package/dist/client/components/charts/BoxPlotChart.d.ts +1 -1
  365. package/dist/client/components/charts/BubbleChart.d.ts +1 -1
  366. package/dist/client/components/charts/CandlestickChart.d.ts +1 -1
  367. package/dist/client/components/charts/ChartContainer.d.ts +7 -1
  368. package/dist/client/components/charts/ChartSummaryHeader.d.ts +31 -0
  369. package/dist/client/components/charts/DataTable.d.ts +1 -1
  370. package/dist/client/components/charts/FunnelChart.d.ts +1 -1
  371. package/dist/client/components/charts/GaugeChart.d.ts +1 -1
  372. package/dist/client/components/charts/HeatMapChart.d.ts +1 -1
  373. package/dist/client/components/charts/KpiCompactLayout.d.ts +31 -0
  374. package/dist/client/components/charts/KpiDelta.d.ts +1 -1
  375. package/dist/client/components/charts/KpiDelta.helpers.d.ts +2 -0
  376. package/dist/client/components/charts/KpiNumber.d.ts +1 -1
  377. package/dist/client/components/charts/KpiStates.d.ts +7 -2
  378. package/dist/client/components/charts/KpiText.d.ts +1 -1
  379. package/dist/client/components/charts/LineChart.d.ts +1 -1
  380. package/dist/client/components/charts/MarkdownChart.d.ts +1 -1
  381. package/dist/client/components/charts/MeasureProfileChart.d.ts +1 -1
  382. package/dist/client/components/charts/PieChart.d.ts +1 -1
  383. package/dist/client/components/charts/ProportionBarChart.config.d.ts +10 -0
  384. package/dist/client/components/charts/ProportionBarChart.d.ts +12 -0
  385. package/dist/client/components/charts/RadarChart.d.ts +1 -1
  386. package/dist/client/components/charts/RadialBarChart.d.ts +1 -1
  387. package/dist/client/components/charts/RetentionCombinedChart.d.ts +1 -1
  388. package/dist/client/components/charts/RetentionHeatmap.d.ts +1 -1
  389. package/dist/client/components/charts/SankeyChart.d.ts +1 -1
  390. package/dist/client/components/charts/ScatterChart.d.ts +1 -1
  391. package/dist/client/components/charts/SunburstChart.d.ts +1 -1
  392. package/dist/client/components/charts/TreeMapChart.d.ts +1 -1
  393. package/dist/client/components/charts/WaterfallChart.d.ts +1 -1
  394. package/dist/client/components/charts/cartesianChartHelpers.d.ts +62 -0
  395. package/dist/client/components/charts/chartScaffolding.d.ts +29 -0
  396. package/dist/client/components/dashboard/DashboardContext.d.ts +5 -1
  397. package/dist/client/components/dashboard/dashboardGridUtils.d.ts +2 -4
  398. package/dist/client/components/dashboardPortletCard/EditActionButtons.d.ts +34 -0
  399. package/dist/client/components/dashboardPortletCard/PortletCardHeader.d.ts +2 -12
  400. package/dist/client/components/dashboardPortletCard/PortletFloatingActions.d.ts +24 -0
  401. package/dist/client/components/dashboardPortletCard/cardStyles.d.ts +5 -0
  402. package/dist/client/components/dashboardPortletCard/propsEqual.d.ts +2 -0
  403. package/dist/client/components/mobileStackedLayout/memberDisplay.d.ts +21 -0
  404. package/dist/client/components.d.ts +1 -1
  405. package/dist/client/components.js +3 -4
  406. package/dist/client/hooks/dashboard/groupGeometry.d.ts +23 -0
  407. package/dist/client/hooks/dashboard/groupUtils.d.ts +57 -0
  408. package/dist/client/hooks/dashboard/layoutUtils.d.ts +34 -3
  409. package/dist/client/hooks/dashboard/useDashboardController.d.ts +11 -3
  410. package/dist/client/hooks/dashboard/useRowLayoutEngine.d.ts +12 -2
  411. package/dist/client/hooks/useDashboardHook.d.ts +14 -1
  412. package/dist/client/hooks.js +4 -5
  413. package/dist/client/icons/types.d.ts +1 -0
  414. package/dist/client/icons.js +1 -1
  415. package/dist/client/index.d.ts +1 -1
  416. package/dist/client/index.js +48 -49
  417. package/dist/client/index.js.map +1 -1
  418. package/dist/client/providers.js +1 -1
  419. package/dist/client/schema.js +1 -1
  420. package/dist/client/stores/dashboardStore.d.ts +11 -1
  421. package/dist/client/styles.css +1 -1
  422. package/dist/client/styles.d.css.ts +2 -0
  423. package/dist/client/types.d.ts +37 -2
  424. package/dist/client/utils.js +13 -9
  425. package/dist/client/utils.js.map +1 -1
  426. package/dist/client-bundle-stats.html +388 -33
  427. package/dist/mcp-app/mcp-app.html +152 -165
  428. package/dist/server/chartConfigHelpers-BZMu_1EP.cjs +1 -0
  429. package/dist/server/{chartConfigHelpers-CcvqrIWF.js → chartConfigHelpers-BsnbxA2c.js} +30 -1
  430. package/dist/server/{dist-CH3hwAUk.js → dist-ChBfLb7x.js} +7 -4
  431. package/dist/server/{dist-BOdf-GQO.cjs → dist-CohrBmKe.cjs} +2 -2
  432. package/dist/server/google-BhvizbFR.cjs +2 -0
  433. package/dist/server/{google-CvKM9yVM.js → google-eKAc20al.js} +3 -3
  434. package/dist/server/index.cjs +84 -84
  435. package/dist/server/index.js +2436 -2260
  436. package/dist/server/openai-CUf4vc3Q.js +9295 -0
  437. package/dist/server/openai-Cu4TXXjl.cjs +19 -0
  438. package/dist/server/{openai-B6hWZk_r.js → openai-Czk1BdHa.js} +18 -17
  439. package/dist/{adapters/openai-C3-mjSAc.cjs → server/openai-DBwI1OSu.cjs} +1 -1
  440. package/dist/server/rolldown-runtime-B0aSnxlc.js +20 -0
  441. package/dist/server/rolldown-runtime-DF3sbh8G.cjs +1 -0
  442. package/package.json +14 -10
  443. package/dist/adapters/ActivityGridChart.config-BK3hB9co.cjs +0 -1
  444. package/dist/adapters/ActivityGridChart.config-C-68HsAw.js +0 -2
  445. package/dist/adapters/AreaChart.config-5G7_E-7u.cjs +0 -1
  446. package/dist/adapters/AreaChart.config-C7S67Qt4.js +0 -2
  447. package/dist/adapters/BarChart.config-C6kG_uEt.cjs +0 -1
  448. package/dist/adapters/BarChart.config-DQcicZYy.js +0 -2
  449. package/dist/adapters/BoxPlotChart.config-B4xDTwop.js +0 -2
  450. package/dist/adapters/BoxPlotChart.config-DifAPvo0.cjs +0 -1
  451. package/dist/adapters/BubbleChart.config-BS2edxZ5.cjs +0 -1
  452. package/dist/adapters/BubbleChart.config-C5AYou9n.js +0 -2
  453. package/dist/adapters/CandlestickChart.config-Duknkqyk.js +0 -2
  454. package/dist/adapters/CandlestickChart.config-jk3ZXIAQ.cjs +0 -1
  455. package/dist/adapters/DataTable.config-BG_5hx63.cjs +0 -1
  456. package/dist/adapters/DataTable.config-Bkv6CmFa.js +0 -2
  457. package/dist/adapters/FunnelChart.config-Dvy0S17e.js +0 -2
  458. package/dist/adapters/FunnelChart.config-DzqGZgKz.cjs +0 -1
  459. package/dist/adapters/GaugeChart.config-DAWIU33N.js +0 -2
  460. package/dist/adapters/GaugeChart.config-DC0NW8XT.cjs +0 -1
  461. package/dist/adapters/HeatMapChart.config-BlQDS9nY.cjs +0 -1
  462. package/dist/adapters/HeatMapChart.config-DccGkzHI.js +0 -2
  463. package/dist/adapters/KpiDelta.config-DvpALT3Z.js +0 -2
  464. package/dist/adapters/KpiDelta.config-u2AlJkZ3.cjs +0 -1
  465. package/dist/adapters/KpiNumber.config-CF_LqRh-.cjs +0 -1
  466. package/dist/adapters/KpiNumber.config-lhEzZOFR.js +0 -2
  467. package/dist/adapters/KpiText.config-BCYGZdnx.js +0 -2
  468. package/dist/adapters/KpiText.config-FbnsbjdV.cjs +0 -1
  469. package/dist/adapters/LineChart.config-B7qWURRH.js +0 -2
  470. package/dist/adapters/LineChart.config-B9JKd48E.cjs +0 -1
  471. package/dist/adapters/MarkdownChart.config-BIS9PqHh.js +0 -2
  472. package/dist/adapters/MarkdownChart.config-BfM9NaQe.cjs +0 -1
  473. package/dist/adapters/MeasureProfileChart.config-1hh--3nI.js +0 -2
  474. package/dist/adapters/MeasureProfileChart.config-cmL8wp6a.cjs +0 -1
  475. package/dist/adapters/PieChart.config-DzzCeT7z.cjs +0 -1
  476. package/dist/adapters/PieChart.config-aRJJwYx4.js +0 -2
  477. package/dist/adapters/RadarChart.config-AcZ7kWG8.js +0 -2
  478. package/dist/adapters/RadarChart.config-CddBTWAo.cjs +0 -1
  479. package/dist/adapters/RadialBarChart.config-D4qPexJV.cjs +0 -1
  480. package/dist/adapters/RadialBarChart.config-y-NBkq5N.js +0 -2
  481. package/dist/adapters/RetentionCombinedChart.config-BkRNE7lX.cjs +0 -1
  482. package/dist/adapters/RetentionCombinedChart.config-WoX6n6D5.js +0 -2
  483. package/dist/adapters/RetentionHeatmap.config-ByjWidhh.cjs +0 -1
  484. package/dist/adapters/RetentionHeatmap.config-DjXLk03y.js +0 -2
  485. package/dist/adapters/SankeyChart.config-BWO9LszQ.cjs +0 -1
  486. package/dist/adapters/SankeyChart.config-SuP0jjib.js +0 -2
  487. package/dist/adapters/ScatterChart.config-Dk1G4Eaj.cjs +0 -1
  488. package/dist/adapters/ScatterChart.config-DzVXd1ZM.js +0 -2
  489. package/dist/adapters/SunburstChart.config-Cu4ib4Ui.cjs +0 -1
  490. package/dist/adapters/SunburstChart.config-_0gUzNs7.js +0 -2
  491. package/dist/adapters/TreeMapChart.config-DbwYrje4.js +0 -2
  492. package/dist/adapters/TreeMapChart.config-hM8PukgE.cjs +0 -1
  493. package/dist/adapters/WaterfallChart.config-CjUHeE8R.js +0 -2
  494. package/dist/adapters/WaterfallChart.config-Dwxt0kK-.cjs +0 -1
  495. package/dist/adapters/chartConfigHelpers-DHQB-_v5.cjs +0 -1
  496. package/dist/adapters/compiler-D0v5KJhv.cjs +0 -166
  497. package/dist/adapters/core-VK-KVH9q.cjs +0 -1
  498. package/dist/adapters/google-BOnRIN1w.cjs +0 -2
  499. package/dist/adapters/mcp-transport-C2v5BTDF.cjs +0 -40
  500. package/dist/adapters/mcp-transport-CyDBoYEe.js +0 -601
  501. package/dist/adapters/openai-B1pC8nVM.js +0 -6178
  502. package/dist/adapters/openai-DQZaHN0V.cjs +0 -18
  503. package/dist/adapters/utils-CBR-9AMD.cjs +0 -128
  504. package/dist/client/chunks/ConfirmModal-D6eLc9NO.js +0 -3283
  505. package/dist/client/chunks/ConfirmModal-D6eLc9NO.js.map +0 -1
  506. package/dist/client/chunks/DashboardEditModal-9o16JNF0.js +0 -7580
  507. package/dist/client/chunks/DashboardEditModal-9o16JNF0.js.map +0 -1
  508. package/dist/client/chunks/analysis-builder-BDWychCW.js.map +0 -1
  509. package/dist/client/chunks/analysis-builder-shared-DkL0e-wU.js.map +0 -1
  510. package/dist/client/chunks/chart-area-BHxPNsmc.js +0 -775
  511. package/dist/client/chunks/chart-area-BHxPNsmc.js.map +0 -1
  512. package/dist/client/chunks/chart-bar-DAO3PPcE.js.map +0 -1
  513. package/dist/client/chunks/chart-config-area-DxwIZ4Uf.js.map +0 -1
  514. package/dist/client/chunks/chart-config-kpi-delta-DYopvwyG.js.map +0 -1
  515. package/dist/client/chunks/chart-config-kpi-number-BhMdoArB.js.map +0 -1
  516. package/dist/client/chunks/chart-config-line-CBfM0Rds.js.map +0 -1
  517. package/dist/client/chunks/chart-data-table-BP6DMdom.js.map +0 -1
  518. package/dist/client/chunks/chart-kpi-delta-nXQnRRBr.js.map +0 -1
  519. package/dist/client/chunks/chart-kpi-number-m8UGJfBr.js +0 -244
  520. package/dist/client/chunks/chart-kpi-number-m8UGJfBr.js.map +0 -1
  521. package/dist/client/chunks/chart-line-sJK-cJc0.js +0 -101
  522. package/dist/client/chunks/chart-line-sJK-cJc0.js.map +0 -1
  523. package/dist/client/chunks/chart-markdown-BVrqqygz.js.map +0 -1
  524. package/dist/client/chunks/charts-loader-DAJbAD7a.js +0 -84
  525. package/dist/client/chunks/charts-loader-DAJbAD7a.js.map +0 -1
  526. package/dist/client/chunks/core-D7vPfUIe.js.map +0 -1
  527. package/dist/client/chunks/javascript-DFnKaHmQ.js.map +0 -1
  528. package/dist/client/chunks/json-Cu6rbgWf.js +0 -38
  529. package/dist/client/chunks/json-Cu6rbgWf.js.map +0 -1
  530. package/dist/client/chunks/schema-visualization-BGT_cNon.js.map +0 -1
  531. package/dist/client/chunks/useDebounce-7suCFq9v.js.map +0 -1
  532. package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js +0 -66
  533. package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js.map +0 -1
  534. package/dist/client/chunks/vendor-ChnlgSP0.js.map +0 -1
  535. package/dist/server/chartConfigHelpers-DHQB-_v5.cjs +0 -1
  536. package/dist/server/google-BOnRIN1w.cjs +0 -2
  537. package/dist/server/openai-B1pC8nVM.js +0 -6178
  538. 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
- export declare const normalizeRows: (rows: RowLayout[], portlets: PortletConfig[], gridSettings: DashboardGridSettings) => RowLayout[];
7
- export declare const convertRowsToPortlets: (rows: RowLayout[], portlets: PortletConfig[]) => PortletConfig[];
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: string;
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
  };
@@ -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") if (subcommand === "init") chartsInit();
421
- else if (subcommand === "list") chartsList();
422
- else console.log(`
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;
@@ -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-BP6DMdom.js";
2
- import { d as l, l as u, s as d, u as f } from "./chunks/chart-activity-grid-DDqFVWoa.js";
3
- import { t as p } from "./chunks/chart-funnel-xeVGBy-p.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-DAJbAD7a.js";
5
- import { t as x } from "./chunks/chart-area-BHxPNsmc.js";
6
- import { i as S } from "./chunks/utils-DjLiJKS_.js";
7
- import { t as C } from "./chunks/chart-bar-DAO3PPcE.js";
8
- import { t as w } from "./chunks/chart-line-sJK-cJc0.js";
9
- import { t as T } from "./chunks/chart-pie-BDaaYt7a.js";
10
- import { t as E } from "./chunks/chart-scatter-CRhGLCcy.js";
11
- import { t as D } from "./chunks/chart-radar-Bz07PIVe.js";
12
- import { t as O } from "./chunks/chart-radial-bar-DpyxKQMj.js";
13
- import { t as k } from "./chunks/chart-tree-map-iI3ewOKY.js";
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 };