@mastra/playground-ui 60.0.0 → 60.1.0-alpha.1

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 (929) hide show
  1. package/README.md +7 -6
  2. package/dist/{Badge-H8K5WrXg.cjs → Badge-D3EctKQo.cjs} +16 -8
  3. package/dist/Badge-D3EctKQo.cjs.map +1 -0
  4. package/dist/{Badge-Q_pCeeGW.js → Badge-DmOqFpXW.js} +16 -8
  5. package/dist/Badge-DmOqFpXW.js.map +1 -0
  6. package/dist/{Button-BnmR2HRc.cjs → Button-CXhSUBxN.cjs} +3 -3
  7. package/dist/Button-CXhSUBxN.cjs.map +1 -0
  8. package/dist/{Button-C6eUqcPI.js → Button-D43ghVKt.js} +3 -3
  9. package/dist/Button-D43ghVKt.js.map +1 -0
  10. package/dist/{EmptyState-CJ5KC4Db.cjs → EmptyState-CuoMGNP0.cjs} +2 -2
  11. package/dist/EmptyState-CuoMGNP0.cjs.map +1 -0
  12. package/dist/{EmptyState-CynkaZd1.js → EmptyState-DyyUFpzY.js} +2 -2
  13. package/dist/EmptyState-DyyUFpzY.js.map +1 -0
  14. package/dist/{ErrorBoundary-Bb2R5IMR.js → ErrorBoundary-BvwJY6s9.js} +2 -2
  15. package/dist/{ErrorBoundary-Bb2R5IMR.js.map → ErrorBoundary-BvwJY6s9.js.map} +1 -1
  16. package/dist/{ErrorBoundary-CKrwONAU.cjs → ErrorBoundary-D7eIMbMr.cjs} +2 -2
  17. package/dist/{ErrorBoundary-CKrwONAU.cjs.map → ErrorBoundary-D7eIMbMr.cjs.map} +1 -1
  18. package/dist/{Notice-Ce3r5x-7.js → Notice-B8RIClJD.js} +2 -2
  19. package/dist/{Notice-Ce3r5x-7.js.map → Notice-B8RIClJD.js.map} +1 -1
  20. package/dist/{Notice-CEBwitdf.cjs → Notice-C4Tgmtgb.cjs} +2 -2
  21. package/dist/{Notice-CEBwitdf.cjs.map → Notice-C4Tgmtgb.cjs.map} +1 -1
  22. package/dist/{activity-Duth8KP_.js → activity-BoXbE4Kz.js} +3 -3
  23. package/dist/activity-BoXbE4Kz.js.map +1 -0
  24. package/dist/{activity-8egTNbaI.cjs → activity-CbQG59Oc.cjs} +3 -3
  25. package/dist/activity-CbQG59Oc.cjs.map +1 -0
  26. package/dist/{alert-dialog-D1UYVW__.js → alert-dialog-CzRo39mH.js} +3 -3
  27. package/dist/{alert-dialog-D1UYVW__.js.map → alert-dialog-CzRo39mH.js.map} +1 -1
  28. package/dist/{alert-dialog-BcOSIOSW.cjs → alert-dialog-DC-Fapxf.cjs} +3 -3
  29. package/dist/{alert-dialog-BcOSIOSW.cjs.map → alert-dialog-DC-Fapxf.cjs.map} +1 -1
  30. package/dist/{ask-user-DJXmLJzy.cjs → ask-user-CXu4b7Jw.cjs} +4 -4
  31. package/dist/ask-user-CXu4b7Jw.cjs.map +1 -0
  32. package/dist/{ask-user-Crg1O-o6.js → ask-user-Dlz2346n.js} +4 -4
  33. package/dist/ask-user-Dlz2346n.js.map +1 -0
  34. package/dist/buttons-group-CoZP3lJt.cjs.map +1 -1
  35. package/dist/buttons-group-DsZgrZBZ.js.map +1 -1
  36. package/dist/{code-block-C7A4Hv96.cjs → code-block-BzoMjjtf.cjs} +5 -5
  37. package/dist/{code-block-C7A4Hv96.cjs.map → code-block-BzoMjjtf.cjs.map} +1 -1
  38. package/dist/{code-block-C_pvalBv.js → code-block-DY5KsTGY.js} +5 -5
  39. package/dist/{code-block-C_pvalBv.js.map → code-block-DY5KsTGY.js.map} +1 -1
  40. package/dist/{code-editor-Cltwid7c.js → code-editor-28chVxHw.js} +10 -8
  41. package/dist/code-editor-28chVxHw.js.map +1 -0
  42. package/dist/{code-editor-BXchPl_F.cjs → code-editor-B_wPmKPf.cjs} +10 -8
  43. package/dist/code-editor-B_wPmKPf.cjs.map +1 -0
  44. package/dist/{combobox-B_C0cNid.js → combobox-B15qTrWO.js} +4 -4
  45. package/dist/{combobox-B_C0cNid.js.map → combobox-B15qTrWO.js.map} +1 -1
  46. package/dist/{combobox-rKV-Lksj.cjs → combobox-DJ0c4o4S.cjs} +4 -4
  47. package/dist/{combobox-rKV-Lksj.cjs.map → combobox-DJ0c4o4S.cjs.map} +1 -1
  48. package/dist/{combobox-styles-CLxC7VLA.js → combobox-styles-C2MEEpaG.js} +3 -3
  49. package/dist/{combobox-styles-CLxC7VLA.js.map → combobox-styles-C2MEEpaG.js.map} +1 -1
  50. package/dist/{combobox-styles-C4Kq1NFV.cjs → combobox-styles-DLflBH-G.cjs} +3 -3
  51. package/dist/{combobox-styles-C4Kq1NFV.cjs.map → combobox-styles-DLflBH-G.cjs.map} +1 -1
  52. package/dist/{command-CpXMoss8.cjs → command-Bm0VcX7X.cjs} +2 -2
  53. package/dist/{command-CpXMoss8.cjs.map → command-Bm0VcX7X.cjs.map} +1 -1
  54. package/dist/{command-C6JnofUJ.js → command-DFin7kHN.js} +2 -2
  55. package/dist/{command-C6JnofUJ.js.map → command-DFin7kHN.js.map} +1 -1
  56. package/dist/components/AlertDialog.cjs.js +1 -1
  57. package/dist/components/AlertDialog.es.js +1 -1
  58. package/dist/components/Badge.cjs.js +1 -1
  59. package/dist/components/Badge.es.js +1 -1
  60. package/dist/components/Button.cjs.js +1 -1
  61. package/dist/components/Button.es.js +2 -2
  62. package/dist/components/ClampedText.cjs.js +1 -1
  63. package/dist/components/ClampedText.es.js +1 -1
  64. package/dist/components/CodeBlock.cjs.js +1 -1
  65. package/dist/components/CodeBlock.es.js +1 -1
  66. package/dist/components/CodeEditor.cjs.js +1 -1
  67. package/dist/components/CodeEditor.es.js +1 -1
  68. package/dist/components/CollapsibleBox.cjs.js +12 -0
  69. package/dist/components/CollapsibleBox.cjs.js.map +1 -0
  70. package/dist/components/CollapsibleBox.d.ts +2 -0
  71. package/dist/components/CollapsibleBox.es.js +2 -0
  72. package/dist/components/CollapsibleBox.es.js.map +1 -0
  73. package/dist/components/Combobox.cjs.js +2 -2
  74. package/dist/components/Combobox.es.js +2 -2
  75. package/dist/components/Command.cjs.js +1 -1
  76. package/dist/components/Command.es.js +1 -1
  77. package/dist/components/CommandPalette.cjs.js +1 -1
  78. package/dist/components/CommandPalette.es.js +1 -1
  79. package/dist/components/Comment.cjs.js +3 -3
  80. package/dist/components/Comment.es.js +3 -3
  81. package/dist/components/CopyButton.cjs.js +1 -1
  82. package/dist/components/CopyButton.es.js +1 -1
  83. package/dist/components/DataCodeSection.cjs.js +1 -1
  84. package/dist/components/DataCodeSection.es.js +1 -1
  85. package/dist/components/DataDetailsPanel.cjs.js +2 -2
  86. package/dist/components/DataDetailsPanel.es.js +2 -2
  87. package/dist/components/DataList.cjs.js +3 -3
  88. package/dist/components/DataList.es.js +3 -3
  89. package/dist/components/DataPanel.cjs.js +1 -1
  90. package/dist/components/DataPanel.es.js +1 -1
  91. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  92. package/dist/components/DateRangeTimeline.es.js +1 -1
  93. package/dist/components/DateTimePicker.cjs.js +3 -3
  94. package/dist/components/DateTimePicker.es.js +3 -3
  95. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  96. package/dist/components/DateTimeRangePicker.es.js +1 -1
  97. package/dist/components/Dialog.cjs.js +2 -2
  98. package/dist/components/Dialog.es.js +2 -2
  99. package/dist/components/DisabledFeatureButton.cjs.js +1 -1
  100. package/dist/components/DisabledFeatureButton.es.js +1 -1
  101. package/dist/components/Drawer.cjs.js +1 -1
  102. package/dist/components/Drawer.es.js +1 -1
  103. package/dist/components/EmptyState.cjs.js +1 -1
  104. package/dist/components/EmptyState.es.js +1 -1
  105. package/dist/components/EnvironmentVariablesEditor.cjs.js +9 -9
  106. package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
  107. package/dist/components/EnvironmentVariablesEditor.es.js +9 -9
  108. package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
  109. package/dist/components/ErrorBoundary.cjs.js +1 -1
  110. package/dist/components/ErrorBoundary.es.js +1 -1
  111. package/dist/components/FileDropBackdrop.cjs.js +1 -1
  112. package/dist/components/FileDropBackdrop.es.js +1 -1
  113. package/dist/components/FilterBar.cjs.js +3 -3
  114. package/dist/components/FilterBar.es.js +4 -4
  115. package/dist/components/FormFieldBlocks.cjs.js +5 -5
  116. package/dist/components/FormFieldBlocks.es.js +5 -5
  117. package/dist/components/InputGroup.cjs.js +1 -1
  118. package/dist/components/InputGroup.es.js +1 -1
  119. package/dist/components/JSONSchemaForm.cjs.js +3 -3
  120. package/dist/components/JSONSchemaForm.es.js +3 -3
  121. package/dist/components/ListSearch.cjs.js +1 -1
  122. package/dist/components/ListSearch.es.js +1 -1
  123. package/dist/components/LogsDataList.cjs.js +3 -1
  124. package/dist/components/LogsDataList.cjs.js.map +1 -1
  125. package/dist/components/LogsDataList.es.js +3 -1
  126. package/dist/components/LogsDataList.es.js.map +1 -1
  127. package/dist/components/MainSidebar.cjs.js +1 -1
  128. package/dist/components/MainSidebar.es.js +2 -2
  129. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  130. package/dist/components/MarkdownRenderer.es.js +1 -1
  131. package/dist/components/Message.cjs.js +1 -1
  132. package/dist/components/Message.es.js +1 -1
  133. package/dist/components/MetricsCard.cjs.js +1 -1
  134. package/dist/components/MetricsCard.es.js +1 -1
  135. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  136. package/dist/components/MetricsKpiCard.es.js +1 -1
  137. package/dist/components/Notice.cjs.js +1 -1
  138. package/dist/components/Notice.es.js +1 -1
  139. package/dist/components/PrevNextNav.cjs.js +1 -1
  140. package/dist/components/PrevNextNav.es.js +1 -1
  141. package/dist/components/ProductBadge.cjs.js +1 -1
  142. package/dist/components/ProductBadge.es.js +1 -1
  143. package/dist/components/PropertyFilter.cjs.js +3 -3
  144. package/dist/components/PropertyFilter.es.js +4 -4
  145. package/dist/components/PullRequestIcon.cjs.js +1 -1
  146. package/dist/components/PullRequestIcon.cjs.js.map +1 -1
  147. package/dist/components/PullRequestIcon.es.js +1 -1
  148. package/dist/components/PullRequestIcon.es.js.map +1 -1
  149. package/dist/components/RelativeTimestamp.cjs.js +1 -1
  150. package/dist/components/RelativeTimestamp.es.js +1 -1
  151. package/dist/components/RuleBuilder.cjs.js +3 -3
  152. package/dist/components/RuleBuilder.cjs.js.map +1 -1
  153. package/dist/components/RuleBuilder.es.js +3 -3
  154. package/dist/components/RuleBuilder.es.js.map +1 -1
  155. package/dist/components/SankeyChart.cjs.js +1 -1
  156. package/dist/components/SankeyChart.es.js +1 -1
  157. package/dist/components/Section.cjs.js +1 -1
  158. package/dist/components/Section.es.js +1 -1
  159. package/dist/components/SegmentedControl.cjs.js +11 -0
  160. package/dist/components/SegmentedControl.cjs.js.map +1 -0
  161. package/dist/components/SegmentedControl.d.ts +2 -0
  162. package/dist/components/SegmentedControl.es.js +2 -0
  163. package/dist/components/SegmentedControl.es.js.map +1 -0
  164. package/dist/components/Select.cjs.js +1 -1
  165. package/dist/components/Select.es.js +1 -1
  166. package/dist/components/SideDialog.cjs.js +1 -1
  167. package/dist/components/SideDialog.es.js +1 -1
  168. package/dist/components/Steps.cjs.js +2 -2
  169. package/dist/components/Steps.cjs.js.map +1 -1
  170. package/dist/components/Steps.es.js +2 -2
  171. package/dist/components/Steps.es.js.map +1 -1
  172. package/dist/components/Tabs.cjs.js +3 -3
  173. package/dist/components/Tabs.es.js +3 -3
  174. package/dist/components/ThemeToggle.cjs.js +17 -86
  175. package/dist/components/ThemeToggle.cjs.js.map +1 -1
  176. package/dist/components/ThemeToggle.es.js +18 -87
  177. package/dist/components/ThemeToggle.es.js.map +1 -1
  178. package/dist/components/ThreadList.cjs.js +1 -1
  179. package/dist/components/ThreadList.es.js +1 -1
  180. package/dist/components/TokenBudget.cjs.js +1 -1
  181. package/dist/components/TokenBudget.es.js +1 -1
  182. package/dist/components/Truncate.cjs.js +1 -1
  183. package/dist/components/Truncate.es.js +1 -1
  184. package/dist/components/Workflow.cjs.js +6 -6
  185. package/dist/components/Workflow.es.js +6 -6
  186. package/dist/components/ai/activity.cjs.js +4 -4
  187. package/dist/components/ai/activity.es.js +4 -4
  188. package/dist/components/ai/ask-user.cjs.js +1 -1
  189. package/dist/components/ai/ask-user.es.js +1 -1
  190. package/dist/components/ai/plan.cjs.js +1 -1
  191. package/dist/components/ai/plan.es.js +1 -1
  192. package/dist/components/ai/tool-approval.cjs.js +1 -1
  193. package/dist/components/ai/tool-approval.es.js +1 -1
  194. package/dist/components/ai/tool-call.cjs.js +4 -4
  195. package/dist/components/ai/tool-call.es.js +4 -4
  196. package/dist/{copy-button-C6nXDjBz.cjs → copy-button-CGkFEDHF.cjs} +2 -2
  197. package/dist/{copy-button-C6nXDjBz.cjs.map → copy-button-CGkFEDHF.cjs.map} +1 -1
  198. package/dist/{copy-button-DbmsTUum.js → copy-button-DH8xtrWz.js} +2 -2
  199. package/dist/{copy-button-DbmsTUum.js.map → copy-button-DH8xtrWz.js.map} +1 -1
  200. package/dist/{data-code-section-D5b6_jcB.cjs → data-code-section-DWBfkrmO.cjs} +6 -6
  201. package/dist/data-code-section-DWBfkrmO.cjs.map +1 -0
  202. package/dist/{data-code-section-Bd2Xnckz.js → data-code-section-It6myyvZ.js} +6 -6
  203. package/dist/data-code-section-It6myyvZ.js.map +1 -0
  204. package/dist/{data-list-DL_oFE4j.js → data-list-CyeD_u-6.js} +3 -3
  205. package/dist/{data-list-DL_oFE4j.js.map → data-list-CyeD_u-6.js.map} +1 -1
  206. package/dist/{data-list-D8bACyyK.cjs → data-list-Y42KyuI1.cjs} +3 -3
  207. package/dist/{data-list-D8bACyyK.cjs.map → data-list-Y42KyuI1.cjs.map} +1 -1
  208. package/dist/{data-list-spacer-_bFe0e2u.cjs → data-list-spacer-BSg2hCx7.cjs} +2 -2
  209. package/dist/{data-list-spacer-_bFe0e2u.cjs.map → data-list-spacer-BSg2hCx7.cjs.map} +1 -1
  210. package/dist/{data-list-spacer-CE6-4ZQq.js → data-list-spacer-C8z32twc.js} +2 -2
  211. package/dist/{data-list-spacer-CE6-4ZQq.js.map → data-list-spacer-C8z32twc.js.map} +1 -1
  212. package/dist/{data-panel-CjvoI_lx.cjs → data-panel-D7Qk4iwZ.cjs} +3 -3
  213. package/dist/{data-panel-CjvoI_lx.cjs.map → data-panel-D7Qk4iwZ.cjs.map} +1 -1
  214. package/dist/{data-panel-42fdcagQ.js → data-panel-DuLf5j8S.js} +3 -3
  215. package/dist/{data-panel-42fdcagQ.js.map → data-panel-DuLf5j8S.js.map} +1 -1
  216. package/dist/{date-time-range-picker-C-pSI1u1.js → date-time-range-picker-BDylIIzt.js} +4 -4
  217. package/dist/{date-time-range-picker-C-pSI1u1.js.map → date-time-range-picker-BDylIIzt.js.map} +1 -1
  218. package/dist/{date-time-range-picker-BORAuIJM.cjs → date-time-range-picker-UheN070q.cjs} +4 -4
  219. package/dist/{date-time-range-picker-BORAuIJM.cjs.map → date-time-range-picker-UheN070q.cjs.map} +1 -1
  220. package/dist/{dialog-cKzR2TXI.js → dialog-Dt5kASkl.js} +2 -2
  221. package/dist/{dialog-cKzR2TXI.js.map → dialog-Dt5kASkl.js.map} +1 -1
  222. package/dist/{dialog-action-B3AHq7mU.cjs → dialog-action-C3Tc7ZKI.cjs} +3 -3
  223. package/dist/{dialog-action-B3AHq7mU.cjs.map → dialog-action-C3Tc7ZKI.cjs.map} +1 -1
  224. package/dist/{dialog-action-BGmDoI5T.js → dialog-action-CB3h9Z2J.js} +3 -3
  225. package/dist/{dialog-action-BGmDoI5T.js.map → dialog-action-CB3h9Z2J.js.map} +1 -1
  226. package/dist/{dialog-DYpOpj9s.cjs → dialog-d_AK1NQD.cjs} +2 -2
  227. package/dist/{dialog-DYpOpj9s.cjs.map → dialog-d_AK1NQD.cjs.map} +1 -1
  228. package/dist/domains/auth/components/permission-denied.cjs.js +1 -1
  229. package/dist/domains/auth/components/permission-denied.es.js +1 -1
  230. package/dist/domains/auth/components/session-expired.cjs.js +2 -2
  231. package/dist/domains/auth/components/session-expired.es.js +2 -2
  232. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  233. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  234. package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
  235. package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
  236. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  237. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  238. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
  239. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
  240. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
  241. package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
  242. package/dist/domains/chat/messages/dataset-save-action.cjs.js +5 -5
  243. package/dist/domains/chat/messages/dataset-save-action.es.js +5 -5
  244. package/dist/domains/chat/messages/message-row.cjs.js +5 -5
  245. package/dist/domains/chat/messages/message-row.es.js +5 -5
  246. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  247. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  248. package/dist/domains/chat/messages/renderers/message-text.cjs.js +3 -3
  249. package/dist/domains/chat/messages/renderers/message-text.es.js +3 -3
  250. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  251. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  252. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  253. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  254. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  255. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  256. package/dist/domains/chat/messages/skill-message.cjs.js +3 -3
  257. package/dist/domains/chat/messages/skill-message.es.js +3 -3
  258. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
  259. package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
  260. package/dist/domains/chat/messages/tripwire-notice.cjs.js +2 -2
  261. package/dist/domains/chat/messages/tripwire-notice.es.js +2 -2
  262. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  263. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  264. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +4 -4
  265. package/dist/domains/chat/tools/badges/agent-badge.es.js +4 -4
  266. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  267. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  268. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
  269. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
  270. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +3 -3
  271. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js.map +1 -1
  272. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +3 -3
  273. package/dist/domains/chat/tools/badges/code-mode-badge.es.js.map +1 -1
  274. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +3 -3
  275. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +3 -3
  276. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +2 -2
  277. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +2 -2
  278. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
  279. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
  280. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  281. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  282. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +3 -3
  283. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js.map +1 -1
  284. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +3 -3
  285. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js.map +1 -1
  286. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js +1 -1
  287. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js +1 -1
  288. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +4 -4
  289. package/dist/domains/chat/tools/badges/tool-badge.es.js +4 -4
  290. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +5 -3
  291. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  292. package/dist/domains/chat/tools/badges/workflow-badge.es.js +5 -3
  293. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  294. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +2 -2
  295. package/dist/domains/chat/tools/submit-plan-tool.es.js +2 -2
  296. package/dist/domains/chat/tools/tool-card-kind.cjs.js +5 -1
  297. package/dist/domains/chat/tools/tool-card-kind.cjs.js.map +1 -1
  298. package/dist/domains/chat/tools/tool-card-kind.es.js +5 -2
  299. package/dist/domains/chat/tools/tool-card-kind.es.js.map +1 -1
  300. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  301. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  302. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +4 -4
  303. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +4 -4
  304. package/dist/domains/logs/components/log-data-panel.cjs.js +3 -3
  305. package/dist/domains/logs/components/log-data-panel.es.js +3 -3
  306. package/dist/domains/logs/components/logs-error-content.cjs.js +1 -1
  307. package/dist/domains/logs/components/logs-error-content.es.js +1 -1
  308. package/dist/domains/logs/components/logs-list-view.cjs.js +1 -1
  309. package/dist/domains/logs/components/logs-list-view.es.js +1 -1
  310. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  311. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  312. package/dist/domains/logs/components/no-logs-info.cjs.js +2 -2
  313. package/dist/domains/logs/components/no-logs-info.es.js +2 -2
  314. package/dist/domains/memory/components/flame-graph.cjs.js +2 -2
  315. package/dist/domains/memory/components/flame-graph.cjs.js.map +1 -1
  316. package/dist/domains/memory/components/flame-graph.es.js +2 -2
  317. package/dist/domains/memory/components/flame-graph.es.js.map +1 -1
  318. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  319. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  320. package/dist/domains/memory/components/observation-detail-view.cjs.js +1 -1
  321. package/dist/domains/memory/components/observation-detail-view.es.js +1 -1
  322. package/dist/domains/memory/components/thread-context-progress.cjs.js +1 -1
  323. package/dist/domains/memory/components/thread-context-progress.es.js +1 -1
  324. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  325. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  326. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  327. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  328. package/dist/domains/metrics/components/kpi-card-view.cjs.js +1 -1
  329. package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
  330. package/dist/domains/metrics/components/latency-card-view.cjs.js +5 -5
  331. package/dist/domains/metrics/components/latency-card-view.cjs.js.map +1 -1
  332. package/dist/domains/metrics/components/latency-card-view.es.js +5 -5
  333. package/dist/domains/metrics/components/latency-card-view.es.js.map +1 -1
  334. package/dist/domains/metrics/components/memory-card-view.cjs.js +5 -5
  335. package/dist/domains/metrics/components/memory-card-view.es.js +5 -5
  336. package/dist/domains/metrics/components/metrics-utils.cjs.js +1 -1
  337. package/dist/domains/metrics/components/metrics-utils.cjs.js.map +1 -1
  338. package/dist/domains/metrics/components/metrics-utils.es.js +1 -1
  339. package/dist/domains/metrics/components/metrics-utils.es.js.map +1 -1
  340. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
  341. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
  342. package/dist/domains/metrics/components/scores-card-view.cjs.js +6 -6
  343. package/dist/domains/metrics/components/scores-card-view.cjs.js.map +1 -1
  344. package/dist/domains/metrics/components/scores-card-view.es.js +6 -6
  345. package/dist/domains/metrics/components/scores-card-view.es.js.map +1 -1
  346. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +4 -4
  347. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +4 -4
  348. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +5 -5
  349. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js.map +1 -1
  350. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +5 -5
  351. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js.map +1 -1
  352. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +4 -4
  353. package/dist/domains/metrics/components/traces-volume-card-view.es.js +4 -4
  354. package/dist/domains/metrics/drilldown.cjs.js +0 -1
  355. package/dist/domains/metrics/drilldown.cjs.js.map +1 -1
  356. package/dist/domains/metrics/drilldown.es.js +0 -1
  357. package/dist/domains/metrics/drilldown.es.js.map +1 -1
  358. package/dist/domains/metrics/metrics-filters.cjs.js +0 -2
  359. package/dist/domains/metrics/metrics-filters.cjs.js.map +1 -1
  360. package/dist/domains/metrics/metrics-filters.es.js +0 -2
  361. package/dist/domains/metrics/metrics-filters.es.js.map +1 -1
  362. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +4 -4
  363. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +4 -4
  364. package/dist/domains/review/components/review-status-badge.cjs.js +1 -1
  365. package/dist/domains/review/components/review-status-badge.es.js +1 -1
  366. package/dist/domains/scores/components/score-data-panel.cjs.js +2 -2
  367. package/dist/domains/scores/components/score-data-panel.es.js +2 -2
  368. package/dist/domains/scores/components/span-scoring.cjs.js +4 -4
  369. package/dist/domains/scores/components/span-scoring.es.js +4 -4
  370. package/dist/domains/scores/components/trace-scores-tab.cjs.js +5 -4
  371. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  372. package/dist/domains/scores/components/trace-scores-tab.es.js +5 -4
  373. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  374. package/dist/domains/traces/components/feedback-thread.cjs.js +3 -3
  375. package/dist/domains/traces/components/feedback-thread.es.js +3 -3
  376. package/dist/domains/traces/components/format-trace-thread-messages.cjs.js +31 -9
  377. package/dist/domains/traces/components/format-trace-thread-messages.cjs.js.map +1 -1
  378. package/dist/domains/traces/components/format-trace-thread-messages.es.js +31 -9
  379. package/dist/domains/traces/components/format-trace-thread-messages.es.js.map +1 -1
  380. package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
  381. package/dist/domains/traces/components/no-traces-info.es.js +1 -1
  382. package/dist/domains/traces/components/span-data-panel-view.cjs.js +6 -6
  383. package/dist/domains/traces/components/span-data-panel-view.es.js +6 -6
  384. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  385. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  386. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +2 -2
  387. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +2 -2
  388. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  389. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  390. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +3 -3
  391. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -3
  392. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +1 -1
  393. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js.map +1 -1
  394. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +1 -1
  395. package/dist/domains/traces/components/span-payload/span-payload-json.es.js.map +1 -1
  396. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +16 -11
  397. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js.map +1 -1
  398. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +16 -11
  399. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js.map +1 -1
  400. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  401. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  402. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  403. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  404. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +16 -3
  405. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js.map +1 -1
  406. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +16 -3
  407. package/dist/domains/traces/components/span-payload/span-payload-section.es.js.map +1 -1
  408. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
  409. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
  410. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +2 -2
  411. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +2 -2
  412. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  413. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  414. package/dist/domains/traces/components/span-type-legend.cjs.js +1 -1
  415. package/dist/domains/traces/components/span-type-legend.es.js +1 -1
  416. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  417. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  418. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +6 -6
  419. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js.map +1 -1
  420. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +6 -6
  421. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js.map +1 -1
  422. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +1 -1
  423. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +1 -1
  424. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +9 -2
  425. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  426. package/dist/domains/traces/components/thread-view-by-trace.es.js +10 -3
  427. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  428. package/dist/domains/traces/components/trace-columns-menu.cjs.js +5 -5
  429. package/dist/domains/traces/components/trace-columns-menu.es.js +5 -5
  430. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +6 -6
  431. package/dist/domains/traces/components/trace-data-panel-view.es.js +6 -6
  432. package/dist/domains/traces/components/trace-data-panel.cjs.js +4 -2
  433. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  434. package/dist/domains/traces/components/trace-data-panel.es.js +4 -2
  435. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  436. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  437. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  438. package/dist/domains/traces/components/trace-messages-panel.cjs.js +1 -1
  439. package/dist/domains/traces/components/trace-messages-panel.es.js +1 -1
  440. package/dist/domains/traces/components/trace-status-value.cjs.js +1 -1
  441. package/dist/domains/traces/components/trace-status-value.cjs.js.map +1 -1
  442. package/dist/domains/traces/components/trace-status-value.es.js +1 -1
  443. package/dist/domains/traces/components/trace-status-value.es.js.map +1 -1
  444. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  445. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  446. package/dist/domains/traces/components/trace-thread-item-view.cjs.js +9 -2
  447. package/dist/domains/traces/components/trace-thread-item-view.cjs.js.map +1 -1
  448. package/dist/domains/traces/components/trace-thread-item-view.es.js +10 -3
  449. package/dist/domains/traces/components/trace-thread-item-view.es.js.map +1 -1
  450. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  451. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  452. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
  453. package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
  454. package/dist/domains/traces/components/traces-error-content.cjs.js +1 -1
  455. package/dist/domains/traces/components/traces-error-content.es.js +1 -1
  456. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  457. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  458. package/dist/domains/traces/components/traces-list-view.cjs.js +2 -2
  459. package/dist/domains/traces/components/traces-list-view.es.js +2 -2
  460. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -0
  461. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  462. package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -0
  463. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  464. package/dist/domains/traces/hooks/use-trace-query.cjs.js +2 -2
  465. package/dist/domains/traces/hooks/use-trace-query.cjs.js.map +1 -1
  466. package/dist/domains/traces/hooks/use-trace-query.es.js +2 -2
  467. package/dist/domains/traces/hooks/use-trace-query.es.js.map +1 -1
  468. package/dist/domains/traces/trace-filters.cjs.js +5 -5
  469. package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
  470. package/dist/domains/traces/trace-filters.es.js +5 -5
  471. package/dist/domains/traces/trace-filters.es.js.map +1 -1
  472. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  473. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  474. package/dist/domains/workflows/components/workflow-entity-header.cjs.js +1 -1
  475. package/dist/domains/workflows/components/workflow-entity-header.es.js +1 -1
  476. package/dist/domains/workflows/components/workflow-information.cjs.js +1 -1
  477. package/dist/domains/workflows/components/workflow-information.es.js +1 -1
  478. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +3 -3
  479. package/dist/domains/workflows/components/workflow-step-detail.es.js +3 -3
  480. package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +2 -2
  481. package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +2 -2
  482. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +3 -3
  483. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js.map +1 -1
  484. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +3 -3
  485. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js.map +1 -1
  486. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +2 -2
  487. package/dist/domains/workflows/runs/workflow-run-list.es.js +2 -2
  488. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  489. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  490. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +4 -4
  491. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js.map +1 -1
  492. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +4 -4
  493. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js.map +1 -1
  494. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +2 -2
  495. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +2 -2
  496. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +3 -3
  497. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +3 -3
  498. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
  499. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +2 -2
  500. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  501. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  502. package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
  503. package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
  504. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  505. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  506. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  507. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  508. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +3 -3
  509. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
  510. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  511. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  512. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +2 -2
  513. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
  514. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +1 -1
  515. package/dist/domains/workflows/workflow/workflow-input-data.es.js +1 -1
  516. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
  517. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
  518. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +3 -3
  519. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +3 -3
  520. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +4 -4
  521. package/dist/domains/workflows/workflow/workflow-run-data.es.js +4 -4
  522. package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +1 -1
  523. package/dist/domains/workflows/workflow/workflow-run-error.es.js +1 -1
  524. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +4 -4
  525. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js.map +1 -1
  526. package/dist/domains/workflows/workflow/workflow-run-header.es.js +4 -4
  527. package/dist/domains/workflows/workflow/workflow-run-header.es.js.map +1 -1
  528. package/dist/domains/workflows/workflow/workflow-status.cjs.js +2 -2
  529. package/dist/domains/workflows/workflow/workflow-status.cjs.js.map +1 -1
  530. package/dist/domains/workflows/workflow/workflow-status.es.js +2 -2
  531. package/dist/domains/workflows/workflow/workflow-status.es.js.map +1 -1
  532. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +3 -3
  533. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +3 -3
  534. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +2 -2
  535. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +2 -2
  536. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +3 -3
  537. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +3 -3
  538. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
  539. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
  540. package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
  541. package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
  542. package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
  543. package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
  544. package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +2 -2
  545. package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +2 -2
  546. package/dist/domains/workflows/workflow-status-tone.cjs.js +2 -2
  547. package/dist/domains/workflows/workflow-status-tone.cjs.js.map +1 -1
  548. package/dist/domains/workflows/workflow-status-tone.es.js +2 -2
  549. package/dist/domains/workflows/workflow-status-tone.es.js.map +1 -1
  550. package/dist/{drawer-DXf50w71.js → drawer-BI3B_krl.js} +2 -2
  551. package/dist/{drawer-DXf50w71.js.map → drawer-BI3B_krl.js.map} +1 -1
  552. package/dist/{drawer-d81cZiSV.cjs → drawer-DnXudVbm.cjs} +2 -2
  553. package/dist/{drawer-d81cZiSV.cjs.map → drawer-DnXudVbm.cjs.map} +1 -1
  554. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +1 -1
  555. package/dist/ee/signals/components/entity-index-compact-grid.es.js +1 -1
  556. package/dist/ee/signals/components/entity-index-list.cjs.js +4 -2
  557. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  558. package/dist/ee/signals/components/entity-index-list.es.js +4 -2
  559. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  560. package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
  561. package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
  562. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +1 -1
  563. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +1 -1
  564. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +5 -4
  565. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  566. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +5 -4
  567. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  568. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  569. package/dist/ee/signals/examples-pager.es.js +1 -1
  570. package/dist/ee/signals/flow-card.cjs.js +1 -1
  571. package/dist/ee/signals/flow-card.es.js +1 -1
  572. package/dist/ee/signals/noise-detail-panel.cjs.js +3 -3
  573. package/dist/ee/signals/noise-detail-panel.cjs.js.map +1 -1
  574. package/dist/ee/signals/noise-detail-panel.es.js +3 -3
  575. package/dist/ee/signals/noise-detail-panel.es.js.map +1 -1
  576. package/dist/ee/signals/sankey-signals.cjs.js +2 -2
  577. package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
  578. package/dist/ee/signals/sankey-signals.es.js +2 -2
  579. package/dist/ee/signals/sankey-signals.es.js.map +1 -1
  580. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +5 -5
  581. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +5 -5
  582. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +3 -3
  583. package/dist/ee/signals/settings/trace-signal-settings.es.js +3 -3
  584. package/dist/ee/signals/signal-colors.cjs.js +3 -3
  585. package/dist/ee/signals/signal-colors.cjs.js.map +1 -1
  586. package/dist/ee/signals/signal-colors.es.js +3 -3
  587. package/dist/ee/signals/signal-colors.es.js.map +1 -1
  588. package/dist/ee/signals/signals-error-state.cjs.js +2 -2
  589. package/dist/ee/signals/signals-error-state.cjs.js.map +1 -1
  590. package/dist/ee/signals/signals-error-state.es.js +2 -2
  591. package/dist/ee/signals/signals-error-state.es.js.map +1 -1
  592. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  593. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  594. package/dist/ee/signals/theme-detail-panel.cjs.js +4 -4
  595. package/dist/ee/signals/theme-detail-panel.cjs.js.map +1 -1
  596. package/dist/ee/signals/theme-detail-panel.es.js +4 -4
  597. package/dist/ee/signals/theme-detail-panel.es.js.map +1 -1
  598. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  599. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  600. package/dist/ee/signals/trace-insight-view.cjs.js +4 -4
  601. package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -1
  602. package/dist/ee/signals/trace-insight-view.es.js +4 -4
  603. package/dist/ee/signals/trace-insight-view.es.js.map +1 -1
  604. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  605. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  606. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
  607. package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
  608. package/dist/{field-block-DpejZ6U6.js → field-block--PeppIRb.js} +10 -3
  609. package/dist/field-block--PeppIRb.js.map +1 -0
  610. package/dist/{field-block-BIDi9Bvc.cjs → field-block-DtaPqBa3.cjs} +10 -3
  611. package/dist/field-block-DtaPqBa3.cjs.map +1 -0
  612. package/dist/{field-block-error-msg-B6-wnlAz.cjs → field-block-error-msg-CkhEN6nU.cjs} +2 -2
  613. package/dist/{field-block-error-msg-B6-wnlAz.cjs.map → field-block-error-msg-CkhEN6nU.cjs.map} +1 -1
  614. package/dist/{field-block-error-msg-edlaudVx.js → field-block-error-msg-LXwhKzIq.js} +2 -2
  615. package/dist/{field-block-error-msg-edlaudVx.js.map → field-block-error-msg-LXwhKzIq.js.map} +1 -1
  616. package/dist/{filter-bar-chip-D4CSm9KP.cjs → filter-bar-chip-CBlHsz4A.cjs} +3 -3
  617. package/dist/{filter-bar-chip-D4CSm9KP.cjs.map → filter-bar-chip-CBlHsz4A.cjs.map} +1 -1
  618. package/dist/{filter-bar-chip-BNPOrSrD.js → filter-bar-chip-DFOtEvpW.js} +3 -3
  619. package/dist/{filter-bar-chip-BNPOrSrD.js.map → filter-bar-chip-DFOtEvpW.js.map} +1 -1
  620. package/dist/hooks/use-environment-variables-editor.cjs.js +6 -1
  621. package/dist/hooks/use-environment-variables-editor.cjs.js.map +1 -1
  622. package/dist/hooks/use-environment-variables-editor.es.js +6 -1
  623. package/dist/hooks/use-environment-variables-editor.es.js.map +1 -1
  624. package/dist/{input-group-B8bnoDrA.js → input-group-0G9ZX_cM.js} +2 -2
  625. package/dist/{input-group-B8bnoDrA.js.map → input-group-0G9ZX_cM.js.map} +1 -1
  626. package/dist/{input-group-I8YVM_Ps.cjs → input-group-BRhBfeHC.cjs} +2 -2
  627. package/dist/{input-group-I8YVM_Ps.cjs.map → input-group-BRhBfeHC.cjs.map} +1 -1
  628. package/dist/layout/tabbed-container.cjs.js +6 -6
  629. package/dist/layout/tabbed-container.es.js +6 -6
  630. package/dist/lib/form/components/array-element-wrapper.cjs.js +2 -2
  631. package/dist/lib/form/components/array-element-wrapper.cjs.js.map +1 -1
  632. package/dist/lib/form/components/array-element-wrapper.es.js +2 -2
  633. package/dist/lib/form/components/array-element-wrapper.es.js.map +1 -1
  634. package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
  635. package/dist/lib/form/components/array-wrapper.es.js +1 -1
  636. package/dist/lib/form/components/boolean-field.cjs.js +1 -1
  637. package/dist/lib/form/components/boolean-field.es.js +1 -1
  638. package/dist/lib/form/components/date-field.cjs.js +1 -1
  639. package/dist/lib/form/components/date-field.es.js +1 -1
  640. package/dist/lib/form/components/error-message.cjs.js +1 -1
  641. package/dist/lib/form/components/error-message.es.js +1 -1
  642. package/dist/lib/form/components/field-wrapper.cjs.js +1 -1
  643. package/dist/lib/form/components/field-wrapper.es.js +1 -1
  644. package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
  645. package/dist/lib/form/components/form-submit-row.es.js +1 -1
  646. package/dist/lib/form/components/object-wrapper.cjs.js +1 -1
  647. package/dist/lib/form/components/object-wrapper.cjs.js.map +1 -1
  648. package/dist/lib/form/components/object-wrapper.es.js +1 -1
  649. package/dist/lib/form/components/object-wrapper.es.js.map +1 -1
  650. package/dist/lib/form/components/record-field.cjs.js +1 -1
  651. package/dist/lib/form/components/record-field.es.js +1 -1
  652. package/dist/lib/form/components/select-field.cjs.js +1 -1
  653. package/dist/lib/form/components/select-field.es.js +1 -1
  654. package/dist/lib/form/components/submit-button.cjs.js +1 -1
  655. package/dist/lib/form/components/submit-button.es.js +1 -1
  656. package/dist/{list-search-DXb7HFX8.cjs → list-search-BzAIj0DB.cjs} +2 -2
  657. package/dist/{list-search-DXb7HFX8.cjs.map → list-search-BzAIj0DB.cjs.map} +1 -1
  658. package/dist/{list-search-9l8IEdxZ.js → list-search-DI1DH7vU.js} +2 -2
  659. package/dist/{list-search-9l8IEdxZ.js.map → list-search-DI1DH7vU.js.map} +1 -1
  660. package/dist/{logs-data-list-C77r2FOj.js → logs-data-list-ButZV-2H.js} +3 -3
  661. package/dist/{logs-data-list-C77r2FOj.js.map → logs-data-list-ButZV-2H.js.map} +1 -1
  662. package/dist/{logs-data-list-CEFyG1Xb.cjs → logs-data-list-CtHern11.cjs} +3 -3
  663. package/dist/{logs-data-list-CEFyG1Xb.cjs.map → logs-data-list-CtHern11.cjs.map} +1 -1
  664. package/dist/{main-sidebar-link-active-BNko0jHZ.cjs → main-sidebar-link-active-D8VSuJKx.cjs} +2 -2
  665. package/dist/{main-sidebar-link-active-BNko0jHZ.cjs.map → main-sidebar-link-active-D8VSuJKx.cjs.map} +1 -1
  666. package/dist/{main-sidebar-link-active-1_ktyA8Q.js → main-sidebar-link-active-buZAhlHo.js} +2 -2
  667. package/dist/{main-sidebar-link-active-1_ktyA8Q.js.map → main-sidebar-link-active-buZAhlHo.js.map} +1 -1
  668. package/dist/{markdown-renderer-CSwjfPaf.cjs → markdown-renderer-CZV6neya.cjs} +3 -3
  669. package/dist/{markdown-renderer-CSwjfPaf.cjs.map → markdown-renderer-CZV6neya.cjs.map} +1 -1
  670. package/dist/{markdown-renderer-Bl0V7FCo.js → markdown-renderer-Cy7Iwy1c.js} +3 -3
  671. package/dist/{markdown-renderer-Bl0V7FCo.js.map → markdown-renderer-Cy7Iwy1c.js.map} +1 -1
  672. package/dist/{message-copy-button-DP3U-xA-.js → message-copy-button-C_mFZ3Vg.js} +2 -2
  673. package/dist/{message-copy-button-DP3U-xA-.js.map → message-copy-button-C_mFZ3Vg.js.map} +1 -1
  674. package/dist/{message-copy-button-ClJBX9qx.cjs → message-copy-button-CqMR2T2t.cjs} +2 -2
  675. package/dist/{message-copy-button-ClJBX9qx.cjs.map → message-copy-button-CqMR2T2t.cjs.map} +1 -1
  676. package/dist/{metrics-card-CloSmyRQ.js → metrics-card-C1rTkbcn.js} +3 -3
  677. package/dist/metrics-card-C1rTkbcn.js.map +1 -0
  678. package/dist/{metrics-card-HmQJHDNa.cjs → metrics-card-D7J9JDgn.cjs} +3 -3
  679. package/dist/metrics-card-D7J9JDgn.cjs.map +1 -0
  680. package/dist/{metrics-kpi-card-CW24YjZp.cjs → metrics-kpi-card-1hbihR2T.cjs} +3 -3
  681. package/dist/metrics-kpi-card-1hbihR2T.cjs.map +1 -0
  682. package/dist/{metrics-kpi-card-DLDT28IB.js → metrics-kpi-card-CiB88L41.js} +3 -3
  683. package/dist/metrics-kpi-card-CiB88L41.js.map +1 -0
  684. package/dist/new/settings.cjs.js +1 -1
  685. package/dist/new/settings.es.js +1 -1
  686. package/dist/new/sidebar.cjs.js +3 -3
  687. package/dist/new/sidebar.cjs.js.map +1 -1
  688. package/dist/new/sidebar.es.js +4 -4
  689. package/dist/new/sidebar.es.js.map +1 -1
  690. package/dist/{notification-activity-B1_2BPe_.js → notification-activity-CFR_b8eA.js} +4 -4
  691. package/dist/notification-activity-CFR_b8eA.js.map +1 -0
  692. package/dist/{notification-activity-BAn2fhYd.cjs → notification-activity-Dk50wcE4.cjs} +4 -4
  693. package/dist/notification-activity-Dk50wcE4.cjs.map +1 -0
  694. package/dist/{plan-DJfH1c_u.js → plan-CvTAGIWv.js} +10 -55
  695. package/dist/plan-CvTAGIWv.js.map +1 -0
  696. package/dist/{plan-ZKAT5frg.cjs → plan-DsfNN3a0.cjs} +10 -55
  697. package/dist/plan-DsfNN3a0.cjs.map +1 -0
  698. package/dist/primitives/menu-item.cjs.js +2 -2
  699. package/dist/primitives/menu-item.cjs.js.map +1 -1
  700. package/dist/primitives/menu-item.es.js +2 -2
  701. package/dist/primitives/menu-item.es.js.map +1 -1
  702. package/dist/primitives/trigger-button.cjs.js +1 -1
  703. package/dist/primitives/trigger-button.es.js +1 -1
  704. package/dist/{property-filter-applied-D0F0BYMY.cjs → property-filter-applied-Bp2z4KBv.cjs} +2 -2
  705. package/dist/{property-filter-applied-D0F0BYMY.cjs.map → property-filter-applied-Bp2z4KBv.cjs.map} +1 -1
  706. package/dist/{property-filter-applied-k0TOa9hf.js → property-filter-applied-C9verwDR.js} +2 -2
  707. package/dist/{property-filter-applied-k0TOa9hf.js.map → property-filter-applied-C9verwDR.js.map} +1 -1
  708. package/dist/{reasoning-activity-CO0Ab1Za.cjs → reasoning-activity-BVviIdMe.cjs} +3 -3
  709. package/dist/{reasoning-activity-CO0Ab1Za.cjs.map → reasoning-activity-BVviIdMe.cjs.map} +1 -1
  710. package/dist/{reasoning-activity-D3oCzL58.js → reasoning-activity-OM1-hbCV.js} +3 -3
  711. package/dist/{reasoning-activity-D3oCzL58.js.map → reasoning-activity-OM1-hbCV.js.map} +1 -1
  712. package/dist/{relative-timestamp-D-IvjsVb.cjs → relative-timestamp-BlmN8Vjn.cjs} +2 -2
  713. package/dist/{relative-timestamp-D-IvjsVb.cjs.map → relative-timestamp-BlmN8Vjn.cjs.map} +1 -1
  714. package/dist/{relative-timestamp-wERh5vUE.js → relative-timestamp-Cnp4VeLp.js} +2 -2
  715. package/dist/{relative-timestamp-wERh5vUE.js.map → relative-timestamp-Cnp4VeLp.js.map} +1 -1
  716. package/dist/resize/panel-drawer.cjs.js +1 -1
  717. package/dist/resize/panel-drawer.es.js +1 -1
  718. package/dist/{sankey-chart-D-xMiO2u.js → sankey-chart-D4Idjtth.js} +2 -2
  719. package/dist/sankey-chart-D4Idjtth.js.map +1 -0
  720. package/dist/{sankey-chart-S7iF7d0E.cjs → sankey-chart-DfVMZpz5.cjs} +2 -2
  721. package/dist/sankey-chart-DfVMZpz5.cjs.map +1 -0
  722. package/dist/{search-field-block-Cj9lJsYi.js → search-field-block-BPJh5yuW.js} +3 -3
  723. package/dist/{search-field-block-Cj9lJsYi.js.map → search-field-block-BPJh5yuW.js.map} +1 -1
  724. package/dist/{search-field-block-B1eqMV8x.cjs → search-field-block-DRa-ZNQj.cjs} +3 -3
  725. package/dist/{search-field-block-B1eqMV8x.cjs.map → search-field-block-DRa-ZNQj.cjs.map} +1 -1
  726. package/dist/{section-B5g_0tUo.js → section-BfEsNViI.js} +2 -2
  727. package/dist/{section-B5g_0tUo.js.map → section-BfEsNViI.js.map} +1 -1
  728. package/dist/{section-Bbp-NIR9.cjs → section-dBeXxS69.cjs} +2 -2
  729. package/dist/{section-Bbp-NIR9.cjs.map → section-dBeXxS69.cjs.map} +1 -1
  730. package/dist/segmented-control--I3IgW21.cjs +157 -0
  731. package/dist/segmented-control--I3IgW21.cjs.map +1 -0
  732. package/dist/segmented-control-BxeiypPR.js +135 -0
  733. package/dist/segmented-control-BxeiypPR.js.map +1 -0
  734. package/dist/{select-C0ZGSJYa.cjs → select-DBY9LQFQ.cjs} +2 -2
  735. package/dist/{select-C0ZGSJYa.cjs.map → select-DBY9LQFQ.cjs.map} +1 -1
  736. package/dist/{select-ch8imm15.js → select-DZeNf-kI.js} +2 -2
  737. package/dist/{select-ch8imm15.js.map → select-DZeNf-kI.js.map} +1 -1
  738. package/dist/{select-field-block-_ZUzUs7l.js → select-field-block-C_x9wNpU.js} +3 -3
  739. package/dist/{select-field-block-_ZUzUs7l.js.map → select-field-block-C_x9wNpU.js.map} +1 -1
  740. package/dist/{select-field-block-Dy_N3tWv.cjs → select-field-block-D8AMzoQT.cjs} +3 -3
  741. package/dist/{select-field-block-Dy_N3tWv.cjs.map → select-field-block-D8AMzoQT.cjs.map} +1 -1
  742. package/dist/{settings-row-2hq9Ww8Z.js → settings-row-C1JZDdz_.js} +4 -4
  743. package/dist/settings-row-C1JZDdz_.js.map +1 -0
  744. package/dist/{settings-row-BMRADph-.cjs → settings-row-C7YKfUgY.cjs} +4 -4
  745. package/dist/settings-row-C7YKfUgY.cjs.map +1 -0
  746. package/dist/{side-dialog-D2O3Y7GB.js → side-dialog-DCzCcZs6.js} +5 -5
  747. package/dist/{side-dialog-D2O3Y7GB.js.map → side-dialog-DCzCcZs6.js.map} +1 -1
  748. package/dist/{side-dialog-7P9aEC4v.cjs → side-dialog-DFnD1498.cjs} +5 -5
  749. package/dist/{side-dialog-7P9aEC4v.cjs.map → side-dialog-DFnD1498.cjs.map} +1 -1
  750. package/dist/{signal-activity-1REUU8T_.js → signal-activity-DW2ExjIp.js} +3 -3
  751. package/dist/{signal-activity-1REUU8T_.js.map → signal-activity-DW2ExjIp.js.map} +1 -1
  752. package/dist/{signal-activity-4OJb4kp6.cjs → signal-activity-byCTRP86.cjs} +3 -3
  753. package/dist/{signal-activity-4OJb4kp6.cjs.map → signal-activity-byCTRP86.cjs.map} +1 -1
  754. package/dist/{span-payload-primitives-CbXrqcs-.cjs → span-payload-primitives-D0mhsndj.cjs} +3 -3
  755. package/dist/{span-payload-primitives-CbXrqcs-.cjs.map → span-payload-primitives-D0mhsndj.cjs.map} +1 -1
  756. package/dist/{span-payload-primitives-CEflnpwW.js → span-payload-primitives-DL1Kr0cu.js} +3 -3
  757. package/dist/{span-payload-primitives-CEflnpwW.js.map → span-payload-primitives-DL1Kr0cu.js.map} +1 -1
  758. package/dist/src/domains/chat/tools/tool-card-kind.d.ts +2 -0
  759. package/dist/src/domains/metrics/components/metrics-utils.d.ts +1 -1
  760. package/dist/src/domains/metrics/hooks/use-metrics-filters.d.ts +0 -1
  761. package/dist/src/domains/metrics/metrics-filters.d.ts +0 -2
  762. package/dist/src/domains/traces/components/trace-data-panel-view.stories.d.ts +2 -0
  763. package/dist/src/domains/traces/hooks/use-trace-query.d.ts +1 -1
  764. package/dist/src/ds/components/Badge/Badge.d.ts +3 -3
  765. package/dist/src/ds/components/ButtonsGroup/buttons-group.d.ts +1 -0
  766. package/dist/src/ds/components/ButtonsGroup/buttons-group.stories.d.ts +0 -6
  767. package/dist/src/ds/components/CodeEditor/variable-autocomplete-extension.d.ts +6 -0
  768. package/dist/src/ds/components/CollapsibleBox/collapsible-box.d.ts +10 -0
  769. package/dist/src/ds/components/CollapsibleBox/collapsible-box.stories.d.ts +11 -0
  770. package/dist/src/ds/components/CollapsibleBox/index.d.ts +2 -0
  771. package/dist/src/ds/components/CollapsibleBox/use-collapsible-box.d.ts +14 -0
  772. package/dist/src/ds/components/Combobox/combobox-styles.d.ts +1 -1
  773. package/dist/src/ds/components/SegmentedControl/index.d.ts +1 -0
  774. package/dist/src/ds/components/SegmentedControl/segmented-control.d.ts +38 -0
  775. package/dist/src/ds/components/SegmentedControl/segmented-control.stories.d.ts +11 -0
  776. package/dist/src/ds/components/ThemeToggle/theme-toggle.d.ts +12 -30
  777. package/dist/src/ds/components/ThemeToggle/theme-toggle.stories.d.ts +0 -1
  778. package/dist/src/ds/components/TokenBudget/tones.d.ts +1 -1
  779. package/dist/src/ds/components/Workflow/cards/workflow-card-badge-utils.d.ts +2 -2
  780. package/dist/src/ds/components/ai/plan/plan.d.ts +1 -1
  781. package/dist/src/ds/tokens/colors.d.ts +31 -28
  782. package/dist/src/hooks/use-environment-variables-editor.d.ts +1 -1
  783. package/dist/src/lib/colors.d.ts +1 -1
  784. package/dist/style.css +517 -184
  785. package/dist/{tabs-content-h2qqD8t-.js → tabs-content-CwbkTutf.js} +2 -2
  786. package/dist/{tabs-content-h2qqD8t-.js.map → tabs-content-CwbkTutf.js.map} +1 -1
  787. package/dist/{tabs-content-DQNRMjup.cjs → tabs-content-DnscxcLI.cjs} +2 -2
  788. package/dist/{tabs-content-DQNRMjup.cjs.map → tabs-content-DnscxcLI.cjs.map} +1 -1
  789. package/dist/{tabs-root-BqC8X_h6.cjs → tabs-root-C-ePF1y9.cjs} +4 -4
  790. package/dist/tabs-root-C-ePF1y9.cjs.map +1 -0
  791. package/dist/{tabs-root-4vL8SHCO.js → tabs-root-lrZZ3KwH.js} +4 -4
  792. package/dist/tabs-root-lrZZ3KwH.js.map +1 -0
  793. package/dist/{tabs-tab-lm4xyjtD.cjs → tabs-tab-BmIBFifi.cjs} +2 -2
  794. package/dist/{tabs-tab-lm4xyjtD.cjs.map → tabs-tab-BmIBFifi.cjs.map} +1 -1
  795. package/dist/{tabs-tab-7e2as-AV.js → tabs-tab-DoPSW-1s.js} +2 -2
  796. package/dist/{tabs-tab-7e2as-AV.js.map → tabs-tab-DoPSW-1s.js.map} +1 -1
  797. package/dist/{text-field-block-DYOWjPgO.cjs → text-field-block-DUntfMPu.cjs} +2 -2
  798. package/dist/{text-field-block-DYOWjPgO.cjs.map → text-field-block-DUntfMPu.cjs.map} +1 -1
  799. package/dist/{text-field-block-DJsOk8dJ.js → text-field-block-DZaGiu5D.js} +2 -2
  800. package/dist/{text-field-block-DJsOk8dJ.js.map → text-field-block-DZaGiu5D.js.map} +1 -1
  801. package/dist/{textarea-field-block-DqTd31gF.js → textarea-field-block-BscOSlvI.js} +2 -2
  802. package/dist/{textarea-field-block-DqTd31gF.js.map → textarea-field-block-BscOSlvI.js.map} +1 -1
  803. package/dist/{textarea-field-block-C5fPL2Hn.cjs → textarea-field-block-CKAhmLrz.cjs} +2 -2
  804. package/dist/{textarea-field-block-C5fPL2Hn.cjs.map → textarea-field-block-CKAhmLrz.cjs.map} +1 -1
  805. package/dist/{thread-list-DGI6M6if.js → thread-list-BTpezI4f.js} +2 -2
  806. package/dist/{thread-list-DGI6M6if.js.map → thread-list-BTpezI4f.js.map} +1 -1
  807. package/dist/{thread-list-DwASH1Vl.cjs → thread-list-Drcptd4x.cjs} +2 -2
  808. package/dist/{thread-list-DwASH1Vl.cjs.map → thread-list-Drcptd4x.cjs.map} +1 -1
  809. package/dist/{time-picker-CfZbLgMm.js → time-picker-BElZALzM.js} +2 -2
  810. package/dist/{time-picker-CfZbLgMm.js.map → time-picker-BElZALzM.js.map} +1 -1
  811. package/dist/{time-picker-C0DCPWpR.cjs → time-picker-_QJdolkZ.cjs} +2 -2
  812. package/dist/{time-picker-C0DCPWpR.cjs.map → time-picker-_QJdolkZ.cjs.map} +1 -1
  813. package/dist/tokens.cjs.js +31 -28
  814. package/dist/tokens.cjs.js.map +1 -1
  815. package/dist/tokens.es.js +31 -28
  816. package/dist/tokens.es.js.map +1 -1
  817. package/dist/{tones-DVtXIMPY.js → tones-RD3VjqiN.js} +2 -2
  818. package/dist/tones-RD3VjqiN.js.map +1 -0
  819. package/dist/{tones-BRAQR5Yb.cjs → tones-koH7QNLH.cjs} +2 -2
  820. package/dist/tones-koH7QNLH.cjs.map +1 -0
  821. package/dist/{tool-approval-xZvYiuBP.js → tool-approval-BNJ6MpnV.js} +3 -3
  822. package/dist/tool-approval-BNJ6MpnV.js.map +1 -0
  823. package/dist/{tool-approval-BAER9nxR.cjs → tool-approval-DOPxugSv.cjs} +3 -3
  824. package/dist/tool-approval-DOPxugSv.cjs.map +1 -0
  825. package/dist/{tool-call-arguments-D7PMJ6vj.js → tool-call-arguments-B1MghuMZ.js} +3 -3
  826. package/dist/{tool-call-arguments-D7PMJ6vj.js.map → tool-call-arguments-B1MghuMZ.js.map} +1 -1
  827. package/dist/{tool-call-arguments-ynBfg2dY.cjs → tool-call-arguments-CQYR65FB.cjs} +3 -3
  828. package/dist/{tool-call-arguments-ynBfg2dY.cjs.map → tool-call-arguments-CQYR65FB.cjs.map} +1 -1
  829. package/dist/{tool-call-group-9Dtupqev.cjs → tool-call-group-D_ioE9hT.cjs} +3 -3
  830. package/dist/tool-call-group-D_ioE9hT.cjs.map +1 -0
  831. package/dist/{tool-call-group-DJX7eUYY.js → tool-call-group-ZuYxpyDs.js} +3 -3
  832. package/dist/tool-call-group-ZuYxpyDs.js.map +1 -0
  833. package/dist/{tool-call-mono-gKG9Ek1m.js → tool-call-mono-CC6uzvhS.js} +2 -2
  834. package/dist/{tool-call-mono-gKG9Ek1m.js.map → tool-call-mono-CC6uzvhS.js.map} +1 -1
  835. package/dist/{tool-call-mono-DFSfVZ6E.cjs → tool-call-mono-DXtb4UMm.cjs} +2 -2
  836. package/dist/{tool-call-mono-DFSfVZ6E.cjs.map → tool-call-mono-DXtb4UMm.cjs.map} +1 -1
  837. package/dist/{tool-call-output-DEoCE_Xn.js → tool-call-output-COq3kB-f.js} +3 -3
  838. package/dist/tool-call-output-COq3kB-f.js.map +1 -0
  839. package/dist/{tool-call-output-Dl4sVfCy.cjs → tool-call-output-ht3k1qLQ.cjs} +3 -3
  840. package/dist/tool-call-output-ht3k1qLQ.cjs.map +1 -0
  841. package/dist/{tool-card-BA1YcDoS.js → tool-card-C_K5PwrK.js} +5 -5
  842. package/dist/tool-card-C_K5PwrK.js.map +1 -0
  843. package/dist/{tool-card-DRqhTx-u.cjs → tool-card-rxo27sve.cjs} +5 -5
  844. package/dist/tool-card-rxo27sve.cjs.map +1 -0
  845. package/dist/{traces-data-list-CU93pUfj.cjs → traces-data-list-BsAYYJ9t.cjs} +4 -4
  846. package/dist/{traces-data-list-CU93pUfj.cjs.map → traces-data-list-BsAYYJ9t.cjs.map} +1 -1
  847. package/dist/{traces-data-list-DaedGcID.js → traces-data-list-CnNpGVRN.js} +4 -4
  848. package/dist/{traces-data-list-DaedGcID.js.map → traces-data-list-CnNpGVRN.js.map} +1 -1
  849. package/dist/use-collapsible-box-CCvsF_a9.js +54 -0
  850. package/dist/use-collapsible-box-CCvsF_a9.js.map +1 -0
  851. package/dist/use-collapsible-box-CbQOkokQ.cjs +58 -0
  852. package/dist/use-collapsible-box-CbQOkokQ.cjs.map +1 -0
  853. package/dist/{use-workflow-graph-runtime-D0ODPlNB.cjs → use-workflow-graph-runtime-CIs2HzoP.cjs} +3 -3
  854. package/dist/{use-workflow-graph-runtime-D0ODPlNB.cjs.map → use-workflow-graph-runtime-CIs2HzoP.cjs.map} +1 -1
  855. package/dist/{use-workflow-graph-runtime-XL5zreeR.js → use-workflow-graph-runtime-CexS1ECI.js} +3 -3
  856. package/dist/{use-workflow-graph-runtime-XL5zreeR.js.map → use-workflow-graph-runtime-CexS1ECI.js.map} +1 -1
  857. package/dist/utils/colors.cjs.js +2 -2
  858. package/dist/utils/colors.cjs.js.map +1 -1
  859. package/dist/utils/colors.es.js +2 -2
  860. package/dist/utils/colors.es.js.map +1 -1
  861. package/dist/{workflow-code-dialog-content-vLneZlMd.cjs → workflow-code-dialog-content-BFm2IWDl.cjs} +3 -3
  862. package/dist/{workflow-code-dialog-content-vLneZlMd.cjs.map → workflow-code-dialog-content-BFm2IWDl.cjs.map} +1 -1
  863. package/dist/{workflow-code-dialog-content-Iz2Omi1P.js → workflow-code-dialog-content-BM4ZnrUr.js} +3 -3
  864. package/dist/{workflow-code-dialog-content-Iz2Omi1P.js.map → workflow-code-dialog-content-BM4ZnrUr.js.map} +1 -1
  865. package/dist/{workflow-condition-card-B0Va5Amx.js → workflow-condition-card-3J-As62x.js} +10 -10
  866. package/dist/{workflow-condition-card-B0Va5Amx.js.map → workflow-condition-card-3J-As62x.js.map} +1 -1
  867. package/dist/{workflow-condition-card-CfjhZb0m.cjs → workflow-condition-card-BjEAp0t6.cjs} +10 -10
  868. package/dist/{workflow-condition-card-CfjhZb0m.cjs.map → workflow-condition-card-BjEAp0t6.cjs.map} +1 -1
  869. package/dist/{workflow-data-edge-view-DXeWURnc.cjs → workflow-data-edge-view-7f8O6pVW.cjs} +2 -2
  870. package/dist/{workflow-data-edge-view-DXeWURnc.cjs.map → workflow-data-edge-view-7f8O6pVW.cjs.map} +1 -1
  871. package/dist/{workflow-data-edge-view-o7akvbpB.js → workflow-data-edge-view-BpGLV-at.js} +2 -2
  872. package/dist/{workflow-data-edge-view-o7akvbpB.js.map → workflow-data-edge-view-BpGLV-at.js.map} +1 -1
  873. package/dist/{workflow-debug-controls-Bcb4vcek.cjs → workflow-debug-controls-VbxiluNZ.cjs} +3 -3
  874. package/dist/{workflow-debug-controls-Bcb4vcek.cjs.map → workflow-debug-controls-VbxiluNZ.cjs.map} +1 -1
  875. package/dist/{workflow-debug-controls-DULCFa4s.js → workflow-debug-controls-tty6gLX2.js} +3 -3
  876. package/dist/{workflow-debug-controls-DULCFa4s.js.map → workflow-debug-controls-tty6gLX2.js.map} +1 -1
  877. package/dist/{workflow-edge-data-button-CX-eSbSB.cjs → workflow-edge-data-button-BOVRo4xO.cjs} +4 -4
  878. package/dist/{workflow-edge-data-button-CX-eSbSB.cjs.map → workflow-edge-data-button-BOVRo4xO.cjs.map} +1 -1
  879. package/dist/{workflow-edge-data-button-BuZzeN2n.js → workflow-edge-data-button-C6eyWbcG.js} +4 -4
  880. package/dist/{workflow-edge-data-button-BuZzeN2n.js.map → workflow-edge-data-button-C6eyWbcG.js.map} +1 -1
  881. package/dist/{workflow-step-action-Cf_XmOwj.js → workflow-step-action-B3coZwPr.js} +3 -3
  882. package/dist/{workflow-step-action-Cf_XmOwj.js.map → workflow-step-action-B3coZwPr.js.map} +1 -1
  883. package/dist/{workflow-step-action-JMkWtObA.cjs → workflow-step-action-COOlMQGX.cjs} +3 -3
  884. package/dist/{workflow-step-action-JMkWtObA.cjs.map → workflow-step-action-COOlMQGX.cjs.map} +1 -1
  885. package/package.json +10 -10
  886. package/theme/colors.css +66 -66
  887. package/theme/data-viz.css +3 -3
  888. package/theme/status.css +89 -71
  889. package/theme/surfaces.css +4 -1
  890. package/dist/Badge-H8K5WrXg.cjs.map +0 -1
  891. package/dist/Badge-Q_pCeeGW.js.map +0 -1
  892. package/dist/Button-BnmR2HRc.cjs.map +0 -1
  893. package/dist/Button-C6eUqcPI.js.map +0 -1
  894. package/dist/EmptyState-CJ5KC4Db.cjs.map +0 -1
  895. package/dist/EmptyState-CynkaZd1.js.map +0 -1
  896. package/dist/activity-8egTNbaI.cjs.map +0 -1
  897. package/dist/activity-Duth8KP_.js.map +0 -1
  898. package/dist/ask-user-Crg1O-o6.js.map +0 -1
  899. package/dist/ask-user-DJXmLJzy.cjs.map +0 -1
  900. package/dist/code-editor-BXchPl_F.cjs.map +0 -1
  901. package/dist/code-editor-Cltwid7c.js.map +0 -1
  902. package/dist/data-code-section-Bd2Xnckz.js.map +0 -1
  903. package/dist/data-code-section-D5b6_jcB.cjs.map +0 -1
  904. package/dist/field-block-BIDi9Bvc.cjs.map +0 -1
  905. package/dist/field-block-DpejZ6U6.js.map +0 -1
  906. package/dist/metrics-card-CloSmyRQ.js.map +0 -1
  907. package/dist/metrics-card-HmQJHDNa.cjs.map +0 -1
  908. package/dist/metrics-kpi-card-CW24YjZp.cjs.map +0 -1
  909. package/dist/metrics-kpi-card-DLDT28IB.js.map +0 -1
  910. package/dist/notification-activity-B1_2BPe_.js.map +0 -1
  911. package/dist/notification-activity-BAn2fhYd.cjs.map +0 -1
  912. package/dist/plan-DJfH1c_u.js.map +0 -1
  913. package/dist/plan-ZKAT5frg.cjs.map +0 -1
  914. package/dist/sankey-chart-D-xMiO2u.js.map +0 -1
  915. package/dist/sankey-chart-S7iF7d0E.cjs.map +0 -1
  916. package/dist/settings-row-2hq9Ww8Z.js.map +0 -1
  917. package/dist/settings-row-BMRADph-.cjs.map +0 -1
  918. package/dist/tabs-root-4vL8SHCO.js.map +0 -1
  919. package/dist/tabs-root-BqC8X_h6.cjs.map +0 -1
  920. package/dist/tones-BRAQR5Yb.cjs.map +0 -1
  921. package/dist/tones-DVtXIMPY.js.map +0 -1
  922. package/dist/tool-approval-BAER9nxR.cjs.map +0 -1
  923. package/dist/tool-approval-xZvYiuBP.js.map +0 -1
  924. package/dist/tool-call-group-9Dtupqev.cjs.map +0 -1
  925. package/dist/tool-call-group-DJX7eUYY.js.map +0 -1
  926. package/dist/tool-call-output-DEoCE_Xn.js.map +0 -1
  927. package/dist/tool-call-output-Dl4sVfCy.cjs.map +0 -1
  928. package/dist/tool-card-BA1YcDoS.js.map +0 -1
  929. package/dist/tool-card-DRqhTx-u.cjs.map +0 -1
