drizzle-cube 0.4.29 → 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 (381) 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 -129
  198. package/dist/server/index.js +15089 -34394
  199. package/dist/server/openai-BPhmb8mi.js +4114 -0
  200. package/dist/server/openai-CLsoLaue.cjs +1 -0
  201. package/dist/server/openai-D1kZ5sdM.js +153 -0
  202. package/dist/server/openai-DkOKbVLC.cjs +16 -0
  203. package/package.json +5 -5
  204. package/dist/adapters/anthropic-BTkjgFpT.cjs +0 -1
  205. package/dist/adapters/anthropic-CTu9E801.js +0 -126
  206. package/dist/adapters/google-BAK9pnQf.cjs +0 -2
  207. package/dist/adapters/google-DficVAsJ.js +0 -146
  208. package/dist/adapters/handler-BHguLZOY.js +0 -2713
  209. package/dist/adapters/handler-DOIyiFPg.cjs +0 -39
  210. package/dist/adapters/index-BgCeQBuN.cjs +0 -2
  211. package/dist/adapters/index-C3PskWTr.js +0 -5353
  212. package/dist/adapters/index-C45_meK_.js +0 -719
  213. package/dist/adapters/index-ht4NPca9.cjs +0 -23
  214. package/dist/adapters/mcp-transport-CWGqDQSI.cjs +0 -259
  215. package/dist/adapters/mcp-transport-CyeHMDPl.js +0 -11055
  216. package/dist/adapters/openai-BvA6eLs8.cjs +0 -1
  217. package/dist/adapters/openai-mcE24du8.js +0 -131
  218. package/dist/client/charts.js.map +0 -1
  219. package/dist/client/chunks/RetentionCombinedChart--SnU4Y_I.js +0 -256
  220. package/dist/client/chunks/RetentionCombinedChart--SnU4Y_I.js.map +0 -1
  221. package/dist/client/chunks/RetentionCombinedChart.config-Bbp2ghim.js +0 -48
  222. package/dist/client/chunks/RetentionCombinedChart.config-Bbp2ghim.js.map +0 -1
  223. package/dist/client/chunks/RetentionHeatmap-BHYU8MXY.js +0 -178
  224. package/dist/client/chunks/RetentionHeatmap-BHYU8MXY.js.map +0 -1
  225. package/dist/client/chunks/RetentionHeatmap.config-BWf_-vdj.js +0 -29
  226. package/dist/client/chunks/RetentionHeatmap.config-BWf_-vdj.js.map +0 -1
  227. package/dist/client/chunks/analysis-builder-DMFoAkjT.js +0 -6203
  228. package/dist/client/chunks/analysis-builder-DMFoAkjT.js.map +0 -1
  229. package/dist/client/chunks/analysis-builder-shared-CunrT3gi.js +0 -3140
  230. package/dist/client/chunks/analysis-builder-shared-CunrT3gi.js.map +0 -1
  231. package/dist/client/chunks/chart-activity-grid-DCznpK6N.js +0 -347
  232. package/dist/client/chunks/chart-activity-grid-DCznpK6N.js.map +0 -1
  233. package/dist/client/chunks/chart-area-CqKRIUpj.js +0 -234
  234. package/dist/client/chunks/chart-area-CqKRIUpj.js.map +0 -1
  235. package/dist/client/chunks/chart-bar-Bl5jvrU_.js +0 -267
  236. package/dist/client/chunks/chart-bar-Bl5jvrU_.js.map +0 -1
  237. package/dist/client/chunks/chart-box-plot-CzMb00z_.js +0 -322
  238. package/dist/client/chunks/chart-box-plot-CzMb00z_.js.map +0 -1
  239. package/dist/client/chunks/chart-bubble-BF8Z52eW.js +0 -249
  240. package/dist/client/chunks/chart-bubble-BF8Z52eW.js.map +0 -1
  241. package/dist/client/chunks/chart-candlestick-ByWS945g.js +0 -269
  242. package/dist/client/chunks/chart-candlestick-ByWS945g.js.map +0 -1
  243. package/dist/client/chunks/chart-config-activity-grid-CmOqDuOT.js +0 -50
  244. package/dist/client/chunks/chart-config-activity-grid-CmOqDuOT.js.map +0 -1
  245. package/dist/client/chunks/chart-config-area-CK_GVApT.js +0 -77
  246. package/dist/client/chunks/chart-config-area-CK_GVApT.js.map +0 -1
  247. package/dist/client/chunks/chart-config-bar-C8uzktxl.js +0 -71
  248. package/dist/client/chunks/chart-config-bar-C8uzktxl.js.map +0 -1
  249. package/dist/client/chunks/chart-config-box-plot-D_E_SSc2.js +0 -38
  250. package/dist/client/chunks/chart-config-box-plot-D_E_SSc2.js.map +0 -1
  251. package/dist/client/chunks/chart-config-bubble-q3DoQX5F.js +0 -71
  252. package/dist/client/chunks/chart-config-bubble-q3DoQX5F.js.map +0 -1
  253. package/dist/client/chunks/chart-config-candlestick-CRCpD43-.js +0 -70
  254. package/dist/client/chunks/chart-config-candlestick-CRCpD43-.js.map +0 -1
  255. package/dist/client/chunks/chart-config-data-table-B20Y5JCm.js +0 -28
  256. package/dist/client/chunks/chart-config-data-table-B20Y5JCm.js.map +0 -1
  257. package/dist/client/chunks/chart-config-funnel-3eYnGg8M.js +0 -92
  258. package/dist/client/chunks/chart-config-funnel-3eYnGg8M.js.map +0 -1
  259. package/dist/client/chunks/chart-config-gauge-CQx9w3d4.js +0 -64
  260. package/dist/client/chunks/chart-config-gauge-CQx9w3d4.js.map +0 -1
  261. package/dist/client/chunks/chart-config-heat-map-_wEnTnRA.js +0 -77
  262. package/dist/client/chunks/chart-config-heat-map-_wEnTnRA.js.map +0 -1
  263. package/dist/client/chunks/chart-config-kpi-delta-DLGZ2A3X.js +0 -97
  264. package/dist/client/chunks/chart-config-kpi-delta-DLGZ2A3X.js.map +0 -1
  265. package/dist/client/chunks/chart-config-kpi-number-K-wzviXF.js +0 -75
  266. package/dist/client/chunks/chart-config-kpi-number-K-wzviXF.js.map +0 -1
  267. package/dist/client/chunks/chart-config-kpi-text-BjYqwqaJ.js +0 -47
  268. package/dist/client/chunks/chart-config-kpi-text-BjYqwqaJ.js.map +0 -1
  269. package/dist/client/chunks/chart-config-line-JNagi9tf.js +0 -88
  270. package/dist/client/chunks/chart-config-line-JNagi9tf.js.map +0 -1
  271. package/dist/client/chunks/chart-config-markdown-BWQSjJpy.js +0 -97
  272. package/dist/client/chunks/chart-config-markdown-BWQSjJpy.js.map +0 -1
  273. package/dist/client/chunks/chart-config-measure-profile-ZYaMrtws.js +0 -70
  274. package/dist/client/chunks/chart-config-measure-profile-ZYaMrtws.js.map +0 -1
  275. package/dist/client/chunks/chart-config-pie-CNLXb-fr.js +0 -39
  276. package/dist/client/chunks/chart-config-pie-CNLXb-fr.js.map +0 -1
  277. package/dist/client/chunks/chart-config-radar-oxHfRAa3.js +0 -44
  278. package/dist/client/chunks/chart-config-radar-oxHfRAa3.js.map +0 -1
  279. package/dist/client/chunks/chart-config-radial-bar-_Aw3jAEm.js +0 -37
  280. package/dist/client/chunks/chart-config-radial-bar-_Aw3jAEm.js.map +0 -1
  281. package/dist/client/chunks/chart-config-sankey-C8FX9hGF.js +0 -61
  282. package/dist/client/chunks/chart-config-sankey-C8FX9hGF.js.map +0 -1
  283. package/dist/client/chunks/chart-config-scatter-DFKM80eO.js +0 -53
  284. package/dist/client/chunks/chart-config-scatter-DFKM80eO.js.map +0 -1
  285. package/dist/client/chunks/chart-config-sunburst-BmC0NLTU.js +0 -50
  286. package/dist/client/chunks/chart-config-sunburst-BmC0NLTU.js.map +0 -1
  287. package/dist/client/chunks/chart-config-tree-map-DGMbNTaa.js +0 -47
  288. package/dist/client/chunks/chart-config-tree-map-DGMbNTaa.js.map +0 -1
  289. package/dist/client/chunks/chart-config-waterfall-DTyXV_fo.js +0 -60
  290. package/dist/client/chunks/chart-config-waterfall-DTyXV_fo.js.map +0 -1
  291. package/dist/client/chunks/chart-data-table-HwfF-Ujv.js +0 -293
  292. package/dist/client/chunks/chart-data-table-HwfF-Ujv.js.map +0 -1
  293. package/dist/client/chunks/chart-funnel-WmuoWlCq.js +0 -259
  294. package/dist/client/chunks/chart-funnel-WmuoWlCq.js.map +0 -1
  295. package/dist/client/chunks/chart-gauge-Cot4By-w.js +0 -374
  296. package/dist/client/chunks/chart-gauge-Cot4By-w.js.map +0 -1
  297. package/dist/client/chunks/chart-heat-map-bGNtsZMr.js +0 -231
  298. package/dist/client/chunks/chart-heat-map-bGNtsZMr.js.map +0 -1
  299. package/dist/client/chunks/chart-kpi-delta-DeyKMxgq.js +0 -351
  300. package/dist/client/chunks/chart-kpi-delta-DeyKMxgq.js.map +0 -1
  301. package/dist/client/chunks/chart-kpi-number-D1z1gxXO.js +0 -476
  302. package/dist/client/chunks/chart-kpi-number-D1z1gxXO.js.map +0 -1
  303. package/dist/client/chunks/chart-kpi-text-b7q6KWc0.js +0 -165
  304. package/dist/client/chunks/chart-kpi-text-b7q6KWc0.js.map +0 -1
  305. package/dist/client/chunks/chart-line-3Nf-EPqJ.js +0 -450
  306. package/dist/client/chunks/chart-line-3Nf-EPqJ.js.map +0 -1
  307. package/dist/client/chunks/chart-markdown-BT_-MBq1.js +0 -2721
  308. package/dist/client/chunks/chart-markdown-BT_-MBq1.js.map +0 -1
  309. package/dist/client/chunks/chart-measure-profile-BVjUonqU.js +0 -114
  310. package/dist/client/chunks/chart-measure-profile-BVjUonqU.js.map +0 -1
  311. package/dist/client/chunks/chart-pie-DblG6w7g.js +0 -137
  312. package/dist/client/chunks/chart-pie-DblG6w7g.js.map +0 -1
  313. package/dist/client/chunks/chart-radar-BHZbeeTg.js +0 -129
  314. package/dist/client/chunks/chart-radar-BHZbeeTg.js.map +0 -1
  315. package/dist/client/chunks/chart-radial-bar-AlEJC1Jo.js +0 -119
  316. package/dist/client/chunks/chart-radial-bar-AlEJC1Jo.js.map +0 -1
  317. package/dist/client/chunks/chart-sankey-E8vYKjQF.js +0 -189
  318. package/dist/client/chunks/chart-sankey-E8vYKjQF.js.map +0 -1
  319. package/dist/client/chunks/chart-scatter-Bbxqi0iw.js +0 -202
  320. package/dist/client/chunks/chart-scatter-Bbxqi0iw.js.map +0 -1
  321. package/dist/client/chunks/chart-sunburst-BgnTKolT.js +0 -188
  322. package/dist/client/chunks/chart-sunburst-BgnTKolT.js.map +0 -1
  323. package/dist/client/chunks/chart-tree-map-i9LGCLwl.js +0 -284
  324. package/dist/client/chunks/chart-tree-map-i9LGCLwl.js.map +0 -1
  325. package/dist/client/chunks/chart-waterfall-BeIhCm83.js +0 -191
  326. package/dist/client/chunks/chart-waterfall-BeIhCm83.js.map +0 -1
  327. package/dist/client/chunks/charts-core-BUUO36OM.js +0 -692
  328. package/dist/client/chunks/charts-core-BUUO36OM.js.map +0 -1
  329. package/dist/client/chunks/charts-loader-goTYnavu.js +0 -258
  330. package/dist/client/chunks/charts-loader-goTYnavu.js.map +0 -1
  331. package/dist/client/chunks/components-BFgYvFq6.js +0 -10066
  332. package/dist/client/chunks/components-BFgYvFq6.js.map +0 -1
  333. package/dist/client/chunks/core-Y9e-sNfb.js +0 -1068
  334. package/dist/client/chunks/core-Y9e-sNfb.js.map +0 -1
  335. package/dist/client/chunks/flow-utils-CjQZG5qq.js +0 -16
  336. package/dist/client/chunks/flow-utils-CjQZG5qq.js.map +0 -1
  337. package/dist/client/chunks/funnel-utils-CyonoNeC.js +0 -135
  338. package/dist/client/chunks/funnel-utils-CyonoNeC.js.map +0 -1
  339. package/dist/client/chunks/icons-CwvgmdIP.js +0 -1636
  340. package/dist/client/chunks/icons-CwvgmdIP.js.map +0 -1
  341. package/dist/client/chunks/index-CApFCBF9.js +0 -81
  342. package/dist/client/chunks/index-CApFCBF9.js.map +0 -1
  343. package/dist/client/chunks/index-_2PSgbkC.js +0 -1046
  344. package/dist/client/chunks/index-_2PSgbkC.js.map +0 -1
  345. package/dist/client/chunks/javascript-DII1YQGr.js +0 -659
  346. package/dist/client/chunks/javascript-DII1YQGr.js.map +0 -1
  347. package/dist/client/chunks/json-C_6Prymp.js +0 -39
  348. package/dist/client/chunks/json-C_6Prymp.js.map +0 -1
  349. package/dist/client/chunks/providers-Ds7DRmnO.js +0 -554
  350. package/dist/client/chunks/providers-Ds7DRmnO.js.map +0 -1
  351. package/dist/client/chunks/retention-CzCo8262.js +0 -120
  352. package/dist/client/chunks/retention-CzCo8262.js.map +0 -1
  353. package/dist/client/chunks/schema-visualization-B97a1Ybu.js +0 -772
  354. package/dist/client/chunks/schema-visualization-B97a1Ybu.js.map +0 -1
  355. package/dist/client/chunks/sql-IeKX8fQ8.js +0 -616
  356. package/dist/client/chunks/sql-IeKX8fQ8.js.map +0 -1
  357. package/dist/client/chunks/syntaxHighlighting-DAMSW_A6.js +0 -34
  358. package/dist/client/chunks/syntaxHighlighting-DAMSW_A6.js.map +0 -1
  359. package/dist/client/chunks/theme-Dp3hFed1.js +0 -112
  360. package/dist/client/chunks/theme-Dp3hFed1.js.map +0 -1
  361. package/dist/client/chunks/useDirtyStateTracking-CyAXd07d.js +0 -1231
  362. package/dist/client/chunks/useDirtyStateTracking-CyAXd07d.js.map +0 -1
  363. package/dist/client/chunks/useExplainAI-CfQ_JmF1.js +0 -182
  364. package/dist/client/chunks/useExplainAI-CfQ_JmF1.js.map +0 -1
  365. package/dist/client/chunks/vendor-B2EH3V58.js +0 -2892
  366. package/dist/client/chunks/vendor-B2EH3V58.js.map +0 -1
  367. package/dist/client/components.js.map +0 -1
  368. package/dist/client/hooks.js.map +0 -1
  369. package/dist/client/icons.js.map +0 -1
  370. package/dist/client/providers.js.map +0 -1
  371. package/dist/client/utils.js.map +0 -1
  372. package/dist/server/anthropic-BTkjgFpT.cjs +0 -1
  373. package/dist/server/anthropic-CTu9E801.js +0 -126
  374. package/dist/server/google-BAK9pnQf.cjs +0 -2
  375. package/dist/server/google-DficVAsJ.js +0 -146
  376. package/dist/server/index-BgCeQBuN.cjs +0 -2
  377. package/dist/server/index-C3PskWTr.js +0 -5353
  378. package/dist/server/index-C45_meK_.js +0 -719
  379. package/dist/server/index-ht4NPca9.cjs +0 -23
  380. package/dist/server/openai-BvA6eLs8.cjs +0 -1
  381. package/dist/server/openai-mcE24du8.js +0 -131
