@mastra/playground-ui 33.0.0-alpha.2 → 33.0.0-alpha.4

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 (1010) hide show
  1. package/CHANGELOG.md +179 -0
  2. package/dist/Avatar-Dcmi3-pN.js +42 -0
  3. package/dist/Avatar-Dcmi3-pN.js.map +1 -0
  4. package/dist/Avatar-Y-1fas25.cjs +44 -0
  5. package/dist/Avatar-Y-1fas25.cjs.map +1 -0
  6. package/dist/Badge-C5MzMyCa.js +34 -0
  7. package/dist/Badge-C5MzMyCa.js.map +1 -0
  8. package/dist/Badge-CQD9T1Yd.cjs +36 -0
  9. package/dist/Badge-CQD9T1Yd.cjs.map +1 -0
  10. package/dist/Breadcrumb-BT_nzL3M.cjs +39 -0
  11. package/dist/Breadcrumb-BT_nzL3M.cjs.map +1 -0
  12. package/dist/Breadcrumb-CxbCgAij.js +35 -0
  13. package/dist/Breadcrumb-CxbCgAij.js.map +1 -0
  14. package/dist/Button-DoOEJwa_.js +105 -0
  15. package/dist/Button-DoOEJwa_.js.map +1 -0
  16. package/dist/Button-DpIX8JMz.cjs +108 -0
  17. package/dist/Button-DpIX8JMz.cjs.map +1 -0
  18. package/dist/Card-Xx0_PeuI.cjs +90 -0
  19. package/dist/Card-Xx0_PeuI.cjs.map +1 -0
  20. package/dist/Card-cFJPRQ9O.js +64 -0
  21. package/dist/Card-cFJPRQ9O.js.map +1 -0
  22. package/dist/EmptyState-DfXdX6I8.js +31 -0
  23. package/dist/EmptyState-DfXdX6I8.js.map +1 -0
  24. package/dist/EmptyState-vw7dhSKP.cjs +33 -0
  25. package/dist/EmptyState-vw7dhSKP.cjs.map +1 -0
  26. package/dist/Entity-CVzaJDXu.js +42 -0
  27. package/dist/Entity-CVzaJDXu.js.map +1 -0
  28. package/dist/Entity-DALpbsRa.cjs +48 -0
  29. package/dist/Entity-DALpbsRa.cjs.map +1 -0
  30. package/dist/ErrorBoundary-6_BD8AkH.js +154 -0
  31. package/dist/ErrorBoundary-6_BD8AkH.js.map +1 -0
  32. package/dist/ErrorBoundary-BqiUSXyJ.cjs +175 -0
  33. package/dist/ErrorBoundary-BqiUSXyJ.cjs.map +1 -0
  34. package/dist/ErrorState-DH5KsoFs.js +14 -0
  35. package/dist/ErrorState-DH5KsoFs.js.map +1 -0
  36. package/dist/ErrorState-Dq9BVWmR.cjs +16 -0
  37. package/dist/ErrorState-Dq9BVWmR.cjs.map +1 -0
  38. package/dist/Header-Cfc5fIp6.js +31 -0
  39. package/dist/Header-Cfc5fIp6.js.map +1 -0
  40. package/dist/Header-wkLHG26m.cjs +36 -0
  41. package/dist/Header-wkLHG26m.cjs.map +1 -0
  42. package/dist/Icon-CJEjdbjB.js +14 -0
  43. package/dist/Icon-CJEjdbjB.js.map +1 -0
  44. package/dist/Icon-C_Ooy-cP.cjs +16 -0
  45. package/dist/Icon-C_Ooy-cP.cjs.map +1 -0
  46. package/dist/Notice-D5nzvm08.js +89 -0
  47. package/dist/Notice-D5nzvm08.js.map +1 -0
  48. package/dist/Notice-Mjo3MJi2.cjs +91 -0
  49. package/dist/Notice-Mjo3MJi2.cjs.map +1 -0
  50. package/dist/PermissionDenied-DFCUFnNH.js +22 -0
  51. package/dist/PermissionDenied-DFCUFnNH.js.map +1 -0
  52. package/dist/PermissionDenied-DjZjq-3E.cjs +24 -0
  53. package/dist/PermissionDenied-DjZjq-3E.cjs.map +1 -0
  54. package/dist/SessionExpired-DGk3CXNp.cjs +47 -0
  55. package/dist/SessionExpired-DGk3CXNp.cjs.map +1 -0
  56. package/dist/SessionExpired-Dhmm8eLq.js +45 -0
  57. package/dist/SessionExpired-Dhmm8eLq.js.map +1 -0
  58. package/dist/StatusBadge-Bow-zeGQ.cjs +74 -0
  59. package/dist/StatusBadge-Bow-zeGQ.cjs.map +1 -0
  60. package/dist/StatusBadge-CBbwykMh.js +72 -0
  61. package/dist/StatusBadge-CBbwykMh.js.map +1 -0
  62. package/dist/Txt-AhytBlTj.js +26 -0
  63. package/dist/Txt-AhytBlTj.js.map +1 -0
  64. package/dist/Txt-Cmn4ug68.cjs +28 -0
  65. package/dist/Txt-Cmn4ug68.cjs.map +1 -0
  66. package/dist/alert-dialog-DfQhrc2F.cjs +120 -0
  67. package/dist/alert-dialog-DfQhrc2F.cjs.map +1 -0
  68. package/dist/alert-dialog-bKOBpddM.js +99 -0
  69. package/dist/alert-dialog-bKOBpddM.js.map +1 -0
  70. package/dist/as-child-Dgr1RHLO.cjs +29 -0
  71. package/dist/as-child-Dgr1RHLO.cjs.map +1 -0
  72. package/dist/as-child-N1qMDCr8.js +8 -0
  73. package/dist/as-child-N1qMDCr8.js.map +1 -0
  74. package/dist/brand-loader-Bxz0bWdp.js +52 -0
  75. package/dist/brand-loader-Bxz0bWdp.js.map +1 -0
  76. package/dist/brand-loader-DNMY5ZK7.cjs +54 -0
  77. package/dist/brand-loader-DNMY5ZK7.cjs.map +1 -0
  78. package/dist/brand-loader.css +68 -0
  79. package/dist/buttons-group-BAU7uXE9.js +161 -0
  80. package/dist/buttons-group-BAU7uXE9.js.map +1 -0
  81. package/dist/buttons-group-BvLg2kpv.cjs +185 -0
  82. package/dist/buttons-group-BvLg2kpv.cjs.map +1 -0
  83. package/dist/checkbox-Bda6srNY.cjs +109 -0
  84. package/dist/checkbox-Bda6srNY.cjs.map +1 -0
  85. package/dist/checkbox-DmKlRClz.js +88 -0
  86. package/dist/checkbox-DmKlRClz.js.map +1 -0
  87. package/dist/chip-Cx5D5DkA.cjs +68 -0
  88. package/dist/chip-Cx5D5DkA.cjs.map +1 -0
  89. package/dist/chip-Dgrpa03p.js +66 -0
  90. package/dist/chip-Dgrpa03p.js.map +1 -0
  91. package/dist/chips-group-CaxAKuxv.cjs +23 -0
  92. package/dist/chips-group-CaxAKuxv.cjs.map +1 -0
  93. package/dist/chips-group-DgaAmiHe.js +21 -0
  94. package/dist/chips-group-DgaAmiHe.js.map +1 -0
  95. package/dist/code-B3WONxnA.cjs +68 -0
  96. package/dist/code-B3WONxnA.cjs.map +1 -0
  97. package/dist/code-C5KVVzOZ.js +47 -0
  98. package/dist/code-C5KVVzOZ.js.map +1 -0
  99. package/dist/code-block-53x4kvYO.js +73 -0
  100. package/dist/code-block-53x4kvYO.js.map +1 -0
  101. package/dist/code-block-UyWLLMZ0.cjs +75 -0
  102. package/dist/code-block-UyWLLMZ0.cjs.map +1 -0
  103. package/dist/code-diff-C2vuR6Ti.cjs +136 -0
  104. package/dist/code-diff-C2vuR6Ti.cjs.map +1 -0
  105. package/dist/code-diff-lktH1err.js +134 -0
  106. package/dist/code-diff-lktH1err.js.map +1 -0
  107. package/dist/code-editor-BuzhLm2a.cjs +446 -0
  108. package/dist/code-editor-BuzhLm2a.cjs.map +1 -0
  109. package/dist/code-editor-XAfFI9V8.js +438 -0
  110. package/dist/code-editor-XAfFI9V8.js.map +1 -0
  111. package/dist/collapsible-CDSgJ39O.cjs +61 -0
  112. package/dist/collapsible-CDSgJ39O.cjs.map +1 -0
  113. package/dist/collapsible-PODbdTuV.js +57 -0
  114. package/dist/collapsible-PODbdTuV.js.map +1 -0
  115. package/dist/combobox-B2TriE9Z.cjs +77 -0
  116. package/dist/combobox-B2TriE9Z.cjs.map +1 -0
  117. package/dist/combobox-q2xPfCZc.js +75 -0
  118. package/dist/combobox-q2xPfCZc.js.map +1 -0
  119. package/dist/command-D0tQ1Lpz.cjs +151 -0
  120. package/dist/command-D0tQ1Lpz.cjs.map +1 -0
  121. package/dist/command-DPEUOKZw.js +122 -0
  122. package/dist/command-DPEUOKZw.js.map +1 -0
  123. package/dist/components/AlertDialog.cjs.js +10 -0
  124. package/dist/components/AlertDialog.cjs.js.map +1 -0
  125. package/dist/components/AlertDialog.d.ts +2 -0
  126. package/dist/components/AlertDialog.es.js +2 -0
  127. package/dist/components/AlertDialog.es.js.map +1 -0
  128. package/dist/components/Avatar.cjs.js +10 -0
  129. package/dist/components/Avatar.cjs.js.map +1 -0
  130. package/dist/components/Avatar.d.ts +2 -0
  131. package/dist/components/Avatar.es.js +2 -0
  132. package/dist/components/Avatar.es.js.map +1 -0
  133. package/dist/components/Badge.cjs.js +10 -0
  134. package/dist/components/Badge.cjs.js.map +1 -0
  135. package/dist/components/Badge.d.ts +2 -0
  136. package/dist/components/Badge.es.js +2 -0
  137. package/dist/components/Badge.es.js.map +1 -0
  138. package/dist/components/BrandLoader.cjs.js +10 -0
  139. package/dist/components/BrandLoader.cjs.js.map +1 -0
  140. package/dist/components/BrandLoader.d.ts +2 -0
  141. package/dist/components/BrandLoader.es.js +2 -0
  142. package/dist/components/BrandLoader.es.js.map +1 -0
  143. package/dist/components/Breadcrumb.cjs.js +11 -0
  144. package/dist/components/Breadcrumb.cjs.js.map +1 -0
  145. package/dist/components/Breadcrumb.d.ts +2 -0
  146. package/dist/components/Breadcrumb.es.js +2 -0
  147. package/dist/components/Breadcrumb.es.js.map +1 -0
  148. package/dist/components/Button.cjs.js +11 -0
  149. package/dist/components/Button.cjs.js.map +1 -0
  150. package/dist/components/Button.d.ts +2 -0
  151. package/dist/components/Button.es.js +2 -0
  152. package/dist/components/Button.es.js.map +1 -0
  153. package/dist/components/ButtonsGroup.cjs.js +13 -0
  154. package/dist/components/ButtonsGroup.cjs.js.map +1 -0
  155. package/dist/components/ButtonsGroup.d.ts +2 -0
  156. package/dist/components/ButtonsGroup.es.js +2 -0
  157. package/dist/components/ButtonsGroup.es.js.map +1 -0
  158. package/dist/components/Card.cjs.js +15 -0
  159. package/dist/components/Card.cjs.js.map +1 -0
  160. package/dist/components/Card.d.ts +2 -0
  161. package/dist/components/Card.es.js +2 -0
  162. package/dist/components/Card.es.js.map +1 -0
  163. package/dist/components/Checkbox.cjs.js +10 -0
  164. package/dist/components/Checkbox.cjs.js.map +1 -0
  165. package/dist/components/Checkbox.d.ts +2 -0
  166. package/dist/components/Checkbox.es.js +2 -0
  167. package/dist/components/Checkbox.es.js.map +1 -0
  168. package/dist/components/Chip.cjs.js +12 -0
  169. package/dist/components/Chip.cjs.js.map +1 -0
  170. package/dist/components/Chip.d.ts +2 -0
  171. package/dist/components/Chip.es.js +3 -0
  172. package/dist/components/Chip.es.js.map +1 -0
  173. package/dist/components/Code.cjs.js +10 -0
  174. package/dist/components/Code.cjs.js.map +1 -0
  175. package/dist/components/Code.d.ts +2 -0
  176. package/dist/components/Code.es.js +2 -0
  177. package/dist/components/Code.es.js.map +1 -0
  178. package/dist/components/CodeBlock.cjs.js +10 -0
  179. package/dist/components/CodeBlock.cjs.js.map +1 -0
  180. package/dist/components/CodeBlock.d.ts +2 -0
  181. package/dist/components/CodeBlock.es.js +2 -0
  182. package/dist/components/CodeBlock.es.js.map +1 -0
  183. package/dist/components/CodeDiff.cjs.js +10 -0
  184. package/dist/components/CodeDiff.cjs.js.map +1 -0
  185. package/dist/components/CodeDiff.d.ts +2 -0
  186. package/dist/components/CodeDiff.es.js +2 -0
  187. package/dist/components/CodeDiff.es.js.map +1 -0
  188. package/dist/components/CodeEditor.cjs.js +18 -0
  189. package/dist/components/CodeEditor.cjs.js.map +1 -0
  190. package/dist/components/CodeEditor.d.ts +2 -0
  191. package/dist/components/CodeEditor.es.js +3 -0
  192. package/dist/components/CodeEditor.es.js.map +1 -0
  193. package/dist/components/Collapsible.cjs.js +12 -0
  194. package/dist/components/Collapsible.cjs.js.map +1 -0
  195. package/dist/components/Collapsible.d.ts +2 -0
  196. package/dist/components/Collapsible.es.js +2 -0
  197. package/dist/components/Collapsible.es.js.map +1 -0
  198. package/dist/components/Columns.cjs.js +12 -0
  199. package/dist/components/Columns.cjs.js.map +1 -0
  200. package/dist/components/Columns.d.ts +2 -0
  201. package/dist/components/Columns.es.js +2 -0
  202. package/dist/components/Columns.es.js.map +1 -0
  203. package/dist/components/Combobox.cjs.js +18 -0
  204. package/dist/components/Combobox.cjs.js.map +1 -0
  205. package/dist/components/Combobox.d.ts +2 -0
  206. package/dist/components/Combobox.es.js +4 -0
  207. package/dist/components/Combobox.es.js.map +1 -0
  208. package/dist/components/Command.cjs.js +18 -0
  209. package/dist/components/Command.cjs.js.map +1 -0
  210. package/dist/components/Command.d.ts +2 -0
  211. package/dist/components/Command.es.js +2 -0
  212. package/dist/components/Command.es.js.map +1 -0
  213. package/dist/components/ContentBlocks.cjs.js +11 -0
  214. package/dist/components/ContentBlocks.cjs.js.map +1 -0
  215. package/dist/components/ContentBlocks.d.ts +2 -0
  216. package/dist/components/ContentBlocks.es.js +2 -0
  217. package/dist/components/ContentBlocks.es.js.map +1 -0
  218. package/dist/components/ContextMenu.cjs.js +212 -0
  219. package/dist/components/ContextMenu.cjs.js.map +1 -0
  220. package/dist/components/ContextMenu.d.ts +2 -0
  221. package/dist/components/ContextMenu.es.js +189 -0
  222. package/dist/components/ContextMenu.es.js.map +1 -0
  223. package/dist/components/CopyButton.cjs.js +10 -0
  224. package/dist/components/CopyButton.cjs.js.map +1 -0
  225. package/dist/components/CopyButton.d.ts +2 -0
  226. package/dist/components/CopyButton.es.js +2 -0
  227. package/dist/components/CopyButton.es.js.map +1 -0
  228. package/dist/components/DashboardCard.cjs.js +10 -0
  229. package/dist/components/DashboardCard.cjs.js.map +1 -0
  230. package/dist/components/DashboardCard.d.ts +2 -0
  231. package/dist/components/DashboardCard.es.js +2 -0
  232. package/dist/components/DashboardCard.es.js.map +1 -0
  233. package/dist/components/DataCodeSection.cjs.js +10 -0
  234. package/dist/components/DataCodeSection.cjs.js.map +1 -0
  235. package/dist/components/DataCodeSection.d.ts +2 -0
  236. package/dist/components/DataCodeSection.es.js +2 -0
  237. package/dist/components/DataCodeSection.es.js.map +1 -0
  238. package/dist/components/DataDetailsPanel.cjs.js +228 -0
  239. package/dist/components/DataDetailsPanel.cjs.js.map +1 -0
  240. package/dist/components/DataDetailsPanel.d.ts +2 -0
  241. package/dist/components/DataDetailsPanel.es.js +224 -0
  242. package/dist/components/DataDetailsPanel.es.js.map +1 -0
  243. package/dist/components/DataFilter.cjs.js +10 -0
  244. package/dist/components/DataFilter.cjs.js.map +1 -0
  245. package/dist/components/DataFilter.d.ts +2 -0
  246. package/dist/components/DataFilter.es.js +2 -0
  247. package/dist/components/DataFilter.es.js.map +1 -0
  248. package/dist/components/DataKeysAndValues.cjs.js +10 -0
  249. package/dist/components/DataKeysAndValues.cjs.js.map +1 -0
  250. package/dist/components/DataKeysAndValues.d.ts +2 -0
  251. package/dist/components/DataKeysAndValues.es.js +2 -0
  252. package/dist/components/DataKeysAndValues.es.js.map +1 -0
  253. package/dist/components/DataList.cjs.js +14 -0
  254. package/dist/components/DataList.cjs.js.map +1 -0
  255. package/dist/components/DataList.d.ts +2 -0
  256. package/dist/components/DataList.es.js +3 -0
  257. package/dist/components/DataList.es.js.map +1 -0
  258. package/dist/components/DataPanel.cjs.js +10 -0
  259. package/dist/components/DataPanel.cjs.js.map +1 -0
  260. package/dist/components/DataPanel.d.ts +2 -0
  261. package/dist/components/DataPanel.es.js +2 -0
  262. package/dist/components/DataPanel.es.js.map +1 -0
  263. package/dist/components/DateTimePicker.cjs.js +15 -0
  264. package/dist/components/DateTimePicker.cjs.js.map +1 -0
  265. package/dist/components/DateTimePicker.d.ts +2 -0
  266. package/dist/components/DateTimePicker.es.js +3 -0
  267. package/dist/components/DateTimePicker.es.js.map +1 -0
  268. package/dist/components/DateTimeRangePicker.cjs.js +10 -0
  269. package/dist/components/DateTimeRangePicker.cjs.js.map +1 -0
  270. package/dist/components/DateTimeRangePicker.d.ts +2 -0
  271. package/dist/components/DateTimeRangePicker.es.js +2 -0
  272. package/dist/components/DateTimeRangePicker.es.js.map +1 -0
  273. package/dist/components/Dialog.cjs.js +20 -0
  274. package/dist/components/Dialog.cjs.js.map +1 -0
  275. package/dist/components/Dialog.d.ts +2 -0
  276. package/dist/components/Dialog.es.js +2 -0
  277. package/dist/components/Dialog.es.js.map +1 -0
  278. package/dist/components/Drawer.cjs.js +29 -0
  279. package/dist/components/Drawer.cjs.js.map +1 -0
  280. package/dist/components/Drawer.d.ts +2 -0
  281. package/dist/components/Drawer.es.js +2 -0
  282. package/dist/components/Drawer.es.js.map +1 -0
  283. package/dist/components/DropdownMenu.cjs.js +10 -0
  284. package/dist/components/DropdownMenu.cjs.js.map +1 -0
  285. package/dist/components/DropdownMenu.d.ts +2 -0
  286. package/dist/components/DropdownMenu.es.js +2 -0
  287. package/dist/components/DropdownMenu.es.js.map +1 -0
  288. package/dist/components/EmptyState.cjs.js +10 -0
  289. package/dist/components/EmptyState.cjs.js.map +1 -0
  290. package/dist/components/EmptyState.d.ts +2 -0
  291. package/dist/components/EmptyState.es.js +2 -0
  292. package/dist/components/EmptyState.es.js.map +1 -0
  293. package/dist/components/Entity.cjs.js +14 -0
  294. package/dist/components/Entity.cjs.js.map +1 -0
  295. package/dist/components/Entity.d.ts +2 -0
  296. package/dist/components/Entity.es.js +2 -0
  297. package/dist/components/Entity.es.js.map +1 -0
  298. package/dist/components/EntityHeader.cjs.js +10 -0
  299. package/dist/components/EntityHeader.cjs.js.map +1 -0
  300. package/dist/components/EntityHeader.d.ts +2 -0
  301. package/dist/components/EntityHeader.es.js +2 -0
  302. package/dist/components/EntityHeader.es.js.map +1 -0
  303. package/dist/components/Entry.cjs.js +10 -0
  304. package/dist/components/Entry.cjs.js.map +1 -0
  305. package/dist/components/Entry.d.ts +2 -0
  306. package/dist/components/Entry.es.js +2 -0
  307. package/dist/components/Entry.es.js.map +1 -0
  308. package/dist/components/ErrorBoundary.cjs.js +10 -0
  309. package/dist/components/ErrorBoundary.cjs.js.map +1 -0
  310. package/dist/components/ErrorBoundary.d.ts +2 -0
  311. package/dist/components/ErrorBoundary.es.js +2 -0
  312. package/dist/components/ErrorBoundary.es.js.map +1 -0
  313. package/dist/components/ErrorState.cjs.js +10 -0
  314. package/dist/components/ErrorState.cjs.js.map +1 -0
  315. package/dist/components/ErrorState.d.ts +2 -0
  316. package/dist/components/ErrorState.es.js +2 -0
  317. package/dist/components/ErrorState.es.js.map +1 -0
  318. package/dist/components/FormFieldBlocks.cjs.js +18 -0
  319. package/dist/components/FormFieldBlocks.cjs.js.map +1 -0
  320. package/dist/components/FormFieldBlocks.d.ts +2 -0
  321. package/dist/components/FormFieldBlocks.es.js +6 -0
  322. package/dist/components/FormFieldBlocks.es.js.map +1 -0
  323. package/dist/components/Header.cjs.js +13 -0
  324. package/dist/components/Header.cjs.js.map +1 -0
  325. package/dist/components/Header.d.ts +2 -0
  326. package/dist/components/Header.es.js +2 -0
  327. package/dist/components/Header.es.js.map +1 -0
  328. package/dist/components/HorizontalBars.cjs.js +10 -0
  329. package/dist/components/HorizontalBars.cjs.js.map +1 -0
  330. package/dist/components/HorizontalBars.d.ts +2 -0
  331. package/dist/components/HorizontalBars.es.js +2 -0
  332. package/dist/components/HorizontalBars.es.js.map +1 -0
  333. package/dist/components/HoverCard.cjs.js +12 -0
  334. package/dist/components/HoverCard.cjs.js.map +1 -0
  335. package/dist/components/HoverCard.d.ts +2 -0
  336. package/dist/components/HoverCard.es.js +2 -0
  337. package/dist/components/HoverCard.es.js.map +1 -0
  338. package/dist/components/Input.cjs.js +10 -0
  339. package/dist/components/Input.cjs.js.map +1 -0
  340. package/dist/components/Input.d.ts +2 -0
  341. package/dist/components/Input.es.js +2 -0
  342. package/dist/components/Input.es.js.map +1 -0
  343. package/dist/components/InputGroup.cjs.js +15 -0
  344. package/dist/components/InputGroup.cjs.js.map +1 -0
  345. package/dist/components/InputGroup.d.ts +2 -0
  346. package/dist/components/InputGroup.es.js +2 -0
  347. package/dist/components/InputGroup.es.js.map +1 -0
  348. package/dist/components/ItemList.cjs.js +14 -0
  349. package/dist/components/ItemList.cjs.js.map +1 -0
  350. package/dist/components/ItemList.d.ts +2 -0
  351. package/dist/components/ItemList.es.js +2 -0
  352. package/dist/components/ItemList.es.js.map +1 -0
  353. package/dist/components/JSONSchemaForm.cjs.js +547 -0
  354. package/dist/components/JSONSchemaForm.cjs.js.map +1 -0
  355. package/dist/components/JSONSchemaForm.d.ts +2 -0
  356. package/dist/components/JSONSchemaForm.es.js +507 -0
  357. package/dist/components/JSONSchemaForm.es.js.map +1 -0
  358. package/dist/components/Kbd.cjs.js +10 -0
  359. package/dist/components/Kbd.cjs.js.map +1 -0
  360. package/dist/components/Kbd.d.ts +2 -0
  361. package/dist/components/Kbd.es.js +2 -0
  362. package/dist/components/Kbd.es.js.map +1 -0
  363. package/dist/components/KeyValueList.cjs.js +10 -0
  364. package/dist/components/KeyValueList.cjs.js.map +1 -0
  365. package/dist/components/KeyValueList.d.ts +2 -0
  366. package/dist/components/KeyValueList.es.js +2 -0
  367. package/dist/components/KeyValueList.es.js.map +1 -0
  368. package/dist/components/Label.cjs.js +10 -0
  369. package/dist/components/Label.cjs.js.map +1 -0
  370. package/dist/components/Label.d.ts +2 -0
  371. package/dist/components/Label.es.js +2 -0
  372. package/dist/components/Label.es.js.map +1 -0
  373. package/dist/components/ListSearch.cjs.js +10 -0
  374. package/dist/components/ListSearch.cjs.js.map +1 -0
  375. package/dist/components/ListSearch.d.ts +2 -0
  376. package/dist/components/ListSearch.es.js +2 -0
  377. package/dist/components/ListSearch.es.js.map +1 -0
  378. package/dist/components/Logo.cjs.js +11 -0
  379. package/dist/components/Logo.cjs.js.map +1 -0
  380. package/dist/components/Logo.d.ts +2 -0
  381. package/dist/components/Logo.es.js +2 -0
  382. package/dist/components/Logo.es.js.map +1 -0
  383. package/dist/components/LogsDataList.cjs.js +12 -0
  384. package/dist/components/LogsDataList.cjs.js.map +1 -0
  385. package/dist/components/LogsDataList.d.ts +2 -0
  386. package/dist/components/LogsDataList.es.js +3 -0
  387. package/dist/components/LogsDataList.es.js.map +1 -0
  388. package/dist/components/MainContent.cjs.js +12 -0
  389. package/dist/components/MainContent.cjs.js.map +1 -0
  390. package/dist/components/MainContent.d.ts +2 -0
  391. package/dist/components/MainContent.es.js +2 -0
  392. package/dist/components/MainContent.es.js.map +1 -0
  393. package/dist/components/MainHeader.cjs.js +10 -0
  394. package/dist/components/MainHeader.cjs.js.map +1 -0
  395. package/dist/components/MainHeader.d.ts +2 -0
  396. package/dist/components/MainHeader.es.js +2 -0
  397. package/dist/components/MainHeader.es.js.map +1 -0
  398. package/dist/components/MainSidebar.cjs.js +17 -0
  399. package/dist/components/MainSidebar.cjs.js.map +1 -0
  400. package/dist/components/MainSidebar.d.ts +2 -0
  401. package/dist/components/MainSidebar.es.js +2 -0
  402. package/dist/components/MainSidebar.es.js.map +1 -0
  403. package/dist/components/MarkdownRenderer.cjs.js +10 -0
  404. package/dist/components/MarkdownRenderer.cjs.js.map +1 -0
  405. package/dist/components/MarkdownRenderer.d.ts +2 -0
  406. package/dist/components/MarkdownRenderer.es.js +2 -0
  407. package/dist/components/MarkdownRenderer.es.js.map +1 -0
  408. package/dist/components/MetricsCard.cjs.js +10 -0
  409. package/dist/components/MetricsCard.cjs.js.map +1 -0
  410. package/dist/components/MetricsCard.d.ts +2 -0
  411. package/dist/components/MetricsCard.es.js +2 -0
  412. package/dist/components/MetricsCard.es.js.map +1 -0
  413. package/dist/components/MetricsDataTable.cjs.js +10 -0
  414. package/dist/components/MetricsDataTable.cjs.js.map +1 -0
  415. package/dist/components/MetricsDataTable.d.ts +2 -0
  416. package/dist/components/MetricsDataTable.es.js +2 -0
  417. package/dist/components/MetricsDataTable.es.js.map +1 -0
  418. package/dist/components/MetricsFlexGrid.cjs.js +10 -0
  419. package/dist/components/MetricsFlexGrid.cjs.js.map +1 -0
  420. package/dist/components/MetricsFlexGrid.d.ts +2 -0
  421. package/dist/components/MetricsFlexGrid.es.js +2 -0
  422. package/dist/components/MetricsFlexGrid.es.js.map +1 -0
  423. package/dist/components/MetricsKpiCard.cjs.js +10 -0
  424. package/dist/components/MetricsKpiCard.cjs.js.map +1 -0
  425. package/dist/components/MetricsKpiCard.d.ts +2 -0
  426. package/dist/components/MetricsKpiCard.es.js +2 -0
  427. package/dist/components/MetricsKpiCard.es.js.map +1 -0
  428. package/dist/components/MetricsLineChart.cjs.js +11 -0
  429. package/dist/components/MetricsLineChart.cjs.js.map +1 -0
  430. package/dist/components/MetricsLineChart.d.ts +2 -0
  431. package/dist/components/MetricsLineChart.es.js +2 -0
  432. package/dist/components/MetricsLineChart.es.js.map +1 -0
  433. package/dist/components/Notice.cjs.js +10 -0
  434. package/dist/components/Notice.cjs.js.map +1 -0
  435. package/dist/components/Notice.d.ts +2 -0
  436. package/dist/components/Notice.es.js +2 -0
  437. package/dist/components/Notice.es.js.map +1 -0
  438. package/dist/components/PageHeader.cjs.js +10 -0
  439. package/dist/components/PageHeader.cjs.js.map +1 -0
  440. package/dist/components/PageHeader.d.ts +2 -0
  441. package/dist/components/PageHeader.es.js +2 -0
  442. package/dist/components/PageHeader.es.js.map +1 -0
  443. package/dist/components/PageLayout.cjs.js +14 -0
  444. package/dist/components/PageLayout.cjs.js.map +1 -0
  445. package/dist/components/PageLayout.d.ts +2 -0
  446. package/dist/components/PageLayout.es.js +3 -0
  447. package/dist/components/PageLayout.es.js.map +1 -0
  448. package/dist/components/PendingIndicator.cjs.js +10 -0
  449. package/dist/components/PendingIndicator.cjs.js.map +1 -0
  450. package/dist/components/PendingIndicator.d.ts +2 -0
  451. package/dist/components/PendingIndicator.es.js +2 -0
  452. package/dist/components/PendingIndicator.es.js.map +1 -0
  453. package/dist/components/PermissionDenied.cjs.js +10 -0
  454. package/dist/components/PermissionDenied.cjs.js.map +1 -0
  455. package/dist/components/PermissionDenied.d.ts +2 -0
  456. package/dist/components/PermissionDenied.es.js +2 -0
  457. package/dist/components/PermissionDenied.es.js.map +1 -0
  458. package/dist/components/Popover.cjs.js +13 -0
  459. package/dist/components/Popover.cjs.js.map +1 -0
  460. package/dist/components/Popover.d.ts +2 -0
  461. package/dist/components/Popover.es.js +2 -0
  462. package/dist/components/Popover.es.js.map +1 -0
  463. package/dist/components/PrevNextNav.cjs.js +29 -0
  464. package/dist/components/PrevNextNav.cjs.js.map +1 -0
  465. package/dist/components/PrevNextNav.d.ts +2 -0
  466. package/dist/components/PrevNextNav.es.js +25 -0
  467. package/dist/components/PrevNextNav.es.js.map +1 -0
  468. package/dist/components/PropertyFilter.cjs.js +13 -0
  469. package/dist/components/PropertyFilter.cjs.js.map +1 -0
  470. package/dist/components/PropertyFilter.d.ts +2 -0
  471. package/dist/components/PropertyFilter.es.js +2 -0
  472. package/dist/components/PropertyFilter.es.js.map +1 -0
  473. package/dist/components/RadioGroup.cjs.js +11 -0
  474. package/dist/components/RadioGroup.cjs.js.map +1 -0
  475. package/dist/components/RadioGroup.d.ts +2 -0
  476. package/dist/components/RadioGroup.es.js +2 -0
  477. package/dist/components/RadioGroup.es.js.map +1 -0
  478. package/dist/components/ScrollArea.cjs.js +11 -0
  479. package/dist/components/ScrollArea.cjs.js.map +1 -0
  480. package/dist/components/ScrollArea.d.ts +2 -0
  481. package/dist/components/ScrollArea.es.js +2 -0
  482. package/dist/components/ScrollArea.es.js.map +1 -0
  483. package/dist/components/ScrollableContainer.cjs.js +10 -0
  484. package/dist/components/ScrollableContainer.cjs.js.map +1 -0
  485. package/dist/components/ScrollableContainer.d.ts +2 -0
  486. package/dist/components/ScrollableContainer.es.js +2 -0
  487. package/dist/components/ScrollableContainer.es.js.map +1 -0
  488. package/dist/components/Searchbar.cjs.js +11 -0
  489. package/dist/components/Searchbar.cjs.js.map +1 -0
  490. package/dist/components/Searchbar.d.ts +2 -0
  491. package/dist/components/Searchbar.es.js +2 -0
  492. package/dist/components/Searchbar.es.js.map +1 -0
  493. package/dist/components/Section.cjs.js +12 -0
  494. package/dist/components/Section.cjs.js.map +1 -0
  495. package/dist/components/Section.d.ts +2 -0
  496. package/dist/components/Section.es.js +2 -0
  497. package/dist/components/Section.es.js.map +1 -0
  498. package/dist/components/SectionCard.cjs.js +11 -0
  499. package/dist/components/SectionCard.cjs.js.map +1 -0
  500. package/dist/components/SectionCard.d.ts +2 -0
  501. package/dist/components/SectionCard.es.js +2 -0
  502. package/dist/components/SectionCard.es.js.map +1 -0
  503. package/dist/components/Sections.cjs.js +10 -0
  504. package/dist/components/Sections.cjs.js.map +1 -0
  505. package/dist/components/Sections.d.ts +2 -0
  506. package/dist/components/Sections.es.js +2 -0
  507. package/dist/components/Sections.es.js.map +1 -0
  508. package/dist/components/Select.cjs.js +15 -0
  509. package/dist/components/Select.cjs.js.map +1 -0
  510. package/dist/components/Select.d.ts +2 -0
  511. package/dist/components/Select.es.js +2 -0
  512. package/dist/components/Select.es.js.map +1 -0
  513. package/dist/components/SessionExpired.cjs.js +10 -0
  514. package/dist/components/SessionExpired.cjs.js.map +1 -0
  515. package/dist/components/SessionExpired.d.ts +2 -0
  516. package/dist/components/SessionExpired.es.js +2 -0
  517. package/dist/components/SessionExpired.es.js.map +1 -0
  518. package/dist/components/SettingsRow.cjs.js +27 -0
  519. package/dist/components/SettingsRow.cjs.js.map +1 -0
  520. package/dist/components/SettingsRow.d.ts +2 -0
  521. package/dist/components/SettingsRow.es.js +23 -0
  522. package/dist/components/SettingsRow.es.js.map +1 -0
  523. package/dist/components/Shimmer.cjs.js +10 -0
  524. package/dist/components/Shimmer.cjs.js.map +1 -0
  525. package/dist/components/Shimmer.d.ts +2 -0
  526. package/dist/components/Shimmer.es.js +2 -0
  527. package/dist/components/Shimmer.es.js.map +1 -0
  528. package/dist/components/SideDialog.cjs.js +297 -0
  529. package/dist/components/SideDialog.cjs.js.map +1 -0
  530. package/dist/components/SideDialog.d.ts +2 -0
  531. package/dist/components/SideDialog.es.js +275 -0
  532. package/dist/components/SideDialog.es.js.map +1 -0
  533. package/dist/components/Skeleton.cjs.js +10 -0
  534. package/dist/components/Skeleton.cjs.js.map +1 -0
  535. package/dist/components/Skeleton.d.ts +2 -0
  536. package/dist/components/Skeleton.es.js +2 -0
  537. package/dist/components/Skeleton.es.js.map +1 -0
  538. package/dist/components/Slider.cjs.js +10 -0
  539. package/dist/components/Slider.cjs.js.map +1 -0
  540. package/dist/components/Slider.d.ts +2 -0
  541. package/dist/components/Slider.es.js +2 -0
  542. package/dist/components/Slider.es.js.map +1 -0
  543. package/dist/components/Spinner.cjs.js +10 -0
  544. package/dist/components/Spinner.cjs.js.map +1 -0
  545. package/dist/components/Spinner.d.ts +2 -0
  546. package/dist/components/Spinner.es.js +2 -0
  547. package/dist/components/Spinner.es.js.map +1 -0
  548. package/dist/components/StatusBadge.cjs.js +10 -0
  549. package/dist/components/StatusBadge.cjs.js.map +1 -0
  550. package/dist/components/StatusBadge.d.ts +2 -0
  551. package/dist/components/StatusBadge.es.js +2 -0
  552. package/dist/components/StatusBadge.es.js.map +1 -0
  553. package/dist/components/Steps.cjs.js +13 -0
  554. package/dist/components/Steps.cjs.js.map +1 -0
  555. package/dist/components/Steps.d.ts +2 -0
  556. package/dist/components/Steps.es.js +2 -0
  557. package/dist/components/Steps.es.js.map +1 -0
  558. package/dist/components/Switch.cjs.js +10 -0
  559. package/dist/components/Switch.cjs.js.map +1 -0
  560. package/dist/components/Switch.d.ts +2 -0
  561. package/dist/components/Switch.es.js +2 -0
  562. package/dist/components/Switch.es.js.map +1 -0
  563. package/dist/components/Table.cjs.js +19 -0
  564. package/dist/components/Table.cjs.js.map +1 -0
  565. package/dist/components/Table.d.ts +2 -0
  566. package/dist/components/Table.es.js +2 -0
  567. package/dist/components/Table.es.js.map +1 -0
  568. package/dist/components/Tabs.cjs.js +14 -0
  569. package/dist/components/Tabs.cjs.js.map +1 -0
  570. package/dist/components/Tabs.d.ts +2 -0
  571. package/dist/components/Tabs.es.js +3 -0
  572. package/dist/components/Tabs.es.js.map +1 -0
  573. package/dist/components/Text.cjs.js +11 -0
  574. package/dist/components/Text.cjs.js.map +1 -0
  575. package/dist/components/Text.d.ts +2 -0
  576. package/dist/components/Text.es.js +2 -0
  577. package/dist/components/Text.es.js.map +1 -0
  578. package/dist/components/Textarea.cjs.js +10 -0
  579. package/dist/components/Textarea.cjs.js.map +1 -0
  580. package/dist/components/Textarea.d.ts +2 -0
  581. package/dist/components/Textarea.es.js +2 -0
  582. package/dist/components/Textarea.es.js.map +1 -0
  583. package/dist/components/ThemeProvider.cjs.js +11 -0
  584. package/dist/components/ThemeProvider.cjs.js.map +1 -0
  585. package/dist/components/ThemeProvider.d.ts +2 -0
  586. package/dist/components/ThemeProvider.es.js +2 -0
  587. package/dist/components/ThemeProvider.es.js.map +1 -0
  588. package/dist/components/ThemeToggle.cjs.js +10 -0
  589. package/dist/components/ThemeToggle.cjs.js.map +1 -0
  590. package/dist/components/ThemeToggle.d.ts +2 -0
  591. package/dist/components/ThemeToggle.es.js +2 -0
  592. package/dist/components/ThemeToggle.es.js.map +1 -0
  593. package/dist/components/Tooltip.cjs.js +13 -0
  594. package/dist/components/Tooltip.cjs.js.map +1 -0
  595. package/dist/components/Tooltip.d.ts +2 -0
  596. package/dist/components/Tooltip.es.js +2 -0
  597. package/dist/components/Tooltip.es.js.map +1 -0
  598. package/dist/components/Tree.cjs.js +10 -0
  599. package/dist/components/Tree.cjs.js.map +1 -0
  600. package/dist/components/Tree.d.ts +2 -0
  601. package/dist/components/Tree.es.js +2 -0
  602. package/dist/components/Tree.es.js.map +1 -0
  603. package/dist/components/Truncate.cjs.js +10 -0
  604. package/dist/components/Truncate.cjs.js.map +1 -0
  605. package/dist/components/Truncate.d.ts +2 -0
  606. package/dist/components/Truncate.es.js +2 -0
  607. package/dist/components/Truncate.es.js.map +1 -0
  608. package/dist/components/Txt.cjs.js +10 -0
  609. package/dist/components/Txt.cjs.js.map +1 -0
  610. package/dist/components/Txt.d.ts +2 -0
  611. package/dist/components/Txt.es.js +2 -0
  612. package/dist/components/Txt.es.js.map +1 -0
  613. package/dist/content-block-BTpK7gPz.js +38 -0
  614. package/dist/content-block-BTpK7gPz.js.map +1 -0
  615. package/dist/content-block-Csb01oxE.cjs +41 -0
  616. package/dist/content-block-Csb01oxE.cjs.map +1 -0
  617. package/dist/control-size-BdDLgGX4.js +22 -0
  618. package/dist/control-size-BdDLgGX4.js.map +1 -0
  619. package/dist/control-size-D67C0kPZ.cjs +26 -0
  620. package/dist/control-size-D67C0kPZ.cjs.map +1 -0
  621. package/dist/copy-button-DDKn1NUS.js +42 -0
  622. package/dist/copy-button-DDKn1NUS.js.map +1 -0
  623. package/dist/copy-button-lrxHKwwi.cjs +44 -0
  624. package/dist/copy-button-lrxHKwwi.cjs.map +1 -0
  625. package/dist/dashboard-card-B9enj4NG.cjs +11 -0
  626. package/dist/dashboard-card-B9enj4NG.cjs.map +1 -0
  627. package/dist/dashboard-card-C7nmBU5A.js +9 -0
  628. package/dist/dashboard-card-C7nmBU5A.js.map +1 -0
  629. package/dist/data-code-section-BYhkWiIy.js +332 -0
  630. package/dist/data-code-section-BYhkWiIy.js.map +1 -0
  631. package/dist/data-code-section-Bz_B8nrw.cjs +335 -0
  632. package/dist/data-code-section-Bz_B8nrw.cjs.map +1 -0
  633. package/dist/data-keys-and-values-BSeQG7jb.js +122 -0
  634. package/dist/data-keys-and-values-BSeQG7jb.js.map +1 -0
  635. package/dist/data-keys-and-values-Spy2O_IE.cjs +124 -0
  636. package/dist/data-keys-and-values-Spy2O_IE.cjs.map +1 -0
  637. package/dist/data-list-skeleton-Bges_t5u.cjs +416 -0
  638. package/dist/data-list-skeleton-Bges_t5u.cjs.map +1 -0
  639. package/dist/data-list-skeleton-C9Ncz3jM.js +389 -0
  640. package/dist/data-list-skeleton-C9Ncz3jM.js.map +1 -0
  641. package/dist/data-panel-CaS60apX.js +87 -0
  642. package/dist/data-panel-CaS60apX.js.map +1 -0
  643. package/dist/data-panel-CbV9Ycys.cjs +89 -0
  644. package/dist/data-panel-CbV9Ycys.cjs.map +1 -0
  645. package/dist/date-time-picker-BKqGpw5w.cjs +268 -0
  646. package/dist/date-time-picker-BKqGpw5w.cjs.map +1 -0
  647. package/dist/date-time-picker-t67keTZg.js +245 -0
  648. package/dist/date-time-picker-t67keTZg.js.map +1 -0
  649. package/dist/date-time-range-picker-Do-3VVvo.cjs +170 -0
  650. package/dist/date-time-range-picker-Do-3VVvo.cjs.map +1 -0
  651. package/dist/date-time-range-picker-iMvwOfiZ.js +168 -0
  652. package/dist/date-time-range-picker-iMvwOfiZ.js.map +1 -0
  653. package/dist/dialog-46zkb32X.cjs +105 -0
  654. package/dist/dialog-46zkb32X.cjs.map +1 -0
  655. package/dist/dialog-CSSfcjSX.js +74 -0
  656. package/dist/dialog-CSSfcjSX.js.map +1 -0
  657. package/dist/dialog.css +70 -0
  658. package/dist/drawer-BaUXhUlI.cjs +177 -0
  659. package/dist/drawer-BaUXhUlI.cjs.map +1 -0
  660. package/dist/drawer-wvz8SreU.js +137 -0
  661. package/dist/drawer-wvz8SreU.js.map +1 -0
  662. package/dist/drawer.css +131 -0
  663. package/dist/dropdown-menu-Dh-CMMjl.js +203 -0
  664. package/dist/dropdown-menu-Dh-CMMjl.js.map +1 -0
  665. package/dist/dropdown-menu-Vl_C0N5e.cjs +224 -0
  666. package/dist/dropdown-menu-Vl_C0N5e.cjs.map +1 -0
  667. package/dist/entity-header-CpClAdJT.js +17 -0
  668. package/dist/entity-header-CpClAdJT.js.map +1 -0
  669. package/dist/entity-header-D2q5PizE.cjs +19 -0
  670. package/dist/entity-header-D2q5PizE.cjs.map +1 -0
  671. package/dist/entry-B53NXi9c.js +12 -0
  672. package/dist/entry-B53NXi9c.js.map +1 -0
  673. package/dist/entry-BwpOISbt.cjs +14 -0
  674. package/dist/entry-BwpOISbt.cjs.map +1 -0
  675. package/dist/field-block-CdCFQi7X.js +85 -0
  676. package/dist/field-block-CdCFQi7X.js.map +1 -0
  677. package/dist/field-block-D9R9O6XE.cjs +87 -0
  678. package/dist/field-block-D9R9O6XE.cjs.map +1 -0
  679. package/dist/field-blocks-layout-BpbpaIev.js +31 -0
  680. package/dist/field-blocks-layout-BpbpaIev.js.map +1 -0
  681. package/dist/field-blocks-layout-Bqock2Nu.cjs +33 -0
  682. package/dist/field-blocks-layout-Bqock2Nu.cjs.map +1 -0
  683. package/dist/form-element-Cy7aV1Ds.cjs +22 -0
  684. package/dist/form-element-Cy7aV1Ds.cjs.map +1 -0
  685. package/dist/form-element-DUtZESwq.js +12 -0
  686. package/dist/form-element-DUtZESwq.js.map +1 -0
  687. package/dist/get-short-id-B4_2mLzM.js +25 -0
  688. package/dist/get-short-id-B4_2mLzM.js.map +1 -0
  689. package/dist/get-short-id-DtN4BmrD.cjs +28 -0
  690. package/dist/get-short-id-DtN4BmrD.cjs.map +1 -0
  691. package/dist/helpers-BH-wPlF0.js +346 -0
  692. package/dist/helpers-BH-wPlF0.js.map +1 -0
  693. package/dist/helpers-BbJUaSrW.cjs +352 -0
  694. package/dist/helpers-BbJUaSrW.cjs.map +1 -0
  695. package/dist/highlight-C2uRVhiA.cjs +68 -0
  696. package/dist/highlight-C2uRVhiA.cjs.map +1 -0
  697. package/dist/highlight-Dis62bkj.js +66 -0
  698. package/dist/highlight-Dis62bkj.js.map +1 -0
  699. package/dist/horizontal-bars-B43f5B_S.js +106 -0
  700. package/dist/horizontal-bars-B43f5B_S.js.map +1 -0
  701. package/dist/horizontal-bars-DkJlf6-x.cjs +108 -0
  702. package/dist/horizontal-bars-DkJlf6-x.cjs.map +1 -0
  703. package/dist/hover-card-ByLYfB05.cjs +56 -0
  704. package/dist/hover-card-ByLYfB05.cjs.map +1 -0
  705. package/dist/hover-card-CV2ASE_w.js +33 -0
  706. package/dist/hover-card-CV2ASE_w.js.map +1 -0
  707. package/dist/index-CsyK0ihk.js +45 -0
  708. package/dist/index-CsyK0ihk.js.map +1 -0
  709. package/dist/index-DPkWrpVb.cjs +47 -0
  710. package/dist/index-DPkWrpVb.cjs.map +1 -0
  711. package/dist/index.cjs.js +1477 -15901
  712. package/dist/index.cjs.js.map +1 -1
  713. package/dist/index.css +343 -1960
  714. package/dist/index.es.js +881 -15301
  715. package/dist/index.es.js.map +1 -1
  716. package/dist/input-DGvJg7no.cjs +86 -0
  717. package/dist/input-DGvJg7no.cjs.map +1 -0
  718. package/dist/input-DsX-P_dO.js +65 -0
  719. package/dist/input-DsX-P_dO.js.map +1 -0
  720. package/dist/input-group-Bi_4j-WW.cjs +245 -0
  721. package/dist/input-group-Bi_4j-WW.cjs.map +1 -0
  722. package/dist/input-group-DpQPpHRU.js +219 -0
  723. package/dist/input-group-DpQPpHRU.js.map +1 -0
  724. package/dist/kbd-CnIg1L19.cjs +29 -0
  725. package/dist/kbd-CnIg1L19.cjs.map +1 -0
  726. package/dist/kbd-DRd56y7q.js +27 -0
  727. package/dist/kbd-DRd56y7q.js.map +1 -0
  728. package/dist/key-value-list-BFGuMFbL.js +84 -0
  729. package/dist/key-value-list-BFGuMFbL.js.map +1 -0
  730. package/dist/key-value-list-D067I300.cjs +86 -0
  731. package/dist/key-value-list-D067I300.cjs.map +1 -0
  732. package/dist/label-Dgz2hRMg.js +13 -0
  733. package/dist/label-Dgz2hRMg.js.map +1 -0
  734. package/dist/label-U8omtW8w.cjs +34 -0
  735. package/dist/label-U8omtW8w.cjs.map +1 -0
  736. package/dist/list-search-DY84ZCM-.cjs +59 -0
  737. package/dist/list-search-DY84ZCM-.cjs.map +1 -0
  738. package/dist/list-search-Dk2A1fUf.js +57 -0
  739. package/dist/list-search-Dk2A1fUf.js.map +1 -0
  740. package/dist/logo-BvzT5a1s.cjs +70 -0
  741. package/dist/logo-BvzT5a1s.cjs.map +1 -0
  742. package/dist/logo-CaqfKyP7.js +67 -0
  743. package/dist/logo-CaqfKyP7.js.map +1 -0
  744. package/dist/logo.css +70 -0
  745. package/dist/logs-data-list-B0Y5AHWL.js +87 -0
  746. package/dist/logs-data-list-B0Y5AHWL.js.map +1 -0
  747. package/dist/logs-data-list-DikL8ZQ0.cjs +90 -0
  748. package/dist/logs-data-list-DikL8ZQ0.cjs.map +1 -0
  749. package/dist/main-content-CR0j00N1.js +75 -0
  750. package/dist/main-content-CR0j00N1.js.map +1 -0
  751. package/dist/main-content-CnmMWNin.cjs +79 -0
  752. package/dist/main-content-CnmMWNin.cjs.map +1 -0
  753. package/dist/main-header-Bp0d1TMi.js +96 -0
  754. package/dist/main-header-Bp0d1TMi.js.map +1 -0
  755. package/dist/main-header-DJLRceP9.cjs +98 -0
  756. package/dist/main-header-DJLRceP9.cjs.map +1 -0
  757. package/dist/main-sidebar-0q7MXh2j.js +761 -0
  758. package/dist/main-sidebar-0q7MXh2j.js.map +1 -0
  759. package/dist/main-sidebar-H8NQ7njm.cjs +771 -0
  760. package/dist/main-sidebar-H8NQ7njm.cjs.map +1 -0
  761. package/dist/markdown-renderer-BjWUNVYf.cjs +88 -0
  762. package/dist/markdown-renderer-BjWUNVYf.cjs.map +1 -0
  763. package/dist/markdown-renderer-fXSUbDkK.js +86 -0
  764. package/dist/markdown-renderer-fXSUbDkK.js.map +1 -0
  765. package/dist/metrics-card-Bk3X19xx.js +93 -0
  766. package/dist/metrics-card-Bk3X19xx.js.map +1 -0
  767. package/dist/metrics-card-hs1pqY2Y.cjs +95 -0
  768. package/dist/metrics-card-hs1pqY2Y.cjs.map +1 -0
  769. package/dist/metrics-data-table-BpEAlJi0.cjs +77 -0
  770. package/dist/metrics-data-table-BpEAlJi0.cjs.map +1 -0
  771. package/dist/metrics-data-table-Dds2TkvE.js +75 -0
  772. package/dist/metrics-data-table-Dds2TkvE.js.map +1 -0
  773. package/dist/metrics-flex-grid-BqtZ5emh.js +9 -0
  774. package/dist/metrics-flex-grid-BqtZ5emh.js.map +1 -0
  775. package/dist/metrics-flex-grid-DzlyAgr7.cjs +11 -0
  776. package/dist/metrics-flex-grid-DzlyAgr7.cjs.map +1 -0
  777. package/dist/metrics-kpi-card-CNUpkoQO.js +77 -0
  778. package/dist/metrics-kpi-card-CNUpkoQO.js.map +1 -0
  779. package/dist/metrics-kpi-card-D_SaIWBc.cjs +79 -0
  780. package/dist/metrics-kpi-card-D_SaIWBc.cjs.map +1 -0
  781. package/dist/metrics-line-chart-BUUqDQPW.js +106 -0
  782. package/dist/metrics-line-chart-BUUqDQPW.js.map +1 -0
  783. package/dist/metrics-line-chart-D1ZGVepo.cjs +109 -0
  784. package/dist/metrics-line-chart-D1ZGVepo.cjs.map +1 -0
  785. package/dist/multi-column-BzL86JPK.cjs +136 -0
  786. package/dist/multi-column-BzL86JPK.cjs.map +1 -0
  787. package/dist/multi-column-C1sXoVG3.js +132 -0
  788. package/dist/multi-column-C1sXoVG3.js.map +1 -0
  789. package/dist/multi-combobox-DkFLK64B.cjs +193 -0
  790. package/dist/multi-combobox-DkFLK64B.cjs.map +1 -0
  791. package/dist/multi-combobox-Y3gT0MqV.js +189 -0
  792. package/dist/multi-combobox-Y3gT0MqV.js.map +1 -0
  793. package/dist/no-data-page-layout-CZzEj0NE.js +101 -0
  794. package/dist/no-data-page-layout-CZzEj0NE.js.map +1 -0
  795. package/dist/no-data-page-layout-CiNBx-vK.cjs +104 -0
  796. package/dist/no-data-page-layout-CiNBx-vK.cjs.map +1 -0
  797. package/dist/page-header-BS_LNnKw.js +51 -0
  798. package/dist/page-header-BS_LNnKw.js.map +1 -0
  799. package/dist/page-header-C1ZlL4Ua.cjs +53 -0
  800. package/dist/page-header-C1ZlL4Ua.cjs.map +1 -0
  801. package/dist/page-heading-context-D3yjYoJE.js +9 -0
  802. package/dist/page-heading-context-D3yjYoJE.js.map +1 -0
  803. package/dist/page-heading-context-Du-CpxAx.cjs +12 -0
  804. package/dist/page-heading-context-Du-CpxAx.cjs.map +1 -0
  805. package/dist/pending-indicator-BxD-kwEk.cjs +9 -0
  806. package/dist/pending-indicator-BxD-kwEk.cjs.map +1 -0
  807. package/dist/pending-indicator-DmowRHLo.js +7 -0
  808. package/dist/pending-indicator-DmowRHLo.js.map +1 -0
  809. package/dist/popover-CRLP2Ay_.js +75 -0
  810. package/dist/popover-CRLP2Ay_.js.map +1 -0
  811. package/dist/popover-ttQgAb0m.cjs +99 -0
  812. package/dist/popover-ttQgAb0m.cjs.map +1 -0
  813. package/dist/portal-container-BlQ6JKob.js +17 -0
  814. package/dist/portal-container-BlQ6JKob.js.map +1 -0
  815. package/dist/portal-container-BsvHZxj7.cjs +39 -0
  816. package/dist/portal-container-BsvHZxj7.cjs.map +1 -0
  817. package/dist/process-step-progress-bar-C0mArMKD.js +136 -0
  818. package/dist/process-step-progress-bar-C0mArMKD.js.map +1 -0
  819. package/dist/process-step-progress-bar-D74Y-8Jo.cjs +141 -0
  820. package/dist/process-step-progress-bar-D74Y-8Jo.cjs.map +1 -0
  821. package/dist/property-filter-creator-Cl7xhaML.cjs +673 -0
  822. package/dist/property-filter-creator-Cl7xhaML.cjs.map +1 -0
  823. package/dist/property-filter-creator-CnuA0Otn.js +668 -0
  824. package/dist/property-filter-creator-CnuA0Otn.js.map +1 -0
  825. package/dist/radio-group-CcZMn-TY.cjs +77 -0
  826. package/dist/radio-group-CcZMn-TY.cjs.map +1 -0
  827. package/dist/radio-group-DIbajvIk.js +55 -0
  828. package/dist/radio-group-DIbajvIk.js.map +1 -0
  829. package/dist/scroll-area-BCZiAvhR.js +199 -0
  830. package/dist/scroll-area-BCZiAvhR.js.map +1 -0
  831. package/dist/scroll-area-KogxLVrV.cjs +221 -0
  832. package/dist/scroll-area-KogxLVrV.cjs.map +1 -0
  833. package/dist/scrollable-container-BqOFHwdb.js +151 -0
  834. package/dist/scrollable-container-BqOFHwdb.js.map +1 -0
  835. package/dist/scrollable-container-Btq-TfCL.cjs +153 -0
  836. package/dist/scrollable-container-Btq-TfCL.cjs.map +1 -0
  837. package/dist/search-field-block-Cn_Ffn5P.cjs +117 -0
  838. package/dist/search-field-block-Cn_Ffn5P.cjs.map +1 -0
  839. package/dist/search-field-block-CuyiDT1k.js +115 -0
  840. package/dist/search-field-block-CuyiDT1k.js.map +1 -0
  841. package/dist/searchbar-8KtQRL0s.cjs +105 -0
  842. package/dist/searchbar-8KtQRL0s.cjs.map +1 -0
  843. package/dist/searchbar-HmTfVgXd.js +102 -0
  844. package/dist/searchbar-HmTfVgXd.js.map +1 -0
  845. package/dist/section-BUngbrvn.js +36 -0
  846. package/dist/section-BUngbrvn.js.map +1 -0
  847. package/dist/section-card-23Os1QRs.cjs +96 -0
  848. package/dist/section-card-23Os1QRs.cjs.map +1 -0
  849. package/dist/section-card-BMArnkcD.js +93 -0
  850. package/dist/section-card-BMArnkcD.js.map +1 -0
  851. package/dist/section-muObW4n-.cjs +40 -0
  852. package/dist/section-muObW4n-.cjs.map +1 -0
  853. package/dist/sections-BgrvBjOR.cjs +11 -0
  854. package/dist/sections-BgrvBjOR.cjs.map +1 -0
  855. package/dist/sections-SdJxf4JD.js +9 -0
  856. package/dist/sections-SdJxf4JD.js.map +1 -0
  857. package/dist/select-D2w0zRz4.js +138 -0
  858. package/dist/select-D2w0zRz4.js.map +1 -0
  859. package/dist/select-DDgw1wG-.cjs +164 -0
  860. package/dist/select-DDgw1wG-.cjs.map +1 -0
  861. package/dist/select-data-filter-BFGZYkQ_.js +192 -0
  862. package/dist/select-data-filter-BFGZYkQ_.js.map +1 -0
  863. package/dist/select-data-filter-DxoxTXk2.cjs +194 -0
  864. package/dist/select-data-filter-DxoxTXk2.cjs.map +1 -0
  865. package/dist/select-field-block-BA6vHkOP.js +48 -0
  866. package/dist/select-field-block-BA6vHkOP.js.map +1 -0
  867. package/dist/select-field-block-BpXYm4K0.cjs +50 -0
  868. package/dist/select-field-block-BpXYm4K0.cjs.map +1 -0
  869. package/dist/shimmer-CTVYNDBn.js +22 -0
  870. package/dist/shimmer-CTVYNDBn.js.map +1 -0
  871. package/dist/shimmer-DK8TWAV-.cjs +24 -0
  872. package/dist/shimmer-DK8TWAV-.cjs.map +1 -0
  873. package/dist/skeleton-Bo71UMWV.cjs +25 -0
  874. package/dist/skeleton-Bo71UMWV.cjs.map +1 -0
  875. package/dist/skeleton-Dbr54vol.js +23 -0
  876. package/dist/skeleton-Dbr54vol.js.map +1 -0
  877. package/dist/slider-BhA0bVR8.js +88 -0
  878. package/dist/slider-BhA0bVR8.js.map +1 -0
  879. package/dist/slider-b9_82QLR.cjs +90 -0
  880. package/dist/slider-b9_82QLR.cjs.map +1 -0
  881. package/dist/spacings-0Zbr65EW.js +208 -0
  882. package/dist/spacings-0Zbr65EW.js.map +1 -0
  883. package/dist/spacings-BP8L49kn.cjs +218 -0
  884. package/dist/spacings-BP8L49kn.cjs.map +1 -0
  885. package/dist/spinner-DuizqJj9.js +51 -0
  886. package/dist/spinner-DuizqJj9.js.map +1 -0
  887. package/dist/spinner-PSUHmhye.cjs +53 -0
  888. package/dist/spinner-PSUHmhye.cjs.map +1 -0
  889. package/dist/spinner.css +114 -0
  890. package/dist/src/domains/metrics/components/index.d.ts +1 -0
  891. package/dist/src/domains/metrics/components/token-usage-timeline-card-view.d.ts +10 -0
  892. package/dist/src/domains/metrics/hooks/index.d.ts +1 -0
  893. package/dist/src/domains/metrics/hooks/use-token-usage-timeseries.d.ts +15 -0
  894. package/dist/src/domains/traces/hooks/index.d.ts +1 -0
  895. package/dist/src/domains/traces/hooks/use-download-trace-json.d.ts +4 -0
  896. package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +6 -0
  897. package/dist/src/ds/components/AlertDialog/alert-dialog.d.ts +1 -0
  898. package/dist/src/ds/components/Breadcrumb/Breadcrumb.d.ts +1 -0
  899. package/dist/src/ds/components/Button/Button.d.ts +3 -2
  900. package/dist/src/ds/components/ButtonsGroup/buttons-group.d.ts +4 -4
  901. package/dist/src/ds/components/Code/code.d.ts +14 -0
  902. package/dist/src/ds/components/Code/code.stories.d.ts +9 -0
  903. package/dist/src/ds/components/Code/index.d.ts +1 -0
  904. package/dist/src/ds/components/CodeBlock/code-block.d.ts +5 -1
  905. package/dist/src/ds/components/CodeBlock/code-block.stories.d.ts +1 -0
  906. package/dist/src/ds/components/Combobox/combobox-styles.d.ts +27 -12
  907. package/dist/src/ds/components/Combobox/combobox.d.ts +4 -3
  908. package/dist/src/ds/components/Combobox/multi-combobox.d.ts +5 -5
  909. package/dist/src/ds/components/DataList/data-list-cells.d.ts +2 -2
  910. package/dist/src/ds/components/DataList/data-list-row-wrapper-context.d.ts +2 -0
  911. package/dist/src/ds/components/DataList/data-list.stories.d.ts +2 -0
  912. package/dist/src/ds/components/DataList/shared.d.ts +8 -6
  913. package/dist/src/ds/components/DateTimeRangePicker/date-time-range-picker.d.ts +1 -1
  914. package/dist/src/ds/components/Dialog/dialog.d.ts +2 -0
  915. package/dist/src/ds/components/DropdownMenu/dropdown-menu.d.ts +1 -0
  916. package/dist/src/ds/components/Input/input.d.ts +2 -2
  917. package/dist/src/ds/components/InputGroup/input-group.d.ts +3 -3
  918. package/dist/src/ds/components/MetricsCard/index.d.ts +0 -1
  919. package/dist/src/ds/components/PendingIndicator/index.d.ts +1 -0
  920. package/dist/src/ds/components/PendingIndicator/pending-indicator.d.ts +9 -0
  921. package/dist/src/ds/components/Popover/popover.d.ts +1 -0
  922. package/dist/src/ds/components/Searchbar/searchbar.d.ts +2 -2
  923. package/dist/src/ds/components/Select/select.d.ts +12 -5
  924. package/dist/src/ds/components/Select/select.stories.d.ts +8 -0
  925. package/dist/src/ds/components/Shimmer/index.d.ts +1 -0
  926. package/dist/src/ds/components/Shimmer/shimmer.d.ts +6 -0
  927. package/dist/src/ds/components/Textarea/textarea.d.ts +2 -2
  928. package/dist/src/ds/primitives/control-size.d.ts +5 -0
  929. package/dist/src/ds/primitives/form-element.d.ts +1 -9
  930. package/dist/src/ds/primitives/resize-handle-indicator.d.ts +9 -0
  931. package/dist/src/ds/tokens/sizes.d.ts +1 -0
  932. package/dist/src/index.d.ts +4 -5
  933. package/dist/src/lib/as-child.d.ts +22 -0
  934. package/dist/src/lib/file/downloadJson.d.ts +1 -0
  935. package/dist/src/lib/file/index.d.ts +1 -0
  936. package/dist/src/lib/resize/separator.d.ts +5 -1
  937. package/dist/src/types.d.ts +1 -1
  938. package/dist/switch-DJRX_Onf.cjs +124 -0
  939. package/dist/switch-DJRX_Onf.cjs.map +1 -0
  940. package/dist/switch-VX4iYp3j.js +103 -0
  941. package/dist/switch-VX4iYp3j.js.map +1 -0
  942. package/dist/switch.css +51 -0
  943. package/dist/tabs-content-D-fKCtLW.js +18 -0
  944. package/dist/tabs-content-D-fKCtLW.js.map +1 -0
  945. package/dist/tabs-content-m86TGI_b.cjs +20 -0
  946. package/dist/tabs-content-m86TGI_b.cjs.map +1 -0
  947. package/dist/tabs-tab-Cjv_3xGC.js +118 -0
  948. package/dist/tabs-tab-Cjv_3xGC.js.map +1 -0
  949. package/dist/tabs-tab-Dl9FqQhm.cjs +122 -0
  950. package/dist/tabs-tab-Dl9FqQhm.cjs.map +1 -0
  951. package/dist/text-field-block-CGzVPqnF.cjs +50 -0
  952. package/dist/text-field-block-CGzVPqnF.cjs.map +1 -0
  953. package/dist/text-field-block-gjrZyIFr.js +48 -0
  954. package/dist/text-field-block-gjrZyIFr.js.map +1 -0
  955. package/dist/textarea-DTTTODYL.js +62 -0
  956. package/dist/textarea-DTTTODYL.js.map +1 -0
  957. package/dist/textarea-DdUaiUA3.cjs +83 -0
  958. package/dist/textarea-DdUaiUA3.cjs.map +1 -0
  959. package/dist/theme-provider-C9ih9jSS.js +117 -0
  960. package/dist/theme-provider-C9ih9jSS.js.map +1 -0
  961. package/dist/theme-provider-aO5-jZVp.cjs +120 -0
  962. package/dist/theme-provider-aO5-jZVp.cjs.map +1 -0
  963. package/dist/theme-toggle-AzjABhTN.js +85 -0
  964. package/dist/theme-toggle-AzjABhTN.js.map +1 -0
  965. package/dist/theme-toggle-DWtjTo-a.cjs +87 -0
  966. package/dist/theme-toggle-DWtjTo-a.cjs.map +1 -0
  967. package/dist/time-picker-BtJz6IU2.js +110 -0
  968. package/dist/time-picker-BtJz6IU2.js.map +1 -0
  969. package/dist/time-picker-DWrxHBfR.cjs +113 -0
  970. package/dist/time-picker-DWrxHBfR.cjs.map +1 -0
  971. package/dist/tokens.cjs.js +11 -214
  972. package/dist/tokens.cjs.js.map +1 -1
  973. package/dist/tokens.es.js +3 -206
  974. package/dist/tokens.es.js.map +1 -1
  975. package/dist/tooltip-DehuxlSR.js +90 -0
  976. package/dist/tooltip-DehuxlSR.js.map +1 -0
  977. package/dist/tooltip-j8gUR1Qk.cjs +114 -0
  978. package/dist/tooltip-j8gUR1Qk.cjs.map +1 -0
  979. package/dist/traces-data-list-5GA3JumQ.cjs +238 -0
  980. package/dist/traces-data-list-5GA3JumQ.cjs.map +1 -0
  981. package/dist/traces-data-list-Dru2XnRN.js +234 -0
  982. package/dist/traces-data-list-Dru2XnRN.js.map +1 -0
  983. package/dist/transitions-DpczSjmD.cjs +39 -0
  984. package/dist/transitions-DpczSjmD.cjs.map +1 -0
  985. package/dist/transitions-tFfqxz40.js +35 -0
  986. package/dist/transitions-tFfqxz40.js.map +1 -0
  987. package/dist/tree-D04KhP5w.js +212 -0
  988. package/dist/tree-D04KhP5w.js.map +1 -0
  989. package/dist/tree-P2k9UCFX.cjs +233 -0
  990. package/dist/tree-P2k9UCFX.cjs.map +1 -0
  991. package/dist/truncate-B2kAcoie.js +47 -0
  992. package/dist/truncate-B2kAcoie.js.map +1 -0
  993. package/dist/truncate-mOutaqxm.cjs +49 -0
  994. package/dist/truncate-mOutaqxm.cjs.map +1 -0
  995. package/dist/use-copy-to-clipboard-CGqfkXnN.js +73 -0
  996. package/dist/use-copy-to-clipboard-CGqfkXnN.js.map +1 -0
  997. package/dist/use-copy-to-clipboard-CQgIuR1c.cjs +77 -0
  998. package/dist/use-copy-to-clipboard-CQgIuR1c.cjs.map +1 -0
  999. package/dist/use-copy-to-clipboard.css +126 -0
  1000. package/dist/use-table-keyboard-navigation-D9tbkeqJ.cjs +214 -0
  1001. package/dist/use-table-keyboard-navigation-D9tbkeqJ.cjs.map +1 -0
  1002. package/dist/use-table-keyboard-navigation-TaCn1tec.js +203 -0
  1003. package/dist/use-table-keyboard-navigation-TaCn1tec.js.map +1 -0
  1004. package/dist/utils-CzYGxqbG.js +3290 -0
  1005. package/dist/utils-CzYGxqbG.js.map +1 -0
  1006. package/dist/utils-vA5sWo9W.cjs +3293 -0
  1007. package/dist/utils-vA5sWo9W.cjs.map +1 -0
  1008. package/package.json +18 -7
  1009. package/theme.css +412 -0
  1010. package/dist/vite.config.d.ts +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-card-hs1pqY2Y.cjs","sources":["../src/ds/components/MetricsCard/metrics-card-actions.tsx","../src/ds/components/MetricsCard/metrics-card-content.tsx","../src/ds/components/MetricsCard/metrics-card-description.tsx","../src/ds/components/MetricsCard/metrics-card-error.tsx","../src/ds/components/MetricsCard/metrics-card-loading.tsx","../src/ds/components/MetricsCard/metrics-card-no-data.tsx","../src/ds/components/MetricsCard/metrics-card-root.tsx","../src/ds/components/MetricsCard/metrics-card-summary.tsx","../src/ds/components/MetricsCard/metrics-card-title.tsx","../src/ds/components/MetricsCard/metrics-card-title-and-description.tsx","../src/ds/components/MetricsCard/metrics-card-top-bar.tsx","../src/ds/components/MetricsCard/metrics-card.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\n/** Container for icon buttons / small actions in the top bar of a MetricsCard,\n * placed alongside `TitleAndDescription` + `Summary`. */\nexport function MetricsCardActions({ children, className }: { children: ReactNode; className?: string }) {\n return <div className={cn('flex items-center gap-1 shrink-0', className)}>{children}</div>;\n}\n","import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsCardContent({ children, className }: { children: ReactNode; className?: string }) {\n return <div className={cn('overflow-x-auto ', className)}>{children}</div>;\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsCardDescription({ children, className }: { children: string; className?: string }) {\n return <p className={cn('text-ui-md text-neutral2 leading-tight mt-0.5', className)}>{children}</p>;\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsCardError({\n message = 'Failed to load data',\n className,\n}: {\n message?: string;\n className?: string;\n}) {\n return (\n <div className={cn('flex flex-col gap-3 items-center justify-center', className)}>\n <p className=\"text-ui-sm text-accent2\">{message}</p>\n </div>\n );\n}\n","import { Spinner } from '@/ds/components/Spinner/spinner';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsCardLoading({ className }: { className?: string }) {\n return (\n <div className={cn('flex items-center justify-center', className)}>\n <Spinner size=\"md\" variant=\"pulse\" className=\"text-neutral1\" />\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsCardNoData({ message = 'No data yet', className }: { message?: string; className?: string }) {\n return (\n <div className={cn('flex items-center justify-center h-full', className)}>\n <p className=\"text-neutral1 text-sm\">{message}</p>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { DashboardCard } from '@/ds/components/DashboardCard';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsCardRoot({ children, className }: { children: ReactNode; className?: string }) {\n return (\n <DashboardCard\n className={cn(\n 'flex-1 grid grid-rows-[4rem_1fr] min-h-72 gap-2 min-w-80 md:min-w-[22rem] lg:min-w-[24rem] xl:min-w-[26rem] 2xl:min-w-[30rem]',\n className,\n )}\n >\n {children}\n </DashboardCard>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsCardSummary({ value, label, className }: { value: string; label?: string; className?: string }) {\n return (\n <div className={cn('grid justify-end content-start text-right gap-1', className)}>\n <span className=\"text-ui-lg font-semibold text-neutral4 leading-none\">{value}</span>\n {label && <span className=\"text-ui-md text-neutral2\">{label}</span>}\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsCardTitle({\n children,\n className,\n as: Tag = 'h2',\n}: {\n children: string;\n className?: string;\n as?: 'h2' | 'h3' | 'h4';\n}) {\n return <Tag className={cn('text-ui-md font-normal text-neutral4', className)}>{children}</Tag>;\n}\n","import type { ReactNode } from 'react';\n\nimport { MetricsCardDescription } from './metrics-card-description';\nimport { MetricsCardTitle } from './metrics-card-title';\n\ntype PropsWithTitleDescription = {\n title: string;\n description?: string;\n titleAs?: 'h2' | 'h3' | 'h4';\n children?: never;\n className?: string;\n};\n\ntype PropsWithChildren = {\n title?: never;\n description?: never;\n children: ReactNode;\n className?: string;\n};\n\nexport function MetricsCardTitleAndDescription(props: PropsWithTitleDescription | PropsWithChildren) {\n if ('children' in props) {\n return <div className={props.className}>{props.children}</div>;\n }\n\n const { title, description, titleAs } = props;\n\n return (\n <div className={props.className}>\n <MetricsCardTitle as={titleAs}>{title}</MetricsCardTitle>\n {description && <MetricsCardDescription>{description}</MetricsCardDescription>}\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsCardTopBar({ children, className }: { children: ReactNode; className?: string }) {\n return (\n <div className={cn('flex items-start gap-4 [&>:first-child]:flex-1 [&>:first-child]:min-w-0', className)}>\n {children}\n </div>\n );\n}\n","import { MetricsCardActions } from './metrics-card-actions';\nimport { MetricsCardContent } from './metrics-card-content';\nimport { MetricsCardDescription } from './metrics-card-description';\nimport { MetricsCardError } from './metrics-card-error';\nimport { MetricsCardLoading } from './metrics-card-loading';\nimport { MetricsCardNoData } from './metrics-card-no-data';\nimport { MetricsCardRoot } from './metrics-card-root';\nimport { MetricsCardSummary } from './metrics-card-summary';\nimport { MetricsCardTitle } from './metrics-card-title';\nimport { MetricsCardTitleAndDescription } from './metrics-card-title-and-description';\nimport { MetricsCardTopBar } from './metrics-card-top-bar';\nimport { MetricsKpiCard } from '@/ds/components/MetricsKpiCard';\n\nexport const MetricsCard = Object.assign(MetricsCardRoot, {\n Root: MetricsCardRoot,\n Kpi: MetricsKpiCard,\n TopBar: MetricsCardTopBar,\n Actions: MetricsCardActions,\n TitleAndDescription: MetricsCardTitleAndDescription,\n Title: MetricsCardTitle,\n Description: MetricsCardDescription,\n Summary: MetricsCardSummary,\n Loading: MetricsCardLoading,\n Error: MetricsCardError,\n Content: MetricsCardContent,\n NoData: MetricsCardNoData,\n});\n"],"names":["cn","jsx","Spinner","DashboardCard","jsxs","MetricsKpiCard"],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const React = require('react');
5
+ const scrollArea = require('./scroll-area-KogxLVrV.cjs');
6
+ const utils = require('./utils-vA5sWo9W.cjs');
7
+
8
+ function MetricsDataTable({
9
+ columns,
10
+ data,
11
+ className,
12
+ getRowHref,
13
+ LinkComponent = "a"
14
+ }) {
15
+ const [hoveredRow, setHoveredRow] = React.useState(null);
16
+ if (columns.length === 0) return null;
17
+ return /* @__PURE__ */ jsxRuntime.jsx(scrollArea.ScrollArea, { className: utils.cn("w-full h-full", className), maxHeight: "20rem", orientation: "both", children: /* @__PURE__ */ jsxRuntime.jsxs(
18
+ "div",
19
+ {
20
+ className: "grid items-center",
21
+ style: {
22
+ gridTemplateColumns: `auto ${columns.slice(1).map(() => "auto").join(" ")}`
23
+ },
24
+ children: [
25
+ columns.map((col, i) => /* @__PURE__ */ jsxRuntime.jsx(
26
+ "span",
27
+ {
28
+ className: utils.cn(
29
+ "h-9 py-1 flex items-center border-b border-surface5 uppercase whitespace-nowrap text-neutral2 tracking-widest text-ui-xs sticky top-0 z-10 bg-surface3",
30
+ i === 0 ? "text-left sticky left-0 z-20 bg-surface3 pr-4 after:absolute after:right-1 after:top-1/2 after:-translate-y-1/2 after:h-3/5 after:w-px after:bg-surface5" : "px-4 text-right"
31
+ ),
32
+ children: col.label
33
+ },
34
+ `${i}-${col.label}`
35
+ )),
36
+ data.map((row, rowIndex) => {
37
+ const href = getRowHref?.(row);
38
+ const isHovered = hoveredRow === row.key;
39
+ const rowHandlers = href ? {
40
+ onMouseEnter: () => setHoveredRow(row.key),
41
+ onMouseLeave: () => setHoveredRow((prev) => prev === row.key ? null : prev)
42
+ } : void 0;
43
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: columns.map((col, i) => {
44
+ const cellClasses = utils.cn(
45
+ "h-10 flex items-center text-ui-sm whitespace-nowrap border-t border-surface5",
46
+ rowIndex === 0 && "border-t-transparent",
47
+ i === 0 ? "text-left text-neutral3 sticky left-0 z-10 bg-surface3 pr-4 after:absolute after:right-1 after:top-1/2 after:-translate-y-1/2 after:h-3/5 after:w-px after:bg-surface5" : utils.cn(
48
+ "px-4 text-right tabular-nums",
49
+ col.highlight ? "text-neutral4 font-semibold" : "text-neutral3"
50
+ ),
51
+ href && "cursor-pointer outline-none transition-colors",
52
+ href && isHovered && "bg-surface3"
53
+ );
54
+ if (href) {
55
+ return /* @__PURE__ */ jsxRuntime.jsx(
56
+ LinkComponent,
57
+ {
58
+ href,
59
+ className: cellClasses,
60
+ onFocus: () => setHoveredRow(row.key),
61
+ onBlur: () => setHoveredRow((prev) => prev === row.key ? null : prev),
62
+ ...rowHandlers,
63
+ children: col.value(row)
64
+ },
65
+ `${row.key}-${i}`
66
+ );
67
+ }
68
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: cellClasses, children: col.value(row) }, `${row.key}-${i}`);
69
+ }) }, row.key);
70
+ })
71
+ ]
72
+ }
73
+ ) });
74
+ }
75
+
76
+ exports.MetricsDataTable = MetricsDataTable;
77
+ //# sourceMappingURL=metrics-data-table-BpEAlJi0.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-data-table-BpEAlJi0.cjs","sources":["../src/ds/components/MetricsDataTable/metrics-data-table.tsx"],"sourcesContent":["import { Fragment, useState } from 'react';\nimport type { ElementType } from 'react';\nimport { ScrollArea } from '@/ds/components/ScrollArea/scroll-area';\nimport { cn } from '@/lib/utils';\n\ntype Column<T> = {\n label: string;\n value: (row: T) => string | number;\n highlight?: boolean;\n};\n\nexport function MetricsDataTable<T extends { key: string }>({\n columns,\n data,\n className,\n getRowHref,\n LinkComponent = 'a',\n}: {\n columns: Column<T>[];\n data: T[];\n className?: string;\n /** If provided and returns a non-null string, the row is rendered as a link to that URL. */\n getRowHref?: (row: T) => string | undefined;\n /** Override how `getRowHref` links are rendered. Receives `href`, `className`,\n * `onFocus`, `onBlur`, `onMouseEnter`, `onMouseLeave`, and `children`.\n * Defaults to a plain `<a>`; pass an adapter (e.g. for react-router or\n * next/link) to keep navigation in-app. */\n LinkComponent?: ElementType;\n}) {\n const [hoveredRow, setHoveredRow] = useState<string | null>(null);\n\n if (columns.length === 0) return null;\n\n return (\n <ScrollArea className={cn('w-full h-full', className)} maxHeight=\"20rem\" orientation=\"both\">\n <div\n className=\"grid items-center\"\n style={{\n gridTemplateColumns: `auto ${columns\n .slice(1)\n .map(() => 'auto')\n .join(' ')}`,\n }}\n >\n {/* Header */}\n {columns.map((col, i) => (\n <span\n key={`${i}-${col.label}`}\n className={cn(\n 'h-9 py-1 flex items-center border-b border-surface5 uppercase whitespace-nowrap text-neutral2 tracking-widest text-ui-xs sticky top-0 z-10 bg-surface3',\n i === 0\n ? 'text-left sticky left-0 z-20 bg-surface3 pr-4 after:absolute after:right-1 after:top-1/2 after:-translate-y-1/2 after:h-3/5 after:w-px after:bg-surface5'\n : 'px-4 text-right',\n )}\n >\n {col.label}\n </span>\n ))}\n\n {/* Data rows */}\n {data.map((row, rowIndex) => {\n const href = getRowHref?.(row);\n const isHovered = hoveredRow === row.key;\n const rowHandlers = href\n ? {\n onMouseEnter: () => setHoveredRow(row.key),\n onMouseLeave: () => setHoveredRow(prev => (prev === row.key ? null : prev)),\n }\n : undefined;\n return (\n <Fragment key={row.key}>\n {columns.map((col, i) => {\n const cellClasses = cn(\n 'h-10 flex items-center text-ui-sm whitespace-nowrap border-t border-surface5',\n rowIndex === 0 && 'border-t-transparent',\n i === 0\n ? 'text-left text-neutral3 sticky left-0 z-10 bg-surface3 pr-4 after:absolute after:right-1 after:top-1/2 after:-translate-y-1/2 after:h-3/5 after:w-px after:bg-surface5'\n : cn(\n 'px-4 text-right tabular-nums',\n col.highlight ? 'text-neutral4 font-semibold' : 'text-neutral3',\n ),\n href && 'cursor-pointer outline-none transition-colors',\n href && isHovered && 'bg-surface3',\n );\n\n if (href) {\n return (\n <LinkComponent\n key={`${row.key}-${i}`}\n href={href}\n className={cellClasses}\n onFocus={() => setHoveredRow(row.key)}\n onBlur={() => setHoveredRow(prev => (prev === row.key ? null : prev))}\n {...rowHandlers}\n >\n {col.value(row)}\n </LinkComponent>\n );\n }\n return (\n <span key={`${row.key}-${i}`} className={cellClasses}>\n {col.value(row)}\n </span>\n );\n })}\n </Fragment>\n );\n })}\n </div>\n </ScrollArea>\n );\n}\n"],"names":["useState","jsx","ScrollArea","cn","jsxs","Fragment"],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useState, Fragment } from 'react';
3
+ import { S as ScrollArea } from './scroll-area-BCZiAvhR.js';
4
+ import { c as cn } from './utils-CzYGxqbG.js';
5
+
6
+ function MetricsDataTable({
7
+ columns,
8
+ data,
9
+ className,
10
+ getRowHref,
11
+ LinkComponent = "a"
12
+ }) {
13
+ const [hoveredRow, setHoveredRow] = useState(null);
14
+ if (columns.length === 0) return null;
15
+ return /* @__PURE__ */ jsx(ScrollArea, { className: cn("w-full h-full", className), maxHeight: "20rem", orientation: "both", children: /* @__PURE__ */ jsxs(
16
+ "div",
17
+ {
18
+ className: "grid items-center",
19
+ style: {
20
+ gridTemplateColumns: `auto ${columns.slice(1).map(() => "auto").join(" ")}`
21
+ },
22
+ children: [
23
+ columns.map((col, i) => /* @__PURE__ */ jsx(
24
+ "span",
25
+ {
26
+ className: cn(
27
+ "h-9 py-1 flex items-center border-b border-surface5 uppercase whitespace-nowrap text-neutral2 tracking-widest text-ui-xs sticky top-0 z-10 bg-surface3",
28
+ i === 0 ? "text-left sticky left-0 z-20 bg-surface3 pr-4 after:absolute after:right-1 after:top-1/2 after:-translate-y-1/2 after:h-3/5 after:w-px after:bg-surface5" : "px-4 text-right"
29
+ ),
30
+ children: col.label
31
+ },
32
+ `${i}-${col.label}`
33
+ )),
34
+ data.map((row, rowIndex) => {
35
+ const href = getRowHref?.(row);
36
+ const isHovered = hoveredRow === row.key;
37
+ const rowHandlers = href ? {
38
+ onMouseEnter: () => setHoveredRow(row.key),
39
+ onMouseLeave: () => setHoveredRow((prev) => prev === row.key ? null : prev)
40
+ } : void 0;
41
+ return /* @__PURE__ */ jsx(Fragment, { children: columns.map((col, i) => {
42
+ const cellClasses = cn(
43
+ "h-10 flex items-center text-ui-sm whitespace-nowrap border-t border-surface5",
44
+ rowIndex === 0 && "border-t-transparent",
45
+ i === 0 ? "text-left text-neutral3 sticky left-0 z-10 bg-surface3 pr-4 after:absolute after:right-1 after:top-1/2 after:-translate-y-1/2 after:h-3/5 after:w-px after:bg-surface5" : cn(
46
+ "px-4 text-right tabular-nums",
47
+ col.highlight ? "text-neutral4 font-semibold" : "text-neutral3"
48
+ ),
49
+ href && "cursor-pointer outline-none transition-colors",
50
+ href && isHovered && "bg-surface3"
51
+ );
52
+ if (href) {
53
+ return /* @__PURE__ */ jsx(
54
+ LinkComponent,
55
+ {
56
+ href,
57
+ className: cellClasses,
58
+ onFocus: () => setHoveredRow(row.key),
59
+ onBlur: () => setHoveredRow((prev) => prev === row.key ? null : prev),
60
+ ...rowHandlers,
61
+ children: col.value(row)
62
+ },
63
+ `${row.key}-${i}`
64
+ );
65
+ }
66
+ return /* @__PURE__ */ jsx("span", { className: cellClasses, children: col.value(row) }, `${row.key}-${i}`);
67
+ }) }, row.key);
68
+ })
69
+ ]
70
+ }
71
+ ) });
72
+ }
73
+
74
+ export { MetricsDataTable as M };
75
+ //# sourceMappingURL=metrics-data-table-Dds2TkvE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-data-table-Dds2TkvE.js","sources":["../src/ds/components/MetricsDataTable/metrics-data-table.tsx"],"sourcesContent":["import { Fragment, useState } from 'react';\nimport type { ElementType } from 'react';\nimport { ScrollArea } from '@/ds/components/ScrollArea/scroll-area';\nimport { cn } from '@/lib/utils';\n\ntype Column<T> = {\n label: string;\n value: (row: T) => string | number;\n highlight?: boolean;\n};\n\nexport function MetricsDataTable<T extends { key: string }>({\n columns,\n data,\n className,\n getRowHref,\n LinkComponent = 'a',\n}: {\n columns: Column<T>[];\n data: T[];\n className?: string;\n /** If provided and returns a non-null string, the row is rendered as a link to that URL. */\n getRowHref?: (row: T) => string | undefined;\n /** Override how `getRowHref` links are rendered. Receives `href`, `className`,\n * `onFocus`, `onBlur`, `onMouseEnter`, `onMouseLeave`, and `children`.\n * Defaults to a plain `<a>`; pass an adapter (e.g. for react-router or\n * next/link) to keep navigation in-app. */\n LinkComponent?: ElementType;\n}) {\n const [hoveredRow, setHoveredRow] = useState<string | null>(null);\n\n if (columns.length === 0) return null;\n\n return (\n <ScrollArea className={cn('w-full h-full', className)} maxHeight=\"20rem\" orientation=\"both\">\n <div\n className=\"grid items-center\"\n style={{\n gridTemplateColumns: `auto ${columns\n .slice(1)\n .map(() => 'auto')\n .join(' ')}`,\n }}\n >\n {/* Header */}\n {columns.map((col, i) => (\n <span\n key={`${i}-${col.label}`}\n className={cn(\n 'h-9 py-1 flex items-center border-b border-surface5 uppercase whitespace-nowrap text-neutral2 tracking-widest text-ui-xs sticky top-0 z-10 bg-surface3',\n i === 0\n ? 'text-left sticky left-0 z-20 bg-surface3 pr-4 after:absolute after:right-1 after:top-1/2 after:-translate-y-1/2 after:h-3/5 after:w-px after:bg-surface5'\n : 'px-4 text-right',\n )}\n >\n {col.label}\n </span>\n ))}\n\n {/* Data rows */}\n {data.map((row, rowIndex) => {\n const href = getRowHref?.(row);\n const isHovered = hoveredRow === row.key;\n const rowHandlers = href\n ? {\n onMouseEnter: () => setHoveredRow(row.key),\n onMouseLeave: () => setHoveredRow(prev => (prev === row.key ? null : prev)),\n }\n : undefined;\n return (\n <Fragment key={row.key}>\n {columns.map((col, i) => {\n const cellClasses = cn(\n 'h-10 flex items-center text-ui-sm whitespace-nowrap border-t border-surface5',\n rowIndex === 0 && 'border-t-transparent',\n i === 0\n ? 'text-left text-neutral3 sticky left-0 z-10 bg-surface3 pr-4 after:absolute after:right-1 after:top-1/2 after:-translate-y-1/2 after:h-3/5 after:w-px after:bg-surface5'\n : cn(\n 'px-4 text-right tabular-nums',\n col.highlight ? 'text-neutral4 font-semibold' : 'text-neutral3',\n ),\n href && 'cursor-pointer outline-none transition-colors',\n href && isHovered && 'bg-surface3',\n );\n\n if (href) {\n return (\n <LinkComponent\n key={`${row.key}-${i}`}\n href={href}\n className={cellClasses}\n onFocus={() => setHoveredRow(row.key)}\n onBlur={() => setHoveredRow(prev => (prev === row.key ? null : prev))}\n {...rowHandlers}\n >\n {col.value(row)}\n </LinkComponent>\n );\n }\n return (\n <span key={`${row.key}-${i}`} className={cellClasses}>\n {col.value(row)}\n </span>\n );\n })}\n </Fragment>\n );\n })}\n </div>\n </ScrollArea>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { c as cn } from './utils-CzYGxqbG.js';
3
+
4
+ function MetricsFlexGrid({ children, className }) {
5
+ return /* @__PURE__ */ jsx("div", { className: cn("flex flex-wrap gap-8", className), children });
6
+ }
7
+
8
+ export { MetricsFlexGrid as M };
9
+ //# sourceMappingURL=metrics-flex-grid-BqtZ5emh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-flex-grid-BqtZ5emh.js","sources":["../src/ds/components/MetricsFlexGrid/metrics-flex-grid.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsFlexGrid({ children, className }: { children: ReactNode; className?: string }) {\n return <div className={cn('flex flex-wrap gap-8', className)}>{children}</div>;\n}\n"],"names":[],"mappings":";;;AAGO,SAAS,eAAA,CAAgB,EAAE,QAAA,EAAU,SAAA,EAAU,EAAgD;AACpG,EAAA,2BAAQ,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,sBAAA,EAAwB,SAAS,GAAI,QAAA,EAAS,CAAA;AAC1E;;;;"}
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const utils = require('./utils-vA5sWo9W.cjs');
5
+
6
+ function MetricsFlexGrid({ children, className }) {
7
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils.cn("flex flex-wrap gap-8", className), children });
8
+ }
9
+
10
+ exports.MetricsFlexGrid = MetricsFlexGrid;
11
+ //# sourceMappingURL=metrics-flex-grid-DzlyAgr7.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-flex-grid-DzlyAgr7.cjs","sources":["../src/ds/components/MetricsFlexGrid/metrics-flex-grid.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsFlexGrid({ children, className }: { children: ReactNode; className?: string }) {\n return <div className={cn('flex flex-wrap gap-8', className)}>{children}</div>;\n}\n"],"names":["cn"],"mappings":";;;;;AAGO,SAAS,eAAA,CAAgB,EAAE,QAAA,EAAU,SAAA,EAAU,EAAgD;AACpG,EAAA,sCAAQ,KAAA,EAAA,EAAI,SAAA,EAAWA,SAAG,sBAAA,EAAwB,SAAS,GAAI,QAAA,EAAS,CAAA;AAC1E;;;;"}
@@ -0,0 +1,77 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { TrendingUpIcon, TrendingDownIcon } from 'lucide-react';
3
+ import { c as cn } from './utils-CzYGxqbG.js';
4
+ import { S as Spinner } from './spinner-DuizqJj9.js';
5
+ import { D as DashboardCard } from './dashboard-card-C7nmBU5A.js';
6
+
7
+ function MetricsKpiCardChange({
8
+ changePct,
9
+ prevValue,
10
+ lowerIsBetter,
11
+ className
12
+ }) {
13
+ const isGood = lowerIsBetter ? changePct < 0 : changePct >= 0;
14
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-1 text-sm text-neutral1 flex-wrap", className), children: [
15
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
16
+ /* @__PURE__ */ jsx("span", { className: cn("[&>svg]:w-4 [&>svg]:h-4", isGood ? "text-green-600" : "text-red-600"), children: changePct >= 0 ? /* @__PURE__ */ jsx(TrendingUpIcon, {}) : /* @__PURE__ */ jsx(TrendingDownIcon, {}) }),
17
+ /* @__PURE__ */ jsx(
18
+ "span",
19
+ {
20
+ className: cn(isGood ? "text-green-600" : "text-red-600"),
21
+ children: `${changePct >= 0 ? "+" : "-"}${Math.abs(changePct).toFixed(1)}%`
22
+ }
23
+ )
24
+ ] }),
25
+ prevValue && /* @__PURE__ */ jsxs("div", { children: [
26
+ "vs previous ",
27
+ /* @__PURE__ */ jsx("b", { className: "text-neutral2 font-semibold", children: prevValue })
28
+ ] })
29
+ ] });
30
+ }
31
+
32
+ function MetricsKpiCardError({
33
+ message = "Failed to load data",
34
+ className
35
+ }) {
36
+ return /* @__PURE__ */ jsx("span", { className: cn("text-ui-sm text-accent2", className), children: message });
37
+ }
38
+
39
+ function MetricsKpiCardLabel({ children, className }) {
40
+ return /* @__PURE__ */ jsx("span", { className: cn("text-ui-md text-neutral3 leading-relaxed", className), children });
41
+ }
42
+
43
+ function MetricsKpiCardLoading({ className }) {
44
+ return /* @__PURE__ */ jsx("span", { className: cn("text-sm", className), children: /* @__PURE__ */ jsx(Spinner, { size: "md", variant: "pulse", className: "text-neutral1" }) });
45
+ }
46
+
47
+ function MetricsKpiCardNoChange({
48
+ message = "No previous value to compare",
49
+ className
50
+ }) {
51
+ return /* @__PURE__ */ jsx("span", { className: cn("text-sm text-neutral1", className), children: message });
52
+ }
53
+
54
+ function MetricsKpiCardNoData({ message = "No data yet", className }) {
55
+ return /* @__PURE__ */ jsx("span", { className: cn("text-sm text-neutral1", className), children: message });
56
+ }
57
+
58
+ function MetricsKpiCardRoot({ children, className }) {
59
+ return /* @__PURE__ */ jsx(DashboardCard, { className: cn("flex-1 min-w-72", className), children: /* @__PURE__ */ jsx("div", { className: "grid gap-1", children }) });
60
+ }
61
+
62
+ function MetricsKpiCardValue({ children, className }) {
63
+ return /* @__PURE__ */ jsx("strong", { className: cn("text-header-lg text-neutral4 font-semibold", className), children });
64
+ }
65
+
66
+ const MetricsKpiCard = Object.assign(MetricsKpiCardRoot, {
67
+ Label: MetricsKpiCardLabel,
68
+ Value: MetricsKpiCardValue,
69
+ Change: MetricsKpiCardChange,
70
+ NoChange: MetricsKpiCardNoChange,
71
+ NoData: MetricsKpiCardNoData,
72
+ Error: MetricsKpiCardError,
73
+ Loading: MetricsKpiCardLoading
74
+ });
75
+
76
+ export { MetricsKpiCard as M };
77
+ //# sourceMappingURL=metrics-kpi-card-CNUpkoQO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-kpi-card-CNUpkoQO.js","sources":["../src/ds/components/MetricsKpiCard/metrics-kpi-card-change.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-error.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-label.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-loading.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-no-change.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-no-data.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-root.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-value.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card.tsx"],"sourcesContent":["import { TrendingUpIcon, TrendingDownIcon } from 'lucide-react';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardChange({\n changePct,\n prevValue,\n lowerIsBetter,\n className,\n}: {\n changePct: number;\n prevValue?: string;\n lowerIsBetter?: boolean;\n className?: string;\n}) {\n const isGood = lowerIsBetter ? changePct < 0 : changePct >= 0;\n\n return (\n <div className={cn('flex items-center gap-1 text-sm text-neutral1 flex-wrap', className)}>\n <div className=\"flex items-center gap-1\">\n <span className={cn('[&>svg]:w-4 [&>svg]:h-4', isGood ? 'text-green-600' : 'text-red-600')}>\n {changePct >= 0 ? <TrendingUpIcon /> : <TrendingDownIcon />}\n </span>\n <span\n className={cn(isGood ? 'text-green-600' : 'text-red-600')}\n >{`${changePct >= 0 ? '+' : '-'}${Math.abs(changePct).toFixed(1)}%`}</span>\n </div>\n {prevValue && (\n <div>\n vs previous <b className=\"text-neutral2 font-semibold\">{prevValue}</b>\n </div>\n )}\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardError({\n message = 'Failed to load data',\n className,\n}: {\n message?: string;\n className?: string;\n}) {\n return <span className={cn('text-ui-sm text-accent2', className)}>{message}</span>;\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardLabel({ children, className }: { children: string; className?: string }) {\n return <span className={cn('text-ui-md text-neutral3 leading-relaxed', className)}>{children}</span>;\n}\n","import { Spinner } from '@/ds/components/Spinner/spinner';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardLoading({ className }: { className?: string }) {\n return (\n <span className={cn('text-sm', className)}>\n <Spinner size=\"md\" variant=\"pulse\" className=\"text-neutral1\" />\n </span>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardNoChange({\n message = 'No previous value to compare',\n className,\n}: {\n message?: string;\n className?: string;\n}) {\n return <span className={cn('text-sm text-neutral1', className)}>{message}</span>;\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardNoData({ message = 'No data yet', className }: { message?: string; className?: string }) {\n return <span className={cn('text-sm text-neutral1', className)}>{message}</span>;\n}\n","import type { ReactNode } from 'react';\nimport { DashboardCard } from '@/ds/components/DashboardCard';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardRoot({ children, className }: { children: ReactNode; className?: string }) {\n return (\n <DashboardCard className={cn('flex-1 min-w-72', className)}>\n <div className=\"grid gap-1\">{children}</div>\n </DashboardCard>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardValue({ children, className }: { children: string; className?: string }) {\n return <strong className={cn('text-header-lg text-neutral4 font-semibold', className)}>{children}</strong>;\n}\n","import { MetricsKpiCardChange } from './metrics-kpi-card-change';\nimport { MetricsKpiCardError } from './metrics-kpi-card-error';\nimport { MetricsKpiCardLabel } from './metrics-kpi-card-label';\nimport { MetricsKpiCardLoading } from './metrics-kpi-card-loading';\nimport { MetricsKpiCardNoChange } from './metrics-kpi-card-no-change';\nimport { MetricsKpiCardNoData } from './metrics-kpi-card-no-data';\nimport { MetricsKpiCardRoot } from './metrics-kpi-card-root';\nimport { MetricsKpiCardValue } from './metrics-kpi-card-value';\n\nexport const MetricsKpiCard = Object.assign(MetricsKpiCardRoot, {\n Label: MetricsKpiCardLabel,\n Value: MetricsKpiCardValue,\n Change: MetricsKpiCardChange,\n NoChange: MetricsKpiCardNoChange,\n NoData: MetricsKpiCardNoData,\n Error: MetricsKpiCardError,\n Loading: MetricsKpiCardLoading,\n});\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const lucideReact = require('lucide-react');
5
+ const utils = require('./utils-vA5sWo9W.cjs');
6
+ const spinner = require('./spinner-PSUHmhye.cjs');
7
+ const dashboardCard = require('./dashboard-card-B9enj4NG.cjs');
8
+
9
+ function MetricsKpiCardChange({
10
+ changePct,
11
+ prevValue,
12
+ lowerIsBetter,
13
+ className
14
+ }) {
15
+ const isGood = lowerIsBetter ? changePct < 0 : changePct >= 0;
16
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils.cn("flex items-center gap-1 text-sm text-neutral1 flex-wrap", className), children: [
17
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
18
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils.cn("[&>svg]:w-4 [&>svg]:h-4", isGood ? "text-green-600" : "text-red-600"), children: changePct >= 0 ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.TrendingUpIcon, {}) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.TrendingDownIcon, {}) }),
19
+ /* @__PURE__ */ jsxRuntime.jsx(
20
+ "span",
21
+ {
22
+ className: utils.cn(isGood ? "text-green-600" : "text-red-600"),
23
+ children: `${changePct >= 0 ? "+" : "-"}${Math.abs(changePct).toFixed(1)}%`
24
+ }
25
+ )
26
+ ] }),
27
+ prevValue && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
28
+ "vs previous ",
29
+ /* @__PURE__ */ jsxRuntime.jsx("b", { className: "text-neutral2 font-semibold", children: prevValue })
30
+ ] })
31
+ ] });
32
+ }
33
+
34
+ function MetricsKpiCardError({
35
+ message = "Failed to load data",
36
+ className
37
+ }) {
38
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils.cn("text-ui-sm text-accent2", className), children: message });
39
+ }
40
+
41
+ function MetricsKpiCardLabel({ children, className }) {
42
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils.cn("text-ui-md text-neutral3 leading-relaxed", className), children });
43
+ }
44
+
45
+ function MetricsKpiCardLoading({ className }) {
46
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils.cn("text-sm", className), children: /* @__PURE__ */ jsxRuntime.jsx(spinner.Spinner, { size: "md", variant: "pulse", className: "text-neutral1" }) });
47
+ }
48
+
49
+ function MetricsKpiCardNoChange({
50
+ message = "No previous value to compare",
51
+ className
52
+ }) {
53
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils.cn("text-sm text-neutral1", className), children: message });
54
+ }
55
+
56
+ function MetricsKpiCardNoData({ message = "No data yet", className }) {
57
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils.cn("text-sm text-neutral1", className), children: message });
58
+ }
59
+
60
+ function MetricsKpiCardRoot({ children, className }) {
61
+ return /* @__PURE__ */ jsxRuntime.jsx(dashboardCard.DashboardCard, { className: utils.cn("flex-1 min-w-72", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-1", children }) });
62
+ }
63
+
64
+ function MetricsKpiCardValue({ children, className }) {
65
+ return /* @__PURE__ */ jsxRuntime.jsx("strong", { className: utils.cn("text-header-lg text-neutral4 font-semibold", className), children });
66
+ }
67
+
68
+ const MetricsKpiCard = Object.assign(MetricsKpiCardRoot, {
69
+ Label: MetricsKpiCardLabel,
70
+ Value: MetricsKpiCardValue,
71
+ Change: MetricsKpiCardChange,
72
+ NoChange: MetricsKpiCardNoChange,
73
+ NoData: MetricsKpiCardNoData,
74
+ Error: MetricsKpiCardError,
75
+ Loading: MetricsKpiCardLoading
76
+ });
77
+
78
+ exports.MetricsKpiCard = MetricsKpiCard;
79
+ //# sourceMappingURL=metrics-kpi-card-D_SaIWBc.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-kpi-card-D_SaIWBc.cjs","sources":["../src/ds/components/MetricsKpiCard/metrics-kpi-card-change.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-error.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-label.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-loading.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-no-change.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-no-data.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-root.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-value.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card.tsx"],"sourcesContent":["import { TrendingUpIcon, TrendingDownIcon } from 'lucide-react';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardChange({\n changePct,\n prevValue,\n lowerIsBetter,\n className,\n}: {\n changePct: number;\n prevValue?: string;\n lowerIsBetter?: boolean;\n className?: string;\n}) {\n const isGood = lowerIsBetter ? changePct < 0 : changePct >= 0;\n\n return (\n <div className={cn('flex items-center gap-1 text-sm text-neutral1 flex-wrap', className)}>\n <div className=\"flex items-center gap-1\">\n <span className={cn('[&>svg]:w-4 [&>svg]:h-4', isGood ? 'text-green-600' : 'text-red-600')}>\n {changePct >= 0 ? <TrendingUpIcon /> : <TrendingDownIcon />}\n </span>\n <span\n className={cn(isGood ? 'text-green-600' : 'text-red-600')}\n >{`${changePct >= 0 ? '+' : '-'}${Math.abs(changePct).toFixed(1)}%`}</span>\n </div>\n {prevValue && (\n <div>\n vs previous <b className=\"text-neutral2 font-semibold\">{prevValue}</b>\n </div>\n )}\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardError({\n message = 'Failed to load data',\n className,\n}: {\n message?: string;\n className?: string;\n}) {\n return <span className={cn('text-ui-sm text-accent2', className)}>{message}</span>;\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardLabel({ children, className }: { children: string; className?: string }) {\n return <span className={cn('text-ui-md text-neutral3 leading-relaxed', className)}>{children}</span>;\n}\n","import { Spinner } from '@/ds/components/Spinner/spinner';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardLoading({ className }: { className?: string }) {\n return (\n <span className={cn('text-sm', className)}>\n <Spinner size=\"md\" variant=\"pulse\" className=\"text-neutral1\" />\n </span>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardNoChange({\n message = 'No previous value to compare',\n className,\n}: {\n message?: string;\n className?: string;\n}) {\n return <span className={cn('text-sm text-neutral1', className)}>{message}</span>;\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardNoData({ message = 'No data yet', className }: { message?: string; className?: string }) {\n return <span className={cn('text-sm text-neutral1', className)}>{message}</span>;\n}\n","import type { ReactNode } from 'react';\nimport { DashboardCard } from '@/ds/components/DashboardCard';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardRoot({ children, className }: { children: ReactNode; className?: string }) {\n return (\n <DashboardCard className={cn('flex-1 min-w-72', className)}>\n <div className=\"grid gap-1\">{children}</div>\n </DashboardCard>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardValue({ children, className }: { children: string; className?: string }) {\n return <strong className={cn('text-header-lg text-neutral4 font-semibold', className)}>{children}</strong>;\n}\n","import { MetricsKpiCardChange } from './metrics-kpi-card-change';\nimport { MetricsKpiCardError } from './metrics-kpi-card-error';\nimport { MetricsKpiCardLabel } from './metrics-kpi-card-label';\nimport { MetricsKpiCardLoading } from './metrics-kpi-card-loading';\nimport { MetricsKpiCardNoChange } from './metrics-kpi-card-no-change';\nimport { MetricsKpiCardNoData } from './metrics-kpi-card-no-data';\nimport { MetricsKpiCardRoot } from './metrics-kpi-card-root';\nimport { MetricsKpiCardValue } from './metrics-kpi-card-value';\n\nexport const MetricsKpiCard = Object.assign(MetricsKpiCardRoot, {\n Label: MetricsKpiCardLabel,\n Value: MetricsKpiCardValue,\n Change: MetricsKpiCardChange,\n NoChange: MetricsKpiCardNoChange,\n NoData: MetricsKpiCardNoData,\n Error: MetricsKpiCardError,\n Loading: MetricsKpiCardLoading,\n});\n"],"names":["cn","jsxs","jsx","TrendingUpIcon","TrendingDownIcon","Spinner","DashboardCard"],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { ResponsiveContainer, LineChart, CartesianGrid, XAxis, YAxis, Tooltip, Line } from 'recharts';
3
+
4
+ function MetricsLineChartTooltip({
5
+ active,
6
+ payload,
7
+ label,
8
+ suffix
9
+ }) {
10
+ if (!active || !payload?.length) return null;
11
+ return /* @__PURE__ */ jsxs("div", { className: "rounded-md border border-border1 bg-surface2 px-3 py-2 text-xs shadow-lg", children: [
12
+ /* @__PURE__ */ jsx("p", { className: "mb-1 font-medium text-icon6", children: label }),
13
+ payload.map((entry) => /* @__PURE__ */ jsxs("p", { className: "text-icon2", children: [
14
+ /* @__PURE__ */ jsx("span", { className: "mr-2 inline-block size-2 rounded-full", style: { backgroundColor: entry.color } }),
15
+ entry.name,
16
+ ":",
17
+ " ",
18
+ /* @__PURE__ */ jsxs("span", { className: "font-mono", children: [
19
+ entry.value,
20
+ suffix
21
+ ] })
22
+ ] }, entry.name))
23
+ ] });
24
+ }
25
+
26
+ const LABEL_COLOR = "#a1a1aa";
27
+ function MetricsLineChart({
28
+ data,
29
+ series,
30
+ height = 210,
31
+ yDomain,
32
+ onPointClick
33
+ }) {
34
+ const isClickable = typeof onPointClick === "function";
35
+ return /* @__PURE__ */ jsxs("div", { children: [
36
+ /* @__PURE__ */ jsx("div", { className: "flex flex-wrap w-full items-end gap-4 gap-y-1 mb-4 ", children: series.map((s) => {
37
+ const aggregated = s.aggregate?.(data);
38
+ return /* @__PURE__ */ jsxs("div", { className: "inline-flex items-baseline gap-2", children: [
39
+ /* @__PURE__ */ jsx("div", { className: "size-2 shrink-0 rounded-full -translate-y-px", style: { backgroundColor: s.color } }),
40
+ /* @__PURE__ */ jsx("span", { className: "text-ui-sm text-neutral3 truncate max-w-24", children: s.label }),
41
+ aggregated && /* @__PURE__ */ jsxs("span", { className: "text-ui-sm text-neutral4", children: [
42
+ aggregated.value,
43
+ aggregated.suffix && /* @__PURE__ */ jsxs("span", { className: "text-ui-sm text-neutral2", children: [
44
+ " ",
45
+ aggregated.suffix
46
+ ] })
47
+ ] })
48
+ ] }, s.dataKey);
49
+ }) }),
50
+ /* @__PURE__ */ jsx("div", { style: { height }, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxs(LineChart, { data, children: [
51
+ /* @__PURE__ */ jsx(
52
+ CartesianGrid,
53
+ {
54
+ stroke: "currentColor",
55
+ strokeOpacity: 0.08,
56
+ vertical: false,
57
+ className: "text-black dark:text-white"
58
+ }
59
+ ),
60
+ /* @__PURE__ */ jsx(
61
+ XAxis,
62
+ {
63
+ dataKey: "time",
64
+ tick: { fontSize: 10, fill: LABEL_COLOR, fontFamily: "var(--font-mono)" },
65
+ tickLine: false,
66
+ axisLine: false,
67
+ interval: 5
68
+ }
69
+ ),
70
+ /* @__PURE__ */ jsx(
71
+ YAxis,
72
+ {
73
+ tick: { fontSize: 10, fill: LABEL_COLOR, fontFamily: "var(--font-mono)" },
74
+ tickLine: false,
75
+ axisLine: false,
76
+ width: 30,
77
+ domain: yDomain
78
+ }
79
+ ),
80
+ /* @__PURE__ */ jsx(Tooltip, { content: /* @__PURE__ */ jsx(MetricsLineChartTooltip, {}) }),
81
+ series.map((s) => /* @__PURE__ */ jsx(
82
+ Line,
83
+ {
84
+ type: "linear",
85
+ dataKey: s.dataKey,
86
+ stroke: s.color,
87
+ strokeWidth: 2,
88
+ dot: false,
89
+ activeDot: isClickable ? {
90
+ r: 4,
91
+ style: { cursor: "pointer" },
92
+ onClick: (_, payload) => {
93
+ const datum = payload?.payload;
94
+ if (datum) onPointClick(datum, s.dataKey);
95
+ }
96
+ } : void 0,
97
+ name: s.label
98
+ },
99
+ s.dataKey
100
+ ))
101
+ ] }) }) })
102
+ ] });
103
+ }
104
+
105
+ export { MetricsLineChart as M, MetricsLineChartTooltip as a };
106
+ //# sourceMappingURL=metrics-line-chart-BUUqDQPW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-line-chart-BUUqDQPW.js","sources":["../src/ds/components/MetricsLineChart/metrics-line-chart-tooltip.tsx","../src/ds/components/MetricsLineChart/metrics-line-chart.tsx"],"sourcesContent":["export function MetricsLineChartTooltip({\n active,\n payload,\n label,\n suffix,\n}: {\n active?: boolean;\n payload?: Array<{ name: string; value: number; color: string }>;\n label?: string;\n suffix?: string;\n}) {\n if (!active || !payload?.length) return null;\n return (\n <div className=\"rounded-md border border-border1 bg-surface2 px-3 py-2 text-xs shadow-lg\">\n <p className=\"mb-1 font-medium text-icon6\">{label}</p>\n {payload.map(entry => (\n <p key={entry.name} className=\"text-icon2\">\n <span className=\"mr-2 inline-block size-2 rounded-full\" style={{ backgroundColor: entry.color }} />\n {entry.name}:{' '}\n <span className=\"font-mono\">\n {entry.value}\n {suffix}\n </span>\n </p>\n ))}\n </div>\n );\n}\n","import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts';\nimport { MetricsLineChartTooltip } from './metrics-line-chart-tooltip';\n\nconst LABEL_COLOR = '#a1a1aa';\n\nexport type MetricsLineChartSeries = {\n dataKey: string;\n label: string;\n color: string;\n aggregate?: (data: Record<string, unknown>[]) => { value: string; suffix?: string };\n};\n\nexport type MetricsLineChartPointClickHandler = (point: Record<string, unknown>, seriesKey: string) => void;\n\nexport function MetricsLineChart({\n data,\n series,\n height = 210,\n yDomain,\n onPointClick,\n}: {\n data: Record<string, unknown>[];\n series: MetricsLineChartSeries[];\n height?: number;\n yDomain?: [number, number];\n onPointClick?: MetricsLineChartPointClickHandler;\n}) {\n const isClickable = typeof onPointClick === 'function';\n\n return (\n <div>\n <div className=\"flex flex-wrap w-full items-end gap-4 gap-y-1 mb-4 \">\n {series.map(s => {\n const aggregated = s.aggregate?.(data);\n return (\n <div key={s.dataKey} className=\"inline-flex items-baseline gap-2\">\n <div className=\"size-2 shrink-0 rounded-full -translate-y-px\" style={{ backgroundColor: s.color }} />\n <span className=\"text-ui-sm text-neutral3 truncate max-w-24\">{s.label}</span>\n {aggregated && (\n <span className=\"text-ui-sm text-neutral4\">\n {aggregated.value}\n {aggregated.suffix && <span className=\"text-ui-sm text-neutral2\"> {aggregated.suffix}</span>}\n </span>\n )}\n </div>\n );\n })}\n </div>\n <div style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <LineChart data={data}>\n <CartesianGrid\n stroke=\"currentColor\"\n strokeOpacity={0.08}\n vertical={false}\n className=\"text-black dark:text-white\"\n />\n <XAxis\n dataKey=\"time\"\n tick={{ fontSize: 10, fill: LABEL_COLOR, fontFamily: 'var(--font-mono)' }}\n tickLine={false}\n axisLine={false}\n interval={5}\n />\n <YAxis\n tick={{ fontSize: 10, fill: LABEL_COLOR, fontFamily: 'var(--font-mono)' }}\n tickLine={false}\n axisLine={false}\n width={30}\n domain={yDomain}\n />\n <Tooltip content={<MetricsLineChartTooltip />} />\n {series.map(s => (\n <Line\n key={s.dataKey}\n type=\"linear\"\n dataKey={s.dataKey}\n stroke={s.color}\n strokeWidth={2}\n dot={false}\n activeDot={\n isClickable\n ? {\n r: 4,\n style: { cursor: 'pointer' },\n onClick: (_: unknown, payload: unknown) => {\n const datum = (payload as { payload?: Record<string, unknown> } | undefined)?.payload;\n if (datum) onPointClick(datum, s.dataKey);\n },\n }\n : undefined\n }\n name={s.label}\n />\n ))}\n </LineChart>\n </ResponsiveContainer>\n </div>\n </div>\n );\n}\n"],"names":[],"mappings":"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"}