@mastra/playground-ui 57.0.0 → 57.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (698) hide show
  1. package/dist/{Button-KUj0U-5I.js → Button-B8nF87ai.js} +2 -8
  2. package/dist/Button-B8nF87ai.js.map +1 -0
  3. package/dist/{Button-MMZPEb_q.cjs → Button-BAMnPqos.cjs} +1 -7
  4. package/dist/Button-BAMnPqos.cjs.map +1 -0
  5. package/dist/{Card-DwGasv0K.cjs → Card-BbwF20OW.cjs} +3 -3
  6. package/dist/Card-BbwF20OW.cjs.map +1 -0
  7. package/dist/{Card-B_buJ5yF.js → Card-DmT57Pve.js} +3 -3
  8. package/dist/Card-DmT57Pve.js.map +1 -0
  9. package/dist/{EmptyState-DiSP6UIy.cjs → EmptyState-2XQgeju6.cjs} +12 -3
  10. package/dist/EmptyState-2XQgeju6.cjs.map +1 -0
  11. package/dist/{EmptyState-B6cyZw6m.js → EmptyState-Bc4nJ9QH.js} +13 -4
  12. package/dist/EmptyState-Bc4nJ9QH.js.map +1 -0
  13. package/dist/{Notice-CPyYcX5J.cjs → Notice-AUNd8fqT.cjs} +2 -2
  14. package/dist/{Notice-CPyYcX5J.cjs.map → Notice-AUNd8fqT.cjs.map} +1 -1
  15. package/dist/{Notice-KC18b8Nd.js → Notice-WT8G4OA6.js} +2 -2
  16. package/dist/{Notice-KC18b8Nd.js.map → Notice-WT8G4OA6.js.map} +1 -1
  17. package/dist/{ask-user-DaRRR4qQ.cjs → ask-user--Samf9gv.cjs} +2 -2
  18. package/dist/{ask-user-DaRRR4qQ.cjs.map → ask-user--Samf9gv.cjs.map} +1 -1
  19. package/dist/{ask-user-C4DTzEQF.js → ask-user-C-B3dhNP.js} +2 -2
  20. package/dist/{ask-user-C4DTzEQF.js.map → ask-user-C-B3dhNP.js.map} +1 -1
  21. package/dist/buttons-group.css +2 -14
  22. package/dist/{chat-notification-DeKD1Ifx.js → chat-notification-CmdRGO_D.js} +2 -2
  23. package/dist/{chat-notification-DeKD1Ifx.js.map → chat-notification-CmdRGO_D.js.map} +1 -1
  24. package/dist/{chat-notification-C5Ox5tuS.cjs → chat-notification-DJykWtoj.cjs} +2 -2
  25. package/dist/{chat-notification-C5Ox5tuS.cjs.map → chat-notification-DJykWtoj.cjs.map} +1 -1
  26. package/dist/{chat-signal-DiAHks6_.js → chat-signal-Vg8pGXwH.js} +2 -2
  27. package/dist/{chat-signal-DiAHks6_.js.map → chat-signal-Vg8pGXwH.js.map} +1 -1
  28. package/dist/{chat-signal-ClyJeml8.cjs → chat-signal-xs3FkPts.cjs} +2 -2
  29. package/dist/{chat-signal-ClyJeml8.cjs.map → chat-signal-xs3FkPts.cjs.map} +1 -1
  30. package/dist/{code-block-D37olB3O.js → code-block-CoKMTAdr.js} +5 -5
  31. package/dist/{code-block-D37olB3O.js.map → code-block-CoKMTAdr.js.map} +1 -1
  32. package/dist/{code-block-BoTq0TMr.cjs → code-block-FTEGH9VP.cjs} +5 -5
  33. package/dist/{code-block-BoTq0TMr.cjs.map → code-block-FTEGH9VP.cjs.map} +1 -1
  34. package/dist/{code-editor-BfoJXq9l.cjs → code-editor-D0wHkvDt.cjs} +2 -2
  35. package/dist/{code-editor-BfoJXq9l.cjs.map → code-editor-D0wHkvDt.cjs.map} +1 -1
  36. package/dist/{code-editor-BQTDma1I.js → code-editor-DmvGc1jj.js} +2 -2
  37. package/dist/{code-editor-BQTDma1I.js.map → code-editor-DmvGc1jj.js.map} +1 -1
  38. package/dist/{combobox-Bn_uyUSB.cjs → combobox-1tyP_dy-.cjs} +3 -3
  39. package/dist/{combobox-Bn_uyUSB.cjs.map → combobox-1tyP_dy-.cjs.map} +1 -1
  40. package/dist/{combobox-Cykfy5wc.js → combobox-gPiXyJgX.js} +3 -3
  41. package/dist/{combobox-Cykfy5wc.js.map → combobox-gPiXyJgX.js.map} +1 -1
  42. package/dist/{combobox-styles-CSsS2LEx.cjs → combobox-styles-CeTbTVnX.cjs} +2 -2
  43. package/dist/combobox-styles-CeTbTVnX.cjs.map +1 -0
  44. package/dist/{combobox-styles-iuJUkJEQ.js → combobox-styles-DZbWnLlE.js} +2 -2
  45. package/dist/combobox-styles-DZbWnLlE.js.map +1 -0
  46. package/dist/{command-Bmy4PznC.js → command-6BKuiTWd.js} +2 -2
  47. package/dist/{command-Bmy4PznC.js.map → command-6BKuiTWd.js.map} +1 -1
  48. package/dist/{command-B7H-emho.cjs → command-ByQRbkpW.cjs} +2 -2
  49. package/dist/{command-B7H-emho.cjs.map → command-ByQRbkpW.cjs.map} +1 -1
  50. package/dist/components/AlertDialog.cjs.js +1 -1
  51. package/dist/components/AlertDialog.es.js +1 -1
  52. package/dist/components/Button.cjs.js +1 -1
  53. package/dist/components/Button.es.js +2 -2
  54. package/dist/components/Card.cjs.js +1 -1
  55. package/dist/components/Card.es.js +1 -1
  56. package/dist/components/ClampedText.cjs.js +1 -1
  57. package/dist/components/ClampedText.es.js +1 -1
  58. package/dist/components/CodeBlock.cjs.js +1 -1
  59. package/dist/components/CodeBlock.es.js +1 -1
  60. package/dist/components/CodeEditor.cjs.js +1 -1
  61. package/dist/components/CodeEditor.es.js +1 -1
  62. package/dist/components/Columns.cjs.js +2 -106
  63. package/dist/components/Columns.cjs.js.map +1 -1
  64. package/dist/components/Columns.es.js +4 -107
  65. package/dist/components/Columns.es.js.map +1 -1
  66. package/dist/components/Combobox.cjs.js +2 -2
  67. package/dist/components/Combobox.es.js +2 -2
  68. package/dist/components/Command.cjs.js +1 -1
  69. package/dist/components/Command.es.js +1 -1
  70. package/dist/components/CommandPalette.cjs.js +1 -1
  71. package/dist/components/CommandPalette.es.js +1 -1
  72. package/dist/components/Comment.cjs.js +3 -3
  73. package/dist/components/Comment.cjs.js.map +1 -1
  74. package/dist/components/Comment.es.js +3 -3
  75. package/dist/components/Comment.es.js.map +1 -1
  76. package/dist/components/CopyButton.cjs.js +1 -1
  77. package/dist/components/CopyButton.es.js +1 -1
  78. package/dist/components/DataCodeSection.cjs.js +1 -1
  79. package/dist/components/DataCodeSection.es.js +1 -1
  80. package/dist/components/DataDetailsPanel.cjs.js +2 -2
  81. package/dist/components/DataDetailsPanel.es.js +2 -2
  82. package/dist/components/DataKeysAndValues.cjs.js +1 -1
  83. package/dist/components/DataKeysAndValues.es.js +1 -1
  84. package/dist/components/DataList.cjs.js +3 -3
  85. package/dist/components/DataList.es.js +3 -3
  86. package/dist/components/DataPanel.cjs.js +1 -1
  87. package/dist/components/DataPanel.es.js +1 -1
  88. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  89. package/dist/components/DateRangeTimeline.es.js +1 -1
  90. package/dist/components/DateTimePicker.cjs.js +2 -2
  91. package/dist/components/DateTimePicker.es.js +2 -2
  92. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  93. package/dist/components/DateTimeRangePicker.es.js +1 -1
  94. package/dist/components/Dialog.cjs.js +2 -2
  95. package/dist/components/Dialog.es.js +3 -3
  96. package/dist/components/DisabledFeatureButton.cjs.js +1 -1
  97. package/dist/components/DisabledFeatureButton.es.js +1 -1
  98. package/dist/components/Drawer.cjs.js +1 -1
  99. package/dist/components/Drawer.es.js +1 -1
  100. package/dist/components/EmptyState.cjs.js +1 -1
  101. package/dist/components/EmptyState.es.js +1 -1
  102. package/dist/components/EnvironmentVariablesEditor.cjs.js +4 -4
  103. package/dist/components/EnvironmentVariablesEditor.es.js +4 -4
  104. package/dist/components/ErrorBoundary.cjs.js +1 -1
  105. package/dist/components/ErrorBoundary.es.js +1 -1
  106. package/dist/components/FilterBar.cjs.js +3 -3
  107. package/dist/components/FilterBar.es.js +4 -4
  108. package/dist/components/FormFieldBlocks.cjs.js +2 -2
  109. package/dist/components/FormFieldBlocks.es.js +2 -2
  110. package/dist/components/InputGroup.cjs.js +1 -1
  111. package/dist/components/InputGroup.es.js +1 -1
  112. package/dist/components/IntegrationDialog.cjs.js +2 -2
  113. package/dist/components/IntegrationDialog.es.js +2 -2
  114. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  115. package/dist/components/JSONSchemaForm.es.js +2 -2
  116. package/dist/components/ListSearch.cjs.js +1 -1
  117. package/dist/components/ListSearch.es.js +1 -1
  118. package/dist/components/LogsDataList.cjs.js +1 -1
  119. package/dist/components/LogsDataList.es.js +1 -1
  120. package/dist/components/MainSidebar.cjs.js +125 -11
  121. package/dist/components/MainSidebar.cjs.js.map +1 -1
  122. package/dist/components/MainSidebar.es.js +120 -1
  123. package/dist/components/MainSidebar.es.js.map +1 -1
  124. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  125. package/dist/components/MarkdownRenderer.es.js +1 -1
  126. package/dist/components/Message.cjs.js +1 -1
  127. package/dist/components/Message.es.js +1 -1
  128. package/dist/components/MetricsCard.cjs.js +1 -1
  129. package/dist/components/MetricsCard.es.js +1 -1
  130. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  131. package/dist/components/MetricsKpiCard.es.js +1 -1
  132. package/dist/components/Notice.cjs.js +1 -1
  133. package/dist/components/Notice.es.js +1 -1
  134. package/dist/components/PageHeader.cjs.js +1 -1
  135. package/dist/components/PageHeader.es.js +1 -1
  136. package/dist/components/PageLayout.cjs.js +26 -3
  137. package/dist/components/PageLayout.cjs.js.map +1 -1
  138. package/dist/components/PageLayout.es.js +27 -4
  139. package/dist/components/PageLayout.es.js.map +1 -1
  140. package/dist/components/PrevNextNav.cjs.js +1 -1
  141. package/dist/components/PrevNextNav.es.js +1 -1
  142. package/dist/components/PropertyFilter.cjs.js +5 -5
  143. package/dist/components/PropertyFilter.cjs.js.map +1 -1
  144. package/dist/components/PropertyFilter.es.js +6 -6
  145. package/dist/components/PropertyFilter.es.js.map +1 -1
  146. package/dist/components/RuleBuilder.cjs.js +2 -2
  147. package/dist/components/RuleBuilder.es.js +2 -2
  148. package/dist/components/Select.cjs.js +1 -1
  149. package/dist/components/Select.es.js +1 -1
  150. package/dist/components/SideDialog.cjs.js +3 -3
  151. package/dist/components/SideDialog.es.js +3 -3
  152. package/dist/components/Tabs.cjs.js +3 -3
  153. package/dist/components/Tabs.es.js +3 -3
  154. package/dist/components/ThreadList.cjs.js +1 -1
  155. package/dist/components/ThreadList.es.js +1 -1
  156. package/dist/components/Truncate.cjs.js +1 -1
  157. package/dist/components/Truncate.es.js +1 -1
  158. package/dist/components/Workflow.cjs.js +4 -4
  159. package/dist/components/Workflow.es.js +4 -4
  160. package/dist/components/ai/ask-user.cjs.js +1 -1
  161. package/dist/components/ai/ask-user.es.js +1 -1
  162. package/dist/components/ai/chat-event.cjs.js +3 -3
  163. package/dist/components/ai/chat-event.es.js +4 -4
  164. package/dist/components/ai/plan.cjs.js +2 -2
  165. package/dist/components/ai/plan.es.js +2 -2
  166. package/dist/components/ai/tool-approval.cjs.js +1 -1
  167. package/dist/components/ai/tool-approval.es.js +1 -1
  168. package/dist/components/ai/tool-call.cjs.js +2 -2
  169. package/dist/components/ai/tool-call.es.js +3 -3
  170. package/dist/{copy-button-B5ZCtnTb.cjs → copy-button-D2MTGxq_.cjs} +2 -2
  171. package/dist/{copy-button-B5ZCtnTb.cjs.map → copy-button-D2MTGxq_.cjs.map} +1 -1
  172. package/dist/{copy-button-DZqxEuiE.js → copy-button-DcZ1mdw4.js} +2 -2
  173. package/dist/{copy-button-DZqxEuiE.js.map → copy-button-DcZ1mdw4.js.map} +1 -1
  174. package/dist/{data-code-section-iXzoOYMX.cjs → data-code-section-C10eY4qv.cjs} +5 -5
  175. package/dist/{data-code-section-iXzoOYMX.cjs.map → data-code-section-C10eY4qv.cjs.map} +1 -1
  176. package/dist/{data-code-section-DJRr65hS.js → data-code-section-CW9vy-nF.js} +5 -5
  177. package/dist/{data-code-section-DJRr65hS.js.map → data-code-section-CW9vy-nF.js.map} +1 -1
  178. package/dist/{data-keys-and-values-DhC4U4Yl.js → data-keys-and-values-BTYDB-K2.js} +3 -20
  179. package/dist/data-keys-and-values-BTYDB-K2.js.map +1 -0
  180. package/dist/{data-keys-and-values-BduKvvC5.cjs → data-keys-and-values-CMJ9zHKm.cjs} +3 -20
  181. package/dist/data-keys-and-values-CMJ9zHKm.cjs.map +1 -0
  182. package/dist/{data-list-DSbuTWLI.cjs → data-list-CH3HAhK5.cjs} +5 -5
  183. package/dist/data-list-CH3HAhK5.cjs.map +1 -0
  184. package/dist/{data-list-Cn0Ls4l2.js → data-list-DXjH5wkB.js} +5 -5
  185. package/dist/data-list-DXjH5wkB.js.map +1 -0
  186. package/dist/{data-list-spacer-C0YimRXC.js → data-list-spacer-BQ4_YeyT.js} +2 -2
  187. package/dist/{data-list-spacer-C0YimRXC.js.map → data-list-spacer-BQ4_YeyT.js.map} +1 -1
  188. package/dist/{data-list-spacer-DUBpzv_H.cjs → data-list-spacer-GIVW2hB1.cjs} +2 -2
  189. package/dist/{data-list-spacer-DUBpzv_H.cjs.map → data-list-spacer-GIVW2hB1.cjs.map} +1 -1
  190. package/dist/{data-panel-Bd_Xsz-W.cjs → data-panel-BG7wlPAX.cjs} +3 -3
  191. package/dist/{data-panel-Bd_Xsz-W.cjs.map → data-panel-BG7wlPAX.cjs.map} +1 -1
  192. package/dist/{data-panel-Y7wD0xlR.js → data-panel-Dclh0gKS.js} +3 -3
  193. package/dist/{data-panel-Y7wD0xlR.js.map → data-panel-Dclh0gKS.js.map} +1 -1
  194. package/dist/{date-time-range-picker-D2g3RU5B.cjs → date-time-range-picker-CiWpvWGR.cjs} +3 -3
  195. package/dist/{date-time-range-picker-D2g3RU5B.cjs.map → date-time-range-picker-CiWpvWGR.cjs.map} +1 -1
  196. package/dist/{date-time-range-picker-Cb86jLFc.js → date-time-range-picker-YGP0bTkl.js} +3 -3
  197. package/dist/{date-time-range-picker-Cb86jLFc.js.map → date-time-range-picker-YGP0bTkl.js.map} +1 -1
  198. package/dist/{dialog-Bilo4jEU.cjs → dialog-B2DGYuyi.cjs} +2 -2
  199. package/dist/{dialog-Bilo4jEU.cjs.map → dialog-B2DGYuyi.cjs.map} +1 -1
  200. package/dist/{dialog-DMOXPT0N.js → dialog-BvDeW4yR.js} +2 -2
  201. package/dist/{dialog-DMOXPT0N.js.map → dialog-BvDeW4yR.js.map} +1 -1
  202. package/dist/domains/auth/components/permission-denied.cjs.js +22 -0
  203. package/dist/domains/auth/components/permission-denied.cjs.js.map +1 -0
  204. package/dist/domains/auth/components/permission-denied.d.ts +2 -0
  205. package/dist/domains/auth/components/permission-denied.es.js +18 -0
  206. package/dist/domains/auth/components/permission-denied.es.js.map +1 -0
  207. package/dist/domains/auth/components/session-expired.cjs.js +40 -0
  208. package/dist/domains/auth/components/session-expired.cjs.js.map +1 -0
  209. package/dist/domains/auth/components/session-expired.d.ts +2 -0
  210. package/dist/domains/auth/components/session-expired.es.js +36 -0
  211. package/dist/domains/auth/components/session-expired.es.js.map +1 -0
  212. package/dist/domains/auth/services/sso-login.cjs.js +28 -0
  213. package/dist/domains/auth/services/sso-login.cjs.js.map +1 -0
  214. package/dist/domains/auth/services/sso-login.d.ts +2 -0
  215. package/dist/domains/auth/services/sso-login.es.js +24 -0
  216. package/dist/domains/auth/services/sso-login.es.js.map +1 -0
  217. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -3
  218. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js.map +1 -1
  219. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -3
  220. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js.map +1 -1
  221. package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -2
  222. package/dist/domains/chat/attachments/composer-attachment.cjs.js.map +1 -1
  223. package/dist/domains/chat/attachments/composer-attachment.es.js +1 -2
  224. package/dist/domains/chat/attachments/composer-attachment.es.js.map +1 -1
  225. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  226. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  227. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
  228. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
  229. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  230. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  231. package/dist/domains/chat/messages/reasoning.cjs.js +1 -1
  232. package/dist/domains/chat/messages/reasoning.es.js +1 -1
  233. package/dist/domains/chat/messages/renderers/message-text.cjs.js +2 -2
  234. package/dist/domains/chat/messages/renderers/message-text.es.js +2 -2
  235. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  236. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  237. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  238. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  239. package/dist/domains/chat/messages/tripwire-notice.cjs.js +1 -1
  240. package/dist/domains/chat/messages/tripwire-notice.es.js +1 -1
  241. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  242. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  243. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
  244. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  245. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +1 -1
  246. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +1 -1
  247. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  248. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  249. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js +1 -1
  250. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js +1 -1
  251. package/dist/domains/logs/components/log-details-view.cjs.js +2 -2
  252. package/dist/domains/logs/components/log-details-view.es.js +2 -2
  253. package/dist/domains/logs/components/logs-error-content.cjs.js +6 -7
  254. package/dist/domains/logs/components/logs-error-content.cjs.js.map +1 -1
  255. package/dist/domains/logs/components/logs-error-content.es.js +4 -5
  256. package/dist/domains/logs/components/logs-error-content.es.js.map +1 -1
  257. package/dist/domains/logs/components/logs-list-view.cjs.js +1 -1
  258. package/dist/domains/logs/components/logs-list-view.es.js +1 -1
  259. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  260. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  261. package/dist/domains/logs/components/no-logs-info.cjs.js +2 -2
  262. package/dist/domains/logs/components/no-logs-info.es.js +2 -2
  263. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  264. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  265. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  266. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  267. package/dist/domains/memory/components/observation-detail-view.cjs.js +1 -1
  268. package/dist/domains/memory/components/observation-detail-view.es.js +1 -1
  269. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  270. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  271. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  272. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  273. package/dist/domains/metrics/components/kpi-card-view.cjs.js +1 -1
  274. package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
  275. package/dist/domains/metrics/components/latency-card-view.cjs.js +4 -4
  276. package/dist/domains/metrics/components/latency-card-view.es.js +4 -4
  277. package/dist/domains/metrics/components/memory-card-view.cjs.js +5 -5
  278. package/dist/domains/metrics/components/memory-card-view.es.js +5 -5
  279. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
  280. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
  281. package/dist/domains/metrics/components/scores-card-view.cjs.js +5 -5
  282. package/dist/domains/metrics/components/scores-card-view.es.js +5 -5
  283. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +4 -4
  284. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +4 -4
  285. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +4 -4
  286. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +4 -4
  287. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +4 -4
  288. package/dist/domains/metrics/components/traces-volume-card-view.es.js +4 -4
  289. package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
  290. package/dist/domains/traces/components/no-traces-info.es.js +1 -1
  291. package/dist/domains/traces/components/span-data-panel-view.cjs.js +19 -8
  292. package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
  293. package/dist/domains/traces/components/span-data-panel-view.es.js +20 -9
  294. package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
  295. package/dist/domains/traces/components/span-details-view.cjs.js +5 -3
  296. package/dist/domains/traces/components/span-details-view.cjs.js.map +1 -1
  297. package/dist/domains/traces/components/span-details-view.es.js +6 -4
  298. package/dist/domains/traces/components/span-details-view.es.js.map +1 -1
  299. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +3 -3
  300. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +3 -3
  301. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +5 -3
  302. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js.map +1 -1
  303. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +5 -3
  304. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js.map +1 -1
  305. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +13 -12
  306. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js.map +1 -1
  307. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +7 -6
  308. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js.map +1 -1
  309. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +1 -1
  310. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +1 -1
  311. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  312. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  313. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +79 -0
  314. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js.map +1 -0
  315. package/dist/domains/traces/components/span-payload/span-payload-processor.d.ts +2 -0
  316. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +75 -0
  317. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js.map +1 -0
  318. package/dist/domains/traces/components/span-payload/span-payload-registry.cjs.js +2 -0
  319. package/dist/domains/traces/components/span-payload/span-payload-registry.cjs.js.map +1 -1
  320. package/dist/domains/traces/components/span-payload/span-payload-registry.es.js +2 -1
  321. package/dist/domains/traces/components/span-payload/span-payload-registry.es.js.map +1 -1
  322. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +2 -2
  323. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +2 -2
  324. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
  325. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
  326. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +85 -0
  327. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js.map +1 -0
  328. package/dist/domains/traces/components/span-payload/span-processor-attributes.d.ts +2 -0
  329. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +81 -0
  330. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js.map +1 -0
  331. package/dist/domains/traces/components/span-payload.cjs.js +4 -0
  332. package/dist/domains/traces/components/span-payload.cjs.js.map +1 -1
  333. package/dist/domains/traces/components/span-payload.es.js +2 -0
  334. package/dist/domains/traces/components/span-payload.es.js.map +1 -1
  335. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  336. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  337. package/dist/domains/traces/components/span-timing-hover-card.cjs.js +1 -1
  338. package/dist/domains/traces/components/span-timing-hover-card.es.js +1 -1
  339. package/dist/domains/traces/components/span-token-usage.cjs.js +1 -1
  340. package/dist/domains/traces/components/span-token-usage.es.js +1 -1
  341. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  342. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  343. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +4 -4
  344. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +4 -4
  345. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +1 -1
  346. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +1 -1
  347. package/dist/domains/traces/components/trace-columns-menu.cjs.js +4 -4
  348. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  349. package/dist/domains/traces/components/trace-columns-menu.es.js +4 -4
  350. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  351. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +12 -16
  352. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  353. package/dist/domains/traces/components/trace-data-panel-view.es.js +12 -16
  354. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  355. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  356. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  357. package/dist/domains/traces/components/trace-summary-description.cjs.js +8 -1
  358. package/dist/domains/traces/components/trace-summary-description.cjs.js.map +1 -1
  359. package/dist/domains/traces/components/trace-summary-description.es.js +8 -1
  360. package/dist/domains/traces/components/trace-summary-description.es.js.map +1 -1
  361. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
  362. package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
  363. package/dist/domains/traces/components/traces-error-content.cjs.js +6 -6
  364. package/dist/domains/traces/components/traces-error-content.cjs.js.map +1 -1
  365. package/dist/domains/traces/components/traces-error-content.es.js +4 -4
  366. package/dist/domains/traces/components/traces-error-content.es.js.map +1 -1
  367. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  368. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  369. package/dist/domains/traces/components/traces-list-view.cjs.js +2 -2
  370. package/dist/domains/traces/components/traces-list-view.es.js +2 -2
  371. package/dist/domains/traces/components.cjs.js +4 -2
  372. package/dist/domains/traces/components.cjs.js.map +1 -1
  373. package/dist/domains/traces/components.es.js +2 -1
  374. package/dist/domains/traces/components.es.js.map +1 -1
  375. package/dist/domains/traces.cjs.js +4 -2
  376. package/dist/domains/traces.cjs.js.map +1 -1
  377. package/dist/domains/traces.es.js +2 -1
  378. package/dist/domains/traces.es.js.map +1 -1
  379. package/dist/{drawer-B6Ftum77.cjs → drawer-CmzM8WKh.cjs} +2 -2
  380. package/dist/{drawer-B6Ftum77.cjs.map → drawer-CmzM8WKh.cjs.map} +1 -1
  381. package/dist/{drawer-CnCsgToD.js → drawer-b_iqX4G0.js} +2 -2
  382. package/dist/{drawer-CnCsgToD.js.map → drawer-b_iqX4G0.js.map} +1 -1
  383. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +1 -1
  384. package/dist/ee/signals/components/entity-index-compact-grid.es.js +1 -1
  385. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
  386. package/dist/ee/signals/components/entity-index-list.es.js +1 -1
  387. package/dist/ee/signals/components/signals-empty-state.cjs.js +2 -3
  388. package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -1
  389. package/dist/ee/signals/components/signals-empty-state.es.js +2 -3
  390. package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -1
  391. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +1 -1
  392. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +1 -1
  393. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +11 -12
  394. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  395. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +9 -10
  396. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  397. package/dist/ee/signals/examples-pager.cjs.js +1 -3
  398. package/dist/ee/signals/examples-pager.cjs.js.map +1 -1
  399. package/dist/ee/signals/examples-pager.es.js +1 -3
  400. package/dist/ee/signals/examples-pager.es.js.map +1 -1
  401. package/dist/ee/signals/flow-card.cjs.js +1 -1
  402. package/dist/ee/signals/flow-card.es.js +1 -1
  403. package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
  404. package/dist/ee/signals/noise-detail-panel.es.js +1 -1
  405. package/dist/ee/signals/sankey-signals.cjs.js +1 -1
  406. package/dist/ee/signals/sankey-signals.es.js +1 -1
  407. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +3 -3
  408. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +3 -3
  409. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +2 -2
  410. package/dist/ee/signals/settings/trace-signal-settings.es.js +2 -2
  411. package/dist/ee/signals/signals-error-state.cjs.js +2 -2
  412. package/dist/ee/signals/signals-error-state.cjs.js.map +1 -1
  413. package/dist/ee/signals/signals-error-state.es.js +2 -2
  414. package/dist/ee/signals/signals-error-state.es.js.map +1 -1
  415. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -2
  416. package/dist/ee/signals/snapshot-timeline.cjs.js.map +1 -1
  417. package/dist/ee/signals/snapshot-timeline.es.js +1 -2
  418. package/dist/ee/signals/snapshot-timeline.es.js.map +1 -1
  419. package/dist/ee/signals/theme-detail-panel.cjs.js +1 -1
  420. package/dist/ee/signals/theme-detail-panel.es.js +1 -1
  421. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  422. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  423. package/dist/ee/signals/trace-insight-view.cjs.js +3 -12
  424. package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -1
  425. package/dist/ee/signals/trace-insight-view.es.js +3 -12
  426. package/dist/ee/signals/trace-insight-view.es.js.map +1 -1
  427. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  428. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  429. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +10 -19
  430. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js.map +1 -1
  431. package/dist/ee/topics/components/topic-trace-summary-list.es.js +10 -19
  432. package/dist/ee/topics/components/topic-trace-summary-list.es.js.map +1 -1
  433. package/dist/{filter-bar-chip-B_k_vbip.cjs → filter-bar-chip-Y_lejyj9.cjs} +3 -3
  434. package/dist/{filter-bar-chip-B_k_vbip.cjs.map → filter-bar-chip-Y_lejyj9.cjs.map} +1 -1
  435. package/dist/{filter-bar-chip-BlvuAPve.js → filter-bar-chip-yvB9JA0r.js} +3 -3
  436. package/dist/{filter-bar-chip-BlvuAPve.js.map → filter-bar-chip-yvB9JA0r.js.map} +1 -1
  437. package/dist/hooks/use-fluid-hover.cjs.js +2 -4
  438. package/dist/hooks/use-fluid-hover.cjs.js.map +1 -1
  439. package/dist/hooks/use-fluid-hover.es.js +2 -4
  440. package/dist/hooks/use-fluid-hover.es.js.map +1 -1
  441. package/dist/{input-group-DaIV9Orp.cjs → input-group-Dt7PI7Bh.cjs} +2 -2
  442. package/dist/{input-group-DaIV9Orp.cjs.map → input-group-Dt7PI7Bh.cjs.map} +1 -1
  443. package/dist/{input-group-B-pskRGt.js → input-group-QyOyAe2m.js} +2 -2
  444. package/dist/{input-group-B-pskRGt.js.map → input-group-QyOyAe2m.js.map} +1 -1
  445. package/dist/layout/tabbed-container.cjs.js +6 -6
  446. package/dist/layout/tabbed-container.es.js +6 -6
  447. package/dist/{list-search-DhReauU5.cjs → list-search-CspJ7pQa.cjs} +2 -2
  448. package/dist/{list-search-DhReauU5.cjs.map → list-search-CspJ7pQa.cjs.map} +1 -1
  449. package/dist/{list-search-DK2yMiME.js → list-search-hX4N3d_Y.js} +2 -2
  450. package/dist/{list-search-DK2yMiME.js.map → list-search-hX4N3d_Y.js.map} +1 -1
  451. package/dist/{logs-data-list-DgoCLb6k.cjs → logs-data-list-BGJTRyO_.cjs} +2 -2
  452. package/dist/{logs-data-list-DgoCLb6k.cjs.map → logs-data-list-BGJTRyO_.cjs.map} +1 -1
  453. package/dist/{logs-data-list-B24gfDle.js → logs-data-list-XU1hCwI5.js} +2 -2
  454. package/dist/{logs-data-list-B24gfDle.js.map → logs-data-list-XU1hCwI5.js.map} +1 -1
  455. package/dist/{main-sidebar-DYfRxFn4.cjs → main-sidebar-link-active-CYZwvfPC.cjs} +5 -118
  456. package/dist/main-sidebar-link-active-CYZwvfPC.cjs.map +1 -0
  457. package/dist/{main-sidebar-Cf5G9iaC.js → main-sidebar-link-active-NW5N8nMT.js} +7 -119
  458. package/dist/main-sidebar-link-active-NW5N8nMT.js.map +1 -0
  459. package/dist/{markdown-renderer-BUqHHH4y.js → markdown-renderer-4cVz18hI.js} +3 -3
  460. package/dist/{markdown-renderer-BUqHHH4y.js.map → markdown-renderer-4cVz18hI.js.map} +1 -1
  461. package/dist/{markdown-renderer-CZLwgva-.cjs → markdown-renderer-zbO5SMQg.cjs} +3 -3
  462. package/dist/{markdown-renderer-CZLwgva-.cjs.map → markdown-renderer-zbO5SMQg.cjs.map} +1 -1
  463. package/dist/{metrics-card-CN4VRQQJ.js → metrics-card-Bzm6m1dy.js} +3 -3
  464. package/dist/{metrics-card-CN4VRQQJ.js.map → metrics-card-Bzm6m1dy.js.map} +1 -1
  465. package/dist/{metrics-card-DStXI6yn.cjs → metrics-card-DCCHIG-z.cjs} +3 -3
  466. package/dist/{metrics-card-DStXI6yn.cjs.map → metrics-card-DCCHIG-z.cjs.map} +1 -1
  467. package/dist/{metrics-kpi-card-CvOXyEGn.cjs → metrics-kpi-card-Bhb4R4z0.cjs} +2 -2
  468. package/dist/{metrics-kpi-card-CvOXyEGn.cjs.map → metrics-kpi-card-Bhb4R4z0.cjs.map} +1 -1
  469. package/dist/{metrics-kpi-card-C-XLN_Us.js → metrics-kpi-card-BrnFhFQm.js} +2 -2
  470. package/dist/{metrics-kpi-card-C-XLN_Us.js.map → metrics-kpi-card-BrnFhFQm.js.map} +1 -1
  471. package/dist/new/layout/app-shell.cjs.js +13 -0
  472. package/dist/new/layout/app-shell.cjs.js.map +1 -1
  473. package/dist/new/layout/app-shell.es.js +13 -1
  474. package/dist/new/layout/app-shell.es.js.map +1 -1
  475. package/dist/new/layout/page-header.cjs.js +1 -1
  476. package/dist/new/layout/page-header.es.js +1 -1
  477. package/dist/new/settings.cjs.js +42 -2
  478. package/dist/new/settings.cjs.js.map +1 -1
  479. package/dist/new/settings.es.js +43 -3
  480. package/dist/new/settings.es.js.map +1 -1
  481. package/dist/new/sidebar.cjs.js +33 -33
  482. package/dist/new/sidebar.cjs.js.map +1 -1
  483. package/dist/new/sidebar.es.js +3 -3
  484. package/dist/new/sidebar.es.js.map +1 -1
  485. package/dist/{page-header-CSigVThQ.js → page-header-CyXAezlZ.js} +25 -26
  486. package/dist/page-header-CyXAezlZ.js.map +1 -0
  487. package/dist/{page-header-DzEEkOca.cjs → page-header-Dk3s3XtC.cjs} +25 -26
  488. package/dist/page-header-Dk3s3XtC.cjs.map +1 -0
  489. package/dist/primitives/control-size.cjs.js +1 -2
  490. package/dist/primitives/control-size.cjs.js.map +1 -1
  491. package/dist/primitives/control-size.es.js +1 -2
  492. package/dist/primitives/control-size.es.js.map +1 -1
  493. package/dist/primitives/form-element.cjs.js +0 -2
  494. package/dist/primitives/form-element.cjs.js.map +1 -1
  495. package/dist/primitives/form-element.es.js +1 -2
  496. package/dist/primitives/form-element.es.js.map +1 -1
  497. package/dist/primitives/menu-item.cjs.js +1 -1
  498. package/dist/primitives/menu-item.cjs.js.map +1 -1
  499. package/dist/primitives/menu-item.es.js +1 -1
  500. package/dist/primitives/menu-item.es.js.map +1 -1
  501. package/dist/primitives/trigger-button.cjs.js +1 -1
  502. package/dist/primitives/trigger-button.es.js +1 -1
  503. package/dist/{property-filter-applied-uYr-sCdm.js → property-filter-applied-CVVhhWGf.js} +2 -2
  504. package/dist/{property-filter-applied-uYr-sCdm.js.map → property-filter-applied-CVVhhWGf.js.map} +1 -1
  505. package/dist/{property-filter-applied-DxSZN3Om.cjs → property-filter-applied-DEeqrI0g.cjs} +2 -2
  506. package/dist/{property-filter-applied-DxSZN3Om.cjs.map → property-filter-applied-DEeqrI0g.cjs.map} +1 -1
  507. package/dist/resize/panel-drawer.cjs.js +1 -1
  508. package/dist/resize/panel-drawer.es.js +1 -1
  509. package/dist/{search-field-block-Bg9GPPaA.cjs → search-field-block-D34NmyvF.cjs} +2 -2
  510. package/dist/{search-field-block-Bg9GPPaA.cjs.map → search-field-block-D34NmyvF.cjs.map} +1 -1
  511. package/dist/{search-field-block-B0twxGWI.js → search-field-block-DCWcRx4k.js} +2 -2
  512. package/dist/{search-field-block-B0twxGWI.js.map → search-field-block-DCWcRx4k.js.map} +1 -1
  513. package/dist/{select-65j5NjtJ.cjs → select-DjXJeDlO.cjs} +2 -2
  514. package/dist/select-DjXJeDlO.cjs.map +1 -0
  515. package/dist/{select-BiY-SoMJ.js → select-TslOr65J.js} +2 -2
  516. package/dist/select-TslOr65J.js.map +1 -0
  517. package/dist/{select-field-block-D_b9N7od.js → select-field-block-660lYYtx.js} +2 -2
  518. package/dist/{select-field-block-D_b9N7od.js.map → select-field-block-660lYYtx.js.map} +1 -1
  519. package/dist/{select-field-block-CZbN1w__.cjs → select-field-block-BPSwJ76v.cjs} +2 -2
  520. package/dist/{select-field-block-CZbN1w__.cjs.map → select-field-block-BPSwJ76v.cjs.map} +1 -1
  521. package/dist/{span-payload-primitives-DlIOpCII.js → span-payload-primitives-DIIZ42fv.js} +3 -3
  522. package/dist/{span-payload-primitives-DlIOpCII.js.map → span-payload-primitives-DIIZ42fv.js.map} +1 -1
  523. package/dist/{span-payload-primitives-BjBTICfq.cjs → span-payload-primitives-c6C46Zp1.cjs} +3 -3
  524. package/dist/{span-payload-primitives-BjBTICfq.cjs.map → span-payload-primitives-c6C46Zp1.cjs.map} +1 -1
  525. package/dist/src/domains/auth/components/permission-denied.d.ts +6 -0
  526. package/dist/src/{ds/components/PermissionDenied → domains/auth/components}/permission-denied.stories.d.ts +1 -3
  527. package/dist/src/domains/auth/components/session-expired.d.ts +5 -0
  528. package/dist/src/{ds/components/SessionExpired → domains/auth/components}/session-expired.stories.d.ts +1 -2
  529. package/dist/src/domains/auth/services/sso-login.d.ts +7 -0
  530. package/dist/src/domains/logs/components/logs-error-content.d.ts +2 -2
  531. package/dist/src/domains/traces/components/index.d.ts +0 -1
  532. package/dist/src/domains/traces/components/span-payload/index.d.ts +2 -0
  533. package/dist/src/domains/traces/components/span-payload/span-payload-processor.d.ts +10 -0
  534. package/dist/src/domains/traces/components/span-payload/span-payload-registry.d.ts +1 -0
  535. package/dist/src/domains/traces/components/span-payload/span-payload.stories.d.ts +2 -0
  536. package/dist/src/domains/traces/components/span-payload/span-processor-attributes.d.ts +10 -0
  537. package/dist/src/domains/traces/components/trace-data-panel-view.stories.d.ts +94 -0
  538. package/dist/src/domains/traces/components/trace-summary-description.d.ts +1 -0
  539. package/dist/src/domains/traces/components/traces-error-content.d.ts +2 -2
  540. package/dist/src/ds/components/Button/Button.d.ts +1 -1
  541. package/dist/src/ds/components/ButtonsGroup/buttons-group.stories.d.ts +2 -2
  542. package/dist/src/ds/components/Columns/column-root.d.ts +1 -3
  543. package/dist/src/ds/components/Columns/columns.stories.d.ts +0 -1
  544. package/dist/src/ds/components/Columns/index.d.ts +0 -1
  545. package/dist/src/ds/components/Combobox/combobox-styles.d.ts +1 -2
  546. package/dist/src/ds/components/DataKeysAndValues/data-keys-and-values-root.d.ts +1 -2
  547. package/dist/src/ds/components/DataKeysAndValues/data-keys-and-values.stories.d.ts +1 -2
  548. package/dist/src/ds/components/EmptyState/EmptyState.d.ts +6 -2
  549. package/dist/src/ds/components/EmptyState/empty-state.stories.d.ts +1 -0
  550. package/dist/src/ds/components/PageLayout/page-layout.d.ts +8 -3
  551. package/dist/src/ds/components/PageLayout/page-layout.stories.d.ts +3 -0
  552. package/dist/src/ds/components/Select/select.d.ts +3 -4
  553. package/dist/src/ds/components/Select/select.stories.d.ts +2 -2
  554. package/dist/src/ds/new/layout/app-shell/index.d.ts +1 -0
  555. package/dist/src/ds/new/layout/app-shell/main-card.d.ts +5 -0
  556. package/dist/src/ds/new/settings/index.d.ts +1 -1
  557. package/dist/src/ds/new/settings/settings.stories.d.ts +2 -0
  558. package/dist/src/ds/primitives/control-size.d.ts +1 -1
  559. package/dist/src/ds/primitives/form-element.d.ts +0 -1
  560. package/dist/src/hooks/stories/browser/use-autoscroll.stories.d.ts +22 -0
  561. package/dist/src/hooks/stories/browser/use-copy-to-clipboard.stories.d.ts +22 -0
  562. package/dist/src/hooks/stories/browser/use-fluid-hover.stories.d.ts +17 -0
  563. package/dist/src/hooks/stories/browser/use-in-view.stories.d.ts +17 -0
  564. package/dist/src/hooks/stories/browser/use-is-apple-platform.stories.d.ts +17 -0
  565. package/dist/src/hooks/stories/browser/use-is-mobile.stories.d.ts +32 -0
  566. package/dist/src/hooks/stories/browser/use-isomorphic-layout-effect.stories.d.ts +32 -0
  567. package/dist/src/hooks/stories/browser/use-keyboard-shortcut-label.stories.d.ts +22 -0
  568. package/dist/src/hooks/stories/browser/use-register-fluid-hover-item.stories.d.ts +17 -0
  569. package/dist/src/hooks/stories/environment/use-custom-environment-variables-editor.stories.d.ts +17 -0
  570. package/dist/src/hooks/stories/environment/use-environment-variables-editor.stories.d.ts +17 -0
  571. package/dist/src/hooks/stories/state/use-debounced-value.stories.d.ts +32 -0
  572. package/dist/src/hooks/stories/state/use-expiring-local-storage-state.stories.d.ts +17 -0
  573. package/dist/src/hooks/stories/state/use-local-storage-state.stories.d.ts +17 -0
  574. package/dist/src/hooks/stories/text/use-is-clamped.stories.d.ts +17 -0
  575. package/dist/src/hooks/stories/text/use-measured-auto-height.stories.d.ts +17 -0
  576. package/dist/src/hooks/stories/text/use-scroll-to-first-highlight.stories.d.ts +17 -0
  577. package/dist/src/hooks/stories/text/use-text-highlight.stories.d.ts +17 -0
  578. package/dist/src/lib/keyboard/use-keyboard-scope-depth.stories.d.ts +17 -0
  579. package/dist/src/lib/keyboard/use-keyboard-shortcuts-context.stories.d.ts +17 -0
  580. package/dist/src/lib/keyboard/use-table-keydown.stories.d.ts +15 -0
  581. package/dist/style.css +28 -91
  582. package/dist/{tabs-content-DMrffE9p.js → tabs-content-7ODUUdQ0.js} +2 -2
  583. package/dist/{tabs-content-DMrffE9p.js.map → tabs-content-7ODUUdQ0.js.map} +1 -1
  584. package/dist/{tabs-content-CuUlcS67.cjs → tabs-content-DlCJoQUW.cjs} +2 -2
  585. package/dist/{tabs-content-CuUlcS67.cjs.map → tabs-content-DlCJoQUW.cjs.map} +1 -1
  586. package/dist/{tabs-root-DrK1hxeV.cjs → tabs-root-COCL6jcx.cjs} +2 -2
  587. package/dist/{tabs-root-DrK1hxeV.cjs.map → tabs-root-COCL6jcx.cjs.map} +1 -1
  588. package/dist/{tabs-root-B2sdkQ3A.js → tabs-root-UNPxoGhW.js} +2 -2
  589. package/dist/{tabs-root-B2sdkQ3A.js.map → tabs-root-UNPxoGhW.js.map} +1 -1
  590. package/dist/{tabs-tab-ClmulJmM.cjs → tabs-tab-DFmRMdi3.cjs} +2 -2
  591. package/dist/{tabs-tab-ClmulJmM.cjs.map → tabs-tab-DFmRMdi3.cjs.map} +1 -1
  592. package/dist/{tabs-tab-u6LS5twu.js → tabs-tab-DluwCnDF.js} +2 -2
  593. package/dist/{tabs-tab-u6LS5twu.js.map → tabs-tab-DluwCnDF.js.map} +1 -1
  594. package/dist/{time-picker-PXFCgAuR.cjs → time-picker-BokshW_l.cjs} +2 -2
  595. package/dist/{time-picker-PXFCgAuR.cjs.map → time-picker-BokshW_l.cjs.map} +1 -1
  596. package/dist/{time-picker-DMroqHbw.js → time-picker-D0GksHc0.js} +2 -2
  597. package/dist/{time-picker-DMroqHbw.js.map → time-picker-D0GksHc0.js.map} +1 -1
  598. package/dist/{tool-approval-DzOGIKRh.js → tool-approval-DXUFyrSl.js} +2 -2
  599. package/dist/{tool-approval-DzOGIKRh.js.map → tool-approval-DXUFyrSl.js.map} +1 -1
  600. package/dist/{tool-approval-DYX_ZNWc.cjs → tool-approval-LIy1nZZJ.cjs} +2 -2
  601. package/dist/{tool-approval-DYX_ZNWc.cjs.map → tool-approval-LIy1nZZJ.cjs.map} +1 -1
  602. package/dist/{tool-call-HNNRcirD.js → tool-call-Bs-9Cah5.js} +2 -2
  603. package/dist/{tool-call-HNNRcirD.js.map → tool-call-Bs-9Cah5.js.map} +1 -1
  604. package/dist/{tool-call-vZeZ5XT5.cjs → tool-call-C0JeHe8Z.cjs} +2 -2
  605. package/dist/{tool-call-vZeZ5XT5.cjs.map → tool-call-C0JeHe8Z.cjs.map} +1 -1
  606. package/dist/{traces-data-list-DHrC158-.js → traces-data-list-Cjy5a-1f.js} +3 -3
  607. package/dist/{traces-data-list-DHrC158-.js.map → traces-data-list-Cjy5a-1f.js.map} +1 -1
  608. package/dist/{traces-data-list-DNOtQze4.cjs → traces-data-list-DLeKSbaZ.cjs} +3 -3
  609. package/dist/{traces-data-list-DNOtQze4.cjs.map → traces-data-list-DLeKSbaZ.cjs.map} +1 -1
  610. package/package.json +13 -13
  611. package/dist/Button-KUj0U-5I.js.map +0 -1
  612. package/dist/Button-MMZPEb_q.cjs.map +0 -1
  613. package/dist/Card-B_buJ5yF.js.map +0 -1
  614. package/dist/Card-DwGasv0K.cjs.map +0 -1
  615. package/dist/EmptyState-B6cyZw6m.js.map +0 -1
  616. package/dist/EmptyState-DiSP6UIy.cjs.map +0 -1
  617. package/dist/ErrorState-B0839u-q.cjs +0 -21
  618. package/dist/ErrorState-B0839u-q.cjs.map +0 -1
  619. package/dist/ErrorState-HyRJdaA2.js +0 -19
  620. package/dist/ErrorState-HyRJdaA2.js.map +0 -1
  621. package/dist/PermissionDenied-CTqnE57B.js +0 -27
  622. package/dist/PermissionDenied-CTqnE57B.js.map +0 -1
  623. package/dist/PermissionDenied-fdVmTjjf.cjs +0 -29
  624. package/dist/PermissionDenied-fdVmTjjf.cjs.map +0 -1
  625. package/dist/SessionExpired-B9e1Kx4I.js +0 -44
  626. package/dist/SessionExpired-B9e1Kx4I.js.map +0 -1
  627. package/dist/SessionExpired-GSQkcV9f.cjs +0 -46
  628. package/dist/SessionExpired-GSQkcV9f.cjs.map +0 -1
  629. package/dist/combobox-styles-CSsS2LEx.cjs.map +0 -1
  630. package/dist/combobox-styles-iuJUkJEQ.js.map +0 -1
  631. package/dist/components/DataFilter.cjs.js +0 -173
  632. package/dist/components/DataFilter.cjs.js.map +0 -1
  633. package/dist/components/DataFilter.d.ts +0 -2
  634. package/dist/components/DataFilter.es.js +0 -169
  635. package/dist/components/DataFilter.es.js.map +0 -1
  636. package/dist/components/ErrorState.cjs.js +0 -10
  637. package/dist/components/ErrorState.cjs.js.map +0 -1
  638. package/dist/components/ErrorState.d.ts +0 -2
  639. package/dist/components/ErrorState.es.js +0 -2
  640. package/dist/components/ErrorState.es.js.map +0 -1
  641. package/dist/components/PermissionDenied.cjs.js +0 -10
  642. package/dist/components/PermissionDenied.cjs.js.map +0 -1
  643. package/dist/components/PermissionDenied.d.ts +0 -2
  644. package/dist/components/PermissionDenied.es.js +0 -2
  645. package/dist/components/PermissionDenied.es.js.map +0 -1
  646. package/dist/components/Sections.cjs.js +0 -13
  647. package/dist/components/Sections.cjs.js.map +0 -1
  648. package/dist/components/Sections.d.ts +0 -2
  649. package/dist/components/Sections.es.js +0 -9
  650. package/dist/components/Sections.es.js.map +0 -1
  651. package/dist/components/SessionExpired.cjs.js +0 -10
  652. package/dist/components/SessionExpired.cjs.js.map +0 -1
  653. package/dist/components/SessionExpired.d.ts +0 -2
  654. package/dist/components/SessionExpired.es.js +0 -2
  655. package/dist/components/SessionExpired.es.js.map +0 -1
  656. package/dist/components/SettingsLayout.cjs.js +0 -10
  657. package/dist/components/SettingsLayout.cjs.js.map +0 -1
  658. package/dist/components/SettingsLayout.d.ts +0 -2
  659. package/dist/components/SettingsLayout.es.js +0 -2
  660. package/dist/components/SettingsLayout.es.js.map +0 -1
  661. package/dist/data-keys-and-values-BduKvvC5.cjs.map +0 -1
  662. package/dist/data-keys-and-values-DhC4U4Yl.js.map +0 -1
  663. package/dist/data-list-Cn0Ls4l2.js.map +0 -1
  664. package/dist/data-list-DSbuTWLI.cjs.map +0 -1
  665. package/dist/domains/traces/components/trace-keys-and-values.cjs.js +0 -70
  666. package/dist/domains/traces/components/trace-keys-and-values.cjs.js.map +0 -1
  667. package/dist/domains/traces/components/trace-keys-and-values.d.ts +0 -2
  668. package/dist/domains/traces/components/trace-keys-and-values.es.js +0 -66
  669. package/dist/domains/traces/components/trace-keys-and-values.es.js.map +0 -1
  670. package/dist/main-sidebar-Cf5G9iaC.js.map +0 -1
  671. package/dist/main-sidebar-DYfRxFn4.cjs.map +0 -1
  672. package/dist/page-header-CSigVThQ.js.map +0 -1
  673. package/dist/page-header-DzEEkOca.cjs.map +0 -1
  674. package/dist/select-65j5NjtJ.cjs.map +0 -1
  675. package/dist/select-BiY-SoMJ.js.map +0 -1
  676. package/dist/settings-layout-BGvMSClL.cjs +0 -49
  677. package/dist/settings-layout-BGvMSClL.cjs.map +0 -1
  678. package/dist/settings-layout-DA-JWqW3.js +0 -47
  679. package/dist/settings-layout-DA-JWqW3.js.map +0 -1
  680. package/dist/src/domains/traces/components/trace-keys-and-values.d.ts +0 -24
  681. package/dist/src/domains/traces/components/trace-keys-and-values.stories.d.ts +0 -28
  682. package/dist/src/ds/components/Columns/multi-column.d.ts +0 -7
  683. package/dist/src/ds/components/DataFilter/index.d.ts +0 -2
  684. package/dist/src/ds/components/DataFilter/select-data-filter.d.ts +0 -40
  685. package/dist/src/ds/components/DataFilter/select-data-filter.stories.d.ts +0 -8
  686. package/dist/src/ds/components/ErrorState/ErrorState.d.ts +0 -8
  687. package/dist/src/ds/components/ErrorState/error-state.stories.d.ts +0 -8
  688. package/dist/src/ds/components/ErrorState/index.d.ts +0 -2
  689. package/dist/src/ds/components/PermissionDenied/PermissionDenied.d.ts +0 -16
  690. package/dist/src/ds/components/PermissionDenied/index.d.ts +0 -2
  691. package/dist/src/ds/components/Sections/index.d.ts +0 -1
  692. package/dist/src/ds/components/Sections/sections.d.ts +0 -5
  693. package/dist/src/ds/components/Sections/sections.stories.d.ts +0 -8
  694. package/dist/src/ds/components/SessionExpired/SessionExpired.d.ts +0 -11
  695. package/dist/src/ds/components/SessionExpired/index.d.ts +0 -2
  696. package/dist/src/ds/components/SettingsLayout/index.d.ts +0 -1
  697. package/dist/src/ds/components/SettingsLayout/settings-layout.stories.d.ts +0 -52
  698. /package/dist/src/ds/{components/SettingsLayout → new/settings}/settings-layout.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ask-user-C4DTzEQF.js","sources":["../src/ds/components/ai/ask-user/ask-user.tsx"],"sourcesContent":["import { Check, MessageCircleQuestion } from 'lucide-react';\nimport { useId, useState } from 'react';\nimport type { ComponentProps, KeyboardEvent, ReactNode } from 'react';\nimport { Badge } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { Checkbox } from '@/ds/components/Checkbox';\nimport { Input } from '@/ds/components/Input';\nimport { RadioGroup, RadioGroupItem } from '@/ds/components/RadioGroup';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport type AskUserSelectionMode = 'single_select' | 'multi_select';\nexport type AskUserAnswer = string | string[];\n\nexport interface AskUserOption {\n label: string;\n description?: string;\n}\n\nexport interface AskUserPayload {\n question: string;\n options?: AskUserOption[];\n selectionMode?: AskUserSelectionMode;\n}\n\nexport interface AskUserResult {\n content: string;\n isError?: boolean;\n}\n\nexport const AskUserContainer = ({ className, ...props }: ComponentProps<'div'>) => (\n <div\n data-slot=\"ask-user\"\n className={cn(raisedSurfaceStyle, 'w-full overflow-hidden rounded-xl', className)}\n {...props}\n />\n);\n\nexport const AskUserLabel = ({ children = 'Question', className, ...props }: ComponentProps<'div'>) => (\n <div data-slot=\"ask-user-label\" className={cn('flex min-h-10 items-center gap-2 px-4 pt-3', className)} {...props}>\n <Icon size=\"xs\" className=\"text-muted-foreground\">\n <MessageCircleQuestion />\n </Icon>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\">\n {children}\n </Txt>\n </div>\n);\n\nexport const AskUserBody = ({ className, ...props }: ComponentProps<'div'>) => (\n <div data-slot=\"ask-user-body\" className={cn('px-4 pt-1 pb-4', className)} {...props} />\n);\n\nexport const AskUserQuestion = ({ className, ...props }: ComponentProps<typeof Txt>) => (\n <Txt as=\"p\" variant=\"subheading\" tone=\"ink\" {...props} className={cn('mb-3', className)} />\n);\n\nexport interface AskUserOptionRowProps extends Omit<ComponentProps<'label'>, 'children'> {\n control: ReactNode;\n label: string;\n description?: string;\n disabled?: boolean;\n}\n\nexport const AskUserOptionRow = ({\n control,\n label,\n description,\n disabled = false,\n className,\n ...props\n}: AskUserOptionRowProps) => (\n <label\n // state-layer's wash only stops at :disabled/aria-disabled, and a <label> is neither\n aria-disabled={disabled || undefined}\n className={cn(\n 'state-layer flex items-start gap-2.5 rounded-lg bg-fill px-3 py-2',\n disabled ? 'cursor-not-allowed opacity-50' : 'cursor-pointer',\n className,\n )}\n {...props}\n >\n {control}\n <span className=\"grid gap-0.5\">\n <Txt as=\"span\" variant=\"body\" tone=\"ink\">\n {label}\n </Txt>\n {description ? (\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\">\n {description}\n </Txt>\n ) : null}\n </span>\n </label>\n);\n\nexport type AskUserSubmitProps = Omit<ComponentProps<typeof Button>, 'children'> & { children?: ReactNode };\n\nexport const AskUserSubmit = ({ children = 'Submit answer', ...props }: AskUserSubmitProps) => (\n <Button icon={<Check />} type=\"button\" size=\"sm\" variant=\"primary\" {...props}>\n {children}\n </Button>\n);\n\nexport const AskUserPending = ({ children = 'Submitting…', ...props }: ComponentProps<typeof Txt>) => (\n <Txt as=\"span\" role=\"status\" variant=\"caption\" tone=\"muted\" {...props}>\n {children}\n </Txt>\n);\n\nexport interface AskUserOutputProps extends ComponentProps<'div'> {\n result: AskUserResult;\n}\n\nexport const AskUserOutput = ({ result, className, ...props }: AskUserOutputProps) => (\n <div\n data-slot=\"ask-user-output\"\n role={result.isError ? 'alert' : 'status'}\n className={cn('grid gap-2 rounded-lg bg-fill p-3', className)}\n {...props}\n >\n <Badge size=\"xs\" variant={result.isError ? 'red' : 'green'} className=\"justify-self-start\">\n {result.isError ? 'Error' : 'Answered'}\n </Badge>\n <Txt as=\"p\" variant=\"body\" tone=\"ink\" className={cn(result.isError && 'text-error')}>\n {result.content}\n </Txt>\n </div>\n);\n\nexport interface AskUserProps extends Omit<ComponentProps<typeof AskUserContainer>, 'children' | 'onSubmit'> {\n payload: AskUserPayload;\n result?: AskUserResult;\n isAnswered?: boolean;\n isSubmitting?: boolean;\n onSubmit: (answer: AskUserAnswer) => void;\n footer?: ReactNode;\n}\n\nconst validOptions = (options: AskUserPayload['options']): AskUserOption[] =>\n options?.filter((option): option is AskUserOption =>\n Boolean(option && typeof option.label === 'string' && option.label),\n ) ?? [];\n\ninterface AskUserInputProps extends AskUserProps {\n options: AskUserOption[];\n}\n\nconst AskUserInput = ({\n payload,\n options,\n result,\n isAnswered = false,\n isSubmitting = false,\n onSubmit,\n footer,\n ...props\n}: AskUserInputProps) => {\n const fieldId = useId();\n const [text, setText] = useState('');\n const [selected, setSelected] = useState<string[]>([]);\n\n if (result || isAnswered) {\n return (\n <AskUserContainer data-testid=\"ask-user\" {...props}>\n <AskUserLabel />\n <AskUserBody>\n <AskUserQuestion>{payload.question}</AskUserQuestion>\n {result ? <AskUserOutput result={result} /> : <Badge variant=\"green\">Answered</Badge>}\n </AskUserBody>\n </AskUserContainer>\n );\n }\n\n const submitText = () => {\n const answer = text.trim();\n if (answer && !isSubmitting) onSubmit(answer);\n };\n\n const handleTextKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n submitText();\n }\n };\n\n if (options.length === 0) {\n return (\n <AskUserContainer data-testid=\"ask-user\" {...props}>\n <AskUserLabel />\n <AskUserBody>\n <AskUserQuestion as=\"label\" htmlFor={fieldId} className=\"mb-2 block\">\n {payload.question}\n </AskUserQuestion>\n <div className=\"flex items-center gap-2\">\n <Input\n id={fieldId}\n value={text}\n onChange={event => setText(event.target.value)}\n onKeyDown={handleTextKeyDown}\n placeholder=\"Type your answer...\"\n disabled={isSubmitting}\n size=\"sm\"\n />\n <AskUserSubmit\n className=\"shrink-0 whitespace-nowrap\"\n disabled={isSubmitting || !text.trim()}\n onClick={submitText}\n />\n </div>\n {isSubmitting ? <AskUserPending className=\"mt-2 block\" /> : null}\n {footer}\n </AskUserBody>\n </AskUserContainer>\n );\n }\n\n const isMulti = payload.selectionMode === 'multi_select';\n\n return (\n <AskUserContainer data-testid=\"ask-user\" {...props}>\n <AskUserLabel />\n <AskUserBody>\n <AskUserQuestion id={fieldId}>{payload.question}</AskUserQuestion>\n {isMulti ? (\n <div role=\"group\" aria-labelledby={fieldId} className=\"grid gap-2\">\n {options.map(option => (\n <AskUserOptionRow\n key={option.label}\n label={option.label}\n description={option.description}\n disabled={isSubmitting}\n control={\n <Checkbox\n className=\"mt-0.5\"\n disabled={isSubmitting}\n checked={selected.includes(option.label)}\n onCheckedChange={() =>\n setSelected(current =>\n current.includes(option.label)\n ? current.filter(selectedLabel => selectedLabel !== option.label)\n : [...current, option.label],\n )\n }\n />\n }\n />\n ))}\n <AskUserSubmit\n className=\"mt-1 justify-self-start\"\n disabled={isSubmitting || selected.length === 0}\n onClick={() => onSubmit(selected)}\n >\n Submit answer\n </AskUserSubmit>\n </div>\n ) : (\n <RadioGroup\n aria-labelledby={fieldId}\n disabled={isSubmitting}\n value={selected[0] ?? null}\n onValueChange={value => {\n const label = String(value);\n setSelected([label]);\n onSubmit(label);\n }}\n >\n {options.map(option => (\n <AskUserOptionRow\n key={option.label}\n label={option.label}\n description={option.description}\n disabled={isSubmitting}\n control={<RadioGroupItem className=\"mt-0.5\" value={option.label} />}\n />\n ))}\n </RadioGroup>\n )}\n {isSubmitting ? <AskUserPending className=\"mt-3 block\" /> : null}\n {footer}\n </AskUserBody>\n </AskUserContainer>\n );\n};\n\nexport const AskUser = ({ payload, ...props }: AskUserProps) => {\n const options = validOptions(payload.options);\n const payloadKey = JSON.stringify([payload.question, options.map(option => option.label), payload.selectionMode]);\n\n return <AskUserInput key={payloadKey} payload={payload} options={options} {...props} />;\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask-user-C-B3dhNP.js","sources":["../src/ds/components/ai/ask-user/ask-user.tsx"],"sourcesContent":["import { Check, MessageCircleQuestion } from 'lucide-react';\nimport { useId, useState } from 'react';\nimport type { ComponentProps, KeyboardEvent, ReactNode } from 'react';\nimport { Badge } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { Checkbox } from '@/ds/components/Checkbox';\nimport { Input } from '@/ds/components/Input';\nimport { RadioGroup, RadioGroupItem } from '@/ds/components/RadioGroup';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport type AskUserSelectionMode = 'single_select' | 'multi_select';\nexport type AskUserAnswer = string | string[];\n\nexport interface AskUserOption {\n label: string;\n description?: string;\n}\n\nexport interface AskUserPayload {\n question: string;\n options?: AskUserOption[];\n selectionMode?: AskUserSelectionMode;\n}\n\nexport interface AskUserResult {\n content: string;\n isError?: boolean;\n}\n\nexport const AskUserContainer = ({ className, ...props }: ComponentProps<'div'>) => (\n <div\n data-slot=\"ask-user\"\n className={cn(raisedSurfaceStyle, 'w-full overflow-hidden rounded-xl', className)}\n {...props}\n />\n);\n\nexport const AskUserLabel = ({ children = 'Question', className, ...props }: ComponentProps<'div'>) => (\n <div data-slot=\"ask-user-label\" className={cn('flex min-h-10 items-center gap-2 px-4 pt-3', className)} {...props}>\n <Icon size=\"xs\" className=\"text-muted-foreground\">\n <MessageCircleQuestion />\n </Icon>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\">\n {children}\n </Txt>\n </div>\n);\n\nexport const AskUserBody = ({ className, ...props }: ComponentProps<'div'>) => (\n <div data-slot=\"ask-user-body\" className={cn('px-4 pt-1 pb-4', className)} {...props} />\n);\n\nexport const AskUserQuestion = ({ className, ...props }: ComponentProps<typeof Txt>) => (\n <Txt as=\"p\" variant=\"subheading\" tone=\"ink\" {...props} className={cn('mb-3', className)} />\n);\n\nexport interface AskUserOptionRowProps extends Omit<ComponentProps<'label'>, 'children'> {\n control: ReactNode;\n label: string;\n description?: string;\n disabled?: boolean;\n}\n\nexport const AskUserOptionRow = ({\n control,\n label,\n description,\n disabled = false,\n className,\n ...props\n}: AskUserOptionRowProps) => (\n <label\n // state-layer's wash only stops at :disabled/aria-disabled, and a <label> is neither\n aria-disabled={disabled || undefined}\n className={cn(\n 'state-layer flex items-start gap-2.5 rounded-lg bg-fill px-3 py-2',\n disabled ? 'cursor-not-allowed opacity-50' : 'cursor-pointer',\n className,\n )}\n {...props}\n >\n {control}\n <span className=\"grid gap-0.5\">\n <Txt as=\"span\" variant=\"body\" tone=\"ink\">\n {label}\n </Txt>\n {description ? (\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\">\n {description}\n </Txt>\n ) : null}\n </span>\n </label>\n);\n\nexport type AskUserSubmitProps = Omit<ComponentProps<typeof Button>, 'children'> & { children?: ReactNode };\n\nexport const AskUserSubmit = ({ children = 'Submit answer', ...props }: AskUserSubmitProps) => (\n <Button icon={<Check />} type=\"button\" size=\"sm\" variant=\"primary\" {...props}>\n {children}\n </Button>\n);\n\nexport const AskUserPending = ({ children = 'Submitting…', ...props }: ComponentProps<typeof Txt>) => (\n <Txt as=\"span\" role=\"status\" variant=\"caption\" tone=\"muted\" {...props}>\n {children}\n </Txt>\n);\n\nexport interface AskUserOutputProps extends ComponentProps<'div'> {\n result: AskUserResult;\n}\n\nexport const AskUserOutput = ({ result, className, ...props }: AskUserOutputProps) => (\n <div\n data-slot=\"ask-user-output\"\n role={result.isError ? 'alert' : 'status'}\n className={cn('grid gap-2 rounded-lg bg-fill p-3', className)}\n {...props}\n >\n <Badge size=\"xs\" variant={result.isError ? 'red' : 'green'} className=\"justify-self-start\">\n {result.isError ? 'Error' : 'Answered'}\n </Badge>\n <Txt as=\"p\" variant=\"body\" tone=\"ink\" className={cn(result.isError && 'text-error')}>\n {result.content}\n </Txt>\n </div>\n);\n\nexport interface AskUserProps extends Omit<ComponentProps<typeof AskUserContainer>, 'children' | 'onSubmit'> {\n payload: AskUserPayload;\n result?: AskUserResult;\n isAnswered?: boolean;\n isSubmitting?: boolean;\n onSubmit: (answer: AskUserAnswer) => void;\n footer?: ReactNode;\n}\n\nconst validOptions = (options: AskUserPayload['options']): AskUserOption[] =>\n options?.filter((option): option is AskUserOption =>\n Boolean(option && typeof option.label === 'string' && option.label),\n ) ?? [];\n\ninterface AskUserInputProps extends AskUserProps {\n options: AskUserOption[];\n}\n\nconst AskUserInput = ({\n payload,\n options,\n result,\n isAnswered = false,\n isSubmitting = false,\n onSubmit,\n footer,\n ...props\n}: AskUserInputProps) => {\n const fieldId = useId();\n const [text, setText] = useState('');\n const [selected, setSelected] = useState<string[]>([]);\n\n if (result || isAnswered) {\n return (\n <AskUserContainer data-testid=\"ask-user\" {...props}>\n <AskUserLabel />\n <AskUserBody>\n <AskUserQuestion>{payload.question}</AskUserQuestion>\n {result ? <AskUserOutput result={result} /> : <Badge variant=\"green\">Answered</Badge>}\n </AskUserBody>\n </AskUserContainer>\n );\n }\n\n const submitText = () => {\n const answer = text.trim();\n if (answer && !isSubmitting) onSubmit(answer);\n };\n\n const handleTextKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n submitText();\n }\n };\n\n if (options.length === 0) {\n return (\n <AskUserContainer data-testid=\"ask-user\" {...props}>\n <AskUserLabel />\n <AskUserBody>\n <AskUserQuestion as=\"label\" htmlFor={fieldId} className=\"mb-2 block\">\n {payload.question}\n </AskUserQuestion>\n <div className=\"flex items-center gap-2\">\n <Input\n id={fieldId}\n value={text}\n onChange={event => setText(event.target.value)}\n onKeyDown={handleTextKeyDown}\n placeholder=\"Type your answer...\"\n disabled={isSubmitting}\n size=\"sm\"\n />\n <AskUserSubmit\n className=\"shrink-0 whitespace-nowrap\"\n disabled={isSubmitting || !text.trim()}\n onClick={submitText}\n />\n </div>\n {isSubmitting ? <AskUserPending className=\"mt-2 block\" /> : null}\n {footer}\n </AskUserBody>\n </AskUserContainer>\n );\n }\n\n const isMulti = payload.selectionMode === 'multi_select';\n\n return (\n <AskUserContainer data-testid=\"ask-user\" {...props}>\n <AskUserLabel />\n <AskUserBody>\n <AskUserQuestion id={fieldId}>{payload.question}</AskUserQuestion>\n {isMulti ? (\n <div role=\"group\" aria-labelledby={fieldId} className=\"grid gap-2\">\n {options.map(option => (\n <AskUserOptionRow\n key={option.label}\n label={option.label}\n description={option.description}\n disabled={isSubmitting}\n control={\n <Checkbox\n className=\"mt-0.5\"\n disabled={isSubmitting}\n checked={selected.includes(option.label)}\n onCheckedChange={() =>\n setSelected(current =>\n current.includes(option.label)\n ? current.filter(selectedLabel => selectedLabel !== option.label)\n : [...current, option.label],\n )\n }\n />\n }\n />\n ))}\n <AskUserSubmit\n className=\"mt-1 justify-self-start\"\n disabled={isSubmitting || selected.length === 0}\n onClick={() => onSubmit(selected)}\n >\n Submit answer\n </AskUserSubmit>\n </div>\n ) : (\n <RadioGroup\n aria-labelledby={fieldId}\n disabled={isSubmitting}\n value={selected[0] ?? null}\n onValueChange={value => {\n const label = String(value);\n setSelected([label]);\n onSubmit(label);\n }}\n >\n {options.map(option => (\n <AskUserOptionRow\n key={option.label}\n label={option.label}\n description={option.description}\n disabled={isSubmitting}\n control={<RadioGroupItem className=\"mt-0.5\" value={option.label} />}\n />\n ))}\n </RadioGroup>\n )}\n {isSubmitting ? <AskUserPending className=\"mt-3 block\" /> : null}\n {footer}\n </AskUserBody>\n </AskUserContainer>\n );\n};\n\nexport const AskUser = ({ payload, ...props }: AskUserProps) => {\n const options = validOptions(payload.options);\n const payloadKey = JSON.stringify([payload.question, options.map(option => option.label), payload.selectionMode]);\n\n return <AskUserInput key={payloadKey} payload={payload} options={options} {...props} />;\n};\n"],"names":[],"mappings":"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"}
