drizzle-cube 0.4.28 → 0.4.30

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 (382) hide show
  1. package/dist/adapters/anthropic-BIva8k1r.cjs +1 -0
  2. package/dist/adapters/anthropic-B_rg0BhK.js +140 -0
  3. package/dist/adapters/dist-Boc63-1q.cjs +2 -0
  4. package/dist/adapters/dist-De5fzUEM.js +581 -0
  5. package/dist/adapters/express/index.cjs +2 -10
  6. package/dist/adapters/express/index.js +232 -342
  7. package/dist/adapters/fastify/index.cjs +2 -10
  8. package/dist/adapters/fastify/index.js +275 -424
  9. package/dist/adapters/google-CT4kgmBf.js +154 -0
  10. package/dist/adapters/google-Dgo9-Kb5.cjs +2 -0
  11. package/dist/adapters/handler-B8vuFQYP.cjs +25 -0
  12. package/dist/adapters/handler-D-2-6uLM.js +2951 -0
  13. package/dist/adapters/hono/index.cjs +2 -10
  14. package/dist/adapters/hono/index.js +307 -402
  15. package/dist/adapters/mcp-prompts-BAutSQYA.js +344 -0
  16. package/dist/adapters/mcp-prompts-DsAkafVn.cjs +5 -0
  17. package/dist/adapters/mcp-transport-CuugoG8t.js +7821 -0
  18. package/dist/adapters/mcp-transport-Dpp6hdZe.cjs +253 -0
  19. package/dist/adapters/nextjs/index.cjs +1 -9
  20. package/dist/adapters/nextjs/index.js +377 -600
  21. package/dist/adapters/openai-CjBvA6mK.js +4114 -0
  22. package/dist/adapters/openai-DhLE0A9Z.cjs +1 -0
  23. package/dist/adapters/openai-Zjw4Zo4R.js +153 -0
  24. package/dist/adapters/openai-eJBw3LfQ.cjs +16 -0
  25. package/dist/adapters/types.cjs +0 -1
  26. package/dist/adapters/types.js +0 -1
  27. package/dist/adapters/utils-ChhNGUOF.js +5396 -0
  28. package/dist/adapters/utils-CwJplXR5.cjs +15 -0
  29. package/dist/adapters/utils.cjs +1 -19
  30. package/dist/adapters/utils.js +2 -21333
  31. package/dist/client/charts.js +15 -186
  32. package/dist/client/chunks/DashboardEditModal-C076pscL.js +6678 -0
  33. package/dist/client/chunks/DashboardEditModal-C076pscL.js.map +1 -0
  34. package/dist/client/chunks/FieldSearchModal-C0DjSWk3.js +2631 -0
  35. package/dist/client/chunks/FieldSearchModal-C0DjSWk3.js.map +1 -0
  36. package/dist/client/chunks/RetentionCombinedChart-DuGXc-AP.js +270 -0
  37. package/dist/client/chunks/RetentionCombinedChart-DuGXc-AP.js.map +1 -0
  38. package/dist/client/chunks/RetentionCombinedChart.config-DprbXd1N.js +56 -0
  39. package/dist/client/chunks/RetentionCombinedChart.config-DprbXd1N.js.map +1 -0
  40. package/dist/client/chunks/RetentionHeatmap-BoGY6mlZ.js +193 -0
  41. package/dist/client/chunks/RetentionHeatmap-BoGY6mlZ.js.map +1 -0
  42. package/dist/client/chunks/RetentionHeatmap.config-cbaNExVy.js +25 -0
  43. package/dist/client/chunks/RetentionHeatmap.config-cbaNExVy.js.map +1 -0
  44. package/dist/client/chunks/analysis-builder-DF0XntqC.js +6111 -0
  45. package/dist/client/chunks/analysis-builder-DF0XntqC.js.map +1 -0
  46. package/dist/client/chunks/analysis-builder-shared-2QhKYbs6.js +3114 -0
  47. package/dist/client/chunks/analysis-builder-shared-2QhKYbs6.js.map +1 -0
  48. package/dist/client/chunks/chart-activity-grid-CNES9VBk.js +803 -0
  49. package/dist/client/chunks/chart-activity-grid-CNES9VBk.js.map +1 -0
  50. package/dist/client/chunks/chart-area-CRJc3KOu.js +449 -0
  51. package/dist/client/chunks/chart-area-CRJc3KOu.js.map +1 -0
  52. package/dist/client/chunks/chart-bar-DD2PjJ5n.js +270 -0
  53. package/dist/client/chunks/chart-bar-DD2PjJ5n.js.map +1 -0
  54. package/dist/client/chunks/chart-box-plot-BcqleldJ.js +377 -0
  55. package/dist/client/chunks/chart-box-plot-BcqleldJ.js.map +1 -0
  56. package/dist/client/chunks/chart-bubble-BmQkVk4K.js +273 -0
  57. package/dist/client/chunks/chart-bubble-BmQkVk4K.js.map +1 -0
  58. package/dist/client/chunks/chart-candlestick-C3Rep469.js +306 -0
  59. package/dist/client/chunks/chart-candlestick-C3Rep469.js.map +1 -0
  60. package/dist/client/chunks/chart-config-activity-grid-USo7JrPh.js +51 -0
  61. package/dist/client/chunks/chart-config-activity-grid-USo7JrPh.js.map +1 -0
  62. package/dist/client/chunks/chart-config-area-D_ZufYzg.js +93 -0
  63. package/dist/client/chunks/chart-config-area-D_ZufYzg.js.map +1 -0
  64. package/dist/client/chunks/chart-config-bar-BCi2Wmd6.js +87 -0
  65. package/dist/client/chunks/chart-config-bar-BCi2Wmd6.js.map +1 -0
  66. package/dist/client/chunks/chart-config-box-plot-afKLzJSp.js +35 -0
  67. package/dist/client/chunks/chart-config-box-plot-afKLzJSp.js.map +1 -0
  68. package/dist/client/chunks/chart-config-bubble-CgbBjPv8.js +82 -0
  69. package/dist/client/chunks/chart-config-bubble-CgbBjPv8.js.map +1 -0
  70. package/dist/client/chunks/chart-config-candlestick-7boGjZ-A.js +72 -0
  71. package/dist/client/chunks/chart-config-candlestick-7boGjZ-A.js.map +1 -0
  72. package/dist/client/chunks/chart-config-data-table-Cl7sBasW.js +30 -0
  73. package/dist/client/chunks/chart-config-data-table-Cl7sBasW.js.map +1 -0
  74. package/dist/client/chunks/chart-config-funnel-CXPYQtTl.js +93 -0
  75. package/dist/client/chunks/chart-config-funnel-CXPYQtTl.js.map +1 -0
  76. package/dist/client/chunks/chart-config-gauge-DUNEUCvh.js +64 -0
  77. package/dist/client/chunks/chart-config-gauge-DUNEUCvh.js.map +1 -0
  78. package/dist/client/chunks/chart-config-heat-map-BFf1tO11.js +91 -0
  79. package/dist/client/chunks/chart-config-heat-map-BFf1tO11.js.map +1 -0
  80. package/dist/client/chunks/chart-config-kpi-delta-C5k2waIJ.js +94 -0
  81. package/dist/client/chunks/chart-config-kpi-delta-C5k2waIJ.js.map +1 -0
  82. package/dist/client/chunks/chart-config-kpi-number-DptOyhk0.js +75 -0
  83. package/dist/client/chunks/chart-config-kpi-number-DptOyhk0.js.map +1 -0
  84. package/dist/client/chunks/chart-config-kpi-text-D9DdVWqd.js +47 -0
  85. package/dist/client/chunks/chart-config-kpi-text-D9DdVWqd.js.map +1 -0
  86. package/dist/client/chunks/chart-config-line-B3NgLF7K.js +104 -0
  87. package/dist/client/chunks/chart-config-line-B3NgLF7K.js.map +1 -0
  88. package/dist/client/chunks/chart-config-markdown-tlfivQTt.js +117 -0
  89. package/dist/client/chunks/chart-config-markdown-tlfivQTt.js.map +1 -0
  90. package/dist/client/chunks/chart-config-measure-profile-D7XDwrU2.js +82 -0
  91. package/dist/client/chunks/chart-config-measure-profile-D7XDwrU2.js.map +1 -0
  92. package/dist/client/chunks/chart-config-pie-wY0B52PC.js +68 -0
  93. package/dist/client/chunks/chart-config-pie-wY0B52PC.js.map +1 -0
  94. package/dist/client/chunks/chart-config-radar-DRpJBy1M.js +49 -0
  95. package/dist/client/chunks/chart-config-radar-DRpJBy1M.js.map +1 -0
  96. package/dist/client/chunks/chart-config-radial-bar-DCUpXv9G.js +38 -0
  97. package/dist/client/chunks/chart-config-radial-bar-DCUpXv9G.js.map +1 -0
  98. package/dist/client/chunks/chart-config-sankey-CdOhlm4h.js +66 -0
  99. package/dist/client/chunks/chart-config-sankey-CdOhlm4h.js.map +1 -0
  100. package/dist/client/chunks/chart-config-scatter-B2su_x8f.js +61 -0
  101. package/dist/client/chunks/chart-config-scatter-B2su_x8f.js.map +1 -0
  102. package/dist/client/chunks/chart-config-sunburst-BPdjbk18.js +45 -0
  103. package/dist/client/chunks/chart-config-sunburst-BPdjbk18.js.map +1 -0
  104. package/dist/client/chunks/chart-config-tree-map-Cbsh2fe2.js +51 -0
  105. package/dist/client/chunks/chart-config-tree-map-Cbsh2fe2.js.map +1 -0
  106. package/dist/client/chunks/chart-config-waterfall-DGmuZfQF.js +59 -0
  107. package/dist/client/chunks/chart-config-waterfall-DGmuZfQF.js.map +1 -0
  108. package/dist/client/chunks/chart-data-table-DehW1C1G.js +4088 -0
  109. package/dist/client/chunks/chart-data-table-DehW1C1G.js.map +1 -0
  110. package/dist/client/chunks/chart-funnel-BjkpnG5g.js +447 -0
  111. package/dist/client/chunks/chart-funnel-BjkpnG5g.js.map +1 -0
  112. package/dist/client/chunks/chart-gauge-BWW_HEfg.js +424 -0
  113. package/dist/client/chunks/chart-gauge-BWW_HEfg.js.map +1 -0
  114. package/dist/client/chunks/chart-heat-map-BWuOuDcm.js +236 -0
  115. package/dist/client/chunks/chart-heat-map-BWuOuDcm.js.map +1 -0
  116. package/dist/client/chunks/chart-kpi-delta-D5OHtDJx.js +343 -0
  117. package/dist/client/chunks/chart-kpi-delta-D5OHtDJx.js.map +1 -0
  118. package/dist/client/chunks/chart-kpi-number-C9zH-aKC.js +326 -0
  119. package/dist/client/chunks/chart-kpi-number-C9zH-aKC.js.map +1 -0
  120. package/dist/client/chunks/chart-kpi-text-ChVn3S7j.js +149 -0
  121. package/dist/client/chunks/chart-kpi-text-ChVn3S7j.js.map +1 -0
  122. package/dist/client/chunks/chart-line-DOIMkP0b.js +431 -0
  123. package/dist/client/chunks/chart-line-DOIMkP0b.js.map +1 -0
  124. package/dist/client/chunks/chart-markdown-DXxc43w1.js +3457 -0
  125. package/dist/client/chunks/chart-markdown-DXxc43w1.js.map +1 -0
  126. package/dist/client/chunks/chart-measure-profile-C6wrr9il.js +179 -0
  127. package/dist/client/chunks/chart-measure-profile-C6wrr9il.js.map +1 -0
  128. package/dist/client/chunks/chart-pie-BU_FgwDc.js +172 -0
  129. package/dist/client/chunks/chart-pie-BU_FgwDc.js.map +1 -0
  130. package/dist/client/chunks/chart-radar-DlufwnAX.js +154 -0
  131. package/dist/client/chunks/chart-radar-DlufwnAX.js.map +1 -0
  132. package/dist/client/chunks/chart-radial-bar-B5vS_Aw5.js +148 -0
  133. package/dist/client/chunks/chart-radial-bar-B5vS_Aw5.js.map +1 -0
  134. package/dist/client/chunks/chart-sankey-FChb26UX.js +222 -0
  135. package/dist/client/chunks/chart-sankey-FChb26UX.js.map +1 -0
  136. package/dist/client/chunks/chart-scatter-DW0cAZ2H.js +255 -0
  137. package/dist/client/chunks/chart-scatter-DW0cAZ2H.js.map +1 -0
  138. package/dist/client/chunks/chart-sunburst-Clf-6WxW.js +221 -0
  139. package/dist/client/chunks/chart-sunburst-Clf-6WxW.js.map +1 -0
  140. package/dist/client/chunks/chart-tree-map-p_VwUJPF.js +298 -0
  141. package/dist/client/chunks/chart-tree-map-p_VwUJPF.js.map +1 -0
  142. package/dist/client/chunks/chart-waterfall-jt44IQ-w.js +237 -0
  143. package/dist/client/chunks/chart-waterfall-jt44IQ-w.js.map +1 -0
  144. package/dist/client/chunks/charts-core-CUVzf4cV.js +215 -0
  145. package/dist/client/chunks/charts-core-CUVzf4cV.js.map +1 -0
  146. package/dist/client/chunks/charts-loader-AGpph8_I.js +259 -0
  147. package/dist/client/chunks/charts-loader-AGpph8_I.js.map +1 -0
  148. package/dist/client/chunks/core-D1TOj17W.js +845 -0
  149. package/dist/client/chunks/core-D1TOj17W.js.map +1 -0
  150. package/dist/client/chunks/dist-DDBeV_JI.js +847 -0
  151. package/dist/client/chunks/dist-DDBeV_JI.js.map +1 -0
  152. package/dist/client/chunks/javascript-BBwTSo6e.js +438 -0
  153. package/dist/client/chunks/javascript-BBwTSo6e.js.map +1 -0
  154. package/dist/client/chunks/json-BpTrLZSh.js +38 -0
  155. package/dist/client/chunks/json-BpTrLZSh.js.map +1 -0
  156. package/dist/client/chunks/lazyChartConfigRegistry-BjhxDaSf.js +149 -0
  157. package/dist/client/chunks/lazyChartConfigRegistry-BjhxDaSf.js.map +1 -0
  158. package/dist/client/chunks/providers-DX3Vw5kc.js +7 -0
  159. package/dist/client/chunks/providers-DX3Vw5kc.js.map +1 -0
  160. package/dist/client/chunks/retention-UEXlSdZ-.js +132 -0
  161. package/dist/client/chunks/retention-UEXlSdZ-.js.map +1 -0
  162. package/dist/client/chunks/rolldown-runtime-lc2dmIiU.js +20 -0
  163. package/dist/client/chunks/schema-visualization-ZugB4Io9.js +1073 -0
  164. package/dist/client/chunks/schema-visualization-ZugB4Io9.js.map +1 -0
  165. package/dist/client/chunks/sql-B0chxcEK.js +120 -0
  166. package/dist/client/chunks/sql-B0chxcEK.js.map +1 -0
  167. package/dist/client/chunks/syntaxHighlighting-87bOwTxj.js +30 -0
  168. package/dist/client/chunks/syntaxHighlighting-87bOwTxj.js.map +1 -0
  169. package/dist/client/chunks/useDebounce-BQjNWndQ.js +1394 -0
  170. package/dist/client/chunks/useDebounce-BQjNWndQ.js.map +1 -0
  171. package/dist/client/chunks/useDirtyStateTracking-CgKZWkel.js +66 -0
  172. package/dist/client/chunks/useDirtyStateTracking-CgKZWkel.js.map +1 -0
  173. package/dist/client/chunks/useExplainAI-c_bHxZe5.js +203 -0
  174. package/dist/client/chunks/useExplainAI-c_bHxZe5.js.map +1 -0
  175. package/dist/client/chunks/useNotebookLayout-BFZ_33Kb.js +37 -0
  176. package/dist/client/chunks/useNotebookLayout-BFZ_33Kb.js.map +1 -0
  177. package/dist/client/chunks/utils-A54Ny29G.js +128 -0
  178. package/dist/client/chunks/utils-A54Ny29G.js.map +1 -0
  179. package/dist/client/chunks/vendor-CoPBRumI.js +828 -0
  180. package/dist/client/chunks/vendor-CoPBRumI.js.map +1 -0
  181. package/dist/client/components.js +4 -18
  182. package/dist/client/hooks.js +6 -58
  183. package/dist/client/icons.js +2 -15
  184. package/dist/client/index.js +1061 -1295
  185. package/dist/client/index.js.map +1 -1
  186. package/dist/client/providers.js +3 -9
  187. package/dist/client/styles.css +2 -1
  188. package/dist/client/types.d.ts +1 -0
  189. package/dist/client/utils.js +7 -74
  190. package/dist/client-bundle-stats.html +1 -1
  191. package/dist/server/anthropic-BsNspi1r.js +140 -0
  192. package/dist/server/anthropic-DsCEX6Fm.cjs +1 -0
  193. package/dist/server/dist-CMWZC51B.js +581 -0
  194. package/dist/server/dist-DxegvyZF.cjs +2 -0
  195. package/dist/server/google-BXwMolCu.js +154 -0
  196. package/dist/server/google-DzQWXFwF.cjs +2 -0
  197. package/dist/server/index.cjs +109 -127
  198. package/dist/server/index.d.ts +13 -4
  199. package/dist/server/index.js +15089 -34349
  200. package/dist/server/openai-BPhmb8mi.js +4114 -0
  201. package/dist/server/openai-CLsoLaue.cjs +1 -0
  202. package/dist/server/openai-D1kZ5sdM.js +153 -0
  203. package/dist/server/openai-DkOKbVLC.cjs +16 -0
  204. package/package.json +5 -5
  205. package/dist/adapters/anthropic-BTkjgFpT.cjs +0 -1
  206. package/dist/adapters/anthropic-CTu9E801.js +0 -126
  207. package/dist/adapters/google-BAK9pnQf.cjs +0 -2
  208. package/dist/adapters/google-DficVAsJ.js +0 -146
  209. package/dist/adapters/handler-BV2_dul8.js +0 -2713
  210. package/dist/adapters/handler-LMRPeTNJ.cjs +0 -39
  211. package/dist/adapters/index-BgCeQBuN.cjs +0 -2
  212. package/dist/adapters/index-C3PskWTr.js +0 -5353
  213. package/dist/adapters/index-C45_meK_.js +0 -719
  214. package/dist/adapters/index-ht4NPca9.cjs +0 -23
  215. package/dist/adapters/mcp-transport-B6ZudTSk.js +0 -11010
  216. package/dist/adapters/mcp-transport-DCiSGtp1.cjs +0 -257
  217. package/dist/adapters/openai-BvA6eLs8.cjs +0 -1
  218. package/dist/adapters/openai-mcE24du8.js +0 -131
  219. package/dist/client/charts.js.map +0 -1
  220. package/dist/client/chunks/RetentionCombinedChart--SnU4Y_I.js +0 -256
  221. package/dist/client/chunks/RetentionCombinedChart--SnU4Y_I.js.map +0 -1
  222. package/dist/client/chunks/RetentionCombinedChart.config-Bbp2ghim.js +0 -48
  223. package/dist/client/chunks/RetentionCombinedChart.config-Bbp2ghim.js.map +0 -1
  224. package/dist/client/chunks/RetentionHeatmap-BHYU8MXY.js +0 -178
  225. package/dist/client/chunks/RetentionHeatmap-BHYU8MXY.js.map +0 -1
  226. package/dist/client/chunks/RetentionHeatmap.config-BWf_-vdj.js +0 -29
  227. package/dist/client/chunks/RetentionHeatmap.config-BWf_-vdj.js.map +0 -1
  228. package/dist/client/chunks/analysis-builder-DMFoAkjT.js +0 -6203
  229. package/dist/client/chunks/analysis-builder-DMFoAkjT.js.map +0 -1
  230. package/dist/client/chunks/analysis-builder-shared-CunrT3gi.js +0 -3140
  231. package/dist/client/chunks/analysis-builder-shared-CunrT3gi.js.map +0 -1
  232. package/dist/client/chunks/chart-activity-grid-DCznpK6N.js +0 -347
  233. package/dist/client/chunks/chart-activity-grid-DCznpK6N.js.map +0 -1
  234. package/dist/client/chunks/chart-area-CqKRIUpj.js +0 -234
  235. package/dist/client/chunks/chart-area-CqKRIUpj.js.map +0 -1
  236. package/dist/client/chunks/chart-bar-Bl5jvrU_.js +0 -267
  237. package/dist/client/chunks/chart-bar-Bl5jvrU_.js.map +0 -1
  238. package/dist/client/chunks/chart-box-plot-CzMb00z_.js +0 -322
  239. package/dist/client/chunks/chart-box-plot-CzMb00z_.js.map +0 -1
  240. package/dist/client/chunks/chart-bubble-BF8Z52eW.js +0 -249
  241. package/dist/client/chunks/chart-bubble-BF8Z52eW.js.map +0 -1
  242. package/dist/client/chunks/chart-candlestick-ByWS945g.js +0 -269
  243. package/dist/client/chunks/chart-candlestick-ByWS945g.js.map +0 -1
  244. package/dist/client/chunks/chart-config-activity-grid-CmOqDuOT.js +0 -50
  245. package/dist/client/chunks/chart-config-activity-grid-CmOqDuOT.js.map +0 -1
  246. package/dist/client/chunks/chart-config-area-CK_GVApT.js +0 -77
  247. package/dist/client/chunks/chart-config-area-CK_GVApT.js.map +0 -1
  248. package/dist/client/chunks/chart-config-bar-C8uzktxl.js +0 -71
  249. package/dist/client/chunks/chart-config-bar-C8uzktxl.js.map +0 -1
  250. package/dist/client/chunks/chart-config-box-plot-D_E_SSc2.js +0 -38
  251. package/dist/client/chunks/chart-config-box-plot-D_E_SSc2.js.map +0 -1
  252. package/dist/client/chunks/chart-config-bubble-q3DoQX5F.js +0 -71
  253. package/dist/client/chunks/chart-config-bubble-q3DoQX5F.js.map +0 -1
  254. package/dist/client/chunks/chart-config-candlestick-CRCpD43-.js +0 -70
  255. package/dist/client/chunks/chart-config-candlestick-CRCpD43-.js.map +0 -1
  256. package/dist/client/chunks/chart-config-data-table-B20Y5JCm.js +0 -28
  257. package/dist/client/chunks/chart-config-data-table-B20Y5JCm.js.map +0 -1
  258. package/dist/client/chunks/chart-config-funnel-3eYnGg8M.js +0 -92
  259. package/dist/client/chunks/chart-config-funnel-3eYnGg8M.js.map +0 -1
  260. package/dist/client/chunks/chart-config-gauge-CQx9w3d4.js +0 -64
  261. package/dist/client/chunks/chart-config-gauge-CQx9w3d4.js.map +0 -1
  262. package/dist/client/chunks/chart-config-heat-map-_wEnTnRA.js +0 -77
  263. package/dist/client/chunks/chart-config-heat-map-_wEnTnRA.js.map +0 -1
  264. package/dist/client/chunks/chart-config-kpi-delta-DLGZ2A3X.js +0 -97
  265. package/dist/client/chunks/chart-config-kpi-delta-DLGZ2A3X.js.map +0 -1
  266. package/dist/client/chunks/chart-config-kpi-number-K-wzviXF.js +0 -75
  267. package/dist/client/chunks/chart-config-kpi-number-K-wzviXF.js.map +0 -1
  268. package/dist/client/chunks/chart-config-kpi-text-BjYqwqaJ.js +0 -47
  269. package/dist/client/chunks/chart-config-kpi-text-BjYqwqaJ.js.map +0 -1
  270. package/dist/client/chunks/chart-config-line-JNagi9tf.js +0 -88
  271. package/dist/client/chunks/chart-config-line-JNagi9tf.js.map +0 -1
  272. package/dist/client/chunks/chart-config-markdown-BWQSjJpy.js +0 -97
  273. package/dist/client/chunks/chart-config-markdown-BWQSjJpy.js.map +0 -1
  274. package/dist/client/chunks/chart-config-measure-profile-ZYaMrtws.js +0 -70
  275. package/dist/client/chunks/chart-config-measure-profile-ZYaMrtws.js.map +0 -1
  276. package/dist/client/chunks/chart-config-pie-CNLXb-fr.js +0 -39
  277. package/dist/client/chunks/chart-config-pie-CNLXb-fr.js.map +0 -1
  278. package/dist/client/chunks/chart-config-radar-oxHfRAa3.js +0 -44
  279. package/dist/client/chunks/chart-config-radar-oxHfRAa3.js.map +0 -1
  280. package/dist/client/chunks/chart-config-radial-bar-_Aw3jAEm.js +0 -37
  281. package/dist/client/chunks/chart-config-radial-bar-_Aw3jAEm.js.map +0 -1
  282. package/dist/client/chunks/chart-config-sankey-C8FX9hGF.js +0 -61
  283. package/dist/client/chunks/chart-config-sankey-C8FX9hGF.js.map +0 -1
  284. package/dist/client/chunks/chart-config-scatter-DFKM80eO.js +0 -53
  285. package/dist/client/chunks/chart-config-scatter-DFKM80eO.js.map +0 -1
  286. package/dist/client/chunks/chart-config-sunburst-BmC0NLTU.js +0 -50
  287. package/dist/client/chunks/chart-config-sunburst-BmC0NLTU.js.map +0 -1
  288. package/dist/client/chunks/chart-config-tree-map-DGMbNTaa.js +0 -47
  289. package/dist/client/chunks/chart-config-tree-map-DGMbNTaa.js.map +0 -1
  290. package/dist/client/chunks/chart-config-waterfall-DTyXV_fo.js +0 -60
  291. package/dist/client/chunks/chart-config-waterfall-DTyXV_fo.js.map +0 -1
  292. package/dist/client/chunks/chart-data-table-HwfF-Ujv.js +0 -293
  293. package/dist/client/chunks/chart-data-table-HwfF-Ujv.js.map +0 -1
  294. package/dist/client/chunks/chart-funnel-WmuoWlCq.js +0 -259
  295. package/dist/client/chunks/chart-funnel-WmuoWlCq.js.map +0 -1
  296. package/dist/client/chunks/chart-gauge-Cot4By-w.js +0 -374
  297. package/dist/client/chunks/chart-gauge-Cot4By-w.js.map +0 -1
  298. package/dist/client/chunks/chart-heat-map-bGNtsZMr.js +0 -231
  299. package/dist/client/chunks/chart-heat-map-bGNtsZMr.js.map +0 -1
  300. package/dist/client/chunks/chart-kpi-delta-DeyKMxgq.js +0 -351
  301. package/dist/client/chunks/chart-kpi-delta-DeyKMxgq.js.map +0 -1
  302. package/dist/client/chunks/chart-kpi-number-D1z1gxXO.js +0 -476
  303. package/dist/client/chunks/chart-kpi-number-D1z1gxXO.js.map +0 -1
  304. package/dist/client/chunks/chart-kpi-text-b7q6KWc0.js +0 -165
  305. package/dist/client/chunks/chart-kpi-text-b7q6KWc0.js.map +0 -1
  306. package/dist/client/chunks/chart-line-3Nf-EPqJ.js +0 -450
  307. package/dist/client/chunks/chart-line-3Nf-EPqJ.js.map +0 -1
  308. package/dist/client/chunks/chart-markdown-BT_-MBq1.js +0 -2721
  309. package/dist/client/chunks/chart-markdown-BT_-MBq1.js.map +0 -1
  310. package/dist/client/chunks/chart-measure-profile-BVjUonqU.js +0 -114
  311. package/dist/client/chunks/chart-measure-profile-BVjUonqU.js.map +0 -1
  312. package/dist/client/chunks/chart-pie-DblG6w7g.js +0 -137
  313. package/dist/client/chunks/chart-pie-DblG6w7g.js.map +0 -1
  314. package/dist/client/chunks/chart-radar-BHZbeeTg.js +0 -129
  315. package/dist/client/chunks/chart-radar-BHZbeeTg.js.map +0 -1
  316. package/dist/client/chunks/chart-radial-bar-AlEJC1Jo.js +0 -119
  317. package/dist/client/chunks/chart-radial-bar-AlEJC1Jo.js.map +0 -1
  318. package/dist/client/chunks/chart-sankey-E8vYKjQF.js +0 -189
  319. package/dist/client/chunks/chart-sankey-E8vYKjQF.js.map +0 -1
  320. package/dist/client/chunks/chart-scatter-Bbxqi0iw.js +0 -202
  321. package/dist/client/chunks/chart-scatter-Bbxqi0iw.js.map +0 -1
  322. package/dist/client/chunks/chart-sunburst-BgnTKolT.js +0 -188
  323. package/dist/client/chunks/chart-sunburst-BgnTKolT.js.map +0 -1
  324. package/dist/client/chunks/chart-tree-map-i9LGCLwl.js +0 -284
  325. package/dist/client/chunks/chart-tree-map-i9LGCLwl.js.map +0 -1
  326. package/dist/client/chunks/chart-waterfall-BeIhCm83.js +0 -191
  327. package/dist/client/chunks/chart-waterfall-BeIhCm83.js.map +0 -1
  328. package/dist/client/chunks/charts-core-BUUO36OM.js +0 -692
  329. package/dist/client/chunks/charts-core-BUUO36OM.js.map +0 -1
  330. package/dist/client/chunks/charts-loader-goTYnavu.js +0 -258
  331. package/dist/client/chunks/charts-loader-goTYnavu.js.map +0 -1
  332. package/dist/client/chunks/components-BFgYvFq6.js +0 -10066
  333. package/dist/client/chunks/components-BFgYvFq6.js.map +0 -1
  334. package/dist/client/chunks/core-Y9e-sNfb.js +0 -1068
  335. package/dist/client/chunks/core-Y9e-sNfb.js.map +0 -1
  336. package/dist/client/chunks/flow-utils-CjQZG5qq.js +0 -16
  337. package/dist/client/chunks/flow-utils-CjQZG5qq.js.map +0 -1
  338. package/dist/client/chunks/funnel-utils-CyonoNeC.js +0 -135
  339. package/dist/client/chunks/funnel-utils-CyonoNeC.js.map +0 -1
  340. package/dist/client/chunks/icons-CwvgmdIP.js +0 -1636
  341. package/dist/client/chunks/icons-CwvgmdIP.js.map +0 -1
  342. package/dist/client/chunks/index-CApFCBF9.js +0 -81
  343. package/dist/client/chunks/index-CApFCBF9.js.map +0 -1
  344. package/dist/client/chunks/index-_2PSgbkC.js +0 -1046
  345. package/dist/client/chunks/index-_2PSgbkC.js.map +0 -1
  346. package/dist/client/chunks/javascript-DII1YQGr.js +0 -659
  347. package/dist/client/chunks/javascript-DII1YQGr.js.map +0 -1
  348. package/dist/client/chunks/json-C_6Prymp.js +0 -39
  349. package/dist/client/chunks/json-C_6Prymp.js.map +0 -1
  350. package/dist/client/chunks/providers-Ds7DRmnO.js +0 -554
  351. package/dist/client/chunks/providers-Ds7DRmnO.js.map +0 -1
  352. package/dist/client/chunks/retention-CzCo8262.js +0 -120
  353. package/dist/client/chunks/retention-CzCo8262.js.map +0 -1
  354. package/dist/client/chunks/schema-visualization-B97a1Ybu.js +0 -772
  355. package/dist/client/chunks/schema-visualization-B97a1Ybu.js.map +0 -1
  356. package/dist/client/chunks/sql-IeKX8fQ8.js +0 -616
  357. package/dist/client/chunks/sql-IeKX8fQ8.js.map +0 -1
  358. package/dist/client/chunks/syntaxHighlighting-DAMSW_A6.js +0 -34
  359. package/dist/client/chunks/syntaxHighlighting-DAMSW_A6.js.map +0 -1
  360. package/dist/client/chunks/theme-Dp3hFed1.js +0 -112
  361. package/dist/client/chunks/theme-Dp3hFed1.js.map +0 -1
  362. package/dist/client/chunks/useDirtyStateTracking-CyAXd07d.js +0 -1231
  363. package/dist/client/chunks/useDirtyStateTracking-CyAXd07d.js.map +0 -1
  364. package/dist/client/chunks/useExplainAI-CfQ_JmF1.js +0 -182
  365. package/dist/client/chunks/useExplainAI-CfQ_JmF1.js.map +0 -1
  366. package/dist/client/chunks/vendor-B2EH3V58.js +0 -2892
  367. package/dist/client/chunks/vendor-B2EH3V58.js.map +0 -1
  368. package/dist/client/components.js.map +0 -1
  369. package/dist/client/hooks.js.map +0 -1
  370. package/dist/client/icons.js.map +0 -1
  371. package/dist/client/providers.js.map +0 -1
  372. package/dist/client/utils.js.map +0 -1
  373. package/dist/server/anthropic-BTkjgFpT.cjs +0 -1
  374. package/dist/server/anthropic-CTu9E801.js +0 -126
  375. package/dist/server/google-BAK9pnQf.cjs +0 -2
  376. package/dist/server/google-DficVAsJ.js +0 -146
  377. package/dist/server/index-BgCeQBuN.cjs +0 -2
  378. package/dist/server/index-C3PskWTr.js +0 -5353
  379. package/dist/server/index-C45_meK_.js +0 -719
  380. package/dist/server/index-ht4NPca9.cjs +0 -23
  381. package/dist/server/openai-BvA6eLs8.cjs +0 -1
  382. package/dist/server/openai-mcE24du8.js +0 -131
