drizzle-cube 0.5.8 → 0.6.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 (388) hide show
  1. package/README.md +2 -0
  2. package/dist/adapters/adapters/hono/agent-handler.d.ts +9 -0
  3. package/dist/adapters/adapters/hono/mcp-handler.d.ts +37 -0
  4. package/dist/adapters/adapters/mcp-tools-handlers.d.ts +18 -0
  5. package/dist/adapters/adapters/nextjs/mcp-handler.d.ts +36 -0
  6. package/dist/adapters/adapters/utils.d.ts +6 -81
  7. package/dist/adapters/express/index.cjs +1 -1
  8. package/dist/adapters/express/index.js +50 -50
  9. package/dist/adapters/fastify/index.cjs +1 -1
  10. package/dist/adapters/fastify/index.js +78 -78
  11. package/dist/adapters/google-BOnRIN1w.cjs +2 -0
  12. package/dist/adapters/{google-CFYljAOF.js → google-CvKM9yVM.js} +83 -71
  13. package/dist/adapters/{handler-Cx8QYLk6.js → handler-CfgE0JSL.js} +499 -576
  14. package/dist/adapters/handler-Cn0dOctE.cjs +25 -0
  15. package/dist/adapters/hono/index.cjs +2 -2
  16. package/dist/adapters/hono/index.js +205 -175
  17. package/dist/adapters/locale-DDvZDFVn.js +8114 -0
  18. package/dist/adapters/locale-ZLUUNUxr.cjs +166 -0
  19. package/dist/adapters/mcp-tools.cjs +1 -1
  20. package/dist/adapters/mcp-tools.js +49 -38
  21. package/dist/adapters/mcp-transport-Chiaj4ll.cjs +40 -0
  22. package/dist/adapters/mcp-transport-H96VG3WY.js +591 -0
  23. package/dist/adapters/nextjs/index.cjs +1 -1
  24. package/dist/adapters/nextjs/index.js +190 -197
  25. package/dist/adapters/{openai-BZdAA7Ji.js → openai-cDlFSTk6.js} +60 -58
  26. package/dist/adapters/openai-vXvLni8v.cjs +1 -0
  27. package/dist/adapters/{utils-D9JPLmfl.js → utils-BPWZsX7k.js} +1271 -1218
  28. package/dist/adapters/utils-_whV4fXL.cjs +128 -0
  29. package/dist/adapters/utils.cjs +1 -1
  30. package/dist/adapters/utils.js +2 -2
  31. package/dist/client/charts/ChartLoader.d.ts +2 -16
  32. package/dist/client/charts/chartComponentRegistry.d.ts +46 -0
  33. package/dist/client/charts/chartConfigHelpers.d.ts +38 -0
  34. package/dist/client/charts.js +14 -13
  35. package/dist/client/chunks/{DashboardEditModal-CjCIAT-J.js → DashboardEditModal-okVfH8ZK.js} +5296 -4544
  36. package/dist/client/chunks/DashboardEditModal-okVfH8ZK.js.map +1 -0
  37. package/dist/client/chunks/{RetentionCombinedChart-BPkfcTa8.js → RetentionCombinedChart-BgbDhsPz.js} +10 -10
  38. package/dist/client/chunks/{RetentionCombinedChart-BPkfcTa8.js.map → RetentionCombinedChart-BgbDhsPz.js.map} +1 -1
  39. package/dist/client/chunks/{RetentionHeatmap-DGzLzr7h.js → RetentionHeatmap-DjXZaTPq.js} +5 -5
  40. package/dist/client/chunks/{RetentionHeatmap-DGzLzr7h.js.map → RetentionHeatmap-DjXZaTPq.js.map} +1 -1
  41. package/dist/client/chunks/analysis-builder-DB88FojM.js +5674 -0
  42. package/dist/client/chunks/analysis-builder-DB88FojM.js.map +1 -0
  43. package/dist/client/chunks/{analysis-builder-shared-CYVwSPqt.js → analysis-builder-shared-BVK4TYfR.js} +1578 -1292
  44. package/dist/client/chunks/analysis-builder-shared-BVK4TYfR.js.map +1 -0
  45. package/dist/client/chunks/{chart-activity-grid-DmruKPab.js → chart-activity-grid-DX0SJbxs.js} +635 -492
  46. package/dist/client/chunks/chart-activity-grid-DX0SJbxs.js.map +1 -0
  47. package/dist/client/chunks/chart-area-of01_62R.js +775 -0
  48. package/dist/client/chunks/chart-area-of01_62R.js.map +1 -0
  49. package/dist/client/chunks/chart-bar-BqelQE_I.js +194 -0
  50. package/dist/client/chunks/chart-bar-BqelQE_I.js.map +1 -0
  51. package/dist/client/chunks/{chart-box-plot-DYKfyOI8.js → chart-box-plot-kkBixZ27.js} +2 -2
  52. package/dist/client/chunks/{chart-box-plot-DYKfyOI8.js.map → chart-box-plot-kkBixZ27.js.map} +1 -1
  53. package/dist/client/chunks/chart-bubble-B2he1--4.js +221 -0
  54. package/dist/client/chunks/chart-bubble-B2he1--4.js.map +1 -0
  55. package/dist/client/chunks/{chart-candlestick-Dwc92Mrj.js → chart-candlestick-DZp19Tzh.js} +2 -2
  56. package/dist/client/chunks/{chart-candlestick-Dwc92Mrj.js.map → chart-candlestick-DZp19Tzh.js.map} +1 -1
  57. package/dist/client/chunks/chart-config-area-BNigHUy8.js +124 -0
  58. package/dist/client/chunks/chart-config-area-BNigHUy8.js.map +1 -0
  59. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js +54 -0
  60. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js.map +1 -0
  61. package/dist/client/chunks/{chart-config-box-plot-DJ-dWWXA.js → chart-config-box-plot-oW8axV2q.js} +5 -10
  62. package/dist/client/chunks/chart-config-box-plot-oW8axV2q.js.map +1 -0
  63. package/dist/client/chunks/{chart-config-gauge-DSwC04l0.js → chart-config-gauge-Dq-_H9UN.js} +5 -7
  64. package/dist/client/chunks/chart-config-gauge-Dq-_H9UN.js.map +1 -0
  65. package/dist/client/chunks/{chart-config-kpi-delta-D6BIkHL3.js → chart-config-kpi-delta-DSQbvqu_.js} +5 -10
  66. package/dist/client/chunks/chart-config-kpi-delta-DSQbvqu_.js.map +1 -0
  67. package/dist/client/chunks/{chart-config-kpi-number-Bx-V9a62.js → chart-config-kpi-number-EFSWY1We.js} +5 -7
  68. package/dist/client/chunks/chart-config-kpi-number-EFSWY1We.js.map +1 -0
  69. package/dist/client/chunks/{chart-config-kpi-text-CcqC1u-8.js → chart-config-kpi-text-KM3V5X2u.js} +5 -7
  70. package/dist/client/chunks/chart-config-kpi-text-KM3V5X2u.js.map +1 -0
  71. package/dist/client/chunks/{chart-config-line-Db3jDsWc.js → chart-config-line-D6jG8PCH.js} +9 -36
  72. package/dist/client/chunks/chart-config-line-D6jG8PCH.js.map +1 -0
  73. package/dist/client/chunks/{chart-config-pie-DD4SmRTF.js → chart-config-pie-BhzW-fdn.js} +6 -16
  74. package/dist/client/chunks/chart-config-pie-BhzW-fdn.js.map +1 -0
  75. package/dist/client/chunks/{chart-config-radar-CC2XAaGr.js → chart-config-radar-D7REP1q_.js} +6 -16
  76. package/dist/client/chunks/chart-config-radar-D7REP1q_.js.map +1 -0
  77. package/dist/client/chunks/{chart-config-radial-bar-DmxKx1R0.js → chart-config-radial-bar-Byx6qOPU.js} +6 -16
  78. package/dist/client/chunks/chart-config-radial-bar-Byx6qOPU.js.map +1 -0
  79. package/dist/client/chunks/{chart-config-tree-map-BI-oQStO.js → chart-config-tree-map-DVrvf3yQ.js} +6 -16
  80. package/dist/client/chunks/chart-config-tree-map-DVrvf3yQ.js.map +1 -0
  81. package/dist/client/chunks/{chart-config-waterfall-DSnyixbI.js → chart-config-waterfall-DmFeQdIk.js} +5 -10
  82. package/dist/client/chunks/chart-config-waterfall-DmFeQdIk.js.map +1 -0
  83. package/dist/client/chunks/{chart-data-table-BO4sXsim.js → chart-data-table-CKauQXme.js} +1046 -1121
  84. package/dist/client/chunks/chart-data-table-CKauQXme.js.map +1 -0
  85. package/dist/client/chunks/{chart-funnel-DnWRsmnS.js → chart-funnel-CToKSBaL.js} +184 -222
  86. package/dist/client/chunks/chart-funnel-CToKSBaL.js.map +1 -0
  87. package/dist/client/chunks/chart-gauge-DTVezSk7.js +403 -0
  88. package/dist/client/chunks/chart-gauge-DTVezSk7.js.map +1 -0
  89. package/dist/client/chunks/chart-heat-map-DTuUl0BR.js +236 -0
  90. package/dist/client/chunks/chart-heat-map-DTuUl0BR.js.map +1 -0
  91. package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js +408 -0
  92. package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js.map +1 -0
  93. package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js +244 -0
  94. package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js.map +1 -0
  95. package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js +185 -0
  96. package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js.map +1 -0
  97. package/dist/client/chunks/chart-line-DKgrQA6c.js +101 -0
  98. package/dist/client/chunks/chart-line-DKgrQA6c.js.map +1 -0
  99. package/dist/client/chunks/{chart-markdown-dgUetjyM.js → chart-markdown-CV75S_zL.js} +2 -2
  100. package/dist/client/chunks/{chart-markdown-dgUetjyM.js.map → chart-markdown-CV75S_zL.js.map} +1 -1
  101. package/dist/client/chunks/{chart-measure-profile-ClfpLs4q.js → chart-measure-profile-Ket8fJyf.js} +7 -7
  102. package/dist/client/chunks/{chart-measure-profile-ClfpLs4q.js.map → chart-measure-profile-Ket8fJyf.js.map} +1 -1
  103. package/dist/client/chunks/chart-pie-ByieAX5H.js +119 -0
  104. package/dist/client/chunks/chart-pie-ByieAX5H.js.map +1 -0
  105. package/dist/client/chunks/chart-radar-CiSwHWp4.js +138 -0
  106. package/dist/client/chunks/chart-radar-CiSwHWp4.js.map +1 -0
  107. package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js +122 -0
  108. package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js.map +1 -0
  109. package/dist/client/chunks/{chart-sankey-M3XpO_ah.js → chart-sankey-DjrvKw6K.js} +36 -39
  110. package/dist/client/chunks/{chart-sankey-M3XpO_ah.js.map → chart-sankey-DjrvKw6K.js.map} +1 -1
  111. package/dist/client/chunks/chart-scatter-Dd9WFqnS.js +258 -0
  112. package/dist/client/chunks/chart-scatter-Dd9WFqnS.js.map +1 -0
  113. package/dist/client/chunks/{chart-sunburst-A_u6lqlS.js → chart-sunburst-leGpuDj7.js} +3 -3
  114. package/dist/client/chunks/{chart-sunburst-A_u6lqlS.js.map → chart-sunburst-leGpuDj7.js.map} +1 -1
  115. package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js +323 -0
  116. package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js.map +1 -0
  117. package/dist/client/chunks/{chart-waterfall-BuhMoagf.js → chart-waterfall-DyvQReN5.js} +7 -7
  118. package/dist/client/chunks/{chart-waterfall-BuhMoagf.js.map → chart-waterfall-DyvQReN5.js.map} +1 -1
  119. package/dist/client/chunks/{charts-core-jRtb0S2M.js → charts-core-DaXSt1Dd.js} +2 -2
  120. package/dist/client/chunks/{charts-core-jRtb0S2M.js.map → charts-core-DaXSt1Dd.js.map} +1 -1
  121. package/dist/client/chunks/charts-loader-DdTeCeNo.js +84 -0
  122. package/dist/client/chunks/charts-loader-DdTeCeNo.js.map +1 -0
  123. package/dist/client/chunks/{nl-NL-CpVs7ox3.js → nl-NL-2zTAWTej.js} +2 -1
  124. package/dist/client/chunks/{nl-NL-CpVs7ox3.js.map → nl-NL-2zTAWTej.js.map} +1 -1
  125. package/dist/client/chunks/retention-ChW9jYdy.js.map +1 -1
  126. package/dist/client/chunks/{schema-visualization-DE09kQE3.js → schema-visualization-Cb_E9_Gd.js} +12 -12
  127. package/dist/client/chunks/{schema-visualization-DE09kQE3.js.map → schema-visualization-Cb_E9_Gd.js.map} +1 -1
  128. package/dist/client/chunks/{useDirtyStateTracking-CoeQbprt.js → useDirtyStateTracking-MbpxH_v6.js} +95 -84
  129. package/dist/client/chunks/useDirtyStateTracking-MbpxH_v6.js.map +1 -0
  130. package/dist/client/chunks/{useExplainAI-DlnXWdmz.js → useExplainAI-evnZkjCY.js} +14 -14
  131. package/dist/client/chunks/{useExplainAI-DlnXWdmz.js.map → useExplainAI-evnZkjCY.js.map} +1 -1
  132. package/dist/client/chunks/{utils-CTKNaXS8.js → utils-3P6z1vz5.js} +2 -2
  133. package/dist/client/chunks/{utils-CTKNaXS8.js.map → utils-3P6z1vz5.js.map} +1 -1
  134. package/dist/client/chunks/{vendor-CPIYyeuD.js → vendor-DSpR0IW6.js} +43 -43
  135. package/dist/client/chunks/{vendor-CPIYyeuD.js.map → vendor-DSpR0IW6.js.map} +1 -1
  136. package/dist/client/components/AgenticNotebook/agentChatParts.d.ts +34 -0
  137. package/dist/client/components/AgenticNotebook/chatMessageParts.d.ts +39 -0
  138. package/dist/client/components/AgenticNotebook/useAgentChatController.d.ts +25 -0
  139. package/dist/client/components/AgenticNotebook/useNotebookAutosave.d.ts +12 -0
  140. package/dist/client/components/AnalysisBuilder/AnalysisQueryPanelParts.d.ts +64 -0
  141. package/dist/client/components/AnalysisBuilder/AnalysisResultsHeader.d.ts +67 -0
  142. package/dist/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +13 -0
  143. package/dist/client/components/AnalysisBuilder/BreakdownRow.d.ts +26 -0
  144. package/dist/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +10 -0
  145. package/dist/client/components/AnalysisBuilder/ExecutionPlanPanelParts.d.ts +22 -0
  146. package/dist/client/components/AnalysisBuilder/FieldSearchResults.d.ts +16 -0
  147. package/dist/client/components/AnalysisBuilder/FilterValueInput.d.ts +63 -0
  148. package/dist/client/components/AnalysisBuilder/FlowDepthControls.d.ts +10 -0
  149. package/dist/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +7 -0
  150. package/dist/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +8 -0
  151. package/dist/client/components/AnalysisBuilder/MetricRow.d.ts +23 -0
  152. package/dist/client/components/AnalysisBuilder/SortToggleButton.d.ts +13 -0
  153. package/dist/client/components/AnalysisBuilder/StringArrayInput.d.ts +17 -0
  154. package/dist/client/components/AnalysisBuilder/filterConfigModalUtils.d.ts +30 -0
  155. package/dist/client/components/AnalysisBuilder/hooks/useAnalysisBuilderImperativeHandle.d.ts +13 -0
  156. package/dist/client/components/AnalysisBuilder/hooks/useDragReorder.d.ts +25 -0
  157. package/dist/client/components/AnalysisBuilder/hooks/useFieldSearchKeyboard.d.ts +11 -0
  158. package/dist/client/components/AnalysisBuilder/utils/axisConfigUtils.d.ts +23 -0
  159. package/dist/client/components/AnalysisBuilder/utils/executionPlanMarkdown.d.ts +8 -0
  160. package/dist/client/components/AnalysisBuilder/utils/fieldUtils.d.ts +5 -0
  161. package/dist/client/components/AnalysisBuilder/utils/resultsPanelDerive.d.ts +68 -0
  162. package/dist/client/components/AnalysisBuilder/utils/shareStateUtils.d.ts +68 -0
  163. package/dist/client/components/AnalysisBuilder/utils/sortUtils.d.ts +7 -0
  164. package/dist/client/components/DashboardFilters/CompactFilterBarParts.d.ts +26 -0
  165. package/dist/client/components/DashboardFilters/DashboardFilterConfigModalParts.d.ts +27 -0
  166. package/dist/client/components/DashboardFilters/DashboardFilterValueInput.d.ts +39 -0
  167. package/dist/client/components/DashboardFilters/dashboardFilterConfigModalUtils.d.ts +21 -0
  168. package/dist/client/components/DashboardFilters/useCompactFilterBar.d.ts +19 -0
  169. package/dist/client/components/DashboardFilters/useDashboardFilterConfigModal.d.ts +69 -0
  170. package/dist/client/components/DashboardFilters/useDateRangeState.d.ts +19 -0
  171. package/dist/client/components/DashboardFilters/useFilterDropdowns.d.ts +21 -0
  172. package/dist/client/components/DashboardFilters/useFilterValueFetch.d.ts +23 -0
  173. package/dist/client/components/DashboardPortletCard.d.ts +2 -57
  174. package/dist/client/components/analyticsPortlet/PortletChart.d.ts +31 -0
  175. package/dist/client/components/analyticsPortlet/PortletChartView.d.ts +35 -0
  176. package/dist/client/components/analyticsPortlet/PortletStates.d.ts +65 -0
  177. package/dist/client/components/analyticsPortlet/parsePortletQuery.d.ts +22 -0
  178. package/dist/client/components/analyticsPortlet/portletRenderState.d.ts +31 -0
  179. package/dist/client/components/analyticsPortlet/usePortletDebugData.d.ts +37 -0
  180. package/dist/client/components/analyticsPortlet/usePortletDrillState.d.ts +17 -0
  181. package/dist/client/components/analyticsPortlet/usePortletQueryResults.d.ts +37 -0
  182. package/dist/client/components/charts/ActivityGridChart.helpers.d.ts +33 -0
  183. package/dist/client/components/charts/ActivityGridChart.render.d.ts +31 -0
  184. package/dist/client/components/charts/AxisFormatControls.d.ts +3 -1
  185. package/dist/client/components/charts/BarChart.helpers.d.ts +23 -0
  186. package/dist/client/components/charts/BarSeries.d.ts +29 -0
  187. package/dist/client/components/charts/BubbleChart.helpers.d.ts +43 -0
  188. package/dist/client/components/charts/BubbleChart.render.d.ts +21 -0
  189. package/dist/client/components/charts/ChartStates.d.ts +38 -0
  190. package/dist/client/components/charts/FunnelChart.helpers.d.ts +25 -0
  191. package/dist/client/components/charts/FunnelViews.d.ts +16 -0
  192. package/dist/client/components/charts/HeatMapCanvas.d.ts +25 -0
  193. package/dist/client/components/charts/HeatMapChart.helpers.d.ts +64 -0
  194. package/dist/client/components/charts/KpiDelta.helpers.d.ts +20 -0
  195. package/dist/client/components/charts/KpiNumber.helpers.d.ts +30 -0
  196. package/dist/client/components/charts/KpiStates.d.ts +19 -0
  197. package/dist/client/components/charts/ScatterChart.helpers.d.ts +43 -0
  198. package/dist/client/components/charts/ScatterSeries.d.ts +17 -0
  199. package/dist/client/components/charts/ScatterTooltip.d.ts +21 -0
  200. package/dist/client/components/charts/TreeMapChart.helpers.d.ts +37 -0
  201. package/dist/client/components/charts/TreeMapContent.d.ts +24 -0
  202. package/dist/client/components/charts/TreeMapLegend.d.ts +13 -0
  203. package/dist/client/components/charts/cartesianChartHelpers.d.ts +126 -0
  204. package/dist/client/components/charts/chartAxisResolution.d.ts +32 -0
  205. package/dist/client/components/charts/chartScaffolding.d.ts +77 -0
  206. package/dist/client/components/charts/gaugeChartHelpers.d.ts +36 -0
  207. package/dist/client/components/charts/kpiTextHelpers.d.ts +46 -0
  208. package/dist/client/components/charts/radarChartHelpers.d.ts +14 -0
  209. package/dist/client/components/charts/radialBarChartHelpers.d.ts +22 -0
  210. package/dist/client/components/charts/useChartDimensions.d.ts +20 -0
  211. package/dist/client/components/charts/useKpiDimensions.d.ts +30 -0
  212. package/dist/client/components/dashboard/DashboardEditBar.d.ts +5 -0
  213. package/dist/client/components/dashboard/LayoutModeToggle.d.ts +10 -0
  214. package/dist/client/components/dashboardPortletCard/FilterFieldChip.d.ts +12 -0
  215. package/dist/client/components/dashboardPortletCard/PortletCardHeader.d.ts +43 -0
  216. package/dist/client/components/dashboardPortletCard/cardStyles.d.ts +33 -0
  217. package/dist/client/components/dashboardPortletCard/filterField.d.ts +12 -0
  218. package/dist/client/components/dashboardPortletCard/propsEqual.d.ts +55 -0
  219. package/dist/client/components/dashboardPortletCard/usePortletCardActions.d.ts +16 -0
  220. package/dist/client/components/portletAnalysisModal/saveValidation.d.ts +8 -0
  221. package/dist/client/components/shared/dateRangeUtils.d.ts +40 -0
  222. package/dist/client/components/shared/filterDisplayUtils.d.ts +10 -0
  223. package/dist/client/components/shared/filterItem/FilterDateRangeSelector.d.ts +17 -0
  224. package/dist/client/components/shared/filterItem/FilterFieldDropdown.d.ts +16 -0
  225. package/dist/client/components/shared/filterItem/dateRangeSync.d.ts +14 -0
  226. package/dist/client/components/shared/filterItem/fieldVisuals.d.ts +5 -0
  227. package/dist/client/components/shared/filterValueSelector/FilterValueInputs.d.ts +55 -0
  228. package/dist/client/components/shared/filterValueSelector/useFilterValueSelectorState.d.ts +25 -0
  229. package/dist/client/components/shared/queryFieldUtils.d.ts +21 -0
  230. package/dist/client/components/shared/utils.d.ts +4 -43
  231. package/dist/client/components.js +3 -3
  232. package/dist/client/hooks/agentChatStream.d.ts +39 -0
  233. package/dist/client/hooks/analysisQueryExecutionModes.d.ts +133 -0
  234. package/dist/client/hooks/drillNavigation.d.ts +25 -0
  235. package/dist/client/hooks.js +3 -3
  236. package/dist/client/icons.js +2 -2
  237. package/dist/client/index.js +816 -669
  238. package/dist/client/index.js.map +1 -1
  239. package/dist/client/providers.js +3 -3
  240. package/dist/client/schema.js +1 -1
  241. package/dist/client/shared/chartConfigBuilders.d.ts +18 -0
  242. package/dist/client/shared/components/QueryAnalysisPanel.sections.d.ts +41 -0
  243. package/dist/client/shared/queryTransforms.d.ts +20 -0
  244. package/dist/client/shared/utils.d.ts +2 -4
  245. package/dist/client/stores/optionsToAnalysisConfig.d.ts +17 -0
  246. package/dist/client/styles.css +1 -1
  247. package/dist/client/utils/axisValueFormatting.d.ts +32 -0
  248. package/dist/client/utils/timeValueFormatting.d.ts +32 -0
  249. package/dist/client/utils.js +6 -6
  250. package/dist/client-bundle-stats.html +1 -1
  251. package/dist/mcp-app/mcp-app.html +55 -55
  252. package/dist/server/google-BOnRIN1w.cjs +2 -0
  253. package/dist/server/{google-CFYljAOF.js → google-CvKM9yVM.js} +83 -71
  254. package/dist/server/index.cjs +179 -211
  255. package/dist/server/index.js +6330 -6458
  256. package/dist/server/{openai-BZdAA7Ji.js → openai-cDlFSTk6.js} +60 -58
  257. package/dist/server/openai-vXvLni8v.cjs +1 -0
  258. package/dist/server/server/adapters/base-adapter.d.ts +80 -35
  259. package/dist/server/server/adapters/databend-adapter.d.ts +8 -59
  260. package/dist/server/server/adapters/duckdb-adapter.d.ts +5 -59
  261. package/dist/server/server/adapters/mysql-adapter.d.ts +13 -70
  262. package/dist/server/server/adapters/postgres-adapter.d.ts +1 -65
  263. package/dist/server/server/adapters/snowflake-adapter.d.ts +5 -68
  264. package/dist/server/server/adapters/sqlite-adapter.d.ts +12 -32
  265. package/dist/server/server/adapters/window-function-builder.d.ts +11 -0
  266. package/dist/server/server/agent/chart-validation.d.ts +0 -5
  267. package/dist/server/server/agent/handler-steps.d.ts +37 -0
  268. package/dist/server/server/ai/discovery-helpers.d.ts +29 -0
  269. package/dist/server/server/ai/discovery.d.ts +4 -0
  270. package/dist/server/server/ai/suggestion-helpers.d.ts +33 -0
  271. package/dist/server/server/ai/suggestion.d.ts +0 -3
  272. package/dist/server/server/ai/validation-helpers.d.ts +21 -0
  273. package/dist/server/server/ai/validation.d.ts +0 -3
  274. package/dist/server/server/builders/analysis-utils.d.ts +106 -0
  275. package/dist/server/server/builders/cte-builder.d.ts +46 -0
  276. package/dist/server/server/builders/date-time-builder.d.ts +5 -0
  277. package/dist/server/server/builders/date-time-helpers.d.ts +34 -0
  278. package/dist/server/server/builders/filter-builder.d.ts +2 -0
  279. package/dist/server/server/builders/filter-operators.d.ts +23 -0
  280. package/dist/server/server/builders/flow-query-builder.d.ts +46 -19
  281. package/dist/server/server/builders/funnel-query-builder.d.ts +16 -5
  282. package/dist/server/server/builders/group-by-builder.d.ts +11 -0
  283. package/dist/server/server/builders/measure-builder.d.ts +43 -0
  284. package/dist/server/server/builders/retention-query-builder.d.ts +12 -14
  285. package/dist/server/server/cache-utils.d.ts +25 -5
  286. package/dist/server/server/compiler-metadata.d.ts +11 -0
  287. package/dist/server/server/compiler.d.ts +8 -14
  288. package/dist/server/server/cube-utils.d.ts +29 -4
  289. package/dist/server/server/execution/annotation-builder.d.ts +12 -0
  290. package/dist/server/server/execution/filter-cache-preloader.d.ts +19 -0
  291. package/dist/server/server/execution/mode-router.d.ts +25 -0
  292. package/dist/server/server/execution/query-result-cache.d.ts +21 -0
  293. package/dist/server/server/execution/result-post-processor.d.ts +10 -0
  294. package/dist/server/server/executor.d.ts +33 -30
  295. package/dist/server/server/executors/explain-utils.d.ts +28 -0
  296. package/dist/server/server/explain/explain-tree.d.ts +20 -0
  297. package/dist/server/server/filter-cache.d.ts +2 -2
  298. package/dist/server/server/gap-filler.d.ts +6 -0
  299. package/dist/server/server/index.d.ts +3 -1
  300. package/dist/server/server/logical-plan/cte-planner-helpers.d.ts +37 -0
  301. package/dist/server/server/logical-plan/cte-planner.d.ts +104 -0
  302. package/dist/server/server/logical-plan/filter-propagation.d.ts +44 -0
  303. package/dist/server/server/logical-plan/index.d.ts +6 -1
  304. package/dist/server/server/logical-plan/join-planner.d.ts +27 -0
  305. package/dist/server/server/logical-plan/logical-planner.d.ts +7 -200
  306. package/dist/server/server/logical-plan/optimiser.d.ts +3 -1
  307. package/dist/server/server/logical-plan/plan-analysis-reporter.d.ts +59 -0
  308. package/dist/server/server/logical-plan/planner-utils.d.ts +20 -0
  309. package/dist/server/server/logical-plan/types.d.ts +17 -9
  310. package/dist/server/server/measure-classification.d.ts +40 -0
  311. package/dist/server/server/physical-plan/drizzle-plan-builder.d.ts +21 -21
  312. package/dist/server/server/physical-plan/drizzle-sql-builder.d.ts +11 -0
  313. package/dist/server/server/physical-plan/processors/index.d.ts +2 -0
  314. package/dist/server/server/physical-plan/processors/keys-dedup-processor.d.ts +13 -0
  315. package/dist/server/server/physical-plan/processors/multi-fact-processor.d.ts +13 -0
  316. package/dist/server/server/physical-plan/processors/shared.d.ts +5 -0
  317. package/dist/server/server/query-handlers.d.ts +79 -0
  318. package/dist/server/server/query-modes.d.ts +28 -0
  319. package/dist/server/server/query-validator.d.ts +9 -0
  320. package/dist/server/server/resolvers/calculated-measure-resolver.d.ts +5 -0
  321. package/dist/server/server/resolvers/join-path-resolver.d.ts +6 -0
  322. package/dist/server/server/sql-format.d.ts +11 -0
  323. package/dist/server/server/types/cube.d.ts +18 -4
  324. package/dist/server/server/types/flow.d.ts +6 -5
  325. package/dist/server/server/types/index.d.ts +1 -1
  326. package/dist/server/server/types/validation.d.ts +14 -0
  327. package/package.json +11 -4
  328. package/dist/adapters/google-DUlXeeDA.cjs +0 -2
  329. package/dist/adapters/handler-CzbCuS6_.cjs +0 -25
  330. package/dist/adapters/locale-BPB7flIG.js +0 -8249
  331. package/dist/adapters/locale-tIMrNcCr.cjs +0 -198
  332. package/dist/adapters/mcp-transport-C2QzXm6h.cjs +0 -40
  333. package/dist/adapters/mcp-transport-D0B3S1tB.js +0 -579
  334. package/dist/adapters/openai-D_U4V0kT.cjs +0 -1
  335. package/dist/adapters/utils-KV37IBIv.cjs +0 -128
  336. package/dist/client/chunks/DashboardEditModal-CjCIAT-J.js.map +0 -1
  337. package/dist/client/chunks/analysis-builder-MuMIzoRq.js +0 -5367
  338. package/dist/client/chunks/analysis-builder-MuMIzoRq.js.map +0 -1
  339. package/dist/client/chunks/analysis-builder-shared-CYVwSPqt.js.map +0 -1
  340. package/dist/client/chunks/chart-activity-grid-DmruKPab.js.map +0 -1
  341. package/dist/client/chunks/chart-area-DHCPM4Em.js +0 -450
  342. package/dist/client/chunks/chart-area-DHCPM4Em.js.map +0 -1
  343. package/dist/client/chunks/chart-bar-KddciGDv.js +0 -271
  344. package/dist/client/chunks/chart-bar-KddciGDv.js.map +0 -1
  345. package/dist/client/chunks/chart-bubble-CfqiB538.js +0 -273
  346. package/dist/client/chunks/chart-bubble-CfqiB538.js.map +0 -1
  347. package/dist/client/chunks/chart-config-area-Bq_UsW3x.js +0 -101
  348. package/dist/client/chunks/chart-config-area-Bq_UsW3x.js.map +0 -1
  349. package/dist/client/chunks/chart-config-bar-_JEGZnAu.js +0 -95
  350. package/dist/client/chunks/chart-config-bar-_JEGZnAu.js.map +0 -1
  351. package/dist/client/chunks/chart-config-box-plot-DJ-dWWXA.js.map +0 -1
  352. package/dist/client/chunks/chart-config-gauge-DSwC04l0.js.map +0 -1
  353. package/dist/client/chunks/chart-config-kpi-delta-D6BIkHL3.js.map +0 -1
  354. package/dist/client/chunks/chart-config-kpi-number-Bx-V9a62.js.map +0 -1
  355. package/dist/client/chunks/chart-config-kpi-text-CcqC1u-8.js.map +0 -1
  356. package/dist/client/chunks/chart-config-line-Db3jDsWc.js.map +0 -1
  357. package/dist/client/chunks/chart-config-pie-DD4SmRTF.js.map +0 -1
  358. package/dist/client/chunks/chart-config-radar-CC2XAaGr.js.map +0 -1
  359. package/dist/client/chunks/chart-config-radial-bar-DmxKx1R0.js.map +0 -1
  360. package/dist/client/chunks/chart-config-tree-map-BI-oQStO.js.map +0 -1
  361. package/dist/client/chunks/chart-config-waterfall-DSnyixbI.js.map +0 -1
  362. package/dist/client/chunks/chart-data-table-BO4sXsim.js.map +0 -1
  363. package/dist/client/chunks/chart-funnel-DnWRsmnS.js.map +0 -1
  364. package/dist/client/chunks/chart-gauge-CgMeqeGb.js +0 -424
  365. package/dist/client/chunks/chart-gauge-CgMeqeGb.js.map +0 -1
  366. package/dist/client/chunks/chart-heat-map-DcGm9SWK.js +0 -231
  367. package/dist/client/chunks/chart-heat-map-DcGm9SWK.js.map +0 -1
  368. package/dist/client/chunks/chart-kpi-delta-C2wKPqCb.js +0 -343
  369. package/dist/client/chunks/chart-kpi-delta-C2wKPqCb.js.map +0 -1
  370. package/dist/client/chunks/chart-kpi-number-gWYF44ol.js +0 -322
  371. package/dist/client/chunks/chart-kpi-number-gWYF44ol.js.map +0 -1
  372. package/dist/client/chunks/chart-kpi-text-DIYtJtk4.js +0 -149
  373. package/dist/client/chunks/chart-kpi-text-DIYtJtk4.js.map +0 -1
  374. package/dist/client/chunks/chart-line-9BEGN5Ti.js +0 -433
  375. package/dist/client/chunks/chart-line-9BEGN5Ti.js.map +0 -1
  376. package/dist/client/chunks/chart-pie-BjAIhyOi.js +0 -172
  377. package/dist/client/chunks/chart-pie-BjAIhyOi.js.map +0 -1
  378. package/dist/client/chunks/chart-radar-Dgkcl2bN.js +0 -154
  379. package/dist/client/chunks/chart-radar-Dgkcl2bN.js.map +0 -1
  380. package/dist/client/chunks/chart-radial-bar-DdWJjAhK.js +0 -148
  381. package/dist/client/chunks/chart-radial-bar-DdWJjAhK.js.map +0 -1
  382. package/dist/client/chunks/chart-scatter-DaHYP_OL.js +0 -255
  383. package/dist/client/chunks/chart-scatter-DaHYP_OL.js.map +0 -1
  384. package/dist/client/chunks/chart-tree-map-uiwUU4nb.js +0 -298
  385. package/dist/client/chunks/chart-tree-map-uiwUU4nb.js.map +0 -1
  386. package/dist/client/chunks/useDirtyStateTracking-CoeQbprt.js.map +0 -1
  387. package/dist/server/google-DUlXeeDA.cjs +0 -2
  388. package/dist/server/openai-D_U4V0kT.cjs +0 -1
