drizzle-cube 0.5.7 → 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 (541) 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/{utils.d.ts → 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/{server/google-CFYljAOF.js → adapters/google-CvKM9yVM.js} +83 -71
  13. package/dist/adapters/{handler-Dz1F4iwf.js → handler-CfgE0JSL.js} +515 -578
  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 +208 -178
  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/{server/openai-y7GhJNdn.js → adapters/openai-B5jEiqiB.js} +776 -719
  26. package/dist/adapters/openai-D0musiYP.cjs +17 -0
  27. package/dist/{server/openai-DiVskd89.js → adapters/openai-cDlFSTk6.js} +61 -59
  28. package/dist/adapters/openai-vXvLni8v.cjs +1 -0
  29. package/dist/adapters/{utils-DosuoabY.js → utils-BPWZsX7k.js} +1285 -1220
  30. package/dist/adapters/utils-_whV4fXL.cjs +128 -0
  31. package/dist/adapters/utils.cjs +1 -1
  32. package/dist/adapters/utils.js +2 -2
  33. package/dist/client/charts/ChartLoader.d.ts +3 -17
  34. package/dist/client/charts/chartComponentRegistry.d.ts +46 -0
  35. package/dist/client/charts/chartConfigHelpers.d.ts +38 -0
  36. package/dist/client/charts.js +14 -13
  37. package/dist/client/chunks/{DashboardEditModal-6KRE36mm.js → DashboardEditModal-okVfH8ZK.js} +5446 -4486
  38. package/dist/client/chunks/DashboardEditModal-okVfH8ZK.js.map +1 -0
  39. package/dist/client/chunks/{RetentionCombinedChart-CCpu0C-s.js → RetentionCombinedChart-BgbDhsPz.js} +10 -10
  40. package/dist/client/chunks/{RetentionCombinedChart-CCpu0C-s.js.map → RetentionCombinedChart-BgbDhsPz.js.map} +1 -1
  41. package/dist/client/chunks/{RetentionHeatmap-B24PiIfr.js → RetentionHeatmap-DjXZaTPq.js} +5 -5
  42. package/dist/client/chunks/{RetentionHeatmap-B24PiIfr.js.map → RetentionHeatmap-DjXZaTPq.js.map} +1 -1
  43. package/dist/client/chunks/analysis-builder-DB88FojM.js +5674 -0
  44. package/dist/client/chunks/analysis-builder-DB88FojM.js.map +1 -0
  45. package/dist/client/chunks/{analysis-builder-shared-x576-O5p.js → analysis-builder-shared-BVK4TYfR.js} +1578 -1292
  46. package/dist/client/chunks/analysis-builder-shared-BVK4TYfR.js.map +1 -0
  47. package/dist/client/chunks/{chart-activity-grid-CiHrLH6Y.js → chart-activity-grid-DX0SJbxs.js} +642 -494
  48. package/dist/client/chunks/chart-activity-grid-DX0SJbxs.js.map +1 -0
  49. package/dist/client/chunks/chart-area-of01_62R.js +775 -0
  50. package/dist/client/chunks/chart-area-of01_62R.js.map +1 -0
  51. package/dist/client/chunks/chart-bar-BqelQE_I.js +194 -0
  52. package/dist/client/chunks/chart-bar-BqelQE_I.js.map +1 -0
  53. package/dist/client/chunks/{chart-box-plot-Bu9hy-17.js → chart-box-plot-kkBixZ27.js} +2 -2
  54. package/dist/client/chunks/{chart-box-plot-Bu9hy-17.js.map → chart-box-plot-kkBixZ27.js.map} +1 -1
  55. package/dist/client/chunks/chart-bubble-B2he1--4.js +221 -0
  56. package/dist/client/chunks/chart-bubble-B2he1--4.js.map +1 -0
  57. package/dist/client/chunks/{chart-candlestick-Dau5AF4E.js → chart-candlestick-DZp19Tzh.js} +2 -2
  58. package/dist/client/chunks/{chart-candlestick-Dau5AF4E.js.map → chart-candlestick-DZp19Tzh.js.map} +1 -1
  59. package/dist/client/chunks/chart-config-area-BNigHUy8.js +124 -0
  60. package/dist/client/chunks/chart-config-area-BNigHUy8.js.map +1 -0
  61. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js +54 -0
  62. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js.map +1 -0
  63. package/dist/client/chunks/{chart-config-box-plot-DJ-dWWXA.js → chart-config-box-plot-oW8axV2q.js} +5 -10
  64. package/dist/client/chunks/chart-config-box-plot-oW8axV2q.js.map +1 -0
  65. package/dist/client/chunks/{chart-config-gauge-DSwC04l0.js → chart-config-gauge-Dq-_H9UN.js} +5 -7
  66. package/dist/client/chunks/chart-config-gauge-Dq-_H9UN.js.map +1 -0
  67. package/dist/client/chunks/{chart-config-kpi-delta-D6BIkHL3.js → chart-config-kpi-delta-DSQbvqu_.js} +5 -10
  68. package/dist/client/chunks/chart-config-kpi-delta-DSQbvqu_.js.map +1 -0
  69. package/dist/client/chunks/{chart-config-kpi-number-Bx-V9a62.js → chart-config-kpi-number-EFSWY1We.js} +5 -7
  70. package/dist/client/chunks/chart-config-kpi-number-EFSWY1We.js.map +1 -0
  71. package/dist/client/chunks/{chart-config-kpi-text-CcqC1u-8.js → chart-config-kpi-text-KM3V5X2u.js} +5 -7
  72. package/dist/client/chunks/chart-config-kpi-text-KM3V5X2u.js.map +1 -0
  73. package/dist/client/chunks/{chart-config-line-Db3jDsWc.js → chart-config-line-D6jG8PCH.js} +9 -36
  74. package/dist/client/chunks/chart-config-line-D6jG8PCH.js.map +1 -0
  75. package/dist/client/chunks/{chart-config-pie-DD4SmRTF.js → chart-config-pie-BhzW-fdn.js} +6 -16
  76. package/dist/client/chunks/chart-config-pie-BhzW-fdn.js.map +1 -0
  77. package/dist/client/chunks/{chart-config-radar-CC2XAaGr.js → chart-config-radar-D7REP1q_.js} +6 -16
  78. package/dist/client/chunks/chart-config-radar-D7REP1q_.js.map +1 -0
  79. package/dist/client/chunks/{chart-config-radial-bar-DmxKx1R0.js → chart-config-radial-bar-Byx6qOPU.js} +6 -16
  80. package/dist/client/chunks/chart-config-radial-bar-Byx6qOPU.js.map +1 -0
  81. package/dist/client/chunks/{chart-config-tree-map-BI-oQStO.js → chart-config-tree-map-DVrvf3yQ.js} +6 -16
  82. package/dist/client/chunks/chart-config-tree-map-DVrvf3yQ.js.map +1 -0
  83. package/dist/client/chunks/{chart-config-waterfall-DSnyixbI.js → chart-config-waterfall-DmFeQdIk.js} +5 -10
  84. package/dist/client/chunks/chart-config-waterfall-DmFeQdIk.js.map +1 -0
  85. package/dist/client/chunks/{chart-data-table-Cm5jrpaw.js → chart-data-table-CKauQXme.js} +1046 -1121
  86. package/dist/client/chunks/chart-data-table-CKauQXme.js.map +1 -0
  87. package/dist/client/chunks/{chart-funnel-Eke8IPtG.js → chart-funnel-CToKSBaL.js} +184 -222
  88. package/dist/client/chunks/chart-funnel-CToKSBaL.js.map +1 -0
  89. package/dist/client/chunks/chart-gauge-DTVezSk7.js +403 -0
  90. package/dist/client/chunks/chart-gauge-DTVezSk7.js.map +1 -0
  91. package/dist/client/chunks/chart-heat-map-DTuUl0BR.js +236 -0
  92. package/dist/client/chunks/chart-heat-map-DTuUl0BR.js.map +1 -0
  93. package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js +408 -0
  94. package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js.map +1 -0
  95. package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js +244 -0
  96. package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js.map +1 -0
  97. package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js +185 -0
  98. package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js.map +1 -0
  99. package/dist/client/chunks/chart-line-DKgrQA6c.js +101 -0
  100. package/dist/client/chunks/chart-line-DKgrQA6c.js.map +1 -0
  101. package/dist/client/chunks/{chart-markdown-BPW-EAm9.js → chart-markdown-CV75S_zL.js} +1359 -1240
  102. package/dist/client/chunks/chart-markdown-CV75S_zL.js.map +1 -0
  103. package/dist/client/chunks/{chart-measure-profile-BI3kADCp.js → chart-measure-profile-Ket8fJyf.js} +7 -7
  104. package/dist/client/chunks/{chart-measure-profile-BI3kADCp.js.map → chart-measure-profile-Ket8fJyf.js.map} +1 -1
  105. package/dist/client/chunks/chart-pie-ByieAX5H.js +119 -0
  106. package/dist/client/chunks/chart-pie-ByieAX5H.js.map +1 -0
  107. package/dist/client/chunks/chart-radar-CiSwHWp4.js +138 -0
  108. package/dist/client/chunks/chart-radar-CiSwHWp4.js.map +1 -0
  109. package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js +122 -0
  110. package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js.map +1 -0
  111. package/dist/client/chunks/{chart-sankey-CFzjGvZX.js → chart-sankey-DjrvKw6K.js} +36 -39
  112. package/dist/client/chunks/{chart-sankey-CFzjGvZX.js.map → chart-sankey-DjrvKw6K.js.map} +1 -1
  113. package/dist/client/chunks/chart-scatter-Dd9WFqnS.js +258 -0
  114. package/dist/client/chunks/chart-scatter-Dd9WFqnS.js.map +1 -0
  115. package/dist/client/chunks/{chart-sunburst-91Q2tzaB.js → chart-sunburst-leGpuDj7.js} +3 -3
  116. package/dist/client/chunks/{chart-sunburst-91Q2tzaB.js.map → chart-sunburst-leGpuDj7.js.map} +1 -1
  117. package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js +323 -0
  118. package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js.map +1 -0
  119. package/dist/client/chunks/{chart-waterfall-DcHbbPaG.js → chart-waterfall-DyvQReN5.js} +7 -7
  120. package/dist/client/chunks/{chart-waterfall-DcHbbPaG.js.map → chart-waterfall-DyvQReN5.js.map} +1 -1
  121. package/dist/client/chunks/{charts-core-CrBDYN6N.js → charts-core-DaXSt1Dd.js} +2 -2
  122. package/dist/client/chunks/{charts-core-CrBDYN6N.js.map → charts-core-DaXSt1Dd.js.map} +1 -1
  123. package/dist/client/chunks/charts-loader-DdTeCeNo.js +84 -0
  124. package/dist/client/chunks/charts-loader-DdTeCeNo.js.map +1 -0
  125. package/dist/client/chunks/{core-DsAWNRRv.js → core-D7vPfUIe.js} +2 -2
  126. package/dist/client/chunks/{core-DsAWNRRv.js.map → core-D7vPfUIe.js.map} +1 -1
  127. package/dist/client/chunks/{nl-NL-oyr2wENY.js → nl-NL-2zTAWTej.js} +8 -2
  128. package/dist/client/chunks/{nl-NL-oyr2wENY.js.map → nl-NL-2zTAWTej.js.map} +1 -1
  129. package/dist/client/chunks/retention-ChW9jYdy.js.map +1 -1
  130. package/dist/client/chunks/{schema-visualization-BszcrmZX.js → schema-visualization-Cb_E9_Gd.js} +12 -12
  131. package/dist/client/chunks/{schema-visualization-BszcrmZX.js.map → schema-visualization-Cb_E9_Gd.js.map} +1 -1
  132. package/dist/client/chunks/{useDirtyStateTracking-B5wCDJSj.js → useDirtyStateTracking-MbpxH_v6.js} +95 -84
  133. package/dist/client/chunks/useDirtyStateTracking-MbpxH_v6.js.map +1 -0
  134. package/dist/client/chunks/{useExplainAI-CCeCYzDm.js → useExplainAI-evnZkjCY.js} +14 -14
  135. package/dist/client/chunks/{useExplainAI-CCeCYzDm.js.map → useExplainAI-evnZkjCY.js.map} +1 -1
  136. package/dist/client/chunks/{utils-kqa-JIMg.js → utils-3P6z1vz5.js} +3 -3
  137. package/dist/client/chunks/{utils-kqa-JIMg.js.map → utils-3P6z1vz5.js.map} +1 -1
  138. package/dist/client/chunks/{vendor-0hJNlZXQ.js → vendor-DSpR0IW6.js} +43 -43
  139. package/dist/client/chunks/{vendor-0hJNlZXQ.js.map → vendor-DSpR0IW6.js.map} +1 -1
  140. package/dist/client/components/AgenticNotebook/agentChatParts.d.ts +34 -0
  141. package/dist/client/components/AgenticNotebook/chatMessageParts.d.ts +39 -0
  142. package/dist/client/components/AgenticNotebook/useAgentChatController.d.ts +25 -0
  143. package/dist/client/components/AgenticNotebook/useNotebookAutosave.d.ts +12 -0
  144. package/dist/client/components/AnalysisBuilder/AnalysisAIPanel.d.ts +1 -1
  145. package/dist/client/components/AnalysisBuilder/AnalysisAxisDropZone.d.ts +1 -1
  146. package/dist/client/components/AnalysisBuilder/AnalysisChartConfigPanel.d.ts +1 -1
  147. package/dist/client/components/AnalysisBuilder/AnalysisDisplayConfigPanel.d.ts +1 -1
  148. package/dist/client/components/AnalysisBuilder/AnalysisFilterGroup.d.ts +1 -1
  149. package/dist/client/components/AnalysisBuilder/AnalysisFilterItem.d.ts +1 -1
  150. package/dist/client/components/AnalysisBuilder/AnalysisFilterSection.d.ts +1 -1
  151. package/dist/client/components/AnalysisBuilder/AnalysisModeErrorBoundary.d.ts +1 -1
  152. package/dist/client/components/AnalysisBuilder/AnalysisQueryPanelParts.d.ts +64 -0
  153. package/dist/client/components/AnalysisBuilder/AnalysisResultsHeader.d.ts +67 -0
  154. package/dist/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +13 -0
  155. package/dist/client/components/AnalysisBuilder/BreakdownRow.d.ts +26 -0
  156. package/dist/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +10 -0
  157. package/dist/client/components/AnalysisBuilder/ExecutionPlanPanelParts.d.ts +22 -0
  158. package/dist/client/components/AnalysisBuilder/ExplainAIPanel.d.ts +2 -1
  159. package/dist/client/components/AnalysisBuilder/FieldDetailPanel.d.ts +1 -1
  160. package/dist/client/components/AnalysisBuilder/FieldSearchItem.d.ts +1 -1
  161. package/dist/client/components/AnalysisBuilder/FieldSearchModal.d.ts +1 -1
  162. package/dist/client/components/AnalysisBuilder/FieldSearchResults.d.ts +16 -0
  163. package/dist/client/components/AnalysisBuilder/FilterConfigModal.d.ts +2 -1
  164. package/dist/client/components/AnalysisBuilder/FilterValueInput.d.ts +63 -0
  165. package/dist/client/components/AnalysisBuilder/FlowDepthControls.d.ts +10 -0
  166. package/dist/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +7 -0
  167. package/dist/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +8 -0
  168. package/dist/client/components/AnalysisBuilder/LimitSection.d.ts +1 -1
  169. package/dist/client/components/AnalysisBuilder/MetricRow.d.ts +23 -0
  170. package/dist/client/components/AnalysisBuilder/SectionHeading.d.ts +1 -1
  171. package/dist/client/components/AnalysisBuilder/SortToggleButton.d.ts +13 -0
  172. package/dist/client/components/AnalysisBuilder/StringArrayInput.d.ts +17 -0
  173. package/dist/client/components/AnalysisBuilder/filterConfigModalUtils.d.ts +30 -0
  174. package/dist/client/components/AnalysisBuilder/hooks/useAnalysisBuilderImperativeHandle.d.ts +13 -0
  175. package/dist/client/components/AnalysisBuilder/hooks/useDragReorder.d.ts +25 -0
  176. package/dist/client/components/AnalysisBuilder/hooks/useFieldSearchKeyboard.d.ts +11 -0
  177. package/dist/client/components/AnalysisBuilder/utils/axisConfigUtils.d.ts +23 -0
  178. package/dist/client/components/AnalysisBuilder/utils/executionPlanMarkdown.d.ts +8 -0
  179. package/dist/client/components/AnalysisBuilder/utils/fieldUtils.d.ts +5 -0
  180. package/dist/client/components/AnalysisBuilder/utils/resultsPanelDerive.d.ts +68 -0
  181. package/dist/client/components/AnalysisBuilder/utils/shareStateUtils.d.ts +68 -0
  182. package/dist/client/components/AnalysisBuilder/utils/sortUtils.d.ts +7 -0
  183. package/dist/client/components/AnalyticsDashboard.d.ts +1 -1
  184. package/dist/client/components/AnalyticsPage.d.ts +1 -1
  185. package/dist/client/components/ChartErrorBoundary.d.ts +1 -1
  186. package/dist/client/components/ChartTypeSelector.d.ts +1 -1
  187. package/dist/client/components/ColorPaletteSelector.d.ts +1 -1
  188. package/dist/client/components/DashboardEditModal.d.ts +2 -1
  189. package/dist/client/components/DashboardFilters/CompactFilterBarParts.d.ts +26 -0
  190. package/dist/client/components/DashboardFilters/DashboardFilterConfigModal.d.ts +1 -1
  191. package/dist/client/components/DashboardFilters/DashboardFilterConfigModalParts.d.ts +27 -0
  192. package/dist/client/components/DashboardFilters/DashboardFilterItem.d.ts +1 -1
  193. package/dist/client/components/DashboardFilters/DashboardFilterValueInput.d.ts +39 -0
  194. package/dist/client/components/DashboardFilters/dashboardFilterConfigModalUtils.d.ts +21 -0
  195. package/dist/client/components/DashboardFilters/useCompactFilterBar.d.ts +19 -0
  196. package/dist/client/components/DashboardFilters/useDashboardFilterConfigModal.d.ts +69 -0
  197. package/dist/client/components/DashboardFilters/useDateRangeState.d.ts +19 -0
  198. package/dist/client/components/DashboardFilters/useFilterDropdowns.d.ts +21 -0
  199. package/dist/client/components/DashboardFilters/useFilterValueFetch.d.ts +23 -0
  200. package/dist/client/components/DashboardGrid.d.ts +1 -1
  201. package/dist/client/components/DashboardPortletCard.d.ts +2 -57
  202. package/dist/client/components/DashboardThumbnailPlaceholder.d.ts +1 -1
  203. package/dist/client/components/DataBrowser/DataBrowserSidebar.d.ts +1 -1
  204. package/dist/client/components/DataBrowser/DataBrowserToolbar.d.ts +1 -1
  205. package/dist/client/components/DataBrowser/index.d.ts +1 -1
  206. package/dist/client/components/DataHistogram.d.ts +1 -1
  207. package/dist/client/components/DebugModal.d.ts +1 -1
  208. package/dist/client/components/DrillBreadcrumb.d.ts +2 -1
  209. package/dist/client/components/LoadingIndicator.d.ts +1 -1
  210. package/dist/client/components/MobileStackedLayout.d.ts +1 -1
  211. package/dist/client/components/PortletAnalysisModal.d.ts +1 -1
  212. package/dist/client/components/PortletContainer.d.ts +1 -1
  213. package/dist/client/components/PortletFilterConfigModal.d.ts +6 -4
  214. package/dist/client/components/RowManagedLayout.d.ts +1 -1
  215. package/dist/client/components/ScaledGridWrapper.d.ts +1 -1
  216. package/dist/client/components/SchemaVisualization/CubeNode.d.ts +1 -1
  217. package/dist/client/components/SchemaVisualization/FieldDetailPanel.d.ts +1 -1
  218. package/dist/client/components/SchemaVisualization/RelationshipEdge.d.ts +1 -1
  219. package/dist/client/components/SchemaVisualization/SchemaVisualizationLazy.d.ts +1 -1
  220. package/dist/client/components/SchemaVisualization/index.d.ts +1 -1
  221. package/dist/client/components/TextPortletModal.d.ts +1 -1
  222. package/dist/client/components/analyticsPortlet/PortletChart.d.ts +31 -0
  223. package/dist/client/components/analyticsPortlet/PortletChartView.d.ts +35 -0
  224. package/dist/client/components/analyticsPortlet/PortletStates.d.ts +65 -0
  225. package/dist/client/components/analyticsPortlet/parsePortletQuery.d.ts +22 -0
  226. package/dist/client/components/analyticsPortlet/portletRenderState.d.ts +31 -0
  227. package/dist/client/components/analyticsPortlet/usePortletDebugData.d.ts +37 -0
  228. package/dist/client/components/analyticsPortlet/usePortletDrillState.d.ts +17 -0
  229. package/dist/client/components/analyticsPortlet/usePortletQueryResults.d.ts +37 -0
  230. package/dist/client/components/charts/ActivityGridChart.helpers.d.ts +33 -0
  231. package/dist/client/components/charts/ActivityGridChart.render.d.ts +31 -0
  232. package/dist/client/components/charts/AxisFormatControls.d.ts +5 -3
  233. package/dist/client/components/charts/BarChart.helpers.d.ts +23 -0
  234. package/dist/client/components/charts/BarSeries.d.ts +29 -0
  235. package/dist/client/components/charts/BubbleChart.helpers.d.ts +43 -0
  236. package/dist/client/components/charts/BubbleChart.render.d.ts +21 -0
  237. package/dist/client/components/charts/ChartContainer.d.ts +1 -1
  238. package/dist/client/components/charts/ChartLegend.d.ts +1 -1
  239. package/dist/client/components/charts/ChartStates.d.ts +38 -0
  240. package/dist/client/components/charts/ChartTooltip.d.ts +1 -1
  241. package/dist/client/components/charts/FunnelChart.helpers.d.ts +25 -0
  242. package/dist/client/components/charts/FunnelViews.d.ts +16 -0
  243. package/dist/client/components/charts/HeatMapCanvas.d.ts +25 -0
  244. package/dist/client/components/charts/HeatMapChart.helpers.d.ts +64 -0
  245. package/dist/client/components/charts/KpiDelta.helpers.d.ts +20 -0
  246. package/dist/client/components/charts/KpiNumber.helpers.d.ts +30 -0
  247. package/dist/client/components/charts/KpiStates.d.ts +19 -0
  248. package/dist/client/components/charts/MissingDependencyFallback.d.ts +1 -1
  249. package/dist/client/components/charts/ScatterChart.helpers.d.ts +43 -0
  250. package/dist/client/components/charts/ScatterSeries.d.ts +17 -0
  251. package/dist/client/components/charts/ScatterTooltip.d.ts +21 -0
  252. package/dist/client/components/charts/TreeMapChart.helpers.d.ts +37 -0
  253. package/dist/client/components/charts/TreeMapContent.d.ts +24 -0
  254. package/dist/client/components/charts/TreeMapLegend.d.ts +13 -0
  255. package/dist/client/components/charts/cartesianChartHelpers.d.ts +126 -0
  256. package/dist/client/components/charts/chartAxisResolution.d.ts +32 -0
  257. package/dist/client/components/charts/chartScaffolding.d.ts +77 -0
  258. package/dist/client/components/charts/gaugeChartHelpers.d.ts +36 -0
  259. package/dist/client/components/charts/kpiTextHelpers.d.ts +46 -0
  260. package/dist/client/components/charts/radarChartHelpers.d.ts +14 -0
  261. package/dist/client/components/charts/radialBarChartHelpers.d.ts +22 -0
  262. package/dist/client/components/charts/useChartDimensions.d.ts +20 -0
  263. package/dist/client/components/charts/useKpiDimensions.d.ts +30 -0
  264. package/dist/client/components/dashboard/DashboardContext.d.ts +2 -2
  265. package/dist/client/components/dashboard/DashboardCoordinator.d.ts +1 -1
  266. package/dist/client/components/dashboard/DashboardEditBar.d.ts +5 -0
  267. package/dist/client/components/dashboard/DashboardFilterBar.d.ts +1 -1
  268. package/dist/client/components/dashboard/DashboardGridSurface.d.ts +1 -1
  269. package/dist/client/components/dashboard/DashboardModals.d.ts +1 -1
  270. package/dist/client/components/dashboard/DashboardProvider.d.ts +1 -1
  271. package/dist/client/components/dashboard/DashboardToolbar.d.ts +1 -1
  272. package/dist/client/components/dashboard/LayoutModeToggle.d.ts +10 -0
  273. package/dist/client/components/dashboard/dashboardGridUtils.d.ts +1 -1
  274. package/dist/client/components/dashboardPortletCard/FilterFieldChip.d.ts +12 -0
  275. package/dist/client/components/dashboardPortletCard/PortletCardHeader.d.ts +43 -0
  276. package/dist/client/components/dashboardPortletCard/cardStyles.d.ts +33 -0
  277. package/dist/client/components/dashboardPortletCard/filterField.d.ts +12 -0
  278. package/dist/client/components/dashboardPortletCard/propsEqual.d.ts +55 -0
  279. package/dist/client/components/dashboardPortletCard/usePortletCardActions.d.ts +16 -0
  280. package/dist/client/components/portletAnalysisModal/saveValidation.d.ts +8 -0
  281. package/dist/client/components/shared/dateRangeUtils.d.ts +40 -0
  282. package/dist/client/components/shared/filterDisplayUtils.d.ts +10 -0
  283. package/dist/client/components/shared/filterItem/FilterDateRangeSelector.d.ts +17 -0
  284. package/dist/client/components/shared/filterItem/FilterFieldDropdown.d.ts +16 -0
  285. package/dist/client/components/shared/filterItem/dateRangeSync.d.ts +14 -0
  286. package/dist/client/components/shared/filterItem/fieldVisuals.d.ts +5 -0
  287. package/dist/client/components/shared/filterValueSelector/FilterValueInputs.d.ts +55 -0
  288. package/dist/client/components/shared/filterValueSelector/useFilterValueSelectorState.d.ts +25 -0
  289. package/dist/client/components/shared/queryFieldUtils.d.ts +21 -0
  290. package/dist/client/components/shared/utils.d.ts +4 -43
  291. package/dist/client/components.js +3 -3
  292. package/dist/client/hooks/agentChatStream.d.ts +39 -0
  293. package/dist/client/hooks/analysisQueryExecutionModes.d.ts +133 -0
  294. package/dist/client/hooks/dashboard/useDashboardController.d.ts +2 -2
  295. package/dist/client/hooks/drillNavigation.d.ts +25 -0
  296. package/dist/client/hooks/useDashboardHook.d.ts +2 -2
  297. package/dist/client/hooks.js +3 -3
  298. package/dist/client/icons.d.ts +1 -1
  299. package/dist/client/icons.js +2 -2
  300. package/dist/client/index.js +816 -669
  301. package/dist/client/index.js.map +1 -1
  302. package/dist/client/providers/CubeApiProvider.d.ts +1 -1
  303. package/dist/client/providers/CubeFeaturesProvider.d.ts +1 -1
  304. package/dist/client/providers/CubeMetaProvider.d.ts +1 -1
  305. package/dist/client/providers/CubeProvider.d.ts +1 -1
  306. package/dist/client/providers/I18nProvider.d.ts +1 -1
  307. package/dist/client/providers.js +3 -3
  308. package/dist/client/schema.js +1 -1
  309. package/dist/client/shared/chartConfigBuilders.d.ts +18 -0
  310. package/dist/client/shared/components/QueryAnalysisPanel.sections.d.ts +41 -0
  311. package/dist/client/shared/queryTransforms.d.ts +20 -0
  312. package/dist/client/shared/utils.d.ts +2 -4
  313. package/dist/client/stores/analysisBuilderStore.d.ts +1 -1
  314. package/dist/client/stores/dashboardStore.d.ts +1 -1
  315. package/dist/client/stores/dataBrowserStore.d.ts +1 -1
  316. package/dist/client/stores/notebookStore.d.ts +1 -1
  317. package/dist/client/stores/optionsToAnalysisConfig.d.ts +17 -0
  318. package/dist/client/styles.css +1 -1
  319. package/dist/client/types/drill.d.ts +1 -1
  320. package/dist/client/types.d.ts +7 -2
  321. package/dist/client/utils/axisValueFormatting.d.ts +32 -0
  322. package/dist/client/utils/drillQueryBuilder.d.ts +2 -2
  323. package/dist/client/utils/filterUtils.d.ts +33 -5
  324. package/dist/client/utils/joinReachability.d.ts +27 -0
  325. package/dist/client/utils/timeValueFormatting.d.ts +32 -0
  326. package/dist/client/utils.js +6 -6
  327. package/dist/client-bundle-stats.html +1 -1
  328. package/dist/mcp-app/mcp-app.html +55 -55
  329. package/dist/server/google-BOnRIN1w.cjs +2 -0
  330. package/dist/{adapters/google-CFYljAOF.js → server/google-CvKM9yVM.js} +83 -71
  331. package/dist/server/index.cjs +179 -211
  332. package/dist/server/index.d.ts +2 -5050
  333. package/dist/server/index.js +6360 -6462
  334. package/dist/{adapters/openai-y7GhJNdn.js → server/openai-B5jEiqiB.js} +776 -719
  335. package/dist/server/openai-D0musiYP.cjs +17 -0
  336. package/dist/{adapters/openai-DiVskd89.js → server/openai-cDlFSTk6.js} +61 -59
  337. package/dist/server/openai-vXvLni8v.cjs +1 -0
  338. package/dist/server/server/adapters/base-adapter.d.ts +332 -0
  339. package/dist/server/server/adapters/databend-adapter.d.ts +63 -0
  340. package/dist/server/server/adapters/duckdb-adapter.d.ts +68 -0
  341. package/dist/server/server/adapters/mysql-adapter.d.ts +65 -0
  342. package/dist/server/server/adapters/postgres-adapter.d.ts +55 -0
  343. package/dist/server/server/adapters/singlestore-adapter.d.ts +4 -0
  344. package/dist/server/server/adapters/snowflake-adapter.d.ts +53 -0
  345. package/dist/server/server/adapters/sqlite-adapter.d.ts +120 -0
  346. package/dist/server/server/adapters/window-function-builder.d.ts +11 -0
  347. package/dist/server/server/agent/chart-validation.d.ts +22 -0
  348. package/dist/server/server/agent/handler-steps.d.ts +37 -0
  349. package/dist/server/server/agent/handler.d.ts +25 -0
  350. package/dist/server/server/agent/index.d.ts +11 -0
  351. package/dist/server/server/agent/providers/anthropic.d.ts +24 -0
  352. package/dist/server/server/agent/providers/factory.d.ts +12 -0
  353. package/dist/server/server/agent/providers/google.d.ts +23 -0
  354. package/dist/server/server/agent/providers/index.d.ts +6 -0
  355. package/dist/server/server/agent/providers/openai.d.ts +26 -0
  356. package/dist/server/server/agent/providers/types.d.ts +95 -0
  357. package/dist/server/server/agent/system-prompt.d.ts +5 -0
  358. package/dist/server/server/agent/tools.d.ts +28 -0
  359. package/dist/server/server/agent/types.d.ts +192 -0
  360. package/dist/server/server/ai/discovery-helpers.d.ts +29 -0
  361. package/dist/server/server/ai/discovery.d.ts +66 -0
  362. package/dist/server/server/ai/index.d.ts +10 -0
  363. package/dist/server/server/ai/mcp-prompts.d.ts +83 -0
  364. package/dist/server/server/ai/query-schema.d.ts +258 -0
  365. package/dist/server/server/ai/schemas.d.ts +63 -0
  366. package/dist/server/server/ai/suggestion-helpers.d.ts +33 -0
  367. package/dist/server/server/ai/suggestion.d.ts +16 -0
  368. package/dist/server/server/ai/validation-helpers.d.ts +21 -0
  369. package/dist/server/server/ai/validation.d.ts +31 -0
  370. package/dist/server/server/builders/analysis-utils.d.ts +106 -0
  371. package/dist/server/server/builders/comparison-query-builder.d.ts +70 -0
  372. package/dist/server/server/builders/cte-builder.d.ts +108 -0
  373. package/dist/server/server/builders/date-time-builder.d.ts +34 -0
  374. package/dist/server/server/builders/date-time-helpers.d.ts +34 -0
  375. package/dist/server/server/builders/filter-builder.d.ts +25 -0
  376. package/dist/server/server/builders/filter-operators.d.ts +23 -0
  377. package/dist/server/server/builders/flow-query-builder.d.ts +136 -0
  378. package/dist/server/server/builders/funnel-query-builder.d.ts +145 -0
  379. package/dist/server/server/builders/group-by-builder.d.ts +38 -0
  380. package/dist/server/server/builders/index.d.ts +13 -0
  381. package/dist/server/server/builders/measure-builder.d.ts +185 -0
  382. package/dist/server/server/builders/retention-query-builder.d.ts +98 -0
  383. package/dist/server/server/cache-providers/index.d.ts +5 -0
  384. package/dist/server/server/cache-providers/memory.d.ts +105 -0
  385. package/dist/server/server/cache-utils.d.ts +85 -0
  386. package/dist/server/server/compiler-metadata.d.ts +11 -0
  387. package/dist/server/server/compiler.d.ts +212 -0
  388. package/dist/server/server/cube-utils.d.ts +158 -0
  389. package/dist/server/server/database-utils.d.ts +18 -0
  390. package/dist/server/server/execution/annotation-builder.d.ts +12 -0
  391. package/dist/server/server/execution/filter-cache-preloader.d.ts +19 -0
  392. package/dist/server/server/execution/mode-router.d.ts +25 -0
  393. package/dist/server/server/execution/query-result-cache.d.ts +21 -0
  394. package/dist/server/server/execution/result-post-processor.d.ts +10 -0
  395. package/dist/server/server/executor.d.ts +186 -0
  396. package/dist/server/server/executors/base-executor.d.ts +16 -0
  397. package/dist/server/server/executors/databend-executor.d.ts +33 -0
  398. package/dist/server/server/executors/duckdb-executor.d.ts +33 -0
  399. package/dist/server/server/executors/explain-utils.d.ts +28 -0
  400. package/dist/server/server/executors/index.d.ts +21 -0
  401. package/dist/server/server/executors/mysql-executor.d.ts +27 -0
  402. package/dist/server/server/executors/postgres-executor.d.ts +27 -0
  403. package/dist/server/server/executors/singlestore-executor.d.ts +9 -0
  404. package/dist/server/server/executors/snowflake-executor.d.ts +33 -0
  405. package/dist/server/server/executors/sqlite-executor.d.ts +28 -0
  406. package/dist/server/server/explain/databend-parser.d.ts +16 -0
  407. package/dist/server/server/explain/duckdb-parser.d.ts +28 -0
  408. package/dist/server/server/explain/explain-tree.d.ts +20 -0
  409. package/dist/server/server/explain/index.d.ts +9 -0
  410. package/dist/server/server/explain/mysql-parser.d.ts +38 -0
  411. package/dist/server/server/explain/postgres-parser.d.ts +18 -0
  412. package/dist/server/server/explain/snowflake-parser.d.ts +17 -0
  413. package/dist/server/server/explain/sqlite-parser.d.ts +23 -0
  414. package/dist/server/server/filter-cache.d.ts +73 -0
  415. package/dist/server/server/gap-filler.d.ts +48 -0
  416. package/dist/server/server/index.d.ts +38 -0
  417. package/dist/server/server/logical-plan/cte-planner-helpers.d.ts +37 -0
  418. package/dist/server/server/logical-plan/cte-planner.d.ts +104 -0
  419. package/dist/server/server/logical-plan/filter-propagation.d.ts +44 -0
  420. package/dist/server/server/logical-plan/index.d.ts +19 -0
  421. package/dist/server/server/logical-plan/join-planner.d.ts +27 -0
  422. package/dist/server/server/logical-plan/logical-plan-builder.d.ts +58 -0
  423. package/dist/server/server/logical-plan/logical-planner.d.ts +39 -0
  424. package/dist/server/server/logical-plan/optimiser.d.ts +34 -0
  425. package/dist/server/server/logical-plan/plan-analysis-reporter.d.ts +59 -0
  426. package/dist/server/server/logical-plan/planner-utils.d.ts +20 -0
  427. package/dist/server/server/logical-plan/types.d.ts +199 -0
  428. package/dist/server/server/measure-classification.d.ts +40 -0
  429. package/dist/server/server/physical-plan/drizzle-plan-builder.d.ts +50 -0
  430. package/dist/server/server/physical-plan/drizzle-sql-builder.d.ts +118 -0
  431. package/dist/server/server/physical-plan/index.d.ts +2 -0
  432. package/dist/server/server/physical-plan/processors/cte-processor.d.ts +6 -0
  433. package/dist/server/server/physical-plan/processors/index.d.ts +8 -0
  434. package/dist/server/server/physical-plan/processors/joins-processor.d.ts +6 -0
  435. package/dist/server/server/physical-plan/processors/keys-dedup-processor.d.ts +13 -0
  436. package/dist/server/server/physical-plan/processors/multi-fact-processor.d.ts +13 -0
  437. package/dist/server/server/physical-plan/processors/predicates-processor.d.ts +6 -0
  438. package/dist/server/server/physical-plan/processors/selection-processor.d.ts +6 -0
  439. package/dist/server/server/physical-plan/processors/shared.d.ts +38 -0
  440. package/dist/server/server/physical-plan/processors/window-processor.d.ts +6 -0
  441. package/dist/server/server/prompts/explain-analysis-prompt.d.ts +47 -0
  442. package/dist/server/server/prompts/index.d.ts +27 -0
  443. package/dist/server/server/prompts/single-step-prompt.d.ts +31 -0
  444. package/dist/server/server/prompts/step0-validation-prompt.d.ts +39 -0
  445. package/dist/server/server/prompts/step1-shape-prompt.d.ts +29 -0
  446. package/dist/server/server/prompts/step2-complete-prompt.d.ts +19 -0
  447. package/dist/server/server/prompts/types.d.ts +37 -0
  448. package/dist/server/server/query-handlers.d.ts +79 -0
  449. package/dist/server/server/query-modes.d.ts +28 -0
  450. package/dist/server/server/query-validator.d.ts +9 -0
  451. package/dist/server/server/resolvers/calculated-measure-resolver.d.ts +98 -0
  452. package/dist/server/server/resolvers/index.d.ts +6 -0
  453. package/dist/server/server/resolvers/join-path-resolver.d.ts +158 -0
  454. package/dist/server/server/sql-format.d.ts +11 -0
  455. package/dist/server/server/template-substitution.d.ts +57 -0
  456. package/dist/server/server/types/analysis.d.ts +189 -0
  457. package/dist/server/server/types/cache.d.ts +132 -0
  458. package/dist/server/server/types/core.d.ts +164 -0
  459. package/dist/server/server/types/cube.d.ts +544 -0
  460. package/dist/server/server/types/executor.d.ts +156 -0
  461. package/dist/server/server/types/flow.d.ts +144 -0
  462. package/dist/server/server/types/funnel.d.ts +118 -0
  463. package/dist/server/server/types/index.d.ts +11 -0
  464. package/dist/server/server/types/metadata.d.ts +113 -0
  465. package/dist/server/server/types/query.d.ts +153 -0
  466. package/dist/server/server/types/retention.d.ts +141 -0
  467. package/dist/server/server/types/utils.d.ts +11 -0
  468. package/dist/server/server/types/validation.d.ts +14 -0
  469. package/package.json +15 -8
  470. package/dist/adapters/google-DUlXeeDA.cjs +0 -2
  471. package/dist/adapters/handler-C63rJUUK.cjs +0 -25
  472. package/dist/adapters/locale-CTNwPVZI.cjs +0 -198
  473. package/dist/adapters/locale-gU_d1Wja.js +0 -8249
  474. package/dist/adapters/mcp-transport-C4J4SAcn.cjs +0 -40
  475. package/dist/adapters/mcp-transport-CVUiifEc.js +0 -579
  476. package/dist/adapters/openai-6wrBvAnv.cjs +0 -1
  477. package/dist/adapters/openai-BDwb2u7y.cjs +0 -17
  478. package/dist/adapters/utils-CkEkU8Bo.cjs +0 -128
  479. package/dist/client/chunks/DashboardEditModal-6KRE36mm.js.map +0 -1
  480. package/dist/client/chunks/analysis-builder-shared-x576-O5p.js.map +0 -1
  481. package/dist/client/chunks/analysis-builder-zd48FVJO.js +0 -5367
  482. package/dist/client/chunks/analysis-builder-zd48FVJO.js.map +0 -1
  483. package/dist/client/chunks/chart-activity-grid-CiHrLH6Y.js.map +0 -1
  484. package/dist/client/chunks/chart-area-CXFK-Grv.js +0 -450
  485. package/dist/client/chunks/chart-area-CXFK-Grv.js.map +0 -1
  486. package/dist/client/chunks/chart-bar-DKXfLoGG.js +0 -271
  487. package/dist/client/chunks/chart-bar-DKXfLoGG.js.map +0 -1
  488. package/dist/client/chunks/chart-bubble-DGkTQlxM.js +0 -273
  489. package/dist/client/chunks/chart-bubble-DGkTQlxM.js.map +0 -1
  490. package/dist/client/chunks/chart-config-area-Bq_UsW3x.js +0 -101
  491. package/dist/client/chunks/chart-config-area-Bq_UsW3x.js.map +0 -1
  492. package/dist/client/chunks/chart-config-bar-_JEGZnAu.js +0 -95
  493. package/dist/client/chunks/chart-config-bar-_JEGZnAu.js.map +0 -1
  494. package/dist/client/chunks/chart-config-box-plot-DJ-dWWXA.js.map +0 -1
  495. package/dist/client/chunks/chart-config-gauge-DSwC04l0.js.map +0 -1
  496. package/dist/client/chunks/chart-config-kpi-delta-D6BIkHL3.js.map +0 -1
  497. package/dist/client/chunks/chart-config-kpi-number-Bx-V9a62.js.map +0 -1
  498. package/dist/client/chunks/chart-config-kpi-text-CcqC1u-8.js.map +0 -1
  499. package/dist/client/chunks/chart-config-line-Db3jDsWc.js.map +0 -1
  500. package/dist/client/chunks/chart-config-pie-DD4SmRTF.js.map +0 -1
  501. package/dist/client/chunks/chart-config-radar-CC2XAaGr.js.map +0 -1
  502. package/dist/client/chunks/chart-config-radial-bar-DmxKx1R0.js.map +0 -1
  503. package/dist/client/chunks/chart-config-tree-map-BI-oQStO.js.map +0 -1
  504. package/dist/client/chunks/chart-config-waterfall-DSnyixbI.js.map +0 -1
  505. package/dist/client/chunks/chart-data-table-Cm5jrpaw.js.map +0 -1
  506. package/dist/client/chunks/chart-funnel-Eke8IPtG.js.map +0 -1
  507. package/dist/client/chunks/chart-gauge-DeRZNsyl.js +0 -424
  508. package/dist/client/chunks/chart-gauge-DeRZNsyl.js.map +0 -1
  509. package/dist/client/chunks/chart-heat-map-C86thSJ4.js +0 -231
  510. package/dist/client/chunks/chart-heat-map-C86thSJ4.js.map +0 -1
  511. package/dist/client/chunks/chart-kpi-delta-CxOYD2f1.js +0 -343
  512. package/dist/client/chunks/chart-kpi-delta-CxOYD2f1.js.map +0 -1
  513. package/dist/client/chunks/chart-kpi-number-C6gWz-x4.js +0 -322
  514. package/dist/client/chunks/chart-kpi-number-C6gWz-x4.js.map +0 -1
  515. package/dist/client/chunks/chart-kpi-text-dDONrhS-.js +0 -149
  516. package/dist/client/chunks/chart-kpi-text-dDONrhS-.js.map +0 -1
  517. package/dist/client/chunks/chart-line-r4iWevKZ.js +0 -433
  518. package/dist/client/chunks/chart-line-r4iWevKZ.js.map +0 -1
  519. package/dist/client/chunks/chart-markdown-BPW-EAm9.js.map +0 -1
  520. package/dist/client/chunks/chart-pie-yqH2YVEI.js +0 -172
  521. package/dist/client/chunks/chart-pie-yqH2YVEI.js.map +0 -1
  522. package/dist/client/chunks/chart-radar-B-_3v-rE.js +0 -154
  523. package/dist/client/chunks/chart-radar-B-_3v-rE.js.map +0 -1
  524. package/dist/client/chunks/chart-radial-bar-C0EgzfAF.js +0 -148
  525. package/dist/client/chunks/chart-radial-bar-C0EgzfAF.js.map +0 -1
  526. package/dist/client/chunks/chart-scatter-DZPirzwX.js +0 -255
  527. package/dist/client/chunks/chart-scatter-DZPirzwX.js.map +0 -1
  528. package/dist/client/chunks/chart-tree-map-Bi4axCvh.js +0 -298
  529. package/dist/client/chunks/chart-tree-map-Bi4axCvh.js.map +0 -1
  530. package/dist/client/chunks/useDirtyStateTracking-B5wCDJSj.js.map +0 -1
  531. package/dist/server/google-DUlXeeDA.cjs +0 -2
  532. package/dist/server/openai-6wrBvAnv.cjs +0 -1
  533. package/dist/server/openai-BDwb2u7y.cjs +0 -17
  534. /package/dist/adapters/{express → adapters/express}/index.d.ts +0 -0
  535. /package/dist/adapters/{fastify → adapters/fastify}/index.d.ts +0 -0
  536. /package/dist/adapters/{hono → adapters/hono}/index.d.ts +0 -0
  537. /package/dist/adapters/{locale.d.ts → adapters/locale.d.ts} +0 -0
  538. /package/dist/adapters/{mcp-tools.d.ts → adapters/mcp-tools.d.ts} +0 -0
  539. /package/dist/adapters/{mcp-transport.d.ts → adapters/mcp-transport.d.ts} +0 -0
  540. /package/dist/adapters/{nextjs → adapters/nextjs}/index.d.ts +0 -0
  541. /package/dist/adapters/{types.d.ts → adapters/types.d.ts} +0 -0
@@ -0,0 +1,25 @@
1
+ import { ChartDisplayConfig } from '../../types';
2
+ import { FunnelChartData } from '../../types/funnel';
3
+ /** Check if data is already in funnel data format. */
4
+ export declare function isFunnelData(data: unknown[]): data is FunnelChartData[];
5
+ /**
6
+ * Render time metrics based on config options - returns array of lines for
7
+ * vertical stacking.
8
+ */
9
+ export declare function getTimeMetricsLines(step: FunnelChartData, showAvg: boolean, showMedian: boolean, showP90: boolean): string[];
10
+ /** Coerce arbitrary query rows into FunnelChartData by probing field names. */
11
+ export declare function toFunnelData(data: unknown[]): FunnelChartData[];
12
+ export interface FunnelDisplayOptions {
13
+ customStepLabels?: string[];
14
+ isVertical: boolean;
15
+ funnelStyle: NonNullable<ChartDisplayConfig['funnelStyle']>;
16
+ showConversion: boolean;
17
+ showAvgTime: boolean;
18
+ showMedianTime: boolean;
19
+ showP90Time: boolean;
20
+ hideSummaryFooter: boolean;
21
+ }
22
+ /** Resolve every funnel display option (with backward-compat for time metrics). */
23
+ export declare function resolveFunnelDisplayOptions(displayConfig: ChartDisplayConfig | undefined): FunnelDisplayOptions;
24
+ /** Color for a funnel step (cyclic over the palette or the default funnel gradient). */
25
+ export declare function getStepColor(index: number, colorPalette: string[]): string;
@@ -0,0 +1,16 @@
1
+ import { FunnelChartData } from '../../types/funnel';
2
+ import { FunnelDisplayOptions } from './FunnelChart.helpers';
3
+ interface FunnelViewProps {
4
+ funnelData: FunnelChartData[];
5
+ firstStepValue: number;
6
+ paletteColors: string[];
7
+ options: FunnelDisplayOptions;
8
+ height: string | number;
9
+ }
10
+ /** Recharts trapezoid funnel style. */
11
+ export declare function FunnelShapeView({ funnelData, firstStepValue, paletteColors, options, height }: FunnelViewProps): import("react").JSX.Element;
12
+ /** Vertical bars (steps laid out horizontally, bars grow bottom-to-top). */
13
+ export declare function FunnelVerticalView({ funnelData, firstStepValue, paletteColors, options, height }: FunnelViewProps): import("react").JSX.Element;
14
+ /** Horizontal bars (default - steps stacked vertically, bars grow left-to-right). */
15
+ export declare function FunnelHorizontalView({ funnelData, firstStepValue, paletteColors, options, height }: FunnelViewProps): import("react").JSX.Element;
16
+ export {};
@@ -0,0 +1,25 @@
1
+ import { HeatMapDisplayOptions } from './HeatMapChart.helpers';
2
+ interface HeatMapDatum {
3
+ x: string;
4
+ y: number | null;
5
+ }
6
+ interface HeatMapSerie {
7
+ id: string;
8
+ data: HeatMapDatum[];
9
+ }
10
+ interface HeatMapCanvasProps {
11
+ data: HeatMapSerie[];
12
+ truncated: boolean;
13
+ colors: string[];
14
+ options: HeatMapDisplayOptions;
15
+ xAxisField: string;
16
+ yAxisField: string;
17
+ valueField: string;
18
+ }
19
+ /**
20
+ * The nivo `<ResponsiveHeatMap>` for HeatMapChart, with all axis/legend/colour
21
+ * config resolved from helpers. Extracted so the chart component stays a thin
22
+ * orchestrator. Behaviour matches the original inline JSX.
23
+ */
24
+ export declare function HeatMapCanvas({ data, truncated, colors, options, xAxisField, yAxisField, valueField, }: HeatMapCanvasProps): import("react").JSX.Element;
25
+ export {};
@@ -0,0 +1,64 @@
1
+ import { AxisFormatConfig, ChartDisplayConfig } from '../../types';
2
+ /**
3
+ * Maximum dimensions for heatmap to prevent browser lockup. 50x50 = 2500 cells.
4
+ */
5
+ export declare const MAX_HEATMAP_ROWS = 50;
6
+ export declare const MAX_HEATMAP_COLS = 50;
7
+ /** Parse color string (hex or rgb) to RGB values. */
8
+ export declare function parseColor(color: string): {
9
+ r: number;
10
+ g: number;
11
+ b: number;
12
+ } | null;
13
+ /** Relative luminance of a color (0 black .. 1 white) per WCAG. */
14
+ export declare function getLuminance(color: string): number;
15
+ /** Contrasting text color (white or dark) based on a background color. */
16
+ export declare function getContrastingTextColor(bgColor: string): string;
17
+ interface HeatMapDatum {
18
+ x: string;
19
+ y: number | null;
20
+ }
21
+ interface HeatMapSerie {
22
+ id: string;
23
+ data: HeatMapDatum[];
24
+ }
25
+ export interface HeatMapTransformResult {
26
+ data: HeatMapSerie[];
27
+ truncated: boolean;
28
+ originalRows: number;
29
+ originalCols: number;
30
+ }
31
+ /**
32
+ * Transform drizzle-cube flat query results to nivo heatmap format.
33
+ *
34
+ * Groups rows by the Y dimension, sorts X chronologically when possible, and
35
+ * truncates to MAX_HEATMAP_ROWS x MAX_HEATMAP_COLS to prevent browser lockup.
36
+ */
37
+ export declare function transformToHeatMapFormat(data: Record<string, unknown>[], xAxisField: string | undefined, yAxisField: string | undefined, valueField: string | undefined, xGranularity?: string, yGranularity?: string): HeatMapTransformResult;
38
+ /** Coerce an axis config value (string | array | undefined) to a single field. */
39
+ export declare function firstField(value: string | string[] | undefined): string | undefined;
40
+ export interface HeatMapDisplayOptions {
41
+ showLabels: boolean;
42
+ cellShape: 'rect' | 'circle';
43
+ showLegend: boolean;
44
+ xAxisFormat?: AxisFormatConfig;
45
+ yAxisFormat?: AxisFormatConfig;
46
+ valueFormat?: AxisFormatConfig;
47
+ }
48
+ /** Resolve heatmap display options from the (loosely-typed) display config. */
49
+ export declare function resolveHeatMapDisplayOptions(displayConfig: ChartDisplayConfig | undefined): HeatMapDisplayOptions;
50
+ /** Build an axis `format` fn that applies the given axis format config (or none). */
51
+ export declare function makeAxisFormatter(format: AxisFormatConfig | undefined): ((v: string | number) => string) | undefined;
52
+ /** Resolve the heatmap value formatter (custom format or nivo default). */
53
+ export declare function makeValueFormatter(valueFormat: AxisFormatConfig | undefined): ((v: number) => string) | string;
54
+ /** Sequential colours config for nivo; falls back to a built-in scheme. */
55
+ export declare function resolveHeatMapColors(colors: string[]): {
56
+ type: 'sequential';
57
+ colors: [string, string];
58
+ } | {
59
+ type: 'sequential';
60
+ scheme: 'greens';
61
+ };
62
+ /** Default sequential blue gradient when no palette gradient is supplied. */
63
+ export declare const DEFAULT_HEATMAP_COLORS: string[];
64
+ export {};
@@ -0,0 +1,20 @@
1
+ import { ChartAxisConfig } from '../../types';
2
+ /** Coerce a config axis value (string | array | undefined) to a field list. */
3
+ export declare function toFieldList(axis: ChartAxisConfig['yAxis']): string[];
4
+ /** Sort rows ascending by the dimension field (stable when absent). */
5
+ export declare function sortByDimension<T extends Record<string, any>>(data: T[], dimensionField: string | undefined): T[];
6
+ /** Extract finite numeric values for a field. */
7
+ export declare function extractNumericValues(rows: Record<string, any>[], valueField: string): number[];
8
+ export interface DeltaStats {
9
+ lastValue: number;
10
+ absoluteChange: number;
11
+ percentageChange: number;
12
+ isPositiveChange: boolean;
13
+ }
14
+ /** Compute last value + delta vs the previous value. Requires >= 2 values. */
15
+ export declare function computeDelta(values: number[]): DeltaStats;
16
+ /**
17
+ * Resolve a palette colour by index, falling back to a default. Used for both
18
+ * the positive and negative delta colours.
19
+ */
20
+ export declare function resolvePaletteColor(colorIndex: number | undefined, colors: string[] | undefined, fallback: string): string;
@@ -0,0 +1,30 @@
1
+ import { ChartAxisConfig, ChartDisplayConfig } from '../../types';
2
+ /** Extract the value field list from chart config (string | array | undefined). */
3
+ export declare function getKpiValueFields(yAxis: ChartAxisConfig['yAxis']): string[];
4
+ /** Sort rows ascending by the time-dimension field (stable when absent). */
5
+ export declare function sortKpiData<T extends Record<string, any>>(data: T[] | undefined, timeDimensionField: string | undefined): T[];
6
+ /**
7
+ * Extract numeric values for the configured field, falling back to the first
8
+ * numeric field on each row when the configured field is absent.
9
+ */
10
+ export declare function extractKpiValues(dataToUse: Record<string, any>[], valueField: string): number[];
11
+ /** Compute avg/min/max over a numeric series (0s when empty). */
12
+ export declare function computeKpiStats(values: number[]): {
13
+ avg: number;
14
+ min: number;
15
+ max: number;
16
+ };
17
+ /**
18
+ * Format a numeric KPI value with thousands/millions/billions suffixes,
19
+ * honouring a custom `formatValue`, `decimals` and `prefix` from displayConfig.
20
+ */
21
+ export declare function formatKpiNumber(value: number | null | undefined, displayConfig: ChartDisplayConfig): string;
22
+ /**
23
+ * Resolve the label to display for a KPI field: prefer the resolved field label,
24
+ * but fall back to the raw field name when the label looks empty/too short.
25
+ */
26
+ export declare function resolveDisplayLabel(label: string | undefined, fieldName: string): string;
27
+ /** Resolve the main value colour from the palette / displayConfig overrides. */
28
+ export declare function resolveValueColor(valueColorIndex: number | undefined, colors: string[] | undefined): string;
29
+ /** Resolve the variance colour (green/red based on sign), with palette overrides. */
30
+ export declare function resolveVarianceColor(variance: number | null, positiveColorIndex: number | undefined, negativeColorIndex: number | undefined, colors: string[] | undefined): string;
@@ -0,0 +1,19 @@
1
+ import { default as React } from 'react';
2
+ type KpiStateVariant = 'muted' | 'danger' | 'warning';
3
+ /** Resolve the shared `height`/`minHeight` style used by every KPI card state. */
4
+ export declare function kpiHeightStyle(height: string | number): React.CSSProperties;
5
+ /**
6
+ * Centred KPI state card (no-data / config-error / insufficient-data).
7
+ *
8
+ * Owns the duplicated centred flex wrapper shared by KpiNumber and KpiDelta.
9
+ * Callers supply already-resolved title/hint text (i18n resolved at the call
10
+ * site) plus an optional colour variant and extra children.
11
+ */
12
+ export declare function KpiCenteredState({ height, title, hint, variant, children }: {
13
+ height: string | number;
14
+ title: React.ReactNode;
15
+ hint?: React.ReactNode;
16
+ variant?: KpiStateVariant;
17
+ children?: React.ReactNode;
18
+ }): React.JSX.Element;
19
+ export {};
@@ -8,5 +8,5 @@ interface MissingDependencyFallbackProps {
8
8
  * Fallback component shown when a chart's optional dependency is not installed.
9
9
  * Provides clear instructions on how to install the missing package.
10
10
  */
11
- export declare function MissingDependencyFallback({ chartType, packageName, installCommand, height }: MissingDependencyFallbackProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function MissingDependencyFallback({ chartType, packageName, installCommand, height }: MissingDependencyFallbackProps): import("react").JSX.Element;
12
12
  export {};
@@ -0,0 +1,43 @@
1
+ import { CHART_MARGINS } from '../../utils/chartConstants';
2
+ import { AxisFormatConfig, ChartAxisConfig, ChartDisplayConfig, CubeQuery } from '../../types';
3
+ export interface ScatterRenderState {
4
+ showLegend: boolean;
5
+ showGrid: boolean;
6
+ showTooltip: boolean;
7
+ /** Whether to render one Scatter per series group vs a single series. */
8
+ hasSeries: boolean;
9
+ xAxisFormat?: AxisFormatConfig;
10
+ /** For scatter charts the y-axis uses the left-axis format config. */
11
+ yAxisFormat?: AxisFormatConfig;
12
+ chartMargins: typeof CHART_MARGINS;
13
+ }
14
+ /**
15
+ * Resolve all render-time display flags, axis formats and margins for the
16
+ * scatter chart from the display config and the transformed series keys.
17
+ */
18
+ export declare function resolveScatterRenderState(displayConfig: ChartDisplayConfig | undefined, seriesKeys: string[]): ScatterRenderState;
19
+ export interface ScatterAxisFields {
20
+ xAxisField: string;
21
+ yAxisField: string;
22
+ seriesFields: string[];
23
+ /** Set when the config is invalid (no usable axis fields). */
24
+ errorCode?: 'axisInvalid' | 'axisFields';
25
+ }
26
+ /** Resolve x/y/series fields supporting both the new and legacy config shapes. */
27
+ export declare function resolveScatterAxisFields(chartConfig: ChartAxisConfig | undefined): ScatterAxisFields;
28
+ export interface ScatterPoint {
29
+ x: number;
30
+ y: number;
31
+ name: string;
32
+ timeValues: Record<string, string>;
33
+ originalItem: Record<string, any>;
34
+ }
35
+ export interface ScatterTransform {
36
+ scatterData: ScatterPoint[];
37
+ seriesGroups: Record<string, ScatterPoint[]>;
38
+ }
39
+ /**
40
+ * Transform rows into scatter points, grouping by series when configured.
41
+ * Null x/y coordinates are filtered out. Mirrors the original two-branch logic.
42
+ */
43
+ export declare function transformScatterData(data: Record<string, any>[], xAxisField: string, yAxisField: string, seriesFields: string[], timeDimensionFields: string[], queryObject: CubeQuery | undefined): ScatterTransform;
@@ -0,0 +1,17 @@
1
+ import { ColorPalette } from '../../types';
2
+ import { ScatterPoint } from './ScatterChart.helpers';
3
+ interface ScatterSeriesProps {
4
+ hasSeries: boolean;
5
+ seriesKeys: string[];
6
+ seriesGroups: Record<string, ScatterPoint[]>;
7
+ scatterData: ScatterPoint[];
8
+ colorPalette?: ColorPalette;
9
+ hoveredLegend: string | null;
10
+ }
11
+ /**
12
+ * Renders the `<Scatter>` series for ScatterChart — one per series group when
13
+ * `hasSeries`, otherwise a single series. Returned as a fragment so it composes
14
+ * inside the Recharts chart children. Behaviour matches the original inline JSX.
15
+ */
16
+ export declare function ScatterSeries({ hasSeries, seriesKeys, seriesGroups, scatterData, colorPalette, hoveredLegend }: ScatterSeriesProps): import("react").JSX.Element;
17
+ export {};
@@ -0,0 +1,21 @@
1
+ import { AxisFormatConfig } from '../../types';
2
+ import { ScatterPoint } from './ScatterChart.helpers';
3
+ interface ScatterTooltipProps {
4
+ active?: boolean;
5
+ payload?: Array<{
6
+ payload?: ScatterPoint;
7
+ }>;
8
+ xAxisField: string;
9
+ yAxisField: string;
10
+ xAxisFormat?: AxisFormatConfig;
11
+ yAxisFormat?: AxisFormatConfig;
12
+ getFieldLabel: (field: string) => string;
13
+ }
14
+ /**
15
+ * Custom Recharts tooltip content for ScatterChart.
16
+ *
17
+ * Extracted from the inline `content` render prop to keep the chart body lean.
18
+ * Renders the point name, any time-dimension values, and the formatted x/y.
19
+ */
20
+ export declare function ScatterTooltip({ active, payload, xAxisField, yAxisField, xAxisFormat, yAxisFormat, getFieldLabel }: ScatterTooltipProps): import("react").JSX.Element | null;
21
+ export {};
@@ -0,0 +1,37 @@
1
+ import { AxisFormatConfig, ChartAxisConfig, ColorPalette, CubeQuery } from '../../types';
2
+ export interface TreemapDatum {
3
+ name: string;
4
+ size: number;
5
+ fill?: string;
6
+ series?: string;
7
+ [key: string]: unknown;
8
+ }
9
+ export interface TreemapBuildResult {
10
+ treemapData: TreemapDatum[];
11
+ isNumericSeries: boolean;
12
+ seriesField?: string;
13
+ }
14
+ /**
15
+ * Build treemap data (config or auto-detect), then drop non-positive sizes.
16
+ * Returns `null` when the legacy path can't find a usable size field.
17
+ */
18
+ export declare function buildTreemapData(data: Record<string, any>[], chartConfig: ChartAxisConfig | undefined, queryObject: CubeQuery | undefined, colorPalette: ColorPalette | undefined): TreemapBuildResult | null;
19
+ /** Min/max of the (numeric) series field across the raw rows. */
20
+ export declare function seriesMinMax(data: Record<string, any>[], seriesField: string): {
21
+ min: number;
22
+ max: number;
23
+ };
24
+ /** Format a numeric value with the optional axis format (or `.toFixed(2)`). */
25
+ export declare function formatSeriesValue(value: number, format: AxisFormatConfig | undefined): string;
26
+ export interface LegendEntry {
27
+ value: string;
28
+ type: 'rect';
29
+ color: string;
30
+ }
31
+ /**
32
+ * Build the legend entries for the treemap: a gradient ramp for numeric series,
33
+ * or discrete swatches for categorical series. Empty when not applicable.
34
+ */
35
+ export declare function buildTreemapLegend(data: Record<string, any>[], treemapData: TreemapDatum[], showLegend: boolean, seriesField: string | undefined, isNumericSeries: boolean, leftYAxisFormat: AxisFormatConfig | undefined): LegendEntry[];
36
+ /** Adjust the outer container height to make room for a legend, if present. */
37
+ export declare function adjustHeightForLegend(height: string | number, hasLegend: boolean): string | number;
@@ -0,0 +1,24 @@
1
+ import { default as React } from 'react';
2
+ import { AxisFormatConfig, ChartAxisConfig, ColorPalette, CubeQuery } from '../../types';
3
+ import { ChartDataPointClickEvent } from '../../types/drill';
4
+ import { TreemapDatum } from './TreeMapChart.helpers';
5
+ interface TreeMapContentOptions {
6
+ treemapData: TreemapDatum[];
7
+ colorPalette?: ColorPalette;
8
+ hoveredIndex: number | null;
9
+ setHoveredIndex: (index: number | null) => void;
10
+ leftYAxisFormat?: AxisFormatConfig;
11
+ drillEnabled?: boolean;
12
+ onDataPointClick?: (event: ChartDataPointClickEvent) => void;
13
+ queryObject?: CubeQuery;
14
+ chartConfig?: ChartAxisConfig;
15
+ }
16
+ /**
17
+ * Build the Recharts `content` renderer for treemap cells.
18
+ *
19
+ * Encapsulates the per-cell rect + foreignObject overlay, hover state and drill
20
+ * click handler that previously lived inline in TreeMapChart (the highest-
21
+ * complexity hot spots). Behaviour is identical to the original.
22
+ */
23
+ export declare function makeTreeMapContent({ treemapData, colorPalette, hoveredIndex, setHoveredIndex, leftYAxisFormat, drillEnabled, onDataPointClick, queryObject, chartConfig, }: TreeMapContentOptions): (props: any) => React.JSX.Element | null;
24
+ export {};
@@ -0,0 +1,13 @@
1
+ import { AxisFormatConfig } from '../../types';
2
+ import { LegendEntry } from './TreeMapChart.helpers';
3
+ interface TreeMapLegendProps {
4
+ isNumericSeries: boolean;
5
+ seriesField?: string;
6
+ seriesLabel: string;
7
+ legendPayload: LegendEntry[];
8
+ data: Record<string, any>[];
9
+ leftYAxisFormat?: AxisFormatConfig;
10
+ }
11
+ /** Treemap legend wrapper — gradient for numeric series, swatches otherwise. */
12
+ export declare function TreeMapLegend({ isNumericSeries, seriesField, seriesLabel, legendPayload, data, leftYAxisFormat, }: TreeMapLegendProps): import("react").JSX.Element;
13
+ export {};
@@ -0,0 +1,126 @@
1
+ import { default as React } from 'react';
2
+ import { ColorPalette } from '../../types';
3
+ /**
4
+ * Co-located helpers shared by the Cartesian time-series charts (Line, Area).
5
+ *
6
+ * These extract the heavier inline logic that previously lived inside the chart
7
+ * components — the clickable/drill dot renderer, the comparison-mode tick and
8
+ * label formatters, and the series-key → measure-field resolution — so the
9
+ * component bodies stay focused on chart composition. Pure extraction: no
10
+ * behaviour change.
11
+ */
12
+ export interface DataPointClickPayload {
13
+ dataPoint: any;
14
+ clickedField: string;
15
+ xValue: any;
16
+ position: {
17
+ x: number;
18
+ y: number;
19
+ };
20
+ nativeEvent: React.MouseEvent;
21
+ }
22
+ interface DrillDotOptions {
23
+ /** Recharts dot props (cx, cy, payload, key). */
24
+ props: any;
25
+ color: string;
26
+ drillEnabled?: boolean;
27
+ originalField?: string;
28
+ seriesKey: string;
29
+ onDataPointClick?: (payload: DataPointClickPayload) => void;
30
+ }
31
+ /**
32
+ * Render a single data-point dot. When drill is enabled and a click handler is
33
+ * present, renders a larger clickable dot with a surface-coloured backing
34
+ * circle to mask grid lines; otherwise a small plain dot. Returns null when the
35
+ * point has no coordinates.
36
+ *
37
+ * `renderPlain` controls whether a small non-interactive dot is drawn when
38
+ * drill is disabled (Line draws one; Area returns nothing).
39
+ */
40
+ export declare function renderDrillDot({ props, color, drillEnabled, originalField, seriesKey, onDataPointClick, renderPlain }: DrillDotOptions & {
41
+ renderPlain: boolean;
42
+ }): React.ReactElement | null;
43
+ /**
44
+ * Build the comparison-mode X-axis tick formatter for time-series charts.
45
+ * Returns undefined when not in comparison mode (no custom formatting).
46
+ */
47
+ export declare function makeComparisonTickFormatter(hasComparisonData: boolean, chartData: any[], queryObject: any, xAxisField: string): ((value: string | number, index: number) => string) | undefined;
48
+ /**
49
+ * Build the comparison-mode tooltip label formatter for time-series charts.
50
+ * Returns undefined when not in comparison mode (no custom formatting).
51
+ */
52
+ export declare function makeComparisonLabelFormatter(hasComparisonData: boolean, queryObject: any, xAxisField: string): ((label: any, payload: any) => string) | undefined;
53
+ /**
54
+ * Resolve effective stacking for the Area chart from `stackType` (new) /
55
+ * `stacked` (legacy), disabling stacking when a right axis is present (areas on
56
+ * different axes can't be stacked).
57
+ */
58
+ export declare function resolveAreaStacking(displayConfig: {
59
+ stackType?: string;
60
+ stacked?: boolean;
61
+ } | undefined, hasRightAxis: boolean): {
62
+ effectiveShouldStack: boolean;
63
+ effectiveIsPercentStack: boolean;
64
+ stackOffset: 'expand' | undefined;
65
+ };
66
+ /** Build a map from series display label to original measure field name. */
67
+ export declare function buildSeriesKeyToFieldMap(yAxisFields: string[], getFieldLabel: (field: string) => string): Record<string, string>;
68
+ /**
69
+ * Resolve a series key back to its original measure field, handling comparison
70
+ * suffixes like "(Current)" / "(Prior)" and dimension prefixes ("Dim - Label").
71
+ */
72
+ export declare function makeSeriesKeyResolver(seriesKeyToField: Record<string, string>): (seriesKey: string) => string | undefined;
73
+ /** Pick a series colour by index, preferring the palette then the defaults. */
74
+ export declare function getSeriesColor(colorPalette: ColorPalette | undefined, index: number): string;
75
+ interface LineSeriesOptions {
76
+ seriesKeys: string[];
77
+ colorPalette?: ColorPalette;
78
+ resolveField: (seriesKey: string) => string | undefined;
79
+ yAxisAssignment: Record<string, 'left' | 'right'>;
80
+ hoveredLegend: string | null;
81
+ connectNulls: boolean;
82
+ drillEnabled?: boolean;
83
+ onDataPointClick?: (payload: DataPointClickPayload) => void;
84
+ /** Comparison styling (omit/false → standard series). */
85
+ hasComparisonData?: boolean;
86
+ periodLabels?: string[];
87
+ priorPeriodStyle?: 'solid' | 'dashed' | 'dotted';
88
+ priorPeriodOpacity?: number;
89
+ }
90
+ /** Render all line series for the Line chart. */
91
+ export declare function renderLineSeries(opts: LineSeriesOptions): React.ReactElement[];
92
+ interface AreaSeriesOptions {
93
+ seriesKeys: string[];
94
+ colorPalette?: ColorPalette;
95
+ seriesKeyToField: Record<string, string>;
96
+ yAxisAssignment: Record<string, 'left' | 'right'>;
97
+ hoveredLegend: string | null;
98
+ connectNulls: boolean;
99
+ shouldStack: boolean;
100
+ drillEnabled?: boolean;
101
+ onDataPointClick?: (payload: DataPointClickPayload) => void;
102
+ }
103
+ /** Render all area series for the Area chart. */
104
+ export declare function renderAreaSeries(opts: AreaSeriesOptions): React.ReactElement[];
105
+ export interface TimeSeriesShape {
106
+ chartData: any[];
107
+ seriesKeys: string[];
108
+ effectiveXAxisKey: string;
109
+ hasComparisonData: boolean;
110
+ periodLabels: string[];
111
+ }
112
+ /**
113
+ * Shape raw rows for a Cartesian time-series chart. In comparison mode this
114
+ * uses the overlay transform (aligned by period day index); otherwise the
115
+ * standard series transform. Centralises the branch so the chart body stays
116
+ * flat.
117
+ */
118
+ export declare function buildTimeSeriesData(args: {
119
+ data: any[];
120
+ xAxisField: string;
121
+ yAxisFields: string[];
122
+ seriesFields: string[];
123
+ queryObject: any;
124
+ getFieldLabel: (field: string) => string;
125
+ }): TimeSeriesShape;
126
+ export {};
@@ -0,0 +1,32 @@
1
+ import { ChartAxisConfig } from '../../types';
2
+ /**
3
+ * Discriminated error code returned by {@link resolveChartAxisFields} when the
4
+ * chart configuration is invalid. Each chart maps these codes to its own i18n
5
+ * hint key (e.g. pie charts surface a pie-specific message for `axisInvalid`).
6
+ */
7
+ export type ChartAxisErrorCode = 'axisInvalid' | 'axisFields';
8
+ /**
9
+ * Result of resolving X/Y/series fields from a {@link ChartAxisConfig}.
10
+ * When `errorCode` is non-null the field values are not usable and the chart
11
+ * should render a configuration-error state instead.
12
+ */
13
+ export interface ResolvedChartAxisFields {
14
+ /** Resolved X-axis field (category), or undefined when the config is invalid */
15
+ xAxisField?: string;
16
+ /** Resolved Y-axis (value/measure) fields */
17
+ yAxisFields: string[];
18
+ /** Optional series/grouping fields (only present in the new config format) */
19
+ seriesFields: string[];
20
+ /** Non-null when the configuration cannot produce a renderable axis setup */
21
+ errorCode: ChartAxisErrorCode | null;
22
+ }
23
+ /**
24
+ * Pure resolver for the X/Y/series field extraction that Cartesian charts
25
+ * (bar, line, area, pie) all duplicated inline.
26
+ *
27
+ * Supports both the new format (`xAxis` / `yAxis` / `series` arrays) and the
28
+ * legacy format (`x` / `y`). Returns a discriminated `errorCode` rather than
29
+ * JSX so each chart can map it to its own i18n hint key and render its own
30
+ * guard component.
31
+ */
32
+ export declare function resolveChartAxisFields(chartConfig?: ChartAxisConfig): ResolvedChartAxisFields;
@@ -0,0 +1,77 @@
1
+ import { AxisFormatConfig } from '../../types';
2
+ /**
3
+ * Shared scaffolding for the Cartesian recharts charts (bar, line, area).
4
+ *
5
+ * These charts duplicated the same dual-Y-axis derivation, chart margins,
6
+ * target-line overlay, and the left/right `<YAxis>` JSX. The pure helpers and
7
+ * recharts render-helpers here own that shared setup. Render-helpers return
8
+ * recharts elements (inside a fragment) and are embedded directly in the chart
9
+ * children — recharts flattens fragments when discovering axes/series, exactly
10
+ * as it already does for the inline target-line fragment.
11
+ */
12
+ export interface DualAxisInfo {
13
+ /** True when at least one measure is assigned to the right axis */
14
+ hasRightAxis: boolean;
15
+ /** Measure fields rendered against the left axis */
16
+ leftAxisFields: string[];
17
+ /** Measure fields rendered against the right axis */
18
+ rightAxisFields: string[];
19
+ }
20
+ /** Derive left/right axis membership from per-measure axis assignments. */
21
+ export declare function getDualAxisInfo(yAxisFields: string[], yAxisAssignment: Record<string, 'left' | 'right'>): DualAxisInfo;
22
+ /** Chart margins with extra room for the Y-axis label(s). */
23
+ export declare function getYAxisChartMargins(hasRightAxis: boolean): {
24
+ left: number;
25
+ right: number;
26
+ top: number;
27
+ bottom: number;
28
+ };
29
+ /**
30
+ * Apply target values (single or comma-separated spread) onto chart data,
31
+ * returning the spread targets plus data enhanced with a `__target` key.
32
+ */
33
+ export declare function withTargetData<T extends Record<string, any>>(chartData: T[], target: string | undefined): {
34
+ spreadTargets: number[];
35
+ enhancedChartData: T[];
36
+ };
37
+ /**
38
+ * Render the left + optional right `<YAxis>`. Returns recharts elements in a
39
+ * fragment for embedding directly in the chart children. Positional args keep
40
+ * the (otherwise identical) call sites in each chart down to a single line.
41
+ *
42
+ * @param isPercentStack when true (area/bar percent stacking) the left axis shows 0–100%
43
+ */
44
+ export declare function renderDualYAxes({ hasRightAxis, leftAxisFields, rightAxisFields }: DualAxisInfo, getFieldLabel: (field: string) => string, leftYAxisFormat?: AxisFormatConfig, rightYAxisFormat?: AxisFormatConfig, isPercentStack?: boolean): import("react").JSX.Element;
45
+ /**
46
+ * Render the target overlay: a white backing line plus a purple dashed line
47
+ * on top (shared by bar, line, area). Returns null when there are no targets.
48
+ */
49
+ export declare function renderChartTargetLines(spreadTargets: number[]): import("react").JSX.Element | null;
50
+ interface CartesianTooltipOptions {
51
+ leftYAxisFormat?: AxisFormatConfig;
52
+ rightYAxisFormat?: AxisFormatConfig;
53
+ yAxisAssignment: Record<string, 'left' | 'right'>;
54
+ /** Maps a series key (display label) back to its original measure field. */
55
+ resolveField: (name: string) => string | undefined;
56
+ /** When true, values render as percentages (area/bar percent stacking). */
57
+ isPercentStack?: boolean;
58
+ }
59
+ /**
60
+ * Build the value/name tooltip formatter shared by the Cartesian charts.
61
+ * Handles null values, the target series, percent stacking, and per-series
62
+ * left/right axis format selection.
63
+ */
64
+ export declare function makeCartesianTooltipFormatter({ leftYAxisFormat, rightYAxisFormat, yAxisAssignment, resolveField, isPercentStack }: CartesianTooltipOptions): (value: any, name: any) => [any, any];
65
+ /**
66
+ * Render the hover-aware bottom legend shared by the Cartesian charts.
67
+ * Returns null when the legend is hidden. `iconType` / `paddingTop` differ
68
+ * per chart (rect+10 for area, rect+25 for bar, line+25 for line).
69
+ */
70
+ export declare function renderHoverLegend({ show, iconType, paddingTop, onHover, onLeave }: {
71
+ show: boolean;
72
+ iconType: 'rect' | 'line' | 'circle';
73
+ paddingTop: number;
74
+ onHover: (dataKey: string) => void;
75
+ onLeave: () => void;
76
+ }): import("react").JSX.Element | null;
77
+ export {};
@@ -0,0 +1,36 @@
1
+ import { AxisFormatConfig, ThresholdBand } from '../../types';
2
+ /**
3
+ * Co-located helpers for GaugeChart: pure geometry/value math and threshold
4
+ * parsing extracted from the component so the render body stays flat. Pure
5
+ * extraction — no behaviour change.
6
+ */
7
+ export declare const START_ANGLE: number;
8
+ export declare const END_ANGLE: number;
9
+ export declare const TRACK_COLOR = "#e2e8f0";
10
+ export declare const DEFAULT_FILL = "#6366f1";
11
+ export declare function parseNum(v: unknown): number | null;
12
+ export declare function clamp(v: number, lo: number, hi: number): number;
13
+ export declare function valueToAngle(value: number, min: number, max: number): number;
14
+ export declare function resolveColor(fraction: number, thresholds: ThresholdBand[]): string;
15
+ export declare function buildArcPath(innerRadius: number, outerRadius: number, startAngle: number, endAngle: number): string;
16
+ /** Parse the displayConfig.thresholds value (array or JSON string) into bands. */
17
+ export declare function parseThresholds(raw: unknown): ThresholdBand[];
18
+ export interface ThresholdArcBand {
19
+ color: string;
20
+ start: number;
21
+ end: number;
22
+ }
23
+ /** Build the outer-ring threshold arc bands (in fraction space 0..1). */
24
+ export declare function buildThresholdBands(thresholds: ThresholdBand[]): ThresholdArcBand[];
25
+ export interface GaugeGeometry {
26
+ effectiveMax: number;
27
+ clampedValue: number;
28
+ fraction: number;
29
+ fillColor: string;
30
+ fillAngle: number;
31
+ needleAngle: number;
32
+ }
33
+ /** Compute the gauge's clamped value, fraction, fill colour, and angles. */
34
+ export declare function computeGaugeGeometry(rawValue: number, minValue: number, maxValue: number, thresholds: ThresholdBand[]): GaugeGeometry;
35
+ /** Format a gauge value with the optional axis format, else locale string. */
36
+ export declare function formatGaugeValue(value: number, yAxisFormat?: AxisFormatConfig): string;