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
@@ -0,0 +1,26 @@
1
+ import { RefObject } from 'react';
2
+ import { DashboardFilter, CubeMeta } from '../../types';
3
+ export interface CompactFilterBarViewProps {
4
+ schema: CubeMeta | null;
5
+ isEditMode: boolean;
6
+ onAddFilter?: () => void;
7
+ onEditFilter?: (filterId: string) => void;
8
+ onRemoveFilter?: (filterId: string) => void;
9
+ currentDateRange: string | string[] | null;
10
+ activePresetId: string | null;
11
+ activeXTDId: string | null;
12
+ nonDateFilters: DashboardFilter[];
13
+ dateRangeTooltip: string | null;
14
+ showCustomDropdown: boolean;
15
+ setShowCustomDropdown: (next: boolean) => void;
16
+ showXTDDropdown: boolean;
17
+ setShowXTDDropdown: (next: boolean) => void;
18
+ customButtonRef: RefObject<HTMLButtonElement>;
19
+ xtdButtonRef: RefObject<HTMLButtonElement>;
20
+ handlePresetSelect: (presetValue: string) => void;
21
+ handleXTDSelect: (xtdValue: string) => void;
22
+ handleCustomDateSelect: (dateRange: string | string[]) => void;
23
+ handleFilterChange: (filterId: string, updatedFilter: DashboardFilter) => void;
24
+ }
25
+ export declare function DesktopLayout(props: CompactFilterBarViewProps): import("react").JSX.Element;
26
+ export declare function MobileLayout(props: CompactFilterBarViewProps): import("react").JSX.Element;
@@ -0,0 +1,27 @@
1
+ import { MetaResponse } from '../../shared/types';
2
+ import { SimpleFilter, FilterOperator } from '../../types';
3
+ interface FieldSelectionSectionProps {
4
+ localFilter: SimpleFilter;
5
+ activeSchema: MetaResponse | null;
6
+ isTimeField: boolean;
7
+ isMeasureField: boolean;
8
+ showAllFields: boolean;
9
+ setShowAllFields: (next: boolean) => void;
10
+ setShowFieldSearch: (next: boolean) => void;
11
+ }
12
+ export declare function FieldSelectionSection({ localFilter, activeSchema, isTimeField, isMeasureField, showAllFields, setShowAllFields, setShowFieldSearch }: FieldSelectionSectionProps): import("react").JSX.Element;
13
+ interface OperatorSectionProps {
14
+ localFilter: SimpleFilter;
15
+ operatorLabel: string;
16
+ availableOperators: {
17
+ operator: string;
18
+ label: string;
19
+ }[];
20
+ isOperatorDropdownOpen: boolean;
21
+ setIsOperatorDropdownOpen: (next: boolean) => void;
22
+ setIsValueDropdownOpen: (next: boolean) => void;
23
+ setIsDateRangeDropdownOpen: (next: boolean) => void;
24
+ handleOperatorChange: (operator: FilterOperator) => void;
25
+ }
26
+ export declare function OperatorSection({ localFilter, operatorLabel, availableOperators, isOperatorDropdownOpen, setIsOperatorDropdownOpen, setIsValueDropdownOpen, setIsDateRangeDropdownOpen, handleOperatorChange }: OperatorSectionProps): import("react").JSX.Element;
27
+ export {};
@@ -0,0 +1,39 @@
1
+ import { ChangeEvent } from 'react';
2
+ import { SimpleFilter } from '../../types';
3
+ import { DateRangeType } from '../../shared/types';
4
+ type OperatorMeta = {
5
+ requiresValues?: boolean;
6
+ valueType?: string;
7
+ supportsMultipleValues?: boolean;
8
+ } | undefined;
9
+ export interface DashboardFilterValueInputProps {
10
+ filter: SimpleFilter;
11
+ operatorMeta: OperatorMeta;
12
+ shouldShowDateRange: boolean;
13
+ shouldShowComboBox: boolean;
14
+ rangeType: DateRangeType;
15
+ numberValue: number;
16
+ dateRangeLabel: string;
17
+ isDateRangeDropdownOpen: boolean;
18
+ setIsOperatorDropdownOpen: (open: boolean) => void;
19
+ setIsValueDropdownOpen: (open: boolean) => void;
20
+ setIsDateRangeDropdownOpen: (open: boolean) => void;
21
+ handleRangeTypeChange: (rangeType: DateRangeType) => void;
22
+ handleNumberValueChange: (value: number) => void;
23
+ handleCustomStartDate: (e: ChangeEvent<HTMLInputElement>) => void;
24
+ handleCustomEndDate: (e: ChangeEvent<HTMLInputElement>) => void;
25
+ handleBetweenStartInput: (e: ChangeEvent<HTMLInputElement>) => void;
26
+ handleBetweenEndInput: (e: ChangeEvent<HTMLInputElement>) => void;
27
+ handleDateInput: (e: ChangeEvent<HTMLInputElement>) => void;
28
+ handleDirectInput: (e: ChangeEvent<HTMLInputElement>) => void;
29
+ isValueDropdownOpen: boolean;
30
+ distinctValues: unknown[];
31
+ valuesLoading: boolean;
32
+ valuesError: unknown;
33
+ searchText: string;
34
+ setSearchText: (text: string) => void;
35
+ handleValueSelect: (value: unknown) => void;
36
+ handleValueRemove: (value: unknown) => void;
37
+ }
38
+ export default function DashboardFilterValueInput(props: DashboardFilterValueInputProps): import("react").JSX.Element;
39
+ export {};
@@ -0,0 +1,21 @@
1
+ /**
2
+ * dashboardFilterConfigModalUtils
3
+ *
4
+ * Pure helpers extracted from DashboardFilterConfigModal to keep the component's
5
+ * effects and handlers flat. Behaviour is identical to the previous inline logic.
6
+ *
7
+ * `deriveRangeFromDateRange` lives in the shared `dateRangeUtils` module and is
8
+ * re-exported here to keep existing import paths stable.
9
+ */
10
+ export type { DerivedRange } from '../shared/dateRangeUtils';
11
+ export { deriveRangeFromDateRange } from '../shared/dateRangeUtils';
12
+ /**
13
+ * Compute the next filter `values` for a direct text/number input change.
14
+ * Mirrors the previous inline `handleDirectInput` logic exactly:
15
+ * - For number-typed operators: keep numeric values, clear on empty/partial sign.
16
+ * - For everything else: store the raw string (or clear when empty).
17
+ *
18
+ * Returns `null` when the current values should be left untouched (e.g. an
19
+ * unparseable number that is neither empty nor a lone "-").
20
+ */
21
+ export declare function computeDirectInputValues(value: string, valueType: string | undefined): unknown[] | null;
@@ -0,0 +1,19 @@
1
+ import { DashboardFilter } from '../../types';
2
+ export declare function useCompactFilterBar(dashboardFilters: DashboardFilter[], onDashboardFiltersChange: (filters: DashboardFilter[]) => void): {
3
+ localFilters: DashboardFilter[];
4
+ showCustomDropdown: boolean;
5
+ setShowCustomDropdown: import('react').Dispatch<import('react').SetStateAction<boolean>>;
6
+ showXTDDropdown: boolean;
7
+ setShowXTDDropdown: import('react').Dispatch<import('react').SetStateAction<boolean>>;
8
+ customButtonRef: import('react').RefObject<HTMLButtonElement>;
9
+ xtdButtonRef: import('react').RefObject<HTMLButtonElement>;
10
+ currentDateRange: string | any[] | null;
11
+ activePresetId: string | null;
12
+ activeXTDId: string | null;
13
+ nonDateFilters: DashboardFilter[];
14
+ handlePresetSelect: (presetValue: string) => void;
15
+ handleXTDSelect: (xtdValue: string) => void;
16
+ handleCustomDateSelect: (dateRange: string | string[]) => void;
17
+ handleFilterChange: (filterId: string, updatedFilter: DashboardFilter) => void;
18
+ dateRangeTooltip: string | null;
19
+ };
@@ -0,0 +1,69 @@
1
+ import { ChangeEvent } from 'react';
2
+ import { DashboardFilter, SimpleFilter, FilterOperator } from '../../types';
3
+ import { MetaResponse, MetaField } from '../../shared/types';
4
+ import { FieldType } from '../AnalysisBuilder/types';
5
+ interface UseDashboardFilterConfigModalParams {
6
+ initialFilter: DashboardFilter;
7
+ fullSchema: MetaResponse | null;
8
+ filteredSchema: MetaResponse | null;
9
+ isOpen: boolean;
10
+ onSave: (filter: DashboardFilter) => void;
11
+ }
12
+ export declare function useDashboardFilterConfigModal({ initialFilter, fullSchema, filteredSchema, isOpen, onSave }: UseDashboardFilterConfigModalParams): {
13
+ localLabel: string;
14
+ setLocalLabel: import('react').Dispatch<import('react').SetStateAction<string>>;
15
+ localFilter: SimpleFilter;
16
+ showAllFields: boolean;
17
+ setShowAllFields: import('react').Dispatch<import('react').SetStateAction<boolean>>;
18
+ showFieldSearch: boolean;
19
+ setShowFieldSearch: import('react').Dispatch<import('react').SetStateAction<boolean>>;
20
+ field: {
21
+ activeSchema: MetaResponse | null;
22
+ isTimeField: boolean;
23
+ isMeasureField: boolean;
24
+ fieldTitle: string;
25
+ operatorMeta: import('../../shared').FilterOperatorMeta;
26
+ availableOperators: {
27
+ operator: string;
28
+ label: string;
29
+ }[];
30
+ operatorLabel: string;
31
+ shouldShowDateRange: boolean;
32
+ shouldShowComboBox: boolean;
33
+ };
34
+ dropdowns: {
35
+ containerRef: import('react').RefObject<HTMLDivElement>;
36
+ isOperatorDropdownOpen: boolean;
37
+ setIsOperatorDropdownOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
38
+ isValueDropdownOpen: boolean;
39
+ setIsValueDropdownOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
40
+ isDateRangeDropdownOpen: boolean;
41
+ setIsDateRangeDropdownOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
42
+ };
43
+ values: {
44
+ searchText: string;
45
+ setSearchText: import('react').Dispatch<import('react').SetStateAction<string>>;
46
+ distinctValues: any[];
47
+ valuesLoading: boolean;
48
+ valuesError: string | null;
49
+ handleValueSelect: (value: unknown) => void;
50
+ handleValueRemove: (valueToRemove: unknown) => void;
51
+ };
52
+ dateRange: {
53
+ dateRangeLabel: string;
54
+ rangeType: import('../shared/types').DateRangeType;
55
+ numberValue: number;
56
+ handleRangeTypeChange: (newRangeType: import('../shared/types').DateRangeType) => void;
57
+ handleNumberValueChange: (value: number) => void;
58
+ handleCustomStartDate: (e: ChangeEvent<HTMLInputElement>) => void;
59
+ handleCustomEndDate: (e: ChangeEvent<HTMLInputElement>) => void;
60
+ };
61
+ handleFieldSelected: (field: MetaField, _fieldType: FieldType) => void;
62
+ handleOperatorChange: (operator: FilterOperator) => void;
63
+ handleDirectInput: (e: ChangeEvent<HTMLInputElement>) => void;
64
+ handleBetweenStartInput: (e: ChangeEvent<HTMLInputElement>) => void;
65
+ handleBetweenEndInput: (e: ChangeEvent<HTMLInputElement>) => void;
66
+ handleDateInput: (e: ChangeEvent<HTMLInputElement>) => void;
67
+ handleSave: () => void;
68
+ };
69
+ export {};
@@ -0,0 +1,19 @@
1
+ import { ChangeEvent } from 'react';
2
+ import { SimpleFilter } from '../../types';
3
+ import { DateRangeType } from '../../shared/types';
4
+ interface UseDateRangeStateParams {
5
+ localFilter: SimpleFilter;
6
+ setLocalFilter: (filter: SimpleFilter) => void;
7
+ shouldShowDateRange: boolean;
8
+ setIsDateRangeDropdownOpen: (open: boolean) => void;
9
+ }
10
+ export declare function useDateRangeState({ localFilter, setLocalFilter, shouldShowDateRange, setIsDateRangeDropdownOpen }: UseDateRangeStateParams): {
11
+ rangeType: DateRangeType;
12
+ numberValue: number;
13
+ handleRangeTypeChange: (newRangeType: DateRangeType) => void;
14
+ handleNumberValueChange: (value: number) => void;
15
+ handleCustomStartDate: (e: ChangeEvent<HTMLInputElement>) => void;
16
+ handleCustomEndDate: (e: ChangeEvent<HTMLInputElement>) => void;
17
+ };
18
+ export type UseDateRangeState = ReturnType<typeof useDateRangeState>;
19
+ export {};
@@ -0,0 +1,21 @@
1
+ /**
2
+ * useFilterDropdowns
3
+ *
4
+ * Owns the open/closed state of the three mutually-exclusive popover dropdowns
5
+ * (operator, value, date-range) plus the click-outside effect that closes them
6
+ * all. This is the single "which dropdown is open" concern; it exposes the
7
+ * container ref the effect watches and the individual open flags/setters.
8
+ *
9
+ * Behaviour is identical to the previous inline implementation — same effect,
10
+ * same dependency array, same setters.
11
+ */
12
+ export declare function useFilterDropdowns(): {
13
+ containerRef: import('react').RefObject<HTMLDivElement>;
14
+ isOperatorDropdownOpen: boolean;
15
+ setIsOperatorDropdownOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
16
+ isValueDropdownOpen: boolean;
17
+ setIsValueDropdownOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
18
+ isDateRangeDropdownOpen: boolean;
19
+ setIsDateRangeDropdownOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
20
+ };
21
+ export type UseFilterDropdowns = ReturnType<typeof useFilterDropdowns>;
@@ -0,0 +1,23 @@
1
+ import { SimpleFilter } from '../../types';
2
+ interface OperatorMetaLike {
3
+ supportsMultipleValues?: boolean;
4
+ }
5
+ interface UseFilterValueFetchParams {
6
+ localFilter: SimpleFilter;
7
+ setLocalFilter: (filter: SimpleFilter) => void;
8
+ operatorMeta: OperatorMetaLike | undefined;
9
+ shouldShowComboBox: boolean;
10
+ isValueDropdownOpen: boolean;
11
+ setIsValueDropdownOpen: (open: boolean) => void;
12
+ }
13
+ export declare function useFilterValueFetch({ localFilter, setLocalFilter, operatorMeta, shouldShowComboBox, isValueDropdownOpen, setIsValueDropdownOpen }: UseFilterValueFetchParams): {
14
+ searchText: string;
15
+ setSearchText: import('react').Dispatch<import('react').SetStateAction<string>>;
16
+ distinctValues: any[];
17
+ valuesLoading: boolean;
18
+ valuesError: string | null;
19
+ handleValueSelect: (value: unknown) => void;
20
+ handleValueRemove: (valueToRemove: unknown) => void;
21
+ };
22
+ export type UseFilterValueFetch = ReturnType<typeof useFilterValueFetch>;
23
+ export {};
@@ -1,59 +1,4 @@
1
- import { default as React, HTMLAttributes, ReactNode, CSSProperties, ComponentType } from 'react';
2
- import { DashboardFilter, DashboardLayoutMode, PortletConfig } from '../types';
3
- import { ColorPalette } from '../utils/colorPalettes';
4
- /**
5
- * Simplified props interface after Zustand migration.
6
- * State (selectedFilterId, debugData) now comes from store.
7
- * Actions now come from callbacks prop or store.
8
- */
9
- interface DashboardPortletCardProps {
10
- portlet: PortletConfig;
11
- editable: boolean;
12
- layoutMode?: DashboardLayoutMode;
13
- dashboardFilters?: DashboardFilter[];
14
- configEagerLoad?: boolean;
15
- loadingComponent?: ReactNode;
16
- colorPalette?: ColorPalette;
17
- containerProps?: HTMLAttributes<HTMLDivElement>;
18
- headerProps?: HTMLAttributes<HTMLDivElement>;
19
- setPortletRef: (portletId: string, element: HTMLDivElement | null) => void;
20
- setPortletComponentRef: (portletId: string, element: {
21
- refresh: (options?: {
22
- bustCache?: boolean;
23
- }) => void;
24
- } | null) => void;
25
- callbacks: {
26
- onToggleFilter: (portletId: string, filterId: string) => void;
27
- onRefresh: (portletId: string, options?: {
28
- bustCache?: boolean;
29
- }) => void;
30
- onDuplicate: (portletId: string) => void;
31
- onEdit: (portlet: PortletConfig) => void;
32
- onDelete: (portletId: string) => void;
33
- onOpenFilterConfig: (portlet: PortletConfig) => void;
34
- };
35
- icons: {
36
- RefreshIcon: ComponentType<{
37
- className?: string;
38
- style?: CSSProperties;
39
- }>;
40
- EditIcon: ComponentType<{
41
- className?: string;
42
- style?: CSSProperties;
43
- }>;
44
- DeleteIcon: ComponentType<{
45
- className?: string;
46
- style?: CSSProperties;
47
- }>;
48
- CopyIcon: ComponentType<{
49
- className?: string;
50
- style?: CSSProperties;
51
- }>;
52
- FilterIcon: ComponentType<{
53
- className?: string;
54
- style?: CSSProperties;
55
- }>;
56
- };
57
- }
1
+ import { default as React } from 'react';
2
+ import { DashboardPortletCardProps } from './dashboardPortletCard/propsEqual';
58
3
  declare const DashboardPortletCard: React.NamedExoticComponent<DashboardPortletCardProps>;