@@ -1,178 +0,0 @@
1
- import { jsx as t, jsxs as d } from "react/jsx-runtime";
2
- import z, { useState as M, useMemo as y } from "react";
3
- import { i as A } from "./retention-CzCo8262.js";
4
- function v(o) {
5
- return `rgba(34, 197, 94, ${0.1 + Math.max(0, Math.min(1, o)) * 0.7})`;
6
- }
7
- function L(o) {
8
- return o > 0.5 ? "#ffffff" : "var(--dc-text)";
9
- }
10
- function N(o) {
11
- if (/^\d{4}-\d{2}$/.test(o))
12
- return o;
13
- const r = new Date(o);
14
- return isNaN(r.getTime()) ? o : r.toLocaleDateString("en-US", { year: "numeric", month: "short" });
15
- }
16
- function w(o) {
17
- return `${Math.round(o * 100)}%`;
18
- }
19
- const P = z.memo(function({
20
- data: r,
21
- height: u = "100%",
22
- displayConfig: R
23
- }) {
24
- const [l, p] = M(null), h = y(() => {
25
- if (!r) return null;
26
- if (A(r))
27
- return r;
28
- if (Array.isArray(r) && r.length > 0) {
29
- const e = r, i = [...new Set(e.map((c) => c.breakdownValue || "All Users"))].sort(), n = [...new Set(e.map((c) => c.period))].sort((c, s) => c - s);
30
- return {
31
- rows: e,
32
- breakdownValues: i.length > 1 || i[0] !== "All Users" ? i : void 0,
33
- periods: n
34
- };
35
- }
36
- return null;
37
- }, [r]), x = y(() => {
38
- if (!h) return null;
39
- const { rows: e, breakdownValues: i, periods: n } = h, c = i || ["All Users"], s = /* @__PURE__ */ new Map();
40
- for (const a of e) {
41
- const m = a.breakdownValue || "All Users";
42
- s.set(`${m}:${a.period}`, a);
43
- }
44
- return c.map((a) => {
45
- const m = n.map((k) => s.get(`${a}:${k}`) || null), f = m[0]?.cohortSize ?? 0;
46
- return {
47
- cohort: a,
48
- // Keep 'cohort' key for compatibility with rendering
49
- cohortSize: f,
50
- periods: m
51
- };
52
- });
53
- }, [h]), S = (e, i, n, c) => {
54
- if (!c) return;
55
- const s = e.currentTarget.getBoundingClientRect();
56
- p({
57
- cohort: i,
58
- period: n,
59
- cohortSize: c.cohortSize,
60
- retainedUsers: c.retainedUsers,
61
- retentionRate: c.retentionRate,
62
- x: s.left + s.width / 2,
63
- y: s.top
64
- });
65
- }, C = () => {
66
- p(null);
67
- };
68
- if (!r || Array.isArray(r) && r.length === 0)
69
- return /* @__PURE__ */ t(
70
- "div",
71
- {
72
- className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted",
73
- style: { height: u },
74
- children: /* @__PURE__ */ d("div", { className: "dc:text-center", children: [
75
- /* @__PURE__ */ t("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "No data available" }),
76
- /* @__PURE__ */ t("div", { className: "dc:text-xs text-dc-text-secondary", children: "Configure retention analysis to see results" })
77
- ] })
78
- }
79
- );
80
- if (!x || x.length === 0)
81
- return /* @__PURE__ */ t(
82
- "div",
83
- {
84
- className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted",
85
- style: { height: u },
86
- children: /* @__PURE__ */ d("div", { className: "dc:text-center", children: [
87
- /* @__PURE__ */ t("div", { className: "dc:text-sm dc:font-semibold dc:mb-1", children: "Unable to render retention data" }),
88
- /* @__PURE__ */ t("div", { className: "dc:text-xs text-dc-text-secondary", children: "Data format may be incorrect" })
89
- ] })
90
- }
91
- );
92
- const b = h?.periods ?? [], U = R?.showLegend ?? !0;
93
- return /* @__PURE__ */ d("div", { className: "dc:relative dc:w-full dc:h-full dc:overflow-auto", style: { height: u }, children: [
94
- /* @__PURE__ */ d("table", { className: "dc:w-full dc:border-collapse dc:text-sm", children: [
95
- /* @__PURE__ */ t("thead", { className: "dc:sticky dc:top-0 bg-dc-bg dc:z-10", children: /* @__PURE__ */ d("tr", { children: [
96
- /* @__PURE__ */ t("th", { className: "dc:text-left dc:p-2 dc:font-medium text-dc-text dc:border-b border-dc-border dc:min-w-[100px]", children: "Cohort" }),
97
- /* @__PURE__ */ t("th", { className: "dc:text-right dc:p-2 dc:font-medium text-dc-text dc:border-b border-dc-border dc:min-w-[80px]", children: "Users" }),
98
- b.map((e) => /* @__PURE__ */ d(
99
- "th",
100
- {
101
- className: "dc:text-center dc:p-2 dc:font-medium text-dc-text dc:border-b border-dc-border dc:min-w-[60px]",
102
- children: [
103
- "P",
104
- e
105
- ]
106
- },
107
- e
108
- ))
109
- ] }) }),
110
- /* @__PURE__ */ t("tbody", { children: x.map((e, i) => /* @__PURE__ */ d("tr", { className: i % 2 === 0 ? "bg-dc-bg" : "bg-dc-surface-secondary", children: [
111
- /* @__PURE__ */ t("td", { className: "dc:p-2 dc:font-medium text-dc-text dc:border-b border-dc-border dc:whitespace-nowrap", children: N(e.cohort) }),
112
- /* @__PURE__ */ t("td", { className: "dc:p-2 dc:text-right text-dc-text-secondary dc:border-b border-dc-border", children: e.cohortSize.toLocaleString() }),
113
- e.periods.map((n, c) => {
114
- const s = b[c], a = n?.retentionRate ?? 0, m = n ? v(a) : "transparent", g = n ? L(a) : "var(--dc-text-muted)";
115
- return /* @__PURE__ */ t(
116
- "td",
117
- {
118
- className: "dc:p-2 dc:text-center dc:border-b border-dc-border dc:cursor-default dc:transition-opacity dc:hover:opacity-80",
119
- style: { backgroundColor: m, color: g },
120
- onMouseEnter: (f) => S(f, e.cohort, s, n),
121
- onMouseLeave: C,
122
- children: n ? w(a) : "-"
123
- },
124
- s
125
- );
126
- })
127
- ] }, e.cohort)) })
128
- ] }),
129
- U && /* @__PURE__ */ d("div", { className: "dc:flex dc:items-center dc:justify-center dc:mt-4 dc:gap-2 dc:text-xs text-dc-text-secondary", children: [
130
- /* @__PURE__ */ t("span", { children: "0%" }),
131
- /* @__PURE__ */ t("div", { className: "dc:flex dc:h-4", children: [0, 0.2, 0.4, 0.6, 0.8, 1].map((e) => /* @__PURE__ */ t(
132
- "div",
133
- {
134
- className: "dc:w-6 dc:h-4",
135
- style: { backgroundColor: v(e) }
136
- },
137
- e
138
- )) }),
139
- /* @__PURE__ */ t("span", { children: "100%" })
140
- ] }),
141
- l && /* @__PURE__ */ d(
142
- "div",
143
- {
144
- className: "dc:fixed dc:z-50 dc:px-3 dc:py-2 bg-dc-surface dc:border border-dc-border dc:rounded dc:shadow-lg dc:text-sm dc:pointer-events-none",
145
- style: {
146
- left: l.x,
147
- top: l.y - 10,
148
- transform: "translate(-50%, -100%)"
149
- },
150
- children: [
151
- /* @__PURE__ */ d("div", { className: "dc:font-medium text-dc-text dc:mb-1", children: [
152
- N(l.cohort),
153
- " - Period ",
154
- l.period
155
- ] }),
156
- /* @__PURE__ */ d("div", { className: "text-dc-text-secondary dc:space-y-0.5", children: [
157
- /* @__PURE__ */ d("div", { children: [
158
- "Cohort Size: ",
159
- l.cohortSize.toLocaleString()
160
- ] }),
161
- /* @__PURE__ */ d("div", { children: [
162
- "Retained: ",
163
- l.retainedUsers.toLocaleString()
164
- ] }),
165
- /* @__PURE__ */ d("div", { className: "dc:font-medium text-dc-text", children: [
166
- "Rate: ",
167
- w(l.retentionRate)
168
- ] })
169
- ] })
170
- ]
171
- }
172
- )
173
- ] });
174
- });
175
- export {
176
- P as default
177
- };
178
- //# sourceMappingURL=RetentionHeatmap-BHYU8MXY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RetentionHeatmap-BHYU8MXY.js","sources":["../../../src/client/components/charts/RetentionHeatmap.tsx"],"sourcesContent":["/**\n * RetentionHeatmap Component\n *\n * Visualizes retention analysis data as a cohort × period matrix.\n * Displays retention rates with color intensity based on percentage.\n *\n * Features:\n * - Cohort labels in first column (e.g., \"2024-01\", \"2024-02\")\n * - Cohort size in second column\n * - Period columns (P0, P1, P2, ... PN)\n * - Cell background color intensity based on retention rate\n * - Hover tooltip with detailed stats\n */\n\nimport React, { useMemo, useState } from 'react'\nimport type { ChartProps } from '../../types'\nimport type { RetentionChartData, RetentionResultRow } from '../../types/retention'\nimport { isRetentionData } from '../../types/retention'\n\n/**\n * Get color with opacity based on retention rate\n * Uses a green gradient: higher retention = more saturated green\n */\nfunction getRetentionColor(rate: number): string {\n // Clamp rate between 0 and 1\n const clampedRate = Math.max(0, Math.min(1, rate))\n\n // Use CSS variable for theming support\n // Fallback to a green color if CSS var not available\n const alpha = 0.1 + clampedRate * 0.7 // Range from 0.1 to 0.8 opacity\n\n // Green color (success color)\n return `rgba(34, 197, 94, ${alpha})`\n}\n\n/**\n * Get text color that contrasts with background\n */\nfunction getTextColor(rate: number): string {\n // Use dark text for lower rates, light text for higher rates\n return rate > 0.5 ? '#ffffff' : 'var(--dc-text)'\n}\n\n/**\n * Format cohort period for display\n * Converts date strings to readable format\n */\nfunction formatCohortPeriod(cohort: string): string {\n // If it's already in YYYY-MM format, return as-is\n if (/^\\d{4}-\\d{2}$/.test(cohort)) {\n return cohort\n }\n\n // Try to parse as date\n const date = new Date(cohort)\n if (!isNaN(date.getTime())) {\n return date.toLocaleDateString('en-US', { year: 'numeric', month: 'short' })\n }\n\n return cohort\n}\n\n/**\n * Format percentage for display\n */\nfunction formatPercentage(rate: number): string {\n return `${Math.round(rate * 100)}%`\n}\n\ninterface TooltipData {\n cohort: string\n period: number\n cohortSize: number\n retainedUsers: number\n retentionRate: number\n x: number\n y: number\n}\n\n/**\n * RetentionHeatmap Component\n */\nconst RetentionHeatmap = React.memo(function RetentionHeatmap({\n data,\n height = '100%',\n displayConfig,\n}: ChartProps) {\n const [tooltip, setTooltip] = useState<TooltipData | null>(null)\n\n // Parse retention data\n const retentionData = useMemo<RetentionChartData | null>(() => {\n if (!data) return null\n\n // Check if data is already in RetentionChartData format\n if (isRetentionData(data)) {\n return data\n }\n\n // If data is an array of RetentionResultRow, convert it\n if (Array.isArray(data) && data.length > 0) {\n const rows = data as RetentionResultRow[]\n const breakdownValues = [...new Set(rows.map(r => r.breakdownValue || 'All Users'))].sort()\n const periods = [...new Set(rows.map(r => r.period))].sort((a, b) => a - b)\n\n return {\n rows,\n breakdownValues: breakdownValues.length > 1 || breakdownValues[0] !== 'All Users' ? breakdownValues : undefined,\n periods,\n }\n }\n\n return null\n }, [data])\n\n // Build matrix for display\n // In the new simplified format, rows are grouped by breakdownValue (or 'All Users' if no breakdown)\n const matrix = useMemo(() => {\n if (!retentionData) return null\n\n const { rows, breakdownValues, periods } = retentionData\n\n // Determine segments: use breakdownValues if available, otherwise single 'All Users' segment\n const segments = breakdownValues || ['All Users']\n\n // Create a lookup map for quick access: segment:period -> row\n const lookup = new Map<string, RetentionResultRow>()\n for (const row of rows) {\n const segment = row.breakdownValue || 'All Users'\n lookup.set(`${segment}:${row.period}`, row)\n }\n\n // Build matrix structure - one row per segment\n return segments.map((segment: string) => {\n const segmentRows = periods.map(period => {\n const row = lookup.get(`${segment}:${period}`)\n return row || null\n })\n\n // Get cohort size from period 0\n const period0 = segmentRows[0]\n const cohortSize = period0?.cohortSize ?? 0\n\n return {\n cohort: segment, // Keep 'cohort' key for compatibility with rendering\n cohortSize,\n periods: segmentRows,\n }\n })\n }, [retentionData])\n\n // Handle mouse enter on cell\n const handleMouseEnter = (\n event: React.MouseEvent,\n cohort: string,\n period: number,\n row: RetentionResultRow | null\n ) => {\n if (!row) return\n\n const rect = event.currentTarget.getBoundingClientRect()\n setTooltip({\n cohort,\n period,\n cohortSize: row.cohortSize,\n retainedUsers: row.retainedUsers,\n retentionRate: row.retentionRate,\n x: rect.left + rect.width / 2,\n y: rect.top,\n })\n }\n\n const handleMouseLeave = () => {\n setTooltip(null)\n }\n\n // Handle empty/loading states\n if (!data || (Array.isArray(data) && data.length === 0)) {\n return (\n <div\n className=\"dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted\"\n style={{ height }}\n >\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\">\n Configure retention analysis to see results\n </div>\n </div>\n </div>\n )\n }\n\n if (!matrix || matrix.length === 0) {\n return (\n <div\n className=\"dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted\"\n style={{ height }}\n >\n <div className=\"dc:text-center\">\n <div className=\"dc:text-sm dc:font-semibold dc:mb-1\">Unable to render retention data</div>\n <div className=\"dc:text-xs text-dc-text-secondary\">\n Data format may be incorrect\n </div>\n </div>\n </div>\n )\n }\n\n const periods = retentionData?.periods ?? []\n const showLegend = displayConfig?.showLegend ?? true\n\n return (\n <div className=\"dc:relative dc:w-full dc:h-full dc:overflow-auto\" style={{ height }}>\n {/* Retention Matrix Table */}\n <table className=\"dc:w-full dc:border-collapse dc:text-sm\">\n <thead className=\"dc:sticky dc:top-0 bg-dc-bg dc:z-10\">\n <tr>\n <th className=\"dc:text-left dc:p-2 dc:font-medium text-dc-text dc:border-b border-dc-border dc:min-w-[100px]\">\n Cohort\n </th>\n <th className=\"dc:text-right dc:p-2 dc:font-medium text-dc-text dc:border-b border-dc-border dc:min-w-[80px]\">\n Users\n </th>\n {periods.map(period => (\n <th\n key={period}\n className=\"dc:text-center dc:p-2 dc:font-medium text-dc-text dc:border-b border-dc-border dc:min-w-[60px]\"\n >\n P{period}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {matrix.map((row, rowIndex) => (\n <tr key={row.cohort} className={rowIndex % 2 === 0 ? 'bg-dc-bg' : 'bg-dc-surface-secondary'}>\n <td className=\"dc:p-2 dc:font-medium text-dc-text dc:border-b border-dc-border dc:whitespace-nowrap\">\n {formatCohortPeriod(row.cohort)}\n </td>\n <td className=\"dc:p-2 dc:text-right text-dc-text-secondary dc:border-b border-dc-border\">\n {row.cohortSize.toLocaleString()}\n </td>\n {row.periods.map((cell, periodIndex) => {\n const period = periods[periodIndex]\n const rate = cell?.retentionRate ?? 0\n const bgColor = cell ? getRetentionColor(rate) : 'transparent'\n const textColor = cell ? getTextColor(rate) : 'var(--dc-text-muted)'\n\n return (\n <td\n key={period}\n className=\"dc:p-2 dc:text-center dc:border-b border-dc-border dc:cursor-default dc:transition-opacity dc:hover:opacity-80\"\n style={{ backgroundColor: bgColor, color: textColor }}\n onMouseEnter={(e) => handleMouseEnter(e, row.cohort, period, cell)}\n onMouseLeave={handleMouseLeave}\n >\n {cell ? formatPercentage(rate) : '-'}\n </td>\n )\n })}\n </tr>\n ))}\n </tbody>\n </table>\n\n {/* Legend */}\n {showLegend && (\n <div className=\"dc:flex dc:items-center dc:justify-center dc:mt-4 dc:gap-2 dc:text-xs text-dc-text-secondary\">\n <span>0%</span>\n <div className=\"dc:flex dc:h-4\">\n {[0, 0.2, 0.4, 0.6, 0.8, 1].map(rate => (\n <div\n key={rate}\n className=\"dc:w-6 dc:h-4\"\n style={{ backgroundColor: getRetentionColor(rate) }}\n />\n ))}\n </div>\n <span>100%</span>\n </div>\n )}\n\n {/* Tooltip */}\n {tooltip && (\n <div\n className=\"dc:fixed dc:z-50 dc:px-3 dc:py-2 bg-dc-surface dc:border border-dc-border dc:rounded dc:shadow-lg dc:text-sm dc:pointer-events-none\"\n style={{\n left: tooltip.x,\n top: tooltip.y - 10,\n transform: 'translate(-50%, -100%)',\n }}\n >\n <div className=\"dc:font-medium text-dc-text dc:mb-1\">\n {formatCohortPeriod(tooltip.cohort)} - Period {tooltip.period}\n </div>\n <div className=\"text-dc-text-secondary dc:space-y-0.5\">\n <div>Cohort Size: {tooltip.cohortSize.toLocaleString()}</div>\n <div>Retained: {tooltip.retainedUsers.toLocaleString()}</div>\n <div className=\"dc:font-medium text-dc-text\">\n Rate: {formatPercentage(tooltip.retentionRate)}\n </div>\n </div>\n </div>\n )}\n </div>\n )\n})\n\nexport default RetentionHeatmap\n"],"names":["getRetentionColor","rate","getTextColor","formatCohortPeriod","cohort","date","formatPercentage","RetentionHeatmap","React","data","height","displayConfig","tooltip","setTooltip","useState","retentionData","useMemo","isRetentionData","rows","breakdownValues","r","periods","a","b","matrix","segments","lookup","row","segment","segmentRows","period","cohortSize","handleMouseEnter","event","rect","handleMouseLeave","jsx","jsxs","showLegend","rowIndex","cell","periodIndex","bgColor","textColor","e"],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- const e = {
2
- label: "Retention Matrix",
3
- // RetentionHeatmap auto-configures from the retention data structure
4
- // No drop zones needed as the chart maps directly to cohort × period matrix
5
- dropZones: [],
6
- // Display options
7
- displayOptionsConfig: [
8
- {
9
- key: "showLegend",
10
- label: "Show Legend",
11
- type: "boolean",
12
- defaultValue: !0,
13
- description: "Show the color intensity legend"
14
- },
15
- {
16
- key: "showTooltip",
17
- label: "Show Tooltip",
18
- type: "boolean",
19
- defaultValue: !0,
20
- description: "Show tooltip on hover with detailed stats"
21
- }
22
- ],
23
- description: "Cohort retention matrix visualization",
24
- useCase: "Visualize user retention over time by cohort"
25
- };
26
- export {
27
- e as retentionHeatmapConfig
28
- };
29
- //# sourceMappingURL=RetentionHeatmap.config-BWf_-vdj.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RetentionHeatmap.config-BWf_-vdj.js","sources":["../../../src/client/components/charts/RetentionHeatmap.config.ts"],"sourcesContent":["/**\n * RetentionHeatmap Chart Configuration\n *\n * The RetentionHeatmap is a specialized chart for retention analysis.\n * It auto-configures from retention data and doesn't need typical axis configuration.\n */\n\nimport type { ChartTypeConfig } from '../../charts/chartConfigs'\n\nexport const retentionHeatmapConfig: ChartTypeConfig = {\n label: 'Retention Matrix',\n // RetentionHeatmap auto-configures from the retention data structure\n // No drop zones needed as the chart maps directly to cohort × period matrix\n dropZones: [],\n\n // Display options\n displayOptionsConfig: [\n {\n key: 'showLegend',\n label: 'Show Legend',\n type: 'boolean',\n defaultValue: true,\n description: 'Show the color intensity legend',\n },\n {\n key: 'showTooltip',\n label: 'Show Tooltip',\n type: 'boolean',\n defaultValue: true,\n description: 'Show tooltip on hover with detailed stats',\n },\n ],\n\n description: 'Cohort retention matrix visualization',\n useCase: 'Visualize user retention over time by cohort',\n}\n"],"names":["retentionHeatmapConfig"],"mappings":"AASO,MAAMA,IAA0C;AAAA,EACrD,OAAO;AAAA;AAAA;AAAA,EAGP,WAAW,CAAA;AAAA;AAAA,EAGX,sBAAsB;AAAA,IACpB;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,MACN,cAAc;AAAA,MACd,aAAa;AAAA,IAAA;AAAA,IAEf;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,MACN,cAAc;AAAA,MACd,aAAa;AAAA,IAAA;AAAA,EACf;AAAA,EAGF,aAAa;AAAA,EACb,SAAS;AACX;"}