@@ -1,114 +0,0 @@
1
- import { jsx as e, jsxs as y } from "react/jsx-runtime";
2
- import S, { useMemo as b } from "react";
3
- import { LineChart as R, CartesianGrid as E, XAxis as F, YAxis as T, ReferenceLine as _, Legend as K, Line as M } from "recharts";
4
- import { u as C, a as V, f as N, b as j, c as w, C as U } from "./charts-core-BUUO36OM.js";
5
- import { A as Y } from "./chart-bar-Bl5jvrU_.js";
6
- function z(f, a, i, m) {
7
- if (!f || f.length === 0 || a.length === 0)
8
- return { profileData: [], seriesKeys: [] };
9
- if (i) {
10
- const o = Array.from(new Set(f.map((s) => String(s[i] ?? "Unknown"))));
11
- return { profileData: a.map((s) => {
12
- const n = {
13
- measureKey: s,
14
- measureLabel: m(s)
15
- };
16
- for (const c of o) {
17
- const p = f.filter((t) => String(t[i] ?? "Unknown") === c).map((t) => {
18
- const l = t[s];
19
- return typeof l == "number" ? l : parseFloat(String(l ?? ""));
20
- }).filter((t) => !isNaN(t));
21
- n[c] = p.length > 0 ? p.reduce((t, l) => t + l, 0) / p.length : null;
22
- }
23
- return n;
24
- }), seriesKeys: o };
25
- } else {
26
- const o = "_value";
27
- return { profileData: a.map((s) => {
28
- const n = f.map((c) => {
29
- const d = c[s];
30
- return typeof d == "number" ? d : parseFloat(String(d ?? ""));
31
- }).filter((c) => !isNaN(c));
32
- return {
33
- measureKey: s,
34
- measureLabel: m(s),
35
- [o]: n.length > 0 ? n.reduce((c, d) => c + d, 0) / n.length : null
36
- };
37
- }), seriesKeys: [o] };
38
- }
39
- }
40
- const Z = S.memo(function({
41
- data: a,
42
- chartConfig: i,
43
- displayConfig: m = {},
44
- height: o = "100%",
45
- colorPalette: h,
46
- drillEnabled: s
47
- }) {
48
- const n = C(), c = m?.showReferenceLineAtZero ?? !0, d = m?.showDataLabels ?? !1, p = m?.lineType ?? "monotone", t = m?.leftYAxisFormat, { yAxisFields: l, seriesField: A, configError: x } = b(() => {
49
- const r = Array.isArray(i?.yAxis) ? i.yAxis : [], u = Array.isArray(i?.series) ? i.series[0] : i?.series ?? void 0, v = r.length < 2 ? "Measure Profile chart requires at least 2 measures in Y-Axis" : null;
50
- return { yAxisFields: r, seriesField: u, configError: v };
51
- }, [i]), { profileData: L, seriesKeys: g } = b(() => x || !a || a.length === 0 ? { profileData: [], seriesKeys: [] } : z(
52
- a,
53
- l,
54
- A,
55
- n
56
- ), [a, l, A, n, x]), k = (m?.showLegend ?? !0) && g.length > 1;
57
- try {
58
- return !a || a.length === 0 ? /* @__PURE__ */ e("div", { className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted", style: { height: o }, children: /* @__PURE__ */ y("div", { className: "dc:text-center", children: [
59
- /* @__PURE__ */ e("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "No data available" }),
60
- /* @__PURE__ */ e("div", { className: "dc:text-xs text-dc-text-secondary", children: "No data points to display in measure profile chart" })
61
- ] }) }) : x ? /* @__PURE__ */ e("div", { className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-warning", style: { height: o }, children: /* @__PURE__ */ y("div", { className: "dc:text-center", children: [
62
- /* @__PURE__ */ e("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "Configuration Error" }),
63
- /* @__PURE__ */ e("div", { className: "dc:text-xs", children: x })
64
- ] }) }) : /* @__PURE__ */ e("div", { className: "dc:relative dc:w-full", style: { height: o }, children: /* @__PURE__ */ e(V, { height: "100%", children: /* @__PURE__ */ y(R, { data: L, margin: { ...U, left: 40 }, accessibilityLayer: !1, children: [
65
- /* @__PURE__ */ e(E, { strokeDasharray: "3 3", style: { pointerEvents: "none" } }),
66
- /* @__PURE__ */ e(F, { dataKey: "measureLabel", type: "category", tick: /* @__PURE__ */ e(Y, {}), height: 60 }),
67
- /* @__PURE__ */ e(
68
- T,
69
- {
70
- tick: { fontSize: 12 },
71
- tickFormatter: t ? (r) => N(r, t) : void 0
72
- }
73
- ),
74
- /* @__PURE__ */ e(
75
- j,
76
- {
77
- formatter: (r, u) => {
78
- if (r == null) return ["No data", u];
79
- const v = t ? N(r, t) : r?.toLocaleString?.() ?? r, D = u === "_value" ? n(l[0]?.split(".")[0]) || "Value" : u;
80
- return [v, D];
81
- }
82
- }
83
- ),
84
- c && /* @__PURE__ */ e(_, { y: 0, stroke: "var(--dc-border, #94a3b8)", strokeDasharray: "4 2" }),
85
- k && /* @__PURE__ */ e(K, { wrapperStyle: { fontSize: "12px", paddingTop: "8px" } }),
86
- g.map((r, u) => /* @__PURE__ */ e(
87
- M,
88
- {
89
- type: p,
90
- dataKey: r,
91
- name: r === "_value" ? n(l[0]?.split(".")[0]) || "Value" : r,
92
- stroke: h?.colors && h.colors[u % h.colors.length] || w[u % w.length],
93
- strokeWidth: 2,
94
- dot: d ? { r: 4 } : { r: 3 },
95
- activeDot: { r: 5 },
96
- label: d ? { position: "top", fontSize: 10 } : void 0,
97
- isAnimationActive: !1,
98
- cursor: s ? "pointer" : void 0
99
- },
100
- r
101
- ))
102
- ] }) }) });
103
- } catch (r) {
104
- return /* @__PURE__ */ e("div", { className: "dc:flex dc:flex-col dc:items-center dc:justify-center dc:w-full text-dc-error dc:p-4", style: { height: o }, children: /* @__PURE__ */ y("div", { className: "dc:text-center", children: [
105
- /* @__PURE__ */ e("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "Measure Profile Chart Error" }),
106
- /* @__PURE__ */ e("div", { className: "dc:text-xs dc:mb-2", children: r instanceof Error ? r.message : "Unknown rendering error" }),
107
- /* @__PURE__ */ e("div", { className: "dc:text-xs text-dc-text-muted", children: "Check the data and configuration" })
108
- ] }) });
109
- }
110
- });
111
- export {
112
- Z as default
113
- };
114
- //# sourceMappingURL=chart-measure-profile-BVjUonqU.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chart-measure-profile-BVjUonqU.js","sources":["../../../src/client/components/charts/MeasureProfileChart.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { LineChart, Line, XAxis, YAxis, CartesianGrid, ReferenceLine, Legend } from 'recharts'\nimport ChartContainer from './ChartContainer'\nimport ChartTooltip from './ChartTooltip'\nimport AngledXAxisTick from './AngledXAxisTick'\nimport { CHART_COLORS, CHART_MARGINS } from '../../utils/chartConstants'\nimport { formatAxisValue } from '../../utils/chartUtils'\nimport { useCubeFieldLabel } from '../../hooks/useCubeFieldLabel'\nimport type { ChartProps } from '../../types'\n\n/**\n * Pivots N measures from chartConfig.yAxis[] into sequential X-axis points.\n * Each measure becomes one X-axis category; its numeric value is Y.\n * When a series dimension is provided, values are averaged across all rows\n * that share the same series value.\n *\n * Input (normal cube rows):\n * [{ 'Markouts.avgMinus2m': 10, 'Markouts.avgAtEvent': 0, 'Trades.symbol': 'AAPL' },\n * { 'Markouts.avgMinus2m': 12, 'Markouts.avgAtEvent': 1, 'Trades.symbol': 'AAPL' }]\n *\n * Output (one row per measure, values averaged per series):\n * [{ measureKey: 'Markouts.avgMinus2m', measureLabel: <getFieldLabel result>, AAPL: 11 },\n * { measureKey: 'Markouts.avgAtEvent', measureLabel: <getFieldLabel result>, AAPL: 0.5 }]\n */\nfunction pivotMeasuresToProfile(\n data: Record<string, unknown>[],\n yAxisFields: string[],\n seriesField: string | undefined,\n getFieldLabel: (field: string) => string\n): { profileData: Record<string, unknown>[]; seriesKeys: string[] } {\n if (!data || data.length === 0 || yAxisFields.length === 0) {\n return { profileData: [], seriesKeys: [] }\n }\n\n if (seriesField) {\n const seriesValues = Array.from(new Set(data.map((row) => String(row[seriesField] ?? 'Unknown'))))\n const profileData = yAxisFields.map((field) => {\n const base: Record<string, unknown> = {\n measureKey: field,\n measureLabel: getFieldLabel(field),\n }\n for (const seriesVal of seriesValues) {\n const matchingRows = data.filter((row) => String(row[seriesField] ?? 'Unknown') === seriesVal)\n const values = matchingRows\n .map((r) => {\n const v = r[field]\n return typeof v === 'number' ? v : parseFloat(String(v ?? ''))\n })\n .filter((v) => !isNaN(v))\n base[seriesVal] = values.length > 0 ? values.reduce((a, b) => a + b, 0) / values.length : null\n }\n return base\n })\n return { profileData, seriesKeys: seriesValues }\n } else {\n const VALUE_KEY = '_value'\n const profileData = yAxisFields.map((field) => {\n const values = data\n .map((r) => {\n const v = r[field]\n return typeof v === 'number' ? v : parseFloat(String(v ?? ''))\n })\n .filter((v) => !isNaN(v))\n return {\n measureKey: field,\n measureLabel: getFieldLabel(field),\n [VALUE_KEY]: values.length > 0 ? values.reduce((a, b) => a + b, 0) / values.length : null,\n }\n })\n return { profileData, seriesKeys: [VALUE_KEY] }\n }\n}\n\nconst MeasureProfileChart = React.memo(function MeasureProfileChart({\n data,\n chartConfig,\n displayConfig = {},\n height = '100%',\n colorPalette,\n drillEnabled,\n}: ChartProps) {\n const getFieldLabel = useCubeFieldLabel()\n\n const showReferenceLineAtZero = displayConfig?.showReferenceLineAtZero ?? true\n const showDataLabels = displayConfig?.showDataLabels ?? false\n const lineType = displayConfig?.lineType ?? 'monotone'\n const yAxisFormat = displayConfig?.leftYAxisFormat\n\n const { yAxisFields, seriesField, configError } = useMemo(() => {\n const yAxisFields: string[] = Array.isArray(chartConfig?.yAxis)\n ? chartConfig.yAxis\n : []\n const seriesField = Array.isArray(chartConfig?.series)\n ? chartConfig.series[0]\n : chartConfig?.series ?? undefined\n const configError =\n yAxisFields.length < 2 ? 'Measure Profile chart requires at least 2 measures in Y-Axis' : null\n return { yAxisFields, seriesField, configError }\n }, [chartConfig])\n\n const { profileData, seriesKeys } = useMemo(() => {\n if (configError || !data || data.length === 0) return { profileData: [], seriesKeys: [] }\n return pivotMeasuresToProfile(\n data as Record<string, unknown>[],\n yAxisFields,\n seriesField,\n getFieldLabel\n )\n }, [data, yAxisFields, seriesField, getFieldLabel, configError])\n\n const showLegend = (displayConfig?.showLegend ?? true) && seriesKeys.length > 1\n\n try {\n if (!data || data.length === 0) {\n return (\n <div className=\"dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">No data available</div>\n <div className=\"dc:text-xs text-dc-text-secondary\">No data points to display in measure profile chart</div>\n </div>\n </div>\n )\n }\n\n if (configError) {\n return (\n <div className=\"dc:flex dc:items-center dc:justify-center dc:w-full text-dc-warning\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">Configuration Error</div>\n <div className=\"dc:text-xs\">{configError}</div>\n </div>\n </div>\n )\n }\n return (\n <div className=\"dc:relative dc:w-full\" style={{ height }}>\n <ChartContainer height=\"100%\">\n <LineChart data={profileData} margin={{ ...CHART_MARGINS, left: 40 }} accessibilityLayer={false}>\n <CartesianGrid strokeDasharray=\"3 3\" style={{ pointerEvents: 'none' }} />\n <XAxis dataKey=\"measureLabel\" type=\"category\" tick={<AngledXAxisTick />} height={60} />\n <YAxis\n tick={{ fontSize: 12 }}\n tickFormatter={yAxisFormat ? (v) => formatAxisValue(v, yAxisFormat) : undefined}\n />\n <ChartTooltip\n formatter={(value: any, name: any) => {\n if (value === null || value === undefined) return ['No data', name]\n const formatted = yAxisFormat ? formatAxisValue(value, yAxisFormat) : value?.toLocaleString?.() ?? value\n const displayName = name === '_value' ? (getFieldLabel(yAxisFields[0]?.split('.')[0]) || 'Value') : name\n return [formatted, displayName]\n }}\n />\n {showReferenceLineAtZero && (\n <ReferenceLine y={0} stroke=\"var(--dc-border, #94a3b8)\" strokeDasharray=\"4 2\" />\n )}\n {showLegend && (\n <Legend wrapperStyle={{ fontSize: '12px', paddingTop: '8px' }} />\n )}\n {seriesKeys.map((seriesKey, index) => (\n <Line\n key={seriesKey}\n type={lineType}\n dataKey={seriesKey}\n name={seriesKey === '_value' ? (getFieldLabel(yAxisFields[0]?.split('.')[0]) || 'Value') : seriesKey}\n stroke={\n (colorPalette?.colors && colorPalette.colors[index % colorPalette.colors.length]) ||\n CHART_COLORS[index % CHART_COLORS.length]\n }\n strokeWidth={2}\n dot={showDataLabels ? { r: 4 } : { r: 3 }}\n activeDot={{ r: 5 }}\n label={showDataLabels ? { position: 'top', fontSize: 10 } : undefined}\n isAnimationActive={false}\n cursor={drillEnabled ? 'pointer' : undefined}\n />\n ))}\n </LineChart>\n </ChartContainer>\n </div>\n )\n } catch (error) {\n return (\n <div className=\"dc:flex dc:flex-col dc:items-center dc:justify-center dc:w-full text-dc-error dc:p-4\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">Measure Profile Chart Error</div>\n <div className=\"dc:text-xs dc:mb-2\">{error instanceof Error ? error.message : 'Unknown rendering error'}</div>\n <div className=\"dc:text-xs text-dc-text-muted\">Check the data and configuration</div>\n </div>\n </div>\n )\n }\n})\n\nexport default MeasureProfileChart\n"],"names":["pivotMeasuresToProfile","data","yAxisFields","seriesField","getFieldLabel","seriesValues","row","field","base","seriesVal","values","r","v","a","b","VALUE_KEY","MeasureProfileChart","React","chartConfig","displayConfig","height","colorPalette","drillEnabled","useCubeFieldLabel","showReferenceLineAtZero","showDataLabels","lineType","yAxisFormat","configError","useMemo","profileData","seriesKeys","showLegend","jsx","jsxs","ChartContainer","LineChart","CHART_MARGINS","CartesianGrid","XAxis","AngledXAxisTick","YAxis","formatAxisValue","ChartTooltip","value","name","formatted","displayName","ReferenceLine","Legend","seriesKey","index","Line","CHART_COLORS","error"],"mappings":"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"}
@@ -1,137 +0,0 @@
1
- import { jsx as t, jsxs as o } from "react/jsx-runtime";
2
- import w, { useState as F } from "react";
3
- import { PieChart as L, Pie as S, Cell as T, Legend as j } from "recharts";
4
- import { u as E, t as Y, g as R, d as _, a as $, c as b, b as z, f as P } from "./charts-core-BUUO36OM.js";
5
- const H = w.memo(function({
6
- data: x,
7
- chartConfig: i,
8
- displayConfig: m = {},
9
- queryObject: v,
10
- height: n = "100%",
11
- colorPalette: u,
12
- onDataPointClick: y,
13
- drillEnabled: h
14
- }) {
15
- const [p, A] = F(null), g = E();
16
- try {
17
- const c = {
18
- showLegend: m?.showLegend ?? !0,
19
- showTooltip: m?.showTooltip ?? !0,
20
- leftYAxisFormat: m?.leftYAxisFormat
21
- };
22
- if (!x || x.length === 0)
23
- return /* @__PURE__ */ t("div", { className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted", style: { height: n }, children: /* @__PURE__ */ o("div", { className: "dc:text-center", children: [
24
- /* @__PURE__ */ t("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "No data available" }),
25
- /* @__PURE__ */ t("div", { className: "dc:text-xs text-dc-text-secondary", children: "No data points to display in pie chart" })
26
- ] }) });
27
- let l, a, d, f = [];
28
- if (i?.xAxis && i?.yAxis)
29
- a = Array.isArray(i.xAxis) ? i.xAxis[0] : i.xAxis, d = Array.isArray(i.yAxis) ? i.yAxis : [i.yAxis], f = i.series || [];
30
- else if (i?.x && i?.y)
31
- a = i.x, d = Array.isArray(i.y) ? i.y : [i.y];
32
- else
33
- return /* @__PURE__ */ t("div", { className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-warning", style: { height: n }, children: /* @__PURE__ */ o("div", { className: "dc:text-center", children: [
34
- /* @__PURE__ */ t("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "Configuration Error" }),
35
- /* @__PURE__ */ t("div", { className: "dc:text-xs", children: "chartConfig.x/y or chartConfig.xAxis/yAxis required for pie chart" })
36
- ] }) });
37
- if (!a || !d || d.length === 0)
38
- return /* @__PURE__ */ t("div", { className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-warning", style: { height: n }, children: /* @__PURE__ */ o("div", { className: "dc:text-center", children: [
39
- /* @__PURE__ */ t("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "Configuration Error" }),
40
- /* @__PURE__ */ t("div", { className: "dc:text-xs", children: "Missing required X-axis or Y-axis fields" })
41
- ] }) });
42
- if (f.length > 0) {
43
- const { data: s } = Y(
44
- x,
45
- a,
46
- d,
47
- v,
48
- f,
49
- g
50
- );
51
- if (l = [], s.length > 0) {
52
- const e = s[0];
53
- Object.keys(e).forEach((r) => {
54
- r !== "name" && typeof e[r] == "number" && l.push({
55
- name: String(r),
56
- value: e[r]
57
- });
58
- });
59
- }
60
- } else {
61
- const s = R(v, a);
62
- l = x.map((e) => {
63
- let r = _(e[a], s) || String(e[a]) || "Unknown";
64
- return typeof e[a] == "boolean" ? r = e[a] ? "Active" : "Inactive" : (r === "true" || r === "false") && (r = r === "true" ? "Active" : "Inactive"), {
65
- name: r,
66
- value: typeof e[d[0]] == "string" ? parseFloat(e[d[0]]) : e[d[0]] || 0
67
- };
68
- });
69
- }
70
- const N = l.length;
71
- return l = l.filter(
72
- (s) => s.value != null && !isNaN(s.value) && s.value !== 0 && s.value > 0
73
- ), l.length === 0 ? /* @__PURE__ */ t("div", { className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted", style: { height: n }, children: /* @__PURE__ */ o("div", { className: "dc:text-center", children: [
74
- /* @__PURE__ */ t("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "No valid data" }),
75
- /* @__PURE__ */ t("div", { className: "dc:text-xs text-dc-text-secondary", children: N > 0 ? `Filtered out ${N} data points (zero or invalid values)` : "No data points to display in pie chart" })
76
- ] }) }) : /* @__PURE__ */ t($, { height: n, children: /* @__PURE__ */ o(L, { accessibilityLayer: !1, children: [
77
- /* @__PURE__ */ t(
78
- S,
79
- {
80
- data: l,
81
- cx: "50%",
82
- cy: "50%",
83
- outerRadius: "70%",
84
- dataKey: "value",
85
- label: c.showLegend ? void 0 : ({ name: s, percent: e }) => `${s} ${((e || 0) * 100).toFixed(0)}%`,
86
- cursor: h ? "pointer" : void 0,
87
- onClick: (s, e, r) => {
88
- y && h && s && y({
89
- dataPoint: s,
90
- clickedField: d[0],
91
- xValue: s.name,
92
- position: { x: r.clientX, y: r.clientY },
93
- nativeEvent: r
94
- });
95
- },
96
- children: l.map((s, e) => /* @__PURE__ */ t(
97
- T,
98
- {
99
- fill: u?.colors && u.colors[e % u.colors.length] || b[e % b.length],
100
- fillOpacity: p ? p === l[e].name ? 1 : 0.3 : 1
101
- },
102
- `cell-${e}`
103
- ))
104
- }
105
- ),
106
- c.showTooltip && /* @__PURE__ */ t(
107
- z,
108
- {
109
- formatter: c.leftYAxisFormat ? (s, e) => [P(s, c.leftYAxisFormat), e] : void 0
110
- }
111
- ),
112
- c.showLegend && /* @__PURE__ */ t(
113
- j,
114
- {
115
- wrapperStyle: { fontSize: "12px", paddingTop: "10px" },
116
- iconType: "circle",
117
- iconSize: 8,
118
- layout: "horizontal",
119
- align: "center",
120
- verticalAlign: "bottom",
121
- onMouseEnter: (s) => A(String(s.value || "")),
122
- onMouseLeave: () => A(null)
123
- }
124
- )
125
- ] }) });
126
- } catch (c) {
127
- return /* @__PURE__ */ t("div", { className: "dc:flex dc:flex-col dc:items-center dc:justify-center dc:w-full text-dc-error dc:p-4", style: { height: n }, children: /* @__PURE__ */ o("div", { className: "dc:text-center", children: [
128
- /* @__PURE__ */ t("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "Pie Chart Error" }),
129
- /* @__PURE__ */ t("div", { className: "dc:text-xs dc:mb-2", children: c instanceof Error ? c.message : "Unknown rendering error" }),
130
- /* @__PURE__ */ t("div", { className: "dc:text-xs text-dc-text-muted", children: "Check the data and configuration" })
131
- ] }) });
132
- }
133
- });
134
- export {
135
- H as default
136
- };
137
- //# sourceMappingURL=chart-pie-DblG6w7g.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chart-pie-DblG6w7g.js","sources":["../../../src/client/components/charts/PieChart.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { PieChart as RechartsPieChart, Pie, Cell, Legend } from 'recharts'\nimport ChartContainer from './ChartContainer'\nimport ChartTooltip from './ChartTooltip'\nimport { CHART_COLORS } from '../../utils/chartConstants'\nimport { transformChartDataWithSeries, formatTimeValue, getFieldGranularity, formatAxisValue } from '../../utils/chartUtils'\nimport { useCubeFieldLabel } from '../../hooks/useCubeFieldLabel'\nimport type { ChartProps } from '../../types'\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 [hoveredLegend, setHoveredLegend] = useState<string | null>(null)\n // Use specialized hook to avoid re-renders from unrelated context changes\n const getFieldLabel = useCubeFieldLabel()\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 (\n <div className=\"dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">No data available</div>\n <div className=\"dc:text-xs text-dc-text-secondary\">No data points to display in pie chart</div>\n </div>\n </div>\n )\n }\n\n let pieData: Array<{name: string, value: number}>\n\n // Validate chartConfig - support both legacy and new formats\n let xAxisField: string\n let yAxisFields: string[]\n let seriesFields: string[] = []\n \n if (chartConfig?.xAxis && chartConfig?.yAxis) {\n // New format\n xAxisField = Array.isArray(chartConfig.xAxis) ? chartConfig.xAxis[0] : chartConfig.xAxis\n yAxisFields = Array.isArray(chartConfig.yAxis) ? chartConfig.yAxis : [chartConfig.yAxis]\n seriesFields = chartConfig.series || []\n } else if (chartConfig?.x && chartConfig?.y) {\n // Legacy format\n xAxisField = chartConfig.x\n yAxisFields = Array.isArray(chartConfig.y) ? chartConfig.y : [chartConfig.y]\n } else {\n return (\n <div className=\"dc:flex dc:items-center dc:justify-center dc:w-full text-dc-warning\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">Configuration Error</div>\n <div className=\"dc:text-xs\">chartConfig.x/y or chartConfig.xAxis/yAxis required for pie chart</div>\n </div>\n </div>\n )\n }\n\n if (!xAxisField || !yAxisFields || yAxisFields.length === 0) {\n return (\n <div className=\"dc:flex dc:items-center dc:justify-center dc:w-full text-dc-warning\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">Configuration Error</div>\n <div className=\"dc:text-xs\">Missing required X-axis or Y-axis fields</div>\n </div>\n </div>\n )\n }\n\n if (seriesFields.length > 0) {\n // Use series-based transformation for dimension-based pie slices\n const { data: chartData } = transformChartDataWithSeries(\n data,\n xAxisField,\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({\n name: String(key),\n value: firstRow[key]\n })\n }\n })\n }\n } else {\n // Standard measure-based pie chart\n const granularity = getFieldGranularity(queryObject, xAxisField)\n pieData = data.map(item => {\n let name = formatTimeValue(item[xAxisField], granularity) || String(item[xAxisField]) || 'Unknown'\n // Handle boolean values with better labels\n if (typeof item[xAxisField] === 'boolean') {\n name = item[xAxisField] ? '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 zero)\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 if (pieData.length === 0) {\n return (\n <div className=\"dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">No valid data</div>\n <div className=\"dc:text-xs text-dc-text-secondary\">\n {originalLength > 0\n ? `Filtered out ${originalLength} data points (zero or invalid values)`\n : 'No data points to display in pie chart'\n }\n </div>\n </div>\n </div>\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 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 // 'PieChart rendering error\n return (\n <div className=\"dc:flex dc:flex-col dc:items-center dc:justify-center dc:w-full text-dc-error dc:p-4\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">Pie Chart Error</div>\n <div className=\"dc:text-xs dc:mb-2\">{error instanceof Error ? error.message : 'Unknown rendering error'}</div>\n <div className=\"dc:text-xs text-dc-text-muted\">Check the data and configuration</div>\n </div>\n </div>\n )\n }\n})\n\nexport default PieChart"],"names":["PieChart","React","data","chartConfig","displayConfig","queryObject","height","colorPalette","onDataPointClick","drillEnabled","hoveredLegend","setHoveredLegend","useState","getFieldLabel","useCubeFieldLabel","safeDisplayConfig","jsx","jsxs","pieData","xAxisField","yAxisFields","seriesFields","chartData","transformChartDataWithSeries","firstRow","key","granularity","getFieldGranularity","item","name","formatTimeValue","originalLength","ChartContainer","RechartsPieChart","Pie","percent","sliceData","_index","event","_entry","index","Cell","CHART_COLORS","ChartTooltip","value","formatAxisValue","Legend","o","error"],"mappings":"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"}
@@ -1,129 +0,0 @@
1
- import { jsx as e, jsxs as h } from "react/jsx-runtime";
2
- import F, { useState as L } from "react";
3
- import { RadarChart as S, PolarGrid as R, PolarAngleAxis as j, PolarRadiusAxis as k, Legend as T, Radar as C } from "recharts";
4
- import { t as Y, g as z, d as E, a as G, f as g, b as D, c as v } from "./charts-core-BUUO36OM.js";
5
- const M = F.memo(function({
6
- data: n,
7
- chartConfig: c,
8
- displayConfig: p = {},
9
- queryObject: A,
10
- height: x = "100%",
11
- colorPalette: l
12
- }) {
13
- const [y, N] = L(null);
14
- try {
15
- const a = {
16
- showLegend: p?.showLegend ?? !0,
17
- showTooltip: p?.showTooltip ?? !0,
18
- showGrid: p?.showGrid ?? !0,
19
- leftYAxisFormat: p?.leftYAxisFormat
20
- };
21
- if (!n || n.length === 0)
22
- return /* @__PURE__ */ e("div", { className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted", style: { height: x }, children: /* @__PURE__ */ h("div", { className: "dc:text-center", children: [
23
- /* @__PURE__ */ e("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "No data available" }),
24
- /* @__PURE__ */ e("div", { className: "dc:text-xs text-dc-text-secondary", children: "No data points to display in radar chart" })
25
- ] }) });
26
- let m, f = [];
27
- if (c?.xAxis && c?.yAxis) {
28
- const t = Array.isArray(c.xAxis) ? c.xAxis[0] : c.xAxis, r = Array.isArray(c.yAxis) ? c.yAxis : [c.yAxis], i = c.series || [], { data: d, seriesKeys: s } = Y(
29
- n,
30
- t,
31
- r,
32
- A,
33
- i
34
- );
35
- m = d, f = s;
36
- } else {
37
- const t = n[0], r = Object.keys(t), i = r.find(
38
- (s) => typeof t[s] == "string" || s.toLowerCase().includes("subject") || s.toLowerCase().includes("name") || s.toLowerCase().includes("category")
39
- ) || r[0], d = r.filter(
40
- (s) => typeof t[s] == "number" && s !== i
41
- );
42
- if (d.length === 0)
43
- return /* @__PURE__ */ e("div", { className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-warning", style: { height: x }, children: /* @__PURE__ */ h("div", { className: "dc:text-center", children: [
44
- /* @__PURE__ */ e("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "Configuration Error" }),
45
- /* @__PURE__ */ e("div", { className: "dc:text-xs", children: "No numeric fields found for radar chart values" })
46
- ] }) });
47
- if (i) {
48
- const s = z(A, i);
49
- m = n.map((o) => {
50
- const w = {
51
- name: E(o[i], s) || String(o[i]) || "Unknown"
52
- };
53
- return d.forEach((u) => {
54
- const b = u.split(".").pop() || u;
55
- w[b] = typeof o[u] == "string" ? parseFloat(o[u]) : o[u] || 0;
56
- }), w;
57
- }), f = d.map((o) => o.split(".").pop() || o);
58
- } else
59
- m = n.map((s) => ({
60
- name: String(s[r[0]] || "Unknown"),
61
- value: typeof s[d[0]] == "string" ? parseFloat(s[d[0]]) : s[d[0]] || 0
62
- })), f = ["value"];
63
- }
64
- return !m || m.length === 0 ? /* @__PURE__ */ e("div", { className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted", style: { height: x }, children: /* @__PURE__ */ h("div", { className: "dc:text-center", children: [
65
- /* @__PURE__ */ e("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "No valid data" }),
66
- /* @__PURE__ */ e("div", { className: "dc:text-xs text-dc-text-secondary", children: "No valid data points for radar chart after transformation" })
67
- ] }) }) : /* @__PURE__ */ e(G, { height: x, children: /* @__PURE__ */ h(S, { data: m, margin: { top: 20, right: 80, bottom: 20, left: 80 }, accessibilityLayer: !1, children: [
68
- a.showGrid && /* @__PURE__ */ e(R, {}),
69
- /* @__PURE__ */ e(
70
- j,
71
- {
72
- dataKey: "name",
73
- tick: { fontSize: 12 },
74
- className: "text-dc-text-muted"
75
- }
76
- ),
77
- /* @__PURE__ */ e(
78
- k,
79
- {
80
- tick: { fontSize: 10 },
81
- className: "text-dc-text-muted",
82
- tickFormatter: a.leftYAxisFormat ? (t) => g(t, a.leftYAxisFormat) : void 0
83
- }
84
- ),
85
- a.showTooltip && /* @__PURE__ */ e(
86
- D,
87
- {
88
- formatter: a.leftYAxisFormat ? (t, r) => [g(t, a.leftYAxisFormat), r] : void 0
89
- }
90
- ),
91
- a.showLegend && f.length > 1 && /* @__PURE__ */ e(
92
- T,
93
- {
94
- wrapperStyle: { fontSize: "12px", paddingTop: "10px" },
95
- iconType: "rect",
96
- iconSize: 8,
97
- layout: "horizontal",
98
- align: "center",
99
- verticalAlign: "bottom",
100
- onMouseEnter: (t) => N(String(t.dataKey || "")),
101
- onMouseLeave: () => N(null)
102
- }
103
- ),
104
- f.map((t, r) => /* @__PURE__ */ e(
105
- C,
106
- {
107
- name: t,
108
- dataKey: t,
109
- stroke: l?.colors && l.colors[r % l.colors.length] || v[r % v.length],
110
- fill: l?.colors && l.colors[r % l.colors.length] || v[r % v.length],
111
- fillOpacity: y ? y === t ? 0.6 : 0.1 : 0.3,
112
- strokeOpacity: y ? y === t ? 1 : 0.3 : 1,
113
- strokeWidth: 2
114
- },
115
- t
116
- ))
117
- ] }) });
118
- } catch (a) {
119
- return /* @__PURE__ */ e("div", { className: "dc:flex dc:flex-col dc:items-center dc:justify-center dc:w-full text-dc-error dc:p-4", style: { height: x }, children: /* @__PURE__ */ h("div", { className: "dc:text-center", children: [
120
- /* @__PURE__ */ e("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "Radar Chart Error" }),
121
- /* @__PURE__ */ e("div", { className: "dc:text-xs dc:mb-2", children: a instanceof Error ? a.message : "Unknown rendering error" }),
122
- /* @__PURE__ */ e("div", { className: "dc:text-xs text-dc-text-muted", children: "Check the data and configuration" })
123
- ] }) });
124
- }
125
- });
126
- export {
127
- M as default
128
- };
129
- //# sourceMappingURL=chart-radar-BHZbeeTg.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chart-radar-BHZbeeTg.js","sources":["../../../src/client/components/charts/RadarChart.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { RadarChart as RechartsRadarChart, PolarGrid, PolarAngleAxis, PolarRadiusAxis, Radar, Legend } from 'recharts'\nimport ChartContainer from './ChartContainer'\nimport ChartTooltip from './ChartTooltip'\nimport { CHART_COLORS } from '../../utils/chartConstants'\nimport { transformChartDataWithSeries, formatTimeValue, getFieldGranularity, 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 [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 (\n <div className=\"dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">No data available</div>\n <div className=\"dc:text-xs text-dc-text-secondary\">No data points to display in radar chart</div>\n </div>\n </div>\n )\n }\n\n let radarData: any[]\n let seriesKeys: string[] = []\n\n if (chartConfig?.xAxis && chartConfig?.yAxis) {\n // New format - use chart config\n const xAxisField = Array.isArray(chartConfig.xAxis) ? chartConfig.xAxis[0] : chartConfig.xAxis // Subject/category field\n const yAxisFields = Array.isArray(chartConfig.yAxis) ? chartConfig.yAxis : [chartConfig.yAxis] // Value fields\n const seriesFields = chartConfig.series || []\n\n // Use shared function to transform data and handle series\n const { data: chartData, seriesKeys: transformedSeriesKeys } = transformChartDataWithSeries(\n data, \n xAxisField, \n yAxisFields, \n queryObject,\n seriesFields\n )\n \n radarData = chartData\n seriesKeys = transformedSeriesKeys\n } else {\n // Legacy format or auto-detection - try to find suitable fields\n const firstRow = data[0]\n const keys = Object.keys(firstRow)\n \n // Try to find subject/category field\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 // Find numeric fields for values\n const valueFields = keys.filter(key => \n typeof firstRow[key] === 'number' && key !== subjectField\n )\n\n if (valueFields.length === 0) {\n return (\n <div className=\"dc:flex dc:items-center dc:justify-center dc:w-full text-dc-warning\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">Configuration Error</div>\n <div className=\"dc:text-xs\">No numeric fields found for radar chart values</div>\n </div>\n </div>\n )\n }\n\n // Transform data for radar chart\n if (subjectField) {\n // Use subject field for radar categories\n const granularity = getFieldGranularity(queryObject, subjectField)\n radarData = data.map(item => {\n const transformedItem: any = {\n name: formatTimeValue(item[subjectField], granularity) || String(item[subjectField]) || 'Unknown'\n }\n \n valueFields.forEach(field => {\n const displayName = field.split('.').pop() || field\n transformedItem[displayName] = typeof item[field] === 'string' \n ? parseFloat(item[field]) \n : (item[field] || 0)\n })\n \n return transformedItem\n })\n \n seriesKeys = valueFields.map(field => field.split('.').pop() || field)\n } else {\n // Fallback - use first value field only\n radarData = data.map(item => ({\n name: String(item[keys[0]] || 'Unknown'),\n value: typeof item[valueFields[0]] === 'string' \n ? parseFloat(item[valueFields[0]]) \n : (item[valueFields[0]] || 0)\n }))\n seriesKeys = ['value']\n }\n }\n \n // Validate transformed data\n if (!radarData || radarData.length === 0) {\n return (\n <div className=\"dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">No valid data</div>\n <div className=\"dc:text-xs text-dc-text-secondary\">No valid data points for radar chart after transformation</div>\n </div>\n </div>\n )\n }\n\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={safeDisplayConfig.leftYAxisFormat\n ? (value: any) => formatAxisValue(value, safeDisplayConfig.leftYAxisFormat)\n : undefined\n }\n />\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 && 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 <Radar\n key={seriesKey}\n name={seriesKey}\n dataKey={seriesKey}\n stroke={(colorPalette?.colors && colorPalette.colors[index % colorPalette.colors.length]) || CHART_COLORS[index % CHART_COLORS.length]}\n fill={(colorPalette?.colors && colorPalette.colors[index % colorPalette.colors.length]) || CHART_COLORS[index % CHART_COLORS.length]}\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 </RechartsRadarChart>\n </ChartContainer>\n )\n } catch (error) {\n // 'RadarChart rendering error\n return (\n <div className=\"dc:flex dc:flex-col dc:items-center dc:justify-center dc:w-full text-dc-error dc:p-4\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">Radar Chart Error</div>\n <div className=\"dc:text-xs dc:mb-2\">{error instanceof Error ? error.message : 'Unknown rendering error'}</div>\n <div className=\"dc:text-xs text-dc-text-muted\">Check the data and configuration</div>\n </div>\n </div>\n )\n }\n})\n\nexport default RadarChart"],"names":["RadarChart","React","data","chartConfig","displayConfig","queryObject","height","colorPalette","hoveredLegend","setHoveredLegend","useState","safeDisplayConfig","jsx","jsxs","radarData","seriesKeys","xAxisField","yAxisFields","seriesFields","chartData","transformedSeriesKeys","transformChartDataWithSeries","firstRow","keys","subjectField","key","valueFields","granularity","getFieldGranularity","item","transformedItem","formatTimeValue","field","displayName","ChartContainer","RechartsRadarChart","PolarGrid","PolarAngleAxis","PolarRadiusAxis","value","formatAxisValue","ChartTooltip","name","Legend","o","seriesKey","index","Radar","CHART_COLORS","error"],"mappings":"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"}
@@ -1,119 +0,0 @@
1
- import { jsx as t, jsxs as m } from "react/jsx-runtime";
2
- import N, { useState as g } from "react";
3
- import { RadialBarChart as w, Legend as F, RadialBar as R, Cell as L } from "recharts";
4
- import { g as S, c as u, d as C, a as T, b as j, f as A } from "./charts-core-BUUO36OM.js";
5
- const _ = N.memo(function({
6
- data: o,
7
- chartConfig: d,
8
- displayConfig: v = {},
9
- queryObject: b,
10
- height: f = "100%",
11
- colorPalette: n
12
- }) {
13
- const [h, p] = g(null);
14
- try {
15
- const i = {
16
- showLegend: v?.showLegend ?? !0,
17
- showTooltip: v?.showTooltip ?? !0,
18
- leftYAxisFormat: v?.leftYAxisFormat
19
- };
20
- if (!o || o.length === 0)
21
- return /* @__PURE__ */ t("div", { className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted", style: { height: f }, children: /* @__PURE__ */ m("div", { className: "dc:text-center", children: [
22
- /* @__PURE__ */ t("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "No data available" }),
23
- /* @__PURE__ */ t("div", { className: "dc:text-xs text-dc-text-secondary", children: "No data points to display in radial bar chart" })
24
- ] }) });
25
- let c;
26
- if (d?.xAxis && d?.yAxis) {
27
- const e = Array.isArray(d.xAxis) ? d.xAxis[0] : d.xAxis, r = Array.isArray(d.yAxis) ? d.yAxis[0] : d.yAxis, x = S(b, e);
28
- c = o.map((l, a) => ({
29
- name: C(l[e], x) || String(l[e]) || "Unknown",
30
- value: typeof l[r] == "string" ? parseFloat(l[r]) : l[r] || 0,
31
- fill: n?.colors && n.colors[a % n.colors.length] || u[a % u.length]
32
- }));
33
- } else {
34
- const e = o[0], r = Object.keys(e), x = r.find(
35
- (a) => typeof e[a] == "string" || a.toLowerCase().includes("name") || a.toLowerCase().includes("label") || a.toLowerCase().includes("category")
36
- ) || r[0], l = r.find(
37
- (a) => typeof e[a] == "number" && a !== x
38
- ) || r[1];
39
- if (!l)
40
- return /* @__PURE__ */ t("div", { className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-warning", style: { height: f }, children: /* @__PURE__ */ m("div", { className: "dc:text-center", children: [
41
- /* @__PURE__ */ t("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "Configuration Error" }),
42
- /* @__PURE__ */ t("div", { className: "dc:text-xs", children: "No numeric field found for radial bar chart values" })
43
- ] }) });
44
- c = o.map((a, y) => {
45
- let s = a[x];
46
- return typeof s == "boolean" ? s = s ? "Active" : "Inactive" : s === "true" || s === "false" ? s = s === "true" ? "Active" : "Inactive" : s = String(s), {
47
- name: s,
48
- value: typeof a[l] == "string" ? parseFloat(a[l]) : a[l] || 0,
49
- fill: n?.colors && n.colors[y % n.colors.length] || u[y % u.length]
50
- };
51
- });
52
- }
53
- return c = c.filter((e) => e.value != null && e.value !== 0), c.length === 0 ? /* @__PURE__ */ t("div", { className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted", style: { height: f }, children: /* @__PURE__ */ m("div", { className: "dc:text-center", children: [
54
- /* @__PURE__ */ t("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "No valid data" }),
55
- /* @__PURE__ */ t("div", { className: "dc:text-xs text-dc-text-secondary", children: "No valid data points for radial bar chart after transformation" })
56
- ] }) }) : /* @__PURE__ */ t(T, { height: f, children: /* @__PURE__ */ m(
57
- w,
58
- {
59
- data: c,
60
- innerRadius: "10%",
61
- outerRadius: "80%",
62
- margin: { top: 20, right: 30, bottom: 20, left: 30 },
63
- accessibilityLayer: !1,
64
- children: [
65
- i.showTooltip && /* @__PURE__ */ t(
66
- j,
67
- {
68
- formatter: i.leftYAxisFormat ? (e, r) => [A(e, i.leftYAxisFormat), r] : void 0
69
- }
70
- ),
71
- i.showLegend && /* @__PURE__ */ t(
72
- F,
73
- {
74
- wrapperStyle: { fontSize: "12px", paddingTop: "10px" },
75
- iconType: "circle",
76
- iconSize: 8,
77
- layout: "horizontal",
78
- align: "center",
79
- verticalAlign: "bottom",
80
- onMouseEnter: (e) => p(String(e.value || "")),
81
- onMouseLeave: () => p(null)
82
- }
83
- ),
84
- /* @__PURE__ */ t(
85
- R,
86
- {
87
- dataKey: "value",
88
- cornerRadius: 4,
89
- label: {
90
- position: "insideStart",
91
- fill: "#fff",
92
- fontSize: 12,
93
- formatter: i.leftYAxisFormat ? (e) => A(e, i.leftYAxisFormat) : void 0
94
- },
95
- children: c.map((e, r) => /* @__PURE__ */ t(
96
- L,
97
- {
98
- fill: e.fill,
99
- fillOpacity: h ? h === e.name ? 1 : 0.3 : 1
100
- },
101
- `cell-${r}`
102
- ))
103
- }
104
- )
105
- ]
106
- }
107
- ) });
108
- } catch (i) {
109
- return /* @__PURE__ */ t("div", { className: "dc:flex dc:flex-col dc:items-center dc:justify-center dc:w-full text-dc-error dc:p-4", style: { height: f }, children: /* @__PURE__ */ m("div", { className: "dc:text-center", children: [
110
- /* @__PURE__ */ t("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "Radial Bar Chart Error" }),
111
- /* @__PURE__ */ t("div", { className: "dc:text-xs dc:mb-2", children: i instanceof Error ? i.message : "Unknown rendering error" }),
112
- /* @__PURE__ */ t("div", { className: "dc:text-xs text-dc-text-muted", children: "Check the data and configuration" })
113
- ] }) });
114
- }
115
- });
116
- export {
117
- _ as default
118
- };
119
- //# sourceMappingURL=chart-radial-bar-AlEJC1Jo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chart-radial-bar-AlEJC1Jo.js","sources":["../../../src/client/components/charts/RadialBarChart.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { RadialBarChart as RechartsRadialBarChart, RadialBar, Legend, Cell } from 'recharts'\nimport ChartContainer from './ChartContainer'\nimport ChartTooltip from './ChartTooltip'\nimport { CHART_COLORS } from '../../utils/chartConstants'\nimport { formatTimeValue, getFieldGranularity, 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 [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 (\n <div className=\"dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">No data available</div>\n <div className=\"dc:text-xs text-dc-text-secondary\">No data points to display in radial bar chart</div>\n </div>\n </div>\n )\n }\n\n let radialData: Array<{name: string, value: number, fill?: string}>\n\n if (chartConfig?.xAxis && chartConfig?.yAxis) {\n // New format - use chart config\n const xAxisField = Array.isArray(chartConfig.xAxis) ? chartConfig.xAxis[0] : chartConfig.xAxis // Name/category field\n const yAxisField = Array.isArray(chartConfig.yAxis) ? chartConfig.yAxis[0] : chartConfig.yAxis // Value field\n\n const granularity = getFieldGranularity(queryObject, xAxisField)\n radialData = data.map((item, index) => ({\n name: formatTimeValue(item[xAxisField], granularity) || String(item[xAxisField]) || 'Unknown',\n value: typeof item[yAxisField] === 'string' \n ? parseFloat(item[yAxisField]) \n : (item[yAxisField] || 0),\n fill: (colorPalette?.colors && colorPalette.colors[index % colorPalette.colors.length]) || CHART_COLORS[index % CHART_COLORS.length]\n }))\n } else {\n // Legacy format or auto-detection\n const firstRow = data[0]\n const keys = Object.keys(firstRow)\n \n // Try to find name/label field\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 // Find a numeric field for values\n const valueField = keys.find(key => \n typeof firstRow[key] === 'number' && key !== nameField\n ) || keys[1]\n\n if (!valueField) {\n return (\n <div className=\"dc:flex dc:items-center dc:justify-center dc:w-full text-dc-warning\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">Configuration Error</div>\n <div className=\"dc:text-xs\">No numeric field found for radial bar chart values</div>\n </div>\n </div>\n )\n }\n\n // Transform data for radial bar chart\n radialData = data.map((item, index) => {\n let name = item[nameField]\n // Handle boolean values with better labels\n if (typeof name === 'boolean') {\n name = name ? 'Active' : 'Inactive'\n } else if (name === 'true' || name === 'false') {\n name = name === 'true' ? 'Active' : 'Inactive'\n } else {\n name = String(name)\n }\n return {\n name,\n value: typeof item[valueField] === 'string' \n ? parseFloat(item[valueField]) \n : (item[valueField] || 0),\n fill: (colorPalette?.colors && colorPalette.colors[index % colorPalette.colors.length]) || CHART_COLORS[index % CHART_COLORS.length]\n }\n })\n }\n\n // Filter out zero/null values\n radialData = radialData.filter(item => item.value != null && item.value !== 0)\n \n if (radialData.length === 0) {\n return (\n <div className=\"dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">No valid data</div>\n <div className=\"dc:text-xs text-dc-text-secondary\">No valid data points for radial bar chart after transformation</div>\n </div>\n </div>\n )\n }\n\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={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 <RadialBar\n dataKey=\"value\"\n cornerRadius={4}\n label={{\n position: 'insideStart',\n fill: '#fff',\n fontSize: 12,\n formatter: safeDisplayConfig.leftYAxisFormat\n ? (value: any) => formatAxisValue(value, safeDisplayConfig.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 // 'RadialBarChart rendering error\n return (\n <div className=\"dc:flex dc:flex-col dc:items-center dc:justify-center dc:w-full text-dc-error dc:p-4\" style={{ height }}>\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">Radial Bar Chart Error</div>\n <div className=\"dc:text-xs dc:mb-2\">{error instanceof Error ? error.message : 'Unknown rendering error'}</div>\n <div className=\"dc:text-xs text-dc-text-muted\">Check the data and configuration</div>\n </div>\n </div>\n )\n }\n})\n\nexport default RadialBarChart"],"names":["RadialBarChart","React","data","chartConfig","displayConfig","queryObject","height","colorPalette","hoveredLegend","setHoveredLegend","useState","safeDisplayConfig","jsx","jsxs","radialData","xAxisField","yAxisField","granularity","getFieldGranularity","item","index","formatTimeValue","CHART_COLORS","firstRow","keys","nameField","key","valueField","name","ChartContainer","RechartsRadialBarChart","ChartTooltip","value","formatAxisValue","Legend","o","RadialBar","entry","Cell","error"],"mappings":"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"}