package/theme/status.css CHANGED
@@ -2,15 +2,17 @@
2
2
  pairs a surface colour with the on-surface ink that reads on it. */
3
3
 
4
4
  :root {
5
- --destructive-subtle: var(--red-soft-950);
5
+ --destructive-subtle: var(--red-950);
6
6
  --destructive-subtle-active: var(--red-900);
7
- --destructive-edge: var(--red-700);
8
- --destructive-indicator: var(--red-400);
7
+ --destructive-edge: var(--red-soft-700);
8
+ --destructive-indicator: var(--red-500);
9
9
  --destructive-subtle-foreground: var(--red-50);
10
- --warning-subtle: var(--yellow-soft-950);
11
- --warning-edge: var(--yellow-700);
12
- --warning-indicator: var(--yellow-400);
13
- --warning-subtle-foreground: var(--yellow-50);
10
+ --destructive-foreground: var(--red-400);
11
+ --warning-subtle: var(--amber-soft-950);
12
+ --warning-edge: var(--amber-800);
13
+ --warning-indicator: var(--amber-400);
14
+ --warning-subtle-foreground: var(--amber-50);
15
+ --warning-foreground: var(--amber-300);
14
16
  --success-subtle: var(--green-soft-950);
15
17
  --success-edge: var(--green-700);
16
18
  --success-indicator: var(--green-400);
@@ -21,70 +23,70 @@
21
23
  --info-subtle-foreground: var(--blue-50);
22
24
 
23
25
  --badge-neutral-foreground: var(--foreground);
24
- --badge-green-strong: var(--green-soft-900);
25
- --badge-green-subtle: var(--green-soft-950);
26
+ --badge-green-strong: color-mix(in oklab, var(--green-600) 32%, transparent);
27
+ --badge-green-subtle: color-mix(in oklab, var(--green-600) 13%, transparent);
26
28
  --badge-green-edge: var(--green-700);
27
29
  --badge-green-indicator: var(--green-soft-300);
28
30
  --badge-green-foreground: var(--green-200);
29
- --badge-red-strong: var(--red-soft-900);
30
- --badge-red-subtle: var(--red-soft-950);
31
+ --badge-red-strong: color-mix(in oklab, var(--red-600) 32%, transparent);
32
+ --badge-red-subtle: color-mix(in oklab, var(--red-600) 13%, transparent);
31
33
  --badge-red-edge: var(--red-700);
32
34
  --badge-red-indicator: var(--red-soft-300);
33
35
  --badge-red-foreground: var(--red-200);
34
- --badge-yellow-strong: var(--yellow-soft-900);
35
- --badge-yellow-subtle: var(--yellow-soft-950);
36
- --badge-yellow-edge: var(--yellow-700);
37
- --badge-yellow-indicator: var(--yellow-soft-300);
38
- --badge-yellow-foreground: var(--yellow-200);
39
- --badge-blue-strong: var(--blue-soft-900);
40
- --badge-blue-subtle: var(--blue-soft-950);
36
+ --badge-amber-strong: color-mix(in oklab, var(--amber-600) 32%, transparent);
37
+ --badge-amber-subtle: color-mix(in oklab, var(--amber-600) 13%, transparent);
38
+ --badge-amber-edge: var(--amber-700);
39
+ --badge-amber-indicator: var(--amber-soft-300);
40
+ --badge-amber-foreground: var(--amber-200);
41
+ --badge-blue-strong: color-mix(in oklab, var(--blue-600) 32%, transparent);
42
+ --badge-blue-subtle: color-mix(in oklab, var(--blue-600) 13%, transparent);
41
43
  --badge-blue-edge: var(--blue-700);
42
44
  --badge-blue-indicator: var(--blue-soft-300);
43
45
  --badge-blue-foreground: var(--blue-200);
44
- --badge-purple-strong: var(--purple-soft-900);
45
- --badge-purple-subtle: var(--purple-soft-950);
46
+ --badge-purple-strong: color-mix(in oklab, var(--purple-600) 32%, transparent);
47
+ --badge-purple-subtle: color-mix(in oklab, var(--purple-600) 13%, transparent);
46
48
  --badge-purple-edge: var(--purple-700);
47
49
  --badge-purple-indicator: var(--purple-soft-300);
48
50
  --badge-purple-foreground: var(--purple-200);
49
- --badge-orange-strong: var(--orange-soft-900);
50
- --badge-orange-subtle: var(--orange-soft-950);
51
+ --badge-orange-strong: color-mix(in oklab, var(--orange-600) 32%, transparent);
52
+ --badge-orange-subtle: color-mix(in oklab, var(--orange-600) 13%, transparent);
51
53
  --badge-orange-edge: var(--orange-700);
52
54
  --badge-orange-indicator: var(--orange-soft-300);
53
55
  --badge-orange-foreground: var(--orange-200);
54
- --badge-cyan-strong: var(--cyan-soft-900);
55
- --badge-cyan-subtle: var(--cyan-soft-950);
56
+ --badge-cyan-strong: color-mix(in oklab, var(--cyan-600) 32%, transparent);
57
+ --badge-cyan-subtle: color-mix(in oklab, var(--cyan-600) 13%, transparent);
56
58
  --badge-cyan-edge: var(--cyan-700);
57
59
  --badge-cyan-indicator: var(--cyan-soft-300);
58
60
  --badge-cyan-foreground: var(--cyan-200);
59
- --badge-pink-strong: var(--pink-soft-900);
60
- --badge-pink-subtle: var(--pink-soft-950);
61
+ --badge-pink-strong: color-mix(in oklab, var(--pink-600) 32%, transparent);
62
+ --badge-pink-subtle: color-mix(in oklab, var(--pink-600) 13%, transparent);
61
63
  --badge-pink-edge: var(--pink-700);
62
64
  --badge-pink-indicator: var(--pink-soft-300);
63
65
  --badge-pink-foreground: var(--pink-200);
64
66
 
65
- --product-studio: var(--badge-cyan-strong);
67
+ --product-studio: var(--cyan-soft-900);
66
68
  --product-studio-foreground: var(--badge-cyan-foreground);
67
- --product-studio-subtle: var(--badge-cyan-subtle);
68
- --product-server: var(--badge-blue-strong);
69
+ --product-studio-subtle: var(--cyan-soft-950);
70
+ --product-server: var(--blue-soft-900);
69
71
  --product-server-foreground: var(--badge-blue-foreground);
70
- --product-server-subtle: var(--badge-blue-subtle);
71
- --product-observability: var(--badge-green-strong);
72
+ --product-server-subtle: var(--blue-soft-950);
73
+ --product-observability: var(--green-soft-900);
72
74
  --product-observability-foreground: var(--badge-green-foreground);
73
- --product-observability-subtle: var(--badge-green-subtle);
74
- --product-factory: var(--badge-orange-strong);
75
+ --product-observability-subtle: var(--green-soft-950);
76
+ --product-factory: var(--orange-soft-900);
75
77
  --product-factory-foreground: var(--badge-orange-foreground);
76
- --product-factory-subtle: var(--badge-orange-subtle);
77
- --product-workers: var(--badge-yellow-strong);
78
- --product-workers-foreground: var(--badge-yellow-foreground);
79
- --product-workers-subtle: var(--badge-yellow-subtle);
80
- --product-persistent-server: var(--badge-purple-strong);
78
+ --product-factory-subtle: var(--orange-soft-950);
79
+ --product-workers: var(--amber-soft-900);
80
+ --product-workers-foreground: var(--badge-amber-foreground);
81
+ --product-workers-subtle: var(--amber-soft-950);
82
+ --product-persistent-server: var(--purple-soft-900);
81
83
  --product-persistent-server-foreground: var(--badge-purple-foreground);
82
- --product-persistent-server-subtle: var(--badge-purple-subtle);
84
+ --product-persistent-server-subtle: var(--purple-soft-950);
83
85
 
84
86
  --brand-green-indicator: var(--color-brand-green);
85
87
 
86
88
  --destructive-bright: var(--red-300);
87
- --warning-bright: var(--yellow-300);
89
+ --warning-bright: var(--amber-300);
88
90
  --success-bright: var(--green-300);
89
91
  --info-bright: var(--blue-300);
90
92
  --session-initializing: var(--orange-400);
@@ -94,12 +96,14 @@ html.light {
94
96
  --destructive-subtle: var(--red-100);
95
97
  --destructive-subtle-active: var(--red-200);
96
98
  --destructive-edge: var(--red-300);
97
- --destructive-indicator: var(--red-600);
99
+ --destructive-indicator: var(--red-500);
98
100
  --destructive-subtle-foreground: var(--red-950);
99
- --warning-subtle: var(--yellow-100);
100
- --warning-edge: var(--yellow-200);
101
- --warning-indicator: var(--yellow-700);
102
- --warning-subtle-foreground: var(--yellow-800);
101
+ --destructive-foreground: var(--red-600);
102
+ --warning-subtle: var(--amber-100);
103
+ --warning-edge: var(--amber-200);
104
+ --warning-indicator: var(--amber-400);
105
+ --warning-foreground: var(--amber-700);
106
+ --warning-subtle-foreground: var(--amber-800);
103
107
  --success-subtle: var(--green-100);
104
108
  --success-edge: var(--green-300);
105
109
  --success-indicator: var(--green-700);
@@ -110,58 +114,70 @@ html.light {
110
114
  --info-subtle-foreground: var(--blue-950);
111
115
 
112
116
  --badge-neutral-foreground: var(--muted-foreground);
113
- --badge-green-strong: var(--green-100);
114
- --badge-green-subtle: var(--green-50);
117
+ --badge-green-strong: color-mix(in oklab, var(--green-400) 20%, transparent);
118
+ --badge-green-subtle: color-mix(in oklab, var(--green-400) 10%, transparent);
115
119
  --badge-green-edge: var(--green-300);
116
120
  --badge-green-indicator: var(--green-soft-600);
117
121
  --badge-green-foreground: var(--green-800);
118
- --badge-red-strong: var(--red-100);
119
- --badge-red-subtle: var(--red-50);
122
+ --badge-red-strong: color-mix(in oklab, var(--red-400) 20%, transparent);
123
+ --badge-red-subtle: color-mix(in oklab, var(--red-400) 10%, transparent);
120
124
  --badge-red-edge: var(--red-300);
121
125
  --badge-red-indicator: var(--red-soft-600);
122
126
  --badge-red-foreground: var(--red-800);
123
- --badge-yellow-strong: var(--yellow-100);
124
- --badge-yellow-subtle: var(--yellow-50);
125
- --badge-yellow-edge: var(--yellow-300);
126
- --badge-yellow-indicator: var(--yellow-soft-600);
127
- --badge-yellow-foreground: var(--yellow-800);
128
- --badge-blue-strong: var(--blue-100);
129
- --badge-blue-subtle: var(--blue-50);
127
+ --badge-amber-strong: color-mix(in oklab, var(--amber-400) 20%, transparent);
128
+ --badge-amber-subtle: color-mix(in oklab, var(--amber-400) 10%, transparent);
129
+ --badge-amber-edge: var(--amber-300);
130
+ --badge-amber-indicator: var(--amber-soft-600);
131
+ --badge-amber-foreground: var(--amber-800);
132
+ --badge-blue-strong: color-mix(in oklab, var(--blue-400) 20%, transparent);
133
+ --badge-blue-subtle: color-mix(in oklab, var(--blue-400) 10%, transparent);
130
134
  --badge-blue-edge: var(--blue-300);
131
135
  --badge-blue-indicator: var(--blue-soft-600);
132
136
  --badge-blue-foreground: var(--blue-800);
133
- --badge-purple-strong: var(--purple-100);
134
- --badge-purple-subtle: var(--purple-50);
137
+ --badge-purple-strong: color-mix(in oklab, var(--purple-400) 20%, transparent);
138
+ --badge-purple-subtle: color-mix(in oklab, var(--purple-400) 10%, transparent);
135
139
  --badge-purple-edge: var(--purple-300);
136
140
  --badge-purple-indicator: var(--purple-soft-600);
137
141
  --badge-purple-foreground: var(--purple-800);
138
- --badge-orange-strong: var(--orange-100);
139
- --badge-orange-subtle: var(--orange-50);
142
+ --badge-orange-strong: color-mix(in oklab, var(--orange-400) 20%, transparent);
143
+ --badge-orange-subtle: color-mix(in oklab, var(--orange-400) 10%, transparent);
140
144
  --badge-orange-edge: var(--orange-300);
141
145
  --badge-orange-indicator: var(--orange-soft-600);
142
146
  --badge-orange-foreground: var(--orange-800);
143
- --badge-cyan-strong: var(--cyan-100);
144
- --badge-cyan-subtle: var(--cyan-50);
147
+ --badge-cyan-strong: color-mix(in oklab, var(--cyan-400) 20%, transparent);
148
+ --badge-cyan-subtle: color-mix(in oklab, var(--cyan-400) 10%, transparent);
145
149
  --badge-cyan-edge: var(--cyan-300);
146
150
  --badge-cyan-indicator: var(--cyan-soft-600);
147
151
  --badge-cyan-foreground: var(--cyan-800);
148
- --badge-pink-strong: var(--pink-100);
149
- --badge-pink-subtle: var(--pink-50);
152
+ --badge-pink-strong: color-mix(in oklab, var(--pink-400) 20%, transparent);
153
+ --badge-pink-subtle: color-mix(in oklab, var(--pink-400) 10%, transparent);
150
154
  --badge-pink-edge: var(--pink-300);
151
155
  --badge-pink-indicator: var(--pink-soft-600);
152
156
  --badge-pink-foreground: var(--pink-800);
153
157
 
154
158
  --product-studio-foreground: var(--cyan-950);
159
+ --product-studio: var(--cyan-100);
160
+ --product-studio-subtle: var(--cyan-50);
155
161
  --product-server-foreground: var(--blue-950);
162
+ --product-server: var(--blue-100);
163
+ --product-server-subtle: var(--blue-50);
156
164
  --product-observability-foreground: var(--green-950);
165
+ --product-observability: var(--green-100);
166
+ --product-observability-subtle: var(--green-50);
157
167
  --product-factory-foreground: var(--orange-950);
158
- --product-workers-foreground: var(--yellow-950);
168
+ --product-factory: var(--orange-100);
169
+ --product-factory-subtle: var(--orange-50);
170
+ --product-workers-foreground: var(--amber-950);
171
+ --product-workers: var(--amber-100);
172
+ --product-workers-subtle: var(--amber-50);
159
173
  --product-persistent-server-foreground: var(--purple-950);
174
+ --product-persistent-server: var(--purple-100);
175
+ --product-persistent-server-subtle: var(--purple-50);
160
176
 
161
177
  --brand-green-indicator: var(--green-700);
162
178
 
163
179
  --destructive-bright: var(--red-500);
164
- --warning-bright: var(--yellow-400);
180
+ --warning-bright: var(--amber-400);
165
181
  --success-bright: var(--green-500);
166
182
  --info-bright: var(--blue-500);
167
183
  --session-initializing: var(--orange-500);
@@ -172,11 +188,13 @@ html.light {
172
188
  --color-destructive-subtle-active: var(--destructive-subtle-active);
173
189
  --color-destructive-edge: var(--destructive-edge);
174
190
  --color-destructive-indicator: var(--destructive-indicator);
191
+ --color-destructive-foreground: var(--destructive-foreground);
175
192
  --color-destructive-subtle-foreground: var(--destructive-subtle-foreground);
176
193
  --color-destructive-bright: var(--destructive-bright);
177
194
  --color-warning-subtle: var(--warning-subtle);
178
195
  --color-warning-edge: var(--warning-edge);
179
196
  --color-warning-indicator: var(--warning-indicator);
197
+ --color-warning-foreground: var(--warning-foreground);
180
198
  --color-warning-subtle-foreground: var(--warning-subtle-foreground);
181
199
  --color-warning-bright: var(--warning-bright);
182
200
  --color-success-subtle: var(--success-subtle);
@@ -200,11 +218,11 @@ html.light {
200
218
  --color-badge-red-edge: var(--badge-red-edge);
201
219
  --color-badge-red-indicator: var(--badge-red-indicator);
202
220
  --color-badge-red-foreground: var(--badge-red-foreground);
203
- --color-badge-yellow-strong: var(--badge-yellow-strong);
204
- --color-badge-yellow-subtle: var(--badge-yellow-subtle);
205
- --color-badge-yellow-edge: var(--badge-yellow-edge);
206
- --color-badge-yellow-indicator: var(--badge-yellow-indicator);
207
- --color-badge-yellow-foreground: var(--badge-yellow-foreground);
221
+ --color-badge-amber-strong: var(--badge-amber-strong);
222
+ --color-badge-amber-subtle: var(--badge-amber-subtle);
223
+ --color-badge-amber-edge: var(--badge-amber-edge);
224
+ --color-badge-amber-indicator: var(--badge-amber-indicator);
225
+ --color-badge-amber-foreground: var(--badge-amber-foreground);
208
226
  --color-badge-blue-strong: var(--badge-blue-strong);
209
227
  --color-badge-blue-subtle: var(--badge-blue-subtle);
210
228
  --color-badge-blue-edge: var(--badge-blue-edge);
@@ -56,8 +56,9 @@
56
56
  --fill-destructive: var(--red-600);
57
57
  --fill-destructive-hover: var(--red-700);
58
58
  --fill-destructive-active: var(--red-800);
59
- --fill-destructive-disabled: var(--red-900);
59
+ --fill-destructive-disabled: var(--red-soft-900);
60
60
  --fill-destructive-foreground: var(--red-50);
61
+ --fill-destructive-disabled-foreground: var(--red-soft-300);
61
62
 
62
63
  /*
63
64
  * Boundary ladder — the four states of a control's 1px edge, as alphas of
@@ -151,6 +152,7 @@ html.light {
151
152
  * ladder re-resolves from here. */
152
153
  --fill-tint: 20.5%;
153
154
  --fill-destructive-disabled: var(--red-300);
155
+ --fill-destructive-disabled-foreground: var(--red-50);
154
156
  /* Shade carries less weight than light at equal alpha, so focus needs a
155
157
  * higher one here to hold its 3:1 floor against the fill it sits on. */
156
158
  --border-focus: oklch(var(--fill-tint) 0 0 / 50%);
@@ -201,6 +203,7 @@ html.light {
201
203
  --color-fill-destructive-active: var(--fill-destructive-active);
202
204
  --color-fill-destructive-disabled: var(--fill-destructive-disabled);
203
205
  --color-fill-destructive-foreground: var(--fill-destructive-foreground);
206
+ --color-fill-destructive-disabled-foreground: var(--fill-destructive-disabled-foreground);
204
207
  --color-border: var(--border);
205
208
  --color-border-strong: var(--border-strong);
206
209
  --color-border-hover: var(--border-hover);
@@ -1 +0,0 @@
1
- {"version":3,"file":"Badge-H8K5WrXg.cjs","sources":["../src/ds/components/Badge/Badge.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { productColors, productSubtleColors } from '../ProductAvatar/product-identity';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type BadgeEmphasis = 'strong' | 'subtle';\nexport type BadgeIndicator = 'dot' | 'pulse';\n\ntype BadgeToneStyles = Record<BadgeEmphasis, string> & { indicator: string };\n\nconst green = {\n strong: 'bg-badge-green-strong text-badge-green-foreground',\n subtle: 'bg-badge-green-subtle text-badge-green-foreground',\n indicator: 'bg-badge-green-indicator',\n};\nconst red = {\n strong: 'bg-badge-red-strong text-badge-red-foreground',\n subtle: 'bg-badge-red-subtle text-badge-red-foreground',\n indicator: 'bg-badge-red-indicator',\n};\nconst yellow = {\n strong: 'bg-badge-yellow-strong text-badge-yellow-foreground',\n subtle: 'bg-badge-yellow-subtle text-badge-yellow-foreground',\n indicator: 'bg-badge-yellow-indicator',\n};\nconst blue = {\n strong: 'bg-badge-blue-strong text-badge-blue-foreground',\n subtle: 'bg-badge-blue-subtle text-badge-blue-foreground',\n indicator: 'bg-badge-blue-indicator',\n};\n\nconst badgeToneStyles = {\n studio: {\n strong: productColors.studio,\n subtle: productSubtleColors.studio,\n indicator: 'bg-product-studio-foreground',\n },\n server: {\n strong: productColors.server,\n subtle: productSubtleColors.server,\n indicator: 'bg-product-server-foreground',\n },\n observability: {\n strong: productColors.observability,\n subtle: productSubtleColors.observability,\n indicator: 'bg-product-observability-foreground',\n },\n factory: {\n strong: productColors.factory,\n subtle: productSubtleColors.factory,\n indicator: 'bg-product-factory-foreground',\n },\n workers: {\n strong: productColors.workers,\n subtle: productSubtleColors.workers,\n indicator: 'bg-product-workers-foreground',\n },\n 'persistent-server': {\n strong: productColors['persistent-server'],\n subtle: productSubtleColors['persistent-server'],\n indicator: 'bg-product-persistent-server-foreground',\n },\n neutral: {\n strong: 'bg-fill text-badge-neutral-foreground',\n subtle: 'bg-fill-subtle text-badge-neutral-foreground',\n indicator: 'bg-muted-foreground',\n },\n success: { ...green, indicator: 'bg-success-indicator' },\n destructive: { ...red, indicator: 'bg-destructive-indicator' },\n info: { ...blue, indicator: 'bg-info-indicator' },\n warning: { ...yellow, indicator: 'bg-warning-indicator' },\n green,\n red,\n yellow,\n blue,\n purple: {\n strong: 'bg-badge-purple-strong text-badge-purple-foreground',\n subtle: 'bg-badge-purple-subtle text-badge-purple-foreground',\n indicator: 'bg-badge-purple-indicator',\n },\n orange: {\n strong: 'bg-badge-orange-strong text-badge-orange-foreground',\n subtle: 'bg-badge-orange-subtle text-badge-orange-foreground',\n indicator: 'bg-badge-orange-indicator',\n },\n cyan: {\n strong: 'bg-badge-cyan-strong text-badge-cyan-foreground',\n subtle: 'bg-badge-cyan-subtle text-badge-cyan-foreground',\n indicator: 'bg-badge-cyan-indicator',\n },\n pink: {\n strong: 'bg-badge-pink-strong text-badge-pink-foreground',\n subtle: 'bg-badge-pink-subtle text-badge-pink-foreground',\n indicator: 'bg-badge-pink-indicator',\n },\n} satisfies Record<string, BadgeToneStyles>;\n\nexport type BadgeVariant = keyof typeof badgeToneStyles;\n\nconst badgeSizeStyles = {\n xs: {\n badge: 'h-[18px] gap-0.5 text-meta',\n withoutLeadingVisual: 'px-1.5',\n withLeadingVisual: 'pl-1 pr-1.5',\n indicator: 'size-1',\n },\n sm: {\n badge: 'h-5 gap-1 text-meta',\n withoutLeadingVisual: 'px-1.5',\n withLeadingVisual: 'px-1.5',\n indicator: 'size-1',\n },\n md: {\n badge: 'h-5 gap-1 text-column tracking-normal',\n withoutLeadingVisual: 'px-2',\n withLeadingVisual: 'pl-1.5 pr-2',\n indicator: 'size-1.5',\n },\n};\n\nexport type BadgeSize = keyof typeof badgeSizeStyles;\n\ntype BadgeLeadingVisual = { icon?: ReactNode; indicator?: never } | { icon?: never; indicator?: BadgeIndicator };\n\nexport type BadgeProps = HTMLAttributes<HTMLSpanElement> &\n BadgeLeadingVisual & {\n variant?: BadgeVariant;\n emphasis?: BadgeEmphasis;\n size?: BadgeSize;\n children?: ReactNode;\n };\n\nexport const Badge = ({\n icon,\n indicator,\n variant = 'neutral',\n emphasis = 'strong',\n size = 'md',\n className,\n children,\n ...props\n}: BadgeProps) => {\n const hasIcon = Boolean(icon);\n const withLeadingVisual = hasIcon || indicator !== undefined;\n const sizeStyles = badgeSizeStyles[size];\n const paddingClass = withLeadingVisual ? sizeStyles.withLeadingVisual : sizeStyles.withoutLeadingVisual;\n\n return (\n <span\n className={cn(\n 'inline-flex w-fit max-w-full shrink-0 items-center rounded-[7px]',\n 'shadow-inset',\n badgeToneStyles[variant][emphasis],\n sizeStyles.badge,\n paddingClass,\n transitions.colors,\n className,\n )}\n {...props}\n >\n {indicator !== undefined ? (\n <span\n aria-hidden=\"true\"\n className={cn(\n 'shrink-0 rounded-full',\n badgeToneStyles[variant].indicator,\n sizeStyles.indicator,\n indicator === 'pulse' && 'motion-safe:animate-pulse motion-reduce:animate-none',\n )}\n />\n ) : null}\n {hasIcon ? <Icon size=\"xs\">{icon}</Icon> : null}\n {children}\n </span>\n );\n};\n"],"names":["productColors","productSubtleColors","jsxs","cn","transitions","jsx","Icon"],"mappings":";;;;;;;;AAYA,MAAM,KAAA,GAAQ;AAAA,EACZ,MAAA,EAAQ,mDAAA;AAAA,EACR,MAAA,EAAQ,mDAAA;AAAA,EACR,SAAA,EAAW;AACb,CAAA;AACA,MAAM,GAAA,GAAM;AAAA,EACV,MAAA,EAAQ,+CAAA;AAAA,EACR,MAAA,EAAQ,+CAAA;AAAA,EACR,SAAA,EAAW;AACb,CAAA;AACA,MAAM,MAAA,GAAS;AAAA,EACb,MAAA,EAAQ,qDAAA;AAAA,EACR,MAAA,EAAQ,qDAAA;AAAA,EACR,SAAA,EAAW;AACb,CAAA;AACA,MAAM,IAAA,GAAO;AAAA,EACX,MAAA,EAAQ,iDAAA;AAAA,EACR,MAAA,EAAQ,iDAAA;AAAA,EACR,SAAA,EAAW;AACb,CAAA;AAEA,MAAM,eAAA,GAAkB;AAAA,EACtB,MAAA,EAAQ;AAAA,IACN,QAAQA,6BAAA,CAAc,MAAA;AAAA,IACtB,QAAQC,mCAAA,CAAoB,MAAA;AAAA,IAC5B,SAAA,EAAW;AAAA,GACb;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,QAAQD,6BAAA,CAAc,MAAA;AAAA,IACtB,QAAQC,mCAAA,CAAoB,MAAA;AAAA,IAC5B,SAAA,EAAW;AAAA,GACb;AAAA,EACA,aAAA,EAAe;AAAA,IACb,QAAQD,6BAAA,CAAc,aAAA;AAAA,IACtB,QAAQC,mCAAA,CAAoB,aAAA;AAAA,IAC5B,SAAA,EAAW;AAAA,GACb;AAAA,EACA,OAAA,EAAS;AAAA,IACP,QAAQD,6BAAA,CAAc,OAAA;AAAA,IACtB,QAAQC,mCAAA,CAAoB,OAAA;AAAA,IAC5B,SAAA,EAAW;AAAA,GACb;AAAA,EACA,OAAA,EAAS;AAAA,IACP,QAAQD,6BAAA,CAAc,OAAA;AAAA,IACtB,QAAQC,mCAAA,CAAoB,OAAA;AAAA,IAC5B,SAAA,EAAW;AAAA,GACb;AAAA,EACA,mBAAA,EAAqB;AAAA,IACnB,MAAA,EAAQD,8BAAc,mBAAmB,CAAA;AAAA,IACzC,MAAA,EAAQC,oCAAoB,mBAAmB,CAAA;AAAA,IAC/C,SAAA,EAAW;AAAA,GACb;AAAA,EACA,OAAA,EAAS;AAAA,IACP,MAAA,EAAQ,uCAAA;AAAA,IACR,MAAA,EAAQ,8CAAA;AAAA,IACR,SAAA,EAAW;AAAA,GACb;AAAA,EACA,OAAA,EAAS,EAAE,GAAG,KAAA,EAAO,WAAW,sBAAA,EAAuB;AAAA,EACvD,WAAA,EAAa,EAAE,GAAG,GAAA,EAAK,WAAW,0BAAA,EAA2B;AAAA,EAC7D,IAAA,EAAM,EAAE,GAAG,IAAA,EAAM,WAAW,mBAAA,EAAoB;AAAA,EAChD,OAAA,EAAS,EAAE,GAAG,MAAA,EAAQ,WAAW,sBAAA,EAAuB;AAAA,EACxD,KAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,MAAA,EAAQ,qDAAA;AAAA,IACR,MAAA,EAAQ,qDAAA;AAAA,IACR,SAAA,EAAW;AAAA,GACb;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,MAAA,EAAQ,qDAAA;AAAA,IACR,MAAA,EAAQ,qDAAA;AAAA,IACR,SAAA,EAAW;AAAA,GACb;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,MAAA,EAAQ,iDAAA;AAAA,IACR,MAAA,EAAQ,iDAAA;AAAA,IACR,SAAA,EAAW;AAAA,GACb;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,MAAA,EAAQ,iDAAA;AAAA,IACR,MAAA,EAAQ,iDAAA;AAAA,IACR,SAAA,EAAW;AAAA;AAEf,CAAA;AAIA,MAAM,eAAA,GAAkB;AAAA,EACtB,EAAA,EAAI;AAAA,IACF,KAAA,EAAO,4BAAA;AAAA,IACP,oBAAA,EAAsB,QAAA;AAAA,IACtB,iBAAA,EAAmB,aAAA;AAAA,IACnB,SAAA,EAAW;AAAA,GACb;AAAA,EACA,EAAA,EAAI;AAAA,IACF,KAAA,EAAO,qBAAA;AAAA,IACP,oBAAA,EAAsB,QAAA;AAAA,IACtB,iBAAA,EAAmB,QAAA;AAAA,IACnB,SAAA,EAAW;AAAA,GACb;AAAA,EACA,EAAA,EAAI;AAAA,IACF,KAAA,EAAO,uCAAA;AAAA,IACP,oBAAA,EAAsB,MAAA;AAAA,IACtB,iBAAA,EAAmB,aAAA;AAAA,IACnB,SAAA,EAAW;AAAA;AAEf,CAAA;AAcO,MAAM,QAAQ,CAAC;AAAA,EACpB,IAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,QAAA,GAAW,QAAA;AAAA,EACX,IAAA,GAAO,IAAA;AAAA,EACP,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAkB;AAChB,EAAA,MAAM,OAAA,GAAU,QAAQ,IAAI,CAAA;AAC5B,EAAA,MAAM,iBAAA,GAAoB,WAAW,SAAA,KAAc,MAAA;AACnD,EAAA,MAAM,UAAA,GAAa,gBAAgB,IAAI,CAAA;AACvC,EAAA,MAAM,YAAA,GAAe,iBAAA,GAAoB,UAAA,CAAW,iBAAA,GAAoB,UAAA,CAAW,oBAAA;AAEnF,EAAA,uBACEC,eAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,WAAA;AAAA,QACT,kEAAA;AAAA,QACA,cAAA;AAAA,QACA,eAAA,CAAgB,OAAO,CAAA,CAAE,QAAQ,CAAA;AAAA,QACjC,UAAA,CAAW,KAAA;AAAA,QACX,YAAA;AAAA,QACAC,kCAAA,CAAY,MAAA;AAAA,QACZ;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,SAAA,KAAc,MAAA,mBACbC,cAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAY,MAAA;AAAA,YACZ,SAAA,EAAWF,WAAA;AAAA,cACT,uBAAA;AAAA,cACA,eAAA,CAAgB,OAAO,CAAA,CAAE,SAAA;AAAA,cACzB,UAAA,CAAW,SAAA;AAAA,cACX,cAAc,OAAA,IAAW;AAAA;AAC3B;AAAA,SACF,GACE,IAAA;AAAA,QACH,0BAAUE,cAAA,CAACC,eAAA,EAAA,EAAK,IAAA,EAAK,IAAA,EAAM,gBAAK,CAAA,GAAU,IAAA;AAAA,QAC1C;AAAA;AAAA;AAAA,GACH;AAEJ;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Badge-Q_pCeeGW.js","sources":["../src/ds/components/Badge/Badge.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { productColors, productSubtleColors } from '../ProductAvatar/product-identity';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type BadgeEmphasis = 'strong' | 'subtle';\nexport type BadgeIndicator = 'dot' | 'pulse';\n\ntype BadgeToneStyles = Record<BadgeEmphasis, string> & { indicator: string };\n\nconst green = {\n strong: 'bg-badge-green-strong text-badge-green-foreground',\n subtle: 'bg-badge-green-subtle text-badge-green-foreground',\n indicator: 'bg-badge-green-indicator',\n};\nconst red = {\n strong: 'bg-badge-red-strong text-badge-red-foreground',\n subtle: 'bg-badge-red-subtle text-badge-red-foreground',\n indicator: 'bg-badge-red-indicator',\n};\nconst yellow = {\n strong: 'bg-badge-yellow-strong text-badge-yellow-foreground',\n subtle: 'bg-badge-yellow-subtle text-badge-yellow-foreground',\n indicator: 'bg-badge-yellow-indicator',\n};\nconst blue = {\n strong: 'bg-badge-blue-strong text-badge-blue-foreground',\n subtle: 'bg-badge-blue-subtle text-badge-blue-foreground',\n indicator: 'bg-badge-blue-indicator',\n};\n\nconst badgeToneStyles = {\n studio: {\n strong: productColors.studio,\n subtle: productSubtleColors.studio,\n indicator: 'bg-product-studio-foreground',\n },\n server: {\n strong: productColors.server,\n subtle: productSubtleColors.server,\n indicator: 'bg-product-server-foreground',\n },\n observability: {\n strong: productColors.observability,\n subtle: productSubtleColors.observability,\n indicator: 'bg-product-observability-foreground',\n },\n factory: {\n strong: productColors.factory,\n subtle: productSubtleColors.factory,\n indicator: 'bg-product-factory-foreground',\n },\n workers: {\n strong: productColors.workers,\n subtle: productSubtleColors.workers,\n indicator: 'bg-product-workers-foreground',\n },\n 'persistent-server': {\n strong: productColors['persistent-server'],\n subtle: productSubtleColors['persistent-server'],\n indicator: 'bg-product-persistent-server-foreground',\n },\n neutral: {\n strong: 'bg-fill text-badge-neutral-foreground',\n subtle: 'bg-fill-subtle text-badge-neutral-foreground',\n indicator: 'bg-muted-foreground',\n },\n success: { ...green, indicator: 'bg-success-indicator' },\n destructive: { ...red, indicator: 'bg-destructive-indicator' },\n info: { ...blue, indicator: 'bg-info-indicator' },\n warning: { ...yellow, indicator: 'bg-warning-indicator' },\n green,\n red,\n yellow,\n blue,\n purple: {\n strong: 'bg-badge-purple-strong text-badge-purple-foreground',\n subtle: 'bg-badge-purple-subtle text-badge-purple-foreground',\n indicator: 'bg-badge-purple-indicator',\n },\n orange: {\n strong: 'bg-badge-orange-strong text-badge-orange-foreground',\n subtle: 'bg-badge-orange-subtle text-badge-orange-foreground',\n indicator: 'bg-badge-orange-indicator',\n },\n cyan: {\n strong: 'bg-badge-cyan-strong text-badge-cyan-foreground',\n subtle: 'bg-badge-cyan-subtle text-badge-cyan-foreground',\n indicator: 'bg-badge-cyan-indicator',\n },\n pink: {\n strong: 'bg-badge-pink-strong text-badge-pink-foreground',\n subtle: 'bg-badge-pink-subtle text-badge-pink-foreground',\n indicator: 'bg-badge-pink-indicator',\n },\n} satisfies Record<string, BadgeToneStyles>;\n\nexport type BadgeVariant = keyof typeof badgeToneStyles;\n\nconst badgeSizeStyles = {\n xs: {\n badge: 'h-[18px] gap-0.5 text-meta',\n withoutLeadingVisual: 'px-1.5',\n withLeadingVisual: 'pl-1 pr-1.5',\n indicator: 'size-1',\n },\n sm: {\n badge: 'h-5 gap-1 text-meta',\n withoutLeadingVisual: 'px-1.5',\n withLeadingVisual: 'px-1.5',\n indicator: 'size-1',\n },\n md: {\n badge: 'h-5 gap-1 text-column tracking-normal',\n withoutLeadingVisual: 'px-2',\n withLeadingVisual: 'pl-1.5 pr-2',\n indicator: 'size-1.5',\n },\n};\n\nexport type BadgeSize = keyof typeof badgeSizeStyles;\n\ntype BadgeLeadingVisual = { icon?: ReactNode; indicator?: never } | { icon?: never; indicator?: BadgeIndicator };\n\nexport type BadgeProps = HTMLAttributes<HTMLSpanElement> &\n BadgeLeadingVisual & {\n variant?: BadgeVariant;\n emphasis?: BadgeEmphasis;\n size?: BadgeSize;\n children?: ReactNode;\n };\n\nexport const Badge = ({\n icon,\n indicator,\n variant = 'neutral',\n emphasis = 'strong',\n size = 'md',\n className,\n children,\n ...props\n}: BadgeProps) => {\n const hasIcon = Boolean(icon);\n const withLeadingVisual = hasIcon || indicator !== undefined;\n const sizeStyles = badgeSizeStyles[size];\n const paddingClass = withLeadingVisual ? sizeStyles.withLeadingVisual : sizeStyles.withoutLeadingVisual;\n\n return (\n <span\n className={cn(\n 'inline-flex w-fit max-w-full shrink-0 items-center rounded-[7px]',\n 'shadow-inset',\n badgeToneStyles[variant][emphasis],\n sizeStyles.badge,\n paddingClass,\n transitions.colors,\n className,\n )}\n {...props}\n >\n {indicator !== undefined ? (\n <span\n aria-hidden=\"true\"\n className={cn(\n 'shrink-0 rounded-full',\n badgeToneStyles[variant].indicator,\n sizeStyles.indicator,\n indicator === 'pulse' && 'motion-safe:animate-pulse motion-reduce:animate-none',\n )}\n />\n ) : null}\n {hasIcon ? <Icon size=\"xs\">{icon}</Icon> : null}\n {children}\n </span>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button-BnmR2HRc.cjs","sources":["../src/ds/components/Button/Button.tsx"],"sourcesContent":["import { Button as BaseButton } from '@base-ui/react/button';\nimport { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport React from 'react';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { iconSizeClasses, type IconSize } from '@/ds/icons/icon-size-classes';\nimport { controlHeight, controlSizeClasses } from '@/ds/primitives/control-size';\nimport {\n controlFocusBorderVisible,\n raisedControlSurfaceStyle,\n sharedFormElementDisabledStyle,\n} from '@/ds/primitives/form-element';\nimport { controlStateColorTransition, focusRingOffset } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\n// Adornments for text-mode buttons: gap between icon+label and larger radius.\n// - `[data-slot=button-icon]` styles the `<Icon>` wrapper rendered by the `icon` prop — the only\n// supported way to pair an icon with a label (always on the left, fixed gap).\n// - `[&>svg]` only remains for label-less text-mode buttons (e.g. CopyButton) that pass a bare\n// SVG as children.\n// Excluded from icon-mode because icon-mode wraps children in `<Icon>` and uses its own\n// `rounded-full` (circle).\nconst TEXT_MODE_ADORNMENTS = cn(\n 'gap-[.75em] rounded-full',\n '[&>[data-slot=button-icon]]:-ml-[.3em]',\n '[&>svg]:mx-[-.3em]',\n);\n\n// An icon is secondary to the label beside it, and on a neutral surface it says so with\n// a colour token rather than opacity. Opacity dims against whatever sits behind the\n// control, so the same glyph clears contrast on one surface and fails on another, and it\n// left icon-only buttons with no hover response at all: only their background moved.\n// Filled variants opt out because there the glyph colour carries the meaning.\nconst NEUTRAL_ICON_STATE = cn(\n '[&_svg]:text-muted-foreground not-disabled:hover:[&_svg]:text-foreground aria-disabled:[&_svg]:text-muted-foreground',\n);\n\n// eslint-disable-next-line react-refresh/only-export-components -- exported variant helper is part of Button's public API\nexport const buttonVariants = cva(\n cn(\n 'inline-flex cursor-pointer items-center justify-center',\n controlStateColorTransition,\n sharedFormElementDisabledStyle,\n 'aria-disabled:pointer-events-none aria-disabled:cursor-not-allowed aria-disabled:text-muted-foreground',\n controlFocusBorderVisible,\n ),\n {\n variants: {\n variant: {\n // The raised card material, the same one a field wears: a neutral filled control is\n // one material system-wide. No border of its own — the material's rim is its edge,\n // and focus repaints that rim. Inside a ButtonsGroup the group flattens the rim and\n // hands every segment the same 1px border instead (see `buttons-group.css`).\n default: cn(\n 'border-0',\n raisedControlSurfaceStyle,\n NEUTRAL_ICON_STATE,\n 'disabled:bg-fill-subtle aria-disabled:bg-fill-subtle',\n ),\n // Filled variants take the opaque ladder: their rest fill is a colour, not a rung\n // layered on the surface, so a state that thinned it would let whatever the button\n // covers read through the hover it is meant to answer.\n primary: cn(\n 'border border-transparent bg-fill-inverse text-background not-disabled:hover:bg-fill-inverse-hover not-disabled:active:bg-fill-inverse-active',\n focusRingOffset,\n 'focus-visible:border-transparent',\n 'disabled:bg-fill-inverse-disabled disabled:text-background/75 aria-disabled:bg-fill-inverse-disabled aria-disabled:text-background/75',\n ),\n destructive: cn(\n 'border border-transparent bg-fill-destructive text-fill-destructive-foreground not-disabled:hover:bg-fill-destructive-hover not-disabled:active:bg-fill-destructive-active',\n focusRingOffset,\n 'focus-visible:border-transparent',\n 'disabled:bg-fill-destructive-disabled disabled:text-fill-destructive-foreground aria-disabled:bg-fill-destructive-disabled aria-disabled:text-fill-destructive-foreground',\n ),\n 'destructive-ghost': cn(\n 'border border-transparent bg-transparent text-destructive-indicator not-disabled:hover:bg-destructive-subtle not-disabled:hover:text-destructive-indicator not-disabled:active:bg-destructive-subtle-active',\n 'disabled:bg-transparent disabled:text-placeholder aria-disabled:bg-transparent aria-disabled:text-placeholder',\n ),\n ghost: cn(\n 'border border-transparent bg-transparent text-muted-foreground not-disabled:hover:bg-fill-subtle not-disabled:hover:text-foreground not-disabled:active:bg-fill',\n 'disabled:bg-transparent aria-disabled:bg-transparent',\n ),\n },\n size: {\n sm: cn(controlSizeClasses.sm, iconSizeClasses.sm, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n md: cn(controlSizeClasses.md, iconSizeClasses.md, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n lg: cn(controlSizeClasses.lg, iconSizeClasses.lg, 'px-[1em]', TEXT_MODE_ADORNMENTS),\n // Icon sizes: square dimensions, fully rounded → circle. Active state inherits from variant\n // so icon-mode and text-mode use the same press feedback. The glyph is sized by the `Icon`\n // wrapper the component puts around an icon-mode child, keyed off the same scale.\n 'icon-sm': cn(controlHeight.sm, 'w-control-sm rounded-full'),\n 'icon-md': cn(controlHeight.md, 'w-control-md rounded-full'),\n 'icon-lg': cn(controlHeight.lg, 'w-control-lg rounded-full'),\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n },\n);\n\n// Public types derived from cva — single source of truth. Adding a variant or size to\n// `buttonVariants` automatically updates these unions.\ntype ButtonVariantsProps = VariantProps<typeof buttonVariants>;\nexport type ButtonVariant = NonNullable<ButtonVariantsProps['variant']>;\nexport type ButtonSize = NonNullable<ButtonVariantsProps['size']>;\nexport type IconButtonSize = Extract<ButtonSize, `icon-${string}`>;\nexport type TextButtonSize = Exclude<ButtonSize, IconButtonSize>;\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'>, ButtonVariantsProps {\n render?: BaseButton.Props['render'];\n className?: string;\n children: React.ReactNode;\n /** Leading icon, always rendered on the left of the label inside `<Icon>`. Ignored in icon-mode sizes. */\n icon?: React.ReactNode;\n tooltip?: React.ReactNode;\n /** @deprecated Pass the element through `render` instead: `render={<Link href=\"/x\" />}`. */\n as?: React.ElementType;\n /** @deprecated Set it on the element passed to `render`. */\n href?: string;\n /** @deprecated Set it on the element passed to `render`. */\n to?: string;\n /** @deprecated Set it on the element passed to `render`. */\n target?: string;\n /** @deprecated Set it on the element passed to `render`. */\n prefetch?: boolean | null;\n}\n\n// A link is not a button. `render` always entered `BaseButton`, which warns in\n// development when the resolved element is not a native button. `nativeButton={false}`\n// is the worse fix: Base UI then adds `role=\"button\"` and Enter/Space handling, so a\n// screen reader announces a link as a button. Render links directly instead and keep\n// `BaseButton` for real buttons.\nfunction isLinkElement(\n element: React.ReactElement,\n): element is React.ReactElement<{ href?: unknown; to?: unknown; className?: string }> {\n if (element.type === 'a') return true;\n const { href, to } = element.props as { href?: unknown; to?: unknown };\n return href !== undefined || to !== undefined;\n}\n\nfunction preventLinkActivation(event: React.SyntheticEvent): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\n// One icon step per control step: a glyph is sized by the rung it sits in, so the\n// same nominal size renders the same icon whether it arrives as an icon-mode child,\n// the `icon` prop, or a bare SVG.\nconst iconSizeMap: Record<ButtonSize, IconSize> = {\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n 'icon-sm': 'sm',\n 'icon-md': 'md',\n 'icon-lg': 'lg',\n};\n\n// Walks React children, expanding `<></>` fragments so `isIconOnly` can inspect the real\n// elements inside. `<Button><><Icon/></></Button>` should still count as icon-only.\nfunction flattenChildren(children: React.ReactNode): React.ReactNode[] {\n const result: React.ReactNode[] = [];\n React.Children.forEach(children, child => {\n if (React.isValidElement<{ children?: React.ReactNode }>(child) && child.type === React.Fragment) {\n result.push(...flattenChildren(child.props.children));\n } else {\n result.push(child);\n }\n });\n return result;\n}\n\n// True when every child is a React element (no text/label). Used in text-mode to brighten the\n// SVG of label-less buttons so the glyph reads stronger.\nfunction isIconOnly(children: React.ReactNode): boolean {\n const flat = flattenChildren(children);\n return flat.length > 0 && flat.every(child => React.isValidElement(child));\n}\n\n// Type guard: narrows `ButtonSize` to `IconButtonSize`, so an icon-mode button can be\n// told from a text-mode one without a cast.\n// eslint-disable-next-line react-refresh/only-export-components -- shared with Combobox's icon-only trigger\nexport function isIconButtonSize(size: ButtonSize | null | undefined): size is IconButtonSize {\n return size?.startsWith('icon-') ?? false;\n}\n\nexport const Button = React.forwardRef<HTMLElement, ButtonProps>(\n (\n {\n className,\n render,\n as: asProp,\n href,\n to,\n target,\n prefetch,\n size,\n variant = 'default',\n disabled,\n children,\n icon,\n tooltip,\n 'aria-label': ariaLabelProp,\n type,\n ...props\n },\n ref,\n ) => {\n const iconMode = isIconButtonSize(size);\n const resolvedSize: ButtonSize = size ?? 'md';\n const isLabelless = !iconMode && isIconOnly(children);\n\n // Icon-only buttons need an a11y label. If a string tooltip is provided, reuse it.\n const ariaLabel = ariaLabelProp ?? ((iconMode || isLabelless) && typeof tooltip === 'string' ? tooltip : undefined);\n\n const content = iconMode ? (\n <Icon size={iconSizeMap[resolvedSize]}>{children}</Icon>\n ) : (\n <>\n {icon ? (\n <Icon data-slot=\"button-icon\" size={iconSizeMap[resolvedSize]}>\n {icon}\n </Icon>\n ) : null}\n {children}\n </>\n );\n\n const sharedProps = {\n disabled,\n // Base UI renders `type=\"button\"` when the prop is absent, which would quietly stop\n // a form button that relied on the native `submit` default from submitting. Passing\n // it through, `undefined` included, keeps native semantics: absent stays absent.\n type,\n 'aria-label': ariaLabel,\n // Expose the variant so a parent ButtonsGroup can detect FILLED segments in CSS\n // (filled buttons have an opaque background that hides a border seam, so the group\n // paints their divider as an inset box-shadow instead — see buttons-group.css).\n 'data-variant': variant,\n // Icon-mode is a square: a group that overrides the rung has to move the width with\n // the height or the circle turns into a pill (see buttons-group.css).\n 'data-shape': iconMode ? 'icon' : undefined,\n className: cn(buttonVariants({ variant, size: resolvedSize }), className),\n ...props,\n };\n\n // The deprecated `as` API keeps its original element path rather than going through\n // Base UI. Routing it through `render` drops props Base UI does not know about — a\n // router link loses its `to` and stops navigating — and Base UI warns that a\n // non-<button> contradicts `nativeButton`.\n const LegacyComponent = render ? undefined : asProp;\n\n // Only forward what the caller actually set. Passing `href={undefined}` through to a\n // router link overwrites the href that link derives from `to`, leaving an anchor that\n // renders correctly and navigates nowhere.\n const legacyLinkProps = {\n ...(href === undefined ? null : { href }),\n ...(to === undefined ? null : { to }),\n ...(target === undefined ? null : { target }),\n ...(prefetch === undefined ? null : { prefetch }),\n };\n\n const renderedLink = React.isValidElement(render) && isLinkElement(render) ? render : undefined;\n const renderedLinkProps = renderedLink?.props;\n const disabledHref = renderedLink?.type !== 'a' && renderedLinkProps?.href !== undefined ? '' : undefined;\n const disabledTo = renderedLinkProps?.to !== undefined ? '' : undefined;\n const disabledLinkProps = disabled\n ? {\n href: disabledHref,\n to: disabledTo,\n 'aria-disabled': true,\n onClick: preventLinkActivation,\n onAuxClick: preventLinkActivation,\n onKeyDown: (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') preventLinkActivation(event);\n },\n }\n : undefined;\n\n const button = LegacyComponent ? (\n <LegacyComponent ref={ref} {...legacyLinkProps} {...sharedProps}>\n {content}\n </LegacyComponent>\n ) : renderedLink ? (\n React.cloneElement(renderedLink as React.ReactElement<Record<string, unknown>>, {\n ref,\n ...sharedProps,\n disabled: undefined,\n ...disabledLinkProps,\n className: cn(sharedProps.className, renderedLink.props.className),\n children: content,\n })\n ) : (\n <BaseButton ref={ref} render={render} {...sharedProps}>\n {content}\n </BaseButton>\n );\n\n if (tooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n );\n }\n\n return button;\n },\n);\n\nButton.displayName = 'Button';\n"],"names":["cn","cva","controlStateColorTransition","sharedFormElementDisabledStyle","controlFocusBorderVisible","raisedControlSurfaceStyle","focusRingOffset","controlSizeClasses","iconSizeClasses","controlHeight","tooltip","jsx","Icon","jsxs","Fragment","button","BaseButton","Tooltip","TooltipTrigger","TooltipContent"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button-C6eUqcPI.js","sources":["../src/ds/components/Button/Button.tsx"],"sourcesContent":["import { Button as BaseButton } from '@base-ui/react/button';\nimport { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport React from 'react';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { iconSizeClasses, type IconSize } from '@/ds/icons/icon-size-classes';\nimport { controlHeight, controlSizeClasses } from '@/ds/primitives/control-size';\nimport {\n controlFocusBorderVisible,\n raisedControlSurfaceStyle,\n sharedFormElementDisabledStyle,\n} from '@/ds/primitives/form-element';\nimport { controlStateColorTransition, focusRingOffset } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\n// Adornments for text-mode buttons: gap between icon+label and larger radius.\n// - `[data-slot=button-icon]` styles the `<Icon>` wrapper rendered by the `icon` prop — the only\n// supported way to pair an icon with a label (always on the left, fixed gap).\n// - `[&>svg]` only remains for label-less text-mode buttons (e.g. CopyButton) that pass a bare\n// SVG as children.\n// Excluded from icon-mode because icon-mode wraps children in `<Icon>` and uses its own\n// `rounded-full` (circle).\nconst TEXT_MODE_ADORNMENTS = cn(\n 'gap-[.75em] rounded-full',\n '[&>[data-slot=button-icon]]:-ml-[.3em]',\n '[&>svg]:mx-[-.3em]',\n);\n\n// An icon is secondary to the label beside it, and on a neutral surface it says so with\n// a colour token rather than opacity. Opacity dims against whatever sits behind the\n// control, so the same glyph clears contrast on one surface and fails on another, and it\n// left icon-only buttons with no hover response at all: only their background moved.\n// Filled variants opt out because there the glyph colour carries the meaning.\nconst NEUTRAL_ICON_STATE = cn(\n '[&_svg]:text-muted-foreground not-disabled:hover:[&_svg]:text-foreground aria-disabled:[&_svg]:text-muted-foreground',\n);\n\n// eslint-disable-next-line react-refresh/only-export-components -- exported variant helper is part of Button's public API\nexport const buttonVariants = cva(\n cn(\n 'inline-flex cursor-pointer items-center justify-center',\n controlStateColorTransition,\n sharedFormElementDisabledStyle,\n 'aria-disabled:pointer-events-none aria-disabled:cursor-not-allowed aria-disabled:text-muted-foreground',\n controlFocusBorderVisible,\n ),\n {\n variants: {\n variant: {\n // The raised card material, the same one a field wears: a neutral filled control is\n // one material system-wide. No border of its own — the material's rim is its edge,\n // and focus repaints that rim. Inside a ButtonsGroup the group flattens the rim and\n // hands every segment the same 1px border instead (see `buttons-group.css`).\n default: cn(\n 'border-0',\n raisedControlSurfaceStyle,\n NEUTRAL_ICON_STATE,\n 'disabled:bg-fill-subtle aria-disabled:bg-fill-subtle',\n ),\n // Filled variants take the opaque ladder: their rest fill is a colour, not a rung\n // layered on the surface, so a state that thinned it would let whatever the button\n // covers read through the hover it is meant to answer.\n primary: cn(\n 'border border-transparent bg-fill-inverse text-background not-disabled:hover:bg-fill-inverse-hover not-disabled:active:bg-fill-inverse-active',\n focusRingOffset,\n 'focus-visible:border-transparent',\n 'disabled:bg-fill-inverse-disabled disabled:text-background/75 aria-disabled:bg-fill-inverse-disabled aria-disabled:text-background/75',\n ),\n destructive: cn(\n 'border border-transparent bg-fill-destructive text-fill-destructive-foreground not-disabled:hover:bg-fill-destructive-hover not-disabled:active:bg-fill-destructive-active',\n focusRingOffset,\n 'focus-visible:border-transparent',\n 'disabled:bg-fill-destructive-disabled disabled:text-fill-destructive-foreground aria-disabled:bg-fill-destructive-disabled aria-disabled:text-fill-destructive-foreground',\n ),\n 'destructive-ghost': cn(\n 'border border-transparent bg-transparent text-destructive-indicator not-disabled:hover:bg-destructive-subtle not-disabled:hover:text-destructive-indicator not-disabled:active:bg-destructive-subtle-active',\n 'disabled:bg-transparent disabled:text-placeholder aria-disabled:bg-transparent aria-disabled:text-placeholder',\n ),\n ghost: cn(\n 'border border-transparent bg-transparent text-muted-foreground not-disabled:hover:bg-fill-subtle not-disabled:hover:text-foreground not-disabled:active:bg-fill',\n 'disabled:bg-transparent aria-disabled:bg-transparent',\n ),\n },\n size: {\n sm: cn(controlSizeClasses.sm, iconSizeClasses.sm, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n md: cn(controlSizeClasses.md, iconSizeClasses.md, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n lg: cn(controlSizeClasses.lg, iconSizeClasses.lg, 'px-[1em]', TEXT_MODE_ADORNMENTS),\n // Icon sizes: square dimensions, fully rounded → circle. Active state inherits from variant\n // so icon-mode and text-mode use the same press feedback. The glyph is sized by the `Icon`\n // wrapper the component puts around an icon-mode child, keyed off the same scale.\n 'icon-sm': cn(controlHeight.sm, 'w-control-sm rounded-full'),\n 'icon-md': cn(controlHeight.md, 'w-control-md rounded-full'),\n 'icon-lg': cn(controlHeight.lg, 'w-control-lg rounded-full'),\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n },\n);\n\n// Public types derived from cva — single source of truth. Adding a variant or size to\n// `buttonVariants` automatically updates these unions.\ntype ButtonVariantsProps = VariantProps<typeof buttonVariants>;\nexport type ButtonVariant = NonNullable<ButtonVariantsProps['variant']>;\nexport type ButtonSize = NonNullable<ButtonVariantsProps['size']>;\nexport type IconButtonSize = Extract<ButtonSize, `icon-${string}`>;\nexport type TextButtonSize = Exclude<ButtonSize, IconButtonSize>;\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'>, ButtonVariantsProps {\n render?: BaseButton.Props['render'];\n className?: string;\n children: React.ReactNode;\n /** Leading icon, always rendered on the left of the label inside `<Icon>`. Ignored in icon-mode sizes. */\n icon?: React.ReactNode;\n tooltip?: React.ReactNode;\n /** @deprecated Pass the element through `render` instead: `render={<Link href=\"/x\" />}`. */\n as?: React.ElementType;\n /** @deprecated Set it on the element passed to `render`. */\n href?: string;\n /** @deprecated Set it on the element passed to `render`. */\n to?: string;\n /** @deprecated Set it on the element passed to `render`. */\n target?: string;\n /** @deprecated Set it on the element passed to `render`. */\n prefetch?: boolean | null;\n}\n\n// A link is not a button. `render` always entered `BaseButton`, which warns in\n// development when the resolved element is not a native button. `nativeButton={false}`\n// is the worse fix: Base UI then adds `role=\"button\"` and Enter/Space handling, so a\n// screen reader announces a link as a button. Render links directly instead and keep\n// `BaseButton` for real buttons.\nfunction isLinkElement(\n element: React.ReactElement,\n): element is React.ReactElement<{ href?: unknown; to?: unknown; className?: string }> {\n if (element.type === 'a') return true;\n const { href, to } = element.props as { href?: unknown; to?: unknown };\n return href !== undefined || to !== undefined;\n}\n\nfunction preventLinkActivation(event: React.SyntheticEvent): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\n// One icon step per control step: a glyph is sized by the rung it sits in, so the\n// same nominal size renders the same icon whether it arrives as an icon-mode child,\n// the `icon` prop, or a bare SVG.\nconst iconSizeMap: Record<ButtonSize, IconSize> = {\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n 'icon-sm': 'sm',\n 'icon-md': 'md',\n 'icon-lg': 'lg',\n};\n\n// Walks React children, expanding `<></>` fragments so `isIconOnly` can inspect the real\n// elements inside. `<Button><><Icon/></></Button>` should still count as icon-only.\nfunction flattenChildren(children: React.ReactNode): React.ReactNode[] {\n const result: React.ReactNode[] = [];\n React.Children.forEach(children, child => {\n if (React.isValidElement<{ children?: React.ReactNode }>(child) && child.type === React.Fragment) {\n result.push(...flattenChildren(child.props.children));\n } else {\n result.push(child);\n }\n });\n return result;\n}\n\n// True when every child is a React element (no text/label). Used in text-mode to brighten the\n// SVG of label-less buttons so the glyph reads stronger.\nfunction isIconOnly(children: React.ReactNode): boolean {\n const flat = flattenChildren(children);\n return flat.length > 0 && flat.every(child => React.isValidElement(child));\n}\n\n// Type guard: narrows `ButtonSize` to `IconButtonSize`, so an icon-mode button can be\n// told from a text-mode one without a cast.\n// eslint-disable-next-line react-refresh/only-export-components -- shared with Combobox's icon-only trigger\nexport function isIconButtonSize(size: ButtonSize | null | undefined): size is IconButtonSize {\n return size?.startsWith('icon-') ?? false;\n}\n\nexport const Button = React.forwardRef<HTMLElement, ButtonProps>(\n (\n {\n className,\n render,\n as: asProp,\n href,\n to,\n target,\n prefetch,\n size,\n variant = 'default',\n disabled,\n children,\n icon,\n tooltip,\n 'aria-label': ariaLabelProp,\n type,\n ...props\n },\n ref,\n ) => {\n const iconMode = isIconButtonSize(size);\n const resolvedSize: ButtonSize = size ?? 'md';\n const isLabelless = !iconMode && isIconOnly(children);\n\n // Icon-only buttons need an a11y label. If a string tooltip is provided, reuse it.\n const ariaLabel = ariaLabelProp ?? ((iconMode || isLabelless) && typeof tooltip === 'string' ? tooltip : undefined);\n\n const content = iconMode ? (\n <Icon size={iconSizeMap[resolvedSize]}>{children}</Icon>\n ) : (\n <>\n {icon ? (\n <Icon data-slot=\"button-icon\" size={iconSizeMap[resolvedSize]}>\n {icon}\n </Icon>\n ) : null}\n {children}\n </>\n );\n\n const sharedProps = {\n disabled,\n // Base UI renders `type=\"button\"` when the prop is absent, which would quietly stop\n // a form button that relied on the native `submit` default from submitting. Passing\n // it through, `undefined` included, keeps native semantics: absent stays absent.\n type,\n 'aria-label': ariaLabel,\n // Expose the variant so a parent ButtonsGroup can detect FILLED segments in CSS\n // (filled buttons have an opaque background that hides a border seam, so the group\n // paints their divider as an inset box-shadow instead — see buttons-group.css).\n 'data-variant': variant,\n // Icon-mode is a square: a group that overrides the rung has to move the width with\n // the height or the circle turns into a pill (see buttons-group.css).\n 'data-shape': iconMode ? 'icon' : undefined,\n className: cn(buttonVariants({ variant, size: resolvedSize }), className),\n ...props,\n };\n\n // The deprecated `as` API keeps its original element path rather than going through\n // Base UI. Routing it through `render` drops props Base UI does not know about — a\n // router link loses its `to` and stops navigating — and Base UI warns that a\n // non-<button> contradicts `nativeButton`.\n const LegacyComponent = render ? undefined : asProp;\n\n // Only forward what the caller actually set. Passing `href={undefined}` through to a\n // router link overwrites the href that link derives from `to`, leaving an anchor that\n // renders correctly and navigates nowhere.\n const legacyLinkProps = {\n ...(href === undefined ? null : { href }),\n ...(to === undefined ? null : { to }),\n ...(target === undefined ? null : { target }),\n ...(prefetch === undefined ? null : { prefetch }),\n };\n\n const renderedLink = React.isValidElement(render) && isLinkElement(render) ? render : undefined;\n const renderedLinkProps = renderedLink?.props;\n const disabledHref = renderedLink?.type !== 'a' && renderedLinkProps?.href !== undefined ? '' : undefined;\n const disabledTo = renderedLinkProps?.to !== undefined ? '' : undefined;\n const disabledLinkProps = disabled\n ? {\n href: disabledHref,\n to: disabledTo,\n 'aria-disabled': true,\n onClick: preventLinkActivation,\n onAuxClick: preventLinkActivation,\n onKeyDown: (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') preventLinkActivation(event);\n },\n }\n : undefined;\n\n const button = LegacyComponent ? (\n <LegacyComponent ref={ref} {...legacyLinkProps} {...sharedProps}>\n {content}\n </LegacyComponent>\n ) : renderedLink ? (\n React.cloneElement(renderedLink as React.ReactElement<Record<string, unknown>>, {\n ref,\n ...sharedProps,\n disabled: undefined,\n ...disabledLinkProps,\n className: cn(sharedProps.className, renderedLink.props.className),\n children: content,\n })\n ) : (\n <BaseButton ref={ref} render={render} {...sharedProps}>\n {content}\n </BaseButton>\n );\n\n if (tooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n );\n }\n\n return button;\n },\n);\n\nButton.displayName = 'Button';\n"],"names":["React","BaseButton"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyState-CJ5KC4Db.cjs","sources":["../src/ds/components/EmptyState/EmptyState.tsx"],"sourcesContent":["import { CircleSlashIcon, CircleXIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\ntype EmptyStateTone = 'default' | 'error';\n\nconst defaultIconByTone: Record<EmptyStateTone, React.ReactNode> = {\n default: <CircleSlashIcon />,\n error: <CircleXIcon />,\n};\n\nconst iconColorByTone: Record<EmptyStateTone, string> = {\n default: 'text-muted-foreground',\n error: 'text-destructive-indicator',\n};\n\nexport type EmptyStateProps = {\n /** Defaults to the tone's icon, always rendered at 20px. Pass `null` to render no icon. */\n iconSlot?: React.ReactNode;\n titleSlot: React.ReactNode;\n descriptionSlot?: React.ReactNode;\n actionSlot?: React.ReactNode;\n className?: string;\n as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n /** Colors the icon; an icon with its own text color keeps it. */\n tone?: EmptyStateTone;\n /**\n * `inline` (default) renders the block in place.\n * `fill` centers it in the full height of its parent — the parent must have a definite height.\n */\n variant?: 'inline' | 'fill';\n};\n\nexport function EmptyState({\n tone = 'default',\n iconSlot = defaultIconByTone[tone],\n titleSlot,\n descriptionSlot,\n actionSlot,\n className,\n as: HeadingTag = 'h3',\n variant = 'inline',\n}: EmptyStateProps) {\n const content = (\n <div\n className={cn(\n 'flex flex-col items-center justify-center px-4 py-6 text-center',\n 'transition-opacity duration-normal ease-out-custom',\n className,\n )}\n >\n {iconSlot && <div className={cn('mb-3 [&_svg]:size-5', iconColorByTone[tone])}>{iconSlot}</div>}\n <HeadingTag className=\"text-subheading text-foreground\">{titleSlot}</HeadingTag>\n {descriptionSlot && (\n <Txt variant=\"caption\" tone=\"muted\" className=\"mt-1.5 max-w-md\">\n {descriptionSlot}\n </Txt>\n )}\n {actionSlot && <div className=\"mt-4\">{actionSlot}</div>}\n </div>\n );\n\n if (variant === 'fill') {\n return (\n <div data-slot=\"empty-state-fill\" className=\"flex h-full items-center-safe justify-center-safe\">\n {content}\n </div>\n );\n }\n\n return content;\n}\n"],"names":["CircleSlashIcon","CircleXIcon","jsxs","cn","jsx","Txt"],"mappings":";;;;;;;AAOA,MAAM,iBAAA,GAA6D;AAAA,EACjE,OAAA,iCAAUA,2BAAA,EAAA,EAAgB,CAAA;AAAA,EAC1B,KAAA,iCAAQC,uBAAA,EAAA,EAAY;AACtB,CAAA;AAEA,MAAM,eAAA,GAAkD;AAAA,EACtD,OAAA,EAAS,uBAAA;AAAA,EACT,KAAA,EAAO;AACT,CAAA;AAmBO,SAAS,UAAA,CAAW;AAAA,EACzB,IAAA,GAAO,SAAA;AAAA,EACP,QAAA,GAAW,kBAAkB,IAAI,CAAA;AAAA,EACjC,SAAA;AAAA,EACA,eAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAI,UAAA,GAAa,IAAA;AAAA,EACjB,OAAA,GAAU;AACZ,CAAA,EAAoB;AAClB,EAAA,MAAM,OAAA,mBACJC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,WAAA;AAAA,QACT,iEAAA;AAAA,QACA,oDAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,QAAA,oBAAYC,cAAA,CAAC,SAAI,SAAA,EAAWD,WAAA,CAAG,uBAAuB,eAAA,CAAgB,IAAI,CAAC,CAAA,EAAI,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,wBACzFC,cAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,iCAAA,EAAmC,QAAA,EAAA,SAAA,EAAU,CAAA;AAAA,QAClE,eAAA,mCACEC,OAAA,EAAA,EAAI,OAAA,EAAQ,WAAU,IAAA,EAAK,OAAA,EAAQ,SAAA,EAAU,iBAAA,EAC3C,QAAA,EAAA,eAAA,EACH,CAAA;AAAA,QAED,UAAA,oBAAcD,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,QAAQ,QAAA,EAAA,UAAA,EAAW;AAAA;AAAA;AAAA,GACnD;AAGF,EAAA,IAAI,YAAY,MAAA,EAAQ;AACtB,IAAA,sCACG,KAAA,EAAA,EAAI,WAAA,EAAU,kBAAA,EAAmB,SAAA,EAAU,qDACzC,QAAA,EAAA,OAAA,EACH,CAAA;AAAA,EAEJ;AAEA,EAAA,OAAO,OAAA;AACT;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyState-CynkaZd1.js","sources":["../src/ds/components/EmptyState/EmptyState.tsx"],"sourcesContent":["import { CircleSlashIcon, CircleXIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\ntype EmptyStateTone = 'default' | 'error';\n\nconst defaultIconByTone: Record<EmptyStateTone, React.ReactNode> = {\n default: <CircleSlashIcon />,\n error: <CircleXIcon />,\n};\n\nconst iconColorByTone: Record<EmptyStateTone, string> = {\n default: 'text-muted-foreground',\n error: 'text-destructive-indicator',\n};\n\nexport type EmptyStateProps = {\n /** Defaults to the tone's icon, always rendered at 20px. Pass `null` to render no icon. */\n iconSlot?: React.ReactNode;\n titleSlot: React.ReactNode;\n descriptionSlot?: React.ReactNode;\n actionSlot?: React.ReactNode;\n className?: string;\n as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n /** Colors the icon; an icon with its own text color keeps it. */\n tone?: EmptyStateTone;\n /**\n * `inline` (default) renders the block in place.\n * `fill` centers it in the full height of its parent — the parent must have a definite height.\n */\n variant?: 'inline' | 'fill';\n};\n\nexport function EmptyState({\n tone = 'default',\n iconSlot = defaultIconByTone[tone],\n titleSlot,\n descriptionSlot,\n actionSlot,\n className,\n as: HeadingTag = 'h3',\n variant = 'inline',\n}: EmptyStateProps) {\n const content = (\n <div\n className={cn(\n 'flex flex-col items-center justify-center px-4 py-6 text-center',\n 'transition-opacity duration-normal ease-out-custom',\n className,\n )}\n >\n {iconSlot && <div className={cn('mb-3 [&_svg]:size-5', iconColorByTone[tone])}>{iconSlot}</div>}\n <HeadingTag className=\"text-subheading text-foreground\">{titleSlot}</HeadingTag>\n {descriptionSlot && (\n <Txt variant=\"caption\" tone=\"muted\" className=\"mt-1.5 max-w-md\">\n {descriptionSlot}\n </Txt>\n )}\n {actionSlot && <div className=\"mt-4\">{actionSlot}</div>}\n </div>\n );\n\n if (variant === 'fill') {\n return (\n <div data-slot=\"empty-state-fill\" className=\"flex h-full items-center-safe justify-center-safe\">\n {content}\n </div>\n );\n }\n\n return content;\n}\n"],"names":[],"mappings":";;;;;AAOA,MAAM,iBAAA,GAA6D;AAAA,EACjE,OAAA,sBAAU,eAAA,EAAA,EAAgB,CAAA;AAAA,EAC1B,KAAA,sBAAQ,WAAA,EAAA,EAAY;AACtB,CAAA;AAEA,MAAM,eAAA,GAAkD;AAAA,EACtD,OAAA,EAAS,uBAAA;AAAA,EACT,KAAA,EAAO;AACT,CAAA;AAmBO,SAAS,UAAA,CAAW;AAAA,EACzB,IAAA,GAAO,SAAA;AAAA,EACP,QAAA,GAAW,kBAAkB,IAAI,CAAA;AAAA,EACjC,SAAA;AAAA,EACA,eAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAI,UAAA,GAAa,IAAA;AAAA,EACjB,OAAA,GAAU;AACZ,CAAA,EAAoB;AAClB,EAAA,MAAM,OAAA,mBACJ,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,iEAAA;AAAA,QACA,oDAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,QAAA,oBAAY,GAAA,CAAC,SAAI,SAAA,EAAW,EAAA,CAAG,uBAAuB,eAAA,CAAgB,IAAI,CAAC,CAAA,EAAI,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,wBACzF,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,iCAAA,EAAmC,QAAA,EAAA,SAAA,EAAU,CAAA;AAAA,QAClE,eAAA,wBACE,GAAA,EAAA,EAAI,OAAA,EAAQ,WAAU,IAAA,EAAK,OAAA,EAAQ,SAAA,EAAU,iBAAA,EAC3C,QAAA,EAAA,eAAA,EACH,CAAA;AAAA,QAED,UAAA,oBAAc,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,QAAQ,QAAA,EAAA,UAAA,EAAW;AAAA;AAAA;AAAA,GACnD;AAGF,EAAA,IAAI,YAAY,MAAA,EAAQ;AACtB,IAAA,2BACG,KAAA,EAAA,EAAI,WAAA,EAAU,kBAAA,EAAmB,SAAA,EAAU,qDACzC,QAAA,EAAA,OAAA,EACH,CAAA;AAAA,EAEJ;AAEA,EAAA,OAAO,OAAA;AACT;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"activity-8egTNbaI.cjs","sources":["../src/ds/components/ai/activity/activity.tsx"],"sourcesContent":["import { ChevronRight, X } from 'lucide-react';\nimport { createContext, useContext, useId, useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { useArriving } from '@/ds/components/Arrival';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { Shimmer } from '@/ds/components/Shimmer';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\ntype ActivityStatus = 'idle' | 'running' | 'error';\n\ninterface ActivityContextValue {\n open: boolean;\n foldable: boolean;\n status: ActivityStatus;\n toggle: () => void;\n}\n\nconst ActivityContext = createContext<ActivityContextValue | undefined>(undefined);\n\n// Stryker disable next-line ArrowFunction: the default callback is intentionally behaviorless.\nconst noopOpenChange = () => {};\n\nfunction useActivity() {\n const context = useContext(ActivityContext);\n if (!context) throw new Error('Activity compounds must be rendered within Activity');\n return context;\n}\n\nexport interface ActivityProps extends Omit<\n ComponentProps<typeof Collapsible>,\n 'defaultOpen' | 'onOpenChange' | 'open'\n> {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n foldable?: boolean;\n status?: ActivityStatus;\n}\n\nexport function Activity({\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange = noopOpenChange,\n foldable = true,\n status = 'idle',\n className,\n children,\n ...props\n}: ActivityProps) {\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const open = controlledOpen ?? (foldable && uncontrolledOpen);\n const statusId = useId();\n\n const handleOpenChange = (nextOpen: boolean) => {\n if (controlledOpen === undefined) setUncontrolledOpen(nextOpen);\n onOpenChange(nextOpen);\n };\n\n return (\n <ActivityContext.Provider value={{ open, foldable, status, toggle: () => handleOpenChange(!open) }}>\n <Collapsible\n open={open}\n onOpenChange={handleOpenChange}\n className={cn('max-w-full min-w-0', className)}\n role=\"group\"\n aria-busy={status === 'running'}\n aria-invalid={status === 'error' || undefined}\n aria-describedby={status === 'idle' ? undefined : statusId}\n data-status={status}\n {...props}\n >\n {children}\n <span id={statusId} className=\"sr-only\" aria-live=\"polite\">\n {status === 'running' && 'Running'}\n {status === 'error' && 'Failed'}\n </span>\n </Collapsible>\n </ActivityContext.Provider>\n );\n}\n\nexport const ActivityTrigger = ({ className, children, ...props }: ComponentProps<'div'>) => {\n const { foldable } = useActivity();\n const lineId = useId();\n\n return (\n <div\n className={cn(\n 'group/row relative w-full min-w-0 rounded-md transition-colors motion-reduce:transition-none',\n foldable && 'hover:bg-fill',\n className,\n )}\n {...props}\n >\n {foldable && (\n <CollapsibleTrigger\n aria-labelledby={lineId}\n className=\"absolute inset-0 cursor-pointer rounded-md focus-visible:ring-1 focus-visible:ring-border-focus focus-visible:outline-hidden\"\n />\n )}\n <div id={lineId} className={cn(foldable && 'pointer-events-none relative')}>\n {children}\n </div>\n </div>\n );\n};\n\nexport const ActivityHeader = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { status } = useActivity();\n\n return (\n <Shimmer\n active={status === 'running'}\n className={cn('flex w-full min-w-0 items-center gap-2 px-1.5 py-1', className)}\n {...props}\n >\n {children}\n </Shimmer>\n );\n};\n\nexport const ActivityLeading = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { foldable, toggle } = useActivity();\n\n if (!children) return null;\n\n return (\n <span\n className={cn('pointer-events-auto flex shrink-0 empty:hidden', foldable && 'cursor-pointer', className)}\n onClick={foldable ? toggle : undefined}\n {...props}\n >\n {children}\n </span>\n );\n};\n\nexport const ActivityIcon = ({ className, ...props }: ComponentProps<'span'>) => {\n const { status } = useActivity();\n\n return (\n <span\n className={cn(\n 'flex size-4 shrink-0 items-center justify-center [&_svg]:size-3.5 [&_svg]:shrink-0 [&_svg]:[stroke-width:1.75]',\n status === 'error' ? 'text-destructive-indicator' : 'text-placeholder',\n className,\n )}\n {...props}\n />\n );\n};\n\nexport const ActivityLabel = ({ className, ...props }: ComponentProps<typeof Txt>) => (\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" className={cn('max-w-[55%] shrink-0 truncate', className)} {...props} />\n);\n\nexport interface ActivityDetailProps extends Omit<ComponentProps<typeof Txt>, 'font'> {\n font?: 'mono' | 'sans';\n wrap?: boolean;\n}\n\nexport const ActivityDetail = ({ font = 'mono', wrap = false, className, ...props }: ActivityDetailProps) => {\n const arriving = useArriving();\n\n return (\n <Txt\n as=\"span\"\n variant=\"meta\"\n tone=\"muted\"\n font={font === 'mono' ? 'mono' : undefined}\n className={cn('min-w-0', wrap ? 'break-words' : 'truncate', arriving, className)}\n {...props}\n />\n );\n};\n\nexport const ActivitySummary = ({ className, ...props }: ComponentProps<'span'>) => (\n <span className={cn('flex min-w-0 items-center gap-1', className)} {...props} />\n);\n\nexport interface ActivitySpacerProps extends ComponentProps<'span'> {\n rule?: boolean;\n}\n\nexport const ActivitySpacer = ({ rule, className, ...props }: ActivitySpacerProps) => (\n <span\n aria-hidden\n className={cn('min-w-2 flex-1', rule && 'h-px bg-border mask-r-from-[calc(100%-min(100%,160px))]', className)}\n {...props}\n />\n);\n\nexport const ActivityTrailing = ({ className, ...props }: ComponentProps<'span'>) => (\n <span className={cn('flex shrink-0 items-center', className)} {...props} />\n);\n\nexport const ActivityDisclosure = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { open, foldable } = useActivity();\n\n return (\n <span className={cn('flex size-4 shrink-0 items-center justify-center', className)} {...props}>\n <span\n aria-hidden\n className={cn(\n 'flex shrink-0 items-center text-muted-foreground/60 transition duration-150 motion-reduce:transition-none',\n 'group-hover/row:text-muted-foreground group-has-focus-visible/row:text-muted-foreground',\n open && 'rotate-90 text-muted-foreground',\n !foldable && 'opacity-0',\n )}\n >\n {children ?? <ChevronRight size={13} />}\n </span>\n </span>\n );\n};\n\nexport interface ActivityHeadlineProps extends Omit<ComponentProps<typeof ActivityHeader>, 'children'> {\n leading?: ReactNode;\n icon: ReactNode;\n label: ReactNode;\n detail?: string;\n description?: string;\n detailFont?: ActivityDetailProps['font'];\n wrapDetail?: boolean;\n badges?: ReactNode;\n}\n\nexport const ActivityHeadline = ({\n leading,\n icon,\n label,\n detail,\n description,\n detailFont,\n wrapDetail,\n badges,\n ...props\n}: ActivityHeadlineProps) => {\n const { status } = useActivity();\n const hasBadges = Boolean(badges);\n\n return (\n <ActivityHeader {...props}>\n <ActivityLeading>{leading}</ActivityLeading>\n <ActivityIcon>{icon}</ActivityIcon>\n <span className={cn('contents', hasBadges && 'flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1')}>\n <ActivityLabel className={cn(description && 'max-w-none min-w-0 shrink')}>{description || label}</ActivityLabel>\n {badges}\n {!description && detail && (\n <ActivityDetail font={detailFont} wrap={wrapDetail} className={cn(hasBadges && 'grow basis-40')}>\n {detail}\n </ActivityDetail>\n )}\n </span>\n <ActivitySpacer className={cn(hasBadges && 'flex-none')} />\n {status === 'error' && (\n <ActivityTrailing>\n <X size={13} role=\"img\" aria-label=\"Failed\" className=\"shrink-0 text-destructive-indicator\" />\n </ActivityTrailing>\n )}\n <ActivityDisclosure />\n </ActivityHeader>\n );\n};\n\nexport const ActivityContent = ({ className, children, ...props }: ComponentProps<typeof CollapsibleContent>) => (\n <CollapsibleContent className=\"max-w-full min-w-0\" {...props}>\n <div\n className={cn(\n \"relative ml-[14px] flex max-w-full min-w-0 flex-col gap-1.5 py-1.5 pr-1 pl-4 before:absolute before:inset-y-0 before:left-0 before:w-px before:bg-border before:mask-b-from-[calc(100%-min(40%,80px))] before:content-['']\",\n className,\n )}\n >\n {children}\n </div>\n </CollapsibleContent>\n);\n\nexport interface ActivityItemProps extends Omit<ActivityProps, 'children' | 'open' | 'onOpenChange' | 'foldable'> {\n icon: ReactNode;\n label: string;\n detail?: string;\n detailFont?: ActivityDetailProps['font'];\n badges?: ReactNode;\n collapsible?: boolean;\n children?: ReactNode;\n 'aria-label': string;\n}\n\nexport function ActivityItem({\n icon,\n label,\n detail,\n detailFont,\n badges,\n collapsible = true,\n children,\n ...props\n}: ActivityItemProps) {\n const folds = collapsible && Boolean(children);\n\n return (\n <Activity {...props} foldable={folds} open={collapsible ? undefined : true}>\n <ActivityTrigger>\n <ActivityHeadline\n icon={icon}\n label={label}\n detail={detail}\n detailFont={detailFont}\n wrapDetail={!folds}\n badges={badges}\n />\n </ActivityTrigger>\n {children && <ActivityContent>{children}</ActivityContent>}\n </Activity>\n );\n}\n\nexport type { ActivityStatus };\n"],"names":["createContext","useContext","useState","useId","jsx","jsxs","Collapsible","cn","CollapsibleTrigger","Shimmer","Txt","useArriving","ChevronRight","X","CollapsibleContent"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"activity-Duth8KP_.js","sources":["../src/ds/components/ai/activity/activity.tsx"],"sourcesContent":["import { ChevronRight, X } from 'lucide-react';\nimport { createContext, useContext, useId, useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { useArriving } from '@/ds/components/Arrival';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { Shimmer } from '@/ds/components/Shimmer';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\ntype ActivityStatus = 'idle' | 'running' | 'error';\n\ninterface ActivityContextValue {\n open: boolean;\n foldable: boolean;\n status: ActivityStatus;\n toggle: () => void;\n}\n\nconst ActivityContext = createContext<ActivityContextValue | undefined>(undefined);\n\n// Stryker disable next-line ArrowFunction: the default callback is intentionally behaviorless.\nconst noopOpenChange = () => {};\n\nfunction useActivity() {\n const context = useContext(ActivityContext);\n if (!context) throw new Error('Activity compounds must be rendered within Activity');\n return context;\n}\n\nexport interface ActivityProps extends Omit<\n ComponentProps<typeof Collapsible>,\n 'defaultOpen' | 'onOpenChange' | 'open'\n> {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n foldable?: boolean;\n status?: ActivityStatus;\n}\n\nexport function Activity({\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange = noopOpenChange,\n foldable = true,\n status = 'idle',\n className,\n children,\n ...props\n}: ActivityProps) {\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const open = controlledOpen ?? (foldable && uncontrolledOpen);\n const statusId = useId();\n\n const handleOpenChange = (nextOpen: boolean) => {\n if (controlledOpen === undefined) setUncontrolledOpen(nextOpen);\n onOpenChange(nextOpen);\n };\n\n return (\n <ActivityContext.Provider value={{ open, foldable, status, toggle: () => handleOpenChange(!open) }}>\n <Collapsible\n open={open}\n onOpenChange={handleOpenChange}\n className={cn('max-w-full min-w-0', className)}\n role=\"group\"\n aria-busy={status === 'running'}\n aria-invalid={status === 'error' || undefined}\n aria-describedby={status === 'idle' ? undefined : statusId}\n data-status={status}\n {...props}\n >\n {children}\n <span id={statusId} className=\"sr-only\" aria-live=\"polite\">\n {status === 'running' && 'Running'}\n {status === 'error' && 'Failed'}\n </span>\n </Collapsible>\n </ActivityContext.Provider>\n );\n}\n\nexport const ActivityTrigger = ({ className, children, ...props }: ComponentProps<'div'>) => {\n const { foldable } = useActivity();\n const lineId = useId();\n\n return (\n <div\n className={cn(\n 'group/row relative w-full min-w-0 rounded-md transition-colors motion-reduce:transition-none',\n foldable && 'hover:bg-fill',\n className,\n )}\n {...props}\n >\n {foldable && (\n <CollapsibleTrigger\n aria-labelledby={lineId}\n className=\"absolute inset-0 cursor-pointer rounded-md focus-visible:ring-1 focus-visible:ring-border-focus focus-visible:outline-hidden\"\n />\n )}\n <div id={lineId} className={cn(foldable && 'pointer-events-none relative')}>\n {children}\n </div>\n </div>\n );\n};\n\nexport const ActivityHeader = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { status } = useActivity();\n\n return (\n <Shimmer\n active={status === 'running'}\n className={cn('flex w-full min-w-0 items-center gap-2 px-1.5 py-1', className)}\n {...props}\n >\n {children}\n </Shimmer>\n );\n};\n\nexport const ActivityLeading = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { foldable, toggle } = useActivity();\n\n if (!children) return null;\n\n return (\n <span\n className={cn('pointer-events-auto flex shrink-0 empty:hidden', foldable && 'cursor-pointer', className)}\n onClick={foldable ? toggle : undefined}\n {...props}\n >\n {children}\n </span>\n );\n};\n\nexport const ActivityIcon = ({ className, ...props }: ComponentProps<'span'>) => {\n const { status } = useActivity();\n\n return (\n <span\n className={cn(\n 'flex size-4 shrink-0 items-center justify-center [&_svg]:size-3.5 [&_svg]:shrink-0 [&_svg]:[stroke-width:1.75]',\n status === 'error' ? 'text-destructive-indicator' : 'text-placeholder',\n className,\n )}\n {...props}\n />\n );\n};\n\nexport const ActivityLabel = ({ className, ...props }: ComponentProps<typeof Txt>) => (\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" className={cn('max-w-[55%] shrink-0 truncate', className)} {...props} />\n);\n\nexport interface ActivityDetailProps extends Omit<ComponentProps<typeof Txt>, 'font'> {\n font?: 'mono' | 'sans';\n wrap?: boolean;\n}\n\nexport const ActivityDetail = ({ font = 'mono', wrap = false, className, ...props }: ActivityDetailProps) => {\n const arriving = useArriving();\n\n return (\n <Txt\n as=\"span\"\n variant=\"meta\"\n tone=\"muted\"\n font={font === 'mono' ? 'mono' : undefined}\n className={cn('min-w-0', wrap ? 'break-words' : 'truncate', arriving, className)}\n {...props}\n />\n );\n};\n\nexport const ActivitySummary = ({ className, ...props }: ComponentProps<'span'>) => (\n <span className={cn('flex min-w-0 items-center gap-1', className)} {...props} />\n);\n\nexport interface ActivitySpacerProps extends ComponentProps<'span'> {\n rule?: boolean;\n}\n\nexport const ActivitySpacer = ({ rule, className, ...props }: ActivitySpacerProps) => (\n <span\n aria-hidden\n className={cn('min-w-2 flex-1', rule && 'h-px bg-border mask-r-from-[calc(100%-min(100%,160px))]', className)}\n {...props}\n />\n);\n\nexport const ActivityTrailing = ({ className, ...props }: ComponentProps<'span'>) => (\n <span className={cn('flex shrink-0 items-center', className)} {...props} />\n);\n\nexport const ActivityDisclosure = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { open, foldable } = useActivity();\n\n return (\n <span className={cn('flex size-4 shrink-0 items-center justify-center', className)} {...props}>\n <span\n aria-hidden\n className={cn(\n 'flex shrink-0 items-center text-muted-foreground/60 transition duration-150 motion-reduce:transition-none',\n 'group-hover/row:text-muted-foreground group-has-focus-visible/row:text-muted-foreground',\n open && 'rotate-90 text-muted-foreground',\n !foldable && 'opacity-0',\n )}\n >\n {children ?? <ChevronRight size={13} />}\n </span>\n </span>\n );\n};\n\nexport interface ActivityHeadlineProps extends Omit<ComponentProps<typeof ActivityHeader>, 'children'> {\n leading?: ReactNode;\n icon: ReactNode;\n label: ReactNode;\n detail?: string;\n description?: string;\n detailFont?: ActivityDetailProps['font'];\n wrapDetail?: boolean;\n badges?: ReactNode;\n}\n\nexport const ActivityHeadline = ({\n leading,\n icon,\n label,\n detail,\n description,\n detailFont,\n wrapDetail,\n badges,\n ...props\n}: ActivityHeadlineProps) => {\n const { status } = useActivity();\n const hasBadges = Boolean(badges);\n\n return (\n <ActivityHeader {...props}>\n <ActivityLeading>{leading}</ActivityLeading>\n <ActivityIcon>{icon}</ActivityIcon>\n <span className={cn('contents', hasBadges && 'flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1')}>\n <ActivityLabel className={cn(description && 'max-w-none min-w-0 shrink')}>{description || label}</ActivityLabel>\n {badges}\n {!description && detail && (\n <ActivityDetail font={detailFont} wrap={wrapDetail} className={cn(hasBadges && 'grow basis-40')}>\n {detail}\n </ActivityDetail>\n )}\n </span>\n <ActivitySpacer className={cn(hasBadges && 'flex-none')} />\n {status === 'error' && (\n <ActivityTrailing>\n <X size={13} role=\"img\" aria-label=\"Failed\" className=\"shrink-0 text-destructive-indicator\" />\n </ActivityTrailing>\n )}\n <ActivityDisclosure />\n </ActivityHeader>\n );\n};\n\nexport const ActivityContent = ({ className, children, ...props }: ComponentProps<typeof CollapsibleContent>) => (\n <CollapsibleContent className=\"max-w-full min-w-0\" {...props}>\n <div\n className={cn(\n \"relative ml-[14px] flex max-w-full min-w-0 flex-col gap-1.5 py-1.5 pr-1 pl-4 before:absolute before:inset-y-0 before:left-0 before:w-px before:bg-border before:mask-b-from-[calc(100%-min(40%,80px))] before:content-['']\",\n className,\n )}\n >\n {children}\n </div>\n </CollapsibleContent>\n);\n\nexport interface ActivityItemProps extends Omit<ActivityProps, 'children' | 'open' | 'onOpenChange' | 'foldable'> {\n icon: ReactNode;\n label: string;\n detail?: string;\n detailFont?: ActivityDetailProps['font'];\n badges?: ReactNode;\n collapsible?: boolean;\n children?: ReactNode;\n 'aria-label': string;\n}\n\nexport function ActivityItem({\n icon,\n label,\n detail,\n detailFont,\n badges,\n collapsible = true,\n children,\n ...props\n}: ActivityItemProps) {\n const folds = collapsible && Boolean(children);\n\n return (\n <Activity {...props} foldable={folds} open={collapsible ? undefined : true}>\n <ActivityTrigger>\n <ActivityHeadline\n icon={icon}\n label={label}\n detail={detail}\n detailFont={detailFont}\n wrapDetail={!folds}\n badges={badges}\n />\n </ActivityTrigger>\n {children && <ActivityContent>{children}</ActivityContent>}\n </Activity>\n );\n}\n\nexport type { ActivityStatus };\n"],"names":[],"mappings":"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"}