@@ -1,5 +1,5 @@
1
1
  import { n as e } from "./rolldown-runtime-CWhphoD1.js";
2
- import { k as t, n } from "./chart-activity-grid-DmruKPab.js";
2
+ import { P as t, s as n } from "./chart-activity-grid-DX0SJbxs.js";
3
3
  import r, { useMemo as i } from "react";
4
4
  import { jsx as a, jsxs as o } from "react/jsx-runtime";
5
5
  import { Cell as s, Funnel as c, FunnelChart as l, LabelList as u, ResponsiveContainer as d, Tooltip as f } from "recharts";
@@ -49,7 +49,7 @@ function _(e, t, n, r, i = !0) {
49
49
  bindingKey: t.dimension,
50
50
  timeDimension: v(e, t),
51
51
  steps: e.map((e, t) => {
52
- let i = { name: n?.[t] || `Step ${t + 1}` }, a = y(e);
52
+ let i = { name: n?.[t] || `Step ${t + 1}` }, a = x(e);
53
53
  a && (i.filter = a);
54
54
  let o = r?.[t];
55
55
  return o && (i.timeToConvert = o), i;
@@ -58,31 +58,29 @@ function _(e, t, n, r, i = !0) {
58
58
  } };
59
59
  }
60
60
  function v(e, t) {
61
- if (!Array.isArray(t.dimension)) {
62
- for (let t of e) if (t.timeDimensions?.length) return t.timeDimensions[0].dimension;
63
- let t = m(e[0]);
64
- if (t) return `${t}.createdAt`;
65
- throw Error("Funnel requires at least one time dimension in step queries");
66
- }
67
- let n = [], r = t.dimension;
68
- for (let t of r) {
69
- let r = e.find((e) => m(e) === t.cube);
70
- n.push(r?.timeDimensions?.length ? {
71
- cube: t.cube,
72
- dimension: r.timeDimensions[0].dimension
73
- } : {
74
- cube: t.cube,
75
- dimension: `${t.cube}.createdAt`
76
- });
77
- }
78
- return n;
61
+ return Array.isArray(t.dimension) ? b(e, t.dimension) : y(e);
79
62
  }
80
63
  function y(e) {
64
+ for (let t of e) if (t.timeDimensions?.length) return t.timeDimensions[0].dimension;
65
+ let t = m(e[0]);
66
+ if (t) return `${t}.createdAt`;
67
+ throw Error("Funnel requires at least one time dimension in step queries");
68
+ }
69
+ function b(e, t) {
70
+ return t.map((t) => {
71
+ let n = e.find((e) => m(e) === t.cube), r = n?.timeDimensions?.length ? n.timeDimensions[0].dimension : `${t.cube}.createdAt`;
72
+ return {
73
+ cube: t.cube,
74
+ dimension: r
75
+ };
76
+ });
77
+ }
78
+ function x(e) {
81
79
  if (!e.filters?.length) return;
82
80
  let t = e.filters.filter((e) => "member" in e);
83
81
  if (t.length !== 0) return t.length === 1 ? t[0] : t;
84
82
  }
85
- function b(e, t) {
83
+ function S(e, t) {
86
84
  return e?.length ? e.map((e, n) => ({
87
85
  name: t?.[n] || e.step,
88
86
  value: e.count,
@@ -94,7 +92,7 @@ function b(e, t) {
94
92
  p90SecondsToConvert: e.p90SecondsToConvert
95
93
  })) : [];
96
94
  }
97
- function x(e) {
95
+ function C(e) {
98
96
  if (e == null) return "-";
99
97
  if (e < 60) return `${Math.round(e)}s`;
100
98
  if (e < 3600) {
@@ -109,29 +107,18 @@ function x(e) {
109
107
  return t < 10 ? `${t.toFixed(1)}d` : `${Math.round(t)}d`;
110
108
  }
111
109
  //#endregion
112
- //#region src/client/components/charts/FunnelChart.tsx
113
- var S = /* @__PURE__ */ e({ default: () => D }), C = [
114
- "#3B82F6",
115
- "#60A5FA",
116
- "#93C5FD",
117
- "#BFDBFE",
118
- "#DBEAFE"
119
- ];
120
- function w(e, t) {
121
- let n = t || C;
122
- return n[e % n.length];
123
- }
124
- function T(e) {
110
+ //#region src/client/components/charts/FunnelChart.helpers.ts
111
+ function w(e) {
125
112
  if (!e || e.length === 0) return !1;
126
113
  let t = e[0];
127
114
  return typeof t == "object" && !!t && "name" in t && "value" in t && "percentage" in t;
128
115
  }
129
- function E(e, t, n, r) {
116
+ function T(e, t, n, r) {
130
117
  let i = [];
131
- return t && e.avgSecondsToConvert != null && i.push(`Avg: ${x(e.avgSecondsToConvert)}`), n && e.medianSecondsToConvert != null && i.push(`Med: ${x(e.medianSecondsToConvert)}`), r && e.p90SecondsToConvert != null && i.push(`P90: ${x(e.p90SecondsToConvert)}`), i;
118
+ return t && e.avgSecondsToConvert != null && i.push(`Avg: ${C(e.avgSecondsToConvert)}`), n && e.medianSecondsToConvert != null && i.push(`Med: ${C(e.medianSecondsToConvert)}`), r && e.p90SecondsToConvert != null && i.push(`P90: ${C(e.p90SecondsToConvert)}`), i;
132
119
  }
133
- var D = r.memo(function({ data: e, height: r = "100%", colorPalette: p, displayConfig: m }) {
134
- let { t: h } = t(), g = m?.funnelStepLabels, _ = (m?.funnelOrientation || "horizontal") === "vertical", v = m?.funnelStyle ?? "bars", y = m?.showFunnelConversion ?? !0, b = m?.showFunnelAvgTime ?? m?.showFunnelTimeMetrics ?? !1, x = m?.showFunnelMedianTime ?? !1, S = m?.showFunnelP90Time ?? !1, C = i(() => !e || e.length === 0 ? [] : T(e) ? e : e.map((e, t) => {
120
+ function E(e) {
121
+ return !e || e.length === 0 ? [] : w(e) ? e : e.map((e, t) => {
135
122
  let n = e, r = Object.keys(n).find((e) => e.toLowerCase().includes("step") || e.toLowerCase().includes("name") || e === "__stepName"), i = r ? String(n[r]) : `Step ${t + 1}`, a = Object.keys(n).find((e) => e.toLowerCase().includes("count") || e.toLowerCase().includes("value") || e === "__count"), o = a && Number(n[a]) || 0, s = Object.keys(n).find((e) => e.toLowerCase().includes("percent") || e === "__percentage"), c = s && Number(n[s]) || 0, l = Object.keys(n).find((e) => e.toLowerCase().includes("conversion") || e === "__conversionRate");
136
123
  return {
137
124
  name: i,
@@ -140,32 +127,94 @@ var D = r.memo(function({ data: e, height: r = "100%", colorPalette: p, displayC
140
127
  conversionRate: l && Number(n[l]) || null,
141
128
  stepIndex: t
142
129
  };
143
- }), [e]), D = C[0]?.value || 0;
144
- if (!e || e.length === 0 || C.length === 0) return /* @__PURE__ */ a("div", {
145
- className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted",
146
- style: { height: r },
130
+ });
131
+ }
132
+ function D(e) {
133
+ return {
134
+ customStepLabels: e?.funnelStepLabels,
135
+ isVertical: (e?.funnelOrientation || "horizontal") === "vertical",
136
+ funnelStyle: e?.funnelStyle ?? "bars",
137
+ showConversion: e?.showFunnelConversion ?? !0,
138
+ showAvgTime: e?.showFunnelAvgTime ?? e?.showFunnelTimeMetrics ?? !1,
139
+ showMedianTime: e?.showFunnelMedianTime ?? !1,
140
+ showP90Time: e?.showFunnelP90Time ?? !1,
141
+ hideSummaryFooter: e?.hideSummaryFooter ?? !1
142
+ };
143
+ }
144
+ function O(e, t) {
145
+ return t[e % t.length];
146
+ }
147
+ //#endregion
148
+ //#region src/client/components/charts/FunnelViews.tsx
149
+ function k({ funnelData: e, firstStepValue: n }) {
150
+ let { t: r } = t(), i = e[e.length - 1]?.value || 0;
151
+ return /* @__PURE__ */ a("div", {
152
+ className: "dc:flex-shrink-0 dc:px-4 dc:py-2 dc:border-t border-dc-border bg-dc-surface-secondary",
147
153
  children: /* @__PURE__ */ o("div", {
148
- className: "dc:text-center",
149
- children: [/* @__PURE__ */ a("div", {
150
- className: "dc:text-sm dc:font-semibold dc:mb-1",
151
- children: h("chart.runtime.funnel.noData")
152
- }), /* @__PURE__ */ a("div", {
153
- className: "dc:text-xs text-dc-text-secondary",
154
- children: h("chart.runtime.noDataHint.funnel")
155
- })]
154
+ className: "dc:flex dc:items-center dc:justify-between dc:text-sm",
155
+ children: [
156
+ /* @__PURE__ */ o("div", {
157
+ className: "text-dc-text-muted",
158
+ children: [/* @__PURE__ */ a("span", {
159
+ className: "dc:font-medium",
160
+ children: e.length
161
+ }), " steps"]
162
+ }),
163
+ /* @__PURE__ */ o("div", {
164
+ className: "text-dc-text",
165
+ children: [
166
+ /* @__PURE__ */ a("span", {
167
+ className: "text-dc-text-muted",
168
+ children: r("chart.runtime.funnel.overall")
169
+ }),
170
+ " ",
171
+ /* @__PURE__ */ a("span", {
172
+ className: "dc:font-medium",
173
+ children: n > 0 ? `${(i / n * 100).toFixed(1)}%` : "0%"
174
+ })
175
+ ]
176
+ }),
177
+ /* @__PURE__ */ o("div", {
178
+ className: "text-dc-text-muted",
179
+ children: [
180
+ i.toLocaleString() || 0,
181
+ " / ",
182
+ n.toLocaleString(),
183
+ " completed"
184
+ ]
185
+ })
186
+ ]
156
187
  })
157
188
  });
158
- let O = p?.colors || n;
159
- return v === "funnel" ? /* @__PURE__ */ o("div", {
189
+ }
190
+ function A({ stepConversionRate: e, arrow: t, showConversion: n, timeMetricsLines: r }) {
191
+ return e === null ? /* @__PURE__ */ a("div", {
192
+ className: "dc:text-xs text-dc-text-muted",
193
+ children: "—"
194
+ }) : /* @__PURE__ */ o("div", {
195
+ className: "dc:text-xs text-dc-text-secondary",
196
+ children: [n && /* @__PURE__ */ o("span", { children: [
197
+ t,
198
+ " ",
199
+ e.toFixed(1),
200
+ "%"
201
+ ] }), r.length > 0 && /* @__PURE__ */ a("div", {
202
+ className: "text-dc-text-muted dc:mt-0.5 dc:space-y-0.5",
203
+ children: r.map((e, t) => /* @__PURE__ */ o("div", { children: ["⏱ ", e] }, t))
204
+ })]
205
+ });
206
+ }
207
+ function j({ funnelData: e, firstStepValue: t, paletteColors: n, options: r, height: i }) {
208
+ return /* @__PURE__ */ o("div", {
160
209
  className: "dc:relative dc:w-full dc:h-full dc:flex dc:flex-col",
161
- style: { height: r },
210
+ style: { height: i },
162
211
  children: [/* @__PURE__ */ a("div", {
163
212
  className: "dc:flex-1",
164
213
  children: /* @__PURE__ */ a(d, {
165
214
  width: "100%",
166
215
  height: "100%",
167
216
  children: /* @__PURE__ */ o(l, {
168
- layout: _ ? "horizontal" : "vertical",
217
+ layout: r.isVertical ? "horizontal" : "vertical",
169
218
  accessibilityLayer: !1,
170
219
  children: [/* @__PURE__ */ a(f, {
171
220
  formatter: (e) => typeof e == "number" ? e.toLocaleString() : String(e),
@@ -177,10 +226,10 @@ var D = r.memo(function({ data: e, height: r = "100%", colorPalette: p, displayC
177
226
  }), /* @__PURE__ */ o(c, {
178
227
  dataKey: "value",
179
228
  nameKey: "name",
180
- data: C,
229
+ data: e,
181
230
  isAnimationActive: !0,
182
231
  children: [
183
- C.map((e, t) => /* @__PURE__ */ a(s, { fill: w(t, O) }, `cell-${t}`)),
232
+ e.map((e, t) => /* @__PURE__ */ a(s, { fill: O(t, n) }, `cell-${t}`)),
184
233
  /* @__PURE__ */ a(u, {
185
234
  position: "right",
186
235
  dataKey: "name",
@@ -201,69 +250,30 @@ var D = r.memo(function({ data: e, height: r = "100%", colorPalette: p, displayC
201
250
  })]
202
251
  })
203
252
  })
204
- }), !m?.hideSummaryFooter && /* @__PURE__ */ a("div", {
205
- className: "dc:flex-shrink-0 dc:px-4 dc:py-2 dc:border-t border-dc-border bg-dc-surface-secondary",
206
- children: /* @__PURE__ */ o("div", {
207
- className: "dc:flex dc:items-center dc:justify-between dc:text-sm",
208
- children: [
209
- /* @__PURE__ */ o("div", {
210
- className: "text-dc-text-muted",
211
- children: [/* @__PURE__ */ a("span", {
212
- className: "dc:font-medium",
213
- children: C.length
214
- }), " steps"]
215
- }),
216
- /* @__PURE__ */ o("div", {
217
- className: "text-dc-text",
218
- children: [
219
- /* @__PURE__ */ a("span", {
220
- className: "text-dc-text-muted",
221
- children: h("chart.runtime.funnel.overall")
222
- }),
223
- " ",
224
- /* @__PURE__ */ a("span", {
225
- className: "dc:font-medium",
226
- children: D > 0 ? `${((C[C.length - 1]?.value || 0) / D * 100).toFixed(1)}%` : "0%"
227
- })
228
- ]
229
- }),
230
- /* @__PURE__ */ o("div", {
231
- className: "text-dc-text-muted",
232
- children: [
233
- C[C.length - 1]?.value.toLocaleString() || 0,
234
- " / ",
235
- D.toLocaleString(),
236
- " completed"
237
- ]
238
- })
239
- ]
240
- })
253
+ }), !r.hideSummaryFooter && /* @__PURE__ */ a(k, {
254
+ funnelData: e,
255
+ firstStepValue: t
241
256
  })]
242
- }) : _ ? /* @__PURE__ */ o("div", {
257
+ });
258
+ }
259
+ function M({ funnelData: e, firstStepValue: t, paletteColors: n, options: r, height: i }) {
260
+ return /* @__PURE__ */ o("div", {
243
261
  className: "dc:relative dc:w-full dc:h-full dc:flex dc:flex-col",
244
- style: { height: r },
262
+ style: { height: i },
245
263
  children: [/* @__PURE__ */ a("div", {
246
264
  className: "dc:flex-1 dc:flex dc:items-end dc:justify-center dc:gap-4 dc:px-4 dc:py-3 dc:overflow-hidden",
247
- children: C.map((e, t) => {
248
- let n = D > 0 ? e.value / D * 100 : 0, r = t > 0 ? C[t - 1] : null, i = r && r.value > 0 ? e.value / r.value * 100 : null, s = g?.[t] || e.name, c = E(e, b, x, S), l = c.length;
265
+ children: e.map((i, s) => {
266
+ let c = t > 0 ? i.value / t * 100 : 0, l = s > 0 ? e[s - 1] : null, u = l && l.value > 0 ? i.value / l.value * 100 : null, d = r.customStepLabels?.[s] || i.name, f = T(i, r.showAvgTime, r.showMedianTime, r.showP90Time), p = f.length;
249
267
  return /* @__PURE__ */ o("div", {
250
268
  className: "dc:flex dc:flex-col dc:items-center dc:gap-2 dc:flex-1 dc:max-w-32 dc:h-full",
251
269
  children: [
252
270
  /* @__PURE__ */ a("div", {
253
- className: `${l > 0 ? l > 1 ? "dc:min-h-16" : "dc:min-h-10" : "dc:h-5"} dc:flex-shrink-0 dc:text-center`,
254
- children: i === null ? /* @__PURE__ */ a("div", {
255
- className: "dc:text-xs text-dc-text-muted",
256
- children: ""
257
- }) : /* @__PURE__ */ o("div", {
258
- className: "dc:text-xs text-dc-text-secondary",
259
- children: [y && /* @__PURE__ */ o("span", { children: [
260
- "→ ",
261
- i.toFixed(1),
262
- "%"
263
- ] }), l > 0 && /* @__PURE__ */ a("div", {
264
- className: "text-dc-text-muted dc:mt-0.5 dc:space-y-0.5",
265
- children: c.map((e, t) => /* @__PURE__ */ o("div", { children: ["⏱ ", e] }, t))
266
- })]
271
+ className: `${p > 0 ? p > 1 ? "dc:min-h-16" : "dc:min-h-10" : "dc:h-5"} dc:flex-shrink-0 dc:text-center`,
272
+ children: /* @__PURE__ */ a(A, {
273
+ stepConversionRate: u,
274
+ arrow: "",
275
+ showConversion: r.showConversion,
276
+ timeMetricsLines: f
267
277
  })
268
278
  }),
269
279
  /* @__PURE__ */ o("div", {
@@ -273,16 +283,16 @@ var D = r.memo(function({ data: e, height: r = "100%", colorPalette: p, displayC
273
283
  /* @__PURE__ */ a("div", {
274
284
  className: "dc:absolute dc:bottom-0 dc:left-0 dc:right-0 dc:rounded-sm dc:transition-all dc:duration-300",
275
285
  style: {
276
- height: `${Math.max(n, 5)}%`,
277
- backgroundColor: w(t, O)
286
+ height: `${Math.max(c, 5)}%`,
287
+ backgroundColor: O(s, n)
278
288
  }
279
289
  }),
280
290
  /* @__PURE__ */ a("div", {
281
291
  className: "dc:absolute dc:bottom-0 dc:left-0 dc:right-0 dc:flex dc:items-end dc:justify-center dc:pb-1 dc:pointer-events-none",
282
- style: { height: `${Math.max(n, 20)}%` },
292
+ style: { height: `${Math.max(c, 20)}%` },
283
293
  children: /* @__PURE__ */ o("span", {
284
294
  className: "dc:text-xs dc:font-medium text-white dc:drop-shadow-sm",
285
- children: [e.percentage?.toFixed(1) ?? n.toFixed(1), "%"]
295
+ children: [i.percentage?.toFixed(1) ?? c.toFixed(1), "%"]
286
296
  })
287
297
  })
288
298
  ]
@@ -291,61 +301,30 @@ var D = r.memo(function({ data: e, height: r = "100%", colorPalette: p, displayC
291
301
  className: "dc:flex-shrink-0 dc:text-center",
292
302
  children: [/* @__PURE__ */ a("div", {
293
303
  className: "dc:text-sm dc:font-medium text-dc-text dc:truncate",
294
- title: s,
295
- children: s
304
+ title: d,
305
+ children: d
296
306
  }), /* @__PURE__ */ a("div", {
297
307
  className: "dc:text-xs text-dc-text-muted",
298
- children: e.value.toLocaleString()
308
+ children: i.value.toLocaleString()
299
309
  })]
300
310
  })
301
311
  ]
302
- }, e.name);
303
- })
304
- }), !m?.hideSummaryFooter && /* @__PURE__ */ a("div", {
305
- className: "dc:flex-shrink-0 dc:px-4 dc:py-2 dc:border-t border-dc-border bg-dc-surface-secondary",
306
- children: /* @__PURE__ */ o("div", {
307
- className: "dc:flex dc:items-center dc:justify-between dc:text-sm",
308
- children: [
309
- /* @__PURE__ */ o("div", {
310
- className: "text-dc-text-muted",
311
- children: [/* @__PURE__ */ a("span", {
312
- className: "dc:font-medium",
313
- children: C.length
314
- }), " steps"]
315
- }),
316
- /* @__PURE__ */ o("div", {
317
- className: "text-dc-text",
318
- children: [
319
- /* @__PURE__ */ a("span", {
320
- className: "text-dc-text-muted",
321
- children: h("chart.runtime.funnel.overall")
322
- }),
323
- " ",
324
- /* @__PURE__ */ a("span", {
325
- className: "dc:font-medium",
326
- children: D > 0 ? `${((C[C.length - 1]?.value || 0) / D * 100).toFixed(1)}%` : "0%"
327
- })
328
- ]
329
- }),
330
- /* @__PURE__ */ o("div", {
331
- className: "text-dc-text-muted",
332
- children: [
333
- C[C.length - 1]?.value.toLocaleString() || 0,
334
- " / ",
335
- D.toLocaleString(),
336
- " completed"
337
- ]
338
- })
339
- ]
312
+ }, i.name);
340
313
  })
314
+ }), !r.hideSummaryFooter && /* @__PURE__ */ a(k, {
315
+ funnelData: e,
316
+ firstStepValue: t
341
317
  })]
342
- }) : /* @__PURE__ */ o("div", {
318
+ });
319
+ }
320
+ function N({ funnelData: e, firstStepValue: t, paletteColors: n, options: r, height: i }) {
321
+ return /* @__PURE__ */ o("div", {
343
322
  className: "dc:relative dc:w-full dc:h-full dc:flex dc:flex-col",
344
- style: { height: r },
323
+ style: { height: i },
345
324
  children: [/* @__PURE__ */ a("div", {
346
325
  className: "dc:flex-1 dc:flex dc:flex-col dc:justify-center dc:gap-2 dc:px-4 dc:py-3 dc:overflow-hidden",
347
- children: C.map((e, t) => {
348
- let n = D > 0 ? e.value / D * 100 : 0, r = t > 0 ? C[t - 1] : null, i = r && r.value > 0 ? e.value / r.value * 100 : null, s = g?.[t] || e.name, c = E(e, b, x, S), l = c.length;
326
+ children: e.map((i, s) => {
327
+ let c = t > 0 ? i.value / t * 100 : 0, l = s > 0 ? e[s - 1] : null, u = l && l.value > 0 ? i.value / l.value * 100 : null, d = r.customStepLabels?.[s] || i.name, f = T(i, r.showAvgTime, r.showMedianTime, r.showP90Time), p = f.length;
349
328
  return /* @__PURE__ */ o("div", {
350
329
  className: "dc:flex dc:items-center dc:gap-3",
351
330
  children: [
@@ -353,11 +332,11 @@ var D = r.memo(function({ data: e, height: r = "100%", colorPalette: p, displayC
353
332
  className: "dc:w-24 dc:flex-shrink-0 dc:text-right",
354
333
  children: [/* @__PURE__ */ a("div", {
355
334
  className: "dc:text-sm dc:font-medium text-dc-text dc:truncate",
356
- title: s,
357
- children: s
335
+ title: d,
336
+ children: d
358
337
  }), /* @__PURE__ */ a("div", {
359
338
  className: "dc:text-xs text-dc-text-muted",
360
- children: e.value.toLocaleString()
339
+ children: i.value.toLocaleString()
361
340
  })]
362
341
  }),
363
342
  /* @__PURE__ */ o("div", {
@@ -367,81 +346,64 @@ var D = r.memo(function({ data: e, height: r = "100%", colorPalette: p, displayC
367
346
  /* @__PURE__ */ a("div", {
368
347
  className: "dc:absolute dc:top-0 dc:left-0 dc:h-8 dc:rounded-sm dc:transition-all dc:duration-300",
369
348
  style: {
370
- width: `${Math.max(n, 2)}%`,
371
- backgroundColor: w(t, O)
349
+ width: `${Math.max(c, 2)}%`,
350
+ backgroundColor: O(s, n)
372
351
  }
373
352
  }),
374
353
  /* @__PURE__ */ a("div", {
375
354
  className: "dc:absolute dc:top-0 dc:left-0 dc:h-8 dc:flex dc:items-center dc:px-2 dc:pointer-events-none",
376
- style: { width: `${Math.max(n, 20)}%` },
355
+ style: { width: `${Math.max(c, 20)}%` },
377
356
  children: /* @__PURE__ */ o("span", {
378
357
  className: "dc:text-xs dc:font-medium text-white dc:drop-shadow-sm",
379
- children: [e.percentage?.toFixed(1) ?? n.toFixed(1), "%"]
358
+ children: [i.percentage?.toFixed(1) ?? c.toFixed(1), "%"]
380
359
  })
381
360
  })
382
361
  ]
383
362
  }),
384
363
  /* @__PURE__ */ a("div", {
385
- className: `${l > 0 ? l > 1 ? "dc:w-36" : "dc:w-28" : "dc:w-16"} dc:flex-shrink-0 dc:text-left`,
386
- children: i === null ? /* @__PURE__ */ a("div", {
387
- className: "dc:text-xs text-dc-text-muted",
388
- children: ""
389
- }) : /* @__PURE__ */ o("div", {
390
- className: "dc:text-xs text-dc-text-secondary",
391
- children: [y && /* @__PURE__ */ o("span", { children: [
392
- "↓ ",
393
- i.toFixed(1),
394
- "%"
395
- ] }), l > 0 && /* @__PURE__ */ a("div", {
396
- className: "text-dc-text-muted dc:mt-0.5 dc:space-y-0.5",
397
- children: c.map((e, t) => /* @__PURE__ */ o("div", { children: ["⏱ ", e] }, t))
398
- })]
364
+ className: `${p > 0 ? p > 1 ? "dc:w-36" : "dc:w-28" : "dc:w-16"} dc:flex-shrink-0 dc:text-left`,
365
+ children: /* @__PURE__ */ a(A, {
366
+ stepConversionRate: u,
367
+ arrow: "",
368
+ showConversion: r.showConversion,
369
+ timeMetricsLines: f
399
370
  })
400
371
  })
401
372
  ]
402
- }, e.name);
403
- })
404
- }), !m?.hideSummaryFooter && /* @__PURE__ */ a("div", {
405
- className: "dc:flex-shrink-0 dc:px-4 dc:py-2 dc:border-t border-dc-border bg-dc-surface-secondary",
406
- children: /* @__PURE__ */ o("div", {
407
- className: "dc:flex dc:items-center dc:justify-between dc:text-sm",
408
- children: [
409
- /* @__PURE__ */ o("div", {
410
- className: "text-dc-text-muted",
411
- children: [/* @__PURE__ */ a("span", {
412
- className: "dc:font-medium",
413
- children: C.length
414
- }), " steps"]
415
- }),
416
- /* @__PURE__ */ o("div", {
417
- className: "text-dc-text",
418
- children: [
419
- /* @__PURE__ */ a("span", {
420
- className: "text-dc-text-muted",
421
- children: h("chart.runtime.funnel.overall")
422
- }),
423
- " ",
424
- /* @__PURE__ */ a("span", {
425
- className: "dc:font-medium",
426
- children: D > 0 ? `${((C[C.length - 1]?.value || 0) / D * 100).toFixed(1)}%` : "0%"
427
- })
428
- ]
429
- }),
430
- /* @__PURE__ */ o("div", {
431
- className: "text-dc-text-muted",
432
- children: [
433
- C[C.length - 1]?.value.toLocaleString() || 0,
434
- " / ",
435
- D.toLocaleString(),
436
- " completed"
437
- ]
438
- })
439
- ]
373
+ }, i.name);
440
374
  })
375
+ }), !r.hideSummaryFooter && /* @__PURE__ */ a(k, {
376
+ funnelData: e,
377
+ firstStepValue: t
441
378
  })]
442
379
  });
380
+ }
381
+ //#endregion
382
+ //#region src/client/components/charts/FunnelChart.tsx
383
+ var P = /* @__PURE__ */ e({ default: () => F }), F = r.memo(function({ data: e, height: r = "100%", colorPalette: s, displayConfig: c }) {
384
+ let { t: l } = t(), u = D(c), d = i(() => E(e), [e]);
385
+ return !e || e.length === 0 || d.length === 0 ? /* @__PURE__ */ a("div", {
386
+ className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted",
387
+ style: { height: r },
388
+ children: /* @__PURE__ */ o("div", {
389
+ className: "dc:text-center",
390
+ children: [/* @__PURE__ */ a("div", {
391
+ className: "dc:text-sm dc:font-semibold dc:mb-1",
392
+ children: l("chart.runtime.funnel.noData")
393
+ }), /* @__PURE__ */ a("div", {
394
+ className: "dc:text-xs text-dc-text-secondary",
395
+ children: l("chart.runtime.noDataHint.funnel")
396
+ })]
397
+ })
398
+ }) : a(u.funnelStyle === "funnel" ? j : u.isVertical ? M : N, {
399
+ funnelData: d,
400
+ firstStepValue: d[0]?.value || 0,
401
+ paletteColors: s?.colors || n,
402
+ options: u,
403
+ height: r
404
+ });
443
405
  });
444
406
  //#endregion
445
- export { x as a, g as c, _ as i, b as l, S as n, p as o, h as r, m as s, D as t };
407
+ export { C as a, g as c, _ as i, S as l, P as n, p as o, h as r, m as s, F as t };
446
408
 
447
- //# sourceMappingURL=chart-funnel-DnWRsmnS.js.map
409
+ //# sourceMappingURL=chart-funnel-CToKSBaL.js.map