@karan171996/metricflow 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +17 -0
  3. package/.next/build/chunks/[root-of-the-server]__05i36w1._.js +500 -0
  4. package/.next/build/chunks/[root-of-the-server]__05i36w1._.js.map +11 -0
  5. package/.next/build/chunks/[root-of-the-server]__1kki86f._.js +206 -0
  6. package/.next/build/chunks/[root-of-the-server]__1kki86f._.js.map +8 -0
  7. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9._.js +13 -0
  8. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9._.js.map +5 -0
  9. package/.next/build/chunks/[turbopack]_runtime.js +926 -0
  10. package/.next/build/chunks/[turbopack]_runtime.js.map +11 -0
  11. package/.next/build/chunks/node_modules_20v-8wl._.js +7183 -0
  12. package/.next/build/chunks/node_modules_20v-8wl._.js.map +47 -0
  13. package/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_0tp-k2v._.js +6 -0
  14. package/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_0tp-k2v._.js.map +5 -0
  15. package/.next/build/package.json +1 -0
  16. package/.next/build-manifest.json +23 -0
  17. package/.next/export-marker.json +6 -0
  18. package/.next/fallback-build-manifest.json +15 -0
  19. package/.next/images-manifest.json +68 -0
  20. package/.next/next-minimal-server.js.nft.json +1 -0
  21. package/.next/next-server.js.nft.json +1 -0
  22. package/.next/package.json +1 -0
  23. package/.next/prerender-manifest.json +241 -0
  24. package/.next/required-server-files.js +351 -0
  25. package/.next/required-server-files.json +351 -0
  26. package/.next/routes-manifest.json +138 -0
  27. package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  28. package/.next/server/app/_global-error/page/build-manifest.json +19 -0
  29. package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  30. package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  31. package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  32. package/.next/server/app/_global-error/page.js +9 -0
  33. package/.next/server/app/_global-error/page.js.map +5 -0
  34. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  35. package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
  36. package/.next/server/app/_global-error.html +1 -0
  37. package/.next/server/app/_global-error.meta +30 -0
  38. package/.next/server/app/_global-error.rsc +15 -0
  39. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +20 -0
  40. package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
  41. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  42. package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  43. package/.next/server/app/_not-found/page/build-manifest.json +19 -0
  44. package/.next/server/app/_not-found/page/next-font-manifest.json +6 -0
  45. package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  46. package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  47. package/.next/server/app/_not-found/page.js +15 -0
  48. package/.next/server/app/_not-found/page.js.map +5 -0
  49. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  50. package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
  51. package/.next/server/app/_not-found.html +2 -0
  52. package/.next/server/app/_not-found.meta +36 -0
  53. package/.next/server/app/_not-found.rsc +43 -0
  54. package/.next/server/app/_not-found.segments/_full.segment.rsc +43 -0
  55. package/.next/server/app/_not-found.segments/_index.segment.rsc +34 -0
  56. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +20 -0
  57. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
  58. package/.next/server/app/api/analyze/route/app-paths-manifest.json +3 -0
  59. package/.next/server/app/api/analyze/route/build-manifest.json +12 -0
  60. package/.next/server/app/api/analyze/route/server-reference-manifest.json +4 -0
  61. package/.next/server/app/api/analyze/route.js +7 -0
  62. package/.next/server/app/api/analyze/route.js.map +5 -0
  63. package/.next/server/app/api/analyze/route.js.nft.json +1 -0
  64. package/.next/server/app/api/analyze/route_client-reference-manifest.js +3 -0
  65. package/.next/server/app/api/connect/route/app-paths-manifest.json +3 -0
  66. package/.next/server/app/api/connect/route/build-manifest.json +12 -0
  67. package/.next/server/app/api/connect/route/server-reference-manifest.json +4 -0
  68. package/.next/server/app/api/connect/route.js +8 -0
  69. package/.next/server/app/api/connect/route.js.map +5 -0
  70. package/.next/server/app/api/connect/route.js.nft.json +1 -0
  71. package/.next/server/app/api/connect/route_client-reference-manifest.js +3 -0
  72. package/.next/server/app/api/health/route/app-paths-manifest.json +3 -0
  73. package/.next/server/app/api/health/route/build-manifest.json +12 -0
  74. package/.next/server/app/api/health/route/server-reference-manifest.json +4 -0
  75. package/.next/server/app/api/health/route.js +6 -0
  76. package/.next/server/app/api/health/route.js.map +5 -0
  77. package/.next/server/app/api/health/route.js.nft.json +1 -0
  78. package/.next/server/app/api/health/route_client-reference-manifest.js +3 -0
  79. package/.next/server/app/api/metrics/route/app-paths-manifest.json +3 -0
  80. package/.next/server/app/api/metrics/route/build-manifest.json +12 -0
  81. package/.next/server/app/api/metrics/route/server-reference-manifest.json +4 -0
  82. package/.next/server/app/api/metrics/route.js +8 -0
  83. package/.next/server/app/api/metrics/route.js.map +5 -0
  84. package/.next/server/app/api/metrics/route.js.nft.json +1 -0
  85. package/.next/server/app/api/metrics/route_client-reference-manifest.js +3 -0
  86. package/.next/server/app/api/setup/route/app-paths-manifest.json +3 -0
  87. package/.next/server/app/api/setup/route/build-manifest.json +12 -0
  88. package/.next/server/app/api/setup/route/server-reference-manifest.json +4 -0
  89. package/.next/server/app/api/setup/route.js +8 -0
  90. package/.next/server/app/api/setup/route.js.map +5 -0
  91. package/.next/server/app/api/setup/route.js.nft.json +1 -0
  92. package/.next/server/app/api/setup/route_client-reference-manifest.js +3 -0
  93. package/.next/server/app/api/timings/route/app-paths-manifest.json +3 -0
  94. package/.next/server/app/api/timings/route/build-manifest.json +12 -0
  95. package/.next/server/app/api/timings/route/server-reference-manifest.json +4 -0
  96. package/.next/server/app/api/timings/route.js +6 -0
  97. package/.next/server/app/api/timings/route.js.map +5 -0
  98. package/.next/server/app/api/timings/route.js.nft.json +1 -0
  99. package/.next/server/app/api/timings/route_client-reference-manifest.js +3 -0
  100. package/.next/server/app/connect/page/app-paths-manifest.json +3 -0
  101. package/.next/server/app/connect/page/build-manifest.json +19 -0
  102. package/.next/server/app/connect/page/next-font-manifest.json +6 -0
  103. package/.next/server/app/connect/page/react-loadable-manifest.json +1 -0
  104. package/.next/server/app/connect/page/server-reference-manifest.json +4 -0
  105. package/.next/server/app/connect/page.js +16 -0
  106. package/.next/server/app/connect/page.js.map +5 -0
  107. package/.next/server/app/connect/page.js.nft.json +1 -0
  108. package/.next/server/app/connect/page_client-reference-manifest.js +3 -0
  109. package/.next/server/app/connect.html +24 -0
  110. package/.next/server/app/connect.meta +35 -0
  111. package/.next/server/app/connect.rsc +44 -0
  112. package/.next/server/app/connect.segments/_full.segment.rsc +44 -0
  113. package/.next/server/app/connect.segments/_index.segment.rsc +34 -0
  114. package/.next/server/app/connect.segments/_tree.segment.rsc +2 -0
  115. package/.next/server/app/connect.segments/connect/__PAGE__.segment.rsc +25 -0
  116. package/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
  117. package/.next/server/app/favicon.ico/route/build-manifest.json +12 -0
  118. package/.next/server/app/favicon.ico/route.js +7 -0
  119. package/.next/server/app/favicon.ico/route.js.map +5 -0
  120. package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  121. package/.next/server/app/favicon.ico.body +0 -0
  122. package/.next/server/app/favicon.ico.meta +1 -0
  123. package/.next/server/app/index.html +2 -0
  124. package/.next/server/app/index.meta +30 -0
  125. package/.next/server/app/index.rsc +44 -0
  126. package/.next/server/app/index.segments/__PAGE__.segment.rsc +19 -0
  127. package/.next/server/app/index.segments/_full.segment.rsc +44 -0
  128. package/.next/server/app/index.segments/_index.segment.rsc +34 -0
  129. package/.next/server/app/index.segments/_tree.segment.rsc +2 -0
  130. package/.next/server/app/page/app-paths-manifest.json +3 -0
  131. package/.next/server/app/page/build-manifest.json +19 -0
  132. package/.next/server/app/page/next-font-manifest.json +6 -0
  133. package/.next/server/app/page/react-loadable-manifest.json +1 -0
  134. package/.next/server/app/page/server-reference-manifest.json +4 -0
  135. package/.next/server/app/page.js +16 -0
  136. package/.next/server/app/page.js.map +5 -0
  137. package/.next/server/app/page.js.nft.json +1 -0
  138. package/.next/server/app/page_client-reference-manifest.js +3 -0
  139. package/.next/server/app/performance/[slug]/page/app-paths-manifest.json +3 -0
  140. package/.next/server/app/performance/[slug]/page/build-manifest.json +19 -0
  141. package/.next/server/app/performance/[slug]/page/next-font-manifest.json +6 -0
  142. package/.next/server/app/performance/[slug]/page/react-loadable-manifest.json +1 -0
  143. package/.next/server/app/performance/[slug]/page/server-reference-manifest.json +4 -0
  144. package/.next/server/app/performance/[slug]/page.js +19 -0
  145. package/.next/server/app/performance/[slug]/page.js.map +5 -0
  146. package/.next/server/app/performance/[slug]/page.js.nft.json +1 -0
  147. package/.next/server/app/performance/[slug]/page_client-reference-manifest.js +3 -0
  148. package/.next/server/app/performance/page/app-paths-manifest.json +3 -0
  149. package/.next/server/app/performance/page/build-manifest.json +19 -0
  150. package/.next/server/app/performance/page/next-font-manifest.json +6 -0
  151. package/.next/server/app/performance/page/react-loadable-manifest.json +1 -0
  152. package/.next/server/app/performance/page/server-reference-manifest.json +4 -0
  153. package/.next/server/app/performance/page.js +17 -0
  154. package/.next/server/app/performance/page.js.map +5 -0
  155. package/.next/server/app/performance/page.js.nft.json +1 -0
  156. package/.next/server/app/performance/page_client-reference-manifest.js +3 -0
  157. package/.next/server/app/performance.html +2 -0
  158. package/.next/server/app/performance.meta +35 -0
  159. package/.next/server/app/performance.rsc +56 -0
  160. package/.next/server/app/performance.segments/_full.segment.rsc +56 -0
  161. package/.next/server/app/performance.segments/_index.segment.rsc +34 -0
  162. package/.next/server/app/performance.segments/_tree.segment.rsc +2 -0
  163. package/.next/server/app/performance.segments/performance/__PAGE__.segment.rsc +39 -0
  164. package/.next/server/app/settings/page/app-paths-manifest.json +3 -0
  165. package/.next/server/app/settings/page/build-manifest.json +19 -0
  166. package/.next/server/app/settings/page/next-font-manifest.json +6 -0
  167. package/.next/server/app/settings/page/react-loadable-manifest.json +1 -0
  168. package/.next/server/app/settings/page/server-reference-manifest.json +4 -0
  169. package/.next/server/app/settings/page.js +18 -0
  170. package/.next/server/app/settings/page.js.map +5 -0
  171. package/.next/server/app/settings/page.js.nft.json +1 -0
  172. package/.next/server/app/settings/page_client-reference-manifest.js +3 -0
  173. package/.next/server/app/settings.html +2 -0
  174. package/.next/server/app/settings.meta +35 -0
  175. package/.next/server/app/settings.rsc +60 -0
  176. package/.next/server/app/settings.segments/_full.segment.rsc +60 -0
  177. package/.next/server/app/settings.segments/_index.segment.rsc +34 -0
  178. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -0
  179. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +44 -0
  180. package/.next/server/app/setup/page/app-paths-manifest.json +3 -0
  181. package/.next/server/app/setup/page/build-manifest.json +19 -0
  182. package/.next/server/app/setup/page/next-font-manifest.json +6 -0
  183. package/.next/server/app/setup/page/react-loadable-manifest.json +1 -0
  184. package/.next/server/app/setup/page/server-reference-manifest.json +4 -0
  185. package/.next/server/app/setup/page.js +16 -0
  186. package/.next/server/app/setup/page.js.map +5 -0
  187. package/.next/server/app/setup/page.js.nft.json +1 -0
  188. package/.next/server/app/setup/page_client-reference-manifest.js +3 -0
  189. package/.next/server/app/setup.html +2 -0
  190. package/.next/server/app/setup.meta +35 -0
  191. package/.next/server/app/setup.rsc +44 -0
  192. package/.next/server/app/setup.segments/_full.segment.rsc +44 -0
  193. package/.next/server/app/setup.segments/_index.segment.rsc +34 -0
  194. package/.next/server/app/setup.segments/_tree.segment.rsc +2 -0
  195. package/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +25 -0
  196. package/.next/server/app-paths-manifest.json +17 -0
  197. package/.next/server/chunks/[externals]__1o8qm3w._.js +3 -0
  198. package/.next/server/chunks/[externals]__1o8qm3w._.js.map +1 -0
  199. package/.next/server/chunks/[root-of-the-server]__0chxb6o._.js +3 -0
  200. package/.next/server/chunks/[root-of-the-server]__0chxb6o._.js.map +1 -0
  201. package/.next/server/chunks/[root-of-the-server]__14tfjrn._.js +3 -0
  202. package/.next/server/chunks/[root-of-the-server]__14tfjrn._.js.map +1 -0
  203. package/.next/server/chunks/[root-of-the-server]__1fj5wte._.js +3 -0
  204. package/.next/server/chunks/[root-of-the-server]__1fj5wte._.js.map +1 -0
  205. package/.next/server/chunks/[root-of-the-server]__1i_tsds._.js +22 -0
  206. package/.next/server/chunks/[root-of-the-server]__1i_tsds._.js.map +1 -0
  207. package/.next/server/chunks/[root-of-the-server]__1l249st._.js +3 -0
  208. package/.next/server/chunks/[root-of-the-server]__1l249st._.js.map +1 -0
  209. package/.next/server/chunks/[root-of-the-server]__1uv-wzy._.js +5 -0
  210. package/.next/server/chunks/[root-of-the-server]__1uv-wzy._.js.map +1 -0
  211. package/.next/server/chunks/[turbopack]_runtime.js +807 -0
  212. package/.next/server/chunks/[turbopack]_runtime.js.map +10 -0
  213. package/.next/server/chunks/_1494cut._.js +3 -0
  214. package/.next/server/chunks/_1494cut._.js.map +1 -0
  215. package/.next/server/chunks/_1gvvd7n._.js +158 -0
  216. package/.next/server/chunks/_1gvvd7n._.js.map +1 -0
  217. package/.next/server/chunks/_1pe45_3._.js +17 -0
  218. package/.next/server/chunks/_1pe45_3._.js.map +1 -0
  219. package/.next/server/chunks/_1qtlv__._.js +3 -0
  220. package/.next/server/chunks/_1qtlv__._.js.map +1 -0
  221. package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h.js +3 -0
  222. package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h.js.map +1 -0
  223. package/.next/server/chunks/_next-internal_server_app_api_connect_route_actions_1r5w03m.js +3 -0
  224. package/.next/server/chunks/_next-internal_server_app_api_connect_route_actions_1r5w03m.js.map +1 -0
  225. package/.next/server/chunks/_next-internal_server_app_api_health_route_actions_1ryftkb.js +3 -0
  226. package/.next/server/chunks/_next-internal_server_app_api_health_route_actions_1ryftkb.js.map +1 -0
  227. package/.next/server/chunks/_next-internal_server_app_api_metrics_route_actions_0qn5q3s.js +3 -0
  228. package/.next/server/chunks/_next-internal_server_app_api_metrics_route_actions_0qn5q3s.js.map +1 -0
  229. package/.next/server/chunks/_next-internal_server_app_api_setup_route_actions_0txsuev.js +3 -0
  230. package/.next/server/chunks/_next-internal_server_app_api_setup_route_actions_0txsuev.js.map +1 -0
  231. package/.next/server/chunks/_next-internal_server_app_api_timings_route_actions_1tsq7j6.js +3 -0
  232. package/.next/server/chunks/_next-internal_server_app_api_timings_route_actions_1tsq7j6.js.map +1 -0
  233. package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js +3 -0
  234. package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js.map +1 -0
  235. package/.next/server/chunks/node_modules_0jatszq._.js +8 -0
  236. package/.next/server/chunks/node_modules_0jatszq._.js.map +1 -0
  237. package/.next/server/chunks/ssr/[root-of-the-server]__036j_vr._.js +3 -0
  238. package/.next/server/chunks/ssr/[root-of-the-server]__036j_vr._.js.map +1 -0
  239. package/.next/server/chunks/ssr/[root-of-the-server]__0ev464o._.js +3 -0
  240. package/.next/server/chunks/ssr/[root-of-the-server]__0ev464o._.js.map +1 -0
  241. package/.next/server/chunks/ssr/[root-of-the-server]__0f5axvr._.js +3 -0
  242. package/.next/server/chunks/ssr/[root-of-the-server]__0f5axvr._.js.map +1 -0
  243. package/.next/server/chunks/ssr/[root-of-the-server]__0hg5gib._.js +33 -0
  244. package/.next/server/chunks/ssr/[root-of-the-server]__0hg5gib._.js.map +1 -0
  245. package/.next/server/chunks/ssr/[root-of-the-server]__0tmkhxy._.js +3 -0
  246. package/.next/server/chunks/ssr/[root-of-the-server]__0tmkhxy._.js.map +1 -0
  247. package/.next/server/chunks/ssr/[root-of-the-server]__0ydfg18._.js +3 -0
  248. package/.next/server/chunks/ssr/[root-of-the-server]__0ydfg18._.js.map +1 -0
  249. package/.next/server/chunks/ssr/[root-of-the-server]__18hr860._.js +33 -0
  250. package/.next/server/chunks/ssr/[root-of-the-server]__18hr860._.js.map +1 -0
  251. package/.next/server/chunks/ssr/[root-of-the-server]__18w2nrx._.js +3 -0
  252. package/.next/server/chunks/ssr/[root-of-the-server]__18w2nrx._.js.map +1 -0
  253. package/.next/server/chunks/ssr/[root-of-the-server]__1c8dejo._.js +3 -0
  254. package/.next/server/chunks/ssr/[root-of-the-server]__1c8dejo._.js.map +1 -0
  255. package/.next/server/chunks/ssr/[root-of-the-server]__1mwg_vi._.js +3 -0
  256. package/.next/server/chunks/ssr/[root-of-the-server]__1mwg_vi._.js.map +1 -0
  257. package/.next/server/chunks/ssr/[root-of-the-server]__1p_6ezv._.js +14 -0
  258. package/.next/server/chunks/ssr/[root-of-the-server]__1p_6ezv._.js.map +1 -0
  259. package/.next/server/chunks/ssr/[root-of-the-server]__1vxra_4._.js +3 -0
  260. package/.next/server/chunks/ssr/[root-of-the-server]__1vxra_4._.js.map +1 -0
  261. package/.next/server/chunks/ssr/[turbopack]_runtime.js +807 -0
  262. package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +10 -0
  263. package/.next/server/chunks/ssr/_042xeoh._.js +3 -0
  264. package/.next/server/chunks/ssr/_042xeoh._.js.map +1 -0
  265. package/.next/server/chunks/ssr/_0c7qo1d._.js +3 -0
  266. package/.next/server/chunks/ssr/_0c7qo1d._.js.map +1 -0
  267. package/.next/server/chunks/ssr/_0dbmzjx._.js +166 -0
  268. package/.next/server/chunks/ssr/_0dbmzjx._.js.map +1 -0
  269. package/.next/server/chunks/ssr/_178o6nh._.js +3 -0
  270. package/.next/server/chunks/ssr/_178o6nh._.js.map +1 -0
  271. package/.next/server/chunks/ssr/_1bbiu24._.js +3 -0
  272. package/.next/server/chunks/ssr/_1bbiu24._.js.map +1 -0
  273. package/.next/server/chunks/ssr/_1d1ipgp._.js +6 -0
  274. package/.next/server/chunks/ssr/_1d1ipgp._.js.map +1 -0
  275. package/.next/server/chunks/ssr/_1n9m819._.js +3 -0
  276. package/.next/server/chunks/ssr/_1n9m819._.js.map +1 -0
  277. package/.next/server/chunks/ssr/_1p5i72g._.js +151 -0
  278. package/.next/server/chunks/ssr/_1p5i72g._.js.map +1 -0
  279. package/.next/server/chunks/ssr/_1r2qog2._.js +7 -0
  280. package/.next/server/chunks/ssr/_1r2qog2._.js.map +1 -0
  281. package/.next/server/chunks/ssr/_1rkc3oc._.js +25 -0
  282. package/.next/server/chunks/ssr/_1rkc3oc._.js.map +1 -0
  283. package/.next/server/chunks/ssr/_20txlee._.js +3 -0
  284. package/.next/server/chunks/ssr/_20txlee._.js.map +1 -0
  285. package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +3 -0
  286. package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js.map +1 -0
  287. package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +3 -0
  288. package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js.map +1 -0
  289. package/.next/server/chunks/ssr/_next-internal_server_app_connect_page_actions_1g-s_3i.js +3 -0
  290. package/.next/server/chunks/ssr/_next-internal_server_app_connect_page_actions_1g-s_3i.js.map +1 -0
  291. package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js +3 -0
  292. package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js.map +1 -0
  293. package/.next/server/chunks/ssr/_next-internal_server_app_performance_[slug]_page_actions_1pzv3w1.js +3 -0
  294. package/.next/server/chunks/ssr/_next-internal_server_app_performance_[slug]_page_actions_1pzv3w1.js.map +1 -0
  295. package/.next/server/chunks/ssr/_next-internal_server_app_performance_page_actions_0vi13cc.js +3 -0
  296. package/.next/server/chunks/ssr/_next-internal_server_app_performance_page_actions_0vi13cc.js.map +1 -0
  297. package/.next/server/chunks/ssr/_next-internal_server_app_settings_page_actions_11x4dq5.js +3 -0
  298. package/.next/server/chunks/ssr/_next-internal_server_app_settings_page_actions_11x4dq5.js.map +1 -0
  299. package/.next/server/chunks/ssr/_next-internal_server_app_setup_page_actions_0u1sm0s.js +3 -0
  300. package/.next/server/chunks/ssr/_next-internal_server_app_setup_page_actions_0u1sm0s.js.map +1 -0
  301. package/.next/server/chunks/ssr/app_layout_tsx_2144vk_._.js +3 -0
  302. package/.next/server/chunks/ssr/app_layout_tsx_2144vk_._.js.map +1 -0
  303. package/.next/server/chunks/ssr/app_loading_tsx_0a1flg9._.js +3 -0
  304. package/.next/server/chunks/ssr/app_loading_tsx_0a1flg9._.js.map +1 -0
  305. package/.next/server/chunks/ssr/app_performance_[slug]_loading_tsx_0d5z78a._.js +3 -0
  306. package/.next/server/chunks/ssr/app_performance_[slug]_loading_tsx_0d5z78a._.js.map +1 -0
  307. package/.next/server/chunks/ssr/app_performance_loading_tsx_1bq2nq9._.js +3 -0
  308. package/.next/server/chunks/ssr/app_performance_loading_tsx_1bq2nq9._.js.map +1 -0
  309. package/.next/server/chunks/ssr/app_settings_loading_tsx_0nv_78v._.js +3 -0
  310. package/.next/server/chunks/ssr/app_settings_loading_tsx_0nv_78v._.js.map +1 -0
  311. package/.next/server/chunks/ssr/components_0j32dj5._.js +3 -0
  312. package/.next/server/chunks/ssr/components_0j32dj5._.js.map +1 -0
  313. package/.next/server/chunks/ssr/node_modules_1wax83z._.js +33 -0
  314. package/.next/server/chunks/ssr/node_modules_1wax83z._.js.map +1 -0
  315. package/.next/server/chunks/ssr/node_modules_cn_dist_index_166wuka.js +3 -0
  316. package/.next/server/chunks/ssr/node_modules_cn_dist_index_166wuka.js.map +1 -0
  317. package/.next/server/chunks/ssr/node_modules_next_dist_0nkkbfv._.js +6 -0
  318. package/.next/server/chunks/ssr/node_modules_next_dist_0nkkbfv._.js.map +1 -0
  319. package/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js +3 -0
  320. package/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js.map +1 -0
  321. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +3 -0
  322. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js.map +1 -0
  323. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +3 -0
  324. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js.map +1 -0
  325. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js +3 -0
  326. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js.map +1 -0
  327. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +3 -0
  328. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js.map +1 -0
  329. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_server-async-storage_0t1dato.js +3 -0
  330. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_server-async-storage_0t1dato.js.map +1 -0
  331. package/.next/server/functions-config-manifest.json +4 -0
  332. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  333. package/.next/server/middleware-build-manifest.js +23 -0
  334. package/.next/server/middleware-manifest.json +6 -0
  335. package/.next/server/next-font-manifest.js +1 -0
  336. package/.next/server/next-font-manifest.json +6 -0
  337. package/.next/server/pages/404.html +2 -0
  338. package/.next/server/pages/500.html +1 -0
  339. package/.next/server/pages-manifest.json +4 -0
  340. package/.next/server/prefetch-hints.json +90 -0
  341. package/.next/server/server-reference-manifest.js +1 -0
  342. package/.next/server/server-reference-manifest.json +5 -0
  343. package/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
  344. package/.next/static/chunks/0wyq7u3z0lfca.js +1 -0
  345. package/.next/static/chunks/13ihwqjtq_hlo.js +1 -0
  346. package/.next/static/chunks/14pp7x-su_dnv.js +5 -0
  347. package/.next/static/chunks/1clwpy-vw07cb.js +1 -0
  348. package/.next/static/chunks/1rj7ns8rte9vc.js +1 -0
  349. package/.next/static/chunks/1u5zan5bs9a7v.js +31 -0
  350. package/.next/static/chunks/2-llbg7gt2gi5.js +4 -0
  351. package/.next/static/chunks/212boumyeyva9.js +23 -0
  352. package/.next/static/chunks/28w-hz8hg8t4v.css +1 -0
  353. package/.next/static/chunks/2xy80eg_ueu_u.js +1 -0
  354. package/.next/static/chunks/3-kx-5mj07qy0.js +22 -0
  355. package/.next/static/chunks/3fntmmi971322.js +1 -0
  356. package/.next/static/chunks/3lqd2emjcxbd-.js +1 -0
  357. package/.next/static/chunks/3rfi1wruz0m51.js +1 -0
  358. package/.next/static/chunks/turbopack-2-rd7l6sk4a9l.js +1 -0
  359. package/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
  360. package/.next/static/vTYnNx5fUtumjGBK2LQwR/_buildManifest.js +11 -0
  361. package/.next/static/vTYnNx5fUtumjGBK2LQwR/_clientMiddlewareManifest.js +1 -0
  362. package/.next/static/vTYnNx5fUtumjGBK2LQwR/_ssgManifest.js +1 -0
  363. package/.next/trace +1 -0
  364. package/.next/trace-build +1 -0
  365. package/.next/turbopack +0 -0
  366. package/README.md +147 -0
  367. package/bin/cli.mjs +81 -0
  368. package/bin/output.mjs +86 -0
  369. package/package.json +62 -0
  370. package/public/file.svg +1 -0
  371. package/public/globe.svg +1 -0
  372. package/public/next.svg +1 -0
  373. package/public/vercel.svg +1 -0
  374. package/public/window.svg +1 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[46334,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246),e=a.i(3130),f=a.i(40695),g=a.i(5522);let h=[{name:"NEWRELIC_API_KEY",label:"New Relic User API key",secret:!0,help:'READS your data (starts NRAK-). Create it under API keys > key type "User".'},{name:"NEXT_PUBLIC_NEWRELIC_ACCOUNT_ID",label:"New Relic account ID",secret:!1,help:"A plain number, shown next to your keys in New Relic."},{name:"SENTRY_API_KEY",label:"Sentry auth token",secret:!0,help:"Lets the dashboard read issues (scopes: project:read, event:read)."},{name:"SENTRY_ORG_SLUG",label:"Sentry organization slug",secret:!1,help:"The name in your Sentry URL: sentry.io/organizations/<slug>/."},{name:"SENTRY_PROJECT_ID",label:"Sentry project slug",secret:!1,help:"The project's slug from Project settings."}];a.s(["SetupForm",0,function(){let[a,i]=(0,c.useState)({}),[j,k]=(0,c.useState)({}),[l,m]=(0,c.useState)({}),[n,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(!1),t=(0,c.useRef)(null);async function u(b){b.preventDefault(),q(!0),o(null);try{let b=await fetch("/api/setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),c=await b.json(),d=c.results??{};m(d);let e=h.find(a=>d[a.name]&&!d[a.name].ok);e&&setTimeout(()=>t.current?.querySelector(`#${e.name}`)?.focus(),0),c.saved?(s(!0),i({}),k(Object.fromEntries(h.map(a=>[a.name,!0]))),o({ok:!0,text:"Saved. Your keys are valid and stored in .env.local. No restart needed."})):o({ok:!1,text:c.error??"Nothing was saved. Fix the fields marked below."})}catch{o({ok:!1,text:"Could not reach the dashboard server."})}finally{q(!1)}}return(0,c.useEffect)(()=>{fetch("/api/setup").then(a=>a.json()).then(a=>{a.keys?k(a.keys):a.error&&o({ok:!1,text:a.error})}).catch(()=>{})},[]),(0,b.jsxs)(e.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md max-w-2xl",children:[(0,b.jsxs)(e.CardHeader,{children:[(0,b.jsx)(e.CardTitle,{className:"text-[18px] font-bold text-white tracking-tight",children:"Connect New Relic and Sentry"}),(0,b.jsx)(e.CardDescription,{className:"text-sm text-gray-400",children:"Keys are checked once, saved to .env.local in this folder, and never shown again. The key that sends events (Ingest - License) is separate and is added later on the Connect page."})]}),(0,b.jsx)(e.CardContent,{children:(0,b.jsxs)("form",{ref:t,onSubmit:u,className:"flex flex-col gap-5",children:[h.map(c=>{let d=l[c.name];return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsxs)("label",{htmlFor:c.name,className:"text-sm font-medium text-gray-300",children:[c.label," ",j[c.name]&&(0,b.jsx)("span",{className:"ml-2 text-xs text-[#3ee0a1]",children:"✓ Set"})]}),(0,b.jsx)(g.Input,{id:c.name,name:c.name,type:c.secret?"password":"text",autoComplete:"off",spellCheck:!1,placeholder:j[c.name]?"•••••••• (leave blank to keep, type to replace)":"",value:a[c.name]??"",onChange:b=>i({...a,[c.name]:b.target.value}),"aria-invalid":!!d&&!d.ok||void 0,"aria-describedby":`${c.name}-help ${c.name}-result`,className:"bg-[#0f1419] border-[#2d3748] text-gray-200 font-mono text-xs"}),(0,b.jsx)("p",{id:`${c.name}-help`,className:"text-xs text-gray-400",children:c.help}),(0,b.jsxs)("div",{id:`${c.name}-result`,"aria-live":"polite",children:[d&&!d.ok&&(0,b.jsxs)("p",{className:"text-xs text-[#f87171]",children:["✗ ",d.error]}),d?.ok&&(0,b.jsx)("p",{className:"text-xs text-[#3ee0a1]",children:"✓ Checked"})]})]},c.name)}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)(f.Button,{type:"submit",disabled:p,children:p?"Checking…":"Check and save"}),(0,b.jsx)("span",{"aria-live":"polite",className:`text-sm ${n?.ok?"text-[#3ee0a1]":"text-[#f87171]"}`,children:n?.text}),r&&(0,b.jsx)(d.default,{href:"/connect",className:(0,f.buttonVariants)({variant:"outline"}),children:"Next: connect your app"})]})]})})]})}])},3130,a=>{"use strict";var b=a.i(87924),c=a.i(13983);a.s(["Card",0,function({className:a,size:d="default",...e}){return(0,b.jsx)("div",{"data-slot":"card","data-size":d,className:(0,c.cn)("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",a),...e})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-(--card-spacing)",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-description",className:(0,c.cn)("text-sm text-muted-foreground",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",a),...d})}])},69789,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={actionAsyncStorage:function(){return f.actionAsyncStorage},workAsyncStorage:function(){return g.workAsyncStorage},workUnitAsyncStorage:function(){return h.workUnitAsyncStorage}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(20635),g=a.r(56704),h=a.r(32319);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)}];
2
+
3
+ //# sourceMappingURL=_178o6nh._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../components/Setup/SetupForm.tsx","../../../../components/ui/card.tsx","../../../../node_modules/next/src/client/components/server-async-storage.ts"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef, useState } from \"react\";\nimport Link from \"next/link\";\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Button, buttonVariants } from \"@/components/ui/button\";\nimport { Input } from \"@/components/ui/input\";\n\nconst FIELDS = [\n { name: \"NEWRELIC_API_KEY\", label: \"New Relic User API key\", secret: true, help: \"READS your data (starts NRAK-). Create it under API keys > key type \\\"User\\\".\" },\n { name: \"NEXT_PUBLIC_NEWRELIC_ACCOUNT_ID\", label: \"New Relic account ID\", secret: false, help: \"A plain number, shown next to your keys in New Relic.\" },\n { name: \"SENTRY_API_KEY\", label: \"Sentry auth token\", secret: true, help: \"Lets the dashboard read issues (scopes: project:read, event:read).\" },\n { name: \"SENTRY_ORG_SLUG\", label: \"Sentry organization slug\", secret: false, help: \"The name in your Sentry URL: sentry.io/organizations/<slug>/.\" },\n { name: \"SENTRY_PROJECT_ID\", label: \"Sentry project slug\", secret: false, help: \"The project's slug from Project settings.\" },\n] as const;\n\ntype Result = { ok: true } | { ok: false; error: string };\n\nexport function SetupForm() {\n const [values, setValues] = useState<Record<string, string>>({});\n const [isSet, setIsSet] = useState<Record<string, boolean>>({});\n const [results, setResults] = useState<Record<string, Result>>({});\n const [message, setMessage] = useState<{ ok: boolean; text: string } | null>(null);\n const [busy, setBusy] = useState(false);\n const [saved, setSaved] = useState(false);\n const formRef = useRef<HTMLFormElement>(null);\n\n useEffect(() => {\n fetch(\"/api/setup\")\n .then((r) => r.json())\n .then((b) => {\n if (b.keys) setIsSet(b.keys);\n else if (b.error) setMessage({ ok: false, text: b.error });\n })\n .catch(() => {});\n }, []);\n\n async function save(e: React.FormEvent) {\n e.preventDefault();\n setBusy(true);\n setMessage(null);\n try {\n const res = await fetch(\"/api/setup\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(values),\n });\n const body = await res.json();\n const res2: Record<string, Result> = body.results ?? {};\n setResults(res2);\n const firstBad = FIELDS.find((f) => res2[f.name] && !res2[f.name].ok);\n if (firstBad) setTimeout(() => formRef.current?.querySelector<HTMLInputElement>(`#${firstBad.name}`)?.focus(), 0);\n if (body.saved) {\n setSaved(true);\n setValues({});\n setIsSet(Object.fromEntries(FIELDS.map((f) => [f.name, true])));\n setMessage({ ok: true, text: \"Saved. Your keys are valid and stored in .env.local. No restart needed.\" });\n } else {\n setMessage({ ok: false, text: body.error ?? \"Nothing was saved. Fix the fields marked below.\" });\n }\n } catch {\n setMessage({ ok: false, text: \"Could not reach the dashboard server.\" });\n } finally {\n setBusy(false);\n }\n }\n\n return (\n <Card className=\"border-[#2d3748] bg-[#1a202c] shadow-md max-w-2xl\">\n <CardHeader>\n <CardTitle className=\"text-[18px] font-bold text-white tracking-tight\">Connect New Relic and Sentry</CardTitle>\n <CardDescription className=\"text-sm text-gray-400\">\n Keys are checked once, saved to .env.local in this folder, and never shown again. The key that sends events\n (Ingest - License) is separate and is added later on the Connect page.\n </CardDescription>\n </CardHeader>\n <CardContent>\n <form ref={formRef} onSubmit={save} className=\"flex flex-col gap-5\">\n {FIELDS.map((f) => {\n const r = results[f.name];\n return (\n <div key={f.name} className=\"flex flex-col gap-1.5\">\n <label htmlFor={f.name} className=\"text-sm font-medium text-gray-300\">\n {f.label} {isSet[f.name] && <span className=\"ml-2 text-xs text-[#3ee0a1]\">✓ Set</span>}\n </label>\n <Input\n id={f.name}\n name={f.name}\n type={f.secret ? \"password\" : \"text\"}\n autoComplete=\"off\"\n spellCheck={false}\n placeholder={isSet[f.name] ? \"•••••••• (leave blank to keep, type to replace)\" : \"\"}\n value={values[f.name] ?? \"\"}\n onChange={(e) => setValues({ ...values, [f.name]: e.target.value })}\n aria-invalid={r && !r.ok ? true : undefined}\n aria-describedby={`${f.name}-help ${f.name}-result`}\n className=\"bg-[#0f1419] border-[#2d3748] text-gray-200 font-mono text-xs\"\n />\n <p id={`${f.name}-help`} className=\"text-xs text-gray-400\">{f.help}</p>\n <div id={`${f.name}-result`} aria-live=\"polite\">\n {r && !r.ok && <p className=\"text-xs text-[#f87171]\">✗ {r.error}</p>}\n {r?.ok && <p className=\"text-xs text-[#3ee0a1]\">✓ Checked</p>}\n </div>\n </div>\n );\n })}\n <div className=\"flex items-center gap-4\">\n <Button type=\"submit\" disabled={busy}>{busy ? \"Checking…\" : \"Check and save\"}</Button>\n <span aria-live=\"polite\" className={`text-sm ${message?.ok ? \"text-[#3ee0a1]\" : \"text-[#f87171]\"}`}>{message?.text}</span>\n {saved && <Link href=\"/connect\" className={buttonVariants({ variant: \"outline\" })}>Next: connect your app</Link>}\n </div>\n </form>\n </CardContent>\n </Card>\n );\n}\n","import * as React from \"react\"\nimport { cn } from \"cn\"\n\nfunction Card({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(\n \"group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\n \"font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-(--card-spacing)\", className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\n \"flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing)\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n","// Client-safe access to the server-only async-storage singletons. On the\n// server these re-export the real storages; in the browser bundle this module\n// is aliased to `./server-async-storage.browser` (see\n// scripts/generate-browser-variant-aliases.mjs), which exports `undefined`\n// stubs so the AsyncLocalStorage modules are never bundled into the client.\n// Consumers must guard usage so the stubs are not dereferenced in the browser.\nexport { actionAsyncStorage } from '../../server/app-render/action-async-storage.external'\nexport { workAsyncStorage } from '../../server/app-render/work-async-storage.external'\nexport { workUnitAsyncStorage } from '../../server/app-render/work-unit-async-storage.external'\n"],"names":["FIELDS","name","label","secret","help","SetupForm","values","setValues","isSet","setIsSet","results","setResults","message","setMessage","busy","setBusy","saved","setSaved","formRef","fetch","then","r","json","b","keys","error","ok","text","catch","save","e","preventDefault","res","method","headers","body","JSON","stringify","res2","firstBad","find","f","setTimeout","current","querySelector","focus","Object","fromEntries","map","className","ref","onSubmit","htmlFor","id","type","autoComplete","spellCheck","placeholder","value","onChange","target","undefined","disabled","href","variant","Card","size","props","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter","actionAsyncStorage","workAsyncStorage","workUnitAsyncStorage"],"mappings":"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","ignoreList":[2]}
@@ -0,0 +1,3 @@
1
+ module.exports=[56672,a=>{"use strict";var b=a.i(87924),c=a.i(76459),d=a.i(40031),e=a.i(13983),f=a.i(64831);let g={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};g.node;let h=(0,f.default)(g);function i({className:a,...c}){return(0,b.jsx)("nav",{"aria-label":"breadcrumb","data-slot":"breadcrumb",className:(0,e.cn)(a),...c})}function j({className:a,...c}){return(0,b.jsx)("ol",{"data-slot":"breadcrumb-list",className:(0,e.cn)("flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-muted-foreground",a),...c})}function k({className:a,...c}){return(0,b.jsx)("li",{"data-slot":"breadcrumb-item",className:(0,e.cn)("inline-flex items-center gap-1",a),...c})}function l({className:a,render:b,...f}){return(0,d.useRender)({defaultTagName:"a",props:(0,c.mergeProps)({className:(0,e.cn)("transition-colors hover:text-foreground",a)},f),render:b,state:{slot:"breadcrumb-link"}})}function m({className:a,...c}){return(0,b.jsx)("span",{"data-slot":"breadcrumb-page",role:"link","aria-disabled":"true","aria-current":"page",className:(0,e.cn)("font-normal text-foreground",a),...c})}function n({children:a,className:c,...d}){return(0,b.jsx)("li",{"data-slot":"breadcrumb-separator",role:"presentation","aria-hidden":"true",className:(0,e.cn)("[&>svg]:size-3.5",c),...d,children:a??(0,b.jsx)(h,{})})}a.i(7396),a.s(["PerformanceBreadcrumb",0,function({pageName:a="Homepage"}){return(0,b.jsx)(i,{className:"mb-6",children:(0,b.jsxs)(j,{children:[(0,b.jsx)(k,{children:(0,b.jsx)(l,{href:"/performance",className:"text-gray-400 hover:text-white",children:"Performance"})}),(0,b.jsx)(n,{}),(0,b.jsx)(k,{children:(0,b.jsx)(m,{className:"text-white font-medium",children:a})})]})})}],56672)},45890,a=>{"use strict";var b=a.i(87924),c=a.i(50944),d=a.i(92994),e=a.i(50463),f=a.i(62191),g=a.i(56672),h=a.i(5800),i=a.i(75339);a.s(["PerformanceDetail",0,function({slug:a}){let{state:j,retry:k}=(0,f.useMetrics)();if("loading"===j.status)return(0,b.jsx)(e.Skeleton,{className:"h-64 w-full bg-[#2d3748]"});if("error"===j.status)return(0,b.jsx)(d.EmptyState,{title:"Could not load metrics",reason:j.message,onRetry:k});if(!j.configured)return(0,b.jsx)(d.EmptyState,{title:"Connect your data",reason:"Add your New Relic and Sentry keys to see real numbers.",href:"/setup",cta:"Set up keys"});if(0===j.pages.length)return(0,b.jsx)(d.EmptyState,{});let l=j.pages.find(b=>b.slug===a);return l||(0,c.notFound)(),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.PerformanceBreadcrumb,{pageName:l.name}),(0,f.hasData)(l)?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.PerformanceKPIs,{page:l}),(0,b.jsx)(i.RelatedErrorsList,{errors:l.sentry.latestErrors})]}):(0,b.jsx)(d.EmptyState,{reason:`${l.name} (${l.url}): keys work, but no page events have arrived.`})]})}])},5800,a=>{"use strict";var b=a.i(87924),c=a.i(3130),d=a.i(38688),e=a.i(8311),f=a.i(92378);a.s(["PerformanceKPIs",0,function({page:a}){let{newRelic:g}=a,h=[{label:"Average Load Time",value:`${Math.round(g.loadTime)}ms`,icon:(0,b.jsx)(e.Clock,{className:"h-4 w-4 text-[#3ee0a1]"})},{label:"Error Rate",value:`${g.errorRate.toFixed(2)}%`,icon:(0,b.jsx)(d.Activity,{className:"h-4 w-4 text-[#ef4444]"})},{label:"Traffic Volume",value:a.visitors,icon:(0,b.jsx)(f.Zap,{className:"h-4 w-4 text-[#06b6d4]"})}];return(0,b.jsx)("div",{className:"grid gap-6 md:grid-cols-3 mb-8",children:h.map(a=>(0,b.jsx)(c.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md",children:(0,b.jsxs)(c.CardContent,{className:"p-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-gray-400",children:a.label}),(0,b.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-[#0f1419] border border-[#2d3748]",children:a.icon})]}),(0,b.jsx)("span",{className:"text-3xl font-bold text-white tracking-tight",children:a.value})]})},a.label))})}])},75339,a=>{"use strict";var b=a.i(87924),c=a.i(3130),d=a.i(64831);let e={name:"circle-alert",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],aliases:["alert-circle"]};e.node;let f=(0,d.default)(e);var g=a.i(8311);a.s(["RelatedErrorsList",0,function({errors:a}){return(0,b.jsxs)(c.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md w-full lg:w-[400px]",children:[(0,b.jsx)(c.CardHeader,{children:(0,b.jsxs)(c.CardTitle,{className:"text-[18px] font-bold text-white tracking-tight flex items-center gap-2",children:[(0,b.jsx)(f,{className:"h-5 w-5 text-[#ef4444]"}),"Related Errors"]})}),(0,b.jsx)(c.CardContent,{children:0===a.length?(0,b.jsx)("p",{className:"text-sm text-gray-400",children:"No errors reported for this page."}):(0,b.jsx)("div",{className:"flex flex-col gap-3",children:a.map(a=>(0,b.jsxs)("div",{className:"flex flex-col gap-2 rounded-lg border border-[#2d3748] bg-[#0f1419] p-4",children:[(0,b.jsx)("div",{className:"flex items-center justify-between",children:(0,b.jsxs)("span",{className:"text-xs font-mono text-gray-500",children:[a.count," events"]})}),(0,b.jsx)("p",{className:"text-sm font-medium text-gray-200 line-clamp-2",children:a.title}),(0,b.jsxs)("div",{className:"flex items-center gap-1 mt-1 text-xs text-gray-500",children:[(0,b.jsx)(g.Clock,{className:"h-3 w-3"}),(0,b.jsx)("span",{children:new Date(a.lastSeen).toLocaleString()})]})]},a.title))})})]})}],75339)},92994,a=>{"use strict";var b=a.i(87924),c=a.i(38246),d=a.i(3130),e=a.i(40695);a.s(["EmptyState",0,function({title:a="No data yet",reason:f="Keys work, but no page events have arrived.",href:g="/connect",cta:h="Send your first events",onRetry:i}){return(0,b.jsx)(d.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md",children:(0,b.jsxs)(d.CardContent,{className:"flex flex-col items-center gap-3 p-10 text-center",children:[(0,b.jsx)("h3",{className:"text-lg font-semibold text-white",children:a}),(0,b.jsx)("p",{className:"max-w-md text-sm text-gray-400",children:f}),(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsx)(c.default,{href:g,className:(0,e.buttonVariants)(),children:h}),i&&(0,b.jsx)(e.Button,{variant:"outline",onClick:i,children:"Retry"})]})]})})}])},3130,a=>{"use strict";var b=a.i(87924),c=a.i(13983);a.s(["Card",0,function({className:a,size:d="default",...e}){return(0,b.jsx)("div",{"data-slot":"card","data-size":d,className:(0,c.cn)("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",a),...e})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-(--card-spacing)",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-description",className:(0,c.cn)("text-sm text-muted-foreground",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",a),...d})}])},62191,a=>{"use strict";var b=a.i(72131);a.s(["hasData",0,function(a){return a.newRelic.throughput>0||a.newRelic.loadTime>0||a.sentry.errorCount>0},"useMetrics",0,function(){let[a,c]=(0,b.useState)({status:"loading"}),[d,e]=(0,b.useState)(0);return(0,b.useEffect)(()=>{let a=!1;return fetch("/api/metrics").then(async b=>{let d=await b.json();if(!b.ok)throw Error(d.error??`HTTP ${b.status}`);a||c({status:"ready",configured:d.configured,pages:d.pages})}).catch(b=>{a||c({status:"error",message:b instanceof Error?b.message:"Request failed"})}),()=>{a=!0}},[d]),{state:a,retry:()=>{c({status:"loading"}),e(a=>a+1)}}}])},38688,a=>{"use strict";var b=a.i(64831);let c={name:"activity",size:24,node:[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]};c.node;let d=(0,b.default)(c);a.s(["Activity",0,d],38688)},8311,a=>{"use strict";var b=a.i(64831);let c={name:"clock",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]};c.node;let d=(0,b.default)(c);a.s(["Clock",0,d],8311)},7396,a=>{"use strict";var b=a.i(64831);let c={name:"ellipsis",size:24,node:[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],aliases:["more-horizontal"]};c.node;let d=(0,b.default)(c);a.s(["default",0,d])},92378,a=>{"use strict";var b=a.i(64831);let c={name:"zap",size:24,node:[["path",{d:"M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z",key:"1v7up4"}]]};c.node;let d=(0,b.default)(c);a.s(["Zap",0,d],92378)},69789,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={actionAsyncStorage:function(){return f.actionAsyncStorage},workAsyncStorage:function(){return g.workAsyncStorage},workUnitAsyncStorage:function(){return h.workUnitAsyncStorage}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(20635),g=a.r(56704),h=a.r(32319);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)}];
2
+
3
+ //# sourceMappingURL=_1bbiu24._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../components/Analytics/PerformanceBreadcrumb.tsx","../../../../components/ui/breadcrumb.tsx","../../../../node_modules/lucide-react/src/icons/chevron-right.ts","../../../../components/Analytics/PerformanceDetail.tsx","../../../../components/Analytics/PerformanceKPIs.tsx","../../../../components/Analytics/RelatedErrorsList.tsx","../../../../node_modules/lucide-react/src/icons/circle-alert.ts","../../../../components/EmptyState.tsx","../../../../components/ui/card.tsx","../../../../lib/useMetrics.ts","../../../../node_modules/lucide-react/src/icons/activity.ts","../../../../node_modules/lucide-react/src/icons/clock.ts","../../../../node_modules/lucide-react/src/icons/ellipsis.ts","../../../../node_modules/lucide-react/src/icons/zap.ts","../../../../node_modules/next/src/client/components/server-async-storage.ts"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\";\n\nexport function PerformanceBreadcrumb({ pageName = \"Homepage\" }: { pageName?: string }) {\n return (\n <Breadcrumb className=\"mb-6\">\n <BreadcrumbList>\n <BreadcrumbItem>\n <BreadcrumbLink href=\"/performance\" className=\"text-gray-400 hover:text-white\">Performance</BreadcrumbLink>\n </BreadcrumbItem>\n <BreadcrumbSeparator />\n <BreadcrumbItem>\n <BreadcrumbPage className=\"text-white font-medium\">{pageName}</BreadcrumbPage>\n </BreadcrumbItem>\n </BreadcrumbList>\n </Breadcrumb>\n );\n}\n","import * as React from \"react\"\nimport { mergeProps } from \"@base-ui/react/merge-props\"\nimport { useRender } from \"@base-ui/react/use-render\"\nimport { cn } from \"cn\"\nimport { ChevronRightIcon, MoreHorizontalIcon } from \"lucide-react\"\n\nfunction Breadcrumb({ className, ...props }: React.ComponentProps<\"nav\">) {\n return (\n <nav\n aria-label=\"breadcrumb\"\n data-slot=\"breadcrumb\"\n className={cn(className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n \"flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn(\"inline-flex items-center gap-1\", className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbLink({\n className,\n render,\n ...props\n}: useRender.ComponentProps<\"a\">) {\n return useRender({\n defaultTagName: \"a\",\n props: mergeProps<\"a\">(\n {\n className: cn(\"transition-colors hover:text-foreground\", className),\n },\n props\n ),\n render,\n state: {\n slot: \"breadcrumb-link\",\n },\n })\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"font-normal text-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {children ?? (\n <ChevronRightIcon />\n )}\n </li>\n )\n}\n\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\n \"flex size-5 items-center justify-center [&>svg]:size-4\",\n className\n )}\n {...props}\n >\n <MoreHorizontalIcon\n />\n <span className=\"sr-only\">More</span>\n </span>\n )\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'chevron-right',\n size: 24,\n node: [['path', { d: 'm9 18 6-6-6-6', key: 'mthhwq' }]],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name ChevronRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOSAxOCA2LTYtNi02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/chevron-right\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronRight = createLucideIcon(__iconData);\n\nexport default ChevronRight;\n","\"use client\";\n\nimport { notFound } from \"next/navigation\";\nimport { EmptyState } from \"@/components/EmptyState\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { useMetrics, hasData } from \"@/lib/useMetrics\";\nimport { PerformanceBreadcrumb } from \"./PerformanceBreadcrumb\";\nimport { PerformanceKPIs } from \"./PerformanceKPIs\";\nimport { RelatedErrorsList } from \"./RelatedErrorsList\";\n\nexport function PerformanceDetail({ slug }: { slug: string }) {\n const { state, retry } = useMetrics();\n\n if (state.status === \"loading\") return <Skeleton className=\"h-64 w-full bg-[#2d3748]\" />;\n if (state.status === \"error\") {\n return <EmptyState title=\"Could not load metrics\" reason={state.message} onRetry={retry} />;\n }\n if (!state.configured) {\n return <EmptyState title=\"Connect your data\" reason=\"Add your New Relic and Sentry keys to see real numbers.\" href=\"/setup\" cta=\"Set up keys\" />;\n }\n if (state.pages.length === 0) return <EmptyState />;\n const page = state.pages.find((p) => p.slug === slug);\n if (!page) notFound();\n\n return (\n <>\n <PerformanceBreadcrumb pageName={page.name} />\n {hasData(page) ? (\n <>\n <PerformanceKPIs page={page} />\n {/* ponytail: trend charts + hourly table return with persisted history (Phase 3). */}\n <RelatedErrorsList errors={page.sentry.latestErrors} />\n </>\n ) : (\n <EmptyState reason={`${page.name} (${page.url}): keys work, but no page events have arrived.`} />\n )}\n </>\n );\n}\n","\"use client\";\n\nimport React from \"react\";\nimport { Card, CardContent } from \"@/components/ui/card\";\nimport { Activity, Clock, Zap } from \"lucide-react\";\nimport type { MetricsPage } from \"@/lib/metricsHistory\";\n\nexport function PerformanceKPIs({ page }: { page: MetricsPage }) {\n const { newRelic } = page;\n const kpis = [\n { label: \"Average Load Time\", value: `${Math.round(newRelic.loadTime)}ms`, icon: <Clock className=\"h-4 w-4 text-[#3ee0a1]\" /> },\n { label: \"Error Rate\", value: `${newRelic.errorRate.toFixed(2)}%`, icon: <Activity className=\"h-4 w-4 text-[#ef4444]\" /> },\n { label: \"Traffic Volume\", value: page.visitors, icon: <Zap className=\"h-4 w-4 text-[#06b6d4]\" /> },\n ];\n\n return (\n <div className=\"grid gap-6 md:grid-cols-3 mb-8\">\n {kpis.map((kpi) => (\n <Card key={kpi.label} className=\"border-[#2d3748] bg-[#1a202c] shadow-md\">\n <CardContent className=\"p-6\">\n <div className=\"flex items-center justify-between mb-4\">\n <span className=\"text-sm font-medium text-gray-400\">{kpi.label}</span>\n <div className=\"flex h-8 w-8 items-center justify-center rounded-lg bg-[#0f1419] border border-[#2d3748]\">\n {kpi.icon}\n </div>\n </div>\n <span className=\"text-3xl font-bold text-white tracking-tight\">{kpi.value}</span>\n </CardContent>\n </Card>\n ))}\n </div>\n );\n}\n","\"use client\";\n\nimport React from \"react\";\nimport { Card, CardHeader, CardTitle, CardContent } from \"@/components/ui/card\";\nimport { AlertCircle, Clock } from \"lucide-react\";\nimport type { MetricsPage } from \"@/lib/metricsHistory\";\n\nexport function RelatedErrorsList({ errors }: { errors: MetricsPage[\"sentry\"][\"latestErrors\"] }) {\n return (\n <Card className=\"border-[#2d3748] bg-[#1a202c] shadow-md w-full lg:w-[400px]\">\n <CardHeader>\n <CardTitle className=\"text-[18px] font-bold text-white tracking-tight flex items-center gap-2\">\n <AlertCircle className=\"h-5 w-5 text-[#ef4444]\" />\n Related Errors\n </CardTitle>\n </CardHeader>\n <CardContent>\n {errors.length === 0 ? (\n <p className=\"text-sm text-gray-400\">No errors reported for this page.</p>\n ) : (\n <div className=\"flex flex-col gap-3\">\n {errors.map((err) => (\n <div key={err.title} className=\"flex flex-col gap-2 rounded-lg border border-[#2d3748] bg-[#0f1419] p-4\">\n <div className=\"flex items-center justify-between\">\n <span className=\"text-xs font-mono text-gray-500\">{err.count} events</span>\n </div>\n <p className=\"text-sm font-medium text-gray-200 line-clamp-2\">{err.title}</p>\n <div className=\"flex items-center gap-1 mt-1 text-xs text-gray-500\">\n <Clock className=\"h-3 w-3\" />\n <span>{new Date(err.lastSeen).toLocaleString()}</span>\n </div>\n </div>\n ))}\n </div>\n )}\n </CardContent>\n </Card>\n );\n}\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'circle-alert',\n size: 24,\n node: [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['line', { x1: '12', x2: '12', y1: '8', y2: '12', key: '1pkeuh' }],\n ['line', { x1: '12', x2: '12.01', y1: '16', y2: '16', key: '4dfq90' }],\n ],\n aliases: ['alert-circle'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name CircleAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8bGluZSB4MT0iMTIiIHgyPSIxMiIgeTE9IjgiIHkyPSIxMiIgLz4KICA8bGluZSB4MT0iMTIiIHgyPSIxMi4wMSIgeTE9IjE2IiB5Mj0iMTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/circle-alert\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CircleAlert = createLucideIcon(__iconData);\n\nexport default CircleAlert;\n","import Link from \"next/link\";\nimport { Card, CardContent } from \"@/components/ui/card\";\nimport { Button, buttonVariants } from \"@/components/ui/button\";\n\n/** Shared \"No data yet\" / error card for every /performance view. */\nexport function EmptyState({\n title = \"No data yet\",\n reason = \"Keys work, but no page events have arrived.\",\n href = \"/connect\",\n cta = \"Send your first events\",\n onRetry,\n}: {\n title?: string;\n reason?: string;\n href?: string;\n cta?: string;\n onRetry?: () => void;\n}) {\n return (\n <Card className=\"border-[#2d3748] bg-[#1a202c] shadow-md\">\n <CardContent className=\"flex flex-col items-center gap-3 p-10 text-center\">\n <h3 className=\"text-lg font-semibold text-white\">{title}</h3>\n <p className=\"max-w-md text-sm text-gray-400\">{reason}</p>\n <div className=\"flex gap-3\">\n <Link href={href} className={buttonVariants()}>\n {cta}\n </Link>\n {onRetry && (\n <Button variant=\"outline\" onClick={onRetry}>\n Retry\n </Button>\n )}\n </div>\n </CardContent>\n </Card>\n );\n}\n","import * as React from \"react\"\nimport { cn } from \"cn\"\n\nfunction Card({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(\n \"group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\n \"font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-(--card-spacing)\", className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\n \"flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing)\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n","\"use client\";\n\nimport { useEffect, useState } from \"react\";\nimport type { MetricsPage } from \"@/lib/metricsHistory\";\n\nexport type MetricsState =\n | { status: \"loading\" }\n | { status: \"error\"; message: string }\n | { status: \"ready\"; configured: boolean; pages: MetricsPage[] };\n\n/** A page that has never reported has no beacon hit: show \"No data yet\", never 0ms/Healthy. */\nexport function hasData(p: MetricsPage): boolean {\n return p.newRelic.throughput > 0 || p.newRelic.loadTime > 0 || p.sentry.errorCount > 0;\n}\n\nexport function useMetrics() {\n const [state, setState] = useState<MetricsState>({ status: \"loading\" });\n const [attempt, setAttempt] = useState(0);\n\n useEffect(() => {\n let cancelled = false;\n fetch(\"/api/metrics\")\n .then(async (res) => {\n const body = await res.json();\n if (!res.ok) throw new Error(body.error ?? `HTTP ${res.status}`);\n if (!cancelled) setState({ status: \"ready\", configured: body.configured, pages: body.pages });\n })\n .catch((e) => {\n if (!cancelled) setState({ status: \"error\", message: e instanceof Error ? e.message : \"Request failed\" });\n });\n return () => {\n cancelled = true;\n };\n }, [attempt]);\n\n const retry = () => {\n setState({ status: \"loading\" });\n setAttempt((n) => n + 1);\n };\n return { state, retry };\n}\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'activity',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2',\n key: '169zse',\n },\n ],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Activity\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTJoLTIuNDhhMiAyIDAgMCAwLTEuOTMgMS40NmwtMi4zNSA4LjM2YS4yNS4yNSAwIDAgMS0uNDggMEw5LjI0IDIuMThhLjI1LjI1IDAgMCAwLS40OCAwbC0yLjM1IDguMzZBMiAyIDAgMCAxIDQuNDkgMTJIMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/activity\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Activity = createLucideIcon(__iconData);\n\nexport default Activity;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'clock',\n size: 24,\n node: [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'M12 6v6l4 2', key: 'mmk7yg' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Clock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgNnY2bDQgMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/clock\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Clock = createLucideIcon(__iconData);\n\nexport default Clock;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'ellipsis',\n size: 24,\n node: [\n ['circle', { cx: '12', cy: '12', r: '1', key: '41hilf' }],\n ['circle', { cx: '19', cy: '12', r: '1', key: '1wjl8i' }],\n ['circle', { cx: '5', cy: '12', r: '1', key: '1pcz8c' }],\n ],\n aliases: ['more-horizontal'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Ellipsis\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxIiAvPgogIDxjaXJjbGUgY3g9IjE5IiBjeT0iMTIiIHI9IjEiIC8+CiAgPGNpcmNsZSBjeD0iNSIgY3k9IjEyIiByPSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ellipsis\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Ellipsis = createLucideIcon(__iconData);\n\nexport default Ellipsis;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'zap',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z',\n key: '1v7up4',\n },\n ],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Zap\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuOTE0IDRhMS41IDEuNSAwIDAwLTIuNDc0LTEuNTYxbC05IDlBMS41IDEuNSAwIDAwNS41IDE0aDQuMDAyYS41LjUgMCAwMS40NzEuNjY2TDguMDg2IDIwYTEuNSAxLjUgMCAwMDIuNDc1IDEuNTZsOS05QTEuNSAxLjUgMCAwMDE4LjUgMTBoLTMuOTk3YS41LjUgMCAwMS0uNDcyLS42Njd6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/zap\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Zap = createLucideIcon(__iconData);\n\nexport default Zap;\n","// Client-safe access to the server-only async-storage singletons. On the\n// server these re-export the real storages; in the browser bundle this module\n// is aliased to `./server-async-storage.browser` (see\n// scripts/generate-browser-variant-aliases.mjs), which exports `undefined`\n// stubs so the AsyncLocalStorage modules are never bundled into the client.\n// Consumers must guard usage so the stubs are not dereferenced in the browser.\nexport { actionAsyncStorage } from '../../server/app-render/action-async-storage.external'\nexport { workAsyncStorage } from '../../server/app-render/work-async-storage.external'\nexport { workUnitAsyncStorage } from '../../server/app-render/work-unit-async-storage.external'\n"],"names":["__iconData","node","PerformanceDetail","slug","state","retry","status","className","title","reason","message","onRetry","configured","href","cta","pages","length","page","find","p","pageName","name","errors","sentry","latestErrors","url","PerformanceKPIs","newRelic","kpis","label","value","Math","round","loadTime","icon","errorRate","toFixed","visitors","map","kpi","EmptyState","variant","onClick","Card","size","props","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter","hasData","throughput","errorCount","useMetrics","setState","attempt","setAttempt","cancelled","fetch","then","res","body","json","ok","Error","error","catch","e","n","actionAsyncStorage","workAsyncStorage","workUnitAsyncStorage"],"mappings":"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","ignoreList":[2,6,10,11,13,14]}
@@ -0,0 +1,6 @@
1
+ module.exports=[3613,a=>{"use strict";var b=a.i(87924),c=a.i(3130),d=a.i(40695),e=a.i(64831);let f={name:"cloud-download",size:24,node:[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]],aliases:["download-cloud"]};f.node;let g=(0,e.default)(f),h={name:"file-braces",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]],aliases:["file-json"]};h.node;let i=(0,e.default)(h);a.s(["ExportSettings",0,function(){return(0,b.jsxs)(c.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md mt-6",children:[(0,b.jsxs)(c.CardHeader,{children:[(0,b.jsx)(c.CardTitle,{className:"text-[18px] font-bold text-white tracking-tight",children:"Export Settings"}),(0,b.jsx)(c.CardDescription,{className:"text-sm text-gray-400",children:"Download your complete configuration or raw performance metrics."})]}),(0,b.jsx)(c.CardContent,{children:(0,b.jsxs)("div",{className:"flex gap-4",children:[(0,b.jsxs)(d.Button,{variant:"outline",className:"border-[#2d3748] bg-transparent text-gray-300 hover:bg-white/10 hover:text-white flex items-center gap-2",children:[(0,b.jsx)(g,{className:"h-4 w-4"}),"Export as CSV"]}),(0,b.jsxs)(d.Button,{variant:"outline",className:"border-[#2d3748] bg-transparent text-gray-300 hover:bg-white/10 hover:text-white flex items-center gap-2",children:[(0,b.jsx)(i,{className:"h-4 w-4"}),"Export as JSON"]})]})})]})}],3613)},84997,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(3130);a.s([],84102),a.i(84102);var e=a.i(50381),f=a.i(1811),g=a.i(57738),h=a.i(62824),i=a.i(24715),j=a.i(26184),k=a.i(557),l=a.i(21436),m=a.i(54662);let n=c.createContext(void 0),o={...a.i(27576).fieldValidityMapping,checked:a=>a?{"data-checked":""}:{"data-unchecked":""}};var p=a.i(85933),q=a.i(1230),r=a.i(58589),s=a.i(41302),t=a.i(77260),u=a.i(69476),v=a.i(94552),w=a.i(7436),x=a.i(64072);let y=c.forwardRef(function(a,d){let{checked:m,className:y,defaultChecked:z,"aria-labelledby":A,form:B,id:C,inputRef:D,name:E,nativeButton:F=!1,onCheckedChange:G,readOnly:H=!1,required:I=!1,disabled:J=!1,render:K,uncheckedValue:L,value:M,style:N,...O}=a,{clearErrors:P}=(0,s.useFormContext)(),{state:Q,setTouched:R,setDirty:S,validityData:T,setFilled:U,setFocused:V,validationMode:W,disabled:X,name:Y,validation:Z}=(0,q.useFieldRootContext)(),{labelId:$}=(0,t.useLabelableContext)(),_=X||J,aa=Y??E,ab=c.useRef(null),ac=(0,f.useMergedRefs)(ab,D,Z.inputRef),ad=c.useRef(null),ae=(0,k.useBaseUiId)(),af=(0,u.useLabelableId)({id:C}),ag=F?void 0:af,[ah,ai]=(0,e.useControlled)({controlled:m,default:!!z,name:"Switch",state:"checked"});(0,r.useRegisterFieldControl)(ad,ae,ah,void 0,!_,E),(0,g.useIsoLayoutEffect)(()=>{U(ah)},[ah,U]),(0,x.useValueChanged)(ah,()=>{P(aa),S(ah!==T.initialValue),Z.change(ah)});let{getButtonProps:aj,buttonRef:ak}=(0,l.useButton)({disabled:_,native:F}),al=function(a,b,d,e=!0,f){let[h,i]=c.useState(),j=(0,k.useBaseUiId)(f?`${f}-label`:void 0),l=a??b??h;return(0,g.useIsoLayoutEffect)(()=>{let c=a||b||!e?void 0:function(a,b){let c=function(a){if(!a)return;let b=a.parentElement;if(b&&"LABEL"===b.tagName)return b;let c=a.id;if(c){let b=a.nextElementSibling;if(b&&b.htmlFor===c)return b}let d=a.labels;return d&&d[0]}(a);if(c)return!c.id&&b&&(c.id=b),c.id||void 0}(d.current,j);h!==c&&i(c)}),l}(A,$,ab,!F,ag),am={...Z.getValidationProps(_),checked:ah,disabled:_,form:B,id:ag,name:aa,required:I,style:aa?h.visuallyHiddenInput:h.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:ac,onChange(a){if(a.nativeEvent.defaultPrevented)return;if(H)return void a.preventDefault();let b=a.currentTarget.checked,c=(0,v.createChangeEventDetails)(w.REASONS.none,a.nativeEvent);G?.(b,c),c.isCanceled||ai(b)},onClick(a){a.stopPropagation()},onFocus(){ad.current?.focus()},...void 0!==M?{value:M}:i.EMPTY_OBJECT},an=c.useMemo(()=>({...Q,checked:ah,disabled:_,readOnly:H,required:I}),[Q,ah,_,H,I]),ao=(0,j.useRenderElement)("span",a,{state:an,ref:[d,ad,ak],props:[{id:F?af:ae,role:"switch","aria-checked":ah,"aria-readonly":H||void 0,"aria-required":I||void 0,"aria-labelledby":al,onFocus(){_||V(!0)},onBlur(){let a=ab.current;a&&!_&&(R(!0),V(!1),"onBlur"===W&&Z.commit(a.checked))},onClick(a){if(H||_)return;a.preventDefault();let b=ab.current;b&&(0,p.dispatchClickWithModifiers)(b,a)}},O,aj,a=>Z.getValidationProps(_,a)],stateAttributesMapping:o});return(0,b.jsxs)(n.Provider,{value:an,children:[ao,!ah&&aa&&void 0!==L&&(0,b.jsx)("input",{type:"hidden",form:B,name:aa,value:L,disabled:_}),(0,b.jsx)("input",{...am,suppressHydrationWarning:!0})]})}),z=c.forwardRef(function(a,b){let{render:d,className:e,style:f,...g}=a,h=function(){let a=c.useContext(n);if(void 0===a)throw Error((0,m.default)(63));return a}();return(0,j.useRenderElement)("span",a,{state:h,ref:b,stateAttributesMapping:o,props:g})});a.s(["Root",0,y,"Thumb",0,z],40499);var A=a.i(40499),A=A,B=a.i(13983);function C({className:a,size:c="default",...d}){return(0,b.jsx)(A.Root,{"data-slot":"switch","data-size":c,className:(0,B.cn)("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none group-has-[:focus-visible]/field-label:border-transparent group-has-[:focus-visible]/field-label:ring-0 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",a),...d,children:(0,b.jsx)(A.Thumb,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"})})}var D=a.i(17171),E=a.i(83900);a.s(["NotificationPrefs",0,function(){let[a,e]=(0,c.useState)(!0),[f,g]=(0,c.useState)(!0),[h,i]=(0,c.useState)(!1);return(0,b.jsxs)(d.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md mb-6",children:[(0,b.jsxs)(d.CardHeader,{children:[(0,b.jsxs)(d.CardTitle,{className:"text-[18px] font-bold text-white tracking-tight flex items-center gap-2",children:[(0,b.jsx)(E.Bell,{className:"h-5 w-5 text-gray-400"}),"Notification Preferences"]}),(0,b.jsx)(d.CardDescription,{className:"text-sm text-gray-400",children:"Choose where and how you want to be alerted when thresholds are breached."})]}),(0,b.jsxs)(d.CardContent,{className:"space-y-6 max-w-lg",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"space-y-0.5",children:[(0,b.jsx)(D.Label,{className:"text-gray-300 text-sm",children:"Email Alerts"}),(0,b.jsx)("p",{className:"text-xs text-gray-500",children:"Receive reports and alerts to your primary email."})]}),(0,b.jsx)(C,{checked:a,onCheckedChange:e})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"space-y-0.5",children:[(0,b.jsx)(D.Label,{className:"text-gray-300 text-sm",children:"Slack Integration"}),(0,b.jsx)("p",{className:"text-xs text-gray-500",children:"Push critical alerts directly to a configured Slack channel."})]}),(0,b.jsx)(C,{checked:f,onCheckedChange:g})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"space-y-0.5",children:[(0,b.jsx)(D.Label,{className:"text-gray-300 text-sm",children:"SMS Alerts"}),(0,b.jsx)("p",{className:"text-xs text-gray-500",children:"Get text messages for immediate downtime incidents."})]}),(0,b.jsx)(C,{checked:h,onCheckedChange:i})]})]})]})}],84997)},3682,a=>{"use strict";var b=a.i(87924),c=a.i(3130),d=a.i(40695),e=a.i(88237),f=a.i(54161),g=a.i(64831);let h={name:"users",size:24,node:[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]};h.node;let i=(0,g.default)(h),j={name:"user-plus",size:24,node:[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]};j.node;let k=(0,g.default)(j),l=[{name:"Alice Freeman",email:"alice@company.com",role:"Admin",status:"Active"},{name:"Bob Smith",email:"bob@company.com",role:"Developer",status:"Active"},{name:"Charlie Davis",email:"charlie@company.com",role:"Viewer",status:"Invited"}];a.s(["TeamMembers",0,function(){return(0,b.jsxs)(c.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md",children:[(0,b.jsxs)(c.CardHeader,{className:"flex flex-row items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)(c.CardTitle,{className:"text-[18px] font-bold text-white tracking-tight flex items-center gap-2",children:[(0,b.jsx)(i,{className:"h-5 w-5 text-gray-400"}),"Team Members"]}),(0,b.jsx)(c.CardDescription,{className:"text-sm text-gray-400 mt-1",children:"Manage who has access to your performance dashboard."})]}),(0,b.jsxs)(d.Button,{className:"bg-[#3ee0a1] text-black hover:bg-[#3ee0a1]/80 flex items-center gap-2",children:[(0,b.jsx)(k,{className:"h-4 w-4"}),"Invite"]})]}),(0,b.jsx)(c.CardContent,{children:(0,b.jsx)("div",{className:"rounded-md border border-[#2d3748] overflow-hidden",children:(0,b.jsxs)(e.Table,{children:[(0,b.jsx)(e.TableHeader,{className:"bg-[#0f1419]",children:(0,b.jsxs)(e.TableRow,{className:"border-[#2d3748] hover:bg-transparent",children:[(0,b.jsx)(e.TableHead,{className:"text-gray-400",children:"Name"}),(0,b.jsx)(e.TableHead,{className:"text-gray-400",children:"Email"}),(0,b.jsx)(e.TableHead,{className:"text-gray-400",children:"Role"}),(0,b.jsx)(e.TableHead,{className:"text-right text-gray-400",children:"Status"})]})}),(0,b.jsx)(e.TableBody,{children:l.map(a=>(0,b.jsxs)(e.TableRow,{className:"border-[#2d3748] hover:bg-white/5 transition-colors",children:[(0,b.jsx)(e.TableCell,{className:"font-medium text-white",children:a.name}),(0,b.jsx)(e.TableCell,{className:"text-gray-400",children:a.email}),(0,b.jsx)(e.TableCell,{className:"text-gray-400",children:a.role}),(0,b.jsx)(e.TableCell,{className:"text-right",children:(0,b.jsx)(f.Badge,{variant:"outline",className:`
2
+ ${"Active"===a.status?"border-[#3ee0a1] text-[#3ee0a1] bg-[#3ee0a1]/10":""}
3
+ ${"Invited"===a.status?"border-[#f59e0b] text-[#f59e0b] bg-[#f59e0b]/10":""}
4
+ `,children:a.status})})]},a.email))})]})})})]})}],3682)},91654,a=>{"use strict";var b,c=a.i(87924),d=a.i(72131),e=a.i(3130);a.s([],69733),a.i(69733);var f=a.i(87828),g=a.i(50381),h=a.i(54401),i=a.i(57738),j=a.i(26599);function k(a,b,c=Object.is){let{length:d}=a;if(d!==b.length)return!1;for(let e=0;e<d;e+=1)if(!c(a[e],b[e]))return!1;return!0}var l=a.i(94552),m=a.i(64072),n=a.i(557),o=a.i(26184),p=a.i(30116),q=a.i(79923),r=a.i(1230),s=a.i(58589),t=a.i(41302),u=a.i(77260);function v(a,b){return a-b}function w(a,b,c,d,e,f){let g=(0,j.clamp)(a,c,d);if(!e)return g;let h=f.slice();return h[b]=(0,j.clamp)(g,f[b-1]??-1/0,f[b+1]??1/0),h.sort(v)}function x(a,b,c){if(!Array.isArray(a))return!0;let d=b*c;for(let b=0;b<a.length-1;b+=1)if(!(Math.abs(a[b]-a[b+1])>=d))return!1;return!0}var y=a.i(27576);let z=()=>null,A={activeThumbIndex:z,max:z,min:z,minStepsBetweenValues:z,step:z,values:z,...y.fieldValidityMapping};var B=a.i(54662);let C=d.createContext(void 0);function D(){let a=d.useContext(C);if(void 0===a)throw Error((0,B.default)(62));return a}var E=a.i(7436);let F=d.forwardRef(function(a,b){let{"aria-labelledby":e,className:y,defaultValue:z,disabled:B=!1,id:D,format:F,largeStep:G=10,locale:H,render:I,max:J=100,min:K=0,minStepsBetweenValues:L=0,form:M,name:N,onValueChange:O,onValueCommitted:P,orientation:Q="horizontal",step:R=1,thumbCollisionBehavior:S="push",thumbAlignment:T="center",value:U,style:V,...W}=a,X=(0,n.useBaseUiId)(D),Y=null==X?void 0:`${X}-label`,Z=(0,h.useStableCallback)(O),$=(0,h.useStableCallback)(P),{clearErrors:_}=(0,t.useFormContext)(),{state:aa,disabled:ab,name:ac,setTouched:ad,setDirty:ae,validityData:af,validation:ag}=(0,r.useFieldRootContext)(),{labelId:ah}=(0,u.useLabelableContext)(),[ai,aj]=d.useState(),ak=e??ah??ai,al=ab||B,am=ac??N,[an,ao]=(0,g.useControlled)({controlled:U,default:z??K,name:"Slider"}),ap=d.useRef(null),aq=d.useRef(null),ar=d.useRef([]),as=d.useRef(null),at=d.useRef(-1),au=d.useRef(null),av=d.useRef(E.REASONS.none),[aw,ax]=d.useState(-1),[ay,az]=d.useState(-1),[aA,aB]=d.useState(!1),[aC,aD]=d.useState(()=>new Map),[aE,aF]=d.useState([void 0,void 0]),aG=(0,h.useStableCallback)(a=>{ax(a),-1!==a&&az(a)}),aH=(0,h.useStableCallback)(a=>{a&&(aq.current=a)}),aI=Array.isArray(an),aJ=d.useMemo(()=>aI?an.map(a=>(0,j.clamp)(a,K,J)).sort(v):[(0,j.clamp)(an,K,J)],[J,K,aI,an]),aK=aI?aJ:aJ[0];(0,s.useRegisterFieldControl)(ag.inputRef,X,aK,void 0,!al,N),(0,m.useValueChanged)(aK,()=>{_(am),ag.change(aK);let a=af.initialValue;ae(Array.isArray(aK)&&Array.isArray(a)?!k(aK,a):aK!==a)});let aL=(0,h.useStableCallback)((a,b)=>{var c,d;if(Number.isNaN(a)||(c=a)===(d=an)||Array.isArray(c)&&Array.isArray(d)&&k(c,d))return!1;let e=b.event,f=new e.constructor(e.type,e);return Object.defineProperty(f,"target",{writable:!0,value:{value:a,name:am}}),b.event=f,Z(a,b),!b.isCanceled&&(av.current=b.reason,ao(a),!0)}),aM=(0,h.useStableCallback)((a,b,c)=>{let d=w(a,b,K,J,aI,aJ);if(x(d,R,L)){let a="key"in c?E.REASONS.keyboard:E.REASONS.inputChange,e=aL(d,(0,l.createChangeEventDetails)(a,c.nativeEvent,void 0,{activeThumbIndex:b}));ad(!0),e&&$(d,(0,l.createGenericEventDetails)(a,c.nativeEvent))}});(0,i.useIsoLayoutEffect)(()=>{if(!al)return;let a=(0,p.activeElement)((0,f.ownerDocument)(ap.current));(0,p.contains)(ap.current,a)&&a.blur(),-1!==aw&&aG(-1)},[aw,al,aG]);let aN=d.useMemo(()=>({...aa,activeThumbIndex:aw,disabled:al,dragging:aA,orientation:Q,max:J,min:K,minStepsBetweenValues:L,step:R,values:aJ}),[aa,aw,al,aA,J,K,L,Q,R,aJ]),aO=d.useMemo(()=>({active:aw,controlRef:aq,disabled:al,dragging:aA,validation:ag,format:F,handleInputChange:aM,indicatorPosition:aE,inset:"center"!==T,labelId:ak,rootLabelId:Y,largeStep:G,lastUsedThumbIndex:ay,lastChangeReasonRef:av,form:M,locale:H,max:J,min:K,minStepsBetweenValues:L,name:am,onValueCommitted:$,orientation:Q,pressedThumbCenterOffsetRef:as,pressedThumbIndexRef:at,pressedValuesRef:au,registerFieldControlRef:aH,renderBeforeHydration:"edge"===T,setActive:aG,setDragging:aB,setIndicatorPosition:aF,setLabelId:aj,setValue:aL,state:aN,step:R,thumbCollisionBehavior:S,thumbMap:aC,thumbRefs:ar,values:aJ}),[aw,ak,Y,al,aA,ag,F,aM,aE,G,ay,M,H,J,K,L,am,$,Q,aH,aG,aL,aN,R,S,T,aC,aJ]),aP=(0,o.useRenderElement)("div",a,{state:aN,ref:[b,ap],props:[{"aria-labelledby":ak,id:X,role:"group"},W,a=>ag.getValidationProps(al,a)],stateAttributesMapping:A});return(0,c.jsx)(C.Provider,{value:aO,children:(0,c.jsx)(q.CompositeList,{elementsRef:ar,onMapChange:aD,children:aP})})});var G=a.i(26476),H=a.i(89481);let I=d.forwardRef(function(a,b){let{render:c,className:d,style:e,...g}=a;delete g.id;let{state:h,setLabelId:i,controlRef:j,rootLabelId:k}=D(),l=(0,H.useLabel)({id:k,setLabelId:i,focusControl:function(a,b){if(b){let c=(0,f.ownerDocument)(a.currentTarget).getElementById(b);if((0,G.isHTMLElement)(c))return void(0,H.focusElementWithVisible)(c)}let c=j.current?.querySelectorAll('input[type="range"]'),d=c?.length===1?c[0]:null;(0,G.isHTMLElement)(d)&&(0,H.focusElementWithVisible)(d)}});return(0,o.useRenderElement)("div",a,{ref:b,state:h,props:[l,g],stateAttributesMapping:A})}),J=new Map;function K(a,b,c){return null==a?"":(function(a,b){let c=JSON.stringify({locale:function a(b){return Array.isArray(b)?b.map(b=>a(b)).join(","):null==b?"":String(b)}(a),options:b}),d=J.get(c);if(d)return d;let e=new Intl.NumberFormat(a,b);return J.set(c,e),e})(b,c).format(a)}let L=d.forwardRef(function(a,b){let{"aria-live":c="off",render:e,className:f,children:g,style:h,...i}=a,{thumbMap:j,state:k,values:l,format:m,locale:n}=D(),p=Array.from(j.values(),({inputId:a})=>a).join(" ").trim()||void 0,q=d.useMemo(()=>l.map(a=>K(a,n,m)),[m,n,l]),r=q.join(" – ");return(0,o.useRenderElement)("output",a,{state:k,ref:b,props:[{"aria-live":c,children:"function"==typeof g?g(q,l):r,htmlFor:p},i],stateAttributesMapping:A})});var M=a.i(68536),N=a.i(44530),O=a.i(54184),P=a.i(89862),Q=a.i(62903);function R(a,b){let c=a.getBoundingClientRect();return b?(c.top+c.bottom)/2:(c.left+c.right)/2}function S(a){if(0===a)return 0;if(1>Math.abs(a)){let b=a.toExponential().split("e-"),c=b[0].split(".")[1];return(c?c.length:0)+parseInt(b[1],10)}let b=a.toString().split(".")[1];return b?b.length:0}function T(a,b,c){return Number((Math.round((a-c)/b)*b+c).toFixed(Math.max(S(b),S(c))))}function U(a,b,c,d,e,f,g,h){let i=a.slice(),k=f*g,l=i.length-1,m=h??a;i[b]=(0,j.clamp)(c,d+b*k,e-(l-b)*k);for(let a=b+1;a<=l;a+=1){let b=i[a-1]+k,c=e-(l-a)*k,d=m[a],f=Math.max(i[a],b);d<f&&(f=Math.max(d,b)),i[a]=(0,j.clamp)(f,b,c)}for(let a=b-1;a>=0;a-=1){let b=i[a+1]-k,c=d+a*k,e=m[a],f=Math.min(i[a],b);e>f&&(f=Math.min(e,b)),i[a]=(0,j.clamp)(f,c,b)}for(let a=0;a<=l;a+=1)i[a]=Number(i[a].toFixed(12));return i}let V=d.forwardRef(function(a,b){let{render:c,className:e,style:g,...i}=a,{disabled:k,dragging:m,inset:n,lastChangeReasonRef:q,max:r,min:s,minStepsBetweenValues:t,onValueCommitted:u,orientation:v,pressedThumbCenterOffsetRef:w,pressedThumbIndexRef:y,pressedValuesRef:z,registerFieldControlRef:B,renderBeforeHydration:C,setActive:F,setDragging:H,setValue:I,state:J,step:K,thumbCollisionBehavior:L,thumbRefs:S,values:V}=D(),W=(0,Q.useDirection)(),X=V.length>1,Y="vertical"===v,Z=d.useRef(null),$=d.useRef(null),_=(0,h.useStableCallback)(a=>{a&&null==$.current&&($.current=(0,N.ownerWindow)(a).getComputedStyle(a))}),aa=d.useRef(null),ab=d.useRef(0),ac=d.useRef(0),ad=d.useRef(null),ae=(0,P.useValueAsRef)(V);function af(a){return a?.querySelector('input[type="range"]')}function ag(a){y.current=a,S.current[a]||(w.current=null)}function ah(){y.current=-1,w.current=null}function ai(a){return!!(0,G.isElement)(a)&&S.current.some(b=>!!(0,G.isElement)(b)&&!!(0,p.contains)(b,a)&&af(b)?.disabled===!0)}function aj(a){let b=Z.current,c=y.current;if(!b||c<0||c>=V.length)return c>=V.length&&(ad.current=null),null;let{width:d,height:e,bottom:f,left:g,right:h}=b.getBoundingClientRect(),i=function(a,b){if(!a)return{start:0,end:0};function c(a){let b=null!=a?parseFloat(a):0;return Number.isNaN(b)?0:b}let d=b?"Top":"InlineStart",e=b?"Bottom":"InlineEnd";return{start:c(a[`border${d}Width`])+c(a[`padding${d}`]),end:c(a[`border${e}Width`])+c(a[`padding${e}`])}}($.current,Y),k=ac.current,l=(Y?e:d)-i.start-i.end-2*k,m=w.current??0,n=a.x-m,o=a.y-m,p=Y?f-o-i.end:("rtl"===W?h-n:n-g)-i.start,q=(r-s)*(0,j.clamp)((p-k)/l,0,1)+s;return(q=T(q,K,s),q=(0,j.clamp)(q,s,r),X)?function(a,b,c,d,e,f,g,h,i,k){let l=c??b,m=d??b;if(!(l.length>1))return{value:f,thumbIndex:0,didSwap:!1};let n=i*k;if("push"===a)return{value:U(l,e,f,g,h,i,k),thumbIndex:e,didSwap:!1};let o=l.slice(),p=o[e-1],q=o[e+1],r=null!=p?p+n:g,s=null!=q?q-n:h,t=Number((0,j.clamp)(f,r,s).toFixed(12));if(o[e]=t,"swap"!==a)return{value:o,thumbIndex:e,didSwap:!1};{let a=l[e],b=f>a,c=f<a,d=b&&null!=q&&f>=q-1e-7,r=c&&null!=p&&f<=p+1e-7;if(!d&&!r)return{value:o,thumbIndex:e,didSwap:!1};let s=d?e+1:e-1,u=o.map((a,b)=>{if(b===e)return t;let c=m[b];return null!=c?c:l[b]}),v=f;v=d?Math.max(f,o[s]):Math.min(f,o[s]);let w=U(o,s,v,g,h,i,k,u),x=d?s-1:s+1,y=w[x-1],z=w[x+1],A=null!=y?y+n:g;A=Math.max(A,g+x*n);let B=null!=z?z-n:h;B=Math.min(B,h-(w.length-1-x)*n);let C=(0,j.clamp)(t,A,B);return w[x]=Number(C.toFixed(12)),{value:w,thumbIndex:s,didSwap:!0}}}(L,V,ae.current,z.current,c,q,s,r,K,t):{value:q,thumbIndex:c,didSwap:!1}}function ak(a){z.current=X?V.slice():null,ad.current=null,ae.current=V;let b=y.current,c=b;if(b>-1&&b<V.length){if(V[b]===r){let a=b;for(;a>0&&V[a-1]===r;)a-=1;c=a}}else{let b,d=Y?"y":"x";c=-1;for(let e=0;e<S.current.length;e+=1){let f=S.current[e];if((0,G.isElement)(f)&&!af(f)?.disabled){let g=R(f,Y),h=Math.abs(a[d]-g);(void 0===b||h<=b)&&(c=e,b=h)}}}if(c>-1&&c!==b&&ag(c),n){let a=S.current[c];(0,G.isElement)(a)&&(ac.current=a.getBoundingClientRect()[Y?"height":"width"]/2)}}function al(a){let b=af(S.current?.[a]);b&&b.focus({preventScroll:!0,focusVisible:!1})}function am(a,b,c){let d=I(a.value,(0,l.createChangeEventDetails)(b,c,void 0,{activeThumbIndex:a.thumbIndex}));return d&&(ad.current=a.value,ae.current=Array.isArray(a.value)?a.value:[a.value],a.didSwap&&(ag(a.thumbIndex),al(a.thumbIndex))),d}let an=(0,h.useStableCallback)(a=>{let b=function(a,b){if(null!=b.current&&a.changedTouches){for(let c=0;c<a.changedTouches.length;c+=1){let d=a.changedTouches[c];if(d.identifier===b.current)return{x:d.clientX,y:d.clientY}}return null}return{x:a.clientX,y:a.clientY}}(a,aa);if(null==b)return;if(ab.current+=1,"pointermove"===a.type&&0===a.buttons)return void ao(a);let c=aj(b);null!=c&&x(c.value,K,t)&&(!m&&ab.current>2&&H(!0),am(c,E.REASONS.drag,a))}),ao=(0,h.useStableCallback)(a=>{F(-1),H(!1),w.current=null;let b=ad.current;if(Array.isArray(b)&&b.length!==V.length&&(ad.current=null),null!=ad.current){let b=q.current;u(ad.current,(0,l.createGenericEventDetails)(b,a))}"pointerType"in a&&Z.current?.hasPointerCapture(a.pointerId)&&Z.current?.releasePointerCapture(a.pointerId),y.current=-1,aa.current=null,aq()}),ap=(0,h.useStableCallback)(a=>{if(k)return;if(ai((0,p.getTarget)(a)))return void ah();let b=a.changedTouches[0];if(null==b)return;aa.current=b.identifier;let c={x:b.clientX,y:b.clientY};ak(c);let d=aj(c);if(null==d)return;al(d.thumbIndex),am(d,E.REASONS.trackPress,a),ab.current=0;let e=(0,f.ownerDocument)(Z.current);e.addEventListener("touchmove",an,{passive:!0}),e.addEventListener("touchend",ao,{passive:!0})}),aq=(0,h.useStableCallback)(()=>{let a=(0,f.ownerDocument)(Z.current);a.removeEventListener("pointermove",an),a.removeEventListener("pointerup",ao),a.removeEventListener("touchmove",an),a.removeEventListener("touchend",ao),z.current=null,ad.current=null}),ar=(0,O.useAnimationFrame)();return d.useEffect(()=>{let a=Z.current;if(!a)return()=>aq();let b=(0,M.addEventListener)(a,"touchstart",ap,{passive:!0});return()=>{b(),ar.cancel(),aq()}},[aq,ap,Z,ar]),d.useEffect(()=>{k&&aq()},[k,aq]),(0,o.useRenderElement)("div",a,{state:J,ref:[b,B,Z,_],props:[{"data-base-ui-slider-control":C?"":void 0,onPointerDown(a){let b=Z.current,c=(0,p.getTarget)(a.nativeEvent);if(!b||k||a.defaultPrevented||!(0,G.isElement)(c)||0!==a.button)return;if(ai(c))return void ah();let d={x:a.clientX,y:a.clientY};ak(d);let e=aj(d);if(null==e)return;(0,p.contains)(S.current[e.thumbIndex],(0,p.activeElement)((0,f.ownerDocument)(b)))?a.preventDefault():ar.request(()=>{al(e.thumbIndex)}),H(!0),null==w.current&&am(e,E.REASONS.trackPress,a.nativeEvent),a.nativeEvent.pointerId&&b.setPointerCapture(a.nativeEvent.pointerId),ab.current=0;let g=(0,f.ownerDocument)(b);g.addEventListener("pointermove",an,{passive:!0}),g.addEventListener("pointerup",ao,{once:!0})}},i],stateAttributesMapping:A})}),W=d.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,{state:g}=D();return(0,o.useRenderElement)("div",a,{state:g,ref:b,props:[{style:{position:"relative"}},f],stateAttributesMapping:A})});var X=a.i(1811),Y=a.i(62824),Z=a.i(76459),$=a.i(57225),_=a.i(69649),aa=a.i(92403),ab=a.i(49559),ac=a.i(61813),ad=a.i(69476);let ae=new Set([..._.COMPOSITE_KEYS,_.PAGE_UP,_.PAGE_DOWN]),af=d.forwardRef(function(a,e){let f,g,k,{render:l,children:m,className:q,"aria-describedby":s,"aria-label":t,"aria-labelledby":u,"aria-valuetext":v,disabled:x=!1,getAriaLabel:y,getAriaValueText:z,id:B,index:C,inputRef:E,onBlur:F,onFocus:G,onKeyDown:H,tabIndex:I,style:J,...L}=a,M=(0,n.useBaseUiId)(B),{active:O,lastUsedThumbIndex:P,controlRef:U,disabled:V,validation:W,format:af,handleInputChange:ag,inset:ah,labelId:ai,largeStep:aj,locale:ak,max:al,min:am,minStepsBetweenValues:an,form:ao,name:ap,orientation:aq,pressedThumbCenterOffsetRef:ar,pressedThumbIndexRef:as,renderBeforeHydration:at,setActive:au,setIndicatorPosition:av,state:aw,step:ax,thumbRefs:ay,values:az}=D(),aA=(0,Q.useDirection)(),aB=x||V,aC=az.length>1,aD="vertical"===aq,aE="rtl"===aA,{setTouched:aF,setFocused:aG,validationMode:aH}=(0,r.useFieldRootContext)(),aI=d.useRef(null),aJ=d.useRef(null),aK=d.useRef(!1),aL=(0,h.useStableCallback)(a=>{aK.current||G?.(a)}),aM=(0,h.useStableCallback)(a=>{aK.current||F?.(a)}),aN=(0,n.useBaseUiId)(),aO=(0,ad.useLabelableId)(),aP=aC?aN:aO,aQ=d.useMemo(()=>({inputId:aP}),[aP]),{ref:aR,index:aS}=(0,aa.useCompositeListItem)({metadata:aQ}),aT=aC?C??aS:0,aU=aT===az.length-1,aV=az[aT],aW=(aV-am)*100/(al-am),[aX,aY]=d.useState(),aZ=(0,$.useIsHydrating)(),a$=P>=0&&P<az.length?P:-1,a_=(0,h.useStableCallback)(()=>{let a=U.current,b=aI.current;if(!a||!b)return;let c=b.getBoundingClientRect(),d=a.getBoundingClientRect(),e=aD?"height":"width",f=d[e]-c[e],g=(c[e]/2+f*aW/100)/d[e]*100,h=Number.isFinite(g)?g:void 0;aY(h),0===aT?av(a=>[h,a[1]]):aU&&av(a=>[a[0],h])});(0,i.useIsoLayoutEffect)(()=>{ah&&queueMicrotask(a_)},[a_,ah]),(0,i.useIsoLayoutEffect)(()=>{ah&&a_()},[a_,ah,aW]),(0,i.useIsoLayoutEffect)(()=>{if(!ah)return;let a=U.current,b=aI.current;if(!a||!b)return;let c=(0,N.ownerWindow)(a).ResizeObserver;if("function"!=typeof c)return;let d=new c(a_);return d.observe(a),d.observe(b),()=>{d.disconnect()}},[U,a_,ah]);let a0=aD?"bottom":"insetInlineStart",a1=aD?"left":"top";aC?O===aT?f=2:a$===aT&&(f=1):O===aT&&(f=1),g=ah||Number.isFinite(aW)?{position:"absolute",[a0]:ah?"var(--position)":`${aW}%`,[a1]:"50%",translate:`${(aD||!aE?-1:1)*50}% ${(aD?1:-1)*50}%`,zIndex:f,...ah&&{"--position":`${aX??0}%`,visibility:at&&aZ||void 0===aX?"hidden":void 0}}:Y.visuallyHidden,aD&&(k=aE?"vertical-rl":"vertical-lr");let a2="function"==typeof y?y(aT):t,a3=(0,Z.mergeProps)({"aria-label":a2,"aria-labelledby":u??(null==a2?ai:void 0),"aria-describedby":s,"aria-orientation":aq,"aria-valuenow":aV,"aria-valuetext":"function"==typeof z?z(K(aV,ak,af),aV,aT):v??function(a,b,c,d){if(!(b<0))return 2===a.length?`${K(a[b],d,c)} ${0===b?"start":"end"} range`:c?K(a[b],d,c):void 0}(az,aT,af,ak),disabled:aB,form:ao,id:aP,max:al,min:am,name:ap,onChange(a){ag(a.currentTarget.valueAsNumber,aT,a)},onFocus(a){let b=aK.current;aK.current=!1,au(aT),aG(!0),b&&a.stopPropagation()},onBlur(a){aK.current?a.stopPropagation():(au(-1),ay.current.some(b=>(0,p.contains)(b,a.relatedTarget))||(aF(!0),aG(!1),"onBlur"===aH&&W.commit(w(aV,aT,am,al,aC,az))))},onKeyDown(a){var b;let c;if(a.defaultPrevented||!ae.has(a.key))return;_.COMPOSITE_KEYS.has(a.key)&&a.stopPropagation();let d=null,e=0,f=a.shiftKey?aj:ax,g=T(aV,ax,am);switch(a.key){case _.ARROW_UP:e=1;break;case _.ARROW_RIGHT:e=aE?-1:1;break;case _.ARROW_DOWN:e=-1;break;case _.ARROW_LEFT:e=aE?1:-1;break;case _.PAGE_UP:f=aj,e=1;break;case _.PAGE_DOWN:f=aj,e=-1;break;case _.END:d=aC&&Number.isFinite(az[aT+1])?az[aT+1]-ax*an:al;break;case _.HOME:d=aC&&Number.isFinite(az[aT-1])?az[aT-1]+ax*an:am}if(0!==e&&(c=Number((g+(b=f)*e).toFixed(Math.max(S(g),S(b),S(am)))),d=(0,j.clamp)(c,am,al)),null!==d){let b=a.currentTarget;(0,ac.matchesFocusVisible)(b)||(aK.current=!0,b.blur(),b.focus({preventScroll:!0,focusVisible:!0})),ag(d,aT,a),a.preventDefault()}},step:ax,style:{...Y.visuallyHidden,width:"100%",height:"100%",writingMode:k},tabIndex:I,type:"range",value:aV??""},a=>W.getValidationProps(aB,a),{onFocus:aL,onBlur:aM,onKeyDown:H}),a4=(0,X.useMergedRefs)(aJ,W.inputRef,E);return(0,o.useRenderElement)("div",a,{state:aw,ref:[e,aR,aI],props:[{"data-index":aT,children:(0,c.jsxs)(d.Fragment,{children:[m,(0,c.jsx)("input",{ref:a4,...a3,suppressHydrationWarning:!0}),ah&&aU&&at&&(b||(b=(0,c.jsx)(ab.PrehydrationScript,{script:'!function(){const t=document.currentScript?.parentElement;if(!t)return;const e=t.closest("[data-base-ui-slider-control]");if(!e)return;const r=e.querySelector("[data-base-ui-slider-indicator]"),i=e.getBoundingClientRect(),n="vertical"===e.getAttribute("data-orientation")?"height":"width",o=e.querySelectorAll(\'input[type="range"]\'),l=o.length>1,s=o.length-1;let a=null,u=null;for(let t=0;t<o.length;t+=1){const e=o[t],y=parseFloat(e.getAttribute("value")??"");if(Number.isNaN(y))return;const c=e.parentElement;if(!c)return;const p=parseFloat(e.getAttribute("max")??"100"),g=parseFloat(e.getAttribute("min")??"0"),b=c?.getBoundingClientRect(),d=i[n]-b[n],m=100*(y-g)/(p-g),v=(b[n]/2+d*m/100)/i[n]*100;c.style.setProperty("--position",`${v}%`),Number.isFinite(v)&&(c.style.removeProperty("visibility"),r&&(0===t?(a=v,r.style.setProperty("--start-position",`${v}%`),l||r.style.removeProperty("visibility")):t===s&&(u=v-(a??0),r.style.setProperty("--end-position",`${v}%`),r.style.setProperty("--relative-size",`${u}%`),r.style.removeProperty("visibility"))))}}();'})))]}),id:M,onPointerDown(a){if(aB)return;as.current=aT;let b=R(a.currentTarget,aD);ar.current=(aD?a.clientY:a.clientX)-b},style:g,suppressHydrationWarning:at||void 0},L],stateAttributesMapping:A})}),ag=d.forwardRef(function(a,b){var c,d,e;let f,g,h,{render:i,className:j,style:k,...l}=a,{indicatorPosition:m,inset:n,max:p,min:q,orientation:r,renderBeforeHydration:s,state:t,values:u}=D(),v=(0,$.useIsHydrating)(),w=u.length>1,x=(c="vertical"===r,d=n?m[0]:(u[0]-q)*100/(p-q),e=n?m[1]:(u[u.length-1]-q)*100/(p-q),f={visibility:n&&s&&v||n&&(void 0===d||w&&void 0===e)?"hidden":void 0,position:c?"absolute":"relative",[c?"width":"height"]:"inherit"},g=`${d??0}%`,h=`${(e??0)-(d??0)}%`,n&&(f["--start-position"]=g,g="var(--start-position)",w&&(f["--relative-size"]=h,h="var(--relative-size)")),f[c?"bottom":"insetInlineStart"]=w?g:0,f[c?"height":"width"]=w?h:g,f);return(0,o.useRenderElement)("div",a,{state:t,ref:b,props:[{"data-base-ui-slider-indicator":s?"":void 0,style:x,suppressHydrationWarning:s||void 0},l],stateAttributesMapping:A})});a.s(["Control",0,V,"Indicator",0,ag,"Label",0,I,"Root",0,F,"Thumb",0,af,"Track",0,W,"Value",0,L],39034);var ah=a.i(39034),ah=ah,ai=a.i(13983);function aj({className:a,defaultValue:b,value:d,min:e=0,max:f=100,...g}){let h=Array.isArray(d)?d:Array.isArray(b)?b:[e,f];return(0,c.jsx)(ah.Root,{className:(0,ai.cn)("data-horizontal:w-full data-vertical:h-full",a),"data-slot":"slider",defaultValue:b,value:d,min:e,max:f,thumbAlignment:"edge",...g,children:(0,c.jsxs)(ah.Control,{className:"relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-vertical:h-full data-vertical:min-h-40 data-vertical:w-auto data-vertical:flex-col",children:[(0,c.jsx)(ah.Track,{"data-slot":"slider-track",className:"relative grow overflow-hidden rounded-full bg-muted select-none data-horizontal:h-1 data-horizontal:w-full data-vertical:h-full data-vertical:w-1",children:(0,c.jsx)(ah.Indicator,{"data-slot":"slider-range",className:"bg-primary select-none data-horizontal:h-full data-vertical:w-full"})}),Array.from({length:h.length},(a,b)=>(0,c.jsx)(ah.Thumb,{"data-slot":"slider-thumb",className:"relative block size-3 shrink-0 rounded-full border border-ring bg-white ring-ring/50 transition-[color,box-shadow] select-none after:absolute after:-inset-2 hover:ring-3 focus-visible:ring-3 focus-visible:outline-hidden active:ring-3 disabled:pointer-events-none disabled:opacity-50"},b))]})})}var ak=a.i(17171),al=a.i(38688);a.s(["ThresholdSettings",0,function(){let[a,b]=(0,d.useState)([1.5]),[f,g]=(0,d.useState)([2]),[h,i]=(0,d.useState)([99.9]);return(0,c.jsxs)(e.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md",children:[(0,c.jsxs)(e.CardHeader,{children:[(0,c.jsxs)(e.CardTitle,{className:"text-[18px] font-bold text-white tracking-tight flex items-center gap-2",children:[(0,c.jsx)(al.Activity,{className:"h-5 w-5 text-gray-400"}),"Performance Thresholds"]}),(0,c.jsx)(e.CardDescription,{className:"text-sm text-gray-400",children:'Set the boundaries that will trigger "Warning" or "Critical" statuses in your dashboard.'})]}),(0,c.jsxs)(e.CardContent,{className:"space-y-8 max-w-2xl",children:[(0,c.jsxs)("div",{className:"space-y-4",children:[(0,c.jsxs)("div",{className:"flex items-center justify-between",children:[(0,c.jsx)(ak.Label,{className:"text-gray-300 text-sm",children:"Load Time Threshold (Seconds)"}),(0,c.jsxs)("span",{className:"text-[#3ee0a1] font-mono text-sm",children:[a[0],"s"]})]}),(0,c.jsx)(aj,{value:a,onValueChange:a=>b(a),max:5,step:.1,className:"cursor-pointer"}),(0,c.jsx)("p",{className:"text-xs text-gray-500",children:"Alert triggers if average load time exceeds this value."})]}),(0,c.jsxs)("div",{className:"space-y-4",children:[(0,c.jsxs)("div",{className:"flex items-center justify-between",children:[(0,c.jsx)(ak.Label,{className:"text-gray-300 text-sm",children:"Error Rate Threshold (%)"}),(0,c.jsxs)("span",{className:"text-[#ef4444] font-mono text-sm",children:[f[0],"%"]})]}),(0,c.jsx)(aj,{value:f,onValueChange:a=>g(a),max:10,step:.5,className:"cursor-pointer"}),(0,c.jsx)("p",{className:"text-xs text-gray-500",children:"Alert triggers if percentage of 5xx errors exceeds this value."})]}),(0,c.jsxs)("div",{className:"space-y-4",children:[(0,c.jsxs)("div",{className:"flex items-center justify-between",children:[(0,c.jsx)(ak.Label,{className:"text-gray-300 text-sm",children:"Uptime SLA Target (%)"}),(0,c.jsxs)("span",{className:"text-[#06b6d4] font-mono text-sm",children:[h[0],"%"]})]}),(0,c.jsx)(aj,{value:h,onValueChange:a=>i(a),min:90,max:100,step:.01,className:"cursor-pointer"}),(0,c.jsx)("p",{className:"text-xs text-gray-500",children:"Your desired target uptime SLA for the month."})]})]})]})}],91654)},17171,a=>{"use strict";var b=a.i(87924),c=a.i(13983);a.s(["Label",0,function({className:a,...d}){return(0,b.jsx)("label",{"data-slot":"label",className:(0,c.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...d})}])},21958,a=>{"use strict";var b,c=a.i(87924);a.s([],17464),a.i(17464);var d=a.i(72131),e=a.i(50381),f=a.i(57738),g=a.i(54401),h=a.i(26184),i=a.i(79923),j=a.i(54662);let k=d.createContext(void 0);function l(){let a=d.useContext(k);if(void 0===a)throw Error((0,j.default)(64));return a}let m={tabActivationDirection:a=>({"data-activation-direction":a})};var n=a.i(94552),o=a.i(7436);let p=d.forwardRef(function(a,b){let{className:j,defaultValue:l=0,onValueChange:p,orientation:s="horizontal",render:t,value:u,style:v,...w}=a,x=void 0!==a.defaultValue,y=d.useRef([]),[z,A]=d.useState(()=>new Map),[B,C]=(0,e.useControlled)({controlled:u,default:l,name:"Tabs",state:"value"}),D=void 0!==u,[E,F]=d.useState(()=>new Map),G=d.useRef(void 0),H=d.useCallback(a=>q(E,a),[E]),[I,J]=d.useState(()=>({previousValue:B,tabActivationDirection:"none"})),{previousValue:K,tabActivationDirection:L}=I,M=L,N=!1;K!==B&&(M=r(K,B,s,E),N=null!=K&&null!=B&&null==H(B));let O=N?K:B,P=K!==O||L!==M;(0,f.useIsoLayoutEffect)(()=>{P&&J({previousValue:O,tabActivationDirection:M})},[O,P,M]);let Q=(0,g.useStableCallback)((a,b)=>{b.activationDirection=r(B,a,s,E),p?.(a,b),b.isCanceled||C(a)}),R=(0,g.useStableCallback)((a,b)=>{p?.(a,(0,n.createChangeEventDetails)(b,void 0,void 0,{activationDirection:"none"}))}),S=(0,g.useStableCallback)((a,b)=>(A(c=>{let d=new Map(c);return d.set(a,b),d}),()=>{A(c=>{if(c.get(a)!==b)return c;let d=new Map(c);return d.delete(a),d})})),T=d.useCallback(a=>z.get(a),[z]),U=d.useCallback(a=>{for(let b of E.values())if(a===b.value)return b.id},[E]),V=d.useMemo(()=>({getTabElementBySelectedValue:H,getTabIdByPanelValue:U,getTabPanelIdByValue:T,onValueChange:Q,orientation:s,registerMountedTabPanel:S,setTabMap:F,tabActivationDirection:M,value:B}),[H,U,T,Q,s,S,F,M,B]),W=d.useMemo(()=>{for(let a of E.values())if(a.value===B)return a},[E,B]),X=d.useMemo(()=>{for(let a of E.values())if(!a.disabled)return a.value},[E]),Y=d.useRef(!x),Z=d.useRef(l),$=d.useRef(x),_=d.useRef(!1);(0,f.useIsoLayoutEffect)(()=>{if(D)return;function a(a,b){C(a),J({previousValue:a,tabActivationDirection:"none"}),R(a,b),Y.current=!1}if(0===E.size){_.current&&null!==B&&!G.current?.isConnected&&a(null,o.REASONS.missing);return}_.current=!0,G.current=E.keys().next().value;let b=W?.disabled,c=null==W&&null!==B;if(b||B!==Z.current||($.current=!1),$.current&&b&&B===Z.current)return;let d=Y.current;if(b||c){let c=X??null;if(B===c){Y.current=!1;return}let e=o.REASONS.missing;d?e=o.REASONS.initial:b&&(e=o.REASONS.disabled),a(c,e);return}d&&null!=W&&(R(B,o.REASONS.initial),Y.current=!1)},[X,D,R,W,C,E,B]);let aa={orientation:s,tabActivationDirection:M},ab=(0,h.useRenderElement)("div",a,{state:aa,ref:b,props:w,stateAttributesMapping:m});return(0,c.jsx)(k.Provider,{value:V,children:(0,c.jsx)(i.CompositeList,{elementsRef:y,children:ab})})});function q(a,b){for(let[c,d]of a.entries())if(b===d.value)return c;return null}function r(a,b,c,d){if(null==a||null==b)return"none";let[e,f,g]="horizontal"===c?["left","left","right"]:["top","up","down"],h=q(d,a),i=q(d,b);if(null==h||null==i)return h!==i&&("number"==typeof a||"string"==typeof a)&&typeof a==typeof b?b>a?g:f:"none";let j=h.getBoundingClientRect()[e],k=i.getBoundingClientRect()[e];return k<j?f:k>j?g:"none"}var s=a.i(87828),t=a.i(557),u=a.i(21436);let v="data-composite-item-active";var w=a.i(1811),x=a.i(59539),y=a.i(92403);let z=d.createContext(void 0);function A(){let a=d.useContext(z);if(void 0===a)throw Error((0,j.default)(65));return a}var B=a.i(30116);let C=d.forwardRef(function(a,b){let{className:c,disabled:e=!1,render:i,value:j,id:k,nativeButton:p=!0,style:q,...r}=a,{value:z,getTabPanelIdByValue:C,onValueChange:D,orientation:E,tabActivationDirection:F}=l(),{activateOnFocus:G,registerTabResizeObserverElement:H,tabsListElement:I}=A(),{highlightedIndex:J,onHighlightedIndexChange:K}=(0,x.useCompositeRootContext)(),L=(0,t.useBaseUiId)(k),{compositeProps:M,compositeRef:N,index:O}=function(a={}){let{highlightItemOnHover:b,highlightedIndex:c,onHighlightedIndexChange:e}=(0,x.useCompositeRootContext)(),{ref:f,index:g}=(0,y.useCompositeListItem)(a),h=c===g,i=d.useRef(null),j=(0,w.useMergedRefs)(f,i);return{compositeProps:{tabIndex:h?0:-1,onFocus(){e(g)},onMouseMove(){let a=i.current;if(!b||!a)return;let c=a.hasAttribute("disabled")||"true"===a.ariaDisabled;h||c||a.focus()}},compositeRef:j,index:g}}({metadata:d.useMemo(()=>({disabled:e,id:L,value:j}),[e,L,j])}),P=j===z,Q=d.useRef(!1),R=d.useRef(null),S=(0,g.useStableCallback)(a=>{R.current?.(),R.current=a?H(a):null});(0,f.useIsoLayoutEffect)(()=>{if(Q.current){Q.current=!1;return}if(P&&O>-1&&J!==O){if(null!=I){let a=(0,B.activeElement)((0,s.ownerDocument)(I));if(a&&(0,B.contains)(I,a))return}e||K(O)}},[P,O,J,K,e,I]);let{getButtonProps:T,buttonRef:U}=(0,u.useButton)({disabled:e,native:p,focusableWhenDisabled:!0}),V=C(j),W=d.useRef(!1),X=d.useRef(!1);function Y(a){D(j,(0,n.createChangeEventDetails)(o.REASONS.none,a.nativeEvent,void 0,{activationDirection:"none"}))}return(0,h.useRenderElement)("button",a,{state:{disabled:e,active:P,orientation:E,tabActivationDirection:F},ref:[b,U,N,S],props:[M,{role:"tab","aria-controls":V,"aria-selected":P,id:L,onClick:function(a){P||e||Y(a)},onFocus:function(a){P||e||G&&(!W.current||X.current)&&Y(a)},onPointerDown:function(a){if(P||e)return;W.current=!0,X.current=0===a.button;let b=(0,s.ownerDocument)(a.currentTarget);function c(){W.current=!1,X.current=!1,b.removeEventListener("pointerup",c),b.removeEventListener("pointercancel",c)}b.addEventListener("pointerup",c),b.addEventListener("pointercancel",c)},[v]:P?"":void 0,onKeyDownCapture(){Q.current=!0}},r,T],stateAttributesMapping:m})});var D=a.i(26476),E=a.i(44530),F=a.i(49559),G=a.i(44501),H=a.i(71062);let I={...m,activeTabPosition:()=>null,activeTabSize:()=>null},J=d.forwardRef(function(a,e){let{className:f,render:g,renderBeforeHydration:i=!1,style:j,...k}=a,{getTabElementBySelectedValue:m,orientation:n,tabActivationDirection:o,value:p}=l(),{tabsListElement:q,registerIndicatorUpdateListener:r}=A(),s=function(){let[,a]=d.useState({});return d.useCallback(()=>{a({})},[])}();d.useEffect(()=>r(s),[r,s]);let t=0,u=0,v=0,w=0,x=0,y=0,z=!1;if(null!=p&&null!=q){let a=m(p);if(null!=a){z=!0;let{width:b,height:c}=(0,G.getCssDimensions)(a),{width:d,height:e}=(0,G.getCssDimensions)(q),f=a.getBoundingClientRect(),g=q.getBoundingClientRect(),h=d>0?g.width/d:1,i=e>0?g.height/e:1,j=function(a,b){let c=K(a),d=K(b),e=c.left-d.left-b.clientLeft,f=c.top-d.top-b.clientTop,g=(0,D.getParentNode)(a);for(;(0,D.isHTMLElement)(g)&&g!==b&&!(0,D.isLastTraversableNode)(g);)e-=g.scrollLeft,f-=g.scrollTop,g=(0,D.getParentNode)(g);return{left:e,top:f}}(a,q);t=j.left,v=j.top;let k=(f.left-g.left)/h+q.scrollLeft-q.clientLeft,l=(f.top-g.top)/i+q.scrollTop-q.clientTop,m=function(a){let b=(0,E.ownerWindow)(a).getComputedStyle(a),{x:c,y:d}=(0,H.getElementTransform)(a,b),e=c,f=d,{translate:g}=b;if(g&&"none"!==g){let b=g.split(" ");e+=L(b[0],a.offsetWidth),f+=L(b[1],a.offsetHeight)}return{x:e,y:f}}(a);2>=Math.abs(k-m.x-t)&&2>=Math.abs(l-m.y-v)&&(t=k,v=l),x=b,y=c,u=q.scrollWidth-t-x,w=q.scrollHeight-v-y}}let B=z?{left:t,right:u,top:v,bottom:w}:null,C=z?{width:x,height:y}:null,J=z?{"--active-tab-left":`${t}px`,"--active-tab-right":`${u}px`,"--active-tab-top":`${v}px`,"--active-tab-bottom":`${w}px`,"--active-tab-width":`${x}px`,"--active-tab-height":`${y}px`}:void 0,M=z&&x>0&&y>0,N=(0,h.useRenderElement)("span",a,{state:{orientation:n,activeTabPosition:B,activeTabSize:C,tabActivationDirection:o},ref:e,props:[{role:"presentation",style:J,hidden:!M},k,{suppressHydrationWarning:!0}],stateAttributesMapping:I});return null==p?null:(0,c.jsxs)(d.Fragment,{children:[N,i&&(b||(b=(0,c.jsx)(F.PrehydrationScript,{script:'!function(){const t=document.currentScript.previousElementSibling;if(!t)return;const e=t.closest(\'[role="tablist"]\');if(!e)return;const n=e.querySelector("[data-active]");if(!n)return;const o=getComputedStyle(n);if("none"!==o.transform||"none"!==o.translate||"none"!==o.rotate||"none"!==o.scale)return;function r(t){let e=0,n=0,o=t;for(;null!=o;){e+=o.offsetLeft,n+=o.offsetTop;const t=o.offsetParent;null!=t&&(e+=t.clientLeft,n+=t.clientTop),o=t}return{left:e,top:n}}function i(){const{width:o,height:i}=function(t){const e=getComputedStyle(t);let n=parseFloat(e.width)||0,o=parseFloat(e.height)||0;return(Math.round(n)!==t.offsetWidth||Math.round(o)!==t.offsetHeight)&&(n=t.offsetWidth,o=t.offsetHeight),{width:n,height:o}}(n),l=function(t,e){const n=r(t),o=r(e);let i=n.left-o.left-e.clientLeft,l=n.top-o.top-e.clientTop,s=t.parentElement;for(;null!=s&&s!==e;)i-=s.scrollLeft,l-=s.scrollTop,s=s.parentElement;return{left:i,top:l}}(n,e),s=Math.min(l.left,e.scrollWidth-o),f=Math.min(l.top,e.scrollHeight-i),c=e.scrollWidth-s-o,u=e.scrollHeight-f-i;function h(e,n){t.style.setProperty(`--active-tab-${e}`,`${n}px`)}return h("left",s),h("right",c),h("top",f),h("bottom",u),h("width",o),h("height",i),o>0&&i>0&&(t.removeAttribute("hidden"),!0)}if(i()||"undefined"==typeof ResizeObserver)return;let l,s;function f(){s.disconnect(),clearTimeout(l)}s=new ResizeObserver(()=>{t.isConnected&&t.hasAttribute("hidden")&&n.hasAttribute("data-active")?i()&&f():f()}),s.observe(n),l=setTimeout(f,1e4)}();'})))]})});function K(a){let b=0,c=0,d=a;for(;null!=d;){b+=d.offsetLeft,c+=d.offsetTop;let a=d.offsetParent;null!=a&&(b+=a.clientLeft,c+=a.clientTop),d=a}return{left:b,top:c}}function L(a,b){if(!a)return 0;let c=parseFloat(a);return Number.isFinite(c)?a.endsWith("%")?c/100*b:c:0}var M=a.i(54125),N=a.i(7393),O=a.i(5687),P=a.i(48250),Q=a.i(64683);Q.TransitionStatusDataAttributes.startingStyle,Q.TransitionStatusDataAttributes.endingStyle;let R={...m,...N.transitionStatusMapping},S=d.forwardRef(function(a,b){let{className:c,value:e,render:g,keepMounted:i=!1,style:j,...k}=a,{value:m,getTabIdByPanelValue:n,orientation:o,tabActivationDirection:p,registerMountedTabPanel:q}=l(),r=(0,t.useBaseUiId)(),{ref:s,index:u}=(0,y.useCompositeListItem)(),v=e===m,{mounted:w,transitionStatus:x,setMounted:z}=(0,P.useTransitionStatus)(v),A=!w,B=n(e),C=d.useRef(null),D=(0,h.useRenderElement)("div",a,{state:{hidden:A,orientation:o,tabActivationDirection:p,transitionStatus:x},ref:[b,s,C],props:[{"aria-labelledby":B,hidden:A,id:r,role:"tabpanel",tabIndex:v?0:-1,inert:(0,M.inertValue)(!v),"data-index":u},k],stateAttributesMapping:R});return((0,O.useOpenChangeComplete)({open:v,ref:C,onComplete(){v||z(!1)}}),(0,f.useIsoLayoutEffect)(()=>{if(null!=r&&(!A||i))return q(e,r)},[A,i,e,r,q]),i||w)?D:null});var T=a.i(24715),U=a.i(69649),V=a.i(96e3),W=a.i(62903);function X(a){let{render:b,className:e,style:j,refs:k=T.EMPTY_ARRAY,props:l=T.EMPTY_ARRAY,state:m=T.EMPTY_OBJECT,stateAttributesMapping:n,highlightedIndex:o,onHighlightedIndexChange:p,orientation:q,grid:r,loopFocus:s,onLoop:t,enableHomeAndEndKeys:u,onMapChange:y,stopEventPropagation:z=!0,rootRef:A,disabledIndices:C,modifierKeys:D,highlightItemOnHover:E=!1,tag:F="div",...G}=a,{props:H,highlightedIndex:I,onHighlightedIndexChange:J,elementsRef:K,onMapChange:L,relayKeyboardEvent:M}=function(a){let{loopFocus:b=!0,orientation:c="both",grid:e,onLoop:h,direction:i,highlightedIndex:j,onHighlightedIndexChange:k,rootRef:l,enableHomeAndEndKeys:m=!1,stopEventPropagation:n,disabledIndices:o,modifierKeys:p=T.EMPTY_ARRAY}=a,[q,r]=d.useState(0),s=null!=e,t=d.useRef(null),u=(0,w.useMergedRefs)(t,l),x=d.useRef([]),y=d.useRef(!1),z=d.useRef(null),A=j??q,C=(0,g.useStableCallback)((a,b=!1)=>{if(z.current=x.current[a]??null,(k??r)(a),b){let b=x.current[a];(0,U.scrollIntoViewIfNeeded)(t.current,b,i,c)}}),D=(0,g.useStableCallback)(a=>{if(0===a.size)return;if(y.current){let a=x.current,b=a.indexOf(z.current);if(-1===b){let b=a[A];!b||(0,V.isListIndexDisabled)(a,A,o)?C(function(a,b){let c=-1;for(let d=0;d<a.length;d+=1){let e=a[d];if(!(!e||(0,V.isListIndexDisabled)(a,d,b))){if(e.hasAttribute(v))return d;-1===c&&(c=d)}}return Math.max(c,0)}(a,o)):z.current=b}else b!==A&&C(b);return}y.current=!0;let b=Array.from(a.keys()),d=b.find(a=>a?.hasAttribute(v))??null,e=d?a.get(d)?.index??-1:-1;if(-1!==e)C(e);else if((0,V.isListIndexDisabled)(b,A,o)){let a=(0,V.findNonDisabledListIndex)(b,{disabledIndices:o});(0,V.isIndexOutOfListBounds)(b,a)||C(a)}(0,U.scrollIntoViewIfNeeded)(t.current,d,i,c)});(0,f.useIsoLayoutEffect)(()=>{if(null==o||null!=j||!y.current)return;let a=x.current;if((0,V.isListIndexDisabled)(a,A,o)){let b=(0,V.findNonDisabledListIndex)(a,{disabledIndices:o});(0,V.isIndexOutOfListBounds)(a,b)||C(b)}},[o,j,A,x,C]);let E=(0,g.useStableCallback)((a,b,c)=>h?h(a,b,c,x):c),F=(0,g.useStableCallback)(a=>{let d=a.key===U.HOME||a.key===U.END;if(!U.COMPOSITE_KEYS.has(a.key)||!m&&d||function(a,b){for(let c of U.MODIFIER_KEYS)if(!b.includes(c)&&a.getModifierState(c))return!0;return!1}(a,p)||!t.current)return;let f="rtl"===i,g=f?U.ARROW_LEFT:U.ARROW_RIGHT,j=f?U.ARROW_RIGHT:U.ARROW_LEFT,k="vertical"===c?U.ARROW_DOWN:g,l="vertical"===c?U.ARROW_UP:j,q=(0,B.getTarget)(a.nativeEvent);if(null!=q&&(0,U.isNativeInput)(q)&&!(null==q||q.hasAttribute("disabled")||"true"===q.getAttribute("aria-disabled"))){let b=q.selectionStart,c=q.selectionEnd,d=q.value;if(null==b||a.shiftKey||b!==c||a.key!==l&&b<d.length||a.key!==k&&b>0)return}let r=A,u=(0,V.getMinListIndex)(x,o),v=(0,V.getMaxListIndex)(x,o);null!=e&&(r=e({disabledIndices:o,elementsRef:x,event:a,highlightedIndex:A,loopFocus:b,maxIndex:v,minIndex:u,onLoop:E,orientation:c,rtl:f}));let w="vertical"!==c&&a.key===g||"horizontal"!==c&&a.key===U.ARROW_DOWN,y="vertical"!==c&&a.key===j||"horizontal"!==c&&a.key===U.ARROW_UP;m&&(a.key===U.HOME?r=u:a.key===U.END&&(r=v)),r===A&&(w||y)&&(b&&r===v&&w?(r=u,h&&(r=h(a,A,r,x))):b&&r===u&&y?(r=v,h&&(r=h(a,A,r,x))):r=(0,V.findNonDisabledListIndex)(x.current,{startingIndex:r,decrement:y,disabledIndices:o})),r===A||(0,V.isIndexOutOfListBounds)(x.current,r)||(n&&a.stopPropagation(),(s||d||w||y)&&a.preventDefault(),C(r,!0),queueMicrotask(()=>{x.current[r]?.focus()}))});return{props:{ref:u,onFocus(a){let b=t.current,c=(0,B.getTarget)(a.nativeEvent);b&&null!=c&&(0,U.isNativeInput)(c)&&c.setSelectionRange(0,c.value.length)},onKeyDown:F},highlightedIndex:A,onHighlightedIndexChange:C,elementsRef:x,onMapChange:D,relayKeyboardEvent:F}}({grid:r,loopFocus:s,onLoop:t,orientation:q,highlightedIndex:o,onHighlightedIndexChange:p,rootRef:A,stopEventPropagation:z,enableHomeAndEndKeys:u,direction:(0,W.useDirection)(),disabledIndices:C,modifierKeys:D}),N=(0,h.useRenderElement)(F,a,{state:m,ref:k,props:[H,...l,G],stateAttributesMapping:n}),O=d.useMemo(()=>({highlightedIndex:I,onHighlightedIndexChange:J,highlightItemOnHover:E,relayKeyboardEvent:M}),[I,J,E,M]);return(0,c.jsx)(x.CompositeRootContext.Provider,{value:O,children:(0,c.jsx)(i.CompositeList,{elementsRef:K,onMapChange:a=>{y?.(a),L(a)},children:N})})}let Y=d.forwardRef(function(a,b){let{activateOnFocus:e=!1,className:h,loopFocus:i=!0,render:j,style:k,...n}=a,{orientation:o,setTabMap:p,tabActivationDirection:q}=l(),[r,s]=d.useState(0),[t,u]=d.useState(null),v=d.useRef(new Set),w=d.useRef(new Set),x=d.useRef(null);(0,f.useIsoLayoutEffect)(()=>{if("u"<typeof ResizeObserver)return;let a=new ResizeObserver(()=>{v.current.forEach(a=>{a()})});return x.current=a,t&&a.observe(t),w.current.forEach(b=>{a.observe(b)}),()=>{a.disconnect(),x.current=null}},[t]);let y=(0,g.useStableCallback)(a=>(v.current.add(a),()=>{v.current.delete(a)})),A=(0,g.useStableCallback)(a=>(w.current.add(a),x.current?.observe(a),()=>{w.current.delete(a),x.current?.unobserve(a)})),B=d.useMemo(()=>({activateOnFocus:e,registerIndicatorUpdateListener:y,registerTabResizeObserverElement:A,tabsListElement:t}),[e,y,A,t]);return(0,c.jsx)(z.Provider,{value:B,children:(0,c.jsx)(X,{render:j,className:h,style:k,state:{orientation:o,tabActivationDirection:q},refs:[b,u],props:[{"aria-orientation":"vertical"===o?"vertical":void 0,role:"tablist"},n],stateAttributesMapping:m,highlightedIndex:r,enableHomeAndEndKeys:!0,loopFocus:i,orientation:o,onHighlightedIndexChange:s,onMapChange:p,disabledIndices:T.EMPTY_ARRAY})})});a.s(["Indicator",0,J,"List",0,Y,"Panel",0,S,"Root",0,p,"Tab",0,C],58524);var Z=a.i(58524),Z=Z,$=a.i(187),_=a.i(13983);let aa=(0,$.cva)("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});a.s(["Tabs",0,function({className:a,orientation:b="horizontal",...d}){return(0,c.jsx)(Z.Root,{"data-slot":"tabs","data-orientation":b,className:(0,_.cn)("group/tabs flex gap-2 data-horizontal:flex-col",a),...d})},"TabsContent",0,function({className:a,...b}){return(0,c.jsx)(Z.Panel,{"data-slot":"tabs-content",className:(0,_.cn)("flex-1 text-sm outline-none",a),...b})},"TabsList",0,function({className:a,variant:b="default",...d}){return(0,c.jsx)(Z.List,{"data-slot":"tabs-list","data-variant":b,className:(0,_.cn)(aa({variant:b}),a),...d})},"TabsTrigger",0,function({className:a,...b}){return(0,c.jsx)(Z.Tab,{"data-slot":"tabs-trigger",className:(0,_.cn)("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent","data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground","after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100",a),...b})},"tabsListVariants",0,aa],21958)},79923,92403,57225,49559,a=>{"use strict";var b=a.i(72131),c=a.i(79549),d=a.i(54401),e=a.i(57738);let f=b.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},nextIndexRef:{current:0}});var g=a.i(87924);function h(){return new Map}function i(){return new Set}function j(a,b){return a.compareDocumentPosition(b)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}a.s(["CompositeList",0,function(a){let{children:k,elementsRef:l,labelsRef:m,onMapChange:n}=a,o=(0,d.useStableCallback)(n),[,p]=b.useState(!1),q=(0,c.useRefWithInit)(i).current,r=(0,c.useRefWithInit)(h).current,s=b.useRef(0),t=b.useRef(!0),u=b.useRef(null),v=b.useRef(null),w=(0,d.useStableCallback)(()=>{t.current||(t.current=!0,p(a=>!a))}),x=(0,d.useStableCallback)((a,b)=>{r.set(a,b),w()}),y=(0,d.useStableCallback)(a=>{r.delete(a),w()}),z=(0,d.useStableCallback)(a=>{let b=new Map;return l.current.length=0,m&&(m.current.length=0),a.forEach(a=>{b.set(a.element,{...a.registration.metadata??{},index:a.index}),l.current[a.index]=a.element,m&&(m.current[a.index]=void 0!==a.registration.label?a.registration.label:a.registration.textRef?.current?.textContent??a.element.textContent)}),s.current=l.current.length,b}),A=(0,d.useStableCallback)(()=>{var a;let b,c,d,e,[f,g]=(a=r,b=new Set,c=[],d=[],a.forEach((a,e)=>{if(!e.isConnected)return;let f=a.index,g={index:f??-1,element:e,registration:a};null===f?d.push(g):f>=0&&(b.add(f),c.push(g))}),e=0,d.sort((a,b)=>j(a.element,b.element)),d.forEach(a=>{for(;b.has(e);)e+=1;a.index=e,c.push(a),e+=1}),b.size>0&&c.sort((a,b)=>a.index-b.index),[c,d.map(a=>a.element)]),h=z(f),i=u.current,k=!i||i.length!==f.length||f.some((a,b)=>{let c=i[b];return a.index!==c.index||a.element!==c.element||a.registration.index!==c.registration.index||a.registration.metadata!==c.registration.metadata});!function(a){if(v.current?.disconnect(),v.current=null,"function"!=typeof MutationObserver||a.length<2)return;let b=new MutationObserver(c=>{if(!function(a){for(let b of a)for(let a=0;a<b.removedNodes.length;a+=1)if(b.removedNodes[a].isConnected)return!0;return!1}(c))return;let d=null;for(let c of a)if(c.isConnected){if(d&&j(d,c)>0){b.disconnect(),w();return}d=c}});v.current=b;let c=new Set;for(let b=1;b<a.length;b+=1){let d=function(a,b){let c=a.parentElement;for(;c&&!c.contains(b);)c=c.parentElement;return c}(a[b-1],a[b]);d&&c.add(d)}c.forEach(a=>b.observe(a,{childList:!0}))}(g),u.current=f,t.current=!1,k&&(q.forEach(a=>a(h)),o(h))});(0,e.useIsoLayoutEffect)(()=>(!t.current&&u.current&&z(u.current),()=>{l.current=[],m&&(m.current=[])}),[l,m,z]),(0,e.useIsoLayoutEffect)(()=>{t.current&&A()}),(0,e.useIsoLayoutEffect)(()=>()=>{v.current?.disconnect(),t.current=!0},[]);let B=(0,d.useStableCallback)(a=>(q.add(a),()=>{q.delete(a)})),C=b.useMemo(()=>({register:x,unregister:y,subscribeMapChange:B,nextIndexRef:s}),[x,y,B,s]);return(0,g.jsx)(f.Provider,{value:C,children:k})}],79923),a.s(["useCompositeListItem",0,function(a={}){let{guess:c,label:d,metadata:g,textRef:h,index:i}=a,{register:j,unregister:k,subscribeMapChange:l,nextIndexRef:m}=b.useContext(f),n=b.useRef(-1),[o,p]=b.useState(null==i&&c?()=>{if(-1===n.current){let a=m.current;m.current+=1,n.current=a}return n.current}:-1),q=i??o,r=b.useRef(null),s=b.useCallback(a=>{let b=r.current;b&&k(b),r.current=a,a&&j(a,{metadata:g??null,index:i??null,label:d,textRef:h})},[i,j,k,g,d,h]);return(0,e.useIsoLayoutEffect)(()=>{if(null==i)return l(a=>{let b=r.current?a.get(r.current)?.index:null;null!=b&&p(b)})},[i,l]),{ref:s,index:q}}],92403);var k=a.i(87610),l=a.i(24715);function m(){return l.NOOP}function n(){return!1}function o(){return!0}function p(){return(0,k.useSyncExternalStore)(m,n,o)}a.s(["useIsHydrating",0,p],57225);let q=b.createContext(void 0),r={disableStyleElements:!1};a.s(["PrehydrationScript",0,function(a){let{script:c}=a,{nonce:d}=b.useContext(q)??r;return p()?(0,g.jsx)("script",{nonce:d,dangerouslySetInnerHTML:{__html:c},suppressHydrationWarning:!0}):null}],49559)}];
5
+
6
+ //# sourceMappingURL=_1d1ipgp._.js.map