@@ -188,7 +188,7 @@
188
188
  /* The ring colour above ties a segment's own `focus-visible:` border on specificity and
189
189
  wins on source order, so the group repaints the focus edge itself — at the weight the
190
190
  segment focuses at alone: a raised surface moves its rim to `--surface-rim-focus`,
191
- not the `--border-focus` a bare outline needs. */
191
+ not the `--border-focus` a bare border needs. */
192
192
  [data-slot='buttons-group'] {
193
193
  --segment-focus-edge: var(--border-focus);
194
194
  }
@@ -202,7 +202,7 @@
202
202
  }
203
203
 
204
204
  /* A segment's leading edge is its neighbour's border, so a state that recolours the
205
- segment's own border (focus everywhere, hover on `outline`) lights three sides only.
205
+ segment's own border (focus) lights three sides only.
206
206
  The neighbour that owns the seam takes the state colour for it. */
207
207
  [data-slot='buttons-group'][data-orientation='horizontal'] > :has(+ :focus-visible, + * :focus-visible) {
208
208
  border-right-color: var(--segment-focus-edge);
@@ -211,16 +211,4 @@
211
211
  [data-slot='buttons-group'][data-orientation='vertical'] > :has(+ :focus-visible, + * :focus-visible) {
212
212
  border-bottom-color: var(--segment-focus-edge);
213
213
  }
214
-
215
- @media (hover: hover) {
216
- [data-slot='buttons-group'][data-orientation='horizontal']
217
- > :has(+ [data-variant='outline']:not(:disabled, :focus-visible):hover) {
218
- border-right-color: var(--border-hover);
219
- }
220
-
221
- [data-slot='buttons-group'][data-orientation='vertical']
222
- > :has(+ [data-variant='outline']:not(:disabled, :focus-visible):hover) {
223
- border-bottom-color: var(--border-hover);
224
- }
225
- }
226
214
  }
