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,119 @@
1
+ import { n as e } from "./rolldown-runtime-CWhphoD1.js";
2
+ import { D as t, E as n, M as r, P as i, S as a, s as o, w as s } from "./chart-activity-grid-DX0SJbxs.js";
3
+ import { S as c, T as l, b as u, w as d, x as f, y as p } from "./chart-area-of01_62R.js";
4
+ import m, { useMemo as h, useState as g } from "react";
5
+ import { jsx as _, jsxs as v } from "react/jsx-runtime";
6
+ import { Cell as y, Legend as b, Pie as x, PieChart as S } from "recharts";
7
+ //#region src/client/components/charts/PieChart.tsx
8
+ var C = /* @__PURE__ */ e({ default: () => T });
9
+ function w(e, i, a, o, s, c) {
10
+ let l;
11
+ if (o.length > 0) {
12
+ let { data: t } = r(e, i, a, s, o, c);
13
+ if (l = [], t.length > 0) {
14
+ let e = t[0];
15
+ Object.keys(e).forEach((t) => {
16
+ t !== "name" && typeof e[t] == "number" && l.push({
17
+ name: String(t),
18
+ value: e[t]
19
+ });
20
+ });
21
+ }
22
+ } else {
23
+ let r = t(s, i);
24
+ l = e.map((e) => {
25
+ let t = n(e[i], r) || String(e[i]) || "Unknown";
26
+ return typeof e[i] == "boolean" ? t = e[i] ? "Active" : "Inactive" : (t === "true" || t === "false") && (t = t === "true" ? "Active" : "Inactive"), {
27
+ name: t,
28
+ value: typeof e[a[0]] == "string" ? parseFloat(e[a[0]]) : e[a[0]] || 0
29
+ };
30
+ });
31
+ }
32
+ let u = l.length;
33
+ return l = l.filter((e) => e.value != null && !isNaN(e.value) && e.value !== 0 && e.value > 0), {
34
+ pieData: l,
35
+ originalLength: u
36
+ };
37
+ }
38
+ var T = m.memo(function({ data: e, chartConfig: t, displayConfig: n = {}, queryObject: r, height: m = "100%", colorPalette: C, onDataPointClick: T, drillEnabled: E }) {
39
+ let { t: D } = i(), [O, k] = g(null), A = a(), { xAxisField: j, yAxisFields: M, seriesFields: N, errorCode: P } = h(() => p(t), [t]);
40
+ try {
41
+ let t = {
42
+ showLegend: n?.showLegend ?? !0,
43
+ showTooltip: n?.showTooltip ?? !0,
44
+ leftYAxisFormat: n?.leftYAxisFormat,
45
+ innerRadius: n?.innerRadius || "0%"
46
+ };
47
+ if (!e || e.length === 0) return /* @__PURE__ */ _(f, {
48
+ height: m,
49
+ hint: D("chart.runtime.noDataHint.pie")
50
+ });
51
+ if (P) return /* @__PURE__ */ _(u, {
52
+ height: m,
53
+ hint: D(P === "axisInvalid" ? "chart.runtime.configErrorHint.pieAxis" : "chart.runtime.configErrorHint.axisFields")
54
+ });
55
+ let { pieData: i, originalLength: a } = w(e, j, M, N, r, A);
56
+ return i.length === 0 ? /* @__PURE__ */ _(f, {
57
+ height: m,
58
+ titleKey: "chart.runtime.noValidData",
59
+ hint: a > 0 ? `Filtered out ${a} data points (zero or invalid values)` : "No data points to display in pie chart"
60
+ }) : /* @__PURE__ */ _(l, {
61
+ height: m,
62
+ children: /* @__PURE__ */ v(S, {
63
+ accessibilityLayer: !1,
64
+ children: [
65
+ /* @__PURE__ */ _(x, {
66
+ data: i,
67
+ cx: "50%",
68
+ cy: "50%",
69
+ innerRadius: t.innerRadius === "0%" ? void 0 : t.innerRadius,
70
+ outerRadius: "70%",
71
+ dataKey: "value",
72
+ label: t.showLegend ? void 0 : ({ name: e, percent: t }) => `${e} ${((t || 0) * 100).toFixed(0)}%`,
73
+ cursor: E ? "pointer" : void 0,
74
+ onClick: (e, t, n) => {
75
+ T && E && e && T({
76
+ dataPoint: e,
77
+ clickedField: M[0],
78
+ xValue: e.name,
79
+ position: {
80
+ x: n.clientX,
81
+ y: n.clientY
82
+ },
83
+ nativeEvent: n
84
+ });
85
+ },
86
+ children: i.map((e, t) => /* @__PURE__ */ _(y, {
87
+ fill: C?.colors && C.colors[t % C.colors.length] || o[t % o.length],
88
+ fillOpacity: O ? O === i[t].name ? 1 : .3 : 1
89
+ }, `cell-${t}`))
90
+ }),
91
+ t.showTooltip && /* @__PURE__ */ _(d, { formatter: t.leftYAxisFormat ? (e, n) => [s(e, t.leftYAxisFormat), n] : void 0 }),
92
+ t.showLegend && /* @__PURE__ */ _(b, {
93
+ wrapperStyle: {
94
+ fontSize: "12px",
95
+ paddingTop: "10px"
96
+ },
97
+ iconType: "circle",
98
+ iconSize: 8,
99
+ layout: "horizontal",
100
+ align: "center",
101
+ verticalAlign: "bottom",
102
+ onMouseEnter: (e) => k(String(e.value || "")),
103
+ onMouseLeave: () => k(null)
104
+ })
105
+ ]
106
+ })
107
+ });
108
+ } catch (e) {
109
+ return /* @__PURE__ */ _(c, {
110
+ height: m,
111
+ chartType: "Pie Chart",
112
+ error: e
113
+ });
114
+ }
115
+ });
116
+ //#endregion
117
+ export { C as n, T as t };
118
+
119
+ //# sourceMappingURL=chart-pie-ByieAX5H.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-pie-ByieAX5H.js","names":[],"sources":["../../../src/client/components/charts/PieChart.tsx"],"sourcesContent":["import React, { useState, useMemo } from 'react'\nimport { useTranslation } from '../../hooks/useTranslation'\nimport { PieChart as RechartsPieChart, Pie, Cell, Legend } from 'recharts'\nimport ChartContainer from './ChartContainer'\nimport ChartTooltip from './ChartTooltip'\nimport { ChartEmptyState, ChartConfigError, ChartRenderError } from './ChartStates'\nimport { resolveChartAxisFields } from './chartAxisResolution'\nimport { CHART_COLORS } from '../../utils/chartConstants'\nimport { transformChartDataWithSeries, formatTimeValue, getFieldGranularity, formatAxisValue } from '../../utils/chartUtils'\nimport { useCubeFieldLabel } from '../../hooks/useCubeFieldLabel'\nimport type { ChartProps, CubeQuery } from '../../types'\n\ninterface PieSlice {\n name: string\n value: number\n}\n\n/**\n * Build pie slices from query data, supporting both series-based (dimension\n * slices) and standard measure-based pies. Returns the slices that survive\n * value filtering plus the pre-filter count (so the caller can explain how\n * many points were dropped). Pure — extracted to keep `PieChart` simple.\n */\nfunction buildPieData(\n data: any[],\n xField: string,\n yAxisFields: string[],\n seriesFields: string[],\n queryObject: CubeQuery | undefined,\n getFieldLabel: (field: string) => string\n): { pieData: PieSlice[]; originalLength: number } {\n let pieData: PieSlice[]\n\n if (seriesFields.length > 0) {\n // Use series-based transformation for dimension-based pie slices\n const { data: chartData } = transformChartDataWithSeries(\n data,\n xField,\n yAxisFields,\n queryObject,\n seriesFields,\n getFieldLabel\n )\n\n // Convert series data to pie format\n pieData = []\n if (chartData.length > 0) {\n const firstRow = chartData[0]\n Object.keys(firstRow).forEach(key => {\n if (key !== 'name' && typeof firstRow[key] === 'number') {\n pieData.push({ name: String(key), value: firstRow[key] })\n }\n })\n }\n } else {\n // Standard measure-based pie chart\n const granularity = getFieldGranularity(queryObject, xField)\n pieData = data.map(item => {\n let name = formatTimeValue(item[xField], granularity) || String(item[xField]) || 'Unknown'\n // Handle boolean values with better labels\n if (typeof item[xField] === 'boolean') {\n name = item[xField] ? 'Active' : 'Inactive'\n } else if (name === 'true' || name === 'false') {\n name = name === 'true' ? 'Active' : 'Inactive'\n }\n return {\n name,\n value: typeof item[yAxisFields[0]] === 'string'\n ? parseFloat(item[yAxisFields[0]])\n : (item[yAxisFields[0]] || 0)\n }\n })\n }\n\n // Filter out invalid values (null, undefined, NaN, or non-positive)\n const originalLength = pieData.length\n pieData = pieData.filter(item =>\n item.value != null &&\n !isNaN(item.value) &&\n item.value !== 0 &&\n item.value > 0\n )\n\n return { pieData, originalLength }\n}\n\nconst PieChart = React.memo(function PieChart({\n data,\n chartConfig,\n displayConfig = {},\n queryObject,\n height = \"100%\",\n colorPalette,\n onDataPointClick,\n drillEnabled\n}: ChartProps) {\n const { t } = useTranslation()\n const [hoveredLegend, setHoveredLegend] = useState<string | null>(null)\n // Use specialized hook to avoid re-renders from unrelated context changes\n const getFieldLabel = useCubeFieldLabel()\n\n // Resolve + validate axis fields (hooks-first to satisfy React rules)\n const { xAxisField, yAxisFields, seriesFields, errorCode } = useMemo(\n () => resolveChartAxisFields(chartConfig),\n [chartConfig]\n )\n\n try {\n const safeDisplayConfig = {\n showLegend: displayConfig?.showLegend ?? true,\n showTooltip: displayConfig?.showTooltip ?? true,\n leftYAxisFormat: displayConfig?.leftYAxisFormat,\n innerRadius: displayConfig?.innerRadius || '0%'\n }\n\n if (!data || data.length === 0) {\n return <ChartEmptyState height={height} hint={t('chart.runtime.noDataHint.pie')} />\n }\n\n if (errorCode) {\n // Pie surfaces a pie-specific message for the \"invalid config\" case\n const hintKey = errorCode === 'axisInvalid'\n ? 'chart.runtime.configErrorHint.pieAxis'\n : 'chart.runtime.configErrorHint.axisFields'\n return <ChartConfigError height={height} hint={t(hintKey)} />\n }\n\n // The errorCode guard above guarantees xAxisField is defined here\n const xField = xAxisField as string\n\n const { pieData, originalLength } = buildPieData(\n data,\n xField,\n yAxisFields,\n seriesFields,\n queryObject,\n getFieldLabel\n )\n\n if (pieData.length === 0) {\n return (\n <ChartEmptyState\n height={height}\n titleKey=\"chart.runtime.noValidData\"\n hint={\n originalLength > 0\n ? `Filtered out ${originalLength} data points (zero or invalid values)`\n : 'No data points to display in pie chart'\n }\n />\n )\n }\n \n return (\n <ChartContainer height={height}>\n <RechartsPieChart accessibilityLayer={false}>\n <Pie\n data={pieData}\n cx=\"50%\"\n cy=\"50%\"\n innerRadius={safeDisplayConfig.innerRadius !== '0%' ? safeDisplayConfig.innerRadius : undefined}\n outerRadius=\"70%\"\n dataKey=\"value\"\n label={!safeDisplayConfig.showLegend ? ({ name, percent }) =>\n `${name} ${((percent || 0) * 100).toFixed(0)}%`\n : undefined}\n cursor={drillEnabled ? 'pointer' : undefined}\n onClick={(sliceData: any, _index: number, event: React.MouseEvent) => {\n if (onDataPointClick && drillEnabled && sliceData) {\n onDataPointClick({\n dataPoint: sliceData,\n clickedField: yAxisFields[0],\n xValue: sliceData.name,\n position: { x: event.clientX, y: event.clientY },\n nativeEvent: event\n })\n }\n }}\n >\n {pieData.map((_entry, index) => (\n <Cell\n key={`cell-${index}`}\n fill={(colorPalette?.colors && colorPalette.colors[index % colorPalette.colors.length]) || CHART_COLORS[index % CHART_COLORS.length]}\n fillOpacity={hoveredLegend ? (hoveredLegend === pieData[index].name ? 1 : 0.3) : 1}\n />\n ))}\n </Pie>\n {safeDisplayConfig.showTooltip && (\n <ChartTooltip\n formatter={safeDisplayConfig.leftYAxisFormat\n ? (value: any, name: string) => [formatAxisValue(value, safeDisplayConfig.leftYAxisFormat), name]\n : undefined\n }\n />\n )}\n {safeDisplayConfig.showLegend && (\n <Legend \n wrapperStyle={{ fontSize: '12px', paddingTop: '10px' }}\n iconType=\"circle\"\n iconSize={8}\n layout=\"horizontal\"\n align=\"center\"\n verticalAlign=\"bottom\"\n onMouseEnter={(o) => setHoveredLegend(String(o.value || ''))}\n onMouseLeave={() => setHoveredLegend(null)}\n />\n )}\n </RechartsPieChart>\n </ChartContainer>\n )\n } catch (error) {\n return <ChartRenderError height={height} chartType=\"Pie Chart\" error={error} />\n }\n})\n\nexport default PieChart"],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ import { n as e } from "./rolldown-runtime-CWhphoD1.js";
2
+ import { D as t, E as n, M as r, P as i, s as a, w as o } from "./chart-activity-grid-DX0SJbxs.js";
3
+ import { S as s, T as c, b as l, w as u, x as d } from "./chart-area-of01_62R.js";
4
+ import f, { useState as p } from "react";
5
+ import { jsx as m, jsxs as h } from "react/jsx-runtime";
6
+ import { Legend as g, PolarAngleAxis as _, PolarGrid as v, PolarRadiusAxis as y, Radar as b, RadarChart as x } from "recharts";
7
+ //#region src/client/components/charts/radarChartHelpers.ts
8
+ function S(e, t, n) {
9
+ let { data: i, seriesKeys: a } = r(e, Array.isArray(t.xAxis) ? t.xAxis[0] : t.xAxis, Array.isArray(t.yAxis) ? t.yAxis : [t.yAxis], n, t.series || []);
10
+ return {
11
+ radarData: i,
12
+ seriesKeys: a
13
+ };
14
+ }
15
+ function C(e) {
16
+ return typeof e == "string" ? parseFloat(e) : e || 0;
17
+ }
18
+ function w(e, r) {
19
+ let i = e[0], a = Object.keys(i), o = a.find((e) => typeof i[e] == "string" || e.toLowerCase().includes("subject") || e.toLowerCase().includes("name") || e.toLowerCase().includes("category")) || a[0], s = a.filter((e) => typeof i[e] == "number" && e !== o);
20
+ if (s.length === 0) return {
21
+ radarData: [],
22
+ seriesKeys: [],
23
+ noNumericFields: !0
24
+ };
25
+ if (o) {
26
+ let i = t(r, o);
27
+ return {
28
+ radarData: e.map((e) => {
29
+ let t = { name: n(e[o], i) || String(e[o]) || "Unknown" };
30
+ return s.forEach((n) => {
31
+ let r = n.split(".").pop() || n;
32
+ t[r] = C(e[n]);
33
+ }), t;
34
+ }),
35
+ seriesKeys: s.map((e) => e.split(".").pop() || e)
36
+ };
37
+ }
38
+ return {
39
+ radarData: e.map((e) => ({
40
+ name: String(e[a[0]] || "Unknown"),
41
+ value: C(e[s[0]])
42
+ })),
43
+ seriesKeys: ["value"]
44
+ };
45
+ }
46
+ function T(e, t, n) {
47
+ return t?.xAxis && t?.yAxis ? S(e, t, n) : w(e, n);
48
+ }
49
+ //#endregion
50
+ //#region src/client/components/charts/RadarChart.tsx
51
+ var E = /* @__PURE__ */ e({ default: () => D }), D = f.memo(function({ data: e, chartConfig: t, displayConfig: n = {}, queryObject: r, height: f = "100%", colorPalette: S }) {
52
+ let { t: C } = i(), [w, E] = p(null);
53
+ try {
54
+ let i = {
55
+ showLegend: n?.showLegend ?? !0,
56
+ showTooltip: n?.showTooltip ?? !0,
57
+ showGrid: n?.showGrid ?? !0,
58
+ leftYAxisFormat: n?.leftYAxisFormat
59
+ };
60
+ if (!e || e.length === 0) return /* @__PURE__ */ m(d, {
61
+ height: f,
62
+ hint: C("chart.runtime.noDataHint.radar")
63
+ });
64
+ let { radarData: s, seriesKeys: p, noNumericFields: D } = T(e, t, r);
65
+ if (D) return /* @__PURE__ */ m(l, {
66
+ height: f,
67
+ hint: C("chart.runtime.configErrorHint.radarNumeric")
68
+ });
69
+ if (!s || s.length === 0) return /* @__PURE__ */ m(d, {
70
+ height: f,
71
+ titleKey: "chart.runtime.noValidData",
72
+ hint: "No valid data points for radar chart after transformation"
73
+ });
74
+ let { leftYAxisFormat: O } = i;
75
+ return /* @__PURE__ */ m(c, {
76
+ height: f,
77
+ children: /* @__PURE__ */ h(x, {
78
+ data: s,
79
+ margin: {
80
+ top: 20,
81
+ right: 80,
82
+ bottom: 20,
83
+ left: 80
84
+ },
85
+ accessibilityLayer: !1,
86
+ children: [
87
+ i.showGrid && /* @__PURE__ */ m(v, {}),
88
+ /* @__PURE__ */ m(_, {
89
+ dataKey: "name",
90
+ tick: { fontSize: 12 },
91
+ className: "text-dc-text-muted"
92
+ }),
93
+ /* @__PURE__ */ m(y, {
94
+ tick: { fontSize: 10 },
95
+ className: "text-dc-text-muted",
96
+ tickFormatter: O ? (e) => o(e, O) : void 0
97
+ }),
98
+ i.showTooltip && /* @__PURE__ */ m(u, { formatter: O ? (e, t) => [o(e, O), t] : void 0 }),
99
+ i.showLegend && p.length > 1 && /* @__PURE__ */ m(g, {
100
+ wrapperStyle: {
101
+ fontSize: "12px",
102
+ paddingTop: "10px"
103
+ },
104
+ iconType: "rect",
105
+ iconSize: 8,
106
+ layout: "horizontal",
107
+ align: "center",
108
+ verticalAlign: "bottom",
109
+ onMouseEnter: (e) => E(String(e.dataKey || "")),
110
+ onMouseLeave: () => E(null)
111
+ }),
112
+ p.map((e, t) => {
113
+ let n = S?.colors && S.colors[t % S.colors.length] || a[t % a.length];
114
+ return /* @__PURE__ */ m(b, {
115
+ name: e,
116
+ dataKey: e,
117
+ stroke: n,
118
+ fill: n,
119
+ fillOpacity: w ? w === e ? .6 : .1 : .3,
120
+ strokeOpacity: w ? w === e ? 1 : .3 : 1,
121
+ strokeWidth: 2
122
+ }, e);
123
+ })
124
+ ]
125
+ })
126
+ });
127
+ } catch (e) {
128
+ return /* @__PURE__ */ m(s, {
129
+ height: f,
130
+ chartType: "Radar Chart",
131
+ error: e
132
+ });
133
+ }
134
+ });
135
+ //#endregion
136
+ export { E as n, D as t };
137
+
138
+ //# sourceMappingURL=chart-radar-CiSwHWp4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-radar-CiSwHWp4.js","names":[],"sources":["../../../src/client/components/charts/radarChartHelpers.ts","../../../src/client/components/charts/RadarChart.tsx"],"sourcesContent":["import { transformChartDataWithSeries, formatTimeValue, getFieldGranularity } from '../../utils/chartUtils'\n\n/**\n * Co-located data-shaping helpers for RadarChart. The component supports a\n * config-driven format and a legacy auto-detection format; both branches are\n * isolated here so the component body stays focused on rendering. Pure\n * extraction — no behaviour change.\n */\n\nexport interface RadarShape {\n radarData: any[]\n seriesKeys: string[]\n /** True when no numeric value fields could be found (legacy auto-detect). */\n noNumericFields?: boolean\n}\n\nfunction shapeFromChartConfig(\n data: any[],\n chartConfig: any,\n queryObject: any\n): RadarShape {\n const xAxisField = Array.isArray(chartConfig.xAxis) ? chartConfig.xAxis[0] : chartConfig.xAxis\n const yAxisFields = Array.isArray(chartConfig.yAxis) ? chartConfig.yAxis : [chartConfig.yAxis]\n const seriesFields = chartConfig.series || []\n\n const { data: radarData, seriesKeys } = transformChartDataWithSeries(\n data,\n xAxisField,\n yAxisFields,\n queryObject,\n seriesFields\n )\n return { radarData, seriesKeys }\n}\n\nfunction toNumber(value: unknown): number {\n return typeof value === 'string' ? parseFloat(value) : ((value as number) || 0)\n}\n\nfunction shapeFromLegacy(data: any[], queryObject: any): RadarShape {\n const firstRow = data[0]\n const keys = Object.keys(firstRow)\n\n const subjectField = keys.find(key =>\n typeof firstRow[key] === 'string' ||\n key.toLowerCase().includes('subject') ||\n key.toLowerCase().includes('name') ||\n key.toLowerCase().includes('category')\n ) || keys[0]\n\n const valueFields = keys.filter(key => typeof firstRow[key] === 'number' && key !== subjectField)\n\n if (valueFields.length === 0) {\n return { radarData: [], seriesKeys: [], noNumericFields: true }\n }\n\n if (subjectField) {\n const granularity = getFieldGranularity(queryObject, subjectField)\n const radarData = data.map(item => {\n const transformedItem: any = {\n name: formatTimeValue(item[subjectField], granularity) || String(item[subjectField]) || 'Unknown'\n }\n valueFields.forEach(field => {\n const displayName = field.split('.').pop() || field\n transformedItem[displayName] = toNumber(item[field])\n })\n return transformedItem\n })\n return { radarData, seriesKeys: valueFields.map(field => field.split('.').pop() || field) }\n }\n\n const radarData = data.map(item => ({\n name: String(item[keys[0]] || 'Unknown'),\n value: toNumber(item[valueFields[0]])\n }))\n return { radarData, seriesKeys: ['value'] }\n}\n\n/** Shape rows for the radar chart via config-driven or legacy auto-detection. */\nexport function buildRadarData(data: any[], chartConfig: any, queryObject: any): RadarShape {\n if (chartConfig?.xAxis && chartConfig?.yAxis) {\n return shapeFromChartConfig(data, chartConfig, queryObject)\n }\n return shapeFromLegacy(data, queryObject)\n}\n","import React, { useState } from 'react'\nimport { useTranslation } from '../../hooks/useTranslation'\nimport { RadarChart as RechartsRadarChart, PolarGrid, PolarAngleAxis, PolarRadiusAxis, Radar, Legend } from 'recharts'\nimport ChartContainer from './ChartContainer'\nimport ChartTooltip from './ChartTooltip'\nimport { ChartEmptyState, ChartConfigError, ChartRenderError } from './ChartStates'\nimport { buildRadarData } from './radarChartHelpers'\nimport { CHART_COLORS } from '../../utils/chartConstants'\nimport { formatAxisValue } from '../../utils/chartUtils'\nimport type { ChartProps } from '../../types'\n\nconst RadarChart = React.memo(function RadarChart({\n data,\n chartConfig,\n displayConfig = {},\n queryObject,\n height = \"100%\",\n colorPalette\n}: ChartProps) {\n const { t } = useTranslation()\n const [hoveredLegend, setHoveredLegend] = useState<string | null>(null)\n\n try {\n const safeDisplayConfig = {\n showLegend: displayConfig?.showLegend ?? true,\n showTooltip: displayConfig?.showTooltip ?? true,\n showGrid: displayConfig?.showGrid ?? true,\n leftYAxisFormat: displayConfig?.leftYAxisFormat\n }\n\n if (!data || data.length === 0) {\n return <ChartEmptyState height={height} hint={t('chart.runtime.noDataHint.radar')} />\n }\n\n const { radarData, seriesKeys, noNumericFields } = buildRadarData(data, chartConfig, queryObject)\n\n if (noNumericFields) {\n return <ChartConfigError height={height} hint={t('chart.runtime.configErrorHint.radarNumeric')} />\n }\n\n // Validate transformed data\n if (!radarData || radarData.length === 0) {\n return (\n <ChartEmptyState\n height={height}\n titleKey=\"chart.runtime.noValidData\"\n hint=\"No valid data points for radar chart after transformation\"\n />\n )\n }\n\n const { leftYAxisFormat } = safeDisplayConfig\n return (\n <ChartContainer height={height}>\n <RechartsRadarChart data={radarData} margin={{ top: 20, right: 80, bottom: 20, left: 80 }} accessibilityLayer={false}>\n {safeDisplayConfig.showGrid && (\n <PolarGrid />\n )}\n <PolarAngleAxis\n dataKey=\"name\"\n tick={{ fontSize: 12 }}\n className=\"text-dc-text-muted\"\n />\n <PolarRadiusAxis\n tick={{ fontSize: 10 }}\n className=\"text-dc-text-muted\"\n tickFormatter={leftYAxisFormat\n ? (value: any) => formatAxisValue(value, leftYAxisFormat)\n : undefined\n }\n />\n {safeDisplayConfig.showTooltip && (\n <ChartTooltip\n formatter={leftYAxisFormat\n ? (value: any, name: string) => [formatAxisValue(value, leftYAxisFormat), name]\n : undefined\n }\n />\n )}\n {(safeDisplayConfig.showLegend && seriesKeys.length > 1) && (\n <Legend\n wrapperStyle={{ fontSize: '12px', paddingTop: '10px' }}\n iconType=\"rect\"\n iconSize={8}\n layout=\"horizontal\"\n align=\"center\"\n verticalAlign=\"bottom\"\n onMouseEnter={(o) => setHoveredLegend(String(o.dataKey || ''))}\n onMouseLeave={() => setHoveredLegend(null)}\n />\n )}\n {seriesKeys.map((seriesKey, index) => {\n const color = (colorPalette?.colors && colorPalette.colors[index % colorPalette.colors.length]) || CHART_COLORS[index % CHART_COLORS.length]\n return (\n <Radar\n key={seriesKey}\n name={seriesKey}\n dataKey={seriesKey}\n stroke={color}\n fill={color}\n fillOpacity={hoveredLegend ? (hoveredLegend === seriesKey ? 0.6 : 0.1) : 0.3}\n strokeOpacity={hoveredLegend ? (hoveredLegend === seriesKey ? 1 : 0.3) : 1}\n strokeWidth={2}\n />\n )\n })}\n </RechartsRadarChart>\n </ChartContainer>\n )\n } catch (error) {\n return <ChartRenderError height={height} chartType=\"Radar Chart\" error={error} />\n }\n})\n\nexport default RadarChart\n"],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ import { n as e } from "./rolldown-runtime-CWhphoD1.js";
2
+ import { D as t, E as n, P as r, s as i, w as a } from "./chart-activity-grid-DX0SJbxs.js";
3
+ import { S as o, T as s, b as c, w as l, x as u } from "./chart-area-of01_62R.js";
4
+ import d, { useState as f } from "react";
5
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
6
+ import { Cell as h, Legend as g, RadialBar as _, RadialBarChart as v } from "recharts";
7
+ //#region src/client/components/charts/radialBarChartHelpers.ts
8
+ function y(e, t) {
9
+ let n = e?.colors;
10
+ return n && n[t % n.length] || i[t % i.length];
11
+ }
12
+ function b(e) {
13
+ return typeof e == "string" ? parseFloat(e) : e || 0;
14
+ }
15
+ function x(e, r, i, a) {
16
+ let o = Array.isArray(r.xAxis) ? r.xAxis[0] : r.xAxis, s = Array.isArray(r.yAxis) ? r.yAxis[0] : r.yAxis, c = t(i, o);
17
+ return { radialData: e.map((e, t) => ({
18
+ name: n(e[o], c) || String(e[o]) || "Unknown",
19
+ value: b(e[s]),
20
+ fill: y(a, t)
21
+ })) };
22
+ }
23
+ function S(e) {
24
+ return typeof e == "boolean" ? e ? "Active" : "Inactive" : e === "true" || e === "false" ? e === "true" ? "Active" : "Inactive" : String(e);
25
+ }
26
+ function C(e, t) {
27
+ let n = e[0], r = Object.keys(n), i = r.find((e) => typeof n[e] == "string" || e.toLowerCase().includes("name") || e.toLowerCase().includes("label") || e.toLowerCase().includes("category")) || r[0], a = r.find((e) => typeof n[e] == "number" && e !== i) || r[1];
28
+ return a ? { radialData: e.map((e, n) => ({
29
+ name: S(e[i]),
30
+ value: b(e[a]),
31
+ fill: y(t, n)
32
+ })) } : {
33
+ radialData: [],
34
+ noValueField: !0
35
+ };
36
+ }
37
+ function w(e, t, n, r) {
38
+ let i = t?.xAxis && t?.yAxis ? x(e, t, n, r) : C(e, r);
39
+ return i.noValueField ? i : { radialData: i.radialData.filter((e) => e.value != null && e.value !== 0) };
40
+ }
41
+ //#endregion
42
+ //#region src/client/components/charts/RadialBarChart.tsx
43
+ var T = /* @__PURE__ */ e({ default: () => E }), E = d.memo(function({ data: e, chartConfig: t, displayConfig: n = {}, queryObject: i, height: d = "100%", colorPalette: y }) {
44
+ let { t: b } = r(), [x, S] = f(null);
45
+ try {
46
+ let r = {
47
+ showLegend: n?.showLegend ?? !0,
48
+ showTooltip: n?.showTooltip ?? !0,
49
+ leftYAxisFormat: n?.leftYAxisFormat
50
+ };
51
+ if (!e || e.length === 0) return /* @__PURE__ */ p(u, {
52
+ height: d,
53
+ hint: b("chart.runtime.noDataHint.radialBar")
54
+ });
55
+ let { radialData: o, noValueField: f } = w(e, t, i, y);
56
+ if (f) return /* @__PURE__ */ p(c, {
57
+ height: d,
58
+ hint: b("chart.runtime.configErrorHint.radialBarNumeric")
59
+ });
60
+ if (o.length === 0) return /* @__PURE__ */ p(u, {
61
+ height: d,
62
+ titleKey: "chart.runtime.noValidData",
63
+ hint: "No valid data points for radial bar chart after transformation"
64
+ });
65
+ let { leftYAxisFormat: C } = r;
66
+ return /* @__PURE__ */ p(s, {
67
+ height: d,
68
+ children: /* @__PURE__ */ m(v, {
69
+ data: o,
70
+ innerRadius: "10%",
71
+ outerRadius: "80%",
72
+ margin: {
73
+ top: 20,
74
+ right: 30,
75
+ bottom: 20,
76
+ left: 30
77
+ },
78
+ accessibilityLayer: !1,
79
+ children: [
80
+ r.showTooltip && /* @__PURE__ */ p(l, { formatter: C ? (e, t) => [a(e, C), t] : void 0 }),
81
+ r.showLegend && /* @__PURE__ */ p(g, {
82
+ wrapperStyle: {
83
+ fontSize: "12px",
84
+ paddingTop: "10px"
85
+ },
86
+ iconType: "circle",
87
+ iconSize: 8,
88
+ layout: "horizontal",
89
+ align: "center",
90
+ verticalAlign: "bottom",
91
+ onMouseEnter: (e) => S(String(e.value || "")),
92
+ onMouseLeave: () => S(null)
93
+ }),
94
+ /* @__PURE__ */ p(_, {
95
+ dataKey: "value",
96
+ cornerRadius: 4,
97
+ label: {
98
+ position: "insideStart",
99
+ fill: "#fff",
100
+ fontSize: 12,
101
+ formatter: C ? (e) => a(e, C) : void 0
102
+ },
103
+ children: o.map((e, t) => /* @__PURE__ */ p(h, {
104
+ fill: e.fill,
105
+ fillOpacity: x ? x === e.name ? 1 : .3 : 1
106
+ }, `cell-${t}`))
107
+ })
108
+ ]
109
+ })
110
+ });
111
+ } catch (e) {
112
+ return /* @__PURE__ */ p(o, {
113
+ height: d,
114
+ chartType: "Radial Bar Chart",
115
+ error: e
116
+ });
117
+ }
118
+ });
119
+ //#endregion
120
+ export { T as n, E as t };
121
+
122
+ //# sourceMappingURL=chart-radial-bar-BF6Mhl6f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-radial-bar-BF6Mhl6f.js","names":[],"sources":["../../../src/client/components/charts/radialBarChartHelpers.ts","../../../src/client/components/charts/RadialBarChart.tsx"],"sourcesContent":["import { CHART_COLORS } from '../../utils/chartConstants'\nimport { formatTimeValue, getFieldGranularity } from '../../utils/chartUtils'\nimport type { ColorPalette } from '../../types'\n\n/**\n * Co-located data-shaping helpers for RadialBarChart. The component supports a\n * config-driven format and a legacy auto-detection format; both branches are\n * isolated here so the component body stays focused on rendering. Pure\n * extraction — no behaviour change.\n */\n\nexport interface RadialDatum {\n name: string\n value: number\n fill?: string\n}\n\nexport interface RadialShape {\n radialData: RadialDatum[]\n /** True when the legacy auto-detect found no usable value field. */\n noValueField?: boolean\n}\n\nfunction colorAt(colorPalette: ColorPalette | undefined, index: number): string {\n const colors = colorPalette?.colors\n return (colors && colors[index % colors.length]) || CHART_COLORS[index % CHART_COLORS.length]\n}\n\nfunction toNumber(value: unknown): number {\n return typeof value === 'string' ? parseFloat(value) : ((value as number) || 0)\n}\n\nfunction shapeFromChartConfig(\n data: any[],\n chartConfig: any,\n queryObject: any,\n colorPalette: ColorPalette | undefined\n): RadialShape {\n const xAxisField = Array.isArray(chartConfig.xAxis) ? chartConfig.xAxis[0] : chartConfig.xAxis\n const yAxisField = Array.isArray(chartConfig.yAxis) ? chartConfig.yAxis[0] : chartConfig.yAxis\n const granularity = getFieldGranularity(queryObject, xAxisField)\n\n const radialData = data.map((item, index) => ({\n name: formatTimeValue(item[xAxisField], granularity) || String(item[xAxisField]) || 'Unknown',\n value: toNumber(item[yAxisField]),\n fill: colorAt(colorPalette, index)\n }))\n return { radialData }\n}\n\n/** Coerce a name value to a display label, mapping booleans to Active/Inactive. */\nfunction toRadialName(name: unknown): string {\n if (typeof name === 'boolean') return name ? 'Active' : 'Inactive'\n if (name === 'true' || name === 'false') return name === 'true' ? 'Active' : 'Inactive'\n return String(name)\n}\n\nfunction shapeFromLegacy(\n data: any[],\n colorPalette: ColorPalette | undefined\n): RadialShape {\n const firstRow = data[0]\n const keys = Object.keys(firstRow)\n\n const nameField = keys.find(key =>\n typeof firstRow[key] === 'string' ||\n key.toLowerCase().includes('name') ||\n key.toLowerCase().includes('label') ||\n key.toLowerCase().includes('category')\n ) || keys[0]\n\n const valueField = keys.find(key => typeof firstRow[key] === 'number' && key !== nameField) || keys[1]\n\n if (!valueField) {\n return { radialData: [], noValueField: true }\n }\n\n const radialData = data.map((item, index) => ({\n name: toRadialName(item[nameField]),\n value: toNumber(item[valueField]),\n fill: colorAt(colorPalette, index)\n }))\n return { radialData }\n}\n\n/**\n * Shape rows for the radial bar chart (config-driven or legacy auto-detect),\n * filtering out null/zero values.\n */\nexport function buildRadialData(\n data: any[],\n chartConfig: any,\n queryObject: any,\n colorPalette: ColorPalette | undefined\n): RadialShape {\n const shaped = chartConfig?.xAxis && chartConfig?.yAxis\n ? shapeFromChartConfig(data, chartConfig, queryObject, colorPalette)\n : shapeFromLegacy(data, colorPalette)\n\n if (shaped.noValueField) return shaped\n\n return { radialData: shaped.radialData.filter(item => item.value != null && item.value !== 0) }\n}\n","import React, { useState } from 'react'\nimport { useTranslation } from '../../hooks/useTranslation'\nimport { RadialBarChart as RechartsRadialBarChart, RadialBar, Legend, Cell } from 'recharts'\nimport ChartContainer from './ChartContainer'\nimport ChartTooltip from './ChartTooltip'\nimport { ChartEmptyState, ChartConfigError, ChartRenderError } from './ChartStates'\nimport { buildRadialData } from './radialBarChartHelpers'\nimport { formatAxisValue } from '../../utils/chartUtils'\nimport type { ChartProps } from '../../types'\n\nconst RadialBarChart = React.memo(function RadialBarChart({\n data,\n chartConfig,\n displayConfig = {},\n queryObject,\n height = \"100%\",\n colorPalette\n}: ChartProps) {\n const { t } = useTranslation()\n const [hoveredLegend, setHoveredLegend] = useState<string | null>(null)\n\n try {\n const safeDisplayConfig = {\n showLegend: displayConfig?.showLegend ?? true,\n showTooltip: displayConfig?.showTooltip ?? true,\n leftYAxisFormat: displayConfig?.leftYAxisFormat\n }\n\n if (!data || data.length === 0) {\n return <ChartEmptyState height={height} hint={t('chart.runtime.noDataHint.radialBar')} />\n }\n\n const { radialData, noValueField } = buildRadialData(data, chartConfig, queryObject, colorPalette)\n\n if (noValueField) {\n return <ChartConfigError height={height} hint={t('chart.runtime.configErrorHint.radialBarNumeric')} />\n }\n\n if (radialData.length === 0) {\n return (\n <ChartEmptyState\n height={height}\n titleKey=\"chart.runtime.noValidData\"\n hint=\"No valid data points for radial bar chart after transformation\"\n />\n )\n }\n\n const { leftYAxisFormat } = safeDisplayConfig\n return (\n <ChartContainer height={height}>\n <RechartsRadialBarChart\n data={radialData}\n innerRadius=\"10%\"\n outerRadius=\"80%\"\n margin={{ top: 20, right: 30, bottom: 20, left: 30 }}\n accessibilityLayer={false}\n >\n {safeDisplayConfig.showTooltip && (\n <ChartTooltip\n formatter={leftYAxisFormat\n ? (value: any, name: string) => [formatAxisValue(value, leftYAxisFormat), name]\n : undefined\n }\n />\n )}\n {safeDisplayConfig.showLegend && (\n <Legend\n wrapperStyle={{ fontSize: '12px', paddingTop: '10px' }}\n iconType=\"circle\"\n iconSize={8}\n layout=\"horizontal\"\n align=\"center\"\n verticalAlign=\"bottom\"\n onMouseEnter={(o) => setHoveredLegend(String(o.value || ''))}\n onMouseLeave={() => setHoveredLegend(null)}\n />\n )}\n <RadialBar\n dataKey=\"value\"\n cornerRadius={4}\n label={{\n position: 'insideStart',\n fill: '#fff',\n fontSize: 12,\n formatter: leftYAxisFormat\n ? (value: any) => formatAxisValue(value, leftYAxisFormat)\n : undefined\n }}\n >\n {radialData.map((entry, index) => (\n <Cell\n key={`cell-${index}`}\n fill={entry.fill}\n fillOpacity={hoveredLegend ? (hoveredLegend === entry.name ? 1 : 0.3) : 1}\n />\n ))}\n </RadialBar>\n </RechartsRadialBarChart>\n </ChartContainer>\n )\n } catch (error) {\n return <ChartRenderError height={height} chartType=\"Radial Bar Chart\" error={error} />\n }\n})\n\nexport default RadialBarChart\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { n as e } from "./rolldown-runtime-CWhphoD1.js";
2
- import { k as t, n } from "./chart-activity-grid-CiHrLH6Y.js";
2
+ import { P as t, s as n } from "./chart-activity-grid-DX0SJbxs.js";
3
3
  import r, { useEffect as i, useMemo as a, useRef as o, useState as s } from "react";