59
4
  export default DashboardPortletCard;
@@ -0,0 +1,31 @@
1
+ import { ChartAxisConfig, ChartDisplayConfig, ChartType, CubeQuery } from '../../types';
2
+ import { FlowChartData } from '../../types/flow';
3
+ import { RetentionChartData } from '../../types/retention';
4
+ import { ColorPalette } from '../../utils/colorPalettes';
5
+ type Height = string | number;
6
+ interface ResultSetLike {
7
+ tablePivot: () => unknown;
8
+ rawData: () => unknown;
9
+ }
10
+ export interface PortletChartProps {
11
+ chartType: ChartType;
12
+ height: Height;
13
+ shouldSkipQuery: boolean;
14
+ isMultiQuery: boolean;
15
+ isFunnelMode: boolean;
16
+ isFlowMode: boolean;
17
+ isRetentionMode: boolean;
18
+ resultSet: ResultSetLike | null;
19
+ multiQueryData: unknown[] | null;
20
+ flowChartData: FlowChartData | null;
21
+ retentionChartData: RetentionChartData | null;
22
+ chartConfig?: ChartAxisConfig;
23
+ displayConfig?: ChartDisplayConfig;
24
+ activeQuery: CubeQuery | null;
25
+ colorPalette?: ColorPalette;
26
+ drillEnabled: boolean;
27
+ currentChartConfig?: ChartAxisConfig | null;
28
+ onDataPointClick?: (...args: any[]) => void;
29
+ }
30
+ export declare function PortletChart(props: PortletChartProps): import("react").JSX.Element;
31
+ export {};
@@ -0,0 +1,35 @@
1
+ import { ChartAxisConfig, ChartDisplayConfig, ChartType, CubeQuery } from '../../types';
2
+ import { FlowChartData } from '../../types/flow';
3
+ import { RetentionChartData } from '../../types/retention';
4
+ import { ColorPalette } from '../../utils/colorPalettes';
5
+ import { DrillInteraction } from '../../types/drill';
6
+ type Height = string | number;
7
+ interface ResultSetLike {
8
+ tablePivot: () => unknown;
9
+ rawData: () => unknown;
10
+ }
11
+ export interface PortletChartViewProps {
12
+ title?: string;
13
+ query: string;
14
+ chartType: ChartType;
15
+ height: Height;
16
+ chartConfig?: ChartAxisConfig;
17
+ displayConfig?: ChartDisplayConfig;
18
+ colorPalette?: ColorPalette;
19
+ shouldSkipQuery: boolean;
20
+ isMultiQuery: boolean;
21
+ isFunnelMode: boolean;
22
+ isFlowMode: boolean;
23
+ isRetentionMode: boolean;
24
+ resultSet: ResultSetLike | null;
25
+ multiQueryData: unknown[] | null;
26
+ flowChartData: FlowChartData | null;
27
+ retentionChartData: RetentionChartData | null;
28
+ activeQuery: CubeQuery | null;
29
+ drill: DrillInteraction;
30
+ isDrillEnabled: boolean;
31
+ onNavigateBack: () => void;
32
+ onNavigateToLevel: (index: number) => void;
33
+ }
34
+ export declare function PortletChartView(props: PortletChartViewProps): import("react").JSX.Element;
35
+ export {};
@@ -0,0 +1,65 @@
1
+ import { ReactNode, Ref } from 'react';
2
+ import { ChartType } from '../../types';
3
+ import { DrillPathEntry } from '../../types/drill';
4
+ type Height = string | number;
5
+ export declare function PortletConfigRequired({ inViewRef, height }: {
6
+ inViewRef: Ref<HTMLDivElement>;
7
+ height: Height;
8
+ }): import("react").JSX.Element;
9
+ export declare function PortletLazyPlaceholder({ inViewRef, height }: {
10
+ inViewRef: Ref<HTMLDivElement>;
11
+ height: Height;
12
+ }): import("react").JSX.Element;
13
+ export declare function PortletLoading({ inViewRef, height, loadingComponent }: {
14
+ inViewRef: Ref<HTMLDivElement>;
15
+ height: Height;
16
+ loadingComponent?: ReactNode;
17
+ }): import("react").JSX.Element;
18
+ interface PortletErrorProps {
19
+ inViewRef: Ref<HTMLDivElement>;
20
+ height: Height;
21
+ error: {
22
+ message?: string;
23
+ toString: () => string;
24
+ };
25
+ onRetry: () => void;
26
+ activeQuery: unknown;
27
+ query: string;
28
+ chartType: ChartType;
29
+ chartConfig: unknown;
30
+ displayConfig: unknown;
31
+ }
32
+ export declare function PortletError({ inViewRef, height, error, onRetry, activeQuery, query, chartType, chartConfig, displayConfig }: PortletErrorProps): import("react").JSX.Element;
33
+ interface PortletNoDataProps {
34
+ inViewRef: Ref<HTMLDivElement>;
35
+ height: Height;
36
+ drillPath: DrillPathEntry[];
37
+ onNavigateBack: () => void;
38
+ onNavigateToLevel: (index: number) => void;
39
+ }
40
+ export declare function PortletNoData({ inViewRef, height, drillPath, onNavigateBack, onNavigateToLevel }: PortletNoDataProps): import("react").JSX.Element;
41
+ export type PortletStateKind = 'config-required' | 'lazy-placeholder' | 'loading' | 'error';
42
+ interface PortletStateViewProps {
43
+ kind: PortletStateKind | 'no-data';
44
+ inViewRef: Ref<HTMLDivElement>;
45
+ height: Height;
46
+ loadingComponent?: ReactNode;
47
+ error: {
48
+ message?: string;
49
+ toString: () => string;
50
+ } | null;
51
+ onRetry: () => void;
52
+ activeQuery: unknown;
53
+ query: string;
54
+ chartType: ChartType;
55
+ chartConfig: unknown;
56
+ displayConfig: unknown;
57
+ drillPath: DrillPathEntry[];
58
+ onNavigateBack: () => void;
59
+ onNavigateToLevel: (index: number) => void;
60
+ }
61
+ /**
62
+ * Renders the appropriate non-chart state view for the given render kind.
63
+ */
64
+ export declare function PortletStateView(props: PortletStateViewProps): import("react").JSX.Element;
65
+ export {};
@@ -0,0 +1,22 @@
1
+ import { CubeQuery, DashboardFilter, DashboardFilterMapping, MultiQueryConfig, ServerFunnelQuery } from '../../types';
2
+ import { ServerFlowQuery } from '../../types/flow';
3
+ import { ServerRetentionQuery } from '../../types/retention';
4
+ export interface ParsedPortletQuery {
5
+ queryObject: CubeQuery | null;
6
+ multiQueryConfig: MultiQueryConfig | null;
7
+ serverFunnelQuery: ServerFunnelQuery | null;
8
+ serverFlowQuery: ServerFlowQuery | null;
9
+ serverRetentionQuery: ServerRetentionQuery | null;
10
+ }
11
+ export interface ParsePortletQueryParams {
12
+ query: string;
13
+ shouldSkipQuery: boolean;
14
+ regularFilters?: DashboardFilter[];
15
+ dashboardFilters?: DashboardFilter[];
16
+ dashboardFilterMapping?: DashboardFilterMapping;
17
+ }
18
+ /**
19
+ * Parse the portlet query string and merge applicable dashboard filters.
20
+ * Returns a discriminated set of possible query shapes (only one non-null).
21
+ */
22
+ export declare function parsePortletQuery(params: ParsePortletQueryParams): ParsedPortletQuery;
@@ -0,0 +1,31 @@
1
+ import { FlowChartData, ServerFlowQuery } from '../../types/flow';
2
+ import { RetentionChartData, ServerRetentionQuery } from '../../types/retention';
3
+ import { CubeQuery, MultiQueryConfig, ServerFunnelQuery } from '../../types';
4
+ export type PortletRenderKind = 'config-required' | 'lazy-placeholder' | 'loading' | 'error' | 'no-data' | 'chart';
5
+ export interface PortletRenderStateParams {
6
+ hasChartConfig: boolean;
7
+ hasMandatoryFields: boolean;
8
+ shouldSkipQuery: boolean;
9
+ eagerLoad: boolean;
10
+ isVisible: boolean;
11
+ isLoading: boolean;
12
+ isFetching: boolean;
13
+ error: unknown;
14
+ isMultiQuery: boolean;
15
+ isFunnelMode: boolean;
16
+ isFlowMode: boolean;
17
+ isRetentionMode: boolean;
18
+ queryObject: CubeQuery | null;
19
+ multiQueryConfig: MultiQueryConfig | null;
20
+ serverFunnelQuery: ServerFunnelQuery | null;
21
+ serverFlowQuery: ServerFlowQuery | null;
22
+ serverRetentionQuery: ServerRetentionQuery | null;
23
+ resultSet: unknown;
24
+ multiQueryData: unknown[] | null;
25
+ flowChartData: FlowChartData | null;
26
+ retentionChartData: RetentionChartData | null;
27
+ }
28
+ /**
29
+ * Resolve which view the portlet should render.
30
+ */
31
+ export declare function resolvePortletRenderKind(p: PortletRenderStateParams): PortletRenderKind;
@@ -0,0 +1,37 @@
1
+ import { AnalyticsPortletProps, ChartAxisConfig, ChartDisplayConfig, ChartType, CubeQuery, ServerFunnelQuery } from '../../types';
2
+ import { FlowChartData, ServerFlowQuery } from '../../types/flow';
3
+ import { RetentionChartData, ServerRetentionQuery } from '../../types/retention';
4
+ import { DrillPathEntry } from '../../types/drill';
5
+ type DebugEntry = Parameters<NonNullable<AnalyticsPortletProps['onDebugDataReady']>>[0];
6
+ type CacheInfo = DebugEntry['cacheInfo'];
7
+ interface ResultSetLike {
8
+ tablePivot: () => unknown;
9
+ rawData: () => unknown;
10
+ cacheInfo?: () => CacheInfo;
11
+ }
12
+ export interface UsePortletDebugDataParams {
13
+ onDebugDataReady?: AnalyticsPortletProps['onDebugDataReady'];
14
+ error: unknown;
15
+ chartType: ChartType;
16
+ chartConfig?: ChartAxisConfig;
17
+ displayConfig?: ChartDisplayConfig;
18
+ isFunnelMode: boolean;
19
+ isFlowMode: boolean;
20
+ isRetentionMode: boolean;
21
+ queryObject: CubeQuery | null;
22
+ activeQuery: CubeQuery | null;
23
+ serverFunnelQuery: ServerFunnelQuery | null;
24
+ serverFlowQuery: ServerFlowQuery | null;
25
+ serverRetentionQuery: ServerRetentionQuery | null;
26
+ resultSet: ResultSetLike | null;
27
+ multiQueryData: unknown[] | null;
28
+ flowChartData: FlowChartData | null;
29
+ retentionChartData: RetentionChartData | null;
30
+ funnelCacheInfo?: CacheInfo;
31
+ flowCacheInfo?: CacheInfo;
32
+ retentionCacheInfo?: CacheInfo;
33
+ drillPath: DrillPathEntry[];
34
+ currentChartConfig?: ChartAxisConfig | null;
35
+ }
36
+ export declare function usePortletDebugData(params: UsePortletDebugDataParams): void;
37
+ export {};
@@ -0,0 +1,17 @@
1
+ import { ChartAxisConfig, CubeQuery, DashboardFilter, DashboardFilterMapping } from '../../types';
2
+ export interface UsePortletDrillStateParams {
3
+ queryObject: CubeQuery | null;
4
+ chartConfig?: ChartAxisConfig;
5
+ dashboardFilters?: DashboardFilter[];
6
+ dashboardFilterMapping?: DashboardFilterMapping;
7
+ isMultiQuery: boolean;
8
+ isFunnelMode: boolean;
9
+ isFlowMode: boolean;
10
+ isRetentionMode: boolean;
11
+ }
12
+ export declare function usePortletDrillState(params: UsePortletDrillStateParams): {
13
+ drill: import('../../types').DrillInteraction;
14
+ activeQuery: CubeQuery | null;
15
+ handleNavigateBack: () => void;
16
+ handleNavigateToLevel: (index: number) => void;
17
+ };
@@ -0,0 +1,37 @@
1
+ import { useCubeLoadQuery, useFunnelQuery, useFlowQuery, useRetentionQuery } from '../../hooks/queries';
2
+ import { CubeQuery, MultiQueryConfig, ServerFunnelQuery } from '../../types';
3
+ import { FlowChartData, ServerFlowQuery } from '../../types/flow';
4
+ import { RetentionChartData, ServerRetentionQuery } from '../../types/retention';
5
+ interface RefreshOptions {
6
+ bustCache?: boolean;
7
+ }
8
+ export interface UsePortletQueryResultsParams {
9
+ activeQuery: CubeQuery | null;
10
+ multiQueryConfig: MultiQueryConfig | null;
11
+ serverFunnelQuery: ServerFunnelQuery | null;
12
+ serverFlowQuery: ServerFlowQuery | null;
13
+ serverRetentionQuery: ServerRetentionQuery | null;
14
+ isMultiQuery: boolean;
15
+ isFunnelMode: boolean;
16
+ isFlowMode: boolean;
17
+ isRetentionMode: boolean;
18
+ shouldSkipQuery: boolean;
19
+ eagerLoad: boolean;
20
+ isVisible: boolean;
21
+ }
22
+ export interface PortletQueryResults {
23
+ resultSet: ReturnType<typeof useCubeLoadQuery>['resultSet'];
24
+ isLoading: boolean;
25
+ isFetching: boolean;
26
+ error: unknown;
27
+ multiQueryData: unknown[] | null;
28
+ flowChartData: FlowChartData | null;
29
+ retentionChartData: RetentionChartData | null;
30
+ funnelCacheInfo: ReturnType<typeof useFunnelQuery>['cacheInfo'];
31
+ flowCacheInfo: ReturnType<typeof useFlowQuery>['cacheInfo'];
32
+ retentionCacheInfo: ReturnType<typeof useRetentionQuery>['cacheInfo'];
33
+ refresh: (options?: RefreshOptions) => void;
34
+ retry: () => void;
35
+ }
36
+ export declare function usePortletQueryResults(params: UsePortletQueryResultsParams): PortletQueryResults;
37
+ export {};
@@ -0,0 +1,33 @@
1
+ import { CubeQuery } from '../../types';
2
+ export interface GridCell {
3
+ x: number;
4
+ y: number;
5
+ value: number;
6
+ date: Date;
7
+ label: string;
8
+ }
9
+ export interface GridMapping {
10
+ extractX: (date: Date) => number;
11
+ extractY: (date: Date) => number;
12
+ xLabels: string[];
13
+ yLabels: string[];
14
+ xFormat: (value: number) => string;
15
+ yFormat: (value: number) => string;
16
+ cellWidth: number;
17
+ cellHeight: number;
18
+ hasHierarchicalLabels?: boolean;
19
+ getYearFromX?: (value: number) => number;
20
+ }
21
+ /** Week-of-year (1-53) with the ISO-aligned year for the given date. */
22
+ export declare function getWeekOfYear(date: Date): {
23
+ year: number;
24
+ week: number;
25
+ };
26
+ /** Get the grid coordinate mapping for a granularity (null when unsupported). */
27
+ export declare function getGridMapping(granularity: string): GridMapping | null;
28
+ /** Resolve the first matching field (string | array) for a date config value. */
29
+ export declare function firstDateField(value: string | string[] | undefined): string | undefined;
30
+ /** Get the query granularity for the date field, falling back to 'day'. */
31
+ export declare function getQueryGranularity(queryObject: CubeQuery | undefined, dateField: string): string;
32
+ /** Transform query rows into grid cells, skipping invalid dates. */
33
+ export declare function buildGridData(data: Record<string, any>[], dateField: string, valueField: string, gridMapping: GridMapping, granularity: string): GridCell[];