@@ -7,7 +7,7 @@ import { c as cn } from './cn-65Adrsfj.js';
7
7
  import { truncateString } from './utils/truncate-string.es.js';
8
8
  import { getNotificationNoticeVariant } from './domains/chat/messages/notification-signal-notice-variant.es.js';
9
9
  import { B as Badge } from './Badge-TD55_qZJ.js';
10
- import { N as Notice } from './Notice-KC18b8Nd.js';
10
+ import { N as Notice } from './Notice-WT8G4OA6.js';
11
11
 
12
12
  function ChatEventDetail({ children }) {
13
13
  const arriving = useArriving();
@@ -104,4 +104,4 @@ function NotificationLink({ link, message }) {
104
104
  }
105
105
 
106
106
  export { ChatNotification as C, ChatEvent as a, chatEventPreview as c };
107
- //# sourceMappingURL=chat-notification-DeKD1Ifx.js.map
107
+ //# sourceMappingURL=chat-notification-CmdRGO_D.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-notification-DeKD1Ifx.js","sources":["../src/ds/components/ai/chat-event/chat-event.tsx","../src/ds/components/ai/chat-event/chat-event-preview.ts","../src/ds/components/ai/chat-event/chat-notification.tsx"],"sourcesContent":["import { ChevronRight } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { useArriving } from '@/ds/components/Arrival';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\ninterface ChatEventProps {\n label: string;\n detail?: string;\n icon: ReactNode;\n children?: ReactNode;\n defaultOpen?: boolean;\n 'aria-label': string;\n 'data-signal-kind'?: string;\n 'data-notification-state'?: string;\n 'data-skill-name'?: string;\n}\n\nfunction ChatEventDetail({ children }: { children: string }) {\n const arriving = useArriving();\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" font=\"mono\" className={cn('min-w-0 truncate', arriving)}>\n {children}\n </Txt>\n );\n}\n\nexport function ChatEvent({ label, detail, icon, children, defaultOpen, ...props }: ChatEventProps) {\n const header = (\n <span className=\"flex w-full min-w-0 items-center gap-2 px-1.5 py-1\">\n <span className=\"flex size-4 shrink-0 items-center justify-center\">{icon}</span>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" className=\"max-w-[55%] shrink-0 truncate\">\n {label}\n </Txt>\n {detail && <ChatEventDetail>{detail}</ChatEventDetail>}\n <span aria-hidden className=\"min-w-2 flex-1\" />\n <span aria-hidden className=\"flex size-4 shrink-0 items-center justify-center\">\n {children && (\n <span className=\"flex text-muted-foreground opacity-0 group-hover/event:opacity-100 group-focus-visible/event:opacity-100 group-data-[panel-open]/event:rotate-90 group-data-[panel-open]/event:opacity-100 motion-safe:transition motion-safe:duration-150\">\n <ChevronRight size={13} />\n </span>\n )}\n </span>\n </span>\n );\n\n if (!children) {\n return (\n <div className=\"max-w-full min-w-0\" role=\"group\" {...props}>\n {header}\n </div>\n );\n }\n\n return (\n <Collapsible defaultOpen={defaultOpen} className=\"max-w-full min-w-0\" role=\"group\" {...props}>\n <CollapsibleTrigger className=\"group/event w-full cursor-pointer rounded-md text-left hover:bg-fill motion-safe:transition-colors\">\n {header}\n </CollapsibleTrigger>\n <CollapsibleContent className=\"max-w-full min-w-0\">\n <div className=\"relative ml-[14px] max-w-full min-w-0 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 {children}\n </div>\n </CollapsibleContent>\n </Collapsible>\n );\n}\n","import { truncateString } from '@/lib/truncate-string';\n\nexport function chatEventPreview(message: string): string {\n return truncateString(message, 72);\n}\n","import { Bell, ExternalLink } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { ChatEvent } from './chat-event';\nimport { chatEventPreview } from './chat-event-preview';\nimport { getNotificationNoticeVariant } from './notification-variant';\nimport { Badge } from '@/ds/components/Badge';\nimport { Notice } from '@/ds/components/Notice';\nimport { Txt } from '@/ds/components/Txt';\n\nexport interface ChatNotificationProps {\n label: string;\n message: string;\n variant?: 'row' | 'notice';\n state?: string;\n icon?: ReactNode;\n priority?: string;\n status?: string;\n pending?: string;\n link?: { href: string; label: string };\n defaultOpen?: boolean;\n}\n\nexport function ChatNotification({\n label,\n message,\n variant = 'row',\n state = 'notification',\n icon,\n priority,\n status,\n pending,\n link,\n defaultOpen,\n}: ChatNotificationProps) {\n if (variant === 'notice') {\n const hasContent = Boolean(priority || status || pending || message || link);\n return (\n <Notice\n variant={getNotificationNoticeVariant(priority)}\n title={label}\n icon={icon ?? <Bell />}\n className=\"my-2 max-w-[80%]\"\n >\n {hasContent && (\n <div className=\"flex flex-col gap-2\">\n {(priority || status || pending) && (\n <div className=\"flex flex-wrap items-center gap-2\">\n {priority && <Badge size=\"xs\">{priority}</Badge>}\n {status && <Badge size=\"xs\">{status}</Badge>}\n {pending && <Badge size=\"xs\">{pending} pending</Badge>}\n </div>\n )}\n {message && <Notice.Message className=\"break-words whitespace-pre-wrap\">{message}</Notice.Message>}\n {link && <NotificationLink link={link} message={message} />}\n </div>\n )}\n </Notice>\n );\n }\n\n return (\n <ChatEvent\n label={label}\n detail={chatEventPreview(message)}\n icon={icon ?? <Bell size={13} className=\"text-warning1\" aria-hidden />}\n defaultOpen={defaultOpen}\n data-notification-state={state}\n aria-label={`Notification: ${label}`}\n >\n <div className=\"flex flex-col gap-2\">\n <Txt variant=\"caption\">{message}</Txt>\n {link && <NotificationLink link={link} message={message} />}\n </div>\n </ChatEvent>\n );\n}\n\nfunction NotificationLink({ link, message }: { link: NonNullable<ChatNotificationProps['link']>; message: string }) {\n return (\n <a\n href={link.href}\n target=\"_blank\"\n rel=\"noreferrer\"\n aria-label={`Open notification target: ${message}`}\n className=\"flex w-fit items-center gap-1 text-meta text-muted-foreground hover:text-foreground\"\n >\n {link.label}\n <ExternalLink size={12} aria-hidden />\n </a>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-notification-CmdRGO_D.js","sources":["../src/ds/components/ai/chat-event/chat-event.tsx","../src/ds/components/ai/chat-event/chat-event-preview.ts","../src/ds/components/ai/chat-event/chat-notification.tsx"],"sourcesContent":["import { ChevronRight } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { useArriving } from '@/ds/components/Arrival';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\ninterface ChatEventProps {\n label: string;\n detail?: string;\n icon: ReactNode;\n children?: ReactNode;\n defaultOpen?: boolean;\n 'aria-label': string;\n 'data-signal-kind'?: string;\n 'data-notification-state'?: string;\n 'data-skill-name'?: string;\n}\n\nfunction ChatEventDetail({ children }: { children: string }) {\n const arriving = useArriving();\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" font=\"mono\" className={cn('min-w-0 truncate', arriving)}>\n {children}\n </Txt>\n );\n}\n\nexport function ChatEvent({ label, detail, icon, children, defaultOpen, ...props }: ChatEventProps) {\n const header = (\n <span className=\"flex w-full min-w-0 items-center gap-2 px-1.5 py-1\">\n <span className=\"flex size-4 shrink-0 items-center justify-center\">{icon}</span>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" className=\"max-w-[55%] shrink-0 truncate\">\n {label}\n </Txt>\n {detail && <ChatEventDetail>{detail}</ChatEventDetail>}\n <span aria-hidden className=\"min-w-2 flex-1\" />\n <span aria-hidden className=\"flex size-4 shrink-0 items-center justify-center\">\n {children && (\n <span className=\"flex text-muted-foreground opacity-0 group-hover/event:opacity-100 group-focus-visible/event:opacity-100 group-data-[panel-open]/event:rotate-90 group-data-[panel-open]/event:opacity-100 motion-safe:transition motion-safe:duration-150\">\n <ChevronRight size={13} />\n </span>\n )}\n </span>\n </span>\n );\n\n if (!children) {\n return (\n <div className=\"max-w-full min-w-0\" role=\"group\" {...props}>\n {header}\n </div>\n );\n }\n\n return (\n <Collapsible defaultOpen={defaultOpen} className=\"max-w-full min-w-0\" role=\"group\" {...props}>\n <CollapsibleTrigger className=\"group/event w-full cursor-pointer rounded-md text-left hover:bg-fill motion-safe:transition-colors\">\n {header}\n </CollapsibleTrigger>\n <CollapsibleContent className=\"max-w-full min-w-0\">\n <div className=\"relative ml-[14px] max-w-full min-w-0 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 {children}\n </div>\n </CollapsibleContent>\n </Collapsible>\n );\n}\n","import { truncateString } from '@/lib/truncate-string';\n\nexport function chatEventPreview(message: string): string {\n return truncateString(message, 72);\n}\n","import { Bell, ExternalLink } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { ChatEvent } from './chat-event';\nimport { chatEventPreview } from './chat-event-preview';\nimport { getNotificationNoticeVariant } from './notification-variant';\nimport { Badge } from '@/ds/components/Badge';\nimport { Notice } from '@/ds/components/Notice';\nimport { Txt } from '@/ds/components/Txt';\n\nexport interface ChatNotificationProps {\n label: string;\n message: string;\n variant?: 'row' | 'notice';\n state?: string;\n icon?: ReactNode;\n priority?: string;\n status?: string;\n pending?: string;\n link?: { href: string; label: string };\n defaultOpen?: boolean;\n}\n\nexport function ChatNotification({\n label,\n message,\n variant = 'row',\n state = 'notification',\n icon,\n priority,\n status,\n pending,\n link,\n defaultOpen,\n}: ChatNotificationProps) {\n if (variant === 'notice') {\n const hasContent = Boolean(priority || status || pending || message || link);\n return (\n <Notice\n variant={getNotificationNoticeVariant(priority)}\n title={label}\n icon={icon ?? <Bell />}\n className=\"my-2 max-w-[80%]\"\n >\n {hasContent && (\n <div className=\"flex flex-col gap-2\">\n {(priority || status || pending) && (\n <div className=\"flex flex-wrap items-center gap-2\">\n {priority && <Badge size=\"xs\">{priority}</Badge>}\n {status && <Badge size=\"xs\">{status}</Badge>}\n {pending && <Badge size=\"xs\">{pending} pending</Badge>}\n </div>\n )}\n {message && <Notice.Message className=\"break-words whitespace-pre-wrap\">{message}</Notice.Message>}\n {link && <NotificationLink link={link} message={message} />}\n </div>\n )}\n </Notice>\n );\n }\n\n return (\n <ChatEvent\n label={label}\n detail={chatEventPreview(message)}\n icon={icon ?? <Bell size={13} className=\"text-warning1\" aria-hidden />}\n defaultOpen={defaultOpen}\n data-notification-state={state}\n aria-label={`Notification: ${label}`}\n >\n <div className=\"flex flex-col gap-2\">\n <Txt variant=\"caption\">{message}</Txt>\n {link && <NotificationLink link={link} message={message} />}\n </div>\n </ChatEvent>\n );\n}\n\nfunction NotificationLink({ link, message }: { link: NonNullable<ChatNotificationProps['link']>; message: string }) {\n return (\n <a\n href={link.href}\n target=\"_blank\"\n rel=\"noreferrer\"\n aria-label={`Open notification target: ${message}`}\n className=\"flex w-fit items-center gap-1 text-meta text-muted-foreground hover:text-foreground\"\n >\n {link.label}\n <ExternalLink size={12} aria-hidden />\n </a>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ const utils_cn = require('./cn-DG0X1KEP.cjs');
9
9
  const utils_truncateString = require('./utils/truncate-string.cjs.js');
10
10
  const domains_chat_messages_notificationSignalNoticeVariant = require('./domains/chat/messages/notification-signal-notice-variant.cjs.js');
11
11
  const Badge = require('./Badge-BEeYtjmv.cjs');
12
- const Notice = require('./Notice-CPyYcX5J.cjs');
12
+ const Notice = require('./Notice-AUNd8fqT.cjs');
13
13
 
14
14
  function ChatEventDetail({ children }) {
15
15
  const arriving = useWatched.useArriving();
@@ -108,4 +108,4 @@ function NotificationLink({ link, message }) {
108
108
  exports.ChatEvent = ChatEvent;
109
109
  exports.ChatNotification = ChatNotification;
110
110
  exports.chatEventPreview = chatEventPreview;
111
- //# sourceMappingURL=chat-notification-C5Ox5tuS.cjs.map
111
+ //# sourceMappingURL=chat-notification-DJykWtoj.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-notification-C5Ox5tuS.cjs","sources":["../src/ds/components/ai/chat-event/chat-event.tsx","../src/ds/components/ai/chat-event/chat-event-preview.ts","../src/ds/components/ai/chat-event/chat-notification.tsx"],"sourcesContent":["import { ChevronRight } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { useArriving } from '@/ds/components/Arrival';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\ninterface ChatEventProps {\n label: string;\n detail?: string;\n icon: ReactNode;\n children?: ReactNode;\n defaultOpen?: boolean;\n 'aria-label': string;\n 'data-signal-kind'?: string;\n 'data-notification-state'?: string;\n 'data-skill-name'?: string;\n}\n\nfunction ChatEventDetail({ children }: { children: string }) {\n const arriving = useArriving();\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" font=\"mono\" className={cn('min-w-0 truncate', arriving)}>\n {children}\n </Txt>\n );\n}\n\nexport function ChatEvent({ label, detail, icon, children, defaultOpen, ...props }: ChatEventProps) {\n const header = (\n <span className=\"flex w-full min-w-0 items-center gap-2 px-1.5 py-1\">\n <span className=\"flex size-4 shrink-0 items-center justify-center\">{icon}</span>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" className=\"max-w-[55%] shrink-0 truncate\">\n {label}\n </Txt>\n {detail && <ChatEventDetail>{detail}</ChatEventDetail>}\n <span aria-hidden className=\"min-w-2 flex-1\" />\n <span aria-hidden className=\"flex size-4 shrink-0 items-center justify-center\">\n {children && (\n <span className=\"flex text-muted-foreground opacity-0 group-hover/event:opacity-100 group-focus-visible/event:opacity-100 group-data-[panel-open]/event:rotate-90 group-data-[panel-open]/event:opacity-100 motion-safe:transition motion-safe:duration-150\">\n <ChevronRight size={13} />\n </span>\n )}\n </span>\n </span>\n );\n\n if (!children) {\n return (\n <div className=\"max-w-full min-w-0\" role=\"group\" {...props}>\n {header}\n </div>\n );\n }\n\n return (\n <Collapsible defaultOpen={defaultOpen} className=\"max-w-full min-w-0\" role=\"group\" {...props}>\n <CollapsibleTrigger className=\"group/event w-full cursor-pointer rounded-md text-left hover:bg-fill motion-safe:transition-colors\">\n {header}\n </CollapsibleTrigger>\n <CollapsibleContent className=\"max-w-full min-w-0\">\n <div className=\"relative ml-[14px] max-w-full min-w-0 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 {children}\n </div>\n </CollapsibleContent>\n </Collapsible>\n );\n}\n","import { truncateString } from '@/lib/truncate-string';\n\nexport function chatEventPreview(message: string): string {\n return truncateString(message, 72);\n}\n","import { Bell, ExternalLink } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { ChatEvent } from './chat-event';\nimport { chatEventPreview } from './chat-event-preview';\nimport { getNotificationNoticeVariant } from './notification-variant';\nimport { Badge } from '@/ds/components/Badge';\nimport { Notice } from '@/ds/components/Notice';\nimport { Txt } from '@/ds/components/Txt';\n\nexport interface ChatNotificationProps {\n label: string;\n message: string;\n variant?: 'row' | 'notice';\n state?: string;\n icon?: ReactNode;\n priority?: string;\n status?: string;\n pending?: string;\n link?: { href: string; label: string };\n defaultOpen?: boolean;\n}\n\nexport function ChatNotification({\n label,\n message,\n variant = 'row',\n state = 'notification',\n icon,\n priority,\n status,\n pending,\n link,\n defaultOpen,\n}: ChatNotificationProps) {\n if (variant === 'notice') {\n const hasContent = Boolean(priority || status || pending || message || link);\n return (\n <Notice\n variant={getNotificationNoticeVariant(priority)}\n title={label}\n icon={icon ?? <Bell />}\n className=\"my-2 max-w-[80%]\"\n >\n {hasContent && (\n <div className=\"flex flex-col gap-2\">\n {(priority || status || pending) && (\n <div className=\"flex flex-wrap items-center gap-2\">\n {priority && <Badge size=\"xs\">{priority}</Badge>}\n {status && <Badge size=\"xs\">{status}</Badge>}\n {pending && <Badge size=\"xs\">{pending} pending</Badge>}\n </div>\n )}\n {message && <Notice.Message className=\"break-words whitespace-pre-wrap\">{message}</Notice.Message>}\n {link && <NotificationLink link={link} message={message} />}\n </div>\n )}\n </Notice>\n );\n }\n\n return (\n <ChatEvent\n label={label}\n detail={chatEventPreview(message)}\n icon={icon ?? <Bell size={13} className=\"text-warning1\" aria-hidden />}\n defaultOpen={defaultOpen}\n data-notification-state={state}\n aria-label={`Notification: ${label}`}\n >\n <div className=\"flex flex-col gap-2\">\n <Txt variant=\"caption\">{message}</Txt>\n {link && <NotificationLink link={link} message={message} />}\n </div>\n </ChatEvent>\n );\n}\n\nfunction NotificationLink({ link, message }: { link: NonNullable<ChatNotificationProps['link']>; message: string }) {\n return (\n <a\n href={link.href}\n target=\"_blank\"\n rel=\"noreferrer\"\n aria-label={`Open notification target: ${message}`}\n className=\"flex w-fit items-center gap-1 text-meta text-muted-foreground hover:text-foreground\"\n >\n {link.label}\n <ExternalLink size={12} aria-hidden />\n </a>\n );\n}\n"],"names":["useArriving","jsx","Txt","cn","jsxs","ChevronRight","Collapsible","CollapsibleTrigger","CollapsibleContent","truncateString","Notice","getNotificationNoticeVariant","Bell","Badge","ExternalLink"],"mappings":";;;;;;;;;;;;;AAmBA,SAAS,eAAA,CAAgB,EAAE,QAAA,EAAS,EAAyB;AAC3D,EAAA,MAAM,WAAWA,sBAAA,EAAY;AAC7B,EAAA,uBACEC,cAAA,CAACC,OAAA,EAAA,EAAI,EAAA,EAAG,MAAA,EAAO,SAAQ,MAAA,EAAO,IAAA,EAAK,OAAA,EAAQ,IAAA,EAAK,QAAO,SAAA,EAAWC,WAAA,CAAG,kBAAA,EAAoB,QAAQ,GAC9F,QAAA,EACH,CAAA;AAEJ;AAEO,SAAS,SAAA,CAAU,EAAE,KAAA,EAAO,MAAA,EAAQ,MAAM,QAAA,EAAU,WAAA,EAAa,GAAG,KAAA,EAAM,EAAmB;AAClG,EAAA,MAAM,MAAA,mBACJC,eAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,oDAAA,EACd,QAAA,EAAA;AAAA,oBAAAH,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,kDAAA,EAAoD,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,oBACzEA,cAAA,CAACC,OAAA,EAAA,EAAI,EAAA,EAAG,MAAA,EAAO,OAAA,EAAQ,WAAU,IAAA,EAAK,OAAA,EAAQ,SAAA,EAAU,+BAAA,EACrD,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,IACC,MAAA,oBAAUD,cAAA,CAAC,eAAA,EAAA,EAAiB,QAAA,EAAA,MAAA,EAAO,CAAA;AAAA,oBACpCA,cAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAW,IAAA,EAAC,WAAU,gBAAA,EAAiB,CAAA;AAAA,mCAC5C,MAAA,EAAA,EAAK,aAAA,EAAW,IAAA,EAAC,SAAA,EAAU,oDACzB,QAAA,EAAA,QAAA,oBACCA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,8OACd,QAAA,kBAAAA,cAAA,CAACI,wBAAA,EAAA,EAAa,IAAA,EAAM,EAAA,EAAI,GAC1B,CAAA,EAEJ;AAAA,GAAA,EACF,CAAA;AAGF,EAAA,IAAI,CAAC,QAAA,EAAU;AACb,IAAA,uBACEJ,cAAA,CAAC,SAAI,SAAA,EAAU,oBAAA,EAAqB,MAAK,OAAA,EAAS,GAAG,OAClD,QAAA,EAAA,MAAA,EACH,CAAA;AAAA,EAEJ;AAEA,EAAA,uBACEG,eAAA,CAACE,2BAAY,WAAA,EAA0B,SAAA,EAAU,sBAAqB,IAAA,EAAK,OAAA,EAAS,GAAG,KAAA,EACrF,QAAA,EAAA;AAAA,oBAAAL,cAAA,CAACM,8BAAA,EAAA,EAAmB,SAAA,EAAU,oGAAA,EAC3B,QAAA,EAAA,MAAA,EACH,CAAA;AAAA,oBACAN,cAAA,CAACO,kCAAmB,SAAA,EAAU,oBAAA,EAC5B,yCAAC,KAAA,EAAA,EAAI,SAAA,EAAU,sMAAA,EACZ,QAAA,EACH,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;ACjEO,SAAS,iBAAiB,OAAA,EAAyB;AACxD,EAAA,OAAOC,mCAAA,CAAe,SAAS,EAAE,CAAA;AACnC;;ACkBO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,KAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA,GAAU,KAAA;AAAA,EACV,KAAA,GAAQ,cAAA;AAAA,EACR,IAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,IAAI,YAAY,QAAA,EAAU;AACxB,IAAA,MAAM,aAAa,OAAA,CAAQ,QAAA,IAAY,MAAA,IAAU,OAAA,IAAW,WAAW,IAAI,CAAA;AAC3E,IAAA,uBACER,cAAA;AAAA,MAACS,aAAA;AAAA,MAAA;AAAA,QACC,OAAA,EAASC,mFAA6B,QAAQ,CAAA;AAAA,QAC9C,KAAA,EAAO,KAAA;AAAA,QACP,IAAA,EAAM,IAAA,oBAAQV,cAAA,CAACW,gBAAA,EAAA,EAAK,CAAA;AAAA,QACpB,SAAA,EAAU,kBAAA;AAAA,QAET,QAAA,EAAA,UAAA,oBACCR,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qBAAA,EACX,QAAA,EAAA;AAAA,UAAA,CAAA,QAAA,IAAY,MAAA,IAAU,OAAA,qBACtBA,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,mCAAA,EACZ,QAAA,EAAA;AAAA,YAAA,QAAA,oBAAYH,cAAA,CAACY,WAAA,EAAA,EAAM,IAAA,EAAK,IAAA,EAAM,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,YACvC,MAAA,oBAAUZ,cAAA,CAACY,WAAA,EAAA,EAAM,IAAA,EAAK,MAAM,QAAA,EAAA,MAAA,EAAO,CAAA;AAAA,YACnC,OAAA,oBAAWT,eAAA,CAACS,WAAA,EAAA,EAAM,IAAA,EAAK,IAAA,EAAM,QAAA,EAAA;AAAA,cAAA,OAAA;AAAA,cAAQ;AAAA,aAAA,EAAQ;AAAA,WAAA,EAChD,CAAA;AAAA,UAED,2BAAWZ,cAAA,CAACS,aAAA,CAAO,SAAP,EAAe,SAAA,EAAU,mCAAmC,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,UAChF,IAAA,oBAAQT,cAAA,CAAC,gBAAA,EAAA,EAAiB,IAAA,EAAY,OAAA,EAAkB;AAAA,SAAA,EAC3D;AAAA;AAAA,KAEJ;AAAA,EAEJ;AAEA,EAAA,uBACEA,cAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,MAAA,EAAQ,iBAAiB,OAAO,CAAA;AAAA,MAChC,IAAA,EAAM,wBAAQA,cAAA,CAACW,gBAAA,EAAA,EAAK,MAAM,EAAA,EAAI,SAAA,EAAU,eAAA,EAAgB,aAAA,EAAW,IAAA,EAAC,CAAA;AAAA,MACpE,WAAA;AAAA,MACA,yBAAA,EAAyB,KAAA;AAAA,MACzB,YAAA,EAAY,iBAAiB,KAAK,CAAA,CAAA;AAAA,MAElC,QAAA,kBAAAR,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qBAAA,EACb,QAAA,EAAA;AAAA,wBAAAH,cAAA,CAACC,OAAA,EAAA,EAAI,OAAA,EAAQ,SAAA,EAAW,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,QAC/B,IAAA,oBAAQD,cAAA,CAAC,gBAAA,EAAA,EAAiB,IAAA,EAAY,OAAA,EAAkB;AAAA,OAAA,EAC3D;AAAA;AAAA,GACF;AAEJ;AAEA,SAAS,gBAAA,CAAiB,EAAE,IAAA,EAAM,OAAA,EAAQ,EAA0E;AAClH,EAAA,uBACEG,eAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,MAAM,IAAA,CAAK,IAAA;AAAA,MACX,MAAA,EAAO,QAAA;AAAA,MACP,GAAA,EAAI,YAAA;AAAA,MACJ,YAAA,EAAY,6BAA6B,OAAO,CAAA,CAAA;AAAA,MAChD,SAAA,EAAU,qFAAA;AAAA,MAET,QAAA,EAAA;AAAA,QAAA,IAAA,CAAK,KAAA;AAAA,wBACNH,cAAA,CAACa,wBAAA,EAAA,EAAa,IAAA,EAAM,EAAA,EAAI,eAAW,IAAA,EAAC;AAAA;AAAA;AAAA,GACtC;AAEJ;;;;;;"}
1
+ {"version":3,"file":"chat-notification-DJykWtoj.cjs","sources":["../src/ds/components/ai/chat-event/chat-event.tsx","../src/ds/components/ai/chat-event/chat-event-preview.ts","../src/ds/components/ai/chat-event/chat-notification.tsx"],"sourcesContent":["import { ChevronRight } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { useArriving } from '@/ds/components/Arrival';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\ninterface ChatEventProps {\n label: string;\n detail?: string;\n icon: ReactNode;\n children?: ReactNode;\n defaultOpen?: boolean;\n 'aria-label': string;\n 'data-signal-kind'?: string;\n 'data-notification-state'?: string;\n 'data-skill-name'?: string;\n}\n\nfunction ChatEventDetail({ children }: { children: string }) {\n const arriving = useArriving();\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" font=\"mono\" className={cn('min-w-0 truncate', arriving)}>\n {children}\n </Txt>\n );\n}\n\nexport function ChatEvent({ label, detail, icon, children, defaultOpen, ...props }: ChatEventProps) {\n const header = (\n <span className=\"flex w-full min-w-0 items-center gap-2 px-1.5 py-1\">\n <span className=\"flex size-4 shrink-0 items-center justify-center\">{icon}</span>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" className=\"max-w-[55%] shrink-0 truncate\">\n {label}\n </Txt>\n {detail && <ChatEventDetail>{detail}</ChatEventDetail>}\n <span aria-hidden className=\"min-w-2 flex-1\" />\n <span aria-hidden className=\"flex size-4 shrink-0 items-center justify-center\">\n {children && (\n <span className=\"flex text-muted-foreground opacity-0 group-hover/event:opacity-100 group-focus-visible/event:opacity-100 group-data-[panel-open]/event:rotate-90 group-data-[panel-open]/event:opacity-100 motion-safe:transition motion-safe:duration-150\">\n <ChevronRight size={13} />\n </span>\n )}\n </span>\n </span>\n );\n\n if (!children) {\n return (\n <div className=\"max-w-full min-w-0\" role=\"group\" {...props}>\n {header}\n </div>\n );\n }\n\n return (\n <Collapsible defaultOpen={defaultOpen} className=\"max-w-full min-w-0\" role=\"group\" {...props}>\n <CollapsibleTrigger className=\"group/event w-full cursor-pointer rounded-md text-left hover:bg-fill motion-safe:transition-colors\">\n {header}\n </CollapsibleTrigger>\n <CollapsibleContent className=\"max-w-full min-w-0\">\n <div className=\"relative ml-[14px] max-w-full min-w-0 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 {children}\n </div>\n </CollapsibleContent>\n </Collapsible>\n );\n}\n","import { truncateString } from '@/lib/truncate-string';\n\nexport function chatEventPreview(message: string): string {\n return truncateString(message, 72);\n}\n","import { Bell, ExternalLink } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { ChatEvent } from './chat-event';\nimport { chatEventPreview } from './chat-event-preview';\nimport { getNotificationNoticeVariant } from './notification-variant';\nimport { Badge } from '@/ds/components/Badge';\nimport { Notice } from '@/ds/components/Notice';\nimport { Txt } from '@/ds/components/Txt';\n\nexport interface ChatNotificationProps {\n label: string;\n message: string;\n variant?: 'row' | 'notice';\n state?: string;\n icon?: ReactNode;\n priority?: string;\n status?: string;\n pending?: string;\n link?: { href: string; label: string };\n defaultOpen?: boolean;\n}\n\nexport function ChatNotification({\n label,\n message,\n variant = 'row',\n state = 'notification',\n icon,\n priority,\n status,\n pending,\n link,\n defaultOpen,\n}: ChatNotificationProps) {\n if (variant === 'notice') {\n const hasContent = Boolean(priority || status || pending || message || link);\n return (\n <Notice\n variant={getNotificationNoticeVariant(priority)}\n title={label}\n icon={icon ?? <Bell />}\n className=\"my-2 max-w-[80%]\"\n >\n {hasContent && (\n <div className=\"flex flex-col gap-2\">\n {(priority || status || pending) && (\n <div className=\"flex flex-wrap items-center gap-2\">\n {priority && <Badge size=\"xs\">{priority}</Badge>}\n {status && <Badge size=\"xs\">{status}</Badge>}\n {pending && <Badge size=\"xs\">{pending} pending</Badge>}\n </div>\n )}\n {message && <Notice.Message className=\"break-words whitespace-pre-wrap\">{message}</Notice.Message>}\n {link && <NotificationLink link={link} message={message} />}\n </div>\n )}\n </Notice>\n );\n }\n\n return (\n <ChatEvent\n label={label}\n detail={chatEventPreview(message)}\n icon={icon ?? <Bell size={13} className=\"text-warning1\" aria-hidden />}\n defaultOpen={defaultOpen}\n data-notification-state={state}\n aria-label={`Notification: ${label}`}\n >\n <div className=\"flex flex-col gap-2\">\n <Txt variant=\"caption\">{message}</Txt>\n {link && <NotificationLink link={link} message={message} />}\n </div>\n </ChatEvent>\n );\n}\n\nfunction NotificationLink({ link, message }: { link: NonNullable<ChatNotificationProps['link']>; message: string }) {\n return (\n <a\n href={link.href}\n target=\"_blank\"\n rel=\"noreferrer\"\n aria-label={`Open notification target: ${message}`}\n className=\"flex w-fit items-center gap-1 text-meta text-muted-foreground hover:text-foreground\"\n >\n {link.label}\n <ExternalLink size={12} aria-hidden />\n </a>\n );\n}\n"],"names":["useArriving","jsx","Txt","cn","jsxs","ChevronRight","Collapsible","CollapsibleTrigger","CollapsibleContent","truncateString","Notice","getNotificationNoticeVariant","Bell","Badge","ExternalLink"],"mappings":";;;;;;;;;;;;;AAmBA,SAAS,eAAA,CAAgB,EAAE,QAAA,EAAS,EAAyB;AAC3D,EAAA,MAAM,WAAWA,sBAAA,EAAY;AAC7B,EAAA,uBACEC,cAAA,CAACC,OAAA,EAAA,EAAI,EAAA,EAAG,MAAA,EAAO,SAAQ,MAAA,EAAO,IAAA,EAAK,OAAA,EAAQ,IAAA,EAAK,QAAO,SAAA,EAAWC,WAAA,CAAG,kBAAA,EAAoB,QAAQ,GAC9F,QAAA,EACH,CAAA;AAEJ;AAEO,SAAS,SAAA,CAAU,EAAE,KAAA,EAAO,MAAA,EAAQ,MAAM,QAAA,EAAU,WAAA,EAAa,GAAG,KAAA,EAAM,EAAmB;AAClG,EAAA,MAAM,MAAA,mBACJC,eAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,oDAAA,EACd,QAAA,EAAA;AAAA,oBAAAH,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,kDAAA,EAAoD,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,oBACzEA,cAAA,CAACC,OAAA,EAAA,EAAI,EAAA,EAAG,MAAA,EAAO,OAAA,EAAQ,WAAU,IAAA,EAAK,OAAA,EAAQ,SAAA,EAAU,+BAAA,EACrD,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,IACC,MAAA,oBAAUD,cAAA,CAAC,eAAA,EAAA,EAAiB,QAAA,EAAA,MAAA,EAAO,CAAA;AAAA,oBACpCA,cAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAW,IAAA,EAAC,WAAU,gBAAA,EAAiB,CAAA;AAAA,mCAC5C,MAAA,EAAA,EAAK,aAAA,EAAW,IAAA,EAAC,SAAA,EAAU,oDACzB,QAAA,EAAA,QAAA,oBACCA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,8OACd,QAAA,kBAAAA,cAAA,CAACI,wBAAA,EAAA,EAAa,IAAA,EAAM,EAAA,EAAI,GAC1B,CAAA,EAEJ;AAAA,GAAA,EACF,CAAA;AAGF,EAAA,IAAI,CAAC,QAAA,EAAU;AACb,IAAA,uBACEJ,cAAA,CAAC,SAAI,SAAA,EAAU,oBAAA,EAAqB,MAAK,OAAA,EAAS,GAAG,OAClD,QAAA,EAAA,MAAA,EACH,CAAA;AAAA,EAEJ;AAEA,EAAA,uBACEG,eAAA,CAACE,2BAAY,WAAA,EAA0B,SAAA,EAAU,sBAAqB,IAAA,EAAK,OAAA,EAAS,GAAG,KAAA,EACrF,QAAA,EAAA;AAAA,oBAAAL,cAAA,CAACM,8BAAA,EAAA,EAAmB,SAAA,EAAU,oGAAA,EAC3B,QAAA,EAAA,MAAA,EACH,CAAA;AAAA,oBACAN,cAAA,CAACO,kCAAmB,SAAA,EAAU,oBAAA,EAC5B,yCAAC,KAAA,EAAA,EAAI,SAAA,EAAU,sMAAA,EACZ,QAAA,EACH,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;ACjEO,SAAS,iBAAiB,OAAA,EAAyB;AACxD,EAAA,OAAOC,mCAAA,CAAe,SAAS,EAAE,CAAA;AACnC;;ACkBO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,KAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA,GAAU,KAAA;AAAA,EACV,KAAA,GAAQ,cAAA;AAAA,EACR,IAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,IAAI,YAAY,QAAA,EAAU;AACxB,IAAA,MAAM,aAAa,OAAA,CAAQ,QAAA,IAAY,MAAA,IAAU,OAAA,IAAW,WAAW,IAAI,CAAA;AAC3E,IAAA,uBACER,cAAA;AAAA,MAACS,aAAA;AAAA,MAAA;AAAA,QACC,OAAA,EAASC,mFAA6B,QAAQ,CAAA;AAAA,QAC9C,KAAA,EAAO,KAAA;AAAA,QACP,IAAA,EAAM,IAAA,oBAAQV,cAAA,CAACW,gBAAA,EAAA,EAAK,CAAA;AAAA,QACpB,SAAA,EAAU,kBAAA;AAAA,QAET,QAAA,EAAA,UAAA,oBACCR,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qBAAA,EACX,QAAA,EAAA;AAAA,UAAA,CAAA,QAAA,IAAY,MAAA,IAAU,OAAA,qBACtBA,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,mCAAA,EACZ,QAAA,EAAA;AAAA,YAAA,QAAA,oBAAYH,cAAA,CAACY,WAAA,EAAA,EAAM,IAAA,EAAK,IAAA,EAAM,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,YACvC,MAAA,oBAAUZ,cAAA,CAACY,WAAA,EAAA,EAAM,IAAA,EAAK,MAAM,QAAA,EAAA,MAAA,EAAO,CAAA;AAAA,YACnC,OAAA,oBAAWT,eAAA,CAACS,WAAA,EAAA,EAAM,IAAA,EAAK,IAAA,EAAM,QAAA,EAAA;AAAA,cAAA,OAAA;AAAA,cAAQ;AAAA,aAAA,EAAQ;AAAA,WAAA,EAChD,CAAA;AAAA,UAED,2BAAWZ,cAAA,CAACS,aAAA,CAAO,SAAP,EAAe,SAAA,EAAU,mCAAmC,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,UAChF,IAAA,oBAAQT,cAAA,CAAC,gBAAA,EAAA,EAAiB,IAAA,EAAY,OAAA,EAAkB;AAAA,SAAA,EAC3D;AAAA;AAAA,KAEJ;AAAA,EAEJ;AAEA,EAAA,uBACEA,cAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,MAAA,EAAQ,iBAAiB,OAAO,CAAA;AAAA,MAChC,IAAA,EAAM,wBAAQA,cAAA,CAACW,gBAAA,EAAA,EAAK,MAAM,EAAA,EAAI,SAAA,EAAU,eAAA,EAAgB,aAAA,EAAW,IAAA,EAAC,CAAA;AAAA,MACpE,WAAA;AAAA,MACA,yBAAA,EAAyB,KAAA;AAAA,MACzB,YAAA,EAAY,iBAAiB,KAAK,CAAA,CAAA;AAAA,MAElC,QAAA,kBAAAR,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qBAAA,EACb,QAAA,EAAA;AAAA,wBAAAH,cAAA,CAACC,OAAA,EAAA,EAAI,OAAA,EAAQ,SAAA,EAAW,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,QAC/B,IAAA,oBAAQD,cAAA,CAAC,gBAAA,EAAA,EAAiB,IAAA,EAAY,OAAA,EAAkB;AAAA,OAAA,EAC3D;AAAA;AAAA,GACF;AAEJ;AAEA,SAAS,gBAAA,CAAiB,EAAE,IAAA,EAAM,OAAA,EAAQ,EAA0E;AAClH,EAAA,uBACEG,eAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,MAAM,IAAA,CAAK,IAAA;AAAA,MACX,MAAA,EAAO,QAAA;AAAA,MACP,GAAA,EAAI,YAAA;AAAA,MACJ,YAAA,EAAY,6BAA6B,OAAO,CAAA,CAAA;AAAA,MAChD,SAAA,EAAU,qFAAA;AAAA,MAET,QAAA,EAAA;AAAA,QAAA,IAAA,CAAK,KAAA;AAAA,wBACNH,cAAA,CAACa,wBAAA,EAAA,EAAa,IAAA,EAAM,EAAA,EAAI,eAAW,IAAA,EAAC;AAAA;AAAA;AAAA,GACtC;AAEJ;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { Database, Radio, Info, Layers } from 'lucide-react';
3
- import { a as ChatEvent, c as chatEventPreview } from './chat-notification-DeKD1Ifx.js';
3
+ import { a as ChatEvent, c as chatEventPreview } from './chat-notification-CmdRGO_D.js';
4
4
  import { T as Txt } from './Txt-DTh3Pa_a.js';
5
5
 
6
6
  const rowIcons = {
@@ -37,4 +37,4 @@ function ChatSignal({ kind, label, message, mode, variant = "row", defaultOpen }
37
37
  }
38
38
 
39
39
  export { ChatSignal as C };
40
- //# sourceMappingURL=chat-signal-DiAHks6_.js.map
40
+ //# sourceMappingURL=chat-signal-Vg8pGXwH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-signal-DiAHks6_.js","sources":["../src/ds/components/ai/chat-event/chat-signal.tsx"],"sourcesContent":["import { Database, Info, Layers, Radio } from 'lucide-react';\nimport { ChatEvent } from './chat-event';\nimport { chatEventPreview } from './chat-event-preview';\nimport { Txt } from '@/ds/components/Txt';\n\nexport interface ChatSignalProps {\n kind: 'state' | 'reactive' | 'reminder';\n label: string;\n message: string;\n mode?: string;\n variant?: 'row' | 'card';\n defaultOpen?: boolean;\n}\n\nconst rowIcons = {\n state: <Layers size={13} className=\"text-purple-400\" aria-hidden />,\n reminder: <Info size={13} className=\"text-accent3\" aria-hidden />,\n reactive: <Info size={13} className=\"text-muted-foreground\" aria-hidden />,\n};\n\nexport function ChatSignal({ kind, label, message, mode, variant = 'row', defaultOpen }: ChatSignalProps) {\n if (variant === 'card') {\n const Icon = kind === 'state' ? Database : Radio;\n return (\n <div className=\"my-2 max-w-[80%] rounded-lg border border-border bg-background px-4 py-3 text-foreground\">\n <div className=\"flex items-start gap-3\">\n <Icon className=\"mt-0.5 size-4 shrink-0 text-muted-foreground\" aria-hidden />\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <p className=\"text-column text-foreground\">{label}</p>\n {mode && (\n <span className=\"inline-flex items-center rounded-full border border-border px-1.5 py-0.5 text-caption leading-none text-muted-foreground\">\n {mode}\n </span>\n )}\n </div>\n {message && <p className=\"mt-2 text-caption break-words whitespace-pre-wrap\">{message}</p>}\n </div>\n </div>\n </div>\n );\n }\n\n return (\n <ChatEvent\n label={label}\n detail={chatEventPreview(message)}\n icon={rowIcons[kind]}\n defaultOpen={defaultOpen}\n data-signal-kind={kind}\n aria-label={`Signal: ${label}`}\n >\n {message && (\n <Txt variant=\"caption\" className=\"break-words whitespace-pre-wrap\">\n {message}\n </Txt>\n )}\n </ChatEvent>\n );\n}\n"],"names":[],"mappings":";;;;;AAcA,MAAM,QAAA,GAAW;AAAA,EACf,KAAA,sBAAQ,MAAA,EAAA,EAAO,IAAA,EAAM,IAAI,SAAA,EAAU,iBAAA,EAAkB,eAAW,IAAA,EAAC,CAAA;AAAA,EACjE,QAAA,sBAAW,IAAA,EAAA,EAAK,IAAA,EAAM,IAAI,SAAA,EAAU,cAAA,EAAe,eAAW,IAAA,EAAC,CAAA;AAAA,EAC/D,QAAA,sBAAW,IAAA,EAAA,EAAK,IAAA,EAAM,IAAI,SAAA,EAAU,uBAAA,EAAwB,eAAW,IAAA,EAAC;AAC1E,CAAA;AAEO,SAAS,UAAA,CAAW,EAAE,IAAA,EAAM,KAAA,EAAO,SAAS,IAAA,EAAM,OAAA,GAAU,KAAA,EAAO,WAAA,EAAY,EAAoB;AACxG,EAAA,IAAI,YAAY,MAAA,EAAQ;AACtB,IAAA,MAAM,IAAA,GAAO,IAAA,KAAS,OAAA,GAAU,QAAA,GAAW,KAAA;AAC3C,IAAA,2BACG,KAAA,EAAA,EAAI,SAAA,EAAU,4FACb,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,wBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,8CAAA,EAA+C,aAAA,EAAW,IAAA,EAAC,CAAA;AAAA,sBAC3E,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,mCAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,6BAAA,EAA+B,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,UACjD,IAAA,oBACC,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,4HACb,QAAA,EAAA,IAAA,EACH;AAAA,SAAA,EAEJ,CAAA;AAAA,QACC,OAAA,oBAAW,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,qDAAqD,QAAA,EAAA,OAAA,EAAQ;AAAA,OAAA,EACxF;AAAA,KAAA,EACF,CAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,MAAA,EAAQ,iBAAiB,OAAO,CAAA;AAAA,MAChC,IAAA,EAAM,SAAS,IAAI,CAAA;AAAA,MACnB,WAAA;AAAA,MACA,kBAAA,EAAkB,IAAA;AAAA,MAClB,YAAA,EAAY,WAAW,KAAK,CAAA,CAAA;AAAA,MAE3B,qCACC,GAAA,CAAC,GAAA,EAAA,EAAI,SAAQ,SAAA,EAAU,SAAA,EAAU,mCAC9B,QAAA,EAAA,OAAA,EACH;AAAA;AAAA,GAEJ;AAEJ;;;;"}
1
+ {"version":3,"file":"chat-signal-Vg8pGXwH.js","sources":["../src/ds/components/ai/chat-event/chat-signal.tsx"],"sourcesContent":["import { Database, Info, Layers, Radio } from 'lucide-react';\nimport { ChatEvent } from './chat-event';\nimport { chatEventPreview } from './chat-event-preview';\nimport { Txt } from '@/ds/components/Txt';\n\nexport interface ChatSignalProps {\n kind: 'state' | 'reactive' | 'reminder';\n label: string;\n message: string;\n mode?: string;\n variant?: 'row' | 'card';\n defaultOpen?: boolean;\n}\n\nconst rowIcons = {\n state: <Layers size={13} className=\"text-purple-400\" aria-hidden />,\n reminder: <Info size={13} className=\"text-accent3\" aria-hidden />,\n reactive: <Info size={13} className=\"text-muted-foreground\" aria-hidden />,\n};\n\nexport function ChatSignal({ kind, label, message, mode, variant = 'row', defaultOpen }: ChatSignalProps) {\n if (variant === 'card') {\n const Icon = kind === 'state' ? Database : Radio;\n return (\n <div className=\"my-2 max-w-[80%] rounded-lg border border-border bg-background px-4 py-3 text-foreground\">\n <div className=\"flex items-start gap-3\">\n <Icon className=\"mt-0.5 size-4 shrink-0 text-muted-foreground\" aria-hidden />\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <p className=\"text-column text-foreground\">{label}</p>\n {mode && (\n <span className=\"inline-flex items-center rounded-full border border-border px-1.5 py-0.5 text-caption leading-none text-muted-foreground\">\n {mode}\n </span>\n )}\n </div>\n {message && <p className=\"mt-2 text-caption break-words whitespace-pre-wrap\">{message}</p>}\n </div>\n </div>\n </div>\n );\n }\n\n return (\n <ChatEvent\n label={label}\n detail={chatEventPreview(message)}\n icon={rowIcons[kind]}\n defaultOpen={defaultOpen}\n data-signal-kind={kind}\n aria-label={`Signal: ${label}`}\n >\n {message && (\n <Txt variant=\"caption\" className=\"break-words whitespace-pre-wrap\">\n {message}\n </Txt>\n )}\n </ChatEvent>\n );\n}\n"],"names":[],"mappings":";;;;;AAcA,MAAM,QAAA,GAAW;AAAA,EACf,KAAA,sBAAQ,MAAA,EAAA,EAAO,IAAA,EAAM,IAAI,SAAA,EAAU,iBAAA,EAAkB,eAAW,IAAA,EAAC,CAAA;AAAA,EACjE,QAAA,sBAAW,IAAA,EAAA,EAAK,IAAA,EAAM,IAAI,SAAA,EAAU,cAAA,EAAe,eAAW,IAAA,EAAC,CAAA;AAAA,EAC/D,QAAA,sBAAW,IAAA,EAAA,EAAK,IAAA,EAAM,IAAI,SAAA,EAAU,uBAAA,EAAwB,eAAW,IAAA,EAAC;AAC1E,CAAA;AAEO,SAAS,UAAA,CAAW,EAAE,IAAA,EAAM,KAAA,EAAO,SAAS,IAAA,EAAM,OAAA,GAAU,KAAA,EAAO,WAAA,EAAY,EAAoB;AACxG,EAAA,IAAI,YAAY,MAAA,EAAQ;AACtB,IAAA,MAAM,IAAA,GAAO,IAAA,KAAS,OAAA,GAAU,QAAA,GAAW,KAAA;AAC3C,IAAA,2BACG,KAAA,EAAA,EAAI,SAAA,EAAU,4FACb,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,wBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,8CAAA,EAA+C,aAAA,EAAW,IAAA,EAAC,CAAA;AAAA,sBAC3E,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,mCAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,6BAAA,EAA+B,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,UACjD,IAAA,oBACC,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,4HACb,QAAA,EAAA,IAAA,EACH;AAAA,SAAA,EAEJ,CAAA;AAAA,QACC,OAAA,oBAAW,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,qDAAqD,QAAA,EAAA,OAAA,EAAQ;AAAA,OAAA,EACxF;AAAA,KAAA,EACF,CAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,MAAA,EAAQ,iBAAiB,OAAO,CAAA;AAAA,MAChC,IAAA,EAAM,SAAS,IAAI,CAAA;AAAA,MACnB,WAAA;AAAA,MACA,kBAAA,EAAkB,IAAA;AAAA,MAClB,YAAA,EAAY,WAAW,KAAK,CAAA,CAAA;AAAA,MAE3B,qCACC,GAAA,CAAC,GAAA,EAAA,EAAI,SAAQ,SAAA,EAAU,SAAA,EAAU,mCAC9B,QAAA,EAAA,OAAA,EACH;AAAA;AAAA,GAEJ;AAEJ;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
4
  const lucideReact = require('lucide-react');
5
- const chatNotification = require('./chat-notification-C5Ox5tuS.cjs');
5
+ const chatNotification = require('./chat-notification-DJykWtoj.cjs');
6
6
  const Txt = require('./Txt-B4-2nLaI.cjs');
7
7
 
8
8
  const rowIcons = {
@@ -39,4 +39,4 @@ function ChatSignal({ kind, label, message, mode, variant = "row", defaultOpen }
39
39
  }
40
40
 
41
41
  exports.ChatSignal = ChatSignal;
42
- //# sourceMappingURL=chat-signal-ClyJeml8.cjs.map
42
+ //# sourceMappingURL=chat-signal-xs3FkPts.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-signal-ClyJeml8.cjs","sources":["../src/ds/components/ai/chat-event/chat-signal.tsx"],"sourcesContent":["import { Database, Info, Layers, Radio } from 'lucide-react';\nimport { ChatEvent } from './chat-event';\nimport { chatEventPreview } from './chat-event-preview';\nimport { Txt } from '@/ds/components/Txt';\n\nexport interface ChatSignalProps {\n kind: 'state' | 'reactive' | 'reminder';\n label: string;\n message: string;\n mode?: string;\n variant?: 'row' | 'card';\n defaultOpen?: boolean;\n}\n\nconst rowIcons = {\n state: <Layers size={13} className=\"text-purple-400\" aria-hidden />,\n reminder: <Info size={13} className=\"text-accent3\" aria-hidden />,\n reactive: <Info size={13} className=\"text-muted-foreground\" aria-hidden />,\n};\n\nexport function ChatSignal({ kind, label, message, mode, variant = 'row', defaultOpen }: ChatSignalProps) {\n if (variant === 'card') {\n const Icon = kind === 'state' ? Database : Radio;\n return (\n <div className=\"my-2 max-w-[80%] rounded-lg border border-border bg-background px-4 py-3 text-foreground\">\n <div className=\"flex items-start gap-3\">\n <Icon className=\"mt-0.5 size-4 shrink-0 text-muted-foreground\" aria-hidden />\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <p className=\"text-column text-foreground\">{label}</p>\n {mode && (\n <span className=\"inline-flex items-center rounded-full border border-border px-1.5 py-0.5 text-caption leading-none text-muted-foreground\">\n {mode}\n </span>\n )}\n </div>\n {message && <p className=\"mt-2 text-caption break-words whitespace-pre-wrap\">{message}</p>}\n </div>\n </div>\n </div>\n );\n }\n\n return (\n <ChatEvent\n label={label}\n detail={chatEventPreview(message)}\n icon={rowIcons[kind]}\n defaultOpen={defaultOpen}\n data-signal-kind={kind}\n aria-label={`Signal: ${label}`}\n >\n {message && (\n <Txt variant=\"caption\" className=\"break-words whitespace-pre-wrap\">\n {message}\n </Txt>\n )}\n </ChatEvent>\n );\n}\n"],"names":["Layers","Info","Database","Radio","jsxs","jsx","ChatEvent","chatEventPreview","Txt"],"mappings":";;;;;;;AAcA,MAAM,QAAA,GAAW;AAAA,EACf,KAAA,iCAAQA,kBAAA,EAAA,EAAO,IAAA,EAAM,IAAI,SAAA,EAAU,iBAAA,EAAkB,eAAW,IAAA,EAAC,CAAA;AAAA,EACjE,QAAA,iCAAWC,gBAAA,EAAA,EAAK,IAAA,EAAM,IAAI,SAAA,EAAU,cAAA,EAAe,eAAW,IAAA,EAAC,CAAA;AAAA,EAC/D,QAAA,iCAAWA,gBAAA,EAAA,EAAK,IAAA,EAAM,IAAI,SAAA,EAAU,uBAAA,EAAwB,eAAW,IAAA,EAAC;AAC1E,CAAA;AAEO,SAAS,UAAA,CAAW,EAAE,IAAA,EAAM,KAAA,EAAO,SAAS,IAAA,EAAM,OAAA,GAAU,KAAA,EAAO,WAAA,EAAY,EAAoB;AACxG,EAAA,IAAI,YAAY,MAAA,EAAQ;AACtB,IAAA,MAAM,IAAA,GAAO,IAAA,KAAS,OAAA,GAAUC,oBAAA,GAAWC,iBAAA;AAC3C,IAAA,sCACG,KAAA,EAAA,EAAI,SAAA,EAAU,4FACb,QAAA,kBAAAC,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,wBAAA,EACb,QAAA,EAAA;AAAA,sBAAAC,cAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,8CAAA,EAA+C,aAAA,EAAW,IAAA,EAAC,CAAA;AAAA,sBAC3ED,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,EAAA;AAAA,wBAAAA,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,mCAAA,EACb,QAAA,EAAA;AAAA,0BAAAC,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,6BAAA,EAA+B,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,UACjD,IAAA,oBACCA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,4HACb,QAAA,EAAA,IAAA,EACH;AAAA,SAAA,EAEJ,CAAA;AAAA,QACC,OAAA,oBAAWA,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,qDAAqD,QAAA,EAAA,OAAA,EAAQ;AAAA,OAAA,EACxF;AAAA,KAAA,EACF,CAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,uBACEA,cAAA;AAAA,IAACC,0BAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,MAAA,EAAQC,kCAAiB,OAAO,CAAA;AAAA,MAChC,IAAA,EAAM,SAAS,IAAI,CAAA;AAAA,MACnB,WAAA;AAAA,MACA,kBAAA,EAAkB,IAAA;AAAA,MAClB,YAAA,EAAY,WAAW,KAAK,CAAA,CAAA;AAAA,MAE3B,qCACCF,cAAA,CAACG,OAAA,EAAA,EAAI,SAAQ,SAAA,EAAU,SAAA,EAAU,mCAC9B,QAAA,EAAA,OAAA,EACH;AAAA;AAAA,GAEJ;AAEJ;;;;"}
1
+ {"version":3,"file":"chat-signal-xs3FkPts.cjs","sources":["../src/ds/components/ai/chat-event/chat-signal.tsx"],"sourcesContent":["import { Database, Info, Layers, Radio } from 'lucide-react';\nimport { ChatEvent } from './chat-event';\nimport { chatEventPreview } from './chat-event-preview';\nimport { Txt } from '@/ds/components/Txt';\n\nexport interface ChatSignalProps {\n kind: 'state' | 'reactive' | 'reminder';\n label: string;\n message: string;\n mode?: string;\n variant?: 'row' | 'card';\n defaultOpen?: boolean;\n}\n\nconst rowIcons = {\n state: <Layers size={13} className=\"text-purple-400\" aria-hidden />,\n reminder: <Info size={13} className=\"text-accent3\" aria-hidden />,\n reactive: <Info size={13} className=\"text-muted-foreground\" aria-hidden />,\n};\n\nexport function ChatSignal({ kind, label, message, mode, variant = 'row', defaultOpen }: ChatSignalProps) {\n if (variant === 'card') {\n const Icon = kind === 'state' ? Database : Radio;\n return (\n <div className=\"my-2 max-w-[80%] rounded-lg border border-border bg-background px-4 py-3 text-foreground\">\n <div className=\"flex items-start gap-3\">\n <Icon className=\"mt-0.5 size-4 shrink-0 text-muted-foreground\" aria-hidden />\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <p className=\"text-column text-foreground\">{label}</p>\n {mode && (\n <span className=\"inline-flex items-center rounded-full border border-border px-1.5 py-0.5 text-caption leading-none text-muted-foreground\">\n {mode}\n </span>\n )}\n </div>\n {message && <p className=\"mt-2 text-caption break-words whitespace-pre-wrap\">{message}</p>}\n </div>\n </div>\n </div>\n );\n }\n\n return (\n <ChatEvent\n label={label}\n detail={chatEventPreview(message)}\n icon={rowIcons[kind]}\n defaultOpen={defaultOpen}\n data-signal-kind={kind}\n aria-label={`Signal: ${label}`}\n >\n {message && (\n <Txt variant=\"caption\" className=\"break-words whitespace-pre-wrap\">\n {message}\n </Txt>\n )}\n </ChatEvent>\n );\n}\n"],"names":["Layers","Info","Database","Radio","jsxs","jsx","ChatEvent","chatEventPreview","Txt"],"mappings":";;;;;;;AAcA,MAAM,QAAA,GAAW;AAAA,EACf,KAAA,iCAAQA,kBAAA,EAAA,EAAO,IAAA,EAAM,IAAI,SAAA,EAAU,iBAAA,EAAkB,eAAW,IAAA,EAAC,CAAA;AAAA,EACjE,QAAA,iCAAWC,gBAAA,EAAA,EAAK,IAAA,EAAM,IAAI,SAAA,EAAU,cAAA,EAAe,eAAW,IAAA,EAAC,CAAA;AAAA,EAC/D,QAAA,iCAAWA,gBAAA,EAAA,EAAK,IAAA,EAAM,IAAI,SAAA,EAAU,uBAAA,EAAwB,eAAW,IAAA,EAAC;AAC1E,CAAA;AAEO,SAAS,UAAA,CAAW,EAAE,IAAA,EAAM,KAAA,EAAO,SAAS,IAAA,EAAM,OAAA,GAAU,KAAA,EAAO,WAAA,EAAY,EAAoB;AACxG,EAAA,IAAI,YAAY,MAAA,EAAQ;AACtB,IAAA,MAAM,IAAA,GAAO,IAAA,KAAS,OAAA,GAAUC,oBAAA,GAAWC,iBAAA;AAC3C,IAAA,sCACG,KAAA,EAAA,EAAI,SAAA,EAAU,4FACb,QAAA,kBAAAC,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,wBAAA,EACb,QAAA,EAAA;AAAA,sBAAAC,cAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,8CAAA,EAA+C,aAAA,EAAW,IAAA,EAAC,CAAA;AAAA,sBAC3ED,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,EAAA;AAAA,wBAAAA,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,mCAAA,EACb,QAAA,EAAA;AAAA,0BAAAC,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,6BAAA,EAA+B,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,UACjD,IAAA,oBACCA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,4HACb,QAAA,EAAA,IAAA,EACH;AAAA,SAAA,EAEJ,CAAA;AAAA,QACC,OAAA,oBAAWA,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,qDAAqD,QAAA,EAAA,OAAA,EAAQ;AAAA,OAAA,EACxF;AAAA,KAAA,EACF,CAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,uBACEA,cAAA;AAAA,IAACC,0BAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,MAAA,EAAQC,kCAAiB,OAAO,CAAA;AAAA,MAChC,IAAA,EAAM,SAAS,IAAI,CAAA;AAAA,MACnB,WAAA;AAAA,MACA,kBAAA,EAAkB,IAAA;AAAA,MAClB,YAAA,EAAY,WAAW,KAAK,CAAA,CAAA;AAAA,MAE3B,qCACCF,cAAA,CAACG,OAAA,EAAA,EAAI,SAAQ,SAAA,EAAU,SAAA,EAAU,mCAC9B,QAAA,EAAA,OAAA,EACH;AAAA;AAAA,GAEJ;AAEJ;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { C as Code } from './code-D4Vw_fYq.js';
3
- import { C as CopyButton } from './copy-button-DZqxEuiE.js';
4
- import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from './select-BiY-SoMJ.js';
5
- import { a as Tabs, T as TabList } from './tabs-root-B2sdkQ3A.js';
6
- import { T as Tab } from './tabs-tab-u6LS5twu.js';
3
+ import { C as CopyButton } from './copy-button-DcZ1mdw4.js';
4
+ import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from './select-TslOr65J.js';
5
+ import { a as Tabs, T as TabList } from './tabs-root-UNPxoGhW.js';
6
+ import { T as Tab } from './tabs-tab-DluwCnDF.js';
7
7
  import { transitions } from './primitives/transitions.es.js';
8
8
  import { c as cn } from './cn-65Adrsfj.js';
9
9
 
@@ -83,4 +83,4 @@ function CodeBlock({
83
83
  }
84
84
 
85
85
  export { CodeBlock as C };
86
- //# sourceMappingURL=code-block-D37olB3O.js.map
86
+ //# sourceMappingURL=code-block-CoKMTAdr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-block-D37olB3O.js","sources":["../src/ds/components/CodeBlock/code-block.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Code } from '../Code/code';\nimport { CopyButton } from '../CopyButton/copy-button';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../Select/select';\nimport { TabList } from '../Tabs/tabs-list';\nimport { Tabs } from '../Tabs/tabs-root';\nimport { Tab } from '../Tabs/tabs-tab';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type CodeBlockSelector = 'select' | 'tabs';\n\nexport type CodeBlockOverflow = 'wrap' | 'scroll';\n\nexport interface CodeBlockOption {\n label: string;\n value: string;\n}\n\nexport interface CodeBlockProps {\n code: string;\n options?: CodeBlockOption[];\n value?: string;\n onValueChange?: (value: string) => void;\n selector?: CodeBlockSelector;\n fileName?: string;\n lang?: string;\n /** `wrap` (default) breaks long lines — best for commands and snippets.\n * `scroll` preserves columns behind a horizontal scroll — best for source code. */\n overflow?: CodeBlockOverflow;\n copyMessage?: string;\n copyTooltip?: string;\n actions?: ReactNode;\n className?: string;\n}\n\nexport function CodeBlock({\n code,\n options,\n value,\n onValueChange,\n selector = 'select',\n fileName,\n lang,\n overflow = 'wrap',\n copyMessage,\n copyTooltip,\n actions,\n className,\n}: CodeBlockProps) {\n const hasOptions = options && options.length > 0;\n const useTabs = hasOptions && selector === 'tabs';\n const useSelect = hasOptions && selector === 'select';\n const firstOption = options?.[0];\n const activeValue = value ?? firstOption?.value;\n\n return (\n <figure\n // A scrolling `pre` still reports its longest line as an intrinsic width, which\n // grows every ancestor; containment keeps the block inside the width it is given.\n className={cn(\n 'group relative flex w-full flex-col overflow-hidden rounded-2xl border border-border-strong/40 bg-background [contain:inline-size]',\n className,\n )}\n >\n {useTabs && firstOption && (\n <Tabs defaultTab={firstOption.value} value={activeValue} onValueChange={onValueChange ?? (() => {})}>\n <div className=\"flex items-stretch\">\n <div className=\"min-w-0 flex-1\">\n <TabList>\n {options.map(opt => (\n <Tab key={opt.value} value={opt.value}>\n {opt.label}\n </Tab>\n ))}\n </TabList>\n </div>\n {actions && <div className=\"flex shrink-0 items-center border-b border-border pr-2 pl-3\">{actions}</div>}\n </div>\n </Tabs>\n )}\n\n {useSelect && options && (\n <div className=\"flex items-center border-b border-border-strong/40 px-2 py-1.5\">\n <Select value={activeValue} onValueChange={onValueChange}>\n <SelectTrigger size=\"sm\" variant=\"ghost\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {options.map(opt => (\n <SelectItem key={opt.value} value={opt.value}>\n {opt.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && fileName && (\n <div className=\"flex items-center border-b border-border-strong/40 px-4 py-2\">\n <figcaption className=\"font-mono text-caption text-muted-foreground\">{fileName}</figcaption>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && !fileName && actions && (\n <div className=\"flex items-center justify-end border-b border-border-strong/40 px-2 py-1.5\">{actions}</div>\n )}\n\n <div className=\"relative\">\n <Code\n code={code}\n lang={lang}\n className={cn(\n 'px-4 py-3 font-mono text-caption text-foreground',\n overflow === 'scroll' ? 'overflow-x-auto whitespace-pre' : 'break-all whitespace-pre-wrap',\n )}\n />\n <CopyButton\n content={code}\n copyMessage={copyMessage}\n tooltip={copyTooltip}\n size=\"sm\"\n className={cn(\n 'absolute top-2 right-2 opacity-100 group-focus-within:opacity-100 group-hover:opacity-100 pointer-fine:opacity-0',\n transitions.opacity,\n )}\n />\n </div>\n </figure>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-block-CoKMTAdr.js","sources":["../src/ds/components/CodeBlock/code-block.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Code } from '../Code/code';\nimport { CopyButton } from '../CopyButton/copy-button';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../Select/select';\nimport { TabList } from '../Tabs/tabs-list';\nimport { Tabs } from '../Tabs/tabs-root';\nimport { Tab } from '../Tabs/tabs-tab';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type CodeBlockSelector = 'select' | 'tabs';\n\nexport type CodeBlockOverflow = 'wrap' | 'scroll';\n\nexport interface CodeBlockOption {\n label: string;\n value: string;\n}\n\nexport interface CodeBlockProps {\n code: string;\n options?: CodeBlockOption[];\n value?: string;\n onValueChange?: (value: string) => void;\n selector?: CodeBlockSelector;\n fileName?: string;\n lang?: string;\n /** `wrap` (default) breaks long lines — best for commands and snippets.\n * `scroll` preserves columns behind a horizontal scroll — best for source code. */\n overflow?: CodeBlockOverflow;\n copyMessage?: string;\n copyTooltip?: string;\n actions?: ReactNode;\n className?: string;\n}\n\nexport function CodeBlock({\n code,\n options,\n value,\n onValueChange,\n selector = 'select',\n fileName,\n lang,\n overflow = 'wrap',\n copyMessage,\n copyTooltip,\n actions,\n className,\n}: CodeBlockProps) {\n const hasOptions = options && options.length > 0;\n const useTabs = hasOptions && selector === 'tabs';\n const useSelect = hasOptions && selector === 'select';\n const firstOption = options?.[0];\n const activeValue = value ?? firstOption?.value;\n\n return (\n <figure\n // A scrolling `pre` still reports its longest line as an intrinsic width, which\n // grows every ancestor; containment keeps the block inside the width it is given.\n className={cn(\n 'group relative flex w-full flex-col overflow-hidden rounded-2xl border border-border-strong/40 bg-background [contain:inline-size]',\n className,\n )}\n >\n {useTabs && firstOption && (\n <Tabs defaultTab={firstOption.value} value={activeValue} onValueChange={onValueChange ?? (() => {})}>\n <div className=\"flex items-stretch\">\n <div className=\"min-w-0 flex-1\">\n <TabList>\n {options.map(opt => (\n <Tab key={opt.value} value={opt.value}>\n {opt.label}\n </Tab>\n ))}\n </TabList>\n </div>\n {actions && <div className=\"flex shrink-0 items-center border-b border-border pr-2 pl-3\">{actions}</div>}\n </div>\n </Tabs>\n )}\n\n {useSelect && options && (\n <div className=\"flex items-center border-b border-border-strong/40 px-2 py-1.5\">\n <Select value={activeValue} onValueChange={onValueChange}>\n <SelectTrigger size=\"sm\" variant=\"ghost\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {options.map(opt => (\n <SelectItem key={opt.value} value={opt.value}>\n {opt.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && fileName && (\n <div className=\"flex items-center border-b border-border-strong/40 px-4 py-2\">\n <figcaption className=\"font-mono text-caption text-muted-foreground\">{fileName}</figcaption>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && !fileName && actions && (\n <div className=\"flex items-center justify-end border-b border-border-strong/40 px-2 py-1.5\">{actions}</div>\n )}\n\n <div className=\"relative\">\n <Code\n code={code}\n lang={lang}\n className={cn(\n 'px-4 py-3 font-mono text-caption text-foreground',\n overflow === 'scroll' ? 'overflow-x-auto whitespace-pre' : 'break-all whitespace-pre-wrap',\n )}\n />\n <CopyButton\n content={code}\n copyMessage={copyMessage}\n tooltip={copyTooltip}\n size=\"sm\"\n className={cn(\n 'absolute top-2 right-2 opacity-100 group-focus-within:opacity-100 group-hover:opacity-100 pointer-fine:opacity-0',\n transitions.opacity,\n )}\n />\n </div>\n </figure>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -2,10 +2,10 @@
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
4
  const code = require('./code-DhrdtZce.cjs');
5
- const copyButton = require('./copy-button-B5ZCtnTb.cjs');
6
- const select = require('./select-65j5NjtJ.cjs');
7
- const tabsRoot = require('./tabs-root-DrK1hxeV.cjs');
8
- const tabsTab = require('./tabs-tab-ClmulJmM.cjs');
5
+ const copyButton = require('./copy-button-D2MTGxq_.cjs');
6
+ const select = require('./select-DjXJeDlO.cjs');
7
+ const tabsRoot = require('./tabs-root-COCL6jcx.cjs');
8
+ const tabsTab = require('./tabs-tab-DFmRMdi3.cjs');
9
9
  const primitives_transitions = require('./primitives/transitions.cjs.js');
10
10
  const utils_cn = require('./cn-DG0X1KEP.cjs');
11
11
 
@@ -85,4 +85,4 @@ function CodeBlock({
85
85
  }
86
86
 
87
87
  exports.CodeBlock = CodeBlock;
88
- //# sourceMappingURL=code-block-BoTq0TMr.cjs.map
88
+ //# sourceMappingURL=code-block-FTEGH9VP.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-block-BoTq0TMr.cjs","sources":["../src/ds/components/CodeBlock/code-block.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Code } from '../Code/code';\nimport { CopyButton } from '../CopyButton/copy-button';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../Select/select';\nimport { TabList } from '../Tabs/tabs-list';\nimport { Tabs } from '../Tabs/tabs-root';\nimport { Tab } from '../Tabs/tabs-tab';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type CodeBlockSelector = 'select' | 'tabs';\n\nexport type CodeBlockOverflow = 'wrap' | 'scroll';\n\nexport interface CodeBlockOption {\n label: string;\n value: string;\n}\n\nexport interface CodeBlockProps {\n code: string;\n options?: CodeBlockOption[];\n value?: string;\n onValueChange?: (value: string) => void;\n selector?: CodeBlockSelector;\n fileName?: string;\n lang?: string;\n /** `wrap` (default) breaks long lines — best for commands and snippets.\n * `scroll` preserves columns behind a horizontal scroll — best for source code. */\n overflow?: CodeBlockOverflow;\n copyMessage?: string;\n copyTooltip?: string;\n actions?: ReactNode;\n className?: string;\n}\n\nexport function CodeBlock({\n code,\n options,\n value,\n onValueChange,\n selector = 'select',\n fileName,\n lang,\n overflow = 'wrap',\n copyMessage,\n copyTooltip,\n actions,\n className,\n}: CodeBlockProps) {\n const hasOptions = options && options.length > 0;\n const useTabs = hasOptions && selector === 'tabs';\n const useSelect = hasOptions && selector === 'select';\n const firstOption = options?.[0];\n const activeValue = value ?? firstOption?.value;\n\n return (\n <figure\n // A scrolling `pre` still reports its longest line as an intrinsic width, which\n // grows every ancestor; containment keeps the block inside the width it is given.\n className={cn(\n 'group relative flex w-full flex-col overflow-hidden rounded-2xl border border-border-strong/40 bg-background [contain:inline-size]',\n className,\n )}\n >\n {useTabs && firstOption && (\n <Tabs defaultTab={firstOption.value} value={activeValue} onValueChange={onValueChange ?? (() => {})}>\n <div className=\"flex items-stretch\">\n <div className=\"min-w-0 flex-1\">\n <TabList>\n {options.map(opt => (\n <Tab key={opt.value} value={opt.value}>\n {opt.label}\n </Tab>\n ))}\n </TabList>\n </div>\n {actions && <div className=\"flex shrink-0 items-center border-b border-border pr-2 pl-3\">{actions}</div>}\n </div>\n </Tabs>\n )}\n\n {useSelect && options && (\n <div className=\"flex items-center border-b border-border-strong/40 px-2 py-1.5\">\n <Select value={activeValue} onValueChange={onValueChange}>\n <SelectTrigger size=\"sm\" variant=\"ghost\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {options.map(opt => (\n <SelectItem key={opt.value} value={opt.value}>\n {opt.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && fileName && (\n <div className=\"flex items-center border-b border-border-strong/40 px-4 py-2\">\n <figcaption className=\"font-mono text-caption text-muted-foreground\">{fileName}</figcaption>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && !fileName && actions && (\n <div className=\"flex items-center justify-end border-b border-border-strong/40 px-2 py-1.5\">{actions}</div>\n )}\n\n <div className=\"relative\">\n <Code\n code={code}\n lang={lang}\n className={cn(\n 'px-4 py-3 font-mono text-caption text-foreground',\n overflow === 'scroll' ? 'overflow-x-auto whitespace-pre' : 'break-all whitespace-pre-wrap',\n )}\n />\n <CopyButton\n content={code}\n copyMessage={copyMessage}\n tooltip={copyTooltip}\n size=\"sm\"\n className={cn(\n 'absolute top-2 right-2 opacity-100 group-focus-within:opacity-100 group-hover:opacity-100 pointer-fine:opacity-0',\n transitions.opacity,\n )}\n />\n </div>\n </figure>\n );\n}\n"],"names":["code","jsxs","cn","jsx","Tabs","TabList","Tab","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","Code","CopyButton","transitions"],"mappings":"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"}
1
+ {"version":3,"file":"code-block-FTEGH9VP.cjs","sources":["../src/ds/components/CodeBlock/code-block.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Code } from '../Code/code';\nimport { CopyButton } from '../CopyButton/copy-button';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../Select/select';\nimport { TabList } from '../Tabs/tabs-list';\nimport { Tabs } from '../Tabs/tabs-root';\nimport { Tab } from '../Tabs/tabs-tab';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type CodeBlockSelector = 'select' | 'tabs';\n\nexport type CodeBlockOverflow = 'wrap' | 'scroll';\n\nexport interface CodeBlockOption {\n label: string;\n value: string;\n}\n\nexport interface CodeBlockProps {\n code: string;\n options?: CodeBlockOption[];\n value?: string;\n onValueChange?: (value: string) => void;\n selector?: CodeBlockSelector;\n fileName?: string;\n lang?: string;\n /** `wrap` (default) breaks long lines — best for commands and snippets.\n * `scroll` preserves columns behind a horizontal scroll — best for source code. */\n overflow?: CodeBlockOverflow;\n copyMessage?: string;\n copyTooltip?: string;\n actions?: ReactNode;\n className?: string;\n}\n\nexport function CodeBlock({\n code,\n options,\n value,\n onValueChange,\n selector = 'select',\n fileName,\n lang,\n overflow = 'wrap',\n copyMessage,\n copyTooltip,\n actions,\n className,\n}: CodeBlockProps) {\n const hasOptions = options && options.length > 0;\n const useTabs = hasOptions && selector === 'tabs';\n const useSelect = hasOptions && selector === 'select';\n const firstOption = options?.[0];\n const activeValue = value ?? firstOption?.value;\n\n return (\n <figure\n // A scrolling `pre` still reports its longest line as an intrinsic width, which\n // grows every ancestor; containment keeps the block inside the width it is given.\n className={cn(\n 'group relative flex w-full flex-col overflow-hidden rounded-2xl border border-border-strong/40 bg-background [contain:inline-size]',\n className,\n )}\n >\n {useTabs && firstOption && (\n <Tabs defaultTab={firstOption.value} value={activeValue} onValueChange={onValueChange ?? (() => {})}>\n <div className=\"flex items-stretch\">\n <div className=\"min-w-0 flex-1\">\n <TabList>\n {options.map(opt => (\n <Tab key={opt.value} value={opt.value}>\n {opt.label}\n </Tab>\n ))}\n </TabList>\n </div>\n {actions && <div className=\"flex shrink-0 items-center border-b border-border pr-2 pl-3\">{actions}</div>}\n </div>\n </Tabs>\n )}\n\n {useSelect && options && (\n <div className=\"flex items-center border-b border-border-strong/40 px-2 py-1.5\">\n <Select value={activeValue} onValueChange={onValueChange}>\n <SelectTrigger size=\"sm\" variant=\"ghost\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {options.map(opt => (\n <SelectItem key={opt.value} value={opt.value}>\n {opt.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && fileName && (\n <div className=\"flex items-center border-b border-border-strong/40 px-4 py-2\">\n <figcaption className=\"font-mono text-caption text-muted-foreground\">{fileName}</figcaption>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && !fileName && actions && (\n <div className=\"flex items-center justify-end border-b border-border-strong/40 px-2 py-1.5\">{actions}</div>\n )}\n\n <div className=\"relative\">\n <Code\n code={code}\n lang={lang}\n className={cn(\n 'px-4 py-3 font-mono text-caption text-foreground',\n overflow === 'scroll' ? 'overflow-x-auto whitespace-pre' : 'break-all whitespace-pre-wrap',\n )}\n />\n <CopyButton\n content={code}\n copyMessage={copyMessage}\n tooltip={copyTooltip}\n size=\"sm\"\n className={cn(\n 'absolute top-2 right-2 opacity-100 group-focus-within:opacity-100 group-hover:opacity-100 pointer-fine:opacity-0',\n transitions.opacity,\n )}\n />\n </div>\n </figure>\n );\n}\n"],"names":["code","jsxs","cn","jsx","Tabs","TabList","Tab","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","Code","CopyButton","transitions"],"mappings":"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"}
@@ -12,7 +12,7 @@ const ReactCodeMirror = require('@uiw/react-codemirror');
12
12
  const index = require('./index-C-fBJhpb.cjs');
13
13
  const React = require('react');
14
14
  const autocomplete = require('@codemirror/autocomplete');
15
- const copyButton = require('./copy-button-B5ZCtnTb.cjs');
15
+ const copyButton = require('./copy-button-D2MTGxq_.cjs');
16
16
  const themeProvider = require('./theme-provider-aO5-jZVp.cjs');
17
17
  const utils_cn = require('./cn-DG0X1KEP.cjs');
18
18
 
@@ -491,4 +491,4 @@ exports.createVariableAutocomplete = createVariableAutocomplete;
491
491
  exports.flattenSchemaToVariables = flattenSchemaToVariables;
492
492
  exports.useCodemirrorTheme = useCodemirrorTheme;
493
493
  exports.variableHighlight = variableHighlight;
494
- //# sourceMappingURL=code-editor-BfoJXq9l.cjs.map
494
+ //# sourceMappingURL=code-editor-D0wHkvDt.cjs.map