4
4
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
5
5
  import { ResponsiveContainer as u, Sankey as d, Tooltip as f } from "recharts";
@@ -14,7 +14,7 @@ function m(e) {
14
14
  }
15
15
  //#endregion
16
16
  //#region src/client/components/charts/SankeyChart.tsx
17
- var h = /* @__PURE__ */ e({ default: () => S }), g = {
17
+ var h = /* @__PURE__ */ e({ default: () => w }), g = {
18
18
  before: "#F97316",
19
19
  start: "#3B82F6",
20
20
  after: "#10B981"
@@ -79,48 +79,45 @@ function b({ x: e, y: t, width: n, height: r, payload: i, containerWidth: a, sho
79
79
  })]
80
80
  })] });
81
81
  }
82
- function x({ active: e, payload: t }) {
83
- if (!e || !t || t.length === 0) return null;
84
- let n = t[0].payload;
85
- return n.source && n.target ? /* @__PURE__ */ l("div", {
86
- className: "bg-dc-surface dc:border border-dc-border dc:rounded-md dc:px-3 dc:py-2 dc:shadow-lg dc:text-sm",
87
- children: [/* @__PURE__ */ l("div", {
88
- className: "dc:font-medium text-dc-text",
89
- children: [
90
- n.source.name,
91
- " → ",
92
- n.target.name
93
- ]
94
- }), /* @__PURE__ */ l("div", {
95
- className: "text-dc-text-secondary dc:mt-1",
96
- children: [/* @__PURE__ */ c("span", {
97
- className: "dc:font-medium",
98
- children: n.value.toLocaleString()
99
- }), " entities"]
100
- })]
101
- }) : /* @__PURE__ */ l("div", {
82
+ function x({ children: e }) {
83
+ return /* @__PURE__ */ c("div", {
102
84
  className: "bg-dc-surface dc:border border-dc-border dc:rounded-md dc:px-3 dc:py-2 dc:shadow-lg dc:text-sm",
103
- children: [/* @__PURE__ */ c("div", {
104
- className: "dc:font-medium text-dc-text",
105
- children: n.name
106
- }), n.value !== void 0 && /* @__PURE__ */ l("div", {
107
- className: "text-dc-text-secondary dc:mt-1",
108
- children: [/* @__PURE__ */ c("span", {
109
- className: "dc:font-medium",
110
- children: n.value.toLocaleString()
111
- }), " entities"]
112
- })]
85
+ children: e
86
+ });
87
+ }
88
+ function S({ value: e }) {
89
+ return /* @__PURE__ */ l("div", {
90
+ className: "text-dc-text-secondary dc:mt-1",
91
+ children: [/* @__PURE__ */ c("span", {
92
+ className: "dc:font-medium",
93
+ children: e.toLocaleString()
94
+ }), " entities"]
113
95
  });
114
96
  }
115
- var S = r.memo(function({ data: e, height: r = "100%", colorPalette: p, displayConfig: m }) {
116
- let { t: h } = t(), g = o(null), [_, S] = s(800);
97
+ function C({ active: e, payload: t }) {
98
+ if (!e || !t || t.length === 0) return null;
99
+ let n = t[0].payload, { source: r, target: i } = n;
100
+ return r && i ? /* @__PURE__ */ l(x, { children: [/* @__PURE__ */ l("div", {
101
+ className: "dc:font-medium text-dc-text",
102
+ children: [
103
+ r.name,
104
+ " → ",
105
+ i.name
106
+ ]
107
+ }), /* @__PURE__ */ c(S, { value: n.value })] }) : /* @__PURE__ */ l(x, { children: [/* @__PURE__ */ c("div", {
108
+ className: "dc:font-medium text-dc-text",
109
+ children: n.name
110
+ }), n.value !== void 0 && /* @__PURE__ */ c(S, { value: n.value })] });
111
+ }
112
+ var w = r.memo(function({ data: e, height: r = "100%", colorPalette: p, displayConfig: m }) {
113
+ let { t: h } = t(), g = o(null), [_, x] = s(800);
117
114
  i(() => {
118
115
  let e = () => {
119
- g.current && S(g.current.offsetWidth);
116
+ g.current && x(g.current.offsetWidth);
120
117
  };
121
118
  return e(), window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
122
119
  }, []);
123
- let C = m, w = parseFloat(String(C?.linkOpacity || "0.5")), T = C?.nodeWidth ?? 10, E = C?.nodePadding ?? 50, D = C?.showNodeLabels !== !1, O = a(() => {
120
+ let S = m, w = parseFloat(String(S?.linkOpacity || "0.5")), T = S?.nodeWidth ?? 10, E = S?.nodePadding ?? 50, D = S?.showNodeLabels !== !1, O = a(() => {
124
121
  let t = y(e || []);
125
122
  return t ? v(t, p?.colors || n) : null;
126
123
  }, [e, p]), k = a(() => {
@@ -175,10 +172,10 @@ var S = r.memo(function({ data: e, height: r = "100%", colorPalette: p, displayC
175
172
  containerWidth: _,
176
173
  showLabels: D
177
174
  }),
178
- children: /* @__PURE__ */ c(f, { content: /* @__PURE__ */ c(x, {}) })
175
+ children: /* @__PURE__ */ c(f, { content: /* @__PURE__ */ c(C, {}) })
179
176
  })
180
177
  })
181
- }), !C?.hideSummaryFooter && k && /* @__PURE__ */ c("div", {
178
+ }), !S?.hideSummaryFooter && k && /* @__PURE__ */ c("div", {
182
179
  className: "dc:flex-shrink-0 dc:px-4 dc:py-2 dc:border-t border-dc-border bg-dc-surface-secondary",
183
180
  children: /* @__PURE__ */ l("div", {
184
181
  className: "dc:flex dc:items-center dc:justify-between dc:text-sm",
@@ -219,4 +216,4 @@ var S = r.memo(function({ data: e, height: r = "100%", colorPalette: p, displayC
219
216
  //#endregion
220
217
  export { p as n, m as r, h as t };
221
218
 
222
- //# sourceMappingURL=chart-sankey-CFzjGvZX.js.map
219
+ //# sourceMappingURL=chart-sankey-DjrvKw6K.js.map